基于分层多播的视频传输拥塞控制算法研究*
2010-06-27王明伟林建中
王明伟,李 琴,王 奇,林建中
(南京邮电大学通信与信息工程学院 南京 210003)
1 引言
以网络视频会议为代表的多媒体多播传输应用在互联网上正得到越来越多的部署[1]。分层多播(RLM)[2]基于视频分层编码技术和分层多播传输技术,以多速率方式解决了多播接收者异构性问题,对于提高网络服务质量具有重要的意义。视频流因数据量大,必须经过压缩编码才能在互联网上进行有效的传输。视频图像编解码标准有国际标准化组织的MPEG、国际电信联盟电信部的H.26x以及MDC、AVC等[3]。视频流传输对带宽、时延及抖动等提出了很高的要求。参考文献[2]较早提出了接收方驱动的分层多播思想,以恒定比特率(CBR)作为分层流量的速率对所提方案进行了仿真实验,但是没有给出MPEG视频分层传输的性能分析。参考文献[4]提出了一种TCP友好的分层多播拥塞控制(RLC)方案。参考文献[5]提出了通过增加网络中间节点增强分层多播拥塞控制响应性的方案。参考文献[6]提出了一个视频传输及其质量评价框架,并给出了一个视频仿真方法,但不涉及分层多播问题。本文在分析分层多播传输模型、MPEG视频分层编码和传输特性的基础上,提出了一种面向视频流传输的分层多播拥塞控制(VLMCC)算法。
2 分层多播传输模型
分层多播基于分层编码和多播传输机制,将待传输数据流编码成多个层,即基层、增强层1,增强层2,…,增强层Lmax等(Lmax为最大分层数),并将经过分层编码的层数据分别放到多个不同的多播组中传输,接收者可以根据自己的接收能力,依次接收从基层到增强层i的数据,接收者只有在接收(i-1)层及其以下层次数据时,才能接收第i层数据。对于L层数据的接收者来说,其吞吐率为其中,Bj表示第j层的速率,TL表示L层数据的接收者的吞吐率。接收者可用带宽越大,可以接收的层次越多,得到的服务质量就越好。分层多播传输模型克服了传统IP多播单速率模式无法满足异构性的缺点,有利于提高整个网络链路的利用率。分层多播传输模型如图1所示,其中S为端系统,R为路由器,r为接收者。
3 MPEG视频流的分层多播传输机制
在MPEG标准[3]中定义了3种图像类型:I帧图像,采用帧内编码,不参照其他图像;P帧图像,参照前一幅I帧或P帧图像做运动补偿编码;B帧图像,参照前一幅和后一幅I帧或P帧图像做双向运动补偿编码。以25 F/s的视频图像为例,I帧图像一般0.5 s左右一幅,两个I帧相隔12帧。两个相邻的I帧图像之间会插入若干个P帧图像,两个相邻的P帧或I帧图像之间会插入若干个B帧图像。I帧作为P帧和B帧图像的参照图像,要求图像质量较高,否则会引起误差,并向P帧和B帧图像扩散。如果两个I帧间隔太大,误差扩散就会非常严重。在视频流中,1个I帧后面一般有3个P帧和8个B帧。其中,两个相邻的P帧,或P帧与I帧之间,有2个B帧。MPEG视频编码特性决定了I帧、P帧和B帧图像之间具有一定的依赖关系,并且I帧、P帧和B帧的重要性或优先级依次降低。
对于MPEG视频流分层多播,发送端和接收端可采用支持分层编码的MPEG编解码器,根据帧的类型确定帧所属分层及优先级。如图2所示,将分层编码MPEG视频流分成 3个层次,I帧组成基层 (L0),P帧组成增强层 1(L1),B 帧组成增强层 2(L2),然后将其放到对应的不同多播组中传输,同时在每个视频帧对应的RTP分组头部携带时间戳、帧类型、序号等控制信息,以进行分层多播传输控制。
4 视频分层多播拥塞控制算法
4.1 优先级传输机制
根据MPEG编码特性,I帧包含的信息最多,占用的比特数最多,P帧次之,B帧最少,且P帧依赖于I帧,B帧依赖于其前后的I帧或P帧,因此,从重要程度来看,I帧最重要,P帧次之,B帧最低。在本文提出的算法中,不同类型的帧将设置成不同的优先级,并放在不同的多播组中传输。这些多播组具有不同的多播数据流标记,构成分层多播的各个分层数据流。视频帧的优先级与多播数据流的标记一一对应,可以大大降低实现优先级策略的复杂度。
在设计优先级策略的基础上,给出了视频流的优先级传输基本机制。在网络链路发生拥塞时,路由器可优先依次丢弃增强层2和增强层1中重要程度低的B帧和P帧分组,使基层中重要程度高的I帧优先得到传输,有助于缓解拥塞并尽可能提高视频传输质量。
4.2 视频分层多播拥塞控制算法
在分析MPEG视频流多播传输特性和优先级传输机制的基础上,结合优先级传输机制和分层多播传输机制,提出了一种基于分层多播的VLMCC算法,如图3所示。
VLMCC算法的基本思想是:在发送端根据视频帧的类型对分组标记相应的优先级,提取出I、P、B帧分层放入基层、增强层1与增强层2中传输,当网络发生拥塞时,优先丢弃优先级低的分组;在接收端,当有空余可用带宽时接收层次增加一层,当发生拥塞时丢弃当前接收的最高层。是否发生拥塞以接收分组中是否有丢失事件作判断依据。接收者周期性地执行加入试验,以此判断是否有可用带宽用于增加层次数据的接收。这样,接收端用加入和退出接收层的方式实现了视频分层多播拥塞控制。
5 仿真实验
5.1 仿真环境
在网络仿真器NS-2[7]上对VLMCC算法进行了仿真实验。首先扩展了NS-2中视频流量产生器模块,并实现了视频分层多播传输拥塞控制算法模块。链路队列采用扩充的优先级队列。仿真实验网络拓扑如图4所示。
在图4中,路由器R1、R2和R3部署了多播路由协议PIM-DM,链路 R1-R2 及 R2-R3 的带宽为 1 000 kbit/s,链路延时200 ms。端系统S与R1之间链路带宽均为1 000 kbit/s,延时 200 ms。r1-R1、r2-R2 和 r3-R3 的带 宽分别为1 000 kbit/s、500 kbit/s、200 kbit/s,延时均为 200 ms。其中,r1、r2、r3具有异构的接收带宽,三者均部署了VLMCC算法。
在仿真实验中,分层多播的最大层数为3,从基层到增强层分别对应于MPEG视频数据流的I帧、P帧及B帧形成的分层数据流。视频数据块最大分段大小为1 024 byte,亦即IP分组最大为1 052 byte。队列长度最大限制为50分组。以一段时长3 600 s、帧速率25 F/s的MPEG视频图像测试序列 Verbose_StarWarsIV.dat为数据源[8],仿真时长3 600 s。
先对视频流量测试序列进行分层预处理,提取帧序号、时间戳、帧类型、帧大小(单位为byte)等信息,形成I帧、P帧、B帧3个分层后的数据源,作为分层多播流量产生器的输入。这样,仿真使用的视频发送时刻、视频帧大小、帧类型等流量特性就与实际的视频流量相一致,从而可以更逼真地仿真真实流量场景。
5.2 仿真结果及分析
对基于分层多播的MPEG视频传输进行仿真,得到接收者所接收的MPEG流量的平均吞吐率、平均延时分别如图5和图6所示。
从图5可以看出,接收者r1、r2、r3具有不同的吞吐率,较好地适应了接收者接收带宽的异构性。由于仿真以MPEG视频流量测试序列作为数据源,而不是采用CBR流量作为数据源,使得仿真实验更加接近实际流量场景,从而接收端接收的视频流量具有与实际场景相符的较强突发特性。其中r1接收到的MPEG总流量平均吞吐率为284.594 kbit/s,标准差为100.665 kbit/s;r2接收到的MPEG总流量平均吞吐率为139.185 kbit/s,标准差为47.290 kbit/s;r3接收到的MPEG总流量平均吞吐率为59.870 kbit/s,标准差为20.075 kbit/s。
从图6可以看出,接收者r1、r2、r3接收的MPEG分层视频流量具有不同的端到端平均延时,r1、r2、r3的平均延时分别为0.430 s、0.659 s、0.945 s,与网络拓扑中延时的设定相吻合。随着视频流量的突发性发送以及分层多播中加入实验的进行,网络负载及链路队列长度时刻变化,使得端到端延时随网络状况发生变化。
接收者r1、r2、r3接收到的分层视频流量的吞吐率具体情况如图7、8和9所示。从图7可以看出,接收者r1可以稳定接收MPEG视频分层数据流中I帧、P帧和B帧的所有分层数据,分别对应于基层、增强层1、增强层2。r1接收到的总吞吐率受限于其可用带宽1 000 kbit/s。图8表明,接收者r2可以稳定接收I帧和P帧的所有分层数据,分别对应于基层、增强层1,并在增强层2上执行间歇性加入实验,以探测网络可用带宽。r2接收到的总吞吐率受限于其可用带宽500 kbit/s。图9表明,接收者r3可以稳定接收I帧的所有分层数据,对应于基层,并在增强层1与增强层2上执行间歇性加入实验,以探测网络可用带宽。r3接收到的总吞吐率受限于其可用带宽200 kbit/s。其中,通过优先级队列的采用,当网络发生拥塞时,可以保护重要程度高的基层和低层分组尽可能不被丢弃,从而进一步提高视频传输质量。
6 结束语
本文以视频流传输应用为研究背景,对视频流分层编码和分层多播传输特性进行了分析,并提出了一种VLMCC算法,并通过仿真实验进行了验证。仿真实验表明,本文提出的VLMCC算法能适应视频多播应用中接收者可用带宽的异构性问题,大大提高了视频流传输质量。
1 Ke C H,Shieh C,Hwang W,et al.An evaluation framework for more realistic simulations of MPEG video transmission.Journal of Information Science and Engineering,2008,24(2):425~440
2 Canne S M,Jacobson V,Vetterli M.Receiver-driven layered multicast.In:Proc of ACM SIGCOMM'96,Stanford,CA,August 1996
3 Van G,David P,Reisslein M.Traffic characteristics of H.264/AVC variable bit rate video.IEEE Communications Magazine,2008,46(11):164~174
4 Vicisano L,Rizzo L,Crowcroft J.TCP-like congestion control for layered multicast data transfer.In:Proc of IEEE INFOCOM’98,April 1998
5 Nakauchi K,Morikawa H,Aoyama T.A network-supported approach to layered multicast.In Proc of IEEE ICC2001,June 2001
6 Klaue J,Rathke B,Wolisz A E.A framework for video transmission and quality evaluation.In:the 13th International Conference on Modelling Techniques and Tools for Computer Performance Evaluation,Urbana,Illinois,USA,2003
7 Canne S M,Floyd S.The LBNL network simulator,NS-2.http://www.isi.edu/nsnam/ns,2008
8 Patrick S,Frank H P,Martin R.Video traces for network performance evaluation.Germany:Springer Press,2006