视频加密算法通常需要根据应用场合的需要在安全性、压缩比、实时性、数据格式不变性、数据可操作性等性能要求中做出折中考虑。为此我们提出了一种针对H.264标准的新型视频加密算法,弥补了选择性加密压缩比变化及熵编码加密编码器不通用的问题。
一、帧异或视频加密算法
1、加密算法思想
算法的基本思路是将密钥决定的另一帧图像异或在原始图像帧上,对视觉重叠图像进行精心处理使其不明显降低H.264视频编码效率,在保持视频流能够正常解码的同时使非授权的图像理解变得不可行。
以图1为例说明这一加密原理。图像帧(a)是重叠图像,它虽然并不是近似噪声图像,但在安全要求并不十分高的网络视频应用场合,这样令人烦躁的图像已经达到了足够的加密效果。事实上它是由图像(b)和(b)反转180°并向左下平移后的图像帧(c)叠加产生的。遵循密码协议的设计要求,假设异或平移操作是公开的,但图像(c)需要合法密钥才能获得,则合法用户可以容易地将图像帧(a)与(c)=次异或还原原始图像帧(b),非法用户则只能看到可理解性极低的叠加图像(a)。从密码破译角度看,不知道(c)的情况下从(a)恢复出(b)在计算上是困难的,并且必须包含人工的视觉理解过程。
帧异或视频加密算法在整个视频应用的过程如图2所示。在图像异或过程中如何确保压缩率不变并决定密钥嵌入位置是本文的研究重点。
2、算法过程
首先以伪代码形式说明帧异或视频加密算法的异或(加密)过程。
帧异或视频加密算法
输入:待加密原始图像序列Ori_Seq[N];由密钥种子忍生成的流密钥Key_Str[41;滑动窗口大小为2w。
输出:加密后的图像序列Cry_Seq[N]
寄存器说明:i,j,t分别用于标记当前操作的原始图像帧,异或图像帧和流密钥比特位;
1)从原始图像序列中取出下一组以I帧开始的待加密原始图像帧组(I帧后均为时空相关性较强的P、B帧),记为Ori_Seq[x]至Ori_Seq[y],i-x,转步骤2);
2)根据滑动窗口和流密钥确定一个以I帧开始的时空相关性较强的异或图像帧组,具体操作为:根据Key_Str[i]至Key_Str[升w-1]的wbit流密钥定位Ori_Seq[x]之前的扩个已解码图像帧(滑动窗口)中的一个异或图像帧,:找到距其最近的I帧Xor_Seq[m]及其后的P、B帧,记为Xor_Seq[m]至Xor_Seq[n],t+ -w,转步骤3);
3)若i<y,按序取出原始图像帧组中的一帧图像Ori_Seq[i]:,根据Key_Str[t]至Key_ Str[t.+[logz]一1]的lbit流密钥定位Xor_Seq[m]至Xor_Seq[n]中的一个异或图像帧Xor_Seq[j],转步骤4)将Ori_Seq[i]与XorSeqD]异或;否则转步骤1; 4)若()ri_Seq[i]采用帧内预测,首先检查Ori_Seq[i]和Xor_Seq[j]是否均适用细节集中模型(人脸或细粒度近景一粗粒度背景的典型图像),若是,转步骤5),否则转步骤6);若Ori_Seq[j]采用帧间预测,转步骤7); 5)若均为细节集中模型,采用宏观“套取”策略进行异或,使用矩形套索将Xor_Seq[j]的细节整体“抠出”“套取”在Ori_Seq[i]的细节部分,并向左上各作10像素位平移。(以防细节完全相同情况出现异或无效),将二者异或以产生加密图像Cry_Seq[i]在相应位置宏块的像素值。当Xor_Seq[j]的细节存在多个时,按右下一左上逆序选用以增加图像不可理解度;Xor_Seq[j]细节矩形框大小超过Ori_Seq{[i]细节尺寸时,只截取左上相应大小矩形框;Xor_Seq[j]细节矩形框不足以覆盖Ori_ Seq[i]细节时,将Xor_Seq[j]细节块循环赋值填充达到相应大小;Xor_Seq[j]细节数量多于Ori_Seq[i]时,抛弃剩余细节;Xor_S eqDl细节数量少于Ori_Seq[i]时,循环使用Xor_Seq[j]细节。细节“套取”工作完毕后,加密图像Cry_Seq[i']剩余位置宏块的像素通过直接异或Ori_Seq[ii]和Xor_Seq[j]的对应位置获得,若Xor_Seq[j]在相应位置为4×4细粒度块,则不作异或处理(避免增加图像复杂度):,i+十,转步骤3); 6)只要Ori_Seq[i]或Xor_Seq[j]中的一个由于细节过于分散不便宏观“抠出”,即使用微观套取方式。按右下一左上逆序选择Xor_Seq[j]中的4×4细粒度宏块,按左上c一右下顺序异或在Ori_Seq[i]的4×4宏块上,若Xor_Seq [j]4×4宏块过多,丢弃剩余部分,若块数较少,则循环使用,生成Cry_Seq[i],i++.转步骤3); 7)帧间预测一律采用微观“套取”。将Xor_Seq[j]视为一个材料池,其中的宏块按照运动补偿分割尺寸的不同分为如下五组:A.I6×16、B 16×8或8>< 16、C.8×8、D.8 X4或4×8、E.4'7x4;Ori_Seq[i]中的运动补偿块同样按照此分割划人五个类中,各组仍按右下一左上的逆序分别异或,即Ori_SeqCi]中16×16的运动补偿分割只与Xor_Seq j]中的16 X16分割异或,Xor_Seq[j]各组材料过多丢弃,不足则循环使用,对于B组和D组中的分割块,异或时若出现二者尺寸颠倒的情况,将Xor_Seq[j]相应分割块顺序翻转900后使用,生成Cry_Seq[z],i++,转步骤3)。
帧异或视频加密算法的去异或(解密)过程与加密过程相反且类似,是一个由加密图像序列C ry_Seq[N]和异或图像序列Xor_Seq[n]再次异或恢复原始图像序列Ori_ Seq[N]的过程,不再展开。
二、加密算法实现细节
1、套取策略和分类方式
“套取”是对矩形图像块或宏块异或在原始图像帧上这一工作的形象说明。其工作的原则是:异或图像块(宏块)只是用于降低原始图像可理解度的“材料”,其可理解性不需保持,因而隐藏其宏观图像的“套取”规则更合适;同时,“套取”规则应当保证叠加图像的编码性能相比原图像序列没有明显下降,即保证压缩率不变。
帧异或视频加密算法的“套取”策略和宏块分类方式都是公开确定的,这满足安全密码协议设计的要求,同时也是保证方案正常运行的必要条件,只有解码器端做出与编码器端相同的“套取”判断并将块或宏块以相同方式分类,才能保证去异或操作为异或操作的逆操作。
2、异或图像块使用方式
异或图像的相应块(宏块)是循环使用的,并且无论在宏观“套取’’或微观“套取”过程中,都是按从右下到左上逆序取用的。
这是因为在宏观套取中,不能要求异或图像的细节尺寸大小和数量与原始图像非常近似,因而对异或图像的每个细节,应当按原始图像细节的尺寸大小进行裁剪或拼接(以对原始图像细节达到最小覆盖为标准),逆序使用异或细节块能进一步降低视觉可理解性;同时,如果异或细节比需要的更多,则将多余细节块丢弃,若异或细节块过少(不足以将全部原始图像细节覆盖),则循环使用。
微观套取中只涉及相应尺寸宏块材料的“数量问题”,当异或宏块数量不够时同样需循环使用。需要注意的是在帧间预测模式中,由于尺寸分割方式更多,须将这些“材料”按五种不同“规格”分类,分别逆序循环使用。
3、压缩率保证
一个I帧及其后的一组P、B帧序列表示一组时空相关性较强的视频序列,而P、B帧的使用可以有效降低码率。不难想象,用于异或的相应异或帧组也必须是以一个I帧打头的一组P、B帧序列,中间的P、B帧序列在叠加后具体帧间编码使用情况可以根据叠加帧的相关性重新确定。
1)帧间预测
通过异或叠加在原始帧上的图像同样是有意义的连续视频运动图像,因而运动残差、运动矢量描述和MV预测在减小叠加图像码率方面的处理就仍然是有效的。帧异或视频加密方案只需保证原本使用帧间预测的帧仍适用帧间预测,但具体预测方式可能发生变化。
H. 264的帧间预测较帧内情况稍为复杂,主要原因是其树状结构的运动补偿分割,只能采取微观套取方式:将异或图像视为一个材料池,运动补偿按照分割尺寸的不同分为如下五组:A 16×16、B.16×8和8X16、C 8×8、D.8×4和4×8、E.4×4;而后将原始图像中的运动补偿块同样按照此分割划入五个类中分别异或,即原图像中16×16的运动补偿分割只与异或帧中的16×16分割异或;对于B组和D组中的分割块,取用时若出现尺寸颠倒的情况,将异或帧相应分割块顺序翻转90°后使用。
2)帧内预测
对于帧内预测而言,其亮度预测类型分4×4和16×16两种。叠加图像和原始图像的相同位置宏块可以选择相同尺寸分割中不同的模式进行预测,这种选择仅改变编码数值但不改变码率。帧内编码的图像帧通常是细节较多较复杂的独立图像,图像的不规则叠加会导致均匀渐变色块大小的成倍减少,这对码率的影响是比较明显的。在宏观套取中并不能保证异或图像中细节位置总是与原图像中的细节位置接近,故此时应将异或图像细节平移“套取”在原始图像细节附近。
小知识之H.264
H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。这个标准通常被称之为H.264/AVC(或者AVC/H.264或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC)而明确的说明它两方面的开发者。
实操指南:如何监控聊天中的敏感信息?这款秘籍软件,轻松掌握微信聊天动态
电影《摩登时代》里,流水线工人就连在吃饭时都要用“自动喂食机”提高效率,这样才能挤出更多时间投入工作。虽然现在打工人不至于此,但有些老板仍然放心不下……像企业聊天记录往往蕴含着大量的敏感信息。为了确保信息安全,监控聊天中的敏感信息成为了一项必要且重要的工作。以下是一款秘籍软件,帮助你轻松掌握微信聊天动态,确保信息安全。...
怎么监控员工上班情况?2024企业管理的四种方法,老板们不容错过
怎么监控员工上班情况?2024企业管理的四种方法,老板们不容错过员工上班在干什么?摸鱼?打游戏?老板该怎么管理?如何才能监视怎么监控员工上班情况?监控员工上班情况可以通过多种方式实现,但重要的是要确保这些措施既合法又合规,同时尊重员工的隐私权。以下是一些建议的方法:一、制定明确的行为规范与奖惩制度1、制定行为规范: 企...
怎么监控员工上班情况?快速监控员工状态
怎么监控员工上班情况?快速监控员工状态在企业管理中,如何有效监控员工上班情况,确保工作效率与团队协作,是每位老板都需面对的课题。本文为您揭秘五招快速监控员工状态的实用技巧,不仅能帮助您实时掌握员工动态,还能提升整体管理效率。作为老板,掌握这些技巧,将让您在企业管理中游刃有余,轻松应对各种挑战。一、使用安企神软件实时监控...
安企神桌管软件:提升企业管理效率的全能助力
安企神桌管软件:提升企业管理效率的全能助力在当今竞争激烈的商业环境中,企业必须不断优化管理和运营流程,以提高效率和盈利能力。安企神桌管软件正是这样一款面向中小企业的管理工具,能够帮助企业在多方面提升综合管理水平。本文将详细探讨安企神桌管软件给企业带来的多重价值。一、全方位的管理功能安企神桌管软件是一款集成了多种管理功能...
安企神:揭开终端安全管理软件的神秘面纱
安企神:揭开终端安全管理软件的神秘面纱在数字化日益普及的今天,企业的网络安全问题愈发显得重要。数据泄露、网络攻击等事件层出不穷,如何保障企业内部信息的安全性成为众多企业关心的焦点。安企神终端安全管理软件应运而生,作为一款专业的安全管理工具,它的功能与优势备受关注。本文将全面揭秘安企神软件的核心功能、应用场景及其在终端安...