Advances in Applied Mathematics
Vol. 10  No. 04 ( 2021 ), Article ID: 41886 , 7 pages
10.12677/AAM.2021.104118

基于离散小波变换和离散余弦变换的彩色图像水印算法

赵瑶瑶,李万社

陕西师范大学,数学与统计学院,陕西 西安

收稿日期:2021年3月22日;录用日期:2021年4月11日;发布日期:2021年4月27日

摘要

提出一种离散小波变换和离散余弦变换相结合的水印算法。首先,为提高水印信息的安全,将彩色水印图像二值化,再使用Arnold置乱;然后,将彩色载体图像转换到YCbCr色彩空间,对Y通道进行离散小波变换(DWT),将低频信息分成8 * 8块,分别采用离散余弦变换(DCT);最后,将加密的水印嵌入到每个DCT变换的低频信息中。仿真实验表明,算法具有较强的鲁棒性、较高的安全性及较好的简洁性。

关键词

图像水印,离散小波变换,色彩空间,鲁棒性

Color Image Watermarking Algorithm Based on Discrete Wavelet Transform and Discrete Cosine Transform

Yaoyao Zhao, Wanshe Li

School of Mathematics and Statistics, Shaanxi Normal University, Xi’an Shaanxi

Received: Mar. 22nd, 2021; accepted: Apr. 11th, 2021; published: Apr. 27th, 2021

ABSTRACT

A watermarking algorithm based on the discrete wavelet transform and discrete cosine transform was proposed. First, in order to improve the security information of watermark, color watermark image is binarized, and Arnold is used to scramble. Then, the carrier image was converted to the YCbCr color space, and the Y channel was transformed by discrete wavelet transform (DWT). The low-frequency information was divided into 8 * 8 blocks using discrete cosine transform (DCT). Finally, the encrypted watermark is embedded into the low-frequency information of each DCT transform block. The simulation experiment showed that the algorithm has strong robustness, high security and good simplicity.

Keywords:Image Watermarking, Discrete Wavelet Transform, Color Space, Robust

Copyright © 2021 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

近几年,随着计算机网络技术和通信技术的快速发展,数字信息广泛传播,对图像版权信息的保护尤为重要,数字水印是一种较为有效的保护数字安全的方法之一,已经成为国内外学者研究的热点。数字水印算法从隐藏位置来看可以分为两类:空间域算法和变换域算法,由于在变换域算法中图像水印的鲁棒性强 [1],已经被广泛应用于数字水印技术领域中。常见的变换域算法包括离散傅里叶变换 [2]、离散余弦变换 [3]、离散小波变换 [4]、主成分分析 [5] 等。当前,混合水印算法的研究非常活跃,文献 [6] 和文献 [7] 提出了在离散余弦变换和离散小波变换基础上,结合分数阶傅里叶变换的时频特性,将水印信息嵌入到载体图像,提高算法的鲁棒性。文献 [8] 设计了一种基于DCT-DWT-SVD视频水印算法,利用视频作为存储载体,选取原始视频关键帧,采用离散小波变换和离散余弦变换对关键帧分量进行多次变换,为彩色图像安全存储提供了良好的方案。针对水印算法的鲁棒性和不可见性,本文提出在YCbCr色彩空间下,研究离散小波变换和离散余弦变换相结合的图像水印算法。算法包括水印置乱、水印嵌入、水印提取。通过Matlab仿真实验表明,与传统的水印算法相比,此算法体现了较好的不可见性和鲁棒性。

2. 水印图像的置乱与加密

针对彩色水印图像,便于直观观察图像信息,将其转换为二值图像。在嵌入水印前进行预处理,极大的提高了信息安全性。本文采用Arnold变换,也称为猫脸变换(cat映射),将图像各像素点的位置进行置乱,使其达到置乱目的。

Arnold变换定义如下:

[ x n + 1 y n + 1 ] = [ 1 b a a b ] [ x n y n ] mod ( N ) (1)

式中,a、b、N为正整数,mod是求余数的函数。Arnold变换具有周期性,即多次应用Cat映射迭代以后,又会回到原始的状态。图像的大小不同,重复出现原始图像的迭代次数就不一样。因此可以把图像大小作为密钥。例如,将大小为512 × 512的图1(a)彩色水印图像转换为图1(b)二值图像进行Arnold置乱变换后的图像如图1(c)和图1(d)所示,迭代次数T为1和52次。

Figure 1. Comparison before and after Arnold scrambling of watermark image

图1. 水印图像Arnold置乱前后对比图

3. 彩色图像水印算法

3.1. YCbCr色彩空间

色彩空间也称为色彩系统或色彩模型,它的用途是在坐标系统和子空间的标准下用通常可接受的方式对彩色加以描述。目前,最为常见的色彩空间是RGB和YCbCr。RGB色彩空间由红(R)、绿(G)、蓝(B)构成,其细节难以进行数字化的调整,YCbCr是通过有序的三元组来表示的,三元由Y (Luminance)、Cb (Chrominance-Blue)和Cr (Chrominance-Red)组成,其中Y表示颜色的明亮度和浓度,而Cb和Cr则分别表示颜色的蓝色浓度偏移量和红色浓度偏移量。所以在本文中,将RGB彩色图像转换为YCbCr色彩空间。其相互转换公式如下:

{ Y = 0.257 R + 0.564 G + 0.098 B + 16 C b = 0.148 R 0.291 G + 0.439 B + 128 C r = 0.439 R 0.368 G 0.071 B + 128 (2)

{ R = 1.164 ( Y 16 ) + 1.596 ( C r 128 ) G = 1.164 ( Y 16 ) 0.392 ( C b 128 ) 0.813 ( C r 128 ) B = 1.164 ( Y 16 ) + 2.017 ( C b 128 ) (3)

3.2. 水印的嵌入与提取

为了使水印图像嵌入载体图像具有较好的鲁棒性,本文选择将RGB色彩空间转换为YCbCr色彩空间,并将水印信息嵌入到分离出的Y通道。整个算法实现流程如图2所示。

Figure 2. Watermark embedding and extraction process

图2. 水印嵌入与提取过程

3.2.1. 水印图像的嵌入

本文算法实现步骤:

1) 读取尺寸为512 × 512的彩色载体图像J;将J由RGB色彩空间转换为YCbCr色彩空间,对该色彩空间模型中的分量Y、Cb、Cr通道进行分离,选择Y通道;

2) 对Y通道进行一级DWT,即:

[ c a , c h , c v , c d ] = d w t 2 ( Y c b c r , ' h a a r ' ) (4)

式(4)中:ca为低频系数矩阵,ch为水平系数矩阵,cv为垂直系数矩阵,cd为高频系数矩阵。

3) 将一级DWT后的LL子带进行8 × 8分块,对每个子块进行DCT。

4) 获得二值水印图像,具体过程是先输入原始彩色水印图像,转换为灰度图像,将其大小调整为32 × 32,进行操作得到二值水印图像M。

5) 提取每个子块的系数矩阵block_dct,对每个系数矩阵嵌入水印,得到新的系数矩阵new_block_dct规则如下:

{ new block dct ( 1 , 1 ) = block dct ( 1 , 1 ) + T M ( i , j ) = 0 new block dct ( 1 , 1 ) = block dct ( 1 , 1 ) T M ( i , j ) = 1 (5)

式(5)中,考虑水印的鲁棒性和不可见性之间的平衡,取T = 10。

6) 用新的系数矩阵new_block_dct替代DCT子块的系数矩阵。对每个新的DCT子块系数矩阵进行逆DCT,得到新的低频系数子带new_LL,用new_LL替换原始的LL子带进行逆DWT,得到嵌入水印的图像。

3.2.2. 水印图像的提取

本文算法实现步骤:

1) 输入嵌入水印的图像,对其执行水印算法嵌入的(1)~(3)步骤,记得到的系数矩阵为watermarked_block_dct。

2) 根据watermarked_block_dct和水印嵌入算法的block_dct,构造矩阵Image,规则如下:

Image = watermarked_block_dct block_dct (6)

3) 通过矩阵Image提取二值水印图像信息,构造二值矩阵OutImage,规则如下:

{ OutImage = 0 , Image > 0 OutImage = 1 , Image < 0 (7)

4) 对二值矩阵OutImage,用Arnold逆变换,得到提取的二值水印图像,在对其进行灰度处理。

4. 实验结果及讨论

4.1. 图像的评价标准

4.1.1. 峰值信噪比

峰值信噪比(Peak Singal to Noise Ratio, PSNR)是一种评价图像的客观标准。PSNR的计算公式如下:

PSNR = 10 lg [ ( 2 n 1 ) 2 MSE ] (8)

MSE = 1 H × W i = 1 H j = 1 W ( X ( i , j ) Y ( i , j ) ) 2 (9)

其中,式(8)中PSNR的单位为dB,数值越大表示失真越小。式(9)中的MSE表示嵌入水印图像X和载体图像Y的均方误差(Mean Square Error),H、W分别为图像的高度和宽度;n为每像素的比特数,一般取8。

4.1.2. 归一化相关系数

归一化相关系数(Normalization Correlation, NC)是计算个体间的相似程度。即NC越大,说明个体间相似程度越大,差异越小。NC的计算公式如下:

NC = i = 1 L w ( i ) w ( i ) i = 1 L w 2 ( i ) i = 1 L w 2 ( i ) (10)

其中,式(10)中 w ( i ) 是原始水印信息; w ( i ) 代表提取的水印信息;L代表水印长度。

4.1.3. 结构相似度指数

结构相似度指数(Structural Similarity ,SSIM)是衡量水印不可见性能的指标之一。其计算公式如下:

SSIM ( i , j ) = ( 2 μ i μ j + α ) ( 2 σ i j + β ) ( μ i 2 + μ j 2 + α ) ( σ i 2 + σ j 2 + β ) (11)

其中,式(11)中 μ i , μ j 分别代表载体图像和嵌入水印图像的均值, σ i , σ j 分别表示它们的方差, σ i j 表示两者的协方差。 α , β 是防止分母为0的变量。

4.2. 实验结果分析

为验证算法的性能,采用MATLAB 2016完成仿真,载体图像采用Baboon,尺寸为512 × 512的24位彩色PPM图像,水印采用陕西师范大学校徽图案,尺寸为32 × 32的彩色BMP图像进行实验,实验用图如图3所示,其中左图3(a)为原始图像,右图3(b)为水印图像。

Figure 3. Original image and watermark image

图3. 载体图像与水印图像

采用本文算法,将彩色水印图像嵌入载体图像,结果如图4(a)所示,从嵌入水印的图像提取出的水印图像如图4(b)所示。

Figure 4. Image of experimental results

图4. 实验结果图像

图3(a)和图4(a)可看出,水印具有较好的不可见性,在没有任何攻击的条件下,根据本文算法,对原始载体图像Y通道的图像与嵌入水印图像计算,二者的PSNR值约为48.1313,SSIM值约为0.9994,提取出的水印与原始水印的NC值为1.0000,证明了该算法的有效性。

5. 抗攻击性能

为了检测算法的性能,本文采用常用的攻击方式,如高斯噪声、椒盐噪声、泊松噪声、乘性噪声、均值滤波等攻击。表1为嵌入水印图像经各种攻击后的测试结果。

表1可以看出,嵌入水印图像遭受各种攻击后。提取出的水印与原始水印图的归一化相关系数值较高,且结构相似指数也较高,说明该算法具有良好的鲁棒性和不可见性。

Table 1. Attack test results

表1. 攻击测试结果

与其他算法比较

为了更好的验证该算法的性能,将本文结果与文献 [9] 和文献 [10] 算法进行比较。文献 [9] 和文献 [10] 均选取彩色图像作为载体图像,且文献 [9] 算法在YCbCr色彩空间实现的,为了提高水印安全性,对水印图像采取了Arnold变换。水印嵌入与提取耗时对比见表2

Table 2. Time comparison between watermark embedding and extraction

表2. 水印嵌入与提取耗时对比

表2可以看出,本文算法水印嵌入与提取所用时间相比于文献 [10] 明显减少,说明该算法的简洁性与有效性。从表1可以看出,与文献 [8] 算法相比,嵌入水印遭受各种攻击后提取出的水印图像与原始水印图像相比,其NC值略大于文献 [9],说明该算法具有较好的鲁棒性和不可见性。

6. 结束语

提出一种基于离散小波变换和离散余弦变换的彩色图像水印算法。实验结果表明,该算法在分块DCT上嵌入水印,具有良好的不可见性;对抵抗各种噪声攻击具有较强的鲁棒性;在水印嵌入和提取消耗时间更少。

文章引用

赵瑶瑶,李万社. 基于离散小波变换和离散余弦变换的彩色图像水印算法
Color Image Watermarking Algorithm Based on Discrete Wavelet Transform and Discrete Cosine Transform[J]. 应用数学进展, 2021, 10(04): 1096-1102. https://doi.org/10.12677/AAM.2021.104118

参考文献

  1. 1. 杨成科. 基于Bior4.4小波基数字水印算法的鲁棒性研究[J]. 电子技术与软件工程, 2021(2): 146-147.

  2. 2. 龚成清. 基于DWT和FRFT的数字图像水印算法[J]. 现代计算机, 2020(29): 55-58.

  3. 3. 席光伟, 余丽群. 基于混沌映射的DCT域鲁棒图像水印算法[J]. 计算机时代, 2020(12): 10-13.

  4. 4. 王菽裕, 刘璐, 宋俊芳, 张春玉. 一种基于DWT的数字水印算法[J]. 无线互联科技, 2020, 17(13): 54-55.

  5. 5. 张明, 杨辉, 黄炳家, 等. 基于二维码图书版权保护的数字水印算法[J]. 计算机系统应用, 2019, 28(9): 190-195.

  6. 6. Liu, Z., Wang, A., Xin, K., et al. (2020) Digital Holographic Watermarking Algorithm Based on DWT-DCT. Journal of Physics: Conference Series, Article ID: 012099 (7 p). https://doi.org/10.1088/1742-6596/1693/1/012099

  7. 7. 王玉莹, 关虎, 黄樱, 张树武, 牛保宁. DWT-DCT联合变换域上的文本图像水印方案[J]. 计算机工程与设计, 2020, 41(6): 1676-1682.

  8. 8. 李延哲, 梁仁鹏, 张紫砚, 崔杰. 基于DCT-DWT-SVD的彩色图像安全存储方案[J]. 物联网技术, 2017, 7(5): 59-62+65.

  9. 9. 李柳, 杨卫民. 基于YCbCr色彩空间DCT的彩色图像水印算法[J]. 电脑与信息技术, 2016, 24(1): 10-13.

  10. 10. 马金发. 采用Haar离散小波变换的彩色图像水印算法研究[J]. 沈阳理工大学学报, 2015, 34(3): 28-31.

期刊菜单