作者简介:王定成(1967-),男,研究员,博士.研究方向:智能控制, 图像处理.E-mail:dcwang2005@126.com
针对现有基于四元数离散傅里叶变换(QDFT)的算法没有充分利用QDFT的四维系数空间、没有嵌入非彩色水印图像和存在水印能量损失等不足,提出了一种彩色图像盲双重水印算法,并用其将有意义的彩色和二值双重水印嵌入到QDFT频域系数的4个分量中。采用单位纯四元数 k,首先建立了QDFT系数各分量与彩色图像三通道传统离散傅里叶变换(DFT)之间的关系,然后给出了修改系数嵌入水印需保持的对称性,最后结合QDFT、Arnold变换和冗余嵌入策略进行水印嵌入和提取。实验结果表明:本文算法能较好地平衡不可见性和鲁棒性。
Existing color image watermarking algorithms based on Quaternion Discrete Fourier Transform (QDFT) do not fully utilize the four dimensional (4D) QDFT frequency domain, which only deal with achromatic watermarks and suffer from watermark energy loss. To overcome these drawbacks, a blind dual watermarking algorithm for color images is proposed to embed dual meaningful watermarks (one is color and the other is binary) into four components of each QDFT coefficient of a color host image. For unit pure quaternion k, first, the relationships existing between the components of QDFT coefficients and the Discrete Fourier Transform (DFT) of three RGB color channels are established; then, the symmetrical constraints were presented, which one must follow when modifying QDFT coefficients; finally, QDFT, Arnold transform and a multiple redundant embedding strategy are combined for watermarking. Experimental results demonstrate that the proposed method achieves a reasonable trade-off between the fidelity and robustness and outperforms the existing schemes.
数字水印技术作为数字媒体产品版权保护的一种重要手段, 这些年来成为信息安全研究领域的一个热点[1]。当前图像水印算法主要针对灰度图像, 而随着图像获取设备的发展, 现在获取的数字图像基本都是彩色的, 它们提供了更丰富的信息量并带来了更舒服的视觉感受, 因此彩色图像的数字水印逐步引起学者的关注, 而且相对于灰度图像数字水印它具有两个优势[2]:①水印容量更大; ②抗攻击健壮性更强。
从上世纪90年代开始, 国内外一些专家学者将四元数[3]的相关理论引入到彩色图像处理[4, 5, 6, 7, 8, 9]:彩色图像的每个像素采用一个纯四元数来表示, 3个通道作为它的3个虚部。这样一幅彩色图像可以表示为一个纯四元数矩阵。彩色图像的四元数表示方法已经成功应用于彩色图像处理的很多领域[10, 11, 12, 13, 14, 15, 16, 17]。这些研究表明彩色图像四元数表示方法的主要优势在于在多维空间上把彩色图像像素作为一个矢量整体进行处理, 而非三通道分别处理, 而且考虑了色彩关联。
随着基于四元数的彩色图像处理技术的发展, 越来越多的学者致力于研究基于四元数的彩色图像数字水印算法, 其中大部分都是基于四元数离散傅里叶变换(Quaternion discrete Fourier transform, QDFT)。Bas等[8]最早将QDFT引入彩色图像水印, 在QDFT频域采用量化索引调制算法嵌入比特流水印信息, 他们对比了分别采用单位纯四元数μ Perc=(-2j+8k)/
最近, 江淑红等[12]指出Bas等[8]没有考虑到一个水印嵌入前提:为了避免嵌入水印后的图像存在能量损失, 通过四元数离散Fourier逆变换(IQDFT)得到四元数矩阵实部必须全为0。否则取三个虚部获取含水印图像将丢失非零实部数据, 从而影响含水印图像和提取水印的质量。也就是说, 即使在没有任何攻击的情况下, 也不能完全正确提取水印。为了解决这个问题, 她们基于μ Lum采用量化索引调制算法修改QDFT系数的实部嵌入二值水印, 并按照系数矩阵实部的反对称性修改相应系数。需要说明的是, 文献[9, 10]也考虑了这个前提。Wang等[13]则基于最小二乘支持向量机和伪Zernike矩进一步改进江淑红等的工作[12]以抵抗几何变换攻击。
以上这些研究的实验结果表明这些基于QDFT的算法能够较好地平衡不可见性和鲁棒性:①不仅考虑了色彩信息, 还考虑了三通道的整体性和相关性; ②四元数频域是一个四维系数空间, 提供了更大的水印容量; ③嵌入在四元数频域系数一个分量中的水印信息可以扩散到空间域彩色图像的两个或三个通道, 从而实现数字水印的健壮性和不易感知性的良好结合[12]。但它们都没有完全利用四元数频域这一四维系数空间, 只考虑了QDFT系数的一个或两个分量而不是所有四个。而且还至少存在以下不足中的一项:①非盲; ②由于没有按照对称性修改系数, 存在能量损失; ③水印是非彩色图像, 而在实际应用中很多情况下水印是彩色的, 而且彩色水印较灰度或二值水印能携带更多的信息以及这些色彩信息使彩色水印更易辨认; ④水印是无意义图像, 而在很多现实应用中要求水印具有某种意义, 比如Logo、版权信息等。因此, 本文主要针对单位纯四元数k, 首先推导出在修改QDFT系数嵌入水印时需要满足的系数对称条件, 然后基于QDFT、Arnold置乱变换和冗余嵌入策略, 提出一种彩色图像双重水印算法来改进以上不足。
作为复数的推广, 一个四元数包括一个实部和三个虚部, 即:
式中:a、b、c、d均为实数; i、j、k为三个虚数单位, 遵循如下运算规则:
当实部a=0时, 称q为纯四元数。
四元数(超复数)傅里叶变换首先由Ell[14]提出, 然后由Sangwine[15]引入彩色数字图像处理并定义了QDFT和IQDFT。由式(2)可知, 四元数的乘法不满足交换律, 因此Pei等[16]给出了三种类型的QDFT和IQDFT:两边型[15], 左边型, 右边型。本文采用的是使用比较广泛的右边型。二维彩色图像函数f(m, n)的右边型QDFT及其逆变换IQDFT定义为[16]:
式中:M和N分别为图像f的行数和列数; μ 是任意单位纯四元数; μ 可表示为三个虚数单位i、j和k的线性组合, 即:μ =α i+β j+γ k; α , β , γ ∈ R, ‖ μ ‖ =1, 其中‖ · ‖ 为四元数取模运算。
从式(4)可知, 在对QDFT系数FR修改嵌入水印后, F-R应该仍然是一个纯四元数矩阵, 即:
式中:o为零矩阵; Re(F-R)表示四元数F-R的实部。否则, 只取F-R的三个虚部获取含水印图像将丢失非零的实部数据, 从而导致水印能量损失问题。式(5)就是江淑红等[12]指出的嵌入水印需要满足的前提条件。
先采用通用单位纯四元数(μ =α i+β j+γ k)推导彩色图像QDFT和IQDFT与单通道DFT和IDFT的关系式, 然后针对三个不同的单位纯四元数μ (本文采用的k, 江淑红等[12]的μ Lum, Bas等[8]的μ Perc), 分析嵌入水印时需要遵循的系数对称性规则以满足式(5)的前提条件, 最终给出基于不同单位纯四元数的频域系数水印方案。
1.3.1 QDFT和IQDFT与单通道的DFT和IDFT之间的关系式
以RGB颜色空间为例, 令fR(x, y)、fG(x, y)、fB(x, y)分别表示彩色图像的红绿蓝3个通道, 则彩色图像f(x, y)可以表示为:
对于通用单位纯四元数μ =α i+β j+γ k, 将式(6)代入式(3), 可得:
这里DFT(fR), DFT(fG)和DFT(fB)分别是红绿蓝三通道传统的DFT矩阵, Re(z)和Im(z)分别表示传统的复数z的实部和虚部。
对于IQDFT, 将式(7)代入式(4), 类似可得:
式中:IDFT(· )表示传统的复数傅里叶逆变换。
1.3.2 基于不同单位纯四元数的频域系数水印方案
(1)本文采用的μ =k
此时α =β =0, γ =1。由式(8)和DFT系数的共轭对称性可知, A(0, 0)=0, 分量A和D分别具有如下所示的反对称性和对称性:
从而易知:Re(IDFT(A))=o, Im(IDFT(D))=o, 以及
式(13)其实就是式(5)所示的前提条件。也就是说, 只要在修改A(u, v)和D(u, v)的同时按照分量A的反对称性和D的对称性相应地修改它们的对称系数嵌入水印, 由式(10)可知不管B(u, v)和C(u, v)如何修改, 前提条件依然满足。因此, 可将双重水印数据嵌入到A、B、C和D这4个分量中, 然后取
(2)江淑红等[12]采用的μ =μ Lum
此时α =β =γ =1/
由于如果在修改分量A的同时按式(11)修改其反对称系数, Re(IDFT(A))=o仍然成立, 不会破坏前提条件
(3)Bas等[8]采用的μ =μ Perc
此时α =0, β =-2/
因此, 修改分量A嵌入水印的同时按式(11)修改其反对称系数, 前提条件仍然可以满足。而且, 式(15)中不涉及分量B, 所以B也可用于嵌入水印且不受对称性的限制。作者将Bas等[8]的算法改进为将水印数据嵌入分量A和B中。第3节中实验对比所采用的就是该改进算法。
综上, 如果采用μ =μ Lum或μ Perc, 为了满足前提条件式(5), 最多只能将水印数据嵌入到QDFT系数的一或两个分量中, 没能充分利用QDFT四维系数空间, 而作者提出的采用μ =k的方案则能将水印嵌入到QDFT系数的所有4个分量中。
结合QDFT、Arnold置乱变换以及冗余嵌入策略将二重水印重复嵌入到载体图像中, 水印算法框图如图1所示。Arnold置乱变换有助于增强水印安全和水印算法的鲁棒性。冗余嵌入策略则有助于进一步提高算法的鲁棒性, 特别是剪切攻击。不过带来的负效应是:①含水印图像质量(即不可见性)有所降低; ②由于嵌入的水印是重复的, 在某种意义上水印容量也有所降低。不过由于本文提出的基于μ =k算法具有较大的容量, 因此采用冗余嵌入策略能够较好地平衡不可见性和鲁棒性, 这在第3节的实验结果中得到了较好的印证。下面分别从双重水印嵌入和提取两方面进行详细阐述。
令嵌入到彩色载体图像中的双重水印分别为彩色图像水印w和二值水印图像v, 尺寸均为Mw× Nw。需要注意的是:为了便于后续讨论分析, 双重水印的尺寸和接下来引入的重复嵌入次数KT均设为相同, 应用中可根据具体情况设为不一样。水印嵌入按如下步骤进行:
(1)水印图像预处理。将双重水印进行KI次周期为KP的Arnold置乱, 然后将置乱后的彩色水印的每个分量的每个十进制像素值转换为8位二进制数据。最终将得到的二进制数据复制KT次合成为一个比特流水印bw。
(2)载体图像分块QDFT变换。将彩色载体图像分成8× 8的单位小块, 然后分别对这些小块进行QDFT变换。
(3)水印嵌入。对于每一个小块, 按序选择图2所示中频候选位置中的部分位置作为水印嵌入区域。对于选择区域KM中任意位置(u, v), 针对不同的单位纯四元数(k, μ Lum和μ Perc), 选择频域系数4个分量(A(u, v), B(u, v), C(u, v)和D(u, v))中的1个到4个分量通过量化索引调制算法嵌入双重水印(比特流bw和二值水印v):
式中:I(u, v)是4个分量之一; I'(u, v)为其修改后的值; KΔ 为量化步长; [· ]为取整函数; z是当前嵌入比特流数据的坐标; (x, y)是二值水印数据坐标。
同时, 根据1.3节所示的对称性修改相应的对称系数。
(4)分块IQDFT变换。对所有的单位小块进行IQDFT变换得到最终的含水印图像。
步骤(3)中各分量的嵌入策略为:对于提出的基于μ =k的算法, 假设l为每个宏块需要嵌入的水印比特数, 如果l≤ 128 bit, 则将水印信息分成四等份分别嵌入4个分量中, 对于每个分量按图2所示的顺序按序嵌入; 如果l> 128 bit, 由于分量A和D需要保持对称性在各自嵌入32 bit水印后已饱和, 则将剩余的(l-64)bit水印分成两等份嵌入另外的分量B和C中。对于基于其他μ 的算法, 采用类似的嵌入策略。
从以上步骤可知, 本文算法中密钥Key主要包括:Arnold置乱变换的置乱次数KI及周期KP, 中频嵌入位置信息KM, 冗余嵌入次数KT和量化步长KΔ 。
利用密钥Key, 双重水印可按如下步骤提取:
(1)测试图像分块QDFT变换。将测试图像分成8× 8的单位小块, 并分别对这些小块进行QDFT变换。
(2)提取KT个冗余嵌入的比特流水印bws和二值水印vs, s=1, 2, …, KT。利用密钥Key中的中频嵌入位置信息KM和量化步长KΔ , 采用式(17)所示的量化解码公式提取嵌入的比特流水印数据。
式中:I'(u, v)表示QDFT频域系数的一个分量。然后按下式获取最终比特流水印bw':
式中:
对于二值水印v'的提取, 也采取与上述比特流水印提取一样的思路。
(3)提取的比特流数据bw'按8位一组进行分组, 并将每组8位数据转换为十进制得到置乱的彩色图像像素值数据w', 然后将提取的置乱彩色水印w'和二值水印v'通过(KP-KI)次Arnold变换得到最终的彩色水印
从上述步骤可知, 水印提取无需原始载体和原始水印, 所以为盲提取。
为了验证本文算法的有效性, 下面通过一系列实验从不可见性和抗攻击鲁棒性两方面进行测试, 并与Su等[2]提出的基于Schur分解的算法进行了对比。该算法通过同时修改每个4× 4宏块的Schur分解矩阵中的两个系数嵌入一个比特的水印信息。
为说明算法在版权保护等应用中的有效性, 引入3个客观参数对实验结果进行评估。
(1)峰值信噪比(Peak signal to noise ratio, PSNR)。用来评估嵌入水印的不可见性, PSNR值越大, 表明嵌入信息的透明性越好。对于大小为Mh× Nh的彩色载体图像h(x, y)和含水印图像h', 它们之间的PSNR为:
式中:hR、hG、hB和h'R、h'G、h'B分别为彩色载体图像和含水印图像的三个通道。
(2)归一化相关系数(Normalized correlation, NC)。用来评估提取的彩色水印图像的有效性, NC值越高, 表明提取的彩色水印与原水印越接近。对于大小为Mw× Nw的彩色水印图像w={wR, wG, wB}和提取的水印图像
(3)比特误差率(Bit error rate, BER)。用来评估提取的二值水印图像的有效性, BER越低, 表明提取水印与原水印越接近。对于大小为Mw× Nw的二值水印图像v(x, y)和提取的水印图像
在这个实验中, 采用10幅大小为512× 512的标准图像作为载体图像集, 包括经典的Lena、F16、Peppers和Woman等图像, 如图3(a)~(j)所示。彩色水印图像则采用了2幅大小为32× 32的东南大学Logo和Mandrill图像, 二值水印图像为一幅包含“ 东南大学” 四个汉字的二值图像, 他们分别如图3(k)~(m)所示。
由于Su等[2]提出的算法在每个分量的4× 4宏块的Schur分解矩阵中只嵌入一个比特数据, 因此该算法最多只能在512× 512的载体图像中重复嵌入32× 32的彩色水印2次, 只是这时已饱和不能再嵌入二值水印。作者对他们的算法进行一点小修改:该算法嵌入水印是基于Schur分解矩阵U=(ui, j)1≤ i, j≤ 4中|u2, 1|和|u3, 1|在数值上很接近这个事实, 从而通过修改这两个元素嵌入水印; 而实际上, |u4, 1|在数值上也与这两个元素大小相当, 因此可以按照与他们原来算法类似的思路修改元素u4, 1嵌入二值水印。不过, 对于32× 32的双重水印, 修改算法最多还是只能冗余重复嵌入2次。而其余3种算法具有更高的水印容量:对于提出的基于k的算法, 如将图2所示的所有48个中频位置都选为嵌入区域, 则QDFT频域每个8× 8宏块可嵌入154 bit数据, 从而在不考虑含水印图像质量的情况下最大可重复嵌入这双重水印24次; 对于基于μ Lum的算法[12], 由于只能在分量A中嵌入水印, 最大可重复嵌入5次; 改进的基于μ Perc的算法[8]能修改分量A和B嵌入水印, 因此最大可冗余嵌入10次。也就是说本文算法的水印容量是Su等[2]算法的12倍, 是基于μ Lum的算法的4.8倍, 是基于μ Perc的算法的2.4倍。因此, 为公平起见, 所有对比算法的重复嵌入次数都设为KT=2。其他的一些参数设置为:Arnold变换的迭代次数KI=10, 量化步长KΔ =160。
表1显示了各算法在10幅载体图像内嵌入不同双重水印后得到的含水印图像与载体图像之间的PSNR值。表2显示了各算法将图3(k)和(m)嵌入到图3(a)中得到的含水印图像以及提取的双重水印。从表1和表2可以看出:①提出的基于k的算法在保真性方面明显优于另外两种基于四元数的算法。主要原因在于本文算法完全利用了QDFT系数的4个分量, 而另外两种算法只考虑了一个或两个分量。从而, 为了嵌入相同的水印数据, 另外两种算法需要在每个宏块中修改更多系数。而系数修改越多, 图像质量退化越厉害; ②基于μ Perc的算法优于基于μ Lum的算法, 这与Bas等在文献[8]中的结论一致; ③三种基于四元数的算法均优于采用传统的三通道分别处理思想的Su等[2]的算法, 基于四元数的算法针对载体图像集的PSNRSTD值远小于Su等的算法, 而且基于四元数的算法对不同双重水印也是稳定的。这主要是因为基于四元数的算法都采用了彩色图像四元数表示, 将彩色载体图像作为一个整体进行处理, 而且考虑到了通道之间的关联; ④除了Su等[2]的算法, 其他算法都能够完全正确提取双重水印。原因在于Su等[2]的算法嵌入水印后破坏了Schur分解矩阵的正交性。
不失一般性, 继续采用3.2小节将图3(k)和(m)嵌入10幅载体图像得到的10幅含水印图像进行实验, 对这些图像进行10种不同类型攻击来测试算法的鲁棒性。这10种攻击依次为模板大小均为3× 3的高斯滤波、中值滤波、均值滤波和运动模糊, 质量因子为60的JPEG压缩, 均值为0、均方差为10的高斯噪声, 密度为1%的椒盐噪声, 裁剪面积为60%的裁剪, 角度为30° 的几何旋转以及因子为60%的几何缩放。这里需要说明的是:对比的4种算法本身并不抗几何变换攻击, 因此转为测试这些算法对由几何校正带来的截断误差的鲁棒性, 目前已有不少算法通过估计几何变换参数来进行几何校正[17, 18]; 也就是说, 先将含水印图像进行前向几何变换, 然后再通过逆变换进行校正, 从而得到测试图像集。表3、表4分别为各算法针对载体图像图3(a)提取的彩色水印和结果, 表5、表6分别为各算法针对载体图像图3(a)提取的二值水印图像和结果。
从表3~表6可以看出:①不管是彩色水印还是二值水印, 提出的基于k的算法总体上均明显优于其余3种算法, 而基于四元数的3种算法的鲁棒性均强于Su等[2]的算法, 原因在于这3种算法都采用了彩色图像四元数表示方法, 而本文算法又充分利用了QDFT四维系数空间; ②本文算法提取的双重水印尽管存在一些噪声污染, 但基本都能识别, 而对于其他算法有时提取的双重水印都不能识别, 有时只能识别一个, 其中彩色水印由于包含色彩信息较二值水印更易识别, 因此彩色水印不能识别的情况相对更少, 当然只要识别出一个, 就可认为检测到水印, 这就是双重水印的优势; ③对于裁剪攻击, 由于采用了冗余嵌入策略和Arnold置乱变换, 尽管60%的区域被裁剪, 但4种算法提取的双重水印基本都能识别。
针对目前基于QDFT的彩色图像水印算法存在的诸多不足, 本文通过建立QDFT系数各分量与彩色图像三通道传统DFT之间的关系, 给出了避免水印能量损失问题需要注意的系数对称条件以及充分利用QDFT四维系数空间的方案。基于QDFT、Arnold变换和冗余嵌入策略, 提出了一种彩色图像盲双重水印算法, 嵌入有意义的彩色和二值两个水印图像。实验结果表明:本文算法在不可见性和鲁棒性两方面均明显优于现有的两种基于四元数的算法[8, 12]和一种基于传统的三通道分别处理思想的算法[2], 针对滤波、JPEG压缩、添加噪声和裁剪等攻击具有较强的鲁棒性。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|