基于三像素块差值的多层可逆图像水印算法

2017-04-14 00:47钱华山田丽华
计算机应用与软件 2017年3期
关键词:分块差值峰值

钱华山 田丽华 李 晨

(西安交通大学软件学院 陕西 西安 710049)

基于三像素块差值的多层可逆图像水印算法

钱华山 田丽华 李 晨*

(西安交通大学软件学院 陕西 西安 710049)

数字图像可逆水印算法在水印嵌入容量和不可感知性方面要求越来越高。为了满足图像可逆水印算法的需求,提出一种基于三像素差值的多层可逆图像水印算法。该算法首先把原始图像按照三种类型进行水平分块,同时计算相邻三像素块的绝对差值,对差值进行分组,求出水平分块中的最大峰值点,将生成的二值水印嵌入在第一个像素和第三个像素的LSB中,同时记录最大峰值点所在块的索引和嵌入水印信息像素的最低有效位。其次,按照同样的方法对原始图像按照三种类型进行垂直分块,嵌入水印信息。实验仿真结果表明,该算法在不可见性、水印容量等方面较同类算法有显著提高。

图像水印 可逆水印 像素块 绝对差值 LSB

0 引 言

对于图像、音频、视频等多媒体数据而言,版权的保护和内容完整性认证对于创作者来说至关重要。虽然传统的数字水印技术,对多媒体的版权保护起到一定的作用,但是在一些对精度认证要求较高的领域,比如法律、医学和军事系统等领域,在不提供恢复信息的情况下,加密的多媒体数据轻微的改变,都会对真实的结果产生很大影响,为了使隐藏的数据被提取后,无损地恢复原始图像信息,可逆数字水印技术应运而生。由于可逆数字水印技术能够无失真地恢复原始图像,因此在一些敏感领域得到了很广泛的应用[1-2],比如在法律取证和医疗图像处理领域,通常要求提取水印后含水印的图像还能够无失真的恢复。

在可逆数字水印技术中,水印的嵌入容量和不可见性是衡量图像水印算法最主要的两个方面,因此如何提高水印嵌入容量和不可见性一直是各国学者研究的热点。通常,不可见性客观上可以通过PSNR(Peak Signal to Noise Ratio)来衡量。嵌入容量可以用原始图像中嵌入水印信息的比特数来衡量。但是,目前存在的一些可逆水印算法在嵌入容量和不可见性两个方面不能兼顾,有时只能以牺牲图像质量为代价来获取较大的嵌入容量,或者为了获得较好的图像质量,但嵌入容量很小。

目前,国内外对可逆图像水印算法的研究也有很多,大体上可分为四类:基于差值扩展的可逆水印算法,是利用像素之间的差异值来取代图像的特征,然后通过扩展这些值的最不重要位来实现水印的嵌入,最早是由Tian[3]提出来的;基于压缩的可逆数字水印算法,通过压缩要嵌入的数据,减少了水印信息嵌入容量,通常只能做认证之用,比较好的算法是由MEHMET Utku Celik[4]提出来的;基于频域的可逆图像水印方案,对原始图像进行小波变换后,分别把水印信息嵌入在得到的三个高频系数中,比较好的算法是由Xuan[5]提出的;基于直方图平移的可逆水印算法,利用直方图平移的思想来改变像素值,实现水印信息的嵌入,如文献[6]提出一个基于三像素块差值的无损数据隐藏方案,对图像进行分块后,找出最大的差值,然后改变像素块中的像素来嵌入水印信息,在嵌入水印的过程中要考虑到像素是否溢出,对于附加信息也是分成几个不同的区域进行嵌入,虽然嵌入容量有了很大的提高,但是图像的PSNR比较低,嵌入和提取的规则过于复杂。文献[7]提出一种基于双层嵌入的可逆灰度图像水印算法。利用直方图平移的思想来解决嵌入时可能出现的溢出问题,计算每一个分块两像素的差值,选择差值直方图最大的峰值点来嵌入水印信息和互补嵌入的方法来提高嵌入容量。虽然该算法在水印嵌入和提取之后嵌入容量和PSNR较好,但是在嵌入和提取的规则中可以看到,只在块的第一个像素嵌入水印信息,同时平移像素会改变没有嵌入水印信息的像素,这样做没有必要,而且会影响图像的质量,除此之外,嵌入的水印信号是随机生成的二值水印序列,没有实际的意义。文献[8]也是利用了分块和直方图平移的思想。文献[9-11]利用图像相邻像素点差值直方图的特征来嵌入水印信息。由于此算法选择在最大峰值点出嵌入水印信息,当在选择多层嵌入时,由于固定的峰值点,所以算法的性能下降很快。

在以上问题的基础上,本文针对水印的嵌入容量和不可见性,利用双层嵌入的方法,将原始图像划分成不同类型的水平和垂直分块,求出三种分块类型中的最大峰值对应的绝对差值,由于像素的LSB位对图像的质量影响较小,因此选择将水印信息嵌入在差值对应块的第一个像素和第三个像素的LSB中,同时记录所在块的索引。嵌入的水印信息是有实际意义的水印图像二值化生成的0和1序列,如果嵌入的水印信息和像素的最低有效位相等,则此像素并不会发生改变,从而保证了图像的质量。采用多层嵌入和求像素的绝对差值来嵌入水印信息,保证了水印信息的嵌入容量。仿真试验表明:本方案算法简单,不仅能够实现原始图像的无损恢复,而且在水印嵌入容量和不可见性方面达到了很好的效果。

1 基于三像素块差值的多层可逆图像水印嵌入算法

1.1 划分图像分块类型

为了在保证图像质量的前提下嵌入更多的水印信息,对原始图像进行分块,根据最大峰值对应的差值对每一块进行嵌入操作。按照水平和垂直的方向对原始图像进行三种不同类型的分块,分块的大小分别是1×3和3×1。对于块的类型,Type=0,表示分块是从一行或一列的第一个像素开始逐次分块,如图1(a)所示;Type=1,表示分块是从一行或者一列的第二个像素开始逐次分块,如图1(b)所示;Type=2,表示分块是从一行或一列的第三个像素开始逐次分块,如图1(c)所示。具体的分块类型如图1所示。

图1 图像分块类型

1.2 水印的嵌入

水印的嵌入首先按照图1所示的类型对原始图像进行分块,计算三种分块类型中差值的最大峰值点,按照最大峰值点对差值进行分组,分组之后与最大峰值点进行比较,若是与最大峰值点相等,则表示是要嵌入水印信息的像素,按照水平嵌入算法进行水印信息的嵌入,记录此块的索引,在嵌入水印信息之前,记录将要嵌入水印的像素的LSB,作为密钥进行保存;在水平嵌入的基础上,对水印图像按照与水平分块同样的方法进行垂直水印的嵌入,最终得到含水印的图像,总体的嵌入流程如图2所示。

图2 水印的嵌入总体流程图

本文的水印信号采用有实际意义的水印图像二值化生成的0、1序列作为将要嵌入的水印信息,大小采用M×M的二值图像,同时把二值水印序列由二维降成一维的形式,用W2B表示,如式(1)所示,便于后续水印的嵌入。

W2B={W2B(i),1≤i≤M×M}

(1)

为了使嵌入的过程与思路清晰明了,水印信息的嵌入分别从水平嵌入和垂直嵌入两个方面来具体介绍。

1) 水平嵌入

按照图2所示的流程图对原始图像进行水平分块操作,求取差值特征,然后进行水印的嵌入操作,具体的步骤如下:

步骤1 按照图1所示图像的三种类型的分块方法,对大小是W×W的灰度图像进行互不重叠的大小为1×3的分块,设第k块用Blockk(pixel1,pixel2,pixel3)来表示,其中,pixel1、pixel2、pixel3表示块k中的连续的三个像素值,分别计算第一个像素pixel1(Blockk(1))和第二个像素pixel2(Blockk(2)),第二个像素pixel2(Blockk(2))和第三个像素pixel3(Blockk(3))的绝对差值,如式(2)和式(3)所示;同时保存绝对差值。

(2)

(3)

步骤2 分别求出三种类型水平分块差值的最大峰值,对三个峰值进行比较,同时记录最大的峰值对应的差值和水平分块的类型,分别用MP和Type表示。

步骤3 根据MP和Type分别对第1步生成的差值集合按照每块中第一个差值和第二个差值进行分组,分别用firstValue和secondValue来表示;依次遍历两个差值集合,判断集合中的差值是否与最大峰值对应的差值相等,若相等,表示是要嵌入水印的块,同时记录此块的索引,分别用集合firstindex和secondindex来存储;反之,则不记录块索引,所记录块的索引作为密钥传送到接收方。

步骤4 若第一个差值与最大峰值所对应的差值相等,则在块的第一个像素的LSB嵌入1比特水印信息,同时在嵌入之前记录此像素的LSB,用bitSave集合来存储,便于后面原始图像的恢复;同理,若第二个差值与最大峰值对应的差值相等,则在块的第三个像素的LSB嵌入1比特水印信息,同时在嵌入之前记录此像素的LSB,用bitSave集合来表示。嵌入规则如式(4)和式(5)所示:

(4)

(5)

其中,W2B(i)表示的是二值水印序列中的一位水印比特,bitSave作为密钥信息发送给接受方。

步骤5 为了减少密钥的传送,把以上步骤中记录的分块类型用附加信息的形式进行存储。在本文中附加信息的长度总共占12位,其中标志附加信息T的长度占据8位,水平分块的类型Type占据2位,垂直分块的类型Type1占据2位。把T,Type和Type1转换成二进制后按照T--->Type--->Type1的顺序对附加信息进行存储。附加信息将会在垂直分块中作为秘密信息进行嵌入。

2) 垂直嵌入

按照图2所示的流程图对原始图像进行垂直分块操作,求取差值特征,然后进行水印的嵌入操作,具体的步骤如下:

(6)

(7)

步骤2 分别求出三种类型垂直分块差值的最大峰值,对三个峰值进行比较,同时记录最大的峰值对应的差值和垂直分块的类型,分别用MP1和Type1表示。

步骤3 根据MP1和Type1分别对第1步生成的差值集合按照每块中第一个差值和第二个差值进行分组,分别用firstValue1和secondValue1来存储;依次遍历两个差值集合,判断集合中的差值是否与最大峰值对应的差值相等,若相等,表示是要嵌入水印的块,同时记录此块的索引,分别用firstindex1和secondindex1来存储;反之,则不记录块索引。所记录块的索引作为密钥信息传送到接收方。

步骤4 采用和水平嵌入相同的嵌入规则,若第一个差值与最大峰值所对应的差值相等,则在块的第一个像素的LSB嵌入1比特水印信息,在嵌入之前记录此像素的LSB,用bitSave1集合来存储;同理,若第二个差值与最大峰值对应的差值相等,则在块的第三个像素的LSB嵌入1比特水印,在嵌入之前记录此像素的LSB,用bitSave1集合来存储。嵌入规则如式(8)和式(9)所示:

(8)

(9)

其中,W2B′(i)表示的是二值水印序列中的一位水印比特,bitSave1作为密钥信息发送给接收方。

步骤5 根据水平分块中存储的附加信息,将第1步中提取像素的最低有效位用附加信息替换,得到最终含水印图像。

根据水印嵌入的总体流程图(图2),本文在Matlab环境下对水印的嵌入算法进行了编程实现,其中水平嵌入(以Type=0为例)过程的算法核心编程抽象描述及注释如下:

1: read the source image I1; %大小是wxw

2: if type==0

%判断分块类型

3: for i=1:w

4: for j=1:3:w-2

5: Block=int32(I1(i,j:j+2));

%对图像分块,大小为1×3

6: calculate D1 using formula (2);

%计算第一个差值

7: if D1==MP

%如果差值等于峰值MP

8: get and save the LSB then embed the watermark using formula(4);

%获取和保存LSB,然后嵌入水印信息

9: end

10: calculate D2 using formula (3);

%计算第二个差值

11: if D2==MP

%如果差值等于峰值MP

12: get and save the LSB then embed the watermark using formula (5);

%获取和保存LSB,然后嵌入水印信息

13: end

14: end

15: end

16:end

17:output watermark image;

%输出含水印图像

2 基于三像素块差值的多层可逆图像水印提取算法

接收方根据发送方秘密传送过来的密钥信息进行水印信号的提取以及原始图像的恢复。密钥信息分别为水平分块中第一个和第二个差值集合中嵌入水印信息的块的索引(firstindex和secondindex)、垂直分块中第一个和第二个差值集合中嵌入水印信息的块的索引(firstindex1和secondindex1)以及水平和垂直嵌入水印信息的像素最低有效位集合(bitSave和bitSave1)。总体的流程如图3所示。

图3 水印的提取与图像的恢复流程图

水印提取和原始图像恢复的具体步骤:

步骤1 首先提取第1列的前8个像素,解码得到附加信息的长度,按照附加信息的长度提取灰度图像像素的LSB,得到相应的附加信息,由十进制转换成二进制得到水平分块的类型Type3,垂直分块的类型Type4。

步骤2 第1列不提取水印信息,根据Type4对应的分块类型对原始图像从第2列进行3×1的垂直分块,当所分块的索引与密钥中的索引值相等时,就从相应像素的LSB位提取一位水印信息,同时将此像素的LSB位用密钥bitSave1中保存像素的LSB位进行替换,得到恢复的图像;不相等时就跳过,不对水印图像做任何操作。分块的索引用Blockindex来表示,具体按照如式(10)和式(11)的规则进行水印的提取和原始图像的恢复。

ifBlockindex=firstindex1(p)

(10)

ifBlockindex=firstindex1(q)

(11)

其中,对于块索引Blockindex每循环一次就会增加1;p、q、index表示的是集合中的索引值,当一个条件满足后,他们都会自动增加1,water2表示提取出的水印信息。

步骤3 在步骤2提取出的水印信号中,取出与附加信息长度相等的水印信息,并将此附加信息替换原来提取像素的最低有效位,得到垂直恢复后的图像。

步骤4 根据Type3对应的分块类型对步骤3中恢复之后的图像进行1×3的水平分块,当所分块的索引与密钥中的索引值相等时,就从相应像素的LSB位提取一位水印信息,同时将此像素的LSB位用密钥bitSave中保存的像素的LSB位进行替换,得到恢复的图像;不相等时就跳过,不对水印图像做任何操作。分块的索引用Blockindex来表示。具体按照如式(12)和式(13)的规则进行水印的提取和原是图像的恢复。

ifBlockindex=firstindex(p)

(12)

ifBlockindex=firstindex(q)

(13)

其中,对于块索引Blockindex每循环一次就会增加1,p,q,index表示的是集合中的索引值,当每一个条件满足后,他们都会自动增加1,water1表示提取出的水印信息。

步骤5 从垂直提取的水印信息中去除附加信息后,组合步骤3剩余的水印信息和步骤4中提取出的水印信息,得到最后提取出的水印信号。

步骤6 把提取出的二值水印信息序列转换成二值水印图像,可以得到原始的水印图像。

利用接收端收到的密钥信息可以进行水印的提取,本文在Matlab环境下实现了水印图像的提取和原始图像的恢复算法,分块仍然按照图1所示的类型进行,算法的核心编程抽象描述以及注释如下(以垂直提取Type4=0为例来说明):

1:read watermark image I2;

%读取水印图像

2:extract secret key and decode according to Step 1;

%根据步骤1 提取密钥并解码

3:Blockindex=0;

%用于记录分块的索引

4:

if typ4==0

5: for j=(c+1):W

%c表示前c列不提取水印信息

6: for i=1:3:W-2

7: Block=int32(I2(i,j:j+2));

%对图像分块,大小为3×1

8: Blockindex==Blockindex+1;

%用于记录分块的索引

9: if Blockindex==firstindex1(p)

%如果块索引与第一个密钥中的索引值相等

10: get and save the LSB then recover the LSB using formula (10);

%获取和保存LSB,然后恢复最低位

11: end

12: if Blockindex==secondindex1(q)

%如果块索引与第二个密钥中的索引值相等

13: get and save the LSB then recover the LSB using formula (11);

%获取和保存LSB,然后恢复最低位

14: end

15: end

16: end

17:end

18:output image after vertical recovery;

3 仿真结果与分析

本文主要从水印嵌入容量和不可见性两个方面来客观衡量可逆水印算法的性能。利用Matlab R2014a在Windows操作系统环境下进行仿真测试,在测试过程中,从标准灰度图像库中分别采用大小为512×512和256×256的经典灰度图像(Lena、Pepper、Airplane、Boat)进行实验,如图5(a-h)所示;它们的纹理复杂程度不同,其中,Lena图像和Airplane图像属于纹理简单图像,Pepper和Boat图像属于纹理复杂的图像。水印图像为有意义的大小为512×512的二值图像,如图4(a)所示。

用提取前后载体图像的归一化系数(NC)来衡量算法的可逆性,公式如下所示:

(14)

其中,w1和w2分别表示原始载体和恢复后的载体,l1和l2表示提取前后载体的大小。

3.1 可逆性测试

本文首先对可逆性进行了测试,通过比较嵌入和提取水印前后载体图像之间的NC值来验证算法的可逆性。表1给出了可逆性测试结果。从中可以看出原始载体图像和提取水印后恢复的载体图像的归一化系数NC都为1,说明了算法的可逆性,即提取水印后恢复的图像和原始图像是一样的。从恢复后的二值水印图像和原始水印图像对比中可以看出,两者没有任何区别(如图4所示)。

表1 本文算法可逆性测试

图4 二值水印图像

3.2 不可见性和水印容量测试

接下来从水印的不可见性、水印的嵌入容量以及与相关文献算法的对比来进行说明。首先,从不可见性方面来进行分析,其一,从原始图像和含水印图像(如图5所示)中可以看出,嵌入水印前后图像从主观上来看,没有任何的不同,用肉眼几乎是看不到图像中含有水印信息,说明水印不可见性很好。其二,从峰值信噪比(PSNR)上来看,本文算法在水平方向上进行水印的嵌入时,对于Lena图像来说,其PSNR为59.369 3dB,Pepper图像的PSNR为58.317 7dB,Airplane图像的PSNR是59.382 8dB,Boat图像的PSNR是59.231 8dB,PSNR都在58dB以上,再从垂直方向上水印嵌入的峰值信噪比来看,其PSNR都在55dB以上。与其他同类算法相比,本文的峰值信噪比都高于其他算法,如表2和表3所示,从这几个方面可以看出,本文算法不可见性很好。

图5 原始图像与含水印图像

其次,从水印的嵌入容量上来看,由于所采用的载体图像的纹理不同,所以嵌入的水印信息的容量也是不一样的。但是,无论对于哪一种载体图像,不管是在水平方向上进行嵌入,还是在垂直方向上进行嵌入,本文算法的嵌入容量都明显大于文献[7]算法的嵌入容量,最终从水平和垂直方向上嵌入水印比特数的总量上可以看出,本文总的嵌入容量高于文献[7]算法,表2、表3给出了本文算法和文献[7]的对比情况。本文和文献[6]也进行了对比,虽然低于文献[6]三像素差值算法的嵌入水印总容量,但是在PSNR上远远高于文献[6]算法,如表4所示。

表2 水平嵌入后图像的PSNR和嵌入容量

表3 垂直嵌入后图像的PSNR和嵌入容量

表4 与三像素差值算法在总容量和PSNR上的比较

为了说明不同的图像由于大小、纹理不同而对嵌入的水印容量的影响,本文给出了大小为256×256的一组图像的实验结果,如表5所示。

表5 256×256图像在本算法中的PSNR和总嵌入容量

从表5中的数据与表4中的数据对比中可以看出, 512×512图像和256×256图像在嵌入的水印总容量上有很大的差别。另外对于纹理复杂的图像,如Pepper和Boat图像,在相同大小情况下,其水印嵌入的总容量相对纹理简单图像来说较大。

最后本文给出了在相同嵌入水印容量的情况下,本文算法和文献[7]的对比情况。由于文献[7]产生的二值水印序列是随机产生,为了使测试环境一样,利用与本文生成二值水印序列相同的方法产生文献[7]要嵌入的水印序列。在同样的测试环境下,两种算法在相同的嵌入容量下,对水平嵌入和垂直嵌入水印信息后本文算法与文献[7]算法的PSNR的大小进行了测试,其算法性能对比的结果如图6和图7所示。从水平嵌入和垂直嵌入的算法性能对比图中可以看出,两种算法在相同的嵌入容量下,虽然随着嵌入容量增加,峰值信噪比不断降低,但是总体上来看,本文算法的PSNR都明显高于文献[7]中的PSNR。

图6 水平嵌入后算法的性能对比图

图7 垂直嵌入后算法的性能对比图

总之,不管是从图像的不可见性、嵌入容量还是与其他算法对比的结果中可以看出,本文算法采用对原始图像进行不同的类型分块,求三个像素的绝对差值,利用绝对差值求最大峰值点和双层嵌入水印信息的方法,从而使嵌入容量明显高于文献[7]的算法。这是因为这些算法采用的是固定分块类型,求取每两个像素差值的最大峰值点嵌入水印信息,因此限制了水印的嵌入容量。另外,本文算法采用的二值水印图像并不是随机生成的,而是由有意义的图像二值化生成的水印序列,这样能够保证产生的水印序列是有意义的水印序列。由于像素的最低有效位对图像的影响较小,同时本文算法采用把水印信息嵌入在像素的LSB中,当嵌入水印信息位与像素的最低有效位一致时,并不改变像素的值,从而保证了图像的质量,所以在峰值信噪比上明显高于文献[7]。文献[7]中的算法在嵌入水印的过程中要对溢出的像素进行处理,利用直方图平移的思想嵌入水印信息,对没有嵌入水印信息的像素有所改变,进而影响了图像的质量。另外,从本文算法与文献[7]的对比图中可以看出,在相同的嵌入容量下,本文算法峰值信噪比明显高于文献[7]中的算法。和文献[6]三像素差值的无损数据隐藏算法相比,尽管嵌入容量偏低,但是PSNR很高。当然,本文算法在水印信息提取的过程中和其他算法相比更简单,提取时不需要载体图像,只需知道提取出的密钥和接收的密钥就可以对原始图像进行无损恢复。

4 结 语

本文所提出的多层可逆水印算法,利用三像素块绝对差值把二值化生成的水印序列分层嵌入在像素的最低有效位中。仿真实验结果表明:采用双层嵌入的思想,不仅使嵌入容量有了很大的提高,同时嵌入在像素的最低有效位对图像的不可见性也有了极大的改善,兼顾了图像水印不可见性和嵌入容量两个方面,能够实现对水印的盲提取和原始图像的无损恢复,从而能够更好地实现对图像的版权保护和内容完整性的认证。该方法可用于法律、医疗领域中图像的信息隐藏和载体图像无损恢复,能够很好地解决图像中信息嵌入容量小和无损恢复原始图像的问题。

[1] 尚冠宇,郭凡新,邓小鸿.基于采样预测和差值变换的医学图像可逆水印算法[J].计算机应用与软件,2012,29(6):22-24.

[2] 高海波,邓小鸿,陈志刚.基于可逆可见水印的医学图像隐私保护算法[J].计算机应用,2014,34(1):119-123,157.

[3]TianJun.ReversibleDataEmbeddingUsingaDifferenceExpansion[J].IEEETransactionsonCircuitsandSystemsforVedioTechnology,2003,13(8):890-896.

[4]MehmetUtkuCelik,GauravSharma,AhmetMuratTekalp,etal.LosslessGeneralized-LSBDataEmbedding[J].IEEETransactionsonmageProcessing,2005,14(2):253-266.

[5]XuanGuorong,YangChenyun,ZhenYizhan.ReversibleDataHidingBasedonWaveletSpreadSpectrum[J].IEEE6thWorkshoponMultimediaSignalProcessing,2004:211-214.

[6]ChingChiuanLin,NienLinHsueh.Alosslessdatahidingschemebasedonthree-pixelblockdifference[J].PatternRecognition,2008,4:1415-1425.

[7] 熊祥光,韦立.基于直方图平移和互补嵌入的可逆图像水印方案[J].计算机工程,2015,41(8):180-185.

[8] 郑淑丽,邢慧芬,王美玲,等.基于直方图平移和差分直方图的可逆水印[J].系统仿真学报,2013,11(8):2717-2722.

[9] 文家福,王嘉祯,张政保,等.一种基于可逆数字水印的图像认证方案[J].计算机应用与软件,2010,27(4):121-123.

[10] 王继军.图像插值空间大容量可逆数字水印算法[J].中国图像图形学报,2014,19(4):527-533.

[11] 黄志强,王美清.基于邻域预测差值直方图平移的可逆信息隐藏[J].计算机工程,2014,40(4):117-119.

[12] 宋伟,侯建军,李赵红.一种基于块分类和差值扩展的可逆数据隐藏算法[J].中南大学学报:自然科学版,2011,42(3):694-702.

[13] 张秋余,孙媛,晏燕.基于分块自适应压缩感知的可逆水印算法[J].电子与信息学报,2013,35(4):798-804.

[14] 刘芳,汪玉凯.一种基于差值直方图平移的多层可逆水印算法[J].计算机应用与软件,2014,31(1):304-307.

[15] 皇甫大恩,刘晓斐.基于小波域的篡改定位可逆水印算法[J].计算机工程与设计,2014,35(5):1584-1587.

[16] 高晓琴,晏勇,唐琦.基于可逆数字水印的图像认证新方法[J].西南师范大学学报:自然科学报,2015,40(7):120-123.

[17] 姜传贤,杨铁军,董明刚,等.基于线性空间隐藏模型的可逆图像水印算法[J].自动化学报,2014,40(10):2325-2333.

MULTILAYER REVERSIBLE IMAGE WATERMARK ALGORITHM BASED ONTHREE-PIXEL BLOCK DIFFERENCES

Qian Huashan Tian Lihua Li Chen*

(SchoolofSoftwareEngineering,Xi’anJiaotongUniversity,Xi’an710049,Shaanxi,China)

The requirements of digital image reversible watermarking algorithms become exigent in watermark embedding capacity and imperceptibility. In order to meet the requirements, a multilayer reversible image watermark algorithm based on three-pixel block differences is proposed. Firstly, the original image is divided into horizontal blocks according to three types. The absolute difference of adjacent three-pixel block is calculated simultaneously, then they should be grouped so that the maximum peak point of horizontal blocks can be obtained. The binary watermark is embedded in LSB of the first pixel and the third pixel. At the same time, the index of the block with the maximum peak point and LSB of embedding watermark is recorded. Then, the original image is divided into three types of vertical blocks, and watermark is embedded in the same way. Simulation result shows that the proposed algorithm has made a significant improvement in the aspects of invisibility and watermark capacity compared with other similar algorithms.

Image watermark Reversible watermark Pixel block Absolute difference LSB

2016-02-29。国家自然科学

61403302);西安交通大学科研业务

基金项目(XJJ2016029)。钱华山,硕士生,主研领域:数字图像水印。田丽华,高工。李晨,讲师。

TP3

A

10.3969/j.issn.1000-386x.2017.03.046

猜你喜欢
分块差值峰值
“四单”联动打造适龄儿童队前教育峰值体验
结合模拟退火和多分配策略的密度峰值聚类算法
面向量化分块压缩感知的区域层次化预测编码
320排CT低剂量容积体部灌注成像强化峰值时间对孤立性周围肺病变诊断价值
钢结构工程分块滑移安装施工方法探讨
红细胞压积与白蛋白差值在继发性腹腔感染患者病程中的变化
一种面向不等尺寸分块海量数据集的并行体绘制算法
分块矩阵初等变换的妙用
关注
清丰县新旧气象观测站气温资料对比分析