專利名稱:多模多尺度運(yùn)動估計(jì)的超大規(guī)模集成電路體系結(jié)構(gòu)及方法
技術(shù)領(lǐng)域:
本發(fā)明屬于電子行業(yè)技術(shù)領(lǐng)域,具體涉及一種超大規(guī)模集成電路體系結(jié)構(gòu),及該集成電路中進(jìn)行多尺度多模式運(yùn)動估計(jì)的方法。
背景技術(shù):
圖1是一般視頻編碼中以塊為單位的運(yùn)動估計(jì)(Motion Estimation,ME)的功能示意圖。運(yùn)動估計(jì)的方法是,對當(dāng)前幀圖像中一個被編碼的像素塊,在參考幀圖像中一個指定的窗口中搜索與之相差最小的像素塊,作為最佳匹配。運(yùn)動估計(jì)得到兩個值一個是被編碼的像素塊相對于參考幀中最佳匹配像素塊的偏移,即運(yùn)動矢量MV(Motion Vector);另一個是被編碼像素塊與最佳匹配像素之間的殘差絕對值之和SAD。這部分計(jì)算占了整個編碼過程計(jì)算量的很大比重,因此,這部分硬件的執(zhí)行效率直接關(guān)系到整個集成電路芯片是否有效運(yùn)行。
圖2是ITU-TH.264/MPEG-4AVC標(biāo)準(zhǔn)中運(yùn)動估計(jì)的功能示意圖。在這個標(biāo)準(zhǔn)中,有七種不同尺寸和形狀的像素塊被用于運(yùn)動估計(jì)。
運(yùn)動估計(jì)在整個視頻編碼過程中占有相當(dāng)重要的地位,也占有了大量的處理器資源,尤其在H.264中引入了從4×4到16×16塊的各種尺度的各種模式的運(yùn)動估計(jì)技術(shù),進(jìn)一步增加了運(yùn)動估計(jì)的計(jì)算量和復(fù)雜度,因此使運(yùn)動估計(jì)過程靈活高效地進(jìn)行是實(shí)現(xiàn)H.264實(shí)時(shí)編碼的一個重要條件。
由于技術(shù)改進(jìn)、市場化進(jìn)程、和標(biāo)準(zhǔn)化過程三者之間的不同步發(fā)展,視頻編碼領(lǐng)域內(nèi)形成了多種編碼標(biāo)準(zhǔn)共存的局面。因此,在同一個計(jì)算平臺上對包括MPEG-1/2/4和H.264在內(nèi)的多種數(shù)字視頻編碼標(biāo)準(zhǔn)的支持是必要的。
發(fā)明內(nèi)容
本發(fā)明的一個目的是提供一種超大規(guī)模集成電路體系結(jié)構(gòu),為進(jìn)行靈活高效的運(yùn)動估計(jì)提供一種硬件結(jié)構(gòu)。
一種超大規(guī)模集成電路體系結(jié)構(gòu),用于多尺度多模式運(yùn)動估計(jì),其特征在于包括一個當(dāng)前幀像素塊數(shù)據(jù)提供器;一個參考幀搜索窗口塊數(shù)據(jù)提供器;一個多模運(yùn)動估計(jì)器;一個控制器。
其中多模運(yùn)動估計(jì)器由四個內(nèi)部結(jié)構(gòu)完全一樣的處理單元PE-A(302),PE-B(303),PE-C(304),和PE-D(305)組成。
四個處理單元PE-A(302),PE-B(303),PE-C(304),和PE-D(305)與控制器(301)之間的控制和通道;四個處理單元PE-A(302),PE-B(303),PE-C(304),和PE-D(305)之間的數(shù)據(jù)通道和控制通道。
本發(fā)明的另一個目的是提供一種在該超大規(guī)模集成電路體系結(jié)構(gòu)中的計(jì)算方法,使運(yùn)動估計(jì)過程得以靈活高效地進(jìn)行。
該方法包括以下步驟當(dāng)前幀像素塊數(shù)據(jù)器和參考幀搜索窗口塊數(shù)據(jù)器的數(shù)據(jù)調(diào)入多模運(yùn)動估計(jì)器。
多模運(yùn)動估計(jì)器根據(jù)控制器的指令靈活地對數(shù)據(jù)采用不同的工作模式進(jìn)行運(yùn)動估計(jì)。
多模運(yùn)動估計(jì)器在16個SAD16部件下對不同的工作模式實(shí)現(xiàn)高效運(yùn)動估計(jì)。
其中多模運(yùn)動估計(jì)器能夠?qū)崿F(xiàn)的不同工作模式運(yùn)動估計(jì)方法包括第一種工作模式下,四個PE各自并行地獨(dú)立工作,生成針對四個不同的4×4像素塊的運(yùn)動估計(jì)結(jié)果MV和SAD。
第二種工作模式下,PE-A和PE-B協(xié)同工作,生成針對一個8×4像素塊的MV和SAD;與此同時(shí),PE-C和PE-D協(xié)同工作,生成針對另一個8×4像素塊的MV和SAD。
第三種工作模式下,PE-A和PE-C協(xié)同工作,生成針對一個4×8像素塊的MV和SAD;與此同時(shí),PE-B和PE-D協(xié)同工作,生成針對另一個4×8像素塊的MV和SAD。
第四種工作模式下,四個PE協(xié)同工作,生成針對一個8×8像素塊的MV和SAD。
第五、六種工作模式下,四個PE協(xié)同工作,并且循環(huán)計(jì)算兩次,得出針對一個8×16或反向16×8像素塊的MV和SAD。
第七種工作模式下,四個PE協(xié)同工作,并且循環(huán)計(jì)算四次,生成針對一個16×16像素塊的MV和SAD。
其中多模運(yùn)動估計(jì)器在16個SAD16部件下對不同的工作模式實(shí)現(xiàn)高效運(yùn)動估計(jì)的方法包括第一種工作模式下,四個PE各自并行地獨(dú)立工作,每個PE中的四個SAD16的輸出端連接到一個比較器上。
第二種工作模式下,把PE-A中的四個SAD16的輸出端和PE-B中的四個SAD16的輸出端分別連接到四個加法器上,這四個加法器的輸出再被送到比較器上。同樣地,PE-C中的四個SAD16的輸出端和PE-D中的四個SAD16的輸出端分別連接到四個加法器上,這四個加法器的輸出再被送到比較器上。
第三種工作模式下,多模運(yùn)動估計(jì)器的工作模式與第二種模式類似,但PE搭配不同,由PE-A和PE-C協(xié)同工作、PE-B和PE-D協(xié)同工作,得到與第二種工作模式反向的MV和SAD。
第四種工作模式下,四個PE協(xié)同工作,各自的四個SAD16的輸出端分別連接到四個加法器上,這四個加法器的輸出再被送到比較器上.
第五、六、七種工作模式下,其運(yùn)動估計(jì)的實(shí)現(xiàn)需要對多模運(yùn)動估計(jì)器重復(fù)使用一次以上,實(shí)現(xiàn)方法可以是純軟件的,即完全由圖3中的控制器(301)完成;也可以是純硬件的,即完全由多模運(yùn)動估計(jì)器完成;還可以是一個軟硬件協(xié)同工作的過程。由于有控制器中軟件程序的參與,因此實(shí)現(xiàn)的方式并非唯一。
本發(fā)明針對數(shù)字視頻及圖像編碼、轉(zhuǎn)碼等計(jì)算處理過程中的運(yùn)動估計(jì)步驟,提出了一種靈活、高效的計(jì)算方法,及其專用超大規(guī)模集成電路并行實(shí)現(xiàn)結(jié)構(gòu)。使得基于其開發(fā)的新一代多模ASIC芯片組可支持包括最新的ITU-TH.264(即MPEG-4第10部分)標(biāo)準(zhǔn)和中國的AVS標(biāo)準(zhǔn)在內(nèi)的所有MPEG/ITU-TH.26x類標(biāo)準(zhǔn)。適用范圍涵蓋包括數(shù)字電視、網(wǎng)絡(luò)媒體、信息家電、多媒體移動通訊、激光視盤等在內(nèi)的多個產(chǎn)業(yè)領(lǐng)域。
圖1為一般視頻編碼中以塊為單位的運(yùn)動估計(jì)(Motion Estimation,ME)的功能示意圖;
圖2為ITU-TH.264/MPEG-4 AVC標(biāo)準(zhǔn)中運(yùn)動估計(jì)的功能示意圖;圖3為本發(fā)明超大規(guī)模集成電路體系結(jié)構(gòu);圖4為本發(fā)明實(shí)現(xiàn)的第一種工作模式;圖5為本發(fā)明實(shí)現(xiàn)的第二種工作模式;圖6為本發(fā)明實(shí)現(xiàn)的第三種工作模式;圖7為本發(fā)明實(shí)現(xiàn)的第四種工作模式;圖8為本發(fā)明實(shí)現(xiàn)的第五、六種工作模式;圖9為本發(fā)明實(shí)現(xiàn)的第七種工作模式;圖10顯示多模運(yùn)動估計(jì)器ME的組成結(jié)構(gòu),即數(shù)據(jù)提供單元和計(jì)算單元;圖11顯示對本發(fā)明構(gòu)造原理的不同實(shí)現(xiàn)方式;圖12介紹計(jì)算單元的基本計(jì)算部件SAD16;圖13顯示四個SAD16部件在多模運(yùn)動估計(jì)器中的配置情形;圖14顯示十六個SAD16部件在多模運(yùn)動估計(jì)器中的配置情形;圖15顯示十六個SAD16部件下第一種工作模式(圖4)的運(yùn)動估計(jì);圖16顯示第一種工作模式(圖4)中任意一個PE處的數(shù)據(jù)提供情況;圖17顯示十六個SAD16部件下第二種工作模式(圖5)的運(yùn)動估計(jì);圖18介紹第二種工作模式(圖5)中當(dāng)前幀中的關(guān)聯(lián)4×4像素塊和參考幀中的關(guān)聯(lián)搜索位置;圖19顯示第二種工作模式(圖5)中的數(shù)據(jù)提供情況;圖20顯示十六個SAD16部件下第三種工作模式(圖6)的運(yùn)動估計(jì);圖21介紹第三種工作模式(圖6)中當(dāng)前幀中的關(guān)聯(lián)4×4像素塊和參考幀中的關(guān)聯(lián)搜索位置;
圖22顯示第三種工作模式(圖6)中的數(shù)據(jù)提供情況;圖23顯示十六個SAD16部件下第四種工作模式(圖7)的運(yùn)動估計(jì);圖24顯示十六個SAD16部件下第四種工作模式(圖7)的運(yùn)動估計(jì);圖25介紹第四種工作模式(圖7)中當(dāng)前幀中的關(guān)聯(lián)4×4像素塊和參考幀中的關(guān)聯(lián)搜索位置;圖26介紹第五、六、七種工作模式(圖8、9)中當(dāng)前幀中的關(guān)聯(lián)4×4像素塊和參考幀中的關(guān)聯(lián)搜索位置;具體實(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)動估計(jì)的并行裝置。如果它被重復(fù)使用更多的次數(shù),它也能對大于16×16的像素塊進(jìn)行運(yùn)動估計(jì)。
整個裝置的行為由一個控制器(301)控制。計(jì)算的發(fā)起和操作模式選擇均由控制器發(fā)出的操作指令(308)決定。裝置的核心部件是由四個內(nèi)部結(jié)構(gòu)完全一樣的處理單元PE-A(302),PE-B(303),PE-C(304),和PE-D(305)組成的多模運(yùn)動估計(jì)器。每個PE能獨(dú)立完成一個4×4大小的像素塊的運(yùn)動估計(jì),其結(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)動估計(jì)。
整個多模運(yùn)動估計(jì)器由一個當(dāng)前幀數(shù)據(jù)CACHE(306)和參考幀搜索窗口數(shù)據(jù)CACHE(307)提供輸入數(shù)據(jù),這些數(shù)據(jù)被分別引導(dǎo)到四個PE中。
控制器(301)具有一定的處理能力,例如加法,求絕對值,比較大小等??刂破?301)可以用指令序列即程序?qū)Χ嗄_\(yùn)動估計(jì)器的工作模式和數(shù)據(jù)準(zhǔn)備進(jìn)行控制。
整個裝置能以7種不同的工作模式進(jìn)行運(yùn)動估計(jì)。
圖4是本發(fā)明實(shí)現(xiàn)的第一種工作模式。即四個PE各自并行地獨(dú)立工作,生成針對四個不同的4×4像素塊的運(yùn)動估計(jì)結(jié)果MV和SAD。這種工作模式支持H.264中的編碼過程。
圖5是本發(fā)明實(shí)現(xiàn)的第二種工作模式PE-A和PE-B協(xié)同工作,生成針對一個8×4像素塊的MV和SAD;與此同時(shí),PE-C和PE-D協(xié)同工作,生成針對另一個8×4像素塊的MV和SAD。這種工作模式支持H.264中的編碼過程。
圖6是本發(fā)明實(shí)現(xiàn)的第三種工作模式PE-A和PE-C協(xié)同工作,生成針對一個4×8像素塊的MV和SAD;與此同時(shí),PE-B和PE-D協(xié)同工作,生成針對另一個4×8像素塊的MV和SAD。這種工作模式支持H.264中的編碼過程。
圖7是本發(fā)明實(shí)現(xiàn)的第四種工作模式這四個PE協(xié)同工作,生成針對一個8×8像素塊的MV和SAD。這種工作模式支持包括H.264在內(nèi)的MPEG族標(biāo)準(zhǔn)的編碼過程。
圖8是本發(fā)明實(shí)現(xiàn)的第五種工作模式這四個PE協(xié)同工作,并且循環(huán)計(jì)算兩次,得出針對一個8×16像素塊的MV和SAD。這種工作模式支持H.264中的編碼過程。
圖8同時(shí)也顯示第六種工作模式這四個PE協(xié)同工作,并且循環(huán)計(jì)算兩次,得出針對一個16×8像素塊的MV和SAD。這種工作模式支持H.264中的編碼過程。
圖9是本發(fā)明實(shí)現(xiàn)的第七種工作模式這四個PE協(xié)同工作,并且循環(huán)計(jì)算四次,生成針對一個16×16像素塊的MV和SAD。這種工作模式支持包括H.264在內(nèi)的MPEG族標(biāo)準(zhǔn)的編碼過程。
圖10顯示多模運(yùn)動估計(jì)器ME部分主要由兩類單元組成一是計(jì)算單元;二是為計(jì)算單元提供數(shù)據(jù)的單元。其中,提供數(shù)據(jù)的單元被分別分割成PE-A,PE-B,PE-C,和PE-D等四個處理單元,而計(jì)算單元有兩種實(shí)現(xiàn)方式。圖10A顯示各個處理單元分別獨(dú)享一個計(jì)算單元的構(gòu)造;圖10B表示各個處理單元共享一套計(jì)算單元的構(gòu)造。
圖11是顯示對本發(fā)明構(gòu)造原理(見圖3)的不同實(shí)現(xiàn)方式。其中圖11(A)和11(B)給出了少于四個4×4的PE的情形。在圖11(A)中,整個多模運(yùn)動估計(jì)器只含有一個能完成4×4像素塊的運(yùn)動估計(jì)的PE,控制器通過多次、串行地調(diào)用這個PE的處理功能,來完成任意尺度像素塊的運(yùn)動估計(jì)。在圖11(B)中,有兩個PE可被調(diào)用。這時(shí)控制器可利用的計(jì)算資源增加了一倍。在圖11(C)中給出了多模運(yùn)動估計(jì)器中,4×4的PE個數(shù)多于四個的一個例子。在這個具體例子中,有八個可以獨(dú)立運(yùn)行的PE被利用于多模運(yùn)動估計(jì)器中。
圖12介紹計(jì)算單元的一個基本計(jì)算部件SAD16。在流水處理情形中,它每個時(shí)鐘節(jié)拍可以產(chǎn)生一個關(guān)于16對數(shù)的SAD結(jié)果。這個基本部件有很多構(gòu)造方法。本發(fā)明適用于所有這些方法。
圖13是顯示四個SAD16部件在多模運(yùn)動估計(jì)器中的配置情形。對于圖10中顯示的兩類多模運(yùn)動估計(jì)器來說,如果每個PE擁有一套SAD16(圖13A),或者這四個PE共享四套SAD16(圖13B),則整個多模運(yùn)動估計(jì)器每一個時(shí)鐘節(jié)拍便產(chǎn)生關(guān)于四個4×4像素塊的SAD結(jié)果。對應(yīng)的四個運(yùn)動矢量可以從取操作數(shù)的地址容易地獲得,有許多方法可以對此實(shí)現(xiàn),本發(fā)明不對此做具體描述。
圖14是顯示十六個SAD16部件在多模運(yùn)動估計(jì)器中的配置情形。對于圖10中顯示的兩類多模運(yùn)動估計(jì)器來說,如果每個PE擁有4套SAD16(圖14A),或者這四個PE共享16套SAD16(圖14B),則整個多模運(yùn)動估計(jì)器每一個時(shí)鐘節(jié)拍便產(chǎn)生關(guān)于十六個4×4像素塊的SAD結(jié)果。
以下我們給出圖14中的多模運(yùn)動估計(jì)器在七種工作模式(見圖4-9)的每一種情形中的計(jì)算工作描述。同時(shí)我們要指出,所描述的原理對于圖11中給出的每一種變化的構(gòu)造都是適用的,不同的只是完成計(jì)算工作所用的時(shí)間(節(jié)拍數(shù))大小而已。
圖15顯示圖14中的多模運(yùn)動估計(jì)器在圖4所示的第一種工作模式中的計(jì)算工作(亦即四個PE并行獨(dú)立工作,分別對四個4×4像素塊進(jìn)行運(yùn)動估計(jì))。在這種模式中,每個PE中的四個SAD16的輸出端被連接到一個比較器上。比較器既可以是兩端口的,一次給出兩個被比較數(shù)的最小數(shù)判決;也可以是四端口的,一次給出四個被比較數(shù)的最小數(shù)判決。比較器既可以是多模運(yùn)動估計(jì)器內(nèi)部的一個計(jì)算邏輯部件,也可以是控制器中的一個計(jì)算邏輯。同時(shí),比較器還具有一個記憶單元存放以前最小的SAD值,當(dāng)新的SAD值被送至比較器并完成比較后,新產(chǎn)生的最小SAD值將與以前的最小SAD比較,其中較小的一個SAD將被存放在比較器中。
圖16顯示第一種工作模式(圖4)中任意一個PE處的數(shù)據(jù)提供情況。第一種工作模式中,每個PE中的數(shù)據(jù)提供單元分別向計(jì)算單元提供運(yùn)動估計(jì)操作所需要的、當(dāng)前幀中同一個4×4像素塊的數(shù)據(jù),以及所分別對應(yīng)的參考幀中搜索窗口內(nèi)四個搜索位置上的數(shù)據(jù)。
在每個PE處,由于每個SAD16部件每個節(jié)拍均能產(chǎn)生一個SAD16結(jié)果,故按照圖16的數(shù)據(jù)提供方式,每個節(jié)拍每個PE能就當(dāng)前幀中的一個4×4像素塊產(chǎn)生出在搜索窗口中四個不同位置的SAD值。這些SAD值被送到比較器處以便確定最小SAD及其所在位置。由于一個多模運(yùn)動估計(jì)器中有四個PE,因此,每個節(jié)拍該多模運(yùn)動估計(jì)器能就當(dāng)前幀中的四個4×4像素塊分別產(chǎn)生出在搜索窗口中四個不同位置的SAD值,并同時(shí)分別確定出四個對應(yīng)的最小SAD值。
圖17顯示,圖14中的多模運(yùn)動估計(jì)器在圖5所示的第二種工作模式中的計(jì)算工作(亦即PE-A和PE-B兩個PE協(xié)同工作,PE-C和PE-D兩個PE協(xié)同工作,分別對兩個8×4像素塊進(jìn)行運(yùn)動估計(jì)的情況)。在這種模式中,PE-A中的四個SAD16的輸出端和PE-B中的四個SAD16的輸出端分別被連接到四個加法器上,這四個加法器的輸出再被送到比較器上。同樣地,PE-C中的四個SAD16的輸出端和PE-D中的四個SAD16的輸出端分別被連接到四個加法器上,這四個加法器的輸出再被送到比較器上。
圖18表示第二種工作模式(圖5)中,關(guān)聯(lián)4×4像素塊和關(guān)聯(lián)搜索位置的概念。其中,當(dāng)一個當(dāng)前幀中被進(jìn)行運(yùn)動估計(jì)的4×4像素塊(1801)被確定后,其關(guān)聯(lián)像素塊是在同一幀中緊鄰其右側(cè)的4×4像素塊(1802)。當(dāng)一個參考幀中的搜索窗口內(nèi)的搜索位置(1803)被確定后,其關(guān)聯(lián)搜索位置是在同一幀中緊鄰其右側(cè)的下一個位置(1804)。
圖19顯示第二種工作模式(圖5)中的數(shù)據(jù)提供情況。四個PE中的數(shù)據(jù)提供單元分別向計(jì)算單元提供運(yùn)動估計(jì)操作所需要的、當(dāng)前幀中兩個8×4像素塊的數(shù)據(jù),以及分別對應(yīng)的參考幀中搜索窗口內(nèi)四個搜索位置上的數(shù)據(jù)。
在每個PE處,由于每個SAD16部件每個節(jié)拍均能產(chǎn)生一個SAD16結(jié)果,故按照圖19的數(shù)據(jù)提供方式,每個節(jié)拍每個PE對(即PE-A和PE-B,PE-C和PE-D)能就當(dāng)前幀中的一個8×4像素塊產(chǎn)生出在搜索窗口中四個不同位置的SAD值。這些SAD值被送到比較器處以便確定最小SAD及其所在位置。由于一個多模運(yùn)動估計(jì)器中有兩個PE對,因此,每個節(jié)拍該多模運(yùn)動估計(jì)器能就當(dāng)前幀中的兩個8×4像素塊分別產(chǎn)生出在搜索窗口中四個不同位置的SAD值,并同時(shí)分別確定出兩個對應(yīng)的最小SAD值。
圖20至圖22顯示在圖6所示的第三種工作模式中,多模運(yùn)動估計(jì)器中,兩個PE對(PE-A和PE-C,PE-B和PE-D)協(xié)同工作,每個節(jié)拍就當(dāng)前幀中的兩個4×8像素塊分別產(chǎn)生出在搜索窗口中四個不同位置的SAD值,并同時(shí)分別確定出兩個對應(yīng)的最小SAD值。對這些圖的描述與第二種工作模式(圖17至圖19)是類似的,所不同的是,PE對的搭配不同(圖20),關(guān)聯(lián)像素塊和關(guān)聯(lián)搜索位置的概念不同(圖21)。
圖23至圖25顯示在圖7所示的第四種工作模式中,多模運(yùn)動估計(jì)器中,四個PE協(xié)同工作,每個節(jié)拍就當(dāng)前幀中的一個8×8像素塊產(chǎn)生出在搜索窗口中四個不同位置的SAD值,并同時(shí)確定出一個最小SAD值。
對于長或?qū)挻笥?個像素點(diǎn)的三類像素塊(8×16,16×8,16×16)來說,其運(yùn)動估計(jì)的實(shí)現(xiàn)需要對多模運(yùn)動估計(jì)器重復(fù)使用一次以上,實(shí)現(xiàn)方法可以是純軟件的,即完全由圖3中的控制器(301)完成;也可以是純硬件的,即完全由多模運(yùn)動估計(jì)器完成;還可以是一個軟硬件協(xié)同工作的過程。由于有控制器中軟件程序的參與,因此實(shí)現(xiàn)的方式不是唯一的,以下給出三種具體實(shí)現(xiàn)方法(embodiment)。同時(shí)需要聲明,本發(fā)明的原理和構(gòu)造對不同的、采用圖3結(jié)構(gòu)的、軟硬件協(xié)同的實(shí)現(xiàn)方式皆適用。
圖26顯示圖8、9所示的第五、六、七種工作模式中當(dāng)前幀中的關(guān)聯(lián)像素塊和參考幀中的關(guān)聯(lián)搜索位置。對于8×16像素塊的運(yùn)動估計(jì)(圖8所示的第五種工作模式),可以分為三步實(shí)現(xiàn)把當(dāng)前幀中的一個8×16像素塊的上半部分(8×8像素)作為像素塊,先用第四種工作模式(圖7)把在參考幀中搜索窗口內(nèi)四個搜索位置上的不同的SAD值計(jì)算出來,并保存起來。
把該8×16像素塊的下半部分(8×8像素)作為關(guān)聯(lián)像素塊,用第四種工作模式(圖7)把參考幀中搜索窗口內(nèi)四個關(guān)聯(lián)位置上的SAD計(jì)算出來,并保存起來。
把第1步得到的四個搜索位置上的不同的SAD值分別和第2步得到的四個關(guān)聯(lián)位置上的SAD值相加,得到這四個位置上的關(guān)于原8×16像素塊在這四個搜索位置上的SAD值;然后通過比較得出這4個位置上最小的SAD。
類似地,對于16×8像素塊的運(yùn)動估計(jì)(圖8所示的第六種工作模式),可以分為三步實(shí)現(xiàn)把當(dāng)前幀中的一個16×8像素塊的左半部分(8×8像素)作為像素塊,先用模式4把在參考幀中搜索窗口內(nèi)四個搜索位置上的不同的SAD值計(jì)算出來,并保存起來。
把該16×8像素塊的右半部分(8×8像素)作為關(guān)聯(lián)像素塊,用第四種工作模式(圖7)把參考幀中搜索窗口內(nèi)四個關(guān)聯(lián)位置上的SAD計(jì)算出來,并保存起來。
把第一步得到的四個搜索位置上的不同的SAD值分別和第二步得到的四個關(guān)聯(lián)位置上的SAD值相加,得到這四個位置上的關(guān)于原16×8像素塊在這四個搜索位置上的SAD值;然后通過比較得出這4個位置上最小的SAD。
對于16×16像素塊的運(yùn)動估計(jì)(圖9所示的第七種工作模式),可以分為五步實(shí)現(xiàn)把當(dāng)前幀中的一個16×16像素塊的左上角部分(8×8像素)作為像素塊,先用第四種工作模式(圖7)把在參考幀中搜索窗口內(nèi)四個搜索位置上的不同的SAD值計(jì)算出來,并保存起來。
把該16×16像素塊的右上角部分(8×8像素)作為關(guān)聯(lián)像素塊,用第四種工作模式(圖7)把參考幀中搜索窗口內(nèi)四個關(guān)聯(lián)位置上的SAD計(jì)算出來,并保存起來。
把該16×16像素塊的左下角部分(8×8像素)作為關(guān)聯(lián)像素塊,用第四種工作模式(圖7)把參考幀中搜索窗口內(nèi)四個關(guān)聯(lián)位置上的SAD計(jì)算出來,并保存起來。
把該16×16像素塊的右下角部分(8×8像素)作為關(guān)聯(lián)像素塊,用第四種工作模式(圖7)把參考幀中搜索窗口內(nèi)四個關(guān)聯(lián)位置上的SAD計(jì)算出來,并保存起來。
把第一步得到的四個搜索位置上的不同的SAD值分別和第二、三、四步得到的四個關(guān)聯(lián)位置上的SAD值相加,得到這四個位置上的關(guān)于原16×16像素塊在這四個搜索位置上的SAD值;然后通過比較得出這4個位置上最小的SAD。
最后需要指出,雖然本發(fā)明提出的方法是針對視頻信號編碼過程提出的,但它同樣適用于對視頻信號的其它處理和分析過程,例如運(yùn)動預(yù)測,運(yùn)動分析,運(yùn)動跟蹤,等等。
權(quán)利要求
1.一種超大規(guī)模集成電路體系結(jié)構(gòu),用于多尺度多模式運(yùn)動估計(jì),其特征在于包括1)一個能完成4×4,4×8,8×4,8×8,8×16,16×8,16×16等尺度像素塊運(yùn)動估計(jì)的多模運(yùn)動估計(jì)器;2)一個通過向上述多模運(yùn)動估計(jì)器發(fā)出指令來決定該多模運(yùn)動估計(jì)器執(zhí)行何種尺度像素塊運(yùn)動估計(jì)的控制器;3)一個為上述多模運(yùn)動估計(jì)器提供當(dāng)前幀像素塊數(shù)據(jù)的數(shù)據(jù)提供器和一個為上述多模運(yùn)動估計(jì)器提供參考幀搜索窗口數(shù)據(jù)的數(shù)據(jù)提供器。
2.根據(jù)權(quán)利要求1所述的多模多尺度運(yùn)動估計(jì)的超大規(guī)模集成電路體系結(jié)構(gòu),其特征在于多模運(yùn)動估計(jì)器的組織結(jié)構(gòu)為1)多模運(yùn)動估計(jì)器由四個內(nèi)部結(jié)構(gòu)完全一樣的處理單元PE-A,PE-B,PE-C,和PE-D組成;2)四個處理單元PE-A,PE-B,PE-C,和PE-D均能接受控制器的指令,以決定工作模式;3)四個處理單元PE-A,PE-B,PE-C,和PE-D均從一個共享或獨(dú)享的當(dāng)前幀像素塊數(shù)據(jù)提供器和一個共享或獨(dú)享的參考幀搜索窗口數(shù)據(jù)提供器獲得輸入數(shù)據(jù);4)每個處理單元PE均能獨(dú)立完成一個4×4大小的像素塊的運(yùn)動估計(jì),其結(jié)果是一組運(yùn)動矢量MV-A,MV-B,MV-C,MV-D,和相應(yīng)的殘差絕對值和SAD-A,SAD-B,SAD-C,SAD-D。這些運(yùn)動矢量和殘差絕對值和被送往控制器。
3.根據(jù)權(quán)利要求1和權(quán)利要求2所述的多模運(yùn)動估計(jì)器,其特征在于多模運(yùn)動估計(jì)器中每個處理單元PE的內(nèi)部構(gòu)造包括一個基本計(jì)算部件SAD16。在流水處理情形中,該基本計(jì)算部件SAD16每個時(shí)鐘節(jié)拍可以產(chǎn)生一個關(guān)于16對整數(shù)的差的絕對值的和(SAD)。
4.用于權(quán)利要求1所述的多模多尺度運(yùn)動估計(jì)的超大規(guī)模集成電路體系結(jié)構(gòu)中,使運(yùn)動估計(jì)過程得以靈活高效進(jìn)行的計(jì)算方法包括以下步驟1)控制器向多模運(yùn)動估計(jì)器發(fā)出指令以決定運(yùn)動估計(jì)的不同工作模式;2)當(dāng)前幀像素塊數(shù)據(jù)提供器和參考幀搜索窗口塊數(shù)據(jù)提供器的數(shù)據(jù)被調(diào)入多模運(yùn)動估計(jì)器;3)多模運(yùn)動估計(jì)器中的四個基本處理單元PE-A,PE-B,PE-C,PE-D根據(jù)控制器指令所決定的模式,分別獨(dú)立并行地對當(dāng)前幀像素塊數(shù)據(jù)提供器和參考幀搜索窗口塊數(shù)據(jù)提供器的數(shù)據(jù)進(jìn)行運(yùn)動估計(jì);4)多模運(yùn)動估計(jì)器產(chǎn)生的運(yùn)動矢量和殘差絕對值和被送往控制器。
5.根據(jù)權(quán)利要求4所述的多模多尺度運(yùn)動估計(jì)的方法,其特征在于多模運(yùn)動估計(jì)器能夠?qū)崿F(xiàn)不同工作模式的運(yùn)動估計(jì),包括1)第一種工作模式,四個PE各自并行地獨(dú)立工作,生成針對四個不同的4×4像素塊的運(yùn)動估計(jì)結(jié)果MV和SAD;2)第二種工作模式,PE-A和PE-B協(xié)同工作,生成針對一個8×4像素塊的MV和SAD;與此同時(shí),PE-C和PE-D協(xié)同工作,生成針對另一個8×4像素塊的MV和SAD;3)第三種工作模式,PE-A和PE-C協(xié)同工作,生成針對一個4×8像素塊的MV和SAD;與此同時(shí),PE-B和PE-D協(xié)同工作,生成針對另一個4×8像素塊的MV和SAD;4)第四種工作模式,四個PE協(xié)同工作,生成針對一個8×8像素塊的MV和SAD;5)第五種工作模式,四個PE協(xié)同工作,并且循環(huán)計(jì)算兩次,得出針對一個8×16像素塊的MV和SAD;6)第六種工作模式,四個PE協(xié)同工作,并且循環(huán)計(jì)算兩次,得出針對一個16×8像素塊的MV和SAD;7)第七種工作模式,四個PE協(xié)同工作,并且循環(huán)計(jì)算四次,生成針對一個16×16像素塊的MV和SAD。
6.根據(jù)權(quán)利要求4和權(quán)利要求5所述的多模多尺度運(yùn)動估計(jì)的方法,第一種工作模式的實(shí)現(xiàn)方法,其特征在于四個PE各自并行地獨(dú)立工作,每個PE中的四個SAD16的輸出端連接到一個比較器上,每個節(jié)拍該多模運(yùn)動估計(jì)器就當(dāng)前幀中的四個4×4像素塊分別產(chǎn)生出在搜索窗口中四個不同位置的SAD值,并同時(shí)分別確定出四個對應(yīng)的最小SAD值。
7.根據(jù)權(quán)利要求4和權(quán)利要求5所述的多模多尺度運(yùn)動估計(jì)的方法,當(dāng)兩個PE或四個PE協(xié)同工作時(shí)的方法,其特征在于1)在第二種工作模式中,設(shè)定當(dāng)前被編碼的4×4像素塊的右側(cè)的4×4像素塊為關(guān)聯(lián)像素塊;2)在第三種工作模式中,設(shè)定當(dāng)前被編碼的4×4像素塊的下側(cè)的4×4像素塊為關(guān)聯(lián)像素塊;3)在第四種工作模式中,設(shè)定當(dāng)前被編碼的4×4像素塊的右側(cè)、下側(cè)、和下側(cè)的三個4×4像素塊為關(guān)聯(lián)像素塊;4)在第二種工作模式中,設(shè)定搜索窗口中當(dāng)前位置上的4×4像素塊的右側(cè)的4×4像素塊為關(guān)聯(lián)搜索像素塊;5)在第三種工作模式中,設(shè)定搜索窗口中當(dāng)前位置上的4×4像素塊的下側(cè)的4×4像素塊為關(guān)聯(lián)搜索像素塊;6)在第四種工作模式中,設(shè)定搜索窗口中當(dāng)前位置上的4×4像素塊的右側(cè)、下側(cè)、和右下側(cè)的三個4×4像素塊為關(guān)聯(lián)搜索像素塊;
8.根據(jù)權(quán)利要求4、權(quán)利要求5、和權(quán)利要求7所述的多模多尺度運(yùn)動估計(jì)的方法,當(dāng)兩個PE或四個PE協(xié)同工作時(shí)的方法,其特征在于1)在第二種工作模式中,采用附加加法器,將PE-A和PE-B中的SAD16得到的結(jié)果作為部分和,相加得到關(guān)于一個8×4像素塊的SAD結(jié)果;以及采用附加加法器,將PE-C和PE-D中的SAD16得到的結(jié)果作為部分和,相加得到關(guān)于一個8×4像素塊的SAD結(jié)果;2)在第三種工作模式中,采用附加加法器,將PE-A和PE-C中的SAD16得到的結(jié)果作為部分和,相加得到關(guān)于一個4×8像素塊的SAD結(jié)果;以及采用附加加法器,將PE-B和PE-D中的SAD16得到的結(jié)果作為部分和,相加得到關(guān)于一個4×8像素塊的SAD結(jié)果;3)在第四種工作模式中,采用附加加法器,將PE-A、PE-B、PE-C、和PE-D中的SAD16得到的結(jié)果作為部分和,相加得到關(guān)于一個8×8像素塊的SAD結(jié)果。
9.根據(jù)權(quán)利要求4、5、7和權(quán)利要求8所述的多模多尺度運(yùn)動估計(jì)的方法,第五、六、七種工作模式的實(shí)現(xiàn)方法,其特征在于1)在第五種工作模式中,設(shè)定當(dāng)前被編碼的8×8像素塊的下側(cè)的8×8像素塊為關(guān)聯(lián)像素塊;2)在第六種工作模式中,設(shè)定當(dāng)前被編碼的8×8像素塊的右側(cè)的8×8像素塊為關(guān)聯(lián)像素塊;3)在第七種工作模式中,設(shè)定當(dāng)前被編碼的8×8像素塊的右側(cè)、下側(cè)、和右下側(cè)的三個8×8像素塊為關(guān)聯(lián)像素塊;4)在第五種工作模式中,設(shè)定搜索窗口中當(dāng)前位置上的8×8像素塊的下側(cè)的8×8像素塊為關(guān)聯(lián)搜索像素塊;5)在第六種工作模式中,設(shè)定搜索窗口中當(dāng)前位置上的8×8像素塊的右側(cè)的8×8像素塊為關(guān)聯(lián)搜索像素塊;6)在第七種工作模式中,設(shè)定搜索窗口中當(dāng)前位置上的8×8像素塊的右側(cè)、下側(cè)、和右下側(cè)的三個8×8像素塊為關(guān)聯(lián)搜索像素塊。
10.根據(jù)權(quán)利要求4、5、7、8和權(quán)利要求9所述的多模多尺度運(yùn)動估計(jì)的方法,第五、六、七種工作模式的實(shí)現(xiàn)方法,其特征在于1)運(yùn)動估計(jì)的實(shí)現(xiàn)是一個軟硬件協(xié)同工作,即控制器和多模運(yùn)動估計(jì)器協(xié)同完成的過程;2)運(yùn)動估計(jì)的實(shí)現(xiàn)需要對多模運(yùn)動估計(jì)器按工作模式4重復(fù)使用一次以上;3)運(yùn)動估計(jì)的實(shí)現(xiàn)采用分步操作的辦法,即通過權(quán)利要求7、8中第四種工作模式即四個PE協(xié)同工作的方法和權(quán)利要求9中的設(shè)定關(guān)聯(lián)像素塊和關(guān)聯(lián)搜索位置的計(jì)算方法,由多模運(yùn)動估計(jì)器對各8×8像素塊和關(guān)聯(lián)像素塊求出四個搜索位置上的SAD值并送至控制器,由控制器相加總和,最后比較得出最小的SAD值。
全文摘要
本發(fā)明涉及數(shù)字視頻信號編碼中多尺度多模式運(yùn)動估計(jì)的超大規(guī)模集成電路實(shí)現(xiàn)的體系結(jié)構(gòu)及處理過程。本發(fā)明所提出的裝置和方法的核心部件為由四個內(nèi)部結(jié)構(gòu)完全一樣的處理單元PE-A、PE-B、PE-C和PE-D組成的多模運(yùn)動估計(jì)器,和一個控制器。該裝置通過四個PE彼此間的協(xié)作運(yùn)算、控制器對各PE的任務(wù)分配、以及對各處理單元中基本計(jì)算部件SAD
文檔編號H01L21/82GK1588638SQ200410058030
公開日2005年3月2日 申請日期2004年8月9日 優(yōu)先權(quán)日2004年8月9日
發(fā)明者劉華平, 王識霖, 苑澤生 申請人:中芯聯(lián)合(北京)微電子有限公司