基于小波变换的数字水印算法研究实践报告(23页).doc
-基于小波变换的数字水印算法研究实践报告-第 21 页信科专业实践报告报告名称 基于DWT和DCT的数字水印目 录摘 要1Abstract21概述31.1引言31.2研究目的及意义41.3数字水印技术的国内外研究现状42 数字水印理论基础52.1 数字水印的基本概念52.2 数字水印的基本特征62.3 数字水印的基本原理62.4数字水印典型算法(针对图像领域)82.5 数字水印应用领域93小波分析理论基础93.1小波分析的发展历程103.2小波函数与小波变换103.3离散小波变换123.4实验环境:可实现数字水印技术的高效实用工具Matlab144 基于变换域的数字水印算法144.1算法描述144.2实验结果17 4. 3结果分析225 结论 236体会24参考文献25 摘 要数字水印技术是目前信息安全技术领域的一个新方向,是一个在开放的网络环境下,保护版权和认证来源及完整性的新型技术。本文针对基于小波变换的数字水印技术,提出了一种基于小波域的二值图像水印算法。该算法选择了检测结果直观、有特殊意义的二值图像作为原始水印,并在嵌入之前进行图像置乱预处理,以提高安全性和隐蔽性,兼顾了水印的不可见性和鲁棒性,利用多分辨率分析思想进行水印的嵌入与提取。通过大量的仿真实验,证明本文算法在保证水印不可见性的同时,对常见的图像处理如JPEG压缩、噪声、滤波、剪切等,均有较好的鲁棒性。关键词:数字水印,DWT,DCT,鲁棒性,不可见性,JPEG压缩Abstract Digital watermarking technology is the field of information security technology a new direction, is an open network environment, copyright protection and authentication and integrity of the sources of new technology.In this paper, based on wavelet transform the digital watermarking technology, a wavelet domain based on the binary image watermarking algorithm. The algorithm chosen the test results intuitive, with special significance in the value of the original image as a watermark and embedded in the image scrambling prior to the pretreatment to enhance the safety and concealment; watermark does not take into account the visibility and robustness, Use of multi-resolution analysis of the thinking embedded watermark and extraction. Through the simulation experiments to prove that this algorithm can not watermark visibility at the same time, the common image processing such as JPEG compression, noise, and so on, have a better robustness.Key words: digital watermarking, DWT,DCT , Robust, visibility, JPEG compression1概述1.1引言随着信息技术和计算机网络的飞速发展,数字多媒体信息包括图像、文本音视频、三维模型的存储、复制与传播变得非常方便。我们在通过互联网方便快捷的获取多媒体信息的同时,还可得到与原始数据完全相同的复制品,这就带来了对数字媒体原创者的版权和经济利益如何保护以及数字媒体信息是否安全可信等诸多问题。由此引发的信息安全问题、盗版问题和版权纷争问题已成为日益严重的社会问题。因此,对多媒体内容的版权保护与内容鉴别成为我们所处的这个信息时代所急待解决的问题。数字水印技术是近几年来国际学术界兴起的一个前沿研究领域,是信息隐藏技术研究领域的重要分支,如今已成为多媒体信息安全研究领域的一个热点。它将具有特定意义的、与载体内容相关或不相关的标记(水印),利用数字嵌入的方法,隐藏在载体,即数字图像、声音、文档、图书、视频等数字产品中,用以证明创作者对其作品的所有权,并作为鉴定、起诉非法侵权的证据。同时通过对水印的检测和分析来保证数字信息的完整性和可靠性,从而成为知识产权保护和数字多媒体防伪的有效手段。数字水印的研究涉及信息论、编码理论、通信原理、信号处理、信息安全等多学科多门类。近年来数字水印技术在数字信息的版权保护与完整性认证方面得到了迅猛发展,具有良好的应用前景。1.2研究目的及意义数字水印技术作为一个跨多领域、多学科(数字信号处理、图像处理、模式识别、数字通信、多媒体技术、密码学、语音处理等)的技术体系,由于它与具体的应用密切相关,因此每个研究人员介入的角度、采用的研究方法和设计策略也各不相同,但都是围绕着实现数字水印的各种基本特征进行设计,这也决定了数字水印技术研究成果的多样性以及数字水印技术研究的不完善性,仍有许多技术问题需要解决。由于目前国际上的水印技术尚未形成统一的标准,形成一个共同遵循的标准己成为研究水印者的共同目标。然而,标准的算法必须有其优越性、通用性和有效性,并要得到世界各国的认同,所以形成标准是一项艰巨的任务。由于小波变换的优点,使小波变换域研究水印处理技术是目前的热点,并且在该领域形成水印算法标准的可能性最大,因此本论文研究基于小波变换域的数字水印算法设计与仿真实现具有重要意义2。1.3数字水印技术的国内外研究现状随着计算机和网络的飞速发展,数字作品得以有效的存储和发布,同时数字作品又极易被非法拷贝、伪造或篡改,使得很多版权所有者不愿利用网络公开其作品,从而阻碍其自身发展。数字水印技术的出现是Schyndel在ICIP'94会议上发表的一篇题为“A digital watermark”的文章开始的。这是第一篇发表于重要会议的关于数,水印技术的文章开始的。随着网络的普及,数字水印技术迅速成为研究热点,很多数字水印算法和实现方案也随之出现。在实际应用方面,美国的 Digimarc公司于1995 年就推出了拥有专利权的水印制作技术,是当时世界上唯一一家拥有这一技术的公司,其水印技术以插件的形式在 Pbotoshop5.0和 CorelDraw7.0 中得到应用,IBM 的“数字图书馆”3 4 软件也提供了数字水印功能。在 1997 年,一个名为 VIVA 的欧洲工程开始发展广播监测系统。在国外数字水印技术研究快速发展的同时,我国政府和研究机构也加大了重视力度,数字水印技术在我国信息安全领域的地位和作用不断上升,更多的专家学者投入到这一研究领域当中。1999 年 12 月,由北京电子技术应用研究所组织,何德全、周仲义、蔡吉人院士与有关研究单位联合发起召开了我国第一届信息隐藏学术研讨会,同时,国家,“ 863 计划”、“ 973 项目”、国家自然科学基金等都对数字水印的研究提供专项资金支持。从目前的研究发展来看,我国数字水印学术领域的研究正在蓬勃开展,而且形成了自己独特的研究思路,相信随着国内信息化程度的提高、电子政务的推广和电子商务的普及,作为数字作品版权管理核心技术的数字水印技术将会拥有更加广阔的应用前景和发展空间6。2 数字水印理论基础2.1 数字水印的基本概念数字水印(Digital Watermark)技术是将与多媒体内容相关或不相关的一些标示信息直接嵌入多媒体内容当中,但不影响原内容的使用价值,并不容易被人的知觉系统觉察或注意到。通过这些隐藏在多媒体内容中的信息,可以确认内容创建者、购买者,或者验证内容是否真实完整。与水印相近或关系密切的概念有很多,从目前出现的文献中看,已经有诸如信息隐藏(Information Hiding )、信息伪装(Steganography )、数字水印(Digital Watermarking )和数字指纹(Fingerprinting )等概念。2.2 数字水印的基本特征(1)安全性:数字水印的信息应是安全的,难以篡改或伪造,同时,应当有较低的误检测率,当原内容发生变化时,数字水印应当发生变化,从而可以检测原始数据的变更。(2)隐蔽性:数字水印是不可知觉的,而且不影响被保护数据的正常使用,不会降质。(3)鲁棒性:是指在经历多种无意或有意的信号处理过程后,数字水印仍能保持部分完整性并能被准确鉴别。(4)水印容量:嵌入的水印信息必须足以表示多媒体内容的创建者或所有者的标志信息,或购买者的序列号,这样有利于解决版权纠纷,保护数字产权合法拥有者的利益。2.3 数字水印的基本原理水印的基本原理是嵌入某些标志数据到宿主数字中作为水印,使得水印在宿主数据中不可感知和足够安全。为了保证由于水印的嵌入而导致宿主数据失真不被察觉到,必须应用某种感知准则,不管是隐性还是显形。水印算法要结合加密方法以提供其安全性,通过的水印算法包含两个基本方面:水印的嵌入和水印的提取。水印可以由多种模型构成,如随机数字序列、数字标识、文本以及图像等。数字水印的嵌入过程如图所示:水印信号原始信号嵌入过程含水印的信号图2.1 数字水印嵌入过程频域法加入数字水印的原理是首先将原始信号(语音一维信号、图像二维信号)变换到频域,常用的变换一般有DWT、DCT、DFT、WP和分形。然后,对加入了水印信息的信号进行频域反变换(IDWT、IDCT、DFT、WP),得到含有水印信息的信号。数字水印的检测过程如图所示:原始的信号带检测的信号抽取/检测过程抽取的水印 水印信息有/无水印结束结束图2.2数字水印的检测过程频域法检测水印的原理是将原始信号与待检测信号同时进行变换域变换,比较两者的区别,进行嵌入水印的逆运算,得出水印信息。如果是可读的水印,那么就此结束,如果是不可读水印,如高斯噪声,就将得出的水印与已知水印作比较,由相关性判断,待检测信号含不含水印,故水印的检测有两个结束点。下面介绍一种基于小波变换的数字水印方法。 (1)第一步,将水印图象作时域上的变换,目的是对水印信息进行乱序,达到加密的效果。采用函数: = mod N 其中k是一个控制参数,N是矩阵的大小,(x,y)和(x,y)表示像素点在变换前后的位置。假设P表示由二值水印信息组成的一个mn的矩阵,对每一个点的坐标作变换之后,这个m的矩阵将变成一个N的矩阵,矩阵的每个元素为0或1。(2)第二步,对图像作小波变换,对于变换后得到的小波系数,选出一个起始位置在(p1,p2),大小为NN的系数矩阵。这个矩阵的大小与水印图像作时域变换后形成的矩阵大小是一致的。(3)第三步,在选出的系数矩阵中嵌入水印信息,即将两个NN的矩阵进行信息叠加,其中含有水印信息的矩阵元素为0或1。TCY提出了一种信息叠加的方案。水印的提取过程如下:假设y是从小波变换域抽取的一个NN的系数矩阵,起始位置为(p,p);满足:=Y(i,j)modS, D是一个NN的矩阵。对Y中的所有点(i,j),定义如果/2,则D(i,j)=1;如果/2,则D(i,j)=1;因此对矩阵D作T-n次A反变换,水印图像就被恢复出来了7。2.4数字水印典型算法(针对图像领域)(1)空域算法该类算法中典型的水印算法是将信息嵌入到随机选择的图像点中最不重要的像素位 (LSB:least significant bits)上,这可保证嵌入的水印是不可见的。但是由于使用了图像不重要的像素位,算法的鲁棒性差,水印信息很容易为滤波、图像量化、几何变形的操作破坏。另外一个常用方法是利用像素的统计特征将信息嵌入像素的亮度值中。(2)Patchwork算法方法是随机选择对像素点(ai,bi),然后将每个ai点的亮度值加1,每个bi点的亮度值减1,这样整个图像的平均亮度保持不变。适当地调整参数,Patchwork方法对JPEG压缩、FIR滤波以及图像裁剪有一定的抵抗力,但该方法嵌入的信息量有限。为了嵌入更多的水印信息,可以将图像分块,然后对每一个图像块进行嵌入操作。(3)变换域算法该类算法中,大部分水印算法采用了扩展频谱通信(spread spectrum communication)技术。算法实现过程为:先计算图像的离散余弦变换 (DCT),然后将水印叠加到DCT域中幅值最大的前系数上(不包括直流分量),通常为图像的低频分量。若DCT系数的前个最大分量表示为D= di ,i=1 , ,水印是服从高斯分布的随机实数序列 = wi ,i=1 , ,那么水印的嵌入算法为di = di(1 + awi),其中常数a为尺度因子,控制水印添加的强度。然后用新的系数做反变换得到水印图像I。(4)压缩域算法是基于JPEG、MPEG标准的压缩域数字水印系统不仅节省了大量的完全解码和重新编码过程,而且在数字电视广播及VOD(Video on Demand)中有很大的实用价值。相应地,水印检测与提取也可直接在压缩域数据中进行。下面介绍一种针对MPEG-2压缩视频数据流的数字水印方案。虽然MPEG-2数据流语法允许把用户数据加到数据流中,但是这种方案并不适合数字水印技术,因为用户数据可以简单地从数据流中去掉,再重新进行量化和Huffman编码,最后对新的Huffman码字的位数n1与原来的无水印系数的码字n0进行比较,只在n1不大于n0的时候,才能传输水印码字,否则传输原码字,这就保证了不增加视频数据流位率。(5)NEC算法是由NEC实验室的Cox等人提出,该算法在数字水印算法中占有重要地位,其实现方法是,首先以密钥为种子来产生伪随机序列,该序列具有高斯N(0,1)分布,密钥一般由作者的标识码和图象的哈希值组成,其次对图象做DCT变换,最后用伪随机高斯序列来调制(叠加)该图象除直流(DC)分量外的1000个最大的DCT系数。2.5 数字水印应用领域随着数字水印技术的发展,数字水印的应用领域也得到了扩展,数字水印的基本应用领域是版权保护、隐藏标识、认证和安全不可见通信。当数字水印应用于版权保护时,潜在的应用市场在于电子商务、在线或离线地分发多媒体内容以及大规模的广播服务。数字水印用于隐藏标识时,可在医学、制图、数字成像、数字图像监控、多媒体索引和基于内容的检索等领域得到应用。数字水印的认证方面主要ID卡、信用卡、ATM卡等上面数字水印的安全不可见通信将在国防和情报部门得到广泛的应用。多媒体技术的飞速发展和Internet的普及带来了一系列政治、经济、军事和文化问题,产生了许多新的研究热点,以下几个引起普遍关注的问题构成了数字水印的研究背景。3小波分析理论基础小波变换是将信号分解成时域和尺度域的一种变换9,不同的尺度对应于不同的频率范围,因此,对于图像信号这样的时频信号而言,小波变换是一种很好的分析工具。小波分析的时频局部化特性好,原图像的低频部分和高频部分经变换后的系数比较集中,而不会像DCT那样形成幅值分散,故在保留同样多的细节信息的情况下需编码的系数较少。3.1小波分析的发展历程任何理论的提出和发现都有一个漫长的准备过程,小波分析也不例外。1910年Haar提出了小波规范正交基,这是最早的小波基,当时并没有出现“小波”这个词。1936年Litlewood和Paley对Fourier级数建立了二进制频率分量分组理论,对频率按21进行划分,其Fourier变换的相位变化并不影响函数的大小,这是多尺度分析思想的最早来源。1946年Gabor提出的加窗Fourier变换(或称短时Fourier变换)对弥补Fourier变换的不足起到了一定的作用,但并没有彻底解决这个问题。后来,Calderon,Zy gmund,St ern和Weiss等人将L-P理论推广到高维,并建立了奇异积分算子理论,1965年,Coifmann提出了再生公式,1974年,Coif nann对一维HP空间和高维Hp空间给出了原子分解,1975年Calderon用他早先提出的再生公式给出了抛物型H,的原子分解,这一公式现在己成为许多函数分解的出发点,它的离散形式已接近小波展开。多分辨分析原理与人类的视觉和听觉方式十分接近。Mallat受金字塔算法的启发,以多分辨率分析为基础提出了著名的快速小波算法一Mallat算法(FWT),这是小波理论突破性的成果,其作用和地位相当于Fourier分析中的FFT. Mallat算法的提出宣告小波从理论研究走向宽广的应用研究。3.2小波函数与小波变换3.2.1连续小波基函数小波 (wavelet),即小区域的波,是一种特殊的长度有限、平均值为小波函数的定义为:设为一平方可积函数,即,若其Fourier变换满足条件:C= (3.1) 则称T (t)为一个基本小波或小波母函数,我们称式(3.1)为小波函数的可容许条件。将小波母函数进行伸缩和平移,就可以得到函数= a,;a>0 (3.2)式(3.2)中,a为伸缩因子,T为平移因子,我们称为依赖于参数a,的小波基函数。3.2.2连续小波变换将任意L(R)空间中的函数f(t )在小波基下展开,称这种展开为函数f(t )的连续小波变换(ContinueW aveletTr ansform,简称为CWT),其表达式为:WT = (3.3)由以上定义,我们可以看出小波变换和傅立叶变换一样,也是一种积分变换,WT,灼为小波变换系数。但它不同于傅立叶变换的地方是,小波基具有尺度a和平移两个参数,所以函数一经小波变换,就意味着一个时间函数投影到二维的时间一尺度相平面上,这样有利于提取信号函数的某些本质特征。可以证明,若采用的小波满足容许条件,则连续小波变换存在着逆变换,逆变换公式为:f(t)= (3.4)式(3.4) C= 为对(t)提出的容许条件。在此需要进一步说明,在小波变换过程中,所采用的小波必须满足容许条件反变换才存在,由容许条件C=可以推断出:能用作基本小波(t)的函数至少必须满足或者,也就是说,必须具有带通性质,且必须是有正负交替的MIA波形,使得其平均值=0,这便是称之为“小波”的原因。另外,在实际中,对基本小波的要求往往不局限于满足容许条件,对(t)还要施加所谓的“正则性条件”,使在频域上表现出较好的局限性能。为了在频域上有较好的局限性,要求随a的减小,所以这就要求(t)的前n阶原点矩为0,且n值越高越好,即(t)d(t)=0 p =1 n ,且 n值越大越好 (3.5)此要求在频域内表示就是,在=0处有高阶零点,且阶次越高越好(一阶零点就是容许条件),即= , n 越大越好 (3.6)上两式就是正则性条件。如果 用 上 述变换公式来处理图像信息,还需要将连续小波离散化,同时将一维变换拓展到二维。3.3离散小波变换在实际应用中,为了方便计算机进行分析、处理,信号(t )都要离散化为离散数列,a和也必须离散化,成为离散小波变换(Discrete Wavelet Transform),记为DWT.由上一节连续小波变换的概念我们知道,在连续变换的尺度a和时间值下,小波基函数 具有很大的相关性,所以一维信号f(t)做小波变换成二维的WT后,它的信息是有冗余的,体现在不同点的WT满足重建核方程。在理想情况下,离散后的小波基函数满足正交完备性条件,此时小波变换后的系数没有任何冗余,这样就大大地压缩了数据,并且减少了计算量。为了减少小波变换的系数冗余度,我们将小波基函数a, 限定在一些离散的点上取值。 尺 度 的离散化。目前通行的办法是对尺度进行幂级数离散化,即令a取a=,a>O,mZ,此时对应的小波函数是aj=0 ,1,2,.。 位移的离散化。通常对进行均匀离散取值,以覆盖整个时间轴。为了防止信息的丢失,我们要求采样间隔满足Nyquist采样定理,采样率大于等于该尺度下频率通常的二倍。所以每当m增加1时,尺度a增加一倍,对应的频率减小一半,可见采样率可以降低一半而不致引起信息的丢失(带通信号的采样率决定于其带宽,而不是决定于其频率上限)。所以在尺度j下,由于的带宽时的a倍,因此采样间隔可以扩大a,同时也不会引起信息的丢失。这样, 就改成:a (3.7)记为离散小波变换定义为:WT= j=0,1,2.,k (3.8)在以上的尺度以及位移均离散化的小波序列,如果取离散栅格a= 2 , =0,即相当于连续小波只在尺度a上进行量化,平移参数仍然连续不被离散,我们称这类小波为二进小波,表示为: =2 (3.9)二进小波介于连续小波和离散小波之间,由于它只是对尺度参量进行离散化,在时间域上的平移量仍保持着连续的变化,所以二进小波具有连续小波变换的时移共变性,这个特点也是离散小波不具有的。也正因为如此,它在奇异性检测、图像处理方面都十分有用。令小波函数为(t),其傅立叶变换为,若存在常数A,B,当0<AB<,使得 (3.10) 此时,(t)才是一个二进小波,我们称上式为二进小波的鲁棒性条件。定义函数f(t)的二进小波变换系数为:WT()=f(t)= (3.11)其中=2 (3.12)由前面的知识可得它的小波逆变换公式是存在的。二进小波变换的重建公式为:f(t)= (3.13)其中, 为(t)的对偶框架,其上、下界分别为B,和A3.4实验环境:可实现数字水印技术的高效实用工具MatlabMatlab是当前在国内外十分流行的工程设计和系统仿真软件包。它是MathWorks公司于1982年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一人方便的、界面友好的用户环境。Matlab的推出得到了各个领域专家、学者的广泛关注,其强大的扩展功能为各个领域的应用提供了基础。由各个专家学者相继推出了MATLAB工具箱,其中的信号处理(signal processing)、控制系统(control system)、神经网络(neural network)、图像处理(image processing)、鲁棒控制(robust control)、非线性系统控制设计(nonlinear system control design)、系统辨识(system identification)、最优化(optimization)、模糊逻辑(fuzzy logic)、小波(wavelet)、通信(communication)、统计(statistics)等工具箱,这些工具箱给各个领域的研究和工程应用提供了有力的工具,借助于这些“巨人肩上的工具”,各个层次的研究人员可直观、方便地进行分析、计算及设计工作,从而大大地节省了时间。4 基于变换域的数字水印算法4.1算法描述4.1.1水印的预处理图像置乱Amold变换是Amold在遍历理论研究中提出的一种变换,俗称猫脸变换原意为cat mapping。设想在平面单位正方形内绘制一个猫脸图像,通过如下变换=mod1 (4.1)这个猫脸图像将由清晰变为模糊,这就是Arnold变换。注意到式(4.1)定义的Amold变换实际上是一种点的位置移动,并且这种变换是一一对应的。此外,这个变换可以迭代地做下去。类似的变换还有面包师变换。对于数字图像来说,可以将其看成是一个函数在离散网格点处的采样值,这样我们就得到了一个表示图像的矩阵,矩阵中元素的值是对应点处的灰度值或RGB颜色分量值。对于正方形数字图像,我们有离散化的Amold变换:=modN,x,y (4.2)其中N为图像的高度和宽度。对于数字化图像而言,我们所说的位置移动实际上是对应点的灰度值或者RGB颜色值的移动,即将原来点(x,y)处象素对应的灰度值或RGB颜色值移动至变换后的点(x ,y)处。如果我们对一个数字图像迭代地使用离散化的Amold变换,即将左端输出的(x ,y)作为下一次Amold变换的输入可以重复这个过程一直作下去当迭代到某一步时,如果出现的图像符合我们对图像的“杂乱无章”标准的要求,这即是一幅置乱了的图像。需要注意的是,Amold变换具有周期性,即当迭代到某一步时,将重新得到原始图像。Dyson和Falk分析了离散Amold变换的周期性,给出了对于任意N>2,Amold变换的周期性几T/2,这也许是迄今为止最好的结果了。4.1.2水印的嵌入算法目前的小波域水印算法,对于水印嵌入位置的选择有不同的意见。一种意见认为低频子图是图像的平滑部分,人眼对这部分的失真比较敏感,基于水印的不可感知性考虑,应将水印数据隐藏在图像的高频部分亦即小波分解后的高频系数中,而不应在低频系数嵌入水印。另一种意见则认为中高频子图的小波系数幅度一般较小,常接近于0,而低频部分集中了图像的大部分能量,系数的振幅比细节子图的系数大得多,由人类视觉特性知,背景亮度越大,嵌入信号的JND就越高,即低频逼近子图具有较大的感觉容量,相当于一个强背景,可以容纳更强或者更多的水印信息,只要迭加的水印信号低于JND值,视觉系统就无法感觉到信号的存在。这样在图像有一定失真的情况下,仍能保留主要成分,可保持原始载体图像的主观视觉质量基本不变,于是提出水印嵌入低频系数中。(根据小波变换的特性和小波分解系数分析可知,各级小波子图对视觉系统的影响是不同的,随着分级的增加,其重要性也随之增加,在同一尺度下,水平、垂直子图的重要性稍高于对角子图,人眼对水平、垂直分量上的变化比对角线分量上的变化要敏感。)考虑上述嵌入位置的探讨以及小波分解系数的特点,为了权衡水印不可见性和鲁棒性,决定优先选择在原始图像小波分解后的第二级分量上嵌入水印。具体嵌入位置如下:(与水印嵌入在低频系数的比较在下节实验中体现) 将水印图像一级小波分解后的水平分量嵌入到原始图像小波分解后的第二级水平分量上(中频分量):水印图像一级小波分解后的垂直分量嵌入到原始图像小波分解后的第二级垂直分量上;水印图像一级小波分解后的对角分量嵌入到原始图像小波分解后的第二级对角分量上。 而由于人眼对对角分量上噪声的敏感度低于水平、垂直分量上噪声的敏感度,所以将水印经一级小波分解后的低频分量嵌入到原始图像小波分解后的第三级对角分量上。 考虑到低频分量集中了原始图像的大部分信息,有较好的稳定性,在图像有一定失真的情况下,仍能保留主要成份,最后又将水印图像经小波分解后的低频分量二次嵌入到原始图像的低频分量中。具体的嵌入过程如下: 分别输入原始图像X和水印图像W; 利用Amold变换将水印图像W置乱,置乱后的水印记为W' 置乱次数k作为密钥; 对置乱后的水印图像W采用Haar小波变换进行一级小波分解,得到平w'(LH,i,j) 、垂直w'(HL,i,j) 、对角分量小波系数w'(HH,i,j) 和低频分量小波系数 w'(LL,i,j); 对原始图像为X采用Haar小波变换对其进行三级小波分解,得到低频分量小波系数 x( LL ,i,j)、水平分量小波系数x(LH,i,j) 、垂直分量小波系数x(HL,i,j)和对角分量小波系数x(HH,i,j) , n =1,2,3; 参照对嵌入位置的分析,用水印的小波系数按下式修改原始图像的波系数 :X'(i,j ) = X(i ,j) + aW'(i ,j) (4. 3)其中X'(i,j )是嵌入水印图像的小波系数,X(i,j) 是原始图像的小波系数,W'(i ,j)是 在 原 始图像的(i ,j)位置上嵌入的水印小波系数值,“是嵌入强度,其取值应权衡不可见性和鲁棒性要求,a越大,水印虽越强壮,但是嵌入水印的图像质量就会降低。反之,取值小,图像质量虽提高了,但同时会削弱水印的鲁棒性。本文经过反复实验,高频分量a的取值范围为0.060 .08,低频分量a的取值范围为0.10.2较合适。 按照新的小波系数进行小波逆变换,重构得到含水印图像X。4.1.3水印的提取算法水印的提取是嵌入的逆过程,提取时需要借助于原始图像,其过程如下:对含水印图像X和原始图像X进行三级小波分解,得到低频分量小波系数X(LL ,i ,j) 和X(LL,i ,j)、水平分量小波系数x'(LH,i,i)和x(LH,i,j)、垂直分量小波系 数x'(LH,i,j)和x(LH,i,j)以及对角分量小波系数x(HH,i,j)和x'(HH,i ,j),n=1,2,3; 参照下式提取出嵌入的水印小波系数:W'(i,j)= (X '(i ,j)-X (i ,j)/a (4 .4)其中,X '(i ,j) 是含水印图像的小波系数,X(i,j) 是原始图像的小波系数,W'(i,j)是提取出的水印小波系数; 用计算出的小波系数进行小波逆变换(重构)提取出水印图像W' 根据嵌入时设置的密钥k,并根据水印图像的尺寸求得其置乱周期T,对W'进行( T- k)次置乱操作,得到最终的提取水印图像W。4.2实验结果DWT:利用二维离散小波变换实现数字水印。仿真实验采用的原始图像为512512的灰度级lena图像,水印图像是6464的二值图像。clear all; close all; clc;M=512;%原图像长度N=64; %水印长度filename1,pathname=uigetfile('*.*','select the image');image1=imread(num2str(filename1);subplot(2,2,1);imshow(image1); title('original image'); %orginal image for watermarkingimage1=double(image1);image2=imread('C:UserschuyuboDesktopdb1.jpg');% XXX换成任意一张图片,大于或等于64*64BW=im2bw(image2);Small_BW=BW(1:64,1:64);% 提取左上角64*64subplot(2,2,2);imshow(image2);title('original watermark'); %original watermark%嵌入水印ca,ch,cv,cd=dwt2(image1,'db1');%使用指定的小波基函数 'db1' 对二维信号 image1 进行二维%离散小波变幻,ca,ch,cv,cd 分别为近似分量、水平细节分量、垂直细节分量和对角细节分量cas,chs,cvs,cds=dwt2(ca,'db1');for i=1:N for j=1:N if image2(i,j)=0 a=-1; else a=1; end cas(i,j)=cas(i,j)*(1+a*0.03); endendIM=idwt2(cas,chs,cvs,cds,'db1') ;%二维离散小波反变换,重构图像M=double(idwt2(IM,ch,cv,cd,'db1');%显示嵌入后水印图像subplot(2,2,3);colormap(gray(256);image(M);title('marked image');imwrite(M,gray(256),'watermarked.bmp','bmp');%提取水印image1=imread(num2str(filename1);image1=double(image1);imaged=imread('watermarked.bmp');ca,ch,cv,cd = dwt2(image1,'db1');cas,chs,cvs,cds=dwt2(ca,'db1');caa,chh,cvv,cdd=dwt2(imaged,'db1');caas,chhs,cvvs,cdds=dwt2(caa,'db1');for p=1:N for q=1:N a=caas(p,q)/cas(p,q)-1; if a<0 W(p,q)=0; else W(p,q)=255; end endend%显示提取的水印subplot(2,2,4);colormap(gray(256);image(W);title('从含水印图像中提取的水印');imwrite(W,gray(256),'watermark.bmp','bmp');DCT:利用离散余弦变换实现数字水印。仿真实验采用的原始图像为256256的灰度级lena图像,水印图像是32