计算机应用   2016, Vol. 36 Issue (11): 3088-3092  DOI: 10.11772/j.issn.1001-9081.2016.11.3088
0

引用本文 

郑洪英, 任雯, 程惠惠. 基于位平面压缩的密文医学图像可逆信息隐藏算法[J]. 计算机应用, 2016, 36(11): 3088-3092.DOI: 10.11772/j.issn.1001-9081.2016.11.3088.
ZHENG Hongying, REN Wen, CHENG Huihui. Reversible data hiding in encrypted medical images based on bit plane compression[J]. Journal of Computer Applications, 2016, 36(11): 3088-3092. DOI: 10.11772/j.issn.1001-9081.2016.11.3088.

通信作者

任雯(1992-), 女, 四川邻水人, 硕士研究生, 主要研究方向:可逆信息隐藏、数字水印renwen2014@cqu.edu.cn

作者简介

郑洪英(1975-), 女, 重庆人, 副教授, 博士, 主要研究方向:图像加密、信息隐藏、压缩感知、多媒体安全;
程惠惠(1989-), 女, 河南信阳人, 硕士, 主要研究方向:图像加密、信息隐藏

文章历史

收稿日期:2016-05-25
修回日期:2016-06-20
基于位平面压缩的密文医学图像可逆信息隐藏算法
郑洪英, 任雯, 程惠惠    
重庆大学 计算机学院, 重庆 400044
摘要: 针对目前医学图像可逆信息隐藏算法嵌入容量小、需要对图像进行感兴趣区域(ROI)划分、接收方操作不灵活等缺点,结合医学图像特点,提出了一种基于位平面压缩的可分离式密文域信息隐藏算法。首先,将256级灰度医学图像分解成8个位平面,压缩高4个位平面,用峰值点像素值填充压缩后的空间,重构图像;然后,对重构的图像头部、中部、尾部分别加密;最后,在尾部根据嵌入密钥选取位置,通过直方图平移算法嵌入信息,接收方可根据密钥持有情况实现信息提取与图像恢复的可分离操作。实验结果表明,通过压缩图像预留空间来存放信息避免了辅助信息的传输,能有效提高嵌入容量,同时具有较高的安全性。
关键词: 医学图像    游程编码    直方图平移    信息隐藏    完全可逆    
Reversible data hiding in encrypted medical images based on bit plane compression
ZHENG Hongying, REN Wen, CHENG Huihui     
College of Computer Science, Chongqing University, Chongqing 400044, China
Background: ZHENG Hongying, born in 1975, Ph. D., associate professor. Her research interests include image encryption, information hiding, compressive sensing, multimedia security.
REN Wen, born in 1992, M. S. candidate. Her research interests include reversible information hiding, digital watermarking.
CHENG Huihui, born in 1989, M.S. Her research interests include image encryption, information hiding.
Abstract: The present reversible data hiding algorithms in encrypted medical image have low embedding capacity and need to partition Regions Of Interest (ROI), the receiver operation is not flexible. Combining with the characteristics of medical images, a novel separable reversible data hiding method in encrypted medical images was proposed. Firstly, the medical image with 256 gray levels was decomposed into 8 bit planes, and the highest four bit planes were compressed, which left some space to fill with the peak pixel values. Then the image was reconstructed. The head, middle, tail of the reconstructed image were encrypted respectively. After that, information was embedded in the encrypted image by histogram shifting, and the position was chosen by the data hiding key in the tail. For the receiver, information extraction and image restoration can be separated operations according to keys. The experimental results demonstrate that information can be stored in the compressed image to avoid auxiliary information transmission, which effectively improves the embedding capacity with higher security.
Key words: medical image    Run-Length-Encoding (RLE)    histogram shifting    data hiding    fully reversible    
0 引言

随着医疗系统数字化进程的推进,海量医学图像在网络上进行传输和存储, 这使得载有患者隐私信息的医学图像可能被非法获取、恶意篡改和传播, 因此,医学图像的安全性保护变成一个亟待解决的问题。加密技术和信息隐藏技术可以为医学图像的安全性提供保障。加密技术实现机密性保护,使得明文信息不可见。信息隐藏技术则实现完整性保护,判定内容是否真实可信。实际应用中,往往需要将加密技术和信息隐藏技术结合起来实现机密性和完整性的双重保护。文献[1]提出一种基于相邻像素相关性和流加密的信息隐藏算法; 文献[2]采用梯度算子以及side-match技术,降低了文献[1]嵌入信息的提取错误率; 文献[3]则首次实现了信息提取和图像恢复的可分离操作,接收方可以根据密钥持有情况灵活操作。

医学图像具有相邻像素相关性高、主要信息集中、能够进行区域划分等特征。有研究者将像素值高且纹理特征明显的部分称为感兴趣区域(Region Of Interest, ROI), 将其余连续区域称为非感兴趣部分(Region Of Non-Interest, RONI)。针对此特点,文献[4]提出一种对比度增强的医学图像可逆信息隐藏算法,提高了感兴趣区域的视觉质量;文献[5]将区域划分与直方图平移算法相结合,提高了嵌入容量;文献[6]将ROI与轮廓波变换域相结合,使得信息隐藏性能良好,抗攻击能力强。这些算法虽然考虑了医学图像特征,但算法的性能依赖ROI分割方案,虽然有文献[7]提出优化的自动化ROI分割方案,但是其算法复杂度以及执行效率是一个瓶颈。基于上述局限,结合医学图像特点,本文提出一种基于位平面压缩的密文图像信息隐藏算法。该算法通过压缩位平面图像来预留空间存放信息,有效提高了嵌入容量,同时信息提取以及图像恢复完全可逆、接收端操作灵活简单。实验也证明,嵌入率极大提高,图像也可以完全恢复。

1 算法描述

医学图像相邻像素间的相关性较高,而高相关性一般体现在像素的最高几位比特位相同上。例如,像素值160(二进制表示10100000)、162(10100010)、168(10101000),其最高4个比特位均为1010。因此,为提高相邻像素连续性,保证压缩效率,首先对256级灰度图像作位平面分解操作,得到8个位平面,压缩高4个位平面后再对图像进行重构,然后使用Logistic置乱加密算法加密重构后的图像,最后嵌入水印。接收方根据其拥有的密钥类型进行相应操作。算法由以下几部分构成:图像压缩与重构、图像加密、水印嵌入、水印提取与图像恢复。算法的总体框架如图 1所示。

图 1 算法框架
1.1 图像压缩与重构 1.1.1 游程编码

游程编码(Run-Length-Encoding, RLE)[8]是一种高效、易于实现的无损压缩方式。如图 2所示,将连续的灰度值相同的像素定义为一个游程,然后将一个游程用整数对(R, L)表示, L为灰度级,R表示游程长度。游程编码分为定长编码和变长编码两类。定长编码是指编码的游程所使用位数是固定,即R位数固定。如果灰度连续相同的个数超过了固定位数所能表示的最大值,则进入下一轮编码。变长编码则R位数不固定。游程编码压缩效率与压缩对象的数据分布有关,相同像素连续性越好,则压缩率越高。相邻像素具有高相关性的医学图像,通过位平面分解可以进一步提高其相邻像素的连续性,从而提高压缩效率。医学图像对质量要求高,处理量巨大,因此游程编码这种快速高效的无损编码方式非常适合用来对其进行压缩。

图 2 游程编码示意图
1.1.2 压缩与重构

假设原始医学图像I是大小为M×N的灰度图像,压缩与重构的步骤如下:

步骤1 将图像分解为8个位平面,如图 3所示。然后分别将最高的4个位平面和最低的4个位平面组合在一起,得到两幅大小为M×N,像素值在[0, 15]的图像,分别为M1M2

图 3 位平面分解示意图

步骤2 使用定长RLE编码压缩M1,其中R为四位,即R不超过15。记压缩后的数据为M1′, M1′的长度为LM1′,数据值在区间[0, 15]。

步骤3 将M2中相邻两个数据的二进制拼接在一起,其对应十进制的值在区间[0, 255]上,重组后的序列记为M2′。例如,两个数据分别为9(二进制表示1001)、4(0100),二进制拼接后为10010100,十进制表示为148。用相同的方法拼接M1′,得到重组后的序列M1″,M1″的长度为LM1″,使用a位二进制表示LM1″,其中a=lb M+lb N

步骤4 统计M2′序列的峰值点P和零值点ZZ不存在,则执行步骤5;Z存在, 则使用像素值P填充到压缩后腾出的空间。全体填充的像素组成的序列记为M3

步骤5 求最小值点作为零值点,将最小值点的位置信息记录在压缩后腾出的空间中。记最小值像素位置信息序列为M4, 长度为LM4, 使用b位二进制表示LM4,其中b=lb M+lb N。如果空间仍能填充,则继续使用像素值P进行填充。

步骤6 将填充完毕的序列重新构成大小为M×N的重构图像。

重构图像各部分数据组成如图 4所示。

图 4 图像压缩与重构后结构

将重构图像的$k = \left\lceil {(a + b){\rm{ /}}8} \right\rceil + 2$个像素组成的部分命名为头部,M1″和M4命名为中部,M3M2′命名为尾部。

假设I为512×512的灰度图像,此时头部如图 5所示,长度k=7。

图 5 M=512, N=512时头部结构
1.2 图像加密

对图像的加密为对头部、中部、尾部分别进行加密。头部加密使用密钥Kse,中部和尾部使用密钥Ken进行混沌置乱加密。Logistic映射[9]是一种被广泛应用的一维非线性迭代方程,其定义如式(1):

${x_{t + 1}} = u{x_t}(1 - {x_t})$ (1)

x0∈(0, 1), u∈(0, 4]分别是Logistic映射的初始值和控制参数,t={0, 1, 2, 3, 4, …}为迭代次数。当u∈(3.59, 4]时,该映射处于混沌状态,此时产生的序列具有非周期性和非收敛性,并且对x0非常敏感。当初值x0=0.5时的Logistic映射如图 6所示,该图体现了变量xu的变化情况。文献[10]指出Logistic映射的汇编指令条数最少,简单易于实现,能产生出具有较好随机性的序列。使用Logistic映射生成混沌序列S1={s1, s2, …, sm},S2={s1, s2, …, sn},其中m=M×N-k-nn=LM1″ + LM4,将得到的序列排序:

$[X\;\;\;inde{x_1}] = {\rm{sort}}({S_1})$ (2)
$[Y\;\;\;inde{x_2}] = {\rm{sort}}({S_2})$ (3)

其中:X,Y为排序后的序列;index1index2为排序后的索引序列;sort(·)为排序算法。按index1对尾部加密,按index2对中部加密。产生序列的初始值、控制参数和迭代次数作为加密密钥Ken。使用相同方法加密头部,初始值、控制参数和迭代次数作为密钥Kse。得到加密后的密文图像IE

图 6 Logistic映射(x0=0.5)
1.3 水印嵌入

Ni等在文献[11]中提出的基于直方图平移的信息隐藏算法,具有实现简单、应用广泛的特点,其最大嵌入容量由峰值点个数决定。本文中将原始图像进行压缩与重构,重构后的直方图峰值点个数更多,大大提高了水印的嵌入容量。

水印嵌入方接收IE后,按以下步骤嵌入水印:

步骤1 根据Kse解密头部得到P、ZLM1″、LM4;用水印加密密钥Kw对原始水印信息加密。

步骤2 根据嵌入密钥Kp在密文图像中尾部选取嵌入位置,当像素值等于P,则嵌入1b;否则根据直方图平移算法加1或减1,直到把所有信息嵌入完毕。

步骤3 嵌入完毕后,使用密钥K对整幅密文含水印图像进行Logistic混沌加密,得到最终的含水印密文图像IEW

采用直方图平移算法嵌入信息,在水印嵌入过程中像素值发生改变的像素个数越多,解密含水印图像时,得到的图像质量越差。使用Kp随机选取位置可以减少变化的像素点个数。

1.4 水印提取及图像恢复

接收方收到含水印的密文图像IEW后,使用密钥KIEW进行Logistic混沌逆操作,然后根据其拥有的密钥,有如下3种情形:

1)当其只有Kse, KpKw时:

步骤1 用Kp得到选取的位置的集合A,再用Kse解密头部,得到PZ。从尾部第一个像素开始遍历图像,记p(x, y)为当前扫描到的像素,x为行号,y为列号。若(x, y)∈A则提取信息:P>Z时,若像素值p(x, y)=P,则提取0,若p(x, y)=P-1,则提取1,并将该像素值加1;若Z < p(x, y) < P-1,则该像素中没有嵌入信息,将该像素值加1以恢复图像。P < Z时其操作类似P>Z的情况。此时得到加密后的水印信息WE

步骤2 用Kw解密WE得到最终的水印信息W′。

2)仅拥有KseKen:

步骤1 用Kse解密头部,得到LM1″,LM4

步骤2 使用Ken生成Logistic混沌序列,然后对该序列排序,按其索引序列对中部,尾部作逆置乱操作,即实现解密。

步骤3 根据LM1″,LM4按照重构图像的逆过程对解密后的图像进行逆重构与解压缩得到含水印明文图像IW

3)当接收方拥有Kse, Kw, Kp, Ken时,有两种操作:

Ⅰ)先解密再提取水印。

①解密:同2)的步骤1、2。

②提取水印并恢复图像:同1)的提取水印步骤基本一致,不同的是,由于解密操作使得水印嵌入点的位置发生了变化,则需要用Ken对嵌入点位置进行逆置乱操作,然后提取出正确的水印信息。最后解压缩、逆重构图像得到完全恢复的明文图像I′。

Ⅱ)先提取水印再解密。

该种情况下接收方的操作是发送方和水印嵌入方操作的逆过程,其水印提取过程与I中相同,此时不需要作逆置乱操作。图像解密后根据压缩并逆重构图像得到I′。

2 实验结果分析

实验选用如图 7所示4幅大小为512×512的标准DICOM医学图像作为测试图像。

图 7 原始医学图像
2.1 实验结果 2.1.1 密文含水印图像加密效果分析

原始医学图像经过加密、信息隐藏后的含水印密文图像如图 8(a)所示,直方图如图 8(b)所示。从图 8(b)中可以看出,密文含水印直方图分布均匀,有效掩盖了明文信息,攻击者无法从密文图像直方图中得到原始图像信息以及嵌入信息,也无法察觉密文图像中嵌入了信息。

图 8 含水印密文图像及效果
2.1.2 相关性分析

表 1给出加密前后水平、垂直、对角线三个方向上的相关系数,含水印的密文图像相邻像素间的相关系数很低,具有较好的加密效果。相邻像素间相关系数r计算公式如下:

${r_{x,y}} = \frac{{E(x - E(x))(y - E(y))}}{{\sqrt {D(x)} \sqrt {D(y)} }}$ (4)

其中:

$E(x) = \frac{1}{N}\sum\limits_{i = 1}^N {{X_i}} $ (5)
$D(x) = \frac{1}{N}\sum\limits_{i = 1}^N {{{({X_i} - E(x))}^2}} $ (6)
表 1 明文图像和密文图像相关系数比较
2.1.3 嵌入率分析

本文中,压缩图像腾出空间,再用峰值点像素对压缩出来的空间进行填充,填充后的峰值点数量如图 9所示,几乎成倍增加。最大嵌入率如表 2所示,本算法应用到医学图像上能够得到较好的压缩效果,拥有较高的嵌入率。

图 9 峰值点填充前后对比
表 2 图像嵌入率
2.1.4 峰值信噪比分析

1)未提取水印信息。

由于水印嵌入操作只是改变了部分峰值点像素值,且改变较小(加1或减1),因此嵌入水印后对图像质量的影响较小。最大嵌入率时含水印图像如图 10所示,从图中可看出含水印图像的质量高,无法看出与原始图像的差别。使用Kp随机选取位置,能有效提高含水印图像质量。表 3为未使用Kp时的含水印图像峰值信噪比(Peak Signal-to-Noise Ratio,PSNR),表 4为使用Kp时的含水印图像的PSNR。表中PSNR值均达到较高水平,具有较好的不可感知性。

图 10 最大嵌入率时含水印的解密图像
表 3 未使用Kp嵌入率与PSNR
表 4 使用Kp嵌入率与PSNR

2)提取水印信息。

本文中,提取水印后恢复得到的图像如图 11所示,其PSNR为Inf,图像100%恢复。

图 11 提取信息并完全恢复的图像
2.1.5 信息提取正确率分析

用归一化相关系数(Normalized Correlation, NC)判定不同水印间的相似程度,越接近1,相似度越高。

$NC\left( {{W_i},{{W'}_i}} \right) = \frac{{\sum\limits_i {{W_i}} \times {{W'}_i}}}{{\sqrt {\sum\limits_i {W_i^2} } \sqrt {\sum\limits_i {W_i^2} '} }}$ (7)

其中:WiWi′分别表示原始和提取水印在位置i的值。本算法所采用的图像加密方法和水印嵌入方法均完全可逆,其信息提取正确率理论上为100%。实验仿真结果也表明,4幅图像提取的水印其NC值均为1,因此信息提取正确率为100%。

2.2 安全性分析

情况1),接收方只有KpKw,它可以提取并解密获得水印信息。因为接收方没有Ken,因此无法解密获得原始图像。情况2)接收方只有Ken,它可以解密获得含水印图像;因为接收方没有KwKp,无法获得水印信息。情况3)接收方使用KwKp解密获得水印信息,用Ken解密获得原始图像。因此,水印的恢复和图像的恢复由KwKpKen共同控制。综上,本算法拥有较高的安全性且水印的提取和原始图像的恢复可以相互分离。

3 结语

本文通过游程编码对高四位平面压缩腾出空间,实现了密文域可逆信息隐藏。将峰值点像素值和零值点像素值存储在节省的空间中,不但解决了直方图中无零点的情况,而且避免辅助信息的发送,提高了安全性。在压缩的空间中填充峰值点,提高了嵌入容量。同时根据拥有密钥提取水印和恢复图像,实现了可分离操作。理论和实验表明,该算法巧妙利用医学图像的特点,克服ROI区域划分等局限性,操作简单,完全可逆并且具有较高的安全性。

参考文献
[1] ZHANG X P. Reversible data hiding in encrypted image[J]. IEEE Signal Processing Letters, 2011, 18 (4) : 255-258. doi: 10.1109/LSP.2011.2114651
[2] HONG W, CHEN T S, WU H Y. An improved reversible data hiding in encrypted images using side match[J]. IEEE Signal Processing Letters, 2012, 19 (4) : 199-202. doi: 10.1109/LSP.2012.2187334
[3] ZHANG X P. Separable reversible data hiding in encrypted image[J]. IEEE Transactions on Information Forensics and Security, 2012, 7 (2) : 826-832. doi: 10.1109/TIFS.2011.2176120
[4] WU H T, HUANG J W, SHI Y Q. A reversible data hiding method with contrast enhancement for medical images[J]. Journal of Visual Communication and Image Representation, 2015, 31 (C) : 146-153.
[5] 邓小鸿, 陈志刚, 梁涤青, 等. 分区域的医学图像高容量无损信息隐藏方法[J]. 通信学报, 2015, 36 (1) : 21-31. ( DENG X H, CHEN Z G, LIANG D Q, et al. Region-based lossless data hiding with high capacity for medical images[J]. Journal on Communications, 2015, 36 (1) : 21-31. )
[6] 李文娜, 高立群, 孔祥勇, 等. ROI和轮廓波结合的医学图像盲水印算法[J]. 哈尔滨工程大学学报, 2013, 34 (7) : 918-923. ( LI W N, GAO L Q, KONG X Y, et al. A blind watermark algorithm for medical images using ROI and contourlet[J]. Journal of Harbin Engineering University, 2013, 34 (7) : 918-923. )
[7] MOUSAVI S M, NAGHSH A, ABU-BAKAR S A R. A heuristic automatic and robust ROI detection method for medical image warermarking[J]. Journal of Digital Imaging, 2015, 28 (4) : 417-427. doi: 10.1007/s10278-015-9770-z
[8] 侯宏化. 数字图像处理与分析[M]. 北京: 北京理工大学出版社, 2011 : 144 -145. ( HOU H H. Digital Image Processing and Analysis[M]. Beijing: Beijing Institute of Technology Press, 2011 : 144 -145. )
[9] 谢涛.Logistic映射在密码学中的应用研究[D].湘潭:湘潭大学, 2014:20-33. ( XIE T. On cryptographic application of Logistic map[D].Xiangtan:Xiangtan University, 2014:20-33. )
[10] FU C, MENG W H, ZHAN Y F, et al. An efficient and secure medical image protection scheme based on chaotic maps[J]. Computers in Biology and Medicine, 2013, 43 (8) : 1000-1010. doi: 10.1016/j.compbiomed.2013.05.005
[11] NI Z C, SHI Y Q, ANSARI N W, et al. Reversible data hiding[J]. IEEE Transactions on Circuits and System for Video Technology, 2006, 16 (3) : 354-362. doi: 10.1109/TCSVT.2006.869964