1.一种对抗色调映射的高动态范围图像水印方法,其特征在于包括水印嵌入和水印提
取两部分;
所述的水印嵌入部分的具体步骤为:
①_1、将待嵌入的原始二值水印序列记为W;将待嵌入水印的RGBE、OpenEXR或LogLuv格
式的原始高动态范围图像记为Iorg,Iorg的高度为Rorg,Iorg的宽度为Corg;并人为设定Iorg嵌入水印后得到的高动态范围图像相对于Iorg的图像质量值,记为Q;其中,Q∈[70,100];
①_2、将Iorg从RGB空间转化到HSV空间,得到Iorg的H层图像、S层图像和V层图像,对应记为Iorg-H、Iorg-S和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()为取余函数;
①_3、对Iorg-V-new进行一级冗余小波变换,得到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);其中,
①_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)中的所有像素点的像素值中的最小值;
①_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;
①_6、对LLorg-V-new中判定为需嵌入水印的每个分块进行奇异值分解变换,得到
LLorg-V-new中判定为需嵌入水印的每个分块的维数为4×4的U矩阵分量、维数为4×4的S矩阵分量、维数为4×4的V矩阵分量;
然后在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|<T时,对U21和U41进行修改,令并令 至此完成BLL,org(x,y)的水印嵌入;
如果从W中读取的当前待嵌入的二值水印为0,则当U21-U41>0且|U21-U41|>T时,对U21和U41不进行修改,至此完成BLL,org(x,y)的水印嵌入;当|U21-U41|<T时,对U21和U41进行修改,令 并令 至此完成BLL,org(x,y)的水印嵌入;
其中,符号“||”为取绝对值符号,T表示水印嵌入阈值,sign()为取符号函数,
和 中的“=”为赋值符号;
①_7、对嵌有水印的每个分块进行奇异值分解逆变换,重建低频近似分量,将重建得到
的低频近似分量记为LL*org-V-new;然后将LL*org-V-new、HLorg-V-new、LHorg-V-new和HHorg-V-new合成完整的嵌有水印的图像;接着对嵌有水印的图像进行一级冗余小波变换的逆变换,得到逆变换后的嵌有水印的图像,记为I*org-V-new;之后判断Rorg和Corg是否能够被4整除,如果Rorg和Corg均能够被4整除,则对I*org-V-new不进行像素点丢弃,将I*org-V-new作为嵌有水印的V层图像,* * *并将Iorg-V-new重新记为Iorg-V;如果Rorg能够被4整除,而Corg不能够被4整除,则丢弃Iorg-V-new的最右侧的4-mod(Corg,4)列像素点,得到嵌有水印的V层图像,记为I*org-V;如果Rorg不能够被4整除,而Corg能够被4整除,则丢弃I*org-V-new的最下侧的4-mod(Rorg,4)行像素点,得到嵌有水印的V层图像,记为I*org-V;如果Rorg和Corg均不能够被4整除,则丢弃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;
①_8、利用HDR-VDP-2方法,计算I*org相对于Iorg的图像质量值,记为Q*;然后判断Q*>Q或|Q*-Q|<6是否成立,如果成立,则将Markorg-V-new确定为水印秘钥K,将I*org确定为最终的嵌有水印的高动态范围图像,水印嵌入过程结束;否则,令β=β-Δstep,然后返回步骤①_5继续执行;其中,β=β-Δstep中的“=”为赋值符号,Δstep表示调整步长;
所述的水印提取部分的具体步骤为:
②_1、读取嵌有水印的高动态范围图像受常规攻击后得到的高动态范围图像或受色调
映射后得到的低动态范围图像,记为Istego,Istego的高度为Rstego,Istego的宽度为Cstego,Rstego与Rorg在数值上相等,Cstego与Corg在数值上相等;
②_2、将Istego从RGB空间转化到HSV空间,得到Istego的H层图像、S层图像和V层图像,对应记为Istego-H、Istego-S和Istego-V;然后判断Rstego和Cstego是否能够被4整除,如果Rstego和Cstego均能够被4整除,则对Istego-V不进行像素点填充,并将Istego-V重新记为Istego-V-new,Istego-V-new的高度为Rs_new,Istego-V-new的宽度为Cs_new,Rs_new=Rstego,Cs_new=Cstego;如果Rstego能够被4整除,而Cstego不能够被4整除,则在Istego-V的最右侧填充4-mod(Cstego,4)列像素点,且令填充的所有像素点的像素值为0,并将填充后得到的图像记为Istego-V-new,Istego-V-new的高度为Rs_new,Istego-V-new的宽度为Cs_new,Rs_new=Rstego,Cs_new=4-mod(Cstego,4)+Cstego;如果Rstego不能够被4整除,而Cstego能够被4整除,则在Istego-V的最下侧填充4-mod(Rstego,4)行像素点,且令填充的所有像素点的像素值为0,并将填充后得到的图像记为Istego-V-new,Istego-V-new的高度为Rs_new,Istego-V-new的宽度为Cs_new,Rs_new=4-mod(Rstego,4)+Rstego,Cs_new=Cstego;如果Rstego和Cstego均不能够被4整除,则在Istego-V的最右侧填充4-mod(Cstego,4)列像素点,在Istego-V的最下侧填充4-mod(Rstego,4)行像素点,且令填充的所有像素点的像素值为0,并将填充后得到的图像记为Istego-V-new,Istego-V-new的高度为Rs_new,Istego-V-new的宽度为Cs_new,Rs_new=4-mod(Rstego,4)+Rstego,Cs_new=4-mod(Cstego,4)+Cstego;
②_3、对Istego-V-new进行一级冗余小波变换,得到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);其中,
②_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)需提取水印;
②_5、对LLstego-V-new中判定为需提取水印的每个分块进行奇异值分解变换,得到
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中提取水印,如果U*21>U*41,则提取出的二值水印为0;如果U*21≤U*41,则提取出的二值水印为1;
再根据提取出的所有二值水印,得到提取出的二值水印序列,记为W*。
2.根据权利要求1所述的一种对抗色调映射的高动态范围图像水印方法,其特征在于
所述的步骤①_6中取T=0.08。
3.根据权利要求1或2所述的一种对抗色调映射的高动态范围图像水印方法,其特征在
于所述的步骤①_8中取Δstep=0.01。