基于DCT变换和SVD变换的数字水印技术
来源:用户上传
作者:李磊
摘要:为了保证鲁棒性,提高水印的不可感知性,提出了一种基于离散余弦变换(DCT)和奇异值分解(sVD)的数字水印算法。该算法首先将载体图像分块,接着对每个分块进行离散余弦变换。然后将水印信息嵌入到每个分块的直流区域。嵌入时先利用奇异值分解,接着在直流区域的奇异值对角矩阵上添加水印的奇异值对角矩阵信息。实验结果表明,算法确保视觉无差异基础上对鲁棒性有所提升。
关键词:DCT;SVD;直流区域;鲁棒性;数字水印
中图分类号:TP309 文献标识码:A
文章编号:1009-3044(2019)30-0197-03
随着互联网技术的不断发展,数字媒体在传播时,容易被复制和纂改。数字水印技术主要是将一些标识信息嵌入到数字媒体中,且不影响原媒体的正常使用,不容易被探知和修改。数字水印技术可以解决数字媒体的版权保护问题,也可以在网络信息安全上起到一定作用。
早期的水印算法都是基于空域的,即直接修改载体图像的像素值,将水印加载到某些像素点上,比如LSB最低有效位、差值扩张、直方图平移等。这些方法安全性、鲁棒性较差,不能很好地抗压缩。
目前最广泛的水印算法是基于变频域的,即首先将载体图像变换到频域,然后改变系数的方法来嵌入水印信息。载体图像变换到频域的方法有:离散余弦变换、小波变换、离散傅立叶变换。这类方法大多有较强的鲁棒性。
本文研究基于离散余弦变换(DcT)的数字水印技术:
第一步,对水印预处理,加密水印信息,最后进行SVD分解得到水印的S2矩阵。
第二步,对载体图像分块,每个分块分别进行DCT变换。因为JPEG图像压缩时,分块大小为8x8,这里载体图像分块也采用8x8,起到一定抗压缩作用。
第三步,对每个DCT变换后的分块,取每个分块的DC区域构成1个新的矩阵,然后对新矩阵进行SVD分解,得到S1矩阵。用每个分块DC区构成新矩阵的Sl矩阵和水印的S2矩阵计算出最终添加水印得图像的s矩阵;因为奇异值分解的特点,这种添加具有很好的鲁棒性。
第四步,对第三步的结果更新载体图像DCT变换后DC区域的SVD变换值,形成更新DC值的DCT图像矩阵;接着对该图像矩阵进行DCT逆变换,得到最终直观的添加水印后的图像。
1水印预处理
数字水印信息一般包括个人信息、版权信息、唯一标识符等。在实际水印生成时,不管水印信息是字符串格式还是图片格式,都要对水印信息做一些预处理。这个预处理的过程可以起到加密水印信息的作用。常用的方法有:Arnold变换、混沌置乱、仿射变换和幻方变换等。
1.1 Arnold变换
Arnold变换技术就是把图像中各个像素点位置进行置换,置换之后的图像变成了乱码图像,从而图像被加密了。其坐标置换公式如下:
2.2DCT域系数分析
DCT变换后得到64个DCT系数,其中最大的系数坐标是(0,0),左上角位置,称为直流分量(Dc分量)。其余坐标位置系数称为交流分量(AC分量)。如何在这64个DCT系数中选择合适位置添加水印信息,既能保证添加水印后的图像经过非恶意或恶意攻击都能很好地提取水印信息;又能有较大的感觉容量,就是加人大量的水印信息不会使得水印图像相比原始图像在视觉上产生显著改变。人类视觉一般对中低频区域比较敏感,可以理解为图像中“突出”区域,而不敏感区域一般在图像压缩等处理时去除,故将水印嵌入到中低频区域,既具有较好的鲁棒性,也不宜被信号处理去除。
7结论
该算法添加的水印信息经过Amold、Logistic变换,攻击者很难修改水印和擦除水印。通过奇异值的对角矩阵添加水印信息,使得原始图像的视觉影响降低。DCT分块添加水印信息,使得水印图像抗压缩性增强。该算法也有不完善的地方,例如缺少盲检能力,这将是以后研究的重點。
转载注明来源:https://www.xzbu.com/8/view-15070449.htm