李新宇
(湖南第一師范學院信息科學與工程學院,長沙 410205)
在數字水印技術研究領域中,關于圖像的水印技術已經有了很好的研究基礎,同時由于其潛在的商業利益近年來一直備受關注,是數字水印技術領域中研究的熱點?;谄娈愔捣纸猓⊿ingular Vector Decompo?sition,SVD)的數字圖像水印算法最早由Liu R和Tan T提出[1],周波等人利用SVD的代數性質,對數字水印嵌入載體圖像經SVD分解后的矩陣中,通過一系列的圖像縮放、旋轉、轉置等幾何攻擊實驗以后,發現提取出的數字水印具有良好的穩定性[2]。張秋余等人提出的算法首先對載體圖像進行3層小波變換(Discrete Wavelet Transform,DWT),在中頻子帶上直接嵌入置亂后的水印信息并進行SVD分解,也取得了較好的實驗效果[3]。
現有基于離散小波變換和奇異值分解的算法大多分為兩類,第一類算法是將變換置亂后的水印圖像的奇異值嵌入載體圖像SVD分解后的奇異值中,提取水印時大多需要依賴置亂后的水印圖像奇異值分解的正交矩陣,這樣就降低了水印的真實性,容易造成虛警概率偏高的問題[4-5]。第二類算法是將水印經過相關變換置亂處理后直接嵌入載體圖像SVD分解后的奇異值中,提取水印時一般需要原載體圖像的奇異值矩陣。
張秋余等人提出的算法[3]是第二類算法的基礎上同時又將置亂后的水印圖像直接嵌入載體圖像三級小波變換后的部分中頻子帶系數中,提取水印時還是需要置亂后的水印圖像SVD分解后的U或V矩陣,不能有效地降低虛警率。錢華明等人提出了一種改進的基于SVD-DWT域的數字圖像水印算法,將水印奇異值分解得到的正交矩陣U作為控制參數嵌入載體圖像小波分解的細節子帶中,再將水印的奇異值分別嵌入原始載體圖像三層離散小波變換后低頻子帶的奇異值中,水印檢測時將根據設置的極限值T檢查提取的U'與原始U的相似性,只有相似性滿足極限值T時才能進行水印的提取,算法克服了缺陷虛警概率偏高的缺陷,提高了水印信息的真實性,但是提取水印過程中需要原始載體圖像的相關信息[6]。
熊祥光等人在文獻[7]中詳細論證了第一類算法虛警概率偏高的原因是在水印的提取過程中需用到水印圖像SVD分解后的UW和VW矩陣,提出一種改進的混合DWT和SVD的圖像水印算法。陳宏等人提出的算法[8]和文獻[7]相似,對原始數字載體圖像分塊以后,根據每一個子塊的紋理強度選取最佳水印嵌入子塊,然后對最佳子塊進行小波變換,同時對子塊的低頻系數進行奇異值分解,最后將置亂后的水印直接嵌入各載體圖像子塊的奇異值中。兩種算法都有效的解決了虛警概率偏高的問題,提取水印時需要嵌入水印過程中生成的奇異值矩陣,從而無法實現水印信息盲提取。暴琳等人提出利用Tetrolet變換的優點和圖像矩陣的奇異值穩定性好且代表圖像內蘊特征的特點,提出了一種基于Tetrolet變換和SVD的圖像盲檢測穩健性數字水印算法,使水印系統具有良好的穩健性,但是該算法復雜度較強,運行時間較長,沒有很好的實時性[9]。
本文算法選擇采用Logistic映射產生的混沌序列對Turbo編碼后的水印圖像進行預處理,生成加密后的編碼水印W*,有效降低了誤碼率、提高了安全性。對原始載體圖像I進行2×2大小分塊,對每個分塊SVD分解,取奇異值矩陣對角元素的第一個值組成矩陣Q,然后對矩陣Q進行8×8大小分塊,并對其進行離散小波變換,選取小波分解后的低頻子帶LL2,對其再進行小波變換生成 3 個中高頻子帶(LH3、HL3、HH3),按照給定的閾值設置所選取的子帶系數,隨后進行小波逆變換形成參考子帶LL’2并進行奇異值分解,取奇異值矩陣的第一個對角元素組成新的矩陣Q’,最后將Lo?gistic混沌置亂處理后的水印嵌入到新的矩陣Q’中。
Step1原始彩色圖像I的大小為M×N,對其進行RGB到YUV的空間轉換,對Y分量2×2大小分塊并進行奇異值分解,取分塊奇異值矩陣對角元素的第一個值組成矩陣Q;
Step2然后對矩陣Q進行8×8大小分塊,對每個分塊進行二級DWT分解,然后選取DWT分解后第2層的低頻子帶LL2;其次對選取的子帶LL2進行1層DWT變換,對生成的 3 個中高頻子帶(LH3、HL3、HH3),選取部分或所有的子帶,并將所選取的子帶系數的絕對值小于給定閾值的系數都設置為0,再進行1層DWT逆變換形成參考子帶LL’2;
Step3最后對參考子帶進行SVD分解,取奇異值矩陣的第一個對角元素,各個分塊合成大小為的矩陣Q’,最后將Logistic混沌置亂處理后的水印嵌入到新的矩陣Q’中。
Step4水印圖像W的大小為m×n,嵌入水印之前先計算量化值;
Step5將水印Wij的值嵌入奇異值矩陣的每一個值中;
Step6對嵌入水印以后生成的矩陣元素Qijw替換原來奇異值矩陣的第一個對角元素,然后對每一個新的奇異值矩陣進行反SVD分解,生成新的參考子帶,對其進行二級逆向IDWT變換,然后將個8×8大小的分塊合成大小為的矩陣,將每一個
矩陣元素代替Step1奇異值矩陣中的首個對角元素,隨后進行反SVD分解得到2×2大小的矩陣,最后重構個2×2大小的矩陣合成嵌入水印的圖像Iw。
水印提取算法如下:
Step1將可能遭受攻擊的待檢測圖像I*w進行空間轉換并進行2×2大小分塊,對各分塊進行奇異值分解,取分塊奇異值矩陣對角元素的第一個值組成矩陣;
Step2對奇異值分解后的新矩陣按8×8大小進行分塊,對每個分塊進行二級DWT分解,然后選取DWT分解后第2層的低頻子帶LL2;最后對參考子帶進行SVD分解,取奇異值矩陣的第一個對角元素Q*wij,進行水印的提取。
Step3根據嵌入水印時對水印圖像計算出的量化值?進行水印提取,得到提取出的水印值。

?為量化步長,floor為截斷取整函數,mod為求余函數。
本文算法的仿真實驗操作系統平臺為Windows 7,實驗工具與軟件平臺為MATLAB 2012b,實驗選取512×512 真彩色 Lena、Peppers、Baboon 作為載體圖像,如圖 1(a)、(b)、(c)所示,水印為 32×32 的二值圖像如圖 1(d)所示。

圖1 Lena、Peppers、Baboon和水印圖像
仿真實驗中采用不同量化步長?,嵌入水印后載體圖像的PSNR值變化情況列于表1。
在實驗中,圖像的失真情況一般會采用峰值信噪比進行衡量,其值越大,說明圖像失真越小,反之則失真越大。載體圖像(a)、(b)、(c)嵌入水印后的圖像峰值信噪比分別為42.8675、42.3108和42.6527,可見本文算法完全滿足不可見性的要求。
為檢驗本文水印算法的魯棒性,本文采用文獻[10]提出的兩極化相關值(Polarized Correlation,PC)來度量提取出的水印W^=(w^ij)和原始水印W=(wij)的相似程度,以此來評價算法所提取出水印的好壞效果,從而描繪出水印算法抗攻擊的穩健性。PC值在0到1之間,越接近1就說明提取出來的水印和原水印越接近。在沒有受到任何攻擊的情況下,圖像(a)、(b)、(c)提取出來的水印PC值均為1。二值圖像水印的兩極化相關值定義為:


表1 不同量化步長下的PSNR值

表2 不同載體圖像嵌入水印的PSNR值和PC值
為了驗證本文水印算法的性能,對含水印的Lena、Peppers、Baboon彩色圖像分別進行如下實驗:JPEG壓縮、填加高斯噪聲、中值濾波和剪切等攻擊,仿真實驗結果如表3所示。

表3 仿真實驗結果
為了驗證本文算法的優越性,將本文算法(算法3)分別與 SVD_DWT(算法 1)和 DCT_SVD(算法 2)進行對比實驗,對嵌入水印的載體圖像進行濾波、噪聲及幾何攻擊等處理。

表4 類似算法對比實驗結果
本文算法選擇采用Logistic映射產生的混沌序列對Turbo編碼后的水印圖像進行預處理,然后采用量化最大奇異值的方法嵌入水印,而算法1采用替換SVD分解后前64個奇異值的最低有效位的方法,雖然能得到質量較高的含水印載體圖像,但算法對噪聲的魯棒性較弱。算法2能有效降低時間復雜度,但是水印算法魯棒性有待提高。為了便于比較,本文以Lena圖像為例,恰當的設置各算法中的相應參數值,以保證兩種算法在視頻嵌入水印后圖像的峰值信噪比PSNR相近,即水印透明性基本相同的情況下,再進行濾波、噪聲處理、縮放和旋轉等幾個方面魯棒性對比實驗,相應的實驗結果如表4所示。從實驗結果可以看出,本文算法性能明顯優于算法1和算法2。
小波變換具有高低頻分離的特點,提出了一種基于離散小波變換參考子帶且結合Turbo糾錯碼的數字圖像水印算法。首先對原始載體圖像進行分塊SVD分解,取對角元素的第一個值矩陣進行分塊離散小波變換形成參考子帶并進行奇異值分解,隨后將預處理以后的水印信息嵌入到奇異值分解后的第一個對角元素矩陣中。本文算法結合DWT和Turbo糾錯碼的特性,再利用奇異值的特點,使其具備較強的魯棒性和穩健性。通過對比實驗發現本文算法尤其對高斯噪聲、PSNR攻擊、JPEG壓縮、椒鹽噪聲等攻擊具備魯棒性,是一種高效、實用的數字圖像水印算法。
本文利用了矩陣奇異值分解的能量穩定特性以及