專利名稱:譯碼單元的局部運(yùn)動(dòng)向量推導(dǎo)的方法與相應(yīng)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是與視頻處理的運(yùn)動(dòng)補(bǔ)償相關(guān),更準(zhǔn)確地,本發(fā)明是與譯碼單元(coding unit)的視頻譯碼中執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)的方法以及執(zhí)行上述方法的裝置有關(guān)。
背景技術(shù):
運(yùn)動(dòng)向量補(bǔ)償是視頻壓縮中對(duì)視頻數(shù)據(jù)進(jìn)行編碼與解碼所使用的技術(shù)。通過(guò)運(yùn)動(dòng)補(bǔ)償?shù)膸椭?,?dāng)前圖像能夠以一或多個(gè)參考圖像的某些部分來(lái)描繪,其中上述參考圖像可為時(shí)間上提前或者延后。典型地,圖像可通過(guò)運(yùn)動(dòng)補(bǔ)償而由先前所傳輸/存儲(chǔ)的圖像來(lái)準(zhǔn)確地合成,并且可提升壓縮效率。隨著編碼技術(shù)的進(jìn)步,關(guān)于新標(biāo)準(zhǔn)的設(shè)計(jì)被引進(jìn)以更增進(jìn)壓縮效率。
發(fā)明內(nèi)容
因此,本發(fā)明目的之一是提供一種在譯碼單元的視頻譯碼過(guò)程中執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)的方法,并且提供執(zhí)行上述方法的相關(guān)裝置,以提高視頻處理的壓縮效率。本發(fā)明的一個(gè)實(shí)施方式提供了一種在譯碼單元的視頻譯碼過(guò)程中執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)的方法,上述方法包含將譯碼單元分割為多個(gè)子譯碼單元進(jìn)行處理;對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)。更具體來(lái)說(shuō),其中對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)的步驟包含通過(guò)利用至少一其他子譯碼/譯碼單元的至少一運(yùn)動(dòng)向量,獲得特定子譯碼單元的運(yùn)動(dòng)向量;以及通過(guò)利用不同于獲得特定子譯碼單元的運(yùn)動(dòng)向量所使用的運(yùn)動(dòng)向量的至少一運(yùn)動(dòng)向量,獲得譯碼單元的另一子譯碼單元的運(yùn)動(dòng)向量。此外,上述方法包含依據(jù)特定子譯碼單元的運(yùn)動(dòng)向量,對(duì)特定子譯碼單元執(zhí)行運(yùn)動(dòng)補(bǔ)償。本發(fā)明的另一實(shí)施方式提供了一種對(duì)譯碼單元的視頻譯碼過(guò)程中執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)的裝置,上述裝置包含處理電路,執(zhí)行上述譯碼單元的視頻譯碼。處理電路包含 預(yù)處理模塊與至少一個(gè)譯碼模塊。其中上述預(yù)處理模塊將譯碼單元分割為多個(gè)子譯碼單元進(jìn)行處理,并且對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè),其中預(yù)處理模塊通過(guò)利用至少一其他子譯碼/譯碼單元的至少一運(yùn)動(dòng)向量,獲得特定子譯碼單元的運(yùn)動(dòng)向量,以及依據(jù)特定子譯碼單元的運(yùn)動(dòng)向量對(duì)特定子譯碼單元執(zhí)行運(yùn)動(dòng)補(bǔ)償,其中預(yù)處理模塊通過(guò)利用不同于獲得特定子譯碼單元的運(yùn)動(dòng)向量所使用的運(yùn)動(dòng)向量的至少一運(yùn)動(dòng)向量,獲得譯碼單元中另一子譯碼單元的運(yùn)動(dòng)向量。并且上述至少一譯碼模塊依據(jù)預(yù)處理模塊執(zhí)行的運(yùn)動(dòng)補(bǔ)償來(lái)對(duì)譯碼單元執(zhí)行視頻譯碼本發(fā)明的又一實(shí)施方式提供了一種在譯碼單元的視頻譯碼中執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)的方法,上述方法包含接收譯碼單元,其中譯碼單元包含多個(gè)子譯碼單元;解析譯碼單元的數(shù)據(jù);以及依據(jù)預(yù)定準(zhǔn)則指定譯碼單元的特定子譯碼單元的參考運(yùn)動(dòng)向量,其中上述參考運(yùn)動(dòng)向量是用來(lái)供給至少一其他子譯碼/譯碼單元參考,并且并非使用上述參考運(yùn)動(dòng)向量來(lái)進(jìn)行特定子譯碼單元的運(yùn)動(dòng)向量預(yù)測(cè)。本發(fā)明的優(yōu)勢(shì)在于編碼器與解碼器可適當(dāng)?shù)貓?zhí)行局部運(yùn)動(dòng)向量推導(dǎo)。通過(guò)利用本發(fā)明的方法與相應(yīng)裝置,運(yùn)動(dòng)向量預(yù)測(cè)操作與運(yùn)動(dòng)補(bǔ)償操作可提高編碼效率。
圖IA舉例說(shuō)明了依據(jù)本發(fā)明第一實(shí)施方式的在譯碼單元的視頻譯碼過(guò)程中執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)的裝置100的簡(jiǎn)單示意圖。圖IB舉例說(shuō)明了本發(fā)明的圖IA所示的實(shí)施方式中的幀間/幀內(nèi)預(yù)測(cè)模塊110的預(yù)測(cè)操作。圖2為依據(jù)本發(fā)明實(shí)施方式的在譯碼單元的視頻譯碼過(guò)程中執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)的方法910的流程圖。圖3-6是依據(jù)本發(fā)明的圖2所示的實(shí)施方式的方法910的不同實(shí)施方式的相關(guān)細(xì)節(jié)圖。
具體實(shí)施例方式在說(shuō)明書(shū)及后續(xù)的申請(qǐng)專利范圍當(dāng)中使用了某些詞匯來(lái)指稱特定的組件。所屬領(lǐng)域中具有通常知識(shí)者應(yīng)可理解,制造商可能會(huì)用不同的名詞來(lái)稱呼同樣的組件。本說(shuō)明書(shū)及后續(xù)的申請(qǐng)專利范圍并不以名稱的差異來(lái)作為區(qū)分組件的方式,而是以組件在功能上的差異來(lái)作為區(qū)分的基準(zhǔn)。在通篇說(shuō)明書(shū)及后續(xù)的請(qǐng)求項(xiàng)當(dāng)中所提及的“包含”是為一開(kāi)放式的用語(yǔ),故應(yīng)解釋成“包含但不限定于”。另外,“耦接”一詞在此是包含任何直接及間接的電氣連接手段。因此,若文中描述第一裝置耦接于第二裝置,則代表第一裝置可直接電氣連接于第二裝置,或透過(guò)其他裝置或連接手段間接地電氣連接至第二裝置。請(qǐng)參考圖1A,圖IA舉例說(shuō)明了依據(jù)本發(fā)明第一實(shí)施方式的在譯碼單元的視頻譯碼中執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)的裝置100的簡(jiǎn)單示意圖。裝置100包含幀間/幀內(nèi)預(yù)測(cè)模塊(inter/intra prediction module) 110,計(jì)算單元 120,轉(zhuǎn)換以及量化模塊(transform and quantization module) 130,j;商譯石馬電各(entropy coding circuit) 140,反轉(zhuǎn)換以及反量化模塊(inversed transform and inversed quantization module) 150,重建電各 (reconstruction circuit) 160,解塊濾波器(deblocking filter) 170,巾貞緩沖器(frame buffer) 180。裝置100能夠?qū)Τ跏夹盘?hào)109執(zhí)行視頻譯碼,以產(chǎn)生一個(gè)攜帶編碼結(jié)果的輸出信號(hào),例如攜帶熵譯碼電路140的輸出的輸出信號(hào)。舉例來(lái)說(shuō),初始信號(hào)109可代表具有譯碼單元數(shù)據(jù)的輸入視頻,并且熵譯碼電路140的輸出可為一比特流(bitstream)輸出。依據(jù)第一實(shí)施方式,幀間/幀內(nèi)預(yù)測(cè)模塊110是用來(lái)執(zhí)行幀間/幀內(nèi)預(yù)測(cè),以產(chǎn)生預(yù)測(cè)信號(hào)119。如圖IA所示,計(jì)算單元120是用來(lái)執(zhí)行初始信號(hào)109與幀間/幀內(nèi)預(yù)測(cè)模塊110所產(chǎn)生的預(yù)測(cè)信號(hào)119之間的算術(shù)計(jì)算,例如減法計(jì)算。此外,轉(zhuǎn)換與量化模塊130、 熵譯碼電路、反轉(zhuǎn)換以及反量化模塊150、重建電路160是用來(lái)分別執(zhí)行轉(zhuǎn)換與量化,熵編碼,反轉(zhuǎn)化與反量化以及重建操作。因此,重建電路160產(chǎn)生一個(gè)攜帶重建操作的重建結(jié)果的重建信號(hào)169。另外,解塊濾波器170是用來(lái)對(duì)重建信號(hào)169執(zhí)行解塊操作,以獲得一個(gè)攜帶了解塊視頻數(shù)據(jù)的解塊信號(hào)179,以暫時(shí)存儲(chǔ)在幀緩沖器180中,并且?guī)g/幀內(nèi)預(yù)測(cè)模塊110能夠通過(guò)恢復(fù)信號(hào)(restored signal) 189自幀緩沖器180中存取解塊視頻數(shù)據(jù)。 上述說(shuō)明僅僅用來(lái)舉例,而并非為本發(fā)明的限制。依據(jù)第一實(shí)施方式的一些變型,可省略解塊濾波器170以及其解塊操作,重建信號(hào)169所攜帶的重建結(jié)果可暫時(shí)存儲(chǔ)在幀緩沖器180中,并且?guī)g/幀內(nèi)預(yù)測(cè)模塊110能夠通過(guò)恢復(fù)信號(hào)189存取上述重建結(jié)果。具體來(lái)說(shuō),至少一部分(例如一部分或者全部)裝置100可由硬件電路(hardware circuit)來(lái)實(shí)現(xiàn)。舉例來(lái)說(shuō),裝置100可由針對(duì)譯碼單元執(zhí)行視頻譯碼的處理電路 (processing circuit)來(lái)實(shí)現(xiàn),其中上述處理電路可包含預(yù)處理模塊(preprocessing module)與至少譯碼模塊(coding module),上述預(yù)處理模塊包含幀間/幀內(nèi)預(yù)測(cè)模塊110, 上述譯碼模塊包含計(jì)算單元120,轉(zhuǎn)換以及量化模塊130,熵譯碼電路140,反轉(zhuǎn)換以及反量化模塊150,重建電路160,解塊濾波器170。具體來(lái)說(shuō),裝置100的一或多個(gè)組件可由數(shù)字信號(hào)處理技術(shù)來(lái)實(shí)現(xiàn)。上述說(shuō)明僅僅用來(lái)舉例說(shuō)明,而并非為本發(fā)明的限制。依據(jù)第一實(shí)施方式的一些變型,裝置100的至少一部分可通過(guò)程序模塊(program module)來(lái)實(shí)現(xiàn)。舉例來(lái)說(shuō),處理電路可為執(zhí)行多個(gè)程序模塊的處理器,其中執(zhí)行第一部分程序模塊的處理器可執(zhí)行上述預(yù)處理模塊相同或者相似的操作,并且執(zhí)行第二部分程序模塊的處理器可執(zhí)行上述譯碼模塊的相同或者相似的操作。無(wú)論裝置100的至少一部分(例如一部分或者全部)是由硬件電路還是程序模塊來(lái)實(shí)現(xiàn),裝置100皆可執(zhí)行譯碼單元的視頻譯碼。舉例來(lái)說(shuō),譯碼單元可為16x16的宏區(qū)塊 (MBs, macroblocks)。在另外的例子中,譯碼單元可具有特定的尺寸,其中上述特定尺寸可提前設(shè)定,并且不需要與宏區(qū)塊一致。在處理至少一個(gè)圖像的譯碼單元(例如上述譯碼單元)的過(guò)程中,需要預(yù)測(cè)一或者多個(gè)運(yùn)動(dòng)向量。依據(jù)本發(fā)明的實(shí)施方式,上述預(yù)處理模塊能夠分割上述譯碼單元為多個(gè)子譯碼單元(sub-coding unit),例如,上述譯碼單元的多種分區(qū)(例如正方或非正方分區(qū)),并且能夠針對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)。更準(zhǔn)確地說(shuō),預(yù)處理模塊可利用至少一其他已編碼的子譯碼/譯碼單元的至少一運(yùn)動(dòng)向量來(lái)獲得多個(gè)子譯碼單元中的特定子譯碼單元(specific sub-coding unit)的運(yùn)動(dòng)向量,并且依據(jù)上述特定子譯碼單元的運(yùn)動(dòng)向量來(lái)對(duì)上述特定子譯碼單元執(zhí)行運(yùn)動(dòng)補(bǔ)償。此外,上述譯碼模塊可依據(jù)上述預(yù)處理模塊所執(zhí)行的運(yùn)動(dòng)補(bǔ)償來(lái)對(duì)上述譯碼單元執(zhí)行視頻譯碼。圖IB舉例說(shuō)明了本發(fā)明的圖IA所示的實(shí)施方式中的幀間/幀內(nèi)預(yù)測(cè)模塊110 的預(yù)測(cè)操作。在此實(shí)施方式中,記號(hào)F(tQ-3)、Fac^hF(Vl)、以及F(tQ)可用來(lái)代表多個(gè)后續(xù)幀{F(t)}中的一部分,其中Fatl)為當(dāng)前幀。當(dāng)前幀F(xiàn)atl)可包含多個(gè)譯碼單元 IcuatlM,并且譯碼單元⑶(、)可包含多個(gè)子譯碼單元{S⑶(、)},其中記號(hào)V可代表特定子譯碼單元的運(yùn)動(dòng)向量,例如圖IB所示的子譯碼單元Sraatl)的運(yùn)動(dòng)向量。因此,上述預(yù)處理模塊可利用如上所述的至少一運(yùn)動(dòng)向量來(lái)獲得運(yùn)動(dòng)向量V,例如利用當(dāng)前幀F(xiàn)(tQ) 中的其他譯碼單元的子譯碼單元A與B的運(yùn)動(dòng)向量vA與Vb以及先前幀F(xiàn)atl-I)的譯碼單元⑶(、-1)的子譯碼單元T的運(yùn)動(dòng)向量Vt來(lái)獲得運(yùn)動(dòng)向量V。具體來(lái)說(shuō),上述其他譯碼單元(或子譯碼單元)為已編碼的譯碼單元(或子譯碼單元)。舉例來(lái)說(shuō),在上述譯碼單元為區(qū)塊(bi0Ck)的情況下,譯碼單元Cuatl-D可配置為譯碼單元Cuatl)的同位置塊 (collocated block)。通常來(lái)說(shuō),子譯碼單元S⑶(t0)的運(yùn)動(dòng)向量ν可表示如下ν=Σ keK(wk(i)vk);其中指數(shù)k在集合K中變化,記號(hào)Vk與Wk⑴分別代表其他子譯碼/譯碼單元(更具體來(lái)說(shuō),一些已編碼的子譯碼/譯碼單元)的運(yùn)動(dòng)向量與其相關(guān)的加權(quán)參數(shù)。舉例來(lái)說(shuō), 當(dāng)變量k等于1時(shí),則僅僅使用一個(gè)其他子譯碼/譯碼單元的一個(gè)運(yùn)動(dòng)向量Vk來(lái)獲得運(yùn)動(dòng)向量V,更準(zhǔn)確地說(shuō),上述加權(quán)參數(shù)Wk (i)簡(jiǎn)單地等于1。在其他例子中,當(dāng)變量k大于1時(shí),上述至少一其他子譯碼單元/譯碼單元包含多個(gè)其他子譯碼/譯碼單元,并且上述至少一運(yùn)動(dòng)向量包含多個(gè)其他子譯碼/譯碼單元(更具體來(lái)說(shuō),一些已編碼的子譯碼/譯碼單元) 的多個(gè)運(yùn)動(dòng)向量lvk},特別地,上述加權(quán)參數(shù)lwk(i)}的總和等于1。上述操作的細(xì)節(jié)請(qǐng)參考圖2。圖2為依據(jù)本發(fā)明的實(shí)施方式的在譯碼單元的視頻譯碼中執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)的方法910的流程圖。方法910可應(yīng)用于圖IA所示的裝置100,特別地,可應(yīng)用在上述處理電路上。上述方法詳述如下在步驟912中,上述預(yù)處理模塊處理譯碼單元OTUci)(例如,當(dāng)前譯碼單元)為多個(gè)子譯碼單元,例如多個(gè)子譯碼單元{scuaj},并且對(duì)多個(gè)子譯碼單元{scuaj}中的每一個(gè)執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)。舉例來(lái)說(shuō),上述預(yù)處理單元可接收包含多個(gè)子譯碼{scuaj}的譯碼單元⑶(、),并且解析(parse)上述譯碼單元⑶(、)的數(shù)據(jù)。特別地,預(yù)處理模塊利用上述至少一子譯碼/譯碼單元的至少一運(yùn)動(dòng)向量(例如上述運(yùn)動(dòng)向量IvJ)來(lái)獲得多個(gè)子譯碼單元{s⑶(、)}中的特定子譯碼單元Sraatl)的運(yùn)動(dòng)向量ν。預(yù)處理模塊可進(jìn)一步使用至少一與獲得特定子譯碼單元Scuatl)的運(yùn)動(dòng)向量所使用的運(yùn)動(dòng)向量不同的運(yùn)動(dòng)向量來(lái)獲得譯碼單元Cuatl)中的另一子譯碼單元的運(yùn)動(dòng)向量。當(dāng)僅使用一個(gè)運(yùn)動(dòng)向量來(lái)獲得另一子譯碼單元(即,上述提及的譯碼單元Cuatl)中的另一子譯碼單元)的運(yùn)動(dòng)向量時(shí),獲得上述另一子譯碼單元的運(yùn)動(dòng)向量所使用的運(yùn)動(dòng)向量與獲得特定子譯碼單元Sraatl)的運(yùn)動(dòng)向量所使用的任何運(yùn)動(dòng)向量不同。當(dāng)使用多個(gè)運(yùn)動(dòng)向量來(lái)獲得上述另一子譯碼單元的運(yùn)動(dòng)向量時(shí),獲得上述另一子譯碼單元的運(yùn)動(dòng)向量所使用的運(yùn)動(dòng)向量與獲得特定子譯碼單元 Scuatl)的運(yùn)動(dòng)向量所使用的運(yùn)動(dòng)向量不完全相同。舉例來(lái)說(shuō),獲得上述另一子譯碼單元的運(yùn)動(dòng)向量所使用的運(yùn)動(dòng)向量可為第一運(yùn)動(dòng)向量集合lva,Vb, V。},而獲得上述特定子譯碼單元的運(yùn)動(dòng)向量所使用的運(yùn)動(dòng)向量可為第二運(yùn)動(dòng)向量集合lva,vb,vd}。上述特定子譯碼單元與上述另一子譯碼單元為同一譯碼單元中的任意兩個(gè)子譯碼單元。依據(jù)本發(fā)明的實(shí)施方式,例如圖3所示,譯碼單元⑶(、)可為一當(dāng)前處理區(qū)塊,并且子譯碼單元Sraatl)可為子區(qū)塊(sub-block) SB,其中圖3所示的陰影部分可代表至少一部分已編碼區(qū)塊集合{CB}。參見(jiàn)圖3,上述已編碼區(qū)塊集合{CB}可包含已編碼左區(qū)塊CBy 已編碼左上區(qū)塊CBm已編碼上區(qū)塊CBu,以及已編碼右上區(qū)塊CBm。并且運(yùn)動(dòng)向量集合{vk} 可包含至少一部分(例如,部分或者全部)已編碼區(qū)塊{CB}的運(yùn)動(dòng)向量,例如一或多個(gè)已編碼區(qū)塊CBp CBul, CBu與CBuk的運(yùn)動(dòng)向量。在步驟914,上述預(yù)處理模塊依據(jù)特定子譯碼單元S⑶(t0)的運(yùn)動(dòng)向量ν對(duì)特定子譯碼單元S⑶(to)進(jìn)行運(yùn)動(dòng)補(bǔ)償。舉例來(lái)說(shuō),每一譯碼單元(例如,譯碼單元⑶Utl))可為一區(qū)塊,更具體來(lái)說(shuō),可為包含像素?cái)?shù)組的區(qū)塊,例如擴(kuò)展宏區(qū)塊、宏區(qū)塊、或者一部分宏區(qū)塊。因此,子譯碼單元可為子區(qū)塊。依據(jù)本發(fā)明的實(shí)施方式,如圖3所示,上述預(yù)處理模塊可如上所述般依據(jù)運(yùn)動(dòng)向量ν對(duì)處理中區(qū)塊進(jìn)行運(yùn)動(dòng)補(bǔ)償,其中上述運(yùn)動(dòng)向量ν可為多個(gè)已編碼區(qū)塊{CB}的至少一部分(例如一或多個(gè)已編碼區(qū)塊CBlWBpCBu以及CBrai)的運(yùn)動(dòng)向量的加權(quán)總和。在本實(shí)施方式中,上述多個(gè)已編碼區(qū)塊{CB}可為運(yùn)動(dòng)補(bǔ)償區(qū)塊。圖4是依據(jù)本發(fā)明的圖2所示的實(shí)施方式的方法910的相關(guān)細(xì)節(jié)圖。依據(jù)本實(shí)施方式,上述預(yù)處理模塊利用多個(gè)運(yùn)動(dòng)向量的加權(quán)總和(例如Σ keK(wk(i)vk))作為上述特定子譯碼單元的運(yùn)動(dòng)向量V。為了獲得更好的補(bǔ)償效果,已編碼區(qū)塊CBpCB皿、CBu以及08^可與圖3所示相同。舉例來(lái)說(shuō),上述多個(gè)其他子譯碼/譯碼單元可包含已編碼區(qū)塊CBp CBul, CBu以及CBuk中的一或多個(gè),并且上述多個(gè)運(yùn)動(dòng)向量可包含已編碼區(qū)塊CBp CBul, CBu以及 CBue所對(duì)應(yīng)的運(yùn)動(dòng)向量^、vUL, Vu以及νυκ中的一或多個(gè)。更具體來(lái)說(shuō),對(duì)于上述圖4所示的每一子區(qū)塊,例如第i個(gè)子區(qū)塊bi;可依據(jù)已編碼區(qū)塊{CB}的多個(gè)運(yùn)動(dòng)向量來(lái)獲得子區(qū)塊、的運(yùn)動(dòng)向量v(i),或稱為運(yùn)動(dòng)向量預(yù)測(cè)子 (motion vector predictor),如下式所不v(i) =Σ keK(wk(i)vk);其中參數(shù)k在集合K中變化,并且記號(hào)Vk與Wk⑴分別代表第k個(gè)參考運(yùn)動(dòng)向量以及相關(guān)的加權(quán)參數(shù)。舉例來(lái)說(shuō),h e Bm,并且記號(hào)Bm代表處理中區(qū)塊的子區(qū)塊集合。如圖4所示,運(yùn)動(dòng)向量集合{vk}中的運(yùn)動(dòng)向量vk在已編碼區(qū)塊CBu中,說(shuō)明在此情況下,運(yùn)動(dòng)向量集合Iv1J包含已編碼區(qū)塊CBu的運(yùn)動(dòng)向量集合{%}。在實(shí)施方式中,例如圖4所示的實(shí)施方式的變型中,上述預(yù)處理模塊可利用多個(gè)運(yùn)動(dòng)向量{vk}的最佳維納濾波(optimum Wiener filtering)來(lái)決定運(yùn)動(dòng)向量集合 IvJ中的每一個(gè)對(duì)應(yīng)的加權(quán)參數(shù)的集合lwk(i)},以產(chǎn)生上述加權(quán)總和(在此變型中即為 Σ keK(wk(i)vk))0舉例來(lái)說(shuō),上述預(yù)處理模塊可利用最佳維納濾波來(lái)依據(jù)下式獲得加權(quán)參數(shù)集合Iwk (i)}(w0*, . . . , wK*) = arg min v*(i)- Σ keK(wk(i)vk) | ;上述算式表示加權(quán)參數(shù)集合Iwk (i)}可通過(guò)搜尋在上述預(yù)處理模塊所執(zhí)行的最佳維納濾波中V*(i)- Σ keK(wk(i)vk) I的最小值所對(duì)應(yīng)集合(W0*, · · ·,Wk*)。上述說(shuō)明僅僅用來(lái)舉例,而并非為本發(fā)明的限制。依據(jù)本發(fā)明的圖4所示的實(shí)施方式的變型,上述預(yù)處理模塊可依據(jù)至少一臨近(neighboring)譯碼單元的內(nèi)容來(lái)決定運(yùn)動(dòng)向量集合{vk}中的每一個(gè)所分別對(duì)應(yīng)的加權(quán)參數(shù)的集合Iwk⑴},例如依據(jù)已編碼區(qū)塊CBpCB皿、CBu與CBra中的一或多個(gè)的內(nèi)容(content)來(lái)產(chǎn)生加權(quán)總和(此變型中為Σ ke K(wk(i) vk)) 0依據(jù)本發(fā)明的圖4所示的實(shí)施方式的另一變型,上述預(yù)處理模塊可依據(jù)多個(gè)其他子譯碼/譯碼單元的內(nèi)容來(lái)決定運(yùn)動(dòng)向量集合Iv1J中的每一個(gè)所分別對(duì)應(yīng)的加權(quán)參數(shù)的集合lwk(i)},以產(chǎn)生加權(quán)總和(此變型中為Σ keK(wk(i)vk))0在其他實(shí)施方式中,例如本發(fā)明的圖4所示的實(shí)施方式的一些變型中,上述預(yù)處理模塊可利用離線訓(xùn)練(offline training)或者線上訓(xùn)練(online training)來(lái)決定上述運(yùn)動(dòng)向量集合lvk}中的每一個(gè)所對(duì)應(yīng)加權(quán)參數(shù)的集合lwk(i)},以產(chǎn)生加權(quán)總和(此變型中即為Σ keK(wk(i)vk))。依據(jù)本發(fā)明的圖4所示的實(shí)施方式的另一些變型中,上述預(yù)處理模塊可利用多個(gè)運(yùn)動(dòng)向量lvk}的平均值為上述特定子譯碼單元的運(yùn)動(dòng)向量v,這也代表了上述加權(quán)參數(shù)中集合lwk(i)}中的任意兩個(gè)相等。更確切地說(shuō),在此變型中,上述加權(quán)參數(shù)Iwk (i)}中每一個(gè)等于l/n(K),其中n(K)代表集合K中的變量k的可能值。圖5A-5D是依據(jù)本發(fā)明的圖2所示的方法910的不同實(shí)施方式的相關(guān)細(xì)節(jié)圖。在這些實(shí)施方式中,在k的可能值的數(shù)量大于1的情況下,上述至少一其他子譯碼單元/譯碼單元依然包含多個(gè)其他子譯碼/譯碼單元,并且上述至少一運(yùn)動(dòng)向量依然包含上述多個(gè)其他子譯碼/譯碼單元的運(yùn)動(dòng)向量Ivk}。然而,上述預(yù)處理模塊并不需要利用如上所述的加權(quán)總和(例如Σ keK(wk(i)vk))來(lái)作為特定子譯碼單元的運(yùn)動(dòng)向量。依據(jù)上述實(shí)施方式,上述預(yù)處理模塊可預(yù)處理多個(gè)運(yùn)動(dòng)向量lvk}來(lái)獲得特定子譯碼單元的運(yùn)動(dòng)向量ν。舉例來(lái)說(shuō),上述預(yù)處理模塊可計(jì)算多個(gè)運(yùn)動(dòng)向量的中值(median),濾波多個(gè)運(yùn)動(dòng)向量,計(jì)算上述多個(gè)運(yùn)動(dòng)向量的加權(quán)總和,或者執(zhí)行計(jì)算多個(gè)運(yùn)動(dòng)向量的中值,濾波多個(gè)運(yùn)動(dòng)向量,計(jì)算上述多個(gè)運(yùn)動(dòng)向量的加權(quán)總和的任意組合。具體來(lái)說(shuō),運(yùn)動(dòng)向量集合{vk}可包含至少一子譯碼單元的至少一運(yùn)動(dòng)向量。舉例來(lái)說(shuō),運(yùn)動(dòng)向量集合ivk}可包含同一譯碼單元Cuatl)中的至少一其他子譯碼單元(即為處理中的子譯碼單元Sraatl)之外的子譯碼單元)的至少一運(yùn)動(dòng)向量,例如圖5D所示的子譯碼單元A、B、C以及D的運(yùn)動(dòng)向量vA、vB、Vc以及vD中的一或多個(gè)。在另一舉例說(shuō)明中, 運(yùn)動(dòng)向量集合Iv1J可包含其他譯碼單元中的至少一子譯碼單元的至少一運(yùn)動(dòng)向量,例如圖 5A-5C所示的子譯碼單元A、B、C以及D的運(yùn)動(dòng)向量vA、vB、vc以及vD中的一或多個(gè)。在另一舉例說(shuō)明中,運(yùn)動(dòng)向量集合{vk}可包含至少一自時(shí)序(temporal direction)所獲得的運(yùn)動(dòng)向量,例如自時(shí)序上前一幀所包含的子譯碼單元獲得。具體來(lái)說(shuō),當(dāng)譯碼單元為區(qū)塊時(shí), 圖5A-5D所示的子譯碼單元A、B、C以及D可視為子區(qū)塊。依據(jù)圖5A所示的實(shí)施方式,子譯碼單元A、B、C以及D分別屬于已編碼區(qū)塊CBp CBuXBue以及CBp此外,已編碼區(qū)塊CBpCB1^CBuk以及CB皿分別為當(dāng)前處理區(qū)塊的已編碼左區(qū)塊,已編碼上區(qū)塊,已編碼右上區(qū)塊,以及已編碼左上區(qū)塊。更具體來(lái)說(shuō),針對(duì)圖5A所示的第i個(gè)子區(qū)塊h來(lái)說(shuō),在已編碼左區(qū)塊CB^中選擇子譯碼單元A,在已編碼上區(qū)塊CBu 中選擇子譯碼單元B,在已編碼右上區(qū)塊CBuk中選擇子譯碼單元C,在已編碼左上區(qū)塊CB皿中選擇子譯碼單元D。此外,上述預(yù)處理模塊預(yù)處理圖5A所示的子譯碼單元A、B以及C的運(yùn)動(dòng)向量vA、vB以及來(lái)計(jì)算特定子譯碼單元(例如第i個(gè)子區(qū)塊b》的運(yùn)動(dòng)向量ν。本實(shí)施方式中的運(yùn)動(dòng)向量ν可通過(guò)計(jì)算運(yùn)動(dòng)向量A、vB以及的中值(median)來(lái)獲得,表示如下ν = Median (vA, vB, vc);其中記號(hào)Median代表括號(hào)中的向量/值的中值。如果無(wú)法獲得運(yùn)動(dòng)向量Vc,可用運(yùn)動(dòng)向量vD代替運(yùn)動(dòng)向量以計(jì)算運(yùn)動(dòng)向量ν。在其他實(shí)施方式中,可向子譯碼單元A、B 以及C的運(yùn)動(dòng)向量VA、Vb以及V。指定不同的加權(quán)參數(shù)。舉例來(lái)說(shuō),加權(quán)參數(shù)可依據(jù)特定子譯碼單元(例如bi)與子譯碼單元A、B以及C之間的距離來(lái)決定。較短的距離可對(duì)應(yīng)較大的加權(quán)參數(shù)。在另一實(shí)施方式中,預(yù)處理模塊可過(guò)濾預(yù)先決定的已編碼子譯碼單元的運(yùn)動(dòng)向量來(lái)獲得運(yùn)動(dòng)向量V。上述預(yù)處理模塊可決定上述特定子譯碼單元(例如第i個(gè)子譯碼區(qū)塊b》的尺寸為譯碼單元的視頻譯碼的變換尺寸(transform size),并且用來(lái)獲得特定子譯碼單元(例如第i個(gè)子譯碼區(qū)塊h)的運(yùn)動(dòng)向量ν的子譯碼單元的尺寸可與變換尺寸相同(例如,4乘 4,8乘8,16乘16等等)。依據(jù)圖5B所示的實(shí)施方式,子譯碼單元A屬于已編碼左區(qū)塊CBy并且子譯碼單元 B、C以及D屬于已編碼上區(qū)塊CB 。更具體來(lái)說(shuō),針對(duì)圖5B所示的第i個(gè)子區(qū)塊h來(lái)說(shuō), 在已編碼左區(qū)塊CB^中選擇子譯碼單元A,在已編碼上區(qū)塊CBu中選擇子譯碼單元B。此外, 針對(duì)子譯碼單元B而言,子譯碼單元C為已編碼上區(qū)塊CBu中右臨近子譯碼單元(如果存在),并且子譯碼單元D為已編碼上區(qū)塊CBu中左臨近子譯碼單元(如果存在)。因此,針對(duì)圖5B所示的第i個(gè)子區(qū)塊、來(lái)說(shuō),在已編碼上區(qū)塊CBu中選擇三個(gè)子譯碼單元B、C以及 D。在其他實(shí)施方式中,當(dāng)預(yù)處理模塊處理當(dāng)前區(qū)塊的第一列(column)子譯碼單元時(shí),子譯碼單元D可屬于已編碼左上區(qū)塊CB1^子譯碼單元C可屬于已編碼右上區(qū)塊CBm。此外,上述預(yù)處理模塊可利用圖5B所示的子譯碼單元A、B、C以及D的運(yùn)動(dòng)向量vA、vB、vc以及vD中的一或多個(gè)來(lái)計(jì)算運(yùn)動(dòng)向量ν。舉例來(lái)說(shuō),計(jì)算上述預(yù)先決定的四個(gè)子譯碼單元的運(yùn)動(dòng)向量的中值,來(lái)作為特定子譯碼單元(例如第i個(gè)子區(qū)塊b》的運(yùn)動(dòng)向量V。表示如下ν = Median (vA, vB,vc,vD).上述預(yù)處理模塊可決定上述特定子譯碼單元的尺寸為譯碼單元的視頻譯碼的變換尺寸,并且圖5B所示的子譯碼單元的尺寸可與變換尺寸相同(例如,4乘4,8乘8,16乘 16等等)。依據(jù)其他實(shí)施方式,例如圖5B所示的實(shí)施方式以及一些變型,當(dāng)利用中值函數(shù) Median (·)來(lái)計(jì)算運(yùn)動(dòng)向量ν時(shí)所使用的運(yùn)動(dòng)向量(例如圖5Β所示的實(shí)施方式中的運(yùn)動(dòng)向量vA、vB、vc以及vD)數(shù)目為偶數(shù)時(shí),中值函數(shù)的定義可變化。利用中值函數(shù)來(lái)計(jì)算運(yùn)動(dòng)向量ν所使用的運(yùn)動(dòng)向量存儲(chǔ)結(jié)果可依照順序?qū)懗扇缦滦问絍l,v2,...,v2N。即,假設(shè)vn與 v(n+1)代表所存儲(chǔ)結(jié)果Vl,V2, ... , V2n中的兩個(gè)臨近運(yùn)動(dòng)向量,則運(yùn)動(dòng)向量Vn小于運(yùn)動(dòng)向量 v(n+1)(即IvnI < |v(n+1)l)。在一些實(shí)施方式中,中值函數(shù)Median(·)可定義為vN、V(N+1)或 (vn+V(n+1))/2。舉例來(lái)說(shuō),上述多個(gè)運(yùn)動(dòng)向量的數(shù)目為4(即2N = 4),并且上述多個(gè)運(yùn)動(dòng)向量可寫為力^、%與、則中值可為(v2+v3)/2,即代表了運(yùn)動(dòng)向量ν等于(V2+V3)/20在其他實(shí)施方式中,上述多個(gè)運(yùn)動(dòng)向量的數(shù)目等于4,并且上述多個(gè)運(yùn)動(dòng)向量可寫為V1、v2、V3與 V4,并且中值可為V2,即代表了運(yùn)動(dòng)向量ν等于v2。在另一實(shí)施方式中,上述多個(gè)運(yùn)動(dòng)向量的數(shù)目等于4,并且上述多個(gè)運(yùn)動(dòng)向量可寫為Vl、v2、V3與v4,并且中值可為v3,即代表了運(yùn)動(dòng)向量ν等于v3。 依據(jù)圖5C所示的實(shí)施方式,子譯碼單元A屬于已編碼左區(qū)塊CBy子譯碼單元B以及C屬于已編碼上區(qū)塊CBu,子譯碼單元D屬于已編碼左上區(qū)塊CBp更具體來(lái)說(shuō),針對(duì)圖 5C所示的第i個(gè)子區(qū)塊h來(lái)說(shuō),在已編碼左區(qū)塊CB^中選擇子譯碼單元A,在已編碼上區(qū)塊 CBu中選擇子譯碼單元B,在已編碼左上區(qū)塊CBul中選擇子譯碼單元D。此外,針對(duì)子譯碼單元B而言,子譯碼單元C為已編碼上區(qū)塊CBu中右臨近子譯碼單元(如果存在)。此外,上述預(yù)處理模塊可利用圖5C所示的子譯碼單元A、B、C以及D的運(yùn)動(dòng)向量vA、vB、vc以及vD中的一或多個(gè)來(lái)計(jì)算運(yùn)動(dòng)向量ν。舉例來(lái)說(shuō),計(jì)算運(yùn)動(dòng)向量vA、vB、ve以及vD的中值,來(lái)作為特定子譯碼單元(例如第i個(gè)子區(qū)塊h)的運(yùn)動(dòng)向量V,或者如果無(wú)法獲得運(yùn)動(dòng)向量\,則計(jì)算運(yùn)動(dòng)向量vA、vB以及vD的中值,來(lái)作為特定子譯碼單元(例如第i個(gè)子區(qū)塊b》的運(yùn)動(dòng)向量v。表示如下ν = Median (vA, vB, vc).上述預(yù)處理模塊可決定上述特定子譯碼單元的尺寸為譯碼單元的視頻譯碼的變換尺寸,并且圖5C所示的子譯碼單元的尺寸可與變換尺寸相同(例如,4乘4,8乘8,16乘 16等等)。依據(jù)圖5B-5C所示的實(shí)施方式的變型,上述預(yù)處理模塊可利用或多或少的子譯碼單元的運(yùn)動(dòng)向量來(lái)獲得運(yùn)動(dòng)向量V。屬于一或多個(gè)子譯碼單元的運(yùn)動(dòng)向量的多種組合可用來(lái)推導(dǎo)特定子譯碼單元的運(yùn)動(dòng)向量V。其精神在于特定子譯碼單元的運(yùn)動(dòng)向量是從一組運(yùn)動(dòng)向量來(lái)局部導(dǎo)出,并且該組運(yùn)動(dòng)向量可與獲得當(dāng)前處理區(qū)塊中的另一子譯碼單元的運(yùn)動(dòng)向量所使用的一組運(yùn)動(dòng)向量不同,依據(jù)圖5D所示的實(shí)施方式,上述預(yù)處理模塊可利用步驟912中提及的多個(gè)子譯碼
12單元的一部分運(yùn)動(dòng)向量來(lái)獲得相同譯碼單元中另一子譯碼單元的運(yùn)動(dòng)向量。參見(jiàn)圖5D,子譯碼單元A、B、C以及D屬于當(dāng)前處理區(qū)塊,其中子譯碼單元A、B、C以及D為步驟912中提及的多個(gè)子譯碼單元的一部分。更具體來(lái)說(shuō),針對(duì)圖5D所示的第i個(gè)子區(qū)塊、來(lái)說(shuō),子譯碼單元A為左臨近子譯碼單元,子譯碼單元B為上臨近子譯碼單元,子譯碼單元C為右上臨近子譯碼單元,子譯碼單元D為左上臨近子譯碼單元。在本實(shí)施方式中,上述預(yù)處理模塊可利用圖5D所示的子譯碼單元A、B以及C的運(yùn)動(dòng)向量vA、vB以及ν。的中值來(lái)作為特定子譯碼單元(例如第i個(gè)子區(qū)塊h)的運(yùn)動(dòng)向量V。表示如下ν = Median (vA, vB, vc).如果無(wú)法獲得子譯碼單元C,上述預(yù)處理模塊則利用圖5D所示的子譯碼單元A、B 以及D的運(yùn)動(dòng)向量VA、Vb以及Vd的中值,來(lái)作為特定子譯碼單元的運(yùn)動(dòng)向量V。上述預(yù)處理模塊可決定上述特定子譯碼單元的尺寸為譯碼單元的視頻譯碼的變換尺寸,并且圖5D所示的子譯碼單元的尺寸可與變換尺寸相同(例如,4乘4,8乘8,16乘 16等等)。依據(jù)另一實(shí)施方式,例如圖5D所示的實(shí)施方式的變型,上述預(yù)處理模塊可利用圖 5D所示的子譯碼單元A、B、C以及D的運(yùn)動(dòng)向量vA、vB、vc以及vD的中值來(lái)作為特定子譯碼單元(例如第i個(gè)子區(qū)塊h)的運(yùn)動(dòng)向量V,并且表示如下ν = Median (vA, vB,vc,vD).本實(shí)施方式的細(xì)節(jié)在此不再贅述。依據(jù)本發(fā)明的一些實(shí)施方式以及其變型,當(dāng)利用中值函數(shù)Median ( ·)來(lái)計(jì)算運(yùn)動(dòng)向量ν時(shí)所使用的運(yùn)動(dòng)向量數(shù)目為偶數(shù)時(shí),中值函數(shù)的定義可變化。相似地,利用中值函數(shù)Mediant)來(lái)計(jì)算運(yùn)動(dòng)向量ν所使用的運(yùn)動(dòng)向量存儲(chǔ)
結(jié)果可依照順序?qū)懗扇缦滦问絍l、V2.....v2N,中值函數(shù)Median ( ·)可定義為vN、v(N+1)或
(vn+V(n+1))/2。相似的細(xì)節(jié)在此不再贅述。依據(jù)圖5A-5D所示的實(shí)施方式的變型,上述預(yù)處理模塊可在不同的模式下(例如模式1、2、3與4)選擇性操作,其中模式1、2、3與4的操作分別與圖5A-5D所示的實(shí)施方式相同或的相似。舉例來(lái)說(shuō),在模式1中,上述預(yù)處理模塊可依據(jù)圖5A所示的實(shí)施方式的相同方法來(lái)操作,而在其他模式中,例如模式2、3與4中,上述預(yù)處理模塊可分別依據(jù)圖5B-5D 所示的實(shí)施方式的相同方法來(lái)操作。依據(jù)圖5A-5D所示的任意實(shí)施方式的變型,在步驟912中,上述預(yù)處理模塊可依據(jù)至少一臨近譯碼單元的至少一模式來(lái)分割譯碼單元為多個(gè)子譯碼單元,例如依據(jù)已譯碼單元CBpCBuWBuk以及CBul中的一或多個(gè)的模式1、2、3以及/或者4來(lái)分割譯碼單元為多個(gè)子譯碼單元。依據(jù)第5A-5D圖所示的任意實(shí)施方式的另一變型,在步驟912中,上述預(yù)處理模塊可依據(jù)至少一個(gè)臨近譯碼單元的內(nèi)容來(lái)分割譯碼單元為多個(gè)子譯碼單元,例如依據(jù)已譯碼單元CBp CBu, CBue以及CB皿中一或多個(gè)的內(nèi)容來(lái)分割譯碼單元為多個(gè)子譯碼單元。依據(jù)上述任意實(shí)施方式的變型,無(wú)論上述預(yù)處理單元是否利用加權(quán)總和(例如 Σ keK(wk(i)vk))或者利用中值(例如 Median (vA,vB, vc)或 Median (vA,vB, vc, vD))作為上述特定子譯碼單元的運(yùn)動(dòng)向量V,上述提及的至少一其他子譯碼/譯碼單元為已編碼的子譯碼/譯碼單元。舉例來(lái)說(shuō),在一部分實(shí)施方式變型中,上述提及的至少一其他子譯碼/譯碼單元包含至少一空間(spatially)已編碼的子譯碼/譯碼單元,以及/或者至少一時(shí)間 (temporally)已編碼的子譯碼/譯碼單元。在另一實(shí)施方式中,上述提及的至少一其他子譯碼單元可為運(yùn)動(dòng)補(bǔ)償子譯碼/譯碼單元。圖6是本發(fā)明的圖2所示的實(shí)施方式的方法910所涉及的細(xì)節(jié)圖。依據(jù)本實(shí)施方式,上述預(yù)處理模塊依然分割譯碼單元Cuatl)(例如當(dāng)前處理譯碼單元)為多個(gè)子譯碼單元(例如子譯碼單元{SCU(、)}),并且在步驟912中對(duì)每一子譯碼單元{scuaj}執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)。然而,當(dāng)上述預(yù)處理模塊利用多個(gè)運(yùn)動(dòng)向量,例如如上所述的運(yùn)動(dòng)向量lvk},來(lái)獲得特定子譯碼單元Scuatl)的運(yùn)動(dòng)向量ν時(shí),對(duì)每一子譯碼單元需指定一個(gè)運(yùn)動(dòng)向量(例如一個(gè)參考運(yùn)動(dòng)向量),從而可提供給其他子譯碼/譯碼單元后續(xù)參考。在編碼器與解碼器相互匹配的條件下,上述指定運(yùn)動(dòng)向量的準(zhǔn)則可任意運(yùn)用。在一些制定運(yùn)動(dòng)向量的預(yù)定規(guī)則中,包含H. 264中定義的運(yùn)動(dòng)向量預(yù)測(cè)子,H. 264中定義的運(yùn)動(dòng)向量預(yù)測(cè)具有運(yùn)動(dòng)向量縮放(scaling),自左區(qū)塊填充(padding),自上區(qū)塊填充以及自左上區(qū)塊填充。依據(jù)一種自左區(qū)塊與上區(qū)塊填充的實(shí)施方式,上述預(yù)處理模塊獲得上述特定子譯碼單元SCUaci)的運(yùn)動(dòng)向量v,并且利用另一譯碼單元(當(dāng)前處理譯碼單元Cuatl)之外的譯碼單元)的子譯碼單元的運(yùn)動(dòng)向量來(lái)指定運(yùn)動(dòng)向量,舉例來(lái)說(shuō),利用譯碼單元Cuatl)的臨近譯碼單元CU.aj 的一個(gè)已編碼的子譯碼單元。更具體來(lái)說(shuō),對(duì)于特定子譯碼單元Scuatl)而言,其他譯碼單元(例如譯碼單元CUawUci))的一個(gè)子譯碼單元為上述其他譯碼單元中最接近的子譯碼單元,并且上述預(yù)處理模塊可利用其他譯碼單元(例如譯碼單元CUawUci))中的最接近子譯碼單元的運(yùn)動(dòng)向量來(lái)作為特定子譯碼單元SCUaci)的指定的運(yùn)動(dòng)向量。上述指定一個(gè)譯碼單元或者一個(gè)子譯碼單元的運(yùn)動(dòng)向量主要用來(lái)作為其他譯碼單元或者子譯碼單元的一個(gè)參考運(yùn)動(dòng)向量,而并非一定用來(lái)運(yùn)動(dòng)預(yù)測(cè)。如圖6所示,對(duì)于譯碼單元CUatl)(例如當(dāng)前處理區(qū)塊)而言,本實(shí)施方式中的臨近譯碼單元{CU.aj}可包含至少一部分的已編碼左區(qū)塊CBp已編碼上區(qū)塊CBu、已編碼右上區(qū)塊CBra、以及已編碼左上區(qū)塊CBm其中上述已編碼區(qū)塊CBp CBu, CBue以及CBul中的子譯碼單元可視為子區(qū)塊。為了獲得更好的補(bǔ)償效果,已編碼左區(qū)塊CB^中的最右列的子譯碼單元的運(yùn)動(dòng)向量yi、y2、y3、y4、y5、y6、y7以及y8分別標(biāo)示在最右列的子譯碼單元中。相似地,已編碼上區(qū)塊CBu中的最低行的子譯碼單元的運(yùn)動(dòng)向量乂”&“卩乂^乂卩乂^乂,以及X8 分別標(biāo)示在最低行的子譯碼單元中。此外,已編碼右上區(qū)塊CBuk的右底子譯碼單元的運(yùn)動(dòng)向量d以及已編碼左上區(qū)塊CB皿的左底子譯碼單元的運(yùn)動(dòng)向量X9分別標(biāo)示其中。依據(jù)本實(shí)施方式,上述預(yù)處理模塊接收包含多個(gè)子譯碼單元{S⑶(、)}的譯碼單元Cuatl), 并且解析譯碼單元Cuatl)的數(shù)據(jù),以及依據(jù)預(yù)先決定準(zhǔn)則指定多個(gè)子譯碼單元 Iscua0) ι中的特定子譯碼單元Scuatl)的參考運(yùn)動(dòng)向量,其中上述參考運(yùn)動(dòng)量是用來(lái)被至少一其他子譯碼單元參考,而并非用于特定子譯碼單元Scuatl)的運(yùn)動(dòng)向量預(yù)測(cè)。利用參考運(yùn)動(dòng)向量,上述預(yù)處理模塊可快速操作,而不需要等待特定子譯碼單元Scuatl)的實(shí)際運(yùn)動(dòng)向量的復(fù)雜的計(jì)算。具體來(lái)說(shuō),上述預(yù)處理模塊可指定上述參考運(yùn)動(dòng)向量為臨近譯碼單元的至少一部分的運(yùn)動(dòng)向量。更確切地說(shuō),上述臨近譯碼單元的至少一部分可為上述臨近譯碼單元中的最接近特定子譯碼單元的一部分。舉例來(lái)說(shuō),假設(shè)上述特定子譯碼單元Sraatl)代表當(dāng)前處理區(qū)塊中某一行(row) 子譯碼區(qū)塊的第j個(gè)子譯碼區(qū)塊,其中j在1至8之間變化。在第一指定準(zhǔn)則(例如垂直指定)中,上述預(yù)處理模塊可利用已編碼上區(qū)塊CBu中的最接近子譯碼單元的運(yùn)動(dòng)向量Xj 來(lái)作為特定子譯碼單元SCUaci)的參考運(yùn)動(dòng)向量。
在另一實(shí)施方式中,假設(shè)上述特定子譯碼單元Sraatl)代表當(dāng)前處理區(qū)塊中某一列子譯碼區(qū)塊的第j個(gè)子譯碼區(qū)塊,其中j在1至8之間變化。在第二指定準(zhǔn)則(例如水平指定)中,上述預(yù)處理模塊可利用已編碼左區(qū)塊CB^中的最接近子譯碼單元的運(yùn)動(dòng)向量 yj來(lái)作為特定子譯碼單元SCuatl)的參考運(yùn)動(dòng)向量。
在另一實(shí)施方式中,可選擇混合指定(hybrid designation)準(zhǔn)則來(lái)決定上述參考運(yùn)動(dòng)向量。假設(shè)上述特定子譯碼單元SCUaci)代表當(dāng)前處理區(qū)塊中第4/8行子譯碼區(qū)塊的第j個(gè)子譯碼區(qū)塊,其中j在1至8之間變化。參見(jiàn)圖6中箭頭所指向的第4/8行子譯碼區(qū)塊的第j個(gè)子譯碼區(qū)塊,上述預(yù)處理模塊可利用已編碼上區(qū)塊CBu中的最接近子譯碼單元的運(yùn)動(dòng)向量Xj來(lái)作為特定子譯碼單元Sraatl)的參考運(yùn)動(dòng)向量。此外,假設(shè)上述特定子譯碼單元SCU (t0)代表當(dāng)前處理區(qū)塊中第4/8列子譯碼區(qū)塊的第j個(gè)子譯碼區(qū)塊,其中j在 1至7之間變化。參見(jiàn)圖6中箭頭所指向的第4/8列子譯碼區(qū)塊的第j個(gè)子譯碼區(qū)塊,上述預(yù)處理模塊可利用已編碼左區(qū)塊CB^中的最接近子譯碼單元的運(yùn)動(dòng)向量y」來(lái)作為特定子譯碼單元SCUaci)的參考運(yùn)動(dòng)向量。在此實(shí)施方式中,譯碼單元Cuatl)中的剩余子譯碼單元的參考運(yùn)動(dòng)向量可利用上述任意實(shí)施方式的相同或者相似方法來(lái)獲得。在此不再贅述。需注意的是,在上述實(shí)施方式的一些變型中,上述預(yù)處理模塊可利用旗標(biāo)(flag) 來(lái)控制上述操作,更準(zhǔn)確地說(shuō),可利用明確地發(fā)出一個(gè)旗標(biāo)來(lái)控制上述操作。舉例來(lái)說(shuō),依據(jù)一或多個(gè)實(shí)施方式所實(shí)施的編碼器可發(fā)出指示上述指定準(zhǔn)則為“垂直指定”還是“水平指定”(甚至為“混合指定”)的旗標(biāo),從而通過(guò)接收攜帶上述旗標(biāo)的比特流,相應(yīng)地解碼器可了解所應(yīng)用的指定準(zhǔn)則。此外,在一些實(shí)施方式中,上述多種運(yùn)動(dòng)向量指定方法(例如“垂直指定”、“水平指定”以及“混合指定”)可用來(lái)執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)。舉例來(lái)說(shuō),當(dāng)應(yīng)用“垂直指定”時(shí),每一行子譯碼單元的運(yùn)動(dòng)向量可由已編碼上譯碼單元CBu的相應(yīng)位置(例如已編碼上譯碼單元CBu中的最接近子譯碼單元)來(lái)分別獲得。本發(fā)明的優(yōu)勢(shì)在于編碼器與解碼器可適當(dāng)?shù)貓?zhí)行局部運(yùn)動(dòng)向量推導(dǎo),更準(zhǔn)確地說(shuō),本發(fā)明可通過(guò)預(yù)先決定準(zhǔn)則自多個(gè)子譯碼單元的多個(gè)運(yùn)動(dòng)向量中選擇一個(gè)運(yùn)動(dòng)向量來(lái)獲得較好的壓縮性能。通過(guò)利用本發(fā)明的方法與相應(yīng)裝置,運(yùn)動(dòng)向量預(yù)測(cè)操作與運(yùn)動(dòng)補(bǔ)償操作可不引入相關(guān)的困擾(例如較低的編碼效率)。以上所述僅為本發(fā)明的較佳實(shí)施方式,凡依本發(fā)明權(quán)利要求所做的均等變化與修飾,都應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
1.一種在譯碼單元的視頻譯碼中執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)的方法,上述方法包含將上述譯碼單元分割為多個(gè)子譯碼單元進(jìn)行處理;對(duì)每一上述子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè),其中上述對(duì)每一上述子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)的步驟包含通過(guò)利用至少一其他子譯碼/譯碼單元的至少一運(yùn)動(dòng)向量,獲得特定子譯碼單元的一運(yùn)動(dòng)向量;以及通過(guò)利用不同于獲得上述特定子譯碼單元的運(yùn)動(dòng)向量所使用的運(yùn)動(dòng)向量的至少一運(yùn)動(dòng)向量,獲得上述譯碼單元的另一子譯碼單元的運(yùn)動(dòng)向量;以及依據(jù)上述特定子譯碼單元的上述運(yùn)動(dòng)向量,對(duì)上述特定子譯碼單元執(zhí)行運(yùn)動(dòng)補(bǔ)償。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,上述至少一其他子譯碼/譯碼單元包含多個(gè)其他子譯碼/譯碼單元,并且上述至少一其他子譯碼/譯碼單元的上述至少一運(yùn)動(dòng)向量包含上述多個(gè)其他子譯碼/譯碼單元的多個(gè)運(yùn)動(dòng)向量;并且上述對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)的步驟更包含計(jì)算上述多個(gè)運(yùn)動(dòng)向量的加權(quán)總和,以獲得上述特定子譯碼單元的上述運(yùn)動(dòng)向量。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,上述對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)的步驟更包含對(duì)上述多個(gè)運(yùn)動(dòng)向量執(zhí)行最佳維納濾波,以決定上述多個(gè)運(yùn)動(dòng)向量所分別對(duì)應(yīng)的多個(gè)加權(quán)參數(shù),以獲得上述加權(quán)總和。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,上述對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)的步驟更包含依據(jù)至少一臨近譯碼單元的內(nèi)容來(lái)決定上述多個(gè)運(yùn)動(dòng)向量所分別對(duì)應(yīng)的多個(gè)加權(quán)參數(shù),以獲得上述加權(quán)總和。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,上述對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)的步驟更包含依據(jù)上述多個(gè)其他子譯碼/譯碼單元的內(nèi)容來(lái)決定上述多個(gè)運(yùn)動(dòng)向量所分別對(duì)應(yīng)的多個(gè)加權(quán)參數(shù),以獲得上述加權(quán)總和。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,上述對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)的步驟更包含利用離線訓(xùn)練來(lái)決定上述多個(gè)運(yùn)動(dòng)向量所分別對(duì)應(yīng)的多個(gè)加權(quán)參數(shù),以獲得上述加權(quán)總禾口。
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,上述對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)的步驟更包含利用即時(shí)線上訓(xùn)練來(lái)決定上述多個(gè)運(yùn)動(dòng)向量所分別對(duì)應(yīng)的多個(gè)加權(quán)參數(shù),以獲得上述加權(quán)總和。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,上述至少一其他子譯碼/譯碼單元包含多個(gè)其他子譯碼/譯碼單元,并且上述至少一其他子譯碼/譯碼單元的上述至少一運(yùn)動(dòng)向量包含上述多個(gè)其他子譯碼/譯碼單元的多個(gè)運(yùn)動(dòng)向量;并且上述對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)的步驟更包含計(jì)算上述多個(gè)運(yùn)動(dòng)向量的平均值,以獲得上述特定子譯碼單元的運(yùn)動(dòng)向量。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,上述至少一其他子譯碼/譯碼單元包含多個(gè)其他子譯碼/譯碼單元,并且上述至少一其他子譯碼/譯碼單元的上述至少一運(yùn)動(dòng)向量包含上述多個(gè)其他子譯碼/譯碼單元的多個(gè)運(yùn)動(dòng)向量;并且上述對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)的步驟更包含計(jì)算上述多個(gè)運(yùn)動(dòng)向量的中值,以獲得上述特定子譯碼單元的運(yùn)動(dòng)向量。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,上述不同于獲得上述特定子譯碼單元的上述運(yùn)動(dòng)向量所使用的運(yùn)動(dòng)向量的至少一運(yùn)動(dòng)向量包含上述多個(gè)子譯碼單元中的一部分子譯碼單元的多個(gè)運(yùn)動(dòng)向量,并且上述對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)的步驟更包含計(jì)算上述多個(gè)運(yùn)動(dòng)向量的中值,以獲得上述另一子譯碼單元的運(yùn)動(dòng)向量。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,上述將該譯碼單元處理為多個(gè)子譯碼單元的步驟更包含決定上述特定子譯碼單元的尺寸,作為上述譯碼單元的視頻譯碼的變換尺寸。
12.根據(jù)權(quán)利要求1所述的方法,其特征在于,上述將該譯碼單元處理為多個(gè)子譯碼單元的步驟更包含依據(jù)至少一臨近譯碼單元的至少一模式,分割上述譯碼單元為上述多個(gè)子譯碼單元。
13.根據(jù)權(quán)利要求1所述的方法,其特征在于,上述將該譯碼單元處理為多個(gè)子譯碼單元的步驟更包含依據(jù)至少一臨近譯碼單元的內(nèi)容,分割上述譯碼單元為上述多個(gè)子譯碼單元。
14.根據(jù)權(quán)利要求1所述的方法,其特征在于,上述至少一其他子譯碼/譯碼單元中的每一個(gè)是已編碼的子譯碼/譯碼單元。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,上述至少一其他子譯碼/譯碼單元包含至少一空間編碼的子譯碼/譯碼單元以及/或者至少一時(shí)間編碼的子譯碼/譯碼單元。
16.根據(jù)權(quán)利要求14所述的方法,其特征在于,上述至少一其他子譯碼/譯碼單元中的每一個(gè)是運(yùn)動(dòng)補(bǔ)償子譯碼/譯碼單元。
17.一種對(duì)譯碼單元的視頻譯碼過(guò)程中執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)的裝置,上述裝置包含處理電路,執(zhí)行上述譯碼單元的視頻譯碼,其中上述處理電路包含預(yù)處理模塊,將上述譯碼單元分割為多個(gè)子譯碼單元進(jìn)行處理,并且對(duì)每一上述子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè),其中上述預(yù)處理模塊通過(guò)利用至少一其他子譯碼/譯碼單元的至少一運(yùn)動(dòng)向量,獲得特定子譯碼單元的運(yùn)動(dòng)向量,以及依據(jù)上述特定子譯碼單元的上述運(yùn)動(dòng)向量對(duì)上述特定子譯碼單元執(zhí)行運(yùn)動(dòng)補(bǔ)償,其中上述預(yù)處理模塊通過(guò)利用不同于獲得上述特定子譯碼單元的運(yùn)動(dòng)向量所使用的運(yùn)動(dòng)向量的至少一運(yùn)動(dòng)向量,獲得上述譯碼單元中另一子譯碼單元的運(yùn)動(dòng)向量;以及至少譯碼模塊,依據(jù)上述預(yù)處理模塊執(zhí)行的上述運(yùn)動(dòng)補(bǔ)償來(lái)對(duì)上述譯碼單元執(zhí)行視頻譯碼。
18.根據(jù)權(quán)利要求17所述的裝置,其特征在于,上述至少其他子譯碼/譯碼單元包含多個(gè)其他子譯碼/譯碼單元,并且上述至少一其他子譯碼/譯碼單元的上述至少一運(yùn)動(dòng)向量包含上述多個(gè)其他子譯碼/譯碼單元的多個(gè)運(yùn)動(dòng)向量;并且上述預(yù)處理模塊計(jì)算上述多個(gè)運(yùn)動(dòng)向量的加權(quán)總和,以獲得上述特定子譯碼單元的上述運(yùn)動(dòng)向量。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于,上述預(yù)處理模塊對(duì)上述多個(gè)運(yùn)動(dòng)向量執(zhí)行最佳維納濾波,以決定上述多個(gè)運(yùn)動(dòng)向量所分別對(duì)應(yīng)的多個(gè)加權(quán)參數(shù),以獲得上述加權(quán)總和。
20.根據(jù)權(quán)利要求18所述的裝置,其特征在于,上述預(yù)處理模塊依據(jù)至少一臨近譯碼單元的內(nèi)容來(lái)決定上述多個(gè)運(yùn)動(dòng)向量所分別對(duì)應(yīng)的多個(gè)加權(quán)參數(shù),以獲得上述加權(quán)總和。
21.根據(jù)權(quán)利要求18所述的裝置,其特征在于,上述預(yù)處理模塊依據(jù)上述多個(gè)其他子譯碼/譯碼單元的內(nèi)容來(lái)決定上述多個(gè)運(yùn)動(dòng)向量所分別對(duì)應(yīng)的多個(gè)加權(quán)參數(shù),以獲得上述加權(quán)總和。
22.根據(jù)權(quán)利要求18所述的裝置,其特征在于,上述預(yù)處理模塊利用離線訓(xùn)練來(lái)決定上述多個(gè)運(yùn)動(dòng)向量所分別對(duì)應(yīng)的多個(gè)加權(quán)參數(shù),以獲得上述加權(quán)總和。
23.根據(jù)權(quán)利要求18所述的裝置,其特征在于,上述預(yù)處理模塊利用線上訓(xùn)練來(lái)決定上述多個(gè)運(yùn)動(dòng)向量所分別對(duì)應(yīng)的多個(gè)加權(quán)參數(shù),以獲得上述加權(quán)總和。
24.根據(jù)權(quán)利要求17所述的裝置,其特征在于,上述至少一其他子譯碼/譯碼單元包含多個(gè)其他子譯碼/譯碼單元,并且上述至少一其他子譯碼/譯碼單元的上述至少一運(yùn)動(dòng)向量包含上述多個(gè)其他子譯碼/譯碼單元的多個(gè)運(yùn)動(dòng)向量;并且上述預(yù)處理模塊計(jì)算上述多個(gè)運(yùn)動(dòng)向量的平均值,以獲得上述特定子譯碼單元的上述運(yùn)動(dòng)向量。
25.根據(jù)權(quán)利要求17所述的裝置,其特征在于,上述至少一其他子譯碼/譯碼單元包含多個(gè)其他子譯碼/譯碼單元,并且上述至少一其他子譯碼/譯碼單元的上述至少一運(yùn)動(dòng)向量包含上述多個(gè)其他子譯碼/譯碼單元的多個(gè)運(yùn)動(dòng)向量;并且上述預(yù)處理模塊計(jì)算上述多個(gè)運(yùn)動(dòng)向量的中值,以獲得上述特定子譯碼單元的上述運(yùn)動(dòng)向量。
26.根據(jù)權(quán)利要求17所述的裝置,其特征在于,上述不同于獲得上述特定子譯碼單元的上述運(yùn)動(dòng)向量所使用的運(yùn)動(dòng)向量的至少一運(yùn)動(dòng)向量包含上述多個(gè)子譯碼單元中的一部分子譯碼單元的多個(gè)運(yùn)動(dòng)向量,并且上述預(yù)處理模塊計(jì)算上述多個(gè)運(yùn)動(dòng)向量的中值,以獲得上述另一子譯碼單元的運(yùn)動(dòng)向量。
27.根據(jù)權(quán)利要求17所述的裝置,其特征在于,上述預(yù)處理模塊決定上述特定子譯碼單元的尺寸,作為上述譯碼單元的視頻譯碼的變換尺寸。
28.根據(jù)權(quán)利要求17所述的裝置,其特征在于,上述預(yù)處理模塊依據(jù)至少一臨近譯碼單元的至少一模式,分割上述譯碼單元為上述多個(gè)子譯碼單元。
29.根據(jù)權(quán)利要求17所述的裝置,其特征在于,上述預(yù)處理模塊依據(jù)至少一臨近譯碼單元的內(nèi)容,分割上述譯碼單元為上述多個(gè)子譯碼單元。
30.根據(jù)權(quán)利要求17所述的裝置,其特征在于,上述至少一其他子譯碼/譯碼單元中的每一個(gè)是已編碼的子譯碼/譯碼單元。
31.根據(jù)權(quán)利要求30所述的裝置,其特征在于,上述至少一其他子譯碼/譯碼單元包含至少一空間編碼的子譯碼/譯碼單元以及/或者至少一時(shí)間編碼的子譯碼/譯碼單元。
32.根據(jù)權(quán)利要求30所述的裝置,其特征在于,上述至少一其他子譯碼/譯碼單元中的每一個(gè)是運(yùn)動(dòng)補(bǔ)償子譯碼/譯碼單元。
33.一種在譯碼單元的視頻譯碼過(guò)程中執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)的方法,上述方法包含接收上述譯碼單元,其中上述譯碼單元包含多個(gè)子譯碼單元; 解析上述譯碼單元的數(shù)據(jù);以及依據(jù)預(yù)定準(zhǔn)則指定上述譯碼單元的特定子譯碼單元的參考運(yùn)動(dòng)向量,其中上述參考運(yùn)動(dòng)向量是用來(lái)供給至少一其他子譯碼/譯碼單元參考,并且并非使用上述參考運(yùn)動(dòng)向量來(lái)進(jìn)行上述特定子譯碼單元的運(yùn)動(dòng)向量預(yù)測(cè)。
34.根據(jù)權(quán)利要求33的方法,其特征在于,上述依據(jù)預(yù)定準(zhǔn)則指定上述譯碼單元的特定子譯碼單元的參考運(yùn)動(dòng)向量的步驟更包含指定上述參考運(yùn)動(dòng)向量為臨近譯碼單元的至少一部分的運(yùn)動(dòng)向量。
35.根據(jù)權(quán)利要求34的方法,其特征在于,上述臨近譯碼單元的上述至少一部分是在上述臨近譯碼單元中最接近上述特定子譯碼單元的部分。
36.根據(jù)權(quán)利要求33的方法,其特征在于,上述依據(jù)預(yù)定準(zhǔn)則指定上述譯碼單元的特定子譯碼單元的參考運(yùn)動(dòng)向量的步驟更包含指定上述參考運(yùn)動(dòng)向量為定義在H. 264標(biāo)準(zhǔn)中的運(yùn)動(dòng)向量預(yù)測(cè)子。
全文摘要
本發(fā)明揭露一種在譯碼單元的視頻譯碼過(guò)程中執(zhí)行局部運(yùn)動(dòng)向量推導(dǎo)的方法與相應(yīng)的裝置,上述方法包含將譯碼單元分割為多個(gè)子譯碼單元進(jìn)行處理,并且對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)。其中對(duì)每一子譯碼單元執(zhí)行運(yùn)動(dòng)向量預(yù)測(cè)的步驟包含通過(guò)利用至少一其他子譯碼/譯碼單元的至少一運(yùn)動(dòng)向量,獲得特定子譯碼單元的運(yùn)動(dòng)向量,從而上述方法依據(jù)特定子譯碼單元的運(yùn)動(dòng)向量,對(duì)特定子譯碼單元執(zhí)行運(yùn)動(dòng)補(bǔ)償。本發(fā)明的優(yōu)勢(shì)在于編碼器與解碼器可適當(dāng)?shù)貓?zhí)行局部運(yùn)動(dòng)向量推導(dǎo)。通過(guò)利用本發(fā)明的方法與相應(yīng)裝置,運(yùn)動(dòng)向量預(yù)測(cè)操作與運(yùn)動(dòng)補(bǔ)償操作可提高編碼效率。
文檔編號(hào)H04N7/32GK102223542SQ20111008938
公開(kāi)日2011年10月19日 申請(qǐng)日期2011年4月11日 優(yōu)先權(quán)日2010年4月14日
發(fā)明者林建良, 蔡玉寶, 雷少民 申請(qǐng)人:聯(lián)發(fā)科技股份有限公司