专利名称:基于灰度调整的无损信息隐藏方法
技术领域:
本发明涉及一种利用信号处理和计算机技术调整象素灰度值以便在数字图像中进行无损信息隐藏的方法。
背景技术:
信息隐藏是在数字多媒体产品中嵌入额外数据,既可以用作数字水印保护载体产品的k8凯发的版权,也可以用于避开第三方注意的隐蔽通信。目前绝大多数的信息隐藏方法都会对载体信息造成或多或少的影响,而如果接收方既可以提取出秘密数据又可以无误恢复原始载体,则称为无损(或可逆)信息隐藏,可用于医学图像、军事图像等对精度要求较高的载体。
现有的在数字图像中进行无损信息隐藏的方法有一个共性,都是在载体数据中指定一个区域,将该区域中原始数据进行无损压缩,并将压缩后的数据填充到这个区域中,而剩余空间用于嵌入额外的信息。在接收端,取出这个区域的数据,解压前一部分恢复原始载体,而后一部分即嵌入的信息。各种方法所选择的区域不尽相同,可参阅如下论文1.m.goljan,j.fridrich,and r.du,distortion-free data embedding,inproceedings of 4th international workshop on information hiding,lecturenotes in computer science,2137,springer,2001,pp.27-41.
2.m.u.celik,g.sharma,a.m.tekalp,and e.saber,reversible data hiding,in proceedings of international conference on image processing,sept.2002,ii,pp.157-160.
3.j.tian,reversible watermarking by difference expansion,in proceedingsof workshop on multimedia and securityauthentication,secrecy,andsteganalysis,dec.2002,pp.19-22.
4.a.m.alattar,reversible watermark using the difference expansion of ageneralized integer transform,ieee trans.on image processing,13(8),2004,pp.1147-1156.
上述的已有技术,实施时均需对原始数据进行压缩,实现较为复杂而且隐蔽性较差。
发明内容
本发明的目的在于提供一种基于灰度调整的无损信息隐藏方法,可以在灰度或彩色图像中进行无损信息隐藏的方法。实施时无需对原始数据进行压缩,实现更为简单,具有更好的隐蔽性。
为达到以上目的,本发明采用如下方案一种基于灰度调整的无损信息隐藏方法,发送方与接收方拥有共同的密钥或密钥发生器,发送方在数字图像中嵌入额外的秘密数据,接受方收到含密图像后,提取秘密数据,恢复原始图像,其特征在于数据嵌入时根据密钥选定部分象素进行灰度值加1或减1调整,并为灰度饱和的每个象素分配1比特作为标记,再选定另外的部分象素进行信息隐藏,隐藏的信息包括对饱和象素标记和真正要传递嵌入的秘密数据;接收方收到调整后的含密图像后,根据同样的密钥提取饱和象素标记和秘密信息,并根据饱和象素标记进行逆向操作恢复原始图像。
上述的方法的实现步骤如下a.信息隐藏时根据密钥为载体图像的每个象素pi,j分配一个整数值qi,j和一个二元数值ri,j,以决定灰度调整的方式。
b.对pi,j、qi,j不同的象素参照ri,j对灰度值向正向或负向调整,如果调整后的象素灰度达到饱和或超过饱和,分别用0、1标记,并将超过饱和的灰度改为饱和状态。
c.在pi,j、qi,j相同的象素中进行信息隐藏,隐藏的信息包括饱和标记和额外的秘密数据。分别用保持灰度不变和调整灰度代表嵌入的0和1。
d.接收方收到含密图像后,首先从pi,j、qi,j相距较小的象素中提取所有嵌入的数据,前一部分用于恢复原始图像,后一部分即额外嵌入的秘密数据。
e.对pi,j、qi,j相距较大的象素作灰度逆向调整,饱和状态的逆向调整由饱和标记,即提取出的前一部分数据决定。
上述的方法,在彩色或多谱图像中进行灰度调整时,是将彩色或多谱图像的每个颜色分量看作一幅灰度图像,并在不同分量中分别进行基于灰度调整的无损信息隐藏。
上述方法的详细操作步骤如下一、发送方首先根据密钥为载体图像的每个象素pi,j伪随机地分配一个整数值qi,j,这里0<q1≤qi,j≤q2<255,即q1、q2分别是qi,j的下界和上界,并且落于 范围之内;并且根据密钥再为每个象素分配一个二元数值ri,j,即ri,j∈{ 1,-1}。发送方如下处理每个象素1.如果ri,j= 1且pi,j>qi,j,则对该象素灰度值做 1处理,即p’i,j=pi,j 1。若处理后的灰度值为255,标记此象素为0;若处理后的灰度值为256,为避免灰度值的溢出,标记此象素为1,并将灰度值改为255。逐行扫描这些标记记为序列x1。
2.如果ri,j=-1且pi,j<qi,j,则对该象素灰度值做-1处理,即p’i,j=pi,j-1。若处理后的灰度值为0,标记此象素为0;若处理后的灰度值为-1,为避免灰度值的溢出,标记此象素为1,并将灰度值改为0。逐行扫描这些标记记为序列x2。
3.将x1和x2合并为一个序列x,称作“饱和象素标记序列”。设x的长度为lx,载体图像的象素灰度极少接近纯色,所以lx通常远小于下文的ly。
4.在满足条件pi,j=qi,j的象素上进行信息隐藏,记满足这样条件的象素有ly个,设原始图像灰度值在qt、q2之间的象素共有sq个,那么ly≈sq/(q2-q1 1)。将x与(ly-lx)个额外的秘密比特组成欲嵌入的序列y,并将y中的每个比特对应于一个满足上述条件的象素。如果y中的比特为0,对应象素不作任何改动;如果y中的比特为1,对应象素则作如下改动p’i,j=pi,j ri,j。
5.其它象素保持不变。
如果载体图像是彩色图像或多谱图像,可以将图像的每个颜色分量看作一幅灰度图像,并作上述处理。处理后,发送方便可以传送灰度调整后的含秘密数据的图像。
二、接收方收到含密图像后,根据同样的密钥为每个象素分配qi,j、ri,j。由于密钥相同,这里的qi,j、ri,j与发送方的qi,j、ri,j也是相同的。记收到的图像象素灰度值为p’i,j,提取秘密数据和恢复原始载体图像的过程如下1.首先提取序列y。从所有p’i,j=qi,j或p’i,j=qi,j ri,j的象素中提取1比特信息如果p’i,j=qi,j,则从该象素中提取0;如果p’i,j=qi,j ri,j,则从该象素中提取1,并将该象素灰度变为qi,j。由提取出的0和1构成的序列即y。
2.逐行处理象素,如果ri,j= 1且qi,j 1<p’i,j<255,则将p’i,j减1;如果ri,j= 1且p’i,j=255,则从y中顺次取出一个比特,若此比特为0,便将p’i,j减1,若此比特为1,p’i,j依旧保持为255。
3.重新逐行处理象素,如果ri,j=-1且0<p’i,j<qi,j-1,则将p’i,j加1;如果ri,j=-1且p’i,j=0,则从y中顺次取出一个比特,若此比特为0,便将p’i,j加1,若此比特为1,p’i,j依旧保持为0。
4.按照上述三个步骤调整后的载体图像即为原始图像,y中剩余比特即额外嵌入的秘密数据。
如果接收到的图像是彩色图像或多谱图像,接收方可以在不同颜色分量中分别进行上述操作。
本发明与现有技术相比,具有如下显而意见的突出实质性特点和显著优点本发明隐蔽额外数据的空间由调整灰度值产生,并不基于载体数据的无损压缩,因此不需任何无损压缩技术,实现更为简单;信息隐藏对载体图像的象素只改变一个灰度级别,具有更好的隐蔽性。
图1是本发明的一个实施例的原始载体图像。
图2是实施例中根据密钥为每个象素产生的qi,j。
图3是实施例中根据密钥为每个象素产生的ri,j。
图4是实施例中隐藏了秘密数据的图像灰度值。
具体实施方法本发明的一个优选实施例详述如下以下结合附图描述本实施例进行信息隐藏、数据提取、图像恢复原始载体图像通常较大,为方便示意本发明如何工作,下面借助大小为4×6的载体图像块进行说明,其原始灰度值如图1。根据密钥为每个象素产生的qi,j和ri,j分别如图2、图3。
发送方进行信息隐藏的过程如下1.满足ri,j= 1且pi,j>qi,j的象素有(1,1)、(1,6)、(2,2)、(2,6)、(3,3)、(4,5),将这些象素的灰度值由137、255、139、254、138、136分别改为138、255、140、255、139、137。这里,标记(1,6)象素为1、标记(2,6)象素为0,序列x1即(10)。
2.满足ri,j=-1且pi,j<qi,j的象素有(1,3)、(2,1)、(2,4)、(3,6)、(4,2),将这些象素的灰度值由140、138、145、143、0分别改为139、137、144、142、0。这里,标记(4,2)象素为1,序列x2即(1)。
3.合并x1和x2为序列x,x=(101)。
4.满足条件pi,j=qi,j的象素有6个(1,2)、(1,4)、(2,3)、(3,1)、(3,5)、(4,3),超过序列x的长度。设欲额外嵌入的秘密数据为(001),那么y=(101001)。根据y和ri,j调整上述6个象素的灰度值,即由138、143、145、135、143、130调整为137、143、146、135、143、129。
5.综合上述各个步骤,含密图像的各象素灰度值如图4。发送方将此含密图像传送出去。
接收方收到含密图像(图4)后,首先根据密钥生成相同的qi,j和ri,j(如图2、图3),然后进行数据提取和图像恢复1.满足p’i,j=qi,j或p’i,j=qi,j ri,j的象素共6个(1,2)、(1,4)、(2,3)、(3,1)、(3,5)、(4,3),从满足p’i,j=qi,j的象素中提取0,从满足p’i,j=qi,j ri,j的象素中提取1,并将这些象素灰度改为对应的qi,j,将提取出的信息按照次序排列为(101001)。
2.满足ri,j= 1且qi,j 1<p’i,j<255的象素有(1,1)、(2,2)、(3,3)、(4,5),将这些象素的灰度减1。满足ri,j= 1且p’i,j=255的象素有(1,6)、(2,6),从步骤1提取的信息中取出前两比特(10),根据这两比特的标识,分别保持(1,6)象素灰度不变、将(2,6)象素灰度减1。
3.满足ri,j=-1且0<p’i,j<qi,j-1的象素有(1,3)、(2,1)、(2,4)、(3,6),将这些象素的灰度加1。满足ri,j=-1且p’i,j=0的象素有(4,2),再从步骤1提取的信息中取出一比特(即第三比特),此比特为1,那么保持(4,2)象素依旧为0。
4.步骤1提取的信息尚余3比特(001),即为额外嵌入的秘密数据。对含密图像进行灰度调整后的结果即原始图像,此结果与图1相同。
权利要求
1.一种基于灰度调整的无损信息隐藏方法,发送方与接收方拥有共同的密钥或密钥发生器,发送方在数字图像中嵌入额外的秘密数据,接受方收到含密图像后,提取秘密数据,恢复原始图像,其特征在于数据嵌入时根据密钥选定部分象素进行灰度值加1或减1调整,并为灰度饱和的每个象素分配1比特作为标记,再选定另外的部分象素进行信息隐藏,隐藏的信息包括对饱和象素标记和真正要传递嵌入的秘密数据;接收方收到调整后的含密图像后,根据同样的密钥提取饱和象素标记和秘密信息,并根据饱和象素标记进行逆向操作恢复原始图像。
2.根据权利要求1所述的基于灰度调整的无损信息隐藏方法,其特征在于实现步骤如下a.信息隐藏时根据密钥为载体图像的每个象素pi,j分配一个整数值qi,j和一个二元数值ri,j,以决定灰度调整的方式。b.对pi,j、qi,j不同的象素参照ri,j对灰度值向正向或负向调整,如果调整后的象素灰度达到饱和或超过饱和,分别用0、1标记,并将超过饱和的灰度改为饱和状态。c.在pi,j、qi,j相同的象素中进行信息隐藏,隐藏的信息包括饱和标记和额外的秘密数据。分别用保持灰度不变和调整灰度代表嵌入的0和1。d.接收方收到含密图像后,首先从pi,j、qi,j相距较小的象素中提取所有嵌入的数据,前一部分用于恢复原始图像,后一部分即额外嵌入的秘密数据。e.对pi,j、qi,j相距较大的象素作灰度逆向调整,饱和状态的逆向调整由饱和标记,即提取出的前一部分数据决定。
3.根据权利要求1或2所述的基于灰度调整的无损信息隐藏方法,其特征在于在彩色或多谱图像中进行灰度调整时,是将彩色或多谱图像的每个颜色分量看作一幅灰度图像,并在不同分量中分别进行基于灰度调整的无损信息隐藏。
全文摘要
本发明涉及一种基于灰度调整的无损信息隐藏方法,发送方与接收方拥有共同的密钥或密钥发生器,发送方可以在数字图像中嵌入额外的秘密数据,接收方不但可以从含密图像中提取秘密数据,而且可以无误恢复原始图像。发送方根据密钥选定部分象素对灰度值进行加1或减1调整,并为灰度饱和的每个象素分配1比特作为标记。发送方再根据密钥选定另外的部分象素进行信息隐藏,灰度值不变表示嵌入0、灰度值加1或减1调整表示嵌入1。嵌入的信息包括饱和象素标记和真正额外嵌入的秘密数据。接收方收到调整后的含密图像后,根据同样的密钥提取饱和象素标记和秘密信息,并根据饱和象素标记进行逆向操作恢复原始图像。本发明可用于以灰度、彩色等数字图像为载体的信息隐藏。本发明无需对原始数据进行压缩,实现更为简单,具有更好的隐蔽性。
文档编号g06t1/00gk1604137sq20041006779
公开日2005年4月6日 申请日期2004年11月3日 优先权日2004年11月3日
发明者张新鹏, 王朔中, 王威娜 申请人:上海大学