APP下载

基于预测误差变化的视频隐写分析技术研究

2017-09-08马雨田陈丹

河南科技 2017年15期
关键词:矢量误差多媒体

马雨田 陈丹

(南京航空航天大学,江苏 南京 210016)

基于预测误差变化的视频隐写分析技术研究

马雨田 陈丹

(南京航空航天大学,江苏 南京 210016)

将机密信息秘密地隐藏在多媒体数据之中,使发送方和接收方之间能够隐秘地进行通信,但是不会过多影响多媒体数据的质量,如音质和画质,从而将载密的多媒体数据混杂在正常的多媒体数据之间,使攻击者不能发觉到通信的存在。基于预测误差变化的隐写分析就是尽可能地从众多多媒体数据中探查出经过了隐写术处理的载密数据,截取或破坏隐秘通信双方之间传递的信息。

隐写分析;运动矢量;预测误差;特征提取

近年来,信息隐藏技术快速发展,不但成为了密码技术应用的新领域,被应用于许多领域,而且成为保护知识产权的数字化产品的有力手段。将一些隐藏信息附加到多媒体数据之中进行隐蔽的消息传递,可使用的载体有图片GIF文件、音频MP3文件、视频YUV文件等,通过使用信息隐藏技术可以在公开信道中完成机密信息的传输,使攻击者难以在海量的数据中分析出哪一个可能有问题,这样自然也就没办法拦截到秘密信息,更无从提起解密其中的信息了,这就保障了秘密信息的安全,并且不会对载体的感官效果造成过多影响。作为攻击隐写术的方法,隐写分析技术力图从海量多媒体数据中快速找出有嵌入可能的数据文件的存在[1],一旦检测出机密信息,就可以利用密码学等知识对机密信息进行提取和破译。在视频数据在互联网以及微博、微信等流行的信息交换媒介中广受欢迎的趋势下,以视频数据作为载体而进行的视频隐写研究正在走进越来越多人的视野中。

视频隐写为人们在网络上自由地存储和传输秘密的多媒体信息提供了一条行之有效的途径。为了防止机要信息的泄露、确保承载信息安全,对视频隐写分析技术的研究也受到了广泛关注。

1 隐写术与隐写分析

隐写术就是在不影响质量的前提下,将一些秘密信息添加到多媒体数据中,从而与秘密信息的接收端进行隐蔽的消息传递。可用作载体数据的多媒体数据有许多种,如图片、音频、视频等,通过使用隐写术可以在不引人察觉的情况下,完成秘密信息的传输。未经隐写术修改的多媒体数据被称作载体数据,在载体数据中嵌入秘密信息后,载体数据就变成了载密数据。

秘密信息比特能够被嵌入码流,不引起察觉地隐藏在视频等数据中[2],主要有以下两个原因。①多媒体数据之中存在很多的冗余信息,也就是重复的,并不是必要的信息。未经过压缩的多媒体数据的编码效率很低,但是即使经过压缩,压缩后的多媒体数据之中也仍然会含有不少的冗余信息,不过不会影响多媒体数据本身的传输、存储和使用。②我们的视听系统不是那么敏感。对有一些误差的声音,有一点亮度或色彩不同的图像,我们不能分辨出来它们的不同。正是因为我们无法察觉细微的差异,就给数据的嵌入提供了好机会。

2 视频隐写分析技术原理

视频隐写术力求做到使嵌入秘密信息比特后的载密数据的统计特性与未嵌入时保持一致,以求使基于统计特征的视频隐写分析算法失效,但是隐写术无法考虑视频数据的全部统计特性分布,这是因为视频数据具有自相关性,比较有规律,对一处进行的改动可能同时影响多个统计特性,不太可能完全考虑视频数据的所有统计特性分布。同时,由于载体数据的不确定性,数据本身并没有特定的统计特性分布,所以往往嵌入秘密信息比特后数据的统计特性会发生改变。因此,利用隐写术嵌入时几乎必然带来统计特性分布的差异,来进行分析和判断的方法是完全可行的。

视频隐写分析技术是通过分析隐写术对视频数据进行处理后,视频数据的统计特性及分布有无发生可检测到的变化,找出可用的变化后,就可以以此为根据使用数学的方法提取出对隐写嵌入敏感的特征统计量,进而设计相应的检测方法。视频隐写分析方法的重点是提取改变后受到影响较明显的特征统计量,提取特征之后,还需要使用分类器对提取出的统计量进行训练与分类,本次选用SVM分类器。

3 基于预测误差变化的视频隐写分析方法

视频数据具有自相关性,包括空间相关性和时间相关性。空间相关性,就是同一帧中拥有相近的位置坐标的宏块之间具有的相关性,如同一帧中相邻近的宏块之间彼此具有相近的预测误差和相近方向和大小的运动矢量。空间位置相近的宏块很有可能描绘同一个物体,那么它们的色彩会相近,在同一帧中当然会向着同一个方向趋向,拥有相差不大的运动速度。时间相关性,就是相邻的两帧中相同位置坐标附近的两帧中的宏块所有的相关性,比如说对于在时间上相邻的两个帧,相同位置坐标的两个分别在前一个帧和后一个帧的宏块也会具有相近的预测误差和相近的运动矢量[3]。

如果对视频数据做出了嵌入修改,那么势必会扰乱这种很有规律的相关性,所以在本章,研究实现了一组基于预测误差变化的统计特征值,使之用于视频隐写分析方法。为了进一步提高检测率,实现基于时间相关性和空间相关性的统计特征与其配合。基于运动矢量的视频隐写算法[4],可以同时应用时间相关性特征、空间相关性特征和预测误差特征进行组合来进行检测。

3.1 特征提取

3.1.1 空间相关性特征。先定义运动矢量MVt(u,v),t表示当前帧是第几帧,坐标(u,v)表示当前宏块在所在帧中的位置,MV表示当前宏块经过运动估计和补偿之后的运动矢量。我们知道,运动矢量矩阵中运动矢量的分布比较有规律,相邻近的运动矢量的趋向方向也大致相近,为了描述这种规律,选择水平方向、垂直方向、对角方向、反对角方向一共4个方向,为了简化,如果分别用Dht(u,v)、Dvt(u,v)、Ddt(u,v)、Dmt(u,v)表示运动矢量矩阵中的元素与在这些方向上的其他元素的差值,就会知道运动矢量与哪个方向上的临近运动矢量比较相似。对运动矢量矩阵进行运算,得到含有描述空间规律性的差值矩阵。为了使用概率来更清晰地描述,在差值矩阵的基础上计算概率转移矩阵Mh、Mv、Md、Mm。

3.1.2 时间相关性特征。视频中大多数相邻的两帧所描述的运动状态是相近的,表现在帧的宏块中就是相同位置坐标的宏块其运动矢量的大小和方向是相近的,为了描述这种规律性,使用相同位置坐标宏块的运动矢量的差值,计算两帧的运动矢量矩阵之间的差,就能得到明确的描述时域特征的差值矩阵。

3.1.3 预测误差特征。前面我们分析了使用运动矢量的时间相关性和空间相关性提取特征来达到检测运动矢量是否经过了修改的目的,但是有些隐写算法考虑到运动矢量的修改会引起特征值的改变,它们对运动矢量的修改非常微小,这样就不得不考虑利用其他特征,结合时空相关性的特征来进行判断。

由H.264/AVC的编码解码过程研究[5]可知,隐写算法在修改了运动矢量之后,修改后的运动矢量所对应的参考宏块可能会发生改变,那么再进行编码的时候,运动矢量对应的预测误差同样会发生改变。显然,只有使预测误差同样发生变化,才能使编码得到的视频不会失真[6,7]。

根据这个修改运动矢量,需要考虑预测误差会同样发生改变,如果隐写算法没有考虑到这个问题,那么修改后的运动矢量所对应的参考宏块就有可能和当前宏块的差距比较大,那么预测误差就会比正常情况下的预测误差偏大,这样,预测误差的变化就会使隐写算法有可能被探查到。本次就是基于这个特点设计了一组基于预测误差的特征用于检测隐写算法[8]。

运动矢量在一定的搜索范围内连接的是当前宏块和其最佳匹配块,既然是最佳匹配块作为参考宏块,那么当前宏块和最佳匹配块之间的SAD就会是最小的。计算公式如下:

其中b是指b*b大小的宏块。

没有经过嵌入的运动矢量所搜索选择的参考块是在附近位置一定范围内的最佳匹配块,如果运动矢量经过了修改,那么参考宏块就会偏离最佳匹配块,参考宏块和当前宏块所对应的SAD就会偏大。因此,通过统计这个特征量的值,判断其是否比正常值偏大,就可能判断此运动矢量是否经过了嵌入修改。

因为预测误差的计算方法就是当前宏块和参考宏块求取色素差值,而宏块的绝对差之和SAD特征值的计算方法是取得宏块内所有色素差值的绝对值的加和,这与预测误差本身的计算方法类似,为了简便,我们就直接使用预测误差矩阵E,通过取得其大小从-100到+100之间的概率分布来作为直方图特征。概率分布直方图特征表示方法如下:

预测误差特征的维数是201维。

3.2 算法实现

视频隐写分析算法的目标对象是压缩后的视频数据文件,这是因为未经压缩的视频文件比如YUV文件含有的冗余过多,用于传输和存储的视频文件一般以压缩后的视频数据文件为主。所以特征的提取应该在解码过程。

3.2.1 实验环境。本次研究的目标对象是YUV视频文件经由H.264压缩之后生成的.264文件,在把.264文件解压为YUV文件的过程中进行运动矢量的提取。为了方便修改和添加源代码,本次研究使用ffmpage的源代码中的解码部分,项目编辑平台使用VS 2013。在提取运动矢量之后,为了方便运算,本次实验使用Matlab R2014a软件进行特征值运算,同时使用LIBSVM进行更进一步的实验数据获取。

解码流程和提取函数:因为特征提取是在解码过程中,所以在此详细研究一下解码端代码的解码流程。在主函数中设定好输出目录和文件之后,调用解码函数de⁃code()。decode()函数的执行流程如图1所示。

前面的几个函数av_register_all()、avformat_net⁃work_init()、avformat_open_input()、avformat_find_stream_in⁃fo()的主要作用是初始化解码器,初始化存储压缩视频数据的数据结构,供函数运算和使用。

avcodec_open2()等函数的作用是读入压缩后的.264视频数据流。

av_read_frame()函数的作用是读取一帧。

avcodec_decode_video2()和sws_scale()函数配合进行循环解码。

avcodec_find_decoder()函数的作用是寻找解码器。

提取运动矢量的函数就是printMVMatrix(),在解码过程中把运动矢量读出并写入文件,以供特征值的计算。

3.2.2 算法流程。过程如下:①初始化,读入压缩视频流进行解码;②在解码过程中取得所有的运动矢量和预测误差并写入文件保存;③计算空间相关性特征、时间相关性特征和预测误差特征;④整理所有特征值,输入LIBSVM分类器;⑤训练LIBSVM;⑥使用LIBSVM对视频进行分类。如图2所示。

图1 decode()函数执行流程图

图2 视频隐写分析算法流程图

3.3 结果和分析

3.3.1 实验数据。①视频隐写算法:实验使用基于运动矢量的视频隐写方法,嵌入秘密消息为伪随机序列。②实验数据:从互联网上下载10个标准视频序列,视频格式YUV,将所有视频分割成互不相交的长度为30帧的子序列,得到100个子序列。分别选择嵌入帧数分别为10帧、20帧、30帧的嵌入比例,使用设定好的算法嵌入消息,得到测试序列。测试序列为300个嵌入消息的. h264格式压缩视频序列,压缩率为25kbps。③训练和分类:测试序列使用70%进行训练,余下30%用于分类。

3.3.2 检测率实验结果。检测率结果见表1。为了更明确地说明,绘制折线图,如图3所示。

3.3.3 漏检率和虚警率实验结果。漏检率结果见表2。为了更明确地说明,绘制折线图,如图4所示。

虚警率结果见表3。为了更明确地说明,绘制折线图,如图5所示。

表1 不同嵌入率下不同特征的检测率

表2 不同嵌入率下不同特征的漏检率

表3 不同嵌入率下不同特征的虚警率

图3 不同嵌入率下不同特征的检测率折线图

图4 不同嵌入率下不同特征的漏检率折线图

图5 不同嵌入率下不同特征的虚警率折线图

4 结果总结和分析

由实验结果可知,随着嵌入比例的提高,使用各个不同的特征及特征组合检测视频时的检测率都有所提升,漏检率和虚警率有所下降。在相同嵌入率的情况下,可以通过比较知道:时间相关性特征的检测率<空间相关性特征的检测率<时空相关性特征组合的检测率≤时空相关性特征和预测误差特征组合的检测率。由此可以得出如下结论。

①在某种范围内,嵌入比例越高,检测率也越高,漏检率和虚警率越低;②在相同嵌入率的情况下,空间相关性特征的检测效果比时间相关性特征的检测效果稍好一些,说明空间相关性特征更有效一些;③在相同嵌入率的情况下,组合特征的检测效果比单个特征的检测效果更好,说明组合特征比单个特征更加有效;④在相同嵌入率的情况下,S+T+E的组合特征检测效果比S+T的组合特征检测效果更好,验证了预测误差特征的有效性。

[1]Iain E.G.Richardson.H.264和MPEG-4视频压缩[M].欧阳合,韩军,译.长沙:国防科技大学出版社,2004.

[2]Yun Cao,Xianfeng Zhao,DengGuo Fang.Video Steganaly⁃sis Exploiting Motion Vector Reversion-Based Features[J].IEEE SIGNAL PROCESSING LETTERS,JANUARY,2012(1):35-38.

[3]C.Zhang,Y.Su,C.Zhang.Video steganalysis based on aliasing detection[J].ELECTRONICS LETTERS,2008(13):801-803.

[4]叶惠.基于运动矢量的视频隐写分析方法研究[D].北京:中国科学技术大学,2014.

[5]徐长勇.视频数字隐写与隐写分析技术研究[D].北京:解放军信息工程大学,2009.

[6]梁惠.视频信息隐藏关键技术研究[D].北京:中国科学技术大学,2010.

[7]张新源.湿纸编码在图像隐写技术中的应用研究[D].南京:南京航空航天大学,2015.

[8]刘争艳.H.264/AVC视频流的信息隐藏技术研究[D].长沙:湖南大学,2009.

Research on Video Steganalysis Based on Prediction Error Variation

Ma YutianChen Dan
(Nanjing University of Aeronautics and Astronautics,Nanjing Jiangsu 210016)

Secretly secretly hidden in the multimedia data,provides the secret between the sender and the receiver to communicate,but not too much impact on the quality of multimedia data,such as sound and picture quality,thus will carry mix of multimedia data between the normal multimedia data,the attacker can't find to communication.Predic⁃tive error analysis based on steganalysis is as much as possible from a large number of multimedia data to explore the steganographic processing of the confidential data,intercept or destroy the secret communication between the two sides of the transmission of information.

steganographic analysis;motion vector;the prediction error;feature extraction

TP309

A

1003-5168(2017)08-0023-04

2017-07-04

马雨田(1993-),女,本科,研究方向:信息安全。

猜你喜欢

矢量误差多媒体
一种适用于高轨空间的GNSS矢量跟踪方案设计
借助多媒体探寻有效设问的“四度”
矢量三角形法的应用
角接触球轴承接触角误差控制
Beidou, le système de navigation par satellite compatible et interopérable
压力容器制造误差探究
多媒体在《机械制图》课中的应用
基于矢量最优估计的稳健测向方法
三角形法则在动态平衡问题中的应用
九十亿分之一的“生死”误差