本申请涉及通信技术领域,特别是涉及一种带宽估计方法、装置、电子设备及计算机可读存储介质。
背景技术:
丢包是网络传输过程中比较常见的问题,丢包产生的原因有很多,基本可以分为以下几种:网络拥塞、通信链路质量差(如无线信号弱,或干扰严重)、人为干预的丢包。
此外,在互联网上的部分udp(userdatagramprotocol,用户数据报协议)应用没有基本的拥塞控制,抢占带宽资源的情况很严重,这就进一步加剧了丢包发生的概率。因此,面对丢包这种情况,需要能在各种丢包场景下都有比较好的适应性,在丢包和可用带宽两者之间取得一个平衡。
技术实现要素:
本申请主要解决的技术问题是提供一种带宽估计方法、装置、电子设备及计算机可读存储介质,能够根据实际情况选择发送带宽。
为了解决上述问题,本申请第一方面提供了一种带宽估计方法,所述方法包括:根据发送端发送的数据以及接收端接收到的数据,统计当前周期的丢包率和接收带宽;计算当前周期的丢包率与上一周期的丢包率之间的丢包增加率;根据所述丢包增加率与预设门限值的大小关系来调整下一周期的发送带宽。
为了解决上述问题,本申请第二方面提供了一种带宽估计装置,包括:信息获取模块,所述信息获取模块用于根据发送端发送的数据以及接收端接收到的数据,统计当前周期的丢包率和接收带宽;计算模块,所述计算模块用于计算当前周期的丢包率与上一周期的丢包率之间的丢包增加率;带宽选择模块,所述带宽选择模块用于根据所述丢包增加率与预设门限值的大小关系来调整下一周期的发送带宽。
为了解决上述问题,本申请第三方面提供了一种电子设备,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现上述第一方面的带宽估计方法。
为了解决上述问题,本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令被处理器执行时实现上述第一方面的带宽估计方法。
本发明的有益效果是:区别于现有技术的情况,本申请根据发送端发送的数据以及接收端接收到的数据,统计当前周期的丢包率和接收带宽,然后计算当前周期的丢包率与上一周期的丢包率之间的丢包增加率,并根据丢包增加率与预设门限值的大小关系来调整下一周期的发送带宽。通过考察在两个时间周期内的丢包增加率,来调整下一周期的发送带宽,从而可以估算出网络的可用带宽,使发送带宽可以满足实际需要而避免浪费网络资源;另外,在高丢包环境下也能探测出合适的可用带宽,可以保证音视频会话的顺利进行。
附图说明
图1是本申请带宽估计方法一实施例的流程示意图;
图2是图1中步骤s13一实施例的流程示意图;
图3是图2中步骤s132一实施例的流程示意图;
图4是图3中步骤s1322一实施例的流程示意图;
图5是图2中步骤s133一实施例的流程示意图;
图6是图5中步骤s1333一实施例的流程示意图;
图7是本申请带宽估计装置一实施例的框架示意图;
图8是本申请电子设备一实施例的框架示意图;
图9是本申请计算机可读存储介质一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请带宽估计方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤s11:根据发送端发送的数据以及接收端接收到的数据,统计当前周期的丢包率和接收带宽。
实时音视频应用中要求低延时、流畅性好,而实际网络状态却是复杂多变的,丢包,延时和网络带宽都在时刻变化,因此需要充分利用系统的可用带宽,并保证传输延时在一个合理的范围内,从而保证音视频质量。本实施例可以预先配置初始的估算带宽、时间周期、初始的丢包率。估算带宽为估计出来的、在下一个周期网络能成功传送到接收端的单位时间内的数据流量,由于初始的丢包率设置为0,因此初始的估算带宽为音视频默认码率,在第一个时间周期,发送端按此值来对音视频的码率进行编码,并将数据发送出去;一个时间周期可以默认为2秒,当然也可以将时间周期设置为参数进行调节。可以理解的是,在当前时间周期里,根据发送端发送的数据,可以统计得到当前周期的发送带宽,发送带宽是在数据发送端发出的单位时间的数据流量,而根据接收端接收到的数据,可以统计得到当前周期的接收带宽,接收带宽是在一个周期内数据接收端统计出来的接收到的单位时间的数据流量,丢包率是指测试中所丢失数据包数量占所发送数据组的比率,因此,根据发送端发送的数据以及接收端接收到的数据,可以统计得到当前周期的丢包率。
步骤s12:计算当前周期的丢包率与上一周期的丢包率之间的丢包增加率。
步骤s13:根据所述丢包增加率与预设门限值的大小关系来调整下一周期的发送带宽。
在统计得到当前周期的丢包率后,可以与上一周期的丢包率进行比较,具体地,计算当前周期的丢包率减去上一周期的丢包率的值,即当前周期的丢包率与上一周期的丢包率之间的丢包增加率,丢包增加率表示当前周期与上一周期相比较,丢包率的增加程度。本实施例中,可以预先设置一个丢包增加率的预设门限值,然后根据丢包增加率与预设门限值的大小关系来调整下一周期的发送带宽,一般来说,当丢包率达到30%以上时,基本上就估算不出有效的可用带宽了,然而事实上,此时网络上仍然是有可能有足够的可用带宽的,因此,本申请不考虑当前周期的丢包率具体为多少,而考虑当前周期的丢包率与上一周期的丢包率之间的丢包增加率,因此即使在高丢包环境下,也能有效地为音视频应用探测出合适的可用带宽,保证音视频会话的顺利进行。
上述方案,根据发送端发送的数据以及接收端接收到的数据,统计当前周期的丢包率和接收带宽,然后计算当前周期的丢包率与上一周期的丢包率之间的丢包增加率,并根据丢包增加率与预设门限值的大小关系来调整下一周期的发送带宽,即通过考察在两个时间周期内的丢包增加率,来调整下一周期的发送带宽,从而可以估算出网络的可用带宽,使发送带宽可以满足实际需要而避免浪费网络资源;并且,即使在高丢包环境下也能探测出合适的可用带宽,可以保证音视频会话的顺利进行。
进一步地,请结合图2,图2是图1中步骤s13一实施例的流程示意图。在一实施例中,上述步骤s13具体可以包括:
步骤s131:判断所述丢包增加率是否超过所述预设门限值。若所述丢包增加率未超过所述预设门限值,则执行步骤s132。
步骤s132:若所述丢包增加率未超过所述预设门限值,则增大所述下一周期的发送带宽。
预设门限值可以设置为3%,当然也可以根据实际需要确定,本申请对此不做限定。若当前周期的丢包率与上一周期的丢包率之间的丢包增加率未超过预设门限值,则表示当前周期所采用的发送带宽相对于上一周期来说,并未造成较大的丢包率的增加,因此有理由相信此时网络上仍然存在足够的可用带宽,因此可以通过增大下一周期的发送带宽的方式继续探测是否存在可用带宽,此时即使在高丢包环境下,也能有效地为音视频应用探测出合适的可用带宽,保证音视频会话的顺利进行。
进一步地,请结合图3,图3是图2中步骤s132一实施例的流程示意图。在一实施例中,上述步骤s132具体可以包括:
步骤s1321:将当前周期的估算带宽设置为所述当前周期的接收带宽和上一周期的估算带宽两者中的较大值。
在本申请中,上一周期的估算带宽指的是估计出来的、在当前周期网络能成功传送到接收端的单位时间内的数据流量,而当前周期的接收带宽是实际统计的、在当前周期网络能成功传送到接收端的单位时间内的数据流量,由于此时丢包增加率未超过预设门限值,即此时网络上仍然存在足够的可用带宽,因此,可以估计出来,在下一周期网络能成功传送到接收端的单位时间内的数据流量应该不小于上一周期的估算带宽,也应该不小于当前周期的接收带宽,于是,可以将当前周期的估算带宽设置为当前周期的接收带宽和上一周期的估算带宽两者中的较大值。
步骤s1322:根据所述当前周期的估算带宽与所述上一周期的估算带宽之间的大小关系来增大所述下一周期的发送带宽。
此时,当前周期的估算带宽与上一周期的估算带宽之间的大小关系,只有当前周期的估算带宽大于上一周期的估算带宽,或者当前周期的估算带宽等于上一周期的估算带宽这两种情况。可以理解的是,由于发送带宽等于音视频码率加上冗余数据带宽,而冗余数据带宽指的是除了音视频的数据外,发送端用作fec(前向纠错)或重传的那部分流量带宽;因此,若当前周期的估算带宽大于上一周期的估算带宽,则说明目前网络中的可用带宽还能够承受当前周期的发送带宽,于是可以选择在下一周期加大音视频码率的方式来增大下一周期的发送带宽,若当前周期的估算带宽等于上一周期的估算带宽,则说明目前网络中的可用带宽可能已经没有了,此时可以选择在下一周期加大冗余数据带宽的方式来增大下一周期的发送带宽,以探测是否有更多的可用带宽;即,在得到当前周期的估算带宽和上一周期的估算带宽之后,则可以根据当前周期的估算带宽与上一周期的估算带宽之间的大小关系来增大下一周期的发送带宽。
进一步地,请结合图4,图4是图3中步骤s1322一实施例的流程示意图。在一实施例中,上述步骤s1322具体可以包括:
步骤s13221:判断所述当前周期的估算带宽是否大于所述上一周期的估算带宽。若所述当前周期的估算带宽大于所述上一周期的估算带宽,则执行步骤s13222,若所述当前周期的估算带宽等于所述上一周期的估算带宽,则执行步骤s13223。
步骤s13222:若所述当前周期的估算带宽大于所述上一周期的估算带宽,则将所述当前周期的估算带宽调整为所述上一周期的估算带宽的第一预设倍数,得到当前周期的最终估算带宽,将下一周期的编码码率调整为当前周期的编码码率的第一预设倍数,并根据所述当前周期的最终估算带宽和所述当前周期的丢包率得到所述下一周期的发送带宽。
可以理解的是,若当前周期的估算带宽大于上一周期的估算带宽,则说明目前网络中的可用带宽还能够承受当前周期的发送带宽,于是可以选择在下一周期加大音视频码率的方式来增大下一周期的发送带宽;具体地,可以将当前周期的估算带宽调整为上一周期的估算带宽的第一预设倍数,得到当前周期的最终估算带宽,第一预设倍数大于1,例如为1.05倍,此时,可以将下一周期的编码码率调整为当前周期的编码码率的1.05倍,由于发送带宽乘以(1减去丢包率)所得的积为估算带宽,因此,可以根据当前周期的最终估算带宽和当前周期的丢包率得到下一周期的发送带宽,在下一周期,按照所得到的下一周期的发送带宽进行数据发送,可以试探出网络是否仍然存在可用带宽。
步骤s13223:若所述当前周期的估算带宽等于所述上一周期的估算带宽,则将下一周期的编码码率保持为当前周期的编码码率,并加大冗余数据发送量,以将所述下一周期的发送带宽增大为所述当前周期的发送带宽的第一预设倍数。
可以理解的是,若当前周期的估算带宽等于上一周期的估算带宽,则说明目前网络中的可用带宽可能已经没有了,此时可以选择在下一周期加大冗余数据带宽的方式来增大下一周期的发送带宽,以探测是否有更多的可用带宽;具体地,可以将下一周期的编码码率保持为当前周期的编码码率,并加大冗余数据发送量,以将下一周期的发送带宽增大为当前周期的发送带宽的第一预设倍数,在下一周期,按照所得到的下一周期的发送带宽进行数据发送,可以试探出网络是否仍然存在可用带宽。
在其他实施例中,在上述步骤s131中,若所述丢包增加率超过所述预设门限值,则执行步骤s133。此时上述步骤s13具体还可以包括:
步骤s133:若所述丢包增加率超过所述预设门限值,则进一步根据所述当前周期的接收带宽与上一周期的估算带宽的大小关系来调整下一周期的发送带宽。
若当前周期的丢包率与上一周期的丢包率之间的丢包增加率超过预设门限值,则表示当前周期所采用的发送带宽相对于上一周期来说,造成了较大的丢包率的增加,这种情况可能是由于发送带宽过高所导致的,因此可以考虑在下一周期将发送带宽降低,以使发送带宽更适用于当前网络。但是,虽然当前周期所采用的发送带宽相对于上一周期来说,造成了较大的丢包率的增加,若实际上当前周期的接收带宽仍然大于上一周期的估算带宽,则说明目前网络中的可用带宽还能够承受当前周期的发送带宽。因此,在丢包增加率超过预设门限值的情况下,可以进一步根据当前周期的接收带宽与上一周期的估算带宽的大小关系来调整下一周期的发送带宽。
进一步地,请结合图5,图5是图2中步骤s133一实施例的流程示意图。在一实施例中,上述步骤s133具体可以包括:
步骤s1331:判断所述当前周期的接收带宽是否小于所述上一周期的估算带宽。若所述当前周期的接收带宽小于所述上一周期的估算带宽,则执行步骤s1332,若所述当前周期的接收带宽不小于所述上一周期的估算带宽,则执行步骤s1333。
步骤s1332:若所述当前周期的接收带宽小于所述上一周期的估算带宽,则将当前周期的估算带宽降低为所述当前周期的接收带宽的第二预设倍数,并根据所述当前周期的估算带宽和所述当前周期的丢包率得到所述下一周期的发送带宽。
可以理解的是,若当前周期的接收带宽小于上一周期的估算带宽,则说明目前网络中的可用带宽不能够承受当前周期的发送带宽,于是需要在下一周期将发送带宽降低,以使发送带宽更适用于当前网络;具体地,可以将当前周期的估算带宽降低为当前周期的接收带宽的第二预设倍数,得到当前周期的最终估算带宽,第二预设倍数小于1,例如为0.9倍,由于发送带宽乘以(1减去丢包率)所得的积为估算带宽,因此,可以根据当前周期的最终估算带宽和当前周期的丢包率得到下一周期的发送带宽,在下一周期,按照所得到的下一周期的发送带宽进行数据发送,可以试探出发送带宽是否适用于当前网络。
步骤s1333:若所述当前周期的接收带宽不小于所述上一周期的估算带宽,则计算所述当前周期的接收带宽与所述上一周期的估算带宽之间的第一比值、所述当前周期的丢包率与所述上一周期的丢包率之间的第二比值,并根据所述第一比值与所述第二比值之间的大小关系来确定所述当前周期的估算带宽。
若实际上当前周期的接收带宽不小于上一周期的估算带宽,则说明虽然当前周期所采用的发送带宽相对于上一周期来说,造成了较大的丢包率的增加,但是网络仍然有可用带宽,此时,需要综合考虑当前周期的接收带宽与上一周期的估算带宽之间的第一比值、当前周期的丢包率与上一周期的丢包率之间的第二比值,这两者之间的增长幅度,即根据第一比值与第二比值之间的大小关系来确定当前周期的估算带宽。
进一步地,请结合图6,图6是图5中步骤s1333一实施例的流程示意图。在一实施例中,上述步骤s1333具体可以包括:
步骤s13331:判断所述第一比值是否小于所述第二比值。若所述第一比值小于所述第二比值,则执行步骤s13332,若所述第一比值不小于所述第二比值,则执行步骤s13333。
步骤s13332:若所述第一比值小于所述第二比值,则将所述当前周期的估算带宽维持为所述上一周期的估算带宽。
可以理解的是,通过考察在两个时间周期内,估算带宽的增加幅度与丢包率的增加幅度之间的关系,可以用来估算网络的可用带宽。具体地,若当前周期的接收带宽与上一周期的估算带宽之间的第一比值,小于当前周期的丢包率与上一周期的丢包率之间的第二比值时,则说明此时虽然估算带宽增加了,但是也产生了较多的丢包率,并且丢包率的增加幅度要大于估算带宽的增加幅度,即利用较多的丢包率去换取了较少的估算带宽,这种方式是不值得的;因此,此时虽然网络可能还存在可用带宽,但是不选择继续探测更大的可用带宽,于是将当前周期的估算带宽维持为上一周期的估算带宽即可。
步骤s13333:若所述第一比值不小于所述第二比值,则将所述当前周期的估算带宽设置为所述当前周期的接收带宽。
若当前周期的接收带宽与上一周期的估算带宽之间的第一比值,不小于当前周期的丢包率与上一周期的丢包率之间的第二比值时,则说明此时虽然产生了较多的丢包率,但是估算带宽也增加了,并且估算带宽的增加幅度不小于丢包率的增加幅度,即利用较多的丢包率去换取了更多的估算带宽,这种方式是值得的;因此,此时可以将当前周期的估算带宽设置为当前周期的接收带宽,考虑选择进一步通过提高丢包增加率的方式来换取更多的估算带宽。通过这样的方式,即使在高丢包环境下,也能有效地为音视频应用探测出更大的可用带宽,保证音视频会话的顺利进行。
请参阅图7,图7是本申请带宽估计装置一实施例的框架示意图。带宽估计装置70包括:信息获取模块700,用于根据发送端发送的数据以及接收端接收到的数据,统计当前周期的丢包率和接收带宽;计算模块702,用于计算当前周期的丢包率与上一周期的丢包率之间的丢包增加率;带宽选择模块704,用于根据所述丢包增加率与预设门限值的大小关系来调整下一周期的发送带宽。
上述方案,信息获取模块700根据发送端发送的数据以及接收端接收到的数据,统计当前周期的丢包率和接收带宽,然后计算模块702计算当前周期的丢包率与上一周期的丢包率之间的丢包增加率,带宽选择模块704根据丢包增加率与预设门限值的大小关系来调整下一周期的发送带宽,即通过考察在两个时间周期内的丢包增加率,来调整下一周期的发送带宽,从而可以估算出网络的可用带宽,使发送带宽可以满足实际需要而避免浪费网络资源;并且,即使在高丢包环境下也能探测出合适的可用带宽,可以保证音视频会话的顺利进行。
在一些实施例中,带宽选择模块704具体可以用于判断所述丢包增加率是否超过所述预设门限值;若所述丢包增加率未超过所述预设门限值,则增大所述下一周期的发送带宽。
在一些实施例中,带宽选择模块704执行增大所述下一周期的发送带宽的步骤,包括:将当前周期的估算带宽设置为所述当前周期的接收带宽和上一周期的估算带宽两者中的较大值;根据所述当前周期的估算带宽与所述上一周期的估算带宽之间的大小关系来增大所述下一周期的发送带宽。
在一些实施例中,带宽选择模块704执行根据所述当前周期的估算带宽与所述上一周期的估算带宽之间的大小关系来增大所述下一周期的发送带宽的步骤,包括:判断所述当前周期的估算带宽是否大于所述上一周期的估算带宽;若所述当前周期的估算带宽大于所述上一周期的估算带宽,则将所述当前周期的估算带宽调整为所述上一周期的估算带宽的第一预设倍数,得到当前周期的最终估算带宽,将下一周期的编码码率调整为当前周期的编码码率的第一预设倍数,并根据所述当前周期的最终估算带宽和所述当前周期的丢包率得到所述下一周期的发送带宽;若所述当前周期的估算带宽等于所述上一周期的估算带宽,则将下一周期的编码码率保持为当前周期的编码码率,并加大冗余数据发送量,以将所述下一周期的发送带宽增大为所述当前周期的发送带宽的第一预设倍数。
在一些实施例中,带宽选择模块704具体还可以用于:若所述丢包增加率超过所述预设门限值,则进一步根据所述当前周期的接收带宽与上一周期的估算带宽的大小关系来调整下一周期的发送带宽。
在一些实施例中,带宽选择模块704执行根据所述当前周期的接收带宽与上一周期的估算带宽的大小关系来调整下一周期的发送带宽的步骤,包括:判断所述当前周期的接收带宽是否小于所述上一周期的估算带宽;若所述当前周期的接收带宽小于所述上一周期的估算带宽,则将当前周期的估算带宽降低为所述当前周期的接收带宽的第二预设倍数,并根据所述当前周期的估算带宽和所述当前周期的丢包率得到所述下一周期的发送带宽;若所述当前周期的接收带宽不小于所述上一周期的估算带宽,则计算所述当前周期的接收带宽与所述上一周期的估算带宽之间的第一比值、所述当前周期的丢包率与所述上一周期的丢包率之间的第二比值,并根据所述第一比值与所述第二比值之间的大小关系来确定所述当前周期的估算带宽。
在一些实施例中,带宽选择模块704具体执行根据所述第一比值与所述第二比值之间的大小关系来确定所述当前周期的估算带宽的步骤,可以包括:判断所述第一比值是否小于所述第二比值;若所述第一比值小于所述第二比值,则将所述当前周期的估算带宽维持为所述上一周期的估算带宽;若所述第一比值不小于所述第二比值,则将所述当前周期的估算带宽设置为所述当前周期的接收带宽。
请参阅图8,图8是本申请电子设备一实施例的框架示意图。电子设备80包括相互耦接的存储器81和处理器82,处理器82用于执行存储器81中存储的程序指令,以实现上述任一带宽估计方法实施例的步骤。在一个具体的实施场景中,电子设备80可以包括但不限于:微型计算机、服务器。
具体而言,处理器82用于控制其自身以及存储器81以实现上述任一带宽估计方法实施例的步骤。处理器82还可以称为cpu(centralprocessingunit,中央处理单元)。处理器82可能是一种集成电路芯片,具有信号的处理能力。处理器82还可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器82可以由集成电路芯片共同实现。
请参阅图9,图9是本申请计算机可读存储介质一实施例的框架示意图。计算机可读存储介质90存储有能够被处理器运行的程序指令900,程序指令900用于实现上述任一带宽估计方法实施例的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
1.一种带宽估计方法,其特征在于,所述方法包括:
根据发送端发送的数据以及接收端接收到的数据,统计当前周期的丢包率和接收带宽;
计算当前周期的丢包率与上一周期的丢包率之间的丢包增加率;
根据所述丢包增加率与预设门限值的大小关系来调整下一周期的发送带宽。
2.根据权利要求1所述的带宽估计方法,其特征在于,所述根据所述丢包增加率与预设门限值的大小关系来调整下一周期的发送带宽的步骤,包括:
判断所述丢包增加率是否超过所述预设门限值;
若所述丢包增加率未超过所述预设门限值,则增大所述下一周期的发送带宽。
3.根据权利要求2所述的带宽估计方法,其特征在于,所述增大所述下一周期的发送带宽的步骤,包括:
将当前周期的估算带宽设置为所述当前周期的接收带宽和上一周期的估算带宽两者中的较大值;
根据所述当前周期的估算带宽与所述上一周期的估算带宽之间的大小关系来增大所述下一周期的发送带宽。
4.根据权利要求3所述的带宽估计方法,其特征在于,所述根据所述当前周期的估算带宽与所述上一周期的估算带宽之间的大小关系来增大所述下一周期的发送带宽的步骤,包括:
判断所述当前周期的估算带宽是否大于所述上一周期的估算带宽;
若所述当前周期的估算带宽大于所述上一周期的估算带宽,则将所述当前周期的估算带宽调整为所述上一周期的估算带宽的第一预设倍数,得到当前周期的最终估算带宽,将下一周期的编码码率调整为当前周期的编码码率的第一预设倍数,并根据所述当前周期的最终估算带宽和所述当前周期的丢包率得到所述下一周期的发送带宽;
若所述当前周期的估算带宽等于所述上一周期的估算带宽,则将下一周期的编码码率保持为当前周期的编码码率,并加大冗余数据发送量,以将所述下一周期的发送带宽增大为所述当前周期的发送带宽的第一预设倍数。
5.根据权利要求2至4任一项所述的带宽估计方法,其特征在于,在所述判断所述丢包增加率是否超过所述预设门限值的步骤之后,所述方法还包括:
若所述丢包增加率超过所述预设门限值,则进一步根据所述当前周期的接收带宽与上一周期的估算带宽的大小关系来调整下一周期的发送带宽。
6.根据权利要求5所述的带宽估计方法,其特征在于,所述根据所述当前周期的接收带宽与上一周期的估算带宽的大小关系来调整下一周期的发送带宽的步骤,包括:
判断所述当前周期的接收带宽是否小于所述上一周期的估算带宽;
若所述当前周期的接收带宽小于所述上一周期的估算带宽,则将当前周期的估算带宽降低为所述当前周期的接收带宽的第二预设倍数,并根据所述当前周期的估算带宽和所述当前周期的丢包率得到所述下一周期的发送带宽;
若所述当前周期的接收带宽不小于所述上一周期的估算带宽,则计算所述当前周期的接收带宽与所述上一周期的估算带宽之间的第一比值、所述当前周期的丢包率与所述上一周期的丢包率之间的第二比值,并根据所述第一比值与所述第二比值之间的大小关系来确定所述当前周期的估算带宽。
7.根据权利要求6所述的带宽估计方法,其特征在于,所述根据所述第一比值与所述第二比值之间的大小关系来确定所述当前周期的估算带宽的步骤,包括:
判断所述第一比值是否小于所述第二比值;
若所述第一比值小于所述第二比值,则将所述当前周期的估算带宽维持为所述上一周期的估算带宽;
若所述第一比值不小于所述第二比值,则将所述当前周期的估算带宽设置为所述当前周期的接收带宽。
8.一种带宽估计装置,其特征在于,包括:
信息获取模块,所述信息获取模块用于根据发送端发送的数据以及接收端接收到的数据,统计当前周期的丢包率和接收带宽;
计算模块,所述计算模块用于计算当前周期的丢包率与上一周期的丢包率之间的丢包增加率;
带宽选择模块,所述带宽选择模块用于根据所述丢包增加率与预设门限值的大小关系来调整下一周期的发送带宽。
9.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至7任一项所述的带宽估计方法。
10.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至7任一项所述的带宽估计方法。
技术总结