宋 慧 李 晨 田麗華
(西安交通大學軟件學院 陜西 西安 710049)
?
基于音頻特征MFCC的零水印算法
宋慧李晨田麗華*
(西安交通大學軟件學院陜西 西安 710049)
利用小波域的低頻部分的奇異值具有比較穩(wěn)定的性能,設(shè)計一種以音頻特征為基礎(chǔ)的零水印方案。該方案利用原始音頻特征——Mel頻率倒譜系數(shù)(MFCC),一方面來構(gòu)造水印,另一方面還被用于音頻內(nèi)容認證。先將原始音頻做分段操作,取各分段進行DWT變換;選取小波域的低頻部分,并做SVD操作;最后利用奇異值平均值實現(xiàn)水印的“嵌入”,獲得一個位置索引向量并據(jù)此提取水印信息。仿真實驗顯示,該方案在完全不影響音頻聽覺質(zhì)量的前提下,在抵抗常見音頻攻擊時有很強的魯棒性,并能進行惡意篡改定位。
MFCC零水印奇異值分解篡改定位
近年來,由于計算機技術(shù)和因特網(wǎng)技術(shù)的飛速發(fā)展,促使圖像、視頻和音頻等各種各樣形式的多媒體的產(chǎn)生、保存及傳輸都變得越來越容易。但由此帶來的安全問題,如非法復制和盜版問題日益突出。在這種背景下,能夠很好解決版權(quán)問題的數(shù)字水印被提出,已經(jīng)變成當前的研究熱點之一[1]。
目前提出的算法,多數(shù)是通過修改原始音頻的時域或變換域的信息來嵌入水印,雖可實現(xiàn)版權(quán)保護,但都是以犧牲音頻的質(zhì)量為代價的。為了不影響音頻音質(zhì),即實現(xiàn)水印的透明性,在這種應(yīng)用背景下,零水印技術(shù)首次被提出。零水印算法[2,3]是無需改變原來音頻的任意數(shù)值的算法,因此能夠很好地處理數(shù)字水印的透明性及穩(wěn)健性之間的關(guān)系。
國內(nèi)已有一些學者針對零水印展開了相關(guān)研究。文獻[4]所提出的算法是將音頻的小波域特征提取出并對其通過Hash變換轉(zhuǎn)為一組二值序列,將其“嵌入”到原來的音頻中。雖然能夠?qū)崿F(xiàn)數(shù)字音頻的驗證,但嵌入的數(shù)字簽名是無意義的,這樣就不能直觀給出能夠代表版權(quán)的信息。文獻[2]提出了一種基于DWT和SVD的零水印算法,該算法的思路是先將音頻分幀,計算每幀的短時能量和過零率;然后通過預先設(shè)定的閾值篩選出特征顯著的音頻幀,并對選定的每幀進行DWT變換,取DWT變換的低頻部分再進行SVD;最后通過分解后得到的最大奇異值來生成水印信息。該算法雖然對常見音頻攻擊具有一定的魯棒性,但是由于需要事先確定出短時能量和過零率的閾值,這兩個閾值的選取對算法效果影響顯著,算法穩(wěn)定性欠佳。文獻[5,6]提出了基于音頻特征MFCC的水印方法,雖都可對音頻版權(quán)和內(nèi)容進行認證,但嵌入水印過程需將原始音頻內(nèi)容進行適當修改,這樣必然損害音頻的音質(zhì),對水印的不可感知性帶來挑戰(zhàn)。對于前面提出的難題,參考文獻[4-6]中提出的方法,將小波變換、音頻信號特征及奇異值分解(SVD)[7-10]的特點相結(jié)合,根據(jù)小波域低頻系數(shù)奇異值的優(yōu)良特性,本文設(shè)計了音頻自身特性為基礎(chǔ)的零水印算法。該算法提取音頻特征MFCC參數(shù),一方面和代表版權(quán)信息的二值圖像做異或運算,作為最終的水印“嵌入”原始音頻中,得到一個位置索引向量并據(jù)此提取水?。涣硪环矫?,MFCC還被用在音頻內(nèi)容的認證。該算法不用更改原來音頻的任何數(shù)據(jù),使其有很強的透明性。仿真實驗顯示,該方案在完全不影響音頻聽覺質(zhì)量的前提下,在抵抗常見音頻攻擊時有很強的魯棒性,并能進行惡意篡改定位。
1.1奇異值分解
奇異值分解(SVD)經(jīng)常被用在線性代數(shù)里,是特別有效的運算工具,可以將矩陣進行對角化操作[11]。B是一個矩陣,那么對其進行SVD操作,計算公式如下:
(1)
將S中對角線的值叫做奇異值,具有以下特點:(1) 穩(wěn)定性很好,對各種常見的信號處理,對角矩陣不會明顯改變;(2)S體現(xiàn)出來的特點為矩陣序列具有的專有固性;(3)S中的第一個數(shù)是S中最大的數(shù),而且它對矩陣的作用最大?;赟VD的以上突出特點,對SVD的研究成為現(xiàn)在的國內(nèi)外研究熱點。SVD首先在圖像水印中被使用,最近幾年用在音頻水印上的研究也比較多。
1.2MFCC特征參數(shù)提取
MFCC是基于人耳的聽覺機理,并將其與言語的生成機制結(jié)合起來,利用一種非線性的頻率單位(Mel頻率)來模擬人耳的聽覺系統(tǒng),能很好反映出人耳的感知特性,當前普遍用于音頻剖析、辨別及音頻數(shù)字信號的建模。MFCC的提取步驟[12]如圖1所示。
圖1 MFCC特征提取流程圖
1) 取音頻X(n),先做預加重操作,再做分幀處理。其次對每幀進行加窗操作,便可以獲得預處理操作的音頻。
2) 對處理后的每一幀音頻做快速傅里葉操作,則時域數(shù)據(jù)轉(zhuǎn)為頻域數(shù)據(jù),進而計算得到功率譜。
3) 設(shè)計若干帶通濾波器(一般值取24,用M表示),將得到各幀的功率譜經(jīng)過濾波器,得到每一個所對應(yīng)的對數(shù)能量譜S(m)。
(2)
S(m)=ln(e(m))0 (3) 式中,X(k)是原始音頻做快速傅里葉操作后的頻域數(shù)據(jù),Hm(k)為三角濾波器。 4) 將S(m)進行離散余弦操作,最終便可以獲得MFCC參數(shù)C(n): (4) 每一個音頻幀將對應(yīng)幾個MFCC參數(shù),比較重要的音頻信息處于MFCC的C1至C12的參數(shù)內(nèi)[13]。通常,前面階數(shù)的MFCC包含更多有用的內(nèi)容,一般選擇前面幾階。在綜合計算量及水印嵌入量的情況下,本文選擇第一階MFCC。 2.1MFCC特征選取 為了能夠在水印體系里比較充分地使用音頻的自身特性,本文由提取得到的MFCC來生成二值特征序列。該算法中,MFCC參數(shù),一方面與具有實際版權(quán)意義的二值圖像進行異或運算,作為水印“嵌入”到原始音頻中;另一方面還被用于音頻內(nèi)容的認證。為了更好地證明第一階MFCC針對原始音頻攻擊非常敏感,對其進行以下攻擊操作,如圖2所示??梢缘贸?,對音頻的多項處理,MFCC的一階參數(shù)都非常敏感。 圖2 音頻處理后一階MFCC的變化 2.2水印信號生成 二值特征序列可以看作驗證音頻文件的“條形碼”。為了能夠讓此“條形碼”比較直觀地進行表現(xiàn),對二值特征序列和Arnold置亂處理的有意義二值圖像序列做異或操作,便能獲得一個既含有音頻自身特征又具有版權(quán)意義的水印序列。具體步驟如下: 1) 選取一個具有實際意義的圖像系列,采用Arnold變換[9]對其實行置亂處理,這樣可以有效提高該算法的安全性。因為音頻實際上是一個一維序列,水印是二維系列,所以加密操作后的水印序列必須進行降維操作,變成一個一維序列,用V表示: V={V(i),1≤i≤M×N} (5) 2) 為獲取音頻分段的MFCC,首先將音頻X做分段處理,并根據(jù)前面所述MFCC提取的步驟,得到每個分段的第一階MFCC;然后將其放于f(i)中,1≤i≤n,i為幀號,n為總段數(shù),M×N≤n,并將f(i)作為密鑰k1。 (6) 4) 將二值特征序列w(i)與預處理操作后的二值圖像序列V做異或操作,便獲取含有音頻特征的序列Wz,并將其作為待嵌入的水印信息。 由于DWT具有多尺度和多分辨率等優(yōu)點,以及SVD所得的奇異值在信號處理中具有極強穩(wěn)定性的特性,本文以此為基礎(chǔ),利用DWT低頻系數(shù)奇異值所具有的穩(wěn)定特性,設(shè)計了一種以音頻自身特性為基礎(chǔ)的零水印算法。本文算法思路是:先根據(jù)音頻自身特征來構(gòu)造水印,再將原音頻做分幀處理,并對每幀實行DWT變換操作;取DWT變換的低頻部分,進行SVD處理;最后使用奇異值平均值實現(xiàn)“嵌入”過程,獲得一個位置索引向量并據(jù)此實現(xiàn)水印提取。本文算法流程如圖3和圖4所示。 圖3 音頻水印嵌入流程圖 圖4 音頻水印提取流程圖 3.1水印的嵌入過程 1) 原始音頻分段。按照上節(jié)敘述的水印生成的詳細步驟,生成二值序列wz(i),其中1≤i≤n(n是水印大小)。然后把音頻X等分為n段,k為音頻幀。 X={X(k),1≤k≤n} (7) 2) 離散小波變換。對于每一個原始音頻幀做H級小波變換操作,便可以取得低頻部分CAH及高頻部分。 3) 奇異值分解。因為對音頻進行DWT操作后,音頻的主要能量集中存儲于CAH中。所以,提取每個音頻分段的CAH,并將其轉(zhuǎn)換成矩陣Dj,1≤j≤n,再對矩陣Dj實行SVD操作。提取各矩陣的奇異值平均值組成數(shù)組S(i),然后對S(i)進行升序排列,組成升序奇異值平均值數(shù)組M(i),1 4) 獲取臨界值。得出水印里0和1的數(shù)值并用C0、C1表示,然后得出他們的比值r=C0/C1,則t=?r/(r+1)×n」,n為M(i)里元素的數(shù)目。臨界值T為M(i)中的第t個元素。將T看成密鑰k2存儲。 5) 分類。根據(jù)閾值T對升序排列的奇異平均值數(shù)組M(i)按照式(8)做分類操作,將M(i)分成A類和B類,然后依次記下A和B類中的數(shù)值處于原音頻X(i)中的段號i。 A:M(i)>TB:M(i)≤T (8) 6) “嵌入”水印。根據(jù)水印比特值為1或0,將其分別映射到A、B類里,并在A、B類里選擇相對應(yīng)數(shù)值;然后記載此數(shù)值處在原來音頻X中的段號數(shù)值;最后產(chǎn)生一個位置索引,并用N表示。將索引向量作為密鑰進行存儲,用k3表示,水印嵌入操作完成。在提取水印的時候,嵌入的索引向量N及臨界值T要被發(fā)送到接收器中。 3.2水印的提取過程 1) 提取水印時,首先對音頻進行同嵌入水印時一樣的操作,獲取各矩陣所對應(yīng)的奇異值均值,然后組成數(shù)組S。 2) 根據(jù)接收到的嵌入索引向量N(k3)提取數(shù)組S中相應(yīng)位置對應(yīng)的奇異值均值S(i),并讓S(i)與接收到的臨界值T(k2)進行比較,按照下式進行水印比特的提?。?/p> (9) 3) 取出WZ′及特征序列w(i)并實行異或操作,獲取一維數(shù)組V′(i)。再取其依次進行升維操作及Arnold變換,便可以獲得提取的水印圖像。 為測試本文所提出的水印方案的性能,使用Matlab軟件進行了仿真測試。在測試過程中采用采樣頻率是44 100Hz、量化精度為16bit、段長為7s的音頻信號進行測試,并選取比較常用的db1小波基對每個音頻分段實行3級DWT操作。實驗中選用的原來信號的波形如圖5所示,有意義的二值圖像如圖6所示,其大小為48×48。 圖5 原始音頻信號波形圖 圖6 二值水印圖像 4.1魯棒性測試 為體現(xiàn)版權(quán)保護的客觀公正,取比特誤碼率(BER)及歸一化相關(guān)系數(shù)(NC)作為本文所提出的算法魯棒性的評價指標,其計算公式如下: (10) (11) 式中,w代表原水印的信息,w′代表所提取水印的信息,E代表所提取水印錯誤的比特數(shù),M1×M2代表水印大小。 為測試本文所提出方案的魯棒性,做了如下幾種攻擊操作:(1) 添加信噪比為25dB的高斯噪聲;(2) 添加信噪比為20dB的高斯噪聲;(3) 經(jīng)過截止頻率是10 000Hz的Butterworth數(shù)字濾波;(4) 上重采樣,速度為88.2kHz;(5) 下重采樣,速度為22.05kHz;(6) 下重量化,量化長度為8bit;(7) 上重量化,量化長度為32bit;(8)MP3壓縮,速率為128kb/s。經(jīng)由上述攻擊操作提取的各個水印如圖7所示,其中(i)是無攻擊操作時提取的結(jié)果。 圖7 提取的各水印圖像 從圖7可以較明顯發(fā)現(xiàn),“嵌入”水印音頻遭到如上攻擊操作時,提取出的水印清晰可辨。尤其對于重采樣、加噪、重量化操作得到的水印圖像與原來水印圖像相比較,肉眼看不出差異之處,從而表明文中提出的水印方法針對上面的攻擊操作擁有比較不錯的魯棒性。 表1 攻擊后的所提取水印的BER和NC 表1中給出了經(jīng)過上述攻擊后的NC和BER值,并將本文水印算法與文獻[2]和文獻[4]的算法進行了比較測試。通過比較發(fā)現(xiàn),本文水印算法在受到前文所列的攻擊時,NC均大于文獻[2]和文獻[4]算法,BER均低于文獻[2]和文獻[4]算法。主要是由于文獻[2]中,生成水印的閾值是預先設(shè)定的,具有一定的隨機性,對算法性能有較大影響。實驗發(fā)現(xiàn),有部分音頻段經(jīng)過攻擊操作后,其短時能量和過零率會發(fā)生變化,采用事先選定的閾值進行特征音頻段的篩選會增加水印信息的誤碼率。文獻[4]是以DWT為基礎(chǔ)的算法,本文算法是結(jié)合了DWT及SVD的算法。由于同時利用了DWT多尺度、多分辨率等優(yōu)點及SVD所得奇異值均值穩(wěn)定性強的優(yōu)點,使得本文算法提取水印的相似度有所提高,誤碼率相對較小。實驗結(jié)果也印證了本文算法較之前算法具有更強的魯棒性。 4.2篡改定位測試 如果音頻的內(nèi)容沒有發(fā)生惡意的篡改,那么原來的音頻同接收到的音頻的MFCC值變化不大[6]。因此通過比較提取的MFCC及接收端獲取到的密鑰k1,來確認音頻有沒有發(fā)生篡改,還可以定位發(fā)生攻擊的區(qū)域。 采用數(shù)組w1(i)來存儲原始音頻的MFCC,w2(i)來存儲接收的信號的MFCC,m(i)為原音頻X的MFCC同收到的音頻的MFCC做差值并取絕對值操作的結(jié)果。 (12) 式中:i代表語音第i幀。m(i)的值趨近于0,說明兩幀的變化不大,相反則認為該幀已經(jīng)發(fā)生改變。通過m(i)可以確定不同幀所處位置。 為測試本文算法針對惡意篡改的檢測和定位方面的功能,本文中主要進行了下列實驗操作。篡改類型 1 將音頻的任意采樣值進行靜音操作,篡改類型 2將測試音頻中的部分采樣值用其他部分的采樣值進行替換操作。圖8(a)為將音頻10 000~30 000之間的采樣點靜音的波形,圖8(b)是把測試音頻信號70 001~100 000的采樣點用測試音頻的100 001~130 000的采樣點替換的波形。經(jīng)過篡改操作的m值和相應(yīng)的位置定位如圖9所示,測試表明,本文算法能夠?qū)崿F(xiàn)對篡改攻擊的音頻段的定位。 圖8 篡改攻擊后的音頻信號 圖9 經(jīng)過篡改操作的m值和位置定位 本文所提出的方案是把離散小波變換同奇異值分解進行結(jié)合,以Mel頻率倒譜系數(shù)獲得音頻的特征,并將其特征和二值圖像異或后作為最終的水印。且該算法不更改原來音頻任何數(shù)據(jù),具有很強的透明性。仿真實驗表明,該算法在完全不影響音頻聽覺質(zhì)量的前提下,對多種攻擊操作具備較強的魯棒性,并可以定位惡意篡改。 [1]RossiF,VillaN.Supportvectormachineforfunctionaldataclassification[J].Neurocomputing,2006,69(7-9):730-742. [2] 任克強,李慧,謝斌.基于DWT和SVD的自適應(yīng)數(shù)字音頻零水印算法[J].計算機工程與應(yīng)用,2014,50(12):87-90,95. [3] 李慧.基于變換域的數(shù)字音頻零水印算法研究[D].江西:江西理工大學,2012. [4] 吳翔,楊曉元,張敏情,等.基于特征的數(shù)字音頻簽名算法[J].計算機工程與應(yīng)用,2009,45(10):106-107,171. [5] 寇占奎,徐江峰.基于音頻特征的半脆弱水印方案[J].計算機工程與設(shè)計,2012,33(9):3323-3326,3341. [6] 林曉丹.用于版權(quán)和內(nèi)容認證的音頻水印[J].計算機應(yīng)用,2010,30(8):2269-2271. [7] 劉泉,高慶.基于DWT的自適應(yīng)盲音頻水印算法[J].武漢理工大學學報,2008,30(1):95-98. [8] 雷敏,楊榆.基于DWT-DCT-SVD的音頻盲水印算法[J].北京郵電大學學報,2011,34(S1):51-54. [9] 段歲軍,范九倫.一種基于SVD和DWT的音頻水印算法[J].計算機應(yīng)用研究,2014,31(7):2116-2118. [10] 楊志疆,葉阿勇.多重水印嵌入的DWT-SVD音頻公開水印算法[J].系統(tǒng)仿真技術(shù),2014,10(1):27-31,48. [11]WangJ,HealyR,TimoneyJ.Arobustaudiowatermarkingschemebasedonreducedsingularvaluedecompositionanddistortionremoval[J].SignalProcessing,2011,91(8):1693-1708. [12] 宋知用.MATLAB在語音信號分析與合成中的應(yīng)用[M].北京:北京航空航天大學出版社,2013:37-43. [13] 甄斌,吳璽宏,劉志敏,等.語音識別和說話人識別中各倒譜分量的相對重要性[J].北京大學學報:自然科學版,2001,37(3):371-378. ZERO-WATERMARKINGALGORITHMBASEDONAUDIOFEATURESOFMFCC SongHuiLiChenTianLihua* (SchoolofSoftwareEngineering,Xi’anJiaotongUniversity,Xi’an710049,Shaanxi,China) Byusingthestabilityofsingularvalueoflowfrequencycoefficientsonwaveletdomain,wedesignedazero-watermarkingschemewhichtakesthefeaturesofaudioasthebasis.Theschemeusesthefeatureoftheoriginalaudio—melfrequencycepstrumcoefficients(MFCC)toconstructthewatermarksequence,inadditionthisfeatureisalsoappliedtoaudiocontentauthentication.Inthealgorithm,originalaudioisdividedintosectionsatfirst,andeachsectioniscarriedoutthediscretewavelettransform.Thenthelowfrequencypartsofwavelettransformareselectedforsingularvaluedecomposition.Finallythemeanofsingularvalueisusedtoimplementthe"embedment"ofwatermarksinoriginalaudio,andthisobtainsapositionindexvector,itcanbeusedtoextractthewatermarkinformation.Simulationexperimentindicatedthattheschemepresentedinthispaperhasquitestrongrobustnessonresistingsomepopularattacksandcanlocatethemalicioustamperingonthepremiseofwithoutlosingauditoryquality. MFCCZero-watermarkingSingularvaluedecompositionTamperlocalisation 2015-07-01。國家自然科學基金項目(61403302)。宋慧,碩士生,主研領(lǐng)域:數(shù)字音頻水印。李晨,講師。田麗華,高工。 TP ADOI:10.3969/j.issn.1000-386x.2016.10.0312 水印生成
3 水印的嵌入和提取
4 仿真實驗及分析
5 結(jié) 語