苏洪磊 李兵兵 杨付正
(西安电子科技大学综合业务网理论及关键技术国家重点实验室,陕西西安710071)
近年来,视频电话、视频会议和网络电视等多媒体应用在日常生活中扮演着越来越重要的角色,由于互联网协议(IP)网络的数据包传输遵循尽力而为的服务原则,故上述应用的服务质量(QoS)和用户体验并不能得到保证,因此建立服务于系统设计、QoS规划以及实时质量监控的视频质量客观评估模型非常重要[1-3].由于视频质量包层评估模型仅使用包头信息,复杂度低,非常适用于网络节点处对视频流的实时处理,且不需要对视频流的载荷信息进行解密和解码,故适用于载荷信息被加密的情形[4-9].视频质量包层评估模型已经成为视频领域的研究热点之一,ITU-T SG12制定了视频质量包层评估模型标准 P.NAMS[10].
包层评估模型可以通过分析包头信息来获取比特率、帧率、丢包率等信息,进而估计视频质量.然而,若仅使用这些参数而不考虑视频内容,则评估模型并不能获得较好的性能[8-9].这是因为在具有相同统计参数的情况下,会出现以下几种情形[5,11]:不同的视频帧对丢包的敏感程度不同;不同的丢包位置将引起不同的丢包失真;不同的视频内容会对误码传播造成不同的影响.帧类型检测是视频质量包层评估模型中的一个关键模块,是计算视频内容复杂度和预测数据包丢失引起视频失真的前提.当出现分级B帧结构时,高级B帧将作为低级B帧的参考帧,丢包发生在不同等级的B帧将对误码传播产生不同的影响,故B帧结构预测对视频质量包层评估模型非常重要.
文献[12]中通过比较每帧的编码比特数与预设阈值的差异来确定帧类型;文献[13]中使用动态阈值法进行帧类型检测,其动态阈值由滑动窗口内的平均帧大小和最大帧大小通过加权计算得到.文献[12-13]中均没有对是否存在分级B帧以及B帧的等级进行检测.
为此,文中提出了一种利用动态阈值和图像组(GOP)的周期性进行帧类型检测的方法.首先运用动态阈值法将视频帧初步判定为I帧、P帧或B帧,再利用GOP的周期性对初步判定结果进行修正,然后利用Spearman秩相关系数对视频流中是否存在分级B帧进行检测.文中最后通过实验验证了所提出的帧类型检测方法的有效性.
帧类型检测的首要步骤是提取包头信息以获取各视频帧的编码比特数.以IP网络中常用的RTP/UDP/IP协议栈为例[14-16],如图1(a)所示,数据包由两大部分组成:协议栈包头信息和有效载荷.包层评估模型中的帧类型检测模块可以访问IP、UDP和RTP包头,如图1(b)和1(c)所示.UDP包头中的长度域标识了UDP包头及其有效载荷的总长度,又因为UDP和RTP包头拥有固定长度,所以有效载荷长度Psize可以由UDP总长度减去UDP和RTP包头长度得到.因为同一视频帧的数据包具有相同的时间戳,所以根据各数据包的时间戳可以判定它们是否同属一个视频帧.如图2所示,如果两个相邻数据包具有相同的时间戳,那么他们属于同一视频帧,否则属于不同的视频帧.如果当前数据包为某视频帧的最后一个包,则标识位被置位,否则不被置位,根据标识位可划分出视频帧边界.
图1 数据包封装格式及UDP和RTP包头Fig.1 Encapsulation format of data packet,UDP header and RTP header
图2 数据包与视频帧的关系示意图Fig.2 Schematic diagram of relationship between data packet and video frame
当丢包发生时,由RTP包头中的序列号可检测出被丢弃数据包的序列号.例如,当序列号为n的数据包丢失时,n-1到n+1序列号的连续性将被打破,于是根据收到的相邻数据包的连续性即可判断出是否存在丢包,并计算出丢包个数.由于无法获取已丢失数据包的UDP包头信息,仅仅获取丢包个数并不能得到丢失有效载荷的长度,故已丢失的第n个数据包的有效载荷长度可由其相邻数据包的平均值估计得到,即
式中,Psize(n-1)和Psize(n+1)分别是第n-1和n+1个数据包的有效载荷长度.于是,由同属某一帧的每个数据包的长度可得到该视频帧的编码比特数,即
式中,Fsize为视频帧编码比特数,N为组成该视频帧的数据包个数.
图3所示为两种编码比特率下不同内容特性的视频序列视频帧的编码比特数.由于使用帧内编码模式去除空域冗余信息,使用帧间编码模式去除时域冗余信息,帧间编码模式能更有效地去除冗余信息,故I帧编码比特数通常大于P帧或B帧编码比特数;由于编码B帧时使用双向预测结构,能去除更多的冗余信息,故P帧编码比特数通常大于B帧编码比特数.因此,可以利用阈值法来区分各视频帧的类型.观察图3发现,编码比特率为256kb/s时各帧的编码比特数小于编码比特率为512kb/s时各帧的编码比特数,故阈值应随着编码比特率的变化而变化.通过分析不同内容特性的视频序列在不同编码比特率下各帧的编码比特数规律,得出I帧和P帧的编码比特数阈值TI的经验公式如下:
式中:L为滑动窗口长度;Fsize(nj)为滑动窗口中第n帧的编码比特数,按降序排列其位置为j;r1和r2通过参数训练实验得到.同时得到P帧与B帧的编码比特数阈值TP:
式中:Inum为滑动窗口中被判为I帧的帧数;Fsize(nk)为滑动窗口中第n帧的编码比特数,按降序排列除去被判为I帧的视频帧,其位置为k;r3和r4通过参数训练实验得到.如图3所示,由于不同编码比特率下I帧、P帧和B帧的编码比特数相对大小基本一致,故可将 r1、r2、r3和 r4设定为常数.这4个参数的训练实验设置如下:选取 Carphone、Container、Forman、Mobile、Silent和Soccer等具有不同内容特性的视频序列,各序列均为常用的标准化图像格式(CIF),采用 x264编码器[17]进行编码,编码比特率范围为64~1536 kb/s,帧率设置为25,GOP长度为25,GOP结构设置为“IBBBPBBBP”,滑动窗口长度设置为200.
图3 不同编码比特率下不同视频序列各帧的编码比特数Fig.3 Coding bits of frames for different video sequences with different coding bit rates
在一些时间复杂度较大的视频序列中,P帧或B帧被分配了较多的编码比特数,可能会出现P帧的编码比特数大于I帧或B帧的编码比特数大于P帧的现象,进而出现误判,因此仅使用动态阈值法的检测准确率有待提高.为此,文中利用GOP的周期性对初步判定的结果进行修正.
视频序列通常具有固定的GOP结构,即使GOP结构发生变化但在短时间内其结构仍然固定,因此利用GOP周期性可以实现对GOP长度及结构的预测,进而对初步判定结果进行修正.具体步骤(如无特殊说明,文中所有视频帧的排列顺序均为编码顺序)如下:
(1)计算滑动窗口内两两相邻被判定为I帧的视频帧间隔,即
其中,dI,i为滑动窗口内第i和i+1帧被判定为I帧的帧位置 PI,i和 PI,i+1之间的间隔.如果 dI,1,dI,2,…,,…中最大的出现频率小于 50% ,那么可判定该窗口内各帧不存在GOP周期性,不对各帧的类型进行修正,否则存在周期性并将该值确定为GOP的长度,记为dGOP.然后将所有被判定为I帧的帧位置对dGOP取余,即
(2)统计每个GOP中各位置对应的各类帧(I帧除外)帧数(如图4所示),按照少数服从多数原则判定各帧的类型.
图4 各步骤中对相应的视频帧进行操作的示意图Fig.4 Schematic diagram of processing for corresponding video frame in each procedure
(3)计算由步骤(2)获得的GOP内两两相邻被判定为P帧的视频帧间隔,即
式中,dP,i为某一 GOP内第i和i+1帧被判定为 P帧的帧位置 PP,i和 PP,i+1的间隔.将 dP,1,dP,2,…,dP,i,…,dP,Pnum-1中出现频率最高的值作为 P 帧间隔,记为dP.然后将所有被判定为P帧的帧位置对dP取余,即
式中,vP,i为第i帧被判定为P帧的帧位置对P帧间隔取余的结果.选取 vP,1,vP,2,…,vP,i,…,vP,Pnum-1中出现频率最高的值作为GOP内第1帧P帧相对于GOP的偏移量,然后利用GOP的周期性即可确定GOP内各相应位置帧的类型.
可见,利用GOP周期性对动态阈值法的初步判定结果进行修正后即可确定视频帧的类型.然而,视频编码时可生成平行B帧和分级B帧两种预测结构,在分级B帧结构中,高级B帧可作为低级B帧的参考帧,因此当丢包发生在不同级别的B帧时,将对视频质量产生不同的影响,故评估模型需要获取各B帧的等级.由于各级B帧的编码比特数差别很小,无法用阈值法进行区分,为此,文中利用Sperman秩相关系数来检测B帧预测结构.
图5 Mobile序列在编码速率为512 kb/s时各类帧编码比特数的分布Fig.5 Coding bits histogram of different frame types for Mobile sequence with the coding bit rate of 512kb/s
图5所示为Mobile序列在恒定码率下两种B帧预测结构的编码比特数分布.该序列采用CIF格式,码率为512kb/s,帧率为25,GOP长度为25,B帧帧数为3,GOP结构设置为“IBBBPBBBP”.从图5可知:分级预测结构中各B帧按编码顺序呈阶梯下降形状,而平行预测结构中各B帧并没有明显的规律可循.此规律同样适用于其他具有不同内容特性的视频序列在其他编码参数设置条件下生成的各帧编码比特数分布,因此可以利用Spearman秩相关系数[18]来区分B帧预测结构.Spearman秩相关系数定义为
式中,m为样本个数,xi和yi分别为两个向量的第i个分量,ox,i和 oy,i分别为 xi和 yi按升序或降序排列的位次.
在数理统计中,Spearman秩相关系数可反映两个统计变量之间的单调相关性.文中用该系数预测B帧组数据量的变化趋势,进而判断出B帧预测结构.文中定义相邻的I帧和P帧之间或相邻的P帧之间的所有B帧为1个B帧组.则式(9)、(10)中各变量的具体意义如下:样本个数m为B帧组的大小;xi等同于式(9)中的i,为B帧组中各帧按编码顺序的位次,ox,i定义为xi按升序排列的位次;yi为第i帧B帧的编码比特数,oy,i定义为yi按降序排列的位次.上述变量的定义范围为某一个B帧组,于是滑动窗口内每个B帧组的s平均值为
式中,l为滑动窗口内B帧组的个数,si为第i个B帧组的Spearman秩相关系数.于是存在阈值Ts,当¯s大于Ts时,B帧预测结构为分级结构,否则为平行结构.
为验证文中所提方法的有效性,采用Coastguard、Flower、Football、Hall-Monitor、Mother&Daughter、News、Paris、Sign-Irene和Tempete等包含各种运动场景的视频序列进行实验,各视频序列均为CIF格式,采用x264编码器进行编码.实验参数 r1=0.810,r2=0.020,r3=0.625,r4=0.100,Ts=0.175.该组实验参数适用于使用x264编码器生成的H.264/AVC视频序列,若用于由其他编码器生成的视频序列,实验参数需要调整.为考察文中所提方法的适用性,将上述9个原始序列生成各种编码比特率、帧率、B帧数目、B帧预测结构等(具体见表1)的验证序列.GOP长度缓慢变化.
表1 验证实验的编码参数设置Table 1 Coding parameter set of verification experiment
对于由同一个原始序列生成的具有相同GOP长度和帧率的视频序列来说,不同编码比特率下视频序列各类帧的编码比特数分布规律相似,但码率控制算法使同一编码比特率、不同GOP长度或帧率的视频序列各类帧的编码比特数分布不同.不同GOP长度或帧率下帧类型检测准确率(FTDP)和B帧预测结构检测准确率(BPSDP)如表2所示,表中还给出了文献[13]方法的FTDP.与文献[13]方法相比,文中方法在各编码模式下的检测准确率均有明显的提高,平均检测准确率提高了20.04%.文中方法还可以检测出B帧预测结构,从而为视频质量包层评估模型提供更多的有效信息.相比于文献[13]方法,虽然文中方法的计算复杂度有所增加,但视频质量包层评估模型不需要对视频流进行解码,计算复杂度很低,故使用文中方法的视频质量包层评估模型仍可实现实时性处理.
表2 两种方法的检测性能比较Table 2 Comparison of detection performance between two methods
文中提出了一种用于视频质量包层评估模型的帧类型检测方法.在无法解码视频流的情况下,首先应用动态阈值法将视频帧初步分类为I、P和B帧,然后利用GOP的周期性对初步判定结果进行修正,从而确定各视频帧的类型,最后根据Spearman秩相关系数来判定B帧预测结构.实验结果表明,与仅使用动态阈值的方法相比,文中所提方法在各种编码模式下均有更高的检测准确率,其平均检测准确率提高了20.04%,并且可以判定B帧预测结构,从而为视频质量包层评估模型提供更多的有效信息.
文中方法主要针对GOP具有周期性的视频,然而视频中经常出现的场景切换往往导致GOP的周期性受到影响,如何准确判断场景切换的发生,进一步提高帧类型的检测准确率是今后值得研究的方向.
[1]Fernandez J C,Taleb T,Guizani M,et al.Bandwidth aggregation-aware dynamic QoS negotiation for real-time video streaming in next-generation wireless networks[J].IEEE Transactions on Multimedia,2009,11(6):1082-1093.
[2]唐琳,姜胜明,杨花荣.基于区分队列服务的多媒体传感器网络QoS研究[J].华南理工大学学报:自然科学版,2012,40(8):8-13.Tang Lin,Jiang Sheng-ming,Yang Hua-rong.Investigation into QoS of multimedia sensor network based on differentiated queuing service[J].Journal of South China University of Technology:Natural Science Edition,2012,40(8):8-13.
[3]陈俊杰,倪宏,孙鹏.采用定价机制的多媒体系统多资源分配算法[J].西安交通大学学报,2012,46(6):98-103.Chen Jun-jie,Ni Hong,Sun Peng.Pricing mechanism based multi-resource allocation for multimedia system[J].Journal of Xi’an Jiaotong University,2012,46(6):98-103.
[4]Su Honglei,Yang Fuzheng,Song Jiarun.Packet-layer quality assessment for networked video[J].International Journal of Computers Communications & Control,2012,7(3):565-573.
[5]Yang Fuzheng,Song Jiarun,Wan Shuai,et al.Contentadaptive packet-layer model for quality assessment of networked video services[J].IEEE Journal of Selected Topics in Signal Processing,2012,6(6):672-683.
[6]Yang Fuzheng,Wan Shuai.Bitstream-based quality assessment for networked video:a review [J].IEEE Commu-nications Magazine,2012,50(11):203-209.
[7]Liao Ning,Chen Zhibo.A packet-layer video quality assessment model based on spatiotemporal complexity estimation[C]∥Proceedings of 2010 Visual Communications and Image Processing.Huangshan:SPIE,2010:77441K/1-10.
[8]Garcia M N,Raake A.Parametric packet-layer video quality model for IPTV[C]∥Proceedings of the 10th International Conference on Information Sciences Signal Processing and Their Applications.Kuala Lumpur:IEEE,2010:349-352.
[9]Yamagishi K,Hayashi T.Parametric packet-layer model for monitoring video quality of IPTV services[C]∥Proceedings of IEEE International Conference on Communications.Beijing:IEEE,2008:110-114.
[10]ITU-T SG12.Updated draft terms of reference(ToR)for P.NAMS[EB/OL].(2010-05-10)[2011-11-18].http:∥www.itu.int/md T09-SG12-C-0137/en.
[11]Yang Fuzheng,Wan Shuai,Xie Qingpeng,et al.No-reference quality assessment for networked video via primary analysis of bit-stream [J].IEEE Transactions on Circuits and Systems for Video Technology,2010,20(11):1544-1554.
[12]Ushiki K,Tominaga T,Hayashi T.Verification of picture type estimation method using TS header information toward establishment of objective packet-layer video quality assessment model[R].Fukuoka:Institute of System LSI Design Industry,2007:15-19.
[13]Clark A.Method and system for viewer quality estimation of packet video streams:US,8094713B2[P].2012-01-10.
[14]RFC3550,RTP:a transport protocol for real-time applications[S].
[15]RFC 768,User datagram protocol[S].
[16]RFC 791,Internet protocol[S].
[17]Aimar L,Merritt L,Petit E,et al.x264:a free h264/AVC encoder[CP/OL].(2009-02-17)[2011-11-01].http:∥www.videolan.org/x264.html.
[18]Wikipedia.Spearman’s rank correlation coefficient[DB/OL].(2010-06-13)[2011-11-18].http:∥en.wikipedia.org/wiki/Spearman’s_rank_correlation_coefficient.