H264與H265的區別

轉載自:https://blog.csdn.net/fireroll/article/details/77827156

目錄:

1.編解碼框架差異

2.壓縮性能比較

3.各模塊技術差異彙總

4.塊劃分結構

5.幀內預測

6.幀間預測

7.去塊濾波

8.SAO濾波

9.Tile

10.WPP

11.Dependent slice

12.其他技術

 

1.    H.264與H.265的主要差異
H.265仍然採用混合編解碼,編解碼結構域H.264基本一致,

主要的不同在於:

Ø  編碼塊劃分結構:採用CU (CodingUnit)、PU(PredictionUnit)和TU(TransformUnit)的遞歸結構。

Ø  基本細節:各功能塊的內部細節有很多差異

Ø  並行工具:增加了Tile以及WPP等並行工具集以提高編碼速度

Ø  濾波器:在去塊濾波之後增加了SAO(sample adaptive offset)濾波模塊

Fig.H.265的框架圖

 

2.    壓縮性能比較
PSNR計算方式

H.265/HEVC HM-9.0 和H.264  JM-18.4 的BD-rate 比較:

 AllIntra case:                     22%

 RandomAccess case:              34%

 LowDelay case:                   37%

 

3.    各模塊技術差異彙總


 

4.    塊劃分結構
在H.265中,將宏塊的大小從H.264的16×16擴展到了64×64,以便於高分辨率視頻的壓縮。

同時,採用了更加靈活的編碼結構來提高編碼效率,

包括編碼單元(CodingUnit)、預測單元(PredictUnit)和變換單元(TransformUnit)。

如下圖所示:

其中:

編碼單元類似於H.264/AVC中的宏塊的概念,用於編碼的過程。

預測單元是進行預測的基本單元,

變換單元是進行變換和量化的基本單元。

 

這三個單元的分離,使得變換、預測和編碼各個處理環節更加靈活,

也有利於各環節的劃分更加符合視頻圖像的紋理特徵,

有利於各個單元更優化的完成各自的功能。

 

 

RQT是一種自適應的變換技術,這種思想是對H.264/AVC中ABT(AdaptiveBlock-size Transform)技術的延伸和擴展。

對於幀間編碼來說,它允許變換塊的大小根據運動補償塊的大小進行自適應的調整;

對於幀內編碼來說,它允許變換塊的大小根據幀內預測殘差的特性進行自適應的調整。

大塊的變換相對於小塊的變換,一方面能夠提供更好的能量集中效果,並能在量化後保存更多的圖像細節,但是另一方面在量化後卻會帶來更多的振鈴效應。

因此,根據當前塊信號的特性,自適應的選擇變換塊大小,如下圖所示,可以得到能量集中、細節保留程度以及圖像的振鈴效應三者最優的折中。

Fig. 靈活的塊結構示意圖

 

 

5.    幀內預測模式
本質上H.265是在H.264的預測方向基礎上增加了更多的預測方向

H.265:所有尺寸的CU塊,亮度有35種預測方向,色度有5種預測方向

H.264:亮度 4x4塊9個方向,8x8塊9個方向,16x16塊4種方向,色度4種方向

 

H.264的幀內預測方向:

 

H.265的幀內預測方向:

 

6.    幀間預測
本質上H.265是在H.264基礎上增加插值的抽頭係數個數,改變抽頭係數值以及增加運動矢量預測值的候選個數,以達到減少預測殘差的目的。

H.265與H.264一樣插值精度都是亮度到1/4,色度到1/8精度,但插值濾波器抽頭長度和係數不同.

H.265的增加了運動矢量預測值候選的個數,而H.264預測值只有一個

 

H.265的空域候選項:

H.265時域共同位置候選項

 

7.    去塊濾波
本質上H.265的去塊濾波與H.264的去塊濾波及流程是一致的,做了如下最顯著的改變:

Ø  濾波邊界: H.264最小到4x4邊界濾波;而H.265適應最新的CU、PU和TU劃分結構的濾波邊緣,最小濾波邊界爲8x8,

Ø  濾波順序:H264先宏塊內採用垂直邊界,再當前宏塊內水平邊界;而H.265先整幀的垂直邊界,再整幀的水平邊界

 

ALF在編解碼環路內,位於Deblock和SAO之後,

用於恢復重建圖像以達到重建圖像與原始圖像之間的均方差(MSE)最小。

ALF的係數是在幀級計算和傳輸的,可以整幀應用ALF,

也可以對於基於塊或基於量化樹(quadtree)的部分區域進行ALF,

如果是基於部分區域的ALF,還必須傳遞指示區域信息的附加信息。

 

8.   採樣點自適應偏移(Sample AdaptiveOffset)濾波
SAO(sample adaptive offset)濾波其實就是對去塊濾波後的重建像素按照不同的模板進行分類,並對每一種分類像素進行補償, 分類模板分爲BO(Band offset)和EO(Edge offset)。

 

BO分類:

 

EO分類模塊:

SAO在編解碼環路內,位於Deblock之後,通過對重建圖像的分類,對每一類圖像像素值加減一個偏移,達到減少失真的目的,從而提高壓縮率,減少碼流。

採用SAO後,平均可以減少2%~6%的碼流,而編碼器和解碼器的性能消耗僅僅增加了約2%。

 

9.   Tile
Tile:  將圖像分割爲矩形區域。

其主要目的是增強並行處理性能。

每個tile區域相當於一幅子圖像,可獨立的以LCU塊爲單位進行編解碼。

一個Tile塊爲基本的並行單元,每個Tile爲一個子碼流

 

10.  WPP

WPP:   全稱爲wavefront  parallel process,以LCU行爲基本的編碼單位。

以一行LCU塊爲基本的並行單元,每一行LCU爲一個子碼流

 

11.  Dependentslice

Dependent slice:該技術可以理解爲對原先Slice NALU的數據劃分,使其可以適合更加靈活的打包方式。

Slice 和dependent slice 的示意圖如下

12.  其他相關技術

Ø  Transform_skip模式:transform_skip_flag,該模式不進行變換,但是要進行量化,該模式對文本桌面視頻有較好效果

Ø  內部比特深度增加:爲了保證中間預測、變換以及量化過程中的內部比特精度,以達到更好的壓縮性能

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