孫先峰,彭 鍇,李孝杰,史滄紅*,牛憲華,王冬宇
(1.西華大學計算機與軟件工程學院,四川 成都 610039;2.成都信息工程大學計算機學院,四川 成都 610225)
隨著數(shù)字媒體技術(shù)的發(fā)展,音頻作為數(shù)字證據(jù)在法院和其他特殊場合被大量使用[1]。然而,一些不具備音頻處理專業(yè)技術(shù)的普通用戶也能夠使用功能強大的編輯軟件對音頻進行篡改。復制粘貼篡改操作是一種常用的語音篡改方法[2-4]。攻擊者可以很容易地復制音頻記錄的一些片段,并將這些片段粘貼到同一音頻文件的其他位置,以改變句子的語義信息。例如,“我去過成都”可以很容易地改為“我沒去過成都”,只是將“沒”復制粘貼到“我”和“去過”之間就完全改變了音頻的語義信息,這種偽造通常是難以察覺的。在沒有有效的復制粘貼檢測工具情況下,通過反復聽這些錄音或者直接看音頻信號的波形圖來檢測語音復制粘貼篡改,不但花費大量的時間,而且識別篡改準確性不高。尤其是在執(zhí)行一些后處理操作來抹除偽造的痕跡后,復制粘貼偽造檢測更加困難[5]。
因此,有后處理的音頻信號復制粘貼篡改檢測受到了許多研究者的關(guān)注,但是現(xiàn)有大部分文獻中的方法仍存在檢測精度不高、抗干擾能力不強等問題。例如:Mannepalli 等[6]提出了一種基于動態(tài)時間規(guī)劃的音頻復制粘貼檢測方法,其利用梅爾倒譜系數(shù)作為音頻特征,使用動態(tài)時間規(guī)整(dynamic time warping,DTW)來計算2 個音頻序列之間的距離和相似度,可以有效地檢測和判斷音頻是否篡改,但對于后處理過的篡改音頻信號檢測精度不高;Xiao 等[7]提出了一種基于計算每2 個音頻段的相似度來檢測音頻復制粘貼偽造的方法,利用快速卷積算法提高了計算效率,但對受到干擾后的音頻檢測精度較低;Imran 等[8]應(yīng)用局部二進制模式檢測音頻記錄中的復制粘貼偽造,將圖像檢測的方法應(yīng)用到音頻上,實現(xiàn)了對音頻篡改的盲檢測,但該方法檢測精度依賴于其中的聲學活動檢測模塊;Liu 等[9]提出了一種基于離散傅里葉變換(discrete fourier transform,DFT)的數(shù)字音頻快速復制粘貼檢測方法,對每個有聲段提取后的DFT 特征序列快速排序,對排序后的音頻特征序列進行兩兩相似度計算,從而減少了檢測時間的消耗,但對強后處理技術(shù)的魯棒性不高。這些方法對于沒有任何后處理操作的篡改音頻可以達到很好的檢測效果,但當攻擊者采用后處理操作來消除篡改痕跡時,它們就不那么有效了。如何有效地檢測音頻信號復制粘貼篡改是音頻取證中亟待解決的問題。
為此,基于希爾伯特-黃變換(Hilbert-Huang transform,HHT),本文提出一種音頻復制粘貼篡改檢測方法,以提高檢測準確率和抗干擾能力。該算法首先利用音高跟蹤算法YAAPT[10]做聲學活動檢測,將音頻的有聲段和無聲段區(qū)分開,進而使用HHT 將得到的有聲段進行經(jīng)驗?zāi)B(tài)分解(empirical mode decomposition,EMD),在獲得若干個本質(zhì)模態(tài)函數(shù)(intrinsic mode function,IMF)后,對每一個滿足條件的IMF 分量做希爾伯特變換,得到相應(yīng)的希爾伯特譜,然后匯總所有IMF 的希爾伯特譜,得到音頻信號的希爾伯特譜和希爾伯特特征序列,通過比較希爾伯特譜和使用相似度算法DTW[1]來計算每2 個有聲段的希爾伯特特征序列的相似程度,譜圖越相似,DTW 值越小,說明這2 個部分的相似度越高,最后將得到的DTW 值和設(shè)定的閾值比較,如果2 個有聲段的DTW 值小于設(shè)定的閾值,那么這2 個片段將被認為是一組復制粘貼的片段,從而來檢測和定位該音頻信號中存在的復制粘貼篡改操作。本文的創(chuàng)新點主要有2 方面。
1)將希爾伯特-黃變換用于音頻的復制粘貼篡改檢測,實現(xiàn)了在加噪、濾波和MP3 壓縮等后處理操作下對音頻復制粘貼篡改的檢測。
2)與其他復制粘貼篡改檢測算法相比,本文算法精確度和召回率都較高,且抗干擾能力強。
近年來,數(shù)字音頻信號的真實性取證技術(shù)受到許多研究者的關(guān)注,有關(guān)音頻取證的大量工作也被報道。然而,現(xiàn)有的文獻大多集中在音頻拼接篡改檢測[11]、錄音識別[12]、音頻壓縮歷史分析[13]和說話人識別[14]。此外,文獻[15-18]提出了各種方法用于圖像復制粘貼篡改檢測,但對語音記錄中復制粘貼篡改檢測的研究相對較少。
在以往的研究[19-22]中,HHT 廣泛用于信號處理系統(tǒng)和通信系統(tǒng)中,用來構(gòu)建解析信號,使信號頻譜僅含有正頻率成分,從而降低信號的抽樣率。HHT 結(jié)果反映了信號時頻特征,即信號頻域特征隨時間變化的規(guī)律。相對于傅里葉變換得到的信號頻率組成,HHT 還可以獲取頻率成分隨時間的“變化”,因此能很好地對音頻信號的變化規(guī)律進行捕捉。
HHT 主要包含EMD 和希爾伯特變換2 部分內(nèi)容。HHT 處理非平穩(wěn)信號的基本過程是:首先利用EMD 方法將給定的信號分解為若干IMF,這些IMF 是滿足一定條件的分量,然后對每一個IMF 進行希爾伯特變換,得到相應(yīng)的希爾伯特譜,最后匯總所有IMF 的希爾伯特譜就會得到原始信號的希爾伯特譜。HHT 可以對局部特征進行反映,這點主要得益于EMD 的作用[23]。EMD 可以自適應(yīng)地進行局部時頻分析,有效提取原信號的特征信息,有利于將關(guān)注的特征從復雜的混合信號中分離出來?;谝陨戏治?,針對有后處理的音頻信號復制粘貼篡改,本文提出了一種基于HHT 的魯棒的音頻復制粘貼篡改的檢測方法。
本文提出了一種基于HHT 的魯棒的音頻復制粘貼篡改檢測方法。其思路是:首先通過對音頻信號進行聲學活動檢測,將音頻信號劃分為有聲段和無聲段,然后對有聲段部分進行希爾伯特-黃變換,得到希爾伯特譜和每個有聲段部分的希爾伯特特征序列,通過分析和對比希爾伯特譜圖,并使用相似度算法來計算每2 個有聲段部分的相似程度,得到的譜圖越相似,DTW 值越小,說明這2 個部分的相似度越高,最后將得到的DTW 值和設(shè)定的閾值比較,從而檢測和定位音頻信號中的復制粘貼篡改。方法的檢測流程圖如圖1 所示。
圖1 本文方法的檢測流程圖Fig.1 The detection flow chart of the method in this paper
本文采用音高跟蹤方法YAAPT 將音頻分割為有聲段部分和無聲段部分。音高是指基頻的一種度量。它代表發(fā)聲時的振動頻率,即使一個人把同一個詞說2 次,從這2 個詞中提取的音高序列也會彼此不同。該方法的主要步驟如下。
步驟1,預(yù)處理。使用2 種非線性處理創(chuàng)建信號的多個版本,計算信號的絕對值和平方值,然后利用這2 種經(jīng)過非線性處理的信號進行基音提取,這樣可用于恢復部分丟失的音高。
步驟2,利用譜信息估計音高軌跡。利用譜諧波相關(guān)(spectral harmonics corr-elation,SHC)[1]技術(shù)估計一個近似的音高軌跡。SHC 定義為
式中:S(t,f)為幀t在f頻率處的幅譜;NH為諧波數(shù);WL為譜窗長;SHC(t,f)是將每一幀都歸一化為[0,1]。同時計算歸一化低頻能量比NLFER,用于輔助音高評估和區(qū)分有聲幀和無音幀。NLFER 定義為
式中:T為總幀數(shù),F(xiàn)0_min和F0_max是音高的范圍。
步驟3,候選音高估計。使用歸一化互相關(guān)函數(shù)(NCCF)從時域的原始信號和非線性處理信號中提取候選音高。NCCF 定義為:對于給定一幀采樣語音信號s(n),0 ≤n≤N-1,有
式中:N為樣本幀長;K_min和K_max是用來適應(yīng)音高搜索范圍的滯后值。
步驟4,動態(tài)規(guī)劃確定最終音高。對步驟2 和步驟3 中的信息進行動態(tài)規(guī)劃,得到最終音高。
由以上步驟得到音高序列后,確定一個音高序列數(shù)組索引切換到音頻索引的參數(shù)(通過大量實驗,本文設(shè)置該參數(shù)為160),進而對得到的音高序列數(shù)組進行處理,數(shù)組值為零的樣本段將被標注為無聲段部分,其他樣本段被標注為有聲段部分。最后,利用確定為有聲段部分的音高序列數(shù)組下標和之前設(shè)定的參數(shù)相乘,就能得到音頻的有聲段部分。
本文使用HHT 將聲學活動檢測后得到的有聲段通過EMD 分解為若干個IMF,進而對每一個滿足條件的IMF 分量做希爾伯特變換,得到相應(yīng)的希爾伯特譜和譜特征序列,最后匯總所有IMF 的希爾伯特譜和譜特征序列,得到音頻信號的希爾伯特譜和譜特征序列。以公開的復制-粘貼偽造數(shù)據(jù)庫中經(jīng)過中值濾波處理的篡改音頻“sa1_1-6.wav”為例,提取的希爾伯特譜圖如圖2 所示。
圖2 篡改音頻“sa1_1-6.wav”的希爾伯特譜圖Fig.2 The Hilbert spectrum of the tampering with audio“sa1_1-6.wav”
2.2.1 經(jīng)驗?zāi)B(tài)分解(EMD)
對聲學活動檢測后得到的有聲段部分進行經(jīng)驗?zāi)B(tài)分解。EMD 是依據(jù)數(shù)據(jù)自身的時間尺度特征來進行信號分解,無須預(yù)先設(shè)定任何基函數(shù),具有自適應(yīng)性。它依據(jù)信號特點自適應(yīng)地將任意一個復雜的音頻信號分解為一列IMF,且IMF 須滿足2 個條件:
1)信號極值點的數(shù)量和零點數(shù)相等或相差為1;
2)信號由極大值定義的上包絡(luò)和由極小值定義的下包絡(luò)的局部均值為0。
EMD 的具體步驟如下。
1)找到音頻有聲段信號x(t)的所有極大值點,通過三次樣條函數(shù)擬合出極大值包絡(luò)線emax(t);同理,找到信號x(t)的所有極小值點,通過三次樣條函數(shù)擬合出信號的極小值包絡(luò)線emin(x)。所有的極值點必須保證被上部和下部包絡(luò)線包含。
2)計算上、下包絡(luò)的平均值m1(t)。
3)將原信號x(t)減去m1(t)就得到一個去掉低頻的新信號,判斷是否滿足IMF 定義的2 個條件,如滿足則進行下一步,否則對重復上述2 步驟和操作式(7),直到經(jīng)過k次之后得到滿足IMF 條件,則原信號x(t)的一階IMF 分量為c1(t)。
4)用原信號x(t)減去c1(t)得到一個去掉高頻成分的新信號r1(t)。
進而將r1(t)當成新的原始信號,重復上述操作,得到第2 個IMF 分量c2(t)以及r2(t),如此反復進行。
5)直到rn(t)為單調(diào)信號或者只存在一個極值點,EMD 分解過程停止。最后,原始信號x(t)經(jīng)EMD 分解,可以表示為
2.2.2 希爾伯特變換和譜特征提取
對得到的IMF 分量做希爾伯特變換,對于IMF 信號ci(t)做希爾伯特變換得到信號H[ci(t)],為
以ci(t)為實部,H[ci(t)]為虛部,構(gòu)造解析信號yi(t),為
于是,得到瞬時幅值ai(t)和瞬時相位φi(t),為
對瞬時相位求導可以求出瞬時頻率ωi(t),為
與傅里葉變換不同,得到的瞬時頻率ωi(t)和瞬時幅值ai(t)是代表時間的函數(shù),從而以此為基礎(chǔ)構(gòu)建特征序列。
在信號分析中,除了頻率分布外,能量分布也具有重要的分類價值,瞬時能量Ei為
最后,取信號x(t)的前5 階IMF,即在式(15)和式(16)中取i=1,···,5 構(gòu)建特征序列F,為
使用動態(tài)時間規(guī)整(DTW)算法來計算得到的不同希爾伯特特征序列的相似度。DTW 值計算如下:假設(shè)給定2 個序列X和Y,長度分別為m和n,其中
則這2 個序列的DTW 距離為D(M,N),用動態(tài)方法計算為
式中:D(i,j)是xi和yj之間的DTW 距離;d(xi,yj)為xi和yj之間的距離,且
在本文中,X和Y為提取的2 個有聲段的希爾伯特特征序列,得到的DTW 值代表這2 個有聲段的相似程度。
經(jīng)過以上步驟后,得到每2 個有聲段對應(yīng)的DTW 值,進而由每個DTW 值對應(yīng)的有聲段索引能夠得到其在聲學活動檢測中每個有聲段部分的音頻索引,每個有聲段部分的起始索引和結(jié)束索引對應(yīng)著其在音頻中的具體位置。因此,將得到的DTW 值和設(shè)定好的閾值比較,如果存在一組有聲段的DTW 值小于設(shè)定的閾值,那么這一組有聲段將被認為是一組復制粘貼的片段,且由DTW 值對應(yīng)的有聲段索引可以得到復制粘貼片段在音頻中具體的位置,從而檢測和定位音頻信號中的復制粘貼篡改操作。
復制-粘貼偽造數(shù)據(jù)庫[10]是利用TIMIT 數(shù)據(jù)庫生成的。TIMIT 數(shù)據(jù)庫是由2 s 到6 s 不等的英文音頻組成,通過隨機復制一段語音片段,并將復制的語音片段粘貼到同一段語音的其他位置,從而形成一個偽造的音頻文件。此外,為了模擬真實的復制粘貼偽造場景,該數(shù)據(jù)庫還對偽造音頻實行了一些常見的后處理操作。例如:對每個偽造音頻分別添加30 dB 和20 dB 的高斯白噪聲;對每個偽造音頻都用中值濾波器進行處理;偽造的音頻被壓縮成2 種不同的比特率,即32 kb/s 和64 kb/s。本文從中隨機選取了3 條語音未經(jīng)處理過的偽造語音和對應(yīng)5 種后處理操作下的15 條語音進行實驗。
為了評估所提出方法的性能,本文使用精度和召回率來檢測偽造音頻和定位偽造音頻中重復段方法的性能。
精度(Precision)的定義為
召回率(Recall)的定義為
式中:TP 表示被正確檢測為重復語音段的重復語音段數(shù);FP 表示被檢測為重復語音段的非偽造語音段的數(shù)量;FN 表示被檢測為非偽造語音段的重復語音段的數(shù)量。
3.3.1 一個檢測實例
以公開的復制-粘貼偽造數(shù)據(jù)庫中的篡改音頻“sa1_1-6.wav”為例。首先,經(jīng)過聲學活動檢測后,音頻被分為7 個有聲段,再經(jīng)過上述步驟,最終得到每2 個有聲段對應(yīng)的DTW 值,如表1 所示。如果存在2 個有聲段的DTW 值小于設(shè)定的閾值(通過大量的實驗,本文設(shè)定閾值為0.08),那么這2 個片段將被認為是一組復制粘貼的片段,且由DTW值對應(yīng)的有聲段索引可以確定對應(yīng)復制粘貼片段在音頻中的具體位置,從而檢測和定位音頻信號中的復制-粘貼片段。
表1 篡改音頻“sa1_1-6.wav”每個有聲段之間的DTW 值Tab.1 Tampering with the DTW values between each audible segment of the audio "sa1_1-6.wav"
從表1 可知,第1 個有聲段和第6 個有聲段之間的DTW 值明顯小于設(shè)定的閾值,從而定位到第1 個有聲段和第6 個有聲段是一組復制粘貼篡改的片段。
3.3.2 閾值的選擇
一個合適的閾值對于判斷語音片段是否為重復片段是極其重要的。如果閾值太小,則可能會導致檢測精度降低;如果閾值太大,則會導致高誤檢率。因此,本文進行以下實驗來選擇合適的閾值。
首先,從TIMIT 數(shù)據(jù)庫中提取了300 個不同的單詞,復制這些單詞得到了300 對重復片段。然后從TIMIT 數(shù)據(jù)庫中提取300 個不同的單詞(和之前的300 個完全不同),并對其采用5 種后處理操作:分別添加20 dB 和30 dB 高斯白噪聲、中值濾波、MP3 壓縮(32 kb/s,64 kb/s)。最后,得到了1 800 對重復片段,1 800 對非偽造片段。從這些片段中提取希爾伯特特征序列并計算它們的DTW值,得到的結(jié)果如表2 所示。
表2 DTW 值的統(tǒng)計結(jié)果Tab.2 Statistical results of DTW
由表2 可以看出,94.21%的重復語音片段的DTW 值小于0.08,而只有7.79%的非偽造語音片段的DTW 值小于0.08。由圖3 分析可知,當DTW值在0 到0.08 之間時,對于重復語音片段和非偽造語音片段的區(qū)分效果相對較好,因此,選擇0.08作為本文方法的閾值。如果2 個語音段的DTW值小于0.08,則認為這2 個語音片段為重復的語音片段。如果2 個語音段的DTW 值大于0.08,則認為這2 個語音片段是非偽造語音片段。
圖3 閾值分析Fig.3 Analysis of thresholds
3.3.3 與其他檢測方法的比較
在公開的音頻復制-粘貼偽造數(shù)據(jù)庫上將本文方法和文獻[6]的基于梅爾譜圖的音頻信號復制粘貼篡改檢測方法相比較。表3 為本文方法和文獻[6]方法在該數(shù)據(jù)庫中的檢測效果??梢钥闯觯疚姆椒ㄔ诓患雍筇幚聿僮骱图痈鞣N后處理操作情況下的檢測效果都高于文獻[6]的方法。在不進行后處理操作的情況下,本文方法檢測精度為96.45%,召回率為98.21%。當對復制粘貼篡改后的音頻使用后處理操作時,本文方法在魯棒性方面表現(xiàn)優(yōu)異。當檢測添加20 dB 高斯白噪聲的篡改音頻時,檢測精度為91.66%,召回率為92.68%。當檢測添加30 dB 高斯白噪聲的篡改音頻時,檢測精度為93.22%,召回率為95.57%。當檢測添加中值濾波的篡改音頻時,通過本文算法提取的有聲段的希爾伯特特征序列變化較大,從而使得DTW 值變化較大,進而導致設(shè)置的閾值對重復語音段和非偽造語音段的區(qū)分出現(xiàn)誤差,使本文方法的檢測效果略微下降,檢測精度為82.87%,召回率為83.12%。當檢測添加MP3 壓縮(32 kb/s)的篡改音頻時,檢測精度為93.46%,召回率為94.54%,當檢測添加MP3 壓縮(64 kb/s)的篡改音頻時,檢測精度為94.62%,召回率為96.78%,可以看出MP3 壓縮對本文方法的檢測性能影響不大。
表3 本文方法和文獻[6]方法的檢測效果Tab.3 The detection effect of the method in this paper and the method in the literature [6]
本文提出了一種基于希爾伯特-黃變換的音頻復制粘貼篡改檢測算法,首次將希爾伯特-黃特征應(yīng)用到音頻篡改檢測中,根據(jù)實驗結(jié)果表明,該特征能準確地提取出各種后處理操作后的音頻信息,使檢測效果得到了提升。與文獻[6]的基于梅爾譜圖的音頻信號復制粘貼篡改檢測方法相比,本文方法更貼近實際情況,而且魯棒性更好,檢測效果也更高。