HEVC 常用之 CU PU TU分析

2021-06-22 19:33:02 字數 1189 閱讀 6835

本文以下部分為翻譯

g. j. sullivan, j.-r. ohm, w.-j. han, and t. wiegand, "overview of the high efficiency video coding (hevc) standard", ieee trans. circuits and systems for video technology, vol. 22, no. 12, pp. 1649-1668, dec. 2012.

與cu、pu、tu相關所得,因本人水平有限,如翻譯有誤,敬請指正。

(1)   編碼樹單元(ctu)和編碼樹塊(ctb)結構:

在之前的標準中,編碼層的核心是巨集塊,乙個巨集塊包含乙個16×16的亮度塊,以及對於常用的4:2:0取樣格式來說還包含兩個8×8的色度塊;而在hevc中類似的結構為編碼樹單元(ctu),其尺寸由編碼器進行指定且可以比傳統的巨集塊大。乙個ctu包含乙個亮度ctb和兩個對應的色度ctb及句法元素。乙個l×l的亮度ctb的l可以設定為16,32或者64。一般來說,l越大,可以獲得越好的壓縮效能。hevc支援使用樹結構和類四叉樹的標誌來將ctb劃分成更小的塊。

(2)   編碼單元(cu)和編碼塊(cb):

ctu的四叉樹句法指定了它所屬的亮度和色度cb的尺寸和位置。四叉樹的根與ctu相關聯。因此,亮度cb的最大尺寸為其所屬的亮度ctb的尺寸。對於乙個ctu來說,其亮度cb和色度cb的劃分標誌都是使用的同乙個。乙個亮度cb通常和兩個色度cb及它們相關的句法共同組成乙個編碼單元(cu)。乙個ctb可能只包含乙個cu,也可能被劃分成多個cu,每個cu包含著與之相關聯的**單元(pu)和變換單元(tu)。

(3)   **單元(pu)和**塊(pb):

決定乙個影象區域是以幀間還是幀內方式進行**是在cu層進行的。乙個pu劃分結構的根在cu層。根據基本的**型別,亮度cb和色度cb可以繼續進行劃分並利用其它的亮度pb和色度pb進行**。hevc支援多種pb尺寸,最大為64×64到最小4×4。

(4)   變換單元(tu)和變換塊(tb):

**殘差以塊變換的方式進行編碼。乙個變換單元樹結構的根在cu層。亮度cb殘差的尺寸可能與亮度變換塊tb的尺寸相等,也可能會被劃分成更小的亮度tb。色度cb的情況也是一樣的。定義了與離散余弦變換(dct)類似的整數變換的基本函式提供給尺寸為4×4,8×8,16×16,32×32的tb。對於尺寸為4×4且殘差由幀內**得到的tb來說,一種以離散正弦變換(dst)為基礎的整數變換可供採用。

>

Linux命令常用之echo

echo 輸出命令 echo hello world echo hello world 如果是有空格一般用雙引號 引數 e 支援反斜線字元的轉換 echo e hello n world 結果是是hello和world分別在兩行 顏色顯示 echo e e 1 30m hello world e 0...

Linux命令常用之alias

alias 別名,在linux系統中直接輸入alias可以檢視系統的已經存在的別名,通過命令列設定的別名在登出後重新登入就失效了,如果要使得別名能夠永久生效,需要在配置檔案中修改.1.設定別名 eg alias vi vim 2.刪除別名 unlias 別名 eg unalias vi 3.在配置檔...

Linux Linux命令常用之sed

1 刪除行首空格 sed s g filename sed s g filename sed s space g filename2 行後和行前新增新行 行後 sed s ceagle n g filename 行前 sed s ceagle n g filename 代表ceagle3 使用變數替...