Print

发布时间: 2022-01-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.210483
2022 | Volume 27 | Number 1




    篡改检测与内容恢复    




  <<上一篇 




  下一篇>> 





块截断编码的图像自嵌入半脆弱水印算法
expand article info 王艺龙1, 李震宇1, 巩道福1, 马世鑫2, 刘粉林1
1. 中国人民解放军战略支援部队信息工程大学,郑州 450000;
2. 中国人民解放军国防大学,北京 100091

摘要

目的 数字图像自嵌入水印技术是解决图像篡改检测和恢复问题的主要技术手段之一,现有的自嵌入水印技术存在着认证粒度不高、嵌入水印后的图像失真较大,且无法抵抗滤波等操作。为提高图像自嵌入水印的认证粒度以及抵抗滤波等处理操作的能力,提出了一种基于块截断编码的图像自嵌入半脆弱水印算法。方法 水印生成与嵌入:首先,将图像进行块级别的二级划分,分别生成粒度为4×4和2×2的图像块;然后,利用块截断编码对每个4×4图像块进行压缩编码,生成2×2图像块的恢复水印,并对恢复水印进行哈希生成2×2图像块的认证水印;最后,将恢复水印和认证水印级联构成自嵌入水印,嵌入到映射块中。篡改认证与恢复:首先,将某个4×4图像块提取的水印与该块生成的水印比较,判别该图像块的2×2子块是否通过认证;最后,依据认证结果对2×2图像块实施恢复。结果 该算法产生的水印图像的峰值信噪比(peak signal-to-noise ratio,PSNR)均高于44 dB,在50 % 的篡改率下,恢复后的图像质量可达到32.7 dB。该算法生成水印并在图像上嵌入大约需要3.15 s,恢复图像大约需要3.6 s。结论 算法利用块截断编码,有效缩短了生成的水印长度,保证嵌入水印后图像的质量。此外,通过引入的可容忍修改阈值,使得水印能够对滤波等图像处理操作具有一定的鲁棒性,同时保证对图像的恶意篡改具有敏感性。最后通过与最近典型方法的对比实验,验证了算法在嵌入水印后图像质量、恢复图像质量等方面的优势。

关键词

半脆弱水印; 自嵌入; 块截断编码; 篡改认证; 篡改恢复

Image self-embedding semi-fragile watermarking algorithm based on block truncation coding
expand article info Wang Yilong1, Li Zhenyu1, Gong Daofu1, Ma Shixin2, Liu Fenlin1
1. PLA Strategic Support Force Information Engineering University, Zhengzhou 450000, China;
2. National Defense University of People' s Liberation Army (PLA), Beijing 100091, China
Supported by: National Natural Science Foundation of China(U1736214, 61772549)

Abstract

Objective Digital images have become the main interface for people to acquire and disseminate information. People can easily replace digital image content with fake to achieve a certain purpose via widespread availability of image processing and editing tools. Hence, it is one of the research hotspots in the field of information content security to judge the authenticity of the content of the digital image, and even restore the tampered area. Digital image self-embedding watermarking technology is one of the key technical implications constrained by low authentication accuracy and extremely quality loss without filtering. In order to improve the authentication accuracy and the resistance to filtering and other processing operations, a semi-fragile image self-embedding watermarking algorithm based on block truncation coding is proposed. Method 1) Watermarking generation and embedding: the image is divided into 4×4 image blocks, and each 4×4 image block is further divided into 2×2 image blocks. Then, block truncation coding is used to compress and encode each image block as the self-embedding watermarking information of the image block, and hash the self-embedding watermarking as the authentication watermarking information of the image block. At last, the self-embedded watermarking information and the authentication watermarking information form the watermarking information, which is embedded in the mapping block. 2)Tampering detection and recovery: At the beginning, the authentication watermarking information of 4×4 blocks is compared to identify the tampering of the image block, and then set a threshold to determine the tampering of the 2×2 image blocks based on the block truncation coding information and restore it. The algorithm uses block truncation coding to effectively shorten the watermarking information generated for 4×4 image blocks. The watermarking information is just embedded in the lowest two bits of the pixel, the quality of the image is guaranteed following the embedded watermarking and 2×2 image targeted blocks based on interpolation of the quantized information, Eventually, the 2×2 image blocks is restored based on the authentication analysis. The algorithm uses block truncation coding, which effectively shortens the length of the generated watermarking and guarantee the quality of the image while the watermarking is embedded. In addition, the watermarking can be robust to image processing operations such as filtering via the introduction of a tolerable modification threshold in terms of the inspection for tampering of images. Result The illustrated algorithm demonstrates that the peak signal-to-noise ratio(PSNR) of watermarked images generated are all higher than 44 dB, and the quality of the restored image can reach 32.7 dB at tampering rate of 50 %. The algorithm takes about 3.15 s to generate and embed watermarking on an image, and it takes about 3.6 s to restore an image. The demonstration analyzes the authentication after smoothing filtering, and verifies that the algorithm has certain robustness to smoothing filtering, and the effect of resisting Gaussian filtering is the most qualified. The robustness of the mean and median filtering is the strongest when the filter core is 3×3, and more than 90 % of the image blocks can be authenticated. The robustness of the mean and median filtering still decreases with the increase of the filter core. The robustness to Gaussian filtering is the strongest when σ is 0.4, and more than 95 % of the image blocks can be authenticated. The robustness of Gaussian filtering decreases with the σ increase. In addition, multi-sets of threshold experiments have been conducted to analyze the impact of the algorithm' s threshold setting in the context of the robustness of smoothing filtering. The results demonstrate that the larger the threshold is, the stronger the robustness generated. The algorithm is still sensitive to severe tampering while the threshold increases. Conclusion Tampering and filtering of different scene images is evolved. The illustration of the tolerable modification threshold is sorted out watermarking. It demonstrates that the algorithm can realize the authentication and recovery of the tampering of the local area of the image. Qualified robustness is obtained via regularized processing, such as mean, median and Gaussian filtering. As a result, the comparison with the current methods verifies the advantages of the algorithm in image quality in accordance with watermarking and restoration of image quality.

Key words

semi-fragile watermarking; self-embedding; block truncation coding; tampering authentication; tampering recover

0 引言

数字图像作为获取及传播信息的主要载体,给人们的生活带来极大便利,但其易被编辑、修改的特点也带来了一系列安全隐患。人们为了达到某种目的,可以利用图像处理工具对图像进行篡改。因此对数字图像的内容进行真实性判断,并恢复被篡改的内容是当前的研究热点。

数字图像自嵌入水印技术是解决此类问题的主要技术手段之一,其将图像的内容信息进行压缩编码,并嵌入到图像中,通过比较篡改前后图像水印的变化情况进行完整性认证,依据嵌入的内容信息实现篡改恢复。现有的自嵌入水印技术主要分为脆弱水印方法和半脆弱水印方法两类。脆弱水印研究主要关注认证粒度和嵌入强度等,如Singh和Singh(2016)提出了一种基于离散余弦变换(discrete cosine transform, DCT)系数的自嵌入水印算法,该算法将图像分为块,对每个块基于DCT变换生成2 bit认证水印和10 bit恢复水印。Tong等人(2013)提出了一种基于混沌映射的脆弱水印算法,将图像分为2×2块,取每个块均值的高5 bit,并找到每个块的同伴块,也取块均值高5 bit,将10 bit作为恢复水印。通过10 bit的恢复水印得到2 bit的认证水印,利用混沌映射找到映射块并将水印嵌入该块像素的最低3 bit中。Rakhmawati等人(2018)提出了一种基于双认证的自嵌入水印算法,该方案将图像分为2×2的块,用块均值的高5 bit作为恢复水印,依据恢复水印生成两份认证水印,并将恢复水印和认证水印嵌入到映射块中。Enugula等人(2020)提出了一种基于自嵌入脆弱水印算法的图像安全方案,该算法将图像进行2×2分块,并依据每个块的均值产生4 bit认证水印和8 bit恢复水印,并将水印嵌入到映射中。这类算法嵌入水印使用了像素的最低3 bit,对原图质量影响较大。Ansari等人(2016)提出一种基于奇异值分解(singular value decomposition, SVD)的脆弱水印算法,该算法将图像分为4×4的块,并依据每个块的奇异值生成12 bit认证水印,利用每个块的2×2子块均值的高5 bit生成恢复水印,将32 bit水印信息嵌入到相应的4×4映射块像素的最低两位中。杨彬彬等人(2015)提出了一种基于安全隐藏的图像分层篡改检测和内容恢复算法,该算法对图像进行4×4分块,对每个块基于DCT变换产生24 bit恢复水印,并用其2×2子块均值产生8 bit认证水印,将认证水印嵌入在自身块中的最低2 bit中,将恢复水印嵌入到映射块的最低2 bit中。Lin等人(2005)提出了一种基于分块的多级认证脆弱水印算法,该算法对图像进行4×4分块,并用其2×2子块均值的高6 bit生成4×4该图像块的认证与恢复水印,选取其对应映射块的每个2×2子块生成2 bit的认证水印,达到对图像块的双认证目的。这类自嵌入水印算法嵌入水印后的图像失真较小。Al-Otum和Alansari(2019)提出了一种基于置乱的保持双水平矩方法的篡改检测和内容恢复图像水印方案,该算法将图像分为4×4块,基于双水平矩方法对每个块编码生成28 bit恢复水印,并依据每个块的均值生成4 bit认证水印,将其恢复和认证水印嵌入到映射块中。赵新辉和张晓培(2013)提出了一种结合DCT(discrete cosine transform)和矢量量化(vector quantization, VQ)编码的可恢复脆弱水印算法,该算法将图像分为8×8块,根据图像块的复杂度分别采用DCT编码或者VQ编码产生恢复水印,根据恢复水印产生认证水印,并将其嵌入在映射块中。Qian等人(2011)Zhang等人(2011a)提出的算法都是对图像进行8×8分块,对每个块基于DCT变换生成水印。Zhang(2009)以及Zhang等人(2011b)的算法都是对图像进行8×8分块,分别依据每个块中像素高5 bit产生水印。Gul和Ozturk(2020)提出的算法是对图像进行16×16分块。这类算法认证粒度不细。

另一类是基于块截断编码的算法,Singh和Singh(2019)提出了一种基于块截断编码的具有恢复能力的图像认证有效水印方案,该算法将图像进行2×2分块,对每个块进行块截断编码生成恢复水印,依据恢复水印生成认证水印,将其嵌入到映射块最低3 bit中。Hemida和He(2020)提出了一种基于块截断编码和量子混沌映射的自恢复水印方案,该算法将图像分为4×4块,对每个块生成认证水印,并对其2×2子块基于块截断编码分为平滑块或者复杂块,生成相应的恢复水印,依据量子混沌映射生成块映射块嵌入水印。Chang等人(2020)提出了基于自适应权值压缩绝对块截断编码的脆弱水印图像恢复方案,该算法将图像分为4×4块,对其基于绝对块截断编码产生24 bit的认证与恢复水印,并将水印分别嵌入到两个不同的映射块中。Kim和Yang(2021)提出了一种基于绝对块截断编码和最优像素调整的自嵌入脆弱水印检测图像篡改的方案,该算法将图像分为4×4块,对其进行绝对块截断编码生成恢复水印,利用最优像素调整将恢复水印嵌入其相应映射块中,并依据每个块中像素生成认证水印,嵌入自身块中。

半脆弱水印研究主要应用了图像频域特性来实施水印的嵌入。Chen等人(2017)提出了一种抵抗JPEG压缩的半脆弱水印算法,该算法将图像分为8×8块,基于DCT变换生成认证与恢复水印,并将其嵌入到图像块的7个中频DCT系数中。Li等人(2015)提出了一种基于小波组量化和双重认证方法的可恢复的半脆弱水印算法,该算法将图像分为的16×16块,依据每个16×16块均值的高5 bit生成认证与恢复水印,对每个16×16的块进行小波变换产生第2份认证水印,并将生成的水印嵌入到映射块中。Rhayma等人(2019)提出了一种基于组合数据表示的半脆弱自恢复水印方案,该算法将图像分为32×32块,利用块的均值与其16×16子块的均值生成认证水印,对图像进行小波变换得到二阶低通系数,并基于组合数据表示方法对系数进行压缩得到恢复水印,将认证与恢复水印嵌入到映射块中。Egorova和Fedoseev(2020)提出了一种针对图像ROI(region of interest)并且对JPEG具有鲁棒性的图像内容恢复方案,该算法将图像分为8×8块,对ROI区域的块进行有损JPEG压缩后再编码生成认证和恢复水印,将水印嵌入到其他不感兴趣区域的块中。这类算法尽管能够抵抗对整幅图像的一些正常处理操作,但对图像认证的粒度不细。

篡改者为了达到某种目的,往往对图像的一些局部区域进行篡改,如人脸的重要部位、路牌信息、医学图像中的病灶等细节信息,并对修改区域及其边缘进行平滑处理操作,达到对抗图像检测的目的。本文提出了一种基于块截断编码的自嵌入半脆弱水印算法。算法首先利用块截断编码对图像4×4块的内容进行压缩编码;然后,对压缩信息进行哈希,并将压缩编码和哈希结果级联构成水印,嵌入到相应的映射块中。该算法通过以下两个策略提高嵌入水印后图像质量、认证粒度和对正常处理操作的鲁棒性:1)基于2×2图像子块均值对4×4图像块内容进行块截断编码,压缩了图像的内容,缩短了水印的长度,保证了嵌入水印后图像的质量,提升了认证粒度;2)基于对块截断编码量化值阈值的设置,保持了算法对图像平滑处理操作的鲁棒性和恶意篡改的敏感性。

1 算法描述

本文算法的基本思想是:在保证图像失真较小和细粒度认证精度条件下,水印能够对图像局部的平滑处理操作保持一定的鲁棒性。算法包括水印的生成、嵌入和认证恢复3个部分。其架构如图 1所示。图 1中,水印的生成部分将图像$\boldsymbol{I}$分成4×4图像块${\boldsymbol{I}_i}$,并对任一图像块${\boldsymbol{I}_i}$进行2×2分块再编码产生16 bit的编码信息${\boldsymbol{V}_i}$,利用密钥${K_1}$${\boldsymbol{V}_i}$进行哈希处理得到16 bit的校验信息${\boldsymbol{U}_i}$,最终生成32 bit的水印信息${\boldsymbol{W}_i}$;水印的嵌入利用密钥${K_2}$找到${\boldsymbol{I}_i}$的映射块${\boldsymbol{I}_{\varepsilon \left(i \right)}}$$\varepsilon \left(i \right)$为映射块的索引标识。将水印${\boldsymbol{W}_i}$嵌入到${\boldsymbol{I}_{\varepsilon \left(i \right)}}$中像素的最低2 bit中,得到含水印图像${\boldsymbol{I}^{\rm{w}}}$;认证与恢复部分首先将目标图像$\boldsymbol{I'}$分为4×4图像块${\boldsymbol{I'}_i}$,对图像块${\boldsymbol{I'}_i}$进行2×2分块编码得到${\boldsymbol{V'}_i}$,提取图像块${\boldsymbol{I'}_i}$${\boldsymbol{I'}_{\varepsilon \left(i \right)}}$中的最后2 bit信息得到${\boldsymbol{W'}_\delta }$${W''_i}$,利用${\boldsymbol{V'}_i}$${W''_i}$${\boldsymbol{W'}_\delta }$进行认证与恢复。

图 1 算法框架图
Fig. 1 Algorithm framework

1.1 水印的生成

1) 对于大小为M×N的原图像$\boldsymbol{I}$,将其划分为$n$个不重叠的4×4块,并按行优先顺序排列,则原图像$\boldsymbol{I}$表示为

$ \boldsymbol{I}=\left\{\boldsymbol{I}_{i} \mid i=1,2 \cdots, n\right\} $ (1)

式中,${\boldsymbol{I}_i} = \left({\begin{array}{*{20}{c}} {{\boldsymbol{I}_{i, 1}}}&{{\boldsymbol{I}_{i, 2}}}\\ {{\boldsymbol{I}_{i, 3}}}&{{\boldsymbol{I}_{i, 4}}} \end{array}} \right)$为4×4的图像块,${\boldsymbol{I}_{i, j}}\left({i \in \left\{ {1, 2, \cdots, n} \right\};j \in \left\{ {1, 2, 3, 4} \right\}} \right)$${\boldsymbol{I}_i}$中2×2的图像子块。

2) 对图像块${\boldsymbol{I}_i}$的所有像素做右移两位操作,分别计算其中2×2图像子块的均值,记为${\bar I_{i, j}}$;则4×4的图像块${\boldsymbol{I}_i}$可表示成一个2×2的矩阵${\boldsymbol{\bar I}_i}$,即

$ \overline{\boldsymbol{I}}_{i}=\left[\begin{array}{ll} \bar{I}_{i, 1} & \bar{I}_{i, 2} \\ \bar{I}_{i, 3} & \bar{I}_{i, 4} \end{array}\right] $ (2)

3) 利用块截断编码方法(Delp和Mitchell,1979)对${\boldsymbol{\bar I}_i}$进行编码。

(1) 计算${\boldsymbol{\bar I}_i}$的均值${\overline{\overline I} _i}$和标准差${\sigma _i}$,表示为

$ \bar{\bar{I}}_{i}=\left(\bar{I}_{i, 1}+\bar{I}_{i, 2}+\bar{I}_{i, 3}+\bar{I}_{i, 4}\right) / 4 $ (3)

$ \begin{gathered} \sigma_{i}= \\ \sqrt{\frac{\left(\bar{I}_{i, 1}-\bar{\bar{I}}_{i}\right)^{2}+\left(\bar{I}_{i, 2}-\bar{\bar{I}}_{i}\right)^{2}+\left(\bar{I}_{i, 3}-\bar{\bar{I}}_{i}\right)^{2}+\left(\bar{I}_{i, 4}-\bar{\bar{I}}_{i}\right)^{2}}{4}} \end{gathered} $ (4)

(2) 生成${\boldsymbol{\bar I}_i}$的分布标记${\boldsymbol{b}_i}{\rm{ = }}\left({b_1^i, b_2^i, b_3^i, b_4^i} \right)$

$ b_{j}^{i}=\left\{\begin{array}{ll} 1 & \bar{I}_{i, j}>\bar{\bar{I}}_{i} \\ 0 & \bar{I}_{i, j} \leqslant \bar{\bar{I}}_{i} \end{array}, j=1,2,3,4\right. $ (5)

(3) 分别计算${\boldsymbol{\bar I}_i}$的量化值${H_i}$${L_i}$

$ \left\{\begin{array}{l} L_{i}=\bar{\bar{I}}_{i}-\sigma_{i} \times \sqrt{\frac{q_{i}}{4-q_{i}}} \\ H_{i}=\bar{\bar{I}}_{i}+\sigma_{i} \times \sqrt{\frac{4-q_{i}}{q_{i}}} \end{array}\right. $ (6)

式中,${q_i}$表示${\boldsymbol{\bar I}_i}$${\bar I_{i, j\left({j = 1, 2, 3, 4} \right)}}$大于${\overline{\overline I} _i}$的个数。

(4) 用${\boldsymbol{\bar I}_i}$的分布标记${\boldsymbol{b}_i}$、量化值${H_i}$${L_i}$将图像块${\boldsymbol{I}_i}$压缩成16 bit的编码信息${\boldsymbol{V}_i}$, 即

$ \boldsymbol{V}_{i}=F\left(\boldsymbol{b}_{i}, H_{i}, L_{i}\right) $ (7)

4) 利用密钥${K_1}$对编码信息${\boldsymbol{V}_i}$进行哈希计算,得到16 bit的校验信息${\boldsymbol{U}_i}$, 即

$ \boldsymbol{U}_{i}={Hash}\left(K_{1}, \boldsymbol{V}_{i}\right) $ (8)

5) 将${\boldsymbol{V}_i}$${\boldsymbol{U}_i}$级联构成块${\boldsymbol{I}_i}$的32 bit的水印信息${\boldsymbol{W}_i}$, 即

$ \boldsymbol{W}_{i}=\left(\boldsymbol{V}_{i}, \boldsymbol{U}_{i}\right) $ (9)

1.2 水印的嵌入

1) 利用密钥${K_2}$生成图像块${\boldsymbol{I}_i}$的映射块${\boldsymbol{I}_{\varepsilon \left(i \right)}}$,其中$\varepsilon \left(i \right)$需满足以下条件

$ \varepsilon(i)=\left[\left(K_{2} \times i\right) \bmod n\right]+1 $ (10)

式中,$i \in \left[ {0, n} \right]$$\varepsilon \left(i \right) \in \left[ {0, n} \right]$${K_2} \in \left[ {1, n - 1} \right]$$n$为图像中4×4块的总个数。

2) 将${\boldsymbol{I}_i}$的32 bit水印信息${\boldsymbol{W}_i}$替换到${\boldsymbol{I}_{\varepsilon \left(i \right)}}$的像素最低2 bit,得到含水印图像${\boldsymbol{I}^{\rm{w}}}$

1.3 认证与恢复

认证阶段包含以下主要步骤:

1) 对待认证图像$\boldsymbol{I'}$进行4×4分块,对每个4×4块进行2×2分块

$ \boldsymbol{I}^{\prime}=\left\{\boldsymbol{I}_{i}^{\prime} \mid i=1,2, \cdots, n\right\} $ (11)

式中,${\boldsymbol{I'}_i} = \left({\begin{array}{*{20}{c}} {{{I'}_{i, 1}}}&{{{I'}_{i, 2}}}\\ {{{I'}_{i, 3}}}&{{{I'}_{i, 4}}} \end{array}} \right)$为4×4的图像块,${\boldsymbol{I'}_{i, j}}\left({i \in \left\{ {1, 2, \cdots, n} \right\};j \in \left\{ {1, 2, 3, 4} \right\}} \right)$${\boldsymbol{I'}_i}$中2×2的图像子块。

2) 利用水印生成步骤生成块${\boldsymbol{I'}_i}$的水印${\boldsymbol{V'}_i}$, 即

$ \boldsymbol{V}_{i}^{\prime}=F\left(\boldsymbol{b}_{i}^{\prime}, H_{i}^{\prime}, L_{i}^{\prime}\right) $ (12)

式中,${\boldsymbol{b'}_i} = \left({{b'}_1^i, {b'}_2^i, {b'}_3^i, {b'}_4^i} \right)$${\boldsymbol{I'}_i}$的分布标记,${H'_i}$${L'_i}$${\boldsymbol{I'}_i}$的量化值。

3) 利用密钥${K_2}$找到${\boldsymbol{I'}_i}$的映射块${\boldsymbol{I'}_{\varepsilon \left(i \right)}}$,提取块${\boldsymbol{I'}_{\varepsilon \left(i \right)}}$中像素最低2 bit,记做${w''_i}$, 即

$ \boldsymbol{w}_{i}^{\prime \prime}=\left(\boldsymbol{V}_{i}^{\prime \prime}, \boldsymbol{U}_{i}^{\prime \prime}\right) $ (13)

式中,$\left({{{\boldsymbol{b''}}_i}, {{H''}_i}, {{L''}_i}} \right) = {F^{ - 1}}(\left({{{\boldsymbol{V''}}_i}} \right)$${\boldsymbol{b''}_i} = \left({{b''}_1^i, {b''}_2^i, {b''}_3^i, {b''}_4^i} \right)$

4) 提取块${\boldsymbol{I'}_i}$中像素最后2 bit,得到32 bit信息,记做${\boldsymbol{W'}_\delta }$, 即

$ \boldsymbol{W}_{\delta}^{\prime}=\left(\boldsymbol{V}_{\delta}^{\prime}, \boldsymbol{U}_{\delta}^{\prime}\right) $ (14)

式中,$i = \left[ {\left({{K_2} \times \delta } \right)\bmod \;n} \right] + 1$

5) 对图像块${\boldsymbol{I'}_i}$而言,若${\boldsymbol{U'}_\delta } = Hash\left({{K_1}, {{\boldsymbol{V'}}_\delta }} \right)$,则表明嵌入在${\boldsymbol{I'}_i}$块的水印未被篡改,视做块${\boldsymbol{I'}_i}$通过认证。

6) 对图像块${\boldsymbol{I'}_i}$而言,若${\boldsymbol{U'}_\delta } \ne Hash\left({{K_1}, {{\boldsymbol{V'}}_\delta }} \right)$,但${\boldsymbol{U''}_i}{\rm{ = }}Hash\left({{K_1}, {{\boldsymbol{V''}}_i}} \right)$,则表明嵌入在${\boldsymbol{I'}_i}$块的水印被篡改,视做${\boldsymbol{I'}_i}$被篡改,而${\boldsymbol{I'}_i}$块的水印${\boldsymbol{w''}_i}$在映射块${\boldsymbol{I'}_{\varepsilon \left(i \right)}}$中未被篡改,则

(1) 若${b'}_j^i = {b''}_j^i = 1$,且$\left| {{{H'}_i} - {{H''}_i}} \right| < d$,则图像子块${\boldsymbol{I'}_{i, j}}$通过认证;

(2) 若${b'}_j^i = {b''}_j^i = 0$,且$\left| {{{L'}_i} - {{L''}_i}} \right| < d$,则图像子块${\boldsymbol{I'}_{i, j}}$通过认证;

(3) 否则图像子块${\boldsymbol{I'}_{i, j}}$不通过认证。

其中,$n$为正常图像操作的可容忍修改阈值。

篡改恢复阶段包含以下主要步骤:

1) 若图像块${\boldsymbol{I'}_i}$不通过认证,且${\boldsymbol{U''}_i} = Hash\left({{K_1}, {{V''}_i}} \right)$,则表明${\boldsymbol{I'}_i}$块生成的水印未被篡改,若图像子块${\boldsymbol{I'}_{i, j}}$未通过认证,则对图像子块${\boldsymbol{I'}_{i, j}}$进行恢复, 即

$ \boldsymbol{I}_{i, j}^{\prime}= \begin{cases}H_{i}^{\prime \prime} & b_{j}^{\prime \prime i}=1 \\ L_{i}^{\prime \prime} & b_{j}^{\prime \prime i}=0\end{cases} $ (15)

2) 若图像块${\boldsymbol{I'}_i}$不通过认证,且${\boldsymbol{U''}_i} \ne Hash\left({{K_1}, {{\boldsymbol{V''}}_i}} \right)$,则表明${\boldsymbol{I'}_i}$块生成的水印被篡改,无法利用水印${\boldsymbol{w''}_i}$${\boldsymbol{I'}_{i, j}}$进行恢复,则利用块${\boldsymbol{I'}_{i, j}}$周围的8×8邻域子块的均值来恢复${\boldsymbol{I'}_{i, j}}$

3) 最终得到恢复图像${\boldsymbol{I}^{\rm{r}}}$

2 实验结果与分析

本文实验分为实验性能测试和与其他方法比较测试两部分,采用BOWS2(Break Our Watermarking System 2nd)(http://bows2.ec-lille.fr/)比赛使用的图像库,图像库中包含10 000幅不同场景(风景、人物、建筑和图标等)的512×512像素的灰度图像,图像库中的100幅图像作为实验对象。并另选取其他8幅典型场景下的图像展示算法的篡改认证和恢复性能(如图 2所示)。

图 2 测试图像
Fig. 2 Test image((a)Lena; (b)Map; (c)Track; (d)Slogan; (e)CT; (f)Airplane; (g)Boat; (h)Elaine)

2.1 本文算法的性能实验

2.1.1 嵌入水印后的图像质量

图 3给出了使用本文算法嵌入水印后的水印图像,表 1给出了各嵌入水印后图像相对于原始图像的峰值信噪比(peak signal-to-noise ratio, PSNR)值。从表 1中可以看出,测试图像的PSNR都达到了44 dB以上,表明含水印图像具有较高的视觉质量。

图 3 嵌入水印后的图像
Fig. 3 Watermarked images((a)Lena; (b)Map; (c)Track; (d)Slogan; (e)CT; (f)Airplane; (g)Boat; (h)Elaine)

表 1 嵌入水印后图像相对于原始图像的PSNR
Table 1 PSNR of the watermarked images relative to original images  

下载CSV
/dB
Lena Map Track Slogan
PSNR 44.23 44.15 44.12 44.12
CT Airplane Boat Elaine
PSNR 44.08 44.17 44.12 44.10

2.1.2 对图像篡改的认证与恢复实验

利用本文算法对图Lena、Map、Track、Slogan、CT、Airplane的含水印图像篡改的认证与恢复结果,如图 4-图 7所示。

图 4 篡改图像
Fig. 4 Tampered images((a)Lena; (b)Map; (c)Track; (d)Slogan; (e)CT; (f)Airplane)
图 5 认证结果
Fig. 5 Identified images((a)Lena; (b)Map; (c)Track; (d)Slogan; (e)CT; (f)Airplane)
图 6 恢复结果
Fig. 6 Restored images((a)Lena; (b)Map; (c)Track; (d)Slogan; (e)CT; (f)Airplane)
图 7 原图与恢复区域的对比图
Fig. 7 Comparison charts of original images and restored areas((a)Lena; (b)Map; (c)Track; (d)Slogan; (e)CT; (f)Airplane)

图 4显示了对图 3中的前6幅(a)-(f)的不同局部区域的篡改结果。对图 3(a)中人物的眼睛、图 3(b)中地图中的飞机、图 3(c)中的场景、图 3(d)中的路标、图 3(e)中的肿瘤病灶、图 3(f)中的飞机标志进行篡改,篡改率分别为1.13 %、0.05 %、4.2 %、1 %、0.01 %、0.8 %。其篡改区域认证结果如图 5所示,恢复结果如图 6所示,图 3(a)-(f)的恢复后图像相对于含水印图像的PSNR分别为42.8 dB、43.3 dB、41.8 dB、42.1 dB、44.0 dB、40.7 dB。

2.1.3 对图像大区域篡改的认证与恢复结果

图 8给出了对水印图像(图 3(g))进行剪切篡改,篡改率为50 % 时的认证与恢复结果,恢复图像相对于含水印图像的PSNR为30.1 dB。

图 8 图 3(g)水印图像的篡改、认证与恢复结果
Fig. 8 Tampered, identified and restored results of watermarked image Fig. 3 (g)((a)watermarked image; (b)tampered image; (c)identified image; (d)restored image)

表 2给出了6幅测试图像Lena、Map、Track、Slogan、CT、Airplane分别在篡改率5 %、10 %、20 %、30 %、40 %、50 % 下的恢复图像相对于含水印图像的PSNR。随着篡改率的增大,恢复后图像的质量下降。即使在篡改率达到50 % 时,图像的恢复质量仍超过28.6 dB,表明本文算法能够对大面积篡改实现有效恢复。

表 2 不同篡改率下的恢复图像相对于含水印图像的PSNR
Table 2 PSNR of the recovered content relative to watermarked image with different tampering rates  

下载CSV
/dB
水印图像 篡改率/%
5 10 20 30 40 50
Lena 41.8 40.2 37.7 33.9 33.5 32.7
Map 41.5 40.0 36.6 33.3 31.2 30.1
Track 37.2 36.7 35.0 33.2 31.5 30.1
Slogan 37.5 36.1 35.3 32.1 29.3 28.6
CT 41.7 40.1 37.1 34.7 34.5 31.0
Airplane 37.1 36.1 34.1 33.7 33.2 30.2

为进一步测试算法的恢复能力,针对BOWS2图像库中选取的100幅测试图像,分别进行了算法运行时间的统计、含水印图像相对于原始图像PSNR统计和不同篡改率下恢复图像的PSNR统计。算法对100幅图像生成和嵌入水印所用时间约为315.12 s,平均一幅图像所用时间约为3.15 s。100幅图像嵌入水印后相对于原始图像的平均PSNR为44.12 dB。

表 3给出了100幅图像在不同篡改率下恢复图像相对于含水印图像的平均PSNR和恢复所用的平均时间。从表 3中可以看出,恢复图像相对于含水印图像的平均PSNR随着篡改率的增大而减小,认证和恢复的运行平均时间基本保持在3.6 s以内。

表 3 针对100幅图像在不同篡改率下恢复图像相对于含水印图像的平均PSNR和恢复所用的平均时间
Table 3 The average PSNR relative to the watermarked image and the average time taken to restore the image for 100 images at different tampering rates

下载CSV
篡改率 5% 10% 20% 30% 40% 50%
平均PSNR/dB 41.8 40.2 37.7 33.9 33.5 32.7
平均运行时间/s 3.52 3.53 3.56 3.56 3.58 3.59

2.2 算法对局部区域平滑滤波的抵抗能力

图 3(h)为例,在算法中d取4的情况下,对其局部区域(滤波区域为80×80,共1 600个2×2的块)分别进行高斯、均值和中值滤波操作,测试水印抵抗局部滤波操作的能力,其结果如图 9-图 11所示。

图 9 针对图 3(h)在滤波核为3×3、5×5、7×7,σ为0.4~0.6的高斯滤波处理后的认证结果
Fig. 9 Fig. 3(h) authentication result after the Gaussian filter with filter core of 3×3, 5×5, 7×7, and σ of 0.4~0.6 ((a) filter core of 3×3, σ=0.4;(b) filter core of 3×3, σ=0.5; (c) filter core of 3×3, σ=0.6;(d) filter core of 5×5, σ=0.4; (e) filter core of 5×5, σ=0.5; (f) filter core of 5×5, σ=0.6; (g) filter core of 7×7, σ=0.4;(h) filter core of 7×7 σ=0.5; (i) filter core of 7×7, σ=0.6)
图 10 针对图 3(h)在滤波核为3×3、5×5、7×7的均值滤波处理后的认证结果
Fig. 10 Fig. 3(h) authentication results under the mean filter processed with the filter core of 3×3, 5×5, 7×7 ((a) filter core of 3×3;(b) filter core of 5×5; (c) filter core of 7×7)
图 11 针对图 3(h)在滤波核为3×3、5×5、7×7的中值滤波处理后的认证结果
Fig. 11 Fig. 3(h) authentication result under the median filter processed with the filter core of 3×3, 5×5, 7×7 ((a) filter core of 3×3;(b) filter core of 5×5; (c) filter core of 7×7)

图 9-图 11的结果看出算法在对局部区域平滑滤波是有一定的抵抗能力的。图 9可以看出算法对高斯滤波的鲁棒性和滤波核的大小无关,但是随着σ的增大鲁棒性减弱。图 10图 11可以看出算法对均值滤波和中值滤波的鲁棒性随着滤波核的增大而减弱。

图 12显示了图 3(h)在均值、中值、高斯滤波操作下的认证图像中未通过认证块的数量,可以看出只有少量2×2图像块未通过认证,高斯滤波操作下未通过认证块的数量最少。且未通过认证块的数量随着均值滤波核和中值滤波核的增大而增加,随着高斯滤波的σ增大而增加。图 12验证了算法对均值滤波、中值滤波和高斯滤波具有鲁棒性,且对高斯滤波的鲁棒性最强。

图 12 针对图 3(h)在均值、中值、高斯滤波处理后的认证情况
Fig. 12 Fig. 3(h) authentication results after mean, median, and Gaussian filter processed

图 13显示了100幅图像在均值、中值、高斯滤波操作下,认证图像中未通过认证块数量的平均值,可以看出实验结果与图 12结果基本一致,平均未通过认证块的数量随着均值滤波核和中值滤波核的增大而增加,随着高斯滤波的σ增大而增加。

图 13 针对100幅图像在均值、中值、高斯滤波处理后的认证情况
Fig. 13 Authentication results of 100 images after mean, median, and Gaussian filter processed

2.3 算法中阈值d的取值对滤波操作鲁棒性的影响

算法中通过设置阈值d来实现对滤波等普通图像处理操作的鲁棒性。一般认为滤波等图像操作相对于恶意篡改操作,不会在很大程度上改变图像的像素值。而d的取值决定了算法能够容忍的对图像像素值的改变范围,d的取值过大则会影响算法针对恶意篡改的认证性能,d的取值过小则会影响算法针对滤波等操作的鲁棒性。为了充分分析阈值d的不同取值对算法性能的影响,实验中针对选取的100幅图像进行不同的滤波操作和恶意篡改操作,分别取d=0~10,验证认证图像中未通过认证块的数量,结果如图 14所示。图 14给出了算法中d取0~10时,100幅图像在恶意篡改(拼接篡改、剪切篡改)和平滑滤波(滤波核为3×3,5×5,7×7, 11×11的均值滤波、滤波核为3×3,5×5,7×7, 11×11的中值滤波、滤波核为3×3,5×5,7×7, 11×11且σ为0.4~0.7的高斯滤波)操作后的认证图像中未通过认证块数量的平均值。从图 14中可以看出,经过平滑滤波和恶意篡改后的图像未通过认证块的数量随着的d的取值增大而明显减小,但是恶意篡改时未通过认证图像块数量的减少幅度较小,与平滑滤波有比较明显的区别,即使d=10时,其未通过认证块的数量也在95 % 以上。这表明本文的水印算法对滤波操作具有较好的鲁棒性,对恶意篡改较为敏感。

图 14 针对100幅图像在恶意篡改和不同滤波处理后的认证结果
Fig. 14 Authentication results of 100 images after mean, median, and Gaussian filter processed

表 4给出了图 3(h)分别在不同滤波操作下图像滤波区域图像块的PSNR。其中均值滤波和中值滤波在滤波核为11×11时,滤波区域的PSNR分别为25.00 dB和22.36 dB,近似于恶意篡改,滤波后的图像如图 15所示。表 5给出了100幅图像分别在不同滤波操作下图像滤波区域图像块的平均PSNR,可以看出不同图像在经过滤波核为11×11的均值和中值滤波操作后,滤波区域的平均PSNR分别为27.99 dB和24.14 dB,都近似于恶意篡改。从图 14可以看出,d在选取合适值时,图像在滤波核为11×11的均值和中值滤波操作后的认证图像中大量的2×2图像块仍能通过认证。

表 4 针对图 3(h)在不同滤波处理后改变区域的PSNR
Table 4 PSNR of Fig. 3 (h) changed area after different filters processed  

下载CSV
/dB
滤波类型核的大小 均值滤波 中值滤波 高斯滤波σ=0.4 高斯滤波σ=0.5 高斯滤波σ=0.6 高斯滤波σ=0.7
3×3 34.29 32.17 49.06 41.70 38.50 36.96
5×5 30.86 28.50 49.06 41.68 38.35 36.64
7×7 28.41 26.33 49.06 41.68 38.35 36.64
11×11 25.00 22.36 49.06 41.68 38.35 36.64
图 15 针对图 3(h)分别在滤波核为11×11的均值和中值滤波处理后的图像
Fig. 15 Fig. 3(h) after the mean and median filter processed with the filter core of 11×11((a) mean filter, core of 11×11;(b) median filter, core of 11×11)

表 5 针对100幅图像在不同滤波处理后改变区域的平均PSNR
Table 5 Average PSNR of 100 images changed area after different filters processed  

下载CSV
/dB
滤波类型核的大小 均值滤波 中值滤波 高斯滤波σ=0.4 高斯滤波σ=0.5 高斯滤波σ=0.6 高斯滤波σ=0.7
3×3 34.80 32.17 51.20 43.17 39.81 38.10
5×5 31.71 28.50 51.20 43.13 39.65 37.75
7×7 29.41 26.88 51.20 43.13 39.65 37.75
11×11 27.99 24.14 51.20 43.13 39.65 37.75

2.4 实验对比

本节给出了本文算法与对比算法(Qian等,2011Zhang等,2011a, bZhang和Wang,2009Singh和Singh,2019Chang等,2020Gul和Ozturk,2020Kim和Yang,2021)的性能比较,结果如表 6所示。

表 6 本文方案与几种水印方案的性能比较
Table 6 Comparison between the proposed scheme and several watermarking schemes

下载CSV
方法 水印图像PSNR/dB 恢复图像PSNR/dB 恢复条件 时间复杂度
Qian等人(2011) 37.9 35.0 篡改率 < 35% O(($n$/8)2)
Zhang和Wang(2009) 37.9 37.9 篡改率 < 6.6% O(($n$/8)2)
Zhang等人(2011a) 37.9 [24, 41] 篡改率 < 60% O(($n$/8)2)
Zhang等人(2011b) 37.9 [22, 38] 篡改率 < 54% O(($n$/8)2)
Singh和Singh(2019) 39.0 [28.7, 39.1] 篡改率≤50% O(($n$/2)2)
Chang等人(2020) 49.77 [29.3, 41.3] 篡改率≤50% O(($n$/4)2)
Gul和Ozturk (2020) 44.14 [30, 49] 篡改率 < 75% O(($n$/16)2)
Kim和Yang (2021) 40.0 [36.6, 40.0] 篡改率≤45% O(($n$/4)2)
本文 44.12 [32.7, 41.8] 篡改率≤50% O(($n$/4)2)
注:[]里内容为图像在篡改率为5 %和算法可接受最大篡改率下恢复图像的PSNR。

Qian等人(2011)算法对于篡改率小于35 % 的图像恢复质量最高可为35.0 dB;Zhang和Wang (2009)算法对于篡改率小于6.6 % 的图像恢复质量最高可为37.9 dB;Kim和Yang(2021)算法对于篡改率在5 %和45 % 时的图像恢复质量分别为40.0 dB和36.6 dB,这3种算法在篡改率为50 % 时无法恢复图像。而本文算法可在篡改率5 %和50 % 时进行图像恢复,图像恢复质量分别为32.7 dB和41.8 dB,Singh和Singh(2019)的算法以及Chang等人(2020)算法的恢复条件与本文算法一样,在篡改率为5 % 时图像恢复质量分别为28.7 dB和39.1 dB,在篡改率为50 % 时图像恢复质量分别为29.3 dB和41.3 dB,相较而言本文算法的恢复效果较好。而Zhang等人(2011a)算法、Zhang等人(2011b)算法以及Gul和Ozturk(2020)算法的恢复条件比本文算法更好,最高可接受篡改率分别为60 %、54 %和75 %,但是本文方案在水印图像的质量方面更具优势,水印图像的质量为44.23 dB,Zhang等人(2011a)算法、Zhang等人(2011b)算法以及Gul和Ozturk(2020)算法的水印图像质量分别为37.9 dB、37.9 dB和44.14 dB。算法的时间复杂度方面,Gul和Ozturk(2020)算法的时间复杂度为O(($n$/16)2),Singh和Singh(2019)算法的时间复杂度为O(($n$/2)2),Qian等人(2011)的算法、Zhang等人(2011ab)的算法以及Zhang和Wang(2009)的算法的时间复杂度为O(($n$/8)2),而Chang等人(2020)算法和本文算法的时间复杂度为O(($n$/4)2)。

综上可以看出,本文算法与对比算法(Qian等,2011Zhang等,2011a, bZhang和Wang,2009Singh和Singh,2019Chang等,2020Gul和Ozturk,2020Kim和Yang,2021)相比在水印图像视觉质量、篡改认证恢复等方面各具优势,相关性能方面甚至高于这些算法。

3 结论

本文提出了一种基于块截断编码的自嵌入半脆弱水印算法。算法利用块截断编码对图像内容进行压缩,有效降低了水印的长度,提升了图像的视觉质量;基于对块截断编码量化值阈值的设置,保持了算法对图像平滑处理操作的鲁棒性和恶意篡改的敏感性。本文算法在对图像局部的平滑滤波处理具有鲁棒性的同时保持了算法的认证粒度,认证粒度为2×2,而现有的半脆弱水印算法的认证粒度一般为8×8级的,甚至有些算法的认证粒度为16×16级。本文算法在认证粒度上更具优势。

本文算法考虑到图像的篡改往往是区域性的,所以按一定规则的方式来嵌入水印,但不适用于随机篡改。在今后的工作中要设计不同的嵌入方式来应对不同方式的篡改。

参考文献

  • Al-Otum H A M and Alansari A W. 2019. Image watermarking for tamper detection and content recovery applications based on a preservative Bi-level moment approach with shuffling//Proceedings of the 5th International Conference on Computer and Technology Applications. Istanbul, Turkey: ACM: 25-29 [DOI: 10.1145/3323933.3324078]
  • Ansari I A, Pant M, Ahn C W. 2016. SVD based fragile watermarking scheme for tamper localization and self-recovery. International Journal of Machine Learning and Cybernetics, 7(6): 1225-1239 [DOI:10.1007/s13042-015-0455-1]
  • Chang C C, Lin C C, Su G D. 2020. An effective image self-recovery based fragile watermarking using self-adaptive weight-based compressed AMBTC. Multimedia Tools and Applications, 79(33): 24795-24824 [DOI:10.1007/s11042-020-09132-w]
  • Chen F, He H J, Huo Y R. 2017. Self-embedding watermarking scheme against JPEG compression with superior imperceptibility. Multimedia Tools and Applications, 76(7): 9681-9712 [DOI:10.1007/s11042-016-3574-0]
  • Delp E, Mitchell O. 1979. Image compression using block truncation coding. IEEE Transactions on Communications, 27(9): 1335-1342 [DOI:10.1109/TCOM.1979.1094560]
  • Egorova A and Fedoseev V. 2020. An ROI-based watermarking technique for image content recovery robust against JPEG//Proceedings of 2020 International Conference on Information Technology and Nanotechnology. Samara, Russia: IEEE: 1-6 [DOI: 10.1109/ITNT49337.2020.9253189]
  • Enugula S, Srujana V, Nasani K, Shruthi G, Vikram V. 2020. Image security using self embedding fragile watermarking method. International Research Journal on Advanced Science Hub, 2(6): 65-71 [DOI:10.47392/irjash.2020.38]
  • Gul E, Ozturk S. 2020. A novel triple recovery information embedding approach for self-embedded digital image watermarking. Multimedia Tools and Applications, 79(41): 31239-31264 [DOI:10.1007/s11042-020-09548-4]
  • Hemida O, He H J. 2020. A self-recovery watermarking scheme based on block truncation coding and quantum chaos map. Multimedia Tools and Applications, 79(25): 18695-18725 [DOI:10.1007/s11042-020-08727-7]
  • Kim C, Yang C N. 2021. Self-embedding fragile watermarking scheme to detect image tampering using AMBTC and OPAP approaches. Applied Sciences, 11(3): #1146 [DOI:10.3390/app11031146]
  • Li C L, Zhang A H, Liu Z F, Liao L, Huang D. 2015. Semi-fragile self-recoverable watermarking algorithm based on wavelet group quantization and double authentication. Multimedia Tools and Applications, 74(23): 10581-10604 [DOI:10.1007/s11042-014-2188-7]
  • Lin P L, Hsieh C K, Huang P W. 2005. A hierarchical digital watermarking method for image tamper detection and recovery. Pattern Recognition, 38(12): 2519-2529 [DOI:10.1016/j.patcog.2005.02.007]
  • Qian Z X, Feng G R, Zhang X P, Wang S Z. 2011. Image self-embedding with high-quality restoration capability. Digital Signal Processing, 21(2): 278-286 [DOI:10.1016/j.dsp.2010.04.006]
  • Rakhmawati L, Wirawan and Suwadi. 2018. Image fragile watermarking with two authentication components for tamper detection and recovery//Proceedings of 2018 International Conference on Intelligent Autonomous Systems. Singapore, Singapore: IEEE: 35-38 [DOI: 10.1109/ICoIAS.2018.8494080]
  • Rhayma H, Makhloufi A, Hamam H, Hamida A B. 2019. Semi-fragile self-recovery watermarking scheme based on data representation through combination. Multimedia Tools and Applications, 78(10): 14067-14089 [DOI:10.1007/s11042-019-7244-x]
  • Singh D, Singh S K. 2016. Effective self-embedding watermarking scheme for image tampered detection and localization with recovery capability. Journal of Visual Communication and Image Representation, 38: 775-789 [DOI:10.1016/j.jvcir.2016.04.023]
  • Singh D, Singh S K. 2019. Block truncation coding based effective watermarking scheme for image authentication with recovery capability. Multimedia Tools and Applications, 78(4): 4197-4215 [DOI:10.1007/s11042-017-5454-7]
  • Tong X J, Liu Y, Zhang M, Chen Y. 2013. A novel chaos-based fragile watermarking for image tampering detection and self-recovery. Signal Processing: Image Communication, 28(3): 301-308 [DOI:10.1016/j.image.2012.12.003]
  • Yang S S, Qin C, Xu B Q. 2015. Fragile watermarking based on secure embedding for hierarchical tampering detection and content recovery. Application Research of Computers, 32(2): 507-511 (杨杉杉, 秦川, 徐伯庆. 2015. 一种基于安全隐藏的图像分层窜改检测和内容恢复算法. 计算机应用研究, 32(2): 507-511) [DOI:10.3969/j.issn.1001-3695.2015.02.041]
  • Zhang X P, Qian Z X, Ren Y L, Feng G R. 2011a. Watermarking with flexible self-recovery quality based on compressive sensing and compositive reconstruction. IEEE Transactions on Information Forensics and Security, 6(4): 1223-1232 [DOI:10.1109/TIFS.2011.2159208]
  • Zhang X P, Wang S Z. 2009. Fragile watermarking scheme using a hierarchical mechanism. Signal Processing, 89(4): 675-679 [DOI:10.1016/j.sigpro.2008.10.001]
  • Zhang X P, Wang S Z, Qian Z X, Feng G R. 2011b. Self-embedding watermark with flexible restoration quality. Multimedia Tools and Applications, 54(2): 385-395 [DOI:10.1007/s11042-010-0541-z]
  • Zhao X H, Zhang X P. 2013. Recoverable combining DCT and VQ encoding fragile watermarking algorithm. Science Technology and Engineering, 13(17): 5004-5009 (赵新辉, 张晓培. 2013. 结合DCT和VQ编码的可恢复脆弱水印算法. 科学技术与工程, 13(11): 5004-5009) [DOI:10.3969/j.issn.1671-1815.2013.17.047]