CN103310406B - 基于直方图对的图像可逆数据隐藏方法 - Google Patents
基于直方图对的图像可逆数据隐藏方法 Download PDFInfo
- Publication number
- CN103310406B CN103310406B CN201310254398.7A CN201310254398A CN103310406B CN 103310406 B CN103310406 B CN 103310406B CN 201310254398 A CN201310254398 A CN 201310254398A CN 103310406 B CN103310406 B CN 103310406B
- Authority
- CN
- China
- Prior art keywords
- data
- histogram
- value
- psnr
- embedding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
基于直方图对的图像可逆数据隐藏方法,本发明属于数据隐藏技术领域,可被应用在医学、法律和军事等敏感领域。本发明方法涉及能影响PSNR的四个参数,通过自动搜索确定出四个最优参数,即同时完成嵌入数据。过程中,当出现嵌入后溢出情况,本发明采取评价函数,自动搜索确定出最优压缩点,并用灰度范围阈值TL(左)和TR(右)作直方图最优调整;在数据嵌入环节,采用正负双向扫描的直方图对方法,逐次预测误差。本发明方法PSNR值高,效率高,视觉效果好。
Description
技术领域
本发明属于数据隐藏技术领域,具体涉及一种无损数据隐藏方法,可被应用在医学、法律和军事等敏感领域。
背景技术
无损数据隐藏是数据隐藏领域的一个分支,它不但能恢复嵌入的隐藏数据,而且数据提取后原始图像也能得到完全恢复。
现有技术中,已有的各种无损数据隐藏方法:
Fridrich的LSB方法,即J.Fridrich等人对图像空域的最不重要位平面(LeastSignificantBit,LSB)进行无损压缩,在压缩后腾出的剩余空间中嵌入比较少的信息量,无损压缩后嵌入,涉及象素太多,嵌入数据量受限制,且嵌入效果PSNR差。
Tian的DifferenceExpansion方法(属于locationmap法),即Tian提出的差分扩展方法,为2x+b方法,是一种奇数偶判别法,将x移动一倍,变成偶数,偶数与奇数形成许多直方图对,都可嵌入数据。但该方法必须排除可能溢出的象素,并用locationmap记录嵌入位置,以防止嵌入前后矛盾,才可无损恢复。排除可能溢出的点,涉及象素太多,locationmap记录偏大。
Ni的MaximumandMinimumPoint方法,为x+b方法,是一种特殊的直方图移位法,可以称为最大最小移位法。最大直方图和最小直方图间的象素灰度扩展移位,在最大直方图处,形成直方图对,嵌入数据。必须记录最小直方图所有象素坐标,才可无损恢复。但该方法的局限是:最大直方图并不是最适合嵌入的地方,记录最小直方图所有象素坐标,占容量大。
2012年11月1日公开的论文《基于预测误差和直方图对的无损数据隐藏方法》(张晓杰等人,计算机应用,2012,32(11):3125-3128)。作为铺垫该论文首先介绍了直方图对的原理,此时属于在空域直接嵌入式的方法,仅适用于嵌入小数据,且性能差。《基于预测误差和直方图对的无损数据隐藏方法》论文,公开了用被测值减去预测值得到预测误差,再将待隐藏数据嵌入到预测误差中的直方图对的无损数据隐藏,在直方图对阈值T的基础上,加入起伏阈值TF,尝试在某设定的两个阈值T、TF参数下进行“自左到右、自上到下,逐次边预测边嵌入”。通过人工多次调整,挑选出最优的阈值参数。该最优阈值应满足:一次能全部嵌入数据,数据嵌入后不存在溢出,且获得最优嵌入效果。这里最优嵌入是指在给定嵌入时得到的PSNR(峰值信噪比PeakSignaltoNoiseRatio)最高。但是,该论文公开的“基于预测误差和直方图对的无损数据隐藏方法”,由于只有二个最优阈值,其阈值T为单阈值,嵌入效率和均匀性不够理想,又由于得到的最优解阈值是通过人工多次试错对比后获得的,具有偶然性,所谓的最优解具有不确定性,非绝对的,且效率低。
发明内容
本发明目的在于克服现有技术的不足,提出一种改进的基于直方图对的图像可逆数据隐藏方法。本发明方法涉及能影响PSNR的四个参数,通过自动搜索确定出四个最优参数,即同时完成嵌入数据。过程中,当出现嵌入后溢出情况,本发明采取评价函数,自动搜索确定出最优压缩点,并用灰度范围阈值TL(左)和TR(右)作直方图最优调整;在数据嵌入环节,采用正负双向扫描的直方图对方法,逐次预测误差。本发明方法PSNR值高,效率高,视觉效果好。
为实现上述目的,本发明给出的技术方案表征为:
一种基于直方图对的图像可逆数据隐藏方法,其特征在于,本方法包括如下步骤:
第(1)步,设置T、TF、TL、TR四个参数,预设一套参数值:
将该四个参数分两组,其中参数T和TF为一组,TL、TR为另一组;每组的参数各预设一个序贯,每个序贯由5个值组成(5*5=25个数值形成数据列阵),用以简化四变量求解最高PSNR。
第(2)步,先取定TR、TL组不变,遍历T、TF组的25种情况:
(2.1)判断是否溢出,如果TL、TR都等于0,则直接进入(2.3)进行逐一迭代方式嵌入数据过程;否则进入(2.2)先进行压缩及进行直方图对调整。
(2.2):采用评价函数P=k1*P1+k2*P2,搜索出图像中合适的象素点,做好位置记录,将记录到的象素点作为压缩点,采用初始的阈值TL和TR作直方图压缩调整,为第三步的嵌入作准备。
(2.3):采用直方图对的方法进行逐一迭代方式嵌入数据,具体流程为:
(2.3.1)根据T的设置,确定两个初始嵌入阈值(tN,tp),开始扫描。
(2.3.2)按起伏阈值TF判断:如果F>TF,跳过当前像素,否则该像素被选中。
(2.3.3)如果被选中,按预测误差pe判断:对于被选中的像素,确定是否嵌入、或不嵌入只扩展,或不变,取决于pe的符号和数值。设待嵌入的二进制数据为bi,取值“0”或“1”。如果pe≥0,有三种情况:(i)pe=tP,嵌入数据。pe=pe+bi。(ii)pe>tp,只扩展:pe=pe+1。(iii)pe为其他值,则不变:pe=pe。如果pe<0,也有三种情况:(i)pe=tN,嵌入数据。pe=pe-bi。(ii)pe<tN,只扩展:pe=pe-1。(iii)pe为其他值,则不变:pe=pe。
(2.3.4.1)如果数据嵌入完成,且无溢出,则记录终点阈值S=tp,或S=tN,并记录终点像素位置,嵌入过程结束,同时计算对应的PSNR值,回到步骤(2.1)。
(2.3.4.2)如果本次扫描已到达末尾,但数据未全部嵌入完,如果tp=tN=0,则记录嵌入失败,标记PSNR值=0,回到步骤(2.1)。否则修改tP和tN,下一个初始阈值T分别为tp-1和tN+1。修改tp和tN的方式是从两边逐步向中间靠拢,下一次扫描,正数减1,即tp-1;而负数加1,即tN+1,再到步骤(2.3.2);
(2.3.4.3)如果出现溢出,记录嵌入失败,标记PSNR值=0,回到步骤(2)。
遍历完T、TF组的25种情况后,对应获得25个PSNR计算结果,形成数据表一,即PSNR计算结果列阵。
第(3)步,取定T、TF组不变,遍历TR、TL组的25种情况:
(3.1)判断是否溢出,如果TL、TR都等于0,则直接进入(3.3)进行逐一迭代方式嵌入数据过程;否则进入(3.2)先进行压缩及直方图对调整。
(3.2):与步骤(2.2)相同。
(3.3)与步骤(2.3)相同。
遍历完TL、TR组的25种情况后,获得对应25个PSNR计算结果,形成数据表二,即PSNR计算结果列阵。
第(4)步,判断是否找到四个阈值并完成嵌入:
如果表一、表二两个数据表面中心PSNR值在所在表中均为最高,则搜索到四个最优阈值,并完成了数据嵌入,嵌入结束;否则回到第(1)步骤重现预设置四个阈值的参数序贯。
第(5)步:
数据的提取是嵌入的逆过程,倒扫描,可以无损恢复。该部分属于现有技术。
基于上述技术方案,与现有技术相比具有突出实质性区别和贡献在于:
1、本发明嵌入方法涉及T,TF,TL和TR四个参数。本领域公知,图像不可能有确切的分析形式数学模型,因此没有分析形式的最优解,只能通过实验取得最优。四个阈值最优是相互影响的,本发明为综合最优方法,本发明获得的解可以认为是全局最优,而不是四个单变量最优方法。若干次反复实验,就能得到最后的结果,这个过程是有规律的,可以按部就班进行,结果正确性是有保证的,效率高。
2、本发明方法,在完成搜索出四个最优参数的同时,也完成了数据的无损嵌入。因此,一旦找到最优参数,即也嵌入完毕。
3、与背景引用文件相比,本发明方法仍属于变换域(预测误差),仍采用逐一迭代的嵌入方式,但改进为“双阈值嵌入”,即每次扫描用正负两阈值(tp和tN),分别对正负预测误差嵌入数据,相对于“单阈值嵌入”,本发明方法双向嵌入数据,使嵌入数据分布更均匀,效率高,嵌入后图像的峰值性噪比更高。
4、本发明方法新增加了TL和TR两个阈值最优选择,不仅保证直方图调整防止灰度范围溢出,而且达到最优压缩,增强了嵌入性能,具有优化PSNR的作用。尤其当嵌入容量大时,最优压缩作用更为明显。
附图说明
以下结合附图对本发明技术方案作进一步说明。
图1是本发明整个方法流程图(四个参数取5个值(5*5=25个数值)为例进行搜索)。
图2为本发明对直方图两边的点进行调整压缩示意图。
图3为直方图例。
图4本发明方法中数据嵌入图像的流程图。
图5为本发明方法中数据提取和图像恢复的流程图。
图6为效果说明及验证之woman图(嵌入前后视觉对比)。
图7为效果说明及验证之woman图(嵌入质量曲线对比)。
图8为效果说明及验证之lena图(嵌入前后视觉对比)。
图9为效果说明及验证之lena图(嵌入质量曲线对比)。
具体实施方式
以下以具体的实施例以及附图对本发明技术方案作更为详细的介绍。
如图1所示为本发明方法的整个流程示意图,整个方法过程参见“发明内容”,不做重复性描述。该方法的实现可以是通过软件MATLAB运行即可完成。
本实施例的四个参数(T,TF,TL,TR),每个参数选五个序贯数据,共20个数。所述序贯数据,例如1,3,5,7,9,又例如3,5,7,9,11,选择的序贯数据可以是随机的。T、TF为第一组,TR、TL为第二组,由此分两组,形成两个5*5参数平面,依此进行PSNR计算。两组各有25个,共50个结果。以上为一次搜索。任何一个结果,有三种可能:(A)求得PSNR。(B)数据不够嵌入---失败之一。(C)产生溢出---失败之二。每当50个结果结束,检查PSNR分布:如果最高的PSNR,未处在该两组5*5参数平面各自的中点,继续下一次搜索。该两组来回搜索若干次,最终能获得最高的PSNR,处在两个5*5参数平面的中点。此时,搜索完成,嵌入也同时完成。
具体说,先调整第一组5*5(25种)的T和TF,使最优值在PSNR计算结果列阵中间地方(调整第一组时,TL和TR采用的是第二组的5*5列阵中间的TL和TR)。然后在新调整好第一组T和TF基础上(通常T和TF调整后,TL和TR最优值会移动),再调整第二组的5*5(25种)TL和TR,使最优值移动到PSNR计算结果列阵中间地方(调整第二组时,第一组T和TF采用的是上一次新调整的第二组的5*5(25种)中间值)。上述过程来回几次,一直到两边最优值都在PSNR计算结果列阵中间地方。若干次后可以完成。对于12种数据容量(0.01bpp~o.7bpp),每种数据容量做50个PSNR解(25个为T和TF,另外25个是TL和TR),共计600个数据,MATLAB程序是一次完成的。
效果说明及验证:
本发明在两张BMP图像上作数据(分别压缩至最短的嵌入容量为0.7bpp的纯随机数据)无损嵌入,都能获得比以前任何方法更高的PSNR。
例(1)woman
·最优参数条件下的woman图,嵌入前后视觉对比如图6所示。嵌入质量曲线,如图7所示。
例(2)Lena
·最优参数条件下嵌入至Lena图,嵌入前后视觉对比如图8所示。嵌入质量曲线如图9所示。
以下对本发明方法中若干关键步骤作详细介绍。
一、T、TF、TL、TR四个参数
本发明方法涉及T、TF、TL、TR四个最优阈值,四个最优阈值均存在最优选择。T、TF的定义及作用与背景技术引用文件相同。其中:
(A)T是嵌入幅度选择,是直方图对方法的关键参数,“嵌入量大小得益”和“形成直方图对的花费”之间,存在折衷选择,就是最优T的选择。
嵌入阈值的初始值T的取值:预测误差可能值得是在两个灰度差即(-255)到(+255)皆可能,因此嵌入阈值的初始值T的取值理论上最大可达为(-255)~(+255)。实际上大多数在小范围内取值。如嵌入阈值的初始值T=5,每次扫描取一对(小框):嵌入阈值的小框系列为达到嵌入数据长度,就停止嵌入(不一定到达0)。如果系列到达0,给定的嵌入容量还未嵌入完,必须重新选择T。例如T=-6,系列为
(B)TF是嵌入区域选择,选择分布最尖的区域(熵最小,或灰度起伏最小区域),PSNR最大。但起伏最小区域有限,影响最大嵌入容量。而且起伏小使嵌入区域受限制,嵌入幅度T选择余地相应减少,影响PSNR的提高。
起伏阈值的TF的取值:总是正数。理论上最小为1,最大发生在8个领域四个灰度为(+255),另外四个灰度(0),F大约为8乘上127的平方。实际上TF的取值范围很广,从1到几万。
(C)TL和TR是嵌入灰度范围选择。不仅起防止溢出的作用,对PSNR还有优化作用,尤其是嵌入容量大时其最优化作用就更为明显。
灰度直方图调整的TL、TR的取值:总是正数。理论上最小为0,最大为254。实际上大多数在小范围内取值,通常小于10,也有更小或更大些的。
二、嵌入过程中出现溢出情况,本发明方法采用搜索最优嵌入点并进行直方图对调整。
设定评价函数通过搜索方法找出直方图最佳压缩位置,设定TL、TR参数进行直方图对调整和压缩,然后设定T、TF阈值进行嵌入尝试,遍历后分别求出的嵌入后的PSNR解,筛选出最高PSNR解,该解下即对应的四个阈值参数即为最优值,同时完成数据嵌入。
本发明公开了最佳压缩位置搜索方法,即确定最佳位置(挑选出最优的序列用于压缩)来进行直方图调整,压缩选择时,适当靠近边缘且选择数值较小的直方图进行压缩,并且用评价函数定量地选择,压缩后再移位,形成边缘空格。如此找出最好的压缩位置,减少要移位的像素的个数,这样可以减小合并时所产生的失真,如此,突破原来仅考虑选择直方图两边的点进行调整压缩。对直方图两边的点进行调整压缩后如图2(a)所示。
本发明公开了最佳压缩位置搜索方法,找到最好的地方进行压缩,减少移位和记录量,判断依据有两个判断标准:
判断标准一,压缩这个点需要多少个记录,所需记录越少越好。如图3所示直方图为例,如果选择灰度0压缩需要记录0,1两个灰度,则总共需要记录11bit。如果选择灰度1压缩需要记录1,2两个灰度,则总共需要记录8bit。对比之,会优选灰度1点来压缩。
判断标准二,压缩这个点会造成多少个点移动,涉及移动点越少越好。例如图3所示的直方图,如果选择灰度0压缩需要把0移动到1上,总共造成了10个点移动。如果选择灰度1压缩需要把0移动到1上,1移动到2上,总共造成了10+1=11个点移动。对比之,会优选灰度0点来压缩。
假设被压缩象素点的灰度为g,g值范围0—255,TL、TR分别表示向左或者向右压缩该灰度值g的象素个数。在这点压缩需要记录N(g)+N(g+1)个bit,N表示直方图分布,令P1=N(g)+N(g+1)。在g点压缩会造成N(0)+N(1)+…+N(g)个点的移动,令P2=N(0)+N(1)+…+N(g)。P1越小,P2越小,则表示压缩这个点越好。但是这两个值有时候是矛盾的,P1小了,P2可能大。
为此,利用上述变量P1,P2来定义一个评价函数,采用该评价函数来判断选中哪个点来压缩。设评价函数P=k1*P1+k2*P2,P越小表示这个点压缩越好。系数k表示权值,即p1、p2这两种变化会对PSNR影响之间的比列。因为如果单以psnr为标准来选择最优点的话,会使计算的量很大,所以本发明选择用上述两个标准来判断,而这两个标准对PSNR的影响各不一样,因此用K系数表示各自对PSNR的影响程度。
例如,在实验中,k1=5,k2=1。
那么,如果在左边压缩,那么灰度0,1,2……6的评价函数的取值为:P[0]=65,P[1]=51,P[2]=128,P[3]=123,P[4]=61,P[5]=53,P[6]=74。
p[0]=5*11+1*10=65,其中p1=11,表示要记录0,1两个灰度共11bit;p2=10,表示要移动10bit。
P[1]=5*8+1*11其中p1=8,表示要记录1,2两个灰度,p2=11,要将1移动到2,0移动到1,需要移动11bit。
(P[3]=123,P[4]=61,P[5]=53,P[6]=74计算过程不再赘述)
因此,如果左边需要压缩一位的话,那么选择灰度g=1,如果需要压缩两位的话,那么选择g=1,5两个灰度来压缩,依此类推。
同理,在右边压缩的时候,评价函数取值为:P[1]=90,P[2]=74,P[3]=137,P[4]=102,P[5]=34,P[6]=22,P[7]=41。因此,如果在右边压缩一位,那么选择灰度g=5进行压缩,如果右边需要压缩两位,选择灰度g=5,6进行压缩。
因此,被压缩灰度g,由评价函数决定,根据评价函数,选中一些灰度来进行压缩。
实际的应用中,每次先选择一个最优点,只压缩一位,然后再次求评价函数,再次选最优的点压缩,重复这个过程直到压缩到指定的要求。这样做的好处是,每一次找出来的都是最好的。实验中采用先压缩左边,后压缩右边。
例如,要嵌入的数据容量很大,光压缩了9还不够,还得再次压缩,一般情况就是压缩8,但是8因为刚刚把9合并到了8上,它的个数变多了,这时8就不一定是最好的压缩点了。所以本发明再次求评价函数再次搜索最优点,直到能够把需要嵌入的信息都嵌入。
k1,k2选择讨论:
(1)k1≠0,k2=0。这时候评价函数完全由记录点的长度决定,压缩时会选择记录最短的一组点进行压缩,这个时候需要的记录最少。
(2)k1=0,k2≠0,由于P2是随着灰度单调递增,所以这种情况就是采用已有技术原来的压缩办法,在最两边压缩。
(3)k1≠0,k2≠0。这时候兼顾了记录点的长度和移动点的影响。如果边上的灰度很少,那么会优先选择边上的点。如果边上的灰度很多,会往里面选择适合压缩的点。
因此,综上采用设评价函数搜索出图像中合适的象素点,做好位置记录,将记录到的象素点作为压缩点,采用待测初始的阈值TL和TR作直方图压缩调整,TL和TR代表压缩的象素灰度个数,压缩进行后即完成了直方图调整。压缩后图像直方图后如图2(b)所示。
三、在沿用张晓杰方法采用逐一迭代嵌入数据的同时,采用双阈值,克服不均匀问题。数据嵌入图像的流程如图4所示,嵌入扩展后图像直方图如图2(c)所示。
通过阈值T、TF来判断当前像素是否被选中,若选中则采用直方图对的方法进行数据嵌入,而未被选中的部分不做改动,部分需要扩展。对于一个象素,采用3*3窗口的八领域取得预测误差,嵌入数据后,按扫描方向移动一位,下一个3*3窗口的8领域包括前次嵌入的结果,采用逐一迭代方式嵌入数据。在每个3*3窗口嵌入同时,必须随时返回原始图像检查图像灰度是否溢出。
计算嵌入数据长度L,图像像素数N。嵌入过程是在扫描中进行:从左往右,从上往下扫描整张图像。对于每一个像素,3*3窗口:
预测误差(Predictionerror):(与x直接有关)
起伏值(fluctuationvalue)和平均值:(与x没有直接关系,只是与领域值相关)
所述逐一迭代方式嵌入数据的具体流程为:
(2.1)设定初始参数:选择嵌入阈值T和起伏阈值TF。其中根据T的设置,确定两个初始嵌入阈值(tN,tp)。
(2.2)按起伏阈值TF判断:如果F>TF,跳过当前像素,否则该像素被选中。
(2.3)按预测误差pe判断:对于(2.2)被选中的像素,确定是否嵌入、或不嵌入只扩展,或不变,取决于pe的符号和数值。设待嵌入的二进制数据为bi,取值“0”或“1”。如果pe≥0,有三种情况:(i)pe=tp,嵌入数据。pe=pe+bi。(ii)pe>tp,只扩展:pe=pe+1。(iii)pe为其他值,则不变:pe=pe。如果pe<0,也有三种情况:(i)pe=tN,嵌入数据。pe=pe-bi。(ii)pe>tN,只扩展:pe=pe-1。(iii)pe为其他值,则不变:pe=pe。
(2.4)是否继续,要看数据是否嵌入完还是本次扫描已到达末尾。
(2.4.1)如果数据嵌入完成(嵌入数据长度L),则将则记录终点阈值S=tp,或S=tN,并记录终点像素位置,以备作恢复图像的起点,同时更新当前像素值,从而得到嵌入后图像,嵌入过程结束。计算对应的PSNR值。
(2.4.2)如果本次扫描已到达末尾(图像像素数N),但数据未全部嵌入完,虽未溢出但未能一次性嵌入完毕时,所述通过重新设定初始阈值T和TF来克服之:此时采用下一个初始阈值T,T是正负交替,绝对值逐步减小,直到全部数据嵌入完毕,即修改tp和tN,下一个初始阈值T分别为tp-1和tN+1。修改tp和tN的方式是从两边逐步向中间靠拢,下一次扫描,正数减1,即tp-1;而负数加1,即tN+1。
T的取值:嵌入时T是正负交替,先正后负,绝对值逐步减小,如T=+5,-5,+4,-4,+3,-3,+2,-2,+1,-1,0。T最后不一定是0,只要嵌入数据完后即停止,记录S。提取时,从S开始,正负交替,但方向相反,绝对值逐步增加。
[tN,tp]的取值:如果T从正开始,则[tN,tp]=[-T,T]。例如T为5,,[tN,tp]=[-5,+5],[-4,+4],[-3,+3],...。如果T从负开始,则[tN,tp]=[T,-T-1]。例如T为-5,,[tN,tp]=[-5,+4],[-4,+3],[-3,+2],...。
(2.4.3)如果当回空域发现溢出,此时可以通过修改TL和TR重新进行直方图调整或者重新设定初始阈值T和TF方式来解决,然后重新完成一次性全部嵌入完毕。计算对应的PSNR值。
四、数据的提取,属现有技术。
数据的提取是嵌入的逆过程,倒扫描,可以无损恢复。直方图对无损数据隐藏的数据提取和图像恢复的流程图,如图5。本发明“顺向逐一迭代扫描嵌入,反向扫描提取”的特点与引用文件张晓杰论文方法相同。
在数据恢复的时候,要按照与嵌入数据相反的顺序进行提取,即自右向左,自下向上的顺序。对于图像中的最后一个3×3窗口,八邻域的灰度值在嵌入数据和提取数据时保持不变,所以可以算出预测值,进而得到预测误差和起伏值。通过阈值TF可以知道哪些点在嵌入过程中被选中。得到被选中的点后,按照直方图对方法的数据提取算法就可以提取到嵌入的数据,并且可以无损恢复原始图像。
Claims (1)
1.一种基于直方图对的图像可逆数据隐藏方法,其特征在于,本方法包括如下步骤:
第(1)步,设置T、TF、TL、TR四个参数,T是嵌入阈值,TF是起伏阈值,TL是直方图左压缩阈值,TR是直方图右压缩阈值,预设一套参数值:
将该四个参数分两组,其中参数T和TF为一组,TL、TR为另一组;每组的参数各预设一个序贯,每个序贯由5个值组成5*5=25个数值形成数据列阵,用以简化四变量求解最高PSNR;
第(2)步,先取定TR、TL组不变,遍历T、TF组的25种情况:
(2.1)判断是否溢出,如果TL、TR都等于0,则直接进入(2.3)进行逐一迭代方式嵌入数据过程;否则进入(2.2)先进行压缩及进行直方图对调整;
(2.2)采用评价函数P=k1*P1+k2*P2,其中:P1表示压缩像素点需要的记录量,P2表示压缩像素点造成的移动像素数,k1表示P1的权重系数,k2表示P2的权重系数,搜索出图像中合适的象素点,做好位置记录,将记录到的象素点作为压缩点,采用初始的阈值TL和TR作直方图压缩调整;
(2.3)采用直方图对的方法进行逐一迭代方式嵌入数据,具体流程为:
(2.3.1)根据T的设置,确定两个初始嵌入阈值(tN,tP),开始扫描;
(2.3.2)按起伏阈值TF判断:如果F>TF,F表示像素灰度起伏值,TF表示像素灰度起伏阈值,跳过当前像素,否则该像素被选中;
(2.3.3)如果被选中,按预测误差pe判断:对于被选中的像素,确定是否嵌入、或不嵌入只扩展,或不变,取决于pe的符号和数值;设待嵌入的二进制数据为bi,取值“0”或“1”,
如果pe≥0,有三种情况:(i)pe=tP,嵌入数据,pe=pe+bi;(ii)pe>tP,只扩展:pe=pe+1;(iii)pe为其他值,则不变:pe=pe;
如果pe<0,也有三种情况:(i)pe=tN,嵌入数据,pe=pe-bi;(ii)pe<tN,只扩展:pe=pe-1;(iii)pe为其他值,则不变:pe=pe;
(2.3.4.1)如果数据嵌入完成,且无溢出,则记录终点阈值S=tP,或S=tN,并记录终点像素位置,嵌入过程结束,同时计算对应的PSNR值,回到步骤(2.1);
(2.3.4.2)如果本次扫描已到达末尾,但数据未全部嵌入完,如果tP=tN=0,则记录嵌入失败,标记PSNR值=0,回到步骤(2.1);否则修改tP和tN,下一个初始阈值T分别为tp-1和tN+1,修改tP和tN的方式是从两边逐步向中间靠拢,下一次扫描,正数减1,即tp-1;而负数加1,即tN+1,再到步骤(2.3.2);
(2.3.4.3)如果出现溢出,记录嵌入失败,标记PSNR值=0,回到步骤(2);
遍历完T、TF组的25种情况后,对应获得25个PSNR计算结果,形成数据表一,即PSNR计算结果列阵;
第(3)步,取定T、TF组不变,遍历TR、TL组的25种情况:
(3.1)判断是否溢出,如果TL、TR都等于0,则直接进入(3.3)进行逐一迭代方式嵌入数据过程;否则进入(3.2)先进行压缩及直方图对调整;
(3.2):与步骤(2.2)相同;
(3.3)与步骤(2.3)相同;
遍历完TL、TR组的25种情况后,获得对应25个PSNR计算结果,形成数据表二,即PSNR计算结果列阵;
第(4)步,判断是否找到四个阈值并完成嵌入:
如果表一、表二两个数据表面中心PSNR值在所在表中均为最高,则搜索到四个最优阈值,并完成了数据嵌入,嵌入结束;否则回到第(1)步骤重现预设置四个阈值的参数序贯;
第(5)步:
数据的提取是嵌入的逆过程,倒扫描。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310254398.7A CN103310406B (zh) | 2013-06-25 | 2013-06-25 | 基于直方图对的图像可逆数据隐藏方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310254398.7A CN103310406B (zh) | 2013-06-25 | 2013-06-25 | 基于直方图对的图像可逆数据隐藏方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103310406A CN103310406A (zh) | 2013-09-18 |
CN103310406B true CN103310406B (zh) | 2016-04-06 |
Family
ID=49135584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310254398.7A Expired - Fee Related CN103310406B (zh) | 2013-06-25 | 2013-06-25 | 基于直方图对的图像可逆数据隐藏方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103310406B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107533768B (zh) | 2015-06-23 | 2021-07-30 | 惠普发展公司有限责任合伙企业 | 基于目标颜色空间范围的图像直方图压缩端点对选择 |
CN107888922B (zh) * | 2017-11-20 | 2019-12-20 | 西安空间无线电技术研究所 | 用于jpeg-ls无损压缩算法防码流溢出的图像预处理方法及装置 |
CN110362964B (zh) * | 2019-06-05 | 2021-06-01 | 北京大学 | 一种基于多直方图修改的高容量可逆信息隐藏方法 |
CN110351450B (zh) * | 2019-07-16 | 2022-01-11 | 广东工业大学 | 基于纵横交叉算法进行多直方图选点的可逆信息隐藏方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103123720A (zh) * | 2013-03-13 | 2013-05-29 | 中南大学 | 基于差值图像直方图循环平移的无损数据隐藏方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8260065B2 (en) * | 2006-05-08 | 2012-09-04 | New Jersey Institute Of Technology | Data hiding with wavelet transform histogram shifting |
-
2013
- 2013-06-25 CN CN201310254398.7A patent/CN103310406B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103123720A (zh) * | 2013-03-13 | 2013-05-29 | 中南大学 | 基于差值图像直方图循环平移的无损数据隐藏方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103310406A (zh) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111754403B (zh) | 一种基于残差学习的图像超分辨率重构方法 | |
CN114943963B (zh) | 一种基于双分支融合网络的遥感图像云和云影分割方法 | |
US10346997B2 (en) | Depth estimation method based on light-field data distribution | |
CN103310406B (zh) | 基于直方图对的图像可逆数据隐藏方法 | |
EP2209090B1 (en) | Image restoring apparatus and method thereof | |
CN103475876B (zh) | 一种基于学习的低比特率压缩图像超分辨率重建方法 | |
CN102113017A (zh) | 使用边缘检测产生深度数据的系统及方法 | |
CN103413286A (zh) | 一种基于学习的高动态范围与高分辨率图像联合重建方法 | |
CN111028165B (zh) | 一种基于raw数据抵抗相机抖动的高动态图像恢复方法 | |
CN1197383C (zh) | 用于识别数字视频图像中像块伪痕的方法和装置 | |
CN109978763A (zh) | 一种基于跳跃连接残差网络的图像超分辨率重建算法 | |
CN104123705A (zh) | 一种超分辨率重建图像质量Contourlet域评价方法 | |
CN111626927A (zh) | 采用视差约束的双目图像超分辨率方法、系统及装置 | |
CN110349087A (zh) | 基于适应性卷积的rgb-d图像高质量网格生成方法 | |
CN112381733B (zh) | 面向图像恢复的多尺度神经网络结构搜索方法及网络应用 | |
CN108460795A (zh) | 倒金字塔式双目立体匹配方法及系统 | |
CN116030357A (zh) | 一种高分辨率遥感图像变化检测深度网络及检测方法 | |
CN114998099A (zh) | 一种基于图像预训练策略的图像超分辨率方法 | |
US20090122189A1 (en) | Method of Identifying Target Synchronization Point Pair through Scan-line Image Matching Scheme | |
CN112734645A (zh) | 一种基于特征蒸馏复用的轻量化图像超分辨率重建方法 | |
US8634671B2 (en) | Methods and apparatus to perform multi-focal plane image acquisition and compression | |
CN117132472B (zh) | 基于前向-反向可分离自注意力的图像超分辨率重建方法 | |
CN110111270A (zh) | 实现彩色图像对比度增强的可逆数据隐藏方法和恢复方法 | |
CN103400394A (zh) | 基于特征导向变分光流的视频超分辨率方法 | |
CN110705499A (zh) | 一种基于迁移学习的人群计数方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160406 Termination date: 20190625 |