基于关键帧和图像压缩的视频流并行混沌加密的方法技术

技术编号:38318692 阅读:12 留言:0更新日期:2023-07-29 09:00
本发明专利技术提供一种基于关键帧和图像压缩的视频流并行混沌加密的方法,具体为:1.提取视频流的关键帧,对关键帧图像采用高斯肤色模型提取关键帧的感兴趣区域ROI图像,对非关键帧图像采用DCT压缩变换,将关键帧的ROI图像和压缩后的非关键帧图像存放到完全二叉树中;2.通过四维Chen和2D

【技术实现步骤摘要】
基于关键帧和图像压缩的视频流并行混沌加密的方法


[0001]本专利技术属于混沌加密和并行计算领域,具体为提取视频流中的关键帧,对关键帧的感兴趣区域和经过压缩后的非关键帧结合完全二叉树实现混沌并行加密。

技术介绍

[0002]随着数字通信和网络技术的迅速发展,信息的安全传输也被视为一个关键的问题。如果不能保证互联网上的信息被高效又安全地进行传输,用户的隐私就会受到威胁。通过互联网共享和存储的多媒体大多以图像的形式出现。不同于文本信息,图像可以更加直观且立体的表达人们想要表达的内容,也更加的形象生动,所以每天都会有海量的图片在网络上传输,一旦在传输过程中受到攻击,将会给个人用户、商业和政府机构带来不可估计的损失。如何使这些图像高效又安全地在网络上传输是人们迫切需要解决的问题。
[0003]视频流是由数字图像构成,数字图像加密通过使用数学算法将原始图像转换为难以解释的形式,从而增加对安全攻击的抵抗力,例如暴力攻击、统计和差分攻击。加密后的图像与原图像相比,其变化主要表现为像素空间位置变化、像素值变化以及相邻像素相关性变化。在图像加密过程中,原始图像与密钥结合以对图像进行编码,而对于图像解密过程,使用解密算法对加密图像进行解码以恢复原始图像。
[0004]混沌系统是一类非线性动态系统。它具有复杂的伪随机性,既不具有周期性,也不具有收敛性。混沌系统对系统的初值非常敏感。初始值的微小变化将影响整个系统的变化,这在密码学中具有重要价值。由于混沌系统对初始值的敏感性和强跟踪遍历性的特点,它经常被用作伪随机数发生器。相比于传统的加密算法,选择混沌系统构造加密算法能够达到更好的安全性。基于混沌的图像密码体系结构通常包括两个阶段:置乱阶段和扩散阶段。置乱阶段也称为像素排列,其中像素位置在整个图像上重新排列,而像素值保持不变,将图像转换为不可识别的形式。而扩散阶段是将整个图像的像素值改变。多次重复置乱扩散过程,能够达到令人满意的安全水平。
[0005]由于混沌系统的这些特点,基于混沌的数字图像加密应用发展非常迅速。为了在更短的时间内完成操作并降低成本,研究人员开始对大量数据进行研究。一维混沌系统结构简单、速度快、效率高。由于其结构更简单,系统需要更少的硬件资源来实现实时应用。但它存在安全性较弱和密钥空间较小的问题。另一方面,多维混沌系统有着更高的安全性和更大的密钥空间。但它存在结构复杂的问题。由于其复杂的结构,系统需要大量的硬件资源来实现实时应用,考虑到速度和安全性之间的权衡,将多维混沌系统与并行计算相结合,在保证安全性的同时又能提高加密效率。
[0006]为了提高加密效率,除了使用性能良好的混沌系统外,还应该从视频流图像本身解决问题。图像加密算法分为两种类型:全图像加密和选择性图像加密,前者对整个图像进行加密,后者仅对图像的一部分进行加密。近年来,选择性图像加密作为一种保持高安全性同时减少图像加密和解密处理时间的方法一直很受欢迎,并受到了许多科学家和工程师的关注。对于医学图像来说,图像中只有一部分是有意义的,其他部分是纯黑色区域,可以分
为两部分,感兴趣区域(Region of Interest,记为ROI)和非感兴趣区域(Regionof Non

interest,记为 RONI)。对图像的感兴趣区域并行加密,既能缩短加密时间,又能保证加密图像的质量。因此,将图像特征提取和图像加密结合,并采用以多维混沌系统为基础的视频流图像加密技术,能够提高加密过程的性能。
[0007]案例1:某医院要对患者的电子病历进行保护。各科室医生通过医院指定的医疗系统为患者开具电子病历并保存到系统中备案,电子病历的内容包含患者的隐私信息,尤其包含患者就诊的医学图像信息,在传输过程中,很容易遭到泄露,对电子病历图像的加密是极为重要的。通常会诊医生们查看的是病人的病灶位置,因此,可以对患者的面部进行加密,保护病人的隐私。由于医学图像中只有一部分图像是需要重点保护的,提取图像的感兴趣区域后能够提高加密效率,提高加密图像的质量。
[0008]案例2:某公司要对员工的人脸图像进行安全保护。公司上下班实行刷脸制度,通过视频流采集员工的人脸信息验证是否为公司员工,当人脸图像缓存到后台时,如果该人脸识别系统受到攻击,员工的个人信息将不被保护,因此如何安全的存储人脸图像信息是十分重要的,采用混沌图像加密结合并行计算可以在保证图像安全性的同时又保证了加密速度。
[0009]案例3:对视频文件而言,视频是时域中帧的集合。视频中的每一帧都与图像相似,并且具有与图像相同的特征。对视频中的多个帧加密可以理解为多个连续的图像加密。通过对视频中的关键帧提取感兴趣区域,对感兴趣区域重点加密,非感兴趣区域由于不包含视频中的重要信息,可以采用普通的加密方法,同时能够提高对感兴趣区域图像的加密效率。
[0010]综上所述,采用基于关键帧和图像压缩的视频流并行混沌加密的方法,既增强了视频流图像加密的安全性,也提高了视频流图像加密的效率。

技术实现思路

[0011](一)要解决的技术问题为了增强混沌系统对视频流图像加密的安全性,提高视频流图像加密的效率,本专利技术提供了基于关键帧和图像压缩的视频流并行混沌加密的方法。首先对视频流的关键帧提取,基于高斯肤色模型提取关键帧图像的感兴趣区域,其次对非关键帧图像采用DCT(Discrete Cosine Transform)压缩变换,最后对关键帧中的感兴趣区域图像和压缩后的非关键帧图像进行加密,使用多维混沌系统提高密钥的复杂性和安全性,使密文视频流图像更难被破解,同时利用并行计算来提高所开发的加密算法的性能和安全级别。
[0012]为了克服多维混沌系统密钥空间复杂影响运行效率的问题,提出了以下的技术方案,具有良好的混沌特性,表现在:1.本专利技术将视频流图像特征提取与图像加密结合,以视频文件为应用背景,提取视频中的关键帧,对视频的关键帧进行特征提取,提取特征后划分出感兴趣区域图像,将视频帧加密转换为多图像加密。将关键帧的多个感兴趣区域图像通过多维混沌系统并行加密,对视频中多个非关键帧进行压缩,压缩后使用多维混沌系统并行加密。
[0013]2.对于视频流,通过帧间差分的方法提取视频流中的关键帧,通过2帧间的差分运算和自适应阈值相比较从而确定关键帧。使用二维高斯肤色模型提取关键帧中的人脸特征
作为感兴趣区域图像。对于视频流中的非关键帧,通过DCT变换压缩图像,最终对感兴趣区域图像和压缩后的图像进行加密。
[0014]3.将感兴趣区域图像序列和经过压缩处理后的非关键帧图像序列放到完全二叉树中,通过判断感兴趣区域图像和非关键帧图像位于完全二叉树的左右结点,确定两种类型图像的置乱和循环移位的方式。其中,感兴趣区域图像在左结点时使用混沌序列的升序索引序列对混沌序列进行处理,在右结点时,使用降序索引序列对混沌序列进行处理,以用于后续的置乱过程。非关键帧图像在左结点时,对数值循环左移,在右结点时,对数值循环右移。
[0015]4.本专利技术对多幅视频流图像进行处理,所以采用多线程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于关键帧和图像压缩的视频流并行混沌加密的方法,其特征在于:Part_1、对视频流的图像帧进行预处理;通过帧间差分法提取视频流中的关键帧,对关键帧图像采用高斯肤色模型提取人脸特征,定义关键帧图像的感兴趣区域(Region of Interest,记为ROI),对非关键帧图像采用DCT(Discrete Cosine Transform)压缩变换,将关键帧中的ROI区域图像和压缩后的非关键帧图像放入构建完成的完全二叉树中;Part_2、通过混沌密码发生器生成的混沌序列对图像执行并行加密过程;混沌密码发生器包括2D

Logistic混沌系统和四维Chen混沌系统,四维Chen混沌系统生成的混沌序列用于图像的置乱和多方向扩散,2D

Logistic混沌系统生成的混沌序列用于图像的循环移位和扩散,多维混沌系统的初始值由SHA

256函数生成的每幅明文图像的哈希值设定;Part_3、加密过程分为两部分,第一部分是对关键帧中感兴趣区域图像进行加密,第二部分是对压缩后的非关键帧图像进行加密,通过四维Chen混沌系统生成的混沌序列实现对感兴趣区域图像的加密,使用2D

Logistic映射实现对压缩后的非关键帧图像加密,图像的置乱和循环移位过程通过完全二叉树中图像所在结点位置确定,算法为对称加密算法,解密算法为加密算法的逆过程;一种基于关键帧和图像压缩的视频流并行混沌加密的方法,具体包括:Part_1、视频流图像预处理Func1.1、关键帧提取具体步骤描述为:S1_1_1、设视频流中的帧为{f1,f2,f3,

,f
len_n1
},其中,len_n1为视频流中帧的总数,每一帧大小为M
×
N,M代表存储的矩阵行数,N代表存储的矩阵列数,选取两个视频帧记为f
i
和f
j
,i和j为整数,1<= i, j <= len_n1,计算平均帧间差分强度D:D(f
i
,f
j
)=(∑|f
i
(pos_x,pos_y)

f
j
(pos_x,pos_y)|)/(M
×
N)其中,pos_x和pos_y代表点的位置坐标;S1_1_2、假设t为目标阈值,前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1;图像的总平均灰度u计算为:u=w0*u0+w1*u1;前景和背景图像的方差g计算为:g=w0*(u0‑
u)*(u0‑
u)+w1*(u1‑
u)*(u1‑
u)设置方差最大的分割阈值作为图像二值化的阈值;S1_1_3、根据选择的目标阈值t,确定视频流中的关键帧;S1_1_4、当平均帧间差分强度D>t时,f
i
为关键帧;当平均帧间差分强度D<=t时,f
i
为非关键帧;S1_1_5、Func1.1过程结束;Func1.2、关键帧的感兴趣区域提取具体步骤描述为:S1_2_1、基于高斯肤色模型实现对人脸特征提取,采用带有人脸特征的彩色图像作为训练图像;将RGB图像转换到YCbCr空间中;其中,Y表示亮度,Cr表示RGB图像中的红色部分,Cb表示RGB图像中的蓝色部分;S1_2_2、将YCbCr空间中全部像素的Y值按照由大到小的顺序排列,通过循环排列前5%的像素数,存放到集合中作为参考白,计算参考白的像素平均值;通过参考白的像素平均值
计算光照补偿系数,将光照补偿系数与原图像中对应的R、G、B的像素值相乘,得到光照补偿后的训练图像;S1_2_3、对光照补偿后的训练图像,截取每张训练图像中带有肤色图像的部分,构建二维高斯肤色模型G_D2=(m_gd2,C_gd2),其中m_gd2是平均值,C_gd2是协方差矩阵;每个像素点的色度向量为Xi_gd2=(Cb,Cr)
T
,()
T
代表转置操作,平均值m_gd2和协方差矩阵C_gd2的计算公式为:m_gd2=E(Xi_gd2)=1/ len_n2∑
len_n2i=1
Xi_gd2C_gd2=E[(Xi_gd2

m_gd2)(Xi_gd2

m_gd2)
T
]=1/len_n2∑
len_n2i=1
(Xi_gd2

m_gd2)(Xi_gd2

m_gd2)
T
其中,len_n2为训练样本中的肤色像素的数量;S1_2_4、二维高斯肤色模型通过判断各像素点的Cb和Cr值距离其平均值的远近得到图像每个像素属于肤色的概率;概率p(Cb,Cr)的计算公式为:p(Cb,Cr)=exp[

0.5(Xi_gd2

m_gd2)
T
C_gd2
‑1(Xi_gd2

m_gd2)]其中,exp()是以自然常数e为底的指数函数;S1_2_5、输入待检测图像,对图像二值化处理,与输入图像比对排除非人脸区域,通过阈值分割将肤色区域和背景区域分开,选定阈值后,将计算的概率与阈值比较,大于等于阈值选定为肤色像素,反之为非肤色像素;S1_2_6、对二值化图像得到初步肤色区域进行形态学处理,对初步得到的肤色区域进行先腐蚀后膨胀的开运算,通过判断人脸区域面积,设置固定大小的人脸特征的矩形,获得最终的人脸区域;感兴趣区域图像序列记为ImageSeq={IsR1,IsR2,

,IsR
len_n3
},len_n3代表集合元素数量;S1_2_7、Func1.2过程结束;Func1.3、非关键帧的图像压缩具体步骤描述为:S1_3_1、对非关键帧的视频图像采用DCT离散变换进行压缩,二维信号序列形式化为矩阵MarixVideo
M
×
N
,其中,{MvX(i_m,i_n)|i_m=0,1,

,M

1;i_n=0,1,

,N

1},DCT变换公式表示为:MvY(i_u,i_v)=(2/sqrt(M*N))*MvC(i_u)*MvC(i_v)*Σ
i_m=0M
‑1Σ
i_n=0N
‑1MvX(i_m,i_n)*cos((2*i_m+1)*i_u*pi/2M)cos((2*i_n+1)*i_u*pi/2N)其中,i_u=1,2,

,M

1;i_v=1,2,

,N

1;sqrt()为计算平方根函数,pi为圆周率,pi=3.14;当MvC(i_u)=1,i_u≠0时,MvC(i_u)=1/sqrt(2);当MvC(i_v)=1,i_v≠0时,MvC(i_v)=1/sqrt(2);S1_3_2、将非关键帧的视频图像的RGB色彩空间转换为YCbCr,将各分量图像像素值减128,定义偏移的像素值分布区间为[

128,127];分别将各图像分量划分为8
×
8的子块,并分别对子块执行DCT压缩变换,将图像矩阵从空间域映射到频域,获得由直流系数DC和交流系数AC组成的系数值矩阵;S1_3_3、对经过DCT压缩变换的各子块进行量化,过滤掉DCT变换后得到的高频数据,公式为:Val_I(pointu,pointv)=round(Val_D(pointu,pointv)/Val_Q(pointu,pointv))
其中,round()为四舍五入函数,Val_I(pointu,pointv)为量化后的系数在点(pointu, pointv)对应的值,Val_D(pointu,pointv)为经过DCT变换的系数在(pointu,pointv)点对应的值,Val_Q(pointu,pointv)为量化表中(pointu,pointv)对应的系数值;S1_3_4、对DC系数采用差分脉冲调制编码处理,采用相邻子块间DC系数的差值进行编码,对AC系数采用行程编码的方式处理,首先需要将交流系数AC通过zigzag扫描得到一组一维数组,对一维数组进行行程编码处理;S1_3_5、对经过编码处理后的DC系数和AC系数进行熵编码,通过对照Huffman编码表进行熵编码,获得压缩后的图像;对非关键帧压缩后的图像序列记为ImageSeqNo={IsT1, IsT2,

,IsT
len_n4
},len_n4代表集合元素数量;S1_3_6、Func1.3过程结束;Func1.4、完全二叉树的构造S1_4_1、将关键帧中提取到的ROI区域图像序列与压缩后的非关键帧图像序列存放到完全二叉树的各结点中;S1_4_2、将完全二叉树的根结点记为Tree_0,通过判断图像在完全二叉树的左结点和右结点,确定图像的置乱方式;S1_4_3、Func1.4过程结束;Part_1描述完毕;Part_2、构造混沌密码发生器将256位哈希值转换为32位十进制值,记为HVal=h1h2…
h
32
;Func2.1、四维Chen混沌序列的生成具体步骤描述为:S2_1_1、四维Chen混沌系统公式为:Chen_X
n+1
=Chen_a*(Chen_Y
n

Chen_X
n
)Chen_Y
n+1
=Chen_d*Chen_X
n

Chen_X
n
*Chen_Z
n
+Chen_c*Chen_Y
n

Chen_U
n
Chen_Z
n+1
=Chen_X
n
*Chen_Y
n

Chen_b*Chen_Z
n
Chen_U
n+1
=Chen_X
n
+Chen_k其中,Chen_a、Chen_b、Chen_c、Chen_d、Chen_k是Chen超混沌系统的控制参数,状态变量为Chen_X
n+1
、Chen_Y
n+1
、Chen_Z
n+1
和Chen_U
n+1
,n代表迭代时间;S2_1_2、通过关键帧中提取到的每张感兴趣区域图像的哈希值计算四维Chen混沌系统的初始值,其中,四维Chen混沌系统初始值的计算公式为:Chen_X0=X0’
+(h1⊕
h2⊕
h3⊕
h4⊕
h5⊕
h6⊕
h7⊕
h8)/256Chen_Y0=Y0’
+(h9⊕
h
10

h
11

h
12

h
13

h
14

h
15

h
16
)/256Chen_Z0=Z0’
+(h
17

h
18

h
19

h
20

h
21

h
22

h
23

h
24
)/256Chen_U0=U0’
+(h
25

h
26

h
27

h
28

h
29

h
30

h
31

h
32
)/256其中,

为异或运算,X0’
、Y0’
、Z0’
、U0’
均为给定值;S2_1_3、将计算出的混沌系统的初始值代入到四维Chen混沌系统公式中进行迭代;S2_1_4、主进程将四个初始值分配到四个子进程中,并行迭代得到四组混沌序列CX(id_chen),CY(id_chen),CZ(id_chen)和CU(id_chen),其中,id_chen为索引值;S2_1_5、将CX(id_chen)分别进行升序和降序排列得到两组索引序列CX1(id_chen)和CX2(id_chen),根据感兴趣区域图像在完全二叉树中的位置选择相应的索引序列;根...

【专利技术属性】
技术研发人员:刘嘉辉王佳音
申请(专利权)人:哈尔滨理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1