龔成清
(廣東女子職業(yè)技術(shù)學院應(yīng)用設(shè)計系,廣州 511450)
數(shù)字圖像版權(quán)保護的問題是信息化時代研究的一個熱點問題。數(shù)字水印是有效保護數(shù)字圖像版權(quán)的方法。根據(jù)水印嵌入的區(qū)域不同,數(shù)字水印算法可以分為空間域算法和變換域算法[1]。變換域法因其魯棒性好而得到廣泛應(yīng)用。常用的變換域法有離散小波變換(DWT)[2]、離散余弦變換(DCT)[3]、奇異值分解(SVD)[4]、分數(shù)階傅里葉變換(FRFT)[5]等。
離散小波變換(DWT)是變換域法的典型代表,具有良好的特性。文獻[6]將原圖像進行多層小波分解,提出了一種基于DWT 變換域的數(shù)字水印方案,具有良好的魯棒性,但水印的嵌入容量受到限制。文獻[7]結(jié)合DWT 和SVD 的特點,利用DWT 變換構(gòu)造水印后對系數(shù)矩陣進行SVD 變換,提出了一種基于DWT 和SVD 的數(shù)字水印算法。該算法具有良好的不可感知性和魯棒性,但只適用于處理平穩(wěn)的信號。分數(shù)階傅里葉變換(FRFT)則可以用來處理非平穩(wěn)的信號。相對傳統(tǒng)的傅里葉變換,F(xiàn)RFT 具備運算速度快,高聚焦性等特性,可以有效提升水印算法的效率。文獻[8]對整幅圖像進行離散分數(shù)階傅里葉變換,通過系數(shù)的修改提出了基于分數(shù)階傅里葉變換的隨隨機序列水印算法,實現(xiàn)了水印的嵌入和提取,但圖像容易失真。
本文利用DWT 和FRFT 的特性來提升水印的視覺性和魯棒性。水印嵌入時,對載體圖像進行DWT 變換,選擇低頻子帶進行FRFT 變換后嵌入水印信息,同時生成兩個偽隨機序列(PN 系列)。利用FRFT 多角度變換的特性,在x 方向和y 方向均嵌入水印信息增強水印的魯棒性。水印提取時,計算兩個PN 系列與FRFT 的系數(shù)的相關(guān)性,并與閾值對比,確定水印的信息是0 還是1,從而提取出水印。
離散小波變換是對基本小波的尺度和平移進行離散化。經(jīng)過離散小波變換后圖像會生成低頻子帶和高頻子帶。在圖像處理中,常采用二進小波作為小波變換函數(shù),第α層離散小波變換的函數(shù)如(1)、(2)所示。
x[n]表示離散的輸出信號,長度為N。g[n]是低通濾波器,可以將輸入信號的高頻部份濾掉而輸出低頻部份。h[n]是高通濾波器,與低通濾波器相反,濾掉低頻部份而輸出高頻部分。
FRFT 不但具有時域和頻域雙重特征,還具有旋轉(zhuǎn)特性和角度連續(xù)性,是一種非常有效的信號分析工具,被廣泛應(yīng)用于數(shù)字水印領(lǐng)域[9]。運用分數(shù)階傅立葉變換能選取信息最集中的角度去分析,在不同的分數(shù)階得到的結(jié)果中選取幅值最大的那個結(jié)果,從而得到最優(yōu)解。二維離散分數(shù)階傅里葉變換形式如下:
水印的嵌入要兼顧視覺性和魯棒性。利用DWT快速變換的特點,對載體圖像進行2 級分解,選取低頻子帶進行水印嵌入,提升了水印嵌入的容量。對低頻子帶系數(shù)進行FRFT 變換,在x 和y 的角度方向都嵌入水印的信息,增強了水印的魯棒性。具體算法如下:
(1)對載體圖像進行DWT 變換;
(2)選取DWT 變換后的低頻子帶系數(shù),進行二維FRFT 變換;
(3)定義起點F1 和系數(shù)的長度F2;
(4)讀取水印圖像,把水印圖像的信息轉(zhuǎn)化為向量;
(5)判段水印信息是否為1,如果是1,則起點和系數(shù)不作改變,F(xiàn)1=F1,F(xiàn)2=F2,跳轉(zhuǎn)到第8 步。否則,跳轉(zhuǎn)第6 步;
(6)使用密鑰 key,生成兩個隨機序列 PN_h 和PN-v;
(7)更 新 F1 和 F2,F(xiàn)1= F1+K*PN_h,F(xiàn)2=F2+K*PN-v;
(8)判斷是否所有水印信息已經(jīng)完成變換,如果全部完成則進入下一步,否則跳轉(zhuǎn)回到第5 步;
(9)把水印信息F1 和F2 嵌入到載體圖像對應(yīng)的位置,進行逆FRFT 變換,完成水印嵌入。
水印提取是水印嵌入的逆過程。DWT-FRFT 的水印算法只需要使用水印嵌入時生成隨機序列的密鑰就可以實現(xiàn)水印的盲提取。提取過程中,使用公式(5)來計算提取信息的相關(guān)性,并與閾值進行比較,沒有嵌入水印的閾值的期望為零,而嵌入水印的閾值的期望大于零。
具體算法如下:
(1)對含水印的圖像進行DWT 變換;
(2)選取DWT 變換后的低頻子帶系數(shù),進行二維FRFT 變換;
(3)定義起點F1 和系數(shù)的長度F2;
(4)使用密鑰 key,生成兩個隨機序列 PN_h 和PN-v;
(5)對每個水印信息計算F1 和F2 與相應(yīng)PN 序列的相關(guān)性;相關(guān)性大于閾值則水印信息是1,否則,水印信息是0;
(6)重復步驟4,直到所有的水印信息提取完成。
我們使用MATLAB 2018 對算法進行了實現(xiàn),通過實驗對算法的性能進行了驗證。實驗使用的操作系統(tǒng)是Windows 7,計算機配置為Intel Core i7 3.0G 的CPU,4G 的內(nèi)存。為了評價水印圖案提取的質(zhì)量,使用歸一化的相關(guān)系數(shù)NC 值來對提取出來的水印圖案進行評價,NC 值計算公式如下:
為了驗證嵌入水印后的視覺性效果,采用峰值信噪比PSNR 和來評價圖像的視覺效果,PSNR 的計算公式表示如下:
圖1 水印的嵌入和提取
實驗使用了512×512 的Lena 的彩色圖像為載體圖像,水印圖像是32×32 的二值圖像,使用DWT-FRFT算法對水印進行了嵌入和提取,實驗結(jié)果如圖1 所示。
嵌入水印后的圖片具有良好的視覺性,與原始載體圖片視覺效果一致,肉眼無法分辨差別。在沒有受到攻擊的情況下,實驗對水印圖像實現(xiàn)了盲提取,提取的水印圖片與原始的水印圖片相似度NC=1,能很好地還原出原始的水印圖像。
實驗分別使用DWT-FRFT 的水印算法與文獻[8]的算法把 64×64、128×128、256×256 的圖 1(b)的水印圖像嵌入到圖 1(a)大小為 512×512 的 Lena 彩色圖像中,兩種算法的PSNR 計算結(jié)果如表1 所示。
表1
實驗結(jié)果表明,對于尺寸為128×128 以下的水印圖案,兩種算法均有較好的視覺效果。當水印的圖像為256×256 大小時,兩種算法進行水印嵌入后,PSNR有明顯的下降,含水印的圖像均出現(xiàn)了肉眼可見的雜點。DWT-FRFT 的水印算法由于選擇的是能量集中的低頻子帶嵌入,視覺性影響較小,相對于文獻[8]選擇中頻子帶嵌入的算法,DWT-FRFT 的水印算法的視覺性更好,水印嵌入的容量更大。
實驗中,使用了DWT-FRFT 水印算法、文獻[7]水印算法和文獻[8]水印算法分別把圖1(b)的水印圖像嵌入到圖1(a)的載體圖像中并進行提取。為了驗證不同算法的魯棒性,實驗過程對含水印的圖像分別添加噪聲、幾何變換和壓縮等操作進行了抗攻擊的實驗。水印提取后的NC 值如表2-表4 所示。
表2 不同算法抵抗噪聲攻擊的NC 值對比
表3 不同算法抵抗幾何攻擊的NC 值對比
表4 不同算法抵抗JPEG 壓縮攻擊的NC 值對比
實驗結(jié)果表明,DWT-FRFT 算法由于在x 方向和y 方向均嵌入了水印信息,具有充足的信息冗余,在抵抗攻擊方面相對于文獻[7]和文獻[8]算法,具有更好的魯棒性,尤其是在抵抗剪切和JPEG 壓縮攻擊方面,魯棒性要遠遠優(yōu)于對比的算法。
為了更好地解決數(shù)字圖像的版權(quán)保護問題,本文利用了DWT 變換速度快的特點,在不同尺度上對信號進行分解,選取能量集中的低頻子帶進行分數(shù)階傅里葉變換后進行水印的嵌入和提取,解決了非平穩(wěn)信號的處理問題。實驗證明,本文提出的DWT-FRFT 算法水印算法不僅具有良好的視覺性和嵌入容量,對噪聲、幾何變換和壓縮等常見的攻擊等都具有很好的魯棒性。