1. 程式人生 > >H.265---區別於H.264的地方

H.265---區別於H.264的地方

分區 pla .cn 運動 轉換 for odi 即使 由於

轉自:https://blog.csdn.net/xiaojun111111/article/details/61199130

圖像分區

  H.265將圖像劃分為“樹編碼單元(coding tree blocks, CTU)”,而不是像H.264那樣的16×16的宏塊。根據不同的編碼設置,樹編碼塊的尺寸可以被設置為64×64或有限的32×32或16×16。很多研究都展示出更大的樹編碼塊可以提供更高的壓縮效率(同樣也需要更高的編碼速度)。每個樹編碼塊可以被遞歸分割,利用四叉樹結構,分割為32×32、16×16、8×8的子區域,下圖就是一個64×64樹編碼塊的分區示例。每個圖像進一步被區分為特殊的樹編碼塊組,稱之為切割(Slices)和拼貼(Tiles)。編碼樹單元是H.265的基本編碼單位,如同H.264的宏塊。編碼樹單元可向下分區編碼單元(Coding Unit,CU)、預測單元(Prediction Unit,PU)及轉換單元(Transform Unit,TU)。

  每個編碼樹單元內包含1個亮度與2個色度編碼樹塊,以及記錄額外信息的語法元素。一般來說影片大多是以YUV 4:2:0色彩采樣進行壓縮,因此以16 x 16的編碼樹單元為例,其中會包含1個16 x 16的亮度編碼樹區塊,以及2個8 x 8的色度編碼樹區塊。

技術分享圖片

編碼單元是H.265基本單元。通常,較小的編碼單元被用在細節區域(例如邊界等),而較大的編碼單元被用在可預測的平面區域。

技術分享圖片

轉換尺寸

  每個編碼單元可以四叉樹的方式遞歸分割為轉換單元。與H.264主要以4×4轉換,偶爾以8×8轉換所不同的是,H.265有若幹種轉換尺寸:32×32、16×16、8×8和4×4。從數學的角度來看,更大的轉換單元可以更好地編碼靜態信號,而更小的轉換單元可以更好地編碼更小的“脈沖”信號。

技術分享圖片

預測單元

  在轉換和量化之前,首先是預測階段(包括幀內預測和幀間預測)。

  一個編碼單元可以使用以下八種預測模式中的一種進行預測。

技術分享圖片

即使一個編碼單元包含一個、兩個或四個預測單元,也可以使用專門的幀間或幀內預測技術對其進行預測,此外內編碼的編碼單元只能使用2N×2N或N×N的平方劃分。間編碼的編碼單元可以使用平方和非對稱的方式劃分。

  幀內預測:HEVC有35個不同的幀內預測模式(包括9個AVC裏已有的),包括DC模式、平面(Planar)模式和33個方向的模式。幀內預測可以遵循變換單元的分割樹,所以預測模式可以應用於4×4、8×8、16×16和32×32的變換單元。

幀間預測:針對運動向量預測,H.265有兩個參考表:L0和L1。每一個都擁有16個參照項,但是唯一圖片的最大數量是8。H.265運動估計要比H.264更加復雜。它使用列表索引,有兩個主要的預測模式:合並和高級運動向量(Merge and Advanced MV.)。

技術分享圖片

  在編碼的過程,預測單元是進行預測的基本單元,變換單元是進行變換和量化的基本單元。這三個單元的分離,使得變換、預測和編碼各個處理環節更加靈活,

去塊化

  與H.264在4×4塊上實現去塊化所不同的是,HEVC的只能在8×8網格上實現去塊。這就能允許去塊的並行處理(沒有濾波器重疊)。首先去塊的是畫面裏的所有垂直邊緣,緊接著是所有水平邊緣。與H.264采用一樣的濾波器。

  采樣點自適應偏移(Sample Adaptive Offset)

  去塊之後還有第二個可選的濾波器,叫做采樣點自適應偏移。它類似於去塊濾波器,應用在預測循環裏,結果存儲在參考幀列表裏。這個濾波器的目標是修訂錯誤預測、編碼漂移等,並應用自適應進行偏移。

並行處理

  由於HEVC的解碼要比AVC復雜很多,所以一些技術已經允許實現並行解碼。最重要的為拼貼和波前(Tiles and Wavefront)。圖像被分成樹編碼單元的矩形網格(Tiles)。當前芯片架構已經從單核性能逐漸往多核並行方向發展,因此為了適應並行化程度非常高的芯片實現, H.265 引入了很多並行運算的優化思路。

技術分享圖片

總而言之,HEVC將傳統基於塊的視頻編碼模式推向更高的效率水平,總結一下就是:

  -可變量的尺寸轉換(從4×4 到32×32)

  -四叉樹結構的預測區域(從64×64到4×4)

  -基於候選清單的運動向量預測。

  -多種幀內預測模式。

  -更精準的運動補償濾波器。

  -優化的去塊、采樣點自適應偏移濾波器等。

技術分享圖片

H.265---區別於H.264的地方