用于管理流参数的图形服务器和方法

文档序号:7783519阅读:121来源:国知局
用于管理流参数的图形服务器和方法
【专利摘要】用于管理流参数的图形服务器和方法。图形服务器的一个实施例包括:(1)实时带宽估计器(RBE),其配置为针对网络生成带宽估计,通过所述网络经渲染的场景是可传输的;(2)服务质量(QoS)管理器,其配置为基于所述带宽估计生成流参数;以及(3)图形处理单元(GPU),其配置为采用所述流参数来至少部分地准备所述经渲染的场景用于传输。
【专利说明】用于管理流参数的图形服务器和方法

【技术领域】
[0001]本发明总地针对远程计算机图形处理,并且更具体地,针对基于实时网络带宽估计来管理流参数。

【背景技术】
[0002]个人计算机的功用最初集中在企业级别上,其在研究员、工程师、分析师和打字员的桌面上放置强大的工具。该功用已经从仅仅数字运算和文字处理演进到高度可编程的可交互工件,其能够产生一定级别和实时的图形渲染用于详细到不可思议的计算机辅助设计、制图和可视化。近来,个人计算机被移动计算的发展所推动已经更多地演进为媒体和游戏出口(outlet)的关键角色。个人计算不再托付(resign)给世界的台式机,或者甚至膝上型电脑。强健的网络以及计算电力的小型化已经使诸如蜂窝式电话或平板计算机的移动设备能够开创广大的个人计算市场。
[0003]移动计算已经转变了信息可访问性和媒体散播的常规观念。网络使能设备是新的基准,通过各种网络连接多种多样的设备。这已导致常规或“主流”内容、以及非常规、业余或自制内容的扩散。下一步,不仅该内容将几乎在任何移动设备上可用,除了常规出路以外,移动设备还可扮演媒体集线器的角色,获得对过多内容的访问权并转发它或“将它推出”到一个或多个显示设备,包括电视机、计算机监视器、投影仪或能够接收、解码以及显示流内容的任何设备。而典型地并看作是客户端、移动设备、以及更一般地几乎任何计算设备都可以扮演“媒体服务器”的角色。
[0004]在典型的服务器-客服端远程图形处理安排中,在服务器上存储、检索并渲染图形内容。随后一般以由管理设备所指定的或简单地是配置的一部分的帧率来捕获并编码经渲染内容的帧。随后将所捕获并经编码的帧进行包化(packetize)并通过网络传输到客户端作为视频流(常常包括音频)。客户端简单地解码视频流并显示内容。这类“瘦客户端”应用可容易地移植到各种平台。
[0005]随着移动计算随着对内容可访问性和散播的越来越多的关注而继续演进,移动设备的作用将继续扩大。典型的客户端服务器界限将继续消退,并且更多的人将依靠移动设备作为他们的客服端和服务器,这取决于其感兴趣的内容。


【发明内容】

[0006]一方面提供图形服务器。在一个实施例中,服务器包括:(1)实时带宽估计器(RBE),其配置为针对网络生成带宽估计,通过所述网络经渲染的场景是可传输的;(2)服务质量(QoS)管理器,其配置为基于所述带宽估计生成流参数;以及(3)图形处理单元(GPU),其配置为采用所述流参数来至少部分地准备所述经渲染的场景用于传输。
[0007]另一发明提供为通过网络传输经渲染的场景而管理流参数的方法。在一个实施例中,方法包括:(I)在确定所述流参数时采用针对所述网络的实时带宽估计;(2)根据所述流参数准备所述经渲染的场景;(3)包化并通过所述网络传输所述经渲染的场景。
[0008]再一方面提供图形服务器。在一个实施例中,服务器包括:(I)通信子系统,其具有:(la)网络接口控制器(NIC),其可耦连到网络并可操作以通过所述网络传输描述经渲染的场景的包,以及(Ib)实时带宽估计器(RBE),其耦连到所述NIC并配置为针对所述网络生成带宽估计;(2) QoS管理器,其配置为基于所述带宽估计生成流参数;(3) GPU,其具有:(3a)图形渲染器,其可操作以根据所述流参数渲染所述经渲染的场景,(3b)帧捕获器,其配置为根据所述流参数捕获所述经渲染的场景的帧,以及(3c)编码器,其配置为根据所述流参数编码所述帧,从而准备所述经渲染的场景用于包化和传输。

【专利附图】

【附图说明】
[0009]现在结合附图对下面的描述进行参考,在附图中:
[0010]图1是服务器-客户端远程图形处理系统的一个实施例的框图;
[0011]图2是图形服务器的一个实施例的框图;以及
[0012]图3是用于为通过网络传输经渲染的场景而管理流参数的方法的一个实施例的流程图。

【具体实施方式】
[0013]远程图形处理的主要局限性是延迟和将它带来的不可预期的网络条件。延迟是由各种网络条件所引起的,包括:网络带宽约束和波动、网络上的数据包丢失、从服务器到客户端的数据包延迟的增大和数据包延迟的波动,其在客户端上体现(manifest)为抖动。视频流中的延迟对流体验来说是毁灭性的。常可通过预编码流媒体、在接收端缓冲流、或这二者来克服延迟和包括延迟的网络条件。虽然延迟是流体验的重要方面,但是到客户端的视频流的外观保真度也受到相同网络条件的困扰。保真度是所显示的图像或视频流与理想情况相对应的程度的度量。理想图像模仿现实;它的分辨度极其高,并且它没有压缩、渲染或传输假象(artifact)。理想的视频流是理想图像序列,其没有抖动并且以相当高的帧率被呈现,以使它也模仿现实。因此,较高分辨率、较高帧率、较少假象、较低抖动的视频流比具有较低分辨率、较低帧率、包含较多假象或较多抖动的视频流具有更高的保真度。
[0014]延迟和保真度本质上是客户端的流体验的度量。然而,从服务器的角度来看,延迟和保真度的组合是服务质量(QoS)的组成部分。常为服务器的QoS系统负责管理对它的客户端的QoS。目标是确保延迟和保真度的可接受程度,不管出现何种网络条件以及不管哪个客户端预订服务都要维持流体验。
[0015]管理工作涉及采集网络数据和评估服务器和客户端之间的网络条件。常规地,客户端实施该评估并向服务器指示(dictate)回它所期望的视频流的改变。正如服务器的角色已经对不断增加的各种各样的计算设备开放,各种客户端设备也已经激增。客户端设备中的复杂级别已大大减少,仅仅要求解码和显示视频流的能力。因此,依靠客户端所提供的网络数据的QoS系统受到趋向于这些瘦客户端的趋势的挑战。许多瘦客户端设备不采集必须的网络数据,并且不是所有网络通信协议都支持对服务器的该级别的反馈。本文所实现的图形服务器将从它们对客户端供应的网络数据的依赖性中解放而受益。本文所进一步实现的服务器可以使用实时带宽估计来驱动QoS管理。
[0016]QoS管理的目标典型地是当带宽不足时节约网络带宽,并且当带宽可用时提高所传输的视频的保真度,其典型地消耗较多的带宽。QoS管理通过生成流参数来达成该目标,当在服务器上使用该流参数时影响传输或流动视频所要求的带宽。服务器在其准备视频流用于包化和传输时使用流参数。该准备典型地包括渲染场景、捕获所渲染的场景的帧以及编码所捕获的帧。
[0017]流参数的一个示例是分辨率,图形渲染器以分辨率渲染场景。以较高分辨率的渲染典型地要求较多的带宽以传输,因为以较高分辨率的渲染生成较多的数据。以较低分辨率的渲染可节约带宽。较高分辨率场景一般被视为具有较高保真度。
[0018]流参数的另一个示例是巾贞率。巾贞率是巾贞捕获发生的速率并一般被表示为频率。中贞捕获一般包括将所渲染的场景拷贝到缓冲区用于进一步处理。该处理典型地在时钟上或以帧率自动发生。帧率从客户端的角度来看是屏幕上的内容被更新的速率,其常常独立于渲染过程。以较高帧率的流要求在给定时间段内传输较多的帧,其增加网络拥塞。减小帧率节约带宽。以较高帧率的流视频一般被视为具有较高保真度。相反,较低帧率将一般被视为较低保真度。
[0019]流参数的再一个示例是视频流的所捕获的帧被编码的比特率。该比特率本质上是数据被传输的速率。增大比特率消耗更多的带宽,并且带宽通过减小比特率而被节约,一般以保真度为代价。以较高比特率的流视频一般被视为较高保真度。
[0020]在描述本文所介绍的用于管理流参数的图形服务器和方法的各实施例之前,将描述图形服务器和方法可具体化在其内或在其内实行的远程图形处理系统。
[0021]图1是服务器-客户端远程处理系统100的一个实施例的框图。系统100包括网络110,服务器120和客户端140通过其进行通信。服务器120表示内容的中央储存库、处理和渲染资源。客户端140是该内容和那些资源的消费者。在某些实施例中,服务器120是自由可扩展的并且有能力通过借力(leverage)并行的以及所分摊的处理和渲染资源而同时对许多客户端提供该内容和那些服务。除了对服务器120的功率、存储器带宽或延迟的任何限制之外,服务器120的可扩展性受限于网络110的容量,由于该容量导致客户端的数目的某阈值,网络带宽的不足要求对所有客户端的服务平均降低。
[0022]服务器120包括网络接口卡(NIC) 122、中央处理单元(CPU) 124和GPU130。基于在服务器120上的选择,或在某些实施例中,基于来自客户端140的请求,图形内容经由在CPU124上执行的应用被从存储器召回。按照图形应用的惯例,例如游戏,CPU124保留其自身用于实行高级别操作,诸如确定给定场景中的对象的位置、运动以及碰撞。从这些高级别操作,CPU124生成渲染命令,该渲染命令当利用场景数据被组合时可由GPU来实行。例如,渲染命令和数据可定义用于场景的场景几何、照明、着色、纹理、运动以及相机参数。
[0023]GPU130包括图形渲染器132、帧捕获器134以及编码器136。图形渲染器根据由CPU124所生成的渲染命令来执行渲染程序,产生用于场景的视频帧流。那些原始视频帧由帧捕获器134所捕获并由编码器136所编码。编码器136使原始视频流格式化用于包化和传输,可能采用诸如由国际电信联盟电信标准化部(ITU-T)所得出的H.264标准或来自国际标准化组织/国际电工技术委员会(IS0/IEC)的MPEG-4高级视频编码(AVC)标准的视频压缩算法。可替代地,视频流可被编码成窗口媒体视频(WMV)格式、VP8格式或任何其他视频编码格式。
[0024]CPU124准备经编码的视频流用于传输,其被传递到NIC1220NIC122包括用于经由诸如以太网、W1-Fi或互联网协议(IP)的网络协议通过网络110进行通信所必须的电路。NIC122提供物理层和用于服务器120的网络接口的软件层的基础。
[0025]客户端140接收所传输的视频流用于显示。客户端可以是各种个人计算设备,包括:台式机或膝上型个人计算机、平板电脑、智能电话或电视机。客户端包括NIC142、解码器144、视频渲染器146、显示器148以及CPU150。NIC142与NIC122类似,包括用于通过网络进行通信所必须的电路并且提供物理层和用于客户端140的网络接口的软件层的基础。所传输的视频帧由客户端140通过NIC142来接收。CPU150打开(unpack)所接收的视频流并准备它用于解码。
[0026]视频流随后由解码器144解码。解码器144应与编码器136匹配,所以每个应当采用相同格式化或压缩方案。例如,如果编码器136采用ITU-T H.264标准,那么解码器144也该如此。解码可由客户端CPU或客户端GPU 二者之一来实行,这取决于物理客户端设备。一旦被解码,所有保持在视频流中的都是原始的经渲染的帧。经渲染的帧由基本的视频渲染器146来处理,如为任何其他流媒体所做的。经渲染的视频随后可在显示器148上显示。
[0027]已经描述了服务器-客户端远程图形处理系统,在其内用于管理流参数的推行服务器和方法可被具体化或被实行,将描述图形服务器和方法的各买施例。
[0028]图2是诸如图1的服务器120的图形服务器200的一个实施例的框图。图形服务器200包括所有图1中的NIC122、CPU124和GPU130。此外,图形服务器200包括实时带宽估计器(RBE) 210以及QoS管理器220。GPU130包括也是图1中的图形渲染器132、帧捕获器134和编码器136。
[0029]如在图1的服务器120中,图形服务器200的基本操作包括渲染场景、捕获帧以及编码帧用于随后传输到客户端。CPU124执行应用,通过其它生成渲染命令或者生成或从存储器召回场景数据用于渲染。图形渲染器132对场景数据实行渲染命令以产生具有分辨率的经渲染的场景。帧捕获器134和编码器136配置为以由CPU124所指定的帧率来操作。经渲染的帧不仅以帧率的速率被捕获和编码,还被传输,并且可能被解码和显示。这类安排对延迟和次优的网络条件敏感。帧捕获器134通过周期性地将经渲染的内容拷贝到存储器中的暂存缓冲区来“捕获”经渲染的内容。编码器136获得对存储器中的暂存缓冲区的访问权并编码所存储的帧。编码器136可使用各种编码方案,包括H.264.WMV和MPEG-4。编码器136以帧率和比特率这二者进行操作。帧率指定编码器136在给定时间段中编码的帧的数目,类似于帧捕获器134。比特率指定用于编码每帧所分配的比特的数目。帧率和比特率的组合解释(translate)为经由NIC122通过网络传输数据的速率,另外也被称为数据率或流比特率。
[0030]CPU124从存储器检索经编码的帧,将其“打包”用于经由NIC122来传输。该准备典型地涉及对来自帧缓冲区的数据进行包化以及可能附加的编码用于传输协议。
[0031]RBE210经由NIC122监视网络拥塞,并基于诸如重试数目和等待时间的数据生成带宽估计。在某些实施例中,RBE210内置在NIC122中。存在各种实施实时带宽估计的方法;使用哪种方法典型地由设备和芯片制造商针对特定的网络接口来自由决定。例如,某些实施例使用W1-Fi芯片集作为网络接口的一部分。W1-Fi芯片集的制造商可能由于各种原因而选择一种带宽估计方法而不选另一个。
[0032]继续图2的实施例,QoS管理器220从RBE210接收带宽估计并使用它以生成流参数。由RBE210所提供的带宽估计可以像二元评价一样简单:网络具有过量的带宽或网络带宽缺乏。更复杂的RBE实现方案可能更加量化,但是这对QoS管理器220的目的来说不是必须的。当带宽估计指示带宽缺乏时,QoS管理器220采取减小带宽的步骤,其对经由流参数来传输经渲染的场景来说是必须的。例如,QoS管理器220可以减小分辨率、减小帧率、减小比特率或这三者的任何组合。此外,QoS管理器220可操纵任何其他流参数以影响带宽需求。经常的情况是在组中修改流参数,或将流参数分组(bin)以预防破坏流体验的差组合。例如,当分辨率增大时,维持相同保真度的必须的比特率也增大。同样地,在保持分辨率不变时增大比特率将导致减少保真度获得。
[0033]图3是为通过网络传输经渲染的场景而管理流参数的方法的一个实施例流程图。方法开始于开始步骤310。在QoS管理步骤320中,针对网络做出实时带宽估计而无需客户端反馈,并且带宽估计常常是内置在诸如W1-Fi芯片集的网络控制器中的能力。随着数据通过网络被传输而连续做出带宽估计。
[0034]流参数可以是针对特定视频流的各种设置并且通常由服务器上的GPU来实行。流参数包括分辨率、帧率、比特率以及其他。在渲染步骤330中,以在QoS管理步骤320中所确定的分辨率来渲染场景。在捕获步骤340中,以也在QoS管理步骤320中所确定的帧率来捕获经渲染场景的帧。在编码步骤350中,以在QoS管理步骤320中所确定的比特率来编码从捕获步骤340所捕获的帧。然后,在传输步骤360中,包化并通过网络传输从编码步骤350所编码的帧。包化和传输可包括针对特定的网络协议而对经编码帧的附加的编码和格式化。例如,格式化用于通过W1-Fi来传输。对于视频的完整段,随着连续产生实时带宽估计以及偶尔调节流参数而重复方法。方法结束于结束步骤370。
[0035]与本申请相关的领域的技术人员将理解可对所描述的实施例做出其他的和进一步的添加、删除、替换和修改。
【权利要求】
1.一种图形服务器,包括: 实时带宽估计器(RBE),其配置为针对网络生成带宽估计,所述网络是经渲染的场景可经由其传输的网络; 服务质量(QoS)管理器,其配置为基于所述带宽估计生成流参数;以及图形处理单元(GPU),其配置为采用所述流参数来至少部分地准备所述经渲染的场景用于传输。
2.根据权利要求1所述的图形服务器,其中所述GPU包括可操作以渲染所述经渲染的场景的图形渲染器。
3.根据权利要求2所述的图形服务器,其中所述流参数包括分辨率,所述图形渲染器以所述分辨率渲染所述经渲染的场景。
4.根据权利要求1所述的图形服务器,其中所述GPU包括:帧捕获器,其配置为捕获所述经渲染的场景的帧;以及编码器,其配置为编码所述帧用于随后的传输。
5.根据权利要求4所述的图形服务器,其中所述流参数包括帧率,所述帧捕获器以所述帧率捕获帧。
6.根据权利要求4所述的图形服务器,其中所述流参数包括比特率,所述编码器以所述比特率编码所述帧。
7.根据权利要求1所述的图形服务器,其中所述QoS管理器生成所述流参数,使得如果所述带宽估计指示带宽短缺则减少带宽消耗。
8.一种图形服务器,包括: 通信子系统,其具有: 网络接口控制器(NIC),其可耦连到网络并可操作以经由所述网络传输描述经渲染的场景的包,以及 实时带宽估计器(RBE),其耦连到所述NIC并配置为针对所述网络生成带宽估计; 服务质量(QoS)管理器,其配置为基于所述带宽估计来生成流参数; 图形处理单元,其具有: 图形渲染器,其可操作以根据所述流参数渲染所述经渲染的场景, 帧捕获器,其配置为根据所述流参数捕获所述经渲染的场景的帧,以及编码器,其配置为根据所述流参数编码所述帧,从而准备所述经渲染的场景用于包化和传输。
9.根据权利要求8所述的图形服务器,其中所述网络是W1-Fi网络。
10.根据权利要求8所述的图形服务器,其中所述图形服务器是移动计算设备。
【文档编号】H04N21/643GK104185084SQ201310755976
【公开日】2014年12月3日 申请日期:2013年12月30日 优先权日:2013年5月24日
【发明者】舘野兼一, 拉赫·高达, 文卡塔什·达德格, 托马斯·梅耶尔 申请人:辉达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1