基于cabac的视觉质量可控的h.264视频感知加密算法-柏森.pdf
《基于cabac的视觉质量可控的h.264视频感知加密算法-柏森.pdf》由会员分享,可在线阅读,更多相关《基于cabac的视觉质量可控的h.264视频感知加密算法-柏森.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第38卷第10期 电 子 与 信 息 学 报 Vol. 38No.10 2016年10月 Journal of Electronics & Information Technology . Oct. 2016 基于CABAC的视觉质量可控的H.264视频感知加密算法 柏 森*郭 雨赵 波代勤芳(重庆通信学院 重庆 400035) (77108 部队 崇州 611230) (78088 部队 重庆 400039) 摘 要:在视频点播等应用中,为了刺激消费者购买高质量的视频,需要对视频进行特别的感知加密,使视频加密后仍然部分可见。该文提出一种Context-based Adaptive Binar
2、y Arithmetic Coding (CABAC)的视觉质量可控的快速感知加密算法。利用2D超混沌系统生成的流密码对重要的语法元素和敏感的编码元素异或加密。加密内容包括运动矢量差的符号位、非零系数符号位和语法元素significant_coeff_flag。分析及实验结果表明,提出的感知加密算法对码率无影响,编码时间仅增加7左右,视频质量随着质量因子的改变而变化,满足视频感知加密的应用需求。 关键词:视频加密;感知加密;H.264/AVC;质量控制 中图分类号: TN919.81 文献标识码:A 文章编号:1009-5896(2016)10-2582-08 DOI: 10.11999/JE
3、IT151478 CABAC Based H.264 Video Perceptual Encryption Algorithm with Adjustable Visual Quality BAI SenGUO YuZHAO BoDAI Qinfang(Chongqing Communication Institute, Chongqing 400035, China) (Unit 77108 of PLA, Chongzhou 611230, China) (Unit 78088 of PLA, Chongqing 400039, China) Abstract: In Video on
4、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 dat
5、a. 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
6、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.
7、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. Key words: Video encryption; Perceptual encryption; H.264/AVC; Quality control 1 引言传统的基于数据加密标准的视频加密算法效率收稿日期:2015-12-29;改回日期:20
8、16-05-30;网络出版:2016-08-26 *通信作者:柏森 基金项目:国家自然科学基金(61272043),重庆市基础与前沿研究计划项目(cstc2013jjB40009),重庆市科技研发基地能力提升项目(cstc2014pt-sy40003) Foundation Items: The National Natural Science Foundation of China (61272043), Basic & Frontier Project of Chongqing (cstc2013 jjB40009), Chongqing Enhancement Project on R
9、esearch & Development Base (cstc2014pt-sy40003) 较低,而效率相对较高的基于视频特性的加密算法安全性又不够1。因此,针对具体的应用,如何在视频加密高效性与安全性之间折中设计是近年来视频加密算法研究的热点,其主要算法有选择加密、感兴趣加密、感知加密等。选择加密是选择视频的部分编码参数进行加密,追求的是加密算法的安全性和高效性。感兴趣加密选取视频帧中重要的、攻击方感兴趣的区域进行加密,追求的重要区域的安全性和加密效率。感知加密实质是对视频质量进行控 万方数据第10期 柏 森等: 基于CABAC的视觉质量可控的H.264视频感知加密算法 2583 制,以
10、达到商业应用的目的。如在视频点播等应用中,为了刺激消费者购买高质量的视频,需要对视频进行特别的感知加密。 就加密方法而言,一些感知加密算法可归为选择加密,同时一些选择加密算法的效果也类似于感知加密效果2。但感知加密仍值得深入研究,近年来呈现出了上升的研究趋势,文献3提出了一种基于MPEG的感知加密的算法,分别加密帧内DC系数、帧间非零DC系数的符号和运动矢量。该算法具有较快的加密速度和良好的感知加密效果,能够抵抗已知密文分析和已知明文分析,有较高的安全性。文献4设计了一种适合移动设备的感知加密算法,该算法具有运算简单、加密速度快等特点。但加密后视频质量只能够阶跃地衰减,不满足应用中对不同视频质
11、量的需求。文献3 ,4都是通过将多种语法元素同时加密来取得较高的加密效果和保证较高的安全性,然而需要加密的数据量仍然偏大。文献5 9提出了一系列感知加密算法。通过设计与H.264标准中性能相同的变换器代替标准中原始的变换器,达到感知加密的目的。文献10的方法是分别加密帧内44块的预测模式、MVD和残差系数DCT变化后的系数。尽管文献1 0提出的算法较简单,但是在对语法元素加密的过程中,采用的是定长密钥加密,没有结合语法元素的特点,选择相应长度的变长密钥,降低了密钥的利用率。同时,文献10的质量控制方法是通过额外生成的随机序列决定当前宏块是否加密,虽然某种程度上增加了安全性,但是加大了密钥生成模
12、块的时间开销。文献1 0还提到感知加密应具备的一些特征,有较强的参考意义。文献1 1通过加密I帧DCT低频系数幅值和P帧MVD前缀,实现感知加密。其质量控制方法是根据视频帧中宏块运动参考率的情况,选择加密宏块数目,以及是否对当前宏块加密来实现的。此种加密算法在计算宏块运动参考率中有较大的开销,不利于实时加密。 如上所述,目前感知加密算法有3方面问题尚待研究解决:(1)缺乏一种算法,使加密后视频质量随着质量因子的改变逐渐地上升或下降,而不是阶跃地衰减。文献6 ,7和文献1 1即使考虑到这一需求,是通过质量因子控制宏块的加密数目来实现的,当加密宏块数目较少时,容易通过错误隐藏等方法恢复加密宏块,存
13、在一定的安全问题。(2)没有考虑不同语法元素加密后对视频质量的影响情况,没有讨论哪些语法元素适合感知加密和适合何种强度的感知加密。(3)对不同语法元素加密时,没有结合语法元素的特点采用变长密钥,密钥利用率不高。 为解决上述3个问题,本文设计了CABAC (Context-based Adaptive Binary Arithmetic Coding)的H.264视频快速、质量可控的感知加密算法。利用文献12 的2D超混沌系统生成流密钥,并为每个加密单元分配流密钥。质量控制方法是利用质量控制因子p,使加密后的视频质量的扰乱程度随着p的增大而逐渐增大。据文献13得到的结论,在保证安全的前提下,分析
14、了哪些语法元素适合基于CABAC的感知加密且能较快地实施加密,并采取扩散的方法增加了算法安全性。 2 加密视频质量控制设计 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的幅值都是小
15、于等于14的,即大多数NC的后缀长度为0,因此加密UEG0效果较小。此处选择加密NC的符号位和语法元素significant_coeff_flag。 如上所述,综合考虑感知加密要求、加密速度和对码率的影响情况,此处选择加密MVD的符号位、加密NC的符号位和加密语法元素significant_ coeff_flag。加密上述3种语法元素可以有效地扰乱原始视频信息,同时可从加密视频中获取有效信息,对码流数据格式无影响,满足感知加密的要求。此3种语法元素可以使用异或加密,具有较快的加密速度。在加密此3种语法元素时,可以在语法元素数据即将编入码流时加密,不影响其他语法元素编码和改变其他数据的统计信息,
16、对码率影响小。 2.2 加密流密码生成及加密质量控制机制设计 (1)加密流密码生成。采用如式(1 )所示的混沌系统生成随机序列,该系统有两个最大的Lyapunov指数0.302和0.240,生成的混沌序列有较好的随机性8。 1210.95 1.30.45 2.4 1.05n nnn nnx xyy xy (1) (2)加密质量控制机制设计。本论文设计了一个质量因子 0,1p 控制加密后视频的扰乱程度,即使用p控制每帧加密宏块的数目。设一帧的宏块数目为MB_all,则所需加密宏块的数目为MB_enc MB_allp,其具体的操作步骤将在3.2节详细描述。 万方数据2584 电 子 与 信 息 学
17、 报 第38卷 3 算法实现 如图1所示,本文算法主要分为3个步骤:第1步是密钥的生成和分配,利用2D超混沌系统生成流密码加密I帧,P帧和B帧相应的语法元素,并控制宏块的选择;第2步是加密视频质量控制,根据质量因子计算出需加密宏块的数目、选择需加密的宏块,并对MVD加密进行补偿;第3步是语法元素加密,根据语法元素的特点和已有加密算法存在的问题,提出一种加密策略。 步骤 1 密钥的生成和分配: (1)密钥的生成: 根据初始密钥x和y,用步长为0.001的Runge-Kutta方法迭代式(1 )的2D超混沌系统N次,得到两个实数序列ix和iy (1 i N ),其中N 加密帧数null每帧宏块数目
18、(QCIF视频的宏块数目为99)。保留生成的混沌序列的小数部分并删除整数部分。如式(2 )使用小数部分生成密钥序列12 4, , , NK kk k 。 12 322 1112 322 1210 mod 2 ,10 mod 2 , 1,2, ,4i iii iik xxk yy i N (2) 其中 表示向下取整。 (2)密钥的分配: 本文的流密钥生成与已加密的密文或明文无关,是同步流密钥。因此可以抵抗对密文的插入、删除、重播等主动攻击,且加密误差传播小。根据加密的语法元素,将流密钥K分为4个部分,分别用于质量控制时选择加密的宏块、加密MVD符号位、加密NC和significant_ coef
19、f_ flag。具体分配方案如下。 (a)将流密钥序列K分为4组:4( 1)|l ilLk 1, 2, , , 1, 2, 3, 4i Nl。 (b)令lL的第1个数值作为加密每个宏块的MVD符号的子密钥,即MVD的子密钥序列MVD_ key如式(3 )所示。 4 11MVD_key mvd_key 1,2, ,1, 2, ,eieNki N (3) (c)令lL的第1个数值和第2个数值用于在质量控制时确定当前宏块是否加密,如式(4)所示。其中numenc 0表示对当前宏块不加密,numenc 1表示对当前宏块加密。num是当前宏块的序号。i 1, 2, , N。 10411 412num41
20、1 412,enc,iiiikkkk (4) (d)lL即作为加密一个宏块的NC的子密钥序列 图1 基于CABAC的加密算法流程图 万方数据第10期 柏 森等: 基于CABAC的视觉质量可控的H.264视频感知加密算法 2585 NC_key,也作为加密significant_coeff_flag语法元素的子密钥序列SCF_key。如式(5 )所示。 SCF_keyNC_keyllLL(5) 步骤 2 加密视频质量控制: 本文使用一个质量因子 0,1p 控制加密后视频的扰乱程度,即使用p控制每帧加密宏块的数目。设一帧宏块数目为MB_all,则所需加密宏块的数目为MB_enc MB_allp。结
21、合式(4),判定当前序号为num的宏块numMB是否需要加密如式(6 )所示。其中numMB 0表示不加密,否则表示加密。 其它num 1num0num1, enc 1, enc MB_encMB0,tt(6) 在解码过程中,由于当前帧的MVD已被加密,无法通过参考帧和MVD数据准确重构当前帧。再使用当前帧作为下一帧的参考帧时,下一帧也无法准确重构,且下一帧的视频质量因此受到的影响更大。即加密MVD后,会导致参考帧重构时数据的错误扩散,使后续的视频帧受到的扰乱程度太大,视频质量下降得太多。而感知加密要求所有加密视频帧的质量平稳,为弥补加密MVD使后续视频质量下降程度更多的问题,使用式(6 )对
22、后续视频帧加密做补偿。 设fraMVD_all是当前视频帧MVD总数,fraMVD_enc是当前视频帧中加密MVD的数目,则下一帧视频需加密MVD的数目如式(7 )所示。其中fra是当前编码帧号。frafra+1 frafraMVD_encMB_enc 1 MB_encMVD_all(7) 步骤 3 语法元素加密: 在步骤2中叙述了选择加密MVD的符号位、加密NC的符号位和加密语法元素significant_coeff_flag的原因,并在步骤1中为每个加密单元分配了子密钥。 (1)加密MVD符号位: 关于加密MVD的原因已在步骤2中进行了详细的说明。如果使用生成的流密码分配的子密钥出现重复,
23、则密文存在被破解的可能性19。为避免此问题,在加密MVD时使用扩散加密方法,即将上一个已加密的MVD也参与当前MVD加密过程。其加密过程如式(8 )所示。 1MVD_enc MVD_enc MVD_key_bitMVD_orimmm (8) 其中MVD_orim是当前宏块num中第m个MVD符号。MVD_encm是加密后的MVD符号。MVD_ 1encm是当前宏块num中第m个已加密的MVD符号。MVD_key_bit是加密MVD符号的1 bit密钥,结合式(3 ),生成过程如式( 9)所示。 1fra MB_all num1MVD_key_bit mvd_key /2mod 2m(9) 其中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 cabac 视觉 质量 可控 264 视频 感知 加密算法 柏森
限制150内