一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

H.264加密及密文域信息隐藏方法、装置及存储介质

2022-11-19 08:43:44 来源:中国专利 TAG:

h.264加密及密文域信息隐藏方法、装置及存储介质
技术领域
1.本发明涉及多媒体信息安全技术领域,尤其涉及一种h.264加密及密文域信息隐藏方法、装置及存储介质。


背景技术:

2.随着计算机网络的发展和视频编码与通信技术的进步,数字视频得到了越来越广泛的应用。与此同时,在互联网的环境下,保护视频数据隐私安全成为重大需求。对视频进行加密可以保护视频数据隐私。此外,服务商往往希望能够在视频中嵌入一些附加消息,如认证消息等,用于管理视频。所以如何设计对视频进行格式兼容的加密以及在密文域进行信息隐藏的方案是重要的。
3.鉴于h.264/avc高效的编码性能、良好的网络适应性和实际应用普及性,密文域h.264/avc视频数据隐藏技术具有很高的实用价值,同时也是学术界研究的重点。虽然近年来已有h.264/avc的密文域信息隐藏方案被提出,但是目前这些密文域信息隐藏方案的加密部分普遍因无法剧烈改变帧中宏块比特开销分布而无法抵抗mbs轮廓攻击,带来巨大的隐私安全隐患。


技术实现要素:

4.为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种h.264加密及密文域信息隐藏方法、装置及存储介质。
5.本发明所采用的技术方案是:
6.一种h.264加密及密文域信息隐藏方法,包括h.264/avc视频加密步骤和h.264/avc视频密文域数据隐藏步骤:
7.所述h.264/avc视频加密步骤,包括:
8.a1、定义区域s0为一帧中第一行和第一列的宏块组成的区域,定义区域s1为一帧中除了s0以外的宏块组成的区域;
9.a2、定义满足以下条件的函数f:1.以单个宏块的字段信息为输入,输出为一个数值,称为f值;2.对于输入宏块,加密以及信息隐藏操作不影响输入宏块的f值;
10.a3、确定加密密钥k
enc

11.a4、对输入h.264文件,读取每个帧的字段信息,并对每个帧执行以下步骤a41-a43:
12.a41、对s1中的宏块,计算s1中所有宏块的f值,获得表明当前处理帧的宏块位置与f值的对应关系的f值分布图g,其中g[y][x]=f
(y,x)
表示f值分布图g中第y行第x列的值为帧中第y行第x列的宏块的f值;
[0013]
a42、根据加密密钥k
enc
生成的伪随机序列,置乱f值分布图中s1区域宏块对应的f值的排列顺序;
[0014]
a43、根据置乱的f值分布图,重新排列当前帧s1区域中各个宏块的位置,重新排列
过程满足:1.对于重新排列的所有宏块,重新排列宏块之后宏块的宏块位置在置乱的f值分布图中对应的f值与宏块的f值相同;2.重新排列宏块前后,对当前帧s1区域进行光栅扫描,f值相同的宏块之间的顺序不变;
[0015]
a5、根据加密后的宏块信息重编码生成密文h.264视频。
[0016]
进一步地,步骤a2中,f函数为输入宏块中非0量化残差系数的个数。
[0017]
进一步地,所述h.264/avc视频密文域数据隐藏步骤,包括:
[0018]
b1、对于一帧,定义区域s0为一帧中第一行和第一列的宏块组成的区域,定义区域s1为一帧中除了s0以外的宏块组成的区域;
[0019]
b2、获取f函数定义,并确定f值的优先级顺序;
[0020]
b3、确定嵌入消息比特流;
[0021]
b4、对输入的密文域h.264文件,读取各个帧的信息,并分别对各个需要进行信息隐藏的帧执行以下步骤b41-b43:
[0022]
b41、计算s1中所有宏块的f值;
[0023]
b42、根据f值的优先级顺序确定s1中各个宏块进行信息隐藏的宏块顺序,即拥有较高优先级f值的宏块进行信息隐藏的顺序在拥有较低优先级f值的宏块之前;对于f值相同的多个宏块,进行信息隐藏的宏块顺序为光栅扫描顺序;
[0024]
b43、根据步骤b42确定的信息隐藏顺序,对各个宏块进行信息隐藏;
[0025]
b5、根据信息隐藏后的宏块信息重编码生成携带隐藏信息的密文域h.264视频。
[0026]
进一步地,还包括h.264/avc视频解密步骤,所述h.264/avc视频解密步骤包括:
[0027]
c1、定义区域s0为一帧中第一行和第一列的宏块组成的区域,定义区域s1为一帧中除了s0以外的宏块组成的区域;
[0028]
c2、获取f函数定义;
[0029]
c3、确定解密密钥k
dec

[0030]
c4、对输入h.264文件,读取各个帧的字段信息,并分别对各个帧执行以下步骤c41-c43:
[0031]
c41、对s1中的宏块,计算s1中所有宏块的f值,由此得到表明当前处理帧的宏块位置与f值的对应关系的f值分布图g,其中g[y][x]=f
(y,x)
表示f值分布图g中第y行第x列的值为帧中第y行第x列的宏块的f值;
[0032]
c42、根据解密密钥k
dec
生成的伪随机序列,逆置乱f值分布图中s1区域宏块对应的f值的排列顺序;
[0033]
c43、根据逆置乱的f值分布图,重新排列当前帧s1区域中各个宏块的位置,重新排列过程满足:1.对于重新排列的所有宏块,重新排列宏块之后宏块的宏块位置在逆置乱的f值分布图中对应的f值与宏块的f值相同;2.重新排列宏块前后,对当前帧s1区域进行光栅扫描,f值相同的宏块之间的顺序不变;
[0034]
c5、根据解密后的宏块信息重编码生成输出h.264视频。
[0035]
进一步地,还包括h.264/avc视频数据提取步骤,所述h.264/avc视频数据提取步骤包括:
[0036]
d1、对于一帧,定义区域s0为一帧中第一行和第一列的宏块组成的区域,定义区域s1为一帧中除了s0以外的宏块组成的区域;
[0037]
d2、获取f函数定义,并获取f值的优先级顺序;
[0038]
d3、初始化提取信息比特流为空;
[0039]
d4、对输入的h.264文件,读取各个帧的信息,并分别对各个需要进行信息提取的帧执行以下步骤d41-d43:
[0040]
d41、计算s1中所有宏块的f值;
[0041]
d42、根据f值的优先级顺序确定s1中各个宏块进行信息提取的宏块顺序,即拥有较高优先级f值的宏块进行信息提取的顺序在拥有较低优先级f值的宏块之前;对于f值相同的多个宏块,进行信息提取的宏块顺序为光栅扫描顺序;
[0042]
d43、根据步骤d42确定的信息提取顺序,对各个宏块进行信息提取,并把提取出的比特串追加进提取信息比特流;
[0043]
d5、根据信息提取后的宏块信息重编码生成输出h.264视频。
[0044]
进一步地,步骤b2和步骤d2中,f值的优先级顺序与f值降序排列顺序相同
[0045]
进一步地,步骤a42中置乱的处理过程为:
[0046]
根据加密密钥k
enc
确定伪随机数生成器;
[0047]
初始化f值列表lf,以光栅扫描顺序扫描g中s1区域宏块对应的f值,并将扫描到的f值按光栅扫描顺序存放入f值列表lf,得到列表lf=(f0,f1,f2,...,fn),n为s1中的宏块个数;
[0048]
使用伪随机数生成器生成与lf相同长度的伪随机数序列r=(s0,s1,s2,...,sn),并对该伪随机序列进行稳定的排序得到序列r

=(s
′0,s
′1,s
′2,...,s
′n),记录r

各个元素在原序列r中的位置,得到置乱序列pf=(p0,p1,p2,...,pn);
[0049]
根据置乱序列pf置乱f值列表lf,得到置乱后的f值列表l
′f,即遍历置乱序列pf,每遍历到一个位置i,如果置乱序列pf中第i个元素为pi,那么置乱后的f值列表l
′f的第i个f值为原始f值列表lf中的第pi个f值;
[0050]
根据置乱后的f值列表l
′f重新排列g中s1区域宏块对应的f值得到置乱的f值分布图g

,满足对g

中s1区域宏块对应的f值进行光栅扫描得到的f值顺序和置乱后的f值列表l
′f中f值顺序相同。
[0051]
进一步地,步骤c42中逆置乱的处理过程为:
[0052]
根据解密密钥k
dec
确定伪随机数生成器;
[0053]
初始化f值列表lf,以光栅扫描顺序扫描g中s1区域宏块对应的f值,并将扫描到的f值按光栅扫描顺序存放入f值列表lf,得到列表lf=(f0,f1,f2,...,fn),n为s1中的宏块个数;
[0054]
使用伪随机数生成器生成与lf相同长度的伪随机数序列r=(s0,s1,s2,...,sn),并对该伪随机序列进行稳定的排序得到序列r

=(s
′0,s
′1,s
′2,...,s
′n),记录r

各个元素在原序列r中的位置,得到置乱序列pf=(p0,p1,p2,...,pn);
[0055]
根据置乱序列pf逆置乱f值列表lf,得到逆置乱后的f值列表l
′f,即遍历置乱序列pf,每遍历到一个位置i,如果置乱序列pf中第i个元素为pi,那么逆置乱后的f值列表l
′f的第pi个f值为原始f值列表lf中的第i个f值;
[0056]
根据逆置乱后的f值列表l
′f重新排列g中s1区域宏块对应的f值得到逆置乱的f值分布图g

,满足对g

中s1区域宏块对应的f值进行光栅扫描得到的f值顺序和逆置乱后的f
值列表l
′f中f值顺序相同。
[0057]
进一步地,步骤b43中信息隐藏的处理过程为:
[0058]
遍历当前进行信息隐藏的宏块的16个4x4量化残差系数块,每遍历到一个4x4量化残差系数块,处理过程为:以zigzag顺序扫描当前处理4x4量化残差系数块,每遍历到一个量化残差系数,处理过程包括步骤b1-b4:
[0059]
b1、如果当前处理量化残差系数是当前4x4量化残差系数块中zigzag扫描顺序排前4的系数,不做处理;
[0060]
b2、如果当前处理量化残差系数值为0,不做处理;
[0061]
b3、如果当前处理量化残差系数的绝对值为1,获取1比特嵌入消息,如果当前嵌入消息比特为0,对当前处理量化残差系数不做处理;如果当前嵌入消息比特为1,修改当前处理量化残差系数使得当前处理量化残差系数的绝对值为2且修改前后当前处理量化残差系数的符号不变;
[0062]
b4、如果当前处理量化残差系数的绝对值大于1,修改当前处理量化残差系数使得当前处理量化残差系数的绝对值增加1且修改前后当前处理量化残差系数的符号不变。
[0063]
进一步地,步骤d43中信息提取的处理过程为:
[0064]
遍历当前进行信息提取的宏块的16个4x4量化残差系数块,每遍历到一个4x4量化残差系数块,处理过程为:以zigzag顺序扫描当前处理4x4量化残差系数块,每遍历到一个量化残差系数,处理过程包括步骤d1-d4:
[0065]
d1、如果当前处理量化残差系数是当前4x4量化残差系数块中zigzag扫描顺序排前4的系数,不做处理;
[0066]
d2、如果当前处理量化残差系数值为0,不做处理;
[0067]
d3、如果当前处理量化残差系数的绝对值为1,提取1比特消息为0,对当前处理量化残差系数不做处理;如果当前处理量化残差系数的绝对值为2,提取1比特消息为1,并修改当前处理量化残差系数使得当前处理量化残差系数的绝对值为1且修改前后当前处理量化残差系数的符号不变;
[0068]
d4、如果当前处理量化残差系数的绝对值大于2,修改当前处理量化残差系数使得当前处理量化残差系数的绝对值减少1且修改前后当前处理量化残差系数的符号不变。
[0069]
本发明所采用的另一技术方案是:
[0070]
一种h.264加密及密文域信息隐藏装置,包括:
[0071]
至少一个处理器;
[0072]
至少一个存储器,用于存储至少一个程序;
[0073]
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
[0074]
本发明所采用的另一技术方案是:
[0075]
一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如上所述方法。
[0076]
本发明的有益效果是:本发明能的加密部分,定义特征提取函数以计算宏块的特征值;根据当前帧的各个宏块的特征值对当前帧的宏块进行置换,从而在保证加密的视觉安全性的同时,抵抗轮廓攻击。总的来说,本发明能够在保持良好的嵌入容量的同时,加密
算法部分能够抵抗mbs轮廓攻击。
附图说明
[0077]
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
[0078]
图1是本发明实施例中视频加密和信息隐藏的总体流程图;
[0079]
图2是本发明实施例中视频解密和信息提取的总体流程图;
[0080]
图3是本发明实施例中对一个视频帧进行加密的流程图;
[0081]
图4是本发明实施例中对一个视频帧进行信息隐藏的流程图。
具体实施方式
[0082]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0083]
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0084]
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0085]
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
[0086]
现有的技术中,由于没有改变帧中各个宏块的比特开销分布,导致其无法抵抗mbs轮廓攻击。因此,本实施例提出一种新的h.264/avc视频加密及密文域信息隐藏方案,以改进现有h.264/avc视频密文域信息隐藏方案中普遍存在的方案中的加密部分无法抵抗轮廓攻击的不足。
[0087]
如图1所示,本实施例提供一种h.264加密及密文域信息隐藏方法,包括h.264/avc视频加密步骤、h.264/avc视频密文域数据隐藏步骤、h.264/avc视频解密步骤以及h.264/avc视频数据提取步骤。
[0088]
其中,参见图3,h.264/avc视频加密步骤包括:
[0089]
步骤1-1:定义区域s0为一帧中第一行和第一列的宏块组成的区域,定义区域s1为一帧中除了s0以外的宏块组成的区域;
[0090]
步骤1-2:定义函数f,输入为宏块,输出为输入宏块的非0量化残差系数个数,输出称为f值;
[0091]
步骤1-3:输入加密密钥k
enc
并初始化伪随机数生成器;
[0092]
步骤1-4:对输入h.264文件,通过熵解码获取各个帧的字段信息,并分别对各个帧执行以下步骤:
[0093]
步骤1-4-1:对s1中的宏块,计算s1中所有宏块的f值,由此得到表明当前处理帧的宏块位置与f值的对应关系的f值分布图g,其中g[y][x]=f
(y,x)
表示f值分布图g中第y行第x列的值为帧中第y行第x列的宏块的f值;
[0094]
步骤1-4-2:根据加密密钥k
enc
生成的伪随机序列,置乱f值分布图的s1区域宏块对应的f值排列顺序,处理过程为:
[0095]
(a)初始化f值列表lf,以光栅扫描顺序扫描g中s1区域宏块对应的f值,并将扫描到的f值按光栅顺序存放入f值列表lf,得到列表lf=(f0,f1,f2,...,fn),n为s1中的宏块个数;
[0096]
(b)使用伪随机数生成器生成与lf相同长度的伪随机数序列r=(s0,s1,s2,...,sn),并对该伪随机序列进行稳定的排序得到序列r

=(s
′0,s
′1,s
′2,...,s
′n),记录r

中各个元素在原序列r中的位置,得到置乱序列pf=(p0,p1,p2,...,pn);
[0097]
(c)根据置乱序列pf置乱列表lf,即遍历置乱序列pf,每遍历到一个位置i,如果置乱序列pf中第i个元素为pi,那么置乱后的f值列表l
′f的第i个f值为原始f值列表lf中的第pi个f值;
[0098]
(d)根据置乱后的f值列表l
′f重新排列g中s1区域宏块对应的f值得到置乱的f值分布图g

,满足对g

中s1区域宏块对应的f值进行光栅扫描得到的f值顺序和置乱后的f值列表l
′f中f值顺序相同;
[0099]
步骤1-4-3:根据置乱的f值分布图,重新排列当前帧s1区域中各个宏块的位置,重新排列过程满足:1.对于重新排列的所有宏块,重新排列宏块之后宏块的宏块位置在置乱的f值分布图中对应的f值与宏块的f值相同;2.重新排列宏块前后,对当前帧s1区域进行光栅扫描,f值相同的宏块之间的顺序不变;
[0100]
步骤1-5:根据加密后的宏块信息重编码生成密文h.264视频。
[0101]
其中,参见图4,h.264/avc视频密文域数据隐藏步骤,包括:
[0102]
步骤2-1:对于一帧,定义区域s0为一帧中第一行和第一列的宏块组成的区域,定义区域s1为一帧中除了s0以外的宏块组成的区域;
[0103]
步骤2-2:获取f函数定义为宏块的非0量化残差系数个数,并定义值的优先级顺序为f值降序排列顺序;
[0104]
步骤2-3:确定嵌入消息比特流;
[0105]
步骤2-4:对输入的密文域h.264文件,读取各个帧的信息,并分别对各个需要进行信息隐藏的帧执行以下步骤:
[0106]
步骤2-4-1:计算s1中所有宏块的f值;
[0107]
步骤2-4-2:根据f值的优先级顺序确定s1中各个宏块进行信息隐藏的顺序,即在待信息隐藏的宏块中,优先选择拥有最大f值的宏块进行信息隐藏;对于f值相同的多个宏块,进行信息隐藏的顺序为光栅扫描顺序;
[0108]
步骤2-4-3:根据步骤2-4-2确定的信息隐藏顺序,对各个宏块进行一维直方图平
移信息隐藏,处理过程为:
[0109]
(a)遍历当前进行信息隐藏的宏块的16个4x4量化残差系数块,每遍历到一个4x4量化残差系数块,处理过程为:
[0110]
(a)-1:以zigzag顺序扫描当前处理4x4量化残差系数块,每遍历到一个量化残差系数,处理过程为:
[0111]
(a)-1-1:如果当前处理量化残差系数是当前4x4量化残差系数块中zigzag扫描顺序排前4的系数,不做处理;
[0112]
(a)-1-2:如果当前处理量化残差系数值为0,不做处理;
[0113]
(a)-1-3:如果当前处理量化残差系数的绝对值为1,获取1比特消息,如果当前消息比特为0,对当前处理量化残差系数不做处理;如果当前消息比特为1,修改当前量化残差系数使得当前量化残差系数的绝对值为2且修改前后当前量化残差系数的符号不变;
[0114]
(a)-1-4:如果当前量化残差系数的绝对值大于1,修改当前量化残差系数使得当前量化残差系数的绝对值增加1且修改前后当前量化残差系数的符号不变;
[0115]
步骤2-5:根据信息隐藏后的宏块信息重编码生成携带隐藏信息的密文域h.264视频。
[0116]
参见图2,在一些实施例中,对携带附加信息的密文视频进行的附加信息提取和视频解密是完全可分离的,即既可以在密文视频中提取附加信息,随后解密密文视频,也可以先对携带附加信息的密文视频进行解密,得到携带附加信息的高视觉质量视频,再提取附加信息。良好的可分离性来源于在加密、隐藏、解密、提取这些过程中,各个宏块的f值、f值之间的优先级顺序以及s1区域中拥有相同f值的多个宏块之间的光栅扫描顺序始终保持不变,从而确保了本发明方法能够通过置乱宏块以抵抗轮廓攻击的情况下,同时确保了进行信息隐藏(提取)的宏块顺序是不变的。
[0117]
其中,如图2所示,h.264/avc视频解密步骤,包括:
[0118]
步骤3-1:定义区域s0为一帧中第一行和第一列的宏块组成的区域,定义区域s1为一帧中除了s0以外的宏块组成的区域;
[0119]
步骤3-2:获取f函数定义为宏块中非0量化残差系数的个数;
[0120]
步骤3-3:确定解密密钥k
dec
并初始化伪随机数生成器;
[0121]
步骤3-4:对输入h.264文件,读取各个帧的字段信息,并分别对各个帧执行以下步骤:
[0122]
步骤3-4-1:对s1中的宏块,计算s1中所有宏块的f值,由此得到表明当前处理帧的宏块位置与f值的对应关系的f值分布图g,其中g[y][x]=f
(y,x)
表示f值分布图g中第y行第x列的值为帧中第y行第x列的宏块的f值;
[0123]
步骤3-4-2:根据解密密钥k
dec
生成的伪随机序列,逆置乱f值分布图的s1区域宏块对应的f值排列顺序;处理过程为:
[0124]
(a)初始化f值列表lf,以光栅扫描顺序扫描g中s1区域宏块对应的f值,并将扫描到的f值按光栅顺序存放入f值列表lf,得到列表lf=(f0,f1,f2,...,fn),n为s1中的宏块个数;
[0125]
(b)使用伪随机数生成器生成与lf相同长度的伪随机数序列r=(s0,s1,s2,...,sn),并对该伪随机序列进行稳定的排序得到序列r

=(s
′0,s
′1,s
′2,...,s
′n),记录r

中各个元素在原序列r中的位置,得到置乱序列pf=(p0,p1,p2,...,pn);
[0126]
(c)根据置乱序列pf逆置乱列表lf,即遍历置乱序列pf,每遍历到一个位置i,如果置乱序列pf中第i个元素为pi,那么逆置乱后的f值列表l
′f的第pi个f值为原始f值列表lf中的第i个f值;
[0127]
(d)根据逆置乱后的f值列表l
′f重新排列g中s1区域宏块对应的f值得到逆置乱的f值分布图g

,满足对g

中s1区域宏块对应的f值进行光栅扫描得到的f值顺序和逆置乱后的f值列表l
′f中f值顺序相同;
[0128]
步骤3-4-3:根据逆置乱的f值分布图,重新排列当前帧s1区域中各个宏块的位置,重新排列过程满足:1.对于重新排列的所有宏块,重新排列宏块之后宏块的宏块位置在逆置乱的f值分布图中对应的f值与宏块的f值相同;2.重新排列宏块前后,对当前帧s1区域进行光栅扫描,f值相同的宏块之间的顺序不变;
[0129]
步骤3-5:根据解密后的宏块信息重编码生成输出h.264视频。
[0130]
其中,h.264/avc视频数据提取步骤,包括:
[0131]
步骤4-1:对于一帧,定义区域s0为一帧中第一行和第一列的宏块组成的区域,定义区域s1为一帧中除了s0以外的宏块组成的区域;
[0132]
步骤4-2:获取f函数定义为宏块的非0量化残差系数个数,并获取值的优先级顺序为f值降序排列顺序;
[0133]
步骤4-3:初始化提取信息比特流为空;
[0134]
步骤4-4:对输入的h.264文件,读取各个帧的信息,并分别对各个需要进行信息提取的帧执行以下步骤:
[0135]
步骤4-4-1:计算s1中所有宏块的f值,;
[0136]
步骤4-4-2:根据f值的优先级顺序确定s1中各个宏块进行信息提取的宏块顺序,即在待信息提取的宏块中,优先对拥有最大f值的宏块进行信息提取;对于f值相同的多个宏块,进行信息提取的宏块顺序为光栅扫描顺序;
[0137]
步骤4-4-3:根据步骤4-4-2确定的信息提取顺序,对各个宏块进行一维直方图平移信息提取,并把提取出的比特串追加进提取信息比特流;处理过程为:
[0138]
(a)遍历当前进行信息提取的宏块的16个4x4量化残差系数块,每遍历到一个4x4量化残差系数块,处理过程为:
[0139]
(a)-1:以zigzag顺序扫描当前处理4x4量化残差系数块,每遍历到一个量化残差系数,处理过程为:
[0140]
(a)-1-1:如果当前处理量化残差系数是当前4x4量化残差系数块中zigzag扫描顺序排前4的系数,不做处理;
[0141]
(a)-1-2:如果当前处理量化残差系数值为0,不做处理;
[0142]
(a)-1-3:如果当前处理量化残差系数的绝对值为1,提取1比特消息为0,对当前处理量化残差系数不做处理;如果当前处理量化残差系数的绝对值为2,提取1比特消息为1,并修改当前处理量化残差系数使得当前处理量化残差系数的绝对值为1且修改前后当前处理量化残差系数的符号不变;
[0143]
(a)-1-4:如果当前处理量化残差系数的绝对值大于2,修改当前处理量化残差系数使得当前处理量化残差系数的绝对值减少1且修改前后当前处理量化残差系数的符号不变;
[0144]
步骤4-5:根据信息提取后的宏块信息重编码生成输出h.264视频,输出提取信息比特流。
[0145]
综上所述,本实施例方法相对于现有技术,具有如下优点及有益效果:
[0146]
(1)、在本发明的加(解)密部分,定义特征提取函数以计算宏块的特征值。根据当前帧的各个宏块的特征值对当前帧的宏块进行置换(逆置换),从而在保证加密的视觉安全性的同时,抵抗轮廓攻击。
[0147]
(2)、本发明的信息隐藏(提取)部分根据当前帧的各个宏块的宏块位置和特征值确定信息嵌入(提取)顺序。因为信息嵌入(提取)顺序不受加密模块影响,所以加解密部分和信息隐藏提取部分保有良好的可分离性。本发明可用于保护商业视频、医疗视频等或个人视频通过公开信道传输或存储于公共云时的安全和隐私。
[0148]
(3)、本发明提出的h.264/avc密文域信息隐藏技术能够在保持良好的嵌入容量的同时,其加密算法部分能够抵抗mbs轮廓攻击。
[0149]
本实施例还提供一种h.264加密及密文域信息隐藏装置,包括:
[0150]
至少一个处理器;
[0151]
至少一个存储器,用于存储至少一个程序;
[0152]
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图1和图2所示方法。
[0153]
本实施例的一种h.264加密及密文域信息隐藏装置,可执行本发明方法实施例所提供的一种h.264加密及密文域信息隐藏方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0154]
本技术实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1和图2所示的方法。
[0155]
本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种h.264加密及密文域信息隐藏方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0156]
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
[0157]
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无
需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
[0158]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0159]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
[0160]
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0161]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0162]
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
[0163]
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
[0164]
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这
些等同的变形或替换均包含在本技术权利要求所限定的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献