摘要:提出了一種基于均值量化的公鑰音頻數(shù)字水印方案。該方案首先把兩幅不同的圖像經(jīng)過混沌映射產(chǎn)生的隨機序列進行置亂處理,而后對置亂圖像降維,進行哈達瑪編碼,最后通過均值量化的方法嵌入到原始音頻載體。實驗分析表明,實驗證明本文提出的基于公鑰的數(shù)字音頻水印算法魯棒性和不可感知性都比較好。在算法引入第三方的權(quán)威機構(gòu)可以在網(wǎng)絡(luò)中設(shè)置版權(quán)監(jiān)視,可以有效判定版權(quán)歸屬。
關(guān)鍵詞:混沌映射;音頻水??;公鑰水?。还_瑪變換;均值量化
中圖分類號:TP309.7 文獻標識碼:A 文章編號:1007-9599 (2012) 24-0022-04
現(xiàn)今的數(shù)字水印技術(shù)已取得了重大的進步,但為大家所研究的數(shù)字水印技術(shù)大多都采用了對稱密鑰形式[1]。公鑰水印利用加密密鑰的可公開性可以在網(wǎng)絡(luò)上廣泛傳播,因此任何人可以驗證數(shù)字產(chǎn)品的版權(quán)信息,并且可以再數(shù)字水印方案中引入權(quán)威機構(gòu)從而可以很好的打擊盜版行為。
在文獻[2]中提出了一種魯棒性的公鑰水印算法。該算法基于圖像歸一化的處理把SCDMA信號作為要嵌入的水印信號。作者提出的水印方案具有較好的抵抗幾何攻擊的能力,但是該算法的非授權(quán)去除的特性表現(xiàn)并不是很突出,存在缺陷。文獻[3]中提出了一種基于SIFT特征的公鑰水印,該公鑰水印算法是利用logistic映射產(chǎn)生三個不同的混沌序列key1、key2、key3。水印圖像要先經(jīng)過預(yù)處理由key1作公鑰進行圖像置亂,key2作為索引密鑰決定了水印嵌入的位置,key3作為加密系數(shù)密鑰決定要嵌入載體的DCT系數(shù)。但是該算法有一定的不足之處,第一作為嵌入位置的key2是由混沌序列隨機產(chǎn)生的,嵌入水印后的不可見性會收到一定的影響。第二因為只有私鑰才能提取水印所以不利于廣泛用戶對版權(quán)的監(jiān)督。文獻[4]中提出了基于圖像特征和公鑰密碼系統(tǒng)的易損水印算法。這種算法只是對水印算法的某一步驟中使用了公鑰加密,沒有和水印算法緊密結(jié)合。
本章中提出了一個新的公鑰水印算法。該算法中采用兩個不同的水印圖像M1,M2,利用logistic混沌映射產(chǎn)生不同的隨機序列進行置亂。把置亂后的二指圖像降維成一維序列W1,W2。對W1,W2進行Hadamard混合編碼。算法中引入三方機制,私鑰水印由權(quán)威機構(gòu)管理,key1,key2分別作為公鑰和私鑰由作品所有人和普通用戶保管。P1,P2進行正交變換通過其中之一是無法推測出另外一半。
1 水印信號的生成
水印信號的生成主要包括圖像利用logistic混沌映射對圖像置亂和哈達嗎變換兩個方面。
1.1 Logistic混沌映射
采用logistic混沌映射產(chǎn)生隨機序列對水印圖像置亂。一維Logistic映射對初值敏感性非常強,并且表現(xiàn)復(fù)雜,用數(shù)學(xué)表達式來表示Logistic映射如下:
Xn+1=Xn×μ×(1-Xn) μ∈[0,4] ∈[0,1] (1.1)
其中μ被稱為Logistic參數(shù)。
1.2 Hadamard變換
沃爾什--哈達瑪變換在通信和數(shù)字信號處理中經(jīng)常使用,哈達瑪變換的性能比較好并且易于實現(xiàn)。文獻[5]提出了一種基于哈達瑪變換和Arnold的水印技術(shù),利用哈達瑪變換進行水印的嵌入和提取。文獻[6]中提出了基于置亂和哈達瑪變換的空域圖像水印,實驗的結(jié)果表明具有較好的魯棒性。
哈達瑪變換是二值正交變換,哈達瑪矩陣H都是由1和-1組成的n階正交方陣,并且每兩行和每兩列都是正交的。n階的哈達瑪矩陣和它的轉(zhuǎn)置矩陣的乘積為n階的單位矩陣,用表達式表示為其中n為矩陣的階數(shù):[H]*[H]=n[I]。
2 水印的嵌入與提取
2.1 水印的嵌入
把私有水印圖像委托給權(quán)威結(jié)構(gòu)進行保護,水印系統(tǒng)中加入第三方更加有利用水印的安全。水印信息可以是作品的版權(quán)信息,作者的私人信息,作品的特征提取信息以及作品的序列號等等。水印嵌入的流程圖如下:
圖1 水印嵌入流程圖
2.1.1 水印圖像置亂預(yù)處理
本算法中選取的是兩幅二值圖像M1、M2作為水印信息。利用Logistic映射生成兩個隨機序列key1和key2.其中key1作為私鑰由版權(quán)所有人持有,key2可以公開作為公鑰。這樣水印系統(tǒng)就可以引入三方機制,由權(quán)威機構(gòu),產(chǎn)品所有人和普通用戶組成。利用key1和key2對兩幅二值圖像M1、M2置亂處理。處理后的結(jié)果按照行列順序生成兩個一維n階的二值序列,分別為W1(i)和W2(i)。
2.1.2 Hadamard混合編碼
利用哈達瑪正交變換對生成的一維n階的二值序列W1和W2進行混合編碼。假設(shè)生成的新的序列為W(i)則混合編碼為:
(2.1)
其中W1T,W2T分別為W1和W2的轉(zhuǎn)置矩陣。 是二階的哈達瑪矩陣。經(jīng)過混合編碼生成的結(jié)果W是一個1*n的相量。
本算法中采用的公鑰水印算法是在載體音頻當中嵌入兩幅不同的圖像。利用哈達瑪變換對置亂后的結(jié)果進行正交變換。假設(shè)經(jīng)過Logistic映射置亂后按照行列順序產(chǎn)生兩個一維n階的二值序列分別用W1和W2表示。WH=[ W1T,W2T]*[H]其中上式W1T,W2T分別為W1和W2轉(zhuǎn)置序列。[H]是一個二階哈達瑪矩陣。經(jīng)過正交變換后得到的結(jié)果是一個一維n階的向量,然后把這個得到的一維n階的向量嵌入到載體音頻中。這樣經(jīng)過正交變換后嵌入的兩個水印圖像不會相互干擾。
2.1.3 水印嵌入算法
水印的嵌入采用均值量化的算法:
(1)對處理過的明文語音 進行分段。設(shè) ,其中K為總段數(shù)K= k1*k2。假設(shè)實驗嵌入的圖像M1、M2是k1*k2的二值圖像。則兩幅圖像經(jīng)過降維處理后得到的兩個k1*k2的一維向量。并且經(jīng)過Hadamard變換生成一個一維長為k1*k2的向量。
(2)對明文語音 進行三級小波分解,得到3級小波變換后的最低頻部分 。
(3)低頻系數(shù)均值量化。設(shè)PSH有t個音頻數(shù)據(jù),則以t個系數(shù)為一個量化組,q為量化步長,得到第PS段音頻的均值為:
i∈(0,t) (2.2)
(4)水印嵌入。把水印信息嵌入到低頻系數(shù)的均值中。
(2.3)
其中 是 的均值, 為取模運算, 為向下取整運算,q為量化步長。
2.2 水印的提取
水印提取的過程與嵌入過程相似,步驟如下:
(1)把加入水印的音頻分成K段 , … … 。
(2)對每段音頻進行3層的DWT變換,獲得最低頻的系數(shù) , … … 。
(3)每段音頻分別求出均值,根據(jù)(式2.4)求出加入的水印序列 。
(2.4)
其中 為求得的第i段語音的最低頻系數(shù)的均值。
(4)對得到的水印序列進行逆達瑪變換。
(5)利用公鑰提取公鑰水印序列,利用私鑰提取私鑰水印序列。
(6)對提取的公鑰水印序列和私鑰水印序列按照行列順序恢復(fù)二值圖像水印結(jié)果為P1和P2。
2.3 水印的檢測
歸一化相似性系數(shù)用來衡量從隱秘載體中提取的秘密信息和原信息的相似程度。通過比較提取的信息與原始信息的相似性系數(shù),可以對信息隱藏算法的抗攻擊能力作出評價。所以我們采用歸一化相關(guān)系數(shù)來進行水印的檢測。
(2.5)
其中原水印信息、從載體中提取的水印信息分別為S={s(i,j)| 0 i