專利名稱:運(yùn)動估計的超大規(guī)模集成電路體系結(jié)構(gòu)及數(shù)據(jù)緩存的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于電子行業(yè)技術(shù)領(lǐng)域,具體涉及一種超大規(guī)模集成電路體系結(jié)構(gòu),及該集成電路中進(jìn)行多尺度多模式運(yùn)動估計時數(shù)據(jù)緩存和提供的方法。
背景技術(shù):
圖1是一般視頻編碼中以塊為單位的運(yùn)動估計(Motion Estimation,ME)的功能示意圖。運(yùn)動估計的方法是,對當(dāng)前幀圖像中一個被編碼的像素塊,在參考幀圖像中一個指定的窗口中搜索與之相差最小的像素塊,作為最佳匹配。運(yùn)動估計得到兩個值一個是被編碼的像素塊相對于參考幀中最佳匹配像素塊的偏移,即運(yùn)動矢量MV(Motion Vector);另一個是被編碼像素塊與最佳匹配像素之間的殘差絕對值之和SAD。這部分計算占了整個編碼過程計算量的很大比重,因此,這部分硬件的執(zhí)行效率直接關(guān)系到整個集成電路芯片是否有效運(yùn)行。
圖2是ITU-T H.264/MPEG-4 AVC標(biāo)準(zhǔn)中運(yùn)動估計的功能示意圖。在這個標(biāo)準(zhǔn)中,有七種不同尺寸和形狀的像素塊被用于運(yùn)動估計。
運(yùn)動估計在整個視頻編碼過程中占有相當(dāng)重要的地位,也占有了大量的處理器資源,尤其在H.264中引入了從4×4到16×16塊的各種尺度的各種模式的運(yùn)動估計技術(shù),進(jìn)一步增加了運(yùn)動估計的計算量和復(fù)雜度,因此對于運(yùn)動估計過程的快速執(zhí)行是實(shí)現(xiàn)H.264實(shí)時編碼的一個重要條件。
同時,由于技術(shù)改進(jìn)、市場化進(jìn)程、和標(biāo)準(zhǔn)化過程三者之間的不同步發(fā)展,視頻編碼領(lǐng)域內(nèi)形成了多種編碼標(biāo)準(zhǔn)共存的局面。因此,在同一個計算平臺上對包括MPEG-1/2/4和H.264在內(nèi)的多種數(shù)字視頻編碼標(biāo)準(zhǔn)的支持是必要的。
發(fā)明內(nèi)容
本發(fā)明的一個目的是提供一種超大規(guī)模集成電路體系結(jié)構(gòu),為運(yùn)動估計過程的快速執(zhí)行提供一種硬件結(jié)構(gòu)。
一種超大規(guī)模集成電路體系結(jié)構(gòu),用于數(shù)字視頻信號編碼的運(yùn)動估計步驟中的高速數(shù)據(jù)緩存和提供,其特征在于包括一個當(dāng)前幀數(shù)據(jù)緩存器;一個參考幀數(shù)據(jù)緩存器;當(dāng)前幀數(shù)據(jù)緩存器與外部存儲器之間的數(shù)據(jù)通道;參考幀數(shù)據(jù)緩存器與外部存儲器之間的數(shù)據(jù)通道;當(dāng)前幀數(shù)據(jù)緩存器與多模運(yùn)動估計器之間的數(shù)據(jù)通道;參考幀數(shù)據(jù)緩存器與多模運(yùn)動估計器之間的數(shù)據(jù)通道。
其中數(shù)據(jù)緩存器的組織結(jié)構(gòu)為數(shù)據(jù)緩存器分為四個物理體;每個物理體包含一定數(shù)目的高速緩存行(CACHE LINE);每個高速緩存行的大小為16個字節(jié),分為4個四字節(jié)的字;每個高速緩存行有一個標(biāo)志(TAG)字段。
其中多模運(yùn)動估計器由四個內(nèi)部結(jié)構(gòu)完全一樣的處理單元PE-A(302),PE-B(303),PE-C(304),和PE-D(305)組成。
本發(fā)明的另一個目的是提供一種在該超大規(guī)模集成電路體系結(jié)構(gòu)中數(shù)據(jù)緩存和提供的方法,使運(yùn)動估計過程的快速執(zhí)行得以實(shí)現(xiàn)。
該方法包括以下步驟將外部存儲器所存放的部分像素數(shù)據(jù)調(diào)入高速數(shù)據(jù)緩存器;控制器訪問高速存儲器對當(dāng)前幀和參考幀數(shù)據(jù)進(jìn)行尋址;將當(dāng)前幀和參考幀數(shù)據(jù)調(diào)入多模運(yùn)動估計器進(jìn)行運(yùn)動估計。
其中數(shù)據(jù)緩存器與外部存儲器所存放的像素數(shù)據(jù)間的映射方法包括像素數(shù)據(jù)以4×4像素塊為基本單位在高速數(shù)據(jù)緩存器和外部存儲器之間作整體移動;一次在高速數(shù)據(jù)緩存器和外部存儲器之間的數(shù)據(jù)移動,還包括三個關(guān)聯(lián)4×4像素塊,分別位于上述4×4像素塊的右側(cè)、下側(cè)、及右下側(cè);在從外部存儲器向高速數(shù)據(jù)緩存器調(diào)入數(shù)據(jù)時,一個4×4像素塊及其三個關(guān)聯(lián)4×4像素塊分別被分配到同一個高速數(shù)據(jù)緩存器中的四個不同的物理體的編號相同的高速緩存行(CACHE LINE)中。
其中數(shù)據(jù)緩存器與多模運(yùn)動估計器之間進(jìn)行像素數(shù)據(jù)交換的映射方法包括像素數(shù)據(jù)以4×4像素塊為基本單位在高速數(shù)據(jù)緩存器和多模運(yùn)動估計器之間作整體移動;多模運(yùn)動估計器中的所有處理單元PE-A,PE-B,PE-C,PE-D共同從同一個當(dāng)前幀高速數(shù)據(jù)緩存器獲取當(dāng)前幀像素數(shù)據(jù);多模運(yùn)動估計器中的所有處理單元PE-A,PE-B,PE-C,PE-D共同從同一個參考幀高速數(shù)據(jù)緩存器獲取參考幀像素數(shù)據(jù)。
其中高速數(shù)據(jù)緩存器的尋址方法包括
由需要查找的4×4像素塊在原圖像中的位置計算其行指標(biāo)和列指標(biāo);由上述4×4像素塊的行指標(biāo)和列指標(biāo)確定三個關(guān)聯(lián)4×4像素塊的行指標(biāo)和列指標(biāo);由4×4像素塊的行指標(biāo)和列指標(biāo)聯(lián)合形成高速數(shù)據(jù)緩存器的緩存地址和TAG匹配信號;用TAG匹配信號判定高速緩存行中的數(shù)據(jù)是否是所要的4×4像素塊;如果高速緩存行中的數(shù)據(jù)不是所要的4×4像素塊,從外部存儲器將該4×4像素塊及關(guān)聯(lián)像素塊數(shù)據(jù)調(diào)入高速緩存器并修改TAG值。
在所述的超大規(guī)模集成電路及數(shù)據(jù)緩存和提供的方法中,可以有L個參考幀高速緩存器來分別對L個參考幀的數(shù)據(jù)進(jìn)行緩存。
在所述的超大規(guī)模集成電路及數(shù)據(jù)緩存和提供的方法中,當(dāng)有L個參考幀高速緩存器時,控制器首先產(chǎn)生一個選擇信號,從L個高速緩存器中選擇一個進(jìn)行操作。
本發(fā)明所作的針對數(shù)字視頻及圖像編碼、轉(zhuǎn)碼等計算處理過程中的運(yùn)動估計步驟,及其專用超大規(guī)模集成電路并行實(shí)現(xiàn)結(jié)構(gòu),使得基于其開發(fā)的新一代多模ASIC芯片組可支持包括最新的ITU-T H.264(即MPEG-4第10部分)標(biāo)準(zhǔn)和中國的AVS標(biāo)準(zhǔn)在內(nèi)的所有MPEG/ITU-T H.26x類標(biāo)準(zhǔn)。適用范圍涵蓋包括數(shù)字電視、網(wǎng)絡(luò)媒體、信息家電、多媒體移動通訊、激光視盤等在內(nèi)的多個產(chǎn)業(yè)領(lǐng)域。
圖1是一般視頻編碼中以塊為單位的運(yùn)動估計(Motion Estimation,ME)的功能示意圖;
圖2是ITU-T H.264/MPEG-T AVC標(biāo)準(zhǔn)中運(yùn)動估計的功能示意圖;圖3是本發(fā)明超大規(guī)模集成電路體系結(jié)構(gòu);圖4是本發(fā)明一具體實(shí)施例中高速緩存器的組織結(jié)構(gòu);圖5是當(dāng)前幀圖像數(shù)據(jù)在一個高速緩存行中的存放策略;圖6是一幀當(dāng)前幀視頻圖像的局部被存放到高速緩存器中時的分配策略;圖7是本發(fā)明一具體實(shí)施例中當(dāng)前幀高速緩存器的尋址方法;圖8是控制器訪問高速存儲器時的控制邏輯流程;圖9是本發(fā)明一具體實(shí)施例中參考幀高速緩存器的尋址方法;圖10是多參考幀情形高速緩存器的尋址方法。
具體實(shí)施例方式
下面結(jié)合附圖對本發(fā)明的實(shí)施例作進(jìn)一步的詳細(xì)描述。
圖3是本發(fā)明超大規(guī)模集成電路體系結(jié)構(gòu),是一個能對從4×4,4×8,8×4,8×8,8×16,16×8,到16×16等各種幾何形狀和尺寸的像素塊進(jìn)行運(yùn)動估計的并行裝置。如果它被重復(fù)使用更多的次數(shù),它也能對大于16×16的像素塊進(jìn)行運(yùn)動估計。
整個裝置的行為由一個控制器(301)控制。計算的發(fā)起和操作模式選捍均由控制器發(fā)出的操作指令(308)決定。裝置的核心部件是由四個內(nèi)部結(jié)構(gòu)完全一樣的處理單元PE-A(302),PE-B(303),PE-C(304),和PE-D(305)組成的多模運(yùn)動估計器。每個PE能獨(dú)立完成一個4×4大小的像素塊的運(yùn)動估計,其結(jié)果是一組運(yùn)動矢量MV-A,MV-B,MV-C,MV-D,和相應(yīng)的殘差絕對值和SAD-A,SAD-B,SAD-C,SAD-D。這些運(yùn)動矢量和殘差絕對值和被送往控制器(301)做進(jìn)一步處理。四個PE也有數(shù)據(jù)通路和控制通路互聯(lián)(310),使得它們可以協(xié)同起來完成比4×4更大的像素塊的運(yùn)動估計。
整個多模運(yùn)動估計器由一個當(dāng)前幀數(shù)據(jù)CACHE(306)和參考幀搜索窗口數(shù)據(jù)CACHE(307)提供輸入數(shù)據(jù),這些數(shù)據(jù)被分別引導(dǎo)到四個PE中。由于四個PE在做ME時,數(shù)據(jù)有一定的相關(guān)性,即4個PE的搜索窗口有一定的重疊。因此,這四個PE共用相同的一套CACHE裝置。
與大多數(shù)計算裝置一樣,本發(fā)明中的CACHE裝置是數(shù)據(jù)訪問(讀、寫)速度遠(yuǎn)遠(yuǎn)高于外部存儲器(311,312),容量遠(yuǎn)遠(yuǎn)小于外部存儲器,而一般來說制造成本(元/比特)高于外部存儲器的高速緩存部件。它是直接向多模運(yùn)動估計器提供數(shù)據(jù)的部件,更多的圖像數(shù)據(jù)被存放在外部存儲器(311,312)中。外部存儲器和CACHE之間有數(shù)據(jù)交換通道,但外部存儲器和多模運(yùn)動估計器之間沒有直接的數(shù)據(jù)交換通道。
圖4為本發(fā)明的一個具體實(shí)施例中高速緩存器的組織結(jié)構(gòu)。存放當(dāng)前幀數(shù)據(jù)的CACHE大小為8K(1K=1,024)字節(jié)(Byte,1字節(jié)=8個二進(jìn)制位bit),分為四個體,每個體為2K Bytes。每個體共有128個CACHE LINE,每個CACHE LINE的大小為16個字節(jié),分為4個四字節(jié)的字。此外,每個CACHE LINE還有一個TAG(標(biāo)志)字段。TAG字段不用來存放圖像數(shù)據(jù),而是控制器用來對CACHE數(shù)據(jù)訪問的一個控制字段。在一個具體實(shí)現(xiàn)例中,TAG字段的長度為11個二進(jìn)制位。
需要指出,圖4的構(gòu)造原理可以有不同的具體實(shí)現(xiàn),例如,CACHE的總大小可以大于或小于8K,CACHE內(nèi)的體數(shù)可以不必為四,每個體的大小和CACHE LINE個數(shù)不必為圖4給出的數(shù)字,等等。本發(fā)明的原理適用于所有這些變化。
圖5所示為在本發(fā)明中當(dāng)前幀圖像數(shù)據(jù)以4×4像素塊為基本單位存放在CACHE中。按照這一設(shè)計,無論是圖像數(shù)據(jù)被從外部存儲器中調(diào)入CACHE,還是CACHE中的圖像數(shù)據(jù)被調(diào)入多模運(yùn)動估計器參與運(yùn)動估計運(yùn)算,都是以4×4像素塊為整體單位進(jìn)行的。圖5并且顯示一個4×4像素塊在一個CACHE LINE中的存放策略,其中每個CACHE LINE的第一個字(4個字節(jié))存放該4*4像素塊的第一行的四個亮度值;第二個字存放該4*4像素塊的第二行的四個亮度值;第三個字存放該4*4像素塊的第三行的四個亮度值;第四個字存放該4*4像素塊的第四行的四個亮度值。
圖6所示為一幀當(dāng)前幀視頻圖像的局部被存放到CACHE中時的分配策略。如圖6A,被分配的圖像數(shù)據(jù)從左上角的像素起,被分割為若干4×4像素塊。我們以指標(biāo)i標(biāo)記每個4×4像素塊的行坐標(biāo),其中從最上面數(shù)起依次為第0,第1,...等等;以指標(biāo)j標(biāo)記每個4×4像素塊的列坐標(biāo),從最左邊數(shù)起依次為第0,第1,...等等。因此,一幀視頻圖像中最左上角的一個4×4像素塊的坐標(biāo)為(i,j)=(0,0),等等。
在本發(fā)明所針對的一個具體實(shí)現(xiàn)中,我們設(shè)指標(biāo)i和j的最大值為1023。因此,指標(biāo)i和j各分別可以用十個二進(jìn)制位來表示。這樣設(shè)計的裝置可以處理的最大圖像尺寸為4096×4096像素。當(dāng)這個原理和裝置被用來處理更大圖像時,只需增加指標(biāo)i和/或j的位數(shù)即可。
當(dāng)前幀圖像被存放到CACHE中時的分配規(guī)則是,第一,從左上角的像素起,亮度數(shù)據(jù)以4×4像素塊為單位被分配到CACHE中;第二,CACHE的第0個體總是存放i,j指標(biāo)均為偶數(shù)的4*4像素塊,第1個體總是存放i指標(biāo)為偶數(shù),j指標(biāo)為奇數(shù)的4*4像素塊,第2個體總是存放i指標(biāo)為奇數(shù),j指標(biāo)為偶數(shù)的4*4像素塊,第3個體總是存放i,j指標(biāo)均為奇數(shù)的4*4像素塊。
圖6B給出了這一規(guī)則的一個具體實(shí)現(xiàn)??梢钥闯?,按照這樣的分配規(guī)則,從圖像的左上角算起,組成每一個8×8像素塊的四個4*4像素塊剛好被分別分配到四個CACHE體中。事實(shí)上,從圖像的左上角算起,組成每一個8×8像素塊的四個4*4像素塊被稱為關(guān)聯(lián)4*4像素塊,如圖6C所示。
按照圖6顯示的分配規(guī)則,針對圖4中的具體實(shí)現(xiàn),可以同時有512個4*4像素塊被分配到當(dāng)前幀數(shù)據(jù)CACHE中。
圖7所示為控制器(301)對存放在CACHE中的當(dāng)前幀中的4*4像素塊進(jìn)行尋址。根據(jù)圖5的設(shè)計,每個在外部存儲器和CACHE之間、以及CACHE和多模運(yùn)動估計器之間數(shù)據(jù)交換的基本單位是一個4*4像素塊,因此,CACHE中被尋址的基本單位是一個CACHE LINE。
當(dāng)控制器要尋找CACHE中的一個4×4像素塊時,它需要給出兩個指標(biāo),一個是該4×4像素塊的行指標(biāo)i(701),另一個是該4×4像素塊的列指標(biāo)j(702)。其中,由行指標(biāo)的第0位和列指標(biāo)的第0位共同構(gòu)成一個體選擇信號(703),用來在CACHE中的四個體中選擇一個。由行指標(biāo)的第1,2位和列指標(biāo)的第1至5位共同構(gòu)成一個體內(nèi)CACHE LINE選擇信號(704),用來在被選中的CACHE體中指定一個CACHE LINE。這個被選中的CACHE體中的CACHE LINE(706)的TAG字段和4×4像素塊被分別讀出。最后,由行指標(biāo)的第3至9位和列指標(biāo)的第6至9位共同構(gòu)成一個TAG匹配信號(705),用來判斷被讀出的4×4像素塊數(shù)據(jù)(708)是否有效(通過一個比較器707)。如果被讀出的TAG信息與TAG匹配信號705相等,則被讀出的4×4像素塊就是所要找的數(shù)據(jù)(命中)。如果被讀出的TAG信息與TAG匹配信號705不相等,則被讀出的4×4像素塊不是所要找的數(shù)據(jù),為無效數(shù)據(jù)。
圖8所示為控制器訪問CACHE時的控制邏輯流程。當(dāng)控制器要尋找CACHE中的一個4×4像素塊時,它需要先確定該像素塊的行指標(biāo)和列指標(biāo)。圖8(B)顯示行指標(biāo)和列指標(biāo)分別與像素點(diǎn)陣坐標(biāo)(R,C)的關(guān)系。一幅數(shù)字化圖像被分為若干行(水平方向,用R標(biāo)記)和列(垂直方向,用C標(biāo)記),其中最左上角的像素的坐標(biāo)為R=0,C=0。如果當(dāng)前被考慮的4×4像素塊的左上角像素的坐標(biāo)為(R,C),則按照圖8(A)給出的算法,可以確定出該4×4像素塊的行、列指標(biāo)為i=R/4和j=C/4,這里“/”符號代表除法。
例如,假如當(dāng)前被考慮的4×4像素塊的左上角像素的坐標(biāo)為(R=8,C=16),則該4×4像素塊的行、列指標(biāo)分別為i=2和j=4。
接下來,控制器需要確定其它三個關(guān)聯(lián)像素塊的行、列指標(biāo)(圖8(A))。例如,假如當(dāng)前被考慮的4×4像素塊的4×4像素塊的行、列指標(biāo)分別為i=2和j=4,則與它緊鄰的右邊的關(guān)聯(lián)像素塊指標(biāo)為i=2和j=5,與它緊鄰的下邊的關(guān)聯(lián)像素塊指標(biāo)為i=3和j=4,與它緊鄰的右下方的關(guān)聯(lián)像素塊指標(biāo)為i=3和j=5,等等。
接下來,控制器將根據(jù)(i,j)值,根據(jù)圖7的方法,到CACHE中取出所需的像素塊數(shù)據(jù)。如果要找的數(shù)據(jù)就在CACHE中(命中),則控制流程進(jìn)入下一個步驟(例如,運(yùn)動估計中的求差值等運(yùn)算)。如果要找的數(shù)據(jù)不在CACHE中,則控制器從外部存儲器中將有關(guān)數(shù)據(jù)調(diào)入CACHE。調(diào)入數(shù)據(jù)在CACHE中的存放位置按圖7的規(guī)則計算。一次性被調(diào)入的數(shù)據(jù)包括本4×4像素塊的數(shù)據(jù)和相關(guān)聯(lián)的其它三個4×4像素塊的數(shù)據(jù)。同時,相關(guān)CACHE LINE的TAG值被重新計算并重置。然后,控制流程進(jìn)入下一個步驟(例如,運(yùn)動估計中的求差值等運(yùn)算)。
參考幀CACHE存放的是參考幀中搜索窗口的數(shù)據(jù)。其存放策略與當(dāng)前幀相同,即(1)以4×4像素塊為基本單位。(2)每個4×4像素塊有一個唯一對應(yīng)的(i,j)指標(biāo),由其左上角像素在參考幀中的坐標(biāo)按圖8(B)的計算方法確定。(3)參考幀的CACHE組織結(jié)構(gòu)與圖4相同,只是總?cè)萘看罅怂谋队?個CACHE體來存放參考幀的局部數(shù)據(jù),每個體的大小為8K字節(jié),每個CACHE行為16個字節(jié),每個體共有512 CACHE行。(4)CACHE的第0個體總是存放i,j指標(biāo)均為偶數(shù)的參考幀4*4像素塊,第1個體總是存放i指標(biāo)為偶數(shù),j指標(biāo)為奇數(shù)的參考幀4*4像素塊,第2個體總是存放i指標(biāo)為奇數(shù),j指標(biāo)為偶數(shù)的參考幀4*4像素塊,第3個體總是存放i,j指標(biāo)均為奇數(shù)的參考幀4*4像素塊。(5)當(dāng)需要的4*4像素塊不在CACHE中時,控制邏輯以8×8像素塊為單位將所需要的4*4像素塊及其相關(guān)聯(lián)的三個4*4像素塊從外部存儲器調(diào)入CACHE。
圖9所示為參考幀CACHE的尋址過程i坐標(biāo)的第0位以及j坐標(biāo)的第0位作為體選擇信號;i坐標(biāo)的第1位到第4位以及j坐標(biāo)的第1位到第5位作為體內(nèi)CACHE LINE選擇信號i坐標(biāo)的第5位到第9位以及j坐標(biāo)的第6位到第9位作為TAG匹配信號。
圖10所示為當(dāng)有多個參考幀時(例如,MPEG-2中的B-幀預(yù)測,和H.264中的多幀參考預(yù)測),CACHE的組織和尋址。其中,如果有L個參考幀,則裝置中有L個象圖9給出的CACHE來分別對這L個參考幀的數(shù)據(jù)進(jìn)行緩存。每個CACHE有4個CACHE體,每一個體有512個CACHE LINE,每一個CACHE LINE能存儲一個4×4像素塊的亮度數(shù)據(jù)。當(dāng)訪問參考幀CACHE時,控制器首先產(chǎn)生一個寬度至少為(log 2L)位的CACHE選擇信號(1000),來從L個CACHE中選擇一個CACHE進(jìn)行以下的操作。當(dāng)一個CACHE被選中后,接下來的尋址操作與圖9一樣。
最后需要指出,本發(fā)明所揭示的處理原則和結(jié)構(gòu)設(shè)計可以有許多變化,但這些變化不構(gòu)成對本發(fā)明的實(shí)質(zhì)性變更。例如,圖8中從外部存儲器調(diào)入數(shù)據(jù)到CACHE中的過程,并不局限于“一次性被調(diào)入的數(shù)據(jù)包括本4×4像素塊的數(shù)據(jù)和相關(guān)聯(lián)的其它三個4×4像素塊的數(shù)據(jù)”的規(guī)則,也適用于其它數(shù)據(jù)調(diào)入策略。另外,多參考幀時也可以不為各個參考幀都開辟一個CACHE,而是所有參考幀都共用一個CACHE中的4個CACHE體。這時只需要對Tag位作簡單的處理即可。
最后,雖然本發(fā)明提出的方法是針對視頻信號編碼過程提出的,但它同樣適用于對視頻信號的其它處理和分析過程,例如運(yùn)動預(yù)測,運(yùn)動分析,運(yùn)動跟蹤,等等。
權(quán)利要求
1.一種運(yùn)動估計的超大規(guī)模集成電路體系結(jié)構(gòu),用于數(shù)字視頻信號編碼的運(yùn)動估計步驟中的高速數(shù)據(jù)緩存和提供,其特征在于包括a)一個當(dāng)前幀數(shù)據(jù)緩存器;b)一個參考幀數(shù)據(jù)緩存器;c)當(dāng)前幀數(shù)據(jù)緩存器與外部存儲器之間的數(shù)據(jù)通道;d)參考幀數(shù)據(jù)緩存器與外部存儲器之間的數(shù)據(jù)通道;e)當(dāng)前幀數(shù)據(jù)緩存器與多模運(yùn)動估計器之間的數(shù)據(jù)通道;f)參考幀數(shù)據(jù)緩存器與多模運(yùn)動估計器之間的數(shù)據(jù)通道。
2.根據(jù)權(quán)利要求1所述的運(yùn)動估計的超大規(guī)模集成電路體系結(jié)構(gòu),其特征在于數(shù)據(jù)緩存器的組織結(jié)構(gòu)為a)數(shù)據(jù)緩存器分為四個物理體;b)每個物理體包含一定數(shù)目的高速緩存行(CACHE LINE);c)每個高速緩存行的大小為16個字節(jié),分為4個四字節(jié)的字;d)每個高速緩存行有一個標(biāo)志(TAG)字段。
3.據(jù)權(quán)利要求1所述的運(yùn)動估計的超大規(guī)模集成電路體系結(jié)構(gòu),其特征在于多模運(yùn)動估計器由四個內(nèi)部結(jié)構(gòu)完全一樣的處理單元PE-A(302),PE-B(303),PE-C(304),和PE-D(305)組成。
4.用于權(quán)利要求1所述的運(yùn)動估計的超大規(guī)模集成電路體系結(jié)構(gòu)中數(shù)據(jù)緩存的方法,其特征在于該方法包括以下步驟a)將外部存儲器所存放的部分像素數(shù)據(jù)調(diào)入高速數(shù)據(jù)緩存器;b)控制器訪問高速存儲器對當(dāng)前幀和參考幀數(shù)據(jù)進(jìn)行尋址;c)將當(dāng)前幀和參考幀數(shù)據(jù)調(diào)入多模運(yùn)動估計器進(jìn)行運(yùn)動估計。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)緩存的方法,其特征在于數(shù)據(jù)緩存器與外部存儲器所存放的像素數(shù)據(jù)間的映射方法包括a)像素數(shù)據(jù)以4×4像素塊為基本單位在高速數(shù)據(jù)緩存器和外部存儲器之間作整體移動;b)一次在高速數(shù)據(jù)緩存器和外部存儲器之間的數(shù)據(jù)移動,還包括三個關(guān)聯(lián)4×4像素塊,分別位于上述4×4像素塊的右側(cè)、下側(cè)、及右下側(cè);c)在從外部存儲器向高速數(shù)據(jù)緩存器調(diào)入數(shù)據(jù)時,一個4×4像素塊及其三個關(guān)聯(lián)4×4像素塊分別被分配到同一個高速數(shù)據(jù)緩存器中的四個不同的物理體的編號相同的高速緩存行(CACHE LINE)中。
6.根據(jù)權(quán)利要求4所述的數(shù)據(jù)緩存的方法,其特征在于數(shù)據(jù)緩存器與多模運(yùn)動估計器之間進(jìn)行像素數(shù)據(jù)交換的映射方法包括a)像素數(shù)據(jù)以4×4像素塊為基本單位在高速數(shù)據(jù)緩存器和多模運(yùn)動估計器之間作整體移動;b)多模運(yùn)動估計器中的所有處理單元PE-A,PE-B,PE-C,PE-D共同從同一個當(dāng)前幀高速數(shù)據(jù)緩存器獲取當(dāng)前幀像素數(shù)據(jù);c)多模運(yùn)動估計器中的所有處理單元PE-A,PE-B,PE-C,PE-D共同從同一個參考幀高速數(shù)據(jù)緩存器獲取參考幀像素數(shù)據(jù)。
7.根據(jù)權(quán)利要求4所述的數(shù)據(jù)緩存的方法,其特征在于高速數(shù)據(jù)緩存器的尋址方法包括a)由需要查找的4×4像素塊在原圖像中的位置計算其行指標(biāo)和列指標(biāo);b)由上述4×4像素塊的行指標(biāo)和列指標(biāo)確定三個關(guān)聯(lián)4×4像素塊的行指標(biāo)和列指標(biāo);c)由4×4像素塊的行指標(biāo)和列指標(biāo)聯(lián)合形成高速數(shù)據(jù)緩存器的緩存地址和TAG匹配信號;d)用TAG匹配信號判定高速緩存行中的數(shù)據(jù)是否是所要的4×4像素塊;e)如果高速緩存行中的數(shù)據(jù)不是所要的4×4像素塊,從外部存儲器將該4×4像素塊及關(guān)聯(lián)像素塊數(shù)據(jù)調(diào)入高速緩存器并修改TAG值。
8.根據(jù)權(quán)利要求1、4所述的運(yùn)動估計的超大規(guī)模集成電路體系結(jié)構(gòu)及數(shù)據(jù)緩存的方法,其特征在于有L個參考幀高速緩存器來分別對L個參考幀的數(shù)據(jù)進(jìn)行緩存。
9.根據(jù)權(quán)利要求7所述的運(yùn)動估計的超大規(guī)模集成電路體系結(jié)構(gòu)及數(shù)據(jù)緩存的方法,其特征在于當(dāng)有L個參考幀高速緩存器時,控制器首先產(chǎn)生一個選擇信號,從L個高速緩存器中選擇一個進(jìn)行操作。
全文摘要
本發(fā)明涉及數(shù)字視頻信號編碼中多尺度多模式運(yùn)動估計中數(shù)據(jù)緩存和提供的超大規(guī)模集成電路實(shí)現(xiàn)的體系結(jié)構(gòu)及處理過程。本發(fā)明所提出的裝置和方法的核心部件包括兩個可分別獨(dú)立尋址的超高速緩沖存儲器,用來分別存儲當(dāng)前幀和參考幀中的被處理數(shù)據(jù)。這種高速緩沖存儲器與外部存儲器以及與運(yùn)動估計器之間的數(shù)據(jù)交換以4×4數(shù)據(jù)塊為基本單位進(jìn)行;本發(fā)明提出了一整套方法來支持從4×4到16×16的各種模式運(yùn)動估計所需的高速數(shù)據(jù)提供;給出了地址形成的過程,以及數(shù)據(jù)查找策略。本發(fā)明特別適用于ITU-T H.264視頻編碼中多種塊模式運(yùn)動估計方法的集成電路硬件實(shí)現(xiàn),也同樣可以有效地支持其他視頻編碼方法(例如MPEG-2,MPEG-4等)的超大規(guī)模集成電路實(shí)現(xiàn)。
文檔編號H04N7/32GK1589030SQ20041007067
公開日2005年3月2日 申請日期2004年7月29日 優(yōu)先權(quán)日2004年7月29日
發(fā)明者劉華平, 王識霖 申請人:中芯聯(lián)合(北京)微電子有限公司