一种基于实时视频流传输的带宽探测方法

文档序号:25992873发布日期:2021-07-23 21:05阅读:107来源:国知局
一种基于实时视频流传输的带宽探测方法

本发明涉及信息传输技术领域,尤其是一种基于实时视频流传输的带宽探测方法。



背景技术:

传统技术中,为了利用视频流进行带宽探测,需要将视频流按帧分成多个报文。每个报文之间设置一定的发送间隔。间隔按照指数方式从高到底进行设置。在接收端,根据接收到的报文间隔来分析网络传输的实际端到端带宽。如间隔从大到小变化,当接收端发现在某个报文间隔改变报文间隔设置规律时即可认为此刻为网络发生拥塞的时刻,也就是当前的间隔对应的速率为网络带宽。那么,为了探测低速率带宽,就需要设置较大的报文间隔进行发送,从较低的速率开始发送不断提高速率。这种方法,可能因为视频帧中的某些报文设置了过大的发送间隔,导致整个视频帧的传送延时增大。对于实时视频流,在传输过程中关注视频帧的端到端传输时延,过大的传输时延无法满足对时延有要求的实时视频传输。

因此,本专利为解决在实时视频传输过程中即可利用视频流进行带宽探测,又可提供低延时的视频传输,提出了一种新型的报文间隔设置方法。



技术实现要素:

本发明提出一种基于实时视频流传输的带宽探测方法,能够在传输视频时以间隔报文进行链路带宽测试,能优化视频播放的流畅度。

本发明采用以下技术方案。

一种基于实时视频流传输的带宽探测方法,以探测发送端向探测接收端发送以视频帧拆分的视频报文来进行,所述探测方法包括以下步骤;

步骤s1、在探测发送端,把视频流内的视频帧拆分为若干个内含多个报文的chirp;所述报文中按发送次序分为带宽探测报文和平衡发送速度报文,探测发送端在发送带宽探测报文时,每次发送的发送间隔时长不断减小;

步骤s2、探测发送端以小于网络预测带宽bt的发送速度,按所需的发送间隔,将拆分好的报文通过chirp的包序列形式发送至传输链路,同时在报文包头上附上每个报文的发送时间tsend;

步骤s3、探测接收端根据报文接收情况进行链路带宽值计算。

所述步骤s1包括以下方法;

方法a1、提取视频流中的视频帧,把一个视频帧分成多个chirp,每个chirp包含n+x个报文,前n个报文为带宽探测报文,后x个报文为平衡发送速率报文;

方法a2、在发送平衡发送速率报文时,报文的发送间隔相同;

在发送带宽探测报文时,报文的发送间隔呈线性递减,设相邻报文的发送间隔为δm,则有公式δi=r*δi-1,r<1其中r为0.8;公式一;

方法a3、在发送带宽探测报文时,首个报文的发送速率设置为t时刻的网络预测带宽bt,其中bt值通过rls算法得出,可以得到δm的值为:

在得到δm之后,通过公式一可得到带宽探测报文中其他报文发送间隔;

方法a4、在发送平衡发送速率报文时,发送间隔之间的关系满足下列公式;

方法a5、为避免发送的报文速率超过网络带宽造成网络拥塞,本方法设置一个chirp的发送总速率小于等于网络预测带宽bt,即:

为了在不造成链路拥塞情况下最大化视频传输速率,本方法令chirp的总发送速率等于bt,的值通过下式计算

方法a1中,当n取10,x取6时,若每个报文长度为mtu大小为m,可取1024bits,若其中一个视频帧分割后不足1个chirp的,以剩余的报文个数作为一个chirp。

所述步骤s3中包括以下步骤;

步骤b1、探测发送端在报文发送时,通过探测接收端反馈的端到端时延变化信息di获取对应的时延变化;

设探测接收端反馈的端到端时延变化的起因为链路带宽小于等于网络预测带宽bt或链路带宽值大于等于网络预测带宽bt;

步骤b2、当在若干个报文组成的报文区间内,出现从区间内首个报文的端到端时延至带宽探测报文中最后一个报文的端到端时延持续增大的情况时,为报文发送速率超出链路带宽值导致的端到端时延变化,定义此区间为偏移区间,并把偏移区间中第一个报文的发送速率定义为vl;

当带宽探测报文收发过程中,发送端到接端时延变化趋势为从首个报文开始不断增大至最后一个报文,即当前chirp中的带宽探测报文端到端时延变化仅含有一个偏移区间,可判定为此时链路带宽小于等于bt,因此所有带宽探测报文在链路中排队;设定带宽探测报文中首个报文到达接收端的时间戳为tr1,带宽探测报文中最后一个报文到达接收端的时间戳为tr2,此时带宽值为:

步骤b3、当带宽探测报文收发过程中,出现端到端时延从极低处上升至极高处,又从极高处下降至极低处的情况时,是由于背景流量导致的端到端时延变化,定义此区间为抖动区间,将抖动区间第一个报文的发送速率定义为vd1,将抖动区间最后一个报文的发送速率定义为vd2,通过计算带宽探测报文中每个报文对应的带宽值ei,并通过加权平均算法计算出带宽值;

将抖动区间内的所有报文对应的带宽值设置为即:

将偏移区间内的所有报文对应的带宽值设置为vl,即:

ei=vl公式八;

将不属于抖动区间及偏移区间的所有报文对应的带宽值设置为其本身的发送速率vi,即:

ei=vi公式九;

最后通过加权平均来计算此时带宽值:

在步骤b1中,探测接收端先记录下chirp中带宽探测报文的端到端时延变化信息di,并反馈至探测发送端,再将视频报文传送至视频流接收模块,完成视频流传输;方法为;

步骤c1、记录每个报文到达接收端的时间戳trecv,并获取每个报文的发送时间tsend,计算出报文i的端到端时延qi=tsend-trecv;

步骤c2、计算出带宽探测报文中前n-1个报文的端到端时延变化信息di:其中若qi>qi+1,则di=0;若qi<qi+1,则di=1;

步骤c3、在计算出n-1个端到端时延变化信息di后,将di以及带宽探测报文的首个报文到达时间戳和最后一个报文到达时间戳反馈至探测发送端,用于带宽测量;最后将视频流报文传输至视频流接收模块,完成视频流传输。

本发明针对实时视频流传送过程中基于视频流的带宽探测方法中的可能加大传送时延的问题,提出一种新型的报文间隔设置方法,既可以探测高带宽也可以探测低带宽,还可以有效解决对时延有要求的实时视频流的带宽探测问题。

本发明所述方案,为解决在实时视频传输过程中即可利用视频流进行带宽探测,又可提供低延时的视频传输,提出了一种新型的报文间隔设置方法,通过合理设置报文的发送间隔,能实现低延时的实时视频传输。

附图说明

下面结合附图和具体实施方式对本发明进一步详细的说明:

附图1是本发明的系统模型示意图;

附图2是本发明的chirp模型示意图;

附图3是本发明在探测过程中报文端到端的时延变化信息示意图;

附图4是本发明在探测过程中报文端到端的时延变化信息的另一示意图;

附图5是未采用本发明时,探测用的视频流报文的发送示意图。

具体实施方式

如图所示,一种基于实时视频流传输的带宽探测方法,以探测发送端向探测接收端发送以视频帧拆分的视频报文来进行,所述探测方法包括以下步骤;

步骤s1、在探测发送端,把视频流内的视频帧拆分为若干个内含多个报文的chirp;所述报文中按发送次序分为带宽探测报文和平衡发送速度报文,探测发送端在发送带宽探测报文时,每次发送的发送间隔时长不断减小;

步骤s2、探测发送端以小于网络预测带宽bt的发送速度,按所需的发送间隔,将拆分好的报文通过chirp的包序列形式发送至传输链路,同时在报文包头上附上每个报文的发送时间tsend;

步骤s3、探测接收端根据报文接收情况进行链路带宽值计算。

所述步骤s1包括以下方法;

方法a1、提取视频流中的视频帧,把一个视频帧分成多个chirp,每个chirp包含n+x个报文,前n个报文为带宽探测报文,后x个报文为平衡发送速率报文;

方法a2、在发送平衡发送速率报文时,报文的发送间隔相同;

在发送带宽探测报文时,报文的发送间隔呈线性递减,设相邻报文的发送间隔为δm,则有公式δi=r*δi-1,r<1其中r为0.8;公式一;

方法a3、在发送带宽探测报文时,首个报文的发送速率设置为t时刻的网络预测带宽bt,其中bt值通过rls算法得出,可以得到δm的值为:

在得到δm之后,通过公式一可得到带宽探测报文中其他报文发送间隔;

方法a4、在发送平衡发送速率报文时,发送间隔之间的关系满足下列公式;

方法a5、为避免发送的报文速率超过网络带宽造成网络拥塞,本方法设置一个chirp的发送总速率小于等于网络预测带宽bt,即:

为了在不造成链路拥塞情况下最大化视频传输速率,本方法令chirp的总发送速率等于bt,的值通过下式计算

方法a1中,当n取10,x取6时,若每个报文长度为mtu大小为m,可取1024bits,若其中一个视频帧分割后不足1个chirp的,以剩余的报文个数作为一个chirp。

所述步骤s3中包括以下步骤;

步骤b1、探测发送端在报文发送时,通过探测接收端反馈的端到端时延变化信息di获取对应的时延变化;

设探测接收端反馈的端到端时延变化的起因为链路带宽小于等于网络预测带宽bt或链路带宽值大于等于网络预测带宽bt;

步骤b2、当在若干个报文组成的报文区间内,出现从区间内首个报文的端到端时延至带宽探测报文中最后一个报文的端到端时延持续增大的情况时,为报文发送速率超出链路带宽值导致的端到端时延变化,定义此区间为偏移区间,并把偏移区间中第一个报文的发送速率定义为vl;

当带宽探测报文收发过程中,发送端到接端时延变化趋势为从首个报文开始不断增大至最后一个报文,即当前chirp中的带宽探测报文端到端时延变化仅含有一个偏移区间,可判定为此时链路带宽小于等于bt,因此所有带宽探测报文在链路中排队;设定带宽探测报文中首个报文到达接收端的时间戳为tr1,带宽探测报文中最后一个报文到达接收端的时间戳为tr2,此时带宽值为:

步骤b3、当带宽探测报文收发过程中,出现端到端时延从极低处上升至极高处,又从极高处下降至极低处的情况时,是由于背景流量导致的端到端时延变化,定义此区间为抖动区间,将抖动区间第一个报文的发送速率定义为vd1,将抖动区间最后一个报文的发送速率定义为vd2,通过计算带宽探测报文中每个报文对应的带宽值ei,并通过加权平均算法计算出带宽值;

将抖动区间内的所有报文对应的带宽值设置为即:

将偏移区间内的所有报文对应的带宽值设置为vl,即:

ei=vl公式八;

将不属于抖动区间及偏移区间的所有报文对应的带宽值设置为其本身的发送速率vi,即:

ei=vi公式九;

最后通过加权平均来计算此时带宽值:

在步骤b1中,探测接收端先记录下chirp中带宽探测报文的端到端时延变化信息di,并反馈至探测发送端,再将视频报文传送至视频流接收模块,完成视频流传输;方法为;

步骤c1、记录每个报文到达接收端的时间戳trecv,并获取每个报文的发送时间tsend,计算出报文i的端到端时延qi=tsend-trecv;

步骤c2、计算出带宽探测报文中前n-1个报文的端到端时延变化信息di:其中若qi>qi+1,则di=0;若qi<qi+1,则di=1;

步骤c3、在计算出n-1个端到端时延变化信息di后,将di以及带宽探测报文的首个报文到达时间戳和最后一个报文到达时间戳反馈至探测发送端,用于带宽测量;最后将视频流报文传输至视频流接收模块,完成视频流传输。

本例中,在拆分视频帧时,一个视频帧可以被分成多个chirp,每个chirp包含n+x个报文,n取10,x取6,每个报文长度为mtu大小为m,可以取1024bits.一个视频帧分割后不足1个chirp的以剩余的报文个数作为一个chirp。

如图2所示,每个chirp的n+x个报文分成两个部分,其中前面部分发送n个间隔不断减小的报文,后面x个等间隔报文。记第一个报文和第二个报文之间的间隔长度为δ1,第二个报文和第三个报文之间的间隔长度为δ2,依此类推;本发明专利将前n个报文命名为带宽探测报文,将后x个报文命名为平衡发送速率报文。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1