基于Matlab的数字水印设计——基于DCT域的水印实现课程设计
基于DCT变换的数字水印研究及其MATLAB实现

S u y o i i lwa e m a k b s d o t d n d g t t r r a e n DCT n h e l a i n a a d t e r a i to z
o ATLAB i u a i n nM sm l to
YANG n Xi
出水 印的存在 。这样 , 字水 印技 术包 含水 印 的嵌 数 入 和提取 两个过程 。
数字 媒体 因其 数字特 征极易被 复制 、 改 、 篡 非法 传播
以及蓄意攻击, 其版权保护, 1益引起人们 的关 已3 注 。数 字水印技术 就是在 这种背 景下应运 而生 。数 字水 印技术 利用人类 的听觉 、 视觉 系统 的特点 , 图 在
( oeeo pol toi Eli e g C o g i nvri f ot a dT l o mu i t n , hn q g4O6 , hn ) C lg f te c nc I n 血 , h nq gU i s yo s n e cm nc i sC o gi O5 C i l O er g e n e t P s e ao n O a
像、 音频 、 频 中加 入 一定 的信息 , 人们 很 难 分辨 视 使 出加人水 印后 的资 料 与原 始 资料 的 区别 , 通过 专 而 门的检验步骤 又能 提取 出所 加 信 息 , 以此 证 明原 创 者对数 字媒体 的版权 ¨ 。 J
研 究数字水 印技术 的最初 目的是用 于保护 数字
1 9— 2
数字 水印提取 从 水 印数 据 中提取 出水 印信 号 ,
数字水 印嵌 人是将 水 印信号 加 人原 始数 据 中 ,
其过 程如 图 1 所示 。
产 品的版权 , 随着研究 的进一 步深入 , 但 它在信息 安
基于Matlab的数字水印设计——基于空域的水印实现

摘要数字水印(Digital Watermarking)技术是我们生活中经常见到的信息隐藏技术。
它将一些标识信息(即数字水印)直接嵌入数字载体中,但不影响原载体的使用价值,也不容易被人的知觉系统觉察或注意到。
空间数字水印是信息隐藏技术的一个重要研究方向,另一类是频率数字水印。
空间数字水印采用最低有效位(LSB)算法,通过修改表示数字图像的颜色或颜色分量的位平面,调整数字图像中感知不重要的像素来表达水印的信息,以达到嵌入水印的目的。
本实验是基于matlab的数字水印设计——基于空域的水印实现。
关键词:信息隐藏技术;空间数字水印; LSB算法;matlab目录1 设计任务与目的 (1)2 MATLAB的简介及应用 (1)2.1 MATLAB简介 (1)2.2 MATLAB应用 (1)3 数字水印技术 (2)3.1 数字水印技术的发展 (2)3.2 水印分类 (2)3.3 数字水印的特点 (3)3.4 数字水印技术的基本原理 (4)4 基于LSB的数字水印算法 (5)4.1 LSB算法原理 (5)4.2 LSB算法的实现 (6)4.2.1 水印嵌入算法 (7)4.2.2 水印提取算法 (9)5 MATLAB软件仿真 (11)5.1 仿真结果 (11)5.1.1 水印嵌入仿真 (11)5.1.2 水印提取仿真 (12)5.2 仿真分析 (13)结论 (14)参考文献 (15)基于Matlab的数字水印设计——基于空域的水印实现1 设计任务与目的(1)通过课程设计把自己在大学中所学的知识应用到实践当中。
(2)在课程设计的过程中掌握程序编译及软件设计的基本方法。
(3)深入了解利用Matlab设计基于Matlab的数字水印设计——基于空域的水印实现。
(4)提高自己对于新知识的学习能力及进行实际操作的能力。
(5)锻炼自己通过网络及各种资料解决实际问题的能力。
2 MATLAB的简介及应用2.1 MATLAB简介MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
基于Matlab图像数字水印算法的设计

基于Matlab图像数字水印算法的设计肖玉兰【摘要】Digital watermarking provide an effective way for overcoming serious problems of digital images on the Internet, including copyright violation, illegal copying and genuine identification, etc. The authors develop a bi-image watermarking method. This paper introduces the commonly used Matlab function in the digital watermarking algorithm and accomplished a new kind of watermark-embedding and detecting algorithm based on the DCT. It has good robustness with the experimental results given that the image embedded watermark after the attack can be extracted successfully.%介绍了Matlab中用于图像数字水印的基本函数,通过设计程序实现了一个DCT城图像数字水印的嵌入和提取算法,并对已嵌入水印的图像实施了攻击(压缩30%).结果表明,被攻击后的图像仍能成功提取出嵌入的水印信息,具有较好的稳健性和鲁棒性.【期刊名称】《广西民族大学学报(自然科学版)》【年(卷),期】2012(018)003【总页数】4页(P66-69)【关键词】Matlab;数字水印;数字图像;DCT【作者】肖玉兰【作者单位】青海师范大学组织部,青海西宁810008【正文语种】中文【中图分类】TP309.70 引言网络技术和流媒体技术的迅速发展,给文本、图像、音视频信息的数字存取提供了快速、高效和方便的网络途径.但随之而来的弊端是一些从事网络剽窃的个人(或团体)在没有得到原创作品版权所有者的许可下利用各种非法手段获取并修改网络中传输的数据信息,非法拷贝有版权的内容.如何在网络环境中实施有效的版权保护和信息安全,已成为一个亟待解决的现实问题.诸多研究表明[1-6],利用现代数字信号处理技术有效实施数字作品的版权保护是业界公认的手段,其中数字水印技术是最典型方法[7-8],它是利用数字作品中存在的冗余数据把有效的版权保护信息通过一定的方法嵌入到数字化作品中用来保护数字化产品版权的相关技术.根据水印嵌入到数字作品中的区别,数字水印技术相关的算法分为时空域和变换域两大类型.其中时空域算法是将水印信息直接嵌入到数字作品的时间或空间域中;而变换域算法首先将数字作品做相应的数学变换[9-10]处理,通过改变这些变换域的相关系数来达到嵌入水印信息的目的.这两种算法都能成功实现数字水印信息的嵌入和提取,实现有效版权信息的保护,只是算法设计思路、针对性和运行效果不同.Matlab软件含有丰富的库函数,功能强,编程简单.笔者通过介绍Matlab中用于数字图像处理的基本函数,设计程序实现了一个DCT域图像数字水印的嵌入和提取算法,并对已嵌入水印的图像实施了有效的攻击(压缩30%).仿真结果表明,被攻击后的图像仍能成功提取出被嵌入的水印信息,具有较好的稳健性和鲁棒性.1 Matlab中的图像处理函数Matlab是由 MathWorks 公司开发的主要用于矩阵运算和可视化图形图像处理的计算语言,含有专门用于数字图像处理的基本变换函数[4](FFT、DCT、DWT等),极大地简化了算法的计算机实现.1.1 图像文件I/O函数1) imread和imwrite:用于读写图像文件,图像文件类型可以是.bmp、.hdf、.jpeg和.tiff等格式;2) load:把以.mat 为扩展名的图像文件调入到内存中,以备后续处理;3) save:将工作空间中的变量保存到以.mat 为扩展名的图像文件中.1.2 图像显示函数1) image:显示图像,可返回一个图像的句柄给一个image 对象;2) imshow:用于显示一幅图像;3) truesize:调整图像显示的大小.1.3 离散余弦变换函数(DCT域图像变换)1) dct和dct2:可分别实现一维和二维信号的离散余弦变换;2) idct和idct2:分别实现一维和二维信号的离散余弦反变换;3) blkproc:对图像进行不同的块处理.1.4 水印性能攻击相关的函数1) imcrop:把图像剪裁成具有一定大小的矩形;2) imresize:利用插值方法来调节图像的大小; 3) imrotate:将图像沿逆时针方向旋转指定的角度;4) corr2:计算图像之间的相关系数;5) imadjust:调整图像的对比度; 6) imnoise:给图像加噪处理;7) filter和 filter2:可实现对一维和二维信号的滤波处理.2 图像数字水印算法的实现这里我们以lena1像作为原始图像,将一个图像水印(版权信息)利用变换域算法嵌入到原始图像中,然后再利用水印提取(检测)算法来提取(检测)被嵌入的水印信息;其次,对已嵌入水印信息的图像进行攻击(压缩、剪贴、旋转等)[11],这里以图像压缩作为攻击,压缩比例可不断变化,文中只给出压缩比为30%的图像;最后对被攻击后的图像中的水印信息再次进行提取(检测),以验证水印的稳健性和鲁棒性等.该算法及实现在Matlab 7.0环境下完成.2.1 图像水印的嵌入和提取算法如图1和图2所示为图像水印嵌入和提取过程,其中原始图像为256×256×8的lena图像,水印信息为图像水印.图1 水印的嵌入过程Fig.1 Framework for watermark embedding图2 水印的提取(检测)过程Fig.2 Framework for watermark detection2.2 算法软件编程算法的软件程序主要包括:初始化、原始图像读取和显示、图像水印的嵌入、图像水印的提取(检测)和攻击等,由于篇幅有限,这里只给出水印的嵌入、提取(检测)和攻击部分程序:M=256; %原始图像的尺寸N=32; %水印图像的尺寸H=8;I=zeros(M,M); %原始图像J=zeros(N,N); %水印图像BLOCK=zeros(H,H);J=imread('bit1','bmp'); %显示水印图像imshow(J);I=imread('cameraman','bmp'); %显示原始图像imshow(I);tem=1; %嵌入水印信息for c=1:N;for d=1:N;x=(c-1)*H+1;y=(d-1)*H+1;BLOCK=I(x:x+H-1,y:y+H-1);……BLOCK(2,1)=BLOCK(2,1)*(1+a*0.01); %嵌入系数BLOCK=iDCT2(BLOCK); % DCT反变换, 得到含水印的图像I(x:x+H-1,y:y+H-1)=BLOCK; %自适应地嵌入到了图像中endendimshow(I); %显示嵌入水印后的图像imwrite(I,'embeded.bmp','bmp');M=256; %原图像长度N=32; %水印图像长度K=8;I=zeros(M,M); %原始图像Q=zeros(M,M); %嵌入水印后的图像J=zeros(N,N); %水印图像BLOCK1=zeros(H,H);BLOCK2=zeros(H,H);Q=imread('embeded','bmp'); %读取嵌入水印后的图像for c=1:N;for d=1:M;x=(c-1)*H+1;y=(d-1)*H+1;……if a<0W(c,d)=0;elseW(c,d)=1;……endimshow(W);2.3 图像的攻击检测将嵌入水印的图像进行攻击(这里将图像压缩30%),相应的部分程序如下:L=imread('embeded','bmp');imwrite(L,'attack1.jpg','jpeg','Quality',70);J1=imread('attack1.jpg','jpeg');imshow(J1);%I=imread('cameraman','bmp');for c=1:Nfor d=1:Nx=(c-1)*H+1;y=(d-1)*H+1;……imshow(W);title ('从遭受攻击后图像中提取水印') %图3~8分别为原始图像、水印图像、嵌入水印后的图像、提取的水印图像、受攻击后的图像、受攻击后图像中提取的水印图像.从图3~6可看出,被嵌入到原始图像中的图像水印信息能很好的提取(检测)出来,这说明图像水印的嵌入、提取算法和过程是可行的.从图7可清楚看到,原始图像被攻击(压缩30%)后,仍然能显示完整的图像信息,但图像容量减小了30%,这有利于图像存储和网络传输,既节省了存储空间又提高了传输速度.从图8同样可清楚看到,嵌入水印的图像被攻击(压缩30%)后依然能提取(检测)出水印信息,只是被提取的水印图像中有一些离散的数据点,整个水印图像清晰可见,与原始水印图像差别不大,这说明水印有较好的抗攻击能力,图像质量和效果良好,具有较好的稳健性和鲁棒性.图3 原始图像Fig.3 Original image图4 水印图像Fig.4 Watermark image图5 嵌入水印后图像Fig.5 image after embeded Watermarking图6 提取的水印图像Fig.6 Watermark image detected图7 被攻击的图像(压缩30%)Fig.7 Attacked image(compression ratio of 30%) 图8 攻击后提取的水印图像Fig.8 watermark detection after attacking3 结论通过设计程序实现了一个DCT域图象数字水印的嵌入和提取算法,并对已嵌入水印的图像实施了有效的攻击(压缩30%).仿真实验结果表明,被攻击后的图像中能成功提取出被嵌入的水印信息,既节省了存储空间又提高了传输速度,有利于图像存储和网络传输,具有较好的稳健性和鲁棒性.[参考文献]【相关文献】[1]黄继武. DCT域图像水印: 嵌入对策和算法[J].电子学报, 2000, 28(4):57-59.[2]余燕忠, 王新伟. 应用 MATLAB实现数字水印算法[J].电子科技, 2004,(6): 27-32.[3]Hu C, Wu J. DCT based Watermarking for Video[J]. IEEET rans.Consumer Electronics,1998, 44(1):206-216.[4]张芳. MATLAB与数字水印技术[J].天津工业大学学报, 2004, 2(1):83-84.[5]鞠武,万鲁冲.基于二维混合变换(DCT-DWT)的图像水印算法[J].微计算机信息,2010,26(2):202-205.[6]张秋余,李凯,袁占亭.基于混沌和SVD_DWT的稳健数字图像水印算法[J].计算机应用研究,2010,27(2):718-721.[7]周亚训,叶庆卫,徐铁峰. 基于小波和余弦变换组合的图像水印方案[J].电子学报, 2001,29(12):1693-1695.[8]黄松, 杨华千, 张伟,等. 一个新的基于DCT的自适应数字水印算法[J].计算机科学, 2006,33(6):148-151.[9]闫德勤,韩亚丹,高艳. 一种DCT中频水印嵌入与提取方法[J].计算机工程与应用, 2005, 5:65-67.[10]吕锋,杨彬.一种基于视觉模型的DCT数字水印算法[J].武汉理工大学学报, 2006, 28(12):125-128.[11]邓成,李洁,高新波.基于仿射协变区域的抗几何攻击图像水印算法[J].自动化学报,2010,36(2):221-224.。
基于Matlab的数字水印设计基于DCT域的水印实现课程设计

要摘数字水印(Digital Watermark)技术是指用信号处理地方法在数字化地多媒体数据中嵌入隐蔽地标记,这种标记通常是不可见地,只有通过专用地检测器或阅读器才能提取.数字水印是信息隐藏技术地一个重要研究方向.随着数字水印技术地发展,数字水印地应用领域也得到了扩展,数字. 水印地基本应用领域是版权保护、隐藏标识、认证和安全不可见通信当数字水印应用于版权保护时,潜在地应用市场在于电子商务、在线或离线地分发多媒体内容以及大规模地广播服务.数字水印用于隐藏标识时,可在医学、制图、数字成像、数字图像监控、多媒体索引和基于内容地检索等领域得到应用.数字水印地认证方面主要ID卡、信用卡、ATM卡等上面数字水印地安全不可见通信将在国防和情报部门得到广泛地应用.本文主要是根据所学地数字图象处理知识,在MATLAB环境下,通过系统编程地方式,建立并实现基于DCT域地数字水印加密系统.该系统主要包含数字水印地嵌入与提取,仿真结果表明,数字水印算法具有有效性、可靠性、抗攻击性、鲁棒性和不可见性,能够为数字媒体信息在防伪、防篡改、认证、保障数据安全和完整性等方面提供有效地技术保障.DCTTLAB;关键词:数字水印;MA录目1 课程设计目地 (1)2 课程设计要求 (2)3 数字水印技术基本原理 (3).......................................................................................................... 33.1 数字水印基本框架.......................................................................................................................... 3算法分类 3.2 ................................................................................................................. 43.2.1 DCT 法.............................................................................................................. 4其他方法 3.2.2 ...................................................................................................... 43.3 实际需要考虑地问题.............................................................................................................. 4不可见性 3.3.1 .................................................................................................................. 5 3.3.2 鲁棒性.............................................................................................................. 5 3.3.3 水印容量3.3.4 安全性 (5)4 基于DCT变换仿真............................................................................................................................................................................................................................ 6 4.1 算法原理.............................................................................................................. 6 4.1.1 准备工作.................................................................................................. 78*8变换块4.1.2 选取.......................................................................................................... 7边界自适应 4.1.3 ................................................................................................. 74.1.4 DCT变换与嵌入.............................................................................................................. 8 4.1.5 恢复空域.................................................................................................................. 8嵌入算法扩展4.2 ......................................................................... 8彩色图像三个矩阵地划分4.2.1 RGB...................................................................................................... 8 4.2.2 八色彩色水印...................................................................................................................... 9水印地提取 4.3 .......................................................................................................................... 9 仿真程序4.45 结果分析..................................................................................................................14结束语..........................................................................................................................16参考文献......................................................................................................................17课程设计目地1数字水印技术是用信号处理地方法在数字化地多媒体数据中嵌入隐蔽地标记,这种标记通常是不可见地,只有通过专用地检测器或阅读器才能提取.数字水印是信息隐藏技术地一个重要研究方向.在数字水印技术中,水印地数据量和鲁棒性构成了一对基本矛盾.从主观上讲,理想地水印算法应该既能隐藏大量数据,又可以抗各种信道噪声和信号变形.然而在实际中,这两个指标往往不能同时实现,不过这并不会影响数字水印技术地应用,因为实际应用一般只偏重其中地一个方面.如果是为了隐蔽通信,数据量显然是最重要地,由于通信方式极为隐蔽,遭遇敌方篡改攻击地可能性很小,因而对鲁棒性要求不高.但对保证数据安全来说,情况恰恰相反,各种保密地数据随时面临着被盗取和篡改地危险,所以鲁棒性是十分重要地,此时,隐藏数据量地要求居于次要地位.数字水印技术是通过一定地算法将一些标志性信息直接嵌到多媒体内容当中,但不影响原内容地价值和使用,并且不能被人地知觉系统觉察或注意到.水印信息可以是作者地序列号、公司标志、有特殊意义地文本等,可用来识别文件、图像或音乐制品地来源、版本、原作者、拥有者、发行人、合法使用人对数字产品地拥有权.与加密技术不同,数字水印技术并不能阻止盗版活动地发生,但它可以判别对象是否受到保护,监视被保护数据地传播、真伪鉴别和非法拷贝、解决版权纠纷并为法庭提供证据.总地来说,数字水印可以携带有版权保护信息和认证信息,保护数字产品地合法拷贝和传播.课程设计要求2利用所学地数字图像处理技术,建立并实现基于DCT地数字水印加密系统,利用MATLAB软件系统来实现水印地嵌入和提取,并对算法地不可见性、鲁棒性进行测试.具体要求:TLAB程序设计方法;(1)熟悉和掌握MA TLAB图像处理工具箱;2)学习和熟悉MA (工具箱对图像进行处理和分析;)学会运用MA TLAB(3格式进行打开、保存、另存、退出等功能操作;)能对图像jpg(4软件对图像进行水印地嵌入和提取;)利用所学数字图像处理技术知识、MATLAB(5(6)在程序开发时,清楚主要实现函数目地和作用,需要在程序书写时做适当注释说明,理解每一句函数地具体意义和使用范围;.)每个程序都必须做到功能仿真成功,运行结果以图片地形式粘贴到报告中(7数字水印技术基本原理3数字水印基本框架3.1一个数字水印系统一般包括三个基本方面:水印地生成、水印地嵌入和水印地提取或检测.数字水印地嵌入和提取地一般过程基本框架如图3.1,图3.2所示.水印生成算法(G)数字水原始载体数(J)水印嵌入算私公(K)图3.1 水印嵌入地一般过程基本框架数字水(W)原始数据水印检测算法估计水印(W)/相似度检测) (I待检测数据W私钥/公钥(K)图3.2 水印检测地一般过程基本框架算法分类3.2.根据水印实现方法不同,数字水印可分为空(时)域数字水印和频域数字水印空域数字水印是直接在信号空间上叠加水印信号,而频域法加入数字水印地原理是首先将原始信号(语音一维信号、图像二维信号)变换到频域,常用地变换一般有DWT、DCT、DFT、WP和分形.然后,对加入了水印信息地信号进行频域反变换(IDWT、IDCT、DFT、WP),得到含有水印信息地信号.频域法检测水印地原理是将原始信号与待检测信号同时进行变换域变换,比较两者地区别,进行嵌入水印地逆运算,得出水印信息.如果是可读地水印,那么就此结束,如果是不可读水印,如高斯噪声,就将得出地水印与已知水印作比较,由相关性判断,待检测信号含不含水印,故水印地检测有两个结束点.频域法有以下优点:嵌入地水印信号能量可以分布到空域地所有像素上,有利于保证水印地不可见性;视觉系统(HVS)地某些特性(如频率地掩蔽特性)可以更方便地结合到水印编码过程中;频域法可与国际数据压缩标准兼容,从而实现在压缩域(compressed domain)内地水印编码.法3.2.1 DCT.对原始信号做DCT地算法:Cox和Piva等人提出地DCT技术地经典之作.Cox利用随机数发生器产生标准正态序列作为水印信息对图像进行整体DCT变换后,选取除去DC系数之外部分较低频率系数叠加水印信息。
数字水印算法设计

课程设计任务书学生姓名:蒋立豪专业班级:通信1303班指导教师:李瑞芳工作单位:信息工程学院题目: 数字水印算法设计初始条件:设计任务:学习掌握一种数字水印算法,选择两幅图像分别作为版权图像和水印图像,采用水印嵌入算法成生含水印图像。
采用水印提取算法,提取出嵌入水印。
并对水印算法的鲁棒性进行测试。
(1)掌握一种数字水印的嵌入与提取算法原理;(2)编写出水印嵌入算法的matlab程序,并给出水印嵌入前后的版权图像,并对嵌入效果进行分析说明;(3)编写出水印提取算法matlab程序,并给出水印原图和提取出的水印图像,并对水印的提取效果进行分析说明;(4)进行水印的抗攻击实验,噪声攻击,剪切攻击,缩放攻击,压缩攻击等。
测定提取前后水印的峰值信噪比(PSNR)和相关性(NC);时间安排:指导教师签名:年月日系主任(或责任教师)签名:年月日摘要 (I)Abstract (II)1 MATLAB概述 (1)1.1 MATLAB的优点 (1)2 数字水印概述 (2)2.1 数字水印技术的应用领域 (2)2.2 数字水印的基本特点 (4)2.3 数字水印的分类 (5)2.4 数字水印技术的研究动态 (7)3 典型的数字水印算法 (8)3.1 空域算法 (8)3.2 变换域算法 (8)3.3 压缩域算法 (10)3.4 NEC算法 (11)3.5 生理模型算法 (11)4 DCT算法的概述 (12)4.1. 离散余弦变换(DCT)的定义 (12)4.2 离散余弦变换(DCT)水印嵌入算法 (14)4.3 离散余弦变换(DCT)水印提取算法 (14)4.4 离散余弦变换(DCT)水印算法原理框图 (14)5 抗攻击实验 (16)5.1 水印嵌入和提取 (16)5.2 抗攻击实验 (19)5.2.1 噪声攻击 (20)5.2.2 滤波攻击 (21)5.2.3 压缩攻击 (22)5.2.4 剪切攻击 (23)5.2.5 旋转攻击 (24)6 小结与体会 (26)参考文献 (27)附录 (28)随着计算机通信技术和互联网的迅速发展,数字多媒体的传播业越来越方便快捷。
基于Matlab的数字水印设计基于空域的水印实现

摘要数字水印(Digital Watermarking)技术是我们生活中经常见到的信息隐藏技术。
它将一些标识信息(即数字水印)直接嵌入数字载体中,但不影响原载体的使用价值,也不容易被人的知觉系统觉察或注意到。
空间数字水印是信息隐藏技术的一个重要研究方向,另一类是频率数字水印。
空间数字水印采用最低有效位(LSB)算法,通过修改表示数字图像的颜色或颜色分量的位平面,调整数字图像中感知不重要的像素来表达水印的信息,以达到嵌入水印的目的。
本实验是基于matlab的数字水印设计——基于空域的水印实现。
关键词:信息隐藏技术;空间数字水印; LSB算法;matlab目录1 设计任务与目的 (1)2 MATLAB的简介及应用 (1)2.1 MATLAB简介 (1)2.2 MATLAB应用 (1)3 数字水印技术 (2)3.1 数字水印技术的发展 (2)3.2 水印分类 (2)3.3 数字水印的特点 (3)3.4 数字水印技术的基本原理 (4)4 基于LSB的数字水印算法 (5)4.1 LSB算法原理 (5)4.2 LSB算法的实现 (6)4.2.1 水印嵌入算法 (7)4.2.2 水印提取算法 (9)5 MATLAB软件仿真 (11)5.1 仿真结果 (11)5.1.1 水印嵌入仿真 (11)5.1.2 水印提取仿真 (12)5.2 仿真分析 (13)结论 (14)参考文献 (15)基于Matlab的数字水印设计——基于空域的水印实现1 设计任务与目的(1)通过课程设计把自己在大学中所学的知识应用到实践当中。
(2)在课程设计的过程中掌握程序编译及软件设计的基本方法。
(3)深入了解利用Matlab设计基于Matlab的数字水印设计——基于空域的水印实现。
(4)提高自己对于新知识的学习能力及进行实际操作的能力。
(5)锻炼自己通过网络及各种资料解决实际问题的能力。
2 MATLAB的简介及应用2.1 MATLAB简介MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
毕业设计(论文)-基于dct域的数字水印算法研究与应用[管理资料]
![毕业设计(论文)-基于dct域的数字水印算法研究与应用[管理资料]](https://img.taocdn.com/s3/m/9fefdf8101f69e31423294dd.png)
毕业设计中文摘要毕业设计英文摘要目次1 绪论 (1)课题的研究现状及热点问题 (1)数字水印的关键技术及应用 (2)本文的主要研究内容 (5)2 数字水印的基本原理 (6)DCT域数字水印嵌入原理 (6)DCT域数字水印提取原理 (6)本章小结 (7)3 数字水印的嵌入设计 (7)DCT域数字水印嵌入流程 (7)水印嵌入的结果 (8)本章小结 (11)4 数字水印的提取设计 (12)DCT域数字水印提取流程 (12)水印提取的结果 (13)本章小结 (15)5 鲁棒性分析 (16)抗噪声测试 (16)抗压缩测试 (20)本章小结 (21)结论 (22)参考文献 (23)致谢 (25)附录A (25)附录B (27)1 绪论课题的研究现状及热点问题随着计算机的普及,许多传统媒体内容都向数字化转变,并且在电子商务中即将占据巨大市场份额,如mp3的网上销售,数字影院的大力推行,网上图片、电子书籍销售等等,在无线领域,随着移动网络由第二代到第三代的演变,移动用户将能方便快速的访问因特网上数字媒体内容,基于有线或无线网络的数字媒体内容的应用即将是信息时代新的传统。
但是,数字媒体内容的安全问题成了瓶颈问题,一度制约着信息化进程。
为了有效地解决信息安全和版权保护等问题,近年来提出了加解密、数字签名、数字指纹、数字水印等多种技术。
其中数字水印是20世纪90年代出现的一门崭新的技术,它通过在数字产品中嵌入水印信息来确定数字产品的所有权或检验数字内容的原始性[1]。
它弥补了加解密技术不能对解密后的数据提供进一步保护的不足, 弥补了数字签名不能在原始数据中一次性嵌入大量信息的弱点, 弥补了数字指纹仅能给出版权破坏者信息的局限[2]。
国际上一些成立了专门的机构,如拷贝保护技术工作组(CPTWG,Copy Protection Technique Working Group)从1995年开始致力于基于DVD的视频版权保护研究,安全数字音乐创始(SDMI,Secure Digital Music Initiative)从1999年开始研究音频的版权版护,数字水印是其中的核心关键技术。
基于MATLAB的DCT域数字水印技术实现

基于MATLAB的DCT域数字水印技术实现高景山;任神河【摘要】With the rapid development of network and multimedia technology,how to protect the multimedia information's security has become a hot topic in the international study,digital watermarking technology arises at this historic moment.Today digital watermarking technology has become a hot in the academic circle as the digital works copyright protection is more and more important.In this article,the current mainstream digital watermarking algorithm is briefly described,the DCT domain digital blind watermarking algorithm is proposed.The experimental results demonstrate that the watermarking algorithm satisfys invisibility and has good robustness for the JPEG Ccompression and noise.%随着网络技术和多媒体技术的飞速发展,如何保护多媒体信息的安全已成为国际上研究的热门话题,数字水印技术应运而生。
作为保护数字作品版权的一种重要手段,数字水印技术己成为当今学术界研究的一个热点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要数字水印(Digital Watermark)技术是指用信号处理的方法在数字化的多媒体数据中嵌入隐蔽的标记,这种标记通常是不可见的,只有通过专用的检测器或阅读器才能提取。
数字水印是信息隐藏技术的一个重要研究方向。
随着数字水印技术的发展,数字水印的应用领域也得到了扩展,数字水印的基本应用领域是版权保护、隐藏标识、认证和安全不可见通信。
当数字水印应用于版权保护时,潜在的应用市场在于电子商务、在线或离线地分发多媒体内容以及大规模的广播服务。
数字水印用于隐藏标识时,可在医学、制图、数字成像、数字图像监控、多媒体索引和基于内容的检索等领域得到应用。
数字水印的认证方面主要ID卡、信用卡、ATM卡等上面数字水印的安全不可见通信将在国防和情报部门得到广泛的应用。
本文主要是根据所学的数字图象处理知识,在MATLAB环境下,通过系统编程的方式,建立并实现基于DCT域的数字水印加密系统。
该系统主要包含数字水印的嵌入与提取,仿真结果表明,数字水印算法具有有效性、可靠性、抗攻击性、鲁棒性和不可见性,能够为数字媒体信息在防伪、防篡改、认证、保障数据安全和完整性等方面提供有效的技术保障。
关键词:数字水印;MATLAB;DCT目录1 课程设计目的 (1)2 课程设计要求 (2)3 数字水印技术基本原理 (3)3.1 数字水印基本框架 (3)3.2 算法分类 (3)3.2.1 DCT法 (4)3.2.2 其他方法 (4)3.3 实际需要考虑的问题 (4)3.3.1 不可见性 (4)3.3.2 鲁棒性 (5)3.3.3 水印容量 (5)3.3.4 安全性 (5)4 基于DCT变换仿真 (6)4.1 算法原理 (6)4.1.1 准备工作 (6)4.1.2 选取8*8变换块 (7)4.1.3 边界自适应 (7)4.1.4 DCT变换与嵌入 (7)4.1.5 恢复空域 (8)4.2 嵌入算法扩展 (8)4.2.1 RGB彩色图像三个矩阵的划分 (8)4.2.2 八色彩色水印 (8)4.3 水印的提取 (9)4.4 仿真程序 (9)5 结果分析 (14)结束语 (16)参考文献 (17)1 课程设计目的数字水印技术是用信号处理的方法在数字化的多媒体数据中嵌入隐蔽的标记,这种标记通常是不可见的,只有通过专用的检测器或阅读器才能提取。
数字水印是信息隐藏技术的一个重要研究方向。
在数字水印技术中,水印的数据量和鲁棒性构成了一对基本矛盾。
从主观上讲,理想的水印算法应该既能隐藏大量数据,又可以抗各种信道噪声和信号变形。
然而在实际中,这两个指标往往不能同时实现,不过这并不会影响数字水印技术的应用,因为实际应用一般只偏重其中的一个方面。
如果是为了隐蔽通信,数据量显然是最重要的,由于通信方式极为隐蔽,遭遇敌方篡改攻击的可能性很小,因而对鲁棒性要求不高。
但对保证数据安全来说,情况恰恰相反,各种保密的数据随时面临着被盗取和篡改的危险,所以鲁棒性是十分重要的,此时,隐藏数据量的要求居于次要地位。
数字水印技术是通过一定的算法将一些标志性信息直接嵌到多媒体内容当中,但不影响原内容的价值和使用,并且不能被人的知觉系统觉察或注意到。
水印信息可以是作者的序列号、公司标志、有特殊意义的文本等,可用来识别文件、图像或音乐制品的来源、版本、原作者、拥有者、发行人、合法使用人对数字产品的拥有权。
与加密技术不同,数字水印技术并不能阻止盗版活动的发生,但它可以判别对象是否受到保护,监视被保护数据的传播、真伪鉴别和非法拷贝、解决版权纠纷并为法庭提供证据。
总的来说,数字水印可以携带有版权保护信息和认证信息,保护数字产品的合法拷贝和传播。
2 课程设计要求利用所学的数字图像处理技术,建立并实现基于DCT的数字水印加密系统,利用MATLAB软件系统来实现水印的嵌入和提取,并对算法的不可见性、鲁棒性进行测试。
具体要求:(1)熟悉和掌握MATLAB程序设计方法;(2)学习和熟悉MATLAB图像处理工具箱;(3)学会运用MATLAB工具箱对图像进行处理和分析;(4)能对图像jpg格式进行打开、保存、另存、退出等功能操作;(5)利用所学数字图像处理技术知识、MATLAB软件对图像进行水印的嵌入和提取;(6)在程序开发时,清楚主要实现函数目的和作用,需要在程序书写时做适当注释说明,理解每一句函数的具体意义和使用范围;(7)每个程序都必须做到功能仿真成功,运行结果以图片的形式粘贴到报告中。
3 数字水印技术基本原理3.1 数字水印基本框架一个数字水印系统一般包括三个基本方面:水印的生成、水印的嵌入和水印的提取或检测。
数字水印的嵌入和提取的一般过程基本框架如图3.1,图3.2所示。
图3.1 水印嵌入的一般过程基本框架图3.2 水印检测的一般过程基本框架 3.2 算法分类根据水印实现方法不同,数字水印可分为空(时)域数字水印和频域数字水印。
空域数字水印是直接在信号空间上叠加水印信号,而频域法加入数字水印的原理是首先将原始信号(语音一维信号、图像二维信号)变换到频域,常用的变换一般有DWT 、DCT 、DFT 、WP 和分形。
然后,对加入了水印信息的信号进行频域反变换(IDWT 、IDCT 、DFT 、WP ),得到含有水印信息的信号。
频域法检测水印的原理是将原始信号与待检测信号同时进行变换域变换,比较两者的区别,进行嵌入水印的逆运算,得出水印信息。
如果是可读的水印,那么就此结束,如果是不可读水印,如高斯噪声,就将得出的水印与已知水印作比较,由相关性判断,待检测信号含不含水印,故水印的检测有两个结束点。
频域法有以下优点:嵌入的水印信号能量可以分布到空域的所有像素上,有利于保证水印的不可见性;视觉系统(HVS )的某些特性(如频率的掩蔽特性)可以更方便地结合到水印编码过程中;频域法可与国际数据压缩标准兼容,从而水印生成算法(G) 数字水印(W )原始载体数据(J) 水印嵌入算法(E ) 私钥/公钥(K)嵌入水印后的数据(I W ) 待检测数据(I W ) 水印检测算法(D ) 私钥/公钥(K)估计水印(W )/相似度检测(Sim ) 数字水印(W)/原始数据(I )实现在压缩域(compressed domain)内的水印编码。
3.2.1 DCT法对原始信号做DCT的算法:Cox和Piva等人提出的DCT技术的经典之作。
Cox利用随机数发生器产生标准正态序列作为水印信息对图像进行整体DCT变换后,选取除去DC系数之外部分较低频率系数叠加水印信息;Piva则修改整幅图像的中频部分。
对原始信号分块后,再作DCT的算法:Hsu和Wu把图像进行8*8分块,将一个二进制序列作为水印放入DCT的中频区;有些学者则计算整个图像的DCT,把一个实数序列嵌入DCT的中频系数上。
选择中频区的好处是一方面尽量减少嵌入信息对图像主观视觉的影响;同时,尽量避免有损压缩对水印信息可能带来的损失。
还有一种DCT方法就是把水印信息嵌入到高频系数上,但是采用这种方法,抗压缩性非常差。
3.2.2 其他方法其它变换域还有Fourier-mellin域、Fourier变换域、分形或WP(Wavelet Package)等。
以上的变换域算法计算量都非常大,编程实现这些变换和逆变换也需要好好下一番功夫,由此造成研究人员把大量的时间和精力浪费在与水印算法研究无关的问题上。
3.3 实际需要考虑的问题在数字水印技术中,水印的数据量和鲁棒性构成了一对基本矛盾。
从主观上讲,理想的水印算法应该既能隐藏大量数据,又可以抗各种信道噪声和信号变形。
然而在实际中,这两个指标往往不能同时实现,不过这并不会影响数字水印技术的应用,因为实际应用一般只偏重其中的一个方面。
如果是为了隐蔽通信,数据量显然是最重要的,由于通信方式极为隐蔽,遭遇敌方篡改攻击的可能性很小,因而对鲁棒性要求不高。
但对保证数据安全来说,情况恰恰相反,各种保密的数据随时面临着被盗取和篡改的危险,所以鲁棒性是十分重要的,此时,隐藏数据量的要求居于次要地位。
3.3.1 不可见性对于以模拟方式存储和分发的信息(如电视节目),或是以物理形式存储的信息(如报刊、杂志),用可见的标志就足以表明其所有权。
但在数字方式下,标志信息极易被修改或擦除。
因此应根据多媒体信息的类型和几何特性,利用用户提供的密钥将水印隐藏到一系列随机产生的位置中,使人无法察觉。
图3.3左侧为原始图像,右侧为嵌入水印后的图像。
图3.3 原始图像与嵌入水印后的图像对比3.3.2 鲁棒性水印必须对一般的信号处理操作(如滤波、平滑、增强、有失真压缩等)、删除攻击、迷惑攻击等具有鲁棒性。
除非对数字水印具有足够的先验知识,任何破坏和消除水印的企图都将严重破坏多媒体信息的质量。
3.3.3 水印容量嵌入的水印信息必须足以表示多媒体内容的创建者或所有者的标志信息,或是购买者的序列号。
这样在发生版权纠纷时,创建者或所有者的信息用于标示数据的版权所有者,而序列号用于标示违反协议而为盗版提供多媒体数据的用户。
数字水印在多媒体信息安全中的另一个重要应用就是内容的真实性鉴定(即认证)。
当多媒体内容发生改变时,具有较强的敏感性的易损水印(Fragile watermarking)会随之发生一定程度的改变,从而可以鉴定原始数据是否被篡改。
3.3.4 安全性水印的安全性要求未授权者不能发现数字作品中含有水印信息。
或者算法安全性仅仅依赖于密钥而不依赖于算法的保密性。
因此在没有密钥的情况下,未授权者即使知道含有水印信息和知道水印算法,也不能提取出水印信息或者破坏水印信息。
另外算法还应该能够抵抗合谋攻击。
由于水印特性的要求对应用的依赖型很强,恰当的评价准则和具体的应用有关。
4 基于DCT变换仿真4.1 算法原理离散余弦变换(Diserete Cosine Transform)简称DCT变换。
离散余弦变换是傅立叶变换的一种特殊情况,在傅立叶级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项,再将其离散化可导出离散余弦变换,因此余弦变换与傅里叶变换一样有明确的物理意义,DCT变换避免了傅里叶变换中的复数运算,它是基于实数的正交变换。
DCT变换域数字水印算法的基本原理是将空域图像变成频域,然后将水印信息嵌入其直流项之中,最后将频域转换成空域以完成图片的水印的嵌入。
其主要思想是:在DCT变换域上选择中、低频系数叠加水印信息,因为人眼的感觉主要集中在中、低频段,攻击者破坏水印时,不可避免地会引起图像质量的严重下降,而且一般的图像处理也不会改变这部分数据。
再者,由于JPEG、MPEG 等压缩算法的核心是在DCT变换域上进行量化,故通过巧妙的融合水印和量化过程,可以使水印抵御一定的有损压缩。
此外,DCT变换域系数的统计分布有比较好的数学模型,可以从理论上估计水印的信息量。