APP下载

基于DCT域的菱形编码图像隐写改进算法

2015-10-10高红霞

电视技术 2015年11期
关键词:菱形秘密载体

高红霞

(河南工程学院 计算机学院,河南 郑州 450007)

基于DCT域的菱形编码图像隐写改进算法

高红霞

(河南工程学院 计算机学院,河南 郑州 450007)

为提高嵌入秘密图像的信息量和嵌入后载体图像的质量,在行程编码、菱形编码和DCT域的基础上,提出了基于DCT域的菱形编码图像隐写改进算法。采用菱形编码有效地提高了嵌入率,对JPEG标准化量化表进行了改进,更有利于秘密信息的嵌入。对行程编码进行了改进,使秘密图像的压缩效率更大。经过与F5隐写算法对比实验表明,F5隐写算法只能嵌入一幅尺寸为64×64的灰度图像,而改进算法能够嵌入一幅尺寸为240×240的灰度图像,且PSNR>30 dB,大大提高了加密信息的嵌入量,并保持了嵌入后载体图像的质量。

行程编码;菱形编码;离散余弦变换;JPEG标准量化表

图像通信发展迅速,且图像通信的范围在日益扩大,安全问题也日益严重。有很多的军事地图、重要的商业资料或者机密设备制造的图纸等,在存储和传输的过程中都需要进行保密处理[1]。因此针对图像信息秘密传输的隐写方法是非常有必要的。目前改变较少的载体数据来嵌入较多的秘密信息的隐写编码技术最为常用[2]。文献[3]提出了一种基于方向调整的隐写方法,利用不同的调整方向表示不同的秘密信息,提高了嵌入效率。变换域隐写抗攻击能力强,嵌入容量有待提高,本文将菱形编码应用于DCT域隐写中能够很好地提高DCT域隐写容量,同时对行程编码和JPEG量化表进行了改进,压缩了秘密信息图像,而且更有利于秘密信息图像的嵌入。由于菱形编码的嵌入率比方向编码更大,而且算法易于实现,具有很大的实际应用价值。

1 隐写算法的改进

菱形编码(Diamond Encoding)能够在两个像素之中最多以幅度K改动一个像素值来隐藏一个2K2+2K+1进制数,与方向编码相比,具有更高的嵌入率。菱形编码的具体算法如下。

假设A=(a1,a2)为一幅灰度图像的两个像素值,记L=2K2+2K+1,对于这一组像素值。计算如下

(1)

假设秘密信息为二进制的数据流,则在接下来的计算中需要将秘密信息数据转换为L进制的数据[4]。假设秘密信息数据转化之后为s,则s是一个L进制的数据,即s的范围为[0,(L-1)],计算如下

P=[s-f(a1,a2)]modL

(2)

由式(2)可知,P的范围也为[0,(L-1)],是对载体信息进行改变的参数。根据不同的K以及不同的P,对载体信息进行不同的改变。假设K=1,L=5。如图1和图2所示。

图1 K=1时P的值所在位置图

图2 K=1时(a1,a2)改变方式图

由图1及图2可知:

1)当P=0时,嵌入后的载体数据依然为B=A=(a1,a2);

2)当P=1时,嵌入后的载体数据为B=(a1,a2+1);

3)当P=2时,嵌入后的载体数据为B=(a1+1,a2);

4)当P=3时,嵌入后的载体数据为B=(a1-1,a2);

5)当P=4时,嵌入后的载体数据为B=(a1,a2-1)。

对于不同的K值对应有不同的菱形编码算法模型,给出K=2时的算法模型,如图3和图4所示。

图3 K=2时P的位置图

图4 K=2时P的位置图

由于(a1,a2)的改变方式很容易根据P的位置得到,下面只列出K=3时P的位置,如图5所示。

图5 K=3时P的位置图

假设嵌入后的一组像素值为B=(b1,b2),s即为所求秘密信息数据,再将秘密数据转换为二进制数据,即可得到原始秘密信息。

(3)

s=[P-f(b1,b2)]modL

(4)

2 JPEG标准量化表及行程编码的改进

2.1 JPEG标准量化表的改进

由于DCT域隐写通过对DCT系数的改变来隐藏秘密信息,而DCT系数在经过ZigZag扫描之后从第一个数开始,所聚集的能量是依次递减,而第一个数,也就是DCT能量最多的,因此一般不会改变DCT的值。为了使秘密信息能够得到较高的保护,一般都是选取中低频分量进行秘密信息的嵌入[5]。参考已有量化表的改进方式对量化表进行改进,文献[6]采用了改进的量化表进行了秘密信息的嵌入,证明了这种方法的可行性,本算法用到改进的量化表如图6所示。

图6 改进后的量化表图

由于越靠前面的系数承载了越多的能量,因此对前面的系数多做一些保留,使量化表中的数字小一点,后面的可以变大一点,但是为了更多地嵌入信息,使这些数字都保持在一定的范围之内,这样的量化表更有利于秘密信息的嵌入,也能够得到拥有较好质量的载密图像。

2.2 行程编码的改进

行程编码[7]能够有效地压缩量化后的DCT系数,原理就是对于DCT系数来说,经过ZigZag排序之后相邻的系数为0的情况非常多,根据这一现象,行程编码只是将出现的数字以及出现次数列出来,从而减少了数据量。然而,DCT系数ZigZag排序之后,其中前面的低频系数并不都是连续出现相同的数字,因此,对于排在前面的数据来说,行程编码非但没有压缩数据,反而使数据量增多,针对这种情况,提出了一种新的行程编码,就是对于不是连续出现两次或者两次以上的数据,只是照写数据,而不标注数据个数[8]。

如对于一串数字:123444555555,传统行程编码编码后为:1121314356,改进的行程编码编码后为:1234956,改进之后的数字串明显比改进之前的数字个数少。还可以发现,4的个数应该是3,但是改进的行程编码却用9来表示,原因在于解码的时候可以准确地区分哪个是数据,哪个是数据的个数。为了在实际中应用,取的是被压缩数据流中最大的那一个数作为门限值。在上面的例子中就是取最大值6,然后在6上加3,得到了表示数据个数的数字9。经过实验证明,新的行程编码比传统的行程编码在秘密图像的压缩中效率更高,压缩率更大。传统行程编码与改进行程编码的比较如表1所示。

表1 改进后行程编码与行程编码比较 个

由表1的实验结果可以明显看出改进后的行程编码对数据的压缩效率更高,压缩率达到了35%。

3 隐写算法的嵌入与提取模型

3.1 嵌入算法模型

基于菱形编码的DCT域隐写算法的基本思想与传统的DCT域隐写算法的不同之处就在于两个方面,一方面是针对传统DCT域隐写算法的嵌入量小的特点,提出了一种改进后的量化表,针对菱形编码的特点,改进的量化表的使用既能够使量化后的DCT系数中可嵌位增多,也可以使载密图像视觉质量比较好;另一方面就是对秘密图像的压缩处理过程,由于传统的行程编码已经得到广泛的应用,因此,对于秘密图像的压缩可以使需要被嵌入载体图像中的秘密数据量大幅度减少。

但是传统的行程编码也存在一定的不足之处,因此对传统的行程编码也进行了改进,在嵌入量上具有更大的优势。秘密信息嵌入算法主要可以分为几个步骤:首先对载体图像进行8×8分块,然后对每块进行DCT变换;再对秘密图像进行8×8分块,然后对每块进行DCT变换;然后用改进的量化表对载体图像DCT系数进行量化,用JPEG标准量化表对秘密图像DCT系数进行量化[9];用改进的行程编码对秘密图像量化后的DCT系数进行编码,并进行数据转换,转换为嵌入时需要的数据类型;利用菱形编码将秘密数据嵌入到载体图像数据中;最后对载体数据进行反量化,然后进行后续处理,完成隐写过程。

3.2 提取算法模型

秘密信息提取过程:首先读取已经加密的载体图像,根据事先确定的系统参数K,按照与嵌入过程一样的顺序,首先对含密载体图像进行8×8块DCT变换[10],然后对DCT系数用改进的JPEG量化表进行量化,接着对每一块的每一组数据利用式(4)计算s,提取成2K2+2K+1进制秘密数据序列,然后转换成十进制数据。将十进制数据序列经过反行程编码还原成DCT系数,再将DCT系数进行标准JPEG反量化以及反余弦变换,最终得到经过JPEG压缩后的秘密图像[11]。该提取算法提取出来的也是经过压缩后的秘密图像,但是由于对秘密图像采用的是JPEG标准量化表进行量化,因此秘密图像仍然具有很好的视觉效果。

4 实验结果及分析

衡量隐写效果的最直观的标准是视觉效果,对提出的隐写方法都做了大量的实验来证实隐写方法的可行性,并通过实验观察不同参数条件下的隐写效果以及性能。

4.1 实验结果

以大小512×512的Lena和Baby灰度图像作为载体图像,以一张240×240的摄影师图像作为秘密图像,设参数K=1。 实验结果如图7和8所示。

图7 Lena和Baby嵌入前后对比

图8 原始秘密图像和提取出的秘密图像

在DCT域中,DCT系数并不能全部用来嵌入秘密信息,该算法对于秘密数据的压缩可以弥补一些这方面的缺陷,使得嵌入量间接增大,可见本文的算法在嵌入量上具有很好的提升效果,载密图像的视觉效果也没有出现大幅度下降的情况。通过实验验证,本文的隐写方法能够得到好的隐写效果,含密图像PSNR>35 dB,提取出的图像PSNR>35 dB。从视觉上和客观上,都能够得到好的质量效果。

4.2 嵌入性能分析与比较

菱形编码最大的特点是具有很高的嵌入率。对于菱形编码来说,K值决定了其嵌入率和嵌入效率,对于秘密信息来说,是一个L=2K2+2K+1进制数,代表了lb(2K2+2K+1)比特的信息量,而载体信息长度是2,因此可以得到嵌入率为

(5)

同时,K值也决定了嵌入后载体图像的视觉质量,通过PSNR可看出图像的质量随着K值的变化情况。表2列出了其中3幅图像(大小均为512×512)在不同K值之下PSNR的变化情况。

表2 不同K值对PSNR影响

由于K=2时图像的质量都有比较明显的下降,如图9和图10所示。

图9 不同K值下Lena图像嵌入后对比

图10 不同K值下图像质量对比

因此最佳的K值应该取1。与DCT域方向编码隐写算法一样,也将本算法与F5隐写算法进行了比较,对于一幅尺寸为512×512的灰度图像来说,当使用本文算法时,能够嵌入一幅尺寸为240×240的灰度图像,而使用F5隐写算法的时候,只能嵌入一幅尺寸为64×64的灰度图像,单纯从菱形编码的嵌入率来计算,本文算法的嵌入率已经超过了1,加上对秘密图像的压缩处理,嵌入量更大。

如图11所示,图11a是原始灰度图像,图11b是本文算法嵌入尺寸为240×240的灰度图像所得,嵌入率已经大于1,图11c是使用F5隐写算法嵌入尺寸为64×64的灰度图像所得。

图11 本文算法与F5隐写算法比较结果

由图11可知,本文算法K=1时的嵌入率大于1,而F5隐写算法的嵌入率为0.42,虽然从图像视觉效果上来看,两者载密图像的质量相差不大,但是通过PSNR的值依然看出本文算法PSNR大于F5隐写算法。不仅如此,在嵌入量上本算法也远远多于F5隐写算法,同时还保证了图像的视觉效果。

5 结束语

提出的基于DCT域菱形编码图像隐写算法是一种比较新的空间域隐写算法,其思想与方向编码非常类似,都是通过编码的方式以较小的改变量来嵌入较多的秘密信息,在嵌入量与抗攻击性能方面都具有较强的优势。将这样的一种算法用于DCT域,不仅能够更好地发挥这一优势,还能够弥补DCT域隐写算法的缺陷。通过对载体信息以及秘密信息的预处理使得原有算法在嵌入率和抗攻击性能两个方面都得到了比较好效果。

[1] 王正友,李振兴,林维斯,等. 结合HVS和相似特征的图像质量评估方法[J].仪器仪表学报,2012,33(7):1606-1612.

[2] 阳溢,柏森,郭雨,等. 基于帧离散余弦变换的鲁棒视频水印算法[J]. 电视技术,2013,37(19):57-60.

[3] FRIDRICH J,LISON K P. Grid colorings in steganography[J]. IEEE Trans. Information Theory,2007,53(4):1547-1549.

[4] 朱冬玖,王建军.结合像素交换与菱形编码的图像隐写[J]. 应用科学学报,2011,29(6):605-612.

[5] 周婷,毛倩.基于方向编码的离散余弦变换域图像隐写算法[J].计算机工程,2012,38(9):111-113.

[6] JIANG Cuiling,PANG Yilin,GUO Lun,et al. A highcapacity steganographic method based on quantization table modification[J].Wuhan University Journal of Natural Sciences,2011,16(3):223-227.

[7] 杨榆,雷敏,郭玉翠,等.基于小波和余弦变换组合的音频零水印算法[J].南京理工大学学报:自然科学版,2012,36(3):386-389.[8] 赵珊,汤永利,刘静. 基于DCT系数空间分布的JPEG图像检索算法[J]. 北京邮电大学学报,2009,32(5):32-35.

[9] 蒋铭,孙水发,郑胜,等.基于系数关系的DCT域数字图像水印[J].计算机工程与应用,2008,44(5):125-127.

[10] 高宝建,柏潇,邢玲. 基于LDPC—OFDM技术的块均值视频水印算法[J]. 电子技术应用,2012,38(7):151-154.

[11] 邵晓根,孙天凯,王兴元.基于HVS和分形自相似的数字水印算法[J]. 计算机工程与设计,2010,31(14):3336-3338.

Improved Image Steganographic Algorithm Based on Diamond Coding in DCT Domain

GAO Hongxia

(CollegeofComputer,HenanInstituteofEngineering,Zhengzhou450007,China)

To improve the amount of information embedded secret image and the image quality after embedding, the improved image steganographic algorithm based on diamond coding is proposed on the basic of the length encoding, diamond coding and DCT domain. The embedding rate is improved by diamond coding, and the JPEG quantization tables for standardization is improved so that the secret information can be embedded easily. The length encoding is also improved so that the compression efficiency of secret image is greater. The comparing experiments with F5 steganographic algorithm show that the F5 steganographic algorithm can only embed one grayscale image with the size of 64×64, and the improved algorithm can embed a grayscale image with the size of 240×240, whosePSNR>30 dB, which can greatly increase the amount of encrypted information embedding and maintain a quality of the image carrier after embedding.

length encoding; diamond encoding; discrete cosine transform; JPEG standard equalization table

【本文献信息】高红霞.基于DCT域的菱形编码图像隐写改进算法[J].电视技术,2015,39(11).

国家自然科学基金项目(71173248)

TP309+.2

A

10.16280/j.videoe.2015.11.005

高红霞(1978— ),女,讲师,硕士,主要研究方向为图像处理与多媒体技术。

责任编辑:时 雯

2014-06-12

猜你喜欢

菱形秘密载体
创新举措强载体 为侨服务加速跑
改进的菱形解相位法在相位展开中的应用
坚持以活动为载体有效拓展港澳台海外统战工作
愿望树的秘密(二)
手心里有秘密
TiO_2包覆Al_2O_3载体的制备及表征
我心中的秘密
第十三章 进化的秘密!
创新德育教育载体
菱形数独2则