1、基于DCT的数字水印算法的研究基于DCT的数字水印算法的研究Research of Digital Watermarking Algorithm Based on Discrete Cosine Transform摘 要近年来,由于网络的迅猛发展,越来越多的多媒体信息已经走向数字化。人们可以从网上更加方便的取得各类信息,可以更加方便的对别人的作品进行篡改,复制等,由此带来的版权维护问题也日益严重。版权维护也越来越受到人们的关注了,数字水印技术是解决这类问题最有效的手段,所以数字水印技术现在已然成为了研究的热点。本文是对基于DCT域数字水印算法的研究,简要介绍数字水印的发展,基本原理等,在MAT
2、LAB环境中完成两种基于DCT域数字水印算法的设计。第一种是基于DCT图像全局变换的数字水印算法,而第二种则可以认为是第一种算法的改进,是基于DCT域分块水印算法。然后对于水印系统的鲁棒性,进行一些攻击测试,有盐噪声攻击、高斯噪声攻击、旋转攻击、剪切攻击、JPEG有损压缩攻击等,对比分析哪种算法更好。虽然说该课题只不过是对现有的数字水印技术进行了一个比较简单的研究,但是让我们充分认识到了数字水印技术对我们日常生活的重要性。 关键词:数字水印 DCT 攻击测试Abstract In recent years,with the rapid development of the network,mo
3、re and more multimedia informationhas beendigitized.People canobtain various kinds ofinformationfrom the Internet more convenient, the work of others will be altered and copied more convenient, copyright protectionissues are also increasingly serious. People are more and more concerned about copyrig
4、ht protection, digital watermarking technology is the most effective means to solve these problems, so the digital watermarking technology has become a hot topic now. This article is to study based on DCT-domain digital watermarking algorithm, introduced the developmentof digital watermarking and th
5、e basic principlesetc,completed two design schemes based on DCT-domain digital watermarking algorithm in MATLAB environment. The first one is based on digital image watermarking algorithm global transformation of DCT, while the second onecan be consideredto improvethe first algorithm, which is based
6、 on DCT-domain block watermarking algorithm. Then for the robustness of the watermarking system, we performed some attack test, salt noise attack, Gaussian noise attack and spin attack, cropping attack, JPEG compression attack, in order toprovewhichis better. Although the subject is a relatively sim
7、ple research for the existing digital watermarking technique , but it let us aware of the importance of digital watermarking technology in our daily life.Key words:Digital watermarking DCT Robustness Attack test绪 论 进入20世纪以来,网络得到了非常迅速的发展,我们现在可以在网上得到非常多的信息1,而在进入数字信息时代之前,我们基本上都是靠书本或者报纸新闻上来了解各方面的信息。虽然说网
8、络的高速发展给我们现在的生活带来了非常巨大的改变,使信息的传递变得越来越简单,我们可以更加方便的从网上得到自己所需要的东西。但是随之而来的弊病也很多,对于我们现在来说,知识版权十分重要的,它关乎着自己的利益,但是网络信息高速发展,人们可以简单方便的篡改或者复制你作品里面的东西。一些不法分子就是利用这些漏洞,非法盗用别人的作品去谋取暴利,导致你根本就不能确定自己的作品是不是遭人窃取或者篡改。随着网络时代的开启,也就意味着版权战争的开始。现在数字信息技术也逐渐运用到了教育、医学、军事等方面2-3,一旦涉及到这些方面的信息被人篡改或者是盗用,后果将是不堪设想的,所以说数字信息安全已经成为摆在人们面前
9、的问题了,急需解决。一开始时,人们认为给那些信息加密就行,但是传统的方法一旦将信息解密后就无法进行版权维护了,这个方法局限性实在是太大,根本就不能满足我们对信息安全的要求。数字水印技术,一个具有划时代意义的技术,完美的解决了这个棘手的问题。在任何情况下,我们都不用担心因为版权问题给我们带来的难题,因为这种技术嵌入算法众多,在加入水印时,只有版权拥有者才知道水印具体的嵌入方法和位置,其他人是不知道的。也许还有人会存在这样侥幸心理,破坏里面的水印,这样就可以了。数字水印技术为什么会在近几年来会成为研究的热门呢,因为它能确定版权作品的完整性和可靠性。还有就是嵌入的水印是具有非常好的鲁棒性,简单说就是
10、无论你怎么攻击水印,它都会存在而不被破坏。对数字水印越来越深入的研究发现,其拥有巨大的经济效益,如今我们仍然还在对其进行系统的研究,数字水印技术将在信息安全方面会发挥出越来越发重要的作用。 数字水印技术作为如今一个研究的热门方向,作为防伪和维护信息安全的重要技术,是一种完全创新的新技术4-5。1993年,数字水印技术首次被提出,人们开始尝试将一些比较重要的信息嵌入到一些不重要的信息中,然后在进行相应的传播,人们发现传播中的信息完全没有被篡改,由与该实验的成功,数字水印技术立即受到了各领域的关注。尤其是美国、德国、英国、荷兰、日本以及一些欧盟国家知名的研究机构、大学及公司,他们相继对数字水印技术
11、进行相关研究,甚至是军方组织也对其产生浓厚的兴趣。 后来在学术界引发了数字数印技术狂潮,世界范围内各领域的学者专家相继发表了有关于数字水印方面的文章6。其中不乏在知名且具有世界性影响力的会议上发表的文章。数字水印技术俨然已经成为当时学术界的主旋律,越来越多的数字信息隐藏研讨会为数字水印技术开辟专题,越来越多的有关于数字水印的论坛被创建。上世纪90年代末,国外市场上也逐渐出现了数字水印产品,也有公司开始做数字水印技术软件,如美国的Digimarc公司、Adobe公司等。 相比之下,当时国内对数字水印技术的关注情况就相对差些,但是随着网络时代的来临以及国外对数字水印技术的越来越重视,国内学者也逐渐
12、对数字水印技术重视起来。随着时间的推移,已经有许多相当有实力的研究所和大学投入到数字水印技术领域中来了,各种类型的有关于数字水印技术的学术研讨会也陆续召开,也有人开办了有关数字水印方面的公司,这也说明了在我国数字水印技术已经开始走上商业化道路了。虽然说数字水印技术在我国就发展情况来说,还是处于初级阶段,但是随着数字水印技术一步步融入我们的日常生活,这也必将激发我们对数字水印技术进行更深层次的研究,推动国内数字水印技术的蓬勃发展,为我国网络信息安全及相关产业保驾护航。 本课题研究的主要内容是:了解数字水印技术所产生的背景以及有关数字水印技术的一些原理和相关知识点,我们需要在MATLAB环境下搭建
13、仿真环境,采用两种基于DCT域数字水印算法实现水印的嵌入和提取程序的设计,最后再通过一些常见的攻击试验对水印的鲁棒性进行测试,比较两种算法。1 数字水印的介绍1.1 数字水印定义及基本特点1.1.1 定义数字水印技术它是将图片或者是携带有标识信息的水印信息嵌入到某些多媒体载体中,嵌入数字水印信息后,一般对于我们来说,我们是很难看到的7-8。很难判定其中是否嵌入了什么。就因为这样一个特性我们才能对具有版权信息的作品进行有效的保护,即使你想通过某些攻击来破坏水印来到达盗取作品内容了想法,这样是行不通的,因为数字水印技术有较强的鲁棒性,是一个崭新的信息隐藏技术。1.1.2 基本特点(1) 不可感知性
14、:在图像嵌入了水印过后,一般来说图像数据信息已经发生了明显的改变,但是对于我们来说,在视觉上我们是完全看不出来的,因为对于数字水印技术来说,水印的不可见性是对于防伪识别是很重要的。 (2) 鲁棒性:对于任何一种数字水印算法来说,鲁棒性是至关重要的,在版权维护中,鲁棒性太差就水印信息容易被完全破坏,给版权维护带来很大的麻烦,所以说数字水印都应该具有一定的鲁棒性来抵抗各种攻击。 (3) 安全性:嵌入水印信息是以任何形式的,但是嵌入的算法及位置只有嵌入者才清楚,所以不用担心别人知道。也不用担心别人破坏水印信息,在不知道嵌入算法和位置的情况下,由于数字水印的鲁棒性,水印是难以被破坏的。 (4) 可证明
15、性:数字水印作为鉴定版权信息,防伪识别的重要工具,可证明性是非常重要的,一般水印会设计嵌入和提取算法。向作品中嵌入作者及版权信息,一旦涉及到侵权问题的时候我们可以通过提取之前嵌入的相关信息来证明作者对其作品拥有版权,并将其作为起诉时的证据。1.2 数字水印基本原理 所有的数字水印系统基本上都包括水印前如何提取两大块。虽说我们经常看到的原理框图是那么的简单,但是在真正进行实验的时候就没有想象中的那么简单了,首先在嵌入水印时,我们就要考虑将水印嵌入到原始图像的哪个位置才能具有更好的鲁棒性和安全性,不同的算法嵌入位置,鲁棒性,安全性是各不相同的;提取时也是这样一个道理,嵌入位置,密钥只有嵌入者知道。
16、所以说别看是一个简单的原理框图,其蕴含的知识点是很多的。1.2.1 水印嵌入如图1-1所示,是数字水印嵌入模块。我们可以简要的描述水印嵌入的过程,水印信息通过密钥在我们预先设定好的数字水印嵌入算法下将水印信息嵌入到我们的原始图像中。图1-1 数字水印嵌入模块实际上在实际运用中我们用的的密钥可能不止一个,为了保证水印算法有足够的安全性和鲁棒性我们常常会有到几个密钥,这个要看具体情况而定。1.2.2 水印提取如图1-2所示,是数字水印提取模块。我们可以简要的描述水印提取的过程,其实水印的提取就是水印嵌入的一个逆向过程。只要我们知道了水印是如何嵌入及密钥,我们就可以将水印信息通过密钥在我们预先设定好
17、的数字水印提取算法下将水印信息从含水印的图像中完整的提取出来。图1-2 数字水印提取模块 也有人提出盲水印提取,相比于盲水印提取,我认为非盲水印提取在证明版权内容是否被篡改,验证其完整性更具有优势,因为通过非盲水印算法通过借助提取出来的水印图像完整性来鉴定内容完整性是我们实际用到的。1.3 数字水印分类 (1) 按照特性划分:按照特性可分为鲁棒性水印和易损性水印。 鲁棒性水印,从名称上看也说明该水印具有很强的鲁棒性,其作用主要是版权维护方面,我们通过将作者信息作为水印信息嵌入到其作品中,当然嵌入的信息是不可见的。侵权者是很难破坏水印信息的,即使是受到攻击,也是能保持良好的鲁棒性的。所以说对于版
18、权保护来说,鲁棒性水印是非常安全的。 易损水印,他是一类极其敏感的水印,用于保护作品的完整性。向我们所需要保护的作品中嵌入不可见信息,当作品中的内容受到攻击或者发生改变时,嵌入进去的水印信息也会随之发生改变。所以说在保护作品完整性方面,易损水印是很有优势的,为了确定作品是否被篡改,我们可以通过检测水印信息是否变化来判定作品内容是否被篡改。 (2) 按隐藏位置划分:我们可以分为空域水印和频域水印。按字面意思理解它们其实很简单,空域水印就是将水印信息嵌入或隐藏到空域信号上,而频域水印就是将水印信息嵌入或隐藏到频域系数上。两种水印是各有优点,频域水印是不可见性和鲁棒性较好,但是相比于空域水印成本较高
19、。 (3) 按检测过程划分:我们可以分为盲水印和非盲水印。盲水印,刚开始可能有点不理解,盲字面意思就是瞎的意思。这里盲水印就是说提取过程完全是靠密钥来完成不需要借助原来的数据;非盲水印就和盲水印完全相反了,需要原来数据的帮助才能提取水印。 (4) 按内容划分:可以分为有意义水印和无意义水印。字面意思理解有意义水印就是嵌入的水印是有意义的,一般为图像等,人们可以通过提取水印可以看出水印是否存在,即使是收到攻击,就算是清晰度下降,但还是能保持部分完整性,便于鉴定。但是无意义水印就不行了,它嵌入的是一段无意义的随机数列,提取时根本就无法却它时候在传输过程中是否被篡改过,很难做到维权这方面。 (5)
20、按用途划分:分为版权维护水印、证票据防伪、篡改提示及隐蔽标识水印。版权维护水印,字面就能理解,主要是用于版权维护方面的,在现在这个网络信息发达的年代,信息基本上都是通过网络传输的,人们可以很方便的对数据进行拷贝或者是篡改,版权维护水印则可以维护版权者利益。票证据防伪,主要适用于各类证件、票据的防伪标识,人的一生中有很多证件,其中最重要的就是你的个人身份证件,一旦被他人盗用,后果是可想而知的;现在好多公司对于员工福利十分注重的,很多费用可以报销,如果有人要用假的票据来谋取利益,对一些公司的利益就有所损害。证票据防伪水印对于维护个人及他人利益是非常实用的。篡改提示,就是在版权内容受到篡改时,可以通
21、过对水印信息的是否改变来判断是否被篡改。隐蔽标识水印,隐藏标识过得水印信息,以防XX者对隐藏信息的篡改。1.4 数字水印的常见算法 进入网络时代后,数字水印技术也随之取得了非常大的进步,下面我们将对一些典型的数字水印算法进行分析介绍。1.4.1 空域算法 (1) LSB(最低有效位算法):就是将我们学要隐藏的数字水印信息隐藏到载体数据的几位最低有效位,对于这种算法,虽说隐藏信息大,但是鲁棒性实在是太差,很难忍受住一些攻击算法,也比较容易被篡改。 (2) Patchwork算法:我们随机从原始数据中选取一些像素点,然后增强其中一个像素点的亮度,同时降低一个像素点的亮度,来完成水印数据的隐藏。1.
22、4.2 变换域算法如今大多数的图像数字水印技术都用到的是变换域算法,因为变换域算法拥有较强的安全性和鲁棒性,不可见性也是比较好的,能抵抗一些普通的攻击,应用是非常广泛的。离散余弦变换(DCT)它是基于实数的正交变换,能与现在最常用的JPEG压缩算法兼容,具有非常强的鲁棒性等特点9-12。而离散小波变换(DWT)则是基于变分辨率的算法,是频域与时域的相结合,现在DWT也已经运用到了日常生活中很多领域,相信DWT算法在今后也会更受关注。1.4.3 JPEG压缩域算法基于压缩域算法主要是直接将水印信息嵌入到压缩位流中,避免了压缩对水印的破坏,该算法具有较强的鲁棒性和安全性。能够很好地解决某些算法在压
23、缩中导致水印信息发生改变,从而导致版权被破坏给作品带来损失。1.4.4 NEC算法之所以叫NEC算法,就是因为它是由NEC实验室的Cox等人提出来的,NEC算法采用的是一种非常特殊的密钥,使其具有很好的不可见性、安全性和鲁棒性。1.4.5 生理模型算法 生理模型主要是指人类视觉和听觉形系统模型,利用人类这方面生理模型的特点来确定水印信息嵌入强度到底能有多强,避免破坏图像的视觉质量。通过人类视觉模型而确定的算法所嵌入的水印信息就不可见性来说是非常好的,还有就是此算法同样具有非常好的鲁棒性,能经受住各种类型的攻击,可谓说是非常实用的算法。2 开发工具和环境2.1 MATLAB简介 MATLAB它是
24、Math-Works公司在1982年推出的具有非常高性能软件,与Mathematica、Maple并称为三大数学软件13。它集数值分析、信号处理、图形显示和矩阵运算于一体,在数学类科技应用软件中它的数值计算是首屈一指的。MATLAB可以进行创建用户界面、绘制函数和数据、实现算法矩阵运算等,其主要应用于信号检测、控制设计、图像处理、信号处理与通讯等领域。MATLAB一经推出就得到了各个领域学者、专家的广泛关注,其非常强大的扩展功能为不同领域的应用提供了基础。专家学者相继推出了MATLAB工具箱,其中的图像处理、信号处理、小波变换、控制系统、统计等工具箱。借助于这些称之为“巨人肩上的工具”,来至于
25、各个层次的研究人员就可以方便地进行计算、分析及设计工作,从而极大地节省了时间。其强大图形功能以及丰富的图像处理函数,使得MATLAB非常适用于数字图像处理学习和应用。矩阵是MATLAB的基本数据单位,其指令表达式数学中常用的形式极其相似,因此用MATLAB来解决问题要比C和其他语言完成同样的事情简捷的多。MATLAB也吸取了像Maple等软件的优点,使其成为一个非常强大的数学软件。2.2 MATLAB语言特点MATLAB语言非常简洁,人们可以用非常简洁的语言完成一些非常复杂的语言才能完成的程序。也可以和C语言兼容使用,数学中的运算符也非常多,如何正确的使用运算符,可以是自己的程序显得更加简单。
26、还有就是MATLAB中好多工具箱及其文件源程序都是可以进行修改的,和LINUX操作系统差不多的,我们可以进行随意修改,创造出一个新的工具箱。在MATLAB上有些基本的矩阵运算是不需要你来重新编写程序的,就比如我们此次实验中要用到的DCT运算,只需要进行简单的函数就可以直接实现了,这样会使我们编写的程序变得非常方便简洁。3 基于DCT域数字水印算法实现3.1 离散余弦变换DCT其实是非常类似傅里叶变换,但是DCT是基于实数的正交变换,只使用实数。在DCT变换域上低、中频系数上叠加水印信息,由HVS可得知人眼的感觉主要集中在中、低频段,当攻击者破坏水印时,难免会对图像质量有着非常严重的影响,一般的
27、图像处理是不会改变这部分数据的。对于DCT变换域系数的统计分布,它是有着比较好的数学模型,可以理论上估计水印所含的信息量。基于DCT变换域数字水印在逆进行变换时,水印信息会散布在整个图像空间中,故水印不像空间域那样易受到低通滤波、裁剪等攻击的影响,有着非常好的隐蔽性和鲁棒性。3.2 基于DCT全局变换算法1995年,Cox等人第一次提出了基于图像全局变化的数字水印算法14-15。此算法主要是将正态随机数列嵌入到中频或者是其他频带区域上,它利用了序列扩频技术和人类视觉感知系统的特性。该算法的主要思想是首先将原始图像整体进行DCT变换,然后产生一段随机数列作为水印信息嵌入到原始图像DCT域中的幅值
28、较大的前 N 个系数上,一般是DCT域中的中频部分。对于不同的图像,当然位置也是不同的,嵌入的位置和信息只有水印嵌入者知道。攻击者无法知道水印的大小和嵌入的精确位置,为了修改或者是破坏水印信息他们只有对其进行攻击,但是攻击会使水印发生变化。该算法其成功之处在于,将水印扩展到整个图像中,使水印图像具有较好的鲁棒性和不可见性。3.2.1 水印的嵌入思路 (1) 首先选取将要嵌入水印的原始图像lena,然后使用random函数产生一个长度为n的随机数列W作为自己要嵌入的水印信息。 (2) 对原始图像lena整体进行二维DCT变换。 (3) 在原始图像DCT域中选择最大的n个系数Y来携带随机数列水印信
29、息。(4) 由公式3-1,我们可以确定得到含有水印的DCT域系数M,其中是控制水印嵌入强度的尺度因子。 M= Y (1 + W) (3-1) (5) 最后一步就是进行二维反DCT变换了,我们现在对取得的新的系数M进行逆二维DCT变换,我们就可以得到嵌入随机数列作为水印后的图像。3.2.2 水印的提取思路 水印的提取实际上就是水印嵌入的逆过程,下面是提取的思路。 (1) 对待提取的含数字水印的图像整体进行相应二维DCT变换。 (2) 根据密钥选择变换域系数中的可能含有水印的n个重要的系数X,然后从中提取水印信息,由公式3-2,来提取水印信息M。 M=(X-Y)/(Y) (3-2) (3) 根据提
30、取出来的水印信息和原始谁信信息进行相似度进行比较,然后再跟预先设定的阀值进行比较来确定水印是否存在。3.2.3 仿真结果我们把一幅512512的lena的灰度图像作为载体图像,对他进行DCT变换,然后用random函数产生一个长度为1000的随机数列水印,嵌入强度我们选择的是0.0667,经过上述思路的水印嵌入和提取后,结果如图3-1所示,是第一种算法的仿真结果图。其中a)是原始图像,b)是嵌入水印后的图像,c)是提取出来的水印图像。 a) b)c) 图3-1 第一种算法的仿真结果图 由以上图像可知,原始图像和嵌入水印后的图像根本看不出什么变化,但是,在提取出来的水印来看,就是一条黑线,根本不
31、能判定嵌入的是什么样的水印信号,之所有出现这样的情况,因为我们嵌入的是一段无意义的随机数列水印,所以提取出来的水印就是这样。3.3 基于DCT分块扩频水印算法其实DCT分块扩频水印算法就是DCT图像全局水印算法的一种改进算法,前面算法是将随机数列水印这种无意义的水印嵌入到原始图像中,提取出来的水印可以看出这样的水印信息根本就没有任何意义。在版权保护中,这种无意义的水印是起不到任何作用的,而分块扩频水印算法是将有意义的水印嵌入到图像中,我们这里主要是将一幅二值图像作为水印信息嵌入,所以分块扩频水印在版权保护方面有着很重要的应用。DCT分块扩频水印算法的主要嵌入思想是:将载体图像分为若干个88的小
32、块,同时水印图像也是这样的,然后再将每一块水印信息嵌入到每一块对应的DCT域中。3.3.1 水印的嵌入思路选取尺寸为512512大小的lena作为原始图像I,则水印图像大小为512512/88,即6464尺寸大小的二值图像J。将二值水印图像嵌入到原始图像中,分为下面几个步骤: (1) 首先将原始图像lena分解为6464个大小为88的方块BI,同时也要将二值水印图像分为6464个大小为88的方块BJ。 (2) 这时要对每一个原始图像的分块进行相应的DCT变换,BI=dct(BI)。 (3) 对于现在的每一个BI和BJ来说,si是从BI中频上面选取出来的作为水印的加载位置,ti为BJ的坐标。 (4) BI(si)=BI(si)+aBJ(ti),其中a是加权系数,用此时的BI(si)代替BI(si)得到加入水印过后的图像。 (5) 对上一个步骤得到
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1