基于DCT—DWT—SVD的彩色图像安全存储方案
2017-06-03李延哲梁仁鹏张紫砚崔杰
李延哲+梁仁鹏+张紫砚+崔杰
摘 要:针对目前数字水印技术中图像作为存储载体时不足以支撑大量数据安全存储的问题,基于DCT-DWT-SVD视频水印算法思路,文中提出一种彩色图像的安全存储方案,利用视频作为存储载体,选取原始视频关键帧,采用离散小波变换和离散余弦变换对关键帧的B分量进行多次变换,将变换后的子带进行Arnold置乱,将同样经过多次变换处理的图像嵌入置乱后的子带中,再通过奇异值重构、逆变换、反置乱等方法,得到包含彩色图像的视频。提取图像时,非完全对称的过程被采用。实验结果表明,文中算法对常规的图像处理攻击,如噪声、滤波、剪裁、亮度变化、缩放、JPEG压缩以及帧攻击等均具有很强的鲁棒性,满足对图片的存储和提取要求,可实现彩色图像的安全存储。
关键词:彩色图像;视频载体;安全存储;关键帧;颜色通道
中图分类号:TP391 文献标识码:A 文章编号:2095-1302(2017)05-00-04
0 引 言
随着网络新一代的革新,图片作为一种信息载体,在人们日常的通讯交流中占据着日益重要的地位。然而,对应数据安全技术的发展却不尽人意,特别是在个人和企业的图片信息保护方面存在诸多不足。为此,相关学者在该领域展开了多方面的研究。
文献[1]提出了一种新颖的基于离散小波变换(DWT)的数字水印技术用于版权保护。可见与不可见的水印方法被用于提升图像的安全性,但这种方法无法用于视频载体。文献[2]提出将水印嵌入到视频帧的每一个分量中,但该算法不能有效抵抗高斯滤波和中值滤波的攻击。文献[3]提出了一种安全的变容量恢复水印方案,该方案可有效恢复水印,但无法抵挡随机噪声攻击、JPEG压缩和其他常规攻击。文献[4]提出了一种基于灰色关联分析的算法,用灰色关联分析来选择载体的存储区域,信息被隐藏在低频系数分段中。这个算法的优势能保证原始视频的信息不被修改,但算法复杂度相对较高。
文献[5]提出了一种基于小波变换的音频信息隐藏算法。通过调节语音段小波变换的中高频系数改变每级小波变换高频系数前后两部分的能量状态来隐藏二进制机密信息。该算法具有良好的隐蔽性和鲁棒性,然而音频载体的隐藏容量不大,但对本文选择视频载体进行信息存储提供了思路。文献[6]提出了一种基于果蝇优化算法的数字水印算法,用于平衡水印的透明性和鲁棒性,同时利用二维离散小波变换和Arnold变换实现图像版权的保护。该算法具有较好的透明性和鲁棒性,在对抗旋转和剪切等几何攻击上有很好的效果。文献[7]提出了一种基于原始视频的鲁棒性盲提取水印算法。该算法结合人类视觉系统的掩蔽特性以及离散余弦变换,将置乱后的水印信息嵌入到宿主视频帧绿色分量的DCT变换低频系数中。实验数据表明该鲁棒性视频水印算法具有优良的不可见性,对不同强度的高斯、帧剪切、椒盐、压缩等攻击具有很强的鲁棒性。
文献[8]提出了一种基于DCT变换的数字水印算法,通过他们提到的加密公式将彩色图像转化为灰度图像。水印通过混沌加密算法加密后嵌入灰度图像。将灰度图像变换为彩色图像后即可提取出水印图像。尽管该算法的隐藏过程令人满意,但提取过程是完全对称的,降低了水印嵌入的安全性。
在对以上文献中的机制和算法进行学习和研究后,本文提出了一種基于视频载体的彩色图像存储方案,结合二维离散小波变换、离散余弦变换、Arnold变换和奇异值分解等技术,将图像信息进行预处理,通过存储公式或提取公式得到所需奇异值矩阵,再运用一系列逆变换手段还原出含彩色图像的视频或完整的彩色图像,实现彩色图像的安全存取。
1 预备知识
1.1 关键帧的选择
由于视频存储信息量大,连续帧序列间存在大量冗余信息,本文使用视频关键帧对图像进行嵌入。根据HVS(人类视觉系统)显示,人眼对蓝色通道的识别最不敏感,本文决定将彩色图像嵌入到关键帧的B分量中,且不会影响R和G分量中的信息。传统选择关键帧的方法计算复杂度较高,因此提出一种简单的关键帧快速选取方法,详细步骤如下:
(1)计算R、G分量差值的绝对值之和,记为SK。SK的定义见公式(1):
(1)
这里K是帧图像编号,RK(x,y,1)和RK(x,y,2)表示第K帧图像分别在R,G分量(x,y)处的像素值。
(2)选择最大的20个SK值作为关键帧,将关键帧编号和位置信息存储在变量key中。
1.2 离散小波变换
离散小波变换(DWT)常用于图像的层次分解。如果单一的离散小波变换应用于二维图像信号,图像将被分解成四个部分。有一个低频区(LL)和三个高频区(LH,HL和HH)。LL子带作为下一次变换的输入,经2-DWT之后的二维图像如图1所示。
经离散小波变换后,原始图像的大部分信息存储在低频系数中。通过在该部分中嵌入水印可以获得更好的鲁棒性。如果水印嵌入在高频系数部分中,则在JPEG压缩攻击下更容易丢失。
DWT需要能够完整表达分析信号的全部信息,因此将数学上的框架理论作为支持,如果对于所有的待分析信号满足框架条件,那么DWT就是可逆的,如公式(2):
(2)
1.3 Arnold变换
Arnold变换可以在多次迭代后改变图像中每个像素的位置,具有良好的周期性和分散性[9],经过多次迭代后的图像仍然可以恢复,因此它被广泛应用于数字图像置乱。
对于一个大小为n×n的图像,其二维Arnold变换定义如公式(3):
(3)
其中,(x,y)表示原始图像矩阵中像素的坐标,而(x',y')表示变换后的图像矩阵中像素的坐标。
若图像经Arnold变换后变得杂乱无章且无法识别,就达到了图像置换的目的。如果不知道迭代次数,则很难得到原始图像。可以从图2看到一组图像在Arnold变换之前和之后的变化。
(a)原始图像(b)经Arnold变换后
1.4 离散余弦变换
离散余弦变换(DCT)因其较低的计算复杂度和高压缩比常被用于图像压缩[10]。在DCT中,图像通常被分成若干个8×8的子块,对于每个子块,一维DCT正交变换公式如公式(4):
(4)
二维DCT逆变换公式如公式(5):
(5)
公式(2)、(3)中函数C(x)如公式(6)所示:
(6)
离散余弦变换过程如图3所示。
本文选择将图片嵌入到中频区域,理由如下:
(1)高频区域的鲁棒性远远不能满足信息存储的要求,由于信息在高频区域存储,在遭到攻击时很可能会完全损毁;
(2)大多数图像的轮廓信息存储在低频区域,如果再将图片嵌入到低频区域,则像素值的修改将使原始图片难以维持原状。
1.5 奇异值分解
奇异值分解(SVD)[11]作为矩阵分解的一种方法,在图像压縮中有着广泛的应用。从线性代数的角度可以将一副图像视为一个非负矩阵。大小为m×n的矩阵A的奇异值分解如公式(7):
(7)
此处公式中的USVT不是一个符号,它表示U·S·VT。U、S、VT分别为公式(7)第二行中的矩阵。矩阵U的列称为左奇异值向量,矩阵V的列称为右奇异值向量,矩阵对角线中的元素称为奇异值。
SVD经常用于数字图像处理主要有两个原因:
(1)图像的奇异值是稳定的。当图像受到轻微扰动时不会发生太大变化。
(2)通过奇异值重构图像很方便。这是因为如果忽略一些小的奇异值,重构图像的整体质量几乎不受影响。
1.6 评价标准
1.6.1 归一化系数
本文使用归一化系数(NC值)值来测试算法的隐藏质量,NC值可以体现原始图像和变换图像之间的相似性。NC值最大为1,此时说明这两个图像相同。NC定义如公式(8):
(8)
其中,W表示原始图像,W'表示变换后的图像。
1.6.2 峰值信噪比
视频压缩后,输出的视频与原始视频有轻微不同很正常。为了测试最终的视频质量,峰值信噪比(PSNR)是通常考虑的指标之一。PSNR定义如公式(9):
(9)
其中,MSE指均方误差,In为原始视频的第n个像素值,而Pn指经处理后的影像的第n个像素值。峰值指8-bits表示法的最大值255。PSNR通常以对数单位来表示,其值越大,代表失真越少。
2 方案设计与实现
2.1 存储过程
2.1.1 对视频载体的预处理
对原始视频进行分帧和关键帧的处理,得到视频关键帧的蓝色分量图;对B分量进行第一次DWT变换,对子带LL1进行第二次DWT变换,对子带LH2进行Arnold置乱,迭代次数存放在变量key中,对置乱后的子带进行第三次DWT变换,对子带HH3进行第四次DWT变换,对第四次DWT变换后的各子带进行DCT变换和奇异值分解,得到各子带的奇异值矩阵Sa1、Sh1、Sv1、Sd1和对应的U、V矩阵的值。
2.1.2 对彩色图像的预处理
通过对颜色通道的分离,得到R、G、B通道分量图。分别对这三个通道分量图进行Arnold置乱,将置乱后的结果进行DCT和DWT变换,再将各子带进行奇异值分解,得到各子带的奇异值矩阵Swa1、Swh1、Swv1、Swd1和对应的Uw、Vw矩阵的值。
2.1.3 彩色图像存储
在该部分,彩色图像的奇异值必须按照公式(10)与关键帧的奇异值相加:
(10)
其中,Sk代表Sa1、Sh1、Sv1、Sd1的奇异值矩阵,Swk代表Swa1、Swh1、Swv1、Swd1的奇异值矩阵,ak表示不同子带的嵌入强度。对新的奇异值矩阵进行奇异值重构,得到含有彩色图像的子带。通过2-DWT逆变换和DCT逆变换得到LH2';对LH2'进行Arnold反置乱和2-IDCT,得到含有彩色图像的视频帧,最后通过帧重构得到完整的视频。
2.2 提取过程
提取算法无需原始视频,只需用含彩色图像视频的G分量代替原始视频B分量,并将其作为彩色图像提取时的原始数据即可。
2.2.1 对视频载体的预处理
对待测视频进行分帧处理和关键帧的选取,找到与变量key中保存的帧编号位置相同的关键帧并进行彩色图像的提取。为减少G分量受噪声影响,对G通道分量图进行高斯滤波处理。对G、B通道分量图进行2-DWT变换,对LH2子带进行Arnold置乱,对LH2'进行2-DWT变换,再对各子带进行DCT变换和奇异值分解,得到奇异值矩阵Sn'k和Sg'k。
2.2.2 彩色图像的提取
在这部分中,彩色图像的奇异值必须按照公式(11)提取:
(11)
其中,Sw'k表示彩色图像的奇异值矩阵。通过奇异值重构和反置乱得到完整的彩色图像。
3 测试与分析
选择格式为AVI的非压缩视频序列,foreman和football作为测试视频。两个视频的帧速率均为25 f/s,帧的数量分别为100帧和173帧。这些视频帧的大小均为512×512,嵌入的彩色图像的大小为64×64。
3.1 不可见性测试
图像嵌入的关键帧分别从foreman和football中选择。 然后分别计算这些图像的平均峰值信噪比。
不可见性测试结果如图4所示。foreman和football都用作测试载体。表1列举了从测试载体中测得的PSNR值。
在算法对比中,本文的算法和算法[13]的测试条件相同。帧速率均为25 f/s,视频帧的大小为352×288。此外,foreman关键帧的平均峰值信噪比为50.17 dB,而football的另一平均峰值信噪比为50.66 dB,显示出良好的不可见性。
(a)嵌入前foreman的第56帧 (b)嵌入后foreman的第56帧
(c)嵌入前football的第22帧 (d)嵌入后football的第22帧
从表1中可以看出,本文算法可以确保在一般攻击下图像的不可见性。
3.2 鲁棒性测试
3.2.1 一般攻击下的鲁棒性测试
一般攻击下的鲁棒性测试结果见表2所列。
3.2.2 帧攻击下的鲁棒性测试
分别从foreman和football提取一帧后,对这两个帧进行了一系列攻击。帧攻击测试结果如图5所示。结果表明本文方案在抵抗帧攻击时具有出色的鲁棒性。
3.3 存储质量测试
不同格式的图像对比测试结果如图6所示。
通过测试不同格式的图像可以发现,原始图像和提取图像之间几乎没有差异,表明本文算法的图像存储过程较稳定。
4 结 语
为提升彩色图像安全存储的质量,本文的方案采用了DWT、DCT、SVD多种技术支持,多次变换和非完全对称的“存储-提取”过程。由实验结果中的各项指标可看出,本文的方案在不可见性、存储容量和鲁棒性方面均实现了良好效果,但整体上仍有不足,如在方案的预处理过程中,彩色图像的大小必须通过人工调整,因此接下来工作室将构造一个自适应图像调整算法,使本方案能够更加高效的完成图像存储。
参考文献
[1] Ghosh P, Ghosh R, Sinha S, et al.A Novel Digital Watermarking Technique for Video Copyright Protection[M].Computer Science and Information Technology, 2012:601-609.
[2]熊祥光,王力,王端理.基于提升小波變换和DCT的彩色视频水印算法[J].计算机应用研究, 2013, 30(4): 1191-1193.
[3]石慧,李明楚.安全的变容量恢复水印方案[J].计算机研究与发展,2014,51(8): 1715-1726.
[4]张英男,张敏情,钮可.基于灰色关联分析的H.264/AVC 视频隐写算法[J].武汉大学学报(理学版),2014(6):524-530.
[5]吴秋玲,吴蒙.基于小波变换的语音信息隐藏新方法[J].电子与信息学报,2016, 38(4):834-840.
[6]肖振久,孙健,王永滨,等.基于果蝇优化算法的小波域数字水印算法[J].计算机应用, 2015,35(9):2527-2530.
[7]刘珊.基于 DCT 域的多重视频水印算法研究[D].赣州:江西理工大学, 2015.
[8]王方.基于 DCT 变换的彩色图像水印算法研究[D].武汉:武汉理工大学, 2008.
[9]吴玲玲,张建伟,葛琪.Arnold 变换及其逆变换[J].安微计算机信息, 2010,26(14): 206-208.
[10] Lin S D, Shie S C, Guo J Y.Improving the robustness of DCT-based image watermarking against JPEG compression[J].Computer Standards & Interfaces, 2010, 32(1):54-60.
[11] Ghazy R A, El-Fishawy N A, Hadhoud M M, et al.Performance Evaluation of Block Based Svd Image Watermarking[J].Progress In Electromagnetics Research B, 2008, 8(8): 147-159.
[12]熊祥光,蒋天发,蒋巍.基于整数小波变换和 SVD 的视频水印算法[J].计算机工程与应用, 2014,50(1):78-82.
[13]毛运柳, 黄东军.基于 SURF 视频分割的视频水印算法[J].计算机工程, 2010, 36(19): 241-243.
[14]李淑芝,晏啟明.基于运动目标子块分割的视频零水印算法[J].计算机应用与软件, 2015, 32(4): 191-194.
[15] Chimanna M A, Khot S R.Robustness of video watermarking against various attacks using Wavelet Transform techniques and Principle Component Analysis[C].Information Communication and Embedded Systems (ICICES), 2013 International Conference on.IEEE, 2013: 613-618.