计算机工程
Computer Engineering
1999年　第25卷　第4期　Vol.25　No.4　1999



ME芯片的设计原则
杨超峰　胡铭曾　张毅
摘　要　运动估计(Motion Estimation,ME)是运动图象编码的一个重要步骤。设计了一个ME芯片的设计原则以及框架结构。实际上，该设计原则可以用来指导其它嵌入式芯片的设计。
关键词　运动估计运动图象编码ME芯片
Designing Philosophy of the ME chip
Yang Chaofeng HuMingzeng ZhangYi
（Department of Computer Science and Engineering，Harbin Institute of Technology Harbin 150001）（Department of Engineering,Harbin University of Science and Technology Harbin 150040)
Abstract:Motion estimation (ME) is a key phase in the moving picture coding.We have designed a ME chip.In this paper,the designing philosophy of this chip，including how to determine its functions and behavior of perpheral，is presented,then its structure is discussed briefly.In fact,the designing philosophy presented here can be used to guide design of other embedded chips.
Key words:Motion estimation;Moving picture coding;ME chips
　　随着计算机技术及通信技术的发展，一个很自然的想法是利用它们来创造一个数字化世界。实现这个目标的关键在于声音和图象的实时传输，但是数字化后的声音和图象数据量很大，需要对它们进行压缩。 
　　运动估计是运动图象编码的一个重要环节，因为它占整个过程的绝大部分计算量。全搜索块匹配算法(FS-BMA)是最重要的运动估计算法，因为它得到的匹配结果最佳，并且易于VLSI 实现 [1]。我们设计了一个支持FS-BMA的ME芯片。
1　ME芯片的设计原则
　　芯片的设计原则可以从芯片的功能和芯片的行为两个方面来描述。
1.1　芯片的功能
　　此时要考虑的是：基于一定的性能价格比，确定芯片应具有的功能。与性能价格比紧密相关的有3个参数：芯片的计算能力、复杂度及灵活性。计算能力决定芯片的性能。复杂度和灵活性决定芯片的价格，因为降低复杂度可以降低芯片的设计成本和生产成本，而灵活性大使得芯片的应用面广，需求量大，从而分摊给每个芯片的设计成本降低。
　　·芯片的性能及复杂度　 关于运动图象压缩的一个重要标准是MPEG-2标准，它设定低、中、高3档指标，中档指标的计算量为10GOPS，高档指标为30GOPS。对于这么高的计算需求，小规模的通用计算机不能满足，由于FS-BMA非常规整，SYSTOLIC阵列是很好的计算机制。经计算，若设计出一个实现高档指标的运算阵列，要求外存的带宽很高，因而整个系统的实现代价很大，其应用面不会很大，至少不会如PC机卡似的普及，而实现它的芯片复杂度将比中档指标翻倍，极度提高了成本。实现中档指标，芯片的复杂度大约为100万晶体管左右，0.7μm的半导体工艺就能实现。况且若采用前后向预测技术，可减小搜索区，用较低性能的芯片也能支持高档指标。因而芯片的计算能力制定在支持MPEG-2的中档指标。
　　MPEG-2标准制定了16*16帧、16*8场、16*8三种匹配模式，通过获得所有这些模式的运动向量来确定最优的一个，这进一步提高了计算量，因而ME芯片只选择地实现其中的若干模式。
　　由FS-BMA可以设计出多个处理器阵列[1,2,3]。最终选定的阵列只有一个数据输入端口，这极度简化了局部存储器与阵列的接口，降低了芯片的复杂度。虽然其运算阵列的利用率很低，但是仍能满足计算能力的要求。
　　·芯片的灵活性　虽然关于运动图象编码有多个标准，它们的区别主要在于图象的大小、参考块的大小，帧速率及搜索区的大小等。这些参数决定芯片的结构(局部存储器及运算阵列)。但是，它们的ME部分均采用同一算法，设计出的运算阵列大同小异，区别只在于阵列的规模上。如果设计出一个足够大的阵列，再增加一些额外的重构机制，就能支持不同的标准，提高芯片的应用面。MPEG-2标准中参考块的大小与搜索区的大小这两个参数在所有标准中是最大的，按照它们将设计出最大规模的阵列。
1.2　芯片的行为
　　ME芯片只完成运动图象编码的一个步骤，只是整个编码系统的一个组成部分。芯片的行为就是ME芯片的接口部分，因为从系统中其它部分的角度来看，芯片是一个黑匣子，它的行为完全体现于其接口部分。一个好的接口应该易于使芯片与系统其它部分互连，我们归纳出好接口应具有的特征：自身与系统其它部分的耦合度小。
　　ME芯片与外界的交互主要表现在与系统其它部件共享外存及同步两个方面。
　　外存接口　关于外存有以下特点：(1)存储器件种类繁多，发展迅速，因而其性能的跨度很大，从100ns到几十ns；(2) 运动图象编码过程中涉及的数据量很大，要求存储器的带宽很高，以保证其不会成为系统的瓶颈；(3) 外存是系统的关键共享资源，各主动部件(指各类具有自我控制能力的部件，如处理器、控制器等) 的工作均要以其为依托。因为不同应用领域的数据量不同，要求的外存带宽不同，所以，适用于不同应用领域的编码系统的差别主要体现于外存部分，包括外存所采用的器件及其结构，从而它是整个系统的代价和设计复杂度所在。基于此，我们设计 ME 芯片时竭力提高外存接口灵活性，易于系统的外存设计，以减小外存引起的系统代价及设计复杂性，包括：(1)外存访问时序可编程，以适应不同存储器件；(2)支持多体的外存结构，可以连续编址，或交叉编址以利用流水访问技术、高存储器带宽；(3)片内设置局部存储器，提高数据的重用来减少外存访问；(4)以块方式访问外存，减少外存争用的仲裁次数。
　　同步策略　　ME芯片与系统中的其它主动部件交互仅需起动前的一次编程。此时，ME芯片被告知系统的存储器的体数及编址方式，存储器件的速度，图象序列存储位置，运算结果存储位置，运算阵列的重构信息。ME芯片以后就按照该设置持续执行，不再与其它主动部件交互，以后所需的同步操作(如ME芯片判断图象序列的各帧是否存在，其它部件判断各帧的运算结果是否存在等)均通过共享变量完成，而外存争用通过仲裁部件完成。
　　综上所述，设计时ME芯片对本身将处于的环境(包括主动部件配置情况及存储器系统结构)不作任何假设，便于按照不同应用领域的特点设计出高效的编码系统。另外，ME芯片与其它主动部件仅交互一次，并且尽量减少外存的访问，从而减少其它主动部件的阻塞次数。若能对整个系统的各主动部件恰当地调度，通过共享变量的同步策略几乎不需要它们作任何等待操作，使得系统的整体性能很高。另外，灵活的接口进一步提高了芯片的灵活性。
2　ME芯片的结构
　　ME芯片由运算阵列、局部存储器、控制器及接口4部分组成(如图1)。

图1　ME芯片的结构框图
　　运算阵列　运算阵列的主体采用文献[3]的结构，作了改进。它的特征为：16*16的方形 SYSTOLIC阵列，单数据端口，阵列的效率为45%；支持16*16帧和16*8场两种模式，并且对于一个参考块的16*16帧模式的运动向量及其两个16*8场的场模式运动向量能够同时给出，即阵列能一次输出3个运动向量；工作频率97MHz可支持MPEG-2标准的中档指标；重构支持搜索区的最大偏移量可以为16、8、4；采用双向预测技术，可缩小搜索区，如使最大偏移量为4，比为16时阵列的速度能提高近4倍，可以支持MEPG-2标准的高档指标。
　　局部存储器　分为3个独立部分：搜索区存储器、参考块存储器和结果存储器。虽然采用一定的策略可以合三为一，但是这样控制复杂化。另外，3个体的带宽高，能很好地与阵列的速度匹配。
　　控制器　控制器的设计采用分散控制的思想，分为3部分：主控制器、局存控制器和阵列控制器。局存器控制器和阵列控制器采用硬连逻辑实现，以保证运算阵列高速地从搜索区存储器读取数据，并将结果存入结果存储器。主控制器是一个简单的标量处理器，采用微程序控制方式，实现对外存的访问、芯片各部分的调度及整个工作流程的控制，以保证芯片有足够的灵活性，控制简洁。其特点是访存指令功能很强，一次外存访问能读写一个宏块，辅之以一些简单的标量运算指令。
　　接口　外存接口内有一个外存访问逻辑，完成主控制器发出的宏块读写命令。通过多体流水及高速存储器件，可得极高带宽，如存储器件为80ns，每体64位，则8体流水，带宽为800Mb/s。下面是与其相关的信号线：
　　访问允许(1)：外存访问竞争胜出
　　选体信号(3)：外存体选择，支持1～8个体
　　访存控制信号(3)：行、列地址有效及读写信号
　　地址线(12)：行地址
　　数据(地址)线(64)：数据线，低12根多路复用为地址线
　　控制逻辑接口　一个串行口，用来传输配置参数，一根复位线完成对工作ME芯片的复位。
3　结论
　　文中详细地论述了我们设计支持FS-BMA的ME芯片时所采用的的设计原则，利用该原则得出一些设计策略，使得设计出的芯片性能价格比高，然后简要描述了芯片的总体结构。实际上，本文提出的设计原则也可用来指导其它嵌入式芯片的设计。目前已完成了该芯片的逻辑设计，并通过了模拟，下一步准备用FPGA在板级实现该芯片，作仿真，为投片作准备。
作者简介：杨超峰　男，27岁，博士生，研究方向是高性能计算等
作者单位：杨超峰　胡铭曾　哈尔滨工业大学计算机科学与工程系230#　哈尔滨　150001，张毅　哈尔滨理工大学电气工程系　哈尔滨　150040
参考文献
　1　Komarek T，Pirsch P.Array Architectures for Block Matching Algorithms IEEE Trans.on Circuits and Systems，1989，36 (10)：1301-1308
　2　Pan S B，Chae S S，Park R H.VLSI Architectures for Blocking Matching Algorithm Using Systolic Arrays.IEEE Trans.Circuits Syst，1996，6(2)：67-73
　3　Hsieh C H，Lin T P.VLSI Architecture for Block-matching Motion Estimation Algorithm.IEEE Trans. Circuits Syst.Video Technol，1992，2(6)：169-175
收稿日期:1998-04-14
