CN117321543A - 减少增强现实体验的启动时间 - Google Patents
减少增强现实体验的启动时间 Download PDFInfo
- Publication number
- CN117321543A CN117321543A CN202280034488.2A CN202280034488A CN117321543A CN 117321543 A CN117321543 A CN 117321543A CN 202280034488 A CN202280034488 A CN 202280034488A CN 117321543 A CN117321543 A CN 117321543A
- Authority
- CN
- China
- Prior art keywords
- sensors
- augmented reality
- tracking data
- data
- tracking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000003190 augmentative effect Effects 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000004044 response Effects 0.000 claims abstract description 20
- 230000015654 memory Effects 0.000 claims description 46
- 230000003213 activating effect Effects 0.000 claims description 12
- 238000005259 measurement Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 description 34
- 238000012986 modification Methods 0.000 description 34
- 230000003287 optical effect Effects 0.000 description 33
- 238000004891 communication Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 23
- 230000009466 transformation Effects 0.000 description 18
- 230000000007 visual effect Effects 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000033001 locomotion Effects 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000003384 imaging method Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 6
- 210000000887 face Anatomy 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 230000001815 facial effect Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000000844 transformation Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 210000003128 head Anatomy 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000010079 rubber tapping Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000036760 body temperature Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000005693 optoelectronics Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 150000003071 polychlorinated biphenyls Chemical class 0.000 description 2
- 230000004266 retinal recognition Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 241000278713 Theora Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000356 contaminant Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003331 infrared imaging Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
- G01C21/1656—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0179—Display position adjusting means not related to the information to be displayed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B2027/0178—Eyeglass type
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Human Computer Interaction (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
描述了用于改进六自由度跟踪系统的启动时间的方法。增强现实系统接收设备初始化请求,并且响应于设备初始化请求而激活第一传感器集合。增强现实系统从第一传感器集合接收第一跟踪数据。增强现实系统接收增强现实体验请求,并且响应于增强现实请求,使得基于第一跟踪数据显示增强现实内容项集合,并且同时激活第二传感器集合。增强现实系统从所激活的第二传感器集合接收第二跟踪数据。增强现实系统基于第二跟踪数据来更新增强现实内容项集合的显示。
Description
优先权要求
本申请要求于2021年5月14日提交的美国临时专利申请序列第63/188,600号的优先权,该美国临时专利申请通过引用整体并入本文。
技术领域
本文公开的主题总体上涉及视觉跟踪系统。具体地,本公开内容涉及用于减少视觉跟踪系统的启动时间的系统和方法。
背景技术
增强现实(AR)使得用户能够观察场景,同时看到可以与AR设备的视场中的项目、图像、对象或环境对准的相关虚拟内容。AR设备包括可能需要大量功耗的6DOF(sixdegrees of freedom)(六自由度)跟踪系统。为了节省电力,AR设备可以被设置为睡眠模式并且响应于用户请求开始AR体验而被唤醒。然而,从睡眠模式到活动模式的时间可能导致一些时间延迟。
附图说明
在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述类似的部件。为了容易地标识对任何特定元素或动作的讨论,附图标记中的一个或多个最高位数字是指该元素被首次引入的图号。一些非限制性示例在附图的图中示出,在附图中:
图1是示出根据一个示例实施方式的用于操作AR/VR显示设备的环境的框图。
图2是示出根据一个示例实施方式的AR/VR显示设备的框图。
图3示出了根据一个示例实施方式的头戴式装置300。
图4是示出根据一个示例实施方式的低功率跟踪系统的框图。
图5是示出根据一个示例实施方式的高功率跟踪系统的框图。
图6示出了根据一个示例实施方式的用于改进用于增强现实的跟踪系统的感知启动时间的方法。
图7是示出根据示例实施方式的可以在其中实现本公开内容的软件架构的框图。
图8是根据一个示例实施方式的计算机系统形式的机器的图解表示,在该机器内,可以执行指令集合以使机器执行本文讨论的方法中的任何一种或更多种方法。
图9示出了根据一个示例实施方式的可以在其中实现头戴式装置300的系统。
图10示出了根据一个实施方式的本主题的增强现实体验的启动操作。
具体实施方式
下面的描述描述了示出本主题的示例实施方式的系统、方法、技术、指令序列和计算机程序产品。在下面的描述中,出于说明的目的,阐述了许多具体细节以提供对本主题的各种实施方式的理解。然而,对于本领域技术人员而言将明显的是,可以在没有这些特定细节中的一些或其他细节的情况下实践本主题的实施方式。示例仅代表了可能的变化。除非另有明确说明,否则结构(例如,结构部件,诸如模块)是可选的,并且可以被组合或细分,并且操作(例如,在过程、算法或其他功能中)可以在顺序上变化或者被组合或细分。
术语“增强现实”(AR)在本文中用于指真实世界环境的交互体验,其中驻留在真实世界中的物理对象被计算机生成的数字内容(还被称为虚拟内容或合成内容)“增强”或加强。AR还可以指实现真实世界和虚拟世界的结合、实时交互以及虚拟对象和真实对象的3D注册的系统。AR系统的用户感知看起来与真实世界的物理对象附接或交互的虚拟内容。
术语“虚拟现实”(VR)在本文中用于指与真实世界环境完全不同的虚拟世界环境的模拟体验。计算机生成的数字内容显示在虚拟世界环境中。VR还指使得VR系统的用户能够完全沉浸在虚拟世界环境中并且与虚拟世界环境中呈现的虚拟对象进行交互的系统。
术语“AR应用”在本文中用于指实现AR体验的计算机操作的应用。术语“VR应用”在本文中用于指实现VR体验的计算机操作的应用。术语“AR/VR应用”是指实现AR体验或VR体验的组合的计算机操作的应用。
术语“视觉跟踪系统”在本文中用于指使得系统能够跟踪在由视觉跟踪系统的一个或更多个摄像装置所捕获的图像中识别的视觉特征的计算机操作的应用或系统。视觉跟踪系统基于所跟踪的视觉特征来建立真实世界环境的模型。视觉跟踪系统的非限制性示例包括:视觉同步定位和映射系统(VSLAM)以及视觉惯性里程计(VIO)系统。VSLAM可以用于基于视觉跟踪系统的一个或更多个摄像装置从环境或场景建立目标。VIO(还被称为视觉惯性跟踪系统和视觉里程计系统)基于从设备的多个传感器(例如,光学传感器、惯性传感器)获取的数据来确定设备的最新姿势(例如,定位和取向)。
术语“惯性测量单元”(IMU)在本文中用于指可以报告包括移动物体的加速度、速度、取向和定位的移动物体的惯性状态的设备。IMU使得能够通过对由IMU测量的加速度和角速度进行整合来跟踪物体的运动。IMU还可以指可以分别对线性加速度和角速度进行确定和量化的加速度计和陀螺仪的组合。可以处理从IMU陀螺仪获得的值以获得IMU的俯仰、滚转和航向,并且从而获得与IMU相关联的物体的俯仰、滚转和航向。还可以处理来自IMU的加速度计的信号以获得IMU的速度和位移。
AR和VR应用两者都允许用户访问信息,例如以在AR/VR显示设备(还被称为显示设备)的显示器中呈现的虚拟内容的形式。虚拟内容的呈现可以基于显示设备相对于物理对象或相对于参照系(在显示设备外部)的定位,使得虚拟内容正确地出现在显示器中。对于AR,虚拟内容看起来与用户和AR显示设备的摄像装置感知到的物理对象对准。虚拟内容看起来附属于物理世界(例如,感兴趣的物理对象)。
在物理世界内显示并对准虚拟内容需要大量的设备计算能力。在一些示例中,AR显示设备检测物理对象并跟踪AR显示设备相对于物理对象的定位的姿势。姿势对显示设备相对于参照系或相对于另一对象的定位和取向进行标识。对于VR,虚拟对象出现在基于VR显示设备的姿势的位置处。因此,基于设备的最新姿势来刷新虚拟内容。
为了改进针对显示设备的用户的用户体验,显示设备使用低功率跟踪系统结合高功率跟踪系统来确定显示设备的最新姿势。
本申请描述了用于改进用于增强现实的六自由度(6DOF)跟踪系统的感知启动时间的增强现实系统。增强现实系统包括两部分:高功耗6DOF跟踪系统和低功耗3DOF跟踪系统。3DOF跟踪系统用于掩盖6DOF跟踪系统初始化并开始提供姿势数据所需的时间量,使得用户可以享受完整的增强现实体验。
在一个示例中,增强现实系统连续运行低功率3DOF跟踪系统。一旦显示设备的用户启动了需要6DOF跟踪系统的用户体验,增强现实系统就结合3DOF跟踪系统启动6DOF跟踪系统。6DOF跟踪系统在其能够向增强现实系统提供姿势数据之前,需要不可忽略量的时间来激活其传感器并从其传感器接收数据。3DOF跟踪系统因此掩盖了6DOF跟踪系统的传感器启动所花费的时间。
3DOF跟踪系统使得增强现实系统能够跟踪旋转运动。例如,3DOF跟踪系统可以跟踪显示设备的用户是向左看还是向右看、向上还是向下旋转其头部以及向左还是向右枢转。增强现实系统不能使用3DOF跟踪系统来确定用户是否通过在物理世界中移动而在场景中四处移动。
3DOF跟踪系统使用来自显示设备例如惯性测量单元(IMU)传感器的传感器数据。例如,3DOF跟踪系统使用来自传感器例如加速度计、陀螺仪和磁力计的传感器数据。
6DOF跟踪系统使得增强现实系统能够跟踪旋转运动和平移运动。例如,6DOF跟踪系统可以跟踪用户是否已经旋转了其头部以及是向前还是向后移动、横向还是竖直移动以及向上还是向下移动。
6DOF跟踪系统可以是依赖于从多个传感器(例如,深度摄像装置、惯性传感器)获取的数据的视觉里程计系统。6DOF跟踪系统分析来自传感器的数据以准确地确定显示设备的姿势。
因此,本文中描述的方法中的一种或更多种方法通过在操作6DOF跟踪系统之前操作3DOF跟踪系统来有助于解决改进由AR/VR设备所使用的6DOF跟踪系统的启动时间的技术问题。当前描述的方法通过在AR/VR设备处于空闲状态的情况下(例如,在用户不享受需要6DOF跟踪的体验的情况下)降低该设备的功耗来改进对计算机功能的操作。
图1是示出根据一些示例实施方式的适于操作AR/VR显示设备108的环境100的网络图。环境100包括用户104、AR/VR显示设备108和物理对象106。用户104操作AR/VR显示设备108。用户104可以是人类用户(例如,人类)、机器用户(例如,由软件程序配置成与AR/VR显示器设备108交互的计算机)或其任何合适的组合(例如,由机器辅助的人类或由人类监督的机器)。用户104与AR/VR显示设备108相关联。
AR/VR显示设备108可以是具有显示器的计算设备,例如智能电话、平板电脑或可穿戴计算设备(例如,手表或眼镜)。计算设备可以是手持的,或者可以可移除地安装到用户104的头部。在一个示例中,显示器包括显示用AR/VR显示设备108的摄像装置捕获的图像的屏幕。在另一示例中,设备的显示器可以是透明的,例如在可穿戴计算眼镜的镜片中。在其他示例中,显示器可以是不透明的、部分透明的、部分不透明的。在其他示例中,显示器可以由用户104佩戴以覆盖用户104的视场。
AR/VR显示设备108包括基于用AR/VR显示器设备108的摄像装置检测到的图像来生成虚拟内容的增强现实系统114。例如,用户104可以指引AR/VR显示设备108的摄像装置捕获物理对象106的图像。增强现实系统114生成与图像中识别的对象(例如,物理对象106)对应的虚拟内容,并且在AR/VR显示设备108的显示器中呈现该虚拟内容。在另一示例中,增强现实系统114生成虚拟内容,并且相对于参照系(在显示设备外部)在AR/VR显示设备108的显示器中呈现虚拟内容,使得虚拟内容正确地出现在显示器中。
增强现实系统114包括低功率跟踪系统112和高功率跟踪系统110。低功率跟踪系统112使用IMU传感器(例如,加速度计、陀螺仪和磁力计)来跟踪AR/VR显示设备108相对于真实世界环境102的姿势(例如,定位和取向),而不使用来自光学传感器212的数据(例如,换言之,光学传感器212在低功率跟踪系统112的低功率模式下不工作)。
高功率跟踪系统110使用例如光学传感器(例如,启用深度的3D摄像装置、图像摄像装置)、惯性传感器(例如,陀螺仪、加速度计)、无线传感器(蓝牙、Wi-Fi)、GPS传感器和音频传感器来跟踪AR/VR显示设备108相对于真实世界环境102的姿势。在一个示例中,AR/VR显示设备108基于AR/VR显示器设备108相对于真实世界环境102和/或物理对象106的姿势来显示虚拟内容
图1中所示的机器、数据库或设备中的任何都可以在如下通用计算机中实现,该通用计算机被软件修改(例如,配置或编程)为专用计算机以执行本文中针对该机器、数据库、或设备描述的功能中的一个或更多个功能。如本文所使用的,“数据库”是数据存储资源,并且可以存储被结构化为文本文件、表格、电子表格、关系数据库(例如,对象-关系数据库)、三元组存储、分层数据存储或其任何合适组合的数据。此外,图1中所示的机器、数据库或设备中的任何两个或更多个可以组合成单个机器,并且本文中针对任何单个机器、数据库、或设备所描述的功能可以在多个机器、数据库或设备之间细分。
AR/VR显示设备108可以通过计算机网络操作。计算机网络可以是使得能够在机器、数据库和设备之间或之中进行通信的任何网络。因此,计算机网络可以是有线网络、无线网络(例如,移动或蜂窝网络)或其任何合适的组合。计算机网络可以包括构成专用网络、公共网络(例如,因特网)或其任何合适组合的一个或更多个部分。
图2是示出根据一些示例实施方式的AR/VR显示设备108的模块(例如,部件)的框图。AR/VR显示设备108包括传感器202、显示器204、处理器208和存储设备206。AR/VR显示器设备108的示例包括可穿戴计算设备、移动计算设备、导航设备、便携式媒体设备或智能电话。
传感器202包括例如光学传感器212(例如,诸如彩色摄像装置、热感摄像装置、深度传感器和一个或多个灰度、全局/滚动快门跟踪摄像装置的摄像装置)和惯性传感器214(例如,陀螺仪、加速度计)。传感器202的其他示例包括接近传感器或位置传感器(例如,近场通信、GPS、蓝牙、Wi-Fi)、音频传感器(例如,麦克风)或其任何合适的组合。应注意,本文中描述的传感器202是出于说明的目的,并且因此传感器202不限于上面描述的传感器。
显示器204包括被配置成由显示处理器208生成的图像的屏幕或监视器。在一个示例实施方式中,显示器204可以是透明的或半透明的,使得用户104可以透过显示器204观看(在AR用例中)。在另一示例实施方式中,显示器204覆盖用户104的眼睛并遮挡用户104的整个视场(在VR用例中)。在另一示例中,显示器204包括被配置成经由触摸屏显示器上的接触来接收用户输入的触摸屏显示器。
处理器208包括AR/VR应用210、低功率跟踪系统112和高功率跟踪系统110。AR/VR应用210使用计算机视觉来检测和识别物理环境或物理对象106。AR/VR应用210基于所识别的物理对象106或物理环境来检索虚拟内容(例如,3D对象模型)。AR/VR应用210在显示器204中呈现虚拟对象。在一个示例实施方式中,AR/VR应用210包括本地渲染引擎,该本地渲染引擎生成覆盖(例如,叠加在其上或以其他方式与其协同显示)在由光学传感器212捕获的物理对象106的图像上的虚拟内容的可视化。可以通过调整物理对象106相对于光学传感器212的位置(例如,其物理位置、取向或两者)来操纵虚拟内容的可视化。类似地,可以通过调整AR/VR显示设备108相对于物理对象106的姿势来操纵虚拟内容的可视化。对于VR应用,AR/VR应用210在基于AR/VR显示设备108的姿势确定的位置(在显示器204中)处在显示器204中显示虚拟内容。
低功率跟踪系统112使用来自IMU传感器(例如,惯性传感器214)的传感器数据来捕获AR/VR显示设备108的旋转运动数据。在AR/VR应用210操作的情况下,低功率跟踪系统112可以被称为在线。在AR/VR应用210停止操作的情况下,低功率跟踪系统112可以被称为离线。
高功率跟踪系统110捕获AR/VR显示设备108的旋转运动数据和平移运动数据。例如,高功率跟踪系统110使用来自光学传感器212和惯性传感器214的图像数据和对应的惯性数据来跟踪AR/VR显示设备108相对于参照系(例如,真实世界环境102)的位置和姿势。
在一个示例实施方式中,低功率跟踪系统112和高功率跟踪系统110中的至少一个独立于AR/VR应用210并且与AR/VR应用210异步地操作。例如,低功率跟踪系统112和高功率跟踪系统110离线操作,而不接收来自AR/VR应用210的任何跟踪请求。在另一示例中,不管AR/VR应用210是否在AR/VR显示设备108处运行,低功率跟踪系统112和高功率跟踪系统110中的至少一个周期性地(例如,每n秒、每m分钟)操作。
在一个示例实施方式中,替代连续运行高功率跟踪系统110或者替代在AR/VR应用210请求的情况下仅运行高功率跟踪系统110,在AR/VR显示设备108通电时,低功率跟踪系统112开始运行。低功率跟踪系统112运行,直到用户请求启动AR/VR应用210。一旦启动AR/VR应用210,低功率跟踪系统112和高功率跟踪系统110就同时运行。
存储设备206存储虚拟内容216。虚拟内容216包括例如视觉参考(例如,物理对象的图像)和对应体验(例如,三维虚拟对象模型)的数据库。
可以存储在存储设备206内的其他增强数据包括增强现实内容项(例如,对应于应用透镜或增强现实体验)。增强现实内容项可以是可以被添加至图像或视频的实时特殊效果和声音。
如上所述,增强数据包括增强现实内容项、叠加、图像变换、AR图像以及指代可以应用于图像数据(例如,视频或图像)的修改的类似术语。这包括实时修改,实时修改在使用AR/VR显示设备108的设备传感器(例如,一个或多个摄像装置)捕获图像时对图像进行修改并且随后在AR/VR显示器设备108的屏幕上显示具有修改的图像。这还包括对存储的内容(例如,图库中可以被修改的视频片段)的修改。例如,在访问多个增强现实内容项的AR/VR显示设备108中,用户可以将单个视频片段与多个增强真实内容项一起使用来查看不同的增强现实内容项将如何修改所存储的片段。例如,通过针对同一内容选择不同的增强现实内容项,可以将应用不同伪随机运动模型的多个增强现实内容项应用于该同一内容。类似地,可以将实时视频捕获与示出的修改一起使用,以示出AR/VR显示设备108的传感器当前正捕获的视频图像将如何修改所捕获的数据。这样的数据可以仅显示在屏幕上而不存储在存储器中,或者由设备传感器捕获的内容可以在进行或不进行修改(或两者)的情况下被记录并存储在存储器中。在一些系统中,预览功能可以同时显示不同的增强现实内容项将在显示器的不同窗口中看起来如何。例如,这可以使得能够同时在显示器上查看具有不同伪随机动画的多个窗口。
因此,使用增强现实内容项的数据和各种系统或使用该数据来修改内容的其他这样的变换系统可以涉及:在视频帧中检测对象(例如,面部、手、身体、猫、狗、表面、对象等),在这些对象离开视场、进入视场以及在视场四处移动时跟踪这样的对象,以及在跟踪这样的对象时对其进行修改或变换。在各种示例中,可以使用用于实现这种变换的不同方法。一些示例可以涉及:生成一个或多个对象的三维网格模型,以及在视频内使用模型的变换和动画纹理来实现变换。在其他示例中,可以使用对对象上的点的跟踪来将图像或纹理(其可以是二维或三维的)放置在跟踪的位置处。在另外的示例中,可以使用视频帧的神经网络分析来将图像、模型或纹理放置在内容(例如,图像或视频帧)中。因此,增强现实内容项既涉及用于在内容中创建变换的图像、模型和纹理,又涉及利用对象检测、跟踪和放置实现这样的变换所需的附加建模和分析信息。
可以利用保存在任何种类的计算机化系统的存储器中的任何种类的视频数据(例如,视频流、视频文件等)来执行实时视频处理。例如,用户可以加载视频文件并将其保存在设备的存储器中,或者可以使用设备的传感器生成视频流。另外,可以使用计算机动画模型来处理任何对象,例如人的面部和人体的各部位、动物或非生物(例如椅子、汽车或其他对象)。
在一些示例中,在连同要变换的内容一起选择特定修改的情况下,由计算设备标识要变换的元素,并且然后如果要变换的元素存在于视频的帧中,则检测和跟踪要变换的元素。根据修改请求来修改对象的元素,因此变换视频流的帧。对于不同种类的变换,可以通过不同的方法来执行视频流的帧的变换。例如,对于主要涉及改变对象的元素的形式的帧的变换,计算对象的每个元素的特征点(例如,使用主动形状模型(ASM)或其他已知方法)。然后,针对对象的至少一个元素中的每个元素生成基于特征点的网格。该网格被用于在视频流中跟踪对象的元素的后续阶段。在跟踪过程中,所提及的针对每个元素的网格与每个元素的位置对准。然后,在网格上生成附加点。基于修改请求针对每个元素生成第一点的第一集合,并且基于第一点的集合和修改请求针对每个元素生成第二点的集合。然后,可以通过基于第一点的集合、第二点的集合和网格修改对象的元素来对视频流的帧进行变换。在这样的方法中,也可以通过跟踪和修改背景来使修改的对象的背景改变或发生扭曲。
在一些示例中,使用对象的元素来改变对象的某些区域的变换可以通过计算对象的每个元素的特征点并基于所计算的特征点生成网格来执行。在网格上生成点,并且然后生成基于这些点的各种区域。然后,通过将每个元素的区域与至少一个元素中的每个元素的位置对准来跟踪对象的元素,并且可以基于修改请求来修改区域的属性,因此对视频流的帧进行变换。取决于具体的修改请求,可以以不同的方式来变换所提及的区域的属性。这样的修改可以涉及:改变区域的颜色;从视频流的帧中移除区域的至少一些部分;将一个或更多个新对象包括在基于修改请求的区域中;以及对区域或对象的元素进行修改或使其发生扭曲。在各种示例中,可以使用这样的修改或其他类似修改的任何组合。对于要被动画化的某些模型,可以选择一些特性点作为要用于确定用于模型动画的选项的整个状态空间的控制点。
在使用面部检测来变换图像数据的计算机动画模型的一些示例中,利用特定面部检测算法(例如Viola-Jones)在图像上检测面部。然后,将主动形状模型(ASM)算法应用于图像的面部区域以检测面部特征参考点。
可以使用适用于面部检测的其他方法和算法。例如,在一些示例中,使用界标来定位特征,该界标表示存在于所考虑的大多数图像中的可区分点。例如,对于面部界标,可以使用左眼瞳孔的定位。如果初始界标不可标识(例如,如果人具有眼罩),则可以使用次级界标。这样的界标标识过程可以被用于任何这样的对象。在一些示例中,界标集合形成形状。可以使用形状中的点的坐标将形状表示为矢量。利用使形状点之间的平均欧几里德距离最小化的相似性变换(允许平移、缩放和旋转)将一个形状与另一形状对准。平均形状(meanshape)是经对准的训练形状的平均值。
在一些示例中,从与由全局面部检测器确定的面部的位置和大小对准的平均形状开始搜索界标。然后,这样的搜索重复以下步骤:通过每个点周围的图像纹理的模板匹配对形状点的定位进行调整来建议暂定形状,并且然后使暂定形状符合全局形状模型,直至发生收敛。在一些系统中,单独模板匹配是不可靠的,并且形状模型对弱模板匹配的结果进行池化,以形成较强的整体分类器。整个搜索从粗略分辨率到精细分辨率在图像金字塔的每一级处重复。
变换系统可以在客户端设备(例如,AR/VR显示设备108)上捕获图像或视频流,并且在AR/VR显示器设备108上本地执行复杂的图像操纵,同时保持适当的用户体验、计算时间和功率消耗。复杂的图像操纵可以包括大小和形状改变、情绪转换(例如,将面部从皱眉变为微笑)、状态转换(例如,使对象变老、减少表观年龄、改变性别)、风格转移、图形元素应用以及由已经被配置成在AR/VR显示设备108上高效地执行的卷积神经网络实现的任何其他合适的图像或视频操纵。
在一些示例中,用于变换图像数据的计算机动画模型可以由下述系统使用:在该系统中,用户可以使用具有作为在AR/VR显示设备108上操作的AR/VR应用210的一部分而操作的神经网络的AR/VR显示设备108来捕获用户的图像或视频流(例如,自拍)。在AR/VR应用210内操作的变换系统确定图像或视频流内的面部的存在,并且提供与计算机动画模型相关联的修改图标以变换图像数据,或者计算机动画模型可以与本文中描述的界面相关联地存在。修改图标包括下述改变:该改变可以是作为修改操作的一部分的用于修改图像或视频流内的用户面部的基础。一旦选择了修改图标,变换系统就发起将用户的图像转换以反映所选择的修改图标(例如,在用户上生成笑脸)的处理。一旦图像或视频流被捕获并且指定的修改被选择,经修改的图像或视频流就可以被呈现在AR/VR显示设备108上显示的图形用户界面中。变换系统可以在图像或视频流的一部分上实现复杂的卷积神经网络以生成并应用所选择的修改。即,用户可以捕获图像或视频流,并且一旦修改图标已经被选择,修改结果就被实时或接近实时地呈现给用户。此外,在正在捕获视频流时,修改可以是持久的,并且所选择的修改图标保持被切换。机器教导的神经网络可以用于实现这样的修改。
呈现由变换系统执行的修改的图形用户界面可以向用户提供附加的交互选项。这样的选项可以基于用于发起特定计算机动画模型的选择和内容捕获的界面(例如,从内容创建者用户界面发起)。在各种示例中,在对修改图标进行初始选择之后,修改可以是持久的。用户可以通过轻击或以其他方式选择正由变换系统修改的面部来开启或关闭修改,并将其存储以供稍后查看或浏览到成像应用的其他区域。在通过变换系统修改多个面部的情况下,用户可以通过轻击或选择图形用户界面内修改和显示的单个面部来全局地开启或关闭修改。在一些示例中,可以单独地修改一组多个面部中的各个面部,或者可以通过轻击或选择图形用户界面内显示的各个面部或一系列各个面部来单独切换这样的修改。
本文描述的模块中的任何一个或更多个模块可以使用硬件(例如,机器的处理器)或硬件和软件的组合来实现。例如,本文描述的任何模块都可以将处理器配置成执行本文针对该模块描述的操作。此外,这些模块中的任何两个或更多个模块可以组合成单个模块,并且本文针对单个模块所描述的功能可以在多个模块之间细分。此外,根据各种示例实施方式,本文中描述为在单个机器、数据库或设备内实现的模块可以跨在多个机器、数据库、或设备分布。
图3示出了根据一个示例实施方式的头戴式装置300。图3示出了根据一个示例实施方式的头戴式装置300的透视图。在一些示例中,AR/VR显示设备108可以是头戴式装置300。
在图3中,头戴式装置300是一副眼镜。在一些实施方式中,头戴式装置300可以是太阳镜或护目镜。一些实施方式可以包括一个或更多个可穿戴设备,例如具有集成摄像装置的挂件,该挂件与头戴式装置300或AR/VR显示设备108集成、通信或耦接。任何期望的可穿戴设备都可以与本公开内容的实施方式结合使用,例如手表、耳机、腕带、耳塞、衣服(例如,具有集成电子装置的帽子或夹克)、夹式电子设备或任何其他可穿戴设备。应当理解,虽然没有示出,但是被包括在头戴式装置300中的系统的一个或更多个部分可以被包括在可以与头戴式装置300结合使用的AR/VR显示设备108中。
在图3中,头戴式装置300是一副眼镜,其包括框架310,框架310包括经由铰链和/或端件分别耦接至两个柄部(或镜腿)的镜框(或边框)。框架310的镜框承载或容纳一对透镜(例如,透镜312和透镜314)。框架310包括耦接至第一柄部的第一(例如,右)侧和耦接至第二柄部的第二(例如,左)侧。第一侧与框架310的第二侧相对。
头戴式装置300还包括摄像装置模块(未示出)和至少一个图像传感器,该摄像装置模块包括摄像装置透镜(例如,摄像装置透镜306、摄像装置透镜308)。摄像装置透镜306和摄像装置透镜308可以是透视摄像装置透镜或非透视摄像装置透镜。非透视摄像装置透镜可以是例如鱼眼透镜、广角透镜、全向透镜等。图像传感器通过摄像装置透镜306和摄像装置透镜308捕获数字视频。图像也可以是静止图像帧或包括多个静止图像帧的视频。摄像装置模块可以耦接至框架310。如图3所示,框架310耦接至摄像装置透镜306和摄像装置透镜308,使得摄像装置透镜(例如,摄像装置透镜306、摄像装置透镜308)面向前方。摄像装置透镜306和摄像装置透镜308可以垂直于透镜312和透镜314。摄像装置模块可以包括双前置摄像装置,该双前置摄像装置隔开框架310的宽度或头戴式装置300的用户的头部宽度。
在图3中,两个柄部(或镜腿)分别耦接至麦克风壳体302和麦克风壳体304。第一柄部和第二柄部耦接至头戴式装置300的框架310的相对侧。第一柄部耦接至第一麦克风壳体302,以及第二柄部耦接至第二麦克风壳体304。麦克风壳体302和麦克风壳体304可以在框架310与镜腿尖的位置之间耦接至柄部。在用户穿戴头戴式装置300的情况下,麦克风壳体302和麦克风壳体304可以位于用户的镜腿的任一侧。
如图3所示,麦克风壳体302和麦克风壳体304包围多个麦克风(未示出)。麦克风是将声音转换为电信号的空气接口拾音设备。更具体地,麦克风是将声压转换成电信号(例如,声学信号)的换能器。麦克风可以是数字或模拟微机电系统(MEMS)麦克风。由麦克风生成的声学信号可以是脉冲密度调制(PDM)信号。
图4是示出根据一个示例实施方式的低功率跟踪系统112的框图。低功率跟踪系统112包括惯性传感器模块402和旋转姿势估计模块404。
低功率跟踪系统112可以是3DOF跟踪系统。惯性传感器模块402捕获来自惯性传感器214的传感器数据。由惯性传感器214捕获的传感器数据可以包括加速度计数据、陀螺仪数据和磁力计数据。
旋转姿势估计模块404基于由惯性传感器模块402接收到的数据来确定AR/VR显示设备108相对于参照系(例如,真实世界环境102)的姿势(例如,位置、定位、取向)。
图5示出了根据一个示例实施方式的高功率跟踪系统110。高功率跟踪系统110包括例如惯性传感器模块502、光学传感器模块504和平移姿势估计模块506。惯性传感器模块502访问来自惯性传感器214的惯性传感器数据。光学传感器模块504访问来自光学传感器212的光学传感器数据。高功率跟踪系统110可以是6DOF跟踪系统。
平移姿势估计模块506确定AR/VR显示设备108相对于参照系(例如,真实世界环境102)的姿势(例如,位置、定位、取向)。在一个示例实施方式中,平移姿势估计模块506包括视觉里程计系统,该视觉里程计系统基于来自利用光学传感器212捕获的图像的特征点的3D图和利用惯性传感器214捕获的惯性传感器数据来估计AR/VR显示设备108的姿势。光学传感器模块504访问来自光学传感器212的图像数据。
在一个示例实施方式中,平移姿势估计模块506计算AR/VR显示设备108的定位和取向。AR/VR显示器设备108包括安装在刚性平台(AR/VR显示设备108的框架)上的一个或更多个光学传感器212与一个或更多个惯性传感器214。光学传感器212可以安装有非交叠(分布式孔径)或交叠(立体或更多)视场。
在一些示例实施方式中,平移姿势估计模块506包括对来自惯性传感器214的惯性信息和来自光学传感器212的图像信息进行组合的算法,光学传感器212耦接至刚性平台(例如,AR/VR显示设备108)或成套设备(rig)。在一个实施方式中,成套设备可以由安装在刚性平台上的多个摄像装置与惯性导航单元(例如,惯性传感器214)组成。因此,成套设备可以具有至少一个惯性导航单元和至少一个摄像装置。
尽管下面所描述的流程图可以将操作显示为顺序处理,但许多操作可以并行或并发地执行。此外,可以重新安排操作的顺序。处理在其操作完成时终止。处理可以对应于方法、过程、算法等。方法的操作可以全部或部分地执行,可以结合其他方法中的一些或全部操作来执行,并且可以由任何数目的不同系统例如本文所述的系统或其任何部分(例如,包括在任何系统中的处理器)来执行。
图6是示出根据一个示例实施方式的方法600的流程图。方法600的操作可以由增强现实系统114来执行。在一个示例中,增强现实系统114中的处理器、AR/VR显示设备108中的处理器或其任何组合可以执行方法600中的操作。
在操作602处,增强现实系统114在设备处接收设备初始化请求。设备初始化请求可以是用户104已经打开AR/VR应用210的指示。设备可以是AR/VR显示设备108。在一些示例中,设备初始化请求可以是用户104已经将AR/VR显示设备108通电的指示。AR/VR显示设备108包括第一传感器集合和第二传感器集合。第一传感器集合可以包括来自惯性传感器模块402的传感器。第二传感器集合可以包括来自惯性传感器模块502和光学传感器模块504的传感器。
在操作604处,响应于设备初始化请求,增强现实系统114激活第一传感器集合。例如,增强现实系统114通过开启惯性传感器模块402来激活低功率跟踪系统112。
在操作606处,增强现实系统114接收基于被激活的第一传感器集合的第一跟踪数据。例如,第一跟踪数据可以是由旋转姿势估计模块404接收的旋转姿势数据。
在操作608处,增强现实系统114在设备处接收增强现实体验请求。增强现实体验请求可以由用户104发起。
在操作610a处,响应于增强现实体验请求,增强现实系统114执行操作610b和610c。操作610b和610c可以同时或连续地执行。在操作610b处,增强现实系统114使得基于第一跟踪数据在设备处显示增强现实内容项集合。在操作610c处,增强现实系统114激活第二传感器集合。例如,增强现实系统114通过开启惯性传感器模块502和光学传感器模块504来激活高功率跟踪系统110。
在操作612处,增强现实系统114接收基于被激活的第二传感器集合的第二跟踪数据。在一些示例中,在操作610c与612之间存在不可忽略的量的时间。因此,由低功率跟踪系统112在操作610b处基于第一跟踪数据显示增强现实内容项集合掩盖了高功率跟踪系统110激活其传感器并接收姿势数据所需的时间。这使得用户能够享受不间断的增强现实体验。
第二跟踪数据可以是由平移姿势估计模块506接收的旋转姿势数据和平移姿势数据。第二跟踪数据可以包括由光学传感器模块504接收的图像帧。在一些示例中,第二跟踪数据还包括第一跟踪数据。
在操作614处,增强现实系统114基于第二跟踪数据更新增强现实内容项集合。例如,增强现实内容项集合可以包括虚拟内容216。从仅使用低功率跟踪系统112显示增强现实内容项集合(在操作610b处)到使用低功率跟踪系统112和高功率跟踪系统110两者显示增强现实内容项集合(在操作614处)的转变是无缝转变。例如,在操作614更新显示不会中断AR/VR显示设备108的用户的用户体验。
图7是示出软件架构704的框图700,该软件架构可以安装在本文描述的设备中的任何一个或更多个设备上。软件架构704由硬件诸如包括处理器720、存储器726和I/O部件738的702支持。在该示例中,软件架构704可以概念化为层的堆叠,其中每个层提供特定的功能。软件架构704包括诸如操作系统712、库710、框架708和应用706的层。在操作上,应用706通过软件堆栈来激活API调用750并且响应于API调用750接收消息752。
操作系统712管理硬件资源并且提供公共服务。操作系统712包括例如内核714、服务716和驱动器722。内核714充当硬件与其他软件层之间的抽象层。例如,内核714提供存储器管理、处理器管理(例如,调度)、部件管理、联网和安全设置以及其他功能。服务716可以为其他软件层提供其他公共服务。驱动器722负责控制底层硬件或与底层硬件对接。例如,驱动器722可以包括显示驱动器、摄像装置驱动器、或低能耗驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、/>驱动器、音频驱动器、电力管理驱动器等。
库710提供由应用706使用的低级别公共基础设施。库710可以包括提供诸如存储器分配功能、字符串操纵功能、数学功能等的功能的718(例如,C标准库)。此外,库710可以包括724,例如媒体库(例如,用于支持各种媒体格式的呈现和操纵的库,所述各种媒体格式例如运动图像专家组-4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家组层-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))、图形库(例如,用于在显示器上的图形内容中以二维(2D)和三维(3D)呈现的OpenGL框架)、数据库库(例如,用于提供各种关系数据库功能的SQLite)、web库(例如,用于提供web浏览功能的WebKit)等。库710还可以包括各种各样的728以向应用706提供许多其他API。
框架708提供由应用706使用的高级别公共基础设施。例如,框架708提供各种图形用户界面(GUI)功能、高级别资源管理和高级别定位服务。框架708可以提供可以由应用706使用的广泛的其他API,其中一些可以专用于特定操作系统或平台。
在示例实施方式中,应用706可以包括736、730、732、734、742、744、746、748以及诸如第三方应用740的各种各样的其他应用。应用706是执行程序中限定的功能的程序。可以采用各种编程语言来创建以各种方式结构化的应用706中的一个或更多个,编程语言例如面向对象的编程语言(例如,Objective-C、Java或C++)或过程编程语言(例如,C语言或汇编语言)。在特定示例中,第三方应用740(例如,由特定平台的供应商以外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用)可以是在诸如IOSTM、ANDROIDTM、Phone的移动操作系统或其他移动操作系统上运行的移动软件。在该示例中,第三方应用740可以激活由操作系统712提供的API调用750来促进本文描述的功能。
图8是800的图解表示,在800中,可以执行用于使800执行本文所讨论的方法中的任何一种或更多种方法的指令808(例如,软件、程序、应用、小程序、app或其他可执行代码)。例如,指令808可以使800执行本文所描述的方法中的任何一种或更多种方法。指令808将通用的未经编程的800转换成被编程为以所描述的方式执行所描述和所示出的功能的特定的800。800可以作为独立设备操作,或者可以耦接(例如,联网)至其他机器。在联网部署中,800可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。800可以包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、PDA、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web设备、网络路由器、网络交换机、网络桥接器或能够顺序地或以其他方式执行指定要由800采取的动作的指令808的任何机器。此外,虽然仅示出了单个800,但是术语“机器”还应当被视为包括单独或联合地执行指令808以执行本文所讨论的方法中的任何一种或更多种方法的机器的集合。
800可以包括可以被配置成经由844彼此通信的处理器802、存储器804和I/O部件842。在示例实施方式中,处理器802(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)、其他处理器或其任何合适的组合)可以包括例如执行指令808的处理器806和处理器810。术语“处理器”旨在包括多核处理器,该多核处理器可以包括可以同时执行指令的两个或更多个独立的处理器(有时被称为“核”)。尽管图8示出了多个处理器802,但是800可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或者其任何组合。
存储器804包括主存储器812、静态存储器814和存储单元816,所述主存储器812、静态存储器814和存储单元816可由处理器802经由844访问。主存储器804、静态存储器814和存储单元816存储体现本文所描述的方法或功能中的任何一种或更多种方法或功能的指令808。在800执行指令808期间,指令808还可以完全或部分地驻留在主存储器812内、在静态存储器814内、在存储单元816内的机器可读介质818内、在处理器802中的至少一个处理器802内(例如,在处理器的高速缓冲存储器内)或者在其任何合适的组合内。
I/O部件842可以包括用于接收输入、提供输出、产生输出、传送信息、交换信息、捕获测量结果等的各种各样的部件。包括在特定机器中的具体I/O部件842将取决于机器的类型。例如,便携式机器诸如移动电话可以包括触摸输入设备或其他这样的输入机构,而无头服务器机器将不太可能包括这样的触摸输入设备。将理解,I/O部件842可以包括在图8中未示出的许多其他部件。在各种示例实施方式中,I/O部件842可以包括828和830。828可以包括视觉部件(例如,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。830可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定点仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸姿势的位置和/或力度的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
在其他示例实施方式中,I/O部件842可以包括832、834、836或838以及各种其他部件。例如,832包括用于检测表达(例如,手部表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。834包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。836包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声学传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近传感器部件(例如,检测附近物体的红外传感器)、气体传感器(例如,用于检测危险气体浓度以确保安全或测量大气中污染物的气体检测传感器),或者可以提供与周围物理环境对应的指示、测量或信号的其他部件。838包括位置传感器部件(例如,GPS接收器部件)、海拔传感器部件(例如,检测可从中得出海拔的气压的高度计或气压计)、取向传感器部件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。I/O部件842还包括840,840可操作成分别经由824和826将800耦接至网络820或设备822。例如,840可以包括网络接口部件或另一合适的设备以与网络820对接。在其他示例中,840可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、部件(例如,/>低能耗)、/>部件以及用于经由其他模态提供通信的其他通信部件。设备822可以是另一机器或各种外围设备中的任何外围设备(例如,经由USB耦接的外围设备)。
此外,840可以检测标识符或包括可操作以检测标识符的部件。例如,840可以包括射频识别(RFID)标签读取器部件、NFC智能标签检测部件、光学读取器部件(例如,用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速响应(QR)码的多维条形码、Aztec码、数据矩阵、数据符号(Dataglyph)、最大码(MaxiCode)、PDF417、超码(Ultra Code)、UCCRSS-2D条形码和其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由840得出各种信息,例如经由因特网协议(IP)地理定位的位置、经由信号三角测量的位置、经由检测可以指示特定位置的NFC信标信号的位置等。
各种存储器(例如,存储器804、主存储器812、静态存储器814和/或处理器802的存储器)和/或存储单元816可以存储体现本文所描述的方法或功能中的任何一个或更多个方法或功能或由本文所描述的方法或功能中的任何一种或更多种方法或功能使用的一组或更多组指令和数据结构(例如,软件)。这些指令(例如,指令808)在由处理器802执行时使各种操作实现所公开的实施方式。
可以经由网络接口设备(例如,包括在840中的网络接口部件)使用传输介质并且使用多个公知的传输协议中的任何一个传输协议(例如,超文本传输协议(HTTP))通过网络820来发送或接收指令808。类似地,可以使用传输介质经由826(例如,对等耦接)将指令808发送或接收至设备822。
具有头戴式装置的系统
图9示出了根据一个示例实施方式的其中可以实现头戴式装置300的900。图9是经由各种网络938通信地耦接移动客户端设备936和服务器系统930的示例性头戴式装置300的高级功能框图。
头戴式装置300包括摄像装置,例如可见光摄像装置910、红外发射器912和红外摄像装置914中的至少一个。摄像装置可以包括具有图3中的摄像装置透镜306和摄像装置透镜308的摄像装置模块。
客户端设备936可以能够使用无线网络932和无线网络934两者与头戴式装置300连接。客户端设备936连接至服务器系统930和网络938。网络938可以包括有线连接和无线连接的任何组合。
还包括光学组件的图像显示器902中的两个图像显示器。两个图像显示器包括与头戴式装置300的左侧边相关联的一个图像显示器以及与右侧边相关联的一个图像显示器。头戴式装置300还包括图像显示驱动器906、图像处理器908、低功率的低功率电路系统924和高速电路系统916。光学组件的图像显示器902用于向头戴式装置300的用户呈现图像和视频,包括可以包括图形用户界面的图像。
图像显示驱动器906命令和控制光学组件的图像显示器902的图像显示器。图像显示驱动器906可以将图像数据直接传送至光学组件的图像显示器902的图像显示器以进行呈现,或者必须将图像数据转换为适合传送至图像显示设备的信号或数据格式。例如,图像数据可以是根据诸如H.264(MPEG-4Part 10)、HEVC、Theora、Dirac、RealVideo RV40、VP8、VP9等的压缩格式被格式化的视频数据,并且静止图像数据可以根据诸如便携式网络组(PNG)、联合图像专家组(JPEG)、标签图像文件格式(TIFF)或可交换图像文件形式(Exif)等的压缩格式被格式化。
如上所述,头戴式装置300包括框架310和从框架310的侧边延伸的柄部(或镜腿)。头戴式装置300还包括904(例如,触摸传感器或按钮),该904包括头戴式装置300上的输入表面。904(例如,触摸传感器或按钮)是为了从用户接收输入选择,以操纵呈现的图像的图形用户界面。
图9中所示出的用于头戴式装置300的部件位于边框或镜腿中的一个或更多个电路板(例如PCB或柔性PCB)上。可替选地或另外地,所描绘的部件可以位于头戴式装置300的大块、框架、铰链或梁架中。左侧和右侧可以包括数字摄像装置元件,例如互补金属氧化物半导体(CMOS)图像传感器、电荷耦合器件、摄像装置透镜306和摄像装置透镜308或可以用于捕获包括具有未知对象的场景图像的数据的任何其他相应可见光或光捕获元件。
头戴式装置300包括存储器920,存储器920存储指令以执行本文所描述的功能的子集或全部。存储器920还可以包括存储设备。
如图9所示,高速电路系统916包括高速处理器918、存储器920和高速无线电路系统922。在该示例中,图像显示驱动器906耦接至高速电路系统916并且由高速处理器918操作,以驱动光学组件的图像显示器902的左图像显示器和右图像显示器。高速处理器918可以是任何能够管理高速通信和头戴式装置300所需的任何一般计算系统的操作的处理器。高速处理器918包括使用高速无线电路系统922管理无线网络934到无线局域网(WLAN)的高速数据传输所需的处理资源。在某些示例中,高速处理器918执行操作系统诸如LINUX操作系统或头戴式装置300的其他这样的操作系统,并且该操作系统被存储在存储器920中以供执行。除了任何其他职责外,执行头戴式装置300的软件架构的高速处理器918还被用来管理与高速无线电路系统922的数据传输。在某些示例中,高速无线电路系统922被配置成实现电气和电子工程师协会(IEEE)802.11通信标准,在本文中也被称为Wi-Fi。在其他示例中,其他高速通信标准可以通过高速无线电路系统922来实现。
头戴式装置300的低功率无线电路系统928和高速无线电路系统922可以包括短程收发器(蓝牙TM)以及无线广域网、局域网或广域网收发器(例如,蜂窝或WiFi)。包括经由无线网络932和无线网络934进行通信的收发器的客户端设备936可以使用头戴式装置300的架构的细节来实现,网络938的其他元件也是如此。
存储器920包括能够存储各种数据和应用的任何存储设备,所述各种数据和应用包括除其他外的由左红外摄像装置914和右红外摄像装置914和图像处理器908生成的摄像装置数据,以及由图像显示驱动器906在光学组件的图像显示器902的图像显示器上生成以用于显示的图像。虽然存储器920示出为与高速电路系统916集成,但是在其他示例中,存储器920可以是头戴式装置300的独立元件。在某些这样的示例中,电路由线路可以提供通过包括高速处理器918的芯片从图像处理器908或低功率处理器926到存储器920的连接。在其他示例中,高速处理器918可以管理存储器920的寻址,使得低功率处理器926将在需要涉及存储器920的读或写操作的任何时候启动高速处理器918。
如图9所示,头戴式装置300的低功率处理器926或高速处理器918可以耦接至摄像装置(可见光摄像装置910;红外发射器912或红外摄像装置914)、图像显示驱动器906、904(例如,触摸传感器或按钮)和存储器920。
头戴式装置300与主机计算机连接。例如,头戴式装置300经由无线网络934与客户端设备936配对,或者经由网络938连接至服务器系统930。服务器系统930可以是作为服务或网络计算系统的一部分的一个或更多个计算设备,例如,其包括处理器、存储器和网络通信接口,以通过网络938与客户端设备936和头戴式装置300通信。
客户端设备936包括处理器和耦接至处理器的网络通信接口。网络通信接口允许通过网络938、无线网络932或无线网络934进行通信。客户端设备936还可以将用于生成双声道音频内容的指令的至少部分存储在客户端设备936的存储器中以实现本文描述的功能。
头戴式装置300的输出部件包括视觉部件,例如诸如液晶显示器(LCD)、等离子体显示面板(PDP)、发光二极管(LED)显示器、投影仪或波导管的显示器。光学组件的图像显示器由图像显示驱动器906驱动。头戴式装置300的输出部件还包括声学部件(例如,扬声器)、触觉部件(例如,振动马达)、其他信号发生器等。头戴式装置300、客户端设备936和服务器系统930的输入部件(例如,904)可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定点仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸姿势的位置和力度的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
头戴式装置300可以可选地包括附加的外围设备元件。这样的外围设备元件可以包括与头戴式装置300集成的生物识别传感器、附加传感器或显示元件。例如,外围设备元件可以包括任何I/O部件,包括输出部件、运动部件、定位部件或本文中描述的任何其他这样的元件。
例如,生物识别部件包括用于检测表达(例如,手部表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。定位部件包括用于生成位置坐标的位置传感器部件(例如,全球定位系统(GPS)接收器部件)、用于生成定位系统坐标的WiFi或蓝牙TM收发器、海拔传感器部件(例如,检测可以得到海拔的气压的高度计或气压计)、取向传感器部件(例如,磁力计)等。这样的定位系统坐标还可以经由低功率无线电路系统928或高速无线电路系统922从客户端设备936通过无线网络934接收。
在使用类似于“A、B或C中的至少一个”、“A、B和C中的至少之一”、“一个或更多个A、B、或C”或“A、B和C中的一个或更多个”的短语的情况下,其旨在该短语应当被解释为意指:在实施方式中可以单独存在A,在实施方式中可以单独存在B,在实施方式中可以单独存在C,或者在单个实施方式中可以存在A、B和C的任何组合;例如,A和B,A和C,B和C,或A和B和C。
在不脱离本公开内容的范围的情况下,可以对所公开的实施方式进行改变和修改。这些和其他改变或修改旨在包括在本公开内容的范围内,如在所附权利要求书中所表达的。
图10示出了根据一个实施方式的主题的增强现实体验的启动操作。在图表1002中,在睡眠模式下,传感器关闭以节省电力。在1006处,增强现实系统114接收对AR体验的请求。在1012处,增强现实系统114激活传感器。在1016处,在延迟1014(等待跟踪数据)之后显示AR内容。
在图表1004中,在1008处,增强现实系统114接收对AR体验的请求,同时增强现实系统114使用低功率跟踪系统112在低功率模式下操作。第一传感器集合已经在低功率模式下激活。因此,在1018处,已经可以使用来自第一传感器集合的数据来显示AR内容。在1020处,第二传感器集合响应于AR请求而激活。在1022处,增强现实系统114基于来自传感器集合的数据来更新AR内容。
尽管已经参考特定示例实施方式描述了实施方式,但是将明显的是,在不脱离本公开内容的更广泛范围的情况下,可以对这些实施方式进行各种修改和改变。因此,说明书和附图应被认为是说明性的意义,而不是限制性的意义。形成本发明一部分的附图通过说明而非限制的方式示出了其中可以实践主题的具体实施方式。所示的实施方式被足够详细地描述,以使得本领域技术人员能够实践本文公开的教导。可以利用并由此得出其他实施方式,使得可以在不脱离本公开内容的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应当被理解为限制性意义,并且各种实施方式的范围仅由所附权利要求以及这些权利要求所赋予的等效内容的全部范围来限定。
本发明主题的这些实施方式在本文中可以单独和/或集体地通过术语“发明”来指代,这仅仅是为了方便,并且如果事实上公开了一个以上的发明或发明构思,则并不旨在自愿地将本申请的范围限制为任何单个发明或发明构思。因此,尽管本文已经示出和描述了具体实施方式,但是应当理解,计算以实现相同目的的任何布置都可以替代所示的具体实施方式。本公开内容旨在覆盖各种实施方式的任何和所有改编或变化。在回顾上述描述后,上述实施方式和本文未具体描述的其他实施方式的组合对于本领域技术人员来说将是明显的。
提供本公开内容的摘要以允许读者快速确定本技术公开内容的性质。以这样的理解提交摘要:即摘要将不用于解释或限制权利要求的范围或含义。此外,在前面的具体实施方式中,可以看出,出于简化本公开内容的目的,各种特征在单个实施方式中被组合在一起。本公开内容的该方法不应被解释为反映所要求保护的实施方式需要比在每个权利要求中明确叙述的特征更多的特征的意图。相反,如所附权利要求书所反映的,本发明主题在于少于单个公开实施方式的所有特征。因此,所述权利要求书在此被合并到具体实施方式中,其中每个权利要求独立作为单独的实施方式。
示例
示例1是一种方法,所述方法包括:在设备处接收设备初始化请求,设备包括第一传感器集合和第二传感器集合;响应于设备初始化请求,激活第一传感器集合;接收基于所激活的第一传感器集合的第一跟踪数据;在设备处接收增强现实体验请求;响应于增强现实体验请求:使得基于第一跟踪数据在设备处显示增强现实内容项集合;以及激活第二传感器集合;接收基于所激活的第二传感器集合的第二跟踪数据;以及基于第二跟踪数据来更新增强现实内容项集合的显示。
示例2包括示例1所述的方法,其中,第二跟踪数据还基于所激活的第一传感器集合。
示例3包括示例1所述的方法,其中,第一传感器集合包括惯性测量单元(IMU)传感器。
示例4包括示例1所述的方法,其中,第二传感器集合包括图像传感器。
示例5包括示例4所述的方法,其中,第二跟踪数据包括由图像传感器接收到的图像帧集合。
示例6包括示例1所述的方法,其中,接收第一跟踪数据包括:从六自由度跟踪系统接收第二跟踪数据,其中,六自由度跟踪系统确定旋转姿势数据和平移姿势数据。
示例7包括示例1所述的方法,其中,设备是头戴式装置。
示例8是一种计算装置,包括:处理器;以及存储指令的存储器,所述指令在由处理器执行时将装置配置成:在设备处接收设备初始化请求,设备包括第一传感器集合和第二传感器集合;响应于设备初始化请求,激活第一传感器集合;接收基于所激活的第一传感器集合的第一跟踪数据;在设备处接收增强现实体验请求;响应于增强现实体验请求:使得基于第一跟踪数据在设备处显示增强现实内容项集合;以及激活第二传感器集合;接收基于所激活的第二传感器集合的第二跟踪数据;以及基于第二跟踪数据来更新增强现实内容项集合的显示。
示例9包括示例8所述的计算装置,其中,第二跟踪数据还基于所激活的第一传感器集合。
示例10包括示例8所述的计算装置,其中,第一传感器集合包括惯性测量单元(IMU)传感器。
示例11包括示例8所述的计算装置,其中,第二传感器集合包括图像传感器。
示例9包括示例11所述的计算装置,其中,第二跟踪数据包括由图像传感器接收到的图像帧集合。
示例10包括示例8所述的计算装置,其中,接收第一跟踪数据包括:从六自由度跟踪系统接收第二跟踪数据,其中,六自由度跟踪系统确定旋转姿势数据和平移姿势数据。
示例11包括示例8所述的计算装置,其中,设备是头戴式装置。
示例12是一种非暂态计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令在由计算机执行时使计算机:在设备处接收设备初始化请求,设备包括第一传感器集合和第二传感器集合;响应于设备初始化请求,激活第一传感器集合;接收基于所激活的第一传感器集合的第一跟踪数据;在设备处接收增强现实体验请求;响应于增强现实体验请求:使得基于第一跟踪数据在设备处显示增强现实内容项集合;以及激活第二传感器集合;接收基于所激活的第二传感器集合的第二跟踪数据;以及基于第二跟踪数据来更新增强现实内容项集合的显示。
示例13包括权利要求15所述的计算机可读存储介质,其中,第二跟踪数据还基于所激活的第一传感器集合。
示例14包括权利要求15所述的计算机可读存储介质,其中,第一传感器集合包括惯性测量单元(IMU)传感器。
示例15包括权利要求15所述的计算机可读存储介质,其中,第二传感器集合包括图像传感器。
示例16包括权利要求18所述的计算机可读存储介质,其中,第二跟踪数据包括由图像传感器接收到的图像帧集合。
示例17包括权利要求15所述的计算机可读存储介质,其中,接收第一跟踪数据包括:从六自由度跟踪系统接收第二跟踪数据,其中,六自由度跟踪系统确定旋转姿势数据和平移姿势数据。
示例18包括权利要求15所述的计算机可读存储介质,其中,第二传感器集合包括图像传感器。
示例19包括权利要求18所述的计算机可读存储介质,其中,第二跟踪数据包括由图像传感器接收到的图像帧集合。
示例20包括权利要求所述的计算机可读存储介质,其中,接收第一跟踪数据包括:从六自由度跟踪系统接收第二跟踪数据,其中,六自由度跟踪系统确定旋转姿势数据和平移姿势数据。
术语表
“载波信号”是指能够存储、编码或携载由机器执行的指令的任何无形介质并且包括数字或模拟通信信号或其他无形介质以有助于这样的指令的通信。可以经由网络接口设备使用传输介质通过网络发送或接收指令。
“客户端设备”是指与通信网络接口以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、多个膝上型计算机、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。
“通信网络”是指网络的一个或更多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另外类型的网络或者两个或更多个这样的网络的组合。例如,网络或网络的一部分可以包括无线网络或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何数据传输技术,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动通信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他数据传输技术、其他长距离协议或其他数据传输技术。
“部件”是指具有以下边界的设备、物理实体或逻辑:所述边界由功能或子例程调用、分支点、API或提供对特定处理或控制功能的划分或模块化的其他技术来定义。部件可以经由其接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的经封装的功能硬件单元并且可以是通常执行相关功能中的特定功能的程序的一部分。部件可以构成软件部件(例如,体现在机器可读介质上的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例中,可以通过软件(例如,应用或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)配置为进行操作以执行如本文中描述的某些操作的硬件部件。也可以机械地、电子地或以其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路系统或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件部件还可以包括通过软件临时配置成执行某些操作的可编程逻辑或电路系统。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件被配置,则硬件部件成为被独特地定制成执行所配置的功能的特定机器(或机器的特定部件)并且不再是通用处理器。将认识到,可以出于成本和时间考虑来决定是机械地在专用且永久配置的电路系统中实现硬件部件还是在临时配置(例如,通过软件配置)的电路系统中实现硬件部件。因此,短语“硬件部件”(或“硬件实现的部件”)应当被理解成包含有形实体,即被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文中描述的某些操作的实体。考虑硬件部件被临时配置(例如,被编程)的示例,无需在任一时刻对硬件部件中的每个硬件部件进行配置或实例化。例如,在硬件部件包括通过软件配置而成为专用处理器的通用处理器的情况下,该通用处理器可以在不同时间处被配置为各自不同的专用处理器(例如,包括不同的硬件部件)。软件相应地配置特定的一个或多个处理器,以例如在一个时刻处构成特定硬件部件并且在不同的时刻处构成不同的硬件部件。硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为通信地耦接。在同时存在多个硬件部件的情况下,可以通过(例如,通过适当的电路和总线)在这些硬件部件中的两个或更多个硬件部件之间或之中进行信号传输来实现通信。在多个硬件部件在不同时间被配置或实例化的示例中,可以例如通过将信息存储在多个硬件部件可以访问的存储器结构中并且在存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作,并且将该操作的输出存储在与其通信地耦接的存储器设备中。然后,另外的硬件部件可以在随后的时间访问存储器设备,以检索所存储的输出并对其进行处理。硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源(例如,信息的集合)进行操作。在本文中描述的示例方法的各种操作可以至少部分地由临时地配置(例如,通过软件)或永久地配置成执行相关操作的一个或更多个处理器来执行。无论是被临时地配置还是永久地配置,这样的处理器可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件。类似地,在本文中描述的方法可以至少部分地由处理器实现,其中,特定的一个或多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或更多个处理器或者处理器实现的部件执行。此外,一个或更多个处理器还可以进行操作以支持“云计算”环境中的相关操作的执行或作为“软件即服务”(SaaS)操作。例如,操作中的至少一些操作可以由计算机组(作为包括处理器的机器的示例)执行,其中这些操作可经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,API)来访问。某些操作的执行可以分布在处理器之间,不仅驻留在单个机器内,而且跨多个机器部署。在一些示例中,处理器或处理器实现的部件可以位于单个地理定位中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例中,处理器或处理器实现的部件可以跨多个地理定位分布。
“计算机可读存储介质”是指机器存储介质和传输介质两者。因此,这些术语包括存储设备/介质和载波/调制数据信号两者。术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的事物并且可以在本公开内容中互换地使用。
“短暂消息”是指可以在时间有限的持续时间内访问的消息。短暂消息可以是文本、图像、视频等。短暂消息的访问时间可以由消息发送者设置。替选地,访问时间可以是默认设置或者由接收者指定的设置。无论设置技术如何,该消息都是暂时的。
“机器存储介质”是指存储可执行指令、例程和数据的单个或多个存储设备和介质(例如,集中式或分布式数据库,以及相关联的高速缓存和服务器)。因此,该术语应当被视为包括但不限于固态存储器以及光学和磁性介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、FPGA和闪存设备;磁盘,例如内部硬盘和可移除盘;磁光盘;以及CD-ROM和DVD-ROM盘。术语“机器存储介质”、“设备存储介质”、“计算机存储介质”意指相同的事物并且可以在本公开内容中互换地使用。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波、调制数据信号和其他这样的介质,载波、调制数据信号和其他这样的介质中的至少一些被涵盖在术语“信号介质”中。
“非暂态计算机可读存储介质”是指能够存储、编码或携载由机器执行的指令的有形介质。
“信号介质”是指能够存储、编码或携载由机器执行的指令并且包括数字或模拟通信信号的任何无形介质或者有助于软件或数据的通信的其他无形介质。术语“信号介质”应当被视为包括任何形式的调制数据信号、载波等。术语“调制数据信号”意指其特性中的一个或更多个特性被以将信息编码在信号中的方式设置或改变的信号。术语“传输介质”和“信号介质”意指相同的事物并且可以在本公开内容中互换使用。
Claims (20)
1.一种方法,包括:
在设备处接收设备初始化请求,所述设备包括第一传感器集合和第二传感器集合;
响应于所述设备初始化请求,激活所述第一传感器集合;
接收基于所激活的第一传感器集合的第一跟踪数据;
在所述设备处接收增强现实体验请求;
响应于所述增强现实体验请求:
使得基于所述第一跟踪数据在所述设备处显示增强现实内容项集合;以及
激活所述第二传感器集合;
接收基于所激活的第二传感器集合的第二跟踪数据;以及
基于所述第二跟踪数据来更新所述增强现实内容项集合的显示。
2.根据权利要求1所述的方法,其中,所述第二跟踪数据还基于所激活的第一传感器集合。
3.根据权利要求1所述的方法,其中,所述第一传感器集合包括惯性测量单元(IMU)传感器。
4.根据权利要求1所述的方法,其中,所述第二传感器集合包括图像传感器。
5.根据权利要求4所述的方法,其中,所述第二跟踪数据包括由所述图像传感器接收到的图像帧集合。
6.根据权利要求1所述的方法,其中,接收所述第一跟踪数据包括:
从六自由度跟踪系统接收所述第二跟踪数据,其中,所述六自由度跟踪系统确定旋转姿势数据和平移姿势数据。
7.根据权利要求1所述的方法,其中,所述设备是头戴式装置。
8.一种计算装置,包括:
处理器;以及
存储指令的存储器,所述指令在由所述处理器执行时将所述装置配置成:
在设备处接收设备初始化请求,所述设备包括第一传感器集合和第二传感器集合;
响应于所述设备初始化请求,激活所述第一传感器集合;
接收基于所激活的第一传感器集合的第一跟踪数据;
在所述设备处接收增强现实体验请求;
响应于所述增强现实体验请求:
使得基于所述第一跟踪数据在所述设备处显示增强现实内容项集合;以及
激活所述第二传感器集合;
接收基于所激活的第二传感器集合的第二跟踪数据;以及
基于所述第二跟踪数据来更新所述增强现实内容项集合的显示。
9.根据权利要求8所述的计算装置,其中,所述第二跟踪数据还基于所激活的第一传感器集合。
10.根据权利要求8所述的计算装置,其中,所述第一传感器集合包括惯性测量单元(IMU)传感器。
11.根据权利要求8所述的计算装置,其中,所述第二传感器集合包括图像传感器。
12.根据权利要求11所述的计算装置,其中,所述第二跟踪数据包括由所述图像传感器接收到的图像帧集合。
13.根据权利要求8所述的计算装置,其中,接收所述第一跟踪数据包括:
从六自由度跟踪系统接收所述第二跟踪数据,其中,所述六自由度跟踪系统确定旋转姿势数据和平移姿势数据。
14.根据权利要求8所述的计算装置,其中,所述设备是头戴式装置。
15.一种非暂态计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令在由计算机执行时使所述计算机:
在设备处接收设备初始化请求,所述设备包括第一传感器集合和第二传感器集合;
响应于所述设备初始化请求,激活所述第一传感器集合;
接收基于所激活的第一传感器集合的第一跟踪数据;
在所述设备处接收增强现实体验请求;
响应于所述增强现实体验请求:
使得基于所述第一跟踪数据在所述设备处显示增强现实内容项集合;以及
激活所述第二传感器集合;
接收基于所激活的第二传感器集合的第二跟踪数据;以及
基于所述第二跟踪数据来更新所述增强现实内容项集合的显示。
16.根据权利要求15所述的计算机可读存储介质,其中,所述第二跟踪数据还基于所激活的第一传感器集合。
17.根据权利要求15所述的计算机可读存储介质,其中,所述第一传感器集合包括惯性测量单元(IMU)传感器。
18.根据权利要求15所述的计算机可读存储介质,其中,所述第二传感器集合包括图像传感器。
19.根据权利要求18所述的计算机可读存储介质,其中,所述第二跟踪数据包括由所述图像传感器接收到的图像帧集合。
20.根据权利要求15所述的计算机可读存储介质,其中,接收所述第一跟踪数据包括:
从六自由度跟踪系统接收所述第二跟踪数据,其中,所述六自由度跟踪系统确定旋转姿势数据和平移姿势数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163188600P | 2021-05-14 | 2021-05-14 | |
US63/188,600 | 2021-05-14 | ||
PCT/US2022/029005 WO2022241123A1 (en) | 2021-05-14 | 2022-05-12 | Reducing startup time of augmented reality experience |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117321543A true CN117321543A (zh) | 2023-12-29 |
Family
ID=81854664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280034488.2A Pending CN117321543A (zh) | 2021-05-14 | 2022-05-12 | 减少增强现实体验的启动时间 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11681361B2 (zh) |
EP (1) | EP4338038A1 (zh) |
KR (1) | KR20240005953A (zh) |
CN (1) | CN117321543A (zh) |
WO (1) | WO2022241123A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12008155B2 (en) | 2021-05-14 | 2024-06-11 | Snap Inc. | Reducing startup time of augmented reality experience |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049663B2 (en) * | 2010-12-10 | 2015-06-02 | Qualcomm Incorporated | Processing involving multiple sensors |
US10586395B2 (en) * | 2013-12-30 | 2020-03-10 | Daqri, Llc | Remote object detection and local tracking using visual odometry |
US9244539B2 (en) * | 2014-01-07 | 2016-01-26 | Microsoft Technology Licensing, Llc | Target positioning with gaze tracking |
US9430038B2 (en) * | 2014-05-01 | 2016-08-30 | Microsoft Technology Licensing, Llc | World-locked display quality feedback |
CN105824439A (zh) | 2016-02-24 | 2016-08-03 | 乐视云计算有限公司 | 待机状态控制方法及移动终端 |
WO2017200760A1 (en) * | 2016-05-19 | 2017-11-23 | Yudofsky Stuart | Methods and devices for behavior modification |
US10134192B2 (en) * | 2016-10-17 | 2018-11-20 | Microsoft Technology Licensing, Llc | Generating and displaying a computer generated image on a future pose of a real world object |
US11819369B2 (en) * | 2018-03-15 | 2023-11-21 | Zoll Medical Corporation | Augmented reality device for providing feedback to an acute care provider |
US11030813B2 (en) * | 2018-08-30 | 2021-06-08 | Snap Inc. | Video clip object tracking |
US10884505B1 (en) | 2018-11-07 | 2021-01-05 | Facebook Technologies, Llc | Systems and methods for transitioning to higher order degree-of-freedom tracking |
US10824244B2 (en) * | 2018-11-19 | 2020-11-03 | Facebook Technologies, Llc | Systems and methods for transitioning between modes of tracking real-world objects for artificial reality interfaces |
US20220336097A1 (en) * | 2021-04-14 | 2022-10-20 | Cilag Gmbh International | Risk based prioritization of display aspects in surgical field view |
KR20240005953A (ko) | 2021-05-14 | 2024-01-12 | 스냅 인코포레이티드 | 증강 현실 경험의 시동 시간 감소 |
-
2022
- 2022-05-12 KR KR1020237042776A patent/KR20240005953A/ko unknown
- 2022-05-12 US US17/743,194 patent/US11681361B2/en active Active
- 2022-05-12 WO PCT/US2022/029005 patent/WO2022241123A1/en active Application Filing
- 2022-05-12 CN CN202280034488.2A patent/CN117321543A/zh active Pending
- 2022-05-12 EP EP22726966.9A patent/EP4338038A1/en active Pending
-
2023
- 2023-05-24 US US18/201,419 patent/US12008155B2/en active Active
-
2024
- 2024-04-01 US US18/623,982 patent/US20240248531A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12008155B2 (en) | 2021-05-14 | 2024-06-11 | Snap Inc. | Reducing startup time of augmented reality experience |
Also Published As
Publication number | Publication date |
---|---|
US11681361B2 (en) | 2023-06-20 |
US20220365592A1 (en) | 2022-11-17 |
US20240248531A1 (en) | 2024-07-25 |
EP4338038A1 (en) | 2024-03-20 |
US20230297164A1 (en) | 2023-09-21 |
WO2022241123A1 (en) | 2022-11-17 |
KR20240005953A (ko) | 2024-01-12 |
US12008155B2 (en) | 2024-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240248531A1 (en) | Reducing startup time of augmented reality experience | |
US11615506B2 (en) | Dynamic over-rendering in late-warping | |
US20240176428A1 (en) | Dynamic initialization of 3dof ar tracking system | |
US20240029197A1 (en) | Dynamic over-rendering in late-warping | |
US20230274460A1 (en) | Ar data simulation with gaitprint imitation | |
US20220374505A1 (en) | Bending estimation as a biometric signal | |
KR20240008370A (ko) | 움직이는 객체들의 레이턴시를 최소화하기 위한 늦은 워핑 | |
WO2022246382A1 (en) | Bending estimation as a biometric signal | |
CN117321472A (zh) | 进行后期扭曲以最小化移动对象的延迟 | |
US11756274B1 (en) | Low-power architecture for augmented reality device | |
US20230418385A1 (en) | Low-power hand-tracking system for wearable device | |
US12067693B2 (en) | Late warping to minimize latency of moving objects | |
US11941184B2 (en) | Dynamic initialization of 3DOF AR tracking system | |
US20240073402A1 (en) | Multi-perspective augmented reality experience | |
US11663738B2 (en) | AR data simulation with gaitprint imitation | |
US20240069637A1 (en) | Touch-based augmented reality experience | |
US20240212287A1 (en) | Augmented reality ergonomics evaluation system | |
CN117501208A (zh) | 利用步态印迹模仿的ar数据模拟 | |
CN118715545A (zh) | 使用新颖视图合成进行的场景变化检测 | |
CN117425869A (zh) | 后期扭曲中的动态过度渲染 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |