馬雨田 陳丹
(南京航空航天大學(xué),江蘇 南京 210016)
基于預(yù)測誤差變化的視頻隱寫分析技術(shù)研究
馬雨田 陳丹
(南京航空航天大學(xué),江蘇 南京 210016)
將機密信息秘密地隱藏在多媒體數(shù)據(jù)之中,使發(fā)送方和接收方之間能夠隱秘地進行通信,但是不會過多影響多媒體數(shù)據(jù)的質(zhì)量,如音質(zhì)和畫質(zhì),從而將載密的多媒體數(shù)據(jù)混雜在正常的多媒體數(shù)據(jù)之間,使攻擊者不能發(fā)覺到通信的存在。基于預(yù)測誤差變化的隱寫分析就是盡可能地從眾多多媒體數(shù)據(jù)中探查出經(jīng)過了隱寫術(shù)處理的載密數(shù)據(jù),截取或破壞隱秘通信雙方之間傳遞的信息。
隱寫分析;運動矢量;預(yù)測誤差;特征提取
近年來,信息隱藏技術(shù)快速發(fā)展,不但成為了密碼技術(shù)應(yīng)用的新領(lǐng)域,被應(yīng)用于許多領(lǐng)域,而且成為保護知識產(chǎn)權(quán)的數(shù)字化產(chǎn)品的有力手段。將一些隱藏信息附加到多媒體數(shù)據(jù)之中進行隱蔽的消息傳遞,可使用的載體有圖片GIF文件、音頻MP3文件、視頻YUV文件等,通過使用信息隱藏技術(shù)可以在公開信道中完成機密信息的傳輸,使攻擊者難以在海量的數(shù)據(jù)中分析出哪一個可能有問題,這樣自然也就沒辦法攔截到秘密信息,更無從提起解密其中的信息了,這就保障了秘密信息的安全,并且不會對載體的感官效果造成過多影響。作為攻擊隱寫術(shù)的方法,隱寫分析技術(shù)力圖從海量多媒體數(shù)據(jù)中快速找出有嵌入可能的數(shù)據(jù)文件的存在[1],一旦檢測出機密信息,就可以利用密碼學(xué)等知識對機密信息進行提取和破譯。在視頻數(shù)據(jù)在互聯(lián)網(wǎng)以及微博、微信等流行的信息交換媒介中廣受歡迎的趨勢下,以視頻數(shù)據(jù)作為載體而進行的視頻隱寫研究正在走進越來越多人的視野中。
視頻隱寫為人們在網(wǎng)絡(luò)上自由地存儲和傳輸秘密的多媒體信息提供了一條行之有效的途徑。為了防止機要信息的泄露、確保承載信息安全,對視頻隱寫分析技術(shù)的研究也受到了廣泛關(guān)注。
隱寫術(shù)就是在不影響質(zhì)量的前提下,將一些秘密信息添加到多媒體數(shù)據(jù)中,從而與秘密信息的接收端進行隱蔽的消息傳遞。可用作載體數(shù)據(jù)的多媒體數(shù)據(jù)有許多種,如圖片、音頻、視頻等,通過使用隱寫術(shù)可以在不引人察覺的情況下,完成秘密信息的傳輸。未經(jīng)隱寫術(shù)修改的多媒體數(shù)據(jù)被稱作載體數(shù)據(jù),在載體數(shù)據(jù)中嵌入秘密信息后,載體數(shù)據(jù)就變成了載密數(shù)據(jù)。
秘密信息比特能夠被嵌入碼流,不引起察覺地隱藏在視頻等數(shù)據(jù)中[2],主要有以下兩個原因。①多媒體數(shù)據(jù)之中存在很多的冗余信息,也就是重復(fù)的,并不是必要的信息。未經(jīng)過壓縮的多媒體數(shù)據(jù)的編碼效率很低,但是即使經(jīng)過壓縮,壓縮后的多媒體數(shù)據(jù)之中也仍然會含有不少的冗余信息,不過不會影響多媒體數(shù)據(jù)本身的傳輸、存儲和使用。②我們的視聽系統(tǒng)不是那么敏感。對有一些誤差的聲音,有一點亮度或色彩不同的圖像,我們不能分辨出來它們的不同。正是因為我們無法察覺細微的差異,就給數(shù)據(jù)的嵌入提供了好機會。
視頻隱寫術(shù)力求做到使嵌入秘密信息比特后的載密數(shù)據(jù)的統(tǒng)計特性與未嵌入時保持一致,以求使基于統(tǒng)計特征的視頻隱寫分析算法失效,但是隱寫術(shù)無法考慮視頻數(shù)據(jù)的全部統(tǒng)計特性分布,這是因為視頻數(shù)據(jù)具有自相關(guān)性,比較有規(guī)律,對一處進行的改動可能同時影響多個統(tǒng)計特性,不太可能完全考慮視頻數(shù)據(jù)的所有統(tǒng)計特性分布。同時,由于載體數(shù)據(jù)的不確定性,數(shù)據(jù)本身并沒有特定的統(tǒng)計特性分布,所以往往嵌入秘密信息比特后數(shù)據(jù)的統(tǒng)計特性會發(fā)生改變。因此,利用隱寫術(shù)嵌入時幾乎必然帶來統(tǒng)計特性分布的差異,來進行分析和判斷的方法是完全可行的。
視頻隱寫分析技術(shù)是通過分析隱寫術(shù)對視頻數(shù)據(jù)進行處理后,視頻數(shù)據(jù)的統(tǒng)計特性及分布有無發(fā)生可檢測到的變化,找出可用的變化后,就可以以此為根據(jù)使用數(shù)學(xué)的方法提取出對隱寫嵌入敏感的特征統(tǒng)計量,進而設(shè)計相應(yīng)的檢測方法。視頻隱寫分析方法的重點是提取改變后受到影響較明顯的特征統(tǒng)計量,提取特征之后,還需要使用分類器對提取出的統(tǒng)計量進行訓(xùn)練與分類,本次選用SVM分類器。
視頻數(shù)據(jù)具有自相關(guān)性,包括空間相關(guān)性和時間相關(guān)性。空間相關(guān)性,就是同一幀中擁有相近的位置坐標的宏塊之間具有的相關(guān)性,如同一幀中相鄰近的宏塊之間彼此具有相近的預(yù)測誤差和相近方向和大小的運動矢量。空間位置相近的宏塊很有可能描繪同一個物體,那么它們的色彩會相近,在同一幀中當(dāng)然會向著同一個方向趨向,擁有相差不大的運動速度。時間相關(guān)性,就是相鄰的兩幀中相同位置坐標附近的兩幀中的宏塊所有的相關(guān)性,比如說對于在時間上相鄰的兩個幀,相同位置坐標的兩個分別在前一個幀和后一個幀的宏塊也會具有相近的預(yù)測誤差和相近的運動矢量[3]。
如果對視頻數(shù)據(jù)做出了嵌入修改,那么勢必會擾亂這種很有規(guī)律的相關(guān)性,所以在本章,研究實現(xiàn)了一組基于預(yù)測誤差變化的統(tǒng)計特征值,使之用于視頻隱寫分析方法。為了進一步提高檢測率,實現(xiàn)基于時間相關(guān)性和空間相關(guān)性的統(tǒng)計特征與其配合。基于運動矢量的視頻隱寫算法[4],可以同時應(yīng)用時間相關(guān)性特征、空間相關(guān)性特征和預(yù)測誤差特征進行組合來進行檢測。
3.1 特征提取
3.1.1 空間相關(guān)性特征。先定義運動矢量MVt(u,v),t表示當(dāng)前幀是第幾幀,坐標(u,v)表示當(dāng)前宏塊在所在幀中的位置,MV表示當(dāng)前宏塊經(jīng)過運動估計和補償之后的運動矢量。我們知道,運動矢量矩陣中運動矢量的分布比較有規(guī)律,相鄰近的運動矢量的趨向方向也大致相近,為了描述這種規(guī)律,選擇水平方向、垂直方向、對角方向、反對角方向一共4個方向,為了簡化,如果分別用Dht(u,v)、Dvt(u,v)、Ddt(u,v)、Dmt(u,v)表示運動矢量矩陣中的元素與在這些方向上的其他元素的差值,就會知道運動矢量與哪個方向上的臨近運動矢量比較相似。對運動矢量矩陣進行運算,得到含有描述空間規(guī)律性的差值矩陣。為了使用概率來更清晰地描述,在差值矩陣的基礎(chǔ)上計算概率轉(zhuǎn)移矩陣Mh、Mv、Md、Mm。
3.1.2 時間相關(guān)性特征。視頻中大多數(shù)相鄰的兩幀所描述的運動狀態(tài)是相近的,表現(xiàn)在幀的宏塊中就是相同位置坐標的宏塊其運動矢量的大小和方向是相近的,為了描述這種規(guī)律性,使用相同位置坐標宏塊的運動矢量的差值,計算兩幀的運動矢量矩陣之間的差,就能得到明確的描述時域特征的差值矩陣。
3.1.3 預(yù)測誤差特征。前面我們分析了使用運動矢量的時間相關(guān)性和空間相關(guān)性提取特征來達到檢測運動矢量是否經(jīng)過了修改的目的,但是有些隱寫算法考慮到運動矢量的修改會引起特征值的改變,它們對運動矢量的修改非常微小,這樣就不得不考慮利用其他特征,結(jié)合時空相關(guān)性的特征來進行判斷。
由H.264/AVC的編碼解碼過程研究[5]可知,隱寫算法在修改了運動矢量之后,修改后的運動矢量所對應(yīng)的參考宏塊可能會發(fā)生改變,那么再進行編碼的時候,運動矢量對應(yīng)的預(yù)測誤差同樣會發(fā)生改變。顯然,只有使預(yù)測誤差同樣發(fā)生變化,才能使編碼得到的視頻不會失真[6,7]。
根據(jù)這個修改運動矢量,需要考慮預(yù)測誤差會同樣發(fā)生改變,如果隱寫算法沒有考慮到這個問題,那么修改后的運動矢量所對應(yīng)的參考宏塊就有可能和當(dāng)前宏塊的差距比較大,那么預(yù)測誤差就會比正常情況下的預(yù)測誤差偏大,這樣,預(yù)測誤差的變化就會使隱寫算法有可能被探查到。本次就是基于這個特點設(shè)計了一組基于預(yù)測誤差的特征用于檢測隱寫算法[8]。
運動矢量在一定的搜索范圍內(nèi)連接的是當(dāng)前宏塊和其最佳匹配塊,既然是最佳匹配塊作為參考宏塊,那么當(dāng)前宏塊和最佳匹配塊之間的SAD就會是最小的。計算公式如下:

其中b是指b*b大小的宏塊。
沒有經(jīng)過嵌入的運動矢量所搜索選擇的參考塊是在附近位置一定范圍內(nèi)的最佳匹配塊,如果運動矢量經(jīng)過了修改,那么參考宏塊就會偏離最佳匹配塊,參考宏塊和當(dāng)前宏塊所對應(yīng)的SAD就會偏大。因此,通過統(tǒng)計這個特征量的值,判斷其是否比正常值偏大,就可能判斷此運動矢量是否經(jīng)過了嵌入修改。
因為預(yù)測誤差的計算方法就是當(dāng)前宏塊和參考宏塊求取色素差值,而宏塊的絕對差之和SAD特征值的計算方法是取得宏塊內(nèi)所有色素差值的絕對值的加和,這與預(yù)測誤差本身的計算方法類似,為了簡便,我們就直接使用預(yù)測誤差矩陣E,通過取得其大小從-100到+100之間的概率分布來作為直方圖特征。概率分布直方圖特征表示方法如下:

預(yù)測誤差特征的維數(shù)是201維。
3.2 算法實現(xiàn)
視頻隱寫分析算法的目標對象是壓縮后的視頻數(shù)據(jù)文件,這是因為未經(jīng)壓縮的視頻文件比如YUV文件含有的冗余過多,用于傳輸和存儲的視頻文件一般以壓縮后的視頻數(shù)據(jù)文件為主。所以特征的提取應(yīng)該在解碼過程。
3.2.1 實驗環(huán)境。本次研究的目標對象是YUV視頻文件經(jīng)由H.264壓縮之后生成的.264文件,在把.264文件解壓為YUV文件的過程中進行運動矢量的提取。為了方便修改和添加源代碼,本次研究使用ffmpage的源代碼中的解碼部分,項目編輯平臺使用VS 2013。在提取運動矢量之后,為了方便運算,本次實驗使用Matlab R2014a軟件進行特征值運算,同時使用LIBSVM進行更進一步的實驗數(shù)據(jù)獲取。
解碼流程和提取函數(shù):因為特征提取是在解碼過程中,所以在此詳細研究一下解碼端代碼的解碼流程。在主函數(shù)中設(shè)定好輸出目錄和文件之后,調(diào)用解碼函數(shù)de?code()。decode()函數(shù)的執(zhí)行流程如圖1所示。
前面的幾個函數(shù)av_register_all()、avformat_net?work_init()、avformat_open_input()、avformat_find_stream_in?fo()的主要作用是初始化解碼器,初始化存儲壓縮視頻數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),供函數(shù)運算和使用。
avcodec_open2()等函數(shù)的作用是讀入壓縮后的.264視頻數(shù)據(jù)流。
av_read_frame()函數(shù)的作用是讀取一幀。
avcodec_decode_video2()和sws_scale()函數(shù)配合進行循環(huán)解碼。
avcodec_find_decoder()函數(shù)的作用是尋找解碼器。
提取運動矢量的函數(shù)就是printMVMatrix(),在解碼過程中把運動矢量讀出并寫入文件,以供特征值的計算。
3.2.2 算法流程。過程如下:①初始化,讀入壓縮視頻流進行解碼;②在解碼過程中取得所有的運動矢量和預(yù)測誤差并寫入文件保存;③計算空間相關(guān)性特征、時間相關(guān)性特征和預(yù)測誤差特征;④整理所有特征值,輸入LIBSVM分類器;⑤訓(xùn)練LIBSVM;⑥使用LIBSVM對視頻進行分類。如圖2所示。

圖1 decode()函數(shù)執(zhí)行流程圖

圖2 視頻隱寫分析算法流程圖
3.3 結(jié)果和分析
3.3.1 實驗數(shù)據(jù)。①視頻隱寫算法:實驗使用基于運動矢量的視頻隱寫方法,嵌入秘密消息為偽隨機序列。②實驗數(shù)據(jù):從互聯(lián)網(wǎng)上下載10個標準視頻序列,視頻格式Y(jié)UV,將所有視頻分割成互不相交的長度為30幀的子序列,得到100個子序列。分別選擇嵌入幀數(shù)分別為10幀、20幀、30幀的嵌入比例,使用設(shè)定好的算法嵌入消息,得到測試序列。測試序列為300個嵌入消息的. h264格式壓縮視頻序列,壓縮率為25kbps。③訓(xùn)練和分類:測試序列使用70%進行訓(xùn)練,余下30%用于分類。
3.3.2 檢測率實驗結(jié)果。檢測率結(jié)果見表1。為了更明確地說明,繪制折線圖,如圖3所示。
3.3.3 漏檢率和虛警率實驗結(jié)果。漏檢率結(jié)果見表2。為了更明確地說明,繪制折線圖,如圖4所示。
虛警率結(jié)果見表3。為了更明確地說明,繪制折線圖,如圖5所示。

表1 不同嵌入率下不同特征的檢測率

表2 不同嵌入率下不同特征的漏檢率

表3 不同嵌入率下不同特征的虛警率

圖3 不同嵌入率下不同特征的檢測率折線圖

圖4 不同嵌入率下不同特征的漏檢率折線圖

圖5 不同嵌入率下不同特征的虛警率折線圖
由實驗結(jié)果可知,隨著嵌入比例的提高,使用各個不同的特征及特征組合檢測視頻時的檢測率都有所提升,漏檢率和虛警率有所下降。在相同嵌入率的情況下,可以通過比較知道:時間相關(guān)性特征的檢測率<空間相關(guān)性特征的檢測率<時空相關(guān)性特征組合的檢測率≤時空相關(guān)性特征和預(yù)測誤差特征組合的檢測率。由此可以得出如下結(jié)論。
①在某種范圍內(nèi),嵌入比例越高,檢測率也越高,漏檢率和虛警率越低;②在相同嵌入率的情況下,空間相關(guān)性特征的檢測效果比時間相關(guān)性特征的檢測效果稍好一些,說明空間相關(guān)性特征更有效一些;③在相同嵌入率的情況下,組合特征的檢測效果比單個特征的檢測效果更好,說明組合特征比單個特征更加有效;④在相同嵌入率的情況下,S+T+E的組合特征檢測效果比S+T的組合特征檢測效果更好,驗證了預(yù)測誤差特征的有效性。
[1]Iain E.G.Richardson.H.264和MPEG-4視頻壓縮[M].歐陽合,韓軍,譯.長沙:國防科技大學(xué)出版社,2004.
[2]Yun Cao,Xianfeng Zhao,DengGuo Fang.Video Steganaly?sis Exploiting Motion Vector Reversion-Based Features[J].IEEE SIGNAL PROCESSING LETTERS,JANUARY,2012(1):35-38.
[3]C.Zhang,Y.Su,C.Zhang.Video steganalysis based on aliasing detection[J].ELECTRONICS LETTERS,2008(13):801-803.
[4]葉惠.基于運動矢量的視頻隱寫分析方法研究[D].北京:中國科學(xué)技術(shù)大學(xué),2014.
[5]徐長勇.視頻數(shù)字隱寫與隱寫分析技術(shù)研究[D].北京:解放軍信息工程大學(xué),2009.
[6]梁惠.視頻信息隱藏關(guān)鍵技術(shù)研究[D].北京:中國科學(xué)技術(shù)大學(xué),2010.
[7]張新源.濕紙編碼在圖像隱寫技術(shù)中的應(yīng)用研究[D].南京:南京航空航天大學(xué),2015.
[8]劉爭艷.H.264/AVC視頻流的信息隱藏技術(shù)研究[D].長沙:湖南大學(xué),2009.
Research on Video Steganalysis Based on Prediction Error Variation
Ma YutianChen Dan
(Nanjing University of Aeronautics and Astronautics,Nanjing Jiangsu 210016)
Secretly secretly hidden in the multimedia data,provides the secret between the sender and the receiver to communicate,but not too much impact on the quality of multimedia data,such as sound and picture quality,thus will carry mix of multimedia data between the normal multimedia data,the attacker can't find to communication.Predic?tive error analysis based on steganalysis is as much as possible from a large number of multimedia data to explore the steganographic processing of the confidential data,intercept or destroy the secret communication between the two sides of the transmission of information.
steganographic analysis;motion vector;the prediction error;feature extraction
TP309
A
1003-5168(2017)08-0023-04
2017-07-04
馬雨田(1993-),女,本科,研究方向:信息安全。