一种基于直方图的鲁棒信息隐藏传输方法

文档序号:7795468阅读:215来源:国知局
一种基于直方图的鲁棒信息隐藏传输方法
【专利摘要】本发明公开了一种基于直方图的鲁棒信息隐藏传输方法,主要用来在图像中进行无损信息隐藏。目前典型的无损信息隐藏算法是基于直方图移位的方法,该方法会因为图像压缩或图像传输的差错造成秘密信息无法提取,完全不具备鲁棒性。本发明提出了一种全新的方法,通过寻找直方图峰值、搜索鲁棒区间、进行直方图峰值点本身的替换等处理,不需要直方图移位,使得直方图方法具有了明显的鲁棒性,能对抗2~8倍JPEG2000方法的压缩。该方法复杂度低,易于实现,有利于提取信息后载体图像的高质量恢复。
【专利说明】一种基于直方图的鲁棒信息隐藏传输方法
【技术领域】
[0001]本发明涉及一种图像通信的方法,特别涉及一种信息隐藏传输的方法,属于通信(如数据通信技术等)领域。
【背景技术】
[0002]随着科技的发展,图像数据传输效率以及传输的安全性变得越来越重要。通过信息隐藏(也称数据隐藏)技术可以做到在不改变图像大小的情况下,在图像中嵌入秘密信息进行传输,从而实现秘密信息和图像的传输。
[0003]对于遥感图像、医学图像和法律图像等要求在提取秘密信息后载体图像能够尽可能的恢复。在此需求下产生了可逆信息隐藏算法,也称无损信息隐藏算法。无损信息隐藏算法不仅可以正确提取秘密信息,还能无损的恢复载体图像。
[0004]目前典型的无损信息隐藏算法是基于直方图移位的方法。但基于直方图移位的方法要求隐藏秘密信息的含密图像在传输过程中不能发生变化,即使发生很小的变化,接收端也不能正确的提取秘密信息。然而随着图像分辨率的提高,图像传输前往往要采用数据压缩技术(最有代表性的是JPEG2000图像压缩标准)对图像进行有损压缩,从而造成图像特性的改变,使直方图移位的方法不能正确的提取信息。也就是说,目前基于直方图移位的信息隐藏方法会因为图像传输时的改变造成秘密信息无法提取,完全不具备鲁棒性。

【发明内容】

[0005]本发明解决的技术问题是:克服现有技术的不足,提供一种基于直方图的鲁棒信息隐藏传输方法,解决了常规直方图移位信息隐藏算法不具备鲁棒性的问题。
[0006]本发明的技术方案是:一种基于直方图的鲁棒信息隐藏传输方法,步骤如下:
[0007]I)获得待处理的输入图像的像素统计直方图,令X代表输入图像的灰度值,X e [0,255],$h(x)代表输入图像的统计直方图中取值为X的样本个数;设直方图的峰值为h (p),峰值点灰度值为P ;
[0008]2)设置d为鲁棒区间的门限值,d≥I ;设置直方图值的门限T,T初始值为0,寻找鲁棒区间A和B ;
[0009]21)在[0,255]区间内搜索直方图h (X),把其中h (X)≥T对应的x放入集合SI中;将集合Si中元素从小到大排列得到集合S,集合S中的元素个数为k ;
[0010]22)寻找集合S中的最大的两个连续区间A和B,其中区间A和区间B内的元素按自然数规律递增,区间A和区间B的长度分别为dl和d2,其中dl ^ d2 ;若集合S中只存在一个连续区间则将该区间分成A和B两个区间:当k为偶数时,dl=d2=k/2 ;当k为奇数时,dl=(k+l)/2, d2=(k-l)/2 ;若d2〈d,则T=T+1,返回步骤21 ),重新寻找区间A和区间B ;若d2≥d,则将此时的区间A和区间B作为寻找出的鲁棒区间A和鲁棒区间B ;
[0011]3)将鲁棒区间A、B内的直方图不为O的灰度值分别改为yl、y2,所述的yl、y2分别为距离区间A、B最近的灰度值;设区间A内1/2位置对应的灰度值为Si,区间B内1/2位置对应的灰度值为s2 ;
[0012]4)将经过步骤3)变更后的新的输入图像内的像素进行扫描,搜索灰度值为P的点并且将灰度值为P的点定义为信息嵌入点;若待嵌入信息为1,则将该信息嵌入点的值置为Si,若待嵌入信息为0,则将该信息嵌入点的值为s2 ;直至所有信息嵌入点都嵌入信息;
[0013]5)信息接收端接收含有嵌入信息的输入图像,并生成统计直方图;
[0014]6)设含有嵌入信息的输入图像中嵌入信息为I的数量为NI,R=O, N1、R为均正整数;计算获得灰度值区间[sl-R,sl+R]之间像素的个数m,若m〈Nl,则R=R+1,重复计算灰度值区间[sl-R, sl+R]之间像素的个数,直到m ^ NI ;此时的灰度值区间[sl-R, sl+R]为嵌入信息为I的直方图区间;设含有嵌入信息的输入图像中嵌入信息为O的数量为NO,L=O, NO、L均为正整数;计算获得灰度值区间[sO-L,sO+L]之间像素的个数n,若η〈Ν0,则L=L+1,重复计算灰度值区间[sO-L, sO+L]之间像素的个数n,直到η≥NO,此时的灰度值区间[sO_L, sO+L]为嵌入彳目息为O的直方图区间;
[0015]7)扫描含有嵌入信息的输入图像像素,若当前灰度值X e [sl_R,sl+R],则提取嵌入/[目息I,并恢复原像素X=P ;若当如灰度值X e [sO-L, sO+L],则提取嵌入彳目息O,并恢复原像素X=p ;其他情况X保持不变;最终恢复原输入图像并提取嵌入信息。
[0016]本发明与现有技术相比的有益效果是:
[0017](I)目前方法需要将位于直方图峰值点和零值点的像素都移位,本发明采用的隐藏方法首次采用峰值点像素替换的策略,避免了大量像素的移位;
[0018](2)目前方法 只利用了图像直方图存在的单个零值点,本发明采用替换策略产生了呈连续区间的零值点,并充分利用该特点提高了直方图算法的性能;本发明在图像直方图中搜索鲁棒区间,信息的隐藏处于鲁棒区间中,使基于直方图的隐藏方法具备了鲁棒性;
[0019](3)本发明在提取信息时,鲁棒区间内的像素都是峰值点像素,在提取后峰值点像素均可以恢复,提高了载体图像的恢复质量;
[0020](4)本发明嵌入信息后,含密图像中不存在位于直方图峰值点的像素,如果在提取秘密信息是发现仍有像素位于直方图的峰值点,说明含密图像已被改变。因此,本发明提供了一种检测图像灰度值改变的方法;
[0021](5)本发明嵌入信息后,由于含密图像中不存在位于直方图峰值点的像素,因此若在提取秘密信息时发现仍有像素位于峰值点,则说明该像素的值是由相近的灰度值改变而来的,此种情况可以利用原始载体图像的局部相关性,在恢复时根据原始载体图像的相邻像素相关性进行预测、插值进行图像恢复,恢复原始灰度值,提高载体图像恢复质量;
[0022]( 6 )目前方法直方图的移位几乎涉及到图像所有像素,实现复杂,本发明只改变位于峰值点的像素,复杂度低,易于实现,改变像素少也有利于提取信息后载体图像质量的恢复。
[0023](7)本发明嵌入信息后,含密图像中不再存在值为直方图峰值的像素,在提取信息时,可以根据含密图像直方图估计峰值点,解决了峰值点传输的问题。
【专利附图】

【附图说明】
[0024]图1为本发明流程图。【具体实施方式】
[0025]下面就结合附图对本发明做进一步介绍。
[0026]本发明一种基于直方图的鲁棒信息隐藏传输方法,步骤如下:
[0027]I)获得待处理的输入图像的像素统计直方图,令X代表输入图像的灰度值,X e [0,255],$h(x)代表输入图像的统计直方图中取值为X的样本个数;设直方图的峰值为h (p),峰值点灰度值为P ;
[0028]2)设置d为鲁棒区间的门限值,d≥I ;设置直方图值的门限T,T初始值为0,寻找鲁棒区间A和B ;
[0029]21)在[0,255]区间内搜索直方图h (X),把其中h (X)≤T对应的x放入集合SI中;将集合Si中元素从小到大排列得到集合S,集合S中的元素个数为k ;
[0030]22)寻找集合S中的最大的两个连续区间A和B,其中区间A和区间B内的元素按自然数规律递增,区间A和区间B的长度分别为dl和d2,其中dl ^ d2 ;若集合S中只存在一个连续区间则将该区间分成A和B两个区间:当k为偶数时,dl=d2=k/2 ;当k为奇数时,dl=(k+l)/2, d2=(k-l)/2 ;若(12〈(1,则T=T+1,返回步骤21),重新寻找区间A和区间B ;若d2≥d,则将此时的区间A和区间B作为寻找出的鲁棒区间A和鲁棒区间B ;
[0031]3)将鲁棒区间A、B内的直方图不为O的灰度值分别改为yl、y2,所述的yl、y2分别为距离区间A、B最近的灰度值;设区间A内1/2位置对应的灰度值为Si,区间B内1/2位置对应的灰度值为s2 ;
[0032]4)将经过步骤3)变更后的新的输入图像内的像素进行扫描,搜索灰度值为P的点并且将灰度值为P的点定义为信息嵌入点;若待嵌入信息为1,则将该信息嵌入点的值置为Si,若待嵌入信息为0,则将该信息嵌入点的值为s2 ;直至所有信息嵌入点都嵌入信息;
[0033]5)信息接收端接收含有嵌入信息的输入图像,并生成统计直方图;
[0034]6)设含有嵌入信息的输入图像中嵌入信息为I的数量为NI,R=O, N1、R为均正整数;计算获得灰度值区间[sl-R,sl+R]之间像素的个数m,若m〈Nl,则R=R+1,重复计算灰度值区间[sl-R, sl+R]之间像素的个数,直到m ^ NI ;此时的灰度值区间[sl-R, sl+R]为嵌入信息为I的直方图区间;设含有嵌入信息的输入图像中嵌入信息为O的数量为NO,L=O, NO、L均为正整数;计算获得灰度值区间[sO-L,sO+L]之间像素的个数n,若η〈Ν0,则L=L+1,重复计算灰度值区间[sO-L, sO+L]之间像素的个数n,直到η≥NO,此时的灰度值区间[sO_L, sO+L]为嵌入彳目息为O的直方图区间;
[0035]7)扫描含有嵌入信息的输入图像像素,若当前灰度值X e [sl-R, sl+R],则提取嵌入/[目息I,并恢复原像素X=P ;若当如灰度值X e [sO-L, sO+L],则提取嵌入彳目息O,并恢复原像素X=p ;其他情况X保持不变;最终恢复原输入图像并提取嵌入信息。
[0036]为了验证本文提出的算法的性能,实验采用了多幅大小为512X512的8比特灰度图像进行了仿真。隐藏容量以bit为单位;图像质量的衡量采用峰值信噪比(PSNR),单位为dB.[0037]仿真结果如下表所示:[0038]
【权利要求】
1.一种基于直方图的鲁棒信息隐藏传输方法,其特征在于步骤如下: O获得待处理的输入图像的像素统计直方图,令X代表输入图像的灰度值,X e [O,255],令h (X)代表输入图像的统计直方图中取值为X的样本个数;设直方图的峰值为h (p),峰值点灰度值为P ; 2)设置d为鲁棒区间的门限值,I;设置直方图值的门限T,T初始值为O,寻找鲁棒区间A和B ; 21)在[O,255]区间内搜索直方图h(x),把其中h(x)≤T对应的X放入集合SI中;将集合SI中元素从小到大排列得到集合S,集合S中的元素个数为k ; 22)寻找集合S中的最大的两个连续区间A和B,其中区间A和区间B内的元素按自然数规律递增,区间A和区间B的长度分别为dl和d2,其中dl ^ d2 ;若集合S中只存在一个连续区间则将该区间分成A和B两个区间:当k为偶数时,dl=d2=k/2 ;当k为奇数时,dl=(k+l)/2, d2=(k-l)/2 ;若d2〈d,则T=T+1,返回步骤21),重新寻找区间A和区间B ;若d2≥d,则将此时的区间A和区间B作为寻找出的鲁棒区间A和鲁棒区间B; 3)将鲁棒区间A、B内的直方图不为O的灰度值分别改为yl、y2,所述的yl、y2分别为距离区间A、B最近的灰度值;设区间A内1/2位置对应的灰度值为Si,区间B内1/2位置对应的灰度值为s2 ; 4)将经过步骤3)变更后的新的输入图像内的像素进行扫描,搜索灰度值为P的点并且将灰度值为P的点定义为信息嵌入点;若待嵌入信息为1,则将该信息嵌入点的值置为Si,若待嵌入信息为O,则将该信息嵌入点的值为S2 ;直至所有信息嵌入点都嵌入信息; 5)信息接收端接收含有嵌入信息的输入图像,并生成统计直方图; 6)设含有嵌入信息的输入图像中嵌入信息为I的数量为NI,R=O,N1、R为均正整数;计算获得灰度值区间[sl_R,sl+R]之间像素的个数m,若m〈Nl,则R=R+1,重复计算灰度值区间[sl-R,sl+R]之间像素的个数,直到m≥NI ;此时的灰度值区间[sl_R,sl+R]为嵌入信息为I的直方图区间;设含有嵌入信息的输入图像中嵌入信息为O的数量为N0,L=0,N0、L均为正整数;计算获得灰度值区间[sO-L,sO+L]之间像素的个数n,若η〈Ν0,则L=L+1,重复计算灰度值区间[sO-L,sO+L]之间像素的个数n,直到η≥NO,此时的灰度值区间[sO-L, sO+L]为嵌入彳目息为O的直方图区间; 7)扫描含有嵌入信息的输入图像像素,若当前灰度值Xe [sl-R,sl+R],则提取嵌入信息I,并恢复原像素X=P ;若当如灰度值X e [sO-L, sO+L],则提取嵌入信息O,并恢复原像素X=P ;其他情况X保持不变;最终恢复原输入图像并提取嵌入信息。
【文档编号】H04N19/467GK103795889SQ201410022840
【公开日】2014年5月14日 申请日期:2014年1月17日 优先权日:2014年1月17日
【发明者】周诠, 方海, 张怡, 呼延烺, 李静玲, 崔涛 申请人:西安空间无线电技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1