1.一种基于逆向直方图平移的可逆图像水印算法,其特征在于,包括如下水印嵌入的步骤:
S1:对水印W作Arnold置乱变换得到W',对变换后的水印W'将其转变为一维二进制序列;
S2:对M×N,M、N皆为4的整数倍的大小的原始载体图像I进行多尺度分解,将其划分为互不重叠图像同质块与非同质块,按照从左到右、从上到下顺序依次对分解得到的同质块和非同质块进行排序;
S3:对由同质块所构成的图像区域进行直方图变换得到直方图A;再对由非同质块所构成的区域进行直方图变换得到直方图B;
S4:一次直方图平移:选取和峰值点相邻的左邻或右邻同灰度值的像素点作为水印的嵌入位置,即为次峰值点;选取直方图A临近峰值点左右的两位置的次峰值点来嵌入水印信息得到含水印同质直方图A′,选取直方图B临近峰值点左右的两位置次峰值点来嵌入水印信息得到含水印同质图像区域B′;
一次通过直方图平移嵌入水印记录下由次峰值点到空出位置平移的二进制水印的位数,即在一次平移所嵌入水印中,二进制值为1的水印位数即e,针对嵌入的水印量不一样,所记录的水印位数也不一样,用12位二进制位来记录;
S5:逆向直方图平移:分别对生成的含水印直方图A′和含水印直方图B′进行逆直方图平移,利用零点位置向次峰值点位置平移来嵌入水印信息,分别得到含水印同质图像区域A″和含水印同质图像区域B″;
所述原始载体图像I经直方图变换若不存在零点,则按序计算相邻两灰度值对应出现的次数和,以最小次数和对应的两灰度值位置为待平移零点位置,再根据待平移零点位置在峰值点左边还是右边确定零水印位置,只需将e以零水印方式发送给接收方;
当最小次数和对应的两灰度值位置在峰值点右边时,则取该两灰度值对应位置中的右边灰度值位置作为零水印位置,并将该位置灰度出现的次数清零,同时将该灰度值出现次数加到相邻左边灰度值出现的次数上;当最小次数和对应的两灰度值位置在峰值点左边时,则取该两灰度值对应位置中的左边灰度值位置作为零水印位置,并将该位置灰度出现的次数清零,同时将灰度值出现次数加到相邻右边灰度出现的次数上;
S6:合并含水印同质图像区域A″和含水印同质图像区域B″得到最终的含水印图像I′。
2.根据权利要求1所述的基于逆向直方图平移的可逆图像水印算法,其特征在于,所述原始载体图像I经直方图变换若存在零点,在一次直方图平移时需标识零点位置即g,且经一次直方图平移嵌入水印后次峰值点位置对应的像素点个数,即一次直方图平移嵌入水印记录下由次峰值点到空出位置平移的二进制水印的位数为e,将e和g以零水印方式发送给接收方。
3.根据权利要求2所述的基于逆向直方图平移的可逆图像水印算法,其特征在于,在一次直方图平移进行水印嵌入之前,所述原始载体图像I经直方图变换若存在零点时,将零点位置g用8位二进制数进行表示,并放在水印信息前面进行嵌入。
4.根据权利要求1所述的基于逆向直方图平移的可逆图像水印算法,其特征在于,所述S5中逆向直方图平移,利用零点位置向次峰值点位置平移来嵌入水印信息的具体步骤为:
1)若在水印嵌入前次峰值点位置为a,该位置对应的像素点个数为M,零点位置为b,该位置对应的像素点个数为N,S4中经一次嵌入水印后次峰值点位置a对应的像素点个数为e’,零点位置b对应的像素点个数为f;
2)在利用逆直方图平移进行二次水印嵌入时,将介于次峰点a和零点b之间的所有灰度值统一平移一位,由零点位置向次峰点位置平移;
3)平移后,利用空出位置进行二次水印嵌入。
1,这时嵌入的水印信息量为零点位置上像素位数,并用8位二进制数来记录,即为q。
6.根据权利要求1至5任一所述的基于逆向直方图平移的可逆图像水印算法,其特征在于,对于上述水印嵌入步骤相对的水印提取步骤包括如下步骤:A1:对含水印图像I′进行多尺度分解,按照水印嵌入过程中方式,从上到下、从左到右顺序对分解得到的各子块进行排序构成同质块图像区域H和非同质块图像区域Q;
A2:对由同质块所构成的含水印图像区域进行直方图变换得到直方图H′;再对由非同质块所构成的含水印区域进行直方图变换得到直方图Q′;
A3:在S4中一次直方图平移嵌入水印后,将次峰值点到空出位置平移的二进制水印的位数e和零点位置g以零水印方式发送给接收方,通过变换的直方图确定次峰值点位置,接收从发送方传过来的零水印,即次峰值点到空出位置平移的水印位数e和零点位置g,分别确定同质图像区域和非同质图像区域在一次水印嵌入时零水印位置和次峰值点到空出位置平移的水印位数,恢复出经一次直方图平移嵌入水印后的直方图并提取出经逆向直方图平移嵌入的水印信息;
A4:恢复出经一次直方图平移嵌入水印后的直方图,再利用和一次直方图平移相反的过程恢复出原始载体图像,所述原始载体图像包括原始同质图像区域和非同质图像区域,并提取出经一次直方图平移嵌入的水印信息;
A5:合并两次提取出的水印信息作为最终提取的水印,合并恢复出的同质图像区域和非同质图像区域得到最终的恢复图像。