楊 潔,李松斌,鄧浩江
(1.中國(guó)科學(xué)院 聲學(xué)研究所,北京 100190; 2.中國(guó)科學(xué)院大學(xué) 電子電氣與通信工程學(xué)院,北京 100049)(*通信作者電子郵箱lisb@dsp.ac.cn)
信息隱藏,亦稱(chēng)為隱寫(xiě)術(shù),是一種將秘密信息嵌入到載體中而使秘密信息難于被監(jiān)管者察覺(jué)的技術(shù),它通常把秘密信息隱藏在可公開(kāi)的媒體信息中,如文本、圖像、語(yǔ)音以及視頻等多媒體對(duì)象。隨著帶寬的持續(xù)增長(zhǎng)以及網(wǎng)絡(luò)融合趨勢(shì)的增強(qiáng),基于網(wǎng)絡(luò)數(shù)據(jù)通信的網(wǎng)絡(luò)流媒體服務(wù)得到了空前的發(fā)展,網(wǎng)絡(luò)壓縮語(yǔ)音碼流成為隱蔽通信常用載體之一。它給人們的生活和工作帶來(lái)便利的同時(shí),也給犯罪分子帶來(lái)了可乘之機(jī)。對(duì)于敏感機(jī)構(gòu)而言,需要對(duì)機(jī)構(gòu)中的語(yǔ)音碼流進(jìn)行評(píng)估審查,確定是否存在隱蔽通信信道進(jìn)行秘密信息的外泄。信息隱藏檢測(cè)技術(shù)作為隱蔽通信的對(duì)抗技術(shù),能夠有效地監(jiān)控網(wǎng)絡(luò)壓縮語(yǔ)音碼流中的隱蔽通信,實(shí)現(xiàn)對(duì)敏感機(jī)構(gòu)中的語(yǔ)音碼流信息隱藏檢測(cè)。
網(wǎng)絡(luò)壓縮語(yǔ)音編碼信息隱藏根據(jù)嵌入時(shí)機(jī)的不同可分為兩類(lèi)。第一類(lèi)是在編碼結(jié)束后直接修改壓縮語(yǔ)音碼流[1-8],該類(lèi)方法通常基于信噪比(Signal-to-Noise Ratio, SNR)和語(yǔ)音感受質(zhì)量評(píng)估(Perceptual Evaluation of Speech Quality, PESQ)選出對(duì)語(yǔ)音質(zhì)量影響小的語(yǔ)音碼字中的比特作為秘密信息嵌入載體,并結(jié)合其他的編碼方式或者技術(shù),如覆蓋碼[1]、多進(jìn)制編碼[3]、矩陣編碼和交織技術(shù)[6]來(lái)提高嵌入效率和隱蔽性。第二類(lèi)是在編碼過(guò)程中通過(guò)調(diào)制編碼系數(shù)進(jìn)行秘密信息嵌入,主要包括基于線性預(yù)測(cè)編碼(Linear Predictive Coding, LPC)系數(shù)調(diào)制的信息隱藏方法[9-14]、基于固定碼本系數(shù)調(diào)制的信息隱藏方法[15-19]和基于基音調(diào)制的信息隱藏方法[20-24],相對(duì)于第一類(lèi)方法,該類(lèi)方法由于是結(jié)合編碼過(guò)程進(jìn)行信息隱藏,對(duì)語(yǔ)音質(zhì)量影響更小,隱蔽性更高。目前,絕大多數(shù)低速率語(yǔ)音編碼器(如G.729和G.723.1)都基于LPC模型,因此,在LPC過(guò)程中進(jìn)行水印信息嵌入具有較高的普適性。此外,基于合成—分析法的LPC模型已被廣泛應(yīng)用于各類(lèi)低速率語(yǔ)音編碼器,該模型能夠自適應(yīng)地減小LPC系數(shù)矢量量化過(guò)程中引入的失真。
量化索引調(diào)制(Quantization Index Modulation, QIM)隱寫(xiě)算法最早由麻省理工學(xué)院Chen等[25]提出,適用于包含矢量量化過(guò)程的圖像、數(shù)字音頻和視頻編碼。該方法對(duì)載體信號(hào)的失真、信息嵌入率和抗干擾性作了有效的平衡,非常適合在數(shù)字媒體的壓縮編碼過(guò)程中進(jìn)行信息隱藏?;パa(bǔ)鄰居頂點(diǎn)QIM(Complementary Neighbor Vertex QIM, CNV-QIM)算法[9]是首個(gè)在LPC矢量量化過(guò)程中進(jìn)行信息嵌入的算法,該算法基于圖論將碼書(shū)劃分為兩個(gè)部分,保證了每個(gè)碼字和其最近鄰碼字被劃分到不同的分組中,嵌入秘密信息比特0和1時(shí)分別從這兩個(gè)碼組進(jìn)行LPC量化。文獻(xiàn)[12]在CNV-QIM算法的基礎(chǔ)上,提出了一種稱(chēng)為安全QIM(Secure QIM, Sec-QIM)的隱寫(xiě)方法,該方法引入了一種遵從柯克霍夫準(zhǔn)則的基于密鑰的碼書(shū)劃分策略以提升安全性,并結(jié)合矩陣編碼提高嵌入效率來(lái)減少嵌入對(duì)語(yǔ)音質(zhì)量的影響并提升算法抗隱寫(xiě)分析能力。最近,Liu等在文獻(xiàn)[13]和文獻(xiàn)[14]中分別提出了名為矩陣嵌入QIM(Matrix Embedding QIM, ME-QIM)和最近鄰?fù)队包c(diǎn)QIM (Nearest-neighbor Projection Point QIM, NPP-QIM)兩種線性預(yù)測(cè)語(yǔ)音編碼信息隱藏方法。ME-QIM方法基于LPC矢量最小距離準(zhǔn)則構(gòu)建映射表進(jìn)行嵌入,并結(jié)合嵌入位置選擇和嵌入模板選擇算法,進(jìn)一步提升算法的隱蔽性。NPP-QIM方法將LPC量化索引集合視為三維LPC量化索引空間中的一個(gè)點(diǎn),并基于最近投影點(diǎn)替換方法進(jìn)行信息嵌入,NPP-QIM方法相較于Sec-QIM方法嵌入容量、嵌入效率和隱蔽性都有所提高。
為了檢測(cè)QIM信息隱藏方法,Li等[26]發(fā)現(xiàn)QIM信息隱藏算法會(huì)導(dǎo)致LPC量化索引取值發(fā)生變化,提出了一種基于索引分布特征(Index Distribution Characteristics, IDC)的方法,該方法以矢量量化(Vector Quantization, VQ)碼字VQ1、VQ2、VQ3直方圖分布和相鄰幀間轉(zhuǎn)移概率作為特征向量,利用支持向量機(jī)(Support Vector Machine, SVM)訓(xùn)練分類(lèi)器實(shí)現(xiàn)對(duì)QIM隱寫(xiě)算法的檢測(cè)。IDC方法在檢測(cè)CNV-QIM隱寫(xiě)算法時(shí)具有很高的檢測(cè)準(zhǔn)確率,但是在檢測(cè)對(duì)量化索引分布影響更小的NPP-QIM隱寫(xiě)算法時(shí)檢測(cè)準(zhǔn)確率有所降低。其他盲檢測(cè)算法如梅爾頻率倒頻系數(shù)(Derivative Mel-Frequency Cepstral Coefficients, DMFCC)[27]方法以時(shí)域衍生頻譜和梅爾倒頻系數(shù)作為特征,利用SVM訓(xùn)練分類(lèi)器實(shí)現(xiàn)壓縮語(yǔ)音信息隱藏檢測(cè),但是DMFCC方法對(duì)NPP-QIM隱寫(xiě)算法檢測(cè)準(zhǔn)確率也不高。為了提升對(duì)壓縮語(yǔ)音NPP-QIM隱寫(xiě)算法的檢測(cè)準(zhǔn)確率,本文提出了基于碼字貝葉斯網(wǎng)絡(luò)(Codeword Bayesian Network, CBN)的信息隱藏檢測(cè)方法,以VQ1、VQ2、VQ3時(shí)空轉(zhuǎn)移關(guān)系構(gòu)建CBN,并以Dirichlet分布作為先驗(yàn)分布學(xué)習(xí)網(wǎng)絡(luò)參數(shù),實(shí)現(xiàn)對(duì)NPP-QIM隱寫(xiě)算法的有效檢測(cè)。不同于現(xiàn)有基于特征提取與SVM分類(lèi)的信息隱藏檢測(cè)方法,本文使用貝葉斯網(wǎng)絡(luò)進(jìn)行隱寫(xiě)分類(lèi),可以避免人工設(shè)計(jì)特征帶來(lái)的特征維度大及難于表達(dá)復(fù)雜關(guān)聯(lián)的缺陷,同時(shí)為信息隱藏檢測(cè)的研究提供一種新的思路。
LPC是網(wǎng)絡(luò)壓縮語(yǔ)音編碼中最有效的語(yǔ)音信號(hào)分析方法之一,其利用線性預(yù)測(cè)模型實(shí)現(xiàn)對(duì)語(yǔ)音信號(hào)譜包絡(luò)壓縮表示,能夠提供非常精確的語(yǔ)音參數(shù)預(yù)測(cè)。LPC合成濾波器為:
(1)
其中a1,a2,…,ap為語(yǔ)音信號(hào)的p階LPC預(yù)測(cè)系數(shù)。由于LPC系數(shù)波動(dòng)較大,某個(gè)LPC系數(shù)的誤差對(duì)信號(hào)整個(gè)頻域都會(huì)產(chǎn)生影響,因此LPC系數(shù)并不適合直接量化,需要進(jìn)一步轉(zhuǎn)換為線譜對(duì)(Line Spectrum Pair, LSP)系數(shù)。在G.723.1中,p=10,對(duì)每幀中最后一個(gè)子幀的LPC系數(shù)進(jìn)行預(yù)測(cè)分裂矢量量化,令A(yù)(z)=1/H(z),則A(z)為:
(2)
令A(yù)(z)的和、差多項(xiàng)式分別為P(z)和Q(z),P(z)和Q(z)表示為:
(3)
則A(z)可進(jìn)一步表示為:
A(z)=[P(z)+Q(z)]/2
(4)
當(dāng)A(z)的零點(diǎn)在z平面單位圓內(nèi)時(shí),P(z)和Q(z)的零點(diǎn)都在單位圓上,并且沿著單位圓交替出現(xiàn)。記P(z)和Q(z)的零點(diǎn)分別為e±jωi和e±jθi,則P(z)和Q(z)可因式分解為:
(5)
系數(shù)ωi(i=1,2,…,5)和θi(i=1,2,…,5)稱(chēng)為L(zhǎng)SP系數(shù)。得到當(dāng)前幀LSP系數(shù)后,利用前一幀的LSP系數(shù)預(yù)測(cè)得到當(dāng)前幀的LSP殘差矢量,并將殘差矢量按照維度分別為3、3、4分為3個(gè)子矢量進(jìn)行量化,量化后的每個(gè)子矢量用8比特碼字表示,記為VQ1、VQ2、VQ3。
語(yǔ)音信號(hào)的基本組成單位為音素,根據(jù)音素可以將語(yǔ)音信號(hào)分為濁音和清音兩種。濁音又稱(chēng)有聲語(yǔ)音,攜帶著語(yǔ)音中大部分的能量,在時(shí)域上具有明顯的周期性;清音類(lèi)似于白噪聲,沒(méi)有明顯的周期性。語(yǔ)音信號(hào)是一個(gè)非平穩(wěn)信號(hào),但在10 ms至30 ms內(nèi)語(yǔ)音信號(hào)是平穩(wěn)的,即短時(shí)平穩(wěn)性,因此,語(yǔ)音壓縮編碼之后,語(yǔ)音幀內(nèi)碼字取值具有一定的相關(guān)性。此外,語(yǔ)音信號(hào)局部存在周期性,如果不同幀語(yǔ)音信號(hào)正好對(duì)應(yīng)周期性重復(fù)的信號(hào),那么這些相鄰幀間碼字取值也具有一定的相關(guān)性,因此由碼字VQ1、VQ2、VQ3的幀內(nèi)幀間取值關(guān)系可以構(gòu)建一個(gè)碼字時(shí)空轉(zhuǎn)移網(wǎng)絡(luò)(Codeword Spatiotemporal Transition Network, CSTN),如圖1所示。
CSTN是由三個(gè)碼字作為頂點(diǎn),幀內(nèi)幀間轉(zhuǎn)移關(guān)系作為邊的有向圖,記為D=〈V,E〉,其中V,E具體表示為:
(6)
其中:V表示有向圖D中頂點(diǎn)的集合,VQ1[m]、VQ2[m]、VQ3[m]分別表示第m幀的三個(gè)碼字;E表示D中邊的集合,由頂點(diǎn)v1指向頂點(diǎn)v2的有向邊,包含3種幀內(nèi)轉(zhuǎn)移邊和9種相鄰幀間轉(zhuǎn)移邊。當(dāng)表示幀內(nèi)轉(zhuǎn)移邊時(shí),q-p=0;當(dāng)表示幀間轉(zhuǎn)移邊時(shí),q-p=1。為了便于描述,將幀內(nèi)3條邊分別記為a、b、c,幀間9條邊分別記為d、e、f、g、h、i、j、k、l,如圖1所示。
圖1 碼字時(shí)空轉(zhuǎn)移網(wǎng)絡(luò)
圖1中的CSTN能夠描述語(yǔ)音中碼字轉(zhuǎn)移關(guān)系,然而該網(wǎng)絡(luò)的結(jié)構(gòu)較為復(fù)雜,且每條邊表示的轉(zhuǎn)移關(guān)系強(qiáng)弱不一樣,可以將轉(zhuǎn)移關(guān)系較弱的邊去掉。在CSTN中,每個(gè)頂點(diǎn)的取值范圍為[0,255],則由每條邊的兩個(gè)頂點(diǎn)v1和v2取值可生成一個(gè)255×255的轉(zhuǎn)移矩陣R,如式(7)所示:
(7)
其中,Pi, j(i,j=0,1,…,255)表示v1=i,v2=j的概率。在轉(zhuǎn)移矩陣R中,共有65 536種取值,這些取值直觀上并沒(méi)有明顯的特點(diǎn)。由語(yǔ)音信號(hào)具有一定周期性知,碼字間取值也具有一定的周期性。本文統(tǒng)計(jì)了12條邊對(duì)應(yīng)兩個(gè)頂點(diǎn)取值之差的概率,發(fā)現(xiàn)在差值為0時(shí),同一碼字幀間邊的概率明顯高于其他邊;而差值為其他時(shí),并沒(méi)有明顯的特點(diǎn)。因此,本文以兩個(gè)頂點(diǎn)間取值相同的概率作為CSTN中邊的轉(zhuǎn)移指數(shù),記為RE,用來(lái)衡量碼字間的轉(zhuǎn)移關(guān)系強(qiáng)弱程度,兩個(gè)頂點(diǎn)間取值相同的概率即為R對(duì)角線之和,則RE可表示為:
(8)
壓縮語(yǔ)音進(jìn)行QIM信息隱藏后,VQ1、VQ2、VQ3取值會(huì)發(fā)生變化,相應(yīng)的RE也會(huì)改變,將根據(jù)轉(zhuǎn)移指數(shù)對(duì)網(wǎng)絡(luò)進(jìn)行化簡(jiǎn),本文隨機(jī)選擇了3 000段語(yǔ)音樣本計(jì)算12條邊的轉(zhuǎn)移指數(shù),結(jié)果如圖2所示。
在圖2中,“Cover”和“Stego”分別表示未隱寫(xiě)和使用NPP-QIM隱寫(xiě)后的轉(zhuǎn)移指數(shù),隱寫(xiě)使邊d、h、l的轉(zhuǎn)移指數(shù)明顯減弱,而其他邊的轉(zhuǎn)移指數(shù)變化不明顯,因此在化簡(jiǎn)CSTN時(shí)只保留對(duì)隱寫(xiě)敏感的三條邊d、h、l,化簡(jiǎn)后的隱寫(xiě)敏感碼字時(shí)空轉(zhuǎn)移網(wǎng)絡(luò)(Steganography-Sensitive Codeword Spatiotemporal Transition Network, SS-CSTN)如圖3所示。
圖2 碼字轉(zhuǎn)移指數(shù)
圖3 隱寫(xiě)敏感碼字時(shí)空轉(zhuǎn)移網(wǎng)絡(luò)
貝葉斯網(wǎng)絡(luò)是一種概率圖模型,其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是一個(gè)有向無(wú)環(huán)圖,由網(wǎng)絡(luò)節(jié)點(diǎn)、有向邊和條件概率表(Condition Probability Table, CPT)組成。上述的SS-CSTN與貝葉斯網(wǎng)絡(luò)非常相近,可以利用SS-CSTN進(jìn)一步構(gòu)建碼字貝葉斯網(wǎng)絡(luò)(CBN)分類(lèi)器進(jìn)行隱寫(xiě)分析。
QIM隱寫(xiě)算法以幀為單位進(jìn)行秘密信息嵌入,鑒于此,本文以幀為單位構(gòu)建貝葉斯網(wǎng)絡(luò)。QIM隱寫(xiě)算法的直接影響是改變了VQ1、VQ2、VQ3的取值,由SS-CSTN知,不同碼字間取值相互獨(dú)立,同一碼字相鄰幀間取值不獨(dú)立,CBN構(gòu)建過(guò)程如下。
步驟1 以語(yǔ)音幀類(lèi)別作為根節(jié)點(diǎn)C,有未隱寫(xiě)(記為0)和隱寫(xiě)(記為1)兩種。
步驟2 分別以VQ1、VQ2、VQ3的取值作為節(jié)點(diǎn)C的子節(jié)點(diǎn),構(gòu)成由C到VQ1、C到VQ2、C到VQ3的三條有向邊。
步驟3 分別以VQ1、VQ2、VQ3相鄰幀間取值關(guān)系作為節(jié)點(diǎn)VQ1、VQ2、VQ3的子節(jié)點(diǎn)S1、S2、S3,構(gòu)成由VQ1到S1、VQ2到S2、VQ3到S3的三條有向邊,有取值不同(記為0)和取值相同(記為1)兩種。由于S1、S2、S3的取值與語(yǔ)音幀類(lèi)別有關(guān)系,因此將有向邊C到S1、C到S2、C到S3添加到貝葉斯網(wǎng)絡(luò)中。
最終所構(gòu)建的CBN如圖4所示,CBN為一個(gè)由7個(gè)節(jié)點(diǎn)組成的三層網(wǎng)絡(luò),其中第一層包含一個(gè)語(yǔ)音幀類(lèi)別根節(jié)點(diǎn),第二層包含三個(gè)碼字節(jié)點(diǎn)VQ1、VQ2、VQ3且相互獨(dú)立,第三層包含三個(gè)碼字的幀間關(guān)系節(jié)點(diǎn)S1、S2、S3且相互獨(dú)立。
圖4 CBN碼字貝葉斯網(wǎng)絡(luò)
為了便于描述,圖4中的貝葉斯網(wǎng)絡(luò)節(jié)點(diǎn)C、VQ1、VQ2、VQ3、S1、S2、S3分別記為隨機(jī)變量X1、X2、X3、X4、X5、X6、X7,隨機(jī)變量的取值分別記為x1,x2,x3,x4,x5,x6,x7,其中x1,x5,x6,x7∈{0,1},x2,x3,x4∈{0,1,…,255},則網(wǎng)絡(luò)的聯(lián)合概率分布為:
(9)
其中:Pa(Xi)表示隨機(jī)變量Xi的父節(jié)點(diǎn);P(Xi|Pa(Xi))表示隨機(jī)變量Xi的條件概率。P(Xi|Pa(Xi))具體如式(10)所示:
(10)
記隨機(jī)變量Xi共有Ki個(gè)取值,θijk表示Xi取其第k個(gè)取值,Pa(Xi)取其第j個(gè)取值時(shí)的條件概率,則θijk可表示為:
θijk=P(Xi=xik|Pa(Xi)=Pa(Xi)j)
(11)
網(wǎng)絡(luò)參數(shù)的學(xué)習(xí)實(shí)質(zhì)上是學(xué)習(xí)各個(gè)θijk的取值,貝葉斯網(wǎng)絡(luò)參數(shù)學(xué)習(xí)通常采用式(12)所示模式:
π(θ)+χ?π(θ|χ)
(12)
其中:π(θ)表示先驗(yàn)分布;χ表示樣本信息;π(θ|χ)表示后驗(yàn)分布,參數(shù)學(xué)習(xí)綜合了它的先驗(yàn)信息和樣本信息。在貝葉斯網(wǎng)絡(luò)參數(shù)學(xué)習(xí)中,先驗(yàn)分布一般選取共軛分布,即先驗(yàn)分布π(θ)和后驗(yàn)分布π(θ|χ)屬于同一類(lèi)型分布,本文選用常用的Dirichlet分布作為先驗(yàn)分布,則:
π(θij)=Dir(αij1,αij2,…,αijKi)=
(13)
其中Γ(·)為gamma函數(shù)。設(shè)在樣本χ中滿足Xi=xik且Pa(Xi)=Pa(Xi)j的個(gè)數(shù)為βijk,由于后驗(yàn)分布π(θ|χ)也服從Dirichlet分布,則π(θ|χ)可表示為:
π(θij|χ)=Dir(αij1+βij1,αij2+βij2,…,αijKi+βijKi)=
(14)
網(wǎng)絡(luò)參數(shù)θ的最大后驗(yàn)估計(jì)為:
(15)
學(xué)習(xí)貝葉斯網(wǎng)絡(luò)參數(shù)后即得到每個(gè)節(jié)點(diǎn)處的CPT,在CBN中,節(jié)點(diǎn)C的CPT大小為2,VQ1、VQ2、VQ3的CPT大小均為2×256=512,S1、S2、S3的CPT大小均為2×256×2=1 024。由于條件概率表較大不能直觀顯示,因此本文以圖的形式展示部分節(jié)點(diǎn)在3 000個(gè)語(yǔ)音片段上的條件概率,VQ1、VQ2、VQ3在未隱寫(xiě)和隱寫(xiě)兩種條件下的概率分別如圖5(a)、5(b)、5(c)所示。
圖5 部分節(jié)點(diǎn)條件概率示意圖
圖5中,“Cover”和“Stego”分別表示在未隱寫(xiě)條件下和隱寫(xiě)條件下的概率,可以看出節(jié)點(diǎn)VQ1、VQ2、VQ3在兩種條件下的概率不同,且部分取值概率差異比較大,說(shuō)明本文構(gòu)建的CBN能夠有效地反映隱寫(xiě)前后條件概率的變化情況。
貝葉斯網(wǎng)絡(luò)構(gòu)建和CPT學(xué)習(xí)之后,本文采用自下而上的診斷推理對(duì)樣本進(jìn)行分類(lèi),即已知子節(jié)點(diǎn)參數(shù)分布,來(lái)計(jì)算父節(jié)點(diǎn)的概率。CBN推理過(guò)程為利用隨機(jī)變量X2、X3、X4、X5、X6、X7的取值及相應(yīng)的條件概率來(lái)計(jì)算語(yǔ)音幀是未隱寫(xiě)和隱寫(xiě)的后驗(yàn)概率,其推理公式為:
P(X1=x1|X2,X3,X4,X5,X6,X7)=
(16)
x1=0和x1=1分別表示語(yǔ)音幀在隨機(jī)變量Xi=xi(i=2,3,…,7)時(shí)為未隱寫(xiě)幀和隱寫(xiě)幀的后驗(yàn)概率。給定一段包含N幀的語(yǔ)音片段,由式(16)可以計(jì)算出每一幀為未隱寫(xiě)幀和隱寫(xiě)幀的概率,記第i幀為未隱寫(xiě)幀的概率為pui,為隱寫(xiě)幀的概率為psi,本文定義語(yǔ)音隱寫(xiě)指數(shù)J為:
(17)
隱寫(xiě)指數(shù)J表示了一段語(yǔ)音中所有幀未隱寫(xiě)概率之和與隱寫(xiě)概率之和的比值。圖6顯示了50段語(yǔ)音在不同嵌入率下的J值。
圖6 不同嵌入率下的隱寫(xiě)指數(shù)
由圖6可知,語(yǔ)音進(jìn)行隱寫(xiě)后隱寫(xiě)指數(shù)J發(fā)生明顯變化,且嵌入率越大J值越小。本文通過(guò)設(shè)置閾值Jthr來(lái)判斷語(yǔ)音是否隱寫(xiě):當(dāng)J≥Jthr時(shí),判定為未隱寫(xiě)語(yǔ)音;當(dāng)J CNT(JS:Jsj (18) 其中:CNT(JU:Juj≥Jthr)和CNT(JS:Jsj 首先利用未隱寫(xiě)和隱寫(xiě)的語(yǔ)音訓(xùn)練網(wǎng)絡(luò)參數(shù),即學(xué)習(xí)CPT;然后利用CPT分別計(jì)算未隱寫(xiě)訓(xùn)練樣本的隱寫(xiě)指數(shù)集合JU和隱寫(xiě)訓(xùn)練樣本的隱寫(xiě)指數(shù)集合JS;接著從隱寫(xiě)指數(shù)集合JU和集合JS的并集中找出一個(gè)元素作為區(qū)分隱寫(xiě)樣本和未隱寫(xiě)樣本的隱寫(xiě)指數(shù)閾值Jthr,使得在訓(xùn)練樣本中準(zhǔn)確率最高;最后利用CPT和對(duì)未知類(lèi)型的語(yǔ)音隱寫(xiě)樣本進(jìn)行分類(lèi),以判斷其是否為隱寫(xiě)樣本。 本文從互聯(lián)網(wǎng)上隨機(jī)搜索了10類(lèi)語(yǔ)音片段組成語(yǔ)音樣本庫(kù),包含了7類(lèi)人類(lèi)說(shuō)話語(yǔ)音和3類(lèi)樂(lè)器音,分別為中文男生、中文女生、英文男生、英文女生、法語(yǔ)、德語(yǔ)、日語(yǔ)、吉他樂(lè)、鋼琴樂(lè)、交響樂(lè),每類(lèi)人類(lèi)說(shuō)話語(yǔ)音由多個(gè)人的語(yǔ)音組成,每類(lèi)數(shù)據(jù)集包含了1 000段語(yǔ)音,每段語(yǔ)音時(shí)長(zhǎng)為10 s,采用單通道、8 kHz、16 b量化編碼為脈沖編碼調(diào)制(Pulse Code Modulation, PCM)格式,編碼方式采用G.723.1高速率6.3 kb/s,每類(lèi)數(shù)據(jù)集按照3∶2的比例劃分為訓(xùn)練集和測(cè)試集。本文除了選用嵌入效率最高的NPP-QIM方法外,還選用對(duì)語(yǔ)音質(zhì)量影響最小的CNV-QIM方法作為隱寫(xiě)方法,選用針對(duì)QIM隱寫(xiě)方法進(jìn)行檢測(cè)的IDC方法和盲檢測(cè)方法DMFCC方法作為對(duì)比。本文將從嵌入率、語(yǔ)音時(shí)長(zhǎng)和網(wǎng)絡(luò)參數(shù)復(fù)雜度三個(gè)方面對(duì)算法進(jìn)行性能分析。 對(duì)語(yǔ)音樣本進(jìn)行秘密信息嵌入時(shí),為了提升安全性能和降低對(duì)語(yǔ)音質(zhì)量的影響,可以采用降低嵌入率的方式實(shí)現(xiàn)。本文針對(duì)5種嵌入率進(jìn)行了實(shí)驗(yàn),表1列出了3種隱寫(xiě)檢測(cè)方法CBN、IDC和DMFCC在數(shù)據(jù)集中分別使用兩種隱寫(xiě)方法CNV-QIM和NPP-QIM的檢測(cè)準(zhǔn)確率。 由表1知,隨著嵌入率的降低,3種隱寫(xiě)檢測(cè)方法準(zhǔn)確率都會(huì)有所下降。當(dāng)嵌入率大于60%時(shí),CBN方法和IDC方法對(duì)CNV-QIM隱寫(xiě)方法都具有很高的檢測(cè)準(zhǔn)確率;當(dāng)嵌入率降低到20%時(shí),IDC方法和DMFCC對(duì)CNV-QIM隱寫(xiě)方法檢測(cè)準(zhǔn)確率均低于70%,而CBN方法仍有77.59%的檢測(cè)準(zhǔn)確率。在檢測(cè)NPP-QIM隱寫(xiě)方法時(shí),IDC方法和DMFCC方法在各種嵌入率下準(zhǔn)確率均低于70%,而CBN方法只有在嵌入率為20%時(shí)準(zhǔn)確率才低于70%,且其他嵌入率下檢測(cè)準(zhǔn)確率明顯高于IDC方法和DMFCC方法;在嵌入率為100%時(shí),QIBM方法準(zhǔn)確率高達(dá)95.23%。 為了更全面地評(píng)估本文提出的隱寫(xiě)檢測(cè)算法性能,本文還評(píng)估了語(yǔ)音片段的時(shí)間長(zhǎng)度對(duì)隱寫(xiě)檢測(cè)結(jié)果的影響。在5種時(shí)長(zhǎng)下進(jìn)行了實(shí)驗(yàn),表2列出了3種隱寫(xiě)檢測(cè)方法對(duì)兩種隱寫(xiě)方法的檢測(cè)準(zhǔn)確率。 表2 不同時(shí)長(zhǎng)下隱寫(xiě)分析準(zhǔn)確率 % 由表2可知,CBN方法對(duì)CNV-QIM隱寫(xiě)方法和NPP-QIM隱寫(xiě)方法在不同時(shí)長(zhǎng)下均具有很高的檢測(cè)準(zhǔn)確率,隨著語(yǔ)音時(shí)長(zhǎng)變短準(zhǔn)確率略微下降。在檢測(cè)CNV-QIM隱寫(xiě)方法時(shí),CBN方法和IDC方法檢測(cè)準(zhǔn)確率都大于90%,DMFCC方法檢測(cè)準(zhǔn)確率低于70%;在檢測(cè)NPP-QIM隱寫(xiě)方法時(shí),CBN方法在各種時(shí)長(zhǎng)下準(zhǔn)確率均具有明顯高于IDC方法和DMFCC方法,在語(yǔ)音時(shí)長(zhǎng)為2 s時(shí),CBN方法對(duì)NPP-QIM隱寫(xiě)方法仍具有85.21%的檢測(cè)準(zhǔn)確率,而IDC方法和DMFCC方法準(zhǔn)確率均低于60%。 由前文分析知,CBN中隨機(jī)變量X1的CPT大小為2,X2、X3、X4的CPT大小為512,X5、X6、X7的CPT大小為1 024,X2、X3、X4、X5、X6、X7的CPT大小直接由X2、X3、X4的取值個(gè)數(shù)決定。在CBN中,隨機(jī)變量X2、X3、X4的取值分別對(duì)應(yīng)VQ1、VQ2、VQ3的取值。為了減小CPT的存儲(chǔ)空間,可以使隨機(jī)變量X2、X3、X4的取值分別對(duì)應(yīng)VQ1、VQ2、VQ3的多個(gè)取值,即將VQ1、VQ2、VQ3的取值劃分為多個(gè)區(qū)間,每個(gè)區(qū)間對(duì)應(yīng)X2、X3、X4的一個(gè)取值。本文定義網(wǎng)絡(luò)參數(shù)復(fù)雜度為VQ1、VQ2、VQ3的區(qū)間劃分個(gè)數(shù),記為Rn,且每個(gè)區(qū)間取值個(gè)數(shù)相同,為256/Rn,則X2、X3、X4的CPT大小為2Rn,X5、X6、X7的CPT大小為4Rn。區(qū)間劃分過(guò)程為:首先統(tǒng)計(jì)原始載體樣本中VQ1、VQ2、VQ3取值直方圖;然后將直方圖中的取值按從大到小降序排列,最后將排序后的取值化為Rn個(gè)區(qū)間,在本實(shí)驗(yàn)中,Rn={4,8,16,32,64,128,256}。不同網(wǎng)絡(luò)參數(shù)復(fù)雜度的隱寫(xiě)檢測(cè)準(zhǔn)確率如圖8所示。 圖8 不同網(wǎng)絡(luò)參數(shù)復(fù)雜度下的檢測(cè)準(zhǔn)確率 為了比較本文檢測(cè)方法在不同網(wǎng)絡(luò)參數(shù)復(fù)雜度與現(xiàn)有的IDC方法和DMFCC方法的檢測(cè)性能,圖8中以IDC-CNV和IDC-NPP分別表示使用IDC方法對(duì)CNV-QIM隱寫(xiě)方法和NPP-QIM隱寫(xiě)方法的檢測(cè)準(zhǔn)確率,DMFCC-CNV和DMFCC-NPP分別表示使用DMFCC方法對(duì)CNV-QIM隱寫(xiě)方法和NPP-QIM隱寫(xiě)方法的檢測(cè)準(zhǔn)確率。由圖8可知,CBN方法的隱寫(xiě)檢測(cè)準(zhǔn)確率隨著網(wǎng)絡(luò)參數(shù)復(fù)雜度增大而變高,這是因?yàn)榫W(wǎng)絡(luò)參數(shù)越復(fù)雜,網(wǎng)絡(luò)越能反映隱寫(xiě)前后條件概率的變化。當(dāng)網(wǎng)絡(luò)參數(shù)復(fù)雜度等于8時(shí),檢測(cè)CNV-QIM隱寫(xiě)方法準(zhǔn)確率大于85%;當(dāng)網(wǎng)絡(luò)參數(shù)復(fù)雜度等于64時(shí),檢測(cè)NPP-QIM隱寫(xiě)方法準(zhǔn)確率大于85%。在檢測(cè)CNV-QIM隱寫(xiě)方法和NPP-QIM隱寫(xiě)方法時(shí),IDC方法檢測(cè)準(zhǔn)確率和CBN方法分別在網(wǎng)絡(luò)參數(shù)復(fù)雜度為64和16時(shí)相當(dāng),CBN方法在每種網(wǎng)絡(luò)參數(shù)復(fù)雜度下均比DMFCC方法檢測(cè)準(zhǔn)確率高。 由于網(wǎng)絡(luò)參數(shù)復(fù)雜度只對(duì)CPT有影響,檢測(cè)時(shí)只需查詢CPT,因此網(wǎng)絡(luò)參數(shù)復(fù)雜度對(duì)檢測(cè)時(shí)間基本沒(méi)有影響。本文在Inter i7- 4700MQ@ 2.4 GHz、8 GB內(nèi)存的Windows 7系統(tǒng)上使用Microsoft Visual Studio 2010進(jìn)行了檢測(cè)時(shí)間測(cè)試,本文提出的CBN方法檢測(cè)一段10 s長(zhǎng)的語(yǔ)音平均時(shí)間為21 ms,可以達(dá)到實(shí)時(shí)檢測(cè)的效果。 以上的實(shí)驗(yàn)結(jié)果和分析表明本文提出的CBN方法對(duì)QIM隱寫(xiě)算法具有良好的檢測(cè)性能,比IDC方法和DMFCC方法在不同嵌入率下和不同時(shí)長(zhǎng)下都有更高的檢測(cè)準(zhǔn)確率。 針對(duì)現(xiàn)有隱寫(xiě)分析方法對(duì)NPP-QIM隱寫(xiě)方法檢測(cè)準(zhǔn)確率不高的問(wèn)題,本文提出了一種基于貝葉斯網(wǎng)絡(luò)的QIM信息隱藏檢測(cè)方法,從時(shí)空兩個(gè)角度分析了壓縮語(yǔ)音碼字轉(zhuǎn)移關(guān)系,并基于隱寫(xiě)敏感碼字時(shí)空轉(zhuǎn)移網(wǎng)絡(luò)構(gòu)建了碼字貝葉斯網(wǎng)絡(luò),結(jié)合大量樣本學(xué)習(xí)網(wǎng)絡(luò)參數(shù)和訓(xùn)練隱寫(xiě)指數(shù)閾值,實(shí)現(xiàn)隱寫(xiě)檢測(cè)分類(lèi)。在不同嵌入率、不同語(yǔ)音時(shí)長(zhǎng)和不同網(wǎng)絡(luò)參數(shù)復(fù)雜度條件下的多組實(shí)驗(yàn)結(jié)果表明,本文提出的CBN方法能夠有效地檢測(cè)QIM信息隱藏,特別是在檢測(cè)NPP-QIM時(shí)準(zhǔn)確率有了明顯的提升,在網(wǎng)絡(luò)參數(shù)復(fù)雜度較低時(shí),仍然具有較高的檢測(cè)準(zhǔn)確率;同時(shí)CBN方法檢測(cè)所用時(shí)間很少,實(shí)現(xiàn)了對(duì)QIM信息隱藏的實(shí)時(shí)檢測(cè)。此外,本文方法的思想可用于檢測(cè)其他語(yǔ)言編碼器中的QIM信息隱藏方法,如SILK、iLBC和G.729等。在接下來(lái)的工作中,將進(jìn)一步研究貝葉斯網(wǎng)絡(luò)在其他類(lèi)型的壓縮語(yǔ)音信息隱藏檢測(cè)方法中的應(yīng)用。4 實(shí)驗(yàn)結(jié)果與分析
4.1 不同嵌入率下的檢測(cè)性能分析
4.2 不同時(shí)長(zhǎng)下的檢測(cè)性能分析
4.3 網(wǎng)絡(luò)參數(shù)復(fù)雜度性能分析
5 結(jié)語(yǔ)