基于混合变换域和奇异值分解的零水印算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于混合变换域和奇异值分解的零水印算法
刘培利;谭月辉;胡祖治
【摘要】为了克服传统水印算法需在载体图像中嵌入水印而导致的水印不可见性与鲁棒性之间的矛盾,提出一种DCT-DWT混合变换域和奇异值分解SVD
( Singular Value Decomposition )相结合的数字图像零水印算法。
算法首先对原始图像进行离散小波变换,然后对逼近子图进行分块离散余弦变换,在各分块中,对由特定数量的块内系数构成的矩阵进行奇异值分解。
提取各分块最大奇异值组合成矩阵,二值量化后与水印结合生成注册零水印信息,保存到知识产权数据信息库IPR( Intellectual Property Rights )中。
仿真实验结果表明,该算法不但有效避免了水印图像失真,而且能够很好地抵抗各种常见的攻击,具有很好的鲁棒性。
%In order to avoid the contradiction between the invisibility and the robustness caused by traditional watermark algorithm that it needs to embed watermark into carrier image , in this paper we propose a digital image zero-watermarking algorithm which combines DCT-DWT hybrid transform domain and singular value decomposition ( SVD) .The algorithm first applies discrete wavelet transform ( DWT) on primitive image, and then applies sub-block discrete cosine transform (DCT) on approximation sub-image.In each sub-block, the singular value decomposition ( SVD) is applied to the matrix formed by within-block coefficients with specific amount .Maximal singular values in each sub-block are then extracted to compose a matrix , after the binary quantisation is executed , this matrix is combined with watermark to form the registered zero-watermark information and to be stored to data repository of intellectual property
rights ( IPR ) . Results of simulation experiments demonstrate that the algorithm effectively avoids the watermark image distortion , and has rather good robustness and can well resist various common attacks .
【期刊名称】《计算机应用与软件》
【年(卷),期】2013(000)011
【总页数】5页(P206-209,226)
【关键词】数字水印;零水印;混合变换域;特征提取;鲁棒性
【作者】刘培利;谭月辉;胡祖治
【作者单位】军械工程学院信息工程系河北石家庄050003;军械工程学院信息工程系河北石家庄050003;军械工程学院信息工程系河北石家庄050003
【正文语种】中文
【中图分类】TP309.2
0 引言
随着多媒体及网络技术的发展,数字产品的版权保护面临着越来越大的挑战。
而由于数字水印技术能够在数字产品中注入信息证明版权的归属,保护了版权所有者的合法权益,因而得到了快速发展[1-3]。
传统的水印嵌入方法通常是通过在图像的频域或空域进行修改来嵌入水印信息,其弊端是会造成图像的失真,使水印的鲁棒性和不可见性之间产生矛盾。
而温泉等人提出的零水印算法则有效解决了这一问题,成为了新的研究热点[4-6]。
零水印算法通过提取载体图像的重要特征来构造唯一识别的水印信息,再将其注册到知识产
权数据信息库IPR中,以此证明载体图像的版权归属。
由于零水印算法并不会对
载体图像做任何的修改,从而避免了图像的失真。
目前在图像零水印算法上,已有不少学者进行了研究探讨,至今已有如下算法[7]:(1) 在DCT域构造零水印,缺点是没有利用图像的空间频率特性;(2) 在DWT域
构造零水印,缺点是经DWT变换后各自带相邻系数间依然存在较强的相关性;(3) 通过高阶累积量来构造零水印,该算法的缺点是计算量大,且算法对抖动、加噪、对比度增强等攻击的抵抗能力较差;(4) 通过小波包来构造零水印[8],算法的缺点是只考虑提取图像的低频域特征点系数;(5) 利用Zernike矩构造零水印[9],缺点是构造复杂,计算费时。
对于零水印算法,研究的关键在于能否在数字图像中提取出表征图像的特征信息,并由此来构造一个鲁棒的零数字水印。
而将DWT及DCT相结合不但能克服单一
利用一种变换带来的弊端,且能很好地提取图像重要特征。
基于此,本文提出了一种基于DWT、DCT混合域及SVD的零水印算法,首先对原图进行DWT变换,
得到包含原图大部分能量的小波逼近子图,之后利用具有去相关和能量聚集作用的DCT变换对小波逼近子图做进一步的频率分离,进行SVD变换以提取奇异值组成矩阵,并利用零水印的优点,将图像特征与实际水印相结合构造出相关水印信息。
由于混合域的能量集中作用及奇异值的稳定性,因此该算法提取的图像特征具有很强的稳定性。
仿真实验证明,该算法对常见的攻击有很强的鲁棒性,提取的水印质量很好。
1 相关理论
1.1 离散小波变换
离散小波变换DWT是信号处理的一种方式,可以将数字图像分解为一个逼近子图(LL)和若干细节子图(HL、LH、HH)。
细节子图刻画了图像的细节特性,在遭受外
界攻击(如噪声、图像处理等)时稳定性较差。
逼近子图LL集中了原始图像的绝大
部分的能量,其系数在各种变换中是最稳定的,因而具有比较强的抵抗外来影响的能力。
1.2 离散余弦变换
离散余弦变换DCT是常用的线性变换之一,具有去相关能力和能量压缩能力,可以将图像的主要信息集中到低频系数上。
由于小波逼近子图的系数统计特性、空间分布与原始图像相似,存在着较大的相关性,因此可以利用DCT的特性,对小波逼近子图做进一步的频率分离[10],提取最能体现图像特征的信息,为构造零水印做准备。
1.3 奇异值分解[11]
奇异值分解SVD能够将矩阵对角化。
若将图像A看为m×n阶实数矩阵,则存在m阶正交矩阵U和n阶正交矩阵V,使得A可以表示为:
A=USVT
(1)
S为非对角线上元素为0的矩阵,对角线上元素满足:
σ1≥σ2≥…≥σr>σr+1=…=σp=0
(2)
其中p=min(m,n),r为S的秩,S的r个不为0的对角元素称为A的奇异值,分解式称作A的奇异值分解。
当对图像矩阵施加小的干扰时,矩阵的奇异值没有太大的变动,体现了良好的稳定性,可以很好地抵抗攻击。
2 嵌入与提取的算法描述
2.1 零水印方案的构造
(1) 本算法选取N×N的灰度图像A作为原始载体图像,选取(N/16)×(N/16)二值图像W作为水印图像。
首先对原始图像A进行1级db1小波分解,得到三个细节子图及一个逼近子图LL1。
(2) 将LL1进行8×8分块,得到(N/16)×(N/16)个系数块,将每块进行DCT变换,进行zigzag扫描,提取每块64个系数中的前16位,即每块DCT变换后的直流
系数和交流低频系数,然后反 zigzag扫描,生成一个4×4的系数块,将该系数
块进行SVD分解,得到正交矩阵U、V和对角矩阵S,从对角矩阵S中提取第一
个奇异值。
再将每块提取的奇异值组成(N/16)×(N/16)的系数块,记作M。
(3) 由于在本文中须隐藏的版权信息为二值图像,因此需要对矩阵M进行二值化
处理[12]:
(3)
(4)
由σ′(i,j)组成一个二值矩阵M1。
(4) 将二值水印图像W经Arnold置乱变换,得到图像W1。
(5) 将置乱后的数字水印W1与二值矩阵M1进行异或运算得到注册水印信息:
M2=M1⊕W1
(5)
将得到的注册水印信息M2在IPR数据库中注册以获得版权保护。
零水印构造算法核心流程如图1所示。
图1 零水印构造算法核心流程图
部分代码如下:
A=double(imre ad(′lake.bmp′));
[CA1,CH1,CV1,CD1]=dwt2(A,′db1′);
P=CA1;
N=32;
tem=1;
for p=1:N
for q=1:N
x1=(p-1)*K1+1;
y1=(q-1)*K1+1;
P1=P(x1:x1+K1-1,y1:y1+K1-1);
P2=dct2(P1);
[ZIGZAG,ANTIZIGZAG]=czigzag(8);
P3=P2(ZIGZAG);
P4=P3(1:16);
[ZIGZAG, ANTIZIGZAG]=czigzag(4); P5=P4(ANTIZIGZAG);
[UD,SD,VD] = svd(P5);
r1=max(max(SD));
%返回矩阵当中的最大值
P6(1,tem)=r1;
tem=tem+1;
end
end
P7=reshape(P6,32,32);
figure(1);imshow(P7,[]);title(′主要信息′); B1=sum(P7([1:1024]))/1024;
M=32;
for p=1:M
for q=1:M
B2=P7(p,q);
if(B1>B2)
P8(p,q)=0;
else
P8(p,q)=255;
end
tem=tem+1;
end
end
P8=uint8(P8);
figure(2);imshow(P8);title(′二值化后的主要信息′);
Arnold(′原始水印.bmp′,35);
%将水印置乱,置乱密钥为35
w1=imread(′置乱后的水印.bmp′);
P9=bitxor(w1,P8);
imwrite(P9,′注册水印.bmp′);
其中,czigzag(N)是zigzag扫描及反zigzag扫描函数的封装。
2.2 水印的提取
水印的提取分以下几步进行:
(1) 首先利用db1小波对待测图像A'进行1级小波分解,提取低频细节子图
(2) 将进行8×8分块,每块进行DCT变换,进行 zigzag扫描,提取每块DCT变
换后前16位系数,反zigzag扫描生成一个4×4系数块,进行SVD分解。
取每块第一个奇异值组成一个(N/16)×(N/16)的系数矩阵M′。
(3) 将M′进行二值化处理:
(6)
(7)
由σ′(i,j)组成一个二值矩阵
(4) 获取注册水印信息M2与进行异或,得到经置乱后的水印图像
⊕
(8)
经反置乱变换得到原始水印W′。
水印提取算法的核心流程如图2所示。
图2 水印提取算法核心流程图
由于水印提取过程与水印构造过程相似,因此此处不再列举其代码。
3 实验结果及分析
实验在Windows 7 系统下进行,使用Adobe Photoshop进行一些常见的攻击和处理,利用MATLAB 7.1进行仿真。
选取的原始载体图像A是512×512的灰度图像lake,选取32×32二值图像“军械学院”作为水印图像。
图3为原始载体图像lake和原始水印图像,以及水印在置乱后的结果。
图3 原始水印及其置乱
在仿真中,采用NC (Normalized Correlation)系数来衡量提取出的水印与原始水印的相似程度,当未遭受攻击时,NC值为1。
3.1 JPEG压缩
对图像进行JPEG有损压缩,实验结果见表1。
通过实验可以发现质量百分数在35%~100%时,水印的提取质量非常好,即使在质量百分数低于35%时,NC值依然在0.98以上,显示出该算法对JPEG压缩具有很好的鲁棒性。
图4(a)是质量
分数为1%时的压缩图像,此时图像的质量已经很低,方块效应非常明显,但是
NC值仍达到了0.98,处理时间也很短,为1.03 s,效果理想。
表1 JPEG压缩攻击的水印检测结果系数(%)NC值
901601351200.998100.990150.980310.98
图4 JPEG压缩实验图
3.2 加噪处理
在数字水印传送和处理过程中,存在着大量的加性噪声和非相关的乘性噪声攻击。
这里分别以高斯噪声、椒盐噪声及乘性噪声为例,对图像作加噪处理,实验结果见表2。
实验数据表明,该算法对于噪声具有很强的抵抗能力,即使当噪声方差达到比较大的数值时,NC值依然保持在0.96以上。
图5(a)是加入方差为0.14时的椒盐噪音时的图像,虽然图像质量变化很大,但提取出的水印质量仍然很好,处理时间为3.08 s。
表2 加噪处理后的水印提取结果噪声种类NC值var=0.07var=0.14var=0.21高
斯噪声0.99200.98410.9759椒盐噪声0.98810.98000.9722乘性噪声
0.98590.97810.9682
图5 噪声攻击实验图
3.3 中值滤波
使用窗口不同大小的中值滤波器对图像进行滤波,实验结果见表3。
由实验数据可知,虽然随着窗口的变大,NC值有所下降,但是依然很高,显示出算法的鲁棒性。
图6(a)是用[13×13]的滤波器进行滤波后的图像,虽然此时图像已经显得相当模糊,但是提取出的水印质量仍很好,NC值达到了0.9725,运算时间为0.87 s。
表3 中值滤波水印检测结果窗口大小NC值
5×50.99607×70.99209×90.984111×110.978413×130.9725
图6 中值滤波攻击实验图
3.4 其他攻击实验
3.4.1 裁减攻击实验
对图像裁减之后的实验结果见图7,运算时间为0.73 s:
图7 裁剪攻击实验图
3.4.2 缩放攻击实验
分别将原图缩小到原来的0.5倍和放大到1.5倍,得到的实验结果如图8所示,运算时间分别为0.87 s及2.22 s。
从实验所提取的水印质量来看,无论是放大还是缩小,该算法都有很理想的效果。
图8 不同缩放程度所提取的水印
攻击所得实验结果见表4。
由实验数据看,该算法对裁减和缩放攻击的抵抗效果较好。
尤其对缩放攻击而言,在该算法下,其对水印质量的影响很小。
表4 攻击实验结果攻击方式NC值裁减64×640.9919裁减128×1280.9616裁减168×1680.9154缩小为原图的50%0.9762缩小为原图的75%0.9899放大为原图的125%0.9960放大为原图的150%0.9960
3.5 实验分析
由实验结果看,本文算法对常见的攻击如JPEG压缩、加噪处理、中值滤波等具备良好的鲁棒形,可以较好地抵抗攻击,由于不涉及复杂运算,计算开销较小。
另外,当选取彩色图像为载体时,可将水印嵌入到人眼最不敏感的蓝色分量中,实验结果也比较理想。
4 结语
本文提出了一种将DCT、DWT及SVD结合的数字图像零水印算法。
利用零水印
方法解决了传统水印方法所存在的水印鲁棒性与不可见性之间的矛盾,保证了图像无失真,同时充分地利用了各种变换的特性及数学意义,提取到表征图像的重要特征,从而增强了水印抵抗攻击的能力。
实验证明,该算法大大提高了水印的鲁棒性,且计算简单,易于实现,具有比较高的应用价值。
参考文献
[1] Huang H C,Fang W C.Metadata-based image watermarking for copyright protection[J].Simulation Modelling Practice and Theory(S1569-190X),2010,18(4):436-445.
[2] Kamel I,Albluwi Q.A robust software watermarking for copyright protection[J].Computers & Security(S0167-4048),2009,28(6):395-409. [3] 李旭东.图像量化水印方法中量化公式的最优化分析[J].光电工程,2010,37(2):96-102.
[4] 马建湖,何甲兴. 基于小波变换的零水印算法[J]. 中国图象图形学报,2007,
12(4):581-585.
[5] Song Wei, Hou Jianjun, Li Zhaohong. A novel zero-bit watermarking algorithm based on Logistic chaotic system and singular value decomposition [J]. Acta Physica Sinica, 2009,58(7):4449-4456.
[6] 温泉,孙锬锋,王树勋.零水印的概念与应用[J].电子学报,2003,31(2):
214-216.
[7] 王忠,孙钰.基于Zernike不变矩的零水印算法[J].计算机应用,2008,28(9):2232-2235.
[8] 张崇,于晓琳,刘建平,等.结合零水印的小波包图像水印方案[J].计算机工程
与应用,2004,40(27):84-87.
[9] 刘进,张天序.图像不变矩的推广[J].计算机学报,2004,27(5):668-674.
[10] 周亚训,金炜.一种小波和余弦变换组合域内鲁棒的自适应零水印算法[J].光电工程, 2011,38(5):80-91.
[11] 叶天语.基于方差的奇异值分解域鲁棒零水印算法[J].光子学报,2011,40(6):961-966.
[12] 李学斌,俞登峰,程亮.基于奇异值分解的零水印算法[J].计算机工程,2009,35(11):163-177.。