基于多峰值直方图平移的可逆图像水印算法

文档序号:35649890发布日期:2023-10-06 11:05阅读:95来源:国知局
基于多峰值直方图平移的可逆图像水印算法

本发明涉及信息隐藏,数字水印,具体涉及一种基于多峰值直方图平移的可逆图像水印算法。


背景技术:

1、水印技术作为多媒体版权保护的一种有效手段,已深受学术界的广泛关注。该技术已应用于数据保密通信、数据完整性的验证、数字产品的产权保护等方面。图像水印可分为可逆水印和不可逆水印两类,不可逆水印技术是接收方在接收到含水印图像并提取水印信息之后,原始图像会失真,从而失去以前的使用价值,而可逆水印技术在提取含水印图像中嵌入的水印信息后还能无失真恢复原始图像。正是由于可逆水印技术可以使原始图像可逆恢复的特性,可逆水印技术被广泛应用于图像质量要求较高、安全密级高如军事情报、医学诊断和法律论证等领域。目前可逆图像水印技术研究的目标之一就是如何以最小的失真来获得最大的有效嵌入信息。

2、空间域中的可逆水印算法主要分为直方图平移和差值扩展两类,基于基本的差值扩展算法出现了许多改进,如alattar提出了针对任意矢量的差值扩展算法,使得像素差值不仅仅局限于像素对,大大地提高了算法的嵌入能力,guo后来对alattar的算法进行了改进,在权衡水印的嵌入容量和视觉质量的前提下提高了算法的运行的时间复杂度。李琦等人针对可逆水印技术在医学图像的应用,根据像素间的三维梯度变化来预测像素值,提出了一种基于单向预测误差扩展的可逆水印算法,该算法应用于三维医学图像的篡改监测和患者的隐私保护。

3、直方图平移算法可以和信息预处理、加密等多种方法联用,具有较高的灵活性。利用局部复杂度函数提出一种直方图平移和局部复杂度的可逆水印算法,极大地提高了含水印图像的视觉质量。通过将原始图像进行分块,每个子块生成直方图进行直方图平移来嵌入水印信息,有效地降低了图像失真。通过结合像素值排序与图像加密的算法,不仅提高了水印的嵌入容量,而且极大的提高了含水印图像的视觉质量,具有良好的性能。一种基于逆向直方图平移的可逆图像水印算法,将原始图像分为同质块与非同质块,使用传统直方图平移进行一次水印信息嵌入之后,逆向平移直方图进行第二次水印信息的嵌入,提高了水印的嵌入容量。一种平移量可控的直方图平移算法,通过分析原始图像构建数列,将数列与系数模拟相加从而形成可控的直方图,从而使得含水印图像有较高的结构相似性和psnr值。

4、通过分析上述算法发现,目前大部分直方图平移算法还是将整幅原始图像生成直方图或者预测误差直方图之后进行水印信息的嵌入,水印信息的嵌入容量由直方图的峰值点的个数决定,嵌入容量有限。


技术实现思路

1、发明目的:针对现有技术中存在的问题,本发明提供一种基于多峰值直方图平移的可逆图像水印算法,根据直方图的特点,利用直方图中的多个峰值点与零点,自适应的将直方图分为多个区间,每个区间进行直方图平移来进行水印水印的嵌入,减少了像素点移动的个数,一方面提高了含水印图像的视觉质量,另一方面增加了水印的嵌入容量。

2、技术方案:本发明提供了一种基于多峰值直方图平移的可逆图像水印算法,包括水印嵌入方法,具体包括如下步骤:

3、步骤1:对水印w作arnold置乱变换得到w',将变换后的水印w'转变为一维二进制序列;

4、步骤2:遍历原始图像i的所有像素点,根据像素点的灰度值大小以及其出现的频率,生成原始图像的直方图;

5、步骤3:找到直方图中多个较为突出的峰值点,比较多个峰值点之间的距离,选取合适的峰值点与零值点,以零值点为边界,将直方图自适应的划分为多个水印嵌入区间,没有零值点用极小值点代替;

6、步骤4:在各个区间内找到峰值点pi、次峰值点mi、零值点ni,利用直方图平移算法在直方图的次峰值点处进行水印信息的嵌入;

7、步骤5:对直方图的各个嵌入区间利用步骤4的直方图平移算法进行水印信息的嵌入,从而完成整个图像水印信息的嵌入,得到含水印图像i′。

8、进一步地,还包括水印提取方法,包括如下步骤:

9、s1:遍历含水印图像i′的所有像素点,根据像素点的灰度值大小以及其出现的频率,生成含水印图像的直方图;

10、s2:根据直方图分区方法,找到直方图中多个较为突出的峰值点,比较多个峰值点之间的距离,选取合适的峰值点与零值点,以零值点为边界,将直方图自适应的划分为多个水印提取区间,没有零值点用极小值点代替;

11、s3:根据s2得到的水印提取区间遍历含水印图像的像素点进行水印信息的提取,各个区间峰值点pi、次峰值点mi,零值点ni,根据直方图平移算法提取水印信息;

12、s4:对含水印图像分区间之后所有区间的像素进行处理,从而将完成整个图像水印信息的提取;

13、s5:对水印信息进行逆arnold变换得到所需要的水印信息w。

14、进一步地,利用直方图平移算法在直方图的次峰值点处进行水印信息的嵌入具体过程为:在某一区间中找到该区间的零点ni、次峰值点mi,若该区间内像素点的值x在m和n之间,则该像素的值加1,使得像素值为m+1的点的个数为零;对图像再次按序扫描,如果像素值x是m,而且嵌入的水印信息是1,则像素值x加1,否则,如果待嵌入的水印信息是0,则像素值x不变;

15、该嵌入区间像素值变化为:

16、

17、其中,b∈{0,1},b为待嵌入的水印信息,x为嵌入水印之前该区间的像素值,x′为嵌入水印之后该区间的像素值。

18、进一步地,所述s2中水印提取区间的划分:水印嵌入之后,由于各个嵌入区间的峰值点与零点保持不变,因此在水印信息提取的时候,水印提取区间的划分与嵌入区间划分相同。

19、进一步地,所述s3中根据直方图平移算法提取水印信息具体为:

20、提取过程中像素变化为:

21、

22、其中,x为嵌入水印后的该区间图像像素值,x′为提取水印后该区间的像素值,b∈{0,1},b为提取的水印信息。

23、进一步地,在直方图中选择峰值点时,根据像素点频率大小形成多个峰值点,根据嵌入水印量,对峰值点值按从大到小排序,选取峰值点值靠前的峰值点和相应零值点作为水印嵌入区域;

24、选取合适的峰值点与零值点,即根据嵌入水印量,对峰值点值按从大到小排序,选取峰值点值靠前的峰值点和相应零值点。

25、有益效果:

26、本发明算法通过对原始图像像素分布构建的直方图进行处理,根据直方图中较为突出的多个峰值点,选取合适距离的峰值点与零点将直方图自适应的划分为多个水印嵌入区间,最后在每个嵌入区间的次峰值点通过改进的直方图平移算法进行水印信息的嵌入。相比于传统直方图只在峰值点嵌入水印,该算法在保证一定的视觉质量的前提下,极大地提高了水印的嵌入容量。



技术特征:

1.一种基于多峰值直方图平移的可逆图像水印算法,其特征在于,包括水印嵌入方法,具体包括如下步骤:

2.根据权利要求1所述的基于多峰值直方图平移的可逆图像水印算法,其特征在于,还包括水印提取方法,包括如下步骤:

3.根据权利要求1所述的基于多峰值直方图平移的可逆图像水印算法,其特征在于,利用直方图平移算法在直方图的次峰值点处进行水印信息的嵌入具体过程为:在某一区间中找到该区间的零点ni、次峰值点mi,若该区间内像素点的值x在m和n之间,则该像素的值加1,使得像素值为m+1的点的个数为零;对图像再次按序扫描,如果像素值x是m,而且嵌入的水印信息是1,则像素值x加1,否则,如果待嵌入的水印信息是0,则像素值x不变;

4.根据权利要求1所述的基于多峰值直方图平移的可逆图像水印算法,其特征在于,所述s2中水印提取区间的划分:水印嵌入之后,由于各个嵌入区间的峰值点与零点保持不变,因此在水印信息提取的时候,水印提取区间的划分与嵌入区间划分相同。

5.根据权利要求4所述的基于多峰值直方图平移的可逆图像水印算法,其特征在于,所述s3中根据直方图平移算法提取水印信息具体为:

6.根据权利要求1所述的基于多峰值直方图平移的可逆图像水印算法,其特征在于,在直方图中选择峰值点时,根据像素点频率大小形成多个峰值点,根据嵌入水印量,对峰值点值按从大到小排序,选取峰值点值靠前的峰值点和相应零值点作为水印嵌入区域;


技术总结
本发明涉及信息隐藏,数字水印技术领域,公开了一种基于多峰值直方图平移的可逆图像水印算法,包括水印嵌入与水印提取方法,水印嵌入时,通过对原始图像像素分布构建的直方图进行处理,根据直方图中较为突出的多个峰值点,选取合适距离的峰值点与零点将直方图自适应的划分为多个水印嵌入区间,最后在每个嵌入区间的次峰值点通过改进的直方图平移算法进行水印信息的嵌入,减少了像素点移动的个数。水印提取为水印嵌入的逆过程。与现有技术相比,本发明在保证一定的视觉质量的前提下,极大地提高了水印的嵌入容量。

技术研发人员:张正伟,刘天府,李芬芬,孟倩,李瑶,肖为恩,刘宇,李秀,于振洋,张海燕,陈礼青,金圣华
受保护的技术使用者:淮阴工学院
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1