齊燕博,杜慶治,龍 華,邵玉斌
(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650500)
數(shù)字水印就是在數(shù)字媒體信息中添加某些數(shù)字信息,以保護(hù)數(shù)字媒體版權(quán),證明產(chǎn)品的真實(shí)可靠性,跟蹤盜版或者提高產(chǎn)品的附加信息。通常來說,對于一個(gè)實(shí)用的音頻水印方法,最主要的指標(biāo)就是重建聲音信號(hào)的質(zhì)量和水印數(shù)據(jù)的誤碼率。按照水印作用域的不同,水印嵌入算法分為時(shí)間域算法和變換域算法。后來的研究主要集中在變換域中,主要的方法有傅里葉變換(Discrete Fourier Transform,DFT)、快速傅里葉變換(Fast Fourier Transform,F(xiàn)FT)、離 散 小 波 變 換(Discrete Wavelet Transformation,DWT)、離散余弦變換(Discrete Cosine Transform,DCT)、奇異值分解[1](Singular Value Decomposition,SVD)以及正交三角分解(QR)等。
文獻(xiàn)[1]將DWT-SVD與人耳聽覺特性結(jié)合起來,選擇能量大的幀作為水印嵌入幀,并通過局部最大值追蹤算法確定最佳的嵌入位置,提高了水印的魯棒性。文獻(xiàn)[2]通過DWT-SVD變換后,將水印嵌入在奇異值矩陣的非對角元素中,同時(shí)利用漢明碼提高魯棒性,經(jīng)過實(shí)驗(yàn)該算法的不可感知性較差。文獻(xiàn)[3]通過DWT-DCT變換,分段計(jì)算奇異值,通過修改奇異值嵌入水印信息,將水印信息集中嵌入在音頻的起始位置,經(jīng)過實(shí)驗(yàn)該算法的不可感知性較差。文獻(xiàn)[4]通過LWT-DCT-QR,利用了提升小波運(yùn)算速度快、離散余弦變換抗干擾能力強(qiáng)以及QR分解數(shù)值穩(wěn)定的特點(diǎn),對信號(hào)進(jìn)行嵌入提取,提升了水印系統(tǒng)的魯棒性。但本算法的不可感知性較差。為此,本文提出了一種新的基于奇異值比(Singular Value Ratio,SVR)的混合域魯棒音頻水印算法。通過本文的方法,對嵌入水印的音頻做常見的仿真攻擊,并對水印進(jìn)行提取,仿真結(jié)果證明本文的方法提高了水印的抗噪能力,具有有效性。
音頻特征主要有短時(shí)能量和短時(shí)過零率兩個(gè)指標(biāo)。假設(shè)第n幀語音信號(hào)的短時(shí)能量用En表示,則其計(jì)算公式為:
式中:xn(m)為第n幀第m個(gè)音頻數(shù)據(jù)。
短時(shí)過零率表示一幀語音中語音波形穿過橫軸(零電平)的次數(shù)。定義語音信號(hào)xn(m)的短時(shí)過零率Zn為:
式中:sgn[·]是符號(hào)函數(shù),即:
由于人類聽覺系統(tǒng)具有屏蔽效應(yīng),較弱的聲音會(huì)被較強(qiáng)的聲音隱藏起來。短時(shí)能量反映了聲音的強(qiáng)度,能量越大,屏蔽效應(yīng)越好。短時(shí)過零率反映了信號(hào)的穩(wěn)定程度,過零率越小,信號(hào)的穩(wěn)定性 越強(qiáng)。
離散小波變換(DWT)實(shí)現(xiàn)了對信號(hào)不同區(qū)域、不同分辨率的分析。信號(hào)經(jīng)過DWT變換后,分為高頻子帶和低頻子帶,低頻子帶進(jìn)一步分成高頻和低頻部分。小波分解和小波重構(gòu)的過程如圖1所示。
圖1 三級(jí)離散小波分解過程
奇異值分解有以下特性:穩(wěn)定性好,遭受各種攻擊后,奇異值變化不大;矩陣的第一個(gè)奇異值大于其他的奇異值,對音頻的影響很大。
水印預(yù)處理的步驟如下。
(1)將原始水印W(M×M)進(jìn)行Arnold變換,得到置亂水印。
(2)將置亂后的水印降維,得到一維水印信號(hào),長度為M×M,然后利用logistic序列進(jìn)行加密處理。
整個(gè)水印預(yù)處理過程如圖2所示。
圖2 水印預(yù)處理過程
水印嵌入過程如圖3所示。具體步驟如下。
圖3 水印嵌入過程
(1)對二值圖像W(16×16)進(jìn)行預(yù)處理后,得到待嵌入水印W2。
(2)對原始音頻進(jìn)行分幀(每幀為1 024個(gè)數(shù)據(jù))。音頻信號(hào)分幀后,計(jì)算各幀的短時(shí)能量En和短時(shí)過零率Zn。并計(jì)算平均值E′和Z′。選擇En≤E′且Zn≤Z′的音頻幀作為水印嵌入幀。
(3)對待嵌入水印的音頻幀先進(jìn)行3級(jí)DWT。將得到的三級(jí)低頻系數(shù)ca3再進(jìn)行DCT。得到A1。
(4)將A1分成四部分,根據(jù)公式:
式中:N為每幀音頻的長度,表示向下取整。
(5)提取中頻系數(shù),每部分的長度為nn,根據(jù)公式:
(6)分別對R1,R2進(jìn)行奇異值分解,得到S1V1D1和S2V2D2。
(7)計(jì)算奇異矩陣V1(1),V2(1)的比值:
(8)按照如下規(guī)則嵌入。如果待嵌入水印W2(k)=0,其中1≤k≤length(W2),則:
如果待嵌入水印W2(k)=1,則:
式中:a為嵌入強(qiáng)度,λ1,λ2為R1,R2的奇異值,λ1′,λ2′為修改后的奇異值。
(9)將得到的新的V1和V2與之前的S1,D1和S2,D2進(jìn)行奇異值分解逆運(yùn)算。
(10)將R1和R2進(jìn)行重組,并進(jìn)行DCT與DWT的逆運(yùn)算。
(11)重復(fù)以上步驟,直到所有的水印信息全部嵌入完成。
水印提取的流程如圖4所示,具體實(shí)施步驟 如下。
圖4 水印提取過程
(1)對原始音頻進(jìn)行分幀(每幀為1 024個(gè)數(shù)據(jù))。
(2)對待嵌入水印的音頻幀先進(jìn)行3級(jí)DWT。將得到的三級(jí)低頻系數(shù)ca3再進(jìn)行DCT。得到A1。
(3)將A1分成四部分,根據(jù)公式:
式中:N為每幀音頻的長度,表示向下取整。
(4)提取中頻系數(shù)R1,R2,分別對R1,R2進(jìn)行奇異值分解,得到S1V1D1和S2V2D2。
(5)計(jì)算奇異矩陣V1(1),V2(1)的比值:
(6)根據(jù)以下規(guī)則進(jìn)行提?。?/p>
(7)將得到的W(k)進(jìn)行重組,得到二維矩陣。然后進(jìn)行圖片預(yù)處理的逆運(yùn)算,最終得到水印圖像。
為了驗(yàn)證本算法的有效性[5-14],本文使用Matlab2020作為實(shí)驗(yàn)仿真平臺(tái),使用3種不同種類的音樂類型作為原始音頻,每種音樂種類包含100首音樂,且每首音樂為單聲道,音樂格式為wav格式,分辨率為16,采樣頻率為44.100 kHz,長度約為30 s,水印為16×16的二值圖像,提升小波方案采用haar小波基函數(shù)。
實(shí)驗(yàn)選取的水印信息為二值圖像,內(nèi)容為K,U,S,T四個(gè)英文字母。如果用ASCII碼來表示這4個(gè)字母,每個(gè)字母需要一個(gè)字節(jié),需要8 bit,4個(gè)字母需要32 bit。如果用二進(jìn)制圖像表示,需要256 bit,增加了水印的冗余性,從而提升了魯棒性。同時(shí),經(jīng)過置亂將圖像的能量分散到整個(gè)圖片中,降低了像素之間的相關(guān)性,再通過加密,提高了水印的安全性。將原始水印通過本文的加密處理,結(jié)果如圖5所示:
圖5 水印加密
水印的不可感知性是指經(jīng)過一系列隱藏處理,使目標(biāo)數(shù)據(jù)沒有產(chǎn)生明顯的降質(zhì),而隱藏的數(shù)據(jù)無法人為地感知到。對于水印的不可感知性,評(píng)價(jià)標(biāo)準(zhǔn)一般有主觀評(píng)價(jià)和客觀評(píng)價(jià)兩種。
3.2.1 主觀評(píng)價(jià)
使用本文算法對隨機(jī)選取的音頻加入水印,與原始音頻波形在時(shí)域上進(jìn)行對比,發(fā)現(xiàn)無明顯差異。結(jié)果如圖7所示,其中橫坐標(biāo)表示點(diǎn)數(shù)。縱坐標(biāo)表示信號(hào)幅值。
圖6 隨機(jī)選取的原始音頻與含水印音頻比較
3.2.2 客觀評(píng)價(jià)
信噪比(Signal-Noise Ratio,SNR)是音頻水印常用的一種客觀評(píng)價(jià)標(biāo)準(zhǔn)。國際留聲機(jī)工業(yè)聯(lián)盟要求嵌入水印后的音頻可以提供20 dB或更高的信噪比。信噪比的定義為:
式中:x(i)表示原始音頻幀,xw(i)表示嵌入水印之后的音頻幀。
在本文的算法下對3種不同種類的音樂嵌入水印,計(jì)算3種不同音樂類型的SNR值。Disco、Pop、Rock的信噪比分別為26.265 8,26.397 0,27.107 1。滿足國際留聲機(jī)聯(lián)盟的要求。
魯棒性是指含水印音頻在經(jīng)過常規(guī)信號(hào)處理之后仍然可以檢測出水印的能力。魯棒性用來衡量水印算法的抗攻擊能力,在實(shí)際應(yīng)用中經(jīng)常采用誤碼率(Bit Error Rate,BER)和相關(guān)系數(shù)(Normalized mutual correlation Coefficient,NC)來衡量水印的抗攻擊能力。
誤碼率反映的是提取出來的水印與原水印的差別性,設(shè)嵌入的提取的水印序列長度為N,則BER按照如下公式計(jì)算:
式中:W(i)為原始水印信息,W′(i)為提取出來的水印信息。BER值越接近1,則水印系統(tǒng)的魯棒性越差,BER值越接近0,則水印系統(tǒng)的魯棒性越好。
相關(guān)系數(shù)反映的是提取出來的水印與原始水印之間的相關(guān)性,設(shè)嵌入和提取出的水印圖像大小為M1×M2,其定義如下:
NC(w,w′)越接近1,則W(i)與W′(i)的相關(guān)程度越高;NC(w,w′)越接近0,則W(i)與W′(i)的相關(guān)程度越低。
對嵌入水印的音頻信號(hào)進(jìn)行常見的音頻處理,以下是常見的仿真音頻處理操作。
(1)無攻擊,對音頻不做任何處理。
(2)噪聲疊加,在已嵌入水印的音頻上分別疊加20 dB的高斯白噪聲。
(3)低通濾波,使用低通濾波器對含水印音頻信號(hào)進(jìn)行低通濾波。
(4)重采樣,把已嵌入水印的音頻的原始采樣頻率降為一半,再恢復(fù)到原始采樣頻率。
(5)重量化,把已嵌入水印的音頻的原始分辨率降為一半,再恢復(fù)到原始分辨率。
(6)MP3壓縮,將含水印音頻信號(hào)壓縮為原始音頻水印的0.7倍。
為了直觀感受本算法的魯棒性,選取一首名稱為rock.00001.wav的音頻文件,嵌入水印后,分別進(jìn)行添加噪聲、低通濾波、重采樣、MP3壓縮攻擊,提取的水印如圖7所示。
圖7 本文算法的魯棒性對比
對于三種類型音樂,每種類型各選取100首進(jìn)行對比實(shí)驗(yàn),計(jì)算所得的平均值如表1所示。
表1 不同算法下水印的魯棒性對比分析
選取相同的音頻,在同樣的攻擊下,選取一篇較為經(jīng)典的文獻(xiàn)和近期發(fā)表的一篇文獻(xiàn)進(jìn)行比較。從表1的比較可以看出,本算法相較于文獻(xiàn)[2]算法和文獻(xiàn)[6]算法在應(yīng)對添加高斯噪聲、濾波、重量化、重采樣、剪切、壓縮等常見的攻擊方式時(shí)表現(xiàn)出了良好的魯棒性。
本文提出了一種新的水印嵌入算法,將原始音頻信號(hào)進(jìn)行分幀預(yù)處理后,利用音頻特征動(dòng)態(tài)選取水印嵌入位置,將水印嵌入幀先進(jìn)行DWT再進(jìn)行DCT,將得到的信號(hào)分段,分別對這兩段音頻信號(hào)進(jìn)行奇異值分解,通過對奇異值的對比,將水印信息嵌入。此外,在Arnold變換的基礎(chǔ)上,重新設(shè)計(jì)了水印預(yù)處理的算法,增強(qiáng)水印的安全性與可靠性,同時(shí)利用漢明碼的糾錯(cuò)能力提高水印的魯棒性。通過本文算法對嵌入水印的音頻進(jìn)行噪聲疊加、低通濾波、壓縮等常見的仿真攻擊,并對水印進(jìn)行提取,仿真結(jié)果證明本文的方法具有良好的魯棒性和適用性。