必威电竞|足球世界杯竞猜平台

編碼單元
來源:互聯網

編碼單元(CTU)是指在高效率視頻編碼(HEVC)中的一種基本單位,它可以包含一個編碼單元(coding Unit, CU),也可以被分割成多個更小的編碼單元。

簡介

高效率視頻編碼(HEVC)使用編碼單元來指示該單元是使用畫面內預測(Intra Prediction)還是畫面間預測(Inter Prediction)。這些編碼單元可以通過四分樹(Quadtree)結構方便地表示,這是一種遞歸結構,四分樹上的數字表示節點是否繼續分割,如果節點將繼續分割,則為1,如果不繼續分割,則為0。當節點上的數字為0時,該節點成為編碼單元。在編碼樹中,葉子節點(Leaf Node)就是編碼單元。在編碼單元上采用Z-scan方式進行處理,對于編碼樹而言,這是深度優先遍歷。編碼單元的大小支持2Nx2N,其中N=4、8、16或32,因此HEVC的四分樹最高深度為4。

深度遍歷選擇和早期編碼單元裁剪

為了降低新一代高效視頻編碼(High Efficiency Video Coding,HEVC)標準的編碼復雜度,提出了一種基于四叉樹結構類型分析和早期編碼單元(Coding Unit,CU)裁剪的HEVC快速編碼新算法。首先,通過分析已編碼的最大編碼單元(Largest CU,LCU)四叉樹結構類型,確定其深度遍歷區間(Depth Range,DR)類型。然后,利用相鄰已編碼的LCU以及前向參考幀和后向參考幀中坐標位置相同的LCU的DR類型來預測當前LCU的DR類型,并根據預測得到的DR類型對當前LCU設定CU深度遍歷區間。最后,采用托馬斯·貝葉斯決策原理獲取閾值,并利用該閾值在CU分割過程進行早期CU裁剪。

編碼復雜度分析

HEVC采用率失真優化方式決定LCU最終四叉樹結構的分割形式,這樣,可以在保證視頻質量的前提下獲得最小的碼率。其率失真代價函數J(CU)為:

J(CU)=SSE+λ×B,

其中:d表示當前CU的深度值,B代表當前CU經過各種PU預測和模式選擇后編碼所需的比特數,λ為約瑟夫·拉格朗日算子,SSE(Sum of Square Error,SSE)表示原始圖像塊和重建圖像塊之間的誤差平方和。

深度遍歷選擇和早期裁剪新算法

在充分考慮到HEVC的四叉樹編碼結構和視頻的時空域相關性的基礎上,首先通過對四叉樹結構類型進行分析,確定其深度遍歷區間(Depth Range,DR)類型,利用參考幀相同位置的LCU和相鄰LCU的DR類型來預測當前LCU的CU深度遍歷區間;然后,再根據預測的深度區間進行編碼。同時,采用托馬斯·貝葉斯決策訓練原理獲取閾值,并利用該閾值對CU分割進行早期CU裁剪。

1. DR類型的確定:

HEVC采用四叉樹結構進行編碼,一個LCU最終的分割類型是通過其CU深度值確定的,大小為64×64的LCU包括256個4×4塊,每個4×4塊都用一個深度值depth(depth∈[0,3])表示。不同四叉樹結構的LCU,其CU深度值的分布情況也不同,LCU的四叉樹結構類型可以分為8種(即A,B,C,D,E,F,G,H)。若能在LCU四叉樹結構劃分前對其類型進行預測,通過該類型設定CU深度遍歷范圍,就可以減少不必要的CU深度遍歷,從而降低其編碼復雜度。但過于精細的預測遍歷區間會很容易造成誤判。因此,將深度值分布相近的四叉樹結構類型進行合并,并定義T、T、T和T四種DR類型。例如,T包括C和D兩種四叉樹結構類型,其中:C的深度值為1和2,D的深度值則全為2,故將這兩種四叉樹結構的DR類型定為T。算法根據DR類型進行CU深度遍歷,相比原始0~3的全遍歷,明顯減少了編碼復雜度。

2. 利用時空相關性的中值DR類型預測:

在視頻序列中,當前編碼LCU與相鄰已編碼的LCU以及前一幀和后一幀中與當前編碼LCU位置相同的LCU(以下簡稱為對應LCU)之間有很大的相關性。LeftLCU、滔搏電子競技俱樂部 LCU、Left-top LCU、Col1LCU和Col2LCU共5個參選預測LCU的DR類型來預測當前編碼LCU的DR類型。

3. 基于托馬斯·貝葉斯決策的早期CU裁剪預判:

在LCU的塊劃分過程中,若當前CU(depth∈[1,2])為其上一層CU的第4個分割CU,則在計算完其率失真代價J后,就有可能通過預判斷提前進行早期CU裁剪過程。

采用貝葉斯決策原理在幀內模式選擇過程中訓練基于SATD(Hadamard transformed SAD)的率失真代價最佳閾值。

幀內預測編碼單元劃分快速算法

高效率視頻編碼(HEVC)采用基于編碼單元(CU)的四叉樹塊分區結構,能靈活地適應各種圖像的紋理特征,顯著提高編碼效率,但編碼復雜度大大增加,提出一種縮小深度范圍且提前終止CU劃分的快速CU劃分算法。基于Sobel邊緣檢測算子計算一幀中各深度邊緣點閾值,縮小后面若干幀中CU遍歷的深度范圍;同時,統計該幀中各CU劃分為各深度的率失真(RD)代價,計算各深度的RD代價閾值。然后,在后續視頻幀中,利用RD代價閾值在縮小的深度范圍內提前終止CU劃分。為了符合視頻內容的變化特性,統計參數是周期性更新的。經測試,在平均比特率增加僅1.2%時,算法時間平均減少約59%,有效提高了編碼效率。

基于代價的劃分提前終止

HM的CU劃分過程,是在4個深度級范圍內逐級比較RD代價,并選擇RD代價最小的劃分作為最佳劃分。由LCU邊緣點確定的2個或3個深度級范圍內進行CU劃分。為進一步加快CU劃分速度,采用基于RD代價的CU劃分提前終止策略。

一般情況下,若CU當前深度的RD代價越小,則說明當前劃分方式的效果越好,該CU繼續劃分的可能性越小。也就是說,若CU當前深度RD代價小于某個閾值,就無需繼續劃分,這就是“CU劃分提前終止策略”。

在學習幀中,除了得到邊緣點數目與深度級范圍的對應關系外,還利用HM得到各LCU的劃分深度及對應的RD代價,并計算每個深度級所對應的RD代價的均值及標準差,再計算用于提前終止的RD代價閾值。在此后的應用幀中,從最小深度級開始計算當前深度級的RD代價,若當前深度級CU的RD代價小于對應深度級的RD代價閾值,則該CU不繼續劃分,提前終止,否則繼續按深度增加逐級比較。這樣,就大大減小了RD代價的計算量。

快速劃分算法流程

對于整個算法流程,首先是學習幀基于梯度獲得一幀圖像中各深度的邊緣點閾值,在統計邊緣點的同時也統計一幀中各LCU最終劃分時各子CU的RD代價,并對統計得到的各個深度級RD代價求均值和標準差,獲得用于判斷的RD代價閾值。然后在應用幀中,先依據邊緣點閾值獲得當前LCU需遍歷的深度范圍,再在該深度范圍內,比較當前深度CU的RD代價和RD代價閾值的大小,若小于RD代價閾值則CU提前終止。具體步驟為:

(1)首先是學習幀,對每個LCU依據Sobel邊緣檢測算子計算各像素點的梯度值,獲得梯度圖后,將梯度圖按LCU掃描順序劃分為4塊;

(2)利用otsu算法計算每塊的分割閾值Gfour,i=0,1,…,3(取計算得到值的0.75),并依據該閾值判斷該塊內各LCU的邊緣點數;

(3)依據HM中該幀圖像各LCU最終劃分深度將LCU的邊緣點數分組(深度0和1并為一組),分別計算各深度邊緣點數的均值和標準差,剔除邊緣點數目落在標準差之外的CU,重新計算,將再次計算的均值和標準差之和作為對應深度級的閾值Th_Edge,j=1,2;

(4)在統計各LCU梯度的同時,統計該幀中各CU最終劃分時的RD代價,并計算各深度級的RD代價均值和標準差,獲得RD代價閾值,閾值計算公式為式(4);

(5)學習幀結束后,進入應用幀,根據步驟(3)中得到的閾值判斷當前LCU的邊緣點數屬于哪個劃分深度,獲得遍歷的深度范圍,然后將遞歸過程中當前深度CU的RD代價RD與對應深度的閾值Th_RD,k=0,1,…,3進行比較,若小于閾值,則終止當前CU劃分,CU最終劃分深度為k。否則,深度加1,繼續比較下一深度的RD代價和相應閾值,直至最大深度。然后進入下一個LCU的比較,再次執行步驟(5)。若執行到學習幀,則返回到步驟(1)。

參考資料 >

H.265 Terms - CTU, CU, PU, TU.知乎專欄.2024-10-22

coding tree unit解析_編碼樹單元.CSDN博客.2024-10-22

視頻名詞淺析——HEVC(H.265)編碼及視頻標準制定者.知乎專欄.2024-10-22

生活家百科家居網