HEVC学习之二CTU, CU, CTB, CB, PB, TB

     HEVC学习之二CTU, CU, CTB, CB, PB, TB_第1张图片

 

     在H264标准中,编码层的核心是宏块,一个宏块大小为16X16,包含一个16X16的亮度块,以及对于常用的4:2:0采样格式来说还包含两个8X8的色度块。相对应的在HEVC中类似的结构为编码树单元(CTU),其尺寸可以由编码器指定,最大可以支持到64X64,最小可以支持到16X16。对于高分辨率视频的编码中,使用较大尺寸的CTU可以获得更好的压缩性能。这里以最大的64X64大小的CTU为例说明HEVC的编码树结构。

    HEVC先根据编码器设置的CTU大小对整帧的图像进行分块,如图所示每一个CTU大小都是64X64,类似于H264的16X16的宏块划分。

HEVC学习之二CTU, CU, CTB, CB, PB, TB_第2张图片

       一个编码树单元(CTU)包含了同一位置处的一个亮度编码树块(CTB)和两个色度编码树块(CTB),以及一些相应的语法元素。如图所示,根据CTU大小可以为16X16,32X32,64X64,则亮度CTB的大小也可以是16X16,32X32,64X64,并且始终与CTU的大小相对应,此处亮度CTB大小为64X64,色度为32X32。

HEVC学习之二CTU, CU, CTB, CB, PB, TB_第3张图片

      在HEVC中编码树块CTB可以直接作为一个编码块CB,也可以进一步以四叉树的形式划分为多个小的编码块CB,因此在HEVC中编码块CB的大小是可以变化的,在设置CTU大小为64X64的情况下,一个亮度CB最大为64X64即一个CTB直接作为一个CB,最小为8X8,则色度CB最大为32X32,最小为4X4。大的CB可以使得平缓区域的编码效率大大提高,在细节部分采用小的CB又可以使复杂的图像预测更加准确。一个亮度CB和两个色度CB,以及一些相关语法元素共同组成一个编码单元(CU).如图:

HEVC学习之二CTU, CU, CTB, CB, PB, TB_第4张图片

      一幅图像根据编码器设置的CTU大小,可以划分为若干个互不重叠的CTU,在CTU内部,采用基于四叉树的循环分层结构。同一层次上的编码单元具有相同的分割深度。一个CTU可以值包含一个CU即没有进行划分,也可以被划分为多个CU。每个CU包含着与之相关联的预测单元(PU)和我变换单元(TU).对于一个2NX2N的CU模式,帧内预测单元的可选模式有两种2NX2N和NXN,帧间预测模式则有8中,4中对称模式2NX2N,NXN,NX2N,2NXN,4中非对称模式2NXnU,2NXnD,nLX2N,nRX2N(其中U,D,L表示上下左右四个方向),其中nLX2N,nRX2N为左右1:3,3:1的比率划分,2NXnU,2NXnD为以上下1:3,3:1的比率划分。还有一种模式为skip模式,是帧间预测的一种,当需要编码的运动信息只有运动参数集索引(采用运动合成技术),编码残差信息不需要编码。一个预测单元PU包含一个亮度预测块PB和两个色度预测块PB,还有一些相关语法元素。如图:

HEVC学习之二CTU, CU, CTB, CB, PB, TB_第5张图片

     变换单元是独立完成变换和量化的单元,其尺寸也是灵活变化的。HEVC可以支持4X4到32X32的编码变换,基本单元为变换单元(TU).变换单元的大小依赖于CU模式,一个CU内部,可以允许TU跨越多个PU,以四叉树的形式地柜划分。大块的TU可以使能量更好的集中,小块的的TU可以保留更多的细节,灵活的分割方式。一个变换单元TU包含一个亮度变换块TB和两个色度变换块TB,还有一些相关语法元素。如图:

HEVC学习之二CTU, CU, CTB, CB, PB, TB_第6张图片

 

转载于:https://www.cnblogs.com/545235abc/p/4803724.html

你可能感兴趣的:(HEVC学习之二CTU, CU, CTB, CB, PB, TB)