ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:377.68KB ,
资源ID:7834881      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7834881.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字水印算法设计Word下载.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数字水印算法设计Word下载.docx

1、一个有效的数字水印系统至少具备以下三个最基本的特性:1.安全性:数据信息隐藏于数据图像中,不是文件头中,文件格式的变换不应导致水印信息的丢失。2.隐蔽性:在数字图像作品中嵌入数字水印不会引起图像明显的降质,即含水印的图像与原始图像对人的感觉器官的刺激应该是无差别或差别很小,主观感觉变化很小。3.鲁棒性:是指在经历有意或无意的信号处理过程后,水印信息仍能保持完整性或仍能被准确鉴别。 本次设计基于DCT域的MATLAB水印算法,实验结果表明这种算法具有较好的性能,实现的水印具有不可见性,而且具有较好的鲁棒性。关键词:数字水印、DCT变换、MATLABAbstractDigital watermar

2、king technology in recent years has been great progress in the transform domain-based watermarking technology is a hot topic of current research. Digital watermarking is the use of redundant data and randomness of the common digital works to identify the copyright watermark information embedded in d

3、igital works, copyright protection of digital works or the integrity of a technology which can play.An effective digital watermarking system with at least the following three basic characteristics: (1) Security: data hidden in the data image, not a file header, file format transformation should not

4、lead to the loss of the watermark information. Concealment: digital watermark embedded in the digital image works will not cause the image degraded watermarked image with the original image on the stimulation of the sensory organs of the people is no difference or little difference between the subje

5、ctive feeling of change is smaller. Robustness: refers to the experience intentional or unintentional signal processing, the watermark information to maintain the integrity or able to accurately identify.The design is based on MATLAB watermarking algorithm in DCT domain, the experimental results sho

6、w that this algorithm has better performance, the watermark is invisible, but also has better robustness.Keywords: digital watermark, DCT transform, MATLAB1 数字水印概念数字水印(Digital Watermarking)技术是将一些标识信息(即水印)直接嵌入数字载体当中(包括多媒体、文档、软件等)或是间接表示(修改特定区域的结构),且不影响原载体的使用价值,也不容易被探知和再次修改,但可以被生产方识别和辨认。通过这些隐藏在载体中的信息,可

7、以达到确认内容创建者、购买者、传送隐秘信息或者判断载体是否被篡改等目的。 数字水印是实现版权保护的有效办法,是信息隐藏技术研究领域的重要分支。1.1 数字水印分类(1) 按水印的特性可以将数字水印分为鲁棒数字水印和易损数字水印两类。鲁棒数字水印主要用于在数字作品中标识著作权信息,利用这种水印技术在多媒体内容的数据中嵌入标示信息。在发生版权纠纷时,标示信息用于保护数据的版权所有者。用于版权保护的数字水印要求有很强的鲁棒性和安全性。易损水印,与鲁棒水印的要求相反,易损数字水印主要用于完整性保护,这种水印同样是在内容数据中嵌入不可见的信息。当内容发生改变时,这些水印信息会发生相应的改变,从而可以鉴定

8、原始数据是否被篡改。易损水印必须对信号的改动很敏感,人们根据易损水印的状态就可以判断数据是否被篡改过。(2) 按水印所附载的媒体划分可分为文本水印、图像水印、音频水印、视频水印及软件水印等。图像水印将水印信息嵌入到图像中,发生所有权争议时,通过提取、检测嵌入信息来证实所有权。图像水印利用人类视觉系统的特点,应用最为广泛。根据水印嵌入方式不同,图像水印算法主要分为时(空)域方法和变换域方法两类。1.2 数字水印特点数字水印技术基本上具有下面几个特点:安全性:数字水印的信息应是安全的,难以篡改或伪造,同时,应当有较低的误检测率,当原内容发生变化时,数字水印应当发生变化,从而可以检测原始数据的变更;

9、当然数字水印同样对重复添加有很强的抵抗性。隐蔽性:数字水印应是不可知觉的,而且应不影响被保护数据的正常使用。鲁棒性:指在经历多种无意或有意的信号处理过程后,数字水印仍能保持部分完整性并能被准确鉴别。可能的信号处理过程包括信道噪声、滤波、数/模与模/数转换、重采样、剪切、位移及有损压缩编码等。水印容量:是指载体在不发生形变的前提下可嵌入的水印信息量。嵌入的水印信息必须足以表示多媒体内容的创建者或所有者的标志信息,或购买者的序列号,这样便于解决版权纠纷,保护数字产权合法拥有者的利益。2 数字水印算法2.1 数字水印基本模型数字水印的嵌入过程一般模型如图2-1-1所示:图2-1-1 数字水印嵌入一般

10、模型频域法加入数字水印的原理是首先将原始信号(语音一维信号、图像二维信号)变换到频域,常用的变换一般有DWT、DCT、DFT、WP和分形。然后,对加入了水印信息的信号进行频域反变换(IDWT、IDCT、DFT、WP),得到含有水印信息的信号。数字水印的提取过程一般模型如图2-1-2所示:原始信号待检信号抽检过程提取水印可读水印不可读水印原始水印相关性判断图2-1-2 数字水印提取一般模型频域法检测水印的原理是将原始信号与待检测信号同时进行变换域变换,比较两者的区别,进行嵌入水印的逆运算,得出水印信息。如果是可读的水印,那么就此结束,如果是不可读水印,如高斯噪声,就将得出的水印与已知水印作比较,

11、由相关性判断,待检测信号含不含水印,故水印的检测有两个结果。2.2 常见数字水印算法2.2.1 空间域算法数字水印直接加载在原始数据上,还可以细分为如下几种方法:(1) 最低有效位方法(LSB)这是一种典型的空间域数据隐藏算法,L.F.Tumer与R.G.VanSchyadel等先后利用此方法将特定的标记隐藏于数字音频和数字图像内。该方法是利用原始数据的最低几位来隐藏信息(具体取多少位,以人的听觉或视觉系统无法察觉为原则)。LSB方法的优点是有较大的信息隐藏量,但采用此方法实现的数字水印是很脆弱的,无法经受一些无损和有损的信息处理,而且如果确切地知道水印隐藏在几位LSB中,数字水印很容易被擦除

12、或绕过。(2) Patchwork方法及纹理块映射编码方法这两种方法都是Bender等提出的。Patchwork是一种基于统计的数字水印,其嵌入方法是任意选择N对图像点,在增加一点亮度的同时,降低另一点的亮度值。该算法的隐藏性较好,并且对有损的JPEG和滤波!压缩和扭转等操作具有抵抗能力,但仅适用于具有大量任意纹理区域的图像,而且不能完全自动完成。空间域水印算法的最大优点就是具有较好的抗几何攻击能力,最大弱点就在于抗信号处理的能力较差。2.2.2 变换域算法基于变换域的技术可以嵌入大量比特数据而不会导致可察觉的缺陷,往往采用类似扩频图像的技术来隐藏数字水印信息。这类技术一般基于常用的图像变换,

13、基于局部或是全部的变换,这些变换包括离散余弦变换(DCT)、小波变换(WT)、傅氏变换(FT或FFT)以及哈达马变换(Hadamardtransform)等等。其中基于分块的DCT是最常用的变换之一,现在所采用的静止图像压缩标准JPEG也是基于分块DCT的。最早的基于分块DCT的一种数字水印技术方案是由一个密钥随机地选择图像的一些分块,在频域的中频上稍稍改变一个三元组以隐藏二进制序列信息。选择在中频分量编码是因为在高频编码易于被各种信号处理方法所破坏,而在低频编码则由于人的视觉对低频分量很敏感,对低频分量的改变易于被察觉。该数字水印算法对有损压缩和低通滤波是稳健的。另一种DCT数字水印算法是首

14、先把图像分成88的不重叠像素块,在经过分块DCT变换后,即得到由DCT系数组成的频率块,然后随机选取一些频率块,将水印信号嵌入到由密钥控制选择的一些DCT系数中。该算法是通过对选定的DCT系数进行微小变换以满足特定的关系,以此来表示一个比特的信息。在水印信息提取时,则选取相同的DCT系数,并根据系数之间的关系抽取比特信息。除了上述有代表性的变换域算法外,还有一些变换域数字水印方法,它们当中有相当一部分都是上述算法的改进及发展,这其中有代表性的算法是I.Podichuk和ZengWenjun提出的算法。他们的方法是基于静止图像的DCT变换或小波变换,研究视觉模型模块返回数字水印应加载在何处及每处

15、可承受的JND(JustNoticeableDifference,恰好可察觉差别)的量值(加载数字水印的强度上限),这种水印算法是自适应的。2.2.3 其他算法近年来利用混沌映射模型实现数字水印、保密通信等成为混沌应用研究的热点。特别是自从Cox等借用通信技术中的扩频原理将水印信号嵌入到一些DCT变换系数或者多层分解的小波变换系数以来,人们已经提出了一些混沌数字水印方法。水印的嵌入与检测是基于人类视觉系统(HVS)的亮度掩蔽特性和纹理掩蔽特性,折衷水印的不可见性和鲁棒性之间的矛盾.结果表明:该方法嵌入的水印具有不可见性和鲁棒性,并且这种基于密钥的混沌水印方法更好的抗破译性能。目前比较流行的还有

16、一种基于盲水印检测的DWT算法,该算法首先对原始图像进行小波变换,根据人类具有的视觉掩蔽特性对低频分量进行一定的量化,同时可不影响视觉效果,并对作为水印的图像进行压缩和二值化处理,形成一维的二值序列,根据二值序列的值对上述量化后的原始信号的低频分量进行视觉阈值范围内允许的修改,从而实现水印的嵌入。水印提取过程是对含有水印的图像进行小波变换,对低频分量同样进行量化处理,为了增大算法的安全性,可以对水印形成的二值0、1序列在嵌入前进一步进行伪随机序列调制,相应的在水印提取过程需要增加用伪随机序列解调的步骤。这样不知道伪随机序列的攻击者即使推测出水印的嵌入规律,也无法提取水印,大大增加了水印系统的透

17、明性和鲁棒性。2.3离散余弦变换(DCT)算法2.3.1 DCT变换公式因为DCT 变换公式是这一算法的核心,有必要先了解一下DCT 正反变换公式。DCT 正反变换公式的核心是余弦变换,计算速度比较快,因图像处理所用的是二维变换,这里只给出二维的DCT 正反变换公式,二维DCT 正变换公式为:;其中:二维DCT反变换公式为:其中x,y 为空间采样值,u,v 为频域采样值。因为数字图像多用像素方阵来标识,即M=N,此时,二维DCT 正反变换可以简化为:2.3.2 二维DCT的性质离散余弦变换是图像处理技术中几种最基本的酉变换之一。酉变化是线性变化的一种特殊形式,其基本线性运算式是严格可逆的,并且

18、满足一定的正交条件。图像的酉变换可以被理解为分解图像数据为广义的二维频谱,变换域中每一分量对应于原图频谱函数的能量。设IMN 为MN 的图像矩阵则该图像的二维DCT 变换可由下式表示:FDCT= 其中经过二维DCT 变换得到的DCT 系数矩阵GDCT 指示了一系列频率中每一个频率所对应的变化程度,即频率的高低。其中低频分量将集中在矩阵的左上角,高频分量则集中在右下角。图像的低频分量反映图像慢变化,即图像整体部分;图像的高频分量代表图像跳变的地方,即图像细节部分,如轮廓、边缘。根据人类视觉系统,图像整体比细节部分更为重要,若一幅图像经过处理后而视觉改变不大,则其低频分量必定改变程度不大。此算法采

19、用了将数字水印的灰度值植入DCT 域的低频分量中的方法。二维离散余弦变换是一种严格可逆的酉变换。它的两个矩阵AMM BNN 满足以下的正交条件:由此,易得到离散余弦逆变换(IDCT):正因为DCT 是一种严格可逆的正交变换,才可能对基于DCT 的植入算法实现准确的数字水印滤波。2.4 离散余弦变换的水印嵌入数字图像水印算法选择二值化灰度图像作为水印信息,根据水印图像的二值性选择不同的嵌入系数,并将载体图像进行88的分块,将数字水印的灰度值直接植入到载体灰度图像的DCT变换域中,实现水印的嵌入。具体方法如下:设I是MN大小的原始图像,J是水印图像大小为PQ,M和N分别是P和Q的偶数倍,把水印J加

20、载到图像I中,算法分以下几步进行:1. 将I分解为(M/8)(N/8)个88大小的方块B;同时,J也分解为 (M/8)(N/8)个(8P/M)(8Q/N)大小的方块V;2. 对每一个B进行DFT变换:DB=DFT(B);3. 加载水印对每一个DB和V,s(i)为从DB的中频选出的加载的位置 , 1i(8P/M)(8Q/N), t(i)为水印V的位置坐标 , 1i(8P/M)(8Q/N),DB(s)=AV,其中A是加权系数,用DB(s)来代替DB,得到加载水印后的图像DBC;4. 对以上得到的每一个DBC进行逆DCT变换:IDBC=IDCT(DBC)并将各方块IDBC合并为一个整图I,即加载了水

21、印的新图像。原始图像I水印图像J88分块处理含水印的图像IDCT变换水印的嵌入改变水印的嵌入深度选择加载位置改变水印信息形式DCT变换图2-4-1 DCT变换的水印嵌入流程图2.5离散余弦变换的水印提取设图像D为已经加载了水印的载体图像,现要将所加载的水印从D中提取出来,其过程为上述加载水印算法的逆运算:1. 将D分解为(M/8)8大小的方块BD;2. 对每一个BD进行二维DFT变换:DBD=DCT(BD);3. 提取数据对每一个DBD,按照式V=1/ADBD得到V;4. 将上面得到的所有V合并成一个水印整图。合并分块的水印得到完整的水印提取每块的水印信息图2-5-1 DCT变换的水印嵌入流程

22、图3 数字水印算法的MATLAB编程3.1数字水印的嵌入 根据DCT数字水印算法,编写的数字水印嵌入MATLAB程序如下:clear all;clc;start_time=cputime;% 读取水印图像 % I=imread(mark.bmp);I=rgb2gray(I);I=double(I)/255;I=ceil(I);%显示水印图像%figure(2);imshow(I),title(水印图像)dimI=size(I);rm=dimI(1);cm=dimI(2);% 以下生成水印信息 %mark=I;alpha=15,k1=randn(1,8);k2=randn(1,8);a0=imr

23、ead(lena.bmppsnr_cover=double(a0);figure(3);imshow(a0,),title(原始图像r,c=size(a0);cda0=blkproc(a0,8,8,dct2 %分块处理图片% 嵌入 %cda1=cda0; % cda1 = 256_256for i=1:rm % i=1:32 for j=1:cm % j=1: x=(i-1)*8;y=(j-1)*8; if mark(i,j)=1 k=k1; else k=k2; end cda1(x+1,y+8)=cda0(x+1,y+8)+alpha*k(1); cda1(x+2,y+7)=cda0(x+

24、2,y+7)+alpha*k(2); cda1(x+3,y+6)=cda0(x+3,y+6)+alpha*k(3); cda1(x+4,y+5)=cda0(x+4,y+5)+alpha*k(4);cda1(x+5,y+4)=cda0(x+5,y+4)+alpha*k(5); cda1(x+6,y+3)=cda0(x+6,y+3)+alpha*k(6); cda1(x+7,y+2)=cda0(x+7,y+2)+alpha*k(7); cda1(x+8,y+1)=cda0(x+8,y+1)+alpha*k(8);end% 嵌入水印后图像 %a1=blkproc(cda1,8,8,idct2a_1=

25、uint8(a1);imwrite(a_1,withmark.bmp,bmpfigure(4);imshow(a1,),title(嵌入水印后的图像disp(嵌入水印处理时间 程序运行后结果如下。图3-1-1 原始图像和水印图像图3-1-2 含水印的图像 由运行结果可知,嵌入水印后的图像和原始图像看上去基本一样,可见数字水印的嵌入不影响原图像的感观,数字水印具有不可见性。3.2数字水印的提取根据DCT数字水印算法,编写的数字水印提取MATLAB程序如下:%提取水印%M1=imread( %读取含水印的图像psnr_watermarked=M1;dca1=blkproc(M1,8,8, %分块处

26、理p=zeros(1,8);dimI(1) dimI(2) % j=1: p(1)=dca1(x+1,y+8); p(2)=dca1(x+2,y+7); p(3)=dca1(x+3,y+6); p(4)=dca1(x+4,y+5); p(5)=dca1(x+5,y+4); p(6)=dca1(x+6,y+3); p(7)=dca1(x+7,y+2); p(8)=dca1(x+8,y+1); %sd1=sum(sum(p.*k1)/sqrt(sum(sum(p.2); %sd2=sum(sum(p.*k2)/sqrt(sum(sum(p.2); %if sd1sd2 if corr2(p,k1)

27、corr2(p,k2),warning off MATLAB:divideByZero;mark1(i,j)=1; else mark1(i,j)=0;subplot(1,3,2);imwrite(mark1,getmark.bmpimshow(mark1,),title(提取的水印图像 % 读取原始水印图像 %subplot(1,3,3);原始水印图像程序运行后结果如下。图3-2-1 水印的提取从程序运行结果中可知,从含水印的图像中提取得到的水印图像和原始图像基本相同,水印信息被成功地提取了出来。4 数字水印的抗攻击实验对数字水印的攻击一般是针对水印的鲁棒性提出的要求,在前面已介绍过数字水印

28、的鲁棒性是指水印信号在经历多种无意或有意的信号处理后,仍能被准确检测或提取的特征。攻击是指那些带有损害性、毁坏性的,或者试图移去水印信号的处理过程。鲁棒性好的水印应该能够抵抗各种水印攻击行为。在这里我们只考虑那些并不严重导致载体数据失真的攻击方法。所谓水印攻击分析,就是对现有的数字水印系统进行攻击,以检验其鲁棒性,通过分析其弱点所在及其易受攻击的原因,以便在以后数字水印系统的设计中加以改进。水印必须对攻击具有鲁棒性,常见的操作主要有:剪切、亮度和对比度的修改、放大、缩小和旋转、有损压缩、在图像中加噪声等。为了验证算法的鲁棒性,对嵌入了水印的视频分别进行了剪切、滤波、压缩等攻击操作,之后再提取水印。评价数字水印被影响程度,除了利用感知系统(人眼或人耳)定性评价以外,还可以采用定量的评价标准。通常对含水印的数字作品进

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2