CN113222803B - 基于纯四元数Schur分解的彩色数字图像盲水印方法 - Google Patents

基于纯四元数Schur分解的彩色数字图像盲水印方法 Download PDF

Info

Publication number
CN113222803B
CN113222803B CN202110596550.4A CN202110596550A CN113222803B CN 113222803 B CN113222803 B CN 113222803B CN 202110596550 A CN202110596550 A CN 202110596550A CN 113222803 B CN113222803 B CN 113222803B
Authority
CN
China
Prior art keywords
watermark
image
quaternion
green
blue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110596550.4A
Other languages
English (en)
Other versions
CN113222803A (zh
Inventor
苏庆堂
孙叶函
王环英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ludong University
Original Assignee
Ludong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ludong University filed Critical Ludong University
Priority to CN202110596550.4A priority Critical patent/CN113222803B/zh
Publication of CN113222803A publication Critical patent/CN113222803A/zh
Application granted granted Critical
Publication of CN113222803B publication Critical patent/CN113222803B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0083Image watermarking whereby only watermarked image required at decoder, e.g. source-based, blind, oblivious

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本发明利用频域数字水印算法鲁棒性强的优点,公开了一种基于纯四元数Schur分解的彩色数字图像盲水印方法。本发明根据四元数表示的图像在Schur分解后所得酉矩阵系数的相关性,通过修改酉矩阵中具有较高相关性的两个系数来完成彩色数字水印的嵌入与盲提取。本发明将彩色数字水印图像嵌入到彩色宿主图像中,不但具有较强的鲁棒性,而且具有较好的水印隐蔽性和较高的安全性,解决了大容量彩色图像数字水印算法鲁棒性差和安全性低的难题,适用于强鲁棒性、高安全性的大容量数字媒体版权保护的场合。

Description

基于纯四元数Schur分解的彩色数字图像盲水印方法
技术领域
本发明属于信息安全技术领域,涉及强鲁棒性和高安全性的大容量彩色数字图像的快速版权保护。
背景技术
随着网络技术的快速发展,越来越多的数字作品在网络上公开,如彩色数字图像,一旦上传网络,其传播范围将很难确定;又因网上数字作品数量众多、种类繁杂且传播迅速,一旦发现数字作品具有抄袭嫌疑,其责任难以追究。因此,数字作品的版权保护问题吸引了国内外学者的广泛关注。然而,现有的应用于数字版权保护的数字水印算法具有一定的局限性:一方面,随着黑客对计算机技术的深入研究,其攻击算法的能力日益增强,较小密钥空间的算法容易被破解,因此难以满足高安全性的应用需求,数字水印算法的安全性有待进一步提高;另一方面,目前版权保护的标识更趋向于美观且信息量高的彩色图像数字水印,而不再局限于容量较小的伪随机序列、二值图像或灰度图像。因此,如何充分利用频域数字水印算法鲁棒性强的优点设计一种高安全性、强鲁棒性的彩色图像数字水印算法成为目前亟待解决的问题之一。
发明内容
本发明的目的是提供一种基于纯四元数Schur分解的彩色数字图像盲水印方法,其特征在于通过具体的水印嵌入过程和提取过程来实现的,其水印嵌入过程描述如下:
第一步:彩色数字水印图像的预处理:首先,将一幅大小为N×N的彩色数字水印图像W依照红、绿、蓝三基色的顺序分成3个分层水印图像W i ;然后,将每个分层水印图像进行基于密钥Ka i Kb i 的二维Logistic混沌映射;最后,将置乱后的分层水印图像中的每个十进制数表示的像素用8位二进制数表示,并依次连接形成长度为8N 2 的分层水印位序列SW i ,其中i=1, 2, 3分别表示红、绿、蓝三层;
第二步:获取宿主图像的嵌入块:将一幅大小为M×M的原始彩色宿主图像H分成大小为m×m的非重叠图像块,每一个图像块纵向包含红、绿、蓝三层;根据分层水印信息的长度8N 2 ,利用Matlab系统内置函数randperm生成的伪随机序列从宿主图像H中选择合适的图像块A,其中3×8N 2<=(M×M)/(m×m)
第三步:添加抖动噪声:对选取的图像块A的每个像素值,添加在-0.5和0.5之间的随机数值;然后,再对每个像素值进行判断,如果其值为负数,则将其修改为对应的相反数;
第四步:纯四元数Schur分解:将纵向包含红、绿、蓝三层的图像块A转换为四元数实表示矩阵A R ,再根据公式(1)对A R 的第一列块
Figure 33849DEST_PATH_IMAGE001
进行纯四元数Schur分解,得到四元数实表示酉矩阵的第一列块U和四元数实表示上三角矩阵的第一列块V
[U,V]=QSchur(
Figure 390881DEST_PATH_IMAGE001
) (1)
其中,
Figure 444419DEST_PATH_IMAGE002
A1=zeros(m,m),zeros(m,m)是产生一个m×m的零矩阵函数,m是图像块的尺寸大小,A2为图像块A红色通道的像素值,A3为图像块A绿色通道的像素值,A4为图像块A蓝色通道的像素值;
第五步:嵌入水印信息:按先后顺序从三个分层水印序列SW i 中各取出一个待嵌入水印信息w i ,依据该嵌入水印信息w i 及公式(2),对四元数实表示酉矩阵的第一列块U相应位置的值进行更改得到U *
Figure 783607DEST_PATH_IMAGE003
(2)
其中,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是量化步长;
第六步:逆纯四元数Schur分解:利用公式(3)进行逆纯四元数Schur分解,得到含水印的四元数实表示矩阵的第一列块
Figure 931692DEST_PATH_IMAGE004
Figure 815334DEST_PATH_IMAGE004
=U * ×V×(U * ) T (3)
第七步:利用水印信息w i 和公式(4)对
Figure 836511DEST_PATH_IMAGE004
的值进行修改,得到最终的含水印的四元数实表示矩阵第一列块
Figure 805604DEST_PATH_IMAGE005
Figure 491800DEST_PATH_IMAGE006
(4)
其中,
Figure 338271DEST_PATH_IMAGE007
(x,1)是
Figure 451721DEST_PATH_IMAGE004
在第x行第1列的值,
Figure 986738DEST_PATH_IMAGE005
(x,1)是
Figure 742205DEST_PATH_IMAGE005
在第x行第1列的值,x∈{p,q},p=i×m+2,q=i×m+3,i=1, 2, 3分别表示红、绿、蓝三层,m是图像块的尺寸大小,floor(.)是向下取整函数,ceil(.)是向上取整函数;
第八步:将含水印的四元数实表示矩阵第一列块
Figure 649374DEST_PATH_IMAGE005
转换为含水印的图像块A * 并将其更新到载体图像H中的相应位置;
第九步:重复执行本过程的第二步到第八步,直到所有的水印信息都被嵌入完成为止,最后,获得含水印图像H *
其水印提取过程描述如下:
第一步:将含水印图像H * 分成m×m的非重叠图像块,每一个图像块纵向包含红、绿、蓝三层;
第二步:利用上述水印嵌入过程中所提到的Matlab系统内置函数randperm生成的伪随机序列选择出含水印的图像块A *
第三步:将纵向包含红、绿、蓝三层的含水印图像块A * 转换为含水印的四元数实表示矩阵A R** ,根据公式(5),对含水印的四元数实表示矩阵A R** 的第一列块
Figure 464883DEST_PATH_IMAGE005
进行纯四元数Schur分解,得到四元数实表示酉矩阵的第一列块U * 和四元数实表示上三角矩阵的第一列块V *
[U * ,V * ]=QSchur(
Figure 424880DEST_PATH_IMAGE005
) (5)
其中,
Figure 452879DEST_PATH_IMAGE008
A1=zeros(m,m),zeros(m,m)是产生一个m×m的零矩阵函数,m是图像块的尺寸大小,A2**为含水印图像块A * 红色通道的像素值,A3**为含水印图像块A * 绿色通道的像素值,A4**为含水印图像块A * 蓝色通道的像素值;
第四步:利用公式(6),提取含水印的四元数实表示矩阵的第一列块
Figure 962358DEST_PATH_IMAGE005
中所含有的水印w i *
Figure 683189DEST_PATH_IMAGE009
(6)
其中,U * (x,1)是U * 在第x行第1列的值,x∈{p,q},p=i×m+2,q=i×m+3,i=1, 2, 3分别表示红、绿、蓝三层,m是图像块的尺寸大小,abs(.)是绝对值函数;
第五步:重复执行第三步到第四步,直到提取出所有的二进制水印位为止,然后得到提取的分层二进制水印序列SW i * ,再把每8位二进制信息作为一组转换成十进制的像素值,其中i=1, 2, 3分别表示红、绿、蓝三层;
第六步:对转化后的每层十进制像素值执行基于密钥Ka i Kb i 的逆二维Logistic混沌映射,获得分层水印图像W i * ,其中i=1, 2, 3分别表示红、绿、蓝三层;
第七步:组合获得的分层水印图像W i * 形成最终的提取水印图像W * ,其中i=1, 2, 3分别表示红、绿、蓝三层。
该方法利用纯四元数Schur分解后的酉矩阵U中系数的相关性,通过修改相关性较高的两个系数完成了数字彩色水印图像的嵌入与盲提取;该方法既具有较强的水印算法鲁棒性,又具有较好的水印不可见性和较高的安全性。
附图说明
图1(a)、图1(b)是两幅原始彩色宿主图像。
图2是一幅原始彩色水印图像。
图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。
具体实施方式
本发明的目的是提供一种基于纯四元数Schur分解的彩色数字图像盲水印方法,其特征在于通过具体的水印嵌入过程和提取过程来实现的,其水印嵌入过程描述如下:
第一步:彩色数字水印图像的预处理:首先,将一幅大小为32×32的彩色数字水印图像W依照红、绿、蓝三基色的顺序分成3个分层水印图像W i ;然后,将每个分层水印图像进行基于密钥Ka i Kb i 的二维Logistic混沌映射;最后,将置乱后的分层水印图像中的每个十进制数表示的像素用8位二进制数表示(例如:可将204转换成二进制数11001100),并依次连接形成长度为8×322=8192的分层水印位序列SW i ,其中i=1, 2, 3分别表示红、绿、蓝三层;
第二步:获取宿主图像的嵌入块:将一幅大小为512×512的原始彩色宿主图像H分成大小为4×4的非重叠图像块,每一个图像块纵向包含红、绿、蓝三层;根据分层水印信息的长度8×322=8192,利用Matlab系统内置函数randperm生成的伪随机序列从宿主图像H中选择合适的图像块A,其中8192<=(512×512)/(4×4);
第三步:添加抖动噪声:对选取的图像块A的每个像素值,添加在-0.5和0.5之间的随机数值;然后,再对每个像素值进行判断,如果其值为负数,则将其改为对应的相反数;此处,设选取的图像块A的红色通道的像素值为
Figure 97859DEST_PATH_IMAGE010
,绿色通道的像素值为
Figure 663970DEST_PATH_IMAGE011
,蓝色通道的像素值为
Figure 496796DEST_PATH_IMAGE012
,对A的每个像素值,添加在-0.5和0.5之间的随机数值得到A的红色通道的像素值为
Figure 185267DEST_PATH_IMAGE013
,绿色通道的像素值为
Figure 588697DEST_PATH_IMAGE014
,蓝色通道的像素值为
Figure 600909DEST_PATH_IMAGE015
,可知添加抖动噪声后的A中每个像素值均为正数,所以无需对其符号再进行调整;
第四步:纯四元数Schur分解:将纵向包含红、绿、蓝三层的图像块A转换为四元数实表示矩阵A R ,再根据公式(1)对A R 的第一列块
Figure 757084DEST_PATH_IMAGE016
进行纯四元数Schur分解,得到四元数实表示酉矩阵的第一列块U和四元数实表示上三角矩阵的第一列块V
[U,V]=QSchur(
Figure 554139DEST_PATH_IMAGE017
) (1)
其中,
Figure 694133DEST_PATH_IMAGE018
A1=zeros(m,m),zeros(m,m)是产生一个m×m的零矩阵函数,m是图像块的尺寸大小,A2为图像块A红色通道的像素值,A3为图像块A绿色通道的像素值,A4为图像块A蓝色通道的像素值;此时m=4,
Figure 946254DEST_PATH_IMAGE019
A2、A3、A4分别为第三步中得到的图像块A的红色通道、绿色通道、蓝色通道的像素值;根据公式(1)对A R 的第一列块
Figure 956935DEST_PATH_IMAGE020
进行纯四元数Schur分解得到四元数实表示酉矩阵的第一列块
Figure 456050DEST_PATH_IMAGE021
和四元数实表示上三角矩阵的第一列块
Figure 394924DEST_PATH_IMAGE022
,其中矩阵U1,U2,U3,U4分别为
Figure 106529DEST_PATH_IMAGE023
Figure 768454DEST_PATH_IMAGE024
Figure 438470DEST_PATH_IMAGE025
Figure 100526DEST_PATH_IMAGE026
;矩阵V1,V2,V3,V4分别为
Figure 881401DEST_PATH_IMAGE027
Figure 132253DEST_PATH_IMAGE028
Figure 22105DEST_PATH_IMAGE029
Figure 92830DEST_PATH_IMAGE030
第五步:嵌入水印信息:按先后顺序从三个分层水印序列SW i 中各取出一个待嵌入水印信息w i ,依据该嵌入水印信息w i 及公式(2),对四元数实表示酉矩阵的第一列块U相应位置的值进行更改得到U *
Figure 677395DEST_PATH_IMAGE031
(2)
其中,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,设w 1 w 2 w 3 都为‘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;
第六步:逆纯四元数Schur分解:利用公式(3)进行逆纯四元数Schur分解,得到含水印的四元数实表示矩阵的第一列块
Figure 782754DEST_PATH_IMAGE032
Figure 545305DEST_PATH_IMAGE032
=U * ×V×(U * ) T (3)
此处得到
Figure 837746DEST_PATH_IMAGE033
,其中矩阵A1*A2*A3*A4*分别为
Figure 22739DEST_PATH_IMAGE034
Figure 248184DEST_PATH_IMAGE035
Figure 414592DEST_PATH_IMAGE036
Figure 459909DEST_PATH_IMAGE037
第七步:利用水印信息w i 和公式(4)对
Figure 386276DEST_PATH_IMAGE038
的值进行修改,得到最终的含水印的四元数实表示矩阵的第一列块
Figure 262966DEST_PATH_IMAGE039
Figure 351007DEST_PATH_IMAGE040
(4)
其中,
Figure 634352DEST_PATH_IMAGE041
(x,1)是
Figure 364411DEST_PATH_IMAGE041
在第x行第1列的值,
Figure 95607DEST_PATH_IMAGE042
(x,1)是
Figure 354550DEST_PATH_IMAGE042
在第x行第1列的值,x∈{p,q},p=i×m+2,q=i×m+3,i=1, 2, 3分别表示红、绿、蓝三层,m是图像块的尺寸大小,floor(.)是向下取整函数,ceil(.)是向上取整函数;此时,m=4,设w 1 w 2 w 3 都为‘0’,当i=1时,p=6,q=7,
Figure 880516DEST_PATH_IMAGE043
(6,1)=93.8553,
Figure 883107DEST_PATH_IMAGE044
(6,1)=93,
Figure 937651DEST_PATH_IMAGE043
(7,1)=100.5360,
Figure 446123DEST_PATH_IMAGE044
(7,1)=101;当i=2时,p=10,q=11,
Figure 953328DEST_PATH_IMAGE043
(10,1)=72.4493,
Figure 759610DEST_PATH_IMAGE045
(10,1)=72,
Figure 403081DEST_PATH_IMAGE046
(11,1)=79.1189,
Figure 643307DEST_PATH_IMAGE044
(11,1)=80;当i=3时,p=14,q=15,
Figure 450857DEST_PATH_IMAGE046
(14,1)=29.3429,
Figure 529672DEST_PATH_IMAGE044
(14,1)=29,
Figure 558808DEST_PATH_IMAGE046
(15,1)=36.0033,
Figure 330455DEST_PATH_IMAGE044
(15,1)=37;
第八步:将含水印的四元数实表示矩阵的第一列块
Figure 546672DEST_PATH_IMAGE047
转换为含水印的图像块A * 并将其更新到载体图像H中的相应位置;此时,把
Figure 9271DEST_PATH_IMAGE048
A2**A3**A4**分别转换为含水印的图像块A * 的红色通道、绿色通道、蓝色通道的像素值;
第九步:重复执行本过程的第二步到第八步,直到所有的水印信息都被嵌入完成为止,最后,获得含水印图像H *
其水印提取过程描述如下:
第一步:将含水印图像H * 分成m×m的非重叠图像块,每一个图像块纵向包含红、绿、蓝三层;
第二步:利用上述水印嵌入过程中所提到的Matlab系统内置函数randperm生成的伪随机序列选择出含水印的图像块A * ;此处,设选取的含水印图像块A * 的红色通道的像素值为
Figure 892914DEST_PATH_IMAGE049
,绿色通道的像素值为
Figure 101041DEST_PATH_IMAGE050
,蓝色通道的像素值为
Figure 538976DEST_PATH_IMAGE051
第三步:将纵向包含红、绿、蓝三层的含水印图像块A * 转换为含水印的四元数实表示矩阵A R** ,根据公式(5),对含水印的四元数实表示矩阵A R** 的第一列块
Figure 241483DEST_PATH_IMAGE052
进行纯四元数Schur分解,得到四元数实表示酉矩阵的第一列块U * 和四元数实表示上三角矩阵的第一列块V *
[U * ,V * ]=QSchur(
Figure 41949DEST_PATH_IMAGE053
) (5)
其中,
Figure 420978DEST_PATH_IMAGE054
A1=zeros(m,m),zeros(m,m)是产生一个m×m的零矩阵函数,m是图像块的尺寸大小,A2**为含水印图像块A * 红色通道的像素值,A3**为含水印图像块A * 绿色通道的像素值,A4**为含水印图像块A * 蓝色通道的像素值;此时m=4,
Figure 392214DEST_PATH_IMAGE055
A2 ** A3 ** A4 ** 分别为第二步中得到的含水印图像块A * 的红色通道、绿色通道、蓝色通道的像素值;根据公式(5)对A R** 的第一列块
Figure 944418DEST_PATH_IMAGE056
进行纯四元数Schur分解得到四元数实表示酉矩阵的第一列块
Figure 271494DEST_PATH_IMAGE057
和四元数实表示上三角矩阵的第一列块
Figure 572157DEST_PATH_IMAGE058
,其中矩阵U1*U2*U3*U4*分别为
Figure 843738DEST_PATH_IMAGE059
Figure 389513DEST_PATH_IMAGE060
Figure 836675DEST_PATH_IMAGE061
Figure 291927DEST_PATH_IMAGE062
;矩阵V1*V2*V3*V4*分别为
Figure 519646DEST_PATH_IMAGE063
Figure 367648DEST_PATH_IMAGE064
Figure 669316DEST_PATH_IMAGE065
Figure 826628DEST_PATH_IMAGE066
第四步:利用公式(6),提取含水印的四元数实表示矩阵的第一列块
Figure 790911DEST_PATH_IMAGE053
中所含有的水印w i *
Figure 895133DEST_PATH_IMAGE067
(6)
其中,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)提取所含有的水印w 1 =‘0’;当i=2时,p=10,q=11,利用公式(6)提取所含有的水印w 2 =‘0’; 当i=3时,p=14,q=15,利用公式(6)提取所含有的水印w 3 =‘0’;
第五步:重复执行第二步到第四步,直到提取出所有的二进制水印位为止,然后得到提取的分层二进制水印序列SW i * ,再把每8位二进制信息作为一组转换成十进制的像素值,其中i=1, 2, 3分别表示红、绿、蓝三层;
第六步:对转化后的每层十进制像素值执行基于密钥Ka i Kb i 的逆二维Logistic混沌映射,获得分层水印图像W i * ,其中i=1, 2, 3分别表示红、绿、蓝三层;
第七步:组合获得的分层水印图像W i * 形成最终的提取水印图像W * ,其中i=1, 2, 3分别表示红、绿、蓝三层。
该方法既具有较好的水印不可见性,又具有较强的水印算法鲁棒性和较高的安全性,适用于大容量的彩色图像作为数字水印的版权保护。
本发明有效性验证
为了证明本发明的有效性,选择如图1(a)、图1(b)所示的两幅大小为512×512的24位标准图像作为宿主图像,并分别用如图2所示的一幅大小为32×32的24位彩色图像作为数字水印进行验证。
图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。
综上所述,所嵌入的彩色数字水印图像具有较好的视觉效果,满足了水印算法的不可见性要求;同时,从各种受攻击图像中所提取的彩色数字水印图像具有较好的可鉴别性和较高的NC值,说明该方法具有较强的鲁棒性;另外,实际嵌入彩色数字图像中的二进制信息为3×213位,具有较大的水印容量,满足了大容量的彩色图像数字水印版权保护的需要。

Claims (1)

1.本发明的目的是提供一种基于纯四元数Schur分解的彩色数字图像盲水印方法,其特征在于通过具体的水印嵌入过程和提取过程来实现的,其水印嵌入过程描述如下:
第一步:彩色数字水印图像的预处理:首先,将一幅大小为N×N的彩色数字水印图像W依照红、绿、蓝三基色的顺序分成3个分层水印图像W i ;然后,将每个分层水印图像进行基于密钥Ka i Kb i 的二维Logistic混沌映射;最后,将置乱后的分层水印图像中的每个十进制数表示的像素用8位二进制数表示,并依次连接形成长度为8N 2 的分层水印位序列SW i ,其中i=1, 2, 3分别表示红、绿、蓝三层;
第二步:获取宿主图像的嵌入块:将一幅大小为M×M的原始彩色宿主图像H分成大小为m×m的非重叠图像块,每一个图像块纵向包含红、绿、蓝三层;根据分层水印信息的长度8N 2 ,利用Matlab系统内置函数randperm生成的伪随机序列从宿主图像H中选择合适的图像块A,其中3×8N 2<=(M×M)/(m×m)
第三步:添加抖动噪声:对选取的图像块A的每个像素值,添加在-0.5和0.5之间的随机数值;然后,再对每个像素值进行判断,如果其值为负数,则将其修改为对应的相反数;
第四步:纯四元数Schur分解:将纵向包含红、绿、蓝三层的图像块A转换为四元数实表示矩阵A R ,再根据公式(1)对A R 的第一列块
Figure 845791DEST_PATH_IMAGE001
进行纯四元数Schur分解,得到四元数实表示酉矩阵的第一列块U和四元数实表示上三角矩阵的第一列块V
[U,V]=QSchur(
Figure 294090DEST_PATH_IMAGE001
) (1)
其中,
Figure 339406DEST_PATH_IMAGE002
A1=zeros(m,m),zeros(m,m)是产生一个m×m的零矩阵函数,m是图像块的尺寸大小,A2为图像块A红色通道的像素值,A3为图像块A绿色通道的像素值,A4为图像块A蓝色通道的像素值;
第五步:嵌入水印信息:按先后顺序从三个分层水印序列SW i 中各取出一个待嵌入水印信息w i ,依据该嵌入水印信息w i 及公式(2),对四元数实表示酉矩阵的第一列块U相应位置的值进行更改得到U *
Figure 314709DEST_PATH_IMAGE003
(2)
其中,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是量化步长;
第六步:逆纯四元数Schur分解:利用公式(3)进行逆纯四元数Schur分解,得到含水印的四元数实表示矩阵的第一列块
Figure 660240DEST_PATH_IMAGE004
Figure 748281DEST_PATH_IMAGE004
=U * ×V×(U * ) T (3)
第七步:利用水印信息w i 和公式(4)对
Figure 297206DEST_PATH_IMAGE004
的值进行修改,得到最终的含水印的四元数实表示矩阵第一列块
Figure 824002DEST_PATH_IMAGE005
Figure 24039DEST_PATH_IMAGE006
(4)
其中,
Figure 532250DEST_PATH_IMAGE007
(x,1)是
Figure 614475DEST_PATH_IMAGE004
在第x行第1列的值,
Figure 882645DEST_PATH_IMAGE005
(x,1)是
Figure 406031DEST_PATH_IMAGE005
在第x行第1列的值,x∈{p,q},p=i×m+2,q=i×m+3,i=1, 2, 3分别表示红、绿、蓝三层,m是图像块的尺寸大小,floor(.)是向下取整函数,ceil(.)是向上取整函数;
第八步:将含水印的四元数实表示矩阵第一列块
Figure 552321DEST_PATH_IMAGE005
转换为含水印的图像块A * 并将其更新到载体图像H中的相应位置;
第九步:重复执行本过程的第二步到第八步,直到所有的水印信息都被嵌入完成为止,最后,获得含水印图像H *
其水印提取过程描述如下:
第一步:将含水印图像H * 分成m×m的非重叠图像块,每一个图像块纵向包含红、绿、蓝三层;
第二步:利用上述水印嵌入过程中所提到的Matlab系统内置函数randperm生成的伪随机序列选择出含水印的图像块A *
第三步:将纵向包含红、绿、蓝三层的含水印图像块A * 转换为含水印的四元数实表示矩阵A R** ,根据公式(5),对含水印的四元数实表示矩阵A R** 的第一列块
Figure 403733DEST_PATH_IMAGE005
进行纯四元数Schur分解,得到四元数实表示酉矩阵的第一列块U * 和四元数实表示上三角矩阵的第一列块V *
[U * ,V * ]=QSchur(
Figure 944436DEST_PATH_IMAGE005
) (5)
其中,
Figure 119065DEST_PATH_IMAGE008
A1=zeros(m,m),zeros(m,m)是产生一个m×m的零矩阵函数,m是图像块的尺寸大小,A2**为含水印图像块A * 红色通道的像素值,A3**为含水印图像块A * 绿色通道的像素值,A4**为含水印图像块A * 蓝色通道的像素值;
第四步:利用公式(6),提取含水印的四元数实表示矩阵的第一列块
Figure 34325DEST_PATH_IMAGE005
中所含有的水印w i *
Figure 294405DEST_PATH_IMAGE009
(6)
其中,U * (x,1)是U * 在第x行第1列的值,x∈{p,q},p=i×m+2,q=i×m+3,i=1, 2, 3分别表示红、绿、蓝三层,m是图像块的尺寸大小,abs(.)是绝对值函数;
第五步:重复执行第三步到第四步,直到提取出所有的二进制水印位为止,然后得到提取的分层二进制水印序列SW i * ,再把每8位二进制信息作为一组转换成十进制的像素值,其中i=1, 2, 3分别表示红、绿、蓝三层;
第六步:对转化后的每层十进制像素值执行基于密钥Ka i Kb i 的逆二维Logistic混沌映射,获得分层水印图像W i * ,其中i=1, 2, 3分别表示红、绿、蓝三层;
第七步:组合获得的分层水印图像W i * 形成最终的提取水印图像W * ,其中i=1, 2, 3分别表示红、绿、蓝三层。
CN202110596550.4A 2021-05-31 2021-05-31 基于纯四元数Schur分解的彩色数字图像盲水印方法 Active CN113222803B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110596550.4A CN113222803B (zh) 2021-05-31 2021-05-31 基于纯四元数Schur分解的彩色数字图像盲水印方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110596550.4A CN113222803B (zh) 2021-05-31 2021-05-31 基于纯四元数Schur分解的彩色数字图像盲水印方法

Publications (2)

Publication Number Publication Date
CN113222803A CN113222803A (zh) 2021-08-06
CN113222803B true CN113222803B (zh) 2022-03-29

Family

ID=77099273

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110596550.4A Active CN113222803B (zh) 2021-05-31 2021-05-31 基于纯四元数Schur分解的彩色数字图像盲水印方法

Country Status (1)

Country Link
CN (1) CN113222803B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663669A (zh) * 2012-04-20 2012-09-12 鲁东大学 一种基于Schur分解的双彩色数字图像盲水印方法
CN110349073A (zh) * 2019-07-24 2019-10-18 鲁东大学 基于Schur分解的四进制彩色数字图像盲水印方法
CN112488904A (zh) * 2021-01-18 2021-03-12 鲁东大学 基于矩阵奇异值分解的四元数彩色数字图像盲水印方法
CN112508765A (zh) * 2021-01-18 2021-03-16 鲁东大学 一种基于沃尔什-哈达玛变换的频域彩色数字图像盲水印方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10037587B2 (en) * 2016-11-23 2018-07-31 Macau University Of Science And Technology Color image watermarking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663669A (zh) * 2012-04-20 2012-09-12 鲁东大学 一种基于Schur分解的双彩色数字图像盲水印方法
CN110349073A (zh) * 2019-07-24 2019-10-18 鲁东大学 基于Schur分解的四进制彩色数字图像盲水印方法
CN112488904A (zh) * 2021-01-18 2021-03-12 鲁东大学 基于矩阵奇异值分解的四元数彩色数字图像盲水印方法
CN112508765A (zh) * 2021-01-18 2021-03-16 鲁东大学 一种基于沃尔什-哈达玛变换的频域彩色数字图像盲水印方法

Also Published As

Publication number Publication date
CN113222803A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN108648134B (zh) 一种融合离散小波变换的空域彩色数字图像盲水印方法
CN109035129B (zh) 一种基于二维离散正弦变换的彩色数字图像盲水印方法
CN107895340B (zh) 一种融合qr分解的空频域彩色数字图像盲水印方法
CN110390621B (zh) 一种基于可变步长的dct域彩色数字图像盲水印方法
CN109829845B (zh) 基于矩阵Schur分解的可变步长彩色图像盲水印方法
CN110349073B (zh) 基于Schur分解的四进制彩色数字图像盲水印方法
CN107274333B (zh) 一种融合奇异值分解的空域彩色图像盲水印方法
CN111199508B (zh) 一种融合dct和dht的空域彩色数字图像盲水印方法
CN101833745B (zh) 一种数字图像的多个二值水印嵌入及提取检测方法
CN106204410A (zh) 一种新型的基于矩阵Schur分解的数字水印方法
CN112488904B (zh) 基于矩阵奇异值分解的四元数彩色数字图像盲水印方法
CN112508765B (zh) 一种基于沃尔什-哈达玛变换的频域彩色数字图像盲水印方法
CN106991636B (zh) 一种融合近似Schur分解的空域彩色图像盲水印方法
CN109829846B (zh) 一种基于二维离散余弦变换的数字图像盲水印方法
CN116993567A (zh) 一种基于哈达玛变换和教学优化算法的频域盲水印方法
CN113222803B (zh) 基于纯四元数Schur分解的彩色数字图像盲水印方法
CN110570345A (zh) 一种融合离散余弦变换的空域彩色数字图像盲水印方法
CN111242828B (zh) 一种融合离散傅里叶变换的空域彩色数字图像盲水印方法
CN110415154B (zh) 一种基于哈尔变换的四进制彩色数字图像盲水印方法
CN113191933B (zh) 一种基于近似哈达玛变换的彩色数字图像盲水印方法
CN106169171A (zh) 基于Hessenberg分解的高性能数字水印方法
CN112488903B (zh) 一种融合多级离散傅里叶变换的空域彩色数字图像盲水印方法
CN112017098B (zh) 一种自适应彩色数字图像盲水印方法
CN113191932B (zh) 一种融合离散切比雪夫变换的空域彩色数字图像盲水印方法
CN117495647A (zh) 基于ulv分解的彩色图像数字水印方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant