文献标识码: A
DOI:10.16157/j.issn.0258-7998.2015.10.031
中文引用格式: 吴开诚. 基于IWT和最低有效位替换的视频隐写算法[J].电子技术应用,2015,41(10):115-118,122.
英文引用格式: Wu Kaicheng. A video steganography algorithm based on IWT and least significant bit replacement[J].Application of Electronic Technique,2015,41(10):115-118,122.
0 引言
当今社会信息通信交流频繁,非常需要一种新方法保护机密数据以避免数据被非法使用。实现通信加密的方法有密码学[1]和隐写术[2]两类。在密码学中,发送者利用一个机密密钥将信息打乱,预定的接收者利用适当的解密密钥从杂乱的信息中提取出初始数据[3,4]。但是在隐写术中并没有将信息打乱,而是将存在的信息隐藏在载体中,这样的载体通常称为覆盖媒介,含有隐藏信息的载体称为隐写媒介[5]。隐写术在任何媒介上进行隐写的主要目标是在数据隐藏完成后,从媒介上察觉不出加密数据的存在。
已有很多学者对隐写系统进行研究,包括隐写、提取和甄别等。例如,文献[6]提出一种灰度关联分析的视频隐写算法(Gray Relational Analysis Video Steganographic,GRAVS),针对H.264/AVC编码,该算法对原始载体关联度计算,判断其是否为非平滑块,再对帧做离散余弦变换,在DCT块的低频区域进行嵌入,具有码率影响小和容量大的优点,但鲁棒性并不好,而且提取秘密信息的相似度较低,仅为79%。
文献[7](Adjacent Pixel Difference Video Steganographic,APDVS)启发于所有相邻像素的直方图含有大量相等值的像素,因此采用直方图转移,多层嵌入增强隐藏能力,将隐藏数据嵌入到转换系数中。虽然这种算法提供了更大的嵌入容量和更高的安全性,使窃听者不能获取真实的数据。但主要缺点是系统的鲁棒性不强,如某些滤波攻击会使嵌入的数据难以被完整正确提取出来。
文献[8](Video Steganographic on Wavelet Transform and Genetic,WTGVS)在离散小波变换的隐写算法基础上结合了遗传算法,遗传算法的功能是优化调整像素,获得最佳映射功能,减少图像之间的误差。这种频域的算法虽然提高了隐藏容量,降低了失真,但依然存在鲁棒性差的问题。
综上,空域隐写算法大都具有开销较大,安全性略低的缺点,虽然现有的频域隐写算法[6-8]具有更好的安全性和低失真性,但是鲁棒性没有很好地解决。本文的目的就是解决隐写的安全性和鲁棒性。由于小波变换域为系数数据隐藏提供了较好的鲁棒性[9,10],Haar 整数小波的显著特性包括传输图像的完美重建以及非常好的关联属性,因此,本文算法使用了IWT。
1 整数小波变换
Haar通过扩张和转移过程对小波进行变换,根据式(1)利用基小波构建小波:
式中,a、b分别为缩放和转移参数。Haar小波通过计算相邻元素的和与差对输入数据进行操作。人的视觉系统(Human Visual System,HVS)对LL子带中隐藏数据非常敏感,一般情况下将数据隐藏在一些HVS不敏感的区域中,比如高分辨率子带LH、HL和HH。数据隐藏在这些小波子带中不仅不会降低视频的质量,而且能提高系统的鲁棒性。一般情况下,IWT系数是整数,通过式(2)获得:
式中,d、s分别表示输入信号的高频和低频部分,s和d的长度为2n-1。通常变换结果生成两个值,即平均值和偏差(系数)。例如,输入信号序列x=(1,2,3,4,5,6,7,
8)可以利用提升预测进行计算,即利用式(3)和式(4)获取一维IWT分解结果。首先将信号x分解为偶数样本和奇数样本:
然后,利用式(3)和式(4)计算IWT分解系数:
D1={d1,d2,d3,d4}={-2,-2,-2,3}(5)
S1={s1,s2,s3,s4}={2,3,5,8}(6)
由于Haar变化具有非常好的关联性和编码属性,非常适用于视频隐写。
2 提出的视频隐写算法
本文提出的视频隐写算法主要目的是增强加密通信的安全性和鲁棒性,利用IWT和覆盖视频的红绿蓝(RGB)三原色对系数数据进行隐藏。
图1为算法流程图,图2为视频隐写算法中数据嵌入和提取过程的详细框图。二值形式的加密数据隐藏在覆盖视频序列每个RGB三原色中的LSB中,RGB三原色高度相关。利用RGB三原色的属性可以确保本文提出算法的鲁棒性。在覆盖视频的RGB图像帧上进行一维Haar IWT,加密数据被嵌入到视频帧内每个RGB组成的LSB中,在结果视频帧上进行逆IWT(IIWT)可以获取隐写视频。为了避免上溢出/下溢出的情况发生,可以对覆盖视频中一些像素块的IWT系数进行修改,即需要对视频帧进行归一化,这样一些像素值就不会超出上界(对于8位视频图像是255)和下界(对于8位视频图像是0)。
2.1 嵌入算法
图3给出了嵌入算法的框图,具体步骤如下:
步骤1:输入覆盖视频;
步骤2:将覆盖视频分解为RGB三原色;
步骤3:对覆盖视频帧进行归一化,防止上溢出/下溢出;
步骤4:将视频帧划分为8×8的小块;
步骤5:利用1D Haar IWT获取视频帧的小波系数;
步骤6:读取将要嵌入的文本数据,将文本转为为比特;
步骤7:在每个视频帧的RGB三原色上利用LSB替换技术将加密数据位嵌入到获取的系数中;
步骤8:计算RGB帧上的逆Haar IWT以获取隐写视频序列。
2.2 提取算法
图4给出了提取算法的框图,具体步骤如下:
步骤1:输入隐写视频;
步骤2:将隐写视频分解为RGB三原色;
步骤3:对视频帧进行归一化,避免上溢出/下溢出;
步骤4:将视频帧划分为8×8的小块;
步骤5:利用1D Haar IWT获取视频帧的小波系数;
步骤6:在每个视频帧的RGB三原色上利用LSB替换技术识别含有隐藏数据位的位,并从系数中提取加密数据位;
步骤7:将检索数据位转换为文本;
步骤8:在RGB图像帧上计算逆Haar IWT以获取视频序列。
3 实验结果和分析
本节对视频隐写算法性能和鲁棒性进行讨论。所有实验均在PC机上完成,配置为酷睿双核处理器、1.7 GHz主频、2 GB内存,编程环境为MATLAB7.0,采用AVI视频文件对本文进行测试。
3.1 隐写后视频大小分析
测试视频中隐藏了加密数据,利用测试视频大小的变化对算法的性能进行分析。表1给出了本视频隐写算法在AVI文件上的测试结果。利用本算法将加密数据嵌入到相应的覆盖视频中后,AVI视频的大小并没有显著发生变化。视频的大小在嵌入数据前后都基本相同的,因此将数据隐藏在视频的IWT系数中并没有改变测试视频文件的大小。
3.2 隐写后直方图与累计直方图分析
利用统计量度测量含有隐藏数据的视频中发生的微小变化,常用的统计量度有均值和方差。利用图5中显示的直方图可以观察到小幅的畸变,所用视频为matl.avi。该图表明了覆盖视频和隐写视频图像间统计值的变化。可以看出两幅视频图像的统计值发生了小幅的变化,但是这个变化并没有影响累积直方图,因此维持了结果视频较好的质量,利用本文算法可以清晰地看出覆盖视频中发生的人眼难以察觉的变化。
为了更好地比较与其他优秀算法的效果,以直方图均值和方差为统计度量,其均值和方差定义如式(7)和式(8),bins(i)代表第i个条块的高度。表2是隐写前后的方差与均值结果。
由表2可以看出,与其他优秀算法相比,本文算法最接近于隐写前的直方图,由于累计直方图基本都没有改变,故不做比较。覆盖视频和隐写视频直方图结果的差异充分证明了本文算法的有效性。
图6(c)给出了数据隐藏后的隐写视频(matl-steg.avi)结果帧。可以看出初始覆盖视频(matl.avi)和进行文本隐藏的视频帧(matl-steg.avi)几乎相同。HVS很难注意到发生了显著的差异,图6(d)给出了覆盖视频c2-buzz.avi,图6(e)显示了将要隐藏到c2中的加密数据data2.txt,图6(f)给出了c2隐藏data2.txt后的隐写视频结果。
3.3 攻击前后的鲁棒性分析
若隐写后的视频在网络传输过程中受到攻击,如滤波攻击或噪声影响[11,12],接收者收到的数据与原始数据严重不匹配或错误,隐写算法将失效。因此,对攻击的鲁棒性非常重要。所用度量为峰值信噪比(Peak Signal To Noise Ratio,PSNR)、攻击前的相似度(Similarity Pre-attack,SP)和攻击后相似度(Similarity Aft-attack,SA)。
PSNR在本文算法中的定义如式(9),像素匹配用公式(10),SP的定义如式(11),SA的定义如式(12)。
这部分实验的视频为buzz.avi,表3为各算法在隐写后的亮度分量PSNR的比较,可以看出本文算法的亮度分量的PSNR下降的最小,只有1.2 dB。表4为攻击前的相似度,本文为100%,Athena也达到了100%,GRAVS最低。即接收者在没有任何其他因素影响下,通过本文算法隐写的视频可以完整地提取隐藏数据。表5为滤波攻击后的相似度,本文采用文献[8]的滤波攻击。从表5可以看出,本文算法攻击后依然可以提取91%的隐藏信息,鲁棒性最好。
4 结论与展望
本文提出了一种基于整数小波变换(IWT)和最低有效位(LSB)替换的视频隐写算法,将加密数据嵌入到覆盖视频RGB三原色的IWT系数中,整个算法过程的计算复杂度很低,算法容易实现。测试结果显示,本文算法在提供较好安全性的同时并没有引起视频的畸变,能提取100%的隐写数据文本,且没有损失源视频文件的质量和大小,即使在受到攻击后依然可以获得高比例的隐藏信息。
未来研究方向包括同时隐藏多个数据,以及不影响视频文件质量的情况下,在不同类型的视频文件上隐藏不同类型的加密数据。此外,对需要嵌入的数据和密钥进行加密,进一步增强算法的安全性。
参考文献
[1] SCHNEIER B,吴世忠.应用密码学[M].北京:机械工业出版社,2000.
[2] 叶惠.基于运动矢量的视频隐写分析方法研究[D].合肥:中国科学技术大学,2014.
[3] 陈嘉勇,祝跃飞,张卫明,等.对随机LSB隐写术的选择密钥提取攻击[J].通信学报,2010,17(5):73-80.
[4] HSU Y C,CHENG B C,CHEN H,et al.Athena:capacity enhancement of reversible data hiding with consideration of the adaptive embedding level[J].Journal of Visual Languages & Computing,2014,25(6):782-790.
[5] 陈嘉勇.基于隐写术的隐蔽保密通信理论与方法研究[D].郑州:解放军信息工程大学,2012.
[6] 张英男,张敏情,钮可.基于灰色关联分析的H.264/AVC视频隐写算法[J].武汉大学学报(理学版),2014,28(6): 524-530.
[7] ZENG X,PING L,LI Z.Lossless data hiding scheme using adjacent pixel difference based on scan path[J].Journal of Multimedia,2009,4(3):145-152.
[8] GHASEMI E,SHANBEHZADEH J,FASSIHI N.High capacity image steganography using wavelet transform and genetic algorithm[C].Proceedings of international multicon-ference of engineers and computer scientists.2011,31(1):16-18.
[9] 王朔中,张新鹏,张卫明.以数字图像为载体的隐写分析研究进展[J].计算机学报,2009,32(7):1247-1263.
[10] SHAHADI H I,JIDIN R,WAY W H.Lossless audio steganography based on lifting wavelet transform and Stego Key[J].Indian Journal of Science and Technology,2014,7(3):323-34.
[11] 王丽云.抗几何攻击的视频水印算法研究[D].武汉:华中科技大学,2011.
[12] 王津申,戴跃伟,王执铨.对QIM水印滤波攻击的估计[J].通信学报,2007,28(6):90-95.