[发明专利]基于感兴趣区域的H.264视频加密方法有效
申请号: | 201310499590.2 | 申请日: | 2013-10-22 |
公开(公告)号: | CN103546750B | 公开(公告)日: | 2017-01-25 |
发明(设计)人: | 郭雨;柏森;朱桂斌;郭辉;唐鉴波 | 申请(专利权)人: | 中国人民解放军重庆通信学院 |
主分类号: | H04N19/00 | 分类号: | H04N19/00;H04N19/176;H04N19/129 |
代理公司: | 重庆博凯知识产权代理有限公司50212 | 代理人: | 钟继莲,张先芸 |
地址: | 400035*** | 国省代码: | 重庆;85 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 感兴趣 区域 264 视频 加密 方法 | ||
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视频各帧图像的加密处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军重庆通信学院,未经中国人民解放军重庆通信学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310499590.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可快速散热线路板制作方法
- 下一篇:旋转平台、控制旋转平台的方法和连线机