CN115698818B - 会话管理器 - Google Patents

会话管理器 Download PDF

Info

Publication number
CN115698818B
CN115698818B CN202180028398.8A CN202180028398A CN115698818B CN 115698818 B CN115698818 B CN 115698818B CN 202180028398 A CN202180028398 A CN 202180028398A CN 115698818 B CN115698818 B CN 115698818B
Authority
CN
China
Prior art keywords
user
location
session
virtual
presenting
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.)
Active
Application number
CN202180028398.8A
Other languages
English (en)
Other versions
CN115698818A (zh
Inventor
R·S·C·贝利
S·波特哈皮拉加达
K·摩尔
K·施托尔岑贝格
S·奈尔斯
D·诺列加-帕迪拉
C·P·海纳
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
Priority to CN202410024972.8A priority Critical patent/CN117827004A/zh
Publication of CN115698818A publication Critical patent/CN115698818A/zh
Application granted granted Critical
Publication of CN115698818B publication Critical patent/CN115698818B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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
    • 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/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
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/0141Head-up displays characterised by optical features characterised by the informative content of the display
    • 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
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/024Multi-user, collaborative environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

在此公开了用于实现混合现实协作的系统和方法。方法可包括接收持久坐标数据;经由可穿戴设备的透射式显示器在第一位置处向第一用户呈现第一虚拟会话句柄,其中,第一位置是基于持久坐标数据的;经由透射式显示器在第二位置处向第一用户呈现虚拟对象,其中,第二位置是基于第一位置的;从第二用户接收定位数据,其中,定位数据将第二用户的位置与第二虚拟会话句柄的位置相关;经由透射式显示器在第三位置处向第一用户呈现虚拟化身,其中,虚拟化身对应于第二用户,其中,第三位置是基于定位数据的,以及其中,第三位置进一步是基于第一位置的。

Description

会话管理器
相关申请的交叉引用
本申请要求于2020年2月14日提交的美国临时申请No.62/977,079的权益,其内容通过引用整体并入本文。
技术领域
本公开总体上涉及用于管理和启用虚拟协作的系统和方法,并且特别地涉及用于管理和启用混合现实环境中的虚拟协作的系统和方法。
背景技术
在计算环境中虚拟环境是普遍存在的,虚拟环境应用于视频游戏(其中,虚拟环境可表示游戏世界);地图(其中,虚拟环境可表示待导航的地形);模拟(其中,虚拟环境可模拟真实环境);数字故事(其中,在虚拟环境中虚拟角色可彼此交互);和许多其他应用。现代计算机用户通常舒适感知虚拟环境并且与虚拟环境交互。然而,用户关于虚拟环境的体验可能受到用于呈现虚拟环境的技术的限制。例如,常规显示器(例如,2D显示屏)和音频系统(例如,固定扬声器)可能不能够以产生令人信服、现实并且沉浸式体验的方式实现虚拟环境。
虚拟现实(“VR”)、增强现实(“AR”)、混合现实(“MR”)、和相关技术(统称为“XR”)共享向XR系统的用户呈现对应于由计算机系统中的数据表示的虚拟环境的感觉信息的能力。本公开预期了VR、AR和MR系统之间的区别(尽管一些系统在一方面(例如,视觉方面)可被分类为VR并且同时在另一方面(例如,音频方面)被分类为AR或MR))。如本文所使用的,VR系统呈现了在至少一个方面中替换用户的真实环境的虚拟环境;例如,VR系统可以向用户呈现虚拟环境的视图,而同时模糊他或她的真实环境的视图,诸如利用光阻头戴式显示器。类似地,VR系统可以向用户呈现对应于虚拟环境的音频,而同时阻挡(衰减)来自真实环境的音频。
VR系统可能会体验到由于用虚拟环境替换用户的真实环境而导致的各种缺点。一个缺点是当用户的虚拟环境中的视场不再对应于他或她的内耳的状态时可能出现晕动病(motion sickness)的感觉,该状态检测到一个人在真实环境(非虚拟环境)中的平衡和取向。类似地,用户可能会在他们自己的身体和四肢(用户感觉到在真实环境中“落地”所依赖的视图)不是直接能看到的VR环境中体验到迷失方向。另一个缺点是必须呈现全3D虚拟环境的VR系统上的计算负担(例如,存储、处理能力),特别是在试图使用户沉浸在虚拟环境中的实时应用中。类似地,此类环境可能需要达到非常高的真实感标准才能被认为是沉浸式的,因为用户往往对虚拟环境中的微小缺陷都很敏感——任何缺陷都会破坏用户在虚拟环境中的沉浸感。此外,VR系统的另一个缺点是系统的此类应用无法利用真实环境中广泛的感官数据,诸如人们在中体验到的各种视与听。一个相关的缺点是,VR系统可能难以创建多个用户可以交互的共享环境,因为在真实环境中共享物理空间的用户可能无法在虚拟环境中直接看到彼此或与彼此交互。
如本文所使用的,AR系统呈现在至少一个方面中重叠或覆盖真实环境的虚拟环境。例如,AR系统可以向用户呈现重叠在用户的真实环境的视图上的虚拟环境的视图,诸如利用呈现所显示的图像同时允许光穿过显示器到用户的眼睛中的透射式头戴式显示器。类似地,AR系统可以向用户呈现对应于虚拟环境的音频,而同时在来自真实环境的音频中混合。类似地,如本文所使用的,MR系统呈现在至少一个方面中覆盖或重叠真实环境的虚拟环境,如AR系统所做,并且可以附加地允许在至少一个方面中MR系统中的虚拟环境可以与真实环境交互。例如,虚拟环境中的虚拟角色可以切换真实环境中的灯开关,使得真实环境中的对应的灯泡开启或关断。作为另一个示例,虚拟角色可以对真实环境中的音频信号作出反应(诸如用面部表情)。通过维持真实环境的呈现,AR和MR系统可以避免VR系统的前述缺点中的一些缺点;例如,用户的晕动病减少,因为来自真实环境(包括用户的自己的身体)的视觉提示可以保持可见,并且该系统不需要向用户呈现完全实现的3D环境即可沉浸其中。进一步地,AR和MR系统可以利用真实世界感觉输入(例如,布景、对象和其他用户的视图和声音)来创建增强该输入的新应用。
XR系统可以被独特地定位以实现人与人之间的更大协作。以持久和三维的方式呈现虚拟内容的能力可以让人们更自然地与虚拟内容进行交互。例如,相比二维屏幕所能提供的,在三维空间中布置虚拟对象可能实现更自然的定位召回。在二维屏幕的用户可能必须通过搜寻四十个打开的选项卡中的一个选项卡来重新打开所需的应用的情况下,XR系统的用户可能能够精确定位显示在桌子上的所需虚拟对象(如拿起放在桌子上的真实文件夹)。此外,XR系统可以让用户看到其他用户的虚拟化身,以模拟其他人的现场存在。这可以比电话甚至视频会议所能提供的实现更自然的协作。因此,可能希望开发用于实现XR系统上的深度用户协作的系统和方法。
XR系统可通过将虚拟视觉和音频提示与真实的视与听组合来提供独特的提高的沉浸感和真实性。因此,在一些XR系统中,期望呈现增强、改进或更改对应的真实环境的虚拟环境。本公开涉及使能跨多个XR系统一致地放置虚拟对象的XR系统。
发明内容
本公开的示例描述了用于实现混合现实协作的系统和方法。根据本公开的示例,方法可包括接收持久坐标数据;经由可穿戴设备的透射式显示器在第一位置处向第一用户呈现第一虚拟会话句柄,其中,第一位置是基于持久坐标数据的;经由透射式显示器在第二位置处向第一用户呈现虚拟对象,其中,第二位置是基于第一位置的;从第二用户接收定位数据,其中,定位数据将第二用户的位置与第二虚拟会话句柄的位置相关;经由透射式显示器在第三位置处向第一用户呈现虚拟化身,其中,虚拟化身对应于第二用户,其中,第三位置是基于定位数据的,以及其中,第三位置进一步是基于第一位置的。
附图说明
图1A至1C示出根据一些实施例的示例混合现实环境。
图2A至2D示出根据一些实施例的可用于生成混合现实环境并且与混合现实环境交互的示例混合现实环境的组件。
图3A示出根据一些实施例的可用于向混合现实环境提供输入的示例混合现实手持式控制器。
图3B示出根据一些实施例的可与示例混合现实系统一起使用的示例辅助单元。
图4示出根据一些实施例的用于示例混合现实系统的示例功能框图。
图5A-5C示出根据一些实施例的混合现实协作会话的示例。
图6示出根据一些实施例的会话管理器架构的示例。
图7示出根据一些实施例的会话实例的示例。
具体实施方式
在示例的以下描述中,参考了构成其一部分的附图,并且在附图中通过图示的方式示出了可以实施的具体示例。应理解,在不脱离所公开的示例的范围的情况下,可以使用其他示例并且可以做出结构改变。
混合现实环境
像所有人一样,混合现实系统的用户存在于真实环境中——即,用户可感知“真实世界”的三维部分和所有其内容。例如,用户使用自己的普通人类感官——视觉、听觉、触觉、味觉、嗅觉——感知真实环境,并通过在真实环境中移动自己的身体与真实环境进行交互。真实环境中的定位可被描述为坐标空间中的坐标;例如,坐标可包括纬度、经度和相对于海平面的海拔;在三个正交维度上距参考点的距离;或其他适合的值。同样地,矢量可描述在坐标空间中具有方向和幅度的量。
计算设备可例如在与设备相关联的存储器中维护虚拟环境的表示。如本文所使用的,虚拟环境是三维空间的计算表示。虚拟环境可包括与该空间相关联的任何对象、动作、信号、参数、坐标、矢量、或其他特性的表示。在一些示例中,计算设备的电路(例如,处理器)可以维护和更新虚拟环境的状态;即,处理器可以在第一时间t0,基于与虚拟环境相关联的数据和/或由用户提供的输入来确定第二时间t1的虚拟环境的状态。例如,如果虚拟环境中的对象在时间t0位于第一坐标处,并且具有某个编程的物理参数(例如,质量、摩擦系数);以及从用户接收的输入指示应该在方向矢量中向对象施加力;处理器可应用运动学定律以使用基础力学确定对象在时间t1的位置。处理器可以使用已知的关于虚拟环境的任何适合的信息和/或任何适合的输入来确定虚拟环境在时间t1的状态。在维护和更新虚拟环境的状态时,处理器可执行任何适合的软件,包括与在虚拟环境中创建和删除虚拟对象有关的软件;用于定义虚拟环境中的虚拟对象或角色的行为的软件(例如,脚本);用于定义虚拟环境中的信号(例如,音频信号)的行为的软件;用于创建和更新与虚拟环境相关联的参数的软件;用于生成虚拟环境中的音频信号的软件;用于处理输入和输出的软件;用于实现网络操作的软件;用于应用资产数据(例如,随时间移动虚拟对象的动画数据)的软件;或许多其他可能性。
输出设备(诸如显示器或者扬声器)可以向用户呈现虚拟环境的任何或所有方面。例如,虚拟环境可包括可以呈现给用户的虚拟对象(其可包括无生命对象;人;动物;光等的表示)。处理器可以确定虚拟环境的视图(例如,对应于具有坐标原点、视图轴和视锥的“相机”);以及向显示器渲染对应于该视图的虚拟环境的可视场景。出于该目的,可以使用任何适合的渲染技术。在一些示例中,可视场景可以仅包括虚拟环境中的一些虚拟对象,并且不包括某些其他虚拟对象。类似地,虚拟环境可包括可呈现给用户作为一个或多个音频信号的音频方面。例如,虚拟环境中的虚拟对象可生成起源于对象的位置坐标的声音(例如,虚拟角色可以说话或引起声音效果);或者虚拟环境可与音乐提示或环境声音相关联,该音乐提示或环境声音可能与特定定位相关联,或可能不相关联。处理器可以确定与“听者”坐标对应的音频信号——例如,与虚拟环境中的声音的合成对应的音频信号,并进行混合和处理以模拟听者在听者坐标处听到的音频信号——并经由一个或多个扬声器将音频信号呈现给用户。
由于虚拟环境仅作为计算结构存在,所以用户不能使用自己的普通感官直接感知虚拟环境。相反,用户只能间接地感知虚拟环境,如例如通过显示器、扬声器、触觉输出设备等呈现给用户的。类似地,用户不能直接接触、操控、或以其他方式与虚拟环境交互;但可以经由输入设备或传感器向处理器提供输入数据,该处理器可以使用设备或传感器数据更新虚拟环境。例如,相机传感器可提供指示用户试图移动虚拟环境中的对象的光学数据,并且处理器可使用该数据使得对象在虚拟环境中做出相应响应。
混合现实系统可以向用户呈现组合真实环境和虚拟环境的各方面的混合现实环境(“MRE”),例如使用透射式显示器和/或一个或多个扬声器(其可以例如并入可穿戴头部设备中)。在一些实施例中,一个或多个扬声器可以在头戴式可穿戴单元的外部。如本文所使用的,MRE是真实环境和对应的虚拟环境的同时表示。在一些示例中,对应的真实环境和虚拟环境共享单个坐标空间;在一些示例中,真实坐标空间和对应的虚拟坐标空间通过变换矩阵(或其他适合的表示)彼此相关。因此,单个坐标(在一些示例中,连同变换矩阵一起)可以定义真实环境中的第一位置,以及虚拟环境中的第二对应位置;反之亦然。
在MRE中,虚拟对象(例如,在与MRE相关联的虚拟环境中)可以对应于真实对象(例如,在与MRE相关联的真实环境中)。例如,如果MRE的真实环境包括位置坐标处的真实灯杆(真实对象),则MRE的虚拟环境可包括对应的位置坐标处的虚拟灯杆(虚拟对象)。如本文所使用的,真实对象与其对应的虚拟对象组合在一起构成“混合现实对象”。不需要虚拟对象与对应的真实对象完美匹配或者对准。在一些示例中,虚拟对象可以是对应的真实对象的简化版本。例如,如果真实环境包括真实灯杆,则对应的虚拟对象可以包括具有与真实灯杆大致相同高度和半径的圆柱体(反映该灯杆在形状方面可能大致是圆柱形的)。以这种方式简化虚拟对象可提高计算效率,并且可以简化将对该虚拟对象执行的计算。进一步地,在MRE的一些示例中,真实环境中的并非所有真实对象都可以与对应的虚拟对象相关联。同样地,在MRE的一些示例中,虚拟环境中的并非所有虚拟对象都可以与对应的真实对象相关联。即,一些虚拟对象可能仅存在于MRE的虚拟环境中,而没有任何真实世界的对应物。
在一些示例中,虚拟对象可以具有与对应的真实对象的特性不同的特征,有时甚至是大相径庭的特征。例如,虽然MRE中的真实环境可包括绿色双臂仙人掌——多刺无生命对象——但MRE中的对应的虚拟对象可以具有具有人类面部特征和粗暴行为的绿色双臂虚拟角色的特性。在该示例中,虚拟对象在某些特性(颜色、手臂数量)方面与其对应的真实对象类似;但是在其他特性(面部特征、个性)方面与真实对象不同。以这种方式,虚拟对象就有可能以创造性、抽象、夸大、或想象的方式表示真实对象;或者向其他无生命的真实对象赋予行为(例如,人类个性)。在一些示例中,虚拟对象可以是纯想象创造而没有现实世界对应物(例如,虚拟环境中的虚拟怪物,也许在与真实环境中的空白空间对应的位置处)。
与向用户呈现虚拟环境同时模糊真实环境的VR系统相比,呈现MRE的混合现实系统提供了在呈现虚拟环境时真实环境保持可感知的优点。因此,混合现实系统的用户能够使用与真实环境相关联的视觉和听觉提示来体验对应的虚拟环境并且与之交互。作为示例,虽然VR系统的用户可能难以感知虚拟环境中显示的虚拟对象或与之交互——因为如上所述,用户不能直接感知虚拟环境或与之交互——但MR系统的用户可发现通过看到、听到和触摸他或她自己的真实环境中的对应的真实对象来与虚拟对象交互是直观并且自然的。该级别的交互性可以增强用户对虚拟环境的沉浸感、联系感和参与感。类似地,通过同时呈现真实环境和虚拟环境,混合现实系统可以减少与VR系统相关联的负面心理感觉(例如,认知失调)和负面身体感觉(例如,晕动病)。混合现实系统进一步为可以增加或更改我们对现实世界的体验的应用提供了许多可能性。
图1A示出了用户110使用混合现实系统112的示例真实环境100。例如如下文所描述的,混合现实系统112可以包括显示器(例如,透射式显示器)和一个或多个扬声器,以及一个或多个传感器(例如,相机)。示出的真实环境100包括用户110站立的矩形房间104A;以及真实对象122A(灯)、124A(桌子)、126A(沙发)和128A(画)。房间104A还包括位置坐标106,其可以被认为是真实环境100的原点。如图1A所示,以点106(世界坐标)处为原点的环境/世界坐标系108(包括x轴108X、y轴108Y和z轴108Z)可以定义真实环境100的坐标空间。在一些实施例中,环境/世界坐标系108的原点106可以对应于混合现实环境112被通电的位置。在一些实施例中,环境/世界坐标系108的原点106可以在操作期间重置。在一些示例中,用户110可以被认为是真实环境100中的真实对象;类似地,用户110的身体部分(例如,手、脚)可以被认为是真实环境100中的真实对象。在一些示例中,以点115(例如,用户/听众/头部坐标)处为原点的用户/听众/头部坐标系114(包括x轴114X、y轴114Y和z轴114Z)可以定义混合现实系统112所在的用户/听众/头部的坐标空间。可以相对于混合现实系统112的一个或多个组件来定义用户/听众/头部坐标系114的原点115。例如,诸如在混合现实系统112的初始校准期间,可以相对于混合现实系统112的显示来定义用户/听众/头部坐标系114的原点115。矩阵(其可以包括平移矩阵和四元数矩阵或其他旋转矩阵)或其他适合的表示可以表征用户/听众/头部坐标系114空间与环境/世界坐标系108空间之间的变换。在一些实施例中,可以相对于用户/听众/头部坐标系114的原点115来定义左耳坐标116和右耳坐标117。矩阵(其可以包括平移矩阵和四元数矩阵或其他旋转矩阵)或其他适合的表示可以表征左耳坐标116和右耳坐标117与用户/听众/头部坐标系114空间之间的变换。用户/听众/头部坐标系114可以简化相对于用户的头部或头戴式设备(例如,相对于环境/世界坐标系108)的位置的表示。使用同时定位和地图创建(SLAM)、视觉里程计或其他技术,可以实时确定和更新用户坐标系114与环境坐标系108之间的变换。
图1B示出了与真实环境100对应的示例虚拟环境130。所示的虚拟环境130包括与真实矩形房间104A对应的虚拟矩形房间104B;与真实对象122A对应的虚拟对象122B;与真实对象124A对应的虚拟对象124B;以及与真实对象126A对应的虚拟对象126B。与虚拟对象122B、124B、126B相关联的元数据可以包括从对应的真实对象122A、124A、126A导出的信息。虚拟环境130附加地包括虚拟怪物132,该虚拟怪物132不对应于真实环境100中的任何真实对象。真实环境100中的真实对象128A不对应于虚拟环境130中的任何虚拟对象。以点134(持久坐标)处为原点的持久坐标系133(包括x轴133X、y轴133Y和z轴133Z)可以定义虚拟内容的坐标空间。持久坐标系133的原点134可以相对于/关于一个或多个真实对象(诸如真实对象126A)来定义。矩阵(其可以包括平移矩阵和四元数矩阵或其他旋转矩阵)或其他适合的表示可以表征持久坐标系133空间与环境/世界坐标系108空间之间的变换。在一些实施例中,虚拟对象122B、124B、126B和132中的每个虚拟对象可以相对于持久坐标系133的原点134具有它们自己的持久坐标点。在一些实施例中,可以存在多个持久坐标系,并且虚拟对象122B、124B、126B和132中的每个虚拟对象可以相对于一个或多个持久坐标系具有其自己的持久坐标点。
持久坐标数据可以是相对于物理环境持续存在的坐标数据。MR系统(例如,MR系统112、200)可以使用持久坐标数据来放置永久虚拟内容,该持久虚拟内容可不与显示虚拟对象的显示器的运动相绑定。例如,二维屏幕可仅显示相对于屏幕上的位置的虚拟对象。随着二维屏幕移动,虚拟内容可以随着屏幕移动。在一些实施例中,可以在房间的角落显示持久虚拟内容。MR用户可能看向角落看到虚拟内容,看向角落之外(其中,因为由于用户头部的运动,虚拟内容可能已从用户视野内移动到用户视野外的定位,所以虚拟内容可能不再可见),并且再回看角落中的虚拟内容(类似于真实对象可如何表现)。
在一些实施例中,持久坐标数据(例如,持久坐标系(persistent coordinatesystem)和/或持久坐标系(persistent coordinate frame))可以包括原点和三个轴。例如,可以通过MR系统将持久坐标系分配给房间的中心。在一些实施例中,用户可以在房间周围移动、离开房间、重新进入房间等,并且持久坐标系可以保持在房间的中心(例如,因为它相对于物理环境持续存在)。在一些实施例中,可以使用对持久坐标数据的转换来显示虚拟对象,这可以实现显示持久虚拟内容。在一些实施例中,MR系统可使用同时定位和地图创建来生成持久坐标数据(例如,MR系统可将持久坐标系分配给空间中的点)。在一些实施例中,MR系统可通过以规则间隔生成持久坐标数据来映射环境(例如,MR系统可在网格中分配持久坐标系,其中持久坐标系可至少在另一持久坐标系的五英尺范围内)。
在一些实施例中,持久坐标数据可以由MR系统生成并发送到远程服务器。在一些实施例中,远程服务器可被配置为接收持久坐标数据。在一些实施例中,远程服务器可被配置为同步来自多个观察实例的持久坐标数据。例如,多个MR系统可以用持久坐标数据映射同一房间,并将该数据发送到远程服务器。在一些实施例中,远程服务器可以使用该观察数据来生成规范持久坐标数据,该数据可以基于一个或多个观察。在一些实施例中,规范持久坐标数据可能比持久坐标数据的单个观察更准确和/或更可靠。在一些实施例中,规范持久坐标数据可被发送到一个或多个MR系统。例如,MR系统可以使用图像识别和/或位置数据来识别它位于具有对应规范持久坐标数据的房间中(例如,因为其他MR系统先前已经映射了房间)。在一些实施例中,MR系统可以从远程服务器接收对应于其位置的规范持久坐标数据。
相对于图1A和图1B,环境/世界坐标系108定义用于真实环境100和虚拟环境130二者的共享坐标空间。在示出的示例中,坐标空间具有点106处的原点。进一步地,坐标空间由相同的三个正交轴(108X、108Y、108Z)定义。因此,真实环境100中的第一位置和虚拟环境130中的第二对应位置可以相对于相同的坐标空间来描述。这简化了标识和显示真实环境和虚拟环境中的对应的位置,因为可使用相同的坐标来标识这两个位置。然而,在一些示例中,对应的真实环境和虚拟环境不需要使用共享坐标空间。例如,在一些示例中(未示出),矩阵(其可以包括平移矩阵和四元数矩阵或其他旋转矩阵)或其他适合的表示可以表征真实环境坐标空间与虚拟环境坐标空间之间的变换。
图1C示出了经由混合现实系统112向用户同时呈现真实环境100和虚拟环境130的各方面的示例MRE 150。在示出的示例中,MRE 150同时向用户110呈现来自真实环境100的真实对象122A、124A、126A和128A(例如,经由混合现实系统112的显示器的透射部分);以及来自虚拟环境130的虚拟对象122B、124B、126B和132(例如,经由混合现实系统112的显示器的活动显示部分)。如上文,原点106充当对应于MRE 150的坐标空间的原点,并且坐标系108定义坐标空间的x轴、y轴和z轴。
在示出的示例中,混合现实对象包括占用坐标空间108中的对应位置的对应的真实对象和虚拟对象对(即,122A/122B、124A/124B、126A/126B)。在一些示例中,真实对象和虚拟对象二者可以同时对用户110可见。这可能在例如虚拟对象呈现被设计为增加对应的真实对象的视图的信息的实例中(诸如在博物馆应用中,其中虚拟对象呈现古代损坏雕塑件的缺失部分)是期望的。在一些示例中,可以显示虚拟对象(122B、124B和/或126B)(例如,经由使用像素化遮挡快门的活动像素化遮挡)以便遮挡对应的真实对象(122A、124A和/或126A)。这可能在例如虚拟对象充当对应的真实对象的视觉替换物的实例中(诸如在无生命真实对象变为“活的”角色的交互式讲故事应用中)是期望的。
在一些示例中,真实对象(例如,122A、124A、126A)可以与虚拟内容或辅助数据(helper data)(其可能不一定构成虚拟对象)相关联。虚拟内容或辅助数据可以促进混合现实环境中的虚拟对象的处理或处置。例如,这样的虚拟内容可以包括对应的真实对象的二维表示;与对应的真实对象相关联的自定义资产类型;或与对应的真实对象相关联的统计数据。该信息可以实现或者促进涉及真实对象的计算而不产生不必要的计算开销。
在一些示例中,上文所描述的呈现还可以包含音频方面。例如,在MRE 150中,虚拟怪物132可以与一个或多个音频信号相关联,诸如当怪物在MRE 150周围行走时生成的脚步声效果。如下文进一步描述的,混合现实系统112的处理器可以计算与MRE 150中的所有此类声音的混合和处理合成所对应的音频信号,并且经由包括在混合现实系统112中的一个或多个扬声器和/或一个或多个外部扬声器将音频信号呈现给用户110。
示例混合现实系统
示例混合现实系统112可以包括可穿戴头部设备(例如,可穿戴增强现实或混合现实头部设备),其包括:显示器(其可以包括左和右透射式显示器,其可以是近眼显示器,以及用于将来自显示器的光耦合到用户的眼睛的相关联的组件);左和右扬声器(例如,其分别与用户的左耳和右耳邻近定位);惯性测量单元(IMU)(例如,其安装到头部设备的镜腿);正交线圈电磁接收器(例如,其安装到左镜腿件);远离用户取向的左相机和右相机(例如,深度(飞行时间)相机);以及朝向用户取向的左眼相机和右眼相机(例如,用于检测用户的眼运动)。然而,混合现实系统112可以包含任何适合的显示技术以及任何适合的传感器(例如,光学、红外、声学、LIDAR、EOG、GPS、磁性)。另外,混合现实系统112可以包含与其他设备和系统(包括其他混合现实系统)通信的网络特征(例如,Wi-Fi能力)。混合现实系统112还可以包括电池(其可以安装在辅助单元中,诸如被设计为穿戴在用户的腰部周围的腰带包)、处理器和存储器。混合现实系统112的可穿戴头部设备可以包括跟踪组件,诸如IMU或其他适合的传感器,其被配置为输出可穿戴头部设备相对于用户的环境的一组坐标。在一些示例中,跟踪组件可以向执行同时定位和地图创建(SLAM)和/或视觉里程计算法的处理器提供输入。在一些示例中,混合现实系统112还可以包括手持式控制器300和/或辅助单元320,其可以是可穿戴腰带包,如下文进一步描述的。
图2A-2D示出了可以用于将MRE(其可以对应于MRE 150)或其他虚拟环境呈现给用户的示例混合现实系统200(其可以对应于混合现实系统112)的组件。图2A示出了在示例混合现实系统200中包括的可穿戴头部设备2102的透视图。图2B示出了在用户的头部2202上佩戴的可穿戴头部设备2102的俯视图。图2C示出了可穿戴头部设备2102的前视图。图2D示出了可穿戴头部设备2102的示例目镜2110的边视图。如图2A-2C所示,示例可穿戴头部设备2102包括示例左目镜(例如,左透明波导集目镜)2108和示例右目镜(例如,右透明波导集目镜)2110。每个目镜2108和2110可以包括:透射元件,通过该透射元件,真实环境可以是可见的;以及显示元件,其用于呈现与真实环境重叠的显示(例如,经由图像级调制光)。在一些示例中,这样的显示元件可以包括用于控制图像级调制光的流动的表面衍射光学元件。例如,左目镜2108可以包括左耦入(incoupling)光栅集2112、左正交光瞳扩展(OPE)光栅集2120和左出射(输出)光瞳扩展(EPE)光栅集2122。类似地,右目镜2110可以包括右耦入光栅集2118、右OPE光栅集2114和右EPE光栅集2116。图像级调制光可以经由耦入光栅2112和2118、OPE 2114和2120、和EPE 2116和2122传递到用户的眼睛。每个耦入光栅集2112、2118可以被配置为将光朝向其对应的OPE光栅集2120、2114偏转。每个OPE光栅集2120、2114可以被设计为递增地将光向下朝向其相关联的EPE 2122、2116偏转,从而水平延伸所形成的出射光瞳。每个EPE 2122、2116可以被配置为将从其对应的OPE光栅集2120、2114接收的光的至少一部分向外递增地重引导到定义在目镜2108、2110后面的用户眼盒(eyebox)位置(未示出),垂直延伸在眼盒处形成的出射光瞳。可替代地,代替耦入光栅集2112和2118、OPE光栅集2114和2120、和EPE光栅集2116和2122,目镜2108和2110可以包括用于控制将图像级调制光耦合到用户的眼睛的光栅和/或折射和反射特征的其他布置。
在一些示例中,可穿戴头部设备2102可以包括左镜腿2130和右镜腿2132,其中,左镜腿2130包括左扬声器2134并且右镜腿2132包括右扬声器2136。正交线圈电磁接收器2138可以定位在左镜腿件中,或者在可穿戴头部单元2102中的另一适合的位置。惯性测量单元(IMU)2140可以定位在右镜腿2132中,或者在可穿戴头部设备2102中的另一适合的位置。可穿戴头部设备2102还可以包括左深度(例如,飞行时间)相机2142和右深度相机2144。深度相机2142、2144可以在不同的方向上适合地取向以便一起覆盖更宽的视场。
在图2A-2D中示出的示例中,图像级调制左光源2124可以通过左耦入光栅集2112光学耦合到左目镜2108中,并且图像级调制右光源2126可以通过右耦入光栅集2118光学耦合到右目镜2110中。图像级调制光源2124、2126可以包括例如光纤扫描器;投影仪,包括电子光调制器,诸如数字光处理(DLP)芯片或硅上液晶(LCoS)调制器;或发射显示器,诸如微型发光二极管(μLED)或微型有机发光二极管(μOLED)面板,其使用每侧一个或多个透镜耦合到耦入光栅集2112、2118中。输入耦合光栅集2112、2118可以将来自图像级调制光源2124、2126的光偏转到大于目镜2108、2110的全内反射(TIR)的临界角的角。OPE光栅集2114、2120向下朝向EPE光栅集2116、2122递增地偏转通过TIR传播的光。EPE光栅集2116、2122将光递增地耦合向用户的面部,包括用户的眼睛的瞳孔。
在一些示例中,如图2D所示,左目镜2108和右目镜2110中的每一个包括多个波导2402。例如,每个目镜2108、2110可以包括多个单独波导,每个波导专用于相应的颜色通道(例如,红色、蓝色和绿色)。在一些示例中,每个目镜2108、2110可以包括多组此类波导,其中,每组被配置为向发射光给予不同的波前曲率。波前曲率可以相对于用户的眼睛是凸的,例如以呈现定位在用户的前面一定距离(例如,对应于波前曲率的倒数的距离)的虚拟对象。在一些示例中,EPE光栅集2116、2122可以包括通过变更跨每个EPE出射光的坡印廷矢量实现凸波前曲率的弯曲光栅凹陷。
在一些示例中,为了创建所显示的内容是三维的感觉,可以通过图像级光调制器2124、2126和目镜2108、2110将立体调节的左和右眼影像呈现给用户。可以通过选择波导(并且因此对应的波前曲率)来增强三维虚拟对象的呈现的感知的真实性,使得在近似由立体左和右图像指示的距离的距离处显示虚拟对象。该技术还可以减少由一些用户经历的晕动病,其可能是由立体左眼和右眼影像提供的深度感知提示与人眼的自动调节(例如,对象距离相关的焦点)之间的差异引起的。
图2D示出了从示例可穿戴头部设备2102的右目镜2110的顶部看的面向边缘的视图。如图2D所示,多个波导2402可以包括三个波导的第一子集2404和三个波导的第二子集2406。波导的两个子集2404、2406可以通过不同的EPE光栅来区分,不同的EPE光栅的特征在于不同的光栅线曲率以向出射光给予不同的波前曲率。在波导的子集2404、2406中的每一个波导子集内,每个波导可以用于将不同光谱信道(例如,红色、绿色和蓝色光谱信道之一)耦合到用户的右眼2206。(虽然在图2D中未示出,但是左目镜2108的结构类似于右目镜2110的结构。)
图3A示出了混合现实系统200的示例手持式控制器组件300。在一些示例中,手持式控制器300包括手柄部分346和沿着顶面348设置的一个或多个按钮350。在一些示例中,按钮350可以被配置用于用作光学跟踪目标,例如,用于结合相机或其他光学传感器(其可以安装在混合现实系统200的头部单元(例如,可穿戴头部设备2102)中)跟踪手持式控制器300的六自由度(6DOF)运动。在一些示例中,手持式控制器300包括用于检测位置或取向(诸如相对于可穿戴头部设备2102的位置或取向)的跟踪组件(例如,IMU或其他适合的传感器)。在一些示例中,该跟踪组件可以定位在手持式控制器300的手柄中,和/或可以机械耦合到手持式控制器。手持式控制器300可以被配置为提供对应于按钮的按压状态中的一个或多个按压状态的一个或多个输出信号;或手持式控制器300的位置、取向和/或运动(例如,经由IMU)。该输出信号可以用作混合现实系统200的处理器的输入。该输入可以对应于手持式控制器的位置、取向和/或运动(例如,通过扩展,对应于握住控制器的用户的手的位置、取向和/或运动)。该输入还可以对应于用户按钮350。
图3B示出了混合现实系统200的示例辅助单元320。辅助单元320可以包括提供操作系统200的能量的电池,并且可以包括用于执行操作系统200的程序的处理器。如图所示,示例辅助单元320包括夹子2128,诸如用于将辅助单元320附接到用户的腰带。其他形式因素适合于辅助单元320并且将是明显的,包括不涉及将单元安装到用户的腰带的形式因素。在一些示例中,辅助单元320通过多导管电缆耦合到可穿戴头部设备2102,该多导管电缆可以包括例如电线和光纤。还可以使用辅助单元320与可穿戴头部设备2102之间的无线连接。
在一些示例中,混合现实系统200可以包括检测声音并且将对应的信号提供给混合现实系统的一个或多个麦克风。在一些示例中,麦克风可以附接到可穿戴头部设备2102或与可穿戴头部设备2102集成,并且被配置为检测用户的语音。在一些示例中,麦克风可以附接到手持式控制器300和/或辅助单元320或与手持式控制器300和/或辅助单元320集成。该麦克风可以被配置为检测环境声音、环境噪声、用户或第三方的语音或其他声音。
图4示出了可以对应于示例混合现实系统的示例功能框图,诸如上文所描述的混合现实系统200(其可以对应于相对于图1的混合现实系统112)。如图4所示,示例手持式控制器400B(其可以对应于手持式控制器300(“图腾”))包括图腾到可穿戴头部设备六自由度(6DOF)图腾子系统404A,并且示例可穿戴头部设备400A(其可以对应于可穿戴头部设备2102)包括图腾到可穿戴头部设备6DOF子系统404B。在示例中,6DOF图腾子系统404A和6DOF子系统404B合作以确定手持式控制器400B相对于可穿戴头部设备400A的六个坐标(例如,在三个平移方向上的偏移和沿着三个轴的旋转)。可以相对于可穿戴头部设备400A的坐标系表示六个自由度。三个平移偏移可以表示为该坐标系中的X、Y和Z偏移、平移矩阵、或某种其他表示。旋转自由度可以表示为偏转、俯仰和滚动旋转的序列、旋转矩阵、四元数或某种其他表示。在一些示例中,可穿戴头部设备400A;包括在可穿戴头部设备400A中的一个或多个深度相机444(和/或一个或多个非深度相机);和/或一个或多个光学目标(例如,如上文所描述的手持式控制器400B的按钮350,或包括在手持式控制器400B中的专用光学目标)可以用于6DOF跟踪。在一些示例中,手持式控制器400B可以包括相机,如上文所描述的;并且可穿戴头部设备400A可以包括用于结合相机进行光学跟踪的光学目标。在一些示例中,可穿戴头部设备400A和手持式控制器400B各自包括一组三个正交取向的螺线管,其用于无线地发送和接收三个可区分的信号。通过测量用于接收的线圈中的每个线圈中接收的三个可区分信号的相对幅度,可以确定可穿戴头部设备400A相对于手持式控制器400B的6DOF。此外,6DOF图腾子系统404A可以包括惯性测量单元(IMU),该惯性测量单元(IMU)可用于提供关于手持式控制器400B的快速运动的经改进的准确度和/或更及时的信息。
在一些示例中,可能需要将坐标从局部坐标空间(例如,相对于可穿戴头部设备400A固定的坐标空间)变换到惯性坐标空间(例如,相对于真实环境固定的坐标空间),例如以便补偿可穿戴头部设备400A相对于坐标系108的运动。例如,该变换可能为可穿戴头部设备400A的显示器进行以下内容所必需:将虚拟对象呈现在相对于真实环境的期望位置和取向处(例如,坐在真实椅子中、面向前的虚拟人,而不管可穿戴头部设备的位置和取向),而不是在显示器上的固定位置和取向处(例如,在显示器的右下角的相同位置处),以保持虚拟对象存在于真实环境中的错觉(并且例如当可穿戴头部设备400A移动和旋转时不显得不自然地定位在真实环境中)。在一些示例中,坐标空间之间的补偿变换可以通过使用SLAM和/或视觉里程计程序处理来自深度相机444的图像确定,以便确定可穿戴头部设备400A相对于坐标系108的变换。在图4所示的示例中,深度相机444耦合到SLAM/视觉里程计块406并且可以向块406提供图像。SLAM/视觉里程计块406实施方式可以包括处理器,该处理器被配置为处理该图像并且确定用户的头部的位置和取向,其然后可以用于标识头部坐标空间与另一坐标空间(例如,惯性坐标空间)之间的变换。类似地,在一些示例中,从IMU 409获得关于用户的头部姿势和位置的附加信息源。来自IMU 409的信息可以与来自SLAM/视觉里程计块406的信息集成以提供关于用户的头部姿势和位置的快速调节的经改进的准确度和/或更及时的信息。
在一些示例中,深度相机444可以将3D图像供应到手势跟踪器411,该手势跟踪器411可以实现在可穿戴头部设备400A的处理器中。手势跟踪器411可以标识用户的手势,例如通过将从深度相机444接收的3D图像与表示手势的存储的模式匹配。标识用户的手势的其他适合的技术将是明显的。
在一些示例中,一个或多个处理器416可以被配置为从可穿戴头部设备的6DOF头带子系统404B、IMU 409、SLAM/视觉里程计块406、深度相机444和/或手势跟踪器411接收数据。处理器416还可以发送和接收来自6DOF图腾系统404A的控制信号。处理器416可以无线耦合到6DOF图腾系统404A,诸如在手持式控制器400B不受限的示例中。处理器416还可以与附加组件通信,附加组件诸如是音频-视觉内容存储器418、图形处理单元(GPU)420、和/或数字信号处理器(DSP)音频空间化器。DSP音频空间化器422可以耦合到头部相关传递函数(HRTF)存储器425。GPU 420可以包括耦合到图像级调制光左源424的左通道输出和耦合到图像级调制右光源426的右通道输出。GPU 420可以将立体图像数据输出到图像级调制光源424、426,例如如上文相对于图2A-2D所描述的。DSP音频空间化器422可以向左扬声器412和/或右扬声器414输出音频。DSP音频空间化器422可以从处理器419接收指示从用户到虚拟声源(其可以由用户移动,例如,经由手持式控制器320)的方向矢量的输入。基于方向矢量,DSP音频空间化器422可以确定对应的HRTF(例如,通过访问HRTF、或通过内插多个HRTF)。DSP音频空间化器然后可以将所确定的HRTF应用到音频信号,诸如对应于由虚拟对象生成的虚拟声音的音频信号。这可以通过在混合现实环境中结合用户相对于虚拟声音的相对位置和取向来增强虚拟声音的可信度和真实感,即,通过呈现与用户对虚拟声音的期望相匹配的虚拟声音,虚拟声音听起来像是真实环境中的真实声音。
在一些示例中,诸如图4所示,处理器416、GPU 420、DSP音频空间化器422、HRTF存储器425和音频/视频内容存储器418中的一个或多个可以包括在辅助单元400C(其可以对应于上文所描述的辅助单元320)中。辅助单元400C可以包括对其组件供电和/或向可穿戴头部设备400A或手持式控制器400B供电的电池427。将这样的组件包括在可安装到用户的腰部的辅助单元中可以限制可穿戴头部设备400A的大小和重量,其进而可以减少用户的头部和颈部的疲劳。
虽然图4呈现了对应于示例混合现实系统的各种组件的元件,但是这些组件的各种其他适合的布置对于本领域技术人员来说将变得明显。例如,在图4中呈现为与辅助单元400C相关联的元件可以替代地与可穿戴头部设备400A或手持式控制器400B相关联。此外,一些混合现实系统可以完全放弃手持式控制器400B或辅助单元400C。将理解这样的改变和修改包括在所公开的示例的范围内。
会话管理器
MR系统可以被独特地定位以实现用户之间的交互式虚拟协作。因为MR系统可以以三维方式并在用户的物理环境中呈现虚拟内容,所以MR协作系统和方法可以实现至少与本地协作一样有效的远程协作。在一些实施例中,MR协作可以允许用户查看和/或操纵三维空间中的虚拟内容。例如,第一用户可以启动MR协作会话并且可以看到两个虚拟3D模型、文本文档和消息传递界面。第二用户可在本地加入会话(例如,第二用户可能与第一用户走进同一房间),并且第二用户可与第一用户在相同的定位处看到相同的两个虚拟3D模型、文本文档和消息传递界面。在一些实施例中,第三用户可以远程加入会话(例如,第三用户可能与第一和第二用户不在同一房间),并且第三用户可以在第三用户环境中看到两个虚拟3D模型、文本文档和消息传递界面。在一些实施例中,对于所有会话用户,虚拟内容可以彼此共享空间关系(例如,可以以相同的方式布置虚拟内容)。在一些实施例中,MR协作可以允许同一物理空间中的用户利用共享物理上下文来享受涉及虚拟内容的更有意义的共享体验。
在一些实施例中,跨多个MR系统显示和/或同步虚拟内容可能带来挑战。例如,开发用于确保每个MR系统以与会话中的其它MR系统一致的方式显示共享虚拟内容的系统和方法可能是有益的。开发可以实现跨应用协作(例如,可以使用由不同开发人员创建的应用生成的虚拟内容)的系统和方法也可能是有益的。在一些实施例中,开发可以允许彼此处于本地的用户(例如,在同一房间中的用户)彼此协作以及与远程用户(例如,在不同房间中)协作的系统和方法可能是有益的。在一些实施例中,开发可以使协作会话能够随时间推移持续以使得会话用户可以在以后继续协作的系统和方法可能是有益的。在一些实施例中,开发可以实现内容持久性以使得会话用户即使在不与其他用户现场协作的情况下也能继续处理虚拟内容的系统和方法可能是有益的。
在一些实施例中,会话可以被广义地定义为可以随着时间和空间推移协作和共享一系列体验的一组用户(具有标识符)。在一些实施例中,会话可以包括提供网络连接、公共空间参考和用于与其它MR用户聊天和共享棱镜的集中式用户界面的通信和协作体验。会话参与者可以远程或本地在同一物理位置。在一些实施例中,会话管理器可以包括管理会话内的一些或所有活动的集中式后端服务。在一些实施例中,会话管理器可以包括一个或多个面向用户的前端控件和/或表达,其表示会话管理器和/或被配置为接收用户输入(例如,菜单和/或会话句柄(handle))。在一些实施例中,会话管理器可以包括通过各种会话状态来协调和管理各种会话事件的后台服务和/或守护进程(daemon)。会话管理器还可以通过允许发现用户并与其他用户建立联系来推动用户体验。在一些实施例中,会话管理器还可以管理各种UI组件,诸如菜单和/或会话UI相关状态。
在一些实施例中,可以通过将协作会话中的虚拟内容配置为与协作会话中的真实对象类似地表现来促进协作。例如,在“真实的”协作会话中,用户可能会围坐在具有文档和/或对象的桌子旁。用户可以通过指向特定文档来引用“这个”文档和/或“那个”文档。在一些实施例中,真实协作会话中的用户可以使用关系术语(例如,右侧的那个对象)来引用对象。由于多年的调节和实际上与其他人一起工作,该行为可能会自然发生在用户身上。因此,可能希望开发用于MR协作以实现用户与用户所协作的内容之间的自然交互的系统和方法。在一些实施例中,MR协作会话可以使用户能够引用共同放置(colocated)的虚拟内容(例如,可能出现在多个用户的真实环境中的同一位置的虚拟内容),就好像该虚拟内容是存在于用户物理环境中的真实内容一样。在一些实施例中,MR协作会话可以持续。例如,所有用户都可退出会话,并且用户可在几周后启动同一会话。在一些实施例中,用户可以看到所有虚拟内容处于在用户先前退出会话时所处的状态(例如,在相同的相对位置和/或采用相同的编辑)。
在一些实施例中,会话可以包括用于呈现、同步、管理和/或存储在混合现实协作会话中使用的虚拟内容的平台。例如,会话用户可具有重复的每周会议,其中讨论和/或处理虚拟内容(例如,word文档、3D模型、演示幻灯片、对话历史等)。在一些实施例中,用户可以利用会话平台将虚拟内容(其可以由不同的开发者创建)合并到可以随时间推移持续存在的单个虚拟空间中。例如,加载单个会话实例可以向用户呈现3D模型(使用由第一开发者创建的第一应用生成的)、描述对3D模型的更改和/或目标的文本文档(使用由第二开发者创建的第二应用生成的),以及与该会话相关的会话用户之间的对话历史。该虚拟内容可以跨时间和跨会话用户持续存在,使得同一用户或不同的会话用户可以加载会话并看到与任何其他会话用户相同的会话内容。在一些实施例中,会话可以实现用户存在的灵活性(例如,本地用户可以在他们的本地空间中共享虚拟内容放置,但是远程用户也可以在他们的远程空间中看到具有相同空间关系的虚拟内容)。在一些实施例中,会话可以实现能力灵活性。例如,能力(例如,与第三方应用对应的)可被交互/启用/禁用而不离开集中式会话平台。在一些实施例中,应用(例如,第三方应用)可以利用会话平台来放弃构建可能与其它应用软件不兼容的专有共享平台。在一些实施例中,会话可以实现时间灵活性。例如,用户可能在不同时间访问会话,并且可能不需要与其他用户进行实时通话。在一些实施例中,可以同步用户所做的改变,使得可以为其他会话用户反映该改变(无论他们当前在会话中还是稍后进入会话)。
在一些实施例中,会话可以包括随时间推移与一个或多个用户共享的虚拟内容。会话可以具有一个或多个所有者,并且在一些实施例中,可以认为创建会话的用户是会话所有者。会话可能具有可以访问该会话的一个或多个参与者。在一些实施例中,会话所有者可以控制哪些参与者可以加入会话。在一些实施例中,会话可以具有会话标识符。在一些实施例中,每个用户(例如,所有者或参与者)可以具有用户标识符。在一些实施例中,会话可以包括一个或多个用户化身,该化身可以表示远程用户相对于会话中的其它对象的定位。在一些实施例中,会话可以包括定位数据(例如,与每个用户对应的定位数据、与已经打开会话的定位对应的定位数据等)。定位数据可以包括持久坐标数据。在一些实施例中,定位数据可以包括一个或多个变换(例如,一个或多个变换矩阵),其可以将位置与持久坐标数据相关。
在一些实施例中,会话可以包括一个或多个能力。会话能力可以包括用户可以在会话中选择和/或启用的一个或多个特征。例如,可以认为虚拟对象共享是会话能力。在一些实施例中,可以认为确定用户对于其他用户是否是本地的是会话能力。在一些实施例中,可以认为投影用户化身是会话能力。在一些实施例中,可以认为将用户的屏幕投射到其他用户是会话能力。在一些实施例中,能力可以具有一个或多个能力实例(例如,能力可以具有同时运行的多个实例)。例如,可以与会话中的用户共享两个虚拟对象,并且可认为每个虚拟对象是单独的能力实例。
在一些实施例中,会话可以是持久的。例如,即使在所有用户都退出会话之后,会话也可继续存在。在一些实施例中,会话可以继续存储会话信息,诸如所使用的会话能力(例如,共享虚拟对象、虚拟对象在什么位置等)、用户定位、用户标识等。持久会话可以促进用户之间的长期协作。例如,用户可以从他们离开的地方继续,而不必根据他们的喜好重新布置他们的虚拟工作空间。在一些实施例中,会话持久性可以使不同的用户能够在稍后时间进入会话并且看到在前一个用户退出会话时所布置的虚拟内容。
图5A-5C示出根据一些实施例的示例性MR协作会话。图5A示出示例性混合现实协作会话,其中用户508a、508b和508c可以一起在第一定位(例如,第一房间)处。图5B示出示例性混合现实协作会话,其中用户508d和508e可以一起在第二定位(例如,第二房间)处。图5C示出移动会话句柄的示例性混合现实协作会话。
在一些实施例中,用户508a、508b、508c、508d和508e都可以是同一混合现实协作会话500的一部分。在一些实施例中,协作会话可以包括会话句柄502a(其可以是虚拟对象)。会话句柄502a可以用作会话的本地锚。例如,可以向位于相同位置的所有会话用户(例如,如果用户508a、508b和508c共享共同的持久坐标数据,则可以认为用户508a、508b和508c在相同位置)呈现相对于会话句柄502a定位的虚拟内容,这可以使虚拟内容看起来像是位于真实世界中的特定定位和取向,类似于真实/物理对象。在一些实施例中,会话句柄502a可以相对于持久坐标数据定位(例如,使用变换)。在一些实施例中,用户508a、508b和508c可以使用规范持久坐标数据,这可以实现会话句柄502a在每个用户的MR系统中的一致放置。在一些实施例中,用户508a、508b和508c都可以在相同位置处看到会话句柄502a(例如,用户可能都在地板上相同位置处看到会话句柄502a)。
在一些实施例中,可以使用持久坐标数据来确定是否可以认为用户是彼此本地的。例如,用户508a的MR系统可以基于用户508a的识别环境(例如,从一个或多个远程服务器)接收规范持久坐标数据。用户508a的MR系统可以使用定位数据(例如,GPS、WiFi和/或蜂窝数据)和/或图像识别数据(例如,通过将采集的图像与已知环境的图像进行比较来识别已知环境)来识别用户508a的环境。在一些实施例中,用户508a的MR系统可以将其接收的持久坐标数据发送到会话中的其它MR系统(例如,用户508b的MR系统)。在一些实施例中,会话中的其它MR系统可以接收规范持久坐标数据并将从其它MR系统接收的发送数据与已经在使用中的规范持久坐标(和/或从一个或多个远程服务器接收的规范持久坐标数据)进行比较。如果确定(例如,使用唯一标识符)在会话中的MR系统之间共享规范持久坐标数据的一个或多个实例,则可以确定MR系统是彼此本地的。在一些实施例中,如果MR系统不共享规范持久坐标数据的实例,则可以确定MR系统彼此远离。在一些实施例中,可以与持久规范持久坐标数据的一个或多个共享实例相关地显示会话句柄(例如,会话句柄502a),这可以使得会话句柄502a能够在相同位置中被呈现给用户508a、508b和508c。
在一些实施例中,会话500可以包括共享虚拟对象504a。可以认为共享虚拟对象504a是会话能力实例。在一些实施例中,用户508a、508b和508c都可以在相同位置中看到虚拟对象504a(例如,用户可以都在真实桌子的末端看到虚拟对象504a)。在一些实施例中,可以相对于会话句柄502a定位共享虚拟对象504a(例如,使用变换)。在一些实施例中,可以相对于持久坐标数据(例如,规范持久坐标数据)定位共享虚拟对象504a。在一些实施例中,用户(例如,用户508c)可以操纵共享虚拟对象504a。例如,用户508c可以将对象504a从桌子的边缘移动到桌子的中心。在一些实施例中,用户508a和508b还可以看到对象504a从桌子的边缘移动到桌子的中心。在一些实施例中,如果用户(例如,用户508b)指向对象504a(例如,头盔)的一部分,则其他用户(例如,508a和508c)也可以看到用户508b指向对象504a的同一部分。
在一些实施例中,也可以移动会话句柄502a。例如,在图5C中,用户508a可以向左移动会话句柄502a。在一些实施例中,作为会话的一部分显示的任何虚拟内容也可以移动,从而保持与会话句柄502a相同的相对定位。例如,随着会话句柄502a向左移动,对象504a也可以向左移动相同的量。在一些实施例中,移动在一个定位处的会话句柄(例如,会话句柄502a)可能不移动在不同定位处的会话句柄(例如,会话句柄502b)。允许每组本地用户管理他们自己的会话句柄放置可能是有益的。例如,因为可以相对于会话句柄来定位虚拟内容,所以每个本地组可以针对他们相应的本地物理环境确定他们的虚拟内容的最优定位。
会话500可涉及可能不共享相同定位的用户。例如,在图5B中,用户508d和508e也可以是会话500的一部分。在一些实施例中,可以认为用户508d和508e远离用户508a、508b和508c(例如,因为在用户508d/508e和508a/508b/508c之间可能不存在共同的持久坐标数据)。在一些实施例中,用户508d和508e可以看到第二会话句柄502b。在一些实施例中,不具有与其他用户(或用户组)共同的持久坐标数据的每个用户(或用户组)可以看到他们自己的会话句柄。可以相对于会话句柄502b显示向用户508d和508e显示的共享虚拟内容。例如,共享虚拟对象504b可以对应于对象504a。在一些实施例中,当相对于会话句柄502a来定位对象504a时,可以相对于会话句柄502b在相同的地点定位对象504b。在一些实施例中,如果相对于会话句柄502a移动对象504a,则也可以相对于会话句柄502b移动对象504b(反之亦然)。在一些实施例中,如果移动会话句柄502a,则会话句柄502b可能不会移动。这可以使本地用户能够管理如何向本地用户组呈现会话内容。
在一些实施例中,会话500可以包括用户化身506e。在一些实施例中,用户化身506e可以表示会话500中的用户,该用户对于会话中的其他用户可能是远程的。例如,可以认为用户508a、508b和508c是彼此本地的(例如,因为他们可以共享持久坐标数据),并且可以认为用户508e远离用户508a、508b和508c(例如,因为用户508e可能不与其他用户共享持久坐标数据)。在一些实施例中,用户508e(在图5B中)也可以是会话500的一部分,并且用户化身506e可以对应于用户508e。
在一些实施例中,用户化身506e可以使用户508e能够与用户508a、508b和508c协作。在一些实施例中,化身506e可以反映用户508e的一个或多个运动。例如,当用户508e接近会话句柄502b时,用户化身506e可以接近会话句柄502a,从而在用户508e和会话句柄502b之间保持相同的相对定位。在一些实施例中,用户508e可以指向对象504b,并且化身506e可以相应地指向相同位置处的对象504a。类似地,化身506b可以表示用户508b,而化身506a可以表示用户508a。随着用户508a接近对象504a,化身506a也可以相应地接近对象504b。在一些实施例中,远程用户可能不向其他用户广播化身。例如,用户508d可能远离用户508a、508b和508c,但用户508d可能不针对会话句柄502a投影对应的化身。
在一些实施例中,会话持久性可以允许用户动态定位到不同的会话定位。例如,用户508a、508b和508c可以在第一房间中,而用户508d和508e可以在第二房间中,该第二房间可以在第一房间的走廊下方。在一些实施例中,用户508a可以离开第一房间,走下大厅并进入第二房间,并且可以相对于会话句柄502b向用户508a显示虚拟内容。在一些实施例中,用户使用的每个MR系统可以定期轮询用户的定位(例如,使用GPS数据和/或图像识别)。在一些实施例中,MR系统可以触发新的定位查询(例如,通过使用地理围栏)。
图6示出根据一些实施例的示例性会话管理器架构。在一些实施例中,会话管理器604可以在MR系统602上运行,该MR系统602可以包括一个或多个计算机系统并且可以对应于MR系统112、200。在一些实施例中,会话管理器604可以包括过程、子过程、线程、和/或服务。在一些实施例中,会话管理器604可以包括被配置为存储信息的一个或多个数据结构。在一些实施例中,会话管理器604可以包括服务(例如,后台操作系统服务)。在一些实施例中,会话管理器604的过程、子过程、线程和/或服务可以被配置为在主机系统的操作系统运行时连续运行(例如,在后台)。在一些实施例中,会话管理器604可以包括父后台服务的实例化,其可以用作一个或多个后台过程和/或子过程的主机过程。在一些实施例中,会话管理器604可以包括父过程的子过程。在一些实施例中,会话管理器604可以包括父过程的线程。
会话管理器604可以包括一个或多个会话实例606a和/或606b。在一些实施例中,会话实例可以对应于MR协作会话(例如,会话500)。在一些实施例中,会话实例可以管理在MR协作会话中使用的信息。在一些实施例中,会话实例可以包括被配置为存储信息的一个或多个数据结构。在一些实施例中,会话实例可以包括一个或多个过程、子过程、线程和/或服务。在一些实施例中,一个或多个会话实例可被存储在一个或多个远程服务器处。在一些实施例中,可以在存储会话实例之前对存储会话加密(本地地在MR设备处或在一个或多个远程服务器处)。
在一些实施例中,会话实例可以被配置为与一个或多个能力实例通信。例如,会话实例606b可以被配置为与能力实例608b和608c通信。能力实例可以对应于一个或多个会话能力。例如,能力实例608b可以对应于共享对象504a。在一些实施例中,能力实例可以包括被配置为存储信息的一个或多个数据结构。在一些实施例中,能力实例可以包括一个或多个过程、子过程、线程和/或服务。
在一些实施例中,能力实例可以被配置为与一个或多个连接服务通信,诸如应用连接平台610a和/或协作核心610b。在一些实施例中,应用连接平台610a和/或协作核心610b可以包括过程、子过程、线程和/或服务。在一些实施例中,应用连接平台610a和/或协作核心610b可以包括被配置为存储信息的一个或多个数据结构。在一些实施例中,应用连接平台610a和/或协作核心610b可以包括服务(例如,后台操作系统服务)。在一些实施例中,应用连接平台610a和/或协作核心610b的过程、子过程、线程和/或服务可以被配置为在主机系统的操作系统运行时连续运行(例如,在后台)。在一些实施例中,应用连接平台610a和/或协作核心610b可以包括父后台服务的实例化,父后台服务可以用作一个或多个后台过程和/或子过程的主机过程。在一些实施例中,应用连接平台610a和/或协作核心610b可以包括父过程的子过程。在一些实施例中,应用连接平台610a和/或协作核心610b可以包括父过程的线程。
在一些实施例中,应用连接平台610a可以在共置(colocation)会话中提供MR系统之间的低延迟通信路径以实现实时虚拟对象共置。在一些实施例中,应用连接平台610a可以包括一种或多种网络实时通信(“WebRTC”)的实现方式。例如,在一些实施例中,可以经由一个或多个Twilio轨道发送数据以进行低延迟通信。在一些实施例中,能力实例可以利用应用连接平台610a在会话中从MR系统发送和/或接收低延迟数据(例如,当共享虚拟对象移动时的关系变换数据)。在一些实施例中,应用连接平台610a可以被配置为与在其它MR系统上运行的其它应用连接平台通信。
在一些实施例中,协作核心610b可以提供针对同时编辑的数据同步服务。在一些实施例中,协作核心610b可以被配置为从一个或多个能力实例接收编辑数据。在一些实施例中,协作核心610b可以被配置为与外部同步服务(例如,Firebase)通信以同步对会话中的虚拟内容的同时编辑。
在一些实施例中,应用连接平台610a和/或协作核心610b可以与会话管理器604通信。在一些实施例中,会话管理器604可以将特权信息直接提供给应用连接平台610a和/或协作核心610b(例如,用户识别数据)。因为可能由未知的开发者开发能力实例,这可能对特权数据造成安全风险,所以从能力实例中屏蔽特权信息可能是有益的。
尽管应用连接平台610a和协作核心610b被描绘为单独的服务,但也可以设想由它们每者提供的功能可以作为单个服务或作为两个或更多个服务来提供。
在一些实施例中,会话管理器604可以与一个或多个远程服务器和/或一个或多个MR系统通信以同步会话实例。例如,第二MR系统可以发起会话并邀请MR系统602参与该会话。在一些实施例中,会话管理器604可以创建与新加入的会话对应的新会话实例。在一些实施例中,新会话实例可以是第二MR系统上的会话实例的副本。在一些实施例中,可以从一个或多个远程服务器接收会话实例。在一些实施例中,可将会话实例数据发送到一个或多个远程服务器(例如,如果能力实例已被更新,则可能希望将更新发送到其他会话用户)。在一些实施例中,可以在会话结束时(例如,当最后一个用户离开会话时)将会话实例数据发送到一个或多个远程服务器,使得可以保存会话数据并在以后重新访问。在一些实施例中,会话管理器和/或会话实例可以与一个或多个服务(例如,由应用连接平台610a提供的一个或多个服务)通信,以使会话实例数据与其它会话实例(其可以存储在另一个MR系统或远程服务器处)同步。在一些实施例中,会话管理器和/或会话实例可以与一个或多个服务通信以建立与一个或多个远程端点(例如,会话中的其它MR系统)的实时和/或低延迟通信链路。
图7示出根据一些实施例的示例性会话实例架构。在一些实施例中,会话实例702可以对应于会话实例604a和/或604b。在一些实施例中,会话实例702可以包括一个或多个数据结构,其可以被配置为存储一个或多个附加数据结构(例如,能力模块704、参与者模块708、定位模块712和/或存在模块716)。能力模块704可以管理与会话中的一个或多个能力实例相对应的数据和/或数据结构。例如,实例706a可以对应于虚拟对象。在一些实施例中,实例706a可以包括变换数据,该变换数据可以将虚拟对象的位置与持久坐标数据和/或一个或多个会话句柄位置相关。在一些实施例中,实例706a可以包括对协作核心服务的一个或多个引用。在一些实施例中,如果用户对实例706a做出改变,则对协作核心服务的引用可以使实例706a能够被适当地通知和/或更新。在一些实施例中,实例706a可以包括应用连接平台数据(例如,数据应该被发送到哪里,应该使用什么管道等)。在一些实施例中,能力模块704可以被配置为与一个或多个能力实例(例如,能力实例608a)通信。
在一些实施例中,会话实例702可以包括参与者模块708。参与者模块708可以管理与会话中的一个或多个用户相对应的数据和/或数据结构。例如,用户710a可以包括用户使用的MR系统的标识符。在一些实施例中,用户710a可以包括化身数据(例如,外观、大小、颜色等)。在一些实施例中,用户710a可以包括定位数据。在一些实施例中,定位数据可以包括GPS数据、WiFi数据、蜂窝数据、持久坐标数据等。
在一些实施例中,会话实例702可以包括定位模块712。定位模块712可以管理与会话中的一个或多个定位相对应的数据和/或数据结构。例如,定位714a可以包括持久坐标数据、变换数据、与地面平面对应的数据等。在一些实施例中,定位714a可以对应于用户定位。在一些实施例中,定位714a可以对应于会话句柄定位。
在一些实施例中,会话实例702可以包括存在模块716。存在模块716可以管理与一个或多个用户的本地和/或远程状态相对应的数据和/或数据结构。例如,实例718a可以指示第一用户远离第二用户,而第三用户在第二用户本地。在一些实施例中,实例718a可以包括用于用户之间的通信(例如,使用应用连接平台610a)的数据。
公开了系统、方法和计算机可读介质。根据一些示例,系统包括:可穿戴设备,其包括透射式显示器;以及一个或多个处理器,其被配置为执行方法,该方法包括:接收持久坐标数据;经由可穿戴设备的透射式显示器在第一位置处向第一用户呈现第一虚拟会话句柄,其中,基于持久坐标数据确定第一位置;经由透射式显示器在第二位置处向第一用户呈现虚拟对象,其中,基于第一位置确定第二位置;从第二用户接收定位数据,其中,定位数据将第二用户的位置与第二虚拟会话句柄的位置相关;以及经由透射式显示器在第三位置处向第一用户呈现虚拟化身,其中,虚拟化身对应于第二用户,其中,基于定位数据确定第三位置,以及其中,进一步基于第一位置确定第三位置。在一些示例中,该方法进一步包括:接收来自第二用户的输入;并且响应于接收到来自第二用户的输入,经由透射式显示器在第四位置处向第一用户呈现虚拟对象。在一些示例中,响应于来自第一用户的输入,在第二位置处向第一用户呈现虚拟对象,并且该方法进一步包括向第二用户发送来自第一用户的输入。在一些示例中,该方法进一步包括:接收来自第一用户的输入;响应于接收到来自第一用户的输入,在第四位置处向第一用户呈现第一会话句柄;以及经由透射式显示器在第五位置处向第一用户呈现虚拟对象,基于第四位置确定第五位置。在一些示例中,该方法进一步包括向第二用户发送来自第一用户的输入。在一些示例中,该方法进一步包括:在第一时间在存储器中存储与会话实例相关联的第一位置、第二位置和第三位置;以及在比第一时间更晚的第二时间从存储器接收第一位置、第二位置和第三位置。
根据一些示例,方法包括:接收持久坐标数据;经由可穿戴设备的透射式显示器在第一位置处向第一用户呈现第一虚拟会话句柄,其中,基于持久坐标数据确定第一位置;经由透射式显示器在第二位置处向第一用户呈现虚拟对象,其中,基于第一位置确定第二位置;从第二用户接收定位数据,其中,定位数据将第二用户的位置与第二虚拟会话句柄的位置相关;以及经由透射式显示器在第三位置处向第一用户呈现虚拟化身,其中,虚拟化身对应于第二用户,其中,基于定位数据确定第三位置,以及其中,进一步基于第一位置确定第三位置。在一些示例中,该方法进一步包括:接收来自第二用户的输入;并且响应于接收到来自第二用户的输入,经由透射式显示器在第四位置处向第一用户呈现虚拟对象。在一些示例中,响应于来自第一用户的输入,在第二位置处向第一用户呈现虚拟对象,并且该方法进一步包括向第二用户发送来自第一用户的输入。在一些示例中,该方法进一步包括:接收来自第一用户的输入;响应于接收到来自第一用户的输入,在第四位置处向第一用户呈现第一会话句柄;以及经由透射式显示器在第五位置处向第一用户呈现虚拟对象,基于第四位置确定第五位置。在一些示例中,该方法进一步包括向第二用户发送来自第一用户的输入。在一些示例中,该方法进一步包括:在第一时间在存储器中存储与会话实例相关联的第一位置、第二位置和第三位置;以及在比第一时间更晚的第二时间从存储器接收第一位置、第二位置和第三位置。
根据一些示例,非暂态计算机可读介质存储指令,在该指令由一个或多个处理器执行时使一个或多个处理器执行方法,该方法包括:接收持久坐标数据;经由可穿戴设备的透射式显示器在第一位置处向第一用户呈现第一虚拟会话句柄,其中,基于持久坐标数据确定第一位置;经由透射式显示器在第二位置处向第一用户呈现虚拟对象,其中,基于第一位置确定第二位置;从第二用户接收定位数据,其中,定位数据将第二用户的位置与第二虚拟会话句柄的位置相关;以及经由透射式显示器在第三位置处向第一用户呈现虚拟化身,其中,虚拟化身对应于第二用户,其中,基于定位数据确定第三位置,以及其中,进一步基于第一位置确定第三位置。在一些示例中,该方法进一步包括:接收来自第二用户的输入;并且响应于接收到来自第二用户的输入,经由透射式显示器在第四位置处向第一用户呈现虚拟对象。在一些示例中,响应于来自第一用户的输入,在第二位置处向第一用户呈现虚拟对象,并且该方法进一步包括向第二用户发送来自第一用户的输入。在一些示例中,该方法进一步包括:接收来自第一用户的输入;响应于接收到来自第一用户的输入,在第四位置处向第一用户呈现第一会话句柄;以及经由透射式显示器在第五位置处向第一用户呈现虚拟对象,基于第四位置确定第五位置。在一些示例中,该方法进一步包括向第二用户发送来自第一用户的输入。在一些示例中,该方法进一步包括:在第一时间在存储器中存储与会话实例相关联的第一位置、第二位置和第三位置;以及在比第一时间更晚的第二时间从存储器接收第一位置、第二位置和第三位置。
根据一些示例,系统包括:第一可穿戴设备,其包括第一透射式显示器和一个或多个传感器;以及一个或多个处理器,其被配置为执行方法,该方法包括:从与第一可穿戴设备相关联的第一会话用户接收第一输入;响应于接收到第一输入,生成会话实例,其中,会话实例被配置为存储与一个或多个能力实例对应的数据,以及其中,会话实例进一步被配置为存储与一个或多个会话用户对应的数据;经由第一可穿戴设备的第一透射式显示器在第一会话句柄位置处向第一会话用户呈现虚拟会话句柄;接收来自第一会话用户的第二输入;并且响应于接收到第二输入:生成与过程相关联的第一能力实例,该过程包括投影虚拟对象;经由第一透射式显示器在第一对象位置处向第一会话用户呈现虚拟对象;经由第二可穿戴设备的第二透射式显示器在第二对象位置处向第二会话用户呈现虚拟对象;以及在会话实例中存储与第一会话句柄位置、第一对象位置、第二对象位置、第一会话用户位置和第二会话用户位置对应的数据,其中,经由第一可穿戴设备的一个或多个传感器确定第一会话用户位置,并且经由第二可穿戴设备的一个或多个传感器确定第二会话用户位置。在一些示例中,第一对象位置使用变换数据与第一会话句柄位置相关。在一些示例中,在会话实例中存储变换数据。在一些示例中,该方法进一步包括存储与定位状态相对应的数据,其中,定位状态是基于第一会话用户位置和第二会话用户位置的。在一些示例中,在第一时间接收第二输入,并且该方法进一步包括:在比第一时间更晚的第二时间接收来自第一会话用户的第三输入;以及响应于接收到第三输入:接收与第一对象位置和第一会话用户位置对应的数据;以及在第一对象位置处向第一会话用户呈现虚拟对象。在一些示例中,该方法进一步包括:生成第二能力实例,该第二能力实例与第二过程相关联,第二过程包括投影第二会话用户的虚拟化身;经由第一透射式显示器向第一会话用户呈现虚拟化身;以及在会话实例中存储与虚拟化身对应的数据。在一些示例中,该方法进一步包括生成第二能力实例,该第二能力实例与第二过程相关联,第二过程包括将与第一会话用户相关联的视图投射到第二会话用户。
根据一些示例,方法包括:接收来自第一会话用户的第一输入;响应于接收到第一输入,生成会话实例,其中,会话实例被配置为存储与一个或多个能力实例对应的数据,以及其中,会话实例进一步被配置为存储与一个或多个会话用户对应的数据;经由第一可穿戴设备的第一透射式显示器在第一会话句柄位置处向第一会话用户呈现虚拟会话句柄;接收来自第一会话用户的第二输入;并且响应于接收到第二输入:生成与过程相关联的第一能力实例,该过程包括投影虚拟对象;经由第一透射式显示器在第一对象位置处向第一会话用户呈现虚拟对象;经由第二可穿戴设备的第二透射式显示器在第二对象位置处向第二会话用户呈现虚拟对象;以及在会话实例中存储与第一会话句柄位置、第一对象位置、第二对象位置、第一会话用户位置和第二会话用户位置对应的数据,其中,经由第一可穿戴设备的一个或多个传感器确定第一会话用户位置,并且经由第二可穿戴设备的一个或多个传感器确定第二会话用户位置。在一些示例中,第一对象位置使用变换数据与第一会话句柄位置相关。在一些示例中,在会话实例中存储变换数据。在一些示例中,该方法进一步包括存储与定位状态相对应的数据,其中,定位状态是基于第一会话用户位置和第二会话用户位置的。在一些示例中,在第一时间接收第二输入,并且该方法进一步包括:在比第一时间更晚的第二时间接收来自第一会话用户的第三输入;以及响应于接收到第三输入:接收与第一对象位置和第一会话用户位置对应的数据;以及在第一对象位置处向第一会话用户呈现虚拟对象。在一些示例中,该方法进一步包括:生成第二能力实例,该第二能力实例与第二过程相关联,该第二过程包括投影第二会话用户的虚拟化身;经由第一透射式显示器向第一会话用户呈现虚拟化身;以及在会话实例中存储与虚拟化身对应的数据。在一些示例中,该方法进一步包括生成第二能力实例,该第二能力实例与第二过程相关联,该第二过程包括将与第一会话用户相关联的视图投射到第二会话用户。
根据一些示例,非暂态计算机可读介质存储指令,该指令在由一个或多个处理器执行时使一个或多个处理器执行方法,该方法包括:接收来自第一会话用户的第一输入;响应于接收到第一输入,生成会话实例,其中,会话实例被配置为存储与一个或多个能力实例对应的数据,以及其中,会话实例进一步被配置为存储与一个或多个会话用户对应的数据;经由第一可穿戴设备的第一透射式显示器在第一会话句柄位置处向第一会话用户呈现虚拟会话句柄;接收来自第一会话用户的第二输入;响应于接收到第二输入:生成与过程相关联的第一能力实例,该过程包括投影虚拟对象;经由第一透射式显示器在第一对象位置处向第一会话用户呈现虚拟对象;经由第二可穿戴设备的第二透射式显示器在第二对象位置处向第二会话用户呈现虚拟对象;在会话实例中存储与第一会话句柄位置、第一对象位置、第二对象位置、第一会话用户位置和第二会话用户位置对应的数据,其中,经由第一可穿戴设备的一个或多个传感器确定第一会话用户位置,并且经由第二可穿戴设备的一个或多个传感器确定第二会话用户位置。在一些示例中,第一对象位置使用变换数据与第一会话句柄位置相关。在一些示例中,在会话实例中存储变换数据。在一些示例中,该方法进一步包括存储与定位状态相对应的数据,其中,定位状态是基于第一会话用户位置和第二会话用户位置的。在一些示例中,在第一时间接收第二输入,并且该方法进一步包括:在比第一时间更晚的第二时间接收来自第一会话用户的第三输入;响应于接收到第三输入:接收与第一对象位置和第一会话用户位置对应的数据;在第一对象位置向第一会话用户呈现虚拟对象。在一些示例中,该方法进一步包括:生成第二能力实例,该第二能力实例与第二过程相关联,该第二过程包括投影第二会话用户的虚拟化身;经由第一透射式显示器向第一会话用户呈现虚拟化身;在会话实例中存储与虚拟化身对应的数据。在一些示例中,该方法进一步包括生成第二能力实例,该第二能力实例与第二过程相关联,该第二过程包括将与第一会话用户相关联的视图投射到第二会话用户。
尽管已经参照附图充分描述了所公开的示例,但是应当注意,对于本领域技术人员来说各种改变和修改将变得显而易见。例如,一个或多个实现的元件可以被组合、删除、修改或补充以形成进一步的实现方式。应理解此类改变和修改包括在所附权利要求限定的公开示例的范围内。

Claims (18)

1.一种用于会话管理器的系统,包括:
可穿戴设备,其包括透射式显示器;以及
一个或多个处理器,其被配置为执行一种方法,所述方法包括:
接收持久坐标数据;
经由所述可穿戴设备的所述透射式显示器在第一位置处向第一用户呈现会话的第一虚拟会话句柄,其中,基于所述持久坐标数据确定所述第一位置;
经由所述透射式显示器在第二位置处向所述第一用户呈现虚拟对象,其中,基于所述第一位置确定所述第二位置,并且其中,所述虚拟对象与所述会话的能力相关联;
从第二用户接收定位数据,其中,所述定位数据将所述第二用户的位置与所述会话的第二虚拟会话句柄的位置相关;以及
经由所述透射式显示器在第三位置处向所述第一用户呈现虚拟化身,其中,所述虚拟化身对应于所述第二用户,其中,基于所述定位数据确定所述第三位置,以及其中,进一步基于所述第一位置确定所述第三位置;
其中,所述会话包括与所述第一用户相关联的数据并且进一步包括与所述第二用户相关联的数据;
向所述第一用户呈现所述虚拟化身包括经由所述会话的化身数据呈现所述虚拟化身;以及
所述可穿戴设备被配置为与和所述会话相关联的所述会话管理器通信。
2.根据权利要求1所述的系统,其中,所述方法进一步包括:
接收来自所述第二用户的输入;以及
响应于接收到来自所述第二用户的所述输入,经由所述透射式显示器在第四位置处向所述第一用户呈现所述虚拟对象。
3.根据权利要求1所述的系统,其中,响应于来自所述第一用户的输入,在所述第二位置处向所述第一用户呈现所述虚拟对象,所述方法进一步包括向所述第二用户发送来自所述第一用户的所述输入。
4.根据权利要求1所述的系统,其中,所述方法进一步包括:
接收来自所述第一用户的输入;
响应于接收到来自所述第一用户的所述输入,在第四位置处向所述第一用户呈现所述第一会话句柄;以及
经由所述透射式显示器在第五位置处向所述第一用户呈现所述虚拟对象,基于所述第四位置确定所述第五位置。
5.根据权利要求4所述的系统,其中,所述方法进一步包括:向所述第二用户发送来自所述第一用户的所述输入。
6.根据权利要求1所述的系统,其中,所述方法进一步包括:
在第一时间在存储器中存储与会话实例相关联的所述第一位置、所述第二位置和所述第三位置;以及
在比所述第一时间更晚的第二时间从所述存储器接收所述第一位置、所述第二位置和所述第三位置。
7.一种用于会话管理器的方法,包括:
接收持久坐标数据;
经由可穿戴设备的透射式显示器在第一位置处向第一用户呈现会话的第一虚拟会话句柄,其中,基于所述持久坐标数据确定所述第一位置;
经由所述透射式显示器在第二位置处向所述第一用户呈现虚拟对象,其中,基于所述第一位置确定所述第二位置,并且其中,所述虚拟对象与所述会话的能力相关联;
从第二用户接收定位数据,其中,所述定位数据将所述第二用户的位置与所述会话的第二虚拟会话句柄的位置相关;以及
经由所述透射式显示器在第三位置处向所述第一用户呈现虚拟化身,其中,所述虚拟化身对应于所述第二用户,其中,基于所述定位数据确定所述第三位置,以及其中,进一步基于所述第一位置确定所述第三位置;
其中,所述会话包括与所述第一用户相关联的数据并且进一步包括与所述第二用户相关联的数据;
向所述第一用户呈现所述虚拟化身包括经由所述会话的化身数据呈现所述虚拟化身;以及
所述可穿戴设备被配置为与和所述会话相关联的所述会话管理器通信。
8.根据权利要求7所述的方法,进一步包括:
接收来自所述第二用户的输入;以及
响应于接收到来自所述第二用户的所述输入,经由所述透射式显示器在第四位置处向所述第一用户呈现所述虚拟对象。
9.根据权利要求7所述的方法,其中,响应于来自所述第一用户的输入,在所述第二位置处向所述第一用户呈现所述虚拟对象,所述方法进一步包括向所述第二用户发送来自所述第一用户的所述输入。
10.根据权利要求7所述的方法,进一步包括:
接收来自所述第一用户的输入;
响应于接收到来自所述第一用户的所述输入,在第四位置处向所述第一用户呈现所述第一会话句柄;以及
经由所述透射式显示器在第五位置处向所述第一用户呈现所述虚拟对象,基于所述第四位置确定所述第五位置。
11.根据权利要求10所述的方法,进一步包括:向所述第二用户发送来自所述第一用户的所述输入。
12.根据权利要求7所述的方法,进一步包括:
在第一时间在存储器中存储与会话实例相关联的所述第一位置、所述第二位置和所述第三位置;以及
在比所述第一时间更晚的第二时间从所述存储器接收所述第一位置、所述第二位置和所述第三位置。
13.一种非暂态计算机可读介质,其存储指令,在所述指令由一个或多个处理器执行时使所述一个或多个处理器执行一种方法,所述方法包括:
接收持久坐标数据;
经由可穿戴设备的透射式显示器在第一位置处向第一用户呈现会话的第一虚拟会话句柄,其中,基于所述持久坐标数据确定所述第一位置;
经由所述透射式显示器在第二位置处向所述第一用户呈现虚拟对象,其中,基于所述第一位置确定所述第二位置,并且其中,所述虚拟对象与所述会话的能力相关联;
从第二用户接收定位数据,其中,所述定位数据将所述第二用户的位置与所述会话的第二虚拟会话句柄的位置相关;以及
经由所述透射式显示器在第三位置处向所述第一用户呈现虚拟化身,其中,所述虚拟化身对应于所述第二用户,其中,基于所述定位数据确定所述第三位置,以及其中,进一步基于所述第一位置确定所述第三位置;
其中,所述会话包括与所述第一用户相关联的数据并且进一步包括与所述第二用户相关联的数据;
向所述第一用户呈现所述虚拟化身包括经由所述会话的化身数据呈现所述虚拟化身;以及
所述可穿戴设备被配置为与和所述会话相关联的会话管理器通信。
14.根据权利要求13所述的非暂态计算机可读介质,所述方法进一步包括:
接收来自所述第二用户的输入;以及
响应于接收到来自所述第二用户的所述输入,经由所述透射式显示器在第四位置处向所述第一用户呈现所述虚拟对象。
15.根据权利要求13所述的非暂态计算机可读介质,其中,响应于来自所述第一用户的输入,在所述第二位置处向所述第一用户呈现所述虚拟对象,所述方法进一步包括向所述第二用户发送来自所述第一用户的所述输入。
16.根据权利要求13所述的非暂态计算机可读介质,所述方法进一步包括:
接收来自所述第一用户的输入;
响应于接收到来自所述第一用户的所述输入,在第四位置处向所述第一用户呈现所述第一会话句柄;以及
经由所述透射式显示器在第五位置处向所述第一用户呈现所述虚拟对象,基于所述第四位置确定所述第五位置。
17.根据权利要求16所述的非暂态计算机可读介质,其中,所述方法进一步包括向所述第二用户发送来自所述第一用户的所述输入。
18.根据权利要求13所述的非暂态计算机可读介质,其中,所述方法进一步包括:
在第一时间在存储器中存储与会话实例相关联的所述第一位置、所述第二位置和所述第三位置;以及
在比所述第一时间更晚的第二时间从所述存储器接收所述第一位置、所述第二位置和所述第三位置。
CN202180028398.8A 2020-02-14 2021-02-12 会话管理器 Active CN115698818B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410024972.8A CN117827004A (zh) 2020-02-14 2021-02-12 会话管理器

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062977079P 2020-02-14 2020-02-14
US62/977,079 2020-02-14
PCT/US2021/018037 WO2021163626A1 (en) 2020-02-14 2021-02-12 Session manager

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410024972.8A Division CN117827004A (zh) 2020-02-14 2021-02-12 会话管理器

Publications (2)

Publication Number Publication Date
CN115698818A CN115698818A (zh) 2023-02-03
CN115698818B true CN115698818B (zh) 2024-01-23

Family

ID=77272757

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202180028398.8A Active CN115698818B (zh) 2020-02-14 2021-02-12 会话管理器
CN202410024972.8A Pending CN117827004A (zh) 2020-02-14 2021-02-12 会话管理器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202410024972.8A Pending CN117827004A (zh) 2020-02-14 2021-02-12 会话管理器

Country Status (5)

Country Link
US (3) US11475644B2 (zh)
EP (1) EP4103999A4 (zh)
JP (1) JP2023514572A (zh)
CN (2) CN115698818B (zh)
WO (1) WO2021163626A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020023419A1 (en) 2018-07-24 2020-01-30 Magic Leap, Inc. Application sharing
JP2023513250A (ja) 2020-02-10 2023-03-30 マジック リープ, インコーポレイテッド 仮想コンテンツの動的併置
WO2021163624A1 (en) 2020-02-14 2021-08-19 Magic Leap, Inc. Tool bridge
US11763559B2 (en) 2020-02-14 2023-09-19 Magic Leap, Inc. 3D object annotation
CN115698818B (zh) 2020-02-14 2024-01-23 奇跃公司 会话管理器
US11522945B2 (en) * 2020-10-20 2022-12-06 Iris Tech Inc. System for providing synchronized sharing of augmented reality content in real time across multiple devices
US20220343132A1 (en) * 2021-04-26 2022-10-27 Iview Displays (Shenzhen) Company Ltd. Method for controlling virtual pets, and smart projection device
EP4142285A4 (en) * 2021-05-17 2023-11-15 Qingdao Pico Technology Co., Ltd. HEAD-MOUNTED DISPLAY DEVICE AND HEAD-MOUNTED DISPLAY SYSTEM
US20230410435A1 (en) * 2022-06-20 2023-12-21 International Business Machines Corporation Contextual positioning in virtual space
US11947862B1 (en) * 2022-12-30 2024-04-02 Meta Platforms Technologies, Llc Streaming native application content to artificial reality devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107667331A (zh) * 2015-05-28 2018-02-06 微软技术许可有限责任公司 共享空间多人沉浸式虚拟现实中的共享触觉交互和用户安全
CN108780356A (zh) * 2016-05-16 2018-11-09 谷歌有限责任公司 虚拟现实中的共存处置

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852988A (en) 1988-09-12 1989-08-01 Applied Science Laboratories Visor and camera providing a parallax-free field-of-view image for a head-mounted eye movement measurement system
US6847336B1 (en) 1996-10-02 2005-01-25 Jerome H. Lemelson Selectively controllable heads-up display system
US6433760B1 (en) 1999-01-14 2002-08-13 University Of Central Florida Head mounted display with eyetracking capability
US9811237B2 (en) 1999-04-06 2017-11-07 Iii Holdings 2, Llc Visual navigation of virtual environments through logical processes
US6491391B1 (en) 1999-07-02 2002-12-10 E-Vision Llc System, apparatus, and method for reducing birefringence
CA2316473A1 (en) 1999-07-28 2001-01-28 Steve Mann Covert headworn information display or data display or viewfinder
CA2362895A1 (en) 2001-06-26 2002-12-26 Steve Mann Smart sunglasses or computer information display built into eyewear having ordinary appearance, possibly with sight license
DE10132872B4 (de) 2001-07-06 2018-10-11 Volkswagen Ag Kopfmontiertes optisches Durchsichtssystem
US20030030597A1 (en) 2001-08-13 2003-02-13 Geist Richard Edwin Virtual display apparatus for mobile activities
AU2003239385A1 (en) 2002-05-10 2003-11-11 Richard R. Reisman Method and apparatus for browsing using multiple coordinated device
CA2388766A1 (en) 2002-06-17 2003-12-17 Steve Mann Eyeglass frames based computer display or eyeglasses with operationally, actually, or computationally, transparent frames
US6943754B2 (en) 2002-09-27 2005-09-13 The Boeing Company Gaze tracking system, eye-tracking assembly and an associated method of calibration
US7347551B2 (en) 2003-02-13 2008-03-25 Fergason Patent Properties, Llc Optical system for monitoring eye movement
US7500747B2 (en) 2003-10-09 2009-03-10 Ipventure, Inc. Eyeglasses with electrical components
US8434027B2 (en) 2003-12-15 2013-04-30 Quantum Matrix Holdings, Llc System and method for multi-dimensional organization, management, and manipulation of remote data
US7800614B2 (en) 2004-02-17 2010-09-21 Oracle America, Inc. Efficient communication in a client-server scene graph system
CA2561287C (en) 2004-04-01 2017-07-11 William C. Torch Biosensors, communicators, and controllers monitoring eye movement and methods for using them
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
US20110213664A1 (en) 2010-02-28 2011-09-01 Osterhout Group, Inc. Local advertising content on an interactive head-mounted eyepiece
US8890946B2 (en) 2010-03-01 2014-11-18 Eyefluence, Inc. Systems and methods for spatially controlled scene illumination
US8531355B2 (en) 2010-07-23 2013-09-10 Gregory A. Maltz Unitized, vision-controlled, wireless eyeglass transceiver
US8860760B2 (en) 2010-09-25 2014-10-14 Teledyne Scientific & Imaging, Llc Augmented reality (AR) system and method for tracking parts and visually cueing a user to identify and locate parts in a scene
US9292973B2 (en) 2010-11-08 2016-03-22 Microsoft Technology Licensing, Llc Automatic variable virtual focus for augmented reality displays
EP2691936A1 (en) 2011-03-29 2014-02-05 Qualcomm Incorporated Modular mobile connected pico projectors for a local multi-user collaboration
FR2974474B1 (fr) 2011-04-19 2017-11-17 Prologue Procedes et appareils de production et de traitement de representations de scenes multimedias
WO2013039748A2 (en) * 2011-09-16 2013-03-21 Social Communications Company Capabilities based management of virtual areas
US8929589B2 (en) 2011-11-07 2015-01-06 Eyefluence, Inc. Systems and methods for high-resolution gaze tracking
US8611015B2 (en) 2011-11-22 2013-12-17 Google Inc. User interface
US8235529B1 (en) 2011-11-30 2012-08-07 Google Inc. Unlocking a screen using eye tracking information
US10013053B2 (en) 2012-01-04 2018-07-03 Tobii Ab System for gaze interaction
US8638498B2 (en) 2012-01-04 2014-01-28 David D. Bohn Eyebox adjustment for interpupillary distance
US9274338B2 (en) 2012-03-21 2016-03-01 Microsoft Technology Licensing, Llc Increasing field of view of reflective waveguide
US9122321B2 (en) 2012-05-04 2015-09-01 Microsoft Technology Licensing, Llc Collaboration environment using see through displays
US9873045B2 (en) 2012-05-25 2018-01-23 Electronic Arts, Inc. Systems and methods for a unified game experience
US8989535B2 (en) 2012-06-04 2015-03-24 Microsoft Technology Licensing, Llc Multiple waveguide imaging structure
JP6498606B2 (ja) 2012-12-06 2019-04-10 グーグル エルエルシー ウエアラブル視線計測デバイス及び使用方法
EP2951811A4 (en) 2013-01-03 2016-08-17 Meta Co DIGITAL EYES FOR EXTRAMISSIVE SPATIAL IMAGING, PROCESSES AND SYSTEMS FOR VIRTUAL OR ENLARGED VISIBILITY, MANIPULATION, PRODUCTION OR INTERACTION WITH OBJECTS, MATERIALS, OR OTHER UNITS
US20140195918A1 (en) 2013-01-07 2014-07-10 Steven Friedlander Eye tracking user interface
US20140267234A1 (en) 2013-03-15 2014-09-18 Anselm Hook Generation and Sharing Coordinate System Between Users on Mobile
EP3005195A4 (en) 2013-05-24 2017-05-24 Awe Company Limited Systems and methods for a shared mixed reality experience
US9799127B2 (en) 2014-03-03 2017-10-24 Deep Node, Inc. Displaying a live stream of events using a dynamically-constructed three-dimensional data tree
US10572215B1 (en) 2014-03-31 2020-02-25 Amazon Technologies, Inc. Extendable architecture for augmented reality system
US9519481B2 (en) 2014-06-27 2016-12-13 International Business Machines Corporation Branch synthetic generation across multiple microarchitecture generations
US10810797B2 (en) 2015-05-22 2020-10-20 Otoy, Inc Augmenting AR/VR displays with image projections
WO2017142977A1 (en) 2016-02-15 2017-08-24 Meta Company Apparatuses, methods and systems for tethering 3-d virtual elements to digital content
EP3329466A4 (en) 2016-06-10 2019-03-13 DIRTT Environmental Solutions, Ltd. ARCHITECTURAL DESIGN ENVIRONMENT WITH MIXED REALITY
WO2017214576A1 (en) 2016-06-10 2017-12-14 Dirtt Environmental Solutions, Inc. Mixed-reality and cad architectural design environment
CA3046077A1 (en) * 2016-12-05 2018-06-14 Case Western Reserve University Systems, methods, and media for displaying interactive augmented reality presentations
US10147243B2 (en) 2016-12-05 2018-12-04 Google Llc Generating virtual notation surfaces with gestures in an augmented and/or virtual reality environment
EP3340012A1 (en) 2016-12-26 2018-06-27 CaptoGlove International Limited Haptic interaction method, tool and system
US20180255285A1 (en) 2017-03-06 2018-09-06 Universal City Studios Llc Systems and methods for layered virtual features in an amusement park environment
WO2018175335A1 (en) 2017-03-24 2018-09-27 Pcms Holdings, Inc. Method and system for discovering and positioning content into augmented reality space
US10871934B2 (en) 2017-05-04 2020-12-22 Microsoft Technology Licensing, Llc Virtual content displayed with shared anchor
GB201709199D0 (en) 2017-06-09 2017-07-26 Delamont Dean Lindsay IR mixed reality and augmented reality gaming system
US10685456B2 (en) * 2017-10-12 2020-06-16 Microsoft Technology Licensing, Llc Peer to peer remote localization for devices
US10559133B2 (en) 2018-02-07 2020-02-11 Dell Products L.P. Visual space management across information handling system and augmented reality
US10403047B1 (en) * 2018-03-01 2019-09-03 Dell Products L.P. Information handling system augmented reality through a virtual object anchor
EP3776146A1 (en) 2018-04-09 2021-02-17 Spatial Inc. Augmented reality computing environments
US11049322B2 (en) 2018-06-18 2021-06-29 Ptc Inc. Transferring graphic objects between non-augmented reality and augmented reality media domains
US11087538B2 (en) 2018-06-26 2021-08-10 Lenovo (Singapore) Pte. Ltd. Presentation of augmented reality images at display locations that do not obstruct user's view
US10977868B2 (en) 2018-06-29 2021-04-13 Factualvr, Inc. Remote collaboration methods and systems
WO2020023419A1 (en) 2018-07-24 2020-01-30 Magic Leap, Inc. Application sharing
US11227435B2 (en) 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
US10854006B2 (en) 2018-11-15 2020-12-01 Palo Alto Research Center Incorporated AR-enabled labeling using aligned CAD models
JP2023513250A (ja) 2020-02-10 2023-03-30 マジック リープ, インコーポレイテッド 仮想コンテンツの動的併置
WO2021163624A1 (en) 2020-02-14 2021-08-19 Magic Leap, Inc. Tool bridge
CN115698818B (zh) 2020-02-14 2024-01-23 奇跃公司 会话管理器
US11763559B2 (en) 2020-02-14 2023-09-19 Magic Leap, Inc. 3D object annotation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107667331A (zh) * 2015-05-28 2018-02-06 微软技术许可有限责任公司 共享空间多人沉浸式虚拟现实中的共享触觉交互和用户安全
CN108780356A (zh) * 2016-05-16 2018-11-09 谷歌有限责任公司 虚拟现实中的共存处置

Also Published As

Publication number Publication date
EP4103999A4 (en) 2023-08-02
EP4103999A1 (en) 2022-12-21
US20210256769A1 (en) 2021-08-19
US20230017752A1 (en) 2023-01-19
US11475644B2 (en) 2022-10-18
US20240087261A1 (en) 2024-03-14
JP2023514572A (ja) 2023-04-06
WO2021163626A1 (en) 2021-08-19
US11861803B2 (en) 2024-01-02
CN117827004A (zh) 2024-04-05
CN115698818A (zh) 2023-02-03

Similar Documents

Publication Publication Date Title
CN115698818B (zh) 会话管理器
US11763559B2 (en) 3D object annotation
CN116325808B (zh) 沉浸式音频平台
US11335070B2 (en) Dynamic colocation of virtual content
CN115516364B (zh) 工具桥
JP7464694B2 (ja) 複合現実における空間命令およびガイド
CN115176215A (zh) 用于空间计算的逼真角色配置
CN114846434A (zh) 非均匀立体渲染
JP2023514571A (ja) 遅延オーディオ追従
CN115398936A (zh) 多应用音频渲染
JP7481446B2 (ja) 環境音響持続性
WO2023064870A1 (en) Voice processing for mixed reality
WO2023183054A1 (en) Optimized mixed reality audio rendering

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
GR01 Patent grant
GR01 Patent grant