專利名稱:利用根據(jù)多個參考幀的運(yùn)動補(bǔ)償時域濾波的基于可分級小波的編碼的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及視頻壓縮,特別是涉及使用多個參考幀進(jìn)行運(yùn)動補(bǔ)償時域濾波的基于小波的編碼。
背景技術(shù):
許多目前的視頻編碼算法都是基于運(yùn)動補(bǔ)償?shù)念A(yù)測編碼,它們都是相當(dāng)復(fù)雜的混合系統(tǒng)。在這些混合系統(tǒng)中,利用運(yùn)動補(bǔ)償來減少時間冗余,同時通過對運(yùn)動補(bǔ)償?shù)漠a(chǎn)物進(jìn)行變換編碼來減少空間冗余。通常使用的變換包括離散余弦變換(DCT)或子帶/小波分解。然而這些系統(tǒng),在提供實際的可分級比特流方面缺乏靈活性。
另一種類型的系統(tǒng)是基于3D子帶/小波的編碼(以下稱為“3D小波”),這種系統(tǒng)目前比較流行,特別是在異類(heterogeneous)網(wǎng)絡(luò)上的視頻傳輸?shù)漠?dāng)前腳本(scenario)中比較流行。這些系統(tǒng)特別適用于具有非常靈活的分級比特流和較高的錯誤適應(yīng)性的應(yīng)用系統(tǒng)。在3D小波編碼中,一次對整個幀進(jìn)行變換,而不是像基于DCT的編碼那樣一個塊一個塊地進(jìn)行變換。
3D小波系統(tǒng)中的一個部分是運(yùn)動補(bǔ)償?shù)臅r域濾波(MCTF),用于減少時間冗余。在Seung-Jong Choi和John Woods,以下稱為“Woods”,發(fā)表于1999年2月,IEEE Transactions On Image Processing,No.2,第8欄的標(biāo)題為“視頻的運(yùn)動補(bǔ)償?shù)?-D子帶編碼(Motion-Compensated3-D Subband Coding of Video)”的文章中描述了MCTF的一個例子。
在Woods的文章中,在執(zhí)行空間分解之前,在運(yùn)動方向上對幀進(jìn)行時域濾波。在時域濾波期間,由于場景中的運(yùn)動屬性和目標(biāo)的覆蓋/未覆蓋情況,一些像素不是沒有被參考就是被參考了多次。這些像素被稱為未連接像素,并需要專門進(jìn)行處理,而這會引起編碼效率降低。在圖1中示出了Woods的文章中的未連接像素和連接像素的例子。
發(fā)明內(nèi)容
本發(fā)明提出了用于對一組視頻幀進(jìn)行編碼的方法和設(shè)備。根據(jù)本發(fā)明,從該組中選擇一些幀。這些幀的每一個幀中的區(qū)域都與多個參考幀中的區(qū)域相匹配。計算在這些幀的每個幀中的區(qū)域的像素值和多個參考幀中的區(qū)域的像素值之間的差值。將該差值轉(zhuǎn)換為小波系數(shù)。
在根據(jù)本發(fā)明的編碼的另一例子中,至少一個幀中的區(qū)域還與另一幀中的區(qū)域相匹配。該至少一個幀和該另一幀并不包含在所述一些幀中。計算在該至少一個幀中的區(qū)域的像素值和該另一幀中的區(qū)域的像素值之間的差值。并將該差值轉(zhuǎn)換為小波系數(shù)。
本發(fā)明還提出了用于對包含一組編碼視頻幀的比特流進(jìn)行解碼的方法和設(shè)備。根據(jù)本發(fā)明,該比特流被熵解碼,以產(chǎn)生小波系數(shù)。對該小波系數(shù)進(jìn)行變換,以產(chǎn)生部分解碼的幀。利用多個參考幀對一些部分解碼幀進(jìn)行反向時域濾波。
在一個例子中,該反向時域濾波包括從多個參考幀中查找匹配區(qū)域,這些區(qū)域先前與一些部分解碼幀中的每一個幀中的區(qū)域相匹配。另外,在多個參考幀中的區(qū)域的像素值被加到一些部分解碼幀的每一個幀中的區(qū)域的像素值上。
在根據(jù)本發(fā)明的解碼的另一個例子中,至少一個部分解碼幀根據(jù)另一個部分解碼幀也被反向時域濾波。該反向時域濾波包括從另一個部分解碼幀中查找先前與被查找到的至少一個部分解碼幀中的區(qū)域相匹配的區(qū)域。并且,在另一個部分解碼幀中的區(qū)域的像素值被加到至少一個部分解碼幀中的區(qū)域的像素值上。該至少一個部分解碼幀和另一個部分解碼幀并不包含在所述一些幀中。
下面參照附圖,相同的參考標(biāo)號表示相對應(yīng)的部件圖1是表示已知的運(yùn)動補(bǔ)償?shù)臅r域濾波技術(shù)的示意圖;圖2是根據(jù)本發(fā)明的編碼器的一個例子的方框圖;圖3表示2D小波變換的一個例子的方框圖;圖4是表示根據(jù)本發(fā)明的時域濾波的一個例子的示意圖;圖5是表示根據(jù)本發(fā)明的時域濾波的另一個例子的示意圖;圖6是表示根據(jù)本發(fā)明的時域濾波的另一個例子的示意圖;圖7是根據(jù)本發(fā)明的解碼器的一個例子;和圖8是根據(jù)本發(fā)明的系統(tǒng)的一個例子。
具體實施例方式
如上所述,3D小波系統(tǒng)的一個部分是運(yùn)動補(bǔ)償時域濾波(MCTF),它的執(zhí)行用于減少時間冗余。在MCTF期間,未連接像素可能會需要專門處理,而這會導(dǎo)致編碼效率降低。本發(fā)明提出了一種新的MCTF系統(tǒng),在運(yùn)動補(bǔ)償和時域濾波期間使用了多個參考幀,從而顯著提高了匹配質(zhì)量并減少了未連接像素的數(shù)目。因此,這種新系統(tǒng)可通過改進(jìn)最佳匹配和減少未連接像素的數(shù)目而提供更高的編碼效率。并且,該新的MCTF系統(tǒng)可以被選擇性地應(yīng)用到特定組中的幀。這樣可以使該新系統(tǒng)能夠提供時域可分級性,該時域可分級性能夠使視頻以不同的幀頻進(jìn)行解碼。
圖2示出了根據(jù)本發(fā)明的編碼器的一個例子??梢钥闯?,該編碼器包括劃分單元2,用于將輸入視頻劃分為圖像組(GOP),該圖像組被編碼為一個單元。根據(jù)本發(fā)明,劃分單元2進(jìn)行操作,使得GOP包括預(yù)定數(shù)目的幀或者根據(jù)諸如帶寬、編碼效率和視頻內(nèi)容等參數(shù)在操作期間動態(tài)地確定。例如,若視頻由快速場景變化和高速運(yùn)動構(gòu)成,則較短的GOP更為有效,若視頻主要由靜態(tài)目標(biāo)構(gòu)成,則較長的GOP更為有效。
可以看出,MCTF單元4由運(yùn)動估計單元6和時域濾波單元8構(gòu)成。在操作期間,運(yùn)動估計單元6對每個GOP中的一些幀執(zhí)行運(yùn)動估計。被運(yùn)動估計單元6所處理的這些幀被定義為H幀。并且在每個GOP中可能有一些其它幀沒有被運(yùn)動估計單元6處理,這些幀被定義為A幀。在每個GOP中的A幀的數(shù)目可能會根據(jù)一些因素而改變。首先,根據(jù)所使用的前向、后向或雙向預(yù)測,在每個GOP中的第一個或最后一個幀可以是A幀。并且,可以選擇在每個GOP中的一些幀作為A幀,以便提供時域可分級性。該選擇可以是在任意間隔,例如每兩個幀,每三個幀,每四個幀...等等進(jìn)行。
根據(jù)本發(fā)明,A幀的使用可以使根據(jù)本發(fā)明的視頻編碼能夠被時域分級。由于A幀是獨(dú)立編碼的,因此可以以較低的幀頻和良好的質(zhì)量來解碼視頻。并且,根據(jù)選擇哪個幀不被運(yùn)動估計單元6處理,A幀可以以任意間隔被插入到GOP中,這樣可使視頻以任意幀頻,例如二分之一,三分之一,四分之一...等等進(jìn)行解碼。相反,在Woods的文章中所述的MCTF系統(tǒng)只能以2的倍數(shù)來分級,因為時域濾波是成對執(zhí)行的。并且,A幀的使用限制了預(yù)測偏移,因為這些幀是不參考任何其他幀而編碼的。
如上所述,運(yùn)動估計單元6對每個GOP中的一些幀執(zhí)行運(yùn)動估計。然而,根據(jù)本發(fā)明,對這些幀執(zhí)行的運(yùn)動估計是基于多個參考幀的。因此,所處理的每個幀中的象素組或區(qū)域?qū)⑴c相同GOP的其它幀中的類似像素組相匹配。所使用的GOP中的其它幀可以是未處理的幀(A幀)或已處理的幀(H幀)。因此,在GOP中的其它幀是用于每個處理幀的參考幀。
在一個例子中,運(yùn)動估計單元6將執(zhí)行后向預(yù)測。因此,在該GOP的一個或多個幀中的像素組或區(qū)域,與該同一GOP的先前幀中的類似的像素組或區(qū)域相匹配。在該例子中,該GOP中的先前幀是用于每個處理幀的參考幀。在該例子中由于使用了后向預(yù)測,因此在GOP中的第一個幀可以是A幀,因為沒有可用的先前幀。然而作為選擇,在其他例子中,該第一幀也可以是前向預(yù)測的。
在另一個例子中,運(yùn)動估計單元6將執(zhí)行前向預(yù)測。因此,在該GOP的一個或多個幀中的像素組或區(qū)域,與該同一GOP的后續(xù)幀中的類似的像素組或區(qū)域相匹配。在該例子中,該GOP中的后續(xù)幀是用于每個處理幀的參考幀。在該例子中由于使用了前向預(yù)測,因此在GOP中的最后一個幀可以是A幀,因為沒有可用的后續(xù)幀。然而作為選擇,在其他例子中,該最后一幀也可以是后向預(yù)測的。
在另一個例子中,運(yùn)動估計單元6將執(zhí)行雙向預(yù)測。因此,在該GOP的一個或多個幀中的像素組或區(qū)域,與該同一GOP的先前幀和后續(xù)幀中的類似的像素組或區(qū)域相匹配。在該例子中,該GOP中的先前幀和后續(xù)幀是用于每個處理幀的參考幀。在該例子中由于使用了雙向預(yù)測,因此在GOP中的第一個幀或最后一個幀可以是A幀,因為沒有可用的先前幀或后續(xù)幀。然而作為選擇,在其他例子中,該第一幀也可以是前向預(yù)測的,或者該最后一幀也可以是后向預(yù)測的。
作為上述匹配的結(jié)果,運(yùn)動估計單元6將為正被處理的當(dāng)前幀中所匹配的每個區(qū)域都提供一個運(yùn)動矢量MV和一個幀號。在某些情況下,將會只有一組與正被處理的當(dāng)前幀中的每個區(qū)域相關(guān)聯(lián)的運(yùn)動矢量My和幀號。然而,若使用雙向預(yù)測,則可能有兩組與每個區(qū)域相關(guān)聯(lián)的運(yùn)動矢量MV和幀號。每組運(yùn)動矢量和幀號都將指示,包含與每個處理幀中的區(qū)域相匹配的類似區(qū)域的該GOP中的位置和其他幀。
在操作期間,根據(jù)運(yùn)動估計單元6提供的運(yùn)動矢量MV和幀號,時域濾波單元8消除了每個GOP的幀之間的時間冗余。由圖1可看出,Woods的文章中的MCTF使用了兩個幀,并將這兩個幀變換為包括低子帶和高子帶的兩個子帶。低子帶對應(yīng)于兩個幀中對應(yīng)像素的(分級的)平均值,而高子帶對應(yīng)于兩個幀中對應(yīng)像素之間的(分級的)差值。
再次參見圖2,本發(fā)明的時域濾波單元8只產(chǎn)生對應(yīng)每個幀的一個子帶或幀。如前所述,在每個GOP中的一些幀(A幀)沒有被處理。因此,時域濾波單元8將不會對這種幀執(zhí)行任何濾波,而只是原樣通過這些幀。并且,該GOP的剩余幀(H幀)將通過在每個幀的區(qū)域和在該GOP的其他幀中找到的類似區(qū)域之間取差值而進(jìn)行時域濾波。
特別地,時域濾波單元8將通過首先查找與每個H幀中的區(qū)域相匹配的類似區(qū)域,而對H幀進(jìn)行濾波。這是根據(jù)運(yùn)動估計單元6提供的運(yùn)動矢量和幀參考號來完成的。如前所述,在每個H幀中的區(qū)域都與相同GOP中的其他幀中的類似區(qū)域相匹配。在查找到類似區(qū)域后,時域濾波單元8將計算在該類似區(qū)域中的像素值和該匹配區(qū)域中的像素值之間的差值。并且,時域濾波單元8最好通過某個比例因數(shù)對該差值進(jìn)行相除。
根據(jù)本發(fā)明,由于顯著改進(jìn)了最佳匹配的質(zhì)量和減少了未連接像素的數(shù)目,上述MCTF系統(tǒng)可以提高編碼效率。特別地,通過仿真已經(jīng)示出,每個幀的未連接像素的數(shù)目從百分之三十四(34)減少到百分之二十二(22)。然而,本發(fā)明的MCTF系統(tǒng)仍然產(chǎn)生了一些未連接像素。因此,時域濾波單元8將處理這些未連接像素,如Woods的文章中所述。
可以看出,包含的空間分解單元10用于減少M(fèi)CTF單元4提供的幀中的空間冗余。在操作期間,根據(jù)2D小波變換將從MCTF單元4接收的幀變換為小波系數(shù)。有許多種不同類型的濾波器和小波變換實施方式。
圖3示出了一種適當(dāng)?shù)?D小波變換的一個例子??梢钥闯觯眯〔V波器將一個幀分解為低頻子帶和高頻子帶。由于這是2D變換,因此有三個高頻子帶(水平,垂直和對角)。低頻子帶被表示為LL子帶(水平和垂直頻率都為低)。這些高頻子帶被表示為LH,HL和HH,分別對應(yīng)于水平高頻,垂直高頻,和水平、垂直都為高頻。低頻子帶還可以被遞歸地進(jìn)一步分解。在圖3中,WT表示小波變換。在學(xué)術(shù)出版社(AcademicPress)1997年出版的Stephane Mallat所寫的,標(biāo)題為“信號處理的小波綜述(A Wavelet Tour of Signal Processing)”的書中描述了其他一些公知的小波變換系統(tǒng)。
再參見圖2,該編碼器還可以包括重要性編碼單元12,用于根據(jù)重要性信息來編碼空間分解單元10的輸出信號。在該例子中,重要性可以表示小波系數(shù)的幅度,其中較大的系數(shù)比較小的系數(shù)更為重要。在該例子中,重要性編碼單元12將查看從空間分解單元10接收的小波系數(shù),然后根據(jù)幅度對這些小波系數(shù)重新排序。因此,具有最大幅度的小波系數(shù)將被首先發(fā)送。重要性編碼的一個例子是層次樹中的集合劃分(SPIHT)。在A.Said和W.Pearlman發(fā)表于1996年6月,IEEETransactions on Circuits and Systems for Video Technology,vol.6的標(biāo)題為“基于層次樹中的集合劃分的一種新的快速而有效的圖像編解碼(A New Fast and Efficient Image Codec Based on Set Partitioningin Hierarchical Trees)”的文章中對此有所說明。
從圖2可以看出,其中的虛線表示某些操作之間的依賴性。在一個例子中,運(yùn)動估計6依賴于重要性編碼12的特性。例如,運(yùn)動估計所產(chǎn)生的運(yùn)動矢量可以用來確定哪個小波系數(shù)更為重要。在另一個例子中,空間分解8可能依賴于重要性編碼12的類型。例如小波分解的級別數(shù)目可能與重要性系數(shù)的數(shù)目相關(guān)。
還可以看出,其中包含的熵編碼單元14是用于產(chǎn)生輸出比特流。在操作期間,應(yīng)用熵編碼技術(shù)將小波系數(shù)編碼為輸出比特流。熵編碼技術(shù)還可以應(yīng)用于運(yùn)動估計單元6提供的運(yùn)動矢量和幀號。該信息被包含在輸出比特流中以便用于解碼。適當(dāng)熵編碼技術(shù)的例子包括可變長度編碼和算術(shù)編碼。
圖4示出了根據(jù)本發(fā)明的時域濾波器的一個例子。在該例子中,使用了后向預(yù)測。因此,通過對當(dāng)前幀與其在先前幀中的匹配一起,對每個像素濾波可產(chǎn)生H幀??梢钥闯?,幀1是一個A幀,因為在該GOP中沒有前面的幀可以執(zhí)行后向預(yù)測。因此,幀1沒有進(jìn)行濾波,沒有改變。然而,幀2與它在幀1中的匹配一起被濾波。并且,幀3與它在幀1和2中的匹配一起被濾波。
可以看出,幀4是一個A幀,因此沒有被時域濾波。如前所述,在GOP中的一些幀被選擇作為A幀,以便提供時域可分級性。在該例子中,選擇每個第三幀作為A幀。這樣可以使視頻以幀頻的三分之一和良好的質(zhì)量被解碼。例如,若圖4中的幀3被去除,則仍然有兩個獨(dú)立編碼的幀可以用來解碼剩余的幀。
應(yīng)當(dāng)注意,A幀可以被插入到任意位置,從而使一個視頻序列能夠以任意低的幀頻來解碼。例如,在圖4中,若幀2被選擇作為A幀,則現(xiàn)在每兩個幀中就有一個是A幀。這樣可以使視頻序列以總幀頻的一半來解碼,從而可以使一個視頻序列以任意的中間幀頻來解碼,這樣比先前的“2的乘冪”的時域分級更為靈活。
圖5示出了根據(jù)本發(fā)明的時域濾波器的另一個例子。在該例子中,使用了錐形分解以便提高編碼效率??梢钥闯觯摾又械腻F形分解有兩個級別。在級別1,這些幀以類似于圖4例子的方式被時域濾波,除了該例子以外,每個第二幀都是一個A幀。因此,在圖5中,幀3沒有被時域濾波,幀4將與它在幀1,2和3中的匹配一起被時域濾波。在級別2,對來自第一級別的A幀進(jìn)行時域濾波,以便產(chǎn)生對應(yīng)幀3的另一個H幀,因為該例子中使用了后向預(yù)測。若使用了前向預(yù)測,則額外的H幀將對應(yīng)幀1。
為了實施上述系統(tǒng),圖2的運(yùn)動估計單元6將在級別1中找到這些幀的匹配。然后運(yùn)動估計單元6將為級別2的A幀找到匹配。然后由于運(yùn)動估計單元6會對每個幀提供運(yùn)動矢量MV和幀號,則每個GOP的幀都將按規(guī)律的時間順序被時域濾波,根據(jù)這些運(yùn)動矢量MV和幀號,從級別1開始到更高級別,逐個級別地進(jìn)行時域濾波。
在其他例子中,當(dāng)一個GOP中包含大量的幀時,錐形分解系統(tǒng)可以包括多于兩個的級別。在每個這些級別中,再次選擇一些幀作為A幀不進(jìn)行濾波。并且,對剩余的幀進(jìn)行濾波以產(chǎn)生H幀。例如,來自級別2的A幀可以被再次分組并在級別3中被濾波,以此類推。在這種錐形分解中,級別的數(shù)目依賴于該GOP中的幀的數(shù)目和時域可分級性要求。
圖6示出了根據(jù)本發(fā)明的時域濾波的另一個例子。在該例子中,使用了雙向預(yù)測。雙向預(yù)測是很必要的,因為對于經(jīng)過場景改變的幀和在封閉場景中有許多運(yùn)動目標(biāo)的幀,雙向預(yù)測可以顯著地改進(jìn)性能。雖然在編碼運(yùn)動矢量的第二集合時會有一些相關(guān)的編碼開銷,但這是無關(guān)緊要的。因此,在該例子中,通過對當(dāng)前幀及其在先前幀和后續(xù)幀中的匹配一起,對每個像素都進(jìn)行濾波,可以產(chǎn)生H幀。
從圖6可以看出,幀1是一個A幀,因為在該GOP中沒有前面的幀可以執(zhí)行雙向預(yù)測。因此,幀1沒有進(jìn)行濾波,沒有改變。然而,幀2與它在幀1和4中的匹配一起被時域濾波。并且,幀3與它在幀1,2,4中的匹配一起被時域濾波。然而,應(yīng)當(dāng)注意并不是所有在雙向H幀中的區(qū)域都進(jìn)行了雙向濾波。例如,一個區(qū)域可能只與先前幀中的一個區(qū)域相匹配。因此,將利用后向預(yù)測根據(jù)先前幀中的匹配對這個區(qū)域進(jìn)行濾波。類似地,對于只與后續(xù)幀中的區(qū)域相匹配的一個區(qū)域,可以相應(yīng)地使用前向預(yù)測來進(jìn)行濾波。
在一個區(qū)域在先前幀和后續(xù)幀中都有匹配區(qū)域的情況下,對該特定區(qū)域執(zhí)行雙向濾波。因此,在先前幀和后續(xù)幀中的區(qū)域中的對應(yīng)像素被平均。然后從被濾波的幀中的對應(yīng)像素減去該平均值,在本例子中,這些幀是幀2和3。如前所述,最好通過某些比例因數(shù)對該差值相除。
從圖6可以看出,幀4是一個A幀,因此沒有被時域濾波。因此,在該例子中,每個第三幀被選擇作為A幀。應(yīng)當(dāng)注意該雙向系統(tǒng)也可以以圖5所述的錐形分解系統(tǒng)來實施。
圖7示出了根據(jù)本發(fā)明的解碼器的一個例子。如前面參照圖2所述,輸入的視頻被劃分被多個GOP,每個GOP作為一個單元來編碼。因此,輸入比特流可以包括一個或多個GOP,它也被解碼為一個單元。該比特流還包括對應(yīng)于GOP中的每個幀的一些運(yùn)動矢量MV和幀號,其中該GOP已先前進(jìn)行了運(yùn)動補(bǔ)償?shù)臅r域濾波。該運(yùn)動矢量和幀號將指示相同GOP中的其他幀中的區(qū)域,其中這些區(qū)域先前與已被時域濾波的每個幀中的區(qū)域相匹配。
可以看出,該解碼器包括熵解碼單元16,用于解碼輸入的比特流。在操作期間,將根據(jù)在編碼側(cè)執(zhí)行的熵編碼技術(shù)的反向過程對輸入比特流進(jìn)行解碼。該熵解碼將會產(chǎn)生對應(yīng)于每個GOP的小波系數(shù)。并且,該熵解碼還產(chǎn)生一些將在隨后用到的運(yùn)動矢量和幀號。其中的重要性解碼單元18是用于根據(jù)重要性信息對來自熵解碼單元16的小波系數(shù)進(jìn)行解碼。因此,在操作期間,將利用在編碼側(cè)使用的技術(shù)的反向過程根據(jù)正確的空間順序?qū)π〔ㄏ禂?shù)進(jìn)行排序。
還可以看出,其中的空間重組單元20用于將來自重要性解碼單元18的小波系數(shù)變換為部分解碼的幀。在操作期間,將根據(jù)在編碼側(cè)使用的2D小波變換的反向過程,對與每個GOP對應(yīng)的小波系數(shù)執(zhí)行變換。這將產(chǎn)生根據(jù)本發(fā)明的已被運(yùn)動補(bǔ)償時域濾波后的部分解碼幀。如前所述,根據(jù)本發(fā)明的運(yùn)動補(bǔ)償時域濾波可使每個GOP被表示為許多H幀和A幀。H幀是在GOP中的每個幀和相同GOP中的其他幀之間的差異,而A幀在編碼側(cè)不進(jìn)行運(yùn)動補(bǔ)償和時域濾波的處理。
反向時域濾波單元22是通過執(zhí)行在編碼側(cè)進(jìn)行的時域濾波的反向過程,而重建每個GOP中包含的H幀。首先,若H幀在編碼側(cè)被某個比例因數(shù)相除,則來自空間重組單元20的幀將被相同的因數(shù)相乘。并且,時域濾波單元22將根據(jù)熵解碼單元16提供的運(yùn)動矢量MV和幀號,來重建每個GOP中包含的H幀。若使用了錐形分解系統(tǒng),則最好從最高級別開始直到級別1,逐個級別地執(zhí)行時域反向濾波。例如,在圖5的例子中,來自級別2的幀被首先時域濾波,然后是級別1中的幀。
再參見圖7,為了重建H幀,首先要確定在編碼側(cè)執(zhí)行了哪種運(yùn)動補(bǔ)償。若在編碼側(cè)使用了后向運(yùn)動估計,則本例子中在該GOP中的第一幀將是一個A幀。這樣,反向時域濾波單元22將開始重建該GOP中的第二幀。特別地,將根據(jù)為該特定幀所提供的運(yùn)動矢量和幀號,通過查找像素值來重建該第二幀。該情況下,該運(yùn)動矢量將指向第一幀內(nèi)的區(qū)域。然后反向時域濾波單元22將該查找到的像素值加到第二幀中的對應(yīng)區(qū)域,從而將該差值轉(zhuǎn)換為實際的像素值。該GOP中剩余的H幀將以類似地方式來重建。
若在編碼側(cè)使用了前向運(yùn)動估計,則本例子中在該GOP中的最后一幀將是一個A幀。這樣,反向時域濾波單元22將開始重建該GOP中的倒數(shù)第二幀。根據(jù)為該特定幀所提供的運(yùn)動矢量和幀號,通過查找像素值來重建該倒數(shù)第二幀。該情況下,該運(yùn)動矢量將指向最后一幀內(nèi)的區(qū)域。然后反向時域濾波單元22將該查找到的像素值加到倒數(shù)第二幀中的對應(yīng)區(qū)域,從而將該差值轉(zhuǎn)換為實際的像素值。該GOP中剩余的H幀將以類似地方式來重建。
若在編碼側(cè)使用了雙向運(yùn)動估計,則根據(jù)所實施的例子,在該GOP中的第一幀或最后一幀將是一個A幀。這樣,反向時域濾波單元22將開始重建該GOP中的第二幀或倒數(shù)第二幀。類似地,將根據(jù)為該特定幀所提供的運(yùn)動矢量和幀號,通過查找像素值來重建這個幀。
如前所述,雙向H幀可能包括根據(jù)先前幀或后續(xù)幀或兩者的匹配進(jìn)行濾波的區(qū)域。對于只來自先前幀或后續(xù)幀的匹配,可以只查找像素值并加到當(dāng)前處理幀的對應(yīng)區(qū)域即可。對于來自先前幀和后續(xù)幀的匹配,則需要查找來自先前幀和后續(xù)幀的值并進(jìn)行平均。然后將該平均值加到當(dāng)前處理幀的對應(yīng)區(qū)域。該GOP中剩余的H幀將以類似地方式來重建。
如圖8所示,是根據(jù)本發(fā)明,實現(xiàn)了利用多個參考幀用于運(yùn)動補(bǔ)償時域濾波的基于可分級小波的編碼系統(tǒng)的一個例子。作為舉例,該系統(tǒng)可以代表電視,機(jī)頂盒,臺式機(jī),膝上型計算機(jī)或掌上型計算機(jī),個人數(shù)字助理(PDA),視頻/圖像存儲設(shè)備,例如盒式錄像機(jī)(VCR),數(shù)字視頻錄像機(jī)(DVR),TiVO設(shè)備等等,以及這些和其他設(shè)備的部分或組合。該系統(tǒng)包括一個或多個視頻源26,一個或多個輸入/輸入設(shè)備34,處理器28,存儲器30和顯示設(shè)備36。
視頻/圖像源26可以代表,例如電視接收機(jī),VCR或其他視頻/圖像存儲設(shè)備。視頻源26也可以代表一個或多個網(wǎng)絡(luò)連接器,用于通過例如全球計算機(jī)通信網(wǎng)從服務(wù)器接收視頻,該全球計算機(jī)通信網(wǎng)例如是互聯(lián)網(wǎng),廣域網(wǎng),域際網(wǎng),局域網(wǎng),地面廣播系統(tǒng),有線網(wǎng),衛(wèi)星網(wǎng),無線網(wǎng),或電話網(wǎng),以及這些和其他類型網(wǎng)絡(luò)的部分或組合。
輸入/輸出設(shè)備34,處理器28和存儲器30通過通信介質(zhì)32進(jìn)行通信。通信介質(zhì)32可以代表,例如總線,通信網(wǎng),一個或多個電路的內(nèi)部連接,電路卡或其他設(shè)備,以及這些和其他通信媒體的部分和組合。從視頻源26輸入的視頻數(shù)據(jù)是根據(jù)一個或多個存儲器30中存儲的軟件程序來處理的,并由處理器28來執(zhí)行,以便產(chǎn)生提供到顯示設(shè)備36的輸出視頻/圖像。
特別地,存儲在存儲器30中的軟件程序包括利用多個參考幀進(jìn)行運(yùn)動補(bǔ)償時域濾波的基于可分級小波的編碼,先前關(guān)于如圖2和7所述。在本實施例中,利用多個參考幀進(jìn)行運(yùn)動補(bǔ)償時域濾波的基于可分級小波的編碼是通過該系統(tǒng)執(zhí)行計算機(jī)可讀代碼來實施的。該代碼可被存儲在存儲器30或從諸如CD-ROM或軟盤這樣的存儲介質(zhì)中讀出/下載。在其他實施例中,可以使用硬件電路來代替軟件指令或與軟件指令結(jié)合使用來實施本發(fā)明。
雖然結(jié)合特定實施例對本發(fā)明進(jìn)行了說明,但應(yīng)當(dāng)理解本發(fā)明并不局限于這里所公開的例子。因此,本發(fā)明可覆蓋隨后權(quán)利要求的精神和范圍內(nèi)所包含的各種結(jié)構(gòu)和變化。
權(quán)利要求
1.一種對一組視頻幀進(jìn)行編碼的方法,包括以下步驟從該組中選擇一些幀;將這些幀的每一個幀中的區(qū)域都與多個參考幀中的區(qū)域相匹配;計算在這些幀中的每個幀的區(qū)域的像素值和該多個參考幀中的區(qū)域的像素值之間的差值;和將該差值轉(zhuǎn)換為小波系數(shù)。
2.如權(quán)利要求1所述的方法,其中該多個參考幀是該組中的先前的幀。
3.如權(quán)利要求1所述的方法,其中該多個參考幀是該組中的后續(xù)的幀。
4.如權(quán)利要求1所述的方法,其中該多個參考幀是該組中的先前幀和后續(xù)幀。
5.如權(quán)利要求1所述的方法,還包括通過一個比例因數(shù)對該差值進(jìn)行相除,該差值是這些幀中每個幀的區(qū)域的像素和多個參考幀中的區(qū)域的像素之間的差值。
6.如權(quán)利要求1所述的方法,還包括根據(jù)重要性信息對該小波系數(shù)進(jìn)行編碼。
7.如權(quán)利要求1所述的方法,還包括對該小波系數(shù)進(jìn)行熵編碼。
8.如權(quán)利要求1所述的方法,還包括以下步驟將至少一個幀中的區(qū)域與另一個幀中的區(qū)域相匹配,其中該至少一個幀和該另一個幀并不包含在所述的一些幀中;計算在該至少一個幀中的區(qū)域的像素值和該另一個幀中的區(qū)域的像素值之間的差值;將該差值轉(zhuǎn)換為小波系數(shù)。
9.一種存儲介質(zhì),包含用于對一組視頻幀進(jìn)行編碼的代碼,該代碼包括用于從該組中選擇一些幀的代碼;用于將這些幀的每一個幀中的區(qū)域都與多個參考幀中的區(qū)域相匹配的代碼;用于計算在這些幀中每個幀的區(qū)域的像素值和該多個參考幀中的區(qū)域的像素值之間的差值的代碼;和用于將該差值轉(zhuǎn)換為小波系數(shù)的代碼。
10.一種用于對視頻序列進(jìn)行編碼的設(shè)備,包括劃分單元,用于將該視頻序列劃分為許多組幀;運(yùn)動補(bǔ)償時域濾波單元,用于從每個組中選擇一些幀,并利用多個參考幀對這些幀的每個幀進(jìn)行運(yùn)動補(bǔ)償時域濾波;和空間分解單元,用于將每個組變換為小波系數(shù)。
11.如權(quán)利要求10所述的設(shè)備,其中該運(yùn)動補(bǔ)償時域濾波單元將這些幀的每個幀中的區(qū)域都與該多個參考幀中的區(qū)域相匹配,并計算在這些幀中的每個幀的區(qū)域的像素值和多個參考幀中的區(qū)域的像素值之間的差值。
12.如權(quán)利要求10所述的設(shè)備,其中該多個參考幀是該同一組中的先前的幀。
13.如權(quán)利要求10所述的設(shè)備,其中該多個參考幀是該同一組中的后續(xù)的幀。
14.如權(quán)利要求10所述的設(shè)備,其中該多個參考幀是該同一組中的先前幀和后續(xù)幀。
15.如權(quán)利要求10所述的設(shè)備,其中該時域濾波單元通過一個比例因數(shù)對該差值進(jìn)行相除,該差值是該至少一個幀中的區(qū)域的像素和該多個參考幀中的區(qū)域的像素之間的差值。
16.如權(quán)利要求10所述的設(shè)備,還包括一個單元,用于根據(jù)重要性信息對該小波系數(shù)進(jìn)行編碼。
17.如權(quán)利要求10所述的設(shè)備,還包括一個熵編碼單元,用于將該小波系數(shù)編碼為比特流。
18.如權(quán)利要求10所述的設(shè)備,其中該運(yùn)動補(bǔ)償時域濾波單元還將每個組中至少一個幀中的區(qū)域與另一個幀中的區(qū)域相匹配,并計算該至少一個幀中的像素值和該另一個幀的區(qū)域的像素值之間的差值,其中該至少一個幀和該另一個幀并不包含在所述的一些幀中。
19.一種對包含一組編碼視頻幀的比特流進(jìn)行解碼的方法,包括以下步驟將該比特流進(jìn)行熵解碼,以產(chǎn)生小波系數(shù);將該小波系數(shù)變換為部分解碼的幀;和利用多個參考幀對一些部分解碼幀進(jìn)行反向時域濾波。
20.如權(quán)利要求19所述的方法,其中該反向時域濾波包括從多個參考幀中查找先前與一些部分解碼幀的每個幀中的區(qū)域相匹配的區(qū)域;和將多個參考幀中的區(qū)域的像素值加到一些部分解碼幀的每個幀中的區(qū)域的像素值上。
21.如權(quán)利要求19所述的方法,其中從多個參考幀中查找區(qū)域的步驟是根據(jù)比特流中包含的運(yùn)動矢量和幀號來執(zhí)行的。
22.如權(quán)利要求19所述的方法,其中該多個參考幀是該組中的先前的幀。
23.如權(quán)利要求19所述的方法,其中該多個參考幀是該組中的后續(xù)的幀。
24.如權(quán)利要求19所述的方法,其中該多個參考幀是該組中的先前幀和后續(xù)幀。
25.如權(quán)利要求19所述的方法,還包括通過一個比例因數(shù)對該一些部分解碼幀進(jìn)行相乘。
26.如權(quán)利要求19所述的方法,還包括根據(jù)重要性信息對該小波系數(shù)進(jìn)行解碼。
27.如權(quán)利要求19所述的方法,還包括根據(jù)另一個部分解碼幀對至少一個部分解碼幀進(jìn)行反向時域濾波,其中該至少一個部分解碼幀和該另一個部分解碼幀并不包含在所述一些幀中。
28.一種存儲介質(zhì),包含用于對包括一組編碼視頻幀的比特流進(jìn)行解碼的代碼,該代碼包括用于將該比特流進(jìn)行熵解碼以產(chǎn)生小波系數(shù)的代碼;用于將該小波系數(shù)變換為部分解碼的幀的代碼;和用于利用多個參考幀對一些部分解碼幀進(jìn)行反向時域濾波的代碼。
29.一種用于對包括一組編碼視頻幀的比特流進(jìn)行解碼的設(shè)備,包括熵解碼單元,用于將該比特流解碼為小波系數(shù);空間重組單元,用于將該小波系數(shù)變換為部分解碼的幀;和反向時域濾波單元,用于從多個參考幀中查找先前與一些部分解碼幀中的區(qū)域相匹配的區(qū)域,并將該多個參考幀中的區(qū)域的像素值加到該一些部分解碼幀中的區(qū)域的像素值上。
30.如權(quán)利要求29所述的設(shè)備,其中從多個參考幀中查找區(qū)域是根據(jù)比特流中包含的運(yùn)動矢量和幀號來執(zhí)行的。
31.如權(quán)利要求29所述的設(shè)備,其中該反向時域濾波單元通過一個比例因數(shù)對該一些部分解碼幀進(jìn)行相乘。
32.如權(quán)利要求29所述的設(shè)備,還包括重要性解碼單元,用于根據(jù)重要性信息對該小波系數(shù)進(jìn)行解碼。
33.如權(quán)利要求29所述的設(shè)備,其中該反向時域濾波單元還從另一個部分解碼幀中查找匹配區(qū)域,這些區(qū)域先前與至少一個部分解碼幀中的區(qū)域相匹配,并將另一個部分解碼幀中的區(qū)域的像素值加到至少一個部分解碼幀中的區(qū)域的像素值上,其中該至少一個部分解碼幀和另一個部分解碼幀并不包含在所述一些幀中。
全文摘要
本發(fā)明提出了用于對一組視頻幀進(jìn)行編碼的方法和設(shè)備。根據(jù)本發(fā)明,從該組中選擇一些幀。這些幀的每一個幀中的區(qū)域都與多個參考幀中的區(qū)域相匹配。計算在這些幀的每個幀中的區(qū)域的像素值和多個參考幀中的區(qū)域的像素值之間的差值。將該差值變換為小波系數(shù)。本發(fā)明還提出了通過執(zhí)行上述編碼的反向過程來對一組視頻幀進(jìn)行解碼的方法和設(shè)備。
文檔編號H03M7/30GK1650634SQ03809576
公開日2005年8月3日 申請日期2003年4月15日 優(yōu)先權(quán)日2002年4月29日
發(fā)明者T·迪帕克, M·范德沙爾 申請人:皇家飛利浦電子股份有限公司