用于图像篡改定位和恢复的分层半脆弱数字水印算法的详细介绍
第7期 刘泉等:用于图像篡改定位和恢复的分层半脆弱数字水印算法 ·107·
的大小为2×2的4个图像子块。例如,图像块B′是待检测水印图像I′w中的一个独立块,则′,B′′′B12,B3,B4为它的4个子块。然后,将所有图像块像素的2bit LSB置0,并计算它的灰度平均值,
′。接着,例如,记图像块B′的灰度平均值为Bavg
对水印图像I′的所有独立块进行3层检测与定w
位,以图像块B′为例,第1层是对图像块B′中的4个子块B1′,B′′′进行检测;第2层是将图像2,B3,B4块B′作为一个单元进行检测;第3层是以图像块B′为中心,对其周围的8个4×4图像块进行检测,如图3所示。对水印图像I′w的其他独立块也是用同样的方法进行篡改检测和定位。下面分别介绍3层检测的具体过程。
第1层检测是从图像子块B1′,B′′′中提取2,B3,B4
认证水印v和p,下面以图像子块B1′为例,具体步骤如下:
1)将图像子块B1′的所有像素的2bit LSB置0,
′avg。 并计算它的灰度平均值B1_
′avg中6bit MSB中1的总计算灰度平均值B1_2)数,记为N1′。
3)按照下式确定奇偶校验码p′的状态
篡改标记的4×4独立块。假设图像块B′无篡改标记,则以该块为中心,若其周围的8个图像块中超过5个图像块有篡改标记,则对该图像块做篡改标记,否则保持其状态不变。
图3 图像块B′及其相邻图像块
2.3 基于分块的篡改恢复
1,
p′=
0,
N1′为奇数N1′为偶数
(4)
′通过认证,否则对4)如果p′=p,则子块B1
该子块做篡改标记。
5)按照下式确定认证水印v′的状态
1,′v= 0,
′avg≥Bavg′B1_其他
(5)
经过2.2节所描述的3层水印检测与定位后,
遭受篡改的图像块均做出了标记,因此只需恢复被篡改图像块,未做出篡改标记的图像块保持不变。假设图像块B′有篡改标记,由2.2.1节可知,在水印嵌入过程中,图像块B的灰度特征是嵌入到图像
′为例,其恢复过程如下:块C中的。下面以子块B1
。 1)根据密钥k和式(1)计算并定位图像块C′
2)如果图像块C′有篡改标记,则无法恢复图像块B′。
3)如果图像块C′无篡改标记,则从图像子块′中提取6bit恢复水印r,该恢复水印r即为对应C1
′的灰度特征。 图像子块B1
4)将该6bit恢复水印r最后补0至8bit,并将图
′中的原8bit水印信息替换为新8bit信息。 像子块B15)重复步骤3)和步骤4),依次对图像块B′中
′′的其他3个子块B′2,B3,B4进行相应的篡改恢复。
′通过认证,否则对6)如果v′=v,则子块B1
该子块做篡改标记。
′的篡改检测到目前为止,仅完成了图像子块B1
和定位。重复步骤1)至6)对图像块B′中的其他3
′′个子块B′从而完成了图像2,B3,B4也做上篡改标记,
块B′中所有子块的篡改检测和定位。再重复上述步骤对待检测水印图像I′w中其他所有独立块的4个子块的进行检测,并做出篡改标记。
第2层检测是将每个4×4独立块作为一个单元进行检测。假设以图像块B′为例,若该块中只要有一个2×2子块做出篡改标记,则对该4×4块做篡改标记。否则该图像块通过认证。
第3层检测如图3所示,搜索水印图像I′w中无
3 实验结果与分析
实验采用了512×512的8bit灰度图像peppers,
Lena和women作为测试图像,如图4(a)、图4(c),图4(e)所示,对水印图像的篡改位置定位和篡改恢复能力等方面进行验证及讨论。 3.1 不可见性
为了定量分析本文方法的优越性,本文使用峰值信噪比PSNR(用符号RPSN表示)来带水印图像的质量好坏,其定义为
RPSN
2
255
=10log 2 (6)
′ IijIij,,() ∑∑ () ji