基于MATLAB的DCT域数字水印技术实现
基于DCT的数字水印技术

摘要随着计算机通信技术的迅速发展,传播数字多媒体信息也越来越方便快捷,迅速兴起的互联网以电子印刷出版、电子广告、数字仓库和数字图书馆、网络视频和音频、电子商务等新的服务和运作方式为商业、科研、娱乐等带来了许多机会。
然而,随之而来的盗版和侵权行为也越来越猖獗.数字水印可以标识作者、所有者、发行者、使用者等并携带有版权保护信息和认证信息,保护数字产品的合法拷贝和传播。
本文首先介绍了数字水印的基本特征、原理、目的、意义以及目前国内外的研究现状等基本问题,随后介绍了数字水印的基本框架和数字水印的分类,为数字水印算法的提出、实现及测试提供了理论依据.介绍了一种基于DCT的数字水印嵌入算法,使用MATLAB设计了实验方案,通过不可感知性和鲁棒性验证证明,该算法具有良好的不可感知性。
关键词数字水印;DCT;MATLABAbstractWith the rapid development of computer communication technology, dissemination of digital multimedia information has become increasingly convenient and rapid rise of the Internet in electronic printing and publishing, electronic advertising, digital storage and digital libraries, online video and audio, e-commerce and other new services And operation of commercial, research, entertainment and many opportunities. However, there will come more and more rampant piracy and infringement. Digital watermarking can identify the author, owner, publisher, etc。
数字图像水印matlab实现.

论文独创性声明本人所呈交的论文,是指导教师的指导下,独立进行研究和开发工作所取得的成果。
除文中已特别加以注明引用的内容外,论文中不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的工作做出重要贡献的个人和集体,均已在文中以明确方式标明并致谢。
本人完全意识到本声明的法律结果由本人承担。
特此声明。
论文作者(签名):20 年月日摘要随着计算机网络的迅速发展,包括数字图像在内的数字媒体得到了广泛的应用,数字媒体的数据逐渐成为人们获取信息的重要来源,但随之而来出现了一系列如随意复制、编辑、非法传播数字图像的信息安全问题,数字媒体的版权保护问题变的日益突出,数字图像水印技术由此应用而生,已成为信息安全领域的一个研究热点。
本文比较系统地研究了数字水印技术在静止图像中的应用问题。
首先介绍了数字水印技术的发展背景,然后对数字水印的原理、特点、分类、典型算法、应用领域以及评价标准等等进行了简要的分析。
其次,本文主要是针对目前现有数字图像水印算法实现过程比较复杂,其中重点讨论关于DCT的数字图像水印技术的嵌入,提取和水印的攻击测试等。
最后对数字图像水印的特征进行分析总结。
最终通过Matlab这一工具来实现其具体的过程。
通过实验对比分析得到该种算法具有一定的可行性以及较好的鲁棒性。
关键词:数字图像水印,信息安全,DCT算法,Matlab.AbstractWith the rapid development of computer network, digital media, including digital image has been widely used, digital media data gradually become an important source of obtaining information, but there's a series of such as free to copy, edit, illegal dissemination of digital image information security, copyright protection of digital media has become increasingly outstanding, digital image watermarking technology and the application, has become a research hotspot in the field of information security.This paper systematically studies the problems of the application of digital watermarking in still images. It first introduces the development background of digital watermarking, then the principle, characteristics, classification, application of digital watermarking field of typical algorithms, as well as the evaluation criteria and so on were analyzed briefly.Secondly, this paper is mainly aimed at the existing digital image watermarking algorithm is a complicated process, which focused on the digital image watermarking technology about DCT embedding, extraction, as well as the watermark attack test etc.. Finally on the digital image watermarking characteristics were analyzed and summarized. Finally through the tool of Matlab to realize the specific process. Through comparative analysis of the experiment of the algorithm is feasible,and better robustness.Key words: Digital image watermarking, Information security, DCT algorithm, Matlab.目录1 绪论 (1)2 数字图像水印技术 (3)2.1数字图像水印技术的历史及国内外发展现状 (3)2.2数字图像水印的分类和基本特征 (6)2.3数字图像水印的一般模型 (7)2.4数字图像水印的常见算法 (8)2.5数字图像水印技术的应用 (11)3 MATLAB简介 (14)3.1MATLAB简介 (14)3.2MATLAB在数字图像水印中的应用 (14)3.2.1数字图像水印技术 (15)3.2.2图像分析处理 (15)3.3在数字图像水印实现中主要函数 (16)3.3.1图像显示,读取和输出 (16)3.3.2变换频函数 (16)3.3.3攻击函数 (16)3.3.4比较两图像相似度函数 (17)4 数字图像水印攻击分析和评价标准 (18)4.1影响性能的因素 (18)4.2数字图像水印的常见攻击 (18)5 数字图像水印的设计 (21)5.1离散余弦叶变换 (21)5.2离散余弦变换水印嵌入算法及其框图 (23)5.3离散余弦变换水印提取算法及其框图 (25)5.4水印的攻击测试程序与结果 (28)5.4.1不同噪声攻击测试 (28)5.4.2JPEG压缩攻击测试 (30)5.4.3高斯低通滤波攻击 (31)5.4.4其他攻击测试 (31)5.5实验结果分析 (33)致谢 (38)参考文献 (39)附录 (40)1 绪论随着Internet的普及,信息媒体的数字化为信息的存取提供了极大的便利性,同时也显著提高了信息表达的效率和准确性;数据的交换和传输变成了一个相对简单的过程,人们借助于计算机、数字扫描仪、打印机等电子设备可以方便、迅速地将数字信息传输到任何地方。
基于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系数之外部分较低频率系数叠加水印信息。
基于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.%随着网络技术和多媒体技术的飞速发展,如何保护多媒体信息的安全已成为国际上研究的热门话题,数字水印技术应运而生。
作为保护数字作品版权的一种重要手段,数字水印技术己成为当今学术界研究的一个热点。
基于DCT域的数字水印算法
在受到不同攻击的图像中,水印提取 准确率如下表所示
实验结果展示
01
02
03
| --- | --- | --- | --- |
| JPEG压缩 | 98% | 96% | 94% |
| 噪声添加 | 95% | 92% | 89% |
实验结果展示
| 滤波 | 92% | 88% | 85% |
数字水印提取算法
数字水印提取算法是用于从嵌入水印后的图像中提取出水印信息的过程。
提取算法通常采用与嵌入算法相反的过程,即从DCT系数中提取出水印信 息,并进行解码和验证。
提取算法需要保证能够准确提取出水印信息,同时抵抗各种攻击和噪声的 影响。
03
基于DCT域的数字水印算法实 现
水印信息预处理
01
基于DCT域的数字水印算法
汇报人: 2024-01-01
目录
• 引言 • DCT域数字水印算法原理 • 基于DCT域的数字水印算法实
现 • 实验结果与分析 • 算法优化与改进 • 总结与展望
01
引言
研究背景与意义
数字水印技术的必要性
随着数字媒体的普及,版权保护问题 日益突出。数字水印技术作为一种有 效的版权保护手段,具有重要意义。
DCT域的特点
离散余弦变换(DCT)在图像处理中 广泛应用,特别是在图像压缩标准 JPEG中。基于DCT域的数字水印算法 具有较好的鲁棒性和隐蔽性。
数字水印技术概述
数字水印的基本概念
数字水印是一种将特定信息嵌入数字媒体中的技术,这些 信息通常是不可见的,但可通过特定算法提取。
数字水印的应用领域
数字水印技术在版权保护、内容认证、广播监视等方面有 广泛应用。
基于DCT域的图像数字水印技术
基于DCT域的图像数字水印技术摘要:数字水印技术作为数字媒体版权保护的有效办法,近年来在国内外引起了人们极大的兴趣。
作者采用了DCT离散余弦变换的算法,对图像这种多媒体数字作品进行了数字水印的嵌入和检测研究。
并且使用了高效实用的编程工具MATLAB来介绍了一种DCT域的图像数字水印嵌入和提取的实例,并且在最后对嵌入水印的图像进行了攻击实验,验证了该算法的鲁棒性和不可见性。
关键词:MATLAB;离散余弦变换;信息隐藏;数字水印DCT-based Image Digital WatermarkingOUYANG Qi(Computer Science Dept of Sichuan University)(*******************)Abstract:As an effective method of digital multimedia copyright protection, digital watermarking has recently aroused people’s great interest at home and overseas. This paper proposes an algorithm based on DCT, which can embed and extract watermark from an image, then it uses an efficiently and useful program tool called MATLAB to propose an example of image digital watermarking in DCT. At last, I use geometric processing functions of MATLAB image tool box to attack the embedded image. After these attacks, the watermark sequence can be detected all the same. It establishes that the algorithm is robust and not visible.Key words:MATLAB;Discrete cosine transform;Information Hiding;Digital Watermarking1 引言随着计算机计算能力的迅速提高,计算机的广泛普及以及Internet的迅速发展,个人信息的安全性正变得岌岌可危。
基于DCT的数字水印研究与实现
基于DCT的数字水印研究与实现作者:程俊来源:《电脑知识与技术》2011年第04期摘要:数字水印技术是解决版权保护问题的有效技术手段。
该文分析了基于离散余弦变换的数字水印算法,并采用MATLAB实现了该算法的水印嵌入、提取和攻击实验,仿真结果表明该算法具有较好的鲁棒性和不可见性。
关键词:DCT;鲁棒性;仿真中图分类号:TP391 文献标识码:B文章编号:1009-3044(2011)04-0860-02Research and Implementation of Digital Watermarking Based on DCTCHENG Jun(College of Physical and Information Science, Hunan Normal University, Changsha 410081, China)Abstract: The digital watermarking technique is an important means to solve the problem of copyright protection effectively. This paper analyzed digital watermarking algorithm based on discrete cosine transform, and realized watermark embedding and extracting and attack of the algorithm by using MATLAB. The simulation results show that the algorithm has good robustness and visibility.Key words: DCT; robustness; simulate离散余弦变换(Discrete Cosine Transform) 简称DCT。
一种基于DCT域图像数字水印算法的设计与实现(含开题 任务书讲解
一种基于DCT域图像数字水印算法的设计与实现(含
开题+任务书)人眼视觉系统
数字水印的基本框架
数字水印方案包括三个要素: 水印本身的结构、水印的嵌入过程和水印的检测
过程。
水印本身一般可分为两种,一种是包含了如版权所有者、合法使用者、
日期等具体信息;一种是采用伪随机序列作为水印,检测时只需判断水印是否
存在。
从健壮性和安全性考虑,常常需要对水印进行随机化或加密处理。
数字
水印的嵌入和检测过程一般如图2.1 (a) (b) 所示。
数字水印加载和检测的一般模型如下。
设W为水印信号,K为密钥,则处理后
的水印W’有函数F定义如下:
W’=F (W, K)
水印嵌入思路分析
设载体图像为I,水印信号为W,密钥为K,则水印的嵌入可用一下公式描述:
Iw=F(I, W,
K) (4.1)
其中F表示水印嵌入算法,有两种常用的水印嵌入公式
Viw=Vi+
αWj (4.2) Viw=Vi (I+
αWi) (4.3)
其中,Vi ,Viw,分别表示载体图像象素和嵌入水印的图像象素;Wi为水印信
号分量,0≤i≤k;α为强度因子。
为了保证在水印不可见的前提下,尽可能
提高嵌入水印的强度,α的选择必须考虑图像的性质和视觉系统的特性。
水印提取思路分析
把水印从水印系统中精确地提取出来,这一过程称为水印提取,如下图所示
(其中虚线框的部分表示在提取水印信号时原始数据不是必要的)。
通过所提
取出地水印的完整性来确认多媒体数据的完整性。
如果提取的水印发生了部分
的变化,最好式能够通过发生变换的水印位置来确定原始数据被篡改的位置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息技术 In formation T echnology 2005年第4期基于MAT LAB的DCT域数字水印技术实现李永全(长江大学电子信息学院,荆州434023)摘 要:研究了基于离散余弦变换(DCT)的数字图像水印算法,并借助一种高效实用的编程工具MAT LAB,编程使这种算法得以实现,实验结果表明,对于通常的压缩编码,该算法具有足够的稳健性。
关键词:数字水印;离散傅立叶变换(DCT);MAT LAB中图分类号:TP30912 文献标识码:A 文章编号:1009-2552(2005)04-0066-03R ealization of digital im age w aterm arking technologyin DCT-dom ain based on MAT LABLI Y ong2quan(College of E lectronics and I nform ation,Yangtze U niversity,Jingzhou434023,China)Abstract:This paper discussed the digital image watermarking alg orithms based on Discrete C osine T rans form (DCT),and with an efficiency and practical programming tool—MAT LAB,to realize this alg orithms.The experiment result sindicated that this alg orithm was robust enough to unusual com pacting.K ey w ords:digital watermarking;Discrete C osine T rans form(DCT);MAT LAB0 引言随着计算机和网络通信技术的迅猛发展,多媒体信息(图像、音频、视频)的交换和传输变得异常方便和快捷。
越来越多的数字产品走进了人们的生活,借助Internet人们可发布自己的产品、传递重要的信息、进行学术交流以及参与电子商务等。
然而,这也使盗版者能以低廉的成本复制、传播、篡改、销售未经授权的数字产品信息,从而导致产品的版权、完整性、有效性得不到保证。
因此,数字产品的版权所有者迫切需要解决知识产权保护问题。
1 数字水印技术数字水印技术是一种将特制的不可见的标记,利用数字内嵌的方法隐藏在数字图像、声音、文档、图书、视频等数字产品中,用以证明原始作者对其作品的所有权,并作为鉴定、起诉非法侵权的证据,同时通过对水印的探测和分析,验证数字信息的完整可靠性,从而成为知识产权保护和数字多媒体防伪的有效手段。
数字水印是永久镶嵌在其它数据(宿主数据)中具有可鉴别性的数字信号或模式,而且不影响宿主数据的可用性。
数字水印技术是利用人类视觉系统(H VS)的冗余,通过一定的算法在数字信息中加入不可见标记,但不影响数据的合理使用和价值,并且不能被人的知觉系统觉察到,起到证明作品的版权归属的作用。
除非对数字水印具有足够的先验知识,任何破坏和消除水印的企图都将严重破坏图像质量。
不同的应用对数字水印的要求不尽相同,一般认为数字水印应具有如下特点:安全性:数字水印中的信息应是安全的,难以被篡改或伪造,同时有较低的误检测率。
只有被授权者能够检测、恢复和修改水印。
能充分可靠地证明所有者对特定产品的所有权。
隐形性:数字水印应是不可知觉的,即数字水印的存在不应明显干扰被保护的数据,不影响被保护数据的正常使用。
密匙唯一性:不同的水印密匙不应产生相同的收稿日期:2004-08-04作者简介:李永全(1965-),男,副教授,主要从事信号处理教学及研究。
—66—水印,即对于一种水印只有唯一的检测方法才能对其进行检测和抽取。
稳健性(鲁棒性):指水印算法有较强的抗攻击能力,即水印信息经过一些常见的改变后仍具有较好的可检测性。
这些改变包括常见的图像处理、几何变换和几何失真等。
自恢复性:即水印信息经过一些操作或变换后,可能会使原图产生较大的破坏,如果仅从留下的片段数据便能恢复出水印信息,而且恢复过程无须原始图像。
具有上述特点的水印才是严格意义上的数字水印,但由于对数字水印的定义尚未统一,许多文献中讨论的数字水印并不具备上述特点,或者仅具有部分上述特点。
2 DCT域数字图像水印算法选择二值化灰度图像作为水印信息,根据水印图像的二值性选择不同的嵌入系数,并将载体图像进行8×8的分块,将数字水印的灰度值直接植入到载体灰度图像的DCT变换域中,实现水印的嵌入。
具体方法如下:2.1 水印嵌入设CI是M×N大小的原始图像,SI是水印图像大小为P×Q,M和N分别是P和Q的偶数倍。
把水印SI加载到图像CI中,算法分以下几步进行:(1)分块将CI分解为(MΠ8)×(NΠ8)个8×8大小的方块B CIm,n;同时,将SI也分解为(MΠ8)×(NΠ8)个8・PM ×8・QN大小的方块BSIm,n,1ΦmΦMΠ8,1ΦnΦNΠ8。
(2)DCT变换对每一个B CI m,n,进行DCT变换: DB CI′m,n=DCT(B CI m,n)。
(3)加载水印对每一个DBCI′m,n和BSI m,n,s i为从DBCI′m,n的中频选出的加载的位置,1ΦiΦ8・P M ×8・QN,t i为水印BSI m,n的位置坐标1ΦiΦ8・P M ×8・QN。
DB CI″m,n(si)=α×BSIm,n(ti),其中α是加权系数,用DB CI″m,n (si)来代替DB CI′m,n(si)得到加载水印后的图像DB CI″m,n。
(4)逆DCT变换对以上得到的每一个DB CI″m,n进行逆DCT变换:IDB CIm,n=IDCT(DB CI″m,n)。
并将各方块IDB CIm,n合并为一个整图CI′,即为加载了水印的新图像。
2.2 水印提取设图像TCI为已经加载了水印的载体图像。
现要将所加载的水印从TCI中提取出来。
其过程为上述加载水印算法的逆运算:(1)分块将TCI分解为(MΠ8)×(NΠ8)个8×8大小的方块B TCIm,n,1ΦmΦMΠ8,1ΦnΦNΠ8。
(2)DCT变换对每一个B TCI m,n进行二维DCT变换:B TCI′m,n=DCT(B TCI m,n)。
(3)提取数据对每一个B TCI′m,n,按照式BSI m,n(t i)=1Πα×B TCI′m,n(s i)得到BSI m,n。
(4)合并将上面得到的所有BSIm,n合并成一个整图NSI。
3 数字图像水印算法的M A T LA B实现3.1 MAT LAB简介MAT LAB是Mathw oks公司于1982年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一人方便的、界面友好的用户环境,MAT LAB意为矩阵实验室,最初用于矩阵计算和数值计算。
随着语言本身的发展,它的功能越来越强大,至今它的应用已覆盖了许多科学和工程计算领域,如仿真技术、数字信号处理、数字图像处理、神经网络和小被分析等,如今MAT LAB已经发展成为一个具有高性能数值计算和可视化功能的科学计算环境。
MAT LAB将计算、图示和编程集成到一个交互式的环境中,计算结果和编程过程实现了可视化。
MAT LAB语言的语法规则与一般的高级语言类似,一个稍有编程基础的人能很快熟悉掌握。
MAT LAB 具有强大的数学矩阵运算功能,它的基本数据元素是无须预定义的数组,单个的整数或浮点数用1×1的数组来表示,既可对数组进行整体处理,也可以对某个或部分元素进行单独地处理。
3.2 水印算法MAT LAB实现下面以一个在频域嵌入和提取黑白图像水印程序为例,给出使用MAT LAB实现数字水印的实现过程和完整的源程序。
(1)读取原始公开图像和黑白水印图像到二维数组I与J;(2)将原始公开图像I分割为互不覆盖的图像块block(x,y),1Φx,yΦ8,l=1,2,ΛM3MΠ64,对block(x,y)进行以DCT变换,得到blockdct(xy,);(3)取黑白水印图像中的一个元素J(p,q),嵌入原始公开图像块的低频系数中;(4)对嵌入水印信息后的图像块block dct(x, y)进行反DCT变换,得到block(x′,y′);—76—(5)合并图像块,得到嵌入黑白水印后的图像;(6)对嵌入水印后的图像进行J PEG压缩(一种水印攻击);(7)而后从压缩的图像中提取出水印。
%3333 定义常量,变量 3333M=256; %原图像长度N=32;%水印信息长度K=8;%分块系数I=zeros(M,M);D=zeros(M,M);D1=zeros(M,M);J=zeros(M,M);W=zeros(N,N);L=zeros(M,M);block=zeros(M,M);block dct1=zeros(M,M);block dct2=zeros(M,M);block idct=zeros(M,M);block1=zeros(M,M);block2=zeros(M,M);%33 读取源图像和水印数据,并显示 33subplot(1,3,1);I=imread(‘e:\d\lena’,‘bm p’);imshow(I);title(‘源图像’);subplot(1,3,2);J=imread(‘e:\d\watermark’,‘bm p’);imshow(not(J));title(‘水印信息’);%3333 嵌入水印信息 3333tem=1;for m=1:N for n=1:N x=(m-1)3K+1; y=(n-1)3K+1; block dct=I(x:x+K-1,y:y+K-1); block dct1=dct2(block dct); if J(m,n)==0 a=-1; else a=1; end block dct2=block dct13(1+a30.01); block idct=idct2(block dct2); D(x:x+K-1,y:y+K-1)=block idct; tem=tem+1; endend%3333 显示嵌入水印后的图像 3333D1=round(D);subplot(1,3,3);imshow(D1);title(‘嵌入水印后’);im write(D1,‘e:\with mark.bm p’,‘bm p’);figure;%33 对入水印后图像进行JPEG压缩 33L=imread(‘e:\with mark.bm p’,‘bm p’);im write(L,‘e:\J PEG attack.jpg’,‘jpeg’,‘Quality’,70);J=imread(‘e:\J PEG attack.jpg’,‘jpeg’);subplot(1,2,1);imshow(J);title(‘受J PEG压缩攻击后的图像’);%33从受攻击后的图像中提取水印信息33for p=1:N for q=1:N x=(p-1)3K+1; y=(q-1)3K+1; block1=I(x:x+K-1,y:y+K-1); block2=L(x:x+K-1,y:y+K-1); if block2>block1 W(p,q)=0; else W(p,q)=1; end endend%33333 显示提取的水印 33333subplot(1,2,2);imshow(W);title(‘受攻击后的提取的水印图像’)。