本发明涉及多媒体信息安全技术领域,特别涉及一种jpeg图像信息隐藏的方法。
背景技术:
在2018年,he等人在ieeetransactionsoncircuitsandsystemsforvideotechnology提出了anovelhigh-capacityreversibledatahidingschemeforencryptedjpegbitstreams(一种在加密jpeg比特流上实现高藏量信息隐藏的算法)。首先,提出了一种基于置换的dc与ac分离式图像加密方法。该加密方法主要特点是能够置乱图像的同时保持了ac系数的某些特性不变。在此基础上,提出了在ac系数上隐藏信息的策略。
根据jpeg的编码标准,首先从接收到的加密jpeg比特流中解析出所有的mcu,并解码成zero-runs/value值对形式,并记为zrv。为了表述方便,对于第l个mcu,假设其解码出来的zero-runs/value值对zrvl表示如下:
其中
he等人发现,对于大部分mcu而言,zrvl中的
对于常规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等人提出的以
技术实现要素:
(一)要解决的技术问题
为了解决现有技术的上述问题,本发明提供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值对记为
s2、根据所述预设的规则和ac系数的绝对值从所述所有zrv值对中选取有效的zrv值对;
步骤s2包括:
s21、根据第l个mcu中所有zrv值对计算
s22、从第l个mcu中所有zrv值对中选取n个zrv值对,构成第l个mcu的临时zrv值对序列,所述临时zrv值对序列包括第1个zrv值对
s23、判断所述临时zrv值对序列是否满足预设条件,若满足,则将所述临时zrv值对序列选取为第l个mcu中有效的zrv值对序列。
所述的判断所述临时zrv值对序列是否满足预设条件具体为:
判断
判断
若
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值对记为
步骤s2包括:
s21、根据第l个mcu中所有zrv值对计算
s22、从第l个mcu中所有zrv值对中选取n个zrv值对,构成第l个mcu的临时zrv值对序列,所述临时zrv值对序列包括第1个zrv值对
所述的判断所述临时zrv值对序列是否满足预设条件具体为:
判断
判断
若
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所示,其中,
s323:对所有的mcu进行循环,得到所有mcu对应的重组后的mcu;
s324:分别对所有重组后的mcu进行熵编码,得到隐藏后的jpeg图像的比特流。
表1为本发明和he等人的实验数据对比表
表2为he等人的方法和本发明的实验结果对比表
从表2可知,本发明以ac系数的绝对值作为核心参考特征,提高了信息隐藏的载荷能力,尤其是提高纹理平滑图像的载荷能力。
表3为he等人的方法和本发明加密后载荷能力对比表
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。