APP下载

基于主动丢帧的实时视频自适应传输

2011-01-10陈勇斌

关键词:包率数据包编码

蔡 倩,陈勇斌

(1.西南交通大学电气工程学院,四川成都 610031;2.西南交通大学信息科学与技术学院,四川成都 610031)

0 引 言

随着因特网的飞速发展,基于实时视频传输的应用需求也迅猛增长,但实时视频传输对网络具有很高的要求,然而现有网络由于网络拓扑结构的动态变化和网络的异构性等原因,分配给各业务流的网络资源是动态改变和不可预测的,无法为实时视频传输提供相应的QoS(Quality of Service)保证.基于此,研究人员提出一种视频传输的自适应控制方法,即利用一定的反馈或判断机制,例如,基于探测或基于模型的码率控制机制[1,2].目前,常用的网络自适应传输控制机制主要有联播、自适应即时编码、转码、可伸缩编码等[3].然而,这些网络自适应传输控制机制尽管对变化网络环境具有很强的适应性,但都各有缺点.如何设计一个有效的传输方案来传送视频数据,既做到高效,又能最大限度地利用网络资源,达到视频质量随着网络的变化而可调性地变化,给终端用户呈现一个较好的视频服务质量,本文对此做了相应研究.

1 丢包对视频回放质量的影响

1.1 视频编码介绍

通过压缩的视频通常包括3种不同类型的帧[4]:I帧(Intra-coded frames),即帧内图像,通常采用独立编码,其对本帧图像采用离散余弦DCT(Discrete Cosine Transform)算法进行压缩,解码时仅用其自身画面的数据内容来重构完整的图像,不需要参考其他的帧.P帧(Perdicted frames),又称为预测图像,采用预测编码和运动补偿技术,需根据前一个I帧或P帧的变化进行编码,在同一图像组中,后面的P帧依赖前面的P帧,因此位置靠前的P帧重要性较高.B帧(Bi-directional predicted frames),又称为双向预测图像,采用预测编码和运动补偿技术,将同时根据前后的I帧或P帧来完成编解码.总之,对于一个视频帧序列来说,并不是每个帧都同等的重要,而是I帧最为重要,P帧次之,B帧再次之[5].

1.2 丢包对视频回放质量的影响分析

视频传输通常采用UDP协议,当网络的可用资源不足以满足视频传输的需求时,过大的流量会导致网络拥塞,而为了满足视频回放的实时性要求,丢包难以避免.随机丢包会对接收端的视频回放质量产生严重的不利影响,对此,可以用可解画面比例来评估图像的回放质量[6],I帧是参考帧,P帧要参考到先前I帧或P帧,B帧要参考到先前及之后的I帧或P帧.只有当某个画面的所有数据包和这个画面所参考到的画面的所有数据包都可以正确地被接收时,此画面是可解码的.可解画面比例越大,代表图像的质量越好.

令Q表示可解画面比例,Pw表示网络上的丢包率,CI,CP,CB分别表示每种类型的帧被分割的数据包数,则有,

其中,N表示从I帧到I帧之间的画面数,即G OP图像组的长度;M表示I帧到P帧之间的画面数.

对于不同的丢包率,我们对一个实际的MPEG-4视频数据源的影片记录文件Verbose-StarWarsIV.dat按上式计算,结果如表1所示.

表1 可解画面比例(Q值)

从表1可见,随着丢包率的增加,可解画面比例会急剧下降,这是由于丢包破坏了接收到的帧的完整性,造成已正确传送的相关数据解码失败,从而导致播放的断续或质量下降.

2 主动丢帧策略及性能仿真

2.1 主动丢帧策略

为了尽量消除丢包对视频质量的影响,我们提出一种主动丢帧策略,即在视频数据发送之前根据当时的网络状态,选择性地丢弃部分不太重要的B帧,以达到实际视频传输带宽与网络可用带宽相匹配,尽量保证传输的帧的完整性.

采用主动丢帧策略,一方面调整了实际视频的传输带宽,尽量降低了网络拥塞的风险;另一方面,丢弃部分不太重要的B帧,降低了比较重要的I帧、P帧丢失或被破坏的风险,从而可以保证视频流的播放质量.

2.2 NS2中的仿真实现

在实验中,我们采用NS2(Network Simulation 2)网络仿真工具对主动丢帧策略进行仿真验证与分析,仿真环境为Windows XP+cygwin+ns-2.28,仿真网络结构如图1所示.

图1 仿真网络结构示意图

在这个仿真拓扑结构中,R1和R2是路由器,两者之间的链路构成网络瓶颈链路,带宽变化范围为1~0.9倍视频传输所需带宽,并以此来模拟网络可用资源.S为发送节点,D为接收节点,所有非瓶颈链路带宽均为100 Mbps.在S节点应用层使用流量产生器,并根据上述实际的MPEG-4视频数据源影片记录文件产生数据.由于只丢弃不太重要的B帧,通过对上述实际视频源的统计分析,我们发现B帧所占数据量约为整个视频数据量的一半,所以对发送的每一个B帧可按下式计算在网络带宽不足时的丢帧率D,

其中,BWC,BWA分别表示视频传输所需带宽与网络可用带宽.

2.3 仿真结果及分析

2.3.1 可解画面比例(Q值).

在未采用主动丢帧策略的情况下,因为发送端不会根据网络的状况动态调整发送速率,若发送过多的数据到网络上时,就会引起网络拥塞,网络被迫被动丢包,随着网络可用带宽的减少,丢包率越来越大(见图2).由于被迫丢包导致接收到的视频帧的完整性受到破坏,以至于无法正常解码,从而会造成视频回放的质量的严重下降(见图3).

图2 丢包率曲线

图3 可解画面比例

采用主动丢帧策略后,发送方能根据网络的可用带宽动态调整发送速率,使实际视频传输带宽与网络可用带宽相匹配,消除了因网络资源不足造成的丢包现象,虽然也会损失一部分数据,但丢失的是非关键帧,所以丢包率始终维持在很低的一个水平,并且确保了I帧、P帧的完整性,可解画面比例相对于不采用主动丢帧策略有显著地提高,基本上与网络可用带宽呈线性关系(见图3).

2.3.2 端到端延迟.

在不采用主动丢帧策略时,发送节点的发送速率超过了网络可以传输的上限,拥塞在所难免.在网络拥塞的情况下,路由器中的队列长度始终处于满队列或几乎满队列的状态,相应的数据包的排队时延比较长.随着可用带宽越来越少,拥塞也越来越严重,数据包的端到端时延也相应增大.在采用主动丢帧策略的情况下,因提前丢弃了部分不重要数据,降低了数据发送速率,实际视频传输带宽与网络可用带宽相匹配,时延明显缩短(见图4).

图4 端到端延迟

2.3.3 延迟方差.

端到端延迟的方差反映了网络的稳定性,方差越小,网络越稳定,方差越大,说明网络越不稳定.从图5可以看出,随着网络可用带宽的减小,未采用主动丢帧策略时,网络越来越不稳定,而采用主动丢帧策略后,网络的稳定性要好的多,这是因为控制了发送速率,从而避免了网络拥塞的发生.

3 结 论

通过一种智能的方法抢先在发送端丢弃一些非关键帧,降低关键帧被破坏的风险,就能够更好地使用网络资源,有效减缓网络拥塞,提高视频传输与播放的质量.与一般网络传输过程中的丢包不同,本文提出的丢帧方法是受控制的,能有效地改善视频传输的性能和质量.

图5 延迟方差

[1]Wu D,Hou Y T,Zhu W,et al.On End-to-end Architecture for Transporting MPEG-4Video over the Internet[J].IEEE Trans Circuits Syst Video Technol,2000,10(6):1-18.

[2]Floyd S,Fall K.Promoting the Use of End-to-end Congestion Control in the internet[J].IEEE/ACM Trans Networking,1999, 7(4):458-472.

[3]高奎.实时流媒体系统若干关键技术的研究[D].北京:中国科学院计算技术研究所,2005.

[4]江雍,林其伟.一种基于Evalvid的H.264视频QoS评估改进系统[J].电视技术,2007,31(10):59-61.

[5]张大陆,朱小庆,胡治国,等.丢包对视频体验质量影响的分析[J].计算机工程与应用,2010,46(1):71-73.

[6]柯志亨,程荣祥,邓德隽.NS2仿真实验——多媒体和无线网络通信[M].北京:电子工业出版社,2009.

猜你喜欢

包率数据包编码
支持向量机的船舶网络丢包率预测数学模型
二维隐蔽时间信道构建的研究*
一种基于喷泉码的异构网络发包算法*
基于Jpcap的网络数据包的监听与分析
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
电磁线叠包率控制工艺研究
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
Genome and healthcare
SmartSniff