專利名稱:基于混合視頻編碼方法的可編程視頻信號處理器結構的制作方法
技術領域:
本發明屬于視頻圖像編碼領域,特別涉及混合編碼方法,視頻信號處理器設計。
已有可編程視頻信號處理器有Phillips公司的Trimedia處理器,TI公司的C6x處理器,Equator公司的MAP-CA處理器。這些處理器結構都是基于超長指令字(Very LongInstruction Word,VLIW)結構。
圖1給出了VLIW結構的框圖。功能單元(Functional Unit,FU)一般為異構,個數為5-27。多端口寄存器陣列為多個FU所共享,端口數為8-20。互連網絡一般為具有高數據吞吐率的交叉互連網絡。FU的數據交換通過多端口寄存器陣列和互連網絡實現。指令部件將長指令分解成短指令并完成短指令字的譯碼,控制各FU的執行。
VLIW結構的優點是具有強大的可編程性,不僅能夠用于視頻壓縮編碼算法,還能用于音頻壓縮編碼等場合。VLIW結構的強大可編程性是通過兩方面獲得的,一方面是引入了位數眾多的功能單元以及龐大的多端口寄存器陣列(Register File,RF),另一方面采用智能化編譯器在編譯階段檢測相關性,將短指令壓縮成長指令,因此VLIW處理器性能很大程度上取決于編譯器的好壞。
視頻壓縮算法具有多種類型和層次的并行性。從類型上看,可以分為數據并行性和控制并行性,控制并行性使得兩個或多個操作同時進行,數據并行性使得多個數據能同時進行同一種操作;從層次上看,可以分為細粒度并行和粗粒度并行,細粒度并行是指象素級或指令級的并行,粗粒度是指宏塊級或任務級的并行。因此視頻壓縮算法具有四種并行性細粒度數據并行性,細粒度控制并行性,粗粒度數據并行性,粗粒度控制并行性。
VLIW結構主要通過編譯器在指令級上開發視頻壓縮算法的并行性,在細粒度控制并行性的利用上具有較大的優勢,但是已有VLIW結構不是專門為視頻壓縮算法設計的,因此沒有充分考慮到視頻壓縮算法其他類型的并行性,尚未從結構和編譯器的設計上進行充分優化。
VLIW結構為了實現其通用性,在可編程性方面通過高級語言,如C語言,來獲得高度可編程能力。由于視頻編碼算法中包含了不同靈活性的算法任務,因此客觀上要求必須采用不同的可編程策略來實現不同層次靈活性的算法。而采用同一種可編程策略來實現不同層次靈活性算法勢必犧牲某個層次上算法的實現效率。
本發明的目的是為克服已有技術的不足之處,基于并行性和可編程性方面的設計策略,本發明提出了一種基于混合編碼方法的可編程視頻信號處理器結構(Programmablevideo signal processor,PVSP)。在PVSP中集成了以高并行性能為特點的硬件結構和以高可編程性能為特點的RISC處理器結構。
提出的一種基于混合視頻編碼方法的可編程視頻信號處理器結構,其特征在于,包括低層指令單元,并行運算單元,數據尋徑單元,存儲器及地址生成單元,高層指令單元,以及外部存儲器接口單元六個部分;各部分連接關系為高層指令單元與低層指令單元通過控制信號線相連;該低層指令單元與并行運算單元通過數據和控制信號線相連;該并行運算單元與數據尋徑單元通過6路數據總線相連;該數據尋徑單元與存儲及地址生成單元通過11路數據總線相連;所說的高層指令單元與存儲及地址生成單元通過起始命令信號和運行命令信號相連;所說的數據尋徑單元與外部存儲器接口單元通過數據總線相連;該高層指令單元和外部存儲器接口單元通過控制信號相連。
本發明的設計原理為其一是充分利用了視頻壓縮算法不同層次和類型的并行性。并行性主要體現在如下方面1.采用SIMD結構充分開發視頻壓縮算法的細粒度數據并行性;2.在SIMD結構內部的每個處理器單元中采用流水線結構,開發視頻壓縮算法的細粒度控制并行性;3.針對混合視頻編碼算法不同特點的算法任務(例如運動估計和離散余弦變換)分別設計硬件結構,充分利用視頻壓縮算法的粗粒度控制并行性。
其二是針對基于混合編碼的視頻壓縮算法,提出了分層可編程結構。分層可編程結構的思想表現在1.視頻編解碼算法主要包含運算量大、可并行部分算法(例如離散余弦變換,運動估計的塊匹配運算),這部分算法具有大量的循環結構,循環體內部的操作數很少,而且相關性小,無判斷轉移操作,適合采用微編程方法,通過更改硬件控制單元的邏輯,由控制單元對硬件其它部分重新設置,例如修改運算單元的操作類型以及存儲器的尋址方式等。
2.視頻編解碼算法還包含靈活性大、控制性較強的部分(例如快速運動估計算法的搜索策略部分),這部分算法具有較多的判斷轉移,并行性弱,適合在可編程的RISC處理器核上用軟件編程的方法實現。
本發明的主要特點1)并行結構采用了低延遲特性規整的樹累加結構,包括多輸入樹狀加法器和累加器,硬件復雜度大大小于已有的基于陣列處理器的運動估計可編程結構,由于采用了低延遲特性規整的樹狀加法器結構,使得多輸入數的加法能高速完成,在樹狀加法器中無需流水線段寄存器,使得樹狀加法器的效率充分發揮,同時這種樹累加器結構能支持16×16,16×8以及8×8多種塊匹配運算,具有較大的靈活性。
2)可合成并行ALU(PALU)結構。并行算術運算單元PALU可以通過編程設置為16個9位或者8個16位算術運算,既能支持以8位或9位算術運算為主的A類算法,又能支持DCT/IDCT算法的16位蝶形運算。通過運算單元復用,節省了硬件開銷。
3)并行乘累加結構(PMAC)包括8個16位乘累加部件(MAC)。MAC能夠有效支持DCT/IDCT,量化和反量化算法任務。在MAC設計中引入了特殊的結構,MAC內的加法器能夠根據乘法結果決定進行加法還是減法運算,這種處理大大提高了反量化處理速度,使得反量化所需要的3個操作在1條指令周期完成。
4)二維并行存儲器結構采用了字節對準和循環尋址的二維并行存儲器。輸入為水平和垂直地址,輸出一行16個數據。
5)PVSP包含高層指令單元和低層指令單元,高層指令單元控制完成運動估計算法中轉移分支較多,需要進行判斷的部分,高層指令單元包括一個16位精簡指令處理器(RISC)。低層程序控制完成循環運算為主的塊匹配運算。低層指令單元和高層指令單元均采用16位指令格式,但是采用不同的指令編碼方法。
6)PVSP能夠同時支持多種快速運動估計算法,同時PVSP內部的可編程并行運算單元能夠支持半像素運動搜索、運動補償、離散余弦正反變換、量化、反量化算法,可以完成混合編碼算法的主要運算。
附圖簡要說明圖1為已有的VLIW結構的框圖。
圖2為本發明的可編程視頻信號處理器總體結構示意圖。
圖3為本發明的低層指令單元結構示意圖。
圖4為本發明的并行乘累加模塊中處理器的結構示意圖。
圖5為本發明的并行算術邏輯運算模塊中16位可合成處理器的結構示意圖。
圖6為本發明的樹累加器實施例結構示意圖。
圖7為本發明的8輸入樹狀加法器實施例結構示意圖。
圖8為本發明的最小值部件MIN0實施例結構示意圖。
圖9為本發明的最小值部件MIN1實施例結構示意圖。
圖10為本發明的最小值部件MIN2實施例結構示意圖。
圖11為本發明的二維并行存儲器實施例結構示意圖。
圖12為本發明的二維并行存儲器的地址映射模塊實施例結構示意圖。
圖13為本發明的二維并行存儲器的地址生成模塊ADG0實施例結構示意圖。
圖14為本發明的8位一維并行存儲器的地址生成模塊ADG1實施例結構示意圖。
圖15為本發明的9位/16位一維并行存儲器地址的生成模塊ADG2實施例結構示意圖。
圖16為本發明的16位精簡指令處理器實施例結構示意圖。
圖17為本發明的取指部件實施例結構示意圖。
圖18為本發明的指令執行部件實施例結構示意圖。
本發明設計的一種可編程視頻信號處理器(PVSP)結構實施例結合各附圖詳細說明如下本發明PVSP總體結構如圖2所示。包括六個部分低層指令單元,并行運算單元,數據尋徑單元,存儲器及地址生成單元,高層指令單元,以及外部存儲器接口單元。各部分連接關系如下。高層指令單元與低層指令單元通過控制信號線相連;低層指令單元與并行運算單元通過數據和控制信號線相連;并行運算單元與數據尋徑單元通過6路數據總線相連;數據尋徑單元與存儲及地址生成單元通過11路數據總線相連;高層指令單元與存儲及地址生成單元通過起始命令信號和運行命令信號相連;數據尋徑單元與外部存儲器接口單元通過數據總線相連;高層指令單元和外部存儲器接口單元通過控制信號相連。
本發明的工作過程如下。高層指令單元發控制信號給低層指令單元,低層指令單元開始執行低層程序,由低層指令譯碼單元發出控制信號給并行運算單元,數據尋徑單元,存儲及地址生成單元,數據尋徑單元從存儲及地址生成單元輸出的11路信號中選擇6路,輸出到并行運算單元中,并行運算單元的運算結果通過數據尋徑單元輸出到存儲及地址生成單元中。高層指令單元通過數據總線從并行運算單元讀取運算結果。高層指令單元通過控制總線從低層指令單元讀取執行狀態。高層指令單元發出控制信號給外部存儲器接口單元,外部存儲器接口單元從外部存儲器讀入數據輸出到數據尋徑電路。數據尋徑電路將外部存儲器接口單元輸出的數據連接到存儲及地址生成單元。
上述各單元的具體結構實施例結合附圖分別說明如下本發明的低層指令單元的結構實施例如圖3所示。包括程序地址寄存器,低層指令存儲器和低層指令譯碼模塊,選擇器,循環次數寄存器,減法器;其連接關系如下高層指令單元輸出的程序入口地址信號entry與程序地址寄存器相連,高層指令單元輸出設置程序入口地址信號set_entry與程序地址寄存器的使能端相連;程序地址寄存器與低層指令存儲器相連;低層指令存儲器與低層指令譯碼模塊相連;高層指令單元輸出的循環次數信號cnt與選擇器的上輸入端相連,減法器輸出與選擇器下輸入端相連。高層指令單元輸出設置循環次數信號set_cnt與選擇器的選擇端相連。選擇器輸出端與循環次數寄存器相連。循環次數寄存器輸出端與減法器上輸入端相連。循環次數寄存器信號1和減法器下輸入端相連。減法器的進位輸出端和運行結束信號done相連。
所說的低層譯碼模塊由與或邏輯電路組成。低層譯碼模塊輸出端與起始命令信號和運行命令信號相連。
低層指令單元的工作過程如下當高層指令單元發出設置循環次數寄存器的命令信號時,選擇器選擇外部輸入循環次數信號cnt輸出到循環次數寄存器鎖存。然后寄存器輸出到減法器作減一運算。當減法器輸出為0時,發出運行結束信號done。當高層指令單元發出設置程序地址寄存器的命令信號時,外部輸入程序入口地址信號entry輸出到程序地址寄存器鎖存。
本發明的并行運算單元實施例由并行算術邏輯運算模塊PALU、并行乘累加模塊PMAC和樹累加器組成,如圖2所示。該并行算術運算邏輯模塊的輸出和樹累加器的輸入相連。其工作過程為由低層指令譯碼單元發出控制信號給并行運算單元,數據尋徑單元輸出2路數據到并行算術運算模塊中,并行算術運算邏輯模塊的運算結果輸出給數據尋徑單元。高層指令單元通過數據總線從并行運算單元讀取運算結果。
并行乘累加模塊的實施例包含8個16位處理器,每個處理器的結構如圖4所示。乘法器輸出端與寄存器相連,寄存器輸出與加法器的左輸入端相連,加法器輸出與累加寄存器輸入相連,累加寄存器輸出與輸出調整電路的輸入相連,輸出調整電路由與或邏輯組成,輸出5路信號與選擇器相連,選擇器的選擇信號sel選擇其中一路輸出,與加法器的右輸入端相連。加法器輸出與移位器輸入相連,移位器在外部輸入移位數信號sht的控制下輸出移位后的結果給寄存器2,寄存器2輸出結果信號c。
并行算術邏輯運算模塊的實施例包含16個9位處理器,9位處理器組織成單指令多數據流結構。相鄰的兩個9位處理器可以合成為一個16位處理器。可合成16位處理器的結構如圖5所示。外輸入信號x[17∶9]與加法器0左輸入端相連,y[17∶9]與選擇器0的左輸入相連,y[17∶9]取反后與選擇器0的右輸入端相連,選擇器0的輸出與加法器0的右輸入端相連。加法器0的輸出分別與飽和電路0,絕對值電路0,字節移位電路0,字移位電路的高端相連。飽和電路0輸出端,絕對值電路0輸出端,字節移位電路0輸出端,字移位電路的高輸出端分別與選擇器2輸入端相連。選擇器2在外部控制信號pmov,adds,abs8,add9,add16,sub16的控制下選擇1路輸出結果信號z[17∶9]。外輸入信號x[8∶0]與加法器1左輸入端相連,y[8∶0]與選擇器0的左輸入相連,y[8∶0]取反后與選擇器1的右輸入端相連,選擇器1的輸出與加法器1的右輸入端相連。加法器1的輸出分別與飽和電路1,絕對值電路1,字節移位電路1,字移位電路的低端相連。飽和電路1輸出端,絕對值電路1輸出端,字節移位電路1輸出端,字移位電路的低輸出端分別與選擇器3輸入端相連。選擇器3在外部控制信號pmov,adds,abs8,add9,add16,sub16的控制下選擇1路輸出結果信號z[8∶0]。加法器1的輸出進位信號和選擇器4的低輸入端相連,add9,sub9,abs8經過或運算后得到信號add9‖sub9‖abs8和選擇器4的高端相連。選擇器4在控制信號add16‖sub16的控制下,輸出結果信號給加法器0的輸入進位信號。選擇器0的選擇控制端和abs8‖sub16‖sub9信號相連。選擇器1的選擇控制端和abs8‖sub16‖sub9信號相連。加法器1的輸入進位端和add9‖sub9‖abs8‖sub16信號相連。
樹累加器的實施例結構如圖6所示。包含兩個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塊的塊匹配誤差結果。
上述8輸入樹狀加法器的實施例結構如圖7所示,包括4個8位加法器(ADDER8),2個9位加法器(ADDER9)以及一個10位加法器(ADDER10)。其連接關系為左邊2個8位加法器輸出和左邊9位加法器相連,右邊2個加法器和右邊9位加法器相連,該兩個9位加法器輸出和10位加法器的輸入相連。
上述最小值部件MIN0的實施例結構如圖8所示,包括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鎖存。
上述最小值部件MIN1的實施例結構如圖9所示,包括16位減法器,與門,16位寄存器和12位寄存器。其連接關系為16位減法器左輸入與16位寄存器輸出相連,16位減法器右輸入與外部輸入宏塊匹配誤差信號sad1相連,16位減法器的進位信號和與門的上輸入端相連;外部輸入宏塊匹配誤差信號sad1與16位寄存器輸入相連,16位寄存器輸出與宏塊最小匹配誤差值min1相連;與門的上輸入端與16位減法器的進位相連,與門下輸入端與外部輸入運行結束信號done相連;12位寄存器輸入與外部運動矢量信號MV相連,12位寄存器與16位寄存器的使能信號和與門的輸出相連。其工作過程為16位減法器輸出進位給與門,與門對減法器輸出和運行結束信號done進行與運算后,輸出使能信號給16位和12位寄存器。16位寄存器保存第一個塊最小匹配誤差信號min1,12位寄存器保存水平和垂直運動矢量值。如果使能信號有效,16位寄存器將第一個塊匹配誤差信號sad1鎖存,12位寄存器將運動矢量信號Mv鎖存。
上述最小值部件MIN1的實施例結構如圖10所示,包括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鎖存。
本發明的數據尋徑單元的實施例由選擇器組成。其工作過程為由低層指令譯碼單元發出控制信號給數據尋徑單元,數據尋徑單元從存儲及地址生成單元輸出的11路信號中選擇6路,輸出到并行算術運算模塊中,并行算術運算模塊的運算結果通過數據尋徑單元輸出到存儲及地址生成單元中。
本發明的存儲及地址生成單元結構如圖2所示,由二維并行存儲器D2M和二維并行存儲器的地址生成模塊ADG0,8位一維并行存儲器D1M和8位一維并行存儲器的地址生成模塊ADG1,9位一維并行存儲器DM9,16位一維并行存儲器DM16,DM9與DM16的地址生成模塊ADG2,系數存儲器CM,CM的地址生成模塊ADGc構成。其內部連接關系為,D2M與ADG0通過地址總線相連,D1M與ADG1通過地址總線相連,DM9與ADG2通過地址總線相連,DM16與ADG2通過地址總線相連。
上述二維并行存儲器的實施例結構如圖11所示,包括地址映射模塊,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路數據存儲器輸出端與循環移位器相連。
所說的地址映射模塊由2位加法器和外部連線構成,如圖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位相連。
所說的優先級編碼器的實施例由與或邏輯電路組成。該優先級編碼器邏輯如下 其中j=min{j|tj=1,j=0,1...N-1}。循環移位器將第b0個數據存儲器的數據左移到最高位。
上述8位一維并行存儲器的實施例由N個8位存儲器模塊組成。其連接關系為外部輸入8位一維并行存儲器的地址信號addr_d1m和N個8位存儲器的地址輸入端相連,N個8位存儲器輸出8N位數據和外部相連。
上述9位一維并行存儲器的實施例由N個9位存儲器模塊組成。其連接關系為外部輸入9位一維并行存儲器的地址信號addr_dm9_dm16和N個9位存儲器的地址輸入端相連,N個9位存儲器輸出9N位數據和外部相連。
上述16位一維并行存儲器DM16的實施例由8個16位存儲器模塊組成。其連接關系為外部輸入16位一維并行存儲器0M16的地址信號addr_dm9_dm16和8個16位存儲器的地址輸入端相連,8個16位存儲器輸出128位數據和外部相連。
上述二維并行存儲器的地址生成模塊ADG0的實施例結構由圖13所示,由加法器0、加法器1,選擇器0、選擇器1、選擇器2、選擇器3,寄存器0、寄存器1組成。其連接關系為選擇器0左輸入端與寄存器0相連,右輸入端與外部輸入二維并行存儲器垂直起始地址信號starty相連;選擇器1左輸入端與外部輸入二維并行存儲器地址增量信號step_d2m相連,右輸入端與外部輸入端運動矢量信號MV的高6位(MV[11∶6])相連;選擇器0和選擇器1的輸出與加法器0的輸入相連;加法器0的輸出與寄存器0相連;寄存器0輸出為垂直存儲器地址信號Ly。選擇器2左輸入端與寄存器1相連,右輸入端與外部輸入二維并行存儲器水平起始地址信號startx相連;選擇器3左輸入端與信號0相連,右輸入端與外部輸入端運動矢量信號Mv的低6位(MV[5∶0])相連;選擇器2和選擇器3的輸出與加法器1的輸入相連;加法器1的輸出與寄存器1相連;寄存器1輸出為水平存儲器地址信號Lx。其工作過程為在低層指令單元發送起始命令時,選擇器0-1選擇右路信號,將二維并行存儲器水平起始地址信號startx和運動矢量信號MV的低6位(MV[5∶0])輸出到加法器0,然后加法器的輸出結果鎖存到寄存器0中,同時,選擇器2-3選擇右路信號,將二維并行存儲器垂直起始地址信號starty和運動矢量信號Mv的高6位(MV[11∶6])輸出到加法器1,然后加法器的輸出結果鎖存到寄存器1中。這是寄存器0和寄存器1保存了水平和垂直起始存儲器地址。在低層指令單元發送運行命令時,選擇器0-1選擇左路信號,將地址步長信號“step”和寄存器0保存的值輸出到加法器中,加法器0的輸出結果交給寄存器0鎖存。同時,選擇器2-3選擇左路信號,將寄存器0和寄存器1保存的值輸出到加法器1中,加法器1的輸出結果輸出給寄存器1鎖存。寄存器0和寄存器1分別輸出水平存儲器地址信號(Lx)和垂直存儲器地址信號(Ly)。
上述8位一維并行存儲器的地址生成模塊ADG1的實施例結構如圖14所示,由兩個選擇器、一個加法器和一個寄存器所組成,其連接關系為選擇器0左輸入端與寄存器0輸出相連,選擇器0右輸入端和8位一維并行存儲器起始地址信號start_d1m相連,選擇器1左輸入端和8位一維并行存儲器地址增量信號step_d1m相連,選擇器1右輸入端和信號0相連;選擇器0和選擇器1的輸出分別與加法器0的兩個輸入端相連;寄存器0通過8位一維并行存儲器的地址信號addr_d1m和外部相連。其工作過程為低層指令單元發送起始命令信號時,選擇器0和選擇器1選擇右路信號,將8位一維并行存儲器起始地址信號start_d1m和0輸出到加法器,然后加法器的輸出結果鎖存到寄存器中。低層指令單元發送運行命令信號時,選擇器0和1選擇左路信號,將8位一維并行存儲器地址增量信號step_d1m和寄存器保存的值輸出到加法器中,加法器的輸出結果交給寄存器鎖存。
上述9位/16位一維并行存儲器地址的生成模塊ADG2實施例結構如圖15所示,由兩個選擇器、一個加法器和一個寄存器所組成,其連接關系為選擇器0左輸入端與寄存器0輸出相連,選擇器0右輸入端和9位/16位一維并行存儲器起始地址信號start_dm9_dm16相連。選擇器1左輸入端和9位/16位一維并行存儲器地址增量信號step_dm9_dm16相連,選擇器1右輸入端和信號0相連;選擇器0和選擇器1的輸出分別與加法器0的兩個輸入端相連;寄存器0通過9位/16位一維并行存儲器的地址信號addr_dm9_dm16和外部相連。其工作過程為低層指令單元發送起始命令信號時,選擇器0和選擇器1選擇右路信號,將9位一維并行存儲器起始地址信號start_dm9_dm16和0輸出到加法器,然后加法器的輸出結果鎖存到寄存器中。低層指令單元發送運行命令信號時,選擇器0和1選擇左路信號,將9位/16位一維并行存儲器地址增量信號step_dm9_dm16和寄存器保存的值輸出到加法器中,加法器的輸出結果交給寄存器鎖存。
上述系數存儲器CM的實施例由8個13位存儲器模塊組成。其連接關系為外部輸入系數存儲器CM的地址信號和8個13位存儲器的地址輸入端相連,8個13位存儲器輸出104位系數和外部相連。
本發明的高層指令單元的實施例結構由一個16位精簡指令集處理器和32個特殊寄存器陣列所組成,如圖2所示。其連接關系為16位精簡指令處理器和外部通過設置程序入口地址信號set_entry及設置循環次數寄存器信號set_cnt相連,16位精簡指令處理器和特殊寄存器陣列通過控制信號相連。
上述16位精簡指令集處理器結構如圖16所示,包括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為輸出信號。
上述的取指部件的實施例結構如圖17所示,包括加法器,當前地址寄存器,選擇器,高層指令存儲器,指令寄存器。其連接關系為加法器上輸入端與信號1相連,下輸入端與當前地址寄存器的輸出相連;加法器輸出與當前地址寄存器的輸入相連;選擇器的上輸入端與通過轉移地址ba相連,選擇器的下輸入端與當前地址寄存器的輸出相連,選擇器的選擇端與轉移控制信號next相連,選擇器的輸出端與高層指令存儲器的地址輸入端相連;高層指令存儲器的輸出與指令寄存器輸入端相連。指令寄存器的輸出端通過指令信號d_ir與外部指令譯碼部件相連。其工作過程為加法器將地址選擇器的輸出加1后輸出到當前地址寄存器寄存。當前地址寄存器和外部輸入轉移地址信號ba輸出到選擇器,當外部輸入信號next為高時,選擇器選擇轉移地址信號輸出,當next為低時,選擇器選擇當前地址寄存器輸出。選擇器的輸出作為高層指令存儲器的地址。高層指令存儲器輸出這一地址對應的指令,指令鎖存到指令寄存器中。指令寄存器輸出指令信號d_ir。
上述指令譯碼部件實施例由與或邏輯電路組成。
上述的指令執行部件的實施例結構如圖18所示,包括寄存器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,操作類型信號e_op和寫寄存器信號we。e_src1,e_src2和e_op作為ALU的輸入,ALU輸出結果信號e_res和狀態標志。狀態標志包括進位標志carry,零標志zero,溢出標志ovflow。這三個狀態標志信號和外部輸入信號d_src1
輸入到狀態寄存器鎖存。狀態寄存器輸出e_flags信號給出了不同的操作類型信號e_op下,算術邏輯單元的功能。
表1不同的操作類型信號e_op下,算術邏輯單元ALU的功能。
上述寄存器陣列的實施例由32個通用寄存器組成,如圖16所示,寄存器陣列與外部的連接關系為寄存器陣列和指令執行部件之間通過寫寄存器信號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指定的寄存器中。
本發明的外部存儲器接口單元如圖2所示,連接關系如下。高層指令單元和外部存儲器接口單元通過控制信號相連。數據尋徑單元和外部存儲器接口單元通過數據總線相連。工作過程如下。高層指令單元發出控制信號給外部存儲器接口單元,外部存儲器接口單元從外部存儲器讀入數據輸出到數據尋徑電路。
本實施例結構已經用Verilog HDL加以實現,并用Verilog XL仿真工具完成了功能驗證,然后用Synopsys的Design compiler綜合工具進行綜合,采用0.25um的工藝庫下,總門數包括65K邏輯門和45kb的片內靜態存儲器(SRAM)。在PVSP上實現了多種塊匹配算法,包括基于螺旋形掃描的全搜索算法,三步法,最臨近搜索算法,以及運動補償,半像素搜索算法,DCT,IDCT,量化與反量化算法。
權利要求
1.一種基于混合視頻編碼方法的可編程視頻信號處理器結構,其特征在于,包括低層指令單元,并行運算單元,數據尋徑單元,存儲器及地址生成單元,高層指令單元,以及外部存儲器接口單元六個部分;各部分連接關系為高層指令單元與低層指令單元通過控制信號線相連;該低層指令單元與并行運算單元通過數據和控制信號線相連;該并行運算單元與數據尋徑單元通過6路數據總線相連;該數據尋徑單元與存儲及地址生成單元通過11路數據總線相連;所說的高層指令單元與存儲及地址生成單元通過起始命令信號和運行命令信號相連;所說的數據尋徑單元與外部存儲器接口單元通過數據總線相連;該高層指令單元和外部存儲器接口單元通過控制信號相連。
2.如權利要求1所述的可編程視頻信號處理器結構,其特征在于,所說的低層指令單元包括程序地址寄存器,低層指令存儲器和低層指令譯碼模塊,選擇器,循環次數寄存器,減法器;其連接關系為高層指令單元輸出的程序入口地址信號(entry)與程序地址寄存器相連,高層指令單元輸出設置程序入口地址信號(set_entry)與程序地址寄存器的使能端相連;程序地址寄存器與低層指令存儲器相連;低層指令存儲器與低層指令譯碼模塊相連;高層指令單元輸出的循環次數信號(cnt)與選擇器的上輸入端相連,減法器輸出與選擇器下輸入端相連;高層指令單元輸出設置循環次數信號(set_cnt)與選擇器的選擇端相連;選擇器輸出端與循環次數寄存器相連;循環次數寄存器輸出端與減法器上輸入端相連;循環次數寄存器信號1和減法器下輸入端相連;減法器的進位輸出端和運行結束信號(done)相連,低層譯碼模塊輸出端與起始命令信號和運行命令信號相連。
3.如權利要求1所述的可編程視頻信號處理器結構,其特征在于,所說的并行運算單元由并行算術邏輯運算模塊、并行乘累加模塊和樹累加器組成,該并行算術運算邏輯模塊的輸出和樹累加器的輸入相連;所說的并行乘累加模塊包含多個16位處理器。
4.如權利要求3所述的可編程視頻信號處理器結構,其特征在于,所說的每個處理器包括乘法器、兩個寄存器(1、2),加法器、移位器、累加寄存器、輸出調整電路和選擇器;其連接關系為乘法器輸出端與寄存器1相連,寄存器輸出與加法器的左輸入端相連,加法器輸出與累加寄存器輸入相連,累加寄存器輸出與輸出調整電路的輸入相連,輸出調整電路輸出5路信號與選擇器相連,選擇器的選擇信號選擇其中一路輸出,與加法器的右輸入端相連;加法器輸出與移位器輸入相連,移位器輸出端與寄存器的輸入端相連。
5.如權利要求3所述的可編程視頻信號處理器結構,其特征在于,所說的并行算術邏輯運算模塊包含16個9位處理器,9位處理器組織成單指令多數據流結構;相鄰的兩個9位處理器可以合成為一個16位處理器。
6.如權利要求5所述的可編程視頻信號處理器結構,其特征在于,所說的每個9位處理器由選擇器(1、2),加法器、飽和電路、絕對值電路和字節移位電路構成,所說的選擇器(1)的輸出端與加法器的輸入端相連,該加法器的輸出端分別與飽和電路,絕對值電路,字節移位電路相連;飽和電路(0)輸出端,絕對值電路(0)輸出端,字節移位電路(0)輸出端分別與選擇器(2)輸入端相連;所說的相鄰的兩個9位處理器中的加法器的輸出端均與一個字移位電路的高端相連,該字移位電路的輸出端分別與所說的兩個9位處理器中的選擇器(2)的輸入端相連,從而合成為一個16位處理器。
7.如權利要求3所述的可編程視頻信號處理器結構,其特征在于,所說的樹累加器包含兩個8輸入樹狀加法器(1、2),一個11位加法器,三個累加器(ACC0、ACC1、ACC2)和三個最小值部件(MIN0、MIN1、MIN2);其連接關系如下8輸入樹狀加法器(1)的輸出和11位加法器以及累加器(ACC1)相連;8輸入樹狀加法器(2)的輸出與11位加法器以及累加器(ACC2)相連;11位加法器輸出與累加器(ACC0)相連;累加器(ACC0,ACC1,ACC2)分別與最小值部件(MIN0,MIN1,MIN2)相連;累加器(ACC0)與宏塊匹配誤差信號(sad0)相連;累加器(ACC1)與第一個塊匹配誤差信號(sad1)相連;累加器(ACC2)與第二個塊匹配誤差信號(sad2)相連;最小值部件(MIN0)輸出端與宏塊最小匹配誤差信號(min0)以及宏塊最優運動矢量信號(opMV0)相連,最小值部件(MIN1)輸出端與第一個塊匹配誤差信號(minl)以及第一個塊最優運動矢量信號(opMV1)相連,最小值部件(MIN2)輸出端與第二個塊最小匹配誤差信號(min2)以及第二個塊最優運動矢量信號(opMV2)相連;最小值部件(MIN0)輸入端與宏塊匹配誤差信號(sad0)、運行結束信號(done)以及運動矢量信號(MV)相連,最小值部件(MIN1)輸入端與第一個塊匹配誤差信號(sad1)、運行結束信號(done)以及運動矢量信號(MV)相連,最小值部件(MIN2)輸入端與第二個塊匹配誤差信號(sad2)、運行結束信號(done)以及運動矢量信號MV相連。
8.如權利要求7所述的可編程視頻信號處理器結構,其特征在于,所說的8輸入樹狀加法器包括4個8位加法器(81、82、83、84),2個9位加法器(91、92)以及一個10位加法器;其連接關系為2個8位加法器(81、82)輸出和9位加法器相連(91、),2個加法器(83、84)和9位加法器(92)相連,該兩個9位加法器輸出和10位加法器的輸入相連。
9.如權利要求7所述的可編程視頻信號處理器結構,其特征在于,所說的最小值部件(MIN0)包括16位減法器,與門,16位寄存器和12位寄存器;其連接關系為16位減法器左輸入與16位寄存器輸出相連,16位減法器右輸入與外部輸入宏塊匹配誤差信號(sad0)相連,16位減法器的進位信號和與門的上輸入端相連;外部輸入宏塊匹配誤差信號(sad0)與16位寄存器輸入相連,16位寄存器輸出與宏塊最小匹配誤差值(min0)相連;與門的上輸入端與16位減法器的進位相連,與門下輸入端與外部輸入運行結束信號(done)相連;12位寄存器輸入與外部運動矢量信號(MV)相連,12位寄存器與16位寄存器的使能信號和與門的輸出相連。
10.如權利要求7所述的可編程視頻信號處理器結構,其特征在于,所說的上述最小值部件(MIN1)包括16位減法器,與門,16位寄存器和12位寄存器;其連接關系為16位減法器左輸入與16位寄存器輸出相連,16位減法器右輸入與外部輸入宏塊匹配誤差信號(sad1)相連,16位減法器的進位信號和與門的上輸入端相連;外部輸入宏塊匹配誤差信號(sad1)與16位寄存器輸入相連,16位寄存器輸出與宏塊最小匹配誤差值(min1)相連;與門的上輸入端與16位減法器的進位相連,與門下輸入端與外部輸入運行結束信號(done)相連;12位寄存器輸入與外部運動矢量信號(Mv)相連,12位寄存器與16位寄存器的使能信號和與門的輸出相連。
11.如權利要求7所述的可編程視頻信號處理器結構,其特征在于,所說的最小值部件(MIN2)包括16位減法器,與門,16位寄存器和12位寄存器;其連接關系為16位減法器左輸入與16位寄存器輸出相連,16位減法器右輸入與外部輸入宏塊匹配誤差信號(sad2)相連,16位減法器的進位信號和與門的上輸入端相連;外部輸入宏塊匹配誤差信號(sad1)與16位寄存器輸入相連,16位寄存器輸出與宏塊最小匹配誤差值(min2)相連;與門的上輸入端與16位減法器的進位相連,與門下輸入端與外部輸入運行結束信號(done)相連;12位寄存器輸入與外部運動矢量信號(MV)相連,12位寄存器與16位寄存器的使能信號和與門的輸出相連。
12.如權利要求1所述的可編程視頻信號處理器結構,其特征在于,所說的數據尋徑單元的實施例由選擇器組成。
13.如權利要求1所述的可編程視頻信號處理器結構,其特征在于,所說的存儲及地址生成單元由二維并行存儲器(D2M)和二維并行存儲器的地址生成模塊(ADG0),8位一維并行存儲器(D1M)和8位一維并行存儲器的地址生成模塊(ADG1),9位一維并行存儲器(DM9),16位一維并行存儲器(DM16),(DM9)與(DM16)的地址生成模塊(ADG2),系數存儲器(CM),(CM)的地址生成模塊(ADGc)構成,其連接關系為,所說的二維并行存儲器(D2M)與二維并行存儲器的地址生成模塊(ADG0)通過地址總線相連,所說的8位一維并行存儲器(D1M)與地址生成模塊(ADG1)通過地址總線相連,所說的9位一維并行存儲器(DM9)與地址生成模塊(ADG2)通過地址總線相連,所說的16位一維并行存儲器(DM16)與地址生成模塊(ADG2)通過地址總線相連。
14.如權利要求13所述的可編程視頻信號處理器結構,其特征在于,所說的二維并行存儲器(D2M)包括地址映射模塊,N路比較器(0,1,2,...N-1),優先級編碼器,N路二選一選擇器(M0,M1,...MN-1),N個數據存儲器(0,1,2,...N-1)以及循環移位器;其連接關系為所說的地址映射模塊與外部輸入水平存儲器地址信號(Lx)和垂直存儲器地址信號(Ly)相連;該地址映射模塊輸出端(b0)和N路比較器的左輸入端相連;信號0,1,...N-1分別與所說的N路比較器的右輸入端相連;各路比較器的輸出端與優先級編碼器的輸入相連;該優先級編碼器的輸出分別與N路選擇器(M0,M1,...MN-1)的選擇信號(S0、S1、…SN-1)相連;該N路選擇器的數據端與地址映射模塊相連;N路選擇器的輸出端與N個數據存儲器相連;該N路數據存儲器輸出端與循環移位器相連。
15.如權利要求14所述的可編程視頻信號處理器結構,其特征在于,所說的地址映射模塊由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位相連;所說的優先級編碼器由與或邏輯電路組成,該優先級編碼器邏輯如下 其中j=min{j|tj=1,j=0,1...N-1};循環移位器將第b0個數據存儲器的數據左移到最高位。
16.如權利要求13所述的可編程視頻信號處理器結構,其特征在于,所說的8位一維并行存儲器的實施例由N個8位存儲器模塊組成,其連接關系為外部輸入8位一維并行存儲器的地址信號(addr_d1m)和N個8位存儲器的地址輸入端相連,N個8位存儲器輸出8N位數據和外部相連;所說的9位一維并行存儲器的實施例由N個9位存儲器模塊組成,其連接關系為外部輸入9位一維并行存儲器的地址信號(addr_dm9_dm16)和N個9位存儲器的地址輸入端相連,N個9位存儲器輸出9N位數據和外部相連;所說的16位一維并行存儲器(DM16)的實施例由8個16位存儲器模塊組成,其連接關系為外部輸入16位一維并行存儲器(DM16)的地址信號(addr_dm9_dm16)和8個16位存儲器的地址輸入端相連,8個16位存儲器輸出128位數據和外部相連。
17.如權利要求13所述的可編程視頻信號處理器結構,其特征在于,所說的二維并行存儲器的地址生成模塊(ADG0)由加法器(0)、加法器(1),選擇器(0)、選擇器(1)、選擇器(2)、選擇器(3),寄存器(0)、寄存器(1組成;其連接關系為選擇器0左輸入端與寄存器0的輸出端相連,其右輸入端與外部輸入二維并行存儲器垂直起始地址信號(starty)相連;選擇器(1)左輸入端與外部輸入二維并行存儲器地址增量信號(step_d2m)相連,其右輸入端與外部輸入端運動矢量信號(MV)的高6位(MV[11:6])相連;選擇器)(0)和選擇器(1)的輸出端與加法器(0)的輸入端相連;加法器(0)的輸出端與寄存器(0)的輸入端相連;寄存器(0)輸出為垂直存儲器地址信號(Ly);選擇器(2)左輸入端與寄存器(1)的輸出端相連,其右輸入端與外部輸入二維并行存儲器水平起始地址信號(startx)相連;選擇器(3)左輸入端與信號(0)相連,其右輸入端與外部輸入端運動矢量信號(Mv)的低6位(MV[5:0])相連;選擇器(2)和選擇器(3)的輸出端與加法器(1)的輸入端相連;加法器(1)的輸出端與寄存器(1)的輸入端相連;寄存器(1)輸出為水平存儲器地址信號(Lx)。
18.如權利要求13所述的可編程視頻信號處理器結構,其特征在于,所說的8位一維并行存儲器的地址生成模塊(ADG1)由兩個選擇器(0)、(1)、一個加法器(0)和一個寄存器(0)所組成;其連接關系為選擇器(0)左輸入端與寄存器(0)輸出端相連,選擇器(0)右輸入端和8位一維并行存儲器起始地址信號(start_d1m)相連,選擇器(1)左輸入端和8位一維并行存儲器地址增量信號(step_d1m)相連,選擇器(1)右輸入端和信號(0)相連;選擇器(0)和選擇器(1)的輸出端分別與加法器(0)的兩個輸入端相連;加法器(0)的輸出端與寄存器(0)的輸入端相連;寄存器(0)的輸出端通過8位一維并行存儲器的地址信號(addr_d1m)和外部相連。
19.如權利要求13所述的可編程視頻信號處理器結構,其特征在于,所說的9位/16位一維并行存儲器地址的生成模塊(ADG2)由兩個選擇器(0、1)、一個加法器(0)和一個寄存器(0)所組成;其連接關系為選擇器(0)左輸入端與寄存器(0)輸出端相連,選擇器(0)右輸入端和9位/16位一維并行存儲器起始地址信號(start_dm9_dm16)相連;選擇器(1)左輸入端和9位/16位一維并行存儲器地址增量信號(step_dm9_dm16)相連,選擇器(1)右輸入端和信號(0)相連;選擇器(0)和選擇器(1)的輸出端分別與加法器(0)的兩個輸入端相連;加法器(0)的輸出端與寄存器0的輸入端相連;寄存器(0)的輸出端通過9位/16位一維并行存儲器的地址信號(addr_dm9_dm16)和外部相連。
20.如權利要求1所述的可編程視頻信號處理器結構,其特征在于,所說的高層指令單元的由一個16位精簡指令集處理器和32個特殊寄存器陣列所組成,其連接關系為16位精簡指令處理器和外部通過設置程序入口地址信號(set_entry)及設置循環次數寄存器信號(set_cnt)相連,16位精簡指令處理器和特殊寄存器陣列通過控制信號相連。
21.如權利要求20所述的可編程視頻信號處理器結構,其特征在于,所說的16位精簡指令集處理器包括4部分,即取指部件,譯碼部件,執行部件和寄存器陣列;其連接關系為所說的取指部件與指令譯碼部件之間通過轉移地址(ba),指令信號(d_ir),轉移控制信號(next)信號相連;指令譯碼部件與指令執行部件之間通過操作碼(d_op),執行控制信號(exec),第一源操作數(d_src1),第二源操作數(d_src2)以及狀態信號(eflags)相連;指令執行部件與寄存器陣列之間通過寫寄存器信號(we),結果信號(e_res)相連;指令譯碼部件與寄存器陣列通過第一源操作數地址(d_a1),第二源操作數地址(d_a2),以及寄存器陣列輸出信號(d_r1)和(d_r2)相連。
22.如權利要求21所述的可編程視頻信號處理器結構,其特征在于,所說的取指部件包括加法器,當前地址寄存器,選擇器,高層指令存儲器,指令寄存器;其連接關系為加法器上輸入端與信號(1)相連,下輸入端與當前地址寄存器的輸出端相連;加法器的輸出端與當前地址寄存器的輸入端相連;選擇器的上輸入端與通過轉移地址(ba)相連,選擇器的下輸入端與當前地址寄存器的輸出相連,選擇器的選擇端與轉移控制信號(next)相連,選擇器的輸出端與高層指令存儲器的地址輸入端相連;高層指令存儲器的輸出端與指令寄存器輸入端相連,指令寄存器的輸出端通過指令信號(d_ir)與外部指令譯碼部件相連。
23.如權利要求21所述的可編程視頻信號處理器結構,其特征在于,所說的指令執行部件包括寄存器(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)和外部相連。
全文摘要
本發明屬于視頻圖像編碼領域,混合編碼方法,和視頻信號處理器設計。本發明PVSP超大規模集成電路結構包括低層指令單元,并行運算單元,數據尋徑單元,存儲器及地址生成單元,高層指令單元,以及外部存儲器接口單元,它集成了以高并行性能為特點的硬件結構和以高可編程性能為特點的RISC處理器結構,具有較大的靈活性,節省硬件開銷。
文檔編號G06T1/00GK1312642SQ01102228
公開日2001年9月12日 申請日期2001年1月18日 優先權日2001年1月18日
發明者何蕓, 龔大年 申請人:清華大學