龔成清(廣東女子職業(yè)技術(shù)學(xué)院 應(yīng)用設(shè)計系,廣東廣州 511450)
基于IWT和SVD的數(shù)字圖像水印算法
龔成清
(廣東女子職業(yè)技術(shù)學(xué)院應(yīng)用設(shè)計系,廣東廣州511450)
摘要:針對傳統(tǒng)SVD域數(shù)字圖像水印算法存在過高虛警率的問題,提出了一種基于IWT和SVD的數(shù)字圖像水印算法。算法先對載體圖像進(jìn)行1級IWT分解得到4個子帶,然后對4個子帶進(jìn)行SVD變換,把水印圖像信息直接嵌入到載體圖像4個子帶的奇異值中。在水印嵌入過程中提出了一種數(shù)字簽名認(rèn)證機(jī)制,利用生成的數(shù)字簽名在水印嵌入的同時完成數(shù)字簽名的嵌入來加密含水印的圖像。在水印提取之前,先對數(shù)字簽名進(jìn)行驗證來避免虛警的問題。實驗表明,算法具有良好的視覺性和抵抗各類攻擊的魯棒性。
關(guān)鍵詞:整數(shù)小波變換;奇異值分解;數(shù)字簽名;水印;虛警
整數(shù)小波變換(IWT)是新一代圖像壓縮標(biāo)準(zhǔn)JPEG2000的核心部分,其主要的優(yōu)點是能夠在圖像分解和重構(gòu)過程中,實現(xiàn)了整數(shù)到整數(shù)的映射,保證圖像在變換部分損失為0,是一種真正意義上的無損可逆小波變換。IWT的運行速度要比DWT的運行速度快[1]。IWT廣泛應(yīng)用在數(shù)字圖像的水印加密,以保護(hù)版權(quán)[2-3]。
奇異值分解(SVD)是在圖像壓縮、信噪分離等方面常用的一種線性代數(shù)工具。文獻(xiàn)[4]引入自嵌入技術(shù)提出一種DWT-SVD域全盲魯棒量化水印算法,通過結(jié)合自嵌入特征水印序列和盲提取認(rèn)證水印序列達(dá)到全盲檢測。文獻(xiàn)[5]提出了基于SVD和由Logistic混沌系統(tǒng)構(gòu)成偽隨機(jī)循環(huán)鏈的圖像認(rèn)證水印算法,提高了水印的安全性,有效抵抗矢量量化攻擊。文獻(xiàn)[6]綜合Contourlet變換和奇異值的優(yōu)點,提出了一種Contourlet域的基于奇異值分解的魯棒水印算法,對常規(guī)攻擊和幾何攻擊均具有較強(qiáng)魯棒性。文獻(xiàn)[7]針對現(xiàn)有適用于圖像的數(shù)字水印對信號處理和幾何失真比較敏感的問題,提出了基于混沌和SVD-DWT的穩(wěn)健數(shù)字圖像水印算法,提高了水印的魯棒性。從已有的研究文獻(xiàn)可知,SVD與其他分析工具相結(jié)合在數(shù)字圖像的水印應(yīng)用中通常會有良好的視覺性和魯棒性。但經(jīng)典的SVD算法在提取水印的時候具有較高的虛警問題。文獻(xiàn)[8]分析了SVD水印算法虛警率高的根本原因是圖像SVD分解的基空間與圖像內(nèi)容相關(guān),奇異值向量與圖像之間并不存在一一對應(yīng)關(guān)系,不能刻畫圖像的幾何結(jié)構(gòu)。算法主要缺陷并不是在提取過程,而是在于嵌入算法僅僅植入了水印圖像的奇異值向量,沒有水印圖像在基空間的結(jié)構(gòu)信息。因此,該文提出了一個基于分塊SVD和DCT分解的改進(jìn)算法。文獻(xiàn)[9]、文獻(xiàn)[10]針對一類SVD域圖像水印方案存在過高虛警概率的問題,各自提出了改進(jìn)的混合DWT和SVD的圖像參考水印算法。上述的改進(jìn)算法思想都是在提取的時候避免使用矩陣U、V。但一旦攻擊者掌握了版權(quán)圖像的U、V矩陣,也可以對未被授權(quán)的圖片偽稱版權(quán)。
筆者根據(jù)文獻(xiàn)[8]分析的SVD水印算法虛警率過高的原因,通過對載體圖像進(jìn)行1級IWT分解后進(jìn)行SVD變換,在水印的嵌入過程針對SVD變換中的U、V矩陣提出一種數(shù)字簽名的加密認(rèn)證機(jī)制,克服了傳統(tǒng)SVD算法虛警過高的問題,并通過實驗驗證了算法的視覺性和魯棒性。
1.1數(shù)字簽名認(rèn)證機(jī)制
已有研究均表明,SVD算法高虛警率的缺陷在于水印嵌入只使用了載體圖像的奇異值特征向量向量S,而矩陣U和V保存了圖像的大部分信息。若在提取水印時使用U、V兩正交矩陣,則與沒有嵌入水印的圖像的奇異值向量合成,也可重構(gòu)出一幅與原始水印圖像結(jié)構(gòu)非常相似的圖像,從而造成虛警。因此,本文提出一個矩陣U、V的簽名認(rèn)證機(jī)制來克服這個問題。認(rèn)證機(jī)制分為3個部分:簽名生成、簽名嵌入和簽名提取和驗證。首先,生成一個唯一的簽名,通過簽名嵌入程序嵌入到圖像中。在這項工作中,簽名嵌入程序和水印嵌入程序并行完成。在水印嵌入步驟中生成簽名并且在水印嵌入的最后步驟把簽名嵌入到含水印的圖像中。在檢測階段,解碼器首先把簽名提取出來,與利用客戶端接收的矩陣U、V來生成的簽名進(jìn)行比較。如果簽名匹配,則是經(jīng)過授權(quán)認(rèn)證的,就繼續(xù)進(jìn)行水印提取。否則,提取操作終止。
1.1.1生成簽名對圖像進(jìn)行SVD分解后,通過加密算法生成一個唯一的二進(jìn)制數(shù)據(jù)作為數(shù)字簽名來加密圖像的U、V矩陣。這個簽名是隨機(jī)的,防止攻擊者進(jìn)行預(yù)測。為了增強(qiáng)安全性,在生成簽名過程中也使用密鑰對算法加密,數(shù)字簽名程序如下。
(a)把經(jīng)過SVD分解后的二維正交矩陣U、V轉(zhuǎn)變?yōu)橐痪S數(shù)組;
(b)使用SHA-1算法對正交矩陣U、V進(jìn)行哈希運算:
(c)把Dig_U和Dig_V轉(zhuǎn)換為相應(yīng)的二進(jìn)制數(shù),然后對它們進(jìn)行異或運算,結(jié)果保存到K1:
(d)設(shè)定一個初始密鑰,命名為K2,將其轉(zhuǎn)變?yōu)槎M(jìn)制數(shù),并與K1進(jìn)行異或運算,結(jié)果保存到K3:
(e)選擇二進(jìn)制數(shù)K3的前8位作為數(shù)字簽名,命名為Sig。
1.1.2簽名嵌入簽名的嵌入在水印嵌入載體圖像后進(jìn)行。由于生成的數(shù)字簽名只有8位的二進(jìn)制數(shù),因此,把簽名嵌入到含水印的圖像中不會影響圖片的質(zhì)量。為了取得更好的魯棒性,對圖像進(jìn)行1級DWT分解,選擇能量集中子帶LL的相應(yīng)子塊進(jìn)行SVD分解,然后選擇通過改變含水印圖像每個子帶的U矩陣的第一列元素來嵌入數(shù)字簽名。實驗證明,使用矩陣U的正交向量第1列的第2個元素來嵌入數(shù)字簽名效果最好。簽名嵌入過程如下:
(a)對含水印的圖像進(jìn)行1級DWT分解,得到一個低頻子帶LL,把LL子帶分成8*8個子塊;
(b)使用密鑰key隨機(jī)選擇8個子塊,對選擇的8個子塊每個子塊進(jìn)行SVD;
(c)選擇每個子塊矩陣U的正交向量第一列的第二個元素(即第2行第1列)乘10后,進(jìn)行下取整操作:
(d)若數(shù)字簽名的位值=1并且U2,1是偶數(shù),又或者是數(shù)字簽名的位值=0并且U2,1是奇數(shù),則:
否則,不變;
(e)對選擇的8個子塊進(jìn)行逆SVD操作;
(f)逆DWT操作,完成簽名的嵌入。
1.1.3簽名提取程序(a)對接收的圖像進(jìn)行一級DWT變換后,把LL子帶劃分為8*8個子塊;
(b)根據(jù)設(shè)定的密鑰key選擇相應(yīng)的子塊;
(c)對選擇的子塊進(jìn)行SVD變換;
(d)使用下列式子對U2, 1進(jìn)行檢驗:
1.2水印嵌入
整數(shù)小波變換是提升小波變換的典型代表。所有經(jīng)典的小波算法都可以使用提升小波算法實現(xiàn),并且具有速度快,不需要輔助存儲器,易于實現(xiàn)并容易實現(xiàn)逆變換等優(yōu)點[11]。整數(shù)小波變換分為3個步驟:分裂、預(yù)測和更新。本文采用整數(shù)小波變換對載體圖像進(jìn)行分解,接著進(jìn)行SVD變換,然后利用加性法則把水印圖像信息嵌入到載體圖像的奇異值中,同時利用生成的簽名加密含水印的圖像。具體算法如下。
(a)對載體圖像P進(jìn)行一級IWT分解后得到4個子帶:LL、HL、LH、HH;
(b)對LL、HL、LH、HH這4個子帶進(jìn)行SVD變換:
(c)把水印信息直接嵌入到載體圖像P對應(yīng)子帶的奇異值中,應(yīng)用SVD變換來修改對應(yīng)子帶的奇異值:
(d)對LL、HL、LH、HH4個子帶相應(yīng)的U、V矩陣(和)應(yīng)用簽名生成程序來生成4個8位的數(shù)字簽名SigLL、SigHL、SigLH、SigHH后,異或操作形成最終簽名:
(e)進(jìn)行逆SVD操作,每個子帶的新IWT系數(shù)通過如下公式產(chǎn)生:
(f)對經(jīng)過IWT修改后的4個集合進(jìn)行逆IWT操作,得到含水印的圖像PW;
(g)對含水印的圖像PW應(yīng)用簽名嵌入程序,嵌入數(shù)字簽名Sig,完成圖像加密。
水印嵌入算法的流程圖如圖1所示。
圖1 水印嵌入流程圖Fig.1 Flow chart of watermark embedding
1.3水印提取過程
在提取水印前,先通過對收到圖像進(jìn)行SVD分解后的UiW和ViTW的4個子集進(jìn)行檢測認(rèn)證。認(rèn)證的過程是先使用密鑰生成數(shù)字簽名,然后從接收到的圖像的UiW和ViWT的4個子集提取的數(shù)字簽名進(jìn)行匹配。如果數(shù)字簽名匹配,水印提取程序繼續(xù),并提取出嵌入的水印。否則,認(rèn)為是虛警,終止程序。數(shù)字簽名匹配后水印提取的具體步驟如下。
(a)對接收到的含水印圖像P*W進(jìn)行1級IWT分解生成4個子帶LL、LH、HL、HH;
(b)對所有的子帶進(jìn)行SVD操作:
(c)對每個子帶進(jìn)行如下計算:
(d)利用下面的公式提取水?。?/p>
水印提取算法的流程圖如圖2所示。
圖2 水印提取流程圖Fig.2 Flow chart of watermark extracting
本文算法使用MATLAB 2012進(jìn)行了實現(xiàn),并在32位的操作系統(tǒng)Windows XP的環(huán)境下對圖片進(jìn)行了測試。實驗的機(jī)器配置為Intel Core i5 2.4 G的CPU,4G的內(nèi)存。實驗使用512×512的Lena的灰度圖像為載體圖像,水印圖像是64×64的二值圖像,如圖3所示。通過不同的實驗分別驗證算法的視覺性和魯棒性。
圖3 實驗的載體圖像和水印圖像Fig.3 Watermark image and carrier image
2.1視覺性驗證
為了驗證嵌入水印后圖片的視覺性效果,采用峰值信噪比PSNR來進(jìn)行量度,PSNR計算公式如下:
實驗通過設(shè)置不同的疊加系數(shù)α對Lena圖片進(jìn)行了不同強(qiáng)度的水印嵌入,同時與文獻(xiàn)[8]、文獻(xiàn)[9]和文獻(xiàn)[10]提出的方法進(jìn)行了視覺性對比,實驗結(jié)果如表1所示。
表1 不同算法PSNR對比Tab.1 PSNR contrast of different algorithms
從實驗可知,隨著疊加系數(shù)α的增加,4種算法的PSNR均下降。當(dāng)α介于0.03和0.07之間時,PSNR表現(xiàn)最好,4種算法的PSNR值均大于35,肉眼無法分辨差別,具備良好的視覺性。但由于本文算法對4個子帶均進(jìn)行了水印嵌入,而對比的算法只對低頻子帶LL進(jìn)行嵌入,所以PSNR數(shù)值稍遜于其他算法,但差別不大并不影響圖片的質(zhì)量。不同算法隨著α的改變PSNR值對比圖如圖4所示。
圖4 不同算法的PSNR值對比圖Fig.4 PSNR value contrast of different algorithms
2.2魯棒性驗證
魯棒性驗證實驗依舊使用圖3中的Lena圖像和水印圖像,并設(shè)置α=0.05在Lena圖像中嵌入水印。為了度量提取水印的質(zhì)量,使用歸一化的相關(guān)系數(shù)NC值來評價提取水印的相似度。NC值的計算公式如下:
當(dāng)圖像未被攻擊時,利用本文算法均從4個子帶中提取出了水印,提取的水印圖片疊加后與原始的水印圖片相似度NC =1.000 0,能很好地還原出原始的水印圖像。正常情況各子帶提取的水印如圖5所示。
圖5 正常情況提取的水印Fig.5 Extraction of watermark under normal condition
為了進(jìn)一步驗證算法的魯棒性,斜對圖片添加噪聲、幾何變換和進(jìn)行壓縮等操作對本文算法進(jìn)行了抗攻擊的實驗,并與文獻(xiàn)[8]、文獻(xiàn)[9]和文獻(xiàn)[10]的算法進(jìn)行了對比,不同算法面對各種攻擊后提取出來的水印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
本文算法應(yīng)用了IWT方法分解圖像保證了圖像在處理過程中的不失真。對IWT分解后的4個子帶嵌入了水印,增加了水印嵌入的容量,保證了算法抵抗各種攻擊的魯棒性。從實驗數(shù)據(jù)可知,在抵抗噪聲攻擊方面,本文算法優(yōu)于文獻(xiàn)[8]和文獻(xiàn)[10],與文獻(xiàn)[9]性能相當(dāng);在抵抗幾何攻擊方面,本文算法優(yōu)于文獻(xiàn)[8]和文獻(xiàn)[9],與文獻(xiàn)[10]性能相當(dāng);在抵抗壓縮方面,本文算法均優(yōu)于對比的算法。各種算法抵抗攻擊的對比如圖6所示。
圖6 不同算法抵抗攻擊對比圖Fig.6 Contrast of anti-attack of different algorithm
數(shù)字圖像水印技術(shù)在實際應(yīng)用中既要求要有良好的透明性和抵抗各類攻擊的魯棒性,也要求有效地控制檢測時的虛警概率。本文利用IWT分解速度快、無損可逆等優(yōu)點,針對傳統(tǒng)SVD方法的不足,提出了一種數(shù)字簽名機(jī)制,在水印嵌入的同時完成對圖像的加密。在水印提取前先對數(shù)字簽名進(jìn)行驗證,若簽名不正確是不能正確提取出水印的,在未嵌入水印的載體圖像中也是不能提取出水印的,從而有效克服了傳統(tǒng)SVD方法虛警率過高的問題。實驗證明,本文所提的算法具有良好的視覺性和魯棒性。
參考文獻(xiàn)(References)
[1]王麗榮,申鉉國,王延杰.基于提升方法的整數(shù)小波在DSP的實現(xiàn)[J].光學(xué)精密工程,2004,12(2):185-189.
[2]姜明新,遲學(xué)芬.基于IWT和HVS的彩色圖像數(shù)字水印算法[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2007,25(1):98-102.
[3]虞曉慶,李宏昌,張茂.基于提升小波的多功能彩色數(shù)字圖像雙水印算法[J].計算機(jī)應(yīng)用與軟件,2013,30(2):50-53.
[4]葉天語.DWT-SVD域全盲自嵌入魯棒量化水印算法[J].中國圖象圖形學(xué)報,2012,17(6):644-650.
[5]宋偉,侯建軍,李趙紅.基于SVD和偽隨機(jī)循環(huán)鏈的圖像認(rèn)證水印算法[J].北京交通大學(xué)學(xué)報,2008,32(2):71-75.
[6]陳寧,馬會杰.基于Contourlet和SVD的魯棒雙水印算法[J].計算機(jī)應(yīng)用研究,2012,29(7):2700-2702.
[7]張秋余,李凱,袁占亭.基于混沌和SVD-DWT的穩(wěn)健數(shù)字圖像水印算法[J].計算機(jī)應(yīng)用研究,2010,27(2):718-720.
[8]肖亮,葉建兵,韋志輝.一類基于SVD的數(shù)字水印虛警分析與改進(jìn)算法[J].南京理工大學(xué)學(xué)報:自然科學(xué)版,2010,34 (2):227-231.
[9]蔣天發(fā),熊祥光,蔣巍.一類SVD域水印問題分析及改進(jìn)算法[J].計算機(jī)科學(xué),2011,38(10A):62-65.
[10]熊祥光,王力.一種改進(jìn)的DWT-SVD域參考水印方案[J].計算機(jī)工程與應(yīng)用,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.
(責(zé)任編輯:范建鳳)
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
文獻(xiàn)標(biāo)志碼:A
文章編號:1673-0143(2015)04-0359-08