数字水印DCT域剖析

上传人:我** 文档编号:113043920 上传时间:2019-11-08 格式:DOC 页数:15 大小:311KB
返回 下载 相关 举报
数字水印DCT域剖析_第1页
第1页 / 共15页
数字水印DCT域剖析_第2页
第2页 / 共15页
数字水印DCT域剖析_第3页
第3页 / 共15页
数字水印DCT域剖析_第4页
第4页 / 共15页
数字水印DCT域剖析_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数字水印DCT域剖析》由会员分享,可在线阅读,更多相关《数字水印DCT域剖析(15页珍藏版)》请在金锄头文库上搜索。

1、图像处理与识别课程大作业题目:基于DCT域的数字水印 算法研究与应用学院名称 电气与控制工程 学科、专业控制工程-15级学号 研究生姓名 2016年1月10日目录摘要1一、数字水印技术的概述21.1数字水印的概述2二、可实现数字水印技术的实用工具Matlab32.1概述32.2算法中常用的Matlab函数介绍3三、离散余弦变换(DCT)算法及水印实现43.1DCT变换公式43.2二维DCT的性质53.3DCT变换水印的实现63.4离散余弦变换水印提取算法83.5DCT算法的matlab程序运行83.6 仿真结果9四、数字水印的性能评估和攻击114.1影响水印健壮性的因素114.2视觉质量的定量

2、描述12五、总结120摘要随着计算机和网络技术的普及,数字产品的保密性及版权保护等问题逐渐凸显出来,这使得数字水印技术成为热点问题。一个有效的数字水印系统至少具备以下三个最基本的特性:1.安全性:数据信息隐藏于数据图像中,不是文件头中,文件格式的变换不应导致水印信息的丢失。2.隐蔽性:图像与原始图像对人的感觉器官的刺激应该是无差别或差别很小,主观在数字图像作品中嵌入数字水印不会引起图像明显的降质,即含水印的感觉变化很小。3.鲁棒性:是指在经历有意或无意的信号处理过程后,水印信息仍能保持完整性或仍能被准确鉴别。本论文研究的是基于离散余弦变换(Discrete Cosine Transformat

3、ion)域的数字水印的嵌入与提取问题。关键词:数字水印 离散余弦变换 嵌入 提取 鲁棒性一、数字水印技术的概述1.1数字水印的概述伴随着计算机网络的发展,信息媒体的数字化为信息的存取提供了巨大的便利,显著提高了信息表达的效率和准确性。但是同时也带来了一些负面影响,一些别有企图的个人和团体在没有得到原作者的同意的情况下复制和传播有版权的数据文件或作品。所以,数字媒体的信息安全、知识产权保护和认证等问题变得日益突出,变成一个急需解决的议题。密码技术是信息安全技术领域的主要传统技术之一,但是此方法有缺点:一是加密后的文件因不可理解性从而妨碍信息的传播。二是一旦被解密后,文件就不再受保护。所以,需要一

4、种代替技术或者是对密码学进行补充的技术,这时,数字水印技术便被提出了。数字水印技术基本特征主要有:鲁棒性、不可见性、不可检测性、自恢复性。主要应用领域有版权保护、盗版跟踪、图像认证、票据防伪、标题与注释、拷贝保护。数字水印按特性划分分为鲁棒数字水印和脆弱数字水印;按水印所附载的媒体划分分为图像水印、音频水印、视频水印、文本水印;按水印隐藏的位置划分分为时(空)域数字水印、频域数字水印、时/频域数字水印和时间/尺度域数字水印。尽管人们都在努力发展和完善数字水印技术,但水印技术仍然没有完全成熟和广为人们理解,而且还有很多问题没有得到解决。尽管水印技术很难在短期内取得突破,但是,鉴于水印技术的广泛的

5、应用价值,有必要对水印技术作一番深入研究。1.2数字水印的典型算法目前实现数字水印的典型算法有:1、空域算法。最简单和有代表性的方案就是用水印信息代替图像的最低有效位(LSB)或多个位平面的所有比特的算法。这是一种典型的空间域数据隐藏算法。2、变换域算法。变换域算法包括离散余弦变换(DCT)、小波变换(WT)、傅氏变换(FT或FFT)以及哈达马变换(Hadamardtransform)等等。其中基于分块的DCT是最常用的变换之一, DCT数字水印算法是首先把图像分成88的不重叠像素块,在经过分块DCT变换后,即得到由DCT系数组成的频率块,然后随机选取一些频率块,将水印信号嵌入到由密钥控制选择

6、的一些DCT系数中。该算法是通过对选定的DCT系数进行微小变换以满足特定的关系,以此来表示一个比特的信息。另外基于DFT和DWT算法与上述算法具有相似的原理。这种 以变换域算法为代表的通用算法普遍采用变换技术,以便在频率域实现水印信号叠加,并借鉴扩频通讯技术对水印信号进行有效编码,从而提高了透明性和健壮性,同时还适当利用滤波技术对水印信号引入的高频噪声进行了消除,从而增加了对低频滤波的抵抗力。3、压缩域算法。基于JPEG、MPEG标准的压缩域数字水印系统不仅节省了大量的完全解码和重新编码过程,而且在数字电视广播及VOD(Video on Demand)中有很大的实用价值。4、NEC算法。5、生

7、理模型算法。二、可实现数字水印技术的实用工具Matlab2.1概述用Matlab研究数字水印的优点:(1)集成了DFT、DCT、DWT等函数有丰富的小波函数和处理函数,这不仅方便了研究人员,而且使源程序简洁明了、易于实现。(2)强大的数学运算功能。能够方便、高效地实现音频、视频中的大量矩阵运算。(3)提供了图像处理工具箱、小波分析工具箱、数字信号处理工具箱。用来编制跨数字图像处理技术、数字信息处理等多学科的数字水印技术是非常好的选择。(4)Matlab语言的使用者都可以是工具箱的作者,可以按照Matlab工具箱的规则,结果图像处理函数,开发专用数字水印工具箱。2.2算法中常用的Matlab函数

8、介绍Matlab有丰富的库函数,其中有实现数字水印算法的FFT、DCT、DWT等函数和相关处理函数,大大简化了算法的实现。简要介绍与数字水印算法实现有关的一些常用函数。1、图像文件输入输出函数imread:从文件读取图像,图像文件可以是bm、pdf、jpeg、pcx、tiff、xwd等格式。imwrite:把图像写成文件load:将以mat为扩展名的图像文件调入到内存save:将工作空间中的变量保存到以mat为扩展名的图像文件中2、图像显示函数image:建立并显示图像,它可返回一个图像的句柄给一个image对象imshow:显示一幅图像truesize:调整图像显示大小3、LSB空间域算法常

9、用函数 rand:产生随机序列 unit8:把其它类型对象转换为8位无符号整数类型 double:把其它类型对象转换为双精度数值size:计算图像(矩阵)的大小sum:对元素求和reshape:重新排列矩阵4、DCT域图像变换函数dct,dct2:分别实现一维信号和二维信号的DCT(离散余弦变换)idct,idct2:分别实现一维信号和二维信号的IDCT(逆向离散余弦变换)5、DWT域图像变换函数dwt,dwt2:分别实现一维信号和二维信号的DWT(离散小波变换)idwt,idwt2:分别实现一维信号和二维信号的IDWT(离散小波变换)wavedec2:多级二维小波分解函数waveinfo:提

10、供小波包中所有的小波信息6、攻击函数imcrop:将图像剪裁成指定的矩形imresize:使用指定的插值方法,调整图像大小imrotate:使用指定的插值方法逆时针将图像旋转任意指定的角度imadjust:用于调整图像的对比度imnoise:给图像增加噪声filter,filter2:实现对一维和二维信号的滤波三、离散余弦变换(DCT)算法及水印实现3.1DCT变换公式DCT 变换公式是这一算法的核心,有必要先了解一下DCT 正反变换公式。DCT 正反变换公式的核心是余弦变换,计算速度比较快,水印技术所用的是二维变换,这里给出二维的DCT 正反变换公式,二维DCT 正变换公式为: =0,1,

11、, M-1;=0,1, , N-1其中: 二维DCT反变换公式为: 其中x,y 为空间采样值,u,v 为频域采样值。因为数字图像多用像素方阵来标识,即M=N,此时,二维DCT 正反变换可以简化为: 3.2二维DCT的性质离散余弦变换是图像处理技术中几种最基本的酉变换之一。酉变化是线性变化的一种特殊形式,其基本线性运算式是严格可逆的,并且满足一定的正交条件。图像的酉变换可以被理解为分解图像数据为广义的二维频谱,变换域中每一分量对应于原图频谱函数的能量。设IMN 为MN 的图像矩阵则该图像的二维DCT 变换可由下式表示:FDCT=其中 其中经过二维DCT 变换得到的DCT 系数矩阵GDCT 指示了

12、一系列频率中每一个频率所对应的变化程度,图像的低频分量反映图像慢变化,即图像整体部分;图像的高频分量代表图像跳变的地方,即图像细节部分,如轮廓、边缘。根据人类视觉系统,图像整体比细节部分更为重要,若一幅图像经过处理后而视觉改变不大,则其低频分量必定改变程度不大。此算法采用了将数字水印的灰度值植入DCT 域的低频分量中的方法。二维离散余弦变换是一种严格可逆的酉变换。它的两个矩阵AMM BNN 满足以下的正交条件: 由此,易得到离散余弦逆变换(IDCT): 正因为DCT 是一种严格可逆的正交变换,才可能对基于DCT 的植入算法实现准确的数字水印滤波。3.3DCT变换水印的实现数字图像水印算法选择二

13、值化灰度图像作为水印信息,根据水印图像的二值性选择不同的嵌入系数,并将载体图像进行88的分块,将数字水印的灰度值直接植入到载体灰度图像的DCT变换域中,实现水印的嵌入。具体方法如下:设I是MN大小的原始图像,J是水印图像大小为PQ,M和N分别是P和Q的偶数倍,把水印J加载到图像I中,算法分以下几步进行:1. 将I分解为(M/8)(N/8)个88大小的方块B;同时,J也分解为 (M/8)(N/8)个(8P/M)(8Q/N)大小的方块V; 2. 对每一个B进行DCT变换:DB=DCT(B);3. 加载水印对每一个DB和V,s(i)为从DB的中频选出的加载的位置,1i(8P/M)(8Q/N), t(

14、i)为水印V的位置坐标 , 1i(8P/M)(8Q/N),DB(s)=AV,其中A是加权系数,用DB(s)来代替DB,得到加载水印后的图像DBC;4. 对以上得到的每一个DBC进行逆DCT变换:IDBC=IDCT(DBC)并将各方块IDBC合并为一个整图I,即加载了水印的新图像。3.4离散余弦变换水印提取算法设图像D为已经加载了水印的载体图像,现要将所加载的水印从D中提取出来,其过程为上述加载水印算法的逆运算:1. 将D分解为(M/8)(N/8)个88大小的方块BD;2. 对每一个BD进行二维DFT变换:DBD=DCT(BD);3. 提取数据对每一个DBD,按照式V=1/ADBD得到V;4. 将上面得到的所有V合并成一个水印整图J。3.5DCT算法的matlab程序运行size=512; N=32;K=8; D=zeros(size);E=0.01;Y1=imread(22.jpg); I=rgb2gray(Y1); subplot(2,3,1);%将彩色图像变成灰度图像 imshow(Y1); title(原始图像); I=double(I)/512;%读入水印 J=imread(444.bmp); subplot(2,3,2)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号