作者简介:文振焜(1962—),男,深圳大学教授.研究方向:宽带流媒体视频安全技术.E-mail:wenzk@szu.edu.cn
中文责编:英 子; 英文责编:子 兰
深圳大学计算机与软件学院,广东深圳 518060
Wen Zhenkun, Chen Bin, and Wu HuisiCollege of Computer Science and Software Engineering, Shenzhen University, Shenzhen 518060,Guangdong Province, P.R.China
computer perception; adaptive hashing algorithm; video forgery; video content protection; real-time video; H.264 encoder
DOI: 10.3724/SP.J.1249.2017.02165
提出基于视频压缩帧的自适应哈希算法,并将该算法用于实时视频篡改检测.根据帧内数据长度划分非固定步长区间,提取帧的空间结构特征,使用哈希量化形成固定长度的密钥.实验结果表明,该算法能达到实时性要求,表现出较好的鲁棒性和区分性,通过统计视频画面组的密钥相似度,能有效检测视频篡改.
A new adaptive hashing algorithm based on video compression frames for real-time detection of the tampered video streaming is proposed. According to data length of a frame, the algorithm divides the frame into a number of intervals with different step-size and extracts the frame feature in spatial structure. The feature is quantized to generate the secret key. The experimental results show that the algorithm can meet real-time requirement and is robust and discriminative. It can detect accurately a video tampered through counting the similarity of keys in each group of pictures in the video.
随着带宽质量逐渐提升和通信资费不断降低,网络得到了更加广泛地普及,视频会话、视频监控和视频点播等直播流媒体的应用也呈现出巨大的需求.然而,对于视频信息的非法操作也随之而来,通过对视频内容进行修改,导致原始信息遭受破坏,从而达一些其非法目的,因此,实时视频传输的安全问题变得越来越重要.
通常,人们通过采用认证技术实现对视频内容的篡改检测,确保数据内容的可靠性和真实性.哈希算法是认证技术的具体方法之一,它除了具有单向性和摘要性,根据应用场景的需要还应具备鲁棒性、区分性和安全性[1].目前,哈希算法已经被广泛用于文档内容认证[2]、语音内容认证[3-4]、图像内容认证[5-6]和视频图像帧序列内容认证[7-8]等领域.可见,哈希算法已被有效地使用到各种数据类型的认证中,实现对数据内容的保护.
在视频图像帧序列的哈希认证研究中,许多学者致力于分析不同特征对哈希算法性能的影响,这些特征包括:① 空域全局特征,如提取视频图像序列中每一帧的RGB通道的颜色直方图作为特征[9],优点是运算速度快,缺点是不能感知结构的变化.② 空域局部特征,如通过将视频图像序列每一帧进行随机分块,在某一步长下,计算分块间的亮度均值差作为特征[10],优点是生成密钥速度较快,缺点是随机分块会导致算法过鲁棒,从而影响局部内容篡改的检测.③ 时域特征,如提取视频图像序列帧之间的关系作为特征[7-8,10],优点是能检测帧间的篡改行为,缺点是对帧内篡改的检测效果降低.④ 频域特征,如分别对视频图像序列每一帧划分为固定的分块,利用分块Gabor小波分析提取特征[11],优点是具有较好的区分性,缺点是运行时间长.总体上,不同的特征提取速度、产生的哈希密钥长度和可区别的性能都不同.根据应用需要,设计合适的特征是十分重要的.
基于实时视频篡改检测的背景下,所设计的哈希算法必须达到实时检测的要求,既要求算法的时空复杂度应尽可能低,又不影响算法篡改检测的性能.现有的直播视频绝大多采用报文传输协议,能容忍网络丢包,从而达到实时性和同步性[12].当传输信道受到干扰或网络拥挤时,传输的数据包会被噪声污染或出现丢包[13].如采用以视频图像序列帧为单元的哈希算法,当遭受噪声污染或丢包时,会使重新编码的视频图像帧出现失真,影响视频内容认证.为此,本研究提出基于视频压缩流的自适应哈希算法,并以此为基础设计了视频篡改检测方案.实验表明,本算法产生的哈希密钥具有较好的鲁棒性和区分性,能达到实时有效检测.
如图1,实时视频篡改检测分为视频加密和篡改检测两部分.在视频加密中,首先采集和编码视频,再计算其哈希密钥,最后将密钥和视频压缩数据进行网络协议封装和发送.在篡改检测中,首先对请求得到的网络数据包进行排序,分别以视频画面组(group of pictures,GOP)作为篡改检测单元,提取GOP中各个网络数据包的密钥和视频压缩数据,再重新计算得到密钥,并将其与旧密钥按位比较,统计GOP的平均误码率,最后通过经验阈值判别视频的GOP单元是否被篡改.
本研究采用H.264编码器[14],对视频图像帧进行压缩.根据用户的参数设置,会产生1个或多个GOP,每个GOP有多种类型的压缩帧,包括序列参数集(sequence parameter set, SPS)、图像参数集(picture parameter set, PPS)和补充增强信息(supplemental enhancement information, SEI),作为视频压缩数据的参数集,用于解码时能恢复原视频序列,而视频压缩帧分为即时解码刷新(instantaneous decoding refresh,IDR)、关键帧、向前预测帧和双向预测帧的类型.GOP中的每个视频压缩帧采用H.264定义的网络抽象层单元(network abstract layer unit, NALU)存放,以便后续能简单地进行网络封装和发送.如图2,将视频的多个连续的图像帧压缩,产生对应的GOP,其中包含第1个压缩帧SPS、第2个压缩帧PPS和其他类型的压缩帧.
应用层、传输层和网络层分别采用实时传输协议(real-time transport protocol, RTP)、用户数据报协议(user datagram protocol, UDP)和互联网协议(internet protocol, IP).将视频压缩后得到的NALU放入RTP的负载中,RTP能保证视频压缩帧数据能逻辑上有序,并按时到达目的地进行解码,从而作为UDP不可靠信息传送服务的缺陷补充,实现实时播放视频.
在不同的物理层网络中,最大传输单元(maximum transmission unit,MTU)都是不一样的.为了防止IP包分片,将NALU中设置为A类型的分片(fragmentation unit of A,FU-A),用于应用层RTP分片代替IP分片,从而保证实时视频传输网络协议族的包长小于等于MTU.考虑在以太网环境下,MTU限制包长在1 500 byte,应设RTP负载长度为1 460 byte.其中,IPv4包头20 byte; UDP包头8 byte; RTP包头12 byte.对旧的NALU划分为最多MAX-NALU-LEN(1 460 byte),形成FU-A类型的NALU.
本研究将各个压缩帧进行FU-A类型分片后,再计算哈希密钥.
针对RTP负载的视频压缩帧数据,提取空域上的特征.根据种子step产生固定的局部区域,把压缩帧分割成一个个相邻的局部区域,计算此局部均值后,再计算压缩帧整体区域的均值,比较各个局部区域与整体区域的关系作为空域特征.
对于第i个RTP负载的视频压缩帧,通过step划分局部区域,计算第j个局部区域的平均强度
LAAi, j=(∑step×(1+j)k=1+step×jvalue(i,k))/(step);
j=1,2,…, (counti)/(step)」(1)
其中,counti和 (counti)/(step)」分别为第i个RTP负载的视频压缩帧字节总长度和局部区域的数量; value(i, k)为第i个RTP负载的视频压缩帧中的第k个数值(单位:bit).
对于视频的第i个RTP负载的视频压缩帧,可以得到对应的各局部区域平均强度行向量[LAAi,1, LAAi,2,…,LAAi,「counti/step」]. 因此,整体区域的平均强度为
GAAi=(∑countik=1value(i,k))/(counti)(2)
比较局部与整体的平均强度差
Ri,j=GAAi-LAAi,j(3)
可得到第i个RTP负载的视频压缩帧的空域特征行向量 Rfeature_i=[Ri,1, Ri,2, …, Ri,「counti/step」].
FU-A类型分片操作将NALU数据字节长度限制于MAX-NALU-LEN内,使NALU防止IP包分片.然而,当采用固定步长哈希算法计算哈希密钥时,会使不同长度的NALU产生不同长度的哈希密钥.由于RTP扩展包头是以2x分配空间,在嵌入不同长度的哈希密钥时,必须同时嵌入哈希密钥长度的标识.另外,嵌入的哈希密钥长度不等于2x时,会产生冗余比特位.为此,提出基于不定步长的自适应方法产生固定长度FL的哈希密钥,将步长参数step转换为不定步长Nstepi(第i个RTP负载的视频压缩帧的步长),转换公式为
Nstepi=(counti)/(FL)」(4)
这种方法有可能产生长度比FL大的哈希密钥,此时可以对每个局部区间移除一定的字节,从而调整NALU的数据长度,使产生的密钥长度为FL.对于第i个NALU,需移除的字节总数为
Numdeli=counti-FL×Nstepi(5)
为保证移除字节的操作不影响算法的可区别性,可分别对局部区域的字节按折半方式逐一移除.
经过定步长和自适应的的特征提取,分别得到对应的中间特征.为进一步压缩中间特征,减少数据量,可对特征行向量 Rfeature_i进行哈希量化 Rfeature_i,如
Qi,j={1, Ri,j≥0;
0, Ri,j<0;(6)
由此生成定步长和自适应的哈希摘要(哈希密钥).
如图3,通过计算NALU产生哈希密钥,再将NALU和密钥分别放入RTP的负载和扩展包头中.这使得数据与密钥一一对应,有助于检测端进行密钥比较和容忍网络丢包.为提高对第三方非法篡改的检测能力,本研究在RTP扩展包头添加了辅助信息,如NALU的长度.同时,可以对认证信息采用密码学中的对称加密算法[15],以防止第三方非法破解,增强传输的安全性.另外,嵌入哈希密钥会影响MAX-NALU-LEN的大小,还需考虑RTP扩展包头(密钥和辅助信息)的长度.
本研究使用德国莱布尼茨-汉诺威大学公开的标准视频集(ftp://ftp.tnt.uni-hannover.de/pub/svc/testsequences/)作为实验分析的对象,从中选取不同亮度、颜色和物体移动程度的视频,包括bus、city、crew、football、foreman、harbour和ice共7个视频,视频格式为YUV420.将H.264编码器帧率设置为30帧/s,如表1所示的视频分辨率和GOP大小为30帧,对每个视频压缩编码和网络协议族封装后,分别产生311、480、1 071、1 202、801、1 536和1 148个压缩帧包.
实验所用计算机CPU为Intel core i7-3770 3.40 GHz,内存为4 Gbyte, 64 bit Windows 7操作系统,使用Matlab 2013a软件进行算法实现和对实验仿真进行分析.
对于定步长哈希算法,步长设置越大,平均哈希长度越长、区别性越好,但鲁棒性会降低.为使平均哈希长度、鲁棒性和区分性取得较好的平衡,本研究设置步长为24 byte.经过7个视频的实验统计,当定步长哈希算法的步长设为24 byte时,产生的平均哈希长度为37 bit.对于自适应的哈希算法,本研究设固定长度哈希为64 bit.
为了对视频流进行篡改检测,需逐一对网络传输得到RTP包中的视频压缩帧和密钥N进行匹配.首先,重新计算视频压缩帧的密钥M,再比较密钥N和M的比特位,统计不相似的比特位数占总比特位的比重,即误码率(bit error rate, BER).最后,统计GOP的平均误码率,将其与经验阈值比较,确定视频GOP是否被篡改.因为在对视频加密时,添加了视频压缩帧数据长度作为辅助信息,所以在篡改检测时,需先判断辅助信息是否准确,才能比较密钥的相似度.这不仅增强了判断的准确性,还提高检测的速度.
分析算法鲁棒性的目的在于,研究通过服务器发送实时视频压缩帧包的过程中,若受到网络干扰而改变原始数据,算法能否判定这并非篡改操作.
为了测试算法对非内容篡改的噪声污染反应,将不同程度的、随机的噪声添加到视频压缩帧包数据中,分别对每个视频数据包的每种噪声污染进行100次测试.实验采用的噪声类型有:密度为d的椒盐噪声、均值为0和方差为v高斯噪声,结果见图4.
由图4可知,自适应的哈希算法平均误码率保持在0.31以下,而定步长的哈希算法的平均误码率保持在0.27以下.对于均值为0和方差为0.2的高斯噪声,两种算法的平均误码率差为0.04.可见,定步长比自适应哈希算法特征提取效果要好.而对于不同强度的椒盐噪声,两者的鲁棒性接近.实验发现,当对视频流数据添加均值为0、方差为0.2的高斯噪声时,编码器完全不能对该视频流进行解码.这主要是因为视频流的内在结构包含了视频压缩数据和宏参数等,噪声强度越大越易影响宏参数,一旦宏参数发生改变,解码器将无法运作.而对于网络传输中常出现的微弱噪声干扰,两种算法都具备较好的鲁棒性.
讨论算法的区分性,可通过观察算法能否区分不同视频内容.不同内容的视频密钥相似度相差极大,即误码率偏大.图5为采用交叉方式相互比较7个视频(视频设置为相同分辨率)的结果,从中可观察算法的区分性.
由5可见,两种算法的平均误码率分别在0.86和0.84以上,说明都具备良好的区分性.通过5组视频内容比较,自适应的哈希算法整体上区分性更佳.将视频foreman和bus内容匹配,平均误码率在0.92以上,高于其他5组的平均误码率.这反映了两组视频内容差异越大,其密钥的误码率应当越大的特性,说明两种算法都对不同程度差异的视频内容敏感.
通过鲁棒性和区分性实验可知,采用定步长哈希算法进行特征提取时,其鲁棒性较自适应哈希算法好,但区分性却较差.可见,两种算法的分类性能相近.但是自适应哈希算法弥补了定步长哈希算法的缺点,因其不会产生固定长度的哈希密钥,避免了嵌入的哈希密钥会产生冗余比特位.
从实际应用角度出发,自适应哈希算法较定步长哈希算法更优.因此,本研究将主要分析自适应的哈希算法在视频篡改检测中的性能.
主要篡改检测类型有:在视频中添加新的图像帧和在原始图像帧内添加非法内容.前者因不能产生合法的哈希摘要,所以难以通过篡改检测; 后者被篡改的视频图像帧通过压缩编码会产生不同数量和内容的NALU.如图6,对视频bus中GOP的图像帧使用视频编辑软件(Corel video studio pro X8)添加英文字(tamper)的篡改内容,篡改面积为原图像的10%,再用H.264标准重新编码后得到453个RTP网络包.可见,网络包的数量发生了变化,这是由于编码器对视频内容的修改是感知的.因此,本研究将着重分析算法对这类篡改方式是否仍能有效区分.
图6 原视频图像帧与添加篡改内容后的图像对比图
Fig.6 (Color online)The image contrast figure between original video and tampered video
本研究以GOP作为篡改检测的单元,主要考虑到:① 非法篡改者必须拦截视频GOP,才能通过解码器恢复该GOP的视频图像帧,并对视频内容篡改; ② 由于编码器采用的是运动补偿的编码方式,使压缩后的帧间数据具有很大的关联性,若对在GOP中被篡改的视频图像帧重新编码,就会发现编码压缩后得到的数据与之前的数据存在差异.
分别篡改7组视频的GOP中单帧或多个连续帧,篡改内容与图6一致,再通过比较哈希密钥和统计GOP的平均误码率,结果如图7.
图7 分别对多个视频中不同的图像帧添加篡改内容后的GOP平均误码率检测图
Fig.7 The GOP forgery detection of average BER in different tampered videos
由图7可见,所有平均误码率都高于0.4,特别是在图7(a)中,对第1~第24帧的单帧篡改,平均误码率都在0.5以上,而对第25~第30帧的单帧篡改,平均误码率大幅下降,这从侧面突显了H.264视频运动补偿编码的特性,即视频压缩数据的帧间依赖关系.因此,GOP的长度不宜过大.根据算法鲁棒性和区分性的结果分析,根据经验阈值范围一般为0.35~0.80.本研究将阈值设为0.35,使算法能有效检测篡改粒度较小的视频GOP.
为能在实时视频直播中实现有效的视频篡改检测,不仅要求算法的检测能力强,还要求算法的时空复杂度应尽可能低,以期不影响实时直播视频.为此,本研究分析算法在不同分辨率的视频中计算密钥所需的时间.
采用自适应哈希算法的视频哈希密钥大小为64 bit,仅占传输视频数据的极少空间,完全满足实时直播视频对网络带宽的要求.表1统计了自适应哈希算法对不同分辨率的视频生成哈希摘要所需时长,并比较对应的播放时间.结果表明,算法所耗时间占视频播放时间不足2%.在同等带宽条件下,视频足以正常检测和播放.
提取7个视频中所有的GOP共有61组作为实验对象.将其中的31组GOP进行篡改,即分别对该GOP中所有帧进行篡改,如图6(b),且不改变其余的GOP,再用本研究提出的算法与传统算法比较,即以视频图像帧为单元的哈希算法[10],且同样采用GOP为篡改检测单元.分析算法在不同的丢包率下篡改检测的准确率(precise detection rate, PDR)和误检率(error detetion rate, EDR),即
PDR=(Nf1)/(Ntamper)(7)
EDR=(Nf2)/(Nuntamper)(8)
其中, Nf1为判定篡改帧是篡改的数量, Ntamper为被篡改帧的数量; Nf2为判定非篡改帧是篡改的数量; Nuntamper表示未被篡改帧的数量.
表2是采用本算法和文献[10]所提算法对不同丢包率下的PDR和EDR性能对比.由表2可见,由于本算法是对压缩帧包进行密钥生成的,所以丢包不会造成误检.在无丢包的网络环境下,本算法能实现有效检测,而文献[10]对粒度较小的篡改检测能力不佳.在丢包率为40%时,因为在GOP中丢失区别性较高的压缩帧包,所以影响本算法对被篡改检测的准确率.而文献[10]算法是基于视频画面帧去计算哈希密钥的,所以当网络丢包时会发生视频解码失真,使算法难以区分篡改行为.
提出一种自适应哈希算法进行特征提取,用于UDP实时传输视频时检测第3方篡改视频内容.算法通过对视频压缩帧进行整体与局部的特征提取,形成与视频压缩帧相对应的哈希密钥,在对视频压缩帧进行网络协议封装时,将哈希密钥写入包头中,从而保证一一对应的检测.实验表示,本算法具有可靠的鲁棒性与区分性,在保证实时传输视频的前提下,能实现对篡改粒度较小的内容进行有效的检测.今后将重点研究各种类型的视频内容篡改操作,观察操作背后会导致怎样的视频压缩流变化,从而实现更精准和有效的视频哈希技术.
深圳大学学报理工版
JOURNAL OF SHENZHEN UNIVERSITY SCIENCE AND ENGINEERING
(1984年创刊 双月刊)
主 管 深圳大学
主 办 深圳大学
编辑出版 深圳大学学报理工版编辑部
主 编 阮双琛
国内发行 深圳市邮电局
国外发行 中国国际图书贸易集团有限公司(北京399信箱)
地 址 北京东黄城根北街16号
邮 编 100717
电 话 0755-26732266
0755-26538306
Email journal@szu.edu.cn
标准刊号 ISSN 1000-2618
CN 44-1401/N