一种改进的无线多媒体传感器网络分布式图像压缩算法*
2012-06-12吴建峰董林玺
蒋 鹏,吴建峰,董林玺
(1.杭州电子科技大学信息与控制研究所,杭州310018;2.杭州电子科技大学射频电路与系统教育部重点实验室,杭州310018)
无线多媒体传感器网络(WMSNs)是在传统的传感器网络基础上发展起来的,能够感知音频、视频、图像等大数据量的多媒体信息,在环境监测、战场监控、智能家居等领域具有广阔的应用前景。然而,图像作为WMSNs主要感知信息之一,具有数据量大、复杂度高和内存需求高等特点,资源严重受限的单个节点难以完成图像的处理和传输[1-2],因此需要在传输前对原始图像进行压缩。
目前研究人员提出了许多面向WMSNs的图像压缩算法,如Wang Pu等人提出了基于信息熵差异测量方案和分布式多簇编码协议的图像压缩框架[3],旨在最大程度提高对WMSNs视觉信息的整体压缩。基于分布式信源编码的图像压缩算法[4]通过计算各信源之间的相关性来对图像进行编码压缩。文献[5-6]提出的图像压缩机制则均侧重于使图像重建质量与节点能耗之间达到一个最佳平衡。近年来,重叠变换技术在WMSNs图像压缩中的应用受到越来越多的关注,如文献[7-8]提出的图像压缩算法均通过节点间共享任务处理进程来解决单个节点计算、存储能力以及能量受限的问题。
WMSNs图像压缩常常借助JPEG和JPEG2000这些典型的图像压缩标准,如文献[9-10]提出的图像压缩算法均基于JPEG2000对图像进行分布式处理,文献[11]提出了基于变化检测和自适应JPEG的图像压缩方案。由于JPEG和JPEG2000复杂度较高,算法往往需要将多级小波变换的计算量分布到多个节点中去完成,从而平衡节点能耗,但分布式处理需要节点间进行数据交换,这在一定程度上增加了节点能耗,因此如何设计一个有效的分布式处理机制是这类算法需要着重考虑的问题。文献[12]提出了一种典型的无线多媒体传感器网络分布式渐进图像压缩算法(简称DICA算法),该算法基于逐级渐进的分布式计算原理,采用随机选择原则来选取辅助节点协同完成JPEG2000中的多级小波变换。然而逐级渐进分布式计算原理使DICA算法面临“最后一跳超负荷(Last-Hop Overload)”的问题,并且辅助节点的随机选择原则难以保证簇内各成员节点能耗的均衡性。
鉴于DICA算法的不足,本文提出了一种改进的基于簇内分布式处理的图像压缩算法(简称ICDP算法)。ICDP算法通过一种新型的基于能量优先选择原则的分布式处理机制来完成JPEG2000中的多级小波变换,力求最大程度地保证簇内各节点能量的均衡性。仿真结果表明,与DICA算法相比,ICDP算法能够在保证图像质量和压缩比相同的前提下,更好地平衡网络中各节点的能耗,大大延长了网络的生命周期。
1 算法原理
本节首先简要介绍了图像的小波变换和JPEG2000图像压缩标准,然后详细阐述了ICDP算法基于能量优先选择原则的分布式处理机制。
1.1 图像的小波分解
小波变换具有良好的时频局部化性能,原始图像通过二维小波变换后,可以得到一系列不同分辨率的子图像。图像中相邻像素的灰度值往往是高度相关的,通过小波变换后,不同尺度的高频子带图像之间存在同构性和相似性,且图像的大部分能量集中在分辨率最小的低频子带,高频子带所占能量较少。因此,对频带内和频带间相关性的充分利用以及对零值附近小波系数的有效处理,成为了提高图像压缩效率的关键。
JPEG2000图像压缩标准基于离散小波变换和最优化截断的嵌入块编码算法(EBCOT),可实现低比特率压缩,同时支持有损和无损压缩,渐进传输、码流随机访问等功能。典型的JPEG2000编/解码系统由三部分组成:正向/反向小波变换,量化/反量化,熵编码/解码。ICDP算法采用第二代小波变换的快速提升方案,小波变换取CDF9/7双正交小波基,该小波基具有线性相位,消失矩较大,能量集中性好等特点。JPEG2000中CDF9/7小波的提升方案如图1所示。
图1 CDF9/7小波提升方案
其中,α=-1.586134342,β=-0.0529801186,γ=0.882911075,δ=0.443506852,K=1.230174105。CDF9/7小波提升算法具体如下:
(1)预测1
(2)更新1
(3)预测2
(4)更新2
(5)系数缩放1
(6)系数缩放2
1.2 分布式处理机制
考虑一个节点部署密集的WMSNs分簇网络。网络中配备摄像头的节点称为图像采集节点,负责图像的采集,其余为普通节点,负责协同参与本簇图像数据的处理。WMSNs的一个分簇如图2所示,其中BS为基站,C为簇头节点,S为图像采集节点,P1~Pn为普通的簇成员节点,每个节点拥有一个固定的ID号,簇头节点C维护一个簇成员节点的能量表。
图2 WMSNs网络的一个分簇
分布式处理机制描述如下:
(1)当图像采集节点S采集到一幅图像后,将图像数据分割成m块。
(2)簇头节点对簇成员节点的能量表进行降序排序,选取能量最高的m个节点P'={p'1,p'2,p'3,…,p'm}作为辅助节点集,并将辅助节点的节点ID号通知图像采集节点S。
(3)图像采集节点S接收到辅助节点ID后,将图像数据块分别传送到m个辅助节点中。
(4)各辅助节点{p'1,p'2,p'3,…,p'm}对接收到的图像数据块进行第一级CDF9/7小波变换,保存低频子带LL1,对高频子带LH1,HL1和HH1进行量化和EBCOT熵编码,并将编码压缩后的数据传送至基站。
(5)簇头节点广播一个命令来更新簇成员节点的能量表并进行降序排序,选取能量最高的m个节点 P″={p″1,p″2,p″3,…,p″m}作为当前辅助节点集。簇头节点将根据能量优先选择原则从前次辅助节点集 P'={p'1,p'2,p'3,…,p'm}和当前辅助节点集 P″={p″1,p″2,p″3,…,p″m}来确定最终的辅助节点。簇头节点将P'和P″进行比较,若存在相同ID号的辅助节点 p'i(p'i∈P',1≤i≤m)和 p″j(p'j∈P″,1≤j≤m),则发送一个Cons命令到p'i,表示节点p'i将低频子带LL1保存在p'i中进行处理。然后簇头节点根据能量从高到低对具有不同ID号的辅助节点p'a(p'a∈P',1≤a≤m)和 p″b(p″b∈P″,1≤b≤m)进行对比,假设前次辅助节点p'a的能量为Ea,当前辅助节点p″b的能量为Eb,因为辅助节点是根据能量优先选择原则选取的,并且p'a与p″b具有不同的ID号,所以Eb≥Ea,引入一个能量阈值θ,若当前辅助节点与前次辅助节点的能量差小于或等于θ,即Eb-Ea≤θ,则簇头节点发送一个Cons命令到p'a,表示节点p'a将低频子带LL保存在p'a中进行处理;若当前辅助节点与前次辅助节点的能量差大于θ,即Eb-Ea>θ,则簇头节点发送一个Trans命令到p'a,表示节点p'a将低频子带LL1传送到当前选取的辅助节点p″b中进行处理。
(6)各辅助节点对保存的或接收到的低频子带LL1进行第二层CDF9/7小波变换,保存低频子带LL2,对高频子带LH2,HL2和HH2进行量化和EBCOT熵编码,并将编码压缩后的数据传送至基站。
(7)簇头节点重复执行能量优先选择原则选取辅助节点来协同参与图像数据的处理,直到完成小波的分解级数l,最终,辅助节点将低频子带系数和压缩后的高频子带系数传送至基站,完成图像数据的处理。
分布式处理虽然在一定程度上增加了通信能耗,但大大减轻了图像采集节点的负担,而能量优先选择原则将各节点能耗的均衡性保持在一个最优水平。事实上,对于ID号不相同的前次辅助节点p'a与当前辅助节点 p″b(Eb≥Ea),若 p'a与 p″b的通信距离较小(不超过69 m),p'a将低频子带传送到p″b进行处理时两节点能量的均衡性总要优于p'a直接对低频子带进行处理时两节点能量的均衡性,下面我们将进行详细阐述。
首先定义通信能耗模型和计算能耗模型。本文采用一阶无线模型[13]来计算节点的通信能耗。1 bit数据的发送能耗和接收能耗分别为:
其中,d 是节点间距离,Eelec=50×10-9J/bit,εamp=100×10-12J/(bit·m2)。而节点的计算能耗定义如下:
其中,EDWT是每比特数据进行一级小波变换时的计算能耗,EENT是每比特数据进行量化和熵编码时 的 能 耗。 本 文 采 用 JouleTrack[14]来 估 算JPEG2000编码器[15]的能耗,通过在频率为 206 MHz的StrongARM SA-1100处理器上运行JPEG2000图像压缩算法来对一幅512×512的Lena图像进行压缩,可以近似得到 γ=220×10-9J/bit,δ=20×10-9J/bit。
假设前次辅助节点p'a上有一块大小为kbit的低频子带LL,辅助节点处理该低频子带的总能耗为ETP,前次辅助节点p'a将LL传送到当前辅助节点p″b时的发送能耗为ET,而p″b的接收能耗为ER。若低频子带LL在前次辅助节点p'a上进行处理,则处理完毕后p″b与p'a的能量差E'ab为:
若前次辅助节点p'a将低频子带LL传送到当前辅助节点p″b上进行处理,则处理完毕后p″b与p'a的能量差Eab为:
式(11)减去式(12)得到
而 ETP=K(EDWT+EENT)=K(γ+δ),ET=KETx=K(Eelec+εampd2),ER=KEelec,令 Eab-E'ab=0,代入各参数可以求得p'a与p″b的通信距离d≈69 m,即当d≤69 时,E'ab≤Eab,当 d>69 时,E'ab>Eab。因此当节点间通信距离较小,p'a将低频子带传送到p″b进行处理时两节点能量的均衡性总要优于p'a直接对低频子带进行处理时两节点能量的均衡性。但低频子带的传送会增加通信能耗,若节点p″b和节点p'a本身的能量差很小,则传送低频子带并不会明显地提升节点间能量的均衡性,因此本文在能量优先选择原则中引入了一个能量阈值θ进行优化,当且仅当Eb-Ea>θ 时,p'a才将低频子带传送到 p″b进行处理,能量阈值θ的选取将在第2节仿真算例中进行阐述。
2 仿真算例
本节首先介绍了WMSNs图像压缩算法的几个性能评价指标,然后通过 MATLAB仿真实验对ICDP算法与DICA算法进行了比较。
2.1 性能评价指标
(1)峰值信噪比
图像质量由峰值信噪比PSNR(Peak Signal to Noise Ratio)来衡量,PSNR定义如下:
其中,b表示原始图像的比特率,均方差MSE(Mean Square Error)定义如下:
其中,x(i,j)和 ^x(i,j)分别表示原始图像和重建图像的像素值,N表示图像像素总数。
(2)网络生命周期
本文假定如果网络中某个簇内有成员节点的能量耗尽,则宣布该簇退出网络,此时该簇成功传输的图像数量定义为该簇的生命周期,而网络的生命周期则定义为网络中所有簇成功传输的图像数量总和。
(3)簇内节点能量方差
ICDP算法与DICA算法均基于分簇结构的网络,簇内各成员节点能量的方差用于衡量节点间能量的均衡性,方差大说明某些节点的能量值相对平均能量值的偏离大,节点间能量的均衡性差,反之则说明节点间能量的均衡性好。
2.2 仿真结果与分析
ICDP算法与DICA算法均采用JPEG2000图像压缩标准,因此两种算法在图像的压缩率和PSNR上是相同的。分布式处理机制需要对图像进行分块并分别传送到辅助节点中进行处理,利用JPEG2000对图像进行分块处理时会产生一定的失真和块效应,但是当图像比特率较高或者图像分块较少时并不会出现明显的失真和块效应。如图3是一幅512×512 Lena图像在不同条件下的JPEG2000压缩,通过比较发现对图像在进行256×256分块时(图3(c)),不会出现明显的失真和块效应,与图3(a)相比PSNR也仅仅降低了0.18,因此实验选择对Lena图像进行256×256的分块。
图3 512×512 Lena图像JPEG2000压缩
对于WMSNs的一个分簇,实验设定节点通信距离为10m,图像采集节点采集512×512的Lena图像,簇头节点和图像采集节点的能量为1.0 J,其余簇成员节点的能量在0.9 J~1.0 J之间随机产生。
首先对ICDP算法的能量阈值θ进行仿真观察。实验选取一个由10个节点组成的簇,小波分解级数L=5,当图片传送数量picnum分别为2、6和10时,不同能量阈值θ下簇内节点能量方差的变化情况如图4所示,随着图像传送数量的增大,越来越多的空闲节点参与分布式处理,因此提高了节点能量的均衡性,降低了簇内节点能量方差。由图可知θ=0.06 和 θ=0.14 是两个临界点,当 θ≤0.06 时,具有不同ID号的当前辅助节点与前次辅助节点的能量差总是大于0.06,因此前次辅助节点总会将低频子带传送到当前辅助节点进行处理,从而提高了各节点能量的均衡性。当θ≥0.14时则相反,低频子带总会保存在前次辅助节点中进行处理。而当θ在[0.06,0.14]逐渐增大时,越来越多的前次辅助节点选择保留低频子带进行处理,因此逐渐增大了簇内节点能量方差。ICDP算法旨在最大程度地保证各簇内节点能量的均衡性,因此选择临界值θ=0.06作为实验参数,这样既能保证簇内节点能量方差处于一个最低水平,又能避免当辅助节点间能量差过小时传送低频子带而浪费能量。
图4 能量阈值与簇内节点能量方差的关系图
实验选取一个由5个簇(分别为cluster1,cluster2,cluster3,cluster4,cluster5,并且与基站的距离依次减小)组成的网络,每个簇由5个~50个节点组成。下面将观察当小波分解级数L分别为3和5时,不同簇成员节点数量下两种算法的网络生命周期。如图5所示,随着簇内节点数量的增大,越来越多的辅助节点参与了图像的分布式处理,因而减小了每个节点的平均能耗,延长了网络生命周期。DICA算法的辅助节点随机选择原则,并不能保证节点能量的均衡性,并且渐进式分布处理机制也给离基站较近的簇带来了额外的能量开销,严重影响了网络生命周期。而ICDP算法采用更加合理的能量优先选择原则选取辅助节点,并在簇内完成图像的全部处理过程,避免了给其它簇造成额外的负担,因而能够更好地平衡簇内各节点能耗,延长网络生命周期。JPEG2000处理中,第i+1级的计算和传输能耗只有第i级的1/4,而分布式处理机制又会将第i+1级的能耗分散到其它空闲的辅助节点,因而小波分解级数在总体上并不会对网络的生命周期产生较大的影响。
图5 网络生命周期
假定网络中每个簇由50个节点组成,由于ICDP算法在簇内完成图像的全部处理过程,每个簇的节点能量均衡性相似,因此只选择cluster1进行观察,而DICA算法中离基站较近的簇不仅要完成本簇图像的处理,还要额外承担其它簇传送过来的低频小波子带的处理,因此选择cluster1~cluster5进行观察。图6研究了簇内各节点剩余能量方差与图像传送数目的关系,从图中可以看到,ICDP算法能让簇内各节点剩余能量方差始终保持在一个很小的水平,最大程度地保证了各节点的量的均衡性,而DICA算法不能充分地保证节点间能量的均衡性,随着图像传送数量的增加,某些节点可能多次参与小波变换,而离基站越近的簇则会承担越多的能量开销,严重影响了各节点能量的均衡性。
图6 图像传送数量与簇内节点能量方差的关系
3 结语
针对无线多媒体传感器网络(WMSNs)中资源受限的单个节点难以完成图像数据的处理,本文在分布式渐进图像压缩算法的基础上,提出了一种改进的基于簇内分布式处理的图像压缩算法。ICDP算法通过一种新型的基于能量优先选择原则的分布式处理机制来完成JPEG2000图像压缩标准中的多级小波变换,最大程度地保证了各簇内节点能量的均衡性。仿真结果表明,ICDP算法能够比DICA算法更好地平衡网络中各节点的能耗,延长网络的生命周期,非常适合应用于资源受限、节点部署密集的WMSNs中。
[1] 鲁琴,罗武胜,张勇.多媒体传感器网络中基于两跳簇结构的图像传输方案[J].传感技术学报,2007,20(11):2476-2480.
[2] Chew L W,Ang L M,Seng K P.Survey of Image Compression Algorithms in Wireless Sensor Networks[C]//Proc of the International Symposium on Information Technology.2008:1-9.
[3] Wang Pu,Dai Rui,Akyildiz Ian F.A Spatial Correlation-Based Image Compression Framework for Wireless Multimedia Sensor Networks[J].IEEE Transactions on Multimedia.2011,13(2):388-401.
[4] Jamali Mohamadreza,Zokaei Saadan,Rabiee Hamid R.A New Approach for Distributed Image Coding in Wireless Sensor Networks[C]//Proc of the 2010 IEEE Symposium on Computers and Communications.Tehran,Iran.2010:563-566.
[5] Nasri M,Helali A,Sghaier H,et al.Energy-Efficient Wavelet Image Compression in Wireless Sensor Network[C]//Proc of the 2010 International Conference on Communication in Wireless Environments and Ubiquitous System.2010:1-7.
[6] Wang Wei,Peng Dongming,Wang Honggang,et al.Energy-Constrained Distoration Reduction Optimization for Wavelet-Based Coded Image Transmission in Wireless Sensor Networks[J].IEEE Transaction on Multimedia.2008,10(6):1169-1180.
[7] 罗武胜,鲁琴,杜列波.基于LBT的无线传感器网络多节点协同图像压缩算法[J].传感技术学报,2008,21(9):1600-1604.
[8] Phat Nguyen Huu,Vinh Tran-Quang,Miyoshi T.Image Compression Algorithm Considering Energy Balance on Wireless Sensor Networks[C]//2010 8th IEEE International Conference on Industrial Informatics.2010:1005-1010.
[9] Liu Zhixing,Zhang Jing,Zhuo Li.A Distributed JPEG2000 Coding Algorithm Based on Mobile Agent[C]//International Conference on Wireless Communications and Signal Processing.2009:1-5.
[10] Nasri M,Helali A,Sghaier H,et al.Adaptive Image Transfer for Wireless Sensor Networks(WSNs)[C]//2010 5th International Conference on Design and Technology of Integrated Systems in Nanoscale Era.2010:1-7.
[11] Xiong Zheyuan,Fan Xiaopin,Liu Shaoqiang,et al.Low Complexity Image Compression for Wireless Multimedia Sensor Networks[C]//International Conference on Information Science and Technology.2011:665-670.
[12]Wu Huaming,Alhussein A Abouzeid.Energy Efficient Distributed Image Compression in Resource Constrained Multihop Wireless Networks[J].Computer Communications,2005,28(14):1658-1668.
[13] Wang A,Chandraksan A.Energy-Efficient DSPs for Wireless Sensor Networks[J].IEEE Signal Processing Magazine,2002,19(4):68-78.
[14]Sinha A,Chandrakasan A.JouleTrack—A Web Based Tool for Software Energy Profiling.Design Automation Conference[DB/OL].http://www - mtl.mit.edu/research/anantha/jouletrack/JouleTrack/index.html.2001:220-225.
[15] Adams M D.The JasPer Project Home Page[DB/OL].http://www.ece.uvic.ca/~ mdadams/jasper/.2003.