问题 问答题

阅读下列说明,回答问。
[说明]
在JPEG静态图像压缩标准中采用了8×8大小子块的二维离散余弦变换(Discrete Cosine Transform,DCT)。DCT变换是正交变换的一种。变换编码并不直接对空域图像信号进行编码,而是首先将空域图像信号映射变换到另一个正交矢量空间(变换域或频域),产生一批变换系数,然后对这些变换系数进行编码处理。

JPEG标准中,采用哪几种压缩方法对量化后的交流系数进行编码

答案

参考答案:使用Zig-Zag(或Z字形扫描)将二维交流系数转换为一维序列;采用行程(长度)编码、游程(长度)编码或者run-length编码、Huffman编码(或熵编码)。

解析: 本题考查JPEG编码算法及压缩过程的实现。
JPEG压缩编码算法大致分为3个步骤:


(1)通过正向离散余弦变换把数据从空间域变换到频率域,消除数据冗余度。
根据题意,首先要计算矩阵的DCT变换结果,假定系数矩阵为X,DCT变换矩阵为A,那么变换后的系数矩阵X的计算公式为X=A×A[T],计算即可得到结果。
同时也可以根据正交变换的本质,简单地计算出X的结果。X矩阵中各个系数相同,都为100,那么变换矩阵中的交流系数都为0,而直流系数为400。
(2)使用加权函数对DCT系数进行量化。
为达到压缩的目的,对DCT系数F(u,v)进行量化处理。量化处理是一个多到一的映射,它是造成DCT编解码信息损失的根源。在JPEG标准中采用线性均匀量化器,量化定义为对DCT系数除以量化步长,四舍五入取整,公式如下所示:
F[Q](u,v)=IntegerRound (F(u,v)/Q(u,V))其中Q(u,v)是量化步长,在量化矩阵中给出相应值。
(3)使用Huffman可变字长编码器对量化系数进行编码。
JPEG压缩编码算法的主要计算步骤如下(JPEG2000标准有所不同):
·正向离散余弦变换(FDCT)。先按序分块,将图像分为8×8的图像子块,对每一个子块进行DCT变换,得到DCT系数矩阵。
·量化。DCT系统矩阵量化后提高了压缩率。
·Z字形编码。量化后的DCT系数需要重新编排,目的是为了增加连续的“0”的个数,就是“0”的行程长度。
·使用差分脉冲调制(DPCM)对直流系数DC进行编码:8×8的图像块经过DCT变换后得到的直流系数有两个特点:一是系数的数值比较大,二是相邻图像块的DC系数数值变化不大。使用差分脉冲编码DPCM技术,对相邻图像块之间量化DC系数的差值进行编码。
·使用行程长度编码(RLE)对交流系数AC进行编码。量化后AC系数的特点是矢量中包含有许多连续的“0”系数,因此可以使用简单和直观的行程长度编码对它们进行编码。
·熵编码。使用熵编码做进一步的压缩。主要采用霍夫曼编码方法。

单项选择题 A1型题
单项选择题