0 引言
隐写术是一种利用载体的掩蔽效应将秘密信息隐藏,实现信息秘密传递的技术.隐写载体可以是图像、音频、视频、文本等网络数字媒体.由于JPEG已成为目前互联网上进行图像传输时最常用的图像格式,因此以JPEG图像作为载体的隐写研究也成为了图像隐写领域的热点.
通过修改载体图像空域或频域的LSB(lest significant bit)位即可以实现最简单的隐写,这种修改会造成图片像素或DCT系数统计频率中相邻值对趋于一致,为了避免这种现象,LSB匹配(MLSB)被提出.为了进一步提升隐写算法性能,编码技术被引入隐写过程.文献[[,大大提高了隐写编码的效率.然而,矩阵编码仅仅解决了降低修改率的问题,并未考虑隐写位置与隐写安全性之间的相关性.事实上,隐写载体中,部分位置的隐写具有很好的隐藏效果,而另一些位置的隐写将会大大增加风险.湿纸编码[能够将载体中风险较大的嵌入位置标记为湿点,从而在隐写过程中跳过这些危险的嵌入位置,实现隐写算法安全性提升.正是基于这样的编码优势,文献[
矩阵编码和湿纸编码都提升了隐写算法的安全性,但是在可隐写的位置范围内,所有隐写位置被等风险对待.也就是说,隐写算法尚未达到一种最低代价的隐写路径.随着STCs编码[的出现,这一问题得到了很好解决.STCs算法将卷积编码和维特比算法结合起来,通过针对载体的特性设计不同的失真模型,并据此选择嵌入信息的位置.一方面,在隐写嵌入率较小的情况下,STCs编码有着极高的编码效率,可大大降低隐写修改率;另一方面,STCs可以寻找一条近似最低代价的修改路径,实现失真最小化.因此,STCs隐写框架下的算法仅仅需要设计一个失真数学模型即代价函数,即可极大提升隐写算法安全性.该编码方法也是目前隐写算法最好的编码,而代价函数的设计成为STCs隐写中的核心问题.
基于STCs隐写方法的代价函数可以针对特定的隐写分析方法设计,如HUGO算法[根据SPAM[隐写分析方法提取的特征针对性地设计失真代价函数,将失真定义为三阶共生矩阵的权重,对SPAM具有很强的抗检测能力.也可以利用JPEG图像DCT系数的统计特性等设计代价函数,如文献[
与上述隐写分析方法不同,本文针对图像的纹理特性,设计了一种自适应隐写算法,同时,将均匀嵌入[的思想引入,摆脱隐写嵌入在DCT系数绝对值为0附近改动较大的缺点,提高算法的安全性.
1 相关工作
1.1 纹理特征描述
图像的纹理分析方法有很多,利用灰度共生矩阵研究纹理特征是其中比较经典的方法之一.
设图像的灰度级为N,则对应该图像的灰度共生矩阵K为N阶矩阵,在矩阵中处于第i行第j列的值代表在图像的灰度矩阵中灰度值为i的元素和灰度值为j的元素在距离为(Δx, Δy)的情况下成对出现的次数,记为pΔx, Δy(i, j).基于灰度共生矩阵,可以从反差和熵两个方面提取纹理特征.
1) 反差
(1)
反差主要用于表征图像的纹理的粗细程度,能够在一定程度上表现出图像的清晰程度.对于纹理较粗的图像,p(i, j)会主要出现在灰度共生矩阵的主对角线附近的位置,此时(i-j)值比较小,对应式中的G值也会比较小,反之在纹理比较细的图像中G值就会比较大.
2) 熵
(2)
熵用于表征图像中纹理出现的随机性.当图像的灰度共生矩阵中p(i, j)值都相同时,S值达到最大,此时图像显得比较平滑,当p(i, j)值完全不相同的时候,S值达到最小