關鍵詞: AVS , 視頻
視頻編碼技術在過去幾年最重要的發展之一是由ITU和ISO/IEC的聯合視頻小組 (JVT)開發了H.264/MPEG-4 AVC標準。在發展過程中,業界為這種新標準取了許多不同的名稱。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,由兩個相關部分組成針對移動視頻應用的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是我國自主知識產權的標準,現在還沒有大規模使用,處在起步階段。大多數企業處于觀望狀態,沒有資金大量投入,面臨重重困難,但是它的廣闊前景是不容忽視的,又有國家的大力支持,一定會發展的更加完美。
評論
查看更多