[0039] 本发明的目的是提供一种基于纯四元数Schur分解的彩色数字图像盲水印方法,其特征在于通过具体的水印嵌入过程和提取过程来实现的,其水印嵌入过程描述如下:
[0040] 第一步:彩色数字水印图像的预处理:首先,将一幅大小为32×32的彩色数字水印图像W依照红、绿、蓝三基色的顺序分成3个分层水印图像Wi;然后,将每个分层水印图像进行基于密钥Kai和Kbi的二维Logistic混沌映射;最后,将置乱后的分层水印图像中的每个十进制数表示的像素用8位二进制数表示(例如:可将204转换成二进制数11001100),并依次2
连接形成长度为8×32 =8192的分层水印位序列SWi,其中i=1, 2, 3分别表示红、绿、蓝三层;
[0041] 第二步:获取宿主图像的嵌入块:将一幅大小为512×512的原始彩色宿主图像H分成大小为4×4的非重叠图像块,每一个图像块纵向包含红、绿、蓝三层;根据分层水印信息2
的长度8×32 =8192,利用Matlab系统内置函数randperm生成的伪随机序列从宿主图像H中选择合适的图像块A,其中8192<=(512×512)/(4×4);
[0042] 第三步:添加抖动噪声:对选取的图像块A的每个像素值,添加在‑0.5和0.5之间的随机数值;然后,再对每个像素值进行判断,如果其值为负数,则将其改为对应的相反数;此处,设选取的图像块A的红色通道的像素值为 ,绿色通道的像素值为 ,蓝色通道的像素值为 ,对A的每个像素值,添
加在‑0.5和0.5之间的随机数值得到A的红色通道的像素值为
,绿色通道的像素值为 ,
蓝色通道的像素值为 ,可知添加抖动噪声后的A中每个像素
值均为正数,所以无需对其符号再进行调整;
[0043] 第四步:纯四元数Schur分解:将纵向包含红、绿、蓝三层的图像块A转换为四元数R R实表示矩阵A ,再根据公式(1)对A 的第一列块 进行纯四元数Schur分解,得到四元数实表示酉矩阵的第一列块U和四元数实表示上三角矩阵的第一列块V;
[0044] [U,V]=QSchur( ) (1)
[0045] 其中, ,A1=zeros(m,m),zeros(m,m)是产生一个m×m的零矩阵函数,m是图像块的尺寸大小,A2为图像块A红色通道的像素值,A3为图像块A绿色通道的像素值,A4为图像块A蓝色通道的像素值;此时m=4, ,A2、A3、A4
分别为第三步中得到的图像块A的红色通道、绿色通道、蓝色通道的像素值;根据公式(1)对R
A 的第一列块 进行纯四元数Schur分解得到四元数实表示酉矩阵的第一列块
和四元数实表示上三角矩阵的第一列块 ,其中矩阵U1,U2,U3,U4分别
为 , ,
, ;矩阵V1,V2,V3,
V4分别为 , ,
, 。
[0046] 第五步:嵌入水印信息:按先后顺序从三个分层水印序列SWi中各取出一个待嵌入水印信息wi,依据该嵌入水印信息wi及公式(2),对四元数实表示酉矩阵的第一列块U相应位*置的值进行更改得到U ;
[0047] (2)
[0048] 其中,U(x,1)是U在第x行第1列的值,U*(x,1)是修改U后的U*在第x行第1列的值,x∈{p,q},uavg=(abs(U(p,1))+abs(U(q,1)))/2,p=i×m+2,q=i×m+3,i=1, 2, 3分别表示红、绿、蓝三层,m是图像块的尺寸大小,sign(.)是符号函数,abs(.)是绝对值函数,T是量化步长;此时,m=4,设w1、w2、w3都为‘0’,T=0.026,当i=1时,p=6,q=7,uavg=0.3804,sign(U(6,* *1))=1,sign(U(7,1))=1,U (6,1)=0.3674,U (7,1)=0.3934;当i=2时,p=10,q=11,uavg=* *
0.2966,sign(U(10,1))=1,sign(U(11,1))=1,U (10,1)=0.2836,U (11,1)=0.3096;当i=3* *
时,p=14,q=15,uavg=0.1278,sign(U(14,1))=1,sign(U(15,1))=1,U (14,1)=0.1148,U(15,1)=0.1313;
[0049] 第六步:逆纯四元数Schur分解:利用公式(3)进行逆纯四元数Schur分解,得到含水印的四元数实表示矩阵的第一列块 ;* * T
[0050] =U ×V×(U) (3)
[0051] 此 处 得 到 ,其中 矩 阵A 1 * ,A 2 * ,A 3 * ,A 4 * 分 别 为, ,
,
。
[0052] 第七步:利用水印信息wi和公式(4)对 的值进行修改,得到最终的含水印的四元数实表示矩阵的第一列块 ;
[0053] (4)
[0054] 其中, (x,1)是 在第x行第1列的值, (x,1)是 在第x行第1列的值,x∈{p,q},p=i×m+2,q=i×m+3,i=1, 2, 3分别表示红、绿、蓝三层,m是图像块的尺寸大小,floor(.)是向下取整函数,ceil(.)是向上取整函数;此时,m=4,设w1、w2、w3都为‘0’,当i=1时,p=6,q=7, (6,1)=93.8553, (6,1)=93, (7,1)=100.5360, (7,1)=101;当i=2时,p=10,q=11, (10,1)=72.4493, (10,1)=72, (11,1)=79.1189, (11,1)=80;
当i=3时,p=14,q=15, (14,1)=29.3429, (14,1)=29, (15,1)=36.0033, (15,1)
=37;
[0055] 第八步:将含水印的四元数实表示矩阵的第一列块 转换为含水印的图像块A*** ** **
并将其更新到载体图像H中的相应位置;此时,把 的A2 、A3 、A4 分别转换为
*
含水印的图像块A的红色通道、绿色通道、蓝色通道的像素值;
[0056] 第九步:重复执行本过程的第二步到第八步,直到所有的水印信息都被嵌入完成*为止,最后,获得含水印图像H ;
[0057] 其水印提取过程描述如下:
[0058] 第一步:将含水印图像H*分成m×m的非重叠图像块,每一个图像块纵向包含红、绿、蓝三层;
[0059] 第二步:利用上述水印嵌入过程中所提到的Matlab系统内置函数randperm生成的* *伪随机序列选择出含水印的图像块A ;此处,设选取的含水印图像块A 的红色通道的像素值为 ,绿色通道的像素值为 ,蓝色通道的像
素值为 ;
[0060] 第三步:将纵向包含红、绿、蓝三层的含水印图像块A*转换为含水印的四元数实表R** R**示矩阵A ,根据公式(5),对含水印的四元数实表示矩阵A 的第一列块 进行纯四元数*
Schur分解,得到四元数实表示酉矩阵的第一列块U 和四元数实表示上三角矩阵的第一列*
块V ;
[0061] [U*,V*]=QSchur( ) (5)
[0062] 其中, ,A1=zeros(m,m),zeros(m,m)是产生** *
一个m×m的零矩阵函数,m是图像块的尺寸大小,A2 为含水印图像块A 红色通道的像素值,** * ** *
A3 为含水印图像块A 绿色通道的像素值,A4 为含水印图像块A 蓝色通道的像素值;此时m** ** ** *
=4, ,A2 、A3 、A4 分别为第二步中得到的含水印图像块A 的红色通
R**
道、绿色通道、蓝色通道的像素值;根据公式(5)对A 的第一列块 进行纯四元
数Schur分解得到四元数实表示酉矩阵的第一列块 和四元数实表示上三角矩
* * * *
阵的第一列块 ,其中矩阵U1 ,U2 ,U3 ,U4分别为
, ,
* *
, ;矩阵V1 ,V2 ,
* *
V3,V4分别为 ,
, ,
。
[0063] 第四步:利用公式(6),提取含水印的四元数实表示矩阵的第一列块 中所含有*的水印wi ;
[0064] (6)
[0065] 其中,U*(x,1)是U*在第x行第1列的值,x∈{p,q},p=i×m+2,q=i×m+3,i=1, 2, 3分别表示红、绿、蓝三层,m是图像块的尺寸大小,abs(.)是绝对值函数;此时,m=4,当i=1时,p=6,q=7,利用公式(6)提取所含有的水印w1=‘0’;当i=2时,p=10,q=11,利用公式(6)提取所含有的水印w2=‘0’; 当i=3时,p=14,q=15,利用公式(6)提取所含有的水印w3=‘0’;
[0066] 第五步:重复执行第二步到第四步,直到提取出所有的二进制水印位为止,然后得*到提取的分层二进制水印序列SWi ,再把每8位二进制信息作为一组转换成十进制的像素值,其中i=1, 2, 3分别表示红、绿、蓝三层;
[0067] 第六步:对转化后的每层十进制像素值执行基于密钥Kai和Kbi的逆二维Logistic*混沌映射,获得分层水印图像Wi ,其中i=1, 2, 3分别表示红、绿、蓝三层;
[0068] 第七步:组合获得的分层水印图像Wi*形成最终的提取水印图像W*,其中i=1, 2, 3分别表示红、绿、蓝三层。
[0069] 该方法既具有较好的水印不可见性,又具有较强的水印算法鲁棒性和较高的安全性,适用于大容量的彩色图像作为数字水印的版权保护。
[0070] 本发明有效性验证
[0071] 为了证明本发明的有效性,选择如图1(a)、图1(b)所示的两幅大小为512×512的24位标准图像作为宿主图像,并分别用如图2所示的一幅大小为32×32的24位彩色图像作为数字水印进行验证。
[0072] 图3(a)、图3(b)是将图2所示的水印依次嵌入到宿主图像图1(a)、图1(b)后所得到的含水印图像,其结构相似度SSIM值依次是0.9246、0.9246,其峰值信噪比PSNR值依次是37.8831dB、36.8503dB;图4(a)、图4(b)是依次从图3(a)、图3(b)中提取的水印,其归一化互相关系数NC值分别是1.0000、1.0000;图5(a)、图5(b)、图5(c)、图5(d)、图5(e)、图5(f)是将图3(a)所示的含水印图像依次进行JPEG 90、JPEG 2000压缩(5:1)、椒盐噪声(5%)、剪切(30%)、缩放(200%)、高斯低通滤波(3×3)等攻击后所提取的水印,其归一化互相关系数NC值分别是0.96911、0.98880、0.95839、0.86381、0.98606、0.98615;图6(a)、图6(b)、图6(c)、图6(d)、图6(e)、图6(f)是将图3(b)所示的含水印图像依次进行JPEG 90、JPEG 2000压缩(5:1)、椒盐噪声(5%)、剪切(30%)、缩放(200%)、高斯低通滤波(3×3)等攻击后所提取的水印,其归一化互相关系数NC值分别是0.97065、0.99922、0.95741、0.86428、0.98401、
0.98437。
[0073] 综上所述,所嵌入的彩色数字水印图像具有较好的视觉效果,满足了水印算法的不可见性要求;同时,从各种受攻击图像中所提取的彩色数字水印图像具有较好的可鉴别性和较高的NC值,说明该方法具有较强的鲁棒性;另外,实际嵌入彩色数字图像中的二进制13
信息为3×2 位,具有较大的水印容量,满足了大容量的彩色图像数字水印版权保护的需要。