基于DWT域的数字图像水印技术 摘 要:随着计算网络和多媒体技术的快速发展,特别是Internet的普及,信息安全问题日益突出。如今信息隐藏技术,特别是数字水印技术作为版权保护的重要手段,己经得到广泛的研究和应用。数字图像水印技术作为一种新兴的版权保护技术,其实质是运用图像处理技术实现信息的隐藏。其核心是将数字水印信息嵌入到图像中,同时保证人眼感觉不到图像质量的下降,也即是保证所加入水印的不可见性。这是一种解决版权问题的有效方法。 数字水印技术从根本上说,属于信息隐藏技术,论文首先介绍了数字水印技术的提出背景及意义、研究状况、应用领域、基本特性、分类、基本模型和典型算法等。重点分析了基于离散小波变换的数字图像水印技术的概念及小波变换的原理和算法,以及小波变换在数字水印领域中的应用。设计了一个完整的水印系统,给出了一种基于haar小波变换的数字水印算法,并在Matlab7.0环境下实现了该算法。实验结果表明,该算法在满足视觉不可见性的同时,对常见的图像处理和噪声干扰表现出较强的鲁棒性,提取出的二值图像水印很容易视觉辨认,具备一定的实用价值。 关键词:数字水印;版权保护;离散小波变换;水印嵌入及提取
毕业设计(论文)外文摘要
Digital Image Watermarking Based on DWT Abstract: With the rapid development of network and multimedia techniques, especially the popularization of Internet, the information security problem has become increasingly prominent. Nowadays, the information hiding technology, especially the digital watermarking technology has been extensively researched and applied as an important means to copyright protection. Digital image watermarking technology is a new copyright protection technology whose essence is to use image processing technology to hide information And its core is to embed the digital watermark information into images. At the same time, this technology makes sure that eyes can’t notice the decline of image quality which is to ensure the non-visibility of the adding watermark. This is an effective method to resolve the copyright problem. Fundamentally speaking, the digital watermarking technology belongs to the information hiding technology. The paper firstly discusses the background, basic model and the typical algorithm of the digital watermarking technology .etc. Then the paper focuses on the concept of DWT-based digital image watermarking technology and the principle and algorithms of wavelet transform, as well as the applications of wavelet transform in the field of digital watermarking. Finally, this paper designs a complete watermarking system and presents a digital watermarking algorithm based on haar wavelet which is implemented by MATLAB7.0. The experimental results show that this algorithm is invisible and robust against noise and common image processing. So it has practical value. Keywords: Digital Watermarking; Copyright Protection; Discrete Wavelet transform ; Watermark embedding and extraction
目 录
1 绪论.......................................................................................................................... 1 1.1 课题研究的目的和意义....................................................................................... 1 1.2 国内外研究现状................................................................................................ 2 1.3 本论文的主要工作............................................................................................ 2 2 数字水印技术.......................................................................................................... 4 2.1 数字水印的应用领域........................................................................................ 4 2.2 数字水印的基本特征........................................................................................ 5 2.3 数字水印的分类................................................................................................ 6 2.4 数字水印技术原理和基本模型........................................................................ 7 2.5 图像数字水印技术的典型算法........................................................................ 8 2.6 数字水印系统的评价...................................................................................... 11 2.7 数字水印面临的攻击...................................................................................... 13 3 小波分析理论........................................................................................................ 14 3.1 小波分析理论基础.......................................................................................... 14 3.2 离散小波变换.................................................................................................. 15 3.3 小波理论在数字水印中的应用...................................................................... 20 4 基于DWT域的数字图像水印算法 .................................................................... 22 4.1 水印嵌入位置的选择......................................................................................... 22 4.2 水印的嵌入......................................................................................................... 22 4.4 实验结果及分析................................................................................................. 23 4.3 实验结果分析..................................................................................................... 26 结 论.......................................................................................................................... 27 致 谢.......................................................................................................................... 28 参 考 文 献................................................................................................................ 29 附 录 部分源代码.................................................................................................. 30
1 绪论
近年来,随着计算机多媒体技术和因特网技术的快速发展,多媒体信息的交流已达到了前所未有的深度和广度,其发布形式也愈加丰富,人们可以很方便地传播、拷贝、存储和处理图像、音频和文本等多媒体信息。但是随之而出现的问题也十分严重,如作品侵权更加容易,篡改也更加方便。因此引发了各种多媒体信息的传输安全问题和数字产品的版权保护问题。为了解决数字内容的版权保护和信息安全问题,近年来提出了加密-解密、数字签名、数字标签、数字指纹、数字水印等多种技术。这标志着一门新兴的交叉学科—信息隐藏学的正式诞生,在计算机、通讯、保密学等领域有着广阔的应用前景。如今信息隐藏学作为隐蔽通信和知识产权保护等的主要手段,正得到广泛的研究与应用。数字水印技术作为其在多媒体领域的重要应用,已受到人们越来越多的重视。它通过在数字产品中嵌入可感知或不可感知的信息来确定数字产品的所有权或检验数字内容的原始性。数字水印技术是信息隐藏技术研究领域的重要分支,也是当今网络信息安全和数字媒体版权保护研究的热点。
1.1 课题研究的目的和意义
随着多媒体技术和网络技术的快速发展和广泛应用,使得数据的交换和传输也变成了一个相对简单且快捷的过程。人们借助于计算机,数字扫描仪,打印机等先进电子设备可以方便、迅速地将数字信息传达到世界各地,在国际互联网上发布自己的作品,传递重要的信息,进行各种学术交流和电子商务活动。但这些便利也带来了负面影响,网络及数字媒体文件自身的特性使有恶意的个人或团体有可能在没有得到作品所有者的许可权下篡改、拷贝和传播有版权的内容,例如,现代盗版者仅需要轻点几下鼠标就可以获得与原版一样的复制品,并以此获取暴利,而一些具有特殊意义的信息,如涉及司法诉讼、政府机要等信息,则会遭到恶意攻击和篡改伪造等等。这一系列数字化技术本身的可复制和广泛传播的特性所带来的负面效应,已成为信息产业健康持续发展的一大障碍。目前,数字媒体的信息安全、知识产权保护和认证问题变得日益突出,且已成为数字世界中一个非常重要和紧迫的议题。
传统的加密技术只能保证作品发送者到接收者之间的信息安全(包括防篡改、伪造等),而不能控制接收者向第三方进行非法散发甚至销售。因而,加密技术不能很好地保证数字多媒体产品的版权。数字水印技术的研究就是在这种环境下迅速发展起来的。
所谓数字水印技术,就是将代表数字媒体著作权人身份的特定信息,用户指定的标志或序列码等,按照某种方式嵌入被保护的信息中,在产生版权纠纷时,通过相应的算法提取出该数字水印,从而验证版权的归属,确保媒体著作权人的合法利益,避免非法盗版的威胁。被保护的信息可以是任何一种数字媒体,如软件、图像、音频、视频或一般性的电子文档等。数字水印是嵌在数字产品中的数字信号,水印的存在要以不破坏原数据的欣赏价值,使用价值为原则。可见,数字水印技术正好弥补加密技术的不足,它不是防止别人非法读取数字信息,而是进行版权申明或在非法用户读取信息后对其进行追踪。在网络信息技术迅速发展的今天,数字水印技术的研究具有明显的意义,数字水印技术对保护各种形式的数字产品将起到重要的作用。
1.2 国内外研究现状
数字水印技术自93年提出以来,由于它在信息安全上的重要地位,发展较为迅速。从公开发表的文献看,国际上在数字水印方面的研究刚开始不久,但由于大公司的介入和美国军方及财政部的支持,该技术研究的发展速度非常快。1998年以来,《IEEE图像处理》、《IEEE会报》、《IEEE通信选题》、《IEEE消费电子学》等许多国际重要期刊都组织了数字水印专刊或专题新闻报道。1996年5月,第一届国际信息隐藏学术研讨会在英国剑桥牛顿研究所召开,至今该研讨会已举办了六届。在1999年第三届信息隐藏国际学术研讨会上,数字水印成为主旋律,全部33篇文章中有18篇是关于数字水印的研究。
目前,已支持或开展数字水印技术研究的机构有政府部门,也有大学和知名企业,它们包括美国财政部、美国版权工作组、美国空军研究院、美国陆军研究实验室、德国国家信息技术研究中心、日本NTT信息与通信系统研究中心、麻省理工学院、伊利诺斯大学、明尼苏达大学、剑桥大学、瑞士洛桑联邦工学院、西班牙Vigo大学、IBM公司Watson研究中心、微软公司剑桥研究院、朗讯公司贝尔实验室、CA公司、Sony公司、NEC研究所以及荷兰菲利浦公司等。
国外数字水印技术研究的高潮也激起了国内专家和知名学者的极大兴趣,业内的许多有识之士纷纷加入到这方面研究的洪流中来,从各个方面对该技术开展了广泛而深入的研究,并且取得了许多高水平的研究成果。1999年12月,我国信息安全领域的何德全院士,周仲义院士,蔡吉人院士与有关应用研究单位联合发起并召开了我国第一届信息安全隐藏学术研讨会。2000年1月,由国家“863”智能专家组织中科院自动化所模式识别国家重点实验组织召开了数字水印学术研讨会,来自国家自然科学基金委员会、国家信息安全测评论证中心、中国科学院、国防科技大学、中山大学、清华大学、上海交通大学、天津大学、中国科技大学、北京大学、北京理工大学、北京电子技术应用研究所等单位的专家学者和研究人员深入讨论了数字水印的关键技术,并报告了各自的研究成果。同时,国家“836计划”,“973”项目,国家自然科学基金等都对数字水印的研究有项目资金支持。从目前的研究发展来看,我国相关学术领域的研究与世界水平相差不远,而且有自己独特的研究思路。2006年6月17-18日于北京,2001年9月10日于西安,2002年8月24-26于大连,2004年11月19-21于广州中山大学分别召开了第二、第三、第四、第五界信息隐藏学术讨论会,标志着我国对数字水印技术的研究已经与国际同步了。
就目前而言,数字水印技术在国内外尚属一个非常新的技术课题,虽然国际上已有很多科研机构,高等院校和大公司在进行这方面的研究,但基本上还处于研究阶段,没有投入实际的生产和应用当中。研究者们还在努力寻找一定计算复杂限度之内的某种良好的水印嵌入和提取算法,制定一个数字水印算法标准,进而向DVD,MP3,MPEG-4,JPEG2000以及IFPI等主流数字媒体标准看齐。
1.3 本论文的主要工作
本文主要研究静态图像数字水印算法问题。通过使用一张静态灰度图像进行离散小波变换的水印信息嵌入和提取算法过程,用原始图像和水印图像进行比较,分析基于DWT域的数字图像水印技术。并通过一系列图像攻击来检测这种水印技术的不可见性和鲁棒性等性能。
本文的组织结构如下:
第一章首先说明本文的选题目的和意义,然后概括性地介绍国内外数字水印技术的研究现状,最后介绍本文的主要工作。
第二章对数字水印本身进行较为全面的介绍。首先介绍数字水印的应用领域,基本特征和分类等基本问题,然后给出数字水印的基本模型以及典型算法,最后讲述数字水印系统所面临的攻击。
第三章介绍本文所涉及到的小波分析理论知识。
第四章设计并实现一个完整的基于离散小波变换的数字水印系统,从水印嵌入到带水印图像被攻击,最后提取检测出水印。在Matlab7环境下进行实验仿真实现水印信息的嵌入,提取及检测算法。水印嵌入在比较稳定的小波系数中,用实验证明该方案具有较好的鲁棒性。
第五章对本论文研究工作的一个总结。
2 数字水印技术
2.1 数字水印的应用领域
数字水印技术的研究是与数字媒体的版权保护紧密相关的,目前数字水印技术的应用领域非常广泛,概括起来主要包括以下几个方面:
(1)媒体所有权的认定和版权保护
数字作品的所有者可用密钥产生一个水印,并将其嵌入原始数据,然后公开发布他的水印版权作品。当该作品被盗版或出现版权纠纷时,所有者即可以利用水印的检测或提取方法从盗版作品和水印版作品中获取水印信息作为依据,从而保护所有者的权益。对这种应用领域来说,水印技术必须有较好的鲁棒性,同时也必须能防止被伪造。
(2)跟踪非法传播
这是使用购买者的信息(如不同用户ID或序列号等)作为水印嵌入产品中,这些水印信息就如同人的指纹或DNA基因一样,可以准确地区分每一个不同的用户个体,因此又叫“指纹”。当发现未经授权的拷贝时,就可以根据此拷贝所恢复出的指纹来确定它的来源,以追究非法传播者的责任。对于这种水印,除应具有用于版权保护水印的特性以外,还应该能够防止串谋攻击,就是防止两个以上的用户联合起来,通过对比消除加入的水印。
(3)标题与注释
利用水印技术将媒体的相关注释或标题等信息加入其中,以便自己或他人使用。比如,在图片或照片中加入制作或拍摄时间、地点、图像名称、内容简介、创作者等;在CD音乐中隐藏乐典的简介、作曲、定购信息、访问链接等;在数字视频中嵌入各种语言构成多语言电影系统,以适应不同用户的需要等。这种隐式注释不需要增加额外的带宽,且不容易丢失,因此是一种比较理想的注解方式。 (4)篡改提示
当数字作品被用于法庭、医学、新闻及商业时,常需确定它们的内容是否被修改、伪造或特殊处理过。为实现该目的,通常可将原始图像分成多个独立块,再将每个块加入不同的水印。同时可通过检测每个数据块中的水印信号,来确定作品的完整性。与其它水印不同的是,这类水印必须是脆弱的,并且检测水印信号时,不需要原始数据。 (5)使用控制
在一个封闭的系统中,多媒体内容需要特殊的硬件来拷贝和观看使用,插入水印来标识允许的拷贝数,每拷贝一份,进行拷贝的硬件会修改水印的内容,将允许的拷贝数减一,以防止大规模的盗版,这种应用的一个典型的例子是DVD防拷贝系统,即将水印信息加入DVD数据中,这样DVD播放机即可通过检测DVD数据中的水印信息而判断其合法性和可拷贝性。从而保护制造商的商业利益。 (6)内容保护
在一些特定应用中,数字产品内容的所有者可能会希望要卖的多媒体内容能公开自由地预览,以尽可能地多招来潜在的顾客,但也需要防止这些预览的内容不被其它人用于商业目
的。因此,这些预览内容被自动加上可见的但难除去的水印。
数字水印技术凭借其自身的诸多优点引起了众多应用领域的关注,但是数字水印技术本身目前还不能完全满足实际应用在安全性、可用性等方面的要求。然而现代密码学的研究和发展为数字水印技术的应用提供了良好的基础。利用现代密码学提供的各种保密性、认证性、完整性和不可抵赖性机制,可以设计安全的数字水印服务于不同的应用。
2.2 数字水印的基本特征
不同的用途,对于数字水印的要求各不相同。通常我们要求数字水印应具有如下基本特征:
(1)鲁棒性:对应的英文为Robustness,可以理解为“强健性、坚固性、强壮性”。数字水印的鲁棒性是指数字水印应该具备这样的特性:当被保护的信息经过某种改动后,比如传输、过滤操作、重新采样、编码、有损压缩等,嵌入的信息应保持其完整性,不能被轻易地去除,并以一定的正确概率被检测到。当有敌意的第三方试图通过某些处理来去除或修改嵌入的信息时,只会引起保护信息的明显改变,从而提醒合法的所有者或使用者,达到对信息的保护作用。不同的水印应用对鲁棒性的要求不同,一般应能够抵抗正常的图像处理。用于版权保护的鲁棒水印需要最强的鲁棒性,需要抵抗恶意攻击,而易损水印、注释水印则无需特别强调对恶意攻击的抵抗能力。
(2)不可感知性:对应的英文术语为Imperceptibility,可以理解为“难以觉察,感觉不到”。这是指被保护信息在嵌入水印信息后应不引起原始被保护信息质量的显著下降和视觉效果的明显变化。对于鲁棒和易损的不可见水印来说,这是一个最基本的要求。这种技术是比较困难的,从信息处理的角度看,水印的鲁棒性和不可感知性是一对相互矛盾的特性要求,过多的注重一方面,另一方面的性能就会削弱。因此需要在这两者之间进行折中。这种技术是困难的,但并不是不可能的,因为人类的感觉器官并不是特别精密的系统,所谓的不可感知并不是绝对感知不到的,目前,当需要在这两方面兼顾时,人们通常是在保证“相对”不可感知的前提下尽可能地提高水印鲁棒性。
(3)可检测性:数字水印应该能够由作者或公证机构来检测或提取。当作品在版权问题上发生争执时通过提取作品中的水印信息可以确认作品的版权归属。如果不具备可检测性,那么水印也就失去了意义。
(4)可证明性:这是指恢复出的水印或水印判决结果应该能够确定地表明所有权的归属,不会发生多重所有权的纠纷。水印算法能识别被嵌入到保护对象中的所有者的相关信息(如注册的用户号码、产品标志或者有意义的文字等),并能在需要的时候将其提取出来。水印可以用来判别对象是否受到保护,并能够监视被保护数据的传播、真伪鉴别以及非法拷贝控制等。就目前已经出现的很多算法而言,攻击者有可能破坏掉图像中的水印,或复制出一个理论上存在的“原始图像”,这导致文件所有者不能令人信服地提供版权归属的有效证据。因此一个好的水印算法应该能够提供完全没有争议的版权证明。
2.3 数字水印的分类
数字水印的分类方法多种多样,从不同的角度可以如下进行分类: (1)按水印的可见性划分
按嵌入水印后数字产品中水印是否可见可将数字水印分为可见水印和不可见水印。可见水印主要用于当场声明数字产品的版权归属,对盗版者起到即时威慑和约束作用,也可用于在因特网上在线分发带有可见水印的数字产品,对数字产品进行广告宣传。不可见水印不能够阻止盗版者对数字产品的非法复制,但可用来证明数字产品所有权,以及作为鉴定、起诉非法侵权的证据。
(2)按水印的鲁棒性划分
按水印的鲁棒性可以将数字水印分为脆弱数字水印和鲁棒数字水印两种。脆弱水印对多媒体的任何变换或处理都非常敏感;鲁棒水印对常见的各种处理操作和攻击均有较强的鲁棒性,好的鲁棒水印算法甚至可以从质量已被破坏的数字作品中提取出水印;鲁棒数字水印主要用于在数字作品中标识著作权信息,如作者、作品序号等。脆弱数字水印主要用于完整性认证和内容保护。人们根据脆弱水印的状态就可以判断数据是否被篡改过,实现对多媒体的被破坏情况的跟踪和定位。
(3)按水印所附载的媒体划分
按水印所附载的载体数据,我们可以将数字水印划分为图像水印、音频水印、视频水印、文本水印等等。随着数字技术的发展,会有更多类的数字媒体出现,同时也会产生相应的水印技术。
(4)按水印的检测过程划分
按水印的检测过程可以将数字水印划分为非盲水印(Nonblind watermark)、半盲水印(seminonblind watermark)和盲水印(Blind watermark)。非盲水印在检测过程中需要原始数据和原始水印的参与;半盲水印则不需要原始数据,但需要原始水印来进行检测;盲水印的检测只需要密钥,既不需要原始数据,也不需要原始水印。一般说来,非盲水印的稳健性比较强,但其应用受到存储成本的限制。目前研究的数字水印大多数是半盲水印或者盲水印。
(5)按水印的内容划分
按数字水印的内容可以将数字水印分为有意义的水印和无意义水印。有意义水印是指水印本身也是某个数字图像(如商标图像)或数字音频片断的编码;无意义水印则只对应于一个序列号。有意义水印的优势在于,如果由于受到攻击或其它原因致使解码后的水印破损,人们仍然可以通过视觉觉察确认是否有水印。但对无意义的水印来说,如果解码后的水印序列有若干码元错误,则只能通过统计决策来确定信息中是否含有水印。
(6)按水印嵌入的空间划分
按水印嵌入的空间划分可将数字水印分为空域水印和频域水印。空间域水印的嵌入和提取是通过修改图像像素点的强度或灰度值来实现的,计算简单,效率较高,但难以抵抗常见图像处理的攻击及噪声干扰的影响,稳健性较差。频域方法是将水印添加到原始图像的某种
变换系数中,更容易与人的感知系统的某些掩蔽特性相结合,与数据压缩标准,如JPEG等兼容。因此,频域水印算法对诸如压缩和某些图像处理等的攻击的鲁棒性更强。
(7)按用途划分
不同的应用需求造就了不同的水印技术。按水印的用途,我们可以将数字水印划分为票据防伪水印、版权保护水印、篡改提示水印和隐藏标识水印。票据防伪水印加在纸质票据的数字生成过程中,历经印刷、打印、扫描过程后能将水印检测出来,需要防止的是复制后水印将不再存在。隐蔽标识水印是在图像中加入注释信息,对图像进行说明和作者介绍等,不占用带宽,需要隐藏的数据量较大。
2.4 数字水印技术原理和基本模型
所谓数字水印,是嵌入在数字产品中的数字信号,它可以是图像、声音、文字、符号、数字等一切可以作为标记、标识的信息。它的存在是以不破坏原数据的欣赏价值和使用价值为原则的。数字水印是指利用数字产品的信息冗余性,把与多媒体内容相关或不相关的一些标识信息直接嵌入多媒体内容中,并能够通过计算机或专用检测电路及时地把水印检测或提取出来的技术。这种技术充分利用了人的知觉系统(HVS)和人类听觉系统(HAS)的冗余特性。
从图像处理的角度看,嵌入水印信号可以视为在强背景(原始图像)下又叠加一个弱信号(水印),只要叠加的水印信号强度低于HVS(Human Vision System)的对比度门限,HVS就无法觉察到信号的存在。而对比度门限则受视觉系统的空间、时间和频率特性的影响。因此,通过对原始图像作一定的调整,有可能在不改变视觉效果的情况下嵌入一些信息。
从数字通信的角度看,水印嵌入可以理解为在一个宽带信道(载体图像)上用扩频通信技术传输一个窄带信号(水印信号)。尽管水印信号具有一定的能量,但分布到信道中任一频率上的能量是难以检测到的。水印的译码(检测)则是一个有噪信道中弱信号的检测问题。
设载体图像为I,待嵌入的水印信息为W,实际嵌入的水印信号为w,密钥为K,水印提取和检测函数D,水印嵌入函数为F。这一框架大致分为如下三步:
步骤1:水印信号的生成:根据不同的需要,有时要对水印信息进行必要的预处理,如编码、压缩、加密等,最终形成水印信号。这一过程可以表示为函数G:WG(w,k)。
步骤2:水印信号的嵌入:采用一定的算法将水印信息加入到图像的空间域或者变换域中,最终生成水印图像;IwF(I,W,K),算法应使对原始图像所作的改动最小,同时又要保证尽可能强的鲁棒性。这一步是整个过程中最重要的。
步骤3:水印的提取和检测:水印的提取是指从水印图像中完全恢复出水印信息的过程;水印的检测是判断图像中特定水印信号的存在性的过程。水印的提取和检测可以表示为:W=D(I,K)或者PD(I,W,K),其中P=0/1,0表示水印不存在,1表示存在。
以上的提取和检测方案不依赖于原始图像,但是也可以类似地定义依赖原始图像的方案。 实际应用的水印技术整体设计方案可以用图2.1、图2.2来概括描述。
图2.1水印的嵌入模型
图2.2水印的提取模型
图2.1为水印信号的嵌入模型,输入信号为水印信息,原始信息,密钥用来增强算法的安全性,为了保证水印的安全性,防止他人在获知水印算法的情况下来篡改水印或伪造水印,在实际应用的系统中至少使用一个密钥,有的甚至是几个密钥结合来对水印信息加密或控制水印的嵌入位置。但这并不关系到水印的本质算法。水印信息可以为序列号、图像、文本等任何形式的数据,原始信息可以为音频、视频、图像或文本等,经过嵌入算法的处理,相应的水印信息就被嵌入到载体中去,得到的是嵌入水印信息后的含水印信息。
图2.2为水印信息的提取模型,待检测的含水印信息可能是受过有意或无意攻击的,在进行水印信息的恢复时,可以根据所采用嵌入的具体方法不同,应用或不应用原始信息或水印信息来对嵌入的水印信息进行恢复。其中恢复的数据可与原始的水印信号进行相似度或可信度来测量,以此来判定水印信息的存在与否。
2.5 图像数字水印技术的典型算法
目前,以图像为载体的数字水印技术吸引了众多研究人员和学者的兴趣。在该领域发表了数目远大于以音频等信号为载体的论文。对图像水印技术的研究根据水印嵌入时对载体图像采取的变换形式可分为空间域水印技术和变换域水印技术。数字图像水印研究人员普遍认为变换域水印比时空域水印具有更好的稳健性,因此近年来提出了大量的变换域数字水印方案。下面分别作简单介绍: 2.5.1 空域数字图像水印算法
将信息直接叠加到图像的空间域上的算法叫空间域算法。水印在空域算法中,考虑到人类视觉特性,在载体图像中隐藏较复杂的水印信号。它的优点在于对载体影响很小,计算速度较快,隐藏的信息较多,且适合多媒体,缺点是鲁棒性较差,即:抗几何变形,噪声攻击
和有损压缩等常见信号处理能力较差。但这一特点可用于嵌入脆弱水印。空域的典型算法有:最低有效位算法和Patchwork水印算法。
(1)最低有效位算法(Least significant Bits-LSB)
最低有效位(LSB)是R.Gvan Schbngel等人提出的第一个数字水印算法,是一种典型的空间域信息隐藏算法。LSB算法使用特定的密钥通过m序列发生器产生随机信号,然后按一定的规则排列成二维水印信号,并逐一插入到原始图像相应像素值的最低几位。由于水印信号隐藏在最低位,相当于叠加了一个能量微弱的信号,因而在视觉和听觉上难察觉。LSB水印的检测是通过待检测图像与水印图像的相关运算和统计决策实现的。LSB算法虽然可以隐藏较多的信息,但隐藏的信息可以被轻易除去,无法满足数字水印的鲁棒性要求,因此现在的数字水印软件已经很少采用LSB算法了。不过,作为一种大数据量的信息隐藏方法,LSB在隐蔽通信中仍占据着相当重要的地位。
(2)Patchwork算法和纹理块映射编码方法
这两种方法都是由麻省理工学院媒体实验室Walter Bander等人提出的。Patchwork方法是基于改变图像的统计特性。首先随机选择N对像素点(ai,,bi),然后将每个ai点的亮度值加1,每个bi点的亮度值减1,这样整个图像的亮度保持不变。适当调整参数,Patchwork法对JPEG压缩、FIR滤波及图像剪裁有一定抵抗力。但该方法嵌入的信息量有限。纹理映射将水印信息隐藏在图像的随机纹理区域中,利用纹理间的相似性掩盖水印信息。该算法隐蔽性较好,对滤波、压缩和扭转等操作具有抵抗能力,但仅适用于具有大量任意纹理区域的图像,且需人工干预。 2.5.2 变换域算法
变换域算法通常也称为频率域算法,是指将原始图像变换(比如离散余弦变换—DCT、离散小波变换—DWT、傅里叶变换—FFT)处理后,选取一些特定的变换域系数,通过修改这些系数的值来嵌入水印的方法。基于变换域算法的数字水印技术可以嵌入大量比特数据依然能够保持水印的不可见性,且对常用的压缩处理具有很强的鲁棒性,但是其抵抗几何变换等攻击的能力较弱。
(1)DCT 域水印算法
DCT变换(DCT,Discrete Cosine Transform)计算量小且与国际数据压缩标准(JPEG、MPEG、H261/236)兼容,便于在压缩域(Compressed Domain)中实现,目前在水印系统中用的最多。其主要思想是在图像的DCT变换域选择中低频系数叠加水印信息。选择中低频系数是因为人眼的感觉主要集中在这一频段,攻击者在破坏水印的过程中,不可避免地会引起图像质量的严重下降,一般的图像处理过程也从不会改变这部分数据。
Cox等提出水印应放在视觉系统感觉上最重要的分量上(对应于DCT域中的低频系数)。其理由是感觉上重要的分量是图像信号的主要成份。因此,若水印嵌入到感觉上重要的分量,则稳健性较好。一些学者则进行了折衷,把水印信息嵌入在DCT域的中频系数上。
Cox等的观点已逐渐为人们所赞同和采纳,但在基于块DCT的水印算法中,DC(直流)分量总是被明确地排除在外。这样处理的考虑在于避免加水印的图像出现块效应现象。然而
被人们忽视的一个事实是,DC分量比任何AC分量更适合嵌入水印信号,这有二方面的理由:一是与AC系数相比,DC系数的振幅大得多;二是根据信号处理论,嵌入水印的图像有可能遭遇到的信号处理过程,如数据压缩、低通滤波、次抽样、插值、D/A和A/D转换等,对DC分量的保护比AC分量要好。
(2)DFT域水印算法
DFT变换(DFT,Discrete Fourier Transform)具有仿射变换(图像几何变换和传输过程中常见畸变的数学模型)不变性,对图像的空间坐标平移不敏感,并且可利用相位信息嵌入水印,所以,DFT水印对图像的坐标平移具有免疫力,但是DFT与国际标准不兼容。
(3)DWT域水印算法
在新的图像压缩标准JPEG2000中,小波成为关键技术之一。目前,这种技术已经应用于图像水印。相对于DCT,首先由于DWT具有时间-尺度(时间-频率)分析,多分辨率特性,而且具有分层特性,其能使得水印的嵌入和检测在某个子带或某几个子带进行;其次DWT符合视觉特性,即小波变换和人类视觉系统是相吻合的;再者,由于小波变换在时频两域都具有表征信号局部特征的能力,其特征化和定位攻击能力更强,并且运算量比DCT小。但是,DWT系数不具有几何不变性,因此抗几何攻击能力不好,抽取过程中必须保证水印信号的同步。
C.T.Hsu和J.LWu最早提出了多分辨率分析的水印算法,首先对水印和原始图像同时进行多分辨率分析,然后将水印在分辨率下的分析系数嵌入到具有相应分辨率的图像中,这样,即使含水印的图像质量受到了攻击的影响,丢失了部分信息,较低分辨率的水印仍然保存在较低分辨率的图像块中,因此水印具有较高的稳健性。X.G.Xia和C.G.Boncelet等选用满足正态分布的伪随机序列做水印,在整幅小波分解生成的图像中,用由高分辨率到低分辨率、同一分辨率下由高频到低频逐个子带添加水印的方法进行嵌入。水印的检测同样由高分辨率到低分辨率、由高频到低频子带进行。这种水印算法的优点是水印检测按子带分级扩充水印序列进行,即如果先检测出的水印序列已经满足水印存在的相似函数要求,检测就可以终止,否则继续搜寻下一子带、继续扩充水印序列直至相似函数出现一个峰值或所有子带搜索结束。H.M.Wang和P.C.Su等在上述方法的基础上又进了一步,他们利用渐进编码的思想进行水印的嵌入和检测。黄达人等提出了一种自适应水印算法,首先在小图像的低频系数中嵌入水印,若水印未完全嵌入,有剩余水印再按小波图像频带重要性的排序嵌入高频带,此算法还指出嵌入到小波低频系数和高频系数需要用不同的嵌入策略。 2.5.3 基于非线性理论算法
随着研究的深入,更多的非线性理论被用于数字水印技术中来,包括分形、混沌、神经网络等。下面对应用这些方法实现的水印算法进行简单的介绍:
(1)基于分形图像编码的数字水印算法
分形是一种利用图像的自相似性来进行压缩的编码方法。1996年,Puate和Jorban提出了利用分形编码嵌入数字水印的方法,该方法基于分形编码理论,定义每个R块的两个近邻域,根据要嵌入的水印来决定编码时在哪一个邻域来搜索最佳匹配的D块。文献在此基础上,
将R块的两个近邻域的划分作了改进,提高了水印的鲁棒性。文献对数字图像分别进行传统分形编码和频域分形编码后,通过码数的比较,选择出一些R块,将这些快的编码方案更改,即用次优匹配D块代替最优匹配D块,从而实现数字水印的嵌入。
(2)基于混沌特性的数字水印算法
Athanasios Nikolaidis 和Ioannis Pitas提出了使用N维Renyi混沌映像和N维Brtnoullo混沌映像产生混沌序列,将其作为水印嵌入到小波系数中,用于在JPEG混沌映像产生 环境中保护图像版权。Jie Yang等利用了小波变换多分辨率的特性和混沌信号的非相关性,在通过阀值选择的高通小波变换系数中嵌入水印。可以用来在JPEG有损缩、滤波、旋转、栽剪等环境下保护图像版权。
(3)基于神经网络的数字水印算法
神经网络在数字水印技术中的应用是最近几年才提出的。它的主要作用可分为两个方面:一是在水印嵌入时使用神经网络对图像进行分类或产生自适应图像的水印,其目的是提高水印的嵌入强度和图像的保真度;二是使用神经网络进行水印检测,其目的是提高水印检测的正确率。
Davis等在使用小波变换进行水印嵌入的基础上,在水印嵌入之前使用神经网络技术产生自适应于图像内容的水印,水印的强度在保证图像质量的约束下可以达到最大值,使得水印的稳健性获得较大的提高。Picard等在使用多层神经网络的基础上,提出了一个公开密钥的水印系统,试验表明使用该算法的水印对JPEG压缩有非常好的稳健性。
虽然目前人们开发的鲁棒水印算法很多,但是还是不完善,不够成熟,还没有形成一个完善的体系,尤其是公认的标准尚未出现,这些都使得该项技术的应用和推广需要一段很长的时间。
2.6 数字水印系统的评价
对一个水印系统而言,无论它用于什么目的,不可见性和鲁棒性都是它的两个最重要的指标,因此对水印系统的评价就可以根据这两个指标来进行。可惜的是,到目前为止,对透明性和稳健性都没有确定性的描述,这使得人们不得不从主观的角度建立一些评价办法,下面列出其中常用的一些方法。
(1)不可见性(Invisibility)
对水印透明性的测试可分为主观测试和客观测试两个方面。主观测试是采用一定数量的没有经过训练的旁观者,根据他们是否能够区分出未嵌入水印的和已嵌入水印的多媒体作品来进行。客观测试则使用差别失真评测准则评价因嵌入水印而导致的宿主的退化程度。常用的差别失真评测准则是峰值信噪比(PSNR)和信噪比(SNR),单位均为贝(dB),定义如下:
XYmaxpx,yPSNR10log10x,y2(px,ypx,y)x,y2 (2-1)
SNR10lgx,ypx,ypx,y)22(px,y (2-2)
x,y其中px,y和px,y分别表示原始图像和嵌入水印后的图像中点(x,y)的灰度值;X,Y分别是图像行和列的个数。上式中可以看出较高的峰值信噪比对应较高的图像间的相似程度,也就是表示嵌入水印后的图像有较高的不可感知性。
还有用MSE均方误差来度量图像的客观保真度的,与PSNR相反,MSE越小表示图像的近似程度越高,即:
(pMSEx,yx,ypx,y)2XY (2-3)
但是,信噪比和峰值信噪比与人的视觉系统(HVS)和听觉系统(HAS)的联系并不密切,而且为了保证水印的透明性,一个水印系统往往会根据宿主信号的特征采用一些比较复杂的方式嵌入水印,因而在数字水印的透明性评价中使用信噪比和峰值信噪比可能得不到比较客观的评价结果。目前,有很多学者在研究HVS和HAS的机理,希望由此建立较为客观的失真度量方法。
(1) 鲁棒性(Robustness)
水印对于各种攻击鲁棒性的评定标准,常见的有相似系数和归一化汉明距离。对于随机序列的判定,一般利用假设检验的原理计算相似性,即:
SIM(W,W)W.WW.W (2-4)
当SIM(W,W)T(判决阀值)时水印存在,否则判定水印不存在。
相关系数用来衡量原始水印与从未经过攻击的多媒体数据中提取的水印之间的相关性,定义如下:
Nww(i)w(i)(w,w)i1NwNw2 (2-5)
2wi1(i)wi1(i)其中w(i)和W(i)分别是嵌入和恢复的水印信息,Nw是水印的长度。越大在鲁棒性越好。
如果数字水印是由二值数据组成的,还可以采用归一化汉明距离来估计嵌入的恢复的水印的相似性。归一化汉明距离为:
HD(w,w)1NwNww(i)w(i) (2-6)
i1其中w(i)、w(i)、Nw的定义同上,是异或运算符。
以上介绍了一此评价水印稳健性的方法,尽管这些方法可以用于描述水印的稳健性,但是它们的评价可能都不是客观的,因此研究水印稳健的客观评价方法对水印的发展仍是十分
迫切的。
2.7 数字水印面临的攻击
与密码学类似,数字水印也是一个对抗性的研究领域。正因为有水印攻击的存在,才有水印研究的不断深入。另外,为了实现数字水印的标准化,必须对各种水印算法进行安全性测试。水印测试者既要熟悉水印算法也要熟悉水印攻击算法,而且还要从水印算法的理论入手进行水印信息量和鲁棒性的定量分析。水印攻击分为主动攻击和被动攻击。主动攻击的目的是篡改或破坏水印,使合法用户也不能读取水印信息,而被动攻击则试图破解水印算法。常见的攻击方法有:
(1)简单攻击:简单攻击是指对含水印图像进行各种信号处理操作,试图削弱或删除嵌入的水印信息,而不是识别或分离水印。这类操作有:图像压缩、图像量化与图像增强、图像栽剪、线性或非线性滤波、叠加噪声、几何失真、A/D转换以及图像的校正等。
(2)迷惑攻击:迷惑攻击试图通过伪造原始图像和原始水印来迷惑版权归属,是针对可逆、非盲水印而进行的攻击。防止这一攻击的有效办法就是研究不可逆水印嵌入算法。
(3)StirMark攻击:StirMark是一种通用工具,专门用来对水印算法及其它隐秘术进行鲁棒性测试。它模拟重采样过程:对图像进行微小的几何变形(拉伸、剪切、移位、旋转等),然后利用双线性或Nyquist插值进行重采样,并且模拟A/D转换引入微小的平滑分布的误差。虽然很多水印算法对某种图像操作具有一定的鲁棒性,但对于各种方法的联合使用常常无能为力,因此StriMark是一种很好的测试工具。
(4)抖动攻击:此方法采用在信号加入抖动的方法,如将图像分为若干部分,在每一部分内随机地复制或删除某些采样。这种方法主要针对利用密钥定位水印嵌入位置的水印算法。
(5)马赛克攻击:由于通常的水印算法都要求原始图像的大小不小于某个值,因此,攻击者将水印图像分割为若干很小的图像,再在浏览器中将这些子图像依次拼接起来,与含水印图像有相同的视觉效果。
(6)多文档攻击:此方法利用原始图像数据的不同水印的版本,生成近似的图像数据(如平均法),以此来逼近和恢复原始图像,同时使检测系统无法从中恢复出水印信号。
(7)跳跃攻击:跳跃攻击方要用于音频信号数字水印系统的攻击,其一般实现方法是在音频信号上加入、减去一个跳跃信号后,再将数据块按原来顺序重新组合起来。实验表明,在古典音乐信号中几乎感觉不到这种改变,但是却可以非常有效地阻止水印信号的检测定位,达到难以提取水印信号的目的。
(8)协议攻击:这种攻击不同于以上几种攻击手段,它不针对具体的水印嵌入算法,不破坏水印本身,而是根据数字水印不同的应用场合对数字水印的基本框架进行攻击。这种攻击手段虽然不破坏数字水印本身的存在性,但却可以破坏数字水印与某些权利、义务之间的关系,它是一种针对应用协议的攻击。
这里对数字水印面临的攻击进行了简单的介绍和分类。研究对数字水印系统的攻击将有助于我们设计更加安全可靠的水印系统。
3 小波分析理论
3.1 小波分析理论基础
长期以来,傅里叶变换一直是信号处理领域中最完美,应用最广泛的一种分析手段。但傅里叶变换只是一种纯频域的分析方法,在时域上无任何定位能力,即无法提供任何局部时间段上的频率信息。为了继承傅里叶分析(余弦变换和正弦变换都可以视为傅里叶变换的特例)的优点,同时又克服它的缺点,人们一直在寻找新的方法。
小波分析的出现是傅里叶分析发展史上里程碑式的进展。小波分析是一种时间窗和频率窗都可以改变的时频局部化分析方法,被称为“数字显微镜”。有些人认为小波可以作为表示函数的一种新的基底。还有些人认为小波可以作为时间-频率分析的一种新技术。而另外有些人则把小波看作是一个新的数学学科。所有这些看法都正确的,因为“小波”具有非常丰富的数学内容,并且是对应用有巨大潜力的多方面适用工具。总之,小波变换作为一种数学理论和方法在科学技术界引起了越来越多的关注和重视。可以预料,在今后数年中,它将成为科技工作者经常使用的又一锐利的科学工具,会促进科技及工程应用领域的快速发展。 3.1.1 离散傅立叶变换的局限性
传统的离散傅里叶变换是通过寻找信号的幅度和相位频谱,用它的频率分量对信号进行分析。不能将平稳信号(特性不随时间变化的信号)和非平稳信号(特性随时间变化的信号)进行区分是它的一个缺点。信号对于窗口内的平稳信号,DFT能提供其频率分量的精确图像。对于非平稳信号,DFT可以指出包含哪些频率分量,但不能指出它们在什么时候出现。在空间域上没有任何分辨,解决这一问题的办法是缩短观察窗口,较短的窗口意味着好的时间分辨率,因为它提供非常局部的细节,但是频率分辨很差,这是因为观测信号的时间太短。因此,好的时间分辨率和好的频率不可能同时达到。
实际问题往往有时要求空间域上的分辨与频域上的分辨能够互转化,小波变换的方法正是为适应这种要求而生成的,它不仅继承了短时傅立叶变换的空间分辨特性,同时也引进了频域的分辨,而且可以通过对频率和空间按照特殊的方法抽样,得到离散小波变换。离散短时傅里叶变换对不同的频率成分在空间域上的抽样间隔是相等的,与此同时,离散小波变换对不同的频率成分在空间域上的抽样间隔是可调的,对高频成分采用逐渐精细的空间域抽样步长,从而可以聚焦到研究对象的任意细节,从这个意义上来讲,它被誉为数学显微镜。因此,小波变换方法是一种有效的信号时频分析方法。 3.1.2 小波定义
小波分析方法是一种窗口大小(即窗口面积)固定但其形状可以改变,时间窗和频率窗都可改变的时频局部化分析方法。即在低频部分具有较高的频率分辨率和较低的时间分辨率,在高频部分具有较高的时间辨率和较低的频率分辨率。正是这种特性,使小波变换具有对信号的自适应性。
小波是由一个满足条件
C(t)dt0 (3-1)
的函数(t)通过平移和伸缩而产生一函数族a,b(t)。
1a,b(t)a2(tbaR;a>0 (3-2) ) a,b∈
a,b(t)称为小波基函数,简称小波基。其中a为尺度因子(伸缩因子),b为平移因子,
因为它们都是连续变化的值,所以称a,b(t)为连续变化的小波基函数。他们是由同一母小波函数(t)经过伸缩和平移后得到的一组函数系列。
记ˆ为(t)的傅里叶变换,即:ˆ()(t)ejwtdt0。在这里,如果ˆ()满足: C0ˆ2d (3-3)
则称(t)为允许小波,条件式(3-3)称为可允许性条件。
由于小波基函数在时域、频域都具有有限的或近似有限的定义域,所以经过伸缩平移后的函数在时域仍是局部性的。小波基函数的窗口随尺度因子的不同而伸缩,当a逐渐变大时,基函数的时间窗口t逐渐变大,而对应的频域窗口相应减小,中心频率(即频率窗的中心点)逐渐变低,相反,当a逐渐减小,基函数的时间窗口t逐渐减小,其频率窗口相应增大,中心频率逐渐升高。
经过定量分析可得到如下结论:
(1)尺度的倒数1/a在一定意义上对应频率,即尺度越小,对应频率越高,尺度越大,对应频率越低。如果我们将尺度理解为时间窗口的话,则小尺度信号为短时间信号。这一点同信号时频分布的自然规律是相符的,因为,事实上高频信号必然持续时间很短,低频信号必然持续时间较长。
(2)在任何b值上,小波时、频域窗口的大小t和都随频率的变化而变化。 (3)在任何尺度a,时间点b上,窗口面积t保持不变,也即时间、尺度分辨率是相互制约的,不可能同时提高。
(4)由于小波母函数在频域具有带通特性,其伸缩和平移系列可以看作是一组带通滤波器。通常我们将通带宽度与中心频率的比值称为某一带通滤波器的品质因数,即()的品质因数00。
由以上分析可知,小波基函数a,b(t)作为带通滤波器,其品质因数不随尺度a的变化,是一组频率特性相同的带通滤波器组。
3.2 离散小波变换
因为离散小波变换由连续小波变换离散化后得到,所以在介绍离散小波变换之前,先简单的介绍一下连续小波变换。
任意函数f(t)的连续变换(Continue Wavelet Transform),简称(CWT):
WTf(a,b)f(t),a,b(t)1aRf(t)(tba)dt (3-4)
其中tbtb为()的共轭。WTf(a,b)为小波变换系数。 aa利用小波变换产生的小波系数,我们可以对原图像进行重构,也就是小波变换 的逆变换,其公式为:
f(t)1C1atbda2dbaaWTf(a,b) (3-5)
1a其中C是对(t)提出的允许性条件,a,b(t)缩。
关于小波变换式,有以下几点补充说明:
tba是基本小波的位移与尺度伸
(1)尺度因子a的作用是将基本小波(t)作伸缩,a愈大愈宽。在不同尺度下小
at波的持续时间(也就是分析时段)随a加大而增宽,幅度则与a成反比,但小波函数的波形保持不变。
(2)a,b(t)前加因子的目的是使不同a值下a,b(t)的能量保持相等。
在实际应用中,不管是图像还是音频信息,都是经过采样量化后得到的一些离散数据,因此我们还应将上述连续小波变换离散化,以便于对离散的图像信号进行处理。
(1)离散小波函数
我们将尺度因子a和平移因子b离散化(取a2j和b2jkTs),则(3-2)式可表示为:
(t)j,k1t2jkTsjj2212jtkTs (3-6) j2其中:j,kz。然后再将t轴用Ts归一化,上式就变为:
j,k(t)22(2jjtk) (3-7)
我们称上式为离散小波函数。 (2)离散小波变换(DWT)
对任意函数f(t)的离散小波变换(Discrete Wavelet Transform,简称为DWT)为:
WTf(j,k)f,j,kRf(t)jk(t)dt (3-8)
WTf(j,k)为离散变换系数。
(3)离散小波变换的逆变换(IDWT) 若离散小波序列
j,kikz构成一个框架,设其上、下界分别主A和B,则当A=B时(此
时框架为紧框架),离散小波变换的逆变换(IDWT)公式为:
f(t)j,kf,j,k'j,k(t)1WTAjkj,kf(j,k)j,k(t) (3-9)
当A=B=1时,离散小波序列f(t)j,kz为一正交基,此时离散小波变换的逆变换公式为:
j,kj,kf,j,k'j,kWTj,kf(j,k)(t) (3-10)
式(3-8)和(3-10)是对一维信息的小波变换与重构,处理图像信号需要二维小波变换。将一维小波变换进行拓展,我们可以得到二维离散小波变换与重建公式。 3.2.1 二维离散小波变换快速算法
假定sii,j为j尺度空间的剩余尺度系数序列,并且令h0和h1分别为小波函数的低通和高通滤波器,则二维小波变换的快速分解公式为
ai,jih(k2i)h1k,m0(m2l)sk,m
jljl (3-11) (3-12)
j,kri,jsi,jiiihk,m10(k2i)h1(m2l)sk,mjlk,mh(k2i)h(m2l)s (3-13)
1k,mhk,m0(k2i)h0(m2l)sk,m
jl (3-14)
其中:i,l分别为x方向和y方向上的位移,sj、j、j、j分别为将其上一尺度(j-1尺度)空间中的剩余尺度系数序列sjl经x方向和y方向上的低通滤波、x方向上的高通滤波和y方向上的低通滤波、x方向和y方向上的高通滤波后所得到的j尺度空间中的系数序列。
公式(3-11)—(3-14)的树型流程图好图3.1所示。
图3.1二维小波变换的树形算法示意图
重构算法公式为:
sk,mk,mjlsk,mji,jji,jh0(k2i)h0(m2l)k,mji,jji,jh1k2ih0(m2l)h0(k2i)h1(m2l)k,mh1(k2i)h1(k2l) (3-15)
j上述快速算法,是在已知原始二维函数在某一尺度空间的展开系数矩阵sm,n基础上进行
计算的。初始矩阵的选取是二维快速算法中的一个重要问题。严格地讲,初始矩阵应使用公式
sm,njR2f(x,y)j,m(x)j,n(y)dxdy (3-16)
计算获得,其中:上标表示尺度,下标表示两个方向的位移,(x)为小波函数。但是出于二维积分运算比较麻烦,且通常工程直接面对的是一个离散矩阵而不是原始连续函数。因此,对于初始矩阵的选取,工程上有一种简化的方法,即直接将原始二维函数的离散矩阵看作为初始矩阵:smj,nfm,nfmx,ny,这样虽然会引入一定的误差,但一般情况下能够满足工程需要。
3.2.2 图像二维正交小波变换
我们将小波变换理论应用于图像处理中,用小波变换的多分辨率分析功能来分析图像。下面我们就将二维离散图像在二维正交小波基下进行分解与重构。
从数字滤波器的角度来看,式(3-11)—(3-14)所描述的二维小波系数分解与重构过程可用图3.2(a)、(b)所示的结构框图来实现。
图中用g代替式(3-11)—(3-14)中的h1,表示高通滤波器系数,用h代替式(3-11)—(3-14)中的h0,表示低通滤波器系数,下标x表示对矩阵沿行方向进行滤波,下标y表示对矩阵沿列方向进行滤波,2表示二倍抽取,2表示二倍插值。
由于h具有低通性质,g具有高通性质,若将初始输入矩阵看做一个二维信号,则一次分解后所得到sij,k、ij,k、i,jk、ij,k四部分输出分别经过了不同的滤波器,代表了原始图像在下一尺度上的概貌,或者说是原图像的一级低频逼近,ij,k经过了行方向上的高通、列向上的低通,对应于水平方向的细节信号在垂直方向的概貌,相应地,i,jk表示的是原始图像垂直方向的细节信号在水平方向的概貌,ij,k表示的是沿对角线方向的细节。
(a) 二维小波分解图
(b) 二维小波重构图
图3.2二维小波系数的分解与重构过程
N2N2若输入矩阵的大小为NN,由图3.2(a)、(b)知,四个输出矩阵的维数均为
(经
一级小波变换后每一方向上的输出序列长度都和输入序列长度序列相同,但此时的频带由于被分成了低通和高通两部分,所以滤波后输出序列的带宽只有原始信号长度的一半。),因此总的输出矩阵仍为NN。如果将一次小波分解输出的概貌部分(sij,k)继续进行小波分解,我们可得到原始图像在不同尺度上的细节和概貌,这就是多尺度或者说是多分辨率分析的概念。
由以上分析可知,图像经过一级小波变换以后,可将原始图像分解成四个子图,分别是水平方向、垂直方向、对角线方向的中高细节子图和两个方向的低频逼近子图。图3.3是将图像经过一级小波分解后的示意图。由图中可以看出,其分解关系可表示为:
SLL1HL1LH1HH1
(a) (b)
图3.3一级小波分解示意图
其中LL1的低频子图部分集中了图像的大部分能量,高分辨率子带图像上的数值都比较小,接近于零。这说明,小波变换对图像能量具有较好的集中作用。由于小波变换能够得到不同层次、不同方向上的细节子图,所以可以满足各种不同细节质量的要求。如图3.3(b)所示,如果将一幅图像按由低频到高频逐层展开的方式显示,那么就会先显示图像的轮廓,然
后逐步显示图像的细节部分,这种逐渐清晰的显示方式符合人类视觉系统的感知特性。在人眼视觉系统模型(HVS)中,人眼对低频信号较高敏感度,而对中、高频信号的反应则较为迟钝,并且衰减得很快。人眼视觉系统的这种特性与小波的分解特性相符合。因此结合这一特性,在小波域中嵌入水印信息,能够获得较好的稳健性和隐蔽性。
3.3 小波理论在数字水印中的应用
随着小波理论的发展和在数字图像处理的应用,许多学者都已经提出了基于小波域的数字图像水印技术。小波理论在数字水印中的应用也日渐成熟。 3.3.1 小波域嵌入水印的优点
对比于DCT,DWT具有以下优点:它对一幅图像来说具有多分辨率和分层次的特性,解码过程可以连续地从低分辨率过渡到高分辨率,而DCT对一幅图像的分辨率只有一个,不能做到根据图像的区域不同频率来进行不同层次的分辨;DWT比DCT更接近人眼视觉系统,因此图像经小波域编码的高比特率压缩后,比经过同样比特率的DCT要少很多的扰动;DWT产生一个空间-尺度函数,在对一幅图像的描述中,高频的信号可以在像素域中精确地被定位,同时低频的信号则在频域精确地定位。
许多学者都已经提出,小波域的各种优点都有利于在小波域中开发图像水印技术: (1)根据小波域的多分辨率特性,对图像的描述是分层目录结构的,可以不需要整幅图像进行水印的验证。这一点尤其适用于需要进行大量数据处理的图像步进传输中,例如视频图像的应用或者在实时系统中的应用。那种分层目录结构的水印算法可以在传输过程中检测出水印,从而大大的简化计算量。
(2)可以保证在新一代压缩标准JPEG2000有损压缩下的嵌入水印不会被去除;也可以在压缩域中直接嵌入水印。
(3)DWT可以对人眼视觉系统进行更好的模拟。它把信号分解成独立的子带,并且独立地进行处理。而且小波噪声量化的可见性和在小波域中有关视觉屏蔽的可能性都在被广泛的研究。
(4)小波域的高分辨率子带用来描述图像特征,如纹理和边缘区域等,通常我们把大能量的水印加入到大的小波系数中,因此影响的正好是图像的纹理区域和图像变化的边缘区域,而这些区域也正是人眼对之变化不敏感的区域。 3.3.2 小波域水印算法
小波域水印算法往往把水印嵌入到图像小波变换后的低频子带或高频子带。图像的低频子带携带了图像的大部分信息,因此可以嵌入更多的水印信息,使水印更加鲁棒,但同时也产生了问题,即图像低频子带的变化容易导致较大的图像失真。相反,高频子带携带的图像的边缘和纹理信息,人眼对这部分信息不敏感,因此,在这部分嵌入水印,可以避免引起图像的失真,但同时水印容易遭到破坏。因此,一个有效的水印算法在鲁棒性和图像的失真度之间取得平衡。下面介绍几种典型的水印算法。
(1)基于高斯序列的扩频水印算法
在1997年,Cox提出了一种基于扩展频谱的水印算法。在此方案中,水印的嵌入过程就
是在原图像中加入伪随机序列。在水印检测时,通过计算伪随机序列和提取水印序列的相关性来实现。扩频数字水印方案的基本思想是在改变不引人注目的地方扩大标记,并且将它嵌入到感知上重要的信号部分中。它有频域所固有的抗几何变换的能力,但它的一个最显著的缺点是必须有原始图像才能检验水印是否存大。
Wolfgang等提出了一种基于小波变换的扩频水印算法,此算法在扩频水印算法中很具有代表性。在此算法中选用伪随机实数组成的高斯序列作为水印。序列长度由视觉模型确定。小波基采用如双正交小波。嵌入算法是将图像进行四级小波变换,在整个频带内选择大于阈值的小波系数来嵌入水印。水印的提取需要原始图像。Wolfgang的方法源于Cox,但他在嵌入算法中加了一个权值因子调整嵌入水印能量与图像失真的大小。保证了水印的不可感知性,又使算法具有一定鲁棒性。
(2)基于量化的数字水印算法
在量化水印算法中,所用的水印通常是二值图像或二值序列,根据一种量化方案把原数据替换成另一种量化值来嵌入水印。一种简单的量化水印称为奇偶嵌入水印,若嵌入位为“0”,则宿主信号被量化为与之最近的偶数;若嵌入位为“1”则量化为与之最近的奇数。Kundur提出了一种量化的脆弱水印算法,先对图像进行L级分解,利用密钥控制需嵌入水印的小波系数,将这些小波系数用预定的量化步长进行奇偶性量化后与水印信息比较,若不等,利用量化步长调整小波系数。提取时间首先将待测图像L级分解后,对相应位置的小波系数量化,判断量化系数的奇偶性,嵌入相应值,然后将提取结果与原始水印比较得到检测结果。该方案可以检测不同分辨率下的水印篡改图并能够实现对篡改的定位,并可通过调节门限来降低虚警率。
Lu提出一种中值量化的脆弱水印方法。首先将图像小波变换后,根据人类视觉系统(HVS)应用特定的量化步长,对独立频域内的小波系数用密钥选取后求和取平均,通过量化步长计算出量化噪声,然后,结合水印信息和小波平均系数进行量化,得到的结果再与各个小波系数相加,即为量化后的小波系数,重构后得到含水印的图像。通过选取适当的检测门限进行认证检测。该算法改善了文献的性能,在加大篡改检测效果的同时,极大的降低了虚警率。
(3)基于图像编码的数字水印算法
较早将小波图像编码和数字水印技术结合起来的是Wang和Su,Wang的算法是采用多门限小波编码,Su使用的是最优化截断嵌入快速编码算法,这两种数字水印算法都是在选项中的细节子带中的重要系数上添加伪随机高斯噪声,水印的嵌入和提取是在图像压缩和解压缩中进行的。此算法的优点是可以不用第二次进行变换域计算就可以实现水印的嵌入和提取。
该算法借用子带编码嵌入脆弱水印。算法先借用可精确重构的Haar滤波器组将原图分成四个子带,再用特定门限来判断LL子带中的“活跃”像素,选取高子带中的非“活跃”像素作为水印信息的嵌入点,最后,高子带LSB平面中的非“活跃”像素用同位置的LL子带的象素替换来嵌入水印。由于图像几子带的LSB平面各不相同,因此,该算法较好抵制统计分析攻击。
4 基于DWT域的数字图像水印算法
4.1 水印嵌入位置的选择
目前的小波域水印算法对于水印嵌入位置的选择有不同的意见。一种意见认为低频子图是图像的平滑部分,人眼对这部分的失真比较敏感,基于水印的不可感知性考虑,应将水印数据隐藏在图像的高频部分,亦即小波分解后的高频系数中,而不应在低频系数嵌入水印。另一种意见则认为中高频子图的小波系数幅度一般较小,常接近于0,而低频部分集中了图像的大部分能量,系数的振幅比细节子图的系数大得多,由人类视觉特性可知,背景亮度越大,嵌入信号的JND就越高,即低频逼近子图具有较大的感觉容量,相当于一个强背景,可以容纳更强或者更多的水印信息,只要迭加的水印信号低于JND值,视觉系统就无法感觉到信号的存在。这样在图像有一定失真的情况下,仍能保留主要成分,可保持原始载体图像的主观视觉质量基本不变,于是提出水印嵌入低频系数中。
以前的很多算法不在低频系数中加入水印,原因是避免出现方块效应,但经过实验证明,不在低频部分嵌入所有水印,只嵌入一部分水印,再在中频部分嵌入一部分水印,既能保证不可见性又有很好的鲁棒性。
在小波域,为了使数字水印具有较好的鲁棒性,用于嵌入水印的小波系数就应该满足以下两个条件:第一小波系数不应该过多的被信号处理和噪声干扰所改变;第二具有较大的感觉容量,以便嵌入一定强度的水印后不会引起原始图像视觉质量的明显改变。
综合考虑上述嵌入位置的探讨以及小波分解系数的特点,本文将水印的嵌入位置选择为原始图像经过小波二级分解后的中频细节子带中。如图4.1所示阴影部分
图4.1水印嵌入位置
4.2 水印的嵌入
水印按如下方法嵌入: CC(1aW)
该公式利用了人眼视觉掩蔽特性,使水印嵌入量与小波系数的幅值成比例。其中C是原始图像的小波系数。a是嵌入水印的强度因子,其取值应权衡不可见性和鲁棒性要求,a越大,水印虽越强壮,但是嵌入水印的图像质量就会降低;反之,取值小,图像质量虽提高了,但同时会削弱水印的鲁棒性。本文经过反复实验,决定a的取值为1.5。W是被嵌入的水印。C
是嵌入水印后的小波系数。
水印的嵌入算法如下:
第一步:分别输入原始图像X和水印图像W; 第二步:将二值水印图像按下式进行变换:
if w(i,j)=1,w(i,j)=1;if w(i,j)=0,w(i,j)=-1;
再将水印图像系数转换为一维矩阵。
第三步:对原始图像采用Haar小波变换,对其进行二级小波分解,得到低频分量小波系数LL2、水平分量小波系数LHn、垂直分量小波系数HLn,和对角分量小波系数HHn。对二级的水平分量及垂直分量进行一维矩阵转换。
第四步:参照对嵌入位置的分析,用水印图像按下式修改原始图像的小波系数: If w(i,j)= =0
CC(1aw)
第五步:按照新的小波系数进行小波逆变换,重构得到含水印的图像。
4.3 水印的提取和检测
水印提取时,对嵌入水印宿主图像和原始图像进行小波多分辨率分解,然后根据水印嵌入公式的逆过程,即:w(CC)/(aC)计算得出水印序列。
采用如下公式检测水印存在与否:
(w,w)wwii/(w)
i2当提取出的水印w与原水印w的相关值大于某一门限时,检测到水印的存在。
水印的提取算法如下:
第一步:对含水印图像和原始图像进行二级小波分解,分别得到不同分辨率的小波系数。 第二步:读入原水印图像,根据原水印信息参照下式提取出嵌入的水印系数:
w(CC)/(aC) 其中,w是提取出的水印系数,C为含水印的小波系数,C为原始图像的小波系数。
第三步:对计算出来的水印系数进行重组,得到最终的提取水印图像。
4.4 实验结果及分析
4.4.1 仿真实验
本文算法用MTALAB7.0实现,仿真实验采用的原始图像为256256的灰度lena图像,水印图像为3232的二值图像,如图4.2所示。为了定量分析提取水印与原始水印的相似性,可采用归一化互相关函数(NC)来表示。同时采用峰值信噪比(PSNR)来评价原始图像和加水印图像之间的差别。
(a) (b) 图4.2(a)原始图像和(b)水印图像
(a) (b)
图4.3(a)嵌入水印后的图像和(b)恢复的水印
图4.2a为原始lena图,图4.2b为水印图像,图4.3a为按本文算法嵌入水印后的图像,其峰值信噪比为 43.14dB。4.3b为不经任何攻击情况下提取出的水印,其归一化相似度NC为0.98。从视觉上可以看出本文给出的水印嵌入算法具有很好的不可见性。 4.2.2 抗攻击实验
(1)JPEG攻击
JPEG压缩是嵌入水印的图像最易经受的图像处理。目前网络上流通的图像绝大多数都是JPEG格式,因此水印对于JPEG有损压缩是否具有较强的免疫力是衡量一种水印算法是否成功的重要标准。由于有损压缩引起图像的降质,水印的检测将受到一定的影响。我们对嵌入水印图像进行JPEG有损压缩,然后进行水印提取,其结果如图4.4所示:
(a) (b)
图4.4(a)JPEG压缩(质量因子75)后的图像和(b)恢复的水印
图4.4为在质量因子为75时JPEG压缩后的嵌入水印图像,宿主图像峰值信噪比为33.88dB,从该图像中恢复的水印如图4.4(b)所示,归一化相似度NC为0.98,与没加攻击时差别不大,视觉上我们可以明显地识别出水印图像。
(2)噪声攻击
图像在传输过程中,常常由于受到某种干扰而含有各种噪声。对嵌入水印图像分别添加密度为0.02的椒盐噪声和10%的高斯噪声干扰,然后检测观察其鲁棒性。
(a) (b)
图4.5(a)椒盐噪声攻击后水印图像和(b)恢复的水印
加入一定的椒盐噪声后,宿主图像的峰值信噪比为21.72dB,从椒盐噪声干扰后恢复的水印(图4.5b)可以看出,算法对椒盐噪声干扰具有较好的鲁棒性,其归一化相似度值NC=0.97。
(a) (b)
图4.6(a)高斯噪声攻击后水印图像和(b)恢复的水印
图4.6为高斯噪声干扰后的嵌入水印图像和从该图像中恢复的水印。加入高斯噪声后宿主图像的峰值信噪比为19.33dB,从恢复的水印(图4.6b)可以看出,算法对高斯噪声干扰的鲁棒性相对于椒盐噪声干扰略差,但视觉上我们还是可以识别出水印图像,此时提取水印的归一化相似度值NC=0.94,还是有较强的抵抗力。
4.3 实验结果分析
从水印嵌入到带水印图像被攻击,最后提取检测出水印,本章实现了一个完整的水印系统。为增强算法的鲁棒性,被选择来嵌入水印的小波系数必须满足两个条件:一是这些小波系数在均方根值较大的细节子带中;二是这些小波系数本身的稳定性好,在基本信号处理操作中都不会太大的变化幅度。实验结果表明,该算法在满足不可见性的同时,对常见的图像处理和噪声干扰表现出较强的鲁棒性。
结 论
本文对数字图像水印技术进行了比较全面的研究,主要做了以下工作:
查阅大量有关水印技术的国内外文献,对目前数字水印技术的发展状况,包括数字水印的基本特征及分类,数字水印处理系统的基本框架以及目前的一些主要算法进行了论述。并简要的介绍了本文涉及到的小波分析理论基础知识。最后围绕数字水印的两个最重要的特点——隐蔽性和鲁棒性进行考虑,设计并实现了一个完整的水印系统。
本文虽然做了许多基础性工作,但还有需要进一步完善和研究的问题。本文是通过特定的攻击手段来评估小波系数的稳定性的,因此缺乏一般性和普遍性,这是需要进一步改进的地方。选择合适的小波系数嵌入水印对水印系统的性能是非常重要的,所以有待于在实践中找出更加合适嵌入水印的小波系数。
数字水印技术是一门新兴的多学科交叉的应用技术,它涉及了不同科学领域的思想和理论,如图像处理、编码理论、密码学、检测理论、数字通信、计算机科学及网络技术、还包括公共策略和法律等问题。无论从研究价值、技术含量、还是从应用前景来看,数字水印技术都处于信息技术的发展前沿。数字水印技术的研究有着极大的紧迫性和重要性。可以预见,随着理论的不断完善和技术的不断进步,数字水印技术的研究及应用将会更加深入和广泛,数字水印技术在未来的信息安全体系中必将发挥更大的作用,进而为推动整个信息领域的技术进步和产业发展起到重要作用。
致 谢
本文是在臧老师的悉心指导下完成的。在为期三个多月的毕业设计就要结束之际,首先应该特别感谢的是我的辅导老师臧老师。臧老师对图像处理这一课题研究颇深,拥有丰厚的理论知识,治学作分严谨,在三个月的时间里,传道、授业、解惑,不仅传授给我宝贵的知识,教给我许多做人的道理,解答我在学业上的疑难困惑,而且在我完成论文的过程中始终给予我一丝不苟的精心督导和莫大的鼓舞。我能顺利完成学业,是与臧老师的关心和帮助分不开的。在此论文完成之际,谨向辛勤指导培育我的指导老师表示最真诚的感谢。
在论文写作期间,学校图书馆,机房给了我莫大的帮助,因为论文中涉及很多新的知识,必须通过查阅资料学习才能弄懂。我对学校的支持表示感谢。
这里还要感谢多年来养育和关怀我的父母,他们为我无私地奉献了毕生的精力,我相信没有他们无私的支持和关怀,本人就没有今天的成就。
参 考 文 献
[1] 陈武凡.小波分析及其在图像处理中的应用.科学出版社,2002. [2] 何东健.数字图像处理.西安电子科技大学出版社,2003. [3] [4] [5] [6] [7] 2000.
[8] [9]
陈书海,傅录祥.实用数字图像处理.科学出版社,2005.
飞思科技产品研发中心.小波分析理论与MATLAB7实现.电子工业出版社,2005. K.R.Castlemen.数字图像处理.电子工业出版社,1998,9.
徐飞,施晓红.MATLAB应用图像处理.西安电子科技大学出版,2005.
陈桂明,张明照方.应用MATLAB语言处理数字信号与数字图像.北京科学出版社,汪小帆,戴跃伟,茅耀斌.信息隐藏技术方法与应用.北京机械工业出版社,200.1 张春田,苏育挺.信息产品的版权保护技术——数字水印.电信科学出版社,1998.
附 录 部分源代码
水印的嵌入 clear all; d=0; e=0;
%读取原始图像
file_name='lena.bmp'; %读取原图像 cover_object=double(imread(file_name)); Mc=size(cover_object,1); %原图像行数 Nc=size(cover_object,2); %原图像列数
%对原图像进行二级小波分解
[cA1,cH1,cV1,cD1]=dwt2(cover_object,'haar'); %一级DWT变换 [cA2,cH2,cV2,cD2]=dwt2(cA1,'haar'); %二级DWT变换
vector_cH2=reshape(cH2,Mc*Nc/16,1); %改变矩阵形状 vector_cV2=reshape(cV2,Mc*Nc/16,1); %改变矩阵形状
%水印的嵌入位置 for j=1:Mc*Nc/16
vector(j)=vector_cH2(j);
vector(Mc*Nc/16+j)=vector_cV2(j); end
ve=vector;
%读取水印图像 I=imread('64.bmp'); BW=im2bw(I);
watermark=double(BW);
Mk=size(watermark,1); %水印图像行数 Nk=size(watermark,2); %水印图像列数 key=reshape(watermark,Mk*Nk,1); a=1; x=1;
%按乘法准则嵌入二值图像水印 for j=1:Mk*Nk if key(j)==0;
mark_key(j)=j;
vector(x)=vector(x)*(1-a); else
mark_key(j)=0;
end
%移到下一块 x=x+8; end
for j=1:Mc*Nc/16
vector_cH2(j)=vector(j);
vector_cV2(j)=vector(Mc*Nc/16+j); end
embed_cH2=reshape(vector_cH2,Mc/4,Nc/4); embed_cV2=reshape(vector_cV2,Mc/4,Nc/4);
%小波反变换重构带水印图像
cA1=idwt2(cA2,embed_cH2,embed_cV2,cD2,'haar',[Mc/2,Nc/2]); watermarked_image=idwt2(cA1,cH1,cV1,cD1,'haar',[Mc,Nc]);
%转换为uint8并写入嵌入水印后的图像
watermarked_image_uint8=uint8(watermarked_image);
imwrite(watermarked_image_uint8,'watermarked2.bmp','bmp');
%计算信噪比 for i=1:Mc for j=1:Nc
a(i,j)=cover_object(i,j)^2;
b(i,j)=cover_object(i,j)-watermarked_image(i,j); d=d+a(i,j); e=e+b(i,j)^2; end end
psrn=10*log10(d/e)
%二级DWT反变换 %一级DWT反变换
%显示图像 figure(1)
imshow(watermark); %显示水印图像 figure(2)
I=imread('lena.bmp');
subplot(1,2,1),imshow(I);title('原图像'); %显示原图像
subplot(1,2,2),imshow(watermarked_image_uint8);title('嵌入水印后图像'); %显示嵌入水印后的图像
%采用的几种攻击方式
attacked_image=imnoise(watermarked_image_uint8,'salt & pepper',0.02); %椒盐噪声攻击 imwrite(attacked_image,'attacked_image1.bmp','bmp');
attacked_image=imnoise(watermarked_image_uint8,'gaussian',0,0.01); %高斯噪声攻击 imwrite(attacked_image,'attacked_image2.bmp','bmp');
imwrite(watermarked_image_uint8,'attacked_image3.jpg','jpg'); %JPEG有损压缩攻击
水印的提取 clear all;
%根据原始图像得出水印嵌入位置 file_name='lena.bmp';
cover_object=double(imread(file_name)); Mc=size(cover_object,1); %原图像行数 Nc=size(cover_object,2); %原图像列数
[cA1,cH1,cV1,cD1]=dwt2(cover_object,'haar'); %对图像进行DWT变换 [cA2,cH2,cV2,cD2]=dwt2(cA1,'haar'); %二级DWT变换 vector_cH2=reshape(cH2,Mc*Nc/16,1); vector_cV2=reshape(cV2,Mc*Nc/16,1); for j=1:Mc*Nc/16
vector(j)=vector_cH2(j);
vector(Mc*Nc/16+j)=vector_cV2(j); end
%读入原始水印 I=imread('64.bmp');
BW=im2bw(I); %二值变换 watermark=double(BW);
Mk=size(watermark,1); %原水印行数 Nk=size(watermark,2); %原水印列数 key=reshape(watermark,Mk*Nk,1); for j=1:Mk*Nk if key(j)==0
mark_key(j)=j; else
mark_key(j)=0; end end
%对含水印图像进行二级小波变换
file_name='watermarked2.bmp'; %读入含水印图像 watermarked_image=double(imread(file_name));
[aA1,aH1,aV1,aD1]=dwt2(watermarked_image,'haar'); %小波变换 [aA2,aH2,aV2,aD2]=dwt2(aA1,'haar'); %小波变换 awmked_aH2=reshape(aH2,Mc*Nc/16,1); awmked_aV2=reshape(aV2,Mc*Nc/16,1);
for j=1:Mc*Nc/16
awmked_vector(j)=awmked_aH2(j);
awmked_vector(Mc*Nc/16+j)=awmked_aV2(j); end
a=1.5; %强度因子 x=1;
%提取水印 for j=1:Mk*Nk
if mark_key(j)~=0
detect_key(j)=(awmked_vector(x)-vector(x))./(a.*vector(x)); else
detect_key(j)=1;
end %跳到下一块 x=x+8; end
for j=1:Mk*Nk
if detect_key(j)<0
detect_key(j)=0; else
detect_key(j)=1; end end
%显示提取出的水印
detect_wmk=reshape(detect_key,Mk,Nk);
imwrite(detect_wmk,'detectdwmk','bmp'); figure(1),imshow(watermark);
figure(2),imshow(detect_wmk,[]); %写入提取水印%显示提取水印
因篇幅问题不能全部显示,请点此查看更多更全内容