基于图片的信息隐藏方法研究—以JPEG图像为例

2013-04-29 00:44石致勤
科技创新导报 2013年7期

石致勤

搞 要:针对图片编码过程与JPEG图像的信息隐藏的各种方法作了介绍,通过对比,得出基于人类视觉系统的J-PEG图像的信息隐藏方法更具有一定的优点,这种方法以人类视觉系统的模型面产生的量化表作为根本,直接修改JPEG图像交换格式所包含的量化表的系数,在一定的人类视觉系统模型生成的量化表系数范围之内,把信息隐藏起来。这种方法可以单独使用,也可以与其他算法相结合使用以达到更好的效果。由于该文所研究的算法没有修改图像内容,所以蔽性较好、提出方便,不影响图片质量。

关键词:图片 信息隐藏 量化表

中图分类号:TP391 文献标识码:A 文章编号:1674-098X(2013)03(a)-00-02

随着社会的进步,信息技术也不飞速发展,在图片技术领域内,人们对于图片的处理技术也有了很高的发展。图片中的信息隐藏技术也是一项非常常用的技术。那么,图像的信息隐藏正是运用了人类感觉器官的不敏感性,根据多媒体数字信号处理的要求,把本身存在的多余的信息隐藏起来,放入主信号中,这样就会保持了图片的更高的利用价值,这样,里面的信息就不会被外露,也不会察觉或注意到,当然,图片信息的利用价值不会改变。该文主要是以JPEG格式的图片为研究对象进行说明,因为这种格式在图片中最为常用,用JPEG图像作为载体进行信息隐藏具有更大的隐蔽性,不会被发现,应用价值也会更高。目前,以JPEG图像为载体信息隐藏方法已经发展到多种,结论得出,运用我些发明的算法进行信息隐藏,一般选择在图像多个分块的DCT域中,一般为大小为8×8,因此,这种图片的信息隐藏与提取都是较为复杂的。该文的研究是提出了把信息放入位置不同的图片的方法。把所以隐藏的信息嵌入JPEG图像的量化表中,这种方法运用起来更有科学性,由HVS模型生成的量化表进行有效的控制。这种隐藏技术得到了认可,主要是因为把信息隐藏入之后,其像素基本没有失真,另外,进行提取信息也不需要进行复杂的图像解码,从而达到快速而简单的效果。

1 基础知识

该文所研究的JPEG是静止压缩图像的标准,是由ISO/IEC联合图像专家组所特别指定的。这种图像适合用于连续色调,其中包括灰度和彩色两种。

1.1 JPEG的三种要素有哪些

包括三种基本要素,这是特指JPEG标准:第一种要素是编码器,它是编码处理的实体。输入与输出有很大的区别,把数字原始图像与不同的的定义两种同时输入,就会根据一定的指定命令输出所需要的压缩图像数据。第二种要素是解码器如上所说,编码器是编码处理的实体,当然,解码器则是是解码处理的实体了。把上一个得出的压缩图像数据再次输入,同时输入一些不同定义的表格,则再次输出重新组合的指定图像数据。第三種要素是交换格式,在A、B两个环境下,或者多个环境下,通过交换再产生的数据,交换模式是压缩图像数据的表示,在编码中所使用的所有表格也都表示出来。

1.2 JPEG的编码解读

JPEG格式的编码包括三个重要的过程。

第一,色域转换。YCrCb颜色模型是JPEG格式图像所经常使用。具有一定的固定公式,从RGB到YCrCb之间的转换公式作如下表达。

Y=0.299×R+0.587×G+0.114×B

Cb=m.1687×R-0.3313×G +0.5×B+128

Cr=0.5×R-0.4187×G-0.0813×B+128

第二,DCT变换。这种变换就是指离散余弦变换,整个图像依次从上到下,从左到右分为64块,8×8的一个正方形,构成图像块,对每个块都要进行离散余弦变换即DCT变换。在编码时JPEG用的是Forward DCT(FDCT),而在解码时所用的则是Inverse DCT(IDCT),两者

不同。

第三,量化。从第一步所说的离散余弦变换的8×8个空间频率振幅值,再对这一空间进行分层量化操作。在数据中分别除以量化表里对应的值,出现小数时四舍五入。量化表的取得有两种方法,一种是自己定义的,另一种是用JPEG标准文件中推荐的缺省量化表。比如说分别用于亮度与色度的缺省量化表,就是标准文件文件中所推荐。

离散余弦系数的量化是对压缩比中最重要的部分,也是对于压缩比与关系到图像质量的最主要部分。在排序与编码时,把上面所量化后的离散余弦系数再按照Zig-zag排序的方法进行再一次编排,将把8×8的这样的一个正方形阵形变成l×64的矢量,空间发和一了变化,再对离散余弦系数再次编码。

2 以往QTM算法及不足

我们知道,Jpeg-Jsteg的方法隐藏方法中,其中所隐藏的信息容量非常小,是一个很大的弱点,而有科学家对此时行了再次研究,对这种方法进行改进,得出另一种算法,也就是QTM算法,全名是quantization tablemodification算法,这样就大大提高了信息隐藏的数量。QTM方法为什么会大大提高信息的融与量呢,原来,它是把JPEG缺省量化表作了修改,便于输入更多的信息。在修改之后,在表中的中频位置上其系数全部变为l,并在修改后的8×8的离散余弦系数中时面块的中频区域离散余弦系数的每个中最后面两位也转入了所隐藏的信息,这样,容量就会变

大了。

3 该文算法

通过上面我们已经知道了QTM算法是对JPEG量化表进行科学地修改,这样可以让量化后的离散余弦系数更多的输入信息。但是,这种算法也有一定的缺点,比如,经过修改后的量化表中频系数都变成了1,这一位置很容易被所谓的黑客不费吹灰之力就可以功破,没有安全性可言。

当然,由于用了修改后的量化表之后使图的像的压缩率再次变小,而且这种算法是JPEG缺省的最化表,致使图像质量受到损坏,质量变差了,影响效果也会变差。可是该文的算法却没有这样的缺点,用的是直接通过修改量化表,把把隐藏在量化表中直接隐藏,效果较好。

3.1 在人类视觉系统的基础建立的量化表的运用

在上文中提到了JPEG标准规定缺省的量化表,我们对其有了一定的了解。这两个量化表它是运用了亮度与色差的信号。这两个量化表在一般应用中有着较好的效果。上面提到的Jpeg-Jsteg算法和QTM算法都是在这个基础上的。

但是这两个缺省量化表具有一定的缺点,那就是它只是局限于720×576的辨率,最适合的观察距离为屏幕高的6倍,除了这个距离效果不好,而且只是想到了肉眼窄间频率敏感特性,但是对于肉眼视觉系统的掩蔽效应没有考虑充分。

所以,这两种算法隐藏信息后却让图像质量大打折扣。所以该文所说的算法充分考虑了人的视觉系统,运用人类视觉模型构造的量化表来把信息进行隐藏,起到了很好的效果。

人类视觉系统是非常复杂的,既有生理方面的,也有神经方面的,因此,视觉在人体中占有生要的位置,但是人们对眼的活动机理还是没有完全研究透彻,也没有完全没事悉。但是人们对眼的研究还在进行中,并总结和建立了很可行的基本的视觉模型,这是一个巨大的进步。

3.2 该文研究的信息隐藏算法介绍

3.2.1 嵌入容量的大小要根据HVS生成的量化表来进行进一步确定

图像中隐藏信息这后,还要保证图像的质量,要做到这一点,就要做到隐藏信息后量化表的每一位的值全部要小于由HVS生成的量化表中所一一对应位置的

值数。

我们事行得出人类视觉系统的量化表,再把本表中能够承受的容量分在两个区中,比如说,本系数最小值为36,那么,4位二进制数可以承受,嵌入它,其余的与QTM算法所得的量化表中系数的最小值为16,能承受3位二进制数,嵌入之。由此,图像的质量得到了保证,还扩大了信息的

容量。

3.2.2 生成所隐藏信息的方法

隐藏信息之后,需要调出时应该如何来操作呢,这就要把隐藏的信息首先要转换成一个一维二进制比特的序列。为了让其更为安全,可以把比特序列打乱,需要一个密钥Key,产生伪随机位置序列,这样,就不容易被被解。再把原来的序列用伪随机序列为引为索引,把打乱的序列进行重新排列,再嵌入信息序列。

3.2.3 如何把信息嵌入图片

我们在前面已经了解了生成所隐藏信息的方法,根据上面的知识点,我们可以做到,把隐藏4位二进制数的15组中的2组放入图片中,把这个长度的信息隐藏

起来。

先将二进制序列置乱,然后把它按顺序分成组,共分成13组,前52比特以4比特为一组,后面的147比特分成49组,每组是3比特。再把每组二进制的数变为十进制的数,这就有了待嵌入序列T。把所要隐藏信息长度值再变为8位二进制的数,再把高4位和低4位都变成十进制数 T1和T2。这时候就是三个数T1、T2和T,再按这个顺利生成一个由64个十进制数组成的序列Tw。这样,这种算法下,199比特信息隐藏不成问题,如果要少于199比特,在后面加一个0就可以了。

该文所研究的嵌入,在本质上是把信息的量化表生成过程给隐藏了,把原先的8×8阵形设定为l,再把这样一个阵形用Z字形进行排序,从而成为一个1×64的序列I0。再把I0序列倒过来,形成一个新的序列Il。再在基础上形成一个嵌入隐藏信息的序列I',是用加性嵌入的方法开成的,所以,得出一个公式l'=I1+2*Tw。

3.3 如何提取所需要的信息

对于那种量化表是JPEG图像交换格式中的信息提取就很简单,不需要对PEG图片进行解码,就能很容易的得到JPEG图片中的所要的量化表。首先读入图像,在码字FFDB后就是本图像的量化表。当我们第一步提取了图像的量化表之后。

接下来再从最末两位得到嵌入信息的长度信息,我们用L来表示,把把其他的系数-1,得到的差÷2,这样就有了嵌入信息的十进制表示,再变成二进制。

取L位后,再根据密码经过反置乱得到最先的比特序列,最后一步,把这个一维二进制比特序列变为最初的具有原来意义的信息就算是成功提取了。

4 实验分析与结果

我们经过上面的讨论,解决了问题,但是得到的结果有效性如何呢,这需要我们来检测一下,为此,我们做了大量的实验。我们选择了四张常用的灰度图图片,分辨率为256×256我们为他们分别命名为Lena、Baboon、Boat、Girl,在这四张图片中,我们分别放进199 bit,128 bit,64 bit和32 bit与原始图像比较的峰值信噪比(PNSR)的值。

我们可以看出,在放进199 bit后名叫Lena的图像没有显著的变化,这是我们用肉眼所观察的,如果值都高于85 db,那么,图片的不可察觉性就很明显了。

通过该文算法,与QTM算法进行比较后,我们可以看出,所隐藏信息后图像大小和图像质量都有了很大的提高,表现在压缩比高,图片的质量也大大提高。

下面我们再对算法鲁棒性测试,无论什么样的攻击软件都不能能把JPEG交换格式的量化表做了篡改,所以,即使对图像进行了改动,里面的信息是不会被修改的,很安全。

当然,该文的算法还有一个更大的好处,这个好处莫过于是把图像里面的信息很方便、及时、简单的提取出来,直接可以把JPEG交换格式的量化表取出就来就达到了取得信息的目的了,而普通的算法就没有这样的优点,还要进行很多的分块、DCT变换等。不需要转换就会省去很多时间与技术,所以提出信息就方便得多。

5 结语

我们以JPEG为例向大家介绍了一种图片信息隐藏的算法,这种算法较以往的算法更为简单,它是根据人类视觉系统的JPEG图像的信息隐藏算法,更具有人

性化。

这种算法隐藏的图像更比普通算法有着很大的优点:

第一是,把信息嵌入到了JPEG交换格式的量化表中,更具有隐秘性;

第二是由于根据人类视觉系统设计的,信息嵌入后,具有不可观察性,所以图片的質量不受影响。

但是也有缺点,就是所嵌入的信息不多,如果与普通算法相结合会有更多的

优点。

参考文献

[1] 姚晓枝.基于两种不同载体的信息隐藏方法的研究[D].上海:复旦大学,2008.

[2] 刘化波.一种基于JPEG和HVS的水印方法[D].大连海事大学,2004.

[3] Wang Chingyang,Lee Shiuhming,Chang Longwen.Design visual system.2001.

[4] 邱应强,程义民,谢春辉,等.一种基于JPEG压缩图像的信息隐藏方法[J].电路与系统学报,2008,13(5).

[5] 刘光杰,戴跃伟,孙金生,等.用于JPEG图像的高容量信息隐藏算法[J].信息与控制,2007,36(1).

[6] 杨贵彬.JPEG图像信息隐藏检测方法的研究[D].北京工业大学,2009.

[7] 徐志杰,蔡晓霞,陈红.基于LSSVM的JPEG图像信息隐藏盲检测算法[J].火力与指挥控制,2010,35(8).

[8] 张新鹏,王朔中.JPEG图像中的安全密写方案[J].电子与信息学报,2005,27(11).