APP下载

基于最大水纹叠加与尺度缩放的图像数字水印算法

2016-09-10李养胜

计算机与数字工程 2016年8期
关键词:水纹数字水印原图

李养胜

(陕西工业职业技术学院信息工程学院 咸阳 712000)



基于最大水纹叠加与尺度缩放的图像数字水印算法

李养胜

(陕西工业职业技术学院信息工程学院咸阳712000)

为了解决当前图像水印算法在面对嵌入水纹容量较大时,其不可见性较差的不足,论文设计了基于最大水纹叠加尺度缩放的图像数字水纹嵌入与提取算法。首先,基于最低位像素修改的LSB嵌入算子,嵌入初步水纹信息;然后变换图像到离散余弦域DCT,将剩余水纹叠加到幅值最大处,设计了水纹完整嵌入机制;最后,将含水纹图像进行缩放攻击后,再提取水纹。实验数据显示:与当前图像水印算法相比,在面对水纹嵌入容量较大时,论文算法拥有更高安全性,具有较强的不可见性与抗攻击性。

图像水印; LSB; DCT; 水纹叠加; 水纹容量; 水纹完整嵌入机制

Class NumberTP391

1 引言

近年来,图像数字水印技术不断发展,已经广泛地应用于保护信息安全、实现防伪溯源、版权保护等,是信息隐藏研究领域的重要分支和方向[1]。图像数字水印将标识信息直接嵌入数字载体中,且不影响原载体的使用价值,也不容易被探知和再次修改,可以达到确认内容创建者、购买者、传送隐秘信息或者判断载体是否被篡改等目的[2]。

对此,国内专家学者设计了诸多图像水印算法。如李雪景[3]设计实现了基于图像插值和直方图平移的可逆水印算法,利用插值方法将图像放大四倍,既增加了图像的像素个数,又增强了像素之间的相关性,使用上下左右四个像素点计算像素点的预测误差值,并构造直方图,在峰值点处嵌入水印信息,达到了图像水印嵌入的目的。如陈青[4]设计了一种新的基于伪Zernike矩的图像盲水印算法,计算图像归一化后的伪Zernike矩,然后选取部分合适的矩通过量化调制嵌入水印信息,有效提高了对于几何攻击尤其是旋转攻击的鲁棒性。何冰[5]设计了基于设计DCT域彩色图像的数字水印算法,选择性地嵌入受保护图像的DCT变换后的直流分量系数中,所嵌入的二值水印信息量可以根据实际需要自适应地增加,达到了将数字水印技术用于现实生活中的目的。

虽然以上方法可以实现普通水印的有效嵌入,但是当水印内容多,且同时受缩放攻击时,往往出现不可见性差或信息丢失的问题。

对此,本文提出了基于LSB与DCT的图像数字水纹嵌入与提取算法。首先,深入研究了LSB、DCT两种算法,并编程实现,进行反复实验验证,形成两者相结合的水印嵌入算子。然后对图像进行缩放攻击,以与嵌入算子相反的过程,提取水印,提高算法的抗攻击性。最后,从算法的不可见性与抗攻击性两方面验证了本文算法的安全性能。

2 本文图像水印算法设计

本文目的是对水纹内容较多的图像进行水纹嵌入与提取,提高算法的不可见性与抗攻击能力。本文硬件系统为一台普通PC,在PC端开发水纹嵌入与提取软件。

图1 本文机制架构

该算法的流程见图1,其主要分为三部分:首先,对图像与水纹进行分块处理,即把图像分割成相同的两部分,水纹亦然。然后利用LSB将上半部分水纹嵌入上半部分图像、利用DCT下半部分水纹嵌入下半部分图像,充分利用发挥两种算法,完成基于LSB与DCT的嵌入算子。最后,对嵌入水纹后的图像进行缩放攻击后,以与嵌入过程相反的处理,提取出水纹。

2.1基于LSB与DCT的水纹嵌入算子

本文采用两种嵌入算法并行的技术来完成图像水印处理,分别是LSB与DCT。LSB(Least Significant Bit)是最低有效位算法,由于像素数据最低有效位对人眼视觉影响很小,故本文引入该技术来提高算法的安全性与降低计算量[6~7]。本文算法是直接改变图像像素最后一位,使之和秘密信息(水纹)相同。以图3为水纹图像,将其上半部分内容嵌入到Lena原图中。再通过DCT变换,将水纹下半部分内容嵌入到Lena图像中的下半部分内容中,形成完成的嵌入图像。

而DCT是把图像转换到DCT域,再嵌入水印。首先计算图像的DCT,然后将水印叠加到DCT域中幅值最大的前五个系数上,不包括直流分量,通常为图像低频分量[8~9]。DCT系数前五个最大分量表示为

D={di} (i=1,2,…,5)

(1)

由于水印是随机实数序列:

W={wi} (i=1,2,…,5)

(2)

则依据模型(2)可知,水印嵌入函数为

Di=di(1+awi)

(3)

式中,a为尺度因子,控制水纹嵌入强度。

DCT的优点是将水纹嵌入到频域,使信息不可见性好。同样,以图3为水纹图像,将其下部分内容嵌入到Lena原图(图2)的下半部分中。最终形成的嵌入水纹图像,如图4所示。依图可知,通过耦合LSB与DCT,获得了较好的嵌入效果,攻击者很难从该图中看见水纹。

图2 Lena原图

图3 水纹

图4 水纹嵌入效果图

部分关键代码:

void Ash(BYTE* image0, BYTE* image1, unsigned int w, unsigned int h, unsigned int size){

BYTE** imageBuf0 = CreatImage(image0, w, h);

BYTE** imageBuf1 = CreatImage(image1, w, h);

int* templt;int x,y;

int a;int scale;

templt = new int[size * size];

for(x=0; x

templt[x]=1;}

scale = size*size;

for(y=size/2; y

for(x=size/2; x

a=TempltExcuteAsh(imageBuf0,w,h,templt,size,x,y);

a/= scale;

a = a>255?255:a;

a = a<0?0:a;

SetPixelXY(imageBuf1,x,y,a);}}

delete[] templt;

free(imageBuf0);

free(imageBuf1);}

2.2缩放攻击后的水纹提取

在实际传输过程中,图像往往受到各种攻击,影响水纹信息完整提取,常见攻击有几何缩放。本文将图4比例缩小为原来的1/4,如图5所示。

图5 缩放攻击后图像

然后采用与上节介绍嵌入方法的逆过程进行水纹提取。先对图像半部分进行检测,提取出含水纹图像像素的最低位即可。然后对下半部分进行检测,将水纹图像与原始图像分别转换到DCT域,并相减得到水纹DCT域估计值,逆变换后得水纹图像[10]。计算公式如下所示:

w=DCT-1(Iw-I)

(4)

式中I为DCT域的原始图像,Iw为DCT域含水纹的图像,w为提取的水纹图像。

经逆嵌入过程处理攻击后的水纹图像,期检测结果如图6。依图可知,水纹提取完整,显示其具有较强的抗攻击性能与鲁棒性。

图6 水纹提取效果图

关键代码:

int ValueAsh(BYTE** imageBuf0, int w, int h, int* templt, int tw, int x, int y){

int i,j,k; int px,py,c;

int* value;

int count;

value= new int[tw*tw];

k=0;

for(i=0; i

for(j=0; j

py=y-tw/2+i;

px=x-tw/2+j;

if(templt[i*tw+j]>0){

value[k]=GetAsh(imageBuf0,px,py);

k++;}}}

count=k;

for(i=0; i

k=i;

for(j=i+1; j

if(value[j]

c=value[i];

value[i]=value[k];

value[k]=c;}

c=value[count/2];

delete[] value;

return c;}

3 实验与讨论

利用Matlab语言编程,实现了图像数字水纹嵌入与检测系统,软件界面如图7所示,该开发软件具有“水纹嵌入”、“水纹检测”及其他状态显示功能。打开视频,如图8所示,即待嵌入水纹的原图。

同时,为了体现本文图像水印算法的优势,将当前水纹水印性能较好的算法视为对照组:文献[4]。再利用本文算法与文献[4]技术对图8进行大容量水纹(图9)嵌入处理,测试算法的不可见性,结果见图10~图11;然后对含水纹图像进行几何缩放攻击,测试提取的抗攻击性,结果见图12~图13。依图可知,本文算法的水印性能较好,嵌入图像具有较强的不可见性,见图10,显示本文算法具有较强的鲁棒性与抗攻击性;而文献[4]技术的不可见性较差,见图中方框所示,见图11。原因是本文嵌入算法耦合LSB与DCT两种技术的优点,使得嵌入处理后图像不可见性更好。而文献[4]单纯采用图像插值,当水纹信息容量大的情况下,嵌入效果不佳,出现少量水纹可见。

图7 软件界面

图9 水纹

图10 本文算法的水纹嵌入结果

然后分别对图10、图11进行几何缩放攻击,缩小至原图1/8,再分别进行检测。经过本文算法处理后,其检测效果如图12所示,其水纹提取完整,显示其抗攻击性良好;而文献[4]算法的水纹图像,经过逆过程提取,检测效果如图13所示,出现水纹内容缺失,易见抗攻击性不佳,原因是单纯采用空间域变换的插值运算,在图水纹信息量大、几何攻击力度大的情况下,抗攻击性往往出现不稳定。

图11 文献[4]嵌入结果

图12 本文算法的水纹提取效果

图13 文献[4]算法的水纹提取效果图

4 结语

本文解决的问题:水纹信息大、几何缩放攻击大,影响水纹嵌入不可见性、水纹检测稳定性。本文提出了一个基于LSB与DCT的数字水纹嵌入与提取系统,并编程实现。首先对图像与水纹分块,LSB与DCT并行应用,完成水纹嵌入。然后建立几何攻击机制,逆过程提取水纹。最后进行对比实验评价,与当前比较好的图像数字水纹技术相比,本文算法拥有更良好的不可见性与抗攻击性。

[1] 赵春玉.基于DCT变换的彩色图像水印盲提取算法[J].计算机工程与设计,2015,18(31):83-87.

ZHAO Chunyu. Blind extraction algorithm of color image watermarking based on DCT transform[J]. Computer Engineering and Design,2015,18(31):83-87.

[2] Anurag Mishra, Charu Agarwal, Arpita Sharma. Optimized gray-scale image watermarking using DWT-SVD and Firefly Algorithm[J]. Expert Systems With Applications,2014,41(17):7858-7867.

[3] 李雪景.基于图像插值和直方图平移的可逆水印算法[J].计算机应用研究,2016,25(12):231-236.LI Xuejing. Reversible watermarking algorithm based on image interpolation and histogram translation[J]. Application Research of Computer,2016,25(12):231-236.

[4] 陈青.一种新的基于伪Zernike矩的图像盲水印算法[J].计算机应用研究,2016,32(5):12-17.

CHEN Qing. A new blind image watermarking algorithm based on pseudo Zernike moments[J]. Application Research of Computer,2016,32(5):12-17.

[5] 何冰.基于DCT域彩色图像的数字水印算法[J].渭南师范学院学报,2015,14(22):147-150.

HE Bing. Digital watermarking algorithm based on DCT domain color image[J]. Journal of Weinan Teachers University,2015,14(22):147-150.

[6] Hirak Kumar Maity, Santi P. Maity. FPGA implementation of reversible watermarking in digital images using reversible contrast mapping[J]. The Journal of Systems & Software,2014,96(10):93-104.

[7] 项世军.一种同态加密域图像可逆水印算法[J].计算机学报,2015,33(53):86-90.

XIANG Shijun. A reversible watermarking algorithm for image in the field of image encryption[J]. Computer Science,2015,33(53):86-90.

[8] Jianhua Wu, Fangfang Guo, Yaru Liang. Triple color images encryption algorithm based on scrambling and the reality-preserving fractional discrete cosine transform[J]. Optik-International Journal for Light and Electron Optics,2014,125(16):4474-4479.

[9] 陈木生.抗亮度与对比度攻击的Contourlet域图像水印方法[J].计算机工程,2015,33(17):46-49.

CHEN Musheng. Contourlet domain image watermarking method for resisting luminance and contrast attack[J]. Computer Engineering,2015,33(17):46-49.

[10] Xiang-yang Wang, Chun-peng Wang, Hong-ying Yang. A robust blind color image watermarking in quaternion Fourier transform domain[J]. The Journal of Systems & Software,2013,86(2):255-277.

Image Digital Watermarking Algorithm Based on Maximum Wave Superposition and Scale

LI Yangsheng

(College of Information Engineering, Shaanxi Industrial Vocational College, Xianyang712000)

In order to solve the defect such as poor invisibility of the current image watermarking algorithm in the face of embedding large watermark capacity, in this paper, digital image watermark embedding and extracting algorithm based on maximum wave superposition and scale is proposed. First, based on the low pixel modified LSB embedding operator, preliminary watermark information is imbedded, then image is transformed to discrete cosine domain, the remaining watermark superimposes to the maximum, the watermark embed complete mechanism is designed, finally, the watermarked image conducts scaling attack, and then extracts the watermark. The experimental data show that compared with the current image watermarking algorithm, in the face of watermark embedding capacity is large, the algorithm in this paper has higher security, strong invisibility and anti-attack.

image watermarking, LSB, DCT, wave superposition, water capacity, complete watermark embedding mechanism

2016年2月10日,

2016年3月21日

李养胜,男,硕士,讲师,研究方向:计算机应用、图像处理。

TP391

10.3969/j.issn.1672-9722.2016.08.040

猜你喜欢

水纹数字水印原图
二方连续云水纹的数学演绎方式
镜水月
基于网屏编码的数字水印技术
完形:打乱的拼图
找一找
大家来找茬
基于FPGA的数字水印提取系统设计研究
基于数字水印的人脸与声纹融合识别算法
异军突起的兰州水纹石