專利名稱:用于可縮放視頻編碼和解碼的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及視頻壓縮,尤其涉及這樣的視頻編碼算法,其中編碼處理中的時間濾波順序在解碼處理中被倒轉(zhuǎn)。
背景技術(shù):
包括國際互聯(lián)網(wǎng)在內(nèi)的信息通信技術(shù)的發(fā)展已經(jīng)導致視頻通信、以及文本和聲音通信的增加。然而,消費者對現(xiàn)有的基于文本的通信方案已經(jīng)不感到滿足。為了滿足消費者,已經(jīng)逐漸地提供包含包括文本、畫面、音樂等在內(nèi)的各種信息的多媒體數(shù)據(jù)。多媒體數(shù)據(jù)通常是量大的,使得其需要具有大容量的存儲介質(zhì)。此外,傳輸多媒體數(shù)據(jù)需要較寬的帶寬。例如,具有640×480分辨率的24位真彩色畫面需要每幀640×480×24的容量,即大約7.37兆位的數(shù)據(jù)。在這方面,需要大約1200千兆位的帶寬,以便以30幀/秒的速度傳輸這個數(shù)據(jù),并且需要大約1200千兆位的存儲空間,以便存儲具有90分鐘長度的電影。考慮到此,在傳輸包括文本、畫面或者聲音在內(nèi)的多媒體數(shù)據(jù)時,有必要使用壓縮編碼方案。
數(shù)據(jù)壓縮的基本原理是消除在數(shù)據(jù)之間的冗余。數(shù)據(jù)冗余意味著三種類型的冗余空間冗余、時間冗余、和知覺-視覺冗余??臻g冗余是指在圖像中相同顏色或者對象的重復,時間冗余是指在移動畫面幀中的相鄰幀之間沒有或幾乎沒有變化、或者音頻中的相同聲音的連續(xù)重復,而知覺-視覺冗余是指人們的視覺和感覺對高頻變遲鈍。通過消除這些冗余,可以壓縮數(shù)據(jù)。取決于源數(shù)據(jù)是否丟失,數(shù)據(jù)壓縮的類型可以分為有損/無損壓縮;取決于相對于每幀是否獨立地壓縮數(shù)據(jù),數(shù)據(jù)壓縮的類型可以分為幀內(nèi)/幀間壓縮;并且,取決于數(shù)據(jù)的壓縮和還原是否需要相同的時間段,數(shù)據(jù)壓縮的類型可以分為對稱/非對稱壓縮。此外,當在壓縮和解壓縮中的總共端到端延遲時間不超過50毫秒時,這被稱為實時壓縮。當幀具有各種分辨率時,這被稱為可縮放壓縮。無損壓縮主要用于壓縮文本數(shù)據(jù)或者醫(yī)學(medical)數(shù)據(jù),而有損壓縮主要用于壓縮多媒體數(shù)據(jù)。另一方面,幀內(nèi)壓縮通常用于消除空間冗余,而幀間壓縮用于消除時間冗余。
傳輸多媒體數(shù)據(jù)的相應(yīng)傳輸介質(zhì)依據(jù)介質(zhì)而具有不同的容量。當前使用的傳輸介質(zhì)具有各種傳輸速度,涵蓋能夠每秒傳輸數(shù)十兆位數(shù)據(jù)的超高速通信網(wǎng)絡(luò)、以及具有每秒384千位的傳輸速度的移動通信網(wǎng)絡(luò)等。在傳統(tǒng)的視頻編碼算法例如MPEG-1、MPEG-2、H.263或者H.264中,通過基于運動補償預測編碼方案的運動補償來消除時間冗余,并且通過變換編碼方案來消除空間冗余。這些方案在壓縮方面具有良好的性能,但是它們對于真正的可縮放位流幾乎不具有靈活性,這是因為,這些方案中的主要算法采用遞歸法。為此原因,最新的研究已經(jīng)針對于基于小波的可縮放視頻編碼??煽s放視頻編碼是指具有可縮放性的視頻編碼,該屬性允許解碼壓縮的位流的部分。因為這個屬性,可以從位流中獲得各種視頻。此處使用的術(shù)語“可縮放性”總體上是指可用于控制視頻分辨率的空間可縮放性、可用于控制視頻質(zhì)量的信噪比(SNR)可縮放性、以及可用于控制視頻的幀頻的時間可縮放性,以及它們的組合。
在基于小波的可縮放視頻編碼方案中使用的各種技術(shù)當中,由Ohm(J.R.Ohm所著,1994年9月,IEEE Trans.Image Proc.,Vol.3,No.5,“Three-dimensional subband coding with motion compensation”)所提出并且由Choi和Wood(S.J.Choi和J.W.Woods,1999年2月,IEEE Trans.Image Proc.Vol.8,No.2,“Motion compensated 3-D subband coding of video”)改進的運動補償時間濾波(MCTF)是具有時間靈活性的用來消除時間冗余并執(zhí)行可縮放視頻編碼的核心技術(shù)。在MCTF中,在畫面組(GOP)的基礎(chǔ)上執(zhí)行編碼操作,而且沿運動方向?qū)Ξ斍皫蛥⒖紟瑢M行時間濾波。將參考圖1更詳細地描述這種技術(shù)。
圖1圖解了在采用MCTF方案的可縮放視頻編碼和解碼處理中的時間分解(temporal decomposition)。
在圖1中,L幀指示低頻或者平均幀,而H幀指示高頻或者差別幀。如此處說明的那樣,為了執(zhí)行編碼處理,首先,對在最低時間等級上的幀對進行時間濾波,以由此將低時間等級上的幀變換為較高時間等級上的L幀和H幀,并且,再次對已變換的L幀對進行時間濾波,并且將其變換為在較高時間等級上的幀。
編碼器使用已經(jīng)通過了小波變換的、在最高等級上的L幀和H幀而生成位流。編碼順序從較低等級上的幀到較高等級上的幀進行操作。解碼器通過以從較高等級上的幀到較低等級上的幀的次序而操作通過逆小波變換獲得的暗色幀,來恢復幀。通過使用在第三時間等級上的L幀和H幀來恢復在第二時間等級上的兩個L幀,并且,通過使用在第二時間等級上的兩個L幀和兩個H幀來恢復在第一時間等級上的四個L幀。最終,通過使用在第一時間等級上的四個L幀和四個H幀來恢復八個幀。采用原始MCTF方案的視頻編碼具有時間上靈活的可縮放性,但是它可能具有一些缺點,如在單方向運動估計方面的不良性能、以及在低時間速率上的低質(zhì)量等。已經(jīng)進行了許多研究努力來改進這些缺點。它們之一是由Turaga和Mihaela(D.S.Turaga和Mihaelavan der Schaar所著,2002年,ISO/IEC JTC1/SC29/WG11,MPEG03/M8388,“Unconstrained motion compensated temporal filtering”)所提議的無約束MCTF(UMCTF)。將參考圖2描述UMCTF。
圖2圖解了在采用UMCTF方案的可縮放視頻編碼和解碼處理中的時間分解。
在UMCTF方案中,有多個參考幀和雙向濾波可用,由此提供了更一般的框架。此外,在UMCTF方案中,通過使用未濾波幀(A幀)的適當插入,非二值的時間濾波是可能的。代替已濾波的L幀,A幀的使用提高了在較低時間等級上的視覺質(zhì)量,這是因為,由于缺乏精確運動估計,有時L幀的視覺質(zhì)量會嚴重地降低。在過去的研究中,許多試驗結(jié)果已經(jīng)示出,沒有更新步驟的UMCTF具有比原始MCTF更好的性能。為此原因,雖然最一般形式的UMCTF允許低通濾波器的自適應(yīng)選擇,但是一般使用沒有更新步驟的UMCTF的特定形式。
解碼器端可以利用使用基于MCTF(或者UMCTF)的可縮放視頻編碼算法壓縮的視頻流,來恢復具有靈活的時間可縮放性的視頻序列。例如,當僅僅解碼時間等級3的L(或者A)幀時,圖1(或者圖2)中的解碼器端可以恢復具有1/8幀頻的視頻流,直到僅僅解碼了時間等級2的L(或者A)幀為止,它可以恢復具有1/4幀頻的視頻流,直到僅僅解碼了時間等級1的L(或者A)幀為止,它可以恢復具有1/2幀頻的視頻流,并且,當通過逆時間濾波將時間等級1的H幀全部恢復到L(或者A)幀時,它可以存儲具有原始幀頻的視頻流。
技術(shù)問題然而,當使用傳統(tǒng)的基于MCTF(或者UMCTF)的可縮放視頻編碼算法壓縮視頻時,編碼器端不具有靈活的時間可縮放性。參見圖1(或者圖2),因為在傳統(tǒng)的方案中,已經(jīng)由編碼器端從較低時間等級上的幀到較高時間等級上的幀而執(zhí)行了時間濾波,所以,編碼器可能不具有時間可縮放性。這是因為,當在解碼處理中執(zhí)行逆時間濾波以允許解碼器端恢復視頻序列時,基于最高時間等級(時間等級3)上的L(或者A)幀恢復其它幀。在傳統(tǒng)的方案中,僅僅在通過整個編碼處理之后獲得最高時間等級上的幀,因此,由于操作性能或者其它原因,編碼器端不能暫停時間濾波。
為此原因,需要允許編碼器端具有時間可縮放性的視頻編碼算法。
發(fā)明內(nèi)容
因此,已經(jīng)構(gòu)思了本發(fā)明以滿足上述需要。本發(fā)明的一個方面是提供視頻編碼和解碼方法以及裝置,其中編碼器端具有時間可縮放性。
按照本發(fā)明的示范實施例,提供了一種用于視頻編碼的方法,該方法包含(a)從在最高時間等級上的幀順序地開始,接收構(gòu)成視頻序列的多個幀,并且在GOP的基礎(chǔ)上消除幀之間的時間冗余;以及(b)通過量化從已經(jīng)消除了時間冗余的幀獲得的變換系數(shù),生成位流。
對于步驟(a)中的在相同時間等級上的幀,可以從具有最小索引的幀(具有最早時間性的幀)到具有最高索引的幀(具有最晚時間性)的幀消除其時間冗余。
在構(gòu)成GOP的幀之中,在最高時間等級上的幀可以是在GOP中具有最小幀索引的幀。
在步驟(a)中,當消除了構(gòu)成GOP的幀之間的時間冗余時,可以將在最高時間等級上的第一幀設(shè)置為“A”幀,可以從最高到最低時間等級的順序消除在不同于最高時間等級上的“A”幀的GOP的幀之間的時間冗余,并且,當幀處于同一時間等級時,可以從最低到最高幀索引的順序消除時間冗余,其中,在處于較高或者相同時間等級上的幀當中,在消除時間冗余的過程中可以由每個幀參考的一個或者多個幀具有較高的幀索引。
在消除時間冗余的過程中,可以將一個幀添加到由每個幀參考的幀中。
在消除時間冗余的過程中,可以將屬于下一GOP、在較高時間等級上的一個或者多個幀添加到由每個幀參考的幀中。
該方法還可以包含消除多個幀之間的空間冗余,其中所生成的位流還包含有關(guān)空間冗余消除和時間冗余消除的順序(冗余消除順序)的信息。
按照本發(fā)明的另一個方面,提供了一種視頻編碼器,包含時間變換單元,以最高到最低時間等級的順序接收多個幀,并且消除這些幀的時間冗余;量化單元,量化在消除幀之間的時間冗余之后獲得的變換系數(shù);以及位流生成單元,通過使用量化的變換系數(shù)生成位流。
時間變換單元可以包含運動估計單元,從所接收的多個幀中獲得運動矢量;以及時間濾波單元,通過使用運動矢量,在GOP的基礎(chǔ)上關(guān)于所接收的多個幀執(zhí)行時間濾波,該時間濾波單元以最高到最低時間等級、或者在同一時間等級上以最低到最高幀索引的順序,并且通過參考已被時間濾波的幀的原始幀,在GOP的基礎(chǔ)上執(zhí)行時間濾波。
時間濾波單元還可以包含在當于時間濾波的處理中消除幀之間的時間冗余時所參考的參考幀之中,在時間濾波的處理中的每個幀。
視頻編碼器還可以包含空間變換單元,其消除多個幀之間的空間冗余,其中位流生成單元組合有關(guān)消除時間冗余和空間冗余的順序的信息,以獲得變換系數(shù),并且生成位流。
按照本發(fā)明的再一個方面,提供了一種用于視頻解碼的方法,包含(a)通過接收和解釋位流,提取有關(guān)已編碼的幀以及冗余消除順序的信息;(b)通過逆量化有關(guān)已編碼的幀的信息,獲得變換系數(shù);以及(c)與冗余消除順序相反地,通過變換系數(shù)的逆空間變換和逆時間變換來恢復已編碼的幀。
在步驟(a)中,還從位流中提取有關(guān)每GOP的已編碼的幀的數(shù)目的信息。
按照本發(fā)明的再一個示范實施例,提供了一種視頻解碼器,包含位流解釋單元,其解釋所接收的位流,以從中提取有關(guān)已編碼的幀的信息、以及冗余消除順序;逆量化單元,其對有關(guān)已編碼的幀的信息進行逆量化以從中獲得變換系數(shù);逆空間變換單元,其執(zhí)行逆空間變換處理;以及逆時間變換單元,其執(zhí)行逆時間變換處理,其中通過參考冗余消除順序、與已編碼的幀的冗余消除順序相反地,對于變換系數(shù)而執(zhí)行逆空間處理和逆變換處理,恢復位流的已編碼的幀。
按照本發(fā)明的另一個示范實施例,提供了一種存儲介質(zhì),在其上記錄一種程序,該程序可由計算機讀取以便根據(jù)上述示范實施例中的任何一個執(zhí)行視頻編碼或者解碼。
根據(jù)以下結(jié)合附圖的詳細描述,本發(fā)明的上述及其它目的、特征和優(yōu)點將被更清楚地理解,附圖中圖1圖解了在采用傳統(tǒng)MCTF方案的可縮放視頻編碼和解碼處理中的時間分解;圖2圖解了在采用傳統(tǒng)UMCTF方案的可縮放視頻編碼和解碼處理中的時間分解;圖3圖解了在根據(jù)本發(fā)明的示范實施例的可縮放視頻編碼和解碼中的時間分解;圖4圖解了在根據(jù)本發(fā)明的另一個示范實施例的可縮放視頻編碼和解碼中的時間分解;圖5圖解了圖4中的分級編碼(或者解碼);圖6圖解了在保持編碼器端的可縮放性的同時進行編碼的過程中,在幀之間的可能連接;圖7圖解了根據(jù)本發(fā)明的另一個示范實施例的在相鄰GOP的幀之間的參考,其用來增加編碼效率;圖8圖解了根據(jù)本發(fā)明的另一個示范實施例的用來增加編碼效率的多個參考模式;圖9圖解了當使用多個參考模式時的分級結(jié)構(gòu)和幀類型;圖10圖解了根據(jù)圖9的示范實施例的在具有高波動的視頻序列中的視頻編碼的示例;圖11圖解了根據(jù)圖9中的示范實施例的在具有較小波動的視頻序列中的視頻編碼的示例;圖12是說明根據(jù)本發(fā)明的示范實施例的可縮放視頻編碼器的構(gòu)造的功能框圖;圖13是說明根據(jù)本發(fā)明的另一個示范實施例的可縮放視頻編碼器的構(gòu)造的功能框圖;以及圖14是說明根據(jù)本發(fā)明的示范實施例的可縮放視頻解碼器的構(gòu)造的功能框圖。
具體實施例方式
在下文中,將參考附圖對本發(fā)明的示范實施例進行詳細的描述。
可縮放視頻編碼算法在GOP(畫面組)的基礎(chǔ)上壓縮幀。取決于編碼算法,可以不同地確定GOP的大小(構(gòu)成GOP的幀的數(shù)目),但是其優(yōu)選被確定為2n(n是自然數(shù))。在后面將要描述的本發(fā)明的示范實施例中,假定GOP具有8個幀;然而,這僅僅是示例。在這方面,即使GOP大小改變了,但只要它暗含本發(fā)明的技術(shù)思想,這也應(yīng)當被推斷為落入授予本發(fā)明的保護范圍之內(nèi)。
圖3圖解了在根據(jù)本發(fā)明示范實施例的可縮放視頻編碼和解碼中的時間分解。
參見圖3,編碼和解碼中的時間分解(即,時間濾波)都按順序從較高的時間等級到較低的時間等級執(zhí)行。由編碼器端按順序從較高時間等級上的幀到較低時間等級上的幀進行的時間分解構(gòu)成了本發(fā)明不同于傳統(tǒng)技術(shù)的主要特征。因此,根據(jù)本發(fā)明,編碼器端還可以實現(xiàn)時間可縮放性。
下面,將更詳細地描述編碼處理。
圖中所示的“A”幀是指未在時間濾波中被濾波的幀。換句話說,“A”幀可能是指還沒有執(zhí)行其基于預測的時間濾波的幀。圖中所示的“H”幀是指已經(jīng)執(zhí)行其時間濾波的幀。構(gòu)成“H”幀的每個宏塊包括有關(guān)差別的信息,其中,該差別通過與對應(yīng)于作為參考目標的幀(以下稱為“參考幀”)的宏塊進行比較而獲得。
首先,時間等級為3的索引對編號為0的幀(以下稱為“0號幀”)編碼,其中通過僅僅執(zhí)行空間變換、而不執(zhí)行時間濾波,來執(zhí)行編碼。通過參考未編碼的存儲在緩沖器中的原始的0號幀,對4號幀進行時間濾波。已經(jīng)執(zhí)行了其時間濾波的4號幀中每個塊在其上記錄有關(guān)在與原始的0號幀相對應(yīng)的塊之間的差別的信息。也就是說,通過參考原始的0號幀對2號幀進行時間濾波,并且通過參考原始的4號幀對6號幀進行時間濾波。以同樣方式,對在時間等級1上的幀進行時間濾波。也就是說,分別通過參考原始的0、2、4和6號幀對1、3、5和7號幀進行時間濾波。在對它們進行時間變換之后,通過量化處理而壓縮還沒有執(zhí)行時間濾波的0號幀、以及執(zhí)行了時間濾波的0到7號幀(具有暗色的幀)。將在時間濾波處理中獲得的有關(guān)運動矢量的信息、以及其它必要的信息添加到壓縮信息中,以生成位流,并且通過傳輸介質(zhì)將該位流傳輸?shù)浇獯a器端。
將更詳細地描述解碼處理。具有暗色的幀是指從位流中獲得的已編碼的幀,而白幀是指通過解碼處理恢復的幀。
首先,解碼在時間等級3上的0號幀(通過執(zhí)行逆量化和逆時間變換恢復原始的0號幀)。通過逆時間濾波,將通過參考所解碼的原始的0號幀而被時間濾波的4號幀恢復到原始的4號幀。然后,關(guān)于在時間等級2上時間濾波的幀執(zhí)行逆時間濾波。對于通過參考所恢復的原始的0號幀時間濾波的、在時間等級2上的幀而執(zhí)行逆時間濾波,并且通過參考所恢復的原始的4號幀而對已時間濾波的6號幀進行逆時間濾波。以同樣方式,對已時間濾波的在時間等級1上的幀進行逆時間濾波。也就是說,通過參考所恢復的原始的0、2、4和6號幀,對1、3、5和7號幀進行逆時間濾波。
根據(jù)上述示范實施例,可以生成與傳統(tǒng)的基于MCTF的可縮放視頻解碼器兼容的視頻流。然而,應(yīng)當注意到,根據(jù)上述示范實施例編碼的位流可能不意味著其與傳統(tǒng)基于MCTF的可縮放視頻解碼器完全兼容。此處,術(shù)語“兼容”意指與傳統(tǒng)MCTF方案中的幀對相比較而分解、且不利用幀對的平均值來更新的低頻子帶可以與用于恢復以MCTF方案編碼的視頻流的解碼器兼容,其中該MCTF方案采用不對原始幀進行時間濾波的編碼方案。
為首先描述解碼器端的時間可縮放性,當解碼器端已經(jīng)接收了已編碼的幀時,它可恢復在時間等級3上的0號幀。如果暫停解碼,則可以獲得具有1/8幀頻的視頻序列。在恢復了時間等級3上的0號幀之后,如果在已經(jīng)恢復了在時間等級2上的4號幀時暫停解碼,則可以獲得具有1/4幀頻的視頻序列。以同樣方式,可以獲得具有1/2幀頻以及原始幀頻的視頻序列。
接下來,將描述根據(jù)本發(fā)明的編碼器端的時間可縮放性。如果編碼器端對時間等級3上的0號幀進行編碼,并且在編碼處理處于暫停時(其在GOP的基礎(chǔ)上暫停)將編碼的0號幀傳輸?shù)浇獯a器端,則解碼器端可以恢復具有1/8幀頻的視頻序列。如果編碼器端對時間等級3上的0號幀進行編碼、對4號幀進行時間濾波、并且在編碼處理處于暫停時將編碼的0和4號幀傳輸傳輸?shù)浇獯a器端,則解碼器端可以恢復具有1/4幀頻的視頻序列。同樣地,如果在對時間等級2上的2和6號幀進行時間濾波和編碼之后,在編碼處理處于暫停時將編碼的0、2、4和6號幀傳輸?shù)浇獯a器端,則解碼器端可以恢復具有1/2幀頻的視頻序列。根據(jù)本發(fā)明,甚至在需要實時編碼的應(yīng)用中、由于對于編碼器端所進行編碼來說的不足的操作性能、或者其它原因而不足以對GOP中的所有幀進行實時操作的情況下,即使編碼僅僅是由還沒有校正編碼算法的編解碼器對于傳送到解碼器端的部分幀進行的編碼,解碼器端也可以恢復任何具有較低幀頻的視頻序列。
圖4圖解了在根據(jù)本發(fā)明的另一個示范實施例的可縮放視頻編碼和解碼中的時間分解。
這個示范實施例說明了將根據(jù)本發(fā)明的視頻編碼算法應(yīng)用于基于UMCTF的可縮放視頻編碼處理的示例。
將圖2所示的基于UMCTF的視頻編碼和解碼與圖4中的那些內(nèi)容進行比較,可以得知編碼器端有不同的編碼順序。也就是說,從較高時間等級上的幀到較低時間等級上的幀順序地執(zhí)行編碼器端的時間濾波。下面將更詳細地對其進行描述。
首先,不對最高時間等級上的0號幀進行時間濾波,而是僅僅進行編碼。然后,通過參考原始的0號幀對4號幀進行時間濾波。然后,通過參考原始的0和4號幀對時間等級2上的2號幀進行時間濾波,并且通過參考原始的4號幀對6號幀進行時間濾波。通過參考兩個幀對某一幀進行時間濾波暗指通過所謂的雙向預測對該幀進行時間濾波。此后,通過參考原始的0和2號幀對時間等級1上的1號幀進行時間濾波,通過參考原始的2和4號幀對3號幀進行時間濾波,通過參考原始的4和6號幀對5號幀進行時間濾波,并通過參考原始的6號幀對7號幀進行時間濾波。
解碼處理用來以與編碼處理中相同的順序、通過逆時間濾波恢復視頻序列。
如圖3所示的實施例所說明的,在這個示范實施例中,編碼器端和解碼器端可以具有時間可縮放性。由于在圖4中圖解的實施例中使用了基于雙向預測的時間等級,所以,與根據(jù)圖3的視頻壓縮相比,根據(jù)這個示范實施例的視頻壓縮可以提高壓縮效率。
圖5圖解了分級編碼(或者解碼)。
為了易于理解本發(fā)明,圖4中圖解的示范實施例可以圖5中的那樣以分級方式繪出。
如所說明的,在每個時間等級上的全部幀都表示為節(jié)點,而且在它們之間的參考連接用箭頭表示。為了相對于編碼處理描述圖5,其暗指與箭頭從其引出的節(jié)點相對應(yīng)的原始幀可以是用于另一幀的時間濾波的參考幀。與箭頭到達的節(jié)點相對應(yīng)的幀可以是通過參考從其引出該箭頭的節(jié)點的原始幀來時間濾波的高頻子帶。為了相對于解碼處理而描述它,與從其引出箭頭的節(jié)點相對應(yīng)的原始幀可以是用于其它幀的逆時間濾波的參考幀,而且與箭頭所到達的節(jié)點相對應(yīng)的幀可以是高頻子帶,其可隨時通過參考從中引出箭頭的節(jié)點的原始幀(恢復的幀)、通過逆時間濾波而恢復到原始幀。從編碼器端來看,術(shù)語“原始幀”可以指在執(zhí)行時間濾波之前的幀,但是從解碼器端看,它也可以指通過已編碼的幀的逆濾波而恢復的幀。
如所說明的,在每個時間等級中可僅布置必需的幀。例如,示出了僅僅GOP的幀當中的一個幀進入最高時間等級。在這個示范實施例中,0號幀具有最高時間等級,這是因為它被認為與傳統(tǒng)的UMCTF兼容。如果具有最高時間等級的幀索引不為零(0),則由編碼器端和解碼器端進行的時間濾波處理的分級結(jié)構(gòu)可以不同于圖5中所繪出的結(jié)構(gòu)。參見這個圖,當GOP大小為8時,0號幀被編碼為不在最高時間等級上執(zhí)行時間濾波的A幀,并且,在下一個時間等級上,通過參考0號幀的原始幀,4號幀被編碼為高頻子帶。然后,通過參考0和4號幀的原始幀,2號幀被編碼為高頻子帶,并且,通過使用4號幀的原始幀,6號幀被編碼為高頻子帶。同樣地,通過使用0、2、4和6號幀,1、3、5和7號幀被編碼為高頻子帶。
在解碼處理中,首先解碼0號幀。然后,通過參考恢復的0號幀對4號幀進行解碼。以同樣方式,通過參考存儲的0和4號幀來解碼2和6號幀。最后,通過參考恢復的0、2、4和6號幀來解碼1、3、5和7號幀。
因為編碼器端和解碼器端都從較高時間等級上的幀開始編碼(或者解碼),所以,根據(jù)這個示范實施例的可縮放視頻編碼算法允許編碼器端和解碼器端具有時間可縮放性。
在傳統(tǒng)的UMCTF算法的情況下,與MCTF算法不同,可以通過參考多個參考幀來壓縮視頻序列。本發(fā)明保持了UMCTF的這個屬性。下面將描述當通過參考多個參考幀編碼和解碼視頻來恢復視頻序列時,在編碼器端和解碼器端中都保持時間可縮放性的條件。
假定F(k)指示具有索引k的幀,而且T(k)指示具有索引k的幀的時間等級。為了建立時間可縮放性,不能參考任何具有比對某一幀進行編碼時所在的時間等級更低的時間等級的幀。例如,4號幀不能參考2號幀。如果允許這種參考,則編碼處理不能在0和4號幀處停止(也就是說,僅僅在已經(jīng)編碼了2號幀之后才能夠?qū)?號幀編碼)。通過以下方程確定可以由幀F(xiàn)(k)參考的一組參考幀Rk。
方程1Rk={F(l)|T(l)>T(k))或((T(l)=T(k))且(l<=k))},其中,l是指參考幀的索引。
同時,((T(l)=T(k))且(l<=k))意指在時間濾波處理中通過參考自身對幀F(xiàn)(k)進行時間濾波(所謂的“內(nèi)部模式”),后面將對其進行描述。
根據(jù)方程1,在編碼器端和解碼器端都保持可縮放性的條件可以如下所述布置。
編碼處理操作如下。1.將作為沒有參考其它幀的幀的GOP的第一幀編碼為(優(yōu)選,但不是必要地)不執(zhí)行時間濾波的幀(A幀)。2.對于在下一時間等級的幀,參考滿足方程(1)的可能的參考幀,進行運動預測,并編碼這些幀。在同一時間等級上,以從左到右的次序(以從最低到最高幀索引的次序)對幀進行編碼。3.重復操作(2),直到所有幀都被編碼了為止,然后編碼下一個GOP,直到完成了所有幀的編碼為止。
解碼處理操作如下。1.解碼GOP的第一幀。2.使用已經(jīng)解碼的幀當中的適當?shù)膮⒖紟?,解碼在下一個時間等級上的幀。在同一時間等級上,以從左到右的次序(以從最低到最高幀索引的次序)對幀進行解碼。3.重復操作(2),直到所有幀都被解碼了為止,然后解碼下一個GOP,直到完成了所有幀的解碼為止。
圖6圖解了在保持編碼器端的可縮放性同時進行的編碼過程中,在幀之間的可能連接。這個圖示出了滿足方程1中的條件的參考幀之間的可能連接。
在圖6中,標記為A的幀被內(nèi)部編碼(也就是說,不參考其它幀),而標記為H的幀指示參考高頻子帶的所涉及的幀。高頻子帶是參考一個或多個幀而編碼的幀。
在圖6中,在GOP的大小為八時,為了說明的目的,幀的時間等級處于0、4、(2,6)、(1,3,5,7)的順序。此外,即使在時間等級處于1、5、(3,7)、(0,2,4,6)的順序的情況下,就編碼器端時間可縮放性和解碼器端時間可縮放性而言,也幾乎沒有問題。同樣,2、6、(0,4)、(1,3,5,7)的時間等級順序是允許的。換句話說,在可以滿足編碼器端時間可縮放性和解碼器端時間可縮放性的時間等級上的任何幀都是允許的。
如圖6所述,可以參考多個幀對幀進行編碼。但是,使用多個參考幀來對幀進行編碼示出了增加用于時間濾波的存儲器量、以及延遲處理的時間的傾向??紤]到此,在本發(fā)明的示范實施例中,對于雙向預測,將已編碼的幀的參考幀限制為二(2)。在下文中,將把用來編碼每個幀的最大參考幀數(shù)目限制為2。此外,在可用于參考的幀當中,將具有最接近的時間距離的幀用作用來編碼每個幀的參考幀。這是因為,在大多數(shù)視頻序列中,與較遠的幀相比,最接近的幀實際上具有較高的相似性。
如上所述,僅為了說明的目的,對于示范實施例,下面將把GOP內(nèi)的最高時間等級上的幀描述為具有最小幀索引的幀。因此,應(yīng)當注意到,在最高時間等級上的幀可以是具有不同索引的幀。
圖7圖解了根據(jù)本發(fā)明的另一個示范實施例的在相鄰GOP中的幀之間的參考,其用來增加編碼效率。
如所說明的,不同于傳統(tǒng)的MCTF算法,根據(jù)本發(fā)明的視頻編碼算法可以參考多個幀而對幀進行編碼。被參考以用于編碼的參考幀不需要屬于一個GOP。換句話說,可以參考屬于其它GOP的幀來編碼的幀以增強視頻壓縮效率,這將被稱為“GOP交叉(cross-GOP)優(yōu)化”。這個GOP交叉優(yōu)化可以支持傳統(tǒng)的UMCTF算法。GOP交叉優(yōu)化可用的原因是因為UMCTF和根據(jù)本發(fā)明的編碼算法都使用了未時間濾波的A幀來代替已時間濾波的L幀(高頻子帶)。
在圖6中,當通過雙向預測對7號幀進行時間濾波時,參考0、4和6號幀的原始幀執(zhí)行時間濾波。在此時編碼的7號幀具有0、4和6參考幀累積的預測誤差。然而,當如圖7所示、7號幀參考下一GOP的0號幀的原始幀(以利用當前GOP計算8號幀)時,可以顯著地減小預測誤差的積累。這是因為,在時間濾波過程中,7號幀參考在該時間等級上的最接近幀。此外,由于作為參考幀的下一GOP上的0號幀是未被時間濾波的幀(也就是說,內(nèi)部代碼的幀),所以,可以顯著地增強7號幀的質(zhì)量。當由解碼器端對已編碼的幀進行解碼時,在不進行GOP交叉優(yōu)化的情況下解碼并恢復0號幀,通過參考恢復的0號幀的逆時間濾波來恢復4號幀,并且,通過參考恢復的4號幀的逆時間濾波來恢復7號幀。此時,累積在恢復過程中所產(chǎn)生的誤差(包括在恢復4號幀時的誤差、在存儲6號幀時的誤差、以及在恢復7號幀時的誤差)。然而,在應(yīng)用GOP交叉優(yōu)化時,可以參考已經(jīng)恢復的、在下一GOP上的0號幀(即,8號幀),來恢復7號幀,其中,當恢復在下一GOP上的0到7號幀時僅存在一種誤差,這是由于,7號幀通過參考下一GOP的0號幀的逆時間濾波而恢復。在如圖7構(gòu)造的時間濾波和逆時間濾波中,相對于幀的操作順序可以處于0、4、2、1、3,8(下一GOP中的0)、6、5和7的次序。該操作順序可以處于0、4、8(下一GOP中的0)、2、6、1、3、5和7的次序,其中下一GOP可以處于4,8,2,6,1和3的次序。在前一情況下,最終的延遲時間可能具有三幀間隔,而在后一情況下,最終的延遲時間可能具有七幀間隔。這里,最終延遲時間意指除了編碼和解碼的操作時間以及編碼的數(shù)據(jù)的傳輸時間之外的、由于算法本身而產(chǎn)生的延遲時間。也就是說,最終延遲時間是指當特定幀頻的視頻序列被壓縮和傳輸?shù)浇獯a器端時,解碼器端不中斷地播放視頻圖像所需要的時間。在前一情況下,0號幀確實可以與視頻拍攝同時即時編碼、并且即時傳輸,但是1號幀不能與視頻編碼同時進行即時編碼。為了編碼1號幀,就視頻序列而言,首先應(yīng)該編碼4和2號幀,并且,因此,只有在已經(jīng)拍攝了1號幀后又全部拍攝了2、3和4號幀之后,對于1號幀的視頻編碼才是可能的。此時,產(chǎn)生3幀間隔的延遲時間。3和4號幀可以被立即編碼。同樣地,因為在后一情況下,請求8號幀來編碼1號幀,所以,延遲時間是7幀間隔。在前一和后一情況下,從拍攝的視頻序列的輸入到恢復的視頻序列的輸出的時間關(guān)系均可以被布置為如表1所示。
表1
同時,當編碼4號幀時,可以參考8號GOP。即使在這種情況下,最終的延遲時間也將具有7幀間隔。這是因為,需要8號幀來編碼1號幀。
對于上述示范實施例,允許編碼器端具有可縮放性的編碼和解碼算法與具有限制的解碼算法的兼容之處在于,幀以特定順序(大多數(shù)情況下,從最高時間等級上的幀到最低時間等級上的幀)、并且以可用于參考的幀的方式進行解碼。本發(fā)明的示范實施例使得編碼器端與多個傳統(tǒng)解碼器端兼容、且還具有時間可縮放性成為可能。根據(jù)本發(fā)明,可以允許編碼器端具有可縮放性以及3幀間隔的最大延遲時間。此外,本發(fā)明可以通過支持GOP交叉優(yōu)化來提高編碼的視頻質(zhì)量。此外,本發(fā)明可以支持對具有非二分(non-dichotomous)幀頻的視頻的編碼和解碼、以及通過內(nèi)部宏塊預測的畫面質(zhì)量的改善。
在編碼和解碼具有非二分幀頻的視頻的情況下,它們還可以由現(xiàn)有的UMCTF編碼算法所支持。換句話說,在視頻序列的壓縮中,基于UMCTF的可縮放視頻編碼器可通過參考遠處的獨立幀以及近處的幀,來執(zhí)行時間濾波。例如,在編碼包含0到5號幀的GOP時,通過將0到3號幀設(shè)置為“A”幀、并將5號幀設(shè)置為“H”幀,然后對它們進行時間濾波,來執(zhí)行基于UMCTF的時間濾波。然后,比較0號幀和3號幀,并且,將前幀設(shè)置為“A”幀、并將后幀設(shè)置為“H”幀,并且對它們進行時間濾波。在本發(fā)明中,如在UMCTF中一樣,具有非二分幀頻的視頻編碼是可用的,但是,與傳統(tǒng)UMCTF的差別之處在于,將0號幀編碼為“A”幀、并且參考0號幀的原始幀將3號幀解碼為“H”幀,然后將1、2、4和5號幀編碼為“H”幀。
將參考圖8描述宏塊內(nèi)預測(以下稱為“內(nèi)部預測”)。
圖8圖解了根據(jù)本發(fā)明的另一個示范實施例的用于增加編碼效率的多個參考模式。
圖8中圖解了(1)前向預測、(2)后向預測、(3)雙向預測(或者加權(quán)的雙向預測)以及(4)內(nèi)部預測。傳統(tǒng)上,已經(jīng)在可縮放視頻編碼中支持了前向預測、逆向預測和雙向預測三種模式。此外,本發(fā)明包含具有加權(quán)值的雙向預測和內(nèi)部預測兩種模式,以便增大壓縮效率。內(nèi)部預測的應(yīng)用可以提高快速改變的視頻序列的編碼效率。
首先,將在下面考慮宏塊間預測(以下稱為“幀間預測(inter prediction)”)模式的確定。
因為允許雙向預測和多個參考幀,所以可以容易地實現(xiàn)前向預測、后向預測和雙向預測。可以使用眾所周知的分級可變塊大小匹配(HVBSM)算法,但是本發(fā)明的示范實施例采用了固定塊大小的運動預測。為了方便起見,假定E(k,-1)是指在第k個前向預測中的絕對差的總和(以下簡稱為“SAD”),而B(k,-1)是指要為前向預測中量化運動矢量而分配的總位數(shù)。同樣地,假定E(k,+1)是指在第k個后向預測中的SAD,而B(k,+1)是指要為后向預測中量化運動矢量而分配的總位數(shù),E(k,*)是指在第k個雙向預測中的SAD,而B(k,*)是指要為雙向預測中量化運動矢量而分配的總位數(shù),并且,E(k,#)是指第k個具有加權(quán)值的雙向預測中的SAD,而B(k,#)是指要為具有加權(quán)值的雙向預測中量化運動矢量而分配的總位數(shù)??梢韵鄬τ诜匠?來描述用于前向、后向和雙向預測模式,以及具有加權(quán)值的雙向預測的成本。
方程2Cf=E(k,-1)+λB(k,-1)Cb=E(k,1)+λB(k,1),Cbi=E(k,*)+λ{B(k,-1)+B(k,1)},以及Cwbi=E(k,#)+λ{B(k,-1)+B(k,1)+P}其中Cf、Cb、Cbi和Cwbi分別是指前向、后向、雙向、和具有加權(quán)值的雙向預測的預測模式的成本,且P是指加權(quán)值。
λ是控制在運動和紋理(圖像)位之間的平衡的拉格朗日(Lagrangian)系數(shù)。因為可縮放的視頻編碼器不能得知最終的位速率,所以應(yīng)該針對于視頻序列的屬性以及主要在目標應(yīng)用中使用的位速率來優(yōu)化λ。通過計算因此如方程(2)所定義的最小成本,可以確定最優(yōu)化的宏塊間預測模式。
在雙向預測模式下,通過將在虛擬塊和要被編碼的塊之間的差記錄在要被編碼的塊上,來編碼某一塊,其中虛擬塊通過對在前向預測中的參考塊和后向預測中的參考塊取平均而形成。因此,為恢復編碼塊,需要有關(guān)誤差以及用于定位參考目標塊的兩個運動矢量的信息。
順便提及,不同于雙向預測,具有加權(quán)值的雙向預測基于每個參考塊以及在相似度方面不同的要編碼的塊。對于具有加權(quán)值的雙向預測,將前向預測中的參考塊的像素值乘以P,并且將后向預測中的參考塊的像素值乘以(1-P),并且對所述兩個結(jié)果求和,以產(chǎn)生虛擬塊。通過參考作為參考塊的虛擬塊,來編碼要編碼的塊。
接下來,將描述宏塊內(nèi)預測模式的確定。
在一些視頻序列中場景可以飛快地改變。在極端情況下,可能定位不具有與相鄰幀的時間冗余的屬性的幀。為了解決這個問題,基于MC-EZBC的編碼方法支持自適應(yīng)GOP大小的屬性。自適應(yīng)GOP大小的性質(zhì)(quality)允許當未鏈接的像素數(shù)目大于預定的參考值(約為全部像素的30%)時暫停時間濾波,并且將所涉及的幀編碼為“L”幀。與采用傳統(tǒng)的MCTF方法相比,采用這種方法更好地提高了編碼效率。然而,因為這種方法在幀的基礎(chǔ)上被一致地確定,所以本發(fā)明已經(jīng)引入了在標準混合編碼器中使用的宏塊內(nèi)的概念,作為更靈活的方案。通常,由于預測草案(draft),開環(huán)編解碼器不能使用相鄰宏塊的信息,但是混合編解碼器可以使用多個內(nèi)部預測的模式。在這個示范實施例中,已經(jīng)使用了DC預測用于內(nèi)部預測模式。在這個模式中,宏塊通過用于它自己的Y、U和V分量的DC值而被內(nèi)部預測。當內(nèi)部預測模式的成本小于如上所述的最佳幀間預測模式的成本時,選擇內(nèi)部預測模式。在這種情況下,編碼原始像素和DC值之間的差,并且編碼代替運動矢量的三個DC值。內(nèi)部預測模式的成本可以由方程3所定義。
方程3Ci=E(k,0)+λB(k,0),其中,E(k,0)是指在第k個內(nèi)部預測處的SAD(原始亮度值和DC值之間的差),而且B(k,0)是指編碼三個DC值的總位數(shù)。
當Ci小于由方程2所計算的值時,執(zhí)行通過內(nèi)部預測模式的編碼。當僅僅利用單組DC值在內(nèi)部預測模式上編碼全部宏塊時,將它們改變?yōu)榉腔陬A測而編碼的“A”幀(在傳統(tǒng)MPEG-2中的“I”幀)是所期望的。另一方面,當用戶期望觀看視頻序列的過程中的任意點、或者自動地編輯視頻時,優(yōu)選地,該視頻序列具有盡可能多的“I”幀。在這種情況下,將幀間預測幀改變?yōu)椤癐”幀的方法可能是所希望的。
即使沒有通過內(nèi)部預測模式來編碼所有宏塊,但是,如果在內(nèi)部預測模式中、當編碼它們的預定百分比(例如,90%)時將它們改為“I”幀,則可能更容易實現(xiàn)觀看視頻序列的過程中的任意點、或者自動編輯視頻。
圖9圖解了當使用多個參考模式時的分級結(jié)構(gòu)和幀的類型。
“I+H”意指幀包含內(nèi)部預測的宏塊和幀間預測的宏塊二者?!癐”意指該幀由它本身編碼而沒有預測。換句話說,“I”幀是指當內(nèi)部預測的宏塊的百分比大于參考值時,改變幀以便其由它自身編碼而沒有預測。內(nèi)部預測可以在GOP的初始幀(最高時間等級上的幀)中使用,但是,這本發(fā)明中未被采用,這種因為,它沒有基于原始幀的小波變換那么有效。
圖10和11圖解了在具有高波動的視頻序列中、以及在幾乎不具有波動的視頻序列中,在各種模式下預測幀的示例。術(shù)語“百分比”指示生產(chǎn)模式的百分比,“I”指示內(nèi)部預測的百分比(假定GOP中的第一幀不用于預測),“BI”指示雙向預測的百分比,“F”指示前向預測的百分比,而“B”指示后向預測的百分比。
參見圖10,其中示出了因為1號幀幾乎相似于0號幀,所以F的百分比為優(yōu)勢性的78%,而且因為2號幀接近于0號幀和4號幀的中間,所以BI的百分比為優(yōu)勢性的87%(也就是說,其中0號幀比其它幀亮的圖像)。因為4號幀完全不同于其它幀,所以I被100%編碼,但是因為5號幀完全不同于4號幀并且相似于6號幀,所以B被編碼了94%。
參見圖11,所有幀都是相似的。在所有幀實際上非常相似時,BI示出了最佳性能。因此,圖11表明BI的百分比通常是高的。
圖12是圖解根據(jù)本發(fā)明的示范實施例的可縮放視頻編碼器的構(gòu)造的功能框圖。
可縮放視頻編碼器接收構(gòu)成視頻序列的多個輸入幀,在GOP的基礎(chǔ)上壓縮它們,并且生成位流。為此,可縮放視頻編碼器包含消除在多個幀之間的時間冗余的時間變換單元10、消除空間冗余的空間變換單元20、量化在消除了時間和空間冗余之后生成的變換系數(shù)的量化單元30、以及生成量化的變換系數(shù)及其它信息的組合的位流的位流生成單元40。
時間變換單元10包含運動估計單元12和時間濾波單元14,以補償幀之間的運動,并對幀進行時間濾波。
首先,運動估計單元12搜索正在執(zhí)行時間濾波的幀的每個宏塊和與它們相對應(yīng)的參考幀的每個宏塊之間的運動矢量。將有關(guān)運動矢量的信息提供給時間濾波單元14,而且時間濾波單元14使用有關(guān)運動矢量的信息,關(guān)于多個幀執(zhí)行時間濾波。在本發(fā)明的示范實施例中,時間濾波按順序從最高時間等級上的幀到最低時間等級上的幀而進行。在同一時間等級上的幀的情況下,時間濾波從具有最低幀索引的幀(時間較早的幀)到具有最高幀索引的幀的進行。舉例來說,在構(gòu)成GOP的幀當中,具有最高幀等級的幀使用具有最低幀索引的幀。然而,還有可能選擇GOP中的其它幀做為具有最高時間等級的幀。
消除了時間冗余的幀(即,已時間濾波的幀)通過空間變換單元20,以由此消除空間冗余。空間變換單元20使用空間變換來消除已時間濾波的幀的空間冗余。在這方面,在本發(fā)明中使用了基于小波的變換。在當前已知的基于小波的變換中,幀被分成四個相等的部分,壓縮為具有四分之一的面積、非常類似于整個圖像的圖像被定位于在四等分面之一上,并且,剩余的四等分面由這樣的信息(“H”圖像)所替代,其中,利用該信息,可以通過“L”圖像恢復整個圖像。以同樣方式,“L”幀可被替換為具有四分之一面積的“LL”圖像、以及用于恢復“L”圖像的信息。使用這種基于小波的方法的圖像壓縮方法已經(jīng)應(yīng)用于被稱作JPEG2000的壓縮方法中??梢酝ㄟ^基于小波的變換來消除幀之間的空間冗余,其中,不同于DCT變換,基于小波的變換允許原始圖像信息以已變換圖像的縮小形式存儲,并且,因此,通過使用縮小的圖像、具有空間可縮放性的視頻編碼是可用的。然而,基于小波的變換僅僅是示例。如果可以不實現(xiàn)空間可縮放性,則可使用在諸如MPEG-2之類的運動畫面壓縮中廣泛使用的DCT方法。
已時間濾波的幀通過空間變換而變?yōu)樽儞Q系數(shù),然后將其傳輸?shù)搅炕瘑卧?0、并最終被量化。量化單元30量化作為實數(shù)類型系數(shù)的變換系數(shù),以然后將它們改變?yōu)檎麛?shù)類型的變換系數(shù)。也就是說,可以減少通過量化表示圖像數(shù)據(jù)的位的數(shù)量。在當前的示范實施例中,通過嵌入的量化方法執(zhí)行對變換系數(shù)的量化處理。通過嵌入的量化方法執(zhí)行關(guān)于變換系數(shù)的量化,并且,因此,可以減少量化所需的信息量,并且可以通過嵌入的量化獲得SNR可縮放性。術(shù)語“嵌入”用于暗指編碼的位流涉及量化。換句話說,根據(jù)最高視覺重要性程度順序地生成壓縮的數(shù)據(jù),或者用視覺重要性標記壓縮的數(shù)據(jù)。實際上,可以在解碼器或者在傳輸信道中啟用量化(或者視覺重要性)等級。如果傳輸帶寬、存儲容量、顯示資源被允許,則可以無損地存儲圖像。如果不是這樣,則如最受約束的資源所需的那樣多而量化圖像。當前已知的嵌入的量化算法包含EZW、SPIHT、EZBC、EBCOT等。在當前示例實施例中,可以使用任何已知的算法。
位流生成單元40生成位流,該位流包括有關(guān)編碼圖像的信息、以及有關(guān)在運動估計單元12中獲得的運動矢量的信息(通過編碼運動矢量而生成的位),并且向其附加頭部(header)。允許被包括在位流中的信息將是在GOP內(nèi)編碼的幀數(shù)目(或者編碼的時間等級)等。這是因為,由于編碼器端具有時間可縮放性,所以解碼器端應(yīng)當知道有多少幀構(gòu)成了幾個GOP。
當使用基于小波的變換來消除空間冗余時,在最初變換的幀中保持圖像的原始形式。因此,不同于基于DCT的運動畫面編碼方法,基于小波的變換方法可以在通過空間變換之后執(zhí)行時間變換,量化這些幀,然后生成位流。
將參考圖13描述另一個示范實施例。
圖13是圖解根據(jù)本發(fā)明的另一個示范實施例的可縮放視頻編碼器的構(gòu)造的功能框圖。
根據(jù)圖13中圖解的本發(fā)明的示范實施例的可縮放視頻編碼器包含消除在構(gòu)成視頻序列的多個幀之間的空間冗余的空間變換單元60、消除時間冗余的時間變換單元70、量化通過消除幀之間的空間和時間冗余而獲得的變換系數(shù)的量化單元80、以及以編碼的圖像信息及其它信息的組合的方式生成位流的位流生成單元90。
關(guān)于術(shù)語“變換系數(shù)”,傳統(tǒng)上主要已經(jīng)使用了在運動畫面壓縮時、在時間濾波之后執(zhí)行空間變換的方法,這個術(shù)語主要是指由空間變換生成的值。也就是說,當變換系數(shù)通過DCT變換而生成時,該變換系數(shù)也已經(jīng)被稱為“DCT系數(shù)”,或者,當它通過小波變換而生成時,它也已經(jīng)被稱為小波系數(shù)。在本發(fā)明中,變換系數(shù)是通過消除幀之間的空間和時間冗余而生成的值,其是指在量化(嵌入量化)之前的值。在圖12中圖解的示范實施例中,變換系數(shù)表示通過空間變換生成的系數(shù)。然而,應(yīng)當注意到,在圖13中圖解的示范實施例中,變換系數(shù)可能表示通過時間變換生成的系數(shù)。
空間變換單元60消除在構(gòu)成視頻序列的多個幀之間的空間冗余。在這種情況下,空間變換單元采用基于小波的變換,以便消除幀之間的空間冗余。消除了空間冗余的幀(即,已空間變換的幀)被傳輸?shù)綍r間變換單元70。
時間變換單元70消除已空間變換的幀之間的時間冗余,為此,其包含運動估計單元72和時間濾波單元74。在當前示范實施例中,時間變換單元70以與圖12中圖解的示范實施例中相同的方式進行操作。這兩個實施例之間的差別在于,不同于圖12中的幀,在圖13中,輸入幀已經(jīng)被空間變換了。它們之間的另一個差別在于,時間變換單元70首先消除已空間變換的幀之間的時間冗余,并且此后生成用于量化的變換系數(shù)。
量化單元80量化變換系數(shù),并且生成量化的圖像信息(編碼的圖像信息),并將其提供給位流生成單元40。如圖12中圖解的示范實施例那樣,量化用來獲得相對于要最終通過嵌入量化而生成的位流的SNR可縮放性。
位流生成單元90生成位流,該位流包括有關(guān)已編碼圖像的信息、以及有關(guān)運動矢量的信息,并且向其附加頭部。此時,如在圖12的示范實施例中那樣,可以包括有關(guān)在GOP內(nèi)編碼的幀的數(shù)目的信息(或者編碼的時間等級)。
同時,圖12的位流生成單元40和圖13的位流生成單元可允許將有關(guān)消除時間冗余和空間冗余的順序(以下稱為“冗余消除順序”)的信息均包含在位流中,以便解碼器端可以得知該視頻序列是否已經(jīng)根據(jù)圖12或13的實施例而進行了編碼。可以使用用于在位流中包括冗余消除順序的幾種方法。通過選擇一種方法作為參考,可以在位流中獨立地指示其它的方法。例如,如果圖12中的方法為參考方法,則可以不在由可縮放視頻編碼器生成的位流中指示有關(guān)冗余消除順序的信息,但是,在由圖13的可縮放視頻解碼器生成的位流中可以包括冗余消除順序。否則,可以在圖12和13的兩個情況中均指示有關(guān)冗余消除順序的信息。
可以實現(xiàn)根據(jù)圖12的示范實施例的可縮放視頻編碼器,以及具有根據(jù)圖13的示范實施例的可縮放視頻編碼器的全部功能的可縮放視頻編碼器,然后可以通過根據(jù)圖12和13中的方法編碼視頻序列而生成更高效編碼的位流,然后對它們進行比較。在這種情況下,冗余消除順序應(yīng)被包括在位流中。可以在順序的基礎(chǔ)上、或者在GOP的基礎(chǔ)上確定冗余消除順序。在前一情況下,冗余消除順序應(yīng)被包括在視頻序列頭部中,而在后一情況下,冗余消除順序應(yīng)被包括在GOP頭部中。
圖12和13的示范實施例可以借助于硬件實現(xiàn),但是它們也可以使用軟件模塊以及任何具有計算性能來執(zhí)行它們的設(shè)備來實現(xiàn)。
圖14是圖解根據(jù)本發(fā)明的示范實施例的可縮放視頻解碼器的構(gòu)造的功能框圖。
可縮放視頻解碼器包含位流解釋單元100,其解釋輸入的位流,以便提取包括在位流中的每個分量;第一解碼單元200,其根據(jù)圖12的實施例來恢復編碼的圖像;以及第二解碼單元300,其根據(jù)圖13的實施例來恢復編碼的圖像。
第一和第二解碼單元可以借助于硬件或者軟件模塊實現(xiàn)。當它們以硬件或者軟件模塊實現(xiàn)時,它們可以如圖5所示分別實現(xiàn)、或者以集成的方式實現(xiàn)。當它們以集成方式實現(xiàn)時,第一和第二解碼單元采用與在位流解釋單元100中獲得的冗余消除順序相反的逆冗余消除順序。
另一方面,如圖14所示,可縮放視頻解碼器可以恢復全部根據(jù)不同的冗余順序編碼的圖像。還可以僅僅恢復根據(jù)多個冗余消除順序中的任何一個編碼的圖像。當將冗余消除順序應(yīng)用于第一解碼單元200時,通過第一解碼單元200恢復視頻序列,但是當將冗余消除順序應(yīng)用于第二解碼單元300時,通過第二解碼單元300恢復該視頻序列。并且,位流解釋單元100可以通過解釋位流而得知作為當存在時間冗余時的對幀進行時間濾波的順序的受約束的時間等級順序。在當前示范實施例中,可以通過延遲時間控制參數(shù)的值而得知受約束的時間等級順序以確定編碼模式。對于從編碼的圖像信息中恢復視頻序列的處理,首先將描述通過第一解碼單元200的冗余消除,然后將描述通過第二解碼單元300的冗余消除。
有關(guān)輸入到第一解碼單元200中的已編碼的幀的信息通過逆量化單元210而被逆量化,并被改變?yōu)樽儞Q系數(shù)。由逆空間變換單元220對變換系數(shù)進行逆空間變換。逆空間變換涉及已編碼的幀的空間變換。當在空間變換方式中使用了小波變換時,逆空間變換執(zhí)行逆小波變換。當在DCT變換方式中使用了空間變換時,執(zhí)行逆DCT變換。通過逆空間變換,變換系數(shù)改變?yōu)橐褧r間濾波的“I”幀和“H”幀。對于逆時間變換,逆時間濾波單元230使用通過解釋位流而獲得的運動矢量。
有關(guān)輸入到第二解碼單元300中的已編碼的幀的信息通過逆量化單元310而被逆量化,并被改變?yōu)樽儞Q系數(shù)。由逆時間變換單元320對變換系數(shù)進行逆時間變換??梢詮耐ㄟ^允許位流解釋單元100進行解釋而獲得的信息中,獲得運動矢量和用于逆時間變換的受約束的時間等級順序。通過逆時間變換的編碼圖像信息改變?yōu)橐呀?jīng)通過空間變換的幀。處于已經(jīng)通過空間變換的狀態(tài)下的幀在逆空間變換單元330中被逆空間改變,并被恢復為構(gòu)成視頻序列的幀。在逆空間變換單元330中使用的逆空間變換是逆小波變換。
工業(yè)實用性根據(jù)本發(fā)明的示范實施例,可得到使編碼器端可具有時間可縮放性的視頻編碼。此外,當還沒有對GOP中的所有幀進行操作、而是已經(jīng)對它們的一部分進行了操作時,可以將GOP中的所有幀傳輸?shù)浇獯a器端,并且,解碼器端可以開始解碼所傳輸?shù)牟糠謳纱藴p少延遲時間。
具有本發(fā)明所屬領(lǐng)域的常識的那些技術(shù)人員可以理解本發(fā)明可以其它特定地方式執(zhí)行,而不改變其技術(shù)思想和/或?qū)嵸|(zhì)特征。雖然為了說明的目的已經(jīng)公開了本發(fā)明的示范實施例,但是本領(lǐng)域的技術(shù)人員應(yīng)當理解,在不偏離附屬權(quán)利要求所公開的本發(fā)明的范圍和精神的情況下進行各種修改、添加、以及替換是可能的。
權(quán)利要求
1.一種用于視頻編碼的方法,該方法包含(a)接收構(gòu)成視頻序列的多個幀,并且從最高時間等級上的幀開始,在畫面組(GOP)的基礎(chǔ)上順序地消除多個幀之間的時間冗余;以及(b)通過量化從已經(jīng)消除了時間冗余的多個幀獲得的變換系數(shù),生成位流。
2.如權(quán)利要求1所述的方法,其中,對于在步驟(a)中的在同一時間等級上的幀,從具有最低幀索引的幀到具有最高幀索引的幀順序地消除其時間冗余。
3.如權(quán)利要求1所述的方法,其中,在構(gòu)成GOP的幀之中,在最高時間等級上的幀是GOP中具有最低幀索引的幀。
4.如權(quán)利要求1所述的方法,其中,在步驟(a)中,當消除了構(gòu)成GOP的幀之間的時間冗余時,可以將在最高時間等級上的幀設(shè)置為A幀,以從最高時間等級到最低時間等級的順序消除在不同于最高時間等級上的A幀的GOP的幀之間的時間冗余,并且,當幀處于同一時間等級時,以從最低幀索引到最高幀索引的順序消除所述時間冗余,其中在消除時間冗余的過程中可以由每個幀參考的一個或者多個幀具有比處于較高時間等級或者同一時間等級上的幀更高的索引。
5.如權(quán)利要求4所述的方法,其中,在消除時間冗余的過程中,將幀添加到由每個幀參考的幀中。
6.如權(quán)利要求4所述的方法,其中,在消除時間冗余的過程中,將屬于下一個GOP、在較高時間等級上的一個或者多個幀添加到由每個幀參考的幀中。
7.如權(quán)利要求1所述的方法,還包含消除多個幀之間的空間冗余,其中所生成的位流還包含有關(guān)空間冗余消除和時間冗余消除的順序的信息。
8.一種視頻編碼器,包含時間變換單元,其接收多個幀,并且以從最高時間等級到最低時間等級的順序消除幀的時間冗余;量化單元,其量化在消除幀之間的時間冗余之后獲得的變換系數(shù);以及位流生成單元,其生成包括量化的變換系數(shù)在內(nèi)的位流。
9.如權(quán)利要求8所述的視頻編碼器,其中,時間變換單元包含運動估計單元,其從所接收的多個幀中獲得運動矢量;以及時間濾波單元,其使用運動矢量在畫面組(GOP)的基礎(chǔ)上關(guān)于所接收的多個幀執(zhí)行時間濾波,該時間濾波單元以從最高到最低時間等級、或者在同一時間等級上以從最低幀索引到最高幀索引的順序,并且通過參考已被時間濾波的幀的原始幀,在GOP的基礎(chǔ)上執(zhí)行時間濾波。
10.如權(quán)利要求9所述的視頻編碼器,其中,當消除幀之間的時間冗余時,參考多個幀中的每一個。
11.如權(quán)利要求8所述的視頻編碼器,還包含空間變換單元,其消除多個幀之間的空間冗余,其中位流生成單元組合有關(guān)用于消除時間冗余的順序和用于空間冗余的順序的信息,以獲得變換系數(shù),并且生成位流。
12.一種用于視頻解碼的方法,該方法包含(a)通過接收和解釋位流,提取有關(guān)已編碼的幀以及冗余消除順序的信息;(b)通過逆量化有關(guān)已編碼的幀的信息獲得變換系數(shù);以及(c)針對于冗余消除順序,通過變換系數(shù)的逆空間變換和逆時間變換,恢復已編碼的幀。
13.如權(quán)利要求12所述的方法,其中,在步驟(a)中,還從位流中提取有關(guān)每畫面組(GOP)的已編碼的幀的數(shù)目的信息。
14.一種視頻解碼器,包含位流解釋單元,其解釋所接收的位流,以從中提取有關(guān)已編碼的幀的信息、以及冗余消除順序;逆量化單元,其對有關(guān)已編碼的幀的信息進行逆量化,以從中獲得變換系數(shù);逆空間變換單元,其執(zhí)行逆空間變換處理;以及逆時間變換單元,其執(zhí)行逆時間變換處理;其中,通過參考冗余消除順序、針對于已編碼的幀的冗余消除順序,對于變換系數(shù)而執(zhí)行逆空間變換處理和逆時間變換處理,恢復位流的已編碼的幀。
15.一種其上記錄有程序的存儲介質(zhì),該程序可由計算機讀取以執(zhí)行視頻編碼方法,所述方法包含(a)接收構(gòu)成視頻序列的多個幀,并且從最高時間等級上的幀開始,在畫面組(GOP)的基礎(chǔ)上順序地消除多個幀之間的時間冗余;以及(b)通過量化從已經(jīng)消除了時間冗余的多個幀獲得的變換系數(shù),生成位流。
16.如權(quán)利要求15所述的存儲介質(zhì),其中,對于在步驟(a)中的在同一時間等級上的幀,從具有最低幀索引的幀到具有最高幀索引的幀順序地消除其時間冗余。
17.如權(quán)利要求15所述的存儲介質(zhì),其中,在構(gòu)成GOP的幀當中,在最高時間等級上的幀是GOP中具有最低幀索引的幀。
18.如權(quán)利要求15所述的存儲介質(zhì),其中,在步驟(a)中,當消除了構(gòu)成GOP的幀之間的時間冗余時,可以將在最高時間等級上的幀設(shè)置為A幀,以從最高時間等級到最低時間等級的順序消除在不同于最高時間等級上的A幀的GOP的幀之間的時間冗余,并且,當幀處于同一時間等級時,以從最低幀索引到最高幀索引的順序消除所述時間冗余,其中在消除時間冗余的過程中可以由每個幀參考的一個或者多個幀具有比處于較高時間等級或者同一時間等級上的幀更高的索引。
19.如權(quán)利要求18所述的存儲介質(zhì),其中,在消除時間冗余的過程中,將幀添加到由每個幀參考的幀中。
20.如權(quán)利要求18所述的存儲介質(zhì),其中,在消除時間冗余的過程中,可以將屬于下一個GOP、在較高時間等級上的一個或者多個幀添加到由每個幀參考的幀中。
21.如權(quán)利要求18所述的存儲介質(zhì),所述方法還包含消除多個幀之間的空間冗余,其中所生成的位流還包含有關(guān)空間冗余消除和時間冗余消除的順序的信息。
22.一種其上記錄有程序的存儲介質(zhì),該程序可由計算機讀取以執(zhí)行視頻解碼方法,所述方法包含(a)通過接收和解釋位流,提取有關(guān)已編碼的幀以及冗余消除順序的信息;(b)通過逆量化有關(guān)已編碼的幀的信息獲得變換系數(shù);以及(c)針對于冗余消除順序,通過變換系數(shù)的逆空間變換和逆時間變換,恢復已編碼的幀。
23.如權(quán)利要求22所述的存儲介質(zhì),其中,在步驟(a)中,還從位流中提取有關(guān)每個畫面組(GOP)中的已編碼的幀的數(shù)目的信息。
全文摘要
公開了可縮放視頻編碼算法。用于視頻編碼的方法包括以與其解碼順序相同的順序?qū)M行時間濾波,以消除時間冗余;從消除了時間冗余的幀獲得并量化變換系數(shù);以及生成位流。視頻編碼器包含時間變換單元、空間變換單元、量化單元和位流生成單元,以執(zhí)行該方法。用于視頻解碼的方法基本上與視頻編碼的順序相反。視頻解碼器通過解釋所接收的位流并且對其進行解碼,來提取視頻解碼所必需的信息。因此,可以通過允許解碼器解碼所生成的位流,在編碼器端上保持時間可縮放性的同時生成視頻流。
文檔編號H04N7/12GK1906945SQ200480040904
公開日2007年1月31日 申請日期2004年11月18日 優(yōu)先權(quán)日2003年12月1日
發(fā)明者韓宇鎮(zhèn) 申請人:三星電子株式會社