[0001]技术领域
[0002]本公开总体涉及用于由电子设备使用跟踪设备来跟踪输入设备的移动的系统、方法和设备。
[0003]背景技术
[0004]视觉对象跟踪是计算机视觉技术中的基本任务。例如,可通过从物理环境的图像估计三维(3D)位置数据来跟踪输入设备(例如,笔、棒、手持设备等)以确定输入设备的移动(例如,用户在虚拟书写应用程序中移动笔)。然而,如果输入设备从电子设备的视图被遮挡(例如,被阻挡),那么系统可能无法正常操作。因此,可能期望以考虑设备被遮挡或以其它方式不可见的情况的方式使用计算机视觉来准确地跟踪设备。
[0005]发明内容
[0006]本文中所公开的一些具体实施提供用于使用电子设备(例如,HMD)的图像数据(例如,光学跟踪)来使用跟踪设备识别和跟踪输入设备(例如,笔)的系统和方法。例如,跟踪设备可以是安置在桌面上并且在跟踪过程期间相对静止的第三电子设备(例如,对接站或扩展坞(dock/docking station)。跟踪设备可以使用磁或光跟踪来跟踪非静止输入设备(例如,笔)的位置,该非静止输入设备的移动向电子设备(例如,非静止HMD)提供输入。例如,HMD基于(例如,使用图像数据)确定HMD与跟踪设备发射器之间的相对定位并且基于由跟踪设备获得的位置数据将信息与跟踪设备与输入设备之间的相对定位组合而基于跟踪输入设备的移动来识别输入。HMD可使用图像/深度数据来识别输入设备和跟踪设备两者以(a)改进准确性,以及(b)使得系统能够在其它设备中的一个设备在其传感器数据中被遮挡时继续跟踪输入设备。
[0007]总体上,本说明书中所描述的主题的一个创新方面可体现于在包括处理器的电子设备处的方法中,该方法包括以下动作:基于来自图像传感器的第一传感器数据确定跟踪设备在物理环境中的姿态;从跟踪设备接收与物理环境中跟踪设备与输入设备之间的第一相对定位对应的第一位置数据,其中第一位置数据是基于经由跟踪设备上的传感器获得的第二传感器数据确定的;至少部分地基于第一位置数据和跟踪设备的姿态来跟踪输入设备在物理环境中的移动;以及至少部分地基于跟踪输入设备的移动来确定用于电子设备的输入。
[0008]这些实施方案和其他实施方案均可任选地包括以下特征中的一个或多个特征。
[0009]在一些方面中,第一位置数据表示输入设备相对于跟踪设备的六自由度姿态,并且其中跟踪设备上的传感器包括磁跟踪器。在一些方面中,跟踪设备的姿态表示物理环境中的六自由度姿态,并且其中图像传感器位于电子设备上或跟踪设备上。
[0010]在一些方面中,确定跟踪设备的姿态包括:确定电子设备在物理环境中的姿态;至少部分地基于第一传感器数据获得与物理环境中电子设备与跟踪设备之间的第二相对定位对应的第二位置数据;以及至少部分地基于电子设备的姿态和第二位置数据确定跟踪设备的姿态。
[0011]在一些方面中,接收第一位置数据包括接收与物理环境中跟踪设备与输入设备之间的经更新的第一相对定位对应的经更新的第一位置数据,并且其中跟踪输入设备的移动至少部分地基于经更新的第一位置数据和跟踪设备的姿态。在一些方面中,跟踪设备在跟踪期间是静止的并且电子设备在跟踪期间是非静止的。
[0012]在一些方面中,跟踪输入设备的移动包括:在跟踪设备在经由电子设备的传感器获得的第三传感器数据中可见并且输入设备在第三传感器数据中不可见的第一时间段期间,基于在第三传感器数据中识别跟踪设备来跟踪输入设备的移动;以及在跟踪设备在第三传感器数据中不可见并且输入设备在第三传感器数据中可见的第二时间段期间,基于在第三传感器数据中识别输入设备来跟踪输入设备的移动。
[0013]在一些方面中,该方法进一步包括检测跟踪设备的姿态的改变,以及根据检测到姿态的改变,基于来自图像传感器的第四传感器数据确定跟踪设备在物理环境中的经更新的姿态。
[0014]在一些方面中,跟踪设备包括加速度计或惯性测量单元(IMU),并且其中检测跟踪设备的姿态的改变包括基于来自加速度计或IMU的传感器数据从跟踪设备接收跟踪设备已移动的指示。在一些方面,输入设备包括触笔或可穿戴设备。
[0015]在一些方面中,该方法进一步包括定义工作空间,其中工作空间对应于物理环境内的空间的二维(2D)面积或三维(3D)体积。在一些方面,至少部分地基于所确定的输入来定义工作空间。在一些方面中,2D面积或3D体积是相对于跟踪设备的姿态预定义的。
[0016]在一些方面中,跟踪设备被定位在平坦表面上,并且其中至少部分地基于平坦表面的开放部分来定义工作空间。在一些方面中,跟踪设备包括用于输入设备的对接站,并且其中响应于输入设备从对接站被移除来执行定义工作空间。
[0017]在一些方面中,跟踪设备包括用于输入设备的盒,并且其中响应于盒被打开来执行定义工作空间。
[0018]在一些方面中,跟踪设备包括柔性垫,并且其中响应于垫被展开来执行定义工作空间。在一些方面,垫包括触摸传感器,并且其中该方法还包括基于来自触摸传感器的传感器数据确定用于电子设备的第二输入。
[0019]在一些方面,该方法还包括提供扩展现实(XR)环境,该XR环境基于工作空间来呈现内容或实现输入。在一些方面,电子设备是头戴式设备(HMD)。
[0020]根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使得执行本文所述的方法中的任一种方法的指令。根据一些具体实施,一种非暂态计算机可读存储介质中存储有指令,这些指令当由设备的一个或多个处理器执行时,使得该设备执行或使得执行本文所述的方法中的任一种方法。根据一些具体实施,一种设备包括:一个或多个处理器、非暂态存储器以及用于执行或使执行本文所述方法中的任一种的装置。
[0021]附图说明
[0022]因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。
[0023]图1是根据一些具体实施的在物理环境内使用的电子设备、输入设备和跟踪设备的示例。
[0024]图2A和图2B示出了根据一些具体实施的由图1的电子设备跟踪的输入设备的示例。
[0025]图3A和图3B示出了根据一些具体实施的由图1的电子设备进行重新定位的示例。
[0026]图4A示出了根据一些具体实施的由图1的电子设备对移动后的跟踪设备进行重新定位的示例。
[0027]图4B示出了根据一些具体实施的由图1的跟踪设备确定的示例性工作空间。
[0028]图5是根据一些具体实施的基于经由跟踪设备跟踪输入设备的移动来确定用于电子设备的输入的示例性方法的流程图表示。
[0029]图6是根据一些具体实施的电子设备的示例。
[0030]图7示出了根据一些具体实施的示例性头戴式设备(HMD)。
[0031]根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的系统、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。
[0032]具体实施方式
[0033]本文提供了许多具体细节,以使得本领域的技术人员能够透彻理解所要求保护的主题。然而,可以在没有这些细节的情况下实践所要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、装置或系统,以便不使所要求保护的主题晦涩难懂。
[0034]图1示出了根据一些具体实施的示例性操作环境100。在该示例中,示例性操作环境100示出了涉及包括物理对象(例如,家具),诸如桌子140和椅子142的示例性物理环境105。物理环境105包括握持设备120诸如智能电话或平板电脑的用户102,并且用户102正握持输入设备122(例如,书写用具诸如笔、棒等)。另外,物理环境105包括位于桌子140的表面上的跟踪设备124。
[0035]在一些具体实施中,设备120可为可穿戴设备,诸如近眼设备。在一些具体实施中,设备120是手持式电子设备(例如,智能电话或平板电脑)。设备120利用一个或多个显示元件来呈现视图。例如,设备120可显示包括扩展现实(XR)环境的上下文中的内容的视图。在一些具体实施中,设备120可以包围用户102的视场。在一些具体实施中,设备120的功能由多于一个设备提供。在一些具体实施中,设备120与单独的控制器或服务器通信以管理和协调用户的体验。这样的控制器或服务器可以位于物理环境105中或者可以相对于该物理环境是远程的。
[0036]在一些具体实施中,设备120显示的内容可以是视觉3D环境(例如,扩展现实(XR)环境),并且3D环境的视觉特性可连续地改变。惯性头部姿态测量可由惯性测量单元(IMU)或其他跟踪系统获得。在一个示例中,用户可在握持、穿戴或接近电子设备时感知真实世界环境,该电子设备包括一个或多个传感器,该一个或多个传感器获得生理数据以评估指示用户的注视特性的眼睛特性以及用户的运动数据。
[0037]在一些具体实施中,视觉特性被显示为特定于3D环境视图(例如,在查看期间呈现的视觉提示或音频提示)的用户的反馈机制。在一些具体实施中,查看3D环境可占据显示器的整个显示区域。例如,显示的内容可以是一系列图像,该一系列图像可以包括呈现给用户的视觉和/或音频内容(例如,HMD上的360度视频)。
[0038]在一些具体实施中,设备120包括用于获取物理环境的图像数据(例如,当用户102查看该环境时)的传感器。图像数据可包括光强度图像数据和/或深度数据。例如,传感器可以是用于捕获RGB数据的摄像机,并且传感器可以是用于捕获深度数据的深度传感器(例如,结构光、飞行时间等)。图像传感器可包括获取针对左眼视点的物理环境的光强度数据的第一光强度相机和获取针对右眼视点的物理环境的光强度数据的第二光强度相机。另外,图像传感器可包括获取针对左眼视点的物理环境的深度图像数据的第一深度相机和获取针对右眼视点的物理环境的深度图像数据的第二深度相机。另选地,使用一个深度传感器获取针对左眼视点和右眼视点的深度图像数据两者。因此,深度数据是等效的。另选地,深度数据可基于光强度图像数据来确定,因此不需要深度传感器。
[0039]在一些具体实施中,设备120具有图形用户界面(GUI)、一个或多个处理器、存储器以及存储在存储器中的用于执行多个功能的一个或多个模块、程序或指令集。在一些具体实施中,用户102与GUI交互。在一些具体实施中,这些功能包括图像编辑、绘图、呈现、文字处理、网页创建、盘编辑、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时消息通信、健身支持、数字摄影、数字视频录制、网页浏览、数字音乐播放和/或数字视频播放。用于执行这些功能的可执行指令可被包括在被配置用于由一个或多个处理器执行的计算机可读存储介质或其他计算机程序产品中。
[0040]输入设备122是用作输入机构的一种类型的非静止对象的示例,该输入机构可被用来操纵对象(例如,工作空间内的虚拟对象)和/或与该对象交互,这些对象作为在设备120的显示器上呈现给用户102的XR环境的一部分。输入设备122可以是笔、棒、手指穿戴设备等。输入设备122的移动可以由设备120(例如,经由一个或多个图像传感器)光学地跟踪。然而,如果输入设备122被遮挡,或者如果设备120的图像传感器的视图不包括输入设备122,则输入设备122的功能可能被阻碍(例如,延迟问题),或者可能无法工作,因此另一设备诸如跟踪设备124可以附加地或另选地用于跟踪输入设备122的移动。
[0041]跟踪设备124(也被称为扩展坞或对接站)是相对静止的设备(例如,在使用期间被插入并搁置在桌子140上),该设备包括发射器并且与设备120进行电子通信。在一些具体实施中,跟踪设备124经由磁传感器磁性地跟踪一个或多个输入附件,诸如输入设备122。跟踪设备124对输入设备122在移动期间的位置进行跟踪,并且可以提供输入设备在物理环境105内的位置(例如,3D坐标)。在一些具体实施中,跟踪设备124的磁传感器可以包括可以对跟踪设备124与输入设备122之间的偏移距离进行跟踪的单个线圈。在一些具体实施中,跟踪设备124的磁传感器可以包括能够以六个自由度(6DoF)跟踪输入设备122的三个线圈。
[0042]在一些具体实施中,跟踪设备124包括向设备120提供数据以确定跟踪设备124是否已移动的加速度计。附加地或另选地,设备120可(例如,基于所获取的图像数据)确定跟踪设备124已光学地移动。如果存在遮挡(例如,对象阻挡了跟踪设备124的视图),则跟踪设备124与设备120之间的电子通信可被用来读取加速度计数据。跟踪设备124与设备120之间经由跟踪设备124上的发射器进行电子通信可以是不会被遮挡对象中断的任何类型的无线通信协议(例如,WiFi、蓝牙、Zigbee、GPS数据等)。
[0043]在一些具体实施中,跟踪设备124包括用于进行桌面感测以校准2D或3D空间中的“工作表面”的传感器。如本文所使用的,工作表面是指由设备120和/或跟踪设备124所指定的工作区域,其中用户可以在XR环境内交互(例如,用户可以使用书写应用程序来虚拟地绘图/书写)。桌面感测传感器可包括用于检测表面交互的IMU。一般来讲,IMU是通过对由IMU的一个或多个传感器产生的信号进行取样而提供惯性数据的计算设备。所述一个或多个传感器可包括:用于测量沿一至三个轴的速度变化的一至三轴加速度计、用于测量约一至三个轴的角速度的一至三轴陀螺仪、用于测量相对于一至三个轴的磁场的信息的一至三轴磁力计、用于测量大气压的气压传感器等。
[0044]在一些具体实施中,跟踪设备124可包括干扰传感器,诸如能以更高精度跟踪输入设备122的红外(IR)传感器(例如,IR激光器)。例如,可能需要更高的精度来更准确地跟踪用户在工作表面上的书写。在一些具体实施中,跟踪设备124可包括用于对设备120、输入设备122或两者进行跟踪的基于光强度的相机和/或深度相机。
[0045]在一些具体实施中,跟踪设备124包括被配置为接收至少一个输入的输入设备,该至少一个输入由与跟踪设备124的交互的特性限定。在一些具体实施中,跟踪设备124是(或包括)可以卷起/展开的柔性垫(例如,在行进时占据较少的空间,诸如飞机托盘)。例如,跟踪设备124可以是基于电容的柔性垫(或衬垫),该柔性垫可以包括功能按钮、滑动条等。作为柔性垫的跟踪设备124然后可以通过展开而被“启用”,使得设备120检测到跟踪设备124被展开。在一些具体实施中,跟踪设备124(作为柔性垫或任何其它构造)可检测用户何时触摸跟踪设备124的表面以感测用户使用输入设备122或通过用户的触摸进行书写。例如,如果跟踪设备124是柔性触摸板,则与输入设备的交互的特性可包括对象(例如,输入设备122)保持与触摸板接触的持续时间、对象接触触摸板时该对象的取向、对象与触摸板之间发生接触的触摸板的区域、当对象保持与触摸板接触时与对象相关联的任何移动或加速度信息等。
[0046]在一些具体实施中,跟踪设备124包括用于输入设备122的对接站,并且可以响应于输入设备122从对接站被移除或放回到对接站中来执行动作(例如,用于发起需要工作空间的应用程序的过程,诸如书写)。例如,跟踪设备124包括用于保持棒的装置或孔(例如,“对接站”),当输入设备122(例如,笔)连接到该装置或放置在孔内时,跟踪设备124检测到输入设备122“对接”并且可以任选地对输入设备122充电。因此,当输入设备122移动并且与装置断开连接或者被移出孔时,跟踪设备124检测到输入设备122“未对接”并且然后执行本文描述的过程以定义工作空间。
[0047]图2A和图2B示出了根据一些具体实施的由图1的电子设备120提供的被跟踪的输入设备122的示例。图2A的示例性环境200A示出了输入设备122和跟踪设备124位于设备120的视图212内的一个用例。图2B的示例性环境200B示出了输入设备122和跟踪设备124均不位于设备120的视图212内(例如,用户在穿戴HMD时将他或她的头部转离)的一个用例。当输入设备122、跟踪设备124或两者位于设备120的视图212内(环境200A)时,设备120可通过光学地估计一个或两个设备相对于电子设备120的姿态来将其坐标系与跟踪设备124和输入设备122的坐标系配准。从跟踪设备124接收的跟踪数据224表示位置数据222(例如,跟踪设备124与输入设备122之间磁性地确定的位置和取向偏移),然后该数据可单独使用或与电子设备120的光学跟踪组合使用以对输入设备122或跟踪设备124进行跟踪。例如,电子设备120可光学地确定跟踪设备124在其坐标系中的姿态。由于已知跟踪设备124是静止的,因此电子设备120可通过将跟踪设备124与输入设备122之间的位置和取向偏移(例如,如由跟踪数据224定义)应用于跟踪设备124的光学确定的姿态来跟踪输入设备122。使用跟踪数据224有利地允许设备120以由位置数据222提供的改善的精度来跟踪输入设备122(例如,磁跟踪),而不需要在设备120内包括磁传感器。附加地,跟踪数据224允许设备120在输入设备122和跟踪设备124不位于设备120的视图212内(环境200B)时跟踪它们的姿态,而设备120单独使用光学跟踪无法做到这一点。
[0048]图3A和图3B示出了根据一些具体实施的由图1的电子设备120进行重新定位的示例。例如,系统可以指示用户重新定位输入设备122、跟踪设备124或两者,因为这些设备中的一个或多个设备已经移动并且定位需要被更新/重新校准。定位指令集可分析图像数据、姿态数据等和/或物理环境信息的其他源(例如,来自相机的SLAM系统、视觉惯性里程计(VIO)系统等的相机定位信息)以跟踪设备位置信息。具体地,图3A的示例性环境300A示出了一个用例,其中当跟踪设备124位于设备120的视图212内但输入设备122不位于视图内时,电子设备120通过(例如,使用图像数据)光学地估计跟踪设备124相对于电子设备120的姿态来将其坐标系与输入设备122和跟踪设备124的坐标系重新定位。设备120可随后将由跟踪设备124获取并经由跟踪数据224提供的位置数据222所表示的位置和取向偏移应用于跟踪设备124的光学确定的姿态以确定输入设备122的姿态。图3B的示例性环境300B示出了一个用例,其中输入设备122位于设备120的视图212内,但是跟踪设备124不位于视图内,并且系统通过(例如,使用图像数据)光学地估计输入设备122相对于电子设备120的姿态来将其坐标系与输入设备122和跟踪设备124的坐标系重新定位。设备120可随后将由跟踪设备124所获取并经由跟踪数据224提供的位置数据222所表示的位置和取向偏移应用于输入设备122的光学确定的姿态以确定跟踪设备124的姿态。
[0049]图4A示出了根据一些具体实施的图1的电子设备120对移动后的跟踪设备124进行重新定位的示例。在一些具体实施中,跟踪设备124包括加速度计或IMU,该加速度计或IMU向设备120提供数据412a以确定跟踪设备124是否已移动。例如,在第一时间段期间,在已用设备120和输入设备122定位跟踪设备124a之后,跟踪设备124a在第二时间段内从第一位置移动到第二位置跟踪设备124b(例如,用户将跟踪设备移动到更远离工作空间区域的位置)。跟踪设备124b的移动由设备120经由数据412b(例如,来自加速度计、IMU等的经更新的数据)来确定。另选地,设备120可(例如,基于所获取的图像数据)确定跟踪设备124已光学地移动。然而,如果存在遮挡(例如,对象阻挡了跟踪设备124a/124b的视图),则跟踪设备124与设备120之间的电子通信将被用来读取加速度计数据。跟踪设备124与设备120之间经由跟踪设备124上的发射器进行的电子通信412a和412b可以是不会被遮挡对象中断的任何类型的无线通信协议(例如,WiFi、蓝牙、Zigbee、GPS数据等)。
[0050]图4B示出了根据一些具体实施的由图1的跟踪设备确定的示例性工作空间。在一些具体实施中,过程包括定义与物理环境内的空间的二维(2D)面积或3D体积对应的工作空间(例如,工作空间区域430)。在一些具体实施中,2D面积或3D体积是相对于跟踪设备的姿态预定义的。在一些具体实施中,跟踪设备124被定位在平坦表面(例如,桌子140)上,并且至少部分地基于平坦表面的开放部分来定义工作空间(例如,工作空间区域430)。例如,如图4B所示,在2D坐标系中在桌子140的边缘处定义工作空间区域430。附加地,还可以定义3D工作空间(未示出)的高度。另选地,工作空间可以是桌子140的表面上的较小的预定义区域。例如,设备120上的应用程序可以根据该应用程序设置标准工作空间区域。例如,对于书写/绘图应用程序,工作空间区域430可以被定义为2x2英尺的正方形,用户可以在设备120的显示器上虚拟地看到该正方形,使得当用户使用输入设备122开始使用书写运动时,用户可以看到标记。
[0051]在一些具体实施中,定义工作空间至少部分地基于来自输入设备122的所确定的输入。例如,用户可以在桌子上拖动输入设备122以定义工作空间(例如,工作空间区域430),诸如在桌子140上绘制形状以定义工作空间。
[0052]在一些具体实施中,跟踪设备包括用于输入设备的对接站,并且响应于输入设备从对接站被移除而执行定义工作空间。例如,跟踪设备124包括用于保持棒的装置或孔(例如,“对接站”),当输入设备122(例如,笔)连接到该装置或放置在孔内时,跟踪设备124检测到输入设备122已“对接”。因此,当输入设备122移动并且与装置断开连接或者被移出孔时,跟踪设备124检测到输入设备122“未对接”并且然后执行本文描述的过程以定义工作空间。
[0053]图5是根据一些具体实施的基于经由跟踪设备对输入设备的移动进行跟踪来确定电子设备的输入的示例性方法500的流程图表示。在一些具体实施中,方法500由设备(例如,图1的设备120)执行,诸如移动设备、台式计算机、膝上型计算机或服务器设备。在一些具体实施中,设备具有用于显示图像的屏幕和/或用于查看立体图像的屏幕,诸如HMD。在一些具体实施中,方法500由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法500由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。方法500的对输入设备的移动进行跟踪的过程通过参照图1至图4的示例来示出。
[0054]在框502处,方法500在具有处理器的电子设备处基于来自图像传感器的第一传感器数据确定跟踪设备在物理环境中的姿态。例如,电子设备可使用来自面向外的图像传感器的图像数据和/或深度数据来识别跟踪设备的相对位置。
[0055]在一些具体实施中,跟踪设备可被设计(例如,被成形或纹理化为具有不同外观)为易于使用计算机视觉来检测。另选地,在一些具体实施中,跟踪设备可包括传感器,该传感器获得用以确定电子设备的相对位置的数据。
[0056]在一些具体实施中,确定跟踪设备的姿态包括确定电子设备在物理环境中的姿态,至少部分地基于第一传感器数据来获得与物理环境中电子设备与跟踪设备之间的第二相对定位对应的第二位置数据,以及至少部分地基于电子设备的姿态和第二位置数据来确定跟踪设备的姿态。
[0057]在框504处,方法500从跟踪设备接收与物理环境中跟踪设备与输入设备(例如,笔/棒)之间的第一相对定位对应的第一位置数据。跟踪设备124可经由发射器接收数据。可基于经由跟踪设备上的传感器获得的第二传感器数据来确定第一位置数据。例如,跟踪设备124可以使用磁跟踪来跟踪输入设备122。附加地或另选地,跟踪设备124可使用光学跟踪来使用一个或多个相机(例如,基于光强度的相机和/或深度相机)跟踪输入设备122。
[0058]在一些具体实施中,输入设备是触笔或另一类型的书写用具(例如,笔/棒)。在一些具体实施中,输入设备是可穿戴设备。例如,输入设备122可以是像手套那样戴在或附接在用户102上的手持设备或手指穿戴设备。
[0059]在一些具体实施中,第一位置数据表示输入设备相对于跟踪设备的6DoF姿态,并且跟踪设备上的传感器是磁跟踪器(例如,三个磁线圈)。在一些具体实施中,跟踪设备的姿态表示物理环境中的6DoF姿态,并且图像传感器位于电子设备上或跟踪设备上。例如,设备120包括用于光学跟踪输入设备122的前置相机。另选地,跟踪设备124包括同样可以光学跟踪输入设备122的相机。
[0060]在一些具体实施中,接收第一位置数据包括接收与物理环境中跟踪设备与输入设备之间的经更新的第一相对定位对应的经更新的第一位置数据,并且其中跟踪输入设备的移动至少部分地基于经更新的第一位置数据和跟踪设备的姿态。例如,第一位置数据可包括跟踪设备124与输入设备122之间的偏移,使得当输入设备122移动到不同位置时,位置数据(例如,偏移信息)被更新。
[0061]在框506处,方法500至少部分地基于第一位置数据和跟踪设备的姿态来跟踪输入设备(例如,笔)在物理环境中的移动。例如,当用户移动输入设备122以用于绘图应用程序时,设备120使用来自跟踪设备124的位置数据(例如,磁跟踪)来跟踪该移动。
[0062]在框508处,方法500至少部分地基于跟踪输入设备的移动来确定用于电子设备的输入。例如,当用户移动输入设备122以用于绘图应用程序时,设备120基于使用来自跟踪设备124的位置数据(例如,磁跟踪)所跟踪的移动来确定用户使用输入设备的预期输入(例如,用户正在绘制什么)。
[0063]在一些具体实施中,跟踪设备(跟踪设备124)是静止的和/或定位在平坦表面上,诸如桌子(例如,桌子140)。在一些具体实施中,跟踪设备(跟踪设备124)在跟踪期间是静止的,并且电子设备(例如,设备120)在跟踪期间是非静止的。例如,用户102移动到桌子140的工作空间区域周围的不同位置,因此,由于用户正穿戴着设备120(例如,HMD),所以设备120的位置移动了。
[0064]在一些具体实施中,跟踪输入设备的移动包括在跟踪设备在经由电子设备的传感器获得的第三传感器数据中可见并且输入设备在第三传感器数据中不可见的第一时间段期间,基于在第三传感器数据中识别跟踪设备来跟踪输入设备的移动,并且在跟踪设备在第三传感器数据中不可见并且输入设备在第三传感器数据中可见的第二时间段期间,基于在第三传感器数据中识别输入设备来跟踪输入设备的移动。例如,如图3A中所示,在第一时刻期间,跟踪设备124(例如,扩展坞)位于HMD(例如,设备120)的视图内,并且输入设备122不位于视图内,因此输入设备122由设备120基于从跟踪设备124接收到的偏移数据来跟踪。接着,如图3B中所示,在第二时刻期间,跟踪设备124(例如,扩展坞)不位于HMD(例如,设备120)的视图内,并且输入设备122位于视图内,因此输入设备122由设备120基于跟踪设备124的先前已知位置和从跟踪设备124接收到的偏移数据、来自设备120上的图像传感器(例如,经由光学跟踪)的图像数据或两者来跟踪。
[0065]在一些具体实施中,方法500进一步检测跟踪设备的姿态的改变,且根据检测到姿态的改变,基于来自图像传感器的第四传感器数据确定跟踪设备在物理环境中的经更新的姿态。例如,如图4A中所示,如果跟踪设备124移动到新位置,那么该移动可由设备120经由图像传感器检测到,以便光学地跟踪来自图像传感器的第四传感器数据。例如,如图4A中所示,如果跟踪设备124被设备120。在一些具体实施中,响应于检测到跟踪设备的姿态的改变,可向用户呈现用跟踪设备重新定位电子设备的通知。例如,可呈现视觉或听觉通知,该视觉或听觉通知指示用户定位电子设备使得跟踪设备位于图像传感器的视场内。
[0066]在一些具体实施中,跟踪设备124包括加速度计或IMU,并且检测跟踪设备的姿态的改变包括基于来自加速度计或IMU的传感器数据从跟踪设备接收该跟踪设备已移动的指示。例如,如果在图4A中,跟踪设备124从设备120的图像传感器的视图被遮挡,并且跟踪设备124已移动,那么内部传感器(例如,IMU、加速度计等)可经由发射器向设备120指示此移动。
[0067]在一些具体实施中,方法500还包括定义工作空间,其中工作空间对应于物理环境内的空间的2D面积或3D体积。在一些具体实施中,2D面积或3D体积是相对于跟踪设备的姿态预定义的。在一些具体实施中,跟踪设备124被定位在平坦表面(例如,桌子140)上,并且至少部分地基于平坦表面的开放部分来定义工作空间(例如,工作空间区域430)。例如,如图4B所示,在2D坐标系中在桌子140的边缘处定义工作空间区域430。附加地,还可以定义3D工作空间(未示出)的高度。另选地,工作空间可以是桌子140的表面上的较小的预定义区域。例如,设备120上的应用程序可以根据该应用程序设置标准工作空间区域。例如,对于书写/绘图应用程序,工作空间区域430可以被定义为2x2英尺的正方形,用户可以在设备120的显示器上虚拟地看到该正方形,使得当用户使用输入设备122开始使用书写运动时,用户可以看到标记。
[0068]在一些具体实施中,定义工作空间至少部分地基于来自输入设备122的所确定的输入。例如,用户可以在桌子上拖动输入设备122以定义工作空间(例如,工作空间区域430),诸如在桌子140上绘制形状以定义工作空间。
[0069]在一些具体实施中,跟踪设备包括用于输入设备的对接站,并且响应于输入设备从对接站被移除而执行定义工作空间。例如,跟踪设备124包括用于保持棒的装置或孔(例如,“对接站”),当输入设备122(例如,笔)连接到该装置或放置在孔内时,跟踪设备124检测到输入设备122已“对接”。因此,当输入设备122移动并且与装置断开连接或者被移出孔时,跟踪设备124检测到输入设备122“未对接”并且然后执行本文描述的过程以定义工作空间。
[0070]在一些具体实施中,跟踪设备包括用于输入设备的盒,并且响应于盒被打开来执行定义工作空间。例如,输入设备122(例如,笔)包括装载盒(例如,笔筒),当输入设备122被移出盒时,设备120和/或跟踪设备124检测到输入设备122的盒被打开,并且然后执行本文描述的过程以定义工作空间。
[0071]在一些具体实施中,跟踪设备是柔性垫,并且响应于垫被展开来执行定义工作空间。例如,跟踪设备124可以是基于电容的柔性的几乎平坦的垫(或衬垫),该垫可以包括功能按钮、滑动条等。作为柔性垫的跟踪设备124然后可以通过展开而被“启用”,使得设备120检测到跟踪设备124被展开,然后执行本文描述的过程以定义工作空间。在一些具体实施中,柔性垫包括触摸传感器,并且方法500还包括基于来自触摸传感器的传感器数据确定用于电子设备的第二输入。例如,作为柔性垫的跟踪设备124可以检测用户何时触摸该垫,以感测用户用输入设备122或通过用户的触摸来书写。
[0072]在一些具体实施中,方法500还包括在设备的显示器上提供XR环境。在一些具体实施中,XR环境包括内容(例如,虚拟内容)和/或实现基于工作空间的输入。例如,应用程序可允许用户通过用输入设备122(诸如虚拟3D打印笔)绘制对象来在工作空间区域430内创建2D或3D虚拟对象。
[0073]虽然上文描述为由跟踪设备124发射,但位置数据可代替地由输入设备122发射到电子设备120。附加地,跟踪设备124可代替地使用光学跟踪来跟踪输入设备122、电子设备120或两者,并且电子设备120可代替地使用磁跟踪来跟踪输入设备122或跟踪设备124。在这些具体实施中,电子设备120可通过将一个设备的磁性地确定的姿态与输入设备122与跟踪设备124之间的光学确定的位置和取向偏移组合来确定输入设备122或跟踪设备124的姿态。
[0074]图6是示例性设备600的框图。设备600示出了图1的设备120的示例性设备配置。另外,设备600示出了跟踪设备124的示例性设备配置,但是在示例性具体实施中跟踪设备124可能不使用一些部件(例如,显示器)。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,设备600包括一个或多个处理单元602(例如,微处理器、ASIC、FPGA、GPU、CPU、处理核心等)、一个或多个输入/输出(I/O)设备和传感器606、一个或多个通信接口608(例如,USB、FIREWIRE、THUNDERBOLT、IEEE802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、IR、BLUETOOTH、ZIGBEE、SPI、I2C和/或相似类型的接口)、一个或多个编程(例如,I/O)接口610、一个或多个显示器612、一个或多个面向内部和/或面向外部的图像传感器系统614、存储器620以及用于互连这些部件和各种其他部件的一条或多条通信总线604。
[0075]在一些具体实施中,一条或多条通信总线604包括互连和控制系统部件之间的通信的电路。在一些具体实施中,该一个或多个I/O设备及传感器606包括以下各项中的至少一者:惯性测量单元(IMU)、加速度计、磁力计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血氧传感器、血糖传感器等)、一个或多个麦克风、一个或多个扬声器、触觉引擎或者一个或多个深度传感器(例如,结构光、飞行时间等),等等。
[0076]在一些具体实施中,一个或多个显示器612被配置为向用户呈现物理环境或图形环境的视图。在一些具体实施中,一个或多个显示器612对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射器显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电系统(MEMS)和/或类似显示器类型。在一些具体实施中,一个或多个显示器612对应于衍射、反射、偏振、全息等波导显示器。在一个示例中,设备600包括单个显示器。又如,设备600包括针对用户的每只眼睛的显示器。
[0077]在一些具体实施中,该一个或多个图像传感器系统614被配置为获得对应于物理环境105的至少一部分的图像数据。例如,该一个或多个图像传感器系统614包括一个或多个RGB相机(例如,具有互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器)、单色相机、IR相机、深度相机、基于事件的相机等。在各种具体实施中,一个或多个图像传感器系统614还包括发射光的照明源,诸如闪光灯。在各种具体实施中,该一个或多个图像传感器系统614还包括相机上图像信号处理器(ISP),该ISP被配置为对图像数据执行多个处理操作。
[0078]在一些具体实施中,设备600包括用于检测眼睛位置和眼睛移动(例如,眼睛凝视检测)的眼睛跟踪系统。例如,眼睛跟踪系统可包括一个或多个红外(IR)发光二极管(LED)、眼睛跟踪相机(例如,近红外(NIR)相机)和向用户的眼睛发射光(例如,NIR光)的照明源(例如,NIR光源)。此外,设备600的照明源可发射NIR光以照明用户的眼睛,并且NIR相机可捕获用户的眼睛的图像。在一些具体实施中,可分析由眼睛跟踪系统捕获的图像以检测用户的眼睛的位置和移动,或检测关于眼睛的其他信息诸如瞳孔扩张或瞳孔直径。此外,从眼睛跟踪图像估计的凝视点可使得能够与设备600的近眼显示器上示出的内容进行基于凝视的交互。
[0079]存储器620包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些具体实施中,存储器620包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器620任选地包括与一个或多个处理单元602远程定位的一个或多个存储设备。存储器620包括非暂态计算机可读存储介质。
[0080]在一些具体实施中,存储器620或存储器620的非暂态计算机可读存储介质存储任选的操作系统630和一个或多个指令集640。操作系统630包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些具体实施中,指令集640包括由以电荷形式存储的二进制信息定义的可执行软件。在一些具体实施中,指令集640是能够由一个或多个处理单元602执行以实施本文所述技术中的一种或多种的软件。
[0081]指令集640包括设备跟踪和定位指令集642。指令集640可以体现为单个软件可执行文件或多个软件可执行文件。
[0082]在一些具体实施中,设备跟踪和定位指令集642可由处理单元602执行以获得传感器数据(例如,光强度图像数据、深度数据等)以及使用本文所公开的技术中的一个或多个技术来跟踪移动设备(例如,输入设备122)在3D坐标系统中的位置。例如,设备跟踪和定位指令集642分析图像数据、姿态数据等和/或物理环境信息的其他源(例如,来自相机的SLAM系统、视觉惯性里程计(VIO)系统等的相机定位信息)以跟踪设备位置信息。
[0083]尽管指令集640被示出为驻留在单个设备上,但应当理解,在其他具体实施中,元件的任何组合可位于单独的计算设备中。此外,图6更多地用作存在于特定具体实施中的各种特征部的功能描述,该各种特征部与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。指令集的实际数量以及如何在其中分配特征将根据具体实施而变化,并且可以部分地取决于为特定具体实施选择的硬件、软件和/或固件的特定组合。
[0084]图7示出了根据一些具体实施的示例性头戴式设备700的框图。头戴式设备700包括容纳头戴式设备700的各种部件的外壳701(或封装件)。外壳701包括(或耦接到)设置在外壳701的近侧(用户102)端部处的眼垫(未示出)。在各种具体实施中,眼垫是塑料或橡胶件,其舒适且贴合地将头戴式设备700保持在用户102的面部上的适当位置(例如,围绕用户102的眼睛)。
[0085]外壳701容纳显示器710,该显示器显示图像、朝向用户102的眼睛发射光或将光发射到该用户的眼睛上。在各种具体实施中,显示器710通过具有一个或多个光学元件705的目镜发射光,该光学元件折射由显示器710发射的光,使显示器对用户25而言看起来处于比从眼睛到显示器710的实际距离更远的虚拟距离。例如,光学元件705可包括一个或多个透镜、波导、其他衍射光学元件(DOE)等。为了用户25能够聚焦在显示器710上,在各种具体实施中,虚拟距离至少大于眼睛的最小焦距(例如,6cm)。此外,为了提供更好的用户体验,在各种具体实施中,虚拟距离大于1米。
[0086]外壳701还容纳跟踪系统,该跟踪系统包括一个或多个光源722、相机724、相机730、相机732、相机734、相机735和控制器780。一个或多个光源722将光发射到用户102的眼睛上,其反射为可由相机724检测的光图案(例如,闪光圈)。基于该光图案,控制器780可确定用户102的眼睛跟踪特性。例如,控制器780可确定用户102的注视方向和/或眨眼状态(睁眼或闭眼)。又如,控制器780可确定瞳孔中心、瞳孔大小或关注点。因此,在各种具体实施中,光由一个或多个光源722发射,从用户102的眼睛反射,并且由相机724检测。在各种具体实施中,来自用户102的眼睛的光在到达相机724之前从热镜反射或通过目镜。
[0087]显示器710发射第一波长范围内的光,并且一个或多个光源722发射第二波长范围内的光。类似地,相机724检测第二波长范围内的光。在各种具体实施中,第一波长范围是可见波长范围(例如,可见光谱内大约为400nm-700nm的波长范围),并且第二波长范围是近红外波长范围(例如,近红外光谱内约为700nm-1400nm的波长范围)。
[0088]在各种具体实施中,眼睛跟踪(或者具体地,确定的注视方向)用于使用户能够进行交互(例如,用户102通过注视显示器710上的选项来选择它),提供注视点渲染(例如,在用户102正注视的显示器710的区域中呈现更高的分辨率并且在显示器710上的其他地方呈现更低的分辨率),或者(例如,对于要在显示器710上提供的图像)校正失真。
[0089]在各种具体实施中,一个或多个光源722朝向用户102的眼睛发射光,该光以多个闪光的形式反射。
[0090]在各种具体实施中,相机724是基于帧/快门的相机,其以帧速率在特定时间点或多个时间点生成用户102的眼睛的图像。每个图像包括对应于图像的像素的像素值的矩阵,所述像素对应于相机的光传感器矩阵的位置。在具体实施中,每个图像用于通过测量与用户瞳孔中的一者或两者相关联的像素强度的变化来测量或跟踪瞳孔扩张。
[0091]在各种具体实施中,相机724是包括在多个相应位置处的多个光传感器(例如,光传感器矩阵)的事件相机,该事件相机响应于特定光传感器检测到光强度变化而生成指示特定光传感器的特定位置的事件消息。
[0092]在各种具体实施中,头戴式设备700包括用于从头戴式设备700内部(或朝向用户102的面部)捕获信息的面向内部的传感器(例如,相机732和相机734),并且可以生成用户102的面部的图像。例如,相机732捕获眼睛下方的用户面部的图像,并且相机734捕获眼睛上方的用户面部的图像。相机732和相机734所捕获的图像可包括光强度图像(例如,RGB)和/或深度图像数据(例如,飞行时间、红外等)。
[0093]在各种具体实施中,头戴式设备700包括用于从头戴式设备700外部捕获信息的面向外部的传感器(例如,相机730和相机735)。例如,以捕获用户102正在查看的物理环境的图像数据。图像数据可包括光强度图像数据和/或深度数据。例如,相机730可以是用于捕获RGB数据的摄像机,并且相机735可以是用于捕获深度数据的深度传感器(例如,结构光、飞行时间等)。
[0094]人们可在不使用电子设备的情况下感测物理环境或世界或者与物理环境或世界交互。物理特征诸如物理对象或表面可包括在物理环境内。例如,物理环境可对应于具有物理建筑物、道路和车辆的物理城市。人们可通过各种手段诸如嗅觉、视觉、味觉、听觉和触觉直接感知物理环境或与物理环境交互。这可与扩展现实(XR)环境相反,该XR环境可以是指人们可使用电子设备感测或交互的部分或完全模拟的环境。XR环境可包括虚拟现实(VR)内容、混合现实(MR)内容、增强现实(AR)内容等。使用XR系统,可跟踪人的物理运动或其表示的一部分,并且作为响应,可以符合至少一个自然定律的方式改变XR环境中的虚拟对象的属性。例如,XR系统可检测用户的头部移动,并且以模拟声音和视图将如何在物理环境中改变的方式调整呈现给用户的听觉和图形内容。在其他示例中,XR系统可检测呈现XR环境的电子设备(例如,膝上型计算机、平板电脑、移动电话等)的移动。因此,XR系统可以模拟声音和视图将如何在物理环境中改变的方式来调整呈现给用户的听觉和图形内容。在一些实例中,其他输入诸如身体运动的表示(例如,语音命令)可使XR系统调整图形内容的属性。
[0095]众多类型的电子系统可允许用户感测XR环境或与XR环境交互。不完全示例列表包括放置在用户的眼睛上的具有集成显示能力的镜片(例如,隐形眼镜)、抬头显示器(HUD)、基于投影的系统、可头戴式系统、具有集成显示技术的窗户或挡风玻璃、头戴式耳机/听筒、具有或不具有触觉反馈的输入系统(例如,手持式或可穿戴控制器)、智能电话、平板电脑、台式/膝上型计算机和扬声器阵列。头戴式系统可包括不透明显示器和一个或多个扬声器。其他头戴式系统可被配置为接收不透明外部显示器,诸如,智能电话的不透明外部显示器。头戴式系统可使用一个或多个图像传感器来捕获物理环境的图像/视频,或者使用一个或多个麦克风来捕获物理环境的音频。一些头戴式系统可包括透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可通过介质诸如全息介质、光学波导、光学组合器、光学反射器、其他类似技术或它们的组合将表示图像的光引导到用户的眼睛。可使用各种显示技术,诸如硅上液晶、LED、uLED、OLED、激光扫描光源、数字光投影或它们的组合。在一些示例中,透明或半透明显示器可被选择性地控制而变得不透明。基于投影的系统可利用将图像投影到用户的视网膜上的视网膜投影技术,或者可将虚拟内容投影到物理环境中,诸如投影到物理表面上或者作为全息图。
[0096]本领域的那些普通技术人员将意识到没有详尽地描述众所周知的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。此外,其他有效方面和/或变体不包括本文所述的所有具体细节。因此,描述了若干细节以便提供对附图中所示的示例性方面的透彻理解。此外,附图仅示出了本公开的一些示例性实施方案,因此不应被视为限制。
[0097]虽然本说明书包含许多具体实施细节,但是这些具体实施细节不应被理解为是对任何发明或可能要求保护的内容的范围的限制,而应被理解为对特定于特定发明的特定实施方案的特征的描述。本说明书中在不同实施方案的上下文中描述的某些特征也可以在单个实施方案中组合地实现。相反地,在单个实施方案的上下文中描述的各种特征也可单独地或者以任何合适的子组合的形式在多个实施方案中实现。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求保护,但是要求保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求保护的组合可涉及子组合或子组合的变型。
[0098]类似地,虽然操作在附图中以特定次序示出,但不应将此理解为要求以相继次序或所示的特定次序来执行此类操作,或者要求执行所有所示的操作以实现期望的结果。在某些情况中,多任务和并行处理可能是有利的。此外,上述实施方案中各个系统部件的划分不应被理解为在所有实施方式中都要求此类划分,并且应当理解,所述程序部件和系统可一般性地一起整合在单个软件产品中或者封装到多个软件产品中。
[0099]因此,已经描述了主题的特定实施方案。其他实施方案也在以下权利要求书的范围内。在某些情况下,权利要求书中所述的动作能够以不同的次序执行,并且仍能实现期望的结果。此外,附图中所示的过程未必要求所示的特定次序或者先后次序来实现期望的结果。在某些具体实施中,多任务和并行处理可能是有利的。
[0100]本说明书中描述的主题和操作的实施方案可在数字电子电路中或在计算机软件、固件或硬件中(包括本说明书中公开的结构及其结构等同物)或在它们中的一者或多者的组合中实现。本说明书中所述主题的实施方案可被实现为一个或多个计算机程序,即在计算机存储介质上编码的计算机程序指令的一个或多个模块,以用于由数据处理装置执行或控制数据处理装置的操作。另选地或除此之外,该程序指令可在人工生成的传播信号上被编码,例如机器生成的电信号、光信号或电磁信号,该电信号、光信号或电磁信号被生成以对信息进行编码以便传输到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备,或者它们中的一者或多者的组合,或者包括在计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备中。此外,虽然计算机存储介质并非传播信号,但计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也可以是一个或多个单独的物理部件或介质(例如,多个CD、磁盘或其他存储设备),或者包括在一个或多个单独的物理部件或介质中。
[0101]术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机、片上系统、或前述各项中的多项或组合。该装置可包括专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。除了硬件之外,该装置还可包括为所考虑的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行环境、虚拟机或它们中的一者或多者的组合的代码。该装置和执行环境可实现各种不同的计算模型基础结构,诸如web服务、分布式计算和网格计算基础结构。除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“标识”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。
[0102]本文论述的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机系统,其访问存储的软件,该软件将计算系统从通用计算装置编程或配置为实现本发明主题的一种或多种具体实施的专用计算装置。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。
[0103]本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合和/或分成子块。某些框或过程可以并行执行。本说明书中描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
[0104]本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。
[0105]还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元件与另一元件区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。
[0106]本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件,和/或其分组。
[0107]如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。