您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 14案例12数字水印
崔丽2014.12.19定义、应用范围、特点检测流程分类性能评估研究方向典型的攻击分析典型算法数字水印是一种新兴的信息隐藏技术,可以对一些电子服务提供保护。定义:永久镶嵌在其他数据(宿主数据)中具有可鉴别性的数字信号或模式,并且不影响宿主数据的可用性。用于版权保护的数字水印:将版权所有者的信息,嵌入在要保护的数字多媒体作品中,从而防止其他团体对该作品宣称拥有版权用于盗版跟踪的数字指纹:同一个作品被不同用户买去,售出时不仅嵌入了版权所有者信息,而且还嵌入了购买者信息,如果市场上发现盗版,可以识别盗版者用于拷贝保护的数字水印:水印与作品的使用工具相结合(如软硬件播放器等),使得盗版的作品无法使用安全性◦数字水印难以被发现、擦除、篡改或伪造可证明性◦数字水印应能为宿主数据的产品归属问题提供完全和可靠的证据不可感知性◦从感观上和统计上都不可感知稳健性◦数字水印应该难以被擦除,任何试图完全破坏水印的努力将对载体的质量产生严重破坏;◦好的水印算法应该对信号处理、几何变形、恶意攻击等具有稳健性。水印本身的结构◦版权所有者、合法使用者等具体信息◦伪随机序列◦图标水印嵌入算法水印检测算法用户密钥原始图像数字水印嵌入算法水印图像数字水印嵌入模型用户密钥测试图像数字水印(特定的ID〕检测算法判决结果数字水印检测模型从载体上分类从外观上分类从加载方式上分类从检测方法上分类从水印特性上分类从使用目的上分类图像水印◦图像是使用最多的一种多媒体数据,也是经常引起版权纠纷的一类载体:彩色/灰度图像,卡通,设计图,二值图像(徽标、文字)等视频水印◦保护视频产品和节目制作者的合法利益音频水印◦保护MP3、CD、广播电台的节目内容等软件水印◦是镶嵌在软件中的一些模块或数据,通过它们证明该软件的版权所有者和合法使用者等信息文档水印◦确定文档数据的所有者可见水印(可察觉水印)◦如电视节目上的半透明标识,其目的在于明确标识版权,防止非法的使用,虽然降低了资料的商业价值,却无损于所有者的使用不可见水印(不可察觉水印)◦水印在视觉上不可见,目的是为了将来起诉非法使用者。不可见水印往往用在商业用的高质量图象上,而且往往配合数据解密技术一同使用空间域水印◦LSB方法(音频信号隐藏方法——最低有效位leastsignificantbit)◦拼凑方法◦文档结构微调方法变换域水印◦DCT变换,小波变换,傅立叶变换,Fourier-Mellin变换或其它变换私有水印和公开水印◦私有水印(非盲水印):水印检测时需要原始载体◦公开水印(盲水印):水印检测时无需原始载体健壮性数字水印◦要求水印能够经受各种常用的操作,包括无意的或恶意的处理◦只要载体信号没有被破坏到不可使用的程度,都应该能够检测出水印信息脆弱性数字水印◦要求水印对载体的变化很敏感,根据水印的状态来判断数据是否被篡改过◦特点:载体数据经过很微小的处理后,水印就会被改变或毁掉◦主要用于完整性保护◦与稳健性水印的要求相反版权标识水印◦基于数据源的水印◦水印信息标识作者、所有者、发行者等,并携带有版权保护信息和认证信息,用于发生版权纠纷时的版权认证,还可用于隐藏标识、防拷贝数字指纹水印◦基于数据目的的水印◦包含关于产品的版权信息,以及购买者的个人信息,可以用于防止数字产品的非法拷贝和非法传播透明性稳健性容量确定水印嵌入的位置采用空间域或者变换域的算法,根据所选算法,以及有关水印载体和水印的信息分析,确定水印嵌入的位置。比如嵌入到低频信息,或者嵌入到高频信息中,为了提高不可见水印的鲁棒性,可以在多个频道嵌入水印信息。嵌入的位置将成为提取水印的重要参数。首先计算水印载体图像和水印图像的信息熵。其次对水印载体图像进行小波分解,对分解后的各层次系数计算信息熵,将水印图像嵌入到信息熵比较小的位置,选择嵌入的频道。确定水印嵌入的位置采用空间域或者变换域的算法,根据所选算法,以及有关水印载体和水印的信息分析,确定水印嵌入的位置。比如嵌入到低频信息,或者嵌入到高频信息中,为了提高不可见水印的鲁棒性,可以在多个频道嵌入水印信息。嵌入的位置将成为提取水印的重要参数。首先计算水印载体图像和水印图像的信息熵。其次对水印载体图像进行小波分解,对分解后的各层次系数计算信息熵,将水印图像嵌入到信息熵比较小的位置,选择嵌入的频道。理论◦数字水印模型、隐藏容量、抗攻击性能等算法◦研究具有更高性能的水印算法标准◦真正起到数字版权管理的作用,还需要完善一系列的标准和协议信息量大。隐藏的子图像中的信息实际上是被可见水印遮蔽的一部分子图像信息,信息量取决于原始图像的格式(256或者真彩图像);还原子图像质量要求高。隐藏嘎的子图像信息还原时应该与整幅图像完整的对接,从视觉上看不出还原子图像与整幅图的差异;图像质量问题。由于嵌入信息量大,如何保证嵌入可见水印的图像质量,同时还要有很强的抗攻击能力。灰度加权平均:当图像A={ai,j}和B={bi,j}采用半透明融合时,设λ为权重,目标图像C的灰度值c(i1,j1)=a(i2,j2)λ+b(i3,j3)(1-λ).为防止非法用户删除水印,采用多个权值随机选取。如果对水印每隔r行像素选用一个嵌入权值,那么对于一幅M高度的图像,它可以有[M/r]个嵌入权重。编码:将水印加入到原始图像中;解码:识别和提取水印编码步骤:◦原始图像的小波分解,分成几个子带;◦加入水印信息;◦对修改的小波分解系数进行逆变换。注意:解码为逆过程。熵信息计算1.图像一维熵:令Pi表示图像中灰度值为i的像素所占的比例,则定义灰度图像X的一维灰度熵为:图像的一维熵可以表示图像灰度分布的聚集特征,却不能反映图像灰度分布的空间特征。2.图像二维熵:选择图像的邻域灰度均值作为灰度分布的空间特征量,与图像的像素灰度组成特征二元组,记为(i,j),其中i表示像素的灰度值[0,255],j表示其邻域灰度值[0,255]。下式能反应某像素位置上的度值与其周围像素灰度分布的综合特征其中f(i,j)为特征二元组(i,j)出现的频数,[M,N]为图像的尺度。定义离散的图像二维熵为:%输入灰度图像%输出图像一维熵和二维熵。function[H1,H2]=ImageEntropy(X)[Mx,Nx]=size(X);%图像灰度直方图,求出灰度频率P1=imhist(X,256)./(Mx*Nx);%计算图像一维平均熵信息。B1=find(P1~=0);H1=-sum(P1(B1).*log2(P1(B1)));%邻域定义:4连通区域,8连通区域%边界延拓,常数延拓,计算邻域灰度均值。temp1=[X(:,1),X,X(:,Nx)];temp2=[temp1(1,:);temp1;temp1(Mx,:)];%4连通区域,计算频数f(i,j)f=zeros(256,256);fort1=1:Mxfort2=1:Nxi=temp2(t1+1,t2+1);%四连通邻域的平均灰度值j=round((temp2(t1+1,t2)+temp2(t1+1,t2+2)+temp2(t1,t2+1)+temp2(t1+2,t2+1))/4);%八连通邻域的平均灰度值%j=round((temp2(t1+1,t2)+temp2(t1+1,t2+2)+temp2(t1,t2+1)+temp2(t1+2,t2+1)+temp2(t1,t2)+temp2(t1,t2+2)+temp2(t1+2,t2)+temp2(t1+2,t2+2))/8);f(i,j)=f(i,j)+1;endend%图像二维熵的频率P2=f./(Mx*Nx);%图像二维平均熵B2=find(P2~=0);H2=-1*sum(sum(P2(B2).*log2(P2(B2))));主程序:可以读入彩色的jpg图像,求解它们的熵X=imread('Chrysanthemum.jpg');Y=imread('Desert.jpg');%彩色图像变灰度图像,进而计算熵,也可以将彩色图像分通道计算熵值。X1=rgb2gray(X);X2=rgb2gray(Y);[H1_x,H2_x]=ImageEntropy(X1);[H1_y,H2_y]=ImageEntropy(X2);sprintf('1ordimageentropyofChrysanthemumis:%d',H1_x)sprintf('2ordimageentropyofChrysanthemumis:%d',H2_x)sprintf('1ordimageentropyofDesertis:%d',H1_y)sprintf('2ordimageentropyofDesertis:%d',H2_y)figure(1),imshow(X1)figure(2),imshow(X2);ans=1ordimageentropyofChrysanthemumis:7.021447e+000ans=2ordimageentropyofChrysanthemumis:8.208656e+000ans=1ordimageentropyofDesertis:7.766756e+000ans=2ordimageentropyofDesertis:9.612949e+000它们对应的熵值不同,菊花的层次强,彼此的相关性大一些,而沙漠的相对单一一些。于是计算出的熵值前者小,信息量小,而后者熵值大,信息量大。在作为水印的载体图像时,我们选取熵值大一些的图像。确定水印嵌入的位置采用空间域或者变换域的算法,根据所选算法,以及有关水印载体和水印的信息分析,确定水印嵌入的位置。比如嵌入到低频信息,或者嵌入到高频信息中,为了提高不可见水印的鲁棒性,可以在多个频道嵌入水印信息。嵌入的位置将成为提取水印的重要参数。1.首先计算水印载体图像和水印图像的信息熵。2.其次对水印载体图像进行小波分解,对分解后的各层次系数计算信息熵,将水印图像嵌入到信息熵比较小的位置,选择嵌入的频道。子函数:图像灰度拉伸函数%输入变量为一般矩阵,输出为格式uint8的灰度值在[0,255]的灰度图像。functionCL=imstretch(C)M=min(min(C));N=max(max(C));CL=(C-M)./(N-M)*255;CL=uint8(CL);主程序:%对载体图像进行两层小波分解,求出各个层次内各频率段图像的一阶二阶信息熵。%熵值小于水印图像的熵值的频段都可以嵌入水印。%读入水印图像和载体图像X_water=imread('bnu_B.jpg');X_support=imread('Desert.jpg');%彩色图像转化为灰度图像Y_water=rgb2gray(X_water);Y_support=rgb2gray(X_support);%水印和载体图像的信息熵[H1_x,H2_x]=ImageEntropy(Y_water);[H1_y,H2_y]=ImageEntropy(Y_support);%对载体图像进行小波变换[ca,ch,cv,cd]=dwt2(Y_support,'haar');%将各频段图像进行灰度拉伸CA1=imstretch(ca);CH1=imstretch(ch);CV1=imstretch(cv);CD1=imstretch(cd);%求各频段图像的信息熵[H1_a,H2_a]=ImageEntropy(CA1);[H1_h,H2_h]=ImageEntropy(CH1);[H1_v,H2_v]=ImageEntropy(CV1);[H1_d,H2_d]=ImageEntropy(CD1);%再对低低频信息再进行
本文标题:14案例12数字水印
链接地址:https://www.777doc.com/doc-3061232 .html