基于jpeg数字图像的高容量隐写方法

文档序号:7712705阅读:220来源:国知局

专利名称::基于jpeg数字图像的高容量隐写方法
技术领域
:本发明属于多媒体信号处理和信息安全领域,具体涉及一种基于JPEG数字图像,通过修改传统JPEG标准8*8量化表为16*16量化表的高容量隐写方法。
背景技术
:现在图像的信息隐藏技术主要集中在空域和变换域上。空域的算法是对图像不做任何变化,直接在图像内嵌入隐写信息。常用的算法比如LSB(最低有效位LeastSignificantBit),直接将每个像素的最低位替换掉,嵌入Ibit信息,达到在视觉上不会引起变化的目的。这种算法的优点是隐写容量大,缺点是鲁棒性差,最轻微的隐写攻击也会让整个隐写系统遭到严重的破坏,导致不能提取隐写信息或者提取出的隐写信息不能被识别。目前多数信息隐藏方法都采用了变换域技术,即把待隐藏的信息嵌入到载体的一个变换空间中,如频域。用变换域方法的优点是在变换域中嵌入的信号能量可以分布到空域的所有像素上。在变换域中,人的感知系统的某些掩蔽特性可以更方便地结合到编码过程中。变换域方法可与数据压缩标准,如JPEG兼容。常用的变换包括离散余弦变换DCT(Discrete-CosineTransform)和小波变换。常用算法比如Jsteg,对载体图像进行DCT变化,然后在非1、非0和非-1的点的LSB嵌入Ibit隐写信息。一般来说,变换域方法对诸如压缩、修剪和某些图像处理等的攻击的鲁棒性更强,但隐藏信息的容量小。有学者提出通过修改JPEG量化表以达到增加隐写容量的目的,但一直没有很好的方案以解决这一问题,并平衡隐写系统不可见性、鲁棒性和容量这三者的关系。相对的参考对比文献有以下两篇[IJChin-ChenChang,Tuan-ShouChen,Lou-ZoChung.AsteganographicmethodbaseduponJPEGandquantizationtablemodification.InformationSciences141(2002)123-138[2JAdelAlmohammad,RobertM.Hierons,Gheorghita.HighCapacitySteganographicMethodBasedUponJPEG.TheThirdInternationalConferenceonAvailability,ReliabilityandSecurity.2008文献[1]是最早提到通过修改JPEG量化表以达到增加频域隐写容量的论文。该论文将传统的JPEG标准8*8量化表中频系数全部置1,以达到保留更多图像中频冗余信息的目的。文献[2]则在文献[1]的基础上,提出了16*16量化表的设想,并实验证明了16*16量化表比8*8量化表能提供更大的隐写容量,并保证隐秘图像的图像质量。本发明在文献[1]和文献[2]的基础之上,通过理论和实验制订了最优化推荐16*16量化表,最大化改进了频域隐写方法的容量问题。
发明内容本发明克服了现有基于JPEG数字图像频域隐写算法容量低的缺点,提出了一种基于修改JPEG量化表,以达到极大增加隐写容量的方法,同时可以改善隐秘图像的图像质量,加强隐秘图像的鲁棒性,即抗攻击性。为了实现上述目的,本发明方法所采用的技术方案如下一种基于JPEG数字图像格式的隐写方法,包括隐写信息的嵌入过程,其特征是所述隐写信息的嵌入过程包括以下步骤a.对图像分割成16*16大小的若干个分块,若有分块不满足16*16,则用0补充为16*16;b.对每个16*16分块进行离散余弦变换;c.每个分块都用16*16量化表进行量化,即用每个16*16分块中的值除以对应16*16量化表上的值;d.量化完成后,在每个16*16分块的上三角区域的每个值的最后两位嵌入2bit隐写信息,其中隐写信息可经过加密处理;e.将图像进行反量化、反离散余弦变换,按照JPEG编码规则生成含隐写信息的隐秘图像。其中步骤c和步骤d是隐写信息嵌入过程的主要步骤。嵌入过程的核心思想是步骤c中对16*16量化表的应用。一种基于JPEG数字图像格式的隐写方法,包括隐写信息的提取过程,其特征是所述隐写信息的提取过程包括以下步骤a.对隐秘图像根据JPEG编码规则进行解码;b.对图像分割成16*16大小的若干个分块,若有分块不满足16*16,则用0补充为16*16;C.对每个16*16分块进行离散余弦变换;d.每个分块都用16*16量化表进行量化,即用每个16*16分块中的值除以对应16*16量化表上的值;e.量化完成后,在每个16*16分块的上三角区域的每个值的最后两位提取出2bits隐写信息;f.提取出全部信息后按嵌入顺序组合为隐写信息,其中如果隐写信息经过加密,则还使用加密规则进行解密。图1是本发明方法的嵌入过程示意框图;图2是本发明方法的提取过程示意框图;图3是本发明设计的16*16量化表;图4是实施例中的图像分块,数值代表像素;图5分块DCT、量化以后的矩阵元素数字,以及嵌入顺序。嵌入顺序如箭头所示;图6是嵌入隐写信息后的分块;图7是生成的隐秘图像的16*16分块,数值代表像素;图8至图10依次是512*512像素的8位灰度图像lena.jpg、peppers.jpg、plane,jpg禾口ecust.jpg;图11是110*110像素的8位灰度图像ecust.jpg。具体实施例方式下面结合实施例和附图对本发明作进一步说明。量化表是本发明的核心思想。如何制定一个合理的量化表是达到增加隐写容量的关键。附图3的量化表的设计思路如下每个16*16分块进行离散余弦变换之后,矩阵内共有256个元素,其中左上角第一行第一列那个数值最大的元素称为DC系数,该系数集中了这个频域分块内最多的能量,可以理解为是该分块内最重要的数值,因而要对其进行较小幅度的量化;其余255个元素称为AC系数,255个AC系数从左上角向右下角依次划分为低频、中频和高频系数区;人眼对低频系数较敏感而无法分辨高频系数的确切强度;从信息隐藏的角度来说,如果将隐写信息藏于高频系数区可以保证很强的不可见性,但是隐秘图像细微的频域变换如滤波变换就会将高频系数滤掉且将嵌入其中的隐写信息一同抹掉,安全性及稳定性极差;低频和中频系数区能量较集中,滤波变换会破坏图像质量,如果有人企图破坏隐写信息,那么势必也将会把整个图像破坏掉,得不偿失;因此与高频系数相比,选择将隐写信息嵌入低频和中频区更好;所以将16*16量化表对应的低频和中频系数值置1,以求该区域被量化后的冗余信息可以保证隐写信息的嵌入而不引起人视觉上的任何觉察·’高频区域的值将全部被滤掉,也就是起到了JPEG图像格式本身的压缩功能;用户可根据实际情况采纳如上建议的量化表,或者对具体个别数值进行微调。如图1至图8所示,本发明方法的嵌入过程如下选择一张载体图像,隐写应用中对载体图像无特殊要求。本实施例中选择附图8的lena.Jpg图像。该图像为512*512像素大小的8位灰度图像。对该图像进行16*16像素分块的分割,分割成若干个分块。若有分块不满足16*16,则用0补充剩余的行和列,补充为16*16像素。本实施例中选取了其中的一个分块如附图4所示。分决后,对每个分块都进行离散余弦变换,离散余弦变换为之后,用附图3所示的量化表对每个分块进行量化。即用分块中的每一个值除以量化表中对应的数值。以附图4的16*16分块第一个像素值0(1,1)为例,初始值为实际像素值167,分块经过离散余弦变换后,变为576,除以附图3量化表对应的值8,得到F(l,1)值等于72,如附图5所示。之后对分块内其它数值也做同样的量化处理直至处理完毕,如附图5所示。对于隐写信息,要求是二进制文件,即可以用1和O表示的文件。可以是图像、文字、音频、视频等。本实施例假设已经有一段待隐藏的二进制序列隐写信息(1011101101101010010101001010001010001100)2,一共40位。对隐写信息加密是为了能更好地保证隐写信息的安全性。因此此步也可省略。本实施例中省略加密这一步骤。嵌入是最关键的一步。附图5是分块离散余弦变换和量化后的结果。以第一个十进制数值72为例,十进制数字72的二进制数的最后两位是00,隐写信息的前两位是10,先嵌高位,再嵌低位。嵌入后,第一个数值的最后两位00被10所取代,变成10,十进制数值也由72变成74,如附图6第一个数值所示。嵌完前两个bits隐写信息后,开始嵌入第3bit和第4bit隐写信息。按照附图4的箭头顺序,将第3bit隐写信息和第4bit隐写信息11,嵌入十进制数值10的最后两位,即变成附图6中的11,依次类推,按照附图5箭头顺序依次嵌入,直至将隐写信息全部嵌入。嵌入完成的分块如附图6所示。嵌入完成后,对分块进行反量化、反离散余弦变换,再按照JPEG编码规则编码,生成JPEG格式的隐秘图像。如附图7所示,就是含隐写信息图像分块的各像素像素值。生成的隐秘图像在外观上根本看不出有隐写信息的嵌入。嵌入的隐写应包括隐写信息、量化表和JPEG编码信息。图1至图8所示,本发明方法的提取过程实施例如下取到含隐写信息的隐秘图像。本实施例即为附图7分块所示为例。对隐写图像按照JPEG规则进行JPEG解码。和嵌入过程一样,要对隐秘图像进行离散余弦变换和量化。所用的量化表必须和嵌入时的量化表一致。以本例中附图7的隐秘图像分块的第一个像素值C(l,1)为例,该数值为167,分块经过离散余弦变换后变为592,除以附图3的量化表对应的数值8,得到F(l,1)等于74,如附图6所示。附图6第一个数值74二进制的最后两位为1和0,先提取高位,再提取低位。提取出即为10。依此类推,按照附图5中箭头所示顺序,提取出全部隐写信息,连在一起即为(1011101101101010010101001010001010001100)2。如果隐写信息有加密,则还要对隐写信息用密钥进行解密。本实施例中跳过这“■步骤。得到最终的隐写信息即为(1011101101101010010101001010001010001100)2。可根据原文件具体格式进行还原。下面是本16*16方法与文献[1](以下简称Chang方法)隐写方法和Jsteg隐写算法相比所具有的优点1、隐写容量大Jsteg算法只能在每个图像的非0、非-1和非1的DCT系数的LSB嵌入Ibit隐写信息。容量计算方法为统计载体图像所有非0、非-1和非1的DCT系数的个数。Chang采用8*8中频系数为1的量化表,在图像每个8*8分块的对应的26个中频系数上的2-LSBs上嵌入2bits隐写信息,容量计算方法为26*2*(512*512)/8*8=212992bits。本文采用的16*16量化表方法,在载体图像每个分块的对应的136个上三角矩阵DCT系数上的2-LSBs上嵌入2bits隐写信息,容量计算方法为136*2*(512*512)/16*16=278528bits。本例采用lena.Jpg、peppers.jpg、plane.jpg三个512*512像素大小的8位灰度图像进行对比,如附图8至附图10所示。嵌入的隐写信息是附图11的110*110像素的8位灰度图像ecust.jpg.对比结果如表1所示。表1隐写容量对比(单位bit)权利要求1.一种基于JPEG数字图像格式的隐写方法,包括隐写信息的嵌入过程,其特征是所述隐写信息的嵌入过程包括以下步骤a.对图像分割成16*16大小的若干个分块,若有分块不满足16*16,则用0补充为16*16;b.对每个16*16分块进行离散余弦变换;C.每个分块都用16*16量化表进行量化,即用每个16*16分块中的值除以对应16*16量化表上的值;d.量化完成后,在每个16*16分块的上三角区域的每个值的最后两位嵌2bit隐写信息,其中隐写信息可经过加密处理;e.将图像进行反量化、反离散余弦变换,按照JPEG编码规则生成含隐写信息的隐秘图像。2.根据权利要求书1所述的基于JPEG数字图像的隐写方法,其特征在于,所述隐写信息嵌入时至少需要三个数据①当前图像像素灰度值C;②16*16量化表Q;③待嵌入的隐写信息序列云;其中如果隐写信息经过加密,还需要密钥key。3.根据权利要求书1所述的基于JPEG数字图像的隐写嵌入方法,其特征在于,该方法的具体过程是设原始图像O为N*N像素大小,将其不重叠分块为(O1,O2,O3,……,0N/16*N/16},每个分块O1大小为16*16像素,若有分块不足16*16,则用O补充空位补为16*16像素;用离散余弦变换将每个分块矩阵O1变为矩阵F1,设离散余弦变换函数为DCTO,则结果可表示为巧㈨b]=DCT(O1Ca,b]),其中l《a《16,l<b<16,0拉,b]为分块OiaRb列的像素值;用附图3中的16*16量化表Q对矩阵F1量化,即用每个16*16分块的值除以16*16量化表上对应的值;设量化函数为QuantizeO,矩阵C1为第i个量化后的16*16分块,则结果可表示为Q[a,b]=Quantize(F』a,^/Q^a,b]);假设一段已经用key加密的隐写信息序列云={Sl,s2,s3,……,SnJ,其中,S1为隐秘信息的比特位(Sie{0,1}),m为这段比特流的长度;选择C』a,b]对云进行隐写;其中[a,b]的取值范围为ifa=0,0<b<15;ifa=1,0<b<14;ifa=2,0<b<13;ifa=3,0<b<12;ifa=4,0<b<ll;ifa=5,0<b<10;ifa=6,0<b<9;ifa=7,0<b<8;ifa=8,0<b<7;ifa=9,0<b<6;ifa=10,0<b<5;ifa=11,0<b<4;ifa=12,0<b<3;ifa=13,0<b<2;ifa=14,0<b<l;ifa=15,b=0.其中,a,b均为整数;i的取值范围为1(N/16*N/16);在每个C』a,b]最后两位嵌入两比特隐写信息;进行反量化和反离散余弦变换;最后进行JPEG编码,即按照JPEG格式的标准对原图像重新进行图像格式编码;生成的JPEG隐秘图像包括嵌入的隐秘信息S,量化表Q和JPEG编码信息。4.一种基于JPEG数字图像格式的隐写方法,包括隐写信息的提取过程,其特征是所述隐写信息的提取过程包括以下步骤a.对隐秘图像根据JPEG编码规则进行解码;b.对图像分割成16*16大小的若干个分块,若有分块不满足16*16,则用O补充为16*16;C.对每个16*16分块进行离散余弦变换;d.每个分块都用16*16量化表进行量化,即用每个16*16分块中的值除以对应16*16量化表上的值;e.量化完成后,在每个16*16分块的上三角区域的每个值的最后两位提取出2bits隐写信息;f.提取出全部信息后按嵌入顺序组合为隐写信息,其中如果隐写信息经过加密,则还使用加密规则进行解密。5.根据权利要求书4所述的基于JPEG数字图像的隐写提取方法,其特征在于,所述方法的具体过程是设含隐写信息的隐秘图像C为N*N像素大小,将其不重叠分块为{Q,C2,C3,……,CN/16*N/16},每个分块C1大小为16*16像素,若有分决不足16*16,则用0补充空位补为16*16像素;用离散余弦变换将每个分块矩阵C1变为矩阵F1,设离散余弦变换函数为DCTO,则结果课表示为巧㈨b]=DCT(Q[a,b]),其中1么<16,l<b<16,Q[a,b]为分块Cia行b列的像素值;用附图3中的16*16量化表Q对矩阵F1量化,即用每个16*16分块的值除以16*16量化表上对应的值;设量化函数为QuantizeO,矩阵A1为第i个量化后的16*16分块,则结果可表示为A』a,b]=Quantize(F^a,b]/(Ma,b]);之后按照隐写信息的嵌入顺序,依次提取出隐写信息,其中[a,b]的取值范围为ifa=0,0<b<15;ifa=1,0<b<14;ifa=2,0<b<13;ifa=3,0<b<12;ifa=4,0<b<ll;ifa=5,0<b<10;ifa=6,0<b<9;ifa=7,0<b<8;ifa=8,0<b<7;ifa=9,0<b<6;ifa=10,0<b<5;ifa=11,0<b<4;ifa=12,0<b<3;ifa=13,0<b<2;ifa=14,0<b<l;ifa=15,b=0.其中,a,b均为整数;i的取值范围为1(N/16*N/16);在每个Al[a,b]最后两位提取两比特隐写信息;按照隐写信息的嵌入顺序,依次恢复原有的隐写信息内容,并用key进行解密。6.根据上述任意一项权利要求中的方法,其特征在于,其中的16*16量化表由使用者自行制定。7.根据权利要求1-5中任意一项中的方法,其特征在于,其中使用的16*16量化表基于如下方法制定先将原有的JPEG标准8*8量化表等比例拉长为16*16,然后除以2,即16*16量化表中的每个元素都除以2,再四舍五入;保留最上角的第一个数值8,也就是对应的每个DCT分块的最左上角的DC系数;量化表对应的每个DCT分块的低频区和中频区数值全部置1;量化表对应的每个DCT分块的高频区数值全部保留;用户可以结合具体应用,对量化表中的数值进行任意改变。全文摘要本发明公开了一种基于修改量化表的JPEG数字图像信息隐藏方法。提出了一种改进的16*16量化表,改变了采用传统的JPEG标准8*8量化表的做法,对载体图像进行离散余弦变换和量化后,在DCT域的每个低、中频系数的最低两位(2-LSBs)上嵌入2bit信息。本方法在具有很好的鲁棒性和不可见性的基础上,通过修改量化表,不仅能使待隐藏的秘密信息完全提取,而且在改进隐写方法的容量方面与传统的Jsteg方法相比有了极大的提高,同时隐秘图像具有较高的质量。文档编号H04N7/30GK102014239SQ20091017024公开日2011年4月13日申请日期2009年9月8日优先权日2009年9月8日发明者周岩申请人:周岩
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1