拥塞控制比特率算法_4

文档序号:8514564阅读:来源:国知局
加比特率可能导致对于甚至相对少量包的过大增加,从而导致由此增加触发的过多拥塞。因此,在此类实施中,比特率的每次增加(例如,如在338所指示)可以包括每帧的视频FEC包的数量和每帧的音频FEC包的数量两者的增加。重要的是,增加这两种不同类型的包的比特率的速率可以在需要时根据它们的相对大小(例如,为了考虑到音频包较小的事实)来调整并因此有利于总带宽的微调。作为示例但并不作为限制,每次迭代时增加的音频FEC比特率与增加的视频FEC比特率的比率可以在2:1至10:1的范围。换句话说,在338增加FEC比特率或在342增加源比特率可以包括在每帧每发送一个附加视频包时发送2-10个附加的音频包。
[0054]按照本公开的另外方面,当反馈报告相反指示包丢失不再可接受时(例如,由于相对于现有条件波动或增加,如在334所指示),流的比特率可以以不同于当包丢失是可接受时的方式进行调整。在某些实施中,响应于指示存在包丢失的反馈报告,初始调整可以包括增加FEC包与源包的比率同时保持总比特率不变,如在346所指示。因为这个说明性的初始步骤不包括降低由发送器设备发送的总比特率,只是改变FEC包与源包的比率,所以这可能并不降低包丢失(如果这类丢失是由于信道中的拥塞造成)。不过,由于流中有更多量的FEC包,故接收器设备可以被更好地配备以处理包丢失。此外,在导致包丢失的条件是瞬时的情况下,这允许发送器在降低总比特率之前继续获得附加的反馈。
[0055]如果包丢失继续是问题并且它超出某个总预定义阈值(如在344所指示),那么比特率可以通过使总比特率下降来调整(如在348所指示)。总比特率可以下降预定义的量或可以下降到最近能工作的任何比特率(例如,产生指示包丢失是可接受的反馈332的比特率)。
[0056]需要注意的是,在某些情况下,发送器通过网络传输的可用源数据的量可能不足以填充当前可用带宽的量。作为示例但不是作为限制,如果实时视频当前产生黑屏,那么源数据的比特率可能是低的,这是因为应用简单地不产生足够的数据来填充可用比特率。不过,拥塞控制算法继续获取关于流中的最大可用比特率的反馈仍然是可取的,以便有效量的可用带宽在需要时是可用的。在这些情况下,系统可以经配置不仅如上所述增加总比特率以在下一步骤测试带宽,而且用FEC包填充未被用于源数据的剩余可用带宽。
[0057]这可以通过以下示例来说明。假定进程当前正以6MB/s传输数据包,并且来自接收器设备的反馈仍然指示包丢失处于可接受范围内,使得可增加传输带宽。下一个步骤可以将FEC比特率增加另一个100kb/S,使得总带宽在6.1MB/s。不过,源数据可能只以IMB/s产生,例如,因为应用目前正产生是黑屏的视频。在这种情况下,该进程可以经配置通过以5.1MB/s的比特率传输FEC包来用FEC包填充测试的带宽的剩余部分。因此,当目前正产生的源数据的比特率再次增加时(例如,由于视频从黑屏再次改变为活动图像),系统仍然可以有效利用最大可用比特率,这是因为该算法继续获取反馈并逐渐增加传输带宽(即使源比特率瞬间下降)。
[0058]要强调的是,在图3中描绘的示例技术仅用于说明的目的为了强调本公开的某些方面而提供。实际上,本公开的实施可以考虑到图3示例未描绘的另外或替代形式,而且可以比图3所描绘的简化方案更复杂。
[0059]从图3的示例可以明白,本公开的某些方面包括响应于来自至少一个接收器设备的反馈报告而增加FEC包与源包的比率。这可以是如下的方式,即,响应于指示在相应时间周期内包丢失是可接受的反馈,增加FEC包的量同时保持源包的量以增加总比特率(例如,如在338所指示)。这也可以是如下的方式,即,响应于指示包丢失波动或是不可接受的反馈报告,通过增加FEC比特率并减少源比特率来增加FEC与源的比率以便保持总比特率不变(如在346所指示)。在任一情况下,流中增加FEC包的相对量可以更好配备接收器设备来处理包丢失,同时还向发送器设备提供可允许该发送器设备确定网络中的可用带宽的使用是否能够被更有效利用的反馈。
[0060]本公开的某些实施包括经配置根据本公开的某些方面实施拥塞控制和/或数据传输方法的系统,如图4所示。图4描绘分布式计算系统,该系统包括至少一个发送器计算系统402和至少一个接收器计算系统404,并且计算系统402和计算系统404经配置根据本公开的某些方面通过网络传送数据。在某些实施中,发送器计算系统402可以在一个或多个方面与图1-3的一个或多个发送器具有共同之处。在某些实施中,接收器计算系统404可以在一个或多个方面与图1-3的一个或多个接收器具有共同之处。发送器系统402和接收器系统404中的任一个或两者可以配置有实施本文所述的方法的各个方面的合适软件和/或硬件。发送器系统402和接收器系统404中的任一个或两者可以是服务器、嵌入式系统、移动电话、个人计算机、膝上型计算机、平板计算机、便携式游戏设备、工作站、游戏控制台、可佩戴设备(例如智能表)等等。
[0061]根据某些实施,发送器系统402可以是云计算服务器,以及接收器设备404可以是服务器402的云计算客户端,并且发送器402可以经配置使用不可靠协议通过网络499向客户端设备提供数据流。作为示例但并不作为限制,发送器402可以是经配置通过网络499 (例如互联网)向至少一个客户端设备404提供实时数据流(例如实时音频流、实时视频流或实时音频/视频流)的服务器。发送器系统402可以经配置向接收器系统发送数据,其呈以源包452的形式,其包含被输送到接收器系统404的基本用户数据,和FEC包454的形式,该FEC包包含被包含在源包中的源数据的冗余。发送器系统402可以根据本公开的各个方面向接收器设备404并发发送这些FEC包和源包。接收器系统404可以经配置累积这些数据包并通过网络499向发送器系统402周期性地发送回反馈报告456。发送器系统402可以经配置根据本文所述的各个方面响应于这些反馈报告456而调整发送数据包452、454的速率。
[0062]系统402和系统404中的任一个(g卩,发送器系统402、接收器系统404或二者)可以包括一个或多个处理器单元470,该处理器单元可以根据公知的架构(例如单核、双核、四核、多核、处理器-协处理器、微处理器等等)来配置。系统402和系统404中的任一个还可以包括一个或多个存储器单元472 (例如,RAM、DRAM、ROM等等)。处理器单元470可执行一个或多个程序474,该程序可以被存储在存储器472中,并且处理器470可操作耦接至存储器472 (例如经由数据总线476访问存储器)。存储器单元472可以包括数据477以及处理器单元470可以在实施程序474时利用数据477。根据本公开的各个方面,用于系统402和系统404中的任一个的数据477可以包括(例如)从发送器系统402传送至接收器系统404的源数据和从接收器404传送至发送器402的反馈信息。程序474可以包括指令,当该指令由处理器执行时,该指令执行与名人视频游戏会话相关联的一个或多个操作,例如,与图2和/或图3的方法在一个或多个特征上具有共同之处的方法。例如,发送器系统402的程序474可以包括指令,当该指令由处理器470执行时,根据图2所示方法的发送器侧的方面和/或图3所示速率调整技术,促使发送器系统向至少一个接收器设备404发送数据和/或响应于从接收器设备404接收的反馈控制拥塞。接收器系统404的程序474可以包括指令,当该指令由处理器470执行时,根据图2所示方法的接收器侧的方面,促使接收器系统累积数据包、确定包丢失和/或向发送器402发送反馈信息。
[0063]系统402和404中的任一个还可以包括公知的支持电路478,例如输入/输出(I/O)电路479、电源(P/S)480、时钟(CLK)481和高速缓存482,它们可以(例如)经由总线476与系统的其他部件通信。系统402和404中的任一个可任选地包括大容量存储装置484 (诸如磁盘驱动器、⑶-ROM驱动器、磁带驱动器、闪存等等),并且大容量存储装置484可以存储程序和/或数据。系统402和404中的任一个也可任选地包括显示单元486。显示单元486可以是阴极射线管(CRT)、平板屏幕、触摸屏或显示文字、数字、图形符号或其它视觉对象的其他设备的形式。系统402和404中的任一个还可以包括促进系统402/404与用户交互的用户接口 488。用户接口 488可包括键盘、鼠标、光笔、游戏控制垫、触摸界面或其他装置。用户接口还可包括音频I/O设备(例如扬声器和/或麦克风)。
[0064]用户可以通过用户接口 488与任一个计算机系统交互。作为示例,发送器402可以是云游戏服务器,以及接收器系统404可以是云游戏客户端,并且视频游戏用户可以通过用户接口 488与由服务器402执行并流传送至客户端404的视频游戏交互。数据从服务器传送到客户端的速率可以根据本公开的多个方面来优化,以增强用户的体验并保持在客户端侧接收的信号的质量。用户接口 488的部分可包括图形用户界面(GUI),其可以在显示单元486上显示,以便有利于用户与系统402/404交互。系统402/404可包括网络接口490,其经配置能够使用Wi-Fi、以太网端口或其他通信方法。网络接口 490可以并入合适的硬件、软件、固件或其一些组合,以有利于经由电信网络进行通信,并且可以根据本公开的某些方面使用不可靠协议支持数据传输。网络接口 490可经配置通过局域网和广域网(例如互联网)实现有线或无线通信。系统402和404中的任一个可通过网络499经由一个或多个数据包发送和接收文件的数据和/或请求。
[0065]上述的部件可以在硬件、软件、固件或其一些组合中实施。
[0066]虽然上文是本公开的各种说明性实施的完整描述,但是可能使用各种替换、修改和等同物。因此,本发明的范围不应该解释为通过上面的说明书来限定,而是应该
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1