首页> 中国专利> 加入或重放来自游戏广播的游戏实例

加入或重放来自游戏广播的游戏实例

摘要

本申请涉及加入或重放来自游戏广播的游戏实例的技术。在各种示例中,实况流游戏实例或预先记录的游戏实例的元数据可以被包括于来自游戏流的流数据中,并且被用于能够访问以玩游戏的实例。流的观看者可能希望参与游戏的实例,并且系统可以使用元数据来确定关于托管游戏的游戏平台针对观看者的验证、关于游戏针对观看者的访问限制、针对游戏的实例的流的标识信息、和/或针对流中游戏的特定实例的游戏修改信息。该信息可以用于将观看者从观看流传输平台上的游戏的实例的流中的被动角色无缝地转换为主动地参与游戏的实例或游戏平台上的游戏的另一个实例。

著录项

  • 公开/公告号CN112402943A

    专利类型发明专利

  • 公开/公告日2021-02-26

    原文格式PDF

  • 申请/专利权人 辉达公司;

    申请/专利号CN202010738355.6

  • 发明设计人 A·费尔;

    申请日2020-07-28

  • 分类号A63F13/31(20140101);A63F13/30(20140101);A63F13/53(20140101);A63F13/537(20140101);A63F13/79(20140101);H04L29/06(20060101);

  • 代理机构11336 北京市磐华律师事务所;

  • 代理人高伟

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 10:03:37

说明书

背景技术

在近十年中,流传输被证明是媒体领域最具破坏性的技术之一。电影、电视节目和音乐的近即时(near instant)访问已从根本上改变了终端用户观看、收听和与媒体内容互动的方式。流传输还迅速改变了终端用户与其他媒体内容(例如游戏)互动的方式。例如,流传输使终端用户(例如,主播(streamer))能够与其他终端用户(例如,观看者)实况(live)共享他们的游戏体验。类似地,流传输还使主播能够记录他们的游戏设置(gameplay)经验,并随后与其他观看者共享他们记录的游戏设置经验。观看主播的游戏设置经验的这种预先记录的或实况的流作为对传统视频游戏和传统电视节目观看两者的补充或替代已经越来越流行。

在传统系统中,从被动地观看实时或预先记录的流转换到主动地玩和/或参与游戏是繁琐的任务。例如,由于各种进入障碍(例如,时间、价格、计算机资源、网络资源等),决定自己想要加入正在实况流传输其游戏设置的主播的观看者必须确定该主播的平台正在使用,定位到游戏位于的数字商店,在数字商店中定位到游戏,购买游戏和/或下载游戏(这取决于文件大小,可能需要大量的时间、带宽和计算机内存和/或其他宝贵的计算机和网络资源)。更进一步,一旦发生购买和下载,观看者可能必须设置用户配置文件,登录游戏,找到主播的用户名(例如,标识符),请求与主播一起加入游戏,然后希望得到接收。一旦完成所有这些任务,则主播可能不再在玩游戏。类似地,决定自己想玩游戏的相似或相同修改版本(例如游戏的光线追踪修改版本)的观看者可能无法在任何公开可用的数字商店中定位到该特定修改或版本–或者该版本可能不会公开发布。通过简化从被动观看流(stream)到主动参与流的过程,使该系统能够最小化进入确定的游戏实例的摩擦和障碍将是有益的。

发明内容

本公开的实施例涉及加入或重放来自游戏广播中的游戏实例。公开了使用来自各种游戏流(例如,实时游戏流实例、预先记录的游戏实例等)的元数据的系统和方法,以实现从被动观看游戏的实例的实况流(live stream)或游戏的预先记录的实例到主动参与游戏的无缝过渡。

与诸如上述那些的传统系统相反,本系统识别并存储与实况流或预先记录流相关联的元数据,以使得在流传输应用程序中正在观看流的用户来访问直接来自流传输应用程序的游戏平台上的游戏。例如,元数据可包括正在流传输(streamed)的游戏的名称信息、在其上玩游戏和/或在其上主播正在玩的平台标识信息、与在何处购买游戏相关的数字商店信息(假设购买是必需的)、有关与游戏设置流相关联的任何特定版本、修改、用户库存等的信息,和/或正在流传输(streaming)游戏设置的主播的用户名(例如,标识)信息(例如,在特定平台/数字商店上的主播的用户名)。

使用经标识的元数据,并且当观看者在显示器上观看流时,可以在显示器上填充图形元素(例如,“立即加入”按钮),以使观看者能够请求访问以加入到来自实况流的游戏实例的游戏设置上或基于预先记录的流的经修改的游戏实例的游戏设置上。这样,一旦选择了图形元素,就可以在观看者的设备上启动游戏(例如,在网络浏览器门户、独立应用程序等中)。

一旦验证(例如,以确认用户在游戏平台上具有账户和/或用户已经购买或以其他方式可以访问游戏),观看者就可以使用身份管理(IDM)系统登录到平台中,以使游戏设置统计信息、记录、称号、成就和/或其他游戏相关信息与观看者的用户名相关联,因为观看者现在成为游戏的活跃玩家(例如,在针对主播实时游戏实例中,在基于预先记录的游戏实例的修改的游戏实例中,和/或类似者)。结果,以及与用于加入以在流中表示的游戏实例的常规系统的分离方法相反,本公开的系统可以使得能够从在流传输平台上观看游戏的实例的流的观看者到参与游戏平台上的游戏的实例的玩家进行无缝且有效的转移。

附图说明

下面参考附图详细描述用于加入或重放来自游戏广播中的游戏实例的当前系统和方法,其中:

图1A是根据本公开的一些实施例的用于加入或重放来自游戏广播中游戏实例的示例系统图;

图1B是根据本公开的一些实施例的游戏会话的示例用户界面,其包括用于加入游戏实例的实况流的图形元素。

图1C是根据本公开的一些实施例的游戏会话的示例用户界面,其包括用于播放游戏实例的预先记录的流的图形元素。

图2是示出根据本公开的一些实施例的用于加入来自实时游戏广播的游戏实例的方法的流程图;

图3是示出根据本公开的一些实施例的用于加入来自预先记录的游戏广播中游戏实例的方法的流程图;

图4是根据本公开的一些实施例的用于游戏流传输系统的示例系统图;以及

图5是适合用于实现本公开的一些实施例的示例计算环境的框图。

具体实施方式

公开了与加入或重放来自游戏广播的游戏实例有关的系统和方法。例如,当观看者正在观看实况或预先记录的游戏流时,观看者可能会发现该游戏很有趣,并决定他们要玩该主播正在玩的游戏的相同未修改版本;在实况流过程中与主播一起玩和/或与其对抗;玩主播正在玩的相同的场景(例如特定或修改的版本、或处于该主播的级别或具有其项目/武器/技能);或者,在特定的游戏设置(gameplay)实例中再次进行(re-enact)主播正在完成的特定挑战(例如,具有类似或相同的游戏中约束条件,包括但不限于角色生命点、装备选项、武器清单等)。这样,本公开提供了从被动地观看游戏流程(例如,实况流或预先记录的流)到主动参与游戏设置流中表示的游戏的无缝、有效的过渡。

在一些实施例中,当观看者观看主播正在进行流传输的游戏设置的实况流实例时,可以接收和/或存储与该流相关联的元数据。元数据可以包括正在流传输的游戏的名称信息,在其上玩游戏并且在其上主播正在玩的平台标识信息,与在何处购买游戏(假设购买是必须的)相关的数字商店信息,关于与游戏设置流相关联的任何特定版本、修改、用户库存等的信息,以及正在流传输游戏设置的主播的用户名(例如,标识)信息(例如,特定平台/数字商店上的主播的用户名)。使用该信息,并且当观看者在显示器上观看实况流时,可以在显示器上填充图形元素(例如,“立即加入”按钮),该图形元素可以使观看者能够请求访问加入主播的游戏设置。这样,一旦选择图形元素—并使用代表数字商店、游戏名称和/或平台信息的元数据—可以在观看者的设备上启动游戏(例如,在Web浏览器门户、在独立应用程序上等)。

在实施例中,观看者可以由游戏系统验证,例如,以确认用户在游戏平台上具有账户和/或用户已经购买或可以访问游戏。一旦被验证,观看者可以使用身份管理系统(IDM)登录到平台中,使得观看者的用户名对于与主播一起玩、与主播进行对抗和/或以其他方式玩游戏的实例是活跃的。对于参加游戏的主播,主播可以接收现在游戏中的观看者希望加入他们的游戏设置的请求或其他指示。可以选择性地向主播呈现接受或拒绝请求的选项,和/或可以将观看者添加到队列中以与主播一起玩。一旦主播接受观看者的加入请求或观看者升至队列的顶部,可以将具有相关游戏平台用户名的观看者添加到游戏中,以与主播一起玩和/或与主播进行对抗。

以这种方式,通过使用存储的元数据,当前系统可以最小化在实况流期间在被动地观看游戏设置流和主动地与主播一起参与之间进行过渡的摩擦和/或延迟。因此,当前系统可以允许游戏实例的观看者在游戏实例内的主播的当前游戏状态下(例如,基本上瞬时)加入具有主播的游戏实例。

类似地,当观看者观看主播正在流传输的游戏设置的预先记录的实例时,与该流相关联的元数据也可以被跟踪和/或存储。在此,元数据可以类似于本文关于实况流所描述的元数据(例如,名称信息、平台标识信息、数字商店信息等)。当观看者在显示器上观看预先记录的流时,可能出现图形元素(例如,“立即玩”按钮),该图形元素使观看者能够玩他们正在观看的游戏的特定版本。一旦选择图形元素,就可以启动观看者正在观看的游戏(例如,在验证之后,并且在网络浏览器门户中、独立的应用程序中等)。

在一些实施例中,如果观看者正在观看的游戏对于谁可以访问游戏的某些属性具有特定的限制(例如,由于主播的进度,例如等级、成就、经验等),观看者可能会被授予玩相应于主播进度的游戏的权限-即使观看者没有其他方式可以访问这些级别、成就和/或经验的地方。在其他实施例中,观看者可能仅能够基于观看者当前的进度或游戏中的限制来玩游戏,因此可以使用游戏的解锁修改,但锁定的修改可以保持锁定。在某些情况下,观看者可能会尝试使用与主播相同的统计数据、特权和/或修改(例如,相同的生命点、武器清单、车辆、装备(outfit)等)来重新创建由主播完成的特定挑战、级别或其他游戏设置部分。在这样的示例中,游戏系统可以使用与由主播流传输的预先记录的游戏的实例相关联的元数据(包括与预先记录的游戏设置流相关联的特定版本、修改、用户清单(user-inventory)等)以实现这样的游戏设置。通过使用存储的元数据,当前系统可以最小化在被动地观看具有某些解锁限制的游戏实例的流与主动参与所生成的包括解锁限制的游戏的另一实例之间的过渡之间的摩擦。

参考图1A,图1A是根据本公开的一些实施例的用于从云游戏环境的游戏广播中加入或重播游戏实例的游戏设置系统100的示例系统图。应当理解,本文描述的这种布置和其他布置仅作为示例阐述。除了所示出的布置或元素之外,可以使用其他布置和元素(例如,机器、界面、功能、命令、功能的分组等),并且可以完全省略一些元素。此外,本文描述的许多元素是功能实体,其可以被实现为离散或分布式组件或与其他组件结合并且以任何合适的组合和位置来实现。本文描述为由实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,各种功能可以由处理器执行存储在存储器中的指令来执行。

除了其他组件和/或设备之外,游戏设置系统100还可以包括一个或更多个客户端设备104、一个或更多个流传输客户端设备114、一个或更多个流传输服务器124以及一个或多个游戏服务器116。游戏设置系统100(及其组件和/或其特征)可以使用游戏流传输系统(例如,游戏流传输系统400)来实现,此处将对其进行更详细的描述。另外,可使用一个或更多个计算设备(例如,图5的计算设备500)来实现游戏设置系统100(及其组件和/或其特征),如在此更详细地描述。

游戏设置系统100的每个设备和/或组件可以通过一个或更多个网络102进行通信。一个或更多个网络可以包括广域网(WAN)(例如,互联网、公用电话交换网)(PSTN)等)、局域网(LAN)(例如Wi-Fi、ZigBee、Z-Wave、蓝牙、低功耗蓝牙(BLE)、以太网等)、全球导航卫星系统(GNSS)网络(例如,全球定位系统(GPS))和/或其他网络类型。在任何示例中,游戏设置系统100的每个设备或组件可以经由一个或更多个网络102与一个或更多个其他设备和/或组件通信。

一个或更多个客户端设备104可以包括智能电话、膝上型计算机、平板计算机、台式计算机、可穿戴设备、游戏控制台、虚拟现实系统(例如,头戴式耳机、计算机、游戏机、一个或更多个遥控器、一个或更多个控制器和/或其他组件)、NVIDIA SHIELD、智能家居设备,其可能包含智能个人助理和/或至少能够支持显示的另一种类型的设备游戏会话的游戏流(例如游戏会话132)和/或从输入设备(例如一个或更多个输入设备112)到游戏会话132的输入。

一个或更多个客户端设备104可以包括游戏应用程序106、流传输应用程序168、显示器108、通信接口110、一个或更多个输入设备112、以及一个或更多个数据存储器122。尽管在图1A中仅示出了一个或更多个客户端设备104的一些组件和/或特征,但是这不是限制性的。例如,一个或更多个客户端设备104可以包括附加或替代组件,诸如下面关于图5的计算设备500所描述的那些。

一个或更多个客户端设备104可以是一个或更多个组件(例如,通信组件、网络接口等)以及用于在一个或更多个网络(例如,一个或更多个网络102)之间进行通信的特征。作为非限制性示例,为了在游戏设置系统100内通信,一个或更多个客户端设备104可以使用有线以太网连接和/或Wi-Fi连接通过路由器来访问因特网,以便与一个或更多个流传输客户端设备114、一个或更多个流传输服务器124、一个或更多个游戏服务器116和/或一个或更多个其他客户端设备104进行通信。

游戏应用程序106可以是移动应用程序、计算机应用程序、控制台应用程序、web应用程序和/或另一种类型的应用程序。游戏应用程序106可以包括指令,当指令由一个或更多个客户端设备104的处理器执行时,该指令使处理器执行一个或更多个操作(例如但不限于本文关于游戏设置系统100所述的操作)。游戏应用程序106可以接收和/或处理来自一个或更多个客户端设备104的一个或更多个输入设备112中的一个或更多个的输入,和/或使表示输入的输入数据传输到一个或更多个流传输服务器124、一个或更多个游戏服务器116、一个或更多个流传输客户端设备114和/或一个或更多个其他客户端设备104。

流传输应用程序168可以用作促进者,以使得能够观看游戏实例(例如,实况流游戏实例128或预先记录的游戏实例120)。例如但不限于,流传输应用程序168可以使从一个或更多个流服务器124接收的游戏的游戏实例的实况流进行显示,诸如实时流游戏实例128。游戏应用106可以还显示从一个或多个流传输服务器124接收的游戏的游戏实例的预先记录的流,诸如预先记录的游戏实例120。

尽管被示为单独的应用程序,但是在不脱离本公开的范围的情况下,游戏应用程序106和流传输应用程序168可以包括单个应用程序。例如,在游戏设置和游戏设置的流传输由同一平台(例如,NVIDIA的GEFORCE EXPERIENCE)托管的情况下,游戏应用程序106和流传输应用程序168可以包括相同的应用程序。在其他实施例中,诸如图1A所示,在实施例中,即使在游戏设置和流传输由同一平台托管的情况下,游戏应用程序106和流传输应用程序168也可以是单独的应用程序。

游戏应用程序106和/或流传输应用程序168可以配置成识别与游戏的实况流实例或游戏的预先记录的实例相关联的元数据,例如从一个或更多个流传输服务器124接收的实况流游戏实例128,和/或从一个或更多个流传输服务器124接收的预先记录的游戏实例120。例如,关于实况流游戏实例128,游戏应用程序106和/或流传输应用程序168可以配置成识别共享(例如,流传输)实况流的主播的标识符(例如,用户名),主播在其上正在玩游戏的实例的平台(例如,数字商店)信息,和/或游戏标题。此外,关于预先记录的游戏实例120、游戏应用程序106和/或流传输应用程序168可以配置成识别在其上玩过游戏实例的平台(例如,数字商店)信息、游戏的标题和/或游戏的任何游戏实例标识符信息(例如,与特定版本、修改、用户清单、生活点、武器清单、车辆、装备、统计信息等相关联的信息)。在一些实施例中,游戏应用程序106和/或流传输应用程序168可以将所标识的元数据存储在数据存储器中,诸如一个或更多个数据存储器122,如下面更详细地描述的。

在一些示例中,一旦观看者参与游戏设置(例如,在从流中转移之后),则一个或更多个客户端设备104可以使用游戏应用程序106渲染游戏的实例。在其他示例中,一个或更多个客户端设备104可以接收显示数据(例如,如参照图4所描述的编码的显示数据),并且游戏应用程序106可以使用该显示数据以在显示器108上显示游戏的实例。在由一个或更多个客户端设备104接收显示数据的示例(例如,一个或更多个客户端设备104不生成渲染的示例)中,游戏设置系统100可以是游戏流传输系统的一部分,例如图4的游戏流传输系统400包括:参照图4,下面更详细地描述。

显示器108可以包括能够显示游戏实例的任何类型的显示器(例如,发光二极管显示器(LED)、有机LED显示器(OLED),液晶显示器(LCD)、有源矩阵OLED显示器(AMOLED)、量子点显示器(QDD)、等离子显示器和/或其他类型的显示器)。在一些示例中,依赖于一个或更多个客户端设备104的配置,显示器108可以包括多于一个的显示器(例如,用于计算机游戏的双显示器型显示器,用于配置游戏的第一显示器和用于玩游戏的虚拟现实显示器),可以包括增强现实(AR)或虚拟现实(VR)系统的显示器,和/或可以包括其他数量或类型的显示器。在显示器108是触摸屏显示器的情况下,诸如智能电话、平板计算机、膝上型计算机等的触摸屏,显示器108可以用作一个或更多个客户端设备104的一个或更多个输入设备112中的至少一个(例如,输入设备112中的一个用于生成游戏实例的输入,例如用于传输到一个或更多个流传输客户设备114、一个或更多个流传输服务器124、一个或更多个游戏服务器116和/或一个或更多个其他客户端设备104)。显示器108可以显示一个或更多个游戏会话(例如游戏会话132)的游戏流,例如实况流游戏实例128和/或预先记录的游戏实例120。游戏会话132可以包括一个或更多个流传输客户端设备114的用户(例如,主播)和/或一个或更多个客户端设备104的用户(例如,观看者)参与的任何数量的游戏会话。

显示器108可以在玩游戏期间显示游戏的实例,和/或可以显示另一玩家(例如,主播)的游戏流,例如代表实况流游戏实例128的游戏会话132,和/或预先记录的游戏实例120。尽管在图1A中(因此包括按钮136)示出游戏设置的流的可视化,游戏会话132可以包括但不限于由一个或更多个客户端设备104(并且可以不包括按钮136,在这些示例中)的用户(例如,观看者),一个或更多个流传输客户端设备114的用户(例如,主播),由一个或更多个流传输客户端设备114的主播和一个或更多个客户端设备104的观看者两者,由一个或更多个其他客户端设备104的观看者,和/或一个或更多个流传输客户端设备114的用户(例如,观看者),和/或它们的组合参与的游戏会话。

游戏会话132可以包括游戏会话数据(例如,游戏状态数据)。游戏会话数据可以表示游戏的当前状态,包括游戏统计信息、对象状态、清单、健康信息、玩家位置、成就进度、修改和/或其他有关玩家的信息、游戏信息和/或环境特征(例如,“玩家1”150的位置、建筑物的状态146、悬崖的属性148、当前武器清单130、击杀计数信息138、玩家信息140等)。

游戏会话132或其在游戏应用程序106和/或流传输应用程序168中的显示可以进一步包括图像元素,例如流媒体窗口142、聊天框134、聊天消息144A和144B以及按钮136。如图1A所示,主播窗口142可以描绘在一个或更多个流传输客户端设备114上的用户(例如,主播)正在玩的游戏的示例的视觉表示在显示器108上显示给一个或更多个客户端设备104的用户(例如,观看者)。按钮136可以包含图像元素,该图像元素使用游戏实例流中的元数据,使游戏实例的观看者可以加入游戏实例的实况流来和主播一起玩和/或对抗主播,或播放游戏实例的预先记录的流,包括对游戏的修改的任何组合(例如,武器清单、装备、车辆等)。尽管图像元素(例如,按钮136、聊天框134等)位于游戏会话132可视化中的所示布置中,但这并不旨在进行限制,并且在不脱离本公开的范围的情况下,图形元素可以位于游戏会话132内的任何位置,可以改变整个游戏会话132内的位置,等等。例如,按钮136可以位于聊天框134中,主播窗口142可以位于右下角,依此类推。

一个或更多个输入设备112可以包括能够向游戏提供用户输入的任何类型的设备。一个或更多个输入设备112可以包括键盘、鼠标、操纵杆、触摸屏显示器、一个或更多个控制器、一个或更多个遥控器、耳机(例如,AR或VR耳机的传感器),另一种类型的输入设备,和/或其组合。

通信接口110可以包括用于在一个或更多个网络(诸如一个或更多个网络102)上进行通信的一个或更多个组件和特征。在此说明,通信接口110可以配置成经由任意数量的一个或更多个网络102进行通信。例如,为了在图1A的游戏设置系统100中进行通信,一个或更多个客户端设备104可以使用通过路由器的以太网或Wi-Fi连接来访问因特网,以便与一个或更多个流传输服务器124、一个或更多个游戏服务器116、一个或更多个流传输客户端设备114和/或一个或更多个其他客户端设备104进行通信。

一个或更多个数据存储器122可以包括一个或更多个任何存储器设备类型。在游戏的实例是实况流(例如,实况流游戏实例128)的实施例中,一个或更多个数据存储器122可以负责存储由一个或更多个客户端设备104的组件(例如游戏应用程序106和/或流传输应用程序168)标识(identified)的与实况流游戏实例128相关联的元数据的存储。特别地,与实况流游戏实例相关联的元数据可以包括共享(例如,流传输)实况流的主播的标识符(例如,用户名),在其上主播正在玩游戏的实例的平台信息(例如,数字商店)、游戏标题和/或其他信息。例如,与实况流游戏实例128相关联的元数据可以包括以下信息:Streamer_123”是使用

“Platform_XYZ”的实况流传输“Game_ABC”的实例。这样,当观看者选择按钮136时,该元数据可用于登录到Platform_XYZ中,认证观看者以玩Game_ABC,并启动游戏的实例以与Streamer_123一起玩。

在游戏的实例是预先记录的流(例如,预先记录的游戏实例120)的实施例中,一个或更多个数据存储器122可以负责存储由一个或更多个客户端设备104的组件(例如游戏应用程序106和/或流传输应用程序168)标识的预先记录的游戏实例120相关联的元数据。特别地,与预先记录的游戏实例相关联的元数据可以包括在其上玩游戏的实例的平台(例如,数字商店)信息、游戏标题、游戏的任何游戏实例标识符信息(例如,与特定版本、修改、用户清单、生命点、武器清单、车辆、装备、统计等相关联的信息)和/或其他信息。例如,与预先记录的游戏的实例相关联的元数据可以包括以下信息:游戏标题为“Game_ABC,在平台“Platform_XYZ”上正在玩的游戏),和/或游戏实例标识符为“1234ABC”。游戏实例标识符可以用于确定关于游戏的特定预先记录的实例的信息,例如游戏状态信息、修改信息等。例如,对Game_ABC的修改可以是光线跟踪(包括但不限于路径跟踪和光线或路径投射及其衍生方式)修改,并且游戏状态信息可能表示针对Game_ABC的用户清单、生命点、武器清单、车辆、装备、统计数据等。

在一些示例中,一个或更多个数据存储器122可以仅存储与实况流游戏实例128和/或预先记录的游戏实例120相关联的元数据的一部分。在其他示例中,一个或更多个数据存储器122可以存储与实况流游戏实例128和/或预先记录的游戏实例120相关联的所有元数据。

一个或更多个流传输客户端设备114可以是智能电话、膝上型计算机、平板计算机、台式计算机、可穿戴设备、游戏控制台、AR或VR系统(例如,头戴式耳机、计算机、游戏机、一个或更多个遥控器、一个或更多个控制器和/或其他组件)、NVIDIA SHIELD、可能包含智能个人助手的智能家居设备和/或能够支持游戏设置和/或流传输的其他类型的设备。

尽管未示出,但是一个或更多个流传输客户端设备114可以包括类似于一个或更多个客户端设备104的游戏应用程序106的游戏应用程序、类似于一个或更多个客户端设备104的流传输应用程序168的流传输应用程序、类似于一个或更多个客户端设备104的显示器108的显示器、类似于一个或更多个客户端设备104的通信接口110的通信接口、类似于一个或更多个客户端设备104的输入设备112的一个或更多个输入设备、以及类似于一个或更多个客户端设备104的一个或更多个数据存储器122的一个或更多个数据存储器。一个或更多个流传输客户端设备114中包括的组件可以包括类似于一个或更多个客户端设备104中包括的组件的特征和/或功能。尽管图1A中没有示出一个或更多个流传输客户端设备114的组件和/或特征,但这不是限制性的。例如,一个或更多个流传输客户端设备114可以包括附加或替代组件,诸如下面相对于图5的计算设备500所描述的那些。

一个或更多个流传输客户端设备114可以包括一个或更多个组件(例如,通信组件、网络接口等)和用于跨一个或更多个网络(例如,一个或更多个网络102)进行通信的特征。作为非限制性示例,为了在游戏设置系统100内通信,一个或更多个流传输客户端设备114可以使用有线以太网连接和/或Wi-Fi连接通过路由器来访问因特网以便与一个或更多个客户端设备104、一个或更多个流传输服务器124、一个或更多个游戏服务器116、和/或与一个或更多个其他流传输客户端设备114通信。

尽管未示出,但是一个或更多个流传输客户端设备114的游戏应用程序可以是移动应用程序、计算机应用程序、控制台应用程序、Web应用程序和/或其他类型的应用程序。一个或更多个流传输客户端设备114的游戏应用程序可以包括指令,当由一个或更多个流传输客户端设备114的一个或更多个处理器执行时,使得一个或更多个处理器执行一个或更多个操作(例如,不限于本文关于游戏设置系统100所描述的操作)。一个或更多个流传输客户端设备114的游戏设置应用程序可以充当促进者,以实现游戏实例的游戏设置(例如,玩用以给观看者的实况流的游戏实例;玩将来作为预先记录的游戏实例的流的游戏实例)。

例如,一个或更多个流传输客户端设备114的游戏应用可以但不限于使针对主播的游戏的游戏实例进行显示,并且流传输应用程序可以使实况流游戏实例128和/或预先记录的游戏实例120生成,以传输给一个或更多个观看者,例如与一个或更多个客户端设备104相关联的观看者。使实况流游戏实例128的生成可以包括但不限于,例如在流传输客户端设备114处捕获流和/或向一个或更多个流传输服务器124传输信号以生成实况流游戏实例128和/或预先记录的游戏实例120-例如使用游戏应用程序和/或流传输客户单设备114的流传输应用程序。在信号被发送到服务器的示例中(例如,在云游戏环境中,例如关于图4所描述的),在一个或更多个游戏服务器116和/或一个或更多个流传输服务器124可以单独或组合地捕获实况流游戏实例128和/或预先记录的游戏实例120作为流以传输到一个或更多个客户端设备104(例如,使用一个或更多个客户端设备104的流传输应用程序168进行显示)。一个或更多个流传输客户端设备114的游戏应用程序可以接收和/或处理来自一个或更多个流传输客户端设备114的一个或更多个输入设备的输入,和/或使传输表示到一个或更多个流传输服务器124、一个或更多个游戏服务器116、一个或更多个客户端设备104和/或一个或更多个其他流传输客户端设备114的输入的输入数据。

一个或更多个流传输客户端设备114的游戏应用程序和/或流传输应用程序可以配置为包括与游戏的实况流游戏实例128和/或游戏的预先记录的游戏实例120相关联的元数据。例如,关于游戏的实况流实例,一个或更多个流传输客户端设备114的游戏应用程序和/或流传输应用程序可以配置为与表示实况流游戏实例128的数据一起发送共享(例如,流传输)实况流的主播的标识符(例如,用户名),主播在其上正在玩游戏实例的平台(例如,数字商店)信息,在流中表示的游戏的标题和/或其他信息。作为另一示例,并且关于游戏的预先记录的流实例,一个或更多个流传输客户端设备114的游戏应用程序和/或流传输应用程序可以配置为与表示实况流游戏实例128的数据一起发送共享(例如,流传输)实况游戏设置会话的主播的标识符(例如,用户名),主播在其上正在玩游戏的实例的平台(例如,数字商店)信息,在流中表示的游戏的标题,游戏的任何游戏实例标识符信息(例如,与特定版本、修改、用户清单、生活点、武器清单、车辆、装备、统计等相关联的信息)和/或其他信息。尽管讨论为由一个或更多个流传输客户端设备114发送,但是除了或替代地元数据可以来自一个或更多个流传输客户端设备114,元数据还可以由一个或更多个流传输服务器124和/或一个或更多个游戏服务器116生成和/或发送。

在一些示例中,一个或更多个流传输客户端设备114可以使用一个或更多个流传输客户端设备的游戏应用程序来渲染游戏的实例(例如,游戏实例的实况流、预先记录的游戏实例),在其他示例中,一个或更多个流传输客户端设备114可以接收显示数据(例如,如关于图4所描述的编码的显示数据),并使用该显示数据在一个或更多个流客户端设备114的显示器上显示游戏的实例。在由一个或更多个流传输客户端设备114接收显示数据的示例中(例如,在一个或更多个流传输客户端设备114不生成渲染的示例中),游戏设置系统100可以是诸如图4的游戏流传输系统400的游戏流传输系统的一部分,下面更详细地描述。

一个或更多个游戏服务器116可以包括用于存储、托管、管理以及在一些示例中渲染游戏的一个或更多个服务器(例如,专用游戏服务器)。一个或更多个游戏服务器116可以用于创建、更新和/或修改游戏(例如,游戏的程序代码),以及托管游戏(例如,作为专用游戏服务器)。一个或更多个游戏服务器116可以进一步包括与一个或更多个客户端设备104的通信接口110相似的通信接口162、游戏引擎118以及与一个或更多个客户端设备104的一个或更多个数据存储器122相似的一个或更多个数据存储器152。尽管在图1A中仅示出了一个或更多个游戏服务器116的组件和/或特征,这不是限制性的。例如,一个或更多个游戏服务器116可以包括附加或替代组件,诸如下面相对于图4的一个或更多个游戏服务器402和/或图5的计算设备500所描述的那些。

一个或更多个游戏服务器116可以包括一个或更多个API,以实现一个或更多个客户端设备104、一个或更多个流传输客户端设备114的游戏设置和/或实现与一个或更多个流传输服务器124的信息(例如,元数据、游戏会话数据等)的通信。例如,一个或更多个游戏服务器116可以包括一个或更多个与客户端设备104的游戏应用程序106交互的游戏API,以实现客户端设备104的游戏设置。作为另一个示例,一个或更多个游戏服务器116可以包括一个或更多个游戏会话API,这些API与一个或更多个流客户端设备114的游戏应用程序交互,以实现一个或更多个流传输客户端设备114的游戏设置。作为另一示例,一个或更多个游戏服务器116可以包括一个或更多个游戏会话API,其交互以传递游戏会话数据(包括游戏的实况流实例的元数据和游戏的预先记录的游戏实例的元数据)到一个或更多个流服务器124。尽管此处描述了不同的API,但API可以是单个API的一部分,两个或更多个API的组合,可以包含除此处作为示例所述的API以外的其他API或其组合。

游戏引擎118可以包括使游戏能够由一个或更多个用户(例如,主播、观看者等)通过诸如一个或更多个网络102的网络玩游戏的功能。游戏引擎118可以包括渲染引擎、音频引擎、物理引擎、动画引擎、人工智能引擎、网络引擎、流传输引擎、存储器管理引擎和/或其他组件或特征。游戏引擎118可以用于在游戏会话期间生成一些或所有游戏会话数据(例如,元数据)。

通信接口162可以包括用于跨诸如一个或更多个网络102的一个或更多个网络上通信的一个或更多个组件和特征。通信接口162可以配置为经由任意数量的一个或更多个网络102进行通信,如本文所述。例如,为了在图1A的游戏设置系统100中进行通信,一个或更多个游戏服务器116可以使用以太网或Wi-Fi连接通过路由器来访问因特网,以便与一个或更多个流传输服务器124、一个或更多个流传输客户端设备114、一个或更多个客户端设备104和/或一个或更多个其他游戏服务器116通信。

一个或更多个数据存储器152可以包括任何存储设备类型。一个或更多个数据存储器152可以负载存储与由一个或更多个游戏服务器116、一个或更多个流传输服务器124、一个或更多个流传输客户端设备114、一个或更多个客户端设备104和/或其组合标识的实况流游戏实例128和/或预先记录的游戏实例120相关联的元数据。元数据可以包括但不限于本文描述的元数据的类型(例如,标题、用户名等)。如本文所述,在一些示例中,一个或更多个数据存储器152可以仅存储与实况流游戏实例128和/或预先记录的游戏实例120相关联的元数据的一部分。在其他示例中,一个或更多个数据存储器152可以存储与实况流游戏实例128和/或预先记录的游戏实例120相关联的所有元数据。例如,元数据可以存储在游戏设置系统100的各个设备之间和之中,并且可以被检索以包括在游戏流中传输给一个或更多个客户端设备104。

一个或更多个流传输服务器124可以包括一个或更多个服务器。一个或更多个流传输服务器可以包括但不限于专用流传输服务器,用于存储、托管、管理、供应(例如,来自云计算生态系统),并且在一些示例中,渲染游戏的实例(例如,其中流是从对应于游戏的游戏状态数据生成)。在一些示例中,一个或更多个不同的流传输服务器124可以用于管理实况流而不是用于管理预先记录的流,而在其他示例中,任何流传输服务器124都可以处理实况流和预先记录的流。一个或更多个流传输服务器124可以进一步包括类似于一个或更多个客户端设备104的通信接口110的通信接口164、流媒体管理器126以及类似于一个或更多个客户端服务器104的一个或更多个数据存储器122的一个或更多个数据存储器160。尽管在图1A中仅示出了一个或更多个流传输服务器124的一些组件和/或特征,这不是限制性的。例如,流传输服务器124可以包括附加或替代组件,诸如下面相对于图5的计算设备500所描述的那些。

一个或更多个流传输服务器124可以包括一个或更多个API,以生成和/或发送游戏的实例的流至一个或更多个客户端设备104和/或在一个或更多个游戏服务器116、一个或更多个流传输客户端设备114和/或一个或更多个客户端设备104之间和/或之中实现信息(例如,元数据、游戏会话数据等)的通信。例如,一个或更多个流传输服务器124可以包括与客户端设备104的流传输应用程序168交互(interface)的一个或更多个游戏API,以使得能够将游戏实例的流传输到一个或更多个客户端设备104。作为另一示例,一个或更多个流传输服务器124可包括一个或更多个游戏会话API,其与一个或更多个流客户端设备114的游戏应用程序和/或流传输应用程序和/或一个或更多个游戏服务器116的游戏引擎118(或其他组件)交互,以使得能够接收、生成和/或传输游戏实例的流。尽管本文描述了不同的API,但是这些API可以是单个API的一部分,可以组合两个或更多个API,可以包含除本文作为示例所描述的API以外的其他API或其组合。

流管理器126可以配置为管理任意数量的游戏的实例,例如实况流游戏实例128和/或预先记录的游戏实例120。例如,用户(例如,主播)可能正在玩一个或更多个流传输客户端设备114上的游戏实例。该游戏的实例可以在一个或更多个游戏服务器116和/或一个或更多个流传输客户端设备114处渲染,并在一个或更多个流传输客户端设备114的显示器上显示。主播可能希望游戏的实例的实况流。这样,一个或更多个流传输服务器124的流管理器126可以配置为管理主播的实况流(例如,实况流游戏实例128),并且将实况流游戏实例128(包括相关联的元数据)发送给一个或更多个客户端设备104。类似地,用户(例如主播)可能正在一个或更多个流传输客户端设备114上玩游戏的实例。游戏的实例可以在一个或更多个游戏服务器116处渲染,并且在一个或更多个流传输客户端设备114的显示器上显示。主播可能希望记录游戏的实例,以供以后流传输至其他用户(例如,观看者)。这样,一个或更多个流传输服务器124可以配置为管理主播的预先记录的流(例如,预先记录的游戏实例120),并且将包括关联的元数据的预先记录的游戏实例120发送到一个或更多个客户端设备104。

现在参考图1B,图1B是根据本公开的一些实施例的游戏会话的示例用户界面,其包括用于加入游戏实例的实况流的图形元素。特别地,图1B包括图形元素按钮136,该图形元素按钮136在被(例如,由观看者)激活时启动功能和操作,以使得观看者能够在游戏实例的实况流期间与主播一起玩和/或对抗主播。例如,观看者可能正在观看主播正在流传输的游戏设置的实时流实例。在实况流期间,可以接收和存储与游戏设置的实况流实例相关联的元数据(如本文所述)。使用元数据(例如,一旦被接收和/或处理),并且当观看者观看实况流时,按钮136可以被填充在显示器上,以使得观看者能够请求访问以加入主播的游戏设置。这样,在激活图形元素按钮136并使用元数据时,可以在观看者的客户端设备104上(例如,在web浏览器门户中,在独立应用程序中等)启动游戏。结合图2的方法200进一步详细讨论。应当理解,表示玩游戏的实况流实例的请求的图形元素136可以显示任何数量的玩/加入短语,诸如“在游戏平台上与玩家1对赛(play against player 1on game platform)”,如图1B中可以看到的。

现在参考图1C,图1C是根据本公开的一些实施例的游戏会话的示例用户界面,其包括用于播放游戏实例的预先记录的流的图形元素。特别地,图1C包括按钮154,当按钮154被(例如,由观看者)激活时,提供给观看者针对在玩流中表示的特定游戏的访问。例如,观众可能正在观看由主播游戏实例生成的预先记录的游戏设置的实例。可以接收并存储预先记录的游戏的流以及与该流相关联的元数据(如本文所述)。使用元数据(例如,一旦被接收和/或处理),并且当观看者观看预先记录的流时,可以出现按钮154,其可以使观看者能够玩他们正在观看的游戏的特定版本(例如,相同的游戏,并从游戏中的特定航路点或负载点进行了部分或全部相同的修改等)。一旦选择按钮154,观看者正在观看的游戏可以启动(例如,在认证之后,和在web浏览器门户、独立的应用程序中,等)。下面结合图3的方法300进一步详细讨论。应当理解,表示玩游戏的预先记录的实例的请求的按钮154可以显示任何数量的玩/加入短语,例如“玩已记录的游戏(play recorded game)”,如图1C所示。作为示例,除了按钮154之外或代替按钮154,可以在游戏会话的用户界面上显示具有可选选项158A-158E的按钮156。如本文所述,如果观看者正在观看预先记录的游戏实例,例如图1A的预先记录的游戏实例120,可以例如通过图1A的一个或更多个客户端设备104的游戏应用程序106和/或流传输应用程序168来识别和存储与预先记录的游戏设置流相关联的关于任何特定版本、修改、用户清单等的信息。

在一些实施例中,观看者可能希望玩与预先记录的流相对应的游戏,其中具有在流中捕获的游戏实例的一些或全部修改。包括可选选项158A-158E的按钮156可以使观看者选择没有修改、单个修改、多个修改或所有修改用来玩游戏的实例。可选选项158A-158E表示观看者可以从中选择的可选选项的示例和非穷举列表,并且这些选项可以根据实施例、特定游戏、游戏的实例等而变化,而不背离本公开的范围。一旦选择按钮154和/或按钮156(包括可选选项158A-158E中的至少一个)之后,观看者正在观看的游戏可以在游戏应用程序106中被启动(例如,在认证之后,和在web浏览器门户、独立的应用程序中,等)。下面,将结合图3的方法300进行更详细的讨论该过程。

现在参考图2和图3,本文描述的方法200和300的每个块包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可以由处理器执行存储在存储器中的指令来执行。该方法还可以体现为存储在计算机存储介质上的计算机可用指令。这些方法可以由独立应用程序、服务或托管服务(独立或与另一托管服务组合)或另一产品的插件(举例来说)提供。另外,通过示例的方式,相对于图1A的系统描述了方法200和300。然而,这些方法可以附加地或替代地由任何一个系统或系统的任何组合来执行,包括但不限于本文所述的那些。

图2是示出根据本公开的一些实施例的用于从游戏广播中加入游戏实例的实况流媒体的方法200的流程图。在框B202处,方法200包括:接收游戏的实例的实况流,该实况流包括与游戏相关联的元数据。例如,实况流游戏实例128可以由客户端设备104的流传输应用168接收,其中,实况流游戏实例128可以包括元数据,诸如共享实况流的主播的标识符(例如,用户名)、主播正在其上玩游戏的实例的平台(例如,数字商店)、游戏标题和/或其他信息。例如,元数据可以包括以下信息:主播“Streamer_123”使用游戏平台“Platform_XYZ”正在实况流传输游戏“Game_ABC”的实例。元数据中包括的信息可以由客户端设备104的任何数量的组件来标识(identified),例如图1A的一个或更多个客户端设备104的游戏应用程序106和/或流传输应用程序168。可以基于主播(例如,在流传输客户端设备114上玩游戏的用户)请求生成他们的游戏设置的实况流来生成实况流。

在框B204处,方法200包括:基于对流传输应用程序中GUI的输入,并在实况流的显示期间,针对观看实况流的第一用户生成加入游戏的实例的请求。例如,使用所标识的元数据,并且当观看者在客户端设备104的显示器108上观看游戏实例的实况流时,按钮136(例如,“立即加入”按钮或“玩游戏对抗在游戏品台上的玩家1”)可以居于显示器108上。按钮136可以使观看者请求访问以加入主播的游戏设置。这样,一旦选择图形元素,并使用表示数字商店、游戏名称和/或平台信息的元数据,可以在观看者的设备(例如,在Web浏览器门户、独立应用程序,等)上启动游戏,如本文所述。

在框B206处,方法200包括:将认证请求发送到与托管游戏的实例的平台相关联的数字商店,以确定第一用户被认证。例如,可以使用观看者的凭据、游戏标题和/或其他信息来生成认证请求,以确定观看者是否访问平台(例如NVIDIA的GEFORCE NOW)和/或确定是否观看者访问和/或拥有平台内的游戏副本。这样,观看者可以由游戏设置系统100认证(validated),以确认观看者可以玩游戏。在一些示例中,系统可以存储用户的登录凭证,或者可以使用单点登录(SSO)技术来自动填充观看者的用户凭证和/或自动将观看者登录到平台中。在游戏平台和流传输平台是相同平台的示例中,用户可能已经被认证。在平台不同的其他示例中,可以在为观看者启动游戏的实例和/或游戏应用程序106之前,认证可能由游戏应用程序106和/或流传输应用程序168提示和/或执行。这样,在用户未被认证的情况下,流传输应用程序168可以继续流传输游戏的实况实例而没有中断(例如,除了认证不成功的通知之外)。在一些实施例中,当观看者正在观看流时(例如,在后台(background)),可以由游戏设置系统100执行认证,使得一旦观看者已经被认证,按钮136可以仅填充/显示在流传输应用程序168内。在其他示例中,可以在选择或激活按钮136之后进行验证。此外,通过认证观看者的游戏平台并登录,观看者可以使用观看者的关联标识符(例如用户名)参与游戏设置。结果,可以在游戏设置期间使用与观看者的标识符相关联的所有成就、特权、解锁、修改、技能和/或其他信息。认证、登录、用户名或标识符检索等可以是游戏设置系统100内的标识管理系统的一部分。例如,标识管理系统可以管理游戏设置系统100中的个人身份、认证、授权、角色、特权和/或其他信息。

在框B208处,方法200包括:一旦被认证,就使用第一用户的凭证登录到游戏应用程序中。例如,一旦观看者已经通过验证(authenticated)或认证以在游戏平台上玩游戏,就可以使用观看者的凭证将观看者登录到游戏平台中。在一个或多个实施例中,如本文所述,一旦被认证,观看者就可以使用身份管理系统登录到平台中,以使得观看者的用户名对于与主播一起玩或与之对抗是活跃的。

在框B210处,方法200包括:至少部分地基于第二用户接受与第一用户玩,由游戏应用程序启动游戏的实例。例如,正在流传输其参与游戏的实例的主播可以从游戏设置系统100接收请求以允许观看者参与游戏的实例。在一些示例中,该请求可以是主播针对允许其流的任何观看者根据请求参与游戏而确认的一般请求。在其他示例中,每次观看者引起请求的生成,主播可以接收并响应请求。例如,主播可以接收现在游戏中的观看者希望加入他们的游戏设置实例的请求或其他指示。主播可以可选地接受或拒绝该请求,或者可以将观看者添加到队列中以与主播一起玩。在一些实施例中,可以响应于对图形元素136的输入来生成该请求。一旦主播接受观看者的加入请求,观看者可被添加到游戏的实例中以与主播一起玩和/或对抗主播。在某些情况下,观看者可能会被添加到队列中,以便在不久的将来(例如,当主播的队伍中的空间可用时)与该主播一起玩和/或对抗该主播。在一些实施例中,观看者可以能够在与主播一起玩和对抗主播之间进行选择。

现在参考图3,图3是示出根据本公开的一些实施例的用于加入来自游戏广播的游戏实例的预先记录的流的方法300的另一流程图。在框B302处,方法300包括:接收游戏的第一实例的流,该流包括与游戏的实例相关联的元数据。例如,来自主播的流传输客户端设备114的游戏的第一实例(例如,图1A的预先记录的游戏实例120)由观看者的客户端设备104(例如,经由一个或更多个流传输服务器124和/或一个或更多个游戏服务器116)接收。预先记录的游戏实例120可以包括相关联的元数据(如本文所述),例如正在流传输的游戏的名称信息,在其上玩游戏并且在其上主播正在玩的平台标识信息、与在何处购买游戏(假使购买是必须的)关联的数字商店信息,游戏的游戏实例标识符信息(例如,与特定版本、修改、用户清单、生命点、武器清单、车辆、装备、统计等相关的信息)。

在框B304处,方法300包括:基于在流传输应用程序内GUI的输入,针对正在观看流的用户生成请求以启动游戏的第二实例。例如,使用所标识的元数据,并且当观看者观看显示器108上的预先记录的游戏实例时,一个或更多个按钮154和/或156可被填充在流传输应用程序168内。这样,如本文所述,一旦选择按钮154和/或156—以及使用元数据—可以在观看者的客户端设备104(例如,在web浏览器门户中、在独立应用程序中等上启动游戏)。

在框B306处,方法300包括:将认证请求发送到与平台相关联的数字商店,以确定用户被认证。例如,类似于以上关于图2的框B206的描述,观看者可以由游戏设置系统100认证,以确认观看者可以玩游戏。

在框B308处,方法300包括:一旦被认证,就使用用户的凭证登录到游戏应用程序中。该过程可以类似于如本文描述的图2的框B208的过程。

在框B310处,方法300包括:启动游戏的第二实例,该第二实例包括通过访问针对游戏的第一实例的游戏数据而确定的至少一个修饰符。例如,可以(例如,使用游戏的第一实例的游戏实例标识符)访问游戏会话数据(例如,与解锁、技能、修改等相关联的元数据、游戏状态数据、主播),来确定至少一个修饰符,用于在游戏应用程序106中启动游戏的新的第二实例供观看者参与。如此处所述,由于观看者可以使用标识符(例如,用户名)登录,因此可以跟踪游戏设置信息并与观看者的账户相关联。

现在参考图4,图4是根据本公开的一些实施例的游戏流传输系统400的示例系统图。图4包括一个或更多个游戏服务器402(其可以包括与图1A的一个或更多个游戏服务器116和/或图5的计算设备500相似的组件、特征和/或功能),一个或更多个客户端设备404(可包括与图1A的客户端设备104和/或图5的计算设备500相似的组件、特征和/或功能)和一个或更多个网络406(类似于图1A的网络102)。在一些实施例中,系统400可以实现为游戏设置系统100的至少一部分。例如,系统400的云计算环境可以被游戏设置系统100所利用,其中,在这样的实施例中,一个或更多个游戏服务器116和/或游戏平台可能类似于一个或更多个游戏服务器402和/或一个或更多个客户端设备104,和/或一个或更多个流传输客户端设备114可能类似于一个或更多个客户端设备404。

在系统400中,对于游戏会话,一个或更多个客户端设备404可以仅响应于对一个或更多个输入设备的输入来接收输入数据,将输入数据发送到一个或更多个游戏服务器402,从一个或更多个游戏服务器402接收编码的显示数据,并将显示数据显示在显示器424上。这样,计算强度更高的计算和处理被卸载(offloaded)到一个或更多个游戏服务器402(例如,游戏会话的渲染由一个或更多个游戏服务器402的一个或更多个GPU执行),并且游戏会话从一个或更多个游戏服务器402流传输到一个或更多个客户端设备404—从而降低了一个或更多个客户端设备404针对图形处理和渲染的要求。

例如,关于游戏会话的实例,客户端设备404可以基于从一个或更多个游戏服务器402接收显示数据而在显示器424上显示游戏会话的帧。客户端设备404可以接收对一个或更多个输入设备之一的输入,并响应以生成输入数据。客户端设备404可以经由通信接口420并且通过一个或更多个网络406(例如,因特网)将输入数据发送到一个或更多个游戏服务器402,并且一个或更多个游戏服务器402可以经由通信接口418接收输入数据。一个或更多个CPU可以接收输入数据,处理输入数据,并且将数据发送到一个或更多个GPU,从而使一个或更多个GPU生成游戏会话的渲染。例如,输入数据可以表示用户在游戏中的角色的运动、射击武器、重新加载、传球、转弯车辆等。渲染组件412可以渲染游戏会话(例如,表示输入数据的结果),并且渲染捕获组件414可以将游戏会话的渲染捕获作为显示数据(例如,作为捕获游戏会话的渲染帧的图像数据)。然后,编码器416可以对显示数据进行编码以生成编码的显示数据,并且可以经由通信接口418通过一个或更多个网络406将编码的显示数据发送到客户端设备404。客户端设备404可以经由通信接口420接收经编码的显示数据,以及解码器422可以解码经编码的显示数据以生成显示数据。客户端设备404然后可以经由显示器424显示显示数据。

图5是适合用于实现本公开的一些实施例的示例计算设备500的框图。计算设备500可以包括直接或间接耦合以下设备的总线502:存储器504、一个或更多个中央处理单元(CPU)506、一个或更多个图形处理单元(GPU)508、通信接口510、输入/输出(I/O)端口512、输入/输出组件514、电源516和一个或更多个呈现组件518(例如,显示器)。

尽管图5的各个方框示出为通过具有多条线的总线502连接,这不旨在限制并且仅出于清楚的目的。例如,在一些实施例中,诸如显示设备之类的呈现组件518可以被认为是I/O组件514(例如,如果显示器是触摸屏)。作为另一个示例,CPU 506和/或GPU 508可以包括存储器(例如,除了GPU 508、CPU 506和/或其他组件的存储器之外,存储器504可以代表存储设备)。这样,图5的计算设备仅是说明性的。在“工作站”、“服务器”、“笔记本电脑”、“台式机”、“平板电脑”、“客户端设备”、“移动设备”、“手持设备”、“游戏机”、“电子控制单元(ECU)”、“虚拟现实系统”和/或其他设备或系统类型等类别之间未进行区分,所有均计划在图5的计算设备的范围内。

总线502可以代表一个或更多个总线,例如地址总线、数据总线、控制总线或其组合。总线502可以包括一种或更多种总线类型,诸如工业标准架构(ISA)总线、扩展工业标准架构(EISA)总线、视频电子标准协会(VESA)总线、外围组件互连(PCI)总线、外围组件互连快速(PCIe)总线和/或另一种类型的总线。

存储器504可以包括多种计算机可读介质中的任何一种。计算机可读介质可以是计算设备500可以访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质以及可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。

计算机存储介质可以同时包括以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现的易失性和非易失性介质和/或可移动和不可移动介质。例如,存储器504可以存储计算机可读指令(例如,表示诸如操作系统的一个或更多个程序和/或一个或更多个程序元素)。计算机存储介质可以包括但不限于,RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多功能磁盘(DVD)或其他光盘存储设备、磁盒、磁带、磁盘存储设备或其他磁性存储设备,或任何其他可以用于存储期望的信息并且可以由计算设备500访问的介质。如本文所使用的,计算机存储介质本身不包括信号。

通信介质可以在诸如载波或其他传输机制的调制数据信号中体现计算机可读指令、数据结构、程序模块和/或其他数据类型,并且包括任何信息传递介质。术语“调制数据信号”可以指的是具有以其将信息编码的方式设置或改变的一个或更多个特征的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、RF、红外和其他无线介质之类的无线介质。以上任何内容的组合也应包括在计算机可读介质的范围内。

一个或更多个CPU506可以配置成执行计算机可读指令以控制计算设备500的一个或更多个组件以执行本文描述的方法和/或过程中的一个或更多个。一个或更多个CPU 506的每个可以包括一个或更多个(例如,一个、两个、四个、八个、二十八个、七十二个等)能够同时处理多个软件线程的核心。一个或更多个CPU 506可以包括任何类型的处理器,并且可以取决于所实现的计算设备500的类型而包括不同类型的处理器(例如,具有较少核心的用于移动设备的处理器和具有较多核心的用于服务器的处理器)。例如,取决于计算设备500的类型,处理器可以是使用精简指令集计算(RISC)实现的ARM处理器或使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或辅助协处理器(例如数学协处理器)之外,计算设备500还可包括一个或更多个CPU 506。

计算装置500可以使用一个或更多个GPU 508渲染图形(例如3D图形)。一个或更多个GPU 508可以包括能够同时处理数百或数千软件线程的数百或数千核心。一个或更多个GPU 508可以响应于渲染命令(例如,经由主机接口从一个或更多个CPU 506接收的渲染命令)生成用于输出图像的像素数据。一个或更多个GPU 508可以包括用于存储像素数据的图形存储器,例如显示存储器。显示存储器可以被包括为存储器504的一部分。一个或更多个GPU508可以包括两个或更多个并行(例如,经由链路)操作的GPU。当组合在一起时,每个GPU508可以生成用于输出图像的不同部分或用于不同输出图像的像素数据(例如,用于第一图像的第一GPU和用于第二图像的第二GPU)。每个GPU可以包括其自己的存储器,或者可以与其他GPU共享存储器。

在计算设备500不包括一个或更多个GPU 508的示例中,一个或更多个CPU 506可用于渲染图形。

通信接口510可以包括使计算设备500能够经由包括有线和/或无线通信的电子通信网络与其他计算设备进行通信的一个或更多个接收器、发射器和/或收发器。通信接口510可以包括组件和功能,以使得能够在多个不同网络中的任何一个上进行通信,例如无线网络(例如,Wi-Fi、Z-Wave、蓝牙、蓝牙LE、ZigBee等)、有线网络(例如,通过以太网通信)、低功耗广域网(例如LoRaWAN、SigFox等)和/或因特网。

I/O端口512可以使计算设备500能够逻辑耦合到包括I/O组件514,一个或更多个呈现组件518和/或其他组件的其他设备,其中一些可以被构建到(例如,集成到)计算设备500中。示例性I/O组件514包括麦克风、鼠标、键盘、操纵杆、游戏板、游戏控制器、碟形卫星天线、扫描仪、打印机、无线设备等。I/O组件514可以提供自然的用户界面(NUI),其处理由用户产生的空中手势、语音或其他生理输入。在某些情况下,可以将输入传送到适当的网络元素以进行进一步处理。NUI可以实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上以及与屏幕相邻的手势识别、空中手势、头部和眼睛跟踪以及与计算设备500的显示器相关的触摸识别(如下更详细描述)的任意组合。计算设备500可以是具有用于姿势检测和识别的深度相机,例如立体相机系统、红外相机系统、RGB相机系统、触摸屏技术以及它们的组合。另外,计算设备500可以包括使得能够检测运动的加速度计或陀螺仪(例如,作为惯性测量单元(IMU)的一部分)。在一些示例中,计算设备500可以使用加速度计或陀螺仪的输出来渲染身临其境的增强现实或虚拟现实。

电源516可以包括硬连线电源、电池电源或其组合。电源516可以向计算设备500提供电力以使得计算设备500的组件能够操作。

一个或更多个呈现组件518可以包括显示器(例如,监视器、触摸屏、电视屏幕、平视显示器(HUD),其他显示器类型或其组合)、扬声器,和/或其他呈现组件。一个或更多个呈现组件518可以从其他组件(例如,GPU 508、CPU 506等)接收数据,并且输出数据(例如,作为图像、视频、声音等)。

可以在计算机代码或机器可用指令的一般上下文中描述本公开,所述计算机代码或机器可用指令包括由计算机或其他机器(例如个人数据助手或其他手持设备)执行的计算机可执行指令(例如程序模块)。通常,包括例程、程序、对象、组件、数据结构等在内的程序模块是指执行特定任务或实现特定抽象数据类型的代码。本公开可以在包括手持设备、消费电子产品、通用计算机、更多专用计算设备等在内的各种系统配置中实践。本公开还可以在其中由远程处理设备(通过通信网络链接的处理设备)执行任务的分布式计算环境中实践。

如本文所使用的,相对于两个或多个元件的“和/或”的叙述应被解释为仅意味着一个元件或元件的组合。例如,“元素A,元素B和/或元素C”可以仅包括元素A,仅包括元素B,仅包括元素C,包括元素A和元素B,包括元素A和元素C,包括元素B和元素C,或包括元素A、B、C。此外,“元素A或元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或元素A中的至少一个和元素B中的至少一个。此外,“元素A和元素B中的至少一个”可以包括元素A中的至少一项、元素B中的至少一项或元素A中的至少一项和元素B中的至少一项。

在此具体描述了本公开的主题以满足法律要求的。然而,描述本身并不旨在限制本公开的范围。相反,发明人已经预料到,所要求保护的主题还可以结合其他当前或未来技术,以其他方式体现,以包括与本文档中所描述的步骤不同的步骤或步骤的组合。此外,尽管本文中可以使用术语“步骤”和/或“框”来表示所采用方法的不同元素,但是除非并且除了当明确描述了各个步骤顺序时,否则这些术语不应解释为暗示本文所公开的各个步骤之中或之间的任何特定顺序。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号