CTU:
传统的视频编码都是基于宏块实现的,对于4:2:0采样格式的视频,个宏块包含一个16×16大小的亮度块和两个8×8大小的色度块。考虑到高清视频超高清视频的自身特性,H.265/HEVC标准中引入了树形编码单元CTU,其尺寸由编码器指定,且可大于宏块尺寸。同一位置处的个亮度CTB和两个色度CTB,再加上相应的语法元素形成一个CTU。对于一个大小为L×L的亮度CTB,L的取值可以是16、32或64。在高分辨率视频的编码中,使用较大的CTB可以获得更好的压缩性能。
为了灵活、高效地表示视频场景中的不同纹理细节、运动变化的视频内容或者视频对象,H.265/HEⅤC为图像划分定义了一套全新的语法单元,包括编码单元CU、预测单元( Prediction Unit, PU)和变换单元Transform Unit, TU)。其中编码单元是进行预测、变换、量化和熵编码等处理的基本单元,预测单元是进行帧内帧间预测的基本单元,变换单元是进行变换和量化的基本单元。这三个单元的分离,不仅使得变换预测和编码各个处理环节更加灵活,也使得各环节的划分更加符合视频图像的纹理特征,保证编码性能的最优化。
CU
近年来标清和高清视频产业得到了蓬勃发展。大尺寸图像的一个特点是平缓区域的面积更大,用较大的块进行编码能够极大地提升编码效率。在H264AVC中,编码块( Coding block,CB)的大小是固定的。而在H265/HEVC中,一个CTB可以直接作为一个CB,也可以进一步以四叉树的形式划分为多个小的CB。所以H265HEVC中CB的大小是可变的,亮度CB最大为64×64,最小为8×8。一方面大的CB可以使得平缓区域的编码效率大大提高,另一方面小的CB能很好地处理图像局部的细节,从而可以使复杂图像的预测更加准确。一个亮度CB和相应的色度CB及它们相关的句法元素共同组成一个编码单元(CU)。在H265HEVC中,一幅图像可以被划分为若干个互不重叠的CTU,在CTU内部,采用基于四叉树的循环分层结构。同一层次上的编码单元具有相同的分割深度。一个CTU可能只包含一个CU(没有进行划分),也可能被划分为多个CU。
编码单元是否继续被划分取决于分割标志位 Split flag。对于编码单元CUa,假设它的大小为2N×2N,深度为d。如果它对应的 Split flag值为0,则CU不再进行四叉树划分;反之,CU4将会被划分为4个独立的编码单元CU1。编码单元CUa1的深度和大小分别变为d+1和N×N。
①编码单元的大小可以大于传统的宏块大小(16×16)。对于平坦区域,用一个较大的编码单元编码可以减少所用的比特数,提高编码效率。这一点在高清视频应用领域体现得尤为明显。
②通过合理地选择CTU大小和最大层次深度,编码器的编码结构可以根据不同的图片内容、图片大小以及应用需求获得较大程度的优化
③所有的单元类型都统称为编码单元,消除了宏块与亚宏块之分,并且编码单元的结构可以根据CTU大小、最大编码深度以及一系列划分标志 Split flag简单地表示出来。
PU
预测单元PU规定了编码单元的所有预测模式,一切与预测有关的信息都定义在预测单元部分。比如,帧内预测的方向、帧间预测的分割方式、运动矢量预测,以及帧间预测参考图像索引号都属于预测单元的范畴。
对于一个2N×2N的CU模式,帧内预测单元PU的可选模式有两种2N×2N和NXN;帧间预测单元PU的可选模式有8种:4种对称模式(2Nx×2N、2NXN、N×2N、NXN)和4种非对称模式(2N×nU、2NXnD、nL×2N、nRx2N)。其中2N×nU和2N×nD分别以上下1:3、3:1的比率划分,nL×2N和nR×2N分别以左右1:3、3:1的比率划分。skjp模式是帧间预测的一种,当需要编码的运动信息只有运动参数集索引(采用运动合并技术),编码残差信息不需要编码时,为2N×2 V skip模式。此外,表3.8还给出了PU相关的语法元素。
TU
变换单元是独立完成变换和量化的基本单元,其尺寸也是灵活变化的。H265/HEVC突破了原有的变换尺寸限制,可支持大小为4×4~32×32的编码变换,以变换单元(TU)为基本单元进行变换和量化。它的大小依赖于CU模式,在一个CU内,允许TU跨越多个PU,以四叉树的形式递归划分。对于一个2N×2N的CU,有一个标志位决定其是否划分为4个NXN的TU,是否可以进一步划分由SPS中的TU的最大划分深度决定。根据预测残差的局部变化特性,TU可以自适应地选择最优的模式。大块的TU模式能够将能量更好地集中,小块的TU模式能够保存更多的图像细节。 这种灵活的分割结构,可以使变换后的残差能量得到充分压缩,以进一步提高编码增益。