AVS2技術概述

原文鏈接:http://media.pkusz.edu.cn/achievements/?p=40


AVS2採用了傳統的混合編碼框架,整個編碼過程包括幀內預測、幀間預測、變換量化、環路濾波和熵編碼等模塊。具有如下技術特徵:

 

1  AVS2編碼框架

 

1.編碼結構劃分

爲了滿足高清和超高清分辨率視頻對壓縮效率的要求,AVS2採用了更加靈活的基於四叉樹的塊劃分結構,最大編碼單元(Coding Unit, CU)64×64,最小編碼單元爲8×8。同時, AVS2還採用了靈活的預測單元(PredictionUnitPU)和變換單元(Transform UnitTU)。待編碼圖像先被分割成固定大小的最大編碼單元(Largest Coding UnitLCU),然後按四叉樹的方式迭代劃分爲一系列的CU。每個CU包含一個亮度編碼塊和兩個對應的色度編碼塊(下文中塊單元的大小指亮度編碼塊)。

 

           原始圖像、LCUCU之間的關係以及四叉樹的劃分結構。

預測單元PU是進行幀內預測和幀間預測的基本單元,它的尺寸不能超過當前所屬CUAVS2在上一代標準中的正方形幀內預測塊的基礎上,增加了非正方形的幀內預測塊劃分,同時,幀間預測也在對稱預測塊劃分的基礎上,增加了4種非對稱的劃分方式。

圖3 幀內和幀間預測單元劃分方式

除了CUPUAVS2還定義了用於預測殘差變換和量化的變換單元TUTU是變換和量化的基本單元,與PU一樣,定義在CU之中。對於幀內模式,TUPU綁定,大小相同。對於幀間模式,TU可以選擇大塊劃分或小塊劃分。大塊劃分即將整個CU作爲一個TU;小塊劃分時,CU塊將被劃分成4個小塊TU,其尺寸的選擇與對應的PU相關聯,如果當前CU被劃分爲非方形PU,那麼對應的TU將使用非方形的劃分;否則,使用相應的方形劃分類型。

2.幀內預測編碼

幀內預測可以消除待編碼圖像在空域上的冗餘。AVS2支持33種幀內預測模式 ,包括DC預測模式、Plane預測模式、Bilinear預測模式和30種角度預測模式。相比於AVS1和H.264/AVC,AVS2提供了更豐富、更細緻的幀內預測模式。同時,爲了提高精度,AVS2採用了1/32精度的分像素插值技術,分像素的像素點由4觸頭的線性濾波器插值得到。在色度塊上有5種模式:DC模式、水平預測模式、垂直預測模式、Bilinear預測模式以及新增的亮度導出(Derived mode, DM)模式。

圖4 亮度塊幀內預測模式

 

3.幀間預測編碼

與幀內預測不同,幀間預測用於消除時域上的冗餘。和上一代AVS1和H.264/AVC編碼標準相比,AVS2的幀間預測技術在預測模式上進行了加強和創新。

傳統的幀間預測技術只有P幀和B幀,P幀是前向參考幀,預測單元只能向前參考一幀圖像中的預測塊,B幀是雙向參考幀,預測單元可以向前和/或向後各參考一幀圖像中的預測塊。AVS2在此基礎上,增加前向多假設預測F幀;針對視頻監控、情景劇等特定的應用,設計了場景幀(G幀和GB幀)和參考場景幀S幀。

對於B幀,除了傳統的前向、後向、雙向和skip/direct模式,AVS2擁有獨特的對稱模式。在對稱模式中,僅需對前向運動矢量進行編碼,後向運動矢量通過前向運動矢量推導得到。

對於F幀,預測單元可以參考前向兩個參考塊,相當於P幀的多幀參考。AVS2將雙假設預測分爲兩類,分別是時域雙假設和空域雙假設。時域雙假設的當前預測塊利用預測塊加權平均作爲當前塊的預測值,但運動矢量差MVD和參考圖像索引都只有一個,另外一個MVD和參考圖像索引根據時域上的距離按線性縮放推導出來。而空域雙假設預測也叫方向性多假設預測(Directional multi-hypothesis prediction,DMH),通過融合初始預測點周圍的兩個預測點得到,而且初始預測點位於這兩個預測點的連線上。

圖5 時域的雙假設預測

圖6 空域的雙假設預測(DMH)

4.運動矢量預測

運動矢量預測技術利用了相鄰塊的相關性,根據已編碼相鄰塊的運動信息對當前待編碼塊的運動矢量進行預測,只對運動估計得到的運動矢量MV和預測運動矢量MVP的差值進行編碼,從而降低用於編碼運動矢量的比特數,節省碼率。

在AVS2中,針對不同的幀間預測模式,採用了4種運動矢量預測方法:均值預測、空域預測、時域預測、空域和時域混合預測。爲了進一步節省碼率,當MVP和運動估計得到的MV大於某一閾值時,使用1/2精度的MV和MVD,否則仍然使用1/4精度。

預測方法

具體方法說明

均值預測

使用已編碼相鄰塊的運動矢量的均值作爲預測值

空域預測

使用已編碼相鄰塊的運動矢量作爲預測值

時域預測

使用時域上位置相同的塊的運動矢量縮放值作爲與預測值

空域和時域混合預測

使用時域上位置相同的塊的運動矢量加上已編碼相鄰塊的運動矢量差得到的運動矢量作爲預測值

 

5. 變換

變換的目的在於去除空間上的相關性,將空間信號的能量集中到頻域的小部分低頻係數上,然後對這些變換系數進行後續編碼處理。AVS2中的變換編碼主要使用整數DCT變換。對於4×4、8×8、16×16、32x32大小的變換塊直接進行整數DCT變換。而對於64×64大小的變換塊則採用一種邏輯變換,先進行小波變換,再進行整數DCT變換。在DCT變換完成後,AVS2對低頻係數的4×4塊再進行二次4×4變換,從而進一步降低係數之間的相關性,是能量更集中。

圖7 4×4二次變換

6.熵編碼

AVS2的熵編碼首先將變換系數分爲4×4大小的係數組(Coefficient Group,CG),然後根據係數組進行zig-zag掃描和基於上下文的二元算術編碼。係數編碼先編碼含有最後一個非零係數的CG位置,接着編碼每一個CG,直到CG係數都編碼完爲止,這樣可以使得0係數在編碼過程中更集中。

7.環路濾波

爲了消除塊效應、振鈴效應、色度偏移和圖像模糊等影響主觀視覺的不良效果,AVS2的環路濾波包含三個部分:去塊濾波、自適應樣點偏移和樣本補償濾波。去塊濾波的目的在於消除由於變換量化引起的塊效應,基本的濾波單元爲8×8的塊,首先對垂直邊界進行濾波,然後是水平邊界。對每條邊界根據濾波強度不同選擇不同的濾波方式。

在去塊濾波之後,採用自適應樣本偏移補償進一步減小失真。有兩種補償模式:邊界補償和邊帶補償。邊界補償又分爲垂直、水平、斜上和斜下四個濾波方向。邊帶補償根據像素點重建值的振幅對每條邊帶加上不同的偏移值。

在去塊濾波和樣本偏移補償之後,AVS2又添加了自適應濾波器,一種7×7十字加3×3方形中心對稱的維納濾波。利用原始無失真圖像和編碼重構圖像計算最小二乘濾波器係數,並對重構圖像進行濾波,降低重建圖像中的壓縮失真,提升參考圖像質量。

8.場景編碼

對監控視頻、情景劇等特殊場景來說,視頻圖像的冗餘很大一部分來自於背景。因此,AVS2設計了一種基於背景模型的監控工具來提高這些特定場景的壓縮效率。未打開監控工具時,I幀只給下個隨機訪問點之前的圖像做參考。打開監控工具後,AVS2會用視頻中的某一幀做場景圖像G幀,G幀對於後面的圖像可以作爲長期參考。此外,爲了防止編碼背景幀導致碼率陡增,在傳輸上產生較大的延遲,AVS2採用了一種基於塊更新的背景參考幀技術,在每一幀編碼圖像中選擇不超過一定比例的LCU作爲背景刷新塊,在編完一幀之後對背景幀參考圖像進行刷新。

 

圖8 基於背景模型的場景幀

總結

AVS2在傳統的編碼技術上進行了很多的改進和創新,例如幀間預測部分新增了F幀、背景幀等,因此才能將視頻的壓縮效率大幅提高。尤其是場景編碼,基於背景模型的編碼方法大大提高監控視頻等場景的壓縮效率,比國際同期標準超過了一倍。以上就是AVS2標準的技術概述,接下來的《標準解說》專欄將對AVS2中的技術按模塊進行詳細地介紹。

 

(本文爲原創作品,轉載請註明來源)

 

歡迎關注公衆號,及時接收更多技術乾貨



 


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