羅錦 胡桂明 季宏杰
1 廣西大學電氣工程學院 廣西 530004
2 濟南鋼鐵集團運輸部 山東 250101
隨著信息數字化時代的到來,數字水印技術在數字內容的產權保護這一領域具有十分廣泛的應用。公鑰數字水印系統是數字水印的一種,它設立了兩個密鑰,分別對應兩個水印,其中一個是版權所有者的私鑰,另一個是可以公開的版權公鑰。任何人都可以利用公鑰檢驗圖像的所有者屬于誰,這樣能使發現盜版產品的機會大大增加。
為了使兩個水印圖像能同時嵌入到載體中,而又能互不干擾地使用各自的密鑰將兩個圖像提取出來,文中提供了一種基于Arnold置亂和Hadamard變換的雙水印信號預處理算法。算法的主要步驟如圖1所示。

圖1 雙水印信號的預處理過程
Arnold置亂是經典的置亂變換之一,它能改變信息的分布狀況,使圖像信息分布散亂化,同時,它的邏輯簡單,實現方便,可以有效降低系統的復雜度。根據所選擇不同的相位空間可分為二維、三維、四維直至N維的Arnold變換。本文針對的研究對象是二維圖像,故采用的是二維Arnold變換。其定義為:

其中,(x,y)是原圖像的像素點,(x′,y′)是變換后新圖像的像素點,n是圖像的階數,即圖像的大小,一般考慮正方形圖像。在水印信號的生成階段,把置亂的次數作為加密的密鑰。Arnold具有周期性的特點,即隨著迭代次數的增加,圖像趨于混亂,經過一定的次數后,又回到原圖。其Matlab代碼如下。
function Arnold(Image,k) %k:圖像需要迭代的次數
R=imread(Image);
M=Q;
Size_Q=size(Q);
n=0;
K=Size_Q(1);

在文中,把一個大小為64×64的二值圖像作為水印圖像。迭代次數k取不同值時得到的水印信號如圖2所示。

圖2 迭代次數k取不同值時的Arnold變換結果
為了減少迭代次數,優化算法,在文獻中,論文作者經過嚴謹的數學推導,通過求解方程組的方法,提出了一種新的Arnold反變換算法。據此提供了Arnold反變換的Matlab代碼。
Hadamard矩陣H是由+1和-1兩個元素組成的正交方陣,它的任意兩行或者兩列都互相正交,即

在式(2)中,[H]T為[H]的轉置矩陣,N為[H]的階數,[I]為單位陣。
為了將兩個水印W 1和W2同時嵌入而且能夠互不干擾地恢復,需要對它們進行正交變換,為此采用2階Hadamard正交變換,步驟為:
(1) 把W1、W2分別作迭代次數為k1、k2的Arnold置亂,得到兩個大小為64×64的置亂矩陣M1,M2,此時k1、k2即為兩個水印信號對應的密鑰;
(2) 把矩陣M1,M2的所有元素按照行順序取出,分別置入到大小為1×4096的向量I1,I2中;
(3) 分別取 I1,I2的轉置矩陣,進行混合編碼

得到大小為4096×2混合編碼Im;
(4) 使用2階Hadamard矩陣H2,對混合編碼 Im進行正交變換:

此時得出的 Im為Hadamard變換的最終結果,也就是待嵌入的水印信號編碼。
恢復水印時,首先提取到 Im,根據式(5)恢復相應的水印置亂結果:

其中,Hi為H2矩陣的第i列向量。
如果把Hadamard矩陣的列向量視為地址碼,式(5)實質上是按地址碼的不同而區分水印,稱之為碼分多址。
通過Hadamard變換,能同時嵌入兩個數字水印。由于兩個水印互相正交,從水印信號編碼中提取公開水印時,不影響私有水印的提取,同時也只能得到私有水印置亂后的信號,只有知道私鑰的人才能從中恢復出私有水印。
根據前文論述的方法,對兩幅二值水印圖片做Arnold置亂操作,如圖3所示。

圖3 將雙水印做Arnold置亂操作后的結果
根據上文提供的步驟(1)-(4),對置亂后的兩個水印進行混合編碼,編碼的結果再做Hadamard變換,得到需要的水印信號編碼。
然后,我們依據式(5)進行編碼提取,得到I1,I2的轉置矩陣,將I1,I2的元素取入到大小為64×64的矩陣M1,M2中,然后對M1,M2分別作21次和29次Arnold置亂,得到的結果如圖4所示。

圖4 對M1,M2矩陣做21次和29次Arnold迭代后結果
Arnold置亂邏輯簡單,便于實現,Hadamard變換能將兩個水印信號的混合編碼進行正交變換,生成的信號編碼能同時嵌入到載體圖像中,并且公開水印和私有水印能互不影響地提取,給多重水印信號的預處理提供了一種新的方法。
[1] W.bender,D.Gruhl and N.Morimoto. Technique for Data Hiding[J].IBM System Journal.1996.
[2] I.J.Cox,M.L.Miller and J.A.Bloom.Digital watermarking.Morgan Kaufmann.2002.
[3] 孫圣和,陸哲明,牛夏牧等.數字水印技術及應用[M].北京:科學出版社.2004.
[4] 楊義先,鈕心忻.數字水印理論與技術[M].北京:高等教育出版社.2006.
[5] 丁瑋,閆偉齊,齊東旭.基于 Arnold變換的數字圖像置亂技術[J].計算機輔助設計與圖形學學報.2001.
[6] 李何明,張大興.一種基于 Hadamard變換的快速盲水印算法[J].杭州電子科技大學學報.2009.
[7] 孔濤,張亶.Arnold反變換的一種新算法[J].軟件學報.2004.
[8] 譚月輝,梁欣,張俊萍等.基于 Arnold變換和采樣理論的置亂技術研究[J].微計算機信息.2006.