首页 / 专利库 / 空气动力学 / 操纵性 / 用于虚拟现实架构中改善的数据集成的系统和方法

用于虚拟现实架构中改善的数据集成的系统和方法

阅读:461发布:2021-06-05

专利汇可以提供用于虚拟现实架构中改善的数据集成的系统和方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及用于 虚拟现实 架构中改善的数据集成的系统和方法。此处描述的各 实施例 提供用于使用可用的数据(来自各种数据源)来提供集成的虚拟现实体验的工艺和技术。此处描述的各实施例包括用于执行下列各项操作的系统和方法:从虚拟现实设备获取对旅行目的地的选择,获取与旅行目的地关联的目的地信息,包括目的地的旅行服务,获取与个人关联的上下文信息,包括设备标识符或个人简档标识符,获取与个人以及设备关联的简档信息,以及基于简档和目的地过滤服务,提供包括控件的目的地的 虚拟环境 ,使用控件和环境,提供旅行服务;接收个人在虚拟环境中的移动,确定与虚拟环境的交互和对控件和环境的更新,以及向个人提供更新的控件和环境用于显示。,下面是用于虚拟现实架构中改善的数据集成的系统和方法专利的具体信息内容。

1.一种非瞬时的计算机可读存储介质,所述计算机可读存储介质存储可由虚拟现实计算系统执行的指令,所述虚拟现实计算系统包括一个或多个处理器以使所述虚拟现实计算系统执行一种方法,所述方法包括:
从与个人相关联的虚拟现实设备中获取对旅行目的地的选择;
从一个或多个数据源获取与所述旅行目的地相关联的目的地信息,其中,所述目的地信息包括与所述旅行目的地相关联的旅行服务;
从所述一个或多个数据源,获取与所述个人相关联的上下文信息,其中,所述上下文信息包括与所述虚拟现实设备相关联的设备标识符以及个人简档标识符中的一项;
响应于所述上下文信息,获取与所述个人以及虚拟现实设备相关联的简档信息;
基于所述简档信息以及对旅行目的地的选择,过滤所述旅行服务;
使用所述虚拟现实设备,向所述个人显示表示所述旅行目的地的虚拟现实环境,其中,所述虚拟现实环境包括一个或多个虚拟现实控件;
使用所述一个或多个虚拟现实控件和所述虚拟现实环境,提供所述经过滤的旅行服务的表示;
从所述虚拟现实设备,接收所述个人在所述虚拟环境中的移动;
基于所述个人的移动,确定与所述虚拟环境的交互;
响应于所述交互,确定对所述虚拟现实控件和所述虚拟现实环境的更新;以及向所述虚拟现实设备提供所述已更新的虚拟现实控件和虚拟现实环境,用于向所述个人显示。
2.如权利要求1所述的非瞬时的计算机可读存储介质,其中,可由所述虚拟现实计算系统执行的所述指令使所述虚拟现实计算系统进一步执行:
响应于与所述一个或多个虚拟现实控件的交互,从所述一个或多个数据源获取额外的信息,其中,对所述虚拟现实控件和所述虚拟现实环境的更新基于所述额外的信息。
3.如权利要求1所述的非瞬时的计算机可读存储介质,其中,所述指令还使所述虚拟现实计算机系统执行从虚拟现实控制器接收所述个人的移动。
4.如权利要求1所述的非瞬时的计算机可读存储介质,其中,所述个人的移动是从所述虚拟现实设备的惯性测量单元接收的。
5.如权利要求1所述的非瞬时的计算机可读存储介质,其中,个人在物理环境中的环境移动是从所述虚拟现实设备的惯性测量单元接收的,以及对所述虚拟现实环境的更新基于所述环境移动。
6.一种用于与虚拟现实环境进行交互的方法,包括:
从与个人相关联的虚拟现实设备中获取对旅行目的地的选择;
从一个或多个数据源获取与所述旅行目的地相关联的目的地信息,其中,所述目的地信息包括与所述旅行目的地相关联的旅行服务;
从所述一个或多个数据源,获取与所述个人相关联的上下文信息,其中,所述上下文信息包括与所述虚拟现实设备相关联的设备标识符以及个人简档标识符中的一项;
响应于所述上下文信息,获取与所述个人以及虚拟现实设备相关联的简档信息;
基于所述简档信息以及对旅行目的地的选择,过滤所述旅行服务;
使用所述虚拟现实设备,向所述个人显示表示所述旅行目的地的虚拟现实环境,其中,所述虚拟现实环境包括一个或多个虚拟现实控件;
使用所述一个或多个虚拟现实控件和所述虚拟现实环境,提供所述经过滤的旅行服务的表示;
从所述虚拟现实设备,接收所述个人在所述虚拟环境中的个人的移动;
基于所述个人的移动,确定与所述虚拟环境的交互;
响应于所述交互,确定对所述虚拟现实控件和所述虚拟现实环境的更新;以及向所述虚拟现实设备提供所述已更新的虚拟现实控件和虚拟现实环境,用于向所述个人显示。
7.如权利要求6所述的方法,其中,还包括:
响应于与所述一个或多个虚拟现实控件的交互,从所述一个或多个数据源获取额外的信息,其中,所述对所述虚拟现实控件和所述虚拟现实环境的更新基于所述额外的信息。
8.如权利要求6所述的方法,其中,所述个人的移动是从虚拟现实控制器接收的。
9.如权利要求6所述的方法,其中,所述个人的移动是从所述虚拟现实设备的惯性测量单元接收的。
10.如权利要求6所述的方法,其中,所述个人在物理环境中的环境移动是从所述虚拟现实设备的惯性测量单元接收的,对所述虚拟现实环境的更新基于所述环境移动。
11.一种电子设备,包括:
数据存储器,所述数据存储器被配置成存储来自一个或多个数据源的与个人相关联的旅行目的地、目的地信息和上下文信息;
一个或多个处理器,所述处理器被配置为:
从与所述个人相关联的虚拟现实设备中获取对旅行目的地的选择;
从一个或多个数据源获取与所述旅行目的地相关联的目的地信息,其中,所述目的地信息包括与所述旅行目的地相关联的旅行服务;
从所述一个或多个数据源,获取与所述个人相关联的上下文信息,其中,所述上下文信息包括与所述虚拟现实设备相关联的设备标识符以及个人简档标识符中的一项;
响应于所述上下文信息,获取与所述个人以及虚拟现实设备相关联的简档信息;
基于所述简档信息以及对旅行目的地的选择,过滤所述旅行服务;
使用所述虚拟现实设备,向所述个人显示表示所述旅行目的地的虚拟现实环境,其中,所述虚拟现实环境包括一个或多个虚拟现实控件;
使用所述一个或多个虚拟现实控件和所述虚拟现实环境,提供所述经过滤的旅行服务的表示;
从所述虚拟现实设备,接收所述个人在所述虚拟环境中的移动;
基于个人的移动,确定与所述虚拟环境的交互;
响应于所述交互,确定对所述虚拟现实控件和所述虚拟现实环境的更新;以及向所述虚拟现实设备提供已更新的虚拟现实控件和虚拟现实环境,用于向所述个人显示。
12.如权利要求11所述的电子设备,其中,所述一个或多个处理器被进一步配置为:
响应于与所述一个或多个虚拟现实控件的交互,从所述一个或多个数据源获取额外的信息,其中,所述对所述虚拟现实控件和所述虚拟现实环境的更新基于所述额外的信息。
13.如权利要求11所述的电子设备,其中,所述一个或多个处理器被配置成从虚拟现实控制器接收所述个人的移动。
14.如权利要求11所述的电子设备,其中,所述一个或多个处理器被配置成从所述虚拟现实设备的惯性测量单元接收所述个人的移动。
15.如权利要求11所述的电子设备,其中,一个或多个处理器被配置成从所述虚拟现实设备的惯性测量单元接收所述个人在物理环境中的环境移动,并使对所述虚拟现实环境的更新基于环境移动。
16.一种非瞬时的计算机可读存储介质,所述计算机可读存储介质存储可由虚拟现实计算系统执行的指令,所述虚拟现实计算系统包括一个或多个处理器以使所述虚拟现实计算系统执行这样一种方法,所述方法包括:
生成虚拟现实环境,其中,所述虚拟现实环境包含一个或多个虚拟现实控件;
通过虚拟现实设备,提供所述虚拟现实环境,用于显示;
通过对所述一个或多个虚拟现实控件的操纵,获取输入,其中,所述操纵是使用所述虚拟现实设备作出的,所述操纵遵循与所述一个或多个虚拟现实控件相关联的至少一个移动模式;
基于所述输入、所述一个或多个虚拟现实控件的内容以及与所述操纵相关联的所述移动模式,确定对所述虚拟环境的更改,其中,所述更改反映对所述一个或多个虚拟现实控件的操纵;以及
将所述更改提供到所述虚拟现实设备,用于显示。
17.如权利要求16所述的非瞬时的计算机可读存储介质,其中还使用虚拟现实控制器作出所述操纵。
18.如权利要求16所述的非瞬时的计算机可读存储介质,其中,所述一个或多个虚拟现实控件包括滚动轮。
19.如权利要求18所述的非瞬时的计算机可读存储介质,其中,与所述滚动轮相关联的所述至少一个移动模式对应于抓取和旋转所述滚动轮。
20.如权利要求16所述的非瞬时的计算机可读存储介质,其中,所述一个或多个虚拟现实控件包括时间滑
21.如权利要求20所述的非瞬时的计算机可读存储介质,其中,与所述时间滑块相关联的所述至少一个移动模式对应于抓取和拖拽所述时间滑块的一部分。
22.如权利要求16所述的非瞬时的计算机可读存储介质,其中,所述一个或多个虚拟现实控件包括选择转盘。
23.如权利要求22所述的非瞬时的计算机可读存储介质,其中,与所述选择转盘相关联的所述至少一个移动模式对应于抓取和旋转所述选择转盘。
24.如权利要求16所述的非瞬时的计算机可读存储介质,其中,所述一个或多个虚拟现实控件包括三维对象的表示。
25.如权利要求24所述的非瞬时的计算机可读存储介质,其中,所述三维对象是飞机。
26.如权利要求24所述的非瞬时的计算机可读存储介质,其中,所述三维对象是地球仪或地图。
27.如权利要求16所述的非瞬时的计算机可读存储介质,其中,对所述虚拟环境的更改包括额外的虚拟现实控件。
28.如权利要求16所述的非瞬时的计算机可读存储介质,其中,确定对所述虚拟现实环境的更改还包括:
从与所述输入相关联的一个或多个数据源,获取信息,其中,对所述虚拟现实环境的更改基于所获取的信息。
29.一种用于与虚拟现实计算系统进行交互的方法,包括:
生成虚拟现实环境,其中,所述虚拟现实环境包含一个或多个虚拟现实控件;
通过虚拟现实设备,提供所述虚拟现实环境,用于显示;
通过对所述一个或多个虚拟现实控件的操纵,获取输入,其中,所述操纵是使用所述虚拟现实设备作出的,所述操纵遵循与所述一个或多个虚拟现实控件相关联的至少一个移动模式;
基于所述输入、所述一个或多个虚拟现实控件的内容以及与操纵相关联的所述移动模式,确定对所述虚拟环境的更改,其中,所述更改反映对所述一个或多个虚拟现实控件的操纵;以及
将更改提供到所述虚拟现实设备,用于显示。
30.如权利要求29所述的方法,其中,所述操纵包括使用用于操纵所述一个或多个虚拟现实控件的虚拟现实控制器。
31.如权利要求29所述的方法,其中,所述一个或多个虚拟现实控件包括滚动轮。
32.如权利要求31所述的方法,其中,与所述滚动轮相关联的所述至少一个移动模式对应于抓取和旋转所述滚动轮。
33.如权利要求29所述的方法,其中,所述一个或多个虚拟现实控件包括时间滑块。
34.如权利要求33所述的方法,其中,与所述时间滑块相关联的所述至少一个移动模式对应于抓取和拖拽所述时间滑块的一部分。
35.如权利要求29所述的方法,其中,所述一个或多个虚拟现实控件包括选择转盘。
36.如权利要求35所述的方法,其中,与所述选择转盘相关联的所述至少一个移动模式对应于抓取和旋转所述选择转盘。
37.如权利要求29所述的方法,其中,所述一个或多个虚拟现实控件包括三维对象的表示。
38.如权利要求37所述的方法,其中,所述三维对象是飞机。
39.如权利要求37所述的方法,其中,所述三维对象是地球仪或地图。
40.如权利要求29所述的方法,其中,对所述虚拟环境的更改包括额外的虚拟现实控件。
41.如权利要求29所述的方法,其中,确定对所述虚拟现实环境的更改还包括:
从与所述输入相关联的一个或多个数据源,获取信息,其中,对所述虚拟现实环境的更改基于所获取的信息。
42.一种电子设备,包括:
数据存储器,所述数据存储器被配置成存储与一个或多个虚拟现实控件相关联的至少一个移动模式;
一个或多个处理器,所述处理器被配置为:
生成虚拟现实环境,其中,所述虚拟现实环境包含所述一个或多个虚拟现实控件;
通过虚拟现实设备,提供所述虚拟现实环境,用于显示;通过对所述一个或多个虚拟现实控件的操纵,获取输入,其中,所述操纵是使用所述虚拟现实设备作出的,所述操纵遵循与所述一个或多个虚拟现实控件相关联的所述至少一个移动模式;
基于所述输入、所述一个或多个虚拟现实控件的内容以及与所述操纵相关联的所述移动模式,确定对所述虚拟环境的更改,其中,所述更改反映对所述一个或多个虚拟现实控件的操纵;以及
将所述更改提供到所述虚拟现实设备,用于显示。
43.如权利要求42所述的电子设备,其中,所述操纵包括使用用于操纵所述一个或多个虚拟现实控件的虚拟现实控制器。
44.如权利要求42所述的电子设备,其中,所述一个或多个虚拟现实控件包括滚动轮。
45.如权利要求44所述的电子设备,其中,与所述滚动轮相关联的所述至少一个移动模式对应于抓取和旋转所述滚动轮。
46.如权利要求42所述的电子设备,其中,所述一个或多个虚拟现实控件包括时间滑块。
47.如权利要求46所述的电子设备,其中,与所述时间滑块相关联的所述至少一个移动模式对应于抓取和拖拽所述时间滑块的一部分。
48.如权利要求42所述的电子设备,其中,所述一个或多个虚拟现实控件包括选择转盘。
49.如权利要求48所述的电子设备,其中,与所述选择转盘相关联的所述至少一个移动模式对应于抓取和旋转所述选择转盘。
50.如权利要求42所述的电子设备,其中,所述一个或多个虚拟现实控件包括三维对象的表示。
51.如权利要求50所述的电子设备,其中,所述三维对象是飞机。
52.如权利要求50所述的电子设备,其中,所述三维对象是地球仪或地图。
53.如权利要求42所述的电子设备,其中,对所述虚拟环境的更改包括额外的虚拟现实控件。
54.如权利要求42所述的电子设备,其中,确定对所述虚拟现实环境的更改还包括:
从与所述输入相关联的一个或多个数据源,获取信息,其中,对所述虚拟现实环境的更改基于所获取的信息。

说明书全文

用于虚拟现实架构中改善的数据集成的系统和方法

背景技术

[0001] 现代世界中对数据以及数据源的越来越普遍的利用推动了人们消费数据的方式的增多和创新。个人越来越多地依赖于在线资源和对数据的利用来通知他们的每天的行为和交互。正在以各种提供渠道和平台的方式使得这种过剩的信息变得可用。
[0002] 然而,使用计算机技术来模拟视觉世界仍停留在其初期。当前虚拟现实系统能够复制来自真实的视觉环境或虚构的场景的可视数据。虽然有用并且吸引人,但是,这种系统通常仅限于简单地为特定的应用以及其有限的数据集提供显示或环境。需要这样的虚拟系统,能够结合上下文信息和有关用户的需求的细节,以提供完全集成的、虚拟的现实体验,这种体验使用不断扩大的可用的数据资料库。附图说明
[0003] 现在将参考示出了本公开的示例实施例的各个附图。在附图中:
[0004] 图1是根据本公开的各实施例的集成虚拟现实系统的示例性系统的框图
[0005] 图2是根据本公开的各实施例的示例性计算设备的框图。
[0006] 图3A-3C是根据本公开的各实施例的示例性虚拟现实设备的框图。
[0007] 图4A-4D是根据本公开的各实施例的虚拟现实的示例性使用情况。
[0008] 图5是根据本公开的各实施例的虚拟现实系统中的用于改善的数据集成的示例性方法的流程图
[0009] 图6是根据本公开的各实施例的虚拟现实系统中的用于改善的数据集成的示例性方法的流程图。

具体实施方式

[0010] 现在将详细参考根据本公开实现的示例性实施例,在各个附图中示出了它们的示例。只要可能,就在整个附图中使用相同的附图标记来指示相同或相似的元件。
[0011] 此处所描述的各实施例涉及虚拟现实系统中的改善的交互和集成。虚拟现实系统为复制现实环境并呈现虚构的环境提供巨大的可能性。通过模仿的环境,用户可以与人工的电脑生成的世界的特征进行交互。
[0012] 当前虚拟现实系统可以使用计算机生成的图像和数据来复制用户周围的真实的或虚构的环境。然而,虚拟现实系统的当前实现方式却不能提供完全集成的体验。在这些系统中,用户可以与环境进行交互,但是,虚拟世界仅限于预定的环境。此外,典型的虚拟现实系统还针对带有特定的和预定的数据集的特定应用。
[0013] 此处所描述的各实施例从不同的度来处理这些问题。并非基于特定应用致于提供有限的信息集合,所公开的系统将来自虚拟现实设备本身的数据与与个人和应用相关联的许多外部数据源和专有的数据源集成。所公开的系统可以使用有关用户的上下文信息来分析并处理可用的数据。可以将此数据集成的结果提供到用户的虚拟现实设备,以提供吸引人的身临其境的环境,该环境随着对系统可用的信息的增多而扩展性增强。
[0014] 此外,所公开的系统和方法还可以基于有关个人的上下文信息,定制该信息。系统可以将其他数据源链接到与虚拟现实环境和来自用户的交互相关的上下文特定的数据。
[0015] 例如,通过使用来自用户的数字日历的数据,所公开的系统和方法可以确定某个人何时能够休假或需要出差。所公开的系统和方法可以显示可用的航班的虚拟现实表示,并带有针对该个人的航班偏好和出发地位置和目的地位置个性化的特定的信息。虚拟现实系统可以虚拟地运送用户,并将用户置于机场内和旅游的城市内,给他们产生对该区域的虚拟旅游和位于选择的真实的位置的体验。在虚拟环境中显示的特定的天气和时刻可以基于为旅游请求的时间。此外,用户还使用虚拟现实环境在完全集成的虚拟环境中来浏览可用的航班和特定的普通朝向。随着用户使用从各种数据源接收到的数据,与虚拟控件进行交互以浏览各种选项,环境可以变化,以反映那些交互。并非简单地提供有关航班可用性和目的地的信息,所公开的系统的将来自多个数据源的数据的集成,基于个人的特定的需求或选择,向个人提供定制的虚拟现实体验。
[0016] 如此,所公开的系统和方法可以向个人提供交互式体验。大多数虚拟现实系统传播信息,并提供与有限的环境进行交互的有限的能力。由于所公开的系统和方法提供具体地针对个人定制集成的数据和来自各种数据源的集成的数据,因此,来自个人的交互和上下文信息可以涉及与个人相关联的任意数量的活动或服务。例如,随着个人在飞机上旅行,个人可以选择虚拟现实体验,使他们虚拟地飞越埃菲尔塔,观看全屏幕电影,或在海滩上滑翔,所有这些都基于在飞行过程中由虚拟现实设备所提供的上下文信息和移动。虚拟环境可以使用有关用户的数据,以完全提供唯一地定制的体验。
[0017] 此处所描述的各实施例提供用于使用大量的可用的数据(来自各种数据源)来提供集成的及虚拟的现实体验的技术和工艺。此处所描述的各实施例包括用于从虚拟现实设备获取有关个人的上下文信息以及有关与个人相关联的虚拟现实设备的设备信息的系统和方法。系统和方法进一步包括获取关于,例如,航班预订的多个数据。系统和方法进一步包括从多个数据源获取与个人或虚拟现实设备相关联的多个数据集,并从与个人相关的多个数据集确定信息的子集,其中,信息的相关性基于从虚拟现实设备中获取的上下文信息和设备信息。此外,所描述的各实施例包括用于基于所确定的信息的子集来生成显示数据;以及,向虚拟现实设备提供显示数据用于显示在虚拟现实设备上的系统和方法,其中,用户可以在物理上与显示数据进行交互。
[0018] 在其他所公开的各实施例中,提供了这样的系统和方法,其中,从虚拟现实设备中获取的上下文信息包括与个人相关联的旅行信息,其中,旅行信息包括用户简档、旅行偏好、购买的旅行服务、旅行更新,以及历史旅行信息中的至少一项。此处所描述的各实施例提供用于使用可用的数据(来自各种数据源)来提供集成的及虚拟的现实体验的技术和工艺。此处所描述的各实施例包括用于执行下列各项操作的系统和方法:从与个人相关联的虚拟现实设备中获取对旅行目的地的选择;从一个或多个数据源获取与所述旅行目的地相关联的目的地信息,其中,所述目的地信息包括与所述旅行目的地相关联的旅行服务;从所述一个或多个数据源,获取与所述个人相关联的上下文信息,其中,所述上下文信息包括与所述虚拟现实设备相关联的设备标识符以及个人简档标识符中的一项;响应于所述上下文信息,获取与所述个人以及虚拟现实设备相关联的简档信息;基于所述简档信息以及对旅行目的地的选择,过滤所述旅行服务;使用所述虚拟现实设备,向所述个人显示表示所述旅行目的地的虚拟现实环境,其中,所述虚拟现实环境包括一个或多个虚拟现实控件;使用所述一个或多个虚拟现实控件和所述虚拟现实环境,提供所述经过滤的旅行服务的表示;从所述虚拟现实设备,接收所述个人在所述虚拟环境中的移动;基于所述个人的移动,确定与所述虚拟环境的交互;响应于所述交互,确定对所述虚拟现实控件和所述虚拟现实环境的更新;以及,向所述虚拟现实设备提供所述已更新的虚拟现实控件和虚拟现实环境,供向所述个人显示。
[0019] 此处所描述的各实施例进一步可包括用于执行下列各项操作的系统和方法:生成虚拟现实环境,其中,虚拟现实环境包含一个或多个三维虚拟控件;通过虚拟现实设备,提供所述虚拟现实环境,用于显示;通过对所述一个或多个虚拟控件的操纵,获取输入,其中,所述操纵是使用所述虚拟现实设备作出的,所述操纵遵循与所述一个或多个虚拟控件相关联的至少一个移动模式;基于所述输入、所述一个或多个虚拟控件的内容以及与所述操纵相关联的所述移动模式,确定对所述虚拟环境的更改,其中,所述更改反映对所述一个或多个虚拟控件的所述操纵;以及,将所述更改提供到所述虚拟现实设备,用于显示。
[0020] 图1是根据本公开的各实施例的集成虚拟现实系统的示例性系统100的框图。系统100可包括专有的数据源110,包括数据库111、数据源113、数据库115,以及数据系统117。系统100还可以包括外部数据源120,外部数据源120可包括地图数据121、评价数据123、气象数据127、航班数据129,以及位置数据125。系统100还可以包括一个或多个应用程序编程接口(API)130。可以使用,例如,下面参考图2比较详细地描述的计算设备200,在服务器计算机系统上实现API 130。此外,在一些实施例中,API 130还可被实现为多个完全不同的API,每一API都在,例如,诸如计算设备200之类的计算设备上实现。例如,可以通过计算设备200的I/O设备230和/或网络接口218,获取来自专有的数据源110和外部数据源120的数据。进一步,可以在处理过程中,将数据存储在诸如存储器228和/或系统存储器221之类的合适的存储器中。回头参考图1,系统100还可以包括虚拟现实系统140。类似于API 130,可以使用,例如,计算设备200(下面比较详细地描述的),在服务器或计算机系统上实现虚拟现实系统140。
[0021] 系统100还可以包括虚拟现实设备145。虚拟现实设备145可以是诸如下面比较详细地描述的图3B和图3C中所描绘的虚拟现实设备375和385之类的设备,或某种其他虚拟现实设备。此外,还可以使用下面比较详细地描述的图3A中示出的设备300中示出的组件,来实现虚拟现实设备145。
[0022] 图2是根据本公开的各实施例的示例性计算设备200的框图。在一些实施例中,计算设备200可以是提供此处所描述的功能的专服务器。在一些实施例中,可以使用计算设备200或并行地操作的多个计算设备200来实现系统100的组件,诸如专有的数据源110(例如,数据库111、数据源113、数据库115,以及数据系统117),API 130、虚拟现实系统140,以及增强的虚拟现实设备145)。进一步,计算设备200可以是提供此处所描述的功能或从服务器接收信息以提供所描述的功能的至少某些功能的第二设备。此外,计算设备200还可以是根据本公开的各实施例的存储和/或提供数据的额外的一台或多台设备。
[0023] 计算设备200可包括一个或多个中央处理单元(CPU)220和系统存储器221。计算设备200也可以包括一个或多个图形处理单元(GPU)225和图形存储器226。在一些实施例中,计算设备200可以是不包括一个或多个GPU 225和/或图形存储器226的无头计算设备。
[0024] CPU 220可以是能够执行存储在存储器(例如,系统存储器221)、高速缓存(例如,高速缓存241),或寄存器(例如,寄存器240中的一个)中的指令集的单一或多个微处理器、场可编程门阵列,或数字信号处理器。CPU 220可以包含用于存储可变数据类型的一个或多个寄存器(例如,寄存器240),数据类型包括,其中,数据、指令、浮点值、条件值、存储器中的位置的存储器地址(例如,系统存储器221或图形存储器226)、指针和计数器。CPU寄存器240可包括用于存储与执行指令相关联的数据(诸如指令指针、指令计数器,和/或存储器堆栈指针)的专用寄存器。系统存储器221可包括有形的和/或非瞬时的计算机可读取的介质,诸如软盘硬盘、光盘只读存储器(CD-ROM)、磁光(MO)驱动器、数字多功能盘随机存取存储器(DVD-RAM)、固态磁盘(SSD)、快闪驱动器和/或闪存、处理器缓存、存储器寄存器,或半导体存储器。系统存储器221可以是一个或多个能够存储数据并允许CPU 220直接访问的存储器芯片。系统存储器221可以是任何类型的随机存取存储器(RAM),或能够如此处所描述的那样操作的其他可用存储器芯片。
[0025] CPU 220可以通过系统接口250(有时称为总线)与系统存储器221进行通信。在包括GPU 225的各实施例中,GPU 225可以是任何类型的能够操纵并改变存储器(例如,图形存储器226)以提供和/或加速图像的创建的专门电路。GPU 225可以将图像存储在缓冲器(例如,帧缓冲器245),以供输出到诸如显示设备224之类的显示设备。在一些实施例中,可以通过网络接口218或I/O设备230,将存储在帧缓冲器245中的图像提供到其他计算设备。GPU 225可以具有为比通用CPU 220更有效率地处理大型、并行图形数据而优化的高度并行的结构。进一步地,可以在专用处理单元或协处理器芯片组中包括GPU 225的功能。
[0026] CPU 220可以执行存储在系统存储器221或其他存储器中的编程指令,对存储在存储器(例如,系统存储器221)中的数据进行操作,并通过系统接口250与GPU 225进行通信,系统接口250桥接计算设备200的各个组件之间的通信。在一些实施例中,CPU 220、GPU 225、系统接口250,或其任何组合,被集成到单一芯片组或处理单元中。GPU 225可以执行存储在存储器(例如,系统存储器221)中的指令集,以操纵存储在系统存储器221或图形存储器226中的图形数据。例如,CPU 220可以将指令提供到GPU 225,而GPU 225可以处理指令,以呈现存储在图形存储器226中的图形数据。图形存储器226可以是可被GPU 225访问的任何存储器空间,包括本地存储器、系统存储器、芯片内存储器,以及硬盘。GPU 225可以使存储在图形存储器226中的图形数据能显示在显示设备224上,或可以处理图形信息,并通过网络接口218或I/O设备230,将该信息提供到连接的设备。
[0027] 计算设备200可包括显示设备224和连接到I/O控制器223的输入/输出(I/O)设备230(例如,键盘鼠标,或指向设备)。I/O控制器223可以通过系统接口250,与计算设备200的其他组件进行通信。应该理解,CPU 220也可以以通过系统接口250之外的方式,诸如通过串行通信或直接点对点间的通信,与系统存储器221及其他设备进行通信。类似地,GPU 225还可以以除系统接口250以外的方式,与图形存储器226及其他设备进行通信。除接收输入之外,CPU 220还可以通过I/O设备230(例如,通过打印机、扬声器,或其他输出设备)提供输出。
[0028] 进一步地,计算设备200可包括网络接口218,以通过各种连接,包括,但不仅限于,标准电话线、LAN或WAN链路(例如,802.21、T1、T3、56kb、X.25)、宽带连接(例如,ISDN、帧中继、ATM)、无线连接(例如,符合802.11a、802.11b、802.11b/g/n、802.11ac、蓝牙、蓝牙LTE、3GPP,或WiMax标准等等的那些无线连接),或以上任何或全部的某种组合,连接到LAN、WAN、MAN,或因特网。网络接口218可以包括内嵌的网络适配器、网络接口卡、PCMCIA网卡、卡总线网络适配器、无线网络适配器、USB网络适配器、调制解调器或适于将计算设备200连接到能够进行通信的任何类型的网络并执行此处所描述的操作的任何其他设备。
[0029] 图3A-3C是根据本公开的各实施例的示例性虚拟现实设备300、375和385的图示。这些示例性虚拟现实设备可以表示虚拟现实设备的内部组件(例如,如图3A所示)和虚拟现实设备的外部组件(例如,如图3B-3C所示)。在一些实施例中,图3A可以表示包含在虚拟现实设备375内的示例性电子设备300和/或图3B-3C的手动控制器385。图3C可以表示图3A的示例性手动控制器303。
[0030] 图3A是示出了示例电子设备300的简化框图。在一些实施例中,电子设备300可包括具有视频显示能力和,例如,通过因特网,与其他计算机系统进行通信的能力的虚拟现实设备。取决于由电子设备300所提供的功能,在各实施例中,电子设备300可以是、可包括,或可以连接到手持式设备、被配置成用于数据和语音通信两者的多模式通信设备、智能电话、移动电话、膝上型计算机、连接到网络的电脑、上网本、游戏控制台、平板、智能手表、眼镜、机、护目镜,或能用于网络通信的PDA。
[0031] 电子设备300可包括封装电子设备300的组件的机壳(未示出)。电子设备300的内部组件可以,例如,组装在印刷电路板(PCB)上。虽然电子设备300的组件和子系统可以实现为独立元件,但是,也可以通过集成、组合,将一个或多个元件一起包装在一个或更多组合中,来实现组件和子系统的功能。
[0032] 电子设备300可包括控制器,控制器包括控制电子设备300的总体操作的一个或多个CPU 301。CPU 301可以是一个或多个微处理器、场可编程门阵列(FPGA)、数字信号处理器(DSP),或其能够执行特定指令集的任何组合。CPU 301可以与设备子系统进行交互,诸如用于与无线网络交换射频信号以执行通信功能的无线通信系统306、用于产生音频的扬声器子系统320、用于获取位置信息的位置子系统308,以及用于产生显示元素的显示子系统310。
[0033] 一个或多个CPU 301也可以与输入设备307、永久性存储器330、随机存取存储器(RAM)337、只读存储器(ROM)338、数据端口318(例如,常规串行数据端口、通用串行总线(USB)数据端口、30针脚数据端口、Lightning数据端口,或高清晰度多媒体接口(HDMI)数据端口)、麦克322、摄像机324,以及无线通信306(可以使用任何合适的无线(例如,RF)、光学、或其他近距离通信技术(例如,WiFi、蓝牙或NFC)的)进行交互。图3中所示出的某些子系统执行通信相关的功能,而其他子系统可以提供“驻留”或“设备上”功能。
[0034] 无线通信306包括用于与网络进行通信以便允许与任何外部设备(例如,服务器,未示出)进行通信的通信系统。无线通信306的特定设计取决于电子设备300打算在其中操作的无线网络。在完成必需的网络注册或激活过程之后,电子设备300可以通过无线网络发送和接收通信信号。
[0035] 位置子系统308可以提供能够提供位置信息的各种系统,诸如全球定位系统(例如,GPS 309)。另外,位置子系统还可以使用来自连接的(例如,通过无线通信306连接的)设备的位置信息,以进一步提供位置数据。由位置子系统308所提供的位置信息可以存储在,例如,永久性存储器330中,并供应用程序334和操作系统332使用。
[0036] 显示子系统310可以控制各种显示器(例如,左眼显示器311和右眼显示器313)。为了提供虚拟现实显示,显示子系统310可以提供图形元素(例如,使用一个或多个GPU 302生成的那些)的显示。在其他实施例中,在左眼显示器311和右眼显示器313上生成的显示可包括从摄像机324捕捉到的并与虚拟图形元素一起再现的图像。此外,显示子系统310还可以在左眼显示器311和右眼显示器313上显示不同的图形,以示出不同的元素或提供深度或透视的模拟以产生虚拟现实环境。在一些实施例中,左眼显示器311和右眼显示器313可以是与通过,例如,无线通信306或数据端口318连接的电子设备300分开的组件的一部分。
[0037] 摄像机324可以是CMOS摄像机、CCD摄像机,或能够捕捉并输出经压缩的或未经压缩的图像数据(诸如静止图像或视频图像数据)的任何其他类型的摄像机。在一些实施例中,电子设备300可包括一个以上的摄像机。从摄像机324输出的图像数据可以存储在,例如,图像缓冲器中,图像缓冲器可以是驻留在RAM 337中的临时缓冲器,或驻留在ROM 338或永久性存储器330中的永久性的缓冲器。图像缓冲器可以是,例如,先进先出(FIFO)缓冲器。在一些实施例中,图像缓冲器可以被直接提供到一个或多个GPU 302和显示子系统310,用于显示在左眼显示器311和/或右眼显示器313上。在一些实施例中,存储在图像缓冲器中的摄像机信息可以由,例如,一个或多个CPU 301或一个或多个GPU 302处理,以便集成到通过显示子系统310提供的虚拟环境中。在这些实施例中,例如,摄像机输入可以用于进行头部跟踪或内外位置跟踪
[0038] 电子设备可包括用于测量与电子设备300相关联的运动和定向数据的惯性测量单元(例如,IMU 340)。IMU 340可以使用加速度计342、陀螺仪344,及捕捉比力、角速度磁场,以及生物识别信息供电子设备300使用的其他传感器346。由IMU 340以及相关联的传感器(例如,加速度计342、陀螺仪344,及其他传感器346)捕捉到的数据可以存储在存储器中,诸如永久性存储器330或RAM 337,并供应用程序334和操作系统332使用。也可以通过,例如,无线通信306,将通过IMU 340以及其相关联的传感器收集的数据提供到网络设备。
[0039] 一个或多个CPU 301可以是在存储的程序控制下操作并执行存储在诸如永久性存储器330之类的可触摸的非瞬时的计算机可读取的存储介质中的软件模块的一个或多个处理器,计算机可读取的存储介质可以是寄存器、处理器高速缓存、随机存取存储器(RAM)、软盘、硬盘、CD-ROM(光盘-只读存储器),以及MO(磁光)、DVD-ROM(数字多功能盘-只读存储器)、DVD RAM(数字多功能盘-随机存取存储器),或其他半导体存储器。
[0040] 软件模块也可以存储在计算机可读取的存储介质中,诸如ROM 338,或任何合适的永久性存储器技术,包括EEPROM、EAROM,FLASH。这些计算机可读取的存储介质存储计算机可读指令,供一个或多个CPU 301执行,以执行电子设备300上的各种功能。可另选地,功能和方法也可以以硬件组件或硬件和软件的组合,诸如,例如ASIC和/或专用计算机,来实现。
[0041] 软件模块可包括用于控制电子设备300的操作的操作系统软件332。另外,软件模块还可包括用于向电子设备300提供额外的功能的软件应用程序334。例如,软件应用程序334可包括被设计用于与诸如上文的系统100之类的系统连接的应用程序。应用程序334可以提供允许电子设备300与不同的数据系统连接并提供增强的功能的特定的功能。
[0042] 软件应用程序334也可以包括一系列应用程序,包括,例如,电子邮件消息应用程序、地址簿、记事本应用程序、因特网浏览器应用程序、语音通信(即,因特网上的电话或语音协议(VoIP))应用程序、地图应用程序、媒体播放器应用程序、健康相关的应用程序,等等。软件应用程序334中的每一个都可包括根据该对应的应用程序,定义计划用于显示在虚拟现实显示器(例如,通过显示子系统310)上的特定字段和图形元素的布局的布局信息。在一些实施例中,软件应用程序334是在操作系统332的指示下执行的软件模块。另外,在一些实施例中,软件应用程序可包括嵌入在网页内的被设计用于使用虚拟现实设备查看的内容。
[0043] 操作系统332可以提供若干个应用程序协议接口(API),提供用于在电子设备300的各种子系统和服务,以及软件应用程序334之间进行通信的接口。例如,操作系统软件332向需要创建用于显示在电子设备300上的图形元素的应用程序提供图形API。访问用户界面API可以给应用程序提供创建和管理虚拟现实接口控件(诸如重叠);通过摄像机324、麦克风322,或输入设备307接收输入的功能;及计划用于通过显示子系统310显示的其他功能。进一步地,摄像机服务API可以允许通过用于捕捉图像数据(诸如图像或视频数据)的摄像机324捕捉视频,图像或视频数据可以被处理并用于通过显示子系统310提供虚拟现实。
[0044] 在一些实施例中,电子设备300的组件可以一起用于向电子设备300提供来自用户的输入。例如,显示子系统310可在左眼显示器311和右眼显示器313上包括交互式控件。作为虚拟现实显示器的一部分,这些控件可以出现在电子设备300的用户的面前。此输入可以由电子设备300处理。可以从,例如,输入设备307,接收输入。在一些实施例中,输入设备307可以是图3C所示出的手动控制器385中的一个或多个。在这些实施例中,可以直接处理从手动控制器385接收到的数据,或可以将它们与来自系统300的其他组件,诸如,例如,IMU 340、显示子系统310、摄像机324,以及数据端口318的数据组合,以向一个或多个CPU 301提供输入。
[0045] 在一些实施例中,永久性存储器330存储数据336,包括电子设备300的用户特定的数据,诸如用户帐户的信息或设备特定的标识符。永久性存储器330也可以存储与从被电子设备300访问的服务中获取的那些(例如,内容、通知,以及消息)相关的数据。永久性存储器330还可以与,例如,电子设备300的特定用户的偏好一起,存储与各种应用程序相关的数据。在一些实施例中,永久性存储器330可以存储将用户的数据与应用程序中的数据链接的特定字段的数据336,诸如用于向在电子设备300上执行的应用程序自动地提供用户的凭据。进一步地,在各实施例中,数据336也可以包括服务数据,包括电子设备300与网络建立通信并维持通信所需的信息。
[0046] 在一些实施例中,电子设备300也可以包括一个或多个可移动存储器模块352(例如,flash存储器)和存储器接口350。可移动存储器模块352可以存储用于向无线网络标识或认证用户或用户的帐户的信息。例如,和某些类型的无线网络一起,包括GSM和后继网络,可移动存储器模块352被称为用户标识模块(SIM)。存储器模块352可以被插入到电子设备300的存储器模块接口350中或耦合到该接口350,以与无线网络一起操作。
[0047] 电子设备300也可以包括电池362,该电池362提供用于操作电子设备300的能量。电池362可以通过电池接口360,耦合到电子设备300的电路,电池接口360可以管理诸如从外部电源(未示出)给电池362充电和向电子设备300内或与其耦合的各种载荷分配能量之类的功能。
[0048] 控制基本设备操作的一组应用程序,包括数据和可能还有语音通信应用程序,可以在制造过程中或制造之后安装在电子设备300上。其他的应用程序或操作系统软件332或软件应用程序334的升级也可以通过数据端口318、无线通信306、存储器模块352,或其他合适的系统,加载到电子设备300上。下载的程序或代码模块可以被永久地安装,例如,写入到永久性存储器330中,或写入到RAM 337中,并从RAM 337被执行用于由一个或多个CPU 301在运行时执行。
[0049] 图3B是示例性虚拟现实设备375。在一些实施例中,虚拟现实设备375可以是护目镜或为佩带者提供虚拟现实表示的其他头饰。在其他实施例中(在图3B中未示出),虚拟现实设备可以是下列各项的一部分、可以连接到下列各项,或可包括下列各项:电脑、移动设备、便携式电信设备、平板、PDA,或如参考图3A所描述的其他计算设备。
[0050] 如图3B所示,虚拟现实设备375也可以包括处理组件372。处理组件372可以是封装了上文参考图3A所描述的电路和模块的外壳。处理硬件和/或组件可以只封装在虚拟现实设备375的一侧。在又一些其他实施例中,处理硬件和/或组件可以封装在虚拟现实设备375的两侧。图3A所示出的组件可以被包括在虚拟现实设备375的任何部分。
[0051] 在一些实施例中,虚拟现实设备375可以只封装参考图3A所描述的某些组件。例如,虚拟现实设备375可包括IMU 340、摄像机324、麦克风322、扬声器子系统320,以及显示子系统310,而其余组件驻留在移动设备、电脑、平板、PDA或连接到虚拟现实设备375的某种其他外壳中(例如,通过数据端口318和无线通信306等等)。
[0052] 如图3B所示,虚拟现实设备375也可以包括后头饰组件371。后头饰组件371可以使用可调节的皮带来将虚拟现实设备375固定在佩带者身上。如在图3B中进一步描绘的,虚拟现实设备375也可以包括传感器376。传感器376可以允许与图3A中的系统300的手动控制器303和CPU 301进行通信。在一些实施例中,虚拟现实设备375可以包含一个或多个传感器
376。传感器376可以检测在环境中的移动,虚拟现实设备375相对于环境的移动,以及从手动控制器303的输入或移动等。可以将来自传感器376的数据提供到一个或多个CPU 301。
[0053] 在一些实施例中,虚拟现实设备375可包括显示设备374和373。这些显示设备可以分别与图3A的左眼显示器311和右眼显示器313相关联。在这些实施例中,显示设备374和373可以从左眼显示器311、右眼显示器313,以及显示子系统310接收合适的显示信息,并显示虚拟现实环境。通过此过程,虚拟现实显示设备375可以提供虚拟现实图形元素,以便显示在佩带者的视野中。通过向显示设备373和374提供不同的图像,虚拟现实设备375可以创建透视、深度及其他幻觉,以创建围绕用户的虚拟现实环境。
[0054] 虚拟现实设备375的一些实施例可包括扬声器(图3B中未示出)。这些扬声器可以与,例如,来自图3A的扬声器子系统320、左扬声器321,以及右扬声器323相关联。虚拟现实设备375可以通过扬声器提供音频。通过调整被提供给左扬声器和右扬声器的声音,虚拟现实设备375可以进一步模仿围绕用户的虚拟现实环境。
[0055] 图3C是根据本公开的各实施例的一个手动控制器385(可以成对地出现),虚拟现实设备的一个组件的示例性视图。图3C可以表示图3A的示例性手动控制器303。手动控制器303可以被用来将来自用户的输入提供到电子设备300。用户可以用手卡住图3C中显示的手动控制器385的机身380。此外,手动控制器385还可包括跟踪板382、按钮381,以及触发器
384,以接收额外的用户输入。手动控制器385的移动以及与手动控制器385的交互可以由传感器384检测到,并由虚拟现实系统转换为虚拟环境中的虚拟移动和选择。例如,举起手动控制器385会导致传感器384向图3A的虚拟现实系统300传输移动信息,而虚拟现实系统300可以将移动数据转换为对虚拟环境的更改。在此示例中,这些更改,可以由虚拟现实设备
300,通过,例如,显示子系统310,提供到虚拟现实显示设备375。用户对手动控制器385的物理移动,相应地,可以在由虚拟现实设备375显示的虚拟现实环境中表示出来。
[0056] 应该理解,手动控制器385的物理形状和布局是示例性的。在一些实施例中,手动控制器385可以呈现不同的形状。例如,手动控制器385可以是允许将用户的手指的移动准确表示在虚拟环境中的手套。如此,用户具有在三维空间中移动手和手指以与提供的虚拟环境进行交互并操纵该虚拟环境的能力。在一些实施例中,可能不需要手动控制器385,因为虚拟现实系统140可以使用检测例如用户的手势和说出的命令的一种运动感应设备。
[0057] 回头参考图1,数据库111和115、数据源113、数据系统117、API 130,以及虚拟现实系统140中的每一个都可以是一个模块,是设计与其他组件一起使用的包装的功能硬件单元,或执行相关的功能的一个特定的功能的程序的一部分。这些模块中的每一个都可以使用图2的计算设备200来实现。在下文中更详细地描述这些组件中的每个。在一些实施例中,系统100的功能可以跨多个计算设备(例如,类似于计算设备200的多个设备)分布,以便对数据进行分布式处理。在这些实施例中,不同的组件可以通过图2的计算设备200的I/O设备230或网络接口218进行通信。
[0058] 可以通过专有的数据源110以及外部数据源120,使数据对系统100可用。应该理解,为每一个示出的示例性数据源(例如,数据库111和115、数据源113,以及专有的数据源110的数据系统117,地图数据121、评价数据123、气象数据127、航班数据129,以及外部数据源120的位置数据125)不是详尽的。可以在专有的数据源110和外部数据源120中存在许多不同的数据源和数据类型。此外,某些数据还可以在外部数据源120和专有的数据源110之间重叠。例如,外部数据源120可以提供位置数据125,该位置数据125可包括有关特定的机场或企业的数据。此数据也可以以相同或不同的形式被包括在,例如,专有的数据源110的数据库111中。
[0059] 此外,专有的数据源110和外部数据源120中的任一项数据源,或系统100所使用的任何其他数据源都可以是关系数据库管理系统(RDBMS)(例如,Oracle数据库、Microsoft SQL服务器、MySQL、PostgreSQL,和/或IBM DB2)。RDBMS可以被设计成为整行,或记录,以尽可能少的操作有效地返回数据。RDBMS可以通过序列化每一行数据来存储数据。例如,在RDBMS中,可以串行地存储与记录相关联的数据,以便可以在一个操作中访问与所有类别的记录相关联的数据。此外,RDBMS还可以通过在公用字段或属性上连接记录,有效地允许对存储在完全不同的表中的相关记录的访问。
[0060] 在一些实施例中,专有的数据源110和外部数据源120中的任一项数据源,或系统100所使用的任何其他数据源都可以是非关系数据库管理系统(NRDBMS)(例如,XML、Cassandra、CouchDB、MongoDB、Oracle NoSQL数据库、FoundationDB,和/或Redis)。非关系数据库管理系统可以使用各种数据结构,诸如,键值存储、文档存储、图形,以及多元组存储等等,来存储数据。例如,使用文档存储的非关系数据库可以将与特定记录相关联的所有数据组合为使用XML编码的单一文档。非关系数据库可以提供对整个记录的有效的访问,并允许跨多个数据系统的有效分布。
[0061] 在一些实施例中,专有的数据源110和外部数据源120中的任一项数据源,或系统100所使用的任何其他数据源都可以是图形数据库(例如,Neo4j或Titan)。图形数据库可以使用图形概念,诸如节点、边,以及表示数据的特性,来存储数据。基于连接各种节点的边,存储在图形数据库中的记录可以与其他记录相关联。这些类型的数据库可以有效地存储以其他类型的数据库系统难以建模的复杂层次关系。
[0062] 在一些实施例中,可以通过API,来访问专有的数据源110和外部数据源120中的任一项数据源,或系统100所使用的任何其他数据源。例如,数据系统117可以是允许对数据库115中的数据进行访问的API。此外,外部数据源120还可以全部是通过API访问的公开可用的数据。API 130可以通过数据源的特定的API,访问任一项数据源,以向系统100提供另外的数据和信息。
[0063] 虽然在图1中专有的数据源110和外部数据源120的数据源被表示为隔离的数据库或数据源,但是,应该理解,这些数据源可以使用前面所描述的数据存储系统中的任何一种以及其他,可以跨多个电子设备、数据存储系统,或其他电子系统地分布。
[0064] 除直接提供对诸如数据库111或数据源113之类的数据存储系统的访问之外,专有的数据源110还可包括数据系统117。数据系统117可以连接到诸如数据库115之类的一个或多个数据源。数据系统117可以提供到存储在数据库115中的数据的接口。在一些实施例中,数据系统可以将数据库115中的数据与其他数据组合,或者数据系统117可以预处理数据库115中的数据,然后,将该数据提供到API 130或某种其他请求者。
[0065] 专有的数据源110可以表示不能被公众直接访问或对公众可用的各种数据源(例如,数据库111、数据源113、数据库115,以及数据系统117)。可以基于支付的费用或预订,将这些数据源提供到订户。可以由专有的数据源的所有者,直接或通过下面比较详细地描述的诸如API 130之类的接口,提供对这些数据源的访问。
[0066] 虽然在图1中只示出了一组专有的数据源110,但是,可以有来自各种提供商的各种专有的数据源对系统100可用。在一些实施例中,每一个组数据源都将包括与共同的行业或领域相关的数据。在其他实施例中,专有的数据源分组可以取决于各种数据源的提供商。
[0067] 例如,专有的数据源110中的数据源可以包含与航空旅行业相关的数据。在此示例中,数据库111可以包含旅行简档信息。除基本人口统计信息之外,旅行简档数据还可包括过去的旅行历史、旅客偏好、忠诚度信息、及与旅客简档相关的其他信息。进一步,在此示例中,数据源113可以包含与诸如宾馆、租车、活动、保险,以及停车之类的合作伙伴关系或辅助服务相关的信息。另外,数据库115还可以包含有关机场、飞机、特定的席位布局、登机口信息的详细信息,及其他后勤信息。如前面所描述的,可以通过数据系统117来处理此信息。相应地,在此示例性实施例中,专有的数据源110中的数据源可以提供综合的旅行数据。
[0068] 类似于专有的数据源110,外部数据源120可表示各种数据源(例如,地图数据121、评价数据123、气象数据127、航班数据129,以及位置数据125)。与专有的数据源110不同的是,外部数据源120可以被公众访问,或可以是不受API 130或系统100的提供商直接控制的数据源。
[0069] 虽然在图1中只示出了一组外部数据源120,但是,可以有来自各种提供商的各种外部数据源对系统100可用。在一些实施例中,每一个组数据源都将包括与共同的行业或领域相关的数据。在其他实施例中,外部数据源分组可以取决于各种数据源的提供商。在一些实施例中,外部数据源120可以表示对API 130可用的每一外部数据源。
[0070] 此外,在外部数据源120中所示出的数据的特定类型只是示例性的。可以包括额外的数据类型,在外部数据源120中包括特定类型的数据不是限制性的。
[0071] 如图1所示,外部数据源120可包括地图数据121。地图数据可包括通过提供的API,诸如,Google地图API和/或开放街道图API等等,可用的位置、地图,以及导航信息。评价数据123可包括有关企业、产品,位置等等的评定或审核信息。例如,评价数据123可包括来自Yelp API、Amazon客户审核API、和/或TripAdvisor Content API等等的数据。位置数据125可包括特定的数据,诸如企业概况、营业时间、菜单,或类似的东西。气象数据127可以是位置特定的气象信息,可以通过,Dark Sky Forecast API、Weather Channel API、NOAA Web服务API,和/或Weather Underground API等等访问它们。航班数据129可包括航班信息、登机口信息,和/或机场信息,可以通过FlightStats API、FlightWise API、FlightStats API以及FlightAware API等等访问它们。这些外部数据源120中的每一个(例如,地图数据1221、评价数据123、气象数据127、航班数据129,以及位置数据125)可以提供通过API 130访问的另外的数据。
[0072] 如前面所描述的,API 130可以提供用于在公用接口中访问通过专有的数据源110和外部数据源120可用的任一项数据的统一接口。API 130可以是在,例如,诸如参考图2所描述的计算设备200之类的计算设备上执行的软件。在这些实施例中,可以使用任何标准编程语言(例如,Python、Ruby、Java、C、C++、node.js、PHP、Perl,或类似的语言)来编写API 130,它可以使用各种数据传输格式和/或协议,包括SOAP、JSON对象、基于REST的服务、XML,或类似的协议,等等,提供访问。API 130可以以标准格式接收对数据的请求,并以可预测的格式作出响应。
[0073] 在一些实施例中,API 130可以将来自一个或多个数据源的数据(例如,存储在专有的数据源110、外部数据源120,或两者中的数据)组合到统一的响应中。另外,在一些实施例中,API 130可以处理来自各种数据源的信息,以提供在原始数据中不可用的额外的字段或属性。此处理可以基于一个或多个数据源,并可以使用来自每一数据源的一个或多个记录。例如,API 130可以提供聚集的信息或统计信息,诸如平均值、总和、数值范围,或其他可计算的信息。此外,API 130可以将来自多个数据源的数据归一化为共同的格式。前面对API 130的功能的描述只是示例性的。有许多额外的API 130可以检索并封装通过专有的数据源
110和外部数据源120提供的数据的方式。
[0074] 虚拟现实系统140可以与虚拟现实设备145和API 130进行交互。虚拟现实系统140可以接收与虚拟现实设备145相关的信息(例如,通过图3的无线通信306)。此信息可包括前面参考图3所描述的任一项信息。例如,虚拟现实系统可以接收位置信息、运动信息、可视信息、声音信息、朝向信息、生物识别信息,或由虚拟现实设备145所提供的任何其他类型的信息。另外,虚拟现实系统140可以从虚拟现实设备145接收标识信息,诸如设备特定的标识符或与虚拟现实设备145的用户相关联的认证凭据。
[0075] 虚拟现实系统140可以处理接收到的信息,并形成到API 130的请求。这些请求可以使用来自虚拟现实设备145的标识信息,诸如设备标识符或来自虚拟现实设备145的用户的认证凭据。
[0076] 使用来自虚拟现实设备145的信息,虚拟现实系统140可以通过API 130,请求详细信息。可以将从API 130返回的信息与从虚拟现实设备145接收到的信息组合,并由虚拟现实系统140进行处理。然后,虚拟现实系统140可以作出有关应该由虚拟现实设备145显示的更新的虚拟现实信息的智能决策。在下文中参考图4A-4D更详细地描述此处理的示例性使用情况。虚拟现实设备145可以接收更新的虚拟现实信息,并在,例如,图3B所示出的显示器373和374上显示合适的更新。
[0077] 图4A-4D是根据本公开的各实施例的图1的系统100的示例性使用情况。图4A是使用用于搜索、查看,以及选择航班预定选项的虚拟现实设备(例如,来自图3B的设备375或来自图1的虚拟现实设备145)的示例性使用情况。图4B是使用用于浏览以及选择航班选项的虚拟现实设备(例如,设备375或虚拟现实设备145)的示例性使用情况。图4C是可以在虚拟现实环境中存在的,用于调整虚拟环境中的时刻或季节(例如,使用设备375或虚拟现实设备145)的虚拟现实控件的表示。图4D是可以在虚拟现实环境中存在的,用于为飞行中体验选择环境(例如,使用设备375或虚拟现实设备145)的虚拟现实控件的表示。图4A-4B所示出的示例可以是使用虚拟现实系统140并在虚拟环境内的用户的代表性视图。在对图4A-4D的整个描述中,将按合适的参考编号,参考前面在图1-3中所讨论的元素。
[0078] 图4A是使用用于搜索、查看,以及选择航班预定选项的虚拟现实设备(例如,来自图3B的设备375或来自图1的虚拟现实设备145)的示例性使用情况。虚拟现实表示400可以是图3B的显示器373和374的视图。回头参考图4A,虚拟现实表示400可以是由用户通过虚拟现实耳机405看见的显示器。虚拟现实耳机405可以是,例如,来自图3B的虚拟现实设备375或来自图1的虚拟现实设备145。虚拟现实表示400可包括虚拟现实控件,诸如乘客计数转盘410、日历420,以及目的地转轮430。
[0079] 用户可以与他们的手移动相结合地使用例如图3C的跟踪板382和按钮381,以使用虚拟控件(例如,日历420以及目的地转轮430),选择特定城市、旅行日期,以及航班。在使用不同类型的手控件(诸如手套或没有跟踪板的手动控制器)的一些实施例中,可以通过虚拟地敲击或操纵虚拟控件,或使用由特定手动控制器所提供的其他方法,作出选择。此外,用户可以使用控件来虚拟地抓住乘客计数转盘410,并旋转它,以选择合适的乘客数量。如演示的,选择包括对三维、虚拟控件的操纵。
[0080] 由于日历420、目的地转轮430,以及乘客计数转盘410被呈现为三维虚拟环境中的三维控件,用户可以以与在物理世界的相同的方式,虚拟地抓取、旋转,或操纵控件。与需要指向设备或专门输入设备(诸如鼠标转轮或指针)的传统的界面不同,图4A所示出的虚拟现实控件以及设备的用户可以通过对控件的直接操纵来进行交互。
[0081] 作为示例,用户可以使用诸如图3C的手动控制器385之类的手动控制器,来与日历420、目的地转轮430,以及乘客计数转盘410进行交互。例如,用户可以提升控制器385,该控制器385可以描绘在虚拟现实环境中用户抬起他们的手。用户可以按下图3C的手动控制器
385的按钮381,这可以在虚拟现实环境中描绘用户抓取乘客计数转盘410。用户可以移动图
3C的跟踪板382,这可以描绘用户在虚拟现实环境中旋转他们的手,以转动乘客计数器410转盘,来选择不同的乘客数量。在此示例中,虽然手动控制器385不刚好匹配用户的手的形状,但是,控制器385的输入元件可以被用来通过允许用户模仿与虚拟环境中的控件进行交互所需的合适的手移动,有效地与日历420、乘客转盘410,以及目的地转轮430进行交互。使用手动控制器的不同类型的交互也可以用于相同用途。在一些实施例中,代替使用跟踪板来旋转虚拟手,用户可以旋转手控件以使他们的虚拟手旋转转盘或控件。此外,在一些实施例中,虚拟现实系统还可以使用手跟踪。在这些实施例中,用户可以利用他们的手作出移动,由虚拟现实设备捕捉并在虚拟环境中模仿这些移动,允许用户利用他们的手抓住控件,并旋转转盘,好像他们正在与物理转盘或控件进行交互。
[0082] 在一些实施例中,虚拟控件可以使用户预订行程。通过使用这些系统,用户可以通过虚拟现实控件,有效地研究并查看旅行服务或提供品。通过与虚拟环境和控件的交互,用户可以查找并购买旅行服务或其他服务。
[0083] 图4B是使用用于在世界视图上浏览并选择所需的航班选项的虚拟现实设备405(例如,来自图3B的设备375或来自图1的虚拟现实设备145)的示例性使用情况。虚拟现实环境440可以是由用户通过图3B的显示器373和374(它们是虚拟现实设备405的一部分)查看的表示。虚拟现实环境440的元素可包括航班443、时间滑块442、选择的航班444,以及选择的航班信息441。
[0084] 如前面参考图4A所描述的,用户可以使用手跟踪或可以使用手动控制器,诸如来自图3C的手动控制器385,通过在虚拟环境中移动他们的手以及臂,与图4B的虚拟环境440进行交互。例如,用户可以查看从特定目的地起飞的航班443。航班443中的每一航班都可包括特定飞机类型、飞行路线、中途停留位置的三维表示,及通过三维虚拟世界显示的其他信息。用户可以在虚拟现实环境中移动他们的手,以旋转地球以改变视图或选择特定的元件,诸如选择航班。例如,用户可以选择选定的航班444。
[0085] 响应于这样的选择,虚拟现实环境440可以通过,例如,在选定航班444上示出一个选择指示器,被更新以演示该选择。另外,虚拟现实设备405可以查询(例如,通过使用来自图1的API 130)有关选定的航班444的具体的航班细节,该细节可以作为虚拟现实环境的一部分,作为航班细节441来显示。如此,对特定航班的选择可以使以前对虚拟现实环境不可用的数据的集合被检索到并被集成到虚拟现实环境中。
[0086] 在一些实施例中,用户可以移动时间滑块442。用户可以使用手动控制器或其他输入系统来抓取滑块并来回移动滑块,有效地导致虚拟现实环境在消逝的时间内来回移动。随着用户移动滑块,各种虚拟元素的位置可以切换。在这样的实施例中,用户可以随着他们移动时间滑块442,查看在虚拟环境中变化的所有相关航班起飞、降落、中转,以及中途停留。中转航班可以在虚拟现实环境440中的世界的小型化视图上在中转城市实际地降落。相应地,用户对时间滑块442控件的操纵直接会影响用户体验到的虚拟环境。
[0087] 在一些实施例中,用户还可以进一步使用虚拟环境440来浏览起初对虚拟环境440不可用的具体细节和信息。例如,如上所示,选择一个航班(例如,选定的航班444)会使虚拟现实设备405从虚拟现实系统(例如,来自图1的虚拟现实系统140)中检索额外的航班细节。另外,用户可以抓住选定航班444并放大飞机对象,形成放大视图或有效地将用户放在飞行器的内部。
[0088] 如上文所描述的,飞行器对象可以用作虚拟环境440中的可以表达不同类型的信息和交互的控件。例如,选定的航班444和航班443可以被用来传达与航班的路线、航线、中途停留、中转、飞行时间、机型、航空公司或合作伙伴、载客量、座位图、席位特性,以及舒适性相关联的信息等。选定的航班444以及航班443控件还可以进一步用于各种交互,包括航班选择、票价选择、席位选择、收费价目表、升舱请求、服务请求,以及舒适性的选择。飞机的使用可以基于用户的现有的与飞机对象相关的信息的类型的关联,帮助向用户指出可用的信息的类型和交互。
[0089] 作为特定的交互的示例,选定的航班444的布局和座位可用性起初对虚拟现实环境不可用。但是,虚拟现实环境440可以使用,例如,来自图1的虚拟现实系统140和API 130,检索选定的航班444的特定的布局和座位可用性,并利用必要的信息来填充虚拟现实设备。如此,虚拟环境440不仅限于封闭的数据或信息库。相反,虚拟环境440可以使用大量的可用信息,在虚拟环境440中,基于用户对元素(例如,航班443、时间滑块442、选定的航班444,以及航班信息441)的操纵,提供按需的集成的体验。
[0090] 图4C是可以在虚拟现实环境(例如,图4A的虚拟现实表示400、使用来自图3B的虚拟现实设备375或来自图1的虚拟现实设备145显示的图4B的虚拟现实环境440)中存在的,用于改变时刻的时刻控件470的表示。时刻控件470可以作为三维图形控件显示在虚拟现实环境中。时刻控件470的元素可包括时间转盘471、时间选择器472、太阳473,以及月亮474。应该理解,使用诸如太阳473和月亮474之类的图形符号来描绘日夜是代表性的。可以使用表达类似的意思的任何单词、文本,或符号来演示变化的时刻。另外,类似的控件还可以用于其他时间跨度。例如,类似的控件可以用于查看季节变化。
[0091] 通过使用例如来自图3C的手动控制器385,用户可以抓取选择器472,并沿着时间选择器472滑动它,以在虚拟环境中选择一天中的时刻。时刻控件470可以向,例如,图1的虚拟现实系统140提供更新的信息,这可以从图1的API 130检索额外的信息,并相应地更新虚拟环境。如此,取决于时刻控件470出现的上下文,虚拟现实环境可以响应于对控件的操纵而变化。
[0092] 例如,意大利威尼斯的圣可广场中间的用户可以使用时刻控制器470来查看各种时刻的广场。用户可以选择了处于巴黎的冬天或开普敦的夏天的中间。通过操纵时刻选择器472,用户可以直接体验那些季节内的一个特定日子的那些环境。在一些实施例中,可以使用类似的时间滑块来在该特定环境的不同的季节之间移动用户,以便用户可以体验巴黎的夏天和冬天或开普敦的夏天和冬天之间的差异。随着用户与时刻控件470进行交互,可以通过例如图1的虚拟现实系统140,检索这些环境中的每一个的细节。
[0093] 此外,虚拟现实系统140可以基于来自时刻控件470的输入,和虚拟环境的上下文,更新虚拟环境的额外的元素。例如,在选择特定城市和日期之后,虚拟环境可以随着用户改变时刻控件470,显示平均温度、降雨量、UV指数、旅游名胜,以及特定时刻的活动等等。用户可以使用此信息来通知有关要访问什么城市以及可能有什么体验的决定。
[0094] 也可以在旅行过程中使用虚拟现实环境。图4D是可以在虚拟现实环境(例如,如通过来自图3B的虚拟现实设备375、或来自图1的虚拟现实设备145提供的)中存在的,用于为飞行中体验选择环境的飞行中体验控件480的表示。飞行中体验控件480可以显示滚动轮481。滚动轮481可以呈现诸如航天飞机环境482之类的选项。
[0095] 如参考图4D所描述,用户可以例如使用来自图3B的手动控制器375,操纵飞行中体验控件480。用户可以在选择诸如航天飞机环境482之类的特定的体验之前,抓取滚动轮481并旋转它。基于用户与飞行中体验控件480的交互,虚拟环境可以将有关用户的当前现实世界的体验的上下文信息用于自定义的虚拟环境中。例如,选择航天飞机环境482会使虚拟现实系统从存储器(例如,RAM 337)中检索相关信息,以使虚拟现实设备将虚拟环境转换为航天飞机驾驶舱。可以通过虚拟航天飞机驾驶舱的驾驶舱窗口显示用户的当前飞行路线。随着用户旋转他们的头,虚拟现实设备(例如,来自图3B的虚拟现实设备375或来自图1的虚拟现实设备145)可以将移动信息中继到虚拟现实系统,这可以更新显示。
[0096] 此外,随着飞机本身倾斜或移动,虚拟现实设备可以检测移动信息(通过诸如加速度计342之类的一个或多个传感器),并通过虚拟航天飞机驾驶舱使视图类似地改变。这些使用户周围的物理环境移动但不是直接由用户的移动导致的环境移动,可以反映在虚拟环境中。相应地,可以使用户感觉好像是他们不仅看穿虚拟航天飞机驾驶舱,而且,他们正在体验的飞机的移动实际被集成到通过虚拟环境感觉到的体验中。
[0097] 在一些实施例中,用户可以使用飞行中体验选择器481来在飞行过程中全屏幕地观看电影,浏览SkyMall的虚拟版本,用户在购买之前可以看到并旋转产品,或飞越埃菲尔铁塔。虽然不基于飞机本身的实际移动,但是,这些体验中的每一个都可以使用集成的数据来修改飞行中体验。例如,可用的飞行中体验可以基于当前航班的目的地。代替埃菲尔铁塔,如果当前航班前往罗马用户可以能够选择飞越古罗马竞技场或如果航班前往埃及可以能够选择飞越金字塔。
[0098] 除滚动轮481的内容基于集成到虚拟现实体验中的上下文信息之外,选定的体验本身也可以基于类似的上下文信息。例如,可以针对航班的目的地人们所说的语言,定制语言课程体验,并针对用户已购买的特定的旅行服务,定制语言课程体验,或可以过滤虚拟SkyMall目录中的产品,以只显示满足用户的偏好的那些产品,以及在航班的目的地有用的那些产品。在这些情况中的每一种情况下,飞行中体验选择器481可以使用以前对虚拟现实环境不可用的有关当前航班的上下文信息,以使虚拟现实环境向用户提供定制的体验。
[0099] 图5是根据本公开的各实施例的虚拟现实系统中的用于改善数据集成的示例性方法的流程图。可以清楚地理解,可以改变所示出的过程,以删除一些步骤或进一步包括额外的步骤。应该理解,一个或多个计算设备(诸如图2的系统或图3的电子设备)可以执行示例性方法,可以作为硬件、存储在一个或多个计算设备中的软件,或前者的任何组合,包括此处所描述的功能。
[0100] 在初始步骤501之后,系统(例如,图1的虚拟现实系统140)可以从虚拟现实设备获取(步骤505)对旅行目的地的选择(例如,通过对目的地转轮的操纵)。个人可以通过使用手跟踪或手动控制器(例如,来自图3C的手动控制器385)或虚拟现实系统的其他输入设备,与目的地转轮进行交互,浏览各种城市。
[0101] 在选择目的地之后,系统可以获取(步骤510)与旅行目的地相关联的目的地信息(例如,使用图1的API 130)。虚拟现实设备可以查询API,获取有关旅行目的地的可用信息。例如,如果用户选择巴黎作为旅行目的地,则虚拟现实系统可以使用该选择来检索巴黎的地图(例如,通过图1的API 130,从地图数据121中),巴黎的气象信息(例如,通过图1的API 
130,从气象数据127),以及巴黎的宾馆和餐厅的评价数据(例如,通过图1的API 130,从评价数据123)。检索到的数据还可以进一步包括系统特定服务(例如,通过API 130,从专有的数据源110中获取的),其中可包括特定的旅游、餐厅的套餐,或宾馆特价等。
[0102] 系统还可以进一步获取(步骤515)与个人相关联的上下文信息(例如,从图1的虚拟现实设备145)。上下文信息可包括个人的存储的与设备和用户相关联的帐户信息或设备标识符。上下文信息还可以进一步包括有关用户与虚拟环境的交互的信息。
[0103] 系统可以基于对从用户或虚拟现实设备中获取的上下文信息的分析,来过滤(步骤520)信息(例如,使用来自图1的虚拟现实系统140)。例如,上下文信息可包括设备标识符。通过使用设备标识符,可以在前面的步骤中检索有关该设备的用户的偏好信息。通过分析偏好信息,系统可以确定,用户,例如,在旅行中只在米其林餐厅用餐,或首选特定的连宾馆住宿。响应于这些偏好(基于从虚拟现实设备中获取的上下文信息检索到的),可以过滤可用的旅行服务,以排除不严格地匹配偏好条件的任何服务。
[0104] 在一些实施例中,上下文信息可以直接包括用户针对他们需要的体验的类型的选择。例如,用户可能在虚拟环境中指出,他们希望在他们的旅行中打高尔夫球。相应地,可以定制对可用的旅行服务的过滤,以无论如何在用户的选择的目的地中包括特定的高尔夫球套餐。如此,可以将直接从设备获取的信息以及基于由设备所提供的信息获取的信息组合起来,以过滤可用的旅行服务。
[0105] 系统可以提供(步骤525)表示旅行目的地的虚拟现实环境。此环境可包括用户可以操纵的额外的虚拟控件。虚拟现实环境可以将用户置于目的地城市或可以示出目的地城市的瞰图。然后,用户可以操纵虚拟环境本身以及控件。在一些实施例中,控件可以集成到环境中,以便对环境的操纵有效地操纵控件。例如,特定目的地城市的地图可包括餐厅和宾馆,可以选择并展开餐厅和宾馆,以按需示出检索到的座位和菜单信息。
[0106] 系统可以提供(步骤530)经过滤的旅行服务的表示(例如,使用虚拟现实系统140)。例如,由系统所提供的虚拟环境可包括巴黎的鸟瞰图,其中包括在地图上突出显示的与所提供的旅行服务相关联的宾馆。用户可以有效地使用地图控件来通过移动地图以展开有关提供的每一旅行服务的信息,查看提供的不同的旅行服务。系统可以从虚拟现实设备接收(步骤535)交互(例如,使用图3C或手动控制器385),诸如用户的对巴黎的虚拟地图的操纵。在一些实施例中,虚拟控件可以是可以示出可用的旅行服务的选择器或转轮(例如,来自图4D的滚动轮482),系统可以接收用户对特定旅行服务的选择。
[0107] 系统可以基于个人的移动或对虚拟环境的操纵(例如,通过图3B-3C的虚拟现实设备375和控制器385),确定(步骤540)与虚拟控件的交互。系统可以使用有关所提供的控件的信息来解释来自用户的输入,并检测何时用户的运动和选择与所提供的控件相互关联。作为响应,系统可以确定(步骤540)对虚拟控件、旅行服务,以及虚拟环境的更新(例如,通过图1的虚拟现实系统140),并将那些更新(例如,通过图1的虚拟现实设备145)提供(步骤
545)到虚拟现实环境,完成该过程(步骤599)。
[0108] 相应地,在巴黎的虚拟地图和滚动轮示出了可用的旅行服务的示例中,系统可以检测用户在虚拟现实环境中的移动,并基于用户与虚拟环境的交互,检索与用户的动作相关联的信息,并提供直接响应于用户的动作的已更新的虚拟环境和控件。
[0109] 图6是根据本公开的各实施例的虚拟现实系统中的用于改善数据集成的示例性方法的流程图。可以清楚地理解,可以改变所示出的过程,以删除一些步骤或进一步包括额外的步骤。应该理解,一个或多个计算设备(诸如图2的系统或图3的电子设备)可以执行示例性方法,可以作为硬件、存储在一个或多个计算设备中的软件,或前者的任何组合,包括此处所描述的功能。
[0110] 在初始步骤601之后,系统可以生成(步骤610)包含一个或多个三维虚拟控件的虚拟现实环境(例如,通过图1的虚拟现实系统140)。虚拟控件可以基于用户会与虚拟现实环境进行的可能的交互。
[0111] 在生成之后,系统可以向用户提供(步骤620)虚拟现实环境,用于显示(例如,使用虚拟现实设备145)。用户可以通过物理运动并通过控制器(例如,图3的控制器385)与虚拟现实环境进行交互。系统可以获取(步骤630)用户对特定的虚拟控件的操纵(例如,通过图1的虚拟现实设备145或图3的控制器385)。虚拟现实设备可以通过检测用户的移动模式,来检测这样的操纵。此移动模式可以与虚拟控件中的一个相关联。例如,移动模式可以暗示滚动轮(例如,图4D的滚动轮481)的旋转。虚拟控件中的每一个都可以具有与对该特定控件的操纵相关联的多个移动模式。
[0112] 基于接收到的输入和特定移动模式,系统可以确定(步骤640)反映用户的操纵的对虚拟环境和控件的更改。例如,用户的操纵可能暗示时刻滑块(例如,图4C的时刻控件470)的移动。预定的移动模式可以检测时刻选择器(例如,图4C的时间转盘471上的选择器
472)的滑动。响应于此移动模式,系统可以确定虚拟环境的时刻应该变化,以反映输入。除检测反映对控件的操纵的类型(例如,旋转诸如图4D的滚动轮481之类的滚动轮)的移动模式之外,系统也可以检测操纵的量。例如,移动滚动轮一个槽口而不是完整的一周会导致类似的移动模式,只是带有不同的旋转级别。这些模式中的每一个都可以被检测为与相同控件相关联并表示不同的旋转量。
[0113] 系统可以提供(步骤650)对虚拟现实设备(例如,图1的虚拟现实设备145)的更改,用于显示,并完成(步骤699)该过程。
[0114] 虽然是在旅行的上下文中描述前面的系统的,但是,系统可以用于许多不同的领域。使用的特征和包括的数据可以基于部署所公开的各实施例的特定的领域。
[0115] 在前述的说明书中,参考可以会在各实现之间不同的很多具体细节描述了各实施例。可以作出对所描述的各实施例的某些改编和修改。通过考虑说明书和对此处所公开的本发明的实施,其他实施例对所属领域的技术人员是清晰的。说明书和示例只应被视为示例性的。图形所示的步骤的顺序只用于说明,不仅限于步骤的任何特定顺序。如此,所属领域的技术人员可以理解,这些步骤可以在实现相同方法时以不同的顺序执行。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈