一种基于二维码的实时鲁棒数字水印的嵌入和提取方法与流程

文档序号:13532889阅读:419来源:国知局
一种基于二维码的实时鲁棒数字水印的嵌入和提取方法与流程

本发明涉及数字水印领域,更具体的说,其涉及用于一种基于二维码的实时鲁棒数字水印的嵌入和提取方法。



背景技术:

数字水印技术是将一些标识信息(即数字水印)直接嵌入数字载体(包括多媒体、文档、软件等)当中,但不影响原载体的使用价值,也不容易被人的知觉系统(如视觉或听觉系统)觉察或注意到。通过这些隐藏在载体中的信息,可以达到确认内容创建者、购买者、传送隐秘信息或者判断载体是否被篡改等目的。数字水印是保护信息安全、实现防伪溯源、版权保护的有效办法,是信息隐藏技术研究领域的重要分支和研究方向。

目前,现有的基于变换域的数字水印算法大多仅能抵抗图像压缩、滤波等信号处理攻击,但是对旋转、平移、缩放和剪裁等几何攻击的鲁棒性很低。同时,由于在变换域中进行水印嵌入,需要空间域和变换域相互转换,运算量大,无法实时处理。

另外,数字水印算法基本上使用的原始水印信息均为二值水印图像或伪随机信号,水印信息容量小,无法使用有意义的字符串信息。数字水印算法的容量、安全、强度和不可感知度也是亟待解决的一个问题。在移动互联网盛行的时代,如何将数字水印算法应用到资源和计算能力有限的手持设备中更是难点。



技术实现要素:

本发明的目的在于提供一种使用多重加密方式处理水印信息和嵌入载体,极大地增强水印信息的白噪声特性,提高了水印破解难度、安全性和不可感知度的一种基于二维码的实时鲁棒数字水印的嵌入和提取方法。

为了解决上述技术问题,本发明的技术方案如下:

一种基于二维码的实时鲁棒数字水印的嵌入和提取方法,具体步骤如下:

101)编码水印数字信息步骤:根据水印字符串数字信息和计算硬件设备,自动选择出纠错编码方式,并对水印字符串数字信息进行纠错编码,以提高数字信息的冗余度;

102)加密水印数字信息步骤:对步骤101)编码的信息进行第二次的二维码编码,并进行密钥加密;所述密钥加密包括两步骤,首先在信息的前后分别加入长度为7和长度为3的巴克码,作为水印信号的同步码,再进行混沌映射加密,所述混沌映射加密采用如下公式:

xn=μ*xp*(1-xp)

其中xp和xn的取值范围为(0,1),分别表示映射前后的位置,μ表示混沌映射加密的参数,当μ的取值范围在(3.5699456,4)时,迭代生成的值处于伪随机分布状态,因此μ作为混沌加密的密钥;

103)输出嵌入水印图像步骤:根据步骤102)加密后的水印信息进行离散余弦变换生成水印融合图像的低频子带,并进行小波逆变换,生成水印融合图像;将所述水印融合图像调制在原始宿主图像的中心区域,并输出嵌入水印的宿主图像;

所述离散余弦变换主要用于信号或图像数据的压缩,能够将空域信号转换到频域上,且变换后能量集中在直流和低频部分,因此具有良好的去相关的性能;所述的离散余弦变换采用如下公式:

其中xk和xi分别表示变换前后系数,n表示数据长度;其对应的离散余弦变换公式为:

小波变换能够提供一个随频率改变的时间-频率窗口,能进行信号时频分析和处理,其通过变换能够充分突出问题部分的特征,能对时空频率的局部化分析,通过伸缩平移运算对信号逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,自适应信号时频分析的要求,从而可聚焦到信号的任意细节;连续小波变换的计算公式如下:

其中a和b分别表示尺度参数和时间参数,ψ表示小波变换的母函数,x(a,b)表示尺度参数为a和时间参数为b时信号x(t)小波变换后的系数,尺寸参数a在某些场景中等效于频率的概念,从公式可以看出一维信号x(t)经过小波变换后变成二维信号x(a,b)。

104)提取水印原始图像步骤:对步骤103)生成的水印图像进行宿主图像提取,并通过两级小波变换提取低频子带;

105)恢复水印原始信息步骤:对步骤104)的低频子带进行余弦变换,获取水印信息,并由混沌逆映射来恢复水印原始信息和进行巴克码检测;

106)输出提取的水印数字信息步骤:将步骤105)获得检测通过的水印数字信息还原为二维码,并使用纠错编码方法恢复原始水印信息,输出水印数字信息。

进一步的,所述纠错编码方式包括polarcode即极化码、ldpc即低密度奇偶校验码、bch即bose、ray-chaudhuri与hocquenghem的缩写是一种纠错码、reed-solomoncode即理德-所罗门码是一类非二进制bch码。

进一步的,步骤103)中的小波逆变换,先要令水印融合图像的其他子带系数为零,再对水印融合系数进行两级小波逆变换,从而生成水印融合图像。

进一步的,步骤103)中的所述水印融合图像调制在原始宿主图像的中心区域,采用如下公式:

rectl=(hx-mx)÷2

rectr=(hx+mx)÷2

rectt=(hy-my)÷2

rectb=(hy+my)÷2

其中mx和my为水印融合图像的宽高,hx和hy为宿主图像的宽高,rectl、rectr、rectt和rectb为水印融合图像调制的位置数值。

进一步的,所述水印融合图像调制在原始宿主图像的载体嵌入区域,用加性方式将水印融合图像叠加到原始宿主图像中,即采用如下公式:

h′(x,y)=h(x,y)+m(x,y)

其中m(x,y)为水印融合图像像素,h(x,y)为原始宿主图像像素,h′(x,y)为对于处于嵌入区域的像素。

进一步的,所述水印融合图像和原始宿主图像,通过自定义的片段着色器代码,在gpu中渲染三角形网格,从而可快速地嵌入水印信息。

进一步的,在步骤105)中低频子带进行余弦变换,会累加dct中频系数值swd,若swd>0,则水印值为1,反之,则水印值为0;所述dct即基于分块的离散余弦编码。

本发明相比现有技术优点在于:

(1)使用多重加密方式处理水印信息和嵌入载体,极大地增强水印信息的白噪声特性,提高了水印破解难度、安全性和不可感知度。

(2)采用polarcode、ldpc、bch、reed-solomoncode等纠错编码水印,使其在噪声环境中也可无损地恢复水印信息,同时结合混沌加密算法,随机排布各个水印信息位,均衡错误发生区域的概率,从而大大提高了水印的鲁棒性。

(3)利用二维码的模板模式,在水印提取后修复水印二维码,去除错误水印信息位。同时结合二维码几何不变特性,提高了水印的抗几何攻击能力。

(4)充分利用gpu强大的并行流水线处理能力,将水印嵌入过程放到gpu中处理,大大提高了数字水印嵌入的处理效率,降低了cpu负载。

(5)结合离散小波变换(discretewavelettransform,dwt)的多尺度多分辨分析能力和离散余弦变换(discretecosinetransform,dct)在压缩中的广泛性,在变换域中进行水印嵌入和提取,鲁棒性和可靠度得到大幅提升。

附图说明

图1为本发明的数字水印嵌入处理流程图;

图2为本发明的数字水印提取处理流程图;

图3为二维离散小波分解和重构示意图。

具体实施方式

下面结合附图和具体实施方式对本发明进一步说明。

如图1、图2和图3所示,一种基于二维码的实时鲁棒数字水印的嵌入和提取方法,具体步骤如下:

101)编码水印数字信息步骤:根据水印字符串数字信息和计算硬件设备,自动选择出纠错编码方式,并对水印字符串数字信息进行纠错编码,以提高数字信息的冗余度。所述纠错编码方式包括polarcode即极化码、ldpc即低密度奇偶校验码、bch即bose、ray-chaudhuri与hocquenghem的缩写是一种纠错码、reed-solomoncode即理德-所罗门码是一类非二进制bch码,根据水印字符串数字信息和计算硬件设备,选择出合适的纠错编码方法。

102)加密水印数字信息步骤:对步骤101)编码的信息进行第二次的二维码编码,并进行密钥加密。所述密钥加密包括两步骤,第一步在信息的前后分别加入长度为7和长度为3的巴克码,作为水印信号的同步码;第二步进行混沌映射加密。即所述第一步是使用密钥kc将二维码图像展开成一维水印信号,并在水印信号的前后分别加入长度为7和长度为3的巴克码(barkercode),作为水印信号的同步码。所述第二步使用密钥ku对水印信号进行logistic混沌映射加密,所述混沌映射加密采用如下公式:

xn=μ*xp*(1-xp)公式(1)

其中xp和xn的取值范围为(0,1),分别表示映射前后的位置,μ表示混沌映射加密的参数,当μ的取值范围在(3.5699456,4)时,迭代生成的值处于伪随机分布状态,因此μ作为混沌加密的密钥ku。

103)输出嵌入水印图像步骤:根据步骤102)加密后的水印信息进行离散余弦变换生成水印融合图像的低频子带,并进行小波逆变换,生成水印融合图像。所述加密后的水印信息进行离散余弦变换生成水印融合图像的低频子带,所述离散余弦变换用于信号或图像数据的压缩,能够将空域信号转换到频域上,且变换后能量集中在直流和低频部分,因此具有良好的去相关的性能。具体方式以4x4为例,将4x4作为水印融合图像的dct分块尺寸,根据水印信息的取值,修改dct分块的中频系数。若水印信息的值为1,令4x4dct的中频系数为k1,反之,若水印信号的值为0,4x4dct的中频系数为k0。从而再对水印融合dct系数进行离散余弦反变换,生成最终的水印融合图像的低频子带系数。所采用的dct公式如下:

其中xk和xi分别表示变换前后系数,n表示数据长度。

所述小波逆变换,先要令水印融合图像的其他子带系数为零,再对水印融合系数进行两级小波逆变换,从而生成水印融合图像。小波变换能够提供一个随频率改变的时间-频率窗口,能进行信号时频分析和处理,其通过变换能够充分突出问题部分的特征,能对时空频率的局部化分析,通过伸缩平移运算对信号逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,自适应信号时频分析的要求,从而可聚焦到信号的任意细节;连续小波变换的计算公式如下:

其中a和b分别表示尺度参数和时间参数,ψ表示小波变换的母函数,x(a,b)表示尺度参数为a和时间参数为b时信号x(t)小波变换后的系数,尺寸参数a在某些场景中等效于频率的概念,从公式可以看出一维信号x(t)经过小波变换后变成二维信号x(a,b)。

其中,二维离散小波分解和重构过程如图3所示。将所述水印融合图像调制在原始宿主图像的中心区域,并输出嵌入水印的宿主图像。所述水印融合图像调制在原始宿主图像的中心区域,采用如下公式进行定位嵌入:

rectl=(hx-mx)÷2

rectr=(hx+mx)÷2

rectt=(hy-my)÷2

rectb=(hy+my)÷2

其中mx和my为水印融合图像的宽高,hx和hy为宿主图像的宽高,rectl、rectr、rectt和rectb为水印融合图像调制的位置数值。

所述水印融合图像调制在原始宿主图像的载体嵌入区域,采用加性方式将水印融合图像叠加到原始宿主图像中,即采用如下公式进行自定义片段着色器,对每一帧视频图像在gpu中进行水印调制嵌入:

h′(x,y)=h(x,y)+m(x,y)

其中m(x,y)为水印融合图像像素,h(x,y)为原始宿主图像像素,h′(x,y)为对于处于嵌入区域的像素。所述水印融合图像和原始宿主图像,通过自定义的片段着色器代码,在gpu中渲染三角形网格,从而可快速地嵌入水印信息。最大化提高了处理效率,降低cpu计算量和运算负载,充分利用gpu的强大的并行处理能力,将水印叠加融合的过程转移到gpu中进行。由于水印融合图像和宿主载体内容无关,相同水印信息字符串对应的水印融合图像仅需生成一次,因此对于视频宿主载体和批量水印嵌入,相比其他水印方式,其处理效率得到大幅度的提升。

104)提取水印原始图像步骤:对步骤103)生成的水印图像进行宿主图像提取,并通过两级小波变换提取低频子带。

105)恢复水印原始信息步骤:对步骤104)的低频子带进行余弦变换,获取水印信息,并由混沌逆映射来恢复水印原始信息和进行巴克码检测。所述余弦变换以4x4分块对低频子带系数进行余弦变换,累加dct中频系数值swd;若swd>0,则水印值为1,反之,若swd<=0,则水印值为0。所述dct即基于分块的离散余弦编码。所述混沌逆映射根据密钥ku来对水印信号进行混沌逆映射,恢复水印信号。所述巴克码检测,若所提取的巴克码不匹配,直接返回水印不存在;反之,若巴克码匹配,则去掉水印信息中的同步码。

106)输出提取的水印数字信息步骤:将步骤105)获得检测通过的水印数字信息,再使用密钥kc将水印数字信息还原为二维码,并根据选用的二维码模板样式修复二维码中的错误比特位,然后读取所嵌入的字符串信息,并使用纠错编码方法恢复原始水印信息,输出水印数字信息。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。

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