專利名稱:基于運(yùn)動(dòng)估計(jì)多分辨率方法及存儲(chǔ)執(zhí)行其程序的記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻編碼,更具體地講,涉及一種基于運(yùn)動(dòng)估計(jì)的多分辨率的方法,以及一種存儲(chǔ)執(zhí)行基于運(yùn)動(dòng)估計(jì)的多分辨率的方法的程序的記錄介質(zhì)。
背景技術(shù):
在視頻編碼器中,運(yùn)動(dòng)估計(jì)單元通常被認(rèn)為具有最高計(jì)算復(fù)雜度。為減少運(yùn)動(dòng)估計(jì)單元的計(jì)算復(fù)雜度,使用快速運(yùn)動(dòng)估計(jì)方法。與全搜索塊比對(duì)算法相比,快速運(yùn)動(dòng)估計(jì)方法沒有降低性能地執(zhí)行更快的計(jì)算。全搜索塊比對(duì)算法將當(dāng)前幀和參考幀分成相等大小的塊,然后通過將當(dāng)前幀的每個(gè)塊和參考幀的搜索區(qū)域內(nèi)的所有塊比較來估計(jì)每個(gè)塊的二維運(yùn)動(dòng)矢量,以找到基于給定比對(duì)標(biāo)準(zhǔn)的最好比對(duì)。絕對(duì)差和(SAD)是用于確定最好比對(duì)的比對(duì)標(biāo)準(zhǔn)之一。在快速運(yùn)動(dòng)估計(jì)方法中,等級(jí)多分辨率搜索方案已經(jīng)被更好地采用。
圖1是分級(jí)運(yùn)動(dòng)矢量搜索方案的分級(jí)幀結(jié)構(gòu)的示圖。
參考圖1,層0中的宏塊由16×16像素組成。通過從層0的相鄰2×2像素提取平均像素獲得層1,層1中宏塊由8×8像素組成。通過從層1的相鄰2×2像素提取平均像素獲得層2,層2中宏塊由4×4像素組成。這里示出了3層的幀結(jié)構(gòu),但是應(yīng)該理解也可以選擇其他如層2、或者層3以上的可選擇的幀結(jié)構(gòu)。
圖2是說明等級(jí)運(yùn)動(dòng)矢量搜索方法的示圖。
參考圖2,在低分辨率層(層2),中分辨率層(層1)和高分辨率層(層0)有3個(gè)搜索處理。
通常,分層運(yùn)動(dòng)估計(jì)通過如下操作來執(zhí)行(i)在操作220中,在最低分辨率層執(zhí)行全搜索,將全搜索結(jié)果的具有最小SAD的搜索點(diǎn)確定為中分辨率層的初始搜索點(diǎn)。
(ii)在操作240中,以在操作(i)中確定的初始搜索點(diǎn)為中心,在中分辨率層中的小區(qū)域內(nèi)執(zhí)行局部搜索,將全搜索結(jié)果的具有最小SAD的搜索點(diǎn)確定為高分辨率層的初始搜索點(diǎn)。
(iii)以在操作(ii)中確定的初始搜索點(diǎn)為中心,從在高分辨率層中的小區(qū)域內(nèi)的局部搜索估計(jì)最終運(yùn)動(dòng)矢量。
然而,當(dāng)在多參考幀方法或塊分方法中應(yīng)用等級(jí)運(yùn)動(dòng)搜索方案時(shí),使用這種等級(jí)運(yùn)動(dòng)搜索方案需要過多的計(jì)算。
因此,需要提供基于塊分和多分辨率估計(jì)運(yùn)動(dòng)矢量的方法,需要存儲(chǔ)執(zhí)行此方法的程序的記錄介質(zhì)。
發(fā)明內(nèi)容
將在接下來的描述中部分闡述本發(fā)明的另外的方面、特點(diǎn)、和/或優(yōu)點(diǎn),還有一部分通過描述將是清楚的,或者可以經(jīng)過本發(fā)明的實(shí)施而得知。
本發(fā)明提供了一種基于運(yùn)動(dòng)估計(jì)的多分辨率方法,以及存儲(chǔ)執(zhí)行該方法的程序的記錄介質(zhì)。
根據(jù)本發(fā)明的一方面,提供了一種基于運(yùn)動(dòng)估計(jì)的多分辨率方法,該方法包括在低分辨率下計(jì)算當(dāng)前幀的預(yù)定塊中的初始運(yùn)動(dòng)矢量;在中分辨率下確定基于初始運(yùn)動(dòng)矢量的搜索區(qū)域;在該搜索區(qū)域中,對(duì)于多個(gè)模式中的每個(gè)執(zhí)行運(yùn)動(dòng)估計(jì),通過將宏塊分成預(yù)定子宏塊來獲得每個(gè)模式;以及在中分辨率下在其的每個(gè)已經(jīng)經(jīng)過運(yùn)動(dòng)估計(jì)的多個(gè)模式中選擇至少一個(gè)模式,并且在高分辨率下基于被選擇模式的運(yùn)動(dòng)矢量執(zhí)行運(yùn)動(dòng)估計(jì),其中,多個(gè)模式具有不同大小的子宏塊。
根據(jù)本發(fā)明的一方面,基于每個(gè)模式的運(yùn)動(dòng)估計(jì)的結(jié)果來執(zhí)行至少一個(gè)模式的選擇。
根據(jù)本發(fā)明的一方面,如果被選擇的模式中的一個(gè)包括最小的大小的宏模塊,則對(duì)高分辨率執(zhí)行運(yùn)動(dòng)估計(jì),對(duì)多模式的每個(gè)執(zhí)行運(yùn)動(dòng)估計(jì),每個(gè)模式通過將最小大小的子模塊分成預(yù)定數(shù)量的子塊來獲得。
根據(jù)本發(fā)明的一方面,通過將宏塊分成一個(gè)16×16大小的子宏塊、兩個(gè)16×8大小的子宏塊、兩個(gè)8×16大小的子宏塊、以及四個(gè)8×8大小的子宏塊來獲得多個(gè)模式,對(duì)于每個(gè)模式在每個(gè)子宏塊中執(zhí)行運(yùn)動(dòng)估計(jì),因此每個(gè)模式的運(yùn)動(dòng)矢量的數(shù)量和相應(yīng)模式的子宏塊數(shù)量相等。
根據(jù)本發(fā)明的一方面,通過選擇在運(yùn)動(dòng)估計(jì)中具有最低成本的一個(gè)或者多個(gè)模式來執(zhí)行選擇至少一個(gè)模式,成本包括來自絕對(duì)差和(SAD)、運(yùn)動(dòng)矢量的比特、以及模式信息的比特中的一個(gè)或更多因素。
根據(jù)本發(fā)明的一方面,參考至少一個(gè)當(dāng)前幀的相鄰幀來計(jì)算初始運(yùn)動(dòng)矢量。
根據(jù)本發(fā)明的一方面,該方法還包括使用預(yù)定塊的相鄰塊的運(yùn)動(dòng)矢量來計(jì)算附加運(yùn)動(dòng)矢量,其中,在中分辨率下確定搜索區(qū)域包括確定基于附加運(yùn)動(dòng)矢量的搜索區(qū)域。
根據(jù)本發(fā)明的一方面,附加運(yùn)動(dòng)矢量具有相鄰塊的運(yùn)動(dòng)矢量的中值。
根據(jù)本發(fā)明的一方面,如果被選擇模式中的一個(gè)是8×8大小的子宏塊中的運(yùn)動(dòng)估計(jì)的模式,則高分辨率下的運(yùn)動(dòng)估計(jì)包括對(duì)多個(gè)模式的每個(gè)執(zhí)行運(yùn)動(dòng)估計(jì),通過將8×8大小的子宏塊分成預(yù)定數(shù)量的子塊來獲得每個(gè)模式。
根據(jù)本發(fā)明的一方面,運(yùn)動(dòng)估計(jì)方法適用于H.264解碼器。
根據(jù)本發(fā)明的一方面,在中分辨率水平下對(duì)每個(gè)模式執(zhí)行運(yùn)動(dòng)估計(jì)通過對(duì)搜索區(qū)域中的相應(yīng)模式的每個(gè)子宏塊獨(dú)立地計(jì)算SAD來完成。
根據(jù)本發(fā)明的一方面,在高分辨率水平下對(duì)每個(gè)模式執(zhí)行運(yùn)動(dòng)估計(jì)通過對(duì)搜索區(qū)域中的相應(yīng)模式的每個(gè)子宏塊獨(dú)立地計(jì)算SAD來完成。
根據(jù)本發(fā)明的另一方面,提供了一種存儲(chǔ)執(zhí)行基于運(yùn)動(dòng)估計(jì)的多分辨率方法的程序的記錄介質(zhì),該方法包括在低分辨率下計(jì)算當(dāng)前幀的預(yù)定塊中的初始運(yùn)動(dòng)矢量;在中分辨率下確定基于初始運(yùn)動(dòng)矢量的搜索區(qū)域;在該搜索區(qū)域中,對(duì)于多個(gè)模式中的每個(gè)執(zhí)行運(yùn)動(dòng)估計(jì),通過將宏塊分成預(yù)定子宏塊來獲得每個(gè)模式;以及在中分辨率下在其每個(gè)已經(jīng)經(jīng)過運(yùn)動(dòng)估計(jì)的多個(gè)模式中選擇至少一個(gè)模式,并且基于對(duì)選擇的模式的運(yùn)動(dòng)矢量在高分辨率下執(zhí)行運(yùn)動(dòng)估計(jì),其中,多個(gè)模式具有不同大小的子宏塊。
根據(jù)本發(fā)明的一方面,提供一種基于運(yùn)動(dòng)估計(jì)的多分辨率的方法,該方法包括在低分辨率下對(duì)當(dāng)前宏塊的參考幀執(zhí)行運(yùn)動(dòng)估計(jì)以提供初始運(yùn)動(dòng)矢量;在中分辨率下確定基于初始運(yùn)動(dòng)矢量的搜索區(qū)域;在該搜索區(qū)域中,對(duì)于多個(gè)模式中的每個(gè)執(zhí)行運(yùn)動(dòng)估計(jì),通過將宏塊分成子宏塊來獲得每個(gè)模式,其中,子宏塊中的一個(gè)是宏塊;在中分辨率下在其每個(gè)已經(jīng)經(jīng)過運(yùn)動(dòng)估計(jì)的多個(gè)模式中選擇至少一個(gè)模式;以及基于對(duì)選擇的模式的運(yùn)動(dòng)矢量在高分辨率下執(zhí)行運(yùn)動(dòng)估計(jì)。
根據(jù)本發(fā)明的另一方面,提供存儲(chǔ)控制執(zhí)行基于運(yùn)動(dòng)估計(jì)的多分辨率的方法的至少一個(gè)處理器以執(zhí)行的指令的至少一個(gè)計(jì)算機(jī)可讀介質(zhì),該方法包括在低分辨率下對(duì)當(dāng)前宏塊的參考幀執(zhí)行運(yùn)動(dòng)估計(jì)以提供初始運(yùn)動(dòng)矢量;在中分辨率下確定基于初始運(yùn)動(dòng)矢量的搜索區(qū)域;對(duì)于多個(gè)模式中的每個(gè)在搜索區(qū)域執(zhí)行運(yùn)動(dòng)估計(jì),通過將一個(gè)宏塊分成子宏塊獲得每個(gè)模式,其中,子宏塊之一是宏塊;在中分辨率下在其每個(gè)已經(jīng)經(jīng)過運(yùn)動(dòng)估計(jì)的多個(gè)模式中選擇至少一個(gè)模式;以及基于對(duì)選擇的模式的運(yùn)動(dòng)矢量在高分辨率下執(zhí)行運(yùn)動(dòng)估計(jì)。
通過下面結(jié)合附圖進(jìn)行的對(duì)示例性實(shí)施例的描述,本發(fā)明的這些和/或其他方面、特點(diǎn)和優(yōu)點(diǎn)將會(huì)變得清楚和更易于理解,其中圖1顯示等級(jí)估計(jì)運(yùn)動(dòng)矢量的方法中的示例性等級(jí)幀結(jié)構(gòu);圖2是示出分層估計(jì)運(yùn)動(dòng)矢量背景技術(shù)中的方法的示圖;圖3是示出在其中應(yīng)用本發(fā)明示例性實(shí)施例的視頻編碼系統(tǒng)的方框圖;圖4是示出在其中應(yīng)用本發(fā)明示例性實(shí)施例的另一視頻編碼系統(tǒng)方框圖;圖5是示出的根據(jù)本發(fā)明的示例性實(shí)施例的在低分辨率下搜索運(yùn)動(dòng)矢量的方法的示圖;圖6是示出的根據(jù)本發(fā)明的示例性實(shí)施例的在中分辨率下搜索運(yùn)動(dòng)矢量的方法的示圖;圖7是示出的根據(jù)本發(fā)明的示例性實(shí)施例的在高分辨率下搜索運(yùn)動(dòng)矢量的方法的示圖;圖8顯示根據(jù)本發(fā)明的示例性實(shí)施例的相鄰宏塊的運(yùn)動(dòng)矢量作為初始運(yùn)動(dòng)矢量的示例;圖9顯示各種宏塊分割模式;圖10顯示各種子宏塊分割模式;圖11是根據(jù)本發(fā)明的示例性實(shí)施例的表示基于運(yùn)動(dòng)估計(jì)的多分辨率方法的示例性實(shí)施例的流程圖;以及圖12是根據(jù)本發(fā)明的示例性實(shí)施例的表示基于運(yùn)動(dòng)估計(jì)的多分辨率方法的另一示例性實(shí)施例的流程圖。
具體實(shí)施例方式
現(xiàn)在,詳細(xì)描述本發(fā)明的實(shí)施例,其示例在附圖中表示,其中,相同的標(biāo)號(hào)始終表示相同的部件。以下,通過參考附圖描述實(shí)施例以解釋本發(fā)明。
圖3是示出在其中用本發(fā)明的視頻編碼系統(tǒng)的方框圖。
圖3的視頻編碼系統(tǒng)可包括MPEG 2編碼器、MPEG 4編碼器等。
輸入視頻數(shù)據(jù)由圖像組(GOP)單元組成。DCT單元320對(duì)視頻數(shù)據(jù)以8×8塊為單位執(zhí)行離散余弦變換(DCT)以獲得視頻數(shù)據(jù)的空間冗余。量化單元Q330對(duì)來自DCT單元320的DCT變換的視頻數(shù)據(jù)量化。解量化單元Q-1350對(duì)來自量化單元330的量化的視頻數(shù)據(jù)進(jìn)行解量化。IDCT單元360對(duì)來自解量化單元350的解量化的視頻數(shù)據(jù)執(zhí)行逆DCT(IDCT)。幀存儲(chǔ)器370儲(chǔ)存幀單元中的解量化視頻數(shù)據(jù)。運(yùn)動(dòng)估計(jì)/運(yùn)動(dòng)補(bǔ)償(ME/MC)單元380使用當(dāng)前輸入幀的輸入視頻數(shù)據(jù)和在幀存儲(chǔ)器370中存儲(chǔ)的先前幀的視頻數(shù)據(jù)來為每個(gè)宏塊估計(jì)運(yùn)動(dòng)矢量MV和SAD??勺冮L度代碼(VLC)單元340根據(jù)ME/MC單元380估計(jì)的運(yùn)動(dòng)矢量消除量化視頻數(shù)據(jù)的統(tǒng)計(jì)冗余。
參考圖1和圖2,要實(shí)現(xiàn)等級(jí)運(yùn)動(dòng)估計(jì)方法,必須通過低分辨率濾波和子取樣使當(dāng)前和參考幀具有多分辨率結(jié)構(gòu)。為此,圖3的預(yù)處理器310通過對(duì)當(dāng)前幀和參考幀執(zhí)行子取樣產(chǎn)生低分辨率幀。
圖4是示出在其中應(yīng)用本發(fā)明的視頻編碼系統(tǒng)的方框圖。
圖4的視頻編碼系統(tǒng)可包括例如基于H.264的多幀的編碼器。
參考圖4,視頻編碼系統(tǒng)包括編碼器控制器410、變換/量化單元420、逆變換/解量化單元430、去塊濾波器440、幀存儲(chǔ)器450、幀內(nèi)預(yù)測單元460、運(yùn)動(dòng)估計(jì)/運(yùn)動(dòng)補(bǔ)償單元470、熵編碼單元480、以及預(yù)處理器490。
在圖4的視頻編碼系統(tǒng)中,變換/量化單元420、逆變換/解量化單元430、幀存儲(chǔ)器450、運(yùn)動(dòng)估計(jì)/運(yùn)動(dòng)補(bǔ)償單元470、以及預(yù)處理器490對(duì)圖3的系統(tǒng)的相應(yīng)部分執(zhí)行相同功能。因此,這些元件的詳細(xì)介紹可以忽略。
編碼器控制器410起到比特率控制器的作用,確定每個(gè)塊的量化系數(shù)以滿足全部序列和每個(gè)畫面的目標(biāo)比特所需要的比特率。
去塊濾波器440對(duì)運(yùn)動(dòng)補(bǔ)償?shù)囊曨l數(shù)據(jù)濾波以去除由于量化的塊現(xiàn)象,并將結(jié)果存儲(chǔ)在幀存儲(chǔ)器450中。
幀內(nèi)預(yù)測單元460在內(nèi)部宏塊的情況下獲得空間區(qū)域中的每個(gè)塊或每個(gè)宏塊的預(yù)測器,從內(nèi)部宏塊中減去預(yù)測器,并將減法結(jié)果的差值轉(zhuǎn)發(fā)給變換單元420。
熵編碼單元480在編碼控制器410的控制下對(duì)量化數(shù)據(jù)和運(yùn)動(dòng)信息執(zhí)行熵編碼。
圖5是根據(jù)本發(fā)明的示例性實(shí)施例的在低分辨率下執(zhí)行的運(yùn)動(dòng)矢量搜索方法的示圖。這里,REF1和REF2表示被找到的在當(dāng)前宏塊的運(yùn)動(dòng)估計(jì)中具有最小SAD的參考幀。MVref1(2)表示REF1的最小SAD,這里(2)表示水平2,即低分辨率水平。相似地,MVref2(2)表示REF2的最小SAD。
例如,在本發(fā)明的示例性實(shí)施例中已經(jīng)使用了兩個(gè)參考幀。但是,或者,在本應(yīng)用的示例性實(shí)施例中也可以應(yīng)用多于兩個(gè)的參考幀。另外,已經(jīng)用三個(gè)分辨率水平示出了實(shí)施例,該三個(gè)分辨率水平作為最初始的分辨率水平的高分辨率水平L0,中分辨率水平L1,以及低分辨率水平L2。或者,兩個(gè)分辨率水平或多于三個(gè)分辨率水平也可被同樣應(yīng)用到本發(fā)明的示例性實(shí)施例中。
圖6是根據(jù)本發(fā)明的示例性實(shí)施例的在中分辨率下執(zhí)行的運(yùn)動(dòng)矢量搜索方法的示圖。這里,REF1和REF2表示找到的在當(dāng)前宏塊的運(yùn)動(dòng)估計(jì)中具有最小SAD的參考幀。
圖7是根據(jù)本發(fā)明的示例性實(shí)施例的在高分辨率下執(zhí)行的運(yùn)動(dòng)矢量搜索方法的示圖。這里,REF1和REF2表示找到的在當(dāng)前宏塊的運(yùn)動(dòng)估計(jì)中具有最小SAD的參考幀。
現(xiàn)在將參照圖3和4,以及圖5至7來詳細(xì)描述根據(jù)本發(fā)明示例性實(shí)施例的基于運(yùn)動(dòng)估計(jì)的多分辨率的方法。
如圖3和4的預(yù)處理器對(duì)具有如圖1所示的分級(jí)結(jié)構(gòu)中的幀的當(dāng)前幀和參考幀執(zhí)行低通濾波和子濾波。
接下來,運(yùn)動(dòng)估計(jì)(ME)單元380和470通過在為REF1和REF2,即在最低分辨率水平,即水平2的當(dāng)前宏塊的參考幀給出的搜索區(qū)域內(nèi)以幀為單位執(zhí)行全搜索運(yùn)動(dòng)估計(jì)來搜索具有最小SAD的運(yùn)動(dòng)矢量。REF1的具有最小SAD的運(yùn)動(dòng)矢量被稱為MVref1(2),REF2的具有最小SAD的運(yùn)動(dòng)矢量被稱為MVref2(2)。
在本發(fā)明中也可對(duì)多于兩個(gè)的參考幀執(zhí)行這種全搜索以獲得多于兩個(gè)的運(yùn)動(dòng)矢量。
接下來,通過使用在低分辨率水平即水平2確定的初始運(yùn)動(dòng)矢量,即MVref1(2)和MVref2(2)來確定中分辨率水平即水平1的通過其運(yùn)動(dòng)矢量將被估計(jì)的REF1和REF2的搜索區(qū)域。
這里,在局部搜索期間,對(duì)四個(gè)模式的每個(gè)執(zhí)行運(yùn)動(dòng)估計(jì),每個(gè)模式通過將宏塊分成預(yù)定數(shù)量的子宏塊而被獲得。如圖9所示,16×16大小的宏塊不僅具有宏塊中所有像素的一個(gè)運(yùn)動(dòng)矢量,而且具有與宏塊的各種劃分模式相應(yīng)的多個(gè)運(yùn)動(dòng)矢量。例如,在圖9的情況下,宏塊被分成兩個(gè)子宏塊‘0’和‘1’,并且對(duì)于兩個(gè)子宏塊具有兩個(gè)獨(dú)立的運(yùn)動(dòng)矢量MV1和MV2。
根據(jù)本發(fā)明的示例性實(shí)施例,對(duì)如圖9中所示的四個(gè)模式的每個(gè)執(zhí)行運(yùn)動(dòng)估計(jì),該四個(gè)模式為(a)具有16×16大小子宏塊的16×16模式、(b)具有兩個(gè)16×8大小子宏塊的16×8模式、(c)具有兩個(gè)8×16大小子宏塊的8×16模式、和(d)具有四個(gè)8×8大小的子宏塊的8×8模式。例如,對(duì)于8×8模式,對(duì)四個(gè)子宏塊的每個(gè)執(zhí)行運(yùn)動(dòng)估計(jì),因此獲得每個(gè)子宏塊的運(yùn)動(dòng)矢量。
考慮到對(duì)于每個(gè)模塊獲得運(yùn)動(dòng)矢量的成本,例如,SAD的數(shù)量,運(yùn)動(dòng)矢量比特?cái)?shù),以及其他數(shù)值,和關(guān)于相應(yīng)模式的模式信息的比特?cái)?shù)成比例,選擇具有最小成本的兩個(gè)模式。作為結(jié)果,獲得多對(duì)的運(yùn)動(dòng)矢量,例如,16×16和16×8模式,或16×8和8×8模式。這里,在中分辨率水平,即水平1獲得的運(yùn)動(dòng)矢量被稱為基本運(yùn)動(dòng)矢量。
圖6顯示了一對(duì)基本運(yùn)動(dòng)矢量MVc1(1)和MVc2(1)。這里,假設(shè)每個(gè)基本運(yùn)動(dòng)矢量具有16×16、16×8和8×16、或8×8模式的一個(gè)、兩個(gè)或者四個(gè)運(yùn)動(dòng)矢量。
接下來,使用在水平1獲得的基本運(yùn)動(dòng)矢量MVc1(1)和MVc2(1)來執(zhí)行高分辨率水平即水平0的運(yùn)動(dòng)估計(jì)。
特別地,使用水平1的基本運(yùn)動(dòng)矢量來確定水平0的運(yùn)動(dòng)估計(jì)的搜索區(qū)域,然后在該搜索區(qū)域中執(zhí)行局部搜索。這里,當(dāng)對(duì)16×16、16×8或8×16模式執(zhí)行局部搜索時(shí),在相應(yīng)的搜索區(qū)域執(zhí)行運(yùn)動(dòng)估計(jì)。但是,當(dāng)對(duì)8×8模式執(zhí)行局部搜索時(shí),8×8模式中的子宏塊被分為如圖10所示的預(yù)定數(shù)量的子塊。然后,對(duì)每個(gè)模式,如以在中級(jí)分辨率水平的同樣的方式分類的8×8、8×4、4×8或4×4模式執(zhí)行運(yùn)動(dòng)矢量。另外,考慮到獲得對(duì)于所有模式的運(yùn)動(dòng)估計(jì)的成本,選擇具有最低成本的模式。在劃分的子塊中執(zhí)行8×8模式的運(yùn)動(dòng)估計(jì)的原因在于以較小子塊為單位的搜索使成本降低。
相似地,選擇兩個(gè)最終模式并計(jì)算相應(yīng)的運(yùn)動(dòng)矢量。
接下來,通過對(duì)兩個(gè)最終模式的亞像素精度運(yùn)動(dòng)矢量搜索來選擇具有最低成本的運(yùn)動(dòng)矢量和其相應(yīng)的模式。然后,基于選擇的運(yùn)動(dòng)矢量執(zhí)行運(yùn)動(dòng)預(yù)測和補(bǔ)償。
在以上示例性實(shí)施例中已經(jīng)描述,使用在低分辨率水平獲得初始運(yùn)動(dòng)矢量來對(duì)每個(gè)參考幀執(zhí)行中分辨率水平的一個(gè)局部搜索。
但是,在本發(fā)明的其他示例性實(shí)施例中,也可考慮使用較低分辨率水平的當(dāng)前宏塊的相鄰宏塊的其他初始運(yùn)動(dòng)矢量來對(duì)每個(gè)宏塊執(zhí)行至少兩次局部搜索。
例如,如圖8所示,通過計(jì)算三個(gè)相鄰宏塊的運(yùn)動(dòng)矢量的中值獲得的運(yùn)動(dòng)矢量MVrefspat可被用作被稱為附加運(yùn)動(dòng)矢量的另一初始矢量。這里,可以通過從相鄰塊的運(yùn)動(dòng)矢量的X和Y坐標(biāo)取得中值來獲得附加運(yùn)動(dòng)矢量。例如,如果相鄰塊的運(yùn)動(dòng)矢量坐標(biāo)分別是MV1=(5,6),MV2=(3,8),和MV3=(7,7),附加運(yùn)動(dòng)矢量像這樣被獲得{中值(5,3,7),中值(6,8,7)}=(5,7)。
如果從低分辨率水平的相鄰運(yùn)動(dòng)矢量獲得附加運(yùn)動(dòng)矢量,則該附加運(yùn)動(dòng)矢量應(yīng)該受到將被使用的向上取樣。同時(shí),如果從高分辨率水平的相鄰運(yùn)動(dòng)矢量獲得附加運(yùn)動(dòng)矢量,則該附加運(yùn)動(dòng)矢量應(yīng)該被受到將被使用的向下取樣。但是,如果從中分辨率水平的相鄰運(yùn)動(dòng)矢量獲得附加運(yùn)動(dòng)矢量,則該附加運(yùn)動(dòng)矢量克按原樣被使用?;蛘咴贖.264、MPEG-4和VC9等的當(dāng)前運(yùn)動(dòng)矢量搜索算法中使用的運(yùn)動(dòng)矢量也可被用作附加運(yùn)動(dòng)矢量。
中分辨率水平的運(yùn)動(dòng)估計(jì)不僅在由低分辨率水平獲得的初始運(yùn)動(dòng)矢量確定的搜索區(qū)域里執(zhí)行,還在以相同的方式由附加運(yùn)動(dòng)矢量確定的搜索區(qū)域中執(zhí)行。
如果在一個(gè)分辨率水平獲得的運(yùn)動(dòng)矢量被用在不同的分辨率水平,則需要其運(yùn)動(dòng)矢量的適當(dāng)?shù)目s放比例。例如,相鄰視頻幀之間的運(yùn)動(dòng)矢量需要受到將被使用在高分辨率的雙倍縮放。
圖11是根據(jù)本發(fā)明的示例性實(shí)施例的基于運(yùn)動(dòng)矢量估計(jì)的多分辨率方法的示例性實(shí)施例的流程圖。
在操作1110中,在給定的任意選擇的在最低分辨率水平,即水平2下當(dāng)前宏塊的REF1和REF2的參考幀的每個(gè)搜索區(qū)域內(nèi)的幀單元的運(yùn)動(dòng)估計(jì)執(zhí)行全搜索,以獲得具有最低SAD的REF1和REF2的運(yùn)動(dòng)矢量MVref1(2)和MVref2(2)。
在操作1120中,通過使用作為初始運(yùn)動(dòng)矢量的在水平2獲得的運(yùn)動(dòng)矢量MVref1(2)和MVref2(2)來確定中分辨率水平,水平1的REF1和REF2的運(yùn)動(dòng)估計(jì)搜索區(qū)域。
在操作1130中,對(duì)四個(gè)模式的每個(gè)在中級(jí)分辨率下的搜索區(qū)域執(zhí)行運(yùn)動(dòng)估計(jì),如圖9所示,每個(gè)模式可以通過將宏塊分成預(yù)定數(shù)量的子宏塊來獲得,并且通過考慮到四個(gè)模式的運(yùn)動(dòng)估計(jì)的成本來選擇兩個(gè)模式。也就是說,對(duì)每個(gè)模式執(zhí)行運(yùn)動(dòng)估計(jì)具有16×16大小的子宏塊的16×16模式、具有兩個(gè)16×8大小的子宏塊的16×8模式、具有兩個(gè)8×16大小的子宏塊的8×16模式、以及具有四個(gè)8×8大小的子宏塊的8×8模式,分別顯示在圖9中的(a),(b),(c),和(d)。
為了減少運(yùn)動(dòng)估計(jì)的計(jì)算復(fù)雜度,在16×16、16×8、8×16和8×8模式的同一搜索區(qū)域中獨(dú)立地計(jì)算SAD,從而用單一局部搜索對(duì)每個(gè)模式執(zhí)行運(yùn)動(dòng)估計(jì)。
在操作1140中,確定在操作1130中選擇的兩個(gè)模式中的一個(gè)是否為具有最小子宏塊的模式,即具有8×8大小的子宏塊的8×8模式。如果是,則步驟進(jìn)行到操作1160;否則進(jìn)行到操作1150。
在操作1150中,通過使用在中分辨率水平即水平1下獲得的基本運(yùn)動(dòng)矢量來確定高分辨率水平即水平0的運(yùn)動(dòng)估計(jì)的搜索區(qū)域,并且在該搜索區(qū)域中執(zhí)行局部搜索。
在操作1160中,如圖10所示,相應(yīng)的子宏塊被分成預(yù)定數(shù)量的子塊,并且對(duì)塊劃分得到的每個(gè)模式即8×8、8×4、4×8和4×4模式執(zhí)行運(yùn)動(dòng)估計(jì),從而選擇運(yùn)動(dòng)估計(jì)中具有最低成本的模式。另外,這里,為了減少運(yùn)動(dòng)估計(jì)的計(jì)算復(fù)雜度,對(duì)于每個(gè)8×8、8×4、4×8或4×4模式在相同搜索區(qū)域中獨(dú)立計(jì)算SAD,從而用單一局部搜索對(duì)每個(gè)模式執(zhí)行運(yùn)動(dòng)估計(jì)。
通過對(duì)最后確定的兩個(gè)模式的亞像素精度的運(yùn)動(dòng)矢量搜索,具有最低成本的運(yùn)動(dòng)矢量與其相應(yīng)的模式一起被選擇?;谶x擇的運(yùn)動(dòng)矢量執(zhí)行運(yùn)動(dòng)預(yù)測和補(bǔ)償。
同樣,在根據(jù)本發(fā)明基于運(yùn)動(dòng)估計(jì)的多分辨率的方法中,對(duì)中分辨率水平的每個(gè)子宏塊模式執(zhí)行運(yùn)動(dòng)估計(jì)。中分辨率水平下運(yùn)動(dòng)估計(jì)的結(jié)果被用于高分辨率水平的運(yùn)動(dòng)估計(jì)。在高分辨率水平的估計(jì)中,如果找到最小子宏塊在中分辨率水平下在運(yùn)動(dòng)估計(jì)中具有最低成本,則該子宏塊被分成在其地每個(gè)中執(zhí)行運(yùn)動(dòng)估計(jì)的子塊,因此使得存儲(chǔ)器帶寬變窄并減少運(yùn)動(dòng)估計(jì)的處理周期,而不降低性能。
圖12是根據(jù)本發(fā)明的示例性實(shí)施例,示出另一基于運(yùn)動(dòng)估計(jì)的多分辨率的方法的示例性實(shí)施例的流程圖。
在操作1210中,對(duì)任意選擇的參考幀,即在最低分別率水平,即水平2的當(dāng)前宏塊的REF1和REF2的每個(gè)的給定搜索區(qū)域內(nèi)的幀單元的運(yùn)動(dòng)估計(jì)執(zhí)行全搜索,以獲得具有最小SAD的REF1和REF2的運(yùn)動(dòng)矢量MVref1(2)和MVref2(2)。
在操作1220中,從低分辨率水平下的當(dāng)前宏塊的相鄰宏塊計(jì)算其他初始運(yùn)動(dòng)矢量,即附加運(yùn)動(dòng)矢量。例如,如圖8所示通過從三個(gè)相鄰宏塊的運(yùn)動(dòng)矢量中取得中值獲得的運(yùn)動(dòng)矢量MVrefspat可被用作附加運(yùn)動(dòng)矢量。
在操作1230中,通過使用初始運(yùn)動(dòng)矢量MVref1(2)、MVref2(2)和附加運(yùn)動(dòng)矢量MVrefspat來確定中分辨率水平下,即水平1的REF1和REF2的運(yùn)動(dòng)估計(jì)的搜索區(qū)域。
在操作1240中,對(duì)四個(gè)模式的每個(gè)在中分辨率水平下的搜索區(qū)域中執(zhí)行運(yùn)動(dòng)估計(jì),如圖9所示,通過將一個(gè)宏塊分成預(yù)定數(shù)量的子宏塊來獲得每個(gè)模式,并且考慮四個(gè)模式的運(yùn)動(dòng)估計(jì)的成本來選擇兩個(gè)模式。換句話說,對(duì)四個(gè)模式的每個(gè)執(zhí)行運(yùn)動(dòng)矢量,該四個(gè)模式為具有16×16大小子的宏塊的16×16模式、具有兩個(gè)16×8大小的子宏塊的16×8模式、具有8×16大小的子宏塊的8×16模式和具有8×8大小的子宏塊的8×8模式,分別在圖9的(a),(b),(c),和(d)中顯示。
另外,這里,為了減少運(yùn)動(dòng)估計(jì)的計(jì)算復(fù)雜度,對(duì)于16×16、16×8、8×16和8×8模式在同一搜索區(qū)域獨(dú)立地計(jì)算SAD,從而用單一局部搜索對(duì)每個(gè)模式執(zhí)行運(yùn)動(dòng)估計(jì)。
在操作1250中,確定在操作1240中選擇的兩個(gè)模式中的一個(gè)是否是具有最小子宏塊,即具有8×8大小的子宏塊的8×8模式的模式。如果是,步驟進(jìn)行到操作1270;否則執(zhí)行1260。
在操作1260中,通過使用中分辨率水平即水平1獲得的基本運(yùn)動(dòng)矢量來確定高分辨率水平即水平0的運(yùn)動(dòng)估計(jì)的搜索區(qū)域,在該搜索區(qū)域中執(zhí)行局部搜索。
在操作1270中,將相應(yīng)的子宏塊分成如圖10所示的預(yù)定數(shù)量的子塊,對(duì)塊劃分結(jié)果的每個(gè)模式,即8×8、8×4、4×8和4×4模式執(zhí)行運(yùn)動(dòng)估計(jì),從而選擇兩個(gè)在運(yùn)動(dòng)估計(jì)中具有最低成本的模式。另外,這里,為了減少運(yùn)動(dòng)估計(jì)中的計(jì)算復(fù)雜度,在每個(gè)8×8、8×4、4×8或4×4模式的相同搜索區(qū)域中獨(dú)立計(jì)算SAD,從而用單一局部搜索對(duì)每個(gè)模式執(zhí)行運(yùn)動(dòng)估計(jì)。通過對(duì)最后確定的兩個(gè)模式的亞像素精度的運(yùn)動(dòng)矢量搜索,具有最低成本的運(yùn)動(dòng)矢量與其相應(yīng)的模式一起被選擇?;谶x擇的運(yùn)動(dòng)矢量執(zhí)行運(yùn)動(dòng)預(yù)測和補(bǔ)償。
根據(jù)將作為計(jì)算機(jī)程序被執(zhí)行的本發(fā)明,以上描述的基于運(yùn)動(dòng)估計(jì)的多分辨率方法成為可能。那些本領(lǐng)域的技術(shù)人員可以提供組成計(jì)算機(jī)程序的代碼和代碼段。計(jì)算機(jī)程序可被記錄在計(jì)算機(jī)可讀介質(zhì),可被計(jì)算機(jī)裝置、處理器、可編程設(shè)備等讀取和執(zhí)行。這樣的計(jì)算機(jī)可讀介質(zhì)包括所有類型的存儲(chǔ)裝置的類型,如ROM、RAM、CD-ROM、磁帶、軟盤、光數(shù)據(jù)存儲(chǔ)裝置等。計(jì)算機(jī)可讀介質(zhì)還包括以載波形式,例如因特網(wǎng)上的傳輸實(shí)現(xiàn)的事物。計(jì)算機(jī)可讀介質(zhì)可被分布在連接到網(wǎng)絡(luò)的計(jì)算機(jī)、計(jì)算裝置、處理器、可編程設(shè)備、計(jì)算機(jī)系統(tǒng)等,在分布的計(jì)算機(jī)可讀介質(zhì)上的代碼可以以分散的方式被存儲(chǔ)和執(zhí)行。
盡管已經(jīng)顯示和描述了本發(fā)明的一些實(shí)施例,但本領(lǐng)域的那些技術(shù)人員應(yīng)該理解,在不脫離由權(quán)力要求及其等同物限定其范圍的本發(fā)明的原理和精神的情況下,可對(duì)這些示例性實(shí)施例進(jìn)行改變。
權(quán)利要求
1.一種基于運(yùn)動(dòng)估計(jì)的多分辨率方法,包括在低分辨率下計(jì)算當(dāng)前幀的預(yù)定塊中的初始運(yùn)動(dòng)矢量;在中分辨率下確定基于初始運(yùn)動(dòng)矢量的搜索區(qū)域;對(duì)于多個(gè)模式中的每個(gè)在該搜索區(qū)域內(nèi)執(zhí)行運(yùn)動(dòng)估計(jì),通過將宏塊劃分成預(yù)定子宏塊來獲得每個(gè)模式;以及在中分辨率下在其的每個(gè)已經(jīng)經(jīng)過運(yùn)動(dòng)估計(jì)的多個(gè)模式中選擇至少一個(gè)模式,并且基于選擇的模式的運(yùn)動(dòng)矢量對(duì)高分辨率執(zhí)行運(yùn)動(dòng)估計(jì),其中多個(gè)模式具有不同大小的子宏塊。
2.如權(quán)利要求1所述的方法,其中,以每個(gè)模式的運(yùn)動(dòng)估計(jì)的結(jié)果為基礎(chǔ)來執(zhí)行至少一個(gè)模式。
3.如權(quán)利要求1所述的方法,如果被選擇的模式中的一個(gè)包括最小大小的子宏塊,則對(duì)高分辨率執(zhí)行運(yùn)動(dòng)估計(jì),包括對(duì)多個(gè)模式的每個(gè)執(zhí)行運(yùn)動(dòng)估計(jì),通過將最小大小的子宏塊分成預(yù)定數(shù)量的子塊來獲得每個(gè)模式。
4.如權(quán)利要求1所述的方法,其中通過將宏塊分成一個(gè)16×16大小的子宏塊、兩個(gè)16×8大小的子宏塊、兩個(gè)8×16大小的子宏塊、以及四個(gè)8×8大小的子宏塊獲得多個(gè)模式,對(duì)于每個(gè)模式,在每個(gè)子宏塊中執(zhí)行運(yùn)動(dòng)估計(jì),因此每個(gè)模式的運(yùn)動(dòng)矢量的數(shù)量和相應(yīng)模式的子宏塊的數(shù)量相等。
5.如權(quán)利要求1所述的方法,其中,通過選擇在運(yùn)動(dòng)估計(jì)中具有最低成本的一個(gè)或者多個(gè)模式來執(zhí)行選擇至少一個(gè)模式,成本包括來自絕對(duì)差和(SAD)、運(yùn)動(dòng)矢量的比特、以及模式信息的比特中的一個(gè)或更多因素。
6.如權(quán)利要求1所述的方法,其中,參考至少一個(gè)當(dāng)前幀的相鄰幀計(jì)算初始運(yùn)動(dòng)矢量。
7.如權(quán)利要求1所述的方法,還包括使用預(yù)定塊的相鄰塊的運(yùn)動(dòng)矢量來計(jì)算附加運(yùn)動(dòng)矢量,其中,確定中分辨率下的搜索區(qū)域包括基于附加運(yùn)動(dòng)矢量確定搜索區(qū)域。
8.如權(quán)利要求7所述的方法,其中,附加運(yùn)動(dòng)矢量具有相鄰塊的運(yùn)動(dòng)矢量的中值。
9.如權(quán)利要求4所述的方法,其中,如果被選擇模式中的一個(gè)是8×8大小的子宏塊中的運(yùn)動(dòng)估計(jì)模式,則高分辨率下的運(yùn)動(dòng)估計(jì)包括對(duì)多個(gè)模式的每個(gè)執(zhí)行運(yùn)動(dòng)估計(jì),通過將8×8大小的子宏塊分成預(yù)定數(shù)量的子塊來獲得每個(gè)模式。
10.如權(quán)利要求1所述的方法,其中,運(yùn)動(dòng)估計(jì)方法可被應(yīng)用到H.264編碼器。
11.如權(quán)利要求1所述的方法,其中,在中分辨率水平下對(duì)每個(gè)模式執(zhí)行運(yùn)動(dòng)估計(jì)通過對(duì)搜索區(qū)域中相應(yīng)模式的每個(gè)子宏塊獨(dú)立地計(jì)算SAD來完成。
12.如權(quán)利要求1所述的方法,其中,在高分辨率水平下對(duì)每個(gè)模式執(zhí)行運(yùn)動(dòng)估計(jì)通過對(duì)搜索區(qū)域中相應(yīng)模式的每個(gè)子宏塊獨(dú)立地計(jì)算SAD來完成。
13.一種存儲(chǔ)用于執(zhí)行基于運(yùn)動(dòng)估計(jì)的多分辨率的方法的程序的記錄介質(zhì),該方法包括在低分辨率下計(jì)算當(dāng)前幀的預(yù)定塊中的初始運(yùn)動(dòng)矢量;在中分辨率下確定基于初始運(yùn)動(dòng)矢量的搜索區(qū)域;對(duì)多個(gè)模式中的每個(gè)在搜索區(qū)域中執(zhí)行運(yùn)動(dòng)估計(jì),通過將宏塊分成預(yù)定數(shù)目的子宏塊來獲得每個(gè)模式;以及在中分辨率水平下,在其每個(gè)已經(jīng)經(jīng)過運(yùn)動(dòng)估計(jì)的多個(gè)模式中選擇至少一個(gè)模式,并且基于選擇的模式的運(yùn)動(dòng)矢量對(duì)高分辨率執(zhí)行運(yùn)動(dòng)估計(jì),其中,多個(gè)模式具有不同大小的子宏塊。
14.一種基于運(yùn)動(dòng)估計(jì)的多分辨率方法,包括在低分辨率下對(duì)當(dāng)前宏塊的參考幀執(zhí)行矢量估計(jì)以提供初始運(yùn)動(dòng)矢量;在中分辨率下確定基于初始運(yùn)動(dòng)矢量的搜索區(qū)域;對(duì)多個(gè)模式中的每個(gè)在搜索區(qū)域中執(zhí)行運(yùn)動(dòng)估計(jì),通過將宏塊分成子宏塊獲得每個(gè)模式,其中子宏塊中的一個(gè)是宏塊;在中分辨率下在經(jīng)過運(yùn)動(dòng)估計(jì)的多個(gè)模式中選擇至少一個(gè)模式;以及在高分辨率下基于選擇模式的運(yùn)動(dòng)矢量執(zhí)行運(yùn)動(dòng)估計(jì)。
15.如權(quán)利要求14所述的方法,其中多個(gè)模式具有不同大小的子宏塊。
16.如權(quán)利要求14所述的方法,還包括使用在低分辨率下的宏塊的相鄰塊的運(yùn)動(dòng)矢量來計(jì)算附加運(yùn)動(dòng)矢量,其中,在中分辨率下確定搜索區(qū)域還包括基于初始運(yùn)動(dòng)矢量和附加運(yùn)動(dòng)矢量來確定搜索區(qū)域。
17.存儲(chǔ)控制執(zhí)行基于運(yùn)動(dòng)估計(jì)的多分辨率的方法的至少一個(gè)處理器以執(zhí)行的指令的至少一個(gè)計(jì)算機(jī)可讀介質(zhì),該方法包括在低分辨率下對(duì)當(dāng)前宏塊的參考幀執(zhí)行運(yùn)動(dòng)估計(jì)以提供初始運(yùn)動(dòng)矢量;在中分辨率下確定基于初始運(yùn)動(dòng)矢量的搜索區(qū)域;對(duì)多個(gè)模式的每個(gè)在搜索區(qū)域中執(zhí)行運(yùn)動(dòng)估計(jì),通過將宏塊分成子宏塊來獲得每個(gè)模式,其中子宏塊中的一個(gè)是宏塊;在中分辨率下在經(jīng)過運(yùn)動(dòng)估計(jì)的多個(gè)模式中選擇至少一個(gè)模式;以及基于選擇模式的運(yùn)動(dòng)矢量對(duì)高分辨率執(zhí)行運(yùn)動(dòng)估計(jì)。
18.如權(quán)利要求16所述的方法,其中,多個(gè)模式具有不同大小的子宏塊。
19.如權(quán)利要求16所述的方法,還包括使用在低分辨率下宏塊的相鄰塊的運(yùn)動(dòng)矢量來計(jì)算附加運(yùn)動(dòng)矢量,其中在中分辨率下確定搜索區(qū)域還包括基于初始運(yùn)動(dòng)矢量和附加運(yùn)動(dòng)矢量來確定搜索區(qū)域。
全文摘要
提供了一種基于運(yùn)動(dòng)估計(jì)的多分辨率方法。該方法包括在低分辨率下計(jì)算當(dāng)前幀的預(yù)定塊中的初始運(yùn)動(dòng)矢量;中分辨率下確定基于初始運(yùn)動(dòng)矢量的搜索區(qū)域;對(duì)于多個(gè)模式中的通過將宏塊劃分成預(yù)定的子宏塊獲得的每個(gè)在該搜索區(qū)域中執(zhí)行運(yùn)動(dòng)估計(jì);以及在中分辨率下其的每個(gè)已經(jīng)經(jīng)過運(yùn)動(dòng)估計(jì)的多個(gè)模式中選擇至少一個(gè)模式,基于選擇的模式的運(yùn)動(dòng)矢量對(duì)高分辨率執(zhí)行運(yùn)動(dòng)估計(jì),其中,多個(gè)模式具有不同大小的子宏塊。
文檔編號(hào)H04N7/26GK1719901SQ20051008411
公開日2006年1月11日 申請日期2005年7月8日 優(yōu)先權(quán)日2004年7月8日
發(fā)明者宋秉哲 申請人:三星電子株式會(huì)社