一种基于多直方图修改的高容量可逆信息隐藏方法与流程

文档序号:18941770发布日期:2019-10-23 01:12阅读:187来源:国知局
一种基于多直方图修改的高容量可逆信息隐藏方法与流程
本发明涉及信息隐藏
技术领域
,尤其涉及一种基于多直方图修改的高容量图像可逆信息隐藏方法。
背景技术
:信息隐藏(informationhiding)技术旨在保护数字多媒体的内容免受未授权方的盗用、篡改,被广泛用于内容认证和版权保护等。但是在一些敏感的应用场景中,例如军事和医学图像处理,不仅需要提取嵌入的秘密信息,还需要没有任何失真地恢复载体数据。为满足这一需求,可逆信息隐藏(reversibledatahiding)技术应运而生,并引起越来越多研究者的关注。嵌入容量和峰值信噪比(peaksignal-to-noiseratio)通常被视为衡量信息隐藏技术性能的标准。随着嵌入容量的增加,对载体图像进行更多地修改,图像的失真程度也就越高。因此,当嵌入容量较高时,如何尽可能引入更低的失真是研究者的目标。此外,当被应用于移动互联网和移动端等场景时,如何降低信息隐藏算法的计算复杂度以符合实时应用的需求是另一个亟待解决的问题。li等人提出一种基于多直方图修改的可逆信息隐藏算法。在li等人的方法中,对载体图像中的每个像素xi,采用菱形预测子计算得到预测误差ei,并根据其邻域像素计算相应的复杂度ni,其中1≤i≤n,n表示图像的总像素数。然后依据像素的复杂度ni,将图像的像素均匀地划分为m个子集,通过计算每个集合像素的预测误差的频数,对应地生成一个预测误差直方图hn:hn(e)=#{1≤i≤n:ei=e,ni=n},其中,1≤n≤m。最终,得到m个预测误差直方图。对每个预测误差直方图hn,选择两个参数an和bn(an<bn),从而预测误差值为an和bn的图柱被扩展来嵌入信息,预测误差值小于an和大于bn的图柱被分别向左向右移位,而预测误差值在an和bn的图柱保持不变。因此,嵌入信息后的预测误差为:其中,m∈{0,1}为嵌入的二值信息比特。图1展示了基于多直方图修改的嵌入规则,其中矩形标识的点表示在每个直方图上选择的参数an和bn。参数an和bn的选择决定了嵌入方案的性能,为了能够针对不同的图像内容和嵌入负载要求,自适应地选择参数,li等人的方法中采用了穷举搜索的方法来确定最佳参数。对于每个直方图上an和bn,假设an+bn=-1,并且对于复杂度从低到高的直方图,参数bn是非递减的,且最大的取值不超过7。这两个假设的设立是出于对预测误差直方图的分布的观察,预测误差直方图的分布形似拉普拉斯分布,在0处取得峰值并且在两边的尾部严重衰减。在设定的限制条件下,对参数进行穷举搜索,其中在嵌入容量满足负载要求的情况下,使得嵌入失真和嵌入容量的比值最小的解即是最优解。可以看到该方法的复杂度是指数级别的,假设参数候选集合的大小为s,算法复杂度为o(sm)。在li等人的方法中,通过划分不同复杂度的像素集合来生成多个直方图,充分利用了图像信息的空间冗余性,同时通过自适应地微调参数,取得了良好的性能。但是该方法仍然存在着非常明显的缺点。一方面,该方法对每个直方图仅仅选择一对图柱进行信息嵌入,使得允许的最大嵌入容量非常有限。例如,对于图像lena来说,允许的最大嵌入容量仅为62,000比特。另一方面,该方法采用穷举的方式来搜索最优解,这样的做法非常耗时,从而导致了改方案不能被拓展到高容量嵌入的情况。技术实现要素:针对现有技术的不足,本发明提出一种基于多直方图修改的高容量可逆信息隐藏方法,能够在接收端提取秘密信息的同时,无损地恢复图像载体,通过在每个直方图上选取多对图柱来进行信息嵌入,大幅度地提高了嵌入容量,并通过贪心搜索算法,可以快速地得到优化问题的近似最优解,能够针对负载要求和图像内容自适应地选择多个参数,进一步提升了嵌入性能。为达到上述目的,本发明采取的技术方案如下:一种基于多直方图修改的高容量可逆信息隐藏方法,包括以下步骤:首先对载体图像进行预处理,将图像中值在特定范围内的部分像素xi进行修改,建立一个位置表来记录修改像素的位置;具体而言,该部分像素xi根据如下公式修改:根据邻域计算像素xi的预测误差ei和复杂度ni,生成m个预测误差直方图;在每个直方图hn上选择k对图柱,对应有k个参数,根据贪心搜索算法确定最优参数;生成能确保载体图像无损恢复的辅助信息,该辅助信息包括位置表、m-1个划分直方图的阈值、图柱对应的参数;将载体图像的全部像素分成两层,根据确定的最优参数将待嵌入的秘密信息和辅助信息分层嵌入到k对图柱,其中辅助信息嵌入到图像的首部;嵌入后得到修改后的预测误差根据嵌入后的像素得到嵌入后的载体图像。进一步地,按照从左到右、从上到下的顺序嵌入信息,先在第一层嵌入信息,再在第二层嵌入信息。进一步地,预测误差为像素的预测值,根据菱形预测子来计算得到。进一步地,复杂度ni的计算方法为:在包含12个像素的邻域内,计算在水平和竖直方向每两个连续像素差值的平均值,即为复杂度ni。进一步地,k对图柱对应的参数为{(an,k,bn,k)|1≤k≤k},其中an,k<…<an,1<0≤bn,1<…<bn,k,则采用多对图柱的嵌入规则为:其中表示嵌入后图像的预测误差,m∈{0,1}为嵌入的二值信息比特。进一步地,根据贪心搜索算法确定最优参数包括以下步骤:计算得到单个直方图hn上使用多个参数时的嵌入容量ecn和嵌入失真edn,其中,h()表示预测误差直方图,h(a)表示值为a的预测误差的频数;利用贪心搜索算法求解优化问题,确定最优参数,该优化问题如下:其中p表示给定的负载要求,由待嵌入的秘密信息和辅助信息组成。进一步地,参数的取值范围如下:其中t表示一个整数的阈值。进一步地,贪心搜索算法,是指在解空间中,以解空间的原点作为初始状态,从初始状态开始,选择当前最优的方向前进来查找下一个状态,迭代地进行查找,直到到达解空间中的终点。进一步地,利用贪心搜索算法求解优化问题具体为:构建一个m维的解空间,解空间中的点(x1,…xm)代表了一个嵌入所需要的完整的参数,其中xn代表了在直方图hn上选择的参数,在空间的每一个维度上,所有的候选按照嵌入容量的大小升序排列;以解空间的原点作为初始状态w0,选择使得嵌入失真与嵌入容量之比最小的候选作为下一个状态,迭代查找下一个状态,直到到达解空间中的终点,得到一条在解空间中的搜索路径;在这条路径上,找到嵌入失真与嵌入容量之比最小、同时满足负载要求的点即是最优解。进一步地,辅助信息采用最低有效位替换的方法嵌入图像的首部。一种针对上述方法得到的嵌入后载体图像进行信息提取的方法,包括以下步骤:从嵌入后载体图像的首部提取出辅助信息;根据辅助信息中的位置表、m-1个划分直方图的阈值、图柱对应的参数,从图像中提取嵌入的秘密信息并恢复载体。与现有技术相比,本发明的有益效果在于:本发明可以实现秘密信息在图像中的嵌入和提取,能够提供较高的嵌入容量,同时能够快速地实现近似最优的嵌入,从而使带有秘密信息的载体图像失真程度要低于现有的可逆信息隐藏算法。因此,本方法是一种性能良好的可逆信息隐藏算法,可以用于内容认证、秘密通信等领域。附图说明图1是基于多直方图修改的嵌入规则示意图;图2是本方法使用多对图柱的直方图映射规则示意图;图3是本方法构建的有序解空间(m=2)和贪心搜索机制示意图,(a)是2对图柱(-2,1)和(-4,3),(b)是3对图柱(-1,0)、(-2,1)和(-3,2);图4是本方法和现有方法的性能对比结果;图5是本方法的双层嵌入方式示意图;图6是菱形预测子示意图;图7是像素复杂度计算示意图。具体实施方式为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。本实施例提供一种基于多直方图修改的高容量可逆信息隐藏方法,实现在图像中可逆地嵌入和提取秘密信息的功能,获得失真程度小的载体图像,本方法包括如下步骤:1.本方法使用双层嵌入的方式,将整副图像全部的像素分成两部分,然后进行分层嵌入。如图5所示,空白区域像素代表第一层,阴影区域像素代表第二层。嵌入信息时,按照从左到右、从上到下的顺序进行嵌入,先在第一层嵌入信息,再嵌第二层。2.载体图像预处理:为了防止出现修改像素后值溢出的情况,一些像素xi需要提前进行修改,其中k为算法中选择的图柱的对数(numberofpairs):并且建立一个位置表来记录修改像素的位置,经过压缩后,成为辅助信息的一部分。3.根据邻域计算像素的预测误差ei和复杂度ni,生成m个预测误差直方图。使用菱形预测子来计算像素的预测值图6展示了菱形预测子的计算方式:在得到预测值之后,计算得到预测误差像素的复杂度ni的计算如下,即在包含12个像素的邻域内,计算在水平和竖直方向每两个连续像素差值的平均值:ni=|u2-u5|+|u5-u9|+|u6-u10|+|u3-u7|+|u7-u11|+|u1-u4|+|u4-u8|+|u8-u12|+|u3-u4|+|u5-u6|+|u6-u7|+|u7-u8|+|u9-u10|+|u10-u11|+|u11-u12|为了提升嵌入容量,对于生成的m个直方图,在每个直方图上选择k对图柱进行信息嵌入,即对应的参数为{(an,k,bn,k)|1≤k≤k},其中an,k<…<an,1<0≤bn,1<…<bn,k。则使用多对图柱的嵌入规则为:其中表示嵌入后图像的预测误差,m∈{0,1}为嵌入的二值信息比特。图2中分别展示了对一个直方图分别使用2对图柱和3对图柱进行信息嵌入的直方图映射方式。其中矩形标识的点表示在每个直方图上选择的多个参数an,k和bn,k。4.根据提出的贪心搜索算法确定近似最优的参数,对每个直方图bn来说,有k个参数{bn,k|1≤k≤k}。具体地,计算得到单个直方图hn上使用多个参数时的嵌入容量ecn和嵌入失真edn,为了寻找最优的参数,需要解决以下的优化问题:其中p表示给定的负载要求,由待嵌入的秘密信息和辅助信息组成。这里,基于预测误差直方图的分布性质,对参数的取值范围进行限定,如下:其中t表示一个整数的阈值,可以通过调整它来定义参数的范围,bn,k=∞意味着最多使用了k-1对图柱进行信息嵌入。对给定的图柱的对数k来说,表示所有可能的参数选择情况的数量。如果使用穷举的搜索方式,则计算复杂度为o(sm)。举例来说,当k=4,m=16并且t=8,计算复杂度接近达到了o(2118)。面对如此庞大的解空间,使用穷举的方法是不切实际的。为了能够快速求解上述的优化问题,本方法提出了一种贪心搜索算法。定义xn=(bn,1,...,bn,k)为第n个直方图hn上的候选项,ecn(xn)和edn(xn)分别为其对应的嵌入容量和嵌入失真。首先,构建一个m维的解空间,解空间中的点(x1,…xm)代表了一个嵌入方案所需要的完整的参数,其中xn代表了在直方图hn上选择的参数。特别地,在空间的每一个维度上,所有的候选按照嵌入容量的大小升序排列。因此,上述的优化问题可以看作是在构建的有序解空间中搜索最优解。图3展示了构建的解空间,其中m=2,横轴代表在h1上的参数选择,纵轴代表在h2上的参数选择。接下来在构建的解空间中实现贪心的搜索策略。以解空间的原点作为初始状态w0,此时的嵌入容量为0。然后迭代地找到下一个状态wm直到到达解空间中的终点wend,终点代表了嵌入容量最大的参数方案。在每次迭代时,只选择一个直方图来增加容量,也就是说,每次只修改wm中的一项,对应在解空间中,当前点每次选择m个维度中的一个维度,沿着该维度向前移动一步。因此,下一个状态一共有m种可能,选择使得嵌入失真与嵌入容量之比最小的候选作为下一个状态wm+1。这就是贪心的思想,即每次向容量增大的方向走一步时,选择当前最优的方向前进。例如,在图3中,wm表示当前状态,接下可以到达的状态有a和b,通过比较ed(a)/ec(a)和ed(b)/ec(b),选择比值较小的a作为下一状态wm+1。重复以上过程直到到达wend,最终得到了一条在解空间中的搜索路径。则在这条路径上,使得嵌入失真与嵌入容量之比最小、同时满足负载要求的点即是最优解。图3中的wopt是示例最终得到的最优解。明显地,使用提出的贪心搜索的算法使得确定参数的复杂度大幅下降,算法复杂度为o(ms)。高效的算法使得将基于多直方图的修改方法拓展到高容量方案成为可能,并且能够适用于实时应用场景。可以看到,贪心搜索的计算复杂度取决于直方图的个数m和候选集合的大小s,其中s是由参数的对数k决定的。表格1中展示了当m=16,对于不同的参数对儿数k,所提出的贪心搜索算法在测试图片集上的平均运行时间。结果显示算法是非常高效的,可以满足实时应用的需求。表1本方法的贪心搜索算法的运行时间k1234平均运行时间(秒)0.0130.0230.0380.0595.生成能确保载体图像无损恢复的辅助信息。辅助信息包括有前述过程中得到的压缩位置表、m-1个划分直方图的阈值、算法求解得到的参数bn,k。辅助信息采用最低有效位替换的方法嵌入图像的首部。6.根据前述过程确定的最优参数进行信息嵌入,得到修改后的预测误差嵌入后的载体像素为得到嵌入后的载体图像。7.提取的过程和嵌入过程顺序相反,从图像首部提取出辅助信息,根据辅助信息中的参数,可以从图像中提取信息并恢复载体。在接收端,通过下式恢复原始的预测误差,进一步地,秘密信息根据下式提取,图4展示了本方法和其他四种经典的可逆信息隐藏算法的性能对比,即对于512x512大小的灰度图像lena,当嵌入容量从10,000比特到160,000比特时,对嵌入后图像的psnr的比较。其中,圆点实线标识了li等人的原始的基于多直方图修改的方法,可以看到该方法的嵌入容量远小于本方法。对比其他方法,本方法取得了更优的嵌入性能,即嵌入同样多的信息,所造成的图像失真更小。以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1