1 / 62

数字水印技术算法研究

数字水印技术算法研究. 曹锋 付晨 陈阳 cs.nju. 课题背景. 数字水印技术是指将创作者的创作信息和个人标志通过数字水印系统以人所不可感知的水印形式嵌入在多媒体中,人们无法从表面上感知水印,只有专用的检测器或计算机软件才可以检测出隐藏的数字水印,从而用以证明创作者对其作品的所有权,并作为鉴定、起诉非法侵权的证据,同时通过对水印的检测和分析保证数字信息的完整可靠性,从而成为知识产权保护和数字多媒体防伪的有效手段。通常,水印会永久地驻留在图像中,在必要的时候通过专门的检测算法检测水印,以确认所有权和跟踪侵权行为。. 数字水印系统的基本原理.

Download Presentation

数字水印技术算法研究

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数字水印技术算法研究 曹锋 付晨 陈阳 cs.nju

  2. 课题背景 数字水印技术是指将创作者的创作信息和个人标志通过数字水印系统以人所不可感知的水印形式嵌入在多媒体中,人们无法从表面上感知水印,只有专用的检测器或计算机软件才可以检测出隐藏的数字水印,从而用以证明创作者对其作品的所有权,并作为鉴定、起诉非法侵权的证据,同时通过对水印的检测和分析保证数字信息的完整可靠性,从而成为知识产权保护和数字多媒体防伪的有效手段。通常,水印会永久地驻留在图像中,在必要的时候通过专门的检测算法检测水印,以确认所有权和跟踪侵权行为。

  3. 数字水印系统的基本原理 通用的数字水印算法包含两个基本方面:水印的嵌入和水印的提取或检测。 设 I 为数字图像,W 为水印信号,K 为密码,则处理后的水印 W'由函数 F 定义如下: W ′ = F(I,W,K)(2-1) 若水印所有者不希望水印被其他人知道,则函数F应该是不可逆的,如经典的DES加密算法等。这是将水印技术与加密算法结合起来的一种通用方法,目的是提高水印的可靠性、安全性和通用性。水印的嵌入过程如图 2-1 所示,设有编码函数 E,原始图像 I 和水印W'(W'由 2-1 定义),那么水印图像表示见公式(2-2): I′ = E(I,W ′) = E( I,F( I,W ,K ))(2-2)

  4. 设 I 为数字图像,W 为水印信号,K 为密码,则处理后的水印 W‘由函数 F 定义如下:W ′ = F(I,W,K)(2-1)

  5. 数字水印系统的基本原理 在完整性确认和篡改提示应用中,必须能够精确的提取出嵌入的水印信息,从而通过水印的完整性来确认多媒体数据的完整性。所以水印提取框图如图 2-2。

  6. 数字水印系统的基本原理 水印检测是水印算法中最重要步骤。一般来说,水印检测首先是进行水印提取,然后是水印判决。若将这一过程定义为解码函数 D,那么输出的可以是一个判定水印存在与否的 0-1 决策,也可以是包含各种信息的数据流,如文本、图像等(图 2-3)。

  7. 数字水印系统的基本原理 如果已知原始图像I和有版权疑问的图像I',则水印提取及检测分别见公式(2-3)和(2-4)。 W * = D(I′,I) (2-3)

  8. 数字水印系统的基本原理 其中W*为提取出的水印,K为密码,函数C做相关检测,δ为决策阈值。可取水印和原始水印的相关性[14][15 ] 来测试,计算由公式(2-5)可得:

  9. 数字水印系统的基本原理 其中w,w′分别表示为原始水印信息和提取出的水印信息。Corr取值在[-1,1]之间,如果这一相关值依赖一个给定的阈值,当Corr超过这个阈值,则可以判定图像中含有此水印。这实际上是一个假设检验或水印相似性检验的问题。检测器的输出结果如果充分可信,则可在法庭上作为版权保护的潜在证据。那么这要求水印的检测过程和算法应该完全公开。对于假设检验的理论框架,可能的错误有如下两类:第一类错误是检测到水印但水印实际上不存在,即虚警问题。该类错误用误识率(probability of false alarm) P 衡量;fa第二类错误是没有检测到水印而水印存在,即漏报问题。用拒绝错误Prej 表示。总错误率为 Peer = Pfa+ Prej,当 Prej 越小检测性能越好。但检测的可靠性只与误识率 Pfa 有关。注意到两类错误实际上存在竞争行为。

  10. 水印的特性及应用 数字水印(Digital Watermarking)是往多媒体数据(如图像、声音、视频信号等)中添加某些数字信息(水印)而不影响原数据的视听效果,并且这些数字信息可以部分或全部从混合数据中恢复出来,以达到版权保护等作用。这里水印的嵌入载体可以是图像、声音、视频信号,还可以是文本格式,本文讨论的对象是数字图像。水印信息也可以是各种媒体,本文选用了图像,不过通过适当的调整就可以适应其他类型水印信息的嵌入。

  11. 水印的特性 • 1.不可感知性 • 2.安全性 • 3.鲁棒性 • 4.可证明性 • 5.不可检测性 • 6.无歧义性 • 7.计算有效性

  12. 水印的应用 • 1.数字作品的版权保护 • 2.商务交易中的票据防伪 • 3.声像数据的隐藏标识和篡改提示 • 4.隐藏通信及其对抗

  13. 数字水印面临的攻击 • 1.简单攻击 • 2.IBM • 3.StirMark • 4. 马赛克攻击 • 5. 串谋攻击

  14. 水印系统的评估标准 主观评价: 主观评价是从人类视觉的角度来考虑的。 要进行公平合理的评估和比较,在评估过程中就要考虑水印的可感知性。当使用主观测试包括两个步骤: 第一步:将失真的数据集按照从最好到最坏的次序排列; 第二步:挑选的测试人员对每个数据集进行评定,描述所处理对象的可感知性。

  15. 主观评价 这种评定可基于 ITU-R Rec.500 质量等级级别,表 1-1 列出了等级级别和相应的可感知性以及质量。 主观测试对最终的质量评价和测试是有实用价值的,但在研究和开发情况下并不是很有用。

  16. 客观评价 到目前为止,仍然没有一个良好的客观衡量手段来对数字水印算法做出合理的评估。一种数字水印算法的隐形性如何,受到攻击的稳健性、安全性如何,这种算法是否实用,所有这些问题都需要客观的评价手段。 1.方差 MSE(Mean Square Error) 2.信噪比 SNR(Signal-to-Noise Ratio) 3.峰值信噪比 PSNR(Peak Signal-to-Noise Ratio) 4.掩膜峰值信噪比 MPSNR(Masked Peak Signal-to-Noise Ratio) 5.相似性系数 NC(Normalized Correlation)

  17. 基于 DCT 域的数字水印算法 近年来DCT已广泛应用于图像压缩编码中,是国际静止图像压缩标准JPEG的基础,国际序列图像压缩标准MPEG-1和MPEG-2也是采用DCT变换方法,所以在数字图像的DCT域中嵌入水印信息,是最常见的嵌入方法之一。本文提出一种基于 DCT 的鲁棒数字水印算法,该算法利用了 HVS 来选择最佳的水印嵌入区域和嵌入水印信号的最大强度。实验结果表明,本算法具有很强的鲁棒性,有利于版权保护。

  18. 图像置乱 Torus 自同构映射给定一幅图像,Torus 自同构映射[42]可以将其彻底的打乱,从而产生一幅完全混乱的图像。实际上,Torus 自同构映射对这些像素进行了如下公式所示的变换: 如此反复重复下去,此过程可归纳为 AN(k ):

  19. Torus 自同构映射 在上式中,(xn,yn)是二维空间上的一点,是对(x0,y0) 作用自同构映射n 次后的结果。Torus 自同构映射的参数是 k、n、N、K。其中 K 为自同构映射的最小整周期。文献给出了广义 Gray 变换理论周期的计算。计算表明,当 k=1,N=64 时,K=64;当 k=12,N=32 时 K=64,k 的值由使用者任意指定,n 和 N 则分别代表了 Torus 自同构映射的重复次数和给定图像的像素数(0<n<K)。Torus 自同构映射对给定图像可重复进行,以改变图像中像素的相对位置。需要注意的是尽管像素的相对位置改变了,Torus 自同构映射并未改变每一个像素的颜色值。Torus 自同构映射可以看作二维变换,可由一个 2×2的矩阵来描述。有时人们也直接称该矩阵为Torus 自同构映射。

  20. 人类视觉特性 人类视觉频域特性: 人眼对图像信息的处理并不是逐点来进行的,而是抽取空间、频率或色彩的特征进行神经编码. 人的视觉感知特点与统计意义上的信息分布并不一致,即统计上需要更多信息量才能表述的特征对视觉感知可能并不重要,从感知的角度来讲无须详细表述这部分特征. 文献[44]中提出了一种人眼视觉系统模型(HVS),并给出了视觉系统的频率响应函数

  21. 人类视觉频域特性 其中ω为视角正对的径向频率,单位为周/ 度(cycle/ degree),a 、b、c 为决定HVS 曲线形状的常数。 HVS 曲线的形状表示式见公式(3-8) 其中当ωmax = 3 周/ 度时,HVS 曲线取得峰值。

  22. 人类视觉频域特性 图像信号的DCT 变换只是DFT变换的一部分,为了可以直接将视觉响应函数与DCT 变换相结合,文献[44]中对仅适用于DFT变换的视觉响应函数提出了矫正函数见公式(3-9):

  23. 人类视觉频域特性 其中α =11.636度?1,这样视觉系统的响应函数 H′(ω)) 见公式(3-10): 采用文献[45]中给出的公式(3-11): ω(周 度)=ωd (周 像素)?ωs (像素 度) (3-11)

  24. 人类视觉频域特性 可将二维DCT系数( u , v) 对应的径向频率ω的值由公式(3-12)求出为: 2N由上面公式可知,ωs是依赖于观测距离的采样函数,N是DCT变换块的大小。这里,ωs可以取不同的值。选择不同的ωs值,对应选择不同的DCT系数。可以根据实际要求和图像的特征来选择ωs。在本章里,在本文的实验中,参考文献[45] 中所述,取ωs = 48,从而求得每个(u, v)对应的径向系数。[46]

  25. 人类视觉频域特性 图3-3为人类视觉频率响应函数曲线,其中横轴表示径向频率ω的值,纵轴表示视觉系统的相应函数 H(ω)的值。

  26. 人类视觉频域特性 由此曲线可以看出,人眼对8<ω<12之间的区域最敏感,对此区域对应的图像的像素即使作很小的改动,也会引起人眼的注意;然而对0<ω<8和12<ω区域响应较低,其中12<ω<22之间为中频部分,22<ω区域为高频部分。另一方面,根据JPEG有损压缩原理:一般将DCT变换的高频系数变为零,然后再将剩下的DCT系数进行编码,来完成图像的压缩。所以如果在原始图像的高频DCT系数中嵌入水印信息,很可能在进行JPEG有损压缩时擦除水印信息。早期的DCT变换域的水印算法是把水印嵌入到原始图像的低频中,这里采用一种改进方法:把水印嵌入到中频(12<ω<22)分量上以调节水印的稳健性与不可见性之间的矛盾。

  27. 人类视觉频域特性 在实际计算中,我们先将原始图像分成8×8子块,然后将每个8×8的子图像块分别进行DCT变换,并将DCT系数进行Zig-Zag排列,然后根据公式(3-11)、(3-12)将DCT系数变换成相应的ω值来选取每个子块的嵌入区域。在图3-4中,图a)是一个8×8的DCT块经过Zig-Zag扫描后的排列图,图b)是根据公式将DCT系数变换为相应的径向频率ω的值的排列图。

  28. 人类视觉频域特性 由图 3-4 中的图 b)矫正后的视觉响应函数,本章算法嵌入水印的区域选取如图 3-5。为了增强算法的稳健性,本算法利用了多重嵌入技术。即 pij ,i = 0,L,5用来嵌入一比特的水印信息,同理 p2,p3,p4,i = 0,L,5分iii别用来嵌入一比特的水印信息,具体见 3.4 节。所以每个 8×8 的子块可以用来隐藏 4 比特的水印信息。

  29. 人类视觉掩蔽特征 在图像数字水印技术中,可以利用人类视觉系统(HVS) 的掩蔽现象导出的 JND (Just Noticeable Difference) 值来确定在图像的各个部分所能容忍的数字水印信号的最大强度,从而能避免破坏视觉质量。 利用视觉模型的亮度掩蔽特征和对比度掩蔽特征来确定与图像相关的调制掩模,然后再利用其来插入水印,这一方法同时具有良好的透明性和稳健性。

  30. 人类视觉掩蔽特征 在JPEG标准中, Ahumada 等在文献[47]中提出了基于亮度的DCT 域最小量化步长矩Qmin(i, j )阵,该矩阵与具体图像无关。Watson 等人在文献[48]中通过亮度遮蔽和对比度遮蔽等视觉特性对其进行了优化: (1) 由图3-6表示出:

  31. 人类视觉掩蔽特征 (2) 引入亮度遮蔽来修正Qmin(i, j )的公式如公式(3-13): 其中k是图像第k个分块, (i, j )为DCT系数在分块中的坐标,分块的左上角为(0,0),Qk′(i, j )为修正后的量化矩阵。 Xk(0,0)为第k个分块的直流(DC)系数, X(0,0)为所有分块DC系数的平均值,参数a取0.649 。

  32. 人类视觉掩蔽特征 (3) 在亮度掩蔽公式的基础上引入对比度遮蔽特征,公式见(3-14): Qk(i, j )为最后得到的第k个分块的量化矩阵, R(i, j )是一个常数矩阵,R(0,0)等于0,其它元素都为0. 75 。

  33. 水印算法实现过程 在充分考虑了人眼视觉模型(HVS),并将其与宿主图像的 DCT 变换相结合来选择嵌入水印信息的 DCT 系数,我们提出了一种基于 DCT 域的鲁棒数字水印算法。基本思想:先将原始图像分成 8×8 的子块。并分别对每一子块进行离散余弦变换,然后根据人类视觉模型频率响应函数来选取每一水印待嵌入的DCT 变换系数的位置,再利用最小可察觉误差(JND) 来确定在图像的每一子块所能嵌入的数字水印信号的最大强度,把已经过预处理的水印信息自适应地嵌入到原始图像,然后将嵌入水印信息的 DCT 系数的子块进行逆 DCT变换,最后合成为嵌入水印图像。提取算法与嵌入算法相似。

  34. 嵌入算法 设原始图像和待嵌入水印图像分别为 I( N1 × N2 ), W(M1 ×M2 )。为了方便计算,取M1 = N1 4, M2 = N2 4。 第一步:用 Torus 图像置乱技术将二值水印图像置乱(可逆),然后转换成一维二值序列,记为w(i),i =1,2,L,M1 ×M2 。 第 二 步 : 将 原 始 图 像 I 分 为 互 不 覆 盖 的 8×8 的 子 块 fm (i, j ) ,,nm = N1 8, n = N2 8, i, j = 1,2,L8。对每个子块分别进行 DCT 变换,见公式(3-15):

  35. 嵌入算法 第三步:根据人类视觉频域特性结论,适当选取第二步完成后得到的子块系数矩阵中的(64×M1 ×M2 ) N1 × N2 各中频系数作为嵌入水印的位置(为了增强算法的稳健性,本算法利用了多重嵌入技术,即选择嵌入的区域多于嵌入的水印比特数,在本算法中,每 8×8 子块嵌入的水印4 比特,选取的嵌入区域 24 个)。 第四步:根据人类视觉掩蔽特征公式求得每块图像里被选定区域的水印嵌入强度Qm (i, j )。

  36. 嵌入算法 第五步:相应的从二值序列中按顺序取出 4 比特水印,运用公式(3-16)嵌入到选定的区域上。其中Qm (i, j ) 为系数 Fm (i, j ) 对应的步长或嵌入强度。 第六步:对加入水印后 DCT 系数矩阵进行 DCT 逆变换,得到嵌入水印后的图像 I′。

  37. 嵌入算法 % watermark W应该为64*64的图像 % 对W进行Torus变换 % 将水印存入w中 %将原图分成8*8的小块,共32*32块分别做dct变换 % 求出每块图像里被选定区域的水印嵌入强度 % 将水印嵌入到选定的区域上 每小块嵌入4bit的水印信息 % 得到嵌入水印后的图像

  38. 嵌入算法

  39. 嵌入算法

  40. 提取算法 第一步:将加入水印的图像 I′分为互不覆盖的 8×8 子块 Fm′′, (i, j ),nm = N1 8, n = N2 8, i, j = 1,2,L8,对每个子块分别进行 DCT 变换,见公式(3-17): 第二步:同样按照前面的结论选择出子块 DCT 系数矩阵中嵌入水印信号的中频系数位置,根据其所对应的嵌入强度利用公式(3-18)从嵌入位置上得到嵌入的水印分量: 其中w′(i)为水印分量。

  41. 提取算法 第三步:当对所有嵌入水印的子块处理完后,所提取出的水印分量可构成一个二值序列,(如果在水印嵌入之前将水印信号置乱过,此时要用置乱逆运算对该序列处理一下) ,将该二值序列转换成二维矩阵,从而得到水印图像 W ′。

  42. 提取算法 % 将水印提取出来到一维数组w里面

  43. 提取算法

  44. 提取算法

  45. 相似度检测 观察者可以通过直接观察,主观的比较检测出的水印图像与原始图像的相似程度。但是,这种比较容易受观察者的经验、实验等条件因素的影响。并且嵌入水印图像经过一些处理、变换或侵权人的恶意破坏后,提取的水印可能不会与原始水印完全相同。这就需要一个判决标准来判定版权信息存在与否,或水印的提取程度。为了更确切的判定水印的提取程度,我们用提取水印与原始水印的相似度。

  46. 相似度检测 计算相似性,其中 W 为 M1 ×M2的原始水印图像,W ′为提取的水印图像,定义相似度如公式(3-19):

  47. 相似度检测 为了更确切的计算出提取水印和原始水印的相似程度,我们计算相似度时,对 W 和W ′进行了如下修改: 对于 NC 我们可以设定一个阀值 T,如果检测结果大于这个阀值 T 就说明水印已经被检测出来了。

  48. 相似度检测 % 原始水印 % 待检测水印 % 将NC的值与阀值比较 得出结论

  49. 相似度检测

  50. 水印攻击 hust.bmp为原始水印 lena.jpg为原始图像 experiment1.m 为嵌入水印并将嵌入后得到的图像保存在watered.bmp中。 experiment2.m 为提取水印,并显示。 可人为对watered.bmp进行各种处理 然后运行experiment2.m看水印的变化,即检测相似度。

More Related