Nothing Special   »   [go: up one dir, main page]

CN113196209A - 在任何位置渲染位置特定的虚拟内容 - Google Patents

在任何位置渲染位置特定的虚拟内容 Download PDF

Info

Publication number
CN113196209A
CN113196209A CN201980080535.5A CN201980080535A CN113196209A CN 113196209 A CN113196209 A CN 113196209A CN 201980080535 A CN201980080535 A CN 201980080535A CN 113196209 A CN113196209 A CN 113196209A
Authority
CN
China
Prior art keywords
user
saved
scene
virtual
virtual content
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
Application number
CN201980080535.5A
Other languages
English (en)
Inventor
J·布罗德斯基
J·A·布斯托
M·W·史密斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Magic Leap Inc filed Critical Magic Leap Inc
Publication of CN113196209A publication Critical patent/CN113196209A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Graphics (AREA)
  • Optics & Photonics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

用于创建、保存和渲染包括用户的三维(3D)环境中的多个虚拟内容项的设计的增强现实系统和方法。设计可以被保存为场景,该场景由用户从预先构建的子部件、构建部件和/或先前保存的场景来构建。还可以保存位置信息,该位置信息被表示为针对每个虚拟内容项的保存的场景锚和相对于该保存的场景锚的位置。在打开场景时,保存的场景锚节点可以与针对其打开场景的用户的混合现实环境内的位置相关。场景的虚拟项可以被定位为具有相对于该位置的关系,该关系与场景的虚拟项保存的场景锚节点的关系相同。可以自动地和/或通过用户输入来选择该位置。

Description

在任何位置渲染位置特定的虚拟内容
相关申请的交叉引用
本申请根据35 U.S.C.§119(e)要求2018年10月5日提交的名称为“RENDERINGLOCATION SPECIFIC VIRTUAL CONTENT IN ANY LOCATION(在任何位置渲染位置特定的虚拟内容)”的序列号为62/742,061的美国临时专利的权益,在此通过引用将其整体并入本文中。
技术领域
本公开涉及虚拟现实和增强现实成像和可视化系统,更具体地,涉及在三维(3D)空间中自动地重新定位虚拟对象。
背景技术
现代计算和显示技术促进了用于所谓的“虚拟现实”、“增强现实”或“混合现实”体验的系统的开发,其中数字再现的图像或其部分以它们看起来是或者可以被感觉是真实的方式呈现给用户。虚拟现实或“VR”场景通常涉及数字或虚拟图像信息的呈现,而不对其它实际的真实世界的视觉输入透明;增强现实或“AR”场景通常涉及将数字或虚拟图像信息呈现为对用户周围的真实世界的可视化的增强;混合现实或“MR”涉及将真实世界和虚拟世界合并以产生物理和虚拟对象共存并实时交互的新环境。事实证明,人类视觉感知系统非常复杂,并且产生VR、AR或MR技术具有挑战性,这些技术便于在其它虚拟或真是世界的图像元素中舒适、自然、丰富地呈现虚拟图像元素。在此公开的系统和方法解决了与VR、AR和MR技术有关的各种挑战。
发明内容
描述了用于在任何位置渲染虚拟内容的增强现实系统的各种实施例。
在附图和以下描述中阐述了本说明书中描述的主题的一种或多种实施方式的细节。通过说明书、附图和权利要求,其它特征、方面和优点将变得显而易见。本发明内容和以下具体实施方式都并非旨在限定或限制本发明主题的范围。
附图说明
图1示出了具有由人观看到的某些虚拟现实对象和某些物理对象的混合现实场景的图示。
图2示意性地示出了可穿戴系统的示例。
图3示意性地示出了使用多个深度平面模拟三维图像的方法的各方面。
图4示意性地示出了用于将图像信息输出给用户的波导堆叠的示例。
图5示出了可以由波导输出的示例出射光束。
图6是示出光学系统的示意图,该光学系统包括波导装置、光学耦合器子系统以及控制子系统,其中光学耦合器子系统用于将光光学耦合到波导装置或从波导装置光学耦合光,控制子系统用于产生多焦点体积显示、图像或光场。
图7是可穿戴系统的示例的框图。
图8是渲染与所识别的对象有关的虚拟内容的方法的示例的过程流程图。
图9是可穿戴系统的另一示例的框图。
图10是用于确定可穿戴系统的用户输入的方法的示例的过程流程图。
图11是用于与虚拟用户界面交互的方法的示例的过程流程图。
图11是用于与虚拟用户界面交互的方法的示例的过程流程图。
图12示出了使用本文描述的系统和方法的用户交互的示例过程1200。
图13A示出了使用本文描述的系统和方法来保存场景的示例过程1300a。
图13B示出了使用本文描述的系统和方法来渲染被框住的场景的示例过程1300b。
图14示出了使用本文描述的系统和方法来加载场景的示例过程1400。
图15示出了使用本文描述的系统和方法来加载场景的示例过程1500。
图16示出了使用本文描述的系统和方法来加载场景的示例过程1600。
图17示出了简化流程图,其示出用于使用捕获的深度图的多个框架来创建场景的3D网格的方法。
图18是向增强现实系统的用户呈现用于合并到场景中的预先构建的虚拟对象的菜单的示例性用户界面的略图。
图19是向增强现实系统的用户呈现用于选择虚拟相机的图标和可用于在用户的环境中被打开的保存场景菜单的示例性用户界面的略图。
图20是图19的示例性用户界面的一部分的略图,其示出了用户从菜单移动所选的被保存的场景图标。
图21A是增强现实系统的示例性用户环境的一部分的略图,其中用户正在提供输入以移动视觉锚节点,该视觉锚节点已与在预览模式下示出的保存的场景对象相关联。
图21B是图21A的示例性用户环境的一部分的略图,其中用户正在提供输入以选择加载图标,以指示对保存的场景的加载。
图21C是图21B的示例性用户环境的一部分的略图,在用户选择了加载图标并且选择了与用户正在提供输入以选择加载图标时的视觉锚节点相关联的保存的场景对象之后,以指示在由视觉锚节点的指定位置指示的位置完全实例化保存的场景对象。
在全部附图中,参考标号可以被重复使用来指示被引用的要素之间的对应关系。提供附图是为了示例本文中描述的示例性实施例,而非旨在限制本公开的范围。
具体实施方式
概述
在AR/MR环境中,用户可能想要创建、构建和/或设计新的虚拟对象。用户可以是需要创建用于工作项目的原型的工程师,或者用户可以是在喜欢构建和创建乐趣的中学中的青少年,诸如人可能在复杂
Figure BDA0003101332080000041
套件和谜题中构建物理元件。在一些情况下,例如,用户可能需要构建具有复杂结构的虚拟对象,该虚拟对象可能在几天、几个月或甚至几年的过程中花费大量时间来构建。在一些实施例中,具有复杂结构的虚拟对象可以包括以不同方式布置或使用的重复部件。因此,存在以下情况:用户可能希望(有时从预先构建的子部件来)构建部件、将所构建的部件中的一个或多个保存为单独的被保存的场景、并且然后利用一个或多个先前保存的场景构建各种设计。
例如,用户可能希望利用AR/MR可穿戴装置来创建景观设计。可穿戴装置可以具有下载的应用,该应用存储或可以访问预先构建的子部件,诸如各种类型的树(例如,松树、橡树)、花(例如,剑兰、向日葵等)、以及各种植物(例如,灌木、藤蔓等)。景观设计者可以通过经验来实现某些植物很好地组合在一起。景观设计者可以利用AR/MR可穿戴装置上的应用来创建包括这些已知的优选组合的植物的构建部件(a built component)。作为一个示例,构建部件可包括覆盆子植物、郁金香植物和三叶草,例如,或任何其他合适的配套植物布置。在保存包括一个或多个预先制造的子部件(其被组合以形成一个或多个构建部件)的一个或多个场景之后,景观设计者然后可能希望为他/她的家创建完整的景观设计。景观设计可以包括一个或多个保存的场景和/或一个或多个构建部件、和/或一个或多个预先构建的子部件。景观设计可以通过利用保存的场景来更快速和容易地设计,而不是景观设计者仅利用预先构建的子部件来开始。
保存的场景还可以允许更灵活的设计选项。例如,一些应用可以仅使用户能够从预先构建的子部件中进行选择,所述子部件可能比设计者需要的更复杂或更不复杂。保存构建部件的能力可以使得原始被下载的应用的大小能够比不能保存构建部件的应用更小,因为可能需要更少的预先构建的子部件。
在一些实施例中,应用可以使用户能够在一个位置创建设计,然后在稍后的时间在精确的相同位置重新打开保存的设计。在一些实施例中,应用可以使用户能够在一个位置创建设计,然后在真实世界中的任何其他位置重新打开保存的设计。例如,这可以使用户能够在他/她的办公室中创建设计,然后在会议室中在会议期间重新打开设计以用于呈现。
然而,一些应用可能仅能够在真实世界中的特定位置重新打开保存的设计,这对可能在用户办公室中创建设计但需要在会议室中共享设计的用户来说可能是个问题。在仅使能在特定位置重新打开保存的设计的系统中,如果真实世界位置不再可用(例如,用户的办公室建筑物烧毁),则保存的设计不再是可访问的,因为它取决于该特定位置(例如,它可以包括相对于不存在于第二位置或具有不同特性的真实世界对象进行数字锚定或放置的对象)。另外,例如,仅使得用户能够每次会话或每房间重新打开保存的设计一次的系统可能不满足用户的需要。例如,用户可能希望在会议期间从若干视角同时呈现用户的设计,并且因此可能希望将保存的设计的多个副本加载到会议室中。
本申请的系统和方法解决了这些问题。这样的系统例如可以使得用户能够基于用户在增强现实环境中感知到的内容来指定虚拟内容。系统然后可以将该虚拟内容的数字表示保存为场景。在稍后的时间,用户可以指示相同的或可能不同的增强现实系统来打开保存的场景。作为将保存的场景打开的一部分,该增强现实系统可以将保存的场景中的虚拟内容合并到用于增强现实系统的用户的混合现实环境中,使得用户(针对其打开场景)然后可以感知虚拟内容。
在一些实施例中,场景可以从多个构建部件组装,所述多个构建的部件可以通过指定预先构建的子部件的组合来构建。构建部件可以具有任何复杂度,并且甚至可以是例如先前保存的场景。此外,构建部件不需要从预先构建的子部件组装。还可以使用由增强现实系统提供的工具来构建部件。作为一个示例,系统可以处理关于利用增强现实系统的传感器来收集的物理对象的数据以形成该物理对象的数字表示。该数字表示可用于呈现物理对象的表示,从而充当虚拟对象。此外,不要求要被保存的场景具有多个构建部件或甚至多个预先构建的子部件。场景可以具有单个部件。因此,应当理解,对场景的保存或打开的描述是指对具有任何级别的复杂度和来自任何源的虚拟内容的操纵。
保存的场景可以包括用于保存的场景的至少一个保存的场景锚节点(anchornode)(例如,分层数据结构中的父节点,其可以表示位于空间中的坐标框架处的保存的场景)。场景中的虚拟内容可以具有相对于保存的场景锚节点的已建立的空间关系,使得一旦保存的场景锚节点的位置在增强现实系统的用户的环境中被建立,则场景中的虚拟内容在该环境内的位置可以由系统确定。使用该位置信息,系统可以将场景中的虚拟内容呈现给该用户。保存的场景中的虚拟内容在增强现实系统的用户的环境内的位置可以例如通过定位视觉锚节点的用户输入来确定,该视觉锚节点表示在用户的环境内的位置。用户可以通过增强现实系统的虚拟用户界面来操纵视觉锚节点的位置。保存的场景中的虚拟内容可以用与视觉锚节点对准的保存的场景锚节点来渲染。
在一些场景中,保存的场景锚节点可以对应于物理世界中的固定位置,并且保存的场景可以被重新打开,其中场景中的虚拟内容具有相对于在保存场景时所具有的位置相同的位置。在这种情况下,如果在场景被打开时在物理世界中的固定位置位于用户的环境内,则用户可以体验场景。在这样的场景中,保存的场景锚节点可以包括持久坐标框架(persistent coordinate frame)(PCF),其可以是具有坐标框架的点,该坐标框架是从存在于真实世界中的不随时间变化太多、根本不变化或不频繁地变化的对象导出的。与保存的场景锚节点相关联的该位置可以由保存的PCF来表示。保存的PCF可用于重新打开保存的场景,使得在保存的场景被保存时对保存的场景进行渲染的空间中的精确的相同位置,来渲染保存的场景。
替代地,增强现实系统可以将保存的场景的内容呈现给用户的位于物理世界中的位置可以不是固定的。当场景被打开时,该位置可以取决于用户输入或用户的周围环境。例如,如果用户需要在不同的位置打开保存的场景,则用户能够通过适当地利用可调整的一个或多个视觉锚节点来这样做。
可替换地或附加地,如果保存的场景对于用户被重新打开,同时固定位置在他们的环境内或其视场内,则系统可以有条件地将保存的场景中的虚拟内容定位在该固定位置。如果不是,则系统可以提供用户界面,通过该用户界面,用户可以提供输入,该输入指示将被放置保存的场景中的虚拟内容的位置。该系统可以通过识别最接近用户的PCF(当前PCF)来实现这一点。如果当前PCF与保存的PCF相匹配,则系统可以通过以相对于PCF的固定空间配置来放置保存的场景的虚拟对象,在与保存的场景被保存时的精确的相同位置处,用保存的场景中的虚拟内容来重新打开保存的场景。如果当前PCF与保存的PCF不匹配,则系统可以预览将保存的场景放置在默认位置或在由用户选择的位置。基于预览放置,用户或系统可以将整个保存的场景移动到期望的位置,并且告诉系统以实例化(instantiate)场景。在一些实施例中,保存的场景可以以预览格式在默认位置被渲染,这缺少保存的场景的一些细节或功能。实例化场景可以包括向用户渲染完整的保存的场景,其包括所有视觉、物理和其他保存的场景数据。
本领域技术人员可以通过创建用于保存构建的子部件的过程和用于保存场景的单独过程来解决保存场景的问题。如本申请描述的示例性系统可以合并两个过程并且提供单个用户交互。这具有计算机操作益处。例如,写入和管理单个过程而不是两个过程可以提高可靠性。另外,处理器可能能够更快地操作,因为处理器仅需要访问一个程序而不是访问两个或更多个过程并且在该两个或更多个过程之间和切换。另外,可能存在对用户的可用性益处,因为用户仅需要学习一个交互而不是两个或更多个交互。
如果用户希望在一个房间中查看若干虚拟对象而不保存场景,例如在用户办公室中的20个不同的虚拟对象,则系统将需要跟踪相对于真实世界的20个不同的对象位置。本申请的系统和方法的一个益处在于,所有20个虚拟对象可以被保存到单个场景中,其中只需要跟踪单个保存的场景锚节点(例如,PCF)(20个对象将相对于PCF而不是相对于世界放置,这可能需要较少的计算)。这可具有较少计算的计算机操作益处,其可导致较少的电池使用或在处理期间产生的较少的热、和/或可使得应用能够在较小的处理器上运行。
所公开的系统和方法可以通过在多个不同情形中的每一个中创建单个用户交互来实现用于保存和/或重新打开应用内的场景的简单、容易、统一的用户体验。重新打开场景可以包括加载和/或实例化场景。用户可以重新打开具有相同交互的场景的情形的三个示例是:在情形1中,用户可能希望重新打开保存的场景以在场景被保存时的精确的相同位置和环境中呈现(例如,保存的PCF与当前PCF相匹配)。在情形2中,用户可能希望重新打开保存的场景以在场景被保存时的精确的相同的位置处呈现,但是环境不相同(例如,保存的PCF与当前PCF相匹配,但是描述物理环境的数字网格已经改变)。例如,用户可以在工作时保存和重新打开在用户办公室中的保存的场景,但是用户可能已经将额外的表添加到办公室。在情形3中,用户可能希望在包括与场景被保存的环境不同的环境的不同位置处重新打开保存的场景(例如,保存的PCF与当前PCF不匹配,保存的世界网格与当前世界网格不匹配)。
不考虑情形,用户可以通过相同的用户界面与系统交互,其中控件在多个情形中的每一个中都是可用的。用户界面可以是例如图形用户界面,其中控件与用户可见的图标相关联,并且用户通过采取指示对图标的选择的动作来激活控件。为了保存场景,例如,用户可以选择相机图标(1900,图19)、框住(frame)场景、然后捕获图像。
不考虑情形,为了加载场景,用户可以例如选择保存的场景图标,诸如图标1910(图19)。用户可以将保存的场景图标从用户菜单(其可以创建保存场景的预览)拉出,其的示例在图19和20中示出。然后用户可以释放保存的场景图标(其可以相对于保存的场景对象放置视觉锚节点)。用户可以可选地移动视觉锚节点以便相对于真实世界移动保存的场景,然后实例化场景(其可以将完整的保存的场景数据发送到渲染管线中)。
本领域技术人员可以将这三种情形作为三种不同的问题,并且将创建三个单独的解决方案(例如,程序)和用户交互以解决这些问题。本申请的系统和方法利用单个程序来解决这三个问题。这具有计算机操作益处。例如,写入和管理单个过程而不是两个过程提高了可靠性。另外,处理器能够更快地操作,因为处理器仅需要访问一个程序而不是在多个过程之间进行切换。提供了额外的计算机操作益处,因为系统仅需要跟踪真实世界中的单个点(例如,锚节点)。
可穿戴系统的3D显示的示例
可穿戴系统(这里也被称为增强现实(AR)系统)可以被配置为向用户呈现2D或3D虚拟图像。图像可以是静止图像、视频帧或视频、上述项的组合等等。可穿戴系统可以包括可穿戴装置,可穿戴装置可以单独或组合地呈现VR、AR或MR环境以用于用户交互。可穿戴装置可以是头戴式装置(HMD),头戴式装置可以可互换地被用作AR装置(ARD)。此外,出于本公开的目的,术语“AR”与术语“MR”可互换地使用。
图1示出了如由使用MR系统的人观看到的具有某些虚拟现实对象以及某些物理对象的混合现实场景的图示。图1示出了MR场景100,其中MR技术的用户看到以人、树木、背景中的建筑物以及混凝土平台120为特征的真实世界公园状设置110。除了这些项目之外,MR技术的用户还感知他“看到”站在真实世界平台120上的机器人雕像130,以及看起来像大黄蜂的化身的飞舞的卡通式的化身人物140,尽管这些元素不存在于真实世界中。
为了使3D显示器产生真实的深度感觉,更具体地,模拟的表面深度感觉,可能期望显示器的视野中的每一个点产生与其虚拟深度对应的调节响应(accommodativeresponse)。如果对显示点的调节响应不对应于该点的虚拟深度(由汇聚和立体视觉的双眼深度线索确定),则人眼可能经历调节冲突,导致成像不稳定、有害的眼部紧张、头痛,并且在没有调节信息的情况下,几乎完全缺乏表面深度。
VR、AR和MR体验可以由具有显示器的显示系统提供,在显示器中,对应于多个深度平面的图像被提供给观看者。对于每一个深度平面,图像可以是不同的(例如,提供稍微不同的场景或对象呈现),并且可以由观看者的眼睛单独聚焦,从而有助于基于眼睛的调节(需要这种调节以使位于不同深度平面上的场景的不同图像特征聚焦),或者基于观察到不同深度平面上的不同图像特征脱焦,为用户提供深度线索。如本文其它地方所讨论的,这种深度线索提供了可靠的深度感。
图2示例出可穿戴系统200的示例。可穿戴系统200包括显示器220以及支持该显示器220的功能的各种机械和电子模块和系统。显示器220可以被耦接到框架230,该框架可由用户、穿戴者或观看者210穿戴。显示器220可以被定位在用户210的眼睛的前方。显示器220可以向用户呈现AR/VR/MR内容。显示器220可以包括穿戴在用户头部上的头戴式显示器(HMD)。在一些实施例中,扬声器240被耦接到框架230并且被定位在用户的耳道附近(在一些实施例中,另一扬声器(未示出)可以被定位在用户的另一耳道附近以提供立体声/可塑形的声音控制)。显示器220可以包括用于检测来自环境的音频流的音频传感器(例如,麦克风),其中,关于该音频流执行语音识别。
可穿戴系统200可包括面向外成像系统464(如图4所示),其观察用户周围环境中的世界。可穿戴系统200可以还包括面向内成像系统462(如图4所示),其可以跟踪用户的眼睛运动。面向内成像系统可以跟踪一只眼睛的运动或全部两只眼睛的运动。面向内成像系统462可以被附接到框架230并且可以与处理模块260或270电通信,处理模块260或270可以处理由面向内成像系统获取的图像信息以确定例如用户210的眼睛的瞳孔直径或取向、眼睛运动或眼睛姿势。
作为示例,可穿戴系统200可以使用面向外成像系统464或面向内成像系统462来获取表示用户姿势的图像。图像可以是静止图像、视频帧或视频、或者此类信息源或其他类似的信息源的任意组合。
显示器220可以例如通过有线引线或无线连接可操作地耦接250到本地数据处理模块260,本地数据处理模块260可以以各种配置安装,例如固定地附接到框架230,固定地附接到用户戴的头盔或帽子,嵌入在耳机中,或以其它方式可移除地附接到用户210(例如,采取背包式配置,采取腰带耦接式配置)。
本地处理和数据模块260可以包括硬件处理器以及诸如非易失性存储器(例如,闪速存储器)的数字存储器,二者都可用于辅助数据的处理、缓存以及存储。数据可以包括如下数据:a)从传感器(其可以例如可操作地耦接到框架230或以其它方式附接到用户210)捕获的数据,该传感器例如图像捕获装置(例如,面向内成像系统或面向外成像系统中的相机)、音频传感器(例如,麦克风)、惯性测量单元(IMU)、加速度计、罗盘、全球定位系统(GPS)单元、无线电装置或陀螺仪;或b)使用远程处理模块270或远程数据存储库280获取或处理的数据,可能在这样的处理或检索之后传递给显示器220。本地处理和数据模块260可以通过通信链路262或264(诸如经由有线或无线通信链路)可操作地耦接到远程处理模块270或远程数据存储库280,使得这些远程模块作为资源可用于本地处理和数据模块260。另外,远程处理模块280和远程数据存储库280可以可操作地相互耦接。
在一些实施例中,远程处理模块270可以包括一个或多个处理器,其被配置为分析和处理数据和/或图像信息。在一些实施例中,远程数据存储库280可以包括数字数据存储设施,其可以通过互联网或其它网络配置以“云”资源配置而可用。在一些实施例中,在本地处理和数据模块中存储全部数据,并且执行全部计算,允许从远程模块完全自主使用。
人类视觉系统复杂,并且提供深度的逼真感知是具挑战性的。不受任何特定理论的限制,据信对象的观看者可能由于聚散度和调节的组合而将该对象感知为“三维的”。两只眼睛相对于彼此的聚散运动(即,瞳孔朝向彼此或远离彼此的滚动运动,以会聚眼睛的视线来注视对象)与眼睛晶状体的聚焦(或“调节”)密切相关。在正常情况下,改变眼睛晶状体的焦点或调节眼睛,以将焦点从一个对象改变到在不同距离处的另一个对象,这将会在被称为“调节-聚散度反射(accommodation-vergence reflex)”的关系下自动地导致到相同的距离的聚散度的匹配改变。同样,在正常情况下,聚散度的改变将引发调节的匹配改变。提供调节和聚散度之间的更好匹配的显示系统可以形成更逼真且舒适的三维图像模拟。
图3示出了使用多个深度平面来模拟三维图像的方法的方面。参考图3,在z轴上距眼睛302和眼睛304的不同距离处的对象由眼睛302和眼睛304调节,以使得这些对象在焦点中。眼睛302和眼睛304采取特定的调节状态,以使沿着z轴的不同距离处的对象进入焦点。因此,可以说特定的调节状态与深度平面306中的特定一个深度平面相关联,该特定深度平面具有相关联的焦距,以使得当眼睛处于特定深度平面的调节状态时,该深度平面中的对象或对象的部分被聚焦。在一些实施例中,可以通过为眼睛302和304中的每一只眼睛提供图像的不同呈现,并且还通过提供与深度平面中每一个深度平面对应的图像的不同呈现,来模拟三维图像。尽管为了清楚说明而被示出为分离的,但应理解的是,例如随着沿z轴的距离增加,眼睛302和眼睛304的视野可能重叠。另外,虽然为了便于说明而被示出为平坦的,但应理解的是,深度平面的轮廓在物理空间中可以是弯曲的,使得深度平面中的所有特征在特定的调节状态下与眼睛对焦。不受理论的限制,据信人类眼睛通常可以解释有限数量的深度平面以提供深度感知。因此,通过向眼睛提供与这些有限数量的深度平面中的每一个深度平面对应的图像的不同呈现,可以实现所感知的深度的高度可信的模拟。
波导堆叠组件
图4示出了用于将图像信息输出给用户的波导堆叠的示例。可穿戴系统400包括波导堆叠或堆叠波导组件480,其可用于使用多个波导432b、434b、436b、438b、4400b向眼睛/大脑提供三维感知。在一些实施例中,可穿戴系统400可以对应于图2的可穿戴系统200,图4更详细地示意性地示出了该可穿戴系统200的一些部分。例如,在一些实施例中,波导组件480可以被集成到图2的显示器220中。
继续参考图4,波导组件480可以还包括位于波导之间的多个特征458、456、454、452。在一些实施例中,特征458、456、454、452可以是透镜。在其它实施例中,特征458、456、454、452可以不是透镜。相反,它们可以简单地是间隔物(例如,包层和/或用于形成气隙的结构)。
波导432b、434b、436b、438b、440b或多个透镜458、456、454、452可以被配置为以各种级别的波前曲率或光线发散度向眼睛发送图像信息。每一个波导级别可以与特定深度平面相关联,并且可以被配置为输出对应于该深度平面的图像信息。图像注入装置420、422、424、426、428可用于将图像信息注入到波导440b、438b、436b、434b、432b中,每一个波导可以被配置为分配入射光穿过每一个相应的波导以便朝着眼睛410输出。光从图像注入装置420、422、424、426、428的输出表面射出,并且被注入到波导440b、438b、436b、434b、432b的相应输入边缘。在一些实施例中,可以将单个光束(例如准直光束)注入到每一个波导中,以输出克隆的准直光束的整个场,这些克隆的准直光束以对应于与特定波导相关联的深度平面的特定角度(和发散量)朝向眼睛410定向。
在一些实施例中,图像注入装置420、422、424、426、428是分立的显示器,每一个显示器产生用于分别注入到相应波导440b、438b、436b、434b、432b中的图像信息。在一些其它实施例中,图像注入装420、422、424、426、428是单个多路复用显示器的输出端,其可以例如经由一个或多个光导管(例如光纤电缆)将图像信息管道传输到图像注入装置420、422、424、426、428中的每一者。
控制器460控制堆叠波导组件480和图像注入装置420、422、424、426、428的操作。控制器460包括编程(例如,非暂时性计算机可读介质中的指令),该编程调节到波导440b、438b、436b、434b、432b的图像信息的定时和提供。在一些实施例中,控制器460可以是单个整体装置,或者是通过有线或无线通信信道连接的分布式系统。在一些实施例中,控制器460可以是处理模块260或270(如图2所示)的部分。
波导440b、438b、436b、434b、432b可以被配置为通过全内反射(TIR)在每一个相应的波导内传播光。波导440b、438b、436b、434b、432b可以各自是平面的或具有其它形状(例如,弯曲),具有顶部和底部主表面以及在这些顶部和底部主表面之间延伸的边缘。在所示的配置中,波导440b、438b、436b、434b、432b可以各自包括光提取光学元件440a、438a、436a、434a、432a,这些光提取光学元件被配置为通过将每一个相应波导内传播的光重定向而将光提取到波导外,以向眼睛410输出图像信息。提取的光也可以被称为耦出光,并且光提取光学元件也可以被称为耦出光学元件。提取的光束在波导中传播的光照射光重定向元件的位置处被波导输出。光提取光学元件(440a、438a、436a、434a、432a)可以例如是反射或衍射光学特征。虽然为了便于描述和清晰绘图起见而将其图示设置在波导440b、438b、436b、434b、432b的底部主表面处,但是在一些实施例中,光提取光学元件440a、438a、436a、434a、432a可以设置在顶部或底部主表面处,或可以直接设置在波导440b、438b、436b、434b、432b的体积中。在一些实施例中,光提取光学元件440a、438a、436a、434a、432a可以形成在被附接到透明基板的材料层中以形成波导440b、438b、436b、434b、432b。在一些其它实施例中,波导440b、438b、436b、434b、432b可以是单片材料,并且光提取光学元件440a、438a、436a、434a、432a可以形成在那片材料的表面上或那片材料的内部中。
继续参考图4,如本文所讨论的,每一个波导440b、438b、436b、434b、432b被配置为输出光以形成与特定深度平面对应的图像。例如,最接近眼睛的波导432b可以被配置为将如注入到这种波导432b中的准直光传送到眼睛410。准直光可以代表光学无限远焦平面。下一上行波导434b可以被配置为将传输通过第一透镜452(例如,负透镜)的准直光在其可以到达眼睛410之前发出。第一透镜452可以被配置为产生轻微凸面的波前曲率,使得眼睛/大脑将来自该下一上行波导434b的光解释为来自第一焦平面,该第一焦平面从光学无限远处向内更靠近眼睛410。类似地,第三上行波导436b将输出光在到达眼睛410之前传输通过第一透镜452和第二透镜454。第一透镜452和第二透镜454的组合光焦度(optical power)可被配置为产生波前曲率的另一增量,以使得眼睛/大脑将来自第三波导436b的光解释为来自第二焦平面,该第二焦平面从光学无穷远比来自所述下一上行波导434b的光更向内靠近人。
其它波导层(例如,波导438b、440b)和透镜(例如,透镜456、458)被类似地配置,其中堆叠中的最高波导440b通过它与眼睛之间的全部透镜发送其输出,用于代表最靠近人的焦平面的总(aggregate)焦度。当在堆叠波导组件480的另一侧上观看/解释来自世界470的光时,为了补偿透镜458、456、454、452的堆叠,补偿透镜层430可以被设置在堆叠的顶部处以补偿下面的透镜堆叠458、456、454、452的总焦度。这种配置提供了与可用波导/透镜配对一样多的感知焦平面。波导的光提取光学元件和透镜的聚焦方面可以是静态的(例如,不是动态的或电激活的)。在一些替代实施例中,两者之一或者两者都可以使用电激活特征而为动态的。
继续参考图4,光提取光学元件440a、438a、436a、434a、432a可以被配置为将光重定向出它们各自的波导并且针对与波导相关联的特定深度平面以适当的发散量或准直度输出该光。结果,具有不同相关联深度平面的波导可具有不同的光提取光学元件配置,其取决于相关联的深度平面而输出具有不同发散量的光。在一些实施例中,如本文所讨论的,光提取光学元件440a、438a、436a、434a、432a可以是体积或表面特征,其可以被配置为以特定角度输出光。例如,光提取光学元件440a、438a、436a、434a、432a可以是体积全息图、表面全息图和/或衍射光栅。在2015年6月25日公开的美国专利公开No.2015/0178939中描述了诸如衍射光栅的光提取光学元件,其通过引用全部并入本文中。
在一些实施例中,光提取光学元件440a、438a、436a、434a、432a是形成衍射图案的衍射特征或“衍射光学元件”(本文中也称为“DOE”)。优选地,DOE具有相对较低的衍射效率,以使得仅光束的一部分通过DOE的每一个交点偏转向眼睛410,而其余部分经由全内反射继续移动通过波导。携带图像信息的光因此可被分成多个相关的出射光束,这些出射光束在多个位置处离开波导,并且该结果对于在波导内反弹的该特定准直光束是朝向眼睛304的相当均匀图案的出射发射。
在一些实施例中,一个或多个DOE可以在它们活跃地衍射的“开”状态和它们不显著衍射的“关”状态之间可切换。例如,可切换的DOE可以包括聚合物分散液晶层,其中微滴在基体介质中包含衍射图案,并且微滴的折射率可以被切换为基本上匹配基体材料的折射率(在这种情况下,图案不明显地衍射入射光),或者微滴可以被切换为与基体介质的折射率不匹配的折射率(在这种情况下,该图案活跃地衍射入射光)。
在一些实施例中,深度平面的数量和分布或景深可以基于观看者的眼睛的瞳孔大小或取向而动态地改变。景深可以与观看者的瞳孔大小成反比地改变。因此,随着观看者眼睛的瞳孔大小减小时,景深增加,使得由于一个平面的位置超出了眼睛的焦点深度而不可辨别的该平面可能变得可辨别,并且随着瞳孔大小的减小表现为更聚焦,而且与景深的增加相称。同样地,用于向观看者呈现不同图像的间隔开的深度平面的数量可以随着瞳孔大小的减小而减小。例如,观看者在不将眼睛的调节从一个深度平面调整到另一个深度平面的情况下,可能不能以一个瞳孔大小清楚地感知第一深度平面和第二深度平面两者的细节。然而,这两个深度平面可以在不改变调节的情况下,对于处于另一瞳孔大小的用户同时充分地聚焦。
在一些实施例中,显示系统可以基于瞳孔大小或取向的确定,或在接收到指示特定瞳孔大小或取向的电信号时,改变接收图像信息的波导的数量。例如,如果用户的眼睛不能区分与两个波导相关联的两个深度平面,则控制器460(其可以是本地处理和数据模块260的实施例)可以被配置或编程为停止向这些波导中的一个提供图像信息。有利地,这可以减轻系统的处理负担,从而增加系统的响应性。在其中用于一波导的DOE可在接通和关断状态之间切换的实施例中,当波导确实接收图像信息时,DOE可以被切换到关断状态。
在一些实施例中,可能期望使出射光束满足直径小于观看者眼睛直径的条件。然而,考虑到观看者的瞳孔大小的可变性,满足这种条件可能是具有挑战性的。在一些实施例中,通过响应于观看者的瞳孔大小的确定而改变出射光束的大小,该条件在宽范围的瞳孔大小上满足。例如,随着瞳孔大小减小,出射光束的大小也可以减小。在一些实施例中,可以使用可变光圈来改变出射光束大小。
可穿戴系统400可包括面向外成像系统464(例如,数字相机),其对世界470的一部分进行成像。世界470的该部分可被称为世界相机的视野(FOV),并且成像系统464有时被称为FOV相机。可供观看者观看或成像的整个区域可被称为能视域(FOR)。因为穿戴者可以移动其身体、头部或眼睛以感知空间中的基本上任何方向,FOR可以包括围绕可穿戴系统400的立体角的4π球面度。在其它情况下,穿戴者的运动可能更受限制,相应地,穿戴者的FOR可以对着更小的立体角。从面向外成像系统464获得的图像可用于跟踪用户做出的手势(例如手或手指的姿势),检测用户前方的世界470中的对象等等。
可穿戴系统400还可以包括面向内成像系统466(例如,数码相机),其观察用户的运动,诸如眼睛运动和面部运动。面向内成像系统466可以用于捕获眼睛410的图像以确定眼睛304的瞳孔的大小和/或取向。面向内成像系统466可以用于获得图像,用于确定用户正在观看的方向(例如,眼睛姿势)或用于用户的生物测定识别(例如,经由虹膜识别)。在一些实施例中,可以为每只眼睛利用至少一个相机,以独立地分别确定每只眼睛的瞳孔大小或眼睛姿势,由此允许向每只眼睛呈现图像信息以动态地适合该眼睛。在一些其它实施例中,仅单个眼睛410的瞳孔直径或取向(例如,每对眼睛仅使用单个相机)被确定并假定对于用户的双眼是相似的。可以分析由面向内成像系统466获得的图像以确定用户的眼睛姿势或情绪,其可由可穿戴系统400使用来决定应该向用户呈现哪些音频或视觉内容。可穿戴系统400还可以使用诸如IMU、加速度计、陀螺仪等的传感器来确定头部姿势(例如,头部位置或头部取向)。
可穿戴系统400可以包括用户输入装置466,通过该用户输入装置466用户可以向控制器460输入命令以与可穿戴系统400交互。例如,用户输入装置466可以包括触控板、触摸屏、操纵杆、多自由度(DOF)控制器、电容感测装置、游戏控制器、键盘、鼠标、方向垫(D-pad)、魔杖、触觉装置、图腾、感测由系统识别为输入的用户移动的部件(例如,虚拟用户输入装置)等等。多DOF控制器可以感测控制器的部分或全部可能的平移(例如,左/右、前/后、或上/下)或旋转(例如,偏航、俯仰或翻滚)方面的用户输入。支持平移运动的多DOF控制器可以被称为3DOF,而支持平移和旋转的多DOF控制器可以被称为6DOF。在一些情况下,用户可以使用手指(例如,拇指)在触敏输入装置上按压或轻扫以向可穿戴系统400提供输入(例如,以将用户输入提供给由可穿戴系统400提供的用户界面)。用户输入装置466可以在使用可穿戴系统400期间由用户的手保持。用户输入装置466可以与可穿戴系统400进行有线或无线通信。
图5示出了由波导输出的出射光束的示例。示出了一个波导,但是应该理解的是,波导组件480中的其它波导可以类似地起作用,其中波导组件480包括多个波导。光520在波导432b的输入边缘432c处被注入到波导432b中,并且通过TIR在波导432b内传播。在光520照射在DOE 432a上的点处,一部分光作为出射光束510离开波导。出射光束510被示出为基本上平行,但是取决于与波导432b相关联的深度平面,该出射光束510也可以以一定角度(例如,形成发散的出射光束)被重定向以传播到眼睛410。应该理解的是,基本上平行的出射光束可以指示具有光提取光学元件的波导,其中光提取光学元件将光耦出以形成看起来被设置在距眼睛410较大距离(例如,光学无穷远)处的深度平面上的图像。其它波导或者其它光提取光学元件组可以输出更加发散的出射光束图案,这将需要眼睛410调节到更近距离以将其聚焦在视网膜上并且将被大脑解释为来自比光学无穷远更靠近眼睛410的距离的光。
图6是示出了包括波导装置、将光光学耦合到波导装置或从波导装置光学耦合光的光耦合器子系统、以及控制子系统的光学系统的示意图,该光学系统用于生成多焦点立体显示、图像或光场。该光学系统可以包括波导装置、将光光学耦合到波导装置或从波导装置光学耦合光的光耦合器子系统,以及控制子系统。该光学系统可以用于生成多焦点立体、图像或光场。该光学系统可以包括一个或多个主平面波导632a(在图6中仅示出一个)以及与至少一些主波导632a中的每一个主波导相关联的一个或多个DOE 632b。平面波导632b可以类似于参考图4讨论的波导432b、434b、436b、438b、440b。该光学系统可以使用分布波导装置以沿着第一轴(图6的视图中的垂直轴或Y轴)中继光,并且沿着第一轴(例如,Y轴)扩展光的有效出射光瞳。分布波导装置可以例如包括分布平面波导622b和与分布平面波导622b相关联的至少一个DOE 622a(由双点划线示出)。分布平面波导622b在至少一些方面可以与主平面波导632b相似或相同,但具有与其不同的取向。类似地,至少一个DOE 622a在至少一些方面可以与DOE 632a相似或相同。例如,分布平面波导622b或DOE 622a可以分别由与主平面波导632b或DOE 632a相同的材料构成。图6中所示的光学显示系统600的实施例可以被集成到图2中所示的可穿戴显示系统200中。
中继的和出射光瞳扩展的光可从分布波导装置被光学耦合到一个或多个主平面波导632b中。主平面波导632b可以沿着优选地与第一轴正交的第二轴(例如,图6的视图中的水平轴或X轴)中继光。值得注意的是,第二轴可以是与第一轴非正交的轴。主平面波导632b沿着该第二轴(例如,X轴)扩展光的有效出射光瞳。例如,分布平面波导622b可以沿着垂直轴或Y轴中继和扩展光,并且将该光传递到可以沿着水平轴或X轴中继和扩展光的主平面波导632b。
该光学系统可以包括一个或多个彩色光源(例如,红色、绿色和蓝色激光)610,这些彩色光源可以被光学耦合到单模光纤640的近端中。可以穿过压电材料的中空管642来通过或接收光纤640的远端。远端作为非固定柔性悬臂644从管642突出。压电管642可以与四个象限电极(未示出)相关联。例如,电极可以被镀在管642的外侧、外表面或外周或外径上。芯电极(未示出)也可以位于管642的芯、中心、内周或内径中。
例如经由导线660电耦接的驱动电子器件650驱动相对的电极对以独立地在两个轴上弯曲压电管642。光纤644的突出远端顶端具有机械共振模式。共振的频率可以取决于光纤644的直径、长度和材料特性。通过在光纤悬臂644的第一机械共振模式附近振动压电管642,可以使得光纤悬臂644振动,并且可以扫过大的偏转。
通过激发两个轴上的共振,光纤悬臂644的顶端在遍及二维(2-D)扫描的区域中双轴扫描。通过与光纤悬臂644的扫描同步地调制一个或多个光源610的强度,从光纤悬臂644出射的光可以形成图像。美国专利公开No.2014/0003762中提供了这样的设置的描述,其通过引用全部并入本文中。
光学耦合器子系统的部件可以准直从扫描光纤悬臂644出射的光。准直光可以被镜面648反射到包含至少一个衍射光学元件(DOE)622a的窄分布平面波导622b中。准直光可以通过TIR沿分布平面波导622b垂直地(相对于图6的视图)传播,并且在这样做时与DOE622a反复相交。DOE 622a优选具有低衍射效率。这可导致一部分(例如,10%)光在与DOE622a的每一个交点处被衍射朝向较大的主平面波导632b的边缘,并且一部分光通过TIR在其原始轨迹上继续沿分布平面波导622b的长度向下。
在与DOE 622a的每一个交点处,附加光可以被衍射向主波导632b的入口。通过将入射光分成多个耦出组,光的出射光瞳可以在分布平面波导622b中被DOE 4垂直地扩展。从分布平面波导622b耦出的该垂直扩展的光可以进入主平面波导632b的边缘。
进入主波导632b的光可以经由TIR沿着主波导632b水平(相对于图6的视图)传播。由于光通过TIR沿着主波导632b的长度的至少一部分水平传播,因此光在多个点处与DOE632a相交。DOE 632a可以有利地被设计或构造成在操作期间具有相位轮廓,该相位轮廓是线性衍射图案和径向对称衍射图案的总和,以产生光的偏转和聚焦。DOE 632a可以有利地具有低衍射效率(例如,10%),使得DOE 632a的每一个交点只有一部分光束的光朝着视图的眼睛偏转,而其余的光经由TIR通过波导632b继续传播。
在传播光和DOE 632a之间的每一个交点处,一部分光朝着主波导632b的相邻面衍射,从而允许光脱离TIR,并且从主波导632b的面出射。在一些实施例中,DOE 632a的径向对称衍射图案另外向衍射光赋予聚焦水平,既对单独的光束的光波前(例如,赋予曲率)进行整形,也以与设计的聚焦水平相匹配的角度使光束转向。
因此,这些不同的路径可以通过多个DOE 632a以不同的角度、聚焦水平或在出射光瞳处产生不同的填充图案来使光耦合出主平面波导632b。出射光瞳处的不同填充图案可以有利地被用于创建具有多个深度平面的光场显示。波导组件中的每一层或堆叠中的一组层(例如3层)可被用于产生相应的颜色(例如,红色、蓝色、绿色)。因此,例如,可以采用第一组的三个相邻层在第一焦深处分别产生红光、蓝光和绿光。可以采用第二组的三个相邻层在第二焦深处分别产生红光、蓝光和绿光。可以采用多个组来产生具有各种焦深的全3D或4D彩色图像光场。
可穿戴系统的其它部件
在许多实施方式中,可穿戴系统可以包括其它部件,作为上述可穿戴系统的部件的补充或替代。可穿戴系统例如可以包括一个或多个触觉装置或部件。触觉装置或部件可以用于向用户提供触觉。例如,触觉装置或部件可以在触摸虚拟内容(例如,虚拟对象、虚拟工具、其它虚拟构造)时提供压力或纹理的触觉。触觉可以复制虚拟对象表示的物理对象的感觉,或者可以复制虚拟内容表示的想象的对象或人物(例如,龙)的感觉。在一些实施方式中,触觉装置或部件可由用户穿戴(例如,用户可穿戴的手套)。在一些实施方式中,触觉装置或部件可以由用户保持。
可穿戴系统例如可以包括可由用户操纵的一个或多个物理对象以允许输入或与可穿戴系统进行交互。这些物理对象在本文中可以被称为图腾。一些图腾可采取无生命对象的形式,诸如例如金属或塑料块、墙壁、桌子的表面。在某些实施方式中,图腾可能实际上不具有任何物理输入结构(例如,键、触发器、操纵杆、轨迹球、摇杆开关)。相反,图腾可以简单地提供物理表面,并且可穿戴系统可以呈现用户界面,以便对于用户而言看起来在图腾的一个或多个表面上。例如,可穿戴系统可以使计算机键盘和触控板的图像看起来驻留在图腾的一个或多个表面上。例如,可穿戴系统可以使虚拟计算机键盘和虚拟触控板看起来在作为图腾的铝的薄矩形板的表面上。矩形板本身没有任何物理键或触控板或传感器。然而,可穿戴系统可以检测用户操纵或交互或触摸该矩形板作为经由虚拟键盘或虚拟触控板进行的选择或输入。用户输入装置466(在图4中示出)可以是图腾的实施例,其可以包括触控板、触摸板、触发器、操纵杆、轨迹球、摇杆或虚拟开关、鼠标、键盘、多自由度控制器或另一物理输入装置。用户可以单独或与姿势结合使用图腾,以与可穿戴系统或其它用户进行交互。
在美国专利公开No.2015/0016777中描述了可用于本公开的可穿戴装置、HMD和显示系统的触觉装置和图腾的示例,其全部内容通过引用并入本文中。
可穿戴系统、环境和接口的示例
可穿戴系统可以采用各种与地图绘制相关的技术,以便在所呈现的光场中实现高景深。在绘制出虚拟世界时,了解真实世界中的所有特征和点以准确描绘与真实世界相关的虚拟对象是有利的。为此,可以通过包括传达关于真实世界的各种点和特征的信息的新图片,将从可穿戴系统的用户捕获的FOV图像添加到世界模型。例如,可穿戴系统可以收集一组地图点(诸如2D点或3D点)并找到新的地图点(map point)以呈现的世界模型的更精确版本。可以将第一用户的世界模型(例如,通过诸如云网络的网络)传达给第二用户,使得第二用户可以体验围绕第一用户的世界。
图7是MR系统700的示例的框图,该MR系统700是可操作的以处理与诸如房间的MR环境相关的数据。MR系统700可以被配置为接收来自一个或多个用户可穿戴系统(例如,可穿戴系统200或显示系统220)或固定房间系统(例如,室内相机等)的输入(例如,来自用户的可穿戴系统的视觉输入702、诸如房间相机的固定输入704、来自各种传感器的传感器输入706、来自用户输入装置466的用户输入、手势、图腾、眼睛跟踪等)。可穿戴系统可以使用各种传感器(例如,加速度计、陀螺仪、温度传感器、移动传感器、深度传感器、GPS传感器、面向内成像系统、面向外成像系统等)来确定用户环境的位置和各种其它属性。该信息可以进一步补充有来自房间中的固定相机的信息,该相机可以从不同的视点提供图像或各种线索。由相机(诸如房间相机和/或面向外成像系统的相机)获取的图像数据可以被缩减为映射点组。
一个或多个对象识别器708可以爬过(crawl through)接收到的数据(例如,点的集合)并且借助于地图数据库710来识别或映射点、标记图像,将语义信息附加到对象。地图数据库710可以包括随时间推移收集的各个点及其相应的对象。各种装置和地图数据库可以通过网络(例如LAN、WAN等)相互连接以访问云。
基于该信息和地图数据库中的点集合,对象识别器708a…708n(其中为了简单起见,仅示出了对象识别器708a和708n)可以识别环境中的对象。例如,对象识别器可以识别面部、人、窗户、墙壁、用户输入装置、电视、文件(例如,本文中的安全示例中所描述的旅行票、驾照、护照)用户环境中的其它对象等。一个或多个对象识别器可以专用于具有特定特性的对象。例如,对象识别器708a可用于识别面部,而另一对象识别器可用于识别文件。
可以使用各种计算机视觉技术来执行对象识别。例如,可穿戴系统可以分析由面向外成像系统464(如图4所示)获取的图像以执行场景重建、事件检测、视频跟踪、对象识别(例如,人或文件)、对象姿势估计、面部识别(例如,来自环境中的人或文件上的图像)、学习、索引、运动估计或图像分析(例如,识别文件中的标记,例如照片、签名、身份信息、旅行信息等)等等。可以使用一种或多种计算机视觉算法来执行这些任务。计算机视觉算法的非限制性示例包括:尺度不变特征变换(SIFT)、加速鲁棒特征(SURF)、定向FAST和旋转BRIEF(ORB)、二进制鲁棒不变可扩展关键点(BRISK)、快速视网膜关键点(FREAK)、Viola-Jones算法、特征脸方法、Lucas-Kanade算法、Horn-Schunk算法,均值漂移(Mean-shift)算法、视觉同步定位与地图构建(vSLAM)技术、序列贝叶斯估计器(例如,卡尔曼滤波器、扩展卡尔曼滤波器等)、光束法平差(bundle adjustment)、自适应阈值分割(和其它阈值分割技术)、迭代最近点(ICP)、半全局匹配(SGM)、半全局块匹配(SGBM)、特征点直方图、各种机器学习算法(例如,支持向量机、k最近邻算法、朴素贝叶斯、神经网络(包括卷积或深度神经网络)或其它有监督/无监督模型等)等等。
附加地或替代地,对象识别可以通过各种机器学习算法来执行。一旦经过训练,机器学习算法就可以由HMD存储。机器学习算法的一些示例可以包括有监督或无监督机器学习算法,包括回归算法(例如,普通最小二乘回归)、基于实例的算法(例如,学习向量量化)、决策树算法(例如,分类和回归树)、贝叶斯算法(例如,朴素贝叶斯)、聚类算法(例如,k均值聚类)、关联规则学习算法(例如,先验算法)、人工神经网络算法(例如,感知机)、深度学习算法(例如,深度玻尔茨曼机或深度神经网络)、降维算法(例如例如,主成分分析)、集合算法(例如,堆栈泛化)和/或其它机器学习算法。在一些实施例中,可以针对各个数据集定制各个模型。例如,可穿戴装置可以生成或存储基础模型。基础模型可以用作生成特定于数据类型(例如,远端临场会话中的特定用户)、数据集(例如,在远端临场会话中从用户处获得的附加图像集)、条件情况或其它变化的附加模型的起点。在一些实施例中,可穿戴HMD可以被配置为利用多种技术来生成用于分析聚合数据的模型。其它技术可包括使用预定义的阈值或数据值。
基于该信息和地图数据库中的点的集合,对象识别器708a至708n可以识别对象并用语义信息补充对象以赋予对象生命。例如,如果对象识别器将一组点识别为门,则系统可以附加一些语义信息(例如,该门具有铰链并且具有围绕铰链的90度移动)。如果对象识别器将一组点识别为镜子,则系统可以附加这样的语义信息:该镜子具有可以反射房间中对象的图像的反射表面。语义信息可以包括本文描述的对象的可供性(affordance)。例如,语义信息可以包括对象的法线。系统可以分配其方向指示对象的法线的向量。随着时间的推移,地图数据库随着系统(其可以驻留在本地或可以通过无线网络访问)累积来自世界的更多数据而增长。一旦识别出对象,就可以将该信息发送到一个或多个可穿戴系统。例如,MR系统700可以包括关于在加利福尼亚发生的场景的信息。关于场景的信息可以被发送给纽约的一个或多个用户。基于从FOV相机和其它输入接收的数据,对象识别器和其它软件组件可以映射从各种图像收集的点、识别对象等,使得该场景可以准确地“传递”给可能在世界的不同部分的第二用户。环境700也可以使用拓扑图来实现本地化目的。
图8是呈现与所识别的对象相关的虚拟内容的方法800的示例的过程流程图。方法800描述了如何将虚拟场景呈现给可穿戴系统的用户。用户可能在地理上远离该场景。例如,用户可能在纽约,但可能想要观看当前正在加利福尼亚发生的场景,或者可能想要与居住在加利福尼亚的朋友散步。
在框810处,可穿戴系统可以从用户和其他用户接收关于用户的环境的输入。这可以通过各种输入装置和在地图数据库中已有的知识来实现。在框810处,用户的FOV相机、传感器、GPS、眼睛跟踪等向系统传送信息。在框820处,系统可以基于该信息来确定稀疏点。稀疏点可用于确定姿势数据(例如,头部姿势、眼睛姿势、身体姿势或手部手势),这些数据可用于显示和理解用户周围环境中各种对象的取向和位置。在框830处,对象识别器708a-708n可以爬过这些收集的点并使用地图数据库识别一个或多个对象。然后可以在框840处将该信息传输给用户的个人可穿戴系统,并且可以在框850处相应地将期望的虚拟场景显示给用户。例如,可以相对于在纽约的用户的各种对象和其它环境以适当的取向、位置等显示所期望的虚拟场景(例如,位于CA的用户)。
图9是可穿戴系统的另一示例的框图。在该示例中,可穿戴系统900包括地图,该地图可以包括世界的地图数据。该地图可以部分地驻留在可穿戴系统本地,可以部分地驻留在可通过有线或无线网络(例如,在云系统中)访问的网络存储位置。姿势处理910可以在可穿戴计算架构(例如,处理模块260或控制器460)上被执行,并利用来自地图的数据而确定可穿戴计算硬件或用户的位置和取向。可以根据当用户正在体验系统并在世界中操作时实时收集的数据来计算姿势数据。该数据可以包括图像、来自传感器(例如惯性测量单元,其通常包括加速度计和陀螺仪部件)的数据和与真实或虚拟环境中的对象相关的表面信息。
稀疏点表示可以是同时定位与地图构建(例如,SLAM或vSLAM,是指其中输入只是图像/视觉的配置)过程的输出。该系统可以被配置为不仅找出各种部件在该世界中的位置,而且还找出该世界是由什么构成的。姿势可以是实现许多目标的构建块,包括填充地图和使用来自地图的数据。
在一个实施例中,稀疏点位置本身可能不完全足够,并且可能需要进一步的信息来产生多焦点AR、VR或MR体验。可以使用通常参考深度图信息的密集表示来至少部分地填充该间隙。这样的信息可以根据被称为立体处理(Stereo)940来计算,其中使用诸如三角测量或飞行时间感测的技术来确定深度信息。图像信息和有源(active)模式(诸如使用活动(active)投影仪创建的红外模式)可以用作立体处理940的输入。可以将大量深度图信息融合在一起,并且可以用表面表示来概括其中的一些。例如,数学上可定义的表面是诸如游戏引擎之类的其它处理装置的有效(例如,相对于大点云)且可消化的输入。因此,立体处理(例如,深度图)940的输出可以在融合处理930中组合。姿势950也可以是向该融合处理930的输入,并且融合930的输出变为填充(populate)地图处理920的输入。子表面可以彼此连接(例如在地形图中)以形成更大的表面,并且地图变成点和表面的大混合体。
为了解决混合现实处理960中的各个方面,可以使用各种输入。例如,在图9所示的实施例中,可以输入游戏参数以确定系统的用户正在玩打怪兽游戏,其中一个或多个怪兽位于各个位置,怪兽在各种条件下死亡或逃跑(例如如果用户射杀怪兽),墙壁或其它对象位于各个位置等等。世界地图可以包括有关这些对象在哪些位置彼此相关的信息,作为混合现实的另一有价值的输入。相对于世界的姿势也成为一种输入,并且几乎对任何交互系统起着关键作用。
来自用户的控制或输入是可穿戴系统900的另一输入。如本文所述,用户输入可包括视觉输入、手势、图腾、音频输入、感官输入等。为了四处移动或玩游戏,例如,用户可能需要指示可穿戴系统900关于他或她想要做什么。除了在空间中移动自己之外,存在可以利用的多种形式的用户控制。在一个实施例中,图腾(例如,用户输入装置)或诸如玩具枪之类的对象可由用户握持并由系统跟踪。该系统优选地被配置为知道用户正在握住商品并且理解用户与商品进行何种交互(例如,如果图腾或对象是枪,则系统可以被配置为了解位置和取向,以及用户是否正在点击触发器或其它可能配备有传感器的感测按钮或元件,例如IMU,其可以有助于确定正在发生的事情,即使这样的活动不在任何相机的视野内)。
手势跟踪或识别也可以提供输入信息。可穿戴系统900可以被配置为跟踪和解释按钮按压的手势,用于向左或向右打手势、停止、抓取、保持等。例如,在一种配置中,用户可能想要在非游戏环境中翻阅电子邮件或日历,或与其他人或玩家“击拳”。可穿戴系统900可以被配置为利用最小量的手势,该手势可以是动态的,也可以不是动态的。例如,手势可以是简单的静态手势,如张开手表示停止,拇指向上表示好(ok),拇指向下表示不好;或者左右或上下翻转手来做出方向命令。
眼睛跟踪是另一种输入(例如,跟踪用户正在看哪里以控制显示技术来在特定深度或范围进行呈现)。在一个实施例中,可以使用三角测量来确定眼睛的聚散度,然后使用为该特定人物开发的聚散度/调节模型,可以确定调节。眼睛跟踪可由眼睛相机执行以确定眼睛注视(例如,一只或两只眼睛的方向或取向)。其他技术可用于眼睛跟踪,例如通过被放置在眼睛附近的电极来测量电位(例如,眼电图)。
语音识别可以是另一输入,其可以单独使用或与其它输入(例如,图腾跟踪、眼睛跟踪、手势跟踪等)组合使用。系统900可以包括从环境中接收音频流的音频传感器(例如,麦克风)。接收到的音频流可以被处理(例如,通过处理模块260、270或中央服务器1650)以识别用户的语音(从其它语音或背景音频中),以从音频流中提取命令、参数等。例如,系统900可以从音频流中识别出已说出短语“向我展示你的身份”,识别出该短语是由系统900的穿戴者(例如,安全检查员而不是检查员环境中的另一人)说出的,并且从该短语和情景(例如,安全检查点)中提取到存在要被执行的可执行命令(例如,对佩戴者的FOV中的某物的计算机算法分析)和将针对其关于(“你的身份”)执行该命令的对象。系统900可以结合确定谁在说话的说话者识别技术(例如,讲话是来自ARD佩戴者还是其他人或声音(例如,由环境中的扬声器传输的录音))以及确定正在说什么的语音识别技术。语音识别技术可以包括频率估计、隐马尔可夫模型、高斯混合模型、模式匹配算法、神经网络、矩阵表示、矢量量化、说话者日记化(speaker diarisation)、决策树以及动态时间规整(DTW)技术。语音识别技术还可以包括反说话者技术,例如同类群组模型(cohort model)和世界模型。频谱特征可用于表示说话者特征。
关于相机系统,图9所示的示例性可穿戴系统900可包括三对相机:相对宽的FOV或被动SLAM相机对,其布置在用户面部的侧面,不同的相机对定位在用户前方以处理立体成像处理940且还捕获手势和在用户面部前方的图腾/对象跟踪。用于立体处理940的FOV相机和所述相机对可以是面向外成像系统464(在图4中示出)的一部分。可穿戴系统900可以包括眼睛跟踪相机(其可以是图4中所示的面向内成像系统462的一部分),眼睛跟踪相机朝向用户的眼睛取向,以便对眼睛向量和其它信息进行三角测量。可穿戴系统900可以还包括一个或多个纹理化光投影仪(例如红外(IR)投影仪)以将纹理注入到场景中。
图10是用于确定可穿戴系统的用户输入的方法1000的示例的过程流程图。在该示例中,用户可以与图腾交互。用户可能有多个图腾。例如,用户可能已经指定了一个图腾用于社交媒体应用,另一图腾用于玩游戏,等等。在框1010处,可穿戴系统可以检测图腾的移动。图腾的移动可以通过面向外的成像系统识别,或者可以通过传感器(例如,触觉手套、图像传感器、手部跟踪装置、眼睛跟踪相机、头部姿势传感器等)来检测。
在框1020处,至少部分地基于检测到的手势、眼睛姿势、头部姿势或通过图腾的输入,可穿戴系统检测图腾(或用户的眼睛或头部或手势)相对于参考框架的位置、取向或移动。参考框架可以是一组地图点,可穿戴系统基于该组地图点将图腾(或用户)的移动转换为动作或命令。在框1030处,映射(map)用户与图腾的交互。在框1040处,基于相对于参考框架1020的用户交互的映射,系统确定用户输入。
例如,用户可以前后移动图腾或物理对象以表示翻动虚拟页面并移动到下一页或者从一个用户界面(UI)显示屏移动到另一UI屏。作为另一示例,用户可移动他们的头部或眼睛以观看用户的FOR中的不同真实或虚拟对象。如果用户注视特定真实或虚拟对象的时间长于阈值时间,则可以选择该真实或虚拟对象作为用户输入。在一些实施方式中,可以跟踪用户眼睛的聚散度,并且可以使用调节/聚散度模型来确定用户眼睛的调节状态,其提供关于用户正在聚焦于的深度平面的信息。在一些实施方式中,可穿戴系统可以使用光线投射技术来确定哪些真实或虚拟对象沿着用户的头部姿势或眼睛姿势的方向。在各种实现方式中,光线投射技术可以包括投射具有基本上很小的横向宽度的细铅笔光线或具有横向宽度(例如,锥体或平截头体)的光线。
用户界面可由本文所述的显示系统(例如图2中的显示器220)投射。它还可以使用各种其它技术显示,例如一个或多个投影仪。投影仪可以将图像投射到诸如画布或地球仪之类的物理对象上。可以使用系统外部的或作为系统一部分的一个或多个相机(例如,使用面向内成像系统462或面向外成像系统464)来跟踪与用户界面的交互。
图11是用于与虚拟用户界面交互的方法1100的示例的过程流程图。方法1100可以由本文描述的可穿戴系统执行。可穿戴系统可以使用方法1100的实施例来检测可穿戴系统的FOV中的人或文件。
在框1110处,可穿戴系统可识别特定UI。UI的类型可以由用户预先确定。可穿戴系统可以基于用户输入(例如,姿势、视觉数据、音频数据、传感数据、直接命令等)识别需要填充特定UI。UI可以特定于安全场景,例如,系统的佩戴者正在观察向佩戴者出示文件的用户(例如,在旅行检查点)。在框1120处,可穿戴系统可以生成用于虚拟UI的数据。例如,可以生成与UI的界限(confine)、一般结构、形状等相关联的数据。另外,可穿戴系统可以确定用户的物理位置的地图坐标,使得可穿戴系统可以显示与用户的物理位置有关的UI。例如,如果UI以身体为中心,则可穿戴系统可以确定用户的身体位置(physical stance)的坐标、头部姿势或眼睛姿势,使得可以在用户周围显示环形UI,或者可以在墙壁上或在用户前方显示平面UI。在本文描述的安全情景中,UI可以被显示为好像UI围绕着向系统的佩戴者出示文件的旅行者,以使得佩戴者可以在查看旅行者和旅行者的文件的同时容易地查看UI。如果UI以手为中心,则可以确定用户的手的地图坐标。这些地图点可以借助通过FOV相机接收的数据、传感输入或任何其它类型的收集数据取得。
在框1130处,可穿戴系统可以从云向显示器发送数据,或者数据可以从本地数据库发送到显示部件。在框1140处,基于发送的数据向用户显示UI。例如,光场显示器可以将虚拟UI投射到用户的一只或两只眼睛中。在框1150处,一旦创建了虚拟UI,可穿戴系统只需等待来自用户的命令以生成在虚拟UI上的更多虚拟内容。例如,UI可以是围绕用户的身体或者在用户环境中的人(例如,旅行者)的身体的身体中心环。然后,可穿戴系统可以等待命令(姿势、头部或眼睛动作、语音命令、来自用户输入装置的输入等),并且如果它被识别(框1160),可以向用户显示与该命令相关联的虚拟内容(框1170)。
可穿戴系统、UI和用户体验(UX)的其它示例在美国专利公开No.2015/0016777中描述,其全部内容通过引用并入本文中。
(多个)持久坐标框架
在一些实施例中,可穿戴系统可以将一个或多个持久坐标框架(PCF)存储在地图数据库(诸如地图数据库710)内。PCF可以围绕真实世界(例如,用户的物理环境)中的空间中的不随时间改变的点来构建。在一些实施例中,PCF可以围绕空间中的在不随时间频繁地改变或者不太可能随时间改变的点建立。例如,与汽车上的点相比,建筑物上的点不太可能随着时间改变位置,因为大多数建筑物被设计成保持在一个位置,但是汽车被设计成将人和物从一个位置移动到另一个位置。
PCF可以提供指定位置的机制。在一些实施例中,PCF可以被表示为具有坐标系统的点。PCF坐标系统可以被固定在真实世界中,并且可能不会从会话到会话(即,当用户关闭系统然后再一次打开)而改变。
在一些实施例中,PCF坐标系统可以与本地坐标框架(local coordinate frame)对准,该本地坐标框架可以是在用户会话开始时由系统选择的空间中的任意点,使得PCF仅持续会话的持续时间。这样的PCF可以用于用户姿势确定。
PCF可以被记录在地图数据库中,诸如地图数据库710。在一些实施例中,系统确定一个或多个PCF并且将PCF存储在地图中,诸如真实世界的数字地图(其可以在本文描述系统中被实现为“世界网格”)。在一些实施例中,系统可以通过寻找随时间变化的特征、点和/或对象来选择PCF。在一些实施例中,系统可以通过寻找在系统上的用户会话之间不改变的特征、点、对象等来选择PCF。该系统可以使用一个或多个计算机视觉算法,可选地与其他基于规则的算法相结合,该算法查找上述特征中的一个或多个。上文在对象识别的上下文中描述了计算机视觉算法的示例。在一些实施例中,PCF可以是多个应用或其他系统过程可以利用的系统级确定。在一些实施例中,可以在应用级确定PCF。因此,应当理解,PCF可以以多种方式中的任一种来表示,诸如在表示可穿戴系统周围的物理世界的传感器数据中可识别的一个或多个点或特征的集合。
世界网格
3D重建是3D计算机视觉技术,其将图像(例如,彩色/灰度图像、深度图像等)作为输入并且(例如,自动地)生成表示观察到的场景(诸如用户的环境和/或真实世界)的3D网格。在一些实施例中,表示观察到的场景的3D网格可以被称为世界网格。3D重建在虚拟现实、映射、机器人、游戏、文件制作等方面具有许多应用。
作为示例,3D重建算法可以接收输入图像(例如,彩色/灰度图像、彩色/灰度图像+深度图像或仅深度图像),并且适当地处理输入图像以形成捕获的深度图。例如,可使用来自彩色图像的多视角立体算法来生成被动深度图,以及可使用主动感测技术(例如,结构光深度传感器)来获得主动深度图。尽管示出了以下示例,但是本申请的实施例可以利用可以从任何合适的世界网格创建方法生成的世界网格。本领域普通技术人员将认识到许多变化、修改和替换。
图17是示出用于使用捕获的深度图中的多个框架来创建场景的3D网格的方法的简化流程图。参考图17,示出了用于从捕获的深度图中的多个框架来创建场景的3D模型的方法,该3D模型例如表示与场景相关联的3D表面的3D三角形网格。方法1700包括接收一组捕获的深度图(1702)。捕获的深度图是深度图像,其中每个像素具有相关联的深度值,该深度值表示从像素到获得深度图像的相机的深度。与可具有每像素三个或多个通道(例如,具有红色、绿色及蓝色分量的RGB图像)的彩色图像相比,深度图可具有每像素单个通道(即,距相机的像素距离)。接收该组捕获的深度图的过程可以包括处理输入图像,例如RGB图像,以产生一个或多个捕获的深度图,也被称为捕获的深度图的框架。在其他实施例中,捕获的深度图是使用飞行时间相机、LIDAR、立体相机等来获得的,并且因此由系统接收。
该组捕获的深度图包括来自不同相机角度和/或位置的深度图。作为示例,深度图流可以由移动深度相机提供。随着移动深度相机摇摄(pan)和/或移动,深度图被产生作为深度图像流。作为另一示例,静止的深度相机可用于从不同角度和/或不同位置或其组合来收集场景的部分或全部的多个深度图。
方法还包括将与参考框架(reference frame)中的该组捕获的深度图相关联的相机姿势对准(1704),并且覆盖参考框架中的该组捕获的深度图(1706)。在一个实施例中,利用姿势估计的过程来对准来自所有相机的深度点并且在3D世界坐标中创建局部和全局一致的点云。来自世界坐标中的相同位置的深度点应当被对准以尽可能接近彼此。然而,由于深度图中存在的不准确性,所以姿势估计通常不是完美的,尤其是在诸如墙壁的拐角、墙壁的端部、室内场景中的门框架等的结构特征上,这在这些结构特征存在于所生成的网格中时导致这些结构特征上的伪影。此外,当网格边界被视为遮挡物(即,遮挡背景对象的对象)时,这些不准确性可能加剧,因为伪影对于用户而言将更加明显。
为了对准指示与每个深度图像相关联的相机的位置和取向的相机姿势,深度图被覆盖并且相邻和/或重叠像素的位置的差异被减小或最小化。一旦已调整像素在参考框架中的位置,则调整和/或更新相机姿势以将相机姿势与调整的像素位置对准。因此,在参考框架中对准相机姿势(1706)。换句话说,可以通过基于估计的相机姿势将所有深度图的深度点投射到参考框架(例如,3D世界坐标系统)来创建渲染的深度图。
该方法还包括执行体积融合(1708)以形成重建的3D网格(1710)。体积融合过程可以包括将多个捕获的深度图融合到体积表示中作为观察到的场景的符号距离函数的离散化版本。3D网格生成可以包括使用移动立方体算法(marching cubes algorithm)或其他合适的方法来从3D空间中的体积表示提取多边形网格。
描述用于创建真实世界环境的3D网格(例如,世界网格)的方法和系统的进一步细节在名称为“Methods and Systems for Detecting and Combining StructuralFeatures in 3D Reconstruction(用于在3D重建中检测和组合结构特征的方法和系统)”的序列号为15/274,823的美国非临时专利申请中提供,其全部内容通过引用被明确地并入本文。
用户操纵过程
图12示出了使用本文描述的系统和方法的用户交互的示例过程1200,其中用户可以创建并保存场景,然后稍后打开该场景。例如,用户可以在AR/VR/MR可穿戴系统(诸如上述可穿戴系统200和/或900)上玩游戏。游戏可以使用户能够利用虚拟块来构建虚拟结构。用户可以花费全天来构建详尽的结构,例如,用户的房屋的复制品,并且希望保存该结构以供以后使用。用户可能希望最终构建用户的整个邻近地区或城市。如果用户保存用户的房屋,则用户能够例如在下一天重新打开房屋并继续关于邻近地区的工作。由于许多邻近地区重复使用家庭设计,因此用户可能能够构建并单独地保存五个基本设计,并且将这些设计一次或多次加载到单个场景中以便构建邻近地区。然后,可以将邻近地区场景保存为附加场景。如果用户希望继续构建,则在一些实施例中,用户可以结合五个基本家庭设计中的一个或多个来加载邻近地区场景中的一个或多个,以继续构建整个城市。
用户可以选择保存块设计(即,单个墙壁、单个房屋、房屋的整个街道、邻近区域等)的任何组合,以便随后在未来的游戏/设计中再次使用。
在该示例中,用户通过选择用作发起捕获过程的控制的图标来发起存储场景的过程。在步骤1202处,用户可以选择相机图标。在一些实施例中,图标可以不是相机,但是可以是系统上的计算机程序或代码的不同视觉表示(例如,文本、图像等),该计算机程序或代码能够在系统上创建虚拟相机。例如,视觉表示可以是字,诸如“相机”、“启动相机”、或“拍摄图片”,或者视觉表示可以是图像,诸如相机的图像、图片的图像、花的图像或人的图像。可以使用任何合适的视觉表示。
当用户选择相机图标或虚拟相机的视觉表示时,虚拟相机可以出现在用户的环境中。虚拟相机可以与用户交互。例如,用户可以通过相机的FOV查看虚拟相机以查看真实世界内容和虚拟世界内容、用户可以抓握虚拟相机并且围绕相机移动相机、和/或用户可以通过用户菜单来操纵相机(例如,以取消虚拟相机、拍摄图片等)。在一些实施例中,用户交互如上所述,例如在图9-11中所述的。在一些实施例中,虚拟相机可以通过可穿戴装置提供与用户的FOV相同的FOV。在一些实施例中,虚拟相机可以提供与用户的右眼、用户的左眼或用户的两只眼睛相同的FOV。
在步骤1204处,可操作虚拟相机,直到其框住场景。在一些实施例中,相机可以使用基于用户偏好的技术来框住场景,用户偏好可以指定选择场景的方式。例如,当虚拟相机被首次显示给用户时,框架最初可以是通过虚拟相机取景器(即,示出镜头和/或相机系统的视场的装置或相机的部分)的默认视图。取景器可以呈现给用户作为在虚拟相机上显示的预览图像,这类似于真实世界数码相机在真实世界相机的背面上具有在图像被捕获之前用于预览图像的显示器。在一些实施例中,用户可以操纵相机以改变场景的框架。被改变的框架可以改变在虚拟相机上显示的预览图像。例如,用户可以通过按如上所述的多DOF控制器(诸如图腾)上的按钮来选择虚拟相机,并且移动图腾以便移动虚拟相机。一旦用户通过虚拟相机具有期望的视图,用户就可以释放按钮以停止虚拟相机的移动。虚拟相机可在一些或所有可能的平移(例如,左/右、前/后或上/下)或旋转(例如,偏航、俯仰或滚动)中移动。可以使用替代的用户交互,诸如用于虚拟相机选择的按钮的点击和释放、以及按钮的第二点击和释放以释放虚拟相机。可以使用其他交互以便通过虚拟相机来框住场景。
虚拟相机可以在步骤1204期间向用户显示预览图像。预览图像可以包含在虚拟相机FOV内的虚拟内容。替代地或附加地,在一些实施例中,预览图像可以包括世界网格数据的视觉表示。例如,用户可以在与真实沙发相同的位置在虚拟相机FOV内看到真实世界沙发的网格版本。虚拟内容和网格数据可以是空间上正确的。例如,如果虚拟化身坐在真实世界沙发上,则虚拟化身将在相同地点、取向和/或位置出现为坐在网格沙发上。在一些实施例中,在预览图像中仅显示虚拟内容。在一些实施例中,以与在真实世界中放置虚拟内容相同的空间布置使虚拟内容被预览。在一些实施例中,以不同的空间布置(诸如簇(cluster)、行、圆或其他合适的布置)使虚拟内容被预览。
在一些实施例中,系统可以通过虚拟相机自动地框住场景,例如,以包括通过取景器可能的最大数量的虚拟对象。可使用自动场景框住的替代方法,例如框住虚拟场景,以使得用户的FOV与虚拟相机FOV相匹配。在一些实施例中,系统可以使用对象的层级来自动地框住场景,以使得较高优先级对象位于框架内。例如,诸如人、狗、猫、鸟等的有生命的生物可以比无生命对象(诸如桌子、椅子、杯子等)具有更高的优先级。可以使用其他合适的方法来自动地框住场景或创建用于自动框住的优先级系统。
不管场景如何被框住,系统可以捕获保存的场景数据。保存的场景数据可以由增强现实系统使用以在保存的场景稍后被打开时渲染场景中的虚拟内容。在一些实施例中,保存的场景可以包括相对于彼此处于空间上固定的位置的保存的场景对象。
在一些实施例中,保存的场景数据可以包括完全表示保存的场景的数据,因此该场景可以在稍后的时间和/或在与该场景被保存时的位置不同的时间和位置被重新渲染。在一些实施例中,保存的场景数据可以包括系统所需的数据,以便向用户渲染和显示保存的场景。在一些实施例中,保存的场景数据包括保存的PCF、保存的场景的图像和/或保存的场景对象。
在一些实施例中,当保存的场景被保存时,保存的PCF可以是距用户最近的PCF。在一些实施例中,保存的PCF可以是被框住的场景内的PCF(步骤1204)。在一些实施例中,保存的PCF可以是当场景被保存时在用户的FOV和/或FOR内的PCF。在一些实施例中,可存在可用于保存的多于一个的PCF。在这种情况下,系统可以自动选择最可靠的PCF(根据上面的PCF描述,例如为最不可能随时间而改变的PCF)。在一些实施例中,保存的场景数据可以具有与保存的场景相关联的多于一个的PCF。保存的场景数据可以指定主PCF和一个或多个备用或辅助PCF。
在一些实施例中,当场景被保存时,可以基于被框住的场景内的对象来确定将被保存为场景的一部分的虚拟对象。例如,保存的场景对象可以是在场景被保存时看起来是位于用户的真实世界环境中的虚拟对象(例如,数字内容)。在一些实施例中,保存的场景对象可以排除保存的场景内的一个或多个(直到全部)用户菜单。在一些实施例中,保存的场景对象包括虚拟相机的FOV内的所有虚拟对象。在一些实施例中,保存的场景对象包括在用户的FOR内的用户可以在真实世界中感知的所有虚拟内容。在一些实施例中,保存的场景对象包括在用户的FOV内的用户可以在真实世界中感知的所有虚拟内容。在一些实施例中,保存的场景对象包括在用户环境中的所有虚拟对象,而不管虚拟内容是否在虚拟相机的FOV、用户的FOV和/或用户的FOR内。在一些实施例中,保存的场景对象可以包括用户环境内的虚拟对象的任何子集。子集可以基于一个标准,诸如虚拟对象的类型,例如一个子集合可以用于构建块,并且不同的子集合可以用于建筑物周围的景观(即,植物)。下面结合图13A描述用于保存场景的示例性过程。
除了存储虚拟内容和位置信息之外,在步骤1206中,系统可以捕获被框住的场景的图像。在一些实施例中,当用户提供用户交互时,诸如通过手势、通过用户头部姿势、通过用户眼睛注视和/或任何其他合适的用户交互,捕获图像。在一些实施例中,系统可以自动捕获图像。当系统已经完成自动框住场景时,系统可以自动地捕获图像,如在步骤1204的一些实施例中的那样。在一些实施例中,系统可以例如,通过使用定时器(例如,如果自从用户最后一次移动相机以来已经过去5秒,则系统将自动捕获图像)在用户步骤1204中框住场景之后自动捕获图像。可以使用自动图像捕获的其他合适的方法。在一些实施例中,可以响应于触发图像的捕获的相同事件来发起场景的存储,但是在一些实施例中,可以独立地控制这两个动作。
在一些实施例中,所捕获的图像可以被保存到永久存储器,诸如硬盘驱动器。在一些实施例中,永久存储器可以是如上所述的本地处理和数据模块260。在一些实施例中,当捕获图像时,系统可以保存场景。在一些实施例中,所捕获的图像可以包括虚拟对象、世界网格、真实世界对象和/或具有可渲染数据的任何其他内容。在一些实施例中,用户可能希望保存多于一个场景,并且因此过程可以循环回到步骤1202。描述与捕获包括虚拟对象和真实世界对象的图像相关的方法和系统的进一步细节在名称为“Technique forrecording augmented reality data(用于记录增强现实数据的技术)”的序列号为15/924,144(现在,公开号为US2018/0268611)的美国非临时专利申请,其全部内容通过引用被明确地并入本文。
在步骤1208处,可以选择保存的场景图标。保存的场景图标可以是在步骤1206中捕获的被框住的场景。在一些实施例中,保存的场景图标可以是保存的场景的任何合适的视觉表示。在一些实施例中,保存的场景图标可以包括在步骤1209中捕获的图像。例如,保存的场景图标可以呈现(appear)为其中一侧包括捕获的图像的3D盒子。在一些实施例中,保存的场景图标可以是一个或多个保存的场景图标中的一个。保存的场景图标可以被呈现在为保存的场景选择而设计的用户菜单中。
一旦场景被保存,它们就可以由用户打开,使得保存场景中的虚拟内容出现在为其打开场景的用户的增强现实环境中。在到增强现实系统的示例性用户界面中,可以通过以指示用于对触发场景的打开的图标进行选择的方式选择保存的场景图标来打开场景。例如,该指示可以经由用户发起诸如加载图标的命令,或者可以从上下文推断。在一些实施例中,用户可以选择保存的场景图标。用户可以使用任何合适的用户交互(诸如按钮的点击、手势和/或语音命令)来选择保存的场景图标。在一些实施例中,系统可以自动选择保存的场景图标。例如,系统可以基于用户位置来自动选择保存的场景图标。系统可以自动选择与先前在用户当前所处的房间中保存的被保存的场景相对应的保存的场景图标。在一些实施例中,系统可以基于情景自动选择保存的场景图标。例如,如果用户在学校保存了场景,则系统可以在用户处于任何教育设置的情况下自动选择保存的场景。
图12包括用于选择和打开保存的场景的步骤。在步骤1210处,保存的场景图标从其默认位置移动。在一些实施例中,保存的场景图标位于保存的场景用户菜单内,该菜单可以包含表示一个或多个保存的场景的一个或多个保存的场景图标。在一些实施例中,保存的场景图标不位于保存的场景用户菜单中,而是孤立的图标。例如,保存的场景图标可以被自动地放置在保存的场景内。作为具体示例,保存的场景图标可以被自动地放置在保存的PCF位置或用户在保存场景时所位于的位置。
在步骤1212处,保存的场景图标可以被放置在用户的环境中。在一些实施例中,用户可以通过例如按下多DOF控制器上的按钮来从保存的场景用户菜单中选择保存的场景图标1208。通过移动控制器,用户然后可以将保存的场景图标从用户菜单中拉出1210,然后通过释放多DOF控制器上的按钮来放置保存的场景图标1212。在一些实施例中,用户可以通过例如按下多DOF控制器上的按钮来从默认的被保存的PCF位置来选择保存的场景图标1208。然后,用户可以通过释放多DOF控制器上的按钮来将保存的场景图标从默认的保存的PCF位置移出1210,然后例如更靠近用户的当前位置地放置保存的场景图标1212。在一些实施例中,系统可以自动地放置保存的场景图标1212。例如,系统可以自动地将保存的场景图标移动到距用户的固定距离,或者可以自动地将保存的场景图标相对于多DOF控制器(诸如在图腾的尖端处)放置。在一些实施例中,系统可在执行特定手势(例如,捏合或点手势)的情况下自动将保存的场景图标放置在相对于用户的手的固定位置。可以使用任何其他合适的方法来放置保存的场景图标1212,无论该放置是由系统自动执行还是由用户执行。
在步骤1212之后,保存的场景图标可被实例化1220成原始场景的副本,或者保存的场景图标可由步骤1214-1218进一步操纵。
在步骤1214处,用户可以选择指示保存的场景将被打开的位置的视觉锚节点的位置。一旦选择了视觉锚定节点,当保存的场景被打开时,系统可以利用与视觉锚节点对准的保存的场景锚节点来渲染保存的场景中的虚拟内容,使得虚拟内容出现为具有相对于视觉锚节点的相同的空间关系,该视觉锚节点具有保存的场景锚节点。在一些实施例中,保存的场景图标可以指示视觉锚节点的位置。在一些实施例中,保存的场景图标可以在被放置1212之后改变其视觉表示,以包括先前对用户不可见的视觉锚节点。在一些实施例中,可以用视觉锚节点的不同视觉表示来替换保存的场景图标。在一些实施例中,保存的场景图标和视觉锚节点是相同的。在一些实施例中,视觉锚节点可以是来自保存的场景图标的单独图标,从而提供保存的场景锚节点的视觉表示。
保存的场景锚节点可以是所有保存的场景对象相对其而放置的根节点,以便维持保存的场景内的保存的场景对象之间的一致的空间相关性。在一些实施例中,保存的场景锚节点是表示保存的场景数据的至少一部分的保存的场景节点层级中的最高级节点。在一些实施例中,保存的场景锚节点是表示保存的场景数据的至少一部分的分层结构中的锚节点。在一些实施例中,保存的场景锚节点可以充当用于将保存的场景对象相对于彼此放置的参考点。在一些实施例中,保存的场景锚节点可以表示保存的场景对象的场景图。
不管视觉锚节点如何呈现给用户,用户可通过用户界面指示系统设置视觉锚节点的位置。在步骤1216处,用户可以移动视觉锚节点。在一些实施例中,当移动视觉锚节点时,虚拟场景对象与视觉锚节点一起移动。在一些实施例中,视觉锚节点是保存的场景锚节点的视觉表示。在一些实施例中,视觉锚节点可以提供用于操纵保存的场景锚节点位置和取向的点和坐标框架。在一些实施例中,移动视觉锚节点1216可意味着平移、旋转和/或6DOF移动。
在步骤1218中,用户可以放置视觉锚节点。在一些实施例中,例如,用户可以通过推图腾上的按钮来选择视觉锚节点1214。然后,用户可以在用户的真实世界环境内移动视觉锚节点1216,接着通过例如释放图腾上的按钮来放置视觉锚节点1218。移动视觉锚节点使得相对于用户的真实世界移动整个保存的场景。步骤1214-1218可用于移动用户的真实世界内的所有保存的场景对象。一旦保存的场景处于期望的位置,则可以实例化保存的场景1220。在步骤1220处,实例化保存的场景可以意味着保存的场景的完整副本被呈现给用户。然而,应当理解,保存的场景中的虚拟内容可以被呈现为具有与由增强现实系统渲染的其他虚拟内容相同的物理和其他特性。在保存的场景被打开的位置中被物理对象遮挡的虚拟内容对于用户而言可能是不可见的。同样地,虚拟内容的位置(其由相对于视觉场景锚节点的位置来确定的)可以位于用户FOV之外,并且同样在打开场景时也可能不可见。然而,增强现实系统可以具有关于可用于呈现的该虚拟内容的信息,这可以在用户的姿势或环境改变时发生,使得该虚拟内容对于用户变得可见。
在步骤1220之后,该过程可以在步骤1208处开始重复。该循环可以使得用户能够将多于一个保存的场景一次加载到用户的环境中。
在一个示例性实施例中,过程1200从已经将一个或多个部件虚拟对象片段组装到场景中的用户开始,诸如用户从部件(例如,作为来自应用的可操纵对象而被预先设计的、预加载的、提供的)虚拟构件块来构建用户的房屋的复制品。用户然后选择相机图标1202、框住场景1204以帮助用户记住该场景包括什么,然后用户按下按钮以捕获用户房屋的复制品的图像1206。此时,用户的房屋的复制品被保存到系统,并且与用户的房屋的复制品相对应的保存的场景图标可以在保存的场景用户菜单中被显示给用户。用户可以关闭系统,转到用于夜间的床,然后在下一天继续构建。用户可以通过以下方式来从保存的场景用户菜单中选择与用户的房屋的复制品对应的保存的场景图标1208:点击图腾上的按钮、将保存的场景从保存的场景用户菜单拉出1210、然后通过将保存的场景图标拖动到期望的位置并释放图腾上的按钮来将保存的场景图标放置在用户前方1212。保存的场景对象的预览可以自动呈现给用户,其中视觉锚节点相对于保存的场景对象居中定位。预览可以呈现为保存的场景的被洗白的(white-washed)、空间上正确的、仅可视的副本。用户可以基于该预览来决定改变保存的场景所在的位置,并且因此可以通过点击图腾上的按钮来选择视觉锚节点1214、通过移动图腾来移动视觉锚节点1216(其可以使得所有保存的场景对象与视觉锚节点一起移动,以维持到视觉锚节点的相对定位并且位置在保存的场景对象之间内部地相对定位)、然后通过释放图腾上的按钮将视觉锚节点放置1218在用户的环境中的不同位置。用户然后可以从用户菜单中选择“加载场景”虚拟按钮,这可以使保存的场景实例化1220,并且因此通过渲染完整的保存的场景数据(例如,原始场景的精确副本,除了潜在地在与其被保存的位置不同的位置之外的)来完整地加载虚拟场景。
用于保存场景的过程
图13A示出了使用本文描述的系统和方法来保存场景的示例过程1300a。过程1300a可以开始于已经打开并且在AR/VR/MR可穿戴系统(诸如上述可穿戴系统200和/或900)上运行的应用,其可以使得用户能够将一个或多个预先设计的虚拟对象放置到用户的真实世界环境中。用户的环境可能已经被网格化(例如,已经创建了对应用可用的世界网格)。在一些实施例中,世界网格可以是到地图数据库(例如来自图7和/或图8的地图数据库710)的输入。世界网格可以与来自其他用户的世界网格或者来自同一用户的来自不同会话和/或随时间的世界网格组合,以形成被存储在地图数据库中的更大的世界网格。更大的世界网格可以被称为可传递的(passable)世界,并且除了对象标签、位置标签等之外,还可以包括来自真实世界的网格数据。在一些实施例中,可用于应用的网格状真实世界环境可以是任何大小,并且可以由可穿戴系统的处理能力来确定(可能不超过被分配给应用的最大分配的计算资源)。在一些实施例中,可用于应用的网格状真实世界环境(世界网格)可以具有十英尺高度的15英尺(foot)乘15英尺的足迹(footprint)。在一些实施例中,可用于应用的世界网格可以是房间的大小或用户所处的建筑物的大小。在一些实施例中,当应用被首次打开时,可用于应用的世界网格大小和形状可以是由可穿戴系统网格化的第一300平方英尺。在一些实施例中,可用于应用的网格是第一区域或体积,直到已经满足最大阈值。只要可穿戴系统具有可用的计算资源,就可以以任何数量使用任何其它表面区域或体积测量。可用于应用的世界网格的形状可以是任何形状。在一些实施例中,可以针对可用于应用的世界网格限定表面区域,该表面区域可以具有正方形、矩形、圆形、多边形等的形状,并且可以是一个连续区域或两个或更多个不连续的区域(例如,只要总和不超过最大表面面积阈值)。在一些实施例中,可以为可用于应用的世界网格限定体积,该体积可以是立方体、球、圆环、圆柱体、长方体、圆锥、角椎体、棱柱体等,并且可以是连续的体积或者可以是两个或更多个不连续的体积(例如,只要总和不超过最大体积阈值)。
示例过程1300a可以在如针对图12所描述的选择相机图标时的步骤1202处开始。步骤1202可以使系统将虚拟渲染相机放置到虚拟渲染场景中1304。虚拟渲染场景可以是对用户可用的所有可渲染的虚拟内容的数字表示,该数字表示通过在一个或多个处理器(例如处理模块260或270或远程数据存储库280或可穿戴系统200)上操纵而创建。一个或多个虚拟渲染相机可以被放置在虚拟渲染场景中。虚拟渲染相机可以与真实世界相机类似地起作用,因为虚拟渲染相机在(虚拟渲染世界)空间中具有位置和取向,并且可以从该位置和取向捕获3D场景的2D图像。
虚拟渲染相机可以充当用于可穿戴系统的渲染管线(pipeline)的输入,其中虚拟渲染相机的位置和取向限定用户环境的一部分,包括在环境的该部分中呈现的虚拟内容,该虚拟内容将被渲染给用户以作为对渲染相机正指向什么的指示。渲染管线可以包括为了使可穿戴系统将数字数据转换成准备好显示给用户的虚拟内容所需的一个或多个过程。在一些实施例中,可以在渲染引擎中发生可穿戴系统的渲染,渲染引擎可以位于图形处理单元(GPU)中,该GPU可以是处理模块160和/或270的一部分或被连接到处理模块160和/或270。在一些实施例中,渲染引擎可以是GPU中的可以向显示器220提供图像的软件模块。在一些实施例中,虚拟渲染相机可以在位置和取向处被放置在虚拟渲染场景中,使得虚拟渲染相机具有与通过虚拟相机取景器的默认视图相同的视角和/或FOV,如在图12的上下文中所描述的。
在一些实施例中,虚拟渲染相机,其有时也被称为“渲染相机”、“针孔透视相机”(或简称为“透视相机”)或“虚拟针孔相机”,是用于在对可能来自虚拟世界中的对象的数据库的虚拟图像内容进行渲染时使用的模拟相机。对象可以具有相对于用户或佩戴者并且可能相对于用户或佩戴者周围的环境中的真实对象的位置和取向。换句话说,渲染相机可以表示渲染空间内的视角,用户或佩戴者从该视角来查看虚拟渲染世界空间的3D虚拟内容(例如,虚拟对象)。用户可以通过查看从虚拟渲染相机的视角捕获的2D图像来查看渲染相机视角。渲染相机可由渲染引擎管理以基于虚拟对象的数据库来渲染要被呈现给所述眼睛的虚拟图像。虚拟图像可以被渲染为好像从用户或佩戴者的视角,从可在步骤1204中框住场景的虚拟相机的视角、或从任何其他期望的视角拍摄的。例如,虚拟图像可以被渲染为好像由具有特定的本征参数(例如,焦距、相机像素大小、主点坐标、歪斜/失真参数等)集合以及特定的外部(extrinsic)参数(例如,相对于虚拟世界的平移分量和旋转分量)集合的针孔相机(对应于“渲染相机”)捕获。从具有渲染相机的位置和取向(例如,渲染相机的外部参数)的此类相机的视角来获取虚拟图像。
系统可以限定和/或调整本征和外部渲染相机参数。例如,系统可以限定外部渲染相机参数的特定集合,使得虚拟图像被渲染为好像从具有相对于用户或佩戴者的眼睛的特定位置的相机的视角来捕获的虚拟图像,以便提供看起来从用户或佩戴者的视角查看的图像。系统可以稍后动态地即时调整外部渲染相机参数,以便维持与所述特定位置的配准,以例如用于眼睛跟踪。类似地,本征渲染相机参数可以随时间被限定和动态调整。在一些实施方案中,图像被呈现为从具有在相对于用户或佩戴者的眼睛的特定位置(例如,透视中心或旋转中心或其它地方)处的光圈(例如,针孔)的相机的视角捕获的图像。
描述与渲染管线和渲染相机相关的方法和系统的进一步细节在名称为“Methodsand Systems for Detecting and Combining Structural Features in 3DReconstruction(用于在3D重建中检测和组合结构特征的方法和系统)”的序列号为15/274,823的美国非临时专利申请以及名称为“Virtual,augmented,and mixed realitysystems and methods(虚拟、增强和混合现实系统和方法)”的序列号为15/683,677的美国非临时专利申请中提供,其全部内容再次通过引用明确地并入本文。
在步骤1306处,系统可以渲染被框住的场景1306,如在步骤1204中所框住的。在一些实施例中,当在场景框住1204期间或者在任何其他合适的时间使虚拟相机的位置和/或取向改变时,系统可以以由系统限定的常规刷新速率来渲染被框住的场景。在一些实施例中,当虚拟相机在步骤1204期间移动时,虚拟渲染相机随虚拟渲染场景内的对应移动而移动以维持与虚拟相机视角对应的视角。在一些实施例中,虚拟渲染相机可以请求可用于虚拟渲染相机的所有可渲染数据被发送到渲染管线。可渲染数据可以是可穿戴系统所需的数据的集合,以便向用户显示虚拟内容。可渲染数据可以是可穿戴系统所需的数据的集合,以便渲染虚拟内容。可渲染数据可以表示虚拟渲染相机的视场中的虚拟内容。可替换地或附加地,可渲染数据可以包括表示物理世界中的对象的数据,该数据从利用可穿戴系统的传感器获取的物理世界的图像提取并且被转换成能够被渲染的格式。
例如,能够从利用可穿戴增强现实系统的相机收集的图像生成的原始世界网格数据可能不是可渲染的。原始世界网格数据可以是顶点的集合,并且因此不是可以作为3D对象或表面被显示给用户的数据。原始文本格式的原始世界网格数据可包括顶点,该顶点包括相对于虚拟相机(和虚拟渲染相机,因为它们的视角是同步的)的位置的三个点(x、y和z)。原始文本格式的原始世界网格数据例如还可以包括表示其他节点或顶点的数据,每个顶点连接到。每个顶点可以被连接到一个或多个其它顶点。在一些实施例中,世界网格数据可以被认为是空间中的位置并且是指定顶点被连接到的其他节点的数据。原始世界网格数据中的顶点和连接顶点数据随后可用于构建多边形、表面,并因此构建网格,但是将需要额外的数据来使得原始世界网格数据是可渲染的。例如,着色器或能够执行相同功能的任何其它程序可用于可视化原始世界网格数据。该程序可以遵循一组规则来自动地、计算地可视化原始世界网格数据。着色器可被编程为在每一顶点位置绘制点,且接着在每个顶点与连接到该顶点的一组顶点之间绘制线。着色器可以被编程为可视化一个或多个颜色、图案等(例如,蓝色、绿色、彩虹、棋盘等)中的数据。在一些实施例中,着色器是被设计成示出世界网格数据中的点和连接的程序。在一些实施例中,着色器可连接线和点以创建可在其上添加纹理或其它视觉表现的表面。在一些实施例中,可渲染的世界网格数据可以包括UV数据,诸如UV坐标。在一些实施例中,可渲染的世界网格数据可包括深度检查以确定在原始世界网格数据内的顶点之间的重叠或遮挡(obstruction),或可替代地可以在渲染管线内执行深度检查作为单独的过程。在一些实施例中,应用着色器和/或其他过程以可视化原始世界网格数据使得用户能够可视化并且随后查看通常是非视觉数据的内容。在一些实施例中,可以使用针对原始世界网格数据描述的过程将其他原始数据或传统上的非视觉数据转换为可渲染数据。例如,可以例如通过应用着色器来可视化具有空间中的位置的任何事物。在一些实施例中,PCF可以被可视化,诸如通过提供限定可类似于PCF而定位和定向的图标的数据。
可渲染数据(例如,可渲染的3D数据、3D可渲染的数字对象)的另一示例是用于3D虚拟对象的数据,该3D虚拟对象诸如视频游戏中的字符、虚拟化身或如针对图12所描述的用于构建用户的房屋的复制品的构建块。用于3D虚拟对象的可渲染数据可以包括网格数据和网格渲染数据。在一些实施例中,网格数据可以包括顶点数据、正常数据、UV数据和/或三角形索引数据中的一个或多个。在一些实施例中,网格渲染数据可以包括一个或多个纹理数据集、以及一个或多个属性(诸如材料属性,诸如光泽、反射水平、粗糙度、扩射颜色、环境颜色、反射颜色等)。
在一些实施例中,虚拟渲染相机可以具有确定要被渲染的可渲染数据的子集的设置。例如,虚拟渲染相机可以能够渲染三组可渲染数据:虚拟对象、世界网格和PCF。虚拟相机可以被设置为仅渲染虚拟对象、仅渲染世界网格、仅渲染PCF、或这三组可渲染数据的任何组合。在一些实施例中,可以存在任何数量的可渲染数据的子集。在一些实施例中,设置虚拟渲染相机以渲染具有虚拟对象数据的世界网格数据可以使得用户能够查看被叠加在传统上的非视觉数据(例如,原始世界网格数据)上的传统视觉数据(例如,3D虚拟对象)。
图13B示出了使用本文描述的系统和方法来渲染被框住的场景的示例过程1300b。过程1300b可以更详细地描述步骤1306。用于渲染被框住的场景的过程1300b可以在请求可渲染数据的步骤1318处开始。在一些实施例中,可以于图12的虚拟相机对应的虚拟渲染相机请求用于在虚拟渲染场景内的在虚拟渲染相机的FOV内的所有可渲染对象的可渲染数据。在一些实施例中,虚拟渲染相机可仅请求用于虚拟渲染相机已被编程来请求的对象的可渲染数据。例如,虚拟渲染相机可以仅被编程为请求针对3D虚拟对象的可渲染数据。在一些实施例中,虚拟渲染相机可以请求用于3D虚拟对象的可渲染数据和用于世界网格数据的可渲染数据。
在步骤1320处,可渲染数据被发送到渲染管线1320。在一些实施例中,渲染管线可以是用于可穿戴系统(诸如可穿戴系统200)的渲染管线。在其他实施例中,渲染管线可以位于不同的装置上、不同的计算机上、或者被远程地执行。在步骤1322处,创建渲染的场景。在一些实施例中,渲染的场景可以是渲染管线的输出。在一些实施例中,渲染的场景可以是3D场景的2D图像。在一些实施例中,渲染的场景可以被显示给用户。在一些实施例中,渲染的场景可以包括准备好显示但实际上未被显示的场景数据。
在一些实施例中,系统渲染被框住的场景并且通过虚拟相机取景器将渲染的场景显示给用户。这可使得即使当虚拟相机正在移动时,用户能够查看被框住的场景,以预览在该时间点执行捕获图像步骤1206的情况下所捕获的2D图像。在一些实施例中,渲染的场景可以包括视觉和非视觉可渲染数据。
在步骤1204之后,用户可以选择捕获图像1206或选择取消1302以取消场景保存过程1300a。在一些实施例中,步骤1302可以由用户执行。在一些实施例中,步骤1302可以由系统自动执行。例如,如果系统不能够在步骤1204中自动地框住场景以达到被编程的规范(例如,捕获框架内的所有虚拟对象),则系统可以在步骤1302处自动地取消场景保存过程1300a。如果在步骤1302中选择取消,则系统从过程1200(例如,从虚拟渲染场景)移除与虚拟相机对应的虚拟渲染相机1308。
如果在步骤1206处捕获图像,则系统捕获2D图像1310。在一些实施例中,系统通过利用虚拟渲染场景内的虚拟渲染相机拍摄图片(存储表示正被渲染的2D图像的数据)来捕获2D图像。在一些实施例中,虚拟渲染相机可以类似于真实世界相机而起作用。虚拟渲染相机可以通过从虚拟渲染相机的视角捕获3D场景到2D图像平面上的投影来将3D场景数据转换为2D图像。在一些实施例中,3D场景数据被捕获作为像素信息。在一些实施例中,虚拟渲染相机不类似于真实世界相机,因为虚拟渲染相机可以被编程为捕获可渲染数据的一个子集与所有子集之间的任何位置,而真实世界相机捕获视图中存在的事物。在步骤1310中捕获的2D图像可以仅包括相机被编程以捕获的可渲染数据的子集。可渲染数据的子集可以包括传统的视觉数据,诸如3D对象,和/或传统的非视觉数据,诸如世界网格或PCF。
在步骤1312和1314处,系统保存场景。保存场景可能需要保存任何或所有类型的如上所述的保存的场景数据,诸如表示由虚拟渲染相机渲染的虚拟内容在一些实施例中的位置信息的数据。在步骤1312处,系统将场景绑定(bind)到最近的PCF。应用可以向管理PCF列表及其相应位置的较低级别的系统操作发送对PCF ID的请求。较低级别的系统操作可管理可包括PCF数据的地图数据库。在一些实施例中,PCF由单独的PCF应用管理。被绑定到场景的PCF可以被称为保存的PCF。
在步骤1314处,系统将保存的场景数据写入可穿戴系统的永久存储器。在一些实施例中,永久存储器可以是硬盘驱动器。在一些实施例中,永久存储器可以是如上所述的本地处理和数据模块260。在一些实施例中,保存的场景数据可以包括完全表示保存的场景的数据。在一些实施例中,保存的场景数据可以包括系统所需的数据,以便向用户渲染和显示保存的场景。在一些实施例中,保存的场景数据包括保存的PCF、保存的场景的图像和/或保存的场景对象。保存的场景对象可以由保存的场景对象数据来表示。在一些实施例中,保存的场景对象数据可以包括关于对象的类型的标签。在其中通过修改预先设计的基础对象来导出保存的场景对象的实施例中,保存的场景对象数据还可以指示保存的场景对象与预先设计的基础对象之间的差异。在一些实施例中,保存的场景对象数据可以包括预先设计的基础对象名称加上附加属性和/或状态数据。在一些实施例中,保存的场景对象数据可以包括可渲染的网格加状态、物理特性和可能需要的其他特性,以便保存的场景对象作为其被保存的方式的副本而重新加载。
在步骤1316处,系统可以将保存的场景图标添加到用户菜单。保存的场景图标可以是保存的场景的视觉表示,并且可以可选地包括在步骤1310中捕获的2D图像。保存的场景图标可以被放置在用户菜单中,例如保存场景用户菜单。保存场景用户菜单可以包含用于应用的一个或多个保存的场景。
用于加载保存的场景的过程
图14示出了使用本文描述的系统和方法来加载场景的示例过程1400。过程1400可以在用户打开用户菜单的步骤1402处开始。用户菜单可以包括一个或多个保存的场景图标,其可以表示一个或多个保存的场景。在一些实施例中,用户菜单可以是保存场景用户菜单。响应于步骤1402,系统可以执行PCF检查1422。PCF检查可以包括确定与用户的当前位置最接近的PCF的(当前PCF)的一个或多个过程。在一些实施例中,应用可以确定用户的位置。在一些实施例中,该位置可以基于用户的头部姿势位置。
如果保存的PCF与当前PCF相匹配,则保存的场景可以被放置在用户菜单的当前PCF部分中1424。如果保存的PCF与当前PCF不匹配,则保存的场景可以被放置在用户菜单中的另一个PCF部分中。在一些实施例中,可以组合步骤1424和1426,例如,如果用户菜单不基于用户的当前位置对保存的场景进行分类,或者如果不能确定用户的当前PCF。在过程1400中的这一点处,用户可以查看保存场景用户菜单。在一些实施例中,用户菜单被分成两个部分——用于具有与当前PCF相匹配的保存的PCF的保存的场景的一个部分,以及用于具有与当前PCF不匹配的保存的PCF的保存的场景的第二部分。在一些实施例中,两个部分中的一者可以是空的。
在步骤1404处,用户可以从用户菜单中选择保存的场景图标。用户菜单可以包括保存场景用户菜单。在一些实施例中,用户可以通过用户交互来选择保存的场景图标,例如点击图腾或其他用户控制器上的按钮。
在步骤1406处,用户可以采取动作,该动作指示所选择的保存的场景中的虚拟内容中的内容将被加载到要针对其打开保存的场景的用户的环境中。例如,用户可以从用户菜单中移除保存的场景图标1406。在一些实施例中,当用户按住用于选择保存的场景图标的按钮时,可以发生步骤1406。作为步骤1406的结果,步骤1408可以发生。当从用户菜单移除保存的场景图标1406时,系统可以将保存的场景(或保存的场景数据)从硬盘驱动器或其他永久存储器加载到易失性存储器1428。
还可以确定环境中的用于保存的场景内容的位置。在所示的实施例中,当保存的场景在其被保存的相同位置被打开时,系统可以在保存的场景被保存的时间处出现的位置,显示保存的场景的视觉内容。替代地,如果保存的场景在不同的位置被打开,则可以使用诸如以下结合步骤416、1418和1420所描述的接收用户输入的替代方法。
为了支持打开具有在与场景被存储时相同位置的对象的保存的场景,在步骤1430处,系统可以执行PCF检查。PCF检查可包括确定与用户当前位置最接近的PCF(当前PCF)的一个或多个过程。在一些实施例或过程1400中,可以执行PCF检查1422或PCF检查1430,而不是两者。在一些实施例中,可以将附加的PCF检查添加到过程1400。PCF检查可以以固定的时间间隔(例如,每分钟一次、每秒一次、每五分钟一次等)发生,或者可以基于用户位置的改变而发生(例如,如果检测到用户移动,则系统可以添加附加的PCF检查)。
在步骤1432处,如果保存的PCF与当前PCF相匹配,则保存的场景对象是相对于PCF放置的预览。在一些实施例中,放置的预览可以包括仅渲染与保存的场景数据相关联的视觉数据。在一些实施例中,放置的预览可以包括与一个或多个着色器组合来渲染与保存的场景数据相关联的视觉数据,以更改视觉数据和/或附加视觉数据的外观。附加视觉数据的示例可以是从视觉锚节点延伸到保存的场景对象中的每一者的一个或多个线。在一些实施例中,用户可参与执行步骤1432,诸如通过提供指示保存的场景对象的位置的输入。在一些实施例中,系统可以自动地执行步骤1432。例如,系统可以通过计算位于保存的场景对象的中心处的位置并且然后将视觉锚节点放置在中心来自动地执行步骤1432。
在步骤1434处,如果保存的PCF与当前PCF不匹配,则保存的场景对象是相对于视觉锚节点放置的预览。在一些实施例中,相对放置可以是放置保存的场景对象,使得视觉锚节点位于保存的场景对象的中心。替代地,保存的场景对象可以被定位成具有相对于视觉锚节点的空间关系,该空间关系与那些对象相对于保存的场景锚节点的空间关系相同。在一些实施例中,可以通过将视觉锚节点放置在远离用户的固定距离处(例如,在眼睛水平在z方向上远离用户2英尺)来确定放置。在一些实施例中,用户可参与执行步骤1434,诸如通过提供指示视觉锚节点的位置的输入。在一些实施例中,系统可以自动地执行步骤1434。例如,系统可以通过自动地将视觉锚节点放置在距用户菜单的固定距离处来自动地执行步骤1434,或者系统可以相对于用户(针对其加载被保存的场景)的环境中的物理或虚拟对象的位置来选择视觉锚节点的位置。
在步骤1436处,系统可以向用户显示用户提示以取消或实例化保存的场景。用户提示可以具有任何合适的视觉外观,并且可以用于启用一个或多个用户交互,以便至少使系统取消重新打开场景(例如,过程不进行到1440)和/或实例化场景。在一些实施例中,例如,用户提示可以显示一个或多个可交互的虚拟对象,诸如被标记为例如“取消”或“加载场景”的按钮。
在一些实施例中,只要在步骤1406处从用户菜单中移除保存的场景图标,系统就可以显示保存的场景预览,使得用户可以在移动图标时查看预览。在步骤1408处,用户可以释放保存的场景图标以将保存的场景图标放置在用户的真实世界环境中。在步骤1410处,用户能够查看保存的场景预览和用户提示,以取消保存的场景加载或实例化场景。在一些实施例中,保存的场景预览可以仅包括与保存的场景相关联的视觉数据,可选地包括修改的视觉数据。在一些实施例中,视觉数据可以呈现为被洗白的。在一些实施例中,保存的场景预览可以呈现为与保存的场景数据对应的视觉数据的重影(ghost)预览。在一些实施例中,保存的场景预览可呈现为数据的中空副本,其中预览看上去可识别地类似于保存的视图,但可不具有相同的功能性或声音。在一些实施例中,保存的场景预览可以是与保存的场景数据对应的视觉数据而没有状态数据或物理应用。
在步骤1412处,用户可以选择取消。步骤1412可使系统停止显示内容并从易失性存储器移除保存的场景1438。在一些实施例中,系统可仅停止显示保存的场景内容,但可将保存的场景保持在易失性存储器中。在一些实施例中,内容可包括保存的场景数据、用户菜单、用户提示、或可特定于在步骤1404中选择的保存的场景的任何其他虚拟内容的全部或一部分。
在步骤1414处,用户可以选择实例化保存的场景。在一些实施例中,这可以与步骤1220相同。在一些实施例中,步骤1414可以通过渲染完整的保存的场景数据(例如,原始场景的精确副本,除了潜在地在与其被保存的位置不同的位置)来完整地加载虚拟场景。在一些实施例中,实例化可包括将物理和状态数据应用于视觉预览。
在步骤1416处,用户可以选择视觉锚节点。在步骤1418处,用户可以移动视觉锚节点。这可以使系统移动保存的场景父节点位置以与视觉锚节点位置相匹配1442。在一些实施例中,可以移动视觉锚节点位置而不修改保存的场景数据中的任何其他事物。这可以通过以保持保存的场景对象与保存的场景锚节点之间的空间关系的方式,来相对于视觉锚节点放置保存的场景对象来实现,而不管视觉锚节点可以置于的位置。
在步骤1420处,用户可以释放指示视觉锚节点的位置的视觉锚节点。该过程可以在步骤1420之后循环回到步骤1410,其中用户再次具有取消保存的场景加载1412、实例化保存的场景1414、或者移动视觉锚节点1416-1420(以及因此移动整个保存的场景对象,它们在空间上彼此保持一致)的选项。
在一些实施例中,系统可以部分地或全部地自动地执行被描述为涉及用户与系统的交互的步骤1402-1420中的一个或多个。在系统自动执行步骤1402-1420的一个示例性示例中,在当前PCF与保存的PCF相匹配时,系统可以自动打开用户菜单1402。系统可以具有在应用运行的整个时间内运行的PCF检查过程,或者系统可以以固定的间隔(例如,每1分钟)刷新PCF检查,或者如果系统检测到改变(例如,用户移动),则系统可以运行PCF检查。在步骤1402处,如果仅存在一个具有与当前PCF相匹配的保存的PCF的保存的场景,则系统可以自动选择保存的场景。在步骤1406处,如果当前PCF与保存的PCF相匹配超过阈值时间段(例如,5分钟),则系统可以自动地从用户菜单中移除保存的场景图标。在步骤1408处,系统可以在距用户的固定距离处(例如,在x方向上距用户的右侧1英尺)自动地释放保存的场景图标。在步骤1412处,如果用户离开房间,则系统可以自动地取消过程1400,从而使得保存的PCF不再与当前PCF相匹配。在步骤1414处,如果当前PCF与保存的PCF相匹配大于阈值时间段,则系统可以自动实例化保存的场景。系统可以通过移动视觉锚节点来自动地执行步骤1416-1420,以在用户移动时保持与用户的固定相对空间关系(例如,视觉锚节点在z方向上被固定到用户前方2英尺)。
用于加载保存的场景的过程-共享路径
图15示出了使用本文描述的系统和方法来加载场景的示例过程1500。在步骤1502处,可以选择保存的场景图标。在一些实施例中,用户可以选择保存的场景图标。在一些实施例中,保存的场景图标可以被从用户菜单中选择、或者可以被选择为被放置在用户的真实世界环境中的独立图标。在一些实施例中,保存的场景图标可以由可穿戴系统和/或应用自动选择。例如,系统可以自动选择与用户最接近的保存的场景图标,或者系统可以自动选择最频繁使用的保存的场景图标,而不管其位置。
在步骤1504处,保存的场景图标从其默认位置移动。在一些实施例中,用户可以从用户菜单中移除保存的场景图标,如过程1400中的步骤1406所描述的。在一些实施例中,系统可以从保存的场景图标的默认位置(例如,在用户菜单中,或者在用户的环境中的放置位置)自动地移动保存的场景图标。例如,系统可以自动地移动保存的场景图标以维持距用户的固定距离。
所述系统可以确定保存的场景对象在用户(针对其正打开保存的场景)的环境中的位置。在一些实施例中,系统可以向用户显示视觉锚节点,并且可以使得用户能够通过输入移动视觉锚节点的位置和/或将保存的场景对象相对于视觉锚节点定位的命令来影响保存的场景对象被放置的位置。在一些实施例中,保存的场景对象可以各自具有相对于保存的场景锚节点的位置,并且保存的场景对象可以被定位成使得它们具有相同的相对于视觉锚节点的位置,从而将保存的场景锚节点定位在视觉锚节点处。
在其他实施例中,用户输入可以指定一个或多个保存的场景对象与视觉锚节点之间的空间关系。在步骤1506处,可相对于保存的场景对象来放置视觉锚节点。相对于保存的场景对象来放置视觉锚节点可以起到将特定位置绑到保存的场景锚点的作用。视觉锚点位置的选择可影响可进一步操纵保存的场景的容易或困难的相对水平,例如以稍后相对于环境来放置保存的场景对象。在一些实施例中,可通过释放图腾上的按钮(如果用户按下按钮以选择并移动保存的场景图标)来相对于保存的场景对象放置视觉锚节点。在一些实施例中,用户可以选择相对于保存的场景对象来放置视觉锚节点放置的位置。例如,用户可以选择将视觉锚节点放置在特定的保存的场景对象附近。如果用户仅关心特定对象被放置的位置,则用户可以选择这样做。在一些实施例中,用户可能希望将视觉锚节点放置在使其易于进一步操纵视觉锚节点的特定位置。
在步骤1508处,保存的场景对象可以是相对于真实世界放置的预览。在一些实施例中,保存的场景对象可以是通过移动视觉锚节点而相对于真实世界放置的预览。移动视觉锚节点可以使得所有保存的场景对象与视觉锚节点一起移动,从而维持在保存的场景内的保存的场景对象之间的固定的相对空间配置。在一些实施例中,移动视觉锚节点可以改变锚节点位置以与当前视觉锚节点位置相匹配。在一些实施例中,用户可以操纵视觉锚节点以相对于用户的环境将保存的场景放置在期望位置。在一些实施例中,系统可以自动地预览相对于真实世界放置保存的场景对象。例如,保存的场景的对象可能已经在保存的场景被存储时相对于表面定位。为了在打开保存的场景时定位保存的场景对象,系统可以找到与虚拟对象在被保存时所位于的表面相似的属性和/或功能可见性(affordance)的最接近的表面。功能可见性的示例可以包括表面取向(例如,垂直表面、水平表面)、对象类型(例如,桌子、沙发等)、或离地面表面的相对高度(例如,低、中、高高度类别)。可以使用附加类型的属性或功能可见性。在一些实施例中,系统可以在下一个最近的网格化表面上自动预览在真实世界中放置对象。
功能可见性可包括对象与对象的环境之间的关系,其可提供与对象相关联的动作或使用的机会。功能可见性可以基于例如虚拟对象或目的对象的功能、取向、类型、位置、形状或大小来确定。功能可见性还可以基于虚拟对象或目的对象所处的环境。虚拟对象的功能可见性可以被编程作为虚拟对象的一部分并且被存储在远程数据存储库280中。例如,虚拟对象可以被编程为包括指示虚拟对象的法线的向量。
例如,虚拟显示屏(例如,虚拟TV)的功能可见性是显示屏可以从由屏幕的法线指示的方向被观看。垂直壁的功能可见性是对象可以被放置在壁上(例如,“悬挂”在壁上),其中对象的表面法线平行于墙壁的法线。虚拟显示器和壁的附加功能可见性可以是每一者均具有顶部或底部。与对象相关联的功能可见性可以帮助确保对象具有更逼真的交互,诸如在垂直表面上在右侧上方自动悬挂虚拟TV。
在2018年2月15日公布的美国专利公开No.2018/0045963中描述利用功能可见性通过可穿戴系统来自动放置虚拟对象,其全部内容通过引用并入本文。
在步骤1510处,可以相对于真实世界移动被放置的保存的场景对象的预览。在一些实施例中,这可以通过移动视觉锚节点来实现。例如,用户可以通过执行捏合手势来选择视觉锚节点、可以在保持捏合手势的同时移动视觉锚节点直到达到期望的位置、然后用户可以停止移动并释放捏合手势。在一些实施例中,系统可以自动地相对于真实世界移动保存的场景。
在步骤1512处,可以实例化保存的场景。实例化场景可包括将完整的保存的场景数据应用于保存的场景对象,而不是仅应用保存的场景的预览版本。例如,保存的场景的预览可以仅涉及显示视觉数据或视觉数据的修改版本。步骤1512可以替代地显示被保存在保存的场景数据中的可视数据加上数据的其余部分(例如,物理),除了保存的场景潜在地具有新的锚节点位置之外。
用于加载保存的场景的过程-拆分路径
图16示出了使用本文描述的系统和方法来加载场景的示例过程1600。
在步骤1602处,可以选择保存的场景图标。在一些实施例中,步骤1602可以与步骤1502和/或1404相同。在一些实施例中,保存的场景图标可以是保存的场景和/或保存的场景数据的视觉表示。在一些实施例中,保存的场景图标可以是与视觉锚节点相同的视觉表示。在一些实施例中,保存的场景图标可以包括视觉锚节点。
在步骤1604处,保存的场景图标可以从其默认位置移动。在一些实施例中,步骤1604可以与步骤1504和/或1406相同。在一些实施例中,步骤1604可以包括在保持压住图腾上的按钮的同时四处移动图腾。在一些实施例中,步骤1602可以包括推和释放图腾上的按钮以选择对象,并且步骤1604可以包括四处移动图腾,其可以使保存的场景具有与图腾对应的移动。
在一些实施例中,保存的场景可以被加载在场景被原始保存的相同位置(例如,保存的场景对象位于与其原始被保存的位置相同的真实世界位置)。例如,如果用户在用户的厨房中创建了场景,则用户可以在用户的厨房中加载场景。在一些实施例中,保存的场景可以被加载到与场景原始被保存的位置不同的位置。例如,如果用户在他们的朋友的房屋处保存了场景,但是用户想要在家中继续与该场景进行交互,则用户可以在用户的家中加载保存的场景。在一些实施例中,过程1600中的该拆分可以对应于过程1400中的1432和1434之间的拆分。
在步骤1608处,可相对于保存的场景对象放置视觉锚节点。在一些实施例中,这可以在保存的场景PCF与用户的当前PCF相匹配(即,场景在其被保存的相同位置被加载)时发生。例如,应用可被编程为以将保存的场景对象自动放置(例如,预览放置)在与其被保存的位置相同的真实世界位置。在这种情况下,保存的场景图标从其默认位置的初始放置用于相对于已经被放置的保存的场景对象来放置视觉锚节点。在一些实施例中,当保存的PCF与当前PCF相匹配时,系统可以自动地将保存的场景对象放置在用户的环境中(例如,预览放置),并且步骤1608可以确定应用保存的场景锚的位置。在一些实施例中,一旦已放置视觉锚节点1608,视觉锚节点与保存的场景对象之间的相对空间位置可以被固定。
在步骤1606处,可相对于真实世界来放置视觉锚节点。在一些实施例中,当保存的场景PCF与用户的当前PCF不匹配和/或如果不能获得用户的当前PCF时,可以在视觉锚节点的位置上获得用户输入。可替换地或附加地,该过程可以前进到步骤1608,其中系统可以接收输入以相对于保存的场景对象定位视觉锚节点。例如,应用可以被编程为相对于保存的场景对象自动地放置视觉锚节点。在一些实施例中,视觉锚节点可以被自动地放置在保存的场景对象的中心(作为其相对于保存的场景对象的放置)。可以使用其他合适的相对放置方法。
在步骤1610处,保存的场景可以相对于真实世界移动。通过在过程1600中的该步骤,已经相对于保存的场景对象放置视觉锚节点(步骤1608或1606),并且已保存的场景对象已经预览被放置在用户的真实世界中的初始位置(对于路径1608,保存的场景对象被自动地放置在其被保存时所处的位置相同的真实世界位置,并且对于路径1606,保存的场景对象被放置在相对于视觉锚节点的指定的空间配置处)。可以在步骤1610处可选地移动保存的场景。在一些实施例中,步骤1610可以是步骤1510、1416-1420和/或12107。在一些实施例中,不执行步骤1610,并且过程1600直接前进到步骤1612。
在步骤1612处,可以实例化保存的场景。在一些实施例中,步骤1612可以是步骤1512、1414和/或1213。在一些实施例中,在步骤1602期间,应用可能已经将保存的场景加载到易失性存储器中,因此在步骤1612处,场景可以将完整的保存的场景数据馈送到渲染管线中。然后,保存的场景能够通过可穿戴装置(例如可穿戴装置200)向用户显示作为保存的场景的精确副本(例如,保存的场景对象之间的相同相对空间关系),除了可选地在用户的真实世界中的不同位置的那些。
在一些实施例中,可穿戴系统和应用可以可互换地使用。应用可以被下载到可穿戴系统上,从而成为可穿戴系统的一部分。
增强现实系统的用户在打开保存的场景的同时可能看到的画面的示例由图21A-C提供。在该示例中,其中示出了用户可以激活控件以移动视觉锚节点2110的用户界面。图21A示出了用户移动视觉锚节点2110。在该示例中,保存的场景由立方体对象组成,在图21A中,立方体对象在预览模式中是可见的。在该示例中,保存的场景具有与视觉锚节点一致的保存的场景锚节点。在该示例中,保存的场景对象具有相对于保存的场景锚节点的预定关系,并且因此具有相对于视觉锚节点的预定关系。该关系由图21A中可见的虚线指示。
图21B示出了用户通过激活加载图标2120将具有可视锚节点的保存的场景加载到期望位置。在该示例中,用户选择由到所选择的图标的模拟激光指示器的线2122示出。在增强现实环境中,该线可以由用户移动图腾、指向手指或任何其他合适的方式来操纵。激活控件,诸如在该示例中的加载控件,可以作为用户提供一些其他输入(诸如推图腾上的按钮)的结果而发生,同时选择与控件相关联的图标。
图21C示出了相对于与指定的视觉锚节点对准的保存的场景锚节点被实例化的虚拟内容2130(这里被示为块)。与图21A的预览模式相反,保存的场景对象可以被渲染为具有虚拟对象的全部颜色、物理和其他属性。
示例性实施例
如本文中所讨论的概念可体现为被编码有计算机可执行指令的非暂时性计算机可读介质,该计算机可执行指令在由至少一个处理器执行时:操作混合现实系统,该混合现实系统的类型为维持用于用户的包括虚拟内容的环境,该虚拟内容被配置用于渲染以便呈现给与物理世界有关的用户以便选择保存的场景,其中每个保存的场景包括相对于保存的场景锚节点的虚拟内容和位置;以及确定与所选择的场景相关联的保存的场景锚节点是否与物理世界中的位置相关联。当保存的场景锚节点与物理世界中的位置相关联时,混合现实系统可以将虚拟内容在保存的场景锚节点指示的位置添加到环境。当保存的场景锚节点不与物理世界中的位置相关联时,混合现实系统可以确定环境中的位置并且将虚拟内容在所确定的位置添加到环境。
在一些实施例中,当保存的场景锚节点不与物理世界中的位置相关联时确定环境中的位置包括:向用户渲染视觉锚节点并且接收指示视觉锚节点的位置的用户输入。
在一些实施例中,当保存的场景锚节点不与物理世界中的位置相关联时确定环境中的位置包括:基于功能可见性和/或属性的与所选择的保存的场景相关联的物理表面的相似性来识别物理世界中的表面,以及确定相对于所识别的表面的位置。
在一些实施例中,当保存的场景锚节点不与物理世界中的位置相关联时确定环境中的位置包括:确定相对于用户的位置。
在一些实施例中,当保存的场景锚节点不与物理世界中的位置相关联时确定环境中的位置包括:确定相对于环境中的虚拟对象的位置的位置。
在一些实施例中,被配置为选择保存的场景的计算机可执行指令可以被配置为:基于在物理世界内相对于保存的场景锚节点的用户位置来自动选择保存的场景。
在一些实施例中,被配置为选择保存的场景的计算机可执行指令可以被配置为:基于用户输入来选择保存的场景。
可替换地或附加地,如本文所讨论的概念可以体现为被编码有计算机可执行指令的非暂时性计算机可读介质,该计算机可执行指令在由至少一个处理器执行时,操作混合现实系统,该混合现实系统的类型为维持用于用户的包括虚拟内容的环境,该虚拟内容被配置用于渲染以便呈现给用户,以接收从库中选择第一预先构建的虚拟子部件和第二预先构建的虚拟子部件并指定第一预先构建的虚拟子部件和第二预先构建的虚拟子部件的相对位置的用户输入;通过存储包括识别第一预先构建的虚拟子部件和第二预先构建的虚拟子部件以及第一预先构建的虚拟子部件和第二预先构建的虚拟子部件的相对位置的数据的保存的场景数据,来存储为包括至少第一预先构建的虚拟子部件和第二预先构建的虚拟子部件的场景虚拟内容;在包括用于多个保存的场景的图标的虚拟用户的菜单中渲染表示所存储的场景的图标。
在一些实施例中,虚拟内容还包括至少一个构建部件。
在一些实施例中,虚拟内容还包括至少一个先前保存的场景。
其他考虑事项
本文描述和/或附图中描绘的过程、方法和算法中的每一个可以体现在由一个或多个物理计算系统、硬件计算机处理器、应用专用电路和/或被配置为执行特定和特殊的计算机指令的电子硬件所执行的代码模块中并且完全或部分地由该代码模块自动化。例如,计算系统可以包括用特定计算机指令编程的通用计算机(例如,服务器)或专用计算机、专用电路等等。代码模块可以被编译并链接到可执行程序中,安装在动态链接库中,或者可以用解释的编程语言编写。在一些实施方式中,特定操作和方法可以由专用于给定功能的电路来执行。
此外,本公开的功能的某些实施方式在数学上、计算上或技术上是足够复杂的,使得应用专用硬件或一个或多个物理计算装置(利用适当的专用可执行指令)对于执行功能可能是必需的,例如由于所涉及的计算的数量或复杂性或为了基本上实时提供结果。例如,视频可以包括许多帧,每帧具有数百万个像素,并且具体地编程的计算机硬件对于处理视频数据是必需的以在商业上合理的时间量内提供期望的图像处理任务或应用。
代码模块或任何类型的数据可以存储在任何类型的非暂时性计算机可读介质上,诸如物理计算机存储器,包括硬盘驱动器、固态存储器、随机存取存储器(RAM)、只读存储器(ROM)、光盘、易失性或非易失性存储器、其组合等。方法和模块(或数据)也可以在各种计算机可读传输介质上作为生成的数据信号(例如,作为载波或其他模拟或数字传播信号的一部分)传输,所述传输介质包括基于无线的和有线/基于线缆的介质,并且可以采取多种形式(例如,作为单个或多路复用模拟信号的一部分,或者作为多个离散数字分组或帧)。所公开的方法或方法步骤的结果可以持久地或以其他方式存储在任何类型的非暂时性有形计算机存储器中,或者可以经由计算机可读传输介质来通信。
在此描述的和/或在附图中描绘的流程图中的任何过程、框、状态、步骤或功能应当被理解为潜在地表示代码模块、代码段或代码部分,代码包括一个或多个可执行指令以实现特定功能(例如,逻辑或算术)或方法中的步骤。各种方法、框、状态、步骤或功能可以与本文提供的说明性示例相组合,重新排列,添加,删除,修改或以其他方式改变。在一些实施例中,附加的或不同的计算系统或代码模块可以执行本文描述的功能中的一些或全部。本文描述的方法和过程也不限于任何特定的序列,并且与其相关的块、步骤或状态可以以适当的其他序列来执行,例如串行、并行或以某种其他方式。可以向所公开的示例性实施例添加任务或事件或者从中移除任务或事件。此外,本文描述的实现中的各种系统组件的分离是出于说明的目的,并且不应该被理解为在所有实施方式中都需要这种分离。应该理解,所描述的程序组件、方法和系统通常可以一起集成在单个计算机产品中或者封装到多个计算机产品中。许多实施方式变化是可能的。
过程、方法和系统可以在网络(或分布式)计算环境中实施。网络环境包括企业范围的计算机网络、内联网、局域网(LAN)、广域网(WAN)、个人区域网络(PAN)、云计算网络、众包计算网络、因特网和万维网。网络可以是有线或无线网络或任何其他类型的通信网络。
本公开的系统和方法各自具有若干创新性方面,其中没有单独一个对于本文公开的期望属性完全负责或需要。上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合均旨在落入本公开的范围内。对于本公开中所描述的实施方式的各种修改对于本领域技术人员来说可能是显而易见的,并且在不脱离本公开的精神或范围的情况下,可将本文中定义的一般原理应用于其他实施方式。因此,权利要求不旨在限于本文所示的实施方式,而是应被赋予与本公开一致的最宽范围、本文公开的原理和新颖特征。
在本说明书中在分开的实施方式的情境中描述的某些特征也可以在单个实施方式中组合实施。相反,在单个实施方式的情境中描述的各种特征也可以分开或者以任何合适的子组合在多个实施方式中实施。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至最初如此要求,但是来自所要求保护的组合的一个或多个特征可以在一些情况下从组合中删除,并且所要求保护的组合可以针对子组合或变体的子组合。没有单个特征或特征组对于每一个实施例是必要或是必不可少的。
除非另有明确说明,否则本文中使用的条件语言,诸如“能够”、“可能”“应该”、“可以”、“例如”等等,或者在情境中以其他方式理解的,为一般地意在表达某些实施例包括,而其他实施例不包括某些特征、元件和/或步骤。因此,这样的条件语言通常不旨在暗示特征、元素和/或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必然包括用于在有或者没有作者输入或提示的情况下决定是否这些特征、元件和/或步骤包括在任何特定实施例中或将在任何特定实施例中执行。术语“包括”、“包含”、“具有”等是同义词,并且以开放式的方式包含性地使用,并且不排除附加的元件、特征、动作、操作等等。此外,术语“或”以其包含性含义(而不是其专有含义)使用,因此当用于例如连接元素列表时,术语“或”表示一个、一些或全部列表中的元素。另外,除非另有说明,否则本申请和所附权利要求中使用的冠词“一”、“一个”和“所述”应被解释为表示“一个或多个”或“至少一个”。
如本文所使用的,提及项目列表中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。举例来说,“A、B或C中的至少一个”旨在覆盖:A、B、C、A和B、A和C、B和C以及A、B和C。连接语言例如短语“X、Y和Z中的至少一个”,除非另有特别说明,否则在通常用于表达项目,术语等可以是X、Y或Z中的至少一个。因此,这样的连接语言通常并不意味着某些实施方案需要X中的至少一个,Y中的至少一个和Z中的至少一个存在。
类似地,尽管可以在特定顺序中在附图中描绘操作,但应认识到,这些操作不需要以所示出的特定顺序或按顺序执行,或者所有所示操作都要执行,以实现理想的结果。此外,附图可以以流程图的形式示意性地描绘一个或多个示例过程。然而,未示出的其他操作可以并入示意性说明的示例性方法和过程中。例如,可以在任何所示操作之前、之后、同时或之间执行一个或多个附加操作。另外,在其他实施中,操作可以重新安排或重新排序。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施方式中的各种系统组件的分离不应该被理解为在所有实施方式中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品。另外,其他实施方式在以下权利要求的范围内。在一些情况下,权利要求中列举的动作可以以不同的顺序执行并且仍然实现期望的结果。

Claims (26)

1.一种操作混合现实系统的方法,所述混合现实系统的类型为维持用于用户的包括虚拟内容的环境,所述虚拟内容被配置用于渲染以便呈现给与物理世界有关的所述用户,所述方法包括用至少一个处理器:
选择所述环境中的虚拟内容;
将保存的场景数据存储在非易失性计算机存储介质中,所述保存的场景数据包括:
表示所选择的虚拟内容的数据;以及
位置信息,所述位置信息指示所选择的虚拟内容相对于保存的场景锚节点的位置。
2.根据权利要求1所述的操作混合现实系统的方法,其中:
所述混合现实系统基于所述物理世界中的对象来识别一个或多个坐标框架;以及
所述方法还包括:将所述保存的场景锚节点放置在所识别的所述一个或多个坐标框架中的一者处。
3.根据权利要求1所述的操作混合现实系统的方法,其中:
选择所述环境中的虚拟内容包括:
接收选择相机图标的用户输入,所述相机图标包括显示区域;
在所述显示区域中渲染所述环境的一部分中的虚拟内容的表示;以及
生成保存的场景数据,所述保存的场景数据至少表示所述环境的所述部分内的虚拟内容。
4.根据权利要求3所述的操作混合现实系统的方法,还包括:
基于用户输入,改变所述相机图标在所述环境内的位置或取向;以及
基于所述相机图标的所述位置和取向来动态地更新在所述显示区域中被渲染的所述虚拟内容。
5.根据权利要求4所述的操作混合现实系统的方法,其中:
所述方法还包括:基于用户输入,捕获表示在所述显示器中被渲染的虚拟内容的图像;以及
选择虚拟内容包括:选择在所捕获的图像中表示的所述虚拟内容。
6.根据权利要求5所述的操作混合现实系统的方法,还包括:
在可用于打开的保存场景菜单中生成与所述保存的场景数据相关联的图标,其中,所述图标包括所捕获的图像。
7.根据权利要求3所述的操作混合现实系统的方法,其中:
基于用户输入来触发生成保存的场景数据,所述保存的场景数据至少表示所述环境的所述部分内的虚拟内容。
8.根据权利要求3所述的操作混合现实系统的方法,其中:
基于检测到场景被框在所述显示区域内,自动地触发生成保存的场景数据,所述保存的场景数据至少表示所述环境的所述部分内的虚拟内容。
9.根据权利要求1所述的操作混合现实系统的方法,其中:
选择所述环境内的虚拟内容包括:选择在所述用户的视场中的虚拟对象。
10.根据权利要求1所述的操作混合现实系统的方法,其中:
选择所述环境内的虚拟内容包括:选择在所述用户的能视域中的虚拟对象。
11.根据权利要求1所述的操作混合现实系统的方法,其中:
所述方法还包括:通过接收用户输入来在所述环境内创建场景,所述用户输入指示用于在所述环境内包括的多个预先构建的子部件;以及
选择所述环境中的虚拟内容包括:接收指示所述场景的至少一部分的用户输入。
12.根据权利要求1所述的操作混合现实系统的方法,其中:
选择所述环境中的虚拟内容包括:
接收指示所述环境的至少一部分的用户输入;以及
计算所述环境内的一个或多个物理对象的虚拟表示。
13.一种混合现实系统,被配置为维持用于用户的包括虚拟内容的环境并且在显示装置上渲染所述内容,以便呈现给与物理世界有关的所述用户,所述系统包括:
至少一个处理器:
非易失性计算机存储介质;
被编码有计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令在由所述至少一个处理器执行时:
选择所述环境中的虚拟内容;
将保存的场景数据存储在所述非易失性计算机存储介质中,所述保存的场景数据包括:
表示所选择的虚拟内容的数据;以及
位置信息,所述位置信息指示所选择的虚拟内容相对于保存的场景锚节点的位置。
14.根据权利要求13所述的混合现实系统,其中:
所述混合现实系统还包括被配置为获取关于所述物理世界的信息的一个或多个传感器;
所述计算机可执行指令还被配置为:
基于所获取的信息来识别一个或多个坐标框架;以及
将所述保存的场景锚节点放置在所识别的所述一个或多个坐标框架中的一者处。
15.根据权利要求13所述的混合现实系统,其中:
选择所述环境中的虚拟内容包括:
接收选择相机图标的用户输入,所述相机图标包括显示区域;
在所述显示区域中渲染所述环境的一部分中的虚拟内容的表示;以及
生成保存的场景数据,所述保存的场景数据至少表示所述环境的所述部分内的虚拟内容。
16.根据权利要求13所述的混合现实系统,其中:
所述计算机可执行指令还被配置为:
基于用户输入,改变所述相机图标在所述环境内的位置或取向;以及
基于所述相机图标的所述位置和取向来动态地更新在所述显示区域中被渲染的所述虚拟内容。
17.根据权利要求16所述的混合现实系统,其中:
所述计算机可执行指令还被配置为:基于用户输入,捕获表示在所述显示器中被渲染的虚拟内容的图像;以及
选择虚拟内容包括:选择在所捕获的图像中表示的所述虚拟内容。
18.根据权利要求17所述的混合现实系统,其中:
所述计算机可执行指令还被配置为:在可用于打开的保存场景菜单中生成与所述保存的场景数据相关联的图标,其中,所述图标包括所捕获的图像。
19.根据权利要求15所述的混合现实系统,其中:
基于用户输入来触发生成保存的场景数据,所述保存的场景数据至少表示所述环境的所述部分内的虚拟内容。
20.根据权利要求15所述的混合现实系统,其中:
基于检测到场景被框在所述显示区域内,自动地触发生成保存的场景数据,所述保存的场景数据至少表示所述环境的所述部分内的虚拟内容。
21.一种混合现实系统,包括:
显示器,其被配置为向观看物理世界的用户渲染虚拟内容;
至少一个处理器;
存储计算机可执行指令的计算机存储器,所述计算机可执行指令被配置为当由所述至少一个处理器执行时:
接收来自所述用户的在保存的场景库中选择保存的场景的输入,其中每个保存的场景包括虚拟内容;
确定所述虚拟内容相对于所述物理世界内的对象在所述用户的视场中的位置;以及
控制所述显示器以在所确定的位置渲染所述虚拟内容。
22.根据权利要求21所述的混合现实系统,其中:
所述系统包括网络接口;以及
所述计算机可执行指令被配置为:经由所述网络接口从远程服务器取回所述虚拟内容。
23.根据权利要求21所述的混合现实系统,其中:
所述系统包括网络接口;以及
所述计算机可执行指令被配置为:控制所述显示器以渲染包括多个图标的菜单,所述多个图标表示在所述保存的场景库中的保存的场景;以及
接收来自所述用户的选择所述保存的场景的输入包括用户对所述多个图标中的图标的选择。
24.根据权利要求21所述的混合现实系统,其中:
所述计算机可执行指令还被配置为:当由所述至少一个处理器执行时,渲染虚拟用户界面;以及
被配置为接收来自所述用户的输入的所述计算机可执行指令被配置为经由所述虚拟用户界面来接收用户输入。
25.根据权利要求21所述的混合现实系统,其中:
所述计算机可执行指令还被配置为:当由所述至少一个处理器执行时,渲染包括具有多个图标的菜单的虚拟用户界面,所述多个图标表示所述库中的保存的场景;以及
接收来自所述用户的在保存的场景库中选择保存的场景的输入包括:经由虚拟界面来接收用户输入,其中所述用户输入选择并移动所述菜单中的图标。
26.根据权利要求21所述的混合现实系统,其中:
所述计算机可执行指令被配置为:基于移动视觉锚节点并在由所述视觉锚节点的位置指示的位置处显示所述场景的预览表示的用户输入,确定所述虚拟内容相对于所述物理世界内的对象在所述用户的视场中的的位置;以及
所述计算机可执行指令还被配置为:响应于用户输入,用虚拟对象来替换所述场景的预览表示,所述虚拟对象对应于所述预览表示中的对象但具有与所述预览表示中的对象不同的外观和属性。
CN201980080535.5A 2018-10-05 2019-10-04 在任何位置渲染位置特定的虚拟内容 Pending CN113196209A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862742061P 2018-10-05 2018-10-05
US62/742,061 2018-10-05
PCT/US2019/054836 WO2020072985A1 (en) 2018-10-05 2019-10-04 Rendering location specific virtual content in any location

Publications (1)

Publication Number Publication Date
CN113196209A true CN113196209A (zh) 2021-07-30

Family

ID=70052292

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980080535.5A Pending CN113196209A (zh) 2018-10-05 2019-10-04 在任何位置渲染位置特定的虚拟内容

Country Status (5)

Country Link
US (3) US11232635B2 (zh)
EP (1) EP3861387A4 (zh)
JP (2) JP7503542B2 (zh)
CN (1) CN113196209A (zh)
WO (1) WO2020072985A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118071953A (zh) * 2024-03-06 2024-05-24 中铭信测(辽宁)科技有限公司 三维地理信息模型渲染方法及系统

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10957112B2 (en) 2018-08-13 2021-03-23 Magic Leap, Inc. Cross reality system
US11227435B2 (en) 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
CN113196209A (zh) 2018-10-05 2021-07-30 奇跃公司 在任何位置渲染位置特定的虚拟内容
CN113544634A (zh) * 2019-05-06 2021-10-22 苹果公司 用于构成cgr文件的设备、方法和图形用户界面
WO2020237089A1 (en) 2019-05-21 2020-11-26 Magic Leap, Inc. Caching and updating of dense 3d reconstruction data
US11270505B2 (en) * 2019-05-22 2022-03-08 Streem, Inc Capture of raw augmented reality data and subsequent 3D mesh generation
US11340620B2 (en) * 2019-08-07 2022-05-24 Boston Dynamics, Inc. Navigating a mobile robot
JP2022551734A (ja) 2019-10-15 2022-12-13 マジック リープ, インコーポレイテッド 複数のデバイスタイプをサポートするクロスリアリティシステム
US11632679B2 (en) 2019-10-15 2023-04-18 Magic Leap, Inc. Cross reality system with wireless fingerprints
JP2022551733A (ja) 2019-10-15 2022-12-13 マジック リープ, インコーポレイテッド 位置特定サービスを伴うクロスリアリティシステム
CN114616509A (zh) 2019-10-31 2022-06-10 奇跃公司 具有关于持久坐标框架的质量信息的交叉现实系统
WO2021096931A1 (en) 2019-11-12 2021-05-20 Magic Leap, Inc. Cross reality system with localization service and shared location-based content
US11521189B1 (en) * 2019-11-15 2022-12-06 Worldpay Limited Methods and systems for collecting and releasing virtual objects between disparate augmented reality environments
US11347371B2 (en) * 2019-11-25 2022-05-31 Unity Technologies ApS Automatic translation of user interface elements from wireframe tools to production augmented reality framework
EP4073763A4 (en) 2019-12-09 2023-12-27 Magic Leap, Inc. CROSS-REALLY SYSTEM WITH SIMPLIFIED PROGRAMMING OF VIRTUAL CONTENT
US11393176B2 (en) * 2020-02-07 2022-07-19 Krikey, Inc. Video tools for mobile rendered augmented reality game
EP4103910A4 (en) 2020-02-13 2024-03-06 Magic Leap, Inc. CROSS-REALLY SYSTEM WITH ACCURATE COMMON MAPS
JP2023514207A (ja) 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド 位置特定に関するジオロケーション情報の優先順位化を伴うクロスリアリティシステム
JP2023514208A (ja) 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド マルチ分解能フレーム記述子を使用したマップ処理を伴うクロスリアリティシステム
CN115461787A (zh) 2020-02-26 2022-12-09 奇跃公司 具有快速定位的交叉现实系统
JP2023524446A (ja) 2020-04-29 2023-06-12 マジック リープ, インコーポレイテッド 大規模環境のためのクロスリアリティシステム
CN111667590B (zh) * 2020-06-12 2024-03-22 上海商汤智能科技有限公司 一种互动合影方法、装置、电子设备及存储介质
US11661763B2 (en) 2020-07-01 2023-05-30 Cmech (Guangzhou) Ltd. Anti-unlatched mechanism and a door lock thereof
SE2030252A1 (en) * 2020-08-13 2022-02-14 Nagoon AB Method performed by a computer system for creation of augmented reality experiences and connection of these to the real world
KR20230057372A (ko) * 2020-08-27 2023-04-28 삼성전자주식회사 증강 현실 미디어 오브젝트들에 대한 앵커 기반 렌더링을 수행하는 방법 및 장치
CN112037314A (zh) * 2020-08-31 2020-12-04 北京市商汤科技开发有限公司 图像显示方法、装置、显示设备及计算机可读存储介质
EP4226334A4 (en) 2020-10-06 2024-11-06 Nokia Technologies Oy NETWORK-BASED SPATIAL COMPUTING FOR EXTENDED REALITY (XR) APPLICATIONS
US11875462B2 (en) * 2020-11-18 2024-01-16 Adobe Inc. Systems for augmented reality authoring of remote environments
US20220198764A1 (en) * 2020-12-18 2022-06-23 Arkh, Inc. Spatially Aware Environment Relocalization
JP2024507749A (ja) 2021-02-08 2024-02-21 サイトフル コンピューターズ リミテッド エクステンデッドリアリティにおけるコンテンツ共有
EP4288950A1 (en) 2021-02-08 2023-12-13 Sightful Computers Ltd User interactions in extended reality
EP4288856A1 (en) 2021-02-08 2023-12-13 Sightful Computers Ltd Extended reality for productivity
WO2023009112A1 (en) * 2021-07-28 2023-02-02 Innopeak Technology, Inc. Augmented reality content rendering
WO2023009580A2 (en) 2021-07-28 2023-02-02 Multinarity Ltd Using an extended reality appliance for productivity
CN113680067B (zh) * 2021-08-19 2024-10-18 网易(杭州)网络有限公司 游戏中控制虚拟道具的方法、装置、设备及存储介质
US20230334795A1 (en) 2022-01-25 2023-10-19 Multinarity Ltd Dual mode presentation of user interface elements
US11948263B1 (en) 2023-03-14 2024-04-02 Sightful Computers Ltd Recording the complete physical and extended reality environments of a user
TWI851973B (zh) * 2022-03-11 2024-08-11 緯創資通股份有限公司 虛擬視窗配置裝置、虛擬視窗配置方法及虛擬視窗配置系統
US11914563B2 (en) * 2022-03-24 2024-02-27 Oracle International Corporation Data structure generation system for analyzing logs
US11822939B2 (en) 2022-03-24 2023-11-21 Oracle International Corporation Collaborative analysis system for analyzing logs
CN115097997B (zh) * 2022-05-23 2024-07-26 广东虚拟现实科技有限公司 标记图案的部署方法、装置、电子设备及存储介质
CN115086368B (zh) * 2022-05-31 2024-08-30 福州华纳信息科技有限公司 一种基于虚拟展厅的多模式展陈的控制方法、系统及设备
US12079442B2 (en) 2022-09-30 2024-09-03 Sightful Computers Ltd Presenting extended reality content in different physical environments
CN116302296B (zh) * 2023-05-23 2023-08-15 腾讯科技(深圳)有限公司 资源预览方法、装置、设备及存储介质
DE102023003005A1 (de) 2023-07-24 2023-09-07 Mercedes-Benz Group AG Verfahren zum individuellen Gestalten eines Anzeigeinhaltes einer Anzeigeeinheit

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005017729A2 (en) * 2003-08-19 2005-02-24 Luigi Giubbolini Interface method and device between man and machine realised by manipulating virtual objects
US20090215536A1 (en) * 2008-02-21 2009-08-27 Palo Alto Research Center Incorporated Location-aware mixed-reality gaming platform
US20170345167A1 (en) * 2016-05-31 2017-11-30 Microsoft Technology Licensing, Llc Systems and methods for utilizing anchor graphs in mixed reality environments
US20170358140A1 (en) * 2016-06-13 2017-12-14 Microsoft Technology Licensing, Llc Identification of augmented reality image display position
US20180285052A1 (en) * 2017-03-30 2018-10-04 Microsoft Technology Licensing, Llc Sharing neighboring map data across devices
CN112074876A (zh) * 2018-05-04 2020-12-11 微软技术许可有限责任公司 在三维环境中创作内容

Family Cites Families (228)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7032185B1 (en) 1995-12-29 2006-04-18 Microsoft Corporation Graphical method and system for accessing information on a communications network
KR100483806B1 (ko) 2002-07-18 2005-04-20 한국과학기술원 예제동작을 이용한 영상기반 동작복원방법
US7467356B2 (en) 2003-07-25 2008-12-16 Three-B International Limited Graphical user interface for 3d virtual display browser using virtual display windows
US20050228849A1 (en) 2004-03-24 2005-10-13 Tong Zhang Intelligent key-frame extraction from a video
US7542034B2 (en) 2004-09-23 2009-06-02 Conversion Works, Inc. System and method for processing video images
US7583858B2 (en) 2004-10-12 2009-09-01 Eastman Kodak Company Image processing based on direction of gravity
US20080303787A1 (en) 2005-10-21 2008-12-11 Zheng Yu Brian Touch Screen Apparatus And Methods
EP2032224A2 (en) * 2006-06-26 2009-03-11 Icosystem Corporation Methods and systems for interactive customization of avatars and other animate or inanimate items in video games
US8781162B2 (en) 2011-01-05 2014-07-15 Ailive Inc. Method and system for head tracking and pose estimation
US20080090659A1 (en) 2006-10-12 2008-04-17 Maximino Aguilar Virtual world event notification from a persistent world game server in a logically partitioned game console
US8306348B2 (en) 2007-04-24 2012-11-06 DigitalOptics Corporation Europe Limited Techniques for adjusting the effect of applying kernels to signals to achieve desired effect on signal
JP4292426B2 (ja) 2007-05-15 2009-07-08 ソニー株式会社 撮像装置および撮像データ補正方法
US7779161B2 (en) 2007-07-24 2010-08-17 Hiconversion, Inc. Method and apparatus for general virtual application enabling of websites
WO2009021068A1 (en) 2007-08-06 2009-02-12 Trx Systems, Inc. Locating, tracking, and/or monitoring personnel and/or assets both indoors and outdoors
US9812096B2 (en) 2008-01-23 2017-11-07 Spy Eye, Llc Eye mounted displays and systems using eye mounted displays
US8605863B1 (en) 2008-03-18 2013-12-10 Avaya Inc. Method and apparatus for providing state indication on a telephone call
GB0818561D0 (en) 2008-10-09 2008-11-19 Isis Innovation Visual tracking of objects in images, and segmentation of images
US9064023B2 (en) 2008-12-29 2015-06-23 Avaya Inc. Providing web content in the context of a virtual environment
US20100208033A1 (en) * 2009-02-13 2010-08-19 Microsoft Corporation Personal Media Landscapes in Mixed Reality
US8839121B2 (en) 2009-05-06 2014-09-16 Joseph Bertolami Systems and methods for unifying coordinate systems in augmented reality applications
KR20100138806A (ko) 2009-06-23 2010-12-31 삼성전자주식회사 자동 3차원 영상 포맷 변환 방법 및 그 장치
KR20100138725A (ko) 2009-06-25 2010-12-31 삼성전자주식회사 가상 세계 처리 장치 및 방법
US20130162481A1 (en) 2009-10-01 2013-06-27 Parviz Parvizi Systems and methods for calibration of indoor geolocation
US9119027B2 (en) 2009-10-06 2015-08-25 Facebook, Inc. Sharing of location-based content item in social networking service
US8514491B2 (en) 2009-11-20 2013-08-20 Pelican Imaging Corporation Capturing and processing of images using monolithic camera array with heterogeneous imagers
US8185596B2 (en) * 2010-02-22 2012-05-22 Samsung Electronics Co., Ltd. Location-based communication method and system
US8620914B1 (en) 2010-05-18 2013-12-31 Google Inc. Ranking of digital goods in a marketplace
KR101686171B1 (ko) 2010-06-08 2016-12-13 삼성전자주식회사 영상 및 거리 데이터를 이용한 위치 인식 장치 및 방법
WO2012006578A2 (en) 2010-07-08 2012-01-12 The Regents Of The University Of California End-to-end visual recognition system and methods
WO2012126500A1 (en) 2011-03-18 2012-09-27 C3 Technologies Ab 3d streets
WO2012135554A1 (en) * 2011-03-29 2012-10-04 Qualcomm Incorporated System for the rendering of shared digital interfaces relative to each user's point of view
US8526368B2 (en) 2011-05-17 2013-09-03 Qualcomm Incorporated Wi-Fi access point characteristics database
US20120314031A1 (en) 2011-06-07 2012-12-13 Microsoft Corporation Invariant features for computer vision
US9082214B2 (en) * 2011-07-01 2015-07-14 Disney Enterprises, Inc. 3D drawing system for providing a real time, personalized, and immersive artistic experience
US10019962B2 (en) * 2011-08-17 2018-07-10 Microsoft Technology Licensing, Llc Context adaptive user interface for augmented reality display
CN103959308B (zh) 2011-08-31 2017-09-19 Metaio有限公司 以参考特征匹配图像特征的方法
US9268406B2 (en) * 2011-09-30 2016-02-23 Microsoft Technology Licensing, Llc Virtual spectator experience with a personal audio/visual apparatus
US8243102B1 (en) 2011-10-12 2012-08-14 Google Inc. Derivative-based selection of zones for banded map display
US20130141419A1 (en) 2011-12-01 2013-06-06 Brian Mount Augmented reality with realistic occlusion
US8977021B2 (en) 2011-12-30 2015-03-10 Mako Surgical Corp. Systems and methods for customizing interactive haptic boundaries
US9530221B2 (en) 2012-01-06 2016-12-27 Pelco, Inc. Context aware moving object detection
US9041739B2 (en) * 2012-01-31 2015-05-26 Microsoft Technology Licensing, Llc Matching physical locations for shared virtual experience
CN107320949B (zh) * 2012-02-06 2021-02-02 索尼互动娱乐欧洲有限公司 用于增强现实的书对象
CN103297677B (zh) 2012-02-24 2016-07-06 卡西欧计算机株式会社 生成重构图像的图像生成装置以及图像生成方法
US9293118B2 (en) 2012-03-30 2016-03-22 Sony Corporation Client device
KR20130110907A (ko) 2012-03-30 2013-10-10 삼성전자주식회사 가상 현실과 증강 현실을 이용한 원격 제어 장치 및 방법
US8965741B2 (en) * 2012-04-24 2015-02-24 Microsoft Corporation Context aware surface scanning and reconstruction
CN102682091A (zh) 2012-04-25 2012-09-19 腾讯科技(深圳)有限公司 基于云服务的视觉搜索方法和系统
US9122321B2 (en) 2012-05-04 2015-09-01 Microsoft Technology Licensing, Llc Collaboration environment using see through displays
WO2013167864A1 (en) 2012-05-11 2013-11-14 Milan Momcilo Popovich Apparatus for eye tracking
US9743057B2 (en) 2012-05-31 2017-08-22 Apple Inc. Systems and methods for lens shading correction
US11089247B2 (en) 2012-05-31 2021-08-10 Apple Inc. Systems and method for reducing fixed pattern noise in image data
US9311750B2 (en) 2012-06-05 2016-04-12 Apple Inc. Rotation operations in a mapping application
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
CN104737061B (zh) 2012-06-11 2018-01-16 奇跃公司 使用波导反射器阵列投射器的多深度平面三维显示器
US9111135B2 (en) 2012-06-25 2015-08-18 Aquifi, Inc. Systems and methods for tracking human hands using parts based template matching using corresponding pixels in bounded regions of a sequence of frames that are a specified distance interval from a reference camera
US8798357B2 (en) 2012-07-09 2014-08-05 Microsoft Corporation Image-based localization
EP2875471B1 (en) 2012-07-23 2021-10-27 Apple Inc. Method of providing image feature descriptors
GB2506338A (en) 2012-07-30 2014-04-02 Sony Comp Entertainment Europe A method of localisation and mapping
US9088787B1 (en) * 2012-08-13 2015-07-21 Lockheed Martin Corporation System, method and computer software product for providing visual remote assistance through computing systems
US8829409B2 (en) 2012-10-10 2014-09-09 Thermo Fisher Scientific Inc. Ultra-high speed imaging array with orthogonal readout architecture
CN102932582B (zh) 2012-10-26 2015-05-27 华为技术有限公司 实现运动检测的方法及装置
KR102052605B1 (ko) 2012-11-13 2019-12-06 네이버 주식회사 모바일 어플리케이션을 통한 바탕화면에 바로가기 설치 방법 및 그 시스템
US9596481B2 (en) 2013-01-30 2017-03-14 Ati Technologies Ulc Apparatus and method for video data processing
US9349072B2 (en) 2013-03-11 2016-05-24 Microsoft Technology Licensing, Llc Local feature based image compression
CA3157218A1 (en) * 2013-03-11 2014-10-09 Magic Leap, Inc. System and method for augmented and virtual reality
US10025486B2 (en) 2013-03-15 2018-07-17 Elwha Llc Cross-reality select, drag, and drop for augmented reality systems
US20140267234A1 (en) 2013-03-15 2014-09-18 Anselm Hook Generation and Sharing Coordinate System Between Users on Mobile
KR101380854B1 (ko) 2013-03-21 2014-04-04 한국과학기술연구원 웹 정보구조에 기반한 증강현실 콘텐츠 제공장치 및 방법
US9269022B2 (en) 2013-04-11 2016-02-23 Digimarc Corporation Methods for object recognition and related arrangements
US9154919B2 (en) 2013-04-22 2015-10-06 Alcatel Lucent Localization systems and methods
EP2808842B1 (en) 2013-05-31 2017-08-16 Technische Universität München An apparatus and method for tracking and reconstructing three-dimensional objects
US9874749B2 (en) 2013-11-27 2018-01-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9406137B2 (en) 2013-06-14 2016-08-02 Qualcomm Incorporated Robust tracking using point and line features
US9329682B2 (en) * 2013-06-18 2016-05-03 Microsoft Technology Licensing, Llc Multi-step virtual object selection
WO2014202258A1 (en) 2013-06-21 2014-12-24 National University Of Ireland, Maynooth A method for mapping an environment
US9779548B2 (en) * 2013-06-25 2017-10-03 Jordan Kent Weisman Multiuser augmented reality system
WO2015006784A2 (en) 2013-07-12 2015-01-15 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US10408613B2 (en) 2013-07-12 2019-09-10 Magic Leap, Inc. Method and system for rendering virtual content
US9646384B2 (en) 2013-09-11 2017-05-09 Google Technology Holdings LLC 3D feature descriptors with camera pose information
US9791700B2 (en) 2013-11-27 2017-10-17 Magic Leap, Inc. Virtual and augmented reality systems and methods
US9877158B2 (en) 2013-12-20 2018-01-23 Intel Corporation Wi-Fi scan scheduling and power adaptation for low-power indoor location
US10586395B2 (en) 2013-12-30 2020-03-10 Daqri, Llc Remote object detection and local tracking using visual odometry
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US9830679B2 (en) 2014-03-25 2017-11-28 Google Llc Shared virtual reality
US20150281869A1 (en) 2014-03-31 2015-10-01 Google Inc. Native web-based application
WO2015155628A1 (en) 2014-04-07 2015-10-15 Eyeways Systems Ltd. Apparatus and method for image-based positioning, orientation and situational awareness
US9728009B2 (en) * 2014-04-29 2017-08-08 Alcatel Lucent Augmented reality based management of a representation of a smart environment
GB2526263B (en) * 2014-05-08 2019-02-06 Sony Interactive Entertainment Europe Ltd Image capture method and apparatus
AU2015274283B2 (en) * 2014-06-14 2020-09-10 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US10068373B2 (en) 2014-07-01 2018-09-04 Samsung Electronics Co., Ltd. Electronic device for providing map information
CN104143212A (zh) 2014-07-02 2014-11-12 惠州Tcl移动通信有限公司 基于穿戴设备的增强现实方法及系统
US10198865B2 (en) 2014-07-10 2019-02-05 Seiko Epson Corporation HMD calibration with direct geometric modeling
US9596411B2 (en) 2014-08-25 2017-03-14 Apple Inc. Combined optical and electronic image stabilization
US10509865B2 (en) * 2014-09-18 2019-12-17 Google Llc Dress form for three-dimensional drawing inside virtual reality environment
KR102276847B1 (ko) 2014-09-23 2021-07-14 삼성전자주식회사 가상 오브젝트 제공 방법 및 그 전자 장치
US20200252233A1 (en) 2014-09-24 2020-08-06 James Thomas O'Keeffe System and method for user profile enabled smart building control
US10719727B2 (en) 2014-10-01 2020-07-21 Apple Inc. Method and system for determining at least one property related to at least part of a real environment
CN106663411A (zh) 2014-11-16 2017-05-10 易欧耐特感知公司 用于增强现实准备、处理和应用的系统和方法
US20160147408A1 (en) * 2014-11-25 2016-05-26 Johnathan Bevis Virtual measurement tool for a wearable visualization device
EP3227708A1 (en) 2014-12-04 2017-10-11 HERE Global B.V. Supporting a collaborative collection of data
US10335677B2 (en) 2014-12-23 2019-07-02 Matthew Daniel Fuchs Augmented reality system with agent device for viewing persistent content and method of operation thereof
US9685005B2 (en) * 2015-01-02 2017-06-20 Eon Reality, Inc. Virtual lasers for interacting with augmented reality environments
US9852546B2 (en) * 2015-01-28 2017-12-26 CCP hf. Method and system for receiving gesture input via virtual control objects
US9697796B2 (en) 2015-03-26 2017-07-04 Intel Corporation Adaptive linear luma domain video pipeline architecture
US20160300389A1 (en) 2015-04-08 2016-10-13 Exactigo, Inc. Correlated immersive virtual simulation for indoor navigation
US9467718B1 (en) * 2015-05-06 2016-10-11 Echostar Broadcasting Corporation Apparatus, systems and methods for a content commentary community
US20160335275A1 (en) 2015-05-11 2016-11-17 Google Inc. Privacy-sensitive query for localization area description file
US10373366B2 (en) 2015-05-14 2019-08-06 Qualcomm Incorporated Three-dimensional model generation
KR101725478B1 (ko) 2015-05-21 2017-04-11 주식회사 맥스트 3d 점군 인식 기반의 증강 현실 출력 방법과 이를 수행하기 위한 장치 및 시스템
US20160358383A1 (en) * 2015-06-05 2016-12-08 Steffen Gauglitz Systems and methods for augmented reality-based remote collaboration
US20160381118A1 (en) 2015-06-23 2016-12-29 Microsoft Technology Licensing, Llc Extracting and formatting content from web-resources
US10335572B1 (en) 2015-07-17 2019-07-02 Naveen Kumar Systems and methods for computer assisted operation
US10492981B1 (en) 2015-07-17 2019-12-03 Bao Tran Systems and methods for computer assisted operation
US20170061696A1 (en) 2015-08-31 2017-03-02 Samsung Electronics Co., Ltd. Virtual reality display apparatus and display method thereof
EP3347677B1 (en) 2015-09-10 2022-04-06 Oriient New Media Ltd. Navigate, track, and position mobile devices in gps-denied or gps-inaccurate areas with automatic map generation
CA2941893C (en) * 2015-09-14 2020-02-25 The Toronto-Dominion Bank Connected device-based property evaluation
IL291685B2 (en) 2015-09-25 2023-09-01 Magic Leap Inc Methods and systems for discovering and integrating structural features in 3D reconstruction
US20170094227A1 (en) * 2015-09-25 2017-03-30 Northrop Grumman Systems Corporation Three-dimensional spatial-awareness vision system
GB201517101D0 (en) 2015-09-28 2015-11-11 Univ Essex Entpr Ltd Mixed-reality system
US10471355B2 (en) 2015-10-21 2019-11-12 Sharp Kabushiki Kaisha Display system, method of controlling display system, image generation control program, and computer-readable storage medium
US9706366B2 (en) 2015-11-06 2017-07-11 International Business Machines Corporation WiFi-fingerprint based indoor localization map
US10254845B2 (en) 2016-01-05 2019-04-09 Intel Corporation Hand gesture recognition for cursor control
US10523865B2 (en) 2016-01-06 2019-12-31 Texas Instruments Incorporated Three dimensional rendering for surround view using predetermined viewpoint lookup tables
US10397320B2 (en) * 2016-01-20 2019-08-27 International Business Machines Corporation Location based synchronized augmented reality streaming
CN114995647B (zh) 2016-02-05 2024-09-10 奇跃公司 用于增强现实的系统和方法
WO2017143303A1 (en) 2016-02-17 2017-08-24 Meta Company Apparatuses, methods and systems for sharing virtual elements
US10373380B2 (en) 2016-02-18 2019-08-06 Intel Corporation 3-dimensional scene analysis for augmented reality operations
JP6776609B2 (ja) 2016-02-22 2020-10-28 デクセリアルズ株式会社 異方性導電フィルム
US20180122143A1 (en) 2016-03-15 2018-05-03 Sutherland Cook Ellwood, JR. Hybrid photonic vr/ar systems
US10115234B2 (en) * 2016-03-21 2018-10-30 Accenture Global Solutions Limited Multiplatform based experience generation
US10802147B2 (en) 2016-05-18 2020-10-13 Google Llc System and method for concurrent odometry and mapping
US10586391B2 (en) 2016-05-31 2020-03-10 Accenture Global Solutions Limited Interactive virtual reality platforms
US10607408B2 (en) 2016-06-04 2020-03-31 Shape Labs Inc. Method for rendering 2D and 3D data within a 3D virtual environment
US11201981B1 (en) 2016-06-20 2021-12-14 Pipbin, Inc. System for notification of user accessibility of curated location-dependent content in an augmented estate
US10504008B1 (en) 2016-07-18 2019-12-10 Occipital, Inc. System and method for relocalization and scene recognition
EP3497676B1 (en) 2016-08-11 2024-07-17 Magic Leap, Inc. Automatic placement of a virtual object in a three-dimensional space
KR102634343B1 (ko) 2016-08-22 2024-02-05 매직 립, 인코포레이티드 가상, 증강, 및 혼합 현실 시스템들 및 방법들
US10162362B2 (en) 2016-08-29 2018-12-25 PerceptIn, Inc. Fault tolerance to provide robust tracking for autonomous positional awareness
US10007868B2 (en) 2016-09-19 2018-06-26 Adobe Systems Incorporated Font replacement based on visual similarity
RU2016138608A (ru) 2016-09-29 2018-03-30 Мэджик Лип, Инк. Нейронная сеть для сегментации изображения глаза и оценки качества изображения
US10452133B2 (en) 2016-12-12 2019-10-22 Microsoft Technology Licensing, Llc Interacting with an environment using a parent device and at least one companion device
KR102630774B1 (ko) * 2016-12-29 2024-01-30 매직 립, 인코포레이티드 외부 조건들에 기초한 웨어러블 디스플레이 디바이스의자동 제어
JP7268879B2 (ja) 2017-01-02 2023-05-08 ガウス サージカル,インコーポレイテッド 重複撮像を予測した手術アイテムの追跡
US10354129B2 (en) 2017-01-03 2019-07-16 Intel Corporation Hand gesture recognition for virtual reality and augmented reality devices
US10812936B2 (en) 2017-01-23 2020-10-20 Magic Leap, Inc. Localization determination for mixed reality systems
WO2018139773A1 (ko) 2017-01-25 2018-08-02 한국과학기술연구원 무선 환경 변화에 강인한 slam 방법 및 장치
US10534964B2 (en) 2017-01-30 2020-01-14 Blackberry Limited Persistent feature descriptors for video
CN110892408A (zh) 2017-02-07 2020-03-17 迈恩德玛泽控股股份有限公司 用于立体视觉和跟踪的系统、方法和装置
US10664993B1 (en) 2017-03-13 2020-05-26 Occipital, Inc. System for determining a pose of an object
US10460489B2 (en) * 2017-03-15 2019-10-29 Facebook, Inc. Visual editor for designing augmented-reality effects and configuring scaling parameters
AU2018234929B2 (en) 2017-03-17 2022-06-30 Magic Leap, Inc. Technique for recording augmented reality data
KR102648256B1 (ko) 2017-03-30 2024-03-14 매직 립, 인코포레이티드 중앙화된 렌더링
US10600252B2 (en) 2017-03-30 2020-03-24 Microsoft Technology Licensing, Llc Coarse relocalization using signal fingerprints
US9754397B1 (en) * 2017-04-07 2017-09-05 Mirage Worlds, Inc. Systems and methods for contextual augmented reality sharing and performance
CN113608617A (zh) 2017-04-19 2021-11-05 奇跃公司 可穿戴系统的多模式任务执行和文本编辑
CA3060209A1 (en) 2017-05-01 2018-11-08 Magic Leap, Inc. Matching content to a spatial 3d environment
US11417091B2 (en) 2017-05-30 2022-08-16 Ptc Inc. Use of coordinated local user devices during a shared augmented reality session
CN109145927A (zh) 2017-06-16 2019-01-04 杭州海康威视数字技术股份有限公司 一种对形变图像的目标识别方法及装置
JP6585665B2 (ja) 2017-06-29 2019-10-02 ファナック株式会社 仮想オブジェクト表示システム
US10929945B2 (en) 2017-07-28 2021-02-23 Google Llc Image capture devices featuring intelligent use of lightweight hardware-generated statistics
US10503955B2 (en) 2017-08-29 2019-12-10 Synaptics Incorporated Device with improved circuit positioning
WO2019046774A1 (en) 2017-09-01 2019-03-07 Memorial Sloan Kettering Cancer Center SYSTEMS AND METHODS FOR GENERATING 3D MEDICAL IMAGES BY SCANNING A WHOLE TISSUE BLOCK
US10546387B2 (en) 2017-09-08 2020-01-28 Qualcomm Incorporated Pose determination with semantic segmentation
US10685456B2 (en) 2017-10-12 2020-06-16 Microsoft Technology Licensing, Llc Peer to peer remote localization for devices
US10612929B2 (en) 2017-10-17 2020-04-07 AI Incorporated Discovering and plotting the boundary of an enclosure
AU2018369757B2 (en) 2017-11-14 2023-10-12 Magic Leap, Inc. Fully convolutional interest point detection and description via homographic adaptation
EP3724713A4 (en) 2017-12-15 2021-08-25 Magic Leap, Inc. IMPROVED ITEM DETERMINATION FOR A DISPLAY DEVICE
US10630857B2 (en) 2017-12-21 2020-04-21 Ricoh Company, Ltd. Electronic apparatus and method to update firmware of the electronic apparatus when adding a web application to the electronic apparatus
CA3084149A1 (en) 2017-12-22 2019-06-27 Magic Leap, Inc. Methods and system for managing and displaying virtual content in a mixed reality system
US20190206258A1 (en) 2018-01-04 2019-07-04 nuTonomy Inc. Augmented reality vehicle interfacing
US11014242B2 (en) * 2018-01-26 2021-05-25 Microsoft Technology Licensing, Llc Puppeteering in augmented reality
US10403047B1 (en) * 2018-03-01 2019-09-03 Dell Products L.P. Information handling system augmented reality through a virtual object anchor
US11237004B2 (en) 2018-03-27 2022-02-01 Uatc, Llc Log trajectory estimation for globally consistent maps
US10838574B2 (en) * 2018-04-09 2020-11-17 Spatial Systems Inc. Augmented reality computing environments—workspace save and load
US11086474B2 (en) * 2018-04-09 2021-08-10 Spatial Systems Inc. Augmented reality computing environments—mobile device join and load
US10812711B2 (en) 2018-05-18 2020-10-20 Samsung Electronics Co., Ltd. Semantic mapping for low-power augmented reality using dynamic vision sensor
CN110515452B (zh) 2018-05-22 2022-02-22 腾讯科技(深圳)有限公司 图像处理方法、装置、存储介质和计算机设备
US11010977B2 (en) 2018-05-31 2021-05-18 Jido, Inc. Method for establishing a common reference frame amongst devices for an augmented reality session
US10706629B2 (en) 2018-06-15 2020-07-07 Dell Products, L.P. Coordinate override in virtual, augmented, and mixed reality (xR) applications
US10964053B2 (en) 2018-07-02 2021-03-30 Microsoft Technology Licensing, Llc Device pose estimation using 3D line clouds
WO2020023582A1 (en) 2018-07-24 2020-01-30 Magic Leap, Inc. Methods and apparatuses for determining and/or evaluating localizing maps of image display devices
US11227435B2 (en) 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
US10957112B2 (en) 2018-08-13 2021-03-23 Magic Leap, Inc. Cross reality system
KR101985703B1 (ko) 2018-08-24 2019-06-04 주식회사 버넥트 증강현실 서비스형 소프트웨어 기반의 증강현실운영시스템
JP7361763B2 (ja) 2018-09-04 2023-10-16 アクティーア・ソシエテ・アノニム 1人又は複数人のユーザの血圧を決定するシステム
EP3629290B1 (en) 2018-09-26 2023-01-04 Apple Inc. Localization for mobile devices
CN113196209A (zh) 2018-10-05 2021-07-30 奇跃公司 在任何位置渲染位置特定的虚拟内容
US11461979B2 (en) * 2018-10-21 2022-10-04 Oracle International Corporation Animation between visualization objects in a virtual dashboard
US10937191B2 (en) 2018-10-23 2021-03-02 Dell Products, Lp Predictive simultaneous localization and mapping system using prior user session positional information
US10839556B2 (en) 2018-10-23 2020-11-17 Microsoft Technology Licensing, Llc Camera pose estimation using obfuscated features
US10854007B2 (en) 2018-12-03 2020-12-01 Microsoft Technology Licensing, Llc Space models for mixed reality
US20200211290A1 (en) 2018-12-26 2020-07-02 Lg Electronics Inc. Xr device for providing ar mode and vr mode and method for controlling the same
US11030812B2 (en) 2019-01-02 2021-06-08 The Boeing Company Augmented reality system using enhanced models
CN113412614B (zh) 2019-03-27 2023-02-14 Oppo广东移动通信有限公司 使用深度图像的三维定位
US11074706B2 (en) 2019-04-12 2021-07-27 Intel Corporation Accommodating depth noise in visual slam using map-point consensus
CN111815755B (zh) 2019-04-12 2023-06-30 Oppo广东移动通信有限公司 虚拟物体被遮挡的区域确定方法、装置及终端设备
US11151792B2 (en) 2019-04-26 2021-10-19 Google Llc System and method for creating persistent mappings in augmented reality
US10748302B1 (en) 2019-05-02 2020-08-18 Apple Inc. Multiple user simultaneous localization and mapping (SLAM)
US20200364937A1 (en) 2019-05-16 2020-11-19 Subvrsive, Inc. System-adaptive augmented reality
US11010921B2 (en) 2019-05-16 2021-05-18 Qualcomm Incorporated Distributed pose estimation
US11145083B2 (en) 2019-05-21 2021-10-12 Microsoft Technology Licensing, Llc Image-based localization
US10854012B1 (en) 2019-05-29 2020-12-01 Dell Products, L.P. Concealing loss of distributed simultaneous localization and mapping (SLAM) data in edge cloud architectures
US20200380263A1 (en) 2019-05-29 2020-12-03 Gyrfalcon Technology Inc. Detecting key frames in video compression in an artificial intelligence semiconductor solution
US20200401617A1 (en) 2019-06-21 2020-12-24 White Raven Ltd Visual positioning system
US10852828B1 (en) 2019-07-17 2020-12-01 Dell Products, L.P. Automatic peripheral pairing with hand assignments in virtual, augmented, and mixed reality (xR) applications
US10936874B1 (en) 2019-08-13 2021-03-02 Dell Products, L.P. Controller gestures in virtual, augmented, and mixed reality (xR) applications
KR20190104928A (ko) 2019-08-22 2019-09-11 엘지전자 주식회사 Xr 디바이스 및 xr 디바이스 제어 방법
US11270515B2 (en) 2019-09-04 2022-03-08 Qualcomm Incorporated Virtual keyboard
CN114222960A (zh) 2019-09-09 2022-03-22 苹果公司 用于计算机生成现实的多模态输入
US12079638B2 (en) 2019-10-03 2024-09-03 Magic Leap, Inc. Management framework for mixed reality devices
US11425220B2 (en) 2019-10-08 2022-08-23 Magic Leap, Inc. Methods, systems, and computer program products for implementing cross-platform mixed-reality applications with a scripting framework
US11632679B2 (en) 2019-10-15 2023-04-18 Magic Leap, Inc. Cross reality system with wireless fingerprints
JP2022551734A (ja) 2019-10-15 2022-12-13 マジック リープ, インコーポレイテッド 複数のデバイスタイプをサポートするクロスリアリティシステム
JP2022551733A (ja) 2019-10-15 2022-12-13 マジック リープ, インコーポレイテッド 位置特定サービスを伴うクロスリアリティシステム
US11494995B2 (en) 2019-10-29 2022-11-08 Magic Leap, Inc. Systems and methods for virtual and augmented reality
CN114616509A (zh) 2019-10-31 2022-06-10 奇跃公司 具有关于持久坐标框架的质量信息的交叉现实系统
WO2021096931A1 (en) 2019-11-12 2021-05-20 Magic Leap, Inc. Cross reality system with localization service and shared location-based content
EP4073763A4 (en) 2019-12-09 2023-12-27 Magic Leap, Inc. CROSS-REALLY SYSTEM WITH SIMPLIFIED PROGRAMMING OF VIRTUAL CONTENT
EP4104144A4 (en) 2020-02-13 2024-06-05 Magic Leap, Inc. MIXED REALITY SYSTEM FOR LARGE-SCALE ENVIRONMENTS
EP4103910A4 (en) 2020-02-13 2024-03-06 Magic Leap, Inc. CROSS-REALLY SYSTEM WITH ACCURATE COMMON MAPS
JP2023514207A (ja) 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド 位置特定に関するジオロケーション情報の優先順位化を伴うクロスリアリティシステム
JP2023514208A (ja) 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド マルチ分解能フレーム記述子を使用したマップ処理を伴うクロスリアリティシステム
US11593951B2 (en) 2020-02-25 2023-02-28 Qualcomm Incorporated Multi-device object tracking and localization
CN115461787A (zh) 2020-02-26 2022-12-09 奇跃公司 具有快速定位的交叉现实系统
US11900322B2 (en) 2020-03-20 2024-02-13 Procore Technologies, Inc. Presence and collaboration tools for building information models
JP2023524446A (ja) 2020-04-29 2023-06-12 マジック リープ, インコーポレイテッド 大規模環境のためのクロスリアリティシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005017729A2 (en) * 2003-08-19 2005-02-24 Luigi Giubbolini Interface method and device between man and machine realised by manipulating virtual objects
US20090215536A1 (en) * 2008-02-21 2009-08-27 Palo Alto Research Center Incorporated Location-aware mixed-reality gaming platform
US20170345167A1 (en) * 2016-05-31 2017-11-30 Microsoft Technology Licensing, Llc Systems and methods for utilizing anchor graphs in mixed reality environments
US20170358140A1 (en) * 2016-06-13 2017-12-14 Microsoft Technology Licensing, Llc Identification of augmented reality image display position
US20180285052A1 (en) * 2017-03-30 2018-10-04 Microsoft Technology Licensing, Llc Sharing neighboring map data across devices
CN112074876A (zh) * 2018-05-04 2020-12-11 微软技术许可有限责任公司 在三维环境中创作内容

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118071953A (zh) * 2024-03-06 2024-05-24 中铭信测(辽宁)科技有限公司 三维地理信息模型渲染方法及系统

Also Published As

Publication number Publication date
US20240069628A1 (en) 2024-02-29
US11789524B2 (en) 2023-10-17
US20200111255A1 (en) 2020-04-09
US11232635B2 (en) 2022-01-25
JP2024113153A (ja) 2024-08-21
WO2020072985A1 (en) 2020-04-09
US20220101607A1 (en) 2022-03-31
JP2022512600A (ja) 2022-02-07
EP3861387A1 (en) 2021-08-11
JP7503542B2 (ja) 2024-06-20
EP3861387A4 (en) 2022-05-25

Similar Documents

Publication Publication Date Title
US11789524B2 (en) Rendering location specific virtual content in any location
JP7492558B2 (ja) 視野周辺の視覚的背光
US20220383604A1 (en) Methods and systems for three-dimensional model sharing
US11954243B2 (en) Mapping and localization of a passable world
KR102438052B1 (ko) 포즈들 및 멀티-dof 제어기들을 사용하는 3d 가상 객체들과 상호작용들
EP3365724B1 (en) Selecting virtual objects in a three-dimensional space
JP2022549853A (ja) 共有空間内の個々の視認
US11669218B2 (en) Real-time preview of connectable objects in a physically-modeled virtual space
JP7580434B2 (ja) 3次元モデル共有のための方法およびシステム
JP2024159778A (ja) 視野周辺の視覚的背光

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