一种基于第二代Bandelet变换的数字水印的生成及提取方法与流程

文档序号:16434758发布日期:2018-12-28 20:24阅读:333来源:国知局
一种基于第二代Bandelet变换的数字水印的生成及提取方法与流程

本发明属于图像处理领域,具体涉及一种基于第二代bandelet变换的数字水印生成及提取方法。

背景技术

多媒体数据在网上交易和传送过程中,数字信息极易被篡改、复制与散布;对数字作品的知识产权进行保护是一个重要问题,最初是通过加密来完成的,但这种方法主要存在两个问题:一、加密算法存在被破解的可能性,而且一旦被破解将没有办法证明产品的所有权。二,加密将影响数字产品的传播,限制了数字产品迅速发展的优势。

数字水印技术将具有确定性和保密性的信息直接嵌入到原始数据并作为原始数据的一部分而保留在其中,即使在解密之后仍可以跟踪数据的复制和传输,对媒体数据进行有效的保护。

图像水印技术的研究对于水印鲁棒性的要求比较高,一些算法采用伪随机噪声来构造水印并用相关性检验来检测被检测图像中是否含有水印。当被检测图像中所提取的待测序列与原始水印具有较强的相关性时,表示该被检测图像中含有水印,否则,不含有水印。如果要求所嵌入的信息是可读的或可视的,例如有意义的信息(文字、图像等),具有更好的实用意义。

第二代bandelet变换是一种基于边缘的图像表示方法,能自适应地跟踪图像的几何正则方向,利用图像几何正则性,实现最佳稀疏表示。

假定在几何方向上图像方程是规则的。对于几何正则图像,沿平行于边缘线方向,图像变化是正则的;垂直于边缘方向,图像变化剧烈。平行于边缘线的方向可用几何流来刻画。几何流定义在图像f的支撑区域上的向量场用以指示f区内的每一点(x1,x2)处的正则变化方向。bandelet变换充分利用图像沿几何流的正则性,实现图像的最佳稀疏表示。

一般情况下,在边缘线附近,几何流平行于边缘线的切线方向。对于几何正则图像,在局部范围内几何流是平行的。

设图像f(x,y)的支撑区域为[0,1]2,[0,1]2中存在唯一连续边缘γ,γ的几何长度有限。假设γ在x轴上的投影为区间[a,b],而且γ可表示成如下形式:

γ={(x,γ(x)|a≤x≤b}

令ω=[0,1]2-γ,cα(ω)表示α阶空间。如果f(x,y)∈cα(ω),γ(x)∈cα[a,b],则称图像f(x,y)为α阶几何正则图像。f(x,y)除去一条分段光滑的边缘线外,在其它区域是光滑的,这是最简单的几何正则图像。考虑到自然图像的边缘都有一定的宽度,f(x,y)修正为:

其中ω=[0,1]2-γ。h(x)是一个未知的紧支撑的核函数,称为模糊核。小波变换是小波函数与原图像的卷积,小波函数亦可视为模糊核。小波变换对原图像有平滑作用,使图像产生沿与几何流垂直方向的正则性,使得几何流的定位不需要严格准确,允许存在一定的偏差。鉴于精确定位图像边缘线的困难,正则性为快速定位几何流提供方便。

给定一块正方形区域s,沿几何流方向d重排s内的小波系数,得到一维信号。如果方向d选择合适,经一维小波变换可对信号进一步压缩。如果s和d选择不正确,经一维小波变换,量化后非零系数个数不明显减少。综合编码比特率与失真度考虑,区域s内的最佳几何流方向,应使得下面的lagrangian函数取最小:

其中表示由量化后的bandelet系数重构的一维信号。t为量化阈值,rg表示编码几何流所需比特数,rb表示编码量化后的bandelet系数所需比特数。λ是lagrange乘子,一般取λ=3/28。

尺寸为l×l的小方块,将圆周角[0,π)等角度离散为l2-1个,即θ可能的取值为

无几何流的情形,标记θ=inf,表示不实施bandelet化。

bandelet系数采用一致均匀量化。设x表示bandelet系数,t为量化阈值,则量化值q(x)为

图像分割采用donoho在wedgelet中使用的二进分割方法。对一幅正方形图像,先将其等分成四小块。每一小块在下一层的分割中又被分成4块,依次下去,直到最底层小方块的尺寸达到预先设定的最小值。分割的结果可用四叉树表示,小方块与四叉树的结点一一对应。设图像宽度为1,则宽度为2i小方块对应四叉树结点的深度|i|。

为获得更好的压缩效果,具有相似几何流特征的相邻小方块合并在一起。采用自底向上的全局优化算法,逐步合并一些小方块。最终得到的四叉树代表图像分割的结果,四叉树叶结点对应的小方块称为bandelet块,它们是bandelet化的实施对象,也是编码的基本单元。

bandelet化是在二维小波变换的基础上,针对高频子带系数的一种可逆变换。bandelet化是小波系数的重排,它利用图像边缘线的正则性,将小波系数排布方式从二维转换到一维,目的是得到平滑信号。重采样后得到一维信号做一维小波变换,二维小波变换与bandelet化组织在一起,称为第二代bandelet变换。二维小波变换系数经bandelet化后,称为bandelet系数。

arnold变换,又称“猫脸”变换,是arnold在研究遍历理论过程中提出的一种变换。对于数字图像而言,我们所说的位置移动其实是对应点的灰度值或rgb颜色值的移动,即原来点(x,y)处象素对应的灰度值或rgb值移动至变换后的点(x′,y′)处。如果我们对一个数字图像迭代地使用离散化的arnold变换,即将左端输出作为下一次arnold变换的输入,可以重复这个过程一直下去。当迭代到某一步时,如果出现的图像符合我们对图像的“杂乱无章”标准的要求,这即是一幅基于arnold变换的置乱图像。

arnold变换实际上是一种点的位置移动,且这种变换是一一对应的,可以迭代地做下去。arnold变换具有周期性,即当迭代到某一步时,将重新得到原始图像。dyson和falk分析了离散arnold变换的周期性,给出了对于任意n>2,arnold变换的周期t≤n2/2。



技术实现要素:

本发明的目的在于克服上述技术缺陷,结合伪随机序列与有意义水印提出了基于bandelet域相关性检测的数字水印生成及提取方法;为了提高水印的安全性,在嵌入水印前用aronld变换对水印图像进行了置乱。

为了实现上述目的,本发明提出了一种基于第二代bandelet变换的数字水印生成方法,所述方法包括:

对水印图像进行arnold置乱,将置乱后水印图像重新排列得到水印向量;设置伪随机密钥key,生成两个不相关的伪随机序列s0,s1;

对原始图像进行分块,然后对每个分块图像进行bandelet变换,得到bandelet系数,利用伪随机序列s0,s1和水印向量对分块图像的bandelet系数进行更新;

对更新bandelet系数后的分块图像进行bandelet逆变换,将图像变换回空域,再进行组合,得到嵌入水印的图像。

作为上述方法的一种改进,所述方法具体包括:

步骤1)设置滤波矩阵f为:

f(a,b)为矩阵a行b列的元素;

步骤2)读入尺寸为n×n的水印图像i(p,q),1≤p,q≤n;对水印图像进行arnold置乱,将置乱后水印图像重新排列得到水印向量v;

步骤3)设置伪随机密钥key,生成两个不相关的、长度为∑f(a,b)的伪随机序列s0,s1,s0,s1中每个随机数s服从[-1,1]区间的均匀分布,其概率密度函数为:

步骤4)读入尺寸为mc×nc的原始图像,对原始图像f(m,n),1≤m≤mc,1≤n≤mc,按照8×8进行分块,得到k个分块图像fk(m′,n′),1≤k≤k:

步骤5)对每个分块图像进行bandelet变换,得到bandelet系数b(i,j),1≤i≤8,1≤j≤8;

步骤6)利用伪随机序列s0,s1和水印向量对分块图像的bandelet系数b(i,j)进行更新;

步骤7)对更新bandelet系数后的分块图像进行bandelet逆变换,将图像变换回空域,再进行组合,得到嵌入水印的图像。

作为上述方法的一种改进,所述步骤2)具体包括:

步骤2-1)读入尺寸为n×n的水印图像i(p,q),1≤p,q≤n;

步骤2-2)通过arnold置乱后,水印图像表示为:

其中,为第l次迭代的i(p,q),为第l+1次迭代的i(p,q);矩阵l为迭代次数,取值为非负整数;

步骤2-3)将置乱后的水印图像重新排列为水印向量v。

作为上述方法的一种改进,所述步骤6)具体为:

其中,为更新后的bandelet系数。

本发明还提供了一种基于第二代bandelet变换的数字水印提取方法,所述方法具体包括:

步骤s1)设置伪随机密钥key,生成两个不相关的、长度为∑f(a,b)的伪随机序列s0,s1,s0,s1中每个随机数s服从[-1,1]区间的均匀分布,其概率密度函数为:

步骤s2)对嵌入水印图像进行8×8分块,并对每一块进行bandelet变换,计算得到bandelet系数

步骤s3)将bandelet系数中与滤波矩阵f为1处所对应的系数提取出来,按顺序组成序列s′,即

若f(i,j)=1

滤波矩阵f为:

f(i,j)为矩阵i行j列的元素;

步骤s4)分别计算s′与s0的相关系数c0以及s′与s1的相关性系数c1;

步骤s5)设置水印向量v的值为:

步骤s6)将提取水印向量v进行arnold置乱,并按原始水印尺寸n×n排列,得到水印图像。

本发明的优势在于:

1、本发明的方法利用arnold变换对水印信息进行置乱,提高了水印的安全性;

2、本发明的方法在嵌入水印时采用嵌入两个不相关伪随机序列的方法,提高了检测的准确率;

3、本发明的方法把信息嵌入到高频部分,避免了图像失真;

4、本发明的方法采用半盲检测方式,只需原始水印的部分信息,简单实用。

附图说明

图1为本发明的数字水印生成方法的流程图;

图2为本发明的数字水印提取方法的流程图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细的说明。

如图1所示,一种基于第二代bandelet变换的数字水印生成方法,具体包括:

第1步:设置嵌入强度系数为k=1.1,分块大小为blocksize=8,滤波矩阵

第2步:读入原始图像img,并读出其尺寸为mc×nc;

第3步:读入水印图像watermark,并读出其尺寸为n×n。

第4步:对水印图像watermark进行arnold置乱。

水印图像表示为i(p,q),1≤p,q≤n;通过arnold置乱后,水印图像表示为:

其中,为第l次迭代的i(p,q),为第l+1次迭代的i(p,q);矩阵l为迭代次数,取值为非负整数;

第5步:将置乱后水印图像重新排列为向量v。

第6步:设置伪随机密钥key,生成两个不相关的、长度为∑f(a,b)的伪随机序列s0,s1,序列中每个随机数s服从[-1,1]区间的均匀分布,即概率密度为:

∑f(a,b)=12。

第7步:对原始图像f(m,n),1≤m≤mc,1≤n≤mc,按照8×8进行分块,得到k个分块图像fk(m′,n′),1≤k≤k:

第8步:对每一分块图像进行bandelet变换,得到系数b(i,j)。

第9步:如果水印向量元素为0,则从s0取出一个数叠加到滤波矩阵f为1处所对应的系数;如果水印向量元素为1,则从s1取出一个数叠加到滤波矩阵f为1处所对应的系数,即

其中,为更新后的bandelet系数。

第10步:对每一分块图像进行bandelet逆变换,将图像变换回空域,再进行组合得到嵌入水印的图像。

如图2所示,一种基于第二代bandelet变换的数字水印提取方法,具体包括:

水印提取方法不需要原始图像,但需要原始水印的部分信息(原始水印的尺寸)

第1步:设置滤波矩阵f,分块大小并保存开始时间。

第2步:读入嵌入水印图像i,并读出其尺寸为mw×nw。

第3步:读入原始水印图像watermark,并读出其尺寸为n×n。

第4步:设置与嵌入算法中相同的伪随机密钥key,生成两个与嵌入算法中相同的伪随机序列s0,s1。

第5步:对嵌入水印图像进行8×8分块,并对每一块进行bandelet变换,计算得到bandelet系数

第6步:将bandelet系数b(i,j)中与滤波矩阵f为1处所对应的系数提取出来,按顺序组成序列s′,即

若f(i,j)=1

其中,k=∑b<jf(a,b)+∑a≤i,b=jf(a,b);

第7步:分别计算s′与s0,s1的相关性。

c0=corr(s′,s0)

c1=corr(s′,s1)

第8步:设置水印向量v的值。

第9步:将提取水印向量进行arnold置乱,并按原始水印尺寸排列。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1