用于医学图像认证和医患信息隐藏的自适应可逆水印方法

文档序号:6627579阅读:243来源:国知局
用于医学图像认证和医患信息隐藏的自适应可逆水印方法
【专利摘要】本发明涉及一种用于医学图像认证和医患信息隐藏的自适应可逆水印方法,用于医学图像的完整性认证和实现医患信息的隐藏通信。本发明通过对原始医学图像进行分块,根据嵌入水印容量的需要选择嵌入强度,在分块差值直方图中的峰值点采用移位的方法来实现大容量和自适应的不可见的水印信息嵌入。水印信息由医患信息和辅助信息两部分组成,实现医生的诊断信息及患者的个人信息的隐藏通信。在检测端通过对水印信息提取,实现图像的完整性认证,还可以无损地恢复原始医学图像和医患信息。本发明算法复杂度低,安全性高,实用性强。
【专利说明】用于医学图像认证和医患信息隐藏的自适应可逆水印方法

【技术领域】
[0001]多媒体信息安全和多媒体信息处理领域

【背景技术】
[0002] 现代医学诊断设备产生的医学图像,如X线、CT、MR、超声、内窥镜以及血管造影 等,不但在诊断中的地位极其重要,而且占整个医院医学信息的70 - 80%以上,海量的医学 影像数据不仅要占据大量的存储空间,而且也在管理信息方面带来巨大的安全隐患。与此 同时,数字化的医学信息在公共网络传输时,十分容易被截获或篡改,而一旦作为诊断依据 的数字医学图像发生异常(如伪造、篡改、信息错乱等),不仅无法作为医疗事故判案的有 力证据,更会延误病人的最佳诊治时间甚至发生误诊,因此,寻求新的多媒体信息安全技术 措施已成为目前迫切需要解决的重要课题。
[0003] 现有的加密方法和访问控制方法已很难满足影像归档和通信系统(PACS,Picture Archiving and Communication Systems)信息安全的要求。首先,加密只能保证传输信道 的安全,数据一量被解密,就不再提供任何的保护机制。其次,数字签名或消息认证码,需要 用文件存储与原始消息数据一起传输,增加了额外的传输信道。
[0004] 认证水印(Authentication Watermarking)就是在保证数字媒体信息一定视觉 (或听觉)质量的前提下,将与媒体内容相关或不相关的标志信息作为水印直接嵌入媒体 内容中,当媒体内容需认证时,可将水印提出鉴定其是否真实完整。目前医学图像的认证水 印方法都具有较好的不可见性、安全性并对图像的篡改具有一定的敏感性。但是对图像认 证水印算法大多属于有损水印,水印信息嵌入的同时会导致医学图像产生永久的失真,而 且这种失真是不可逆的。因此,此类方法并不能够完全满足对医学图像信息安全这类特殊 的应用需求。
[0005] 尽管载体图像在嵌入水印后导致的失真不可感知,但在保护医学图像安全等领域 的特殊应用场合往往不允许出现具有永久性失真的情况。在此背景下,可逆医学图像水印 技术成为了近年来的研究热点之一,已有的可逆医学图像水印方法可以分为三类:一是基 于无损压缩的方法,此类方法容易实现,但嵌入水印的数据容量小。二是基于差值扩展的 方法,此类方法可利用可逆整数小波变换,将医患数据作为秘密信息嵌入扩展后的高频小 波系数(像素对差值)中,水印的嵌入对图像质量的影响较大,而且嵌入的水印信息容量有 限。三是基于直方图平移的方法,此类方法根据图像特征首先构建直方图,然后找到直方图 中的峰值点和零值点,通过直方图平移修改将水印嵌入在具有峰值点特征的像素中。其优 点是水印不可见性好,计算简单,但缺点是允许嵌入的水印量依赖于图像特征的分布且整 体的水印嵌入容量小。但当前有研究成果表明,第三类基于直方图平移的方法更适合应用 于对医学图像的保护。
[0006] 综合以上对医学图像应用需求的分析并加以改进,我们认为对于医学图像在保证 医学图像可逆性的同时增加水印容量远比减少图像失真更重要一些。因此本发明专利的研 究结合医学图像的特点和应用需求,从改进水印可嵌入水印信息容量大小和提升嵌入水印 后医学图像质量的角度提出了一种基于分块差值直方图的大容量和自适应的可逆水印认 证方法。


【发明内容】

[0007] 本发明所要解决的技术问题是基于上述现有技术存在的不足,提供一种基于分块 差值直方图的大容量和自适应的可逆水印认证方法,用于医学图像的完整性认证和实现医 患信息的隐藏通信。通过对原始医学图像进行分块,在分块差值直方图中的峰值点采用移 位的方法来实现大容量的不可见的水印信息嵌入。水印信息由医患信息和辅助信息两部分 组成,实现医生的诊断信息及患者的个人信息的隐藏通信。在检测端通过提取正确的水印 信息,实现图像的完整性认证,能够无损地恢复原始医学图像和医患信息,为进一步诊断和 决策提供一致的数据支持。
[0008] 本发明解决上述技术问题所采取的技术方案是,一种用于医学图像认证和医患信 息隐藏的自适应可逆水印方法,包括两个部分:一是将加密后的医患信息作为水印嵌入到 原始医学图像中,在不增带宽的情况下利用水印的不可见性实现隐藏通信;二是在接收端 对含水印医学图像进行水印提取,进行完整性检测、提取隐藏的医患信息和无损地恢复原 始医学图像,具体内容及实现步骤如下:
[0009] 第一部分:医学图像的水印信息生成和嵌入
[0010] 定义医学灰度图像I的大小为MXN像素,其中Μ和N都为3的整数倍,不是3的 整数倍的医学图像进行边界处理;
[0011] stepl :对原始的医学图像 I (X,y) (X = 1,2, 3,…,M ;y = 1,2, 3,…,Ν)中的每 个像素值进行收缩调整,防止最终嵌入数据后结果溢出,实现可逆操作,即对像素值为 [255 - 2T - 1,255]的像素左移2T - 1个灰度单位,其中T为每个可嵌入像素的嵌入强度;同 时将该过程的数据记录下来,并采用行程编码进行RLE无损压缩编码;
[0012] st印2 :对溢出处理后的医学图像按ηΧη(η = 3)大小不重叠分块,得到医学图像 的各个子块;对不为3整数倍的行数或列数进行边界处理,得到医学图像的各个子块;
[0013] step3 :计算各图像子块中所有像素与参考像素(2, 2)的差值,形成各图像子块的 差值直方图;
[0014] step4 :除参考像素(2, 2)外,取各图像子块中差值为0的像素为峰值,计算各图像 子块可嵌入水印信息的容量,统计整个图像可嵌入水印的总容量,记为Allcapacity ;
[0015] step5 :生成待嵌入的水印信息为W(i) ;W(i)由医患信息Watermark Information 和辅助信息Initial Information两部分组成,其总长度用L表示,用4个字节记录;
[0016] 医患信息为需要秘密嵌入供诊断的信息,包括病人信息、相关诊断数据、医院的标 识和医生的签名,经编码成二进制序列Watermark Information ;
[0017] 辅助信息包括信息长度、完整性消息认证编码、水印嵌入强度和图像溢出标志信 息Overflow (η),其中完整性消息认证编码则是对Watermark Information运用HMAC算法 计算得到的消息摘要,即完整性消息认证码,将完整性消息认证码编码成二进制序列,记为 Infor,Infor是一个长度为128位二进制序列;
[0018] 水印嵌入强度T则是由经计算后所得到的实际水印信息长度L与step4所得的可 嵌入水印总容量Allcapacity比较后确定,比较规则如下所示:
[0019] If L〈 = Allcapacity 则 T = 1 ;
[0020] If L> = Allcapacity and L〈 = 2*Allcapacity 则 T = 2 ;
[0021] If L> = 2*Allcapacity and L〈 = 3*Allcapacity 则 T = 3 ;
[0022] If L> = 3*Allcapacity and L〈 = 4*Allcapacity 则 T = 4 ;
[0023] 最后,计算待嵌入水印信息W(i)的总长度,待嵌入的水印信息W(i)表示为:
[0024] ff (i) = Initial Information + ffatermark Information = L+Infor+T+Overflow(n)+ffatermark Information
[0025] step6:图像子块的差值直方图中,根据需要嵌入水印容量大小依次对差值大于峰 值的像素,其对应的像素灰度值增加2 T - 1个单位,当满足所需嵌入水印容量后,之后的峰 值点像素灰度值则保持不变;
[0026] st印7 :根据密钥采用Logistic混沌映射生成长度和W(i)信息长度相同的均匀分 布的二值伪随机序列S ;使用S伪随机序列对W(i)信息进行异或调制加密得到待嵌入的水 印信息;
[0027] step8 :水印信息的嵌入,其方法为:依次在除每个图像子块中的参考像素(2, 2) 外的各图像子块的峰值点嵌入T个bit的水印信息,其操作过程如下:
[0028] 首先,对每个图像子块,依顺序选定峰值,即差值为0的像素,除图像子块中的参 考像素(2, 2)外;
[0029] 其次,在确定水印要嵌入的像素点后,从W(i)中依次提取T个bit的水印信息;
[0030] 最后,在差值为0的峰值点按如下的嵌入规则嵌入T个水印信息:
[0031] If W(i) = 0 and W(i+1) = 0 则 I(x,y) = I(x,y);
[0032] If W(i) = 0 and W(i+1) = 1 则 I(x,y) = I(x,y)+1 ;
[0033] If W(i) = 1 and W(i+1) = 0 则 I(x,y) = I(x,y)+2 ;
[0034] If W(i) = 1 and W(i+1) = 1 则 I(x,y) = I(x,y)+3 ;
[0035] st印9 :水印信息嵌入完成,得到嵌入水印后的医学图像IW ;
[0036] 第二部分:含水印医学图像的水印提取、完整性检测和无损恢复医学图像
[0037] stepl :对含水印的医学图像IW(x,y)按nXn(n = 3)大小不重叠分块,得到医学图 像的各个子块;
[0038] step2 :求各图像子块中所有像素与参考像素(2, 2)的差值,形成各图像子块的差 值直方图;
[0039] step3:从各图像子块中所有像素顺序和各图像子块的差值直方图中提取水印信 息 W (i);
[0040] St印4 :根据密钥生成二值伪随机序列S,使用S伪随机序列对W(i)信息进行解 密;
[0041] St印5 :根据W(i)信息再一次生成128位的消息验证码,与从还原的W(i)信息提 取的参考完整性消息验证码进行比较;
[0042] st印6 :比较以上两个消息验证码是否一致,如若二者全部相同则医学图像没有被 篡改,通过认证,可执行下一步;如若二者不一致则医学图像被篡改,认证结束;
[0043] step7 :根据辅助信息Initial Information读取并生成水印信息为W(i)中的医 患信息 Watermark Information ;
[0044] step8 :根据辅助信息Initial Information还原原始的医学图像。
[0045] 本发明具备的有益效果如下:
[0046] (1)可嵌入的水印信息容量大,嵌入率可达到0· 5bpp?1. 7bpp。
[0047] 对比当前其他用于医学图像认证的研究成果,如论文《郑淑丽,邢慧 芬,王美玲,胡东辉.基于直方图平移和差分直方图的可逆水印[J].系统仿真学 报,2013, 25(11) :2717 - 2722.》中的研究成果提出:水印嵌入位置只修改了偶数位置上 的像素值,奇数位置的像素值保持不变,使得从人眼视觉效果上观察图像并没在发生太大 的变化,但水印嵌入总容量上效果并不佳,为提高水印嵌入容量通过多次嵌入的方法来实 现。对比该方法使用相同内容和相同大小的载体图像,引用该方法在文中的表述在嵌入 9920bits的数据后,得到解决的图像与原始图像的峰值信噪比为52. 14dB ;而本发明在选 择嵌入强度T为1时,在最大嵌入容量的情况下,嵌入26350bits的数据后,得到的PSNR值 为56. 16dB。因此可以证明本发明的方法在嵌入容量和所得的图像质量上明显高于郑淑丽 等人的方法。
[0048] (2)所需的辅助信息量少,只需要保存防溢出标志的位置,即可实现图像的无损恢 复。
[0049] 本发明中所需要的辅助信息由W(i)信息长度、完整性消息认证编码、嵌入强度和 嵌入方式、图像溢出标志信息〇verfl 〇w(n)四个部分组成。其中完整性消息认证码是一个 长度为128位二进制序列,S卩16个字节;W(i)信息长度由一个固定长度的4个字节表示; 嵌入强度为1个字节;图像溢出标志信息Overflow (η)通过RLE压缩后其信息长度应少于 M*N/3。采用差值直方的方法,所以在辅助信息中不需要保存峰值等其他信息,即可实现医 学图像的完整性认证和无损恢复。
[0050] (3)可嵌入水印信息容量可实现自适应和嵌入水印后的医学图像质量达到了较佳 的平衡。
[0051] 对比当前图像处理的研究表明,如2013年的发明专利《数字图像可逆水印嵌入方 法及其提取方法(CN102903076 A)》在水印嵌入率达lbpp时,图像的峰值信噪比PSNR值为 35?36dB。另外,还有研究成果表明:图像在嵌入水印后,其峰值信噪比PSNR值大于35dB 以上,人眼视觉效果上无法分别原始医学图像和嵌入水印后的医学图像。
[0052] 可见,以此为前提,充分利用原始医学图像每个可嵌入水印的像素点,在每个像素 点嵌入2?3个比特位,满足医学图像嵌入大容量水印信息的要求。即本发明方法在嵌入 水印后,图像质量的PSNR值可达到36dB以上,水印的嵌入率最高可达到1. 7bpp,实现达到 了可嵌入大容量的水印信息和嵌入水印后的医学图像质量更高的平衡。
[0053] (4)计算方法简单,安全性高,实用性强。
[0054] 针对水印系统的安全性,使用了混沌序列对水印信息进行加密,使用HMAC算法增 强了整个算法的安全性。所以,整个方法的安全仅仅依赖于用户的密钥,计算过程可以完全 公开,可以完全抵抗各种攻击。算法复杂度低,整个方法仅采用对直方图的差值方法,计算 方法简单,易于理解和实现。图像检测认证时不需要原始图像,是个盲检测过程,只需要知 道密钥就可以实现对含水印的医学图像进行水印提取,进行完整性检测、提取隐藏的医患 信息和无损地恢复原始医学图像。在实际的应用和推广过程中,可通过第三方,利于现代网 络信息管理的实用化和规范化。

【专利附图】

【附图说明】
[0055] 图1是本发明所述的医学图像的水印信息生成和嵌入的流程图。
[0056] 图2是本发明所述的含水印医学图像的水印信息提取、完整性检测和无损恢复的 流程图。
[0057] 图3. 1 - 3. 11是实施例所述的11幅不同尺寸和不同内容的原始医学测试图像示 例。
[0058] 图4. 1 - 4. 11是图3. 1 - 3. 11的原始医学测试图像嵌入可逆水印后的医学图像。
[0059] 图5a-5d是实施例所述的不同嵌入强度T下,所得嵌入水印后的医学图像。其中, 图5a的嵌入强度T = 1,图5b的嵌入强度T = 2,图5c的嵌入强度T = 3,图5d的嵌入强 度T = 4。

【具体实施方式】
[0060] 下面结合附图和实施例对本发明的技术方案和有益效果做进一步说明。
[0061] -本发明技术方案的进一步描述
[0062] 本发明所述的一种用于医学图像认证和医患信息隐藏的自适应可逆水印方法,在 检测端可以做到无损地恢复原始医学图像和隐藏医生的诊断信息及患者的个人信息。整个 方案的实现分为两个部分:一是将加密后的医患信息作为水印嵌入到原始医学图像中,在 不增带宽的情况下利用水印的不可见性实现隐藏通信。二是在接收端对含水印医学图像进 行水印提取,进行完整性检测、提取隐藏的医患信息和无损地恢复原始医学图像,具体内容 及实现步骤如下:
[0063] 第一部分:医学图像的水印信息生成和嵌入
[0064] 为便于算法描述,我们考虑一幅医学灰度图像I其大小为MXN像素,其中Μ和N 都为3的整数倍,不是3的整数倍的医学图像进行边界处理。医学图像的水印产生和嵌入 如附图1所示。
[0065] stepl :对原始的医学图像 I (X,y) (X = 1,2, 3,…,M ;y = 1,2, 3,…,Ν)中的每 个像素值进行收缩调整,防止最终嵌入数据后结果溢出,实现可逆操作,即对像素值为 [255 - 2T - 1,255]的像素左移2T - 1个灰度单位,其中T为每个可嵌入像素的嵌入强度;同 时将该过程的数据记录下来,并采用行程编码进行RLE无损压缩编码,记为Overflow (L); Overflow (L)的长度L1值远远小于M*N ;
[0066] 本发明方法是将像素灰度值调整记录和要嵌入的数据一起嵌入到载体图像中, 提取信息时只要将调整记录数据分离出来就可以恢复出原始的医学图像和医患信息。在 8 - bits灰度图像中,发生溢出的灰度值一般分布在直方图的右端,即可能会出现像素值为 [255 - 2T - 1,255]的像素。在嵌入过程可能会造成像素值的上溢现象,即像素灰度值大于 255的情况。本方法用直方图平移对原始图像进行预处理,经预处理后,使直方图的分布变 窄,图像中就不存在[255 - 2Τ - 1,255]的像素点,也就不会产生溢出,从而实现水印的嵌入 并无损恢复图像数据。
[0067] st印2 :对溢出处理后的医学图像按ηΧη(η = 3)大小不重叠分块,得到医学图像 的各个子块;对不为3整数倍的行数或列数进行边界处理,得到医学图像的各个子块;
[0068] 在PACS系统中,医疗诊断设备生成的医学图像的分辨率大,且图像中的相邻像 素间相关性强。在对医学图像进行分块处理时,分块的大小可为2X2、3X3、4X4、5X5、 6X6、……。但是为了充分利用相邻像素间的相关性,拟选择对医学图像按3X3大小不重 叠分块,这样可以得到的图像质量和嵌入水印容量最佳。
[0069] step3 :计算各图像子块中所有像素与参考像素(2, 2)的差值,形成各图像子块的 差值直方图;
[0070] step4 :除参考像素(2, 2)外,取各图像子块中差值为0的像素为峰值,计算各图像 子块可嵌入水印信息的容量,统计整个图像可嵌入水印的总容量,记为Allcapacity ;
[0071] step5 :生成待嵌入的水印信息为W(i) ;W(i)由医患信息Watermark Information 和辅助信息Initial Information两部分组成,其总长度用L表示,用4个字节记录;
[0072] 医患信息为需要秘密嵌入供诊断的信息,包括病人信息、相关诊断数据、医院的标 识和医生的签名,经编码成二进制序列Watermark Information。
[0073] 辅助信息由信息长度(占4B)、完整性消息认证编码(16B)、水印嵌入强度(IB) 和图像溢出标志信息0verfl 〇W(n)四个部分组成。其中完整性消息认证编码则是对 Watermark Information 运用 HMAC (keyed - hash message authentication code)算法 计算得到的消息摘要,即完整性消息认证码,将完整性消息认证码编码成二进制序列,记为 Infor,Infor是一个长度为128位二进制序列。
[0074] HMAC是一个哈希函数(用Η表示,可以是MD5和SRA-1)和一个加密密钥,即在原 有的哈希函数中添加了密钥。因此,HMAC算法是一种加密算法,它引入了密钥,其安全性已 经不完全依赖于所使用的HASH算法。同时将消息认证码作为水印嵌入到图像本身中。这 样做的好处是不需要传输额外的信息对图像本身进行完整性验证,节约宽带资源,且能有 效地抵抗信息置换攻击。
[0075] 图像溢出标志信息Overflow(n)由上述步骤产生。水印嵌入强度T则是由经计算 后所得到的实际水印信息长度L与上述st印4所得的可嵌入水印总容量Allcapacity比较 后确定,比较规则如下所示:
[0076] If L〈 = Allcapacity 则 T = 1 ;
[0077] If L> = Allcapacity and L〈 = 2*Allcapacity 则 T = 2 ;
[0078] If L> = 2*Allcapacity and L〈 = 3*Allcapacity 则 T = 3 ;
[0079] If L> = 3*Allcapacity and L〈 = 4*Allcapacity 则 T = 4 ;
[0080] 最后,计算待嵌入水印信息W(i)的总长度,待嵌入的水印信息W(i)表示为:
[0081] ff (i) = Initial Information + ffatermark Information = L+Infor+T+Overflow(n)+ffatermark Information
[0082] step6:图像子块的差值直方图中,根据需要嵌入水印容量大小依次对差值大于峰 值的像素,其对应的像素灰度值增加2 T - 1个单位,当满足所需嵌入水印容量后,之后的峰 值点像素灰度值则保持不变。
[0083] st印7 :根据密钥采用Logistic混沌映射生成长度和W(i)信息长度相同的均匀分 布的二值伪随机序列S。使用S伪随机序列对W(i)信息进行异或调制加密得到待嵌入的水 印信息。
[0084] Logistic映射是一类被广泛应用的混沛系统,定义为:xk+1 = μ XxkX (l_xk),初 始值X。e (〇, 1),当参数μ满足3. 5699456〈 μ彡4时,Logistic映射处于混沌状态,即给 定混沌映射略微不同的初始值,经过多次迭代后将得到截然不同的伪随机序列,也就是说, 由不同初始条件x〇在Logistic映射的作用下所产生的序列{x k}经二值化处理后是非周 期、不收敛、无限长度的并对初始值非常敏感。选择使用初值为密钥生成的混沌序列,使得 水印具有良好的安全性和随机性,完全可以保证生成水印和系统的安全性。
[0085] step8 :水印信息的嵌入,其方法为:依次在除每个图像子块中的参考像素(2, 2) 外的各图像子块的峰值点嵌入T个bit的水印信息,其操作过程如下:
[0086] 首先,对每个图像子块,依顺序选定峰值,即差值为0的像素,除图像子块中的参 考像素(2, 2)外。
[0087] 其次,在确定水印要嵌入的像素点后,从W(i)中依次提取T个bit的水印信息。
[0088] 最后,在差值为0的峰值点按如下例的嵌入规则嵌入T个水印信息。例如:嵌入规 则以嵌入强度T = 2时,如果嵌入的水印信息为00,则该像素点的灰度值不变;如嵌入的水 印信息为01,则增加像素灰度值1个单位;如嵌入的水印信息为10,则增加像素灰度值2个 单位;如嵌入的水印信息为11,则增加像素灰度值3个单位。以上的判断过程表示如下:
[0089] If W(i) = 0 and W(i+1) = 0 则 I(x,y) = I(x,y);
[0090] If W(i) = 0 and W(i+1) = 1 则 I(x,y) = I(x,y)+1 ;
[0091] If W(i) = 1 and W(i+1) = 0 则 I(x,y) = I(x,y)+2 ;
[0092] If W(i) = 1 and W(i+1) = 1 则 I(x,y) = I(x,y)+3 ;
[0093] st印9 :水印信息嵌入完成,得到嵌入水印后的医学图像IW。
[0094] 第二部分:含水印医学图像的水印提取、完整性检测和无损恢复医学图像
[0095] 对于认证水印系统而言,因为一般用户所能拿到的是一个未知或未经判别的医学 图像,原始医学图像用户是没有办法知道的,一般情况下如果已经知道原始图像的话就没 有必要再进行完整性检验了,所以水印的检测必须实现盲检测。其过程如附图2所示,该方 法认证过程具体步骤如下:
[0096] stepl :对含水印的医学图像IW(x,y)按nXn(n = 3)大小不重叠分块,得到医学图 像的各个子块。
[0097] step2 :求各图像子块中所有像素与参考像素(2, 2)的差值,形成各图像子块的差 值直方图。
[0098] step3:从各图像子块中所有像素顺序和各图像子块的差值直方图中提取水印信 息 W (i)。
[0099] st印4 :根据密钥生成二值伪随机序列S,使用S伪随机序列对W(i)信息进行解 Γ t I ο
[0100] st印5 :根据W(i)信息再一次生成128位的消息验证码,与从还原的W(i)信息提 取的参考完整性消息验证码进行比较。
[0101] st印6:比较以上二者信息是否一致,如若二者全部相同则医学图像没有被篡改, 通过认证,可执行下一步;如若二者不一致则医学图像被篡改,认证结束。
[0102] step7 :根据辅助信息Initial Information读取并生成水印信息为W(i)中的医 患信息 Watermark Information。
[0103] step8 :根据辅助信息Initial Information还原原始的医学图像。
[0104] 二实验结果与分析
[0105] (1)实验条件及实验说明:本发明所有实验均在通用计算机(i5CPU,2G内存, Wind〇ws7操作系统)下以MATLAB7为实验平台得到。在数据选择上为不失一般性,在实验 中载体医学图像从网络医学图像数据库中选取,因篇幅有限,仅列出11幅不同尺寸和不同 内容的具有一定代表性的测试图像,如附图3. 1 - 3. 11所示。医患信息使用的是随机函数 (rand)随机生成的二值序列来代替。性能评价标准通过峰值信噪比(PSNR,Peak Signal Noise Ratio)来判定水印的不可见性这一重要特性。数据嵌入比特率通过计算数据嵌入容 量和图像大小的比值(bpp)进行衡量。
[0106] (2)水印嵌入容量
[0107] 利用本发明方法进行水印嵌入时,实际的水印信息嵌入容量应为总容量减去辅 助信息长度的值,即为实现医患信息隐藏通信量的长度。实验结果表明,对医学图像即图 3. 1 - 3. 11嵌入水印后进行可嵌入水印信息的容量进行统计和分析,各图像所对应的嵌入 率值如下表所示。发现可嵌入水印信息的容量大小与图像纹理特征有关。图像纹理越简单, 可嵌入水印的容量越大;反之,容量越小。
[0108]

【权利要求】
1. 一种用于医学图像认证和医患信息隐藏的自适应可逆水印方法,包括两个部分:一 是将加密后的医患信息作为水印嵌入到原始医学图像中,在不增带宽的情况下利用水印的 不可见性实现隐藏通信;二是在接收端对含水印医学图像进行水印提取,进行完整性检测、 提取隐藏的医患信息和无损地恢复原始医学图像,其特征在于,包括以下具体步骤: 第一部分:医学图像的水印信息生成和嵌入 定义医学灰度图像I的大小为MXN像素,其中Μ和N都为3的整数倍,不是3的整数 倍的医学图像进行边界处理; stepl :对原始的医学图像I (X,y) (X = 1,2, 3,…,M ;y = 1,2, 3,…,Ν)中的每个像素值 进行收缩调整,防止最终嵌入数据后结果溢出,实现可逆操作,即对像素值为[255 - 2T - 1, 255]的像素左移2T -1个灰度单位,其中Τ为每个可嵌入像素的嵌入强度;同时将该过程的 数据记录下来,并采用行程编码进行RLE无损压缩编码; st印2 :对溢出处理后的医学图像按nXn(n = 3)大小不重叠分块,得到医学图像的各 个子块;对不为3整数倍的行数或列数进行边界处理,得到医学图像的各个子块; Step3:计算各图像子块中所有像素与参考像素(2, 2)的差值,形成各图像子块的差值 直方图; step4 :除参考像素(2, 2)外,取各图像子块中差值为0的像素为峰值,计算各图像子块 可嵌入水印信息的容量,统计整个图像可嵌入水印的总容量,记为Allcapacity ; step5:生成待嵌入的水印信息为W(i) ;W(i)由医患信息Watermark Information和辅 助信息Initial Information两部分组成,其总长度用L表示,用4个字节记录; 水印嵌入强度T是由经计算后所得到的实际水印信息长度L与step4所得的可嵌入水 印总容量Allcapacity比较后确定,比较规则如下所示: If L〈 = Allcapacity 则 T = 1 ; If L> = Allcapacity and L〈 = 2*Allcapacity 则 Τ = 2 ; If L> = 2*Allcapacity and L〈 = 3*Allcapacity 则 Τ = 3 ; If L> = 3*Allcapacity and L〈 = 4*Allcapacity 则 Τ = 4 ; 最后,计算待嵌入水印信息W(i)的总长度,待嵌入的水印信息W(i)表示为: ff(i) = Initial Information+ffatermark Information = L+Infor+T+Overflow(n)+ffatermark Information step6:图像子块的差值直方图中,根据需要嵌入水印容量大小依次对差值大于峰值的 像素,其对应的像素灰度值增加2T - 1个单位,当满足所需嵌入水印容量后,之后的峰值点 像素灰度值则保持不变; st印7 :根据密钥采用Logistic混沌映射生成长度和W(i)信息长度相同的均匀分布的 二值伪随机序列S ;使用S伪随机序列对W(i)信息进行异或调制加密得到待嵌入的水印信 息; stepS :水印信息的嵌入,其方法为:依次在除每个图像子块中的参考像素(2, 2)外的 各图像子块的峰值点嵌入T个bit的水印信息,其操作过程如下: 首先,对每个图像子块,依顺序选定峰值,即差值为〇的像素,除图像子块中的参考像 素(2, 2)外; 其次,在确定水印要嵌入的像素点后,从W(i)中依次提取T个bit的水印信息; 最后,在差值为0的峰值点按如下的嵌入规则嵌入T个水印信息: If W⑴=0 and W(i+1) = 0 则 I(x,y) = I(x,y); If W⑴=0 and W(i+1) = 1 则 I(x,y) = I(x,y)+1 ; If W⑴=1 and W(i+1) = 0 则 I(x,y) = I(x,y)+2 ; If W⑴=1 and W(i+1) = 1 则 I(x,y) = I(x,y)+3 ; st印9 :水印信息嵌入完成,得到嵌入水印后的医学图像IW ; 第二部分:含水印医学图像的水印提取、完整性检测和无损恢复医学图像 st印1 :对含水印的医学图像IW(x,y)按11\11(11 = 3)大小不重叠分块,得到医学图像的 各个子块; Step2:求各图像子块中所有像素与参考像素(2, 2)的差值,形成各图像子块的差值直 方图; step3:从各图像子块中所有像素顺序和各图像子块的差值直方图中提取水印信息 W(i); step4 :根据密钥生成二值伪随机序列S,使用S伪随机序列对W(i)信息进行解密; st印5 :根据W(i)信息再一次生成128位的消息验证码,与从还原的W(i)信息提取的 参考完整性消息验证码进行比较; st印6:比较以上两个消息验证码是否一致,如若二者全部相同则医学图像没有被篡 改,通过认证,可执行下一步;如若二者不一致则医学图像被篡改,认证结束; step7:根据辅助信息Initial Information读取并生成水印信息为W(i)中的医患信 息 Watermark Information ; step8 :根据辅助信息Initial Information还原原始的医学图像。
2.根据权利要求1所述的用于医学图像认证和医患信息隐藏的自适应可逆水印方法, 其特征在于,医患信息为需要秘密嵌入供诊断的信息,包括病人信息、相关诊断数据、医院 的标识和医生的签名,经编码成二进制序列Watermark Information ; 辅助信息包括信息长度、完整性消息认证编码、水印嵌入强度和图像溢出标志信息 Overflow(n),其中完整性消息认证编码则是对Watermark Information运用HMAC算法计 算得到的消息摘要,即完整性消息认证码,将完整性消息认证码编码成二进制序列,记为 Infor,Infor是一个长度为128位二进制序列。
【文档编号】G06T1/00GK104268824SQ201410482296
【公开日】2015年1月7日 申请日期:2014年9月19日 优先权日:2014年9月19日
【发明者】黄良永 申请人:柳州师范高等专科学校, 广西澳铂科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1