基于非对称直方图修改的可逆信息隐藏方案

2018-05-29 07:36吕志恒刘磊陈思殷赵霞
网络与信息安全学报 2018年5期
关键词:像素点直方图秘密

吕志恒,刘磊,陈思,殷赵霞

(安徽大学计算机科学与技术学院,安徽 合肥 230000)

1 引言

随着信息技术的发展和互联网的普及,大量数据在互联网中传播,继而人们发现了信息在互联网的传播中可能会产生安全性问题,为了保护信息在互联网中传播的安全性,信息隐藏技术应运而生。可逆信息隐藏技术作为信息隐藏技术的一个分支,不仅具有精确提取含密图像中秘密信息的特点,还具有完美恢复原始图像本身的能力。这一特性在某些特殊场景中很重要,如医学影像、军事图像和法律取证,在这些场景下原始图像太过珍贵和重要而不能被损坏。

在过去的几十年中,大量的可逆信息隐藏技术被提出,大致分为3种类型:基于无损压缩的方法[1]、基于差分扩展的方法[2,3]和基于直方图平移的方法[4~6]。

基于无损压缩的方法是利用主机图像的统计冗余来执行无损压缩,以便创建备用空间以容纳附加的秘密信息。在基于差分扩展的方法中,2个相邻像素之间的差异被加倍,从而生成不携带任何原始信息的最低有效位平面,隐藏的秘密信息和每个像素对之间的属性被嵌入生成的最低有效位平面中,由于位置图的压缩率较高,几乎每一个像素对都可以承载一位秘密信息,所以差分扩展的方法可以将大量的秘密信息嵌入原始图像中。基于直方图平移的方法是通过统计原始图像中像素值的分布情况,通过直方图的修改和平移实现秘密信息的嵌入。

2013年,Chen等[7]提出了基于非对称预测误差直方图修改的可逆信息隐藏算法,该方法先取每个像素点左上方相邻 3个像素点中像素值最大(小)值作为该点的预测值,计算预测误差并统计分布生成预测误差分布直方图,通过直方图平移的方法在峰值点处进行秘密信息的嵌入(若取最大值作为预测值,则直方图向右平移,反之则向左平移),在完成原始图像的每个像素点进行了第一轮秘密信息的嵌入后,然后对含密图像的每个像素点进行第二轮秘密信息的嵌入,此时取每个像素点左上方相邻 3个像素点中像素值最小(大)值作为该点的预测值,计算此时的预测误差并统计分布生成预测误差直方图,再次通过直方图平移方法在峰值点处进行秘密信息的嵌入。在两轮秘密信息的嵌入过程中,有很多像素点的像素值会发生补偿现象,即像素值在2次嵌入的过程中进行了数值大小相等、方向相反的操作,这种方法不仅可以提供更多的嵌入容量,还能利用补偿现象使在秘密信息不断嵌入的过程中能够更好地保护含密图像的质量。

非对称预测误差直方图修改算法有嵌入容量大、含密图像质量高的优点,但在嵌入秘密信息数量较少的情况下,嵌入过程没有第二轮的互补嵌入,图像质量得不到很好的保证,故本文对该算法提出了改进。

2 改进算法

本节首先介绍了非对称预测误差直方图的创建过程,然后用改进算法进行秘密信息的嵌入,最后介绍改进算法对秘密信息的提取和对原始图像的恢复过程。

2.1 创建非对称预测误差直方图

首先,访问与当前像素点相邻的左上方3个像素点计算其预测值,第一种方案是取这3个像素点中像素值最小值作为该像素点的预测值[1],第二种方案是取这3个像素点中像素值最大值作为该像素点的预测值[7]。

然后,计算当前像素点的2个预测误差,预测误差值可以由下式计算。

其中,e代表预测误差值,x代表当前像素点原始像素值,ˆx代表当前像素点的预测值。

最后,在计算出所有像素点的 2个预测误差值之后,将它们整合在一起得到 2个不对称的预测误差分布直方图,如图1和图2所示,其中,P+、Z+分别是图 1中的峰值点和左侧零值点,P-、Z-分别是图 2中的峰值点和右侧零值点。

图1 取最小值作为预测值生成的预测误差直方图

图2 取最大值作为预测值生成的预测误差直方图

2.2 嵌入过程

对于图片尺寸为 M×N的八位灰度图像X,用xij表示第 i行第 j列处像素点的像素值,有但是在嵌入的过程中,像素值为 0或者255的像素点在进行直方图平移之后可能会产生溢出现象,使该点像素值变成-1或者256,为了解决这个问题,采取如下方法:按行按列扫描图像,一旦遇到像素值为0或者255的像素点,便记录此处的坐标于位置信息L中,处理完所有的像素点后,将位置信息L添加到秘密信息的尾部,嵌入过程不对这些点进行处理。嵌入过程的描述如下。

1) 初始化最终的含密图像Z=X,取第一行第一列的像素点作为参考像素点。

2) 对于2≤i≤M ,2≤i≤N,像素点 xij处通过与其相邻的左上方3个像素点xi-1,j-1、xi-1,j、xi,j-1计算其预测值,分别计算出预测误差elij、euij、edij,计算方法如下。

3) 取elij、euij、edij中的最大值作为此时的预测误差,记为e+ij,即

将e+ij与图1中的峰值点P+,零值点Z+比较,利用直方图平移方法可以实现在该像素点处的第一次秘密信息的嵌入。对于像素点xij,在进行秘密信息m的嵌入后得到第一步的含密图像yij处的像素值,可以通过式(4)计算。

4) 继续计算像素点yij处的3个预测误差,计算方法如下。

5) 取elij、euij、edij中的最小值作为此时的预测误差,记为e-ij,即

将e-ij与图2中的峰值点P-、零值点Z-比较,再次利用直方图平移方法实现在该像素点处秘密信息的第二次嵌入。对于像素点yij,在进行秘密信息m的嵌入后得到最终的含密图像zij处的像素值,可以通过式(7)计算。

重复步骤 2)~步骤 5),直到所有的秘密信息嵌入结束,嵌入部分的算法流程如图3所示。

图3 嵌入过程流程

2.3 提取过程

为了提取秘密信息并恢复原始图像,采取如下操作。

1) 初始化最终恢复的图像X=Z,取第一行第一列的像素点作为参考像素点。

2) 对于2≤i≤M ,2≤j≤N,像素点zij处是通过与其相邻的左上方3个像素点zi-1,j-1、zi-1,j、zi,j-1计算其预测误差,分别计算出预测误差,分别记为elij′、euij′、edij′,计算方法如下。

3) 取elij′、euij′、edij′中的最小值作为此时的预测误差,可以用如下方法提取出在该像素点第二次嵌入的秘密信息m。

第一次提取后的该点的像素值yij可以通过下式得到。

4) 继续计算像素点yij处的预测误差,计算方法如下。

5) 取elij′、euij′、edij′中的最大值作为此时的预测误差,可以用如下方法提取出在该像素点第二次嵌入的秘密信息m。

第二次提取后的像素值xij可以通过下式得到。

重复步骤2)~步骤5),直到所有的秘密信息都被提取出来,在提取出的秘密信息的尾部可以得到位置信息 L,保证位置信息中记录的像素点处的像素值不被改变。提取部分的算法流程如图4所示。

图4 提取过程流程

3 实验结果

在进行秘密信息的嵌入后原始图像和含密图像会有所不同,为了衡量嵌入秘密信息后含密图像的品质,通常会参考峰值性噪比(PSNR)的值来认定结果是否令人满意,PSNR的值越大,代表含密图像较原始图像的失真程度越小。

本节进行了几次实验来展示改进算法较原始方法的优越性,在实验中选取了USC-SIPI图像数据库中的6张标准灰度图像,包括Lena、Peppers、Jet、Airport、Baboon、Tiffany。率失真性能对比如图5所示。

图5 率失真性能对比

显然,随着嵌入秘密信息数量的增多需要修改的像素点越多,从而使含密图片的质量有所下降。在率失真性能比较图中可以看到,除了Baboon以外的所有图片,本文提出的改进方法性能均优于原始的方法。这是因为本文采用的是对每一个要处理的像素点都进行2次的嵌入操作,这样就可以充分利用非对称预测误差分布直方图修改算法的优点,即在2种预测误差分布直方图的平移之中有更多像素点的像素值发生补偿现象,进一步提高含密图像的质量。

对于lena这类平滑的图像,其预测误差分布直方图中的点更为集中,这就使更多的像素点会发生像素值补偿现象,所以可以看到,改进的方法较原始方法有很好的改善。而对于Baboon这类的粗糙图像,其预测误差分布直方图并没有很好的集中(如图6所示),本文算法就不能体现出很好的优越性,所以说,本文算法在大多数情况下更适合在平滑图像中嵌入秘密信息体现其优越性。

图6 Lena和Baboon图像2种方案的预测误差分布直方图对比

4 结束语

本文对基于原始的非对称预测误差分布直方图修改方法进行改进,提出了一种更加有效的算法。对于每一个像素点,本文用 2种方法对其进行嵌入操作后再对下一个像素进行处理,用这种方法很好地体现非对称预测误差直方图修改算法的优点,使尽可能多的像素点产生像素值的补偿现象,即像素值在 2次嵌入的过程中进行了大小相等、方向相反的操作,从而能够更好地保护含密图像的质量,提高了算法的性能。

参考文献:

[1]FRIDRICH A J, GOLJAN M, DU R. Lossless data embedding for all image formats[J]. Proceedings of SPIE-The International Society for Optical Engineering, 2002, 4675:572-583.

[2]TIAN J. Reversible data embedding using a difference expansion[J].IEEE Transactions on Circuits & Systems for Video Technology,2003, 13(8):890-896.

[3]COLTUC D. Low distortion transform for reversible watermarking[J]. IEEE Transactions on Image Processing a Publication of the IEEE Signal Processing Society, 2012, 21(1):412-7.

[4]NI Z, SHI Y Q, ANSARI N, et al. Reversible data hiding[J]. IEEE Transactions on Circuits & Systems for Video Technology, 2006,16(3): 354-362.

[5]CACIULA I, COLTUC D. Improved control for low bit-rate reversible watermarking[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2014:7425-7429.

[6]HONG W. Adaptive reversible data hiding method based on error energy control and histogram shifting[J]. Optics Communications,2011, 285(2):101-108.

[7]CHEN X, SUN X, SUN H, et al. Reversible watermarking method based on asymmetric-histogram shifting of prediction errors[J].Journal of Systems & Software, 2013, 86(10):2620-2626.

猜你喜欢
像素点直方图秘密
符合差分隐私的流数据统计直方图发布
基于局部相似性的特征匹配筛选算法
用直方图控制画面影调
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
中考频数分布直方图题型展示
愿望树的秘密(二)
圆投影及直方图不变矩在多视角产品检测中的应用
我心中的秘密