用于实现云游戏系统的时移辅导的系统和方法与流程

文档序号:11565350阅读:407来源:国知局
用于实现云游戏系统的时移辅导的系统和方法与流程

优先权主张

本申请主张2015年9月30日提交的标题为“用于实现云游戏系统的时移辅导的系统和方法(systemsandmethodsforenablingtime-shiftedcoachingforcloudgamingsystems)”的美国临时专利申请第62/235,432号的优先权,所述申请以引用的方式并入本文。

本公开涉及用于实现对来自其他玩家的辅导的访问并发布与经由云游戏系统所玩的特定游戏相关联的辅导视频的系统和方法。



背景技术:

云系统使用计算资源(硬件和软件)在网络(通常为因特网)上传递服务。在玩游戏的情况下,所述服务能够将内容流式传输到远程客户端,其中大多数处理是在服务器上完成的,所述服务器可以是分布式的。远程客户端处提供的输入将继而驱使在服务器上执行游戏,而无需在客户端位置处使用专门的游戏硬件。由于可以很容易地访问在云系统上执行的游戏,因此云游戏日益流行,这是因为用户发现可以更容易地访问更多标题,而没有复杂的硬件约束。类似地,游戏供应商发现可以更容易地在集中地点管理游戏代码。

云游戏的一个益处是能够访问许多游戏。因此,具有很少玩某些游戏的经验的玩家可能会试玩这些游戏,并在充分发挥他们潜力之前放弃玩游戏。目前,关于一款游戏希望学习更多的用户可以求助于搜索在线视频帖示,其中一些用户可以在用于在游戏中推进的技巧、过程和/或技术方面指导其他用户。尽管这些视频可能会有用,与发布的视频相关的游戏过程中的地点可能与用户想要训练或信息的地点不相关。因此,用户被迫进行搜索,并搜索其他用户的视频帖示,看看他们能否找到与用户有兴趣学习的游戏中的地点相关的帖示。因此,先前的视频贴子对于希望获得关于特定游戏级别、游戏动作、游戏事件和/或交互地点的信息的用户未能提供非常有效的帮助。

在此背景下出现了本公开的实施例。



技术实现要素:

本公开的实施例涉及用于使得玩在线游戏的用户能够创建游戏过程的辅导视频并将此辅导视频发布到云游戏系统的系统和方法。在一个实施例中,辅导视频包括游戏过程的视频剪辑以及用户的视频,从而指导和/或解释如何玩游戏。玩相同游戏的用户可能会需要辅导,且云游戏系统可以识别出对应于请求辅导的用户当前在玩的时间点或动作的之前发布的辅导视频。在一个实施例中,玩游戏的用户可决定暂停游戏过程并请求辅导。云系统可访问辅导选项数据库,并将其呈现给用户。在一个实施例中,辅导选项为游戏过程视频以及提供(例如,用于选择点的)辅导的用户的视频。用户随后可以观看辅导视频,且随后继续他/她的游戏过程。在一些实施例中,可在用户玩游戏时叠加(例如,覆盖)并播放辅导视频。在其他实例中,可在用户玩游戏时在侧面窗口播放辅导视频。在用户玩游戏的时候,辅导视频也向前推进,从而随着活动前进而向用户提供辅导。在一些实施例中,提供了辅导视频的若干选项,且用户可以对最佳或更感兴趣的辅导视频进行评级。系统可以使用这些评级以过滤后的顺序来显示某些辅导视频。因此,辅导视频代表用户产生内容(ugc),其经过动态发布与关联以选择游戏过程时间戳或游戏动作或游戏阶段。因为辅导根据特定游戏过程而被编制索引,因而有可能在用户自己的游戏过程期间将相关辅导视频动态呈现给用户。这避免了单独搜索与用户的游戏过程状态或时间完全无关联的在线发布的视频所具有的缺点。以下描述了本公开的若干发明性实施例。

在一个实施例中,提供一种用于使得能够产生从云游戏系统流式传输到客户端的游戏的辅导视频的方法。所述方法包括在云游戏系统的服务器处执行游戏的游戏过程。从连接到服务器的客户端装置引导游戏过程的执行。因此,从客户端装置引导游戏过程,并且游戏过程的执行包括将视频以及音频流式传输到客户端装置以在客户端上呈现。所述方法进一步启用辅导模式。辅导模式在激活时开始在服务器上记录游戏过程并在客户端处捕获用户的视频。用户的所捕获的视频由服务器接收并保存在服务器上以创建辅导视频。所述方法进一步产生识别游戏中的内容交互中的地点(例如,索引)的时间戳,已记录的游戏过程以及辅导视频与所述游戏相关。在一个实例中,已记录的游戏过程和辅导视频将界定辅导会话。所述方法进一步使得能够将所述辅导会话发布到辅导数据库。在另一用户请求游戏的辅导辅助时,服务器可访问所述辅导数据库。辅导辅助用于为游戏的游戏过程中的选择点识别一个或多个辅导会话(例如,为了在参与在线游戏过程时请求辅导的用户)。

在另一实施例中,提供了一种用于经由云游戏系统操作游戏操作的方法。所述方法包括对经过注册以经由云游戏系统玩游戏的用户启用游戏的游戏过程。云游戏系统被配置成响应于从用户的客户端装置接收的输入控制而在云游戏系统的服务器上执行游戏。用户的客户端装置与云游戏系统的服务器具有因特网连接,且云游戏系统的服务器被配置成响应于游戏的执行而发送音频和视频流。音频和视频流在与客户端装置相关联的屏幕上再现。所述方法进一步包括从客户端装置接收触发辅导模式的请求。所述请求与游戏中的选择点相关联。所述方法包括暂停游戏的游戏过程并访问辅导数据库。访问辅导数据库包括对与游戏中的选择点相关联的游戏的辅导会话的请求。所述方法进一步包括在客户端装置的显示屏上呈现辅导选项。辅导选项包括与游戏中的选择点相关的一个或多个辅导会话。接着,致使在用户的显示屏上再现辅导会话中的一者。所述辅导会话包括来自创建辅导会话的用户的已记录的游戏过程以及辅导视频。所述方法进一步使得能够在再现辅导会话之后继续游戏的游戏过程。

本公开的其他方面将在以下结合附图的详细描述中显而易见,其通过实例说明了本公开的原理。

附图说明

参考以下结合附图的描述可最佳地理解本公开。

图1说明了用户使用控制器与显示屏进行介接来玩视频游戏的实例,且在一些实施例中,显示装置可以是计算机、平板计算机、智能装置、个人计算机(pc)、控制台,且控制器可以是任何输入装置。

图2说明了图形指示器的实例,其可识别用户所玩的游戏中的不同级别。

图3说明了根据本公开的一个实施例描绘游戏玩家可以执行以便记录游戏的辅导会话的实例性操作的流程图。

图4说明了数据库以及基于时间戳使辅导会话与特定游戏进行逻辑关联的实例。

图5说明了用户在与云游戏系统介接的显示器上玩游戏的实例。

图6说明了在屏幕上说明的已记录的游戏过程和辅导视频的实例。

图7说明了与产生辅导视频相关联的一个实例性流程图。

图8说明了云游戏系统执行的操作的实例。

图9说明了可能在游戏过程期间请求辅导的用户的实例。

图10说明了根据本公开的一个实施例的可用于管理视频和游戏剪辑的执行和共享的游戏云系统的简化框图。

图11,示出说明了根据本发明的实施例的头戴式显示器的组件的图。

图12是根据本发明的各种实施例的游戏系统的框图。游戏系统被配置成经由网络向一个或多个客户端提供视频流。

具体实施方式

以下实施例描述了用于使得玩在线游戏的用户能够创建游戏过程的辅导视频并将此辅导视频发布到云游戏系统的系统和方法。在一个实施例中,辅导视频包括游戏过程的视频剪辑以及用户的视频,从而指导和/或解释如何玩游戏。例如,在玩了一段时间的游戏之后,各个用户将决定发布关于视频游戏的不同部分的辅导视频。在一种配置中,辅导视频根据播放的时间戳被编制索引。时间戳不仅可包括时间,而且还可以包括识别在视频游戏会话、动作和/或场景中哪里产生辅导视频的元数据。用这种方式,需要视频游戏的特定部分的辅导的后来的用户可简单地请求辅导,且系统将自动识别可适用于用户正在玩或想要玩的状态的一个或多个辅导视频。在一种配置中,可以找到多个辅导视频,这些辅导视频可涉及用户(即,辅导请求者)所在游戏中的阶段或状态。可在网页、屏幕图标、窗口、或以覆盖的方式向用户显示此列表,其可任选地包括关于评级的细节。例如,如果某位玩家发布了不错的辅导视频,那么使用或观看所述辅导视频的用户可以对所述辅导视频进行评级。接着,所述评级可以用来对某些辅导视频进行排序或者向玩家推荐。在一种配置中,辅导视频被认为是时移的,因为所述辅导视频不是实况视频,而是被选择成与正在玩的视频游戏的时间点或者动作大致同步。

在一个实施例中,游戏过程是通过基于云的处理系统,其实现在线游戏过程的流式传输,同时允许用户在与因特网连接的远程位置提供交互输入。在用户玩游戏时,用户可以选择记录游戏过程。已记录的游戏过程可以用于产生视频。

然而,本领域技术人员将清楚,可以在没有一些或全部这些特定细节的情况下实践本公开。在其他实例中,未详细描述众所周知的过程操作,以便不会没有必要地使本公开混淆不清。通过对各种实施例的以上一般理解,现在将参看各个图式来描述实施例的实例性细节。

图1说明了用户116使用控制器118与显示屏幕102进行介接来玩视频游戏的实例。正在执行的视频游戏将把游戏内容120呈现在显示屏幕102上。在一个实施例中,显示屏幕102连接到因特网,并具备对云游戏系统104的访问权。云游戏系统104可直接连接到显示屏幕102,或连接到其他计算装置。其他计算装置可包括个人计算机(pc)、游戏控制台、便携式装置或其他计算装置。云游戏系统104可与社交网络106进行介接,其可提供对关于特定用户(例如用户116)的朋友的信息的访问。

在一些实施例中,云游戏系统104将具有其自身的社交网络,所述社交网络识别访问云游戏系统的玩家、相关联的朋友、爱好、玩过的游戏、奖杯,以及其他游戏相关的数据和元数据。在一些实施例中,云游戏系统还可以与用户数据108进行介接。用户数据108可包括各种类型的数据,例如游戏过程数据、在各种游戏中获得的分数、战利品、排名、保存的状态、达到的级别和其他个人成绩,以及与用户关于一个或多个游戏的活动相关的数据。云游戏系统104还可以与用户账户114进行介接,其允许对可访问云游戏系统104的用户的各个用户账户进行管理。

用户账户可以存储配置文件信息、计费信息、特权以及其他用户识别数据。此外,云游戏系统104还可以与游戏和媒体112进行介接。游戏和媒体112可包括用于存储不同游戏标题以及相关联的可执行代码的多个数据存储装置。在一些实施例中,游戏可存储在数据中心的各个存储系统中,并且随后可以在特定用户请求访问一个或多个游戏时启动或开启。在一种配置中,云游戏系统104还可以与辅导数据库110进行介接。如上所述,辅导视频可以由正在访问并玩某些游戏的用户创建。在一种配置中,辅导视频可以包括已记录的游戏过程视频,并且还可以包括辅导视频。

已记录的游戏过程视频是决定创建辅导视频的用户曾玩过的游戏过程的记录。在一个实施例中,辅导视频可以是辅导(创建所述辅导视频的用户)讨论和教导在所记录的游戏过程中正在进行何种动作的视频。教导可以包括与特定游戏过程相关联的攻略、对于特定游戏过程应该做出的控制器输入、用于在特定级别中获得更高分数的技巧、与特定游戏内容相关联的操纵,以及对观看辅导视频的用户进行辅助的其他音频或文字评论。在一个实施例中,辅导视频可以包括控制器以及用于控制交互而作出的输入的特写视频或图像。这些视频图像可以辅助用户了解应该作出哪些控制器输入、按钮推动、按压、同时按压、动作、手势等以及如何作出,以便在玩游戏时实现特定输入。在一些实施例中,输入可以经由触屏。在其他实施例中,可以经由触屏和按钮或其组合来进行输入。因此,辅导视频和已记录的游戏过程可以存储在辅导数据库110。如下文将描述,辅导视频优选根据特定的游戏时间戳被编制索引。

时间戳应一般理解为包括识别辅导视频所相关的游戏中的大致时间点的元数据。例如,元数据可包括时间信息,但是也可以包括特定级别信息、游戏中的阶段、交互玩游戏内容或可将辅导视频链接到视频游戏中的特定点或动作的其他识别信息。通过提供到创建辅导视频时的时间点的链接的时间戳,可以向与用户请求帮助或辅导的地方具有相关性的用户服务观看辅导视频的稍后请求。在图1所示的实例中,用户116可以经由可显示图形指示器122的控制器118选择输入。图形指示器122可包括识别用户在游戏过程中何处的信息。因此,如果用户需要辅导信息或指导,那么云游戏系统可以识别用户请求辅导和/或辅助时的时间点,并且可以搜索辅导数据库110来识别相关辅导视频。

图2说明图形指示器122的实例,其可以识别用户116正在玩的游戏中的不同级别。如仅出于实例的目的示出,示出用户正在玩级别二,且选择器可以识别用户何时选择选择器124来暂停游戏。举例来说,用户116玩图1的游戏内容120,例如驾驶汽车通过一条曲折的道路。用户在这个阶段需要辅导以便说明横越所述曲折道路的较佳途径。在操作130中,用户可暂停游戏过程。可以使用控制器输入、话音输入或在显示屏上选择gui来执行暂停游戏过程。在此配置中,暂停游戏130意在致使云游戏系统104对辅导数据库的访问132。

在操作134中,辅导选项由云游戏系统104提供,并接着在操作136中显示。辅导选项的显示可以包括显示可以对游戏部分126提供指导的各个辅导。当用户选择特定辅导视频时,所述辅导视频可出现在显示屏102上,如以下图6所示。用户可接着观看辅导视频,并且一旦辅导播放完毕或者用户已重播视频任意次数,用户便可以继续游戏过程138。游戏过程的继续可将用户带回选择点124,或者可将游戏过程倒回任何时间量,从而使得用户重新适应游戏过程模式。

图3说明了根据本公开的一个实施例描绘游戏玩家可以执行以便记录游戏的辅导会话的实例性操作的流程图。如图所示,在操作202中,用户可从由云游戏系统104提供的多个用于在线游戏过程的游戏中选择游戏。在一个实施例中,所选择的游戏可以是用户所购买的一个游戏,或者是用户已玩过的一个游戏,或者是用户的朋友已经经由云游戏系统104玩过的一个游戏。在操作204中,用户116可以在游戏过程的特定会话期间开始玩游戏。在游戏过程中,用户可以决定他或她希望产生针对游戏过程中的特定时间点的辅导会话。例如,用户可能正在玩图1中所说明的游戏,所述游戏可以是驾驶类游戏。

用户可决定所述驾驶类游戏中的特定部分比较棘手,而其他人将喜欢或者得益于知道如何作出某些拐弯或者如何进行某些操纵来达到特定级别、分数或奖杯。在操作206中,对于在用户决定记录辅导会话时记录增益时间戳。如上文提及的时间戳可在游戏过程期间识别时间点。因为不同的用户在不同的时间到达游戏过程中的某些点,所以识别数据并不一定仅仅是游戏时间或玩游戏时间,但时间戳可以识别描述用户在游戏中正玩到何处的元数据,例如,游戏的级别、正再现的场景、还有游戏场景中所描述的对象、游戏场景中的其他用户、在游戏场景中所做的操纵,以及其他可以用来识别时间戳的识别数据,例如,用户想要作出辅导会话时的时间点。例如,用户可选择控制器118上面的按钮、以及键盘上的输入、触屏上的触摸、对gui的选择,或指示想要作出特定辅导会话的辅导视频的其他输入。

因此,如果用户选择开始辅导会话,则记录用户所进行的游戏过程。在一个实施例中,除了记录游戏过程以外,用户的话音也会被记录,其可包括与正在显示和玩的游戏过程相关联的辅导信息以及辅导解说。在另一个实施例中,除了记录游戏过程以外,还可以取得并且记录用户的图像或视频。对用户进行记录可为例如在侧面窗口、内嵌窗口、用户界面中或以扩展的形式将用户的图像叠加在某个游戏过程上来显示用户玩所述游戏会话。

在操作208中,可以起始对游戏的辅导会话的记录。在一个实施例中,客户端装置的摄像机可用来捕获用户的视频,所述摄像机与客户端装置一起定位,或者连接到客户端装置、或者集成在客户端装置上。在一个实施例中,连接到客户端的相机可捕获用户的视频,例如,用户在哪里。视频可以被流式传输到云游戏系统104的服务器。所接收的视频可以保存在服务器上,从而界定例如辅导视频等记录。在另一个实施例中,客户端位置处的相机可以捕获视频,且在完成捕获之后,具有整个视频的文件可以被发送到服务器。服务器可以接着使视频文件与在服务器上记录的所捕获的游戏过程记录同步。因此,将需要将捕获用户提供辅导的视频通过流式传输或以包的形式或以文件的形式传递到服务器,且接着服务器可以将辅导的视频与已记录的游戏过程进行关联。在一个实施例中,可以在用户激活辅导模式之时或之后开始起始记录游戏过程以及辅导的视频。在一个实施例中,已记录的游戏过程视频以及已记录的辅导视频将界定辅导会话。在一种配置中,当播放或开始辅导会话时,其可包括对创建视频的玩家进行识别的介绍,或者辅导的照片、介绍性音乐、介绍性文字、音频、评论或者图像。

例如在辅导会话完成之后在操作210中,保存辅导会话。辅导会话可以保存(例如)到辅导数据库110。在操作212中,确定作出辅导会话的用户是否想要继续玩游戏。

举例来说,用户可能希望继续玩游戏而不参与辅导会话。如果用户希望继续玩,那么操作移到游戏过程204。如果用户已经完成曾为其创建辅导视频的特定游戏的游戏过程,那么操作可以移到决策214。在决策214中,确定用户是否希望玩另一个游戏。如果用户希望玩另一个游戏,那么用户接着可以选择不同的游戏202。否则,用户可结束。在另一个实施例中,在用户已经完成玩游戏的一部分之后,用户可以决定作出辅导会话。在这个实例中,用户例如以先前玩过的交互内容的视频剪辑的形式选择游戏的一部分。在另一个实施例中,用户也可以访问先前保存的剪辑,从而使辅导视频与先前播放的已记录的游戏过程进行关联。例如,如果用户已记录了较好的获益会话的游戏剪辑,那么用户可能希望以此方式有能够在产生所述游戏剪辑时识别游戏中的位置,从而识别游戏过程剪辑的时间戳,并且使其与辅导视频进行关联。

相应地,本公开的实施例使得能够访问云游戏系统104的用户能够以游戏过程的辅导视频和剪辑的形式创建用户产生的内容(ugc)。这些辅导会话(包括已记录的游戏过程和已记录的辅导视频)接着可由用户发布到辅导会话的数据库。发布辅导会话将简单地将辅导会话添加到辅导数据库110,使得辅导会话可在未来被其他玩家访问(如果那些玩家在玩那个特定的游戏,并且请求与创建辅导视频的时间戳相关的内容的辅导)。具体来说,如参考图2所描述,用户可再次暂停来访问辅导视频,这是因为用户需要帮助来前进通过游戏的特定时间点。如果那个特定用户针对与先前产生的辅导会话相关的游戏的位置或部分而请求帮助,则可以获得与那个时间点或时间戳相关的辅导会话,并将其作为选项提供给用户进行观看。

图4说明了数据库110以及基于时间戳使辅导会话与特定游戏进行逻辑关联的实例。在这个实例中,辅导数据库110可以追踪多个游戏,例如游戏a252、游戏b254以及游戏n256。出于说明的目的,示出游戏a252具有多个时间戳(ts1……tsn)。这些时间戳可以代表交互视频游戏a中的时间点,其有助于识别已由其他用户创建并发布的辅导会话。为了进行说明,时间戳ts1260可以具有辅导会话1、2、3……n。时间戳ts2262可以具有辅导会话1。时间戳ts3264可以具有辅导会话1和2。时间戳tsn266可以具有辅导会话n。相应地,应理解,时间戳并不一定固定于非常特定的时间点,而是可以涵盖与特定场景相关的内容的一部分、内容,或者其中包括辅导视频的辅导会话所发布的时间范围或场景。出于实例的目的,如果视频游戏是驾驶类视频并且ts1与沿着特定道路转弯相关,那么ts1可与包括那段道路的场景相关,并且或者与弯道稍前一点的内容相关,或者与弯道稍后一点的内容相关。

为此,应理解,时间戳不必精确,而是应该界定与在发布包括辅导视频的辅导会话时的交互或场景或对象或所交互的内容相关的时间或者内容范围。此外,应理解,一些辅导视频具有不同的时间链接,且因此时间戳可以包括可存在于与已记录的游戏过程和/或已记录的辅导视频相关的已记录的游戏过程中的时间或场景范围。

图5说明了用户116在与云游戏系统104介接的显示器102上玩游戏的实例。在这个实例中,用户正在玩驾驶类游戏,其可以使用游戏识别符(id)75进行识别。本文所提供的游戏识别符仅仅用作实例,且游戏识别符可以使用任何形式的数据、字母数字代码、标题、编码、数字或其组合来表示。如果用户116选择或者请求游戏过程中的时间点的辅导视频,那么这个请求将被发送到云游戏系统104。

云游戏系统104接着将处理所述请求,以便在操作320中识别游戏、在操作322中识别游戏中的级别,以及识别对用户请求辅导辅助所针对的时间点或级别或者可见进行识别的时间戳。出于讨论的目的,在操作324中说明了时间戳是ts32。在一些实施例中,云游戏系统104将简单地识别时间戳,其将检索元数据来自动识别当前正在玩的级别和游戏。在其他实施例中,云游戏系统已经了解和知晓是哪款游戏,因此无需对游戏id进行处理,也不需要级别信息。

应提供时间戳数据,其用于提供关于用户正在哪里玩的在时间或场景或动作或级别或交互或阶段等方面的信息。在操作330中,执行辅导数据库查找。辅导数据库查找是对辅导数据库110的调用。在这个操作中,进行搜索以识别可能与时间戳32相关或者近似的先前发布的辅导会话。在操作332中,云游戏系统将识别游戏的辅导会话、级别,以及在用户选择或请求辅导时接收的时间戳。在操作334中,可以任选地基于其他用户的评级对识别出或找到的辅导会话进行排序。例如,辅导会话可能已经在之前被其他用户检索到并观看过。当其他用户观看辅导会话时,用户可以基于任何数目的因素对辅导会话进行评级,包括他们关于有用性、实力、娱乐价值等的主观看法。

因此,通过允许其他用户对用户产生的辅导会话进行评级,不仅可以为用户自动找到针对视频游戏的特定部分的相关辅导会话,而且可以为用户识别出更高评级的辅导会话,从而避免观看或者选择可能没有用的辅导会话。在操作336中,向用户116显示辅导选项。如所示,辅导会话302可以在用户界面窗口区域中对准。这可以包括发布提供辅导会话的辅导的图像。在一些实施例中,可以使用头像来识别辅导。在一些实施例中,可以使用游戏过程的图像来识别辅导,其也将显示与请求辅导所针对的当前游戏状态的关系。在又另一实施例中,可以提供评级窗口304来识别对特定辅导会话的评级级别。

在特定实例中,识别出三个辅导会话,例如辅导会话306、308和310。如所说明,可以提供用于显示评级304的各种方式。在这个简单的实例中,示出星星来识别:辅导会话13具有5颗星,而辅导会话2和3各具有3颗星。应理解,将辅导会话作为辅导会话选项呈现给用户的方式可取决于实施方案而改变。在一些实施例中,不使用竖直的辅导窗口,而是可以以网格或以水平条或在左面板上或沿着顶部面板或可以作为在收获内容之上的覆盖层来提供辅导选项。一般来说,只要用户116具有用于选择的辅导选项,就可以定制呈现辅导选项的方式。

图6说明了在屏幕102上说明的已记录的游戏过程350和辅导视频352的实例。如图5所示,辅导会话1说明选项306具有很高评级。图6的实例示出对辅导会话1的实例性呈现,其示出由创建辅导视频的玩家记录的辅导视频306。还说明了已记录的游戏过程350,其示出辅导视频使汽车沿着道路从点a、点b、点c和点d移动的方式。还可示出提供给用户界面和/或控制器的操纵、转弯、特殊动作以及其他输入,这是因为辅导视频可以允许用户在玩特定游戏部分的时候说出并讨论为什么以及如何作出移动、输入和手势,因为其与用户请求辅导的视频游戏相关。

在这个实例中,用户还可以具有切换杆348,其将允许用户沿着时间线346进行切换,从而减速、移动暂停或者快进到已记录的游戏过程的不同部分。当已记录的游戏过程前进时,使辅导视频同步,从而在游戏过程前进的时候提供辅导信息。在一个实施例中,如果观看视频的用户喜欢所述视频,那么用户可以给视频更高或更低评级和图形输入304b,其可影响304a中的评级星星。在一些实施例中,还可以向辅导视频提供文字评论340,其可以是创建辅导视频的用户所提供的文字评论。这些文字评论340还可以包括图像、控制器的照片、游戏过程场景的照片,以及将辅助将在教学视频结束之后玩游戏的用户的其他评论。在仍其他实施例中,在示出视频之后或者在其期间,用户可以在部分342中提供评论,所述评论接着可以与辅导会话1相关联。

以此方式,观看辅导视频的其他用户可以对以后可能观看辅导视频的其他用户提供其他辅助。这种其他辅助可以是说明、秘诀、指针或者评论。在一个实施例中,可以提供图形用户接口(gui)以允许用户进行选择354,其会将用户带回实况游戏过程。如早先所提及,在用户已经观看已记录的游戏过程和辅导视频之后,可以将用户带回选择点124,或者那个点稍前一点的地方,使得用户可以继续游戏过程。由于用户刚刚已观看完辅导视频,所以了解了如何玩游戏的特定部分的用户随后将继续游戏过程。

在其他实施例中,也可以与其他用户分享图6所示的辅导会话。分享可以通过对与云游戏系统进行介接的输入装置的控制,或者可以经由第三方社交网络。举例来说,已记录的游戏过程和相关联的辅导视频可以(例如)作为发布到社交流的帖示分享到第三方社交网络。在一些实施例中,这允许用户向他或她的朋友发布游戏过程,并且如果朋友希望体验游戏过程,那么其他用户可以链接回云游戏系统。在一个实施例中,云系统实现对已记录的游戏过程和辅导视频的呈现的产生。图6示出呈现的实例。

在一个实例中,所述呈现示出运行中的已记录的游戏过程以及提供关于游戏过程的指令的用户。已记录的游戏过程在屏幕的第一部分上再现,且辅导视频在屏幕的第二部分上再现。在一些实施例中,可以修改第一和第二部分的大小。举例来说,辅导窗口可以放大,且已记录的游戏过程可以缩小,或反之亦然。在一个实施例中,评级控制304b与辅导视频关联地整合。在仍其他实施例中,整合了与辅导视频相关联的关于辅导视频的评论。这些先前评论是可见的,并且使得能够输入新的评论,使得使新评论与辅导视频相关联。除了评论以外,还可以提供一些评价。在一些配置中,可以使用访问控制列表(acl)对所述评价和评论进行过滤,使得仅特定朋友或用户可以观看这些特定评论。

在一个实施例中,辅导视频还可以具有用于切换到控制器的详细视图的选项,从而显示按钮按压、双手按压、快速输入、滑动、触摸、轻敲、手势、动作和/或其组合。因此,视频可以具有用户可以选择的切换开关,从而观看控制器或者观看握住控制器的辅导。在任一配置中,在不同视图之间进行切换的能力允许用户找到与他们最遵循的方式最佳对准并可以理解游戏输入过程的辅导格式。

图7说明了与产生辅导视频相关联的一个实例性流程图。在操作402中,云游戏系统104接收游戏选择。在操作404中,云游戏系统104启用游戏过程。操作406将在辅导模式下启用游戏过程的一部分的记录。在辅导模式期间,在操作408中对游戏过程以及辅导视频进行记录。在一个实施例中,玩家本地的相机可以对准玩家,从而捕获玩家的脸和/或手和/或控制器。在一些实施例中,辅导不需要包括视频,而可仅包括话音文件,话音文件可由玩家对其说话的麦克风记录。在仍其他实施例中,可以通过简单地添加文字评论来提供辅导。在操作410中,已记录的游戏过程和辅导视频关联到游戏的交互玩游戏的时间戳。如上所述,时间戳是指在创建已记录的游戏过程和或辅导视频时的时间点或交互或用户正在玩的内容。在操作412中,将已记录的游戏过程和辅导视频保存到辅导数据库110。

图8说明了由云游戏系统104执行的操作的实例。云游戏系统104将从多个用户接收针对游戏中的特定游戏的已记录的游戏过程和辅导视频。在操作416中,这个过程将随时间发生,这将使辅导数据库110增长,并且向以后针对特定游戏交互而希望或者请求辅导信息的用户提供辅导会话的更多选项。如所述,在操作418中,将基于时间戳对已记录的游戏过程和已记录的辅导视频进行保存和编制索引。

图9说明了可能在游戏过程期间请求辅导的用户的实例。在操作420中,云游戏系统接收到针对游戏的游戏过程中的选择点的辅导选项的请求。在操作422中,已记录的游戏过程和辅导视频识别为与所选择的点相关联或者是与所选择的点近似的游戏过程位置。在操作424中,可以基于用户(玩家)的朋友使用过滤器辅导选项进行任选的过滤。例如,一些用户可能仅想要观看来自特定朋友的辅导视频,且那些辅导视频可在来自其他用户的其他辅导视频之前被识别出。在一些实施例中,可以例如经由api访问社交网络来识别用户的朋友。在另一实施例中,用户可以预先识别希望从其检索辅导视频的特定朋友或人。在一些实施例中,可以为用户在选择列表中识别出某些高排名辅导或热门辅导,从而允许用户从这些热门辅导中进行选择。在仍其他实施例中,用户可以键入其希望查找的辅导的名字,这可识别出那个特定辅导所发布的多个辅导会话。在那个情景中,用户可观看任何数目的针对不同时间点和不同游戏的辅导视频。

在操作426中,还有可能基于从其他玩家接收的评级对辅导选项进行分类。如果某些辅导提供较好的辅导反馈,那么这些辅导可以得到更高的评级,且任选地,他们可以更经常地向用户显示。相应地,应理解,本文所描述的方法实现与特定内容相关联的辅导视频的动态发布,并且还实现基于特定游戏中的用户正玩到并且请求辅导的地方对特定辅导视频的动态检索。这个机制利用了云游戏系统的可优化游戏会话的索引编制、辅导会话、发布的游戏会话、时间戳关联以及检索的多个过程。

这些操作形成了需要多个服务器和/或执行平台来实现快速访问数据库并将内容呈现给远程定位的用户的技术操作。如在本文各个位置中所提及,云游戏还可以包括利用任何数目的压缩技术的压缩的操作。所述压缩技术可以使用标准编码器,其将允许客户端装置上的标准解码器访问并玩视频游戏。视频游戏和分布的管理可包括多个数据中心、引导服务器、服务质量测试员、到低等待时间数据中心的引导和重新引导,以及对位于辅导数据库110中的辅导视频库的管理。还应理解,这些操作和任务将利用多个专用计算机,其被设计成用于流式传输以及由于游戏的远程执行以及到客户端装置的递送而引起的低等待时间。

图10说明了根据本公开的实施例的可用于管理视频及游戏剪辑的执行和共享的游戏云系统1110的简化框图。在一个实施例中,云游戏系统1110可以由多个服务器界定,所述多个服务器是数据中心的部分,并且被配置成执行可由连接的用户远程玩的游戏或媒体。所述服务器可以由通用服务器和专用服务器界定,它们是联网的游戏控制台。在联网的游戏控制台的情况下,数据中心可以由游戏控制台的多个机架界定,其可被配置成执行某些游戏并服务于若干连接的用户。在一些情况下,某些游戏控制台被预先指派给特定的游戏,且特定数目(例如,一个或多个)的用户可以被指派给所述游戏控制台。服务器基础设施于是被设计成使得能够执行游戏并对发送到远程用户装置的内容进行编码(例如,压缩)。远程用户装置接着将对数据进行解码,并将交互内容显示在远程用户所使用的客户端的显示器上。类似地,将例如控制器输入等用户输入发送回服务器,从而使得能够驱动游戏的交互。广义上来讲,云游戏包括在数据中心的远程服务器上处理游戏执行以及将音频和视频呈现在远程客户端上。当客户端和服务器之间的带宽处于某一最小水平并且延迟小于三百毫秒时,在远程客户端的屏幕上所呈现的交互犹如内容正在客户端本地执行。在一些实施例中,云游戏系统1110可以包括在主机机器(或仅仅是主机)的管理程序上运行的多个虚拟机(vm),其中一个或多个虚拟机被配置成利用主机的管理程序可用的硬件资源来执行游戏处理器模块。

游戏客户端装置的一些实例包括个人计算机(pc)、电视、家庭影院pc、通用计算机、移动计算装置、智能电话、平板计算机,或可以在因特网上与游戏服务器进行交互从而执行视频游戏的任何其他类型的计算装置。因此,游戏服务器可以是云中可用的任何类型的服务器计算装置,包括在主机上执行并通过网络1120远程访问的虚拟机。

在一些配置中,当用户登录到云游戏系统1110中时,向用户呈现用于指定用户借以访问云游戏网络的客户端装置的类型的选项。在一个实施例中,呈现一系列客户端装置选项,用户可以从中选择与他/她的客户端装置对应的一者。类似地,还可以向用户呈现用于指定用户将使用其来玩视频游戏的控制器装置的类型。在一个实施例中,可以向用户呈现一系列控制器选项,用户可从中进行选择以指定对应于他们的控制器硬件的控制器类型。

在其他实施例中,云游戏系统1110可被配置成自动检测客户端装置类型和/或控制器装置类型。例如,在登录时,客户端装置可将识别自身以及连接的控制器装置的信息发送到游戏服务器(例如,响应于来自游戏服务器的请求)。基于此信息,云游戏系统1110中的游戏服务器可确定合适的视频游戏输出配置(例如,压缩、分辨率、纵横比等)以及输入参数配置,从而提供针对用户的客户端装置和控制器装置优化的游戏体验。在一个实施例中,基于检测到的客户端装置和检测到的控制器装置,采用查找表来确定视频游戏配置和输入参数配置。这些配置和输入参数用于产生预先界定的设置参数。设置参数在客户端装置处提供信息来界定用于玩视频游戏的控制。除了设置参数以外,还可以在客户端装置处提供社交媒体界面来实现与其他用户的社交。

仍然参考图10,示出各种实例性模块及其彼此的交互。例如,社交媒体提供者1140、用户装置1100以及云游戏系统1110经由因特网1120进行连接。尽管只说明了一个用户装置100,但应理解,实际上多得多的用户装置可以连接到因特网1120,从而访问云游戏系统1110和社交媒体提供者1140所提供的服务。

在一个实施例中,云游戏系统1110包括多个模块,其接收并处理与管理已记录的游戏过程(例如辅导视频)的执行和共享相关的各种数据。在一个实施例中,云游戏系统1110的不同模块可包括使用游戏服务器可用的数据在游戏服务器上执行的一个或多个执行引擎。应理解,一些系统可具有比这些模块更多或更少的模块,因此这个实例不应被看作对被配置成实现在线游戏过程的多得多的实施方案的限制。

例如,可以使用若干执行引擎来执行不同的游戏和管理任务。一些实例性引擎可包括(但不限于)游戏执行引擎1170、游戏代码映射器1171、记录引擎1172、辅导游戏处理器1173、度量累加器1174、用户处理器1175、标题索引引擎1176。

云游戏系统1110可进一步包括用于存储各种数据和/或已处理数据的多个数据存储系统。如所示(非限制),数据存储装置包括游戏状态存储装置1160、游戏代码存储装置1161、已记录游戏存储装置1162、社交网络数据存储装置1163、辅导视频数据存储装置1164、游戏标题存储装置1165、游戏网络用户存储装置1167。游戏会话管理器1185可以被配置成与游戏执行引擎、数据存储装置以及社交连接管理器1195进行交互。游戏会话管理器1185还被配置成(例如)经由用户访问逻辑1180授权和/或控制对各种用户的访问。

在一个实施例中,用户u0可能正经由具有特定屏幕1132的用户装置1100访问游戏云系统1110。用户可以经由控制器、键盘、触屏或任何其他输入来提供输入。输入1136在因特网1120上与游戏云系统1110进行通信。在一个实施例中,输入1136可以数据包的形式进行通信,所述数据包可被压缩且接着转发到游戏云系统1110,并由网络接口1190接收。在一个实施例中,网络接口1190可与游戏云系统1110的特定服务器、特定游戏控制台或数据中心中的各个服务器相关联。输入1136接着被传递到游戏会话管理器1185,游戏会话管理器1185实现对游戏逻辑的处理并返回音频和视频包1135。对音频和视频包进行编码(例如,压缩)并将其转发回客户端装置1100,客户端装置的解码器进行解码,并将数据呈现回屏幕1132。

在一些实施例中,所述系统可以作为混合系统进行操作,其中使用来自第三方社交媒体提供者(经由应用编程接口(api)访问或类似者)的社交图谱数据1145对社交关系进行管理。在仍其他实施例中,游戏云系统1110可以管理其自身的社交网络数据,其可包括具有游戏云系统1110的用户账户的用户的列表,并且还包括识别玩某些游戏或彼此交互的朋友的关系。

在一个实施例中,用户(例如用户u0)可以创建用户账户,并向游戏云系统1110注册所创建的用户账户。在向游戏云系统1110注册所述用户账户之后,游戏云系统1110可以向这个注册的用户账户提供用户id,并将用户id保存在与所注册的用户账户相关联的用户配置文件中。在一个实施例中,与用户账户相关联的用户配置文件可以保存在游戏网络用户存储装置1167中的用户数据库中。

在登录后,用户可以经由游戏会话管理器1185访问由游戏云系统1110提供的服务。例如,游戏会话管理器1185可以将用户登录信息通知给用户处理器1175,使得用户处理器1175可以在与所述用户相关联的用户配置文件中记录或更新用户登录信息。用户处理器1175还可以与标题索引擎1176通信,从而识别与用户账户相关联的游戏标题。与用户账户相关联的游戏标题可以是用户之前购买的、用户之前玩过的和/或由游戏提供者识别并使得可用的免费游戏标题。在一个实施例中,与用户账户相关联的游戏标题还可以基于用户先前对游戏的选择而包括与由用户兴趣界定的派别相关联的游戏标题。另外,用户处理器1175可以识别用户数据,其包括历史玩游戏数据、在特定游戏中达到的级别、积累的分数、正在进行中的游戏的状态、挣得的奖杯、挣得的信用等。

游戏会话管理器1185访问游戏状态存储装置1161,从而检索用户玩(针对所选游戏)的上一会话的所保存的游戏状态(如果有),使得用户可从之前的游戏过程停止点重新开始游戏过程。一旦识别出继续或开始点,游戏会话管理器1185便可以通知游戏执行引擎1170执行存储在游戏代码存储装置1161中的所选游戏标题的游戏代码。在起始游戏会话之后,游戏会话管理器1185可以经由网络接口1190将游戏视频帧传递(即,流式传输视频数据)到用户装置,例如用户装置1100。

在游戏过程期间,游戏会话管理器1185可以和游戏执行引擎1170以及记录引擎1172进行通信,从而在游戏过程处理时产生或保存游戏过程或游戏过程会话的记录(例如,视频)。在一个实施例中,游戏过程的视频记录可以包括在游戏过程期间提供和/或捕获的其他游戏相关元数据。此额外数据可以包括玩游戏的用户的视频。例如,玩游戏的用户的视频可以用于产生可由辅导游戏处理器1173处理的辅导视频。游戏过程的视频和用户教导其他人如何玩或游戏过程中的详细动作的视频随后可以保存到辅导视频数据存储装置1164。

应了解,可以针对特定平台以及特定的关联的控制器装置开发给定的视频游戏。然而,当经由本文所呈现的游戏云系统使得可以使用此类游戏时,用户可能使用不同的控制器装置来访问视频游戏。例如,可能针对游戏控制台及其关联的控制器开发了一款游戏,而用户可能从利用键盘和鼠标的个人计算机访问游戏的基于云的版本。在此情景中,输入参数配置可界定从可由用户的可用控制器装置(在此情况下是键盘和鼠标)产生的输入到对于执行视频游戏可接受的输入的映射。

在另一实施例中,用户可经由平板计算装置、触摸屏智能电话,或其他触摸屏驱动的装置来访问云游戏系统。在此情况下,客户端装置和控制器装置一起集成在同一装置中,其中通过检测到的触摸屏输入/手势来提供输入。对于此装置,输入参数配置可界定对应于视频游戏的游戏输入的特定触摸屏输入。举例来说,在视频游戏的运行期间,按钮、指向垫或其他类型的输入元件可能显示或重叠,以便在触摸屏上指示用户可触摸以产生游戏输入的位置。例如在特定方向上挥扫等手势或特定触摸运动也可被检测为游戏输入。在一个实施例中,例如在开始视频游戏的游戏过程之前,可将教程提供给用户,从而指示如何经由用于游戏过程的触摸屏来提供输入,以便使用户适应触摸屏上的控制的操作。

在一些实施例中,客户端装置用作控制器装置的连接点。也就是说,控制器装置经由无线或有线连接与客户端装置进行通信,从而将来自控制器装置的输入传输到客户端装置。客户端装置可继而处理这些输入,且随后经由(例如,经由例如路由器等本地联网装置访问的)网络将输入数据传输到云游戏服务器。然而,在其他实施例中,控制器自身可以是联网的装置,其具有直接经由网络将输入传送到云游戏服务器的能力,而无需首先通过客户端装置传送这些输入。例如,控制器可能连接到本地联网装置(例如,前面提及的路由器),从而将数据发送到云游戏服务器并从云游戏服务器接收数据。因此,尽管仍然可能需要客户端装置接收来自基于云的视频游戏的视频输出并使其在本地显示器上再现,但通过允许控制器绕过客户端装置而在网络上直接将输入发送到云游戏服务器,可以减少输入等待时间。

在一个实施例中,联网的控制器和客户端装置可以被配置成将某些类型的输入从控制器直接发送到云游戏服务器,且经由客户端装置发送其他类型的输入。例如,其检测不依赖于除控制器本身之外的任何额外硬件或处理的输入可绕过客户端装置而经由网络从控制器直接发送到云游戏服务器。这些输入可以包括按钮输入、操纵杆输入、嵌入式运动检测输入(例如,加速度计、磁力计和陀螺仪)等。然而,利用额外硬件或需要客户端装置进行处理的输入可以由客户端装置发送到云游戏服务器。这些输入可能包括从游戏环境捕获的视频或音频,所述视频或音频可在由客户端装置进行处理之后发送到云游戏服务器。另外,来自控制器的运动检测硬件的输入可由客户端装置联合所捕获的视频进行处理,以便检测控制器的位置和运动,其随后将由客户端装置传送到云游戏服务器。应了解,根据各种实施例的控制器装置也可以从客户端装置或者直接从云游戏服务器接收数据(例如,反馈数据)。

应理解,本文所描述的实施例可以在任何类型的客户端装置上执行。在一些实施例中,客户端装置是头戴式显示器(hmd)。

图11,示出说明了根据本发明的实施例的头戴式显示器102的组件的图。头戴式显示器102包括用于执行程序指令的处理器1300。提供存储器1302用于存储目的,且存储器1302可包括易失性存储器和非易失性存储器。包括显示器1304,其提供用户可以观看的视觉界面。提供电池1306作为头戴式显示器102的电源。运动检测模块1308可以包括各种运动敏感硬件中的任一者,例如磁力计1310、加速度计1312和陀螺仪1314。

加速度计是用于测量加速度和重力诱发的反作用力的装置。可以使用单轴模块和多轴模型来检测不同方向上的加速度的量值和方向。加速度计用于感测倾斜、振动和冲击。在一个实施例中,使用三个加速度计1312来提供重力的方向,其为两个角度(世界空间俯仰和世界空横滚)提供了绝对参考。

磁力计测量头戴式显示器附近的磁场的强度和方向。在一个实施例中,在头戴式显示器内使用三个磁力计1310,从而确保对世界空间偏航角的绝对参考。在一个实施例中,磁力计被设计成跨越地球磁场,其为±80微特斯拉。磁力计会受到金属的影响,并提供随实际偏航单调的偏航测量值。磁场可能由于环境中的金属而扭曲,这导致偏航测量值中的扭曲。必要时,可以使用来自例如陀螺仪或相机等其他传感器的信息来校准此扭曲。在一个实施例中,加速度计1312与磁力计1310一起使用以获得头戴式显示器102的倾角和方位角。

陀螺仪是用于基于角动量的原理来测量或维持定向的装置。在一个实施例中,三个陀螺仪1314基于惯性感测而提供关于跨相应轴(x、y和z)的移动的信息。陀螺仪有助于检测快速旋转。然而,在不存在绝对参考的情况下,陀螺仪可能会随时间而漂移。这需要对陀螺仪进行周期性地复位,这可以使用其他可用的信息来完成,例如,基于对物体的视觉追踪、加速度计、磁力计等的位置/定向确定。

提供相机1316以用于捕获实际环境的图像和图像流。头戴式显示器102中可以包括一个以上相机,包括后向式相机(其在用户观看头戴式显示器102的显示器时背向用户)以及前向式相机(其在用户观看头戴式显示器102的显示器时指向用户)。另外,头戴式显示器102中可以包括深度相机1318,以用于感测实际环境中的物体的深度信息。

头戴式显示器102包括用于提供音频输出的扬声器1320。而且,可以包括用于从实际环境捕获音频的麦克风1322,所述音频包括来自周围环境的声音、用户发出的语音等。头戴式显示器102包括用于向用户提供触觉反馈的触觉反馈模块1324。在一个实施例中,触觉反馈模块1324能够导致头戴式显示器102的移动和/或振动,从而向用户提供触觉反馈。

提供led1326作为头戴式显示器102的状态的视觉指示器。例如,led可以指示电池电量、加电等。提供读卡器1328,以使得头戴式显示器102能够从存储器卡读取信息并将信息写入存储器卡。包括usb接口1330作为用于实现外围装置的连接或到其他装置(例如其他便携式装置、计算机等)的连接的接口的一个实例。在头戴式显示器102的各个实施例中,可以包括各种接口中的任一者来实现头戴式显示器102的更大的连接性。

包括wifi模块1332,以用于实现经由无线联网技术到因特网的连接。而且,头戴式显示器102包括蓝牙模块1334,以用于实现到其他装置的无线连接。也可以包括用于到其他装置的连接的通信链路1336。在一个实施例中,通信链路1336利用红外传输来进行无线通信。在其他实施例中,通信链路1336可以利用用于与其他装置进行通信的各种无线或有线通信协议中的任一者。

包括用于为用户提供输入接口的输入按钮/传感器1338。可以包括各种输入接口中的任一者,例如按钮、触摸垫、操纵杆、跟踪球等。头戴式显示器102中可包括超声波通信模块1340,以用于促进经由超声波技术与其他装置的通信。

包括生物传感器1342来实现对来自用户的生理数据的检测。在一个实施例中,生物传感器1342包括用于通过用户的皮肤检测用户的生物电信号的一个或多个干电极。

头戴式显示器102的上述组件仅作为头戴式显示器102中可包括的示范性组件进行描述。在本发明的各个实施例中,头戴式显示器102可以包括或可不包括各种上述组件中的一些组件。头戴式显示器102的实施例可另外包括目前并未描述但在此项技术中已知的其他组件,从而有利于本文所描述的本发明的各方面。

本领域技术人员将了解,在本发明的各个实施例中,可以结合显示器上显示的交互应用来利用上述手持式装置,从而提供各种交互功能。本文所描述的示范性实施例仅通过实例提供,而并非限制。

图12是根据本发明的各种实施例的游戏系统1400的框图。游戏系统1400被配置成经由网络1415向一个或多个客户端1410提供视频流。游戏系统1400通常包括视频服务器系统1420和任选的游戏服务器1425。视频服务器系统1420被配置成以最小服务质量向所述一个或多个客户端1410提供视频流。例如,视频服务器系统1420可以接收改变视频游戏的状态或视频游戏内的视角的游戏命令,并以最小时滞将反映此状态改变的经更新的视频流提供给客户端1410。视频服务器系统1420可被配置成以广泛多种替代性视频格式提供视频流,包括尚未界定的格式。此外,视频流可包括被配置成用于以广泛多种帧率向用户呈现的视频帧。典型的帧速率为30帧每秒、60帧每秒和1420帧每秒。但本发明的替代实施例中包括更高或更低的帧速率。

客户端1410(在本文中个别地被称为1410a、1410b等)可包括头戴式显示器、终端、个人计算机、游戏控制台、平板计算机、电话、机顶盒、公用电话亭、无线装置、数字板、独立装置、手持式游戏装置,和/或类似者。通常,客户端1410被配置成接收编码视频流、对视频流进行解码,并将所得的视频呈现给用户,例如游戏玩家。接收经编码视频流和/或对视频流进行解码的过程通常包括在客户端的接收缓冲器中存储个别频帧。可在与客户端1410成一体的显示器上或在单独的装置(例如监视器或电视)上将视频流呈现给用户。客户端1410任选地被配置成支持一个以上游戏玩家。例如,游戏控制台可被配置成同时支持两个、三个、四个或更多玩家。这些玩家中的每一者可以接收单独的视频流,或者单个视频流可以包括特别为每个玩家产生的(例如基于每个玩家的视角而产生的)帧的区域。任选地,客户端1410在地理上分散。游戏系统1400中包括的客户端的数目可从一两个至成千上万个或更多地广泛变化。如本文所使用,术语“游戏玩家”用于指玩游戏的人,且术语“游戏过程装置”用于指用于玩游戏的装置。在一些实施例中,游戏过程装置可以指进行协作以便将游戏体验递送给用户的多个计算装置。例如,游戏控制台和hmd可以与视频服务器系统1420协作来递送通过hmd观看的游戏。在一个实施例中,游戏控制台从视频服务器系统1420接收视频流,且游戏控制台将视频流转发到或将视频流更新到hmd以供再现。

客户端1410被配置成经由网络1415接收视频流。网络1415可以是任何类型的通信网络,包括电话网络、因特网、无线网络、电力线网络、局域网、广域网、专用网络和/或类似者。在典型实施例中,经由标准协议(例如tcp/ip或udp/ip)传送视频流。或者,经由专有标准传送视频流。

客户端1410的典型实例是个人计算机,其包括处理器、非易失性存储器、显示器、解码逻辑、网络通信能力和输入装置。解码逻辑可包括硬件、固件和/或存储在计算机可读媒体上的软件。用于对视频流进行解码(和编码)的系统在本领域中是众所周知的,且依据所使用的特定编码方案而改变。

客户端1410可以(但不强求)进一步包括被配置成用于对已接收的视频进行修改的系统。例如,客户端可被配置成执行进一步再现,从而将一个视频图像重叠在另一个视频图像上、对视频图像进行裁剪,和/或类似者。例如,客户端1410可以被配置成接收各种类型的视频帧,例如i帧、p帧和b帧,且将这些帧处理成用于向用户显示的图像。在一些实施例中,客户端1410的部件被配置成对视频流执行进一步再现、加阴影、转换为3d,或类似操作。客户端1410的部件任选地被配置成接收一个以上音频或视频流。客户端1410的输入装置可以包括(例如)单手游戏控制器、双手游戏控制器、手势辨识系统、凝视辨识系统、话音辨识系统、键盘、操纵杆、指向装置、力反馈装置、运动和/或位置感测装置、鼠标、触屏、神经接口、相机、尚未开发的输入装置,和/或类似者。

由视频服务器系统1420产生并提供客户端1410接收的视频流(以及任选地,音频流)。如在本文其他地方进一步描述,此视频流包括视频帧(且音频流包括音频帧)。所述视频帧被配置成(例如,其包括在适当数据结构中的像素信息)对向用户显示的图像作出有意义的贡献。如本文所使用,术语“视频帧”用于指包括经配置对向用户显示的图像作出贡献(例如产生影响)的主要信息的帧。本文中关于“视频帧”的大部分教导也可以应用于“音频帧”。

客户端1410通常被配置成从用户接收输入。这些输入可以包括游戏命令,所述游戏命令被配置成改变视频游戏的状态或者以其他方式影响游戏过程。可以使用输入装置接收游戏命令和/或游戏命令可以由在客户端1410上执行的计算指令自动产生。所接收的游戏命令经由网络1415从客户端1410被传送到视频服务器系统1420和/或游戏服务器1425。例如,在一些实施例中,游戏命令经由视频服务器系统1420被传送到游戏服务器1425。在一些实施例中,游戏命令的单独副本从客户端1410被传送到游戏服务器1425和视频服务器系统1420。游戏命令的通信任选地取决于命令的身份。任选地通过用于将音频或者视频流提供到客户端1410a的不同的路由或通信通道从客户端1410a传送游戏命令。

游戏服务器1425任选地由视频服务器系统1420以外的不同实体进行操作。例如,游戏服务器1425可以由多玩家游戏的发行人进行操作。在这个实例中,视频服务器系统1420任选地被游戏服务器1425看成客户端,并任选地被配置成从游戏服务器1425的视角来看似乎是执行现有技术游戏引擎的现有技术客户端。视频服务器系统1420与游戏服务器1425之间的通信任选地经由网络1415进行。因此,游戏服务器1425可以是现有技术的多玩家游戏服务器,其将游戏状态信息发送到多个客户端,其中一个客户端是游戏服务器系统1420。视频服务器系统1420可以被配置成同时与游戏服务器1425的多个实例进行通信。例如,视频服务器系统1420可以被配置成向不同的用户提供多个不同的视频游戏。这些不同视频游戏中的每一者可以由不同的游戏服务器1425支持和/或由不同的实体发行。在一些实施例中,视频服务器系统1420的若干地理分布的实例被配置成将游戏视频提供到多个不同的用户。视频服务器系统1420的这些实例中的每一者可以与游戏服务器1425的同一实例进行通信。视频服务器系统1420和一个或多个游戏服务器1425之间的通信任选地经由专用通信信道而进行。例如,视频服务器系统1420可以经由专门用于这两个系统之间的通信的高带宽信道而连接到游戏服务器1425。

视频服务器系统1420至少包括视频源1430、i/o装置1445、处理器1450和非暂时性存储装置1455。视频服务器系统1420可以包括一个计算装置或者分布在多个计算装置中。这些计算装置任选地经由通信系统(例如局域网)进行连接。

视频源1430被配置成提供视频流,例如,流式传输视频或者形成运动图片的一系列视频帧。在一些实施例中,视频源1430包括视频游戏引擎以及再现逻辑。视频游戏引擎被配置成接收来自玩家的游戏命令,并基于所接收的命令来维持视频游戏的状态的副本。此游戏状态包括游戏环境中的物体的位置,还通常包括视角。游戏状态还可以包括物体的性质、图像、颜色和/或纹理。

通常基于游戏规则以及游戏命令(例如移动、转弯、攻击、焦点集中、交互、使用,和/或类似者)来维持游戏状态。游戏引擎的一部分任选地设置在游戏服务器1425中。游戏服务器1425可以基于从使用地理上分散的客户端的多个玩家接收的游戏命令来维持游戏状态的副本。在这些情况下,游戏服务器1425将游戏状态提供到视频源1430,其中对游戏状态的副本进行存储,并进行再现。游戏服务器1425可以经由网络1415直接从客户端1410接收游戏命令,和/或可以经由视频服务器系统1420接收游戏命令。

游戏源1430通常包括再现逻辑,例如,硬件、固件和/或存储在计算机可读媒体(例如存储器1455)上的软件。此再现逻辑被配置成基于游戏状态而创建视频流的视频帧。再现逻辑的全部或部分任选地设置在图形处理单元(gpu)内。再现逻辑通常包括被配置成用于基于游戏状态和视角来确定物体之间的三维空间关系和/或用于应用适当纹理等的处理阶段。再现逻辑产生原始视频,其接着通常在传送到客户端1410之前进行编码。例如,可以根据adobe标准、.wav、h.264、h.263、on2、vp6、vc-1、wma、huffyuv、lagarith、mpg-x、xvid.ffmpeg、x264、vp6-8、realvideo、mp3或类似者对原始视频进行编码。编码过程产生视频流,所述视频流被任选地打包用于递送到远程装置上的解码器。视频流的特征在于帧大小和帧速率。典型的帧大小包括800x600、1280x720(例如,720p)、1024x768,但可以使用任何其他帧大小。帧速率是每秒的视频帧的数目。视频流可包括不同类型的视频帧。例如,h.264标准包括“p”帧和“i”帧。i帧包括用于刷新显示装置上的所有宏块/像素的信息,而p帧则包括用于刷新其子集的信息。p帧的数据大小通常小于i帧。如本文中所使用,“帧大小”意在指一帧内的像素的数目。术语“帧数据大小”用于指存储帧所需的字节的数目。

在替代实施例中,视频源1430包括视频记录装置,例如相机。此相机可用于产生可以包括在计算机游戏的视频流中的延迟或实况视频。所得的视频流任选地包括再现的图像和使用照相机或摄像机记录的图像。视频源1430也可以包括存储装置,其被配置成存储之前记录的视频以包括在视频流中。视频源1430也可以包括被配置成检测物体(例如,人)的运动或位置的运动或定位感测装置,以及被配置成基于检测到的运动和/或位置确定游戏状态或产生视频的逻辑。

视频源1430任选地被配置成提供覆盖区,其被配置成放置在其他视频上。例如,这些覆盖区可以包括命令界面、登录指令、给游戏玩家的消息、其他游戏玩家的图像、其他游戏玩家的视频馈送(例如,网络摄像头视频)。在包括触屏界面或凝视检测界面的客户端1410a的实施例中,覆盖区可包括虚拟键盘、操纵杆、触摸垫,和/或类似者。在覆盖区的一个实例中,玩家的话音覆盖在视频流上。视频源1430任选地进一步包括一个或多个音频源。

在视频服务器系统1420被配置成基于来自一个以上玩家的输入而维持游戏状态的实施例中,每个玩家可具有不同的视角,包括位置和视向。视频源1430任选地被配置成基于每个玩家的视角为其提供单独的视频流。此外,视频源1430可被配置成为每个客户端1410提供不同的帧大小、帧数据大小和/或编码。视频源1430任选地被配置成提供3d视频。

i/o装置1445被配置成供视频服务器系统1420发送和/或接收信息,例如视频、命令、对信息的请求、游戏状态、凝视信息、装置运动、装置位置、用户运动、客户端身份、玩家身份、游戏命令、安全信息、音频,和/或类似者。i/o装置1445通常包括通信硬件,例如网卡或调制解调器。i/o装置1445被配置成与游戏服务器1425、网络1415和/或客户端1410进行通信。

处理器1450被配置成执行包括在本文所述的视频服务器系统1420的各种组件内的逻辑(例如,软件)。例如,可使用软件指令来编程处理器1450,从而执行视频源1430、游戏服务器1425和/或客户端限定器1460的功能。视频服务器系统1420任选地包括处理器1450的一个以上实例。也可以使用软件指令编程处理器1450,从而执行视频服务器系统1420接收的命令,或协调本文所述的游戏系统1400的各个元件的操作。处理器1450可包括一个或多个硬件装置。处理器1450是电子处理器。

存储装置1455包括非暂时性模拟和/或数字存储装置。举例来说,存储装置1455可包括被配置成存储视频帧的模拟存储装置。存储装置1455可包括计算机可读数字存储装置,例如硬盘驱动器、光盘驱动器或固态存储装置。存储装置1415被配置成(例如,通过适当的数据结构或文件系统)存储视频帧、人工帧、包括视频帧和人工帧的视频流、音频帧、音频流,和/或类似者。存储装置1455任选地分布在多个装置中。在一些实施例中,存储装置1455被配置成存储本文其他地方讨论的视频源1430的软件组件。可在需要时以准备好提供的格式存储这些组件。

视频服务器系统1420任选地进一步包括客户端限定器1460。客户端限定器1460被配置用于远程地确定客户端(如客户端1410a或1410b)的能力。这些能力可包括客户端1410a自身的能力以及客户端1410a与视频服务器系统1420之间的一个或多个通信信道的能力。例如,客户端限定器1460可被配置成通过网络1415测试通信信道。

客户端限定器1460可手动或自动地确定(例如,发现)客户端1410a的能力。手动确定包括与客户端1410a的用户通信并要求用户提供能力。例如,在一些实施例中,客户端限定器1460被配置成在客户端1410a的浏览器内显示图像、文字和/或类似者。在一个实施例中,客户端1410a是包括浏览器的hmd。在另一个实施例中,客户端1410a是具有浏览器的游戏控制台,其可显示在hmd上。所显示的对象要求用户输入信息,例如客户端1410a的操作系统、处理器、视频解码器类型、网络连接类型、显示器分辨率等。用户输入的信息被传送回客户端限定器1460。

例如,通过在客户端1410a上执行代理和/或通过向客户端1410a发送测试视频,可进行自动确定。所述代理可包括内嵌在网页中或者作为扩展件安装的计算指令,例如java脚本。任选地由客户端限定器1460提供代理。在各个实施例中,代理可找出客户端1410a的处理能力、客户端1410a的解码和显示能力、客户端1410a和视频服务器系统1420之间的通信信道的时滞可靠性和带宽、客户端1410a的显示器类型、客户端1410a上存在的防火墙、客户端1410a的硬件、客户端1410a上执行的软件、客户端1410a内的注册表项,和/或类似者。

客户端限定器1460包括硬件、固件和/或存储在计算机可读媒体上的软件。客户端限定器1460任选地设置在与视频服务器系统1420的一个或多个其他元件分离的计算装置中。例如,在一些实施例中,客户端限定器1460被配置成确定客户端1410和视频服务器系统1420的一个以上实例之间的通信信道的特性。在这些实施例中,客户端限定器所发现的信息可用于确定视频服务器系统1420的哪个实例最适合用于将流式传输视频递送到客户端1410中的一者。

应理解,本文所界定的各个实施例可以使用本文所公开的各种特征组合或组装成特定实施方案。因此,提供的实例仅仅是一些可能的实例,并非对通过组合各种元素来界定多得多的实施方案而可能的各种实施方案的限制。在一些实例中,在不偏离所公开的或等效的实施方案的精神的情况下,一些实施方案可包括更少的元素。

本发明的实施例可用各种计算机系统配置来实践,包括手持式装置、微处理器系统、基于微处理器或可编程的消费型电子器件、微型计算机、主机计算机和类似者。本发明还可以在分布式计算环境中实践,其中借助通过有线或无线网络进行链接的远程处理装置来执行任务。

鉴于以上实施例,应理解,本发明可以采用涉及计算机系统中存储的数据的各种计算机实现的操作。这些操作是需要对物理量进行物理操控的操作。形成本发明的一部分的本文所描述的任何操作都是有用的机器操作。本发明还涉及用于执行这些操作的装置或设备。所述设备可经过特殊构造来达到所需的目的,或者所述设备可以是通过计算机中存储的计算机程序选择性地激活或配置的通用计算机。具体来说,各种通用机器可以与根据本文的教导而编写的计算机程序一起使用,或者可以更便捷地构造更加专用的设备来执行所需的操作。

本发明也可以体现为计算机可读媒体上的计算机可读代码。计算机可读媒体是可以存储数据的任何数据存储装置,其之后可由计算机系统读取。计算机可读媒体的实例包括硬盘驱动器、网络附加存储装置(nas)、只读存储器、随机存取存储器、cd-rom、cd-r、cd-rw、磁带,以及其他光学和非光学数据存储装置。计算机可读媒体可包括计算机可读有形媒体,其分布在与网络耦合的计算机系统上,使得以分布方式存储并执行计算机可读代码。

尽管以特定顺序描述了方法操作,但应理解,在这些操作之间可以执行其他内务管理操作,或者可以调整操作以使得在略微不同的时间发生,或者这些操作可以分布在允许处理操作以与处理关联的各种间隔发生的系统中,只要是以所要的方式执行覆盖操作的处理。

尽管为了清楚理解而已经相当详细地描述了本发明,但将显而易见的是,可在所附权利要求书的范围内实践某些改变和修改。因此,本实施例将被视为说明性的而非限制性的,且本发明不限于本文给出的细节,而是可在所附权利要求书的范围和等效物内进行修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1