HEVC帧内预测学习(一)CTU、CU、PU、TU单元划分的理解

CTU是coding tree unit的缩写,相当于h.264中的宏块。大小有16x16、 32x32和 64x64。
根据YUV采样格式,一个编码树单元(CTU)应当是包含了同一位置处的一个亮度编码树块(CTB)和两个色度编码树块(CTB)(CrCb),以及一些相应的语法元素。根据CTU大小可以为16X16,32X32,64X64,则亮度CTB的大小始终与CTU的大小相对应,而对于色度编码树块就要根据采样格式进行判断。假设为4:2:0,那色度分量的大小应当是一个CTU的四分之一。
HEVC帧内预测学习(一)CTU、CU、PU、TU单元划分的理解_第1张图片
CU是coding unit的缩写,是以CTU为根节点进行四叉树划分的叶节点。CU是预测编码的基本单元。大小有8x8、 16x16、 32x32、 64x64。
在HEVC中编码树块CTB可以直接作为一个编码块CB,也可以进一步以四叉树的形式划分为多个小的编码块CB,因此在HEVC中编码块CB的大小是可以变化的,在设置CTU大小为64X64的情况下,一个亮度CB最大为64X64即一个CTB直接作为一个CB,最小为8X8,则色度CB最大为32X32,最小为4X4。大的CB可以使得平缓区域的编码效率大大提高,在细节部分采用小的CB又可以使复杂的图像预测更加准确。一个亮度CB和两个色度CB,以及一些相关语法元素共同组成一个编码单元(CU).如图:
HEVC帧内预测学习(一)CTU、CU、PU、TU单元划分的理解_第2张图片
PU是prediction unit的缩写,是预测的单位(一个PU中使用一种预测模式),是根据CU划分的。在HM编码器中,CU大于8x8时,PU大小等于CU,当CU等于8x8时,PU可能会被划分成4x4。因此PU的大小有4x4到64x64。即帧内预测只支持NxN 和2Nx2N两种划分方式。即相对于CU有划分一层四叉树(NxN)与不划分四叉树(2Nx2N)两种。
TU是transform unit的缩写,是变换量化的单位(是针对DCT变换的一个基本单元),这里TU划分是对已经预测完的残差进行划分,然后用来进行块量化。是根据CU进行划分。大小有4x4到32x32。
2.各模块划分作用
对于帧内预测来说,TU不能跨越CU的PU边界。
关系:CTU>=CU>=PU>=TU
预测时,需要划分CTU、CU、PU、TU。在同一个PU的各个TU,使用同一种模式进行预测。计算得到残差以及代价。之后得到整个PU的每种预测模式的代价,而后面则需要比对每种预测模式的编码代价,进行能量分布分析,所以需要DCT变换,而进行DCT变换就要再次划分单元,因此需要在一个PU中划分出一个TU进行变换,来分析该种预测模式的好坏。
而在帧间预测中,变换单元TU可以大于PU也可以小于PU,但不能跨越CU进行划分。

你可能感兴趣的:(视频编码,hevc)