首页 > 范文大全 > 正文

基于离散余弦变换的图像压缩研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于离散余弦变换的图像压缩研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:图像压缩是数据压缩技术在数字图像上的应用,其目的是减少图像数据中的冗余信息,从而用更加高效的格式存储和传输数据。图像压缩可以是有损数据压缩也可以是无损数据压缩。这里所研究的是有损压缩技术,对于此类技术,变换编码是最常用的方法,如离散余弦变换(DCT)或者小波变换这样的傅里叶相关变换,然后进行量化和用熵编码法压缩。

关键词:图像压缩; 离散余弦变换; 傅里叶变换; 熵编码

中图分类号:TN911.73-34文献标识码:A文章编号:1004-373X(2011)21-0086-03

Research of Image Compression Based on Discrete Cosine Transform

CHEN Yi-hu

(Department of Mathematics, Baoji University of Arts and Sciences, Baoji 721013, China)

Abstract:

Image compression is the application of data compression technology in digital image, whose purpose is to reduce the redundant information in image data, so as to store and transmit the data more efficient. Image compression can either be lossy data compression or non-destructive data compression. The lossy compression technology, in which the transform coding methods are the most commonly used methods. Fourier related transform methods such as discrete cosine transform (DCT) and Wavelet transform, which was quantified and compressed by the method of entropy coding.

Keywords: image compression; DCT; Fourier transform; eneropy code

0 引 言

图像压缩编码技术可以追溯到1948年提出的电视信号数字化,到今天已经有50年的历史了。20世纪50年代和60年代的图像压缩技术由于受到电路技术等制约,仅仅停留在预测编码、亚采样以及内插复原等技术的研究上,还很不成熟。自80年代后期以来,由于小波变换理论、分形理论、人工神经网络理论、视觉仿真理论的建立,人们开始突破传统的信源编码理论,例如不再假设图像是平稳的随机场。图像压缩编码向着更高的压缩比和更好的压缩质量的道路前进,进入了一个崭新的、欣欣向荣的大发展时期。

1 图像的编码表示

本质上说,图像压缩就是对要处理的图像源数据用一定的规则进行变换和组合,从而达到以尽可能少的代码(符号)来表示尽可能多的数据信息的目的。压缩通过编码来实现,所以,一般把此项处理称为压缩编码。从信息论的角度来看,压缩就是去掉信息中的冗余,即保留不确定的信息,去掉确定的信息,也就是用一种更接近信息本质的描述来代替原有冗余的描述。这个本质的东西就是信息量。

在数字图像压缩中,有三种基本的数据冗余:像素相关冗余、编码冗余、心理视觉冗余。如果能减少或者消除其中的一种或多种冗余,就能取得数据压缩的效果。无损压缩也称冗余度压缩方法,利用数据的统计冗余进行压缩,具体来说就是解码图像应与压缩编码前的数据严格相同,没有失真,从数学上讲是一种可逆运算。有损压缩方法也称为信息量压缩方法,利用了人类视觉或听觉对图像或声音中某些频率成分不敏感的特性,允许压缩过程中损失一定的信息,所损失的部分对理解原始图像的影响较小,却换来了大得多的压缩比。

2 离散余弦变换理论基础

在图像处理的广泛领域中,傅里叶变换起着非常重要的作用,包括图像增强、图像分析、图像复原和图像压缩等。在图像数据的数字处理中常用的是二维离散傅里叶变换,它能把空间域的图像转变到频域上进行研究,从而很容易地了解到图像各空间频域成分,进行相应处理。在计算机上使用的傅里叶变换通常都是离散形式的,使用离散傅里叶变换的根本原因有:第一,DFT的输入、输出均为离散形式的,有利于计算机处理;第二,计算机DFT存在快速算法――快速傅里叶变换。

离散余弦(Discrete cosine Transform,DCT)是与傅里叶变换相关的一种变换,它类似于离散傅里叶变换,但是只使用实数,相当于一个长度大概是它两倍的离散傅里叶变换。通常所说的离散余弦变换指的就是这种。它的逆通常相应地被称为反离散余弦变换、逆离散余弦变换或者IDCT。任何连续的实对称函数的傅里叶变换中都只含余弦项,因此余弦变换与傅里叶变换一样有明确的物理量意义。因此经常被图像处理使用,用于对图像进行有损数据压缩。这是由于离散余弦变换具有很强的“能量集中”特性:大多数的自然信号的能量都集中在离散余弦变换后的低频部分,而且当信号具有接近马尔可夫过程的统计特性时,离散余弦变换的去相关性接近于K-L变换(Karhunen-Loève变换),它具有最优的去相关性性能。

3 使用离散余弦变换进行图像压缩

离散余弦变换是先将整体图像分成N×N像素块,然后对N×N像素块逐一进行离散余弦变换。由于大多数图像的高频分量较小,相应于图像高频成分的系数经常为零,加上人眼对高频成分的失真不太敏感,所以可用更粗的量化,因此传送变换系数所用的数码率要大大小于传送图像像素所用的数码率。到达接收端后,再通过反离散余弦变换回到样值,虽然会有一定的失真,但人眼是可以接受的。

利用离散余弦变换进行图像压缩技术的计算机过程为:首先从原始图像中读取出利用数字矩阵表示的RGB图像数据,为了编写出可操作性较强程序一般将该矩阵分为16×16或者8×8的小方阵,以每个小方阵为单位,进行离散余弦变换,变换完毕后每个方阵的低频部分就集中到了矩阵的左上角,而高频部分就集中到了右下角,而它的低频部分代表了图像的大部分信息,相比之下高频部分就显得不是特别重要了,此时可以根据实际需要或对压缩比的要求来决定对右下角高频部分舍弃的程度。

N代表像素数,一般N=8,8×8的二维数据块经离散余弦变换后变成8×8个变换系数,这些系数都有明确的物理意义:u代表水平像素号,v代表垂直像素号。当u=0,v=0时,F(0,0)是原64个样值的平均,相当于直流分量,随着u,v值的增加,相应系数分别代表逐步增加的水平空间频率分量和垂直空间频率分量的大小。

输入图像首先被分成8×8的图像子块,然后对每个图像子块计算二维离散余弦变换。离散余弦变换的系数经过量化,编码并传输;在读取图像时,解码出离散余弦变换系数,进行二维离散余弦逆变换,最后将子块放到图像中。Matlab图像处理工具箱中提供的二维DCT变换及DCT反变换函数。DCT2实现图像的┒维离散余弦变换,其语法格式为:B=DCT2(A),B表示返回图像A的二维离散余弦变换值,其大小与A相同,且各元素为离散余弦变换的系数B(i,j)。通常情况下,一副图像并不会正好就是8的倍数,这样在边角就会出现非方阵的矩阵,此时使用B=DCT2(A,m,n)。Matlab对于此处理规则是如果m和n比图像A大,在对图像进行二维离散余弦变换之前,先将图像A补零至m×n;如果m和n比图像A小,则进行变换之前,将图像A剪切。IDCT2可以实现图像的┒维离散余弦反变换,其语法格式为:B=IDCT2(A);B=IDCT2(A,m,n)。对于非方阵的处理规则同上。

图1是Matlab自带的用离散余弦变换(DCT)进行压缩的实例截图,从图中可以看出,DCT技术很好地还原了图像,而其达到了比较高的压缩比。其中的Original Trees Image代表了原始图像,Reconstructed Image代表了压缩后的图像。可以看出,有一定的失真但不明显,后面的Error Image代表了原图像和压缩图像之间的误差,大体可以看出一些轮廓。Matlab采用了8×8的小方阵进行DCT变换。

上面采用的是灰度图,下面采用Windows XP自带的彩色图片进行离散余弦变换,如图2所示,采用较高的压缩比,失真较为明显。

4 离散余弦变换算法的改进

二维离散余弦变换的常规算法是行列法,对于计算N×N的矩阵,需要计算2N个一维的向量,为了更有效地计算二维,有学者提出了一种直接作用于二维数据集的快速算法,该算法对于计算N×N的矩阵,只需计算N个一维向量,б虼丝梢杂行У丶跎偌扑闶奔洌所需乘法次数只是常规算法的50%。目前国内外学术界关于如何加快DCT变换的研究进行的比较多,成熟的算法还有快速哈特莱变换(也就是离散哈特莱变换的快速算法)、快速余弦变换、快速沃尔什-哈达玛变换、快速数论变换、快速多项式变换等。

5 结 论

离散余弦变换具有算法简单,易于硬件实现等优点,从而广泛应用于图像压缩领域。然而,它在低比特率条件下的方块效应成了不容忽视的瓶颈缺陷。原因就在于离散余弦变换处理的图像是分块进行的,块与块边界两边的像素相关性不能去掉,从而形成了明显的方块边界。若将DCT变换与其他编码方法如小波变换、分形等相结合,将会得到更好的效果。

参考文献

[1]郑戟明,曹玉茹.基于Matlab的图像压缩处理及其实现[J].微计算机信息,2010(10):143-144.

[2]练华,宋宝瑞.基于小波变换的分形图像编码[J].上海交通大学学报,2004,38(4):637-640.

[3]吴崇明.基于Matlab的系统分析与设计:小波变换[M].西安:西安电子科技大学出版社,2000.

[4]姚庆栋.图像编码基础[M].北京:清华大学出版社,2006.

[5]闫敬文.数字图像处理技术与图像图形学基本教程[M].北京:科学出版社,2002.

[6]黄伟,龚沛曾.图像压缩中的几种编码方法[J].计算机应用研究,2003,20(8):67-69.

[7]周晓光.极化SAR图像分类方法研究[D].长沙:国防科学技术大学,2008.

[8]杨旭东,王万良.基于改进的MSE准则的小波图像压缩[J].计算机辅助设计与图形学学报,2003,15(4):402-409.

[9]王福龙.基于DCT和小波变换三维视频编码的研究[D].广州:华南理工大学,2001.

作者简介:

陈一虎 男,1975年出生,陕西宝鸡人,硕士,讲师。主要研究方向为智能算法与图像处理。