一种基于预测误差扩展的可逆信息隐藏方法与流程

文档序号:24332943发布日期:2021-03-19 12:12阅读:432来源:国知局
一种基于预测误差扩展的可逆信息隐藏方法与流程

本发明涉及图像处理和多媒体信息安全技术领域,更具体地,涉及一种基于预测误差扩展的可逆信息隐藏方法。



背景技术:

近年来,随着互联网技术的快速发展,数字多媒体包括图像、文本、视频、音频等作为信息的载体逐渐被大众认知和接受。为了保证这些信息在互联网中安全传播,信息隐藏技术应运而生。可逆信息隐藏技术是信息隐藏技术的一个分支,它不仅能够准确提取含密图像中的秘密信息,还可以无损失的恢复原始图像。这在医学影像、军事图像和法律取证等方面具有重用的应用价值。

迄今为止,已有大量的可逆信息隐藏的研究方法被发表。例如,基于预测误差柱状图扩展法(pee,prediction-errorexpansion)的可逆信息隐藏方法具有较高的嵌入质量。但是,相邻像素间的相关性并未得到充分挖掘,像素预测不准确,影响加密图像的嵌入质量。

具体地,现有技术存在基于预测误差扩展的可逆信息嵌入方法,其具体技术方案是:

根据相邻像素的相关性,采用相邻像素预测当前像素p,得到一个预测值则预测误差e为:

预测误差为0时嵌入信息i,i=0或1,而其他预测误差值则平移,表示为:

则嵌入信息后的像素为:

提取嵌入信息i为:

恢复原始的像素值:

这样就可以实现信息的嵌入和提取,并恢复原始图像。

另外一种现有技术方案是“improvedppvo-basedhigh-fidelityreversibledatahiding”(signalprocessing,167,107264,2020,haoruiwu,xiaolongli,yaozhao和rongrongni)。该方案基于周边像素的最大值或最小值来实现目标像素的预测,在预测误差为0的时候,嵌入信息。但是该方法仅利用了像素左、右、下边像素,而未利用像素上边的像素,像素预测不准确。

总之,现有利用周边像素预测目标像素的方法中,或者仅利用周边的四个像素实现目标像素预测,利用的像素太少无法实现目标像素的准确预测。或者仅利用目标像素周边像素中两个或者三个方向的多个像素,实现目标像素预测。这两种方法均未充分利用目标像素周边像素,导致预测目标像素的准确度较低。



技术实现要素:

本发明的目的是克服上述现有技术的缺陷,提供一种基于预测误差扩展的可逆信息隐藏方法,利用目标像素周边四个方向的多个像素实现目标像素的准确预测,充分利用相邻像素间的相关性实现像素的准确预测。

本发明的技术方案是提供一种基于预测误差扩展的可逆信息隐藏方法,该方法包括以下步骤:

步骤s1,将图像按照棋盘方式分成不重叠的多部分数据集。

步骤s2,按照设定顺序分别对各部分数据集执行信息嵌入过程,包括:根据目标像素与周边像素的相关性从四个方向选择周边像素集,并根据所选择的周边像素集计算目标像素的预测值,进而获得预测误差;根据所述周边像素集计算像素的复杂度,并按照像素复杂度对像素的误差值进行重新排序;基于排序后的误差,采用误差值为0时嵌入信息。步骤s3,以与嵌入信息的顺序相反的过程进行信息提取,进而恢复出原始图像。

与现有技术相比,本发明的优点在于,首次将菱形预测方法中周边像素的利用方法和其他周边像素利用方法相结合;充分利用了目标像素与周边像素的相关性,实现了目标像素的准确预测。本发明提高了嵌入容量并且有效降低了图像的失真度。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是根据本发明一个实施例的基于预测误差扩展的可逆信息隐藏方法的流程图;

图2是根据本发明一个实施例的将图像按照棋盘方式分成不重叠的两部分数据集的示意图;

图3是本发明与现有技术针对多种标准测试图像的最大嵌入容量的实验结果。

图4是本发明与现有技术针对一种图像的峰值信噪比的实验结果。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本发明基于菱形预测方法对目标像素进行预测,然后根据预测值从小到大的顺序对原始像素进行排序,生产一维序列。最后,利用排序后相邻的多个像素实现对目标像素的预测,基于预测误差扩展方法实现图像的信息嵌入。

参见图1所示,所提供的基于预测误差扩展的可逆信息隐藏方法包括:步骤s1,将图像按照棋盘方式分成不重叠的多部分数据集。步骤s2,按照设定顺序分别对各部分数据集执行信息嵌入过程,具体包括:根据目标像素与周边像素的相关性从四个方向选择周边像素集,并根据所选择的周边像素集计算目标像素的预测值,进而获得预测误差;根据所述周边像素集计算像素的复杂度,并按照像素复杂度对像素的误差值进行重新排序;基于排序后的误差,采用误差值为0时嵌入信息。步骤s3,以与嵌入信息的顺序相反的过程进行信息提取,进而恢复出原始图像。总体上,本发明包括嵌入信息过程和信息提取过程,以下将分别具体说明。

一、嵌入信息过程

将图像按照如图2所示棋盘方式分成不重叠的两部分数据集,以空白像素和灰色像素标记。两个数据集的处理方法完全相同,这里以灰色数据集为例,用于介绍整个嵌入过程。将嵌入信息分为两部分,一部分嵌入灰色数据集,另一部分嵌入白色数据集。

信息嵌入过程包括:

步骤s11,预测图像像素

设灰色数据集中目标像素p的预测值为目标像素的周边的像素按照距离目标像素p的距离进行标记,并组成像素集c=(c1,c2,…,c8)。

则预测值为:

情况1:max(c)≠min(c)

情况2:max(c)=min(c)

则预测误差表示为:

应理解的是,上述以像素集中c的像素个数为8进行示意,而为了优化嵌入性能、提高嵌入质量,可扩展或者缩小像素集c中像素的个数,例如,一般性的表示为(c1,c2,…,cn),n是大于等于2的整数。

步骤s12,计算像素的图像复杂度

例如,设像素p的图像复杂度为nl,表示为:

nl=max(c)-min(c)(4)

步骤s13,按照像素复杂度对图像像素进行排序

例如,按照像素复杂度从小到大的顺序,针对像素的误差值进行重新排序。

步骤s14,基于排序后的误差进行信息嵌入

基于排序后的误差,采用误差值为0时嵌入信息i,i=0或1,嵌入信息后的预测误差为e′。

具体步骤如下:

情况1:max(c)≠min(c)

情况2:max(c)=min(c)

则嵌入信息后的像素p′为:

嵌入一半信息后,记录结束嵌入的位置end_location1和此时预测误差对应的图像复杂度nl_end1。

针对已经嵌入信息后的灰色数据集和未嵌入信息的白色数据集组成的新图像,重复步骤s11至s14,在白色数据集中实现另一半信息的嵌入,并记录结束嵌入位置end_loaction2和此时误差对应的图像复杂度nl_end2。

二、提取信息过程

将图像按照如图2所示棋盘方式分成不重叠的灰白两部分数据集。灰白两个数据集的提取信息的过程完全相同,只是提取信息的顺序和嵌入信息的顺序相反。则提取信息过程中,需要先提取白色数据集中的信息并且恢复白色数据集中的像素。在此基础上,再提取灰色数据集中的信息,恢复灰色数据集中的像素。此处以白色数据集提取信息为例。

具体地,信息提取过程包括以下步骤:

步骤s21,预测图像像素

例如,从白色数据集嵌入信息结束的位置nl_end2,逆序实现像素的预测。

设白色数据集中的像素为x',并根据公式(4)计算像素p'的图像复杂度。

步骤s22,提取可逆信息

若nl≤nl_end2时,

情况1:max(c)≠min(c)

则原始像素值p为:

情况2:max(c)=min(c)

则原始像素值p为:

白色数据集提取完信息后,重复步骤s21至s22,按照相同的方法完成灰色数据集信息的提取,并最终恢复原始图像。

为进一步验证本发明的效果,进行了实验仿真。数据测试集来源于sipi数据集,得到标准测试图像lena、baboon、barbara、peppers等图像,图像尺寸大小为512*512。图3是采用最大嵌入容量(maxcapacity)来对比本发明(标记为proposed)和现有技术(标记为ippvo)的预测准确度,其中横坐标仅示意了部分图像类型。

图4是采用峰值信噪比(peaksignalnoiseratio,psnr)值衡量实验效果。

psnr值的计算方法是:

psnr=10*log10(2552/mse)(12)

xi,j,x′i,j表示嵌入信息前和嵌入信息后的像素。

经过图3和图4的对比发现,本发明所提出的方法在嵌入容量和嵌入质量两方面均优于现有的研究方法。

综上所述,本发明为了保证可逆和预测准确度,将图像划分为不重叠的多个部分,充分利用目标与周边像素的相关性,实现目标像素的准确预测;根据目标像素和周边像素的距离,筛选像素构成像素集c,进而筛选的像素集c实现信息嵌入过程。

需要说明的是,在不违背本发明的精神和范围的前提下,本领域技术人员可对上述实施例进行适当变型或改变,例如,将图像划分为更多个不重叠的数据集,又如,采用其他的相关度标准选择周边像素集等。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

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