摘要 目的 防伪是印刷领域中的一个重要内容, 网络技术和图像复制技术的发展 ,使得图像的传播和再复制过程更方便
和快捷。通过多种数字处理软件和高质量的图形图像输入输出设备,可以轻易地对原作品进行任意编辑、修改并非法再复
制和盗版的事件越来越多 因此迫切需要有效的印刷图像版权保护、取证和防伪的技术方法。 方法 数字水印技术作为用于
数字媒体的版权保护、取证和防伪的解决手段之一,已经开展多年研究并取得了大量的成果,但对印刷再复制图像的版权
保护研究刚开始起步。这一挑战也为 数字水印领域的研究提供了动力 。本文针对文件或商品 在 版权保护 方面的 问题, 提
出了 基于 DCT的 SVD方法的 数字水印嵌入 和提取算法 ,并将该方法应用 到 印刷与打印中来 。 结果 算法只用到了最大
奇异值,可以盲提取水印,消除因传输原始载体图像产生的不安全性。 结论 仿真实验结果表明,该方法具有一定的鲁棒性
和抗打印扫描的功能。
关键词:数字水印; 打印扫描; DCT-SVD; MATLAB
Abstract: Objective Anti - counterfeiting is an important content in the field of printing. It development of network technology and image reproduction technology makes the process of image propagation and reproduction more convenient and fast. With a variety of digital processing software and high-quality graphics and image input and output equipment, it is easy to edit, modify, illegally reproduce and pirate the original works. Method As one of the solutions to copyright protection, forensics and anti-counterfeiting of digital media, digital watermarking technology has been studied for many years and obtained a lot of achievements. This challenge also provides impetus for the research in the field of digital watermarking. In this paper, a digital watermark embedding and extraction algorithm based on SVD method in the frequency domain of DCT is proposed for the copyright protection of documents or commodities, and the method is applied to printing and printing. Result The algorithm only uses the maximum singular value and can blind extract the watermark to eliminate the insecurity caused by the transmission of the original carrier image. Conclusion Simulation results show that the proposed method is robust and can resist printing and scanning.
Key words: Digital watermarking; Print scan; DCT; SVD; MATLAB
随着互联网普及,信息通讯技术的飞速发展,多媒体技术得到了充分的应用。但是开放的互联网使这些多媒体信息的传输变得不安全,而数字水印技术恰恰能保护这些多媒体信息的传输。数字水印技术通过一定的嵌入算法将一些可以用来标识多媒体数据的来源、版本、作者等标志性信息嵌入到多媒体数据中来保护多媒体数据的版权,但是不影响原始数据的使用和价值,并且不易被人察觉 。根据嵌入位置的不同,数字水印算法分为空域和变换域水印算法。一般而言,变换域水印算法稳健性较好,主要的变换域有离散余弦变换 ( discrete cosine transform DCT)、离散小波变换 ( discrete wavelet transform DWT)和离散傅立叶变换 ( discrete fourier transform DFT)。在变换域中奇异值分解(singular value decomposition SVD) 是一种将矩阵对角化的方法。图像的奇异值有较好的稳定性,利用这个原理可将水印信息嵌入到图像经过奇异值变换后的系数。
离散余弦变换(Discrete Cosine Transform, DCT)是 一组不同 频率和幅值的余弦函数和来近似衣服图像,实际上是傅里叶变换的实数部分。由于离散余弦变量对于衣服图像,其大部分可视化信息都集中在少数的变换系数上。因此,离散余弦变量是数据压缩常用的一个变换编码方法,它能将高相关数据能量集中,使得它非常适用于图像压缩。一维离散信号f(x) 的离散余弦正变换为:
二维离散信号 f(x) 的离散余弦正变换为:
1.2 奇异值分解( SVD)
矩阵经过SVD 分解得到 1个奇异值矩阵 2个正交矩阵。图像的奇异值有很强的稳定性,图像受到轻微的扰动时不会有显著改变。利用奇异值的这种特性,如果将水印嵌入在载体图像 SVD 分解后的奇异值上,当攻击者对含水印图像进行攻击扰乱时,我们仍能从分解的奇异值中提取出水印信息。并且,奇异值对应于图像的亮度特性,而非视觉特性,因此,在奇异值上嵌入水印能保证水印的透明性,保障了水印算法的隐蔽性与安全性。奇异值表征图像矩阵元素的相互关系,在轻微扰动时不会发生变化,因此,在奇异值上嵌入水印不会损害图像的几何特性。 SVD 分解是线性代数中一种非常重要的分解方式其定义如 下。设矩阵 A RRm×n,R表示实数域, m×n表示矩阵大小, A进行 SVD 处理的公式为
A = USVT (3)
式中: U V 都是正交矩阵,S是对角矩阵,奇异值就是矩阵 S 的对角线元素 且这些对角线元素满足 : σ1≥σ2≥σ3≥…σr≥σr+1 =…= σm =0 (其中 ,r表示 A的秩 )。
图像水印应用这种应用的挑战包括建立一种鲁棒的水印技术,以从印刷媒体中提取水印。该技术应该能够抵抗由于打印过程而发生的数字到模拟转应该能够抵抗由于打印过程而发生的数字到模拟转换,然后是扫描打印的水印图像时发生的模拟换,然后是扫描打印的水印图像时发生的模拟 - 数数字转换。字转换。 在打印过程中,带水印的图像是模拟格式。在打印过程中,带水印的图像是模拟格式。 为了提取水印,应使用打印扫描过程中的扫描仪或为了提取水印,应使用打印扫描过程中的扫描仪或打印凸轮过程中的相机(移动相机或数码相机)通打印凸轮过程中的相机(移动相机或数码相机)通过捕获过程将模拟数据数字化过捕获过程将模拟数据数字化。。由于引入的攻击,由于引入的攻击,包括几何攻击(例如旋转,缩放,切割和剪切)以包括几何攻击(例如旋转,缩放,切割和剪切)以及由设备引起的扭曲,打印和捕获过程可能具有挑及由设备引起的扭曲,打印和捕获过程可能具有挑战性。战性。 这些失真通常是由在移动电话中存储图像时这些失真通常是由在移动电话中存储图像时的打印和压缩过的打印和压缩过程引起的。一些研究已经研究了这程引起的。一些研究已经研究了这些仍处于初期阶段的应用些仍处于初期阶段的应用。
由于具有以下主要特性,SVD能应用于数字水印算法中。 ① 图像的奇异值具有良好的稳定性,即当图像发生微小变化时,其奇异值不会显著变化;② 图像奇异值发生较小改变时,原图像也不会发生较大的变化。因此,在图像的奇异值上嵌入水印,不会对原图像的质量产生太大的影响。 SVD 嵌入水印能有效抵抗几何攻击,但传统 SVD 数字水印算法在提取水印时需要原始载体图像,增加了载体图像在传输时的不安全性,降低了算法的效率。本文算法在嵌入水印过程中没有用到原图 SVD 分解后的正交矩阵,所以,提取水印时不需要原始载体图像。同时,DCT 变换能很好地适应人眼的视觉特性,本文先对载体图像分块,可以将原图的变化集中在每一块中,对每一块 DCT 变换得到近似分量 ;再将近似分量 进行 SVD 分解求得其奇异值矩阵。最后用量化方法得到含水印图像。
基于 DCT 和 SVD 的鲁棒性数字水印算法的水印嵌入 算法 过程 ,具体步骤如下
(1) 选取 尺寸为 512˟512大小的图片 颜色模式为 RGB模式的图像 I。
(2) 分离出图像的绿色通道 A。
(3) 对绿色通道进行 DCT变换 ADCT。并对ADCT进行 SVD分解:
(4)
(4) 读取水印图片,进行灰度化处理。
(5) 对水印图片进行 DCT变换得矩阵 W。
(6) 将水印嵌入到矩阵 S中,即;
(5)
(7) 对 图像 进行逆 DCT变换,将图像从频率域转换到空间域,进而显示 嵌入水印得图像,完成水印嵌入过程,即:
(6)
本文所述提取含水印图片是经过打印扫描攻击之后的图片 ,. 本文采用数字水印盲 检测的方法,提取水印时之需要嵌入强度 的值。 具体步骤如下
(1) 读取 含水印图片 . 分离图像 RGB颜色通道中的绿色通道,得图像 _.
(2) 对图像 _. 进行 DCT变换,并对其进行SVD分解。
(3) 计算图像 D
(8)
(4) 计算水印 ∗
(9)
为了验证水印算法的有效性,在MATLABRR2016b平台上进行了仿真实验。实验选取两张512×512 像素 的 RGB模式彩色 图作为载体图 ; 如图 1。 选取 64×64 像素图像作为水印图,如图 2所示。
首先使用MTALAB实现并模拟水印的嵌入与提取过程,其实验的运行结果如图 3。
然后打印扫描携带水印的图片。对于打印扫描实验,使用适用于打印机的 HP LaserJet P10006和适用于扫描仪的 HP Deskjet F4280多功能一体机。对于打印过程,打印质量是最佳的,亮度,对比度和强度是默认的。 对于扫描过程,分辨率为 300dpi(点周期图像),扫描文件的类型为 JPG格式。 经过打印扫描后的结果如图 4. 有相关性系数可知,本文所提的基于 DCT-SVD数字水印算法具有一定的扛打印扫描性能。
在本文中,我们提出并实现了基于混合SVD的DCT图像数字水印嵌入与提取方案,该方法可用于打印扫描。将奇异值分解( SVD)与 DCT变换相结合,提高了水印鲁棒性的同时也保证了水印的透明性。是一种较简单且使用的可用于抗 打印 扫描的数
字水印算法。