您的位置:首页 > 理论基础 > 计算机网络

基于RTP/RTCP的无线视频传输自适应带宽控制

2017-11-09 15:27 417 查看
1、RTP/RTCP简介

RTP协议是IP网络中针对实时业务的一种传输协议,一般构架在UDP协议之上。另外,它也是一个数据封装协议,实时业务数据封装于RTP包的数据域中。RTP协议的设计目的是提供实时数据传输中的时间戳信息及各数据流(音/视频等)同步功能。RTP提供序列号(Sequence
Number)以恢复数据包的顺序,实现丢包检测,为实时传输提供网络拥塞等信息;提供时间戳(Timestamp)用于媒体同步,使接收端按正确的速率回放数据;提供同步源标志(Source
Identification)使接收端有可能获得有关发送方的信息。RTCP控制包共有五种类型,其中用于提供QoS反馈的有两种:发送端报告(Sender Report , SR)和接收端报告(Receiver
Report ,RR) 。前者描述发送端的发送和接收统计数据;后者描述接收端的接收统计数据。这些统计数据包括发送包数、发送字节数、累计丢包数、已收报文的最大序列号、到达时间间隔抖动等
2、基于RTP/RTCP的控制理论基础及控制模型
λ为当前丢包率,λc为丢包率下限,λl为丢包率上限。

当λ>λc时,网络拥塞;

当λ<λl时,网络空闲;

当λl=<λ<=λc时,网络负载适中
当网络拥塞时,降低发送速度,当网络空闲时,可适当提升发送速度。控制模型如下:




3、反馈控制算法

我们采取基于RTP协议的端到端反馈拥塞控制策略。接收端根据RTP数据包的接收情况生成RTCP接收报告RR ,周期性地向发送端反馈此RTCP包,通告发送端当前的网络状况。发送端根据反馈的信息采取相应的控制算法调节输出码率,从而实现拥塞控制。我们利用某段时间内的丢包率作为判断网络是否拥塞的标准。发送端根据RTCP反馈包中的信息可计算出丢包率。

为了防止QoS抖动,我们使用下述低通滤波器对丢,包率λ进行平滑处理:

λ=aλ+ (1-a)b(λ为最新计算出的丢包率,b为当前使用中的丢包率,a为权重(0<a<1)。我们设置两个门限值λc
,λl,根据平滑后的丢包率λ,作如下估计:

当λ>λc时,网络拥塞;

当λ<λl时,网络空闲;

当λl=<λ<=λc时,网络负载适中
设MaxRate/ MinRate是发送端最大/最小输出比特率; Speed0
是初始速率;Step是速率的线性增量;β是乘性减小因子。我们采取下述反馈控制算法:
●发送端
(1)按初始速率Speed0发送数据
Speed : = Speed0 ;(MinRate≤Speed≤MaxRate)
(2)根据接收端反馈的RTCP包中的信息计算出丢包率,平滑处理后进行网络负载判断并调整输出码率:
if (λ>λc)
  Speed = max{(β*Speed) ,MinRate} ;
Else if (λ<λl)
  Speed = min{( Speed + Step) ,MaxRate}
Else

Speed = Speed
●接收端
每收到N个数据包或最多5s发送一RTCP反馈包至发送端,其中包含从发出上一个反馈包到发送此包期间内的QoS信息。此反馈拥塞控制策略能使整个H264视频传输系统实时监视带宽的变化,动态地改变输出码率,充分利用当前带宽。当网络拥塞时,发送速率乘性减小,降低对所需带宽的要求,同时设置一最小发送码率MinRate
,保证发送端所需的最小带宽;当网络空闲时,线性增加发送码率,同时设置一最大发送码率MaxRate ,保证发送端不会过度占用资源;当网络负载正常时,不作任何调整。由于发送端采取类似TCP拥塞控制中的AIMD策略(Addictive
Increase ,Multiplicative Decrease) ,它可以进一步缩短实时传输系统处于拥塞状态下的时间,进一步降低丢包率和时延,为用户提供良好的服务质量,并且保证了同其它协议的数据流竞争带宽的公平性。
建议参数
MTU
Speed0
MaxSpeed
MinSpeed
Step
a
β
N
λc
λl
 
 
 
 
5kbps
0.7
0.8
 
5%
1%
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: