CN104732473A - 基于直方图的可逆水印方法 - Google Patents
基于直方图的可逆水印方法 Download PDFInfo
- Publication number
- CN104732473A CN104732473A CN201310720094.5A CN201310720094A CN104732473A CN 104732473 A CN104732473 A CN 104732473A CN 201310720094 A CN201310720094 A CN 201310720094A CN 104732473 A CN104732473 A CN 104732473A
- Authority
- CN
- China
- Prior art keywords
- watermark information
- image
- transparency
- information
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本发明的名称为基于直方图的可逆水印方法。该发明属于计算机视觉、计算机图像处理、计算机安全、计算机应用、电子商务、电子政务等领域。本发明提出了一种新的基于直方图的可逆水印。针对待嵌入的水印信息,首先对其进行压缩,然后使用混沌系统进行加密。针对载体图像,首先找出其峰值点,然后对其进行位移。最后,将该峰值点进行总共四种可能的状态变换。该方法的特点是针对水印信息进行单独压缩处理,保证了嵌入容量独立于透明性,不同于传统的算法需要在透明性和嵌入容量之间取得平衡,因此该方法具有较好的透明性。本发明采用了混沌系统对水印信息进行加密,由混沌系统的敏感性和不可预测性,确保该系统具有较高的安全性。
Description
技术领域
该发明属于计算机视觉、计算机图像处理、计算机安全、计算机应用、电子商务、电子政务等领域。
背景技术
可逆数字水印是指在载体图像内嵌入一个特定的信息,该信息能够在需要的时候被完整地提取出来,同时载体图像能够在提取出该特定信息后被完全复原。该技术能够满足对图像进行认证,或在其中隐藏信息的目的。传统的水印算法在完成信息隐藏时先对原始载体信息进行修改再完成信息嵌入,当需要使用隐藏信息时,再将隐藏信息从载体信息中提取出来,此时载体图像会存在一定程度的失真,无法完全复原。因此,这种信息隐藏方式关注的往往是隐藏信息的安全性,但是对于像医学、军事图像等对载体图像要求较高的场合,该加密数字水印具有一定的局限性,无法完全满足需求。传统的水印算法在完成图像认证时,往往采用零水印方案或修改认证图像完成,零水印方案需要保存大量的附加信息,而修改认证图像的方案需要保存原始载体图像,这两种方案都需要额外的数据库来满足要求,运算量较大,同时带来大量的安全隐患。可逆数字水印很好地解决了信息隐藏和图像认证时所遇到的上述问题。近年来,学者针对可逆数字水印进行了大量的研究,主要包括:查分扩展法、整数小波变换法、可逆对比映射(RCM,reversible contrastmapping)、整数离散余弦变换、位平面压缩法、直方图法等多种方法。
直方图可逆数字水印是指利用图像直方图中峰值点与零值点之间进行相应运算来达到隐藏水印(认证)信息的目的,其重要特征是当水印信息从载体图像内被提取出来后,载体图像能够完全复原。例如,Wang等提出了基于马尔可夫模型的直方图可逆水印方法,较好地在嵌入容量和透明性之间取得了平衡。Huang提出了一种应用于医学图像的直方图可逆水印方法,该方法通过分块的方式在图像内完成信息的嵌入,对各种情况下的透明性和嵌入容量进行了细致的分析。Tsai提出了一种结合预测编码和直方图的可逆水印方式,有效提高了嵌入容量。高铁杠等提出了增大嵌入容量的可逆数字水印方案,分别采用在峰值点与多个邻近零值点匹配、多对峰值点与零值点匹配的方式完成,实验结果显示这两种方案比传统方案能嵌入更多的信息,但算法未考虑如何提高系统安全性。李立宗等提出了针对直方图可逆水印算法的安全解决方案,分别利用混沌系统和公钥系统提高了系统的安全性。
嵌入容量、透明性、安全性是可逆水印算法的关键技术指标。上述文献大多局限于对某个技术指标的改进或优化,未考虑算法的整体技术指标。在大多数情况下,嵌入容量和透明性被作为一对矛盾体进行考虑,嵌入的容量越大,透明性越低;如果要求有较高的透明性,则需要嵌入更少的信息。这里提出了一种综合考虑嵌入容量、透明性、安全性的算法,算法首先对水印信息进行压缩,然后将该信息与混沌系统所产生的密钥进行异或后嵌入到载体图像内。该算法通过压缩水印信息达到了提高嵌入容量的目的,保证了在提高嵌入容量的同时不改变透明性,通过混沌系统保证了系统的高安全性。
发明内容
提出了一种新的基于直方图的可逆水印。针对待嵌入的水印信息,首先对其进行压缩,然后使用混沌系统对经过压缩的水印信息进行加密以提高系统的整体安全性。针对载体图像,首先找出其峰值点,然后将其峰值点和图像中的三个特定的零值点进行运算(位移),以使载体图像达到能够嵌入水印信息的状态。最后,将该峰值点进行总共四种可能的状态变换,以完成二位水印信息的嵌入。该方法的特点是针对水印信息进行单独压缩处理,保证了嵌入容量独立于透明性,不同于传统的算法需要在透明性和嵌入容量之间取得平衡,因此该方法能够在保持较高嵌入容量的情况下仍旧具有较好的透明性。本发明专利采用了混沌系统对水印信息进行加密,由混沌系统的敏感性和不可预测性,确保该系统具有较高的安全性。
附图说明
图1是灰度直方图。
具体实施方式
1.1基本描述
基于直方图的可逆数字水印基本方法,利用数字图像内像素值个数最多的像素与当前灰度值较低的若干个像素值的个数均为零之间的关系实现隐藏信息。为了叙述上的方便,这里以512×512像素大小的图像boat.bmp作为示例进行说明。
1.1.1水印信息嵌入
1)分析载体图像灰度直方图
读取原始载体图像boat.bmp,绘制该图像的灰度直方图,如图1所示。对该图及其灰度直方图进行分析得出,载体图像的灰度直方图中灰度级值为148的像素值处于峰值点,其值为5769,灰度级值为0至5以及253至255的像素值个数为0。这说明在载体图像中,不存在像素值为0至5,253至255的像素点,在图中像素值为148的像素点个数最多,共有5769个像素点均是该值。
2)更改载体图像像素值
通过分析发现一些灰度级在载体图像内并不存在,可以利用该特点将灰度图像内的灰度级进行调整以方便进行嵌入信息。遍历原始载体图像boat.bmp中的每一个像素点,如果当前像素点的像素值在[6,148]之间,则将当前像素点的像素值做减1处理。处理完图像内所有像素点后,图像内不再存在像素值为148点像素点,新增若干个值为5的像素点。
3)嵌入水印信息
再次遍历修改后的载体图像像素点,在每一个像素值为147的像素点嵌入一个二进制的水印信息0或1。当需要嵌入的二进制水印信息为1时,将当前像素值147加1处理为148;当需要嵌入的二进制水印信息为0时,将当前像素值147保留。完成当前像素点处理后继续处理下一个像素值为147的像素点,以完成水印信息的嵌入。
1.1.2水印信息提取及图像恢复
1)提取水印信息
遍历嵌入了水印信息的载体图像。当遇到像素值为147的像素点,提取一位二进制水印信息0,当遇到像素值为148的像素点时,提取一位二进制水印信息1。遍历图像内像素值为147的像素点后,提取出来的二进制信息串即为嵌入的完整水印信息。
2)恢复载体图像
再次遍历嵌入了认证信息的载体图像,当遇到像素值为[5,147]之间的像素点时,将其像素值加1。遍历完图像后,载体图像即恢复为原始载体图像。如果包含认证信息的载体图像没有经受过攻击,此时得到的复原图像与嵌入水印信息前的载体图像完全一致。
该算法利用载体图像内像素点值个数最多的那些像素点及图像中不存在的某个像素值之间的运算来实现信息的嵌入,信息嵌入的个数完全取决于峰值像素点的个数。在一幅图像中峰值像素点的个数有限,因此能够嵌入的信息并不多。另外,当对载体图像处理后,会在其直方图中本来处于峰值位置的像素点形成波谷,通过分析该波谷会很容易建立嵌入信息和载体信息之间的关系,从而为该可逆水印系统带来安全隐患。本算法在上述算法基础上,对水印信息采用游程编码进行了压缩处理以嵌入更多信息,同时对经过处理的水印信息应用混沌系统进行了加密以提高安全性。
1.2水印信息嵌入过程
1)水印信息压缩处理
在可逆水印中水印信息通常用于完成对载体图像的认证工作,因此要求对水印信息的压缩必须是无损压缩,即经过压缩解压缩后水印信息可以完全复原。这里采用游程编码完成对水印信息的压缩操作。首先,判断水印信息是否为二值信息,如果不是二值信息将其利用位平面编码的方式转换为二值信息进行处理。
位平面编码的基本方法是将多级图像(彩色图像或灰度图像)分解成一系列的二值图像,然后对每幅二值图像应用二值图编码方法进行压缩编码。位平面分解后得到的是二值图,像素值只有0或1两种。许多位平面存在着大量的连续为0或连续为1的区域,利用这种属性可以对位平面进行编码处理。应用该方法除能够有效地消除或减少编码冗余外还能消除或减少图像中像素间冗余。如果灰度图像需要m比特表示,那么任意一个灰度级m都可以表示成一个以2为底的多项式:
g=am-12m-1+am-22m-2+…+a121+a020
其中,al=0,1;i=0,1,2,…,m-1。应用上式处理后,图像的同一比特位的系数集合就是一个二值图像,称为一个“位平面”。位平面的编号从0开始,直到m-1。如果将m个位平面组合,则又得到原来的灰度图像。
将二值信息进一步转换为二值信息序列。在二值序列中,只有“0”、“1”这两种符号,这两种符号的连续排列就形成了“0”游程和“1”游程。在二值序列中“0”游程与“1”游程必定是交替出现的,因此只要记住每个序列的长度及初始元素的值就能唯一地表示一个序列,同时该过程是可逆的。一个二值序列BS可以表示BC如下:
BC={FS,ANl,BNl,…,ANn,BNn}
式中FS表示开始字符,其取值范围为{value|value∈{0,1}},AN表示开始字符的长度,BN表示另外一种字符的长度。如果二值序列长度为Len,则公式满足例如,二值序列{00011100000011111110001100000}可以表示为{0,3,3,6,7,3,2,5}。
对得到的BC序列进一步编码,将其编码为二值进字符串,具体如下:
BR=DE2BN(BC)
式中,BR为处理结果,DE2BN(·)是二进制可逆编码函数。该函数能够计算出BC序列的二进制形式,并能够根据二进制序列得到其唯一的十进制原始序列。
2)水印信息加密处理
采用混沌系统Logistic的改进形式:
对水印信息进行加密。
该系统具有对初始值极为敏感的特性,即使初始值具有微小的不同,也会导致其会最终进化为两个完全不同的序列。因为具有细微差异的两个初始值所产生的不同序列,在其初始阶段具有一定的相似性,为了取得更好的鲁棒性,通常将混沌序列的初始部分舍弃,从其中间的某个位置开始截取一段来使用,以保证得到的序列具有不可逆性、唯一性、不可预测性。
在使用过程中,截取一段长度与加密后的二值化水印信息BR长度n相等的混沌序列X(xi,0<i≤n)进行二值化处理,得到一个二值序列CBS(cbsi,0<i≤n)。式中cbsi为:
将该二值序列CBS与经过压缩后得到的水印二值化信息BR进行异或,从而达到对水印信息加密的目的。具体为:
EX=Xor(CBS,BR)
式中,EX为经过加密后所得到的水印信息,Xor(·)是异或运算。
为了说明上的方便,假设BR的长度为6,其值为{0 1 1 1 1 0}。根据需要,混沌系统所产生的用于加密的二值序列长度也应该是6。给定混沌系统初始值x0=0.98,截取其所产生的第201到206个值为:{-0.784 -0.228 0.896 -0.605 0.268 0.856}。将其进行二值化,得到新的序列CBS为:{1 1 0 1 0 0}。
将CBS与BR进行异或,得到经过加密后的实际用于嵌入的水印信息序列EX为{1 0 1 0 1 0}。
3)水印信息嵌入
读取载体图像O,绘制出其直方图,找出该直方图的峰值点Max及其左侧的连续零值点Li,i∈[0,Max),右侧连续零值点Ri,i∈(Max,255]。
综合考虑水印信息的嵌入容量和嵌入水印信息后载体图像的透明性,利用直方图左右两侧的连续零值点,将峰值点及其左右两侧相邻的像素点共4个像素点进行移动,达到嵌入水印信息的目的。此时,利用一个峰值点能嵌入的水印信息为2个比特位。所需左右两侧连续零值点个数总和Sn、所需左侧连续零值点个数Ln、右侧连续零值点个数Rn之间的关系为:
Ln+Rn=Sn,Ln∈[0,3],Rn∈[0,3],Sn=3
此时,左右两侧的关系存在四种可能,将其标记为“1、2、3、4”四种情况,如表1的。
表1嵌入信息关系及透明性
分类 | Ln | Rn | 透明性 |
1 | 0 | 3 | 低 |
2 | 1 | 2 | 高 |
3 | 2 | 1 | 高 |
4 | 3 | 0 | 低 |
在嵌入信息时,顺序扫描载体图像O,如果遇到峰值点Max,则从水印信息序列EX中选取2个比特位,如果选取的2个比特位的值均为0,则像素点值保持不变;否则,根据不同的情况完成对峰值信息及其邻近像素点的处理,达到嵌入水印信息的目的。具体分为四种情况,如表2所示。
表2峰值点移动情况
各种情况分析讨论如下:
第1种情况:将峰值像素点与其右侧的三个相邻像素点组成一个集合用来实现水印信息的嵌入。首先,将峰值像素点右侧的三个相邻像素点向右移动三位。然后,由待嵌入的水印信息序列EX的值来决定峰值像素点所移动的位数。水印信息与峰值像素点的改变之间的关系如表2中分类1所示。
例如,图1中峰值像素点为148,其右侧不存在像素点值为[253,255]的像素点。处理时,遍历图像内所有的像素点,将该峰值像素点右侧相邻的三个像素点[149,151]均做加1处理,处理完成后,图像内不存在像素点为[149,151]的像素点,新增像素值为[253,255]的像素点。在嵌入水印信息时,当遇到水印信息为“00”时,峰值像素点保持不变;当遇到水印信息为“01”时,峰值像素点向右移动1位,即将当前像素点做加1处理,此处将峰值像素点变为149;当遇到水印信息为“10”时,像素点向右移动2位,即将当前像素点做加2处理,此处将峰值像素点变为150;当遇到水印信息为“11”时,像素点向右移动3位,即将当前像素点做加3处理,此处将峰值像素点变为151。
第2种情况:将峰值像素点与其左侧临近的一个像素点、右侧临近的二个相邻像素点组成一个集合用来实现水印信息的嵌入。首先,将峰值像素点左侧临近的一个像素点向左移动一位,右侧的二个相邻像素点向右移动二位。然后,由待嵌入的水印信息序列EX的值来决定峰值像素点所移动的位数。水印信息与峰值像素点的改变之间的关系如表2中分类2所示。
第3种情况:将峰值像素点与其左侧临近的二个像素点、右侧临近的一个相邻像素点组成一个集合用来实现水印信息的嵌入。首先,将峰值像素点左侧临近的二个像素点向左移动二位,右侧的一个相邻像素点向右移动一位。然后,由待嵌入的水印信息序列EX的值来决定峰值像素点所移动的位数。水印信息与峰值像素点的改变之间的关系如表2中分类3所示。
第4种情况:将峰值像素点与其左侧临近的三个相邻像素点组成一个集合用来实现水印信息的嵌入。首先,将峰值像素点左侧临近的三个相邻像素点向左移动三位。然后,由待嵌入的水印信息序列EX的值来决定峰值像素点所移动的位数。水印信息与峰值像素点的改变之间的关系如表2中分类4所示。
将经过处理后的载体图像标记为Od。
在具体实现时,考虑实际嵌入方式对透明性的影响,可以分别完成四种方式的嵌入,分别测试其透明性,选择透明性最好的一种作为嵌入方案。经过大量实验仿真分析,第1、4种情况透明性较好,在具体实现过程中,需要根据左右存在零值点的实际情况结合透明性进行选择嵌入方案。
1.3水印信息提取过程
1)水印信息提取
提取水印信息时,首先需要获取原始载体图像在嵌入水印信息时所选取的峰值点、左侧连续零值点个数Ln、右侧连续零值点个数Rn。然后,顺序扫描包含水印信息的载体图像Odw′,如果遇到峰值点Max,则提取2个比特位信息“0”;如果遇到其他峰值相关像素点,则根据该像素点值并结合嵌入时的规则,完成信息提取。针对表1当中的四种情况,提取规则如表3所示。
表3提取规则表
为了表格编排的方便,该表为倒逻辑表,即当遇到表内的峰值点及其相关像素点时提取相应的信息串“00、01、10、11”。
提取过程即为嵌入过程的逆过程,将提取到的信息进行解压、解密操作,即可复原水印信息,得到原始水印信息。
2)载体图像恢复
恢复载体图像时,遍历嵌入了水印信息的载体图像,在遇到Max邻近的相关像素点时对其进行恢复,需要针对不同的情况进行处理,具体恢复规则如表4所示。
表4恢复规则
分类 | 恢复为Max值的像素点值 |
1 | Max+1、Max+2、Max+3 |
2 | Max-1、Max+1、Max+2 |
3 | Max-1、Max-2、Max+2 |
4 | Max-1、Max-2、Max-3 |
当遍历完所有像素点后,即完成载体图像的恢复工作。
Claims (4)
1.一种基于直方图的可逆水印方法,其特征是针对待嵌入的水印信息,首先对其进行压缩,然后使用混沌系统对经过压缩的水印信息进行加密以提高系统的整体安全性。
2.根据权利要求1所属的方法,其特征是针对载体图像,首先找出其峰值点,然后将其峰值点和图像中的三个特定的零值点进行运算(位移),以使载体图像达到能够嵌入水印信息的状态。最后,将该峰值点进行总共四种可能的状态变换,以完成二位水印信息的嵌入。
3.根据权利要求1所属的方法,其特征是针对水印信息进行单独压缩处理,保证了嵌入容量独立于透明性,不同于传统的算法需要在透明性和嵌入容量之间取得平衡,能够在保持较高嵌入容量的情况下仍旧具有较好的透明性。
4.根据权利要求1所属的方法,其特征是采用了混沌系统对水印信息进行加密,由混沌系统的敏感性和不可预测性,确保该系统具有较高的安全性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310720094.5A CN104732473A (zh) | 2013-12-19 | 2013-12-19 | 基于直方图的可逆水印方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310720094.5A CN104732473A (zh) | 2013-12-19 | 2013-12-19 | 基于直方图的可逆水印方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104732473A true CN104732473A (zh) | 2015-06-24 |
Family
ID=53456347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310720094.5A Pending CN104732473A (zh) | 2013-12-19 | 2013-12-19 | 基于直方图的可逆水印方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104732473A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110533569A (zh) * | 2019-08-06 | 2019-12-03 | 淮阴工学院 | 基于二次差值扩展的水印处理方法 |
-
2013
- 2013-12-19 CN CN201310720094.5A patent/CN104732473A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110533569A (zh) * | 2019-08-06 | 2019-12-03 | 淮阴工学院 | 基于二次差值扩展的水印处理方法 |
CN110533569B (zh) * | 2019-08-06 | 2023-03-31 | 淮阴工学院 | 基于二次差值扩展的水印处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cao et al. | High capacity reversible data hiding in encrypted images by patch-level sparse representation | |
Qin et al. | Reversible data hiding in encrypted image with separable capability and high embedding capacity | |
Qin et al. | Reversible data hiding in VQ index table with lossless coding and adaptive switching mechanism | |
Yin et al. | Reversible data hiding in encrypted images based on pixel prediction and bit-plane compression | |
CN107493405B (zh) | 基于编码压缩的加密图像可逆信息隐藏方法 | |
Sun | A novel edge based image steganography with 2k correction and Huffman encoding | |
Jo et al. | A digital image watermarking scheme based on vector quantisation | |
CN105741224B (zh) | 基于pvo和自适应块分割的可逆水印算法 | |
Yang et al. | Fractal curves to improve the reversible data embedding for VQ-indexes based on locally adaptive coding | |
Yang et al. | Reversible data hiding of a VQ index table based on referred counts | |
CN109348228A (zh) | 一种基于图像分割和图像空间相关性的图像加密域可逆信息隐藏系统与方法 | |
CN108009975A (zh) | 基于二维直方图修改的jpeg图像可逆信息隐藏方法 | |
CN104933668A (zh) | 一种基于局部定位和Alattar整数变换的可逆水印的处理方法 | |
CN101572819B (zh) | 一种基于量化dct系数零值索引的可逆图像水印方法 | |
Yang et al. | Huffman-code strategies to improve MFCVQ-based reversible data hiding for VQ indexes | |
Yang et al. | A novel coverless information hiding method based on the most significant bit of the cover image | |
Pan et al. | Low bit-rate information hiding method based on search-order-coding technique | |
CN111464717A (zh) | 利用直方图平移的具有对比度拉升的可逆信息隐藏框架 | |
CN114172630B (zh) | 一种基于加法同态加密与多高位嵌入的可逆信息隐藏方法 | |
Wu et al. | A reversible data hiding scheme for encrypted images with pixel difference encoding | |
Zhang et al. | A Reversible Data Hiding Scheme Based on Histogram Modification in Integer DWT Domain for BTC Compressed Images. | |
Weng et al. | Invariability of Mean Value Based Reversible Watermarking. | |
Chen et al. | High-capacity separable reversible data-Hiding method in encrypted images based on block-level encryption and Huffman compression coding | |
Shi et al. | A Blind Watermarking Technique for Color Image based on SVD with Circulation. | |
Lee et al. | Information hiding based on block match coding for vector quantization-compressed images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150624 |
|
WD01 | Invention patent application deemed withdrawn after publication |