CTU CU CB PU TU

CTUcoding tree unit,编码树单元,LCU

        对于YUV=420格式的彩色视频:一个CTU由一个CTB of the luma samples 2CTBs of the choma samples和相关的语法元素组成。Luma CTB是一个2^N  x 2^N的像素区域,而相应的Choma CTB2^(N-1) x 2^(N-1)的像素区域,N的值在编码器中确定,并在SPS(sequence parameter set)中传输。N可选456,表示CTU的大小可取163264

        CTU相当于H.264中的MarcoBlock划分图片的概念,是在编码过程中的独立编码单位,然后可以递归划分成CU

 

CUcoding unit,编码单元

        每一个CTU,可以进一步均匀划分成4square CUs,一个CU又可以递归按四叉树结构划分成4个小的CUs。对于YUV=420的彩色视频:一个CU由一个CB of the luma samples2CBs of the choma samples和相关的语法元素。一个Luma CB2^N x 2^N(此处的NCTU中的N大小不同)的像素区域,而相应的choma CB2^(N-1) x 2^(N-1)的像素区域,N的值同样在编码器中确定,并在SPS中传输。

        编码时,在CTU level,通过传输split_cu_flags标志指明CTU是否进一步划分成四个CU。类似地,对于一个CU,也通过一个split_cu_flags标志指明是否进一步划分成子CUCU通过split_cu_flags标志指示进行递归的划分,直到split_cu_flags==0或者达到最小的CU尺寸(mininum CU size),对于达到最小尺寸的CU,不需要传输split_cu_flags标志,CU的最小尺寸参数(通过CTU深度确定)在编码器中确定,并在SPS中进行传输。

        所以CU的大小范围是:minunum size CU ~CTU,一般情况设置CTU64,最小CU8(通过CTU深度确定),所以此时CU大小可取8163264。一个CTU进行编码时,是按照深度优先的顺序进行CU编码,类似于z-scan,如下图:右边表示CTU的递归四叉树划分,左边表示CTUCU的编码顺序。

 

        视频序列的分辨率(长和宽参数)也会在SPS中传输,要求长宽必须是mininum CU size的整数倍,但是可以不是 CTU size的整数倍。对于长宽不是CTU size整数倍的情况,图像边界处的CTU被认为已经分割成和图像边界重合(the  CTUs at the borders are inferred to be split until the boundaries of the resulting blocks coincide with the picture boundary),对于这种边界处默认的分割,不需要传输split_cu_flags标志。  

        CU块是进行决策帧间、帧内、Skip/Merge模式的基本单元。

 

PUprediction unit,预测单元

        CU level决定prediction mode,并将一个CUprediction mode传输在bitstream中。而PU是是进行预测的基本单元,有一个PB of the luma2PB of the choma和相应的语法元素组成。

 

如果一个CUprediction modeintra prediction(帧内预测):

        对于luma CU35个可选的帧内预测方向(Plannar(0)DC(1)和方向预测(2~34)),对于mininum sizeluma CB,可以平均划分成4个方形的subblocks,对于每个subblock进行独立的帧内预测,有独立的intra prediction mode。也就是说对于帧内预测的CU,可以进行2Nx2NNxN两种PU划分模式,且NxN模式只有对mininum size CB可以使用。

        一个帧内luma PU块,预测模式确定之后,需要对预测模式进行编码。HEVC中在进行帧内预测模式编码时,先为每个intra PU确定3个最可能模式(确定策略后面介绍),假设为S=M1M2M3}。然后通过判断luma PU的帧内预测模式是否在S中,如果在S中,则需要2bit编码预测模式在S中的索引,否则需要5bit编码预测模式在另外32种模式中的索引。

        对于luma PU,确定最可能3个预测模式是根据当前PU左边和上边的预测模式,假设左边和上边的预测模式分别是AB,如果左边或上边PU不是帧内预测模式或是PCM模式,则ABDC;另外,如果上边PU块不在当前CTU内,那么B也为DC。确定好AB之后:

        A=B时,如果AB都大于2,即AB都不是PlanarDC,那么:

            M1=A

            M2=2+((A-2-1+32%32

            M3=2+((A-2+1%32

       A=B时,如果AB至少有一个小于2,即ABPlanarDC,那么:

            M1=PlanarM2=DCM3=26(竖直方向预测)

       A=B时,M1=AM2=B,对于M3按照下面规则决定:

            如果AB都不是Planar,那么M3=Planar

            如果AB都不是DC,那么M3=DC

            否则,说明{AB=PlanarDC},那么M3=26

       对于choma luma5个可选的帧内预测方向(Planar/0DC/1Vertical/26Horizontal/10luma PU的预测方向)。对于预测模式的编码,通过0表示luma PU的预测方向,100111101110分别表示Planar/0DC/1Vertical/26Horizontal/10

       另外,在进行帧内预测时,如果CUmininum size CU,且将CU划分成4PU时,那么要保证TU小于等于PU,如下图:表示一个8x8CU块分成4PU,那么必须分成四个4x4TU块,至于每个TU是否进一步划分成更小的TU不作限定,只根据正常TU划分的条件判断。这是为了提高intra预测的精确度。图a表示如果CU不化成4TU,那么intra预测的距离就会较远。图b则表示了将CU划分成4TU,这时候预测右边的小PU时,左边的PU已经预测完成,并进行了变换和重建,可以保证预测距离更近。

 

如果一个CUprediction modeinter prediction(帧间预测):

        对于inter PUluma PBchoma PBs拥有相同的PU划分模式和motion parameters(包括运动估计方向数目(1/2),参考帧索引,和对每个运动估计方向的运动矢量MV)。HEVC中有8PU划分模式(2Nx2NNxN2SMP4AMP),如下图所示: 

 

        对于NxN模式,只有mininum size CU可以使用,且8x8CU不能使用。

        对于AMP模式,只有32x3216x16CU可以使用,8x864x64CU不能使用,所以inter PU的最小尺寸为8x44x8,这是因为TU最小尺寸为4x4,进行变换的最小单元也是4x4。另外,HEVC可以在SPS中通过一个syntax禁用AMP

        H.262HEVC过程中,PU的可选大小变化如下图: 


如果一个CUprediction modeSkip

        那么PU的划分模式只能是2N x 2N

        PS:对于4x88x4HEVC规定只能用单向预测,不能用双向预测。

                HM1中,实际可以通过inter_4x4_enabled_flag(在SPS中)指示是否使用4x4PU

 

TUtransform unit,变换单元

    对于是进行变量的单元,一个CU可以递归按照四叉树结构划分成TUsCU作为四叉树的root,如下图表示一个CU划分成TUs的结构: 


        CU划分成TUs中,TU的大小范围取决于max TU sizemin TU sizemax TU depth三个参数决定,这三个参数在SPS level进行传输。max TU size5表示最大TU32x32min TU size2表示最小TU4x4max depth3表示CU划分成TU最多划分成3层(如上图10111213就在第3层)。对于intra predition,要确保PU大于等于TU(即TU不跨多个intra PU),而inter predition没有相应的限制。

        另外,对于一个CU,最多有一个trasform tree syntax,所以一个CUluma CB choma CBs拥有相同的TU划分。但是除了对于8x8luma CB划分成4x4TB时,4x4choma CBs不会划分成2x2TB

 


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值