APP下载

基于DCT域的自适应数字水印算法

2012-07-23方春城谭忠明林若波邢南亮

关键词:鲁棒性像素载体

方春城,谭忠明,林若波,邢南亮

(1.揭阳职业技术学院机电工程系,广东揭阳522051;2.揭阳职业技术学院图书馆,广东揭阳522051;3.揭阳职业技术学院实训与计算机中心,广东揭阳522051)

随着信息技术的发展和互联网技术的广泛应用,数字媒体使用越来越广泛,极易被拷贝、篡改,信息安全越来越显示其重要性,数字媒体版权保护也越来越受到人们的重视;加密技术在一定程度上已经不能够满足信息安全的需求;于是,数字水印(digital watermarking)技术应运而生[1].水印技术与加密技术不同,前者要求隐蔽载体的改动在感官上是不能感知的,而后者载体的改动在感官上是可以感知的.水印算法按不同嵌入域,可分为变换域和空域[1-2],变换域算法是当前的研究热点.如根据人类视觉模型特性的DCT域水印算法等.DCT算法与国际数据压缩标准JPEG(Joint Photographic Experts Group,联合图像专家组)兼容,便于实现,应用也较多[3].本文主要讨论DCT(Discrete Cosine transformation,离散余弦变换)域的数字水印算法.

1 水印信息的预处理

水印信息一般都是具有重要意义的信息,水印信息在嵌入数字媒体前通常都进行加密预处理,以增强水印信息的安全性.这里主要采用Arnold变换对水印信息进行预处理.该变换的原理是将水印图像的像素进行有规律的移动[3-4],直到把水印图像变换成视觉上无规则的图像.Arnold变换的核心思想可以归纳为[3-5]

式(1)中,(X,Y),(X′,Y′)分别代表水印图像进行Arnold变换前后的像素,N为水印图像的大小.本文所采用的水印图像为40*40的二值图像,图1的(a)、(b)、(c)、(d)、(e)、(f)图分别代表原始水印图像经过1次、2次、3次、5次、20次Arnold变换的水印图像.通过图1各图的比较可以看出,原始水印图像经过5次以上的Arnold变换置乱后开始变得无规律,从图中可以看出原始水印图像像素之间的数值相关性随着变换次数的增加开始下降,在感官上逐渐混乱,从而达到加密的效果.

图1 原始水印及变换图

2 算法原理

2.1 嵌入原理

为增强水印的鲁棒性和稳健性,本算法将水印信息嵌入到载体图像的DCT域里,选择DCT系数的中频段系数.将载体图像C进行8*8的图像分块并进行DCT变换,取每一块图像子块DCT变换后的系数(k1(i)+3,k2(i)+2)作为具体的水印信息嵌入位.设定一个嵌入强度因子α,以增强水印信息在提取时的精确度.按照Zizag排列,选择要嵌入水印信息的DCT系数L1:(k1(i)+3,k2(i)+2),及其前后的两个DCT系数L0:(k1(i)+2,k2(i)+3);L2:(k1(i)+4,k2(i)+1),并计算这三个系数的均

值mid=,比较L1与mid的大小,以L1大于mid代表信息“1”,L1小于mid代表信息“0”.嵌入步骤如下:

(1)将二值水印图像W进行Arnold变换,得到置乱的水印信息,并转换为一维序列M′.

(2)将载体图像C进行8*8分块,并进行DCT变换,得到一个二维的DCT变换系数矩阵.

(3)在每一块图像块中嵌入一位水印信息,采用随机控制方法选取图像块bi,表示第i个信息比特的编码[2],而且用于控制随机选取图像块的key可以当作该算法的key.

(4)按照Zizag排列,选择要嵌入水印信息的DCT系数L1及其前后的两个DCT系数L0,L2,计算这三个系数的均值mid.

(5)选取水印信息比特位Wi,和要嵌入的DCT系数L1,比较L1和mid的大小,如果Wi=1且L1大于mid,则不用修改DCT系数L1,否则将L1修改为mid,并加上强度因子α,即L1=mid+a;如果Wi=0且L1小于mid,则不用修改DCT系数L1,否则将L1修改为mid,并减去强度因子α,即L1=mida.

(6)水印嵌入完毕后,将载体图像进行IDCT(Inverse Discrete Cosine transformation,离散余弦变换)变换,并得到隐蔽载体C′.

2.2 提取原理

将隐蔽载体图像C′进行8*8的图像分块并进行DCT变换,按照Zizag排列,计算相应的L0、L1、L2三个DCT系数的均值mid,比较L1与mid的大小关系,以L1大于mid代表信息“1”,L1小于mid代表信息“0”,提取水印信息.提取步骤如下:

(1)将隐蔽载体图像C′进行8*8分块,并进行DCT变换,得到一个二维的DCT变换系数矩阵.

(2)采用随机控制方法选取图像块bi.

(3)按照Zizag排列,求出mid的值,并与L1比较,如果mid大于L1表示信息“1”,反之为“0”,并存于一个一维序列S.

(4)按原始水印的大小,将一维序列S转换为二维矩阵S′.

(5)对S′进行Arnold反变换,恢复出水印图像,并保存为二值图像W′.

3 实验分析

隐蔽载体图像感官质量和水印图像的评价分别采用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)和归一化相关系数(Normalized Correlation Coefficient,NC)[5-8].峰值信噪比和归一化相关系数(NC)的定义[5-8]分别如式(2)、(3).

PSNR=

式中M、N分别表示载体图像的宽度和高度(以像素为单位);L′和L分别表示隐蔽载体图像和原始载体图像的像素.

式中M、N分别表示水印图像的宽度和高度(以像素为单位);W′和W分别表示提取的水印图像和原始水印图像的像素.

本文采用标准图库的lena灰度图像(512*512)作为原始载体C,其灰度级别为256级;以带“水印”字样的二值图像(40*40)作为水印图像W,进行实验;将水印图像进行5次Arnold变换,嵌入强度依次采用α=0.05和α=0.08.α越大,稳健性越好,但不可感知性就越差[6].图2(a)中三个图像分别表示α=0.05时的隐蔽载体、提取出来的(加密)水印信息及经过Arnold反变换后的水印图像;图2(b)是α=0.08时的实验结果.通过实验可以看出,在保持隐蔽性的前提下,随着α的增大,两幅隐蔽载体图像在感官上的变化不明显,但PSNR值有所减小,NC值有所增大;从实验数据可以得出,虽然α的增大会降低图像的质量,但可以提高水印的相似度,即提取的精度.本算法在修改嵌入位DCT系数时通过比较该位与其邻近两个DCT系数的均值,再进行修改,强度因子α不需要很大就能较好的提取出水印信息.

图2 α=0.05和α=0.08时的隐蔽载体及提取出来的水印

将隐蔽载体进行攻击实验.如加椒盐噪声(0.01)、旋转(20°)、直方图均衡化、剪切图像正中间1/4、中值滤波、JPEG攻击、任意涂改等攻击.提取出来的水印如图3所示.受到剪切正中间1/4攻击和任意涂改攻击后的隐蔽载体图像分别如图4(a)和4(b)所示.将受各种常见攻击前的PSNR(=44.453 4)和NC(=0.993 1)值(强度因子α=0.08)与表1的PSNR和NC值相比较.当隐蔽载体在受到椒盐攻击、旋转(200)、剪切正中间1/4、任意涂改等四种攻击时,隐蔽载体的PSNR都小于30dB,其中剪切正中间1/4攻击甚至小于10dB,但水印的NC值还是大于0.7,仍然能够恢复出原水印图像,由此可见,该算法的鲁棒性较强.表1列出在不同攻击方式作用下,水印的提取效果,嵌入强度α=0.08.

图3 攻击后提取出来的水印

表1 在不同攻击方式作用下,水印提取效果,嵌入强度α=0.08

图4 剪切攻击与涂改攻击的隐蔽载体

文献[2] 给出的是经典的DCT水印嵌入算法,该算法通过比较DCT变换中相邻两个DCT系数的大小,并根据水印信息确定是否交换它们的位置,从而实现水印的嵌入.图5(a)、5(b)分别为α=0.14时用文献[2] 算法与本文算法嵌入水印后的隐蔽载体,从两个图中可以看出,本文的隐蔽载体隐蔽性比文献[2] 的隐蔽载体较好.表2为本文算法与文献[2] 算法的比较,(嵌入强度α=0.14),表2是隐蔽载体的PSNR和水印的NC值,从表2的PSNR值也验证了这一点.

图5 分别用文献[2] 算法与本文算法嵌入水印后的隐蔽载体α=0.14

进一步比较本文算法与文献[8] 的算法,验证本文算法的有效性.采用文献[8] 的水印信息,进行10次Arnold变换,嵌入强度α=0.14.从表3的PSNR值可以看出,在受到攻击后,本文算法的隐蔽载体的图像质量差于文献[8] 的情况.其中受到椒盐攻击、旋转攻击、中值滤波攻击后,提取出来的水印归一化相关系数都比文献[8] 的结果明显大,但抗剪切和压缩攻击就稍微差一点;由此可以看出本文的算法在抗常见水印攻击方法具有较好的鲁棒性.文献[8] 的算法通过计算图像的灰度均值与方差,并将方差进行排序,选出若干个方差值大的中频系数进行水印嵌入.该算法同样具有较好的鲁棒性,但该算法实现较为复杂,而本文算法在实现上比文献[8] 的算法要简单得多.

通过以上比较可以看出,本文算法与文献[2] 比较,其隐蔽性较好,但提取精度要弱一点;与文献[8] 比较,其鲁棒性较好、精度较高.本算法存在的不足是在抗剪切攻击和JPEG攻击能力比文献[8] 的算法要弱些.

4 结束语

本文所设计的算法根据各个子图像块(8*8)的DCT变换系数进行动态的调整,自适应修改嵌入位的DCT系数大小实现水印信息嵌入.同时,采用Arnold变换对水印图像进行预处理,降低水印信息之间的相关性;另外采用随机控制方法选取图像块,用于控制随机选取块的key可以作为该算法的一个密钥,因此该算法具有“双重加密”功能,大大提高了算法的安全性.从实验结果分析可以看出该算法对常见水印攻击方式具有较好的抗攻击能力;采用自适应方法,提高水印的鲁棒性、稳健性和提取效果.

表2 本文算法与文献[2] 算法比较,α=0.14

表3 本文算法与文献[8] 的算法比较,嵌入强度α=0.14

[1] 方春城.基于WEB的信息隐藏设计与应用[D] .广州:中山大学,2010:6-11.

[2] 王丽娜,郭迟,李鹏.信息隐藏技术实验教程[M] .武汉:武汉大学出版社:2004:194-207.

[3] 丁镠,程显毅,徐波.DCT域加密自适应数字水印算法[J] .计算机应用研究,2009,26(12):4768-4770.

[4] 丁玮,闫伟齐,齐东旭.基于Arnold变换的数字图像置乱技术[J] .计算机辅助设计与图形学学报,2001,13(4):338-341.

[5] 赵峰,袁东风.基于DCT域的数字纹理图像置乱评价方法[J] .吉林大学学报:信息科学版,2008,26(1):27-30.

[6] 黄武辉,刘海英,齐影虹.一种基于DCT的水印算法及其实现[J] .电脑知识与技术,2009,5(10):2696-2698.

[7] 袁修贵,周振.一种新的基于DWT、DCT和SVD的鲁棒水印算法[J] .计算机工程与科学,2011,33(1):112-115.

[8] 闫丽君,康宝生,岳晓菊.改进的基于DCT的自适应水印算法[J] .计算机工程与应用,2011,47(8):197-200.

猜你喜欢

鲁棒性像素载体
创新举措强载体 为侨服务加速跑
像素前线之“幻影”2000
坚持以活动为载体有效拓展港澳台海外统战工作
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
“像素”仙人掌
基于确定性指标的弦支结构鲁棒性评价
ÉVOLUTIONDIGAE Style de vie tactile
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析
高像素不是全部