專(zhuān)利名稱(chēng):采用自適應(yīng)搜索策略的快速多幀運(yùn)動(dòng)估計(jì)的制作方法
采用自適應(yīng)搜索策略的快速多幀運(yùn)動(dòng)估計(jì)本申請(qǐng)是申請(qǐng)日為2004年10月14日,題為“采用自適應(yīng)搜索策略的快速多幀運(yùn)動(dòng)估計(jì)”,申請(qǐng)?zhí)枮?00910222053. 7的專(zhuān)利申請(qǐng)的分案申請(qǐng)。
背景技術(shù):
運(yùn)動(dòng)補(bǔ)償經(jīng)常與圖像數(shù)據(jù)壓縮編碼結(jié)合使用。采用運(yùn)動(dòng)補(bǔ)償?shù)膱D像數(shù)據(jù)壓縮編碼技術(shù)的ー個(gè)實(shí)例是已經(jīng)提出的H. 264標(biāo)準(zhǔn)(更正式地稱(chēng)為高級(jí)視頻編碼(AVC)標(biāo)準(zhǔn),由國(guó)際標(biāo)準(zhǔn)化組織(ISO)的運(yùn)動(dòng)圖像專(zhuān)家組和國(guó)際電信聯(lián)盟的電信標(biāo)準(zhǔn)化部門(mén)(ITU-T)的視頻編碼專(zhuān)家組(VCEG)聯(lián)合形成的聯(lián)合視頻小組(JV T)開(kāi)發(fā))。在H. 264編碼中,將矩形塊的像素?cái)?shù)據(jù)從先前幀的參考?jí)K中減去,并且對(duì)得到的差值信息進(jìn)行變換以得到系數(shù)數(shù)據(jù)。量化該系數(shù)數(shù)據(jù),然后對(duì)得到的信息重新排序并進(jìn)行熵編碼,以用于傳輸和/或記錄。為了利用視頻信號(hào)中的時(shí)間冗余性,即使是在圖像中存在運(yùn)動(dòng)和/或相機(jī)移動(dòng)吋,參考?jí)K也可以在圖像幀中從當(dāng)前正在編碼的塊處進(jìn)行位移。參考?jí)K的位移稱(chēng)為“運(yùn)動(dòng)補(bǔ)償”?!斑\(yùn)動(dòng)估計(jì)”過(guò)程確定在先前幀中(在搜索窗中)哪個(gè)像素塊與當(dāng)前正在編碼的塊最佳匹配。在當(dāng)前編碼的塊和先前幀中最佳匹配塊之間的位移用“運(yùn)動(dòng)矢量”表示,其是運(yùn)動(dòng)估計(jì)過(guò)程得到的結(jié)果。運(yùn)動(dòng)矢量包含在“邊信息”中,“邊信息”與當(dāng)前塊的經(jīng)過(guò)變換、量化、重新排序、熵編碼的差值信息一起發(fā)送。運(yùn)動(dòng)補(bǔ)償使得在當(dāng)前像素塊與參考?jí)K之間的差值最小化,從而能夠使得需要發(fā)送/記錄的數(shù)據(jù)量最小化。運(yùn)動(dòng)補(bǔ)償視頻壓縮編碼的ー個(gè)問(wèn)題是編碼所需的處理量。運(yùn)動(dòng)估計(jì)可以包括處理負(fù)荷的相當(dāng)大的一部分,特別是采用所謂的“全捜索”算法吋。還提出了所謂的“快速捜索”算法,其中采用了縮小的搜索圖形(pattern),輕微降低了圖像質(zhì)量。
圖I是根據(jù)一些實(shí)施例的圖像數(shù)據(jù)處理系統(tǒng)的高級(jí)別方框圖;圖2是圖I中系統(tǒng)的圖像數(shù)據(jù)壓縮編碼部分的方框圖;圖3采用功能塊的形式示出了圖2的壓縮編碼部分的操作;圖4A-4C共同形成流程圖,示出了圖2的壓縮編碼部分根據(jù)ー些實(shí)施例所執(zhí)行的運(yùn)動(dòng)估計(jì)過(guò)程;圖5示意性地示出了圖4A-4C的運(yùn)動(dòng)估計(jì)過(guò)程中,在一些情況中使用的六角形搜索圖形;以及圖6示意性地示出圖4A-4C的運(yùn)動(dòng)估計(jì)過(guò)程中,在另ー些情況中使用的十字(cross)搜索圖形。
具體實(shí)施例方式圖I是根據(jù)一些實(shí)施例的圖像數(shù)據(jù)處理系統(tǒng)100的方框圖。圖像數(shù)據(jù)處理系統(tǒng)100包括壓縮編碼部分102,其是根據(jù)一些實(shí)施例提供的。系統(tǒng)110還包括圖像數(shù)據(jù)幀源104。圖像數(shù)據(jù)幀源耦合到壓縮編碼部分,用來(lái)為壓縮編碼部分提供圖像數(shù)據(jù)幀序列。圖像數(shù)據(jù)幀源可以是,例如攝像機(jī)、電視電影、數(shù)字視頻磁帶再生設(shè)備等。系統(tǒng)100還包括傳輸信道106。壓縮編碼部分耦合到傳輸信道,用來(lái)提供經(jīng)過(guò)壓縮編碼的圖像數(shù)據(jù)。傳輸信道還可以用于將經(jīng)過(guò)壓縮編碼的圖像數(shù)據(jù)發(fā)送到另一位置和/或者將經(jīng)過(guò)壓縮編碼的圖像數(shù)據(jù)存儲(chǔ)到記錄介質(zhì)(未単獨(dú)示出)上。圖2是圖像數(shù)據(jù)壓縮編碼部分102的實(shí)施例的方框圖。壓縮編碼部分102可以包括處理器202。處理器202可以是例如通用處理器,諸如常規(guī)微處理器,以及/或者數(shù)字信號(hào)處理器(DSP)。壓縮編碼部分102還可以包括存儲(chǔ)設(shè)備204,其耦合到處理器。存儲(chǔ)設(shè)備204可以存儲(chǔ)程序指令,所述程序指令控制處理器,使得處理器根據(jù)如下所述的ー些實(shí)施例執(zhí)行圖像數(shù)據(jù)壓縮編碼。壓縮編碼部分還可以包括工作存儲(chǔ)器206 ( S卩,RAM-隨機(jī)存取存儲(chǔ)器),其耦合到處理器202。在另ー實(shí)施例中,壓縮編碼部分102可以實(shí)現(xiàn)為特定用途集成電路(ASIC),其配置為根據(jù)如下所述的ー些實(shí)施例執(zhí)行圖像數(shù)據(jù)壓縮編碼。圖3采用功能塊的形式示出了壓縮編碼部分102的操作。在圖3中,當(dāng)前正在壓縮編碼的輸入圖像數(shù)據(jù)幀用302表示。根據(jù)H. 264標(biāo)準(zhǔn),可以分別處理每個(gè)“宏塊”(16X16的像素塊)。此外,如果有利的話,每個(gè)宏塊可以再分為8X16、16X8或者8X8的塊。如果還有利的話,每個(gè)8X8的塊還可以再分為8X4、4X8或者4X4的塊。無(wú)論是否進(jìn)行了再分,每個(gè)宏塊都可以采用“幀內(nèi)”模式或者“幀間”模式(即,幀內(nèi)預(yù)測(cè)或者幀間預(yù)測(cè))進(jìn)行編碼。304表示對(duì)特定塊選擇了幀內(nèi)模式。用開(kāi)關(guān)306表示在幀間預(yù)測(cè)的參考?jí)K和幀內(nèi)的預(yù)測(cè)參考?jí)K之間進(jìn)行選擇。開(kāi)關(guān)306的輸出是預(yù)測(cè)的參考?jí)K。預(yù)測(cè)的參考?jí)K是從重建的幀中取出的,該重建的幀在幀內(nèi)預(yù)測(cè)308的情況中是當(dāng)前處理的幀(未濾波),或者是已經(jīng)在312處進(jìn)行了濾波并存儲(chǔ)在314中的先前幀310,其也可能是與一個(gè)或多個(gè)其他先前幀一起存儲(chǔ)在314中。在一些實(shí)施例中,可以從中選擇最大到5個(gè)的先前幀,來(lái)在幀間模式中提供預(yù)測(cè)的參考?jí)K。這5個(gè)先前幀可以按照與時(shí)間相反的順序稱(chēng)為“RefO”、“Ren”、“Ref2”、“Ref3”和“Ref4”。RefO可以是在輸入的圖像數(shù)據(jù)幀序列中在當(dāng)前正在壓縮編碼的幀之前最緊鄰的幀;Refl可以是在該圖像數(shù)據(jù)幀序列中在RefO之前最緊鄰的幀;Ref2可以是在該圖像數(shù)據(jù)幀序列中在Refl之前最緊鄰的幀;Ref3可以是在該圖像數(shù)據(jù)幀序列中在Ref2之前最緊鄰的幀;以及Ref4可以是在該圖像數(shù)據(jù)幀序列中在Ref3之前最緊鄰的幀。如316所示,可以對(duì)參考幀運(yùn)用運(yùn)動(dòng)估計(jì)算法,為在當(dāng)前幀中的當(dāng)前塊或者子塊尋找在參考幀中的最佳匹配塊或者子塊。以下闡述了根據(jù)ー些實(shí)施例提供的運(yùn)動(dòng)估計(jì)算法的細(xì)節(jié)。除了以下所述的運(yùn)動(dòng)估計(jì)算法之外,圖3中所示的全部壓縮編碼過(guò)程整體上可以根據(jù)常規(guī)原理,例如在H. 264標(biāo)準(zhǔn)中所闡述的原理來(lái)執(zhí)行。采用由運(yùn)動(dòng)估計(jì)過(guò)程316所產(chǎn)生的運(yùn)動(dòng)矢量,可以對(duì)參考幀進(jìn)行運(yùn)動(dòng)補(bǔ)償318,來(lái)選擇參考?jí)K。通過(guò)開(kāi)關(guān)功能306,可以將參考?jí)K施加到差值功能320,差值功能320從當(dāng)前正在壓縮編碼的塊中減去參考?jí)K。(注意,在幀內(nèi)模式中,是采用來(lái)自當(dāng)前幀的參考?jí)K。)采用塊變換(如322所示)對(duì)通過(guò)從當(dāng)前編碼的塊中減去參考?jí)K而生成的差值數(shù)據(jù)塊進(jìn)行變換,并量化所得到的變換系數(shù),如324所示。然后對(duì)量化的變換系數(shù)重新排序(塊326)以提高編碼效率,然后對(duì)其進(jìn)行熵編碼(塊328)。在該點(diǎn)處,已經(jīng)得到了壓縮比特流,其包括經(jīng)過(guò)量化、重新排序、熵編碼的變換系數(shù),以及標(biāo)識(shí)例如預(yù)測(cè)模式、量化步長(zhǎng)、塊大小、運(yùn)動(dòng)矢量等等的邊信息。然后將該比特流傳送到網(wǎng)絡(luò)提取層(NAL),用于傳輸或存儲(chǔ)。重建分支過(guò)程330得到量化的變換系數(shù),并進(jìn)行逆量化(塊332),然后對(duì)解量化的數(shù)據(jù)進(jìn)行逆變換(塊334),生成差值數(shù)據(jù)。在求和功能336處,將差值數(shù)據(jù)與參考?jí)K相加,生成重建的塊。所得到的重建的塊可以用于在308處的幀內(nèi)預(yù)測(cè),或者與其他塊合并來(lái)形成重建的幀,在312對(duì)重建的幀進(jìn)行濾波,并在314將其存儲(chǔ)為用于幀間預(yù)測(cè)的參考幀。圖4A-4C共同形成示出圖3的運(yùn)動(dòng)估計(jì)算法316的流程圖,如根據(jù)ー些實(shí)施例所提供的。在圖4A中,塊402表示對(duì)于當(dāng)前正在壓縮編碼的圖像數(shù)據(jù)幀的ー個(gè)宏塊開(kāi)始運(yùn)動(dòng)估計(jì)算法。塊404表示將運(yùn)動(dòng)估計(jì)算法運(yùn)用到每個(gè)可能的不同塊或子塊大小或形狀,以允許從使得差值數(shù)據(jù)量最小化的角度來(lái)選擇最優(yōu)塊大小/形狀。在一些實(shí)施例中,塊大小選擇循環(huán)404考慮16X 16、8X 16、16X8、8X8、4X8、8X4和4X4的塊大小丨形狀中的每ー 個(gè)??紤]不同塊大小的順序可以遵循從16X16到4X4的大小下降的順序,以便可以利用上層的運(yùn)動(dòng)矢量信息。在塊大小選擇循環(huán)404中嵌套了參考幀循環(huán)406,參考幀循環(huán)406使得對(duì)于當(dāng)前塊/子塊考慮完整的參考幀組或者截短的參考幀組。在一些實(shí)施例中,完整的參考幀組包括RefO、RefU Ref2, Ref3和Ref4,截短的參考幀組包括RefO、Refl和Ref2。根據(jù)ー些實(shí)施例,根據(jù)以下描述的準(zhǔn)則來(lái)在完整的參考幀組和截短的參考幀組之間進(jìn)行選擇。從另ー個(gè)角度看,可以考慮RefO、Refl和Ref2形成第一參考幀組,在一些實(shí)施例中在所有情況下都要對(duì)其進(jìn)行檢查,而可以考慮Ref3和Ref4形成第二(實(shí)際中是更早的)參考幀組,在這些實(shí)施例中,有時(shí)不對(duì)其進(jìn)行檢查。RefO可以稱(chēng)為是第一參考幀組中的幀中的“最后ー個(gè)”;Refl可以稱(chēng)為是第一參考幀組中的幀中的“中間ー個(gè)”;Ref2可以稱(chēng)為是第一參考幀組中的幀中的“最早一個(gè)”;Ref3可以稱(chēng)為是第二參考幀組中的“后ー個(gè)”;Ref4可以稱(chēng)為是第二參考幀組中的“前一個(gè)”??紤]參考幀的順序可以如在本段中第二句中所述(即,首先考慮最近的)。如在此所用的和附帯的權(quán)利要求中所用的,“參考幀組”不是必須要包含ー個(gè)以上的幀。因此,對(duì)于當(dāng)前正在壓縮編碼的宏塊而言,對(duì)于正在考慮的整個(gè)宏塊或者子宏塊,以及對(duì)于當(dāng)前正在考慮的參考幀,要進(jìn)行以下過(guò)程。首先,在塊408,對(duì)于在將運(yùn)動(dòng)估計(jì)算法運(yùn)用到當(dāng)前正在考慮的參考幀時(shí)所生成的運(yùn)動(dòng)矢量,執(zhí)行統(tǒng)計(jì)分析。可以預(yù)期運(yùn)動(dòng)矢量大致服從對(duì)稱(chēng)指數(shù)分布??梢约僭O(shè)運(yùn)動(dòng)矢量在X方向和Y方向上獨(dú)立,從而使得組合概率分布可以定義為Pmv (x, y) = Px(x)PY(y)(I)在此,Px(X)和PY(y)分別是運(yùn)動(dòng)矢量在X方向和Y方向上的概率分布。Px(X)和Py(y)可以服從如下定義的指數(shù)分布P (η) = λ , η = O 時(shí)(2a)P (η) = (1/2) λ β |η|,π 不等于 O 時(shí)(2b)從概率分布的物理意義的角度看,等式(2)應(yīng)該滿(mǎn)足在搜索窗口中的概率總和為I的限制。換而言之,如果搜索窗ロ大小為W,則對(duì)于在范圍-W到W中的n,P (η)的總和等于I。運(yùn)動(dòng)矢量的均值絕對(duì)值MVmean可以定義為對(duì)于在范圍-W到W中的η的P (η)(In |+1)的總和·從上述中,可以獲得以下
權(quán)利要求
1.一種用于選擇塊匹配搜索圖形的方法,包括 確定第一圖像數(shù)據(jù)幀的特性,所述特性是在所述第一圖像數(shù)據(jù)幀中的運(yùn)動(dòng)補(bǔ)償所采用的運(yùn)動(dòng)矢量的統(tǒng)計(jì)特性;以及 根據(jù)所確定的特性,在對(duì)于第二圖像數(shù)據(jù)幀所使用的第一塊匹配搜索圖形和對(duì)于所述第二圖像數(shù)據(jù)幀所使用的第二塊匹配搜索圖形之間進(jìn)行選擇,所述第二幀在圖像數(shù)據(jù)幀序列中緊鄰著所述第一幀之后。
2.如權(quán)利要求I所述的方法,其中,所述確定步驟包括 檢查在所述第一圖像數(shù)據(jù)幀中的運(yùn)動(dòng)補(bǔ)償所采用的運(yùn)動(dòng)矢量的統(tǒng)計(jì)分布,以生成在所述第一幀中所述運(yùn)動(dòng)矢量的分布模型,所述分布模型是所述運(yùn)動(dòng)矢量的范圍以及相關(guān)聯(lián)的概率,其中所述選擇步驟進(jìn)一步至少部分地基于所述分布模型。
3.如權(quán)利要求2所述的方法,其中,所述選擇步驟包括在六角形搜索圖形和十字捜索圖形之間進(jìn)行選擇。
4.如權(quán)利要求2所述的方法,其中,所述檢查步驟包括計(jì)算在所述第一幀中的運(yùn)動(dòng)補(bǔ)償所采用的所述運(yùn)動(dòng)矢量的平均值。
5.如權(quán)利要求2所述的方法,其中,所述檢查步驟包括計(jì)算菱形區(qū)域的大小,該菱形區(qū)域包含在所述第一幀中的運(yùn)動(dòng)補(bǔ)償所采用的所述運(yùn)動(dòng)矢量的至少99 %。
6.如權(quán)利要求I所述的方法,還包括 確定對(duì)于所述第二幀的像素?cái)?shù)據(jù)塊所使用的運(yùn)動(dòng)矢量,所述確定步驟是采用所選擇的塊匹配捜索圖形執(zhí)行的。
7.如權(quán)利要求6所述的方法,還包括 對(duì)所述第二幀的所述像素?cái)?shù)據(jù)塊執(zhí)行運(yùn)動(dòng)補(bǔ)償壓縮編碼,所述運(yùn)動(dòng)補(bǔ)償壓縮編碼利用了對(duì)于所述第二幀的所述像素?cái)?shù)據(jù)塊所使用的所述運(yùn)動(dòng)矢量。
全文摘要
一種方法,包括檢查在第一圖像數(shù)據(jù)幀中的運(yùn)動(dòng)補(bǔ)償所采用的運(yùn)動(dòng)矢量的統(tǒng)計(jì)分布。所述檢查用于生成在所述第一幀中所述運(yùn)動(dòng)矢量的分布模型。該方法還包括至少部分地根據(jù)所述分布模型,選擇對(duì)于第二圖像數(shù)據(jù)幀所使用的塊匹配搜索圖形。所述第二幀是在圖像數(shù)據(jù)幀序列中在所述第一幀之后。
文檔編號(hào)H04N7/26GK102685495SQ20121010925
公開(kāi)日2012年9月19日 申請(qǐng)日期2004年10月14日 優(yōu)先權(quán)日2004年10月14日
發(fā)明者埃里克·李 申請(qǐng)人:英特爾公司