基于IWT和SVD的数字图像水印算法

2015-03-14 05:34龚成清广东女子职业技术学院应用设计系广东广州511450
关键词:奇异值分解虚警数字签名

龚成清(广东女子职业技术学院 应用设计系,广东广州 511450)

基于IWT和SVD的数字图像水印算法

龚成清
(广东女子职业技术学院应用设计系,广东广州511450)

摘要:针对传统SVD域数字图像水印算法存在过高虚警率的问题,提出了一种基于IWT和SVD的数字图像水印算法。算法先对载体图像进行1级IWT分解得到4个子带,然后对4个子带进行SVD变换,把水印图像信息直接嵌入到载体图像4个子带的奇异值中。在水印嵌入过程中提出了一种数字签名认证机制,利用生成的数字签名在水印嵌入的同时完成数字签名的嵌入来加密含水印的图像。在水印提取之前,先对数字签名进行验证来避免虚警的问题。实验表明,算法具有良好的视觉性和抵抗各类攻击的鲁棒性。

关键词:整数小波变换;奇异值分解;数字签名;水印;虚警

0 引言

整数小波变换(IWT)是新一代图像压缩标准JPEG2000的核心部分,其主要的优点是能够在图像分解和重构过程中,实现了整数到整数的映射,保证图像在变换部分损失为0,是一种真正意义上的无损可逆小波变换。IWT的运行速度要比DWT的运行速度快[1]。IWT广泛应用在数字图像的水印加密,以保护版权[2-3]。

奇异值分解(SVD)是在图像压缩、信噪分离等方面常用的一种线性代数工具。文献[4]引入自嵌入技术提出一种DWT-SVD域全盲鲁棒量化水印算法,通过结合自嵌入特征水印序列和盲提取认证水印序列达到全盲检测。文献[5]提出了基于SVD和由Logistic混沌系统构成伪随机循环链的图像认证水印算法,提高了水印的安全性,有效抵抗矢量量化攻击。文献[6]综合Contourlet变换和奇异值的优点,提出了一种Contourlet域的基于奇异值分解的鲁棒水印算法,对常规攻击和几何攻击均具有较强鲁棒性。文献[7]针对现有适用于图像的数字水印对信号处理和几何失真比较敏感的问题,提出了基于混沌和SVD-DWT的稳健数字图像水印算法,提高了水印的鲁棒性。从已有的研究文献可知,SVD与其他分析工具相结合在数字图像的水印应用中通常会有良好的视觉性和鲁棒性。但经典的SVD算法在提取水印的时候具有较高的虚警问题。文献[8]分析了SVD水印算法虚警率高的根本原因是图像SVD分解的基空间与图像内容相关,奇异值向量与图像之间并不存在一一对应关系,不能刻画图像的几何结构。算法主要缺陷并不是在提取过程,而是在于嵌入算法仅仅植入了水印图像的奇异值向量,没有水印图像在基空间的结构信息。因此,该文提出了一个基于分块SVD和DCT分解的改进算法。文献[9]、文献[10]针对一类SVD域图像水印方案存在过高虚警概率的问题,各自提出了改进的混合DWT和SVD的图像参考水印算法。上述的改进算法思想都是在提取的时候避免使用矩阵U、V。但一旦攻击者掌握了版权图像的U、V矩阵,也可以对未被授权的图片伪称版权。

笔者根据文献[8]分析的SVD水印算法虚警率过高的原因,通过对载体图像进行1级IWT分解后进行SVD变换,在水印的嵌入过程针对SVD变换中的U、V矩阵提出一种数字签名的加密认证机制,克服了传统SVD算法虚警过高的问题,并通过实验验证了算法的视觉性和鲁棒性。

1 IWT-SVD的水印算法

1.1数字签名认证机制

已有研究均表明,SVD算法高虚警率的缺陷在于水印嵌入只使用了载体图像的奇异值特征向量向量S,而矩阵U和V保存了图像的大部分信息。若在提取水印时使用U、V两正交矩阵,则与没有嵌入水印的图像的奇异值向量合成,也可重构出一幅与原始水印图像结构非常相似的图像,从而造成虚警。因此,本文提出一个矩阵U、V的签名认证机制来克服这个问题。认证机制分为3个部分:签名生成、签名嵌入和签名提取和验证。首先,生成一个唯一的签名,通过签名嵌入程序嵌入到图像中。在这项工作中,签名嵌入程序和水印嵌入程序并行完成。在水印嵌入步骤中生成签名并且在水印嵌入的最后步骤把签名嵌入到含水印的图像中。在检测阶段,解码器首先把签名提取出来,与利用客户端接收的矩阵U、V来生成的签名进行比较。如果签名匹配,则是经过授权认证的,就继续进行水印提取。否则,提取操作终止。

1.1.1生成签名对图像进行SVD分解后,通过加密算法生成一个唯一的二进制数据作为数字签名来加密图像的U、V矩阵。这个签名是随机的,防止攻击者进行预测。为了增强安全性,在生成签名过程中也使用密钥对算法加密,数字签名程序如下。

(a)把经过SVD分解后的二维正交矩阵U、V转变为一维数组;

(b)使用SHA-1算法对正交矩阵U、V进行哈希运算:

(c)把Dig_U和Dig_V转换为相应的二进制数,然后对它们进行异或运算,结果保存到K1:

(d)设定一个初始密钥,命名为K2,将其转变为二进制数,并与K1进行异或运算,结果保存到K3:

(e)选择二进制数K3的前8位作为数字签名,命名为Sig。

1.1.2签名嵌入签名的嵌入在水印嵌入载体图像后进行。由于生成的数字签名只有8位的二进制数,因此,把签名嵌入到含水印的图像中不会影响图片的质量。为了取得更好的鲁棒性,对图像进行1级DWT分解,选择能量集中子带LL的相应子块进行SVD分解,然后选择通过改变含水印图像每个子带的U矩阵的第一列元素来嵌入数字签名。实验证明,使用矩阵U的正交向量第1列的第2个元素来嵌入数字签名效果最好。签名嵌入过程如下:

(a)对含水印的图像进行1级DWT分解,得到一个低频子带LL,把LL子带分成8*8个子块;

(b)使用密钥key随机选择8个子块,对选择的8个子块每个子块进行SVD;

(c)选择每个子块矩阵U的正交向量第一列的第二个元素(即第2行第1列)乘10后,进行下取整操作:

(d)若数字签名的位值=1并且U2,1是偶数,又或者是数字签名的位值=0并且U2,1是奇数,则:

否则,不变;

(e)对选择的8个子块进行逆SVD操作;

(f)逆DWT操作,完成签名的嵌入。

1.1.3签名提取程序(a)对接收的图像进行一级DWT变换后,把LL子带划分为8*8个子块;

(b)根据设定的密钥key选择相应的子块;

(c)对选择的子块进行SVD变换;

(d)使用下列式子对U2, 1进行检验:

1.2水印嵌入

整数小波变换是提升小波变换的典型代表。所有经典的小波算法都可以使用提升小波算法实现,并且具有速度快,不需要辅助存储器,易于实现并容易实现逆变换等优点[11]。整数小波变换分为3个步骤:分裂、预测和更新。本文采用整数小波变换对载体图像进行分解,接着进行SVD变换,然后利用加性法则把水印图像信息嵌入到载体图像的奇异值中,同时利用生成的签名加密含水印的图像。具体算法如下。

(a)对载体图像P进行一级IWT分解后得到4个子带:LL、HL、LH、HH;

(b)对LL、HL、LH、HH这4个子带进行SVD变换:

(c)把水印信息直接嵌入到载体图像P对应子带的奇异值中,应用SVD变换来修改对应子带的奇异值:

(d)对LL、HL、LH、HH4个子带相应的U、V矩阵(和)应用签名生成程序来生成4个8位的数字签名SigLL、SigHL、SigLH、SigHH后,异或操作形成最终签名:

(e)进行逆SVD操作,每个子带的新IWT系数通过如下公式产生:

(f)对经过IWT修改后的4个集合进行逆IWT操作,得到含水印的图像PW;

(g)对含水印的图像PW应用签名嵌入程序,嵌入数字签名Sig,完成图像加密。

水印嵌入算法的流程图如图1所示。

图1 水印嵌入流程图Fig.1 Flow chart of watermark embedding

1.3水印提取过程

在提取水印前,先通过对收到图像进行SVD分解后的UiW和ViTW的4个子集进行检测认证。认证的过程是先使用密钥生成数字签名,然后从接收到的图像的UiW和ViWT的4个子集提取的数字签名进行匹配。如果数字签名匹配,水印提取程序继续,并提取出嵌入的水印。否则,认为是虚警,终止程序。数字签名匹配后水印提取的具体步骤如下。

(a)对接收到的含水印图像P*W进行1级IWT分解生成4个子带LL、LH、HL、HH;

(b)对所有的子带进行SVD操作:

(c)对每个子带进行如下计算:

(d)利用下面的公式提取水印:

水印提取算法的流程图如图2所示。

图2 水印提取流程图Fig.2 Flow chart of watermark extracting

2 实验结果

本文算法使用MATLAB 2012进行了实现,并在32位的操作系统Windows XP的环境下对图片进行了测试。实验的机器配置为Intel Core i5 2.4 G的CPU,4G的内存。实验使用512×512的Lena的灰度图像为载体图像,水印图像是64×64的二值图像,如图3所示。通过不同的实验分别验证算法的视觉性和鲁棒性。

图3 实验的载体图像和水印图像Fig.3 Watermark image and carrier image

2.1视觉性验证

为了验证嵌入水印后图片的视觉性效果,采用峰值信噪比PSNR来进行量度,PSNR计算公式如下:

实验通过设置不同的叠加系数α对Lena图片进行了不同强度的水印嵌入,同时与文献[8]、文献[9]和文献[10]提出的方法进行了视觉性对比,实验结果如表1所示。

表1 不同算法PSNR对比Tab.1  PSNR contrast of different algorithms

从实验可知,随着叠加系数α的增加,4种算法的PSNR均下降。当α介于0.03和0.07之间时,PSNR表现最好,4种算法的PSNR值均大于35,肉眼无法分辨差别,具备良好的视觉性。但由于本文算法对4个子带均进行了水印嵌入,而对比的算法只对低频子带LL进行嵌入,所以PSNR数值稍逊于其他算法,但差别不大并不影响图片的质量。不同算法随着α的改变PSNR值对比图如图4所示。

图4 不同算法的PSNR值对比图Fig.4  PSNR value contrast of different algorithms

2.2鲁棒性验证

鲁棒性验证实验依旧使用图3中的Lena图像和水印图像,并设置α=0.05在Lena图像中嵌入水印。为了度量提取水印的质量,使用归一化的相关系数NC值来评价提取水印的相似度。NC值的计算公式如下:

当图像未被攻击时,利用本文算法均从4个子带中提取出了水印,提取的水印图片叠加后与原始的水印图片相似度NC =1.000 0,能很好地还原出原始的水印图像。正常情况各子带提取的水印如图5所示。

图5 正常情况提取的水印Fig.5 Extraction of watermark under normal condition

为了进一步验证算法的鲁棒性,斜对图片添加噪声、几何变换和进行压缩等操作对本文算法进行了抗攻击的实验,并与文献[8]、文献[9]和文献[10]的算法进行了对比,不同算法面对各种攻击后提取出来的水印NC值如表2、表3和表4所示。

表2 不同算法抵抗噪声攻击的NC值对比Tab.2  NC value contrast of anti-noise-attack of different algorithms

表3 不同算法抵抗几何攻击的NC值对比Tab.3  NC value contrast of anti-geometry-attack of different algorithms

表4 不同算法抵抗压缩攻击的NC值对比Tab.4  NC value contrast of anti-compaction-attack of different algorithms

本文算法应用了IWT方法分解图像保证了图像在处理过程中的不失真。对IWT分解后的4个子带嵌入了水印,增加了水印嵌入的容量,保证了算法抵抗各种攻击的鲁棒性。从实验数据可知,在抵抗噪声攻击方面,本文算法优于文献[8]和文献[10],与文献[9]性能相当;在抵抗几何攻击方面,本文算法优于文献[8]和文献[9],与文献[10]性能相当;在抵抗压缩方面,本文算法均优于对比的算法。各种算法抵抗攻击的对比如图6所示。

图6 不同算法抵抗攻击对比图Fig.6 Contrast of anti-attack of different algorithm

3 结语

数字图像水印技术在实际应用中既要求要有良好的透明性和抵抗各类攻击的鲁棒性,也要求有效地控制检测时的虚警概率。本文利用IWT分解速度快、无损可逆等优点,针对传统SVD方法的不足,提出了一种数字签名机制,在水印嵌入的同时完成对图像的加密。在水印提取前先对数字签名进行验证,若签名不正确是不能正确提取出水印的,在未嵌入水印的载体图像中也是不能提取出水印的,从而有效克服了传统SVD方法虚警率过高的问题。实验证明,本文所提的算法具有良好的视觉性和鲁棒性。

参考文献(References)

[1]王丽荣,申铉国,王延杰.基于提升方法的整数小波在DSP的实现[J].光学精密工程,2004,12(2):185-189.

[2]姜明新,迟学芬.基于IWT和HVS的彩色图像数字水印算法[J].吉林大学学报:信息科学版,2007,25(1):98-102.

[3]虞晓庆,李宏昌,张茂.基于提升小波的多功能彩色数字图像双水印算法[J].计算机应用与软件,2013,30(2):50-53.

[4]叶天语.DWT-SVD域全盲自嵌入鲁棒量化水印算法[J].中国图象图形学报,2012,17(6):644-650.

[5]宋伟,侯建军,李赵红.基于SVD和伪随机循环链的图像认证水印算法[J].北京交通大学学报,2008,32(2):71-75.

[6]陈宁,马会杰.基于Contourlet和SVD的鲁棒双水印算法[J].计算机应用研究,2012,29(7):2700-2702.

[7]张秋余,李凯,袁占亭.基于混沌和SVD-DWT的稳健数字图像水印算法[J].计算机应用研究,2010,27(2):718-720.

[8]肖亮,叶建兵,韦志辉.一类基于SVD的数字水印虚警分析与改进算法[J].南京理工大学学报:自然科学版,2010,34 (2):227-231.

[9]蒋天发,熊祥光,蒋巍.一类SVD域水印问题分析及改进算法[J].计算机科学,2011,38(10A):62-65.

[10]熊祥光,王力.一种改进的DWT-SVD域参考水印方案[J].计算机工程与应用,2014,50(7):75-79.

[11]DAUBECHIES I,SWELDENS W.Factoring wavelet transforms into lifting steps[J].J Fourier Anal Appl,1998,4(3):245-267.

(责任编辑:范建凤)

A Digital Image Watermarking Algorithm Based on IWT and SVD

GONG Chengqing
(Department of Application and Design,Guangdong Women Polytechnic,Guangzhou 511450,Guangdong,China)

Abstract:Aiming at the problem of high false alarm error rate of the classical SVD domain digital image watermarking algorithm,proposes a digital image watermarking algorithm based on IWT and SVD.Firstly,the algorithm performs 1 level of IWT decomposition on the copyright image to obtain 4 subbands,then performs the SVD transform to the 4 sub-bands.Secondly,it embeds the watermark image information directly into the singular values of the 4 sub-bands of the copyright image.It also proposes a digital signature authentication mechanism in the watermark embedding process to encrypte the watermarked image with the digital signature while processing the watermark embedding.Finally,before the watermark image being extracted,the digital signature is verified to avoid the problem of false alarm error.Experiments show that,this algorithm has good visuality and robustness to resist attacks.

Keywords:IWT;SVD;digital signature;watermark;false alarm error

作者简介:龚成清(1979—),男,副教授,硕士,研究方向:图形图像处理。

收稿日期:2015-04-21

DOI:10.16389/j.cnki.cn42-1737/n.2015.04.014

中图分类号:TP391.41

文献标志码:A

文章编号:1673-0143(2015)04-0359-08

猜你喜欢
奇异值分解虚警数字签名
频率步进连续波雷达电磁辐射2阶互调虚警干扰效应规律
浅析计算机安全防护中数字签名技术的应用
一种电阻式应变传感器的数据处理方法
空管自动化系统二次代码劫机虚警分析
BIT虚警影响因素分析和解决方案
结合PCA及字典学习的高光谱图像自适应去噪方法
基于数字签名的QR码水印认证系统
基于分块DWT和SVD的鲁棒性数字水印算法
一种基于奇异值分解的鲁棒水印算法
数字签名简述