一种基于预测和压扩技术的高容量可逆水印方法

文档序号:6610075阅读:215来源:国知局
专利名称:一种基于预测和压扩技术的高容量可逆水印方法
技术领域
本发明涉及一种基于预测和压扩技术的高容量可逆水印方法,尤其是高容 量的可逆水印,属于数字水印技术领域。
背景技术
数字水印技术是指在数字多媒体中嵌入一些标识或者签名而又不被察觉的 一种技术。它在有些应用场合起到至关重要的作用,比如数字媒体的版权保护、 认证、数据完整性、数字指纹以及数据隐藏等。然而,数字水印通常对载体图 像引入了一些细微的、不可逆的或一些永久的失真,尽管这些失真是非常轻微 的,但是在一些对精度要求高的领域,比如法律、医学和军事系统等,当隐藏 数据被提取后,原始图像需要被无失真地恢复,因此即使是非常轻微的失真也 是不允许的。在这种情况下,出现了无失真地恢复原始图像的嵌入技术,又称 可逆的,无损的或者是可消除的数据嵌入技术。
为了满足这些可逆的要求,近几年出现了一些可逆水印技术,图l给出了一 般可逆水印处理系统的模型,其中『为水印调制和编码后待嵌入的水印模式, I为载体媒体,二者由密钥《控制经过水印嵌入器五m得到嵌有水印的载体媒体
Iw, X^在无失真的环境下进行传输;在水印提取器五x端,由相同的密钥《控
制进行水印提取,得到提取的水印『^并同时得到恢复后的载体媒体X,。可逆水
印的定义要求水印和原始载体都能够被完整而精确地恢复,即^=『且 A^=I,能够满足这个要求的水印算法则可称作可逆水印算法。根据水印生成 和嵌入算法容量的不同,可逆水印可分为脆弱可逆水印、半脆弱可逆水印和高 容量可逆水印。在此重点介绍目前比较流行的高容量可逆水印方法。
最早的一个高容量可逆水印方案的细节如下图像被分成互不重叠的像素
块,每一块包含一定数量的相邻的像素对。例如它可能是一个包含四个相邻像
素的像素块。所产生的像素块按照一个判别函数被分为三个分类Eegular, Singular, ynusable。在每个分块中应用可逆操作,即把一个分类映射到另一个 分类F(R)二S, F(S)=R, F(U)=U,从而达到嵌入水印的目的。另外,两次可逆 操作可以恢复原始像素值。然而它的容量仍旧不高,只能达到0.011bpp到 0.092b卯。另一个问题是,当容量提高时,视觉质量下降很快。
2003年提出了一种基于直方图移位的可逆水印新技术。此技术将图像的空域 直方图的部分区域进行整体平移,人为制造冗余以调制需要嵌入的水印信息。 通过找到直方图峰点P (图像中出现次数最多的像素点)和零点Z (出现次数为零 的像素点),将灰度值区域[尺Z + 1]内的直方图部分向右平移一个灰度刻度,也就 是把原始图像所有在[尺Z + 1]区域内的像素值加1,从而空出原来的峰点户,而原
来的尸+ 1灰度刻度上的幅值则变成了直方图峰值见然后将幅值7V根据水印信 息"0"或"1"调制到F或P + 1上。此方法具有相当高的嵌入容量(0.019b卯 到0.31bpp),同时能保持较好的视觉效果(峰值信噪比(PSNR值)能达到48dB 以上)。
Tian (作者J. Tian,"基于差扩展的可逆水印嵌入技术",发表于电 气与电子工程师协会出版的视频技术电路和系统学报2003年第十三期。)
提出了一种差值扩展的技术,实际上是用整数Haar小波(或称S-变换)对高频系 数进行比特移位来进行数据嵌入。Tian对两个相邻像素(像素对)进行整数Haar 变换,得到两个像素的差和均值。对于得到的差值,使其左移一个比特而空出 最不重要位去携带1比特水印(这个过程称为差扩展)。扩展之后不会引起上 溢或下溢的差值,称为可扩展的差值。在Tian的方法中,为了完全地恢复出原 始图像,引入了一个位置图来记载可扩展的位置。
在实验过程中,通常选取绝对值低于某个给定门限的差值用作嵌入。如果 阈值不高,则在嵌入过程中被扩展的差值的数目就不多,因而能保持较高的峰 值信噪比(PSNR值)。但这会导致位置图的压縮比较低,从而会消耗大部分的 可用容量,降低了嵌入容量。如果阈值提高,位置图虽然能被高效压縮,但是 由于修改的可扩展差值的增加,降低了峰值信噪比(PSNR值)。
Thodi (作者M. Thodi and J. J. Rodriguez,"基于预测误差的可逆水印" 发表于2004届电气与电子工程师协会图像处理国际会议。)的方法是用每个 像素的三个邻近像素来预测它,然后计算预测误差。通过对预测误差进行差扩 展来达到嵌入水印的目的。
在阈值不高的情况下,此方法也存在和Tian的方法相同的缺点。 本发明的目的就是针对现有技术存在的问题,提出了一种基于预测和压扩 技术的高容量可逆水印方法,即使选择较少的可扩展像素,也能实现较高的嵌 入容量,同时保持了较高的峰值信噪比(PSN时直)。

发明内容
本发明的目的是通过以下技术方案实现的。
一种基于预测和压扩技术的高容量可逆水印方法,它包括两个过程水印
嵌入过程和水印提取过程。
在水印嵌入过程中,首先采用预先定义的扫描方式,例如栅格扫描方式, 把二维图像排列成一个一维序列。在对排列后的每一个像素值处理过程中,本 发明提出了一种简单而高效的预测方法,就是用它右邻的像素来预测它本身, 并得到预测误差。
对于大的预测误差,如果直接用作水印嵌入会导致较高的嵌入失真。如果 不用作嵌入,则记载嵌入位置的位置图又会很难压縮。同时,压縮后的位置图 会消耗大部分的可用容量,从而导致低的嵌入容量。因此怎样对大的预测误差 进行处理成为提高嵌入容量而维持低的嵌入失真的关键。本发明用压扩技术把 预测误差大的值压縮成较小的值,然后对这些小值进行嵌入。从而大大增加嵌 入位置的数目,进而可以提高位置图的压縮比。此外,因为是对压縮后的值进 行嵌入,而非大的预测值本身,因此可以保证很好的视觉效果。
借助于压扩技术,本发明把所有的像素分成两类。对于第一类的每一个像 素,首先对其预测误差进行压扩操作,然后再进行左移一位操作,最后把水印 嵌在最不重要位上。而第二类的像素保持不变。
作为嵌入过程的逆过程,水印提取过程也把所有的水印像素分成两类。对 于第一类水印像素,其预测误差实际上是原始的预测误差的两倍再加上水印信 息。因而,通过提取预测误差的最不重要位就可以得到水印信息。而对第二类 的水印像素不做任何的操作。
本发明的有效性和优点(l)计算复杂度较低;(2)在选择较少的可扩展像素 的情况下仍旧能保持较高的嵌入容量。实验结果表明,所设计的基于预测和压 扩技术的可逆水印方法——无论是在嵌入容量上,还是视觉效果上,都有了相
当程度的提高。总之,压扩技术的引入使的方法既能提高嵌入容量,又能保持 较低的嵌入失真。大量的实验也证明的算法无论在嵌入容量还是峰值信噪比
(PSNR值)上都远远优于Tian的算法。


图1为可逆水印处理系统的一般模型示意图; 图2为本发明的嵌入框图3为本发明与Tian、 Thodi方案的性能比较,以512x512 'Lena'图像 做测试图像;
图4为本发明与Tian、 Thodi方案的性能比较,以512x512 'Baboon,图 像做测试图像。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步描述。
对于一幅为rxc的原始图像/ ,所有的像素按照光栅顺序排列成一个一维序 列、^,…Am,其中s,表示在位置/上的像素值,BWrxc。
如图2所示,本发明的嵌入过程包括以下几个部分 1.预测操作
"+1 (1) 其中S,表示当前的像素值,《表示其预测值。对于每一个排序后的像素,预测操
作实质上是用其右邻的像素来预测它本身。
由于预测都是有偏差,因而会产生一个预测误差
(2)
其中化表示预测误差。
预测操作之后,用压扩技术对预测误差进行处理。 2.压扩技术
除了考虑使用整数变换获得较小的数值幅值绝对值外,常用于语音处理的压 扩技术也可被用来减小高幅值数值比特移位产生的大幅度信号失真。在本发明 中,压扩技术被用来压縮数值较大的预测误差,使其适应比特移位的需要,具 有以下优点 一方面避免像素幅值的溢出,另一方面减小高幅值比特移位所引 起的大幅度失真。设C为压縮函数,f为扩展函数,则变量X的压扩过程应满足
E(C(x)) = x
(3)
本发明根据压扩原理采用了一个有效率压縮函数c^,在此压縮函数中,幅
值的比特移位失真可由预先设置的一个阈值j;进行控制,从而取得数据容量和
失真的较佳平衡和整体性能提升。压縮函数C^定义为
<formula>formula see original document page 11</formula>(4)
相应的扩展函数五e为
<formula>formula see original document page 11</formula>
对于<formula>formula see original document page 11</formula>
式(4)可以表示成<formula>formula see original document page 11</formula>
(6)
因为l《l^7;, 7;^o,且7;eZ,则
<formula>formula see original document page 11</formula>(7)
假设y叫尸e卜7;, y的二进制表示为j^Vv'-VA,e(0,11,又因为
<formula>formula see original document page 12</formula>
带入公式(7)得:
<formula>formula see original document page 12</formula>(8)
从公式(8)可以看出在lsl》7;,压扩误差r已不再恒为零,而是一个0或1
的随机数,因此为了可逆的恢复原始的像素值,压扩误差r必须作为嵌入数据的 一部分,嵌入到原始图像中。
3.分类
在嵌入水印后,根据上溢和下溢的限制,像素被分成以下两个类《,&。
S-对于每一个s,如果基于公式(10)的、满足不等式(9),则其被归入S。
<formula>formula see original document page 12</formula>
(9)
<formula>formula see original document page 12</formula>(10)
&:其余的则属于&
s,被进一步分成两类s《和s^。 s《包含了预测误差《小于阈值7;的所

有像素,s^包含了其余的像素,也就是其预测误差《大于或等于阈值7;。这 样分类是因为在s《中所有的像素都可以携带i比特的水印信息而不会引入任 何的额外信息,因此其对嵌入容量有直接的贡献。尽管s^中的所有的像素值也 可以嵌入i比特的水印信息,但是其压扩误差作为嵌入数据的一部分也需要被 嵌入到图像当中,和其所携带的水印信息相抵消,所以其对嵌入容量没有做出 任何直接的贡献。但是它的加入可以大大的提高s中像素的数量。例如,对于
512x512的'Lena,图像,在阈值7;为3的时候,由于压扩技术的应用,使得
几乎所有的像素值都属于S,。从而记载S,中像素的位置信息的位置图能被高效 的压縮,因此的方法可以大大的降低位置图所消耗的容量。最终达到提高容量 的目的。
4.数据嵌入
对于原始图像/,为了算法的简单,保持^_在嵌入过程不变。嵌入过程分为 以下三个步骤
(1) 位置图的形成按照光栅次序把所有的像素分成两类。第二类在嵌入的过 程保持完整,也就是不作任何的改动。用一个一维的位置图,大小为lx^, 来标识这两类,位置图中符号表示S,中的像素,'0'表示&中的像 素。用算术编码无损压縮位置图。压縮后的码流表示为Z。假设其长度为 丄,。因此嵌入数据来自三个方面l)压縮后的码流丄;2)载荷户;3)压扩 误差行成的码流i 。
(2) 嵌/ 和尸对于前Z^个像素中的每一个,如果它属于&,则按照公式(9) 嵌入,使其携带P中的1比特信息。如果属于&,则其保持不变,也就
是、="在处理操作完成之后,收集、的最不重要位(LSB),并把其最
不重要位添加到户的后面。如果这个像素属于s,则这个添加的比特就 是嵌入水印后的值(、)的最不重要位,如果其属于&,则这个添加的 比特就是原始像素值的最不重要位。在前丄5个像素被处理完之后,嵌入的
比特流为载荷P中剩余的比特,^个添加的比特,还有i 。其余的 rxc-Z^个像素,对其处理的过程和前^个像素类似。但不同的是其、的 LSB不需要收集。注意i 必须放到最后嵌,因为在提取过程中,它的每一 个比特用来恢复其他的原始像素值。因此它必须被最先的提取出来才能保
证整个图像的可逆恢复。
(3)嵌£:对于步骤2所处理完的像素序列。前^个像素的最不重要位用丄所 包含的比特流来代替。
最后把结果的一位像素序列转化为二维的水印图像4 作为嵌入过程的逆过程,提取过程介绍如下
把;中所有的像素按照光栅的次序排成 一 维序列 化W,^',…,^^,^^+p…,、,J。由于最后一个值没有做任何修改,因此其和 原始值是一样,也就是^,二^。
提取过程分为以下三个步骤
(1) 位置图的恢复收集所有像素的最不重要位,形成一个比特流。在此 比特流中找到算术编码的结束符,从开始到结束符的比特流被解压縮 得到原始位置图。由位置图区分出S和&。提取过程是从后往前提,
即(、,xe,…,,、a', ,、,2',、,/},原因是最先提取出来的是^中的 比特。它是其他像素值的压扩误差,只有先得到这些误差,别的像素 值才能正确的恢复出来。
(2) 倒序的前"C-"个像素的恢复和水印的提取对每一个像素,如果其 属于&,其保持不变,即^ =、。如果其属于S,按照公式(1)计算 它的预测值。因为是倒序,所以它的预测值实际上就是他的左邻的 已经被恢复出来的像素值。其所携带的水印比特提取为
w = Mod(i^.,2) (11)
2
,/是从rxc-l递减到丄,+l的任一个数。前丄,

恢复出来的水印比特实际上就是i 倒序排列之后形成的比特流,这里用 》来表示。其余恢复的比特包含了 C的倒序比特流和一部分载荷比特。 用( 来表示C的倒序排列的比特流。
原始像素值恢复为
<formula>formula see original document page 15</formula>(12a) (12b)
其中we》。
(3).倒序的后丄'个像素的恢复和水印的提取对于这些像素,首先它们的
最不重要位由提取出的(?中的比特流来代替。也就是
<formula>formula see original document page 15</formula>其中we( , /是从A递减到1的任一个数。然后分别按照公式(ll)、 公式(12a)、公式(12b)进行水印的提取和原图像的恢复。
在图3、 4中,横坐标用来表示嵌入容量,单位是每像素比特(bpp),纵坐 标用来表示峰值信噪比(PSNR值)。
以'Lena'图像为例,从图3中可以看出,在低嵌入比特率的时候,本发明 的峰值信噪比(PSNR值)远远优于Tian方法和Thodi方法的峰值信噪比(PSNR 值)。随着嵌入率的增加,本发明的峰值信噪比(PSNR值)有所下降,并被Tian 的和Thodi所超过。
以'Baboon'图像为例,从图4中可以看出,在不超过lbpp的几乎所有嵌 入比特率中,本发明的PSNR均优于Tian和Thodi两种方法。
大量的实验结果表明,与以往大部分的同类方案相比,所设计的基于预测和
压扩的可逆水印方案——无论是在嵌入容量上,还是在恢复图像质量的主观评 价上,都有了相当程度的提高。
权利要求
1.一种基于预测和压扩技术的高容量可逆水印方法,其特征在于包括水印嵌入和提取两个过程;在水印嵌入过程中,首先采用预先定义的扫描方式,把二维图像排列成一个一维序列,在对排列后的每一个像素值处理过程中,用右邻的像素来预测,并得到预测误差;把预测误差大的值压缩成较小的值,然后对这些小值进行嵌入,增加嵌入位置的数目,提高位置图的压缩比;把所有的像素分成两类,对于第一类的每一个像素,首先对其预测误差进行压扩操作,然后再进行左移一位操作,最后把水印嵌在最不重要位上,而第二类的像素保持不变;水印提取过程把所有的水印像素分成两类,对于第一类水印像素,其预测误差实际上是原始的预测误差的两倍再加上水印信息,因而,通过提取预测误差的最不重要位就可以得到水印信息,而对第二类的水印像素不做任何的操作。
2. 根据权利要求1所述的一种基于预测和压扩技术的高容量可逆水印方 法,其特征是水印嵌入过程首先采用预先定义的扫描方式,把二维图像排列成一 个一维序列,在对排列后的每一个像素值处理过程中,用它右邻的像素来 预测它本身,并得到预测误差;其次用压扩技术把预测误差大的值压縮成 较小的值,然后对这些小值进行嵌入;为了可逆的恢复原始的像素值,压 扩误差r必须作为嵌入数据的一部分嵌入到原始图像中;在嵌入水印后,根据上溢和下溢的限制,像素被分成S,和&两类;对<formula>formula see original document page 3</formula>于每一个s,如果基于公式 ,,=^+2尸。,+>1;= 2'' 的、满足不等式0S、,S255,则其被归入S;其余的则属于52;S被进一步分成两类S《和S^, S《包含了预测误差《小于阈值7; 的所有像素;S^包含了其余的像素,也就是其预测误差g大于或等于阈值^数据嵌入分为以下三个步骤(1) 位置图的形成按照光栅次序把所有的像素分成S和&两类, 第二类在嵌入的过程保持完整,也就是不作任何的改动;用一 个一维的位置图,大小为lxrc,来标识这两类,位置图中符号'r表示s中的像素,'0,表示&中的像素;用算术编码无损压縮位置图,压縮后的码流表示为丄,假设其长度为L,, 因此嵌入数据来自三个方面l)压縮后的码流丄;2)载荷户; 3)压扩误差行成的码流W;(2) 嵌i 和户对于前丄,个像素中的每一个,如果它属于S,则 按照0S 卢255嵌入,使其携带P中的1比特信息;如果属 于&,则其保持不变,也就是、=5;在处理操作完成之后,收集、的最不重要位(LSB),并把其最不重要位添加到户的后面;如果这个像素属于《,则这个添加的比特就是嵌入水印 后的值(^)的最不重要位,如果其属于5*2,则这个添加的比特就是原始像素值的最不重要位;在前^个像素被处理完之后,嵌入的比特流为载荷户中剩余的比特,丄,个添加的比特,还有/ ;其余的rXC-^个像素,对其处理的过程和前Z^个像素类似;(3)嵌L:对于歩骤(2)所处理完的像素序列,前^个像素的最 不重要位用丄所包含的比特流来代替;最后把结果的一位像素 序列转化为二维的水印图像/『;水印提取过程把4中所有的像素按照光栅的次序排成 一 维序列k、,',、2,…,^;,,由于最后一个值没有做任何修改,因此其和原始值是一样,也就是、_=^。; 提取过程分为以下三个步骤(1) 位置图的恢复:收集所有像素的最不重要位,形成一个比特流;在 此比特流中找到算术编码的结束符,从开始到结束符的比特流被解压縮得到原始位置图,由位置图区分出5;和&;提取过程是从后往前提,艮P:化^,…,、丄,""V,',…,^2',^);(2) 倒序的前rxc-丄,个像素的恢复和水印的提取对每一个像素, 如果其属于&,其保持不变,§卩5 =、;如果其属于^,按照《;、, 计算它的预测值;因为是倒序,所以它的预测值实际上就是它 的左邻的已经被恢复出来的像素值;其所携带的水印比特提取为<formula>formula see original document page 5</formula>是从rxc-l递减到A+l的任一个数;前丄,个恢复出来的水印比特实际上就是i 倒序排列之后形成的比特 流,这里用》来表示,其余恢复的比特包含了C的倒序比特流和一 部分载荷比特,用5来表示C的倒序排列的比特流;原始像素值恢复为<formula>formula see original document page 5</formula>(3).倒序的后^个像素的恢复和水印的提取对于这些像素,首先它们的最不重要位由提取出的(?中的比特流来代替,也就是<formula>formula see original document page 5</formula>其中we( ,/是从A递减到1的任一个数,然后分别按照公式(1)、 (2a)、 (2b)进行水印的提取和原图像的恢复'
全文摘要
本发明公开了一种基于预测和压扩技术的高容量可逆水印方法,通过引入压扩技术,包括两个过程水印嵌入过程和水印提取过程。有效地解决了目前可逆水印算法中位置图的容量消耗问题,达到了即使在低阈值的情况下,也能得到较高嵌入容量的目的。同时由于本发明是对高的预测误差压缩后再进行数据嵌入的操作,因此本发明仍能保持较高的峰值信噪比(PSNR值)。
文档编号G06T1/00GK101105857SQ20071011933
公开日2008年1月16日 申请日期2007年7月20日 优先权日2007年7月20日
发明者倪蓉蓉, 潘正祥, 翁韶伟, 耀 赵 申请人:北京交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1