基于MATLAB的数字图像水印技术

发布时间 : 星期四 文章基于MATLAB的数字图像水印技术更新完毕开始阅读

《MATLAB应用与通信仿真》课程设计

1 引言

1.1 选题背景

数字水印技术是目前信息安全技术领域的一个新方向,是一种可以在开放的 网络环境下保护版权和认证来源及完整性的新型技术。它是信息隐藏学的一个重要分支,它用信号处理的方法在多媒体数据中嵌入特制的隐蔽的标记,这种标记的嵌入不会引起宿主媒体主观质量下降,不易察觉,人们无法从表面上感知水印,只有专用的检测器或计算机软件才可以检测出隐藏的数字水印,并且水印具有很强的对抗非法破解的能力。为了保护版权人的经济利益在数字作品上直接标识版权人的信息会明显损害作品的质量,而利用文件的附加信息标识版权又很不安全。相比之下.在不过多损害作品质量的前提下,使用数字水印技术将版权管理信息秘密嵌入数据中,是一个非常理想的解决方案。

从学术研究角度而言,数字水印技术是一项横跨信息处理、图像处理、多媒体技术、密码学等多学科领域的高新技术前沿课题,包括数字水印在内的信息隐藏技术尚未形成完整的学科理论体系。因此,这是一项重要的应用基础研究。同时它又是一项与实际应用密切结合的高新技术,其成果将成为拥有自主知识产权的技术,发展为具有自身特色的软件产品和专用芯片,随着信息产业的发展,有着一份广阔的应用市场。

数字水印的提出引起了学术界极大的兴趣,到现在短短的几年时间,就有大量的数字水印算法被提出来。那么,如何既方便又高效的实现这些算法呢? 数字水印算法涉及大量图像处理、数学计算等,如果仅仅采用普遍编程工具所提供的功能来实现将花费大量的时间用在上述算法的编程及调试上。因此选择一种高性能的科学与工程计算软件是很有必要的。目前,在工程计算上应用十分广泛的MATLAB软件是首选的编程语言。MATLAB是一个适合多个学科使用的功能强大的软件,含有十分浩大的函数,MATLAB语言是Mathworks公司推出的一种简单、高效、功能极强的高级语言,具有高性能数值计算能力和可视化计算环境。许多复杂的计算问题只需短短的几行代码就可在MATLAB中实现。本文介绍典型的数字水印算法,用MATLAB实现数字水印的嵌入、提取和攻击测试的方法。

1

《MATLAB应用与通信仿真》课程设计

1.2 数字水印技术的研究动态

数字时代的到来,多媒体数字世界丰富多彩,数字产品几乎影响到每一个人 的日常生活。信息媒体的数字化为信息的存取提供了极大的便利,同时也显著地 提高了信息表达的效率和准确度。计算机网络通信技术特别是互联网的蓬勃发展,使得数据的交换和传输变成了一个相对简单且快捷的过程。人们借助计算机、数字扫描仪、打印机等电子设备可以方便、迅速地将数字信息传达到世界各地,在国际互联网上发布自己的作品,传递重要的信息,进行各种学术交流和电子商务活动等等。如何保护这些与我们息息相关的数字作品,如版权保护、信息安全、数据认证以及访问控制等等,就被日益重视并变得迫切需要了。借鉴普通水印的含义和功用,人们采用类似的概念保护诸如数字图像、数字音乐、数字文本等这样的数据,因此数字水印在今天的计算机和互联网时代大有可为。

数字水印技术是近十年才发展起来的,它是信息隐藏学的一个分支(如图1.1)。随着国内信息化程度的提高和电子商务逐渐走向实用,数字水印技术将 会拥有更加广阔的应用前景。

信息隐藏 隐藏信道 隐写入 匿名技术 版权标记 稳健版权标记 易碎水印 指纹技术 数字水印 不可见水印 图1.1 信息隐藏技术的分类

可见水印

2

《MATLAB应用与通信仿真》课程设计

2 数字图像水印技术综述

2.1 数字水印概述

数字水印(Digital Watermarking)是一种数字标记,可以是数字、序列号、文字、图像标志等标识或版权信息,一般包括版权所有者的标记或代码,以及能证实用户合法拥有数据的用户代码等基本信息,将它秘密地内嵌到数字产品中可能帮助识别确定产品的内容、著作权、使用权、完整性等。数字水印技术是信息隐藏学的一个重要分支。水印技术与传统的信息加密都是把对信息的保护转化为对密钥(Key)的保护。因此,水印技术沿袭了传统加密技术的一些基本思想和概念,但两者采用的保护信息手段不同:传统的加密算法一般是基于文本数据设计的,它把一段有意义的数据流(称为明文)转换成看起来没有意义的数据(成为密文),如DES(Data Encryption Standard数据加密标准)和RSA(以三个发明者的首位字母命名)。由于将明文数据加密成密文数据,使得在网络传递过程中非法拦截者无法从中获得信息,从而达到保密的目的。虽然,我们可以把多媒体数据作为文本数据流一样看待,使用传统的加密算法进行加密,但是,多媒体数据流具有的特性与文本数据的特性有很大不同。因此,目前的传统加密方法如DES、3-DES或RSA等也很难满足多媒体应用中的实时性等要求。而数字水印技术则是把一个有意义的信息隐藏在另一个称为载体信息(cover message)的公开信息中,而可能的监测者或非法拦截者难以从公开信息中判断机密信息是否存在或截获机密信息,从而保证机密信息的安全。

2.2 数字水印的定义和基本原理

水印可以定义为:可感知的或不可感知的形式嵌入到数字多媒体产品(图形和图像、文本、音频、视频等)中的,用于版权保护、内容检验或提供其它信息的信号。数字水印技术:是将代表数字媒体著作权人身份的特定信息、用户指定的标识或序列码等,按照某种方式嵌入到被保护的信息中,在产生版权纠纷时,通过相应的算法提取出该数字水印,从而验证版权的归属,确保媒体著作权人的合法利益,避免非法盗皈的威胁。被保护的信息可以是任何一种数字媒体,如软件、图像、音频、视频或一般性的电子文档等。数字水印是嵌在数字产品中的数字信号,水印的存在要以不破坏原数据的欣赏价值、使用价值为原则。数字水印

3

《MATLAB应用与通信仿真》课程设计

技术是水印生成、嵌入、检测提取以有攻击等过程的统称。

数字水印的基本原理是嵌入某些标识数据到宿主数据中作为水印,使得水印在宿主数据中不可感知和足够安全。为了保证由于水印的嵌入而导致的宿主数据失真不被觉察到,必须应用到某种感知准则。不管是隐性还是显性,但是必须的。因而作为不可觉察性的要求,宿主数据上的每个采样点的值(空间域和频率域)的改变程序与其自身相比应该相对比较小。为了保证水印算法的健壮性,水印信息在宿主数据上通常有很大的冗余度。这意味着水印信息可以从其部分数据中恢复出来。但如果在恢复过程中能提供更多的数据那么恢复的健壮性则更强。

一般数字水印的通用模型包括水印嵌入和检测提取两个阶段。数字水印的嵌入阶段,嵌入方案的目标是使数字水印在不可见性和健壮性之间找到一个较好的折衷。检测阶段主要是设计一个相应于嵌入过程的检测算法。检测的结果或是原水印(如字符串或图标等),或是基于统计原理的检验结果以判断水印存在与否。检测方案的目标是使错判与漏判的概率尽量小。为了给攻击者增加去除水印的不可预测的难度,目前大多数水印制作方案都在嵌入、提取时采用了密钥,只有掌握密钥的人才能读出水印。

2.3 实现数字水印的高效实用工具MATLAB

MATLAB是一种用于科学工程计算的高效高级语言,是当前在国内外十分流行的工程设计和系统仿真软件包。它是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)、虚拟现实(virtual reality)等工具箱,这些工具箱给各个领域的研究和工程应用提供了有力的工具,它把使用者从繁琐、无谓的底层编程中解放出来,各个层次的研究人员可直观、方便地进行分析、计算及设计工作,从而大

4

联系合同范文客服:xxxxx#qq.com(#替换为@)