杨素敏
王嘉祯
彭德云
胡建理
(军械工程学院计算机工程系,石家庄050003)
E-mail:ysmyxh@tom.com
摘
要
提出了一种新的数字水印算法,其充分融合了分形压缩和小波零树的特性。载体图像进行小波变换后,对小波
系数进行分形零树编码,并在考虑视觉因素的基础上,将水印嵌入到载体图像视觉不敏感的零树和分形的相似域树。同时为了增加安全性,该算法还对水印图像进行混沌置乱。实验结果表明,该算法不仅对JPEG压缩、高斯噪声以及剪切等都有很好的稳健性,而且鲁棒性也很好。关键词
数字水印
分形原理
小波变换
HVS
文献标识码A
中图分类号TP309;TN918
文章编号1002-8331(2006)28-0083-03
ARobustDigitalImageWatermarkAlgorithmBasedonFractalTheory
YANGSu-minWANGJia-zhenPENGDe-yunHUJian-li
(DepartmentofComputerEngineering,OrdnanceEngineeringCollege,Shijiazhuang050003)
Abatract:Inthepaper,anewwatermarkalgorithmthatcombinesthewaveletzero-treetheorywithfractal-basedcompressionispresented.Atfirst,thecoverimageisappliedthewavelettransform,andisencodedonthebasisofthemixedmethodthatcombinesthezero-treeofwaveletdomainwiththefractaltheory;Secondly,accordingtothecharacteristicsoftheHumanVisualSystem(HVS),thepositionsofembeddingthesecretimageareobtained,andinordertoimprovingthelevelofinformationhidden,Iapplychaoticsequencetransformtothewatermarksequence.Theexperimentprovedthatthealgorithmcannotonlyresistsomekindsoftransformssuchasclipping,JPEGcompressionandsoon,butalsoensurethewatermarkimagerobustness.Keywords:digitalwatermark,wavelettransform,fractaltheory,HVS
目前许多研究人员提出了以小波零树实现数字水印的算法[4],这些算法是将载体图像进行小波变换后,通过改变零树对应节点小波系数的奇偶性,或者将小波系数置成不同极性的数来实现水印的嵌入。但通过研究知道,真正意义上的小波零树个数较少。而且对抗各种仿射变换的能力较差,隐藏信息容易受到破坏,另一方面对原始信息的保密性也不够。在分析论文
随混沌序列具有如下特性:对初值微小变化具有敏感性、机性、遍历性以及概周期特性。利用混沌序列的这些特性,可以很容易实现原始信息的保密,在分析不同混沌变换的基础上,笔者采用了Arnold混沌变换,该变换是Arnold在遍历理论研究中提出的,具有周期性,当迭代到某一步时就能得到原来的图像,这样不仅对数据进行了置乱,提高了数据的安全性和保密性,并且可以恢复原始图像,克服了随机置乱不可恢复的缺点,其变换公式是:
[1,2]的基础上,笔者提出了一种新的算法,该算法融合了分形
压缩和小波零树的特性,其对载体图像进行小波分形零树的分类,并利用混沌序列的不容易破译和重构性对数字水印进行置乱,接着在考虑人的视觉因素的基础上,将置乱后的水印嵌入到载体图像视觉不敏感的小波零树和分形相似域树,这样既可版权号等)的安全性,又具有鲁棒性的以保证原始信息(印章、
特点,通过实验表明,该算法对JPEG压缩、高斯噪声以及剪切等都有很好的稳健性。
x′11x
=!modN!\"\"!\"y′12y
换前后的位置。
(1)
其中N为图像的高度和宽度,(x′,y′)、(x,y)分别为图像变通过该变换后,一张图像从清晰变成模糊,对数字水印图像进行了预处理,增加了破解水印的时间,因此提高了数字水印的保密性。如对64×64的二值水印图像进行Arnold变换前后的结果如图1所示。
1数字水印的生成
数字水印序列是保证信息隐藏鲁棒性的关键之一,水印序
灰度图列应该具有不可预测的随机性,原始信息(文本信息、像、彩色图像等)必须进行适当的变化。目前存在的算法大都采用伪随机序列(m序列或者Gold序列)进行扩频的算法,当信息量过大时,必须重复使用伪随机序列对原始信息进行加密,因为这些码的周期性,增加了泄密的概率,而采用混沌序列则可以避免这个问题。
作者简介:杨素敏,女,讲师,博士研究生,研究方向为网络与信息安全。王嘉祯,男,教授,博士生导师,研究方向为分布式计算和网络安全。
计算机工程与应用2006.2883
2小波分形与零树结合的数字水印算法2.1小波零树的算法
以前在小波域研究数字水印中,大多数是采用零树的算法,零树的概念是Shapiro在EZW中首次提出的,其定义为:将图像进行小波变换后,对于给定的阈值门限T,如果某个小波系数小于T,则称该系数关于此门限T是不重要的,如果某小波系数在粗糙尺度上关于门限T是不重要的,而且在同方向的较精细尺度上的相同空间位置中的所有系数也是关于门限T不重要的,则称这些小波系数构成零树。
在零树水印算法中,首先是经过上述原理寻找小波域中所有的零树,因为这些零树所对应的小波系数对图像的影响不大,因此可以将水印按照一定的算法嵌入到这些小波树中,如采用下面这种算法:
!Xi,j=-!当水印\"i=-1Xi,j=!
当水印\"i=1
(2)
其中,Xi,j为小波系数,\"i为嵌入的水印值,!为一整数。通过该方式虽然可以将水印方便地嵌入到图像,并可以很方便地进行提取,但由于零树的个数很少,因此嵌入的水印个数也受到很大的限制,而且对于一些具有复杂纹理和边界的图像,在粗糙尺度上的小波系数大多数为0。在较精细尺度上的小波系数非0,而按照零树原理,此时按照同一方式调整这些零树中的小波系数,势必会影响图像的外观质量,而采用分形与零树结合的方式,即首先对数字水印进行小波变换,并按照上述原理寻找小波子树中所有的零树,然后对非零树区域采用小波分形的方式,则可以很好地解决这个问题。
2.2小波分形与零树结合的算法
小波分形的基础是利用图像的相似性,对载体图像进行小
波变换后,将小波系数分为值域树R(小波子树)和定义域树D(小波父树),按照分形原理,通过匹配算法将小波父树D分为相似域树和非相似域树,相似域即为分形域。此时通过分形算法,较精细部分中的小波系数可以通过较粗糙尺度上的小波系数迭代得到,因此图像即使遭到了破坏,也可以得到比较满意的效果。
在小波域中,小波子树R指从第l-1开始的小波树,而小波父树D指第l级开始的小波树,如图2所示。小波域中由于不考虑直流分量,因此自相似匹配公式为:
T(Rl)=#*B(S(Dl))(3)
其中,S(Dl)是指截取小波父树D内所有较高频率的系数,
84
2006.28计算机工程与应用
使定义域树内的小波系数的个数与值域树R相同;B是指进行
8种旋转反射变换;$指收缩因子。
按照公式(3),寻找匹配的相似域树,并保存每个小波父树
的位置、旋转反射系数以及收缩因子。
小波分形抵抗各种仿射变换攻击的能力很好,因此为了增加数字水印算法的鲁棒性和水印嵌入的数量,笔者在引用小波变换的分形编码算法并结合了零树编码思想的基础上,提出了一种自适应的基于小波变换的分形零树的水印算法。该算法融合了小波分形与零树的优点,其对载体图像经过小波变换后形成的一棵棵小波树,根据实际情况进行两种算法的水印嵌入:(1)如果满足小波零树的条件,按照2.1的算法嵌入水印;(2)对于不满足小波零树的小波树,根据公式(3)寻找匹配的分形域树,并根据HVS模型,计算小波父树中各节点对应点的JND值,最后将水印嵌入到小波系数大于JND值的位置。并采用下面的公式将水印嵌入到图像中:
X*
i,j=Xi,j+%\"i
(4)
其中,X*
i,j,Xi,j分别为水印嵌入前后的小波系数,!为缩放因子,\"i为嵌入的水印值(在嵌入水印之前,为了便于运算和提取水印,将水印图像变位双极性二值序列)。
3视觉模型的选择
对视觉模型的研究中,通常以JND值作为其评价指标,
JND值表示是人眼不能察觉的最大图像失真,反映了人类视觉对图像的频率灵敏度、亮度敏感性和纹理遮掩的能力。JND的
计算公式也很多,在充分比较各种算法的基础上,本文采用文献[5]介绍的融入小波变换零树特性的JND算法。JND的计算公式如下:
JND(ql
i)=B&(i,j)(1+k1(kqi2(
Bl)$)’
1
)
’&(i,j)
Bl
l
&(i,j)=
\"\"d\"
%&
\"\"#XK
LL(i,j)
MTF(\"128・2
K$l
)
%&
MTF(\")=A(\")H(\")
H(\")=(0.31+0.69\")exp(-0.29\")1!\"22A(\")=[14+2[loge(2+
!
%其中,%l
%%4!\"2+1)]2]
1/2
%
&是第l级小波变换&(LH,HL,HH)方向的带宽。
MTF(\")是频率灵敏度函数。XK
LL(i,j)是小波变换的低频系数。
其中,k1,k2是常数,指数’大约为4,$依赖子带的方向和级数,一般为0.6~7.0。
4水印的提取和检测
4.1水印的提取
首先对待认证图像进行相同尺度的小波变换,按照规定的
阈值寻找所有的零树,并将每个零树所对应节点的小波系数进行相加,如果大于0,则嵌入的水印\"*
i为1,否则为-1;然后根据2.2保存的分形参数,进行分形迭代,得到精细尺度上的小
波系数Xi,j′,并进行以下比较来得到嵌入的水印:
(1)如果Xi,j′>0,并且X*
i,j>Xi,j′
,则\"*i=1;(2)如果X**
i,j′>0,并且Xi,j<Xi,j′,则!i=-1;(3)如果X*
*
i,j′<0,并且Xi,j>Xi,j′,则!i=1;(4)如果X*
*
i,j′<0,并且Xi,j<Xi,j′
,则!i=-1。其中,X*
i,j′为分形迭代后的小波系数,Xi,j为待认证图像小波分解后的系数。!*
i为提取的水印。
4.2水印的检测
提取出待测水印!*
*
i后,通过计算!i与!i的相关性来判断
水印!i是否存在于待认证图像中,检测公式如下:
M-1N-1
*
\"(!,!*
)=
!i=0
!!
j=0
(i,j)*!(i,j)
M-1N-11M-1N-16)
(
!!(!
2)*(i=0
j=0(i,j)
*!(i,j))!!(!**
1(2j=0
(i,j)*!(i,j)))
i=0
根据该公式,可以判断待认证图像中是否包含水印,理想状态下,\"(!,!*
)=1时,说明该待认证图像中包含水印,\"(!,
!*
)=0,说明待认证图像不包含水印。但由于待认证图像也许
会受到各种攻击和破坏,因此\"(!,!*
)的值可能小于1,经过实验可以对该值设定一个阈值\"*
阈值,当\"(!,!)≥\"阈值时,则说明待认证图像中包含水印。当\"(!,!*
)<\"阈值时,则说明待认证图像中不包含水印。
5仿真实验
为了进行分形操作,必须选择具有对称或反对称性质的小
波基,因此本文采用了9点双正交小波,并使用了256×256的灰度图像plane.bmp作为检测对象,水印是32×32的二值灰度图像。采用该算法后嵌入和提取后,得到的图像如图3、4所示。
从图中可以看到,水印嵌入后载体图像的变化很小,几乎
看不出来,而且提取出来的水印也很完整。图5和图6显示了该算法对于JPEG压缩和剪切攻击的抵抗能力,从图中可以看到提取的水印非常清晰。限于篇幅,嵌入水印图像遭受其他攻击的情况,这里不再列举。另外本文给出了该算法与直接零树算法的信噪比实验数据,如表1。
表1
两种算法比较结果
嵌入算法信噪比/dB
零树算法39.62本文算法
39.99
6结论
笔者提出了将分形与零树相结合嵌入水印的算法,该算法
融合了分形和小波变换的优点,而且考虑了图像的视觉因素,提高了水印的鲁棒性。通过实验也说明该算法比单纯使用零树算法具有更高的信噪比,而且提高了水印图像抵抗各种攻击的能力,如JPEG压缩、剪切和变形的能力。(收稿日期:2005年12月)
参考文献
1.TaekonKim,REVanDyck.HybridwaveletfractalimagecodingforMPEG-4[C].In:Proceedingsofthe2000ConferenceonInformation
SciencesandSystems,Princeton,2000
2.JLi,C-CKuo.Imagecompressionwithahybridwavelet-fractalcoder[J].IEEETransImageProcessing,1999;8(6):868~874
3.杨素敏,王嘉祯,彭德云等.基于HVS和小波变换的零水印数字图像算法[J].计算机工程与应用,2006;42(12):63~65
4.KtLo,XDZhang,JFengetal.Universalperceptualweightedze-rotreecodingforimageandvideocompression[J].IEEEProc-VisIm-ageSignalProcess,2000;147(3)
5.ZHWei,PQin,YQFu.PerceptualDigitalWatermarkofImagesusingWaveletTransform[J].IEEETransonConsumerElectronics,
1988:1267~1272
计算机工程与应用2006.2885
因篇幅问题不能全部显示,请点此查看更多更全内容