APP下载

基于整数小波变换的数字图像可逆水印算法

2016-05-09刘惠文邓小鸿

计算机应用与软件 2016年4期
关键词:子带整数直方图

陈 亮 刘惠文 邓小鸿

基于整数小波变换的数字图像可逆水印算法

陈 亮 刘惠文 邓小鸿

(江西理工大学应用科学学院 江西 赣州 341000)

针对现有基于频域的无损数字水印算法在实施可逆性和嵌入容量上的不足,提出一种基于整数小波变换的无损数字图像水印算法,用于图像的大容量可逆信息隐藏。首先对图像进行LeGall5/3整数小波变换,然后在高频子带中采用直方图平移方法嵌入水印。为了获取最大的嵌入容量和减少图像的失真,分别提出嵌入参数和停止参数选择方法。同时,为了防止溢出现象和减少附加信息,提出新的产生位置映射图方法。实验结果证明了该算法在水印图像的保真度和嵌入容量上面具有较好性能。另外,与相似算法的比较证明了该算法的优越性。该算法适合于数字图像载体中实施隐秘通信。

整数小波变换 可逆数字水印 直方图平移 信息隐藏

0 引 言

可逆数字水印又称为无损或无失真数字水印,由于其独特的无损特性已经成为数字水印技术的一个重要研究方向[1,2]。无损数字水印能将具有特定功能的水印信息嵌入在多媒体载体中,对多媒体的内容进行保护或实施隐秘通信。在提取端提取水印后,能将水印载体无损恢复到原始的状态。无损数字水印技术能广泛应用于一些需要水印来实现内容保护又对原始载体完整性有特殊要求特定的领域。如在医学图像应用中,可以将病人的电子病历等隐私数据以水印方式嵌入对应的医学图像中,在提取时可以得到原始的医学图像,进行高质量的诊断和下一步处理[3,4]。

利用无损数字水印技术在图像中进行信息隐藏属于脆弱水印方法,意味着只要含水印的载体一旦被修改,嵌入在原始载体中的水印信息将不可恢复或者不可读。目前算法主要分为基于空域和频域算法,具有代表性的空域算法如基于差值扩展[5-7]和基于直方图平移的方法[8-10],前者嵌入容量更大,隐秘图像的质量较低,运行效率也更低,后者具有操作简单,嵌入容量可预先估计等优点。基于空域方法直接在图像像素级进行操作,算法执行效率较高,嵌入容量较大,但存在着隐秘图像质量较差和鲁棒性差的特点。研究者们开始研究基于频域的可逆水印算法。在变换域中隐藏信息首先将原始载体图像进行频域上的正变换,然后选取不同频域系数进行水印嵌入,最后进行逆变换得到水印图像。由于图像的频域变换比空域方法具接近于人类视觉系统HVS(Human Visual System)特性,能充分利用各种视觉掩蔽特性,水印图像的隐秘性和鲁棒性更好。曾骁等人[11]利用图像离散余弦变换DCT(Discrete Cosine Transform)后,中低频系数大量为零的现象,利用零系数索引值进行水印的嵌入。但DCT变换过程中涉及到浮点数操作,水印算法实施可逆性困难。吕皖丽等人[12]利用Berkeley正交小波变换符合HVS的特点,在图像的感兴趣区域嵌入水印。图像的感兴趣区域限制了水印嵌入位置,嵌入容量不高。Chang等人[13]提出了将图像进行Haar小波变换,用自适应的算术编码方法对高频子带进行编码来嵌入隐秘数据。但自适应的编码方法增大了算法的复杂度。综上,基于频域的算法存在着嵌入容量小、算法复杂度高和实施可逆性困难等问题。

针对上述基于频域方法的不足,本文提出一种基于整数小波变换的数字图像可逆水印算法,算法充分利用图像小波变换后的高频子带系数进行水印嵌入,对传统的直方图平移方法进行改进,设计了嵌入参数选择算法。为了保证高嵌入容量的同时注重隐秘图像失真度,设计了嵌入停止参数选择算法和防止溢出算法。

1 相关知识介绍

1.1 整数小波变换

在介绍整数小波变换技术之前,简单介绍一下小波变换技术。小波变换能将图像进行多分辨率的分解,每级小波变换将得到4个频率子图,分别为LL(低频子图)、HL(垂直方向中高频子图)、LH(水平方向中高频子图)和HH(高频子图)。其中,LL子图集中了图像的绝大部分能量,是原始图像的逼近子图,可以进行更高级别的小波分级,即可得到第二级的4个频率子图(LL2, HL2, Lp和Hp),中高频子图代表了图像的边缘和纹理信息。如果要追求水印的不可见性,则可选择中高频子带进行水印嵌入,因为这一部分是人类视觉不敏感区域,如果要选择追求水印的鲁棒性,则可选择在低频子带中进行水印嵌入,因为这一部分内容能更好地抵抗一般的图像处理,如压缩等。图1给出了图像进行三级小波分解的示意图。箭头方向代表能量的逐级递减。

图1 图像三级小波分解示意图

普通的小波转换并不能被利用到可逆水印方法中,因为不支持完全的可逆性。比如一个8 bit灰度的图像,像素值是0~255之间的整数,普通的小波变换后的系数修改可能造成水印图像中的像素值是非整数,这使得可逆性实施困难。为了避免这些问题和保证图像变换的可逆性,可逆的基于提升方案的整数-整数小波变换被采用。基于提升方案的整数—整数小波变换将整数映射到整数,在小波正变换和逆变换中并不产生任何信息的丢失,在本文的水印策略中采用LeGall5/3整数小波变换[14]。在一个一维的信号s=[s0,1,s0,2,…,s0,N],这里s0,i是整数,s1,n代表一级小波正变换分解后的低频系数,d1,n代表高频系数。可表示为:

d1,n=s0,2n+1-⎣1/2(s0,2n+s0,2n+2)+1/2」s1,n=s0,2n+⎣1/4(d1,n-1+d1,n)+1/2」

(1)

其中,sj,n和dj,n分别代表第j级小波转换的第n个低频和高频小波系数。函数⎣·」代表向下取整函数。和一般的小波变换方法一样,第一级分解得到的小波低高频系数可以进一步分解为更高的级数。为了将二维的信号如图像进行一级分解,利用式(1)分别在水平和垂直两个方向进行。分级的逆向转换可用下式表示:

s0,2n=s1,n-⎣1/4(d1,n-1+d1,n)+1/2」s0,2n+1=d1,n+⎣1/2(sj,ndj,n+s0,2n+2)+1/2」

(2)

1.2 直方图平移

直方图平移方法是常用的一种无损数据隐藏方法。直方图平移方法的嵌入原理是产生一个间隙,这个间隙就是在原始图像直方图或者转换域直方图中嵌入数据能利用的自由空间。用一个例子来说明直方图方法嵌入数据的过程。图2给出了一个灰度图像的HH子带系数的直方图,注意高频子带的系数集中于0值点附近。

图2 灰度图像的HH子带系数直方图

为了在系数值为n处嵌入数据,首先要产生嵌入间隙,将所有值大于n的系数值加1,如图3所示,这里n=0。在间隙产生后,二进制的水印消息可以嵌入在自由空间。当然,也可以将系数向反方向进行调整,例如,选择系数为-1的嵌入水印,那么所有小于-1的系数往负方向调整一个幅度来产生间隙。

图3 直方图间隙示意图

在嵌入时,扫描系数值,所有系数值等于0的系数为可嵌入水印的系数。如果待嵌入的水印为0,那么当前的系数保持不变;如果待嵌入的水印为1,那么将当前的系数加1。如果带嵌入数据的总量大于系数值等于n的系数个数,那么可以继续利用其他的系数值来产生更多的自由空间。在提取端,扫描所有的系数,所有值等于n或者n+1的系数含有水印信息。如果当前系数值等于n,那么解码水印位0;如果当前系数值等于n+1,解码水印位1,并且将系数值减去1恢复原始系数值。通过这种方法可以将嵌入过程中所有修改后的系数恢复,从而无损恢复出原始图像。

2 算法介绍

基于整数小波变换的数字图像可逆水印算法嵌入过程如图4所示。嵌入算法主要由6个主要模块组成,其中,整数—整数小波正变换和逆变换分别将图像从空域转换为频域和从频域转换为空域。嵌入参数选择模块用于选择水印嵌入的位置,防溢出模块用于防止嵌入过程中由于溢出而引起的图像严重失真现象,并减少附加信息的长度。直方图平移模块用来进行水印嵌入,嵌入停止参数选择模块用于在嵌入过程中控制算法的嵌入容量和图像失真。

图4 算法嵌入过程图

2.1 防溢出处理

在图像的小波系数上采用直方图平移方法嵌入数据会引起空域上像素值的变化,这种变化可能会导致不可避免的上溢和下溢现象。以8 bit深度的数字图像为例,上溢代表像素值超过了255,下溢代表像素值小于0,虽然在图像显示的时候,大于255的像素值会产生截断,如257的像素值会突变成1,从直观上看一个白色的像素点突变成黑色的点,这就会造成图像显示时出现盐椒噪声现象,严重影响图像质量。为了防止溢出,大多数解决方法均利用位置映射图来标明哪些系数不能更改。为了将映射图传递给解码端,映射图一般会经过压缩处理并且嵌入在宿主媒体中。如果采用的压缩方法是无损的,那么压缩率通常不会很大,映射图信息会占用大部分的嵌入容量空间,从而使得实际可嵌入水印信息减少。上述问题在早些的基于差值扩展的无损水印算法中尤为明显。

本文提出了一个新的产生映射图的方法,新方法充分利用小波转换的特点来减少系数映射图大尺寸的问题。小波转换显示出了在图像空域和频域中的良好关联性和分辨率,其高频子带携带了图像的空域信息。由于溢出问题的产生源于那些处于边界的像素,所以在频域上定位相应系数是可能的。在定位这些特别的系数后,在嵌入过程中,映射图被参照来排除这些接近边界值的像素。为了更清楚地说明本文采用的防溢出方法,以一个实例说明。假设原始的信号是一个4×4的二维数组,数组的值为像素值,并且在嵌入过程中要排除小于10和大于250灰度的像素值。原始信号数组如图5所示。

图5 原始信号数组

引入一个4×4的二进制系数映射数组,数组的值取1和0,取1的点对应图4中的相同位置的像素值可以被修改,取0的不能修改,则映射数组如下所示:

为了找到相应的小波系数,首先将图5的原始信号进行整数小波变换。为不失一般性,假设嵌入过程选取HH子带中嵌入1 bit信息“1”。图6给出了原始信号进行整数小波变换后获取的HH子带系数。

图6 整数小波变换后获取的高频子带系数

为了处理HH子带的尺寸和减小二进制映射数组的大小,可以利用降低采样的方法得到新的二进制映射数组[1 1;1 0],即使映射数组的维数不一样,但是HH子带包含了大量的原始图像的空域信息,这个方法是有效的,这样嵌入过程中选择{-130,-203,-198}进行嵌入。原始的映射数组的维数和原始图像的一致,在绝大多数图像中存在大量的冗余信息,因为除了在图像的边缘部分,图像的像素变化平缓,很少有突变的情况发生。所以,为了减少映射数组的大小,原始的映射数组能容易被降低采样。实验结果也证明,从Hp子带中通过提升采样的方法能产生HH1的映射数组。这意味着,总的系数映射数组的尺寸能限定到一个子带的系数映射数组的尺寸,为了使方法更加有效,映射数组的尺寸可以进一步减小。在提出的方法中,选择的小波映射数组为Hp子带的大小,仅为原始图像的1/64。这个映射信息作为水印的附加信息嵌入,并且用于解码端的数据提取和图像恢复。

2.2 嵌入参数选择

在本文的方法中,水印信息嵌入在转换域图像的高频系数中。高频子带又称为细节子带,其分布特点近似为中值为0的拉普拉斯分布。事实上,为了最小化嵌入带来的失真和最大化嵌入容量,直方图平移从0值点开始,数据嵌入在第一次产生的间隙中。如果在所有0值点的系数都被利用完后还有数据没有嵌入,系数等于-1的继续被平移。通过连续的操作,系数值等于2(原始系数等于1,但是由于第一次平移后变成了2),等于-3,4,-5等等系数依次被平移直到所有的数据都被嵌入,或者是满足算法停止条件为止。如果算法停止条件满足,嵌入算法转到另一个子带或者更深级别的小波分解的系数中开始上述的多级嵌入过程。

在每个子带中从值等于0的系数开始进行直方图平移嵌入数据的优势在于,在嵌入相同数量的数据时只需要更小幅度的平移调整。直方图中平移的数量直接影响到了最高幅度处的系数,并导致水印图像失真。另外,不同子带的小波系数具有不同的能量,对最后形成的水印图像和失真级别的影响也不一样。提出的方法利用这些特性来获得水印图像的更高视觉质量和峰值信噪比。所以,嵌入过程总是首先选择在第一级整数小波转换的HH1子带中嵌入数据。为了获得最好的视觉质量和最小的失真,定义了一个算法停止参数γ1,γ1为所有可选择系数集合{0,-1,2,-3,…,m}的顺序,这里m就是当前子带中最后一个可利用的系数。例如γ1=4意味着平移操作一直执行到系数集合中的第4个值为止,即-3是最后一个进行平移嵌入数据的系数。如果γ1已经满足情况下,嵌入所需的空间并未满足,那么转向HL1和LH1子带进行操作,同时要考虑在这些子带中操作造成的失真和容量等性能。之后,最有效的停止参数γ2也会被找到。如果需要更多的嵌入空间,这个过程会一直持续到更深级别的小波变换(如Hp,HL2/Lp等)。值得注意的是,γ1被限定为嵌入过程中所有HH子带中的停止参数,而γ2是不同小波级别中所有HL和LH子带中的参数。虽然可以为每一个分解级别的每一个子带制定停止参数,但考虑到算法的复杂度和对算法性能的改进并不明显,本文的算法仅仅讨论γ1和γ2两个参数。停止参数的选择确保了参加平移操作的系数总和大于待嵌入的水印信息和附加信息。如果带嵌入的数据量大于了所有小波级别中可利用系数的总和,那么算法仅采用单层嵌入过程是不可行的,必须进行多层嵌入。多层嵌入的意思是当第一次嵌入过程全部结束后,在得到的第一层水印图像中继续采用相同的方法进行第二次嵌入,由于算法的可逆性,多层嵌入策略是可取的。

2.3 嵌入停止参数选择

该算法一个显著创新点就是选择最佳的停止条件和参数来最大化嵌入容量和将失真级别控制到最低。γ1和γ2两个参数对算法性能起着至关重要的作用,并且分别被用于嵌入过程中的编码和提取过程中的解码操作,获取两个参数过程如下所示:

(1) 算法开始时,设γ1和γ2的初值为0,并且对载体图像进行1级整数—整数的小波变换。

(2) 一个循环过程用来评估不同阶段下的水印图像性能。这个过程开始时,根据γ1的值(其值可能有正数或者负数)平移所有HH1子带中的系数,在第一次循环时,γ1=1,所以第一次平移嵌入将所有的系数值变为大于或者等于1。然后,开始检查平移产生的自由空间(要考虑2.1节中系数映射图)是否足够嵌入总的水印负载。如果需要更多的嵌入空间,计算将γ1的值加1情况下,平移HH1子带中的系数形成的图像的峰值信噪比PSNR1。另外,计算在γ1=0时平移HL1和LH1子带后形成图像的峰值信噪比PSNR2。如果PSNR1≥PSNR2,那么循环继续,否则重置γ1。这个步骤确保了最后获得较好的γ1,使得直方图平移嵌入数据具有最高的水印图像质量,即最大的PSNR值。

(3) 如果在子带HL1和LH1中平移得到的图像质量更高,则需要确定第二个停止参数γ2。选择的子带名需要被记录下来,表示为subidx,作为附加信息或者头信息在嵌入过程中指明HH1子带后参与操作的子带是HL1还是LH1。这些信息作为数据提取和原始图像恢复时的依据。

(5) 一旦获得了γ1和γ2,将两个停止参数用来检查是否有足够的空间来嵌入水印负载。如果宿主图像可以满足,停止参数被用来指导不同小波级系数中的数据嵌入,并且能保证水印图像的最小失真。另外一种情况是宿主图像不能满足嵌入要求,策略要牺牲一定的失真级别来增加嵌入容量,在γ1和γ2的值基础上继续进行平移嵌入。虽然最终导致停止参数会偏离最优点,但是可以增加数据的嵌入容量,当然必须保证形成的水印图像具有可接受的视觉质量。

2.4 水印嵌入和提取过程

图7给出了本文算法设计的单层水印嵌入流程。

图7 单层水印嵌入过程图

水印提取是嵌入的逆过程,其过程简要说明如下:

(1) 将水印图像进行整数小波变换,提取头信息;

(2) 利用头信息提取总的负载,利用可逆直方图变换将不同小波级别的不同子带的系数进行恢复;

(3) 如果根据头信息判断出仍然有剩余部分的水印信息没有提取完,则重复提取过程,直到最后一个部分的水印信息被提取。换句话说,提取过程要进行与嵌入过程中相同的次数;

(4) 当所有的水印被提取后,也就是说所有被修改的系数被恢复,采用可逆整数小波变换得到原始图像。提取出的水印按照之前划分的顺序进行重组,并且使用解密密钥进行解密得到恢复后的水印。

水印嵌入和提取算法伪码描述如下:

算法1:水印嵌入算法

1: 读取原始图像,并生成系数映射矩阵

2: 读取原始水印信息,获取水印总长度

3: 将原始图像进行整数—整数小波变换

4: 根据系数映射矩阵,获取嵌入停止参数

5: 记录附加信息与原始水印信息一起形成总的嵌入负载

6: 直方图平移嵌入数据

7: if 单次嵌入不能嵌入所有负载 then

8: 将水印图像作为原始图像,将剩余水印信息作为原始水印,转步骤1执行

9: end if

10: 得到最终水印图像

在嵌入过程中,为了保证水印信息的安全,对其进行加密处理,嵌入的数据包含水印负载和头信息,头信息包含了系数映射信息、停止参数、小波分解级数和水印嵌入重数。

算法2:水印提取算法

1: 读取原始水印图像

2: 将水印图像进行整数—整数小波正变换

3: 进行水印负载提取

4: 对水印负载进行分解,得到附加信息和水印负载

5: 可逆直方图平移恢复系数

6: if 水印提取未完成 then

7: 转步骤2执行

8: end if

9: 将水印图像进行整数—整数小波逆变换

10: 得到原始宿主图像

3 实验结果与分析

实验随机选取了3副常见的自然灰度图像(Lena, Baboon, Peppers均来自网络,512×512×8 bit深度,BMP格式,水平和垂直分辨率均为71 DPI,大小均为257 KB)和3幅医学灰度图像(MRI_Skull, CT_Lung和US_Womb来自中南大学湘雅医院数据中心,512×512×8 bit深度,JPG格式,水平和垂直分辨率均为72 DPI,大小均为39.7 KB),如图8所示。编程环境为Matlab 7.0和Windows XP操作系统(主频1.6 GHz,内存1.25 GB)。

图8 试验中选取的测试图像

水印嵌入容量用bpp衡量,嵌入水印信息使用Matlab中的rand()随机函数产生。图像失真度衡量PSNR计算公式如下:

(3)

其中,M,N,P分别代表图像的宽、高和位深度,I(i,j)和Iw(i,j)分别代表原始图像和水印图像像素值。

3.1 算法复杂度分析

本文算法的计算复杂度取决于小波转换和直方图平移的操作。标准离散小波转换的时间复杂度是O(N)。直方图平移的计算复杂度与输入像素的个数N和平移次数k1直接相关,时间复杂度为O(k1×N)。另外,本文的算法需要计算在第一级小波转换中的高频子带中进行调整造成水印图像的PSNR值,用来决定停止参数。这些计算的花费与第一级小波转换的高频子带中直方图调整的总次数k2成正比,与每一步中的小波分解也成正比关系。所以,算法总的时间复杂度为O(k1×N2)。

3.2 实验结果

图9给出了不同的载体图像在不同的嵌入容量下的PSNR值测试结果。

图9 不同载体图像在不同的嵌入容量下的PSNR测试结果

从图9中可以看出,首先除Baboon图像外,其他图像能在嵌入容量达到接近1 bpp时保持较好的水印图像质量,PSNR值在30 dB以上。其次,医学图像的实际嵌入性能明显优于自然图像,由于医学图像的特点,小波系数的直方图更加集中于0点,并且仍然保持拉普拉斯分布。这表明少量的直方图平移能产生高的水印嵌入空间,并且带来更小的失真,这个特点比自然图像具有优势。另外,同样类型的图像,由于其自身纹理特征不同,嵌入性能有着明显差异,如Baboon图像纹理最为复杂,其高频系数直方图中分布相对均匀,造成更多的系数用来嵌入数据,相比实验中其他的自然图像具有最低的PSNR值,在目前的算法中,很少有算法能在Baboon这样的图像载体中单层嵌入容量达到1 bpp。医学图像中,US_Womb图像的纹理最为复杂,相邻像素间相关性较差,其嵌入性能最差,接近于一般的自然图像,如Lena。由于数据嵌入在高频小波子带中,每一个水印图像具有高频噪声,并且由于更高高频系数的存在,比原始图像更加锐化,但是即使在较低的PSNR值情况下,也没有对图像的视觉质量造成严重的影响。总体上来看,在每一个负载容量下的失真性能取决于每个图像本身的特征,这是因为每一幅图像的高频和低频系数的数量不同,并且灰度直方图的形状影响了防止溢出过程中的系数映射矩阵。另外由于医学图像通常具有12 bit位深度,本文研究了图像位深度对本文算法的影响,通过实验分析发现,同一幅MRI_Skull的医学图像,12 bit位深度的嵌入容量要远远高于8 bit位深度的图像,因为在用12 bit位深度表示图像像素时,最高的像素值达到4095,一般的图像像素值不会利用到如此大的空间,处于上溢边缘的像素大大减少,减小了附加信息的长度。另外通过小波分解后,高频子带系数处于0值附近的数量大幅增加,增加了嵌入容量。

为了得到更高的嵌入容量,可以采用多层嵌入策略。在多层嵌入策略中,水印图像被多次用来执行嵌入过程,从而嵌入更多的数据。图10给出了Lena在采用本文算法进行多层嵌入后的结果。为了更好观测失真现象,对图像进行放大处理,Lena测试图像在经历2层和3层嵌入后得到的水印图像,其嵌入容量可以得到2.7 bpp。通过比较原始图像和高嵌入容量的水印图像发现,具有低的PSNR的图像并不一定意味着低的视觉质量。虽然锐化影响加强了并且比较容易被察觉,但是图像的视觉质量对肉眼是可接受的。

图10 Lena多层嵌入测试结果

为了比较本文算法与相似方法的性能,选取了2个具有代表性的算法,分别为文献[6]提出的方法,该方法在基于差值扩展方法中具有较好的性能,另外一个为文献[15]提出的方法,该方法利用直方图平移和差分直方图嵌入数据。嵌入图像以Baboon为例,实验结果如图11所示。

从图11可以看出,相比其他的方法而言,本文方法在嵌入容量bpp>0.4时具有高的嵌入性能,在低的嵌入容量时,文献[6]的方法具有更高的PSNR值,因为对嵌入块的选择进行了优化,而本文提出的方法对所有具有相同值的系数进行了统一调整。文献[6]的方法的最高嵌入容量只有0.7 bpp。文献[15]通过仔细选择和调整直方图平移开始系数和限制待嵌入数据的数量可以得到更高的PSNR值,这样,算法的复杂度将会显著增大,然而带来的视觉质量的提升确是十分有限的。另外,从实验结果中可以看出,通常情况下,基于频域的算法比基于空域的算法具有更好的性能,这是因为在频域数据的相关性更好,能够产生更多的空间来进行信息隐藏,并且能将失真级别控制在可接受的范围。这一点在嵌入高容量数据时体现的尤为明显。

图11 与相似方法比较结果

4 结 语

本文提出了一种基于整数小波变换和直方图平移的数字图像可逆水印算法。利用整数小波分解后的高频系数进行水印嵌入,嵌入参数的选择算法保证了高的嵌入容量,嵌入停止参数选择算法保证了水印图像的保真度。另外为了有效防止嵌入过程中产生的溢出现象,提出了新的位置映射方法。实验结果表明,该方法具有较大的嵌入容量并将图像失真控制在较好的范围内。另外,本文方法可以执行多级嵌入以获得更高的嵌入容量。该方法可用于在医学数字图像中进行病人电子病历隐藏,实现诊断图像与电子病历的有效匹配,并能节省存储空间和传输带宽,具有较好的应用前景。

[1] 王继军.图像差值空间大容量可逆数字水印算法[J].中国图象图形学报,2014,19(4):527-533.

[2] Deng X H,Chen Z G,Zeng F,et al.Authentication and Recovery of Medical Diagnostic Image Using Dual Reversible Digital Watermarking[J].Journal of Nanoscience and Nanotechnology,2013,13(3):2099-2107.

[3] 高海波,邓小鸿,陈志刚.基于可逆可见水印的医学图像隐私保护算法[J].计算机应用,2014,34(1):119-123.

[4] 李文娜,高立群,孔祥勇,等.ROI和轮廓波结合的医学图像盲水印算法[J].哈尔滨工程大学学报,2013,34(7):918-923.

[5] Tian J.Reversible Data Embedding Using a Difference Expansion[J].IEEE Transactions on Circuits and System for Video Technology,2003,13(8):890-896.

[6] Lee C F,Chen H L,Tso H K.Embedding Capacity Raising in Reversible Data Hiding on Prediction of Difference Expansion[J].The Journal of Systems and Software,2010,83(10):1864-1872.

[7] 邱应强,余轮.基于整数变换的自适应图像可逆水印方法[J].电子与信息学报,2014,36(6):1278-1284.

[8] Ni Z,Shi Y Q,Ansari N,et al.Reversible Data Hiding[J].IEEE Transactions on Circuits and System for Video Technology,2006,16(3):354-362.

[9] 刘芳,汪玉凯.一种基于差值直方图平移的多层可逆水印算法[J].计算机应用与软件,2014,31(1):303-307.

[10] 王祥,李可,付凯元,等.直方图平移的自适应大容量可逆水印算法[J].西安电子科技大学学报,2014,41(1):124-129.

[11] 曾骁,陈真勇,陈明,等.基于零系数索引的可逆图像水印[J].计算机研究与发展,2010,47(7):1304-1312.

[12] 吕皖丽,郭玉堂,罗斌.结合初级视皮层特性的感兴趣区域数字水印算法[J].电子科技大学学报,2011,40(6):915-920.

[13] Chang C C,Pai P Y,Yeh C M,et al.A High Payload Frequency-based Reversible Image Hiding Method[J].Information Sciences,2010,180(11):2286-2298.

[14] 高广春,赵胜颖,朱红丽,等.基于提升格式的自适应预测小波变换算法[J].电路与系统学报,2010,15(5):31-34.

[15] 郑淑丽,邢慧芬,王美玲,等.基于直方图平移和差分直方图的可逆水印[J].系统仿真学报,2013,25(11):2717-2722.

A DIGITAL IMAGE REVERSIBLE WATERMARKING ALGORITHM BASED ON INTEGER WAVELET TRANSFORM

Chen Liang Liu Huiwen Deng Xiaohong

(CollegeofAppliedScience,JiangxiUniversityofScienceandTechnology,Ganzhou341000,Jiangxi,China)

In order to overcome the deficiencies of execution reversibility and embedding capacity in frequent domain-based lossless digital watermarking algorism, we presented an integer wavelet transform-based lossless digital image watermarking algorithm for image’s reversible data hiding with high capacity. First we conducted the LeGall5/3 integer wavelet transform on original image, and then embedded watermark into high frequency sub-bands using histogram shifting method. In order to obtain the maximum embedding capacity and to reduce image distortion, we proposed the embedding parameters and stopping parameters selection method respectively. At the same time, in order to prevent overflow phenomenon and to reduce additional information, we proposed a new location mapping generation method. Experimental results showed that the proposed algorithm had good performances in fidelity of watermarked image and embedding capacity. In addition, the comparison with similar method also proved the superiority of the proposed algorithm. The algorithm is applicable to carrying out secret communication in digital image carries.

Integer wavelet transform Reversible digital watermarking Histogram shifting Information hiding

2014-11-07。国家自然科学基金项目(61272494,4136 2015);江西省教育厅教改项目(JZJG14341)。陈亮,讲师,主研领域:信息安全。刘惠文,助教。邓小鸿,副教授。

TP391

A

10.3969/j.issn.1000-386x.2016.04.067

猜你喜欢

子带整数直方图
符合差分隐私的流数据统计直方图发布
一种基于奇偶判断WPT的多音干扰抑制方法*
子带编码在图像压缩编码中的应用
用直方图控制画面影调
一类整数递推数列的周期性
中考频数分布直方图题型展示
基于空间变换和直方图均衡的彩色图像增强方法
基于虚拟孔径扩展的子带信息融合宽带DOA估计
基于子带模式的AMC技术算法分析
答案