HM熵解码(1)一HEVC树形编码块

研究生阶段第一个topic安排上了,努力搬砖!!! 

前期需要完成HEVC的熵解码,将语法元素的顺序像是像素一样有顺序地再组织起来.

(VPS, SPS, PPS参数集的内容如果后续处理需要再补上,直接从CTU的编码开始)

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                             HEVC树形编码块

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

CTU由1个亮度CTB,2个色度CTB和相应的语法元素组成.

CTB的尺寸可以是:16x16, 32x32, 64x64, 由编码器指定.尺寸越大,编码效率越高.

HEVC定义了新的语法单元:

  • 编码单元CU(Coding Unit)是预测,变换量化和熵编码等处理的基本单元
  • 预测单元PU(Prediction Unit)是帧内预测/帧间预测的基本单元
  • 变换单元TU(Transform Unit)是变换/量化的基本单元

(一)编码单元CU

先分割为等尺寸的CTU,继续划分的深度d取决于各CU的split_flag.

HM熵解码(1)一HEVC树形编码块

HM熵解码(1)一HEVC树形编码块

(二)预测单元PU 

预测模式分为帧内intra和帧间inter两类。帧间inter预测模式又包含特殊的skip模式。预测单元的划分方式:

HM熵解码(1)一HEVC树形编码块

(三)变换单元TU

在1个CU中,TU的划分依赖于CU的大小(TU最大划分深度由SPS参数设定),允许一个TU跨域多个PU。

TU尺寸越大,压缩效率越高,尺寸越小,则能保存的细节越多。根据残差系数,TU可以自适应选择模式。

TU的划分也是四叉树的。

HM熵解码(1)一HEVC树形编码块

 

以上仅为HEVC的块划分方法,下一篇文章将学习总结如何从语法元素得到MV等运动信息~