作业二DCT系数量化对图像压缩质量的影响一、实验内容用Matlab实现基于DCT的静态图像压缩,并讨论在对图像进行DCT变换后产生的DCT系数如何取舍、近似,并分析DCT系数量化对压缩质量和压缩比例的影响。二、实验背景图像数据的一个显著特点就是信息量大。组成图像的各像素之间,无论是在行方向还是在列方向上都存在着一定的相关性。应用某种编码方法提取或者减少这种相关性,就可以达到压缩数据的目的。所谓的图像压缩编码技术就是对要处理的图像源数据按一定的规则进行变换和组合,从而达到以尽可能少的代码(符号)来表示尽可能多的数据信息。目前的编码技术很多,其中应用最广泛的方法之一就是基于离散余弦(DCT)的混合编码技术。它不仅能获得高压缩率,更重要的是计算复杂度低,易于硬件实现等优点,被大多数国际图像、视频压缩标准推荐为核心压缩算法。KuanHuiTan和MohammadGhanbari提出了DCT的层式结构,是一种多分辨率分解形式的DCT编码:把原始图像经过2D-DCT后的图像分为4个块,再把具有相同频带子块按原来的空间位置组合成同频子带,接着对低频子带进行逆DCT(IDCT),得到的图像作为第二层输入图像,并重复上述过程,直到最后一层。这样使得DCT同样具有WT相近的性能,解决了WT用于视频压缩编码会面临与相对成熟的运动估计和运动补偿算法不匹配的问题等。当前DCT的主要研究方向之一是提高DCT压缩计算效率以及硬件实现。例如:根据图像数据为整数的特点,提出一种8×8整型DCT/IDCT变换算法,基于DSP或其它嵌入式芯片的8×8DCT算法实现等。三、实验原理离散余弦变换(DCT)是一种实数域变换,其变换核为实数余弦函数,计算速度较快,而且对于具有一阶马尔科夫过程的随机信号,DCT十分接近KL变换,也就是说它是一种近似的最佳变换,很适合用于图像压缩。DCT数据压缩的基本思想是:由于DCT的“能量聚集”特性,可以得知变换后的数据点之间的欧式距离中前面少数维的贡献最大,后面大部分的坐标分量趋近为零,对距离的贡献非常小。对一幅图像进行离散余弦变换后,许多有关图像的重要可视信息都集中在DCT变换的一小部分系数中。也就是说,可以通过损失较小的空间信息——舍弃大部分后面多余维数,来达到降低处理数据的维数。当然舍弃维数的多少应当视不同的数据变换后的能量聚集情况以及所能忍受的精度有所不同。这也是DCT数据压缩的本质含义。DCT数据压缩放弃高频系数,并对余下系数进行量化减小数据量。二维离散余弦正变换公式为:vNyuNxyxfNvcucvuFNyNx212cos212cos,2,1010式中,1,,1,0,,,Nvuyx。其它10,021)()(vuvcuc二维离散余弦逆变换公式为vNyuNxvuFvcucNyxfNvNu212cos212cos,2,1010式中,1,,1,0,,,Nvuyx。其它10,021)()(vuvcucJPEG采用的是8×8大小的子块的二维离散余弦变换。在编码器的输入端,把原始图像顺序地分割成一系列8×8的子块,子块的数值在-128到127之间。采用余弦变换获得64个变换系数。变换公式,如式所示。770012121,,coscos41616xyxyFuvcucvfxyuv式中,7,,1,0,,,vuyx。其它10,021)()(vuvcucDCT变换的实现常用三种方法,一种是基于FFT的快速算法;一种是蝶型算法(一般是8×8DCT);另一种是DCT变换矩阵方法。变换矩阵方法非常适合做8×8图像块的DCT变换。Matlab提供了dctmtx函数来计算变换矩阵。一个M×M的变换矩阵T定义为:10,112)12(cos210,01)(,MjMiMijMMjiMTTji则X的DCT变换Y为Y=TXTT。系数量化是一个十分重要的过程,是造成DCT编解码信息损失(或失真)的根源。量化的作用是在一定的主观保真度图像质量的前提下,丢掉那些对视觉影响不大的信息,以获得较高的压缩比。由于DCT系数包含了空间频率信息,可充分利用人眼对不同频率敏感程度不同这一特性来选择量化表中的元素值的大小,对视觉重要的系数采用细量化(量化步长较小),如低频系数被细量化,对高频系数采用粗量化(量化步长较大)。量化的目的是减小非“0”系数的幅度以及增加“0”之系数的数目,一般情况下都使用均匀量化器进行量化,量化步长是按照系数所在的位置和每种颜色分量的色调值来确定,因为人眼对亮度信号比对色差信号更敏感,因此使用了两种量化表,一个是亮度量化表,一个是色度量化表。此外,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此量化表中的左上角的量化步长一般要比右下角的量化步长小,量化机要使得大部分数据得以压缩,同时又要保证通过量化和编码之后能输出一个与信道传输速率匹配的比特流。利用离散余弦变换(DCT)进行图像压缩,首先要将输入的图像分解成8*8的块,然后对每个块进行二维离散变换,最后将变换得到的DCT系数进行编码和传送,解码时对每个块进行二维DCT反变换。最后再将反变换后的块组合一幅图像,对于通常的图像来说,大多数的DCT系数的值非常接近于0,如果舍弃这些接近于0的值,在重构图像时并不会带来图像画面质量的显著下降。四、实验步骤具体实验步骤如下:首先把每个单独色彩图像分量成8×8图像块,然后经过二维DCT变换,其低频分量都集中在左上角,高频分量分布在右下角(DCT变换实际上是空间域的低通滤波器)。由于该低频分量包含了图像的主要信息(如亮度),而高频与之相比,就不那么重要了,所以可以忽略高频分量,达到压缩的目的。五、实验结果分析以下是用不同的量化表进行压缩图像所形成的结果。经过不同的压缩比可以很容易的比较出图像压缩后的质量:实验结果如下:从实验结果分析得:原始图像量化系数为1的压缩图像量化系数为3的压缩图像量化系数为15的压缩图像随着DCT系数保留得越多,图像的误差越小,图像的质量越好,且它们之间是单调关系。DCT保留量化系数为1时,图片细节很模糊;DCT保留量化系数为3时,图像质量明显发生改善,但是一些细节部分处理的还是不好,但在边沿地方(如帽檐、头发)存在模糊;DCT保留量化系数继续增大到15,结果跟前结果相比图像质量又有进一步提高,图片细节已经很清楚了,此时图像用肉眼已经分辨不出跟原图的差别。显然当DCT保留系数更多时,图像将会更加清晰,图像质量将会更好。即:如果DCT系数舍去(归0)数量越多,则图像的压缩率越高,但是图像的质量越差。图像质量跟舍去的数量呈单调关系,即舍去的点越多,图像质量越差。六、参考文献[1]章毓晋.图象工程(上册)—图像分析和处理.北京:清华大学出版社,1999[2]覃凤清.基于DCT的图像压缩及其MATLAB实现.[期刊论文]–大众科技,2006(3)[3]吴文亮.DCT系数对静态图像压缩质量影响的研究、分析[期刊论文]–科苑观察,2006