基于拥塞控制的视频网络传输质量保证算法
2013-08-01丰洪才胡伟刚
龚 永,丰洪才,胡伟刚,张 赤,金 凯
(1.武汉工业学院数学与计算机学院,湖北 武汉 430023;2.武汉工业学院网络中心,湖北 武汉 430023)
随着互联网和多媒体技术的发展,视频网络实时传输已经成为网络中的重要应用之一,然而因网络拥塞导致的视频在网络中传输延时和丢包对视频传输质量造成了极大的影响。为了提高网络视频传输质量,国内外专家学者开展了大量的研究并提出了许多视频编码方案和拥塞控制算法。多描述编码(multiple description coding,MDC)将视频编码成多个适应不同带宽的独立描述,以便与最符合的网络带宽建立联系。一般来说,多数的MDC采用多个独立的视频描述进行传输[1-2],接收端解码器只要接收到一个或多个描述,就可以恢复出相应质量的视频。非平衡多描述编码(unbalanced multiple description coding,UMDC)使用多个不同重要性和质量的视频描述,能够灵活控制编码引入的冗余量,同时充分利用网络不同路径的可用带宽。FLOYD和JACOBSON提出的随机早期检测RED(random early detection)算法[3]是最典型的主动队列管理 AQM(active queue management)拥塞控制算法,目前已成为互联网工程任务组IETF(internet engineering task force)推荐的唯一AQM候选策略。RED算法虽然能避免全局同步现象,并能有效地提高链路带宽利用率和减小队列平均长度,但是也存在许多需要解决的问题,比如在给定流量条件下分组队列长度稳态误差、带来的时延抖动、在不同流量条件下平均队长变化较大造成大量分组丢失[4],以及不能有效估计拥塞的严重性等[5]。为了解决这些问题,保证视频传输的实时性和接收端的解码质量,笔者采用非平衡多描述视频编码,提出了一种能有效减少网络时延和降低丢包率,并在有效估计网络拥塞状况的基础上提高视频传输效率的算法,仿真实验表明,与RED算法相比,笔者提出的算法能更为有效地估计网络拥塞状况、降低丢包率和减少网络延迟,从而更有效地保证视频网络传输质量。
1 非平衡多描述编码
按照各个描述的重要性,通过划分描述的权重将多描述编码分为平衡多描述编码(balanced multiple description coding,BMDC)和非平衡多描述编码,其中非平衡多描述编码使用若干个不同权重和质量的视频描述。笔者采用两个描述进行说明,即高分辨率(high-resolution,HR)描述具有较高的权重和质量,低分辨率(low-resolution,LR)描述作为冗余用于隐藏HR描述在传输过程中包丢失产生的错误[6-7]。
笔者引入“同步帧”的概念,它是LR编码器重构的I帧,采用LR编码器的输入与HR编码器的重构帧关联来代替原始视频帧,其作用是在HR编码器的帧缓冲区内取代HR编码器当前重构的P帧,在HR编码器编码下一个P帧时作为参考帧。在编码器端利用“同步帧”来增强HR与LR描述之间的相关性,在解码器端HR解码器必须取得“同步帧”用于下一个P帧的运动补偿。
使用“同步帧”增强HR描述和LR描述的相关性,以便处理多种包丢失的情况,下面分3种情况讨论编码器和解码器在增强HR描述和LR描述相关性的工作方式:①当HR描述和LR描述都顺利接收时,两个描述可以正确解码,解码器输出的是HR描述的数据,否则解码器只有等到下一个“同步帧”到达后才开始重新解码,解码器在暂停解码过程中输出上一次解码得到的已解码帧;②当HR描述能顺利接收而LR描述在传输中丢失时,LR编码器的输入为HR编码器的重构帧,此时只需将HR解码器的输出直接输入到一个标准编码器,生成LR描述正确重构LR描述中因包丢失损坏的帧,从而继续LR描述的解码;③当LR描述能顺利接收而HR描述在传输中丢失时,由于“同步帧”是HR描述的下一个P帧的参考帧,因此在HR编码器与解码器之间不存在不匹配的情况,此时HR解码器只需从LR解码器输出得到下一个“同步帧”即可重新开始解码。
2 网络数据传输路径选择和算法实现
2.1 单向延迟检测
网络传输延迟是衡量网络性能的一个重要参数,可分为单向延迟和双向延迟两种。由于数据包在往返传输过程中可能经历不同的路径,且非平衡多描述视频编码大量视频数据传输主要关注的是从发送端到接收端的单向路径,因此单向传输延迟对于网络视频应用更有意义。测量单向网络传输延迟的步骤如下:
(1)协商发送端和接收端时钟同步。
(2)发送端按照TCP(transmission control protocol)协议的结构生成测试数据包,确定并在其中填充目的接收端IP(internet protocol)地址,在测试包中设置时间戳,空缺部分用随机比特位填充,然后将填写好的测试数据包发送到目的端主机。
(3)目的接收端接收到相应的测试数据包后,计算传输的单向延迟。
2.2 可用带宽检测
定义参数 RDd=(RDavg-RDmin)/(RDmax-RDmin),其中 RDavg,RDmin,RDmax分别为 n 个测试数据包的平均传送延迟、最小传送延迟和最大传送延迟。当测试数据包发送速率大于可用带宽时,测试数据流的延迟将导致RDavg呈现增长的趋势,由定义可知RDd也呈现增长的趋势;反之测试数据流延迟将无变化趋势,RDavg将接近RDmin,由RDd定义可知其将接近0。实验表明,将参数RDd的值设定为0.45时,检测到的可用带宽与实际可用带宽误差近似于0。
定义参数 RDn=RDavg/RDmax-RDmin/RDavg,通过比较接收到的测试数据包发送延迟的变化幅度,调整测试数据包的发送速率,使得探测速率快速逼近可用带宽。当测试数据包的发送速率小于当前网络可用带宽时,n个数据包的 RDavg与RDmax、RDmin接近,这时 RDn接近于0;反之 RDn将呈现增长的趋势。实验表明,将RDn的值设定为0.017时,检测到的可用带宽与实际可用带宽误差近似于0。
可用带宽检测的算法步骤描述如下:
(1)初始化Smax为瓶颈链路的物理带宽、Smin和Snow为零,其中Smax、Smin和Snow分别为探测包发送速率的最大、最小和实时值;
(2)设定Snow=(Smax+Smin)/2,开始发送检测数据包;
(3)当目的端接收到100个检测数据包后开始计算RDd和RDn;
(4)当 RDd>0.45且 RDn<0.017时,输出链路带宽检测值为Snow,本次可用带宽检测结束;
(5)当RDd>0.45时,Smax=Snow;否则 Smin=Snow,并且按式(1)重新计算Snow;
(6)返回步骤(2)。
2.3 网络拥塞状况预测
在一定的时间间隔中,网络拥塞状况具有离散Markov链的统计规律,运用马尔科夫模型预测网络拥塞状态的主要内容是估算网络拥塞状态的转移概率矩阵,一般使用统计估算法[8]。
定义网络拥塞状态空间S={空闲,正常,拥塞},设在连续两个时段内前一个时段网络拥塞状态处于i而后一个时段处于j的概率为Pij(i=1,2,…,n;j=1,2,…,n),进而构造出一步转移概率矩阵P。
设向量 X(t)=(X1(t),X2(t),…,Xn(t))为第t个时段网络拥塞状态的分布向量,由式(2)可以计算出在第t+1时段网络所处的拥塞状态,从而可对下一步的网络状况做出预测。
2.4 传输路径选择
2.5 算法实现
笔者提出的算法采用非平衡多描述编码方法进行视频编解码,以网络的单向延迟为度量来检测当前视频传输路径的可用带宽[9],在此基础上运用马尔科夫模型预测网络状况,通过链路传输能力因子Fl选取传输路径,发送端根据预测到的网络状况调整视频发送码率。
2.5.1 发送端算法过程描述
(1)与接收端建立TCP连接;
(2)视频编码并设置初始发送码率;
(3)发送测试数据包并根据接收端的反馈信息计算各传输路径的可用带宽网络和链路的传输能力因子Fl,选取Fl最大的一条链路为视频传输路径;
(4)根据式(2)预测网络链路拥塞状态,动态调整视频发送码率。如果视频传输路径处于空闲或正常状态,则提高视频发送码率;如果视频传输路径皆处于拥塞状态,则降低视频发送码率,否则转步骤(3);
(5)发送视频描述;
(6)若收到停止视频通信指令,则向接收端发送含有停止视频通信标志的数据包,否则转步骤(3)。
2.5.2 接收端算法过程描述
(1)与发送端建立TCP连接;
(2)接收检测数据包,统计检测数据包的延迟状况[10];
(3)计算参数RDd和RDn,执行带宽检测算法,将算法执行结果反馈给发送端;
(4)接收视频描述并采用非平衡多描述编码方法进行视频解码;
(5)若收到含有停止视频通信标志的数据包,则终止带宽检测算法和本算法,否则转步骤(2)。
3 实验结果
实验仿真平台为Opnet,传输的视频流来源于典型的视频测试序列foreman,采用TCP突发流产生拥塞,选取仿真实验中一段时长为180 s的实验片段,仿真实验结果如图1和图2所示。
图1 笔者算法与RED算法在延迟方面的比较
图2 笔者算法与RED算法在丢包率方面的比较
从图1和图2可看出,由于预测到拥塞后耗费了一定的时间进行最优路径选择,笔者提出的算法在延迟和丢包率方面持续增大且大于同期RED算法的延迟和丢包率,但随着最优传输路径的确定,延迟和丢包率迅速减小且小于同期RED算法的延迟和丢包率。从仿真实验数据可计算出笔者算法与RED算法的平均延迟和丢包率分别为0.108 6 s和13.09%、0.196 3 s和19.87%,因此,从整体上来看,笔者算法在通过控制拥塞来保证视频传输质量方面比RED算法更为有效。
4 结论
网络拥塞严重影响了视频网络传输质量,因此,笔者提出一种视频网络传输质量保证算法,即采用非平衡多描述编码技术进行视频编码,在检测实时可用带宽的基础上运用马尔科夫模型预判网络拥塞,更换传输路径为所选择的最优路径。仿真结果表明,在网络拥塞的情况下,所提出的视频网络传输质量保证算法比RED算法能更有效地估计拥塞状况,减少网络延迟和降低丢包率,保证了视频传输质量。
[1] VAISHAMPAYAN V A.Design of multiple description scalar quantizers[J].IEEE Transaction on Information Theory,1993(39):821 -834.
[2] APOSTOPOULOS J G,WEE S J.Unbalanced multiple description video communication using path diversity[C]//Proceedings of IEEE International Conference on Image Processing(ICIP'01).Thessaloniki:[s.n.],2001:966-969.
[3] FLOYD S,JACOBSON V.Random early detection gateways for congestion avoidance[J].IEEE/ACM Transaction on Networking,1993(4):397-413.
[4] RYU S,RUMP C,QIAO C.Advances in internet congestion control[J].IEEE Communications Surveys &Tutorials,2003,5(1):28 -39.
[5] 汪华斌.基NS2的RED算法研究和仿真分析[J].计算机系统应用,2008,17(12):49-53.
[6] 李彬,黄峰,孙立峰,等.一种鲁棒灵活的非平衡多描述视频编码和传输方案[J].计算机学报,2008,31(7):1155-1164.
[7] 时鸿涛.基于正态平稳的马尔可夫周期流量预测算法[J].青岛农业大学学报:自然科学版,2010,27(4):330-333.
[8] 关礼安,汪斌强,朱宣勇.基于下一跳可用带宽和链路利用率的路径选择算法[J].电信科学,2010,26(8):30-34.
[9] 王德正,夏阳.网络性能度量研究[J].武汉理工大学学报:信息与管理工程版,2011,33(3):375-378.
[10] 樊金荣,方华京.网络控制系统中采样周期问题的研究[J].武汉理工大学学报:信息与管理工程版,2010,32(3):348 -352.