一种融合快速傅里叶变换的彩色QR码数字盲水印方法与流程

文档序号:16434785发布日期:2018-12-28 20:24阅读:322来源:国知局
一种融合快速傅里叶变换的彩色QR码数字盲水印方法与流程

本发明属于信息安全技术领域,涉及高容量强鲁棒彩色数字水印图像的快速版权保护。

背景技术

随着多媒体技术的快速发展,越来越多的彩色数字图像在网络上涌现、传播并成为现代信息的主要媒介之一,随之而来的盗版、侵权等非法行为屡见不鲜,其版权保护问题也越来越备受国内外学者的广泛关注。为此,一方面要求版权保护的标识趋向于美观实用、高容量的彩色图像数字水印,而不再局限于容量较小的伪随机序列、二值图像或灰度图像;另一方面,随着移动终端设备的广泛普及,现有的水印算法,尤其采用了人工智能、深度学习等技术的数字水印算法,因其较长的运行时间难以满足快速、高效的应用需求,需要进一步提高其运行速度。

依据宿主图像工作域的不同,数字水印算法主要有空域数字水印算法和频域数字水印算法;前者具有算法简单、运行快的优点,但具有鲁棒性弱的缺点,而后者虽具有鲁棒性强的优点,但其相应变换域的正变换和反变换造成水印算法运行时间较长,影响了算法的实时性、实用性和可推广性。因此,如何充分结合二者的优点设计鲁棒性强、实时性好的数字水印算法成为亟待解决的问题之一。



技术实现要素:

本发明的目的是提供一种融合快速傅里叶变换的彩色qr码数字盲水印方法,其特征在于通过具体的水印嵌入过程和提取过程来实现的,其水印嵌入过程描述如下:

第一步:图像的预处理操作:将一幅大小为m×m的24位彩色宿主图像h分为红、绿、蓝三个颜色通道hi,将每个通道分成大小为m×m的非重叠像素块;将一幅大小为n×n的24位彩色qr码水印图像w也分为红、绿、蓝三个颜色通道wi,并依次将每个颜色通道wi进行基于密钥kai的arnold置乱变换,并将通道wi的每一个十进制像素值转换为长度为8位的二进制数值,将wi中的二进制数值依次拼接为水印的字符串序列swiswi的总长度lenwn×n×8,其中i=1,2,3,分别表示红、绿、蓝三个颜色通道;

第二步:定位嵌入像素块和确定待嵌入水印位:利用定位矩阵选择嵌入像素块block,该定位矩阵是由基于密钥kbi的hash伪随机置乱算法生成的;同时,按照顺序从对应通道的二进制字符串序列swi中读取第j个待嵌入水印位wj,其中,1≤jlenwi=1,2,3,分别表示红、绿、蓝三个颜色通道;

第三步:由公式(1),在空域中直接求得快速傅里叶变换结果中的直流分量tmax,而该直流分量不需要进行真正的快速傅里叶变换求得;

(1)

其中,pq是像素在嵌入像素块block中行、列的位置,是像素块block中第p行、第q列位置的像素值,m是嵌入像素块block的宽度(或高度);

第四步:利用公式(2)、(3)计算直流分量tmax的下边界值clow和上边界值chigh

(2)

(3)

其中,wj为第j个待嵌入水印位,1≤jlenw,floor(.)为向下取整函数,t为量化步长;

第五步:依据公式(4)从上下边界值chighclow中选取最佳边界值cc

(4)

其中,abs(.)为求绝对值函数;

第六步:计算含水印的像素块:利用公式(5)将直流分量的变化量change均匀地分布到嵌入像素块block内的所有像素上,即可得到含水印的像素块blocknew,并将其更新回相对应的颜色通道;

(5)

其中,change=cc-tmaxm是嵌入像素块block的宽度(或高度);

第七步:循环执行第二步到第六步,直到所有的水印位被分别嵌入到分块后的三个颜色通道为止,最后,将含水印的红、绿、蓝三个颜色通道重组即可获得含水印图像h*

其水印提取过程描述如下:

第一步:预处理含水印图像h*:将含水印图像h*分为红、绿、蓝三个颜色通道,其中i=1,2,3,分别表示红、绿、蓝三个颜色通道,将每个通道划分成大小为m×m的非重叠像素块;

第二步:定位像素块:在颜色通道中,使用基于密钥的hash伪随机置乱算法生成的定位矩阵确定像素块block*

第三步:由公式(6),在空域中直接求得快速傅里叶变换结果中的直流分量tmax*,而该直流分量不需要进行真正的快速傅里叶变换求得;

(6)

其中,pq是像素在像素块block*中行、列的位置,是像素块block*中第p行、第q列位置的像素值,m是像素块block*的宽度(或高度);

第四步:利用公式(7)提取第j个水印位wj,其中,1≤jlenw

(7)

其中,mod(.)为求余函数,round(.)为四舍五入函数;

第五步:循环执行第二步到第四步,分别获取各通道中的二进制字符串序列swi*,然后将swi*以每8位二进制字符串为一组转换为十进制的像素值,其中i=1,2,3,分别表示红、绿、蓝三个颜色通道;

第六步:将各通道的十进制像素值分别进行基于密钥kai的逆arnold变换,此时就获得了各通道的水印,其中i=1,2,3,分别表示红、绿、蓝三个颜色通道;

第七步:重组各通道的水印得到24位的彩色qr码水印图像

该方法利用在空域求得快速傅里叶变换的直流系数的原理及该系数修改量在空域像素的分布规律,在空域中直接完成了需要在快速傅里叶变换中进行的数字水印嵌入与盲提取;该方法既具有较好的水印鲁棒性,又具有较高的算法实时性,简单快捷。

附图说明

图1(a)、图1(b)是两幅原始彩色宿主图像。

图2是一幅原始彩色qr码水印图像。

图3(a)、图3(b)是将图2所示的水印依次嵌入到宿主图像图1(a)、图1(b)后所得到的含水印图像,其结构相似度ssim值依次是0.9042、0.8815,其峰值信噪比psnr值依次是35.9099db、35.8736db。

图4(a)、图4(b)是依次从图3(a)、图3(b)中提取的水印,其归一化互相关系数nc值分别是1.0000、1.0000。

图5(a)、图5(b)、图5(c)、图5(d)、图5(e)是将图3(a)所示的含水印图像依次进行jpeg2000压缩(7:1)、椒盐噪声(3%)、jpeg压缩(60)、剪切(12.5%)、缩放(75%)等攻击后所提取的水印,其归一化互相关系数nc值分别是0.9516、0.9728、0.9588、0.9271、0.9843。

图6(a)、图6(b)、图6(c)、图6(d)、图6(e)是将图3(b)所示的含水印图像依次进行jpeg2000压缩(7:1)、椒盐噪声(3%)、jpeg压缩(60)、剪切(12.5%)、缩放(75%)等攻击后所提取的水印,其归一化互相关系数nc值分别是0.9921、0.9782、0.9481、0.9271、0.9966。

具体实施方式

本发明的目的是提供一种融合快速傅里叶变换的彩色qr码数字盲水印方法,其特征在于通过具体的水印嵌入过程和提取过程来实现的,其水印嵌入过程描述如下:

第一步:图像的预处理操作:将一幅大小为512×512的24位彩色宿主图像h分为红、绿、蓝三个颜色通道hi,将每个通道分成大小为2×2的非重叠像素块(宿主图像分块的总数为:(512×512)/(2×2)=65536);将一幅大小为64×64的24位彩色qr码水印图像w也分为红、绿、蓝三个颜色通道wi,并依次将每个颜色通道wi进行基于密钥kai的arnold置乱变换,并将通道wi的每一个十进制像素值转换为长度为8位的二进制数值(例如:十进制的像素值225转换为8位二进制数值为11100001),将wi中的二进制数值依次拼接为水印的字符串序列swiswi的总长度lenw为64×64×8=32768<65536,其中i=1,2,3,分别表示红、绿、蓝三个颜色通道;

第二步:定位嵌入像素块和确定待嵌入水印位:利用定位矩阵选择嵌入像素块block,该定位矩阵是由基于密钥kbi的hash伪随机置乱算法生成的;同时,按照顺序从对应通道swi的二进制字符串序列中读取第j个待嵌入水印位wj,其中,1≤j≤32768,i=1,2,3,分别表示红、绿、蓝三个颜色通道;此处,设选择的嵌入像素块block

第三步:由公式(1),在空域中直接求得快速傅里叶变换结果中的直流分量tmax=843,而该直流分量不需要进行真正的快速傅里叶变换求得;

(1)

其中,pq是像素在嵌入像素块block中行、列的位置,是像素块block中第p行、第q列位置的像素值,,嵌入像素块block的宽度(或高度)是2;

第四步:利用公式(2)、(3)计算直流分量tmax的下边界值clow和上边界值chigh

(2)

(3)

其中,wj为第j个待嵌入水印位,1≤j≤32768,floor(.)为向下取整函数,t为量化步长;此时,设待嵌入的水印信息位为‘1’,t=80,则根据公式(2)、(3),得clow=784,chigh=864;

第五步:依据公式(4)从上下边界值chighclow中选取最佳边界值cc

(4)

其中,abs(.)为求绝对值函数;此时,根据公式(4)得最佳边界值cc=chigh=864;

第六步:计算含水印的像素块:利用公式(5)将直流分量的变化量change均匀地分布到嵌入像素块block内的所有像素上,即可得到含水印的像素块blocknew,并将其更新回相对应的颜色通道;

(5)

其中,change=cc-tmax=864-843=21,此时,blocknew=

第七步:循环执行第二步到第六步,直到所有的水印位被分别嵌入到分块后的三个颜色通道为止,最后,将含水印的红、绿、蓝三个颜色通道重组即可获得含水印图像h*

其水印提取过程描述如下:

第一步:预处理含水印图像h*:将含水印图像h*分为红、绿、蓝三个颜色通道,其中i=1,2,3,分别表示红、绿、蓝三个颜色通道,将每个通道划分成大小为2×2的非重叠像素块;

第二步:定位像素块:在颜色通道中,使用基于密钥的hash伪随机置乱算法生成的定位矩阵确定像素块block*

第三步:由公式(6),在空域中直接求得快速傅里叶变换结果中的直流分量tmax*,而该直流分量不需要进行真正的快速傅里叶变换求得;

(6)

其中,pq是像素在像素块block*中行、列的位置,是像素块block*中第p行、第q列位置的像素值,;此时,设选取的图像块blocknew*为,则利用公式(6)得tmax*=864;

第四步:利用公式(7)提取第j个水印位wj,其中,1≤j≤32768;

(7)

其中,mod(.)为求余函数,round(.)为四舍五入函数;此时,t=80,tmax*=864,利用公式(7)提取所含有的水印信息位为‘1’;

第五步:循环执行第二步到第四步,分别获取各通道中的二进制字符串序列swi*,然后将swi*以每8位二进制字符串为一组转换为十进制的像素值,其中i=1,2,3,分别表示红、绿、蓝三个颜色通道;

第六步:将各通道的十进制像素值分别进行基于密钥kai的逆arnold变换,此时就获得了各通道的水印,其中i=1,2,3,分别表示红、绿、蓝三个颜色通道;

第七步:重组各通道的水印得到24位的彩色qr码水印图像

该方法既具有频域数字水印算法的优点,也具有空域数字水印算法的优点,鲁棒性强,实时性高,水印不可见性好;算法简单快捷,适用于高容量彩色图像作为数字水印的高效版权保护。

本发明有效性验证

为了证明本发明的有效性,选择如图1(a)、图1(b)所示的两幅大小为512×512的24位标准图像作为宿主图像,并用如图2所示的大小为64×64的24位彩色qr码水印图像进行验证。

图3(a)、图3(b)是将图2(a)所示的水印依次嵌入到宿主图像图1(a)、图1(b)后所得到的含水印图像,其结构相似度ssim值依次是0.9042、0.8815,其峰值信噪比psnr值依次是35.9099db、35.8736db;图4(a)、图4(b)是依次从图3(a)、图3(b)中提取的水印,其归一化互相关系数nc值分别是1.0000、1.0000;图5(a)、图5(b)、图5(c)、图5(d)、图5(e)是将图3(a)所示的含水印图像依次进行jpeg2000压缩(7:1)、椒盐噪声(3%)、jpeg压缩(60)、剪切(12.5%)、缩放(75%)等攻击后所提取的水印,其归一化互相关系数nc值分别是0.9516、0.9728、0.9588、0.9271、0.9843。

图6(a)、图6(b)、图6(c)、图6(d)、图6(e)是将图3(b)所示的含水印图像依次进行jpeg2000压缩(7:1)、椒盐噪声(3%)、jpeg压缩(60)、剪切(12.5%)、缩放(75%)等攻击后所提取的水印,其归一化互相关系数nc值分别是0.9921、0.9782、0.9481、0.9271、0.9966。

该算法在平台2.8ghzcpu,4.00gbram,win8.1,matlab9.2.0.538062(r2017a)上进行过近万次运行,其数字水印的平均嵌入时间是0.306250秒,平均提取时间是0.309944秒,总计时间为0.616194秒。

综上所述,所嵌入的彩色qr码数字水印具有较好的不可见性,满足了水印算法的不可见性要求;同时,从各种受攻击图像中所提取的彩色qr码水印图像具有较高的可识别性和较高的nc值,说明该方法具有较强的鲁棒性;另外,该算法的平均运行总时间小于1秒,满足了多媒体大数据快速版权保护的需要。

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