專利名稱:條件交疊變換的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于數(shù)字編碼、解碼和處理媒體內(nèi)容信號(例如,音頻、視頻、圖像、文本、語音等)的技術(shù)。本發(fā)明尤其涉及基于交疊變換的數(shù)字媒體編解碼。
背景變換編碼是在許多音頻、圖像和視頻壓縮系統(tǒng)中使用的壓縮技術(shù)。非壓縮的數(shù)字圖像和視頻通常被表示或捕捉為在圖像或視頻幀中按二維網(wǎng)格排列的位置處的圖元或色彩的樣本。例如,圖像的典型格式由排列為網(wǎng)格的24比特彩色圖元樣本流組成。每個樣本是在諸如RGB或YIQ等色彩空間內(nèi)網(wǎng)格中的像素位置處表示色彩分量的數(shù)字。各種圖像和視頻系統(tǒng)可使用各種不同的色彩、空間和時間采樣分辨率。
非壓縮的數(shù)字圖像和視頻信號可能會消耗大量存儲和傳輸容量。變換編碼通過將信號的空間域表示變換為頻域(或其它類似的變換域)表示,并然后降低變換域表示的某些一般較不可感知的頻率分量的分辨率來減少數(shù)字圖像和視頻的數(shù)據(jù)量大小。這與在空間域降低圖像或視頻的色彩或空間分辨率相比,一般產(chǎn)生數(shù)字信號較不可感知的退化。
更具體地,
圖1中所示的典型的變換編碼技術(shù)100將非壓縮的數(shù)字圖像的像素分成固定大小的二維塊,其中每個塊可能與其它塊交疊。對每個塊應(yīng)用進行空間頻率分析的線性變換110,它將塊內(nèi)間隔的采樣轉(zhuǎn)換為一組頻率(或變換)系數(shù),而這組系數(shù)一般表示數(shù)字信號在塊間隔上的對應(yīng)頻帶中的強度。為了壓縮,變換系數(shù)可被選擇性地量化(即,諸如通過舍棄系數(shù)值中最低有效的位、或是將較高分辨率數(shù)集中的值映射到較低分辨率來降低分辨率),并且還可由量化器/熵編碼器120熵編碼或變長編碼到壓縮的數(shù)據(jù)流中。在解量化/熵解碼130以后,變換系數(shù)將逆變換140以近似地重構(gòu)原始的彩色/空間采樣圖像/視頻信號。
在壓縮靜止圖像(或視頻序列中的內(nèi)編碼幀)時,諸如MPEG-2、MPEG-4和Windows Media等大多數(shù)公共標準將圖像劃分為正方形的貼圖,并對每個貼圖應(yīng)用塊變換。給定分區(qū)(通常稱為塊)中的變化系數(shù)僅受該塊內(nèi)的原始數(shù)據(jù)分量的影響。編碼器一方的諸如量化等不可逆或有損操作使得經(jīng)解碼圖像中出現(xiàn)偽影。這些偽影在塊上是獨立的,并且產(chǎn)生稱為阻塞效應(yīng)的干擾視覺的效果。類似地,對于音頻數(shù)據(jù),當無交疊的塊被獨立變換編碼時,在解碼器處重構(gòu)音頻信號后,量化誤差就將在塊邊界處產(chǎn)生信號的不連續(xù)。對于音頻,就會聽到周期性的“咔嗒”聲效應(yīng)。
空間域交疊變換為將阻塞效應(yīng)最小化,可以利用交叉塊的相關(guān)。實現(xiàn)交叉塊相關(guān)的一個方法是通過使用如H.Malvar“Signal Processing with Lapped Transforms”(使用交疊變換的信號處理)Artech House,Norwood MA 1992中所描述的交疊變換。交疊變換是除了當前塊中的數(shù)據(jù)元素以外,其輸入還跨越相鄰塊中的一些鄰近元素的變換。類似地,在重構(gòu)方,逆變換影響當前塊中的所有數(shù)據(jù)點以及相鄰塊中的一些數(shù)據(jù)點。
對于二維(2D)數(shù)據(jù)的情形,交疊2D變換是當前塊、及其左、上、右、下及可能還有左上、右上、左下和右下塊的選擇元素的函數(shù)。被用來計算當前變換的相鄰塊中的數(shù)據(jù)點數(shù)被稱為交疊。
交疊變換可以在變換域中實現(xiàn)為在常規(guī)塊變換以后合并變換域量的步驟。另外,它可由被應(yīng)用于交疊范圍內(nèi)的像素的預(yù)處理階段在空間域中實現(xiàn)。這兩種實現(xiàn)是數(shù)學(xué)相關(guān)的,并因而是等效的。
如圖2中所示,空間域交疊變換(SDLT)200是被實現(xiàn)為分別在正向塊變換110之前、以及在反向塊變換140之后的匹配的預(yù)處理/后處理步驟210、220的交疊變換。(見例如,Srinivasan等,“Improvements to the Spatial-Domain LappedTransform in Digital Media Compression”(數(shù)字媒體壓縮中對空間域交疊變換的改進),美國專利申請第10/620,744號,于2003年7月15日提交[以下稱為“ImprovedSDLT Patent Application”(改進的SDLT專利申請)]。)空間域交疊變換常常被用來改進基于壓縮技術(shù)的現(xiàn)有塊變換以提高效率。
概述當對被以非預(yù)測(即,內(nèi)編碼)方式編碼的其它數(shù)字媒體的一個圖像(諸如視頻序列中的幀)的所有部分應(yīng)用SDLT時,就出現(xiàn)了某些限制問題1.前置過濾器是范圍擴張的;因此在編碼器方經(jīng)前置過濾器以后,圖像的某些區(qū)域可能會飽和或削波。類似地,在解碼器方可能會有溢出。
2.前置過濾器是銳化的。因此具有局部高頻內(nèi)容(特別是圖像邊與塊邊對齊)的圖像中某些區(qū)域的編碼效率將會因為交疊變換的緣故而降低。
使用本文中所描述的數(shù)字媒體信號處理和編碼/解碼技術(shù)和系統(tǒng)而實現(xiàn)的條件交疊變換實現(xiàn)對交疊過程更好的控制以解決這些問題。這一條件交疊變換允許對交疊變換的前置和后置過濾器的選擇或應(yīng)用具有空間靈活性。換言之,交疊變換被條件地應(yīng)用于數(shù)字媒體內(nèi)容的不同區(qū)域(例如,圖像的各個不同的塊)。
例如,本文中所描述的條件交疊變換的一種實現(xiàn)使用空間變化的模式參數(shù)來指定要對解碼后應(yīng)用的交疊后置過濾器的應(yīng)用和程度。例如,在視頻編解碼中,這一空間變化的模式參數(shù)指定要對圖像中的哪些塊邊應(yīng)用交疊變換的后置過濾器。在一種實現(xiàn)中,視頻序列的內(nèi)編碼幀將模式參數(shù)作為具有宏塊粒度的布爾標志來更加高效地編碼和發(fā)送,這比對每條塊邊的模式參數(shù)進行編碼要更加高效。此外,這一實現(xiàn)基于與比特率相關(guān)的量化參數(shù)對條件交疊模式施加限制以將在低比特率執(zhí)行條件交疊變換的影響最小化。
本發(fā)明的其它特征和優(yōu)點將從以下參考附圖對諸實施例的詳細描述來明確。
附圖簡述圖1是現(xiàn)有技術(shù)中一種典型的變換編碼技術(shù)的框圖。
圖2是現(xiàn)有技術(shù)中一種基于空間域交疊變換的編碼/解碼系統(tǒng)的框圖。
圖3是一種使用本文中所描述的條件交疊變換的視頻編碼器的框圖。
圖4是一種使用本文中所描述的條件交疊變換的視頻解碼器的框圖。
圖5是一種實現(xiàn)具有每條鄰近塊邊交疊模式信號表示的條件交疊變換的編碼器的框圖。
圖6是在根據(jù)具有基于比特率的和每宏塊交疊模式信號表示的條件交疊變換的第二實現(xiàn)的編碼器/解碼器中使用的序列級句法圖。
圖7是在根據(jù)具有基于比特率的和每宏塊交疊模式信號表示的條件交疊變換的第二實現(xiàn)的編碼器/解碼器中使用的幀級句法圖。
圖8是示出在條件交疊變換的第二實現(xiàn)中的交疊模式標志的基于比特率的和每宏塊信號表示的流程圖。
圖9是為圖像中的一組宏塊的已發(fā)送信號表示的交疊模式標志的示例而對其應(yīng)用交疊過濾器的鄰接的宏塊邊的示意圖。
圖10是對圖3和4的視頻編碼器/解碼器適用的計算環(huán)境的框圖。
詳細描述以下描述針對條件交疊變換的實現(xiàn),其中與交疊變換相關(guān)聯(lián)的塊邊過濾器在空間變化基礎(chǔ)上被條件地應(yīng)用于數(shù)字媒體內(nèi)容。條件交疊變換的示例性應(yīng)用是在圖像或視頻編碼器和解碼器中。但是,空間域交疊變換的這一條件形式并不局限于圖像或視頻編解碼,而是可被應(yīng)用于其它媒體編碼、解碼和/或處理系統(tǒng)。由此,該條件交疊變換是在一般化的圖像或視頻編碼器和解碼器的上下文中描述的,但是替換地也可被結(jié)合到在條件的或空間變化基礎(chǔ)上使用交疊變換的交疊過濾器的各種類型的媒體信號編碼、解碼和/或處理系統(tǒng)(例如,音頻、視頻、圖像等等)中,而不論在空間域中或在變換域中。
1.一般化的視頻編碼器和解碼器圖3是一般化的視頻編碼器(300)的框圖,而圖4是一般化的視頻解碼器(400)的框圖,其中可結(jié)合WMV9/VC-9變換。
所示的在編碼器和解碼器內(nèi)諸模塊之間的關(guān)系指出編碼器和解碼器中主要的信息流;為簡單起見沒有示出其它關(guān)系。特別地,圖3和4通常并不示出表示編碼器設(shè)置、模式、表等用于視頻序列、幀、宏塊、塊等的次要信息。此類次要信息通常是在對次要信息進行熵編碼以后在輸出比特流中被發(fā)送的。輸出比特流的格式可以是Windows Media Video(Windows媒體視頻)格式或其它格式。
編碼器(300)和解碼器(400)是基于塊的,并且使用4∶2∶0宏塊格式,其中每個宏塊包括4個8×8亮度塊(有時作為一個16×16宏塊來處理)和兩個8×8色度塊。另外,編碼器(300)和解碼器(400)是基于對象的,使用不同的宏塊或塊格式,或是對與8×8塊和16×16宏塊不同大小或配置的像素集執(zhí)行操作。
取決于所期望的壓縮的實現(xiàn)和類型,編碼器或解碼器的諸模塊可被添加、省略、拆分成多個模塊、與其它模塊組合、和/或用類似的模塊替換。在替換實施例中,具有不同的模塊和/或其它的模塊配置的編碼器或解碼器執(zhí)行一個或多個所描述的技術(shù)。
A.視頻編碼器圖3是一般的視頻編碼器系統(tǒng)(300)的框圖。編碼器系統(tǒng)(300)接收包括當前幀(305)在內(nèi)的視頻幀序列,并產(chǎn)生經(jīng)壓縮的視頻信息(395)作為輸出。視頻編碼器的特定實施例通常使用一般化編碼器(300)的變體或補充版本。
編碼器系統(tǒng)(300)壓縮預(yù)測幀和關(guān)鍵幀。為說明起見,圖3示出關(guān)鍵幀通過編碼器系統(tǒng)(300)的路徑,以及前向預(yù)測幀的路徑。編碼器系統(tǒng)(300)的許多組件既被用于壓縮關(guān)鍵幀,也被用于壓縮預(yù)測幀。由那些組件所執(zhí)行的確切操作可能根據(jù)所壓縮的信息的類型而改變。
預(yù)測幀[也稱為p幀、(對應(yīng)于雙向預(yù)測的)b幀、或互編碼幀]是以從一個或數(shù)個其它幀的預(yù)測(或差異)的形式表示的。預(yù)測殘余是所預(yù)測的幀和原始幀之間的差異。反之,關(guān)鍵幀[也稱為i幀、內(nèi)編碼幀]是不參考其它幀而壓縮的。
如果當前幀(305)是前向預(yù)測幀,則運動估算器(310)參照參考幀來估算當前幀(305)的宏塊或其它像素集的運動,所謂參考幀是緩存在幀存儲(320)中的重構(gòu)的先前幀(325)。在替換實施例中,參考幀是較后的幀,或者當前幀是被雙向地預(yù)測的。運動估算器(310)輸出諸如運動矢量等運動信息(315)作為次要信息。運動補償器(330)將運動信息(315)應(yīng)用于重構(gòu)的先前幀(325)來構(gòu)成經(jīng)運動補償?shù)漠斍皫?335)。但是,預(yù)測很少是理想的,經(jīng)運動補償?shù)漠斍皫?335)和原始的當前幀(305)之間的差異就是預(yù)測殘余(345)。替換地,運動估算器和運動補償器應(yīng)用另一種類型的運動估算/補償。
變頻器(360)將空間域視頻信息轉(zhuǎn)換為頻域(即,頻譜)數(shù)據(jù)。對于基于塊的視頻幀,變頻器(360)應(yīng)用在以下章節(jié)中描述的具有和離散余弦變換[“DCT”]相似屬性的變換。在一些實施例中,變頻器(360)對關(guān)鍵幀的空間預(yù)測殘余塊應(yīng)用頻率變換。變頻器(360)可應(yīng)用8×8、8×4、4×8、或其它大小的頻率變換。
量化器(370)隨即量化頻譜數(shù)據(jù)系數(shù)塊。量化器以在一幀接一幀的基礎(chǔ)上或其它基礎(chǔ)上變化的步長對頻譜數(shù)據(jù)應(yīng)用一致的、標量的量化。替換地,量化器對頻譜數(shù)據(jù)系數(shù)應(yīng)用其它類型的量化,例如,非一致的、矢量的或非自適應(yīng)的量化,或在不使用頻率變換的編碼器系統(tǒng)中直接量化空間域數(shù)據(jù)。除了自適應(yīng)量化以外,編碼器(300)還可使用幀舍棄、自適應(yīng)過濾或其它技術(shù)來進行速率控制。
當需要重構(gòu)的當前幀來進行后續(xù)的運動估算/補償時,反量化器(376)對經(jīng)量化的頻譜數(shù)據(jù)系數(shù)執(zhí)行反量化。逆變頻器(366)隨即執(zhí)行變頻器(360)的逆操作,從而產(chǎn)生重構(gòu)的預(yù)測殘余(對應(yīng)于預(yù)測幀)或是重構(gòu)的關(guān)鍵幀。如果當前幀(305)是關(guān)鍵幀,則重構(gòu)的關(guān)鍵幀被視為重構(gòu)的當前幀(未示出)。如果當前幀(305)是預(yù)測幀,則重構(gòu)的預(yù)測殘余被添加到經(jīng)運動補償?shù)漠斍皫?335)以構(gòu)成重構(gòu)的當前幀。幀存儲(320)緩沖重構(gòu)的當前幀以便在預(yù)測下一幀時使用。在一些實施例中,編碼器對重構(gòu)的幀應(yīng)用解塊過濾器以自適應(yīng)地平滑掉在幀的諸塊中的不連續(xù)。
熵編碼器(380)壓縮量化器(370)的輸出以及某些次要信息(例如,運動信息(315)、量化步長)。典型的熵編碼技術(shù)包括算術(shù)編碼、差分編碼、哈夫曼編碼、行程編碼、LZ編碼、字典編碼、以及以上的各種組合。熵編碼器(380)通常對不同種類的信息(例如,DC系數(shù)、AC系數(shù)、不同種類的次要信息)使用不同的編碼技術(shù),并可在特定編碼技術(shù)中從多個編碼表中進行選擇。
熵編碼器(380)將經(jīng)壓縮的視頻信息(395)放在緩沖區(qū)(390)中。緩沖級指示符被反饋給比特率自適應(yīng)模塊。經(jīng)壓縮的視頻信息(395)在恒定或相對恒定的比特率被從緩沖區(qū)(390)用盡,并被存儲以便在該比特率進行后續(xù)的流式傳輸。替換地,編碼器系統(tǒng)(300)在壓縮以后立即流式傳輸經(jīng)壓縮的視頻信息。
在緩沖器(390)以前或以后,經(jīng)壓縮的視頻信息(395)可被信道編碼以便通過網(wǎng)絡(luò)傳輸。信道編碼可對經(jīng)壓縮的視頻信息(395)應(yīng)用檢錯和糾錯數(shù)據(jù)。
B.視頻解碼器圖4是一般的視頻解碼器系統(tǒng)(400)的框圖。解碼器系統(tǒng)(400)接收對應(yīng)于經(jīng)壓縮視頻幀序列的信息(495)并產(chǎn)生包括重構(gòu)幀(405)的輸出。視頻解碼器的特定實施例通常使用一般化的解碼器(400)的變體或補充版本。
解碼器系統(tǒng)(400)解壓縮預(yù)測幀和關(guān)鍵幀。為說明起見,圖4示出關(guān)鍵幀通過解碼器系統(tǒng)(400)的路徑,以及前向預(yù)測幀的路徑。解碼器系統(tǒng)(400)的許多組件既被用來壓縮關(guān)鍵幀,也被用來壓縮預(yù)測幀。那些組件所執(zhí)行的確切操作可以根據(jù)所壓縮的信息的類型而改變。
緩沖區(qū)(490)接收對應(yīng)于經(jīng)壓縮的視頻序列的信息(495),并使所接收的信息對熵解碼器(480)可用。緩沖區(qū)(490)通常在時間上相當恒定的速率接收信息,并包括抖動緩沖區(qū),用于平滑帶寬或傳輸中的短期變化。緩沖區(qū)(490)可包括回放緩沖區(qū)以及其它緩沖區(qū)。替換地,緩沖區(qū)(490)以變化的速率接收信息。在緩沖區(qū)(490)之前或之后,經(jīng)壓縮的視頻信息可被信道解碼并針對檢錯和糾錯進行處理。
熵解碼器(480)通常通過應(yīng)用在編碼器中所執(zhí)行的熵編碼的逆來將經(jīng)熵編碼的經(jīng)量化數(shù)據(jù)以及經(jīng)熵編碼的次要信息(例如,運動信息、量化步長)熵解碼。熵解碼技術(shù)包括算術(shù)解碼、差分解碼、哈夫曼解碼、行程解碼、LZ解碼、字典解碼以及上述的各種組合。熵解碼器(480)常對不同種類的信息(例如,DC系數(shù)、AC系數(shù)、不同種類的次要信息)使用不同的解碼技術(shù),并可從特定解碼技術(shù)內(nèi)的多個編碼表中進行選擇。
如果要被重構(gòu)的幀(405)是前向預(yù)測幀,則運動補償器(430)對參考幀(425)應(yīng)用運動信息(415)以構(gòu)成正被重構(gòu)的幀(405)的預(yù)測(435)。例如,運動補償器(430)使用宏塊運動矢量來尋找參考幀(425)中的宏塊。幀緩沖區(qū)(420)存儲先前所重構(gòu)的幀以便作為參考幀使用。替換地,運動補償器應(yīng)用其它類型的運動補償。運動補償器的預(yù)測很少是理想的,因此解碼器(400)還重構(gòu)預(yù)測殘余。
當解碼器需要重構(gòu)的幀以進行后續(xù)的運動補償時,幀存儲(420)緩沖重構(gòu)的幀以便在預(yù)測下一幀時使用。在一些實施例中,編碼器對重構(gòu)的幀應(yīng)用解塊過濾器以自適應(yīng)地平滑掉幀的諸塊中的不連續(xù)。
反量化器(470)反量化經(jīng)熵解碼的數(shù)據(jù)。一般而言,反量化器以在一幀接一幀的基礎(chǔ)或在其它基礎(chǔ)上變化的步長對經(jīng)熵解碼的數(shù)據(jù)應(yīng)用一致的、標量的反量化。替換地,反量化器對數(shù)據(jù)應(yīng)用其它類型的反量化,例如,非一致的、矢量的、或非自適應(yīng)的量化,或在不使用逆變頻的解碼器系統(tǒng)中直接反量化空間域數(shù)據(jù)。
逆變頻器(460)將經(jīng)量化的頻域數(shù)據(jù)轉(zhuǎn)換為空域視頻信息。對于基于塊的視頻幀,逆變頻器(460)應(yīng)用以下章節(jié)中所描述的逆變換。在一些實施例中,逆變頻器(460)對關(guān)鍵幀的空間預(yù)測殘余的塊應(yīng)用逆頻率變換。逆變頻器(460)可應(yīng)用8×8、8×4、4×8、或其它大小的逆頻率變換。
2.條件交疊變換再次參考圖2,當編碼器/解碼器200對圖像執(zhí)行典型的現(xiàn)有技術(shù)的空間域交疊變換時,預(yù)處理和后處理過濾器級210、220被應(yīng)用于圖像中所有鄰接的塊邊。大小為M×N、使用8×8塊編碼的圖像僅就其亮度通道而言,在鄰接的8×8塊之間就有將近M*N/32條不同的邊。在現(xiàn)有技術(shù)的編碼器/解碼器200對圖像應(yīng)用空間域交疊變化的情況下,過濾器級210、220被應(yīng)用于圖像的這些鄰接的塊邊中的每一條邊。
A.每條鄰接塊邊的交疊模式信號表示在圖5中所示的條件交疊變換的第一實現(xiàn)中,編碼器發(fā)送對應(yīng)于每條鄰接的塊邊的不同的碼元(交疊模式碼元510),這些碼元定義了交疊過濾器(Mn)520-522(它們可以是通過過濾器,即,沒有應(yīng)用任何過濾)的選擇,如圖5中為編碼器所示。在編碼器處,可基于各種準則對過濾器進行選擇,包括是否有任何過濾器結(jié)果在范圍之外、平滑度測試、速率畸變優(yōu)化準則、以及這些準則的各種組合等等。這一切換被稱為交疊過濾器的“模式”,而該模式確定了應(yīng)用前置和后置過濾器的“條件”。圖5示出確定切換設(shè)置的交疊模式參數(shù),該參數(shù)為每個正被過濾的塊的邊發(fā)送。
允許每個前置和后置過濾器被獨立標志的一個缺點是與過濾模式相關(guān)聯(lián)的額外開銷的增長。例如,假定以30幀/秒對大小為320×240的視頻編碼。此外,假定每秒發(fā)送一個I幀(內(nèi)編碼幀)。因而在在視頻中每秒大約有3600個8×8塊內(nèi)邊。(此數(shù)字是近似的,因為一些塊可能在圖像邊界,因而不是鄰接的塊的邊。)甚至在為每條邊發(fā)送單比特交疊模式碼元(1比特額外開銷)時,這也將導(dǎo)致已編碼比特流(圖3的經(jīng)壓縮的視頻信息195)中過量的3.6kbps的比特率,這是不可忽視的。
B.基于比特率的和每塊交疊模式信號表示在另一個示例性實現(xiàn)中,編解碼使用基于編碼比特率且使用每塊交疊模式碼元的信號表示方案,實現(xiàn)了信號表示交疊模式較低的額外開銷。此信號表示方案使用以下句法元素幀級量化參數(shù)(QP)、幀級交疊標志、以及宏塊級交疊模式標志。在使用其它視頻編碼句法的編解碼中,可使用其它句法方案和元素來編碼各個塊邊或是塊邊組的條件交疊變換。例如,可使用涉及幀的編碼比特率或量化的另一種句法元素。
參考圖6和7,經(jīng)壓縮的視頻比特流195(圖3)包括對應(yīng)于經(jīng)壓縮的行進視頻幀序列或其它圖像的信息。該比特流被組織成由諸如圖4的解碼器(400)等解碼器解碼的數(shù)個分層結(jié)構(gòu)層。最高層是序列層,該層有對應(yīng)于整個幀序列的信息。此外,每個經(jīng)壓縮的視頻幀是由被結(jié)構(gòu)化為三個分層結(jié)構(gòu)層的數(shù)據(jù)組成。從頂?shù)降走@些層是圖像、宏塊和塊。
圖6是對應(yīng)于序列層600的句法圖,它包括序列頭部610,后面是對應(yīng)于圖像層的數(shù)據(jù)(見圖7)。序列頭部610包括數(shù)個序列級元素,它們由解碼器處理并被用來將序列解碼,包括宏塊量化(DQUANT)元素620、量化器指定器(QUANTIZER)元素630、以及交疊變換標志(OVERLAP)元素640。DQUANT620是指明量化步長在一幀內(nèi)是否可以改變的2比特字段。DQUANT有三種可能的值。如果DQUANT=0,則每幀僅可使用一個量化步長(即,幀量化步長)。如果DQUANT=1或2,則不同地量化幀中的每一個宏塊是可能的。
QUANTIZER 630是表示用于序列的量化器的2比特定長編碼[“FLC”]字段。量化器類型是根據(jù)下表1來編碼的。
表1量化器規(guī)范交疊變換標志(OVERLAP)(1比特)OVERLAP 640是表示是否使用交疊變換的1比特標志,如以下詳細討論。如果OVERLAP=1,則使用交疊變換,否則不使用交疊變換。
圖7是對應(yīng)于交織內(nèi)編碼幀[“交織I幀”]的圖像層700的句法圖。對應(yīng)于諸如行進I幀、P圖像和B幀等其它圖像的句法圖具有許多類似的句法元素。圖像層700包括圖像頭部710,后面是對應(yīng)于宏塊層的數(shù)據(jù)的。圖像頭部710包括由解碼器處理并被用來將對應(yīng)的幀解碼的數(shù)個圖像級元素。其中一些元素僅在由序列級元素或在前的圖像級元素信號表示或隱含了它們的存在時才出現(xiàn)。
在所示的比特流句法中,幀級量化參數(shù)(QP)是以圖像量化器標度(PQUANT)的形式,它可在圖像層句法中被隱式或顯式地發(fā)信號表示,如上述的序列級句法元素QUANTIZER所指定。無論在哪種情形中,圖像量化器標度(PQUANT)是從圖像量化器索引(PQINDEX)元素720轉(zhuǎn)換而來的。PQINDEX 720是為整個幀發(fā)信號表示量化器標度索引的5比特字段。它出現(xiàn)在所有圖像類型中。如果使用了隱式量化器,則PQINDEX指定對該幀所使用的圖像量化器標度(PQUANT)和量化器(3QP或5QP盲區(qū))。表2示出PQINDEX如何被轉(zhuǎn)換為PQUANT和對應(yīng)于隱式模式的量化器。
表2PQINDEX到PQUANT/量化器盲區(qū)轉(zhuǎn)換(隱式量化器)如果量化器在序列或幀級被顯式地發(fā)信號表示,則PQINDEX被如表3所示地轉(zhuǎn)換為圖像量化器步長PQUANT。
表3PQINDEX到PQUANT轉(zhuǎn)換(顯式量化器)替換地,當量化器在序列或幀級被顯式地發(fā)信號表示時,代替表3中所示的變換,對于PQINDEX從1到31的所有值,量化器PQUANT等于PQINDEX。
圖像頭部還包括條件交疊標志(CONDOVER)元素730和條件交疊宏塊模式標志(OVERFLAGS)元素740。這一條件交疊標志元素僅在I圖像中、且僅當OVERLAP開啟且PQUANT在某個范圍以內(nèi)時出現(xiàn),如以下將詳細討論的。OVERFLAGS句法元素僅在I圖像中、且僅當CONDOVER有二進制值11時出現(xiàn)。OVERFLAGS是作為位平面來編碼的,在原始模式下它要求每個宏塊都攜帶其本地信息OVERFLAGMB。
交疊模式規(guī)則在條件交疊變換的此第二示例性實現(xiàn)中,編碼器(圖5)通過對內(nèi)幀中的交疊模式標志設(shè)置一些限制來限制額外開銷,這些限制如下1.交疊模式被設(shè)為二元量。值FALSE表示沒有應(yīng)用交疊過濾(即,前置和后置過濾器是通過過濾器)而TRUE指示應(yīng)用了交疊過濾級,如以上所引述的改進的SDLT專利申請中為空間域交疊變換所定義的。在其它實現(xiàn)中,交疊過濾器模式的個數(shù)可以更大,如圖5中所示,其代價是每宏塊的外加的額外開銷。
2.對于某個大于量化閾值(QTH)的基于幀的量化參數(shù)(QP)(例如,從表2或表3確定的圖像量化器標度(PQUANT))或QP>QTH(即,對于低到很低的比特率)的值,對內(nèi)塊之間的所有邊將交疊條件設(shè)為TRUE。在所示實現(xiàn)中,使用量化閾值8,但替換實現(xiàn)可使用不同的量化閾值。
3.除此以外,對于基于某個幀的量化參數(shù)值QP≤QTH(即,對于高到很高的比特率),將幀中的每個內(nèi)宏塊與一個二元交疊模式標志相關(guān)聯(lián)。與此標志相關(guān)聯(lián)的交疊過濾器規(guī)則被預(yù)先枚舉。
對于經(jīng)預(yù)測編碼的幀(P幀)中的內(nèi)塊和宏塊,交疊模式僅僅是從量化參數(shù)(QP)隱式推導(dǎo)出來的。這是合理的,因為與I幀相比,P幀在編碼模式的選擇中允許較大的自由度。
如在圖8的流程圖所示,在第二實現(xiàn)中交疊模式標志被編碼和解碼如下1.如果在第一判定框810,序列級交疊標志(圖6中的OVERLAP 640)被設(shè)為FALSE,則沒有任何交疊模式被發(fā)送,也不執(zhí)行任何交疊(850)。
2.在判定框820,當QP>QTH時,交疊模式標志隱式地為TRUE,且在判定框810,序列級交疊標志(OVERLAP 640)為TRUE。在此情形中,對圖像中的所有鄰接塊邊執(zhí)行交疊(870)。
3.在判定框820,當QP≤QTH時,發(fā)送表示三種可能性(a、b或c)之一的幀級標志(圖7中的CONDOVER 730),并執(zhí)行操作如下a.幀沒有任何交疊(850)b.幀中所有宏塊都被交疊(870)c.“條件交疊”-發(fā)送每宏塊交疊模式標志(圖7中的OVERFLAGS 740)為方便理解,這在流程圖中被分為兩個二元判定。
4.當指示了條件交疊時,交疊模式標志是為內(nèi)幀中的每個內(nèi)宏塊發(fā)送的二元標志(即,OVERFLAGS句法元素)。
條件交疊因為每宏塊地發(fā)信號表示交疊模式,所以每個條件交疊標志指向多條邊。在所示實現(xiàn)中,宏塊的大小是16×16(對于亮度通道)像素,而變換塊大小是8×8像素。對8×8塊大小色度通道有一半的空間分辨率。由此,邊可能在宏塊以內(nèi)(即,對應(yīng)于亮度通道在宏塊中每個變換塊之間的邊),或跨騎兩個宏塊(對于大約一半的亮度通道邊和所有色度通道邊)。如對圖9中所示的為宏塊發(fā)信號表示的示例性交疊模式標志所示,確定是否要對邊應(yīng)用前置/后置過濾器的規(guī)則枚舉如下1.沒有任何前置或后置過濾被應(yīng)用于交疊模式標志為FALSE的宏塊或是非內(nèi)編碼宏塊的內(nèi)部宏塊邊。
2.如果宏塊是內(nèi)編碼的,且相應(yīng)的交疊模式標志是TRUE,則宏塊中所有內(nèi)部的8×8塊內(nèi)邊都被前置/后置過濾。
3.僅當滿足以下條件時,跨騎兩個宏塊的8×8塊邊被過濾a.兩個8×8塊邊是塊內(nèi),并且b.兩個宏塊的交疊模式標志都是TRUE。
交疊模式信號表示所示的條件交疊變換的此第二實現(xiàn)中內(nèi)幀的所有宏塊都是內(nèi)宏塊。因為交疊模式是基于幀級量化參數(shù)QP來發(fā)送的,所以或為所有宏塊、或不為任何宏塊發(fā)送交疊模式標志。當為所有宏塊發(fā)送交疊模式標志時,該標志包含對應(yīng)于M×N圖像的大小為(M/16)*(N/16)的位平面(假定M、N是16的倍數(shù))。
所示的條件交疊變換實現(xiàn)使用高效的編碼機制(稱為“位平面”編碼,在以下描述)來發(fā)送每個宏塊的交疊模式標志。這依賴于一假定,即交疊模式標志的位平面表示具有高度的空間相關(guān)性-即,縱向或橫向的鄰接位等值的可能性很高。已發(fā)現(xiàn)這一假定對交疊標志為真-對于真實世界的圖像和視頻,有理由預(yù)期在交疊模式標志中也明顯有充分的空間連續(xù)性。
位平面編碼機制(以下更加詳細第描述)被用來將對內(nèi)幀編碼交疊模式信號表示。對整個幀的交疊模式標志使用貼圖集合或編碼表中的一個而在幀級聯(lián)合編碼,例外的情況是當它們被“原始”編碼為與宏塊頭部一起發(fā)送的每宏塊一比特的時候。
位平面編碼在位平面編碼中,諸如每宏塊的條件交疊標志等宏塊專屬的二元信息可被編碼在每宏塊一個二進制碼元中。在這些情形中,字段或幀中所有宏塊的狀態(tài)可被編碼為位平面并在字段或幀頭部中發(fā)送。這一規(guī)則的一個例外是在位平面編碼模式被設(shè)為原始模式的情況下,在此情形中,每個宏塊的狀態(tài)被編碼為每碼元一個比特,并在宏塊級隨其它宏塊級句法元素一起發(fā)送。
字段/幀級位平面編碼被用來編碼二維二進制數(shù)組。每個數(shù)組的大小是rowMB×colMB,其中rowMB和colMB分別是所討論的字段或幀中的宏塊行數(shù)和列數(shù)。在比特流中,每個數(shù)組都是作為一組連續(xù)的比特來編碼的。使用七種模式中的一種來編碼每個數(shù)組。這七種模式是1.原始模式-信息被編碼為每碼元一比特,并作為MB級語法的一部分來發(fā)送;2.標準2模式-兩個碼元被聯(lián)合編碼;3.差分2模式-將位平面差分編碼,然后將兩個殘余碼元聯(lián)合編碼;4.標準6模式-六個碼元被聯(lián)合編碼;5.差分6模式-將位平面差分編碼,然后將六個殘余碼元聯(lián)合編碼;6.跳行模式-對不含被設(shè)置的比特的信號行的一比特跳過;以及7.跳列模式-對不含被設(shè)置的比特的信號列的一比特跳過。
對字段或幀級的位平面的句法元素按照以下順序INVERT、IMODE和DATABITS。
反轉(zhuǎn)標志(INVERT)INVERT句法元素是1比特的值,如被設(shè)置,則它指示位平面有多于0比特的被設(shè)置的比特。取決于INVERT和該模式,解碼器應(yīng)將經(jīng)解釋的位平面反轉(zhuǎn)以重新創(chuàng)建原始位平面。注意,當使用原始模式時,這個比特的值應(yīng)被忽略。在位平面解碼時如何使用INVERT值的描述將在下文提供。
編碼模式(IMODE)IMODE句法元素是表示用來編碼位平面的編碼模式的變長值。表4示出用來編碼IMODE句法元素的編碼表。在位平面解碼時如何使用IMODE值的描述將在下文提供。
表4IMODE VLC編碼表
位平面編碼比特(DATABITS)DATABITS句法元素是編碼對應(yīng)于位平面的碼元流的變長句法元素。用來編碼位平面的方法由IMODE的值確定。七種編碼模式在以下章節(jié)中描述。
原始模式在此模式中,位平面被編碼為在宏塊的光柵掃描順序中被掃描的每碼元一比特,并被作為宏塊層的一部分發(fā)送。替換地,信息在字段或幀級被以原始模式編碼,且DATABITS的長度是rowMB×colMB比特。
標準2模式如果rowMB×colMB是奇數(shù),則第一碼元被原始編碼。后續(xù)碼元以自然的掃描順序被成對編碼。表5中的二進制VLC表被用來編碼碼元對。
表5標準2/差分2編碼表
差分2模式標準2方法被用來產(chǎn)生如上所述的位平面,然后Diff1操作被如下所述地應(yīng)用于位平面。
標準6模式在標準6和差分6模式中,位平面以六個像素的組被編碼。這些像素被分組為2×3或3×2的貼圖。使用一組規(guī)則來將位平面最大地貼圖,而其余像素使用跳行或跳列模式的變體來編碼。當且僅當rowMB是3的倍數(shù)而colMB不是時,使用2×3“縱向”貼圖。否則,使用3×2“橫向”貼圖。對于沿圖像的頂邊和左邊線性貼圖的平面而言,貼圖的編碼順序遵從以下模式。6元素貼圖首先被編碼,接著是跳列和跳行編碼的線性貼圖。如果數(shù)組大小是2×3或3×2的倍數(shù),則后面的線性貼圖不存在,而位平面被理想地貼圖。
6元素矩形貼圖是使用不完整的前綴編碼(即,并非使用所有終端節(jié)點來進行編碼的前綴編碼)來編碼的。令N為貼圖中被設(shè)置的比特數(shù),即0≤N≤6。對于N<3,使用VLC來編碼貼圖。對于N=3,在定長換碼(escape)后跟5比特定長編碼,而對于N>3,在定長換碼后跟該貼圖的補碼的編碼。
矩形貼圖包含6比特的信息。令k為與該貼圖相關(guān)聯(lián)的編碼,其中k=bi2i,bi是該貼圖內(nèi)自然掃描順序中的第i比特的二進制值。因此0≤k<64。使用VLC和換碼編碼加上定長編碼來發(fā)信號表示k。
差分6模式標準6方法被用來產(chǎn)生如上所述的位平面,然后Diff-1操作被如下所述地應(yīng)用于位平面。
跳行模式在跳行編碼模式中,用1比特的額外開銷跳過所有為0的行。句法如下對于每一行,單個ROWSKIP比特表示該行是否被跳過;如果該行被跳過,則下一行的ROWSKIP比特是下一個;否則(該行沒有被跳過),ROWBOTS比特(對應(yīng)于該行中的每個宏塊一個比特)是下一個。因此,如果整行為0,則發(fā)送為0的比特作為ROWSKIP碼元,而ROWBITS被跳過。如果在該行中有被設(shè)置的比特,則ROWSKIP被設(shè)為1,而整個行被原始發(fā)送(ROWBITS)。行是從字段或幀的頂?shù)降貋頀呙璧摹?br>
跳列模式跳列是跳行的轉(zhuǎn)置。列是從字段或幀的左到右來掃描的。
Diff-1∷反向差分解碼如果使用了任一差分模式(差分2或差分6),則首先使用對應(yīng)的標準模式(分別為標準2或標準6)來解碼“差分比特”的位平面。差分比特被用來重新生成原始位平面。重新生成的過程是在二進制字母表上的二維DPCM。為了重新生成位置(i,j)處的比特,生成預(yù)測值bp(i,j)如下(從位置(i,j)處的比特b(i,j)) 對于差分編碼模式,不執(zhí)行基于INVERT的逐比特反轉(zhuǎn)過程。但是,INVERT標志在不同的容量中被用來表示碼元A的值,用于導(dǎo)出以上所示的預(yù)測值。更具體地,如果INVERT等于0則A等于0,而如果INVERT等于1則A等于1。位平面的實際值是通過將預(yù)測值與經(jīng)解碼的差分比特值異或來獲得的。在以上等式中,b(i,j)是在最終解碼(即,在進行了標準2/標準6,接著與其預(yù)測值的差分異或以后)以后在第i,j位置處的比特。
示例性交疊過濾器在條件交疊轉(zhuǎn)換的第二實現(xiàn)中所使用的一種示例性交疊過濾模式中,當被發(fā)信號表示時,在解碼器處對未箝位的16比特重構(gòu)執(zhí)行交疊平滑。這是必需的,因為與交疊平滑相關(guān)聯(lián)的前向過程可能導(dǎo)致范圍擴展到超過像素值所允許的9比特范圍。交疊平滑的結(jié)果被箝位到9比特,以與未被交疊平滑觸及的其余的像素對齊。
縱向邊(上例中的像素a0、a1、b1、b0)首先被過濾,接著是橫向邊(像素p0、p1、q1、q0)。在第一級過濾(縱向邊平滑)之后的中間結(jié)果以16比特存儲。以下給出被應(yīng)用于跨騎任一邊的四個像素的核心過濾器y0y1y2y3=(7001-1711117-11007x0x1x2x3+r0r1r2r3)>>3]]>被過濾的原始像素是(x0,x1,x2,x3)。r0和r1是湊整參數(shù),它們?nèi)〗惶娴闹?和4以確保統(tǒng)計上無偏的湊整。原始值由具有明顯很容易實現(xiàn)的項的矩陣來過濾。在添加了湊整因子以后,這些值是位移了3個比特以給出經(jīng)過濾的輸出(y0,y1,y2,y3)的比特。
對于橫向和縱向邊過濾器兩者,假定在一塊內(nèi)的編號從1開始,則湊整值對于奇索引列和行分別是r0=4,r1=3。對于偶索引列/行,r0=3且r1=4。過濾被定義為現(xiàn)場16比特操作-因此原始像素在平滑以后被覆蓋。對于縱向邊過濾,像素(a0,a1,b1,b0)對應(yīng)于(x0,x1,x2,x3),后者進而被過濾為(y0,y1,y2,y3)。類似地,對于橫向邊過濾,對應(yīng)的分別是(p0,p1,q1,q0)。
一塊中2×2角上的像素在兩個方向被過濾。過濾的順序確定其最終值,因此為了比特正確性維持順序-先縱向邊過濾后橫向邊過濾是很重要的。概念上,要在兩個方向的過濾級以后對已被過濾的所有像素執(zhí)行箝位。但是,將箝位與過濾結(jié)合可能有某些計算上的優(yōu)點-這就是實現(xiàn)問題,只要該方案被謹慎進行以生成正確輸出,。
3.計算環(huán)境可在其中執(zhí)行圖像和視頻信號處理的各種設(shè)備中的任何設(shè)備執(zhí)行條件交疊變換的上述實現(xiàn),這些設(shè)備的示例包括計算機;圖像和視頻記錄、發(fā)送和接收設(shè)備;便攜式視頻播放器;視頻會議;Web視頻流式應(yīng)用裝置;等等。這些圖像和視頻編碼技術(shù)可在硬件電路中(例如,在ASIC、FPGA等的電路中)、以及于在諸如圖10中所示的計算機或其它計算環(huán)境(無論是在中央處理單元(CPU)還是在專用圖形處理器、視頻卡等之上)內(nèi)執(zhí)行的圖像和視頻處理軟件中實現(xiàn)。
圖10示出可在其中實現(xiàn)所述條件交疊變換的合適的計算環(huán)境(1000)的一般化示例。計算環(huán)境(1000)并不試圖對本發(fā)明的使用范圍或功能提出任何限制,因為本發(fā)明可在不同的通用或?qū)S糜嬎悱h(huán)境中實現(xiàn)。
參考圖10,計算環(huán)境(1000)包括至少一個處理單元(1010)和存儲器(1020)。在圖10中,最基本的配置(1030)被包括在虛線內(nèi)。處理單元(1010)執(zhí)行計算機可執(zhí)行指令并且可以是真實或虛擬的處理器。在多處理系統(tǒng)中,多個處理單元執(zhí)行計算機可執(zhí)行指令以提高處理能力。存儲器(1020)可以是易失性存儲器(例如,寄存器、高速緩存、RAM)、非易失性存儲器(例如,ROM、EEPROM、閃存等)、或這兩者的某種組合。存儲器(1020)存儲實現(xiàn)所述條件交疊變換的軟件(1080)。
計算環(huán)境可以有其它特征。例如,計算環(huán)境(1000)包括存儲(1040)、一個或多個輸入設(shè)備(1050)、一個或多個輸出設(shè)備(1060)、以及一個或多個通信連接(1070)。諸如總線、控制器或網(wǎng)絡(luò)等互連機制(未示出)將計算環(huán)境(1000)的這些組件相互連接。通常,操作系統(tǒng)軟件(未示出)為在計算環(huán)境(1000)中執(zhí)行的其它軟件提供操作環(huán)境,并協(xié)調(diào)計算環(huán)境(1000)的組件的活動。
存儲(1040)可以是可移動或不可移動的,并且包括磁盤、磁帶或磁帶盒、CD-ROM、CD-RW、DVD,或可被用來存儲信息并可在計算環(huán)境(1000)內(nèi)被訪問的任何其它介質(zhì)。存儲(1040)存儲對應(yīng)于實現(xiàn)生成和壓縮量化矩陣的音頻編碼器的軟件(1080)的指令。
輸入設(shè)備(1050)可以是諸如鍵盤、鼠標、筆或軌跡球等觸摸式輸入設(shè)備,語音輸入設(shè)備、掃描設(shè)備或為計算環(huán)境(1000)提供輸入的其它設(shè)備。對于音頻,輸入設(shè)備(1050)可以是聲卡或接收模擬或數(shù)字形式的音頻輸入的類似設(shè)備,或者是向計算環(huán)境提供音頻樣本的CD-ROM讀出器。輸出設(shè)備(1060)可以是顯示器、打印機、揚聲器、CD-寫入器、或提供來自計算環(huán)境(1000)的輸出的其它設(shè)備。
通信連接(1070)實現(xiàn)經(jīng)由通信介質(zhì)到另一個計算實體的通信。通信介質(zhì)在已調(diào)制數(shù)據(jù)信號中運送諸如計算機可執(zhí)行指令、經(jīng)壓縮的音頻或視頻信息或其它數(shù)據(jù)等信息。已調(diào)制數(shù)據(jù)信號是以在信號中將信息編碼的方式設(shè)置或改變其一個或多個特性的信號。作為示例,而非限制,通信介質(zhì)包括用電、光、RF、紅外、聲學(xué)或其它載波實現(xiàn)的有線或無線技術(shù)。
本文中的變換和編碼/解碼技術(shù)可在計算機可讀介質(zhì)的一般上下文中描述。計算機可讀介質(zhì)可以是在計算環(huán)境內(nèi)可被訪問的任何可用介質(zhì)。作為示例,而非限制,在計算環(huán)境(1000)里,計算機可讀介質(zhì)包括存儲器(1020)、存儲(1040)、通信介質(zhì)以及以上的任意組合。
本文中的條件交疊變換可以在諸如被包括在程序模塊中、在計算環(huán)境中在目標的真實或虛擬處理器上執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、庫、對象、類、組件、數(shù)據(jù)結(jié)構(gòu)等等。程序模塊的功能可按各實施例中的需要在程序模塊之間組合或拆分。程序模塊的計算機可執(zhí)行指令可在本地或分布式計算環(huán)境中執(zhí)行。
為說明起見,本詳細描述使用如“確定”、“生成”、“調(diào)整”和“應(yīng)用”等術(shù)語來描述計算環(huán)境中的計算機操作。這些術(shù)語是計算機所執(zhí)行的操作的高級抽象,并且不應(yīng)與由人類執(zhí)行的動作混淆。對應(yīng)于這些術(shù)語的實際計算機操作根據(jù)實現(xiàn)而變化。
考慮到可對其應(yīng)用我們的發(fā)明的原理的許多可能的實施例,我們將可能落入所附權(quán)利要求書及其等效技術(shù)方案的范圍和精神內(nèi)的所有此類實施例聲明為我們的發(fā)明的保護范圍。
權(quán)利要求
1.一種對數(shù)字媒體內(nèi)容變換編碼/解碼的方法,包括對所述數(shù)字媒體內(nèi)容進行變換編碼/解碼;以及在空間變化基礎(chǔ)上,在變換編碼/解碼以前/以后,對所述數(shù)字媒體內(nèi)容的變換塊之間的邊的子集條件地應(yīng)用交疊過濾器。
2.如權(quán)利要求1所述的方法,其特征在于,條件地應(yīng)用交疊過濾器包括于在空間變化基礎(chǔ)上被應(yīng)用于所述數(shù)字媒體內(nèi)容的鄰近變換塊之間的邊的多個交疊過濾器模式之間切換。
3.如權(quán)利要求1所述的方法,其特征在于,所述多個交疊過濾器模式包括無交疊過濾。
4.如權(quán)利要求2所述的方法,其特征在于,包括切換被應(yīng)用于在具有幀級粒度的視頻序列中的邊的鄰近變換塊之間的邊的所述交疊過濾器模式。
5.如權(quán)利要求2所述的方法,其特征在于,包括切換被應(yīng)用于具有宏塊級粒度的視頻序列中的邊的鄰近變換塊之間的邊的所述交疊過濾器模式。
6.如權(quán)利要求2所述的方法,其特征在于,包括切換被應(yīng)用于具有鄰近變換塊邊級粒度的視頻序列中的邊的鄰近變換塊的邊的所述交疊過濾器模式。
7.如權(quán)利要求2所述的方法,其特征在于,包括在每個鄰近變換塊邊的基礎(chǔ)上從編碼器向解碼器發(fā)信號表示所述數(shù)字媒體內(nèi)容的交疊過濾器模式。
8.如權(quán)利要求2所述的方法,其特征在于,包括在每宏塊的基礎(chǔ)上從編碼器向解碼器發(fā)信號表示所述數(shù)字媒體內(nèi)容的交疊過濾器模式。
9.一種對已編碼的視頻比特流解碼的方法,包括對所述已編碼的視頻比特流中的一幀的多個已編碼塊的塊數(shù)據(jù)解碼;執(zhí)行所述經(jīng)解碼的塊數(shù)據(jù)的反量化;執(zhí)行所述經(jīng)解碼的塊數(shù)據(jù)的變換塊的逆變換;從所述已編碼的視頻比特流的至少一個句法元素確定至少一個鄰接變換塊邊的組的交疊模式;根據(jù)對一個組所確定的交疊模式在多個交疊過濾器之間切換;以及對所述組應(yīng)用相應(yīng)的交疊過濾器。
10.如權(quán)利要求9所述的方法,其特征在于,所述至少一個句法元素包括每鄰接變換塊邊的交疊模式標志。
11.如權(quán)利要求9所述的方法,其特征在于,所述至少一個句法元素包括與所述已編碼的視頻比特流的比特率相關(guān)的句法元素。
12.如權(quán)利要求11所述的方法,其特征在于,所述與已編碼的視頻比特流的比特率相關(guān)的句法元素是幀級量化參數(shù)。
13.如權(quán)利要求9所述的方法,其特征在于,所述至少一個句法元素包括具有宏塊粒度的交疊模式標志集。
14.如權(quán)利要求13所述的方法,其特征在于,所述交疊模式標志集是使用位平面編碼來編碼的。
15.如權(quán)利要求9所述的方法,其特征在于,所述至少一個句法元素包括幀級交疊參數(shù)、基于幀的比特率相關(guān)的參數(shù)、以及空間變化模式參數(shù),所述方法還包括如果所述比特率相關(guān)的參數(shù)表示低比特率,則確定對相應(yīng)幀內(nèi)的所述鄰接變換塊邊應(yīng)用交疊過濾器;否則如果所述幀級交疊參數(shù)沒有指定任何交疊,則確定對相應(yīng)幀內(nèi)的所述鄰接變換塊邊應(yīng)用無交疊過濾器;否則如果所述幀級交疊參數(shù)指定條件交疊,則確定對所述組內(nèi)的鄰接變換塊邊應(yīng)用由組的空間變化模式參數(shù)指定的交疊過濾器;以及否則確定對相應(yīng)幀內(nèi)的所述鄰接變換塊邊應(yīng)用所述交疊過濾器。
16.如權(quán)利要求15所述的方法,其特征在于,所述至少一個句法元素還包括序列級交疊參數(shù),所述方法還包括如果所述序列級交疊參數(shù)沒有指定任何交疊,則確定對所述序列的所有幀內(nèi)的鄰接變換塊邊應(yīng)用所述無交疊過濾器。
17.至少一個其上具有軟件模塊的計算機可讀程序攜帶介質(zhì),所述軟件模塊可由處理單元執(zhí)行以執(zhí)行一種對使用條件交疊變換而編碼的視頻比特流進行編碼/解碼的方法,所述方法包括確定一交疊條件,所述條件具有至少一個其中不對鄰接塊邊應(yīng)用任何交疊過濾器的無交疊狀態(tài)、以及其中對鄰接塊邊應(yīng)用交疊過濾器的交疊狀態(tài),其中所述交疊條件在視頻序列中的圖像上空間變化;以及當所述交疊條件處于所述交疊狀態(tài)時,對鄰接塊邊應(yīng)用所述交疊過濾器。
18.如權(quán)利要求17所述的至少一個計算機可讀程序攜帶介質(zhì),其特征在于,所述方法還包括基于比特率相關(guān)的參數(shù)限制所述確定和應(yīng)用所述交疊過濾器。
19.如權(quán)利要求18所述的至少一個計算機可讀程序攜帶介質(zhì),其特征在于,所述比特率相關(guān)的參數(shù)是幀級量化參數(shù)。
20.如權(quán)利要求17所述的至少一個計算機可讀程序攜帶介質(zhì),其特征在于,所述交疊條件是由每宏塊的交疊標志在所述視頻比特流中發(fā)信號表示的,且所述確定和應(yīng)用還包括對其交疊條件被發(fā)信號通知為處于所述交疊狀態(tài)的宏塊的塊內(nèi)邊應(yīng)用所述交疊過濾器;對其兩者的交疊條件都被發(fā)信號通知為處于所述交疊狀態(tài)的鄰接宏塊之間的塊邊應(yīng)用所述交疊過濾器。
全文摘要
一種數(shù)字媒體內(nèi)容(例如,圖像、視頻、音頻等)編碼器/解碼器使用空間變化參數(shù)作為為空間域交疊變換而對鄰接的變換塊邊應(yīng)用交疊預(yù)處理和后處理的條件。對數(shù)字媒體的子塊的這一交疊變換的條件應(yīng)用可在邊、塊、宏塊或其它粒度上被發(fā)信號表示。此外,基于幀級量化或其它比特率相關(guān)的參數(shù)對條件交疊變換的使用的限制將使低比特率編碼時的信號表示的額外開銷最小化。
文檔編號H03M7/46GK1998152SQ200480025568
公開日2007年7月11日 申請日期2004年9月2日 優(yōu)先權(quán)日2003年9月7日
發(fā)明者P·蘇, S·斯里尼瓦杉 申請人:微軟公司