基于差分图像的高容量可逆水印算法研究

基于差分图像的高容量可逆水印算法研究

罗春霞(武汉大学东胡分校)

摘要:可逆水印技独有的一个特点,是在提取出水印数据之后,还能够完全修复由于水印嵌入所造成的原始载体数据的损坏。在分析了前人基于直方图域的可逆水印技术后,运用一种基于图像自身差图的直方图修改的可逆水印算法。本算法在保证嵌入容量的同时,还能保持很高的峰值信噪比。

关键词:可逆水印差分图像直方图修改

0引言

水印嵌入的目的是为了保护被嵌对象,但不可否认的是,水印嵌入的本身就是对被嵌对象的更改与破坏,虽然这种更改通常是人类视觉系统无法觉察的。但在某些实际应用中,即使是由嵌入少量水印信息所造成的媒体信息的最小失真都是不可接受的。可逆数字水印技术虽然与一般的数字水印技术在原理上几乎没有差别,但是两者注重的焦点却发生了转移,已经从传统技术中对水印信息的关注转移到了现在对原始载体信息的关注上。可逆数据隐藏技术在媒体信息传送之前对其进行水印嵌入,用于接收方在对媒体信息再次使用之前的一种鉴定手段,水印的嵌入造成的媒体信息的损坏可以在水印提取出来之后进行完全的修复。如果构造出完全可逆的水印,那么就不会存在水印信息嵌入后对原始媒体信息的永久性损坏,可以得到与原始的不含水印信息的准确拷贝。这也使得可逆水印技术在现实生活中有着更为为广阔的应用,特别是在诸如医学图像、遥感图像、珍贵文物数字信息等敏感区域中有着更为重要的实际应用意义。

基于变换域的可逆水印技术,可以避免媒体信息在变换过程造成的少量信息丢失,而且是利用媒体信息的变换域某些特性的间接修改,从常达到更高的嵌入质量。

本文将提出一种可逆水印算法——基于差分图像的高容量可逆水印算法,经过实验证明,这种算法水印图像提取后,载体图像能够完全恢复。而且在保证很高的PSNR(峰值信噪比)的情况下,嵌入容量也有了相当可观的提高。

1基于差分图像的可逆水印算法

1.1差分图像的概念对于恢复图像I(i,j)大小为D(i,j)像素点,它对应的的大小为M×N/2的差分图像D(i,j)可通过以下方式得到:

对于0≤i≤M-1,0≤j≤N/2-1,D(i,j)=I(i,2j+1)-I(i,2j)

这里I(i,2j+1)和I(i,2j)分别是原图像的奇数列与偶数列。

1.2基于差分图像的可逆水印算法实现基于差分图像的可逆水印算法实现按预处理、嵌入过程、提取与恢复过程介绍如下。

1.2.1预处理对于得到的差分图像D(i,j),求出其直方图的峰值点pm,即-pm和pm在差分图像像素之中出现数最大,并把这个最大数记为mpm。接着,我们考察pm点的上下相邻点,即pm-1和pm+1。找出二者对应的直方值,取较大者记为mpmn,相应地该像素值记为pmn(pmn是pm-1或pm+1)。然后,比较pm和pmn,较大者记为ph,直方值记为mph,较小者记为pl(ph=pl+1),其直方值记为mpl。下一步我们将考虑通过移动PSNR,pl+1(=ph),ph+1和ph+2四点的直方值来嵌入水印。这样,我们可以提前知道嵌入容量为mpl+mph。

1.2.2嵌入过程我们考虑把水印序列W嵌入载体图像I(i,j)。首先,D(i,j)在±(pl+1)与点±(ph+1)的直方值通过平移被清空。如果差分图像在某点像素值大于或等于ph,则原始载体图像的奇数列对应的像素值加2。如果差分图像的像素值小于或等于-ph,则原始载体图像对应奇数列的对应像素值减2。

然后通过修改(i,j)的直方图间接修改载体图像,嵌入水印序列。首先,逐点查询差分图像(i,j),一旦遇到像素值为±pl或±(ph+2),考察待嵌水印序列位。若水印位为1,则(i,j)在改点的值将被修改:若为-pl,则减去1变为-(pl+1),即把原载体图像的奇数列对应像素点减1;若为pl,则加上1变为pl+1,即把原始载体图像的奇数列对应像素点加1;若为ph+2,则减去1变为ph+1,即把原始载体图像的奇数列对应像素点减1;若为-(ph+2),则加上1变为-(ph+1),即把原始载体图像的奇数列对应像素点加1。而若待嵌水印序列位为0,则不做任何修改。继续查询,直到(i,j)中再次出现像素值±pl或±ph,再依据水印序列位的值,进行新一轮的嵌入修改。这样,嵌入水印后的图像奇数列Iw(i,2j+1)可由下式得到:

若W(u,v)=1,且(i,j)=±pl或±ph,

其它情况:Iw(i,2j+1)=(i,2j+1)

偶数列未变化,所以偶数列像素值Iw(i,2j):Iw(i,2j)=I(i,2j)

1.2.3水印提取与图像复原水印提取与图像复原的过程是水印嵌入的一个逆过程。

在接收端对于大小为M×N的灰度含水印图像Iw(i,j),先求出其差分图像Dw(i,j),大小为M×N/2。查询整个差分图像,水印序列按下式提出:

同时,求出过渡恢复图像r(i,j):

相应地,r(i,j)记为r(i,j)的差分图像。

最后,通过反移r(i,j)的直方图间接修改过渡图像r(i,j)。

首先求得恢复图像的奇数列Ir(i,2j+1):

由于整个嵌入提取过程偶数列始终未变,所以Ir(i,2j)可求得:Ir(i,2j)=r(i,2j)

2.3实验结果与分析我们选取512×512的标准化Lena测试图像进行仿真实验。计算测得pl=1,ph=2,相应的峰值直方值对为20,301和18,129,因此,嵌入容量达到38,430位。我们选取二值标志图像,大小128×128像素,即16,384位,作为待嵌水印图像。

嵌入水印后的Lena图像。可以看出,尽管嵌入过程对两个直方点进行了修改,但反映到原始载体图像上改动及其微小,人类视觉系统无法辨别出来,嵌入水印的图像质量非常可观。事实上,计算得到,含水印图像的PSNR值为46.399dB。

标准Lena图的水印嵌入效果对比。可以看到,我们提出的算法在PSNR保持较高的情况下,容量有了质的提高。

3结论

本文讨论的是基于差分图像的高容量可逆水印算法,从实验可以看到这种算法具有很明显的优点:水印图像提取后,载体图像能够完全恢复;在保证很高的PSNR的情况下,嵌入容量有了相当可观的提高。当然基于差分图像的高容量可逆水印算法也有其缺点,就是实现复杂。

标签:;  ;  ;  

基于差分图像的高容量可逆水印算法研究
下载Doc文档

猜你喜欢