專利名稱::用于運動估計算法的分層可編程并行視頻信號處理器結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于視頻圖像編碼領(lǐng)域,特別涉及分層可編程并行視頻信號處理器設(shè)計。運動估計已被所有的視頻壓縮編碼國際標準所采納,用于消除幀間相關(guān)性。但是運動估計算法沒有被這些國際標準所規(guī)定,是開放的部分,不同的編碼系統(tǒng)可以在滿足碼流語法結(jié)構(gòu)的前提下,采用各自不同的運動估計算法。塊匹配全搜索算法是運動估計算法中搜索精度最高的算法,但是它的缺點是運算量巨大,使得傳統(tǒng)的通用處理器無法滿足要求。為了解決運算量的問題,已有的工作從兩方面入手,一是研究塊匹配快速搜索算法,降低搜索點的個數(shù);二是研究塊匹配集成電路并行結(jié)構(gòu),對全搜索算法或快速搜索算法加以高效實現(xiàn)。塊匹配快速搜索算法研究的典型代表文獻有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]的搜索窗內(nèi)將運動矢量的搜索過程分為3步,每步搜索8個點,加上中心點,一共是25個搜索點。這種算法是全搜索算法運算量(225個搜索點)的11.1%。塊匹配集成電路并行結(jié)構(gòu)可以分為兩種基于陣列處理器的結(jié)構(gòu)和基于樹狀加法器的結(jié)構(gòu)?;陉嚵刑幚砥鞯慕Y(jié)構(gòu)的典型代表文獻有T.KomarekandP.Pirsch,“Arrayarchitecturesforblockmatchingalgorithms,”(塊匹配算法的陣列結(jié)構(gòu))IEEETrans.OnCircuitsandSystems,(IEEE電路與系統(tǒng)期刊)36卷,10期,1301-1308頁,1989年10月。圖1給出了在塊大小為3情況下,陣列處理器結(jié)構(gòu)的原理圖。它包括9個絕對值和加法單元(AD),3個加法單元(A),一個最小值單元(M)。這種結(jié)構(gòu)的優(yōu)點是需要的存儲器帶寬小,但是它的擴展性差,效率低?;跇錉罴臃ㄆ鹘Y(jié)構(gòu)的典型代表文獻有Y.sJehng;L.G.Chen;T.D.Chiueh,“AnefficientandsimpleVLSItreearchitectureformotionestimationalgorithms”,(一種簡單有效的用于運動估計算法的大規(guī)模集成電路樹結(jié)構(gòu))IEEETransactionsOnSignalProcessing(IEEE信號處理期刊)41卷2期,889-900頁,1993年2月。圖2給出了樹狀加法器的結(jié)構(gòu)圖。圖中圓圈表示加法器,矩形表示寄存器,加法器采用樹狀結(jié)構(gòu)相連。這種結(jié)構(gòu)采用了多級流水線段的樹結(jié)構(gòu),由于樹結(jié)構(gòu)的運算效率隨著流水線段數(shù)的增加而降低,因此這種結(jié)構(gòu)由于引入了多級流水線段使得樹結(jié)構(gòu)的運算性能不能充分發(fā)揮。為了提高匹配精度或者說是運動矢量搜索的準確性,運動估計算法采用了大搜索范圍,不同的預(yù)測模式以及多種匹配塊的大小和不同的搜索策略。多個因素的組合決定了運動估計算法的多樣性。采用可編程并行結(jié)構(gòu)能比較好地同時實現(xiàn)多樣性和運算量大的要求。可編程并行結(jié)構(gòu)的典型代表文獻有H.D.Lin,A.Anesko,B.Petryna,“A14-GopsProgrammableMotionEstimatorforH.26xVideoCoding,”(一種14GOPS用于H.26x的可編程運動估計結(jié)構(gòu))IEEEJssc(IEEE固體電路雜志),31卷,11期,1996年11月。這種結(jié)構(gòu)是基于陣列處理器的可編程結(jié)構(gòu),它采用了64個陣列處理器完成塊匹配的運算,硬件結(jié)構(gòu)規(guī)模龐大,同時陣列處理器的數(shù)據(jù)流必須針對一些特定的算法,使得靈活性仍然受到限制。本發(fā)明的目的是為克服已有技術(shù)的不足之處,提出了一種用于運動估計算法的分層可編程并行視頻信號處理器結(jié)構(gòu)(Programmablevidoesignalprocessor,PVSP),通過本發(fā)明的可編程方法,在一個結(jié)構(gòu)上可同時實現(xiàn)多種塊匹配算法,并可降低視頻編碼系統(tǒng)的硬件開銷,還能支持視頻編碼的其它算法。本發(fā)明提出的一種用于運動估計算法的可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,包括低層指令單元,并行運算單元,數(shù)據(jù)尋徑單元,存儲器及地址生成單元,高層指令單元,以及外部存儲器接口單元六個部分;其中,所說的高層指令單元與低層指令單元通過控制信號線相連;所說的低層指令單元與并行運算單元通過數(shù)據(jù)和控制信號線相連;所說的并行運算單元與數(shù)據(jù)尋徑單元通過3路數(shù)據(jù)總線相連;所說的數(shù)據(jù)尋徑單元與存儲及地址生成單元通過6路數(shù)據(jù)總線相連;所說的高層指令單元的起始命令信號和運行命令信號通過數(shù)據(jù)尋徑單元與存儲及地址生成單元相連接;所說的數(shù)據(jù)尋徑單元與外部存儲器接口單元通過數(shù)據(jù)總線相連;所說的高層指令單元和外部存儲器接口單元通過控制信號相連。本發(fā)明的工作過程如下高層指令單元發(fā)控制信號給低層指令單元,低層指令單元開始執(zhí)行低層程序,由低層指令譯碼單元發(fā)出控制信號給并行運算單元,數(shù)據(jù)尋徑單元,存儲及地址生成單元,數(shù)據(jù)尋徑單元從存儲及地址生成單元輸出的3路信號中選擇兩路,輸出到并行運算單元中,并行運算單元的運算結(jié)果通過數(shù)據(jù)尋徑單元輸出到存儲及地址生成單元中。高層指令單元通過數(shù)據(jù)總線從并行運算單元讀取運算結(jié)果。高層指令單元通過控制總線從低層指令單元讀取執(zhí)行狀態(tài)。高層指令單元發(fā)出控制信號給外部存儲器接口單元,外部存儲器接口單元從外部存儲器讀入數(shù)據(jù)輸出到數(shù)據(jù)尋徑電路。數(shù)據(jù)尋徑電路將外部存儲器接口單元輸出的數(shù)據(jù)連接到存儲及地址生成單元。本發(fā)明的主要特點1)并行結(jié)構(gòu)采用了低延遲特性規(guī)整的樹累加結(jié)構(gòu),包括多輸入樹狀加法器和累加器,硬件復(fù)雜度大大小于已有的基于陣列處理器的運動估計可編程結(jié)構(gòu),由于采用了低延遲特性規(guī)整的樹狀加法器結(jié)構(gòu),使得多輸入數(shù)的加法能高速完成,在樹狀加法器中無需流水線段寄存器,使得樹狀加法器的效率充分發(fā)揮,同時這種樹累加器結(jié)構(gòu)能支持16x16,16x8以及8x8多種塊匹配運算,具有較大的靈活性。2)二維并行存儲器結(jié)構(gòu)采用了字節(jié)對準和循環(huán)尋址的二維并行存儲器。輸入為水平和垂直地址,輸出一行16個數(shù)據(jù)。3)可編程結(jié)構(gòu)通過高層指令單元和低層指令單元實現(xiàn),高層指令單元控制完成運動估計算法中轉(zhuǎn)移分支較多,需要進行判斷的部分,高層指令單元包括一個16位精簡指令處理器(RISC)。低層程序控制完成循環(huán)運算為主的塊匹配運算。低層指令單元和高層指令單元均采用16位指令格式,但是采用不同的指令編碼方法。4)PVSP能夠同時支持多種快速運動估計算法,同時PVSP內(nèi)部的可編程并行運算單元能夠支持半像素運動搜索和運動補償算法,進一步提高了靈活性,無需另外設(shè)計專門的硬件來支持這些算法,這使得將視頻編碼系統(tǒng)集成在單片成為可能。附圖簡要說明圖1為已有的基于陣列處理器的運動估計結(jié)構(gòu)示意圖。圖2為已有的基于樹狀加法器的運動估計結(jié)構(gòu)示意圖。圖3為本發(fā)明的分層可編程并行視頻信號處理器總體結(jié)構(gòu)示意圖。圖4為本發(fā)明的低層指令單元結(jié)構(gòu)示意圖。圖5為本發(fā)明的樹累加器實施例結(jié)構(gòu)示意圖。圖6為本發(fā)明的8輸入樹狀加法器實施例結(jié)構(gòu)示意圖。圖7為本發(fā)明的最小值部件MIN0實施例結(jié)構(gòu)示意圖。圖8為本發(fā)明的最小值部件MIN1實施例結(jié)構(gòu)示意圖。圖9為本發(fā)明的最小值部件MIN2實施例結(jié)構(gòu)示意圖。圖10為本發(fā)明的二維并行存儲器實施例結(jié)構(gòu)示意圖。圖11為本發(fā)明的二維并行存儲器的地址映射模塊實施例結(jié)構(gòu)示意圖。圖12為本發(fā)明的二維并行存儲器的地址生成模塊ADG0實施例結(jié)構(gòu)示意圖。圖13為本發(fā)明的8位一維并行存儲器的地址生成模塊ADG1實施例結(jié)構(gòu)示意圖。圖14為本發(fā)明的9位一維并行存儲器地址的生成模塊ADG2實施例結(jié)構(gòu)示意圖。圖15為本發(fā)明的16位精簡指令處理器實施例結(jié)構(gòu)示意圖。圖16為本發(fā)明的取指部件實施例結(jié)構(gòu)示意圖。圖17為本發(fā)明的指令執(zhí)行部件實施例結(jié)構(gòu)示意圖。本發(fā)明設(shè)計的一種用于運動估計算法的分層可編程并行視頻信號處理器(PVSP)結(jié)構(gòu)實施例,結(jié)合各附圖詳細說明如下本發(fā)明PVSP總體結(jié)構(gòu)如圖3所示。包括六個部分低層指令單元,并行運算單元,數(shù)據(jù)尋徑單元,存儲器及地址生成單元,高層指令單元,以及外部存儲器接口單元。各部分連接關(guān)系如下。高層指令單元與低層指令單元通過控制信號線相連;低層指令單元與并行運算單元通過數(shù)據(jù)和控制信號線相連;并行運算單元與數(shù)據(jù)尋徑單元通過3路數(shù)據(jù)總線相連;數(shù)據(jù)尋徑單元與存儲及地址生成單元通過6路數(shù)據(jù)總線相連;高層指令單元的起始命令信號和運行命令信號通過數(shù)據(jù)尋徑單元與存儲及地址生成單元相連接;數(shù)據(jù)尋徑單元與外部存儲器接口單元通過數(shù)據(jù)總線相連;高層指令單元和外部存儲器接口單元通過控制信號相連。上述各單元實施例的具體結(jié)構(gòu)及其工作過程結(jié)合附圖分別說明如下(一)低層指令單元(1)低層指令單元結(jié)構(gòu)本發(fā)明的低層指令單元的結(jié)構(gòu)實施例如圖4所示。包括程序地址寄存器,低層指令存儲器和低層指令譯碼模塊,選擇器,循環(huán)次數(shù)寄存器,減法器;其連接關(guān)系如下高層指令單元輸出的程序入口地址信號entry與程序地址寄存器相連,高層指令單元輸出設(shè)置程序入口地址信號set_entry與程序地址寄存器的使能端相連;程序地址寄存器與低層指令存儲器相連;低層指令存儲器與低層指令譯碼模塊相連;高層指令單元輸出的循環(huán)次數(shù)信號cnt與選擇器的上輸入端相連,減法器輸出與選擇器下輸入端相連。高層指令單元輸出設(shè)置循環(huán)次數(shù)信號set_cnt與選擇器的選擇端相連。選擇器輸出端與循環(huán)次數(shù)寄存器相連。循環(huán)次數(shù)寄存器輸出端與減法器上輸入端相連。信號1和減法器下輸入端相連。減法器的進位輸出端和運行結(jié)束信號done相連。所說的低層譯碼模塊由與或邏輯電路組成。低層譯碼模塊輸出端與起始命令信號和運行命令信號相連。低層指令單元的的運行由低層指令集中的低層指令所控制。(2)低層指令單元工作過程低層指令單元的工作過程如下當高層指令單元發(fā)出設(shè)置循環(huán)次數(shù)寄存器的命令信號時,選擇器選擇外部輸入循環(huán)次數(shù)信號cnt輸出到循環(huán)次數(shù)寄存器鎖存。然后寄存器輸出到減法器作減一運算。當減法器輸出為0時,發(fā)出運行結(jié)束信號done。當高層指令單元發(fā)出設(shè)置程序地址寄存器的命令信號時,外部輸入程序入口地址信號entry輸出到程序地址寄存器鎖存。(3)低層指令集(a)指令單元編碼格式低層指令單元的低層指令的編碼格式如下低層指令長度為16位。表1給出了低層指令各位的定義。類型碼域4位。源操作數(shù)1和源操作數(shù)2各占3位,目的操作數(shù)占2位。移位立即數(shù)占4位。表1低層指令各位的定義(b)低層指令低層指令集包括六種類型的指令。表2給出了低層指令的格式,操作類型及其說明。PNOP為空操作。PADD指令完成帶移位的并行加法運算,PSUB指令完成并行減法運算,PADDS完成飽和加法運算,PMOV完成數(shù)據(jù)的并行搬移運算,PSAD完成并行減法絕對值運算。表2低層指令集,#imm表示立即數(shù)(二)并行運算單元(1)并行運算單元結(jié)構(gòu)本發(fā)明的并行運算單元實施例由并行算術(shù)邏輯運算部件和樹累加器組成,如圖3所示。該并行算術(shù)運算邏輯模塊的輸出和樹累加器的輸入相連。其工作過程為由低層指令譯碼單元發(fā)出控制信號給并行運算單元,數(shù)據(jù)尋徑單元輸出2路數(shù)據(jù)到并行算術(shù)運算模塊中,并行算術(shù)運算邏輯模塊的運算結(jié)果輸出給數(shù)據(jù)尋徑單元。高層指令單元通過數(shù)據(jù)總線從并行運算單元讀取運算結(jié)果。運算結(jié)果包括宏塊匹配誤差信號sad0,第一個塊匹配誤差信號sad1,第二個塊匹配誤差信號sad2,宏塊最優(yōu)運動矢量信號opMV0,第一個塊最優(yōu)運動矢量信號opMV1,第二個塊最優(yōu)運動矢量信號opMV2,宏塊最小匹配誤差信號min0,第一個塊最小匹配誤差信號min1,第二個塊最小匹配誤差信號min2。(2)并行算術(shù)邏輯運算模塊并行算術(shù)邏輯運算模塊的實施例包含N個9位處理器,9位處理器組織成單指令多數(shù)據(jù)流結(jié)構(gòu)。(3)樹累加器模塊樹累加器模塊的實施例結(jié)構(gòu)如圖5所示。包含兩個8輸入樹狀加法器,一個11位加法器,三個累加器(ACC0,ACC1,ACC2)和三個最小值部件(MIN0,MIN1,MIN2)。其連接關(guān)系如下左邊8輸入樹狀加法器的輸出和11位加法器以及累加器ACC1相連。右邊8輸入樹狀加法器的輸出與11位加法器以及累加器ACC2相連;11位加法器輸出與累加器ACC0相連;累加器ACC0,ACC1,ACC2分別與最小值部件MIN0,MIN1,MIN2相連;累加器ACC0與宏塊匹配誤差信號sad0相連;累加器ACC1與第一個塊匹配誤差信號sad1相連;累加器ACC2與第二個塊匹配誤差信號sad2相連;最小值部件MIN0輸出端與宏塊最小匹配誤差信號min0以及宏塊最優(yōu)運動矢量信號opMV0相連,最小值部件MIN1輸出端與第一個塊匹配誤差信號min1以及第一個塊最優(yōu)運動矢量信號opMV1相連,最小值部件MIN2輸出端與第二個塊最小匹配誤差信號min2以及第二個塊最優(yōu)運動矢量信號opMV2相連最小值部件MIN0輸入端與宏塊匹配誤差信號sad0、運行結(jié)束信號done以及運動矢量信號MV相連,最小值部件MIN1輸入端與第一個塊匹配誤差信號sad1、運行結(jié)束信號done以及運動矢量信號MV相連,最小值部件MIN2輸入端與第二個塊匹配誤差信號sad2、運行結(jié)束信號done以及運動矢量信號MV相連。該樹累加器的工作過程為16位累加器ACC0對11位加法器的輸出進行累加,在16個周期內(nèi),ACC0可以輸出一個16x16宏塊匹配誤差結(jié)果。12位累加器ACC1和ACC2對左邊8輸入樹狀加法器和右邊8輸入樹狀加法器輸出的11位數(shù)據(jù)進行累加。在8個周期內(nèi),ACC1和ACC2可以輸出兩個8x8塊的塊匹配誤差結(jié)果。(a)8輸入樹狀加法器上述8輸入樹狀加法器的實施例結(jié)構(gòu)如圖6所示,包括4個8位加法器(ADDER8),2個9位加法器(ADDER9)以及一個10位加法器(ADDER10)。其連接關(guān)系為左邊2個8位加法器輸出和左邊9位加法器相連,右邊2個加法器和右邊9位加法器相連,該兩個9位加法器輸出和10位加法器的輸入相連。(b)最小值部件MIN0上述最小值部件MIN0的實施例結(jié)構(gòu)如圖7所示,包括16位減法器,與門,16位寄存器和12位寄存器。其連接關(guān)系為16位減法器左輸入與16位寄存器輸出相連,16位減法器右輸入與外部輸入宏塊匹配誤差信號sad0相連,16位減法器的進位信號和與門的上輸入端相連;外部輸入宏塊匹配誤差信號sad0與16位寄存器輸入相連,16位寄存器輸出與宏塊最小匹配誤差值min0相連;與門的上輸入端與16位減法器的進位相連,與門下輸入端與外部輸入運行結(jié)束信號done相連;12位寄存器輸入與外部運動矢量信號MV相連,12位寄存器與16位寄存器的使能信號和與門的輸出相連。其工作過程為16位減法器輸出進位給與門,與門對減法器輸出和運行結(jié)束信號done進行與運算后,輸出使能信號給16位和12位寄存器。16位寄存器保存宏塊最小匹配誤差值min0,12位寄存器保存水平和垂直運動矢量值。如果使能信號有效,16位寄存器將宏塊匹配誤差信號sad0鎖存,12位寄存器將運動矢量信號MV鎖存。(c)最小值部件MIN1上述最小值部件MIN1的實施例結(jié)構(gòu)如圖8所示,包括16位減法器,與門,16位寄存器和12位寄存器。其連接關(guān)系為16位減法器左輸入與16位寄存器輸出相連,16位減法器右輸入與外部輸入宏塊匹配誤差信號sad1相連,16位減法器的進位信號和與門的上輸入端相連;16位寄存器輸出與宏塊最小匹配誤差值min1相連;與門的上輸入端與16位減法器的進位相連,與門下輸入端與外部輸入運行結(jié)束信號done相連;12位寄存器輸入與外部運動矢量信號MV相連,12位寄存器與16位寄存器的使能信號和與門的輸出相連。其工作過程為16位減法器輸出進位給與門,與門對減法器輸出和運行結(jié)束信號done進行與運算后,輸出使能信號給16位和12位寄存器。16位寄存器保存第一個塊最小匹配誤差信號min1,12位寄存器保存水平和垂直運動矢量值。如果使能信號有效,16位寄存器將第一個塊匹配誤差信號sad1鎖存,12位寄存器將運動矢量信號MV鎖存。(d)最小值部件MIN2上述最小值部件MIN2的實施例結(jié)構(gòu)如圖9所示,包括16位減法器,與門,16位寄存器和12位寄存器。其連接關(guān)系為16位減法器左輸入與16位寄存器輸出相連,16位減法器右輸入與外部輸入宏塊匹配誤差信號sad2相連,16位減法器的進位信號和與門的上輸入端相連;外部輸入宏塊匹配誤差信號sad1與16位寄存器輸入相連,16位寄存器輸出與宏塊最小匹配誤差值min2相連;與門的上輸入端與16位減法器的進位相連,與門下輸入端與外部輸入運行結(jié)束信號done相連;12位寄存器輸入與外部運動矢量信號MV相連,12位寄存器與16位寄存器的使能信號和與門的輸出相連。其工作過程為16位減法器輸出進位給與門,與門對減法器輸出和運行結(jié)束信號done進行與運算后,輸出使能信號給16位和12位寄存器。16位寄存器保存第二個塊最小匹配誤差信號min2,12位寄存器保存水平和垂直運動矢量值。如果使能信號有效,16位寄存器將第二個塊匹配誤差信號sad2鎖存,12位寄存器將運動矢量信號MV鎖存。(三)數(shù)據(jù)尋徑單元本發(fā)明的數(shù)據(jù)尋徑單元的實施例由選擇器組成。其工作過程為由低層指令譯碼單元發(fā)出控制信號給數(shù)據(jù)尋徑單元,數(shù)據(jù)尋徑單元從存儲及地址生成單元輸出的3路信號中選擇兩路,輸出到并行算術(shù)運算模塊中,并行算術(shù)運算模塊的運算結(jié)果通過數(shù)據(jù)尋徑單元輸出到存儲及地址生成單元中。(四)存儲及地址生成單元本發(fā)明的存儲及地址生成單元結(jié)構(gòu)3如圖所示,由二維并行存儲器和二維并行存儲器的地址生成模塊ADG0,8位一維并行存儲器和8位一維并行存儲器的地址生成模塊ADG1,9位一維并行存儲器和9位一維并行存儲器地址的生成模塊ADG2構(gòu)成。其內(nèi)部連接關(guān)系為,二維并行存儲器與二維并行存儲器的地址生成模塊ADG0通過地址總線相連,8位一維并行存儲器與8位一維并行存儲器的地址生成模塊ADG1通過地址總線相連,9位一維并行存儲器與9位一維并行存儲器地址的生成模塊ADG2通過地址總線相連。(1)二維并行存儲器上述二維并行存儲器的實施例結(jié)構(gòu)如圖10所示,包括地址映射模塊,N路比較器,優(yōu)先級編碼器,N路二選一選擇器(M0,M1,…MN-1),N個數(shù)據(jù)存儲器以及循環(huán)移位器。其連接關(guān)系為地址映射模塊與外部輸入水平存儲器地址信號Lx和垂直存儲器地址信號Ly相連;地址映射模塊輸出端b0和N路比較器的左輸入端相連;信號0,1…N-1分別與N路比較器的右輸入端相連;比較器輸出端與優(yōu)先級編碼器的輸入相連;優(yōu)先級編碼器的輸出分別與N路選擇器的選擇信號端S0、S1、…SN-1相連。N路選擇器的數(shù)據(jù)端與地址映射模塊相連;N路選擇器的輸出端與N個數(shù)據(jù)存儲器相連;N路數(shù)據(jù)存儲器輸出端與循環(huán)移位器相連。(a)地址映射模塊所說的地址映射模塊內(nèi)部連線關(guān)系如圖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)優(yōu)先級編碼器所說的優(yōu)先級編碼器的實施例由與或邏輯電路組成。該優(yōu)先級編碼器邏輯如下其中j=min{j|tj=1,j=0,1…N-1}。循環(huán)移位器將第b0個數(shù)據(jù)存儲器的數(shù)據(jù)左移到最高位。(2)8位一維并行存儲器上述8位一維并行存儲器的實施例由N個8位存儲器模塊組成。其連接關(guān)系為外部輸入8位一維并行存儲器的地址信號addr_d1m和N個8位存儲器的地址輸入端相連,N個8位存儲器輸出8N位數(shù)據(jù)和外部相連。(3)9位一維并行存儲器9位一維并行存儲器的實施例由N個9位存儲器模塊組成。其連接關(guān)系為外部輸入9位一維并行存儲器的地址信號addr_dm9和N個9位存儲器的地址輸入端相連,N個9位存儲器輸出9N位數(shù)據(jù)和外部相連。(4)二維并行存儲器的地址生成模塊上述二維并行存儲器的地址生成模塊ADG0的實施例結(jié)構(gòu)由圖12所示,由加法器0、加法器1,選擇器0、選擇器1、選擇器2、選擇器3,寄存器0、寄存器1組成。其連接關(guān)系為選擇器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。其工作過程為在低層指令單元發(fā)送起始命令時,選擇器0-1選擇右路信號,將二維并行存儲器水平起始地址信號startx和運動矢量信號MV的低6位(MV[50])輸出到加法器0,然后加法器的輸出結(jié)果鎖存到寄存器0中,同時,選擇器2-3選擇右路信號,將二維并行存儲器垂直起始地址信號starty和運動矢量信號MV的高6位(MV[116])輸出到加法器1,然后加法器的輸出結(jié)果鎖存到寄存器1中。這是寄存器0和寄存器1保存了水平和垂直起始存儲器地址。在低層指令單元發(fā)送運行命令時,選擇器0-1選擇左路信號,將地址步長信號“step”和寄存器0保存的值輸出到加法器中,加法器0的輸出結(jié)果交給寄存器0鎖存。同時,選擇器2-3選擇左路信號,將寄存器0和寄存器1保存的值輸出到加法器1中,加法器1的輸出結(jié)果輸出給寄存器1鎖存。寄存器0和寄存器1分別輸出水平存儲器地址信號(Lx)和垂直存儲器地址信號(Ly)。(5)上述8位一維并行存儲器的地址生成模塊上述8位一維并行存儲器的地址生成模塊ADG1的實施例結(jié)構(gòu)如圖13所示,由兩個選擇器、一個加法器和一個寄存器所組成,其連接關(guān)系為選擇器0左輸入端與寄存器0輸出相連,選擇器0右輸入端和8位一維并行存儲器起始地址信號start_d1m相連,選擇器1左輸入端和8位一維并行存儲器地址增量信號相連,選擇器1右輸入端和信號0相連;選擇器0和選擇器1的輸出分別與加法器0的兩個輸入端相連;寄存器0通過8位一維并行存儲器的地址信號addr_d1m和外部相連。其工作過程為低層指令單元發(fā)送起始命令信號時,選擇器0和選擇器1選擇右路信號,將8位一維并行存儲器起始地址信號start_d1m和0輸出到加法器,然后加法器的輸出結(jié)果鎖存到寄存器中。低層指令單元發(fā)送運行命令信號時,選擇器0和1選擇左路信號,將8位一維并行存儲器地址增量信號step_d1m和寄存器保存的值輸出到加法器中,加法器的輸出結(jié)果交給寄存器鎖存。(6)9位一維并行存儲器地址的生成模塊上述9位一維并行存儲器地址的生成模塊ADG2實施例結(jié)構(gòu)如圖14所示,由兩個選擇器、一個加法器和一個寄存器所組成,其連接關(guān)系為選擇器0左輸入端與寄存器0輸出相連,選擇器0右輸入端和9位一維并行存儲器起始地址信號start_dm9相連。選擇器1左輸入端和9位一維并行存儲器地址增量信號step_dm9相連,選擇器1右輸入端和信號0相連;選擇器0和選擇器1的輸出分別與加法器0的兩個輸入端相連;寄存器0通過9位一維并行存儲器的地址信號addr_dm9和外部相連。其工作過程為低層指令單元發(fā)送起始命令信號時,選擇器0和選擇器1選擇右路信號,將9位一維并行存儲器起始地址信號start_dm9和0輸出到加法器,然后力法器的輸出結(jié)果鎖存到寄存器中。低層指令單元發(fā)送運行命令信號時,選擇器0和1選擇左路信號,將9位一維并行存儲器地址增量信號step_dm9和寄存器保存的值輸出到加法器中,加法器的輸出結(jié)果交給寄存器鎖存。(五)高層指令單元(1)高層指令單元結(jié)構(gòu)本發(fā)明的高層指令單元的實施例結(jié)構(gòu)由一個16位精簡指令集處理器和32個特殊寄存器陣列所組成,如圖3所示。其連接關(guān)系為16位精簡指令處理器和外部通過設(shè)置程序入口地址信號set_entry及設(shè)置循環(huán)次數(shù)寄存器信號set_cnt相連,16位精簡指令處理器和特殊寄存器陣列通過控制信號相連。高層指令單元由高層指令集中的指令控制。(2)16位精簡指令集處理器上述16位精簡指令集處理器結(jié)構(gòu)如圖15所示,包括4部分,即取指部件,譯碼部件,執(zhí)行部件和寄存器陣列。其連接關(guān)系為取指部件與指令譯碼部件之間通過轉(zhuǎn)移地址ba,指令信號d_ir,轉(zhuǎn)移控制信號next信號相連;指令譯碼部件與指令執(zhí)行部件之間通過操作碼d_op,執(zhí)行控制信號exec,第一源操作數(shù)d_src1,第二源操作數(shù)d_src2以及狀態(tài)信號eflags相連;指令執(zhí)行部件與寄存器陣列之間通過寫寄存器信號we,結(jié)果信號e_res相連;指令譯碼部件與寄存器陣列通過第一源操作數(shù)地址d_a1,第二源操作數(shù)地址d_a2,以及寄存器陣列輸出信號d_r1和d_r2相連。其工作過程為取指部件輸出指令信號d_ir給指令譯碼部件。指令譯碼部件輸出轉(zhuǎn)移控制信號next和轉(zhuǎn)移地址信號ba信號給取指部件。指令譯碼部件輸入雙向數(shù)據(jù)信號g_d和指令執(zhí)行部件的輸出狀態(tài)信號e_flags以及寄存器陣列輸出信號d_r1和d_r2。指令譯碼部件輸出d_op,exec,d_src1,d_src2信號給指令執(zhí)行單元。指令譯碼部件輸出d_a1,d_a2給寄存器陣列。指令譯碼部件輸出d_a1經(jīng)過寄存器輸出e_a。指令執(zhí)行部件輸出寫寄存器信號we到寄存器陣列,指令執(zhí)行部件輸出結(jié)果信號e_res到寄存器陣列。指令譯碼部件輸出g_a,g_r,g_w,設(shè)置循環(huán)次數(shù)寄存器信號set_cnt,設(shè)置程序入口地址寄存器信號set_entry,作為16位精簡指令處理器的輸出控制信號。g_d為雙向信號。當g_r為高時,g_d為輸入信號;當g_w為高時,g_d為輸出信號。(a)取指部件上述的取指部件的實施例結(jié)構(gòu)如圖16所示,包括加法器,當前地址寄存器,選擇器,高層指令存儲器,指令寄存器。其連接關(guān)系為加法器上輸入端與信號1相連,下輸入端與當前地址寄存器的輸出相連;加法器輸出與當前地址寄存器的輸入相連;選擇器的上輸入端與通過轉(zhuǎn)移地址ba相連,選擇器的下輸入端與當前地址寄存器的輸出相連,選擇器的選擇端與轉(zhuǎn)移控制信號next相連,選擇器的輸出端與高層指令存儲器的地址輸入端相連;高層指令存儲器的輸出與指令寄存器輸入端相連。指令寄存器的輸出端通過指令信號d_ir與外部指令譯碼部件相連。其工作過程為加法器將地址選擇器的輸出加1后輸出到當前地址寄存器寄存。當前地址寄存器和外部輸入轉(zhuǎn)移地址信號ba輸出到選擇器,當外部輸入信號next為高時,選擇器選擇轉(zhuǎn)移地址信號輸出,當next為低時,選擇器選擇當前地址寄存器輸出。選擇器的輸出作為高層指令存儲器的地址。高層指令存儲器輸出這一地址對應(yīng)的指令,指令鎖存到指令寄存器中。指令寄存器輸出指令信號d_ir。(b)指令譯碼部件上述指令譯碼部件實施例由與或邏輯電路組成。如圖15所示,譯碼部件與外部部件的連接關(guān)系為指令譯碼部件和取指部件之問通過轉(zhuǎn)移地址ba,指令信號d_ir,轉(zhuǎn)移控制信號next信號相連。指令譯碼部件和指令執(zhí)行部件之間通過操作碼d_op,執(zhí)行控制信號exec,第一源操作數(shù)d_src1,第二源操作數(shù)d_src2以及狀態(tài)信號eflags相連。指令譯碼部件和寄存器陣列通過第一源操作數(shù)地址d_a1,第二源操作數(shù)地址d_a2,以及寄存器陣列輸出信號d_r1和d_r2相連。工作過程如下。取指部件輸出指令信號d_ir給指令譯碼部件。指令譯碼部件輸出轉(zhuǎn)移控制信號next和轉(zhuǎn)移地址信號ba信號給取指部件。指令譯碼部件輸出第一源操作數(shù)地址d_a1,第二源操作數(shù)地址d_a2給寄存器陣列。指令譯碼部件輸出d_a1經(jīng)過寄存器輸出e_a。指令譯碼部件輸出操作碼d_op,執(zhí)行控制信號exec,第一源操作數(shù)d_src1,第二源操作數(shù)d_src2給指令執(zhí)行單元。指令譯碼部件輸入雙向數(shù)據(jù)信號g_d和指令執(zhí)行部件的輸出狀態(tài)信號e_flags以及寄存器陣列輸出信號d_r1和d_r2。(c)指令執(zhí)行部件上述的指令執(zhí)行部件的實施例結(jié)構(gòu)如圖17所示,包括寄存器1,寄存器2,寄存器3,寄存器4,狀態(tài)寄存器以及算術(shù)邏輯運算部件ALU。其連接關(guān)系為第一源操作數(shù)d_src1,第二源操作數(shù)d_src2,操作碼d_op,執(zhí)行控制信號exec分別與寄存器1,寄存器2,寄存器3和寄存器4的輸入相連;寄存器1,寄存器2和寄存器3的輸出和算術(shù)邏輯運算部件相連;算術(shù)邏輯運算部件與狀態(tài)寄存器通過進位carry,零信號zero,溢出ovflow和d_src1的最低位d_src1相連;寄存器4輸出we和外部相連;狀態(tài)寄存器輸出eflags和外部相連。其工作過程為外部輸入信號d_src1,d_src2,d_op,exec,分別經(jīng)過寄存器1,2,3,4鎖存后,分別輸出第一源操作數(shù)e_src1,第二源操作數(shù)e_src2,操作類型信號c_op和寫寄存器信號we。e_src1,esrc2和e_op作為ALU的輸入,ALU輸出結(jié)果信號e_res和狀態(tài)標志。狀態(tài)標志包括進位標志carry,零標志zero,溢出標志ovflow。這三個狀態(tài)標志信號和外部輸入信號d_src1輸入到狀態(tài)寄存器鎖存。狀態(tài)寄存器輸出e_flags信號。表3給出了不同的操作類型信號e_op下,算術(shù)邏輯單元的功能。表3不同的操作類型信號e_op下,算術(shù)邏輯單元ALU的功能。(d)寄存器陣列上述寄存器陣列的實施例由32個通用寄存器組成,參見圖15,寄存器陣列與外部的連接關(guān)系為寄存器陣列和指令執(zhí)行部件之間通過寫寄存器信號we,結(jié)果信號e_res相連。寄存器陣列和指令譯碼部件通過第一源操作數(shù)地址d_a1,第二源操作數(shù)地址d_a2,以及寄存器陣列輸出信號d_r1和d_r2相連。指令譯碼部件輸出d_a1經(jīng)過寄存器輸出e_a和寄存器陣列相連。其工作過程為寄存器陣列輸入兩個源寄存器地址d_a1,d_a2和目的寄存器地址e_a,以及寫寄存器信號we,輸出由d_a1和d_a2指定的兩個源操作數(shù)d_r1和d_r2,同時將執(zhí)行單元輸出的結(jié)果e_res寫入由e_a指定的寄存器中。(3)高層指令集上述16位精簡指令處理器的高層指令集的指令有4種類型空指令,賦值指令,轉(zhuǎn)移指令和算術(shù)邏輯運算指令。指令的15和14位表明指令類型。這4種類型分別編碼為00,01,10,11。(a)空指令表4給出空指令各位的定義。16位均為0。表4空指令各位的定義(b)賦值指令表5給出賦值指令的格式。第一種賦值指令的子類型域有4位。目的地址寄存器有5位。源地址寄存器有5位。第二種賦值指令的子類型域有4位。目的地址寄存器有5位。立即數(shù)域為5位。第三種賦值指令的子類型域有4位。目的地址寄存器有5位。最低5位為0。表6給出了7條賦值指令,分別完成對全局寄存器或通用寄存器賦值操作。表5賦值指令各位的定義表6賦值指令格式和功能(c)轉(zhuǎn)移指令表7給出了轉(zhuǎn)移指令各位的定義。第一種格式子類型域有4位。條件域有5位。目的地址寄存器有5位。第二種格式子類型域有2位,立即數(shù)地址域有12位。表8給出了轉(zhuǎn)移指令的格式和功能。表7轉(zhuǎn)移指令各位的定義表8轉(zhuǎn)移指令格式和功能(d)算術(shù)邏輯運算指令表9給出了算術(shù)邏輯運算指令的兩種指令格式。第一種格式中指令類型域有4位。目的/第一源操作寄存器有5位。第二源操作寄存器有5位。第二種格式中指令類型域有4位。目的/第一源操作寄存器有5位。立即數(shù)為5位。表10給出列算術(shù)邏輯指令的格式和功能。其中左移指令和右移指令占用同一個子類型。當?shù)?位為1時(最低位為第0位,最高位為第15位),為右移指令shr;否則為左移指令shl。表9算術(shù)邏輯運算指令各位的定義表10算術(shù)邏輯指令(4)特殊寄存器陣列本發(fā)明的高層指令單元的特殊寄存器陣列實施例由32個16位寄存器組成。表11給出了特殊寄存器及其功能。其中g(shù)0-g11由16位精簡指令處理器寫。g16-g25由16位精簡指令處理器之外的相應(yīng)模塊寫,可以被16位精簡指令處理器讀。g12-g15和g26-g31保留。保留特殊寄存器陣列輸出循環(huán)次數(shù)信號(cnt),程序入口地址信號(entry),二維并行存儲器水平起始地址信號(start_x),二維并行存儲器垂直起始地址信號(starty),二維并行存儲器地址增量信號(step_d2m),8位一維并行存儲器起始地址信號(start_d1m),8位一維并行存儲器地址增量信號(step_d1m),9位一維并行存儲器起始地址信號(start_dm9),運動矢量信號(MV)。輸入信號包括運行結(jié)束信號(done),樹累加器輸出信號(宏塊匹配誤差信號sad0,第一個塊匹配誤差信號sad1,第二個塊匹配誤差信號sad2,宏塊最優(yōu)運動矢量信號opMV0,第一個塊最優(yōu)運動矢量信號opMV1,第二個塊最優(yōu)運動矢量信號opMV2,宏塊最小匹配誤差信號min0,第一個塊最小匹配誤差信號mini,第二個塊最小匹配誤差信號min2)。表11特殊寄存器及其功能<tablesid="table8"num="013"><table>特殊寄存器功能g0循環(huán)次數(shù)寄存器,輸出循環(huán)次數(shù)信號(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低層指令單元狀態(tài)寄存器,鎖存低層指令單元輸出運行結(jié)束(done)g17并行運算單元結(jié)果寄存器0,鎖存樹累加器輸出宏塊匹配誤差信號sad0g18并行運算單元結(jié)果寄存器1,鎖存樹累加器輸出第一個塊匹配誤差信號sad1g19并行運算單元結(jié)果寄存器2,鎖存樹累加器輸出第二個塊匹配誤差信號sad2g20并行運算單元結(jié)果寄存器3,鎖存樹累加器輸出宏塊最優(yōu)運動矢量信號opMV0g21并行運算單元結(jié)果寄存器4,鎖存樹累加器輸出第一個塊最優(yōu)運動矢量信號opMV1</table></tables>(六)外部存儲器接口單元本發(fā)明的外部存儲器接口單元(圖3)。連接關(guān)系如下。高層指令單元和外部存儲器接口單元通過控制信號相連。數(shù)據(jù)尋徑單元和外部存儲器接口單元通過數(shù)據(jù)總線相連。工作過程如下。高層指令單元發(fā)出控制信號給外部存儲器接口單元,外部存儲器接口單元從外部存儲器讀入數(shù)據(jù)輸出到數(shù)據(jù)尋徑電路。本實施例N取16。具體來說。二維并行存儲器包括地址映射模塊,16路比較器,優(yōu)先級編碼器,16路選擇器,16個數(shù)據(jù)存儲器以及循環(huán)移位器。8位一維并行存儲器由16個8位存儲器模塊組成。9位一維并行存儲器由16個9位存儲器模塊組成。并行算術(shù)邏輯運算模塊包含16個9位處理器,9位處理器組織成單指令多數(shù)據(jù)流結(jié)構(gòu)。本實施例結(jié)構(gòu)用VerilogHDL加以實現(xiàn),并用VerilogXL仿真工具完成了功能驗證,然后用Synopsys的Designcompiler綜合工具進行綜合,采用0.25um的工藝庫下,總門數(shù)包括28K邏輯門和40kb的片內(nèi)靜態(tài)存儲器(SRAM)。在PVSP上實現(xiàn)了多種塊匹配算法,包括基于螺旋形掃描的全搜索算法,三步法,最臨近搜索算法等,以及運動補償,半像素搜索算法。權(quán)利要求1.一種用于運動估計算法的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,包括低層指令單元,并行運算單元,數(shù)據(jù)尋徑單元,存儲器及地址生成單元,高層指令單元,以及外部存儲器接口單元六個部分;其中,所說的高層指令單元與低層指令單元通過控制信號線相連;所說的低層指令單元與并行運算單元通過數(shù)據(jù)和控制信號線相連;所說的并行運算單元與數(shù)據(jù)尋徑單元通過3路數(shù)據(jù)總線相連;所說的數(shù)據(jù)尋徑單元與存儲及地址生成單元通過6路數(shù)據(jù)總線相連;所說的高層指令單元的起始命令信號和運行命令信號通過數(shù)據(jù)尋徑單元與存儲及地址生成單元相連接;所說的數(shù)據(jù)尋徑單元與外部存儲器接口單元通過數(shù)據(jù)總線相連;所說的高層指令單元和外部存儲器接口單元通過控制信號相連。2.如權(quán)利要求1所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的低層指令單元包括程序地址寄存器,低層指令存儲器和低層指令譯碼模塊,選擇器,循環(huán)次數(shù)寄存器,減法器其中,高層指令單元輸出的程序入口地址信號entry與所說的程序地址寄存器相連,高層指令單元輸出設(shè)置程序入口地址信號set_entry與該程序地址寄存器的使能端相連;該程序地址寄存器與低層指令存儲器相連;該低層指令存儲器與低層指令譯碼模塊相連;高層指令單元輸出的循環(huán)次數(shù)信號cnt與該選擇器的上輸入端相連,該減法器輸出與選擇器下輸入端相連;高層指令單元輸出設(shè)置循環(huán)次數(shù)信號set_cnt與該選擇器的選擇端相連;該選擇器輸出端與循環(huán)次數(shù)寄存器相連;該循環(huán)次數(shù)寄存器輸出端與減法器上輸入端相連;該循環(huán)次數(shù)寄存器信號1和減法器下輸入端相連;該減法器的進位輸出端和運行結(jié)束信號done相連;所說的低層指令單元的的運行由低層指令集中的低層指令所控制。3.如權(quán)利要求2所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的低層指令集低層指令長度為16位,從高位至低位排列,類型碼域4位,源操作數(shù)1和源操作數(shù)2各占3位,目的操作數(shù)占2位;移位立即數(shù)占4位;#imm表示立即數(shù)(1)類型碼域0,指令PNOP,PNOP,空操作,空操作;(2)類型碼域1,指令PADD,PADDdst,sro1,src2,#imm,并行加法,Dst=(sro1+src2)>>#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,并行數(shù)據(jù)搬移,Dst=src;(6)類型碼域5,指令PSAD,PSADsrc1,src2,并行減法絕對值,Abs(src1-src2);類型碼域6-15,保留。4.如權(quán)利要求1所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的并行運算單元由并行算術(shù)邏輯運算部件和樹累加器組成,該并行算術(shù)運算邏輯模塊的輸出端和樹累加器的輸入端相連。5.如權(quán)利要求4所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的并行算術(shù)邏輯運算模塊包括N個9位處理器,該9位處理器組成單指令多數(shù)據(jù)流結(jié)構(gòu)。6.如權(quán)利要求4所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的樹累加器模塊包括包含兩個8輸入樹狀加法器,一個11位加法器,三個累加器(ACC0,ACC1,ACC2)和三個最小值部件(MIN0,MIN1,MIN2);其連接關(guān)系如下左邊8輸入樹狀加法器的輸出和11位加法器以及累加器ACC1相連;右邊8輸入樹狀加法器的輸出與11位加法器以及累加器ACC2相連;11位加法器輸出與累加器ACC0相連;累加器ACC0,ACC1,ACC2分別與最小值部件MIN0,MIN1,MIN2相連;累加器ACC0與宏塊匹配誤差信號sad0相連;累加器ACC1與第一個塊匹配誤差信號sad1相連;累加器ACC2與第二個塊匹配誤差信號sad2相連;最小值部件MIN0輸出端與宏塊最小匹配誤差信號min0以及宏塊最優(yōu)運動矢量信號opMV0相連,最小值部件MIN1輸出端與第一個塊匹配誤差信號min1以及第一個塊最優(yōu)運動矢量信號opMV1相連,最小值部件MIN2輸出端與第二個塊最小匹配誤差信號min2以及第二個塊最優(yōu)運動矢量信號opMV2相連;最小值部件MIN0輸入端與宏塊匹配誤差信號sad0、運行結(jié)束信號done以及運動矢量信號MV相連,最小值部件MIN1輸入端與第一個塊匹配誤差信號sad1、運行結(jié)束信號done以及運動矢量信號MV相連,最小值部件MIN2輸入端與第二個塊匹配誤差信號sad2、運行結(jié)束信號done以及運動矢量信號MV相連。7.如權(quán)利要求6所述的所說的8輸入樹狀加法器包括4個8位加法器,2個9位加法器以及一個10位加法器其中,第一、二個8位加法器輸出和第一個9位加法器相連,第三、四個加法器和第二個9位加法器相連,該兩個9位加法器輸出和所說的10位加法器的輸入相連。8.如權(quán)利要求6所述的所說的最小值部件MIN0包括16位減法器,與門,16位寄存器和12位寄存器;其連接關(guān)系為16位減法器左輸入與16位寄存器輸出相連,16位減法器右輸入與外部輸入宏塊匹配誤差信號sad0相連,16位減法器的進位信號和與門的上輸入端相連;外部輸入宏塊匹配誤差信號sad0與16位寄存器輸入相連,16位寄存器輸出與宏塊最小匹配誤差值min0相連;與門的上輸入端與16位減法器的進位相連,與門下輸入端與外部輸入運行結(jié)束信號done相連;12位寄存器輸入與外部運動矢量信號MV相連,12位寄存器與16位寄存器的使能信號和與門的輸出相連。9.如權(quán)利要求6所述的所說的最小值部件MIN1包括16位減法器,與門,16位寄存器和12位寄存器其連接關(guān)系為16位減法器左輸入與16位寄存器輸出相連,16位減法器右輸入與外部輸入宏塊匹配誤差信號sad1相連,16位減法器的進位信號和與門的上輸入端相連;16位寄存器輸出與宏塊最小匹配誤差值min1相連;與門下輸入端與外部輸入運行結(jié)束信號done相連;12位寄存器輸入與外部運動矢量信號MV相連,12位寄存器與16位寄存器的使能信號和與門的輸出相連。10.如權(quán)利要求6所述的所說的最小值部件MIN2包括16位減法器,與門,16位寄存器和12位寄存器。其連接關(guān)系為16位減法器左輸入與16位寄存器輸出相連,16位減法器右輸入與外部輸入宏塊匹配誤差信號sad2相連,16位減法器的進位信號和與門的上輸入端相連;外部輸入宏塊匹配誤差信號sad1與16位寄存器輸入相連,16位寄存器輸出與宏塊最小匹配誤差值min2相連;與門的上輸入端與16位減法器的進位相連,與門下輸入端與外部輸入運行結(jié)束信號done相連;12位寄存器輸入與外部運動矢量信號MV相連,12位寄存器與16位寄存器的使能信號和與門的輸出相連。11.如權(quán)利要求1所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的存儲及地址生成單元由二維并行存儲器及與其通過地址總線相連的二維并行存儲器的地址生成模塊,8位一維并行存儲器及與其通過地址總線相連的8位一維并行存儲器的地址生成模塊,9位一維并行存儲器及與其通過地址總線相連的9位一維并行存儲器地址的生成模塊構(gòu)成。12.如權(quán)利要求11所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的二維并行存儲器包括地址映射模塊,N路比較器,優(yōu)先級編碼器,N路二選一選擇器,N個數(shù)據(jù)存儲器,以及循環(huán)移位器,其中,所說的地址映射模塊輸出端分別與N路比較器的輸入端相連;該N路比較器輸出端與優(yōu)先級編碼器的輸入相連;該優(yōu)先級編碼器的輸出分別與N路選擇器的選擇信號端S0、S1、…SN-1相連;該N路選擇器的數(shù)據(jù)端與地址映射模塊相連;N路選擇器的輸出端分別與N個數(shù)據(jù)存儲器相連;該N路數(shù)據(jù)存儲器輸出端均與循環(huán)移位器相連。13.如權(quán)利要求12所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的地址映射模塊的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.如權(quán)利要求12所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的優(yōu)先級編碼器的實施例由與或邏輯電路組成,該優(yōu)先級編碼器邏輯如下其中j=min{j|tj=1,j=0,1…N-1}。循環(huán)移位器將第b0個數(shù)據(jù)存儲器的數(shù)據(jù)左移到最高位。15.如權(quán)利要求11所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的8位一維并行存儲器由N個8位存儲器模塊組成;其中,外部輸入8位一維并行存儲器的地址信號addr_d1m和N個8位存儲器的地址輸入端相連,N個8位存儲器輸出8N位數(shù)據(jù)和外部相連。16.如權(quán)利要求11所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的9位一維并行存儲器的實施例由N個9位存儲器模塊組成。其連接關(guān)系為外部輸入9位一維并行存儲器的地址信號addr_dm9和N個9位存儲器的地址輸入端相連,N個9位存儲器輸出9N位數(shù)據(jù)和外部相連。17.如權(quán)利要求11所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的二維并行存儲器的地址生成模塊由加法器0、1,選擇器0、1、2、3,寄存器0、1組成;其連接關(guān)系為選擇器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.如權(quán)利要求11所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的8位一維并行存儲器的地址生成模塊由兩個選擇器、一個加法器和一個寄存器所組成,其連接關(guān)系為選擇器0左輸入端與寄存器0輸出相連,選擇器0右輸入端和信號start_d1m相連,選擇器1左輸入端和信號step_d1m相連,選擇器1右輸入端和信號0相連;選擇器0和選擇器1的輸出分別與加法器0的兩個輸入端相連;寄存器0通過8位一維并行存儲器的地址信號addr_d1m和外部相連。19.如權(quán)利要求11所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的上述9位一維并行存儲器地址的生成模塊由兩個選擇器、一個加法器和一個寄存器所組成,其連接關(guān)系為選擇器0左輸入端與寄存器0輸出相連,選擇器0右輸入端和信號start_dm9相連。選擇器1左輸入端和信號step_dm9相連,選擇器1右輸入端和信號0相連;選擇器0和選擇器1的輸出分別與加法器0的兩個輸入端相連;寄存器0通過9位一維并行存儲器的地址信號addr_dm9和外部相連。20.如權(quán)利要求1所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的數(shù)據(jù)尋徑單元由選擇器組成。21.如權(quán)利要求1所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的高層指令單元由一個16位精簡指令集處理器和32個特殊寄存器陣列所組成,其中,該16位精簡指令處理器和外部通過設(shè)置程序入口地址信號set_entry及設(shè)置循環(huán)次數(shù)寄存器信號set_cnt相連,16位精簡指令處理器和特殊寄存器陣列通過控制信號相連;所說的高層指令單元由高層指令集中的指令控制。22.如權(quán)利要求21所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的16位精簡指令集處理器結(jié)構(gòu)取指部件,譯碼部件,執(zhí)行部件和寄存器陣列。其連接關(guān)系為取指部件與指令譯碼部件之間通過轉(zhuǎn)移地址ba,指令信號d_ir,轉(zhuǎn)移控制信號next信號相連;指令譯碼部件與指令執(zhí)行部件之間通過操作碼d_op,執(zhí)行控制信號exec,第~源操作數(shù)d_src1,第二源操作數(shù)d_src2以及狀態(tài)信號eflags相連;指令執(zhí)行部件與寄存器陣列之間通過寫寄存器信號we,結(jié)果信號e_res相連;指令譯碼部件與寄存器陣列通過第一源操作數(shù)地址d_a1,第二源操作數(shù)地址d_a2。以及寄存器陣列輸出信號d-r1和d_r2相連。23.如權(quán)利要求22所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的取指部件包括加法器,當前地址寄存器,選擇器,高層指令存儲器,指令寄存器其中,所說的加法器上輸入端與信號1相連,下輸入端與當前地址寄存器的輸出相連;加法器輸出與當前地址寄存器的輸入相連;選擇器的上輸入端與通過轉(zhuǎn)移地址ba相連,選擇器的下輸入端與當前地址寄存器的輸出相連,選擇器的選擇端與轉(zhuǎn)移控制信號next相連,選擇器的輸出端與高層指令存儲器的地址輸入端相連;高層指令存儲器的輸出與指令寄存器輸入端相連。指令寄存器的輸出端通過指令信號d_ir與外部指令譯碼部件相連。24.如權(quán)利要求22所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的指令譯碼部件由與或邏輯電路組成;指令譯碼部件和取指部件之間通過轉(zhuǎn)移地址ba,指令信號d_ir,轉(zhuǎn)移控制信號next信號相連;指令譯碼部件和指令執(zhí)行部件之間通過操作碼d_op,執(zhí)行控制信號exec,第一源操作數(shù)d_src1,第二源操作數(shù)d_src2以及狀態(tài)信號eflags相連;指令譯碼部件和寄存器陣列通過第一源操作數(shù)地址d_a1,第二源操作數(shù)地址d_a2,以及寄存器陣列輸出信號d_r1和d_r2相連。25.如權(quán)利要求22所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的指令執(zhí)行部件包括寄存器1,寄存器2,寄存器3,寄存器4,狀態(tài)寄存器以及算術(shù)邏輯運算部件ALU;其連接關(guān)系為第一源操作數(shù)d_src1,第二源操作數(shù)d_src2,操作碼d_op,執(zhí)行控制信號exec分別與寄存器1,寄存器2,寄存器3和寄存器4的輸入相連;寄存器1,寄存器2和寄存器3的輸出和算術(shù)邏輯運算部件相連;算術(shù)邏輯運算部件與狀態(tài)寄存器通過進位carry,零信號zero,溢出ovflow和d_src1的最低位d_src1相連;寄存器4輸出we和外部相連;狀態(tài)寄存器輸出eflags和外部相連;不同的操作類型信號e_op下,算術(shù)邏輯單元的操作定義如下(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&e_src2(6)操作類型5,異或,e_r=e_src1~e_src2(7)操作類型6,移位,當e_src2[4]=1,e_r=e_src1>>e_src2;當e_src2[4]0,e_r=e_src1<<e_src2(8)操作類型7,取反,e_r=~e_src226.如權(quán)利要求22所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的寄存器陣列由32個通用寄存器組成;該寄存器陣列和指令執(zhí)行部件之間通過寫寄存器信號we,結(jié)果信號e_res相連;寄存器陣列和指令譯碼部件通過第一源操作數(shù)地址d_a1,第二源操作數(shù)地址d_a2,以及寄存器陣列輸出信號d_r1和d_r2相連;指令譯碼部件輸出d_a1經(jīng)過寄存器輸出e_a和寄存器陣列相連。27.如權(quán)利要求21所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的高層指令集的指令有4種類型空指令,賦值指令,轉(zhuǎn)移指令和算術(shù)邏輯運算指令;指令的15和14位表明指令類型;這4種類型分別編碼為00,01,10,11。28.如權(quán)利要求27所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的空指令為一個16位的指令,從第0位到第15,其值都為0。29.如權(quán)利要求27所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的賦值指令分為三種,第一種賦值指令的子類型域有4位;目的地址寄存器有5位。源地址寄存器有5位。第二種賦值指令的子類型域有4位;目的地址寄存器有5位;立即數(shù)域為5位;第三種賦值指令的子類型域有4位;目的地址寄存器有5位最低5位為0;賦值指令如下(每條指令的位從高位至排列)子域類型1,指令Lmovrr,#imm,通用寄存器賦值,源操作數(shù)#imm為長立即數(shù),雙指令周期,目的地址為通用寄存器r;(1)子域類型2,指令Lmovgg,#imm,專用寄存器賦值,源操作數(shù)為長立即數(shù),雙指令周期,目的地址為專用寄存器g;(2)子域類型3,指令Movgg,r,專用寄存器賦值,源操作數(shù)為通用寄存器r,目的地址為專用寄存器g;(3)子域類型4,指令Movrr,g,通用寄存器賦值,源操作數(shù)為專用寄存器g,目的地址為通用寄存器r;(4)子域類型5,指令I(lǐng)movrr,#imm,通用寄存器賦值,源操作數(shù)為短立即數(shù),目的地址為通用寄存器r;(5)子域類型6,指令I(lǐng)movgg,#imm,專用寄存器賦值,源操作數(shù)為短立即數(shù),目的地址為專用寄存器g;(6)子域類型7,指令Movpcr,通用寄存器賦值,源操作數(shù)為程序計數(shù)器,目的地址為通用寄存器r。30.如權(quán)利要求27所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的轉(zhuǎn)移指令有2種格式,第一種格式子類型域有4位;條件域有5位;目的地址寄存器有5位。第二種格式子類型域有2位,立即數(shù)地址域有12位;轉(zhuǎn)移指令如下(每條指令的位從高位至排列)(1)子類型域0,條件碼00010,指令Bcr,進位條件跳轉(zhuǎn);(2)子類型域;0,條件碼00011,指令Bncr,無進位條件跳轉(zhuǎn);(3)子類型域0,條件碼00100,指令Bzr,零條件跳轉(zhuǎn);(4)子類型域0,條件碼00101,指令Bnzr,非零條件跳轉(zhuǎn);(5)子類型域0,條件碼01000,指令Bv,溢出條件跳轉(zhuǎn);(6)子類型域;0,條件碼01001,指令bnvr,無溢出條件跳轉(zhuǎn);(7)子類型域0,條件碼10000,指令Blr,最低位1條件跳轉(zhuǎn);(8)子類型域0,條件碼10001,指令Bnlr,最低位0條件跳轉(zhuǎn);(9)子類型域1,條件碼00000,指令Jmprr,無條件跳轉(zhuǎn);(10)子類型域2,條件碼00000,指令Cailrr,間接過程調(diào)用;(11)子類型域3,條件碼00000,指令Ret,過程返回;(12)子類型域4-7,條件碼保留,指令保留;(13)子類型域8,條件碼00000,指令Call#imm,直接過程調(diào)用;(14)子類型域9-11,條件碼保留,指令保留;(15)子類型域12,條件碼00000,指令Jmp#imm,直接無條件跳轉(zhuǎn);(16)子類型域13-15,條件碼保留,指令保留。31.如權(quán)利要求27所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的算術(shù)邏輯運算指令有2種格式,第一種格式中指令類型域有4位;目的/第一源操作寄存器有5位;第二源操作寄存器有5位;第二種格式中指令類型域有4位;目的/第一源操作寄存器有5位;立即數(shù)為5位;算術(shù)邏輯指令如下(每條指令的位從高位至排列)(1)子類型0,指令Movrd,rs,功能rd=rs(2)子類型1,指令A(yù)ddrd,rs,功能Rd=rd+rs(3)子類型2,指令Subrd,rs,功能Rd=rd-rS(4)子類型3,指令Orrd,rs,功能Rd=rd|rs(5)子類型4,指令A(yù)ndrd,rs,功能Rd=rd&rs(6)子類型5,指令Xorrd,rs,功能Rd=rd~rs(7)子類型6,指令I(lǐng)shrrd,rs,功能rd=rd>>rs(8)子類型6,指令I(lǐng)shlrd,rs,功能Rd=rd<<rs(9)子類型7,指令Notrd,rs,功能Rd=~rs(10)子類型8,保留(11)子類型9,指令I(lǐng)addrd,#imm,功能Rd=rd+#imm(12)子類型10,指令I(lǐng)subrd,#imm,功能Rd=rd-#imm(13)子類型11,指令I(lǐng)orrd,#imm,功能Rd=rd|#imm(14)子類型12,指令I(lǐng)andrd,#imm,功能Rd=rd&#imm(15)子類型13,指令I(lǐng)xorrd,#imm,功能Rd=rd~#imm(16)子類型14,指令I(lǐng)shrrd,#imm,功能rd=rd>>#imm(17)子類型14,指令I(lǐng)shlrd,#imm,功能Rd=rd<<#imm(18)子類型15,指令I(lǐng)notrd,#imm,功能Rd=~#imm32.如權(quán)利要求21所述的分層可編程并行視頻信號處理器結(jié)構(gòu),其特征在于,所說的特殊寄存器陣列由32個16位寄存器組成各寄存器定義如下(1)特殊寄存器g0,循環(huán)次數(shù)寄存器,輸出循環(huán)次數(shù)信號(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,低層指令單元狀態(tài)寄存器,鎖存低層指令單元輸出運行結(jié);(13)特殊寄存器g17,并行運算單元結(jié)果寄存器0,鎖存樹累加器輸出宏塊匹配誤差信號sad0;(14)特殊寄存器g18,并行運算單元結(jié)果寄存器1,鎖存樹累加器輸出第一個塊匹配誤差信號sad1;(15)特殊寄存器g19,并行運算單元結(jié)果寄存器2,鎖存樹累加器輸出第二個塊匹配誤差信號sad2;(16)特殊寄存器g20,并行運算單元結(jié)果寄存器3,鎖存樹累加器輸出宏塊最優(yōu)運動矢量信號opMV0;(17)特殊寄存器g21,并行運算單元結(jié)果寄存器4,鎖存樹累加器輸出第一個塊最優(yōu)運動矢量信號opMV1;(18)特殊寄存器g22,并行運算單元結(jié)果寄存器5,鎖存樹累加器輸出第二個塊最優(yōu)運動矢量信號opMV2;(19)特殊寄存器g23,并行運算單元結(jié)果寄存器6,鎖存樹累加器輸出宏塊最小匹配誤差信號min0;(20)特殊寄存器g24,并行運算單元結(jié)果寄存器7,鎖存樹累加器輸出第一個塊最小匹配誤差信號min1;(21)特殊寄存器g25,并行運算單元結(jié)果寄存器8,鎖存樹累加器輸出第二個塊最小匹配誤差信號min2;(22)特殊寄存器g26-g31,保留;全文摘要本發(fā)明屬于視頻圖像編碼領(lǐng)域,包括低層指令單元,并行運算單元,數(shù)據(jù)尋徑單元,存儲器及地址生成單元,高層指令單元,以及外部存儲器接口單元六個部分;其中,低層指令單元通過控制信號線分別與高層指令單元及并行運算單元相連;數(shù)據(jù)尋徑單元通過數(shù)據(jù)總線分別與并行運算單元與存儲及地址生成單元相連。本發(fā)明在一個結(jié)構(gòu)上可同時實現(xiàn)多種塊匹配算法,并可降低視頻編碼系統(tǒng)的硬件開銷,還能支持視頻編碼的其它算法。文檔編號G06T9/40GK1289212SQ0013007公開日2001年3月28日申請日期2000年10月27日優(yōu)先權(quán)日2000年10月27日發(fā)明者何蕓,龔大年申請人:清華大學(xué)