一种基于EZW的ROI图像联合压缩加密算法
2013-06-29邓海涛邓家先邓小梅
邓海涛,邓家先,邓小梅
(海南大学信息科学技术学院,海南 海口 570228)
随着信息技术的发展和信息社会的来临,网络信息交换逐步已成为人们获取和交换信息的主要形式,信息安全变得越来越重要。利用密码对各类电子信息进行加密,以保证在其处理、存储、传送和交换过程的安全性,是保证信息安全的有效措施。同时,由于信道资源极其宝贵,在带宽或容量受限的情况下,图像的感兴趣区域(Region Of Interest,ROI)编码可以很好地解决图像压缩应用中图像质量与压缩比之间的矛盾,使之在低比特率和甚低比特率的传输中获得高质量乃至无损的ROI重构图像成为可能。基于DWT平台的比特平面编码,如内嵌零树小波编码(Embedded Zerotree Wavelet,EZW)[1]和 JPEG2000 标准[2]已被证实能够获得好的图像压缩效果,这两种方法都能够实现ROI的图像压缩[3],即实现在进行图像编解码时,使得重构ROI图像获得相对背景图像(BG)更好的质量。JPEG2000标准把支持ROI图像压缩作为一个重要特性[4-5],并给出了两种 ROI编码技术:最大位移法(Maxshift Method)[6]和一般移位法(General Scaling Based Method)[7]。它们都是按比例提升ROI的小波系数,使ROI小波系数位于较高的比特平面上,进而实现ROI的优先编码。前一种方法的主要缺点是对于ROI和BG的相对重要性没有控制,导致BG重构质量很差[8-9]。后一种方法的主要缺点是需要对ROI的形状信息进行编码,导致其只适用于具有规则形状的ROI,如矩形、椭圆等。另外,提升小波系数的方法扩大了小波系数编码的动态范围,降低了编码效率[10]。
当前加密领域的研究主要立足于单纯的数据加密[11-12]或基于简单的非自适应的熵编码器进行加密[13-16]。因其所使用的熵编码器模型简单,算法复杂度较低,很容易受到攻击[14],本文提出了一种新的简单且有效的基于EZW的ROI图像联合压缩加密算法。该方法不需要对ROI的形状信息进行编码,并可对ROI和BG重构质量灵活调整。采用MQ自适应算术编码器,使其更具有适用性和通用性。在加密的过程中,充分利用了编码的树形结构,对ROI和BG采用不同的加密方案。对ROI图像,结合位平面编码特点,应用不同密钥对不同子带的小波系数分别加密,实现按分辨力选择性加密,以达到对不同用户的使用权限控制。对BG采用按树形结构加密,进一步提高通信的安全性。通过对压缩加密的综合考虑使得加密对压缩效率的影响几乎可以忽略,并在算术编码中进行输入数据的置换或者密文置换,从而保证了加密过程具有更高的安全性。这种将图像压缩算法和加密算法融合的方法称为联合压缩加密(Joint Compression-Encryption)。
1 EZW中的ROI编码方法
Shapiro提出的内嵌零树小波编码算法(EZW)[1]利用子带系数之间的相似性,取得了高效压缩效率,即将小波变换后各级HLK,LHK,HHK子带系数构成一棵树,称之为零树,如图1所示。编码每次都从最低分辨力系数开始扫描,如果一棵树的根与其子孙的小波系数的绝对值小于某个给定的阈值T(threshold),那么可以用一个预定义的符号代表整棵树,从而提高压缩比。
图1 零树结构
采用一种简单有效且不依赖所用的小波滤波器类型的小波域ROI模板建立方法[17]。以矩形感兴趣区为例,设原始图像的感兴趣区域由左上角和右下角两个对角顶点坐标表示 {(x1,y1),(x2,y2)},如图2所示。由于各子带系数在空间上和方向上的相似性,只需计算最低频子带LL中的感兴趣区域即可。设DWT变换后在小波域中的最低频子带的ROI的矩形为{(x'1,y'1),(x'2,y'2)},如图3所示,对应关系由式(1)确定,其他高频子带中所对应的ROI区域与LL子带的ROI区域构成树形结构[18]。
图2 原始图像图
图3 小波系数的ROI
在进行EZW编码之前将图3的小波域系数分割成ROI和BG两部分,如图4、图5所示。保持它们的大小与原始图像一致,剩余部分用零值填充,如图中黑色部分所示。
采用加权系数α来灵活分配ROI区域与BG区域的编码量,实现ROI与BG重构质量的可调性。
设原始图像大小为H×W,ROI大小为H1×W1(其中H >0,W >0,H >H1>0,W > W1>0),压缩倍数为c,ROI占原始图像的比例为β,β=(H1×W1)/(H×W),总的输出码流长度为Len。ROI的输出码长为Len1=Len×α,BG的输出码长为Len2=Len×(1-α),则有如下关系
当满足1>α>β时,c1=βc/α<c,即ROI的压缩倍数c1小于总的图像压缩倍数c,可以保证ROI的传输质量好于BG。EZW解码后将两幅图像进行简单的系数相加,便可恢复小波域系数,再进行小波逆变换,最终得到解码图像。既避免了对小波系数的提升,又避免了对ROI区域形状的编码。
2 图像联合压缩加密的实现方法
提出基于EZW的联合压缩加密原理如图6所示。原始图像经DWT变换后将原图数据的相关冗余映射成为小波系数的统计冗余,再分割为ROI小波系数和BG小波系数两部分,对它们分别进行EZW编码,在比特平面编码过程中产生原始上下文CX(context)和原始判决D(decision),用密钥Key对CX和D进行修正,产生修正上下文CX1和修正判决D1,并送往MQ编码器,从而分别实现ROI图像按分辨力的联合压缩加密和BG图像按树形结构的联合压缩加密。
为使MQ编码器获得良好的编码效率,在位平面编码过程中,按所使用的是相邻系数或相邻集合的重要性对产生的判决进行了分类,并形成上下文。由于位平面编码的判决有两种(即集合判决和系数判决),与之相应的将上下文也分为集合上下文和系数上下文两种。
图6 基于EZW的ROI图像联合压缩加密原理框图
集合上下文的计算,本文采用简单的同分辨力相邻集合重要性产生。如图7所示,A表示当前集合重要性,D0,D1,D2,D3表示对角相邻集合重要性,H0,H1表示水平方向相邻集合重要性,V0,V1表示垂直方向相邻集合重要性,它们的取值为{0,1}(其中0代表集合不重要,1代表集合重要)。8个周边集合形成256种上下文,经合并形成4种集合上下文。集合上下文CXset的计算公式为
式中:“| ”表示或运算。显然 CXset取值为{0,1,2,3}。
图7 集合A的相邻集合
系数上下文的计算采用EBCOT中的方法[19-22]进一步细化为零编码上下文、幅值上下文、符号编码上下文,其原理较为复杂,这里不再赘述。相对基于信源概率统计特性的固定编码模式的区间分裂算术编码器,MQ编码器是一种基于位置信源概率模型的自适应模式的算术编码器。因为MQ编码器需要使用上下文和判决,故使用密钥对上下文或判决进行修正都可以实现联合压缩加密。对于给定序列,如果上下文不同,对应的概率子空间也不相同,编码输出的码字也不相同。如果改变给定序列中的任何一个上下文或判决,就会导致概率子空间的不同,并会对后续判决的条件概率分布产生影响,在解密过程中将导致连锁反应,出现连续解密错误,相对区间分裂算术编码器而言,可获得更好的加密效果及更好的安全性。
基于判决修正的算术加密原理如下:
利用密钥对位平面编码产生的二进制判决进行某种运算,使得修正后的判决与原始判决不同,如果系统解码使用的密钥与编码的密钥不同,则解码出错,便实现了判决加密。
设key表示加密密钥,D=(d1,d2,…,dN)表示编码产生的原始二进制判决矢量,长度为N,定义一种运算
式中:D1=(d11,d12,…,d1N)为修正后的二进制判决矢量,长度也为N。
设key1表示解密密钥=(表示解码后的判决矢量,当key1=key时,则D^=D。即当解密使用密钥正确时,将正确重建原始判决序列,式(6)成立
式中:f-1为式(5)对应的逆运算,所以式(5)定义的运算对正确密钥应是可逆的。
基于上下文修正的加密方法如下:
设MQ编码器的上下文范围为(m,m+1,…,m+Lm),设key表示加密密钥,CX表示比特平面编码产生的原始上下文,对应取值范围为(m,m+1,…,m+L),修正后上下文为CX1,对应取值范围为 (m,m+1,…,m+L'),上下文修正可以表示为
式中:g(·)表示定义的某种运算;n表示该类上下文出现的顺序;L与L'分别表示原始上下文和修正上下文的种类,且有L < Lm,L'< Lm。
上下文修正的算术加密算法需要满足如下要求:
1)加密、解密过程中,对应比特平面编解码产生的上下文相同,且使用相同密钥,修正上下文使用相同的变换,则送往MQ编码器和MQ解码器的上下文也相同,则不会产生上下文引起的解密错误。即加密、解密使用相同的运算,所以式(7)不需要是可逆的。
2)对应给定的一种上下文,不同时刻修正算法不能是一种一一映射关系,也就是说,给定CX和key,对于不同的n,式(7)运算的修正上下文不能总是固定值,即CX1不是CX和key的线性运算,否则不能实现算术加密。
3)修正上下文不能超过算术编码所对应类型的范围,否则可能会导致压缩的效率下降。
4)上下文的运算可以是不可逆的,算术编码和解码使用相同的运算规则便可保证解密不会产生上下文引起的解密错误。
在本文中,判决修正采用简单的异或运算,对密钥key进行循环移位得到密钥key1,即首先利用key的最低位与原始判决进行异或运算,然后密钥循环移位一次得到key1,供下一次判决修正使用。
上下文修正算法是,对密钥key进行循环移位,取移位后的最低若干位二进制数据dk与原始上下文(范围为(m,m+1,…,m+L))按照式(8)运算
式中:mod(·)表示模运算。修正后的上下文范围为(m,m+1,…,m+Lm)。该方法可以满足上文提出的上下文修正规则。
结合EZW的比特平面编码,在ROI中,对每个小波域子带的系数分别独立进行联合压缩加密,LL子带使用单独密钥,其他同级别子带使用相同密钥,这样就可以实现分辨力选择性加密。在BG子图像中,对整个小波域系数按树形结构扫描顺序进行加密,进一步满足客户安全性需要,原理上可以为每一棵树分配一个密钥以提高安全性,但过多的密钥将占用大量的存储空间,故文中对BG采用同一密钥进行编码以验证其正确性。
3 实验结果与分析
选用Lena灰度图像进行联合压缩加密测试,如图8所示(其中白框内为感兴趣区域)。小波变换后进行ROI与BG的分割,如图9、图10所示。
通过选取适当的加权因子α来灵活分配ROI区域与BG区域的编码量,实现感兴趣区域与背景区域重构质量的可调性。图11中显示当图像压缩8倍,码率为0.2 bit/pixel,β =0.11 ,α 分别取值为0.75,0.60,0.40,0.20,0.11,0.06时的重构图像,从图中可以看到,随着加权因子的增大ROI的重构质量越好,BG的重构质量相对越差。
图11 码率为0.2 bit/pixel时的重构图像
通过仿真,对Lena图像的感兴趣区域(ROI)验证按分辨力选择性加密的效果和背景区域(BG)验证桉树形结构加密的效果。与小波变换的子带相对应,在ROI中相同分辨力的三个子带使用相同的密钥,分别称为一级子带密钥、二级子带密钥、三级子带密钥,而LL3子带使用单独的密钥。在式(8)中取L=LM,ROI占原始图像的比例为β=0.11,取加权因子α =0.3,表1中列出了本文算法ROI和BG与原始EZW算法的ROI和BG在不同码率的重建质量的对比,可以看出本文算法的ROI重建质量要好于原始算法,而BG重建质量比原始算法略差。表2中列出了当取不同码率(单位为bit/pixel)时联合压缩加密重建质量(PSNR/dB)与原始算法重建质量(PSNR/dB)对比。可以看出,两者重建质量基本相同。这就表明,只要参数选择合理,联合压缩加密算法与原始压缩算法具有相同的压缩效果。
表1 联合压缩加密算法ROI和BG与原始算法ROI和BG的重建质量对比
表2 联合压缩加密算法与原始算法重建图像质量比较
下面分析当解码密钥与加密密钥不一致,即解码密钥错误时,重建图像质量(PSNR)随码流的变化情况。表3中显示了ROI各分辨力密钥出错时上下文修正算法的重建图像质量在不同码率下的变化情况;表4中显示了ROI各分辨力密钥出错时判决修正算法的重建图像质量在不同码率下的变化情况;表5中显示了ROI各分辨力密钥出错时上下文和判决联合修正算法的重建图像质量在不同码率下的变化情况。同时中给出了BG密钥出错时的重建质量。观察表3~表5可以得到一些共同特点:当无密钥出错时,重建图像质量随着码率增加而增加;当ROI密钥错误而BG密钥正确时,因为ROI所占比例很小(β=0.11),故重建质量随码率的增加而增大。当ROI密钥和BG密钥均错误时,重建质量随码率的增加而几乎保持不变,这是因为当密钥出错时,随着码率的增加,尽管更高分辨力子带重建数据质量增加,但密钥出错对应的低分辨力子带系数产生的错误更加严重,经小波逆变换,错误系数引起的图像数据错误也更加严重,从而导致重建图像质量随码率增加几乎保持不变。
表3 密钥出错对重建图像质量(PSNR)影响(上下文修正加密算法)
表4 密钥出错对重建图像质量(PSNR)影响(判决修正加密算法)
表5 密钥出错对重建图像质量(PSNR)影响(上下文、判决修正加密算法)
从表中还可以看出,在感兴趣区域(ROI)中不同分辨力子带密钥错误对重建图像质量的影响不同。其中三级子带系数对重建图像质量的贡献最多,二级子带次之,一级子带最少。当一级子带出现密钥错误时,从表3~表5中可以看出,重建图像质量在36 dB左右。二级子带密钥错误时,二级子带重建系数错误,重建图像质量下降到32 dB左右。三级子带密钥错误时,重建图像质量约为18 dB,质量下降更为严重。同时,由于背景区域(BG)在整幅图像中所占的比例相对较大,当其密钥出错时,会导致重建质量的急剧下降,约为9 dB。图12中列出了各分辨力子带密钥出错时的重建图像视觉效果。
图12 联合压缩加密后的重建图像
从重建图像中可以看出,在感兴趣区域中,当二级、三级子带密钥错误时,重建图像视觉效果严重下降;而一级子带密钥出错时,尽管图像质量有所下降,但视觉效果并不是特别明显;当LL级子带密钥出错时,从重建图像中无法得到原始图像的信息;在背景区域中,因其按树形结构加密,当密钥错误时,将无法得到原始图像背景区域信息。
通过上文的理论分析和实验结果可以得出如下结论:
1)使用上下文修正可以实现图像联合压缩加密;
2)通过适当的参数选择,可以保证联合压缩加密的重建图像质量相对原始压缩算法的质量基本不变;
3)通过加权系数α(1>α>β)灵活分配ROI区域与BG区域的编码量,从而实现了ROI与BG重构质量的可调性。当α增大时,图像ROI重构质量将更好,同时BG重构质量相对将更差;
4)对EZW编码算法进行改进,并引入自适应算术编码,能够实现图像的分辨力加密(对感兴趣区域)和按树形结构加密(对背景);
5)由于采用自适应算术编码,相对区间分裂算术加密,其概率的复杂度更高,因此密码安全性更高。
[1]SHAPIRO J M.Embedded image coding using zerotrees of wavelet coefficients[J].IEEE Trans.on Signal Processing,1993,41(12):3445-3462.
[2]TAUBMAN D S,MARCELLIN M W.JPEG2000 image compression fundamentals,standards and practice[M].Boston:Kluwer Academic Publishers,2001.
[3]PENEDO M,PEARLMAN W A,TAHOCES P G,et al.Region-based wavelet coding methods for digital mammography[J].IEEE Trans.Med.Imaging,2003,22(10):1288-1296.
[4]CHRISTOPOULOS C,ASKEL F J,LARSSON M.Efficient methods for encoding regions of interest in the upcoming JPEG2000 still image coding standard[J].IEEE Signal Processing Letters,2000,7(9):247-249.
[5]蒋正伟,谷源涛,唐昆.基于分数比特面提升的感兴趣区域编码[J].电视技术,2005,29(3):19-21.
[6]ISO/IEC JTC 1/SC 29/WG 1(ITU-T SG8),JPEG 2000 part I final committee draft[S].2000.
[7]ISO/IEC JTC 1/SC 29/WG 1(ITU-T SG8),JPEG2000 part II final committee draft[S].2000.
[8]WANG Z,BANERJEE S,EVANS B L,et al.Generalized bitplaneby- bitplane shift method for JPEG2000 ROI coding[C]//Proc.2002 IEEE Conf.on Image Processing.Rochester,US:IEEE Press,2002:81-84.
[9]WANG Z,BOVIK A C.Bitplane-by-bitplane shift(BbBShift)—a suggestion for JPEG 2000 region of interest coding[J].IEEE Signal Process.Lett.,2002,9(5):160-162.
[10]XU Ping,ZHU Shanan.A new method for arbitrary shape ROI coding based on ISA-DWT[C]//Proc.ICCA 2005.Piscataway,US:IEEE Press,2005:1018-1021.
[11]李晔,姜竞赛,樊燕红.一种混沌加密算法的改进[J].电视技术,2011,35(2):37-47.
[12]刘亮,吴怀宇.随机数列在数字图像加密中的应用[J].电视技术,2006,30(8):115-120.
[13]KATTI R S,SRINIVASAN SK,VOSOUGHI A.On the security of randomized arithmetic codes against ciphertext-only attacks[J].IEEE Trans.Information Forensics and Security,2011,6(1):19-27.
[14]KIM H,WEN J T,VILLASENOR J D.Secure arithmetic coding[J].IEEE Trans.Signal Process.,2007,55(5):2263-2272.
[15]WEN J T,KIM H,VILLASENOR J D.Binary arithmetic coding with key-based interval splitting[J].IEEE Signal Process.Lett.,2006(13):69-72.
[16]BOSE R,PATHAK S.A novel compression and encryption scheme using variable model arithmetic coding and couple chaotic system[J].IEEE Trans.Circuits Syst.I,2006,53(4):848-857.
[17]陈军,吴成柯,李云松.基于零树结构的感兴趣区图形内嵌编码方法[J].西安电子科技大学学报:自然科学版,2002,29(3):343-346.
[18]SWELDENS W.The lifting scheme:a custom-design construction of biorthogonal wavelets[J].Appl.Comput.Harmon.Anal.,1996,3(2):186-200.
[19]ISO/IEC JTC 1/SC 29/WG1 FCD 14495 public draft[EB/OL].[2012-10-09].http://www.jpeg.org/public/jpeglinks.htm.
[20]TAUBMAN D.High performance scalable image compression with EBCOT[J].IEEE Trans.Image Processing,2000,9(7):1151-1170.
[21]TAUBMAN D,ORDENTLICH E,WEINBERGER M,et al.Embedded block coding in JPEG2000[J].Signal Processing-Image Communication,2002,17(1):49-72.
[22]邓家先,吴成柯,陈军.基于率失真斜率提升的干涉多光谱图像压缩[J].光学学报,2004,24(3):299-303.