发明内容
本发明目的在于克服现有技术缺陷,提供一种基于多级小波系数加权和量化的数字水印嵌入及提取方法,通过掩体图像MD5值,用户密钥生成初始值和参数驱动混沌映射生成2值伪随机矩阵来加密2值水印,并将混沌映射产生的中间参数应用到水印嵌入环节的系数选择中,再利用选取的多级小波系数加权、量化嵌入水印,提高水印和水印嵌入的安全性。
为实现上述目的,本发明采用以下技术方案:
基于多级小波系数加权和量化的数字水印嵌入方法,包括以下步骤:
第1步:记掩体图像A=(Pi,j)m×n对应的128位MD5值为Amd5,从Amd5的左边最高位开始依次将其转换为32个16进制数构成16进制序列,记为Sa=<a0,…ak,…,a31>,ak∈{0,1,…,15};
第2步:由用户给定xinit∈(0,1)和μinit∈[3.57,4]作为式(1)中的初始值x和参数μ并驱动式(1)产生长度为32的伪随机序列Sb=<b0,…bk,…,b31>,bk∈(0,1),在迭代产生Sb时,为消除暂态效应,将迭代前num≥0次结果抛弃,从num+1起产生Sb,num由用户给定;
x=μx(1-x) (1)
第3步:利用Sa和Sb计算用于对水印和嵌入位置进行保护的初始值x0和参数μ0;
第4步:记2值水印图为D=(di,j)mm×nn,将x0和μ0代入式(1)产生长度为mm×nn的伪随机序列Sc=<c0,…,ck,…,cmm×nn-1>,ck∈(0,1),同样为消除暂态效应,将迭代前num≥0次结果抛弃;
第5步:将伪随机序列Sc转化为2值矩阵E=(ei,j)mm×nn,对D=(di,j)mm×nn按式(7)得到异或加密后的水印图D′=(d′i,j)mm×nn;
第6步:对掩体图像A=(Pi,j)m×n进行l级小波金字塔变换形成3l+1个子带,包括1个低频子带LLl和3l个高频子带HLk,LHk,HHk,k=1,2,…,l,l的取值由用户给定且满足HLl和LHl频带所有系数的总个数≥mm×nn;
第7步:利用x0和μ0产生水印嵌入环节的中间参数xk,μk,k=1,2,…l;
第8步:对第k级小波变换的HLk和LHk,k=1,2,…,l频带所有系数,按行优先顺序扫描完HLk再扫描LHk,构成长度为lenk的小波系数序列,记为
第9步:对第k级小波变换,将xk和μk代入式(1)产生长度为lenk的伪随机序列,记为 同样为消除暂态效应,将迭代前num≥0次结果抛弃;
第10步:对k=1,2,…,l按大小进行排序,记元素下标索引对应的置换为 将其用于对置换,选取置换后的前mm×nn个小波系数,记为 表示选出的第k级小波系数的第ii个;
第11步:利用JPEG压缩估算筛选出的每级小波系数k=1,2,…,l对应的权重wk,k=1,2,…,l;
第12步:按式(14)计算小波系数加权均值weightii,ii=0,1,…,mm×nn-1;
第13步:通过修改小波系数加权均值weightii,ii=0,1,…,mm×nn-1,嵌入水印;
第14步:将l级小波金字塔变换和嵌入水印后对应的矩阵记为A′=(P′i,j)m×n,对A′=(P′i,j)m×n其进行l级小波逆金字塔变换重构含水印图像A″=(P″i,j)m×n。
作为进一步的优选方案,所述第3步中通过式(2)和式(3)计算用于水印和嵌入位置进行保护的初始值x0和参数μ0,mod1表示取小数运算;
式(2),式(3)中,ak∈Sa,bk∈Sb,α∈(1,15),β∈(0,15)由式(4)和式(5)产生,式(2)和式(3)的运算性质保证了x0∈(0,1),μ0∈(3.9,4],即式(1)处于混沌状态;
作为进一步的优选方案,所述第5步中按式(6)将Sc转化为2值矩阵E=(ei,j)mm×nn,对D=(di,j)mm×nn进行异或加密得到加密后的水印图D′=(d′i,j)mm×nn;
作为进一步的优选方案,所述第6步对A=(Pi,j)m×n进行l级Haar小波金字塔变换形成3l+1个子带;
Haar小波变换公式如式(8)所示:
式(8)中,f0,f1,f2,f3是变换前矩阵2×2小块上下左右相邻的4个元素,f′0,f′1,f′2,f′3为变换后的系数,将变换后的所有系数按所处的频带放置在一起,即构成对原矩阵元素的一级金字塔分解,其中f′0,f′1,f′2,f′3分别对应为LL,HL,LH,HH子带;
所述第14步中将l级小波金字塔变换和嵌入水印后对应的矩阵记为A′=(P′i,j)m×n,对A′=(P′i,j)m×n其进行l级小波逆金字塔变换重构含水印图像A″=(P″i,j)m×n,其中l级Haar小波逆金字塔变换对应的2D Haar小波逆变换如式(17)所示:
作为进一步的优选方案,所述第7步中将x0和μ0代入式(1)产生长度为2l的伪随机序列Sg=<g0,…,gi,…,g2l-1>,gi∈(0,1),同样为消除暂态效应,将迭代前num≥0次结果抛弃,并按式(9),式(10)产生水印嵌入环节的中间参数xk∈(0,1),μk∈(3.9,4],k=1,2,…l;
xk=gk-1 (9)
μk=4-(gk+l-1×108)mod1×0.1 (10)。
作为进一步的优选方案,所述第11步中对A=(Pi,j)m×n进行l级Haar小波金字塔变换,记为对A=(Pi,j)m×n进行质量因子Q=80的JPEG压缩之后再进行l级Haar小波金字塔变换,记为按式(11)求出第k级小波变换的HLk和LHk频带中每个系数的绝对变化量按式(12)求出第k级小波变换的HLk和LHk频带所有系数的绝对变化量的算术平均数按式(13)计算wk,wk按四舍五入法保留小数点后两位;
式(12)中,表示落入HLk和LHk子带系数的变化量,lenk为HLk和LHk子带所有系数的数量,式(13)中,表示第1级小波变换的HL1和LH1频带所有系数的绝对变化量的算术平均数。
作为进一步的优选方案,所述第13步中通过对小波系数加权均值weightii,ii=0,1,…,mm×nn-1按式(15)进行修改,按式(16)计算变化量Δii,嵌入水印,q为量化步长:
i=ii/mm,j=iimodmm
基于多级小波系数加权和量化的数字水印提取方法,包括以下步骤:
第1步:输入掩体图像对应的128位MD5值Amd5,从左边最高位开始依次将其转换为32个16进制数构成16进制序列,记为Sa=<a0,…ak,…,a31>,ak∈{0,1,…,15};
第2步:输入xinit∈(0,1)和μinit∈[3.57,4]作为式(1)的初始值x和参数μ并驱动式(1)产生长度为32的伪随机序列Sb=<b0,…bk,…,b31>,bk∈(0,1),在迭代产生Sb时,为消除暂态效应,将迭代前num≥0次结果抛弃,从num+1起产生Sb,num由用户输入;
x=μx(1-x) (1)
第3步:利用Sa和Sb计算用于对水印和嵌入位置进行保护的初始值x0和参数μ0;
第4步:利用x0和μ0产生水印嵌入环节的中间参数xk,μk,k=1,2,…l;
第5步:假设待提取水印的图像为A″=(P″i,j)m×n,对其进行l级小波金字塔变换形成3l+1个子带,将变换后的所有系数按所处的频带放置在一起,即构成对原矩阵元素的一级金字塔分解,l的取值由用户给定;
第6步:对第k级小波变换的HLk和LHk,k=1,2,…,l频带所有系数,按行优先顺序扫描完HLk再扫描LHk,构成长度为lenk的小波系数序列
第7步:对第k级小波变换,将xk和μk代入式(1)产生长度为lenk的伪随机序列 同样为消除暂态效应,将迭代前num≥0次结果抛弃;
第8步:对k=1,2,…,l其按大小进行排序,记元素下标索引对应的置换为 将其用于对置换,选取置换后的前mm×nn个小波系数,记为
第9步:将wk和按式(14)计算小波系数加权均值weightii,ii=0,1,…,mm×nn-1;
第10步:提取出加密的水印图D′=(d′i,j)mm×nn;
第11步:将x0和μ0代入式(1)产生长度为mm×nn的伪随机序列Sc=<c0,…,ck,…,cmm×nn-1>,ck∈(0,1),同样为消除暂态效应,将迭代前num≥0次结果抛弃;
第12步:将Sc转化为2值矩阵E=(ei,j)mm×nn,对加密的水印图D′=(d′i,j)mm×nn根据式(19)求得解密后的水印图D=(di,j)mm×nn;
第13步:滤除水印图D=(di,j)mm×nn的孤立黑点。
作为进一步的优选方案,所述第10步中按式(18)提取出加密的水印图D′=(d′i,j)mm×nn;
作为进一步的优选方案,所述第13步中按式(20)滤除水印图D=(di,j)mm×nn的孤立黑点;
式(20)中,ψi,j={(i-1,j-1),(i-1,j),(i-1,j+1),(i,j-1),(i,j+1),(i+1,j-1),(i+1,j),(i+1,j+1)}。
本发明同现有技术相比优点如下:
①本发明给出的是一种嵌入和提取策略可公开的水印构造方法,在该方法中,将掩体图像的MD5值和用户给定的密钥产生水印加密环节和嵌入环节的初始值和参数,从而将水印加密环节和嵌入环节与掩体图像和用户给定的密钥紧密耦合。同传统水印不同,即使嵌入和提取算法完全公开,采用不同的密钥,不同的掩体图像,都将导致嵌入的水印经历不同的水印加密和嵌入环节,从而使得攻击者试图通过选择特殊的掩体图像猜测出水印的加密参数和找到水印对应的嵌入位置进而对水印进行篡改和修改的策略彻底失效。
②本发明给出的是一种基于小波加权均值的水印嵌入和提取方法,同现有方法嵌入不同,采用了多级小波系数加权的嵌入策略,权重根据对JPEG压缩的小波系数绝对变化量的算术平均数进行设置,从而不同级的小波系数权重各不相同,减少了单个小波系数对水印的影响,提高了图像的视觉质量和安全性。在水印提取时,通过滤除孤立黑点来提高水印的提取质量,从而有效地减小水印的恢复误差。
③本发明给出的是一种真正意义的敏感性水印构造方法,对用户提供的密钥和掩体图像特征极度敏感,并且这种敏感性是理论上可以证实和保证的。而使用参数化整数小波对于参数值改变的敏感性难以满足实际需求,经实验检验,当参数化小波的参数发生改变时,依然能够近似提取嵌入的水印,因此嵌入的水印的安全性依然难以保证。
④本发明给出的尽管是一种敏感性水印构造方法,但依然具备传统鲁棒水印的特征,对JPEG压缩、剪裁、噪声、覆盖、涂鸦具有一定的鲁棒性,因此相对于传统鲁棒水印方法,具备更高的安全性和更好的实际应用价值。
具体实施方式
以下结合具体实施例对本发明进行说明:
以JAVA jdk1.7.0_09作为案例实施环境,结合附图对本发明实施方式进行详细说明,但不局限于本实施案例,其中图1是水印嵌入方法流程图,图2是水印提取方法流程图。
嵌入过程:
第1步:选取图像A如图3所示,为512×512的8位标准灰度图像truck.bmp,记掩体图像A=(Pi,j)512×512对应的128位MD5值为Amd5=00011000101110001011000000110110110010010111000010010001101101001110100010100000100110110101000001100110111000001000010111111000,从Amd5的左边最高位开始依次将其转换为32个16进制数构成16进制序列,记为Sa=<1,8,11,8,11,0,3,6,12,9,7,0,9,1,11,4,14,8,10,0,9,11,5,0,6,6,14,0,8,5,15,8>;
第2步:由用户给定xinit∈(0,1)和μinit∈[3.57,4]作为式(1)的初始值x和参数μ并驱动式(1)产生长度为32的伪随机序列Sb=<b0,…bk,…,b31>,bk∈(0,1),在迭代产生Sb时,为消除暂态效应,将迭代前num≥0次结果抛弃,从num+1起产生Sb,num由用户给定;
例如:xinit=0.5836541938742647,μinit=3.9159734698471825,num=2000,产生长度为32的伪随机序列Sb=<b0,…bk,…,b31>,bk∈(0,1),b0=0.4454088439071509,b1=0.9673230055557697,b2=0.1237808218039777,b3=0.4247230754763154,b4=0.9568030520257117,b5=0.1618509885035459,b6=0.5312223444754627,b7=0.9751759402688756,b8=0.09479720355471674,b9=0.3360324001656252,b10=0.8737109569519057,b11=0.4320889851411571,b12=0.9609332661586223,b13=0.1470076966090752,b14=0.4910491077657985,b15=0.9786796256518280,b16=0.08170998182720710,b17=0.2938290414402912,b18=0.8125391815399567,b19=0.5964781811158950,b20=0.9425433319920187,b21=0.2120711069445983,b22=0.6543472330541910,b23=0.8857028638270253,b24=0.3964269203373903,b25=0.9369852208954993,b26=0.2312144114271247,b27=0.6960811518336486,b28=0.8284327317914145,b29=0.5565849089522140,b30=0.9664550002842699,b31=0.1269548131911206;
第3步:按式(4),式(5)计算α,β,再按式(2),式(3)计算x0和μ0,mod1表示取小数运算;
例如: b0log(15+α+β)(a0+α)=0.4454088439071509×log29.742483697661651(1+8.747832146115547),b1log(15+α+β)(a1+α)=0.9673230055557697×log29.742483697661651(8+8.747832146115547),…,b31log(15+α+β)(a31+α)=0.1269548131911206×log29.742483697661651(8+8.747832146115547),按式(2),式(3)计算可得到:
第4步:选取图像D如图5所示,为64×64分辨率的8位2值图像,将x0和μ0代入式(1)产生长度为64×64的伪随机序列Sc=<c0,…,ck,…,c4095>,ck∈(0,1),将迭代前num=2000次结果抛弃,其中,c0=0.4104962598890171,c1=0.9606588873239365,…,c4095=0.3082923173578490;
第5步:按式(6)将Sc转化为2值矩阵E=(ei,j)64×64,对D=(di,j)64×64按式(7)得到加密后的水印图D′=(d′i,j)mm×nn;
例如:d0,0=1,d0,1=1,…,d63,63=1,e0,0=0,e0,1=1,…,e63,63=0,
第6步:若l=3,对A=(Pi,j)m×n进行3级Haar小波金字塔变换形成10个子带,形成1个低频子带LL3和9个高频子带HLl,LHl和HHl,l=1,2,3;
若A左上角的四个系数为 按式(8)进行1级Haar小波变换为 同理对所有系数块按式(8)进行运算,将变换后的所有系数按所处的频带放置在一起,即构成对原矩阵元素的1级金字塔分解,得到LL1,HL1,LH1,HH1四个频带的系数,再对左上角LL1频带系数进行小波变换,得到LL2,HL2,LH2,HH2四个频带的系数,然后,对变换后的左上角LL2频带系数进行小波变换,得到LL3,HL3,LH3,HH3四个频带的系数,完成3级Haar小波金字塔变换;
第7步:将x0和μ0代入式(1)产生长度为2l的伪随机序列Sg=<g0,…,gi,…,g2l-1>,gi∈(0,1),同样为消除暂态效应,将迭代前num≥0次结果抛弃,并按式(9),式(10)产生水印嵌入环节的中间参数xk∈(0,1),μk∈(3.9,4],k=1,2,…l;
例如:产生长度为2l的伪随机序列Sg=<g0,…,gi,…,g2l-1>,gi∈(0,1),g0=0.4104962598890171,g1=0.9606588873239365,…,g4095=0.03030914664336248,x1=g0=0.4104962598890171,μ1=4-(g3×108)mod1×0.1=3.909866713,x2=g1=0.9606588873239365,μ2=4-(g4×108)mod1×0.1=3.941740829,x3=g2=0.1500338587908365,μ3=4-(g5×108)mod1×0.1=3.9335663752;
第8步:对第1级小波变换的HL1和LH1频带所有系数,若 按行优先顺序扫描完HL1再扫描LH1,构成长度为len1=131072的小波系数序列 同理可得到
第9步:对第1级小波变换,将x1和μ1代入式(1)产生长度为len1的伪随机序列将迭代前num次结果抛弃,其中, 同理可产生
第10步:对按大小进行排序,元素下标索引对应的置换为<0,1,…,131071>→<62130,118422,…,18452>,<0,1,…,32767>→<10957,29217,…,23957>,<0,1,…,8191>→<6377,2429,…,1747>,将其用于对置换,选取置换后的前64×64个小波系数,将其记为 其中,
第11步:对A=(Pi,j)512×512进行3级Haar小波金字塔变换,记为对A=(Pi,j)512×512进行质量因子Q=80的JPEG压缩之后再进行3级Haar小波金字塔变换,记为按式(11)计算得 类似求出第k级小波变换的HLk和LHk频带中每个系数的绝对变化量对第k级小波变换的HLk和LHk频带所有系数的绝对变化量求其算术平均数若算术平均数 按式(13)计算wk,其中 wk按四舍五入法保留小数点后两位;
第12步:按式(14)计算小波系数加权均值weightii,ii=0,1,…,4095,其中,w1,w2,w3为各级小波系数的权重;
例如:
第13步:通过对小波系数加权均值weightii,ii=0,1,…,mm×nn-1按式(15)进行修改,按式(16)计算变化量Δii,通过修改小波系数嵌入水印;
例如:若按式(15)进行计算按式(16)计算变化量Δ0=weight′0-weight0=45.0-52.96=-7.96,修改小波系数
第14步:将3级Haar小波金字塔变换和按式(16)嵌入水印后对应的矩阵记为A′=(P′i,j)512×512,对A′=(P′i,j)512×512其进行3级Haar小波逆金字塔变换可重构含水印图像A″=(P″i,j)512×512;
若A′的LL3,HL3,LH3,HH3频带左上角的系数分别为640.125,2.375,30.7753164556962,-18.625,将其构成矩阵 按式(12)进行1级Haar小波逆金字塔变换为 将其作为LL2频带左上角的四个系数,类似的运算可以得到所有LL2频带的所有系数,对LL2,HL2,LH2,HH2频带系数重复上述步骤可得到LL1频带的所有系数,再对LL1,HL1,LH1,HH1频带系数重复上述步骤可得到进行3级Haar小波逆金字塔变换的含水印图像A″=(P″i,j)512×512,如图4所示。
基于多级小波系数加权和量化的数字水印提取方法,包括以下步骤:
第1步:输入掩体图像A=(Pi,j)m×n对应的128位MD5值为Amd5=00011000101110001011000000110110110010010111000010010001101101001110100010100000100110110101000001100110111000001000010111111000,从Amd5的左边最高位开始依次将其转换为32个16进制数构成16进制序列,记为Sa=<1,8,11,8,11,0,3,6,12,9,7,0,9,1,11,4,14,8,10,0,9,11,5,0,6,6,14,0,8,5,15,8>;
第2步:输入xinit∈(0,1)和μinit∈[3.57,4]作为式(1)的初始值和参数并驱动式(1)产生长度为32的伪随机序列Sb=<b0,…bk,…,b31>,bk∈(0,1),在迭代产生Sb时,为消除暂态效应,将迭代前num≥0次结果抛弃,从num+1起产生Sb,num由用户输入;
例如:xinit=0.5836541938742647,μinit=3.9159734698471825,num=2000,产生长度为32的伪随机序列Sb=<b0,…bk,…,b31>,bk∈(0,1),b0=0.4454088439071509,b1=0.9673230055557697,b2=0.1237808218039777,b3=0.4247230754763154,b4=0.9568030520257117,b5=0.1618509885035459,b6=0.5312223444754627,b7=0.9751759402688756,b8=0.09479720355471674,b9=0.3360324001656252,b10=0.8737109569519057,b11=0.4320889851411571,b12=0.9609332661586223,b13=0.1470076966090752,b14=0.4910491077657985,b15=0.9786796256518280,b16=0.08170998182720710,b17=0.2938290414402912,b18=0.8125391815399567,b19=0.5964781811158950,b20=0.9425433319920187,b21=0.2120711069445983,b22=0.6543472330541910,b23=0.8857028638270253,b24=0.3964269203373903,b25=0.9369852208954993,b26=0.2312144114271247,b27=0.6960811518336486,b28=0.8284327317914145,b29=0.5565849089522140,b30=0.9664550002842699,b31=0.1269548131911206;
第3步:按式(4),式(5)计算α,β,再按式(2),式(3)计算x0和μ0,mod1表示取小数运算;
例如: b0log(15+α+β)(a0+α)=0.4454088439071509×log29.742483697661651(1+8.747832146115547),b1log(15+α+β)(a1+α)=0.9673230055557697×log29.742483697661651(8+8.747832146115547),…,b31log(15+α+β)(a31+α)=0.1269548131911206×log29.742483697661651(8+8.747832146115547),按式(2),式(3)计算得到:
第4步:将x0和μ0代入式(1)产生长度为2l的伪随机序列Sg=<g0,…,gi,…,g2l-1>,gi∈(0,1),同样为消除暂态效应,将迭代前num≥0次结果抛弃,并按式(9),式(10)产生水印嵌入环节的中间参数xk∈(0,1),μk∈(3.9,4],k=1,2,…l;
例如:产生长度为2l的伪随机序列Sg=<g0,…,gi,…,g2l-1>,gi∈(0,1),g0=0.4104962598890171,g1=0.9606588873239365,…,g4095=0.03030914664336248,x1=g0=0.4104962598890171,μ1=4-(g3×108)mod1×0.1=3.909866713,x2=g1=0.9606588873239365,μ2=4-(g4×108)mod1×0.1=3.941740829,x3=g2=0.1500338587908365,μ3=4-(g5×108)mod1×0.1=3.9335663752;
第5步:假设待提取水印的图像A″=(P″i,j)512×512如图4所示,对其进行3级Haar小波金字塔变换形成10个子带,形成1个低频子带LL3和9个高频子带HLl,LHl和HHl,l=1,2,3;
若A″左上角的四个系数为 按式(8)进行1级Haar小波变换为 同理对所有系数块按式(8)进行运算,将变换后的所有系数按所处的频带放置在一起,即构成对原矩阵元素的1级金字塔分解,得到LL1,HL1,LH1,HH1四个频带的系数,再对左上角LL1频带系数进行小波变换,得到LL2,HL2,LH2,HH2四个频带的系数,然后,对变换后的左上角LL2频带系数进行小波变换,得到LL3,HL3,LH3,HH3四个频带的系数,完成3级Haar小波金字塔变换;
第5步:对第1级小波变换的HL1和LH1频带所有系数,若 按行优先顺序扫描完HL1再扫描LH1,构成长度为len1=131072的小波系数序列 同理可得到
第6步:对第1级小波变换,将x1和μ1代入式(1)产生长度为len1的伪随机序列将迭代前num次结果抛弃,其中, 同理可产生
第7步:对按大小进行排序,元素下标索引对应的置换为<0,1,…,131071>→<62130,118422,…,18452>,<0,1,…,32767>→<10957,29217,…,23957>,<0,1,…,8191>→<6377,2429,…,1747>,将其用于对置换,选取置换后的前64×64个小波系数,将其记为 其中,
第8步:将wk和按式(14)计算小波系数加权均值weightii,ii=0,1,…,4095;
例如:w1=1.00,w2=1.50,w3=2.16,按式(14)计算,
第9步:按式(18)提取出加密的水印图D′=(d′i,j)64×64;
例如:
第10步:将x0和μ0代入式(1)产生长度为64×64的伪随机序列Sc=<c0,…,ck,…,c4095>,ck∈(0,1),将迭代前num次结果抛弃,其中,c0=0.4104962598890171,c1=0.9606588873239365,…,c4095=0.3082923173578490;
第11步:按式(6)将Sc转化为2值矩阵E=(ei,j)64×64,对加密的水印图D′=(d′i,j)64×64,根据式(19)求得解密后的水印图D=(di,j)64×64;
例如:d′0,0=1,e0,0=0,
第12步:按式(20)滤除水印图D=(di,j)64×64的孤立黑点,如图6所示。
例如:d0,0=1,按式(20),则
为验证所提出的方法对掩体图像MD5值,用户密钥的敏感性,图7~14分别为修改其中之一相对应的提取的水印;从提取的水印可以看出本发明方法,对用户提供的密钥和掩体图像特征极度敏感。
为验证所提出的方法对一些图像攻击操作的鲁棒性,图15~19分别为经过JPEG压缩、剪裁、噪声、覆盖、涂鸦的含水印图,图21~25分别为相对应的提取的水印;从提取的水印可以看出本发明方法,依然具备传统鲁棒水印的特征,因此相对于传统鲁棒水印方法,具备更高的安全性和更好的实际应用价值。
为验证所提出的方法当用户试图完全篡改水印时,嵌入水印后图像视觉质量严重下降。图20为用户试图完全剔除嵌入的水印,即将图4各级Haar小波分解HL子带和LH子带系数均置为0得到的图像;从得到的图像可以看出本发明方法,若用户试图完全篡改水印,只能得到严重降质图像。