摘 要:提出一種安全的數(shù)字音頻水印算法,利用密鑰生成的序列作為水印同步碼,并在時間域嵌入同步碼。水印信息采用分塊結(jié)構(gòu)化編碼方式,水印分塊中采用校驗碼機制,水印內(nèi)容采用量化方式嵌入在小波變換域,水印分塊在音頻段中循環(huán)冗余嵌入方式,以抵抗同步攻擊的能力。提出的算法不僅具有較好的不可感知性,對低通濾波、噪聲、重量化、重采樣、MP3壓縮等信號處理具有較好的魯棒性;同時對抵抗隨機裁剪攻擊、抖動攻擊、時間延展等同步攻擊具有很好的魯棒性。關(guān)鍵詞:音頻水印; 同步攻擊; 安全水印; 水印同步碼
中圖分類號:TN919-34文獻標識碼:A
文章編號:1004-373X(2010)22-0139-03
A Security Digital Audio Watermarking Scheme Based on Synchronization Technique
XU Ri1, XUE Hui-jun2
(1.Department of Computer Science, Inner Mongolia Business Trade Vocational College, Hohhot 010010, China;
2.Department of Computer Science, Inner Mongolia Electronic Information Vocational Technical College, Hohhot 010010, China)
Abstract: A security digital audio watermarking scheme is introduced, which uses a random sequence generated by private key as watermarking synchronization code and embeds the synchronization code in the time domain of audio signal. The block-structured coding is used in watermarking information, the check code mechanism is used in watermarking block, the sub-block watermarking is embedded in the wavelet transform domain. Experimental results show that the proposed scheme is inaudible and robust against common signals processing such as low-pass filtering, re-quantify, resample, MP3 compression and equalization etc, and is robust against desynchronization attacks such as random cropping, time-scale modification, and jittering.
Keywords: audio watermarking; synchronization attack; security watermarking; watermarking synchronization code
0 引 言
數(shù)字音頻水印技術(shù)作為數(shù)字音頻作品版權(quán)保護的有效手段,已經(jīng)得到學(xué)術(shù)和產(chǎn)業(yè)界重視[1-3]。目前,針對音頻水印算法的研究很多。但是抵抗隨機裁剪、抖動攻擊往往很容易讓水印信息無法正確提取。文獻[4]把信號短時平均幅度從低向高改變,并將改變程度最大的點作為特征點,并采用給定幅度參數(shù)閾值t1和t2來控制特征點數(shù),其算法不具有通用性。文獻[5]以變換域上的局部極值點作為特征點進行定位,嵌入和提取過程都是從音頻的起始點分幀,用時間域裁剪攻擊會出現(xiàn)幀移現(xiàn)象。文獻[6]將同步信息添加到音頻幀數(shù)據(jù)的小波域中,在裁剪攻擊或抖動攻擊中,同樣會引起幀移并逐步加大。文獻[7-11]采用音頻特性定位或嵌入同步碼的方式實現(xiàn)水印在同步方面的魯棒性。上述水印算法基本沒有考慮水印信息的安全性能,這些算法在公開的情況下,基本上可以很容易地把水印信息去除。
在此提出一種安全的音頻水印方案,利用密鑰序列生成同步碼,同步碼嵌入在音頻載體的時間域。對水印信息進行結(jié)構(gòu)化分塊,結(jié)構(gòu)化水印信息包括分塊編號、分塊水印信息、校驗信息等。分塊水印嵌入在音頻信號的離散小波變換系數(shù)上,提高了水印算法的安全性,在未知密鑰的情況下很難檢索到水印的同步碼,水印內(nèi)容嵌入到小波變換域上,增強了水印信息的魯棒性。仿真實驗驗證了水印在抵抗同步攻擊、抖動攻擊方面具有很好性能,對常見的音頻信號處理也具有良好的魯棒性。
1 水印算法設(shè)計
1.1 水印信息預(yù)處理
一般而言,作為版權(quán)侵權(quán)追蹤中水印嵌入的實際需要,嵌入的水印信息可以是代表該版權(quán)歸屬的企業(yè)標識或企業(yè)名稱等信息,其水印信息內(nèi)容不大。比較適合作為水印信息的形式,通常可采用二值圖像或灰度圖像。水印信息預(yù)處理的目的在于增加水印抵抗攻擊的能力,在部分的水印分塊提取錯誤時,不至于影響其他水印分塊的提取。預(yù)處理分為以下幾個步驟。
(1) 水印信息分塊。
水印信息通常采用可視的二值或灰度圖像形式,以方便實際應(yīng)用中對版權(quán)歸屬的確認。在此,以二值圖像作為水印討論,把水印信息分成n×n(n取4或8)大小的塊,對水印圖像做預(yù)處理,可以恰當?shù)臄?shù)量分塊。
(2) 分塊水印信息結(jié)構(gòu)化。
經(jīng)過分塊的水印信息進行結(jié)構(gòu)化處理。首先,在分塊信息之前增加分塊編號信息,分塊信息進行二進制序列化,然后根據(jù)密鑰進行置亂處理,最后增加二位校驗位,一位為分塊編號校驗和;另一位作為水印信息校驗和。
1.2 水印同步碼
在水印檢測時實用的水印系統(tǒng)不能依賴原始的載體[1],必須是盲檢測,這就要求嵌入的水印必須能正確地定位,任意選擇一定長度的音頻載體,只要其中嵌入完整的水印信息,即可正確的提取其中的水印信息。同時,要求水印算法可以公開,水印算法的安全性不能依賴于算法的保密來實現(xiàn)。本算法提出的同步碼是由密鑰生成的序列。利用m序列生產(chǎn)器,生成長度為k的序列碼,作為同步碼。
1.3 同步碼嵌入
為提高水印信息檢索效率,同步碼嵌入在水印載體的時間域。水印嵌入位置對于水印的魯棒性影響很大,水印嵌入位置的選取極為重要,同步碼的嵌入步驟如下:
(1) 嵌入位置檢索。假設(shè)需要嵌入水印的音頻載體為A={a(n),1≤n≤N},確定一個寬度為Lw的滑動窗口,Lw的取值與同步碼的長度k相同,即Lw=k。把滑動窗口在音頻載體的時間軸上移動檢索,計算窗口內(nèi)音頻采樣點的能量值Ej=∑i=j+Lw-1i=ja(i)×a(i),選取窗口中能量Ej大于某一個閾值TE的音頻段作為同步碼嵌入的音頻段。
(2) 同步碼嵌入。對(1)中選取的音頻段,每一個音頻采用點嵌入一個比特的同步碼,嵌入方法為直接修改音頻采用點最低2~4位上,采用直接的位替換方案,直接把同步碼位逐個按序替換方法,替換位置在最低第2,3,4位上選擇,選擇方法為采用密鑰生成0~1之間的隨機數(shù)序列,根據(jù)隨機數(shù)序列所在的位置確定同步碼被替換的位置。由于滑動窗口的長度與同步碼的長度一致,所以這就很容易實現(xiàn)同步碼的嵌入。
(3) 在檢索到一個同步碼的嵌入音頻段之后,其長度為La的音頻段,即為用于嵌入水印的音頻載體。假設(shè)分塊水印長度為M,則La取值為4M。
(4) 下一個同步碼的檢索,在長度為La的音頻之后,繼續(xù)重復(fù)(1)步驟檢索同步碼嵌入位置。
1.4 水印嵌入
在上述音頻信號中,根據(jù)檢索到的同步碼可以確定水印分塊的嵌入音頻信號段,并且音頻信號段的長度為La,假設(shè)嵌入音頻分塊的音頻信號為Aj={a(i),j+1≤i≤j+La}。水印嵌入的步驟如下:
(1) 對音頻信號Aj進行N層小波變換,這里N一般取2或3。音頻信號在進行小波變換后分為低頻系數(shù)和高頻系數(shù)。音頻信號的能量主要集中在低頻系數(shù),因此選擇小波的低頻系數(shù)用于水印分塊的嵌入;
(2) 采用量化的水印嵌入方案進行修改低頻系數(shù)。修改后的低頻系數(shù)及保留的高頻系數(shù)部分,經(jīng)過小波逆變換,生成Aj的幾位嵌入水印分塊音頻段。
1.5 水印提取
水印的提取過程與水印嵌入過程類似,具體步驟如下:
(1) 生成同步碼,使用嵌入時候相同的密鑰生成同步碼序列。
(2) 對于待檢測的音頻信號,根據(jù)嵌入時候確定的滑動窗口,在時間域檢索同步碼,計算滑動窗口內(nèi)音頻信號的能量,對于大于閾值αTE(這里α取值為0~1之間,小于1;如果α為1,可能造成同步音頻信號無法檢索到)的滑動窗口,按照嵌入時候相同的方案提取出同步碼,若為同步碼,則定位到嵌入水印的音頻為其后的Lw長音頻段,否則繼續(xù)檢索。
(3) 對于檢索到的同步碼,即可確定其后的Lw長的音頻段中嵌入的分塊水印內(nèi)容。取其后的Lw音頻段,進行N層小波變換,按照與嵌入相同的方式,在低頻系數(shù)提取水印分塊。
(4) 如果提取的分塊水印滿足水印分塊的結(jié)構(gòu),即水印分塊號在正確值范圍,同時分塊的校驗碼都是正確的,則可認為提取的水印分塊是正確的。否則,認為水印分塊提取的信息是錯誤的,拋棄提取的水印分塊,繼續(xù)步驟(2)。水印的分塊嵌入過程是把同步碼及水印分塊信息多次循環(huán)地嵌入在音頻信號中。因此在音頻信號足夠長的情況下,很容易地提取到各個水印分塊。
(5) 把提取的完整的各個水印分塊,按照分塊編號,重新組合成完整的水印。
2 實驗結(jié)果
為驗證所提出水印算法的性能,本文在Window XP和Matlab 7.1環(huán)境下進行仿真。實驗中,選用原始信號為44.1 kHz,分辨率為16 b,長度為31 s的單聲道數(shù)字音頻信號。水印信息選取32×32的二值圖像,如圖1所示。算法中采用3層DB -2小波基。同步碼長度k的取值為16,滑動窗口大小即為Lw=k=16。其中,能量閾值TE取值為1.5,這個閾值的選擇根據(jù)情況做調(diào)整,用它將影響同步碼的定位,也影響水印的魯棒性能。 表1給出了本文算法和文獻[6]算法的抵抗攻擊能力對照結(jié)果。
圖1 二值水印圖像
表1 數(shù)字水印對部分常規(guī)攻擊的抵抗能力
未攻擊
隨機剪切
1 024樣點2 048樣點重量化
重采樣
22.05 kHz11.025 kHz高斯噪聲
MP3
256 kHz
文獻[6]算法
NC1.0000.8650.8410.9860.8920.8390.9210.735
BER00.1220.1650.0020.2020.2380.0920.324
PSNR42.75122.42119.75239.34221.16219.09830.65819.652
本文算法
NC1.0001.0000.9951.0001.0000.9820.9020.759
BER000.024000.0050.1090.339
PSNR42.75038.17435.72139.98237.16536.42025.42618.765
通過上述的實驗數(shù)據(jù)可以看到,算法對于隨機裁剪攻擊具有很好的性能,對常見信號處理具有較好的魯棒性,對MP3壓縮處理和高斯噪聲處理,略低于文獻[5]的性能,其他的如重采樣、重量化等攻擊都表現(xiàn)很好的性能,特別是對隨機裁剪攻擊,具有很好的魯棒性。
3 結(jié) 語
在此提出了一種安全的音頻水印算法,它采用的水印同步碼及水印同步碼的嵌入位置均通過了密鑰控制,增加了水印的安全性。同步碼嵌入在時間域上可以大大減低同步碼的檢索效率。把水印嵌入在小波變換域上,采用了水印分塊的方法,并對每個分塊應(yīng)用校驗碼技術(shù),提高了水印的魯棒性。仿真實驗驗證了水印是安全和有效的。本文算法的缺點在于滑動窗口計算能量之后,需要一個預(yù)先設(shè)定的能量閾值。然而這個閾值的確定,可能因為音頻類別的不同而不同,因此實際上可以尋找更好的方案,以實現(xiàn)可以自適應(yīng)的調(diào)節(jié)。在同步的基礎(chǔ)上進一步提高水印在抵抗MP3壓縮攻擊、噪聲攻擊的性能,將是下一步的研究課題。
參考文獻
[1]李偉,袁一群,李曉強,等.數(shù)字音頻水印技術(shù)綜述[J]. 通信學(xué)報,2005,26(2):100-111.
[2]趙翔,郝林.數(shù)字水印綜述[J].計算機工程與設(shè)計,2006,27(11):1946-1950.
[3]吳迪,朱冰蓮.數(shù)字音頻水印技術(shù)研究綜述[J].電聲技術(shù),2009,33(2):55-58,62.
[4]陳琦,張連海,曹業(yè)敏.一種基于特征點的自同步音頻水印算法[J].計算機應(yīng)用,2004,24(6):192-201.
[5]陳荔聰,姚志強.基于局部極大值點音頻盲水印算法[J].計算機工程與應(yīng)用,2005,41(19):41-43.
[6]吳紹權(quán),黃繼武,黃達人.基于小波變換的自同步音頻水印算法[J].計算機學(xué)報,2004,27(3):365-370.
[7]施化吉,唐慧,鄭洪源,等.一種自適應(yīng)的同步音頻水印算法[J].華南理工大學(xué)學(xué)報,2008,36(9):59-63.
[8]高海英,鈕心忻,楊義先.基于量化的小波域自同步數(shù)字音頻水印算法[J].北京郵電大學(xué)學(xué)報,2005,28(16):102-105.
[9]鮑德旺,楊紅穎,張祁,等.基于音頻特征的抗去同步攻擊數(shù)字水印算法[J].中國圖象圖形學(xué)報,2009,14(12):2619-2622.
[10]金文標,戴紅亮.基于對象傳播神經(jīng)網(wǎng)絡(luò)的抗TSM攻擊音頻水印算法[J].計算機應(yīng)用研究,2009,26(12):4758-4760,4796.
[11]王建輝,李麗娟.一種基于倒譜變換的自同步音頻水印算法[J].計算機工程與科學(xué),2009,31(12):41-43,137.
[12]趙波,卞金來,高飛.基于可視密碼術(shù)的小波域音頻數(shù)字水印研究[J].現(xiàn)代電子技術(shù),2008,31(11):84-85,92.
[13]繆衛(wèi)平,陳日升.一種基于分抽樣的音頻盲數(shù)字水印算法[J].現(xiàn)代電子技術(shù),2006,29(7):33-34,37.