压缩扩展变换算法

2024-08-16

压缩扩展变换算法(共6篇)

压缩扩展变换算法 篇1

摘要:针对遥感图像纹理丰富、空间相关性弱,普通压缩算法容易造成高频信息丢失的特点,本文利用小波包优良的高频分析能力,提出一种结合SPIHT的小波包编码算法。该算法采用类似SPIHT算法的零树结构,通过重新定义方向树,即扩展方向树,改变小波包各节点之间的对应关系,解决小波包分解时产生的“父冲突”问题。同时,对扩展方向树的合理性进行了实验验证,并结合SPIHT算法实现了整个编解码。实验结果表明,对于富含纹理的遥感图像,在1bpp的压缩率下,该算法峰值信噪比(PSNR)超出SPIHT算法0.5-1dB,且视觉效果更好。

关键词:遥感图像,小波包,父冲突,扩展方向树,SPIHT

1 引言

遥感,是20世纪60年代兴起并迅速发展起来的一种信息高技术,已在城市规划、环境保护、军事侦察等领域得到了广泛的应用[1]。遥感图像的特征是数据量庞大,图像尺寸高达30000×30000像素,谱段包含数百个,因此,要保证遥感数据能够在有限带宽的信道中传输,就必须进行压缩。

与常规图像相比,遥感图像的纹理更多、分辨率更高,空间相关性很小,采用普通的压缩方法可能造成纹理、边缘的损失,因此,如何在提高压缩比的同时又能较好地恢复细节也就成为了遥感压缩的重点。基于此,我们利用小波包优良的高频分析能力[2],提出了一种结合SPIHT的小波包编码算法—扩展方向树小波包压缩算法(Extended SOT Wavelet Packet Coding)。该方法借鉴SPIHT算法中的零树结构[3,4],通过重新定义其方向树,即扩展方向树(Extended SOT),解决零树结构中的“父冲突”(parental conflict)[7,8,9]问题,最终通过SPIHT算法实现整个编解码。

2 小波包变换

小波包变换[2]是小波变换的推广,它通过对小波变换的高频部分作进一步分解,使信号频带划分更加精细,并且能够自适应地选择小波包基,以达到对原始信号的最优逼近。小波包定义如下所示:

称由式(1)所定义的函数族{un(n=0,1,2···,n∈Z+)}为由φ生成的小波包。其中u0(t)=φ(t),u1(t)=ψ(t),φ(t)和ψ(t)分别为尺度函数和小波函数。

同时,将un进行二进伸缩和平移可以得到:

定义由式(2)组成的函数库{uj,n,k(t),j,k∈Z,n∈Z+}为由φ(t)导出的小波包库。由式(2)不难看出,小波包库由许多小波包组成,而不同小波包又具有不同性质,反映不同的信号特性,小波包必然具有分解形式多样化的特点。因此,本文采用Shannon熵[5,9]作为代价函数来得到小波包变换的最优基。

3 扩展方向树

传统小波编码如SPIHT算法,成功地利用了小波变换的零树结构和子带间相关性,通过方向树有效地表示了有效值映射,其方向树定义如图1所示。

图中每个子带用黑色正方形表示,其边长与尺度成反比。除最低频子带LLM和最高频的三个子带外,每个系数在它的同方向相邻更高频子带的相同位置上有四个子女,最高频子带没有子女,同方向相邻子带间尺度满足二进关系。

然而,由于小波包有可能对高频子带作进一步分解,相邻子带间差异可能不再满足二进关系,其父子关系会更复杂,子系数可能出现在比父系数尺度更粗糙的子带中。这样就出现了如下两类“父冲突”:

1)一个子系数对应多个父系数。2)不同节点的父系数对应同一个子带的子系数。

以三层小波包分解为例(图2(a)所示),R表示最低频子带LL3,T1,T2,T3表示水平,垂直,对角三个不同方向树的根节点,每个方向在下一精细尺度的子带都是其子节点。这样,可以定义如下四种父子关系:

a)子节点位于父节点同方向相同位置的更粗糙尺度子带。如图2(b),树T2:14与15、16、17、18所示。

b)子节点位于父节点同方向相同位置的相同尺度子带。如图2(b),树T2:14与19、20、21所示。

c)子节点位于父节点同方向相同位置的下一个精细尺度子带。如图2(b),树T3:7与11所示。

d)子节点位于父节点同方向相同位置的更精细尺度子带。如图2(b),树T1:1、2、3、4与5所示。

可以看出,A、D两种父子关系与小波变换父子关系不同,产生了“父冲突”问题,我们称A为第一类“父冲突”,D为第二类“父冲突”。对于前者,文献[8]通过将产生冲突的粗糙尺度的子节点上移,使之与更粗糙或者相同尺度下的节点产生父子关系而解决冲突。而对于第二类“父冲突”,由于四个父节点都对应于同一个子节点,我们将其拆分,产生冲突的子节点只与其中一个父节点产生父子关系。综合考虑C、D两种父子关系,一个父节点就不是仅仅对应一个子节点,一个父系数也不是仅仅对应4个子系数,而是应该对应4N,N表示父子之间的尺度差异。因此本文采用的方向树不同于SPIHT算法,我们称为扩展方向树,在实际编码时需对子节点个数和子孙数目做相应调整。图3所示解决“父冲突”后的方向树图。

4 零树假设验证

对于一个给定的小波包分解,其方向树的定义如上所述。而零树结构是建立在一个假设的基础上的:在小波分解系数中,对于给定的阈值,如果父系数是不重要的,那么很有可能子孙系数也是不重要的[3,4]。正是利用这种假设,才能够有效表示“无效值映射”,也就等价于有效地表示了有效值映射,这就是零树结构的基础。因此,本文编码算法是否成功,首先就取决于零树假设在小波包分解中是否成立。我们引入小波分解零树结构检验的经验统计方法,该方法同样适用于小波包分解。

我们采取两种方式统计变换系数的幅值:1)按照子带所属频带,以频率递增的方向画出所有系数幅值;2)对不同的方向树,从根节点开始,按照先父节点后子节点的顺序分别画出水平,垂直以及对角方向的系数幅值。以一幅2048×2048的遥感图像为例,小波及小波包分解后子带扫描顺序分别如图4(a)、图4(b)所示,扫描按照子带标号递增方向进行,子带内部则以行为单位,按照从上到下的顺序扫描。图5则表示在当前小波包分解下所生成的扩展方向树。

图6和图7分别表示小波分解和小波包分解后按频率增加顺序和方向树顺序画出的幅度值。在图6(b)和图7(b)中,小波分解和小波包分解都能够按照方向树将系数分为三个部分,而且系数基本呈现由大到小逐渐变化的趋势。对于小波包分解,在每一个树内,还存在若干子树(图8),每一个子树内部同样呈现父节点系数幅度较大,子节点系数幅度较小的趋势。换言之,对同一个树,父系数总是比子系数大,如果父系数不重要,子系数也很有可能不重要,因此,小波包扩展方向树满足零树假设。

5 实验

为验证ESOT-WPC算法的准确性,我们选择3幅2048×2048×8bit的遥感图像进行实验,并与SPIHT算法比较,三幅图像分别命名为RS1、RS2和RS3。小波包分解选用双正交Db9/7小波,5层小波分解,并通过代价函数的计算确定最优基,解决方向树中的“父冲突”问题,最优基结构如图9所示。SPIHT算法同样选用双正交Db9/7小波,5层小波分解。

图10、图11和图12分别是RS1、RS2和RS3在0.5bpp压缩率下,使用SPIHT算法和ESOT-WPC算法压缩后得到的图像。不难看出,图10(a)与图10(b)和图10(c)在视觉观察上基本无异,这说明如果图像冗余度较高,包含大量平坦区域,本文算法和S PIHT算法都能得到较好的效果;对于RS2和RS3,图11(a)中边缘在图11(b)中虽有所恢复,但已经发生扭曲,而在图11(c)中则基本保持了边缘的线性。图12(a)白色柱状物之间的斜向纹理在图12(c)中基本得到恢复,但在图12(b)中则是模糊一片。表1是三幅图像使用SPIHT算法和ESOT-WPC算法压缩后的PSNR(峰值信噪比)的对比,对于细节变化很少的RS1图像,由于图像中包含大量的低频信息,过多的高频分解反而会降低图像的压缩效率,因此本文算法的P SNR低于SPIHT。而对于富含纹理和细节的图像RS2和RS3,本文算法在无论在PSNR还是在视觉效果上都明显优于SPIHT算法,更好的恢复了遥感图像的细节信息。

6 结论

本文针对普通压缩算法容易造成遥感图像高频信息丢失的问题,提出一种结合SPIHT的小波包编码算法—ESOT-WPC。借鉴SPIHT算法中的零树结构,通过重新定义子带之间的父子关系,即扩展方向树,解决其“父冲突”问题,并成功实现编解码。实验表明,该算法在PSNR和视觉效果上均优于SPIHT算法,是一种有效的遥感图像压缩方法。但目前算法计算复杂度较高,需进一步改善算法性能,降低复杂度。

参考文献

[1]彭望琭.遥感概论[M].北京:高等教育出版社,2002.PENG Wang-lu.The Overview of remote sensing[M].Beijing:Higher Education Press,2002.

[2]Ramchandran Kannan,Vetterli Martin.Best wavelet packet bases in a rate distortion sense[J].IEEE Trans.Image Processing,1993,2(4):160-175.

[3]Said Amir,Pearlman William A..A new fast and efficient image codec based on set portioning in hierarchical trees[J].IEEE Trans.on CASVT,1996,6(3):243-250.

[4]Shapiro Jerome M.Embedded image coding using zero-trees of wavelet coefficients[J].IEEE Transactions on Signal Process-ing,1993,41(12):3445-3462.

[5]Coifman Ronald R,Wickerhauser Mladen Victor.Entropy based algorithm for best basis selection[J].IEEE Trans.Information Theory,1992,38(2):713-718.

[6]Xiong Zixiang,Ramchandran Kannan,Orchard Michael I.Wavelet packet image coding using space-frequency quantization[J].IEEE Trans.Image Processing,1998,7(6):892-898.

[7]Xiong Zixiang,Ramchandran Kannan,Orchard Michael I d.Space-frequency quantization for wavelet image coding[J].IEEE Trans.Image Processing,1997,6(5):677-693.

[8]Rajpoot Nasir M,Wilson Roland G,Meyer Francois G,et al.Adaptive wavelet packet basis selection for zerotree image coding[J].IEEE Trans.Image Processing,2003,12(12):1460-1472.

[9]Sprljan Nikola,Grgic Sonja,Mrak Marta,et al.Modified SPIHT algorithm for wavelet packet image coding[J].Real-time Imaging,2005,11(5/6):378-388.

基于小波变换的图像快速压缩算法 篇2

图像的数字化是必然趋势,但是数字化了的图像信息量却非常大。大数据量的图像信息会给存储器的存储容量、通信干线信道的带宽以及计算机的处理速度增加极大的压力。在保证足够图像质量的条件下,降低传输所需的带宽,缩短编解码时间是目前急需解决的问题。

通过长期以来对图像压缩的研究得知,虽然数字图像的数据量极为庞大,但是这些数据之间往往是高度相关的。因此利用这种相关性,有效去除冗余,就能够达到用尽可能少的数据表示原始图像的目的。传统的图像压缩算法就是利用了这种相关性,但由于都是基于分块的离散余弦变换编码方法,虽有良好的去相关性与能量压缩特性,但却不可避免地会出现块效应和飞蚊噪声。目前广泛采用的基于小波变换的图像压缩算法,就能够很好地解决这一问题。并且因其具有良好的时、频局部化性能和天然的多分辨力结构,能够按照人类视觉系统特性设计压缩编码方案,使得小波编码技术被认为是迄今为止较好的图像压缩编码技术。但一般小波编解码所花的时间较长,为此本文提出了一种图像快速压缩算法。

1 小波变换理论

小波变换[1,2]是20世纪80年代后期发展起来的一种新的信息处理方法。小波变换的基本思想是:从一个具有正则性、局部性和震荡性的基本小波函数中心出发,经伸缩和平移得到一个函数族

(|a|-1/2φ(x-b)/a|a,bR)

由此得到的函数族离散化可构成L2(R)空间的规范正交基,并以之去表示或逼近信号, 理论研究表明, 从逼近观点上讲, 只用很少的小波系数就可得到许多不同图像的精确逼近。目前常用的基于小波变换的图像压缩方法主要有EZW[3]和SPIHT[4]。

但嵌入式小波零树编码(EZW)存在以下几点问题:

1) 由于先扫描父节点,再扫描子节点,需要经过图像的多次扫描才能形成多棵零树,增加了扫描时间,而且每一棵树必须在前一棵树形成之后才能形成,这就导致效率低,所以很难用并行算法优化,不利于实时编码。

2) 没有充分利用小波变换的特点,而是对所有的频域进行同等重要度的编码。

3) 在所有码流中,数值较大的系数所占比率很低,绝大部分都是所谓的不重要系数,如此反复扫描将严重影响算法的编码性能。

分层树集划分算法(SPIHT)与EZW相比获得了很好的压缩率,但依然存在不足[5]:

1) 经过小波变换的系数不仅在同一方向上存在相关性,还在同级子带间存在相关性,而这恰是SPIHT算法所没有利用的。

2) 扫描过程中,集合是由链表决定的,完全无规律可循。

3) 在压缩中引入链表,增大了内存占用量。

4) 所处理的图像维数必须是偶数,遇到奇数时则需对边界扩展,无形中增加了数据量,不利于压缩。

针对SPIHT与EZW算法的不足,特别是在编码中反复扫描,采用逐步逼近阈值,多次筛选造成编码时间过长的问题,本文提出了基于小波变换的图像快速压缩算法,能够节约大部分编码时间。

2 基于小波变换的快速编码算法

2.1 算法的提出

无论是EZW还是SPIHT算法都是在不断扫描中,尽量提取出所有小波系数值,以便于重构图像。这两种算法在图像的重构质量上效果很好,但由于过多的扫描次数造成编码时间较长以及内存存储量的增加。基于此,本文在上述两种算法的基础上提出了一种快速算法,该算法沿用了EZW和SPIHT算法的系数提取方法,尽可能提取出所有系数值,但是在扫描次数上进行改进。该算法直接划分区间,将所有小波系数进行分段,在对图像矩阵进行扫描的过程中,只要扫描到区间内的系数值,就提取出来。此外,对于区间的划分必须合理选择,若是区间过大,在解码时就会出现块效应,若是区间划分得过小,就会造成编码的数值过多,不利于压缩。在编码阶段,依然采用EZW和SPIHT使用的“Z”字形扫描方式,这种扫描方式可使码流根据对视觉系统的贡献大小进行排序,在解码时重构图像的分辨力越来越高,当达到可以接受的质量效果时就可以停止解码,有利于重构图像主观质量的提高。

2.2 算法的改进

经过小波变换的图像矩阵,往往较大数值的系数值落于低频部分,而偏小的系数值落于高频部分。也就是说低频子带包含了原始图像的绝大部分能量,其系数的绝对值比其他子图的系数要大几个数量级。虽然它的总数据量并不大,但对恢复图像的质量影响很大。若是对于整幅图像都采用该基于小波变换的快速算法的话,编码时间确实可以在很大程度上得到缩短,但由于此算法除了初始阈值利用到了最大系数值外,其他阈值都在逐步减小,这样在编码时就无法准确地提取出含有较高能量的低频系数,重构出来的图像也会因为数据量的丢失,难以保证恢复图像的质量。因此,为了满足实际需要,需要对此算法进行改进。

由于Mach效应的存在,小波变换后的各子带对视觉系统的重要性是不同的,频率越低重要性越高,频率越高则重要性越低。并且对于小波变换之后的高频子带,绝大部分小波系数属于非重要系数,换句话说就是数值较小的系数占了绝大部分。基于这种思想,最低频因为数据量较少可以单独采用DPCM算法[6]而不让其参与量化, 从而保证这部分子图在采用自适应算术编码时尽可能地达到无损压缩。而其他高频部分可以采用本文提出的基于小波变换的图像快速压缩算法,既缩短了编码时间,又能够保证重构图像的质量。具体步骤如下:

1) 低频采用DPCM算法[7]

DPCM算法是采用当前的像素值预测未知像素值的1种方法。对于二维的DPCM算法,其构造如图1所示。

当前像素的预测值按照公式P=0.5a+0.25b+0.25c计算。遇到边界情况a,b,c三者有1个或者2个缺席时,公式变为P=a(bc缺席);P=0.75b+0.25c(a缺席);P=0.5a+0.5b(c缺席)。对于位于左上角的第1个像素来说三者均缺席,该像素将不作预测,其值可作为单独的信息保存在输出码流的头信息中。该算法适合于低频部分的编码,而且具有很好的效果。

2) 高频采用的图像快速压缩算法

(1) “Z”字形扫描图像矩阵并将系数组合成一维数组

图像经小波变换之后形成了多个与小波系数相关性很强的不同尺度下的子带,为了利用这些相关性,常采用“Z”字形的顺序扫描处理小波系数。目前常用的“Z”字形有图2所示的3种。根据参考文献[8]可知,小波变换后3个方向对视觉系统的贡献是不同的,其中,垂直方向的贡献最大,水平方向其次,对角线方向最小。此算法采用光栅扫描(Raster Scan),形成小波系数的一维数组。

(2) 计算区间分段值

根据小波系数最大值计算初始阈值T0,初始阈值公式为T0=2INT(lbCmax),其中INT()表示取整;Cmax指小波系数的最大值。

阈值按照逐次减半的方式递减,依次计算出各级阈值Tn,直到Tn=1为止。 定义T=0,以便于量化小于1的系数值。因此,T1=T0/2,T2=T1/2,…,Tn=Tn-1/2,T=0。

(3) 分区

首先利用最大系数值和阈值T0计算出处于中间的值ξ0,之后用相同的方法计算出相邻阈值的中间值ξn以便进行分区。

(4) 量化

对分布于不同区间的系数绝对值采用不同的字母表示。如处于最高区间的系数值可用字母“a”表示,依此类推。

(5) 符号的处理

经小波变换的系数符号存在正负之分。结合SPIHT算法思想,正数可用数字“1”表示,负数可用数字“0”表示。表示符号的数字添加在字母之前。如处于最高区间的正系数值就可用“1a”表示。

(6) 编码

计算每一符号出现的概率进行Huffman编码[9],实现数据量的压缩。

(7) 解码

解码是编码的逆过程。按照收码的顺序进行解码。对于区间里的数,本文采用区间中间值(可能是小数)取代其他值。

2.3 EZW和SPIHT算法与本算法的异同点

算法的相同点:这三种算法采用了“Z”字形扫描,都是采用通过小波系数最大值来获取初始阈值,之后阈值逐级减半的方法。

算法的不同点:前两种算法的阈值是逐级产生,通过反复扫描图像矩阵获取变化的阈值并且逐级提取包含能量大的小波系数。而基于小波变换的分区算法的阈值是一次性获取的,对图像矩阵的扫描也只进行了1次。

3 Matlab仿真

小波分解的好坏关系着整个图像重构的好坏,因此小波基的选取非常重要。通过参考文献以及前人的研究[10,11,12,13,14],知道CDF9-7小波对静态图像的分解具有良好效果。在分解过程中,选取合适的小波分解层数也是非常重要的。如果小波分解层数太大,会导致低频子带系数的长度有可能小于滤波器的长度,从而影响数据的完全重构和算法效率;如果层数太少,变换系数的能量就不能集中在1个足够小的区域中,这将影响到编码效率。

本文采用Matlab程序[15],选取CDF9-7小波三级分解大小为512×512的图像“barbara”,在最低频部分采用DPCM算法,其余高频部分采用本文提出的基于小波变换的图像快速压缩算法进行了仿真。主程序段如下:

clear all

[A,map]=imread('barbara.bmp');

B=wavecdf97(A,3);% 选取CDF9-7小波三级分解图像

%提取高、低频子带

cA3=B(1:64,1:64); %此为最低频部分

%低频采用DPCM编码

%合成小波分解后的高低频子带为一完整的矩阵

A3=zeros(64,64);

cA2=[A3,cH3;

cV3,cD3];

cA1=[cA2,cH2;

cV2,cD2];

B=[cA1,cH1;

cV1,cD1];

%高频进行光栅扫描

[n,m]=size(B);

if(n~=512 & m~=512)

error('Input array is NOT 512-by-512');

end

aa=reshape(a,1,262144);

b=aa(zigzag); %zigzag是光栅扫描模板

bb=reshape(b,1,262144);

%分区间,量化

[i,j]=size(bb);

%因为最大值与T0相同,因此大于T1的值保持不变

for a=1:i

for b=1:j

if T1< B(a,b)&B(a,b)<=T0

B(a,b)=T1+(T0-T1)/2;

else

B(a,b)=A;

end

end

end

for a=1:i

for b=1:j

if T2< B(a,b)&B(a,b)<=T1

B(a,b)=T2+(T1-T2)/2;

else

B(a,b)=B;

end

end

end

……

%采用Huffmnan编码

4 实验结果

通常采用的图像压缩质量评价准则分为主观评价和客观评价两种。图像的最终接收者是人,因而图像质量的好坏取决于人的主观判断。虽然人能通过自身的感觉评价图像的质量,但对于微小的变化,人眼无法察觉,因此利用测量结果来判断压缩质量是一种比较客观的方法。因此常用峰值信噪比(PSNR)和编码时间客观评价方法来评价压缩质量的好坏。

图3是在最低频采用DPCM算法,高频采用快速压缩算法进行仿真的主观结果。

从主观上看,重构图像与原图像相差不大,较好地恢复了图像。

采用改进算法与EZW和SPIHT算法在压缩比为512∶1情况下平均峰值信噪比和编码时间的结果见表1。

由表1可知,在CDF9-7小波三级分解情况下,改进算法的平均峰值信噪比(PSNR)比EZW和SPIHT算法略高,这说明改进算法比EZW和SPIHT算法的重构图像效果略差,但这些图像对人的主观观感而言无明显区别。而在相同压缩比下改进算法比EZW算法的编码时间缩短了92%,比SPIHT算法的编码时间缩短了93%。

5 结论

研究结果发现,此改进的基于小波变换的快速压缩算法虽然与EZW和SPIHT算法都是采用阈值逐级减半,不断提取代表图像能量的重要系数,但是后2种算法采用了对整幅图像重复扫描,逐次筛选重要系数,而改进的基于小波变换的快速压缩算法却是对整幅图像采用1次扫描,对于选取的值也是根据事先确定的阈值进行筛选,并且为了保证重构图像的质量,在低频部分采用了DPCM算法。与EZW和SPIHT算法相比,虽然在图像的重构上损失了部分保真度,但是减少了扫描次数,在很大程度上降低了计算复杂度,大幅缩短了编码时间,为较大图像的压缩、存储和传输提供了更有力的保障。

压缩扩展变换算法 篇3

首先选用无损的有损的小波变换算法分别对纹理数据进行压缩。并分析了评价纹理数据压缩算法的指标。

在实现对纹理数据的有损压缩时, 介绍了小波变换的编码原理和过程, 现了小波变换算法对纹理数据的压缩, 并通过实验测试了小波变换的压缩性能。

1纹理数据压缩算法选择

1.1纹理数据压缩评价指标

纹理数据压缩算法的评价, 除了以上无损压缩的评价指标之外, 还应包括对图像质量的评价, 即对图像失真的测评。最常用的图像质量测度函数有均方误差 (Mean Squared Error, MSE) 、信噪比 (Signal Noise Ratio, SNR) 和峰值信噪比 (Peak Signal Noise Ratio, PSNR) 。

均方差 (MSE) 是衡量误差均方的指标。数学定义如下:

信噪比 (SNR) 是衡量信号误差的指标。数学定义如下:

峰值信噪比 (PSNR) 是衡量峰值误差的指标。数学定义如下:

其中P和Q分别为表示图像的高度和宽度 (即在垂直方向和水平方向上的像素数目) , 为图像灰度的总阶数, 和分别表示在坐标处的原始图像像素值和重构图像像素值, 其中0≤i<P, 0≤j<Q。

一般来说, 较低的MSR值表示误差较小, 而MSR值越大表示误差越大;PSNR值越高代表信息噪声比越高, 也就是越好, PSNR值越低表示噪声比例高, 也就是误差越大。

2基于小波变换的纹理数据压缩

2.1算法步骤

在本文中基于小波变换的图像算法具体分为三个步骤来进行:

(1) 对原始的数据进行小波变换。

(2) 变换系数的量化。标量量化是本文所使用的量化方法, 具体为:对每一个像素进行量化处理:在最开始将小波系数的分布情况进行给出, 然后通过分析小波系数的分布情况, 合理选择出最合适的阀值, 当小波系数小于阀值时, 将小波系数进行复0。用公式表示如下:

(3) 对量化后的系数进行编码。

Huffman无损压缩是本文采用的编码方法。由于纹理数据的图像都为真彩色, 所以我们通过如下步骤计算出每一灰度级的出现频率:

(1) 将每一个通道 (红、绿、蓝) 各灰度级的出现的频率计算出来。

(2) 将具有相同灰度级的像素的频率加起来, 即认为是某一灰度级的出现频率。

需要注意的是, 出现频率之和为一, 所以总的像素个数应该认为是图像的高乘以宽, 再乘以3, 因为有3个通道。

2.2分析

2.2.1实验及数据获取

实验的目的是通过不同的纹理数据量和不同的小波分解层次探讨小波变换算法性能。

实验数据是四种分辨率的纹理数据:256*256, 512*512, 1024*1024, 2048*2048。

通过对四组图像分别进行压缩测试, 列出编码后各个灰度级的比特流表示, 并给出了图像的熵, 编码后的平均编码长度, 编码效率和压缩比, 以这些指标来评定小波变换算法的压缩性能。

本次实验的第一次压缩采用一层小波分解、第二次压缩采用三层小波分解。

2.2.2第一次小波压缩

其中512*512分辨率的图像压缩测试效果如1图。

选用Symlets8小波函数作小波基, 进行小波变换。图2第一次压缩重构后的图像

下面给出四组图像的压缩测试结果, 见下表1。

从表1中可以看出, 对于不同数据量的纹理数据, 小波变换算法都有较为稳定的压缩比例, 其量化后编码的效率也相当高, 均在99%以上, 接近熵编码压缩的理论极限。

同时, 对比原图像和压缩后重构的图像, 主观目测很难发现图像质量的损失, 图像的保真度很高。

综合上述分析, 小波变换算法的压缩性能是相当可靠地。

2.2.3第二次小波压缩

第二次压缩采用三层小波分解。其中512*512分辨率的图像压缩测试效果如图2:

相应的四组图像的压缩测试结果, 见表2。

对比表1和表2, 可以看出, 第二次压缩在小波变换时, 将图像进行3层分解后, 图像的压缩比率进一步增大, 且对不同数据量的纹理数据压缩比率稳定。

但对比第一次压缩重构的图像和第二次压缩重构的图像, 发现后者在质量上有所下降, 会出现轻微的“方块”效应。出现这种情况是由于小波变换具有特性:多分辨率分解。

压缩扩展变换算法 篇4

本文在研究小波变换、色彩空间、图像压缩编码方法的基础上, 将小波理论以及各种色彩空间编码在图像压缩中的应用进行了深入研究, 并对基于小波分析的SPIHT编码算法进行了改进。

一、SPIHT算法

SPIHT (set part itioning in hier ar chical t ree) 主要是利用渐进式传输的理论进行编码。渐进式传输理论是将数值的绝对值由大到小排列, 然后将最重要的数值先传输, 还原时图像的恢复质量将渐渐变好。图像在做小波变换后, 其系数特性如下:位于图像左上角的系数最少但是最为重要, 图像的大部分能量都集中在最低精度的子图像里, 并且各子图像的小波系数间存在着空间自相似性, 这一点比幅值顺序在图像编码中更为重要。

(一) SPIHT算法具体符号规定

O (i, j) 表示节点 (i, j) 所有孩子坐标的集合。即:O (i, j) ={ (2i, 2j) , (2i, 2j+1) , (2i+1, 2j) , (2i+1, 2j+1) }。

D (i, j) 表示节点 (i, j) 所有后代坐标的集合。

H表示小波变换最大尺度的变换系数坐标的集合, 既LLJ, HLJ, LHJ, HHJ。

L (i, j) 表示L (i, j) =D (i, j) -O (i, j) 。

三种链表表示

不重要集合链表 (LIS) , 不重要像素链表 (LIP) , 重要像素链表 (LSP) , 在LSP、LIP中, (i, j) 表示单个像素, LIS中 (i, j) 代表集合L (i, j) 或D (i, j) 。为了区分这两种集合的类型, 如果是D (i, j) 称LIS的表值为A型, 如果是L (i, j) 称LIS的表值为B型。

(二) SPIHT具体实现过程

1. 初始化:

输出n=㏒2 (max (i, j) {|Ci, j|}, 置LSP为空, 将坐标 (i, j) ∈H送入LIP, 并将H中有后代 (即高频部分:HLJ, LHJ, HHJ) 的送入LIS, 作为A型值。

2. 排序过程:

(1) 对每一 (i, j) ∈LIP, 作:1) 输出Sn (i, j) ;2) 若Sn (i, j) =1, 将 (i, j) 移入LSP, 并输出C (i, j) 的符号; (2) 对每一 (i, j) ∈LIS, 作:1) 若为A型值, 则①输出Sn (D (i, j) ) ;②若Sn (D (i, j) ) =1, 则对每一 (k, l) ∈O (i, j) , 作:·输出Sn (k, l) ;·若Sn (k, l) =1, 将 (k, l) 送入LSP并输出其符号;·若Sn (k, l) =0, 将 (k, l) 送入LIP末尾;③若L (k, l) ≠φ, 将 (k, l) 移到LIS的末尾, 作为B型值;否则, 将 (i, j) 从LIS中删除。2) 若为B型值, 则①输出;②若Sn (L (i, j) ) =1, 则·对每一 (k, l) ∈O (i, j) 加到LIS的末尾, 作为A型值;·将 (i, j) 从LIS中删除。 (3) 细化过程:对每一 (i, j) ∈LSP (不包括最近一次分裂过程产生的) , 输出|C (i, j) |的第n个最重要的位; (4) 量化步长刷新:n=n-1;返回2) 。

二、YFr Fb变换

同样是3-D整数变换, Fast-VDO提出了另外一种颜色转换, 我们称之为YFr Fb变换。这种转变有许多可取的特性:高编码增益, 16位整数映射, 低比特扩张。具体可以表示为:

三、实验结果及结论

为了说明本算法的有效性, 本文通过对12幅彩色国际标准测试图像的JP2、RAR、ZIP、PNG、TGA、PCX、TIF几种格式无损图像压缩算法进行了对比, 平均而言无压缩比分别比上述算法分别提高了-1%、11%、60%、60%、33%、52%、29%, 见表1。

参考文献

[1]Shapiro J M.Em bedded image coding using zerotreesof wavelet coefficien ts[J].IEEE Transactions on Signa lProcessing, 1993, 41 (12) :3445-3462.

[2]Said A, Pearlman W.A new fast and efficient image codecbased on set partitioning in hierarchical trees[J].IEEE T ransactions onCircuits System Video Technology, 1996, 6 (6) :243-250.

[3]Geronimo J S, Hard in D P.Fractal fun ctions and waveletexpansions based on several scaling function s[J].Journal of ApproxTheory, 1994, 78 (3) :373-401.

压缩扩展变换算法 篇5

由于小波变换只能反映奇异点的位置和特性, 为了克服小波变换在处理高维信号时的不足, Candes等[2]提出了具有多尺度多方向特性的Curvelet变换, 能够有效地描述具有曲线或超平面奇异性的高维信号, 可以保留更多的图像边缘信息, 更适用于医学图像处理。近年来, Curvelet变换在图像压缩方面的研究取得了一定的进展[2,3,4]。Do等[5]和Maske等[6]使用快速算法实现的可逆非冗余的正交有限脊波变换将Curvelet变换应用于图像压缩。一些学者联合Curvelet变换和迭代树结构的滤波器组、离散余弦变换、迭代硬阈值算法以及支持向量机算法应用于图像压缩, 提高了运算时间和重建质量[7,8,9,10,11,12]。Reddy等[13]采用多级树集合分裂排序 (set partitioning inhierarchical trees, SPIHT) 算法对图像进行压缩, 但在压缩率较高时图像出现伪影, 仍需进一步改善。

本文基于Curvelet变换理论和SPIHT算法对医学图像感兴趣区 (ROI) 压缩进行研究。首先提取图像的ROI, 并完整保留ROI的图像细节, 不对其进行任何压缩处理;对于背景区域 (back ground, BG) 则采用Curvelet变换, 利用SPIHT算法对Curvelet系数进行编码, 然后对处理后的Curvelet系数进行逆变换重建出图像;最后将ROI和压缩后的BG叠加, 得到压缩后的完整图像。在进行医学图像压缩时, 保留图像ROI的细节, 而对BG采取有损压缩, 在不丢失重要诊断信息的同时能最大可能地减少数据量, 这在医学领域具有重要意义和应用前景。

1算法流程和基本原理

1.1算法流程首先选取图像ROI并提取, 其余部分则为BG, 对ROI保留图像细节不进行任何处理, 而BG采用Curvelet变换提取区域特征信息, 同时利用SPIHT算法对Curvelet系数进行编码和传输, 在解码端则实现BG的接收和解码, 从而使图像的压缩质量得到提高 (图1) 。

上半部分为图像压缩过程, 下半部分为解压过程

1.2Curvelet变换Curvelet变换是一种多尺度几何分析方法。与小波变换相比, Curvelet变换除了尺度和位移两个参量外, 还增加了一个方向参量[14], 具有更好的方向识别能力, 克服了小波变换只能反映奇异点的位置和特性以及在表示图像的边界和线状特征时存在的不足[15], 常用作对不连续边缘的优化稀疏表示。因此对图像边缘几何特征的表达优于小波变换, 具有更好的应用前景。

Curvelet变换和小波变换、脊波变换理论都属于稀疏理论的范畴, 均采用基函数与信号的内积形式来实现信号 (或函数) 的稀疏表示。则Curvelet变换可表示为c (j, l, k) =, 其中, Φj, l, k表示Curvelet函数, j, l, k分别表示尺度、方向和位置参量[16,17,18]。

若以笛卡 尔坐标系 下的f[t1, t2] (0≤t1, t2

采用一带通函数定义:

Ψj (ω) =Ψ (2-jω) (2)

用公式 (2) 实现多尺 度分割, 对于每一 个ω= (ω1, ω2) , ω1>0, 则有:

Vj (Sθlω) =V (2[j/2]ω2/ω1-1) (3)

其中, 是一个剪切矩阵, θl并非等间距, 但斜率是等间距的。定义:, 对于每个方向参数, 有。

目前第二代Curvelet变换可以通过非等间距快速傅里叶变换 (unequally-spaced fast fourier transform, USFFT) 和Wrapping两种方法实现[19,20], 本文采用Wrapping算法。

Wrapping算法实现过程如下:1对于给定的一个笛卡尔坐标下的二维函数f[t1, t2] (0≤t1, t2<ω) 进行二维快速傅里叶变换, 得到二维频域表示fj, l[n1, n2], -n/2≤n1, n2≤n/2。2在频域对每个尺度、方向参数 (j, l) 获得乘积Uj, l[n1, n2]f [n1, n2] 。3在原点附近缠绕上述乘积得到fj, l[n1, n2]=W (Uj, l, f) [n1, n2], 对f进行局部化处理, 其中0≤n1

1.3SPIHT算法SPIHT算法是在EZW编码算法的基础上提出的[21]。该算法既继承了EZW算法的优点, 又采用了空间方向树、全体子孙集合D (i, j) 和非直系子孙集合L (i, j) 的概念, 以便更有效地表示上述特征的系数结构, 从而提高了编码效率, 同时支持渐进式传输及无损压缩。

由于基于小波变换的SPIHT算法不能有效表达图像纹理和轮廓细节[21,22,23], 因此本文采用基于Curvelet变换的SPIHT算法进行图像压缩编码, 计算步骤如下:符号定义及初始化:定义正整数n=floor (log2 (max﹛│C│﹜) ) , 其中C为Curvelet系数, 阈值T=2n。若Curvelet系数大于等于该阈值则标识为重要系数, 否则为非重要系数。

采用坐标 (r, c) 标识节点, 定义O (r, c) 为节点 (r, c) 所有孩子的集合;D (r, c) 为节点 (r, c) 所有子孙的集合 (包括孩子) ;L (r, c) 为节点 (r, c) 所有非直系子孙的集合 (不包括孩子) ;H为所有树根的坐标集 (所有Curvelet系数对应的坐标构成的集合) 。

定义LSP (重要系数表) 为空集;LIP (不重要系数表) ={ (r, c) │ (r, c) ∈H} ; LIS (不重要子集表) = {D (r, c) │ (r, c) ∈H且 (r, c) 具有非零子孙}。LIS的初始值为“D”型表项, LIS和LIP中Curvelet变换系数的排列顺序按从上至下、从左到右的Z型次序排列。

排序扫描:扫描LIP队列, 判断其中的每个Curvelet变换系数的 (r, c) 是否重要, 是重要系数则将其从LIP队列删除, 并添加到LSP队列。扫描LIS队列, 判断其中的每个子集的树根 (r, c) 的类型, 是“D”型表项, 则将判断出的重要系数添加到LSP队列, 不重要系数添加到LIP队列。判断L (r, c) 是否为空集, 如果非空集, 则将 (r, c) 作为“L”型表项添加到LIS;如为空集, 则将“D”型表项从LIS队列中删除。如果 (r, c) 是“L”型表项, 则将重要系数的4个孩子一次添加到LIS队列中, 并将“L”型表项 (r, c) 从LIS对列中删除。

精细扫描:将上次扫描的LSP队列记为LSP-old, 对于 (r, c) ∈LSP-old, 将Curvelet变换系数C转化为二进制表示Βr, 输出Βr中第n个最重要的位到精细位流Rn。

更新阈值指数:将阈值缩小一半, 返回STEP2开始执行下一代编码扫描。

2实验分析

实验在普通配置计算机 (CPU主频2.8 GHz, 内存512 M) 上采用matlab8.0编程实现, 实验对象如图2所示, 以峰值信噪比 (peak signal to noise ratio, PSNR) 为定量指标、人眼观察为定性指标, 对图像压缩质量进行评价[24]。

首先对图2A所示Lena测试图像 (512×512) 进行实验, 结果见图3、4和表1、2。

由图3可以看出, ROI为Lena图像的人脸区域, 以白色标注作为分界线。对Lena图像进行整体压缩, 当保留较少Curvelet系数时, 图像非常模糊, 无法在减少数据量的同时突显重点区域;随着保留系数的增多, 图像逐渐清晰, 但仍然无法区分出ROI。对Lena图像进行ROI压缩, 当BG保留较少Curvelet系数时, 模糊了背景, 突出了人脸特征, 在大大减少数据量的同时突显出ROI;随着BG保留的Curvelet系数增加, 图像逐渐清晰, 人脸始终保持不变。由表1可知, PSNR随着保留系数比例的增加而增大, 且ROI压缩视觉效果更明显。

进一步比较基于Curvelet变换和小波变换的ROI压缩效果。在Curvelet分解尺度指数和边缘指数的条件下, 基于Wrapping算法的Curvelet系数为739 001个。而由于Haar小波用于图像处理具有速度快、处理方便、图像压缩比高、图像特征保持性好等优点[25], 在采用Haar小波进行3层小波分解时小波系数只有262 144个, 可见Curvelet系数与小波系数相差近3倍, 因此不能保留相同比例的系数来比较小波变换和Curvelet变换的效果, 只能在保留相同系数个数的情况下比较两种变换应用于图像压缩的性能指标。从图4可以看出, 在保留较少Curvelet系数时, 图像BG较模糊;在保留较少小波系数时, 图像BG出现马赛克现象;随着保留系数的增加, 基于上述两种算法的压缩图像均逐渐清晰。从表2可以看出, 在保留系数较少时, 小波变换用于图像压缩的PSNR较大;但随着保留系数的增多, Curvelet变换的压缩效果优于小波变换, 且Curvelet变换可保留的系数远大于小波变换, 基于小波变换的图像ROI压缩后的PSNR最大为48.9635 dB, 而基于Curvelet变换的图像ROI压缩后的图像能无限逼近原图像, 因此, 基于Curvelet变换的图像ROI压缩效果更好。

A、B、C分别为Lena图像、MRI图像和细胞图像

由上述实验可知, 基于Curvelet变换和SPIHT算法的ROI压缩应用于Lena测试图像效果显著, 因此进一步对图2B所示MRI图像 (252×252) 和图2C所示细胞图像 (575×575) 进行压缩, 并比较基于Curvelet变换和小波变换两种方法的ROI压缩效果, 实验结果见图5、6和表3、4。

由图5、6可知, 在保留较少系数时, 图像BG较模糊;随着保留系数的增多, 基于上述两种算法的压缩图像均逐渐清晰。从表3可以看出, 基于小波变换和SPIHT算法的MRI图像进行ROI压缩后的PSNR最大为41.7587 dB, 而基于Curvelet变换和SPIHT算法的ROI压缩图像能无限逼近原图像;从表4可以看出, 基于小波变换和SPIHT算法的细胞图像进行ROI压缩后的PSNR最大为42.7605dB, 而基于Curvelet变换和SPIHT算法的图像ROI压缩PSNR最大为97.3036 dB。因此, 基于Curvelet变换和SPIHT算法的ROI压缩效果显著。

A~C分别为整幅图像保留0.1%、5%、30% Curvelet系数的压缩图像;D~F分别为背景部分保留0.1%、5%、30% Curvelet系数的压缩图像

A~C分别为背景部分保留2621个、26 214个、262 144个Curvelet系数的压缩图像;D~F分别为背景部分保留2621个、26 214个、262 144个小波系数的压缩图像

(dB )

(dB )

注:Inf表示数据很大已经超出double型, 空白表示小波系数只有262 144个, 大于这个数就没有运行数据

3讨论

在进行图像压缩时, 保留医学图像ROI的图像细节, 而对BG采取有损压缩, 这样既能不丢失重要的诊断信息, 同时又能最大可能地减少数据量, 这在医学领域具有重要意义和应用前景。本文将Curvelet变换和SPIHT算法相结合应用于MRI图像和细胞图像的压缩, 传统的图像质量客观评价指标主要包含均方误差MSE和PSNR, 两者之间的关系为PSNR=10 lg{[f (l, j) 2max]/MSE}, 故本文选用PSNR作为客观评价指标对压缩效果进行定量分析。实验结果表明, 基于Curvelet变换和SPIHT算法的ROI压缩方法能实现医学图像的高效压缩。今后研究中拟增加主观评价指标以及基于视觉感知的图像质量评价指标来定性和定量衡量图像压缩效果。

ROI为MRI图像的白质, 对BG灰质部分采用Curvelet变换和SPIHT算法进行压缩。A~C分别为背景部分保留2621个、26 214个、262 144个Curvelet系数的压缩图像;D~F分别为背景部分保留2621个、26 214个、262 144个小波系数的压缩图像

选取其中一个细胞作为ROI, 其余部分为BG, 同样对BG进行压缩。A~C分别为背景部分保留2621个、26 214个、262 144个Curvelet系数的压缩图像;D~F分别为背景部分保留2621个、26 214个、262 144个小波系数的压缩图像

(d B)

注:Inf表示数据很大已经超出double型, 空白表示小波系数只有262 144个, 大于这个数就没有运行数据

(d B)

注:空白表示小波系数只有331 776个, 大于这个数就没有运行数据

压缩扩展变换算法 篇6

1. 提升变换理论

传统的第一代小波变换是在欧式空间内通过基底的平移和伸缩构造小波基, 不适合非欧式空间的应用。因此, 小波提升方案应运而生, 它是构造第二代小波变换的理想方法。1996年Sweldens提出了小波的提升算法, 有效地解决了传统的基于Mallat的塔式分解小波变换算法计算量大、对存储空间的要求高的问题, 从算法方面提高了小波变换的实现效率。

小波提升算法的特点:它继承了第一代小波的多分辨率的特性;不依赖傅立叶变换;不占用系统内存;反变换很容易从正变换得到。由于提升模型实现了真正意义上的无损可逆小波变换, 因此, 在数据压缩传输领域得到广泛应用, 并成为JPEG2000标准的核心部分。提升模型避免了普通小波变换借助快速傅立叶变换完成卷积操作的步骤, 整个过程仅含有对整数的移位运算和加减运算, 节省了硬件开销, 便于在WSN这类微处理器中实现。提升变换的框架如图1所示。

小波提升算法的基本思想是将现有的小波滤波器分解成基本的构造模块, 一般分以下3个步骤完成小波变换。即:分解 (split) , 预测 (predict) , 更新 (update) , 分解是将输入信号根据奇偶性分为2个序列, 预测是利用P滤波器作用于偶数。序列得到奇数序列的预测值, 得到的预测误差即为高频系数, 更新是使用预测误差线性组合更新偶数序列, 得到低频系数。“提升”算法的基本思想是将现有的小波滤波器分解成基本的构造模块, 分步骤完成小波变换。

2. 基于提升小波变换 (LWT) 的数据压缩算法

在WSN中, 树型结构是最常见的拓扑结构。网络中的所有节点形成一棵以基站为根节点的数据收集树。在每个采样周期, 传感节点首先采集数据, 然后将其发送到自己的父节点。某个节点收到其子节点发来的数据后, 将其转发到自己的父节点。网络中所有节点的数据通过这种多跳路由的方式最终汇聚到根节点。本文提出的基于提升小波变换的数据压缩算法就是基于这种树型网络拓扑结构的。

2.1 算法原理

WSN中传感节点的资源十分有限, 主要体现在电池能量、处理能力、存储容量以及通信带宽等几个方面。在采集和传输信息的过程中, 采用各个节点单独传送数据到Sink节点的方法是不合适的, 一方面浪费通信带宽和能量, 另一方面造成了频繁的冲突碰撞, 降低了通信效率。

针对WSN节点资源有限和数据传输冗余, 本文提出了基于提升小波变换的数据压缩算法。这种算法通过提升格式, 消除提升小波变换所需的额外的数据传输和计算, 利用分布式并行计算把整个提升小波变换算法的计算量分布于各个节点之中, 对于每个节点来说, 能耗都很小, 易于在WSN这样资源极其有限的系统中实现。这种方法能有效消除WSN中节点内和节点间的信息冗余, 大大节省无线传输所消耗的能量。整个算法充分考虑了需采集和传输的油料信息数据的特点, 具有速度快、内存占用小、易于硬件实现的特点。

2.2 算法实现

提升小波变换算法是将普通小波变换过程分为分解、预测和更新三个阶段。假设一个信号数据序列Si, 提升小波变换的步骤为:

(1) 分解 (split) :假设一个原始数据集, 将数据分成两个子集Si-1和di-1。最简单的方法就是把Si序列分成偶数序列di-1和奇数序列Si-1, 即split (Si) = (Si-1, di-1) 。

(2) 预测 (predict) :针对数据间的相关性, 采用一个与数据结构无关的预测算子P。先将P滤波器作用于偶信号上得到奇信号的预测值P (Si-1) , 实际应用中, 预测值P (Si-1) 很可能接近di-1, 这样就可用新的di-1来表示di-1与P (Si-1) 的差值, 即di-1=di-1-P (Si-1) , 此差值di-1将比原来的di-1少很多信息。

(3) 更新 (update) :通过分解产生的系数子集Si-1的某些整体性质 (如均值、消失矩) 和Si不一致, 故引入更新算子U, 对Si-1更新, 保持信号Si的一些整体性, 此时有更新的Si-1=Si-1+u (di-1) 。

2.3 分散计算量

WSN的通信模式一般是多个无线传感器节点向一个Sink节点发送数据, 无线传感器节点转发收到的数据, 形成一个树型分簇网络结构。本文提出的提升小波分解利用WSN的树型分簇结构, 使小波变换的计算量分散在各个节点之间, 树型分簇结构中的每一层完成一级小波分解, 所有节点共同参与完成小波分解计算。

3. 算法分析与仿真

为了评价基于提升小波变换的数据压缩算法的性能, 用MATLAB工具进行仿真, 实验数据取自热带大气海洋项目 (TAO, http://www.pmel.noaa.gov/tao/) , 实验所用数据集是TAO在多个地点 (moorings) 的不同深度共10个点的传感器从2010年1月16日到2010年5月16日每天12:00采集到的海水温度数据。提升小波基采用Haar小波的提升变换, 并与直接传输法和基于普通小波变换的数据压缩算法进行了比较, 从重构信号质量和节能性方面评价了基于提升小波变换的数据压缩算法的性能。

将100个节点随机分布在80m×80m的正方形区域内, 组成一个WSN, 基站节点位于正方形的中心, 每个传感器的感知半径为10m, 传感器的通讯半径等于它的感知半径, 每个节点的初始能量为6J。具体仿真结果如图3、图4所示。

图3描述了两种算法的性能比较 (小波分解层数j=3) , 从图中可以看出, 基于普通小波变换 (WaveletTransform, WT) 的数据压缩算法, 其重构信号质量随着压缩比的提高比基于提升小波变换 (Lifting Wavelet Transform, LWT) 的数据压缩算法要差, 这是由于基于LWT的数据压缩算法是根据信号的局部特性选择预测环节, 预测环节的选择信息不需要额外的存储空间, 而且数据也不会由于阈值处理和压缩编码受到损害, 所以基于LWT的数据压缩算法的重构信号数据质量要好一些。基于提升小波变换的数据压缩算法是利用节点之间的预测和更新来消除信息的冗余, 它在压缩性能和可扩展性方面表现良好。

图4表示了各种算法DT、WT、LWT在把一定量数据传输到Sink节点时所消耗的能量随着传输距离 (感知节点到Sink节点的跳数) 的变化而变化的关系。由于数据在压缩后, 所需要传输的数据是固定的, 所以所有算法的能耗和传输的距离基本都成线性关系。在传输距离为0时, 整个网络所消耗的能量就是算法本身所消耗的能量。因为基于小波变换的数据压缩算法需要额外的计算和无线数据通信, 所以此时基于小波变换的数据压缩算法能耗较高, 而没有任何计算量的直接传输方法 (Direct Transmission, DT) 能耗则是最少的。然而, 直接传输方法 (DT) 由于没有经过压缩, 能耗随着传输距离的增大而迅速提高。在传输距离达到一定程度时, 基于提升小波变换的数据压缩算法在通信能耗上的优势补偿了小波分解时额外的能量消耗, 成为几种算法中最节能的算法。

4. 结论

上一篇:基因技术论文下一篇:可视化叙事论文