[0034] 以下结合附图实施例对本发明作进一步详细描述。
[0035] 本发明提出的一种对抗色调映射的高动态范围图像水印方法,其包括水印嵌入和水印提取两部分。所述的水印嵌入部分的流程框图如图1所示,其具体步骤为:
[0036] ①_1、将待嵌入的原始二值水印序列记为W;将待嵌入水印的RGBE、OpenEXR或LogLuv格式的原始高动态范围图像记为Iorg,Iorg的高度为Rorg,Iorg的宽度为Corg;并人为设定Iorg嵌入水印后得到的高动态范围图像相对于Iorg的图像质量值,记为Q;其中,Q∈[70,
100],在本实施例中将Q值设为90,W的长度可随Q值进行调节,Q值越大则W的长度越小。
[0037] ①_2、高动态范围图像有三种公知格式,分别为RGBE、OpenEXR或LogLuv(TIFF)格式,三种格式的高动态范围图像均为RGB空间图像。将Iorg从RGB空间转化到HSV空间,得到Iorg的H层图像、S层图像和V层图像,对应记为Iorg-H、Iorg-S和Iorg-V,选取Iorg-V作为嵌入水印的宿主图像;然后判断Rorg和Corg是否能够被4整除,如果Rorg和Corg均能够被4整除,则对Iorg-V不进行像素点填充,并将Iorg-V重新记为Iorg-V-new,Iorg-V-new的高度为Rnew,Iorg-V-new的宽度为Cnew,Rnew=Rorg,Cnew=Corg;如果Rorg能够被4整除,而Corg不能够被4整除,则在Iorg-V的最右侧填充4-mod(Corg,4)列像素点,且令填充的所有像素点的像素值为0,并将填充后得到的图像记为Iorg-V-new,Iorg-V-new的高度为Rnew,Iorg-V-new的宽度为Cnew,Rnew=Rorg,Cnew=4-mod(Corg,4)+Corg;
如果Rorg不能够被4整除,而Corg能够被4整除,则在Iorg-V的最下侧填充4-mod(Rorg,4)行像素点,且令填充的所有像素点的像素值为0,并将填充后得到的图像记为Iorg-V-new,Iorg-V-new的高度为Rnew,Iorg-V-new的宽度为Cnew,Rnew=4-mod(Rorg,4)+Rorg,Cnew=Corg;如果Rorg和Corg均不能够被4整除,则在Iorg-V的最右侧填充4-mod(Corg,4)列像素点,在Iorg-V的最下侧填充4-mod(Rorg,4)行像素点,且令填充的所有像素点的像素值为0,并将填充后得到的图像记为
Iorg-V-new,Iorg-V-new的高度为Rnew,Iorg-V-new的宽度为Cnew,Rnew=4-mod(Rorg,4)+Rorg,Cnew=4-mod(Corg,4)+Corg;其中,Rnew=Rorg和Cnew=Corg中的“=”为赋值符号,mod()为取余函数。
[0038] ①_3、对Iorg-V-new进行一级冗余小波变换(Redundant Discrete Wavelet Transform,RDWT),得到Iorg-V-new的低频近似分量、水平方向高频分量、垂直方向高频分量和对角线方向高频分量,对应记为LLorg-V-new、HLorg-V-new、LHorg-V-new和HHorg-V-new;然后将LLorg-V-new划分成 个互不重叠的尺寸大小为4×4的分块,将LLorg-V-new中坐标位置
为(x,y)的分块记为BLL,org(x,y);其中,
[0039] ①_4、对Iorg-V-new中的每个像素点的像素值进行对数归一化处理,得到对数归一化处理后的图像,记为I'org-V-new;然后将I'org-V-new划分成 个互不重叠的尺寸大小为4×4的分块,将I'org-V-new中坐标位置为(x,y)的分块记为Borg-V-new(x,y);再对I'org-V-new进行下采样处理,得到下采样处理后的图像,记为Valueorg-V-new,Valueorg-V-new的高度为Valueorg-V-new的宽度为 将Valueorg-V-new中坐标位置为(x,y)的像素点的像素值记为
Valueorg-V-new(x,y),Valueorg-V-new(x,y)的值等于Borg-V-new(x,y)中的所有像素点的像素值中的最小值。
[0040] ①_5、对Valueorg-V-new进行二值化处理,得到Iorg-V-new的感知掩膜,记为Markorg-V-new,将Markorg-V-new中坐标位置为(x,y)的像素点的像素值记为Markorg-V-new(x,y),然后根据Markorg-V-new中的每个像素点
的像素值,判定LLorg-V-new中对应坐标位置的分块是否嵌入水印,对于BLL,org(x,y),如果Markorg-V-new(x,y)=0,则判定BLL,org(x,y)不需嵌入水印;如果Markorg-V-new(x,y)=1,则判定BLL,org(x,y)需嵌入水印;其中,β表示掩膜亮度阈值,β∈[0,1],β的初始值为1。
[0041] ①_6、对LLorg-V-new中判定为需嵌入水印的每个分块进行奇异值分解(Singular Value Decomposition,SVD)变换,得到LLorg-V-new中判定为需嵌入水印的每个分块的维数为4×4的U矩阵分量、维数为4×4的S矩阵分量、维数为4×4的V矩阵分量。
[0042] 然后在LLorg-V-new中判定为需嵌入水印的每个分块的U矩阵分量中的第2行第1列元素和第4行第1列元素中嵌入水印,假设BLL,org(x,y)判定为需嵌入水印,则在BLL,org(x,y)的U矩阵分量中的第2行第1列元素U21和第4行第1列元素U41中嵌入水印,如果从W中读取的当前待嵌入的二值水印为1,则当U21-U41<0且|U21-U41|>T时,对U21和U41不进行修改,至此完成BLL,org(x ,y)的水印嵌入;当|U21-U41|印嵌入。
[0043] 如果从W中读取的当前待嵌入的二值水印为0,则当U21-U41>0且|U21-U41|>T时,对U21和U41不进行修改,至此完成BLL,org(x,y)的水印嵌入;当|U21-U41|
[0044] 其中,符号“| |”为取绝对值符号,T表示水印嵌入阈值,T的值越大表示嵌入强度越高,在本实施例中取T=0.08,sign( )为取符号函数,和
中的“=”为赋值符号。
[0045] ①_7、对嵌有水印的每个分块进行奇异值分解(SVD)逆变换,重建低频近似分量,将重建得到的低频近似分量记为LL*org-V-new;然后将LL*org-V-new、HLorg-V-new、LHorg-V-new和HHorg-V-new合成完整的嵌有水印的图像;接着对嵌有水印的图像进行一级冗余小波变换(RDWT)的逆变换,得到逆变换后的嵌有水印的图像,记为I*org-V-new;之后丢弃I*org-V-new的最右侧的4-mod(Corg,4)列像素点和最下侧的4-mod(Rorg,4)行像素点,得到嵌有水印的V层图像,记为I*org-V;再将Iorg-H、Iorg-S和I*org-V合成完整的嵌有水印的HSV空间图像,记为I*HSV;最后将I*HSV从HSV空间转化到RGB空间,得到嵌有水印的RGB空间图像,记为I*org。
[0046] ①_8、利用现有的HDR-VDP-2方法(参考文献为:M.Narwaria,R.K.Mantiuk,M.P.D.Silva,P.L.Callet."HDR-VDP-2.2:A Calibrated Method for Objective Quality Prediction of High Dynamic Range and Standard Images".In Journal of
Electronic Imaging,24(1),2015.(Narwaria、Mantiuk等人,HDR-VDP-2.2:一种高动态范围图像和标准图像的客观质量预测基准方法,电子成像期刊,24(1),2015)),计算I*org相对* * *
于Iorg的图像质量值,记为Q ;然后判断Q >Q或|Q -Q|<6是否成立,如果成立,则将
Markorg-V-new确定为水印秘钥K,将I*org确定为最终的嵌有水印的高动态范围图像,水印嵌入过程结束;否则,令β=β-Δstep,然后返回步骤①_5继续执行;其中,β=β-Δstep中的“=”为赋值符号,Δstep表示调整步长,在本实施例中取Δstep=0.01。
[0047] 所述的水印提取部分的流程框图如图2所示,其具体步骤为:
[0048] ②_1、读取嵌有水印的高动态范围图像受常规攻击后得到的高动态范围图像或受色调映射后得到的低动态范围图像,记为Istego,Istego的高度为Rorg,Istego的宽度为Corg。
[0049] ②_2、将Istego从RGB空间转化到HSV空间,得到Istego的H层图像、S层图像和V层图像,对应记为Istego-H、Istego-S和Istego-V,选取Istego-V作为提取水印的图像;然后判断Rorg和Corg是否能够被4整除,如果Rorg和Corg均能够被4整除,则对Istego-V不进行像素点填充,并将Istego-V重新记为Istego-V-new,Istego-V-new的高度为Rnew,Istego-V-new的宽度为Cnew,Rnew=Rorg,Cnew=Corg;如果Rorg能够被4整除,而Corg不能够被4整除,则在Istego-V的最右侧填充4-mod(Corg,4)列像素点,且令填充的所有像素点的像素值为0,并将填充后得到的图像记为Istego-V-new,Istego-V-new的高度为Rnew,Istego-V-new的宽度为Cnew,Rnew=Rorg,Cnew=4-mod(Corg,4)+Corg;如果Rorg不能够被4整除,而Corg能够被4整除,则在Istego-V的最下侧填充4-mod(Rorg,4)行像素点,且令填充的所有像素点的像素值为0,并将填充后得到的图像记为Istego-V-new,Istego-V-new的高度为Rnew,Istego-V-new的宽度为Cnew,Rnew=4-mod(Rorg,4)+Rorg,Cnew=Corg;如果Rorg和Corg均不能够被4整除,则在Istego-V的最右侧填充4-mod(Corg,4)列像素点,在Istego-V的最下侧填充4-mod(Rorg,4)行像素点,且令填充的所有像素点的像素值为0,并将填充后得到的图像记为Istego-V-new,Istego-V-new的高度为Rnew,Istego-V-new的宽度为Cnew,Rnew=4-mod(Rorg,4)+Rorg,Cnew=
4-mod(Corg,4)+Corg。
[0050] ②_3、对Istego-V-new进行一级冗余小波变换(RDWT),得到Istego-V-new的低频近似分量、水平方向高频分量、垂直方向高频分量和对角线方向高频分量,对应记为LLstego-V-new、HLstego-V-new、LHstego-V-new和HHstego-V-new;然后将LLstego-V-new划分成 个互不重叠的尺寸大小为4×4的分块,将LLstego-V-new中坐标位置为(x,y)的分块记为BLL,stego(x,y);其中,[0051] ②_4、读取水印秘钥K;然后根据水印秘钥K中的每个像素点的像素值,判定LLstego-V-new中对应坐标位置的分块是否提取水印,对于BLL,stego(x,y),如果Markorg-V-new(x,y)=0,则判定BLL,stego(x,y)不需提取水印;如果Markorg-V-new(x,y)=1,则判定BLL,stego(x,y)需提取水印。
[0052] ②_5、对LLstego-V-new中判定为需提取水印的每个分块进行奇异值分解(SVD)变换,得到LLstego-V-new中判定为需提取水印的每个分块的维数为4×4的U矩阵分量、维数为4×4的S矩阵分量、维数为4×4的V矩阵分量;然后在LLstego-V-new中判定为需提取水印的每个分块的U矩阵分量中的第2行第1列元素和第4行第1列元素中提取水印,假设BLL,stego(x,y)判定为需提取水印,则在BLL,stego(x,y)的U矩阵分量中的第2行第1列元素U*21和第4行第1列元素U*41中* * * *提取水印,如果U21>U41,则提取出的二值水印为0;如果U 21≤U41,则提取出的二值水印为
1;再根据提取出的所有二值水印,得到提取出的二值水印序列,记为W*。
[0053] 为进一步说明本发明方法的可行性和有效性,对本发明方法进行测试。
[0054] 在本实施例中,选取公开的高动态范围图像库和现有的色调映射算子进行测试,其来源分别为:
[0055] 1)高动态范围图像库来源:
[0056] ①Greg Ward的网站:http://www.anyhere.com/gward/hdrenc/pages/originals.html,共计33幅高动态范围图像,动态范围的数量级为2.0~8.9,尺寸范围为
512×346~6144×6144。
[0057] ②Image Gallery的网站:http://resources.mpi-inf.mpg.de/hdr/gallery.html,共计7幅高动态范围图像,动态范围的数量级为3.0~8.6,尺寸范围为760×
1016~3270×1396。
[0058] 2)色调映射算子来源:HDR Toolbox for Matlab,版本为1.1.0,共计27个色调映射算子。
[0059] 在本实施例中选用测试数据库中的15幅高动态范围图像,包含Greg Ward的网站中的11幅高动态范围图像,Image Gallery的网站中的4幅高动态范围图像,具体信息如表1所列;并选用HDR Toolbox中的26个色调映射算子(其中Banterle色调映射算子要求高动态范围图像的数值范围为0.015~3000cd/m2,不具有通用性,因此本发明不再讨论),具体信息如表2所列。
[0060] 表1高动态范围图像的具体信息
[0061]
[0062] 表2色调映射算子的具体信息
[0063]序号 名称 日期 序号 名称 日期
1 Ashikhmin 2002 14 Logarithmic
2 BruceExpoBlend 2013 15 Mertens 2007
3 Chiu 1993 16 Normalize
4 Drago 2003 17 Pattanaik 2000
5 Durand 2002 18 RamanTMO 2009
6 Exponential 19 ReinhardDevlin 2005
7 Fattal 2002 20 Reinhard 2002
8 Ferwerda 1996 21 Schlick 1995
9 Gamma 22 TumblinRushmeier 1993
10 KimKautzConsistent 2008 23 VanHateren 2006
11 Krawczyk 2005 24 WardGlobal 1994
12 Kuang 2007 25 WardHistAdj 1997
13 Lischinski 2006 26 Yee 2003
[0064] 对上述15幅高动态范围图像,按本发明方法的水印嵌入过程嵌入二值水印信息,并按本发明方法的水印提取过程提取出二值水印信息;然后采用信噪比(SNR)、结构相似度(SSIM)和HDR-VDP-2方法来评价嵌有水印的高动态范围图像相对于原始高动态范围图像的图像质量值,即对水印不可见性的评价;同时,采用误码率(BER)来衡量提取的二值水印信息和原始二值水印信息的相似度,即对水印鲁棒性的评价。在嵌有水印的高动态范围图像相对于原始高动态范围图像的图像质量值达到人工设定的图像质量值时,水印信息的嵌入容量(bit)越大,误码率(BER)越小,则数字水印性能越好;反之,则越差。表3列出了人工设定的图像质量值为90时,获取嵌有水印的高动态范围图像的相关测试数据;表4列出了嵌有水印的高动态范围图像受色调映射攻击后得到的低动态范围图像中提取的二值水印信息的误码率。从表3和表4所列的数据,可知人工设定的图像质量值为90时,本发明方法的平均嵌入容量为65035bit,嵌有水印的高动态范围图像受色调映射攻击后平均误码率为
12.12%,表现出了优异的嵌入容量和色调映射算子鲁棒性。
[0065] 表3人工设定的图像质量值为90时,获取嵌有水印的高动态范围图像的相关测试数据
[0066]
[0067] 表4嵌有水印的高动态范围图像受色调映射攻击后得到的低动态范围图像中提取的二值水印信息的平均误码率
[0068]
[0069] F.Guerrini,M.Okuda,N.Adami,R.Leonardi,"High dynamic range image watermarking robust against tone-mapping operators".IEEE Trans.Inf.Forensics Secur.6(2),pp.283-295,2011.(Guerrini、Okuda等人,对抗色调映射的鲁棒性高动态范围图像水印,IEEE信息取证和安全汇刊6(2),283-295,2011)、E.Maiorana,V.Solachidis,P.Campisi,Y.Lou,"Robust multi-bit watermarking for HDR images in the Radon-
DCT domain".In:Proc.Int.Symposium on Image and Signal Processing and
Analysis,Trieste,Italy,pp.284-289,2013.(Maiorana、Solachidis等人,Radon-DCT域的鲁棒性多位高动态范围图像水印,图像信号处理和分析专题国际会议,意大利的里雅斯特,
284-289,2013)、J.L.Wu,"Robust watermarking framework for high dynamic range
images against tone-mapping attacks".Watermarking 2,229-242,2012.(吴,对抗色调映射攻击的鲁棒性高动态范围图像水印结构,水印2,229-242,2012)是现有的对抗色调映射算子的顶尖算法,在此对现有的三种对抗色调映射算子的顶尖算法和本发明方法分别在色调映射算子鲁棒性、平均误码率、嵌入容量以及不可感知性进行对比。为了公平起见,本发明方法分别选取上述第一种和第二种对抗色调映射算子的顶尖算法中的测试图像和色
调映射算子(TMO)进行实验,对比数据如表5、表6、表7所列。鉴于第三种对抗色调映射算子的顶尖算法需要预先确定色调映射算子,缺乏实用性,故不进行重点对比。
[0070] 从表5和表6所列的数据可以看出,本发明方法在设定Q=90的情况下,嵌入容量在第一种和第二种对抗色调映射算子的顶尖算法的20倍以上;同时,在受色调映射(TM)攻击前后进行水印提取,本发明方法的误码率也明显优于第一种和第二种对抗色调映射算子的顶尖算法。通过表7的综合对比可知,本发明方法在对抗色调映射算子的鲁棒性上优于上述三种对抗色调映射算子的顶尖算法,表现出了优异的性能和普遍的实用性。
[0071] 表5本发明方法和第一种对抗色调映射算子的顶尖算法在嵌入容量(bit)和受色调映射攻击前后水印提取的误码率(%)对比
[0072]
[0073] 表6本发明方法和第二种对抗色调映射算子的顶尖算法在嵌入容量(bit)和受色调映射攻击前后水印提取的误码率(%)对比
[0074]
[0075] 表7本发明方法与上述三种对抗色调映射算子的顶尖算法在综合性能上的对比
[0076]