H.264/avc压缩域视频加密/解密装置及其加密/解密方法

文档序号:7858394阅读:215来源:国知局
专利名称:H.264/avc压缩域视频加密/解密装置及其加密/解密方法
技术领域
本发明涉及图像处理技术领域,尤其涉及快速实现H. 264/AVC压缩域视频加密装置及其加密方法、快速实现H. 264/AVC压缩域视频解密装置及其解密方法。
背景技术
数字化、网络化的视频监控系统在向人们提供实时和准确的视觉信息的同时,也带来了不少安全隐患,监控的视频画面既可能涉及国家机密和“敏感信息”,也可能包含个人隐私,而这些信息的非法泄漏、篡改、假冒,不但可能威胁到国家的政治、经济、军事、文 化、意识形态等“敏感”部门的信息安全,也可能对个人隐私构成极大的威胁,因此,如何确保监控的多媒体信息安全问题成为新一代视频监控系统需要解决的重要问题。在实际监控应用中,视频数据量庞大,存储及传输时必须对其进行压縮,目前常用的视频编码标准包括MPEG-l,MPEG-2,MPEG-4等等,其中,H. 264/AVC是由IS0/IEC与ITU-T制定的新一代的视频压缩编码标准,相对于以往的视频压缩标准,H. 264/AVC引入了很多新的技术,包括4X4整数变换、帧内预测、四分之一像素精度的运动估计、多參考帧与多种大小块的帧间预测技术等等。H. 264/AVC无论在压缩效率,还是在网络适应性方面比以往的视频编码格式都有明显的提高。H. 264/AVC标准在视频监控领域是压缩效率最高、使用最为广泛的编码方式。由于H. 264/AVC本身在编解码过程中有固定的规范和层次,多媒体信息安全算法的设计需要符合H. 264/AVC特殊的编码结构,在稳定发挥多媒体安全算法的版权保护作用的情况下,对H. 264/AVC的码长、码率影响降到最低。通过对H. 264/AVC标准的深入解读和分析可以发现适合于H. 264/AVC的信息安全算法有两个最直接的区域。一是在压缩编码之前加密视频流,但一般观点都认为该类方法会显著地改变信源结构和句法,对后续编码效率影响很大。值得提及地是,国外学者Johnson提出的理想Gaussian信源先加密后DSC(分布信源编码)压缩算法,不仅能够满足数据安全性要求,而且对压缩增益影响很小,不足之处在于对非理想Gaussian信源加密后再进行DSC压缩,其编码效率降低明显。还有是在压缩编码之后对码流进行加密,国内学者廉士国总结为直接加密算法,这类方法通常利用传统密码(如DES,IDEA, RSA等)高強度的优点来满足高安全性的要求,可以克服加密造成的编码效率降低问题,但同时也带来了高计算复杂度和视频格式不相容的缺点。已有相关工作的重点都围绕压缩域展开研究,主要是基于视频信源特征选择加密视频/图像重建中的关键数据,如DCT系数、运动矢量、预测模式、头信息和编码參数等信息。目前,国内具有代表性的研究成果有清华大学袁春博士等提出的基于混沌的视频流选择加密算法,上海交通大学王慈博士等提出的參数可调型DCT域透明加扰算法,南京理工大学廉士国博士等提出的两种部分加密的图像/视频加密算法,中国科技大学曹弈提出的基于4X4整数变换的残差系数加密/置乱算法;国外具有代表性的成果有W. J. Zeng提出的分别基于Wavelet变换和DCT变换的频率域Segment/Slice内块置乱和块旋转的一般性方法,L. Tang提出的DCT系数Zigzag置乱算法,A. S. Tosum提出的块内DCT分段置乱算法,J. Ahn等提出的面向数字电视应用的帧内预测模式置乱算法;S. Spinsante提出的QP參数和环路滤波系数加密算法。该类算法可以根据实际需求选择加密关键数据,缺点是加密强度与计算复杂度互为矛盾,而且加密过程在熵编码之前,对后续熵编码效率影响较大。

发明内容
有鉴于此,有必要提供快速实现H. 264/AVC压缩域视频加密装置及其加密方法、快速实现H. 264/AVC压缩域视频解密装置及其解密方法。本发明是这样实现的,H. 264/AVC压缩域视频加密/解密装置,其用于对接收的
H.264/AVC标准码流加密形成H. 264/AVC密文,或用于对接收的H. 264/AVC密文解密形成
H.264/AVC标准码流,其包括密钥生成模块,用于根据用户密码结合混沌系统生成ニ进制的加密密钥/解密密钥;第一判定模块,用于在加密时判定H. 264/AVC标准码流中的每个输入宏块的码流是否进行亮度4x4帧内预测模式置乱,还用于在解密时判定H. 264/AVC密文中的每个输入宏块的码流是否已进行过亮度4x4帧内预测模式置乱;亮度4x4帧内预测模式模块,用于在第一判定模块判定输入宏块的码流进行/已进行过亮度4x4帧内预测模式置乱吋,从加密密钥/解密密钥中取出三位作为随机序列,将
H.264/AVC标准码流或H. 264/AVC密文与三位随机序列进行异或运算得到初始密文/初始解文,同时加密密钥/解密密钥循环左移三位;第二判定模块,用于判定初始密文是否进行亮度编码块模式置乱,还用于判定初始解文是否已进行过亮度编码块模式置乱;亮度编码块模式置乱模块,用于在第二判定模块判定初始密文进行/初始解文已进行过亮度编码块模式置乱时,从加密密钥/解密密钥中取出一位,如果该位为1,则对初始密文/初始解文循环左移两位形成最终密文/最終解文,同时加密密钥/解密密钥循环左移一位,如果该最低位为0,则对初始密文/初始解文循环左移一位形成最终密文/最終解文,同时加密密钥/解密密钥循环左移一位,最终密文即为H. 264/AVC密文,最終解文即为H. 264/AVC标准码流。作为上述方案的进ー步改进,密钥生成模块包括转化单元,用于将长度为η的ニ进制序列的用户密码的高n/2位取出作为第一无符号整数,低n/2位取出作为第二无符号整数,将第一无符号整数和第二无符号整数转换为O与I之间的第一双精度浮点小数和第二双精度浮点小数,其中η为正整数;迭代单元,用于以第一双精度浮点小数为初始化值,进行ー维logistic混沌系统迭代,迭代次数为i次,得到Xi,以第二双精度浮点小数为初始化值,进行ー维logistic混沌系统迭代,以相同的迭代次数得到Ji ; 判断模块,用于当迭代单元进行第j次迭代时,如果\_大于ハ,则加密密钥/解密密钥的第j位为1,否则为0,以此形成加密密钥/解密密钥,其中j为整数,且其大于O而小于等于待生成的加密密钥/解密密钥的位长度。作为上述方案的进ー步改进,对于当前亮度4x4编码块,只有当其左方亮度4x4块和上方亮度4x4块以及右上亮度4x4块同时处于已经编码的状态,且H. 264/AVC的语法结构prev_intra4x4_pred_mode_flag为O时,亮度4x4巾贞内预测模式置乱模块才对当前编码块的巾贞内编码模式rem_intra4x4_pred_mode进行置乱/解密。本发明还涉及H. 264/AVC压缩域视频加密/解密方法,其用于对接收的H. 264/AVC标准码流加密形成H. 264/AVC密文,或用于对接收的H. 264/AVC密文解密形成H. 264/AVC标准码流,其包括以下步骤根据用户密码结合混沌系统生成ニ进制的加密密钥/解密密钥;在加密时判定H. 264/AVC标准码流中的每个输入宏块的码流是否进行亮度4x4帧内预测模式置乱,在解密时判定H. 264/AVC密文中的每个输入宏块的码流是否已进行过亮度4x4帧内预测模式置乱; 在判定输入宏块的码流进行/已进行过亮度4x4帧内预测模式置乱吋,从加密密钥/解密密钥中取出三位作为随机序列,将H. 264/AVC标准码流或H. 264/AVC密文与三位随机序列进行异或运算得到初始密文/初始解文,同时加密密钥/解密密钥循环左移三位;判定初始密文是否进行亮度编码块模式置乱,判定初始解文是否已进行过亮度编码块模式置乱;在判定初始密文进行/初始解文已进行过亮度编码块模式置乱时,从加密密钥/解密密钥中取出一位,如果该位为I,则对初始密文/初始解文循环左移两位形成最终密文/最終解文,同时加密密钥/解密密钥循环左移一位,如果该最低位为0,则对初始密文/初始解文循环左移一位形成最终密文/最終解文,同时加密密钥/解密密钥循环左移一位,最终密文即为H. 264/AVC密文,最终解文即为H. 264/AVC标准码流。作为上述方案的进ー步改进,密钥生成包括以下步骤将长度为η的ニ进制序列的用户密码的高n/2位取出作为第一无符号整数,低n/2位取出作为第二无符号整数,将第一无符号整数和第二无符号整数转换为O与I之间的第一双精度浮点小数和第二双精度浮点小数,其中η为正整数;以第一双精度浮点小数为初始化值,进行ー维logistic混沛系统迭代,迭代次数为i次,得到Xi,以第二双精度浮点小数为初始化值,进行ー维logistic混沌系统迭代,以相同的迭代次数得到Yi ;当迭代单元进行第j次迭代吋,如果大于yj,则加密密钥/解密密钥的第j位为1,否则为0,以此形成加密密钥/解密密钥,其中j为整数,且其大于O而小于等于待生成的加密密钥/解密密钥的位长度。作为上述方案的进ー步改进,对于当前亮度4x4编码块,只有当其左方亮度4x4块和上方亮度4x4块以及右上亮度4x4块同时处于已经编码的状态,且H. 264/AVC的语法结构prev_intra4x4_pred_mode_flag为O时,才对当前编码块的巾贞内编码模式rem_intra4x4_pred_mode 进行置乱 / 解密。与现有技术相比,本发明具有以下优点1、不破坏码流结构,利于网络传输、随机访问、压缩域视频处理(如水印加入等);2、不额外増加编码码率;3、破译概率低,视频加密与非加密能够实时切換;4、运算复杂度低。


图I为本发明较佳实施方式提供的H. 264/AVC压缩域视频加密/解密装置的模块结构示意图。图2为本发明加密部分流程图。图3为H. 264/AVC中亮度4x4块帧内模式标示字段。
图4为当前亮度4x4帧内预测块与其周围块得位置关系。图5为H. 264/AVC中编码块模式的标示字段。图6为本发明解密部分流程图。主要符号说明密钥生成模块I、第一判定模块2、亮度4x4帧内预测模式模块3、第二判定模块4、亮度编码块模式置乱模块5、转化单元6、迭代单元7、判断模块8。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进ー步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。请參阅图1,其为H. 264/AVC压缩域视频加密/解密装置的模块结构示意图,H. 264/AVC压缩域视频加密/解密装置用于对接收的H. 264/AVC标准码流加密形成H. 264/AVC密文,或用于对接收的H. 264/AVC密文解密形成H. 264/AVC标准码流,其包括密钥生成模块1,用于根据用户密码结合混沌系统生成ニ进制的加密密钥/解密密钥;第一判定模块2,用于在加密时判定H. 264/AVC标准码流中的每个输入宏块的码流是否进行亮度4x4帧内预测模式置乱,还用于在解密时判定H. 264/AVC密文中的每个输入宏块的码流是否已进行过亮度4x4帧内预测模式置乱;亮度4x4帧内预测模式模块3,用于在第一判定模块2判定输入宏块的码流进行/已进行过亮度4x4帧内预测模式置乱时,从加密密钥/解密密钥中取出三位作为随机序列,将H. 264/AVC标准码流或H. 264/AVC密文与三位随机序列进行异或运算得到初始密文/初始解文,同时加密密钥/解密密钥循环左移三位;第二判定模块4,用于判定初始密文是否进行亮度编码块模式置乱,还用于判定初始解文是否已进行过亮度编码块模式置乱;亮度编码块模式置乱模块5,用于在第二判定模块4判定初始密文/初始解文进行/已进行过亮度编码块模式置乱时,从加密密钥/解密密钥中取出一位,如果该位为1,则对初始密文/初始解文循环左移两位形成最终密文/最終解文,同时加密密钥/解密密钥循环左移一位,如果该最低位为0,则对初始密文/初始解文循环左移一位形成最终密文/最終解文,同时加密密钥/解密密钥循环左移一位,最终密文即为H. 264/AVC密文,最终解文即为H. 264/AVC标准码流。密钥生成模块I包括转化单元6,用于将长度为η的ニ进制序列的用户密码的高n/2位取出作为第一无符号整数,低n/2位取出作为第二无符号整数,将第一无符号整数和第二无符号整数转换为O与I之间的第一双精度浮点小数和第二双精度浮点小数,其中η为正整数;迭代单元7,用于以第一双精度浮点小数为初始化值,进行ー维logistic混沌系统迭代,迭代次数为i次,得到Xi,以第二双精度浮点小数为初始化值,进行ー维logistic混沌系统迭代,以相同的迭代次数得到Ji ;判断模块8,用于当迭代单元进行第j次迭代吋,如果大于yr则加密密钥/解密密钥的第j位为1,否则为0,以此形成加密密钥/解密密钥,其中j为整数,且其大于O而小于等于待生成的加密密钥/解密密钥的位长度。以下将对加密和解密的具体实施方式
进行详细描述。(一)加密加密部分的功能是将H. 264/AVC标准码流转换为H. 264/AVC密文,具体加密流程如图2所示。由用户密码结合混沌系统生成加密密钥,每个输入宏块的码流经过是否进行亮度4x4帧内预测模式置乱判定,当判定结果为“是”时,从加密密钥中取出3位随机序列,进行亮度4x4帧内预测模式置乱,当判定结果为“否”吋,不进行亮度4x4帧内预测模式置乱。完成亮度4x4帧内预测模式置乱判定及置乱后,进行是否亮度编码块模式(CBP)置乱判定,从加密密钥中取出I位随机序列,进行亮度编码块模式(CBP)置乱。经过两步加密后, 将H. 264/AVC标准码流转换为H. 264/AVC密文。I、密钥生成密钥生成由密钥生成模块I执行,用户密码KEY为64位的整数为例进行说明,当使用用户密码直接作为加密密钥时,如果破解密码与用户密码有部分相同,则可以解密并解码出部分图像,为解决这个问题,采用了混沌系统生成加密密钥,混沌系统的初始值由KEY決定。混沌系统有高度的初值敏感性,微小的初值差异将被迅速扩散。利用混沌运动,依据如下3个步骤,由用户密码KEY生成加密密钥第一,将用户密码KEY的高32位作为无符号整数high,低32位作为无符号整数low,并分别将high和low转化成double类型并除以0XFFFFFFFF,得到Xtl和γぃ如果X0与yQ相等且不为0,则将y0加上O. 000001。如果X0小于O. 000001,则将X0设置为O. 000001,如果Ycl小于O. 000001,则将y(l设置为O. 000001。此步骤由密钥生成模块I的转化单元6执行。xi+1 = λ *Xi* (I-Xi) i 彡 O (I)第二,以Xo为初始化值,进行ー维logistic混沌系统迭代,如公式(I)所示,其中混沌系统的參数λ的值设置为3. 98,迭代次数为300次,得到Xi。以%为初始化值,进行ー维logistic混沛系统迭代,其中混沛系统的參数λ的值设置为3. 98,迭代的次数为300次,得到yi。此步骤由密钥生成模块I的迭代单元7执行。第三,如第二步所示的两个混沌系统继续迭代,当进行第j次迭代吋,j大于O而小于等于待生成的加密密钥的位长度64,如果&大于ハ,则加密密钥的第j位为1,否则为0,此步骤由密钥生成模块I的判断模块8执行。
{I X y
οK 64
''へ', ( ) 2、亮度4x4帧内预测模式置乱 亮度4x4帧内预测模式置乱由亮度4x4帧内预测模式模块3执行,在H. 264/AVC帧内预测中,预测块是基于已编码重建块而形成的,亮度4x4子块包含9种可选的帧内预测模式,独立预测每ー个4x4亮度子块,适用于带有大量细节的图像编码。4x4亮度块的上方和左方像素为已重建像素,用作编解码器中的预测參考像素,利用參考像素和9种模式实现对当前编码块的预测,其中模式2 (DC预测模式)根据參考像素中已编码像素预测,而其余模式只有在所需预测像素全部提供才能使用。在H. 264/AVC的语法结构中,对于当前采用了帧内预测模式的亮度4x4块,首先通过周围亮度4x4块的帧内预测模式计算得到当前帧内预测模式的预测,如果最优帧内预测模式与该预测一致,则当前4x4帧内块的preV_intra4x4_pred_mode_flag 为 I,否则为 O,当 prev_intra4x4_pred_mode_flag 为 O 时,使用3比特长度的字段rem_intra4x4_pred_mode编码最优模式,相关H. 264/AVC的语法结构如图3所示。因此,在亮度4x4帧内预测模式模块3执行前,需要第一判定模块2执行,在加密时判定H. 264/AVC标准码流中的每个输入宏块的码流是否进行亮度4x4帧内预测模式置舌し在解密时判定H. 264/AVC密文中的每个输入宏块的码流是否已进行过亮度4x4帧内预测模式置乱。在本发明中,对于当前亮度4x4编码块A,只有当其左方亮度4x4块E和上方亮度4x4块C以及右上亮度4x4块D同时处于已经编码的状态时,如图4所示,且prev_intra4x4_pred_mode_flag 为 O 时,才对 A 的巾贞内编码模式 rem_intra4x4_pred_mode 进行加密。具体的加密过程流程为从加密密钥中取出最低的三位作为随机序列,将原来的rem_intra4x4_pred_mode值于三位随机序列按位进行异或运算,得到的结果即为rem_intra4x4_pred_mode加密后的密文,加密方式如公式3所示。同时,加密密钥循环左移三位。
权利要求
1.H. 264/AVC压缩域视频加密/解密装置,其用于对接收的H. 264/AVC标准码流加密形成H. 264/AVC密文,或用于对接收的H. 264/AVC密文解密形成H. 264/AVC标准码流,其特征在于,其包括 密钥生成模块,用于根据用户密码结合混沌系统生成ニ进制的加密密钥/解密密钥;第一判定模块,用于在加密时判定H. 264/AVC标准码流中的每个输入宏块的码流是否进行亮度4x4帧内预测模式置乱,还用于在解密时判定H. 264/AVC密文中的每个输入宏块的码流是否已进行过亮度4x4帧内预测模式置乱; 亮度4x4帧内预测模式模块,用于在第一判定模块判定输入宏块的码流进行/已进行过亮度4x4帧内预测模式置乱时,从加密密钥/解密密钥中取出三位作为随机序列,将H.264/AVC标准码流或H. 264/AVC密文与三位随机序列进行异或运算得到初始密文/初始解文,同时加密密钥/解密密钥循环左移三位; 第二判定模块,用于判定初始密文是否进行亮度编码块模式置乱,还用于判定初始解文是否已进行过亮度编码块模式置乱; 亮度编码块模式置乱模块,用于在第二判定模块判定初始密文进行/初始解文已进行过亮度编码块模式置乱时,从加密密钥/解密密钥中取出一位,如果该位为1,则对初始密文/初始解文循环左移两位形成最终密文/最終解文,同时加密密钥/解密密钥循环左移一位,如果该最低位为O,则对初始密文/初始解文循环左移一位形成最终密文/最終解文,同时加密密钥/解密密钥循环左移一位,最终密文即为H. 264/AVC密文,最终解文即为H.264/AVC标准码流。
2.如权利要求I所述的H.264/AVC压缩域视频加密/解密装置,其特征在于,密钥生成模块包括 转化单元,用于将长度为η的ニ进制序列的用户密码的高n/2位取出作为第一无符号整数,低n/2位取出作为第二无符号整数,将第一无符号整数和第二无符号整数转换为O与I之间的第一双精度浮点小数和第二双精度浮点小数,其中η为正整数; 迭代单元,用于以第一双精度浮点小数为初始化值,进行ー维logistic混沌系统迭代,迭代次数为i次,得到Xi,以第二双精度浮点小数为初始化值,进行ー维logistic混沌系统迭代,以相同的迭代次数得到Ji ; 判断模块,用于当迭代单元进行第j次迭代时,如果大于5V则加密密钥/解密密钥的第j位为1,否则为0,以此形成加密密钥/解密密钥,其中j为整数,且其大于O而小于等于待生成的加密密钥/解密密钥的位长度。
3.如权利要求I所述的H.264/AVC压缩域视频加密/解密装置,其特征在于,对于当前亮度4x4编码块,只有当其左方亮度4x4块和上方亮度4x4块以及右上亮度4x4块同时处于已经编码的状态,且H. 264/AVC的语法结构prev_intra4x4_pred_mode_flag为O时,亮度4x4巾贞内预测模式置乱模块才对当前编码块的巾贞内编码模式rem_intra4x4_pred_mode进行置乱/解密。
4.H. 264/AVC压缩域视频加密/解密方法,其用于对接收的H. 264/AVC标准码流加密形成H. 264/AVC密文,或用于对接收的H. 264/AVC密文解密形成H. 264/AVC标准码流,其特征在于,其包括以下步骤 根据用户密码结合混沌系统生成ニ进制的加密密钥/解密密钥;在加密时判定H. 264/AVC标准码流中的每个输入宏块的码流是否进行亮度4x4帧内预测模式置乱,在解密时判定H. 264/AVC密文中的每个输入宏块的码流是否已进行过亮度4x4帧内预测模式置乱; 在判定输入宏块的码流进行/已进行过亮度4x4帧内预测模式置乱吋,从加密密钥/解密密钥中取出三位作为随机序列,将H. 264/AVC标准码流或H. 264/AVC密文与三位随机序列进行异或运算得到初始密文/初始解文,同时加密密钥/解密密钥循环左移三位; 判定初始密文是否进行亮度编码块模式置乱,判定初始解文是否已进行过亮度编码块模式置乱; 在判定初始密文进行/初始解文已进行过亮度编码块模式置乱吋,从加密密钥/解密密钥中取出一位,如果该位为1,则对初始密文/初始解文循环左移两位形成最终密文/最终解文,同时加密密钥/解密密钥循环左移一位,如果该最低位为O,则对初始密文/初始解文循环左移一位形成最终密文/最終解文,同时加密密钥/解密密钥循环左移一位,最终密文即为H. 264/AVC密文,最终解文即为H. 264/AVC标准码流。
5.如权利要求4所述的H.264/AVC压缩域视频加密/解密方法,其特征在于,密钥生成包括以下步骤 将长度为η的ニ进制序列的用户密码的高n/2位取出作为第一无符号整数,低n/2位取出作为第二无符号整数,将第一无符号整数和第二无符号整数转换为O与I之间的第一双精度浮点小数和第二双精度浮点小数,其中η为正整数; 以第一双精度浮点小数为初始化值,进行ー维logistic混沛系统迭代,迭代次数为i次,得到Xi,以第二双精度浮点小数为初始化值,进行ー维logistic混沌系统迭代,以相同的迭代次数得到Ii ; 当迭代单元进行第j次迭代吋,如果&大于yr则加密密钥/解密密钥的第j位为1,否则为0,以此形成加密密钥/解密密钥,其中j为整数,且其大于O而小于等于待生成的加密密钥/解密密钥的位长度。
6.如权利要求4所述的H.264/AVC压缩域视频加密/解密方法,其特征在于,对于当前亮度4x4编码块,只有当其左方亮度4x4块和上方亮度4x4块以及右上亮度4x4块同时处于已经编码的状态,且H. 264/AVC的语法结构prev_intra4x4_pred_mode_flag为O时,才对当前编码块的巾贞内编码模式rem_intra4x4_pred_mode进行置乱/解密。
全文摘要
本发明公开了H.264/AVC压缩域视频加密/解密装置及其加密/解密方法,加密/解密装置包括密钥生成模块;第一判定模块;亮度4x4帧内预测模式模块;第二判定模块;亮度编码块模式置乱模块。本发明具有以下优点1、不破坏码流结构,利于网络传输、随机访问、压缩域视频处理(如水印加入等)等压缩域视频处理;2、不额外增加编码码率;3、破译概率低,视频加密与非加密能够实时切换;4、运算复杂度低。
文档编号H04N7/26GK102843558SQ20121029751
公开日2012年12月26日 申请日期2012年8月21日 优先权日2012年8月21日
发明者王啟军, 甘彤, 李鹏 申请人:中国电子科技集团公司第三十八研究所, 合肥公共安全技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1