视频DCT变换与量化

一、变换域编码——整数DCT

\quad将空间域描述的图像,经过某种变换后得到变换域中的数据,达到改变数据分布形式、减少有效数据量的目的。
\quad变换包含DCT(离散余弦变换)、DST(离散正弦变换)等,这里我们主要讨论DCT。在图像视频压缩中采用的变换都是正交变换,因为正交变换不改变信源熵值,完全可以通过反变换重建原图,且压缩程度高。变换的好处在于使得数据分布发生改变,变换系数向低频方向集中,利于编码。
\quad采用DCT变换的图像、视频压缩基本框架如下:
视频DCT变换与量化
\quadH.264采用整数DCT变化,主要目的有两个:1. 采用整数,提高运算速度 2. 将归一化和量化整合在一起,减少乘运算。变换方程为Fc=CfCTF_c=C \cdot f \cdot C^T,,变换矩阵C,第 u 行,第 x 列元素表示为:
视频DCT变换与量化
在N=4时,即4x4图像块的DCT变换为:
视频DCT变换与量化
其中,
视频DCT变换与量化

二、数据扫描

“之”字扫描(Zig-Zag) — 逐行扫描顺序

视频DCT变换与量化

“之”字扫描(Zig-Zag) — 场扫描顺序

视频DCT变换与量化

三、量化

\quad量化是指将信号的连续取值(或大量可能的离散取值)映射为有限多个离散值的过程,实现信号取值多对一的映射。在视频/图像编码中,残差信号经过DCT后,变换系数往往具有较大的动态范围,因此对变换系数进行量化可以有效地减小信号取值空间,获得更好的压缩效果。
\quad量化分为两类,如下:

  • 标量量化:无需分析数据统计特性,复杂度低,但平均量化误差大。被主流的图像、视频编码标准所采用;
  • 矢量量化:基于数据统计属性的量化器,平均量化误差低,但不容易实现。
    \quad对于位于某个区间的值x,都用一个定值代替。即y=Q(x)=yk,x[xk,xk+1)y=Q(x)=y_k, x \in [x_k, x_{k+1})。假定量化的级别,即重建值的个数为L,则表示这些量化索引所用的最多平均比特数为log2Llog_2 L

均匀量化

  • 均匀量化的特点是在整个量化范围内,各个量化间隔都相等;
  • 若信号X的取值范围为[a, b],量化级别为L,则每个量化间隔的大小为Δ=baL\Delta = \frac{b-a}{L}
  • 均匀量化的量化误差q的取值范围为Δ/2qΔ/2-\Delta /2 \le q \le \Delta /2,q在[Δ/2,Δ/2][-\Delta /2, \Delta /2]服从均匀分布,故而量化误差的方差为σq=1ΔΔ/2Δ/2q2dq=Δ212σ_q = \frac{1}{\Delta} \int_{-\Delta /2}^{\Delta /2} q^2 dq=\frac{\Delta ^2}{12}

最优量化