《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > H.264标准中基于感知加密算法的视频加密方案
H.264标准中基于感知加密算法的视频加密方案
来源:电子技术应用2012年第1期
王亚民, 邓虎超
西安科技大学 通信与信息工程学院, 陕西 西安710054
摘要: 针对多媒体视频传输的安全性与实时性的要求,提出一种基于H.264感知加密算法的视频加密方案。该方案将视频数据分为VLC(Variable Length Code)和FLC(Fix-Length Code)两类,只选择FLC中对重构图像比较重要的元素进行加密操作。理论分析和仿真结果表明,该加密方案具有安全性高,低成本系统开销的特性。
中图分类号: TN918.91
文献标识码: 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月发布的H.264是目前最新的视频编码标准。它采用了1/8精度的运动估计、4×4整数变换、CAVLC和CABAC等新技术,使得压缩效率和图像播放质量有了显著提高。与以往标准相比,在相同率失真的条件下,编码效率提高了50%左右。H.264应用范围非常广阔,包括视频会议、可视电话、会议电视等即时通信,以及数字电视广播、数字存储、流媒体等方面。

    随着视频应用的日益广泛,视频的安全性变得越来越重要。基于以往的标准,人们研究了许多加密算法:有用传统密码技术进行全部加密的方法,如DES算法、CSC算法和VEA算法,这类算法虽然有较高的安全性并且不改变压缩比,但是计算复杂度很高;有对DCT系数进行加密的方法,如分段置乱算法,这类算法虽然有较低的计算复杂度,但是安全性低于全部加密的算法,压缩比也有所改变;有在熵编码过程中进行加密的方法,如多状态索引方法,这类算法虽然计算复杂度低,对压缩比的影响较小,但在已知明文攻击情况下是不安全的。上述方法各有优缺点,而且大多针对MPEG标准,因此研究适合H.264特点的安全加密技术成为目前研究的热点。
    针对现有视频加密算法的不足,本文提出一种基于H.264的可感知加密算法
1 加密数据元素的分析与选取
    对H.264编码宏块语义层进行分析,决定提取帧内预测模式字(Intra Prediction Mode)、运动向量差值(Motion Vector Differ_ence)和残差系数(Residual Coefficient)三类定长语法元素(fix-length code)进行加密操作[1]。
1.1 帧内预测模式字
    根据每个宏块所属片组的不同,每一个宏块都有几种编码预测模式。但帧内预测编码是所有片组编码类型中都支持的。对亮度像素块而言,存在有Intra_4×4, Intra_8×8、Intra_16×16三种预测模式。Intra_4×4模式下有9种预测模式,适用于对图像细节部分进行编码,Intra_16×16有4种预测模式,适用于对平坦区域进行图像编码[2]。
  采用Intra_4×4的编码模式字进行加密操作。每一个4×4块都是通过上方和左方像素预测而来,如图1所示,a-p为待预测像素,它利用相邻块中已经解码的A-Q像素来进行预测。对每一个4×4块,总共有9种模式供选择[2],其中除了DC模式,另外8种预测模式的方向也在图1中。

    Intra_4×4的编码预测模式总共有9种预测模式,至少需要4个bit位来进行编码。在H.264的标准中,利用一个“prev_ Intra_4×4_pred_mode”字段来排除一种预测方式,用另外3个bit位来表示余下的8种预测模式。因此,只对后3个bit位进行加密扰乱,这样的加密过程中,不会影响到其他字段,也不会产生额外的码流。
1.2 运动向量差值
  如图2所示,在P帧或B帧中,每个宏块(16×16像素)可以有4种方式来进行分割:16×16、8×16、16×8、8×8。如图2(d)是采用8×8模式,分为4个子宏块(8×8像素)。每个字宏块可以进一步进行分割:8×8、4×8、8×4、4×4。

    每一个分区或者子宏块都有一个单独的运动向量MV(Motion Vector),用于引用前面参考帧的对应区域来对当前块进行预测编码。每个预测区的MV都需要相当数目的比特位来进行编码。为了进一步减少比特数,可以利用邻近的MV之间的相关性进行预测编码。后一个MV可由前面已经编码的MV预测得到,只需要对它们的差值MVD(Motion Vector Difference)进行编码。在H.264中,MVD值是采用指数哥伦布(Exp-Golomb)进行编码的,这是一种变长编码[3]。

    本文只对MVD的符号位进行加密,对于每一个MVD值,只需要对一个bit位进行加密操作。
1.3 残差系数
    在H.264中,残差块系数通过CAVLC和CABAC进行编码[4]。在进行CAVLC编码的过程中,涉及到以下几个语义字段[2]:非零系数数目(Total Coeffs)、拖尾系数数目(TrailingOnes)、非零系数幅值(Level)以及最后一个非零系数前零的个数(TotalZero)和每个非零系数前零的个数(RunBefore)。 经过分析,只有TrailingOnes和Level的符号位是属于定长字段[6],因此提取这两个字段的符号位进行加密操作。如图3所示。
2 算法设计

 


    分别引入三个不同的控制参数P1、P1、P3对预测模式字IPM、运动向量MVD和残差系数Residual Coefficient的加密强度进行控制[1],具体方案为:以P1、P2的概率分别对IPM、MVD进行加密,当P1、P2从0到1进行变化时,相应地进行不加密到完全加密;以P3对Residual Coefficients 系数符号位进行不加密到完全加密控制。
    下面是算法的具体伪代码描述:
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 仿真结果与分析
3.1 实验环境

    实验测试条件:H.264/AVC标准,JM10.2版本,以IPPP方式进行编码,I帧刷新率为10,帧率为30 F/s,2 GB内存,Intel T5670处理器,并用VS2008完成对JM10.2代码的调试。实验中采用CIF格式的352288的foreman作为视频序列。
3.2 加密效果分析
    单独加密IPM字段,只是对亮度信息进行加密,如图4中人脸和轮廓信息清晰可见;单独进行MVD加密的过程中,如图5中,I帧图像完全不受任何影响,B、P帧的I bock也完全不受影响,关键信息很容易泄露。单独对残差系数进行加密,如图6,与IPM一样,图像的轮廓信息没有很好的隐藏。另外,从对抗解密攻击能力上来看,单独对一种加密元素进行分析加密空间更小,也更容易实施破解。因此,在视觉安全性要求比较高的场合,应该联合对所有三种元素进行加密,从图7可以看到,随着加密强度不断提高,视频图像可感知性不断下降,在最强的加密强度下,整幅图像完全被扰乱有很高的视觉安全性。各种方汉加密后PSNR值如表1所示。

3.3安全性分析
    在加密方案中,保持视频格式的语义兼容性,加密操作并不改变相关字段的长度。攻击者会很自然地通过单独猜解每个字段元素的值来进行Cipher-only Attacks[7]。


3.4 性能分析
    一个加密算法的计算复杂度主要取决于它要进行加密的数据量。本文加密的数据量主要包括IPM、MVD和残差系数。在一个宏块中,IPM和MVD符号位,还有Residual Coefficient的符号位需要加密,因此,要加密的数据量同整个视频数据相比,只占很小的部分。所采用的加密操作也仅仅是对相关的bit位进行“异或”操作,所需的系统开销极小,基本上不会对编解码带来影响。
    本文研究了一种在H.264编码下进行Perceptual Encryption的方法,通过对语法元素的分析和编码方式的研究,选取了IPM、MVD和Residual Coefficient这三种定长字段的元素进行加密。通过引入概率参数来对每种类型的字段加密强度进行控制,分析加密不同元素所带来的视频加密效果。实验结果表明,单独加密其中任何一种元素,都能对图像带来很大的干扰。但要获得很好的安全性,必须联合加密三种元素。这种加密方案具有很好的安全性和实时性,而且不会带来额外的码流,保持了视频的压缩比不变,并且可以调整不同的加密强度,适用于各种应用的需求。
参考文献
[1] 刘萧.基于H.264编码的视频加密研究[D].杭州:浙江大学计算机科学与技术学院,2010:18-29.
[2] 毕厚杰. 新一代视频压缩编码标准: H.264/AVC[M]. 北京:人民邮电出版社,2005.
[3] 李晓举,冯战申,胡友情.基于H.264 CAVLC熵编码的视频加密方案[J].计算机工程与应用,2009,45(34):114-117.
[4] 包先雨,蒋建国,袁炜,等.H.264/AVC标准中基于CABAC的数字视频加密研究[J].通信学报,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].电信科学,2010,26(7):80-83.

此内容为AET网站原创,未经授权禁止转载。