CN103546750A - 基于感兴趣区域的h.264视频加密方法 - Google Patents
基于感兴趣区域的h.264视频加密方法 Download PDFInfo
- Publication number
- CN103546750A CN103546750A CN201310499590.2A CN201310499590A CN103546750A CN 103546750 A CN103546750 A CN 103546750A CN 201310499590 A CN201310499590 A CN 201310499590A CN 103546750 A CN103546750 A CN 103546750A
- Authority
- CN
- China
- Prior art keywords
- interest
- area
- macro block
- sequence number
- current frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种基于感兴趣区域的H.264视频加密方法,该方法采用了基于三级密钥的加密处理方案,借助该三级密钥,改变H.264视频中感兴趣区域的视频编码参数后,再直接采用H.264视频编码标准进行编码处理,从而达到对感兴趣区域的局部加密效果,避免了直接对感兴趣区域内的像素值加以处理实现加密,降低了数据计算量及运算复杂度,有助于加快加密处理执行速度,减少了加密后码率增长量,加密后的视频数据在数据格式上能够与H.264标准编解码器兼容,能够直接应用于H.264视频的实时播放,并且还能够结合利用运动估计去漂移技术消除感兴趣区域加密对非感兴趣区域产生的加密扩散影响,提升加密视频的阅览效果。
Description
技术领域
本发明属于多媒体信息安全中信息加密技术领域,具体涉及一种基于感兴趣区域的H.264视频加密方法,通过该方法可以对H.264视频中的感兴趣区域进行实时的局部加密处理,并应用于H.264视频的实时播放。
背景技术
视频因其直观性、广泛性和高信息容量性,在人们生活娱乐和信息交流中占有十分大的比重。然而视频在网络传输中存在着恶意篡改窃听等问题,多媒体安全问题日益突出。
视频加密技术是视频数据保护领域一项重要的技术。视频加密技术是通过对编码后的视频数据流或者中间编码过程中数据的改变,使无解密密钥或者解密密钥错误的情况下,视频解码器无法正确的解码视频数据流或者解码后的视频无法正常的阅览。视频加密技术能够有效的保护视频内容,防止不法之徒窃取和篡改数据。视频加密技术的诸多特点和优点,已经受到了各国政府机关、情报部门、军事单位等的广泛关注和支持研究。因此视频加密技术的研究对于保障国家、军队、企业等的安全具有十分重要意义。
H.264作为新一代视频编码标准,相比于以往的视频压缩标准,H.264具有更高的压缩效率和良好的网络适应性。在图像重建质量相同时,H.264能够节省30%至50%的码率。H.264标准因其优异的性能使其在多媒体应用的各个领域得到广泛的应用,如视频点播、视频监控和视频会议等。因此,基于H.264标准的视频加密技术有着广泛的应用性。
目前绝大多数基于H.264视频的加密方法是将每帧视频全部进行加密,如专利名称为“H.264/AVC压缩域视频加密/解密装置及其加密/解密方法”和名称为“基于CAVLC编码的H.264视频加密方法”都是对整帧视频进行加密的。在一般的视频数据中,往往只需对感兴趣区域进行加密处理就可以达到良好的加密效果,而大量非感兴趣区域是不需要加密的,而传统对整帧视频进行加密的方法同样可以达到加密的效果,但是浪费了宝贵的计算资源和时间。而且在一些特殊的环境场合中,需要播放的视频中有些部分出于某种原因不便观看,传统的对整帧视频进行加密的方法往往不适合。基于以上原因,设计一种能够针对于感兴趣区域局部区域加密的视频加密方法就显得尤为重要。
但目前针对于感兴趣区域局部区域加密的视频加密方法主要存在几方面的问题。一方面,现有针对于感兴趣区域局部区域加密的视频加密方法,都主要通过对感兴趣区域局部区域内的像素值加以处理而使其弥散、模糊或不可见,进而达到加密效果,但这样的加密方法对数据的计算处理量较大,运算处理过程复杂,直接影响加密处理的执行速度,并且由于直接对像素值加以弥散、模糊等处理会导致像素数据的成倍增加,使得加密后码率增长量较大,难以满足视频实时加密和实时播放的需求。另一方面,现有针对于感兴趣区域局部区域加密的视频加密方法,往往存在加密扩散的影响,即被加密区域向非感兴趣区域扩散,造成感兴趣区域加密范围不准确的问题,降低了加密后视频播放的效果。
发明内容
针对现有技术中存在的上述问题,本发明目的在于提出一种基于感兴趣区域的H.264视频加密方法,通过该方法可以对H.264视频中的感兴趣区域进行实时的局部加密处理,用以解决加密的数据计算处理量以及加密后码率增长量较大的问题,能够直接应用于H.264视频的实时播放。
为实现上述目的,本发明采用了如下技术手段:
基于感兴趣区域的H.264视频加密方法,其特征在于,用于对待加密的H.264视频逐帧地进行感兴趣区域的局部加密处理;包括如下步骤:
A)Hamilton路矩阵生成步骤:
将待加密的H.264视频的图像区域划分为E行F列排布的E×F个宏块区,按照预先设定的巡游方向、巡游次序、巡游步长和巡游起始点,利用骑士巡游算法生成图像区域中各个宏块区的巡游序号,统计利用骑士巡游算法生成各个宏块区的巡游序号的过程中在各个预先设定的巡游方向上的巡游次数l1,l2,…,lk,…,lK,并由各个宏块区对应的的巡游序号按照各个宏块区的行列排布顺序排列构成Hamilton路矩阵H:
其中,lk表示利用骑士巡游算法生成各个宏块区的巡游序号的过程中在第k个巡游方向上的巡游次数,k∈{1,2,…,K},K表示预先设定的巡游方向的数量;Hamilton路矩阵H中的元素he,f表示待加密的H.264视频的图像区域中第e行第f列排布位置的宏块区对应的巡游序号,e∈{1,2,…,E},f∈{1,2,…,F};
B)逐帧加密处理步骤:
读取待加密的H.264视频中的一帧图像作为当前帧图像,按如下步骤进行加密处理:
b1)感兴趣区域识别处理;该步骤包括:
对当前帧图像进行感兴趣区域识别;若当前帧图像中不包含感兴趣区域,则跳过对当前帧图像的后续加密步骤,直接对当前帧图像采用H.264标准进行视频编码,当前帧图像的加密处理结束;若当前帧图像中包含有感兴趣区域,则继续对当前帧图像执行后续加密步骤;
b2)密匙生成处理;该步骤包括:
21)按待加密的H.264视频的图像区域宏块区划分方式,将当前帧图像划分为E行F列排布的E×F个宏块;
22)根据当前帧图像中感兴趣区域所覆盖的像素范围,判断当前帧图像中各个宏块是否属于感兴趣区域,从而通过统计确定所述感兴趣区域所包含的宏块数量N;
23)按照预先设定的置乱扫描顺序对Hamilton路矩阵H中的元素进行扫描,并按置乱扫描顺序依次提取出Hamilton路矩阵H中所表示的巡游序号值小于或等于当前帧图像中感兴趣区域所包含宏块数量N的N个巡游序号进行排列,构成当前帧图像的一个一维的置乱向量ZH:
ZH={z1,z2,…,zn,…,zN};
其中,zn表示按置乱扫描顺序从Hamilton路矩阵H中提取出的第n个值小于或等于当前帧图像中感兴趣区域所包含宏块数量N的巡游序号,n∈{1,2,…,N};
24)将当前帧图像中感兴趣区域所包含宏块数量N、感兴趣区域所覆盖的像素范围、骑士巡游算法生成各个宏块的巡游序号的过程中在各个预先设定的巡游方向上的巡游次数l1,l2,…,lk,…,lK以及当前帧图像的帧序号加以组合排列后进行SHA-1加密运算,将运算结果作为当前帧图像的160比特二进制的密钥序列,再按照每4比特一组对所述二进制的密钥序列进行分组,将每一组4比特的二进制数据转换为十进制的一个子密钥,从而得到十进制的子密钥序列d1,d2,…,di,…,d40;di表示对所述二进制的密钥序列进行分组后,其中第i组4比特的二进制数据转换所得到的十进制的子密钥;
b3)感兴趣区域加密处理;该步骤包括:
31)根据H.264视频编码标准的FMO类型6,将当前帧图像分为6个条带组;先初始化当前帧图像中各个宏块的条带组序号均为0,然后按照当前帧图像中各个宏块的行列排布位置对宏块进行逐行扫描,每当扫描到一个感兴趣区域包含的宏块时利用子密钥序列d1,d2,…,di,…,d40中的序列元素更新其条带组序号,由此初步确定当前帧图像中各个宏块的条带组序号;具体为:
SliceGroupIDout=0;
SliceGroupIDin,n=mod(di,5)i=mod(n,40)+1;
其中,SliceGroupIDout表示感兴趣区域之外的宏块的条带组序号;SliceGroupIDin,n表示感兴趣区域包含的按逐行次序的第n个宏块的条带组序号,n∈{1,2,…,N};mod(di,5)表示将十进制子密钥序列中第i个序列元素di对5进行除法取余运算;mod(di,5)i=mod(n,40)表示计算条带组序号SliceGroupIDin,n时选取序列元素di的对应关系为i=mod(n,40),mod(n,40)表示将数值n对40进行除法取余运算;
32)按照当前帧图像中各个宏块的行列排布位置以逐行的次序依次提取出感兴趣区域包含的N个宏块对应的条带组序号进行排列,构成当前帧图像的一个一维的条带组序号向量SID:
SID={SliceGroupIDin,1,SliceGroupIDin,2,…,SliceGroupIDin,n,…,SliceGroupIDin,N};
然后将当前帧图像的条带组序号向量SID中的N个条带组序号与置乱向量ZH中的N个巡游序号按排列顺序一一对应,从而得到带组序号向量SID中的N个条带组序号各自对应的巡游序号值;再按如下方式对条带组序号向量SID中的N个条带组序号的排列位置进行置乱:将巡游序号值为n所对应的条带组序号,调整到巡游序号值为mod(n,N)+1所对应的条组带序号的位置,n∈{1,2,…,N},mod(n,N)表示数值n对N进行除法取余运算;由此置乱重新排列的N个条带组序号构成当前帧图像的置乱条带组序号向量SIDZ;
SIDZ={s1,s2,…,sn,…,sN};
其中,sn表示原带组序号向量SID中的N个条带组序号经置乱后重新排列在第n个排列位置的巡游序号;
33)再次按照当前帧图像中各个宏块的行列排布位置对宏块进行逐行扫描,每当扫描到一个感兴趣区域包含的宏块时利用置乱条带组序号向量SIDZ再次更新其条带组序号,由此确定当前帧图像中感兴趣区域包含的各个宏块所加密对应的条带组序号;具体为:
SliceGroupID′in,n=sn;
其中,SliceGroupID′in,n表示感兴趣区域包含的按逐行次序的第n个宏块所加密对应的条带组序号,n∈{1,2,…,N};
并在H.264视频编码标准的图像解码参数集中记录H.264视频编码标准的FMO类型为类型6以及条组带的数量为6个;
34)按照当前帧图像中各个宏块的行列排布位置以逐行的次序依次提取出感兴趣区域包含的N个宏块各自在H.264视频编码标准中初始定义的宏块类型参数,利用子密钥序列d1,d2,…,di,…,d40中的序列元素分别对感兴趣区域包含的每个宏块的初始宏块类型参数按位异或加密,得到感兴趣区域包含的各个宏块所加密对应的宏块类型参数;具体为:
其中,MB_Typeold,n表示感兴趣区域包含的按逐行次序的第n个宏块的初始宏块类型参数,n∈{1,2,…,N};MB_Typenew,n表示感兴趣区域包含的按逐行次序的第n个宏块的加密宏块类型参数;dii=mod(n,40)表示计算加密宏块类型参数MB_Typenew,n时选取序列元素di的对应关系为i=mod(n,40),mod(n,40)表示将数值n对40进行除法取余运算;
35)根据当前帧图像中感兴趣区域包含的各个宏块所加密对应的条带组序号和宏块类型参数,以及感兴趣区域之外各个宏块初始对应的条带组序号和宏块类型参数,采用H.264视频编码标准对当前帧图像进行编码处理;
C)逐帧地对待加密的H.264视频的每一帧图像重复执行步骤B,直至完成对待加密的H.264视频各帧图像的加密处理。
作为进一步的改进,本发明基于感兴趣区域的H.264视频加密方法还用以解决对感兴趣区域进行局部加密处理后,容易出现加密扩散影响的问题。为此,本发明采用了如下的技术手段:
在上述基于感兴趣区域的H.264视频加密方法的基础上,作为进一步改进方案,所述步骤B中,在步骤b3之后,还包括步骤b4:
b4)加密区域扩散消除处理;该步骤包括:
41)统计待加密H.264视频的当前帧图像中感兴趣区域包含的N个宏块的所覆盖的像素范围A;
42)重新对当前帧图像中感兴趣区域之外的宏块进行运动估计;运动估计过程中,按预设定的各种分块模式,将当前帧图像中感兴趣区域之外的每个宏块再次划分为若干个子宏块,以子宏块作为运动估计的运动位移量单位,并针对每种分块模式,判断感兴趣区域之外的每个运动估计点所在子宏块的四个角落像素点中是否存在至少一个角落像素点在感兴趣区域包含的N个宏块的所覆盖的像素范围A之内,若是则设定该运动估计点的代价值大于零,否则设定该运动估计点的代价值等于零;然后,分别统计每种分块模式中所有运动估计点的代价值之和,按所有运动估计点代价值之和最小的一种分块模式及其相应的运动矢量,调整当前帧图像中感兴趣区域包含的宏块与感兴趣区域之外的宏块之间的划分边界,从而重新划分出当前帧图像中感兴趣区域之外的各个宏块;
43)将当前帧图像中重新划分出的感兴趣区域之外的各个宏块的条带组序号初始化为0,并将重新划分出的感兴趣区域之外的各个宏块的宏块类型参数恢复为其各自在H.264视频编码标准中初始定义的宏块类型参数,然后采用H.264视频编码标准再次对当前帧图像中重新划分出的感兴趣区域之外的各个宏块进行编码处理。
上述基于感兴趣区域的H.264视频加密方法中,作为一种优化方案,所述步骤A中,预先设定的巡游方向的数量K为8。
上述基于感兴趣区域的H.264视频加密方法中,作为一种优化方案,所述步骤22中,“判断当前帧图像中各个宏块是否属于感兴趣区域”的具体方式为:若宏块的左上角像素点位于所述感兴趣区域覆盖的像素范围内,则判定宏块属于感兴趣区域;否则,判定宏块不属于感兴趣区域。
上述基于感兴趣区域的H.264视频加密方法中,作为另一种优化方案,所述步骤22中,“判断当前帧图像中各个宏块是否属于感兴趣区域”的具体方式为:若宏块中超过一半的像素点位于所述感兴趣区域覆盖的像素范围内,则判定宏块属于感兴趣区域;否则,判定宏块不属于感兴趣区域。
上述基于感兴趣区域的H.264视频加密方法中,作为一种优化方案,所述步骤23中,预先设定的置乱扫描顺序是逐行扫描、逐列扫描、随机乱序扫描、自定义顺序扫描中的一种。
相比于现有技术,本发明具有如下有益效果:
1、本发明基于感兴趣区域的H.264视频加密方法采用了基于三级密钥的加密处理方案,借助该三级密钥,改变H.264视频中感兴趣区域的视频编码参数后,再直接采用H.264视频编码标准进行编码处理,从而达到对感兴趣区域的局部加密效果,避免了直接对感兴趣区域内的像素值加以处理而使其达到弥散、模糊或不可见效果来实现加密,降低了对H.264视频感兴趣区域局部加密的数据计算量及运算复杂度。
2、本发明基于感兴趣区域的H.264视频加密方法的加密处理,只涉及对视频中感兴趣区域编码参数的改变,因此加密后仅增加了改变编码参数的相关记录数据,不会造成加密后像素数据的成倍增加,解决了加密后码率增长量较大的问题。
3、本发明方法的在密钥分配上采用帧同步技术对密钥进行分级管理,可以根据不同需求,选择不同的加密强度,实现多种不同的加密安全级别。
4、本发明基于感兴趣区域的H.264视频加密方法,加密后的视频数据,是通过改变感兴趣区域视频编码参数后直接利用H.264视频编码标准进行编码处理而得到,因此加密后的视频数据在数据格式上能够与H.264标准编解码器兼容,利于网络传输、随机访问等,且对发明方法针对H.264视频的加密处理是逐帧进行的,具体应用时可以逐帧加密后立即逐帧传输发送,因此能够直接应用于H.264视频的实时播放。
5、本发明的基于感兴趣区域的H.264视频加密方法,还能够结合利用运动估计去漂移技术消除感兴趣区域加密对非感兴趣区域产生的加密扩散影响,提升基于感兴趣区域加密视频的阅览效果。
附图说明
图1为本发明基于感兴趣区域的H.264视频加密方法一种方案的流程图。
图2为本发明基于感兴趣区域的H.264视频加密方法改进方案的流程图。
图3为实验室实例中采用的8个巡游方向示意图。
图4为实验室实例中得到的Hamilton路矩阵示意图。
图5为实验室实例中本发明方法是否包含加密区域扩散消除处理的加密效果对比示意图。
图6为实验室实例中采用本发明方法进行加密处理前、后的感兴趣区域峰值信噪比变化图。
具体实施方式
本发明提供了一种基于感兴趣区域的H.264视频加解密方法。该方法可以用于对待加密的H.264视频逐帧地进行感兴趣区域的局部加密处理,用以解决现有针对于感兴趣区域局部加密的视频加密方法所存在的加密数据计算处理量和加密后码率增长量较大的问题,并且其可以实现实时的加密处理,其能够直接应用于H.264视频的实时播放。
为了适应不同情况下安全性的需求,本发明基于感兴趣区域的H.264视频加密方法采用了基于三级密钥的加密处理方案,三级密钥分别为序列层密钥、帧层密钥、宏块层密钥。其中,使用控制骑士巡游矩阵生成的参数作为序列层密钥,使用降维的骑士巡游矩阵作为帧层密钥,利用SHA-1算法生成的报文摘要作为宏块层密钥。借助该三级密钥,改变H.264视频中感兴趣区域的视频编码参数后,再直接采用H.264视频编码标准进行编码处理,就能够达到对感兴趣区域的加密效果;由此,避免了直接对感兴趣区域内的像素值加以处理而使其达到弥散、模糊或不可见效果来实现加密,降低了对H.264视频感兴趣区域局部加密的数据计算量及运算复杂度,并且本发明加密方法只涉及对视频中感兴趣区域编码参数的改变,因此加密后仅增加了改变编码参数的相关记录数据,不会造成加密后像素数据的成倍增加,解决了加密后码率增长量较大的问题。
本发明基于感兴趣区域的H.264视频加密方法的具体流程如图1所示,包括如下步骤:
A)Hamilton路矩阵生成步骤:
将待加密的H.264视频的图像区域划分为E行F列排布的E×F个宏块区,按照预先设定的巡游方向、巡游次序、巡游步长和巡游起始点,利用骑士巡游算法生成图像区域中各个宏块区的巡游序号,统计利用骑士巡游算法生成各个宏块区的巡游序号的过程中在各个预先设定的巡游方向上的巡游次数l1,l2,…,lk,…,lK,并由各个宏块区对应的的巡游序号按照各个宏块区的行列排布顺序排列构成Hamilton路矩阵H:
其中,lk表示利用骑士巡游算法生成各个宏块区的巡游序号的过程中在第k个巡游方向上的巡游次数,k∈{1,2,…,K},K表示预先设定的巡游方向的数量;Hamilton路矩阵H中的元素he,f表示待加密的H.264视频的图像区域中第e行第f列排布位置的宏块区对应的巡游序号,e∈{1,2,…,E},f∈{1,2,…,F}。
该步骤借助了骑士巡游算法。骑士巡游问题就是马从国际象棋棋盘上的某一个初始棋格开始,以骑士跳斜日的方式(水平方向移动一个棋格,垂直方向移动两个棋格或者水平方向移动两个棋格,垂直方向移动一个棋格)走遍棋盘上的每一个棋格一次且仅一次(参见文献“Parberry I.An efficient algorithm for the knight's tour problem.Discrete AppliedMathematics,1997,73(3):251-260.”)。求解骑士巡游路径问题可以抽象为求解哈密尔顿路和哈密尔顿圈的问题(参见文献“柏森,杨晓帆,瞿晓鸿,等.关于骑士旅游问题的几个定理.重庆大学学报(自然科学版),1998,21(3):32-38”)。若将图像的像素视为棋盘的棋格,骑士从一个棋格移动到另一个棋格视为像素从一个位置移动到另一个位置,则可利用骑士巡游问题对图像进行置乱加密,并存在较大的密钥空间,能够满足安全性需求。令棋盘大小、巡游起始位置、巡游方向、巡游步长作为密钥,以此控制不同骑士巡游路径的生成(参见文献“Delei J,Sen B,Wenming D.An ant colony optimization algorithm for knight's tour problemon the chessboard with holes//Education Technology and Computer Science(ETCS).Wuhan,China,2009,1:292-296.”)。因此,本发明采用了骑士巡游算法生成当前帧图像中各个宏块的巡游序号,并以此形成的Hamilton路矩阵H作为第一级密匙,即序列层密钥。其中,预先设定的巡游方向的数量K通常设定为8。
B)逐帧加密处理步骤:
读取待加密的H.264视频中的一帧图像作为当前帧图像,按如下步骤进行加密处理:
b1)感兴趣区域识别处理;该步骤包括:
对当前帧图像进行感兴趣区域识别;若当前帧图像中不包含感兴趣区域,则跳过对当前帧图像的后续加密步骤,直接对当前帧图像采用H.264标准进行视频编码,当前帧图像的加密处理结束;若当前帧图像中包含有感兴趣区域,则继续对当前帧图像执行后续加密步骤。
在待加密的H.264视频中,有可能存在不包含感兴趣区域的图像帧,因此在逐帧对待加密的H.264视频进行加密处理的过程中,需要先进行感兴趣区域识别,从而直接跳过不存在感兴趣区域的图像帧,以避免不必要的加密运算。
b2)密匙生成处理;该步骤包括:
21)按待加密的H.264视频的图像区域宏块区划分方式,将当前帧图像划分为E行F列排布的E×F个宏块。
对当前帧图像进行宏块划分,是为了能够借助Hamilton路矩阵生成当前帧图像的帧层密匙。
22)根据当前帧图像中感兴趣区域所覆盖的像素范围,判断当前帧图像中各个宏块是否属于感兴趣区域,从而通过统计确定所述感兴趣区域所包含的宏块数量N。
23)按照预先设定的置乱扫描顺序对Hamilton路矩阵H中的元素进行扫描,并按置乱扫描顺序依次提取出Hamilton路矩阵H中所表示的巡游序号值小于或等于当前帧图像中感兴趣区域所包含宏块数量N的N个巡游序号进行排列,构成当前帧图像的一个一维的置乱向量ZH:
ZH={z1,z2,…,zn,…,zN};
其中,zn表示按置乱扫描顺序从Hamilton路矩阵H中提取出的第n个值小于或等于当前帧图像中感兴趣区域所包含宏块数量N的巡游序号,n∈{1,2,…,N};
骑士巡游算法自身的应用受到加密区域大小的限制。例如,当应用于对视频帧进行全帧加密时,若需加密的视频帧的像素尺寸大小为M×N,则利用骑士巡游算法生成对应于全帧的哈密尔顿路矩阵(Hamilton路矩阵H)大小也为M×N;而应用于对视频帧进行局部区域加密时,若视频帧中需要加密的局部区域像素尺寸大小为r×s,r<M,s<N,则此前生成的对应于全帧的哈密尔顿路矩阵无法对其进行加密,需要重新利用骑士巡游算法生成大小为r×s的哈密尔顿路矩阵。然而,对于本发明基于感兴趣区域的H.264视频加解密处理而言,由于每个视频帧识别出的感兴趣区域像素尺寸大小可能不尽相同,若直接利用骑士巡游算法进行置乱加密,则需要针对不同大小的感兴趣区域生成不同大小的哈密尔顿路矩阵,增加了加密算法的时间开销和资源的占用。
为了克服此问题,本发明方法中,通过步骤22~23对生成的二维Hamilton路矩阵进行降维处理,得到了当前帧图像的置乱向量,用以作为当前帧图像相应的帧层密匙,以满足加密不同像素尺寸大小的感兴趣区域的加密要求。在步骤22中,“判断当前帧图像中各个宏块是否属于感兴趣区域”的方式有很多种,需要根据具体应用时所采用的感兴趣区域识别方法而确定。例如,若采用HOG(Histogram of Oriented Gradient,方向梯度直方图)+SVM(Support Vector Machine,支持向量机)算法检测感兴趣区域,所识别出的感兴趣区域为矩形,则“判断当前帧图像中各个宏块是否属于感兴趣区域”的具体方式可以为:若宏块的左上角像素点位于所述感兴趣区域覆盖的像素范围内,则判定宏块属于感兴趣区域;否则,判定宏块不属于感兴趣区域。若采用其它的算法识别出的感兴趣区域不为矩形,则“判断当前帧图像中各个宏块是否属于感兴趣区域”的具体方式可以为:若宏块中超过一半的像素点位于所述感兴趣区域覆盖的像素范围内,则判定宏块属于感兴趣区域;否则,判定宏块不属于感兴趣区域。而在步骤23中,预先设定的置乱扫描顺序,可以是逐行扫描、逐列扫描、随机乱序扫描、自定义顺序扫描中的任意一种。
24)将当前帧图像中感兴趣区域所包含宏块数量N、感兴趣区域所覆盖的像素范围、骑士巡游算法生成各个宏块的巡游序号的过程中在各个预先设定的巡游方向上的巡游次数l1,l2,…,lk,…,lK以及当前帧图像的帧序号加以组合排列后进行SHA-1加密运算,将运算结果作为当前帧图像的160比特二进制的密钥序列,再按照每4比特一组对所述二进制的密钥序列进行分组,将每一组4比特的二进制数据转换为十进制的一个子密钥,从而得到十进制的子密钥序列d1,d2,…,di,…,d40;di表示对所述二进制的密钥序列进行分组后,其中第i组4比特的二进制数据转换所得到的十进制的子密钥;
通过步骤24得到了当前帧图像的子密钥序列d1,d2,…,di,…,d40,即作为当前帧图像的宏块层密匙。
b3)感兴趣区域加密处理。为了满足不同情况下的安全需求,发明采用二级加密方案。以置乱感兴趣区域内部宏块条带组序号作为第一安全级别加密方法,以加密感兴趣区域内部宏块的宏块类型参数作为第二安全级别加密方法。具体的感兴趣区域加密处理步骤包括:
31)根据H.264视频编码标准的FMO(Flexible Macro block Ordering,灵活宏块排列机制)类型6,将当前帧图像分为6个条带组;先初始化当前帧图像中各个宏块的条带组序号均为0,然后按照当前帧图像中各个宏块的行列排布位置对宏块进行逐行扫描,每当扫描到一个感兴趣区域包含的宏块时利用子密钥序列d1,d2,…,di,…,d40中的序列元素更新其条带组序号,由此初步确定当前帧图像中各个宏块的条带组序号;具体为:
SliceGroupIDout=0;
SliceGroupIDin,n=mod(di,5)i=mod(n,40)+1;
其中,SliceGroupIDout表示感兴趣区域之外的宏块的条带组序号;SliceGroupIDin,n表示感兴趣区域包含的按逐行次序的第n个宏块的条带组序号,n∈{1,2,…,N};mod(di,5)表示将十进制子密钥序列中第i个序列元素di对5进行除法取余运算;mod(di,5)i=mod(n,40)表示计算条带组序号SliceGroupIDin,n时选取序列元素di的对应关系为i=mod(n,40),mod(n,40)表示将数值n对40进行除法取余运算。
该步骤中,初步设定感兴趣区域之外的各个宏块的条带组序号为0,并按上述运算规律初步设定感兴趣区域包含的各个宏块的条带组序号为1~5。之所以将感兴趣区域包含的宏块初步设定在多个不同的条带组,是为了利用该多个不同的条带组进行后续的置乱加密处理。
32)按照当前帧图像中各个宏块的行列排布位置以逐行的次序依次提取出感兴趣区域包含的N个宏块对应的条带组序号进行排列,构成当前帧图像的一个一维的条带组序号向量SID:
SID={SliceGroupIDin,1,SliceGroupIDin,2,…,SliceGroupIDin,n,…,SliceGroupIDin,N};
然后将当前帧图像的条带组序号向量SID中的N个条带组序号与置乱向量ZH中的N个巡游序号按排列顺序一一对应,从而得到带组序号向量SID中的N个条带组序号各自对应的巡游序号值;再按如下方式对条带组序号向量SID中的N个条带组序号的排列位置进行置乱:将巡游序号值为n所对应的条带组序号,调整到巡游序号值为mod(n,N)+1所对应的条组带序号的位置,n∈{1,2,…,N},mod(n,N)表示数值n对N进行除法取余运算;由此置乱重新排列的N个条带组序号构成当前帧图像的置乱条带组序号向量SIDZ;
SIDZ={s1,s2,…,sn,…,sN};
其中,sn表示原带组序号向量SID中的N个条带组序号经置乱后重新排列在第n个排列位置的巡游序号。
该步骤中,按逐行的次序依次提取出感兴趣区域包含的N个宏块对应的条带组序号构成条带组序号向量SID后,又对其根据置乱向量ZH按上述规律进行条带组序号排列顺序的置乱,得到置乱条带组序号向量SIDZ,以便于利用该置乱条带组序号向量SIDZ对感兴趣区域包含的N个宏块进行条带组序号的置乱加密。
33)再次按照当前帧图像中各个宏块的行列排布位置对宏块进行逐行扫描,每当扫描到一个感兴趣区域包含的宏块时利用置乱条带组序号向量SIDZ再次更新其条带组序号,由此确定当前帧图像中感兴趣区域包含的各个宏块所加密对应的条带组序号;具体为:
SliceGroupID′in,n=sn;
其中,SliceGroupID′in,n表示感兴趣区域包含的按逐行次序的第n个宏块所加密对应的条带组序号,n∈{1,2,…,N};
并在H.264视频编码标准的图像解码参数集中记录H.264视频编码标准的FMO类型为类型6以及条组带的数量为6个。
该步骤中,由于置乱条带组序号向量SIDZ是由条带组序号向量SID经过置乱重排后得到,因此,再次按逐行的次序将感兴趣区域包含的N个宏块逐一与置乱条带组序号向量SIDZ中的N个条带组序号重新对应,也就相当于对当前帧图像中感兴趣区域包含的N个宏块的条带组序号进行了置乱加密。由此,通过步骤31~32,对当前帧图像的感兴趣区域包含的N个宏块进行了条带组序号的置乱加密处理,改变了当前帧图像感兴趣区域中各个宏块的条带组序号参数,完成了第一安全级别加密。并且将第一安全级别加密所利用的相关参数记录在H.264视频编码标准的图像解码参数集中,使得加密后的视频在按H.264视频编码标准的解码播放时,能够根据图像解码参数集获得这些参数信息,从而顺利的得以解码处理,实现正常播放。
34)按照当前帧图像中各个宏块的行列排布位置以逐行的次序依次提取出感兴趣区域包含的N个宏块各自在H.264视频编码标准中初始定义的宏块类型参数,利用子密钥序列d1,d2,…,di,…,d40中的序列元素分别对感兴趣区域包含的每个宏块的初始宏块类型参数按位异或加密,得到感兴趣区域包含的各个宏块所加密对应的宏块类型参数;具体为:
其中,MB_Typeold,n表示感兴趣区域包含的按逐行次序的第n个宏块的初始宏块类型参数,n∈{1,2,…,N};MB_Typenew,n表示感兴趣区域包含的按逐行次序的第n个宏块的加密宏块类型参数;dii=mod(n,40)表示计算加密宏块类型参数MB_Typenew,n时选取序列元素di的对应关系为i=mod(n,40),mod(n,40)表示将数值n对40进行除法取余运算。
该步骤用于对当前帧图像的感兴趣区域包含的N个宏块进行宏块类型参数的加密处理,完成了第二安全级别加密。
35)根据当前帧图像中感兴趣区域包含的各个宏块所加密对应的条带组序号和宏块类型参数,以及感兴趣区域之外各个宏块初始对应的条带组序号和宏块类型参数,采用H.264视频编码标准对当前帧图像进行编码处理。
由于通过前面对当前帧图像感兴趣区域的第一级安全级别加密和第二级安全级别加密,分别对感兴趣区域包含的各个宏块的条带组序号和宏块类型参数实现了置乱加密处理,而对感兴趣区域之外各个宏块保持其初始对应的条带组序号和宏块类型参数不变,因此,该步骤直接采用H.264视频编码标准对当前帧图像进行编码处理,其编码结果会导致当前帧图像中感兴趣区域图像因编码参数的置乱而发生图像编码失真,而感兴趣区域之外的图像区域则会得到正常编码,从而达到对感兴趣区域的局部加密效果。这样的加密方式,避免了直接对感兴趣区域内的像素值加以处理而使其达到弥散、模糊或不可见效果来实现加密,降低了对H.264视频感兴趣区域局部加密的数据计算量及运算复杂度,并且本发明加密方法只涉及对视频中感兴趣区域编码参数的改变,因此加密后仅增加了改变编码参数的相关记录数据,不会造成加密后像素数据的成倍增加,解决了加密后码率增长量较大的问题。
C)逐帧地对待加密的H.264视频的每一帧图像重复执行步骤B,直至完成对待加密的H.264视频各帧图像的加密处理。
对待加密的H.264视频的各帧图像均按照步骤B的流程进行加密处理后,整个视频的加密处理流程完成。
本发明基于感兴趣区域的H.264视频加密方法,采用了基于三级密钥的加密处理方案,分别为序列层密钥、帧层密钥、宏块层密钥。Hamilton路矩阵H作为序列层密钥,其密钥空间容量取决于骑士巡游路径的数目和加密每个感兴趣区域内部宏块的宏块类型参数的子密钥长度;普通8×8宏块区棋盘上骑士巡游路径的数目便可多达3.019×1022个之多,随着宏块区划分数量的增加,可供选择的起始点位置和可供试探的巡游方向都将增多,因而骑士巡游路径的数目也将增多,可见采用骑士巡游算法得到的序列层密钥已然具有较大的密钥空间。同时,本发明方法针对每一视频帧生成了相应的帧层密钥,采用帧层密钥伪随地置乱每个感兴趣区域内部宏块的条带组序号,即使通过穷举法解密了视频中的某一帧图像,由于不同帧图像中相同位置的感兴趣区域内部宏块被置乱加密的条带组序号都不尽相同,因此也无法直接解密视频中的其它帧图像,进一步提高了加密安全性。此外,本发明方法还采宏块层密钥对每个感兴趣区域内部宏块的宏块类型参数进行加密,并且每帧生成的宏块层密钥都不尽相同,即使正确解密一个宏块的宏块类型参数,由于宏块编码之间的相关性,也无法获得当前宏块所包含的图像结构信息,需要对所有相关的宏块正确解密才可以获得其所包含的图像结构信息,也就是说随着感兴趣区域所包含的宏块数目增加,安全性也相应地会得到进一步提升。
另一方面,在对视频进行感兴趣区域局部加密时,容易使得加密处理区域向感兴趣区域周边延伸扩散,导致感兴趣区域周边临近的部分外部区域利用感兴趣区域内部的加密方式被加密编码,使得解码播放的视频画面中感兴趣区域周边临近的非感兴趣区域也处于加密状态,影响了视频中非感兴趣区域的正常阅览,此现象称为感兴趣区域的加密区域扩散效应(the Effect of Encrypted Region Expansion,简称为EERE)。加密区域扩散效应分为帧内编码加密区域扩散效应和帧间编码加密区域扩散效应。
本发明基于感兴趣区域的H.264视频加密方法,按上述步骤执行加密处理,虽然解决了加密数据计算复杂、加密后码率增长量较大的问题,但同样可能出现加密扩散影响的问题。由于本发明的加密处理过程中,感兴趣区域内部宏块的条带组与非感兴趣区域宏块的条带组不同,而在H.264视频编码标准中,帧内编码只能在同一个条带组内进行,也就是说,本发明基于感兴趣区域的H.264视频加密方法所产生的加密区域扩散效应与帧内编码加密区域扩散效应无关,而主要由帧间编码加密区域扩散效应引起。
因此,为了解决加密扩散影响的问题,本发明还提出了一种基于感兴趣区域的H.264视频加密方法的改进方案,该改进方案是在上述步骤A~C所述的加密处理流程基础上,在步骤B中的步骤b3之后,进步一增加如下的步骤b4,通过运动估计实现对加密区域扩散的消除处理:
b4)加密区域扩散消除处理;该步骤包括:
41)统计待加密H.264视频的当前帧图像中感兴趣区域包含的N个宏块的所覆盖的像素范围A。
该步骤确定感兴趣区域包含的N个宏块的所覆盖的像素范围A,用以作为后续步骤中判定运动估计代价的基准。
42)重新对当前帧图像中感兴趣区域之外的宏块进行运动估计;运动估计过程中,按预设定的各种分块模式,将当前帧图像中感兴趣区域之外的每个宏块再次划分为若干个子宏块,以子宏块作为运动估计的运动位移量单位,并针对每种分块模式,判断感兴趣区域之外的每个运动估计点所在子宏块的四个角落像素点中是否存在至少一个角落像素点在感兴趣区域包含的N个宏块的所覆盖的像素范围A之内,若是则设定该运动估计点的代价值大于零,否则设定该运动估计点的代价值等于零;然后,分别统计每种分块模式中所有运动估计点的代价值之和,按所有运动估计点代价值之和最小的一种分块模式及其相应的运动矢量,调整当前帧图像中感兴趣区域包含的宏块与感兴趣区域之外的宏块之间的划分边界,从而重新划分出当前帧图像中感兴趣区域之外的各个宏块。
该步骤利用运动估计,从预设定的各种分块模式中找到运动估计点代价值之和最小的一种分块模式及其相应的运动矢量,据此调整当前帧图像中感兴趣区域包含的宏块与感兴趣区域之外的宏块之间的划分边界,从而重新划分出当前帧图像中感兴趣区域之外的各个宏块。
43)将当前帧图像中重新划分出的感兴趣区域之外的各个宏块的条带组序号初始化为0,并将重新划分出的感兴趣区域之外的各个宏块的宏块类型参数恢复为其各自在H.264视频编码标准中初始定义的宏块类型参数,然后采用H.264视频编码标准再次对当前帧图像中重新划分出的感兴趣区域之外的各个宏块进行编码处理。
重新划分出当前帧图像中感兴趣区域之外的各个宏块后,将这些感兴趣区域之外的各个宏块的编码参数恢复为初始状态,并重新采用H.264视频编码标准进行编码处理,则消除了感兴趣区域周边临近的外部区域出现加密区域扩散的问题。由此构成的基于感兴趣区域的H.264视频加密方法改进方案的整体流程如图2所示。
综上所述,可以看到,本发明基于感兴趣区域的H.264视频加密方法,通过对感兴趣区域包含的各个宏块的条带组序号和宏块类型参数进行置乱加密,使其视频编码参数改变,从而达到对感兴趣区域的加密效果,避免了直接对感兴趣区域内的像素值加以处理而使其达到弥散、模糊或不可见效果来实现加密,降低了对H.264视频感兴趣区域局部加密的数据计算量及运算复杂度,有助于加快加密处理执行速度,并且加密后码率增长量较小,能够满足视频实时加密需求;并且,由于加密后的视频数据,是通过改变感兴趣区域视频编码参数后直接利用H.264视频编码标准进行编码处理而得到,因此加密后的视频数据在数据格式上能够与H.264标准编解码器兼容,利于网络传输、随机访问等,且对发明方法针对H.264视频的加密处理是逐帧进行的,具体应用时可以逐帧加密后立即逐帧传输发送,因此能够直接应用于H.264视频的实时播放;同时,本发明方法的在密钥分配上采用帧同步技术对密钥进行分级管理,可以根据不同需求,选择不同的加密强度,实现多种不同的加密安全级别;此外,本发明还提供了进一步改进的基于感兴趣区域的H.264视频加密方法,利用运动估计去漂移技术消除感兴趣区域加密对非感兴趣区域产生的加密扩散影响,提升了基于感兴趣区域加密视频的阅览效果。
下面通过一些实际案例对本发明基于感兴趣区域的H.264视频加密方法的处理效果加以验证,以更加直观的反映本方明方法的加密处理效果。
实验实施例:
本实验实施例利用本发明基于感兴趣区域的H.264视频加密方法对foreman_qcif标准测试视频序列进行感兴趣区域加密实验验证。该实验实施例中,将视频中的人脸区域作为感兴趣区域,先借助人脸模型数据库对foreman_qcif标准测试视频序列进行人脸识别处理,划分出该视频序列的各帧图像中的人脸区域,标记为感兴趣区域;而后,采用本发明方法进行感兴趣区域的局部加密。
在实验实施例中,采用本发明基于感兴趣区域的H.264视频加密方法进行加密处理时,预先设定的巡游方向有8个,分别标记的方向0~7,如图3所示;设定的巡游步长为[1,2],巡游起始点为(0,0),巡游方向次序为0→1→2→3→4→5→6→7;其中,巡游步长为[1,2]指的是每次巡游在水平方向的跳跃1个宏块区、在垂直方向跳跃2个宏块区。本实验实施例中,将视频序列的图像区域划分为9行11列排布的9×11个宏块区,由此生成的Hamilton路矩阵H也为9行11列,如图4所示(图中的箭头表示生成各个巡游序号过程中的巡游方向)。由此,便可统计出生成Hamilton路矩阵H中各个巡游序号的过程中在各个预先设定的巡游方向上的巡游次数。而后,按照本发明基于感兴趣区域的H.264视频加密方法的逐帧加密处理步骤,逐帧地完成对foreman_qcif标准测试视频序列的加密处理。
本实验实施例中,采用了本发明的两种加密处理方案,即未包含加密区域扩散消除处理步骤的方案(即在逐帧加密处理步骤中仅包含有步骤b1~b3)以及包含有加密区域扩散消除处理步骤的方案(即在逐帧加密处理步骤中,除了包含有步骤b1~b3之外,还包含有b4的加密区域扩散消除处理),分别对foreman_qcif视频序列进行感兴趣区域加密,图5示出了该两种加密处理方案的加密效果示意图(红色方框为识别出的感兴趣区域)。其中,图5a)为原始foreman_qcif视频序列的效果图,图5b)为采用本发明未包含加密区域扩散消除处理步骤的H.264视频加密方案进行加密后的foreman_qcif视频序列效果图,5c)为采用本发明包含有加密区域扩散消除处理步骤的H.264视频加密方案进行加密后的foreman_qcif视频序列效果图。可以看到,在未进行加密区域扩散消除处理的情况下,本发明基于感兴趣区域的H.264视频加密方法虽然能够很好的对foreman_qcif视频序列中的感兴趣区域(即人脸区域)实现加密,但在感兴趣区域周边临近的外部区域出现了加密扩散的问题,对视频预览效果有一定的影响,如图5b)所示;而在进一步进行加密区域扩散消除处理的情况下,本发明基于感兴趣区域的H.264视频加密方法在对感兴趣区域获得较好加密效果之外,还消除了感兴趣区域加密对非感兴趣区域产生的加密扩散影响,提升了视频的阅览效果,如图5c)所示。
本实验室实例还对本发明方法对感兴趣区域局部加密的加密感知安全性进行了评价。图6给出了采用本发明方法分别对foreman_qcif视频序列、news_qcif视频序列进行加密处理的前、后,视频中感兴趣区域的峰值信噪比(Peak Signal Noise Ratio,PSNR)变化图。其中,图6a)为采用本发明方法对foreman_qcif视频序列进行加密处理前、后的感兴趣区域峰值信噪比变化图,图6b)为采用本发明方法对news_qcif视频序列进行加密处理前、后的感兴趣区域峰值信噪比变化图。可以看出,采用本发明方法进行感兴趣区域局部加密后PSNR平均下降了20dB,可见感兴趣区域的画面结构信息质量退化明显,足以使得人眼视觉难以识别提取感兴趣区域中的原始图像结构,具有较好的加密感知安全性。
本实验实施例还将本发明基于感兴趣区域的H.264视频加密方法与现有文献“Tong L,Dai F,Zhang Y,et al.Compressive sensing based video scrambling for privacy protection//VisualCommunications and Image Processing(VCIP).Tainan,China,2011:1-4.”所述的感兴趣区域局部加密方法(简称为VCIP方法)进行比较,对比该两种加密方法对视频码率的影响。采用本发明方法和VCIP方法,对Suzie、Akiyo、Coastguard、Mad、Silent五个视频序列分别进行50帧图像的感兴趣区域局部加密处理,该五个视频序列加密前后的码率信息如表1所示。由表1可以得出,相比于未加密前而言,采用VCIP方法加密后使得视频序列平均每帧增加220Byte左右,而采用本发明方法加密后仅使得视频序列平均每帧增加110Byte左右,对文件的码流大小产生影响较小。
表1
通过上述对比可知,本发明基于感兴趣区域的H.264视频加密方法,通过实验分析,有较好的感知安全性,对码率影响较小,并且还能够有效地消除因感兴趣区域加密引起的加密效果向非感兴趣区域扩散的现象。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.基于感兴趣区域的H.264视频加密方法,其特征在于,用于对待加密的H.264视频逐帧地进行感兴趣区域的局部加密处理;包括如下步骤:
A)Hamilton路矩阵生成步骤:
将待加密的H.264视频的图像区域划分为E行F列排布的E×F个宏块区,按照预先设定的巡游方向、巡游次序、巡游步长和巡游起始点,利用骑士巡游算法生成图像区域中各个宏块区的巡游序号,统计利用骑士巡游算法生成各个宏块区的巡游序号的过程中在各个预先设定的巡游方向上的巡游次数l1,l2,…,lk,…,lK,并由各个宏块区对应的的巡游序号按照各个宏块区的行列排布顺序排列构成Hamilton路矩阵H:
其中,lk表示利用骑士巡游算法生成各个宏块区的巡游序号的过程中在第k个巡游方向上的巡游次数,k∈{1,2,…,K},K表示预先设定的巡游方向的数量;Hamilton路矩阵H中的元素he,f表示待加密的H.264视频的图像区域中第e行第f列排布位置的宏块区对应的巡游序号,e∈{1,2,…,E},f∈{1,2,…,F};
B)逐帧加密处理步骤:
读取待加密的H.264视频中的一帧图像作为当前帧图像,按如下步骤进行加密处理:
b1)感兴趣区域识别处理;该步骤包括:
对当前帧图像进行感兴趣区域识别;若当前帧图像中不包含感兴趣区域,则跳过对当前帧图像的后续加密步骤,直接对当前帧图像采用H.264标准进行视频编码,当前帧图像的加密处理结束;若当前帧图像中包含有感兴趣区域,则继续对当前帧图像执行后续加密步骤;
b2)密匙生成处理;该步骤包括:
21)按待加密的H.264视频的图像区域宏块区划分方式,将当前帧图像划分为E行F列排布的E×F个宏块;
22)根据当前帧图像中感兴趣区域所覆盖的像素范围,判断当前帧图像中各个宏块是否属于感兴趣区域,从而通过统计确定所述感兴趣区域所包含的宏块数量N;
23)按照预先设定的置乱扫描顺序对Hamilton路矩阵H中的元素进行扫描,并按置乱扫描顺序依次提取出Hamilton路矩阵H中所表示的巡游序号值小于或等于当前帧图像中感兴趣区域所包含宏块数量N的N个巡游序号进行排列,构成当前帧图像的一个一维的置乱向量ZH:
ZH={z1,z2,…,zn,…,zN};
其中,zn表示按置乱扫描顺序从Hamilton路矩阵H中提取出的第n个值小于或等于当前帧图像中感兴趣区域所包含宏块数量N的巡游序号,n∈{1,2,…,N};
24)将当前帧图像中感兴趣区域所包含宏块数量N、感兴趣区域所覆盖的像素范围、骑士巡游算法生成各个宏块的巡游序号的过程中在各个预先设定的巡游方向上的巡游次数l1,l2,…,lk,…,lK以及当前帧图像的帧序号加以组合排列后进行SHA-1加密运算,将运算结果作为当前帧图像的160比特二进制的密钥序列,再按照每4比特一组对所述二进制的密钥序列进行分组,将每一组4比特的二进制数据转换为十进制的一个子密钥,从而得到十进制的子密钥序列d1,d2,…,di,…,d40;di表示对所述二进制的密钥序列进行分组后,其中第i组4比特的二进制数据转换所得到的十进制的子密钥;
b3)感兴趣区域加密处理;该步骤包括:
31)根据H.264视频编码标准的FMO类型6,将当前帧图像分为6个条带组;先初始化当前帧图像中各个宏块的条带组序号均为0,然后按照当前帧图像中各个宏块的行列排布位置对宏块进行逐行扫描,每当扫描到一个感兴趣区域包含的宏块时利用子密钥序列d1,d2,…,di,…,d40中的序列元素更新其条带组序号,由此初步确定当前帧图像中各个宏块的条带组序号;具体为:
SliceGroupIDout=0;
SliceGroupIDin,n=mod(di,5)|i=mod(n,40)+1;
其中,SliceGroupIDout表示感兴趣区域之外的宏块的条带组序号;SliceGroupIDin,n表示感兴趣区域包含的按逐行次序的第n个宏块的条带组序号,n∈{1,2,…,N};mod(di,5)表示将十进制子密钥序列中第i个序列元素di对5进行除法取余运算;mod(di,5)|i=mod(n,40)表示计算条带组序号SliceGroupIDin,n时选取序列元素di的对应关系为i=mod(n,40),mod(n,40)表示将数值n对40进行除法取余运算;
32)按照当前帧图像中各个宏块的行列排布位置以逐行的次序依次提取出感兴趣区域包含的N个宏块对应的条带组序号进行排列,构成当前帧图像的一个一维的条带组序号向量SID:
SID={SliceGroupIDin,1,SliceGroupIDin,2,…,SliceGroupIDin,n,…,SliceGroupIDin,N};
然后将当前帧图像的条带组序号向量SID中的N个条带组序号与置乱向量ZH中的N个巡游序号按排列顺序一一对应,从而得到带组序号向量SID中的N个条带组序号各自对应的巡游序号值;再按如下方式对条带组序号向量SID中的N个条带组序号的排列位置进行置乱:将巡游序号值为n所对应的条带组序号,调整到巡游序号值为mod(n,N)+1所对应的条组带序号的位置,n∈{1,2,…,N},mod(n,N)表示数值n对N进行除法取余运算;由此置乱重新排列的N个条带组序号构成当前帧图像的置乱条带组序号向量SIDZ;
SIDZ={s1,s2,…,sn,…,sN};
其中,sn表示原带组序号向量SID中的N个条带组序号经置乱后重新排列在第n个排列位置的巡游序号;
33)再次按照当前帧图像中各个宏块的行列排布位置对宏块进行逐行扫描,每当扫描到一个感兴趣区域包含的宏块时利用置乱条带组序号向量SIDZ再次更新其条带组序号,由此确定当前帧图像中感兴趣区域包含的各个宏块所加密对应的条带组序号;具体为:
SliceGroupID′in,n=sn;
其中,SliceGroupID′in,n表示感兴趣区域包含的按逐行次序的第n个宏块所加密对应的条带组序号,n∈{1,2,…,N};
并在H.264视频编码标准的图像解码参数集中记录H.264视频编码标准的FMO类型为类型6以及条组带的数量为6个;
34)按照当前帧图像中各个宏块的行列排布位置以逐行的次序依次提取出感兴趣区域包含的N个宏块各自在H.264视频编码标准中初始定义的宏块类型参数,利用子密钥序列d1,d2,…,di,…,d40中的序列元素分别对感兴趣区域包含的每个宏块的初始宏块类型参数按位异或加密,得到感兴趣区域包含的各个宏块所加密对应的宏块类型参数;具体为:
其中,MB_Typeold,n表示感兴趣区域包含的按逐行次序的第n个宏块的初始宏块类型参数,n∈{1,2,…,N};MB_Typenew,n表示感兴趣区域包含的按逐行次序的第n个宏块的加密宏块类型参数;di|i=mod(n,40)表示计算加密宏块类型参数MB_Typenew,n时选取序列元素di的对应关系为i=mod(n,40),mod(n,40)表示将数值n对40进行除法取余运算;
35)根据当前帧图像中感兴趣区域包含的各个宏块所加密对应的条带组序号和宏块类型参数,以及感兴趣区域之外各个宏块初始对应的条带组序号和宏块类型参数,采用H.264视频编码标准对当前帧图像进行编码处理;
C)逐帧地对待加密的H.264视频的每一帧图像重复执行步骤B,直至完成对待加密的H.264视频各帧图像的加密处理。
2.根据权利要求1所述基于感兴趣区域的H.264视频加密方法,其特征在于,所述步骤B中,在步骤b3之后,还包括步骤b4:
b4)加密区域扩散消除处理;该步骤包括:
41)统计待加密H.264视频的当前帧图像中感兴趣区域包含的N个宏块的所覆盖的像素范围A;
42)重新对当前帧图像中感兴趣区域之外的宏块进行运动估计;运动估计过程中,按预设定的各种分块模式,将当前帧图像中感兴趣区域之外的每个宏块再次划分为若干个子宏块,以子宏块作为运动估计的运动位移量单位,并针对每种分块模式,判断感兴趣区域之外的每个运动估计点所在子宏块的四个角落像素点中是否存在至少一个角落像素点在感兴趣区域包含的N个宏块的所覆盖的像素范围A之内,若是则设定该运动估计点的代价值大于零,否则设定该运动估计点的代价值等于零;然后,分别统计每种分块模式中所有运动估计点的代价值之和,按所有运动估计点代价值之和最小的一种分块模式及其相应的运动矢量,调整当前帧图像中感兴趣区域包含的宏块与感兴趣区域之外的宏块之间的划分边界,从而重新划分出当前帧图像中感兴趣区域之外的各个宏块;
43)将当前帧图像中重新划分出的感兴趣区域之外的各个宏块的条带组序号初始化为0,并将重新划分出的感兴趣区域之外的各个宏块的宏块类型参数恢复为其各自在H.264视频编码标准中初始定义的宏块类型参数,然后采用H.264视频编码标准再次对当前帧图像中重新划分出的感兴趣区域之外的各个宏块进行编码处理。
3.根据权利要求1所述基于感兴趣区域的H.264视频加密方法,其特征在于,所述步骤A中,预先设定的巡游方向的数量K为8。
4.根据权利要求1所述基于感兴趣区域的H.264视频加密方法,其特征在于,所述步骤22中,“判断当前帧图像中各个宏块是否属于感兴趣区域”的具体方式为:若宏块的左上角像素点位于所述感兴趣区域覆盖的像素范围内,则判定宏块属于感兴趣区域;否则,判定宏块不属于感兴趣区域。
5.根据权利要求1所述基于感兴趣区域的H.264视频加密方法,其特征在于,所述步骤22中,“判断当前帧图像中各个宏块是否属于感兴趣区域”的具体方式为:若宏块中超过一半的像素点位于所述感兴趣区域覆盖的像素范围内,则判定宏块属于感兴趣区域;否则,判定宏块不属于感兴趣区域。
6.根据权利要求1所述基于感兴趣区域的H.264视频加密方法,其特征在于,所述步骤23中,预先设定的置乱扫描顺序是逐行扫描、逐列扫描、随机乱序扫描、自定义顺序扫描中的一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310499590.2A CN103546750B (zh) | 2013-10-22 | 2013-10-22 | 基于感兴趣区域的h.264视频加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310499590.2A CN103546750B (zh) | 2013-10-22 | 2013-10-22 | 基于感兴趣区域的h.264视频加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103546750A true CN103546750A (zh) | 2014-01-29 |
CN103546750B CN103546750B (zh) | 2017-01-25 |
Family
ID=49969745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310499590.2A Expired - Fee Related CN103546750B (zh) | 2013-10-22 | 2013-10-22 | 基于感兴趣区域的h.264视频加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103546750B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106130984A (zh) * | 2016-06-29 | 2016-11-16 | 努比亚技术有限公司 | 加密视频分享装置及方法 |
CN106850515A (zh) * | 2015-12-07 | 2017-06-13 | 中国移动通信集团公司 | 一种数据处理方法及视频采集装置、解码装置 |
CN107172429A (zh) * | 2017-05-17 | 2017-09-15 | 西安文理学院 | 基于网络编码的可分级视频流加密方法 |
CN107911715A (zh) * | 2017-11-22 | 2018-04-13 | 中山大学 | 一种基于cavlc编码的h.264/avc视频格式兼容加密方法 |
CN107948675A (zh) * | 2017-11-22 | 2018-04-20 | 中山大学 | 一种基于cabac编码的h.264/avc视频格式兼容加密方法 |
CN108235060A (zh) * | 2018-03-12 | 2018-06-29 | 上海哔哩哔哩科技有限公司 | 基于参数集混淆的视频加密播放方法、系统和存储介质 |
CN109920015A (zh) * | 2019-03-05 | 2019-06-21 | 重庆工程学院 | 一种基于分形图形生成的图像视觉有意义加密方法 |
CN110602570A (zh) * | 2019-11-12 | 2019-12-20 | 成都索贝数码科技股份有限公司 | 一种基于非对称加密的视音频可信播放方法 |
CN110730366A (zh) * | 2019-10-30 | 2020-01-24 | 杭州叙简科技股份有限公司 | 基于位运算的轻量级视频流加密、解密方法及加解密机理 |
CN111361551A (zh) * | 2018-12-24 | 2020-07-03 | 现代自动车株式会社 | 自主驾驶控制装置、具有该装置的车辆及车辆控制方法 |
CN111585581A (zh) * | 2020-05-14 | 2020-08-25 | 成都信息工程大学 | 一种基于二元域运算且支持任意码距的编码方法 |
CN111683271A (zh) * | 2020-04-27 | 2020-09-18 | 中国科学院微电子研究所 | 一种视频加密方法、终端设备以及计算机存储介质 |
CN111800634A (zh) * | 2020-06-30 | 2020-10-20 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN111935486A (zh) * | 2020-07-29 | 2020-11-13 | Oppo广东移动通信有限公司 | 图像处理方法及装置、计算机可读存储介质和电子设备 |
CN111954071A (zh) * | 2020-08-13 | 2020-11-17 | 西安微嗨互动信息科技有限公司 | 一种端到端全链路的视频播放加密技术和权限控制方法 |
CN112528981A (zh) * | 2019-09-19 | 2021-03-19 | 半导体元件工业有限责任公司 | 用于验证图像数据的系统和方法 |
CN113342239A (zh) * | 2021-05-31 | 2021-09-03 | 锐迪科微电子科技(上海)有限公司 | 感兴趣区域确定方法和设备 |
CN115277974A (zh) * | 2022-08-01 | 2022-11-01 | 南京交通职业技术学院 | 一种基于物联网智慧交通监控视频的管理系统及加密方法 |
CN115550691A (zh) * | 2021-06-29 | 2022-12-30 | 阿里巴巴新加坡控股有限公司 | 一种视频处理方法、视频传输方法、视频查看方法和装置 |
CN115733933A (zh) * | 2022-11-29 | 2023-03-03 | 广州韬露科技有限公司 | 基于人工智能的网络安全加密方法 |
CN115834926A (zh) * | 2022-11-21 | 2023-03-21 | 深圳市超时代软件有限公司 | 基于h.265熵编码二值化的视频加密方法 |
CN119232940A (zh) * | 2024-12-03 | 2024-12-31 | 深圳江行联加智能科技有限公司 | 隐私保护加密的视频编码方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090067626A1 (en) * | 2005-11-04 | 2009-03-12 | Emittall Surveillance S.A. | Region-based transform domain video scrambling |
CN102843558A (zh) * | 2012-08-21 | 2012-12-26 | 中国电子科技集团公司第三十八研究所 | H.264/avc压缩域视频加密/解密装置及其加密/解密方法 |
-
2013
- 2013-10-22 CN CN201310499590.2A patent/CN103546750B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090067626A1 (en) * | 2005-11-04 | 2009-03-12 | Emittall Surveillance S.A. | Region-based transform domain video scrambling |
CN102843558A (zh) * | 2012-08-21 | 2012-12-26 | 中国电子科技集团公司第三十八研究所 | H.264/avc压缩域视频加密/解密装置及其加密/解密方法 |
Non-Patent Citations (3)
Title |
---|
DUFAUX F,EBRAHIMI T: "H.264/AVC video scrambling for privacy protection", 《INTERNATIONAL CONFERENCE ON IMAGE PROCESSING》, 15 October 2008 (2008-10-15) * |
TONG L,DAI F,ZHANG Y,ET AL.: "Compressive sensing based video scrambling for privacy protection", 《VISUAL COMMUNICATIONS AND IMAGE PROCESSING (VCIP)》, 9 November 2011 (2011-11-09) * |
于俊清,刘青,何云峰: "基于感兴趣区域的H.264视频加密算法", 《计算机学报》, vol. 33, no. 5, 31 May 2010 (2010-05-31) * |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850515A (zh) * | 2015-12-07 | 2017-06-13 | 中国移动通信集团公司 | 一种数据处理方法及视频采集装置、解码装置 |
CN106130984A (zh) * | 2016-06-29 | 2016-11-16 | 努比亚技术有限公司 | 加密视频分享装置及方法 |
CN107172429A (zh) * | 2017-05-17 | 2017-09-15 | 西安文理学院 | 基于网络编码的可分级视频流加密方法 |
CN107948675B (zh) * | 2017-11-22 | 2020-07-10 | 中山大学 | 一种基于cabac编码的h.264/avc视频格式兼容加密方法 |
CN107911715A (zh) * | 2017-11-22 | 2018-04-13 | 中山大学 | 一种基于cavlc编码的h.264/avc视频格式兼容加密方法 |
CN107948675A (zh) * | 2017-11-22 | 2018-04-20 | 中山大学 | 一种基于cabac编码的h.264/avc视频格式兼容加密方法 |
CN107911715B (zh) * | 2017-11-22 | 2021-04-16 | 中山大学 | 一种基于cavlc编码的h.264/avc视频格式兼容加密方法 |
CN108235060B (zh) * | 2018-03-12 | 2020-06-26 | 上海哔哩哔哩科技有限公司 | 基于参数集混淆的视频加密播放方法、系统和存储介质 |
CN108235060A (zh) * | 2018-03-12 | 2018-06-29 | 上海哔哩哔哩科技有限公司 | 基于参数集混淆的视频加密播放方法、系统和存储介质 |
CN111361551A (zh) * | 2018-12-24 | 2020-07-03 | 现代自动车株式会社 | 自主驾驶控制装置、具有该装置的车辆及车辆控制方法 |
CN109920015A (zh) * | 2019-03-05 | 2019-06-21 | 重庆工程学院 | 一种基于分形图形生成的图像视觉有意义加密方法 |
CN112528981A (zh) * | 2019-09-19 | 2021-03-19 | 半导体元件工业有限责任公司 | 用于验证图像数据的系统和方法 |
CN112528981B (zh) * | 2019-09-19 | 2023-11-17 | 半导体元件工业有限责任公司 | 用于验证图像数据的系统和方法 |
CN110730366B (zh) * | 2019-10-30 | 2021-08-27 | 杭州叙简科技股份有限公司 | 基于位运算的轻量级视频流加密、解密方法及加解密方法 |
CN110730366A (zh) * | 2019-10-30 | 2020-01-24 | 杭州叙简科技股份有限公司 | 基于位运算的轻量级视频流加密、解密方法及加解密机理 |
CN110602570B (zh) * | 2019-11-12 | 2020-02-21 | 成都索贝数码科技股份有限公司 | 一种基于非对称加密的视音频可信播放方法 |
CN110602570A (zh) * | 2019-11-12 | 2019-12-20 | 成都索贝数码科技股份有限公司 | 一种基于非对称加密的视音频可信播放方法 |
CN111683271A (zh) * | 2020-04-27 | 2020-09-18 | 中国科学院微电子研究所 | 一种视频加密方法、终端设备以及计算机存储介质 |
CN111683271B (zh) * | 2020-04-27 | 2022-05-06 | 中国科学院微电子研究所 | 一种视频加密方法、终端设备以及计算机存储介质 |
CN111585581A (zh) * | 2020-05-14 | 2020-08-25 | 成都信息工程大学 | 一种基于二元域运算且支持任意码距的编码方法 |
CN111585581B (zh) * | 2020-05-14 | 2023-04-07 | 成都信息工程大学 | 一种基于二元域运算且支持任意码距的编码方法 |
CN111800634B (zh) * | 2020-06-30 | 2024-06-04 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN111800634A (zh) * | 2020-06-30 | 2020-10-20 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN111935486A (zh) * | 2020-07-29 | 2020-11-13 | Oppo广东移动通信有限公司 | 图像处理方法及装置、计算机可读存储介质和电子设备 |
CN111954071B (zh) * | 2020-08-13 | 2022-08-09 | 西安微嗨互动信息科技有限公司 | 一种端到端全链路的视频播放加密技术和权限控制方法 |
CN111954071A (zh) * | 2020-08-13 | 2020-11-17 | 西安微嗨互动信息科技有限公司 | 一种端到端全链路的视频播放加密技术和权限控制方法 |
CN113342239A (zh) * | 2021-05-31 | 2021-09-03 | 锐迪科微电子科技(上海)有限公司 | 感兴趣区域确定方法和设备 |
CN115550691A (zh) * | 2021-06-29 | 2022-12-30 | 阿里巴巴新加坡控股有限公司 | 一种视频处理方法、视频传输方法、视频查看方法和装置 |
CN115277974A (zh) * | 2022-08-01 | 2022-11-01 | 南京交通职业技术学院 | 一种基于物联网智慧交通监控视频的管理系统及加密方法 |
CN115277974B (zh) * | 2022-08-01 | 2024-02-02 | 南京交通职业技术学院 | 一种基于物联网智慧交通监控视频的管理系统及加密方法 |
CN115834926A (zh) * | 2022-11-21 | 2023-03-21 | 深圳市超时代软件有限公司 | 基于h.265熵编码二值化的视频加密方法 |
CN115834926B (zh) * | 2022-11-21 | 2023-11-21 | 深圳市超时代软件有限公司 | 基于h.265熵编码二值化的视频加密方法 |
CN115733933A (zh) * | 2022-11-29 | 2023-03-03 | 广州韬露科技有限公司 | 基于人工智能的网络安全加密方法 |
CN115733933B (zh) * | 2022-11-29 | 2023-10-31 | 南京先维信息技术有限公司 | 基于人工智能的网络安全加密方法 |
CN119232940A (zh) * | 2024-12-03 | 2024-12-31 | 深圳江行联加智能科技有限公司 | 隐私保护加密的视频编码方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103546750B (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103546750B (zh) | 基于感兴趣区域的h.264视频加密方法 | |
CN101110944B (zh) | 一种视频数据的加密方法和装置 | |
CN109391846B (zh) | 一种自适应模式选择的视频加扰方法及装置 | |
CA2413955A1 (en) | Slice mask and moat pattern partial encryption | |
CN102843558B (zh) | H.264/avc压缩域视频加密/解密装置及其加密/解密方法 | |
Zhang et al. | Chaos-based partial encryption of SPIHT coded color images | |
CN101247520B (zh) | 一种视频数据加密/解密方法 | |
CN111917558A (zh) | 一种基于区块链的视频帧数据双认证与分级加密方法 | |
CN104093029A (zh) | 一种基于新时空混沌系统的视频加密算法 | |
CN100571395C (zh) | 一种基于h.264视频流的加密方法 | |
CN108833924A (zh) | 一种基于h.265的多安全级别视频加密算法 | |
CN100556145C (zh) | H.264中基于变换域的dct系数分层置乱方法 | |
Choudry et al. | A survey paper on video steganography | |
Jin et al. | H. 264/AVC video encryption algorithm based on integer dynamic cross-coupling tent mapping model | |
Liu et al. | A hybrid framework of data hiding and encryption in H. 264/SVC | |
US20150358156A9 (en) | Method and system for scrambling and descrambling a digital image | |
Wang et al. | Hash key-based video encryption scheme for H. 264/AVC | |
CN109167999A (zh) | 一种hevc视频加密与解密方法 | |
Qian et al. | Video compression and encryption based-on multiple chaotic system | |
CN105721873A (zh) | 基于mpeg4/2的隐秘传输方法 | |
Ruchaud et al. | JPEG‐based scalable privacy protection and image data utility preservation | |
Chen et al. | A data hiding scheme with high quality for H. 264/AVC video streams | |
Asghar et al. | MIKEY for keys management of H. 264 scalable video coded layers | |
Manikandan et al. | Image security using visual cryptography | |
CN101118580A (zh) | 一种数字产品内容保护系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170125 Termination date: 20171022 |