《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > H.264標(biāo)準(zhǔn)中基于感知加密算法的視頻加密方案
H.264標(biāo)準(zhǔn)中基于感知加密算法的視頻加密方案
來源:電子技術(shù)應(yīng)用2012年第1期
王亞民, 鄧虎超
西安科技大學(xué) 通信與信息工程學(xué)院, 陜西 西安710054
摘要: 針對多媒體視頻傳輸?shù)陌踩耘c實時性的要求,提出一種基于H.264感知加密算法的視頻加密方案。該方案將視頻數(shù)據(jù)分為VLC(Variable Length Code)和FLC(Fix-Length Code)兩類,只選擇FLC中對重構(gòu)圖像比較重要的元素進(jìn)行加密操作。理論分析和仿真結(jié)果表明,該加密方案具有安全性高,低成本系統(tǒng)開銷的特性。
中圖分類號: TN918.91
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2012)01-0133-03
The video encryption scheme based on perceptual encryption algorithm in H.264 standards
Wang Yamin, Deng Huchao
School of Communication and Information Engineering,Xi′an University of Science and Technology, Xi′an 710054,China
Abstract: To meet the requirement of multimedia video transmission's safety and real-time ,this paper provides a conclution based on video encryption schemes of the encryption algorithm.The solution sorts video data into VLC(Variable Length Code) and FLC(Fix-Length Code) ,only choose to reconstruction images FLC compared to encrypt the important element of the operation. The analysis and the simulation results show that the encryption scheme is not only high safety but also low cost system.
Key words : video encrypting; H.264 coding standards; perception encryption algorithm; FLC; safety

    2003年3月發(fā)布的H.264是目前最新的視頻編碼標(biāo)準(zhǔn)。它采用了1/8精度的運動估計、4×4整數(shù)變換、CAVLC和CABAC等新技術(shù),使得壓縮效率和圖像播放質(zhì)量有了顯著提高。與以往標(biāo)準(zhǔn)相比,在相同率失真的條件下,編碼效率提高了50%左右。H.264應(yīng)用范圍非常廣闊,包括視頻會議、可視電話、會議電視等即時通信,以及數(shù)字電視廣播、數(shù)字存儲、流媒體等方面。

    隨著視頻應(yīng)用的日益廣泛,視頻的安全性變得越來越重要。基于以往的標(biāo)準(zhǔn),人們研究了許多加密算法:有用傳統(tǒng)密碼技術(shù)進(jìn)行全部加密的方法,如DES算法、CSC算法和VEA算法,這類算法雖然有較高的安全性并且不改變壓縮比,但是計算復(fù)雜度很高;有對DCT系數(shù)進(jìn)行加密的方法,如分段置亂算法,這類算法雖然有較低的計算復(fù)雜度,但是安全性低于全部加密的算法,壓縮比也有所改變;有在熵編碼過程中進(jìn)行加密的方法,如多狀態(tài)索引方法,這類算法雖然計算復(fù)雜度低,對壓縮比的影響較小,但在已知明文攻擊情況下是不安全的。上述方法各有優(yōu)缺點,而且大多針對MPEG標(biāo)準(zhǔn),因此研究適合H.264特點的安全加密技術(shù)成為目前研究的熱點。
    針對現(xiàn)有視頻加密算法的不足,本文提出一種基于H.264的可感知加密算法。
1 加密數(shù)據(jù)元素的分析與選取
    對H.264編碼宏塊語義層進(jìn)行分析,決定提取幀內(nèi)預(yù)測模式字(Intra Prediction Mode)、運動向量差值(Motion Vector Differ_ence)和殘差系數(shù)(Residual Coefficient)三類定長語法元素(fix-length code)進(jìn)行加密操作[1]。
1.1 幀內(nèi)預(yù)測模式字
    根據(jù)每個宏塊所屬片組的不同,每一個宏塊都有幾種編碼預(yù)測模式。但幀內(nèi)預(yù)測編碼是所有片組編碼類型中都支持的。對亮度像素塊而言,存在有Intra_4×4, Intra_8×8、Intra_16×16三種預(yù)測模式。Intra_4×4模式下有9種預(yù)測模式,適用于對圖像細(xì)節(jié)部分進(jìn)行編碼,Intra_16×16有4種預(yù)測模式,適用于對平坦區(qū)域進(jìn)行圖像編碼[2]。
  采用Intra_4×4的編碼模式字進(jìn)行加密操作。每一個4×4塊都是通過上方和左方像素預(yù)測而來,如圖1所示,a-p為待預(yù)測像素,它利用相鄰塊中已經(jīng)解碼的A-Q像素來進(jìn)行預(yù)測。對每一個4×4塊,總共有9種模式供選擇[2],其中除了DC模式,另外8種預(yù)測模式的方向也在圖1中。

    Intra_4×4的編碼預(yù)測模式總共有9種預(yù)測模式,至少需要4個bit位來進(jìn)行編碼。在H.264的標(biāo)準(zhǔn)中,利用一個“prev_ Intra_4×4_pred_mode”字段來排除一種預(yù)測方式,用另外3個bit位來表示余下的8種預(yù)測模式。因此,只對后3個bit位進(jìn)行加密擾亂,這樣的加密過程中,不會影響到其他字段,也不會產(chǎn)生額外的碼流。
1.2 運動向量差值
  如圖2所示,在P幀或B幀中,每個宏塊(16×16像素)可以有4種方式來進(jìn)行分割:16×16、8×16、16×8、8×8。如圖2(d)是采用8×8模式,分為4個子宏塊(8×8像素)。每個字宏塊可以進(jìn)一步進(jìn)行分割:8×8、4×8、8×4、4×4。

    每一個分區(qū)或者子宏塊都有一個單獨的運動向量MV(Motion Vector),用于引用前面參考幀的對應(yīng)區(qū)域來對當(dāng)前塊進(jìn)行預(yù)測編碼。每個預(yù)測區(qū)的MV都需要相當(dāng)數(shù)目的比特位來進(jìn)行編碼。為了進(jìn)一步減少比特數(shù),可以利用鄰近的MV之間的相關(guān)性進(jìn)行預(yù)測編碼。后一個MV可由前面已經(jīng)編碼的MV預(yù)測得到,只需要對它們的差值MVD(Motion Vector Difference)進(jìn)行編碼。在H.264中,MVD值是采用指數(shù)哥倫布(Exp-Golomb)進(jìn)行編碼的,這是一種變長編碼[3]。

    本文只對MVD的符號位進(jìn)行加密,對于每一個MVD值,只需要對一個bit位進(jìn)行加密操作。
1.3 殘差系數(shù)
    在H.264中,殘差塊系數(shù)通過CAVLC和CABAC進(jìn)行編碼[4]。在進(jìn)行CAVLC編碼的過程中,涉及到以下幾個語義字段[2]:非零系數(shù)數(shù)目(Total Coeffs)、拖尾系數(shù)數(shù)目(TrailingOnes)、非零系數(shù)幅值(Level)以及最后一個非零系數(shù)前零的個數(shù)(TotalZero)和每個非零系數(shù)前零的個數(shù)(RunBefore)。 經(jīng)過分析,只有TrailingOnes和Level的符號位是屬于定長字段[6],因此提取這兩個字段的符號位進(jìn)行加密操作。如圖3所示。
2 算法設(shè)計

 


    分別引入三個不同的控制參數(shù)P1、P1、P3對預(yù)測模式字IPM、運動向量MVD和殘差系數(shù)Residual Coefficient的加密強(qiáng)度進(jìn)行控制[1],具體方案為:以P1、P2的概率分別對IPM、MVD進(jìn)行加密,當(dāng)P1、P2從0到1進(jìn)行變化時,相應(yīng)地進(jìn)行不加密到完全加密;以P3對Residual Coefficients 系數(shù)符號位進(jìn)行不加密到完全加密控制。
    下面是算法的具體偽代碼描述:
While( syntax element)
{
       Switch(syntax element_type)
       {
             Case: IPM read 3bits from pseudo random sequence;
           new_mode=original_mode XOR 3_bits;
           break;
             Case:MVD Read 1bits from pseudo random sequence;
           new_sign=original_sign XOR 1_bits;
           break;
             Case:DCT  coefficients for each none zero coefficients
           read 1 bits from pseudo random sequence;
           new_sign=original_sign XOR 1_bits;
           break;
           }
      scan for next syntax element;
}
3 仿真結(jié)果與分析
3.1 實驗環(huán)境

    實驗測試條件:H.264/AVC標(biāo)準(zhǔn),JM10.2版本,以IPPP方式進(jìn)行編碼,I幀刷新率為10,幀率為30 F/s,2 GB內(nèi)存,Intel T5670處理器,并用VS2008完成對JM10.2代碼的調(diào)試。實驗中采用CIF格式的352288的foreman作為視頻序列。
3.2 加密效果分析
    單獨加密IPM字段,只是對亮度信息進(jìn)行加密,如圖4中人臉和輪廓信息清晰可見;單獨進(jìn)行MVD加密的過程中,如圖5中,I幀圖像完全不受任何影響,B、P幀的I bock也完全不受影響,關(guān)鍵信息很容易泄露。單獨對殘差系數(shù)進(jìn)行加密,如圖6,與IPM一樣,圖像的輪廓信息沒有很好的隱藏。另外,從對抗解密攻擊能力上來看,單獨對一種加密元素進(jìn)行分析加密空間更小,也更容易實施破解。因此,在視覺安全性要求比較高的場合,應(yīng)該聯(lián)合對所有三種元素進(jìn)行加密,從圖7可以看到,隨著加密強(qiáng)度不斷提高,視頻圖像可感知性不斷下降,在最強(qiáng)的加密強(qiáng)度下,整幅圖像完全被擾亂有很高的視覺安全性。各種方漢加密后PSNR值如表1所示。

3.3安全性分析
    在加密方案中,保持視頻格式的語義兼容性,加密操作并不改變相關(guān)字段的長度。攻擊者會很自然地通過單獨猜解每個字段元素的值來進(jìn)行Cipher-only Attacks[7]。


3.4 性能分析
    一個加密算法的計算復(fù)雜度主要取決于它要進(jìn)行加密的數(shù)據(jù)量。本文加密的數(shù)據(jù)量主要包括IPM、MVD和殘差系數(shù)。在一個宏塊中,IPM和MVD符號位,還有Residual Coefficient的符號位需要加密,因此,要加密的數(shù)據(jù)量同整個視頻數(shù)據(jù)相比,只占很小的部分。所采用的加密操作也僅僅是對相關(guān)的bit位進(jìn)行“異或”操作,所需的系統(tǒng)開銷極小,基本上不會對編解碼帶來影響。
    本文研究了一種在H.264編碼下進(jìn)行Perceptual Encryption的方法,通過對語法元素的分析和編碼方式的研究,選取了IPM、MVD和Residual Coefficient這三種定長字段的元素進(jìn)行加密。通過引入概率參數(shù)來對每種類型的字段加密強(qiáng)度進(jìn)行控制,分析加密不同元素所帶來的視頻加密效果。實驗結(jié)果表明,單獨加密其中任何一種元素,都能對圖像帶來很大的干擾。但要獲得很好的安全性,必須聯(lián)合加密三種元素。這種加密方案具有很好的安全性和實時性,而且不會帶來額外的碼流,保持了視頻的壓縮比不變,并且可以調(diào)整不同的加密強(qiáng)度,適用于各種應(yīng)用的需求。
參考文獻(xiàn)
[1] 劉蕭.基于H.264編碼的視頻加密研究[D].杭州:浙江大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,2010:18-29.
[2] 畢厚杰. 新一代視頻壓縮編碼標(biāo)準(zhǔn): H.264/AVC[M]. 北京:人民郵電出版社,2005.
[3] 李曉舉,馮戰(zhàn)申,胡友情.基于H.264 CAVLC熵編碼的視頻加密方案[J].計算機(jī)工程與應(yīng)用,2009,45(34):114-117.
[4] 包先雨,蔣建國,袁煒,等.H.264/AVC標(biāo)準(zhǔn)中基于CABAC的數(shù)字視頻加密研究[J].通信學(xué)報,2007,28(6):24-29.
[5] QAO L,NAHRSTEDT  K. A  new algorithm for MPEG video encryption[C]. In:Proceeding of the Frist International Conference on Imaging Science,Systems and Technology(CISST’  97),LasVegas,Nevada,1997:21-29.
[6] LIAN S G,LIU Z, REN Z. Secure advanced video coding based on selection algorithms[J]. IEEE Transactions on Consumer Electronics,2006,52(2):621-629.
[7] 李曉舉,忽海娜,劉麗.一種基于H.264CABAC的視頻加密方案[J].電信科學(xué),2010,26(7):80-83.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。