H.264和AVS核心技術(shù)分析
H.264和以前的標準一樣,還是采用的混合編碼的框架,AVS視頻標準采用了與H.264類似的技術(shù)框架,包括變換、量化、熵編碼、幀內(nèi)預測、幀間預測、環(huán)路濾波等模塊。他們核心技術(shù)的不同包括以下幾點:
一、變換和量化
H.264對殘差數(shù)據(jù)采用基于塊的變換編碼,去除原始圖像的空間冗余,使圖像能力集中在小部分系數(shù)上,直流系數(shù)值一般來說是最大的,這樣可以提高壓縮比、增強抗干擾能力。先前標準一般采用DCT變換,這種變換的缺點是會出現(xiàn)失配現(xiàn)象,原始數(shù)據(jù)經(jīng)過變換和反變換恢復后會有一個差值,由于是實數(shù)運算計算量也比較大。H.264采用的是基于4×4塊的整數(shù)變換。
AVS采用8×8的整數(shù)變換,可以在16位處理器上無失配地實現(xiàn)。對高分辨率的視頻圖像去相關(guān)性要比4×4變換有效,采用了64級量化,可以適應不同的應用和業(yè)務對碼流和質(zhì)量的要求。
二、幀內(nèi)預測
H.264和AVS技術(shù)都采用幀內(nèi)預測的方式,用相鄰的像素預測當前塊,采用代表空間域紋理的多種預測模式。H.264的亮度預測有4×4塊和16×16塊2種預測方式,對于4×4的塊:從-135度到+22.5度方向加上一個直流預測一共是9種預測方向;對于16×16塊:有4種預測方向。色度預測是8×8塊,有4種預測模式,類似于幀內(nèi)16×16預測的4種模式,其中DC為模式0、水平為模式1、垂直為模式2、平面為模式3。
三、幀間預測
H.264幀間預測是利用以編碼視頻幀和基于塊的運動補償?shù)念A測模式,與以往標準幀間預測的區(qū)別在于塊尺寸范圍更廣、亞像素運動矢量的使用和多參考幀的運用。
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制定了基于信息量的熵編碼效率,一種是對所有的待編碼的符號采用統(tǒng)一的可變長編碼(UVLC),另一種是采用基于內(nèi)容的自適應二進制算術(shù)編碼(CABAC, Context-Adaptive Binary Arithmetic Coding),大大減少了塊編碼相關(guān)性冗余,提高了編碼效率。UVLC計算復雜度較低,主要針對對編碼時間很嚴格的應用,缺點就是效率低,碼率較高。CABAC是一種效率很高的熵編碼方法,其編碼效率比UVLC編碼高50%。
AVS熵編碼采用自適應變長編碼技術(shù)。在AVS熵編碼過程中,所有的語法元素和殘差數(shù)據(jù)都是以指數(shù)哥倫布碼的形式映射成二進制比特流。
采用指數(shù)哥倫布碼的優(yōu)勢在于:一方面,它的硬件復雜度比較低,可以根據(jù)閉合公式解析碼子,無需查表;另一方面,它可以根據(jù)編碼元素的概率分布靈活地確定以K階指數(shù)哥倫布碼編碼,如果K選得恰當,則編碼效率可以逼近信息熵。
對預測殘差的塊變換系數(shù),經(jīng)掃描形成(level、run)對串,level、run不是獨立事件,而存在著很強的相關(guān)性,在AVS中l(wèi)evel、run采用二維聯(lián)合編碼,并根據(jù)當前l(fā)evel、run的不同概率分布趨勢,自適應改變指數(shù)哥倫布碼的階數(shù)。
另外,在AVS中沒有SI、SP幀??梢赃@樣說,AVS是在H.264的基礎上發(fā)展起來的,吸收了H.264的精華,但為了繞過專利的困擾,又不得不放棄H.264的一些核心算法。換來的代價就是,編碼效率稍微降低一點的情況下,復雜度極大得降低了。
矢量控制相關(guān)文章:矢量控制原理
評論