差值扩展可逆水印
差值扩展可逆水印,顾名思义,是对一对像素的差值进行扩展来可逆的嵌入水印。并不是所有的像素对都可用于水印的可逆嵌入。根据作者定义,像素对可以分为可扩展的、可变的、不可变的,其中可扩展就一定是可变的。只有可扩展的、可变的像素对可用于水印的嵌入。下面详细说明算法流程:
嵌入过程:
1、 首先根据一定的方式让图像像素进行配对;并根据定义将像素对分为可扩展且差值h=0或者h=-1的(EZ)、可扩展的且h!=0&&h!=-1(EN)、可变的且不属于EZ EN(CN)、不可变的(NC)四种;根据要嵌入的数据量和可嵌入量调整EN,将EN分为EN1和EN2两部分。
2、形成地址映射loaction_map矩阵。对于像素对属于EZ、EN1的像素对,对于的location_map值为1,否则值为0。
3、像素对属于EN2、CN且差值h!=1&&h!=-2的差值最低位组成矩阵C。
4、对地址映射矩阵进行压缩编码,联合矩阵C、嵌入信息P组成嵌入矩阵B。
5、按照下列方法完成水印的嵌入
1) Set i=1 and j=0
2)while i<=m
j=j+1;
if hjϵ(EZUEN1)
hj=i*hj+bi;