基于整数变换的可逆水印总结

 

论文原文为翁韶伟博士的“Reversible Watermarking Based on Invariability and Adjustment on Pixel Pairs”

论文中可逆水印的思想是整数变换:


x'=x+floor(d/2)+b,  y'=y-floor(d/2)-b;

其中x,y为原像素值,d为x与y的差值,b为嵌入的水印信息,x',y'为嵌入水印位以后的像素值。

有分析可知,lsb(x+y)=lsb(x'+y')=lsb(d)=lsb(d');其中d'为嵌入水印后的像素对的差值。

即:d'=x'-y'=x-y+2*floor(d/2)+2*b=d+2*floor(d/2)+2*b=2*d-lsb(d)+2*b=2*d+2*b-lsb(d');

故d=(d'+lsb(d')/2-b。由于嵌入水印的像素对差值d'计算可得,故可计算得知d的lsb为0还是为1,b又为一位信息,要么为0,要么为1。

故若lsb(d')==lsb((d'+lsb(d')/2),则b=0,否则b=1。

 

文章为了是locationmap达到更好的压缩率,采用了PDA的方法使更多的像素对可用于处理,以达到更大的压缩率。

水印嵌入前,先对像素对进行分组,处理后不溢出的分为一组为S1(对于的locationmap值为1),处理后溢出的分为一组为S2(对应的locationmap值为0)。根据阈值Th,S1又进一步分为两小类,差值d小于Th的为一类,记为S11,该类的每一对像素可嵌入一位水印;差值d>=Th的为另一类,记为S12该类只做相应处理,但不能嵌入水印位信息。

S1组处理完后,不同类的像素对差值为落入不同的区间内,S11类的差值会落入区间(-2*Th,2*Th);S12类的像素对差值会落入区间(-∞,-2*Th]U[2*Th,+∞)。这是进行图像恢复的关键。

 

设地址映射矩阵经过压缩后为LM,水印嵌入过程中,若处理过的像素对数大于等于length(LM),则采用最低有效位替代的方式嵌入矩阵LM,被替换掉的最低有效位附加到水印矩阵后面,一并嵌入到图像中。

故在进行图像恢复时,先恢复地址映射矩阵LM,然后进行解压缩,得到地址映射矩阵locationmap,然后根据locationmap恢复被lsb替换掉的最低有效位,然后再进行水印信息的提取和整幅图像的恢复。

 

你可能感兴趣的:(基于整数变换的可逆水印总结)