用于使虚拟现实环境中的特定内容聚焦的HMD转换的制作方法

文档序号:17123531发布日期:2019-03-16 00:04阅读:360来源:国知局
用于使虚拟现实环境中的特定内容聚焦的HMD转换的制作方法

本公开涉及用于使用增强现实在头戴式显示器上呈现对象的系统和方法。



背景技术:

相关技术说明

多年来,计算和视频游戏行业已发生许多变化。随着计算能力的扩展,各种交互式应用程序(诸如视频游戏应用程序)的开发者已创建利用计算能力的这些增加的应用程序软件。为此,诸如视频游戏开发者的应用程序开发者已开发并入有复杂操作的游戏,以增加用户与游戏系统之间的交互,以便产生非常逼真的游戏体验。

一般而言,手势输入是指使电子装置(诸如计算系统、视频游戏控制台、智能家电等)对由玩家做出并由电子装置捕获的某些手势作出反应。实现更丰富的交互式体验的一种方式是使用无线游戏控制器来提供手势输入。游戏系统跟踪无线游戏控制器的移动,以便跟踪玩家的移动并且确定由玩家提供的手势输入,并且使用这些移动和手势输入作为影响游戏状态的输入。

实现更加沉浸交互式体验的另一种方式是使用头戴式显示器。头戴式显示器(hmd)由玩家佩戴并且可被配置成在hmd的显示屏上呈现各种图形,诸如虚拟场景的视图。在头戴式显示器的屏幕上呈现的图形可覆盖玩家视野的大部分或甚至全部。头戴式显示器可通过阻挡现实世界场景的视图来为玩家提供视觉上沉浸式体验。

为了在任何给定时间进一步增强玩家的沉浸式体验,例如hmd可被配置成仅渲染由计算机/计算装置生成的虚拟游戏的游戏场景,或者来自现实世界环境的实时图像,或者现实世界环境和虚拟游戏场景两者的组合。然而,在hmd的显示屏处渲染的现实世界环境的图像中提供的所有对象或细节可能不是玩家可完全辨别的。

正是在这种背景下出现了本发明的实施例。



技术实现要素:

本发明的实施例公开了一种用于通过使来自现实世界环境的对象聚焦在头戴式显示器(hmd)的屏幕上以供用户观看来呈现所述对象的方法、系统和计算机可读介质。在一些实现方式中,hmd被配置成接收来自现实世界环境或虚拟现实(vr)场景的图像并且在hmd的屏幕上渲染所述图像。在渲染图像时,由hmd中的一个或多个传感器提供的信息用于检测佩戴hmd的用户的注视方向。响应于检测到注视方向,识别来自现实世界环境的图像的与用户的注视方向成一直线的对象,并且生成信号以调整设置在hmd上的一个或多个前向摄像机的镜头的变焦因子。变焦因子调整使得当在hmd的屏幕上渲染时包括对象的现实世界环境的图像被聚焦。在一些实现方式中,hmd可在确定hmd的镜头的变焦因子时考虑用户眼睛的视觉特征。在一些实现方式中,传感器在生成用于调整hmd的镜头的变焦因子的信号之前确定用户是否已经注视对象至少预定义的阈值时间段。在一些实现方式中,包括用于调整图像的变焦因子的指令的信号可包括用于调整镜头的光学设置以便允许对象的图像的光学变焦的信息。在其他实现方式中,包括用于调整变焦因子的指令的信号可包括用于执行图像的数字变焦的指令。因此,依据正在渲染的图像的类型,变焦因子可包括允许光学变焦或数字变焦的指令或信息。

所述实现方式提供了通过允许操纵现实世界环境的图像中捕获的特定点或一些特定对象并且呈现给用户使得用户可清楚地辨别特定点或对象来呈现现实世界环境的增强现实的方式。实施例可扩展以通过使vr场景的特定对象聚焦来呈现在hmd的屏幕上渲染的vr场景的增强视图。在一些实施例中,在调整变焦因子时,所生成的信号可将用户眼睛的视觉特征考虑在内。增强现实世界环境或者增强vr场景允许佩戴hmd的用户能够辨别在hmd的屏幕上渲染的场景的各个对象或部分,以具有令人满意的沉浸式体验。

来自vr场景的图像通常是预先录制的图像/视频。在一些实施例中,当在hmd渲染来自vr场景的图像时,可在生成用于调整变焦因子的信号时考虑来自已观看vr场景的图像的其他用户的历史输入。例如,在一些实施例中,来自其他用户的历史输入可与来自vr场景的内容关联,以确定导致其他用户经历头晕、晕动病等的特定变焦因子设置。所述信息当渲染这种内容时可用于改善对一个或多个前向摄像机的镜头的变焦因子调整,使得当来自vr场景的图像被呈现给佩戴hmd的用户时,用户不会经历晕动病、头晕等。在一些实施例中,可向用户(例如,寻求刺激的人)提供选项以忽略这种改善,以便能够使用特定变焦因子设置来观看内容。

本发明的实施例通过允许hmd通过调整图像捕获装置的镜头的变焦因子来呈现将要变焦的vr场景或现实世界环境的图像的特定部分来使得hmd能够充当虚拟双筒望远镜。来自hmd的各种控制器和传感器的输入可用于动态地激活或停用一个或多个前向摄像机的镜头的特定设置,以允许用户以足够的清晰度观看内容。在替代实现方式中,可调整图像的特定特征或部分以允许包括特定特征或在所述部分中的对象被聚焦。在一些实现方式中,hmd用于将用户从vr场景或现实世界环境中的一个位置虚拟地远程传送到另一个位置,并且进行这种远程传送以增强用户对vr场景或增强现实(ar)世界的体验。例如,vr场景的特定区域或部分可被聚焦以使得看起来用户被远程传送到在特定区域或部分附近的位置。

在一个实施例中,提供了一种用于将来自现实世界环境的对象呈现到头戴式显示器(hmd)的屏幕上的方法。所述方法包括接收佩戴hmd的用户附近的现实世界环境的图像。从hmd的一个或多个前向摄像机接收图像,并且处理所述图像以便由hmd内的处理器在hmd的屏幕上渲染。使用hmd的一个或多个注视检测摄像机来检测佩戴hmd的用户的注视方向,所述一个或多个注视检测摄像机朝向用户的一只或每只眼睛。分析由前向摄像机捕获的图像以识别在现实世界环境中捕获的与用户的注视方向相关的对象。对象的图像以第一虚拟距离渲染,所述第一虚拟距离使得对象在呈现给用户时出现失焦。生成信号以调整一个或多个前向摄像机的镜头的变焦因子以便使对象聚焦的。变焦因子的调整使得对象的图像以第二虚拟距离呈现在hmd的屏幕上,所述第二虚拟距离允许所述对象可由用户辨别。

在一些实现方式中,在确定用户的注视方向朝向对象达预定义时间长度之后生成信号。

在一些实现方式中,使对象在预定义时间段内聚焦。在预定义时间段期满时,渲染来自现实世界环境的图像。

在一些实现方式中,调整变焦因子以考虑佩戴hmd的用户的眼睛的视觉特征。

在一些实现方式中,用于调整变焦因子的信号包括用于调整一个或多个前向摄像机中的镜头的光圈调校以便引起对由hmd的一个或多个前向摄像机捕获对象的图像的深度的调整的信号。

在一些实现方式中,用于调整变焦因子的信号包括用于当捕获现实世界环境中的对象的图像时调整一个或多个前向摄像机的镜头的焦距的信号。对镜头的焦距的调整导致对象的放大。

在一些实现方式中,用于调整变焦因子的信号包括用于控制变焦速度的信号,其中基于捕获的现实世界环境的图像的类型或者基于用户来控制变焦速度。

在一些实现方式中,用于调整变焦因子的信号还包括用于调整hmd的屏幕的亮度级的信号。

在一些实现方式中,使用由hmd的前向摄像机捕获的图像来构造现实世界环境的三维数字模型。通过跟踪使用多于一个摄像机在多个图像帧中捕获的不同点并且将由摄像机捕获的不同点与三维空间关联来构造三维数字模型。

在一些实现方式中,识别对象包括勾画出在图像中捕获的与注视方向相对应的对象,并且从佩戴hmd的用户接收对象的确认。

在一些实现方式中,公开了一种用于在头戴式显示器(hmd)的屏幕上渲染对象的方法。所述方法包括接收来自虚拟现实(vr)场景的图像以便在hmd的屏幕上渲染。检测从在hmd的屏幕上渲染的vr场景的图像中选择对象。确定所选择的对象以第一虚拟距离渲染,所述第一虚拟距离使得对象对于佩戴hmd的用户出现失焦。识别vr场景中在对象附近的区域。所识别的区域定义了用户在观看对象时相对于对象的移动自由度。生成信号以将用户虚拟地远程传送到在所选择的对象附近的区域。用户的虚拟远程传送使得对象以第二虚拟距离呈现在hmd的屏幕上,所述第二虚拟距离允许所述对象可由用户辨别。

通过以下结合附图的详细描述,本发明的其他方面和优点将变得显而易见,附图以举例的方式示出了本发明的原理。

附图说明

通过参考以下结合附图的描述,可以最好地理解本发明及其另外的优点。

图1示出了根据本发明实施例的头戴式显示器的通信架构的简化框图,所述头戴式显示器用于使从现实世界或虚拟世界捕获的对象聚焦。

图2示出了根据本发明的实施例的hmd的特定一些模块,所述模块用于生成用于调整hmd的一个或多个前向摄像机的变焦因子的信号。

图3示出了根据本发明的实施例的系统的示例性架构,所述系统用于调整来自现实世界环境的对象的图像以使佩戴hmd的用户可辨别。

图4a-图4c示出了在本发明的一些实施例中,响应于检测到用户的注视方向而使对象聚焦所涉及的各个阶段。

图5a和图5b示出了在本发明的一些实施例中,在hmd的屏幕上呈现的现实世界环境的图像,以及基于检测到的用户的注视方向将用户远程传送到由hmd捕获的现实世界环境内的不同位置。

图6示出了在本发明的一些实施例中在呈现现实世界环境或虚拟世界场景的增强视图期间的屏幕转换的图形表示。

图7示出了根据本发明的实施例的用于在现实世界环境中或从虚拟场景提供对象的图像的方法的操作流程。

图8示出了根据本发明的一个实施例的用于向地理上分散并且经由网络连接的用户传递信息内容和服务的示例性信息服务提供商架构。

图9示出了根据本发明的各种实施例的示例性游戏系统的简化框图。

具体实施方式

在以下描述中,阐述众多特定细节以便提供对本发明的透彻理解。然而,本领域技术人员显而易见的是,可在没有这些具体细节中的一些或全部的情况下实践本发明。在其他情况下,未详细地描述熟知的处理步骤,以便不会模糊本发明。

根据各种实现方式,佩戴头戴式显示器(hmd)的用户可在hmd的屏幕上呈现现实世界环境或虚拟现实(vr)场景的图像。可通过hmd的一个或多个前向摄像机捕获现实世界环境的图像。替代地,来自vr场景的图像可为视频游戏的一部分,或者可为从通信地连接到hmd的计算装置传输的预先录制的视频。hmd中的各种部件(例如,传感器、摄像机等)用于检测佩戴hmd的用户的注视方向。用户的注视方向用于识别图像内的用户感兴趣的对象或者已吸引用户注意力的对象。在检测到用户对对象的持续兴趣时,由hmd的处理器生成信号以调整hmd的光学元件以执行光学变焦或者经由数字变焦来调整图像,使得用户感兴趣的对象或者已吸引用户注意力的对象被聚焦。

在一些实现方式中,hmd通过调整在屏幕上渲染图像的方式来充当虚拟远程传送器,以使得看上去佩戴hmd的用户已被动态地远程传送到更靠近已吸引用户的兴趣的对象或区域或场景的区域。用户的远程传送或转换的速度可取决于正在渲染的内容的类型,并且还可被调整以确保这种转换不会对用户造成任何困扰。一旦用户已虚拟地转换到更靠近对象或场景的区域,用户就可使用控制器或通过手势来提供输入,并且在物理或虚拟世界中提供的这种输入被解译并且用于调整正在hmd的屏幕上渲染的内容。在一些实现方式中,更靠近对象的区域与用户操作他的hmd的物理环境关联。在这种实施例中,更靠近用户已远程传送到的对象的区域的边界与用户的物理世界环境的范围关联。当用户与在hmd上渲染的图像交互时,由hmd系统相对于现实世界环境解译这种交互,并且向用户提供适当的反馈。例如,如果远程传送导致用户处于场景的边缘(例如,虚拟悬崖、虚拟建筑物、物理墙壁、现实世界障碍物等的边缘)或者处于可能潜在地伤害用户或导致用户感到迷失方向等的情况下,所述反馈可提供适当的警告。可以视觉格式、音频格式、触觉格式、文本格式、光学格式或其任何组合来提供反馈。

通过对本发明的一般理解,将参考各附图描述具体实施例。应注意,可在没有本文描述的一些或所有具体细节的情况下实践本公开中描述的各种实施例。在其他情况下,未详细地描述熟知的处理操作,以便不会不必要地模糊本公开中描述的各种实施例。

图1是用于实现各种实施例的系统100的示例性配置的实施例。所述系统包括佩戴在用户头部上的头戴式显示器(hmd)104和计算机172。在一些实现方式中,系统还可包括手持式控制器(hhc)106,以允许用户与提供用于在hmd104的显示屏上渲染的内容交互并且生成用户输入。在各种实现方式中,计算机172可为通用计算机、专用计算机、游戏控制台、移动电话、平板装置或者其他这种装置,其被配置成执行诸如视频游戏的交互式应用程序的一个或多个部分,所述交互式应用程序提供用于在hmd104的显示屏上渲染的内容。交互式应用程序可为由多用户播放的多用户游戏应用程序117,或者可为由用户播放的单用户游戏应用程序。在一些实施例中,游戏应用程序的至少一部分117b在计算机上执行。在这种实施例中,交互式游戏应用程序的任何剩余部分117a可在诸如游戏云系统102的云系统上执行,例如在一个或多个虚拟机(vm)上执行,其中通过诸如互联网的网络110交换游戏内容和用户交互。在一些实施例中,计算机172可为游戏云系统102的一部分,并且hmd和手持控制器(hhc)经由网络110与设置在游戏云系统102上的计算机直接通信。在这种实施例中,交互式应用程序的一部分由计算机在游戏云系统上执行,并且交互式应用程序的剩余部分在hmd104上执行。

hmd104是直接佩戴在用户头上或者作为头盔的一部分的装置。hmd104在用户的一只或每只眼睛的前方具有小型显示光学器件,例如镜片、玻璃、波导等。在一些实施例中,场景(例如,虚拟场景、增强的虚拟现实场景、增强的现实世界环境等)被显示在hmd的显示屏上,并且通过设置在用户的一只或每只眼睛的前方的显示光学器件来观看。在显示光学器件位于用户的每只眼睛前方的情况下,双眼看到一个场景。

在一些实施例中,hmd104能够从在计算机上和/或在云系统(诸如游戏云系统)上执行的应用程序接收和渲染视频输出。在各种实施例中,hhc和/或hmd与计算机无线通信,因此这提供了与有线连接相比hhc和/或hmd的更大的移动自由度。在替代实施例中,hhc和/或hmd通过有线连接与计算机通信。

hhc106可包括诸如按钮、惯性传感器、可跟踪led灯、触摸屏、具有输入控件的操纵杆、方向键、触发器、触摸板、触摸屏等各种特征中的任何一者,并且可具有用于检测和解译手势、语音输入或用于向交互式应用程序提供输入的其他类型的输入机制的电路/逻辑。此外,hhc可为运动控制器,所述运动控制器使得用户能够通过移动控制器与交互程序连接并且向交互程序提供输入。

类似地,hmd104可包括用户输入电路,所述用户输入电路使得用户能够通过移动hmd与交互式应用程序连接并且向交互式应用程序提供输入。可采用各种技术来检测通信地耦合到hmd的hmd和/或运动控制器的位置和移动。例如,hmd的运动控制器和/或用户输入电路可包括各种类型的惯性传感器电路,诸如加速度计、陀螺仪和磁力仪。在一些实施例中,运动控制器可包括全球定位系统(gps)、罗盘等。在一些实施例中,加速度计是6轴低延迟加速度计。在一些实施例中,运动控制器和/或用户输入电路可包括可使用图像捕获装置跟踪的一个或多个固定参考对象(另外称为“标记元件”),例如发光二极管(led)、彩色点、光反射器等。例如,固定参考对象的图像由系统的一个或多个数字摄像机(未示出)捕获,所述数字摄像机被设置成面向佩戴hmd的用户并且跟踪用户、hmd和/或hhc的位置。用户、hmd和/或hhc的手势动作和移动也由数字摄像机捕获。在一些实施例中,数字摄像机包括视频摄像机,所述视频摄像机还包括单个电荷耦合装置(ccd)、led指示器以及基于硬件的实时数据压缩和编码设备,使得可以诸如基于内部图像的运动图像专家组(mpeg)标准格式的适当格式来传输压缩的视频数据。可通过分析由一个或多个数字摄像机捕获的图像来确定用户、运动控制器和/或hmd的位置和移动。

在一个实施例中,hmd104包括用于与互联网110通信的路由器152。在替代实施例中,hmd104可使用hmd104外部的路由器152通过互联网110与云系统通信。在一些实施例中,游戏云102在本文中称为游戏云系统。hmd104由用户以类似于用户戴上头盔的方式放置在他的头上,使得hmd104的镜片位于用户的一只或两只眼睛的前方。在一些实施例中,hmd104像眼镜(例如,验光眼镜、护目镜等)一样佩戴。hhc106由用户106握在他/她的手中。

在各种实施例中,代替hhc106,用户108的手可用于提供可由hmd104内的交互式应用程序和/或逻辑解译的手势,例如手的手势、手指手势等。在一些实施例中,用户可佩戴具有传感器的交互式手套来提供触觉反馈。当由用户佩戴时,交互式手套充当hhc并且以交互式手势/动作的形式向交互式程序和/或hmd提供输入。类似于hhc,交互式手套可包括诸如led、光反射器等的标记元件以允许检测各种移动。交互式手套是可穿戴装置的一种形式,其用于向hmd和/或交互式程序提供输入,并且还可配合其他形式的可穿戴服装/装置。hmd104的数字摄像机101捕获由用户提供的手势的图像,并且hmd104内的处理器分析所述手势以确定hmd104内显示的游戏是否受到手势的影响。

在一个实施例中,数字摄像机101位于hmd104的面向前方的面板上,以捕获包括由用户提供的手势的现实世界图像。在一些实施例中,可在hmd104的面板上设置多于一个数字摄像机以捕获不同角度的现实世界图像。在一些实施例中,数字摄像机可为立体摄像机、ir摄像机、单镜头摄像机等。如本文所使用的,hmd的处理器可为微处理器、可编程逻辑装置、专用集成电路(asic)或其组合。

系统100包括网络110,所述网络可为局域网(lan)、广域网(wan)或其组合。网络110的示例包括互联网、内联网或其组合。在一些实施例中,网络110使用传输控制协议(tcp)/互联网协议(ip)或用户数据报协议/ip(udp/ip)来经由网络110在游戏云102与hmd104或hhc106之间传达媒体数据。各实施例不限于tcp/ip或udp/ip协议,但是还可采用其他形式的通信协议(包括任何专有或非专有协议)来经由网络传达媒体数据。在各种实施例中,网络使用以太网和tcp/ip协议的组合来经由网络110在游戏云102与hmd104或hhc106之间传达媒体数据。

游戏云102包括编码器/解码器(编解码器)112和流缓冲器114。流缓冲器114存储媒体数据流116,所述媒体数据流在执行游戏程序117时生成。媒体数据116包括虚拟环境数据、虚拟游戏对象数据、其组合等。虚拟环境数据用于生成游戏的虚拟环境,并且虚拟游戏对象数据用于生成一个或多个虚拟游戏对象,例如虚拟游戏角色、虚拟游戏对象、虚拟点、虚拟奖品、游戏界面等。虚拟环境的示例包括虚拟地理区域,例如虚拟城市、虚拟道路、虚拟湖泊、虚拟海洋等。游戏程序117是由游戏云102的一个或多个服务器执行的交互式应用程序的示例。编解码器112使用压缩器/解压缩器来使用有损压缩、无损压缩等对媒体数据进行编码/解码。

hmd104用于访问由hmd104的处理器执行的操作系统(os)。例如,hmd104中的按钮的选择和激活使得hmd104的处理器能够执行os。类似地,hhc106可用于访问由hhc106的处理器执行的os。hhc106上的按钮可用于使hhc106的处理器执行os。

在一些实施例中,os允许hmd104直接访问网络110。例如,用户可使用网络访问图标、网络访问符号等来在os的顶部上选择由hmd104的处理器执行的网络访问应用程序。所述网络访问应用程序提供网络列表,从所述网络列表选择网络以便访问网络110。根据网络访问协议,可能需要用户认证来访问网络110。在选择和成功的用户认证(如果需要)时,为用户启用对网络110的访问。hmd104内的内置路由器(未示出)使用网络110与游戏云交互以交换游戏数据。在这些实施例中,网络110与hmd104之间的通信遵循无线通信协议。类似地,hhc106通过使用网络访问应用程序选择网络来获得对网络110的访问,并且hhc106与网络之间的通信遵循无线通信协议。

一旦访问网络110,os就允许hmd104以类似于网络选择的方式来访问游戏程序117。例如,当用户通过网络访问图标、网络访问符号等来在os的顶部上选择由hmd104的处理器执行的游戏访问应用程序时,所述游戏访问应用程序经由网络和hmd104的处理器请求对游戏程序117的访问,以便向用户显示。

在获得对游戏程序117的访问时,hmd104的微控制器在hmd104的显示屏上显示游戏的游戏场景。在一些实施例中,hmd104的显示屏是高性能微型屏幕,以在hmd104快速移动时减少模糊。在一个实施例中,显示屏是液晶显示器(lcd)屏幕、硅基液晶(lcos)、或者有机发光二极管(oled)、或者阴极射线管等。图像由hmd的显示光学器件的镜头投射在显示屏上。可对显示光学器件的镜头或显示屏进行调整,并且这种调整会影响在hmd的显示屏上渲染的图像。用户执行一个或多个头部和/或眼睛运动,例如头部倾斜、眨眼、注视、移动注视、凝视等,并且每个头部或眼睛运动会触发用户输入电路以生成可用于玩游戏的输入。在这些实施例中,游戏程序117在游戏云102上执行,并且游戏程序117与hmd104之间的通信是通过内置路由器和网络110。通过显示光学器件观看在hmd104的显示屏上渲染的图像,所述显示光学器件提供近眼聚焦。

在一些实施例中,游戏访问应用程序从用户请求用户认证信息,诸如用户名和/或密码,以访问游戏程序117。在从游戏云102接收到成功认证时,游戏访问应用程序允许用户访问游戏程序117。

在各种实施例中,代替访问游戏应用程序/程序,用户在访问网络110时请求访问网页,并且网页允许用户访问游戏程序117。例如,用户经由用户输入电路或者经由hhc106选择网络浏览器应用程序来访问网页。在访问网页时,用户玩网页上显示的游戏或者使用其中提供的链接来访问游戏。当在游戏云102上执行游戏程序117时渲染游戏。在一些实施例中,在提供对网页的访问以播放当在游戏云102上执行游戏程序117时显示的游戏之前,可能需要用户认证。当用户经由游戏访问应用程序来访问游戏时,以与上述类似的方式来认证用户名和/或密码。

当访问游戏程序117时,编解码器112对媒体数据116的数字数据流进行编码(例如压缩)等,以便经由网络110将编码的媒体数据流发送到hmd104。在一些实施例中,编码的媒体数据的数字数据流是呈用于经由网络110发送的分组的形式。

hmd104经由网络110从编解码器112接收用于所选择的游戏程序的编码的媒体数据的数字数据流,并且处理(例如,解包、解码等)数字数据流,并且经处理的流用于在hmd104的显示屏上显示游戏场景。当正在hmd104的显示屏上显示游戏场景时,hmd104的外部摄像机101从用户的角度捕获紧邻用户的现实世界环境的一个或多个图像。在一些实施例中,外部摄像机101是视频摄像机。现实世界环境的示例包括用户正在访问游戏的房间、用户所位于的地理区域、用户周围的现实世界对象等。地理区域的示例包括公园、道路、街道、湖泊、城市、地标等。现实世界对象的示例包括公共汽车站、咖啡店、商店、办公室、车辆、房间、桌子、餐桌、椅子、球等。在一个实施例中,包括现实世界环境的一个或多个图像的现实世界环境数据被本地处理并存储在hmd中并且用于随后在hmd的屏幕上渲染。用户输入可由hmd104处理、打包和编码,并且通过内置路由器和网络110发送到游戏云102中的编解码器112。在一些实施例中,除了用户输入之外,现实世界环境数据还可由hmd104打包和编码,并且经由hmd104的内置路由器、网络110作为编码环境数据流发送到游戏云102中的编解码器112。

可通过hmd104和/或hhc106提供用户输入。例如,用户可使用hmd104中提供的输入接口/机构来提供输入。替代地,用户可使用hhc执行手部运动,例如按下按钮、移动操纵杆、手的手势、手指手势、其组合等,并且在hhc106处提供的这种用户输入生成输入数据,所述输入数据通过hhc106的通信电路转换成输入信号,以便发送到hmd104的通信电路。当然,hhc包括手持式控制器、操纵杆、运动控制器、可穿着衣服制品、可穿戴装置等。源自hhc106和hmd104的输入信号通过hmd104的通信电路从模拟形式转换为数字形式、打包、由hmd104编码并且经由网络110发送到编解码器112。hmd的通信电路的示例包括收发器、传输/接收电路、网络接口控制器等。

在一些实施例中,游戏程序117将由hmd生成的输入数据与在hhc处(例如,基于手部运动)生成的输入数据进行映射,以确定是否改变在hmd104上显示的游戏的状态。例如,当经由网络110利用在hhc106处生成的输入(诸如按下hhc106上的按钮)接收来自hmd的输入时,游戏程序116确定改变游戏的状态。否则,游戏程序117确定不改变游戏的状态。

基于手部运动和/或手持式控制器运动生成的输入的输入数据通过hhc106的通信电路(例如,收发器、传输/接收电路等)传达到通信电路,例如hmd104的收发器、传输/接收电路等。传达到hmd的输入数据和/或由hmd生成的输入数据由hmd104打包和编码,并且经由网络110作为编码输入数据流发送到编解码器112。例如,输入数据可使用内置路由器经由网络110直接从hmd104发送到游戏云102。在许多实施例中,用户执行手部运动并且从hmd提供用户输入以改变在hmd处渲染的虚拟对象的位置和/或取向。

编解码器112对经由网络110从hmd104接收的编码的输入数据流进行解码(例如,解压缩等),并且将解码的输入数据缓冲在流缓冲器114中以用于解包并发送到游戏程序117。游戏云102的一个或多个服务器对解码的输入数据流进行解包,并且将输入数据发送到游戏程序117。在接收到输入数据时,游戏程序117生成由游戏云102的一个或多个服务器打包的下一个媒体数据,以生成下一个媒体数据流。附加的媒体数据可包括对游戏玩法的修改,包括对例如计算机生成的对象等的虚拟游戏对象的修改,所述修改用于更新在hmd上渲染的虚拟游戏环境。下一个媒体数据流存储在流缓冲器114中、由编解码器112编码、并且经由网络110作为编码的下一个媒体数据流发送到hmd104。hmd104接收编码的下一个媒体数据流、对流进行解包、并且对编码的下一个媒体数据进行解码,以将下一个媒体数据提供给hmd104的微控制器。hmd104的微控制器基于下一个媒体数据改变在hmd的屏幕上渲染的游戏场景的显示。例如,微控制器改变虚拟游戏对象的外观、位置和/或取向,所述虚拟游戏对象覆盖在现实世界环境的一个或多个图像上或者简单地在hmd104的屏幕上渲染。应注意,在hhc和/或hmd处生成的输入数据改变了游戏的状态。在一些实施例中,游戏场景的显示在本文中称为与游戏程序117相关联的交互性的一部分。

在各种实施例中,代替将基于手部运动生成的输入数据从hhc106传达到hmd104,将输入数据经由网络110直接从hhc106传达到编解码器112。在hhc106处生成的输入数据通过hhc106以与通过hmd104的通信类似的方式来传达。例如,基于来自hhc106的手部运动生成的输入数据通过hhc106编码和打包,并且经由网络110作为编码的输入数据流发送到编解码器112。

应注意,在图1所示的实施例中,hmd和hhc单独地直接与网络110通信,而无需通过游戏控制台或外部路由器。在替代实施例中,hhc可与hmd通信以传输在hhc处生成的输入数据,并且hmd可直接利用网络110来传达源自hhc和/或hmd的数据。在这两个实施例中,媒体数据116、附加媒体数据、下一个数据等经由网络101和内置路由器由游戏云102的编解码器112直接简化为hmd104的无线访问卡(wac)。此外,在这些实施例中,数据(例如,输入数据、现实世界环境数据等)由hmd104的wac经由内置路由器和网络110直接流式传输到游戏云102的编解码器112。wac结合hmd的内置路由器能够往来于hmd传输流媒体数据和输入数据。

在一些实施例中,在hmd104与网络110之间设置单独的路由器152。路由器152还充当hhc106与网络110之间的接口。在该实施例中,hmd104的wac将与路由器152连接以与网络110通信。在一些实施例中,hmd104经由无线连接(例如,蓝牙连接或wi-fi连接等)耦合到路由器152。此外,hhc106经由无线连接耦合到路由器152。在一些实施例中,路由器152经由有线连接耦合到网络110。当提供路由器时,编码数据流从hmd104或hhc106发送到路由器152。路由器152将编码数据流路由(例如,引导等)到网络110中的路径,以便于将流发送到游戏云上的编解码器112。路由器152使用编解码器112的ip地址将编码数据流路由到编解码器112。在一些实施例中,路由器152基于例如网络路径上的分组流量、网络路径上的拥塞等的网络流量因素来确定网络110的网络路径。

路由器152经由网络110从游戏云102接收编码数据流,并且将编码数据流路由到hmd104。例如,路由器152基于hmd104的ip地址将经由网络110从游戏云102接收的编码数据流路由到hmd104。在使用系统100的一些实施例中,游戏执行主要发生在游戏云102上。在一些实施例中,游戏的某些部分可在hmd104上执行,而其余部分可在游戏云102上执行。

在一些实施例中,在hmd104的屏幕上渲染无线网络列表以供用户选择。替代地,在一些其他实施例中,在与计算机172相关联的显示屏上呈现无线网络列表。例如,当计算机172是移动电话时,移动电话包括用于显示无线网络列表的显示屏。作为另一示例,当计算机172耦合到电视显示屏时,无线网络列表在电视显示屏上显示。在这些实施例中,当计算机172的处理器执行存储在计算机172的存储器装置内的无线访问应用程序以访问网络110时,访问无线网络列表。当用户通过执行头部运动和/或手部运动经由hmd104或hhc106生成输入数据时,处理器176执行无线访问应用程序。基于头部运动和/或手部运动生成的输入数据从hmd104或hhc106的通信电路发送到计算机172。当计算机172的处理器接收输入数据时,执行无线访问应用程序以生成无线网络列表以供用户选择来访问网络110。

在一些实施例中,计算机172包括网络接口控制器(nic)174,所述网络接口控制器从游戏云102请求游戏程序117的一部分。nic的示例包括网络接口卡和网络适配器。游戏程序117的所述部分由编解码器112编码,并且经由网络110流式传输到计算机172的nic174。计算机172的处理器176执行游戏程序117的一部分以生成媒体数据,所述媒体数据从计算机172的通信电路178(例如,收发器、传输/接收电路、网络接口控制器等)发送到hmd104,以便在hmd104的显示屏上显示。hmd104的通信电路从计算机172接收媒体数据,并且将媒体数据发送到hmd104的微控制器,以便处理包括游戏场景的媒体数据并且在hmd104的显示屏上显示。

此外,计算机172的通信电路178接收基于来自hmd104的头部运动和/或来自hhc106的手部运动或者在hmd104处执行的动作生成的输入数据,并且将输入数据发送到处理器176。在一个实施例中,输入数据可为由设置在hmd104的外面上的外部摄像机101捕获并且由hmd104的通信电路传输的现实世界环境数据。处理器176执行存储在计算机172内的游戏程序117b的一部分,以生成附加媒体数据,所述附加媒体数据从通信电路178发送到hmd104的通信电路。在接收到附加媒体数据之前或之后,由hmd104的通信电路经由通信电路178将来自hmd104和/或hhc106的输入数据发送到处理器176,所述数据是使用头部运动和/或手部运动作为游戏的一部分而生成的。响应于输入数据,处理器176执行存储在计算机172内的游戏程序117b的一部分,以生成下一个媒体数据,所述下一个媒体数据从通信电路178发送到hmd104的通信电路。下一个媒体数据被发送到hmd104的通信电路以改变游戏玩法,包括改变/更新通过执行游戏程序117显示的游戏的虚拟游戏对象和/或虚拟环境。当游戏对象(例如,现实世界对象、虚拟游戏对象等)和/或虚拟环境改变时,通过执行游戏程序117显示的游戏的游戏状态改变。

在一些实施例中,游戏状态由计算机172的nic174经由路由器152和网络110发送到游戏云102,以通知游戏云的一个或多个服务器当前的游戏状态,以便使游戏云102上的游戏的游戏状态与计算机172上的游戏状态同步。在这种实施例中,大多数游戏执行发生在计算机172上。

在各种实施例中,媒体数据116、附加媒体数据、下一个媒体数据等最初从编解码器112经由网络110和路由器152发送到hmd104,直到游戏程序117的一部分被从游戏云102下载到计算机172为止。例如,最初,用户使用游戏访问应用程序来访问游戏程序117。当访问游戏程序117时,媒体数据116、附加媒体数据、下一个媒体数据等从编解码器112经由网络110和路由器152发送到hmd104以便在hmd104的显示屏上显示。在从游戏云102访问媒体数据以便在hmd104上显示的时间期间,计算机172的nic174经由网络110和路由器152从游戏云102下载游戏程序117的一部分。

在一些实施例中,当计算机172访问游戏程序117时,媒体数据(例如媒体数据116)、附加媒体数据、下一个媒体数据等通过在计算机访问游戏云上的游戏程序以便下载时绕过计算机172从编解码器112经由网络110直接发送到hmd104以便在hmd104的显示屏上显示。在hmd104的显示器上渲染接收的媒体数据。同时,计算机172的nic174经由网络110和路由器152从游戏云102下载游戏程序117的一部分。

在许多实施例中,基于头部运动和/或手部运动和/或现实世界环境数据的一部分生成的输入数据的一部分经由路由器152和网络110从hmd104发送到游戏云102的编解码器112,而输入数据的剩余部分和/或现实世界环境数据的剩余部分从hmd104的通信电路发送到计算机172的通信电路178。

在各种实施例中,基于手部运动生成的输入数据的一部分经由路由器152和网络110从hhc106的通信电路发送到游戏云102的编解码器112,并且输入数据的剩余部分通过hmd或直接从hhc106的通信电路发送到计算机172的通信电路178。

在各种实施例中,通过使用从计算机/hmd/hhc接收的用户输入执行游戏程序117而生成的媒体数据(例如,媒体数据116)、附加媒体数据、下一个媒体数据等被经由网络110和路由器152从游戏云102的编解码器112发送到hmd104,以便在hmd104的显示屏上作为游戏玩法的一部分渲染,并且通过由计算机172的处理器176执行游戏程序117的一部分生成的媒体数据被从计算机172的通信电路178发送到hmd104,以便在显示屏上显示。在这些实施例中,游戏云102和计算机172具有同步的游戏状态。例如,编解码器112将通过执行游戏程序117生成的游戏状态经由网络110和路由器152发送到计算机172的nic174,以向计算机172通知游戏状态。作为另一示例,计算机172的nic174经由路由器152和网络110将通过在计算机172上执行游戏程序117的一部分而生成的游戏状态发送到游戏云102的编解码器112,以向一个或多个游戏云服务器通知游戏状态。游戏云102的编解码器112与计算机的nic之间的通信周期性地进行,以保持游戏状态在两侧同步。

在若干实施例中,通过执行游戏程序117并且从游戏云102的编解码器112发送到hmd104而生成的媒体数据(例如媒体数据116)、附加媒体数据、下一个媒体数据等具有比由计算机172的处理器176生成的媒体数据更高的图形量。显然,在一些实施例中,当媒体数据经由网络110直接从游戏云102的编解码器112发送到hmd104时,绕过计算机172。

在一些实施例中,计算机172经由nic174从游戏云102请求游戏程序117的一部分,并且作为响应,由编解码器112编码的游戏程序117的部分117b经由网络110流式传输到计算机172的nic174。在一些实施例中,游戏云包括游戏数据库131,游戏程序117从所述游戏数据库检索并下载到计算机172。在一些实施例中,游戏程序117的一部分117a从游戏数据库131下载到游戏服务器102上,并且游戏程序117的剩余部分117b被下载到计算机172。在一些实施例中,下载到计算机172的部分117b是整个游戏。计算机172的处理器176执行游戏程序117的部分117b,以生成从计算机172的通信电路178、网络接口控制器等发送到hmd104以用于在hmd104的显示屏上显示的媒体数据、附加媒体数据以及下一个媒体数据(统称为“媒体数据”)。

如前所述,可响应于从hmd104接收的包括头部运动/其他用户输入、手部运动等的输入数据来提供附加媒体数据和下一个媒体数据。在一个实施例中,除了头部运动和/或手部运动之外,输入数据还可包括由设置在hmd104的外面上的外部摄像机101捕获并且由hmd104的通信电路传输的现实世界环境数据。

在一些实施例中,由外部摄像机101捕获的现实世界环境数据被本地存储在hmd内并且用于在hmd屏幕上渲染。附加媒体数据提供用于在hmd上渲染虚拟游戏场景的虚拟现实相关数据,并且下一个媒体数据提供对在游戏期间在虚拟游戏场景内显示的虚拟游戏对象和/或虚拟现实数据的改变。hmd104的通信电路从计算机172接收媒体数据作为媒体流,并且将媒体数据发送到hmd104的微控制器,以便在hmd104的显示屏上进行解译和显示。当游戏对象(例如,现实游戏对象、虚拟游戏对象等)和/或虚拟环境改变时,通过执行游戏程序117显示的游戏的游戏状态改变。

在一些实施例中,游戏程序117的一部分117-a在游戏云102上执行,同时游戏程序117被下载到计算机172上。因此,与游戏云102上的游戏程序117的部分117-a的执行相关联的媒体数据直接从编解码器112经由网络110和路由器152发送到hmd104以便在hmd上渲染,直到游戏程序117的部分117-b从游戏云102下载到计算机172为止。在一个实施例中,游戏程序117的部分117-b被下载并存储在计算机172的本地存储装置113中并且由处理器176执行。一旦部分117-b被下载并且计算机172的处理器176开始执行游戏部分117-b,媒体数据就将从计算机172传输到hmd104以用于游戏程序117的部分117-b。在一些实施例中,用于游戏程序的所有媒体数据都直接从计算机172传输到hmd104以便进行渲染。计算机172还可周期性地将媒体数据传输到游戏云102,以使游戏云102上的游戏程序的游戏状态与计算机172上的游戏状态同步。

在许多实施例中,基于头部运动和/或手部运动的输入数据的一部分由连接到计算机172的观察摄像机(未示出)捕获。在一些实施例中,观察摄像机与计算机172之间的连接可为有线连接。在其他实施例中,观察摄像机与计算机172之间的连接可为无线连接。在一些实施例中,观察摄像机是立体摄像机、ir摄像机或单摄像机中的任何一个或组合。在一些实施例中,观察摄像机是视频摄像机或定镜摄像机之一。由观察摄像机捕获的图像可用于确定hmd和hhc的位置和运动。例如,观察摄像机的图像可用于识别hmd的位置的坐标以及hhc的位置的坐标。除了坐标平面的坐标之外,观察摄像机的图像可用于确定俯仰、偏航和侧倾以生成用于hmd和hhc的六轴数据。在一些实施例中,在hmd和hhc处生成的头部和/或手部运动由观察摄像机捕获并且作为六轴数据传输到hmd104的微控制器。来自hmd104和/或hhc106的六轴数据被解译来生成输入数据。解译的输入数据从hmd104传输到计算机172以影响游戏程序的结果。在一些实施例中,由观察摄像机捕获的头部和/或手部运动被直接传输到处理器176,在所述处理器处它被解译来生成六轴数据。观察摄像机观察用户的运动(头部和/或手部),并且该信息用于向游戏程序提供反馈以影响游戏状态变化。在该实施例中,与游戏程序117相关的任何其他输入数据由hmd104传输到处理器,并且处理器176利用六轴数据解译其他输入数据以确定游戏的游戏状态是否需要改变。基于所述解译,改变游戏的游戏状态。在一些实施例中,来自hmd104的输入数据包括由外部摄像机101捕获并且从hmd104的通信电路发送到计算机172的通信电路178的现实世界环境数据。现实世界环境数据可用于影响在hmd104的屏幕的某些部分处渲染的虚拟游戏场景。在各种实施例中,hmd104用于显示二维或三维图像。

在一些实施例中,观察摄像机可为在hmd和hhc处设置的跟踪运动的视频摄像机。观察摄像机捕获设置在hmd和hhc的面板上的各种标记元件的图像,并且将hmd和hhc的标记元件的位置与三维空间关联。每个标记元件可为发光二极管、红外光、颜色、反射材料、具有经由图像分析容易识别的特殊特征或特性的对象等。此外,hmd104还可包括特殊的视觉标记(未示出),诸如特定几何形状的反射区域、具有特定颜色的区域(例如,蓝色矩形等)或标记(例如,hmd的表面上的三条平行线)。在一些实施例中,hmd还包括在hmd的侧面和/或背面(即,hmd的触摸头部后部的一部分)上的附加标记元件,以通过检测相应的光或视觉标记来进一步在视觉上跟踪hmd的位置。

在各种实施例中,观察摄像机可为移动视频摄像机。例如,视频摄像机(未示出)可附接到机器人装置,例如多轴直升机、机器人臂、机器人、机器人车辆、机器人汽车、四轴飞行器等。例如,视频摄像机可附接在机器人装置的下方、顶部上、侧面,以便捕获hmd和/或hhc的图像。hmd随着用户108的头部的移动而移动。在若干实施例中,可使用数字摄像机代替视频摄像机。

在一些实施例中,观察摄像机可为立体摄像机,所述立体摄像机是包括两个或更多个镜头的摄像机,针对每个镜头具有单独的图像传感器。单独的图像传感器使得立体摄像机能够捕获提供深度错觉的对象的三维图像。

在另一个实施例中,观察摄像机可为红外(ir)摄像机,其用于分析在hmd上提供的红外光。红外光对人眼不可见,但是可由红外摄像机容易地检测到。hmd可包括红外灯以避免hmd外观的分散。在一些环境(例如,低光或强光)中,跟踪红外光比用于检测hmd中的位置、形状和/或特征的其他类型的光更容易。红外(ir)摄像机提供跟踪对象(诸如hmd)的增强成像和热成像。ir摄像机还可用作注视检测摄像机以检测用户的注视方向。

在又一个实施例中,观察摄像机可为普通摄像机。在一些实施例中,观察摄像机可为单摄像机,其中镜头(即,单个镜头)用于跟踪hmd中被配置用于视觉跟踪的灯或其他标记元件。为了利用普通摄像机确定在游戏区域内的hmd的深度,分析hmd上的一些特征的大小。特征越小,所述特征就应该越远离hmd的摄像机。在一些实施例中,可通过使用多于一个观察摄像机来确定游戏区域内的hmd的深度。此外,视觉跟踪还可与其他类型的跟踪进行组合,诸如惯性运动跟踪、航位推测、hmd与计算装置之间的超声通信等。

观察摄像机通过跟踪hmd的一个或多个标记元件来捕获hmd104的图像。当用户108的头部倾斜或移动时,hmd的标记元件的位置和定位在坐标系中改变。数字摄像机捕获标记元件的图像并且将图像发送到计算机172。标记元件的图像是输入数据的示例。hmd104在三维空间(x、y、z)中的位置可由计算机172的处理器176基于图像中的标记元件的位置来确定。此外,hmd104的惯性运动(例如,偏航、俯仰和侧倾等)由计算机172的处理器176基于标记元件的移动来确定。在计算机172不可用的情况下,来自观察摄像机的标记元件的图像被发送到hmd104的处理器,并且hmd的处理器将使用标记元件的坐标来确定hmd的位置。

在一些实施例中,观察摄像机捕获hhc106的图像。当用户108的手倾斜或移动时,hhc上的标记元件的位置和定位在坐标系中改变。观察摄像机捕获hhc上的标记元件的图像,并且将图像发送到计算机172或hmd104的处理器。hhc上的标记元件的图像是输入数据的示例。hhc106在三维空间(x、y、z)中的位置可由计算机172的处理器176或者由hmd104的处理器通过分析图像中标记元件在hhc上的位置来确定。此外,hmd104的惯性运动(例如,偏航、俯仰和侧倾等)由计算机172的处理器176或者由hmd104的处理器基于hhc的标记元件的移动来确定。

在其中hmd104使用有线连接通信连接到计算机172的一些实施例中,hmd被配置成检测有线连接中的中断,以便暂停在hmd104的屏幕上渲染的虚拟游戏场景。hmd检测到通信连接的中断,相应地生成信号并且将信号中继到计算机172以使计算机172暂停游戏程序的执行并且存储用于游戏的会话的游戏状态和游戏场景。来自hmd的电池的电力可用于在通信连接(即连接的状态)中断期间提供用于与计算机172通信的电力。一旦计算机172从hmd104获得已重新建立有线连接的信号,就可恢复游戏程序的执行。在一些实施例中,在恢复hmd与计算机172之间的连接时,计算机172可从中断点开始流式传输游戏场景。在另一个实施例中,计算机172可从由连接中断引起的暂停之前的点(例如,暂停前几百帧)开始流式传输游戏场景,使得用户可花一些时间沉浸在游戏中。在该实施例中,计算机172可允许用户重新执行游戏的部分以允许用户进入游戏。hhc与hmd之间的通信以及hhc与计算机172之间的通信可遵循无线通信协议。

在一些实施例中,hmd104可包括一个或多个内部摄像机(例如,注视检测摄像机)103,以检测用户的眼睛移动、注视方向、注视模式等的变化。内部摄像机103还可用于在提供对游戏的访问之前识别/认证用户。

尽管提供了关于游戏环境的详细描述,但是可设想的是,也可在与计算机系统的交互通信期间进行连接。计算机系统可为通用计算机,具有允许用户在空间中呈现和做出手势的图形用户界面,所述手势控制图标、输入、选择、文本和其他命令。

关于用于跟踪标记对象的方法的更多信息,可参考2011年8月15日提交并于2012年3月22日公布的美国专利申请公开号2012-0072119以及2008年10月27日提交并于2010年4月29日公布的美国专利申请公开号2010-0105475,所述两个美国专利申请的全部内容都通过引用的方式并入本文。

在一些实施例中,一对或多对立体摄像机、一个或多个红外摄像机和/或一个或多个普通摄像机或其组合可用来确定hmd的相对位置以及由用户的头部运动以及控制器(包括佩戴用于提供输入数据的可穿戴制品/装置的用户的手)提供的hmd的运动。

一个或多个内部摄像机(例如,注视检测摄像机等)可安装在hmd上并且面向内朝向用户以捕获与用户相关的图像并且将图像馈送到通信模块以将用户特定和环境特定的数据提供给hmd。内部摄像机可用于识别佩戴hmd的用户,所述内部摄像机可用于获得用户的用户配置文件。因此,内部摄像机可被配置成采用视网膜扫描技术和/或虹膜扫描技术以扫描用户的视网膜或虹膜,并且使用来自扫描的数据来生成用户的至少一个生物特征标识。用户的生物特征标识可为用户配置文件的一部分。内部摄像机还可包括注视检测摄像机,所述注视检测摄像机配备有注视检测器算法,以检测用户注视的方向并且基于所述检测调整在hmd的屏幕上渲染的图像数据。在一些实施例中,内部摄像机是ir摄像机。注视检测技术还可用于认证用户。例如,可要求用户跟踪在屏幕上渲染的对象或者跟踪在屏幕上渲染的随机生成的字母、对象或图案(例如,圆形、三角形、矩形等)。在一些实施例中,可为用户提供口头或文本命令以跟踪屏幕上的字母、对象或图案,并且通过使用注视检测技术对用户进行认证。用户的认证可用于允许访问用户账户、游戏、游戏的某些部分或级别等。

hmd的内部摄像机和外部摄像机联合工作以确定用户的注视并且将注视与用户注视的视线中的对象关联。hmd的游戏处理模块包括用于计算用户注视的方向并且将其与计算的方向的视野内的对象关联的软件。

例如,内部摄像机109检测并跟踪用户的眼睛移动和注视。内部摄像机109可用于在一段时间内确定用户的注视方向(例如,当用户正在一段时间内观看在显示屏上渲染的图像中的特定对象或点时),检测在一段时间内的注视模式(例如,当用户跟随对象、跟踪模式等时)和/或检测注视方向的变化(例如,眼睛的往复移动、眼睛的转动等,这可能是用户出现头晕或疲劳的迹象,尤其是在高强度游戏中)。响应于检测到的眼睛移动或注视或者基于在游戏内发生的触发事件或者在紧邻佩戴hmd的用户的环境中,hmd的内部摄像机与hmd的外部安装的摄像机并且与观察摄像机通信以确定是否需要调整提供用于在hmd的屏幕上渲染的数据。

图2是hmd104的通信架构的框图。hmd104包括一些示例性控制模块或传感器,诸如视频音频分离器254、视频解码器255、存储器装置256、wac258、流缓冲器259、一个或多个扬声器260、电池261、用户输入电路262、显示屏266、微控制器268、音频缓冲器272、观察数字摄像机274、外部数字摄像机274、音频编解码器276、内部数字摄像机278、视频缓冲器280、视频音频同步器282、麦克风284、led285和ir灯287、控制器/计算机通信电路289。led285和ir灯287表示用于跟踪hmd的位置的标记元件。

在许多实施例中,扬声器260形成音频电路。在各种实施例中,音频编解码器276、音频缓冲器272和/或扬声器260形成音频电路。在各种实施例中,微控制器268是控制在显示屏上渲染的图像的显示电路的一部分。显示屏266的示例包括led屏幕、液晶显示器(lcd)屏幕、硅基液晶(lcos)屏幕、有机led(oled)屏幕、等离子屏幕等。外部数字摄像机的示例包括眼球运动记录器,诸如由索尼电脑娱乐有限公司制造的playstation

微控制器268存储渲染程序286和操作系统288。渲染程序286和操作系统288存储在微控制器286的存储器装置中,并且由微控制器268的微处理器执行。微控制器268的示例包括低成本微控制器,其包括驱动器,例如lcd驱动器,所述驱动器生成信号以检测元件(例如,lcd等)、提供媒体数据以便在显示屏266上显示。微控制器的另一示例包括gpu和存储器装置。

在一些实施例中,微控制器的存储器装置不是闪存或随机存取存储器(ram)。例如,微控制器的存储器装置是缓冲器。在各种实施例中,微控制器的存储器装置是闪存或ram。用户输入电路262的示例包括陀螺仪、磁力计和加速度计。在一些实施例中,用户输入电路262还包括全球定位系统(gps)、罗盘或任何位置跟踪装置。wac258的示例包括nic。在一些实施例中,wac258在本文中称为通信电路。

编码的媒体数据流从网络110或路由器152接收到流缓冲器259中。应注意,当路由器152耦合到计算机172时,从计算机172接收的数据被存储在hmd250的缓冲器(未示出)中或者存储在存储器装置256中,而不是存储在流缓冲器259中。

wac258访问来自从计算机或编解码器112接收的流缓冲器259的编码媒体数据流,并且对所述流进行解包。wac258还包括用于对编码的媒体数据进行解码的解码器。

在其中由计算机172经由路由器152接收编码媒体数据流的实施例中,计算机172的nic174对编码媒体数据流进行解包和解码,以生成存储在hmd250的缓冲器(未示出)中的解码数据。

由视频音频分离器254从wac258或从缓冲器(未示出)访问解码数据。视频音频分离器254将解码数据内的音频数据与视频数据分离。

视频音频分离器254将音频数据发送到音频缓冲器272并且将视频数据发送到视频缓冲器280。视频解码器255将例如视频数据和/或视频数据的变化从数字形式解码成模拟形式以生成模拟视频信号。视频音频同步器282使存储在视频缓冲器280中的视频数据与存储在音频缓冲器272中的音频数据同步。例如,视频音频同步器282使用视频数据和音频数据的回放时间来使视频数据与音频数据同步。

音频编解码器276将同步的音频数据从数字格式转换为模拟格式以生成音频信号,并且音频信号由扬声器260回放以生成声音。微控制器268执行渲染程序286以基于由视频解码器255生成的模拟视频信号在显示屏266上显示游戏。在一些实施例中,在显示屏266上显示的游戏被显示与音频信号的回放同步。

此外,用户对麦克风284说话,所述麦克风将声音信号转换为电信号,例如音频信号。音频编解码器276将音频信号从模拟格式转换为数字格式以生成音频数据,所述音频数据被存储在音频缓冲器272中。存储在音频缓冲器272中的音频数据是基于用户的声音生成的输入数据的示例。音频数据还可包括在hmd处生成或者由hmd中的扬声器检测的其他音频信号。音频数据由wac258从音频缓冲器272访问,以经由网络110发送到游戏云102的编解码器112。例如,wac258对从音频缓冲器272访问的音频数据进行打包和编码,以经由网络110发送到编解码器112。

在一些实施例中,音频数据由wac258从音频缓冲器272访问,以经由路由器152和网络110发送到游戏云102的编解码器112。例如,wac258对从音频缓冲器272访问的音频数据进行打包和编码,以经由路由器152和网络110发送到编解码器112。

内部数字摄像机278捕获佩戴hmd的用户的眼睛移动的一个或多个图像以生成图像数据,所述图像数据是基于头部动作和/或眼睛移动在hmd处生成的输入数据的示例。类似地,安装在hmd上的观察数字摄像机274和/或外部数字摄像机274捕获用户108的手和/或位于hmd250上和/或用户108的hhc/手套/手上的标记、佩戴hmd的用户的头部运动的一个或多个图像以生成图像数据,所述图像数据是基于手部/头部运动生成的输入数据的示例。由数字摄像机274、275和278捕获的图像数据被存储在视频缓冲器280中。

在一些实施例中,由数字摄像机274、275和278捕获的图像数据被存储在hmd250的缓冲器中,并且缓冲器不是视频缓冲器280。在各种实施例中,由数字摄像机274、275和278捕获的图像数据由视频解码器255解码并且发送到微控制器268以便在显示屏266上显示图像。

由数字摄像机274、275和278捕获的图像数据由wac(无线访问卡)258从视频缓冲器280访问,以经由网络110发送到游戏云102的编解码器112。例如,wac258对从视频缓冲器280访问的图像数据进行打包和编码,以经由网络110发送到编解码器112。

在一些实施例中,视频数据由wac258从视频缓冲器280访问,以经由路由器152和网络110发送到游戏云102的编解码器112。例如,wac258对从视频缓冲器280访问的视频数据进行打包和编码,以经由路由器152和/或网络110发送到编解码器112。

控制器/控制台通信电路289从计算机172接收媒体数据,以便存储在缓冲器(未示出)中。此外,控制器/控制台通信电路289接收来自hhc106的输入信号,将输入信号从模拟形式转换为数字形式以生成输入数据,所述输入数据由wac258访问以经由网络110发送到游戏云102的编解码器112。例如,wac258对从控制器/控制台通信电路289访问的输入数据进行打包和编码,以经由网络110发送到编解码器112。

在一些实施例中,输入数据由wac258从控制器/控制台通信电路289访问,以经由路由器152和网络110发送到游戏云102的编解码器112。例如,wac258对从视频缓冲器280访问的视频数据进行打包和编码,以经由路由器152和网络110发送到编解码器112。

应注意,代替控制器/控制台通信电路289,可使用两个单独的通信电路,一个用于与计算机172通信(例如接收、发送数据等),并且另一个用于与hhc106传达数据。

在许多实施例中,解码器位于wac258外部。在各种实施例中,流缓冲器259位于wac258内。

在一些实施例中,hmd104不包括观察数字摄像机274。在若干实施例中,hmd104包括任何数量的微控制器、任何数量的缓冲器和/或任何数量的存储器装置。

在各种实施例中,hmd104包括向部件提供电力的一个或多个电池261,所述部件例如视频音频分离器254、存储器装置256、无线访问卡258、流缓冲器259、一个或多个扬声器260、用户输入电路262、显示屏266、微控制器268、音频缓冲器272、外部数字摄像机274、音频编解码器276、内部数字摄像机278、视频缓冲器280、视频音频同步器282、麦克风284以及控制器/计算机通信电路289。一个或多个电池261用可插入交流电插座中的充电器(未示出)来充电。

在许多实施例中,输入数据和/或媒体数据在本文中称为交互式媒体。

在一些实施例中,hmd104包括通信电路,以经由配对促进本地用户之间的对等多信道通信。例如,hmd104包括收发器,所述收发器调制从麦克风284接收的声音信号,并且经由信道将经调制的信号发送到另一个hmd(未示出)的收发器。另一个hmd的收发器对信号进行解调以提供给另一个hmd的扬声器以促进用户之间的通信。

在各种实施例中,由hmd104的收发器使用不同的信道来与不同的其他hmd通信。例如,经调制信号被发送到第一其他hmd的信道不同于经调制信号被发送到第二其他hmd的信道。

在一些实施例中,wac258、用户输入电路262、微控制器268和视频解码器255被集成在一个或多个单独的电路芯片中。例如,wac258、视频解码器255和微控制器268被集成在一个电路芯片中,并且用户输入电路262被集成在另一个电路芯片中。作为另一个示例,wac258、用户输入电路262、微控制器268和视频解码器255中的每一个被集成在单独的电路芯片中。

hmd的各种模块用于检测用户的注视方向和/或hmd处的动作,并且调整在hmd的显示屏上呈现的图像以与检测到的注视方向和/或动作对应。

图3示出了在一些实施例中hmd和计算机中涉及的用于检测由用户提供的注视方向和/或动作并且用于调整在hmd的显示屏处呈现的图像的各种通信模块的广泛概述。应注意,仅少数模块被示出涉及调整在hmd的显示屏处呈现的图像,但是实际上hmd内的其他模块涉及调整在hmd上呈现的图像的过程。各实施例可用于通过增强由安装在hmd上的一个或多个前向摄像机捕获的现实世界环境的图像的一部分来提供现实世界环境的增强现实。替代地,各实施例可用于调整在hmd处呈现的虚拟现实(vr)场景。vr场景可来自用户的游戏玩法的预先录制的视频、地点或事件的预先录制的视频、视频游戏的游戏场景等。

在一个实施例中,hmd用于增强现实世界环境。在该实施例中,hmd104的各种部件与计算机172的部件一起工作,以检测用户的注视方向并且增强在hmd的屏幕上渲染的图像的与用户的所检测的注视方向成一直线的某些部分。

在该实施例中,hmd104的控制器/控制台通信电路(或者在本文简称为“cc通信电路”)289接收通过一个或多个前向摄像机274从佩戴hmd104的用户附近捕获的现实世界环境的图像作为图像帧。图像帧由cc通信电路289处理。作为处理的一部分,可根据为hmd与计算机172之间的通信连接建立的通信协议来对图像帧进行加密,并且将其流式传输到计算机172。

计算机172的通信装置178接收流式图像帧并且对数据进行解密并将解密的图像数据转发到处理器。处理器包括图像分析模块(未示出),所述图像分析模块被配置成通过使用工业中众所周知的不同建模工具(例如,使用多个立体摄像机)来构造在图像中捕获的现实世界环境的三维模型来分析图像数据。三维模型保持在存储器中并且在从hmd接收新图像数据时更新。在一些实施例中,处理器可生成图像的二维格式并且将其转发到hmd以便在hmd的显示屏上渲染。对于关于将图像数据从三维格式转换为二维格式的更多信息,可参考2014年3月20日提交的并且标题为“共享三维游戏玩法”的申请号14/220,420,所述申请的全部内容都通过引用的方式并入本文。在观看现实世界环境期间,可同时接收来自注视检测摄像机的图像、由cc通信电路处理并且作为注视图像帧转发到计算机。图像分析模块分析注视图像帧以识别用户的注视方向。当确定用户的注视指向hmd的显示屏的特定部分时,图像分析模块可将检测到的用户的注视方向与所生成的现实世界环境模型内的对象或点关联,以识别引起用户注意的对象或点。

图像分析模块在观看现实世界环境的持续时间内继续跟踪用户的注视方向。当确定用户的注视已在预定义时间段内指向对象或点时,图像分析模块可生成指示hmd调整一个或多个前向摄像机的镜头的变焦因子使得可放大用户感兴趣的对象或点的信号。在一些实施例中,用于调整变焦因子的信号可包括用于调整前向摄像机的镜头的焦距以便使摄像机放大对象的信号。在一些实施例中,用于调整焦距的信号可包括用于控制调整焦距的速度的信号。焦距的调整速度可由在现实世界环境中捕获的内容的类型驱动或者可取决于用户。例如,如果用户能够处理更快的放大,则与无法处理更快放大的用户相反,可将调整焦距的速度设置得较高。在一些实施例中,用于调整变焦因子的信号还可包括用于调整一个或多个前向摄像机的镜头的光圈调校以便影响捕获对象的图像的深度的信号。除了提供用于调整焦距和速度的信号之外,所述信号还可包括用于调整屏幕(即,hmd的屏幕或者外部显示表面)的亮度等级使得在屏幕上渲染的对象清晰且聚焦地出现的信号。

在一些实施例中,可生成信号以增强在现实世界环境的图像帧中捕获的音频分量。在这种实施例中,可生成信号以仅调整音频分量。例如,当确定佩戴hmd的用户正在接近vr场景的边缘或者在物理环境中为用户定义的交互区域的边界或者正在接近物理环境中的对象或人物时,可生成用于调整音频分量的信号。

在替代实施例中,可仅增强视频分量。在一些实施例中,可由用户提供用于增强图像帧的音频分量、视频分量或者音频和视频分量两者的命令。在这种实施例中,cc通信电路可接收来自用户的命令并将所述命令转发到计算机,使得计算机中的图像分析模块可识别现实世界图像的需要增强的适当部件或部分。在一些实施例中,可通过音频命令提供命令,并且可通过麦克风控制器284接收这种音频命令、由cc通信电路289处理并且转发到计算机以便进行进一步处理。计算机处理命令并且向hmd生成适当的信号,使得可调整相关的内容渲染部件以提供增强的内容。

图4a-图4c示出了在一个实施例中响应于检测到用户的注视方向来调整在hmd处渲染的现实世界环境的图像的示例。图4a示出了用户在时间t0处观看由hmd的前向摄像机捕获并且在hmd的显示屏上渲染的现实世界湖景。在渲染湖景时,注视检测摄像机保持跟踪用户的注视方向以确定用户的注视是否固定在显示屏上渲染的点或对象上。在一个实施例中,分析由注视检测摄像机捕获的图像以识别用户的注视方向确实指向显示屏的特定部分或点。随后确定用户的注视方向是否至少持续至少预定义时间段朝向显示屏的特定部分或点。如果确定用户的注视已移位,则hmd不发起触发事件,并且hmd继续从湖景渲染图像。然而,如果确定用户的注视继续指向显示屏的特定部分或点至少预定义时间段(例如,4秒、6秒等),则在hmd处发起触发事件。在一个实施例中,作为发起触发事件的一部分,来自注视检测摄像机的图像被作为注视检测图像帧转发到计算机以便进行处理。在另一个实施例中,在hmd处计算显示屏的特定部分或点的坐标,并且将其作为用户注视数据转发到计算机以便进一步处理。

在提供注视检测图像帧的实施例中,在计算机处可用的图像分析模块用于分析注视检测图像帧并且通过将注视方向映射到由图像分析模块生成的湖景的三维模型来将用户的注视方向与湖景中的特定对象或点关联。如图4b所示,基于所述分析,确定用户的注视方向对应于位于湖景中的码头末端处的留言板。此外,所述分析识别对象(即,留言板)被以虚拟距离d1渲染在显示屏上,从而使得用户难以阅读所述消息。

在提供用户注视数据识别坐标以识别显示屏的特定部分或点的实施例中,在计算机处可用的图像分析模块将用户注视数据中提供的坐标与湖景中的特定对象或点关联。在一些实施例中,坐标以三维格式提供,并且图像分析模块可将坐标与为湖景生成的三维模型关联。在一些实施例中,坐标以二维格式提供,并且图像分析模块可将坐标与为湖景生成的二维模型关联。

如图4c所示,在识别出感兴趣的特定点或对象时,计算机将信号转发到hmd以调整前向摄像机的镜头的变焦因子,使得在湖景中捕获的对象被放大。响应于所述信号,所述对象现在以虚拟距离d2渲染,其中d2小于d1,从而使留言板更大,使得用户可读取警告消息。调整变焦速度以确保放大不会对用户产生任何不适或迷失方向感。尽管各种实施例讨论了增强由前向摄像机捕获的现实世界场景的图像分量的一部分,但是各实施例同样可被扩展以增强在现实世界环境中捕获的音频部分或视频部分。在一些实施例中,用于调整变焦因子的信号可包括用于调整前向摄像机的镜头的焦距的信号。在其他实施例中,除了或代替用于调整焦距的信号,可包括用于调整镜头光圈使得增强的对象或点看起来很清晰的信号。这可能需要调整镜头光圈以确保足够的光穿过图像传感器来提供已吸引用户兴趣的清晰且增强的对象视图。所述信号还可指定这种调整的速度,以便为用户提供对象的增强图像,而不会使用户经受任何不适或者产生迷失方向感或头晕或晕动病。

在一些实施例中,hmd和计算机可用于增强诸如视频游戏的游戏场景的虚拟现实场景的当前在hmd的显示屏上渲染的部分。在这种实施例中,hmd104的控制器/控制台通信电路(或者在本文简称为“cc通信电路”)289在媒体流中从计算机172接收游戏数据、将媒体流转发到图像处理模块290,在所述图像处理模块处解密媒体流以生成游戏数据。图像处理模块290配合hmd的其他部件来处理游戏数据的不同分量。经处理的游戏数据被转发到hmd的对应部件。例如,图像处理模块290可与视频/音频分离器254配合以分离游戏数据的视频分量和音频分量。图像处理模块290随后配合视频解码器255(图2)来解码游戏数据的视频分量,以识别视频帧并且将视频帧转发到显示控制器以便在显示屏上渲染。视频解码器255可使用视频缓冲器280来提供游戏数据的视频分量的缓冲,随后将其转发到显示控制器(即,显示屏266)以便进行渲染。视频缓冲用于最小化在显示屏266上呈现的游戏数据的延迟。类似地,图像处理模块290可配合音频解码器276(图2)以在hmd的一个或多个扬声器上渲染音频数据之前解码游戏数据的音频分量。音频解码器276可使用音频缓冲器272以在将音频部分转发到hmd的扬声器之前为游戏数据的音频分量提供缓冲。当然,当在hmd的各个部件处呈现时,音频分量和视频分量是同步的。

在一些实施例中,在呈现游戏数据期间,在hmd处跟踪用户的运动和动作以确定是否需要发起触发事件。例如,当确定用户的注视在至少预定义时间段内(例如,2秒、5秒等)指向显示屏上的特定对象或点时,可在hmd处发起触发事件。采用一个或多个注视检测摄像机278以监测用户的注视,以便确定用户的注视方向。注视检测摄像机跟踪用户的注视并且通过将用户的注视映射到在hmd的显示屏上渲染的对应的内容部分来确定注视方向。当确定用户的注视已在预定义时间段内指向在屏幕上渲染的内容的特定点、部分或对象时,注视检测摄像机捕获用户眼睛的图像并且将图像帧中的图像转发到cc通信电路289以便进行处理。cc通信电路289分析输入以检测用户的注视方向,当确定用户的注视在预定义时间段内固定在内容的特定点或对象上时发起触发事件,并且将与用户注视相关的数据(例如,坐标、图像等)转发到计算机172的通信装置178。计算机172使用注视方向数据并且将数据映射到当前正被提供用于在hmd的屏幕上渲染的视频图像,以识别已吸引用户注意力的游戏数据的特定点或对象。

在一些实施例中,用户的注视方向可能受到与游戏数据一起或在游戏数据中或在现实世界环境中提供的视觉提示的影响。例如,视觉提示可呈在感兴趣的对象或点处或附近的信标或方向箭头或突出显示或彩色闪光等的形式。视觉提示可吸引用户注意力,从而导致用户的注视方向朝向以虚拟距离渲染的对象移位。替代地,当在hmd104的显示屏上渲染时,用户的注视方向可能受到用户的注视特征的改变的影响,诸如使用户的眼睛变窄以试图聚焦在以虚拟距离出现的特定对象上。例如,感兴趣的对象或点可能难以让用户清楚地看到。在一些实施例中,响应于发起的触发事件,计算机172可生成指示游戏逻辑调整游戏数据使得对象聚焦的信号。在替代实施例中,信号可向hmd提供指令以调整图像的渲染,使得数字地放大vr场景中的感兴趣的对象或点。

在一些其他实施例中,响应于由注视检测引起的触发事件的发生,由计算机生成的信号可包括用于调整hmd的镜片的光学设置的指令。例如,信号可包括用于调整hmd的镜头的变焦因子的指令,使得在屏幕上渲染的对象可被放大并聚焦。对变焦因子的调整导致在hmd的显示屏上渲染对象的虚拟距离从第一虚拟距离到第二虚拟距离的改变,其中第二虚拟距离短于第一虚拟距离。虚拟距离的调整使得看起来对象更接近vr场景内的用户的相对位置。

在一些实施例中,vr场景可包括用户可能感兴趣的一个或多个点或对象。如前所述,vr场景可为由用户或内容提供商提供的预先录制的视频、用户的视频游戏玩法的录制等。预先录制的视频可包括可能已由其他用户或内容提供商识别为感兴趣的一个或多个感兴趣的对象或点。可使用标签、信标、突出显示、彩色闪光或任何其他形式的视觉或音频提示来识别对象。vr场景中的这些视觉提示可影响用户在特定方向上注视。计算机中的图像分析模块确定用户的注视方向,并且识别vr场景内先前已识别并且与注视方向成一直线的对象或点中的一个。

在一些实施例中,一旦已识别感兴趣的对象或点,就可向用户提供用于确认感兴趣的对象或点的身份的选项。例如,所述选项可提供为hmd或hhc上通信地耦合到hmd以供用户选择的按钮、在hmd的显示屏处的用户界面上呈现的可使用在hhc或hmd中设置的控件来选择的选项、音频选项、手势选项(例如,由外部图像捕获装置捕获的摆动或波动、由用户提供并且由hmd的图像捕获装置检测到的眨眼或闪烁、轻击hhc或hmd的输入垫、hhc或hmd的输入垫上的滑动动作等)。在选项处提供的用户选择和/或动作使用用户输入电路262捕获并且由cc通信电路289处理。基于用户选择,计算机可向hmd生成信号以调整hmd的镜头的变焦因子或者调整vr场景的图像,使得所选择的对象可以虚拟距离聚焦,从而使得对象看起来清楚、清洗并且靠近用户眼睛而使其可辨别。

在一些实施例中,计算机处可用的图像处理算法可使用由各种用户在vr场景中识别的感兴趣的点,并且定义在用户可被远程传送的感兴趣的点附近的区域。区域是预定义的,以便考虑感兴趣的点附近或周围的地形属性。例如,如果在hmd的显示屏上呈现山景,则可在山的不同海拔处识别各种感兴趣的点作为潜在观景点。在一些实施例中,这些感兴趣的点用于定义用于远程传送用户的虚拟区域。当定义感兴趣的对象或点周围或附近的虚拟区域时,图像处理算法考虑vr场景的地形或其他特征。在一些实施例中,vr场景中的感兴趣的对象或点附近或周围的预定义虚拟区域可用于“远程传送”用户。这些虚拟区域被映射到佩戴hmd的用户正在其中操作的物理空间,并且在物理空间内定义移动区域以供用户在观看vr场景时提供交互。

在一个实施例中,远程传送用户可包括调整在hmd的显示屏上呈现的vr场景的图像。以这种方式调整vr场景的图像,以使得看起来用户已转移到由与如例如通过注视方向定义的vr场景中的已引起用户的兴趣或注意的对象或点相关联的预定义虚拟区域定义的新位置。在一些实施例中,作为远程传送用户的一部分,调整vr场景的图像,使得在hmd处渲染的vr场景反映来自预定义虚拟区域的视图。例如,在山景中,当用户被远程传送到接近观景点的预定义区域时,在hmd的显示屏上渲染的内容是从所述观景点看到的山景的视图。在渲染经调整的内容之后,用户在物理空间中的任何移动被转换为用户在观景点处的远程传送的预定义虚拟区域中的移动,并且根据检测的用户的移动来调整虚拟场景的内容。例如,如果用户将他的头部向右移动,则渲染来自虚拟场景的右侧的场景,并且当用户将其头部向下移动时,渲染与用户的注视方向成一直线的山谷场景。在一些实施例中,对vr场景的调整在预定义的时间段内执行,并且在预定义的时间段期满之后,渲染在调整之前的vr场景的图像。

图5a和图5b识别在一个实施例中的vr场景的一个这种示例,所述vr场景识别由其他用户或者由计算机识别的用户可远程传送到的各种观景点或者感兴趣的对象/点。图5a示出了在一个实施例中的沿着风景路线的休息站的场景,所述休息站在用户的hmd的显示屏上渲染,其中休息站处的不同的感兴趣的对象或点由其他用户或者由计算机通过分析场景的图像而识别。在该实施例中,场景是由用户或系统捕获并且可供其他用户使用的预先录制的现实世界场景。在一些实施例中,场景可为由交互式应用程序(例如像游戏应用程序)提供的虚拟场景。在一些实施例中,所识别的感兴趣的对象或点与标签相关联,或者使用视觉或听觉提示来识别。例如,在沿着观光游览道路的休息站的场景中识别的一些感兴趣的点可包括鸭池、野餐区、加油站、山道上的一个或多个观景点、游乐区、溪流上的跨桥以及休息室。当在hmd处呈现时,可使用突出显示、信标、轮廓、箭头、闪光灯等或者通过声音或其他听觉提示来识别这些感兴趣的点中的每一个。为简单起见,在图5a中使用附图标记1-9识别感兴趣的点。在一些实施例中,在hmd处的vr场景的演示期间,(例如,在视觉上或听觉上)自动识别场景(vr或现实世界场景)中的感兴趣的对象或点。在其他实施例中,在vr场景的演示期间可能需要hmd处的用户交互以使得vr场景中的感兴趣的对象或点被在视觉上或听觉上识别。例如,可能需要在hmd上按下按钮以便突出显示与当前vr场景相关联的感兴趣的点。在hmd上渲染的场景还可识别在场景中识别的不同的感兴趣的点处或附近的预定义的虚拟区域。在图5a所示的场景中,佩戴hmd的用户正在从在鸭子所在的池塘附近识别的点1附近的预定义的虚拟区域观看vr场景。

图5b示出了在一个实施例中在感兴趣的点或对象周围或附近识别的其他预定义的虚拟区域。可基于地形以及虚拟区域与之相关联的感兴趣的对象或点的性质或类型来识别虚拟区域。在图5b中,由附图标记识别的每个感兴趣的点(1-9)具有与其相关联的对应的预定义的虚拟区域(1'-9')。池塘附近的预定义的虚拟区域(由附图标记1表示)可为用户可接近(意味着没有可抑制用户在虚拟空间中的移动的障碍物(诸如树木、灌木、结构等))的池塘周围的路径1'。类似地,加油站的虚拟区域(由附图标记3表示)可被识别为在包括气泵的加油站前方和在加油站的侧方的区域(由附图标记3'表示)。此外,在一些实施例中,在各个感兴趣的点附近可用的预定义的虚拟区域被映射到用户在其中操作的物理空间,使得物理空间中的任何移动可与用户在虚拟空间中的移动关联。

用户在物理空间中的移动可与用户在vr场景中的动作关联,所述移动用于引起在hmd上渲染的场景的改变。例如,用户可最初(即,时间t0)开始从在点1附近定义的预定义区域1’观看包括沿着图5a所示的风景路线的休息站的vr场景。在观看vr场景时,可监测用户的注视。当系统检测到用户的注视方向从时间t3-t8指向点2时(例如,至少预定义的4秒周期),在预定义时间段期满之后,用户被“远程传送”到在第2点周围定义的预定义区域2'(即,用户在时间t7与t8之间远程传送)。远程传送可能是突然的或者可能是逐渐完成的,并且远程传送的速度取决于用户的偏好、正在渲染的内容的类型等。远程传送使得在hmd的显示屏处渲染的图像被调整以便将在hmd处渲染的vr场景的视图改变为从用户在由预定义区域2'定义的新位置处的视角渲染的新视图。作为远距传送的一部分,在点2周围的vr场景的某些部分可能看起来更大或更近,而在点2附近的其他部分被以一定距离呈现。vr场景的方向基于用户的注视方向,并且从用户的角度呈现vr场景。在将用户远程传送到新位置2'之后,系统继续监测用户的动作、运动和注视方向。当检测到用户的注视方向已转移到点7时,系统确定用户的注视方向是否至少在预定义时间段(例如,4秒)内在点7上。当确定用户的注视已至少在预定义时间段内在点7上时,系统将用户远程传送到与点7相关联的预定义区域7'并且从用户的新位置的视角渲染所述点vr场景的图像。在将用户远程传送到新位置(预定义区域7')之后,当确定用户未在一定的时间段内改变他的注视方向时,在一个实现方式中,用户可被留在新位置处直到检测到改变为止。在替代实现方式中,用户可通过在一定的时间段之后将用户远程传送到点1附近的预定义区域来返回原始视图,并且从接近点1的预定义区域向用户呈现vr场景。

图6示出了在一个实施例中基于用户的注视方向识别用于调整在用户的hmd的显示屏上渲染的图像的转变点的图形表示。在时间t0处,用户可能当前正在观看包括对象a以及其他感兴趣的对象和点(图中的点1)的vr场景。在时间t3处,系统可检测到用户的注视方向聚焦在vr场景中的对象a(图中的点2)上。系统继续监测用户的注视方向,并且在时间t4处,系统可确定用户的注视方向在预定义的时间段内保持在对象a上,并且在预定义的时间段内选择、突出显示对象a(图中的点3)。在一些实施例中,作为突出显示的一部分,可概述感兴趣的对象或感兴趣的点,以识别已吸引用户注意力的感兴趣的对象或点。

除了概述或突出显示感兴趣的对象或点之外,系统还可生成请求并将其呈现给用户以获得所选择的感兴趣的对象或点确实是已抓住用户兴趣的感兴趣的对象或点的确认。可在预定义时间段内呈现确认。响应于所述请求,用户可通过hmd处的动作(例如,按下按钮、在hmd处提供的触摸界面上轻扫等)或者使用控制器(例如,使用控制器或经由音频命令等按下按钮或轻扫手势)来提供确认。通过将用户动作与感兴趣的对象或点的标签相关联来使用户动作与感兴趣的对象或点相关联。在预定义时间段期满之后或者在从用户获得确认之后,如果用户的注视方向继续保留在对象a上,则系统生成用于调整对象a的图像使得对象a被放大的信号。在显示屏处调整对象a的图像的速度可由正在渲染的内容的类型(例如,高强度视频游戏场景,低强度虚拟旅游等)、类型、对象的属性(静止或移动)并且通过用户的舒适水平驱动。例如,如图中的点4所示,如果对象a是静止对象,诸如图4a-图4c中所示的留言板,并且/或者用户能够(基于用户对在hmd上渲染的各种内容(包括移动对象)的反应)处理快速放大,则可快速地放大对象a。然而,如果用户喜欢较慢的调整,则对象a可如点4'所示以中等速度放大或者如点4″所示以较慢的速度放大。

在一些实施例中,调整由hmd呈现的视图,使得来自vr场景的图像在背景中被渲染,并且放大的对象的图像被提供为vr场景的顶部上的叠加。在一些实施例中,如点5所示,具有放大对象a的vr场景在一定的时间段(例如,3秒、4秒等)内渲染并且hmd的显示屏被恢复回观看来自在放大对象a之前向用户显示的vr场景的图像。另一方面,如对象a的虚线上的点3'所示,如果当对象a被突出显示的时间段小于预定义时间段时,用户的注视方向已从对象a转移,则系统可保留当前的vr场景视图。

已关于vr场景或在hmd的显示屏上渲染的现实世界环境的图像以及正在放大的对象的图像详细描述的各种实施例也可扩展成其中由hmd将vr场景或现实世界环境的图像投影到hmd外部的显示表面上的实施例。在这种情况下,放大的对象的图像也呈现在由hmd将vr场景或现实世界环境的图像投影到其上的显示表面上。在替代实施例中,当对象被放大时,放大的对象可呈现在hmd的显示屏上,同时vr场景被投影到显示表面上,反之亦然。

在另一个实施例中,(基于用户的注视方向)已吸引用户注意力的对象可为移动对象,对象b。在这种实施例中,可以考虑对象b移动的速度的方式来执行对移动对象b的调整。如图6所示,如点11所示,当检测到用户的注视方向在移动对象b上时(在点10处),选择并突出显示对象b。如点12所示,当确定用户的注视方向至少在预定义时间段内继续保持在对象b上时,用户的注视方向继续被监测并且对象b被放大。放大对象b的速度可考虑对象b移动的速度,以便提供对象b的增强图像,而不会在继续以足够的清晰度和焦点呈现对象b时使用户感到任何不适。在一些实施例中,当为用户渲染对象b的增强图像时,可基于对象和/或佩戴hmd的用户的头部的移动速度来动态地调整与hmd的显示屏相关联的观看宽度。显示屏的观看宽度的动态调整是调整呈现给用户的视野,以便减少晕动病和/或帮助使用户适应新环境。在恢复存在对象b的vr场景的当前视图之前,如点13所示,在一定的时间段内渲染经调整的对象b。

在一些实施例中,放大对象的速度、变焦量等可考虑佩戴hmd的用户眼睛的视觉特征。视觉特征因用户而异并且识别用于检测用户眼睛中的影响用户的视觉清晰度的异常的光学因素。在一些情况下,视觉特征用于确定可使用矫正眼镜或镜片来矫正的眼睛的常见屈光不正。当确定对象的放大速度或量时,可考虑与用户相关联的这些视觉特征的细节。

在一些实施例中,用于调整对象的图像的信号可包括用于在从现实世界环境捕获对象的图像时调整前向摄像机的镜头的焦距的信号,或者用于调整镜头的光圈调校以便引起对对象的深度的调整的信号或者用于调整对象的亮度等级使得用户可能够清楚地观看对象的信号等等。在一些实施例中,也可(通过增强和减小亮度等级)调整在其上正在渲染对象的图像的屏幕的亮度等级,以使得能够观看当在屏幕上渲染时的对象。

在一些实施例中,hmd的显示屏可分成第一部分和第二部分。可在第一部分中渲染已引起用户的兴趣的对象,并且可在第二部分中渲染剩余内容(现实世界环境或vr场景)。显示屏可水平、垂直、对角、径向等分割或者在任何其他方向上分割,以允许以变焦因子调整将要渲染的感兴趣的对象或点,同时允许用户在没有中断的情况下观看vr场景。例如,可根据已吸引用户注意力的对象移动(例如,抛出或弹跳球等)的方向来分割屏幕。

在一些实施例中,响应于所述信号,可分割由hmd提供的现实世界环境/vr场景和对象的图像的视图,使得现实世界环境或vr场景的图像在第一屏幕上渲染,并且对象的图像在第二屏幕上渲染。例如,可使用在hmd内可用的投影仪机构将vr场景投影到hmd外部的显示表面(即,第一屏幕)上,同时在hmd的显示屏(即第二屏幕)上渲染对象的增强图像。在一些实施例中,投影仪机构可在hmd外部,但是可使用在hmd处提供的输入或者通信地耦合到hmd的控制器来控制。在另一个示例中,hmd外部的显示表面可用于投影对象的增强图像,同时来自vr场景的图像被渲染在hmd的显示屏上。

在一些实施例中,物理空间中的用户移动用于调整在hmd上渲染的vr场景中的图像。用户在物理空间中的移动可由vr场景中的预定义区域中可用的空间量来控制。在一些实施例中,在hmd处呈现的vr场景将基于检测到的移动来识别用户的相对位置,并且调整vr场景中的图像以与检测到的移动关联。为了帮助用户确定物理世界中的可用空间,系统可提供物理世界中的对象的轮廓作为vr场景上的叠加,其中用户在vr场景中的初始位置被突出显示或呈现为十字标识符或者使用其他识别技术。当用户四处移动时,用户的移动被反映在vr场景内的对象附近的预定义虚拟区域中。当用户移动靠近预定义虚拟区域的边界时,向用户提供视觉或听觉警告。在一些实施例中,对山的悬崖的场景的视觉警告向用户指示他正在移动靠近边界。类似地,用户在物理世界中的移动可被映射到可用于用户在物理世界中移动的空间。物理世界中可用的空间可由物理对象、其他用户等约束。当用户接近任何物理对象或其他用户时,可调整vr场景中的图像以向用户提供警告。在一些实施例中,警告可呈现为识别用户的移动边界和用户与边界的接近度的视线。在一些实施例中,当用户接近边界时,视线的强度可增加。在一些实施例中,代替视觉提示或除了视觉提示之外,可向用户呈现触觉或听觉警告,其中随着用户靠近物理对象或vr场景中定义的边界,这种警告的强度会增加。对于关于基于安全条件向用户提供警告的更多信息,可参考2014年4月16日提交的并且标题为“用于在头戴式显示器中在透明模式与非透明模式之间转换的系统和方法”的申请号14/254,881,所述申请的全部内容都通过引用的方式并入本文。

本文讨论的各种实施例允许hmd充当虚拟双筒望远镜,从而允许基于用户的注视方向来调整图像。以使得用户似乎被远程传送到更靠近用户感兴趣的对象的新位置的方式来调整图像。以使得用户可辨别的方式来呈现图像。

图7示出了根据本发明的实施例的用于将来自现实世界环境的感兴趣的对象呈现在头戴式显示器(hmd)的屏幕上的方法操作。所述方法在操作710处开始,其中在hmd处接收在佩戴hmd的用户附近的现实世界环境的图像。例如,从设置在hmd的面上的一个或多个前向摄像机接收图像。所述图像由hmd的处理器处理,以确定图像中捕获的各种对象和场景。

如操作720所示,hmd随后确定佩戴hmd的用户的注视方向。通过使用一个或多个摄像机(诸如注视检测摄像机或其他面向内的图像捕获装置)来跟踪用户的注视来确定注视方向,所述摄像机被设置在hmd的内表面上并且指向用户的一只或两只眼睛。注视方向可通过一组坐标来识别。捕获的图像由摄像机转发到hmd的处理器以便进行分析。

如操作730所示,hmd处理器分析从摄像机接收的图像并且确定现实世界环境中已吸引用户兴趣的对象或点。通过将从注视方向识别的坐标组与显示屏的特定区域匹配并且识别在所述特定区域中渲染的对象或点来确定感兴趣的对象或点。这是识别感兴趣的对象或点的一种方式,并且还可使用识别感兴趣的对象或点的其他方式。例如,可分析现实世界环境的图像以获得在环境中找到的各种点、对象的坐标,并且将注视方向的坐标映射到环境中的对应点、对象。可使用现实世界环境的图像的二维或三维表示来执行映射。图像分析还确定渲染感兴趣的对象或点的虚拟距离。

hmd的处理器随后生成用于调整被用来捕获现实世界环境的图像的一个或多个前向摄像机的镜头的变焦因子使得感兴趣的对象或点的图像被放大并聚焦(如操作740所示)的信号。放大引起对象的图像被以第二虚拟距离渲染,所述图像对于用户而言似乎比原始图像更接近。此外,以使对象的图像聚焦同时保持图像清晰和清楚的方式来进行放大。

图8示出了可用于提供对不同游戏的访问的信息服务提供商架构的实施例。信息服务提供商(isp)1070向地理上分散并且经由网络1050连接的用户1082提供多种信息服务。尽管已经参考提供对游戏的快速访问讨论了各种实施例,但是各实施例可扩展以提供一种或多种类型的其他服务。例如,isp可提供仅一种类型的服务,诸如游戏,或者各种服务,诸如游戏、股票价格更新、广播媒体、新闻、体育、游戏等。此外,由每个isp提供的服务可为动态的,也就是说,可在任何时间点添加或删除服务。因此,向特定个人提供特定类型服务的isp可随时间改变。例如,当用户在她自己的家乡时,用户可由靠近用户附近的isp服务,并且当用户旅行到不同的城市时,用户可由不同的isp服务。家乡isp将通过连接模块将所需信息和数据从用户的游戏或访问配置文件传输到新的isp,使得用户信息“跟踪”用户到新的城市,从而使得数据更接近用户并且更容易访问。在另一个实施例中,可在管理用户信息的主isp与在主isp的控制下直接与用户连接的服务器isp之间建立主服务器关系。在另一个实施例中,当客户端在世界各地移动时,数据被从一个isp传送到另一个isp(即,在分配给用户的数据中心的切换期间),并且这种传送可基于由各个isp提供的服务的兼容性,以使得在更好的位置来服务用户的isp是提供这些服务的一个isp。

isp1070包括应用服务提供商(asp)1072,其通过网络向客户提供基于计算机的服务。使用asp模型提供的软件有时也称为按需软件或者软件即服务(saas)。提供对特定应用程序(诸如客户关系管理)的访问的简单形式是通过使用诸如http的标准协议。例如,应用程序软件驻留在供应商的系统上,并且由用户通过使用html的web浏览器或者通过由供应商提供的专用客户端软件或者经由其他远程接口(诸如瘦客户端)来访问。

在广泛的地理区域内提供的服务通常使用云计算。云计算是一种风格的计算,其中动态可扩展且经常虚拟化的资源被作为互联网上的服务来提供。用户无需成为支持它们的“云”中的技术基础架构的专家。云计算可分为不同的服务,诸如基础架构即服务(iaas)、平台即服务(paas)和软件即服务(saas)。云计算服务通常提供从web浏览器访问的在线公共业务应用程序,而软件和数据被存储在服务器上。术语云被基于如何在计算机网络图中描绘互联网用作互联网的隐喻(例如,使用服务器、存储装置和逻辑),并且是其隐藏的复杂基础设施的抽象概念。

此外,isp1070包括游戏处理服务器(gaps)1074,所述游戏处理服务器由游戏客户端用于玩单人和多人视频游戏。通过互联网播放的大多数视频游戏经由与游戏服务器的连接来运行。通常,游戏使用专用服务器应用程序,所述应用程序从玩家收集数据并且将所述数据分配给其他玩家。这比对等布置更有效和有效果,但是它需要单独的服务器来托管服务器应用程序。在另一个实施例中,gaps建立玩家之间的通信,并且他们各自的游戏装置在不依赖于集中式gaps的情况下交换信息。

专用gaps是独立于客户端运行的服务器。此类服务器通常在位于数据中心中的专用硬件上运行,从而提供更多带宽和专用处理能力。专用服务器是托管大多数基于pc的多人游戏的游戏服务器的优选方法。大型多人在线游戏在专用服务器上运行,通常由拥有游戏标题的软件公司托管,从而允许他们控制和更新内容。

广播处理服务器(bps)1076将音频或视频信号分配给观众。向非常窄范围的观众播放有时称为窄播。广播发布的最后一站是信号如何传递给听众或观众,并且它可能像无线电台或电视台一样用无线电播放到天线和接收器,或者可能通过有线电视或有线广播(或“无线电缆“)经由电台或直接从网络播放。互联网还可尤其通过多播向接收者提供无线电或电视,从而允许共享信号和带宽。历史上,广播已由地理区域界定,诸如国家广播或区域广播。然而,随着快速互联网的普及,广播不是由地理位置定义的,因为内容几乎可到达世界上任何国家。

存储服务提供商(ssp)1078提供计算机存储空间和相关管理服务。ssp还提供定期备份和归档。通过提供存储即服务,用户可根据需要订购更多存储装置。另一个主要优点在于ssp包括备份服务,并且如果它们的计算机的硬盘出现故障,用户将不会丢失它们的所有数据。此外,多个ssp可具有用户数据的全部或部分副本,从而允许用户以独立于用户所在位置或用于访问数据的装置的有效方式来访问数据。例如,用户可在用户移动时访问家用计算机中的个人文件以及移动电话中的个人文件。

通信提供商1080提供与用户的连接。一种通信提供商是提供对互联网的访问的互联网服务提供商(isp)。isp使用适合于传送互联网协议数据报的数据传输技术来连接其客户,诸如拨号、dsl、电缆调制解调器、光纤、无线或专用高速互连。通信提供商还可提供消息服务,诸如电子邮件、即时消息和sms短信。另一种类型的通信提供商是网络服务提供商(nsp),其通过提供对互联网的直接骨干访问来销售带宽或网络访问。网络服务提供商可包括电信公司、数据载体、无线通信提供商、互联网服务提供商、提供高速互联网访问的有线电视运营商等。

数据交换1088互连isp1070内的若干模块,并且经由网络1086将这些模块连接到用户1082。数据交换1088可覆盖isp1070的所有模块都非常接近的小区域,或者当不同模块在地理上分散时可覆盖较大的地理区域。例如,数据交换1088可包括数据中心的机柜内的快速千兆以太网(或更快)或者洲际虚拟区域网络(vlan)。

用户1082利用客户端装置1084访问远程服务,所述客户端装置至少包括cpu、存储器、显示器和i/o。客户端装置可为pc、移动电话、上网本、平板电脑、游戏系统、pda等。在一个实施例中,isp1070识别由客户端使用的装置的类型并且调整所采用的通信方法。在其他情况下,客户端装置使用标准通信方法(诸如html)来访问isp1070。

图9是根据本发明的各种实施例的游戏系统1400的框图。游戏系统1400被配置成经由网络1415向一个或多个客户端1410提供视频流。所述网络类似于图1所示的网络200。游戏系统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的构件被配置成对视频流执行进一步的渲染、着色、转换成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