APP下载

数字图像水印系统算法研究与设计

2016-05-14姚楠周子裔

软件导刊 2016年5期
关键词:数字水印图像处理

姚楠 周子裔

摘要:在数字水印技术中,数字图像水印技术是发展最成熟、应用最广泛的分支。它指定了“图像”这一嵌入对象,与广义的数字水印技术相比,其使用的技术大多涉及信号处理和数字图像处理两大学科领域。基于Matlab设计数字图像水印系统,利用离散余弦变换算法实现了数字图像水印的嵌入、检测和攻击测试,取得了较好效果。

关键词:数字水印;图像处理;离散余弦变换;Matlab

DOIDOI:10.11907/rjdk.161096

中图分类号:TP317.4

文献标识码:A 文章编号:1672-7800(2016)005-0196-03

0 引言

目前,数字水印技术已广泛应用于图像、视频、音频、文本等方面,且图像数字水印发展最为成熟、应用范围最广。图像是视频的基础组成部分,对图像的水印研究成果可以直接用于视频水印上,并且图像信息量适中,有足够的空间来嵌入一定信息量的水印,而不会导致图像的总数据量太大,因而处理速度较快[1]。本文基于Matlab构建数字水印系统,利用离散余弦变换算法实现了数字图像水印的添加、提取及攻击测试,以期为相关研究提供参考。

1 离散余弦变换域水印算法

离散余弦变换域数字水印算法是目前研究最多的一种数字水印技术。离散余弦变换域数字水印技术比简单的空间域水印技术的健壮性更好[2]。这种算法对于简单的图像处理操作,如低通滤波、亮度调整、对比度调整和模糊等是鲁棒的。离散余弦变换域水印可分为全局离散余弦变换域水印和块离散余弦变换域水印。块离散余弦变换域水印首先对图像在空域中分割成块,将每个分块进行离散余弦变换后,将水印信息添加到低频或直流分量中,再进行离散余弦反变换,并且拼回完整的图片[3]。利用这种算法检测水印时需要以原始图片作参考,即明水印,该算法隐蔽性好,且由于JPEG和MPEG有损压缩算法是基于离散余弦变换的中频和高频分量,因而对这两种常见有损压缩有很好的鲁棒性,同时也具有良好的抗噪声性能。因此,本文采取改进的块离散余弦变换域水印算法。

2 块离散余弦变换域水印算法

2.1 水印选取

水印类型多种多样,可以总结成两个分类:无意义水印和有意义水印。无意义水印指生成一段伪随机数序列,水印嵌入者对伪随机序列嵌入水印的同时,将该序列留存,检测水印时,检出的水印与该序列对比,可用于确定水印存在与否。如果水印遭到攻击而破损,则检测时可以通过统计策略来确定水印是否存在。有意义水印则指具有一定意义的、预先设计确定的一组数据,数据可以是多种多样的,可以是另一张图像、一段以二进制编码的文字、一组二进制序列号,如果水印的容量足够大,还可以是音频等信息[4]。

数字图像按其特性,可以分为二值图像、灰度图像和彩色图像3种。嵌入的水印往往是一个名字或者一个标识,一般都可以用二值图像表示,并且嵌入灰度图像和彩色图像信息量很大,通常需要预处理。因此,本文选择二值图像作为水印。

水印的大小也是有限制的,如果水印的大小超过了源图像的大小,则需要对水印进行预处理才可以被嵌入。水印的信息量也不能超过嵌入算法在源图像中的容量上限。在不进行预处理的情况下,水印图形与原始图像大小的比值越小,水印嵌入的质量就越好。

2.2 嵌入位置选择

嵌入位置的选择由两方面构成:一是空域中的位置选择,即选择将水印信息嵌入在哪些像素中,对于块水印,还涉及块大小的选择;二是频域中位置的选择,即选定一个性能好、具有较好鲁棒性、嵌入水印后对原图影响较小的的频率位置[5]。一般而言,对图像进行分块时,分块是等宽高的。本文在设计水印时,使用了等宽高的水印,所以如果不作特殊处理,只能对宽高相等的源图像进行处理。若要设计针对不同分辨率的图像均可处理的程序,则需要对源图截取一个等宽高的部分,然后对该部分进行水印嵌入操作。水印信息嵌入的频域位置影响着图像经过基本压缩的鲁棒性,选择适当的嵌入位置对图像质量及水印信息至关重要。

图像经离散余弦变换的能量大多集中于低频和直流部分,而高频分量则明显较少。在低频或直流分量中添加水印信息,其较大的幅度使得其提取时的信噪比更高,更有利于水印提取。并且,有损图像压缩算法(如JPEG、MPEG)对该低频信息的改动较少,加在低频或直流区域的水印能够有效地抵御有损压缩攻击。此外,人类视觉主要集中在低频频段,攻击者在破坏水印的过程中,会引起图像质量严重下降,因此在该频段中嵌入水印有利于阻止攻击者对水印发起攻击[6]。

2.3 水印嵌入算法设计

块离散余弦变换域变换算法有很多变种,在实际设计时往往会根据实际使用情况加以修改,因此不尽相同。本系统采取的算法是:设原始图像I为一个M×N像素大小的RGB彩色或者灰度图像,J是P×P像素大小的二值灰度图像水印。如果是RGB彩色图像,则需提取其某个颜色的值。该算法具体描述为:

(1)首先确定分块系数K,该系数通常是一个指定的值,但在通过Matlab实现数字水印的过程中,为了能够体现通用性和对不同图像的适应性,K应该由程序计算得出一个恰当的值,以便能将水印加载在各种分辨率和宽高比的图像中去[7]。本设计中令A为M和N的最小值,设定K=A[]P。

(2)对图像I进行分块,将原图中A×A的区域,分割成(A/K)×(A/K) 个 K×K大小的块Bm,n,0

(3)对每一个分块进行二维离散余弦变换运算,得DBm,n。

(4)选定其中一个中低频分量位置i,将水印信息添加至其中,添加过程可表达为:

DB'm,n(i)=DBm,n(i)×J(m,n)×scale

其中scale为缩放系数,该值一般取0.01~0.02。

(5)对DB'm,n做离散余弦反变换,得IDBm,n。

(6)将分块的IDBm,n重新拼合成带水印图像的A×A部分,再将其余未参与水印嵌入部分的原图复制整合,即完成图片的水印嵌入。

如果原图像是彩色图像,则要将其它两种颜色分量处理后进行合并。

在主界面上浏览输入源图像和水印图像,设置分块系数为5,点击“嵌入水印”,结果如图1所示。

2.4 水印提取算法设计

与嵌入算法对应,水印要通过检测操作才能发挥其应有作用。提取算法和嵌入算法很相似,且其中很多参数必须和嵌入时保持高度一致,才能保证准确提取水印。

由于该水印设计之初就为明水印,因此进行水印检测时必须有未加水印的源图像参与。根据上述已设计出的嵌入算法,确定对M×N像素尺寸、分块系数为K的带水印图像X进行提取,算法具体描述为:

(1)对带水印的图像X进行分块,将原图中A×A区域,即将原图取其等宽高的区域,分割成(A/K)×(A/K) 个 K×K大小的块XBm,n,0

(2)对XBm,n每一个分块进行二维离散余弦变换运算,得DXBm,n。对IBm,n每一个分块进行二维离散余弦变换运算,得DIBm,n。

(3)生成一个(A/K)×(A/K)大小的空白矩阵空间Y。

(4)依据嵌入水印时设计好的嵌入空间位置和频域位置遍历全图,对源图和带水印图像进行比较,若水印图像在元素较大位置,则置水印该位置为1,否则置为0。

在主界面上浏览输入待检测图像,点击“检测水印”,结果如图2所示。

3 水印攻击

水印经常会遭到各种类型的攻击,因此水印必须有能力对抗此类攻击。攻击抵抗能力是对水印系统性能评估的一个重要指标,即鲁棒性。本文设计的攻击实验平台如图3所示。

3.1 JPEG压缩

为方便图像在互联网进行传播或者节约存储空间,图片往往会被压缩。最常见的图像压缩算法是JPEG压缩,该算法可以非常有效地缩小图片数据量、节约存储空间,但这是一种有损压缩算法,将不可逆地损坏图像的视觉效果,同时也对图像中的水印造成影响。由图4可知,本算法对JPEG压缩攻击的鲁棒性较好,即使经过质量系数50的严重压缩后,水印图像仍然可以辨别。同时也可以看出,质量系数越低的JPEG压缩,对水印的影响越大。

3.2 噪声攻击

图片在通信过程中,往往会因为通信过程而加入噪声,因此水印往往要对这些噪声具有鲁棒性。实验中一般采取添加高斯噪声、椒盐噪声的方式,攻击的检测结果如图5所示。噪声攻击后,水印虽然有图像质量上的损失,但是人眼仍然可以识别,即使加强噪声的强度,使用统计方法也可以检出水印。

4 结语

离散余弦变换域数字水印是目前应用最广泛、研究最多的图像水印方案,其计算简单、算法清晰明了,通过结果测试可知离散余弦变换域水印各方面性能良好。同时,选择在低频部分嵌入水印,利用图像的离散余弦变换的能量多集中于低频部分的特点,保证了水印的信噪比,同时也能较好地在JPEG压缩等主要针对高频部分的有损压缩攻击中表现出较好的鲁棒性。本系统设计的可视化应用平台为开发者提供了良好的研究环境。

参考文献:

[1]杨小平,尤晓东,肖林.多媒体技术及应用[M].北京:清华大学出版社,2011.

[2]王颖,肖俊.数字水印原理与技术[M].北京:科学出版社,2007.

[3]VIDYASAGAR M POTDAR,SONG HAN,ELIZABETH CHANG.A survey of digital image watermarking techniques[D].Perth:Curtin University of Technology,2005.

[4]金聪.数字水印理论与技术[M].北京:清华大学出版社,2008.

[5]葛馨远.基于Matlab 的DCT 域图像水印的研究[J].信息技术,2005,29(4):92-94.

[6]许宪东,季振洲.DCT水印中拉伸系数与嵌入位置的选择[J].计算机应用与软件,2006,23(9):124-127.

[7]张德丰.Matlab数字图像处理[M].北京:机械工业出版社,2012.

(责任编辑:孙 娟)

猜你喜欢

数字水印图像处理
基于网屏编码的数字水印技术
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
Bayesian-MCMC算法在计算机图像处理中的实践
改进压缩感知算法的图像处理仿真研究
基于图像处理的定位器坡度计算
基于数字水印的人脸与声纹融合识别算法
一种多传感器图像融合与数字水印技术
基于图像纹理复杂度的小波域数字水印算法
Photo Shop通道在图像处理中的应用