调整流媒体码流发送速率的方法和装置的制造方法

文档序号:9238671阅读:431来源:国知局
调整流媒体码流发送速率的方法和装置的制造方法
【技术领域】
[0001]本发明涉及流媒体领域,特别涉及一种调整流媒体码流发送速率的方法和装置。
【背景技术】
[0002]在流媒体实时通讯业务中,由于所产生的码流帧数据并不是均匀大小,为了有效防止网络抖动,防止出现拥塞,此时需要发送端调整流媒体码流的发送速率。
[0003]目前通过拥塞控制信息调节流媒体码流的发送速率,当网络中发生拥塞,逐渐减小流媒体码流的发送速率,而当拥塞消除,网络状态良好时,逐渐增大流媒体码流的发送速率,从而使得流媒体码流的发送速率呈现锯齿状。然而,通过拥塞控制信息调节流媒体码流的发送速率,只能使码流发送速率整体均匀,依旧存在短时间之内发送速率过大的问题,发送速率不平稳,容易造成网络拥塞、丢包等问题。

【发明内容】

[0004]本发明实施例所要解决的一个技术问题是:解决流媒体码流发送速率的平稳问题。
[0005]根据本发明实施例的一个方面,提出一种调整流媒体码流发送速率的方法,包括:根据通信双方可接受的码流和设置的空闲码流确定有效码流;根据有效码流和通信双方可接受的帧率确定基准数据发送量和基准发送速率单位,基准数据发送量表示单位时间能够发送的数据量,基准发送速率单位表示编码每帧所占用的平均时间;根据基准数据发送量和基准发送速率单位以及待发送数据包的长度,确定发送该待发送数据包所用的参考时间长度;根据参考时间长度和数据包发送所用的执行时间确定该待发送数据包的实际发送时长;将该待发送数据包均匀分布在该实际发送时长的时间之内发送出去。
[0006]在一个实施例中,根据有效码流和通信双方可接受的帧率确定基准数据发送量和基准发送速率单位包括:根据通信双方可接受的帧率的倒数确定基准发送速率单位;根据通信双方可接受的帧率的倒数以及有效码流的乘积确定基准数据发送量。
[0007]在一个实施例中,根据基准数据发送量和基准发送速率单位以及待发送数据包的长度,确定发送该待发送数据包所用的参考时间长度包括:根据如下公式计算发送该待发送数据包所用的参考时间长度:
[0008]TS=I X (Len/T),
[0009]其中,TS表示发送待发送数据包所用的参考时间长度,I表示基准发送速率单位,Len表示待发送数据包的长度,T表示基准数据发送量。
[0010]在一个实施例中,根据参考时间长度和数据包发送所用的执行时间确定该待发送数据包的实际发送时长包括:比较参考时间长度和数据包发送所用的执行时间;如果参考时间长度大于数据包发送所用的执行时间,则将参考时间长度减去数据包发送所用的执行时间得到的差值作为该待发送数据包的实际发送时长;如果参考时间长度小于或等于数据包发送所用的执行时间,则将数据包发送所用的执行时间作为该待发送数据包的实际发送时长。
[0011]在一个实施例中,该方法还包括:判断是否达到加速处理的预警条件,如果没有达到预警条件,根据参考时间长度和数据包发送所用的执行时间确定该待发送数据包的实际发送时长;其中,预警条件为发送缓存队列剩余空间小于等于第一预设值或者数据包缓存时延大于等于第二预设值。如果达到预警条件,确定加速数据包长度阈值;比较待发送数据包的长度和加速数据包长度阈值;如果待发送数据包的长度小于加速数据包长度阈值,将数据包发送所用的执行时间作为该待发送数据包的实际发送时长;如果待发送数据包的长度大于或等于加速数据包长度阈值,根据参考时间长度、数据包发送所用的执行时间、基准数据发送量以及待发送数据包的长度确定该待发送数据包的实际发送时长。
[0012]在一个实施例中,根据参考时间长度、数据包发送所用的执行时间、基准数据发送量以及待发送数据包的长度确定该待发送数据包的实际发送时长包括:根据如下公式确定该待发送数据包的实际发送时长:Tuse=TS-(T/Len) XTcpu,
[0013]其中,Tuse表示待发送数据包的实际发送时长,TS表示发送待发送数据包所用的参考时间长度,Len表示待发送数据包的长度,Tcpu表示数据包发送所用的执行时间。
[0014]根据本发明实施例的再一个方面,提出一种调整流媒体码流发送速率的装置,包括:基准数据确定单元,用于根据通信双方可接受的码流和设置的空闲码流确定有效码流;根据有效码流和通信双方可接受的帧率确定基准数据发送量和基准发送速率单位,基准数据发送量表示单位时间能够发送的数据量,基准发送速率单位表示编码每帧所占用的平均时间;根据基准数据发送量和基准发送速率单位以及待发送数据包的长度,确定发送该待发送数据包所用的参考时间长度;基准速率处理单元,用于根据参考时间长度和数据包发送所用的执行时间确定该待发送数据包的实际发送时长;以及,发送单元,用于将该待发送数据包均匀分布在该实际发送时长的时间之内发送出去。
[0015]在一个实施例中,基准数据确定单元在确定基准数据发送量和基准发送速率单位时,具体用于:根据通信双方可接受的帧率的倒数确定基准发送速率单位;根据通信双方可接受的帧率的倒数以及有效码流的乘积确定基准数据发送量。
[0016]在一个实施例中,基准数据确定单元在确定发送该待发送数据包所用的参考时间长度时,具体用于:根据如下公式计算发送该待发送数据包所用的参考时间长度:TS=IX (Len/T),
[0017]其中,TS表示发送待发送数据包所用的参考时间长度,I表示基准发送速率单位,Len表示待发送数据包的长度,T表示基准数据发送量。
[0018]在一个实施例中,基准速率处理单元,具体用于:比较参考时间长度和数据包发送所用的执行时间;如果参考时间长度大于数据包发送所用的执行时间,则将参考时间长度减去数据包发送所用的执行时间得到的差值作为该待发送数据包的实际发送时长;如果参考时间长度小于或等于数据包发送所用的执行时间,则将数据包发送所用的执行时间作为该待发送数据包的实际发送时长。
[0019]在一个实施例中,该装置还包括:预警单元,用于判断是否达到加速处理的预警条件;其中,预警条件为发送缓存队列剩余空间小于等于第一预设值或者数据包缓存时延大于等于第二预设值;基准速率处理单元,具体用于如果预警单元判断结果为没有达到预警条件,根据参考时间长度和数据包发送所用的执行时间确定该待发送数据包的实际发送时长。
[0020]在一个实施例中,该装置还包括:加速处理单元,用于如果预警单元判断结果为达到预警条件,确定加速数据包长度阈值;比较待发送数据包的长度和加速数据包长度阈值;如果待发送数据包的长度小于加速数据包长度阈值,将数据包发送所用的执行时间作为该待发送数据包的实际发送时长;如果待发送数据包的长度大于或等于加速数据包长度阈值,根据参考时间长度、数据包发送所用的执行时间、基准数据发送量以及待发送数据包的长度确定该待发送数据包的实际发送时长。
[0021]在一个实施例中,加速处理单元在确定该待发送数据包的实际发送时长时,具体用于:根据如下公式确定该待发送数据包的实际发送时长=Tuse=TS-(T/Len) XTcpu,
[0022]其中,Tuse表示待发送数据包的实际发送时长,TS表示发送待发送数据包所用的参考时间长度,Len表示待发送数据包的长度,Tcpu表示数据包发送所用的执行时间。
[0023]本发明实施例至少具有以下优点:
[0024]一方面,根据码流、帧率等信息确定待发送数据包的参考发送时间,并结合数据包发送所用的执行时间确定数据包的实际发送时长,然后将待发送数据包均匀分布在实际发送时长的时间之内发送出去,在保障发送速率整体均匀的情况下,可以平滑流媒体的发送速率,降低网络拥塞,减少网络丢包。
[0025]再一方面,在达到预警条件时,还可以在可控范围内对数据包进行加速处理,当待发送数据包长度大于一定的阈值后,使其发送时间介于数据包发送所用的执行时间以及参考发送时间之间,起到平滑作用,避免引起带宽的剧烈波动。
[0026]通过以下参照附图对本发明的示例性实施例的详细描
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1