图形服务器和经远程图形处理服务使渲染内容流动的方法.pdf

上传人:111****112 文档编号:511129 上传时间:2018-02-20 格式:PDF 页数:10 大小:1,010.52KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310746848.4

申请日:

2013.12.30

公开号:

CN104243440A

公开日:

2014.12.24

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 29/06申请日:20131230|||公开

IPC分类号:

H04L29/06

主分类号:

H04L29/06

申请人:

辉达公司

发明人:

托马斯·梅耶尔; 沙拉德·古普塔; 张茺; 巴努·穆尔蒂; 卡蒂克·维贾雅

地址:

美国加利福尼亚州

优先权:

2013.06.21 US 13/923,482

专利代理机构:

北京市磐华律师事务所 11336

代理人:

董巍;谢栒

PDF下载: PDF下载
内容摘要

图形服务器和用于经由远程图形渲染服务使经渲染的内容流动的方法。所述图形服务器的一个实施例包括:(1)帧捕获器,所述帧捕获器配置为以帧速率捕获经渲染的内容的帧,(2)编码器,所述编码器配置为以所述帧速率编码所捕获的帧,和(3)处理器,如果所述经渲染的内容是至少部分地改变的,则所述处理器配置为使得经编码的帧被传送,且如果所述经渲染的内容是未改变的,则所述处理器配置为使得跳帧信息被传送,所述跳帧信息配置为使得所述帧捕获器放弃捕获,并使得所述编码器放弃编码。

权利要求书

1.  一种图形服务器,包括:
帧捕获器,所述帧捕获器配置为以帧速率捕获经渲染的内容的帧;
编码器,所述编码器配置为以所述帧速率编码所捕获的帧;和
处理器,如果所述经渲染的内容是至少部分地改变的,则所述处理器配置为使得经编码的帧被传送,且如果所述经渲染的内容是未改变的,则所述处理器配置为使得跳帧信息被传送,所述跳帧信息配置为使得所述帧捕获器放弃捕获,并使得所述编码器放弃编码。

2.
  如权利要求1所述的图形渲染服务器,其中,所述图形渲染服务器是移动计算设备。

3.
  如权利要求1所述的图形渲染服务器,其中,所述帧捕获器和所述编码器包含在图形处理单元内,所述图形处理单元可通信地耦连到所述处理器。

4.
  如权利要求1所述的图形渲染服务器,其中,所述处理器包含所述帧捕获器和所述编码器。

5.
  如权利要求1所述的图形渲染服务器,所述图形渲染服务器进一步包括图形渲染器,所述图形渲染器可操作为生成所述经渲染的内容,且当所述经渲染的内容已经至少部分改变时,所述图形渲染器配置为进行识别。

6.
  如权利要求5所述的图形渲染服务器,其中,当新的内容被渲染并提交到所述帧捕获器时,所述图形渲染器配置为设定控制位,且所述处理器配置为使用所述控制位来控制所述帧捕获器和所述编码器。

7.
  如权利要求1所述的图形渲染服务器,其中所述跳帧信息是预先计算的H.264跳信息。

8.
  一种用于使视频流的经渲染的内容流动的图形服务器,包括:
存储器,所述存储器配置为存储预先计算的跳帧信息,所述预先计算的跳帧信息指示客户端重新使用所述视频流的先前所传送的帧;
图形渲染器,所述图形渲染器配置为生成所述经渲染的内容,且如果所述经渲染的内容至少部分是新的,则所述图形渲染器配置为通过控制位进行指示;和
中央处理单元(CPU),所述中央处理单元配置为使用所述控制位来引 导帧捕获器和编码器放弃对所述经渲染的内容的操作,并使得所述预先计算的跳帧信息向所述客户端传送。

9.
  如权利要求8所述的图形服务器,其中所述图形渲染器在图形处理单元(GPU)内实现。

10.
  如权利要求9所述的图形服务器,其中,所述GPU包含所述帧捕获器和所述编码器。

说明书

图形服务器和经远程图形处理服务使渲染内容流动的方法
技术领域
本申请概括地说针对的是计算机图形处理,更具体地,针对的是功率、存储器和时间有效率的远程渲染、帧捕获和编码。
背景技术
个人计算的功用最初专注于企业水平,在科研人员、工程师、分析家和打字员的台式机上配置了强大的工具。该功用已经从仅仅的数据捣弄和文字处理演变到高度可编程的、交互的、能够产生用于详细的令人难以置信的计算机辅助设计、制图和视觉化的一定水平的和实时图形渲染的工件(workpiece)。在移动计算的发展的推动下,个人计算新近已经演变为作为媒体和游戏出口的关键角色。个人计算不再顺从于世界的台式机、或甚至笔记本电脑。强劲的网络和计算功率的微型化已经使得诸如移动电话和平板电脑等移动设备从个人计算市场开拓出较大的面积。
移动计算已经转变了常规的信息可访问性和媒体传播的观念。网络启用的(enabled)设备是通过各种网络连接了各种设备的新的标准。这已经使得常规的或“主流”内容,以及非常规的、业余的或自制的(home-made)内容的激增(proliferation)。对今后来说,除了常规的出口外,不仅该内容实际上在任意移动设备上是可访问的,而且移动设备可以充当媒体中心的角色,获得对过多的内容的访问权限或转发它,或“将它推出”到一种或多种显示设备,所述显示设备包括电视机、计算机显示器、投影仪或能够接受、解码和显示流内容的任意设备。尽管有作为客户端的典型地思想,但移动设备,更广泛地说,实际上任意计算设备可以充当“媒体服务器”的角色。
在典型地服务器-客户端远程图形处理布置中,在服务器上存储、检索和渲染图形内容。然后通常以或者由管理设备指定的或者仅仅是配置的一部分的帧速率,捕获和编码经渲染的内容的帧。然后将所捕获的和经编码的帧包化(packetized)并通过网络传送到客户端作为视频流(经常包括音频)。所述客户端仅仅是对所述视频流进行解码并显示所述内容。对于各 种平台,这样的“瘦客户端”应用可以是便携的。
随着移动计算继续随着对内容可访问性和传播的不断地关注而演变,移动设备的角色将继续扩展。典型的客户端服务器分界将逐渐消失,而越来越多的人根据感兴趣的内容,将依靠移动设备作为他们的客户端和服务器。
发明内容
一方面提供了图形服务器。在一个实施例中,所述服务器包括:(1)帧捕获器,所述帧捕获器配置为以帧速率捕获经渲染的内容的帧,(2)编码器,所述编码器配置为以所述帧速率编码所捕获的帧,和(3)处理器,如果所述经渲染的内容是至少部分地改变的,则所述处理器配置为使得经编码的帧被传送,如果所述经渲染的内容是未改变的,则所述处理器配置为使得跳帧信息被传送,所述跳帧信息配置为使得所述帧捕获器放弃捕获,并使得所述编码器放弃编码。
另一方面提供了经由远程图形处理服务使经渲染的内容流动(streaming)的方法,所述方法包括:(1)如果所述经渲染的内容是未改变的,则绕过所述远程图形处理服务的帧捕获和编码阶段,和(2)传送预先计算的跳帧信息,所述预先计算的跳帧信息指示客户端重新使用先前所捕获的、经编码的和传送的帧。
又一方面提供了用于使经渲染的视频流内容流动的图形服务器。在一个实施例中,所述服务器包括:(1)存储器,所述存储器配置为存储指示客户端重新使用先前所传送的视频流的帧的预先计算的跳帧信息,(2)图形渲染器,所述图形渲染器配置为生成所述经渲染的内容,如果所述经渲染的内容至少部分是新的,并配置为通过控制位指示,和(3)中央处理单元(CPU),所述中央处理单元配置为使用所述控制位来引导帧捕获器和编码放弃对所述经渲染的内容的操作,并使得所述预先计算的跳帧信息向所述客户端传送。
附图说明
现在通过结合附图引用以下描述,其中:
图1是服务器-客户端远程图形处理系统的一个实施例的框图;
图2是图形服务器的一个实施例的框图;和
图3是用于经由远程图形处理服务使经渲染的内容流动的方法的一个 实施例的流程图。
具体实施方式
随着媒体服务器的角色开拓到越来越多样的计算机设备,出现了先前在常规的服务器-客户端体制中所排除的局限性。常规的服务器位于中心位置、插进墙中充电且典型地依靠外部提供的网络接入、冷却和可能的存储。虽然这样的布置受电源、存储器或延迟的限制,但这些限制在充当服务器角色的移动设备中是更普遍的。
包括智能手机、平板、膝上型PC等等移动设备,通常在某种程度上依靠电池供电。许多移动设备还受限于内置的存储器,或至多通过某种形式的诸如SD闪存卡或MicroSD卡等可移动介质来扩展。记住了这些局限性,移动设备制造商和软件开发者谨慎地不引入不必要的过程或存储器超高速缓存。考虑到服务器角色中的移动设备,即使适度效率的功率消耗(power consumption)、存储器带宽和延迟也变得至关重要。
本文意识到当渲染是闲置的且所述经渲染的内容未改变时,可以绕过远程图形处理的捕获和编码阶段。在图形服务器上,处理典型地分为中央处理单元(CPU)和图形处理单元(GPU)。所述GPU实施渲染任务和帧捕获,并在一些情况下进行编码。所述CPU执行应用、生成场景数据和渲染命令、或可以从存储器召回内容并将它引导到所述GPU,用于渲染。此外,所述CPU处理所捕获的和经编码的帧以准备它们,用于传送到所述客户端。在一些实施例中,所述CPU或者通过启用和禁用、时钟频率缩放、或者通过一些其它机制来管理所述渲染、捕获和编码阶段的操作。当经渲染的内容是未改变时,通过检测,所述捕获和编码阶段可以被禁用或至少它们的操作被放慢到与所述内容更新速率更可比较的速率。本文进一步意识到这可以通过维持控制位来完成,当所述控制位被设定时,所述控制位指示新的内容已经被渲染。所述控制位可以通过所述渲染阶段来维持并通过所述捕获和编码阶段来读取,或所述控制位可以通过所述CPU来维持,所述CPU将基于所述控制位来管理所述捕获和编码阶段的操作。
本文意识到通过绕过捕获和编码,昂贵的存储器读/写周期与编码所需的处理周期一起被放弃。这些节省降低了功率消耗、存储器带宽消耗和延迟。
尽管服务器已经绕过了不必要的过程,所述客户端仍然需要以指定的帧速率显示帧。本文意识到跳帧信息可以代替所捕获的和经编码的帧被传 送。所述跳帧典型地构建到用于所述流的无论什么编码方案中。例如,h.264标准提供了协议以指导客户端重新使用先前所接收和解码的帧。也就是说,所述经渲染的内容没有改变,则保持显示当前的帧。本文进一步意识到该跳帧信息可以独立于所述渲染、捕获和编码阶段而被预先计算。例如,每当所述控制位进行指示且所述捕获和编码阶段被绕过时,所述CPU可以预先计算h.264跳帧信息并简单地传送它。
本文还意识到当所述经渲染的内容未改变时所获得的效率,在当经渲染的内容是新的但是众所周知的时也可以获得。在那些情况下,只要有效的编码(coding)模式可以代替所捕获的和经编码的帧被预先计算,就可以绕过捕获和编码。本文进一步意识到当移动设备是所述服务器时,所述效率是最有价值的,但这些效率正如适用于常规的、集中的服务器布置一样。这样布置的规模可以达到它将证明每个客户端水平上的功率和存储器效率的适度的获得的这样的水准。
在描述本文所引入的图形服务器和使经渲染的内容流动的方法的各种实施例之前,将描述在其内所述图形服务器和方法可以被体现和实施的服务器-客户端远程图形处理系统。
图1是服务器-客户端远程图形处理系统100的一个实施例的框图。系统100包括网络110、通过网络110,服务器120和客户端140进行通信。服务器120表示内容、处理和渲染资源的中央仓库。客户端140是该内容和那些资源的用户。在某些实施例中,服务器120是免费可扩展的,并具有通过利用(leveraging)并行和分摊的处理和渲染资源而同时地提供该内容和那些服务到多个客户端的能力。除了在服务器120的功率、存储器带宽和延迟上的任意局限性外,服务器120的可扩展性受限于网络110的容量,因为超过客户端数目的某一阈值,不足的网络带宽需要对所有客户端的服务平均地降级。
服务器120包括网络接口卡(NIC)122、中央处理单元(CPU)124和GPU130。一旦在服务器120进行选择,或在某些实施例中,一旦有来自客户端140的请求,图形内容经由在CPU124上执行的应用从存储器召回。按照用于图形应用的惯例,以游戏为例,CPU124预留它自己用于实施高级的操作,诸如在给定的场景中确定对象的位置、动作和碰撞。自这些高级的操作,CPU124生成渲染命令,当所述渲染命令与所述场景数据结合时,所述渲染命令可以由GPU130实施。例如,渲染命令和数据可以定义场景几何、照明、着色、纹理、动作和用于场景的摄像机参数。
GPU130包括图形渲染器132、帧捕获器134和编码器136。图形渲染器132根据由CPU124所生成的渲染命令而执行渲染程序132,产生所述场景的视频帧流。那些未加工的视频帧由帧捕获器134捕获,并由编码器136进行编码。可能利用诸如由国际电信联盟电信标准分会所达成的H.264标准或来自国际标准化组织/国际电工委员会(ISO/IEC)的MPEG-4高级视频编码(AVC)标准,编码器134格式化用于传输的未加工的视频流。或者,所述视频流可以被编码成Windows Media(WMV)格式、VP8格式、或任何其它视频编码格式。
CPU124为传输所述经编码的视频流作准备,所述经编码的视频流被传递到NIC122。NIC122包括对经由诸如Ethernet、Wi-Fi或互联网协议(IP)等网络协议通过网络110进行通信所必需的电路。NIC122为服务器120的网络接口的软件层提供物理层和基底。
客户端140接收所传送的视频流用于显示。客户端140可以是各种个人计算设备,包括:台式或笔记本个人计算机、平板、智能手机或电视。客户端140包含NIC142、解码器144、视频渲染器146、显示器148和CPU150。NIC142与NIC122类似,包括通过网络110进行通信所必需的电路,并为客户端140的网络接口的软件层提供物理层和基底。所传送的视频流由客户端140通过NIC142接收。CPU150打开(unpack)所接收的视频流并准备它用于解码。
视频流然后由解码器144解码,解码器144应该与编码器136匹配,因为每个都应该采用相同的格式化或压缩方案。例如,如果编码器136采用ITU-T H.264标准,那么解码器144也应该采用该标准。解码可以由客户端CPU或客户端GPU来实施,这取决于所述物理客户端设备。一旦被解码,保留在视频流中的所有的帧都是未加工的经渲染的帧。与任何其它流媒体一样,所述渲染帧由基本视频渲染器146处理。所述渲染视频然后可以显示在显示器148上。
已经描述了在其内所述图形服务器和用于使经渲染的内容流动的方法可以被体现和实施的服务器-客户端远程图形处理系统,接下来将描述图形服务器和方法的各种实施例。
图2是诸如图1的服务器120的图形服务器200的一个实施例的框图。图形服务器200包括NIC122、CPU124和GPU130,图1的全部。此外,图形服务器200包括存储器210、数据总线220和控制总线230。GPU130包括图形渲染器132、帧捕获器134和编码器136,也是图1的。
如在图1的服务器120中,图形服务器200的基本操作包括渲染内容、捕获帧和编码帧,用于随后传送到客户端。CPU124、图形渲染器132、帧捕获器134和编码器136都经由数据总线220对存储器210进行读写。数据总线220是用于移动内容穿过所述渲染、捕获和编码过程的主要途径。数据总线220可以用于直接将数据从处理单元移入处理单元,但通常,对于大量的数据,数据通过数据总线220从处理单元移入存储器210。一旦在存储器中,附属到数据总线220的任意处理单元都可以对所述数据进行访问。CPU124经由控制总线230管理图形渲染器132、帧捕获器134和编码器136的操作。
CPU124执行应用,通过所述应用CPU124生成渲染命令且或者生成或者从存储器召回用于渲染的场景数据。典型地,场景数据存储在存储器210中,且稍后在渲染时使用。图形渲染器132经由数据总线220,获得对存储器210中的场景数据的访问权,并在所述情景数据上实施渲染命令以产生经渲染的内容。经渲染的内容经由数据总线220移入存储器210。图形渲染器132通常只有在“屏幕上”的内容已经改变时才进行渲染。当内容未变时,有多种可用于节省渲染资源的方法。当经渲染的内容至少部分改变时,设定控制信号或控制位。
帧捕获器134和编码器136配置为以CPU124指定的帧速率进行操作。所述帧速率经常是用户设定、服务质量(QoS)过程、服务器200和所述客户端之间的协商或一些其它配置的结果。所述帧速率不仅是捕获和编码经渲染的内容的帧的速率,而且也是传送、和可能的解码和显示的速率。这样的布置对延迟和次优的网络条件是敏感的。帧捕获器134通过定期地将经渲染的内容复制到存储器210的暂存缓冲区来“捕获”经渲染的内容。在某些实施例中,当新的经渲染的内容提交到所述捕获阶段时,设定所述控制位。一旦捕获到,则清除所述控制位。如果当帧捕获器134转向复制经渲染的内容时,所述控制位被清除,那么帧捕获器知道所述经渲染的内容自上次捕获以后是没有改变的。在图2的实施例中,CPU124维持所述控制位。当图形渲染器132产生新的渲染内容时,设定所述控制位。然后CPU124使用所述控制位来经由控制总线230启用或禁用帧捕获器134和编码器136。或者,CPU124可以基于所述控制位使用时钟频率缩放来管理帧捕获器134和编码器136操作的速率。时钟频率缩放允许定时设备根据它的工作负荷和工作能力加速或放慢。在这种情况下,CPU124可以降低帧捕获器134的操作速率,从而直到所渲染的内容至少部分改变时才捕 获帧。这种帧捕获阶段的绕过通过去掉了不必要的读写周期而减少了功率的消耗和存储器带宽。
编码器136经由数据总线220获得对存储器210中的暂存缓冲区的访问权限,并编码所存储的帧。例如,许多视频流实现使用h.264编码。然后将所述经编码的帧经由数据总线220写到存储器210中的帧缓冲区。与帧捕获器134类似,编码器136的操作通过控制总线230由CPU124管理。CPU124基于所述控制位降低编码器136操作的速率。如果所述控制位被设定,那么所述经渲染的内容是至少部分改变的,且新的数据已写到存储器210中的暂存缓冲区。如果所述控制位是清除的(clear),那么所述经渲染的内容是未改变的,且新的数据没有写到存储器210中的暂存缓冲区。绕过所述编码阶段,这样通过去掉不必要的处理而降低了功率消耗。
CPU124经由数据总线220检索经编码的帧,并准备或“封装(packs)”它们,用于经由NIC122传输。这个准备典型地包括从所述帧缓冲区对所述数据进行包化(packetizing)并可能附加地针对所述传送协议进行编码。当绕过捕获和编码阶段时,如经由控制总线230由所述控制位所指示的,没有新的帧准备好封装和传送。相反,跳帧信息传送到所述客户端。所述跳帧信息向所述客户端指示不需要更新,且所述客户端应该继续显示或使用所述先前的帧。不管是否改变、渲染、捕获和编码内容,所述客户端都维持它的帧速率。所述跳帧信息通常构建到所述编码方案中,例如h.264跳帧信息。所述跳帧信息是固定的信息,且可以在渲染时间之前由CPU124预先计算并存储在存储器210中。一旦计算出,每当屏幕上的内容是闲置的或未改变的时,CPU124可以经由NIC122再传送所述跳帧信息。
图3是用于经由远程图形处理服务使经渲染的内容流动的方法的一个实施例的流程图。所述方法开始于开始步骤310。在检测步骤320,做出关于所述经渲染的帧是否未改变的结论。根据该结论驱动控制信号。在某些实施例中,所述控制信号是控制位,所述控制位可以嵌入到控制信息中或形成它自己的信息。所述控制信号还可以是分布到一个或多个处理设备的独立的信号。在决策步骤330,基于所述检测步骤320的控制信号做出决策。如果所述控制信号指示所述经渲染的内容已经至少部分地改变,那么所述方法进入到捕获和编码步骤340以及传送帧步骤350。如果所述控制信号指示所述经渲染的内容是未改变的,那么所述方法进入到绕过步骤360和传送跳帧步骤370。
在替代性实施例中,所述经渲染的内容可以是部分改变的,但所述经 渲染的内容是众所周知的且可以预先计算有效的编码模式以表示它。在那种情况下,在那些替代性实施例中,所述方法将进行到绕过步骤360。传送所述预先计算的帧而不是进行到传送跳帧步骤370。这降低了在捕获和编码时通常经历的功率消耗、存储器带宽和延迟。
继续图3的实施例,当所述经渲染的内容是至少部分改变的时,在捕获和编码步骤340捕获和编码所述经渲染的内容的帧。帧捕获典型地以指定的帧速率发生。编码也照着做,以所述指定的帧速率编码所捕获的帧。在传送帧步骤350,将所捕获的和经编码的帧向期待所述指定帧速率的帧的客户端传送。然后所述方法在结束步骤380结束。
当所述经渲染的内容未改变时,渲染是闲置的,且新的经渲染的内容没有被提交到所述捕获和编码阶段。在绕过步骤360绕过所述捕获和编码阶段。然后在传送跳帧步骤370,将预先计算的跳帧信息传向所述客户端。当所述客户端接收所述跳帧信息时,所述客户端将它解译为指令以继续显示、或重新使用所述先前所捕获的和经编码的帧。所述跳帧信息可以存储在存储器中,在启动或场景载入(scene-load)时间,或在渲染、捕获和编码之前的任意其它时间进行计算。然后所述方法在步骤380结束。
与本申请相关的本领域技术人员应该理解可以对所描述的实施例做出其它和进一步的增加、删除、替代和修改。

图形服务器和经远程图形处理服务使渲染内容流动的方法.pdf_第1页
第1页 / 共10页
图形服务器和经远程图形处理服务使渲染内容流动的方法.pdf_第2页
第2页 / 共10页
图形服务器和经远程图形处理服务使渲染内容流动的方法.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《图形服务器和经远程图形处理服务使渲染内容流动的方法.pdf》由会员分享,可在线阅读,更多相关《图形服务器和经远程图形处理服务使渲染内容流动的方法.pdf(10页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104243440A43申请公布日20141224CN104243440A21申请号201310746848422申请日2013123013/923,48220130621USH04L29/0620060171申请人辉达公司地址美国加利福尼亚州72发明人托马斯梅耶尔沙拉德古普塔张茺巴努穆尔蒂卡蒂克维贾雅74专利代理机构北京市磐华律师事务所11336代理人董巍谢栒54发明名称图形服务器和经远程图形处理服务使渲染内容流动的方法57摘要图形服务器和用于经由远程图形渲染服务使经渲染的内容流动的方法。所述图形服务器的一个实施例包括(1)帧捕获器,所述帧捕获器配置为以帧速率捕获经渲染的内。

2、容的帧,(2)编码器,所述编码器配置为以所述帧速率编码所捕获的帧,和(3)处理器,如果所述经渲染的内容是至少部分地改变的,则所述处理器配置为使得经编码的帧被传送,且如果所述经渲染的内容是未改变的,则所述处理器配置为使得跳帧信息被传送,所述跳帧信息配置为使得所述帧捕获器放弃捕获,并使得所述编码器放弃编码。30优先权数据51INTCL权利要求书1页说明书6页附图2页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书6页附图2页10申请公布号CN104243440ACN104243440A1/1页21一种图形服务器,包括帧捕获器,所述帧捕获器配置为以帧速率捕获经渲染的内容的帧;编码。

3、器,所述编码器配置为以所述帧速率编码所捕获的帧;和处理器,如果所述经渲染的内容是至少部分地改变的,则所述处理器配置为使得经编码的帧被传送,且如果所述经渲染的内容是未改变的,则所述处理器配置为使得跳帧信息被传送,所述跳帧信息配置为使得所述帧捕获器放弃捕获,并使得所述编码器放弃编码。2如权利要求1所述的图形渲染服务器,其中,所述图形渲染服务器是移动计算设备。3如权利要求1所述的图形渲染服务器,其中,所述帧捕获器和所述编码器包含在图形处理单元内,所述图形处理单元可通信地耦连到所述处理器。4如权利要求1所述的图形渲染服务器,其中,所述处理器包含所述帧捕获器和所述编码器。5如权利要求1所述的图形渲染服务。

4、器,所述图形渲染服务器进一步包括图形渲染器,所述图形渲染器可操作为生成所述经渲染的内容,且当所述经渲染的内容已经至少部分改变时,所述图形渲染器配置为进行识别。6如权利要求5所述的图形渲染服务器,其中,当新的内容被渲染并提交到所述帧捕获器时,所述图形渲染器配置为设定控制位,且所述处理器配置为使用所述控制位来控制所述帧捕获器和所述编码器。7如权利要求1所述的图形渲染服务器,其中所述跳帧信息是预先计算的H264跳信息。8一种用于使视频流的经渲染的内容流动的图形服务器,包括存储器,所述存储器配置为存储预先计算的跳帧信息,所述预先计算的跳帧信息指示客户端重新使用所述视频流的先前所传送的帧;图形渲染器,所。

5、述图形渲染器配置为生成所述经渲染的内容,且如果所述经渲染的内容至少部分是新的,则所述图形渲染器配置为通过控制位进行指示;和中央处理单元(CPU),所述中央处理单元配置为使用所述控制位来引导帧捕获器和编码器放弃对所述经渲染的内容的操作,并使得所述预先计算的跳帧信息向所述客户端传送。9如权利要求8所述的图形服务器,其中所述图形渲染器在图形处理单元(GPU)内实现。10如权利要求9所述的图形服务器,其中,所述GPU包含所述帧捕获器和所述编码器。权利要求书CN104243440A1/6页3图形服务器和经远程图形处理服务使渲染内容流动的方法技术领域0001本申请概括地说针对的是计算机图形处理,更具体地,。

6、针对的是功率、存储器和时间有效率的远程渲染、帧捕获和编码。背景技术0002个人计算的功用最初专注于企业水平,在科研人员、工程师、分析家和打字员的台式机上配置了强大的工具。该功用已经从仅仅的数据捣弄和文字处理演变到高度可编程的、交互的、能够产生用于详细的令人难以置信的计算机辅助设计、制图和视觉化的一定水平的和实时图形渲染的工件(WORKPIECE)。在移动计算的发展的推动下,个人计算新近已经演变为作为媒体和游戏出口的关键角色。个人计算不再顺从于世界的台式机、或甚至笔记本电脑。强劲的网络和计算功率的微型化已经使得诸如移动电话和平板电脑等移动设备从个人计算市场开拓出较大的面积。0003移动计算已经转。

7、变了常规的信息可访问性和媒体传播的观念。网络启用的(ENABLED)设备是通过各种网络连接了各种设备的新的标准。这已经使得常规的或“主流”内容,以及非常规的、业余的或自制的(HOMEMADE)内容的激增(PROLIFERATION)。对今后来说,除了常规的出口外,不仅该内容实际上在任意移动设备上是可访问的,而且移动设备可以充当媒体中心的角色,获得对过多的内容的访问权限或转发它,或“将它推出”到一种或多种显示设备,所述显示设备包括电视机、计算机显示器、投影仪或能够接受、解码和显示流内容的任意设备。尽管有作为客户端的典型地思想,但移动设备,更广泛地说,实际上任意计算设备可以充当“媒体服务器”的角色。

8、。0004在典型地服务器客户端远程图形处理布置中,在服务器上存储、检索和渲染图形内容。然后通常以或者由管理设备指定的或者仅仅是配置的一部分的帧速率,捕获和编码经渲染的内容的帧。然后将所捕获的和经编码的帧包化(PACKETIZED)并通过网络传送到客户端作为视频流(经常包括音频)。所述客户端仅仅是对所述视频流进行解码并显示所述内容。对于各种平台,这样的“瘦客户端”应用可以是便携的。0005随着移动计算继续随着对内容可访问性和传播的不断地关注而演变,移动设备的角色将继续扩展。典型的客户端服务器分界将逐渐消失,而越来越多的人根据感兴趣的内容,将依靠移动设备作为他们的客户端和服务器。发明内容0006一。

9、方面提供了图形服务器。在一个实施例中,所述服务器包括(1)帧捕获器,所述帧捕获器配置为以帧速率捕获经渲染的内容的帧,(2)编码器,所述编码器配置为以所述帧速率编码所捕获的帧,和(3)处理器,如果所述经渲染的内容是至少部分地改变的,则所述处理器配置为使得经编码的帧被传送,如果所述经渲染的内容是未改变的,则所述处理器配置为使得跳帧信息被传送,所述跳帧信息配置为使得所述帧捕获器放弃捕获,并使得所述编码器放弃编码。说明书CN104243440A2/6页40007另一方面提供了经由远程图形处理服务使经渲染的内容流动(STREAMING)的方法,所述方法包括(1)如果所述经渲染的内容是未改变的,则绕过所述。

10、远程图形处理服务的帧捕获和编码阶段,和(2)传送预先计算的跳帧信息,所述预先计算的跳帧信息指示客户端重新使用先前所捕获的、经编码的和传送的帧。0008又一方面提供了用于使经渲染的视频流内容流动的图形服务器。在一个实施例中,所述服务器包括(1)存储器,所述存储器配置为存储指示客户端重新使用先前所传送的视频流的帧的预先计算的跳帧信息,(2)图形渲染器,所述图形渲染器配置为生成所述经渲染的内容,如果所述经渲染的内容至少部分是新的,并配置为通过控制位指示,和(3)中央处理单元(CPU),所述中央处理单元配置为使用所述控制位来引导帧捕获器和编码放弃对所述经渲染的内容的操作,并使得所述预先计算的跳帧信息向。

11、所述客户端传送。附图说明0009现在通过结合附图引用以下描述,其中0010图1是服务器客户端远程图形处理系统的一个实施例的框图;0011图2是图形服务器的一个实施例的框图;和0012图3是用于经由远程图形处理服务使经渲染的内容流动的方法的一个实施例的流程图。具体实施方式0013随着媒体服务器的角色开拓到越来越多样的计算机设备,出现了先前在常规的服务器客户端体制中所排除的局限性。常规的服务器位于中心位置、插进墙中充电且典型地依靠外部提供的网络接入、冷却和可能的存储。虽然这样的布置受电源、存储器或延迟的限制,但这些限制在充当服务器角色的移动设备中是更普遍的。0014包括智能手机、平板、膝上型PC等。

12、等移动设备,通常在某种程度上依靠电池供电。许多移动设备还受限于内置的存储器,或至多通过某种形式的诸如SD闪存卡或MICROSD卡等可移动介质来扩展。记住了这些局限性,移动设备制造商和软件开发者谨慎地不引入不必要的过程或存储器超高速缓存。考虑到服务器角色中的移动设备,即使适度效率的功率消耗(POWERCONSUMPTION)、存储器带宽和延迟也变得至关重要。0015本文意识到当渲染是闲置的且所述经渲染的内容未改变时,可以绕过远程图形处理的捕获和编码阶段。在图形服务器上,处理典型地分为中央处理单元(CPU)和图形处理单元(GPU)。所述GPU实施渲染任务和帧捕获,并在一些情况下进行编码。所述CPU。

13、执行应用、生成场景数据和渲染命令、或可以从存储器召回内容并将它引导到所述GPU,用于渲染。此外,所述CPU处理所捕获的和经编码的帧以准备它们,用于传送到所述客户端。在一些实施例中,所述CPU或者通过启用和禁用、时钟频率缩放、或者通过一些其它机制来管理所述渲染、捕获和编码阶段的操作。当经渲染的内容是未改变时,通过检测,所述捕获和编码阶段可以被禁用或至少它们的操作被放慢到与所述内容更新速率更可比较的速率。本文进一步意识到这可以通过维持控制位来完成,当所述控制位被设定时,所述控制位指示新的内容已经被渲染。所述控制位可以通过所述渲染阶段来维持并通过所述捕获和编码阶段来读取,或所述控制位可以通过所述CP。

14、U来维持,所述CPU将基于所述控制位来管理所述捕获和说明书CN104243440A3/6页5编码阶段的操作。0016本文意识到通过绕过捕获和编码,昂贵的存储器读/写周期与编码所需的处理周期一起被放弃。这些节省降低了功率消耗、存储器带宽消耗和延迟。0017尽管服务器已经绕过了不必要的过程,所述客户端仍然需要以指定的帧速率显示帧。本文意识到跳帧信息可以代替所捕获的和经编码的帧被传送。所述跳帧典型地构建到用于所述流的无论什么编码方案中。例如,H264标准提供了协议以指导客户端重新使用先前所接收和解码的帧。也就是说,所述经渲染的内容没有改变,则保持显示当前的帧。本文进一步意识到该跳帧信息可以独立于所述。

15、渲染、捕获和编码阶段而被预先计算。例如,每当所述控制位进行指示且所述捕获和编码阶段被绕过时,所述CPU可以预先计算H264跳帧信息并简单地传送它。0018本文还意识到当所述经渲染的内容未改变时所获得的效率,在当经渲染的内容是新的但是众所周知的时也可以获得。在那些情况下,只要有效的编码(CODING)模式可以代替所捕获的和经编码的帧被预先计算,就可以绕过捕获和编码。本文进一步意识到当移动设备是所述服务器时,所述效率是最有价值的,但这些效率正如适用于常规的、集中的服务器布置一样。这样布置的规模可以达到它将证明每个客户端水平上的功率和存储器效率的适度的获得的这样的水准。0019在描述本文所引入的图形。

16、服务器和使经渲染的内容流动的方法的各种实施例之前,将描述在其内所述图形服务器和方法可以被体现和实施的服务器客户端远程图形处理系统。0020图1是服务器客户端远程图形处理系统100的一个实施例的框图。系统100包括网络110、通过网络110,服务器120和客户端140进行通信。服务器120表示内容、处理和渲染资源的中央仓库。客户端140是该内容和那些资源的用户。在某些实施例中,服务器120是免费可扩展的,并具有通过利用(LEVERAGING)并行和分摊的处理和渲染资源而同时地提供该内容和那些服务到多个客户端的能力。除了在服务器120的功率、存储器带宽和延迟上的任意局限性外,服务器120的可扩展性。

17、受限于网络110的容量,因为超过客户端数目的某一阈值,不足的网络带宽需要对所有客户端的服务平均地降级。0021服务器120包括网络接口卡(NIC)122、中央处理单元(CPU)124和GPU130。一旦在服务器120进行选择,或在某些实施例中,一旦有来自客户端140的请求,图形内容经由在CPU124上执行的应用从存储器召回。按照用于图形应用的惯例,以游戏为例,CPU124预留它自己用于实施高级的操作,诸如在给定的场景中确定对象的位置、动作和碰撞。自这些高级的操作,CPU124生成渲染命令,当所述渲染命令与所述场景数据结合时,所述渲染命令可以由GPU130实施。例如,渲染命令和数据可以定义场景几。

18、何、照明、着色、纹理、动作和用于场景的摄像机参数。0022GPU130包括图形渲染器132、帧捕获器134和编码器136。图形渲染器132根据由CPU124所生成的渲染命令而执行渲染程序132,产生所述场景的视频帧流。那些未加工的视频帧由帧捕获器134捕获,并由编码器136进行编码。可能利用诸如由国际电信联盟电信标准分会所达成的H264标准或来自国际标准化组织/国际电工委员会(ISO/IEC)的MPEG4高级视频编码(AVC)标准,编码器134格式化用于传输的未加工的视频流。或者,所述视频流可以被编码成WINDOWSMEDIA(WMV)格式、VP8格式、或任何其它视频编说明书CN1042434。

19、40A4/6页6码格式。0023CPU124为传输所述经编码的视频流作准备,所述经编码的视频流被传递到NIC122。NIC122包括对经由诸如ETHERNET、WIFI或互联网协议(IP)等网络协议通过网络110进行通信所必需的电路。NIC122为服务器120的网络接口的软件层提供物理层和基底。0024客户端140接收所传送的视频流用于显示。客户端140可以是各种个人计算设备,包括台式或笔记本个人计算机、平板、智能手机或电视。客户端140包含NIC142、解码器144、视频渲染器146、显示器148和CPU150。NIC142与NIC122类似,包括通过网络110进行通信所必需的电路,并为客户。

20、端140的网络接口的软件层提供物理层和基底。所传送的视频流由客户端140通过NIC142接收。CPU150打开(UNPACK)所接收的视频流并准备它用于解码。0025视频流然后由解码器144解码,解码器144应该与编码器136匹配,因为每个都应该采用相同的格式化或压缩方案。例如,如果编码器136采用ITUTH264标准,那么解码器144也应该采用该标准。解码可以由客户端CPU或客户端GPU来实施,这取决于所述物理客户端设备。一旦被解码,保留在视频流中的所有的帧都是未加工的经渲染的帧。与任何其它流媒体一样,所述渲染帧由基本视频渲染器146处理。所述渲染视频然后可以显示在显示器148上。0026已。

21、经描述了在其内所述图形服务器和用于使经渲染的内容流动的方法可以被体现和实施的服务器客户端远程图形处理系统,接下来将描述图形服务器和方法的各种实施例。0027图2是诸如图1的服务器120的图形服务器200的一个实施例的框图。图形服务器200包括NIC122、CPU124和GPU130,图1的全部。此外,图形服务器200包括存储器210、数据总线220和控制总线230。GPU130包括图形渲染器132、帧捕获器134和编码器136,也是图1的。0028如在图1的服务器120中,图形服务器200的基本操作包括渲染内容、捕获帧和编码帧,用于随后传送到客户端。CPU124、图形渲染器132、帧捕获器13。

22、4和编码器136都经由数据总线220对存储器210进行读写。数据总线220是用于移动内容穿过所述渲染、捕获和编码过程的主要途径。数据总线220可以用于直接将数据从处理单元移入处理单元,但通常,对于大量的数据,数据通过数据总线220从处理单元移入存储器210。一旦在存储器中,附属到数据总线220的任意处理单元都可以对所述数据进行访问。CPU124经由控制总线230管理图形渲染器132、帧捕获器134和编码器136的操作。0029CPU124执行应用,通过所述应用CPU124生成渲染命令且或者生成或者从存储器召回用于渲染的场景数据。典型地,场景数据存储在存储器210中,且稍后在渲染时使用。图形渲染。

23、器132经由数据总线220,获得对存储器210中的场景数据的访问权,并在所述情景数据上实施渲染命令以产生经渲染的内容。经渲染的内容经由数据总线220移入存储器210。图形渲染器132通常只有在“屏幕上”的内容已经改变时才进行渲染。当内容未变时,有多种可用于节省渲染资源的方法。当经渲染的内容至少部分改变时,设定控制信号或控制位。0030帧捕获器134和编码器136配置为以CPU124指定的帧速率进行操作。所述帧速说明书CN104243440A5/6页7率经常是用户设定、服务质量(QOS)过程、服务器200和所述客户端之间的协商或一些其它配置的结果。所述帧速率不仅是捕获和编码经渲染的内容的帧的速率。

24、,而且也是传送、和可能的解码和显示的速率。这样的布置对延迟和次优的网络条件是敏感的。帧捕获器134通过定期地将经渲染的内容复制到存储器210的暂存缓冲区来“捕获”经渲染的内容。在某些实施例中,当新的经渲染的内容提交到所述捕获阶段时,设定所述控制位。一旦捕获到,则清除所述控制位。如果当帧捕获器134转向复制经渲染的内容时,所述控制位被清除,那么帧捕获器知道所述经渲染的内容自上次捕获以后是没有改变的。在图2的实施例中,CPU124维持所述控制位。当图形渲染器132产生新的渲染内容时,设定所述控制位。然后CPU124使用所述控制位来经由控制总线230启用或禁用帧捕获器134和编码器136。或者,CP。

25、U124可以基于所述控制位使用时钟频率缩放来管理帧捕获器134和编码器136操作的速率。时钟频率缩放允许定时设备根据它的工作负荷和工作能力加速或放慢。在这种情况下,CPU124可以降低帧捕获器134的操作速率,从而直到所渲染的内容至少部分改变时才捕获帧。这种帧捕获阶段的绕过通过去掉了不必要的读写周期而减少了功率的消耗和存储器带宽。0031编码器136经由数据总线220获得对存储器210中的暂存缓冲区的访问权限,并编码所存储的帧。例如,许多视频流实现使用H264编码。然后将所述经编码的帧经由数据总线220写到存储器210中的帧缓冲区。与帧捕获器134类似,编码器136的操作通过控制总线230由C。

26、PU124管理。CPU124基于所述控制位降低编码器136操作的速率。如果所述控制位被设定,那么所述经渲染的内容是至少部分改变的,且新的数据已写到存储器210中的暂存缓冲区。如果所述控制位是清除的(CLEAR),那么所述经渲染的内容是未改变的,且新的数据没有写到存储器210中的暂存缓冲区。绕过所述编码阶段,这样通过去掉不必要的处理而降低了功率消耗。0032CPU124经由数据总线220检索经编码的帧,并准备或“封装(PACKS)”它们,用于经由NIC122传输。这个准备典型地包括从所述帧缓冲区对所述数据进行包化(PACKETIZING)并可能附加地针对所述传送协议进行编码。当绕过捕获和编码阶段。

27、时,如经由控制总线230由所述控制位所指示的,没有新的帧准备好封装和传送。相反,跳帧信息传送到所述客户端。所述跳帧信息向所述客户端指示不需要更新,且所述客户端应该继续显示或使用所述先前的帧。不管是否改变、渲染、捕获和编码内容,所述客户端都维持它的帧速率。所述跳帧信息通常构建到所述编码方案中,例如H264跳帧信息。所述跳帧信息是固定的信息,且可以在渲染时间之前由CPU124预先计算并存储在存储器210中。一旦计算出,每当屏幕上的内容是闲置的或未改变的时,CPU124可以经由NIC122再传送所述跳帧信息。0033图3是用于经由远程图形处理服务使经渲染的内容流动的方法的一个实施例的流程图。所述方法。

28、开始于开始步骤310。在检测步骤320,做出关于所述经渲染的帧是否未改变的结论。根据该结论驱动控制信号。在某些实施例中,所述控制信号是控制位,所述控制位可以嵌入到控制信息中或形成它自己的信息。所述控制信号还可以是分布到一个或多个处理设备的独立的信号。在决策步骤330,基于所述检测步骤320的控制信号做出决策。如果所述控制信号指示所述经渲染的内容已经至少部分地改变,那么所述方法进入到捕获和编码步骤340以及传送帧步骤350。如果所述控制信号指示所述经渲染的内容是未改变的,那么所述方法进入到绕过步骤360和传送跳帧步骤370。说明书CN104243440A6/6页80034在替代性实施例中,所述经。

29、渲染的内容可以是部分改变的,但所述经渲染的内容是众所周知的且可以预先计算有效的编码模式以表示它。在那种情况下,在那些替代性实施例中,所述方法将进行到绕过步骤360。传送所述预先计算的帧而不是进行到传送跳帧步骤370。这降低了在捕获和编码时通常经历的功率消耗、存储器带宽和延迟。0035继续图3的实施例,当所述经渲染的内容是至少部分改变的时,在捕获和编码步骤340捕获和编码所述经渲染的内容的帧。帧捕获典型地以指定的帧速率发生。编码也照着做,以所述指定的帧速率编码所捕获的帧。在传送帧步骤350,将所捕获的和经编码的帧向期待所述指定帧速率的帧的客户端传送。然后所述方法在结束步骤380结束。0036当所。

30、述经渲染的内容未改变时,渲染是闲置的,且新的经渲染的内容没有被提交到所述捕获和编码阶段。在绕过步骤360绕过所述捕获和编码阶段。然后在传送跳帧步骤370,将预先计算的跳帧信息传向所述客户端。当所述客户端接收所述跳帧信息时,所述客户端将它解译为指令以继续显示、或重新使用所述先前所捕获的和经编码的帧。所述跳帧信息可以存储在存储器中,在启动或场景载入(SCENELOAD)时间,或在渲染、捕获和编码之前的任意其它时间进行计算。然后所述方法在步骤380结束。0037与本申请相关的本领域技术人员应该理解可以对所描述的实施例做出其它和进一步的增加、删除、替代和修改。说明书CN104243440A1/2页9图1说明书附图CN104243440A2/2页10图2图3说明书附图CN104243440A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1