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.
(二)预测单元PU
预测模式分为帧内intra和帧间inter两类。帧间inter预测模式又包含特殊的skip模式。预测单元的划分方式:
(三)变换单元TU
在1个CU中,TU的划分依赖于CU的大小(TU最大划分深度由SPS参数设定),允许一个TU跨域多个PU。
TU尺寸越大,压缩效率越高,尺寸越小,则能保存的细节越多。根据残差系数,TU可以自适应选择模式。
TU的划分也是四叉树的。
以上仅为HEVC的块划分方法,下一篇文章将学习总结如何从语法元素得到MV等运动信息~