專利名稱:用于細粒度可伸縮視頻的運動補償?shù)闹谱鞣椒?br>
技術領域:
本發(fā)明公開直接涉及細粒度可伸縮的(“FGS”)視頻編碼器,尤其是涉及利用細粒度可伸縮性進行視頻數(shù)據(jù)的編碼的自適應運動補償技術。
背景技術:
通常以位流的形式處理和傳輸數(shù)字視頻數(shù)據(jù)。如果能以在預定的最小和最大速率之間具有微小間隔的位速率組中的任何一種速率對位流進行解碼,則位流是細粒度可伸縮的(“FGS”)。不幸的是,這種類型的可伸縮性造成的編碼效率通常遠小于非可伸縮的視頻編碼器-解碼器(“CODEC”)的編碼效率。
運動圖像專家組(“MPEG”)采用用于流動視頻的標準。MPEG-4標準包括FGS視頻的模式。在MPEG-4 FGS視頻中,使用最小的位速率重構(gòu)的版本的在先幀預測當前幀。通過MPEG-4,如果更高的位速率版本的在先幀被用于預測,則在任何時候以比在編碼器中用于預測的速率更小的速率解碼位流時這都可能導致預測偏差。通過在編碼器的參考幀和解碼器的參考幀之間的差值產(chǎn)生預測偏差。因此,理想的是改善CODEC效率以使其高于典型的FGS方案(例如在MPEG-4標準中采用的FGS視頻方案)的效率。
發(fā)明概述通過細粒度可伸縮視頻數(shù)據(jù)的運動補償?shù)脑O備和方法可以解決在已有技術中的這些和其它的缺陷和不足。細粒度可伸縮視頻數(shù)據(jù)由編碼器和自適應運動補償器產(chǎn)生,該編碼器用于將輸入視頻數(shù)據(jù)編碼為最小位速率宏塊數(shù)據(jù)以產(chǎn)生具有表示宏塊數(shù)據(jù)的最小位速率版本的離散余弦變換(“DCT”)系數(shù)的DCT數(shù)據(jù)并將輸入視頻數(shù)據(jù)編碼為中間位速率宏塊數(shù)據(jù)以產(chǎn)生具有表示宏塊數(shù)據(jù)的中間位速率版本的DCT系數(shù)的DCT數(shù)據(jù),該自適應運動補償器與編碼器進行信號通信以預測解碼版本的中間位速率宏塊數(shù)據(jù)是否具有超過最大閾值的累積的預測的誤差幀能量。
附圖概述本發(fā)明根據(jù)如下的實例性附圖公開教導了用于細粒度可伸縮視頻的運動補償?shù)挠行У姆椒?,其中?br>
圖1所示為僅具有底層運動補償?shù)募毩6瓤缮炜s的(“FGS”)編碼器的方塊圖;附圖2所示為根據(jù)本發(fā)明的優(yōu)選實施例的具有自適應運動補償?shù)募毩6瓤缮炜s的(“FGS”)編碼器的方塊圖;和附圖3所示為根據(jù)本發(fā)明的原理的附圖2的自適應運動補償?shù)牧鞒虉D。
詳細描述根據(jù)在此所描述的本發(fā)明的實施例,一種視頻數(shù)據(jù)編碼器-解碼器(“CODEC”)利用基于離散余弦變換(“DCT”)的視頻數(shù)據(jù)的控制??扇〉氖窃撘曨l數(shù)據(jù)組織為宏塊。
MPEG-4細粒度可伸縮性(“FGS”)使用用于運動補償?shù)淖钚∥凰俾试谙葞?。根?jù)本發(fā)明的原理,編碼器基于宏塊在最小位速率在先幀和更高位速率在先幀之間選擇。編碼器跟蹤在每個幀上累積的預測偏差。
對于給定的宏塊,如果使用用于運動補償?shù)母呶凰俾试谙葞瑢е赂哂谧畲髽O限的預測偏差能量,則編碼器選擇最小位速率在先幀以預測該宏塊。否則,編碼器選擇更高位速率在先幀以預測該宏塊。編碼器在編碼的宏塊中設定位(標志)以將那些用于預測的在先幀版本傳遞給解碼器。
如附圖1所示,F(xiàn)GS編碼器10能夠從功能上分解為底層部分11和增強層部分33。底層部分11包括與傳到求和塊14的正輸入的信號耦合的輸入端12。該求和塊14又耦合到功能塊16以執(zhí)行離散余弦變換(“DCT”)。塊16耦合到功能塊18以實施量化變換Q。功能塊18耦合到功能塊20以實施可變長度編碼(“VLC”)。塊18進一步耦合到功能塊22以實施反向量化變換Q-1。
塊22又耦合到功能塊24以實施反向離散余弦變換(“IDCT”)。塊24耦合到求和塊26的正輸入,該求和塊26耦合到塊28以實施幀緩沖器。塊28耦合到功能塊30以執(zhí)行運動估計。輸入端12還耦合到塊30以提供輸入視頻信號。幀緩沖器28和運動估計塊30每個都耦合到塊32以執(zhí)行運動補償。功能塊32耦合到求和塊14的負輸入并也通到求和塊26的正輸入。
增強層部分33包括求和塊34,該求和塊34具有耦合到DCT16的輸出的正輸入和耦合到反向量化塊22的輸出的負輸入。塊34的輸出耦合到功能塊36以實施位平面編碼。位平面編碼器36的輸出又耦合到功能塊38以實施可變長度編碼(“VLC”)。
在操作中,附圖1的FGS編碼器僅使用用于預測的底層,如MPEG-4 FGS中那樣。底層編碼器11是簡單的基于單層DCT的運動補償?shù)木幋a器。首先,使用從運動估計過程中獲得的運動矢量對輸入視頻進行運動補償。然后,使用DCT變換預測誤差,以及使用可變長度編碼對所得的DCT系數(shù)進行量化和熵編碼。為重構(gòu)底層幀,首先,執(zhí)行反向量化,然后執(zhí)行IDCT。然后在運動補償過程中將減去的預測加回來,并將所重構(gòu)的幀存儲在幀緩沖器中以用作將來畫面的基準。
在增強層中編碼的初始步驟用于從未量化的系數(shù)中減去在底層中的反向量化的DCT系數(shù)。然后該位平面被掃描一次并被可變長度編碼。解碼器根據(jù)在解碼時可用的位速率對在這些位平面中的某些子集進行解碼。
轉(zhuǎn)到附圖2,根據(jù)本發(fā)明的原理,實例性FGS編碼器110可在概念上分解為底層部分111和增強層部分133。底層部分111包括與求和塊114的正輸入進行信號通信耦臺的輸入端112。求和塊114又耦合到功能塊116以實施離散余弦變換(“DCT”)。塊116耦合到功能塊118以實施量化變換Q。功能塊118耦合到功能塊120以實施可變長度編碼(“VLC”)。塊118進一步耦合到功能塊122以實施反向量化變化Q-1。
塊122又耦合到功能塊124以實施反向離散余弦變換(“IDCT”)。塊124耦合到求和塊126的正輸入,求和塊126又耦合到塊128以實施幀緩沖器。塊128耦合到功能塊130以執(zhí)行運動估計。輸入端112也耦合到塊130以提供輸入視頻信號。幀緩沖器128和運動估計器130每個都耦合到功能塊132以執(zhí)行自適應運動補償。功能塊132耦合到求和塊114的負輸入并也傳到求和塊126的正輸入。
增強層部分133包括求和塊134,求和塊134具有耦合到DCT116的輸出的正輸入和耦合到反向量化塊122的輸出的負輸入。塊134的輸出耦合到功能塊136以實施位平面編碼。位平面編碼器136的輸出又耦合到功能塊138以實施可變長度編碼(“VLC”)。位平面編碼器136的輸出也耦合到由底層部分111組成的求和塊139的正輸入。
返回到底層部分111,求和塊139具有從反向量化塊122的輸出耦合的另一正輸入。求和塊139的輸出耦合到功能塊140以實施另一IDCT。IDCT140耦合到求和塊142的正輸入,求和塊142具有從自適應運動補償器132的輸出耦合的另一正輸入。求和塊142的輸出耦合到增強層幀緩沖器144。增強層幀緩沖器144又耦合到自適應運動補償器132。偏差幀緩沖器146與自適應運動補償器132雙向信號通信地耦合。
在運行中,附圖2的FGS編碼器根據(jù)本發(fā)明的原理實施優(yōu)選的FGS方法。在附圖2的FGS編碼器和附圖1的FGS編碼器之間的重要差別在于在附圖2的編碼器中將在增強層中用于位平面的子集的編碼的位平面輸出加入到在底層中的反向量化DCT系數(shù),作為在獲得重構(gòu)的增強層幀fmid的過程中的初始步驟。然后執(zhí)行IDCT,并反向加入來自運動補償步驟中的預測。結(jié)果fmid存儲在增強層幀緩沖器中。重構(gòu)的底層幀fmid存儲在底層幀緩沖器中。在并入了本發(fā)明的原理的自適應運動補償方法、設備和系統(tǒng)中,讀取底層和增強層預測,假設使用了增強層預測,計算累積預測偏差,并選擇適當?shù)念A測。如果選擇了增強層預測,則累積的預測偏差被更新并被寫入到偏差幀緩沖器。
參考附圖3,根據(jù)本發(fā)明的原理,參考附圖2及附加的描述的自適應運動補償?shù)倪^程作為方法200示出。方法200在開始塊210中開始并進行到?jīng)Q定塊212。在決定塊212中,確定當前的圖像是否開始了新的畫面組(“GOP”)。如果當前的圖像沒有開始新的GOP,則控制進行到功能塊214以使累積的預測誤差幀F(xiàn)d復位到零。在塊214之后,或者如果在塊212中沒有檢側(cè)到新的GOP,則控制進行到功能塊216,功能塊216選擇中間位速率Rmid,這里Rmid是在最小位速率Rmin和最大位速率Rmax之間的任何值。為說明的目的,Rmid被認為是在Rmin和Rmax之間的一半。塊216然后傳送到功能塊218,功能塊218從對應于以最小的位速率Rmin編碼的在先幀的幀F(xiàn)min中獲取宏塊。塊218然后傳送到功能塊220,功能塊220從對應于以中間位速率Rmid編碼的先前幀的幀F(xiàn)mid中獲取宏塊。塊220然后傳送到功能塊222,功能塊222從對應于在先幀累積預測誤差的幀F(xiàn)d中獲取宏塊。
功能塊222將控制傳送到功能塊226。塊226計算相對于累積預測誤差Fd的中間位速率預測Pmid的能量E并傳送到?jīng)Q定塊228。決定塊228確定所計算的能量E是否大于閾值Emax,并且如果它不大于,則將控制傳送給功能塊230。功能塊230選擇中間位速率預測Pmid,并傳送給功能塊232。功能塊232更新累積的預測誤差幀F(xiàn)d并傳送給返回塊236。在決定塊228中,如果能量E大于閾值Emax,則控制被傳送給功能塊234。塊234選擇最小位速率預測Pmin并傳送給返回塊236。
在本發(fā)明運動補償方法的操作中,編碼數(shù)據(jù)流的最小和最大位速率分別為Rmin和Rmax。Rmid是在Rmin和Rmax之間的任何中間位速率。因此,為對宏塊進行編碼,編碼器從在Rmin下的在先幀中獲取運動補償塊并從在Rmid下的在先幀中獲取運動補償塊。
編碼器也從表示累積的預測偏差誤差的幀中獲取另一塊。在每個畫面組(“GOP”)的開始累積預測偏差誤差幀被復位到零。表示最小速率預測、中間速率預測和累積預測偏差誤差的塊分別稱為Pmin、Pmid和Pd。為了確定使用哪種預測,編碼器計算對于Pmid預測的預測偏差誤差的能量。如果能量“E”定義為測量塊的能量的函數(shù),并且如果Emax是最大允許的偏差能量閾值,則按照如下選擇適當?shù)念A測If E(Pd+Pmin-Pmid)>Emax(1)預測=PminELSE預測=PminPd=Pd+Pmin-PmidEND If在本實例性實施例中,位被包括在宏塊頭部中以傳遞給選擇預測塊的接收解碼器。在解碼器中,分別將每個幀F(xiàn)min和Fmid的兩個解碼版本寫到存儲器中作為參考幀。幀F(xiàn)min代表最小的位速率的幀,而幀F(xiàn)mid代表中間位速率的幀。如果以低于Rmid的位速率對幀進行解碼,則使用以這種較低位速率解碼的幀近似Fmid基于在此的教導在相關領域中的普通技術人員容易確定本發(fā)明公開的這些和其它的特征和優(yōu)點。將會理解的是本發(fā)明公開的教導可以以各種形式的硬件、軟件、固件、專用處理器或其組合實施。
最為可取的是,本發(fā)明公開的教導作為硬件和軟件的組合實施。此外,軟件優(yōu)選實施為在程序存儲單元中有形地體現(xiàn)的應用程序。該應用程序可以通過包括任何適合的結(jié)構(gòu)體系的機器加載并執(zhí)行。可取的是,該機器實施在具有硬件(比如一個或多個中央處理單元(“CPU”)、隨機存取存儲器(“RAM”)和輸入/輸出(“I/O”)接口)的計算機平臺上。計算機平臺也可以包括操作系統(tǒng)和微指令代碼。在此描述的各種處理和功能都可以是可通過CPU執(zhí)行的應用程序的一部分或微指令代碼的一部分或者它們的任何組合。此外,各種其它的外設單元可以連接到計算機平臺,比如附加的數(shù)據(jù)存儲單元和打印單元。
進一步應該理解的是,因為在附圖中描述的某些構(gòu)成的系統(tǒng)部件和方法優(yōu)選以軟件實施,所以在系統(tǒng)部件或過程功能塊之間的實際連接根據(jù)設計本發(fā)明公開方案的方式可能不同。根據(jù)在此的教導,本領域的普通技術人員能夠設想本發(fā)明公開的這些以及類似的實施方式或結(jié)構(gòu)。
雖然已經(jīng)參考附圖在此描述了實例性實施例,但是應該理解的是本發(fā)明公開并不限于這些精確的實施例,本領域普通技術人員在不脫離本發(fā)明公開的精神和范圍的前提下可以實施各種改變和修改。所有這些變化和改變都希望包括在附加的權利要求中所闡述的本發(fā)明公開的范圍內(nèi)。
權利要求
1.一種細粒度可伸縮視頻數(shù)據(jù)設備,包括編碼器(110),該編碼器用于將輸入視頻數(shù)據(jù)編碼為最小位速率宏塊數(shù)據(jù)以產(chǎn)生具有表示宏塊數(shù)據(jù)的最小位速率版本的DCT系數(shù)的DCT數(shù)據(jù)并將輸入視頻數(shù)據(jù)編碼為中間位速率宏塊數(shù)據(jù)以產(chǎn)生具有表示宏塊數(shù)據(jù)的中間位速率版本的DCT系數(shù)的DCT數(shù)據(jù);和自適應運動補償器(132),該自適應運動補償器與編碼器進行信號通信以預測中間位速率宏塊數(shù)據(jù)的解碼版本是否具有超過最大閾值(228)的累積的預測的誤差幀能量。
2.如權利要求1所述的設備,其中輸入視頻數(shù)據(jù)在最小位速率和最大位速率之間是細粒度可伸縮的,中間位速率是落入它們之間的任何值。
3.如權利要求1所述的設備,其中編碼器包括自適應運動補償器。
4.如權利要求1所述的設備,其中編碼器包括增強層幀緩沖器(144);與增強層幀緩沖器進行信號通信的自適應運動補償器(132);和與增強層幀緩沖器進行信號通信的偏差幀緩沖器(146)。
5.如權利要求1所述的設備,其中自適應運動補償器包括使每個新畫面組(212)的偏差幀緩沖器復位的畫面組檢測器;計算相對于偏差幀緩沖器(226)的中間速率預測的能量的能量單元(226);和使用宏塊數(shù)據(jù)(228)的運動矢量從在先畫面的數(shù)據(jù)中選擇要預測的每個像素塊的中間速率預測和最小速率預測中的一個的預測單元。
6.一種用于接收編碼的視頻宏塊數(shù)據(jù)的細粒度可伸縮視頻數(shù)據(jù)設備,其中每個宏塊由代表宏塊數(shù)據(jù)的最小位速率版本的DCT系數(shù)和代表宏塊數(shù)據(jù)的中間位速率版本的DCT系數(shù)中的一個表示,該設備包括響應累積的預測誤差幀的預測能量將從編碼器中接收的每個宏塊的中間和最小位速率編碼的DCT數(shù)據(jù)中的一個進行解碼以形成重構(gòu)的宏塊數(shù)據(jù)的解碼器。
7.一種執(zhí)行細粒度可伸縮視頻數(shù)據(jù)操作的方法,該方法包括將輸入視頻數(shù)據(jù)編碼為最小位速率宏塊數(shù)據(jù)以形成具有代表宏塊數(shù)據(jù)的最小位速率版本的DCT系數(shù)的DCT數(shù)據(jù);將輸入視頻數(shù)據(jù)編碼為中間位速率宏塊數(shù)據(jù)以形成具有代表宏塊數(shù)據(jù)的中間位速率版本的DCT系數(shù)的DCT數(shù)據(jù);和補償編碼的數(shù)據(jù)以預測中間位速率宏塊數(shù)據(jù)的解碼版本是否具有超過最大閾值的累積的預測的誤差幀能量。
8.如權利要求7所述的方法,進一步包括響應累積的預測誤差幀的預測能量從編碼的輸入視頻數(shù)據(jù)中對中間和最小位速率編碼的DCT數(shù)據(jù)中的一個進行解碼以形成重構(gòu)的宏塊數(shù)據(jù)。
9.如權利要求7所述的方法,其中輸入視頻數(shù)據(jù)在最小位速率和最大位速率之間是細粒度可伸縮的,中間位速率是落入它們之間的任何值。
10.如權利要求7所述的方法,進一步包括以在先畫面的增強層數(shù)據(jù)和宏塊數(shù)據(jù)的運動矢量補償增強層塊數(shù)據(jù)以形成補償?shù)脑鰪妼訅K數(shù)據(jù)以便相對于補償?shù)脑鰪妼訅K數(shù)據(jù)執(zhí)行DCT以形成增強層DCT數(shù)據(jù)。
11.一種用于接收編碼的視頻宏塊數(shù)據(jù)的方法,其中每個宏塊由代表宏塊數(shù)據(jù)的最小位速率版本的DCT系數(shù)和代表宏塊數(shù)據(jù)的中間位速率版本的DCT系數(shù)中的一個表示,該方法包括響應累積的預測誤差幀的預測能量將從編碼器中接收的每個宏塊的中間和最小位速率編碼的DCT數(shù)據(jù)中的一個進行解碼以形成重構(gòu)的宏塊數(shù)據(jù)。
12.一種機器可讀的程序存儲裝置,有形地實施可通過機器執(zhí)行的指令的程序以執(zhí)行實施細粒度可伸縮的視頻數(shù)據(jù)操作的步驟,該步驟包括將輸入視頻數(shù)據(jù)編碼為最小位速率宏塊數(shù)據(jù)以形成具有代表宏塊數(shù)據(jù)的最小位速率版本的DCT系數(shù)的DCT數(shù)據(jù);將輸入視頻數(shù)據(jù)編碼為中間位速率宏塊數(shù)據(jù)以形成具有代表宏塊數(shù)據(jù)的中間位速率版本的DCT系數(shù)的DCT數(shù)據(jù);和補償編碼的數(shù)據(jù)以預測中間位速率宏塊數(shù)據(jù)的解碼版本是否具有超過最大閾值的累積的預測的誤差幀能量。
13.如權利要求12所述的程序存儲裝置,該步驟進一步包括響應累積的預測誤差幀的預測能量從編碼的輸入視頻數(shù)據(jù)中對中間和最小位速率編碼的DCT數(shù)據(jù)中的一個進行解碼以形成重構(gòu)的宏塊數(shù)據(jù)。
14.如權利要求12所述的程序存儲裝置,其中輸入視頻數(shù)據(jù)在最小位速率和最大位速率之間是細粒度可伸縮的,中間位速率是落入它們之間的任何值。
15.如權利要求12所述的程序存儲裝置,該步驟進一步包括以在先畫面的增強層數(shù)據(jù)和宏塊數(shù)據(jù)的運動矢量補償增強層塊數(shù)據(jù)以形成補償?shù)脑鰪妼訅K數(shù)據(jù)以便相對于補償?shù)脑鰪妼訅K數(shù)據(jù)執(zhí)行DCT以形成增強層DCT數(shù)據(jù)。
16.一種機器可讀的程序存儲裝置,有形地實施通過機器可執(zhí)行的指令的程序以執(zhí)行實施細粒度可伸縮的視頻數(shù)據(jù)操作的步驟,其中每個宏塊由代表宏塊數(shù)據(jù)的最小位速率版本的DCT系數(shù)和代表宏塊數(shù)據(jù)的中間位速率版本的DCT系數(shù)中的一個表示,該步驟包括響應累積的預測誤差幀的預測能量將從編碼器中接收的每個宏塊的中間和最小位速率編碼的DCT數(shù)據(jù)中的一個進行解碼以形成重構(gòu)的宏塊數(shù)據(jù)。
17.一種執(zhí)行細粒度可伸縮視頻數(shù)據(jù)操作的細粒度可伸縮視頻數(shù)據(jù)系統(tǒng),該系統(tǒng)包括將輸入視頻數(shù)據(jù)編碼為最小位速率宏塊數(shù)據(jù)以形成具有代表宏塊數(shù)據(jù)的最小位速率版本的DCT系數(shù)的DCT數(shù)據(jù)的最小編碼裝置;將輸入視頻數(shù)據(jù)編碼為中間位速率宏塊數(shù)據(jù)以形成具有代表宏塊數(shù)據(jù)的中間位速率版本的DCT系數(shù)的DCT數(shù)據(jù)的中間編碼裝置;和補償編碼的數(shù)據(jù)以預測中間位速率宏塊數(shù)據(jù)的解碼版本是否具有超過最大閾值的累積的預測的誤差幀能量的補償裝置。
18.如權利要求17所述的系統(tǒng),該步驟進一步包括響應累積的預測誤差幀的預測能量從編碼的輸入視頻數(shù)據(jù)中對中間和最小位速率編碼的DCT數(shù)據(jù)中的一個進行解碼以形成重構(gòu)的宏塊數(shù)據(jù)的解碼裝置。
19.如權利要求17所述的系統(tǒng),其中輸入視頻數(shù)據(jù)在最小位速率和最大位速率之間是細粒度可伸縮的,中間位速率是落入它們之間的任何值。
20.如權利要求17所述的系統(tǒng),該步驟進一步包括以在先畫面的增強層數(shù)據(jù)和宏塊數(shù)據(jù)的運動矢量補償增強層塊數(shù)據(jù)以形成補償?shù)脑鰪妼訅K數(shù)據(jù)以便相對于補償?shù)脑鰪妼訅K數(shù)據(jù)執(zhí)行DCT以形成增強層DCT數(shù)據(jù)的補償裝置。
全文摘要
本發(fā)明公開了一種細粒度可伸縮視頻數(shù)據(jù)設備、系統(tǒng)和方法以及數(shù)據(jù)結(jié)構(gòu)。編碼器(110)用于將輸入視頻數(shù)據(jù)編碼為最小位速率宏塊以產(chǎn)生具有表示宏塊數(shù)據(jù)的最小位速率版本的DCT系數(shù)的DCT數(shù)據(jù)。該編碼器(110)還將輸入視頻數(shù)據(jù)編碼為中間位速率宏塊數(shù)據(jù)以產(chǎn)生具有表示宏塊數(shù)據(jù)的中間位速率版本的DCT系數(shù)的DCT數(shù)據(jù)。自適應運動補償器(132)(并入在編碼器的內(nèi)部或外部)與編碼器進行通信以預測中間位速率宏塊數(shù)據(jù)的解碼版本是否具有超過最大閾值(228)的累積的預測的誤差幀能量。
文檔編號H04N7/36GK1515085SQ02811763
公開日2004年7月21日 申請日期2002年6月11日 優(yōu)先權日2001年6月11日
發(fā)明者M·L·科默, M L 科默, I·H·伊扎特, 伊扎特 申請人:湯姆森許可公司