利用DCT直流系数和模运算的零水印算法
2015-06-24潘瑞冬廖琪男
潘瑞冬 廖琪男
摘要:为了有效实现对数字图像的版权保护和提高算法的抗攻击性能,提出了一种基于DCT直流系数和模运算的数字图像零水印算法。首先根据灰度水印的大小对载体图像分块,直接在空域中提取每一子块的DCT直流系数作为载体图像的特征图像;然后用灰度水印与特征图像相加的模运算结果作为零水印。理论分析和实验结果表明,该文算法与基于DWT和XOR操作的同类算法相比,不仅具备空域算法计算复杂度低的优点,还具有更强得多的抗JPEG压缩、抗图像滤波处理和抗噪声攻击等能力。
关键词:零水印;离散余弦变换;直流系数;模函数;空域
中图分类号:TP751 文献标识码:A 文章编号:1009-3044(2015)11-0210-03
1 引言
随着互联网和多媒体技术的飞速发展和广泛应用,数字水印技术也因此成为信息网络安全技术研究的热点。不可感知性和鲁棒性是数字水印方案的最重要性质。传统的数字水印技术都要对载体图像空域或变换域的信息进行一定的修改, 从而造成载体图像质量下降。为了解决水印的不可感知性和鲁棒性之间的矛盾,零水印方案被提了出来。所谓零水印是指利用载体图像的重要特征来构建水印,而不对载体图像作任何修改的水印技术。
零水印算法可以分为两大类:空域方法[1 ,3]和变换域方法[2,4,5]。本文在深入研究已有零水印算法的基础上,深入研究模运算特性,提出简单而鲁棒性很强的基于DCT直流系数和模操作的灰度零水印算法。
2 相关技术
2.1离散余弦变换
离散余弦变换(discrete cosine transform, DCT),是数字图像处理以及信号处理常用的一种正交变换。设大小为M×N的图像或图像块为f(x,y), 其DCT定义为
[F(u,v)=x=0M-1y=0N-1c(u)c(v)f(x,y)cosπ(2x+1)u2Mcosπ(2Y+1)v2N] (1)
式中,u=0,1,2, …,M-1, v=0,1,2, …,N-1。
[c(u)= 1M u=0 2M u=1,2,…,M-1] (2)
[c(v)= 1N v=0 2N v=1,2,…,N-1] (3)
由式(1)可知,当u=0, v=0, 即DCT直流(direct current, DC)系数可表示为
[F(0,0)=1MNx=0M-1y=0N-1f(x,y)] (4)
由式(4)可以看出,DC系数可以代表图像或图像块平均亮度,可以直接在空域中通过简单的数学运算求得,而无须经过复杂的DCT得到。
2.2 Logistic混沌系统
Logisti映射是一个非常简单而在数字水印技术中最常用的一维混沌系统,其定义为
[xn+1=μxn(1-xn)] (5)
其中,0≤μ≤4称为分枝参数。当xn∈(0,1),且3.5699456<μ≤4 时,Logistic 映射工作处于混沌状态,此时生成的序列{xn , n=0,1,2,…}具有良好的随机统计特性,是较理想的混沌伪随机序列。
3 本文零水印算法
设载体图像和水印图像均为256级灰度图像,载体图像I大小为M×N,水印图像W大小为m×n,本文零水印算法使用在密钥key=(μ,x0)下由式(5)产生的Logistic混沌序列为
[Xi|i=1,2,3,…,M×N] (6)
序列X的前m×n项序列用于置乱水印,后m×n项序列用于加密零水印信息。
3.1 水印置乱
为提高水印算法的鲁棒性和安全性,对原水印W进行混沌置乱加密。取式(6)的混沌序列X的前m×n项序列组成序列{aXi|i=1,2,…,m×n},aX排序得到有序序列{tXi|i=1,2,…,m×n},由tX在aX中的位置索引为序列值生成服从[1,m×n]的混沌随机序列{sXi|i=1,2,…,m×n},按光栅扫描顺序,该序列值对应W的像素位置(row,col)为
[row(i)=sX(i)ncol(i)=sX(i)-(row(i)-1)n] (7)
W从(row,col)变换到(i,j)得到置乱水印Wc为
[Wc(i,j)=W(row((i-1)×n+j),col((i-1)×n+j))] (8)
式中,i=1,2,…, m,j=1,2,…,n。
3.2 零水印构建算法
3.2.1图像特征信息的提取
根据水印图像W大小把载体图像划分为m×n不重叠子块,子块大小为h×w, 则
[ h=Mm w=Nn] (9)
取子块集B的每一子块的DCT直流系数构成载体图像I的特征C,特征矩阵C根据式(4)直接从空域中计算,计算公式为
[C(u,v)=1hwi=1hj=1wB(u,v)(i,j)] (10)
式中,u=1,2,…,m,v=1,2,…,n。
3.2.2 零水印生成
由载体图像特征C(i,j)与置乱后的水印像素Wc(i,j)通过模运算构建零水印信息F为
[F(i,j)=mod(C(i,j)+Wc(i,j),256)] (11)
式中,i=1,2,…,m,j=1,2,…,n。
3.2.3 零水印加密
为了进一步提高零水印在注册中心的安全性,用XOR操作对其加密。取混沌序列{Xi|i=1,2,…, M×N}的后m×n项组成序列{bXi|i=1,2,…, m×n}作为加密序列,将其变换为8位无符号整数,计算公式为
[bX(i)=round(bX(i)×10k)mod256] (12)
式中,round()为取最近整数函数,i=1,2,…, m×n,k≥4。将bX(i)序列组成m×n矩阵sY为
[sY(i,j)=bX((i-1)n+j)] (13)
式中,i=1,2,…,m,j=1,2,…,n。
利用XOR操作把零水印信息加密为
[F(i,j)=F(i,j)⊕sY(i,j)] (14)
经过式(14)加密后的零水印的像素统计特性将被彻底改变。
3.3 水印检测算法
水印的检测过程是水印构建过程的逆过程。在待检测的载体图像I提取图像特征信息,并与在IPR水印数据库中注册的零水印信息进行逆运算得到检测水印W′。
对于有特定含义的水印图像而言,一般所提取的水印效果可由原水印W和检出的水印W′进行归一化相关性计算来辅助度量,或作为鲁棒性比较。归一化相关计算公式为
[NC=i=1mj=1nW(i,j)W′(i,j)i=1mj=1nW2(i,j)i=1mj=1nW′2(i,j)] (15)
实验证明,对于灰度水印,归一化系数NC不能较好反映检测水印和原水印的相似程度,故本文用峰值信噪比(PSNR)来衡量检测水印的视觉质量及评价算法性能比较,其定义为
[PSNR=10×log10(2552/MSE)] (16)
式中,MSE是原水印图像W与检测水印图像W′之间的均方差,计算公式为
[] [MSE=1m×ni=1mj=1n(W(i,j)-W′(i,j))2] (17)
式中,m和n分别为水印图像的高和宽。
4 实验结果与分析
已通过大量实验证明本文算法的有效性和可行性。限于篇幅,在此仅给出代表性的实验结果。
实验平台为Matlab2012b,载体图像为8位 Lena 512×512标准灰度测试图像,水印为8位logo 128×128灰度图像,如图1所示。logo为高亮图像,式(18)和(19)中,a=0,b=220。Logistic系统密钥key=(μ,x0)=(3.9,0.32579),式(12)中k=7。
(a)Lena图像 (b)水印图像 (a)零水印信息 (b)直方图
图1 实验图像 图2 零水印信息加密效果
4.1 零水印信息与安全性
零水印信息图像及其灰度直方图如图2所示。
水印信息的安全性取决于密钥和水印信息像素特征值统计。密钥的安全性由Logistic系统保证,Logistic系统的密钥key不仅密钥空间足够大,而且很敏感。从图2实验效果表明不仅水印信息图像加密效果好,而且其灰度直方图在[0,255]范围内分布均匀,可以抵御来自像素特征值统计的攻击。
4.2 零水印算法鲁棒性实验
本实验为本文算法与文献[9-10]为代表的基于DWT和XOR操作的同类算法的鲁棒性对比实验。文献[9-10]算法在DWT二层低频子带构建零水印。实验项目与数据如表1所示。
表1 本文算法与基于DWT算法的鲁棒性实验对比结果
[实验项目\&文献[9-10]算法\&本文算法\&NC\&PSNR(dB)\&NC\&PSNR(dB)\&JPEG压缩
质量因子75\&0.9921\&19.5599\&0.9999\&40.8317\&中值滤波3×3\&0.9875\&17.5778\&0.9994\&30.7544\&增加对比度
灰度[0.1,0.9]到[0,1]\&0.8716\&7.5646\&0.8988\&8.7105\&降低对比度
灰度[0,1]到[0.1,0.9]\&0.8964\&8.4354\&0.9696\&13.7843\&图像增亮
灰度[0,1]到[0.1,1]\&0.8321
检不出\&6.3693
检不出\&0.9834\&11.8441\&图像变暗
灰度[0,1]到[0,0.9]\&0.8454\&6.7098\&0.7341\&4.8707\&高斯噪声
均值0,方差0.01\&0.9233\&9.7279\&0.9718\&14.0959\&裁剪四周25\&0.9631\&12.9594\&0.9654\&13.2491\&]
在载体图像没有受到任何攻击时,可以检出无损水印图像。与表2相对应,经JPEG压缩攻击和经高斯噪声攻击后的检测水印视觉效果分别如图3和图4所示。限于篇幅,其他鲁棒性实验效果可通过表内数据来间接比较。
实验表明,NC不能准确表示检测灰度水印的相似性,如本实验的抗JPEG压缩攻击实验,本文算法的NC与文献[9-10]的NC相近,但本文算法检出水印的视觉质量和PSNR远远超过文献[9-10]算法。
(a)文献[9-10]算法, NC=0.9921 (b)本文算法, NC=0.9999
图3 JPEG压缩(质量系数75%)攻击检出水印
(a)文献[9-10]算法, NC=0.9233 (b)本文算法, NC=0.9718
图4 高斯噪声攻击检出水印
本次实验的图像变暗处理,表2数据显示检出NC和PSNR都很小,且本文算法的NC和PSNR比文献[9-10]算法的小,但本文算法检出水印质量却明显好很多(见图5)。
由表2实验数据和检出水印视觉质量(如与表2对应的图3-5实验结果)表明,本文算法的抗JPEG压缩、抗图像滤波处理,抗高斯噪声攻击、抗图像对比度、抗亮度处理和抗裁剪能力等能力远远强于文献[9-10]同类算法。检出水印的视觉质量和PSNR远远优于文献[9-10]算法。
(a)文献[9-10]算法, NC=0.8454 (b)本文算法, NC=0.7341
图5 图像变暗攻击检出水印
5 结论
理论分析和实验结果表明,本文零水印算法与基于DWT和XOR操作的同类算法相比,具有强得多的抗JPEG压缩、滤波等图像处理和抗高斯噪声攻击等方面的能力,具有更强的抗图像对比度和亮度处理、抗裁剪和抗几何攻击等方面的能力。
参考文献:
[1] 温泉, 孙锬锋, 王树勋, 等. 零水印的概念与应用[J]. 电子学报, 2003,31(2):214-216.
[2] 付剑晶,王 珂.基于第一主成分方向稳定性的图像零水印[J]. 中国图象图形学报,2012,17(7):756-769.
[3] 宋伟,侯建军,李赵红,黄亮.一种基于logistic混沌系统和奇异值分解的零水印算法[J].物理学报,2009,58(7):4449-4556.
[4] 马建湖,何甲兴.基于小波变换的零水印算法[J].中国图象图形学报,2007,12(4):581-585.
[5] 何冰,王晅. 基于图像置乱和小波变换的零水印算法[J].计算机工程与设计,2009,30(1):145-147,154.