用于运动估计算法的分层可编程并行视频信号处理器结构的制作方法

文档序号:6343110阅读:249来源:国知局

专利名称::用于运动估计算法的分层可编程并行视频信号处理器结构的制作方法
技术领域
:本发明属于视频图像编码领域,特别涉及分层可编程并行视频信号处理器设计。运动估计已被所有的视频压缩编码国际标准所采纳,用于消除帧间相关性。但是运动估计算法没有被这些国际标准所规定,是开放的部分,不同的编码系统可以在满足码流语法结构的前提下,采用各自不同的运动估计算法。块匹配全搜索算法是运动估计算法中搜索精度最高的算法,但是它的缺点是运算量巨大,使得传统的通用处理器无法满足要求。为了解决运算量的问题,已有的工作从两方面入手,一是研究块匹配快速搜索算法,降低搜索点的个数;二是研究块匹配集成电路并行结构,对全搜索算法或快速搜索算法加以高效实现。块匹配快速搜索算法研究的典型代表文献有T.Koga,K.Iinuma,A.Hirano,Y.Lijima,andT.Ishiguro,"Motioncompensatedinterframecodingforvideoconferencing,"Proc.Nat.TelecommunicationsConf.81,(国家通信会议论文集)NewOrleans,LA,1981年11月,G5.3.1-G5.3.5页。此算法称为三步法,在水平和垂直搜索范围为[-7,7]的搜索窗内将运动矢量的搜索过程分为3步,每步搜索8个点,加上中心点,一共是25个搜索点。这种算法是全搜索算法运算量(225个搜索点)的11.1%。块匹配集成电路并行结构可以分为两种基于阵列处理器的结构和基于树状加法器的结构。基于阵列处理器的结构的典型代表文献有T.KomarekandP.Pirsch,“Arrayarchitecturesforblockmatchingalgorithms,”(块匹配算法的阵列结构)IEEETrans.OnCircuitsandSystems,(IEEE电路与系统期刊)36卷,10期,1301-1308页,1989年10月。图1给出了在块大小为3情况下,阵列处理器结构的原理图。它包括9个绝对值和加法单元(AD),3个加法单元(A),一个最小值单元(M)。这种结构的优点是需要的存储器带宽小,但是它的扩展性差,效率低。基于树状加法器结构的典型代表文献有Y.sJehng;L.G.Chen;T.D.Chiueh,“AnefficientandsimpleVLSItreearchitectureformotionestimationalgorithms”,(一种简单有效的用于运动估计算法的大规模集成电路树结构)IEEETransactionsOnSignalProcessing(IEEE信号处理期刊)41卷2期,889-900页,1993年2月。图2给出了树状加法器的结构图。图中圆圈表示加法器,矩形表示寄存器,加法器采用树状结构相连。这种结构采用了多级流水线段的树结构,由于树结构的运算效率随着流水线段数的增加而降低,因此这种结构由于引入了多级流水线段使得树结构的运算性能不能充分发挥。为了提高匹配精度或者说是运动矢量搜索的准确性,运动估计算法采用了大搜索范围,不同的预测模式以及多种匹配块的大小和不同的搜索策略。多个因素的组合决定了运动估计算法的多样性。采用可编程并行结构能比较好地同时实现多样性和运算量大的要求。可编程并行结构的典型代表文献有H.D.Lin,A.Anesko,B.Petryna,“A14-GopsProgrammableMotionEstimatorforH.26xVideoCoding,”(一种14GOPS用于H.26x的可编程运动估计结构)IEEEJssc(IEEE固体电路杂志),31卷,11期,1996年11月。这种结构是基于阵列处理器的可编程结构,它采用了64个阵列处理器完成块匹配的运算,硬件结构规模庞大,同时阵列处理器的数据流必须针对一些特定的算法,使得灵活性仍然受到限制。本发明的目的是为克服已有技术的不足之处,提出了一种用于运动估计算法的分层可编程并行视频信号处理器结构(Programmablevidoesignalprocessor,PVSP),通过本发明的可编程方法,在一个结构上可同时实现多种块匹配算法,并可降低视频编码系统的硬件开销,还能支持视频编码的其它算法。本发明提出的一种用于运动估计算法的可编程并行视频信号处理器结构,其特征在于,包括低层指令单元,并行运算单元,数据寻径单元,存储器及地址生成单元,高层指令单元,以及外部存储器接口单元六个部分;其中,所说的高层指令单元与低层指令单元通过控制信号线相连;所说的低层指令单元与并行运算单元通过数据和控制信号线相连;所说的并行运算单元与数据寻径单元通过3路数据总线相连;所说的数据寻径单元与存储及地址生成单元通过6路数据总线相连;所说的高层指令单元的起始命令信号和运行命令信号通过数据寻径单元与存储及地址生成单元相连接;所说的数据寻径单元与外部存储器接口单元通过数据总线相连;所说的高层指令单元和外部存储器接口单元通过控制信号相连。本发明的工作过程如下高层指令单元发控制信号给低层指令单元,低层指令单元开始执行低层程序,由低层指令译码单元发出控制信号给并行运算单元,数据寻径单元,存储及地址生成单元,数据寻径单元从存储及地址生成单元输出的3路信号中选择两路,输出到并行运算单元中,并行运算单元的运算结果通过数据寻径单元输出到存储及地址生成单元中。高层指令单元通过数据总线从并行运算单元读取运算结果。高层指令单元通过控制总线从低层指令单元读取执行状态。高层指令单元发出控制信号给外部存储器接口单元,外部存储器接口单元从外部存储器读入数据输出到数据寻径电路。数据寻径电路将外部存储器接口单元输出的数据连接到存储及地址生成单元。本发明的主要特点1)并行结构采用了低延迟特性规整的树累加结构,包括多输入树状加法器和累加器,硬件复杂度大大小于已有的基于阵列处理器的运动估计可编程结构,由于采用了低延迟特性规整的树状加法器结构,使得多输入数的加法能高速完成,在树状加法器中无需流水线段寄存器,使得树状加法器的效率充分发挥,同时这种树累加器结构能支持16x16,16x8以及8x8多种块匹配运算,具有较大的灵活性。2)二维并行存储器结构采用了字节对准和循环寻址的二维并行存储器。输入为水平和垂直地址,输出一行16个数据。3)可编程结构通过高层指令单元和低层指令单元实现,高层指令单元控制完成运动估计算法中转移分支较多,需要进行判断的部分,高层指令单元包括一个16位精简指令处理器(RISC)。低层程序控制完成循环运算为主的块匹配运算。低层指令单元和高层指令单元均采用16位指令格式,但是采用不同的指令编码方法。4)PVSP能够同时支持多种快速运动估计算法,同时PVSP内部的可编程并行运算单元能够支持半像素运动搜索和运动补偿算法,进一步提高了灵活性,无需另外设计专门的硬件来支持这些算法,这使得将视频编码系统集成在单片成为可能。附图简要说明图1为已有的基于阵列处理器的运动估计结构示意图。图2为已有的基于树状加法器的运动估计结构示意图。图3为本发明的分层可编程并行视频信号处理器总体结构示意图。图4为本发明的低层指令单元结构示意图。图5为本发明的树累加器实施例结构示意图。图6为本发明的8输入树状加法器实施例结构示意图。图7为本发明的最小值部件MIN0实施例结构示意图。图8为本发明的最小值部件MIN1实施例结构示意图。图9为本发明的最小值部件MIN2实施例结构示意图。图10为本发明的二维并行存储器实施例结构示意图。图11为本发明的二维并行存储器的地址映射模块实施例结构示意图。图12为本发明的二维并行存储器的地址生成模块ADG0实施例结构示意图。图13为本发明的8位一维并行存储器的地址生成模块ADG1实施例结构示意图。图14为本发明的9位一维并行存储器地址的生成模块ADG2实施例结构示意图。图15为本发明的16位精简指令处理器实施例结构示意图。图16为本发明的取指部件实施例结构示意图。图17为本发明的指令执行部件实施例结构示意图。本发明设计的一种用于运动估计算法的分层可编程并行视频信号处理器(PVSP)结构实施例,结合各附图详细说明如下本发明PVSP总体结构如图3所示。包括六个部分低层指令单元,并行运算单元,数据寻径单元,存储器及地址生成单元,高层指令单元,以及外部存储器接口单元。各部分连接关系如下。高层指令单元与低层指令单元通过控制信号线相连;低层指令单元与并行运算单元通过数据和控制信号线相连;并行运算单元与数据寻径单元通过3路数据总线相连;数据寻径单元与存储及地址生成单元通过6路数据总线相连;高层指令单元的起始命令信号和运行命令信号通过数据寻径单元与存储及地址生成单元相连接;数据寻径单元与外部存储器接口单元通过数据总线相连;高层指令单元和外部存储器接口单元通过控制信号相连。上述各单元实施例的具体结构及其工作过程结合附图分别说明如下(一)低层指令单元(1)低层指令单元结构本发明的低层指令单元的结构实施例如图4所示。包括程序地址寄存器,低层指令存储器和低层指令译码模块,选择器,循环次数寄存器,减法器;其连接关系如下高层指令单元输出的程序入口地址信号entry与程序地址寄存器相连,高层指令单元输出设置程序入口地址信号set_entry与程序地址寄存器的使能端相连;程序地址寄存器与低层指令存储器相连;低层指令存储器与低层指令译码模块相连;高层指令单元输出的循环次数信号cnt与选择器的上输入端相连,减法器输出与选择器下输入端相连。高层指令单元输出设置循环次数信号set_cnt与选择器的选择端相连。选择器输出端与循环次数寄存器相连。循环次数寄存器输出端与减法器上输入端相连。信号1和减法器下输入端相连。减法器的进位输出端和运行结束信号done相连。所说的低层译码模块由与或逻辑电路组成。低层译码模块输出端与起始命令信号和运行命令信号相连。低层指令单元的的运行由低层指令集中的低层指令所控制。(2)低层指令单元工作过程低层指令单元的工作过程如下当高层指令单元发出设置循环次数寄存器的命令信号时,选择器选择外部输入循环次数信号cnt输出到循环次数寄存器锁存。然后寄存器输出到减法器作减一运算。当减法器输出为0时,发出运行结束信号done。当高层指令单元发出设置程序地址寄存器的命令信号时,外部输入程序入口地址信号entry输出到程序地址寄存器锁存。(3)低层指令集(a)指令单元编码格式低层指令单元的低层指令的编码格式如下低层指令长度为16位。表1给出了低层指令各位的定义。类型码域4位。源操作数1和源操作数2各占3位,目的操作数占2位。移位立即数占4位。表1低层指令各位的定义(b)低层指令低层指令集包括六种类型的指令。表2给出了低层指令的格式,操作类型及其说明。PNOP为空操作。PADD指令完成带移位的并行加法运算,PSUB指令完成并行减法运算,PADDS完成饱和加法运算,PMOV完成数据的并行搬移运算,PSAD完成并行减法绝对值运算。表2低层指令集,#imm表示立即数(二)并行运算单元(1)并行运算单元结构本发明的并行运算单元实施例由并行算术逻辑运算部件和树累加器组成,如图3所示。该并行算术运算逻辑模块的输出和树累加器的输入相连。其工作过程为由低层指令译码单元发出控制信号给并行运算单元,数据寻径单元输出2路数据到并行算术运算模块中,并行算术运算逻辑模块的运算结果输出给数据寻径单元。高层指令单元通过数据总线从并行运算单元读取运算结果。运算结果包括宏块匹配误差信号sad0,第一个块匹配误差信号sad1,第二个块匹配误差信号sad2,宏块最优运动矢量信号opMV0,第一个块最优运动矢量信号opMV1,第二个块最优运动矢量信号opMV2,宏块最小匹配误差信号min0,第一个块最小匹配误差信号min1,第二个块最小匹配误差信号min2。(2)并行算术逻辑运算模块并行算术逻辑运算模块的实施例包含N个9位处理器,9位处理器组织成单指令多数据流结构。(3)树累加器模块树累加器模块的实施例结构如图5所示。包含两个8输入树状加法器,一个11位加法器,三个累加器(ACC0,ACC1,ACC2)和三个最小值部件(MIN0,MIN1,MIN2)。其连接关系如下左边8输入树状加法器的输出和11位加法器以及累加器ACC1相连。右边8输入树状加法器的输出与11位加法器以及累加器ACC2相连;11位加法器输出与累加器ACC0相连;累加器ACC0,ACC1,ACC2分别与最小值部件MIN0,MIN1,MIN2相连;累加器ACC0与宏块匹配误差信号sad0相连;累加器ACC1与第一个块匹配误差信号sad1相连;累加器ACC2与第二个块匹配误差信号sad2相连;最小值部件MIN0输出端与宏块最小匹配误差信号min0以及宏块最优运动矢量信号opMV0相连,最小值部件MIN1输出端与第一个块匹配误差信号min1以及第一个块最优运动矢量信号opMV1相连,最小值部件MIN2输出端与第二个块最小匹配误差信号min2以及第二个块最优运动矢量信号opMV2相连最小值部件MIN0输入端与宏块匹配误差信号sad0、运行结束信号done以及运动矢量信号MV相连,最小值部件MIN1输入端与第一个块匹配误差信号sad1、运行结束信号done以及运动矢量信号MV相连,最小值部件MIN2输入端与第二个块匹配误差信号sad2、运行结束信号done以及运动矢量信号MV相连。该树累加器的工作过程为16位累加器ACC0对11位加法器的输出进行累加,在16个周期内,ACC0可以输出一个16x16宏块匹配误差结果。12位累加器ACC1和ACC2对左边8输入树状加法器和右边8输入树状加法器输出的11位数据进行累加。在8个周期内,ACC1和ACC2可以输出两个8x8块的块匹配误差结果。(a)8输入树状加法器上述8输入树状加法器的实施例结构如图6所示,包括4个8位加法器(ADDER8),2个9位加法器(ADDER9)以及一个10位加法器(ADDER10)。其连接关系为左边2个8位加法器输出和左边9位加法器相连,右边2个加法器和右边9位加法器相连,该两个9位加法器输出和10位加法器的输入相连。(b)最小值部件MIN0上述最小值部件MIN0的实施例结构如图7所示,包括16位减法器,与门,16位寄存器和12位寄存器。其连接关系为16位减法器左输入与16位寄存器输出相连,16位减法器右输入与外部输入宏块匹配误差信号sad0相连,16位减法器的进位信号和与门的上输入端相连;外部输入宏块匹配误差信号sad0与16位寄存器输入相连,16位寄存器输出与宏块最小匹配误差值min0相连;与门的上输入端与16位减法器的进位相连,与门下输入端与外部输入运行结束信号done相连;12位寄存器输入与外部运动矢量信号MV相连,12位寄存器与16位寄存器的使能信号和与门的输出相连。其工作过程为16位减法器输出进位给与门,与门对减法器输出和运行结束信号done进行与运算后,输出使能信号给16位和12位寄存器。16位寄存器保存宏块最小匹配误差值min0,12位寄存器保存水平和垂直运动矢量值。如果使能信号有效,16位寄存器将宏块匹配误差信号sad0锁存,12位寄存器将运动矢量信号MV锁存。(c)最小值部件MIN1上述最小值部件MIN1的实施例结构如图8所示,包括16位减法器,与门,16位寄存器和12位寄存器。其连接关系为16位减法器左输入与16位寄存器输出相连,16位减法器右输入与外部输入宏块匹配误差信号sad1相连,16位减法器的进位信号和与门的上输入端相连;16位寄存器输出与宏块最小匹配误差值min1相连;与门的上输入端与16位减法器的进位相连,与门下输入端与外部输入运行结束信号done相连;12位寄存器输入与外部运动矢量信号MV相连,12位寄存器与16位寄存器的使能信号和与门的输出相连。其工作过程为16位减法器输出进位给与门,与门对减法器输出和运行结束信号done进行与运算后,输出使能信号给16位和12位寄存器。16位寄存器保存第一个块最小匹配误差信号min1,12位寄存器保存水平和垂直运动矢量值。如果使能信号有效,16位寄存器将第一个块匹配误差信号sad1锁存,12位寄存器将运动矢量信号MV锁存。(d)最小值部件MIN2上述最小值部件MIN2的实施例结构如图9所示,包括16位减法器,与门,16位寄存器和12位寄存器。其连接关系为16位减法器左输入与16位寄存器输出相连,16位减法器右输入与外部输入宏块匹配误差信号sad2相连,16位减法器的进位信号和与门的上输入端相连;外部输入宏块匹配误差信号sad1与16位寄存器输入相连,16位寄存器输出与宏块最小匹配误差值min2相连;与门的上输入端与16位减法器的进位相连,与门下输入端与外部输入运行结束信号done相连;12位寄存器输入与外部运动矢量信号MV相连,12位寄存器与16位寄存器的使能信号和与门的输出相连。其工作过程为16位减法器输出进位给与门,与门对减法器输出和运行结束信号done进行与运算后,输出使能信号给16位和12位寄存器。16位寄存器保存第二个块最小匹配误差信号min2,12位寄存器保存水平和垂直运动矢量值。如果使能信号有效,16位寄存器将第二个块匹配误差信号sad2锁存,12位寄存器将运动矢量信号MV锁存。(三)数据寻径单元本发明的数据寻径单元的实施例由选择器组成。其工作过程为由低层指令译码单元发出控制信号给数据寻径单元,数据寻径单元从存储及地址生成单元输出的3路信号中选择两路,输出到并行算术运算模块中,并行算术运算模块的运算结果通过数据寻径单元输出到存储及地址生成单元中。(四)存储及地址生成单元本发明的存储及地址生成单元结构3如图所示,由二维并行存储器和二维并行存储器的地址生成模块ADG0,8位一维并行存储器和8位一维并行存储器的地址生成模块ADG1,9位一维并行存储器和9位一维并行存储器地址的生成模块ADG2构成。其内部连接关系为,二维并行存储器与二维并行存储器的地址生成模块ADG0通过地址总线相连,8位一维并行存储器与8位一维并行存储器的地址生成模块ADG1通过地址总线相连,9位一维并行存储器与9位一维并行存储器地址的生成模块ADG2通过地址总线相连。(1)二维并行存储器上述二维并行存储器的实施例结构如图10所示,包括地址映射模块,N路比较器,优先级编码器,N路二选一选择器(M0,M1,…MN-1),N个数据存储器以及循环移位器。其连接关系为地址映射模块与外部输入水平存储器地址信号Lx和垂直存储器地址信号Ly相连;地址映射模块输出端b0和N路比较器的左输入端相连;信号0,1…N-1分别与N路比较器的右输入端相连;比较器输出端与优先级编码器的输入相连;优先级编码器的输出分别与N路选择器的选择信号端S0、S1、…SN-1相连。N路选择器的数据端与地址映射模块相连;N路选择器的输出端与N个数据存储器相连;N路数据存储器输出端与循环移位器相连。(a)地址映射模块所说的地址映射模块内部连线关系如图11所示,图中2位加法器左输入为1,右输入为水平存储器地址信号Lx的第4,5位。输出A1第6,7位与输入垂直存储器地址信号Ly的第4,5位相连;输出A1第4,5位与2位加法器输出相连;输出A1的第0,1,2,3位与垂直存储器地址信号Ly的第0,1,2,3位相连;输出A0第6,7位与输入垂直存储器地址信号Ly的第4,5位相连;输出A0第4,5位与输入水平存储器地址信号Lx的第4,5位相连;输出A0的第0,1,2,3位与垂直存储器地址信号Ly的第0,1,2,3位相连;输出b0与水平存储器地址信号Lx的第0,1,2,3位相连。(b)优先级编码器所说的优先级编码器的实施例由与或逻辑电路组成。该优先级编码器逻辑如下其中j=min{j|tj=1,j=0,1…N-1}。循环移位器将第b0个数据存储器的数据左移到最高位。(2)8位一维并行存储器上述8位一维并行存储器的实施例由N个8位存储器模块组成。其连接关系为外部输入8位一维并行存储器的地址信号addr_d1m和N个8位存储器的地址输入端相连,N个8位存储器输出8N位数据和外部相连。(3)9位一维并行存储器9位一维并行存储器的实施例由N个9位存储器模块组成。其连接关系为外部输入9位一维并行存储器的地址信号addr_dm9和N个9位存储器的地址输入端相连,N个9位存储器输出9N位数据和外部相连。(4)二维并行存储器的地址生成模块上述二维并行存储器的地址生成模块ADG0的实施例结构由图12所示,由加法器0、加法器1,选择器0、选择器1、选择器2、选择器3,寄存器0、寄存器1组成。其连接关系为选择器0左输入端与寄存器0相连,右输入端与外部输入二维并行存储器垂直起始地址信号starty相连;选择器1左输入端与外部输入二维并行存储器地址增量信号step_d2m相连,右输入端与外部输入端运动矢量信号MV的高6位(MV[116])相连;选择器0和选择器1的输出与加法器0的输入相连;加法器0的输出与寄存器0相连;寄存器0输出为垂直存储器地址信号Ly。选择器2左输入端与寄存器1相连,右输入端与外部输入二维并行存储器水平起始地址信号startx相连;选择器3左输入端与信号0相连,右输入端与外部输入端运动矢量信号MV的低6位(MV[50])相连;选择器2和选择器3的输出与加法器1的输入相连;加法器1的输出与寄存器1相连;寄存器1输出为水平存储器地址信号Lx。其工作过程为在低层指令单元发送起始命令时,选择器0-1选择右路信号,将二维并行存储器水平起始地址信号startx和运动矢量信号MV的低6位(MV[50])输出到加法器0,然后加法器的输出结果锁存到寄存器0中,同时,选择器2-3选择右路信号,将二维并行存储器垂直起始地址信号starty和运动矢量信号MV的高6位(MV[116])输出到加法器1,然后加法器的输出结果锁存到寄存器1中。这是寄存器0和寄存器1保存了水平和垂直起始存储器地址。在低层指令单元发送运行命令时,选择器0-1选择左路信号,将地址步长信号“step”和寄存器0保存的值输出到加法器中,加法器0的输出结果交给寄存器0锁存。同时,选择器2-3选择左路信号,将寄存器0和寄存器1保存的值输出到加法器1中,加法器1的输出结果输出给寄存器1锁存。寄存器0和寄存器1分别输出水平存储器地址信号(Lx)和垂直存储器地址信号(Ly)。(5)上述8位一维并行存储器的地址生成模块上述8位一维并行存储器的地址生成模块ADG1的实施例结构如图13所示,由两个选择器、一个加法器和一个寄存器所组成,其连接关系为选择器0左输入端与寄存器0输出相连,选择器0右输入端和8位一维并行存储器起始地址信号start_d1m相连,选择器1左输入端和8位一维并行存储器地址增量信号相连,选择器1右输入端和信号0相连;选择器0和选择器1的输出分别与加法器0的两个输入端相连;寄存器0通过8位一维并行存储器的地址信号addr_d1m和外部相连。其工作过程为低层指令单元发送起始命令信号时,选择器0和选择器1选择右路信号,将8位一维并行存储器起始地址信号start_d1m和0输出到加法器,然后加法器的输出结果锁存到寄存器中。低层指令单元发送运行命令信号时,选择器0和1选择左路信号,将8位一维并行存储器地址增量信号step_d1m和寄存器保存的值输出到加法器中,加法器的输出结果交给寄存器锁存。(6)9位一维并行存储器地址的生成模块上述9位一维并行存储器地址的生成模块ADG2实施例结构如图14所示,由两个选择器、一个加法器和一个寄存器所组成,其连接关系为选择器0左输入端与寄存器0输出相连,选择器0右输入端和9位一维并行存储器起始地址信号start_dm9相连。选择器1左输入端和9位一维并行存储器地址增量信号step_dm9相连,选择器1右输入端和信号0相连;选择器0和选择器1的输出分别与加法器0的两个输入端相连;寄存器0通过9位一维并行存储器的地址信号addr_dm9和外部相连。其工作过程为低层指令单元发送起始命令信号时,选择器0和选择器1选择右路信号,将9位一维并行存储器起始地址信号start_dm9和0输出到加法器,然后力法器的输出结果锁存到寄存器中。低层指令单元发送运行命令信号时,选择器0和1选择左路信号,将9位一维并行存储器地址增量信号step_dm9和寄存器保存的值输出到加法器中,加法器的输出结果交给寄存器锁存。(五)高层指令单元(1)高层指令单元结构本发明的高层指令单元的实施例结构由一个16位精简指令集处理器和32个特殊寄存器阵列所组成,如图3所示。其连接关系为16位精简指令处理器和外部通过设置程序入口地址信号set_entry及设置循环次数寄存器信号set_cnt相连,16位精简指令处理器和特殊寄存器阵列通过控制信号相连。高层指令单元由高层指令集中的指令控制。(2)16位精简指令集处理器上述16位精简指令集处理器结构如图15所示,包括4部分,即取指部件,译码部件,执行部件和寄存器阵列。其连接关系为取指部件与指令译码部件之间通过转移地址ba,指令信号d_ir,转移控制信号next信号相连;指令译码部件与指令执行部件之间通过操作码d_op,执行控制信号exec,第一源操作数d_src1,第二源操作数d_src2以及状态信号eflags相连;指令执行部件与寄存器阵列之间通过写寄存器信号we,结果信号e_res相连;指令译码部件与寄存器阵列通过第一源操作数地址d_a1,第二源操作数地址d_a2,以及寄存器阵列输出信号d_r1和d_r2相连。其工作过程为取指部件输出指令信号d_ir给指令译码部件。指令译码部件输出转移控制信号next和转移地址信号ba信号给取指部件。指令译码部件输入双向数据信号g_d和指令执行部件的输出状态信号e_flags以及寄存器阵列输出信号d_r1和d_r2。指令译码部件输出d_op,exec,d_src1,d_src2信号给指令执行单元。指令译码部件输出d_a1,d_a2给寄存器阵列。指令译码部件输出d_a1经过寄存器输出e_a。指令执行部件输出写寄存器信号we到寄存器阵列,指令执行部件输出结果信号e_res到寄存器阵列。指令译码部件输出g_a,g_r,g_w,设置循环次数寄存器信号set_cnt,设置程序入口地址寄存器信号set_entry,作为16位精简指令处理器的输出控制信号。g_d为双向信号。当g_r为高时,g_d为输入信号;当g_w为高时,g_d为输出信号。(a)取指部件上述的取指部件的实施例结构如图16所示,包括加法器,当前地址寄存器,选择器,高层指令存储器,指令寄存器。其连接关系为加法器上输入端与信号1相连,下输入端与当前地址寄存器的输出相连;加法器输出与当前地址寄存器的输入相连;选择器的上输入端与通过转移地址ba相连,选择器的下输入端与当前地址寄存器的输出相连,选择器的选择端与转移控制信号next相连,选择器的输出端与高层指令存储器的地址输入端相连;高层指令存储器的输出与指令寄存器输入端相连。指令寄存器的输出端通过指令信号d_ir与外部指令译码部件相连。其工作过程为加法器将地址选择器的输出加1后输出到当前地址寄存器寄存。当前地址寄存器和外部输入转移地址信号ba输出到选择器,当外部输入信号next为高时,选择器选择转移地址信号输出,当next为低时,选择器选择当前地址寄存器输出。选择器的输出作为高层指令存储器的地址。高层指令存储器输出这一地址对应的指令,指令锁存到指令寄存器中。指令寄存器输出指令信号d_ir。(b)指令译码部件上述指令译码部件实施例由与或逻辑电路组成。如图15所示,译码部件与外部部件的连接关系为指令译码部件和取指部件之问通过转移地址ba,指令信号d_ir,转移控制信号next信号相连。指令译码部件和指令执行部件之间通过操作码d_op,执行控制信号exec,第一源操作数d_src1,第二源操作数d_src2以及状态信号eflags相连。指令译码部件和寄存器阵列通过第一源操作数地址d_a1,第二源操作数地址d_a2,以及寄存器阵列输出信号d_r1和d_r2相连。工作过程如下。取指部件输出指令信号d_ir给指令译码部件。指令译码部件输出转移控制信号next和转移地址信号ba信号给取指部件。指令译码部件输出第一源操作数地址d_a1,第二源操作数地址d_a2给寄存器阵列。指令译码部件输出d_a1经过寄存器输出e_a。指令译码部件输出操作码d_op,执行控制信号exec,第一源操作数d_src1,第二源操作数d_src2给指令执行单元。指令译码部件输入双向数据信号g_d和指令执行部件的输出状态信号e_flags以及寄存器阵列输出信号d_r1和d_r2。(c)指令执行部件上述的指令执行部件的实施例结构如图17所示,包括寄存器1,寄存器2,寄存器3,寄存器4,状态寄存器以及算术逻辑运算部件ALU。其连接关系为第一源操作数d_src1,第二源操作数d_src2,操作码d_op,执行控制信号exec分别与寄存器1,寄存器2,寄存器3和寄存器4的输入相连;寄存器1,寄存器2和寄存器3的输出和算术逻辑运算部件相连;算术逻辑运算部件与状态寄存器通过进位carry,零信号zero,溢出ovflow和d_src1的最低位d_src1相连;寄存器4输出we和外部相连;状态寄存器输出eflags和外部相连。其工作过程为外部输入信号d_src1,d_src2,d_op,exec,分别经过寄存器1,2,3,4锁存后,分别输出第一源操作数e_src1,第二源操作数e_src2,操作类型信号c_op和写寄存器信号we。e_src1,esrc2和e_op作为ALU的输入,ALU输出结果信号e_res和状态标志。状态标志包括进位标志carry,零标志zero,溢出标志ovflow。这三个状态标志信号和外部输入信号d_src1输入到状态寄存器锁存。状态寄存器输出e_flags信号。表3给出了不同的操作类型信号e_op下,算术逻辑单元的功能。表3不同的操作类型信号e_op下,算术逻辑单元ALU的功能。(d)寄存器阵列上述寄存器阵列的实施例由32个通用寄存器组成,参见图15,寄存器阵列与外部的连接关系为寄存器阵列和指令执行部件之间通过写寄存器信号we,结果信号e_res相连。寄存器阵列和指令译码部件通过第一源操作数地址d_a1,第二源操作数地址d_a2,以及寄存器阵列输出信号d_r1和d_r2相连。指令译码部件输出d_a1经过寄存器输出e_a和寄存器阵列相连。其工作过程为寄存器阵列输入两个源寄存器地址d_a1,d_a2和目的寄存器地址e_a,以及写寄存器信号we,输出由d_a1和d_a2指定的两个源操作数d_r1和d_r2,同时将执行单元输出的结果e_res写入由e_a指定的寄存器中。(3)高层指令集上述16位精简指令处理器的高层指令集的指令有4种类型空指令,赋值指令,转移指令和算术逻辑运算指令。指令的15和14位表明指令类型。这4种类型分别编码为00,01,10,11。(a)空指令表4给出空指令各位的定义。16位均为0。表4空指令各位的定义(b)赋值指令表5给出赋值指令的格式。第一种赋值指令的子类型域有4位。目的地址寄存器有5位。源地址寄存器有5位。第二种赋值指令的子类型域有4位。目的地址寄存器有5位。立即数域为5位。第三种赋值指令的子类型域有4位。目的地址寄存器有5位。最低5位为0。表6给出了7条赋值指令,分别完成对全局寄存器或通用寄存器赋值操作。表5赋值指令各位的定义表6赋值指令格式和功能(c)转移指令表7给出了转移指令各位的定义。第一种格式子类型域有4位。条件域有5位。目的地址寄存器有5位。第二种格式子类型域有2位,立即数地址域有12位。表8给出了转移指令的格式和功能。表7转移指令各位的定义表8转移指令格式和功能(d)算术逻辑运算指令表9给出了算术逻辑运算指令的两种指令格式。第一种格式中指令类型域有4位。目的/第一源操作寄存器有5位。第二源操作寄存器有5位。第二种格式中指令类型域有4位。目的/第一源操作寄存器有5位。立即数为5位。表10给出列算术逻辑指令的格式和功能。其中左移指令和右移指令占用同一个子类型。当第4位为1时(最低位为第0位,最高位为第15位),为右移指令shr;否则为左移指令shl。表9算术逻辑运算指令各位的定义表10算术逻辑指令(4)特殊寄存器阵列本发明的高层指令单元的特殊寄存器阵列实施例由32个16位寄存器组成。表11给出了特殊寄存器及其功能。其中g0-g11由16位精简指令处理器写。g16-g25由16位精简指令处理器之外的相应模块写,可以被16位精简指令处理器读。g12-g15和g26-g31保留。保留特殊寄存器阵列输出循环次数信号(cnt),程序入口地址信号(entry),二维并行存储器水平起始地址信号(start_x),二维并行存储器垂直起始地址信号(starty),二维并行存储器地址增量信号(step_d2m),8位一维并行存储器起始地址信号(start_d1m),8位一维并行存储器地址增量信号(step_d1m),9位一维并行存储器起始地址信号(start_dm9),运动矢量信号(MV)。输入信号包括运行结束信号(done),树累加器输出信号(宏块匹配误差信号sad0,第一个块匹配误差信号sad1,第二个块匹配误差信号sad2,宏块最优运动矢量信号opMV0,第一个块最优运动矢量信号opMV1,第二个块最优运动矢量信号opMV2,宏块最小匹配误差信号min0,第一个块最小匹配误差信号mini,第二个块最小匹配误差信号min2)。表11特殊寄存器及其功能<tablesid="table8"num="013"><table>特殊寄存器功能g0循环次数寄存器,输出循环次数信号(cnt)给低层指令单元g1低层程序入口地址寄存器,输出程序入口地址信号(entry)给低层指令单元g2二维并行存储器水平起始地址寄存器,输出二维并行存储器水平起始地址信号startxg3二维并行存储器垂直起始地址寄存器,输出二维并行存储器垂直起始地址信号startyg4二维并行存储器地址增量寄存器,输出二维并行存储器地址增量信号step_d2mg58位一维并行存储器起始地址寄存器,输出8位一维并行存储器起始地址信号start_d1mg68位一维并行存储器地址增量寄存器,输出8位一维并行存储器地址增量信号step_d1mg79位一维并行存储器起始地址寄存器,输出9位一维并行存储器起始地址信号start_dm9g8g位一维并行存储器地址增量寄存器,输出9位一维并行存储器地址增量信号step_dm9g9运动矢量寄存器,输出运动矢量信号MV。高6位为垂直运动矢量,低6位为水平运动矢量。g10-g15保留g16低层指令单元状态寄存器,锁存低层指令单元输出运行结束(done)g17并行运算单元结果寄存器0,锁存树累加器输出宏块匹配误差信号sad0g18并行运算单元结果寄存器1,锁存树累加器输出第一个块匹配误差信号sad1g19并行运算单元结果寄存器2,锁存树累加器输出第二个块匹配误差信号sad2g20并行运算单元结果寄存器3,锁存树累加器输出宏块最优运动矢量信号opMV0g21并行运算单元结果寄存器4,锁存树累加器输出第一个块最优运动矢量信号opMV1</table></tables>(六)外部存储器接口单元本发明的外部存储器接口单元(图3)。连接关系如下。高层指令单元和外部存储器接口单元通过控制信号相连。数据寻径单元和外部存储器接口单元通过数据总线相连。工作过程如下。高层指令单元发出控制信号给外部存储器接口单元,外部存储器接口单元从外部存储器读入数据输出到数据寻径电路。本实施例N取16。具体来说。二维并行存储器包括地址映射模块,16路比较器,优先级编码器,16路选择器,16个数据存储器以及循环移位器。8位一维并行存储器由16个8位存储器模块组成。9位一维并行存储器由16个9位存储器模块组成。并行算术逻辑运算模块包含16个9位处理器,9位处理器组织成单指令多数据流结构。本实施例结构用VerilogHDL加以实现,并用VerilogXL仿真工具完成了功能验证,然后用Synopsys的Designcompiler综合工具进行综合,采用0.25um的工艺库下,总门数包括28K逻辑门和40kb的片内静态存储器(SRAM)。在PVSP上实现了多种块匹配算法,包括基于螺旋形扫描的全搜索算法,三步法,最临近搜索算法等,以及运动补偿,半像素搜索算法。权利要求1.一种用于运动估计算法的分层可编程并行视频信号处理器结构,其特征在于,包括低层指令单元,并行运算单元,数据寻径单元,存储器及地址生成单元,高层指令单元,以及外部存储器接口单元六个部分;其中,所说的高层指令单元与低层指令单元通过控制信号线相连;所说的低层指令单元与并行运算单元通过数据和控制信号线相连;所说的并行运算单元与数据寻径单元通过3路数据总线相连;所说的数据寻径单元与存储及地址生成单元通过6路数据总线相连;所说的高层指令单元的起始命令信号和运行命令信号通过数据寻径单元与存储及地址生成单元相连接;所说的数据寻径单元与外部存储器接口单元通过数据总线相连;所说的高层指令单元和外部存储器接口单元通过控制信号相连。2.如权利要求1所述的分层可编程并行视频信号处理器结构,其特征在于,所说的低层指令单元包括程序地址寄存器,低层指令存储器和低层指令译码模块,选择器,循环次数寄存器,减法器其中,高层指令单元输出的程序入口地址信号entry与所说的程序地址寄存器相连,高层指令单元输出设置程序入口地址信号set_entry与该程序地址寄存器的使能端相连;该程序地址寄存器与低层指令存储器相连;该低层指令存储器与低层指令译码模块相连;高层指令单元输出的循环次数信号cnt与该选择器的上输入端相连,该减法器输出与选择器下输入端相连;高层指令单元输出设置循环次数信号set_cnt与该选择器的选择端相连;该选择器输出端与循环次数寄存器相连;该循环次数寄存器输出端与减法器上输入端相连;该循环次数寄存器信号1和减法器下输入端相连;该减法器的进位输出端和运行结束信号done相连;所说的低层指令单元的的运行由低层指令集中的低层指令所控制。3.如权利要求2所述的分层可编程并行视频信号处理器结构,其特征在于,所说的低层指令集低层指令长度为16位,从高位至低位排列,类型码域4位,源操作数1和源操作数2各占3位,目的操作数占2位;移位立即数占4位;#imm表示立即数(1)类型码域0,指令PNOP,PNOP,空操作,空操作;(2)类型码域1,指令PADD,PADDdst,sro1,src2,#imm,并行加法,Dst=(sro1+src2)&gt;&gt;#imm;(3)类型码域2,指令PSUB,PSUBdst,src1,src2,并行减法,Dst=src1-src2;(4)类型码域3,指令PADDS,PADDSdst,src1,src2,并行饱和加法,Dst=clip(src+src2);(5)类型码域4,指令PMOV,PMOVdst,src,并行数据搬移,Dst=src;(6)类型码域5,指令PSAD,PSADsrc1,src2,并行减法绝对值,Abs(src1-src2);类型码域6-15,保留。4.如权利要求1所述的分层可编程并行视频信号处理器结构,其特征在于,所说的并行运算单元由并行算术逻辑运算部件和树累加器组成,该并行算术运算逻辑模块的输出端和树累加器的输入端相连。5.如权利要求4所述的分层可编程并行视频信号处理器结构,其特征在于,所说的并行算术逻辑运算模块包括N个9位处理器,该9位处理器组成单指令多数据流结构。6.如权利要求4所述的分层可编程并行视频信号处理器结构,其特征在于,所说的树累加器模块包括包含两个8输入树状加法器,一个11位加法器,三个累加器(ACC0,ACC1,ACC2)和三个最小值部件(MIN0,MIN1,MIN2);其连接关系如下左边8输入树状加法器的输出和11位加法器以及累加器ACC1相连;右边8输入树状加法器的输出与11位加法器以及累加器ACC2相连;11位加法器输出与累加器ACC0相连;累加器ACC0,ACC1,ACC2分别与最小值部件MIN0,MIN1,MIN2相连;累加器ACC0与宏块匹配误差信号sad0相连;累加器ACC1与第一个块匹配误差信号sad1相连;累加器ACC2与第二个块匹配误差信号sad2相连;最小值部件MIN0输出端与宏块最小匹配误差信号min0以及宏块最优运动矢量信号opMV0相连,最小值部件MIN1输出端与第一个块匹配误差信号min1以及第一个块最优运动矢量信号opMV1相连,最小值部件MIN2输出端与第二个块最小匹配误差信号min2以及第二个块最优运动矢量信号opMV2相连;最小值部件MIN0输入端与宏块匹配误差信号sad0、运行结束信号done以及运动矢量信号MV相连,最小值部件MIN1输入端与第一个块匹配误差信号sad1、运行结束信号done以及运动矢量信号MV相连,最小值部件MIN2输入端与第二个块匹配误差信号sad2、运行结束信号done以及运动矢量信号MV相连。7.如权利要求6所述的所说的8输入树状加法器包括4个8位加法器,2个9位加法器以及一个10位加法器其中,第一、二个8位加法器输出和第一个9位加法器相连,第三、四个加法器和第二个9位加法器相连,该两个9位加法器输出和所说的10位加法器的输入相连。8.如权利要求6所述的所说的最小值部件MIN0包括16位减法器,与门,16位寄存器和12位寄存器;其连接关系为16位减法器左输入与16位寄存器输出相连,16位减法器右输入与外部输入宏块匹配误差信号sad0相连,16位减法器的进位信号和与门的上输入端相连;外部输入宏块匹配误差信号sad0与16位寄存器输入相连,16位寄存器输出与宏块最小匹配误差值min0相连;与门的上输入端与16位减法器的进位相连,与门下输入端与外部输入运行结束信号done相连;12位寄存器输入与外部运动矢量信号MV相连,12位寄存器与16位寄存器的使能信号和与门的输出相连。9.如权利要求6所述的所说的最小值部件MIN1包括16位减法器,与门,16位寄存器和12位寄存器其连接关系为16位减法器左输入与16位寄存器输出相连,16位减法器右输入与外部输入宏块匹配误差信号sad1相连,16位减法器的进位信号和与门的上输入端相连;16位寄存器输出与宏块最小匹配误差值min1相连;与门下输入端与外部输入运行结束信号done相连;12位寄存器输入与外部运动矢量信号MV相连,12位寄存器与16位寄存器的使能信号和与门的输出相连。10.如权利要求6所述的所说的最小值部件MIN2包括16位减法器,与门,16位寄存器和12位寄存器。其连接关系为16位减法器左输入与16位寄存器输出相连,16位减法器右输入与外部输入宏块匹配误差信号sad2相连,16位减法器的进位信号和与门的上输入端相连;外部输入宏块匹配误差信号sad1与16位寄存器输入相连,16位寄存器输出与宏块最小匹配误差值min2相连;与门的上输入端与16位减法器的进位相连,与门下输入端与外部输入运行结束信号done相连;12位寄存器输入与外部运动矢量信号MV相连,12位寄存器与16位寄存器的使能信号和与门的输出相连。11.如权利要求1所述的分层可编程并行视频信号处理器结构,其特征在于,所说的存储及地址生成单元由二维并行存储器及与其通过地址总线相连的二维并行存储器的地址生成模块,8位一维并行存储器及与其通过地址总线相连的8位一维并行存储器的地址生成模块,9位一维并行存储器及与其通过地址总线相连的9位一维并行存储器地址的生成模块构成。12.如权利要求11所述的分层可编程并行视频信号处理器结构,其特征在于,所说的二维并行存储器包括地址映射模块,N路比较器,优先级编码器,N路二选一选择器,N个数据存储器,以及循环移位器,其中,所说的地址映射模块输出端分别与N路比较器的输入端相连;该N路比较器输出端与优先级编码器的输入相连;该优先级编码器的输出分别与N路选择器的选择信号端S0、S1、…SN-1相连;该N路选择器的数据端与地址映射模块相连;N路选择器的输出端分别与N个数据存储器相连;该N路数据存储器输出端均与循环移位器相连。13.如权利要求12所述的分层可编程并行视频信号处理器结构,其特征在于,所说的地址映射模块的2位加法器左输入为1,右输入为水平存储器地址信号Lx的第4,5位。输出A1第6,7位与输入垂直存储器地址信号Ly的第4,5位相连;输出A1第4,5位与2位加法器输出相连;输出A1的第0,1,2,3位与垂直存储器地址信号Ly的第0,1,2,3位相连;输出A0第6,7位与输入垂直存储器地址信号Ly的第4,5位相连;输出A0第4,5位与输入水平存储器地址信号Lx的第4,5位相连;输出A0的第0,1,2,3位与垂直存储器地址信号Ly的第0,1,2,3位相连;输出b0与水平存储器地址信号Lx的第0,1,2,3位相连。14.如权利要求12所述的分层可编程并行视频信号处理器结构,其特征在于,所说的优先级编码器的实施例由与或逻辑电路组成,该优先级编码器逻辑如下其中j=min{j|tj=1,j=0,1…N-1}。循环移位器将第b0个数据存储器的数据左移到最高位。15.如权利要求11所述的分层可编程并行视频信号处理器结构,其特征在于,所说的8位一维并行存储器由N个8位存储器模块组成;其中,外部输入8位一维并行存储器的地址信号addr_d1m和N个8位存储器的地址输入端相连,N个8位存储器输出8N位数据和外部相连。16.如权利要求11所述的分层可编程并行视频信号处理器结构,其特征在于,所说的9位一维并行存储器的实施例由N个9位存储器模块组成。其连接关系为外部输入9位一维并行存储器的地址信号addr_dm9和N个9位存储器的地址输入端相连,N个9位存储器输出9N位数据和外部相连。17.如权利要求11所述的分层可编程并行视频信号处理器结构,其特征在于,所说的二维并行存储器的地址生成模块由加法器0、1,选择器0、1、2、3,寄存器0、1组成;其连接关系为选择器0左输入端与寄存器0相连,右输入端为信号starty相连;选择器1左输入端与信号step_d2m相连,右输入端与信号MV的高6位(MV[116])相连;选择器0和选择器1的输出与加法器0的输入相连;加法器0的输出与寄存器0相连;寄存器0输出为垂直存储器地址信号Ly;选择器2左输入端与寄存器1相连,右输入端与信号startx相连;选择器3左输入端与信号0相连,右输入端与信号MV的低6位(MV[50])相连;选择器2和选择器3的输出与加法器1的输入相连;加法器1的输出与寄存器1相连;寄存器1输出为水平存储器地址信号Lx。18.如权利要求11所述的分层可编程并行视频信号处理器结构,其特征在于,所说的8位一维并行存储器的地址生成模块由两个选择器、一个加法器和一个寄存器所组成,其连接关系为选择器0左输入端与寄存器0输出相连,选择器0右输入端和信号start_d1m相连,选择器1左输入端和信号step_d1m相连,选择器1右输入端和信号0相连;选择器0和选择器1的输出分别与加法器0的两个输入端相连;寄存器0通过8位一维并行存储器的地址信号addr_d1m和外部相连。19.如权利要求11所述的分层可编程并行视频信号处理器结构,其特征在于,所说的上述9位一维并行存储器地址的生成模块由两个选择器、一个加法器和一个寄存器所组成,其连接关系为选择器0左输入端与寄存器0输出相连,选择器0右输入端和信号start_dm9相连。选择器1左输入端和信号step_dm9相连,选择器1右输入端和信号0相连;选择器0和选择器1的输出分别与加法器0的两个输入端相连;寄存器0通过9位一维并行存储器的地址信号addr_dm9和外部相连。20.如权利要求1所述的分层可编程并行视频信号处理器结构,其特征在于,所说的数据寻径单元由选择器组成。21.如权利要求1所述的分层可编程并行视频信号处理器结构,其特征在于,所说的高层指令单元由一个16位精简指令集处理器和32个特殊寄存器阵列所组成,其中,该16位精简指令处理器和外部通过设置程序入口地址信号set_entry及设置循环次数寄存器信号set_cnt相连,16位精简指令处理器和特殊寄存器阵列通过控制信号相连;所说的高层指令单元由高层指令集中的指令控制。22.如权利要求21所述的分层可编程并行视频信号处理器结构,其特征在于,所说的16位精简指令集处理器结构取指部件,译码部件,执行部件和寄存器阵列。其连接关系为取指部件与指令译码部件之间通过转移地址ba,指令信号d_ir,转移控制信号next信号相连;指令译码部件与指令执行部件之间通过操作码d_op,执行控制信号exec,第~源操作数d_src1,第二源操作数d_src2以及状态信号eflags相连;指令执行部件与寄存器阵列之间通过写寄存器信号we,结果信号e_res相连;指令译码部件与寄存器阵列通过第一源操作数地址d_a1,第二源操作数地址d_a2。以及寄存器阵列输出信号d-r1和d_r2相连。23.如权利要求22所述的分层可编程并行视频信号处理器结构,其特征在于,所说的取指部件包括加法器,当前地址寄存器,选择器,高层指令存储器,指令寄存器其中,所说的加法器上输入端与信号1相连,下输入端与当前地址寄存器的输出相连;加法器输出与当前地址寄存器的输入相连;选择器的上输入端与通过转移地址ba相连,选择器的下输入端与当前地址寄存器的输出相连,选择器的选择端与转移控制信号next相连,选择器的输出端与高层指令存储器的地址输入端相连;高层指令存储器的输出与指令寄存器输入端相连。指令寄存器的输出端通过指令信号d_ir与外部指令译码部件相连。24.如权利要求22所述的分层可编程并行视频信号处理器结构,其特征在于,所说的指令译码部件由与或逻辑电路组成;指令译码部件和取指部件之间通过转移地址ba,指令信号d_ir,转移控制信号next信号相连;指令译码部件和指令执行部件之间通过操作码d_op,执行控制信号exec,第一源操作数d_src1,第二源操作数d_src2以及状态信号eflags相连;指令译码部件和寄存器阵列通过第一源操作数地址d_a1,第二源操作数地址d_a2,以及寄存器阵列输出信号d_r1和d_r2相连。25.如权利要求22所述的分层可编程并行视频信号处理器结构,其特征在于,所说的指令执行部件包括寄存器1,寄存器2,寄存器3,寄存器4,状态寄存器以及算术逻辑运算部件ALU;其连接关系为第一源操作数d_src1,第二源操作数d_src2,操作码d_op,执行控制信号exec分别与寄存器1,寄存器2,寄存器3和寄存器4的输入相连;寄存器1,寄存器2和寄存器3的输出和算术逻辑运算部件相连;算术逻辑运算部件与状态寄存器通过进位carry,零信号zero,溢出ovflow和d_src1的最低位d_src1相连;寄存器4输出we和外部相连;状态寄存器输出eflags和外部相连;不同的操作类型信号e_op下,算术逻辑单元的操作定义如下(1)操作类型0,赋值,e_r=e_src2(2)操作类型1,加法,e_r=e_src1+e_src2(3)操作类型2,减法,e_r=e_src1-e_src2(4)操作类型3,或,e_r=e_src1|e_src2(5)操作类型4,与,e_r=e_src1&amp;e_src2(6)操作类型5,异或,e_r=e_src1~e_src2(7)操作类型6,移位,当e_src2[4]=1,e_r=e_src1&gt;&gt;e_src2;当e_src2[4]0,e_r=e_src1&lt;&lt;e_src2(8)操作类型7,取反,e_r=~e_src226.如权利要求22所述的分层可编程并行视频信号处理器结构,其特征在于,所说的寄存器阵列由32个通用寄存器组成;该寄存器阵列和指令执行部件之间通过写寄存器信号we,结果信号e_res相连;寄存器阵列和指令译码部件通过第一源操作数地址d_a1,第二源操作数地址d_a2,以及寄存器阵列输出信号d_r1和d_r2相连;指令译码部件输出d_a1经过寄存器输出e_a和寄存器阵列相连。27.如权利要求21所述的分层可编程并行视频信号处理器结构,其特征在于,所说的高层指令集的指令有4种类型空指令,赋值指令,转移指令和算术逻辑运算指令;指令的15和14位表明指令类型;这4种类型分别编码为00,01,10,11。28.如权利要求27所述的分层可编程并行视频信号处理器结构,其特征在于,所说的空指令为一个16位的指令,从第0位到第15,其值都为0。29.如权利要求27所述的分层可编程并行视频信号处理器结构,其特征在于,所说的赋值指令分为三种,第一种赋值指令的子类型域有4位;目的地址寄存器有5位。源地址寄存器有5位。第二种赋值指令的子类型域有4位;目的地址寄存器有5位;立即数域为5位;第三种赋值指令的子类型域有4位;目的地址寄存器有5位最低5位为0;赋值指令如下(每条指令的位从高位至排列)子域类型1,指令Lmovrr,#imm,通用寄存器赋值,源操作数#imm为长立即数,双指令周期,目的地址为通用寄存器r;(1)子域类型2,指令Lmovgg,#imm,专用寄存器赋值,源操作数为长立即数,双指令周期,目的地址为专用寄存器g;(2)子域类型3,指令Movgg,r,专用寄存器赋值,源操作数为通用寄存器r,目的地址为专用寄存器g;(3)子域类型4,指令Movrr,g,通用寄存器赋值,源操作数为专用寄存器g,目的地址为通用寄存器r;(4)子域类型5,指令Imovrr,#imm,通用寄存器赋值,源操作数为短立即数,目的地址为通用寄存器r;(5)子域类型6,指令Imovgg,#imm,专用寄存器赋值,源操作数为短立即数,目的地址为专用寄存器g;(6)子域类型7,指令Movpcr,通用寄存器赋值,源操作数为程序计数器,目的地址为通用寄存器r。30.如权利要求27所述的分层可编程并行视频信号处理器结构,其特征在于,所说的转移指令有2种格式,第一种格式子类型域有4位;条件域有5位;目的地址寄存器有5位。第二种格式子类型域有2位,立即数地址域有12位;转移指令如下(每条指令的位从高位至排列)(1)子类型域0,条件码00010,指令Bcr,进位条件跳转;(2)子类型域;0,条件码00011,指令Bncr,无进位条件跳转;(3)子类型域0,条件码00100,指令Bzr,零条件跳转;(4)子类型域0,条件码00101,指令Bnzr,非零条件跳转;(5)子类型域0,条件码01000,指令Bv,溢出条件跳转;(6)子类型域;0,条件码01001,指令bnvr,无溢出条件跳转;(7)子类型域0,条件码10000,指令Blr,最低位1条件跳转;(8)子类型域0,条件码10001,指令Bnlr,最低位0条件跳转;(9)子类型域1,条件码00000,指令Jmprr,无条件跳转;(10)子类型域2,条件码00000,指令Cailrr,间接过程调用;(11)子类型域3,条件码00000,指令Ret,过程返回;(12)子类型域4-7,条件码保留,指令保留;(13)子类型域8,条件码00000,指令Call#imm,直接过程调用;(14)子类型域9-11,条件码保留,指令保留;(15)子类型域12,条件码00000,指令Jmp#imm,直接无条件跳转;(16)子类型域13-15,条件码保留,指令保留。31.如权利要求27所述的分层可编程并行视频信号处理器结构,其特征在于,所说的算术逻辑运算指令有2种格式,第一种格式中指令类型域有4位;目的/第一源操作寄存器有5位;第二源操作寄存器有5位;第二种格式中指令类型域有4位;目的/第一源操作寄存器有5位;立即数为5位;算术逻辑指令如下(每条指令的位从高位至排列)(1)子类型0,指令Movrd,rs,功能rd=rs(2)子类型1,指令Addrd,rs,功能Rd=rd+rs(3)子类型2,指令Subrd,rs,功能Rd=rd-rS(4)子类型3,指令Orrd,rs,功能Rd=rd|rs(5)子类型4,指令Andrd,rs,功能Rd=rd&amp;rs(6)子类型5,指令Xorrd,rs,功能Rd=rd~rs(7)子类型6,指令Ishrrd,rs,功能rd=rd&gt;&gt;rs(8)子类型6,指令Ishlrd,rs,功能Rd=rd&lt;&lt;rs(9)子类型7,指令Notrd,rs,功能Rd=~rs(10)子类型8,保留(11)子类型9,指令Iaddrd,#imm,功能Rd=rd+#imm(12)子类型10,指令Isubrd,#imm,功能Rd=rd-#imm(13)子类型11,指令Iorrd,#imm,功能Rd=rd|#imm(14)子类型12,指令Iandrd,#imm,功能Rd=rd&amp;#imm(15)子类型13,指令Ixorrd,#imm,功能Rd=rd~#imm(16)子类型14,指令Ishrrd,#imm,功能rd=rd&gt;&gt;#imm(17)子类型14,指令Ishlrd,#imm,功能Rd=rd&lt;&lt;#imm(18)子类型15,指令Inotrd,#imm,功能Rd=~#imm32.如权利要求21所述的分层可编程并行视频信号处理器结构,其特征在于,所说的特殊寄存器阵列由32个16位寄存器组成各寄存器定义如下(1)特殊寄存器g0,循环次数寄存器,输出循环次数信号(cnt)给低层指令单元;(2)特殊寄存器g1,低层程序入口地址寄存器,输出程序入口地址信号(entry)给低层指令单元;(3)特殊寄存器g2,二维并行存储器水平起始地址寄存器,输出二维并行存储器水平起始地址信号startx;(4)特殊寄存器g3,二维并行存储器垂直起始地址寄存器,输出二维并行存储器垂直起始地址信号starty;(5)特殊寄存器g4,二维并行存储器地址增量寄存器,输出二维并行存储器地址增量信号step_d2m;(6)特殊寄存器g5,8位一维并行存储器起始地址寄存器,输出8位一维并行存储器起始地址信号start_d1m;(7)特殊寄存器g6,8位一维并行存储器地址增量寄存器,输出8位一维并行存储器地址增量信号step_d1m;(8)特殊寄存器g7,9位一维并行存储器起始地址寄存器,输出9位一维并行存储器起始地址信号start_dm9;(9)特殊寄存器g8,9位一维并行存储器地址增量寄存器,输出9位一维并行存储器地址增量信号step_dm9;(10)特殊寄存器g9,运动矢量寄存器,输出运动矢量信号MV。高6位为垂直运动矢量,低6位为水平运动矢量;(11)特殊寄存器g10-g15,保留;(12)特殊寄存器g16,低层指令单元状态寄存器,锁存低层指令单元输出运行结;(13)特殊寄存器g17,并行运算单元结果寄存器0,锁存树累加器输出宏块匹配误差信号sad0;(14)特殊寄存器g18,并行运算单元结果寄存器1,锁存树累加器输出第一个块匹配误差信号sad1;(15)特殊寄存器g19,并行运算单元结果寄存器2,锁存树累加器输出第二个块匹配误差信号sad2;(16)特殊寄存器g20,并行运算单元结果寄存器3,锁存树累加器输出宏块最优运动矢量信号opMV0;(17)特殊寄存器g21,并行运算单元结果寄存器4,锁存树累加器输出第一个块最优运动矢量信号opMV1;(18)特殊寄存器g22,并行运算单元结果寄存器5,锁存树累加器输出第二个块最优运动矢量信号opMV2;(19)特殊寄存器g23,并行运算单元结果寄存器6,锁存树累加器输出宏块最小匹配误差信号min0;(20)特殊寄存器g24,并行运算单元结果寄存器7,锁存树累加器输出第一个块最小匹配误差信号min1;(21)特殊寄存器g25,并行运算单元结果寄存器8,锁存树累加器输出第二个块最小匹配误差信号min2;(22)特殊寄存器g26-g31,保留;全文摘要本发明属于视频图像编码领域,包括低层指令单元,并行运算单元,数据寻径单元,存储器及地址生成单元,高层指令单元,以及外部存储器接口单元六个部分;其中,低层指令单元通过控制信号线分别与高层指令单元及并行运算单元相连;数据寻径单元通过数据总线分别与并行运算单元与存储及地址生成单元相连。本发明在一个结构上可同时实现多种块匹配算法,并可降低视频编码系统的硬件开销,还能支持视频编码的其它算法。文档编号G06T9/40GK1289212SQ0013007公开日2001年3月28日申请日期2000年10月27日优先权日2000年10月27日发明者何芸,龚大年申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1