用于虚拟现实(VR)观看的扩展视野重新渲染的制作方法

文档序号:13769757阅读:232来源:国知局

优先权要求

本申请要求2015年6月14日提交的标题为“widefieldofviewre-renderingforvrspectating”的美国临时申请号62/175,278的优先权,所述临时申请的公开内容通过引用并入本文。

本公开涉及提供用于在头戴式显示器(hmd)上进行虚拟现实(vr)观看的视频游戏的扩展视野重新渲染,以及相关联的装置和方法。



背景技术:

相关技术的描述

视频游戏产业多年来已发生了许多变化。随着计算能力的扩展,视频游戏的开发者同样已经创建了利用这些提高的计算能力的游戏软件。为此目的,视频游戏开发者已对并入有复杂操作和数学运算的游戏进行编码,以产生非常细致且吸引人的游戏体验。

示例性游戏平台包括sonysony(ps2)、sony(ps3)、以及sony(ps4),上述的每一个都以游戏控制台的形式销售。众所周知,游戏控制台被设计成连接到显示器(典型地是电视机),并且通过手持式控制器实现用户交互。游戏控制台被设计成具有专门处理硬件、固件和软件,所述专门处理硬件包括cpu、用于处理密集图形操作的图形合成器、用于执行几何变换的向量单元以及其他胶连硬件。游戏控制台可进一步被设计成具有用于接收游戏光盘的光盘读取器,以便通过游戏控制台进行本地游戏。在线游戏也是可能的,其中用户可通过互联网与其他用户交互地比赛或一起玩游戏。随着游戏复杂性不断地激起玩家的兴趣,游戏和硬件制造商不断进行革新来实现另外的交互性和计算机程序。

计算机游戏产业的发展趋势在于开发增加用户与游戏系统之间的交互的游戏。实现更丰富的交互体验的一种方式是使用无线游戏控制器,所述无线游戏控制器的移动由游戏系统追踪以便追踪玩家的移动并且使用这些移动作为游戏输入。总体而言,手势输入涉及使诸如计算系统、视频游戏控制台、智能家电等电子设备对玩家做出且由电子设备捕获的一些手势做出反应。

实现更具沉浸式的交互体验的另一种方式是使用头戴式显示器。头戴式显示器由用户佩戴,并且可被配置来呈现各种图形,诸如虚拟空间的视图。呈现在头戴式显示器上的图形可覆盖用户视野的很大一部分或甚至全部。因此,头戴式显示器可向用户提供视觉上的沉浸式体验。

所述产业的另一个发展趋势涉及基于云端游戏系统的开发。此类系统可包括执行游戏应用程序的远程处理服务器,并且与可被配置来从用户接收输入并在显示器上呈现视频的本地瘦客户端通信。在一些实现方式中,远程处理服务器可包括游戏控制台的物理硬件或复制游戏控制台的硬件的这种硬件。在其他实现方式中,远程处理服务器可限定对游戏控制台的硬件进行仿真的虚拟机。

本公开的实施方案正是在这样的背景下产生。



技术实现要素:

本公开的实现方式包括用于提供视频游戏的宽视野重新渲染以用于在头戴式显示器(hmd)上进行虚拟现实(vr)观看的方法和系统。

当查看用户游戏玩法的回放视频时,观看者通常查看已经从原始玩家的角度生成并记录的视频。然而,诸如hmd的设备为观看者提供了移动的自由,并且还提供了移动追踪,所述设备不在观看通常的回放视频时进行使用。然而,根据本公开的实现方式,提供了游戏引擎的自定义构建,所述游戏引擎在云服务器上(例如,在云中的游戏控制台硬件上)执行,并且接受从玩家的游戏引擎流式传输的游戏状态作为输入,并且使用游戏状态来渲染游戏的宽视野(例如150度或更大)。宽视野渲染随后可用于游戏会话的实时流式传输和/或预先记录的回放。根据本公开的一些实现方式,实际的游戏可被修改以将其状态流式传输到联网版本的游戏引擎。

本公开的实现方式提供了优于现有方法和系统的若干优点,包括以下益处。游戏引擎可将其自己的状态以最小的转换流式传输到在云上运行的游戏引擎的副本,并且因此玩家的游戏引擎和基于云的游戏引擎的内部状态可以是一致的。vr游戏的玩家可期望他几乎体验不到中断或降级,因为他的游戏引擎简单地通过网络发送更新,这需要最少量的玩家机器资源,并且除了发送更新之外,玩家的游戏副本可完全致力于优化玩家的体验。

作为游戏引擎的自定义构建的基于服务器的代码最适合于为重放如实地再现游戏,因为它是游戏中使用的实际引擎。如果需要的话,基于服务器的代码可比玩家的游戏副本花费更长时间来执行其渲染,因为它不影响玩家的体验质量。事实上,观看者渲染的质量可超过原始玩家的渲染的质量,因为基于服务器的代码不需要经受应用于原始玩家渲染过程的相同的实时渲染约束,并且还可被提供更多的处理资源和/或附加的处理周期。此外,因为客户端和服务器被配置来执行基本相同的游戏(但为不同的版本),所以可降低实现高质量流式传输的开发成本。

根据一些实现方式,提供了一种方法,所述方法包括以下操作:由游戏服务器从玩家客户端设备接收游戏状态数据,所述游戏状态数据是依据由所述玩家客户端设备执行的视频游戏的第一实例的游戏状态来限定;由所述游戏服务器将所述接收的游戏状态数据和所述视角方向数据应用到由所述游戏服务器执行的所述视频游戏的第二实例,以生成宽视野(fov)观看者视频;由视频服务器从观看者客户端设备接收视角方向数据,所述视角方向数据是从头戴式显示器(hmd)的追踪到的姿态确定的;由所述视频服务器应用所述视角方向数据以识别所述宽fov观看者视频的一部分,所述宽fov观看者视频的所述部分是所述宽fov观看者视频的小于所述宽fov观看者视频的整个区域的子区域;将所述宽fov观看者视频的所述部分流式传输到所述观看者客户端设备,以供在所述hmd上呈现。

在一些实现方式中,所述游戏状态数据包括以下各项中的一项或多项:由与所述玩家客户端设备通信的控制器设备限定的输入数据、一个或多个游戏状态变量的一个或多个值、随机或伪随机种子、对象状态或性质的更新。

在一些实现方式中,将所述游戏状态数据应用到所述视频游戏的所述第二实例产生所述视频游戏的所述第二实例的游戏状态,所述游戏状态基本上类似于所述视频游戏的所述第一实例的所述游戏状态。

在一些实现方式中,所述宽fov观看者视频具有比由所述玩家客户端设备从所述视频游戏的所述第一实例渲染的主视频的视野更大的视野。

在一些实现方式中,所述视角方向数据识别设置所述hmd的观看者环境中的所述hmd的取向。

在一些实现方式中,从所述hmd的至少一个惯性传感器和/或从所述观看者环境的捕获图像的分析来确定所述hmd的所述追踪到的姿态。

在一些实现方式中,其中所述宽fov观看者视频被存储到存储设备;其中应用所述视角方向数据包括从所述存储设备检索所述宽fov观看者视频。

在一些实现方式中,所述方法的操作基本上实时地执行,使得在所述hmd上对所述宽fov观看者视频的所述部分的所述渲染基本上实现了实况观看所述视频游戏的所述第一实例。

根据一些实现方式,提供了一种方法,所述方法包括:由游戏服务器从玩家客户端设备接收游戏状态数据,所述游戏状态数据是依据由所述玩家客户端设备执行的视频游戏的第一实例的游戏状态来限定;由所述游戏服务器从观看者客户端设备接收视角方向数据,所述视角方向数据是从头戴式显示器(hmd)的追踪到的姿态确定的;由所述游戏服务器将所述接收的游戏状态数据和所述视角方向数据应用到由所述游戏服务器执行的所述视频游戏的第二实例,以生成观看者视频;将所述观看者视频流式传输到所述观看者客户端设备,以供在所述hmd上呈现。

在一些实现方式中,所述游戏状态数据包括以下各项中的一项或多项:由与所述玩家客户端设备通信的控制器设备限定的输入数据、一个或多个游戏状态变量的一个或多个值、随机或伪随机种子、对象状态或性质的更新。

在一些实现方式中,将所述游戏状态数据应用到所述视频游戏的所述第二实例产生所述视频游戏的所述第二实例的游戏状态,所述游戏状态基本上类似于所述视频游戏的所述第一实例的所述游戏状态。

在一些实现方式中,所述观看者视频具有比由所述玩家客户端设备从所述视频游戏的所述第一实例渲染的主视频的视野更大的视野。

在一些实现方式中,所述视角方向数据识别设置所述hmd的观看者环境中的所述hmd的取向。

在一些实现方式中,从所述hmd的至少一个惯性传感器和/或从所述观看者环境的捕获图像的分析来确定所述hmd的所述追踪到的姿态。

在一些实现方式中,所述方法的操作基本上实时地执行,使得在所述hmd上对所述观看者视频的所述渲染基本上实现了实况观看所述视频游戏的所述第一实例。

根据一些实现方式,提供了一种系统,所述系统包括:至少一个服务器计算机,其具有至少一个处理器和至少一个存储器,所述至少一个服务器计算机包括游戏服务器和视频服务器;其中所述游戏服务器被配置来从玩家客户端设备接收游戏状态数据,所述游戏状态数据是依据由所述玩家客户端设备执行的视频游戏的第一实例的游戏状态来限定;其中所述游戏服务器被进一步配置来将所述接收的游戏状态数据和所述视角方向数据应用到由所述游戏服务器执行的所述视频游戏的第二实例,以生成宽视野(fov)观看者视频;其中所述视频服务器被配置来从观看者客户端设备接收视角方向数据,所述视角方向数据是从头戴式显示器(hmd)的追踪到的姿态确定的;其中所述视频服务器被进一步配置来应用所述视角方向数据以识别所述宽fov观看者视频的一部分,所述宽fov观看者视频的所述部分是所述宽fov观看者视频的小于所述宽fov观看者视频的整个区域的子区域;其中所述视频服务器被进一步配置来将所述宽fov观看者视频的所述部分流式传输到所述观看者客户端设备,以供在所述hmd上呈现。

在一些实现方式中,所述游戏状态数据包括以下各项中的一项或多项:由与所述玩家客户端设备通信的控制器设备限定的输入数据、一个或多个游戏状态变量的一个或多个值、随机或伪随机种子、对象状态或性质的更新。

在一些实现方式中,将所述游戏状态数据应用到所述视频游戏的所述第二实例产生所述视频游戏的所述第二实例的游戏状态,所述游戏状态基本上类似于所述视频游戏的所述第一实例的所述游戏状态。

在一些实现方式中,所述宽fov观看者视频具有比由所述玩家客户端设备从所述视频游戏的所述第一实例渲染的主视频的视野更大的视野。

在一些实现方式中,所述视角方向数据识别设置所述hmd的观看者环境中的所述hmd的取向;其中从所述hmd的至少一个惯性传感器和/或从所述观看者环境的捕获图像的分析来确定所述hmd的所述追踪到的姿态。

结合附图来阅读以下详细描述,本公开的其他方面和优点将变得显而易见,以下详细描述通过举例的方式来说明本公开的原理。

附图说明

通过参考以下结合附图进行的描述可以更好地理解本公开,在附图中:

图1示出根据本公开的实施方案的用于视频游戏的交互性游戏玩法的系统。

图2示出根据本公开的实施方案的头戴式显示器(hmd)。

图3概念性地示出根据本公开的实施方案的与正执行的视频游戏相结合的hmd的功能。

图4示出用于提供用于在头戴式显示器(hmd)上观看的宽视野(fov)重新渲染的系统。

图5示出可供观看者在hmd上查看的扩展视野。

图6示出根据本公开的实现方式的视频游戏的虚拟环境的俯视图,示出虚拟环境中的虚拟视点的移动。

图7示出用于提供用于在hmd上观看的宽视野的系统。

图8示出正在旋转其头部的用户的俯视图以及伴随的视野变化。

图9示出根据本公开的实施方案的头戴式显示器的部件。

图10是根据本公开的各种实施方案的游戏系统1400的框图。

具体实施方式

本公开的以下实现方式提供了用于提供视频游戏的宽视野重新渲染以用于在头戴式显示器(hmd)上进行虚拟现实(vr)观看的方法和系统。

在一个实施方案中,所述方法、系统、图像捕获对象、传感器和相关联的接口对象(例如,手套)被配置来处理数据,所述数据被配置来基本上实时地渲染在显示屏上。所述显示器可以是头戴式显示器(hmd)的显示器、第二屏幕的显示器、便携式设备的显示器、计算机显示器、显示面板、一个或多个远程连接的用户(例如,所述用户可能正在查看内容或正在交互式体验中进行共享)的显示器等。

然而,对于本领域技术人员将显而易见的是,可在没有这些特定细节的一些或全部的情况下实践本公开。在其他情况下,众所周知的过程操作尚未进行详细描述,以免不必要地混淆本公开。

图1示出根据本公开的实施方案的用于视频游戏的交互性游戏玩法的系统。示出用户100正佩戴着头戴式显示器(hmd)102。以类似于眼镜、护目镜或头盔的方式佩戴hmd102,并且所述hmd102被配置来向用户100显示视频游戏或其他内容。hmd102借助于其所提供的紧密靠近用户眼睛的显示机构来向用户提供良好的沉浸式体验。因此,hmd102可向用户眼睛中的每一只提供显示区,所述显示区占据用户视野的大部分或甚至全部。

在一个实施方案中,hmd102可连接到计算机106。到计算机106的连接可以是有线或无线的。计算机106可以是本领域已知的任何通用或专用计算机,包括但不限于:游戏控制台、个人计算机、膝上型计算机、平板计算机、移动设备、移动电话、平板电脑、瘦客户端、机顶盒、流媒体设备等。在一个实施方案中,计算机106可被配置来执行视频游戏,并且从视频游戏输出视频和音频以供由hmd102呈现。

用户100可操作手套接口对象104来提供视频游戏的输入。此外,摄像机108可被配置来捕获用户100位于其中的交互式环境的图像。可分析这些所捕获的图像来确定用户100、hmd102和手套接口对象104的位置和移动。在一个实施方案中,手套接口对象104包括灯,所述灯可被追踪以确定其位置和取向。此外,hmd102可包括一个或多个灯,所述灯可以被追踪以确定hmd102的位置和取向。摄像机108可包括用于捕获来自交互式环境的声音的一个或多个麦克风。可处理麦克风阵列所捕捉的声音来识别声源的位置。可选择性地利用或处理来自所识别位置的声音,以便排除不是来自所识别位置的其他声音。此外,摄像机108可被定义成包括多个图像捕获设备(例如,立体摄像机对)、ir摄像机、深度摄像机及其组合。

在另一个实施方案中,计算机106充当通过网络与云游戏提供商112通信的瘦客户端。云游戏提供商112维护并且执行用户102正在玩的视频游戏。计算机106将来自hmd102、手套接口对象104和摄像机108的输入传输给云游戏提供商,云游戏提供商处理所述输入以影响正执行的视频游戏的游戏状态。来自正执行的视频游戏的输出(诸如视频数据、音频数据和触觉反馈数据)被传输到计算机106。计算机106在传输之前可进一步处理所述数据,或可将数据直接传输到相关设备。例如,将视频流和音频流提供到hmd102,而将振动反馈命令提供到手套接口对象104。

在一个实施方案中,hmd102、手套接口对象104和摄像机108本身可以是连接到网络110的联网设备,以便与云游戏提供商112通信。例如,计算机106可以是不另外执行视频游戏处理但促进通路网络流量的本地网络设备(诸如路由器)。hmd102、手套接口对象104和摄像机108到网络的连接可以是有线的或无线的。

此外,尽管可参考头戴式显示器来描述本公开中的实施方案,但是应当理解,在其他实施方案中,非头戴式显示器可进行替代,所述非头戴式显示器包括但不限于:电视机、投影仪、lcd显示屏、便携式设备屏幕(例如,平板电脑、智能电话、膝上型计算机等)或者可被配置来渲染视频和/或提供根据本实施方案的交互式场景或虚拟环境的显示的任何其他类型的显示器。

图2示出根据本公开的实施方案的头戴式显示器(hmd)。如图所示,hmd102包括多个灯200a-h。这些灯中的每一个都可被配置来具有特定的形状,并且可被配置来具有相同或不同的颜色。灯200a、200b、200c和200d被布置在hmd102的前表面上。灯200e和200f被布置在hmd102的侧表面上。而且,灯200g和200h被布置在hmd102的隅角处,从而跨越hmd102的前表面和侧表面。应当理解,可在用户使用hmd102的交互环境的所捕捉图像中识别所述灯。基于对灯的识别和追踪,可确定hmd102在交互环境中的位置和取向。将进一步了解,所述灯中的一些灯可能是可见的或不可见的,这取决于hmd102相对于图像捕获设备的具体取向。另外,可暴露灯(例如,灯200g和200h)的不同部分以用于图像捕获,这取决于hmd102相对于图像捕获设备的取向。

在一个实施方案中,灯可被配置来向附近其他人指示hmd的当前状态。例如,所述灯中的一些或全部可被配置成具有某一颜色布置、密度布置,所述灯被配置成闪烁、具有某一开/关配置、或指示hmd102的当前状态的其他布置。作为实例,所述灯可被配置来显示视频游戏的活跃游戏玩法(通常是发生在活跃时间轴期间或游戏场景内的游戏玩法)对于视频游戏的其他不活跃游戏玩法方面期间的不同配置,诸如导航菜单界面或配置游戏设置(在所述设置期间,游戏时间轴或场景可不活跃或暂停)。所述灯还可被配置来指示游戏玩法的相对强度等级。例如,灯的强度或闪烁速率在游戏玩法的强度增加时可增加。以这种方式,用户之外的人员可看到hmd102上的灯,并且理解用户正在积极参与激烈的游戏,并在那时可能不希望被打扰。

hmd102可另外包括一个或多个麦克风。在所示出的实施方案中,hmd102包括限定在hmd102的前表面上的麦克风204a和204b,以及限定在hmd102的侧表面上的麦克风204c。通过利用麦克风阵列,可处理来自麦克风中的每一个的声音以确定声源的位置。可以各种方式利用此信息,所述方式包括排除不想要的声源、使声源与视觉识别相关联等。

hmd102还可包括一个或多个图像捕获设备。在所示出的实施方案中,hmd102被示出为包括图像捕获设备202a和202b。通过利用立体图像捕获设备对,可从hmd102的视角捕获环境的三维(3d)图像和视频。可将此类视频呈现给用户,以在用户佩戴hmd102时向用户提供“视频透视”能力。也就是说,虽然严格意义上来说,用户不能透视hmd102,但是图像捕获设备202a和202b所捕获的视频可提供功能等效物,其能够如同看穿hmd102一样看见hmd102外部的环境。此类视频可利用虚拟元素来增强,以便提供增强的现实体验,或可与虚拟元素以其他方式组合或共混。虽然在所示出的实施方案中,在hmd102的前表面上示出两个摄像机,但是将了解,可存在任何数目的面向外部的摄像机安装在hmd102上、定向在任何方向上。例如,在另一个实施方案中,hmd102的侧面上可安装有摄像机,以便提供对环境的额外全景图像捕获。

图3概念性地示出根据本公开的实施方案的与正执行的视频游戏相结合的hmd102的功能。正执行的视频游戏由游戏引擎320限定,所述游戏引擎320接收输入以便更新视频游戏的游戏状态。视频游戏的游戏状态可至少部分地由视频游戏的各种参数的值限定,所述值限定当前游戏玩法的各种方面,诸如对象的存在和位置、虚拟环境的条件、事件的触发、用户档案、观察角度等。

在所示出的实施方案中,游戏引擎接收例如控制器输入314、音频输入316和运动输入318。控制器输入314可由与hmd102分开的游戏控制器(诸如手持式游戏控制器(例如,索尼4无线控制器、索尼move运动控制器)或手套接口对象104)的操作来限定。作为实例,控制器输入314可包括方向输入、按钮按压、触发器激活、移动、手势或由游戏控制器的操作处理的其他类型的输入。音频输入316可由hmd102的麦克风302进行处理,或者通过包括在图像捕获设备108或本地环境中的别处中的麦克风来进行处理。运动输入318可由包括在hmd102中的运动传感器300处理,或者在图像捕获设备108捕获hmd102的图像时由所述图像捕获设备108处理。游戏引擎320接收根据游戏引擎的配置来处理的输入,以便更新视频游戏的游戏状态。游戏引擎320将游戏状态数据输出到各种渲染模块,所述渲染模块处理游戏状态数据以便限定将展示给用户的内容。

在所示出的实施方案中,视频渲染模块322被限定来渲染用于在hmd102上展示的视频流。视频流可通过显示器/投影仪机构310展示,并且通过用户的眼睛306透过光学器件308进行观察。音频渲染模块304被配置来渲染用于由用户收听的音频流。在一个实施方案中,音频流通过与hmd102相关联的扬声器304输出。应当理解,扬声器304可采用户外扬声器、耳机或者能够呈现音频的任何其他类型的扬声器的形式。

在一个实施方案中,注视追踪摄像机312包括在hmd102中以允许追踪用户的注视。注视追踪摄像机捕捉用户眼睛的图像,分析所述图像以确定用户的注视方向。在一个实施方案中,可利用关于用户的注视方向的信息来影响视频渲染。例如,如果确定用户的眼睛正在观看特定的方向,那么可优先或着重渲染针对那个方向的视频,诸如通过在用户正观看的区域中提供更多细节或更快的更新。应当理解,可相对于头戴式显示器、相对于用户所处的真实环境和/或相对于头戴式显示器上渲染的虚拟环境来限定用户的注视方向。

广义地说,对由注视追踪摄像机312捕获的图像的分析(当单独考虑时)提供了用户相对于hmd102的注视方向。然而,当结合hmd102的追踪的位置和取向来考虑时,可确定用户的真实世界注视方向,因为hmd102的位置和取向与用户头部的位置和取向是同义的。也就是说,用户的真实世界注视方向可通过追踪用户眼睛的位置移动和追踪hmd102的位置和取向来确定。当虚拟环境的视图渲染在hmd102上时,用户的真实世界注视方向可应用来确定用户在虚拟环境中的虚拟世界注视方向。

此外,触觉反馈模块326被配置来向包括在hmd102或由用户操作的另一个设备(诸如控制器104)中的触觉反馈硬件提供信号。触觉反馈可采取各种类型的触感的形式,诸如振动反馈、温度反馈、压力反馈等。

目前,用于共享游戏重放的流式传输服务非常受欢迎。4无线控制器直接在控制器上包括“共享按钮”来启用这种共享。本公开的实现方式为希望使用hmd/vr头戴式耳机来探索重放的人改进了共享重放。本公开的实现方式提供了具有非常宽的视野的游戏重放的渲染,以允许观看者使用hmd自由地移动他的头部并且从新颖的有利位置来查看重放。传统的流式传输方法将重放仅限于原始玩家所查看到的内容,使得观察方向将与观看者的头部位置和取向无关,并且即使使用hmd的观看者移动他的头部,也不会发生任何改变。

本公开的实现方式提供用于以足够宽的视野渲染视频以支持hmd中的新颖视点。在云服务器上(例如,在云中的控制台游戏硬件(例如4硬件)上)运行的游戏引擎的自定义构建接受从原始玩家的游戏引擎流式传输的游戏状态作为输入,并将其用于渲染极宽的游戏视野(例如150度以上),其随后可用于游戏会话的实时流式传输和/或预先记录的回放。应当理解,极宽的视野超过了hmd的视野,从而允许佩戴hmd的观看者在重放中环顾四周。实际的游戏被配置来将其状态流式传输到联网版本的引擎。

图4示出用于提供用于在头戴式显示器(hmd)上观看的玩家的游戏玩法视频的宽视野(fov)重新渲染的系统。

玩家的视频游戏构建400由玩家计算设备402执行以供玩家405进行交互式游戏玩法。玩家计算设备402可以是控制台游戏设备(例如4)、个人计算机、膝上型计算机、机顶盒、便携式游戏设备(例如vita)、平板电脑、智能电话或者至少具有可被配置来执行视频游戏的处理器和存储器的任何其他计算设备。玩家计算设备402可连接到显示设备404,在所述显示设备404上渲染玩家的视频游戏构建的游戏玩法视频。在各种实现方式中,显示设备404可以是电视机、监视器、lcd显示器、hmd或者在其上可呈现视频内容的任何其他类型的显示设备。在一些实现方式中,显示设备404与计算设备402集成(例如,如在膝上型计算机、便携式游戏设备、平板电脑等中)。

玩家的视频游戏构建400由玩游戏的人使用。玩家的视频游戏构建400可被配置用于渲染到电视机、hmd或者与游戏构建400兼容的任何其他类型的显示器。游戏构建400被配置来确定视频游戏的场景图中的变化并且通过网络406对其进行流式传输。场景图(或游戏状态)描述了限定交互式游戏玩法的视频游戏的状态,包括游戏的虚拟世界/环境以及任何虚拟对象/角色的状态。应注意,由游戏构建400对场景图进行的流式传输不需要流式传输视频游戏的实际视频馈送,而是需要描述视频游戏的虚拟世界的状态的场景图。

可流式传输的场景图(或游戏状态)数据408的实例包括以下各项:虚拟世界中的对象的形成和破坏(例如,如果在虚拟世界中产生了角色,那么所述信息可被流式传输)、世界中的对象的位置和取向、世界的渲染设置的变化(例如,尽管光和粒子发射器可能是场景图中的对象,但也可能存在未直接嵌入的其他效果;例如,玩家的屏幕由于玩家正受到严重的伤害而可能变得血腥)。

继续参考图4,提供了云渲染服务410,其用于执行用户的游戏玩法的宽视野重新渲染。云渲染服务410包括渲染构建412,所述渲染构建412是不需要与屏幕或输入设备连接或进行通信的视频游戏的构建。渲染构建412接收已从玩家的游戏构建400流式传输的游戏状态数据408,并且处理游戏状态数据408以生成适用于在具有头部追踪的hmd上进行呈现的宽视野视频。由渲染构建412渲染的宽视野视频超出hmd提供的视野,这允许在回放期间通过hmd的动态视角。

视频游戏的渲染构建412不需要经受与玩家的游戏构建400相同的约束。例如,渲染构建412不一定需要实时地运行,或者也不需要在与玩家的游戏构建400相同或相似的硬件设置(例如游戏控制台)上运行。渲染构建412可在渲染机器上运行,所述渲染机器具有比玩家的游戏构建400在游戏玩法期间更多的可用资源(即,比玩家计算设备402的资源更多)。

渲染构建412生成宽视野视频414,并且将经渲染的视频414传输到视频服务器416。视频服务器416接收已从渲染构建412上传的视频,并且通过网络406供应视频,以供一名或多名观看者/用户428进行查看。宽fov视频可被存储到视频存储器418以供视频服务器416在观看者428指示他/她希望查看视频时进行检索。在一些实现方式中,宽fov视频可由视频服务器416基本上实时地供应,也就是说,当玩家405正在玩视频游戏的玩家的游戏构建400时,玩家的游戏构建400同时将游戏状态数据408进行实时流式传输,游戏状态数据408继而由渲染游戏构建412实时地处理以生成宽fov视频414,并且宽fov视频414被实时地流式传输到查看器应用程序422,以用于呈现给观看者。这在玩家游戏玩法进行时为观看者提供了基本上实时的(经受处理延迟)玩家游戏玩法的现场观看体验。

在其他实现方式中,可以非实时方式执行任何操作。例如,游戏状态数据408可存储在玩家计算设备402处,以便在玩家的游戏会话完成后传输到渲染游戏构建412,由渲染游戏构建412对宽fov视频进行的渲染可以非实时的方式进行,并且/或者所渲染的宽fov视频414可存储到视频存储器418以供稍后检索。

视频服务器416可被配置来根据各种视频流式传输技术中的任一种来流式传输宽fov视频414。出于安全和带宽保存的目的,流式传输的视频可被加密以及编码/压缩。在所示出的实现方式中,宽fov视频414的流式传输由以下各项限定:由视频服务器416生成视频数据流420,并将视频数据流420传输到查看器应用程序422,以便将宽fov视频渲染到显示设备426以供观看者428查看。查看器应用程序422对视频数据流420进行解密和/或解码/解压缩,以实现将宽fov视频414的视频内容渲染到显示设备426,以供观看者428查看。

查看器应用程序422可在查看器计算设备424上执行。查看器计算设备422(例如,计算机、游戏控制台、机顶盒、客户端计算机等)与显示设备426(例如lcd显示器、hmd等)进行通信并将视频数据流的视频内容渲染到显示设备426。在一些实现方式中,查看器计算设备422和显示设备426集成在单个设备中,而在其他实现方式中,它们是链接的单独设备。

渲染宽fov视频414,其中视野超过通过视频游戏的显示设备426可用的标称视野。例如,在显示设备426是hmd的实现方式中,随后以超过hmd的视野的视野对宽fov视频414进行呈现。因此,通过显示设备426显示的视频内容被相对于宽fov视频中可用的全视野进行裁剪。所述裁剪可以根据如由hmd和/或观看者的追踪移动确定的观看者的查看方向。因为宽fov视频以比hmd的视野更宽的视野进行呈现,所以查看宽fov视频的人可移动他/她的头部以查看游戏的不同部分。这允许观看者例如看向侧面,并且看到原始游戏玩家可能未注意到的正在接近的敌人。

本公开的实现方式因此提供了允许观看者重放另一玩家的游戏玩法体验的视频的系统和方法,但其具有使观看者能够环顾四周的附加功能并且提供有游戏的虚拟环境的新视角。当前的流式传输服务捕获当前在玩家屏幕上的内容的屏幕截图并将其发送给观看者,使得观看者精确地看到玩家所看到的内容。然而,在此类系统中,未向观看者提供任何与原始玩家的视角不同的视角。本公开的实现方式不仅允许观看者精确地看到第一玩家所看到的内容,而且还允许观看者移动他们的头部并看到另外的视角。在一些实现方式中,观看者视角还可以来自不同的有利位置,诸如第三人称视角,例如,来自第一人称角色背后的视点。

在一些实现方式中,观看者视点可被固定到第一玩家的角色或视点的位置,但是观看者还可相对于第一玩家的角色/视点具有观看者可在此之内移动的有限的空间/自由。例如,观看者位置可被配置来保持在第一玩家的角色/视点的某个预定距离内。

图5示出根据本公开的实现方式的被渲染并且可用于供观看者查看的扩展视野。在所示出的实现方式中,头戴式显示器(hmd)502为观看者500提供了大约100度的(水平)视野。也就是说,hmd502的显示硬件被配置成使得当佩戴hmd时,屏幕占据大约100度的观看者视野。应当理解,仅以举例的方式提供了大约100度的标称hmd视野,并且在各种实现方式中,hmd可具有大于或小于大约100度的视野。无论如何,hmd具有由hmd的具体显示器硬件配置(例如,显示器大小、光学器件以及相对于用户眼睛的定位)限定的标称视野,并且因此用于在hmd上显示的呈现视频游戏的虚拟环境的视角的视频内容可被配置来提供与标称hmd视野相匹配的虚拟环境的视野。

根据本公开的实现方式,以比hmd502的视野更宽的视野对宽fov视频进行渲染。以举例的方式,可以大约150度的视野对宽fov视频进行渲染,其在参考标号504处概念性地示出。在其他实现方式中,可以小于或大于150度的视野对宽fov视频进行呈现,前提条件是宽fov视频的视野大于hmd502的视野。应当理解,视频的视野是由生成视频的视频游戏的虚拟环境中的视野来限定。

由于视频的视野大于hmd的视野,因此可利用视频播放器/查看器(例如,查看器应用程序422)来由更宽的150度渲染504对100度视角部分508进行渲染,以用于显示在hmd502上供观看者500查看。应当理解,在初始状态下,观看者500的视野508可以与原始玩家的原始视野506相同,使得观看者500看到原始玩家在游戏玩法过程中看到的内容(假设原始玩家正在具有基本上相同的视野能力的设备(诸如相同类型的hmd设备)上查看他/她的游戏玩法)。也就是说,观看者相对于宽fov视频的查看方向512可以与原始玩家相对于宽fov视频的查看方向510重合。

然而,响应于检测到的hmd502从其初始位置的移动,观看者的视野508可从原始玩家的视野506移动。如上所述,可利用各种技术来检测hmd的位置和移动,所述技术包括惯性传感器和对hmd502上(可能照亮)的特征/对象的视觉追踪。因此,可响应于检测到的hmd的姿态变化(例如,旋转、取向和/或位置的变化)来移动观看者的宽fov视频的视野。换句话说,响应于如由检测到的hmd502的移动确定的检测到的观看者500的移动,观看者500相对于宽fov视频的查看方向可偏离原始玩家相对于宽fov视频的查看方向。观看者相对于宽fov视频的查看方向512与原始玩家的查看方向的偏离可与hmd502的姿态与初始姿势的偏离相关。因此,当观看者进一步转动他的头部时,观看者的查看方向512与原始玩家的原始查看方向510逐渐偏离,并且观看者的视野508因此(沿着查看方向的偏离方向)从原始玩家的视野506逐渐移动。

应当理解,尽管在所描述的实现方式中,考虑了其中原始玩家使用与观看者基本上相同类型的hmd设备来查看视频游戏的情境,但是在其他实现方式中,原始玩家不需要使用与观看者相同类型的设备来查看原始游戏玩法。例如,原始游戏玩法可能已呈现在电视机上,在所述情况下,原始玩家相对于宽fov视频的视野506可能小于观看者的视野508。

在一些实现方式中,宽fov视频的视野504被渲染成以同心的方式涵盖原始玩家的视野,其中原始玩家的视野(以参考标号506示出)被中心定位在宽fov视频的较宽视野504内。也就是说,将在原始玩家的视野的相对侧上提供等同的视野部分。再次以举例的方式考虑水平视野,那么同心渲染将提供有待渲染到原始玩家的视野506的左侧和右侧的等同的附加视野部分。所述概念也可应用于高于或低于原始玩家的视野的视角部分。应当理解,视频游戏的渲染构建可被配置来以这种方式生成宽fov视频。

在其他实施方案中,宽fov视频的视野504可以非同心的方式进行渲染,使得原始玩家的视野506不一定位于视频的更宽视野504的中心处。也就是说,将在原始玩家的视野的相对侧上提供非等同的视野部分。或者换句话说,宽fov视频的中心视角方向可偏离原始玩家的视野的中心视角方向。例如,原始玩家的视野右侧的视野部分可能大于原始玩家的视野左侧的视野部分。这可允许观看者看到原始玩家的视野右侧的更多内容,这是以牺牲能够查看原始玩家的视野左侧的同样多的内容为代价的。在这种情境下,宽fov视频的中心视角方向偏离(向右)原始玩家的视野的中心视角方向。

可以由视频游戏的渲染构建基于视频游戏的游戏状态来确定是否、在何种程度上以及在何种方向上偏离同心渲染方案。在一些实现方式中,宽fov视频的中心视角方向与原始玩家的中心视角方向的偏离基本上在原始玩家的视野在游戏玩法过程中正在/曾经移动的方向上。换句话说,如果原始玩家的视野曾经在视频游戏的虚拟空间中向右移动,那么与原始玩家的视角方向相比,宽fov视频的中心视角方向将向右移动,从而在经渲染的宽fov视频中在原始玩家的视野右侧提供比在原始玩家的视野左侧更大的视野部分。这种配置可能是期望的,因为原始玩家的视野在游戏玩法过程中曾经移动的方向可以指示在所述方向上(在这种情况下,向右)的感兴趣的对象,并且因此观看者可能转身以查看在所述方向上的东西。在一些实现方式中,中心视角方向的偏离量是基于原始玩家的视野的变化率(例如,与其正相关)。

在各种实现方式中,可考虑各种其他游戏状态因素中的任何一个来确定与宽fov视频的同心渲染方案的偏离。这些因素可包括但不限于:与视频游戏的虚拟空间内的各个地理区域相关联的活动、虚拟空间中的对象的移动、虚拟空间中感兴趣的区域或对象等。

尽管本文总体上参考了水平扩展的宽视野,但是应当理解,宽视野可包括也垂直扩展的视角。在本文所述的所有实现方式中,设想扩展视野的游戏玩法视频,其可在水平和垂直两个方向上扩展,以允许观看者选择性地查看虚拟空间的原始玩家可能尚未查看的部分。

图6示出根据本公开的实现方式的视频游戏的虚拟环境的俯视图,示出虚拟环境中的虚拟视点的移动。在初始时间t0处,在虚拟环境600中的位置p0处限定虚拟视点602。虚拟视点602在虚拟环境600内限定了位置,由此呈现玩家的虚拟环境600的视角。也就是说,从虚拟视点602的角度来呈现玩家的虚拟环境600的视角。在一些实现方式中,虚拟视点602可以与在视频游戏的游戏玩法过程中由玩家控制的角色、车辆或其他对象的位置重合。

在其他实现方式中,虚拟视点602可靠近这种对象。在一些实现方式中,虚拟视点602可处于相对于原始玩家视点的预定义位置处(例如,提供越过背部的有利位置)。在一些实现方式中,虚拟视点602可靠近和/或围绕玩家的视点在视频游戏的游戏玩法过程中的位置而定位在区域603内。应当理解,区域603可以是围绕玩家视点的三维区域。虚拟视点602可被允许根据控制输入(诸如hmd的移动或来自其他控制器设备的输入)在区域603内移动。

如图所示,在时间t0处,虚拟视点602位于位置p0处,并且向视频游戏的玩家提供由角度604指示的虚拟环境600的视角。然而,用于观看的玩家的游戏玩法的宽fov渲染使得可观看到比玩家的视野更大的视野(由角度606指示)。因此,虚拟环境600的附加区域608可用于在观看者观看期间进行查看。这意味着观看者可以能够查看来自虚拟环境600的原始玩家在游戏玩法过程中尚未看到的内容。例如,在虚拟视点602的位置位于p0处的时间t0处,原始玩家可能仅在虚拟环境600中看到对象610的一部分612。然而,由于观看者可用的宽fov渲染,因此如果观看者将他/她的视角方向转向右以使得与原始玩家的视角方向偏离,那么观看者可看到对象610的附加部分614。原始玩家无法看到对象610的这个附加部分614。

在随后的时间t1处,视点602被移动到位置p1(例如作为玩家在前进方向上移动他/她的角色的结果),并且因此由角度616示出玩家的视野并由角度618示出观看者可用的视野。在另一随后的时间t2处,视点602被移动到位置p2(例如作为玩家将他/她的角色转向右的结果),并且因此由角度620示出玩家的视野并由角度622示出观看者可用的视野。对象624位于作为观看者的可用视野的一部分的区域626中,但未在玩家的视野中看到。

在本文所述的一些实现方式中,由玩家和观看者使用的硬件设备的视野是相同的,诸如当两者都使用hmd进行游戏玩法/观看时亦是如此。然而,应当理解,在一些实现方式中,玩家的视野可以小于观看者的视野,诸如当玩家在电视机上查看视频游戏时,以及当观看者使用hmd查看玩家的游戏玩法时亦是如此。在这种情况下,那么观看者的视野将已使得观看者能够看到比玩家所看到的内容更多的内容,并且根据上面设想的扩展fov视频,观看者还将能够改变他/她的视角方向以看到内容的附加部分。

在已论述的一些实现方式中,扩展(例如150度)渲染的查看部分响应于观看者的头部的移动而移动,以显示扩展渲染的不同部分。然而,当观看者转动他/她的头部时,观看者的眼睛会围绕某一轴线旋转。因此,为了响应于观看者头部移动来产生更加如实的渲染,在一些实现方式中,可实况(例如,在云中)运行游戏的使用头部追踪信息来渲染观看者视角的专门构建。

图7示出根据本公开的实现方式的用于为观看者渲染视频的系统,所述系统包括供观看者查看视频游戏场景的由原始玩家最初查看的视频游戏场景以外的部分的能力。玩家700玩在玩家计算机704上执行的视频游戏。正在执行的视频游戏限定了游戏引擎708,所述游戏引擎708处理从诸如由玩家700操作的控制器702的一个或多个输入设备接收的输入数据710。游戏引擎708生成渲染到玩家显示器706的视频内容,所述玩家显示器706可以是hmd、电视机或其他类型的显示器。

应当理解,视频游戏具有与其相关联的游戏状态。但是在所述状态下,从一帧到另一帧,通常只有它的子集发生变化,并且它的大部分将会基于例如控制器输入而改变。因此,如果视频游戏的算法是确定性的,那么如果用于视频游戏的随机种子(例如,视频游戏使用由伪随机数值生成器生成的随机数)被共享,那么观看者版本的视频游戏可运行与玩家相同的游戏。继续参考图7示出这种实现方式。在观看者游戏服务器720上执行观看者版本的视频游戏。正在执行的观看者版本的视频游戏限定了游戏引擎722,所述游戏引擎722可处理通过网络714从玩家计算机704接收的输入数据716和/或游戏状态数据718。从与玩家版本的视频游戏相同的随机种子开始,只要观看者版本的视频游戏被提供相同的输入,那么观看者版本的视频游戏将产生与玩家的游戏相同的输出。

因此,游戏引擎722在被提供相同的输入时可产生与游戏引擎708相同的输出。在所示出的实现方式中,游戏引擎722接收输入数据716,所述输入数据716可包括由游戏引擎708接收的输入数据710(例如,输入数据710是从由控制器设备702接收的用户输入生成的),并且还可包括来自游戏引擎708的随机数/种子数据。在一些实现方式中,游戏引擎722可从游戏引擎708接收游戏状态数据718,其可由游戏引擎722应用以直接更新其游戏状态。

因此,如果游戏是确定性的,那么观看者750将需要能够精确地观看玩家700正在观看的内容的唯一状态是进入游戏的输入和随机种子。这种实现方式是有利的,因为它需要比例如在60hz/120hz下流式传输1080p视频少得多的数据带宽。如果提供了与玩家的视频游戏相同的视频游戏的观看者版本,并且游戏至少基本上是确定性的,那么观看者可用少得多的数据进行观看,因为只有更新游戏状态所需的数据才会被流式传输。因此,出于游戏流式传输的目的,玩家版本的视频游戏可发送游戏状态的更新,而不是正在播放的视频。随后,运行观看者(基本上)重复的视频游戏的副本的服务器可重新产生玩家在屏幕上所看到的内容,并且甚至提供在原始游戏玩法过程中未生成的新颖视点。

以下是影响游戏状态的输入类型的实例:(1)玩家输入—例如控制器输入(按钮按压、操纵杆移动、运动控制器移动等);(2)随机数输入—可发送所有选定的随机数;或者如果服务器具有与玩家系统相同的随机数生成算法,那么只需要提供种子数据,并且随后服务器将在假设它是伪随机数算法的情况下生成相同的随机数序列;(3)第三方输入—例如,当玩网络游戏时(例如,每一帧,玩家可接收关于敌人或其他玩家所在位置的更新)。所有这些都是可提供给观看者游戏服务器720以使得观看者游戏引擎722能够重新产生玩家700在其玩家计算机704上具有或者曾经具有的游戏状态的输入。

可替代地,玩家的计算机704可被配置来简要地打包内部游戏状态(其也将使用远远小于1080p的带宽),并将打包的内部游戏状态发送给观看者游戏服务器720。游戏状态具有如由游戏引擎708处理的输入的解释结果。例如,当玩家在控制器上向前推动时,结果可能是角色移动x个距离单位,并且游戏状态将因此指示角色移动了x个距离单位。

因此,玩家版本的游戏可发送其游戏状态,或者可发送影响游戏状态的输入数据并使另一端上的观看者游戏服务器720重新产生游戏状态(例如,发送按钮推动以使得观看者游戏服务器720为观看者推动相同的按钮)。如果仅发送了影响游戏状态的输入数据,那么游戏应至少在一定程度上是确定性的,使得对于相同的输入,观看者版本的视频游戏将产生基本上相同的输出。

在一些实现方式中,输入还可包括诸如用于多线程处理的调度引擎的项目。例如,在多线程游戏中,如果系统在执行操作b之前执行操作a,那么可以产生与在执行操作a之前执行操作b不同的结果。作为实例,如果操作a需要更新玩家的位置并且操作b需要运行敌人的人工智能(ai),那么可能的情况是当一人首先移动玩家角色的位置时,随后敌人可能看到他,因为他移动进入了敌人的视角;因此现在敌人可能会转向并开始射击。然而,另一方面,如果在玩家的角色之前首先更新敌人,那么敌人仍无法看到玩家,因为玩家仍然在敌人的视角外。

因此,由于某些操作的执行顺序可能影响游戏状态结果,因此提供给观看者游戏服务器720的输入可包括用于多线程处理的调度的数据。为了基于输入重新产生游戏状态,游戏应在一定程度上是确定性的,并且输入可包括执行某些操作的顺序,以帮助使系统更具确定性。这些系统的优点在于减少了出于观看目的而向上发送到服务器所需的数据量。

观看者游戏服务器720上的游戏引擎722基于从玩家的计算机系统704接收的输入数据716或游戏状态数据718来渲染扩展的(例如150度)视野(fov)游戏玩法视频724。根据上述实现方式,观看者可看到超过玩家最初看到的内容的内容。例如,观看者计算机740可包括流式传输管理器742,其用于管理扩展fov视频724的一部分的流式传输回放。观看者计算机740包括hmd追踪模块744,所述hmd追踪模块744被配置来例如(至少部分地)基于从在观看期间捕获hmd748的图像的摄像机746捕获的图像数据来追踪由观看者750佩戴的hmd748的姿态。观看者计算机740可将指示观看者750的视角方向的视角方向数据734发送到视频服务器726。观看者查看器应用程序728处理视角方向数据734以限定观看者的视野,并且生成适当的视频数据736并将其发送到观看者计算机740的流式传输管理器742,以用于呈现给hmd748。

应当理解,在一些实现方式中,输入数据716和/或游戏状态数据718可被上传到观看者游戏服务器720以便进行实况流式传输。而在其他实现方式中,输入数据和/或游戏状态数据可被上传并存储以供稍后使用。

因此,在一些实现方式中,玩家系统704将游戏状态更新发送到观看者游戏服务器720。观看者游戏服务器720用超广角扩展的视野来渲染立体视频(以用于hmd观看;例如,原始游戏玩法可能已经存在于常规的非hmd(非立体)显示器上)。如基于视角方向数据734所确定的,扩展视野的子集视角被流式传输到观看者计算机740。在其他实现方式中,静态(立体)扩展fov视频732可被存储到视频存储器730以供观看者稍后查看。

然而,在其他实现方式中,观看者750的视角方向数据738(例如,hmd姿态数据)可发送到观看者游戏服务器722,所述观看者游戏服务器722处理视角方向数据738,以通过使用视角方向数据738执行游戏引擎722来为观看者的视野直接生成适当的视频内容。参考图7,这种视频可由视频服务器726流式传输到观看者计算机740,以用于呈现给hmd748。在此类实现方式中,不需要渲染超过观看者视野的区域,因为已通过观看者游戏服务器720执行视频游戏考虑到观看者的视角方向。

此外,针对观看者的视野生成的视频内容可以比由原始玩家所查看的内容更高的保真度来进行渲染。例如,观看者的视频可以更高的帧速率、增加的细节级别、更大的内插运动等来进行渲染,这提供了更高保真度的视频游戏查看体验。这可在渲染与原始玩家视角不同的观看者视角时尤其如此。对于在玩家的会话中,例如,为了支持某些部分,可能不会优先考虑玩家视野的其他部分的图形保真度。但是对于观看者的视角,并且尤其是当观看者正在看这类部分时,可针对观看者视频增加和/或优先考虑他们的图形保真度。

在一些实现方式中,保存游戏状态,而不是保存宽fov渲染。也就是说,观看者游戏服务器720将游戏状态本身存档。观看者计算机740可连接到观看者游戏服务器720并向观看者游戏服务器720发送视角方向数据738(例如头部追踪信息,诸如观看者的眼睛/hmd的位置/姿态数据)。观看者游戏服务器可处理观看者的头部追踪信息和玩家的游戏状态,并且从观看者的角度重新渲染玩家动作的结果。因此所以渲染可实况或按需地执行。游戏引擎722的游戏状态基于游戏状态的档案进行实时更新,但是基于观看者的视点来完成渲染,这允许全新的视点。

在一些实现方式中,提供了暂停特征,其中观看者可停止游戏状态的更新,但是观看者仍然能够调整他们的虚拟空间的视角,或者甚至能够移动到虚拟空间内的新的位置,并且从不同角度检查虚拟空间。

在一些实现方式中,观看者可在游戏的虚拟空间内移动到与玩家的位置不同的位置。这可提供先前未生成的有趣视角。但是在一些情况下,如果观看者偏离主要玩家角色太远(例如,ai角色可能是尚未触发的不活动的b/c),这可能不太理想,因为一些游戏在从距离主要玩家角色太远处进行查看时可能不太有趣。然而,如果整个游戏世界一直是实况的,那么这可为观看者提供有趣的体验。

提供视频游戏的重新渲染的实现方式可提供更加如实的3d体验,因为当观看者移动或转动他/她的头部时,可能提供头部移动和旋转的所有视差效应等。当观看者的头部被移动和旋转时,可能提供考虑了观看者的平移和旋转的头部位置/取向的正确图像。还可能针对观看者的眼睛瞳孔距离(眼睛之间的距离)渲染正确的图像,并且针对观看者所具有的特定hmd模型进行渲染。

可在云中或观看者本地(例如观看者计算机)发生重新渲染。在观看者本地执行重新渲染的一个益处在于,这只需要对输入数据或游戏状态进行流式传输,这比流式传输视频需要更少的数据带宽。本地执行重新渲染的第二个优点在于,可显著减少检测到的观察者hmd姿态变化与响应于这种变化来提供重新渲染的视觉效果之间的延迟。

在一些实现方式中,可在云中执行宽/扩展的fov渲染,使得视频可被存储,并且随后宽/扩展的fov的子集视角可流式传输到观看者。

应当理解,在一些实现方式中,可执行对视频游戏的修改以允许本文识别的功能。

玩家的游戏构建(其可以是hmd或非hmd游戏)可被修改以流式传输出游戏状态,使得它向云定期上传游戏状态数据(例如120次/秒)。就多久发送一次更新以及更新本身的速率而言,时间段是灵活的;例如可发送1/60秒的游戏状态增量,但是可打包60个所述游戏状态增量并且将其一次1秒进行发送;或者可发送每十帧的游戏状态增量,因此发送1/10的游戏状态更新,并且将一些游戏状态元素标记为需要在十帧内内插。

因此,游戏构建可被编码来内插一些内容而不是其他内容。可存在应发送的每一帧的有价值的某些数据,然而可内插其他数据,并因此发送1/10的数据并且云系统内插其余数据。例如,如果共享实际的游戏状态,那么了解玩家在哪里以及他面朝哪个方向可能是非常重要的,因此发送每一帧的对于其有价值的数据;另一方面,如果有人开枪射击,并且有子弹行进穿过屏幕,那么子弹可沿直线行进,因此游戏构建可被配置来给予针对子弹位置的十分之一帧的有价值的数据,并且期望将内插其余数据。因此可能针对不同的事物具有不同的数据速率。可由查找表确定哪些数据速率适用于哪些事物的决定。

观看者的游戏构建可被配置来在云中或在本地观看者机器上执行。在由玩家的游戏构建提供游戏状态数据的实现方式中,游戏的更新游戏状态的部分对于观看者的构建是不需要的,因为观看者的构建已正在接收这些更新的状态并将基于它们来渲染观看者的视角。

通过以上针对玩家的游戏构建和观看者的游戏构建对游戏构建进行的修改,可能提供对原始玩家所见内容的极高质量的再现,因为它是进行再现的实际游戏。

本公开的实现方式提供的优点在于,玩家的系统上传游戏流不需要上传整个视频,而是可上传游戏状态信息,并且云服务器或观看者的控制台可接受所述游戏状态并对图像进行渲染。在云服务器的情况下,云服务器渲染视频并将其向下流式传输给观看者。如果渲染不由云服务器执行,那么云服务器仅将游戏状态分配给观看者控制台。

在一些云游戏实现方式中,玩家输入被发送到云游戏服务器,所述云游戏服务器取走这些输入,并且运行游戏并渲染视频,再将其流式传输回玩家。在这种情况下,观看者接收视频流,并且观看者可具有指示观看者正在看的方向的附加输入。因此,服务器可接收来自玩家和观看者的输入(例如来自观看者的摄像机方向和来自玩家的输入),并且随后对游戏进行渲染并将其发送给观看者。

图8示出根据本公开的实现方式的在视频游戏的虚拟空间的背景下的(观看者)用户头部的俯视图,其展示了用户的虚拟空间视角的变化。以初始姿态(位置和取向)示出用户的头部802,所述初始姿态限定了用户在虚拟空间中的视点以及在虚拟空间中的初始视角方向(参考标号806)。因此,在用户头部的初始姿态下,向用户提供虚拟空间800的初始视野808。如上所述,可通过各种头部追踪方法确定用户头部的姿态,所述头部追踪方法包括追踪由用户佩戴的hmd的姿态、分析用户的头部在用户的真实环境中的捕获图像、追踪用户头部上的其他对象/传感器等。

在所示出的实现方式中,用户转动他的头部,并且因此在虚拟空间800中限定更新的视角方向810。在一些实现方式中,用户可围绕旋转轴线804旋转他的头部,而在其他实现方式中,用户可(此外或可替代地)以平移的方式移动他的头部。因此,视点可发生变化,并且视角方向变为更新的视角方向810。因此,用户的视角已以某一旋转角度旋转到更新的视野812。

为了在用户(观看者)正在观看玩家的游戏玩法时生成这种更新的视野812,追踪观看者头部的姿态信息并将其传达到观看者版本的视频游戏,所述观看者版本的视频游戏执行并处理所述姿态信息以生成更新的视野812。观看者因此能够查看虚拟空间的与玩家的视角不同的部分,同时观看玩家的游戏玩法会话。

参考图9,展示示出根据本公开的实施方案的头戴式显示器102的部件的图。头戴式显示器102包括用于执行程序指令的处理器1300。存储器1302被提供用于存储目的,并且可包括易失性存储器和非易失性存储器。包括显示器1304,所述显示器1304提供用户可观看的视觉界面。电池1306被提供为头戴式显示器102的电源。运动检测模块1308可包括各种运动敏感硬件中的任一种,诸如磁力仪1310、加速度计1312和陀螺仪1314。

加速度计是用于测量加速度和重力引起的反作用力的设备。单轴和多轴模型可用于检测不同方向上的加速度的大小和方向。加速度计用于感测倾斜度、振动和冲击。在一个实施方案中,使用三个加速度计1312来提供重力方向,所述重力方向为两个角度(世界空间俯仰和世界空间翻滚)给出绝对参考。

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

在一些实现方式中,头戴式显示器的磁力仪被配置成使得在其他附近设备中的电磁体不活动的过程中进行读取。

陀螺仪是用于基于角动量的原理来测量或维持定向的设备。在一个实施方案中,三个陀螺仪1314基于惯性感测提供关于越过相应轴线(x、y和z)的移动的信息。陀螺仪帮助检测快速旋转。然而,陀螺仪在不存在绝对参考的情况下可随时间而漂移。这需要定期重新设置陀螺仪,所述重新设置可使用其他可用的信息来完成,所述信息诸如基于对对象、加速度计、磁力仪等的视觉追踪的位置/取向确定。

提供摄像机1316来用于捕获真实环境的图像和图像流。头戴式显示器102中可包括多于一个摄像机,其包括后置摄像机(当用户正在查看头戴式显示器102的显示时背离用户)和前置摄像机(当用户正在查看头戴式显示器102的显示时直接朝向用户)。此外,深度摄像机1318可包括在头戴式显示器102中,以用于感测真实环境中的对象的深度信息。

头戴式显示器102包括用于提供音频输出的扬声器1320。另外,麦克风1322可被包括用于从真实环境捕获音频,所述音频包括来自周围环境的声音、用户的发言等。头戴式显示器102包括用于向用户提供触觉反馈的触觉反馈模块1324。在一个实施方案中,触觉反馈模块1324能够引起头戴式显示器102的移动和/或振动,以便向用户提供触觉反馈。

led1326被提供为头戴式显示器102的状态的视觉指示器。例如,led可指示电池电量、通电等。提供读卡器1328来使头戴式显示器102能够从存储卡读取信息和将信息写入到存储卡。usb接口1330被包括为用于实现外围设备的连接或者与诸如其他便携式设备、计算机等的其他设备的连接的接口的一个实例。在头戴式显示器102的各种实施方案中,可包括各种类型的接口中的任何一种来实现头戴式显示器102的更大的连接性。

包括wifi模块1332,以用于实现通过无线联网技术来连接到互联网或局域网。另外,头戴式显示器102包括用于实现无线连接到其他设备的蓝牙模块1334。还可包括通信链路1336,以用于连接到其他设备。在一个实施方案中,通信链路1336利用红外线传输来进行无线通信。在其他实施方案中,通信链路1336可利用用于与其他设备通信的各种无线或有线传输协议中的任一种。

包括输入按钮/传感器1338来提供用户的输入接口。可包括各种类型的输入接口中的任一种,诸如按钮、触摸板、操纵杆、轨迹球等。超声波通信模块1340可包括在头戴式显示器102中以用于促进通过超声波技术与其他设备进行通信。

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

视频输入1344被配置来从主处理计算机(例如主游戏控制台)接收用于在hmd上呈现的视频信号。在一些实现方式中,视频输入是hdmi输入。

已将头戴式显示器102的前述部件描述为仅仅是可包括在头戴式显示器102中的示例性部件。在本公开的各个实施方案中,头戴式显示器102可或可不包括各种前述部件中的一些部件。头戴式显示器102的实施方案可另外包括目前未描述、但在本领域已知的其他部件,以用于促进如本文所述的本公开的方面的目的。

图10是根据本公开的各种实施方案的游戏系统1400的框图。游戏系统1400被配置来通过网络1415将视频流提供到一个或多个客户端1410。游戏系统1400通常包括视频服务器系统1420和任选的游戏服务器1425。视频服务器系统1420被配置来以最低的服务质量向一个或多个客户端1410提供视频流。例如,视频服务器系统1420可接收改变视频游戏的状态或所述视频游戏内的视角的游戏命令,并且以最小的滞后时间给客户端1410提供反映这种状态变化的更新后的视频流。视频服务器系统1420可被配置来以多种替代视频格式(包括还未定义的格式)提供视频流。此外,视频流可包括被配置用于以广泛多种帧速率呈现给用户的视频帧。典型的帧速率是每秒30帧、每秒60帧和每秒120帧。但是本公开的替代实施方案中包括更高或更低的帧速率。

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

客户端1410被配置来通过网络1415接收视频流。网络1415可以是任何类型的通信网络,其包括电话网络、互联网、无线网络、电力线网络、局域网、广域网、私有网络和/或类似网络。在典型的实施方案中,通过诸如tcp/ip或udp/ip的标准协议来传达视频流。可替代地,通过专有标准来传达视频流。

客户端1410的典型实例是个人计算机,所述个人计算机包括处理器、非易失性存储器、显示器、解码逻辑、网络通信能力以及输入设备。解码逻辑可包括硬件、固件和/或存储在计算机可读介质上的软件。用于解码(和编码)视频流的系统在本领域中是熟知的,并且根据所使用的具体编码方案而变化。

客户端1410可(但不需要)还包括被配置来用于修改接收到的视频的系统。例如,客户端可被配置来:执行进一步渲染,将一个视频图像叠加在另一个视频图像上,修剪视频图像,和/或类似操作。例如,客户端1410可被配置来接收各种类型的视频帧,诸如i帧、p帧和b帧,并且被配置来将这些帧处理成图像以向用户显示。在一些实施方案中,客户端1410的构件被配置来对视频流执行进一步渲染、阴影处理、转换成3-d或类似操作。客户端1410的构件任选地被配置来接收一个以上的音频或视频流。客户端1410的输入设备可包括:例如,单手游戏控制器、双手游戏控制器、示意动作辨别系统、注视辨别系统、语音辨别系统、键盘、操纵杆、指点设备、力反馈设备、运动和/或位置感测设备、鼠标、触摸屏、神经接口、摄像机、还未开发出的输入设备和/或类似设备。

客户端1410所接收的视频流(和任选的音频流)是由视频服务器系统1420产生并提供的。如在本文其他地方进一步描述的,这个视频流包括视频帧(并且音频流包括音频帧)。视频帧(例如,在适当数据结构中它们包括像素信息)被配置来有意义地构成向用户显示的图像。如本文所使用,术语“视频帧”用于指主要包括被配置来构成(例如实现)展示给用户的图像的信息的帧。本文中关于“视频帧”的大部分教义也可适用于“音频帧”。

客户端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任选地被配置来提供3-d视频。

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