首页 / 专利库 / 显示技术 / 虚拟环境 / 为虚拟现实用户界面检测用户运动范围

虚拟现实用户界面检测用户运动范围

阅读:1028发布:2020-06-26

专利汇可以提供虚拟现实用户界面检测用户运动范围专利检索,专利查询,专利分析的服务。并且在一个总体方案中描述一种为用户生成 虚拟环境 的系统和方法。可利用可通信地耦合到第二 电子 设备的第一电子设备来生成虚拟环境。所述方法可包括 跟踪 第二电子设备在周围环境中的移动,使用一个或多个 传感器 确定与周围环境中的移动相关联的运动范围,将和周围环境相关联的运动范围与和虚拟环境相关联的运动范围相联系,根据虚拟配置,对于多个虚拟对象确定适应于与虚拟环境相关联的运动范围的虚拟配置,以及根据配置触发对多个虚拟对象的 渲染 。,下面是虚拟现实用户界面检测用户运动范围专利的具体信息内容。

1.一种计算机实现的方法,包括:
利用可通信地耦合到第二电子设备的第一电子设备生成虚拟环境
跟踪所述第二电子设备在周围环境中的移动;
使用一个或多个传感器确定与所述第二电子设备在所述周围环境中的所述移动相关联的运动范围;
将和所述周围环境相关联的运动范围与和所述虚拟环境相关联的运动范围相联系;
对于多个虚拟对象确定适应于与所述虚拟环境相关联的运动范围的虚拟配置;以及根据所述虚拟配置在所述第一电子设备的所述虚拟环境中触发对所述多个虚拟对象的渲染
2.根据权利要求1所述的方法,其中,所述多个虚拟对象中的至少一个虚拟对象是示出所述虚拟环境以及与所述虚拟环境相关联的选项的用户界面的部分,并且其中,确定所述虚拟配置包括适应性调整所述用户界面,以匹配与所述虚拟环境相关联的运动范围。
3.根据权利要求1所述的方法,其中,将和所述周围环境相关联的运动范围与和所述虚拟环境相关联的运动范围相联系包括:
确定访问所述第一电子设备或所述第二电子设备中的至少一个的用户的物理形态;
将与所述物理形态相关联的至少一个能从所述周围环境转化到所述虚拟环境中;以及
根据至少一个经过转化的能力在所述虚拟环境中提供虚拟内容。
4.根据权利要求3所述的方法,其中,访问所述第一电子设备的用户的所述物理形态包括所述虚拟环境内的检测位置、姿势、物理空间内的检测位置、或者检测高度以及涉及与所述用户相关联的臂展的触及距离中的至少一个。
5.根据权利要求3所述的方法,其中,将和所述周围环境相关联的运动范围与和所述虚拟环境相关联的运动范围相联系还包括:
响应于确定访问所述第一电子设备的用户在访问所述第一电子设备时处于就座位置,使得所述虚拟环境中的所述至少一个能力能够将所述用户的所述就座位置列入考量。
6.根据权利要求3所述的方法,其中,对于所述多个虚拟对象确定适应于与所述虚拟环境相关联的运动范围的虚拟配置包括:确定与所述第一电子设备相关联的所述用户的所述物理形态,以及使用所述用户的所述物理形态以及与所述周围环境相关联的运动范围来估计触及区域,所述触及区域用作访问所述第一电子设备的所述用户的触及内并且其中将多个虚拟对象放置在所述虚拟环境中的区域。
7.根据权利要求1所述的方法,其中,使用在所述第二电子设备上执行的加速度计来确定与所述虚拟环境相关联的运动范围。
8.根据权利要求1所述的方法,其中,跟踪所述第二电子设备在所述周围环境中的移动包括通过在所述周围环境中捕捉访问所述第一电子设备和所述第二电子设备的用户的图像来跟踪所述第二电子设备的横向移动。
9.根据权利要求1所述的方法,其中,所述第一电子设备是HMD设备,且所述第二电子设备是便携式电子设备。
10.根据权利要求9所述的方法,其中,对于所述多个虚拟对象确定适应于与所述虚拟环境相关联的运动范围的虚拟配置包括:确定访问所述第一电子设备的用户的高度,以及使用所述用户的所述高度以及与所述周围环境相关联的运动范围来估计触及区域,所述触及区域用作访问所述第一电子设备的所述用户的触及内并且其中将多个虚拟对象放置在所述虚拟环境中的区域。
11.根据权利要求1所述的方法,其中,对于多个虚拟对象确定适应于与所述虚拟环境相关联的运动范围的虚拟配置包括:检测所述第一电子设备的垂直偏移,以及使用所述垂直偏移来放置访问所述第一电子设备的用户的触及内的多个对象。
12.一种其上存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时使得计算设备:
利用可通信地耦合到第二电子设备的第一电子设备生成虚拟环境;
跟踪所述第二电子设备在周围环境中的移动;
使用一个或多个传感器确定与所述第二电子设备在所述周围环境中的所述移动相关联的运动范围;
将和所述周围环境相关联的运动范围与和所述虚拟环境相关联的运动范围相联系;
对于多个虚拟对象确定适应于与所述虚拟环境相关联的运动范围的虚拟配置;以及根据所述虚拟配置在所述第一电子设备的所述虚拟环境中触发对所述多个虚拟对象的渲染。
13.根据权利要求12所述的非暂时性机器可读介质,其中,所述多个虚拟对象中的至少一个虚拟对象是示出所述虚拟环境以及与所述虚拟环境相关联的选项的用户界面的部分,并且其中,确定所述虚拟配置包括适应性调整所述用户界面,以匹配与所述虚拟环境相关联的运动范围。
14.根据权利要求12所述的非暂时性机器可读介质,其中,将和所述周围环境相关联的运动范围与和所述虚拟环境相关联的运动范围相联系包括:确定访问所述第一电子设备的用户的物理形态。
15.根据权利要求12所述的非暂时性机器可读介质,其中,所述第一电子设备是HMD设备,且所述第二电子设备是便携式电子设备。
16.根据权利要求12所述的非暂时性机器可读介质,其中,对于所述多个虚拟对象确定适应于与所述虚拟环境相关联的运动范围的虚拟配置包括:确定与所述第一电子设备相关联的用户的物理形态,以及使用所述用户的所述物理形态以及与所述周围环境相关联的运动范围来估计触及区域,所述触及区域用作与所述第一电子设备相关联和/或访问所述第一电子设备的所述用户的触及内并且其中将多个虚拟对象放置在所述虚拟环境中的区域。
17.一种系统,包括:
存储器;以及
耦合到所述存储器的至少一个处理器,所述至少一个处理器被配置为:
利用可通信地耦合到第二电子设备的第一电子设备生成虚拟环境;
跟踪所述第二电子设备在周围环境中的移动;
使用一个或多个传感器确定与所述周围环境中的移动相关联的运动范围;
将和所述周围环境相关联的运动范围与和所述虚拟环境相关联的运动范围相联系;
对于多个虚拟对象确定适应于与所述虚拟环境相关联的运动范围的虚拟配置;以及根据所述虚拟配置在所述第一电子设备的所述虚拟环境中触发对所述多个虚拟对象的渲染。
18.根据权利要求17所述的系统,其中,将和所述周围环境相关联的运动范围与和所述虚拟环境相关联的运动范围相联系还包括:响应于确定访问所述第一电子设备的用户在访问所述第一电子设备时处于就座位置,使得所述虚拟环境中的至少一个能力能够将所述用户的就座位置列入考量。
19.根据权利要求17所述的系统,其中,跟踪所述第二电子设备在所述周围环境中的移动包括分析所述第二电子设备上存储的加速度计数据。
20.根据权利要求17所述的系统,其中,所述第一电子设备是HMD设备,且所述第二电子设备是便携式电子设备。

说明书全文

虚拟现实用户界面检测用户运动范围

[0001] 相关申请的交叉引用
[0002] 本申请是2016年7月22日提交的名为“DETECTING USER RANGE OF MOTION FOR VIRTUAL REALITY USER INTERFACES”的美国临时申请No.62/365,526的继续申请并要求其优先权,其公开内容通过引用合并于此。

技术领域

[0003] 本公开一般涉及对于访问虚拟现实(VR)内容的用户,用于检测运动能范围的方法和设备。

背景技术

[0004] 很多虚拟现实环境接受来自各种输入设备的用户输入。例如,可将移动设备、键盘控制器以及被跟踪的手的移动的任何组合用于向虚拟现实(VR)空间提供输入。在VR空间中提供输入还可涉及运动与设备操纵的组合。每个运动和设备操纵可通过访问VR空间的用户来进行。发明内容
[0005] 可将一个或多个计算设备的系统配置为通过在系统上安装软件固件硬件、或它们的组合来进行特定的操作或动作,软件、固件、硬件、或它们的组合在操作中导致系统进行动作。可将一个或多个计算机程序配置为通过包括在由数据处理装置执行时使得所述装置进行动作的指令来进行特定的操作或动作。
[0006] 在一个总体方案中,一种计算机实现的方法包括:利用可通信地耦合到第二电子设备的第一电子设备生成虚拟环境;跟踪第二电子设备在周围环境中的移动;以及使用一个或多个传感器确定与第二电子设备在周围环境中的移动相关联的运动范围。所述方法还包括将和周围环境相关联的运动范围与和虚拟环境相关联的运动范围相联系;对于多个虚拟对象确定适应于与虚拟环境相关联的运动范围的虚拟配置;以及根据虚拟配置在第一电子设备的虚拟环境中触发对多个虚拟对象的渲染
[0007] 实施方式可包括以下特征的其中一个或多个。所述方法其中多个虚拟对象中的至少一个是示出虚拟环境以及与虚拟环境相关联的选项的用户界面的部分,并且其中确定虚拟配置包括适应性调整用户界面,以匹配与虚拟环境相关联的运动范围。所述方法其中将和周围环境相关联的运动范围与和虚拟环境相关联的运动范围相联系包括:确定访问第一电子设备或第二电子设备中的至少其中一个的用户的物理形态;将与物理形态相关联的至少一个能力从周围环境转化到虚拟环境中;以及根据至少一个经过转化的能力,在虚拟环境中提供虚拟内容。在一些实施方式中,访问第一电子设备的用户的物理形态包括虚拟环境内的检测位置、姿势、物理空间内的检测位置、或者检测高度以及涉及与用户相关联的臂展的触及距离中的至少一个。在一些实施方式中,将和周围环境相关联的运动范围与和虚拟环境相关联的运动范围相联系还包括:响应于确定访问第一电子设备的用户在访问第一电子设备时处于就座位置,使得虚拟环境中的至少一个能力能够将用户的就座位置列入考量。
[0008] 在一些实施方式中,所述方法可包括:对于多个虚拟对象确定适应于与虚拟环境相关联的运动范围的虚拟配置包括:确定与第一电子设备相关联的用户的物理形态,以及使用用户的物理形态以及与周围环境相关联的运动范围来估计触及区域。触及区域可用作访问第一电子设备的用户的触及内并且其中将多个虚拟对象放置在虚拟环境中的区域。在一些实施方式中,使用在第二电子设备上执行的加速度计来确定与虚拟环境相关联的运动范围。在一些实施方式中,跟踪第二电子设备在周围环境中的移动包括通过在周围环境中捕捉访问第一电子设备和第二电子设备的用户的图像来跟踪第二电子设备的横向移动。在一些实施方式中,第一电子设备是HMD设备,且第二电子设备是便携式电子设备。
[0009] 在一些实施方式中,对于多个虚拟对象确定适应于与虚拟环境相关联的运动范围的虚拟配置包括:确定访问第一电子设备的用户的高度,以及使用用户的高度以及与周围环境相关联的运动范围来估计触及区域。触及区域可用作访问第一电子设备的用户的触及内并且其中将多个虚拟对象放置在虚拟环境中的区域。
[0010] 在一些实施方式中,所述方法可包括:对于多个虚拟对象确定适应于与虚拟环境相关联的运动范围的虚拟配置包括:检测第一电子设备的垂直偏移,并使用垂直偏移来放置访问第一电子设备的用户的触及内的多个对象。
[0011] 所述系统的实施方式可包括硬件、方法或处理、或者计算机可访问介质上的计算机软件。
[0012] 在以下的附图说明书中给出一个或多个实施方式的细节。根据说明书、附图以及权利要求书,其他特征将显而易见。

附图说明

[0013] 图1A-图1B是示出用户与虚拟现实(VR)空间交互的示例的示意图。
[0014] 图2A-图2B是示出用户与VR空间交互的示例的方框图
[0015] 图3是示出在VR空间中可通信地耦合到HMD设备的VR装备的方框图。
[0016] 图4是根据本文所述实施方式和技术的包括头戴式显示器和控制器的虚拟现实系统的示例性实施方式。
[0017] 图5是示出检测运动范围并根据运动范围呈现虚拟内容的处理的一个实施方式的流程图
[0018] 图6示出可用于实现本文所述技术的计算机设备和移动计算机设备的示例。
[0019] 在不同附图中相同的附图标记表示相同的元件。

具体实施方式

[0020] 在虚拟现实(VR)应用中,可将用户放在这样的环境中,这个环境在物理上或人体工程学上不适应于满足用户的物理尺寸和/或可用运动范围。这可能使得用户不能与VR空间中的虚拟对象和应用舒适地交互。环境评估以及对这种环境提供自动调整使得用户能够与VR空间中的虚拟对象和应用舒适地交互。如果没有上述自动调整,那么用户可能必须改变位置(例如从坐着到站着或相反和/或扭转或转动身体)以便能够与应用交互。本文所述系统和方法可以基于用户的当前物理位置来确定特定应用是否可用于特定用户。该系统和方法可以提供进行微小位置调整的能力,以帮助用户舒适,此外可以从用户的当前物理位置(例如站着坐着等等)提供大幅度位置调整,以帮助使得应用可用于用户。
[0021] 通过评估可用于坐着、躺着或站着位置的用户的运动范围,本公开所述系统和方法可以适应性调整显示VR空间以及与VR空间相关联的选项的用户界面,以匹配与用户相关联的可用运动范围。例如,如果本文所述系统和方法检测到用户处于具有360度回转运动范围和/或离开用户身体特定触及半径的椅子中,那么基于坐着的用户和检测范围以及用户的触及,可以在HMD设备中向VR空间中的用户渲染和提供特定用户界面。或者,如果确定用户是站着的,那么可以触发不同的用户界面用于渲染,并提供用于在HMD设备中显示。类似地,如果确定用户是躺着的,那么可以触发另一个不同的用户界面用于渲染,并提供用于在HMD设备中显示。
[0022] 在一些实施方式中,可通过与可通信地耦合到生成VR空间的元件的一个或多个设备相关联的加速计来检测用户运动范围。这种加速度计可以是可通信地耦合到显示VR空间的HMD设备的移动设备的一部分。在一些实施方式中,可以使用相机、跟踪系统、跟踪传感器等来进行与用户相关联的运动范围的近似。
[0023] 本公开所述系统和方法可以自动评估用户和VR装备并使VR空间、VR装备、VR对象和/或相关联的VR应用适应与访问VR空间的用户相关联的特定物理特性或特征。与没有为用户配置系统相比,VR应用的自动评估和/或调整以及用于在VR应用中交互的硬件的相关联配置可以使得用户能够以更少的人体工程学、配置和逻辑学中断在白天完成日常计算活动。将这种自动化添加到虚拟现实环境(例如VR空间)和相关联装备可以提供虚拟内容以及VR空间中使用的接口、控件和装备的相对更快的配置和显示。例如,控件、用户界面、监视器、椅子、虚拟内容等的自动分析和放置可以提供为访问计算环境的用户个别定制的计算环境(物理和虚拟)。
[0024] 在一些实施方式中,响应于随时间检测用户移动和/或用户利用的运动范围,可以进行VR空间和相关联装备的适应性调整。例如,响应于检测用户移动(例如经由移动和位置跟踪、眼睛注视跟踪、设备跟踪、和/或传感器测量等),本公开所述系统和方法可以根据访问VR应用的用户的物理形态,在VR应用中渲染内容(或触发内容的渲染)。用户的物理形态可包括但不限于VR空间内的检测位置、物理空间内的检测位置(例如站着、坐着、移动等)、检测或用户输入的高度、涉及用户的高度、臂展、头部转动、眼睛注视、移动能力等的任何一个或全部所检测或计算的触及距离。
[0025] 此外,本文所述系统和方法可以检测与VR空间、相关联装备、以及VR应用交互的用户的特定姿势,并且可以基于所检测的姿势提供特定交互、VR内容和选项。例如,所述系统和方法可以检测用户是坐着还是站着。检测可用于提供或禁止特定的移动性选项。例如,如果用户在虚拟游戏中的交互期间坐着,那么VR应用(使用相关联的控制器或其他基于硬件或软件的传感器)可以确定用户坐着并且可以提供附加的移动选项或修改就座位置的移动选项。如果VR应用(使用相关联的控制器或其他基于硬件或软件的传感器)确定用户在同一虚拟游戏中站着,那么VR应用可以提供不同的移动选项。因此,如果虚拟游戏允许用户在物理上行走和转身以与VR空间中提供的应用内容交互,那么VR应用可以采用这些特征并允许附加的仅站立类型的交互选项。相反,如果检测到用户是坐着的(例如在飞机上、在桌子旁等),那么VR应用可以不采用涉及行走或转身的特征,并且可以提供对于坐着的用户而言方便的不同的、更合适的选项。
[0026] 在一些实施方式中,本公开所述系统和方法可以随时间检测用户移动模式并使用所检测的模式来确定用户的可用运动范围和/或用户的受限运动范围。例如,检测模式可包括检测用户坐着、站着、移动、触及、转身、和/或注视周围。在一些实施方式中,可将模式用于确定用户在具有左右移动能力的椅子中处于就座位置。例如,模式可以指示用户处于具有在圆(或者一部分圆)中左右转动的能力的转椅中。
[0027] 在一些实施方式中,可将所检测的模式用于确定用户是站着还是在行走。在其他实施方式中,可将该模式用于确定用户是处于就座位置还是处于站立位置。可以使用一个或多个机器学习算法来实现模式检测和不同模式的确定。在一些实施方式中,可以使用查找表来进行模式检测和模式区分,例如,通过测量用户运动的范围并将这些运动与已知移动以及已知移动的相关联范围(例如界限)进行比较。
[0028] 在一些实施方式中,本文所述系统和方法可以访问与特定VR硬件相关联的传感器,以检测关于访问VR空间的用户的物理形态。例如,可以分析可通信地耦合到VR空间的用户移动设备上的加速度计,以检测用户是坐在固定椅子还是坐在转椅中。具体而言,如果本文所述系统检测到移动设备的加速计捕捉的测量结果表现出稳定的左右运动,那么系统可以确定用户处于转椅中。可将这种检测用于将VR空间中的虚拟内容和对象物理地放置在用户抓取(例如触及)或观看的范围内。在一些实施方式中,本文所述系统和方法可以确定用户是坐着还是站着。如果确定用户是坐着的,那么可将VR软件配置为在VR空间中将对象放置在特定高度(例如三英尺)以下,从而为坐着的用户提供方便的触及和/或与VR空间的交互。在一些实施方式中,可通过收缩、堆叠、和/或以其他方式组织虚拟对象将特定内容(例如虚拟对象)捕捉到用户可访问区域中,使得它们落入就座用户的触及内。
[0029] 图1A-图1B示出用户与VR空间100A-B交互的示例。下面针对佩戴HMD设备的一个或多个用户来描述图1A-图1B所示的示例性实施方式,HMD设备遮挡(例如基本上遮挡)周围环境,因此HMD设备生成虚拟环境/VR空间,而用户的视野受限于HMD设备生成的VR空间。但是,本文所述概念和特征也可以应用于其他类型的HMD设备、以及其他类型的虚拟现实环境和增强现实环境。此外,本文所述附图中示出的示例可包括这样的用户,该用户被示出为佩戴HMD设备并持有控制器、计算设备等的用户的第三人视角。
[0030] 在所示的示例中,示出具有交互式内容的多个应用窗口。每个VR空间100A-B包括具有静态内容和/或交互式内容的应用。图1A-图1B所示的VR空间100A-B表示的环境允许用户(例如用户102A或102B)围绕任何数量的虚拟应用窗口和/或其他VR内容的虚拟可视化场景移动。虚拟应用窗口和VR内容的适当物理放置可以促进用户与这些内容的交互,并且可以增强VR空间中的用户体验。
[0031] 通常,可通过例如包括用户所佩戴的HMD设备104的系统来生成VR空间100A-B,如图1A-图1B所示。可通过各种不同类型的用户输入来控制HMD设备104,并且用户可通过各种不同类型的用户输入与HMD设备104生成的VR空间进行交互,例如包括手/臂姿势、头部姿势、HMD设备104的操纵、可操作地耦合到HMD设备104的便携式控制器的操纵等。用户可携带(或者在附近)可通信地耦合到HMD设备104的便携式电子设备105。
[0032] 下面针对佩戴HMD设备的用户来描述图1A-图1B所示的示例性实施方式,HMD设备基本上遮挡了周围环境,因此HMD设备生成虚拟环境(例如VR空间),而用户的视野受限于HMD设备生成的虚拟环境。但是,下面针对图1A-图1B所述的概念和特征也可以应用于其他类型的HMD设备、以及其他类型的虚拟现实环境和增强现实环境,如下所述。
[0033] 如图1A所示,佩戴HMD设备104的用户102A面向限定VR空间106A的房间。HMD设备104可以捕捉图像和/或收集定义用户的周围环境中的特征的信息,以描绘VR空间106A中的虚拟内容。然后,可通过VR空间106A中的HMD设备105来处理HMD设备104所收集的图像和信息。此外,可以从传感器(未示出)获得信息,以基于VR空间106A中的用户交互来更新虚拟内容。传感器可以跟踪属于用户的手、脚或其他身体部位位置以及这些元素(具有六个旋转自由度)的旋转。
[0034] 传感器可以检测和跟踪VR空间106A中的用户位置、移动和交互。在一些实施方式中,传感器可以是设备105或另一设备的一部分。例如,跟踪可用于动态地适应性调整VR应用人体工程学,例如以满足用户102A的特定物理特性。如图所示,用户102A可以在VR空间106A中与很多应用打开以及可用的用户选择和交互进行交互。本文所述系统可以确定用户
102A是站着的,并且因此可以提供用户可以基于其站立位置所触及的内容、菜单、控件等的特定放置。例如,可以在离开用户可触及距离内提供应用108、110、112和114。可触及距离可以涉及站立用户102A的物理特性,包括但不限于高度、臂展、头部转动、眼睛注视、移动能力等。
[0035] 用户102A可以享受访问VR空间106A内的应用108、110和112的虚拟体验,也可以享受应用114中所示的电影。本文所述系统可以确定在VR空间中用户102A到虚拟对象(例如所示示例中的应用108-114)之间的距离。可将该距离用于在VR空间106A内放置对象、控件、菜单和其他VR对象。所述放置可以针对每个特定用户进行定制。
[0036] 在一些实施方式中,本文所述系统可以确定用户的触及区域。触及区域可以涉及用户在物理空间内的最大臂展或可触及区域。这种触及区域可以在物理空间和虚拟空间之间相联系,并且可以从物理空间转化到虚拟空间。例如,系统可以计算用户的高度并且可将高度大致平分以获得估计的触及区域。这可以对每个用户配置,并且可以为在VR空间中提供给用户的应用和对象提供距离放置规则的触发器。类似地,系统可以使用用户可以在物理或VR空间中与之交互的特定三维(3D)表面的高度,以确定其他物理或VR对象的舒适且符合人体工程学的放置。例如,假设用户在演奏乐器(例如鼓或琴)。手的放置以及与乐器的交互可用于提供其他交互或用户界面组件。例如,系统可以使用乐器交互和放置作为确定键盘放置和交互、菜单放置、头部放置、视线、按钮或控制器放置、列表放置等的方式。
[0037] 在一些实施方式中,可通过本文所述系统来确定用户的物理形态。例如,可将系统300用于检测或确定访问电子设备(例如HMD 104)的用户的一个或多个物理形态,包括但不限于在用户的虚拟环境内的检测位置、用户的姿势、用户的物理空间内的检测位置、用户的检测高度、和/或涉及与用户相关联的臂展的触及距离。可通过本文所述系统、传感器和设备来检测访问虚拟环境的用户的其他物理形态。
[0038] 在检测用户的一个或多个物理形态时,系统300可将和周围环境相关联的运动范围与和虚拟环境相关联的运动范围相联系。这个相联系可包括确定用户站在或坐在周围(例如物理)环境中并使用这种信息来确定用户在虚拟环境中的有用运动范围。例如,响应于确定访问第一电子设备(例如HMD设备)的用户在访问HMD设备时就座,系统300可以使得虚拟环境中的至少一个能力能够将用户的就座位置列入考量。示例性能力可包括用户手臂的触及空间(或界限)。系统300可以将用户可用的物理触及的界限或能力纳入考量,并且可将内容和/或控件置于用户可用触及的界限内。
[0039] 在图1A所示的示例中,系统可以确定(例如使用传感器检测)用户102A是站着的,并且因此可以计算从(例如应用108、110、112、114)到用户手的距离。该计算可用于提供符合人体工程学且对用户有用的VR空间,使得用户能够按照舒适的方式走向应用108-114并与其交互,而不会过度延伸到触及应用108-114的其中一个。在一些实施方式中,在VR空间106A中所示的交互期间,可以在应用110之前提供应用112,以将电子邮件通知用户。可以基于用户102A进行距离确定,以确定应用112生成的来自“A.Faaborg”的电子邮件的通知的方便放置。该确定可以在用户处于站立位置时在对于用户102A而言既可触及又舒适的区域提供应用112。
[0040] 参考图1B,用户102B坐在椅子116中并访问VR空间106B中的应用108-114,类似于图1A。在该示例中,将应用108-114布置在就座用户(例如用户102B)的舒适和触及区域。例如,将应用108-114按照从左到右的方式布置,就好像用户就坐在桌子旁。附加应用118、120和122堆叠在应用110和应用112后面,如果就座用户102B希望访问应用118-122,则便于用户的触及。此外,VR空间106B包括键盘124和虚拟菜单126。键盘124可以是虚拟的,并且可以在对于用户而言无需调整键盘就能触及和打字的位置被显示。在虚拟桌面上提供虚拟菜单126,使得用户能够伸手在VR空间106B中选择很多菜单项目用于交互。可以基于与移动和/或约束相关的用户能力来确定应用108-122、键盘124、以及虚拟菜单126的放置。例如,本文所述系统可以确定用户就座并且能够在就座位置中左右移动。响应于该确定,可以按照对于就座用户而言舒适的方式提供VR空间106B。在一些实施方式中,系统可以检测特定用户距离、长度和能力,并且可以使用这些信息来提供为特定用户适应性调整和配置的VR空间。
在一些实施方式中,该信息可包括与用户相关联的测量结果。该信息可用于估计VR空间
106B中特定元素的长度和/或宽度。例如,就座用户可具有最大触及区域,这个区域可以指示放在用户前面的虚拟桌面和应用布局的长度128和宽度130。
[0041] 在一个非限制性示例中,可以向站立用户显示电影应用114,如图1A所示。电影应用114在VR空间106A的远方墙壁上离开用户一个距离。因为确定用户站立并且能够在VR空间106A中走动,所以用户可通过转动或走向应用114,容易地访问电影应用114中的内容。相比之下,坐着的用户102B可能难以观看图1A的应用114所示的内容。坐着的用户102B可能坐得低并且远到不能访问应用114并与其交互。因此,本文所述系统可以检测到用户102B是坐着的并且可将VR空间的布局从VR空间106A中所示的内容修改为VR空间106B。对于坐着的用户102B而言这样可能是方便的,并且可以允许用户避免眼睛疲劳和/或颈部拉伤,因为图1B所示的应用114更接近并且适应于满足就座用户102B的工作空间(例如个人环境)。可以进行类似的适应性调整,以修改用于移动和非移动用户场景的VR空间。
[0042] 在一些实施方式中,可将VR空间106B配置为提供可移动虚拟内容,用于为移动用户或固定用户提供对虚拟内容的访问。例如,可移动虚拟内容可包括虚拟对象、应用、控件、和/或可在VR空间中显示的其他图形元素。在一些实施方式中,可将可移动虚拟内容配置为与坐在转椅中的用户进行交互,转椅允许左右旋转移动。在一些实施方式中,可将可移动虚拟内容配置为在有助于与就座用户相关联的触及范围的方向上移动。在一些实施方式中,可将可移动虚拟内容配置用于与站立和/或移动用户进行交互。
[0043] 在一些实施方式中,可将可移动虚拟内容配置为在有助于移动用户的适当距离和时间阈值处提供。在一些实施方式中,本公开全文所述的系统可以检测用户位置(例如坐着、站着、移动)的变化,并且可以使用所检测的变化来提供与在VR空间106B内怎样移动和配置虚拟内容相关联的更新规则和配置。
[0044] 如图2A所示,用户202A佩戴HMD设备204并且面向限定VR空间206A的房间。用户202A坐在椅子208中,并且跟踪系统210可以检测到用户202A就座。在一个非限制性示例中,跟踪系统可以使用与VR设备(例如控制器、HMD设备、移动设备等)相关联的位置数据作为将诸如显示信息、安全信息、用户数据、或其他可获得数据这样的数据相联系的基础。可将该数据用于为访问VR空间206A的用户202A提供在人体工程学上定位的虚拟内容。
[0045] 在一些实施方式中,可将跟踪系统210用于跟踪用于访问VR空间206A的一个或多个设备。可以基于可从VR空间中表示的特定计算设备、控制器和/或基站设备获得的位置、速度、和/或加速度数据来跟踪这些设备。例如,可以从与一个或多个设备相关联的惯性测量单元(IMU)获得数据,同时可以从一个或多个跟踪对象(例如控制器、HMD设备)和/或与VR空间206A相关联的基站获得位置数据。
[0046] 此外,可以从与访问VR空间206A的设备相关联的多个板载传感器获得附加数据。这些数据可以涉及加速计和陀螺仪数据、方位数据、校正数据、和/或指示一般或特定位置信息的其他传感器数据。本文所述系统可以使用这些数据将预定义范围内的跟踪对象的位置信息的六个自由度与预定义范围内的一个或多个其他设备相联系。预定义范围可以是整个VR空间、VR空间的子集、或者针对访问VR空间的用户的其他可测量范围。
[0047] 在一些实施方式中,本文所述系统和方法可以访问与特定VR硬件相关联的传感器,以检测关于访问VR空间206A的用户的特定物理形态。例如,可以分析可通信地耦合到VR空间的用户的移动设备上的加速度计,以检测用户是坐在固定椅子还是坐在转椅中。如果系统确定用户202A处于固定椅子208中,那么系统可以在有角度的位置描述虚拟内容212A,以提供就座用户202A的观看。具体而言,如果本文所述系统检测到属于用户202A的移动设备的加速度计正在捕捉表现出左右运动的测量结果(在垂直方向上不改变),那么系统可以确定用户202A处于转椅中。这种检测可用于将虚拟内容212A物理地放置在VR空间206A中,以落入与用户202A相关联的抓取和/或可视区域的范围。
[0048] 相反,系统可以确定用户(例如图2B中的用户202B)是站着的,如图2B所示。在该示例中,可以在HMD设备204中向用户提供VR空间206B,控件和虚拟内容212B处于VR空间206B的不可触及的区域中,因为用户202B可以走向内容212B以进行交互或者修改内容212B。此外,可以不将虚拟内容212B配置为朝向就座用户成角度,因为用户202B确定是站着的。
[0049] 在一些实施方式中,应用开发者可以实现用于VR应用中的虚拟内容(例如3D虚拟对象或应用)的特性的变量和规则。例如,应用开发者可以基于所检测的用户特性为任何数量的虚拟对象配置一个或多个可配置形态。这些用户特性可包括高度、重量、姿势、臂长、生理能力或残疾、行走速度或移动速度、用户位置(例如坐着、站着、躺着)等。可以使用任何或全部用户特性来触发用于VR空间中虚拟对象的特定模式或选项。
[0050] 在一个非限制性示例中,用户202B在口袋中可能有移动电话(未示出)。移动电话可包括加速计或其他传感器,以检测用户是站着的并在周围环境中走动。如图2B所示,系统可以类似地使用一个或多个传感器(例如定位系统210),基于所检测的在周围环境中的行走移动来检测用户202B是站着的。可以估计或直接测量运动能力,用于在用户102B的环境中配置虚拟交互和虚拟对象放置。
[0051] 在一些实施方式中,本文所述系统和方法可用于定向在VR空间中怎样向用户显示特定视频(例如球面视频)。例如,导演可以创建球面视频并且可以基于用户运动范围(或缺少运动范围)来确定在HMD设备中显示的场景的垂直和平放置。具体而言,如果本文所述系统检测到用户坐在固定椅子中,那么可将系统配置为重置球面视频的特定下一个场景视图。因此,对于每个新场景,视频可以直接在用户面前提供视点。也就是说,基于所检测的用户特点和运动范围,可以为每个用户按照不同方式播放视频。
[0052] 在一些实施方式中,可以根据用户高度来放置VR内容。可将HMD设备、跟踪系统、和/或相机用于检测HMD设备的垂直位置,并且可以提供与所检测的垂直位置一致的VR内容。例如,坐在豆包中的用户可能在离地大约两英尺处使用HMD设备,而站立用户可能在大约三英尺到大约六英尺的任何地方使用HMD设备,并且本文所述系统可以自动地检测这些距离,以在特定的基于用户的高度显示HMD设备中的VR内容。
[0053] 图3是示出在VR空间中可通信地耦合到HMD设备(例如HMD设备303)的控制器的方框图。在操作中,可将系统300配置为提供容纳任何数量虚拟对象的VR空间,可通过VR应用软件、计算机、以及被配置为与VR空间交互的控制器设备来操纵这些虚拟对象。例如,控制器301和控制器302可以与HMD设备303接口连接以生成沉浸式虚拟环境。控制器301和控制器302例如可以与HMD设备303配对,以在设备之间建立通信并促进用户与VR空间的交互。在一些实施方式中,控制器301和控制器302都不与HMD设备303配对,而是通过VR应用或者另一个外部跟踪设备中的跟踪系统(例如跟踪系统110)来跟踪每个控制器。
[0054] 如图3所示,控制器301包括传感系统360和控制系统370。传感系统360可包括一种或多种不同类型的传感器,例如包括光传感器、音频传感器、图像传感器、距离/接近度传感器、位置传感器(例如包括陀螺仪和加速度计的惯性测量单元(IMU))、和/或其他传感器、和/或传感器的不同组合,例如包括被定位为检测和跟踪与用户相关联的眼睛注视的图像传感器。控制系统370例如可包括电源/暂停控制设备、音频和视频控制设备、光学控制设备、转变控制设备、和/或其他这样的设备、和/或设备的不同组合。根据特定实施方式的不同,感测系统360和/或控制系统370可包括更多或更少的设备。
[0055] 此外,控制器301可包括与感测系统360和控制系统370通信的至少一个处理器390、存储器380、以及提供控制器301与另一个外部设备(例如控制器302和/或HMD设备303)之间通信的通信模350。
[0056] 控制器302可包括通信模块306,通信模块306提供控制器301与另一个外部设备(例如HMD设备303)之间的通信。除了提供控制器301和控制器302以及HMD设备303之间的数据交换,通信模块306还可以配置为与VR空间和系统300可访问的很多其他电子设备、计算机、和/或控制器连接和/或通信。
[0057] 控制器302可包括感测系统304,感测系统304包括图像传感器和音频传感器(例如包括在相机和麦克中)、IMU、触摸传感器(例如包括在控制器的触摸灵敏表面中)、以及其他这样的传感器和/或传感器的不同组合。至少一个处理器309可以与传感系统304以及控制系统305通信。控制系统305可以访问存储器308并且可以控制控制器302的整体操作。
[0058] 类似于控制器301,控制器302的控制系统305例如可包括电源/暂停控制设备、音频和视频控制设备、光学控制设备、转变控制设备、和/或其他这样的设备、和/或设备的不同组合。通常,本公开所述系统和方法可以跟踪用户的手或控制器301和302,并分析VR空间中与这些手和/或控制器301和302相关联的用户交互模式和姿势,以确定这种交互模式和姿势的意图。
[0059] 在一些实施方式中,本文所述系统和方法可用于检测用户在移动中的界限。可将这样的界限配置为规则或触发器,从而按照特定方式向用户提供虚拟内容。在一些实施方式中,假设系统检测到用户在其周围环境中向用户的前中心位置的左右方向移动大约十度。系统可以推断该范围是一个界限并且可以确保将控件、对象、以及其他虚拟内容放在可用于20度可用移动空间的视角和外围视角内。
[0060] 图4是根据本文所述实施方式和技术的包括头戴式显示器和控制器的虚拟现实系统的示例性实施方式。在图4所示的示例性实施方式中,佩戴HMD设备402的用户持有便携式电子设备404。便携式电子设备404例如可以是控制器、智能手机、操纵杆、或其他便携式控制器,其他便携式控制器可以与HMD设备402配对并通信,用于在HMD设备402(和/或其他虚拟现实硬件和软件)生成的VR空间中交互。便携式电子设备404例如可以经由有线连接或无线连接(例如Wi-Fi或蓝牙连接)与HMD 402可操作地耦合或配对。便携式电子设备404与HMD设备402的这种配对或可操作的耦合可以提供控制器404与HMD设备402之间的通信以及便携式电子设备404与HMD设备402之间的数据交换。这样可以允许便携式电子设备404充当与HMD设备402通信的控制器,用于在HMD设备402生成的VR空间中交互。也就是说,可以按照多种不同方式来操纵便携式电子设备404。在HMD设备402生成的沉浸式虚拟环境中,可将便携式电子设备404的操纵转化为对应的选择、或移动、或其他类型的交互。这种情况例如可包括与虚拟对象的交互、对虚拟对象的操纵或调整、针对虚拟环境在比例或透视上的改变、用户从虚拟环境中的当前位置到虚拟环境中的选择目的地或特征的移动(例如导航、远距传送、运输)、以及其他的这种交互。
[0061] 图5是示出检测运动范围并根据运动范围呈现虚拟内容的处理500的一个实施方式的流程图。在步骤502,处理500可包括通过可通信地耦合到第二电子设备的第一电子设备生成虚拟环境。例如,HMD设备402可以生成这种虚拟环境,并且可以可通信地和/或可操作地耦合到便携式电子设备402。便携式电子设备402可以属于用户并且可以基于用户移动来跟踪移动。例如,在步骤504,处理500可包括跟踪第二电子设备(例如便携式电子设备404)在周围环境中的移动。在一些实施方式中,移动可以是横向(例如左右)移动,其方式是指示用户坐在转椅中。
[0062] 在一些实施方式中,跟踪第二电子设备在周围环境中的移动可包括在用户处于周围环境中时通过捕捉访问第一电子设备(例如HMD设备402)和第二电子设备(例如便携式电子设备404)的用户的图像来跟踪横向移动。
[0063] 在一些实施方式中,跟踪第二电子设备在周围环境中的移动包括分析存储在第二电子设备上的加速度计数据。例如,可以检测加速度计数据并将其用于确定访问设备402和404的用户是否坐在转椅中。
[0064] 在步骤506,处理500包括使用一个或多个传感器确定与周围环境中的移动相关联的运动范围。例如,可通信地与设备402或设备404耦合的任何数量的传感器可以跟踪移动,并且这种移动可包括随时间变化的特定运动范围。在一些实施方式中,传感器可以与第一电子设备相关联。在一些实施方式中,传感器可以与第二电子设备相关联。本文所述系统可以跟踪随时间变化的移动以确定运动范围。运动范围可用于确定用户的触及范围和虚拟对象放置。在一些实施方式中,可以使用在第二电子设备(例如便携式电子设备404)上执行的加速计来确定运动范围。
[0065] 在步骤508,处理500包括将和周围环境相关联的运动范围与和虚拟环境相关联的运动范围相联系和/或进行转化。例如,本文所述系统可以在访问第一电子设备时确定与第一电子设备以及第二电子设备相关联的用户是坐着还是站着。如果用户是坐着的,那么处理500可将用户在物理世界(即周围环境)中具有的可用运动范围与虚拟环境中的运动范围相联系,使得用户能够从就座位置触及虚拟内容。相联系可包括将运动范围从周围环境转化到虚拟环境。转化可包括计算用户在周围环境中可移动(或者在其中触及)的距离并将这些距离转化到虚拟环境中。本文所述系统可通过将环境之间的运动范围相联系并在这些范围内生成和提供这些内容和控件,在虚拟环境内提供所检测(或者所确定)位置内的虚拟内容和/或控件。在一些实施方式中,系统可以确定访问设备402和404的用户是否坐在转椅(例如,或者其他非固定椅子或装置)中并且可以提供在转椅(或者其他非固定椅子或装置)中在就座位置可以利用的内容和/或控件。
[0066] 在步骤510,处理500包括对于多个虚拟对象确定适应于与虚拟环境相关联的运动范围的虚拟配置。例如,如果系统确定用户坐在转椅中,那么可以提供特定的虚拟内容放置。具体而言,如果确定用户是处于转椅中,那么可将虚拟对象放在虚拟配置中,使得用户可以在所确定的可用运动范围内触及所有虚拟内容(和/或用户界面选择)。
[0067] 在一些实施方式中,确定适应于运动范围的虚拟配置包括:确定与第一电子设备以及第二电子设备相关联的用户的高度,以及基于用户的高度和运动范围来估计触及区域。可将触及区域用作在其中将虚拟对象放在虚拟环境中的区域。
[0068] 可通过用户在其中可以碰撞、触及、选择、或者以其他方式访问多个虚拟对象的虚拟环境内的位置来限定这种触及区域。在一些实施方式中,对于多个虚拟对象确定适应于运动范围的虚拟配置包括:检测第一电子设备的垂直偏移,并使用垂直偏移将多个对象放置在与访问第一电子设备的用户相邻的位置。例如,可将用户高度、HMD设备高度、控制器高度、手的位置、或者与用户和/或虚拟环境相关联的其他垂直距离用于将虚拟对象放置在虚拟环境(例如VR空间)中。
[0069] 在一些实施方式中,与访问VR空间的用户相关联的移动设备(例如设备404)可以基于检测到与用户以及移动设备相关联的加速计移动来确定用户的运动范围。可通过移动设备404来进行检测和分析,从而为用户适应性调整用户界面。在一些实施方式中,与VR空间相关联的另一个跟踪设备可以检测用户的运动界限范围或者没有界限,并且可以进行通信以修改用户的特定用户界面内容。
[0070] 在HMD设备中被修改用于向用户显示的用户界面的一个示例性适应性调整可包括:基于所确定的用户运动范围来适应性调整要在特定视角提供的虚拟内容和/或对象。在一些实施方式中,可以按照确保不要求用户移动着观看场景中所有可用内容的方式来提供用户界面。例如,如果VR空间中的移动设备、跟踪设备、或其他设备自动检测到用户坐在转椅中或者转椅落入用户的范围内,那么本文所述系统可以被自动配置为提供被调整为当用户坐在转椅上时供其观看的用户界面内容。
[0071] 在步骤512,处理500包括根据虚拟配置在第一电子设备的虚拟环境中触发任何数量虚拟对象的渲染(例如触发显示)。例如,HMD设备402可以根据虚拟配置触发任何虚拟对象向用户的渲染和显示。
[0072] 在一些实施方式中,本文所述系统可以确定行走用户的步长和/或速度,以在离开用户一个精确距离的地方提供虚拟对象或内容,使得用户在行走时或者在接近特定虚拟物体时可以在一个舒适的距离触及或显示对象或内容。在一些实施方式中,本文所述系统可以确定用户所访问的HMD设备的垂直位置,并且可以使用HMD设备的垂直位置来确定近似高度,并且可以基于所确定的近似高度来提供和/或触发虚拟对象或内容。具体而言,如果HMD设备的垂直位置是大约四英尺高,那么系统可以确定用户很可能是儿童或者很矮小的个体,并且可以根据垂直位置来调整内容、对象和控件。
[0073] 在一些实施方式中,本文所述系统可确定特定虚拟内容或对象应当适应于用户。例如,如果系统确定用户在重复相同的运动,但是在与控件、菜单或对象交互时不成功,那么系统可以确定,触及或交互的重复尝试似乎失败。作为响应,例如可以适应性调整控件、菜单或对象,以更好地满足用户的触及。
[0074] 在一些实施方式中,可以基于以上基于用户交互的任何和全部所述修改来记录数据。可将这些数据提供给其他应用,以向与数据相关联的用户提供VR空间符合人体工程学、方便和容易的使用。可将数据用于在若干应用中为用户生成体验,无需用户在每个应用中修改配置。
[0075] 在另一个示例中,如果检测到用户在以可能伤害用户的方式进行重复运动,那么本文所述系统可以使用跟踪和存储的数据,有意识地将控件、菜单和对象移动到新位置。类似地,可以适应性调整系统来评估用户姿势,并且系统可以监视自动放置的控件、菜单和对象,以促进正确姿势。
[0076] 在一些实施方式中,多个虚拟对象的至少其中一个是用户界面显示虚拟环境以及与虚拟环境相关联的选项的部分。此外,确定虚拟配置可包括适应性调整用户界面,以匹配与虚拟环境相关联的运动范围。
[0077] 在一些实施方式中,将和周围环境相关联的运动范围与和虚拟环境相关联的运动范围相联系可包括确定访问第一电子设备(或访问第二电子设备)的至少其中一个的用户的物理形态。
[0078] 在一些实施方式中,访问第一电子设备的用户的物理形态可包括虚拟环境内的检测位置、姿势、物理空间内的检测位置、检测高度、和/或涉及与用户相关联的臂展的触及距离的至少其中一个。
[0079] 在一些实施方式中,将和周围环境相关联的运动范围与和虚拟环境相关联的运动范围相联系可包括:确定访问第一电子设备的用户在访问第一电子设备时是否坐着,或者确定访问第一电子设备的用户在访问第一电子设备时是否站着。例如,相联系可包括将在周围环境中坐着的用户的运动范围转化为虚拟环境中的运动范围(与用户坐着时物理上可访问(三维)的空间相联系)。转化可包括计算用户在周围环境中可移动(或者在其中触及)的距离并将这些距离转化为虚拟环境,以变成物理上可访问的空间。本文所述系统可通过将环境之间的运动范围相联系并在位置内生成和提供这种内容和/或控件,在虚拟环境的空间内提供所检测(或者所确定)位置内的虚拟内容和/或控件。
[0080] 在一些实施方式中,对于多个虚拟对象确定适应于与虚拟环境相关联的运动范围的虚拟配置可包括确定与第一电子设备相关联的用户的物理形态,以及使用用户的物理形态以及与周围环境相关联的运动范围来估计触及区域。触及区域可以用作访问第一电子设备的用户的触及内并且其中将多个虚拟对象放置在虚拟环境中的区域。
[0081] 在一些实施方式中,对于多个虚拟对象确定适应于与虚拟环境相关联的运动范围的虚拟配置可包括确定访问第一电子设备的用户的高度,以及使用用户的高度以及与周围环境相关联的运动范围来估计触及区域。触及区域可以用作访问第一电子设备的用户的触及内并且其中将多个虚拟对象放置在虚拟环境中的区域。
[0082] 在一些实施方式中,对于多个虚拟对象确定适应于与虚拟环境相关联的运动范围的虚拟配置可包括检测第一电子设备的垂直偏移并使用垂直偏移在访问第一电子设备的用户的触及内放置多个对象。
[0083] 图6示出通用计算机设备600和通用移动计算机设备650的示例,它们可通过本文所述技术来使用。计算设备600包括处理器602、存储器604、存储设备606、高速接口608(连接到存储器604和高速扩展端口610)、以及低速接口612(连接到低速总线614和存储设备606)。组件602、604、606、608、610和612的每一个使用各种总线互连,并且可以安装在公共主板上或者视情况以其他方式安装。处理器602可以处理用于在计算设备600内执行的指令,包括存储在存储器604中或存储设备606上的指令,以在外部输入/输出设备(例如耦合到高速接口608的显示器616)上显示GUI的图形信息。在其他实施方式中,可以视情况连同多个存储器和多种类型的存储器一起使用多个处理器和/或多个总线。此外,可以连接多个计算设备600,每个设备提供必要操作的部分(例如作为服务器库、刀片服务器群组、或多处理器系统)。
[0084] 存储器604存储计算设备600内的信息。在一个实施方式中,存储器604是易失性存储器单元或多个单元。在另一个实施方式中,存储器604是非易失性存储器单元或多个单元。存储器604还可以是另一种形式的计算机可读介质,例如磁盘或光盘。
[0085] 存储设备606能够为计算设备600提供大容量存储。在一个实施方式中,存储设备606可以是计算机可读介质或包含计算机可读介质,例如软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其他类似的固态存储设备、或设备阵列,包括存储区域网络中的设备或其他配置。计算机程序产品可以有形地在信息载体中具体实施。计算机程序产品还可以包含指令,这些指令在执行时进行一个或多个方法,例如上述的那些方法。信息载体是计算机或机器可读介质,例如存储器604、存储设备606、或处理器602上的存储器。
[0086] 高速控制器608管理计算设备600的带宽密集型操作,而低速控制器612管理较低的带宽密集型操作。这种功能分配只是示例性的。在一个实施方式中,高速控制器608耦合到存储器604、显示器616(例如通过图形处理器或加速器)、以及耦合到高速扩展端口610,高速扩展端口610可以接受各种扩展卡(未示出)。在该实施方式中,低速控制器612耦合到存储设备606和低速扩展端口614。可包括各种通信端口(例如USB、蓝牙、以太网、无线以太网)的低速扩展端口可以耦合到一个或多个输入/输出设备,例如键盘、指示设备、扫描仪、或网络设备(例如交换机或路由器),例如通过网络适配器
[0087] 计算设备600可以按照多种不同的形式来实现,如图所示。例如,它可以实现为标准服务器620,或者在这种服务器的群组中实现多次。此外,它可以实现为机架服务器系统624的一部分。此外,它可以在个人计算机(例如膝上型计算机622)中实现。或者,可将来自计算设备600的组件与移动设备(例如设备650)中的其他组件(未示出)组合。这些设备的每一个可包含计算设备600、650的其中一个或多个,并且整个系统可以由相互通信的多个计算设备600、650组成。
[0088] 除了其他组件之外,计算设备650还包括处理器652、存储器664、输入/输出设备(例如显示器654)、通信接口666、以及收发器668。此外,设备650可以设置存储设备,例如微驱动器或其他设备,以提供附加的存储。组件650、652、664、654、666和668的每一个使用各种总线互连,并且若干组件可以安装在公共主板上或者视情况以其他方式安装。
[0089] 处理器652可以执行计算设备650内的指令,包括存储在存储器664中的指令。处理器可以实现为芯片的芯片集,其包括单独的多个模拟处理器和数字处理器。处理器例如可以提供设备650的其他组件的协调,例如用户界面的控制、设备650运行的应用、以及设备650的无线通信。
[0090] 处理器652可通过控制接口658以及耦合到显示器654的显示器接口656与用户通信。显示器654例如可以是TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器,或其他适当的显示技术。显示器接口656可包括用于驱动显示器654以向用户呈现图形和其他信息的适当电路。控制接口658可以从用户接收命令并将它们转换以提交给处理器652。此外,可以提供与处理器652通信的外部接口662,从而实现设备650与其他设备的近区域通信。外部接口662例如可以在一些实施方式中提供有线通信,或者在其他实施方式中提供无线通信,并且还可以使用多个接口。
[0091] 存储器664存储计算设备650内的信息。存储器664可以实现为计算机可读介质或媒体、易失性存储器单元或多个单元、或非易失性存储器单元或多个单元的其中一个或多个。此外,可以提供扩展存储器674并通过扩展接口672连接到设备650,扩展接口672例如可包括SIMM(单列直插存储器模块)卡接口。这种扩展存储器674可以为设备650提供额外的存储空间,或者还可以存储设备650的应用或其他信息。具体而言,扩展存储器674可包括执行或补充上述处理的指令,还可包括安全信息。因此,例如可以提供扩展存储器674作为设备650的安全模块,并且可通过允许安全使用设备650的指令来编程。此外,可经由SIMM卡连同附加信息一起来提供安全应用,例如以不可黑的方式在SIMM卡上放置识别信息。
[0092] 存储器例如可包括闪存和/或NVRAM存储器,如下所述。在一个实施方式中,计算机程序产品有形地在信息载体中具体实施。计算机程序产品包含的指令在执行时进行一种或多种方法,例如上述方法。信息载体是计算机或机器可读介质,例如存储器664、扩展存储器674、或处理器652上的存储器,它们例如可通过收发器668或外部接口662来接收。
[0093] 设备650可通过通信接口666无线地通信,通信接口666在必要时可包括数字信号处理电路。通信接口666可以提供各种模式或协议下的通信,例如GSM语音呼叫、SMS、EMS或MMS消息、CDMA、TDMA、PDC、WCDMA、CDMA2000、或GPRS等。这种通信例如可通过射频收发器668发生。此外,可以发生短程通信,例如使用蓝牙、Wi-Fi、或其他这样的收发器(未示出)。此外,GPS(全球定位系统)接收器模块670可以向设备650提供附加的导航和位置相关的无线数据,无线数据可由设备650上运行的应用视情况使用。
[0094] 此外,设备650可以使用音频编解码器660可听地通信,音频编解码器660可以从用户接收语音信息并将其转换为可用的数字信息。音频编解码器660同样可以为用户生成可听的声音,例如通过扬声器,例如在设备650的听筒中。这种声音可包括来自语音电话呼叫的声音,可包括记录的声音(例如语音消息、音乐文件等),还可包括设备650上操作的应用所生成的声音。
[0095] 计算设备650可以按照多种不同的形式来实现,如图所示。例如,它可以实现为蜂窝电话680。此外,它可以实现为智能电话682、个人数字助理、或其他类似移动设备的一部分。
[0096] 可以在数字电子电路、集成电路、专设计的ASIC(专用集成电路)、计算机硬件、固件、软件、和/或其组合中实现本文所述系统和技术的各种实施方式。这些各种实施方式可包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,可编程系统包括至少一个可编程处理器,可编程处理器可以是专用的,也可以是通用的,耦合到存储系统、至少一个输入设备、以及至少一个输出设备,从它们接收数据和指令,以及向它们传输数据和指令。
[0097] 这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可用高级过程和/或面向对象的编程语言来实现,和/或用汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”、“计算机可读介质”表示用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”表示用于向可编程处理器提供机器指令和/或数据的任何信号。
[0098] 为了提供与用户的交互,本文所述系统和技术可以在包括用于向用户显示信息的显示设备(例如CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以由其向计算机提供输入的键盘和指示设备(例如鼠标轨迹球)的计算机上实现。其他类型的设备也可用于提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感官反馈(例如视觉反馈、听觉反馈、或触觉反馈);并且可以按照任何形式接收来自用户的输入,包括声学、语音、或触觉输入。
[0099] 本文所述系统和技术可以在包括后端组件(例如作为数据服务器)或包括中间件组件(例如应用服务器)或包括前端组件(例如具有图形用户界面或Web浏览器的客户端计算机,用户可由其与本文所述系统和技术的实施方式交互)或包括这些后端、中间件、或前端组件的任何组合的计算系统中实现。系统的组件可通过数字数据通信(例如通信网络)的任何形式或介质互连。通信网络的示例包括局域网(LAN)、广域网(WAN)和互联网。
[0100] 计算系统可包括客户端和服务器。客户端和服务器通常相互远离,并经由通信网络来交互。客户端与服务器的关系由于在各自的计算机上运行并且相互具有客户端-服务器关系的计算机程序而生成。
[0101] 在一些实施方式中,图6所示的计算设备可包括与虚拟现实(VR机690)接口连接的传感器。例如,图6所示的计算设备650或其他计算设备包括的一个或多个传感器可以向VR耳机690提供输入或者一概而言向VR空间提供输入。传感器可包括但不限于触摸屏、加速计、陀螺仪、压力传感器生物识别传感器、温度传感器、湿度传感器和环境光传感器。计算设备650可以使用传感器来确定VR空间中计算设备的绝对位置和/或检测到的旋转,然后可将其用作VR空间的输入。例如,计算设备650可以作为虚拟对象合并到VR空间,例如控制器、激光指示器、键盘、武器等。当结合到VR空间时通过用户来定位计算设备/虚拟对象可以允许用户定位计算设备,以在VR空间中按照一定的方式观看虚拟对象。例如,如果虚拟对象表示激光指示器,那么用户可以操纵计算设备,就好像它就是实际的激光指示器。用户可以左右、上下、画圆圈移动计算设备等等,并按照与使用激光指示器类似的方式使用该设备。
[0102] 在一些实施方式中,可将包括在计算设备650上或连接到计算设备650的一个或多个输入设备用作VR空间的输入。输入设备可包括但不限于触摸屏、键盘、一个或多个按钮、触控板、触摸板指针设备、鼠标、轨迹球、操纵杆、相机、麦克风、耳机或具有输入功能的耳塞、游戏控制器、或其他可连接的输入设备。当计算设备合并到VR空间中时与包括在计算设备650上的输入设备交互的用户可以导致在VR空间中发生特定动作。
[0103] 在一些实施方式中,计算设备650的触摸屏可以渲染为VR空间中的触摸板。用户可以与计算设备650的触摸屏交互。例如在VR耳机690中,可将交互渲染为VR空间中渲染的触摸板上的移动。所渲染的移动可以控制VR空间中的对象。
[0104] 在一些实施方式中,包括在计算设备650上的一个或多个输出设备可以向VR空间中VR耳机690的用户提供输出和/或反馈。输出和反馈可以是视觉、触觉、或音频。输出和/或反馈可包括但不限于振动、打开和关闭、或者一个或多个灯或闪光灯的闪烁和/或闪动、发出警报、播放铃声、播放歌曲、以及播放音频文件。输出设备可包括但不限于振动达、振动线圈、压电设备、静电设备、发光二极管(LED)、闪光灯、以及扬声器。
[0105] 在一些实施方式中,计算设备650可以表现为计算机生成的3D环境中的另一个对象。用户与计算设备650的交互(例如旋转、摇动、对触摸屏进行触摸、将手指滑过触摸屏)可以解释为在VR空间中与对象的交互。在VR空间中的激光指示器的示例中,计算设备650在计算机生成的3D环境中表现为虚拟激光指示器。当用户操纵计算设备650时,VR空间中的用户看见激光指示器的移动。用户从计算设备650上或VR耳机690上的VR空间中与计算设备650的交互接收反馈。
[0106] 在一些实施方式中,除了计算设备之外的一个或多个输入设备(例如鼠标、键盘)可以在计算机生成的3D环境中渲染。在VR空间中渲染时,所渲染的输入设备(例如渲染的鼠标、渲染的键盘)可以用于控制VR空间中的对象。
[0107] 计算设备600是要表示各种形式的数字计算机,例如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机、以及其他适当的计算机。计算设备650是要表示各种形式的移动设备,例如个人数字助理、蜂窝电话、智能电话、以及其他类似的计算设备。本文所示的组件、它们的连接和关系、以及它们的功能仅仅是示例性的,并非要限制本文献所述和/或要求保护的发明的实施方式。
[0108] 已经描述了很多实施例。但是应当理解,在不脱离本说明书精神和范围的情况下,可以进行各种修改。
[0109] 此外,附图所示的逻辑流程并不要求所示的特定顺序或连续顺序来实现期望的结果。此外,可以向所述流程提供其他步骤或者从所述流程消除步骤,并且可以向所述系统增加其他组件或者从所述系统删除组件。因此,其他实施例也落入所附权利要求的范围。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈