H.265/HEVC学习笔记:量化

        量化是指将信号的连续取值(或者大量可能的离散取值)映射为有限多个离散幅值的过程,实现信号取值多对一的映射。在视频编码中,残差信号经过DCT后,变换系数往往具有较大的动态范围。因此对变换系数进行量化可以有效的减小信号的取值空间,进而获得更好的压缩效果。同时,由于多对一的映射机制,量化过程不可避免地会引入失真,它也是视频编码中产生失真的根本原因。
        一个量化器可由其输入端的范围划分方式以及对应的输出值唯一确定。根据输入输出数据的类型,量化器可以分为标量量化器和矢量量化器。在视频编码中使用的是标量量化器。
H.265/HEVC学习笔记:量化

一、标量量化器

1.1 基本原理

        图6.1是标量量化器的典型例子,该量化器的数学表达为:
H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化

1.2 均匀量化

        均匀量化是一种最简单的标量量化方法,它将输入值域划分为等距区间,每个区间对应的输出值为该区间的中点。区间的长度成为量化步长,用∆表示。量化步长取决于输入信号的变化范围以及重建值的个数。均匀量化器及量化误差,如下图所示:
H.265/HEVC学习笔记:量化

        量化误差(即失真)主要有三种衡量准则:均方误差(MSE)、信噪比(SNR)和峰值信噪比(PSNR)。
H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化

        对于均匀分布,使用均匀量化器可以获得最小的失真。对于非均匀分布使用Lloyd-Max量化方法可以获得更好的性能。

1.3 Lloyd-Max量化器

        Lloyd-Max量化器被称为最优量化器,它根据信号取值的概率分布计算量化区间的判定边界和重建值,采用MSE作为失真衡量准则。
H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化

1.4 熵编码量化器

        在设定码流的目标比特率,即对信息熵进行约束的情况下,Lloyd-Max量化器并不是最优的。这时,使用熵编码量化器可以获得更优的性能。设目标比特率为R,失真用MSE准则,熵编码的数学表达为:

H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化

二、H.265/HEVC中的量化

2.1 量化

        H.265/HEVC标准仅规定了反量化过程的实现方法,将量化器的选择留给编码器自行决定。因此,编码器可以灵活的选择量化方法,例如传统变量量化方法、自适应量化、率失真量化等。
H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化

2.2 反量化

H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化

2.3 RDOQ

        率失真优化量化(RDOQ)的主要思想是将量化过程同率失真优化(RDO)相结合,对于一个变换系数c_i,给定多个可选的量化值,并利用RDO准则选出一个最优量化值,计算如下:
H.265/HEVC学习笔记:量化

        H.265/HEVC的官方测试编码器HM使用了RDOQ。实现思路是,先对当前TU的系数进行预量化,然后将预量化值附近的量化值作为可选量化值,选择率失真代价最小的可选量化值作为最优量化值。并且加入了将TU中所有系数量化为0的选项,同样适用率失真优化准则与其他模式进行比较,选择率失真代价最小的量化值作为最终量化值。

2.4 量化参数

      在视频编码中,QP是一个非常重要的参数,它直接影响着视频的编码比特率。H.265/HEVC制定了一种非常灵活的QP控制机制,它引入了量化组(QG)的概念,规定一个CTB可以包含一个或多个固定大小的QG,同一个QG内的所有含非零系数的CU共享一个QP,不同QG可以使用不同的QP。这样一来,编码器可以更加灵活地进行速率控制。

2.4.1 QG

H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化

2.4.2 QP的预测编码

        H.265/HEVC中量化参数QP采用了预测编码的形式,使用相邻已编码QG的信息来预测当前QG的QP。QP的预测模板如图6.5所示,当前QG的预测QP表示为:
H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化

2.4.3 CU层QP的解析

        由于H.265/HEVC中QP使用了预测编码,因此QP的解析分为两部分:获取QP的预测值和预测残差。
H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化

2.5 量化矩阵

        量化矩阵是对不同位置的系数是使用不同的量化步长。例如,可以利用人眼对图像视频中的高频细节不敏感的特征,对高频系数使用较大的量化步长,而对于低频部分使用较小的量化步长。这样做能够在保证一定压缩率的同时提高图像或视频的主观质量。
H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化

H.265/HEVC学习笔记:量化
H.265/HEVC学习笔记:量化

参考文献:新一代高效视频编码H.265HEVC原理、标准与实现 [万帅,杨付正 编著] 2014年版