基于奇异值分解的DCT域数字图像水印算法

2010-05-26 08:28
关键词:数字水印数字图像余弦

晏 力

(重庆工商大学 计算机科学与信息工程学院,重庆 400067)

随着计算机网络的发展,数字多媒体得到广泛的使用和传播。而数字多媒体在传播过程中被非法复制和篡改,使得数字作品的信息安全和版权保护成为迫切需要解决的问题。数字水印技术可以解决版权冲突,保全起诉非法侵权的证据,从而成为知识产权保护和数字多媒体防伪的有效手段。目前,从水印嵌入的方法来看,可分为空间域(DCT)数字水印和变换域(DWT)数字水印。其中空域水印算法比较简单,其鲁棒性相对变换域较弱。因此我们提出将原始图像进行离散余弦变换之后,取部分信息进行奇异值分解,将奇异值分解后的水印信息全部嵌入到原始图像的分解矩阵里。通过大量的实验研究,采用DCT和奇异值分解相结合的技术,可以显著提高水印的保密性,使得水印图像具有很强的鲁棒性,对于数字作品的版权保护具有极其重要的理论价值与经济效益价值。

1 离散余弦变换

DCT(Discrete Cosine Transform离散余弦变换)是数字图像处理以及信号处理常用的一种正交变换,具有压缩比高、误码率小、信息集中能力和计算复杂性综合效果较好等优点,是图像编码的核心技术之一。数字图像处理中使用的是二维 DCT,设图像为I={s(x,y),x,y=0,1,…,N-l},S(u,v)为变换域(频域)函数,S(x,y)为空域函数,则二维离散余弦变换公式定义为:

它的IDCT(Inverse Discrete Cosine Transform离散余弦反变换)为:

图像二维DCT变换(N取8或16)有许多优点:图像信号经过变换后,变换系数几乎不相关,经过反变换重构图像,信道误差和量化误差将象随机噪声一样分散到块中的各个像素中去,不会造成误差累积;并且变换能将数据块中的能量压缩到为数不多的部分低频系数中去(即DCT矩阵的左上角)。为了与JPEG压缩标准相统一,先把图像分成8×8的不同小块,再分别对每一块进行DCT变换,进而嵌入水印。

2 数字图像的奇异值分解

SVD(Singular Value Decomposition奇异值分解)是一种将矩阵对角化的数值方法,是线性代数中最有用和最有效的工具之一。它在统计分析,图像处理,数字水印中被广泛应用。从线性代数的角度看,一幅图像可以看成是由许多非负标量组成的矩阵。若一幅图像用A表示,定义为A∈Rm×n,其中R表示实数域。则矩阵A的奇异值分解定义如下:

其中,S是一个对角矩阵 diag(σ1,σ2,σ3,…,σr,0,…,0),对角线上的元素成为矩阵A的奇异值。r是A的秩,它等于且满足σ1≥σ2≥σ3…≥σr>σr+1=…=σm=0。U和V分别为m×m和n×n的正交阵,U和V的每列分别称为A的左奇异向量和右奇异向量。

对图像矩阵做奇异值分解,得到的奇异值具有以下显著的特性:图像奇异值的稳定性非常好,即当图像被施加小的扰动时图像的奇异值不会有很大的变化;奇异值对应于图像的亮度特性,而奇异向量对则表征了图像的几何特性,奇异值所表现的是图像的内蕴特性而非视觉特性,反映的是图像矩阵元素之间的关系;图像分解得到的奇异值序列中第一个奇异值要比其它的大得多,忽略这些较小的奇异值项重构的图像质量不会发生太大的退化。如果改变第一个较大的奇异值会导致图像视觉质量的严重下降。

此外,奇异值分解具有明显的计算优势:数学背景清晰;可以直接解决非方阵;容易估计嵌入信息前后图像误差;水印嵌入位置和嵌入量也比较容易解决。SVD的这些特性有助于增强嵌入信息的不可见性和鲁棒性。

3 数字图像水印算法方案

3.1 水印的嵌入

为了说明方便,不妨取大小为M×N×8 bit的256级灰度图像I作为原始图像,取m×n×8 bit的灰度图像W作为水印,该原始图像恰好可以分成互不重叠的8×8的小块。水印嵌入算法的流程如下:

(1)原图像分块处理。将原始图像I(M×N)分成互不重叠的8×8的图像块Bij(i=1,2,…,M;j=1,2,…,N)。

(2)对分块图像进行DCT变换。对每个图像块进行 DCT变换Cij(i=1,2,…,M;j=1,2,…,N):

(3)对分块DCT变换的系数矩阵进行SVD变换:

矩阵Cij的奇异值矩阵S=diag(σ1,σ2,…,σ8)是大小为8×8的非负对角阵,本水印嵌入算法就是将经过处理后的水印信息嵌入到原始图像的奇异值矩阵中,目的是提高数字图像的稳健性。

(4)对奇异值矩阵S=diag(σ1,σ2,…,σ8)进行水印信息嵌入:

其中α为水印嵌入的强度因子。根据实验对比取α值为0.5时,可使数值变化更加明显,在提取水印时可得到更好的效果,即有助于提高水印的鲁棒性。Wi为水印字点阵信息控制符,当水印字点阵信息为l时Wi取l,否则Wi取值为-l。由于S对角阵的值按大小排列,考虑水印信息嵌入的不可见性和鲁棒性,为调节控制水印强度α,取i=7,将水印信息嵌入到S[7,7]中。

(5)进行反SVD变换。A'=US'VT,A'即为嵌入含有版权信息水印后的分块图像。

(6)对每块嵌入水印信息的图像进行DCT反变换,然后合成水印图像I'(图1),I'=IDCT(A')。

图1 水印嵌入算法框图

3.2 水印的提取

水印检测的流程如下:

(1)将待检测的图像I'进行分块DCT变换,然后进行分块SVD,产生分块的对角阵S;

(2)与水印嵌入初始时一样,对原始图像I进行分块DCT变换,然后进行分块的SVD变换,产生分块对角阵S1;

(3)将对角阵S1与S2的嵌入水印ω'i位ωi进行检测比较,得到相应位的待检测序列G';

其中:

(4)将提取的水印序列转化为点阵图像(图2)。

图2 水印提取算法框图

3.3 实验结果与分析

为了验证在此提出的算法,在Matlab环境下进行了大量的仿真实验。实验中选用的原始图像为512×512×8 bit标准灰度图像,数字水印采用64×96×8 bit的灰度图像,嵌入强度为a=0.15。图3给出了原始图像和水印的图像。

图3 原始图像(a)和原始水印(b)

对图4-6经受各种攻击的图像进行测试,计算它们的峰值信噪比,PSNR和相关系数NC见表1。

图4 JPEG压缩后的嵌有水印图像以及提取的水印

图5 加入椒盐噪声后的嵌有水印图像以及提取的水印

图6 剪切后的嵌有水印图像以及提取的水印

表1 攻击测试

虽然嵌有水印图像经过加噪、JPEG压缩和剪切攻击,但提取出来的水印轮廓仍然清晰可见;从表1可以看出,虽然嵌有水印图像经过各种攻击后峰值信噪比PSNR比较低,但提取出来的水印的相关系数还是比较好(超过95%),并结合主观判断决定合法水印的存在。这些充分说明了本算法具有较强的鲁棒性。

4 总结

基于奇异值分解的DCT域数字图像水印算法结合了空域算法的简便、快捷和变换域较强的鲁棒性、不可见性的特点,平衡了数字水印算法中的透明性和鲁棒性,而且大大提高了嵌入水印的容量,进一步增强了信息的安全。

[1]刘瑞祯,谭铁牛.基于奇异值分解的数字图像水印方法[J].电子学报,2001,29(2):168-171

[2]孙圣和,陆哲明,牛夏牧.数字水印技术及应用[J].北京:科学出版社,2004

[3]鲁业频,李凤亭,陈兆龙,朱仁义.离散余弦变换编码的现状与发展研究[J].通信学报,2004,25(2):106-118

[4]刘俊景,蒋华.一种基于离散余弦变换与奇异值分解的数字水印算法[J].微电子学与计算机,2007,24(10):78-82

[5]刘锋,孙林军.一种基于 DCT和 SVD的数字图像水印技术[J].计算机应用,2005,25(8):1944-1947

[6]梁枫,王平.基于角点特征的高精度图像配准算法[J].重庆理工大学学报:自然科学版,2010,24(02):101-103

猜你喜欢
数字水印数字图像余弦
基于网屏编码的数字水印技术
ARGUS-100 艺术品鉴证数字图像比对系统
两个含余弦函数的三角母不等式及其推论
实施正、余弦函数代换破解一类代数问题
基于FPGA的数字水印提取系统设计研究
分数阶余弦变换的卷积定理
图像压缩感知在分数阶Fourier域、分数阶余弦域的性能比较
基于块效应测度的JPEG数字图像盲取证
数字图像修补技术的研究进展与前景展望
基于数字水印的人脸与声纹融合识别算法