一种基于纹理复杂度的JPEG图像自适应隐写方法与流程

文档序号:12126076阅读:720来源:国知局

本发明属于计算机信息安全技术领域,涉及一种JPEG图像信息隐藏方法,尤其涉及一种基于纹理复杂度的JPEG图像自适应隐写方法。



背景技术:

隐写术是利用信息隐藏技术实现隐蔽通信的技术。现代的隐写术主要依托多媒体文件为载体,将秘密信息嵌入其中,从而隐藏消息的存在性。

JPEG作为目前互联网上进行图像传输时最常用的图像格式,以JPEG图像作为载体的隐写研究成为了图像隐写领域的热点。

图像隐写经过最初的LSB替换隐写,MLSB替换隐写等,后来将编码引入,直到现在发展到了根据载体内容自适应嵌入保持最小失真方法。随着STCs算法的提出,自适应隐写成为了隐写术设计的热点。STCs算法将卷积编码和维特比算法结合起来,通过针对载体的特性设计不同的失真模型,并据此选择嵌入信息的位置。基于STC算法优秀的编码性能,自适应隐写的设计可以侧重于失真代价度量函数的设计。

目前JPEG图像隐写算法大多是基于图像的某种统计特性,设计嵌入函数,使得在嵌入时保持整体改动最小。这样虽然能提高隐写效率,保持较好的隐蔽性,但从图像的纹理方面考虑,上述算法可能在一些纹理特征上比较平滑的地方进行改动,从视觉上带来细微的变化。同时,在一些纹理复杂的地方改动较少,没有利用好复杂纹理所带来的良好的隐蔽性。



技术实现要素:

为了解决上述技术问题,本发明针对图像纹理复杂度设计相应的失真代价函数,提出了一种基于图像纹理复杂度的JPEG图像隐写方法。

本发明所采用的技术方案是:一种基于纹理复杂度的JPEG图像自适应隐写方法,其特征在于:包括隐写嵌入方法和信息提取方法;

所述隐写嵌入方法,其具体实现包括以下步骤:

步骤A1:对JPEG图像解压缩成灰度图像,对灰度图进行分块;

步骤A2:针对每一个分块计算出基于每个块的失真代价;

步骤A3:提取出该JPEG图像所用的量化表,计算出基于每一个DCT系数的失真代价;

步骤A4:按照先块内行扫描再块间行扫描的方式,取出值为非0的DCT系数中的AC系数的LSB,形成比特流,然后对此比特流进行置乱操作,得到置乱后的比特流c;

步骤A5:利用STCs编码和已经设计好的失真代价函数将要嵌入的隐秘信息比特流m嵌入到比特流c中,得到载密比特流s,将s按照密钥key进行恢复原始顺序,将s比特流和原DCT系数相结合得到载密的DCT系数;

步骤A6:对载密的DCT系数进行JPEG压缩标准中的后续操作形成JPEG图像,完成秘密信息嵌入过程,得到载密图像;

所述信息提取方法,其具体实现包括以下步骤:

步骤B1:提取出载密图像的DCT系数,按照先块内再块间的行扫描方式得到非0的DCT系数中的AC系数,然后取其LSB位形成比特流s;

步骤B2:利用密钥key对比特流s进行置乱,然后结合STCs编码的提取过程进行计算得到秘密信息比特流m,完成整个提取过程。

本发明利用与JPEG图像DCT块对应的像素块的灰度共生矩阵来计算分块的纹理复杂度,并设计相应的失真代价函数,结合均匀嵌入的思想,使用STCs编码将嵌入修改均匀分布到绝对值不同的非零DCT系数上。本发明生成的图像具有比特率低,画面质量高,反检测能力强等优点。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

本发明提供的一种基于纹理复杂度的JPEG图像自适应隐写方法,包括隐写嵌入方法和信息提取方法;

隐写嵌入方法,其具体实现包括以下步骤:

步骤A1:对JPEG图像解压缩成灰度图像,对该灰度图进行类似JPEG标准压缩算法中的8×8分块;

步骤A2:针对每一个分块计算出基于每个块的失真代价;

计算出基于每个块的失真代价,其计算公式为:

ρent=1/T(B(k))θ (式2)

其中,p(i,j)代表图像的灰度矩阵第i行第j列元素,B(k)代表某一个N×N的子块,N为子块的分块大小,单位为像素,通常设置为8;θ为失真代价函数所设置的参数,通常设置为2;T(B(k))即代表这一个子块的纹理复杂度,ρent为该子块的失真代价。

步骤A3:提取出该JPEG图像所用的量化表,计算出基于每一个DCT系数的失真代价;

计算出基于每一个DCT系数的失真代价,其计算公式为:

ρf=q2 (式3)

ρk=ρf·ρent (式4)

其中,q为量化步长,ρk为第k个DCT系数的失真定义,cij是(i,j)位置的DCT系数;αia和αir是为了满足相加的性质而设置的调整参数,dia∈Nia,dir∈Nir,Nia和Nir分别表示cij的块内和块间相邻系数;

Nia={ci+,j,ci-,j,ci,j+,ci,j-},Nir={ci+8,j,ci-8,j,ci,j+8,ci,j-8};

若cij可能处于图像的边界上,则在邻近系数的计算上不存在的点不计入计算;ρij即为对应块的DCT系数失真代价。

步骤A4:按照先块内行扫描再块间行扫描的方式,取出值为非0的DCT系数中的AC系数的LSB,形成比特流,然后对此比特流进行置乱操作,得到置乱后的比特流c;

步骤A5:利用STCs编码和已经设计好的失真代价函数将要嵌入的隐秘信息比特流m嵌入到比特流c中,得到载密比特流s,将s按照密钥key进行恢复原始顺序,将s比特流和原DCT系数相结合得到载密的DCT系数;

步骤A6:对载密的DCT系数进行熵编码等JPEG压缩标准中的后续操作形成JPEG图像,完成秘密信息嵌入过程,得到载密图像;

信息提取方法,其具体实现包括以下步骤:

步骤B1:提取出载密图像的DCT系数,按照先块内再块间的行扫描方式得到非0的DCT系数中的AC系数,然后取其LSB位形成比特流s;

步骤B2:利用密钥key对比特流s进行置乱,然后结合STCs编码的提取过程进行计算得到秘密信息比特流m,完成整个提取过程。

本发明能够结合图像载体自身特点,自适应动态选择图像中纹理较复杂的区域进行嵌入,且利用STCs编码能使图像改动最小,画面质量得到很好保持,并具有很好的反检测能力。

应当理解的是,本说明书未详细阐述的部分均属于现有技术。

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1