【笔记】HEVC 编码标准(六)——量化

本文详细介绍了量化在图像和视频编码中的原理和应用,包括标量量化的基本概念、均匀量化和Lloyd-Max最优量化器。特别讨论了H.265/HEVC标准中的量化和反量化过程,以及率失真优化量化(RDOQ)技术,强调了量化参数的灵活控制和量化矩阵的作用。此外,还提到了熵编码量化器的概念,指出在考虑熵约束时的优化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

量化是指将信号的连续取值(或大量可能的离散取值)映射为有限多个离散幅值的过程,实现信号取值多对一的映射。量化不可避免地引入失真。量化器可分为标量量化器和矢量量化器。目前主流的图像、视频编码标准都使用了标量量化器。

一、标量量化

1、基本原理

标量量化是将一个幅值连续的信号映射成若干个离散的符号,如图所示,将横轴即输入信号划分为M个互不相交的区间(图中M=9):
Iq=[tq,t(q+1) ),q=0,1,…,M-1
tq为区间端点,称为量化器的判定边界。
对于每个区间,分别取点x ̂q作为输出值,也称重建值。
在这里插入图片描述

图1 标量量化器示意图
该标量量化器可以可做图2的(a),还有另一种表现形式,如(b)所示,输入信号经量化后映射为某些用于表示重建值的索引号l。l经过反量化过程后得到重建值x ̂。
在这里插入图片描述

2、均匀量化

均匀标准量化是将输入值域划分为等间距的区间,每个区间的输出值为该区间的中点,区间的长度称为量化补偿,用△表示。
Δ=(b-a)/M
a,b分别为输入信号的最小值和最大值。M为重建个数。
量化器输出为
x ̂i=(ti+t(i+1))/2,i=0,1,…,M-1
ti=a+i∙Δ
量化误差主要由三种衡量准则:均方误差(MSE)、信噪比(SNR)和峰值信噪比(PSNR)。
在这里插入图片描述

对于均匀分布的输入信号,若用MSE准则,则有MSE=Δ^2/12。

3、Lloyd-Max量化器(最优标量量化器)

最优标量量化器的必要条件为
在这里插入图片描述
上述两个式子表明判定边界点应位于相邻的两个重建值的重点,某一区间的重建值应为区间的“质心”。通常以迭代的形式求解,即Lloyd-Max算法,步骤如下:
在这里插入图片描述

4、熵编码量化器

Lloyd-Max量化器是在给定重建值数目M的约束条件下,使量化失真最小,若采用定长编码,则每个量化输出值需要的比特位数为R=[log2M]。若采用不等长编码,有R≈H(x ̂i)≤log2M,当且仅当所有输出值等概时,等号成立。
对于H(x ̂i)<log2M时,Lloyd-Max量化器不是最优的。此时最优量化器应是在对熵的约束下使失真最小。
在这里插入图片描述
通过推到可得熵编码量化器的最优重建值以及区间的划分方式为:
在这里插入图片描述

可见,熵编码量化器的各区间重建值依然是“质心”,但边界在Lloyd-Max量化器的基础上引入一个偏差,边界会像概率小的重建值方向偏移。

二、H.265/HEVC中的量化

1、量化

H.265/HEVC标准仅规定了反量化过程的实现方法,而将量化器的选择留给编码器自行决定。H.265/HEVC编码器可采用传统的标量量化方法,表示如下:
li=floor(ci/Qstep +f)
其中,ci表示DCT系数,Qstep表示量化步长,li为量化后的值,floor()表示向下取整。H.265/HEVC标准规定了52个量化步长,对应52个量化参数(QP),关系为
Qstep≈2^((QP-4)/6)
对于色差信号使用较大的量化步长会出现颜色漂移现象。因此H.265/HEVC标准将色差信号的量化参数限制为0-45;亮度信号QP小于30时,色差信号QP与前者相同;亮度信号QP为30-51时,二者对应关系如下表:
在这里插入图片描述
H.265/HEVC的量化公式为
在这里插入图片描述
对于I图像,f=1/3,对于P图像或B图像,f=1/6。

2、反量化

HEVC的反量化公式为
在这里插入图片描述

3、率失真优化量化(RDOQ)

在视频编码中量化器设计需要权衡失真与比特率,RDOQ就是这样的量化器。主要思想是将量化过程同RDO准则相结合,对于一个变换系数ci,给定多个可选的量化值li,k,并利用RDO准则选出一个最优的量化值,计算如下:
在这里插入图片描述
H.265/HEVC的官方测试编码器HM使用了RDOQ。主要的步骤如下:
(1)确定当前TU每个系数的可选量化值。用下式对当前TU的所有系数进行预量化。
|li |=round(|ci |/Qstep )
(2)利用RDO准则确定当前TU所有系数的最优量化值。按扫描顺序遍历当前TU所有系数,对于每一个系数,遍历其可选量化值,利用RDO准则确定每个系数的最优量化值。
(3)利用RDO准则确定当前TU每一个系数块组(CG)是否量化为全零组。
(4)利用RDO准则确定当前TU“最后一个非零系数”的位置。

4、量化参数

H.265/HEVC制定了灵活的QP控制机制,引入了量化组(QG)的概念,规定一个CTB可以包含一个或多个固定大小的QG,同一个QG内的所有含有非零系数的CU共享一个QP,不同的OG可以使用不同的QP

(1)QG的概念

QG是将一幅图像分成固定大小的正方形像素块,大小N由PPS指定,必须处于最大CU和最小CU之间。CU和QG没有固定的大小关系。

(2)QP的预测编码

H.265/HEVC中使用相邻已编码QG的信息来预测当前QG的QP,计算为:
predQP=(QPA+QPB+1)≫1
在某些情况A或B不存在的时候,进行特殊处理。

(3)CU层QP的解析

QP的解析需要QP的预测值和预测误差。

①预测QP(predQP)的获取

分两种情况:
当一个QG包含一个或多个CU时,该QG内所用CU都使用一个QP,即当前QG的预测QP;
当一个CU包含多个QG时,将该CU的第一个QG的预测QP作为当前CU的预测QP。

②QP预测误差(deltaQP)的解析

deltaQP表示QG层QP与其预测QP的差值,以CU为单元进行传递,只有非零系数的CU才会携带deltaQP的信息。解析也分两种情况:
当一个QG包含一个或多个CU时,deltaQP会在解码顺序的第一个含有非零系数的CU中传递;
当一个CU包含多个QG时,该CU只对应一个deltaQP,即该CU中第一个含有非零系数的QG所携带的deltaQP。

③QP的计算方法

slice层QP的计算需用用到初始QP(QPpps)以及slice层QP的偏移值(dQPslice),计算如下:
sliceQP= QPpps +dQPslice
亮度分量的QP计算如下:QPY=QPpps+dQPslice
两个色度分量的QPCb、QPCr计算如下:QPCb= QPY+pps_qp_offsetCb+slice_qp_offsetCb
QPCr= QPY+pps_qp_offsetCr+slice_qp_offsetCr

5、量化矩阵

量化矩阵是对不同位置的系数使用不同的量化步长。
(1)H.265/HEVC中的量化矩阵
H.265/HEVC的变换量化的过程如图2所示,量化矩阵作用于比例缩放的过程,其大小与TU相同。比例缩放过程中,变换后的DCT(或DST)系数将与量化矩阵中对应位置的系数相除,所得的结果作为量化模块的输入。
在这里插入图片描述
图3 H.265/HEVC的变换量化过程
H.265/HEVC标准允许使用两种形式的量化矩阵:默认量化矩阵和自定义量化矩阵。H.265/HEVC标准定义了44和88两种大小的默认量化矩阵,并规定了1616、3232量化矩阵可由88量化矩阵通过上采样得到,并且88分为帧内、帧间两种不同形式。
对于自定义量化矩阵,H.265/HEVC允许编码器根据不同的应用场合自行决定量化矩阵各元素的值,量化矩阵需要被写入码流传送至解码端,使用差分编码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值