基于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是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

2.2 MATLAB应用

MATLAB 产品族可以用来进行以下各种工作:

  1. 数值分析
  2. 数值和符号计算
  3. 工程与科学绘图
  4. 控制系统的设计与仿真
  5. 数字图像处理 技术
  6. 数字信号处理 技术
  7. 通讯系统设计与仿真
  8. 财务与金融工程

MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。

3 数字水印技术

3.1 数字水印技术的发展

数字水印是一个崭新的信息隐藏技术,首次提出这个概念至今也不到20年。由于还处在学术研究的高峰阶段,仅有少数应用研究和应用案例,所以还没有形成国际标准、国家标准和行业标准,目前发现除了”国际知名的五家电脑及消费型电子产品主流公司,包括IBM及索尼等已就数字”水印”技术的共同标准达成协议”的报道外,仅发现有成都宇飞信息工程有限责任公司起草并获得国家标准化部门备案的两个企业标准《印刷打印数字水印软件》(备案号:1104-2002)和《基于内容的、非密码机制的计算机与移动存储设备信息安全系统》企业标准(备案号:400-2010)。所以,学术界对数字水印技术的概念也没有统一的表述和界定。

3.2 水印分类

数字水印技术可以从不同角度进行分类,因此有多种分类方法。

  1. 按特性划分

按水印的特性可以将数字水印分为鲁棒数字水印和易损数字水印两类。

  1. 按水印所附载的媒体划分

按水印所附载的媒体,我们可以将数字水印划分为图像水印、音频水印、视频水印、文本水印以及用于三维网格模型的网格水印等。

  1. 按内容划分

按数字水印的内容可以将水印划分为有意义水印和无意义水印。

  1. 按用途划分

按水印的用途,我们可以将数字水印划分为票证防伪水印、版权保护水印、篡改提示水印和隐蔽标识水印。

  1. 按水印隐藏的位置划分

按数字水印的隐藏位置,我们可以将其划分为时(空)域数字水印、频域数字水印、时/频域数字水印和时间/尺度域数字水印。时(空)域数字水印是直接在信号空间上叠加水印信息,而频域数字水印、时/频域数字水印和时间/尺度域数字水印则分别是在DCT变换域、时/ 频变换域和小波变换域上隐藏水印。随着数字水印技术的发展,各种水印算法层出不穷,水印的隐藏位置也不再局限于上述四种。应该说,只要构成一种信号变换,就有可能在其变换空间上隐藏水印。本实验重点研究基于空域的数字水印技术。

3.3 数字水印的特点

作为数字水印技术基本上具有下面几个方面的特点。

1)安全性:数字水印的信息应是安全的,难以篡改或伪造,同时,应当有较低的误检测率,当原内容发生变化时,数字水印应当发生变化,从而可以检测原始数据的变更;当然数字水印同样对重复添加有很强的抵抗性

2)隐蔽性:数字水印应是不可知觉的,而且应不影响被保护数据的正常使用;不会降质;

3)鲁棒性:是指在经历多种无意或有意的信号处理过程后,数字水印仍能保持部分完整性并能被准确鉴别。可能的信号处理过程包括信道噪声、滤波、数/模与模/数转换、重采样、剪切、位移、尺度变化以及有损压缩编码等。主要用于版权保护的数字水印易损水印(Fragile Watermarking),主要用于完整性保护。当内容发生改变时,这些水印信息会发生相应的改变,从而可以鉴定原始数据是否被篡改。

4)水印容量:是指载体在不发生形变的前提下可嵌入的水印信息量。嵌入的水印信息必须足以表示多媒体内容的创建者或所有者的标志信息,或购买者的序列号,这样有利于解决版权纠纷,保护数字产权合法拥有者的利益。尤其是隐蔽通信领域的特殊性,对水印的容量需求很大。

3.4 数字水印技术的基本原理

数字水印技术(Digital Watermark):技术是将一些标识信息(即数字水印)直接嵌入数字载体(包括多媒体、文档、软件等)当中,但不影响原载体的使用价值,也不容易被人的知觉系统(如视觉或听觉系统)觉察或注意到。目前主要有两类数字水印,一类是空间数字水印,另一类是频率数字水印。空间数字水印的典型代表是最低有效位(LSB)算法,其原理是通过修改表示数字图像的颜色或颜色分量的位平面,调整数字图像中感知不重要的像素来表达水印的信息,以达到嵌入水印的目的。

数字水印的主要目的是将特定的信息加入到需要保护的媒体信息中,加入的信息一般是能够代表媒体信息版权的内容,而且要保证数字水印能够抵抗一定的攻击,而不被轻易的破坏和修改,同时数字水印要能够被提取或者能够被检测到。数字水印的具体内容、算法、提取或检测过程根据实际应用有不同的要求。数字水印的嵌入和提取或检测的通用模型如图3.1、图3.2所示。

图3.1 数字水印的嵌入过程

图3.2 数字水印的提取或检测过程

图3.1是数字水印的嵌入过程,通过密钥可以提高数字水印的隐藏性、抗攻击性,并非必须的输入。根据不同的用途,嵌入的水印有些是需要还原的,而有些则需要验证水印的存在性,前者需要数字水印的提取算法,而后者需要数字水印的检测算法,根据具体的水印算法,嵌入或提取过程可能有所不同。

数字水印技术是从信息隐藏技术发展而来的,是数字信号处理,图像处理,密码学应用,算法设计等学科的交叉领域。数字水印最早在1993年由Tirkel等人提出,在国际学术会议上发表题为”Electronicwatermark”的第一篇有关水印的文章,提出了数字水印的概念及可能的应用,并针对灰度图像提出了两种向图像最低有效位中嵌入水印的算法。1996年在英国剑桥牛顿研究所召开了第一届国际信息隐藏学术研讨会,标志着信息隐藏学的诞生。

4 基于LSB的数字水印算法

4.1 LSB算法原理

最低有效位方法是最早提出来的最基础的空域图像信息隐藏方法,其他的许多空域算法都是从它的基本原理进行改进扩展得到的,使得LSB方法成为使用最广泛的隐藏技术之一。现在有一些简单信息隐藏软件大多是运用LSB和调色板调整等相关技术将信息隐藏在24bit图像或256色图像之中,如:Hide and Seek,Stego-Dos,White Noise S-tools等经典信息隐藏软件。

最低有效位( least significant bit,LSB)指的是一个二进制数字中的第0位(即最低位),具有权值为2^0,可以用它来检测数的奇偶性。最低有效位和最高有效位是相对应的概念。在大端序中,lsb指最右边的位。LSB(全大写)有时也指Least Significant Byte,指多字节序列中最小权重的字节。

LSB算法利用了数字图像处理中位平面的原理,即改变图像的最低位的信息,对图像信息产生的影响非常小,人眼的视觉感知系统往往不能察觉。以一幅256灰度的图像为例,256灰度共需要8个位来表示,但其中每一个位的作用是不一样的,越高位对图像的影响越大,反之越低的位影响越小,甚至不能感知。

图4.1显示了一幅200×200像素的图像的8个位平面。

v2-1e81a2a04162494716974c6225adb8a2_b.jpg

图5.1 水印图像

v2-c996a46337e22d9ea3e8091a27d0f5d4_b.jpg

图5.2 嵌入水印前 图5.3 嵌入水印后

图5.2是原始图像,这是一幅200×200像素的彩色图像,由于LSB算法利用了数字图像处理中位平面的原理,即改变图像的最低位的信息,图像信息产生的影响非常小,人眼的视觉感知系统往往不能察觉,因此嵌入水印后,如图5.3看起来嵌入水印后的图像与原始图像没有区别。

若改变图像的较高位信息,修改语句w_i(ii,jj)=bitset(w_i(ii,jj),1,m(ii,jj));为w_i(ii,jj)=bitset(w_i(ii,jj),8,m(ii,jj));如图5.4、图5.5所示。

v2-69301b886514346df573e2bd8eb4993f_b.jpg

图5.4 嵌入水印前 图5.5 嵌入水印后

对比嵌入水印时改变高、低位信息,即对比图5.5和图5.3,可以发现当改变图像高位信息时,可以从肉眼看出嵌入水印图像后与原始图像有细微差别(为了可以更清晰的效果,我们选用8位),因此选用低位1可以实现较高的保密性,不易被察觉,并且可以保证原始图像的特征属性,便于选择和提取。

5.1.2 水印提取仿真

嵌入水印后的图像如图5.6所示,由于LSB算法利用了数字图像处理中位平面的原理,即改变图像的最低位的信息,对图像信息产生的影响非常小,人眼的视觉感知系统往往不能察觉,看起来嵌入水印后的图像与原始图像没有区别。

v2-e99b3a8797411cf90de8af8eed47940e_b.jpg

基于Matlab的数字水印设计 专注MATLAB数字图像领域十年! 基于Matlab的数字水印设计 微信名片 基于Matlab的数字水印设计

来源:MATLAB管家

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐