掌桥专利:专业的专利平台
掌桥专利
首页

扩展现实系统的用户界面布局和输入的动态配置

文献发布时间:2024-04-18 19:52:40


扩展现实系统的用户界面布局和输入的动态配置

技术领域

本公开的各方面一般涉及配置扩展现实系统和/或其他系统的用户界面布局和/或输入。

背景技术

扩展现实技术可以用于向用户呈现虚拟内容,和/或可以将来自物理世界的现实环境和虚拟环境进行组合以向用户提供扩展现实体验。术语扩展现实可以包含虚拟现实、扩增现实、混合现实等。扩展现实的这些形式中的每一个允许用户体验或与沉浸式虚拟环境或内容进行交互。例如,扩展现实体验可以允许用户与利用虚拟内容增强或扩增的现实或物理环境进行交互。

扩展现实技术可以被实现为在广泛范围的情境中增强用户体验,诸如娱乐、医疗保健、零售、教育、社交媒体等。在一些情况下,扩展现实系统(例如,扩增现实系统)的用户界面从用户角度可能难以使用。这样的用户界面对于正在被扩增的对象而言不是优化的。

发明内容

公开了用于基于现实世界环境中的一个或多个物理对象的属性、基于用户相对于一个或多个物理对象的属性、和/或基于其他因素,配置扩展现实系统(和/或其他系统)的用户界面布局和/或输入的系统、装置、方法和计算机可读介质。根据至少一个示例,提供了用于生成虚拟内容的方法。方法包括:由设备获得现实世界环境中的物理对象的图像;由设备确定图像中物理对象的至少一个属性;基于物理对象的至少一个属性确定虚拟内容的界面布局;以及基于所确定的界面布局显示虚拟内容。

在另一示例中,提供了用于生成虚拟内容的装置,包括存储器(例如,被配置为存储数据,诸如虚拟内容数据、一个或多个图像等)和与存储器耦合(例如,在电路中实现)的一个或多个处理器。一个或多个处理器被配置为且能够:获得现实世界环境中的物理对象的图像;确定图像中物理对象的至少一个属性;基于物理对象的至少一个属性确定虚拟内容的界面布局;以及基于所确定的界面布局使得虚拟内容被显示。

在另一示例中,提供了其上存储有指令的非暂时性计算机可读介质,当指令由一个或多个处理器执行时,使得一个或多个处理器:获得现实世界环境中的物理对象的图像;确定图像中物理对象的至少一个属性;基于物理对象的至少一个属性确定虚拟内容的界面布局;以及基于所确定的界面布局使得虚拟内容被显示。

在另一示例中,提供了用于生成虚拟内容的装置。装置包括:用于获得现实世界环境中的物理对象的图像的部件;用于确定图像中物理对象的至少一个属性的部件;用于基于物理对象的至少一个属性确定虚拟内容的界面布局的部件;以及用于基于所确定的界面布局显示虚拟内容的部件。

在一些方面中,当虚拟内容由设备或装置的显示器显示时,现实世界环境是通过显示器可查看的。

在一些方面中,物理对象的至少一个属性包括以下中的至少一个:物理对象的大小、物理对象的形状、物理对象相对于设备或装置的方向、物理对象相对于设备或装置的位置、以及物理对象被用户的手握持的能力。

在一些方面中,以上描述的方法、装置和计算机可读介质中的一个或多个还包括:确定一个或多个图像中的用户的身体部位;确定一个或多个图像中的用户的身体部位的至少一个属性;以及基于物理对象的至少一个属性和用户的身体部位的至少一个属性,确定虚拟内容的界面布局。

在一些方面中,身体部位的至少一个属性包括以下中的至少一个:身体部位的大小、身体部位相对于物理对象的方向、身体部位相对于物理对象的位置、身体部位相对于物理对象的位置、身体部位相对于设备或装置的方向、以及身体部位相对于设备或装置的位置。

在一些方面中,用户的身体部位是用户的手,并且身体部位的至少一个属性包括以下中的至少一个:手的大小、手相对于物理对象的方向、手相对于物理对象的位置、手相对于设备或装置的方向、手相对于设备或装置的位置、以及手是用户的左手还是右手。

在一些方面中,以上描述的方法、装置和计算机可读介质中的一个或多个还包括:确定一个或多个图像中的用户的手;确定手是用户的左手还是右手;以及基于手是用户的左手还是右手,确定虚拟内容在界面布局中的位置。

在一些方面中,以上描述的方法、装置和计算机可读介质中的一个或多个还包括:确定手是用户的左手;基于手是用户的左手,确定虚拟内容相对于物理对象的右侧的位置;以及在界面布局中相对于物理对象的右侧显示虚拟内容。

在一些方面中,以上描述的方法、装置和计算机可读介质中的一个或多个还包括:确定手是用户的右手;基于手是用户的右手,确定虚拟内容相对于物理对象的左侧的位置;以及在界面布局中相对于物理对象的左侧显示虚拟内容。

在一些方面中,以上描述的方法、装置和计算机可读介质中的一个或多个还包括:确定在多个图像中的物理对象的至少一个属性。

在一些方面中,以上描述的方法、装置和计算机可读介质中的一个或多个还包括:基于物理对象的至少一个属性确定输入类型;接收与输入类型相对应的输入;以及基于输入类型控制所显示的虚拟内容。在一些方面中,输入类型包括滚动输入。在一些方面中,输入类型包括点击输入。

在一些方面中,以上描述的方法、装置和计算机可读介质中的一个或多个还包括:基于物理对象的至少一个属性,确定输入类型的输入功能;以及基于所确定的输入类型的输入功能,控制所显示的虚拟内容。

根据另一示例,提供了用于生成虚拟内容的方法。方法包括:由设备获得现实世界环境中的物理对象的图像;由设备确定图像中物理对象的至少一个属性;由设备基于物理对象的至少一个属性确定输入类型;由设备接收与输入类型相对应的输入;以及由设备基于所确定的输入类型控制所显示的虚拟内容。

在另一示例中,提供了用于生成虚拟内容的装置,包括存储器(例如,被配置为存储数据,诸如虚拟内容数据、一个或多个图像等)和与存储器耦合(例如,在电路中实现)的一个或多个处理器。一个或多个处理器被配置为且能够:获得现实世界环境中的物理对象的图像;确定图像中物理对象的至少一个属性;基于物理对象的至少一个属性确定输入类型;接收与输入类型相对应的输入;以及基于所确定的输入类型控制所显示的虚拟内容。

在另一示例中,提供了其上存储有指令的非暂时性计算机可读介质,当指令由一个或多个处理器执行时,使得一个或多个处理器:获得现实世界环境中的物理对象的图像;确定图像中物理对象的至少一个属性;基于物理对象的至少一个属性确定输入类型;接收与输入类型相对应的输入;以及基于所确定的输入类型控制所显示的虚拟内容。

在另一示例中,提供了用于生成虚拟内容的装置。装置包括:用于获得现实世界环境中的物理对象的图像的部件;用于确定图像中物理对象的至少一个属性的部件;用于基于物理对象的至少一个属性确定输入类型的部件;接收与输入类型相对应的输入;以及用于基于所确定的输入类型控制所显示的虚拟内容的部件。

在一些方面中,当虚拟内容由设备或装置的显示器显示时,现实世界环境是通过显示器可查看的。

在一些方面中,物理对象的至少一个属性包括以下中的至少一个:物理对象的大小、物理对象的形状、物理对象相对于设备或装置的方向、物理对象相对于设备或装置的位置、以及物理对象被用户的手握持的能力。

在一些方面中,输入类型包括滚动输入。在一些方面中,输入类型包括点击输入。

在一些方面中,以上描述的方法、装置和计算机可读介质中的一个或多个还包括:基于物理对象的至少一个属性,确定输入类型的输入功能;以及基于所确定的输入类型的输入功能,控制所显示的虚拟内容。

在一些方面中,输入类型包括滚动输入,并且输入功能包括滚动输入的方向。

在一些方面中,以上描述的方法、装置和计算机可读介质中的一个或多个还包括:确定一个或多个图像中的用户的身体部位;确定一个或多个图像中的用户的身体部位的至少一个属性;以及基于物理对象的至少一个属性和用户的身体部位的至少一个属性,确定输入类型或输入类型的输入功能中的至少一个。

在一些方面中,身体部位的至少一个属性包括以下中的至少一个:身体部位的大小、身体部位相对于物理对象的方向、身体部位相对于物理对象的位置、身体部位相对于物理对象的位置、身体部位相对于设备或装置的方向、以及身体部位相对于设备或装置的位置。

在一些方面中,用户的身体部位是用户的手,并且身体部位的至少一个属性包括以下中的至少一个:手的大小、手相对于物理对象的方向、手相对于物理对象的位置、手相对于设备或装置的方向、手相对于设备或装置的位置、以及手是用户的左手还是右手。

在一些方面中,以上描述的方法、装置和计算机可读介质中的一个或多个还包括:基于物理对象的至少一个属性,确定虚拟内容的界面布局;以及基于所确定的界面布局显示虚拟内容。

在一些方面中,以上描述的方法、装置和计算机可读介质中的一个或多个还包括:确定在多个图像中的物理对象的至少一个属性。

在一些方面中,设备或装置是扩展现实设备(例如,虚拟现实(VR)设备、扩增现实(AR)设备、或混合现实(MR)设备)、移动设备(例如,移动电话或所谓“智能电话”或其他移动设备)、可穿戴设备、个人计算机、膝上型计算机、服务器计算机、摄像头、车辆或车辆的计算设备或组件或者其他设备、是上述设备的部分和/或包括上述设备。在一些方面中,装置包括用于捕获一个或多个图像的一个摄像头或多个摄像头。在一些方面中,装置包括用于显示一个或多个图像、虚拟内容、通知和/或其他可显示数据的显示器。在一些方面中,以上描述的各装置可以包括一个或多个传感器。

本发明内容并不旨在标识权利要求主题的关键或重要特征,也并不旨在用于隔离或确定权利要求主题的范围。应当通过参考本专利的整个说明书的适当部分、任何或所有附图以及每项权利要求来理解主题。

在参考以下说明书、权利要求和附图后,前述内容以及其他特征和实施例将变得更加明显。

附图说明

下面参照以下附图详细描述本申请的说明性实施例:

图1是根据本公开的一些示例的示出了示例扩展现实系统的框图;

图2是根据本公开的一些示例的示出了可以用来跟踪手的位置和手与虚拟环境的交互的示例手的地标点的图;

图3是根据本公开的一些示例的示出了由用户佩戴着扩展现实系统的示例的图;

图4是根据本公开的一些示例的示出了基于对象的属性和/或用户的属性虚拟内容相对于现实世界或物理对象显示的示例的图;

图5是根据本公开的一些示例的示出了基于对象的属性和/或用户的属性虚拟内容相对于现实世界或物理对象显示的另一示例的图;

图6A、图6B和图6C是根据本公开的一些示例的示出了与基于对象的属性和/或用户的属性所确定的虚拟内容相关联的输入类型和/或功能的示例的图;

图7是根据本公开的一些示例的示出了可选择用于生成虚拟内容的物理对象的部分的示例的图;

图8是根据本公开的一些示例的示出了生成虚拟内容的示例的图;

图9是根据本公开的一些示例的示出了用于生成虚拟内容的过程的示例的图;

图10示出了根据本公开的一些示例的示例计算系统;以及

图11是示出了用于实现本公开的某些方面的系统的示例的图。

具体实施方式

下面提供了本公开的某些方面和实施例。这些方面和实施例中的一些可以独立地应用,并且其中一些可以组合应用,这对于本领域技术人员是显而易见的。在以下描述中,为了解释的目的阐述了具体细节,以便提供对本申请的实施例的透彻理解。然而,显而易见的是,可以在没有这些具体细节的情况下实施各种实施例。附图和说明并不旨在是限制性的。

随后的描述仅提供示例性实施例,并不旨在限制本公开的范围、适用性或配置。相反,随后对示例性实施例的描述将为本领域技术人员提供实现示例性实施例的令人信服的描述。应当理解,在不脱离如所附权利要求所阐述的应用的精神和范围的情况下,可以对元件的功能和布置进行各种改变。

扩展现实(XR)系统或设备可以向用户提供虚拟内容和/或可以将现实世界或物理环境与(由虚拟内容构成的)虚拟环境进行组合以向用户提供XR体验。现实世界环境可以包括现实世界对象(也被称为物理对象),诸如人、车辆、建筑物、桌子、椅子和/或其他现实世界或物理对象。XR系统或设备能够促进与不同类型的XR环境的交互(例如,用户可以使用XR系统或设备来与XR环境进行交互)。XR系统可以包括促进与虚拟现实(VR)环境的交互的VR系统、促进与扩增现实(AR)环境的交互的AR系统、促进与混合现实(MR)环境的交互的MR系统、和/或其他系统。如本文所使用的,术语XR系统和XR设备可互换地使用。XR系统或设备的示例包括头戴式显示器(HMD)、智能眼镜等。在一些情况下,XR系统可以跟踪用户的部分(例如,用户的手和/或指尖)以允许用户与虚拟内容中的项目进行交互。

AR是通过在用户对物理、现实世界场景或环境的视图上提供虚拟或计算机生成的内容(称为AR内容)的技术。AR内容可以包括任何虚拟内容,诸如视频、图像、图形内容、位置数据(例如,全球定位系统(GPS)数据或其他位置数据)、声音、其任何组合和/或其他扩增内容。AR系统被设计为增强(或扩增)而不是取代人对现实的当前感知。例如,用户可以通过AR设备显示器看到现实的静止或移动的物理对象,但是用户对物理对象的视觉感知可以通过以下来扩增或增强:通过该对象的虚拟图像(例如,由DeLorean的虚拟图像替换的现实世界的汽车),通过添加到物理对象的AR内容(例如,添加到活体动物上的虚拟翅膀),通过相对于物理对象显示的AR内容(例如,在建筑物上的标志附近显示的信息性虚拟内容,在一个或多个图像中虚拟锚定在(例如,放在)现实世界桌子上的虚拟咖啡杯等),和/或通过显示其他类型的AR内容。各种类型的AR系统可用于游戏、娱乐和/或其他应用。

可用于提供AR内容的两种类型的AR系统包括视频透视(也称为视频直通)显示器和光学透视显示器,两者都可用于增强用户对现实世界或物理对象的视觉感知。在视频透视系统中,显示现实世界场景的实时视频,包括在实时视频上扩增或增强的一个或多个对象。视频透视系统可以使用移动设备(例如,移动电话显示器上的视频)、HMD或可以在视频上显示视频和计算机生成的对象的其他合适的设备来实现。

具有AR特征的光学透视系统可以直接在现实世界视图上显示AR内容,而不显示视频内容。例如,用户可以通过显示器(例如,眼镜或镜头)查看物理对象,AR系统可以在显示器上显示AR内容(例如,投影或以其他方式显示),为用户提供一个或多个现实世界对象的增强视觉感知。光学透视AR系统中使用的显示器的示例包括AR眼镜、HMD、另一AR头戴式装置或其他类似设备,这些设备可以包括每只眼睛前面的镜头或眼镜(或双眼上的单个镜头或眼镜)以允许用户直接看到现实世界或物理对象,同时还允许该对象的增强图像或附加AR内容被投影到显示器上,以扩增用户对现实世界的视觉感知。

VR提供了在三维计算机生成的VR环境或描绘现实世界环境的虚拟版本的视频中的完全沉浸式体验。VR环境可以以看似现实或物理的方式进行交互。当正在体验VR环境的用户在现实世界中移动时,渲染在虚拟环境中的图像也发生变化,给用户一种正在VR环境中移动的感知。例如,用户可以向左转或向右转、向上看或向下看、和/或向前移动或向后移动,从而改变用户对VR环境的视角。呈现给用户的VR内容可以相应地改变,使得用户体验和在现实世界中一样无缝。在一些情况下,VR内容可以包括VR视频,这些视频可以以非常高的质量被捕获和渲染,潜在地提供真正沉浸式的虚拟现实体验。虚拟现实应用可以包括游戏、培训、教育、体育视频、在线购物等。VR内容可以使用VR系统或设备(诸如VR HMD或其他VR头戴式装置)来渲染和显示,这些设备在VR体验期间完全覆盖用户的眼睛。

MR技术可以组合VR和AR的各个方面,为用户提供沉浸式体验。例如,在MR环境中,现实世界和计算机生成的对象可以交互(例如,现实的人可以与虚拟的人进行交互,就像虚拟的人是现实的人一样)。

一般而言,生成高质量和用户友好的用户界面涉及特征的设计和适当应用,这些特征向用户传达功能和响应选项。这样的特征可以称为功能可见性(affordances),是用户如何与现实世界和数字世界二者进行交互的基础。例如,在现实世界中,门具有把手,指示门可以如何打开。在另一示例中,在数字世界中,带下划线的蓝色文本经由超链接传达更多信息的可用性,以及带下划线的蓝色文本可以被选择的概念。这样的功能可见性最初并不明显,但部分地由于特征的简单本质随着时间的推移被习得。

XR系统通常在XR会话期间确定渲染在用户界面上的虚拟内容的类型、布局和可控制性(基于不同类型的用户输入),不受现实世界环境中物理对象的影响。如本文所使用的,用户界面包括通过XR系统的任何虚拟内容的显示,诸如AR内容、VR内容和/或MR内容。例如,XR系统可以生成和显示物理对象的虚拟副本或物理对象的一部分(例如,将物理对象的一部分(诸如营养标签)复制并粘贴到表面(诸如桌子)上)。在一些情况下,XR系统可以基于虚拟内容在用户界面上配置、提供对虚拟内容的访问和/或确定虚拟内容的输入类型或功能。例如,某些虚拟内容可以与和现实世界环境中物理对象相关的补充信息相关联。

本公开描述了用于配置XR系统(例如,HMD、AR眼镜等)和/或其他系统(例如,车辆中的平视显示器等)的用户界面的系统、装置、过程(也称为方法)和计算机可读介质(本文统称为“系统和技术”)。在一些情况下,系统和技术为XR系统提供了基于正在被扩增的物理对象的属性和/或与物理对象交互的用户的属性来动态地配置用户界面的能力。

例如,系统和技术可以基于现实世界环境中的物理对象(例如,由XR系统用虚拟内容正在扩增的对象)的一个或多个属性(例如,物理属性)来确定用户界面布局、输入类型和/或输入功能。在一些情况下,XR系统可以基于以下属性来确定虚拟内容的布局和/或内容(基于一个或多个用户输入)被如何控制:大小、形状、相对于XR系统的方向(例如,XR系统的摄像头和/或其他传感器)、相对于XR系统的位置(例如,XR系统的摄像头和/或其他传感器)、物理对象被用户的手握持的能力(例如,基于对象的大小和用户单手或双手的大小)、和/或将被显示虚拟内容的物理对象的其他属性。

在一些示例中,连同物理对象的属性一起或者作为物理对象的属性的替代,系统和技术可以基于与现实环境中的物理对象进行交互的用户的一个或多个属性(例如,物理属性)来确定用户界面布局、输入类型和/或输入功能。例如,XR系统可以基于以下属性来确定虚拟内容的布局和/或内容相对于物理对象将被如何控制:身体部位的大小(例如,一只或多只手、手臂、腿等)、身体部位相对于物理对象的方向、身体部位相对于物理对象的位置、身体部位相对于XR系统的方向(例如,XR系统的摄像头和/或其他传感器)、身体部位相对于XR系统的位置(例如,XR系统的摄像头和/或其他传感器)、使用用户的哪只手(右手或左手)来握持物理对象、和/或其他属性。

输入类型可以用于控制XR系统或以其他方式与XR系统进行交互。输入类型可以包括各种类别的输入,诸如基于滚动的输入、基于点击(tap)的输入、基于手势的输入、基于音频的输入、和/或其他类型或类别的输入。例如,XR系统可以基于物理对象的属性和/或与物理对象进行交互(例如,握持)的用户的属性来确定滚动输入将被用于控制相对于物理对象所显示的虚拟内容。可以根据输入类型确定输入功能,诸如基于物理对象的属性和/或与物理对象进行交互的用户的属性。例如,可以为输入类型定义输入功能,以控制输入类型将如何操作(例如,基于滚动的输入类型的输入功能可以被限制为特定的滚动方向,诸如垂直滚动方向、水平滚动方向等)。

在一些示例中,本文描述的系统和技术可以以允许用户操纵虚拟内容的方式生成虚拟内容。例如,XR系统可以生成虚拟内容,并且可以将虚拟内容耦合到第一物理对象(例如,通过将虚拟内容锚定到第一物理对象的一个或多个特征上)。基于接收到的用户输入(例如,捏合手势、基于滚动的输入等),XR系统可以将虚拟内容与第一物理对象解耦,并可以将虚拟内容耦合到第二物理对象。在另一示例中,基于接收到的用户输入(例如,捏合手势、基于滚动的输入等),XR系统可以检测第一物理对象或第一物理对象的一部分,并生成物理对象或其一部分的虚拟表示。在一些情况下,基于接收到的用户输入,XR系统可以将虚拟内容与第一物理对象解耦,并可以将XR内容耦合到第二物理对象。

在一些示例中,系统和技术可以将物理对象上的标记与虚拟内容相关联。例如,XR系统可以解释与物理对象上标记的选择相对应的用户输入,并可以基于用户输入生成虚拟内容。标记可以编码到XR系统的指令,这些指令指示如何检索附加内容以及用户应如何与该内容交互(例如,水平滑动以查看更多信息)。在一些情况下,标记可以包括文本、符号、徽标、统一资源定位符(URL)、社交网络标识符(例如,Twitter

本文参照各种图提供关于系统和技术的进一步细节。图1是示出了根据本公开的一些方面的示例扩展现实系统100的图。扩展现实系统100可以运行(或执行)XR应用和实现XR操作。在一些示例中,扩展现实系统100可以执行跟踪和定位、物理世界(例如,场景)的映射以及在显示器109(例如,屏幕、可见平面/区域和/或其他显示器)上定位和渲染虚拟内容作为XR体验的一部分。例如,扩展现实系统100可以生成物理世界中场景的地图(例如,三维(3D)地图),跟踪扩展现实系统100相对于场景(例如,相对于场景的3D地图)的姿势(例如,定位和位置),在场景地图上(一个或多个)特定位置定位和/或锚定虚拟内容,以及在显示器109上渲染虚拟内容,使得虚拟内容出现在场景中与场景地图上的特定位置(在该处定位和/或锚定虚拟内容)相对应的位置处。显示器109可以包括眼镜、屏幕、镜头、投影仪和/或允许用户查看现实世界环境以及还允许在其上显示XR内容的其他显示机构。

在该说明性示例中,扩展现实系统100包括一个或多个图像传感器102、加速计104、陀螺仪106、存储装置107、计算组件110、XR引擎120、界面布局和输入管理引擎122、图像处理引擎124和渲染引擎126。应注意,图1中所示的组件102-组件126是为了说明和解释目的而提供的非限制性示例,其他示例可以包括比图1中所示的更多、更少或不同的组件。例如,在一些情况下,扩展现实系统100可以包括未在图1中示出的一个或多个其他传感器(例如,一个或多个惯性测量单元(IMU)、雷达、光探测和测距(LIDAR)传感器、音频传感器等)、一个或多个显示设备、一个或多个其他处理引擎、一个或多个其他硬件组件和/或一个或多个其他软件和/或硬件组件。可由扩展现实系统100实现的示例架构和示例硬件组件在下面参照图11进一步描述。

此外,出于简单和解释的目的,一个或多个图像传感器102在本文中将被引用为图像传感器102(例如,以单数形式)。然而,本领域普通技术人员将认识到,扩展现实系统100可以包括单个图像传感器或多个图像传感器。此外,以单数或复数形式对扩展现实系统100(或本文描述的其他系统)的任何组件(例如102-126)的引用不应解释为限制由扩展现实系统100实现的此类组件的数量为一个或多于一个。例如,以单数形式对加速计104的引用不应解释为限制由扩展现实系统100实现的加速计的数量为一个。本领域普通技术人员将认识到,对于图1中示出的组件102-组件126中的任何,扩展现实系统100可以包括这样的组件中的仅一个或这样的组件中的一个以上。

扩展现实系统100包括输入设备108或者与输入设备108进行(有线或无线)通信。输入设备108可以包括任何合适的输入设备,例如触摸屏、笔或其他指针设备、键盘、鼠标、按钮或键、用于接收语音命令的麦克风、用于接收手势命令的手势输入设备、其任何组合、和/或其他输入设备。在一些情况下,图像传感器102可以捕获可被处理用于解释手势命令的图像。

扩展现实系统100可以是单个计算设备或多个计算设备的一部分或由其实现。在一些示例中,扩展现实系统100可以是电子设备(或多个设备)的一部分,诸如扩展现实头戴式显示器(HMD)设备、扩展现实眼镜(例如,扩增现实或AR眼镜)、摄像头系统(例如,数码摄像头、IP摄像头、视频摄像头、安全摄像头等)、电话系统(例如,智能电话、蜂窝电话、会议系统等)、台式计算机、膝上型计算机或笔记本计算机、平板计算机、机顶盒、智能电视、显示设备、游戏控制台、视频流设备、物联网(IoT)设备、和/或任何其他合适的(一个或多个)电子设备。

在一些实现中,一个或多个图像传感器102、加速计104、陀螺仪106、存储装置107、计算组件110、XR引擎120、界面布局和输入管理引擎122、图像处理引擎124和渲染引擎126可以是同一计算设备的一部分。例如,在一些情况下,一个或多个图像传感器102、加速计104、陀螺仪106、存储装置107、计算组件110、XR引擎120、界面布局和输入管理引擎122、图像处理引擎124和渲染引擎126可以集成到HMD、扩展现实眼镜、智能电话、膝上型计算机、平板计算机、游戏系统、和/或任何其他计算设备中。然而,在一些实现中,一个或多个图像传感器102、加速计104、陀螺仪106、存储装置107、计算组件110、XR引擎120、界面布局和输入管理引擎122、图像处理引擎124和渲染引擎126可以是两个或多个独立计算设备的一部分。例如,在一些情况下,组件102-组件126中的一些可以是一个计算设备的一部分或由一个计算设备实现,其余组件可以是一个或多个其他计算设备的一部分或由一个或多个其他计算设备实现。

存储装置107可以是用于存储数据的(一个或多个)任何存储设备。此外,存储装置107可以存储来自扩展现实系统100的任何组件的数据。例如,存储装置107可以存储来自图像传感器102的数据(例如,图像或视频数据)、来自加速计104的数据(例如,测量)、来自陀螺仪106的数据(例如,测量)、来自计算组件110的数据(例如,处理参数、首选项、虚拟内容、渲染内容、场景地图、跟踪和定位数据、对象检测数据、隐私数据、XR应用数据、人脸识别数据、遮挡数据等)、来自XR引擎120的数据、来自界面布局和输入管理引擎122的数据、来自图像处理引擎124的数据和/或来自渲染引擎126的数据(例如,输出帧)。在一些示例中,存储装置107可以包括用于存储帧以供计算组件110处理的缓冲器。

一个或多个计算组件110可以包括中央处理单元(CPU)112、图形处理单元(GPU)114、数字信号处理器(DSP)116、图像信号处理器(ISP)118和/或其他处理器(例如,实现一个或多个神经网络的神经处理单元(NPU))。计算组件110可以执行各种操作,诸如图像增强、计算机视觉、图形渲染、扩展现实操作(例如,跟踪、定位、姿势估计、映射、内容锚定、内容渲染等)、图像和/或视频处理、传感器处理、识别(例如,文本识别、面部识别、对象识别、特征识别、跟踪或模式识别、场景识别、遮挡检测等)、机器学习操作、滤波、和/或本文描述的任何各种操作。在一些示例中,计算组件110可以实现(例如,控制、操作等)XR引擎120、界面布局和输入管理引擎122、图像处理引擎124和渲染引擎126。在其他示例中,计算组件110还可以实现一个或多个其他处理引擎。

图像传感器102可以包括任何图像和/或视频传感器或捕获设备。在一些示例中,图像传感器102可以是多摄像头组件(诸如双摄像头组件)的一部分。图像传感器102可以捕获图像和/或视频内容(例如,原始图像和/或视频数据),其然后可以由如本文描述的计算组件110、XR引擎120、界面布局和输入管理引擎122、图像处理引擎124和/或渲染引擎126进行处理。

在一些示例中,图像传感器102可以捕获图像数据并可以基于图像数据生成图像(也称为帧)和/或可以将图像数据或帧提供给XR引擎120、界面布局和输入管理引擎122、图像处理引擎124和/或渲染引擎126进行处理。图像或帧可以包括视频序列的视频帧或静止图像。图像或帧可以包括表示场景的像素阵列。例如,帧可以是每像素具有红色、绿色和蓝色颜色分量的红绿蓝(RGB)帧;每像素具有一个亮度分量和两个色度(颜色)分量(色度红和色度蓝)的亮度、色度红、色度蓝(YCbCr)帧;或者任何其他合适类型的彩色或单色图片。

在一些情况下,图像传感器102(和/或扩展现实系统100的其他摄像头)也可以被配置为捕获深度信息。例如,在一些实现中,图像传感器102(和/或其他摄像头)可以包括RGB深度(RGB-D)摄像头。在一些情况下,扩展现实系统100可以包括与图像传感器102(和/或其他摄像头)分离并且可以捕获深度信息的一个或多个深度传感器(未示出)。例如,这样的深度传感器可以独立于图像传感器102获得深度信息。在一些示例中,深度传感器可以物理安装在与图像传感器102相同的一般位置,但可以以与图像传感器102不同的频率或帧速率操作。在一些示例中,深度传感器可以采用光源的形式,该光源可以将结构化或纹理光图案(可能包括一条或多条窄光带)投影到场景中的一个或多个对象上。然后,可以通过利用由对象的表面形状引起的投影图案的几何变形来获得深度信息。在一个示例中,深度信息可以从诸如红外结构光投影仪和注册到摄像头(例如,RGB摄像头)的红外摄像头的组合的立体传感器获得。

扩展现实系统100还包括一个或多个传感器。一个或多个传感器可以包括一个或多个加速计(例如,加速计104)、一个或多个陀螺仪(例如,陀螺仪106)、和/或其他传感器。一个或多个传感器可以向计算组件110提供速度、方向和/或其他位置相关信息。例如,加速计104可以检测扩展现实系统100的加速度,并且可以基于检测到的加速度生成加速度测量。在一些情况下,加速计104可提供一个或多个平移矢量(例如,上/下、左/右、前/后),这些平移矢量可用于确定扩展现实系统100的位置或姿势。陀螺仪106可以检测和测量扩展现实系统100的方向和角速度。例如,陀螺仪106可用于测量扩展现实系统100的俯仰、滚转和偏航。在一些情况下,陀螺仪106可以提供一个或多个旋转矢量(例如,俯仰、偏航、滚转)。在一些示例中,图像传感器102和/或XR引擎120可以使用由加速计104获得的测量(例如,一个或多个平移矢量)和/或陀螺仪106获得的测量(例如,一个或多个旋转矢量)来计算扩展现实系统100的姿势。如前所述,在其他示例中,扩展现实系统100还可以包括其他传感器,诸如惯性测量单元(IMU)、磁强计、凝视和/或眼睛跟踪传感器、机器视觉传感器、智能场景传感器、语音识别传感器、碰撞传感器、冲击传感器、位置传感器、倾斜传感器等。

如上所述,在一些情况下,一个或多个传感器可以包括至少一个IMU。IMU是一种电子设备,使用一个或多个加速计、一个或多个陀螺仪和/或一个或多个磁强计的组合来测量扩展现实系统100的特定力、角速率和/或方向。在一些示例中,一个或多个传感器可以输出与由图像传感器102(和/或扩展现实系统100的其他摄像头)捕获的图像的捕获相关联的测量信息和/或使用扩展现实系统100的一个或多个深度传感器获得的深度信息。

一个或多个传感器(例如,加速计104、陀螺仪106、一个或多个IMU和/或其他传感器)的输出可以被扩展现实引擎120用来确定扩展现实系统100的姿势(也称为头部姿势)和/或图像传感器102(或扩展现实系统100的其他摄像头)的姿势。在一些情况下,扩展现实系统100的姿势和图像传感器102(或其他摄像头)的姿势可以相同。图像传感器102的姿势是指图像传感器102相对于参考帧(例如,相对于对象202)的位置和方向。在一些实现中,可以确定6自由度(6DOF)的摄像头姿势,其指三个平移分量(例如,可以通过相对于参考帧(诸如图像平面)的X(水平)、Y(垂直)和Z(深度)坐标给出)和三个角度分量(例如,相对于同一参考帧的滚转、俯仰和偏航)。

在一些情况下,设备跟踪器(未示出)可以使用来自一个或多个传感器的测量和来自图像传感器102的图像数据来跟踪扩展现实系统100的姿势(例如,6DOF姿势)。例如,设备跟踪器可以融合来自图像数据的视觉数据(例如,使用视觉跟踪解决方案)和来自测量的惯性数据,来确定扩展现实系统100相对于物理世界(例如,场景)的位置和运动以及物理世界的地图。如下文所述,在一些示例中,当跟踪扩展现实系统100的姿势时,设备跟踪器可以生成场景(例如,现实世界)的三维(3D)地图和/或生成场景的3D地图的更新。3D地图更新可以包括,例如但不限于,与场景和/或场景的3D地图相关联的新的或更新后的多个特征和/或特征或地标点、标识或更新扩展现实系统100在场景以及场景的3D地图内的位置的定位更新等。3D地图可以提供现实/物理世界中场景的数字表示。在一些示例中,3D地图可以将基于位置的对象和/或内容锚定到现实世界坐标和/或对象。扩展现实系统100可以使用映射的场景(例如,由3D地图表示和/或与3D地图相关联的物理世界中的场景)来合并物理世界和虚拟世界,和/或将虚拟内容或对象与物理环境合并。

在一些方面中,图像传感器102和/或作为整体的扩展现实系统100的姿势可以由计算组件110使用基于图像传感器102(和/或扩展现实系统100的其他摄像头)捕获的图像的视觉跟踪解决方案来确定和/或跟踪。例如,在一些示例中,计算组件110可以使用基于计算机视觉的跟踪、基于模型的跟踪和/或同时定位和映射(SLAM)技术来执行跟踪。例如,计算组件110可以执行SLAM,或者可以与SLAM引擎(未示出)进行(有线或无线)通信。SLAM指的是一类技术,其中在同时跟踪摄像头(例如,图像传感器102)和/或扩展现实系统100相对于地图的姿势的情况下创建环境的地图(例如,由扩展现实系统100建模的环境的地图)。该地图可以被称为SLAM地图,并且可以是三维(3D)的。SLAM技术可以使用由图像传感器102(和/或扩展现实系统100的其他摄像头)捕获的彩色或灰度图像数据来执行,并可用于生成图像传感器102和/或扩展现实系统100的6DOF姿势测量的估计。这样的被配置为执行6DOF跟踪的SLAM技术可以称为6DOF SLAM。在一些情况下,一个或多个传感器(例如,加速计104、陀螺仪106、一个或多个IMU和/或其他传感器)的输出可用于估计、校正和/或以其他方式调整估计的姿势。

在一些情况下,6DOF SLAM(例如,6DOF跟踪)可以将从来自图像传感器102(和/或其他摄像头)的某些输入图像中观察到的特征与SLAM地图相关联。例如,6DOF SLAM可以使用来自输入图像的特征点关联来确定图像传感器102和/或扩展现实系统100对于输入图像的姿势(位置和方向)。还可以执行6DOF映射来更新SLAM地图。在一些情况下,使用6DOFSLAM维护的SLAM地图可以包含从两个或多个图像三角化的3D特征点。例如,可以从输入图像或视频流中选择关键帧来代表观察到的场景。对于每个关键帧,可以确定与图像相关联的相应6DOF摄像头姿势。可以通过将来自3D SLAM地图的特征投影到图像或视频帧中,并根据经验证的2D-3D对应关系更新摄像头姿势来确定图像传感器102和/或扩展现实系统100的姿势。

在一个说明性示例中,计算组件110可以从某些输入图像(例如,每个输入图像、输入图像的子集等)或从每个关键帧中提取特征点。如本文使用的特征点(也称为注册点)是图像的可区分或可标识的部分,诸如手的一部分、桌子的边缘等。从捕获的图像中提取的特征可以表示沿三维空间的区分特征点(例如,X、Y和Z轴上的坐标),并且每个特征点可以具有关联的特征位置。关键帧中的特征点匹配(相同或对应)或无法匹配先前捕获的输入图像或关键帧的特征点。特征检测可用于检测特征点。特征检测可以包括用于检查图像的一个或多个像素以确定特定像素处是否存在特征的图像处理操作。特征检测可用于处理整个捕获的图像或图像的某些部分。对于每个图像或关键帧,一旦检测到特征,就可以提取特征周围的局部图像块。可以使用任何合适的技术来提取特征,诸如尺度不变特征变换(SIFT)(它可以定位特征并生成特征的描述)、加速稳健特征(SURF)、梯度位置-方向直方图(GLOH)、归一化互相关(NCC)、或其他合适的技术。

在一些情况下,扩展现实系统100还可以跟踪用户的手和/或手指,以允许用户在虚拟环境中与虚拟内容交互和/或控制虚拟内容。例如,扩展现实系统100可以跟踪用户的手和/或指尖的姿势和/或运动,以识别或翻译用户与虚拟环境的交互。用户交互可以包括,例如但不限于,移动虚拟内容项、调整虚拟内容项的大小、选择虚拟用户界面中的输入界面元素(例如,移动电话的虚拟表示、虚拟键盘和/或其他虚拟界面)、通过虚拟用户界面提供输入等。

图2是示出了手200的示例地标点的图,地标点可用于跟踪手200的位置以及手200与虚拟或现实世界环境的交互,诸如现实世界环境中的物理对象、由扩展现实系统显示的虚拟内容等。图2中示出的地标点对应于手200的不同部分,包括手200的手掌上的地标点235、手200的拇指230上的地标点、手200的食指232上的地标点、手200的中指234上的地标点、手200的无名指236上的地标点以及手200的小指238上的地标点。手200的手掌可以在三个平移方向(例如,相对于平面(诸如图像平面)在X、Y和Z方向上测量)和三个旋转方向(例如,相对于平面在偏航、俯仰和滚转方向上测量)上移动,并且因此提供可用于注册和/或跟踪的六个自由度(6DOF)。手掌的6DOF运动在图2中例示为正方形,如图例240所指示的。

手200的手指的不同关节允许不同程度的运动,如图例240所示。如图2中的菱形形状(例如,菱形233)所例示的,每个手指的底部(对应于近节指骨与掌骨之间的掌指关节(MCP))具有两个自由度(2DOF),对应于弯曲和伸展以及外展和内收。如图2中的圆圈形状(例如,圆圈231)所例示的,每个手指的每个上关节(对应于远端、中部和近端指骨之间的指间关节)都具有一个自由度(2DOF)相应的弯曲和伸展。因此,手200提供26个自由度(26DOF),从中跟踪手200以及手200与扩展现实系统100渲染的虚拟内容的交互。

扩展现实系统100可以使用手200上的一个或多个地标点来跟踪手200(例如,跟踪手200的姿势和/或运动),并且跟踪手200与由扩展现实系统100渲染的虚拟内容(例如,一个或多个虚拟内容项)的交互和/或与现实世界环境中的物理对象的交互。如上所述,由于检测到手200上的一个或多个地标点,可以建立地标的姿势(并且因此手和手指)相对于扩展现实系统100的相对物理位置。例如,手200的手掌上的地标点(例如,地标点235)可以在图像中检测到,并且可以相对于扩展现实系统100的图像传感器102确定地标点的位置。由扩展现实系统100渲染的虚拟内容项的点(例如,中心点,诸如质心或其他中心点)可以相对于针对手200的手掌上的地标点确定的位置转换到扩展现实系统100(例如,图1的显示器109)的显示器(或显示器上的渲染)上的位置。

如下所述,扩展现实系统100还可以将虚拟内容和/或手200注册到现实世界环境中的点(如在一个或多个图像中检测到的)和/或用户的其他部分。例如,在一些实现中,除了确定手200相对于扩展现实系统100(或扩展现实系统100)和/或虚拟内容项的物理姿势之外,扩展现实系统100还可以确定现实世界环境中其他地标的位置,诸如墙壁上的区分点(称为特征点)、对象的一个或多个角、地板上的特征、人脸上的点、附近设备上的点等。在一些情况下,扩展现实系统100可以将虚拟内容放置在相对于环境中检测到的特征点的某个位置内,该特征点可以对应于例如检测到的对象和/或者环境中的人。

在一些示例中,可以使用例如来自图像传感器102的图像数据和/或来自一个或多个传感器(诸如加速计104、陀螺仪106和/或一个或多个其他传感器(例如,一个或多个磁强计、一个或多个惯性测量单元(IMU)等))的测量来确定扩展现实系统100(和/或用户头部)的姿势。头部姿势可用于确定虚拟内容、手200和/或环境中的对象和/或人的位置。

XR引擎120、界面布局和输入管理引擎122、图像处理引擎124和渲染引擎126(以及任何图像处理引擎)的操作可由任何计算组件110实现。在一个说明性示例中,渲染引擎126的操作可由GPU 114实现,XR引擎120、界面布局和输入管理引擎122以及图像处理引擎124的操作可由CPU 112、DSP 116和/或ISP 118实现。在一些情况下,计算组件110可以包括其他电子电路或硬件、计算机软件、固件或其任何组合,以执行本文所述的各种操作中的任何一种。

在一些示例中,XR引擎120可以基于来自图像传感器102、加速计104、陀螺仪106和/或扩展现实系统100上的一个或多个传感器(诸如一个或多个IMU、雷达等)的数据执行XR操作,以生成XR体验。在一些示例中,XR引擎120可以执行跟踪、定位、姿势估计、映射、内容锚定操作、和/或任何其他XR操作或功能性。XR体验可以包括使用扩展现实系统100来在虚拟会话期间向用户呈现XR内容(例如,虚拟现实内容、扩增现实内容、混合现实内容等)。在一些示例中,XR内容和体验可以由扩展现实系统100通过(例如,由XR引擎120执行或实现的)XR应用来提供,XR应用提供特定XR体验,诸如,例如,XR游戏体验、XR教室体验、XR购物体验、XR娱乐体验、XR活动(例如,操作、故障排除活动等)等。在XR体验期间,用户可以使用扩展现实系统100查看和/或与虚拟内容进行交互。在一些情况下,用户可以查看和/或与虚拟内容进行交互,同时还能够查看和/或与用户周围的物理环境进行交互,从而允许用户在物理环境和与物理环境混合或集成的虚拟内容之间拥有沉浸式体验。

界面布局和输入管理引擎122可以执行各种操作以确定(和管理)在XR体验期间如何、在何处和/或何时呈现虚拟内容。如本文所述,界面布局和输入管理引擎122可以基于正在用虚拟内容来扩增的一个或多个物理对象的属性和/或与一个或多个物理对象进行交互的用户的属性,在XR会话期间动态地配置用户界面。例如,界面布局和输入管理引擎122可以基于现实世界环境中的物理对象的一个或多个属性和/或基于与现实世界环境中的物理对象进行交互的用户的一个或多个属性(例如,用户的一个或多个身体部位,诸如相对于物理对象的用户的手)来确定用户界面布局、输入类型和/或输入功能。本文描述关于界面布局和输入管理引擎122的操作的进一步细节。

图像处理引擎124可以执行与在XR会话期间呈现的虚拟内容相关的和/或与其他图像内容相关的一个或多个图像处理操作。例如,图像处理引擎124可以基于来自图像传感器102的数据执行图像处理操作。在一些情况下,图像处理引擎124可以执行图像处理操作,诸如,例如,滤波、去马赛克化、缩放、颜色校正、颜色转换、分割、降噪滤波、空间滤波、伪影校正等。渲染引擎126可以获得由计算组件110、图像传感器102、XR引擎120、界面布局和输入管理引擎122和/或图像处理引擎124生成和/或处理的图像数据,并且可以渲染视频和/或图像帧以便在显示设备上呈现。

虽然扩展现实系统100被示出包括某些组件,但普通技术人员将理解,扩展现实系统100可以包括比图1中所示的组件更多或更少的组件。例如,在一些情况下,扩展现实系统100还可以包括一个或多个存储设备(例如,RAM、ROM、高速缓存等)、一个或多个联网接口(例如,有线和/或无线通信接口等)、一个或多个显示设备、和/或图1中未示出的其他硬件或处理设备。下面参照图9描述可以利用扩展现实系统100实现的计算系统和硬件组件的说明性示例。

图3是示出了扩展现实系统100由用户301佩戴的示例的图。虽然扩展现实系统100在图3中被示出为AR设备(例如,AR眼镜),但是扩展现实系统100可以包括任何合适类型的XR设备,诸如HMD或其他XR设备。出于说明性目的,将使用AR描述下面描述的示例。然而,下面描述的各方面可以应用于其他类型的XR,诸如VR和MR。图3中所示的扩展现实系统100可以包括光学透视AR设备,其允许用户301在佩戴扩展现实系统100的同时观看现实世界。例如,用户301可以在与用户301相距一定距离处的平面304上观看现实世界环境中的对象302。

如图3所示和上文所述,扩展现实系统100具有图像传感器102和显示器109。如上所述,显示器109可以包括眼镜(或多块眼镜)、一个或多个屏幕、一个或多个镜头和/或允许用户301看到现实世界环境并允许在其上显示AR内容的一个或多个其他显示机构。AR内容(例如,图像、视频、图形、虚拟或AR对象或其他AR内容)可以投影或以其他方式显示在显示器109上。在一个示例中,AR内容可以包括对象302的扩增版本。在另一示例中,AR内容可以包括与对象302相关和/或与现实世界环境中的一个或多个其他对象相关的附加的AR内容。虽然在图3中示出了一个图像传感器102和一个显示器109,但是在一些实现中,扩展现实系统100可以包括多个摄像头和/或多个显示器(例如,用于右眼的显示器和用于左眼的显示器)。

如上文关于图1所描述的,界面布局和输入管理引擎122可以通过检测或确定现实世界环境中被扩增的一个或多个物理对象的属性和/或与一个或多个物理对象进行交互的用户的属性来配置XR会话的用户界面。例如,界面布局和输入管理引擎122可以基于物理对象和/或用户的一个或多个属性来确定用户界面布局、输入类型和/或输入功能。物理对象的属性可以包括对象的大小、对象的形状、对象相对于界面布局和输入管理引擎122(例如,图像传感器102和/或引擎122的其他传感器)的方向、对象相对于界面布局和输入管理引擎122的位置、物理对象被用户的手握持的能力(例如,基于对象的大小和用户的一只手或双手的大小)、其任何组合,和/或将为其显示虚拟内容的物理对象的其他属性。用户的一个或多个属性可以包括用户的身体部位的大小(例如,一只或多只手、手臂、腿等)、身体部位相对于物理对象的方向、身体部位相对于物理对象的位置、身体部位相对于界面布局和输入管理引擎122的方向、身体部位相对于界面布局和输入管理引擎122的位置、用户是用右手、左手还是双手在握持对象、和/或其他属性。

如前所述,界面布局和输入管理引擎122可以使用物理对象和/或用户的属性来确定用户界面的界面布局。例如,界面布局和输入管理引擎122可以基于用户如何握持物理对象(例如,用户是用左手还是右手握持对象)确定虚拟内容(例如,AR内容)相对于物理对象的放置或者改变虚拟内容相对于物理对象的放置。例如,如果用户用右手握持物理对象,则可以相对于物理对象的左侧显示虚拟内容(从而避免用户的手阻挡、遮挡或以其他方式干扰虚拟内容的显示)。在另一示例中,界面布局和输入管理引擎122可以基于物理对象的形状、大小和/或其他属性确定相对于物理对象显示的虚拟内容的布局。例如,虚拟内容可以以相对于物理对象的大小、形状等的大小(例如,与物理对象具有相同的高度和/或宽度,与物理对象的一部分具有相同的高度和/或宽度,诸如图4中所示的物理标签412)来显示。在另一示例中,界面布局和输入管理引擎122可以基于物理对象的形状、大小和/或其他属性以及基于该对象如何被用户握持(指示给定用户握持对象的方式,用户可以多么容易地与虚拟内容进行交互)确定相对于物理对象显示的虚拟内容的布局。

在一些示例中,界面布局和输入管理引擎122可以使用物理对象和/或用户的属性来确定用于控制或操纵相对于物理对象显示的虚拟内容的输入类型和/或确定输入类型的一个或多个输入功能。在一个说明性示例中,界面布局和输入管理引擎122可以基于内容的布局、基于物理对象的物理属性和/或基于用户的属性来定义或改变基于滚动的输入类型的方向(例如,水平或垂直滚动)。在另一示例中,界面布局和输入管理引擎122可以基于虚拟内容相对于物理对象的位置、基于对象的大小和/或形状(连同其他属性)、以及基于属性如何允许或阻止某些输入方法,将输入类型定义为基于点击的输入类型(例如,允许用户使用点击物理对象来遍历内容)。

输入类型可以包括输入类别(例如,基于滚动的输入、基于点击的输入、基于手势的输入、基于音频的输入和/或其他类型或类别的输入)。在一个说明性示例中,界面布局和输入管理引擎122可以基于物理对象的属性和/或与物理对象进行交互(例如,握持)的用户的属性确定滚动输入将用于控制相对于物理对象显示的虚拟内容。

基于滚动的输入可以包括垂直滚动(例如,向上和/或向下滚动)、水平滚动(例如,向左和/或向右滚动)、水平滚动和/或向其他方向滚动。基于点击的输入可以包括点击虚拟对象或虚拟对象的一部分以执行选择。基于手势的输入可以包括手势,诸如放大和/或缩小的捏合手势、滚动手势、手部手势、和/或由界面布局和输入管理引擎122的摄像头或其他传感器检测的其他手势。基于音频的输入(或语音输入)可以包括由界面布局和输入管理引擎122检测和使用的、控制虚拟内容的音频命令(由用户提供)。界面布局和输入管理引擎122也可以使用其他类型的输入来控制虚拟内容。

可以为输入类型确定输入功能。使用基于滚动的输入类型作为说明性示例,界面布局和输入管理引擎122可以确定基于滚动的输入类型的输入功能将限于一个或多个滚动方向。例如,界面布局和输入管理引擎122可以基于物理对象的属性和/或与物理对象进行交互(例如,握持)的用户的属性,确定用于控制相对于物理对象显示的虚拟内容的滚动输入将在垂直方向上(例如,允许在上下方向上垂直滚动)。

图4是示出了扩增现实(AR)虚拟会话的视图的示例的图。如所示的,扩展现实系统100显示相对于现实世界环境中的物理对象402的虚拟内容414。物理对象402具有物理标签412,物理标签412具有与物理对象402相关的信息。虚拟内容414可以包括补充标签412上的信息的信息(例如,附加信息)。如图4中所示,佩戴扩展现实系统100的用户用左手410握持物理对象402。界面布局和输入管理引擎122可以确定用户用左手410握持物理对象402。在一些情况下,界面布局和输入管理引擎122可以确定物理对象402的属性,诸如对象402的大小、对象402的形状、对象402相对于用户的左手410的位置和/或方向、和/或其他属性。在一些情况下,界面布局和输入管理引擎122可以确定用户的其他属性,诸如用户的左手410的大小(例如,手相对于物理对象402的大小)、用户如何用左手410握持物理对象402、和/或其他属性。

在一些情况下,界面布局和输入管理引擎122可以使虚拟内容414基于物理对象402的物理属性被显示。例如,如图4中所示,界面布局和输入管理引擎122可以使扩展现实系统100显示具有与标签412相同高度且靠近标签412的虚拟内容414,这可以向佩戴扩展现实系统100的用户指示虚拟内容414信息补充了标签412上的信息。可替换地或者附加地,界面布局和输入管理引擎122可以响应于确定用户正在用用户的左手410握持物理对象402,确定虚拟内容414相对于物理对象402的右侧的位置。扩展现实系统100然后可以相对于物理对象402的右侧显示虚拟内容414。因此,虚拟内容414朝向手410相反方向向外延伸,从而允许虚拟内容414容易地由用户可查看,而不被对象402、用户和/或现实世界环境中的其他物理对象遮挡。

如上所述,在一些示例中,界面布局和输入管理引擎122可以基于物理对象402的大小或物理对象402的部分(例如,标签412)确定用于显示的虚拟内容414的大小。例如,界面布局和输入管理引擎122可以确定虚拟内容414的高度与标签412的高度相等或(例如,在一定长度内,诸如1厘米、2厘米等)基本相等。在另一示例中,界面布局和输入管理引擎122可以确定虚拟内容414的宽度,使得虚拟内容414不与现实环境中的门420重叠(从而避免虚拟内容414被门420遮挡或与门420重叠)。

图5是示出了AR虚拟会话的视图的另一示例的图。与来自图4的视图类似,扩展现实系统100显示相对于现实环境中的物理对象502的虚拟内容514。物理对象502上的物理标签512包括与物理对象402相关的信息。虚拟内容514可以包括补充标签512上的信息的信息(例如,附加信息)。如图5中所示,扩展现实系统100的用户用右手511握持物理对象402。界面布局和输入管理引擎122可以确定用户用右手511握持物理对象502,并且还可以确定用户和/或对象502的其他属性。例如,界面布局和输入管理引擎122可以确定物理对象502的大小、对象502的形状、对象502相对于用户的右手511的位置和/或方向、和/或其他属性。在一些情况下,界面布局和输入管理引擎122可以确定用户的右手511的大小(例如,手相对于对象502的大小)、用户如何用右手511握持物理对象502、和/或其他属性。

响应于确定用户正用用户的右手511握持物理对象502,界面布局和输入管理引擎122可以确定虚拟内容414相对于物理对象502左侧的位置。如图5中所描绘的,扩展现实系统100然后可以相对于物理对象502的左侧显示虚拟内容514。与图4中的示例类似,虚拟内容514以与右手511相反方向向外延伸,从而允许虚拟内容514容易地由用户可查看,而不会被现实世界环境中的物理对象遮挡。在一些示例中,界面布局和输入管理引擎122可以基于物理对象402的大小、物理对象402的一部分(例如,标签512)的大小、和/或现实世界环境中其他对象的定位、位置和/或大小确定用于显示的虚拟内容514的大小。

在一些示例中,界面布局和输入管理引擎122可以响应于确定用户已经改变了他们如何握持物理对象而改变虚拟内容的放置。例如,参照图4,扩展现实系统100的用户可以从用左手410握持物理对象402切换到用右手握持物理对象402(例如,如图5中所示)。响应于确定用户(在先前用左手410握持对象402之后)正在用右手握持物理对象402,界面布局和输入管理引擎122可以将虚拟内容414的放置从物理对象402右侧的位置更改为物理对象402左侧的位置(例如,类似于图5中所示的位置)。在一些情况下,虚拟内容414可以显示在相对于物理对象402的其他位置,诸如物理对象的上方和/或下方。

图6A、图6B和图6C是示出了AR虚拟会话的视图的另一示例的图。根据图6A、图6B和图6C的示例,界面布局和输入管理引擎122可以基于物理对象的属性和/或用户的属性来确定输入类型和/或输入类型的输入功能。

图6A示出了诸如基于虚拟内容的布局、基于用户的(一个或多个)属性和/或基于物理对象的(一个或多个)属性将滚动输入类型定义(或改变)为垂直滚动输入功能的示例。例如,如图6A中所示,用户正用用户的左手610握持物理对象602。虚拟内容613在扩展现实系统100的显示器上显示在物理对象602上打印物理标签的位置上(例如,阻挡物理标签)。在一些示例中,虚拟内容613包括与物理对象602相关的补充信息。例如,对象602可以包括一瓶辣椒酱,并且虚拟内容613(例如,虚拟标签)可以包括辣椒酱的历史。

界面布局和输入管理引擎122可以确定用户正在用左手610握持物理对象602。在一些情况下,界面布局和输入管理引擎122还可以确定左手610相对于物理对象602的位置和/或方向。例如,界面布局和输入管理引擎122可以确定用户正在用手610的四个手指握持对象602,手610的四个手指在对象602后面,并且拇指在对象602前面。响应于确定用户正用左手610握持物理对象602和/或手610的四个手指在对象602的后面并且拇指在对象602的前面,界面布局和输入管理引擎122可以设置或以其他方式确定用于控制和/或操纵虚拟内容613的输入类型为滚动输入。界面布局和输入管理引擎122还可以设置或确定滚动输入的输入功能为垂直滚动功能(例如,允许用户上下滚动,如图6A中的箭头所示)。用户可以使用拇指或其他手指或输入设备提供基于滚动的输入来控制虚拟内容613。基于用户握持对象602的方式,用户的拇指可以被容易地用于垂直地滚动(在上下方向上)通过虚拟内容613显示的信息。在一些示例中,界面布局和输入管理引擎122可以设置或确定虚拟内容613的输入功能为多个输入功能,诸如基于滚动的输入和基于触摸的输入(例如,从而用户可以使用基于点击的手势(诸如使用用户的拇指)来滚动虚拟内容并选择某些内容)、基于滚动的输入和基于手腕的输入(下面描述)和/或输入类型的其他组合。

在一些示例中,虚拟内容613可以显示在物理对象602旁边的位置(例如,在物理对象602的右侧,诸如在图4中显示虚拟内容414的位置)。在这样的示例中,界面布局和输入管理引擎122可以将带有垂直滚动功能的基于滚动的输入与物理对象602相关联。使用基于滚动的输入和垂直滚动功能,用户可以通过在物理对象602上执行滚动手势来滚动显示在物理对象602旁边的虚拟内容。

在一些示例中,除了基于滚动的输入和/或基于触摸的输入之外,或者作为基于滚动的输入和/或基于触摸的输入的替代,响应于确定用户正在用左手610握持物理对象602和/或手610的四个手指在对象602后面并且拇指在对象602前面,界面布局和输入管理引擎122可以设置或以其他方式确定用于控制和/或操纵虚拟内容613的输入类型为基于手腕的输入。界面布局和输入管理引擎122还可以设置或确定基于手腕的输入的输入功能为二维输入功能。例如,基于手腕的输入的二维输入功能可以包括响应于用户在第一方向(例如,在向前的方向上,使得物理对象602的顶部向前倾斜远离用户)上扭转左手610的手腕的前向滚转功能以及响应于用户在第二方向(例如,在向后的方向上,使得物理对象602的顶部向后倾斜朝向用户)扭转左手610的手腕的向后滚动功能。在一个说明性示例中,用户可以通过向前扭转手腕以向前滚动物理对象602上显示的一页或多页虚拟内容或向后滚动物理对象602上显示的一页或多页虚拟内容来提供基于手腕的输入。

图6B示出了基于物理对象602和/或用户的属性定义(或更改)输入类型和/或输入功能的示例。例如,界面布局和输入管理引擎122可以基于虚拟内容的布局、基于用户的(一个或多个)属性和/或基于物理对象的(一个或多个)属性来更改和/或添加输入类型,和/或更改和/或添加输入类型的输入功能(例如,将基于滚动的输入的滚动方向从垂直更改为水平)。参照图6B,用户正在用用户的左手610握持物理对象602,类似于图6A。在图6B中,用户的左手611也位于扩展现实系统100的视野(FOV)中(例如,在扩展现实系统100的一个或多个摄像头的FOV中)。左手611的食指位于显示在物理对象602上的虚拟内容615附近。如上所述,在一些情况下,虚拟内容615可以显示在物理对象602旁边(例如,在物理对象602的下方、右侧、上方、其他位置)。在图6B的说明性示例中,对象602包括一瓶辣椒酱,并且虚拟内容613(例如,虚拟标签)包括关于辣椒酱类型的信息。

界面布局和输入管理引擎122可以确定用户正用左手610握持物理对象602,并且用户的右手611在扩展现实系统100的视野内(例如,由扩展现实系统100的图像传感器102和/或其他传感器检测到)。在一些情况下,界面布局和输入管理引擎122可以确定食指处于相对于虚拟内容615的位置(例如,在虚拟内容615的阈值距离内,诸如在1英寸、2英寸和/或其他距离内)。响应于确定用户正用左手610握持物理对象602并且右手611在扩展现实系统100的视野内(并且在一些情况下食指相对于虚拟内容615定位),界面布局和输入管理引擎122可以设置或确定滚动输入类型的输入功能为水平滚动方向(允许用户从左向右和/或从右向左滚动)。用户可以使用右手611的食指、使用另一个手指或使用输入设备来提供基于滚动的输入以控制虚拟内容615。

在另一示例中,界面布局和输入管理引擎122可以基于虚拟内容的布局、基于用户的(一个或多个)属性和/或基于物理对象的(一个或多个)属性来定义或更改输入类型(例如,定义或更改输入类型为点击功能)。例如,界面布局和输入管理引擎122可以将输入类型设置为基于点击或触摸的输入,以允许用户经由点击或触摸物理对象来遍历内容。再次参照图6B,界面布局和输入管理引擎122可以确定用户正在用左手610握持物理对象602,用户的右手611在扩展现实系统100的视野内,并且在一些情况下,右手611的食指处于相对于虚拟内容615的位置(例如,在虚拟内容615的阈值距离内)。

响应于确定用户正用左手610握持物理对象602并且右手611在扩展现实系统100的视野内(并且在一些情况下食指相对于虚拟内容615定位),界面布局和输入管理引擎122可以设置或确定输入类型为基于点击的输入类型,允许用户点击物理对象602以与虚拟内容615进行交互。在一些情况下,界面布局和输入管理引擎122可以将输入类型设置为基于点击的输入类型和基于滚动的输入,允许用户使用滚动输入和/或点击输入与虚拟内容615进行交互。

图6C示出了基于物理对象616和/或用户的属性定义(或更改)输入类型的输入功能的示例。如图6C中所示,用户正用用户的左手610握持物理对象602。虚拟内容617在扩展现实系统100的显示器上显示在物理对象616上。在一些示例中,虚拟内容617可以显示在物理对象616旁边(例如,在物理对象616的右侧、下方、上方、其他位置)。在图6C的说明性示例中,对象616包括一盒面条,并且虚拟内容617(例如,虚拟标签)包括与该盒面条相关的信息。

图6C中的物理对象616(盒子)与图6A和图6B中所示的物理对象602(瓶子)相比具有不同的功能可见性。物理对象602的瓶子形状比物理对象616的盒子形状更宽。根据物理对象616的盒子形状以及基于用户如何握持物理对象616,用户可以容易地水平(向前和向后)滑动横跨物理对象616的表面,而垂直滚动更适合于物理对象602。

界面布局和输入管理引擎122可以确定用户正用左手610握持物理对象616。在一些情况下,界面布局和输入管理引擎122还可以确定左手610相对于物理对象616的位置和/或方向。例如,界面布局和输入管理引擎122可以确定用户正用手610的四个手指握持对象616,四个手指在对象616后面,并且拇指在对象616前面。响应于确定用户用左手610握持物理对象616和/或手610的四个手指在对象616后面和拇指在对象616前面,界面布局和输入管理引擎122可以设置或以其他方式确定用于控制和/或操纵虚拟内容613的输入类型为滚动输入。界面布局和输入管理引擎122还可以设置或确定滚动输入的输入功能为水平滚动功能(例如,允许用户向左和向右滚动,如图6C中的箭头所示)。如所示的,虚拟内容617包括提醒用户向左滑动输入可用于访问与其他面条选项相关的虚拟内容的文本。用户可以使用拇指或其他手指或输入设备提供基于滚动的输入来控制虚拟内容617。

图7是示出了将物理对象702上的标记720与虚拟内容相关联的示例的图。标记720包括社交网络标识符(例如,Twitter

在一些情况下,响应于检测或识别到标记720,界面布局和输入管理引擎122可以生成标记720的虚拟版本,并且可以在扩展现实系统100的显示器上,将标记720的虚拟版本相对于物理对象(例如,在物理标记720上)显示。用户可以提供输入(例如,触摸输入、手势输入等)以选择标记720的虚拟版本。响应于接收到输入,界面布局和输入管理引擎122可以生成与标记720相关的虚拟内容。例如,界面布局和输入管理引擎122可以启动网页浏览器或应用以显示与社交网络标识符@hotsauce4life相关的信息。

在一些示例中,标记720的虚拟版本的渲染可以是头部锁定的(例如,在这种情况下,虚拟内容随着用户移动扩展现实系统100而移动),或者可以连接到对象(例如,在这种情况下,虚拟内容随设备移动)。在一些示例中,用户可以向扩展现实系统100提供输入,该输入使得界面布局和输入管理引擎122将标记720的虚拟版本拖动到不同的位置,诸如物理对象702附近的桌子。

在一些示例中,界面布局和输入管理引擎122可以检测相对于物理标记720的用户输入(例如,用户点击物理标记720)。在这样的示例中,界面布局和输入管理引擎122可能不会生成和显示标记720的虚拟版本。响应于接收到输入,界面布局和输入管理引擎122可以生成与标记720相关的虚拟内容(例如,通过启动网页浏览器或应用来显示与社交网络标识符@hotsauce4life相关的信息)。

图8是示出了生成可由用户操纵的虚拟内容的示例的图。例如,在如上所述的一些情况下,扩展现实系统100可以基于用户输入将虚拟内容从一个物理对象解耦,并且可以将虚拟内容耦合到另一个物理对象。在一些情况下,通过提供某个输入(例如,通过将食指和拇指分开的捏合缩放手势),用户可以使扩展现实系统100扩大虚拟内容的大小,点击虚拟内容中的链接等。如图8中所示,用户可以通过扩展现实系统100的显示器查看现实世界环境中的物理对象802。标签812被示出在物理对象802上。标签812可以在包括与物理对象802相关的信息。在一些示例中,标签812是附着于物理对象802的物理标签。在一些示例中,标签812是由扩展现实系统100在物理对象802上显示的虚拟标签。

如图8中所示,佩戴扩展现实系统100的用户正用右手811握持物理对象802。用户还用左手810执行捏合手势输入(通过使食指和拇指相互靠近),以便选择和拖动标签812内容(例如,当标签812是物理标签时,是物理标签的虚拟版本,或者当标签812是虚拟标签时,是虚拟标签)到桌子825的表面上,以便更好地进行查看和内容操纵。

界面布局和输入管理引擎122可以确定或识别用户正在用左手810执行捏合手势输入。在一些示例中,(例如,使用扩展现实系统的图像传感器102和/或其他传感器的)手势识别可用于识别手势。在一些示例中,当标签812是物理标签时,界面布局和输入管理引擎122可以响应于确定或识别到捏合手势生成标签812的虚拟版本。当用户移动手势时(如从图8左侧到图8右侧的转变所示),界面布局和输入管理引擎122可以将标签812的虚拟版本从物理对象802移动到桌子825的表面。在一些示例中,当标签812是虚拟标签时,响应于确定或识别到捏合手势并且当用户移动手势时,界面布局和输入管理引擎122可以将虚拟标签812从物理对象802移动到桌子825的表面。界面布局和输入管理引擎122可以生成虚拟内容,使得内容可由用户编辑和/或选择。例如,用户可以提供输入以调整虚拟标签或物理标签的虚拟版本的大小(如通过虚拟标签每个角附近的四个箭头所指示的),选择虚拟标签的链接,和/或以其他方式进一步操作虚拟标签的虚拟内容。

图9是示出了用于使用本文描述的技术生成虚拟内容的过程900的示例的流程图。在框902处,过程900包括(通过设备)获得现实世界环境中的物理对象的图像。在一些情况下,当虚拟内容由设备的显示器显示时,现实世界环境是通过显示器可查看的。

在框904处,过程900包括确定图像中物理对象的至少一个属性。在一些示例中,过程900包括确定多个图像(例如,视频的多个帧或者图像或帧的其他序列)中的物理对象的至少一个属性。在一些示例中,物理对象的至少一个属性包括物理对象的大小、物理对象的形状、物理对象相对于设备的方向、物理对象相对于设备的位置、物理对象被用户的手握持的能力、其任何组合、和/或其他属性。

在框906处,过程900包括基于物理对象的至少一个属性确定虚拟内容的界面布局。在一些情况下,过程900可以包括确定一个或多个图像中的用户的身体部位,确定一个或多个图像中的用户的身体部位的至少一个属性,以及基于物理对象的至少一个属性和用户的身体部位的至少一个属性确定虚拟内容的界面布局。在一些示例中,身体部位的至少一个属性包括身体部位的大小、身体部位相对于物理对象的方向、身体部位相对于物理对象的位置、身体部位相对于物理对象的位置、身体部位相对于设备的方向、身体部位相对于设备的位置、其任何组合、和/或其他属性。在一些示例中,用户的身体部位是用户的手。在这样的示例中,身体部位的至少一个属性包括手的大小、手相对于物理对象的方向、手相对于物理对象的位置、手相对于设备的方向、手相对于设备的位置、手是用户的左手还是右手、其任何组合、和/或其他属性。

在框908处,过程900包括基于所确定的界面布局显示虚拟内容。如上所述,虚拟内容可以投影或以其他方式显示在设备的显示器上。

在一些示例中,过程900包括确定一个或多个图像中的用户的手,确定该手是用户的左手还是右手,以及基于该手是用户的左手还是右手确定虚拟内容在界面布局中的位置。在一个说明性示例中,过程900包括确定手是用户的左手。在这样的示例中,过程900包括基于手是用户的左手确定虚拟内容相对于物理对象的右侧的位置,以及在界面布局中相对于物理对象的右侧显示虚拟内容。在另一说明性示例中,过程900包括确定手是用户的右手。在这样的示例中,过程900包括基于手是用户的右手确定虚拟内容相对于物理对象的左侧的位置,以及在界面布局中相对于物理对象的左侧显示虚拟内容。

在一些示例中,过程900可以包括基于物理对象的至少一个属性确定输入类型,接收与输入类型相对应的输入,以及基于输入类型控制显示的虚拟内容。在一些情况下,输入类型包括滚动输入。在一些情况下,输入类型包括点击输入。输入类型可以包括其他类型的输入,诸如基于手腕的输入(例如,用户向前或向后转动手腕等)、基于滑动的输入(例如,用户提供向左、向右、向上、向下、对角滑动的手势等)和/或其他输入。在一些示例中,过程900可以包括基于物理对象的至少一个属性确定输入类型的输入功能,以及基于确定的输入类型的输入功能控制显示的虚拟内容。

图10是示出了用于使用本文描述的技术生成虚拟内容的过程1000的示例的流程图。在框1002处,过程1000包括(通过设备)获得现实世界环境中的物理对象的图像。在一些示例中,当虚拟内容由设备的显示器显示时,现实世界环境是通过显示器可查看的。

在框1004处,过程1000包括确定图像中物理对象的至少一个属性。在一些示例中,过程1000包括确定多个图像(例如,视频的多个帧或者图像或帧的其他序列)中的物理对象的至少一个属性。在一些情况下,物理对象的至少一个属性包括物理对象的大小、物理对象的形状、物理对象相对于设备的方向、物理对象相对于设备的位置、物理对象被用户的手握持的能力、其任何组合、和/或其他属性。

在框1006处,过程1000包括基于物理对象的至少一个属性确定输入类型。在一个说明性示例中,输入类型包括滚动输入。在另一说明性示例中,输入类型包括点击输入。输入类型可以包括其他类型的输入,诸如基于手腕的输入(例如,用户向前或向后转动手腕等)、基于滑动的输入(例如,用户提供向左、向右、向上、向下、对角滑动的手势等)和/或其他输入。

在框1008处,过程1000包括接收与输入类型相对应的输入。在框1010处,过程1000包括基于确定的输入类型控制显示的虚拟内容。在一些示例中,过程1000包括基于物理对象的至少一个属性确定输入类型的输入功能。在一个说明性示例中,输入类型包括滚动输入,并且输入功能包括滚动输入的方向。在这样的示例中,过程1000可以包括基于确定的输入类型的输入功能来控制显示的虚拟内容。

在一些示例中,过程1000包括确定一个或多个图像中的用户的身体部位,确定一个或多个图像中的用户的身体部位的至少一个属性,以及基于物理对象的至少一个属性和用户的身体部位的至少一个属性确定输入类型或输入类型的输入功能中的至少一个。在一些情况下,身体部位的至少一个属性包括以下中的至少一个:身体部位的尺寸、身体部位相对于物理对象的方向、身体部位相对于物理对象的位置、身体部位相对于物理对象的位置、身体部位相对于设备的方向、身体部位相对于设备的位置、其任何组合、和/或其他属性。

在一些示例中,用户的身体部位是用户的手,并且身体部位的至少一个属性包括以下中的至少一个:手的大小、手相对于物理对象的方向、手相对于物理对象的位置、手相对于设备的方向、手相对于设备的位置、手是用户的左手还是右手、其任何组合、和/或其他属性。

在一些示例中,过程1000包括基于物理对象的至少一个属性确定虚拟内容的界面布局,以及基于所确定的界面布局显示虚拟内容。

在一些示例中,本文描述的过程(例如,过程900、过程1000和/或本文描述的其他过程)可由计算设备或装置执行。在一个示例中,过程900和/或过程1000可由图1的扩展现实系统100执行。在另一示例中,过程900和/或过程1000可由图11中所示的计算系统1100执行。例如,具有图11所示的计算系统架构的设备可以包括图1的扩展现实系统100的各组件,并且可以实现图9和/或图10的操作。

设备或装置可以是扩展现实设备,可以是扩展现实设备的一部分,或者可以包括扩展现实设备(例如,VR头戴式设备、AR头戴式设备、AR眼镜、联网的手表或智能手表、或者其他可穿戴设备)。在一些情况下,设备或装置可以是任何其他合适的设备,可以是任何其他合适的设备的一部分,或者可以包括任何其他合适的设备,诸如移动设备(例如,移动电话)、桌面计算设备、平板计算设备、可穿戴设备(例如,智能手表等)、服务器计算机、车辆或车辆的计算设备或系统、机器人设备、电视和/或具有执行本文所述过程(包括过程900和/或过程1000)的资源能力的任何其他计算设备。在一些情况下,设备或装置可以包括各种组件,诸如一个或多个输入设备、一个或多个输出设备、一个或多个处理器、一个或多个微处理器、一个或多个微型计算机、一个或多个摄像头、一个或多个传感器和/或被配置为执行本文所述的过程的步骤的其他(多个)组件。在一些示例中,设备可以包括显示器、被配置为传送和/或接收数据的网络接口、其任何组合、和/或其他(多个)组件。网络接口可被配置为传送和/或接收基于因特网协议(IP)的数据或其他类型的数据。

计算设备的组件可以在电路中实现。例如,组件可以包括和/或可以使用电子电路或其他电子硬件来实现,电子电路或其他电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)、和/或其他合适的电子电路),和/或可以包括和/或使用计算机软件、固件或其任何组合来实现,以执行本文所述的各种操作。

过程900和过程1000被例示为逻辑流程图,其操作表示可在硬件、计算机指令或其组合中实现的操作序列。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当计算机可执行指令由一个或多个处理器执行时,执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。操作被描述的顺序并不旨在解释为限制,并且任何数量的描述操作可以以任何顺序和/或并行地组合以实现过程。

附加地,过程900、过程1000和/或本文描述的其他过程可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以被实现为代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用)在一个或多个处理器上、由硬件、或其组合共同地执行。如上所述,代码可以例如以包括多个可由一个或多个处理器执行的指令的计算机程序的形式存储在计算机可读或机器可读存储介质上。计算机可读或机器可读存储介质可以是非暂时的。

图11是示出了用于实现本技术的某些方面的系统的示例的图。具体地,图11示出了计算系统1100的示例,计算系统1100可以是构成例如内部计算系统、远程计算系统、摄像头、或其中系统的组件使用连接1105彼此进行通信的任何组件的任何计算设备。连接1105可以是使用总线的物理连接,或者是到处理器1110的直接连接,诸如在芯片组架构中。连接1105还可以是虚拟连接、网络连接或逻辑连接。

在一些实施例中,计算系统1100是分布式系统,其中本公开中描述的各功能可以分布在一个数据中心、多个数据中心、对等网络等内。在一些实施例中,所描述的系统组件中的一个或多个表示许多这样的组件,每个组件执行所描述组件所针对的功能中的一些或全部。在一些实施例中,组件可以是物理或虚拟设备。

示例系统1100包括至少一个处理单元(CPU或处理器)1110和连接1105,连接1105将包括系统存储器1115(诸如只读存储器(ROM)1120和随机存取存储器(RAM)1125)的各种系统组件与处理器1110耦合。计算系统1100可以包括高速存储器的高速缓存1112,高速存储器与处理器1110直接连接、靠近处理器1110或集成为处理器1110的一部分。

处理器1110可以包括任何通用处理器和硬件服务或软件服务,诸如存储在存储设备1130中的服务1132、1134和1136,其被配置为控制处理器1110以及软件指令被合并到实际处理器设计中的专用处理器。处理器1110基本上可以是完全自足的计算系统,包含多个核或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或非对称的。

为了实现用户交互,计算系统1100包括输入设备1145,其可以表示任何数量的输入机构,诸如用于语音的麦克风、用于手势或图形输入的触摸敏感屏、键盘、鼠标、运动输入、语音等。计算系统1100还可以包括输出设备1135,其可以是多个输出机构中的一个或多个。在一些实例中,多模式系统可以使用户能够提供多种类型的输入/输出以与计算系统1100进行通信。计算系统1100可以包括通信接口1140,其通常可以治理和管理用户输入和系统输出。通信接口可以使用有线和/或无线收发器执行或促进接收和/或发送有线或无线通信,有线和/或无线收发器包括使用了这些的收发器:音频插孔/插头、麦克风插孔/插头、通用串行总线(USB)端口/插头、

存储设备1130可以是非易失性和/或非暂时性和/或计算机可读存储设备,并且可以是硬盘或其他类型的计算机可读介质,其可以存储计算机可访问的数据,诸如盒式磁带、闪式存储卡、固态存储设备、数字多功能磁盘、盒式磁带、软盘、软磁盘、硬盘、磁带、磁条、任何其他磁性存储介质、闪式存储器、忆阻器存储器、任何其他固态存储器、压缩盘只读存储器(CD-ROM)光盘、可重写压缩盘(CD)光盘、数字视频光盘(DVD)光盘、蓝光光盘(BDD)光盘、全息光盘、另一光学介质、安全数字(SD)卡、微安全数字(microSD)卡、

存储设备1130可以包括软件服务、服务器、服务等,当定义这种软件的代码被处理器1110执行时,它使系统执行功能。在一些实施例中,执行特定功能的硬件服务可以包括存储在计算机可读介质中的软件组件,该计算机可读介质与执行该功能所需的硬件组件(诸如处理器1110、连接1105、输出设备1135等)相连接。术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光存储设备以及能够存储、包含或携带(一个或多个)指令和/或数据的各种其他介质。计算机可读介质可以包括非暂时性介质,其中可以存储数据并且不包括以无线方式或通过有线连接传播的载波和/或暂时性电子信号。非暂时性介质的示例可以包括但不限于磁盘或磁带、诸如压缩光盘(CD)或数字多功能盘(DVD)的光学存储介质、闪式存储器、存储器或存储器设备。计算机可读介质可以在其上存储代码和/或机器可执行指令,其可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类、或指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、参量、参数或存储器内容而耦合到另一代码段或硬件电路。信息、参量、参数、数据等可以经由包括存储器共享、消息传递、令牌传递、网络传输等的任何合适的方式来传递、转发或传输。

在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当提及时,非暂时性计算机可读存储介质明确排除诸如能量、载波信号、电磁波和信号本身之类的介质。

以上描述中提供了具体细节以提供对本文提供的实施例和示例的透彻理解。然而,本领域普通技术人员将理解,可以在没有这些具体细节的情况下实践实施例。为了解释的清楚性,在一些情况下,本技术可以被呈现为包括单个功能块,这些功能块包括设备、设备组件、以软件体现的方法中的步骤或例程、或硬件和软件的组合。可以使用图中所示和/或本文所述以外的附加组件。例如,电路、系统、网络、过程和其他组件可以以框图形式示出为组件,以避免在不必要的细节中模糊实施例。在其他实例中,可以在没有不必要细节的情况下示出众所周知的电路、过程、算法、结构和技术,以避免混淆实施例。

以上各个实施例可以描述为流程图、流图、数据流图、结构图或框图描述的过程或方法。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。此外,操作的顺序可以重新安排。过程在其操作完成时终止,但可以具有未包括在图中的附加步骤。过程可以对应于方法、函数、过程、子例程、子程序等。当过程对应于函数时,它的终止可以对应于函数返回到调用函数或主函数。

根据以上描述的示例的过程和方法可以使用存储的或以其他方式可从计算机可读介质获得的计算机可执行指令来实现。这样的指令可以包括例如使得或以其他方式配置通用计算机、专用计算机或处理设备执行特定功能或功能组的指令和数据。使用的计算机资源的部分可以是网络上可获得的。计算机可执行指令例如可以是二进制、中间格式指令,诸如汇编语言、固件、源代码。可以用于存储指令、使用的信息和/或在根据所描述示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪式存储器、具有非易失性存储器的USB设备、联网存储设备等。

实现根据这些公开的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采用各种形式因素中的任何一种。当在软件、固件、中间件或微代码中实现时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可以存储在计算机可读或机器可读介质中。处理器可以执行必要的任务。形式因素的典型示例包括膝上型计算机、智能电话、移动电话、平板设备或其他小形式因素个人计算机、个人数字助手、机架式设备、独立设备等。本文描述的功能性也可以体现在外围设备或插件卡中。以进一步示例的方式,这样的功能性还可以在不同芯片或在单个设备中执行的不同过程当中的电路板上实现。

指令、用于传送此类指令的介质、用于执行它们的计算资源以及用于支持此类计算资源的其他结构是用于提供本公开中描述的功能的示例装置。

在前述描述中,参照本申请的具体实施例描述了本申请的各方面,但是本领域技术人员将认识到本申请不限于此。因此,尽管本申请的说明性实施例已在本文中详细描述,但应当理解,发明构思可以以其他方式以各种方式体现和应用,并且所附权利要求旨在被解释为包括这样的变型,除非受到现有技术的限制。以上描述的申请的各个特征和方面可以单独或联合使用。此外,在不脱离本说明书更广泛的精神和范围的情况下,实施例可以在本文描述的环境和应用之外的任何数量的环境和应用中利用。因此,说明书和附图被认为是说明性的而非限制性的。为了说明的目的,以特定的顺序描述了方法。应当理解,在替代实施例中,可以以与所描述的顺序不同的顺序执行方法。

普通技术人员将理解,本文中使用的小于(“<”)和大于(“>”)符号或术语可以分别替换为小于或等于(“≤”)和大于或等于(“≥”)符号,而不脱离本说明的范围。

当组件被描述为“被配置为”执行某些操作时,这样的配置可以例如通过设计电子电路或其他硬件来执行操作、通过编程可编程电子电路(例如,微处理器或其他合适的电子电路)来执行操作、或其任何组合来完成。

短语“与…耦合”是指物理上直接或间接地连接到另一组件的任何组件,和/或直接或间接地与另一组件进行通信的任何组件(例如,通过有线或无线连接连接到另一组件,和/或其他合适的通信接口)。

陈述集合中的“至少一个”和/或集合中的“一个或多个”的权利要求语言或其他语言指示集合中的一个成员或集合中的多个成员(以任何组合)满足该权利要求。例如,陈述“A和B中的至少一个”或“A或B中的至少一个”的权利要求语言是指A、B或A和B。在另一示例中,陈述“A、B和C中的至少一个”或“A、B或C中的至少一个”的权利要求语言是指A、B、C、或A和B、或A和C、或B和C、或A和B和C。集合中的“至少一个”和/或集合中的“一个或多个”的语言并不将集合限制为集合中列出的项目。例如,陈述“A和B中的至少一个”或“A或B中的至少一个”的权利要求语言可以指的是A、B、或A和B,并且可以附加地包括未在A和B集合中列出的项目。

结合本文公开的示例描述的各种说明性逻辑块、模块、电路和算法步骤可以实现为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种可互换性,上文就其功能性一般地描述了各种说明性组件、块、模块、电路和步骤。这样的功能是实现为硬件还是软件取决于施加在整个系统上的特定应用和设计约束。本领域技术人员可以针对每个特定应用以不同的方式实现所描述的功能,但是这种实现决策不应被解释为脱离本申请的范围。

本文描述的技术也可以在电子硬件、计算机软件、固件或其任何组合中实现。这样的技术可以在各种设备中的任何一种中实现,诸如通用计算机、无线通信设备手持设备或具有多种用途(包括应用在无线通信设备手持设备和其他设备中)的集成电路设备。被描述为模块或组件的任何特征可以在集成逻辑设备中一起实现,或者作为分立但可互操作的逻辑设备单独实现。如果以软件实现,则这些技术可以至少部分地通过包括程序代码的计算机可读数据存储介质实现,该程序代码包括指令,当指令被执行时,执行上面描述的方法、算法和/或操作中的一个或多个。计算机可读数据存储介质可以形成计算机程序产品的一部分,其可以包括打包材料。计算机可读介质可以包括存储器或数据存储介质,诸如随机存取存储器(RAM),诸如同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪式存储器、磁性或光学数据存储介质等。附加地或者可替换地,这些技术可以至少部分地通过计算机可读通信介质来实现,该计算机可读通信介质以指令或数据结构的形式携带或传输程序代码,并且可以由计算机访问、读取和/或执行,诸如传播的信号或波。

程序代码可由处理器执行,处理器可以包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效集成或分立逻辑电路。这样的处理器可以被配置为执行本公开中描述的任何技术。通用处理器可以是微处理器;但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合、或任何其他这样的配置。因此,如本文使用的术语“处理器”可以指前述结构中的任何一种、前述结构的任何组合、或适合于实现本文所述技术的任何其他结构或装置。

本公开的说明性示例包括:

示例1:一种用于在一个或多个帧之间进行光流估计的装置。该装置包括存储器(例如,在电路中实现)和与存储器耦合的处理器(或多个处理器)。处理器(或多个处理器)被配置为:获得现实世界环境中的物理对象的图像;确定图像中物理对象的至少一个属性;基于物理对象的至少一个属性确定虚拟内容的界面布局;以及基于所确定的界面布局显示虚拟内容。

示例2:示例1的装置,其中,当虚拟内容由装置的显示器显示时,现实世界环境是通过显示器可查看的。

示例3:示例1或示例2中任一项的装置,其中物理对象的至少一个属性包括以下中的至少一个:物理对象的大小、物理对象的形状、物理对象相对于装置的方向、物理对象相对于装置的位置、以及物理对象被用户的手握持的能力。

示例4:示例1至3中任一项的装置,其中一个或多个处理器被配置为:确定一个或多个图像中的用户的身体部位;确定一个或多个图像中的用户的身体部位的至少一个属性;以及基于物理对象的至少一个属性和用户的身体部位的至少一个属性来确定虚拟内容的界面布局。

示例5:示例4的装置,其中身体部位的至少一个属性包括以下中的至少一个:身体部位的大小、身体部位相对于物理对象的方向、身体部位相对于物理对象的位置、身体部位相对于物理对象的位置、身体部位相对于装置的方向、以及身体部位相对于装置的位置。

示例6:示例4的装置,其中用户的身体部位是用户的手,并且其中身体部位的至少一个属性包括以下中的至少一个:手的大小、手相对于物理对象的方向、手相对于物理对象的位置、手相对于装置的方向、手相对于装置的位置、以及手是用户的左手还是右手。

示例7:示例1至6中任一项的装置,其中一个或多个处理器被配置为:确定一个或多个图像中的用户的手;确定该手是用户的左手还是右手;以及基于手是用户的左手还是右手来确定虚拟内容在界面布局中的位置。

示例8:示例7的装置,其中一个或多个处理器被配置为:确定手是用户的左手;基于手是用户的左手,确定虚拟内容相对于物理对象的右侧的位置;以及在界面布局中相对于物理对象的右侧显示虚拟内容。

示例9:示例7的装置,其中一个或多个处理器被配置为:确定手是用户的右手;基于手是用户的右手,确定虚拟内容相对于物理对象的左侧的位置;以及在界面布局中相对于物理对象的左侧显示虚拟内容。

示例10:示例1至9中任一项的装置,其中一个或多个处理器被配置为:确定多个图像中物理对象的至少一个属性。

示例11:示例1至10中任一项的装置,其中一个或多个处理器被配置为:基于物理对象的至少一个属性确定输入类型;接收与输入类型相对应的输入;以及基于输入类型控制所显示的虚拟内容。

示例12:示例11的装置,其中输入类型包括滚动输入。

示例13:示例11的设备,其中输入类型包括点击输入。

示例14:示例11的装置,其中一个或多个处理器被配置为:基于物理对象的至少一个属性确定输入类型的输入功能;以及基于所确定的输入类型的输入功能控制所显示的虚拟内容。

示例15:示例14的装置,其中输入类型包括滚动输入,并且其中输入功能包括滚动输入的方向。

示例16:示例1至15中任一项的装置,其中装置包括扩展现实设备。

示例17:示例1至16中任一项的装置,还包括被配置为显示虚拟内容的显示器。

示例18:示例1至17中任一项的装置,还包括被配置为捕获一个或多个图像的摄像头。

示例19:一种生成虚拟内容的方法。该方法包括:由设备获得现实世界环境中的物理对象的图像;由设备确定图像中物理对象的至少一个属性;由设备基于物理对象的至少一个属性确定虚拟内容的界面布局;以及基于所确定的界面布局显示虚拟内容。

示例20:示例19的方法,其中当虚拟内容由设备的显示器显示时,现实世界环境是通过显示器可查看的。

示例21:示例19或20中任一项的方法,其中物理对象的至少一个属性包括以下中的至少一个:物理对象的大小、物理对象的形状、物理对象相对于设备的方向、物理对象相对于设备的位置、以及物理对象被用户的手握持的能力。

示例22:示例19至21中任一项的方法,还包括:确定一个或多个图像中的用户的身体部位;确定一个或多个图像中的用户的身体部位的至少一个属性;以及基于物理对象的至少一个属性和用户的身体部位的至少一个属性确定虚拟内容的界面布局。

示例23:示例22的方法,其中身体部位的至少一个属性包括以下中的至少一个:身体部位的大小、身体部位相对于物理对象的方向、身体部位相对于物理对象的位置、身体部位相对于物理对象的位置、身体部位相对于设备的方向、以及身体部位相对于设备的位置。

示例24:示例22的方法,其中用户的身体部位是用户的手,并且其中身体部位的至少一个属性包括以下中的至少一个:手的大小、手相对于物理对象的方向、手相对于物理对象的位置、手相对于设备的方向、手相对于设备的位置、以及手是用户的左手还是右手。

示例25:示例19至24中任一项的方法,还包括:确定一个或多个图像中的用户的手;确定该手是用户的左手还是右手;以及基于手是用户的左手还是右手确定虚拟内容在界面布局中的位置。

示例26:示例25的方法,还包括:确定手是用户的左手;基于手是用户的左手,确定虚拟内容相对于物理对象的右侧的位置;以及在界面布局中相对于物理对象的右侧显示虚拟内容。

示例27:示例25的方法,还包括:确定手是用户的右手;基于手是用户的右手,确定虚拟内容相对于物理对象的左侧的位置;以及在界面布局中相对于物理对象的左侧显示虚拟内容。

示例28:示例19至27中任一项的方法,还包括:确定多个图像中物理对象的至少一个属性。

示例29:示例19至28中任一项的方法,还包括:基于物理对象的至少一个属性确定输入类型;接收与输入类型相对应的输入;以及基于输入类型控制所显示的虚拟内容。

示例30:示例19至29中任一项的方法,其中输入类型包括滚动输入。

示例31:示例19至30中任一项的方法,其中输入类型包括点击输入。

示例32:示例19至31中任一项的方法,还包括:基于物理对象的至少一个属性确定输入类型的输入功能;以及基于所确定的输入类型的输入功能控制所显示的虚拟内容。

示例33:示例的方法,其中输入类型包括滚动输入,并且其中输入功能包括滚动输入的方向。

示例34:存储指令的计算机可读存储介质,当指令被执行时,使一个或多个处理器执行示例19至示例33中的任何操作。

示例35:一种装置,包括用于执行示例19至示例33中的任何操作的部件。

示例36:一种用于生成虚拟内容的装置,包括存储器和与存储器耦合的处理器(或多个处理器),并且处理器(或多个处理器)被配置为:获得现实世界环境中的物理对象的图像;确定图像中物理对象的至少一个属性;基于物理对象的至少一个属性确定输入类型;接收与输入类型相对应的输入;以及基于所确定的输入类型控制所显示的虚拟内容。

示例37:示例36的装置,其中,当虚拟内容由装置的显示器显示时,现实世界环境是通过显示器可查看的。

示例38:示例36或37中任一项的装置,其中物理对象的至少一个属性包括以下中的至少一个:物理对象的大小、物理对象的形状、物理对象相对于装置的方向、物理对象相对于装置的位置、以及物理对象被用户的手握持的能力。

示例39:示例36至38中任一项的装置,其中输入类型包括滚动输入。

示例40:示例36至38中任一项的装置,其中输入类型包括点击输入。

示例41:示例36至40中任一项的装置,其中一个或多个处理器被配置为:基于物理对象的至少一个属性确定输入类型的输入功能;以及基于所确定的输入类型的输入功能控制所显示的虚拟内容。

示例42:示例41的装置,其中输入类型包括滚动输入,并且其中输入功能包括滚动输入的方向。

示例43:示例36至42中任一项的装置,其中一个或多个处理器被配置为:确定一个或多个图像中的用户的身体部位;确定一个或多个图像中的用户的身体部位的至少一个属性;以及基于物理对象的至少一个属性和用户的身体部位的至少一个属性确定输入类型或输入类型的输入功能中的至少一个。

示例44:示例43的装置,其中身体部位的至少一个属性包括以下中的至少一个:身体部位的大小、身体部位相对于物理对象的方向、身体部位相对于物理对象的位置、身体部位相对于物理对象的位置、身体部位相对于装置的方向、以及身体部位相对于装置的位置。

示例45:示例43的装置,其中用户的身体部位是用户的手,并且其中身体部位的至少一个属性包括以下中的至少一个:手的大小、手相对于物理对象的方向、手相对于物理对象的位置、手相对于装置的方向、手相对于装置的位置、以及手是用户的左手还是右手。

示例46:示例36至45中任一项的装置,其中一个或多个处理器被配置为:基于物理对象的至少一个属性确定虚拟内容的界面布局;以及基于所确定的界面布局使得虚拟内容被显示。

示例47:示例36至46中任一项的装置,其中一个或多个处理器被配置为:确定多个图像中物理对象的至少一个属性。

示例48:示例36至47中任一项的装置,其中装置包括扩展现实设备。

示例49:示例36至48中任一项的装置,还包括被配置为显示虚拟内容的显示器。

示例50:示例36至49中任一项的装置,还包括配置为捕获一个或多个图像的摄像头。

示例51:一种生成虚拟内容的方法。该方法包括:由设备获得现实世界环境中的物理对象的图像;由设备确定图像中物理对象的至少一个属性;由设备基于物理对象的至少一个属性确定输入类型;由设备接收与输入类型相对应的输入;以及由设备基于所确定的输入类型控制所显示的虚拟内容。

示例52:示例51的方法,其中当虚拟内容由设备的显示器显示时,现实世界环境是通过显示器可查看的。

示例53:示例51或52中任一项的方法,其中物理对象的至少一个属性包括以下中的至少一个:物理对象的大小、物理对象的形状、物理对象相对于设备的方向、物理对象相对于设备的位置、以及物理对象被用户的手握持的能力。

示例54:示例51至53中任一项的方法,其中输入类型包括滚动输入。

示例55:示例51至53中任一项的方法,其中输入类型包括点击输入。

示例56:示例51至55中任一项的方法。根据权利要求51所述的方法,还包括:基于物理对象的至少一个属性确定输入类型的输入功能;以及基于所确定的输入类型的输入功能控制所显示的虚拟内容。

示例57:示例56的方法,其中输入类型包括滚动输入,并且其中输入功能包括滚动输入的方向。

示例58:示例51至57中任一项的方法,还包括:确定一个或多个图像中的用户的身体部位;确定一个或多个图像中的用户的身体部位的至少一个属性;以及基于物理对象的至少一个属性和用户的身体部位的至少一个属性确定输入类型或输入类型的输入功能中的至少一个。

示例59:示例58的方法,其中身体部位的至少一个属性包括以下中的至少一个:身体部位的大小、身体部位相对于物理对象的方向、身体部位相对于物理对象的位置、身体部位相对于物理对象的位置、身体部位相对于设备的方向、以及身体部位相对于设备的位置。

示例60:示例58的方法,其中用户的身体部位是用户的手,并且其中身体部位的至少一个属性包括以下中的至少一个:手的大小、手相对于物理对象的方向、手相对于物理对象的位置、手相对于设备的方向、手相对于设备的位置、以及手是用户的左手还是右手。

示例61:示例51至60中任一项的方法,还包括:基于物理对象的至少一个属性确定虚拟内容的界面布局;以及基于所确定的界面布局显示虚拟内容。

示例62:示例51至61中任一项的方法,还包括:确定多个图像中物理对象的至少一个属性。

示例63:示例51至62中任一项的方法,其中设备包括扩展现实设备。

示例64:示例51至63中任一项的方法,还包括被配置为显示虚拟内容的显示器。

示例65:示例51至64中任一项的方法,还包括被配置为捕获一个或多个图像的摄像头。

示例66:一种存储指令的计算机可读存储介质,当指令被执行时,使一个或多个处理器执行示例51至示例66中的任何操作。

示例67:一种装置,包括用于执行示例51至示例66中的任何操作的部件。

技术分类

06120116333517