用于增强和虚拟现实的系统和方法转让专利

申请号 : CN201280064922.8

文献号 : CN104011788B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : S·A·米勒

申请人 : 奇跃公司

摘要 :

一个实施例针对用于使得两个或更多的用户能够在包括虚拟世界数据的虚拟世界内进行交互的系统,所述系统包括计算机网络,所述计算机网络包括一个或多个计算设备,所述一个或多个计算设备包括:存储器、处理电路和至少部分地存储在所述存储器中并且可以由所述处理电路执行以处理所述虚拟世界数据的至少一部分的软件;其中所述虚拟世界数据的至少第一部分来源于第一用户本地的第一用户虚拟世界,以及其中所述计算机网络可操作地向用于向第二用户呈现的用户设备传输所述第一部分,使得所述第二用户可以从所述第二用户的位置来体验所述第一部分,使得所述第一用户的虚拟世界的方面被高效地传送给所述第二用户。

权利要求 :

1.一种用于使得两个或更多的用户能够在包括虚拟世界数据的虚拟世界内进行交互的系统,包括:计算机网络,其包括一个或多个计算设备,所述一个或多个计算设备包括:存储器、处理电路和至少部分地存储在所述存储器中并且由所述处理电路执行以处理所述虚拟世界数据的至少一部分的软件;

具有可穿戴用户显示组件的用户设备,其中所述用户设备可操作地耦合到所述计算机网络,其中所述虚拟世界数据的至少第一部分包括从第一用户本地的物理对象渲染的虚拟对象,而且所述虚拟对象呈现所述物理对象,所述计算机网络可操作地向与第二用户相关联的所述用户设备传输所述虚拟世界数据的所述第一部分,而且所述可穿戴用户显示组件向所述第二用户可视地显示所述虚拟对象,以使得所述第一用户本地的所述物理对象的虚拟呈现被在所述第二用户的位置可视地提供给所述第二用户。

2.根据权利要求1所述的系统,其中所述第一用户和第二用户在不同的物理位置中。

3.根据权利要求1所述的系统,其中所述第一用户和第二用户基本上在同一物理位置中。

4.根据权利要求1所述的系统,其中所述虚拟世界的至少一部分响应于所述虚拟世界数据的变化而变化。

5.根据权利要求1所述的系统,其中所述虚拟世界的至少一部分响应于物理对象中的变化而变化。

6.根据权利要求5所述的系统,其中在所述虚拟世界数据的所述部分中的所述变化表示所述虚拟对象与所述物理对象具有预定关系。

7.根据权利要求6所述的系统,其中将在所述虚拟世界中的所述部分中的所述变化提供给所述用户设备以用于根据所述预定关系向所述第二用户呈现。

8.根据权利要求1所述的系统,其中所述虚拟世界可操作地由计算机服务器或用户设备中的至少一个来渲染。

9.根据权利要求1所述的系统,其中以二维格式来呈现所述虚拟世界。

10.根据权利要求1所述的系统,其中以三维格式来呈现所述虚拟世界。

11.根据权利要求1所述的系统,其中所述用户设备可操作地提供接口以用于使得能够在增强现实模式中在用户和所述虚拟世界之间进行交互。

12.根据权利要求1所述的系统,其中所述用户设备可操作地提供接口以用于使得能够在虚拟现实模式中在用户和所述虚拟世界之间进行交互。

13.根据权利要求11所述的系统,其中所述用户设备可操作地提供接口以用于使得能够在增强和虚拟现实模式的组合中在用户和所述虚拟世界之间进行交互。

14.根据权利要求1所述的系统,其中在数据网络上来传输所述虚拟世界数据。

15.根据权利要求1所述的系统,其中所述计算机网络可操作地接收来自用户设备的所述虚拟世界数据的至少一部分。

16.根据权利要求1所述的系统,其中所述虚拟世界数据的至少一部分被传输给所述用户设备,而且包括用于生成所述虚拟世界的至少一部分的指令。

17.根据权利要求1所述的系统,其中将所述虚拟世界数据的至少一部分传输给网关以用于处理或分发中的至少一个。

18.根据权利要求17所述的系统,其中所述一个或多个计算设备中的至少一个可操作地处理由所述网关分发的虚拟世界数据。

说明书 :

用于增强和虚拟现实的系统和方法

[0001] 相关申请数据
[0002] 本申请依据美国法典第35编第119节的规定要求于2011年10月28日提交的申请序列号为61/552,941的美国临时申请的权益。据此通过引用将上述申请以其整体并入到本申请中。

技术领域

[0003] 本发明一般涉及被配置为促进针对一个或多个用户的交互性的虚拟或增强现实环境的系统和方法。

背景技术

[0004] 由计算机(部分地)使用描述环境的数据来生成虚拟和增强现实环境。这种数据可以描述例如用户可以感知并与其交互的各种对象。这些对象的示例包含:为了使用户看见而被渲染和显示的对象、为了使用户听见而播放的音频、以及为了使用户感觉到的触觉(触感)反馈。用户可以通过各种视觉、听觉和触觉的构件来感知虚拟和增强现实环境并与虚拟和增强现实环境交互。

发明内容

[0005] 一个实施例针对用于使得两个或更多的用户能够在包括虚拟世界数据的虚拟世界内进行交互的系统,所述系统包括计算机网络,所述计算机网络包括一个或多个计算设备,所述一个或多个计算设备包括:存储器、处理电路和至少部分地存储在所述存储器中并且可以由所述处理电路执行以处理所述虚拟世界数据的至少一部分的软件;其中所述虚拟世界数据的至少第一部分来源于第一用户本地的第一用户虚拟世界,以及其中所述计算机网络可操作地向用于向第二用户呈现的用户设备传输所述第一部分,使得所述第二用户可以从所述第二用户的位置来体验所述第一部分,使得所述第一用户的虚拟世界的方面被高效地传送给所述第二用户。所述第一用户和第二用户可以在不同的物理位置中或基本上在同一物理位置中。所述虚拟世界的至少一部分可以被配置为响应于所述虚拟世界数据的变化而变化。所述虚拟世界的至少一部分可以被配置为响应于由所述用户设备感知的物理对象而变化。所述虚拟世界数据中的变化可以表示表示虚拟对象与所述物理对象具有预定关系。可以将所述虚拟世界数据中的变化提供给第二用户设备以用于根据所述预定关系向所述第二用户呈现。所述虚拟世界可以可操作地由计算机服务器或用户设备中的至少一个来渲染。可以以二维格式来呈现所述虚拟世界。可以以三维格式来呈现所述虚拟世界。所述用户设备可以可操作地提供接口以用于使得能够在增强现实模式中在用户和所述虚拟世界之间进行交互。所述用户设备可以可操作地提供接口以用于使得能够在虚拟现实模式中在用户和所述虚拟世界之间进行交互。所述用户设备可以可操作地提供接口以用于使得能够在增强和虚拟现实模式的组合中在用户和所述虚拟世界之间进行交互。可以在数据网络上来传输所述虚拟世界数据。所述计算机网络可以可操作地接收来自用户设备的所述虚拟世界数据的至少一部分。传输给所述用户设备的所述虚拟世界数据的至少一部分可以包括用于生成所述虚拟世界的至少一部分的指令。可以将所述虚拟世界数据的至少一部分传输给网关以用于处理或分发中的至少一个。所述一个或多个计算机服务器中的至少一个计算机服务器可以可操作地处理由所述网关分发的虚拟世界数据。
[0006] 另一个实施例针对用于虚拟和/或增强用户体验的系统,其中至少部分地基于具有来自音调变化和面部识别软件的可选输入的可穿戴设备上的数据来制作化身的动画。
[0007] 另一个实施例针对用于虚拟和/或增强用户体验的系统,其中相机姿势或视点方位和向量可以被布置在世界扇区(sector)中的任何地方。
[0008] 另一个实施例针对用于虚拟和/或增强用户体验的系统,其中可以在各种和可选择的比例上针对观察用户来渲染世界或其部分。
[0009] 另一个实施例针对用于虚拟和/或增强用户体验的系统,其中特征(诸如除了姿势加标记的图像外的点或参数线)可以用作用于世界模型的基础数据,从该基础数据,软件机器人或对象识别器可以用于创建真实世界对象的参数表示,标记用于相互包含在分割的对象和世界模型中的源特征。

附图说明

[0010] 图1说明了用于促进针对多个用户的交互性的虚拟或增强现实环境的所公开的系统的代表性实施例。
[0011] 图2说明了用于与图1中所说明的系统进行交互的用户设备的示例。
[0012] 图3说明了移动的可穿戴的用户设备的示例实施例。
[0013] 图4说明了当图3的移动的可穿戴的用户设备操作在增强模式中时由用户看到的对象的示例。
[0014] 图5说明了当图3的移动的可穿戴的用户设备操作在虚拟模式中时由用户看到的对象的示例。
[0015] 图6说明了当图3的移动的可穿戴的用户设备操作在混杂虚拟接口模式中时由用户看到的对象的示例。
[0016] 图7说明了位于不同的地理位置中的两个用户每一个用户通过他们各自的用户设备与另一个用户和共同的虚拟世界进行交互的实施例。
[0017] 图8说明了图7的实施例被扩展为包含使用触感设备的实施例。
[0018] 图9A说明了混合模式接口连接的示例,其中在混合虚拟接口模式中第一用户通过接口与数字世界连接,以及在虚拟现实模式中第二用户通过接口与同一数字世界接连。
[0019] 图9B说明了混合模式接口连接的另一个示例,其中在混杂虚拟接口模式中第一用户通过接口与数字世界连接,以及增强现实模式中第二用户通过接口与同一数字世界连接。
[0020] 图10说明了当在增强现实模式中通过接口与系统连接时用户的视图的示例说明。
[0021] 图11说明了当在增强现实模式中的用户通过接口与系统连接时示出由物理对象触发的虚拟对象的用户视图的示例说明。
[0022] 图12说明了增强和虚拟现实集成配置的一个实施例,其中在增强现实体验中的一个用户可视化在虚拟现实体验中的另一个用户的呈现。
[0023] 图13说明了基于时间和/或意外事件的增强现实体验配置的一个实施例。
[0024] 图14说明了适用于虚拟和/或增强现实体验的用户显示配置的一个实施例。
[0025] 图15说明了基于本地和云的计算协调的一个实施例。
[0026] 图16说明了注册配置的各种方面。

具体实施方式

[0027] 参照图1,系统100是用于实现以下描述的过程的代表性硬件。这种代表性系统包括:计算网络105,其由通过一个或多个高带宽接口115连接的一个或多个计算机服务器110组成。在计算网络中的服务器不必是位于一处的。一个或多个服务器110中的每个服务器包括用于执行程序指令的一个或多个处理器。服务器还包含用于存储程序指令和数据的存储器,所述数据在程序指令的引导下由服务器执行的进程来使用和/或生成。
[0028] 计算网络105在服务器110之间以及在服务器和一个或多个用户设备120之间通过一个或多个数据网络连接130来传递数据。此类数据网络的示例包含但不限制于任何或所有类型的公共和私有数据网络(移动的和有线的两者),包含例如通常被称为互联网的许多此类网络的互联。没有特定的介质、拓扑或协议旨在由该图所暗含。
[0029] 用户设备被配置为直接与计算网络105或服务器110中的任何服务器通信。备选地,用户设备120与远程服务器110通信,以及可选地,通过用于处理数据和/或用于在网络105和一个或多个本地用户设备120之间传递数据的特别编程的本地网关140与其它用户设备本地地通信。
[0030] 如说明的,网关140被实现成单独的硬件组件,其包含用于执行软件指令的处理器和用于存储软件指令和数据的存储器。网关具有至数据网络的其自己的有线和/或无线连接以用于与包括计算网络105的服务器110通信。备选地,网关140能够与用户设备120集成,用户设备120由用户穿戴或携带。例如,可以将网关140实现成可下载的软件应用,该软件应用被安装以及在被包含在用户设备120的处理器上运行。在一个实施例中,网关140经由数据网络130提供至计算网络105的一个或多个用户接入。
[0031] 服务器110每个都包含:例如,用于存储数据和软件程序的工作存储器和存储设备,用于执行程序指令的微处理器,用于渲染和生成图形、图像、视频、音频和多媒体文件的图形处理器和其它专用处理器。计算网络105还可以包括用于存储由服务器110访问、使用或创建的数据。
[0032] 运行在服务器以及可选择地用户设备120和网关140上的软件程序用于生成数字世界(在本文中还被称为虚拟世界),用户使用该数字世界与用户设备120进行交互。数字世界由数据和进程来表示,数据和进程描述和/或定义能够通过用户设备120呈现给用户的虚拟的不存在的实体、环境和条件以用于用户体验和与之交互。例如,当在由用户观看或体验的场景中进行实例化时好像将物理呈现的某些类型的对象、实体或项目可以包含它的外观、它的行为、允许用户如何与它进行交互以及其它特点的描述。用于创建虚拟世界(包含虚拟对象)的环境的数据可以包含:例如,大气数据、地形数据、天气数据、温度数据、位置数据以及用于定义和/或描述虚拟环境的其它数据。另外,定义管理虚拟世界的操作的各种条件的数据可以包含:例如,物理定律、时间、空间关系和可用于定义和/或创建管理虚拟世界(包含虚拟对象)的操作的虚拟条件的其它数据。
[0033] 在本文中,除非上下文以其它方式指示,否则将数字世界的实体、对象、条件、特点、行为或其它特征一般地称为对象(例如,数字对象、虚拟对象、渲染的物理对象等)。对象可以是任何类型的动画或非动画的对象,包含但不限于建筑物、植物、车辆、人、动物、生物、机器、数据、视频、文本、图片和其它用户。还可以在用于存储关于实际上呈现在物理世界中的项目、行为或条件的信息的数字世界中来定义对象。在本文中,将描述或定义实体、对象或项目或者存储它的当前状态的数据一般称为对象数据。这种数据由服务器110或取决于实现方式由网关140或用户设备120来处理以实例化对象的实例以及以适当的方式来渲染对象以用于用户通过用户设备进行体验。
[0034] 开发和/或策划数字世界的程序员创建或定义对象以及实例化对象的条件。然而,数字世界能够允许他者来创建或修改对象。一旦对象被实例化,则可以允许由体验数字世界的一个或多个用户来改变、控制或操纵该对象的状态。
[0035] 例如,在一个实施例中,一般由一个或多个系统管理程序员来提供数字世界的开发、制作和管理。在一些实施例中,这可以包含:数字世界中的故事情节、主题和事件的开发、设计和/或执行,以及通过各种形式的事件和媒体(诸如例如电影、数字、网络、移动、增强现实以及现场娱乐)的叙事的分发。系统管理程序员还可以处置数字世界和与其相关联的用户社区的技术管理、节制和策划,以及通常由网络管理人员执行的其它任务。
[0036] 用户使用某类型的本地技术设备(其通常被表示为用户设备120)与一个或多个数字世界进行交互。此类用户设备的示例包含但不限于:智能电话、平板设备、抬头显示器(HUD)、游戏控制台或能够向用户传递数据和提供接口或显示的任何其它设备,以及此类设备的组合。在一些实施例中,用户设备120可以包含本地外围设备或输入/输出组件(诸如例如,键盘,鼠标,游戏杆,游戏控制器,触感接口设备,运动捕获控制器,光学跟踪设备(诸如那些可以从体感控制(Leap Motion)公司获得的,或那些在商标名Kinect(RTM)下从微软获得的),音频设备,语音设备,投影系统,3D显示器和全息3D接触镜片)或与其进行通信。
[0037] 在图2中说明的用于与系统100进行交互的用户设备120的示例。在图2示出的示例实施例中,用户210可以通过智能电话220通过接口与一个或多个数字世界连接。由被存储在以及运行在智能电话220上的软件应用230来实现网关。在这个特定示例中,数据网络130包含将用户设备(即,智能电话220)连接到计算机网络105的无线移动网络。
[0038] 在优选实施例的一种实现方式中,系统100能够支持大量的同时存在的用户(例如,数百万用户),每个用户使用某类型的用户设备120通过接口与同一个数字世界或与多个数字世界连接。
[0039] 用户设备向用户提供用于使得能够在用户和由服务器110生成的数字世界(包含其它用户和被呈现给用户的对象(真实的或虚拟的))之间的视觉、听觉和/或物理交互。接口向用户提供能够观看、听到或以其它方式感知的渲染的场景,以及与场景实时交互的能力。用户与渲染的场景的交互的方式可以由用户设备的能力来指定。例如,如果用户设备是智能电话,则可以由用户接触触摸屏来实现用户交互。在另一个示例中,如果用户设备是计算机或游戏控制台,则可以使用键盘或游戏控制器来实现用户交互。用户设备可以包含使得能够用户交互的另外的组件(诸如传感器),其中由传感器检测到的对象和信息(包含手势)可以被提供作为表示使用用户设备与虚拟世界的用户交互的输入。
[0040] 可以以各种格式(诸如例如,二维或三维视觉显示器(包含投影仪)、声音和触感或触觉反馈)来呈现渲染的场景。可以由用户以一种或多种模式(包含:例如增强现实、虚拟现实和其组合)来通过接口与渲染的场景连接。渲染的场景的格式以及接口模式可以由以下中的一个或多个来指定:用户设备、数据处理能力、用户设备连通性、网络容量和系统工作负载。由计算网络105、服务器110、网关组件140(可选地)以及用户设备120使得能够具有大量的用户同时与数字世界进行交互以及数据交换的实时性质。
[0041] 在一个示例中,计算网络105由通过高速连接(例如,高带宽接口115)的具有单个和/或多个核心的服务器(即,服务器110)的大规模计算系统组成。计算网络105可以形成云或网格网络。服务器中的每个服务器包含存储器,或与用于存储软件的计算机可读存储器耦合,该软件用于实现数据以创建、设计、改变或处理数字世界的对象。这些对象和它们的实例可以是动态的,进入和离开,随着时间变化以及响应于其它条件而变化。在本文中相对于各种实施例来一般地论述对象的动态能力的示例。在一些实施例中,通过接口与系统100连接的每个用户还被表示成一个或多个数字世界内的对象和/或对象的集合。
[0042] 计算网络105内的服务器110还存储用于数字世界中的每个数字世界的计算状态数据。计算状态数据(在本文中,还被称为状态数据)可以是对象数据的组成部分,以及一般定义时间中的给定时刻处的对象的实例的状态。因此,计算状态数据可以随着时间而变化,以及可以受维护系统100的一个或多个用户和/或程序员的动作的影响。当用户影响计算状态数据(或包括数字世界的其它数据)时,用户直接改变或以其它方式操纵数字世界。如果数字世界与其它用户共享或由其它用户通过接口连接,则用户的动作可能影响由与数字世界交互的其它用户所体验的数字世界。因此,在一些实施例中,由用户做出的对数字世界的改变将由通过接口与系统100连接的其它用户体验到。
[0043] 在一个实施例中,存储在计算网络105内的一个或多个服务器110中的数据以高速度和低时延被传送给或部署到一个或多个用户设备120和/或网关组件140。在一个实施例中,由服务器共享的对象数据可以是完整的数据或者可以是压缩的,以及含有用于在用户侧重新创建全部的对象数据的指令,由用户的本地计算设备(例如,网关140和/或用户设备120)来渲染和可视化。在一些实施例中,运行在计算网络105的服务器110上的软件可以根据用户的特定设备和带宽来针对数字世界内的对象(或者由计算网络105交换的任何数据)适应它生成和发送给特定用户设备120的数据。例如,当用户通过用户设备120与数字世界进行交互时,服务器110可以识别由用户使用的特定类型的设备、设备的连通性和/或用户设备和服务器之间的可用带宽,以及适当地调整大小和平衡将被递送给设备的数据以优化用户交互。这种情况的示例可以包含:将传输的数据的大小减小到低分辨率质量,以便可以在具有低分辨率显示器的特定用户设备上显示数据。在优选实施例中,计算网络105和/或网关组件140以足以操作在15帧/每秒或更高来呈现界面的速率,以及以高清晰度或更高清晰度的分辨率向用户设备120递送数据。
[0044] 网关140为一个或多个用户提供至计算网络105的本地连接。在一些实施例中,可以由运行在用户设备120或另一个本地设备(诸如在图2中示出的本地设备)上的可下载的软件应用来实现网关140。在其它实施例中,可以由硬件组件(具有存储在该组件上的适当的软件/固件,该组件具有处理器)来实现网关140,该硬件组件与用户设备120通信(但是不与用户设备120合并或附接到用户设备120),或与用户设备120合并。网关140经由数据网络130与计算网络105通信,以及提供计算网络105和一个或多个本地用户设备120之间的数据交换。如以下更详细地论述的,网关组件140可以包含:软件、固件、存储器和处理电路,以及可能能够处理网络105和一个或多个本地用户设备120之间传递的数据。
[0045] 在一些实施例中,网关组件140监测和调节用户设备120和计算机网络105之间交换的数据的速率,以允许针对特定用户设备120的最佳数据处理能力。例如,在一些实施例中,网关140缓冲和下载数字世界的静态和动态方面两者,甚至那些超出了通过与用户设备连接的接口呈现给用户的视野。在此类实施例中,静态对象的实例(结构化数据,实现方法的软件,或这两者)可以存储在存储器中(位于网关组件140、用户设备120或这两者的本地),以及根据本地用户的当前方位(如由计算网络105和/或用户设备120提供的数据来指示)被引用。动态对象的实例(其可以包含例如智能软件代理和由其它用户和/或本地用户控制的对象)可以存储在高速存储缓冲器中。表示呈现给用户的场景内的两维或三维对象的动态对象能够例如被分解成组件形状,诸如移动但不变化的静态形状,以及变化的动态形状。变化的动态对象的部分能够通过计算网络105由来自网关组件140管理的服务器110的实时的线程化的高优先级的数据流来更新。作为优先化的线程化的数据流的一种示例,在用户的眼睛的60度的视野内的数据可以给予比更外围的数据更高的优先级。另一个示例包含优先化背景中的静态对象上的用户视野内的动态角色和/或对象。
[0046] 除了管理计算网络105和用户设备120之间的数据连接外,网关组件140可以存储和/或处理可以呈现给用户设备120的数据。例如,在一些实施例中,网关组件140可以接收来自计算网络105的例如描述将被渲染的以用于由用户观看的图形对象的压缩数据,以及执行高级渲染技术以减轻从计算网络105传输给用户设备120的数据负载。在另一个示例中,其中网关140是独立的设备,网关140可以存储和/或处理用于对象的本地实例的数据,而不是将该数据传输给计算网络105以用于处理。
[0047] 现在还参照图3,可以以各种格式(其取决于用户设备的能力)由一个或多个用户来体验数字世界。在一些实施例中,用户设备120可以包含:例如,智能电话、平板设备、抬头显示器(HUD)、游戏控制台或可穿戴设备。一般来说,用户设备将包含用于执行存储在设备上的存储器中的程序代码的处理器,与显示器耦合,以及通信接口。在图3中说明了用户设备的示例实施例,其中用户设备包括移动的可穿戴设备,即头戴式显示系统300。依照本公开的实施例,头戴式显示系统300包含用户界面302、用户感知系统304、环境感知系统306以及处理器308。虽然在图3中处理器308被示出为与头戴式显示系统300分离的单独的组件,但是在备选实施例中,处理器308可以与头戴式显示系统300中的一个或多个组件集成,或可以集成到其它系统100组件(诸如例如网关140)中。
[0048] 用户设备向用户呈现用于与数字世界交互和体验数字世界的界面302。此类交互可以涉及用户和数字世界、通过接口与系统100连接的一个或多个其它用户、以及数字世界内的对象。界面302一般向用户提供图像和/或音频感觉输入(以及在一些实施例中,物理感觉输入)。因此,界面302可以包含:扬声器(未示出)和显示组件303,在一些实施例中,显示组件303能够使得能够立体三维显示和/或体现人类视觉系统的更多自然特点的三维显示。在一些实施例中,显示组件303可以包括透明接口(诸如清晰的OLED),当处于“关闭(off)”设置时,该透明接口使得能够在具有很少至没有光学变形或计算叠加的情况下光学地纠正用户周围的物理环境的视图。如以下更详细地论述的,界面302可以包含考虑到各种视觉/接口性能和功能的另外的设置。
[0049] 在一些实施例中,用户感知系统304可以包含:一个或多个传感器310,其可操作地检测与穿戴系统300的个体用户有关的某些特征、特点或信息。例如,在一些实施例中,传感器310可以包含:相机或光学检测/扫描电路,其能够实时检测用户的光学特点/测量,诸如例如以下中的一个或多个:瞳孔收缩/扩张、每个瞳孔的角度测量/定位、二次球度(spherocity)、眼睛形状(如随着时间眼睛形状的变化)以及其它解剖学数据。这种数据可以提供或用于计算可以由头戴式系统300和/或接口系统100使用的信息(例如,用户的视觉焦点)以优化用户的观看体验。例如,在一个实施例中,传感器310可以各自测量用户每个眼睛的瞳孔收缩的速率。可以将这种数据传输给处理器308(或网关组件140或服务器110),其中该数据用于确定例如用户对界面显示器303的亮度设置的反应。可以依照用户的反应通过例如如果用户的反应指示显示器303的零度级别太高则调暗显示器303来对界面302进行调节。用户感知系统304可以包含除了上述的或在图3中说明的那些组件以外的其它组件。例如,在一些实施例中,用户感知系统304可以包含:用于接收来自用户的语音输入的麦克风。用户感知系统还可以包含:一个或多个红外线相机传感器、一个或多个可见光频谱相机传感器、结构光发射器和/或传感器、红外线光发射器、相干光发射器和/或传感器、陀螺仪、加速计、磁力仪、接近传感器、GPS传感器、超声波发射器和检测器以及触感接口。
[0050] 环境感知系统306包含用于获得来自用户周围的物理环境的数据的一个或多个传感器312。可以将由传感器检测的对象或信息提供作为至用户设备的输入。在一些实施例中,这种输入可以表示与虚拟世界的用户交互。例如,观看桌面上的虚拟键盘的用户可以使用他的手指做手势,好像它正在虚拟键盘上键入。手指移动的运动可以由传感器312来捕获并且提供给用户设备或系统作为输入,其中该输入可以用于改变虚拟世界或创建新的虚拟对象。例如,可以将手指的运动识别(使用软件程序)为键入,以及所识别的键入的手势可以与虚拟键盘上的虚拟键的已知位置进行组合。然后,系统可以渲染向用户(或通过接口与系统连接的其它用户)显示的虚拟监视器,其中虚拟监视器显示由用户键入的文本。
[0051] 传感器312可以包含:例如,普遍朝外的相机或用于例如通过不断地和/或间歇地投影红外线结构光来解释场景信息的扫描仪。环境感知系统306可以用于通过检测或注册本地环境来映射用户周围的物理环境的一个或多个元素,包含静态对象、动态对象、人、手势和各种照明、大气和声学条件。因此,在一些实施例中,环境感知系统306可以包含:基于图像的三维重建软件,其被嵌入在本地系统(例如网关组件140或处理器308)中以及可操作地数字化地重建由传感器312检测的一个或多个对象或信息。在一个示例性实施例中,环境感知系统306提供以下中的一个或多个:运动捕获数据(捕获手势识别)、深度感知、面部识别、对象识别、唯一对象特征识别、语音/音频识别和处理、声音源定位、噪音降低、红外线或类似的激光投影、以及单色和/或彩色CMOS传感器(或其它类似传感器)、视野传感器、以及各种其它光学增强传感器。应当了解的是,环境感知系统306可以包含除了上述或在图3中说明的那些组件之外的其它组件。例如,在一些实施例中,环境感知系统306可以包含用于接收来自本地环境的音频的麦克风。用户感知系统还可以包含:一个或多个红外线相机传感器、一个或多个可见光频谱相机传感器、结构光发射器和/或传感器、红外线光发射器、相干光发射器和/或传感器、陀螺仪、加速计、磁力仪、接近传感器、GPS传感器、超声波发射器和检测器以及触感接口。
[0052] 如上所述,在一些实施例中,处理器308可以与头戴式系统300中的其它组件集成,与接口系统100中的其它组件集成,或可以是如图3中示出的单独的设备(可穿戴的或与用户分离的)。处理器308可以通过物理的有线连接或通过无线连接(诸如例如,移动网络连接(包含蜂窝电话和数据网络)、Wi-Fi或蓝牙)连接到头戴式系统300中的各种组件和/或接口系统100中的组件。处理器308可以包含:存储模块、集成的和/或另外的图形处理单元、无线和/或有线互联网连通性以及能够将来自源(例如,计算网络105、用户感知系统304、环境感知系统306或网关组件140)的数据变换成图像和音频数据的编解码器和/或固件,其中图像/视频和音频可以经由界面302呈现给用户。
[0053] 处理器308处置用于头戴式系统300中的各种组件的数据处理以及头戴式系统300与网关140以及在一些实施例中计算网络105之间的数据交换。例如,处理器308可以用于缓冲和处理用户和计算网络105之间的数据流,从而使得能够平滑的连续的和高保真度的用户体验。在一些实施例中,处理器308可以以足以实现以320x240分辨率8帧/秒到以高清晰度分辨率(1280x720)24帧/秒,或更高的,诸如60-120帧/秒和4k分辨率和更高的(10k+分辨率和50000帧/秒)之间的任何地方的速率来处理数据。另外,处理器308可以存储和/或处理可以呈现给用户的数据,而不是实时地从计算网络105流出。例如,在一些实施例中,处理器308可以接收来自计算网络105的压缩数据,以及执行高级渲染技术(诸如照明或阴影)以减轻从计算网络105传输给用户设备120的数据负载。在另一个示例中,处理器308可以存储和/或处理本地对象数据,而不是将该数据传输给网关组件140或计算网络105。
[0054] 在一些实施例中,头戴式系统300可以包含考虑到各种视觉/接口性能和功能的各种设置或模式。模式可以由用户手工地选择,或由头戴式系统300中的组件或网关组件140自动地选择。如先前所述,头戴式系统300的一个示例包含:“关闭”模式,其中界面302基本上不提供数字或虚拟内容。在关闭模式中,显示组件303可以是透明的,从而使得能够在具有很少-至-没有光学变形或计算重叠的情况下来光学地纠正用户周围的物理环境的视图。
[0055] 在一个示例实施例中,头戴式系统300包含:“增强”模式,其中界面302提供增强现实界面。在增强模式中,界面显示器303可以是基本上透明的,从而允许用户观看本地的物理环境。同时,由计算网络105、处理器308和/或网关组件140提供的虚拟对象数据与物理的本地环境结合被呈现在显示器303上。
[0056] 图4说明了当界面302操作在增强模式中时由用户看到的对象的示例实施例。如图4中示出的,界面302呈现物理对象402和虚拟对象404。如图4中说明的实施例中,物理对象
402是存在于用户的本地环境中的真实的物理对象,而虚拟对象404是由系统100创建的经由用户界面302显示的对象。在一些实施例中,虚拟对象404可以被显示在物理环境内的固定的方位或位置(例如,虚拟的猴子站在位于物理环境中的特定路标的旁边),或者可以显示给用户作为位于与用户界面显示器303的方位有关的对象(例如,在显示器303的左上方中可以看见的虚拟时钟或温度计)。
[0057] 在一些实施例中,可以提示虚拟对象离开用户的视野内部或外部物理呈现的对象,或者由用户的视野内部或外部物理呈现的对象来触发虚拟对象。提示虚拟对象404离开物理对象402或由物理对象402来触发虚拟对象404。例如,物理对象402可能实际上是凳子,以及可以将如站在凳子上的虚拟动物的虚拟对象404显示给用户(以及在一些实施例中,通过接口与系统100连接的其它用户)。在此类实施例中,环境感知系统306可以使用例如存储在处理器308中的软件和/或固件以识别各种特征和/或形状模式(由传感器312捕获的)以将物理对象402识别为凳子。这些识别的形状模式(诸如例如凳子顶部)可以用于触发虚拟对象404的放置。其它示例包含:墙、桌子、家具、汽车、建筑物、人、楼层、植物、动物-能够被看到的任何对象能够用于触发与对象或多个对象有一些关系的增强现实体验。
[0058] 在一些实施例中,被触发的特定的虚拟对象404可以由用户选择或者由头戴式系统300中的其它组件或接口系统100自动地选择。另外,在虚拟对象404被自动地触发的实施例中,可以基于提示虚拟对象404离开特定物理对象402(或其特征)或触发虚拟对象404的特定物理对象402(或其特征)来选择特定的虚拟对象404。例如,如果物理对象被识别为在水池上延伸的跳水板,则所触发的虚拟对象可以是穿戴通气管、泳衣、漂浮设备或其它相关项目的生物。
[0059] 在另一个示例实施例中,头戴式系统300可以包含“虚拟”模式,其中界面302提供虚拟现实界面。在虚拟模式中,从显示器303中省略物理环境,以及由计算网络105、处理器308和/或网关组件140提供的虚拟对象数据被呈现在显示器303上。可以通过物理地阻塞视觉显示器303(例如,经由覆盖)或通过界面302的特征来完成物理环境的省略,其中显示器
303转变到不透明设置。在虚拟模式中,可以通过界面302将直播和/或存储的视觉和音频感觉呈现给用户,以及用户通过界面302的虚拟模式来体验数字世界(数字对象、其它用户等)并与其进行交互。因此,在虚拟模式中提供给用户的界面由包括虚拟数字世界的虚拟对象数字组成。
[0060] 图5说明了当头戴式界面302操作在虚拟模式中时用户界面的示例实施例。如图5中示出的,用户界面呈现由数字对象510组成的虚拟世界500,其中数字对象510可以包含:大气、天气、地形、建筑物和人。虽然未在图5中说明,但是数字对象还可以包含:例如,植物、车辆、动物、生物、机器、人工智能、位置信息以及定义虚拟世界500的任何其它对象或信息。
[0061] 在另一个示例实施例中,头戴式系统300可以包含:“混杂”模式,其中可以将头戴式系统300中的各种特征(以及虚拟模式和增强模式中的特征)进行组合以创建一个或多个定制的接口模式。在一个示例定制接口模式中,从显示器303中省略了物理环境,以及以类似于虚拟模式的方式在显示器303上呈现虚拟对象数据。然而,在这个示例定制接口模式中,虚拟对象可以是完全虚拟的(即,它们不存在于本地的物理环境中)或者它们可以是被渲染为界面302中的虚拟对象以替代物理对象的真实的本地物理对象。因此,在这个特定定制模式中(在本文中被称为混杂虚拟接口模式),直播和/或存储的视觉和音频感觉可以通过界面302呈现给用户,以及用户体验并与包括完全虚拟对象和渲染的物理对象的数字世界进行交互。
[0062] 图6说明了依照混杂虚拟接口模式操作的用户界面的示例实施例。如图6中示出的,用户界面呈现虚拟世界600,该虚拟世界600由完全的虚拟对象610和被渲染的物理对象620(以其它方式物理地呈现在场景中的对象的渲染)组成。依照图6中说明的示例,渲染的物理对象620包含:建筑物620A、地面620B和平台620C,以及使用粗体轮廓630示出以向用户指示对象是渲染的。另外,完全的虚拟对象610包含:另外的用户610A、云610B、太阳610C和平台620C上的火焰610D。应当了解的是,完全的虚拟对象610可以包含:例如,大气、天气、地形、建筑物、人、植物、车辆、动物、生物、机器、人工智能、位置信息以及定义虚拟世界600并且不能从存在于本地的物理环境中的对象渲染的任何其它对象或信息。相反地,渲染的物理对象620是被渲染为界面302中的虚拟对象的真实的本地的物理对象。粗线轮廓630表示用于向用户指示渲染的物理对象的一个示例。照此,可以像这样使用除了本文中公开的那些方法外的方法来指示渲染的物理对象。
[0063] 在一些实施例中,渲染的物理对象620可以使用环境感知系统306的传感器312(或使用诸如运动或图像捕获系统的其它设备)来检测,并且通过例如存储在处理电路308中的软件和/或固件被转换成数字对象数据。因此,当用户通过接口与混杂虚拟接口模式中的系统100连接时,可以将各种物理对象作为渲染的物理对象显示给用户。对于允许用户通过接口与系统100连接,同时仍然能够安全地导航本地物理环境而言,这可能特别有用。在一些实施例中,用户可能能够有选择地移除渲染的物理对象或将渲染的物理对象添加到界面显示器303。
[0064] 在另一个示例用户界面模式中,界面显示器303可以是基本上透明的,从而允许用户观看本地的物理环境,同时各种本地的物理对象作为渲染的物理对象被显示给用户。这种示例的定制接口模式类似于增强模式,除了如以上相对于先前示例所述的,虚拟对象中的一个或多个虚拟对象可能是渲染的物理对象。
[0065] 上述示例定制接口模式表示能够由头戴式系统300的混杂模式提供的各种定制接口模式的若干示例实施例。因此,在不背离本公开的范围的情况下,可以从由头戴式系统300中的组件提供的特征和功能以及上述所述的各种模式的各种组合来创建各种其它定制接口模式。
[0066] 本文论述的实施例仅描述了用于提供操作在关闭、增强、虚拟或混杂模式中的接口的若干示例,并且不旨在限制头戴式系统300的组件的功能或各自接口模式的范围或内容。例如,在一些实施例中,虚拟对象可以包含显示给用户的数据(时间、温度、海拔等)、由系统100创建和/或选择的对象、由用户创建和/或选择的对象,或甚至表示通过接口与系统100连接的其它用户的对象。另外,虚拟对象可以包含物理对象的延伸(例如,从物理平台长大的虚拟造型),以及可以可视地连接到物理对象,或从物理对象断开连接。
[0067] 虚拟对象还可以是动态的以及随着时间而变化,依照用户或其它用户、物理对象和其它虚拟对象之间的各种关系(例如,位置、距离等)而变化,和/或依照在头戴式系统300、网关组件140或服务器110的软件和/或固件中指定的各种变量而变化。例如,在某些实施例中,虚拟对象可以响应于用户设备或其组件(例如当触感设备被放置在虚拟球的旁边时虚拟球移动)、物理的或言语的用户交互(例如,当用户接近虚拟生物时,该虚拟生物跑走,或当用户向它说话时,该虚拟生物说话)、椅子被扔向虚拟生物以及该生物躲避椅子、其它虚拟对象(例如,当第一虚拟生物看到第二虚拟生物时,第一虚拟生物做出反应),物理变量(诸如位置、距离、温度、时间等)、或在用户环境中的其它物理对象(例如,当物理汽车经过时,被示出为站在物理街道中的虚拟生物变成扁平的)。
[0068] 本文中论述的各种模式可以应用于除了头戴式系统300之外的用户设备。例如,可以经由移动电话或平板设备来提供增强现实接口。在此类实施例中,电话或平板可以使用相机来捕获用户附近的物理环境,以及可以在电话/平板的显示屏上叠放虚拟对象。另外,可以通过在电话/平板的显示屏上显示数字世界来提供虚拟模式。因此,使用本文所述的电话/平板的组件以及连接到用户设备的其它组件或与用户设备结合使用的其它组件,可以将这些模式混杂以创建如上所述的各种定制接口。例如,可以由缺少与运动或图像捕获系统结合操作的相机的计算机监视器、电视屏幕或其它设备来提供混杂的虚拟接口模式。在这个示例实施例中,可以从监视器/屏幕来观看虚拟世界,以及可以由运动或图像捕获系统来执行对象检测和渲染。
[0069] 图7说明了本公开的示例实施例,其中位于不同地理位置中的两个用户每个用户通过他们各自的用户设备与其它用户和共同的虚拟世界进行交互。在这个实施例中,两个用户701和702正在来回地扔虚拟球703(一种类型的虚拟对象),其中每个用户能够观察到虚拟世界中的其它用户的影响(例如,每个用户观察到改变方向的虚拟球,由其它用户抓住的虚拟球等)。因为由计算网络105中的服务器110来跟踪虚拟球(即,虚拟球703)的移动和位置,所以在一些实施例中,系统100可以向用户701和用户702传递相对于每个用户的球703的准确位置和到达计时。例如,如果第一用户701位于伦敦,用户701可以向位于洛杉矶的第二用户702以由系统100计算的速率扔球703。因此,系统100可以向第二用户702(例如,经由电子邮件、文本消息、即时消息等)传递球到达的准确时间和位置。照此,第二用户702可以使用他的设备以看到球703在指定时间和位置到达。当一个或多个虚拟对象虚拟地穿越全球时,一个或多个用户还可以使用地理位置映射软件(或类似的)以跟踪一个或多个虚拟对象。这种情况的示例可以是穿戴三维头戴式显示器的用户在天空中查找和看到飞过头顶的叠加在真实世界上的虚拟飞机。可以由用户、由智能软件代理(运行在用户设备或网关上的软件),可能是本地和/或远程的其它用户,和/或这些组合中的任何组合来驾驶虚拟飞机。
[0070] 如前所述,用户设备可以包含触感接口设备,其中当系统100确定触感设备位于与虚拟对象有关的物理的空间位置时,触感接口设备向用户提供反馈(例如,阻力、振动、光线、声音等)。例如,如图8中示出的,以上相对于图7描述的实施例可以被扩展为包含使用触感设备802。
[0071] 在这个示例实施例中,在虚拟世界中可以将触感设备802显示为棒球棒。当球703到达时,用户702可以向虚拟球703挥舞触感设备802。如果系统100确定由触感设备802提供的虚拟棒与球703进行了“接触”,则触感设备802可以振动或向用户702提供其它反馈,以及虚拟棒703可以在由系统100计算的方向中依照球至棒的接触的检测的速度、方向和计时弹跳离开虚拟棒。
[0072] 在一些实施例中,所公开的系统100可以促进混合模式接口连接,其中多个用户可以使用不同的接口模式(例如,增强的、虚拟的、混杂的等)通过接口与共同的虚拟世界进行连接(含有在其中的虚拟对象)。例如,在虚拟接口模式中通过接口与特定虚拟世界连接的第一用户可以与在增强现实模式中通过接口与同一个虚拟世界连接的第二用户进行交互。
[0073] 图9A说明了第一用户901(在混合虚拟接口模式中通过接口与系统100的数字世界连接)和第一对象902对于在完全虚拟现实模式中通过接口与系统100的同一数字世界连接的第二用户922而言似乎是虚拟对象的示例。如上所述,当经由混杂的虚拟接口模式通过接口与数字世界连接时,可以将本地的物理对象(例如第一用户901和第一对象902)扫描和渲染成虚拟世界中的虚拟对象。第一用户901例如可以由运动捕获系统或类似的设备来扫描,以及在虚拟世界中(由存储在运动捕获系统、网关组件140、用户设备120、系统服务器110或其它设备中的软件/固件)被渲染成第一渲染物理对象931。类似地,第一对象902例如可以由头戴式接口300的环境感知系统306来扫描,以及在虚拟世界中(由存储在处理器308、网关组件140、系统服务器110或其它设备中的软件/固件)被渲染成第二渲染物理对象932。在图9A的第一部分910中,第一用户901和第一对象902被示出为物理世界中的物理对象。在图9A的第二部分920中,第一用户901和第一对象902被示出为对于在完全虚拟现实模式中与通过接口与系统100的同一数字世界连接的第二用户922而言他们好像是第一渲染的物理对象931和第二渲染的物理对象932。
[0074] 图9B说明了混合模式接口连接的另一个示例实施例,其中如上所述,在混杂虚拟接口模式中第一用户901通过接口与数字世界连接,以及在增强现实模式中第二用户922通过接口与同一数字世界(以及第二用户的物理的本地环境925)连接。在图9B中的实施例中,第一用户901和第一对象902位于第一物理位置915处,以及第二用户922位于由距离第一位置915的一些距离分开的不同的第二物理位置925。在这个实施例中,可以将虚拟对象931和虚拟对象932实时地(或接近实时地)转换到对应于第二位置925的虚拟世界内的位置。因此,第二用户922在第二用户的物理的本地环境925中可以观察到分别表示第一用户901和第一对象902的渲染的物理对象931和物理对象932并且与其进行交互。
[0075] 图10说明了当在增强现实模式中通过接口与系统100连接时用户的视图的示例说明。如在图10中示出的,用户看到本地的物理环境(即,具有多个建筑物的城市)以及虚拟角色1010(即,虚拟对象)。可以由二维视觉目标(例如,广告牌、明信片或杂志)和/或一个或多个三维参考系(诸如,建筑物、汽车、人、动物、飞行器、建筑物的部分和/或任何三维物理对象、虚拟对象和/或其组合)来触发虚拟角色1010的方位。在图10中说明的示例中,在城市中的建筑物的已知方位可以提供注册基准点和/或信息和关键特征以用于渲染虚拟角色1010。另外,用户的地理空间位置(例如,由GPS,姿态/方位传感器等来提供)或与建筑物有关的移动位置可以包括由计算网络105使用的数据以触发用于显示虚拟角色(多个)1010的数据的传输。在一些实施例中,用于显示虚拟角色1010的数据可以包括渲染的角色101和/或用于渲染虚拟角色1010或其部分的指令(由网关组件140和/或用户设备120来执行)。在一些实施例中,如果用户的地理空间位置是不可获得或未知的,则服务器110、网关组件140和/或用户设备120仍然可以使用估计特定虚拟对象和/或物理对象可能位于的地方的估计算法,使用根据时间和/或其它参数的用户最后已知的方位来显示虚拟对象1010。万一用户的传感器变成闭塞的和/或经历了其它故障时,这还可以用于确定任何虚拟对象的方位。
[0076] 在一些实施例中,虚拟角色或虚拟对象可以包括虚拟塑像,其中由物理对象来触发虚拟塑像的渲染。例如,现在参照图11,可以由真实的物理平台1120来触发虚拟塑像1110。塑像1110的触发可以是响应于由用户设备或系统100的其它组件检测的虚拟对象或特征(例如,基准点、设计特征、几何结构、模式、物理位置、高度等)。当用户不使用用户设备来观看平台1120时,用户看到不具有塑像1110的平台1120。然而,当用户通过用户设备来观看平台1120时,用户看到如图11示出的平台1120上的塑像1110。塑像1110是虚拟对象,以及因此可以是固定的、动画的、随着时间或相对于用户观看的方位而变化,或甚至取决于正在观看塑像1110的那个特定用户而变化。例如,如果用户是小孩,则塑像可能是狗;但是如果观看者是成年男性,则塑像可能是图11中示出的大机器人。这些是用户依从性和/或状态依从性经验的示例。这将使得一个或多个用户能够独立地和/或与物理对象结合来感知一个或多个虚拟对象,以及体验定制的和个性化版本的虚拟对象。可以由包含例如安装在用户设备上的软件/固件的系统的各种组件来渲染塑像1110(或其部分)。使用指示用户设备的位置和姿态的数据,结合虚拟对象(即,塑像1110)的注册特征,虚拟对象(即,塑像1110)形成与物理对象(即,平台1120)的关系。例如,一个或多个虚拟对象与一个或多个物理对象之间的关系可以是距离、定位、时间、地理位置、至一个或多个其它虚拟对象的接近性的函数,和/或包含任何种类的虚拟和/或物理数据的任何其它功能关系。在一些实施例中,用户设备中的图像识别软件还可以增强数字-至-物理对象的关系。
[0077] 由所公开的系统和方法提供的交互式接口可以被实现以促进各种活动,诸如例如,与一个或多个虚拟环境和对象进行交互,与其它用户进行交互,以及体验各种形式的媒体内容,包含广告、音乐会和电影。因此,所公开的系统促进了用户交互,使得用户不仅看或听媒体内容,而且主动地参与并体验媒体内容。在一些实施例中,用户参与可以包含改变现有的内容或创建将在一个或多个虚拟世界中渲染的新的内容。在一些实施例中,媒体内容和/或用户创建的内容可以围绕一个或多个虚拟世界的神话创作为主题。
[0078] 在一个示例中,音乐家(或其它用户)可以创建将被渲染给与特定虚拟世界进行交互的用户的音乐内容。音乐内容可以包含:例如各种信号、EP、专辑、视频、短片和音乐会演出。在一个示例中,许多用户可以通过接口与系统100连接以同时地体验由音乐家表演的虚拟音乐会。
[0079] 在一些实施例中,所产生的媒体可以含有与特定实体(例如,乐队、艺术家、用户等)相关联的唯一标识码。该码可以是一组字母数字字符、UPC码、QR码、二维图像触发器、三维物理对象特征触发器或其它数字标记,以及声音、图像和/或这两者的形式。在一些实施例中,还可以将该码与数字媒体一起嵌入,可以使用系统100通过接口与该数字媒体连接。用户可以获得该码(例如,经由支付费用)以及兑换该码以访问由与标识码相关联的实体产生的媒体内容。可以在用户界面上添加或从用户界面移除媒体内容。
[0080] 在一个实施例中,为了避免从一个计算系统向另一个计算系统(诸如,从云计算系统到耦合到用户的本地处理器)实时地或接近实时地低时延地传送视频数据的计算和带宽的限制,关于各种形状和几何形状的参数信息可以被转移(transfer)以及用于定义表面,同时纹理可以被转移以及添加到这些表面以带来关于静态或动态的细节,诸如根据参数地重现面孔的几何形状来映射的人的面孔的基于位图的视频细节。作为另一个示例,如果系统被配置为识别人的面孔,并且知道人的化身位于增强世界中,则系统可以被配置为以一种相对大的设置转移来传送相关的世界信息以及人的化身的信息,在此之后,剩下的转移给本地计算系统,诸如图1中描绘的那个308,因为可以使本地渲染限制于参数和纹理更新,诸如人的骸骨结构的运动参数以及人的面孔的移动位图-所有这些以低于与实时视频的初始设置转移或传送的带宽有关的数量级。因此,基于云和本地计算资产可以在集成方式中使用,使得云处置不需要相对低时延的计算,以及本地处理资产处置低时延是非常珍贵的任务,以及在此类情况下,由于此类数据(即,参数信息、纹理等对一切事务的实时视频)的总量的形式,转移给本地系统的数据的形式优选地以相对低的带宽来传送。
[0081] 向前参照图15,示意性说明了云计算资产(46)和本地计算资产(308,120)之间的合作。在一个实施例中,云(46)资产可操作地诸如经由有线或无线网络(可能期望的是,无线优选地用于移动性,有线优选地用于某些高带宽或高数据量转移)直接耦合到(40,42)本地计算资产(120,308)(诸如可以被安装在结构中的处理器和存储器配置,该结构被配置为与用户头(120)或带子(308)耦合)中的一者或两者。位于用户本地的这些计算资产还可以经由有线和/或无线连通性配置(44)可操作地彼此相互耦合。在一个实施例中,为了维持低惯性和小尺寸的头戴式子系统(120),用户和云(46)之间的主要转移可以经由基于带的子系统(308)和云之间的链路,使用无线连通性(诸如超宽带(“UWB”)连通性,如例如在个人计算外围设备连通性应用中当前使用的)将头戴式子系统(120)的主要数据绑缚到基于带的子系统(308)。
[0082] 使用高效的本地和远程处理合作,以及针对用户的适当的显示设备,诸如在图3中描述特征的用户界面302或用户“显示设备”,以下参照图14描述的显示设备14,或其变型,关于用户的当前真实或虚拟位置的一个世界的方面可以被转移或“传送”给用户以及以高效的方式进行更新。实际上,在一个实施例中,在增强现实模式中使用虚拟现实系统(“VRS”)的一个人和在完全虚拟模式中使用VRS的另一个人为了探索位于第一个人的本地同一世界,这两个用户可以以各种方式彼此体验位于彼此世界中用户。例如,参照图12,描绘了类似于参照图11描述的场景,外加正在飞行通过所描述的增强现实世界的来自完全虚拟现实场景的第二用户的化身2的虚拟化。也就是说,可以在针对第一人的增强现实中体验和显示图12中描绘的场景-除了在场景中的本地世界附近的真实物理元素(诸如,地面、背景中的建筑物、塑像平台1120)外还显示两个增强现实元素(塑像1110和第二人的飞翔的大黄蜂化身2)。动态更新可以用于允许第一人可视化第二人的化身2的过程,如化身2飞行通过位于第一人的本地的世界。
[0083] 此外,使用如上所述的配置,其中有一个世界模型,其可以驻留在云计算资源上以及可以从那里进行分布,优选地试着分发实时视频数据或诸如此类,此类世界能够以相对低的带宽形式“可传送“给一个或多个用户。可以由基于云的世界模型来通知站在塑像(即,如图12中示出的)附近的人的增强体验,可以将其的子集向下传送给他们和他们的本地显示设备以完成视图。坐在远程显示设备处的人(其可以是如位于桌子上的个人计算机一样简单)能够高效地下载来自云的信息的同一部分,以及使得它被渲染在他们的显示器上。实际上,事实上呈现在位于塑像附近的公园中的一个人可以与位于远程的朋友在那个公园中散步,该朋友通过虚拟和增强现实来加入。系统将需要知道街道位于何处,树在哪里,塑像在何处-但是在云上具有该信息时,加入的朋友能够从云下载场景的方面,以及然后开始散步,作为与实际上在公园中的人有关的本地的增强现实。
[0084] 参照图13,描绘了基于时间和/或其它偶然性参数的实施例,其中与虚拟和/或增强现实接口(诸如具有图3中描绘特征的用户界面302或用户显示设备、以下参照图14描述的显示设备14,或其组合)结合的人正使用系统(4)以及进入咖啡经营场所以点了一杯咖啡(6)。VRS可以被配置为使用感知和数据收集能力(本地地和/或远程地)以在针对该人在增强和/或虚拟现实中提供显示加强,诸如高亮咖啡经营场所中的门的位置或相关的咖啡菜单(8)的气泡窗口。当人接收到他已经点的一杯咖啡时或在系统检测到一些其它相关参数后,系统可以被配置为在具有显示设备的本地环境中显示(10)一个或多个基于时间的增强或虚拟现实图像、视频和/或声音,诸如来自墙和天花板的马达加斯加岛丛林场景,具有或不具有丛林声音和其它效果,静态或动态的。基于定时参数(即,在已经识别到满杯的咖啡杯以及递给用户后的5分钟;在已经识别到用户走进经营场所的前门之后的10分钟,等)或其它参数(诸如由当用户从杯子摄食了最后一口的咖啡时,系统通过注意到咖啡杯的倒置指向识别到用户已经喝完了咖啡-或由系统识别到用户已经离开经营场所(12)的前门),至用户的此类呈现可以中止。
[0085] 参照图14,示出了合适的用户显示设备(14)的一个实施例,该用户显示设备包括:显示镜头(82),其通过壳体或框架(84)被安装在用户的头或眼。显示镜头(82)可以包括通过用户的眼睛(20)的前面中的壳体(84)定位的一个或多个透明镜子,以及被配置为将投影光反射到眼睛(20)中以及促进光束整形,同时还允许传输来自增强现实配置中的本地环境的至少一些光(在虚拟现实配置中,对于显示系统14而言,可能期望的是能够基本上阻塞来自本地环境的所有光,诸如通过黑暗的遮护,阻塞窗帘,全黑LCD面板模式或诸如此类)。在所描绘的实施例中,两个宽视野的机器视觉相机(16)被耦合到壳体(84)以成像用户周围的环境;在一个实施例中,这些相机(16)是双重捕获可见光/红外线相机。如所示的,所描绘的实施例还包括具有显示镜子和被配置为将光(38)投影到眼睛(20)中的光学器件的一对激光扫描成形波前(即,针对深度)光投影模块。所描绘的实施例还包括:与红外线光源(26,诸如发光二极管“LED”)成对的两个微型红外线相机(24),其被配置为能够跟踪用户的眼睛(20)以支持渲染和用户输入。系统(14)还以传感器总成(39)的特征,其可以包括X,Y和Z轴加速计能力以及磁罗盘和X,Y和Z轴陀螺仪能力,优选地以相对高的频率(诸如200Hz)来提供数据。所描绘系统(14)还包括头部姿势处理器(36),诸如ASIC(专用集成电路)、FPGA(现场可编程门阵列)、和/或ARM处理器(高级精简指令集机器),其可以被配置为从捕获设备(16)输出的宽视野图像信息实时或接近实时地计算用户的头部姿势。还示出示出的是另一个处理器(32),其被配置为执行数字和/或模拟处理以从来自传感器总成(39)的陀螺仪、罗盘和/或加速计数据来导出姿势。所描绘的实施例还以GPS(37,全球定位卫星)子系统以帮助姿势和定位为特征。最后,所描绘的实施例包括渲染引擎(34),其可以以运行软件程序的硬件为特征,该软件程序被配置为针对世界的用户视图提供该用户本地的渲染信息以促进扫描仪的操作以及成像到用户的眼睛中。渲染引擎(34)可以操作地耦合到(81,70,76/78,
80;即,经由有线或无线连通性)传感器姿势处理器(32)、图像姿势传感器(36)、眼睛跟踪相机(24)和投影子系统(18),使得以类似于视网膜扫描显示器的方式使用扫描激光装置(18)来投影渲染的增强和/或虚拟现实对象的光。投影光束(38)的波前可以弯曲或聚焦以符合增强和/或虚拟现实对象的期望的焦点距离。微型红外线相机(24)可以用于跟踪眼睛以支持渲染和用户输入(即,用户观看的地方,他聚焦有多深;如以下论述的,眼睛边缘可以用于估计焦点的深度)。GPS(37)、陀螺仪、罗盘和加速计(39)可以用于提供粗略和/或快速姿势估计。相机(16)图像和姿势结合来自相关联的云计算资源的数据可以用于映射本地世界,以及与虚拟和增强现实社区共享用户视图。虽然在图14中描述特征的显示系统(14)中硬件中的大多数硬件被描绘为直接耦合到壳体(84),该壳体(84)邻近显示器(82)和用户的眼睛(20),但是所描绘的硬件组件可以被安装到其它组件内或封装在其它组件内,诸如安装带组件,如例如在图3中示出的。在一个实施例中,在图14中描述特征的系统(14)的所有组件(除了图像姿势处理器(36)、传感器姿势处理器(32)和渲染引擎(34)之外)直接耦合到显示壳体(84),以及上面后三个组件与系统(14)的剩余组件之间的通信可以是通过无线通信(诸如超宽带)或有线通信。所描绘的壳体(84)优选地可以由用户头戴和可以穿戴。它还可以以扬声器(诸如可以被插入到用户的耳朵中以及用于向可能与增强或虚拟现实体验相关的用户提供声音(诸如参照图13提及的丛林声音)的那些扬声器)以及麦克风(其可以用于捕获用户本地的声音)为特征。
[0086] 关于进入用户的眼睛(20)中的光(38)的投影,在一个实施例中,微型相机(24)可以用于测量用户的眼睛(20)的中心在几何上地趋向哪里,一般地其与眼睛(20)的焦点的方位或“焦点的深度”一致。眼睛趋向的所有点的三维表面被称为“两眼视界”。焦点距离可以具有有限数量的深度或可以是无限变化的。来自视线聚合距离的投射的光好像是被聚焦到主题(subject)眼(20),而在视线聚合距离前面或后面的光是模糊不清的。此外,已经发现的是,具有小于大约0.7毫米的光束直径的空间相干光由人的眼睛正确的解析,而不管眼睛聚焦在哪里;给定这种理解,为了创建适当的焦点深度的错觉,可以使用微型相机(24)来跟踪眼睛视线聚合,以及渲染引擎(34)和投影子系统(18)可以用于渲染在焦点对准的两眼视界上或接近两眼视界上的所有对象,以及在散焦不同度数处的所有其它对象(即,使用有意创建的模糊)。被配置为将相关光投影到眼睛中的穿透光引导光线器件可以由诸如Lumus公司的供应商来提供。优选地,系统(14)以每秒约60帧的帧率或更高向用户进行渲染。如上所述,优选地,微型相机(24)可以用于眼睛跟踪,以及软件可以被配置为获取不仅视线聚合几何而且聚焦位置线索以用作用户输入。优选地,此类系统被配置为具有适合于白天和夜晚使用的亮度和对比度。在一个实施例中,此类系统优选地具有小于约20毫秒的时延以用于虚拟对象对齐,小于约0.1度的角度对齐,以及约1弧分的分辨率,其大约是人类眼睛的限制。显示系统(14)可以与定位系统集成,其可以涉及GPS元素、光学跟踪、罗盘、加速计和/或其它数据源以帮助方位和姿势确定;定位信息可以用于促进在相关世界的用户视图中的准确渲染(即,此类信息将促进眼镜知道它们相对于真实世界在什么地方)。
[0087] 其它合适的显示设备包含但不限于:台式和移动计算机、智能电话、可以另外地使用软件和硬件特征以促进或仿真三维透视图(例如,在一个实施例中,帧可以可移除地耦合到智能电话,帧以200Hz陀螺仪和加速计传感器子集为特征,具有宽视界镜头的两个小机器视觉相机,以及ARM处理器-以仿真在图14中描述特征的配置的功能中的一些功能)来增强的智能电话、平台计算机、如以上针对智能电话所述的可以增强的平板计算机、使用另外的处理和感知硬件来增强的平板计算机、头戴式系统(其使用智能电话和/或平板计算机以显示增强和虚拟的视点(经由放大光学器件、镜子、接触镜头或光结构元素的视觉调节))、非透明的光发射元素显示器(LCD、OLED、垂直腔表面发射激光器、控制激光束等)、透明显示器(其同时允许人看到自然世界和人工生成的图像(例如,光引导光学元素、照进近焦接触镜头的透明和极化OLED、控制激光束等))、具有光发射元素的接触镜头(诸如,来自华盛顿州的贝尔维尔的Innovega公司的,在商标Ioptik RTM下的可获得的那些具有光发射元素的接触镜头;它们可以与专用的互补眼镜组件进行组合)、具有光发射元素的可植入设备、以及仿真人脑的光学接收器的可植入设备。
[0088] 使用诸如图3和图14中描绘的系统的系统,可以从环境捕获三维点,以及可以确定捕获那些图像或点的相机的姿势(即,有关于世界的向量和/或源方位信息),以便这些点或图像可以使用这个姿势信息“加标记”或与这个姿势信息相关联。然后,由第二相机捕获的点可以用于确定第二相机的姿势。也就是说,一个人能够基于与来自第一相机的标记的图像的比较来定向和定位第二相机。然后,这个知识可以用于提取纹理、制作映射以及创建真实世界的虚拟拷贝(因为然后在被注册的真实世界周围有两个相机)。因此在基面,在一个实施例中,你具有穿戴用于捕获三维点和产生该点的二维图像的系统的人,以及可以将这些点和图像发送出去给云存储和处理资源。还可以将它们与嵌入式姿势信息本地地缓存(即,缓存标记的图像);以便云可以准备好(即,在可用的缓存中)标记的二维图像(即,使用三维姿势来标记),连同三维点。如果用户正在观察某些动态的东西,则他还可以将关于运动的另外的信息向上发送给云(例如,如果看另一个人的面孔,则用户能够获得该面孔的纹理图以及以优化的频率来向上推送该纹理图,即使周围世界在其它方面基本上是静态的)。
[0089] 云系统可以被配置为保存一些点作为仅用于姿势的基准点,以减少整体的姿势跟踪计算。一般而言,可能期望的是具有一些轮廓特征以便当用户在房间周围移动时能够跟踪用户环境中的主要项目,诸如墙、桌子等,以及用户可能希望能够“共享”世界以及使一些其它用户走进该房间并且也看到这些点。此类有用的和关键的点可以被称为“基准点”,因为它们作为锚点是相当有用的-它们与可以由机器视觉识别的特征以及能够从在用户硬件的不同块上一致地和重复地从世界提取的特征有关。因此,优选地可以将这些基准点保存到云以供进一步使用。
[0090] 在一个实施例中,优选的是,在整个相关世界上具有相对均匀分布的基准点,因为它们是相机能够容易地用于识别位置的各种种类的项目。
[0091] 在一个实施例中,相关的云计算配置可以被配置为周期性地整理三维点和任何相关联的元数据的数据库以将来自各种用户的最佳数据用于基准点求精和世界创建两者。也就是说,系统可以被配置为通过使用来自观看相关世界以及在相关世界内执行功能的各种用户的输入来获得最佳的数据集。在一个实施例中,数据库是固有的不规则的碎片形-当用户移动到更接近于对象时,云向此类用户传送更高分辨率的信息。当用户更接近地映射对象时,该数据被发送给云,以及如果新的三维点和基于图像的纹理图比先前存储在数据库中的那些三维点和基于图像的纹理图更好,则云能够将它们添加到数据库。所有一切可被配置为从许多用户同时发生。
[0092] 如上所述,增强或虚拟现实体验可以基于识别某些类型的对象。例如,重要的是理解特定对象具有深度以便识别和理解此类对象。识别器软件对象(“识别器”)可以部署在云或本地资源上,以便当用户在世界中导航数据时特别地帮助识别一个或两个平台上的各种对象。例如,如果系统具有针对包括三维点云和姿势标记图像的世界模型的数据,以及具有在其上具有一群点的桌子以及该桌子的图像,则可能不能如人将知道它是桌子那样来确定正在观察的是(实际上)是桌子。也就是说,在空间中的某些三维点和在空间中离开某处的示出桌子的大部分的图像可能不足以立刻识别正在被观察的是桌子。为了帮助这种识别,可以创建特定对象识别器,其将进入原始三维点云,分割一组点,以及例如提取桌子的顶部表面的平面。类似地,可以创建识别器以分割来自三维点的墙,以便用户能够在虚拟或增强现实中改变墙纸或移除墙的一部分,以及具有至另一个房间的入口(在真实世界中其实际上不是存在于那里)。此类识别器操作在世界模型的数据内,以及可以被认为是软件“机器人”,其爬行世界模型以及将该世界模型灌输语义信息,或关于被认为是存在于空间中的点之间的本体论。此类识别器或软件机器人可以被配置为使得它们整体存在是关于在数据的相关世界四处走动以及找到它认为是墙或椅子或其它项目的东西。它们可以被配置为将一组点标记为具有“这组点属于墙”的功能性等同性,以及可以包括基于点的算法和标记姿势的图像分析的组合以用于相互通知系统关于在点中是什么。
[0093] 可以取决于视角出于各种效用的许多目的来创建对象识别器。例如,在一个实施例中,咖啡的供应商(诸如星巴克)可以投资于在数据的相关世界内创建星巴克的咖啡杯的准确识别器。此类识别器可以被配置为爬行大大小小的数据世界以搜索星巴克的咖啡杯,因此当操作在相关的附近空间中时(即,可能的是,在刚好位于角落附近的星巴克的批发商店中,当用户在一段时间内看他的星巴克杯时向用户提供咖啡),可以将它们分割出并且识别到用户。随着杯子被分割出,当用户在他的桌子上移动它时,它可以被快速地识别。取决于可以使用的计算资源,此类识别器可以被配置为不仅运行或操作在云计算资源和数据上,而且运行或操作在本地资源和数据上,或者云和本地两者。在一个实施例中,在具有数百万的用户贡献于那个全球模型的云上有世界模型的全球拷贝,但是对于类似于特定城镇中的特定个体的办公室的小世界或子世界而言,全球世界的大多数将不关心该办公室看起来像什么,因此系统可以被配置为整理数据以及移动到本地缓存信息(其被认为是与给定用户最本地相关的)。在一个实施例中,例如,当用户走向桌子时,有关信息(诸如在他的桌子上的特定杯子的分割)可以被配置为仅驻留在他的本地计算资源而不是在云上,因为被识别为经常移动的对象(诸如桌子上的杯子)的对象不必加重云模型以及云和本地资源之间的传输负担的负担。因此,云计算资源可以被配置为分割三维点和图像,因此将永久(即,一般不移动的)对象从可移动对象分解开,以及这可能影响哪里的相关联数据将保留,哪里的将被处理,针对于更永久的对象有关的某种数据而言从可穿戴/本地系统中移除处理负担,允许位置的一次处理(然后,该位置可以与无限的其它用户共享),允许多个数据源在特定物理位置中同时地建立固定和可移动对象的数据库,以及从背景中分割出对象以创建对象特定的基准点和纹理图。
[0094] 在一个实施例中,系统可以被配置为向用户询问关于某些对象的身份的输入(例如,系统可以向用户呈现问题,诸如“那是星巴克咖啡杯吗?”),以便用户可以训练系统以及允许系统将语义信息与真实世界中的对象相关联。本体论可以提供关于从世界分割的对象能够做什么、它们如何表现行为等的指导。在一个实施例中,系统可以具有虚拟或真实的小键盘的特征,诸如无线连接的小键盘,至智能电话的小键盘的连通性,或诸如此类,以促进至系统的某种用户输入。
[0095] 系统可以被配置为与以虚拟或增强现实走进房间的任何用户共享基本元素(墙、窗口、桌子几何形状等),以及在一个实施例中,人的系统将被配置为从他的特定视角来得到图像并且将那些图像上传到云。然后云开始填充旧的和新的数据集合,以及能够运行优化例程以及建立在个体对象上存在的基准点。
[0096] GPS和其它定位信息可以用作至此类处理的输入。此外,其它计算系统和数据(诸如人的在线日程表或脸书账户信息)可以用作输入(例如,在一个实施例中,云和/或本地系统可以被配置为针对飞机票、日期和目的地来分析用户日程表的内容,以便随着时间,可以从云中将信息移动到用户的本地系统中以便为在给定目的地中用户的到达时间做准备)。
[0097] 在一个实施例中,可以将诸如QR码的标签和诸如此类插入到世界中以供非统计姿势计算、安全性/访问控制、特别信息的通信、空间消息传送、非统计对象识别等的使用。
[0098] 在一个实施例中,如以上参照“可传送的世界”描述的,云资源可以被配置为在用户之间传送真实和虚拟世界的数字模型,具有由个体用户基于参数和纹理来渲染的模式。这降低了有关于传送实时视频的带宽,允许场景的虚拟视点的渲染,以及允许数百万或更多的用户参与一个虚拟收集而在它们之间相互发送的他们需要观看的数据(诸如视频),因为他们的视图是通过他们的本地计算资源来渲染的。
[0099] 虚拟现实系统(“VRS”)可以被配置为通过以下中的一个或多个来注册用户位置和视野(一起被称为“姿势“):使用相机的实时度量的计算机视觉、同时定位和映射技术、地图和来自传感器(诸如陀螺仪、加速计、罗盘、气压计、GPS、无线电信号强度三角测量、信号飞行时间分析、LIDAR范围、RADAR范围、测程法和声纳范围)的数据。可穿戴设备系统可以被配置为同时地绘制地图和定向。例如,在未知的环境中,VRS可以被配置为收集关于环境的信息、确定适用于用户姿势计算的基准点、用于世界建模的其它点、用于提供世界的纹理图的图像。基准点可以用于光学地计算姿势。当使用更多的细节来映射世界时,可以分割出更多的对象以及给出它们自己的纹理图,但是世界仍然优选地使用低分辨率纹理图以简单多边形低空间分辨率来表示。其它传感器,诸如上述论述的那些传感器,可以用于支持这种建模工作。世界可以是固有的不规则形状,在于移动或以其它方式搜寻更好的视图(通过视点、“监督”模式、放大等)要求来自云资源的高分辨率的信息。更接近地移动到对象捕获更高的分辨率数据,以及这可以被发送给云,其可以计算世界模型中的间隙位置处的新的数据和/或在世界模型中的间隙位置处插入新的数据。
[0100] 现在参照图16,可穿戴系统可以被配置为捕获图像信息以及提取基准点和识别点(52)。可穿戴的本地系统可以使用以下提及的姿势计算技术中的一种姿势计算技术来计算姿势。云(54)可以被配置为使用图形和基准点以从更静态的三维背景中分割出三维对象;图像提供针对对象和世界的纹理图(纹理可以是实时视频)。云资源(56)可以被配置为存储和提供用于世界注册的静态基准点和纹理。云资源可以被配置为管理用于注册的最优点密度的点云。云资源可以被配置为(62)使用所有有效的点和纹理以生成对象的分形实体模型;云可以管理用于最优基准点密度的点云信息。云资源(64)可以被配置为向用户询问关于分割对象和世界的密度的训练;本体论数据库可以使用应答以使用可动作的属性来灌输对象和世界。
[0101] 以下注册和映射的特定模式以术语“O-姿势”为特征,其表示从光学或相机系统确定的姿势;“s-姿势”,其表示从传感器(即,如上所述的,诸如GPS、陀螺仪、罗盘、加速计等数据的组合)确定的姿势;以及“MLC”,其表示云计算和数据管理资源。
[0102] 1.定向:制作出新环境的基本图
[0103] 目的:如果环境没有被映射或(等同的)或者如果没有连接到MLC,则建立姿势。
[0104] ·从图像提取点,逐帧进行跟踪,使用S-姿势来三间测量基准点。
[0105] ·使用S-姿势,因为没有基准点
[0106] ·基于持久性过滤差的基准点。
[0107] ·这是最基本的模式:对于低精确度的姿势它将总是工作的。使用很少时间以及一些相对运动,它将建立用于O-姿势和/或映射的最小化的基准点集合。
[0108] ·一旦O-姿势可靠就跳出这种模式。
[0109] 2.映射和O-姿势:映射环境
[0110] 目的:建立高准确度的姿势,映射环境,以及向MLC提供地图(具有图像)。
[0111] ·从成熟世界基准点来计算O-姿势。使用S-姿势作为O-姿势解决方案的检查以及用于加速计算(O-姿势是非线性梯度搜索)。
[0112] ·成熟基准点可能来自MLC,或是本地确定的那些基准点。
[0113] ·从图像提取点,逐帧进行跟踪,使用O-姿势来进行三角测量基准点。
[0114] ·基于持久性过滤差的基准点
[0115] ·向MLC提供基准点和姿势标记的图像
[0116] ·后三个步骤不需要实时发生。
[0117] 3.O-姿势:确定姿势
[0118] 目的:使用最小化的处理功率在已经映射的环境中建立高准确度的姿势。
[0119] ·使用历史的S-姿势或O-状态(n-1,n-2,n-3等)以估计在n处的姿势。
[0120] ·使用在n处的姿势以将基准点投影到在n处捕获的图像中,然后从该投影来创建图像遮障。
[0121] ·从遮障区域来提取点(仅通过从图像的遮障子集中来搜索/提取点极大地降低了处理负担)。
[0122] ·从提取的点和成熟的世界基准点来计算O-姿势。
[0123] ·使用在n处的S-姿势和O-姿势以估计在n+1处的姿势。
[0124] ·选项:向MLC云提供姿势标记的图像/视频。
[0125] 4.超级Res:确定超级分辨率图像和基准点
[0126] 目的:创建超级分辨率图像和基准点。
[0127] ·使姿势标记的图像复合以创建超级分辨率图像。
[0128] ·使用超级分辨率图像以增强基准点方位的估计。
[0129] ·从超级分辨率基准点和图像来迭代O-姿势估计。
[0130] ·选项:在可穿戴设备(实时地)或(MLC)(用于更好的世界)循环以上步骤。
[0131] 在一个实施例中,VLS系统可以被配置为具有某些基本功能,以及由可以通过VLS分发以提供某些特定功能的“应用(app)”或应用促进的功能。例如,可以将以下应用安装到主题VLS以提供特定功能。
[0132] 美术绘制的应用。艺术家创建表示他们看到的世界的图像转换。用户能够使用这些转换,因此“通过”艺术家的眼睛观看世界。
[0133] 桌面建模应用。用户从被放在桌子上的物理对象来“建立”的对象。
[0134] 虚拟临场应用。用户向其它用户传送空间的虚拟模型,然后其它用户使用虚拟化身在空间附近移动。
[0135] 化身情感应用。微妙的音调变化的测量,监测头部移动、体温、心跳等,在虚拟临场化身上制作微妙的效果的动画。数字化人的状态信息以及使用低于视频的带宽将其传送给远程化身。另外,此类数据是可映射到有情感的非人类化身。例如,狗的化身能够基于兴奋的音调变化通过摇它的尾巴示出兴奋。
[0136] 与将一切发送回给服务器作为对照,高效的网格类型网络可能是期望用于移动数据。然而,许多网格网络具有次优的性能,因为没有很好地描述方位信息和拓扑的特点。在一个实施例中,系统可以用于以较高的准确性来确定所有用户的位置,以及因此网格网络配置可以用于高性能。
[0137] 在一个实施例中,系统可以用于搜索。使用增强现实,例如,用户将生成和留下有关于物理世界的许多方面的内容。这种内容中的许多内容不是文本的,以及因此不易于由典型的方法来搜索。系统可以被配置为提供用于跟踪个人和社交网络内容以用于搜索和参考目的的设施。
[0138] 在一个实施例中,如果显示设备通过连续帧来跟踪二维点,则将向量值函数适配到那些点的时间演化,有可能的是简化在时间中的任何点(例如,帧之间)或在不久的将来中的某些点处(通过将向量值函数在时间中向前推进)的向量值函数。这允许创建高分辨率的后处理,以及在下一个图像被实际捕获之前预测未来的姿势(例如,在没有双倍相机帧速率的情况下,双倍注册速度是可能的)。
[0139] 对于身体固定渲染(与头上固定或世界固定渲染对比),期望的是身体的准确视图。而不是测量身体,在一个实施例中通过用户头部的平均方位来导出它的位置是可能的。如果用户的面孔绝大对数时间指向前方,则头部方位的多天的平均值将揭示那个方向。结合重力向量,这提供了合理的稳定的坐标系以用于身体固定的渲染。使用相对于这种长期持续时间的坐标系的头部方位的当前测量允许在用户身体上或用户身体附近的对象的一致性渲染-不使用额外的仪器。对于这种实施例的实现方式,可以启动头部方向向量的单个寄存器的平局值,以及数据的当前和除以德尔塔(delta)-t将给出当前平均的头部方位。保持五个左右的寄存器,在第n-5天、第n-4天、第n-3天、第n-2天、第n-1天启动允许使用前“n”天的滚动平均值。
[0140] 在一个实施例中,场景可以被缩小以及以小于实际空间呈现给用户。例如,在存在必须以巨大空间(即,诸如足球场)渲染的场景的情况下,可能没有等同的巨大空间呈现,或对于用户而言此类大空间可能是不方便的。在一个实施例中,系统可以被配置为降低场景的比例,以便用户可以观看小型中的它。例如,一个人可能具有神眼视图视频游戏,或世界杯足球游戏,在未缩放的场地中-或按比例缩小场地中进行以及呈现在客厅地板上。系统可以被配置为仅仅转变渲染的视角、比例和相关联的适应距离。
[0141] 系统还被配置为通过操纵虚拟或增强现实对象的焦点,通过高亮它们,变化对比度、亮度、比例等引起用户注意到特定项目。
[0142] 优选地,系统可以被配置为实现以下模式:
[0143] 开放空间渲染:
[0144] ·从结构化环境中抓取关键点,然后使用ML渲染在空间之间进行填充。
[0145] ·潜在的场所:舞台、输出空间、大室内空间(体育馆)。
[0146] 对象包装:
[0147] ·识别真实世界中的三维对象,然后增强它们。
[0148] ·这里的“识别”意味着具有足够高准确性将三维物件(blob)辨认为锚图像。
[0149] ·有两种类型的识别:1)分类对象的类型(例如,“面孔”);2)分类对象的特定实例(例如,乔,一个人)。
[0150] ·建立针对各种东西(墙、天花板、地板、面孔、路、天空、摩天大楼、低矮的平房、桌子、椅子、汽车、路标、广告牌、门、窗户、书架等)的识别软件对象。
[0151] ·一些标识器是类型I,以及具有通用的功能,例如“把我的视频放在那个墙上”,“那是狗”。
[0152] ·其它识别器是类型II,以及具有特定的功能,例如“我的电视在_我的_客厅的墙上距离天花板3.2英尺”,“那是菲多(Fido)”(这是更有能力的通用识别器的版本)[0153] ·建立作为软件对象的识别器允许功能的计量释放,以及体验的更细粒度的控制[0154] 身体为中心的渲染
[0155] ·渲染固定到用户身体的虚拟对象。
[0156] ·一些东西应当在用户身体的周围漂浮,像数字工具带。
[0157] ·这要求知道身体在何处,而不是仅仅是头部。通过具有用户头部方位的长期平局值可以获得身体方位的合理的准确性(头部通常平行于地面指向前方)。
[0158] ·简单的情况是在头部周围漂浮的对象。
[0159] 透明度/刨面图
[0160] ·对于类型II的识别的对象,示出了刨面图
[0161] ·将类型II的识别的对象链接到三维模型的在线数据库。
[0162] ·应当从具有通常可以获得的三维模型(诸如汽车和公共设施)的对象开始。
[0163] 虚拟临场
[0164] ·将远程人的化身描绘到开放空间中。
[0165] “开放空间渲染”的子集(以上)。
[0166] 用户创建本地环境的粗略几何形状,以及迭代地向其它用户发送几何形状和纹理图两者。
[0167] 用户必须向其它用户授予准许以进入他们的环境。
[0168] 微妙的声音队列、手势跟踪、和头部运动被发送给远程化身。根据这些模糊输入使化身动画。
[0169] 以上最小化带宽。
[0170] ·使墙成为至另一个房间的“入口”
[0171] 正如其它方法,传送几何形状和纹理图。
[0172] 替代示出本地房间中的化身,将识别的对象(例如,墙)指定为至其它环境的入口。以这种方式,多个人能够坐在它们自己的房间中,“通过”墙看到其它人的环境。
[0173] 虚拟视点
[0174] ·当一组相机(人)查看来自不同视角的场景时,创建区域的密集数字模型。这种丰富的数字模型是可以从至少一个相机能够看到的任何有利位置来渲染的。
[0175] ·示例。在婚礼处的人。由所有的参加者来联合地建模场景。识别器进行区分以及纹理图静止对象不同于移动对象(例如,墙具有稳定的纹理图,人具有更高频的移动纹理图。)
[0176] ·使用实时更新的丰富数字模型,场景可以从任何视角来渲染。在后面的参加者为了更好的视图能够在空气中飞到前排。
[0177] ·参加者能够示出它们移动的化身,或使它们的视角被隐藏。
[0178] ·场外的参加者能够使用它们的化身或者如果组织者允许不可见地找到“座位”。
[0179] ·很可能要求非常高的带宽。概念上地,高频数据在高速本地无线上流过人群。低频数据来自MLC。
[0180] ·由于所有的参加者具有高准确性的方位信息,所以为本地网络建立最佳路由路径是简单的。
[0181] 消息传送
[0182] ·简单的无声的消息传送可能是期望的
[0183] ·对于这个和其它应用,可能期望的是具有手指和弦键盘。
[0184] ·触觉手套解决方案可以提供增强的性能。
[0185] 完全虚拟现实(VR)
[0186] ·随着视觉系统变暗,示出在真实世界上没有被覆盖的视图。
[0187] ·注册系统仍然需要根据头部方位。
[0188] ·“睡椅模式”允许用户飞行。
[0189] ·“行走模式”将真实世界中的对象重新渲染成虚拟对象,因此用户不会与真实世界混淆。
[0190] ·对于暂停不相信而言,渲染身体部分是必要的。这意味着在FOV中具有用于跟踪和渲染身体部分的方法。
[0191] ·非透明面具(visor)是具有许多图像加强优点而不可能具有直接叠加的VR的一种形式。
[0192] ·宽FOV,可能甚至具有看到后部的能力
[0193] ·各种形式的“超级视觉”:望远镜、透视、红外线、神眼等。
[0194] 在一个实施例中,用于虚拟和/或增加用户体验的系统被配置为使得可以至少部分地基于具有来自诸如语音音调变化分析和面部识别分析(如由相关软件模块执行的)的源的输入的可穿戴设备上的数据使与用户相关联的远程化身进行动画。例如,参照回图12,可以基于在用户面孔上的微笑的面部识别,或基于语音或说话的友好语调(如由被配置为分析至麦克风(其可从用户本地地捕获语音样本)的语音输入的软件来确定),使得蜜蜂化身(2)进行动画以具有友好的微笑。此外,可以以化身好像表达某种情感的方式使得化身角色进行动画。例如,在化身是狗的实施例中,由人类用户的本地的系统检测到的高兴的微笑或语调在化身中可以被表示成摇着尾巴的狗的化身。
[0195] 本文中描述了本发明的各种示例性实施例。以非限制性的含义来参照这些示例。提供它们以说明本发明的更宽广的应用方面。在不背离本发明的真实精神和范围的情况下,可以做出对于所述的本发明的各种变化以及可以使用等同形式来替代。另外,可以做出许多修改以将特定情况、材料、物质的组合、过程、过程动作(多个)或步骤(多个)适应于本发明的目的(多个)、精神或范围。此外,如本领域的技术人员将了解的是,在本文中描述和说明的个体变型中的每个个体变型具有离散的组件和特征,在不背离本发明的范围或精神的情况下,该组件和特征可以容易地与其它若干实施例中的任何实施例的特征分离或与其组合。所有此类修改旨在是落入与本公开相关联的权利要求书的范围内。
[0196] 本发明包含可以使用主题设备来执行的方法。该方法可以包括提供此类合适设备的动作。此类提供可以由终端用户来执行。也就是说,“提供”动作仅要求终端用户获得、访问、接近、定位、设置、激活、升高或其它方式的动作来提供主题方法中必须的设备。本文所述方法可以以所述事件的逻辑上可能的任何顺序,以及以时间的所述顺序来执行。
[0197] 本发明的示例性方面,连同关于材料选择和制作的细节已经在上面进行了阐述。至于本发明的其它细节,这些细节可以结合上述引用的专利和出版物以及本领域的技术人员众所周知的或了解的来了解。在如通常或逻辑上使用的另外动作方面,相对于本发明的基于方法的方面,这可以同样适用。
[0198] 另外,通过已经参照可选地并入各种特征的若干示例来描述的本发明,本发明不限制于根据相对于本发明的每种变型所预期的来描述或指示的那些方面。在不背离本发明的真实精神和范围的情况下,可以针对所述的本发明做出各种变化,以及使用等同形式(不论是在本文中叙述的还是出于某种简明的原因未包含的)来替代。另外,这里提供了值的范围,应当理解的是,每个介于中间的值(在该范围的上限和下限之间),以及在那个阐明的范围中的任何其它阐明的或介于中间的值被涵盖在本发明内。
[0199] 此外,可以预期的是,所述的本发明的变型的任何可选特征可以独立地或与本文所述的特征中的一个或多个特征组合来阐述和要求保护。提及的单数项,包含具有多个相同项目存在的可能性。更具体地,如在本文中和在与本文相关联的权利要求书中使用的,单数形式“一个”、“一种”、“所述”和“该”包含复数指示物,除非以其它方式明确地阐明。也就是说,在以上描述以及与本公开相关联的权利要求书中,冠词的使用允许主题项目中的“至少一个”。还需注意的是,此类权利要求书可以被起草成排除任何可选的元素。照此,这个声明旨在用作针对此类排他性术语(如,“仅”、“只有”和诸如此类)连同要求保护的元素的叙述的使用,或“否定”限制的使用的前置基础。
[0200] 在不使用此类排他性术语的情况下,在与本公开相关联的权利要求书中的术语“包括”应当允许包含任何另外元素-不管在此类权利要求书中是否列举给定数目的元素,或者特征的添加可以被认为转变在此类权利要求书中阐述的元素的性质。除了本文中明确定义的外,本文中使用的所有技术和科学术语被给予如通常理解的含义尽可能宽的范围同时维持权利要求的有效性。
[0201] 本发明的宽度不限制于提供的示例和/或主题说明书,而是相反仅由与本公开相关联的权利要求语言的范围来限制。