一种基于直方图中值保持的可逆水印嵌入和提取方法

文档序号:6364913阅读:343来源:国知局
专利名称:一种基于直方图中值保持的可逆水印嵌入和提取方法
技术领域
本发明属于多媒体信息隐藏领域,具体涉及一种基于直方图中值保持的可逆水印嵌入和提取方法。
背景技术
可逆数字水印技术是指在数字媒体中嵌入可提取的数字水印,并在水印信息被提取后可恢复出原始媒体。其功能是将一些有用的信息嵌入到数字媒体中并在需要时将其提取出来,且能够不失真地恢复出原始媒体。在医学和军事上的一些应用中,载体图像对于图像分析是非常重要的,这类图像数据完整性的保护可以通过嵌入水印来实现,一个应用例子是在数字医学图像中嵌入相关信息(如病人和医生资料、拍摄时间等),方便在该图像被使用时读出相关信息,同时数据嵌入对图像质量不造成任何影响,在水印提取后需要将原始图像无失真地恢复出来。对于图像认证方法、技术来说,篡改定位是非常重要的内容和功能,如何能够准确识别水印嵌入位置并且能够无失真地恢复出原始媒体是可逆数字水印的一个重要研究方向。

发明内容
本发明解决的技术问题是克服现有技术的不足,提供一种可以自动识别嵌入位置的基于直方图中值保持的可逆数字水印嵌入和提取方法。采用本发明,无需任何边信息即可提取出嵌入在数字媒体中的水印信息,并无失真地恢复出原始媒体。为解决上述技术问题,本发明的技术方案如下
一种基于直方图中值保持的可逆水印嵌入和提取方法,包括如下步骤
(1)进行水印嵌入,其包括
(11)统计原始媒体的直方图并计算直方图的中值;
(12)选取水印数据嵌入区间选取直方图中值区间,平移除直方图中值区间外的其他区间内的值将与直方图中值区间相邻的一个区间空出,将中值区间和空出区间作为水印嵌入数据区间;
(13)进行水印数据嵌入将水印数据嵌入直方图中值区间中,根据嵌入的水印数据将直方图中值区间中的部分值分割到与其相邻的空出区间内,完成水印数据的嵌入;
(2)进行水印提取,其包括
(21)统计含水印数据的媒体的直方(22)计算直方图的中值并定位出水印数据嵌入区间;
(23)提取水印数据根据水印数据嵌入区间内的值提取所嵌入的水印数据;
(24)媒体恢复根据水印数据将空出区间内的值移回到原来区间中,并将其他区间内的值进行反向平移恢复原始媒体。上述方案中,所述步骤(12)中还选取与中值区间相邻的另一个区间以及与所述相邻的另一个区间相邻的经过平移的空出区间作为水印数据嵌入区间。为了提高水印数据嵌入的容量,可以将与中值区间相邻的区间作为水印数据嵌入的区间。上述方案中,所述步骤(12)中还选取直方图中除中值区间、与中值区间相邻的区间外的任意区间以及与任意区间相邻的经过平移空出的区间作为水印数据嵌入区间;
所述步骤(13)中进行水印数据嵌入时还提取任意区间的位置信息和与任意区间相邻的空出区间的位置信息嵌入到中值区间和与相邻区间中;
所述步骤(22)中进行水印数据嵌入区间定位时先定位出中值区间和相邻区间,并根据中值区间和相邻区间提取任意区间和与任意区间相邻的空出区间的位置信息,最后根据位置信息对任意区间和与任意区间相邻的空出区间进行定位。如果直方图中包括中值区间、 相邻区间在内的那一对区间无法提供足够的水印数据嵌入容量,还可以采用直方图中的其他区间进行水印数据嵌入。上述方案中,在所述步骤(11)中计算直方图中值前还对直方图区间进行防溢出预处理。为了防止直方图区间进行平移时溢出,故对直方图区间先进行防溢出预处理,将原始媒体中可能发生溢出的值进行修改。上述方案中,所述防溢出预处理的具体步骤是判断直方图中是否存在边缘区间, 若不存在则不执行修改操作直接进行直方图中值计算,否则修改所述边缘区间的值并记录被修改值的位置信息,并将被修改值的位置信息作为嵌入数据的一部分嵌入直方图中;
提取水印数据时还同时将被修改值的位置信息提取出来,进行媒体恢复时,还根据被修改值的位置信息将被修改值进行恢复。上述方案中,所述边缘区域为O区间或者255区间;若所述边缘区域为O区间则将 O区间修改为I区间,若所述边缘区间为255区间,则将255区间修改为254区间。与现有技术相比,本发明技术方案的有益效果是
本发明可通过直方图中值自动保存水印数据的嵌入位置,无需任何边信息即可实现数据的可逆嵌入。由于媒体的直方图中值在嵌入水印后保持不变,可从含水印数据的媒体中直接得出水印的嵌入位置,便于水印提取和原始媒体的恢复。


图I为本发明中进行水印数据嵌入的流程图2为本发明中进行水印数据提取的流程图3为本发明中选取中值区间及其相邻的空出区间作为水印数据嵌入区间时进行水印嵌入的直方图变化示意图4为本发明中选取中值区间及其相邻的空出区间作为水印数据嵌入区间时进行水印提取的直方图变化示意图5为本发明中选取中值区间、相邻区间及其各自相邻的空出区间作为水印数据嵌入区间时进行水印嵌入的直方图变化示意图6为本发明中选取中值区间、相邻区间及其各自相邻的空出区间作为水印数据嵌入区间时进行水印提取的直方图变化示意图7为本发明中选取中值区间、相邻区间、任意区间及其各自相邻的空出区间作为水印数据嵌入区间时进行水印提取的直方图变化示意图8为利用本发明进行水印嵌入的具体图像效果对比图。
具体实施例方式下面结合附图和实施例对本发明的技术方案做进一步的说明。如图I和图2所示为本发明中一种基于直方图中值保持的可逆水印嵌入和提取方法的流程图,其包括媒体和水印数据,所述媒体为水印数据的载体,其包括水印嵌入和水印提取两个步骤,首先进行水印嵌入,其具体步骤如下
(511)统计原始媒体的直方(512)对直方图区间进行防溢出预处理。为了防止直方图区间进行平移时溢出,故对直方图区间先进行防溢出预处理,将原始媒体中可能发生溢出的值进行修改。其具体步骤是
判断直方图中是否存在边缘区间,若不存在则不执行修改操作直接进入选取水印数据嵌入区间,否则修改所述边缘区间的值并记录被修改值的位置信息;如将直方图边缘区域中的O区间或者255区间修改为I区间或者254区间。为了后续完全恢复出原始媒体,需要记录下被修改的边缘区间的位置信息,并连同水印数据一起嵌入直方图中,这样将被修改边缘区间的位置信息从直方图中提取出来后,就可以分辨出被修改的边缘区间,将边缘区间改回原始位置即可完全地恢复出原始媒体。(S13)计算经过预处理后的直方图中值;
(514)选取水印数据嵌入区间选取直方图中值区间,平移除直方图中值区间外的其他区间内的值将与直方图中值区间相邻的一个区间空出,将中值区间和空出区间作为水印嵌入数据区间;
(515)进行水印数据嵌入将水印数据和被修改的边缘区间的位置信息嵌入直方图中值区间中,根据嵌入的水印数据将直方图中值区间中的部分值分割到与其相邻的空出区间内,完成水印数据的嵌入,得到含水印的媒体。本发明通过保持中值区间中部分像素值和改变部分像素值,并将改变的部分像素值移至与中值区间相邻的经过平移的空出区间内,使得直方图中值在嵌入水印数据后保持不变,如图3所示,为进行水印数据嵌入时直方图变化示意图。为了恢复原始媒体,与水印嵌入过程相反,将水印数据从含水印的媒体中提取处理并恢复出原始媒体,其具体步骤是
(521)统计含水印数据的媒体的直方(522)计算直方图的中值并定位出水印数据嵌入区间中值区间和与中值区间相邻的空出区间;
(523)提取水印数据根据水印数据嵌入区间内的值提取所嵌入的水印数据并同时将被修改边缘区间的位置信息提取出来;
(524)媒体恢复根据水印数据将空出区间内的值移回到原来区间中,并将其他区间内的值进行反向平移恢复原始媒体,同时根据被修改边缘区间的位置信息将被修改边缘区间的值进行恢复。因为水印数据嵌入过程中保持了媒体直方图中值不变,因此无需使用边信息即可定位出水印数据嵌入的位置,进而将各区间内的值相应地改回即可无失真地恢复出原始媒体,如图4所示,为进行水印数据提取时直方图变化示意图。在步骤(S14)中对水印数据嵌入区间的选取可以根据水印数据嵌入容量来设定是选取一对或者多对区间,如还可以选取与中值区间相邻的一个区间以及与所述相邻区间相邻的经过平移的空出区间作为水印数据嵌入区间,还可以选取直方图中除中值区间、与中值区间相邻的区间外的任意区间以及与任意区间相邻的经过平移空出的区间作为水印数据嵌入区间。当步骤(S14)中还选取与中值区间相邻的一个区间以及与所述相邻区间相邻的经过平移的空出区间作为水印数据嵌入区间时,进行水印数据嵌入时,将水印数据和被修改的边缘区间的位置信息嵌入直方图中值区间和所述相邻区间中,根据嵌入的水印数据将直方图中值区间和相邻区间中的部分值分割到各自相邻的空出区间内,完成水印数据的嵌入,得到含水印的媒体。提取水印数据时,先统计含水印数据的媒体的直方图,计算直方图的中值并定位出带有水印数据的四个水印数据嵌入区间中值区间、相邻区间及其各自的相邻的空出区间,进而提取出水印数据和被修改边缘区间的位置信息,将两个空出区间内的值移回到原来区间中,并将其他区间内的值进行反向平移恢复原始媒体,同时根据被修改边缘区间的位置信息将被修改边缘区间的值进行恢复,,如图5和图6所示,为选取直方图中值区间和相邻区间进行水印数据嵌入和提取时的直方图变化示意图。当步骤(S14)中还选取与中值区间相邻的一个区间以及与所述相邻区间相邻的经过平移的空出区间,以及选取直方图中除中值区间、与中值区间相邻的区间外的任意区间以及与任意区间相邻的经过平移空出的区间作为水印数据嵌入区间时,将水印数据和被修改的边缘区间的位置信息嵌入直方图中值区间、所述相邻区间和任意区间中,同时提取任意区间的位置信息和与其相邻的空出区间的位置信息嵌入到中值区间和与相邻区间中,并根据嵌入的水印数据将直方图中值区间、相邻区间、任意区间中的部分值分割到各自相邻的空出区间内,完成水印数据的嵌入,得到含水印的媒体。提取水印数据时,先统计含水印数据的媒体的直方图,计算直方图的中值,然后先定位出中值区间和相邻区间,并根据中值区间和相邻区间提取任意区间和与任意区间相邻的空出区间的位置信息,最后根据位置信息对任意区间和与任意区间相邻的空出区间进行定位;进而提取出水印数据和被修改边缘区间的位置信息,将三个个空出区间内的值移回到原来区间中,并将其他区间内的值进行反向平移恢复原始媒体,同时根据被修改边缘区间的位置信息将被修改边缘区间的值进行恢复,如图7所示,为选取直方图值最高的区间作为任意区间进行水印嵌入时直方图变化示意图。如图8所示为将Iena图像利用本发明进行水印嵌入时的效果对比图,图(a)为原始的Iena图像,图(b)为利用本发明进行水印嵌入后的Iena图像。
权利要求
1.一种基于直方图中值保持的可逆水印嵌入和提取方法,其特征在于,包括如下步骤(1)进行水印嵌入,其包括(11)统计原始媒体的直方图并计算直方图的中值;(12)选取水印数据嵌入区间选取直方图中值区间,平移除直方图中值区间外的其他区间内的值将与直方图中值区间相邻的一个区间空出,将中值区间和空出区间作为水印嵌入数据区间;(13)进行水印数据嵌入将水印数据嵌入直方图中值区间中,根据嵌入的水印数据将直方图中值区间中的部分值分割到与其相邻的空出区间内,完成水印数据的嵌入;(2)进行水印提取,其包括(21)统计含水印数据的媒体的直方图;(22)计算直方图的中值并定位出水印数据嵌入区间;(23)提取水印数据根据水印数据嵌入区间内的值提取所嵌入的水印数据;(24 )媒体恢复根据水印数据将空出区间内的值移回到原来区间中,并将其他区间内的值进行反向平移恢复原始媒体。
2.根据权利要求I所述的基于直方图中值保持的可逆水印嵌入和提取方法,其特征在于,所述步骤(12)中还选取与中值区间相邻的另一个区间以及与所述相邻的另一个区间相邻的经过平移的空出区间作为水印数据嵌入区间。
3.根据权利要求2所述的基于直方图中值保持的可逆水印嵌入和提取方法,其特征在于,所述步骤(12)中还选取直方图中除中值区间、与中值区间相邻的区间外的任意区间以及与任意区间相邻的经过平移空出的区间作为水印数据嵌入区间;所述步骤(13)中进行水印数据嵌入时还提取任意区间的位置信息和与任意区间相邻的空出区间的位置信息嵌入到中值区间和与相邻区间中;所述步骤(22)中进行水印数据嵌入区间定位时先定位出中值区间和相邻区间,并根据中值区间和相邻区间提取任意区间和与任意区间相邻的空出区间的位置信息,最后根据位置信息对任意区间和与任意区间相邻的空出区间进行定位。
4.根据权利要求I至3任一项所述的基于直方图中值保持的可逆水印嵌入和提取方法,其特征在于,在所述步骤(11)中计算直方图中值前还对直方图区间进行防溢出预处理。
5.根据权利要求4所述的基于直方图中值保持的可逆水印嵌入和提取方法,其特征在于,所述防溢出预处理的具体步骤是判断直方图中是否存在边缘区间,若不存在则不执行修改操作直接进行直方图中值计算,否则修改所述边缘区间的值并记录被修改值的位置信息,并将被修改值的位置信息作为嵌入数据的一部分嵌入直方图中;提取水印数据时还同时将被修改值的位置信息提取出来,进行媒体恢复时,还根据被修改值的位置信息将被修改值进行恢复。
6.根据权利要求5所述的基于直方图中值保持的可逆水印嵌入和提取方法,其特征在于,所述边缘区域为O区间或者255区间;若所述边缘区域为O区间则将O区间修改为I区间,若所述边缘区间为255区间,则将255区间修改为254区间。
全文摘要
本发明公开了一种基于直方图中值保持的可逆水印嵌入和提取方法。包括如下步骤进行水印嵌入,其包括统计原始媒体的直方图并计算直方图的中值;选取水印数据嵌入区间选取直方图中值区间和经过平移获得的与中值区间相邻的一个空出区间;进行水印数据嵌入将水印数据嵌入中值区间中,将中值区间中的部分值分割到与其相邻的空出区间内;进行水印提取,其包括统计含水印数据媒体的直方图;计算直方图中值并定位水印数据嵌入区间;提取水印数据;将空出区间内的值移回到原来区间中,并将其他区间内的值进行反向平移恢复原始媒体。本发明可自动识别水印嵌入位置,无需任何边信息即可提取出嵌入在媒体中的水印信息并无失真地恢复原始媒体。
文档编号G06T1/00GK102609896SQ20121003644
公开日2012年7月25日 申请日期2012年2月17日 优先权日2012年2月17日
发明者吴昊天, 黄继武 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1