二值数字水印的嵌入和提取

2015-01-10 07:49刘艳华
科技视界 2015年35期
关键词:二值数字水印解码器

刘艳华

(盐城工学院信息工程学院,江苏 盐城 224051)

0 引言

随着Internet的普及,图像在数字媒体或互联网上散布时,可被无误差的重复复制,图像所有者的权利有可能受到侵害,信息的安全保护问题日益突出。有效地防止数据的非法复制的方法之一就是把水印的信息插入到潜在的易受攻击的图像中,水印不能从图像本身分离出来。数字水印的概念还可以扩展到电视图像和声音等领域,数字水印技术作为版权保护的重要手段而得到了广泛的研究和应用。

数字水印(Digital Watermarking)技术是将一些标识信息(即数字水印)直接嵌入数字载体(包括多媒体、文档、软件等)当中,但不影响原载体的使用价值,也不容易被人的知觉系统(如视觉或听觉系统)觉察或注意到。通过这些隐藏在载体中的信息,可以达到确认内容创建者、购买者、传送隐秘信息或者判断载体是否被篡改等目的。数字水印是信息隐藏技术的一个重要研究方向。简单的可见水印处理在空间域执行。不可见水印是裸眼看不见的,需要使用一个合适的解码算法进行恢复。水印处理的目的是在图像上添加数据信息,水印本身可以是可见的或不可见的。

本文介绍的数字图像水印处理,是把二值数据插入到一副图像中以对图像构成保护。由于MATLABm语言是一种非常简单高效、功能极强的编程语言,许多复杂的问题在MATLAB中很容易实现。本文基于频域的DCT(离散余弦变换)数字水印算法过程,详细介绍用MATLAB实现数字水印的嵌入和提取的方法。

1 数字水印技术

从信号处理的角度看,在载体图像中嵌入数字水印可以视为在强背景(即原始图像)下叠加一个视觉上看不到的弱信号(水印),由于人的视觉系统(Human Visual System,HVS)分辨率受到一定的限制,只要叠加信号的幅度低于HVS的对比度门限,HVS就无法感觉到信号的存在,因此,通过对载体对象作一定的调整,就有可能在不引起人感知的情况下嵌入一些信息。

1.1 数字水印嵌入的原理

图1中的编码器把水印wi嵌入到图像fi中,产生加过水印的图像fwi。

图1 水印处理系统的编码器

水印嵌入准则分为加法准则和乘法准则,如式(1)和(2)所示:

α为强度因子,保证在水印不可见的前提下,尽可能提高嵌入水印的强度。α的选择必须要考虑图像的性质和系统的视觉特性。

1.2 数字水印的提取和检测原理

图2中解码器提取和验证加过水印的输入fwi或没有加过水印的输入fi中水印wi的存在性。如果水印可见,不需要解码器,如果水印不可见,解码器可能需要也可能不需要fi和wi的拷贝去做提取和验证工作。但将水印技术用于图像的网络发布和传播时,如果检测时需要使用原始图像则是个缺陷,因此,当前大多数的水印检测算法不需要原始图像的参与。

图2 水印处理系统的解码器

2 DCT数字图像水印算法

2.1 二值水印的嵌入算法

水印信息选择二值化的灰度图像,嵌入系数根据水印图像的二值性进行选择,首先将原始图像分成8×8的子块,然后将数字水印的灰度值直接植入到原始二值灰度图像DCT变换域中,实现水印的嵌入。具体方法如下:

设X是M*N大小的原始图像,W是水印图像,大小为P*Q,M和N分别是P和Q的偶数倍。把水印W加载到图像X中,算法分以下几步进行:

(1)将 X 分解为(M/8)*(N/8)个 8*8 大小的方块 BX(m,n),同时,将 W 也分解为(M/8)*(N/8)个(8·P/M)*(8·Q/N)大小的方块 BW(m,n),1≤m≤M/8,1≤n≤N/8。

(2)对每一个 BX(m,n)进行 DCT 变换:DBX′(m,n)=DCT(BX(m,n))。

(3)对每一个 DBX′(m,n)和 BW(m,n),si为从 DBX′(m,n)的中频选出的加载的位置,1≤i≤(8·P/M)*(8·Q/N),ti为水印 BW(m,n)的位置坐标 1≤i≤(8·P/M)*(8·Q/N)。 DBX″(m,n)(si)=α*BW(m,n)(ti),其中 α 是加权系数,用DBX″(m,n)(si)来代替DBX′(m,n)(si)得到加载水印后的图像。

(4)对以上得到的每一个DBX″(m,n)进行逆DCT变换:IDBX(m,n)=IDCT(DBX″(m,n))。并将各方块IDBX(m,n)合并为一个整图X′,即加载了水印的新图像。

2.2 二值水印的提取算法

设图像X′为已经加载了水印的载体图像。现要将所加载的水印从X′中提取出来。其过程为上述加载水印算法的逆运算:

(1)将 X′分为(M/8)*(N/8)个 8×8 大小的方块 BX′(m,n),1≤m≤ M/8,1≤n≤N/8。 (2)对每一个 BX′(m,n)进行二维 DCT 反变换:BX(m,n)=iDCT(BX′(m,n))。

(3)对每一个 BX(m,n),按照式 BW(m,n)(ti)=1/α*BX(m,n)(si)得到BW(m,n)。将上面得到的所有BW(m,n)合并成一个整图W 。

3 MATLAB实现

下面以256*256的灰度图像作为原始图像,以32*32的二值图像作为水印图像,来实现水印的嵌入与提取。

运行得到结果如图3。

图3 水印的嵌入提取结果

增加强度因子为0.08,结果如图4,水印已经显现出来。

图4 增加强度因子后嵌入和提取结果

4 结束语

从仿真结果可以看出,嵌入水印信息后,强度因子选取合适值,原图与嵌入水印信息后的图像在视觉效果上没有明显分别,用肉眼几乎分辨不出,所以强度因子的选取要充分利用利用人眼的视觉特性。利用DCT域嵌入水印后,图像在嵌入水印前后可以做到视觉效果改变不大,不影响图像的正常使用。

[1]阮秋琦,阮宇智.数字图像处理(第三版)[M].电子工业出版社,2013:394-396.

[2]武红玉.基于DCT的数字水印的嵌入和提取[J].许昌学院学报,2012(05).

[3]徐先传,张琦.一种基于DCT域的数字水印方案研究[J].微计算机信息,2007(12).

[4]高玉娜,杨忠根.基于DCT域的数字水印算法[J].电脑知识与技术,2009(04).

[5]张莉华,陈萍.信息安全中的数字水印算法研究[J].计算机仿真,2011(10).

猜你喜欢
二值数字水印解码器
科学解码器(一)
混沌伪随机二值序列的性能分析方法研究综述
支持CNN与LSTM的二值权重神经网络芯片
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
基于网屏编码的数字水印技术
基于二值形态学算子的轨道图像分割新算法
基于曲率局部二值模式的深度图像手势特征提取
基于数字水印的人脸与声纹融合识别算法