(筆記) AVS 和 H.264 核心技術對比總結

HIT-Lori發表於2014-06-24

最近在研究AVS,看了一些AVS的文章。這裡總結一下AVS和H.264的核心技術。內容參考了論文《AVS編碼效能研究》、《Block Merging for Quadtree Based partitioning》、《Block partitioning Structure in the HEVC standard》等等。

核心技術對比:

AVS和H.264都採用基於塊的運動補償混合編碼框架,包括變換、量化、上那邊嗎、幀內預測、幀間預測、環路濾波等當前主流技術模組。

1、幀內預測

AVS和h.264都採用在空間域內進行幀內預測,即在空間域內利用當前塊的臨近畫素對塊內的係數進行預測。AVS的幀內預測以8X8亮度塊和色度塊為單位,定義了五種8x8 亮度塊預測模式和四種8x8色度塊預測模式;h.264的幀內預測定義了9種4x4的亮度塊預測模式,4種16x16的亮度塊預測模式和4種8x8色度塊預測模式。

2、幀間預測

AVS 採用的幀間預測塊有4種:16x16,16x8,8x16,8x8; H.264採用的幀間預測塊有7種:16x16,16x8,8x16,8x8,8x4,4x8,4x4.兩大標準都採用1/2和1/4(色度1/8)畫素精度的運動向量,在差值方法上AVS採用4抽頭均值濾波器,H.264採用6抽頭均值濾波器。

在幀間預測中AVS最多使用2個預測幀(I幀或P幀),其中對P幀使用其前面一解碼的連續兩幀作為參考,對B幀使用其前後各一幀作為參考;而H.264在幀間預測中最多可以使用31幀作為參考幀,這能夠節約一定的位元速率,也便於碼流的錯誤恢復,但是對編碼器提出了更高的要求。AVS對於B幀的預測編碼模式有3種:直接模式,不需要傳送運動向量;對稱模式,只需要傳送費前向運動向量,後向運動向量可由前向運動向量退出;跳躍模式,不需要傳送運動向量。h.264對於B幀的預測模式有4中:直接模式,不需要傳送運動向量;利用list0的運動補償模式,需要傳送list0的運動向量;利用list1的運動補償模式,需要傳送list1的運動向量;雙向運動補償模式,需要傳送list0和list1的2個運動向量。

3、變化你和量化

AVS採用8x8的整數變換(ICT),h.264採用4x4的整數變換(在最近的high profile中也加入了8x8的整數變換),並對變換後的直流係數做Hadamard變換。在量化的方法上,兩者都採用變換結合的方法,並將變換部分的縮放移到量化部分進行,不同的是H.264在編碼器中只進行正常縮放,反向縮放在解碼器中進行,而AVS則將正向和反向縮放都放在編碼器進行,解碼器只需要進行反向量化。在H.264中量化引數(QP)每增加6,量化步長翻倍,而AVS中QP每增加8,量化步長才翻倍。

4、熵編碼

AVS 的熵編碼準則為對所有可變分佈的語法元素均採用指數哥倫布碼,採用自適應二維變長編碼的方法,而對均勻分佈的語法元素採用定長編碼。H.264 的熵編碼準則為對變換系數,基本檔次和擴充套件檔次採用基於上下文的自適應變長編碼,主檔次採用基於上下文的算術編碼,對其他語法元素均採用指數哥倫布編碼。

5 去塊環路濾波
AVS 和H.264 都使用了環路濾波器,不同的是AVS 只採用8×8 塊的邊界兩邊各3 個象素值進行去塊濾波,而H.264 以每個4×4 塊的邊界兩邊各4 個象素值進行去塊濾波,複雜度較高。

6 小結

相關文章