数字水印技术-变换域算法.ppt

上传人:小飞机 文档编号:6294699 上传时间:2023-10-14 格式:PPT 页数:81 大小:1.88MB
返回 下载 相关 举报
数字水印技术-变换域算法.ppt_第1页
第1页 / 共81页
数字水印技术-变换域算法.ppt_第2页
第2页 / 共81页
数字水印技术-变换域算法.ppt_第3页
第3页 / 共81页
数字水印技术-变换域算法.ppt_第4页
第4页 / 共81页
数字水印技术-变换域算法.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《数字水印技术-变换域算法.ppt》由会员分享,可在线阅读,更多相关《数字水印技术-变换域算法.ppt(81页珍藏版)》请在三一办公上搜索。

1、第七章 数字水印技术 变换域算法,1,水印技术,从加载方式上分类空间域水印:直接在载体数据上加载水印信息LSB算法拼凑算法变换域水印:载体数据经过变换后添加水印信息NEC算法,2,内容,变换域算法:NEC算法设计原理算法描述程序代码性能分析,背景介绍,NEC算法(COX算法/基于扩频技术的算法),NEC算法的原理,在DCT变换域嵌入水印考查DCT变换域中什么位置适合嵌入水印?,DCT变换,I=imread(lena.bmp);J=dct2(I);,256*256 灰度图像lena,变换域:DCT变换系数,DC系数AC系数:低频系数、中频系数、高频系数,1,2,256,:,1,2,256,修改D

2、C系数对视觉的影响,DC=DC(1+5%),修改DC系数对视觉的影响,DC=DC(1+25%),修改DC系数对视觉的影响,DC=DC(1+50%),修改低频AC系数对视觉的影响,ACL=ACL(1+5%),修改低频AC系数对视觉的影响,ACL=ACL(1+25%),修改低频AC系数对视觉的影响,ACL=ACL(1+50%),修改中频AC系数对视觉的影响,ACM=ACM(1+5%),修改中频AC系数对视觉的影响,ACM=ACM(1+25%),修改中频AC系数对视觉的影响,ACM=ACM(1+50%),修改高频AC系数对视觉的影响,ACH=ACH(1+5%),修改高频AC系数对视觉的影响,ACH=

3、ACH(1+25%),修改高频AC系数对视觉的影响,ACH=ACH(1+50%),NEC算法的原理,考查DCT变换域中什么位置适合嵌入水印?从水印不可见性考虑将水印嵌入DCT变换域的AC高频系数从水印鲁棒性考虑将水印嵌入什么位置?,压缩攻击对AC系数的影响,压缩的哪一步会造成图像数据的损失?,压缩攻击对AC系数的影响,除以量化系数,取整,含水印图像:,压缩攻击对AC系数的影响,将水印嵌入“经量化后被保存的DCT变换域系数”可以抵抗压缩攻击,NEC算法的原理,考查DCT变换域中什么位置适合嵌入水印?从水印不可见性考虑将水印嵌入DCT变换域的AC高频系数从水印鲁棒性考虑将水印嵌入DCT变换域的DC

4、系数或AC低频系数,NEC算法的原理,为了解决水印不可见性和鲁棒性的矛盾,COX等人通过类比通信中的扩频技术,将水印信息嵌入到图像的AC低频系数,产生了第一个基于扩频思想的数字水印算法。,如何添加水印?,扩频通信,扩展频谱通信(spread spectrum communication)起源于通信系统,其理论基础来源于信息论和抗干扰理论是一种信息传输方式,其信号所占有的频带带宽远大于信息必需的最小带宽,以此来改善通信质量,保持可靠通信,NEC算法的原理,原始图像的频域看作通信信道,水印看作通过信道传输的信号,利用扩频通信原理,将1bit水印分布在图像的多个感知重要频域系数(DCT变换域的AC低

5、频系数)中,加在每个频域系数上的信号能量很小且不可随意检测;水印检测时,需要知道水印的位置和内容,将许多虚弱的信号集中起来得到水印。,NEC算法描述,水印的产生将1bit水印扩展成能量小的水印序列产生一个长度为N的随机序列W作为水印信息,NEC算法描述,水印的嵌入对图像数据进行二维DCT变换寻找最大的N个DCT系数X用来携带水印信息根据下式得到含水印的DCT系数SSi=Xi(1+Wi),其中W是水印,是尺度因子,用于控制水印的嵌入强度嵌入强度越大,水印鲁棒性越强,但不可见性越差进行二维逆DCT变换,并将像素灰度值进行截断使其值位于0,255之间,从而得到含水印图像,复习,NEC算法流程,水印嵌

6、入DCT低频系数水印嵌入强度固定,Si=Xi(1+Wi),NEC算法描述,水印的提取对接收到的可能含有水印的图像和原始图像做DCT变换找到可能含有水印信息的N个DCT系数,根据下式提取水印信息WWi=(Yi-Xi)/Xi,其中Y是可能含有水印信息的n个DCT系数,NEC算法描述,水印的检测通过下式计算原始水印W与提取水印W之间的相似程度sim(W,W)然后将sim(W,W)与预先设定的阈值进行比较,判断水印的存在与否。阈值可以通过实验的方法获得,也可以通过一些统计和假设的方法获得,NEC算法实现,%文件名:COX_Embed.m%函数功能:将均匀分布的随机序列(水印信号)按照cox扩频方法嵌入

7、到载体图像的DCT系数中%格式:J=COX_Embed(I,W,alpha,N)%参数说明:%I:原始图像矩阵%W:水印信息%alpha:水印强度%N:嵌入水印长度%J:嵌入水印图像矩阵,提示,index=FindNLargest(A,N);%index寻找到的A中最大N个值的坐标,index(1,:),行坐标;index(2,:),列坐标,NEC算法:嵌入算法,function J=Cox_Embed(I,W,alpha,N)m,n=size(I);If(m*nN)error(载体图像太小);endDCTI=dct2(I);index=FindNLargest(abs(DCTI),N);%i

8、ndex寻找到的DCT系数坐标,index(1,:),行坐标;index(2,:),列坐标for i=1:NDCTI(index(1,i),index(2,i)=DCTI(index(1,i),index(2,i)*(1+alpha*W(i);endJ=idct2(DCTI);J=abs(J);J=uint8(J);,NEC算法实现,%文件名:COX_Detect.m%函数功能:提取水印信号%格式:Wd=COX_Detect(I,J,alpha,N)%参数说明:%I:原始图像矩阵%J:待测图像矩阵%alpha:水印强度%N:嵌入水印长度%Wd:提取水印,38,NEC算法:提取算法,functi

9、on Wd=Cox_Detect(I,J,alpha,N)m,n=size(I);x,y=size(J);if(m=x)|(n=y)error(图像大小不一致);endDCTI=dct2(I);DCTJ=dct2(J);index=FindNLargest(abs(DCTI),N);for i=1:NWd(i)=(DCTJ(index(1,i),index(2,i)/DCTI(index(1,i),index(2,i)-1)/alpha;end,NEC算法:检测算法,function sim=Similar(x,y)m,n=size(x);%m=1,行向量;n=1,列向量if(m=1,NEC算

10、法的性能分析,水印容量?嵌入1bit水印水印不可见性?好水印鲁棒性?好,水印性能评价,水印不可见性分析,水印鲁棒性分析,相似度高,可以正确检测,思考,可以从哪些方面改进NEC算法,增强算法性能?平衡水印不可见性和鲁棒性扩大水印嵌入容量实现水印盲提取,思考,水印算法如何设计才能平衡不可见性和鲁棒性?,改进思路,在中频部分嵌入水印以一定的方式挑选一些中频系数,在这些中频系数中叠加秘密信息 固定位置的中频系数随机挑选中频系数,方式一(嵌入),在选出的中频系数中叠加秘密信息:DCT系数:隐藏后的DCT系数:第 i 个秘密信息比特:可调参数,控制嵌入强度,特点:强度值选定后,不管所选定的DCT系数的大小

11、,加上的都是固定值。对较大系数的影响小,对较小系数的影响大。,方式一(提取),在约定的中频系数中提取信息:待测图像的对应中频系数:提取出的隐藏信息,方式二(嵌入、提取),在选出的中频系数中叠加秘密信息在约定的中频系数中提取信息,特点:强度值选定后,按系数的大小,呈比例嵌入信息。,方式三(嵌入、提取),在选出的中频系数中叠加秘密信息在约定的中频系数中提取信息,思考,水印算法如何设计才能提高嵌入容量?,改进思路,扩大水印嵌入容量图像分块,DCT变换,每块嵌入至少一位水印,思考,水印算法如何设计才能在提取水印时不需要原始图像?,改进思路,实现水印盲提取利用DCT变换后系数间的大小关系添加水印信息,算

12、法一,嵌入载体图像分为88的块,做二维DCT变换,分别选择其中的两个位置,比如用 和 代表所选定的两个系数的坐标如果,代表隐藏1;如果相反,则交换两系数如果,代表隐藏0;如果相反,则交换两系数,思考,系数如何选取?如果选定位置的两个系数相差太大,则对图像影响较大。应选择相近的值(如中频系数),算法一,提取接收者进行二维DCT变换,比较每一块中约定位置的DCT系数值,根据其相对大小,得到隐藏信息的比特串,从而恢复出秘密信息,算法二,算法一的扩展:利用DCT中频系数中的三个系数之间的相对关系来对秘密信息进行编码 嵌入:选择三个位置,嵌入1:令嵌入0:令如果数据不符,则修改这三个系数值,使得它们满足

13、上述关系其中参数D的选择要考虑隐藏的鲁棒性和不可感知性之间的平衡,D越大,隐藏算法对于图像处理就越健壮,但是对图像的改动就越大,越容易引起察觉,算法二,如果需要做的修改太大,则放弃该块,将其标识为“无效”“无效”:对这三个系数做小量的修改使得它们满足下面条件之一:或,算法二,提取对图像进行DCT变换,比较每一块相应三个位置的系数,从它们之间的关系,可以判断隐藏的是信息“1”、“0”还是“无效”块,这样就可以恢复秘密信息,作业(选做),是否还有其他好的改进思路和方法?,基于混沌与细胞自动机的数字水印结构,什么是混沌、细胞自动机产生数字水印结构细胞自动机水印设计水印算法水印往哪嵌入测试实验及结果,

14、混沌,混沌产生随机序列混沌区的数据有两个特性迭代不重复性和初值敏感性任何人如果不得到迭代方程及其初值x0都无法预测下一个迭代值,这种迭代的结果可以用来产生随机序列。,细胞自动机,细胞自动机是能和其它细胞(automata/cell)相互作用具有相同的可计算能力的细胞数组。这个数组可以是一维的串(String),二维的格子(Grid),三维的立体(Solid)。描述细胞自动机必要的特征包括:状态(State)、邻居关系(Neighbourhood)和规则(Rules)。,细胞自动机描述,(1)细胞(Cell):组成细胞自动机的基本单元;(2)状态(State):描述每个细胞自动机不同状态的变量,

15、最简单的情况下,每个细胞自动机有两个状态,即0或者1,在复杂的模拟情况下有更多的不同状态,状态可以是数字也可以是描述的特征;(3)邻居关系(Neighbourhood):是定义的能和具体细胞发生作用的细胞集,我们可以这样理解,这些邻居对这个细胞有影响,不同的细胞自动机有不同的邻居关系。,细胞自动机描述,(4)规则(Rules):规则定义了每个细胞根据当前状态和邻居的状态来改变自己的状态。规则也是设计者自己定义的,一些细胞自动机规则如Life,Brain,Aurora,Axon,Vote等。,实例,Fabric patterns:设想此细胞自动机由一串细胞组成。描述如下:(1)状态:0 或 1(

16、2)邻居:两个相邻的细胞 N C N(3)规则:下面的列表显示每个可能的局部配置的细胞的新的状态。如细胞和它的两个邻居的状态排列。因为对每个细胞有可能的状态为0或 1,对3 个细胞有8 条所需要的规则,分别列出如下:0 0 0-0 1 0 0-1 0 0 1-1 1 0 1-1 0 1 0-1 1 1 0-0 0 1 1-0 1 1 1-0,实例,假设开始只有一个细胞状态为1,下面给出这个串随时间的变化情况,这里“.”表示0。细胞自动机有很多好的特性,包括自组织性、行为像人性等。,基于投票规则的细胞自动机,基于投票规则的细胞自动机:状态:0 或 1邻居:中心的3*3 邻居规则:计数p表示中心的3*3 邻居中1 的个数(包括中心本身),if P5,中心设置为0,否则设置为 1,水印生成步骤,种子:3.4,水印结构特点,自动产生的灰度图像对初值敏感具有不可逆性类似密码学中的Hash函数,水印算法,水印可以嵌入DCT或小波低频系数嵌入公式(水印生成和嵌入策略互不关联):E(image)=IDCT(DCT(image)+a*watermark),水印算法,水印检测算法:计算相关系数决定是否有水印的存在。设没有嵌入水印的原图像用I表示,嵌入水印的图像用I表示,嵌入水印并遭到修改的图像用I*表示,下面的函数用来计算相关系数:,测试结果,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号