淺談H.264與AVS技術

視頻編碼技術在過去幾年最重要的發展之一是由ITU和ISO/IEC的聯合視頻小組 (JVT)開發了H.264/MPEG-4 AVC[8]標準。在發展過程中,業界爲這種新標準取了許多不同的名稱。ITU在1997年開始利用重要的新編碼工具處理H.26L(長期),結果令人鼓舞,於是ISO決定聯手ITU組建JVT並採用一個通用的標準。因此,大家有時會聽到有人將這項標準稱爲JVT,儘管它並非正式名稱。ITU在2003年5月批准了新的H.264標準。ISO在2003年10 月以MPEG-4 Part 10、高級視頻編碼或AVC的名稱批准了該標準。

 

H.264 實現的改進創造了新的市場機遇

H.264/AVC在壓縮效率方面取得了巨大突破,一般情況下達到MPEG-2及MPEG-4簡化類壓縮效率的大約2倍。在JVT進行的正式測試中,H.264在85個測試案例中有78%的案例實現1.5倍以上的編碼效率提高,77%的案例中達到2倍以上,部分案例甚至高達4倍。H.264 實現的改進創造了新的市場機遇,如:600Kbps的VHS品質視頻可以通過ADSL線路實現視頻點播;高清晰電影無需新的激光頭即可適應普通 DVD。

H.264標準化時支持三個類別:基本類、主類及擴展類。後來一項稱爲高保真範圍擴展 (FRExt)的修訂引入了稱爲高級類的4個附加類。在初期主要是基本類和主類引起了大家的興趣。基本類降低了計算及系統內存需求,而且針對低時延進行了優化。由於B幀的內在時延以及CABAC的計算複雜性,因此它不包括這兩者。基本類非常適合可視電話應用以及其他需要低成本實時編碼的應用。

主類提供的壓縮效率最高,但其要求的處理能力也比基本類高許多,因此使其難以用於低成本實時編碼和低時延應用。廣播與內容存儲應用對主類最感興趣,它們是爲了儘可能以最低的比特率獲得最高的視頻質量。

儘管H.264採用與舊標準相同的主要編碼功能,不過它還具有許多與舊標準不同的新功能,它們一起實現了編碼效率的提高。其主要差別,概述如下:

幀內預測與編碼:H.264採用空域幀內預測技術來預測相鄰塊鄰近像素的Intra-MB中的像素。它對預測殘差信號和預測模式進行編碼,而不是編碼塊中的實際像素。這樣可以顯著提高幀內編碼效率。

幀間預測與編碼:H.264中的幀間編碼採用了舊標準的主要功能,同時也增加了靈活性及可操作性,包括適用於多種功能的幾種塊大小選項,如:運動補償、四分之一像素運動補償、多參考幀、通用 (generalized)雙向預測和自適應環路去塊。

可變矢量塊大小:允許採用不同塊大小執行運動補償。可以爲小至4(4的塊傳輸單個運動矢量,因此在雙向預測情況下可以爲單個MB傳輸多達32個運動矢量。另外還支持16(8、8(16、8(8、8(4和4(8的塊大小。降低塊大小可以提高運動細節的處理能力,因而提高主觀質量感受,包括消除較大的塊化失真。

四分之一像素運動估計:通過允許半像素和四分之一像素運動矢量分辨率可以改善運動補償。

多參考幀預測:16個不同的參考幀可以用於幀間編碼,從而可以改善視頻質量的主觀感受並提高編碼效率。提供多個參考幀還有助於提高H.264位流的容錯能力。值得注意的是,這種特性會增加編碼器與解碼器的內存需求,因爲必須在內存中保存多個參考幀。

自適應環路去塊濾波器:H.264採用一種自適應解塊濾波器,它會在預測迴路內對水平和垂直區塊邊緣進行處理,用於消除塊預測誤差造成的失真。這種濾波通常是基於4(4塊邊界爲運算基礎,其中邊界各邊的3個像素可通過4級濾波器進行更新。

整數變換:採用DCT的早期標準必須爲逆變換的固點實施來定義舍入誤差的容差範圍。編碼器與解碼器之間的 IDCT 精度失配造成的漂移是質量損失的根源。H.264利用整數4(4空域變換解決了這一問題——這種變換是DCT的近似值。4(4的小區塊還有助於減少阻塞與振鈴失真。

量化與變換系數掃描:變換系數通過標量量化方式得到量化,不產生加大的死區。與之前的標準類似,每個MB都可選擇不同的量化步長,不過步長以大約12.5%的複合速率增加,而不是固定遞增。同時,更精細的量化步長還可以用於色度成分,尤其是在粗劣量化光度係數的情況下。

熵編碼:與根據所涉及的數據類型提供多個靜態VLC表的先前標準不同,H.264針對變換系數採用上下文自適應VLC,同時針對所有其他符號採用統一的VLC (UniversalVLC)方法。主類還支持新的上下文自適應二進制算術編碼器 (CABAC)。CAVLC優於以前的VLC實施,不過成本卻比VLC高。

CABAC利用編碼器和譯碼器的機率模型來處理所有語法元素 (syntax elements),包括:變換系數和運動矢量。爲了提高算術編碼的編碼效率,基本概率模型通過一種稱爲上下文建模的方法對視頻幀內不斷變換的統計進行適應。上下文建模分析提供編碼符號的條件概率估計值。只要利用適當的上下文模型,就能根據待編碼符號周圍的已編碼符號,在不同的概率模型間進行切換,進而充份利用符號間的冗餘性。每個語法元素都可以保持不同的模型(例如,運動矢量和變換系數具有不同的模型)。相較於VLC熵編碼方法 (UVLC/CAVLC),CABAC 能多節省10%bit速率。

加權預測:它利用前向和後向預測的加權總和建立對雙向內插宏模塊的預測,這樣可以提高場景變化時的編碼效率,尤其是在衰落情況下。

保真度範圍擴展:2004年7月,H.264標準增加了稱爲保真度範圍擴展 (FRExt)[11]的新修訂。這次擴展在H.264中添加了一整套工具,而且允許採用附加的色域、視頻格式和位深度。另外還增加了對無損幀間編碼與立體顯示視頻的支持。FRExt修訂版在H.264中引入了4種新類,即:

•High Profile (HP):用於標準 4:2:0色度採樣,每分量8位彩色。此類引入了新的工具—— 隨後詳述。

•High 10 Profile (Hi10P):用於更高清晰度視頻顯示的標準 4:2:0 色度採樣,10位彩色。

•High 4:2:2 10 bit color profile (H422P):用於源編輯功能。

•High 4:4:4 12 bit color profile (H444P):最高品質的源編輯與色彩保真度,支持視頻區域的無損編碼以及與新的整數色域變換(從RGB到YUV及黑色)。


在新的應用領域中,H.264 HP對廣播與DVD尤爲有利。某些試驗顯示出H.264 HP的性能比MPEG2 提高了3倍。下面介紹H.264 HP中引入的主要附加工具。

自適應殘差塊大小與整數8(8變換:用於變換編碼的殘差塊可以在8(8與4(4之間切換。引入了用於8(8塊的新16位整數變換。較小的塊仍然可以採用以前的4(4變換。

8(8亮度幀內預測:增加了8種模式,除之前的16(16和4(4塊以外,使亮度內部宏模塊還能夠對8(8塊進行幀內預測。

量化加權:用於量化8(8變換系數的新量化加權矩陣。

單色:支持黑/白視頻編碼。

 

AVS

2002 年,中國信息產業部成立的音視頻技術標準 (AVS)工作組宣佈準備針對移動多媒體、廣播、DVD等應用編寫一份國家標準。該視頻標準稱爲AVS [14],由兩個相關部分組成針對移動視頻應用的AVS-M和針對廣播與DVD的AVS1.0。AVS標準與H.264相似。

AVS1.0同時支持隔行和逐行掃描模式。AVS中P幀可以利用2幀的前向參考幀,同時允許B幀採用前後各一個幀。在隔行模式下,4個場可以用作參考。可以僅在幀級執行隔行模式中的幀/場編碼,這一點與H.264不同,其中允許此選項的MB級自適應。AVS具有與H.264相似的環路濾波器,可以在幀級關閉。另外,B幀還無需環路濾波器。幀內預測是以8(8塊爲單位進行。MC允許對亮度塊進行1/4象素補償。ME的塊大小可以是16(16、16(8、8(16或8(8。變換方式是基於16位的8(8整數變換(與WMV9相似)。VLC是基於上下文自適應2D運行/級別編碼。採用4個不同的Exp-Golomb編碼。用於每個已量化係數的編碼自適應到相同8(8塊中前面的符號。由於Exp-Golomb表是參數化的表,因此表較小。用於逐行視頻序列的AVS 1.0的視頻質量在相同比特率時稍遜於H.264主類。

AVS-M主要針對移動視頻應用,與H.264基本規範存在交叉。它僅支持逐行視頻、I與P幀,不支持B幀。主要AVS-M編碼工具包括基於4(4塊的幀內預測、1/4象素運動補償、整數變換與量化、上下文自適應VLC以及高度簡化的環路濾波器。與H.264基本規範相似AVS-M中的運動矢量塊大小降至4(4,因此MB可擁有多達16個運動矢量。採用多幀預測,但僅支持2個參考幀。此外,AVS-M中還定義了H.264 HRD/SEI消息的子集。AVS-M的編碼頻率約爲0.3dB,在相同設置下稍遜於H.264基本規範,而解碼器的複雜性卻降低了大約20%。

 

H.264和AVS的背景

H.264/MPEG-4AVC是ITU-T的VCG(Video Coding Experts Group)和ISO/IEC的MPEG(Moving Picture Experts Group)聯合開發的新一代視頻編碼標準。應用範圍包括可視電話、視頻會議等。H.264的主要特色就是極大得提高了壓縮率,是MPEG-2及MPEG-4壓縮效率的一倍以上。H.264核心技術與之前標準相同,仍採用基於預測變換的混合編碼框架,但是在細節的實現上有很大不同,就是細節上的改進導致壓縮效率極大得提高。而且新一代視頻編碼標準H.264具有良好的網絡適應性和容錯等特點。

AVS的誕生可以說是一個歷史的機遇,面對H.264以及MPEG-2等標準高額的專利費,我國數字視頻產業面臨嚴重挑戰。加上我國致力於提高國內數字音視頻產業的核心競爭力,由國家信息產業部科學技術司於2006年6月批准成立了“數字音視頻編解碼技術標準工作組”,聯合國內從事數字音視頻編解碼技術研發的科研機構和企業,針對我國音視頻產業的需求,提出了我國自主知識產權的信源編碼標準―――《信息技術 先進音視頻編碼》系列標準,簡稱AVS(audio video coding standard).自主的AVS標準在技術和性能上處於國際先進水平,如果抓住這次機遇,我國在技術-專利-標準-芯片-系統-產業這個產業鏈上,就有可能具有全面的主動權。

 

H.264和AVS核心技術分析及對比

H.264和以前的標準一樣,還是採用的混合編碼的框架,AVS視頻標準採用了與H.264類似的技術框架,包括變換、量化、熵編碼、幀內預測、幀間預測、環路濾波等模塊。他們核心技術的不同包括以下幾點:

一、變換和量化

H.264對殘差數據採用基於塊的變換編碼,去除原始圖像的空間冗餘,使圖像能力集中在小部分系數上,直流係數值一般來說是最大的,這樣可以提高壓縮比、增強抗干擾能力。先前標準一般採用DCT變換,這種變換的缺點是會出現失配現象,原始數據經過變換和反變換恢復後會有一個差值,由於是實數運算計算量也比較大。H.264採用的是基於4×4塊的整數變換。

AVS採用8×8的整數變換,可以在16位處理器上無失配地實現。對高分辨率的視頻圖像去相關性要比4×4變換有效,採用了64級量化,可以適應不同的應用和業務對碼流和質量的要求。

 

二、幀內預測

H.264和AVS技術都採用幀內預測的方式,用相鄰的像素預測當前塊,採用代表空間域紋理的多種預測模式。H.264的亮度預測有4×4塊和16×16塊2種預測方式,對於4×4的塊:從-135度到+22.5度方向加上一個直流預測一共是9種預測方向;對於16×16塊:有4種預測方向。色度預測是8×8塊,有4種預測模式,類似於幀內16×16預測的4種模式,其中DC爲模式0、水平爲模式1、垂直爲模式2、平面爲模式3。

 

三、幀間預測

H.264幀間預測是利用以編碼視頻幀和基於塊的運動補償的預測模式,與以往標準幀間預測的區別在於塊尺寸範圍更廣、亞像素運動矢量的使用和多參考幀的運用。

H.264有16×16、16×8、8×16、8×8、8×4、4×8和4×4一共8種宏塊及子宏塊劃分,而AVS只有16×16、16×8、8×16和8×8一共4種宏塊劃分方式。

H.264支持使用多個不同的參考幀對幀間宏塊和片進行預測,AVS中P幀可以利用至多2幀的前向參考幀,B幀採用前後各一個參考幀。

 

四、熵編碼

H.264制定了基於信息量的熵編碼效率,一種是對所有的待編碼的符號採用統一的可變長編碼(UVLC),另一種是採用基於內容的自適應二進制算術編碼(CABAC, Context-Adaptive Binary Arithmetic Coding),大大減少了塊編碼相關性冗餘,提高了編碼效率。UVLC計算複雜度較低,主要針對對編碼時間很嚴格的應用,缺點就是效率低,碼率較高。CABAC是一種效率很高的熵編碼方法,其編碼效率比UVLC編碼高50%。

AVS熵編碼採用自適應變長編碼技術。在AVS熵編碼過程中,所有的語法元素和殘差數據都是以指數哥倫布碼的形式映射成二進制比特流。

採用指數哥倫布碼的優勢在於:一方面,它的硬件複雜度比較低,可以根據閉合公式解析碼子,無需查表;另一方面,它可以根據編碼元素的概率分佈靈活地確定以K階指數哥倫布碼編碼,如果K選得恰當,則編碼效率可以逼近信息熵。

對預測殘差的塊變換系數,經掃描形成(level、run)對串,level、run不是獨立事件,而存在着很強的相關性,在AVS中level、run採用二維聯合編碼,並根據當前level、run的不同概率分佈趨勢,自適應改變指數哥倫布碼的階數。

另外,在AVS中沒有SI、SP幀。可以這樣說,AVS是在H.264的基礎上發展起來的,吸收了H.264的精華,但爲了繞過專利的困擾,又不得不放棄H.264的一些核心算法。換來的代價就是,編碼效率稍微降低一點的情況下,複雜度極大得降低了。

AVS是我國自主知識產權的標準,現在還沒有大規模使用,處在起步階段。大多數企業處於觀望狀態,沒有資金大量投入,面臨重重困難,但是它的廣闊前景是不容忽視的,又有國家的大力支持,一定會發展的更加完美。

分享一些採用H.264與AVS技術的代碼:

http://download.csdn.net/detail/aoliaoaoao/4981727
http://download.csdn.net/detail/aoliaoaoao/4983918
http://download.csdn.net/detail/aoliaoaoao/4983892
http://download.csdn.net/detail/aoliaoaoao/4983874

轉載請註明出處:http://www.bairuitech.com/html/xingyezixun/20080913/107.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章