柏 森 郭 雨② 趙 波 代勤芳
?
基于CABAC的視覺質量可控的H.264視頻感知加密算法
柏 森*①郭 雨①②趙 波①代勤芳③
①(重慶通信學院 重慶 400035)②(77108部隊 崇州 611230)③(78088部隊 重慶 400039)
在視頻點播等應用中,為了刺激消費者購買高質量的視頻,需要對視頻進行特別的感知加密,使視頻加密后仍然部分可見。該文提出一種Context-based Adaptive Binary Arithmetic Coding (CABAC)的視覺質量可控的快速感知加密算法。利用2D超混沌系統生成的流密碼對重要的語法元素和敏感的編碼元素異或加密。加密內容包括運動矢量差的符號位、非零系數符號位和語法元素significant_coeff_flag。分析及實驗結果表明,提出的感知加密算法對碼率無影響,編碼時間僅增加7‰左右,視頻質量隨著質量因子的改變而變化,滿足視頻感知加密的應用需求。
視頻加密;感知加密;H.264/AVC;質量控制
傳統的基于數據加密標準的視頻加密算法效率較低,而效率相對較高的基于視頻特性的加密算法安全性又不夠[1]。因此,針對具體的應用,如何在視頻加密高效性與安全性之間折中設計是近年來視頻加密算法研究的熱點,其主要算法有選擇加密、感興趣加密、感知加密等。選擇加密是選擇視頻的部分編碼參數進行加密,追求的是加密算法的安全性和高效性。感興趣加密選取視頻幀中重要的、攻擊方感興趣的區域進行加密,追求的重要區域的安全性和加密效率。感知加密實質是對視頻質量進行控制,以達到商業應用的目的。如在視頻點播等應用中,為了刺激消費者購買高質量的視頻,需要對視頻進行特別的感知加密。
就加密方法而言,一些感知加密算法可歸為選擇加密,同時一些選擇加密算法的效果也類似于感知加密效果[2]。但感知加密仍值得深入研究,近年來呈現出了上升的研究趨勢,文獻[3]提出了一種基于MPEG的感知加密的算法,分別加密幀內DC系數、幀間非零DC系數的符號和運動矢量。該算法具有較快的加密速度和良好的感知加密效果,能夠抵抗已知密文分析和已知明文分析,有較高的安全性。文獻[4]設計了一種適合移動設備的感知加密算法,該算法具有運算簡單、加密速度快等特點。但加密后視頻質量只能夠階躍地衰減,不滿足應用中對不同視頻質量的需求。文獻[3,4]都是通過將多種語法元素同時加密來取得較高的加密效果和保證較高的安全性,然而需要加密的數據量仍然偏大。文獻[5~9]提出了一系列感知加密算法。通過設計與H.264標準中性能相同的變換器代替標準中原始的變換器,達到感知加密的目的。文獻[10]的方法是分別加密幀內塊的預測模式、MVD和殘差系數DCT變化后的系數。盡管文獻[10]提出的算法較簡單,但是在對語法元素加密的過程中,采用的是定長密鑰加密,沒有結合語法元素的特點,選擇相應長度的變長密鑰,降低了密鑰的利用率。同時,文獻[10]的質量控制方法是通過額外生成的隨機序列決定當前宏塊是否加密,雖然某種程度上增加了安全性,但是加大了密鑰生成模塊的時間開銷。文獻[10]還提到感知加密應具備的一些特征,有較強的參考意義。文獻[11]通過加密I幀DCT低頻系數幅值和P幀MVD前綴,實現感知加密。其質量控制方法是根據視頻幀中宏塊運動參考率的情況,選擇加密宏塊數目,以及是否對當前宏塊加密來實現的。此種加密算法在計算宏塊運動參考率中有較大的開銷,不利于實時加密。
如上所述,目前感知加密算法有3方面問題尚待研究解決:(1)缺乏一種算法,使加密后視頻質量隨著質量因子的改變逐漸地上升或下降,而不是階躍地衰減。文獻[6,7]和文獻[11]即使考慮到這一需求,是通過質量因子控制宏塊的加密數目來實現的,當加密宏塊數目較少時,容易通過錯誤隱藏等方法恢復加密宏塊,存在一定的安全問題。(2)沒有考慮不同語法元素加密后對視頻質量的影響情況,沒有討論哪些語法元素適合感知加密和適合何種強度的感知加密。(3)對不同語法元素加密時,沒有結合語法元素的特點采用變長密鑰,密鑰利用率不高。
為解決上述3個問題,本文設計了CABAC (Context-based Adaptive Binary Arithmetic Coding)的H.264視頻快速、質量可控的感知加密算法。利用文獻[12]的2D超混沌系統生成流密鑰,并為每個加密單元分配流密鑰。質量控制方法是利用質量控制因子,使加密后的視頻質量的擾亂程度隨著的增大而逐漸增大。據文獻[13]得到的結論,在保證安全的前提下,分析了哪些語法元素適合基于CABAC的感知加密且能較快地實施加密,并采取擴散的方法增加了算法安全性。
2.1適合感知加密的語法元素選擇
加密幀內預測模式、非零系數(Nonzero Coefficients, NC)、MVD等語法元素對視頻質量影響相比其他語法元素較小[14]。在CABAC編碼中,加密MVD的方法[15,16]一般為加密MVD的符號位和加密MVD的后綴UEG3。加密UEG3相當于加密MVD的幅值,會改變MVD的統計規律,對碼率有一定的影響。加密NC的方法[17]為加密NC的符號位和加密NC的后綴UEG0,文獻[18]通過對NC數據進行統計分析,發現大多數NC的幅值都是小于等于14的,即大多數NC的后綴長度為0,因此加密UEG0效果較小。此處選擇加密NC的符號位和語法元素significant_coeff_flag。
如上所述,綜合考慮感知加密要求、加密速度和對碼率的影響情況,此處選擇加密MVD的符號位、加密NC的符號位和加密語法元素significant_ coeff_flag。加密上述3種語法元素可以有效地擾亂原始視頻信息,同時可從加密視頻中獲取有效信息,對碼流數據格式無影響,滿足感知加密的要求。此3種語法元素可以使用異或加密,具有較快的加密速度。在加密此3種語法元素時,可以在語法元素數據即將編入碼流時加密,不影響其他語法元素編碼和改變其他數據的統計信息,對碼率影響小。
2.2加密流密碼生成及加密質量控制機制設計
(1)加密流密碼生成。采用如式(1)所示的混沌系統生成隨機序列,該系統有兩個最大的Lyapunov指數0.302和0.240,生成的混沌序列有較好的隨機性[8]。
如圖1所示,本文算法主要分為3個步驟:第1步是密鑰的生成和分配,利用2D超混沌系統生成流密碼加密I幀,P幀和B幀相應的語法元素,并控制宏塊的選擇;第2步是加密視頻質量控制,根據質量因子計算出需加密宏塊的數目、選擇需加密的宏塊,并對MVD加密進行補償;第3步是語法元素加密,根據語法元素的特點和已有加密算法存在的問題,提出一種加密策略。

圖1 基于CABAC的加密算法流程圖
步驟1 密鑰的生成和分配:
(2)密鑰的分配: 本文的流密鑰生成與已加密的密文或明文無關,是同步流密鑰。因此可以抵抗對密文的插入、刪除、重播等主動攻擊,且加密誤差傳播小。根據加密的語法元素,將流密鑰分為4個部分,分別用于質量控制時選擇加密的宏塊、加密MVD符號位、加密NC和significant_ coeff_ flag。具體分配方案如下。
在解碼過程中,由于當前幀的MVD已被加密,無法通過參考幀和MVD數據準確重構當前幀。再使用當前幀作為下一幀的參考幀時,下一幀也無法準確重構,且下一幀的視頻質量因此受到的影響更大。即加密MVD后,會導致參考幀重構時數據的錯誤擴散,使后續的視頻幀受到的擾亂程度太大,視頻質量下降得太多。而感知加密要求所有加密視頻幀的質量平穩,為彌補加密MVD使后續視頻質量下降程度更多的問題,使用式(6)對后續視頻幀加密做補償。
步驟 3 語法元素加密: 在步驟2中敘述了選擇加密MVD的符號位、加密NC的符號位和加密語法元素significant_coeff_flag的原因,并在步驟1中為每個加密單元分配了子密鑰。
(1)加密MVD符號位: 關于加密MVD的原因已在步驟2中進行了詳細的說明。如果使用生成的流密碼分配的子密鑰出現重復,則密文存在被破解的可能性[19]。為避免此問題,在加密MVD時使用擴散加密方法,即將上一個已加密的MVD也參與當前MVD加密過程。其加密過程如式(8)所示。
(2)加密NC符號位: 加密NC符號位的方法與加密MVD符號位的方法類似,也采用擴散加密方法,將上一個已加密的NC符號參與到當前NC符號加密過程中。如式(10)所示。
(3)加密語法元素significant_coeff_flag: 語法元素significant_coeff_flag的意義是指示當前系數是否為NC, 1表示當前系數為NC, 0表示當前系數為0。加密significant_coeff_flag可以使解碼器無法判斷當前系數是否為NC,無法精確重構殘差圖像。且加密significant_coeff_flag后的碼流是數據格式兼容的,對碼率沒有影響。加密significant_ coeff_flag的方法如同加密MVD和加密NC符號位方法。如式(12)所示。

在解碼端進行解密時,首先根據步驟1生成解密的子密鑰并分配,然后結合質量因子,確定當前宏塊是否被加密,若當前宏塊被加密,則解密過程為加密算法的逆過程。
實驗結果是基于H.264參考軟件JM8.6運算得出的。采用主要檔次對視頻序列進行編碼,熵編碼部分為CABAC。為了檢驗彌補加密MVD的效果,設,編碼順序為IBPBPBPB。其中2D超混沌系統中初始值為,,作為密鑰。
4.1加密效果及質量控制情況
本文使用5組QCIF視頻序列作為測試:Akiyo, Coastguard, Football, Foreman, Suzie。采用結構相似度(Structure SIMilarity, SSIM)作為質量評價標準[20]。
加密的視頻幀效果如圖2所示,每組視頻序列幀數為50幀,從左至右分別是質量控制因子的值為0, 0.25, 0.5, 0.75, 1時的最后一幀。從圖2看到,不僅視頻質量逐漸下降了,而且視頻顏色有失真。這是因為Y, Cb, Cr 3個顏色分量都有MVD,都加密了,所以會有顏色失真。同時,顏色失真也可作為控制視頻質量的一個參數,顏色失真厲害,對人眼觀看而言,主觀視頻質量評價也降低了。

圖2 基于CABAC感知加密的效果圖

圖3 基于CABAC感知加密的SSIM隨質量因子p變化情況

圖4 運動矢量差(MVD)加密補償
4.2 算法時間復雜度和對碼率影響情況
本文加密算法多采用異或加密,加密所需時間開銷較小。表1分別是加密算法對5組總編碼時間的影響情況。因質量因子不同,對編碼時間都有一定的影響。本文算法和文獻[18]算法的質量因子都為1時進行比較,即比較對加密視頻質量影響最大情況時的碼率和編碼時間。其中計算機的硬件配置為雙核CPU主頻2.8 GHz,內存為1.75 GB,編碼幀數為60幀,幀率為30 fps,為28。

表1基于CABAC感知加密的編碼時間增加千分比(‰)
本文的加密方法是在熵編碼過程中,將語法元素編入碼流時進行加密,加密不影響其他視頻幀的編碼和預測過程,因此對碼率的影響為0。當值為28時,文獻[18]對碼率的影響在-3%至3%左右。通過不同場景的視頻序列的實驗分析,本文提出的算法編碼時間增加較小,總體上略好于或基本相當于文獻[18]的算法,能夠滿足快速實時加密需求。
4.3安全性分析
感知加密的視頻一般為商業視頻,具有相對較低的安全性要求,其安全性分析主要包含3個方面:密鑰空間分析及抗強力攻擊分析、密鑰雪崩效應分析、抗替換攻擊分析。
(1)密鑰空間分析及抗強力攻擊分析: 在對MVD符號加密時,經統計P幀MVD的數目一般約為當所有宏塊采用分塊的MVD數目的77%左右,B幀約占38%,如圖4所示。即一般情況下P幀約有個MVD符號需要加密,B幀約有個MVD符號需要加密。若是加密NC符號和significant_coeff_flag語法元素,在3.2節中步驟1的統計分析中,一幀中大概有25%的系數需要加密,一幀的系數大約有個系數,則約有6300個系數需要加密。由于significant_coeff_flag語法元素的數目和NC數目基本相同,那么需要加密的NC符號和significant_coeff_flag語法元素則共有約12600個。則對于I幀,其強力攻擊空間為約為。對于P其強力攻擊空間約為,對于B幀強力攻擊空間約為。可以得出結論,隨著加密語法元素數目的增多,安全性也相對更好。且采用流密碼加密,加密時為每一個加密單元分配不同的密鑰,每個子密鑰只使用一次,因此安全性更好。
(2)密鑰雪崩效應分析: 密鑰敏感性測試主要是反應密鑰改變后密文改變的程度,即新的加密視頻幀中有多少個像素點與舊加密視頻幀的不同。此處測試的是質量因子值為1的情況。定義式(14)反映密鑰敏感程度:

圖5 密鑰敏感性分析
此外,從圖5中還可以看出,值有明顯的波動,這種波動是由于我們采用了MV加密補償造成的。因為,根據式(14),若當前加密的數據較少,則值會較小。若不采用MV加密補償,隨著加密幀數的增加,后面視頻的質量下降較多,即值在后面會呈現上升趨勢。但采用MV加密補償后,若前一幀加密較多,后面加密的數據就較少,視頻質量有所提升,值就變小,而之后一幀又因為當前加密數據較少,加密數據會相對地增加,值就變大,值交替出現變大變小的情況,從而出現波動。
(3)抗替換攻擊分析: 針對我們所設計的算法,選擇了3種有代表性的替換攻擊方法,對所提出的感知加密算法進行替換攻擊實驗。選擇的替換攻擊方法是:(1)對于MVD符號加密使用臨近分塊的MVD符號做替換;(2)對于NC符號加密使用0, 1隨機值替換;(3)對于significant_coeff_flag語法元素的加密使用0, 1隨機值替換。圖6是Akiyo, Coastguard, Football, Foreman, Suzie視頻在質量因子值為1時的替換攻擊效果圖。表2是加密視頻和替換攻擊后視頻的SSIM對比情況。替換攻擊后SSIM基本上無變化,且視頻仍然不能夠被較好地感知。從圖6和表2可以得出結論,所設計的加密算法能夠較好地抵抗替換攻擊分析。

圖6 替換攻擊測試

表2 加密視頻和替換攻擊視頻的SSIM對比
本文設計了一種質量可控的感知加密算法。其創新性主要體現在以下3點:(1)設計了一種應用流密碼加密視頻的密鑰分配方案,通過對相應語法元素的分析,確定了每個加密單元分配子密鑰的長度。(2)設計了一種可以通過質量因子控制加密后視頻質量逐步下降的方法,并且通過對MVD加密的補償,避免了加密MVD引起的后續視頻幀擾動程度比前面視頻幀大的問題。(3)通過設計了一種加密語法元素significant_coeff_flag的加密方法,可有效地加密殘差系數。在商業付費視頻業務對感知加密算法需求強烈的今天,本文算法具有一定的實用價值。本文通過實驗發現,在進行質量控制時,使用同樣大小質量控制因子對視頻加密質量進行控制,在對不同場景的視頻加密后,各視頻質量衰減程度不同,不利于控制加密后視頻質量衰減程度。今后研究工作可嘗試研究一種使不同場景的視頻在同樣大小的質量控制因子控制下,能夠加密生成具有相同質量衰減程度的感知算法。
[1] 張小紅, 袁春經. 控制關鍵幀選擇的H.264熵編碼加密算法[J].中國圖象圖形學報, 2014, 19(3): 358-364. doi: 10.11834/jig. 20140303.
ZHANG Xiaohong and YUAN Chunjing. H.264 video entropy coding encryption by controlling key frames[J]., 2014, 19(3): 358-364. doi: 10.11834/jig.20140303.
[2] HAMIDOUCHE W, FARAJALLAH M, RAULET M,. Selective vide encryption using chaotic system in the SHVC extension[C]. International Conference on Acoustics, Speech and Signal Procesing (ICASSP),Sydney,Australia, 2015: 1762-1766. doi: 10.1109/ICASSP.2015.7178273.
[3] LI S, CHEN G, CHEUNG A,. On the design of perceptual MPEG-video encryption algorithms[J]., 2007, 17(2): 214-223. doi: 10.1109/TCSVT.2006.888840.
[4] WANG L, WANG W, MA J,. Perceptual video encryption scheme for mobile application based on H.264[J]., 2008, 15: 73-78. doi: 10.1016/S1005- 8885(08)60159-4.
[5] AU Yeung S K, ZHU S, and ZENG B. Design of new unitary transforms for perceptual video encryption[J]., 2011, 21(9): 1341-1345. doi: 10.1109/TCSVT.2011.2125630.
[6] AU Yeung S K and ZENG B. Visual quality control for perceptual video encryption with multiple transforms[C]. 2012 7th International ICST Conference on Communications and Networking, Kun ming, 2012: 189-192. doi: 10.1109/ ChinaCom.2012.6417473.
[7] ZENG B, AU YEUNG S K, ZHU S,. Perceptual encryption of H. 264 videos: embedding sign-flips into the integer-based transforms[J]., 2014, 9(2): 309-320. doi: 10.1109/TIFS.2013. 2293955.
[8] AU YEUNG S K and ZENG B. A new design of multiple transforms for perceptual video encryption[C]. 2012 19th IEEE International Conference on Image Processing, Orlando, 2012: 2637-2640. doi: 10.1109/ICIP.2012.6467440.
[9] AU YEUNG S K and ZENG B. Improved perceptual video encryption using multiple 8×8 transforms in MPEG-4[C]. 2012 7th International ICST Conference on Communications and Networking, Kunming, 2012: 185-188. doi: 10.1109/ ChinaCom.2012.6417472.
[10] ZHANG X Y, DENG H C, and CHEN L W. The video encryption scheme based on perceptual encryption algorithm in H.264 standards[J]., 2013, 765/767: 615-619. doi: 4028/www. scientific.net/AMR.765- 767.615.
[11] SHEN H, ZHUO L, and LI Y. A prediction reference structure based hierarchical perceptual encryption algorithm for H.264 bitstream[J]., 2013: 852-859. doi: 10.1007/978-3-642-42057- 3_107.
[12] ZHU H, ZHAO C, and ZHANG X. A novel image encryption- compression scheme using hyper-chaos and Chinese
remainder theorem[J].:, 2013, 28(6): 670-680. doi: 10.1016/j.image. 2013.02.004.
[13] ASGHAR M N, GHANBARI M, FLEURY M,. Confidentiality of a selectively encrypted H.264 coded video bit-stream[J].&, 2014, 25: 487-498. doi: 10.1016/j.jvcir.2013. 12.015.
[14] ZHUO L, MAO N S, ZHANG J,. Bit-sensitivity based video encryption scheme in compressed domain[J]., 2012, 4(8): 155-164. doi: 10.4156/ijact.vol4. issue8.19.
[15] ASGHAR M N and GHANBARI M. An efficient security system for CABAC bin-strings of H.264/SVC[J]., 2013, 23(3): 425-437. doi: 10.1109/TCSVT.2012.2204941.
[16] ASGHAR M N, GHANBARI M, and REED M J. Sufficient encryption with codewords and bin-strings of H.264/SVC[C]. 2012 IEEE 11th International Conference on Trust, Security and Privacy in Computing and Communications, Liverpool, 2012: 443-450. doi: 10.1109/TrustCom.2012.268.
[17] SHAHID Z, CHAUMONT M, and PUECH W. Fast protection of H.264/AVC by selective encryption of CAVLC and CABAC for I and P frames[J]., 2011, 21(5): 565-576. doi: 10.1109/TCSVT.2011.2129090.
[18] WANG Y, O,NEILL M, and KURUGOLLU F. A tunable encryption scheme and analysis of fast selective encryption for CAVLC and CABAC in H.264/AVC[J]. I, 2013, 23(9): 1476-1490. doi: 10.1109/TCSVT.2013.2248588.
[19] MENEZES A J, VAN OORESCHOT P C, and VANSTONE S A. Handbook of Applied Cryptography[M]. Boca Raton: CRC Press, 1996. doi: 10.1201/9781439821916.
[20] WANG Z, LU L, and BOVIK A C. Video quality assessment based on structural distortion measurement[J].:, 2004, 19(2): 121-132. doi: 10.1016/S0923-5965(03)00076-6.
CABAC Based H.264 Video Perceptual Encryption Algorithm with Adjustable Visual Quality
BAI Sen①GUO Yu①②ZHAO Bo①DAI Qinfang③
①(,400035,)②(77108,611230,)③(78088,400039,)
In Video on Demand (VoD) applications it is desired that the encrypted multimedia data are still partially perceptible after encryption in order to stimulate the purchase of the high-quality versions of the multimedia products. This perceptual encryption requires specific algorithms for encrypting the video data. In this paper, a Context-based Adaptive Binary Arithmetic Coding (CABAC) video perceptual encryption scheme is designed. The video quality of this encryption scheme is controllable. The important syntax elements and sensitive coded elements are chosen to encrypt using mathematical XOR operations with stream ciphers generated by 2D hyper chaos system. The encryption scheme is composed of encrypting Motion Vector Differences (MVD) sign, non-zero coefficients sign and significant_coeff_flag. Theoretical analysis and experimental results show that the proposed scheme has no impact on bit rate. With the 7‰ encoding time increasing, the video quality can be controlled by the change of the quality factor, which meets the requirement of the video perceptual encryption.
Video encryption; Perceptual encryption; H.264/AVC; Quality control
TN919.81
A
1009-5896(2016)10-2582-08
10.11999/JEIT151478
2015-12-29;改回日期:2016-05-30;網絡出版:2016-08-26
柏森 baisencq@126.com
國家自然科學基金(61272043),重慶市基礎與前沿研究計劃項目(cstc2013jjB40009),重慶市科技研發基地能力提升項目(cstc2014pt-sy40003)
The National Natural Science Foundation of China (61272043), Basic & Frontier Project of Chongqing (cstc2013 jjB40009), Chongqing Enhancement Project on Research & Development Base (cstc2014pt-sy40003)
柏 森: 男,1963年生,教授,研究方向為圖像加密,信息隱藏.
郭 雨: 男,1989年生,工程師,研究方向為圖像加密,視頻加密.
趙 波: 男,1978年生,講師,研究方向為視頻隱藏,信息隱藏.
代勤芳: 女,1980年生,工程師,研究方向為圖像加密,信息隱藏.