1. 程式人生 > >HEVC演算法和體系結構:編碼框架

HEVC演算法和體系結構:編碼框架

                                        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-e2445db1a8.css">
                    <div class="htmledit_views">

編碼框架

2013年4月13日HEVC/H.265被ITU-T正式接受為國際標準。類似以往的國際標準,HEVC仍舊採用“預測+變換”的混合編碼框架,如下圖所示,包括變換、量化、熵編碼、幀內預測、幀間預測以及環路濾波等模組。在HEVC中,幾乎每個模組都引入了新的編碼技術。


本博文主要介紹HEVC編碼框架,從整體結構出發介紹HEVC各個模組的大致功能以及相應的特色編碼技術。

HEVC的編碼框架主要包括變換、量化、熵編碼、幀內預測、幀間預測以及環路濾波等模組。下面依次對各個模組做簡單介紹。

1、幀內預測

幀內預測的主要功能是去除影象的空間相關性,通過編碼後的重構資訊塊來預測當前畫素塊以去除空間冗餘資訊,提高影象的壓縮效率。

在H.264/AVC中,基於4x4大小的編碼塊採用9種預測模式,而基於16x16大小的編碼塊採用4種預測模式。

在HEVC中,為了更準確地反映紋理特性,降低預測誤差,提出了更為精確的幀內預測技術。對於亮度訊號,HEVC提供了35種幀內預測模式,包括33種角度預測以及DC預測模式和Planar預測模式。增加的預測模式可以更好地匹配視訊中複雜的紋理,得到更好的預測效果,更加有效地去除空間冗餘。

2、幀間預測

幀間預測的主要功能是去除時間相關性,通過將已編碼的影象作為當前幀的參考影象,來獲取各個塊的運動資訊,從而去除時間冗餘,提高壓縮效率。

為了提升幀間預測效能,HEVC引入了一些新的技術,包括運動資訊融合技術(Merge)、先進的運動向量預測技術(Advanced Motion Vector Predictor,AMVP)和基於Merge的Skip模式。

運動資訊融合技術(Merge):利用空域相關性和時域相關性來減少相鄰塊之間的運動引數冗餘,具體來說就是取其相鄰PU的運動引數作為當前PU的運動引數。

先進的運動向量預測技術(Advanced Motion Vector Predictor,AMVP):AMVP技術的作用與Merge技術類似,也是利用空域相關性和時域相關性來減少運動引數的冗餘。AMVP技術得到的運動向量一方面為運動估計提供搜尋起點,另一方面作為預測運動向量使用。

基於Merge的Skip模式:後續重點介紹。。。

在HEVC中,幀間預測可以採用單向和雙向的參考影象來進行預測,包括類似H.264/AVC中的分層B幀的預測結構。

3、變換量化

通過對殘差資料進行變換量化以去除頻域相關性,對資料進行有失真壓縮。變換編碼將影象從時域訊號變換至頻域,將能量集中至低頻區域。量化模組可以減小影象編碼的動態範圍。

RQT(Residual Quad-tree Transform)技術是一種基於四叉樹結構的自適應變換技術,它為最優TU模式選擇提供了很高的靈活性。大塊的TU模式能夠將能量更好地集中,小塊的TU模式能夠儲存更多的影象細節。根據當前CU內殘差特性,自適應選擇變換塊大小,可以在能量集中和細節保留兩者做最優的折中,與傳統的固定塊大小的變換相比,RQT對編碼效率貢獻更大。

變換編碼和量化模組從原理上屬於兩個相互獨立的過程,但是在HEVC中,兩個過程相互結合,減少了計算的複雜度。

4、環路濾波

在HEVC中,環路濾波模組主要包括去塊濾波器(DBF)和樣點自適應補償濾波(SAO)。DBF的主要作用是去方塊效應,而SAO的主要作用是去除振鈴效應。這部分的具體分析在《HEVC演算法和體系結構:環路濾波技術》中已有詳細介紹。

5、熵編碼

熵編碼模組將編碼控制資料、量化變換系數、幀內預測資料、運動資料、濾波器控制資料編碼為二進位制進行儲存和傳輸。熵編碼模組的輸出資料即是原始視訊壓縮後的碼流。
在HEVC中,採用了基於上下文的自適應二進位制算術編碼(CABAC)進行熵編碼,引入了並行處理架構,在速度、壓縮率和記憶體佔用等方面均得到了大幅度改善。


接下來介紹HEVC的兩個容易被忽略的新技術:ACS和IBDI。

6、ACS技術

ACS(Adaptive Coefficient Scanning)包括三類:對角掃描、水平掃描和垂直掃描。ACS技術是基於4x4塊單元進行的,將一個TU劃分為多個4x4塊單元,每個4x4塊單元內部以及各個4x4塊單元之間都按照相同的掃描順序進行掃描。

對於幀內預測區域的4x4和8x8尺寸的TU,根據所採用的幀內預測方向來選擇掃描方法:當預測方向接近水平方向時採用垂直掃描;當預測方向接近於垂直方向時就選用水平掃描,對於其他預測方向使用對角掃描。

對於幀間預測區域,無論TU尺寸多大都採用對角掃描方式。

7、IBDI技術


IBDI(Internal Bit Depth Increase)技術是指在編碼器的輸入端將未壓縮影象畫素深度由P位元增加到Q位元(Q>P),在解碼器的輸出端又將解壓縮影象畫素深度從Q位元恢復至P位元。

IBDI技術提高了編碼器的編碼精度,降低了幀內/幀間預測誤差。但由於要建立參考佇列,畫素深度為Q位元的重構影象須佔用較大的記憶體空間。此外,在進行幀間運動估計和補償時,需要較多的記憶體訪問頻寬,這樣會給記憶體受限的系統帶來不便,解決的方法是引入參考幀壓縮演算法,來減小重構影象的資料量。