摘 要: 提出一种基于视觉特性的图像隐写算法。该算法利用亮度和纹理阈值等人类视觉系统特性,并结合图像各个局部分块的亮度与纹理特征,将图像划分为强嵌入区、次嵌入区、弱嵌入区,计算各个局部分块亮度和纹理,分别嵌入不同比特数的秘密信息。实验结果表明,该算法能够增加图像秘密信息的嵌入容量,提高抗检测性能,以及保持较高的峰值信噪比。
关键词: 自适应隐写;JPEG图像;人类视觉特性;峰值信噪比
0 引言
JPEG格式图像作为一种在互联网上被广泛应用的格式[1],以此格式为载体的隐写算法也越来越多。较早出现的JSteg隐写算法[2]用秘密信息比特直接替换JPEG图像中量化后DCT系数的最低比特位。WESTFELD A[3]提出了F3算法与F4算法,并在F4算法的基础上,加入了置乱与矩阵编码提出了F5算法,该算法减少了嵌入需要改动的DCT系数量,进一步提高了算法的隐蔽性。
基于人眼视觉特性的隐写方法得到了较快的发展,如BPCS[4]、PVD[5]、Wang C M等人[6]利用模函数对PVD进行的改进算法;在JPEG图像中,向德生等人[7]利用局部小波子块的亮度与纹理特征,自适应嵌入强度因子来嵌入水印;龚发根等人[8]针对JPEG图像提出一种自适应数据隐藏算法。然而,以上算法并没有全面考虑图像各区域的复杂程度,以及不同的区域嵌密对图像造成的失真,所以综合性能不高。鉴于以上问题,本文提出一种基于视觉特性的JPEG图像自适应隐写方法,本算法充分利用了区域的亮度和纹理特征的视觉特性,在提高秘密信息嵌入量的同时,仍可以保持较好的视觉隐蔽性。
1 基于视觉特性的JPEG图像自适应隐写算法
高质量JPEG图像经过压缩所得的系数对图像复杂度描述虽然不及空域像素值准确,但仍能表现其一些特性。本文算法结合图像的亮度和纹理特性,进一步细划了嵌入区域,将图像分块划分为强嵌入区(R1)、次嵌入区(R2)和弱嵌入区(R3)3个区域,亮度较高且纹理复杂的为强嵌入区,亮度较低且纹理简单的为弱嵌入区,余下的为次嵌入区。通过设定阈值D,再计算出亮度L和纹理T的大小,在3个区域中分别采用不同比特数进行嵌入。
在算法中,设定亮度阈值DL12=32,DL23=85,纹理阈值DT12=N/2,DT23=N,N为所有图像块非零AC系数的平均个数。将区间划分为强嵌入区R1∈{DL≥DL12}∩{DT≥DT12},次嵌入区R2∈{DL12≤DL≤DL23}∩{DT12≤DT≤DT23},弱嵌入区R3∈{DL≤DL12}∩{DT≤DT12}。在3个区域中分别采用m1 bit、m2 bit、m3 bit的LSB嵌入,根据前面提到的各个区域信息嵌入量的关系得出m1≥m2≥m3。
具体的嵌入过程如下:
(1)对原始JPEG载体图像进行熵解码。
(2)选取载体图像的每个8×8分块中的量化后的DCT系数,根据设定的阈值DL、DT,将图像划分为强嵌入区、次嵌入区、弱嵌入区,依次嵌入m1 bit、m2 bit、m3 bit的秘密信息。
(3)在图像分块中,计算量化后非零DCT交流系数N(n)的个数,来确定该分块的纹理复杂度,同时计算块中各像素在相应亮度分量上的亮度平均值ρB:
其中,F(0,0)为直流DC系数。
(4)根据步骤(2),找出分块Bk所属的区间,通过式(2)来确定要嵌入的秘密信息k的值:
其中,为了准确地提取秘密信息,交流的第一个系数不用来嵌入而用来确定该块属于哪个区,具体的操作为:利用LSB和次LSB两位,00代表该块属于R1,01为R2,10为R3。
(5)把二进制秘密信息m用混沌调制加密为m′,截取k bit的秘密信息嵌入到像素块Bk的像素Bk(i,j)中,修改过后的像素为B′k(i,j),Bk的像素块变为载密的像素块B′k。
(6)把所有的B′k合为一个整体,对整体图像进行熵编码,形成载密图像。
2 实验结果
实验选用一幅256×256×8的标准灰度图像Lena图像为原始载体图像。图像文件均为标准JPEG文件格式。
表1是本文算法与原始算法在不同图像下的嵌入对比数据。从测试结果发现,本文算法平均嵌入容量比原始算法高出了7 909 bit,PSNR的值也上升了 0.617 dB,这是由于数据嵌入过程中充分地考虑了视觉特性的结果。
3 分析
3.1 隐蔽差异性分析
载体图像和载密图像的差异图可以反映出隐写算法在载体图像中嵌入的位置,从而可以分析出算法视觉特性利用的充分性。图1为本文算法与原始算法差异放大图。
实验结果表明,图1(a)对纹理区与较暗区域的改动更加充分,主要集中在Lena的头发部分、背景等纹理复杂和亮度较暗的区域,而图1(b)对纹理区的改动相对分散,利用不充分。
3.2 抗检测性能分析
实验选择二阶多项式核的支持向量机作为分类器,用CCPEV-548D[9]检测本文提出算法。
图2给出了本文算法与原始算法随嵌入率变化的错误检测率对比图。实验结果表明,随着嵌入率的上升,两种算法的最小平均错误检测率都降低,抗检测性能都有所下降。但是,本文算法的最小平均错误检测率要略微高于旧算法,换言之,抗检测性能要好于原始算法。
4 结论
本文算法将自适应方法引入,通过直接对量化系数的计算,确定图像块的区域亮度和纹理特征,将信息更多地隐藏在纹理区域和较亮或较暗的区域,最后从嵌入秘密信息容量、PSNR、抗检测等方面,分析算法对隐写结果的影响。实验结果表明,本文算法是一个行之有效的算法。
参考文献
[1] 周清雷,黄明磊.JPEG图像的信息隐藏方法[J].计算机工程与设计,2010,31(19):4178-4181.
[2] UPHAM D. JPEG-Jsteg-v4[EB/OL].[1993-05-26](2014-11-01). http://www.funet.fi/pub/crypt/steganography/jpeg-jsteg-v4.diff.gz.
[3] WESTFIELD A. F5-Asteganographic algrithm high capacity despite better steganalysis. IH2001, 2001:289-302.
[4] KAWAGUCHI E, EASON R O. Principle and applications of BPCS-Steganography[A], Proceedings of SPIE: Multimedia Systems and Applications[M]. Bellingham, WA: SPIE, 1999:464-472.
[5] Wu Dachun, TSAI W H. A steganographic method for images by pixel-value differencing[J].Pattern Recognition Letters, 2003,24(9-10):1613-1626.
[6] WANG C M, WU N I, TSAI C S, et al. A high quality steganographic method with pixel-value differencing and modulus function [J]. Journal of Systems and Software,2008, 81(1):150-158
[7] 向德生,熊岳山,朱更明.基于视觉特性的灰度水印自适应嵌入与提取算法[J].中国图象图形学报,2006,11(7):1026-1035.
[8] 龚发根,秦拯.分块自适应JPEG图像数据隐藏算法[J].计算机应用研究,2010,27(10):3884-3888.
[9] JOHNSON N, JAJODIA S. Steganalysis of images created using current steganography software[C]. Proceedings of the 2nd International Information Hiding Workshop, Berlin/Heidelberg: Springer, 1988:273-289.