[问题1]
一个4×4的正向DCT变换公式为:
4×4的正向离散余弦变换矩阵A为:
对如下一个4×4的亮度子块进行DCT变换,请写出变换后的4X4系数矩阵。
0100 | 100 | 100 | 100 |
100 | 100 | 100 | 100 |
100 | 100 | 100 | 100 |
100 | 100 | 100 | 100 |
参考答案:
解析:[问题1]
400 | 0 | 0 | 0 |
0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 |
[分析]:
本题考查对JPEG压缩编码的理解,重点考查DCT变换和量化技术的本质。
首先计算矩阵的DCT变换结果,假定系数矩阵为x,DCT变换矩阵为A,那么变换后的系数矩阵x的计算公式为:
X=AxAT
展开上述公式,即题目中给出的第一个计算公式。根据两个公式都可以计算出最终结果。
另外,可以根据正交变换的本质,很简单的计算出X的结果。x矩阵中各个系数相同,都为100,那么变换矩阵中的交流系数都为0,而直流系数为400。
为达到压缩的目的,对DCT系数F(u,v)进行量化处理。量化处理是一个多到一的映射,它是造成DCT编解码信息损失的根源。在JPEG标准中采用线性均匀量化器,量化定义为对DCT系数除以量化步长,四舍五入取整,如下面公式所示:
FQ(u,v)=Integer Round(F(u,v)/Q(U,V))
其中Q(u,v)是量化步长,在量化矩阵中给出相应值。
JPEG压缩编码算法的主要计算步骤如下(JPEG2000标准有所不同):
①正向离散余弦变换。
②量化。
③Z字形编码。
④使用差分脉冲调制(DPCM)对直流系数(DC)近似编码。
⑤使用行程长度编码(RLE)对交流系数(AC)近似编码。
⑥熵编码。
量化后的DCT系数需要重新编排,目的是为了增加连续的“0”的个数,就是“0”的行程长度,方法是按照z字形的式样对量化系数进行编排。
8×8的图像块经过DCT变换后得到的交流系数(AC系数)的特点是矢量中包含有许多连续的“0”系数,因此可以使用非常简单和直观的行程长度编码对它们进行编码。
为了进一步达到压缩数据的目的,需要对量化后AC行程编码的码字再作基于统计特性的熵编码。主要采用霍夫曼编码方法。