一种融合离散傅里叶变换的空域彩色数字图像盲水印方法与流程

专利2022-06-29  74


本发明属于网络空间安全技术领域,涉及彩色数字图像作为数字水印的版权保护。



背景技术:

随着internet和多媒体技术的迅猛发展,高效存储和传输数字化信息成为可能,然而各类数字产品在网上传输的同时,也产生了一系列诸如盗版、侵权、篡改等问题。因此,数字版权保护问题越来越受到国内外学者的广泛关注。数字水印技术作为一种有效的数字产品版权保护和数据安全维护技术应运而生。数字水印技术能够利用一定的嵌入方法将作为标识信息的数字水印嵌入到数字载体中,且在视觉上不容易觉察,从而有效的进行版权保护。

根据载体图像的处理方式不同,数字水印算法被划分为空域水印算法和频域水印算法,前者具有计算简单、运行速度快的优点,但鲁棒性相对较差,而后者虽具有鲁棒性强的优点,但算法的运行时间较长,实时性较差。因此,如何结合二者的优点,在保证数字水印良好不可见性的前提下,设计一种鲁棒性强、实时性高的数字水印算法成为目前亟待解决的问题。



技术实现要素:

本发明的目的是提供一种融合离散傅里叶变换的空域彩色数字图像盲水印方法,包含具体的水印嵌入和水印提取两个过程,其水印嵌入过程描述如下:

第一步:对一幅大小为m×m的彩色载体图像h作降维处理,得到红、绿、蓝三个分层载体图像hi,并将各分层载体图像hi分为m×m的非重叠像素块,其中i=1,2,3分别表示红、绿、蓝三层;

第二步:对一幅大小为n×n的彩色水印图像w作降维处理,得到红、绿、蓝三个分层水印图像,同时,为了提高水印的安全性,对每个分层水印图像进行基于密钥kai的arnold变换得到置乱后的三个分层水印图像wi;将分层水印图像wi中的每个十进制像素值转换为8位二进制数,依次连接成长度为8n2的水印位序列swi,其中i=1,2,3分别表示红、绿、蓝三层;

第三步:按照纵向选块顺序依次从分层载体图像hi中选择相邻像素块ab,其中i=1,2,3分别表示红、绿、蓝三层;

第四步:根据公式(1),在空域中直接计算出像素块ab的直流分量dfp

(1)

其中,p=1,2分别表示像素块abm为像素块p的行(列)的大小,fp(x,y)为像素块px行第y列的像素值;

第五步:按照先后顺序依次从分层水印序列swi中选取待嵌入水印位w;根据相邻像素块直流分量间的相似性及rgb色彩空间中的通道相关性,选用不同量化步长ti,利用公式(2)、(3),嵌入水印信息w得到像素块p修改后的直流分量dfp*p=1,2分别表示像素块ab

(2)

(3)

其中,w为待嵌入水印位,avg=(df1 df2)/2,ti为第i层的量化步长,i=1,2,3分别表示红、绿、蓝三层;

第六步:依据公式(4),计算像素块p修改后的像素值fp*(x,y),并用其替换原像素块p中相应位置的像素值fp(x,y),得到含水印的像素块a*b*,其中p=1,2;

(4)

第七步:将含水印像素块a*b*分别更新到其在分层载体图像hi中的相应位置,其中i=1,2,3分别表示红、绿、蓝三层;

第八步:重复执行本过程的第三步到第七步,直到所有的水印信息都被嵌入完成为止,由此得到含水印的分层载体图像hi*,其中i=1,2,3分别表示红、绿、蓝三层;

第九步:组合三层含水印的分层载体图像hi*得到含水印的彩色载体图像h*,其中i=1,2,3分别表示红、绿、蓝三层;

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

第一步:通过降维处理将含水印载体图像h*分成红、绿、蓝三个含水印的分层载体图像hi*;同时,将每个含水印的分层载体图像hi*分成大小为m×m的非重叠像素块,其中i=1,2,3分别表示红、绿、蓝三层;

第二步:按照纵向选块顺序依次从含水印分层载体图像hi*中选择相邻的含水印像素块a*b*,其中i=1,2,3分别表示红、绿、蓝三层;

第三步:根据公式(5),在空域中直接计算出含水印像素块a*b*的直流分量dfp*

(5)

其中,p=1,2分别表示含水印像素块a*b*m为含水印像素块p的行(列)的大小,fp*(x,y)为含水印像素块px行第y列的像素值;

第四步:根据含水印像素块a*b*的直流分量dfp*之间的大小关系,利用公式(6)从含水印像素块a*b*中提取水印位w*,其中p=1,2;

(6)

第五步:重复执行本过程的第二步到第四步,得到提取的二进制水印序列swi*,然后,依次将swi*中每8位二进制信息划分为一组并转换成十进制的像素值,最终形成提取的分层水印图像,其中i=1,2,3分别表示红、绿、蓝三层;

第六步:对提取的分层水印图像进行基于密钥kai的逆arnold变换,获得提取的分层水印图像wi*,其中i=1,2,3分别表示红、绿、蓝三层;

第七步:组合提取的分层水印图像wi*形成最终的提取水印图像w*,其中i=1,2,3分别表示红、绿、蓝三层。

该方法无需进行真正的离散傅里叶变换,在空域中直接求得离散傅里叶变换的直流分量,利用相邻像素块直流分量间的相关性,并在不同通道采用不同的量化步长完成彩色数字水印的嵌入与盲提取;该方法不仅具有较好的水印不可见性,还具有较强的水印鲁棒性和较高的算法实时性。

附图说明

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

图2(a)、图2(b)是两幅原始彩色水印图像。

图3(a)、图3(b)是将图2(a)所示的水印依次嵌入到载体图像图1(a)、图1(b)后所得到的含水印图像,其结构相似度ssim值依次是0.9759、0.9728,其峰值信噪比psnr值依次是41.5249db、42.2817db。

图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压缩(4:1)、jpeg压缩(70)、椒盐噪声(0.2%)、中值滤波(3×3)、缩放(4:1)等攻击后所提取的水印,其归一化互相关系数nc值分别是0.9718、0.9467、0.9943、0.8981、0.9837。

图6(a)、图6(b)是将图2(b)所示的水印依次嵌入到载体图像图1(a)、图1(b)后所得到的含水印图像,其结构相似度ssim值依次是0.9761、0.9712,其峰值信噪比psnr值依次是41.4400db、41.8342db。

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

图8(a)、图8(b)、图8(c)、图8(d)、图8(e)是将图6(a)所示的含水印图像依次进行jpeg2000压缩(4:1)、jpeg压缩(70)、椒盐噪声(0.2%)、中值滤波(3×3)、缩放(4:1)等攻击后所提取的水印,其归一化互相关系数nc值分别是0.9725、0.9465、0.9903、0.8782、0.9879。

具体实施方式

本发明的目的是提供一种融合离散傅里叶变换的空域彩色数字图像盲水印方法,包含具体的水印嵌入和水印提取两个过程,其水印嵌入过程描述如下:

第一步:对一幅大小为512×512的彩色载体图像h作降维处理,得到红、绿、蓝三个分层载体图像hi,并将各分层载体图像hi分为2×2的非重叠像素块,其中i=1,2,3分别表示红、绿、蓝三层;

第二步:对一幅大小为32×32的彩色水印图像w作降维处理,得到红、绿、蓝三个分层水印图像,同时,为了提高水印的安全性,对每个分层水印图像进行基于密钥kai的arnold变换得到置乱后的三个分层水印图像wi;将分层水印图像wi中的每个十进制像素值转换为8位二进制数(例如:可将十进制数225转换成二进制序列‘11100001’),依次连接成水印位序列swiswi的长度为8×322=8192,其中i=1,2,3分别表示红、绿、蓝三层;

第三步:按照纵向选块顺序依次从分层载体图像hi中选择相邻像素块ab,其中i=1,2,3分别表示红、绿、蓝三层;此处,设i=1,从红色层中选取的像素块a,选取的像素块b

第四步:根据公式(1),在空域中直接计算出像素块ab的直流分量dfp

(1)

其中,p=1,2分别表示像素块abm为像素块p的行(列)的大小,fp(x,y)为像素块px行第y列的像素值;此时,像素块的行(列)的大小m=2,计算得到的像素块a的直流分量df1=897.0000,像素块b的直流分量df2=897.0000;

第五步:按照先后顺序依次从分层水印序列swi中选取待嵌入水印位w;根据相邻像素块直流分量间的相似性及rgb色彩空间中的通道相关性,选用不同量化步长ti,利用公式(2)、(3),嵌入水印信息w得到像素块p修改后的直流分量dfp*p=1,2分别表示像素块ab

(2)

(3)

其中,w为待嵌入水印位,avg=(df1 df2)/2,ti为第i层的量化步长,i=1,2,3分别表示红、绿、蓝三层;此时,i=1,从水印序列sw1中选取的待嵌入水印位w=‘0’,t1=20.2800,avg=897.0000,则根据公式(2)、(3),求得修改后的像素块a*的直流分量df1*=897.0000,像素块b*的直流分量df2*=897.0000;

第六步:依据公式(4),计算像素块p修改后的像素值fp*(x,y),并用其替换原像素块p中相应位置的像素值fp(x,y),得到含水印的像素块a*b*,其中p=1,2;

(4)

此时,得到的含水印像素块a*,含水印像素块b*

第七步:将含水印像素块a*b*分别更新到其在分层载体图像hi中的相应位置,其中i=1,2,3分别表示红、绿、蓝三层;此时,i=1,含水印像素块a*b*被分别更新到其在分层载体图像h1中的相应位置;

第八步:重复执行本过程的第三步到第七步,直到所有的水印信息都被嵌入完成为止,由此得到含水印的分层载体图像hi*,其中i=1,2,3分别表示红、绿、蓝三层;

第九步:组合三层含水印的分层载体图像hi*得到含水印的彩色载体图像h*,其中i=1,2,3分别表示红、绿、蓝三层;

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

第一步:通过降维处理将含水印载体图像h*分成红、绿、蓝三个含水印的分层载体图像hi*;同时,将每个含水印的分层载体图像hi*分成大小为2×2的非重叠像素块,其中i=1,2,3分别表示红、绿、蓝三层;

第二步:按照纵向选块顺序依次从含水印分层载体图像hi*中选择相邻的含水印像素块a*b*,其中i=1,2,3分别表示红、绿、蓝三层;此时,设i=1,从红色层中选取的含水印像素块a*,含水印的像素块b*

第三步:根据公式(5),在空域中直接计算出含水印像素块a*b*的直流分量dfp*

(5)

其中,p=1,2分别表示含水印像素块a*b*m为含水印像素块p的行(列)的大小,fp*(x,y)为含水印像素块px行第y列的像素值;此时,含水印像素块的行(列)的大小m=2,计算得到的含水印像素块a*的直流分量df1*=897.0000,含水印像素块b*的直流分量df2*=897.0000;

第四步:根据含水印像素块a*b*的直流分量dfp*之间的大小关系,利用公式(6)从含水印像素块a*b*中提取水印位w*,其中p=1,2;

(6)

此时,df1*=df2*,则根据公式(6),得到提取的水印位w*=‘0’;

第五步:重复执行本过程的第二步到第四步,得到提取的二进制水印序列swi*,然后,依次将swi*中每8位二进制信息划分为一组并转换成十进制的像素值,最终形成提取的分层水印图像,其中i=1,2,3分别表示红、绿、蓝三层;

第六步:对提取的分层水印图像进行基于密钥kai的逆arnold变换,获得提取的分层水印图像wi*,其中i=1,2,3分别表示红、绿、蓝三层;

第七步:组合提取的分层水印图像wi*形成最终的提取水印图像w*,其中i=1,2,3分别表示红、绿、蓝三层。

该方法不但具有较好的水印不可见性,而且具有较强的水印鲁棒性和较高的算法实时性,适用于彩色数字图像作为水印的版权保护。

本发明有效性验证

为了证明本发明的有效性,选择如图1(a)、图1(b)所示的两幅大小为512×512的24位标准彩色图像作为载体图像,并分别用如图2(a)、图2(b)所示的两幅大小为32×32的24位彩色图像作为数字水印进行验证。

图3(a)、图3(b)是将图2(a)所示的水印依次嵌入到载体图像图1(a)、图1(b)后所得到的含水印图像,其结构相似度ssim值依次是0.9759、0.9728,其峰值信噪比psnr值依次是41.5249db、42.2817db;图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压缩(4:1)、jpeg压缩(70)、椒盐噪声(0.2%)、中值滤波(3×3)、缩放(4:1)等攻击后所提取的水印,其归一化互相关系数nc值分别是0.9718、0.9467、0.9943、0.8981、0.9837。

图6(a)、图6(b)是将图2(b)所示的水印依次嵌入到载体图像图1(a)、图1(b)后所得到的含水印图像,其结构相似度ssim值依次是0.9761、0.9712,其峰值信噪比psnr值依次是41.4400db、41.8342db;图7(a)、图7(b)是依次从图6(a)、图6(b)中提取的水印,其归一化互相关系数nc值分别是1.0000、1.0000;图8(a)、图8(b)、图8(c)、图8(d)、图8(e)是将图6(a)所示的含水印图像依次进行jpeg2000压缩(4:1)、jpeg压缩(70)、椒盐噪声(0.2%)、中值滤波(3×3)、缩放(4:1)等攻击后所提取的水印,其归一化互相关系数nc值分别是0.9725、0.9465、0.9903、0.8782、0.9879。

该算法在平台1.60ghzcpu,8.00gbram,win10,matlab(r2017a)上进行过近万次运行,其数字水印的平均嵌入时间是0.444945秒,平均提取时间是0.199158秒,总计时间为0.644103秒。

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


技术特征:

1.一种融合离散傅里叶变换的空域彩色数字图像盲水印方法,包含具体的水印嵌入和水印提取两个过程,其水印嵌入过程描述如下:

第一步:对一幅大小为m×m的彩色载体图像h作降维处理,得到红、绿、蓝三个分层载体图像hi,并将各分层载体图像hi分为m×m的非重叠像素块,其中i=1,2,3分别表示红、绿、蓝三层;

第二步:对一幅大小为n×n的彩色水印图像w作降维处理,得到红、绿、蓝三个分层水印图像,同时,为了提高水印的安全性,对每个分层水印图像进行基于密钥kai的arnold变换得到置乱后的三个分层水印图像wi;将分层水印图像wi中的每个十进制像素值转换为8位二进制数,依次连接成长度为8n2的水印位序列swi,其中i=1,2,3分别表示红、绿、蓝三层;

第三步:按照纵向选块顺序依次从分层载体图像hi中选择相邻像素块ab,其中i=1,2,3分别表示红、绿、蓝三层;

第四步:根据公式(1),在空域中直接计算出像素块ab的直流分量dfp

(1)

其中,p=1,2分别表示像素块abm为像素块p的行(列)的大小,fp(x,y)为像素块px行第y列的像素值;

第五步:按照先后顺序依次从分层水印序列swi中选取待嵌入水印位w;根据相邻像素块直流分量间的相似性及rgb色彩空间中的通道相关性,选用不同量化步长ti,利用公式(2)、(3),嵌入水印信息w得到像素块p修改后的直流分量dfp*p=1,2分别表示像素块ab

(2)

(3)

其中,w为待嵌入水印位,avg=(df1 df2)/2,ti为第i层的量化步长,i=1,2,3分别表示红、绿、蓝三层;

第六步:依据公式(4),计算像素块p修改后的像素值fp*(x,y),并用其替换原像素块p中相应位置的像素值fp(x,y),得到含水印的像素块a*b*,其中p=1,2;

(4)

第七步:将含水印像素块a*b*分别更新到其在分层载体图像hi中的相应位置,其中i=1,2,3分别表示红、绿、蓝三层;

第八步:重复执行本过程的第三步到第七步,直到所有的水印信息都被嵌入完成为止,由此得到含水印的分层载体图像hi*,其中i=1,2,3分别表示红、绿、蓝三层;

第九步:组合三层含水印的分层载体图像hi*得到含水印的彩色载体图像h*,其中i=1,2,3分别表示红、绿、蓝三层;

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

第一步:通过降维处理将含水印载体图像h*分成红、绿、蓝三个含水印的分层载体图像hi*;同时,将每个含水印的分层载体图像hi*分成大小为m×m的非重叠像素块,其中i=1,2,3分别表示红、绿、蓝三层;

第二步:按照纵向选块顺序依次从含水印分层载体图像hi*中选择相邻的含水印像素块a*b*,其中i=1,2,3分别表示红、绿、蓝三层;

第三步:根据公式(5),在空域中直接计算出含水印像素块a*b*的直流分量dfp*

(5)

其中,p=1,2分别表示含水印像素块a*b*m为含水印像素块p的行(列)的大小,fp*(x,y)为含水印像素块px行第y列的像素值;

第四步:根据含水印像素块a*b*的直流分量dfp*之间的大小关系,利用公式(6)从含水印像素块a*b*中提取水印位w*,其中p=1,2;

(6)

第五步:重复执行本过程的第二步到第四步,得到提取的二进制水印序列swi*,然后,依次将swi*中每8位二进制信息划分为一组并转换成十进制的像素值,最终形成提取的分层水印图像,其中i=1,2,3分别表示红、绿、蓝三层;

第六步:对提取的分层水印图像进行基于密钥kai的逆arnold变换,获得提取的分层水印图像wi*,其中i=1,2,3分别表示红、绿、蓝三层;

第七步:组合提取的分层水印图像wi*形成最终的提取水印图像w*,其中i=1,2,3分别表示红、绿、蓝三层。

技术总结
本发明结合空域数字水印算法运行速度快和频域数字水印算法鲁棒性高的优点,公开了一种融合离散傅里叶变换的空域彩色数字图像盲水印方法。本发明根据离散傅里叶变换直流分量的独有特性,利用相邻像素块直流分量间的相关性原理,并在不同通道采用不同的量化步长,在空域中完成数字水印的嵌入与盲提取,无需进行真正的离散傅里叶变换。该发明将彩色数字水印图像嵌入到彩色载体图像中,在具有较好水印不可见性的前提下,同时具有较强的水印鲁棒性和较高的算法实时性,解决了大容量彩色图像数字水印算法运行速度慢、鲁棒性弱的难题,适用于快速、高效进行数字媒体版权保护的场合。

技术研发人员:苏庆堂;张雪婷;袁子涵;刘得成
受保护的技术使用者:鲁东大学
技术研发日:2020.01.16
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-49687.html

最新回复(0)