APP下载

基于DCT变换的图像压缩编码的MATLAB实现

2015-03-15彭干涛林嘉居

通信电源技术 2015年6期
关键词:均方压缩比信噪比

彭干涛,禹 峰,林嘉居

(华中师范大学电子信息工程学院,湖北武汉430070)

0 引 言

对一幅图像进行增强处理,分成8×8个子图像后进行DCT变换编码,对得到的DC直流系数进行差分脉冲编码,交流系数AC使用行程编码进行编码,最后对每一个块进行解码组合,形成压缩后的图像。编码和解码过程如图1、图2所示。

图1 编码器框图

图2 解码器框图

1 算 法

图像信息存在空间冗余、时间冗余、结构冗余、信息熵冗余、知识冗余、视觉冗余,以及图像的专有特性,为图像压缩提供了可能。压缩编码的理论基础是信息论,最大熵定理指出,信源的平均码长大于信息熵;香农信息论指出信息熵是进行无失真编码的理论基础,当信源符号概率相等时,熵值达到最大;后来又提出了各种编码理论。

1.1 离散信息编码定理

离散信息编码定理主要有:香农信息保持编码定理,变长编码定理,变长最佳编码定理,赫夫曼编码,香农-范诺编码,算数编码,行程编码,LZW算法。

1.2 预测编码

预测编码是建立在图像数据的时间和空间上的相关性,实际应用中,由于数据源的数学模型很难建立,一般是基于估计理论、现代统计学理论的。根据解压重建后的图像和原始图像之间是否具有误差,分为无损编码和有损编码两大类。无损压缩可以精确地恢复原图像,但是压缩比很小。有损压缩虽然造成了一定的失真,但是压缩比很大。可根据不同的质量要求改变压缩比,得到最适合存储传输且不影响效果的编码图像。有损预测编码主要有德尔塔调制、最优量化器、最佳线性预测器。

1.3 图像变换编码

除了前面提到的对像素空间进行操作的空域方法,还有基于图像变换的图像变换编码技术。它的原理是,因为图像数据具有相关性,在正交矢量空间描述图像时,根据图像本身的主要特征选取最相近的正交矢量,会使数据在新的坐标空间分布得更加集中,因此使编码过程变得简化,数据得到有效压缩。具体方法是先将图像分割成n×n的子图像,对每一个子图像进行正交变换,再将很小变换系数进行消除或者粗量化处理,最后对变换系数进行熵编码。

图像变换的实质是将图像能量或信息集中于某些系数,变换的性质不同,产生的均方重建误差也不同。一幅N×N图像f(x,y)可以表示成二维变换T(u,v)的函数:

由于式(1)中的逆变换核h(x,y,u,v)只与x,y,u,v有关,因此h(x,y,u,v)可以看成是式(1)定义的一系列基函数,对式(1)进行变换

式中,F是由f(x,y)组成的n×n矩阵,而Huv是显然F是n2个大小为n×n的Huv的线性组合。

实际上,这些矩阵是式(2)的一系列扩展基础图像;而相关的T(u,v)是扩展的系数。如果现在定义一个变换系数的截取模板:

那么可以得到一个F的截取近似:m(u,v)用来消除(2)式中对求和贡献最小的基础图

像,这样,子图像F和F^之间的均方误差可以表示为

其中,是‖F-F^‖2是(F-F^)的范数,σ2T(u,v)是位置(u,v)的变换系数方差,式(6)的最终化简是以基础图像的正交性质和假定F的像素是由零均值和已知方差的随机过程产生的为基础进行的。因此,总的均方差近似误差是所有截除的变换系数的方差之和,由于把最多的信息集中到最小的系数上去,产生的重建误差最小,由(6)式假设可知,一幅N×N图像的N/n2个子图像的均方误差是相同的,因此,N×N大小的图像的均方误差等于单个子图像的均方误差。

2 DCT变换

不同的图像变换编码技术对信息集中的能力不同,主要有基于FFT的图像压缩技术、基于DCT的图像压缩技术、基于哈达玛变换的图像压缩技术。本论文主要对DCT的图像压缩技术进行研究。

在对图像进行分割时,一般选取尺寸为4×4、8×8、16×16。尺寸太小,虽然计算速度快,实现简单,但压缩能力有限;尺寸太大,由于图像本身的相关性很小,压缩效果不明显,而且增加了计算的复杂性。变换编码时保留系数的方法也不同,主要有区域编码和阈值编码(图3)。

图3 编码器框图

(1)区域编码基于信息论中视信息的不确定性,保留具有最大方差的变换系数,然后进行量化编码,在任何一种情况下,根据式(5),区域取样处理可被看成是每个T(u,v)用相应的区域模板的元素相乘,区域模板有时被描绘成用于对每个系数进行编码的比特数。

(2)阈值编码对所有子图像用一个固定的模板,本质上是自适应的,各个子图像保留的变换系数的位置可随子图像的不同而不同,计算简单,取阈值的方法有:对所有子图像用一个全局变量、对各个子图像分别用不同的阈值、根据子图像中各系数的位置选取阈值。第三种方法可将取阈值和量化结合起来。

二维离散余弦变换DCT变换公式为

3 MATLAB仿真

MATLAB具有强大的计算、仿真、绘图等功能,库函数的发展使它逐渐成为各个科学领域常用的研究应用软件。

同态滤波是一种在频域中同时将图像亮度范围进行压缩和将图像对比度增强的方法。增强后的图像由对应的照明分量和反射分量两部分叠加而成。一般照明分量反映了图像缓慢的空间变化,反射分量反映了不同物体交界处的急剧变化。

利用DCT进行图像压缩,首先将原图像分解成8×8块,然后对每个块进行二维离散余弦变换,最后对得到的DCT系数进行量化和行程编码,并舍弃大量的接近0的系数。解码时首先对每个块进行DCT反变换,然后将反变换的块组合到一起。

(1)仿真 Matlab代码

I=imread('E:\数字图像处理\lena.png');%读入图片I=rgb2gray(I);I=double(I);%同态滤波处理f=fft2(I);%采用傅里叶变换g=fftshift(f);%数据矩阵平衡

[M,N]=size(f);d0=10;r1=0.5;rh=2;c=4;n1=floor(M/2);n2=floor(N/2);for i=1:M %主循环for j=1:N

d=sqrt((i-n1)^2+(j-n2)^2);h=(rh-r1)*(1-exp(-c*(d.^2/d0.^2)))+r1;

g(i,j)=h*g(i,j);end end g=ifftshift(g);%循环结束g=uint8(real(ifft2(g)));%DCT变换

J=im2double(g);%存储类型转换为双精度浮点类型T=dctmtx(8);%离散余弦变换矩阵,得到8DCT矩降,然后进行量化

B=blkproc(J,[8 8],'P1*x*P2',T,T');%对原图像进行DCT变换

B1=blkproc(B,[8 8],'P1.*x',mask1);%数据压缩,丢弃右下角高频数据

J1=blkproc(B1,[8 8],'P1*x*P2',T',T);%进行反DCT变换

B3=blkproc(B,[8 8],'P1.*x',mask3);J36=blkproc(B3,[8 8],'P1*x*P2',T',T);

figure;subplot(141);imshow(I,[]);title(‘原图像');subplot(142);imshow(g,[]);

title('同态滤波增强图像');subplot(143);imshow(J1,[]);title('量化系数为1');subplot(144);imshow(J36,[]);title('量化系数为36');%压缩比程序

imwrite(I,'c:\\c1.png');imwrite(J36,'c:\\c2.png');f1=imfinfo('c:\\c1.png');

f2=imfinfo('c:\\c2.png');r=f1.FileSize/f2.File-Size;disp(r);%峰值信噪比程序

I=double(I);I2=double(J36);[Row,Col]=size(I);[Row,Col]=size(I2);

MSE=sum(sum((I-I2).^2))/(Row*Col);%均方误差MSE disp(MSE);

PSNR=10*log10(255^2/MSE);%峰值信噪比PSNR(dB)disp(PSNR);

运行程序便得到压缩编码后的图像如图4。

图4 压缩编码后的图像

(2)仿真结果分析

同态滤波时lena头像的背景亮度减弱了,头像的边缘和图案的线条的对比度增强了。量化编码时,量化系数不同,压缩图像的质量也不同。量化系数越大,图像质量越好,效果上看越接近原图像,特别地,当量化系数为1时,压缩图像出现了明显的“块”失真,这是因为有损压缩丢失了原始图像部分数据信息导致的,量化系数越大,压缩编码引起的失真越小。表1显示了量化系数个数不同的图像的压缩比、均方误差和峰值信噪比。

由表1可以看出,量化个数越多,压缩比越小,即压缩图像损失的数据信息越小,压缩图像的质量也越好。

表1 量化系数个数不同的图像的压缩比、均方误差和峰值信噪比

5 总 结

本文针对图像压缩技术进行了系统概述。针对一幅lena图像进行DCT变换,用MATLAB仿真,具体分析图像压缩技术。基于DCT变换的图像压缩技术对图像压缩的效果主要受量化个数的影响,量化系数越大,压缩效果越好,图像的峰值信噪比越大。DCT是正交变换,能把图像从空间域变换到频率域,只需要对少量的系数进行量化编码,压缩效果明显。而且DCT有快速算法,对称的逆DCT变换也很容易实现图像解码,软件便于实现。虽然现在图像压缩技术发展比较成熟,但在信息全球化的时代,需要更加便捷有效的压缩技术来为社会服务。

[1]姚 敏.数字图像处理[M].北京:机械工业出版社,2006.

猜你喜欢

均方压缩比信噪比
两种64排GE CT冠脉成像信噪比与剂量对比分析研究
构造Daubechies小波的一些注记
Beidou, le système de navigation par satellite compatible et interopérable
质量比改变压缩比的辛烷值测定机
基于深度学习的无人机数据链信噪比估计算法
低信噪比下基于Hough变换的前视阵列SAR稀疏三维成像
线性均方一致性问题的偏差估计
基于最小均方算法的破片测速信号处理方法
不同信噪比下的被动相控阵雷达比幅测角方法研究
低温废气再循环及低压缩比对降低欧6柴油机氮氧化物排放的影响