当前位置: 手机论文网>计算机类>人工智能>

基于DCT图像压缩算法的研究与仿真

阅读技巧m.Lw54.com 手机论文网

在现实生活中,图像压缩编码技术有非常重大的理论意义及实用价值,对促进多媒体通信的发展非常有必要[1]。瑞士学者M.Kunt等提出的算术编码是一种无损压缩,其压缩效果好,速度快[2]。在一些特定时刻,对于多灰度级图像或者是彩色图像以及声音文件,在损失一定数据的前提下,可以实现更加有效的压缩,只要这些失真不被人眼所感受到,在大多时候是可以接受的。诸多研究者已经开发出了许多压缩效果较好的图像和声音有损压缩算法。J.B.O.Neal[2]对比分析了DPCM和PCM并提出了用于电视的实验数据;20世纪90年代H.C.Andrews等[3]提出变换编码,采用的是二维离散傅立叶变换,此后相继出现用其他变换方法的变换编码,其中包括二维离散余弦变换。本文分析了基于离散余弦变换的有损图像压缩编码算法的原理,在MATLAB中对算法进行仿真,并且通过改变量化系数的个数N达到改变压缩图像质量的目的。

1 DCT压缩算法

1.1 DCT图像压缩编码算法

离散余弦变换(DCT)是将图像从空域变换到频域进行处理的方法[3]。在空域上相关性强的信息在频域上就会能量集中,所以在频域上只对高能量区域进行处理,忽略低能量区域,从达到压缩的目的。基于DCT的图像压缩的流程图如图1所示,其解压缩的过程与图1的过程刚好相反。

在JPEG基本编码系统中,输入图像首先被分解为8×8的像素块,再将每个像素块经过二维DCT变成64个系数值,运用最佳的量化步长对DCT系数进行量化,最后对量化结果进行编码,实现图像压缩。在解码端,首先对已编码的系数进行解码,再利用二维DCT反变换得到逆量化,将DCT系数转化为8×8像素块,最后将得到的像素块组合成单一的图像[4]。

1.2 DCT的基本原理

DCT的算法实质就是将图像的信息从空间域转换到频域,变换后的傅里叶级数只包含余弦项,通过压缩能量达到减少空间冗余的目的。

1.2.1 一维DCT算法

1.2.2 二维DCT算法

二维数据{x(n,m);n=0,1,…,N-1,m=0,1,…,M-1}的二维DCT定义为[4-5]:

1.3 量化与编码

量化就是通过减少精确度来减少存储数据所需要比特数的过程。图像经过DCT变换压缩后,离原点(0,0)越远的元素对图像的贡献越小,因而也就越不关心此处取值的精确性,量化公式为:

C(u,v)=int{F(u,v)/Q(u,v)}

其中C(u,v)是量化后的系数,F(u,v)是量化前变换系数的幅度值,Q(u,v)是量化步长。由于人眼对亮度信号比对色差信号敏感,并且对低频分量的图像比对高频分量的图像敏感,所以采用JPEG标准推荐的色度值和亮度值作为量化步长[6-7]。从表1和表2可见,每个DCT系数色度量化间隔和亮度量化间隔不一样。由于高频分量只影响图像细节,从整体来讲,没有低频分量重要,所以对低频分量,量化间隔小,精度高,误差小;对高频分量,量化间隔大,精度低,误差大[8]。量化处理是一个多到一的映射,它是造成图像信息损失的根源。

对量化后还需要编码,编码时先进行曲徊排序,路线如图2所示。然后将排序结果进行统计编码,对直流系数采用差分脉冲调制编码,其他63个交流系数一般采用huffman编码或者游程编码[9-10]。

2 MATLAB仿真实现

图像tree.jpg在MATLAB中对DCT编码方法进行仿真,图3(a)为原始图,图3(b)表明保留10个DCT变换系数,压缩重构后的图像质量较好[11-12]。图像压缩后的数据图像更为直观地显示出压缩的效果,如图3(c)所示,此时数据量只有原始数据的48%左右,在频域只是一个模糊的轮廓。图3(d)表示的是去除掉的52%左右的冗余信息。

通过修改掩码矩阵中的DCT系数个数,可以改变图像压缩效率及压缩质量[13]。图4给出了取用不同的量化系数的个数N得到的压缩图。

从图4 可以看出,量化系数的个数越大,图像复原的质量越好。表3给出了不同量化系数的个数下,图像的压缩比、均方误差和峰值信噪比的值,从表3中可以直观的看出,当量化系数的个数越多时,图像压缩比越小,压缩时图像损失的信息越少,压缩的图像质量更好。

3 结论

本文主要对基于DCT变换的图像压缩算法进行了研究。在MATLAB中,针对一幅tree.jpg图像进行DCT变换,DCT变换能把图像从空间域变换到频率域,只需要对少量的系数进行量化编码,压缩效果明显。通过改变影响图像压缩效果的量化系数的个数N来改变压缩图像效率和质量的目的。结果表明,量化系数的个数越大,压缩效果越好,图像的峰值信噪比越大[13]。基于DCT变换的JPEG图像压缩方法简单、方便,易于在软件和硬件上实现,既能保证有较高的压缩比,又能保证有较好的图像质量,是一种非常有用的图像压缩方法[14]。

参考文献

[1] KUNT M.Generalized kraft inequality and arithmetic coding[J].IBM Journal of Research and Development, 1964, 20(6):204-208.

[2] NEAL J B O.A generalization of DPCM for digital image compression[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1979,1(1):105-109.

[3] ANDREWS H C.Prioritized DCT for compression and progressive transmission of images[J].IEEE Transactions on Image Processing,1992,1(8):78-82.

[4] 夏昌浩,熊伟,刘勇.基于DCT变换及其在图像压缩中的应用[J].科技信息,2010,17(12):419-420.

[5] 张敏海,吴新开,张婷婷.基于JPEG压缩编码算法的数字图像处理系统[J].计算机系统应用,2012,21(10):135-138.

[6] 张元伟,刘彦隆.基于JPEG标准的静态图像压缩算法研究[J].电子设计工程,2010,18(2):78-80.

[7] 张德干,康学净,王京辉.一种新的图像压缩编码算法[J].光电子·激光,2012,23(6):1173-1180.

(下转第91页)

[8] 武瑛.DCT变换在图像压缩中的应用[J].计算机与现代化,2013,28(4):103-106.

[9] 程丽,王聪丽,侯著荣,等.基于Matlab环境的JPEG图像压缩算法[J].四川兵工学报,2011,23(5):100-102,110

[10] 王延求.DCT变换图像压缩编码算法[J].中国科技信息,2014,23(15):122-125.

[11] 王玉晶,莫建麟.DCT算术编码在图像压缩中的应用[J]. 西南民族大学学报(自然科学版),2015,41(1):107-110.

[12] 彭干涛,禹峰,林嘉居.基于DCT变换的图像压缩编码的MATLAB实现[J].通信电源技术,2015,32(6):235-238.

[13] 陈波,王红霞,成礼智.图像压缩中的快速方向离散余弦变换[J].软件学报,2011,22(4):26-29.

[14] 纪秀花,张彩明,刘慧.适于图像压缩的二维8×8DCT查表快速算法研究[J].计算机研究与发展,2009,46(4):118-122.

(责任编辑:李堆淑)


[版权归原杂志和作者所有,m.lw54.com/help/48910.html 摘录自《商洛学院学报》,转载请注明出处和作者,仅供学习参考 ]

转载请注明来源。原文地址:http://m.lw54.com/20161228/6605082.html