图像压缩编码Word格式文档下载.docx
《图像压缩编码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图像压缩编码Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
1、图像压缩编码的背景意义
图像由于其表示方法的原因导致其完整、真实的保存一幅图片时,所占用的物理空间是极其庞大的。
例如一幅1024*468,256色的图像,就需要存储1024*468*24=11501568个位,相当于1024*468*3=1437696个字节,约合1040kb的信息。
而这种图像在网络环境中几乎是不可接受的,因此对图像进行数据压缩是一个值得我们重视的问题。
图像编码压缩的目的是节省图像存储空间,减少传输信道的容量,缩短图像加工处理时间,针对不同的应用目的可以使用不同的压缩方法。
图像的数据压缩可分成两类,一类是无损压缩,另一类是有损压缩。
无损压缩利用数据的统计冗余进行压缩,可以保证在数据压缩和还原过程中,图像信息没有损失或失真,图像还原(解压缩)时,可完全恢复,即重建后的图像与原始图像完全相同。
例如,有行程编码(RLE)、增量调制编码(DM)、霍夫曼(Huffman)编码、LZW编码等。
有损压缩方法利用人眼视觉对图像中的某些频率成分不敏感的特性,采用一些高效的有限失真数据压缩算法,允许压缩过程中损失一定的信息。
采用有损压缩的数据进行图像重建时,重建后的图像与原始图像虽有一定的误差,但并不影响人们对图像含义的正确理解,却换来了较大的压缩比,大幅度减少了图像信息中的冗余信息。
2、行程编码(Run-LengthEncoding,RLE)
2.1RLE算法的基本原理
RLE(Run-LengthEncoding行程长度编码)算法是Windows系统中使用的一种图像文件压缩方法,其基本思想是:
将一扫描行中颜色值相同的相邻像素用两个字节来表示,第一个字节是一个计数值,用于指定像素重复的次数;
第二个字节是具体像素的值。
主要通过压缩除掉数据中的冗余字节或字节中的冗余位,从而达到减少文件所占空间的目的。
例如,有一表示颜色像素值的字符串RRRRRGGBBBBBB,用RLE压缩方法压缩后可用5R2G6B来代替,显然后者的串长度比前者的串长度小得多。
译码时按照与编码时采用的相同规则进行,还原后得到的数据与压缩前的数据完全相同。
因此,RLE是无损压缩技术。
对于拥有大面积,相同颜色区域的图像,用RLE压缩方法非常有效。
2.2RLE特点
RLE所能获得的压缩比有多大,这主要是取决于图像本身的特点。
如果图像中具有相同颜色的图像块越大,图像块数目越少,获得的压缩比就越高。
反之,RLE对颜色丰富的自然图像就显得力不从心,在同一行上具有相同颜色的连续像素往往很少,而连续几行都具有相同颜色值的连续行数就更少。
如果仍然使用RLE编码方法,不仅不能压缩图像数据,反而可能使原来的图像数据变得更大。
因此,具体实现时,需要和其它的压缩编码技术联合应用。
在RLE数据压缩中,只有当重复的字节数大于3时才可以起到压缩作用,并且还需要一个特殊的字符用作标志位
2.3RLE编码的效果及分析
如下图所示,仅对几幅主要图像进行分析:
图2.1原始图像
图2.2原始图像转化为灰度图像
图2.3重建后的灰度图像
图2.1是对原图像直接灰度化得到的图像,图2.3是经过行程编码二维重建后得到的灰度图像。
从视觉上来看,图像的细节和平滑性都没有改变。
即压缩前后图像没有损失。
表1行程编码中各图像参数对照表
从表1中的数据对比可以看出,image3是原图像经过灰度化在经过二值化后重建的二维数组图像,其所占字节3555752,rec2_image是经过行程编码解压后重建的二维数组图像,其所占字节为355752。
表明图像经过压缩再经过解压后恢复原图像,没有损失。
这也正好符合图像压缩编码的评价准则,即客观和主观保真准则。
从压缩效果来看,CR=image2length/image4length,表明压缩前的图像所占用的存储空间是压缩后的33.3632倍,课件压缩效果非常好,这也正符合了行程编码的特点:
原图像,特别是二值图像,仅包含了很少几个灰度级,非常有效。
无损压缩方法的优点是能够比较好地保存图像的质量,而且不同的无损压缩方法对同一种图像的压缩效果会有所差异。
但是相对来说这种方法的压缩率比较低。
3、离散余弦变换
3.1原理及计算公式
离散余弦变换,简称DCT,是一种实数域变换,其变换核为实数的余弦函数,计算速度较快,而且对于具有一阶马尔柯夫过程的随机信号,DCT十分接近于Karhunen-Loeve变换,也就是说它是一种最佳变换,很适于做图像压缩和随机信号处理。
对于数字信号X(m,n),0≤m≤M,0≤n≤N,其二维DCT变换定义为
Y(k,1)=
其中,k=0,1,…,M-1;
l=0,1,…,N-1
;
二维DCT变换具有可分离性,可以分解为双重的一维DCT,实现起来非常方便。
二维DCT反变换(IDCT)定义为
X(m,n)=
其中,
。
由上式可知,原始图像X(m,n)可表示为以Y(k,l)为权值的一系列函数的加权
0≤m≤M-1,0,0≤n≤N-1
组合,这组函数就是DCT基函数。
3.2原理简介
任何连续的事物堆成函数的傅里叶变换中只含有余弦项,因此余弦变换与傅里叶变换一样,有明确的物理意义。
DCT实现将整体图像分成N*N像素块,然后对N*N像素块逐一进行DCT变换。
由于大多数的图像的高频分量较小,相应于高频成分的系数经常为零,加上人眼对高频成分的失真不太敏感,所以可以用更粗的量化。
因此传送变换系数所用的数码率要大大小于传送图像像素所用的数码率。
到达接收端后再通过反离散余弦变换回到样值,虽然会有一定的失真,但是能基本接受。
N代表像素数,一般N=8,8*8的二位数据块经DCT后变成8*8个变换系数,这些系数都有着明确的物理意义:
U代表水平像素号,V代表处置像素号。
随着U、V值增大,相应的系数分别代表逐步压缩的水平空间频率分量和垂直空间频率分量的大小。
在JPEG图像压缩算法里,输入图像被分为8*8小块,然后对每一小块进行二位DCT变换,变换后的系数量化、编码并传输,JPEG格式文件解码量化了的DCT系数,对每一块计算二位逆DCT变换,最后把结果块拼接成一个完整的图像。
在DCT变换后舍弃那些不严重影响图像重构接近0的系数。
3.3运行结果分析
图3.1cameraman的原始图像
图3.2二维离散余弦变换图像
由运行结果可知,DCT变换具有能量集中的性质,数据集中在左上角。
图3.3DCT变换后的频域图像
分析:
通过矩阵a1只对图像左上角的一部分进行了DCT变换后的频域处理。
8×
8的图像经过DCT变换后,其低频分量都集中在左上角,高频分量分布在右下角(DCT变换实际上是空间域的低通滤波器)。
由于该低频分量包含了图像的主要信息(如亮度),而高频与之相比,就不那么重要了,所以我们可以忽略高频分量,从而达到压缩的目的。
图3.4复原图像
对图3.2左上角变换后的频域图像进行反量化得到复原图像,因此复原图像就只有原图像的左上角一部分。
图3.5压缩图像
只保留DCT变换的10个系数,占15%比较原图像和重构图像,可以发现:
在抛弃85%的DCT系数后,重构图像时不会带来其画面质量的显著下降,采用这种方法来实现压缩算法时,可以通过修改mask变量中的DCT系数来更好地比较仿真结果。
对比压缩前后的图像易知,压缩后的图像稍微模糊,这是因为该有损压缩法丢失了原图像部分数据信息。
但由于DCT变换有使图像能量集中在左上方的特性,因此压缩图像保留了原始图像大部分特征,其视觉效果与原图像相差不大。
4结束语
数据压缩技术的优劣主要是由所能达到的压缩倍数、从压缩后的数据所能恢复的图像的质量和算法的复杂度、解码的速度等方面来衡量的。
应用MATLAB来实现基于行程编码和DCT的图像压缩编码。
行程编码具有处理比较单一色彩的图像压缩率高,且二维重建不失真的优点;
DCT编码具有压缩方法简单、仿真程序思路清晰的优点,既保证有较高压缩比,又保证有较好的图像质量。
参考文献
[1]
张志涌,杨祖樱.
MATLAB
教程.
北京:
北京航空航天大学出版社,2006,9-201.
[2]
刘卫国.
程序设计教程[M].
中国水利水电出版社,2005,
101-150
[3]
章毓晋.图像工程(上册)——图像分析.第二版.北京:
清华大学出版社,2005,7-30
[4]
章毓晋.图像工程(中册)——图像分析.第二版.北京:
清华大学出版社,2005,30-87
[5]
黄爱民,安向京,骆力.数字图像处理与分析基础.
北京:
中国水利水电出版社,2005,7-50
[6]曹雪虹,张宗橙.信息论与编码.第2版.北京:
清华大学出版社.2009:
18-25
[7]郭文强,侯勇严.数字图像处理.西安:
西安电子科技大学出版社,2009:
6-12
[8]关可,王建新.信息论与编码技术.北京:
清华大学出版社,2009:
35-38