基于混沌系统与提升小波的抗剪切攻击的彩色图像盲水印算法
2010-07-07赵玉霞
赵玉霞
(1. 商洛学院计算机科学系,陕西 商洛 726000;2. 西北大学信息科学与技术学院,陕西 西安 710069)
近年来,数字化技术和Internet的飞速发展的同时,也带来了版权保护的危机。由于图像、视频、音频和其他作品都能以数字形式获得,其拷贝非常容易,从而可能会导致大规模非授权拷贝。对版权保护的重视催生了数字水印技术的发展,即将版权信息和序列号嵌入到数字媒体中,以帮助识别版权侵犯者,并检举和起诉盗版者。本文在前人研究的基础上,给出一种新的基于混沌序列和提升小波的抗剪切攻击的彩色图像盲水印算法。
1 算法原理
盲水印是根据载体图像的自身特征嵌入和提取水印信息。陈森[1]的盲水印的嵌入方案是:若w(i, j) =0,相应的频带系数取最接近它的奇数;若w(i, j ) =1,取最接近它的偶数。徐美玉等[2]与姜凤利[3]的方法与以上方案相似,此方法虽然简单,隐藏效果很好,但鲁棒性不高,若对载体系数的修改幅度大于 0.5,原系统将无法正确提取水印信息。张晓黎[4]的嵌入方案是:设定模ML,并得到3个区间[0, ML/8],[ML/4, 3ML/4]和[7ML/8, ML-1]。根据w(i, j ) 处的像素值,修改载体小波系数,使其模ML取余在3个区间之内。此方案预留区间 (ML/8, ML/4) 和 (3ML/4,7ML/8) 作为余数变化的缓冲区,提高了水印的鲁棒性,但实现复杂,时间效率不高。
王国明等[5]的嵌入方案为:将分解后的频带系数和水印的像素值均化成一维序列Bi,若wi=0则使Bi
1.1 水印预处理
为了确保水印信息的安全性,在水印嵌入之前一般要对其作置乱预处理。本章采用混沌映射和扩频相结合的置乱方案。
(1)扩频处理 扩频处理后,增加了水印信息的嵌入量,提高了该水印系统的鲁棒性[6]。扩频之前将原始水印分别进行 90°、180°和270°旋转得到图像v1、v2和v3,再将原始图像v和这3个图像进行扩频处理,这样处理后有很强的抗剪切功能。扩频效果见图1。
(2)混沌序列置乱 由于混沌序列具有易生成性,对初始条件强敏感性,可完全重现性等特点,因此,许多文献都采用混沌序列实现图像的置乱加密和隐藏[7-9]。本文同时采用两种混沌映射——Logistic映射和Hybrid映射,进一步加强了图像信息隐藏的安全性[9]。与文献[9]的不同之处在于本文直接使用两种混沌序列的二值序列。
具体实现过程为:先将水印图像按照第二种扩频方法进行扩频处理,生成大小为 2N×2N的新图像;然后使用两种混沌序列对其整体进行置乱处理,最后的效果见图2。
图1 扩频效果
图2 混沌序列置乱效果
1.2 水印嵌入方案
(1)使用提升小波方案对载体图像进行提升小波变换
提升小波方案是Sweldens等学者于20世纪90年代中期提出的,被称为第二代小波。第二代小波克服了第一代小波的不足,不引入量化误差,且在图像边界处无需数据延拓;重构时可无失真地恢复图像,具有更为灵活和优良的性质;算法简单,速度快,适合并行处理;对内存的需求量小,便于DSP芯片实现[10]。采用Haar小波函数对载体图像进行提升小波变换,实验表明该方案有很好的时间效率(见表1)。
表1 离散小波两层变换、小波包两层变换和提升小波两层变换处理时间比较
(2)根据 HVS低频和中频部分采用不同的水印嵌入方案
研究表明:人眼对低频子带的失真较敏感,而对高频子带的失真不甚敏感[11]。为提高嵌入水印的信息量、隐蔽性,可将载体图像经二级小波提升后,分别采用不同的嵌入方案在低频部分和中频部分嵌入水印。图像的低频部分集中了图像的绝大部分能量,因此低频系数的幅值较大,当两个系数需要交换且相差较大时,若让其直接进行交换,会使含水印图像有明显改动的迹象。所以,若系数需要进行交换,则要根据待交换系数周围的幅值,对待交换系数进行相应地处理。具体低频部分嵌入方案为:根据水印的大小将低频部分划分成N×N个子块,b1与b2是子块k(i, j ) 中相邻的两点,若w(i, j ) =0且子块k(i, j )中的b1>b2,如果点b1周围点的均值av1< b2,则b1=av1;否则,如果点b2周围点的均值av2> b1,则b2=av2;若如果上述条件均不满足,则b1取b1与b2两个系数的均值t,b2取t + 1,使最终满足b1< b2。相应的,若w(i, j) =1且子块k(i, j)中的b1< b2,如果点av1> b2,则b1=av1;否则,如果av2< b1,则b2=av2;若上述条件均不满足,则使b1=t +1,b2=t,使满足 b1> b2。若 b1> b2,让 b2=b2-n1;否则,b1=b1-n1。n1起缓冲作用,n1较大则水印抗攻击能力强,n1较小则水印的隐藏效果好。中频部分嵌入水印人眼不易察觉,可直接交换嵌入水印,提高了运算效率。具体中频水印嵌入方案是:若w(i, j) =0且子块k(i, j)中的b1> b2,则交换b1和b2,使满足b1< b2;若w(i, j) =1且子块k(i, j)中的 b1< b2,则交换 b1和 b2,使满足 b1> b2。若b1> b2,则b2=b2-n2;否则,b1=b1-n2。n2的作用与n1相同,但n2>n1。嵌入时各频带中的b1和 b2的相对位置各不相同提高了提取水印的难度。
1.3 水印提取方案
将含水印载体做两层提升小波分解,在各频带中,若对应子块k(i, j)中的b1> b2,则wr(i, j)=1;若 b1≤b2,则 wr(i, j) =0 ( r =1,2, 3, 4)。对提取出的4个子块,进行置乱过程的反向操作,可得出4个水印图像w11、w12、w13和w14。统计出4个水印相对位置上的像素值所占的比重,若1的比重大于50%,此位取1,否则取0,得出的水印信息w1*。设w1*与原始水印归一化互相关系数为NC1,若NC1> 0.90,w1*为最终结果;否则,做优化处理。
2 彩色图像盲水印算法
(1)水印嵌入
Step 1 输入原始水印图像v、载体彩色图像F和10个密钥(Logistic映射的µ、初值x0和初值y0、m1,Hybrid映射的 µ1, µ2, b ,初值 x′0和初值 y0′、m2)。
Step 2 按上述预处理方法对原始水印进行置乱预处理得到置乱水印w,将w划分成与原始水印大小一致的4个子图w1、w2、w3和w4。
Step 3 将图像F进行两层提升小波分解,按上述嵌入算法将子图w1嵌入到图像F的低频部分,将w2、w3和w4分别嵌入到图像F的中频部分。
Step 4 将嵌入水印信息的各频带进行两层提升小波重构,得到含水印图像F1。
(2)水印提取
Step 1 输入含水印图像F1,和 10个密钥(同嵌入算法)。
Step 2 将图像F1做两层提升小波分解,并按照上述提取方法从图像 F的低频部分提取出置乱水印图像w1,从图像F1的中频部分分别提取出3个置乱水印图像wr(r =2, 3, 4)。
Step 3 对4个置乱水印图像wr(r =1, 2, 3, 4)进行反置乱操作,可得出4个水印图像w11、w12、w13和 w14。
Step 4 统计4个水印图像相对位置上的像素值所占的比重,若1的比重大于50%,此位置取1,否则取0,得出的水印信息w1*。设w1*与原始水印归一化互相关系数为 NC1,若 NC1>0.90,w1*为最终结果;否则,做优化处理得出最终的提取结果。
3 算法实验结果与分析
3.1 算法的隐藏效果与水印的提取效果
水印图像为 32×32二值图像,载体图像为512×512彩色图像lena,使用Haar小波函数,在g分量上嵌入水印。实验表明算法的隐藏效果很好,水印的提取效果也很好。图3(a)~(j)依次为:原始二值水印图像、扩频处理后的效果、置乱后的效果、原始载体图像、含水印的载体图像、从低频、中频 Gh2、中频 Gv2部分、中频 Gd2部分提取出的水印、融合后的水印图像。表2中的PSNR0为含水印的g分量与原始载体图像的g分量的峰值信噪比;PSNR为含水印的载体图像与原始载体图像的峰值信噪比;NC01、NC02、NC03、NC04、NC1分别是从低频、中频 Gh2、中频 Gv2、中频d2G 部分提取出的水印、融合后的水印图像与原始水印的归一化互相关系数。该算法用有一定的通用性,将载体图像换成room、dog、stone、fruit等图像效果一样很好,且对于纹理丰富的载体图像,隐藏效果更好,且该算法要优于文献[5],见表3与图4。
图3 水印置乱、嵌入和提取效果
表2 算法的隐藏效果与提取效果
表3 嵌入时直接交换与均值交换隐藏效果比较
图4 直接交换的方法与均值交换方法的隐藏效果比较
3.2 算法的鲁棒性
为了考查本算法的鲁棒性,作者对上述算法得到的含水印载体图像进行剪切、加噪、滤波、压缩等各种攻击,实验表明算法有很强的鲁棒性,尤其在抗剪切攻击方面格外突出。表4 中NC2是优化后的水印图像与原始水印的归一化互相关系数。
表4 结果不做优化处理与做了优化处理的比较
3.3 算法的安全性分析
算法的安全性很高,主要体现在对水印图像的置乱预处理,即使能够正确地提取出水印,也很难对置乱的图像进行解密。置乱过程中先使用了扩频技术,提高了该系统地鲁棒性;然后使用了两种混沌序列——Logistic映射和 Hybrid映射,奇偶行使用不同的混沌映射。只有知道哪些地方用了哪些映射和十个密钥(Logistic映射的µ、初值 x0和初值 y0、m1,Hybrid 映射的µ1, µ2, b、初值x0′和初值 y0′、m2),才能进行正确的解密。图5中子图(a)到子图(d)依次为:仅用Logistc映射提取与解密、仅用Hybrid映射提取与解密、解密时同时使用了两种混沌映射但位置错误、错误的密钥(对m1、m2错误取值)。
图5 错误的解密结果
4 小 结
本文提出的基于混沌序列的抗剪切攻击的提升小波的彩色数字图像盲水印算法,考虑到了HVS的纹理掩蔽特性,根据不同小波分解后的不同子带对噪声的不同掩蔽特性给出各子带不同的水印嵌入方,使该算法既有了很好的隐藏性;对水印使用了扩频技术,且扩频之前对各个子图进行了旋转处理,增加了水印信息的嵌入量,使该算法有了很强的鲁棒性,尤其在对抗剪切攻击方面显得更加突出;对水印使用了扩频 Logistic混沌映射和Hybrid混沌映射进行置乱预处理,很难破解,使算法有了安全的保证;使用了提升小波对图像进行小波分解,较其他小波分解效率更好。总之,该算法具有较高的效率、很好的隐藏性、安全性和鲁棒性。
[1]陈 森, 张兴周. 基于小波和伪随机变换的盲检测图像水印算法[J]. 应用科技, 2007, 34(1): 24-27.
[2]徐美玉, 苗克坚, 普杰信. 一种基于DWT和DCT的盲灰度级水印算法[J]. 计算机应用研究, 2007, (2):194-195, 229.
[3]姜凤利. 基于小波变换的数字水印算法[J]. 辽宁石油化工大学学报, 2007, 27(1): 63-66.
[4]张晓黎. 基于整数小波变换的盲数字水印算法[J].计算机应用与软件, 2007, 24(4): 32-33, 40.
[5]王国明, 侯整风. 一种基于DWT的双密钥盲水印设计方案[J]. 安徽理工大学学报(自然科学版), 2007,27(1): 30-34.
[6]孙圣和, 陆哲明, 牛夏牧, 等. 数字水印技术及应用[M].北京: 科学出版社, 2004. 65-70.
[7]Matthews R A J. On the derivation of a chaotic eneryption algorithm [J]. Cryptologia, 1989, (4):29-42.
[8]Andrew T Parker, Kevin M Short. Reconstructing the key stream from chaotic encryption scheme [J]. IEEE Transactions on Circuits and Systems-I Fundamental Theory and Applications, 2001, 48(5): 624-630.
[9]赵玉霞, 康宝生. 一种基于混沌序列的数字图像隐藏算法[J]. 西北大学学报(自然科学版), 2008, 4,173(38): 194-198.
[10]周 伟, 桂 林, 周 林, 等. Matlab 小波分析高级技术[M]. 西安: 西安电子科技大学出版社, 2005.191-194.
[11]王振飞, 施保昌, 王能超. 基于小波变换和人类视觉系统的稳健水印算法[J]. 华中科技大学学报(自然科学版), 2007, 35(1): 26-28.