王超
摘 要 本文提出了一種基于奇異值分解的數(shù)字水印算法,用于提高水印的魯棒性。在該算法中,首先,對原始載體圖像進行分塊的奇異值分解,然后把經(jīng)過Logistic映射產(chǎn)生的混沌序列調制的水印信號嵌入到分塊的奇異值分解的最大系數(shù)中的十位數(shù)字上去。實驗結果表明,該算法對各種攻擊具有較強的魯棒性。
關鍵詞 數(shù)字水印 魯棒性 奇異值分解
中圖分類號:TN911 文獻標識碼:A
0引言
信息媒體的數(shù)字化為信息的存取提供了極大的便利性,同時也顯著地提高了信息表達的效率和準確度。人們借助于計算機、數(shù)字掃描儀、打印機等電子設備可以方便、迅捷地將數(shù)字信息傳達到世界各地。隨之而來的副作用是通過網(wǎng)絡傳輸數(shù)據(jù)文件或作品使有惡意的個人或團體有可能在沒有得到作品所有者的許可下拷貝和傳播有版權的內容。
數(shù)字水印是指在數(shù)字化的數(shù)據(jù)內容中嵌入隱蔽的記號,它是信息隱藏技術的一個重要分支,主要目的是對數(shù)字作品的版權保護和完整性認證。從這兩個方面可以將數(shù)字水印分為魯棒水印,脆弱水印和半脆弱水印。魯棒水印有魯棒性、安全性和透明性等特點。
本文對大量水印算法進行了研究,提出了一種魯棒性較高,透明性較好的水印算法。
1水印算法
1.1嵌入水印
水印的嵌入算法流程如圖1所示。
1.1.1水印產(chǎn)生
設O={o(i,j)|1≤i≤M,≤j≤N}為水印圖像。
(1)利用Arnold變換將圖像進行置亂,將置亂次數(shù)作為密鑰Key1;
(2)提取置亂后的圖像的像素值,并生成二值化序列W={w(i)|w(i)∈{0,1},1≤i≤(MN8)}。將w(i)作為初始水印。
(3)利用Logistic映射簡單且性能優(yōu)異的特點生成實值混沌序列X={x(i)|i=1,2,…},其中Logistic迭代函數(shù)的初始值為Key1;
(4)用生成的混沌序列X對W進行了調制,得到需要嵌入的水印。
(5)對調制后的水印信號進行置亂。
1.1.2水印嵌入
設Z={z(i,j)|1≤i≤MX,1≤j≤NY}為原始載體圖像。
將圖像Z進行2€?分塊,然后依次對各個分塊進行奇異值分解,提取每個分塊的Smax。計算Smax的十位數(shù)為r。然后按如下方法嵌入水?。?/p>
如果水印比特為1,而r為奇數(shù),則不作任何改變;如果r為偶數(shù),則將r加1。
如果水印比特為0,而r為偶數(shù),則不作任何改變;如果r為奇數(shù),則將r減1。
對圖像做逆奇異值分解,得到含水印圖像Z1。
1.2水印提取算法
水印提取算法的流程如圖2所示。
(1)接收到載水印圖像Z后,將其進行2€?分塊,然后對每個分塊進行奇異值分解,求得r1。
(2)根據(jù)ri的值進行水印提取,提取方式如下式:
得到提取水印序列W。對W進行逆置亂,再利用密鑰KEY1生成的混沌序列對它進行解調。
(3)將解調后的水印序列恢復為原始水印圖像,得到最終的水印信息。
2仿真實驗
2.1水印嵌入實驗
Logistic 迭代函數(shù)的初始值選取為K1=0.24,迭代參數(shù)選取為K2 =3.966,T1 = 50。
本文以Lena 512€?12 的灰度圖像作為載體圖像(圖3a),以一幅64€?4的灰度圖像作為水印圖像(圖3b)。采用上述水印嵌入算法嵌入水印的載水印圖像如圖3a所示,計算其峰值信噪比為37.1163。從該圖可見,圖像嵌入水印后視覺上基本沒有差異,實現(xiàn)了水印的不可見性。并且通過對其水印的提取,可以得到提取出來的水印如圖3b所示。
2.2水印抗攻擊實驗
2.2.1 JPEG壓縮
對原始圖像分別進行質量因子為50、65、80的JPEG壓縮,實驗結果如圖4所示。
2.2.2添加高斯噪聲
對原始圖像添加噪聲方差為0.005和0.01的高斯噪聲,實驗結果如圖5所示。
2.2.3剪切
對原始圖像進行左上角1/4處剪切和右半部分剪切實驗,實驗結果如圖6所示。
3結語
本文利用奇異值的穩(wěn)定性,提出了一種基于奇異值分解的魯棒水印技術。實驗表明,該算法具有良好的不可見性,并且對各種攻擊具有較強的魯棒性。
參考文獻
[1] 劉瑞禎,譚鐵牛.數(shù)字圖像水印研究綜述[J].通信學報,2000(8):39-48.
[2] Information Technology-JPEG 2000 Image Coding System-Part 8:JPSEC[S]. 2004.
[3] 王麗娜,張煥國,葉登攀.信息隱藏技術與應用[M].武漢:武漢大學出版社,2009.
[4] 呂林濤,郝亮.面向圖像內容認證的半脆弱數(shù)字水印算法[J].計算機應用,2010(5):1239-1242.