一种JPEG图像信息隐藏的方法与流程

文档序号:20206720发布日期:2020-03-31 10:17阅读:534来源:国知局
一种JPEG图像信息隐藏的方法与流程

本发明涉及多媒体信息安全技术领域,特别涉及一种jpeg图像信息隐藏的方法。



背景技术:

在2018年,he等人在ieeetransactionsoncircuitsandsystemsforvideotechnology提出了anovelhigh-capacityreversibledatahidingschemeforencryptedjpegbitstreams(一种在加密jpeg比特流上实现高藏量信息隐藏的算法)。首先,提出了一种基于置换的dc与ac分离式图像加密方法。该加密方法主要特点是能够置乱图像的同时保持了ac系数的某些特性不变。在此基础上,提出了在ac系数上隐藏信息的策略。

根据jpeg的编码标准,首先从接收到的加密jpeg比特流中解析出所有的mcu,并解码成zero-runs/value值对形式,并记为zrv。为了表述方便,对于第l个mcu,假设其解码出来的zero-runs/value值对zrvl表示如下:

其中表示第l个mcu中第k个zero-runs/value值对,表示当前值对所对应的ac系数值,表示在之前到上一个非零系数之间的零系数个数。k是第l个mcu中zero-runs/value值对的数量。

he等人发现,对于大部分mcu而言,zrvl中的通常在位置相对靠后的非零系数取得较(最)大的值。更具体一点,每个mcu中,最后一个非零ac系数的zero-runs(即)的值大概率是这个mcu中最大的。而刚好这个特点,可以用于进行信息隐藏。因此,he等人将所有mcu分为常规mcu,奇异mcu和不可藏mcu。其中,奇异mcu和不可藏mcu不用于隐藏信息,其数量相对较少;与此同时,常规mcu和奇异mcu需要记录并保存。常规mcu是指在最后一个zrv中取得唯一最大值的mcu,且k大于等于n+1。(用于藏log2n比特信息)

对于常规mcu,根据每个mcu的k的不同,能够藏入不同位数(log2n)的秘密信息。具体是,从当前mcu临时构建长度为n的值对序列,包括,第2个zrv值对到第n个zrv值对,以及最后一个zrv值对。对该长度为n的值对序列,进行右移旋转,从而可获得n中状态,每一种状态可用于代表某一秘密信息,因此可实现log2n比特的信息隐藏能力。

在秘密信息提取的阶段,同样可以从接收到的jpeg比特流中解析出每个mcu的zrv值对;然后用同样的方法构建临时长度为n的值对序列(包括,第2个zrv值对到第n个zrv值对,以及最后一个zrv值对)。由于在嵌入阶段是选择那些在最后一个zrv值对中取得唯一最大值的mcu中隐藏信息,因此在解密时,根据这个特点推导并提取秘密信息。同时可以将当前mcu的序列恢复(反旋转)成嵌入前的状态(最后一个zrv值对中具有最大值)。

上述方法仍存在以下缺点:

缺点1:载体的载荷能力(藏量)有限,可进一步提升。he等人提出的以值的大小作为设计各个状态序列的核心参考特征,从而实现秘密信息隐藏。具体地,从其方法给出的实验数据中,平均约53.56%的mcu可用于隐藏信息(见表1),这很大程度上限制了其隐藏能力。特别是在纹理相对平滑的图像上,可藏的mcu明显降低。



技术实现要素:

(一)要解决的技术问题

为了解决现有技术的上述问题,本发明提供jpeg图像信息隐藏的方法,能够提高信息隐藏的载荷能力,尤其是提高纹理平滑图像的载荷能力。

(二)技术方案

为了达到上述目的,本发明采用的主要技术方案包括:

一种jpeg图像信息隐藏的方法,包括步骤:

s1、获取jpeg图像中所有zrv值对和相应的ac系数的绝对值;

s2、根据所述预设的规则和ac系数的绝对值从所述所有zrv值对中选取有效的zrv值对;

s3、根据所述有效的zrv值对对所述jpeg图像进行信息隐藏,得到隐藏后的jpeg图像。

(三)有益效果

本发明的有益效果在于:通过获取jpeg图像中所有zrv值对和相应的ac系数的绝对值;根据所述预设的规则和ac系数的绝对值从所述所有zrv值对中选取有效的zrv值对;根据所述有效的zrv值对对所述jpeg图像进行信息隐藏,得到隐藏后的jpeg图像,以ac系数的绝对值作为核心参考特征,提高了信息隐藏的载荷能力,尤其是提高纹理平滑图像的载荷能力,而且计算简单,易实现,且具有较好的兼容性,能较好的保持信息隐藏前后jpeg图像比特流的文件大小。

附图说明

图1为本发明jpeg图像信息隐藏的方法的流程图;

图2为本发明实施例的zrv状态-秘密信息的映射关系表。

具体实施方式

为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。

实施例一

请参照图1至2,一种jpeg图像信息隐藏的方法,包括步骤:

s1、获取jpeg图像中所有zrv值对和相应的ac系数的绝对值;

步骤s1包括:

s11、获取jpeg图像,并从所述jpeg图像的比特流中解析出所有的mcu;

s12、依次从每个mcu中解码出所有zrv值对和相应的ac系数,通过ac系数生成ac系数的绝对值,并将第l个mcu中所有zrv值对记为其中,表示为第l个mcu的第k个zrv值对,表示第k个zrv的系数,表示系数前连续零系数的个数,l的取值范围为[1,m],m表示所有mcu的总数量。

s2、根据所述预设的规则和ac系数的绝对值从所述所有zrv值对中选取有效的zrv值对;

步骤s2包括:

s21、根据第l个mcu中所有zrv值对计算并判断n是否大于2,若是,则执行步骤s2;

s22、从第l个mcu中所有zrv值对中选取n个zrv值对,构成第l个mcu的临时zrv值对序列,所述临时zrv值对序列包括第1个zrv值对第kl-n+1个zrv值对到第kl-1个zrv值对

s23、判断所述临时zrv值对序列是否满足预设条件,若满足,则将所述临时zrv值对序列选取为第l个mcu中有效的zrv值对序列。

所述的判断所述临时zrv值对序列是否满足预设条件具体为:

判断中的ac系数的绝对值是否大于1;

判断是否为所述临时zrv值对序列中所有ac系数的绝对值的最大值以及所述是否是唯一的;

大于1且所述是所述临时zrv值对序列中所有ac系数的绝对值的最大值,并且是唯一的,则满足,否则,不满足。

s3、根据所述有效的zrv值对对所述jpeg图像进行信息隐藏,得到隐藏后的jpeg图像。

步骤s3:

s31、根据所述有效的zrv值对构建zrv状态-秘密信息的映射关系;

步骤s31具体为:

根据所述第l个mcu中有效的zrv值对序列构建zrv状态-秘密信息的映射关系。

s32、根据所述映射关系对所述jpeg图像进行信息隐藏,得到隐藏后的jpeg图像。

步骤s32包括:

s321:根据所述映射关系将所述第l个mcu中有效的zrv值对序列旋转得到第l个mcu中藏入秘密信息的zrv值对序列;

s322:根据所述第l个mcu中藏入秘密信息的zrv值对序列对第l个mcu的临时zrv值对序列进行替换,得到重组后的第l个mcu;

s323:对所有的mcu进行循环,得到所有mcu对应的重组后的mcu;

s324:分别对所有重组后的mcu进行熵编码,得到隐藏后的jpeg图像。

实施例二

本实施例和实施例一的区别在于,本实施例将结合具体的应用场景,进一步说明本发明上述jpeg图像信息隐藏的方法是如何实现的:

s1、获取jpeg图像中所有zrv值对和相应的ac系数的绝对值;

步骤s1包括:

s11、获取jpeg图像,并从所述jpeg图像的比特流js中解析出所有的mcu;

s12、依次从每个mcu中解码出所有zrv值对和相应的ac系数,通过ac系数生成ac系数的绝对值,并根据jpeg标准将第l个mcu中所有zrv值对记为其中,表示为第l个mcu的第k个zrv值对,表示第k个zrv的系数,表示系数前连续零系数的个数,l的取值范围为[1,m],m表示所有mcu的总数量。

步骤s2包括:

s21、根据第l个mcu中所有zrv值对计算并判断n是否大于2,若是,则执行步骤s2,否则,判断当前mcu为不可隐藏mcu并对第l+1个mcu执行步骤s21;

s22、从第l个mcu中所有zrv值对中选取n个zrv值对,构成第l个mcu的临时zrv值对序列,所述临时zrv值对序列包括第1个zrv值对第kl-n+1个zrv值对到第kl-1个zrv值对s23、判断所述临时zrv值对序列是否满足预设条件,若满足,则将所述临时zrv值对序列选取为第l个mcu中有效的zrv值对序列。

所述的判断所述临时zrv值对序列是否满足预设条件具体为:

判断中的ac系数的绝对值是否大于1;

判断是否为所述临时zrv值对序列中所有ac系数的绝对值的最大值以及所述是否是唯一的;

大于1且所述是所述临时zrv值对序列中所有ac系数的绝对值的最大值,并且是唯一的,则满足,并判断当前mcu为常规mcu,否则,不满足,并判断当前mcu为异常mcu,并重新计算跳转到步骤s21。

s3、根据所述有效的zrv值对对所述jpeg图像进行信息隐藏,得到隐藏后的jpeg图像。

步骤s3:

s31、根据所述有效的zrv值对构建zrv状态-秘密信息的映射关系;

步骤s31具体为:

根据所述第l个mcu中有效的zrv值对序列构建zrv状态-秘密信息的映射关系。

s32、根据所述映射关系对所述jpeg图像进行信息隐藏,得到隐藏后的jpeg图像。

步骤s32包括:

s321:根据所述映射关系将所述第l个mcu中有效的zrv值对序列旋转得到第l个mcu中藏入秘密信息的zrv值对序列;

s322:根据所述第l个mcu中藏入秘密信息的zrv值对序列对第l个mcu的临时zrv值对序列进行替换,得到重组后的第l个mcu;

具体地,如图2所示,其中,表示第k个zrv旋转状态,其对应的秘密信息列中的数字代表对应所隐藏的秘密信息(log2n比特)。根据所要隐藏的秘密信息,将有效的zrv值旋转得到藏入秘密信息的zrv值对序列,且图2中(a)为zrv状态-秘密信息的映射关系表,(b)为zrv状态-秘密信息的映射关系表的示例;

s323:对所有的mcu进行循环,得到所有mcu对应的重组后的mcu;

s324:分别对所有重组后的mcu进行熵编码,得到隐藏后的jpeg图像的比特流。

表1为本发明和he等人的实验数据对比表

表2为he等人的方法和本发明的实验结果对比表

从表2可知,本发明以ac系数的绝对值作为核心参考特征,提高了信息隐藏的载荷能力,尤其是提高纹理平滑图像的载荷能力。

表3为he等人的方法和本发明加密后载荷能力对比表

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1