视频加密算法通常需要根据应用场合的需要在安全性、压缩比、实时性、数据格式不变性、数据可操作性等性能要求中做出折中考虑。为此我们提出了一种针对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)而明确的说明它两方面的开发者。
局域网传输工具怎么用?
在快节奏的工作环境中,怎样在公司内部网络中迅速、安全地传输文件已经成为很多团队面临的一大挑战。幸运的是,局域网传输工具为我们提供了一个完美的解决方案。那么,怎么使用局域网传输工具呢?本文将为您提供详细的操作指南。一、了解局域网传输工具的主要功能文件传送:支持在局域网中快速、稳定地传送各种类型和大小的文件。文件夹共享:用...
局域网传输工具是什么?一篇文章带您充分了解!
在日常办公和团队协作中,你是否经常遇到需要在公司内部网络里迅速、安全地传送大文件的情况?你有没有由于文件传输速度慢、容易出错而苦恼过?今日,我们将探讨一个高效的助手——局域网传输工具来解决这个问题。那么,什么叫局域网传输工具呢?它的作用和优点是什么?如何选择适合自己的局域网传输工具?一、局域网传输工具是什么?局域网传输...
局域网传输工具哪个好?
近日,因为局域网文档传输效率不高,一家知名科技公司的工程进度严重滞后。这一事件迅速导致了企业乃至领域的高度重视。这一事件再次凸显了局域网传输工具在企业经营中的功效。那么,在众多局域网传输工具中,哪一个是你得力助手?今日,使我们探讨一些备受推崇的局域网传输工具。一、LAN迅速传输:高效平稳,传输无阻碍LAN迅速传输是专门...
电脑软件管理是干什么的?解锁高效工作与生活的秘密武器
在这个智能飞速发展的时代,电脑已经成为我们工作、学习乃至娱乐不可缺少的工具。但是,随着软件应用的日益丰富,如何高效有序地管理这些软件,保证电脑的安全运行和数据安全,已成为我们面临的一大挑战。今日,使我们详细分析电脑软件管理的奥秘,看看它能给我们带来什么变化。一、程序安装与卸载:管理便捷,告别杂乱电脑软件管理的首要任务是...
电脑软件管理工具哪个好?
如今,随着信息技术的快速发展,电脑已成为我们工作、学习和生活中不可缺少的工具。但是,随着越来越多的程序安装在电脑上,如何有效地管理这种软件,以确保他们的正常运行和不断创新已经成为一个不容忽视的问题。为了帮助你更好地管理电脑软件,本文将推荐几款出色的电脑软件管理工具,各有特色,能够满足不同用户的需求。一、360软件管家3...