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

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

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

圖1 decode()函數執行流程圖

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

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

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

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

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

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

圖5 不同嵌入率下不同特征的虛警率折線圖
由實驗結果可知,隨著嵌入比例的提高,使用各個不同的特征及特征組合檢測視頻時的檢測率都有所提升,漏檢率和虛警率有所下降。在相同嵌入率的情況下,可以通過比較知道:時間相關性特征的檢測率<空間相關性特征的檢測率<時空相關性特征組合的檢測率≤時空相關性特征和預測誤差特征組合的檢測率。由此可以得出如下結論。
①在某種范圍內,嵌入比例越高,檢測率也越高,漏檢率和虛警率越低;②在相同嵌入率的情況下,空間相關性特征的檢測效果比時間相關性特征的檢測效果稍好一些,說明空間相關性特征更有效一些;③在相同嵌入率的情況下,組合特征的檢測效果比單個特征的檢測效果更好,說明組合特征比單個特征更加有效;④在相同嵌入率的情況下,S+T+E的組合特征檢測效果比S+T的組合特征檢測效果更好,驗證了預測誤差特征的有效性。
[1]Iain E.G.Richardson.H.264和MPEG-4視頻壓縮[M].歐陽合,韓軍,譯.長沙:國防科技大學出版社,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].北京:中國科學技術大學,2014.
[5]徐長勇.視頻數字隱寫與隱寫分析技術研究[D].北京:解放軍信息工程大學,2009.
[6]梁惠.視頻信息隱藏關鍵技術研究[D].北京:中國科學技術大學,2010.
[7]張新源.濕紙編碼在圖像隱寫技術中的應用研究[D].南京:南京航空航天大學,2015.
[8]劉爭艷.H.264/AVC視頻流的信息隱藏技術研究[D].長沙:湖南大學,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-),女,本科,研究方向:信息安全。