APP下载

基于直方图平移的医学图像可逆水印算法

2013-06-29金作林

电视技术 2013年9期
关键词:分块直方图灰度

刘 芳,金作林

(1.北京电子科技学院,北京 100070;2.第四军医大学,陕西 西安 710032)

医学图像水印技术是对医学影像设备形成的数字化图像或模拟图像经量化后的数字化图像,按照实际应用来隐藏秘密信息以满足用户需要的技术。在现代医疗体系中,医学专家可以通过远程健康诊疗系统,方便快捷地获取病人的医学图像来诊断病情。为了便于专家的诊断,同时保护病人的隐私,确保医学图像的版权,大量的水印信息,如病人信息、相关诊断数据、医院的标识、医生的签名等需要秘密嵌入供诊断的医学图像中。因此,医学图像水印算法的优劣,将直接影响使用者对图像的最终感受,进而影响到对图像的理解和对疾病的诊断。目前的图像水印算法大多属于有损水印,水印信息嵌入的同时会导致载体图像产生永久的失真,主要用于图像产品的版权保护和认证,并不完全适用于医学图像这类特殊的应用。在此背景下,可逆图像水印技术成为了近年来的研究热点之一,被广泛应用于医学、军事、司法、政务等领域。

所谓可逆水印,是指在正确提取水印后还能无损地恢复原始图像的水印技术。从应用角度来看,可逆水印更加适用于隐秘信息传输和脆弱性认证。

已有的可逆图像水印算法可以分为3类:1)基于无损压缩的方法[1-4]。此类算法容易实现,但嵌入数据量较小。2)基于差值扩展的方法[5-7]。此类算法利用可逆整数小波变换,将秘密信息嵌入扩展后的高频小波系数(像素对差值)中,水印的嵌入对图像质量的影响较大。3)基于直方图平移的方法[8-10]。此类算法根据图像特征首先构建直方图,然后找到直方图中的峰值点和零值点,通过直方图平移修改将水印嵌入在具有峰值点特征的像素中。其优点是水印不可见性好,计算简单,但缺点是允许嵌入的水印量依赖于图像特征的分布。

对于医学图像而言,在保证可逆性的同时减少图像失真远比增加水印容量更重要。因此本文的研究就是结合医学图像的特点,从改进水印不可见性的角度提出了一个基于分块的灰度直方图平移水印算法。

1 灰度直方图平移

Ni算法[8]描述了直方图平移方法的基本原理。首先构建图像的灰度直方图,在直方图中找到峰值点(图像中出现次数最多的像素数目)和零值点(图像中出现次数最少的像素数目,一般为出现次数为零的像素数目)。用p表示峰值点,z表示零值点,z>p,记录p和z的值,如图1a所示。然后将图像中所有灰度值处于区间[p+1,z-1]的像素的值加1,即将区域[p+1,z-1]内的直方图向右平移一位,使得灰度值为p+1的像素个数为0,如图1b所示。嵌入水印时,如果水印为“1”,则灰度值为p的像素的值加1,变为p+1;如果水印为“0”,则保持不变,如图1c所示。提取水印时,根据记录的p和z的值,扫描图像。若像素的灰度值为p,其携带的水印位为“0”,若像素的灰度值为p+1,其携带的水印位为“1”。提取水印后,只需将灰度值处于区间[p+1,z]的像素的值减1,即可恢复原始图像。

图1 直方图平移方法示意图

显然,直方图越陡峭,则水印嵌入容量越高;而需平移的像素点数量越少,则图像失真越小,水印不可见性越好。一般来说,医学图像的灰度取值范围较窄,峰值点的分布相对比较集中。以图2a为例,将其划分为8×8的块,则峰值点的分布如图3所示。可以看出,图像中的峰值点集中分布在少量分块中。如果嵌入和提取水印时能够识别峰值点的位置,仅在峰值点所在的分块而不是整个图像进行直方图平移操作,就可以在不影响算法可逆性的条件下,大大减少需平移像素点的个数,从而获得更好的图像质量。

图2 原始图像

图3 峰值点分布图

2 水印嵌入算法

假设原始图像 I大小为M×N,每个像素x∈[0,255]。w 为二值水印序列,w∈{0,1}。

嵌入算法的步骤描述如下:

1)构建图像I的灰度直方图,记录峰值点p和零值点z。如式(1)所示,hist(x)是图像的灰度直方图

步骤1,统计图像块内峰值点(值为p的像素)的个数count_p。判断count_p是否大于0,如果count_p>0,转入步骤2;反之,转入步骤4。

步骤2,嵌入水印,如式(2)所示

步骤3,判断当前块嵌入的水印序列是否全为1。如果全为1,则嵌入后的图像块内不含峰值点,设定标志位flag(k)=1,k=k+1。

步骤4,统计图像块内值为p+1的像素的个数count_p1,如果count_p1=0,跳过当前块;反之,设置flag(k)=0,k=k+1。

4)整合所有图像块,得到嵌入水印后的图像I'。

为了能够在提取水印后无损地恢复原始图像,数据嵌入的过程中,需要存储一定长度的辅助信息。对于本文算法来说,辅助信息包含三部分内容:一是峰值点和零值点,共16位;二是分块标志位,共k-1位,可以采用行程编码对其进行无损压缩;三是记录上/下溢出的相关信息,其长度取决于溢出点的个数。本文算法中,溢出现象只可能发生在灰度值为0和255的像素上。假设原像素的值x=0,如果调整x的值,使x=x-1,则出现下溢。同理,假设x=255,如果使x=x+1,则出现上溢。可以采用简单的直方图收缩技术来处理溢出。对于取值为0和255的像素,修改其值,使之变为1和254,并记录溢出位置。

3 水印提取和图像恢复算法

水印提取和图像恢复算法的步骤描述如下:

1)对于待测图像进行分块,每个分块的大小为s×t。标志位计数器k初始值为1。

步骤1,统计图像块内峰值点(值为p的像素)的个数count_p。判断count_p是否大于0,如果count_p>0,转入步骤2;反之,转入步骤4。

步骤2,提取水印,即

步骤3,提取水印后,恢复图像,即

步骤4,统计图像块内值为p+1的像素个数count_p1,如果count_p1=0,跳过当前块;反之,如果flag(k)=1,调用式(3)和式(4)提取水印和恢复图像,k=k+1,如果flag(k)=0,跳过当前块,k=k+1。

3)整合所有图像块,得到提取水印和恢复后的原始图像。

4 实验结果

实验编程环境采用MATLAB7.0,Windows XP操作系统,1 Gbyte内存。实验中使用的二值水印序列随机产生,3幅测试医学图像从网络图像库中选取,如图2所示。

1)水印不可见性

选定分块大小为8×8,在图2的测试图像中嵌入最大容量水印,得到的含水印图像如图4所示,其对应的PSNR如表1所示。实验结果表明,嵌入最大容量水印后,图像质量较好,PSNR可达到56 dB以上,水印不可见性好。

图4 含水印图像

表1 含水印图像质量

2)水印容量

利用本文算法进行水印嵌入时,实际的水印嵌入容量R应为总容量C减去辅助信息长度L的值,即

由于扫描图像进行水印嵌入的过程中,每遇到灰度值等于峰点p就会嵌入1 bit信息。因此,C即为p的出现频率。可见,C值越大,L值越小,水印的实际嵌入容量越大。

表2显示了在分块大小为8×8的情况下,不同测试图像的实际嵌入容量。实验结果表明,容量大小与图像特征有关。图像纹理越简单,容量越大;反之,容量越小。

表2 实际嵌入容量

3)计算复杂度

本文算法属于空间域算法。计算开销主要来源于产生直方图、寻找峰值点零点、扫描图像嵌入水印、直方图平移等操作。假设载体图像大小为M×N,对于本文算法而言,在嵌入水印的过程中需要对图像进行两轮扫描,第一轮产生直方图,第二轮嵌入水印的同时进行直方图平移,因此计算复杂度为O(2MN)。

4)分块大小的选取对算法性能的影响

值得注意的是,分块大小的不同对图像质量和水印容量可以产生影响。表3显示了分块大小分别4×4,16×16时,得到的含水印图像的PSNR及实际嵌入容量。可以看出,分块越小,图像质量越好,容量越低;反之,图像质量越差,容量越高。

表3 分块大小对算法性能的影响

5 结论

本文从提高水印不可见性的角度提出了一种基于直方图平移的医学图像可逆水印算法。该算法的缺点是辅助信息过多,嵌入容量有限。下一步将研究如何尽可能地压缩辅助信息,并将算法的思想应用于差值直方图平移算法,在保证高质量的同时进一步扩充可隐藏容量。

本文算法属于脆弱性水印算法,可以应用到信息隐藏、图像认证和重要图像的保密传输等安全领域。

[1]HONSINGER C W,JONES P,RABBANI M,et al.Lossless recovery of an original image containing embedded data:US,6278791[P].2001-08-21.

[2]FRIDRICH J,GOLJAN J,DU R.Invertible authentication [C]//Proc.SPIE Security and Watermarking of Multimedia Content 2001.[S.l.]:SPIE,2001:197-208.

[3]CELIK M U,SHARMA G,TEKALP A M.Lossless watermarking for image authentication:a new framework and implementation[J].IEEE Trans.Image Processing,2006,15(4):1042-1049.

[4]李书欣,王泉,吴延赞,等.基于HVS感知模型与数据压缩的可逆图像水印算法[J].电视技术,2010,34(6):26-27.

[5]TIAN J.Reversible data embedding using a difference expansion[J].IEEE Trans.Circuits and Systems for Video Technology,2003,13(8):809-896.

[6]ALATTAR A M.Reversible watermark using the difference expansion of a generalized integer transform[J].IEEE Trans.Image Processing,2004,13(8):1147-1156.

[7]WENG S W,ZHAO Y,PAN J S.Reversible data hiding using the companding technique and improved DE method[J].Circuits Systems and Signal Processing,2008,27(2):229-245.

[8]NI Z,SHI Y Q,ANSARI N,et al.Reversible data hiding[J].IEEE Transa.Circuits and Systems for Video Technology,2006,16(3):354-362.

[9]TSAI P,HU Y C,YEH H L.Reversible image hiding scheme using predictive coding and histogram shifting[J].Signal Processing,2009,89(6):1129-1143.

[10]LUO HAO,YU F X.Reversible data hiding based on block median preservation[J].Information Sciences,2011,181(2):308-328.

猜你喜欢

分块直方图灰度
符合差分隐私的流数据统计直方图发布
采用改进导重法的拓扑结构灰度单元过滤技术
钢结构工程分块滑移安装施工方法探讨
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
分块矩阵在线性代数中的应用
用直方图控制画面影调
基于最大加权投影求解的彩色图像灰度化对比度保留算法
中考频数分布直方图题型展示
基于灰度线性建模的亚像素图像抖动量计算
反三角分块矩阵Drazin逆新的表示