APP下载

融合CFT和LSB的高容量可逆数据隐藏

2019-05-29任克强肖璐瑶

液晶与显示 2019年4期
关键词:秘密容量像素

任克强,肖璐瑶

(江西理工大学 信息工程学院,江西 赣州 341000)

1 引 言

信息技术的快速发展使得多媒体数据在互联网上的传播变得越来越频繁,但互联网是一个开放空间,在传播过程中第三方可能会对数据进行非法监控、窃取、伪造或损坏。因此,多媒体数据的安全[1-4]变得更加重要。数据隐藏技术是近年来为提高多媒体数据的安全性而广泛研究的领域之一,包括水印和隐写在内的数据隐藏技术可以分为不可逆的数据隐藏技术和可逆的数据隐藏技术[5-6]。这种分类取决于通过提取秘密数据恢复原始图像的能力。

中心折叠技术(Center Folding Technique,CFT)和最低有效位(Least Significant Bit,LSB)替换方法是数据隐藏中常用的方法。中心折叠技术是折叠秘密数据并隐藏在双图像中。文献[7]提出了一种基于双图像的可逆数据隐藏方法,在将秘密数据嵌入载体图像之前,利用中心折叠的方法调整秘密数据的范围来减少图像的失真。提高了嵌入容量并且降低了图像失真。LSB替换方法[8-9]是用秘密数据来替换像素的最低有效位。文献[10]提出了四像素差分和修改LSB替换的方法。秘密数据通过修改k位的LSB替换方法隐藏到每个像素中,其中k由四像素块的平均差值决定。文献[11]提出了基于PVD和LSB替换的隐写方法,使用LSB替换和最佳像素调整处理将秘密数据嵌入图像。在嵌入容量方面有很大提升,同时保持隐秘图像的质量,但算法复杂度高。文献[12]采用Baker算法进行图像置乱,利用人眼不敏感像素点的细微变化,利用3种颜色R、G和B的最低位用于图像隐藏。文献[13]提出一种改进的最低有效位(LSB)方法将一系列三进制秘密数据嵌入到载体图像中,使其易于嵌入和提取数据,同时具有高嵌入容量;但如果嵌入容量较低,隐秘图像的质量低。文献[14]提出一种基于位平面混合PVD和LSB高容量可逆数据隐藏,通过划分位平面,同时使用两种技术进行秘密数据嵌入,很大程度上提高了嵌入容量但隐秘图像质量还有待提高。

针对文献[13]的不足,本文提出一种基于中心折叠和最低有效位替换的大容量数据隐藏方法。首先将载体图像像素划分为两个位平面,然后把秘密数据利用中心折叠技术进行折叠,实现秘密数据的嵌入,最后使用最低有效位替换方法在嵌入后的像素继续嵌入秘密数,以提高隐藏算法的性能。

2 相关工作

2.1 最低有效位替换

LSB替换方法是隐写术在空间域中的替换方法,其原理用秘密数据比特替换BMP图像中的最低有效比特。这意味着,由于人眼对像素点的细微变化不敏感,3种颜色R,G和B的最低位用于隐藏数据。因为数据隐藏在最低位,所以它相当于叠加微弱信号,因此很难在视觉上检测到它,但只要接收方知道隐藏数据的位置和嵌入时使用的算法,接收方就可以提取隐藏数据。

(1)

当k=2时,给定两个像素(145,188),通过用秘密位替换像素的2位LSB来获得新像素(146,191)。

图1 LSB替换示例(k=2) Fig.1 LSB substitution example(k=2)

秘密比特可以直接从隐秘像素中提取而无需任何额外信息。

(2)

秘密比特102和112可以从图1中的146=100100102和191=101111112中提取。

2.2 中心折叠技术

(3)

为了生成两个隐秘图像,利用式(4)将d值分成两种类型。

(4)

(5)

当k=4时,像素值为78,通过中心折叠技术来获得新像素75和80。

图2 中心折叠技术示例(k=4)Fig.2 Framework of image measuring system

(6)

(7)

3 算法描述

3.1 融合中心折叠和最低有效位替换算法

通常,传统的LSB替换方法只修改像素的两个最低有效位,从而可能会导致溢出。文献[13]是在最低有效位替换方法的基础上进行改进的。该方法可以在每个灰度像素中隐藏两个三进位数,在嵌入之前,通过在像素上加1或减1来解决溢出的问题,使其变得容易嵌入和提取数据,同时具有高嵌入容量。但是当嵌入容量较低时,该方法并不比传统的LSB替换方法表现更好。为此,本文引入了位平面的概念,将载体图像的像素划分成两个位平面,分别使用中心折叠技术和最低有效位替换方法换嵌入秘密数据,很好地解决了文献[13]中的问题,同时,很大程度上提高了嵌入容量。

3.2 嵌入过程

本文根据k的取值,判断像素是否满足嵌入秘密数据的条件,选取相应的像素采用融合中心折叠和最低有效位替换算法嵌入秘密数据,嵌入秘密数据的方案如图3所示。

图3 秘密数据嵌入方案流程图Fig.3 Secret data embedding scheme flow chart

嵌入过程描述如下:

S1:原始图像的像素记为:X={x1,1,x1,2,x1,3...,xH,W}其中H和W分别是图像的高度和宽度。判断像素xi,j的大小,如果它在范围[2k,256-2k]内,那么它可以用于嵌入。否则,像素可能会导致溢出。溢出处理将在3.4节中描述。

(8)

(9)

(10)

(11)

S6:重复S1~S5直到载体图像中的像素嵌入秘密比特流。

3.3 提取过程

提取秘密数据是反向嵌入的过程,首先从隐藏像素的最低有效部分提取秘密数据,再通过平均像素值恢复图像并提取秘密数据,提取秘密数据的方案如图4所示。

图4 秘密数据提取方案流程图Fig. 4 Secret data extraction scheme flow chart

提取过程描述如下:

(12)

(13)

(14)

(15)

(16)

S4:重复S1~S3直到秘密比特流全部提取。

3.4 溢出处理

在秘密数据嵌入的过程中,当原始像素大于256-2k-1或小于2k-1时,会发生溢出的问题。在保证不加剧图像失真的前提下,采用不嵌入或修改像素的方法来解决这个问题。在信息提取和图像恢复过程中,如果两个隐秘图像的像素相等并且大于256-2k-1或小于2k-1,那么此时的隐秘像素就是原始像素。

4 实验结果与分析

本文算法在Windows 10+MATLAB 2016平台来验证其性能,在标准灰度测试图数据库中选取了Lena、Airplane、Boat和Baboon这4幅具有不同纹理特征的512×512的标准灰度图像作为原始图像,如图5所示。

图5 原始图像Fig.5 Original image

本文算法的性能通过测量峰值信噪比(Peak Signal to Noise Ratio,PSNR)和嵌入容量(Embedding Capacity,EC)来进行评估。秘密数据的嵌入容量意味着可以嵌入原始图像中的秘密数据量,峰值信噪比意味着隐秘图像的失真程度。PSNR定义为:

(17)

3种算法的嵌入容量(EC)和峰值信噪比(PSNR)的实验结果如表1所示。文献[13]平均可以嵌入960 065位秘密数据,平均PSNR为37.65 dB。文献[14]将平均嵌入容量提高到了1 051 542。相比文献[13]和文献[14]的算法,本文算法很大程度上提高了嵌入容量,平均嵌入容量为1 572 778位。从实验结果可以看出,本文算法在嵌入容量和图像质量之间保持了很好的平衡,即提高嵌入容量的同时很好地保证了图像的质量。

表1 不同算法的最大嵌入容量和视觉图像质量的比较Tab.1 Comparison of maximum embedding capacity and visual image quality of different algorithms

续 表

图6是Lena、Airplane、Boat和Baboon4幅标准灰度图像中不同秘密数据的嵌入容量与PSNR之间的关系的比较。从图6中3种算法的性能曲线中看出,文献[14]基于文献[13]提高了一定的嵌入容量,但相应地,对于相同的嵌入能力,图像质量略有下降。本文算法的性能优于比较的文献[13]和文献[14],提高嵌入容量的同时图像的质量也得到提高。本文算法的平均嵌入容量为1 572 778 bit,平均PSNR为35.90 dB。

图6 3种算法性能的比较Fig.6 Performance comparison of three algorithms

5 结 论

针对嵌入容量较低时隐秘图像质量较低的问题,本文提出了一种大容量的基于中心折叠和最低有效位替换的数据隐藏方法。在同一位平面中同时使用中心折叠技术和最低有效位替换来提高嵌入容量。首先在每个像素上生成两个位平面。在最高有效位中使用中心折叠技术,并且在位平面中的k位区域上应用最低有效位替换。实验结果表明,与文献[13]和文献[14]相比,本文算法的嵌入容量增加了512 236~612 713位;图像的质量提高了约2 dB,是一种有效可行的数据隐藏方法。

猜你喜欢

秘密容量像素
像素前线之“幻影”2000
水瓶的容量
“像素”仙人掌
ÉVOLUTIONDIGAE Style de vie tactile
IQ下午茶,给脑容量加点料
愿望树的秘密(二)
小桶装水
高像素不是全部
我心中的秘密
第十三章 进化的秘密!