CN118103799A - 与远程设备的用户交互 - Google Patents

与远程设备的用户交互 Download PDF

Info

Publication number
CN118103799A
CN118103799A CN202280067207.3A CN202280067207A CN118103799A CN 118103799 A CN118103799 A CN 118103799A CN 202280067207 A CN202280067207 A CN 202280067207A CN 118103799 A CN118103799 A CN 118103799A
Authority
CN
China
Prior art keywords
user
input
data
information
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280067207.3A
Other languages
English (en)
Inventor
J·基斯
L·希亚恩布拉特
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN118103799A publication Critical patent/CN118103799A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C23/00Non-electrical signal transmission systems, e.g. optical systems
    • G08C23/04Non-electrical signal transmission systems, e.g. optical systems using light waves, e.g. infrared
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/02Recognising information on displays, dials, clocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Ophthalmology & Optometry (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)
  • Selective Calling Equipment (AREA)

Abstract

提供了用于呈现与至少一个输入选项相关联的信息的***、方法和非暂时性介质。示例方法可以包括:接收标识与在场景中的第一设备相关联的一个或多个输入选项的数据;包括使用至少一个存储器,确定与场景、第一设备和与第二设备相关联的用户中的至少一个相关的信息;以及,基于一个或多个输入选项和信息,输出与已经确定了相关上下文信息的输入选项相对应的用户引导数据。

Description

与远程设备的用户交互
技术领域
本公开内容总体上涉及与远程设备的交互。例如,本公开内容的各方面包括过滤和/或建议用于与远程设备的用户交互的虚拟内容。
背景技术
扩展现实技术可以用于向用户呈现虚拟内容,和/或可以将来自物理世界的真实环境与虚拟环境相结合,以向用户提供扩展现实体验。术语扩展现实可以包含虚拟现实、增强现实、混合现实等。扩展现实的这些形式中的每一种都允许用户体验身临其境的虚拟环境或内容或与之交互。例如,扩展现实体验可以允许用户与利用虚拟内容强化或增强的真实或物理环境交互。
可以实现扩展现实技术以在广泛的上下文(例如,娱乐、医疗保健、零售、教育、社交媒体等)中强化用户体验。
发明内容
公开了用于确定用于远程设备交互(例如,在扩展现实(XR)设备与一个或多个远程设备(比如,物联网设备)之间的交互)的用户交互数据的***、装置、方法和计算机可读介质。根据至少一个示例,提供了一种用于呈现与至少一个输入选项相关联的信息的方法。该方法包括:接收标识与场景中的设备相关联的一个或多个输入选项的数据;包括使用至少一个存储器,确定与场景、设备以及与电子设备相关联的用户中的至少一项相关的信息;以及,基于一个或多个输入选项和信息,输出与已经确定了相关上下文信息的输入选项相对应的用户引导数据。
在另一示例中,提供了一种用于呈现与至少一个输入选项相关联的信息的装置,该装置包括至少一个存储器和耦合到至少一个存储器的至少一个处理器(例如,在电路中实现)。至少一个处理器被配置为并且可以:接收标识与场景中的设备相关联的一个或多个输入选项的数据;包括使用至少一个存储器,确定与场景、设备和与电子设备相关联的用户中的至少一项相关的信息;以及,基于一个或多个输入选项和信息,输出与已经确定了相关上下文信息的输入选项相对应的用户引导数据。
在另一示例中,提供了一种其上存储有指令的非暂时性计算机可读介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器:接收标识与场景中的设备相关联的一个或多个输入选项的数据;包括使用至少一个存储器,确定与所述场景、所述设备以及与电子设备相关联的用户中的至少一项相关的信息;以及,基于所述一个或多个输入选项和所述信息,输出与已经确定了相关上下文信息的输入选项相对应的用户引导数据。
在另一示例中,提供了一种用于呈现与至少一个输入选项相关联的信息的装置。该方法包括用于以下操作的单元:接收标识与场景中的设备相关联的一个或多个输入选项的数据;包括使用至少一个存储器,确定与场景、设备以及与电子设备相关联的用户中的至少一项相关的信息;以及,基于一个或多个输入选项和信息,输出与已经确定了相关上下文信息的输入选项相对应的用户引导数据。
在一些方面中,上述方法、非暂时性计算机可读介质和装置可以包括:基于信息来预测与设备的用户交互;以及,基于一个或多个输入选项和经预测的用户交互来呈现与输入选项相对应的用户引导数据。
在一些示例中,用户引导数据可以包括以下各项中的至少一项:与输入选项相关联的用户输入元素、与输入选项相关联的物理对象上的虚拟覆盖物、和/或指示如何提供与输入选项相关联的输入的提示。
在一些示例中,设备可以包括具有网络通信能力的连接设备,并且上述方法、非暂时性计算机可读介质和装置可以包括:基于信息以及一个或多个输入选项来确定表示经预测的用户交互的手势;以及,呈现所述用户引导数据。在一些示例中,经预测的用户交互可以包括对设备的经预测的用户输入。在一些情况下,用户引导数据可以包括对手势的指示,该手势在被检测到时调用在设备处的实际用户输入。
在一些方面中,呈现用户引导数据可以包括:在与电子设备相关联的显示器处渲染被配置为看起来位于设备的表面上的虚拟覆盖物。在一些示例中,虚拟覆盖物可以包括与输入选项相关联的用户界面元素。在一些情况下,用户界面元素可以包括以下各项中的至少一项:与输入选项相关联的虚拟用户输入对象和被配置为接收与输入选项相对应的输入的设备上的物理控制对象的视觉指示。
在一些示例中,信息包括用户的眼睛注视和用户的姿态中的至少一项,并且上述方法、非暂时性计算机可读介质和装置可以包括:基于用户的眼睛注视和用户的姿势中的至少一项来预测与设备的用户交互;在呈现用户引导数据之后,检测与输入选项相关联的实际用户输入,所述实际用户输入表示经预测的用户交互;以及,向设备发送对应于与输入选项相关联的实际用户输入的命令。
在一些示例中,输出与输入选项相对应的用户引导数据可以包括:显示用户引导数据。在一些示例中,输出与输入选项相对应的用户引导数据可以包括:输出表示所述用户引导数据的音频数据。
在一些示例中,输出与输入选项相对应的用户引导数据可以包括显示用户引导数据;以及,输出与所显示的用户引导数据相关联的音频数据。
在一些方面中,上述方法、非暂时性计算机可读介质和装置可以包括:从设备接收标识与设备相关联的一个或多个输入选项的数据。在一些方面中,上述方法、非暂时性计算机可读介质和装置可以包括:从服务器接收标识与设备相关联的一个或多个输入选项的数据。
在一些情况下,设备不具有用于接收一个或多个用户输入的外部用户界面。
在一些方面中,上述方法、非暂时性计算机可读介质和装置可以包括:基于信息,避免呈现与设备相关联的附加用户引导数据。
在一些方面中,上述方法、非暂时性计算机可读介质和装置可以包括:在呈现用户引导数据之后,获得与输入选项相关联的用户输入;以及,向设备发送与用户输入相对应的指令。在一些情况下,指令可以被配置为控制设备的一个或多个操作。
在一些方面中,所述装置包括相机、移动设备(例如,移动电话或所谓的“智能电话”或其它移动设备)、可穿戴设备、扩展现实设备(例如,虚拟现实(VR)设备、增强现实(AR)设备、或混合现实(MR)设备)、个人计算机、膝上型计算机、服务器计算机、或其它设备。在一些方面中,所述装置包括用于捕获一个或多个图像的一个或多个相机。在一些方面中,所述装置还包括用于显示一个或多个图像、通知和/或其它可显示数据的显示器。在一些方面中,上文描述的装置可以包括一个或多个传感器。
该发明内容既不旨在标识所要求保护的主题的关键或必要特征,也不旨在单独用于确定所要求保护的主题的范围。应当通过参考本专利的整个说明书的适当部分、任何或全部附图以及每个权利要求来理解该主题。
在参照以下说明书、权利要求以及附图之后,前述内容以及其它特征和实施例将变得更加显而易见。
附图说明
参考下列附图在下文中对本申请的说明性实施例进行了详细的描述,其中:
图1是示出根据本公开内容的一些示例的示例扩展现实(XR)***的框图;
图2是示出根据本公开内容的一些示例的手的示例地标点(landmark point)的图,该地标点可以用于跟踪手的位置以及手与环境的交互;
图3是示出根据本公开内容的一些示例的由用户佩戴的XR***的示例的图;
图4A、图4B和图4C是示出根据本公开内容的一些示例的用户使用XR***与电梯的控制面板进行交互的示例的图;
图5A和图5B是示出根据本公开内容的一些示例的用户使用XR***与可以控制电视的遥控器进行交互的示例的图;
图6A和图6B是示出根据本公开内容的一些示例的用户使用XR***与恒温器进行交互的示例的图;
图7A和图7B是示出根据本公开内容的一些示例的使用XR***的用户的示例的图,该XR***可以确定是否提供用于与图片帧进行交互的用户界面输入选项;
图8A至图8D是示出根据本公开内容的一些示例的当在场景中存在多个设备时用户使用扩展现实***与一个或多个设备进行交互的示例的图;
图9是示出根据本公开内容的一些示例的用于呈现与至少一个输入选项相关联的信息的过程的示例的流程图;以及
图10示出了根据本公开内容的一些示例的示例计算***。
具体实施方式
下面提供了本公开内容的某些方面和实施例。这些方面和实施例中的一些方面和实施例可以独立地应用,并且其中的一些方面和实施例可以组合地应用,如对于本领域技术人员来说将显而易见的。在下面的描述中,为了便于解释起见,阐述了特定的细节以便提供对本申请的实施例的透彻理解。但是,显而易见的是,可以在不具有这些特定细节的情况下实践各个实施例。附图和描述不旨在是限制性的。
随后的描述仅提供示例实施例,而不旨在限制本公开内容的范围、适用性或配置。相反,随后对示例性实施例的描述将为本领域技术人员提供用于实现示例性实施例的可行描述。应当理解的是,在不脱离如在所附的权利要求中阐述的本申请的精神和范围的情况下,可以对元素的功能和布置进行各种改变。
用户通常与可以提供用户感兴趣的某些功能的不同设备进行交互。例如,用户可以与智能设备(例如,物联网(IoT)或其它联网设备)、移动设备、控制设备(例如,用于电视、电器、扬声器等的遥控器)、***控制面板、电器等进行交互。在各种示意性示例中,用户可以与网络连接电视进行交互以管理观看内容或改变网络连接电视的功率设置、控制由网络连接灯泡所发射的光或网络连接电灯的操作的网络连接电灯泡、配置网络路由器的操作和设置的网络路由器、控制网络相连的恒温器的温度或配置设置的网络连接恒温器等。
在一些情况下,设备可以包括硬件用户界面或者可以呈现图形用户界面(例如,通过使用显示器或其它技术来显示用户界面),用户可以使用该图形用户界面来与设备进行交互。然而,在一些情况下,用户可能难以通过设备的用户界面与设备进行交互。在一个示例中,用户界面可能无法到达用户,这可能阻止用户(或使得用户难以)与和设备相关联的用户界面进行交互。作为另一示例,由用户界面所显示的内容可以是用户不理解的语言,可能对于用户而言太小而不认识,或者在其它方面中对于用户而言麻烦而不能使用用户界面。在一些示例中,与设备相关联的输入选项(例如,支持的输入、支持的输入方法等)可能不容易被用户显而易见或容易理解(例如,与用户界面输入相反的手势或语音命令等等),这可能使得用户难以与设备进行交互。在其它示例中,用户界面可能不具有辅助用户进行视觉、语音和/或听力障碍的可访问性设置(或足够的可访问性设置)。在一些情况下,设备可能不具有用户可见或在其它方面中可访问的向外/外部控件,和/或可能不包括显示器以呈现用户可用于与设备进行交互的用户界面。此外,在许多情况下,场景可以包括多个远程设备,例如,连接的灯泡、电视、连接的插头、连接的扬声器等。在当场景中存在多个设备的这些情况中,用户设备可能难以与场景中的多个设备中的特定远程设备进行交互和/或管理与该特定远程设备的交互。
例如,房间(例如,厨房、卧室、办公室、起居室等)可以具有有连接性和/或交互能力的多个设备。为了发起和/或管理与多个设备之一的通信和/或交互,用户设备可能难以从多个设备中识别特定设备,管理和/或简化与该特定设备的用户交互和/或相关联的数据、管理用于该特定设备的相关内容等。在一些情况下,用户设备可以从场景中的多个设备获得交互数据(例如,输入选项/能力、输入、输出、图形用户界面、用户交互辅助数据等)。如果用户设备不具有对场景和/或当前上下文的足够了解和/或理解,和/或不从用户接收清楚的指令,则用户设备可能数据(例如,交互数据、设备数据等)过载。在一些示例中,用户设备可能难以管理与场景中的多个设备中的一个或多个设备的内容和/或交互。然而,本文描述的***和技术可以允许用户设备基于上下文信息来约束、限制、过滤、消除等与场景中的远程设备相关联的虚拟内容。在一些情况下,使用本文描述的***和技术,用户设备可以细化为与场景中的远程设备的通信/交互而处理和/或呈现的内容,和/或可以以最适合/适合上下文(例如,大、小、覆盖、世界锁定、头部或设备锁定等)的方式来呈现内容。在一些示例中,用户设备可以使用上下文信息来理解如何与场景中的特定远程设备进行交互,什么交互数据和/或虚拟内容与该特定远程设备相关,如何管理与场景中的任何远程设备的交互等。
如本文进一步描述的,在许多情况下,本文描述的***和技术可以允许设备统一和/或简化与场景中的远程设备的用户交互。在上述情况下,设备可以更好地管理、统一、简化和/或促进与场景中的远程设备的通信和/或交互。在一些情况下,即使在更具挑战性的场景和/或条件下,设备也可以促进和/或支持与一个或多个远程设备的用户交互。为了说明,用户和/或与用户相关联的设备可能难以与设备进行交互。例如,当用户够不到遥控器时、或者当遥控器的按钮以其它方式难以被用户看到/理解时(例如,由于用户损伤、按钮的大小、按钮的标签的语言等),用户可能在差的照明条件下努力与电视遥控器进行交互。作为另一示例,用户可能努力与不具有外部控件的网络路由器或连接设备(例如,联网恒温器、灯泡、扬声器、相机、电器、开关等)进行交互,尤其是在用户不能访问用于与网络路由器或IoT设备进行交互的用户界面的情况下。作为又一示例,如果用户够不到控制面板(或控制面板的某些控件)或者用户不知道哪些控件要用于期望的操作/交互,则用户可能难以与控制面板(诸如车辆或电梯控制面板)进行交互。
如本文更详细描述的,本文描述了用于改进、统一、简化和/或促进与远程设备的用户交互的***、装置、方法(也称为过程和计算机可读介质(本文统称为“***和技术”)。在一些示例中,电子设备可以统一、简化和/或促进与其它设备的交互,例如,连接设备(例如,联网设备)、移动设备、缺少向外/外部控件的设备、缺少显示器和/或用户界面的设备、具有向希望与这些设备进行交互的用户呈现一个或多个挑战的某些特性的设备(例如,具有不同语言的界面、未被用户认识/理解、具有有限的可访问性选项等的设备)、具有用户够不着的控件/界面的设备、和/或任何其它设备。在一些示例中,被配置为促进与其它设备的交互的电子设备可以包括:智能电话、智能可穿戴设备(例如,智能手表、智能耳塞等)、扩展现实(XR)***或设备(例如,智能眼镜、头戴式显示器(HMD)等)等。尽管本文使用XR***作为可以实现本文所述技术的电子设备的示例来描述示例,但是可以使用其它电子设备(例如,移动设备、智能可穿戴设备等)来执行这些技术。
通常,XR***或设备可以向用户提供虚拟内容和/或可以组合真实世界或物理环境和虚拟环境(由虚拟内容组成)以向用户提供XR体验。现实世界环境可以包括现实世界对象(也称为物理对象),例如,书、人、车辆、建筑、桌子、椅子和/或其它现实世界或物理对象。XR***或设备可以促进与不同类型的XR环境的交互(例如,用户可以使用XR***或设备来与XR环境交互)。XR***可以包括促进与虚拟现实(VR)环境交互的VR***、促进与增强现实(AR)环境交互的AR***、促进与混合现实(MR)环境交互的MR***和/或其它XR***。如本文所用,术语XR***和XR设备可互换地使用。XR***或设备的示例包括HMD、智能眼镜(例如,可以使用通信网络进行通信的联网眼镜)等。
AR是在物理、现实世界场景或环境的用户视图上提供虚拟或计算机生成的内容(称为AR内容)的技术。AR内容可以包括虚拟内容,诸如视频、图像、图形内容、位置数据(例如,全球定位***(GPS)数据或其它位置数据)、声音、其任何组合和/或其它增强内容。AR***或设备被设计为提升(或增强)人对现实的当前感知,而不是取代人对现实的当前感知。例如,用户可以通过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 HMD或其它VR头戴设备)来渲染和显示VR内容,所述VR***或设备在VR体验期间完全覆盖用户的眼睛。
MR技术可以组合VR和AR的各方面以针对用户提供沉浸式体验。例如,在MR环境中,真实世界和计算机生成的对象可以交互(例如,真实的人可以与虚拟的人交互,就好像该虚拟的人是真实的人一样)。
在一些情况下,XR***可以跟踪用户的部分(例如,用户的手和/或指尖)以允许用户与虚拟内容项交互。XR***(诸如智能眼镜或HMD)可以实施相机和/或一个或多个传感器以跟踪XR***和在XR***所处的物理环境内的其它对象的位置。XR***可以使用此类跟踪信息来向XR***的用户提供现实XR体验。例如,XR***可以允许用户体验沉浸式虚拟环境或内容、或者与沉浸式虚拟环境或内容进行交互。为了提供现实的XR体验,一些XR***或设备可以将虚拟内容与物理世界进行集成。在一些情况下,XR***或设备可以匹配对象和设备的相对姿态和移动。例如,XR***可以使用跟踪信息来计算设备、对象的相对姿势,和/或现实世界环境的地图,以便匹配设备、对象和/或现实世界环境的其它部分的相对位置和移动。使用一个或多个设备、对象和/或现实世界环境的其它部分的姿态和移动,XR***可以通过对于XR***的用户看起来逼真的方式将内容锚定到现实世界环境。相对姿态信息可以用于将虚拟内容与设备、对象以及现实世界环境的其它部分的用户所感知的运动和时空状态进行匹配。
在一些示例中,XR***可以用于提供用于与一个或多个其它设备(诸如一个或多个连接设备、遥控器、控制面板、移动设备等)进行交互的用户引导数据。根据本文所述的***和技术,XR***可以被利用以实现更直观和自然的内容和/或与其它设备的交互。在一些示例中,XR***可以检测在场景中的其它设备,并且促进和/或管理与其它设备的交互。在一些情况下,XR***可以具有与另一设备的先前建立的连接(例如,配对等),这可以允许XR***检测在场景中的另一设备。在其它示例中,XR***可以维持场景的地图,包括位于场景中的其它设备,当XR***在场景中时,XR***可以使用该地图来检测其它设备。在一些示例中,XR***可以使用一个或多个传感器,诸如图像传感器、音频传感器、雷达传感器、LIDAR传感器等,XR***可以使用所述一个或多个传感器来感测在场景中的其它设备。在一些情况下,XR***可以使用与场景相关联的上下文信息来确定其它设备在场景中。例如,XR***可以包括关于场景和/或其它设备的上下文信息,所述上下文信息向XR设备指示其它设备存在于场景中。当XR***在场景中时,XR***可以基于上下文信息来确定其它设备在场景中。XR***可以从在场景中检测到的其它设备获得信息,以促进、管理等等与其它设备的交互。
例如,XR***可以从在场景中检测到的其它设备获得指示或识别用于其它设备的一个或多个输入选项的输入数据和/或与场景、其它设备和/或XR***相关联的上下文信息。XR***可以处理输入数据和/或上下文信息,并且向使用(例如,佩戴)XR***的用户呈现用户界面、虚拟内容和/或用于与设备进行交互(例如,控制、访问内容、访问状态信息、访问输出等)的输入选项。在一些情况下,XR***还可以用于基于输入数据和/或上下文信息来控制在场景中的其它设备,如本文进一步描述的。
在一些示例中,XR***可以从其它设备、从服务器(例如,涉及其它设备的操作的基于云的服务器)和/或从其它源获得或接收指示一个或多个输入选项的输入数据。输入数据可以指示可以用于与其它设备交互的一些或所有输入选项,诸如输入类型(例如,基于手势、基于语音、基于触摸等)、基于特定输入的功能(例如,向右滑动可以使恒温器升高温度等)、以及其它信息。在一些示例中,如果设备不向XR***传送任何输入数据(例如,在XR***向设备发送请求之后),则XR***可以确定或推断设备不具有与XR***(例如,通过无线网络)进行通信的能力。在此类示例中,XR***可以呈现指令或其它信息(例如,突出显示在设备上的特定按钮)以帮助用户确定如何与设备进行交互。
XR***可以使用上下文信息来确定内容、输入选项、用户界面和/或模态以输出以供用户用于与其它设备进行交互。在一些示例中,XR***可以在本地(例如,使用XR***的一个或多个传感器,诸如一个或多个相机、一个或多个惯性测量单元(IMU)等)和/或从一个或多个远程源(例如,服务器、云、互联网、其它设备、一个或多个传感器等)获得或接收上下文信息。上下文信息可以涉及其它设备(用户可以使用XR***与其它设备进行交互)、XR***和/或其它设备所处的场景或环境、XR***的用户尝试与其它设备进行交互、和/或在任何给定时间点的其它上下文。例如,上下文信息可以包括与另一设备的预期用户交互、用户在场景中的一个或多个动作、与用户相关联的特性或个人信息、与用户和其它设备相关联的历史信息(例如,用户对设备的过去使用等)、其它设备的用户界面能力(例如,其是否具有用户可见或以其它方式可访问的向外/外部控件)、与其它设备相关联的信息(例如,其它设备距XR***多远)、与场景相关联的信息(例如,照明、噪声等)和/或其它信息。
上下文信息可以向XR***提供与用户、XR***、其它设备、场景等相关联的情形/上下文的上下文感知。使用上下文信息和标识与其它设备相关联的输入选项的数据,XR***可以输出(例如,呈现、提供、生成等)与一个或多个输入选项相对应的用户交互数据,所述用户交互数据使得用户能够与其它设备进行交互。在一些情况下,XR***可以呈现与一个或多个输入选项相对应的视觉内容/数据。例如,用户交互数据可以包括与输入选项相关联的一个或多个用户界面元素、指示如何提供与输入选项相关联的输入的提示、和/或其它数据。在一些情况下,XR***可以替代地或附加地输出与一个或多个输入选项相对应的非视觉数据。例如,XR***可以输出触觉和/或音频信息,诸如与一个或多个输入选项相对应的音频提示或指令。
上下文信息可以使得XR***能够在给定与用户、XR***、其它设备、场景相关联的情况/上下文的情况下输出上下文适当的内容(例如,视觉虚拟内容、音频内容、触觉反馈等),和/或以其它方式促进与其它设备的交互。在一些示例中,XR***可以使用上下文信息来简化用户交互和/或相关联的数据/内容。例如,在一些情况下,其它设备可以具有多种输入功能/能力。XR***可以使用上下文信息来过滤与XR***和/或当前上下文相关的与设备相关联的输入选项。XR***可以输出过滤/减少数量的输入选项以简化用户交互、用户交互数据/内容等。
如上所述,XR***可以使用输入数据和上下文信息来渲染用户界面和/或输入选项以供用户从XR***与另一设备进行交互。在一些情况下,XR***可以与其它设备进行通信,以基于与XR***渲染的用户界面的用户交互来向其它设备提供输入/命令。例如,XR***可以显示用户界面,使得用户界面对于用户而言表现为在其它设备或其它设备的一部分(例如,控件、表面、显示器、面板等)上的覆盖物,以促进用户与其它设备的交互。XR***可以检测并转换与用户界面的用户交互,以生成控制命令和/或用户交互指令。例如,XR***可以通过设备(例如,通过XR***和/或控制器)来检测用户手势和/或输入,并且将这样的用户手势和/或输入解释/转换为与用户界面的交互。然后,XR***可以基于解释/转换的用户手势和/或输入来生成用于控制其它设备的命令/指令。XR***可以使用与覆盖的用户界面的交互来基于用户输入和/或访问来自其它设备的数据/输出来控制其它设备。在一些情况下,为了促进和/或改善与其它设备的用户交互,XR***可以定位和/或映射其它设备,使得XR***可以相对于其它设备或其它设备的一部分准确地渲染用户界面。
在一些示例中,XR***可以通过世界锁定或屏幕锁定的方式呈现覆盖在场景上的用户界面,以通过用户界面向用户提供用户交互引导数据和/或输入选项。在一些情况下,覆盖可以包括具有引导信息的一个或多个图形用户界面元素,所述引导信息向用户指示如何与一个或多个图形用户界面元素进行交互。
本文关于各种附图提供了关于虚拟私有空间的生成的进一步细节。图1是示出根据本公开内容的一些方面的示例扩展现实(XR)***100的图。XR***100可以运行(或执行)XR应用并且实现XR操作。在一些示例中,XR***100可以执行跟踪和定位、物理世界(例如,场景)的映射、以及虚拟内容在显示器109上的定位和渲染,作为XR体验的一部分。例如,XR***100可以生成物理世界中的场景的地图(例如,三维(3D)地图)、跟踪XR***100相对于场景(例如,相对于场景的3D地图)的姿态(例如,位置和方位)、在场景的地图上的具***置中的方位和/或锚定虚拟内容、以及在显示器109上渲染虚拟内容,使得虚拟内容看起来就好像在场景中的与在虚拟内容所定位和/或锚定的场景的地图上的具***置相对应的位置处。显示器109可以包括玻璃、屏幕、一个或多个透镜、投影仪和/或允许用户看到现实世界环境并且还允许在其上显示XR虚拟内容的其它显示机制。
在该示意性示例中,XR***100包括一个或多个图像传感器102、加速度计104、陀螺仪106、存储器107、计算组件110、XR引擎120、输入选项引擎122、上下文管理引擎123、图像处理引擎124和渲染引擎126。应当注意,图1中所示的组件102-126是用于示意和解释目的而提供的非限制性示例,并且其它示例可以包括比图1所示的那些组件更多、更少或不同的组件。例如,在一些情况下,XR***100可以包括一个或多个其它传感器(例如,与加速度计104及陀螺仪106不同的一个或多个惯性测量单元(IMU)、雷达、光检测和测距(LIDAR)传感器、音频传感器等)、一个或多个显示设备、一个或多个其它处理引擎、一个或多个其它硬件组件、和/或图1中未示出的一个或多个其它软件和/或硬件组件。可以由XR***100实现的示例架构和示例硬件组件在下文中是进一步关于图9所描述的。
此外,为了简单和说明的目的,一个或多个图像传感器102在本文将被引用为图像传感器102(例如,以单数形式)。然而,本领域普通技术人员将认识到,XR***100可以包括单个图像传感器或多个图像传感器。此外,以单数或复数形式对XR***100的任何组件(例如,102-126)的引用不应当被解释为将由XR***100实施的这些组件的数量限制为一个或多个。例如,以单数形式对加速度计104的引用不应当被解释为将由XR***100实施的加速度计的数量限制为一个。本领域普通技术人员将认识到,对于在图1中所示的组件102-126中的任一个组件,XR***100可以包括这些组件中的仅一个组件或这些组件中的多个组件。
XR***100包括输入设备108或与输入设备208通信(有线或无线地)。输入设备108可以包括任何合适的输入设备,诸如触摸屏、笔或其它指针设备、键盘、鼠标、按钮或按键、用于接收语音命令的麦克风、用于接收姿势命令的姿势输入设备、其任何组合、和/或其它输入设备。在一些情况下,图像传感器102可以捕获可以被处理以用于解释手势命令的图像。
XR***100可以是单个计算设备或多个计算设备的一部分或由其实现。在一些示例中,XR***100可以是电子设备(或多个电子设备)的一部分,诸如扩展现实头戴式显示器(HMD)设备、扩展现实眼镜(例如,增强现实或AR眼镜)、相机***(例如,数字相机、IP相机、视频相机、安全相机等)、电话***(例如,智能电话、蜂窝电话、会议***等)、台式计算机、膝上型计算机或笔记本计算机、平板计算机、机顶盒、智能电视机、显示设备、游戏控制台、视频流式传输设备、IoT(物联网)设备、和/或任何其它合适电子设备。
在一些实施方式中,一个或多个图像传感器102、加速度计104、陀螺仪106、存储器107、计算组件110、XR引擎120、输入选项引擎122、上下文管理引擎123、图像处理引擎124和渲染引擎126可以是相同计算设备的一部分。例如,在一些情况下,一个或多个图像传感器102、加速度计104、陀螺仪106、存储器107、计算组件110、XR引擎120、输入选项引擎122、上下文管理引擎123、图像处理引擎124和渲染引擎126可以被集成到HMD、扩展现实眼镜、智能电话、膝上型计算机、平板计算机、游戏***、和/或任何其它计算设备中。然而,在一些实施方式中,一个或多个图像传感器102、加速度计104、陀螺仪106、存储器107、计算组件110、XR引擎120、输入选项引擎122、上下文管理引擎123、图像处理引擎124和渲染引擎126可以是两个或更多个独立计算设备的一部分。例如,在一些情况下,组件102-126中的一些组件可以是一个计算设备的一部分或由其实现,而剩余组件可以是一个或多个其他计算设备的一部分或由其实现。
存储装置107可以是用于存储数据的任何存储设备。此外,存储装置107可以存储来自XR***100的任何组件的数据。例如,存储装置107可以存储来自图像传感器102的数据(例如,图像或视频数据)、来自加速计104的数据(例如,测量结果)、来自陀螺仪106的数据(例如,测量结果)、来自计算组件110的数据(例如,处理参数、偏好、虚拟内容、渲染内容、场景地图、跟踪和定位数据、对象检测数据、隐私数据、XR应用数据、面部识别数据、遮挡数据等)、来自XR引擎120的数据、来自输入选项引擎122的数据、来自上下文管理引擎123的数据、来自图像处理引擎124的数据、和/或来自渲染引擎126的数据(例如,输出帧)。在一些示例中,存储装置107可以包括用于存储供计算组件110处理的帧的缓冲器。
一个或多个计算组件110可以包括中央处理单元(CPU)112、图形处理单元(GPU)114、数字信号处理器(DSP)116和/或图像信号处理器(ISP)118。计算组件110可以执行各种操作,诸如图像增强、计算机视觉、图形渲染、扩展现实(例如,跟踪、定位、姿态估计、地图绘制、内容锚定、内容渲染等)、图像/视频处理、传感器处理、识别(例如,文本识别、面部识别、对象识别、特征识别、跟踪或模式识别、场景识别、遮挡检测等)、机器学习、滤波、以及本文描述的各种操作中的任何一种。在此示例中,计算组件110实施XR引擎120、输入选项引擎122、上下文管理引擎123、图像处理引擎124和渲染引擎126。在其它示例中,计算组件110还可以实施一个或多个其它处理引擎。
图像传感器102可以包括任何图像和/或视频传感器或捕获设备。在一些示例中,图像传感器102可以是多相机组件的一部分,诸如双相机组件、三相机组件、四相机组件或其它数量的相机。在一些示例中,图像传感器102可以包括一个或多个可见光相机(例如,被配置为捕获单色或彩色图像,诸如红-绿-蓝或RGB图像)、一个或多个红外线(IR)相机和/或近红外线(NIR)相机、一个或多个深度传感器、和/或其它类型的图像传感器或相机的任何组合。
图像传感器102可以捕获图像和/或视频内容(例如,原始图像和/或视频数据),然后可以由计算组件110、XR引擎120、输入选项引擎122、上下文管理引擎123、图像处理引擎124、和/或渲染引擎126对图像和/或视频内容进行处理,如本文所描述的。例如,图像传感器102可以捕获图像数据并且可以基于图像数据来生成帧,和/或可以将图像数据或帧提供给计算组件110、XR引擎120、输入选项引擎122、上下文管理引擎123、图像处理引擎124、和/或渲染引擎126以进行处理。帧可以包括视频序列中的视频帧或静态图像。帧可以包括表示场景的像素阵列。例如,帧可以是:每像素具有红色、绿色和蓝色分量的红-绿-蓝(RGB)帧;每像素具有亮度分量和两个色度(色彩)分量(色度红和色度蓝)的亮度、色度红、色度蓝(YCbCr)帧;或任何其它合适类型的彩色或单色图片。
在一些情况下,图像传感器102(和/或XR***100的其他相机)可以被配置为还捕获深度信息。例如,在一些实施方式中,图像传感器102(和/或其它相机)可以包括RGB深度(RGB-D)相机。在一些示例中,XR***100可以包括与图像传感器102(和/或其它相机)分开并且可以捕获深度信息的一个或多个深度传感器(未图示)。例如,这样的深度传感器可以独立于图像传感器102获得深度信息。在一些示例中,深度传感器可以物理地安装在与图像传感器102相同的一般位置中,但可以以与图像传感器102不同的频率或帧速率来操作。在一些示例中,深度传感器可以采用光源的形式,该光源可以将结构化或纹理光图案投射到一个或多个场景中的对象,该结构化或纹理光图案可以包括一个或多个窄光带。然后,可以通过利用由对象的表面形状引起的投影图案的几何扭曲来获得深度信息。在一个示例中,深度信息可以从立体传感器(例如,红外结构光投影仪和注册到相机(例如,RGB相机)的红外相机的组合)获得。
XR***100还包括与图像传感器102不同的一个或多个传感器。一个或多个传感器可以包括一个或多个加速度计(例如,加速度计104)、一个或多个陀螺仪(例如,陀螺仪106)、和/或其它传感器。一个或多个传感器可以向计算组件110提供速度、定向和/或其它位置相关信息。例如,加速度计104可以检测XR***100的加速度并且可以基于检测到的加速度生成加速度测量。在一些情况下,加速度计104可以提供可以用于确定XR***100的方位或姿态的一个或多个平移向量(例如,上/下、左/右、前/后)。陀螺仪106可以检测并且测量XR***100的定向和角速度。例如,陀螺仪106可以用于测量XR***100的俯仰、滚动和偏航。在一些情况下,陀螺仪106可以提供一个或多个旋转向量(例如,俯仰、偏航、滚动)。在一些示例中,图像传感器102和/或XR引擎120可以使用由加速计104获得的测量结果(例如,一个或多个平移矢量)和/或由陀螺仪106获得的测量结果(例如,一个或多个旋转矢量),以计算XR***100的姿态。如前所述,在其它示例中,XR***100还可以包括其它传感器,诸如惯性测量单元(IMU)、磁力计、注视和/或眼睛跟踪传感器(例如,眼睛跟踪相机)、机器视觉传感器、智能场景传感器、语音识别传感器、碰撞传感器、震动传感器、方位传感器、倾斜传感器等。
在一些情况下,一个或多个传感器可以包括至少一个IMU。IMU是一种如下的电子设备:使用一个或多个加速计、一个或多个陀螺仪、和/或一个或多个磁力计的组合,来测量XR***100的具体作用力、角速率和/或朝向。在一些示例中,一个或多个传感器可以输出与由图像传感器102(和/或XR***100的其它相机)所捕获的图像的捕获相关联的测量信息和/或使用XR***100的一个或多个深度传感器获得的深度信息。
扩展现实引擎120可以使用一个或多个传感器(例如,加速度计104、陀螺仪106、一个或多个其它类型的IMU、和/或其它传感器)的输出来确定XR***100的姿态(也被称为头部姿态)和/或图像传感器102(或XR***100的其它相机)的姿态。在一些情况下,XR***100的姿态和图像传感器102(或其它相机)的姿态可以是相同的。图像传感器102的姿态是指图像传感器102相对于(例如,关于对象202的)参照系的方位和取向。在一些实现方式中,可以针对6自由度(6DOF)确定相机姿态,6自由度指的是三个平移分量(例如,其可以由X(水平)、Y(垂直)和Z(深度)坐标相对于参考系(例如,图像平面)给出)和三个角度分量(例如,相对于同一参考系的滚动、俯仰和偏航)。
在一些情况下,设备***(未示出)可以使用来自一个或多个传感器的测量值和来自图像传感器102的图像数据来跟踪XR***100的姿态(例如,6DOF姿态)。例如,设备***可以将来自图像数据的视觉数据(例如,使用视觉跟踪解决方案)与来自测量的惯性数据融合,以确定XR***100相对于物理世界(例如,场景)和物理世界的地图的位置和运动。如下所述,在一些示例中,当跟踪XR***100的姿态时,设备***可以生成场景(例如,现实世界)的三维(3D)地图和/或生成针对场景的3D地图的更新。3D地图更新可以包括:例如但不限于,与场景和/或场景的3D地图相关联的新的或经更新的特征和/或特征或地标点、标识或更新XR***100在场景和场景的3D地图内的方位的定位更新等。3D地图可以提供现实/物理世界中的场景的数字表示。在一些示例中,3D地图可以将基于位置的对象和/或内容锚定到现实世界的坐标和/或对象。XR***100可以使用建图的场景(例如,由3D地图表示和/或与3D地图相关联的物理世界中的场景)来合并物理和虚拟世界和/或将虚拟内容或对象与物理环境合并。
在一些方面中,计算组件110可以基于由图像传感器102(和/或XR***100的其它相机)捕获的图像,使用视觉跟踪解决方案来确定和/或跟踪图像传感器102和/或作为整体的XR***100的姿态。例如,在一些示例中,计算组件110可以使用基于计算机视觉的跟踪、基于模型的跟踪和/或同时定位和地图绘制(SLAM)技术来执行跟踪。例如,计算组件110可以执行SLAM或者可以与SLAM引擎(未示出)进行通信(有线或无线)。SLAM是指如下的一类技术:创建环境的地图(例如,由XR***100建模的环境的地图),而同时跟踪相机(例如,图像传感器102)和/或XR***100相对于该地图的姿态。该地图可以被称为SLAM地图,并且可以是三维(3D)的。SLAM技术可以使用由图像传感器102(和/或XR***100的其它相机)捕获的彩色或灰度图像数据来执行,并且可以用于生成图像传感器102和/或XR***100的6DOF姿态测量值的估计。被配置为执行6DOF跟踪的此类SLAM技术可以被称为6DOF SLAM。在一些情况下,一个或多个传感器(例如,加速计104、陀螺仪106、一个或多个IMU和/或其它传感器)的输出可以用于估计、校正和/或以其它方式调整所估计的姿态。
在一些情况下,6DOF SLAM(例如,6DOF跟踪)可以将从来自图像传感器102(和/或其它相机)的某些输入图像观察到的特征关联到SLAM地图。例如,6DOF SLAM可以使用来自输入图像的特征点关联性来确定输入图像的图像传感器102和/或XR***100的姿态(方位和取向)。还可以执行6DOF映射以更新SLAM地图。在一些情况下,使用6DOF SLAM维护的SLAM地图可以包含从两个或更多个图像进行三角测量的3D特征点。例如,可以从输入图像或视频流中选择关键帧以表示观察到的场景。对于每个关键帧,可以确定与图像相关联的相应6DOF相机姿态。图像传感器102和/或XR***100的姿态可以通过以下操作来确定:将来自3DSLAM地图的特征投影到图像或视频帧中,并且根据经验证的2D-3D对应关系来更新相机姿态。
在一个说明性示例中,计算组件110可以从每个输入图像或从每个关键帧中提取特征点。如本文使用的特征点(也被称为配准点)是图像的独特的或可识别的部分,诸如手的一部分、桌子的边缘、以及其它示例。从捕获的图像中提取的特征可以表示沿着三维空间的不同特征点(例如,在X、Y和Z轴上的坐标),并且每个特征点可以具有相关联的特征地点。关键帧中的特征点与先前捕获的输入图像或关键帧的特征点匹配(与其相同或者相对应)或者未能匹配。特征检测可以用于检测特征点。特征检测可以包括用于检查图像的一个或多个像素以确定在特定像素处是否存在特征的图像处理操作。特征检测可以用于处理整个捕获的图像或图像的某些部分。对于每个图像或关键帧,一旦已经检测到特征,就可以提取在该特征周围的局部图像块。可以使用任何合适的技术来提取特征,诸如尺度不变特征变换(SIFT)(其定位特征并且生成其描述)、加速鲁棒特征(SURF)、梯度位置朝向直方图(GLOH)、归一化互相关(NCC)或其它合适的技术。
在一些情况下,XR***100还可以跟踪用户的手和/或手指,以允许用户与虚拟环境中的虚拟内容(例如,在虚拟私有空间中显示的虚拟内容)进行交互和/或控制在虚拟环境中的虚拟内容。例如,XR***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)所示,每个手指的上关节中的每一个(对应于远端指骨、中端指骨、近端指骨之间的指间关节)具有对应于屈伸的一个自由度(1DOF)。结果,手200提供了26个自由度(26DOF),从中可以跟踪手200以及手200与XR***100所渲染的虚拟内容的交互。
XR***100可以使用手200上的地标点中的一个或多个地标点来跟踪手200(例如,跟踪手200的姿态和/或移动),并且跟踪与由XR***100所渲染的虚拟环境的交互。如上所述,作为检测手200上的一个或多个地标点的结果,可以建立地标点(以及因此手和手指)相对于XR***100在相对物理方位上的姿态。例如,可以在图像中检测手200的手掌上的地标点(例如,地标点235),并且可以相对于XR***100的图像传感器102确定地标点的位置。由XR***100渲染的虚拟内容项的点(例如,中心点,比如,质心或其它中心点)可以相对于针对手200的手掌上的地标点所确定的位置被转换到XR***100的显示器(例如,图1的显示器109)(或在显示器上渲染)上的位置。
在一些示例中,XR***100还可以将虚拟界面和/或手200配准到真实世界中的点(如在一个或多个图像中检测到的)和/或用户的其它部分。例如,在一些实施方式中,除了确定手200相对于XR***100(或XR***100)和/或虚拟内容项的物理姿态之外,XR***100可以确定其它地标的位置,例如,墙上的独特点(称为特征点)、对象的一个或多个角落、地板上的特征、人面部上的点、附近设备上的点,等等。在一些情况下,XR***100可以将虚拟内容放置在关于在环境中检测到的特征点的特定位置内,该特征点可以对应于例如环境中检测到的对象和/或人。
在一些示例中,可以使用例如来自图像传感器102的图像数据和/或来自诸如加速度计104、陀螺仪106和/或一个或多个其他传感器(例如,一个或多个磁力计、一个或多个惯性测量单元(IMU)等)之类的一个或多个传感器的测量,来确定XR***100(和/或用户的头部)的姿势。头部姿态可以用于确定虚拟内容、手200、和/或环境中的对象和/或人的方位。
用于XR引擎120、输入选项引擎122、上下文管理引擎123、图像处理引擎124和渲染引擎126(以及任何图像处理引擎)的操作可以由计算组件110中的任何一个来实现。在一个示意性示例中,渲染引擎126的操作可以由GPU 114来实施,而XR引擎120、输入选项引擎122、上下文管理引擎123、以及图像处理引擎124的操作可以由CPU 112、DSP 116和/或ISP118来实现。在一些情况下,计算组件110可以包括其它电子电路或硬件、计算机软件、固件或其任何组合,以执行本文描述的各种操作中的任何操作。
在一些示例中,XR引擎120可以执行XR操作以基于来自图像传感器102、加速度计104、陀螺仪106和/或XR***100上的一个或多个传感器(诸如一个或多个IMU、雷达等)的数据来生成XR体验。在一些示例中,XR引擎120可以执行跟踪、定位、位姿估计、地图绘制、内容锚定操作和/或任何其它XR操作/功能。XR体验可以包括在虚拟会话期间使用XR***100来向用户呈现XR内容(例如,虚拟现实内容、增强现实内容、混合现实内容等)。在一些示例中,XR内容和体验可以由XR***100通过XR应用(例如,由XR引擎120执行或实现)来提供,该XR应用提供具体XR体验,例如,XR游戏体验、XR课堂体验、XR购物体验、XR娱乐体验、XR活动(例如,操作、检修活动等)等等。在XR体验期间,用户可以使用XR***100来观看虚拟内容和/或与虚拟内容进行交互。在一些情况下,用户可以观看虚拟内容和/或与虚拟内容进行交互,同时还能够观看在用户周围的物理环境和/或与其进行交互,从而允许用户在物理环境和与物理环境混合的或集成的虚拟内容之间具有沉浸式体验。
XR引擎120、输入选项引擎122和上下文管理引擎123可以执行各种操作以确定(和管理)如何、何处和/或何时针对一个或多个其它设备渲染某些虚拟内容。例如,XR引擎120、输入选项引擎122和上下文管理引擎123可以促进与其它设备(例如,连接设备(例如,网络连接的相机、扬声器、灯泡、集线器、锁、插头、恒温器、显示器、警报***、电视(TV)、小配件、电器等)、移动设备、缺少向外/外部控件的设备、缺少显示器和/或用户界面的设备、将一个或多个挑战的某些特性(例如,具有用户未理解的语言的控件/接口的设备、用户未识别/理解的控件/接口、有限的可访问性选项、用户不容易认识/理解的输入选项等)呈现给希望与这些设备交互的用户的设备、具有用户无法触及的控件/接口的设备、和/或任何其它设备)的交互。例如,输入选项引擎122可以获得或接收指示或标识其它设备的一个或多个输入选项的输入数据。输入选项引擎122可以将输入数据发送到XR引擎120。上下文管理引擎123可以获得或接收与其它设备(用户可以使用XR***100与之交互)、XR***和/或其它设备所处的场景或环境、XR***的用户尝试与其它设备交互和/或其它上下文有关的信息(例如,上下文信息等)。上下文管理引擎123可以将上下文信息发送给XR引擎120。
使用指示用于设备的一个或多个输入选项的输入数据和/或使用上下文信息,XR引擎120可以使渲染引擎126向用户呈现相关信息。例如,XR引擎120可以使渲染引擎126输出与已经确定了相关上下文信息的输入选项相对应的引导数据。引导数据可以通知用户对于另一设备有哪些输入选项是可用的,如何提供这样的输入等等。在一些示例中,引导数据可以过滤掉在给定当前上下文的情况下(例如,鉴于与XR***100、场景、其它设备和/或与XR***100相关联的用户相关的信息)可能不太相关或不可用的输入选项(和/或相关联的信息)。在一些示例中,使用指示设备的一个或多个输入选项的输入数据和/或使用上下文信息,XR引擎120可以使渲染引擎126呈现用于与设备交互(例如,控制、访问内容、访问状态信息、访问输出等)的用户界面和/或输入选项。
例如,基于上下文信息和标识与其它设备相关联的输入选项的输入数据,XR引擎120可以使渲染引擎126呈现与实现与其它设备的用户交互的一个或多个输入选项相对应的用户交互数据。例如,用户交互数据可以包括与输入选项相关联的一个或多个用户界面元素(例如,可选控制选项等)、指示如何提供与输入选项相关联的输入的提示(例如,突出显示、箭头、文本等)和/或其它数据。上下文信息可以使得XR引擎120能够在给定与用户、XR***100、其它设备、场景相关联的情况/上下文的情况下呈现上下文适当的内容(例如,虚拟内容、音频内容、用户界面内容等),和/或以其它方式促进与其它设备的交互。在一些情况下,XR引擎120可以使渲染引擎126基于上下文来不呈现内容或者减少或过滤要显示的虚拟内容的量(例如,显示用户界面选项的子集)。
在一些情况下,XR引擎120可以利用其XR能力来促进与其它设备的交互。例如,XR***100可以具有AR能力,诸如在XR***100的显示器上显示虚拟内容同时还允许用户通过显示器查看现实世界环境的能力。XR引擎120可以利用AR能力来渲染用户界面,以供用户直接或通过向XR引擎120提供输入(例如,使用输入设备108)来与其它设备交互。例如,渲染引擎126可以在显示器上渲染用户界面,使得用户界面向用户表现为在其它设备或其它设备的一部分(例如,控件、表面、显示器、面板等)上的覆盖物,以促进与其它设备的用户交互。XR引擎120(或XR***100的其它组件)可以使用与覆盖的用户界面的交互,以基于用户输入和/或访问来自其它设备的数据/输出来控制其它设备。在一些情况下,为了促进和/或改善与其它设备的用户交互,XR***100可以定位和/或映射其它设备。例如,XR***100可以定位其它设备并使用定位信息来渲染在其它设备或其它设备的一部分上覆盖的用户界面。
XR***100可以将虚拟内容项配准或锚定到(例如,定位相对于)在场景中的检测到的特征点。例如,输入选项引擎122、上下文管理引擎123和/或图像处理引擎124可以与XR引擎120和/或渲染引擎126协调,以将用户界面的虚拟内容锚定到将在其上显示虚拟内容的表面的特征点。
在一些示例中,XR***100可以与一个或多个其它设备进行通信,以基于与由渲染引擎126所渲染的用户界面的用户交互来向其它设备提供输入/命令。例如,XR引擎120可以使XR***100基于经由所渲染的用户界面接收的用户输入和/或输入选项来(使用发射机或收发机)发送命令给设备。该命令可以使得设备基于用户输入来执行一个或多个功能。
在其它示例中,XR引擎120可以利用一种或多种交互模式(例如,视觉、语音/音频、基于手势、基于运动等)来促进用户与另一设备的交互。例如,XR引擎120可以使用手跟踪和/或手势识别能力来允许用户使用手势和其它交互来与其它设备进行交互(例如,控制、访问等)。作为另一示例,XR引擎120可以使用语音识别来允许用户使用语音命令来与其它设备进行交互。
如上所述,输入数据可以指示可以用于与其它设备进行交互的一些或所有输入选项。例如,输入选项可以包括:由设备支持的输入的类型(例如,基于手势、基于语音、基于触摸等)、设备可以基于特定输入执行的功能(例如,向右滑动可以使恒温器升高温度等)以及其它信息。
在一些示例中,输入选项引擎122可以从其它设备、从服务器(例如,涉及其它设备的操作的基于云的服务器)和/或从其它源获得或接收指示其它设备的一个或多个输入选项的输入数据。例如,输入选项引擎122可以向设备发送(或使得发射机或收发机发送)对输入选项的请求。在一个示例中,XR***100可以诸如基于与设备的先前网络配对、基于由设备发送(例如,广播)的指示其存在的周期性信标信号、基于在由图像传感器102提供的一个或多个图像中检测到设备等,来检测或感测设备。响应于检测或感测设备,XR***100可以从设备请求输入数据。响应于该请求,设备可以用指示与设备相关联的任何输入选项的输入数据进行响应。在另一示例中,输入选项引擎122可以从与设备相关联的服务器(例如,与Google HomeTM设备相关联的GoogleTM服务器)请求用于给定设备的输入选项。服务器可以用指示与设备相关联的输入选项的输入数据进行响应。
在一些情况下,输入选项引擎122可以通过处理由图像传感器102捕获的其它设备的一个或多个图像来确定其它设备的一个或多个输入选项。例如,使用电梯控制面板作为设备(电梯)的用户界面的说明性示例,输入选项引擎122可以从图像传感器102接收电梯控制面板的图像。使用机器学习(例如,使用一个或多个基于神经网络的对象检测器或分类器)、计算机视觉(例如,使用基于计算机视觉的对象检测器或分类器)或其它图像分析技术,输入选项引擎122可以确定控制面板包括对应于建筑物的楼层的十五个数字、开门按钮、关门按钮、紧急按钮、和/或其它物理或虚拟按钮。
在一些示例中,如果设备不向XR***传送任何输入数据(例如,在XR***向设备发送请求之后),则XR***可以确定或推断设备不具有与XR***(例如,通过无线网络)进行通信的能力。在此类示例中,XR***可以呈现指令或其它信息(例如,突出显示在设备上的特定按钮)以帮助用户确定如何与设备进行交互。例如,在上述电梯示例中,电梯可能不具有(例如,通过通信网络)与XR***进行通信的能力。在这样的示例中,XR***可以呈现帮助用户与电梯交互的虚拟内容,而不是基于接收到的用户输入发送一个或多个命令来控制电梯。
上下文管理引擎123可以将上下文信息发送给XR引擎120。上下文信息向XR引擎120提供与用户、XR***100、其它设备、场景等相关联的情境/上下文的上下文感知。XR引擎120可以使用上下文信息来管理、调制和/或确定呈现给用户用于与其他设备进行交互的内容、输入选项、用户界面和/或模态。例如,如上所述,上下文信息可以由XR引擎120用于呈现与关联于用户、XR***100、其它设备、场景和/或以其它方式促进与其它设备的交互的情境/上下文相关的内容(例如,虚拟内容、音频内容、用户界面内容等)。
上下文信息可以涉及其它设备(用户可以使用XR***100与之交互)、XR***100和/或其它设备所处的场景或环境、XR***100的用户尝试与其它设备交互、和/或在任何给定时间点的其它上下文。在一些示例中,上下文信息可以包括用户与其它设备的预期交互,诸如与设备交互的意图、与设备的用户界面的特定输入选项交互的意图(例如,特定用户界面控制元件)和/或其它预期用户交互。上下文管理引擎123可以估计预期的用户交互,诸如基于眼睛注视、正在执行的特定手势、用户握持另一设备、用户朝向设备行走、和/或其它信息。例如,上下文管理引擎123可以确定用户正在注视恒温器,并且基于所确定的注视,确定用户意图与恒温器交互。在另一示例中,上下文信息可以包括用户在场景中的一个或多个动作。例如,一个或多个动作可以包括用户朝向设备行走、朝向场景中的门行走、坐在用户通常观看电视的椅子上等。上下文信息的其它示例包括与用户相关联的特性(例如,视觉质量、口语等)、与用户和其它设备相关联的历史信息(例如,用户过去使用设备、用户对设备或类似设备的体验水平等)、其它设备的用户界面能力(例如,其是否具有用户可见或以其它方式可访问的向外/外部控件)、与其它设备相关联的信息(例如,其它设备距XR***100多远)、与场景相关联的信息(例如,照明、噪声水平(诸如环境声音、XR***100与设备之间的对象或其它障碍物、场景中是否存在任何其它用户等)和/或其它信息。
在一些示例中,上下文管理引擎123可以在本地确定、获得或接收上下文信息。例如,上下文管理引擎123可以从XR***100的一个或多个传感器(例如,XR***100的图像传感器102、加速度计104、陀螺仪106和/或其它传感器)获得传感器信息。上下文管理引擎123可以处理传感器信息以确定上下文信息,诸如用户与其它设备的一个或多个预期交互、用户在场景中的一个或多个动作、其它设备的用户界面能力、与其它设备相关联的信息(例如,设备距XR***100并因此距用户的距离)、与场景相关联的信息(例如,XR***100与设备之间的照明、噪声、对象或障碍物等)和/或其它上下文信息。在一个说明性示例中,上下文管理引擎123可以从图像传感器102接收指示用户正在看烤箱的图像,并且还可以从加速度计104和/或陀螺仪106接收指示用户正在朝向烤箱行走的传感器数据。基于图像和传感器数据,上下文管理引擎123可以确定用户打算与烤箱交互。
在一些示例中,上下文管理引擎123可以从一个或多个远程源(例如,服务器、云、互联网、其它设备、一个或多个传感器等)获得或接收上下文信息。例如,上下文管理引擎123可以访问存储在与用户相关联的基于网络或基于云的***上的用户简档,该用户简档指示与用户相关联的特性(例如,用户的视觉质量、用户说出的语言等)和/或与用户和其它设备相关联的历史信息(例如,用户对一个或多个设备的体验水平、用户已经拥有一个或多个设备多长时间等)。在一些情况下,用户简档可以本地存储在XR***100上。
如上所述,上下文信息向XR引擎120提供上下文感知,使得XR***100可以呈现与正在使用XR***100的特定情况上下文相关的内容。例如,当确定向用户呈现哪些AR内容以引导和/或辅助用户与其它设备的交互和/或如何呈现AR内容时,XR引擎120可以使用包括用户、其它设备等的特性的上下文信息。在一个示例中,XR引擎120可以考虑用户理解/说的语言,以确保所呈现的AR内容是用户理解/说的语言。作为另一示例,XR引擎120可以针对关于用户对设备的了解的期望来定制用户界面引导。在一个说明性示例中,如果估计用户是使用设备的新手(例如,基于用户已经拥有设备的时间量、用户已经使用设备的次数和/或基于其它因素),则XR引擎120可以为用户输出附加支持(例如,通过呈现关于哪些输入可以用于控制设备的指令)。在另一示例中,如果估计用户是使用设备的专家(例如,估计用户具有至少阈值量的体验/熟悉度),则XR引擎120可以不向用户呈现附加支持,或者可以减少/最小化这样的支持。作为另一示例,如果用户佩戴可能影响与另一设备的交互的一个或多个项目,则XR引擎120可以鉴于用户正在佩戴的物品来调整向用户输出哪个用户界面、控件和/或引导。在一个说明性示例中,如果用户正在佩戴可能妨碍用户选择/触摸控件的能力的手套,如果用户正在佩戴可能妨碍可视性的眼镜(或不佩戴眼镜)或太阳镜,如果用户具有限制用户的移动和与某些控件交互的能力的医疗设备等,则XR引擎120可以调整其提供的用户界面、控件和/或引导。
作为另一示例,XR引擎120可以在确定如何呈现AR内容和/或向用户呈现什么AR内容时使用与场景相关联的上下文信息(例如,环境因素)。例如,XR引擎120可以考虑照明条件,诸如不良照明或亮光条件(例如,其可以建议使用音频提示和/或视觉提示)、环境声音(例如,其可以建议使用音频提示之上的视觉提示)、其它人的存在(例如,其可以建议需要是离散的或私人的,诸如不提供任何音频输出、不呈现包括手或手势运动的输入选项等)等。
在一些示例中,XR引擎120可以确定用户打算与多个设备中的哪个设备交互。在一些情况下,XR引擎120可以使渲染引擎126呈现用户界面以允许用户与用户打算与之交互的具体设备交互。在一些情况下,XR引擎120可以输出关于如何与特定设备交互和/或控制特定设备的引导(例如,作为视觉内容或音频内容)。例如,在具有播放音乐的智能家居助理、连接的冰箱和连接的炉子的厨房中,用户可能对改变炉子的温度感兴趣。基于从上下文管理引擎123接收的上下文信息,XR引擎120可以确定用户意图与连接的炉子而不是智能家居助理或连接的冰箱进行交互。例如,基于上下文信息,XR引擎120可以确定用户的眼睛注视、姿态和/或移动,并且确定用户意图与连接的炉子而不是智能家居助理或连接的冰箱进行交互。在一些示例中,XR引擎120可以确定用户可以执行以与连接的炉子进行交互的多个可能的手势。例如,XR引擎120可以确定用户可以使用旋钮转动手势来改变炉子的温度。XR引擎120可以提供通知用户(例如,经由视觉提示、音频提示等)用户可以使用旋钮转动手势来改变炉子的温度的输出。在一些情况下,XR引擎120可以检测来自用户的旋钮转动手势并将相关联的输入传送到连接的炉子。在一些情况下,连接的炉子可以直接检测旋钮转动手势。
图像处理引擎124可以执行与正在呈现的虚拟用户界面内容相关的一个或多个图像处理操作。在一些示例中,图像处理引擎124可以基于来自图像传感器102的数据来执行图像处理操作。在一些情况下,图像处理引擎124可以执行图像处理操作,例如,过滤、去马赛克、缩放、颜色校正、颜色转换、分割、降噪过滤、空间过滤、伪影校正等。渲染引擎126可以获得由计算组件110、图像传感器102、XR引擎120、输入选项引擎122、上下文管理引擎123、和/或图像处理引擎124生成和/或处理的图像数据,并可以渲染视频和/或图像帧以在显示设备上呈现。
尽管XR***100被示为包括某些组件,但是本领域普通技术人员将理解,XR***100可以包括比图1所示的那些组件更多或更少的组件。例如,在一些实例中,图像处理***100还可以包括一个或多个存储器件(例如,RAM、ROM、高速缓存等)、一个或多个联网接口(例如,有线和/或无线通信接口等)、一个或多个显示设备、以及/或者图1中未示出的其它硬件或处理设备。下面针对图9描述可以用XR***100实现的计算***和硬件组件的说明性示例。
图3是示出由用户301佩戴的扩展现实***300的示例的图。在一些情况下,扩展现实***300类似于并且可以执行与图1的XR***100类似的操作。扩展现实***300可以包括任何合适类型的XR设备或***,诸如AR或MR眼镜、AR、VR或MR HMD或其它XR设备。出于说明性目的,可以使用AR来描述下面描述的一些示例。然而,下面描述的方面可以应用于其它类型的XR,诸如VR和MR。图3所示的扩展现实***300可以包括光学透视AR设备,其允许用户301在佩戴扩展现实***300时观看真实世界。
例如,用户301可以在距离用户301一定距离处的平面304上查看真实世界环境中的对象303。如图3所示,扩展现实***300具有图像传感器302和显示器309。如上所述,显示器309可以包括眼镜、屏幕、镜头和/或允许用户301看到真实世界环境并且还允许在其上显示AR内容的其它显示机制。AR内容(例如,图像、视频、图形、虚拟或AR对象或其他AR内容)可以投影或以其他方式显示在显示器309上。在一个示例中,AR内容可以包括对象303的增强版本。在另一示例中,AR内容可以包括与对象303相关和/或与真实世界环境中的一个或多个其他对象相关的附加AR内容。虽然图3中示出了一个图像传感器302和一个显示器309,但在一些实现方式中,扩展现实***300可以包括多个相机和/或多个显示器(例如,用于右眼的显示器和用于左眼的显示器)。
如上面关于图1所描述的,XR引擎122可以利用指示设备的一个或多个输入选项的输入数据和上下文数据来使渲染引擎126呈现用户界面和/或用于与设备交互(例如,控制、访问内容、访问状态信息、访问输出等)的输入选项。在一个说明性示例中,XR***100可以帮助用户与控制面板(诸如电梯控制面板、车辆的控制面板等)进行交互。图4A、图4B和图4C是示出用户使用XR***400与电梯的控制面板410进行交互的示例的图。例如,当佩戴XR***400的用户进入电梯时,XR***400可以确定用户的眼睛注视(例如,经由注视扫描、基于眼睛注视相机等)和/或一个或多个手势,诸如使用用户的手405执行的手势。基于眼睛注视和/或手势,XR***400可以确定用户无法找到或难以找到要按压在电梯控制面板410上的楼层号。例如,XR***400可以确定用户的眼睛注视正在来回移动(好像用户正在搜索正确的号码)。
XR***400可以基于XR***400获得的上下文信息来确定用户正在搜索与具体楼层相关联的控制按钮。例如,上下文信息可以包括在酒店处的登记信息(例如,由XR***400从与酒店相关联的服务器获得)、由用户向XR***400提供的语音命令、用户偏好/输入(例如,用户可以将楼层号码输入到XR***100中)、从用户检测到的识别音频(例如,XR***400识别用户说出单词“楼层16”,诸如使用始终在线的音频)、检测到的房间号码(例如,从由图像传感器102捕获的一个或多个图像检测到的,等)。
XR***400可以呈现与电梯控制面板上的具体楼层的控制按钮相关联的提示,以将用户引导到正确按钮。例如,XR***400可以确定用户正在搜索对应于楼层16的控制按钮(与图4A和图4B中具有数字“16”的按钮相关联)。如图4B所示,XR***400可以显示高亮显示与楼层16相对应的控制按钮的虚拟内容412。虚拟内容412看起来好像它覆盖在与楼层16相对应的实际控制按钮上,以帮助用户容易地识别用户正在搜索的控制按钮。如图4C所示,XR***400可以显示高亮显示与楼层16相对应的控制按钮的虚拟内容412,并且还可以呈现文本414(“这里是楼层16的按钮”)和提供进一步信息以帮助用户识别正确的控制按钮的箭头图标。虽然图4B和图4C示出了作为视觉提示的示例的高亮显示和文本,但是提示可以附加地或替代地包括其它类型的视觉提示、向用户指示正确按钮的标识或位置的音频提示(例如,基于手跟踪来引导用户的手)和/或其它类型的提示。这对于残疾用户或难以记住/学习正确按钮的用户尤其有用。
在一些情况下,在电梯中多次行程之后,XR***400可以获知用户可以快速地和/或在没有帮助的情况下找到正确按钮。作为响应,XR***400可以确定停止提供虚拟内容以帮助识别控制按钮。在其它情况下,XR***400可以继续向用户提供这样的帮助(例如,当具有用户的特性的上下文信息指示用户具有残疾时)。在一些情况下,XR***400可以类似地辅助用户与其它控制面板、设备、工业机械等的交互。
在另一个说明性示例中,XR***100可以帮助用户与可以用于控制设备的遥控器进行交互。图5A和图5B是示出用户使用XR***500与可以控制电视511的遥控器510进行交互的示例的图。XR***500可以基于各种因素来确定用户将可能难以使用遥控器510。例如,XR***500可以确定电视511和用户所在的房间具有较差的照明条件(例如,基于使用图像传感器102获得的房间的一个或多个图像、基于XR***500的环境光传感器等等)。此外,基于由XR***500获得的指示用户的特征的上下文信息,XR***500可以确定用户具有不良的近视。XR***500可以附加地或替代地确定在遥控器510上的标签或按钮难以读取、采用用户不理解的语言、和/或以其它方式使得用户难以与遥控器510交互。基于该上下文信息,XR***500可以确定用户有可能难以看到遥控器510的控件/标签。在一些情况下,XR***500可以附加地或替代地检测到用户难以与遥控器交互。例如,XR***500可以使用眼睛跟踪来确定用户正在斜视和/或扫描遥控器以寻找正确的按钮。
XR***500可以获得指示用户打算切换到播放用户感兴趣的事件的特定频道(频道34)的另外的上下文信息。例如,XR***500可以确定用户已经在用户的数字日历上安排了体育比赛。在另一示例中,XR***500可以确定用户总是在某个夜间时间观看特定频道。利用遥控器510可能难以与之交互并且用户想要切换到特定频道的上下文知识(例如,因为用户在当前时间频繁地观看特定频道中的事件),XR***500可以在遥控器510上显示高亮显示正确的“3”和“4”按钮的虚拟数据512,以帮助用户识别按钮并选择按钮以切换到特定频道34。在一些示例中,XR***500可以顺序地高亮显示按钮“3”,然后按钮“4”,使得用户知道在按压按钮“4”之前按压按钮“3”。
在一些情况下,除了如上所述高亮显示或以其它方式强调数字之外或作为替代,XR***500可以使用音频来确认由XR***500确定的选项(例如,事件和/或相关联的按钮/频道)。例如,XR***500可以提供要求用户确认用户希望切换到播放事件的特定频道的音频提示。XR***500可以从用户接收确认(例如,基于经由输入设备(诸如输入设备108)提供的用户输入)并继续帮助。在一个示例中,响应于接收到确认,XR***500可以高亮显示遥控器510上对应于频道(例如,频道34)的正确按钮(例如,“3”和“4”按钮)。在另一示例中,响应于接收到确认,XR***500可以自动地向电视511和/或遥控器510发送使电视511改变到频道(例如,频道34)的命令。
在另一个说明性示例中,XR***100可以帮助用户与恒温器交互。图6A和图6B是示出用户使用XR***600与恒温器610交互的示例的图。例如,恒温器610可以被配置为使用手势识别来解释一个或多个手势,并且可以基于检测到的手势来执行一个或多个功能。然而,用户可能不知道可以用于使恒温器610执行某些功能的正确手势命令。类似于上述,XR***600使用所获得的上下文信息来确定用户正在与恒温器610交互麻烦。例如,XR***600可以使用眼睛跟踪来确定用户正在注视恒温器610和/或可以处理一个或多个图像以确定用户正在执行手势(例如,使用手605),但是恒温器不基于手势执行任何功能。XR***600可以使用任何其它上下文信息来确定用户难以与恒温器610交互。
在一些情况下,用户可以发出识别用户希望与恒温器610执行交互的语音命令或其它输入。例如,用户可以叙述“将温度设置为68度”,并且XR***600可以识别语音命令。XR***600可以确定恒温器610被配置为诸如从恒温器610从与恒温器610相关联的服务器(例如,与NestTM恒温器相关联的NestTM服务器)解释的手势命令。
如图6B所示,响应于识别语音命令、接收指示用户的期望设置的另一输入、和/或确定用户难以与恒温器610交互,XR***600可以向用户呈现一组手势命令(包括手势命令612、手势命令614和手势命令616),该组手势命令可以被应用(例如,具有或不具有语音命令)以使恒温器610执行期望的功能。在一些情况下,如图6B所示,手势命令可以具有指示应当执行手势命令612、614和616的顺序的对应数字,以便使恒温器610执行期望的功能。例如,用户可以执行手势命令612以使恒温器610进入温度调节模式。然后,用户可以执行手势命令614以使恒温器610升高温度。例如,每当用户执行“拇指向上”手势命令614时,恒温器610可以使温度增加1华氏度。然后,用户可以执行手势命令616以使恒温器610退出温度调节模式。
在另一说明性示例中,XR***100可以帮助用户与数码相框交互。图7A和图7B是示出使用XR***700的用户701的示例的图,XR***700可以确定是否提供用于与数码相框710交互的用户界面输入选项。例如,数码相框710可以被配置为显示与由数码相框710显示的内容有关的元数据(例如,所显示的艺术的描述、背景、人等)。例如,如图7B所示,数码相框710可以在两个人跳舞的图片旁边显示具有标题“这是Nancy和Bob在他们的结婚当天”的元数据712。
如果用户701不注视数码相框710,如果用户急速走过数码相框710,和/或以其它方式可能对元数据712不感兴趣,则用户701可能对元数据不感兴趣。XR***700可以获得上下文信息,比如,检测到的指示用户没有正在看数码相框710的眼睛注视、感测到的指示用户行走的运动、用户701的日历(例如,指示用户在不同位置具有即将到来的约会)、用户701的偏好、用户历史数据、用户通信和/或其它上下文信息。基于由XR***700获得的上下文信息,XR***700可以确定用户正在走过数码相框710,用户没有看数码相框710,和/或用户在其它方面中有可能对元数据712不感兴趣。然后,XR***700可以向数码相框710发送命令以防止数码相框710呈现元数据712(这可能潜在地分散用户的注意力)。
图8A是示出当场景中存在多个设备时用户802使用XR***800与一个或多个设备交互的示例的图。在该示例中,场景包括数码相框810、遥控器812和数字恒温器814。用户802可以使用XR***800来与场景中的任何设备进行交互,包括数码相框810、遥控器812和/或数字恒温器814。XR***800可以从数码相框810、遥控器812和数字恒温器814接收输入选项和/或相关联的数据,并且可以呈现与对应于数码相框810、遥控器812和/或数字恒温器814的输入选项相关联的用户引导数据。
在一些情况下,当场景包括如图8A所示的多个远程设备时,XR***800可能难以确定用户802希望与场景中的多个设备中的哪个设备进行交互和/或XR***800应当呈现针对哪个设备的引导数据。在一些示例中,XR***800可以从数码相框810、遥控器812和数字恒温器814接收输入选项。输入选项可以包括关于在数码相框810、遥控器812和数字恒温器814处可用/可接受的输入类型的信息。然而,当从场景中的多个设备接收这样的数据时,XR***800可能由于来自多个设备的数据而过载。数据过载可能使得XR***800难以向用户802呈现相关信息、向用户呈现信息而没有显著混乱、管理数据和/或与设备的交互等。
例如,参照图8B,XR***800可以显示与数码相框810有关的数据820、与遥控器812有关的数据822、以及与数字恒温器814有关的数据824。对于XR***800和/或用户802,数据820、822和824可能变得压倒。例如,如图8B所示,当由XR***800呈现时,数据820、822和824可能变得杂乱,并且XR***800呈现的信息可能变得过载并且难以解析、管理、理解等。在一些示例中,XR***800可以过滤来自数字相框810、遥控器812和数字恒温器814的数据,以简化和/或统一由XR***800所呈现的用于数字相框810,遥控器812和数字恒温器816的数据。在一些情况下,XR***800可以将呈现的数据限制为与特定相关设备相对应的数据。
为了说明,参考图8C,XR***800可以预测用户希望与远程设备812交互或将与远程设备812交互。XR***800可以使用该信息来过滤掉与数码相框810相关联的数据820和与数字恒温器814相关联的数据824,以便简化由XR***800呈现的数据。XR***800可以呈现与远程设备812相关联的数据822,其被预测为与用户802和/或当前上下文相关。在一些示例中,数据822可以包括用户可以用来与遥控器812交互的输入选项和/或通知用户如何与遥控器812交互的输入选项的指示。在一些情况下,数据822可以包括用户引导数据以促进用户与远程设备812的交互。在一些示例中,图8C所示的呈现可以消除和/或简化由XR***800呈现的数据。
在一些情况下,XR***800可以使用上下文信息来预测用户802将与数码相框810、遥控器812和数字恒温器814中的哪一个进行交互、与用户802等相关、和/或来自数码相框810、遥控器812和/或数字恒温器814的哪些数据呈现给用户。在一些情况下,XR***800可以呈现与数码相框810、遥控器812和数字恒温器814相关的简化信息,XR***800和用户802可以使用该简化信息来过滤掉不太相关的信息并将呈现给用户802的信息量减少到与用户802最相关的信息。
例如,参考图8D,XR***800可以呈现输入选项的菜单840。菜单840可以指示可用于用户交互的各种设备,并且向用户802提供选择用户感兴趣的特定设备的能力。如果用户选择特定设备,则XR***800可以呈现对应于该特定设备的数据,诸如输入选项。例如,如果用户802从菜单840中选择数码相框810,则XR***800然后可以呈现与数码相框810相关的数据并且排除与遥控器812和/或恒温器814相关的其它数据。
在另一说明性示例中,XR***100可以帮助用户使用汽车控件。例如,驾驶车辆的用户可以靠路边停车。XR***100可以(例如,基于运动信息、来自用户的语音数据、来自车辆的数据等)检测到用户靠路边停车。基于确定用户将车辆靠路边停车,XR***100可以确定用户应当激活车辆上的危险信号灯。用户可以扫描车辆的仪表板,以寻找危险指示灯按钮。XR***100可以使用眼睛跟踪、图像分析和/或其它技术来确定用户无法找到或难以找到危险指示灯按钮。XR***100可以使用这样的上下文信息来确定用户需要帮助找到危险指示灯按钮。XR***100可以定位/识别危险灯按钮并覆盖危险灯按钮周围的AR内容,以引导/辅助用户定位危险按钮。
虽然上面描述了使用输入数据和上下文信息来确定呈现给用户的输入选项的XR***100(和其它XR***)的某些说明性示例,但是XR***100可以基于输入数据和上下文信息来执行任何其它功能,以帮助XR***100的用户与一个或多个其它设备进行交互。
图9是示出用于使用本文描述的一种或多种技术来呈现与至少一个输入选项相关联的信息的过程900的示例的流程图。在框902处,过程900可以包括:接收标识与场景中的设备相关联的一个或多个输入选项的数据。例如,XR***(例如,XR***100)可以接收标识哪些输入选项在场景中的一个或多个远程设备处可用的数据。
在框904处,过程900可以包括:确定(包括使用至少一个存储器)与场景、设备和与电子设备(例如,XR***100)相关联的用户中的至少一者相关的信息。在一些示例中,信息可以包括上下文信息。上下文信息可以提供例如关于场景、用户、设备和/或电子设备的信息。
在框906处,过程900可以包括:基于一个或多个输入选项和信息,输出与已经确定了相关上下文信息的输入选项相对应的用户引导数据。在一些示例中,用户引导数据可以包括以下各项中的至少一项:与输入选项相关联的用户输入元素、与输入选项相关联的物理对象上的虚拟覆盖物、和/或指示如何提供与输入选项相关联的输入的提示。
在一些方面中,过程900可以包括:基于信息来预测与设备的用户交互;以及,基于一个或多个输入选项和经预测的用户交互来呈现与输入选项相对应的用户引导数据。
在一些示例中,设备可以包括:具有网络通信能力的连接设备,并且过程900可以包括:基于信息和一个或多个输入选项来确定表示经预测的用户交互的手势;以及,呈现用户引导数据。在一些示例中,经预测的用户交互可以包括对设备的经预测的用户输入。在一些情况下,用户引导数据可以包括对手势的指示,该手势在被检测到时调用在设备处的实际用户输入。
在一些方面中,呈现用户引导数据可以包括:在与电子设备相关联的显示器处渲染被配置为看起来位于设备的表面上的虚拟覆盖物。在一些示例中,虚拟覆盖物可以包括与输入选项相关联的用户界面元素。在一些情况下,用户界面元素可以包括以下各项中的至少一项:与输入选项相关联的虚拟用户输入对象和被配置为接收与输入选项相对应的输入的设备上的物理控制对象的视觉指示。
在一些示例中,信息包括用户的眼睛注视和用户的姿态中的至少一个,并且过程900可以包括:基于用户的眼睛注视和用户的姿态中的至少一个来预测与设备的用户交互;在呈现用户引导数据之后,检测与输入选项相关联的实际用户输入,实际用户输入表示经预测的用户交互;以及,向设备发送对应于与输入选项相关联的实际用户输入的命令。
在一些示例中,输出与输入选项相对应的用户引导数据可以包括:显示用户引导数据。在一些示例中,输出与输入选项相对应的用户引导数据可以包括:输出表示所述用户引导数据的音频数据。
在一些示例中,输出与输入选项相对应的用户引导数据可以包括显示用户引导数据;以及,输出与所显示的用户引导数据相关联的音频数据。
在一些方面中,过程900可以包括:从设备接收标识与设备相关联的一个或多个输入选项的数据。在一些方面中,过程900可以包括:从服务器接收标识与设备相关联的一个或多个输入选项的数据。
在一些情况下,设备不具有用于接收一个或多个用户输入的外部用户界面。在一些方面中,过程900可以包括:基于该信息,避免呈现与设备相关联的附加用户引导数据。
在一些方面中,过程900可以包括:在呈现用户引导数据之后,获得与输入选项相关联的用户输入;以及,向设备发送与用户输入相对应的指令。在一些情况下,指令可以被配置为控制设备的一个或多个操作。
在一些示例中,本文中描述的过程(例如,过程5900和/或本文中描述的其它过程)可以由计算设备或装置来执行。在一个示例中,过程900可以由图1的XR***100来执行。在另一示例中,过程900可以由具有图10所示的计算***1000的计算设备来执行。例如,具有在图10中所示的计算架构的计算设备可以包括图1的XR***100的组件,并且可以实施图9的操作。
计算设备可以包括任何适当的设备,诸如移动设备(例如,移动电话)、台式计算设备、平板计算设备、可穿戴设备(例如,VR头戴式设备、AR头戴式设备、AR眼镜、网络连接手表或智能手表、或其它可穿戴设备)、服务器计算机、自主车辆或自主车辆的计算设备、机器人设备、电视机和/或具有执行本文描述的过程(包括过程800)的资源能力的任何其它计算设备。在一些情况下,计算设备或装置可以包括各种组件,诸如一个或多个输入设备、一个或多个输出设备、一个或多个处理器、一个或多个微处理器、一台或多个微型计算机、一个或多个照相机、一个或多个传感器、和/或被配置为执行本文中描述的过程的步骤的(多个)其它组件。在一些示例中,计算设备可以包括显示器、被配置为传送和/或接收数据的网络接口、其任何组合、和/或(多个)其它组件。网络接口可以被配置为传送和/或接收基于互联网协议(IP)的数据或其它类型的数据。
计算设备的组件可以被实施在电路中。例如,组件可以包括电子电路或其它电子硬件,和/或者可以使用电子电路或其它电子硬件来实施,所述电子电路或其它电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)、和/或其它合适的电子电路),和/或者组件可以包括用于执行本文中描述的各种操作的计算机软件、固件或其组合和/或者可以使用用于执行本文中描述的各种操作的计算机软件、固件或其组合来实现。
过程900被示为逻辑流程图,逻辑流程图的操作表示可以在硬件、计算机指令或其组合中实现的一系列操作。在计算机指令的背景下,操作表示被存储在一个或多个计算机可读存储介质上的计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时执行所记载的操作。通常,计算机可执行指令包括执行特定功能或实施特定数据类型的例程、程序、对象、组件、数据结构、等等。操作以其描述的顺序不旨在被解释为限制,并且任何数量个所描述的操作可以以任何顺序和/或并行地组合以实施所述过程。
另外,过程900和/或本文描述的其它过程可以在被配置有可执行指令的一个或多个计算机***的控制下执行,以及可以作为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用)来实现,通过硬件来实现,或其组合。如上面所指出的,代码可以例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读或机器可读存储介质上。计算机可读或机器可读存储介质可以是非暂时性的。
图10是示出用于实施本技术的某些方面的***的示例的示意图。具体地,图10示出了计算***1000的示例,其可以是例如构成内部计算***、远程计算***、相机或其任何组件的任何计算设备,其中***的各组件使用连接1005彼此通信。连接1005可以是使用总线的物理连接、或者是到处理器1010的直接连接,例如在芯片组架构中。连接1005也可以是虚拟连接、网络连接或逻辑连接。
在一些实施例中,计算***1000是分布式***,其中,本公开内容中描述的功能可以分布在数据中心、多个数据中心、对等网络等内。在一些实施例中,所描述的***组件中的一个或多个***组件表示许多这样的组件,每个组件执行针对其描述该组件的功能中的一些功能或全部功能。在一些实施例中,组件可以是物理设备或虚拟设备。
示例***1000包括至少一个处理单元(CPU或处理器)1010和连接1005,连接1505将包括***存储器1015(诸如只读存储器(ROM)1020和随机存取存储器(RAM)1025)的各种***组件耦合到处理器1010。计算***1000可以包括高速存储器的高速缓存1012,高速存储器直接与处理器1010连接、紧邻处理器1010或集成为处理器1010的一部分。
处理器1010可以包括任何通用处理器和硬件服务或软件服务,诸如存储在存储设备1030中的服务1032、1034和1036,其被配置为控制处理器1010以及专用处理器,在专用处理器中软件指令被并入到实际的处理器设计中。处理器1010本质上可以是完全自包含的计算***,包含多个核心或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或不对称的。
为了实现用户交互,计算***1000包括可以表示任何数量的输入机构的输入设备1045,诸如用于语音的麦克风、用于手势或图形输入的触摸敏感屏幕、键盘、鼠标、运动输入、语音等。计算***1000还可以包括输出设备1035,其可以是多种输出机构中的一种或多种。在一些实例中,多模式***可以使得用户能够提供多种类型的输入/输出,以与计算***1000进行通信。计算***1000可以包括通信接口1040,其通常可以支配和管理用户输入和***输出。通信接口可以使用有线和/或无线收发机执行或促进接收和/或发送有线或无线通信,包括使用音频插孔/插头、麦克风插孔/插头、通用串行总线(USB)端口/插头、端口/插头、以太网端口/插头、光纤端口/插头、专有有线端口/插头、/>无线信号传输、/>低功耗(BLE)无线信号传输、/>无线信号传输、射频识别(RFID)无线信号传输、近场通信(NFC)无线信号传输、专用短程通信(DSRC)无线信号传输、802.11Wi-Fi无线信号传输、无线局域网(WLAN)信号传输、可见光通信(VLC)、全球微波接入互操作性(WiMAX)、红外线(IR)通信无线信号传输、公共交换电话网(PSTN)信号传输、综合业务数字网(ISDN)信号传输、3G/4G/5G/LTE蜂窝数据网络无线信号传输、自组织(ad-hoc)网络信号传输、无线电波信号传输、微波信号传输、红外线信号传输、可见光信号传输、紫外光信号传输、沿电磁波谱的无线信号传输、或它们的某种组合的那些有线和/或无线收发机。通信接口1040还可以包括一个或多个全球导航卫星***(GNSS)接收机或收发机,其用于基于从与一个或多个GNSS***相关联的一个或多个卫星接收到一个或多个信号来确定计算***1000的位置。GNSS***包括但不限于:基于美国的全球定位***(GPS)、基于俄罗斯的全球导航卫星***(GLONASS)、基于中国的北斗导航卫星***(BDS)以及基于欧洲的伽利略(Galileo)GNSS。对于任何特定硬件布置的操作都没有限制,因此这里的基本特征可以很容易地被替换为如它们被开发的改进的硬件或固件布置。
存储设备1030可以是非易失性和/或非暂时性和/或计算机可读存储器设备,以及可以是硬盘、或可以存储由计算机可存取的数据的其它类型的计算机可读介质,诸如磁带盒、闪存卡、固态存储设备、数字多功能光盘、盒式磁带、软盘、软磁盘、硬盘、磁带、磁条/条带、任何其它磁存储介质、闪存、忆阻器存储器、任何其它固态存储器、压缩光盘只读存储器(CD-ROM)光盘、可重写压缩光盘(CD)光盘、数字视频光盘(DVD)光盘、蓝光光盘(BDD)光盘、全息光盘、另一光学介质、安全数字(SD)卡、微安全数字(microSD)卡、卡、智能卡芯片、EMV芯片、订户身份模块(SIM)卡、迷你/微/纳米/微微SIM卡、另一集成电路(IC)芯片/卡、随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存EPROM(FLASHEPROM)、高速缓冲存储器(L1/L2/L3/L4/L5/L#)、电阻随机存取存储器(RRAM/ReRAM)、相变存储器(PCM)、自旋转移矩RAM(STT-RAM)、另一存储器芯片或盒、和/或其组合。
存储设备1030可以包括软件服务、服务器、服务等,当定义这样的软件的代码由处理器1010执行时,其使得***执行功能。在一些实施例中,执行特定功能的硬件服务可以包括存储在计算机可读介质中的软件组件,该软件组件连同必要的硬件组件(例如处理器1010、连接1005、输出设备1035等)来执行功能。术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光学存储设备以及能够存储、包含或携带指令和/或数据的各种其它介质。计算机可读介质可以包括可存储数据的非暂时性介质,而不包括无线传输或通过有线连接传输的载波和/或暂时性电子信号。非暂时性介质的示例可以包括但不限于:磁盘或磁带、光盘存储介质(如,压缩光盘(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)、FLASH存储器、磁或光数据存储介质、等等。附加地或替代地,技术可以至少部分地由计算机可读通信介质来实现,该计算机可读通信介质携带或传送指令或数据结构形式的且可由计算机存取、读取和/或执行的程序代码,诸如传播的信号或波。
程序代码可以由处理器执行,该处理器可以包括一个或多个处理器,例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或者其它等效的集成逻辑电路或离散逻辑电路。这种处理器可以被配置为执行本公开内容中描述的任何技术。通用处理器可以是微处理器;但是在替代的方式中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、结合DSP核的一个或多个微处理器、或者任何其它这样的配置。因此,如本文中所使用的术语“处理器”可以指前述结构中的任何结构、前述结构的任何组合或适合于实施本文中所描述的技术的任何其它结构或装置。
本公开内容的说明性方面包括:
方面1、一种用于输出与至少一个输入选项相关联的信息的装置,包括:至少一个存储器;以及耦合到所述至少一个存储器的至少一个处理器,所述至少一个处理器被配置为:接收标识与场景中的设备相关联的一个或多个输入选项的数据;包括使用至少一个存储器,确定与所述场景、所述设备和与所述装置相关联的用户中的至少一个相关的信息;以及基于所述一个或多个输入选项和所述信息,输出与已经确定了相关上下文信息的输入选项相对应的用户引导数据。
方面2.根据方面1所述的装置,其中,为了接收标识一个或多个输入选项的数据,所述至少一个处理器被配置为:在场景中执行对象识别以标识用于操作对象的一个或多个输入选项。
方面3.根据方面2所述的装置,其中,所述对象在所述用户的阈值接近度内和所述用户的视场(FOV)内的至少一者。
方面4.根据方面1至3中任一项所述的装置,其中,所述至少一个处理器被配置为:检测所述场景中的一个或多个附加设备;基于所述信息,确定预测所述用户是否将与所述设备或所述一个或多个附加设备进行交互的置信度值;以及响应于所确定的置信度值超过阈值,预测与所述设备的用户交互。
方面5.根据方面4所述的装置,其中,所述至少一个处理器被配置为:响应于预测与所述设备的所述用户交互,过滤与所述一个或多个附加设备相关联的内容;以及,输出与所述设备相关联的内容。
方面6.根据方面4至5中任一项所述的装置,其中,所述至少一个处理器被配置为辨别所述用户被预测与所述设备和所述一个或多个附加设备中的哪一个设备进行交互。
方面7.根据方面4到6中任一者所述的装置,其中,所述至少一个处理器被配置为以简化用户接口内容的呈现以避免内容过载、混淆及内容混乱中的至少一者。
方面8.根据方面1至7中任一项所述的装置,其中,所述设备包括具有网络通信能力的连接设备,并且所述至少一个处理器被配置为:基于所述信息和所述一个或多个输入选项,确定表示预测的用户交互的手势,所述预测的用户交互包括对所述设备的预测的用户输入;以及,呈现所述用户引导数据,其中,所述用户引导数据包括关于所述手势的指示,所述手势在被检测到时调用在所述设备处的实际用户输入。
方面9.根据方面1至8中任一项所述的装置,其中,所述用户引导数据包括各项中的至少一项:与所述输入选项相关联的用户输入元素、与所述输入选项相关联的物理对象上的虚拟覆盖物、以及,指示如何提供与所述输入选项相关联的输入的提示。
方面10.根据方面7所述的装置,其中,所述至少一个处理器被配置为:基于所述信息,预测与所述设备的用户交互;以及,基于所述一个或多个输入选项和所预测的用户交互,呈现与所述输入选项相对应的所述用户引导数据。
方面11.根据方面1至10中任一项所述的装置,其中,为了呈现所述用户引导数据,所述至少一个处理器被配置为:在与所述装置相关联的显示器处渲染虚拟覆盖物,所述虚拟覆盖物被配置为看起来位于所述设备的表面上,所述虚拟覆盖物包括与所述输入选项相关联的用户界面元素,其中,所述用户界面元素包括与所述输入选项相关联的虚拟用户输入对象和被配置为接收与所述输入选项相对应的所述输入的所述设备上的物理控制对象的视觉指示中的至少一项。
方面12.根据方面1至11中任一项所述的装置,其中,所述信息包括所述用户的眼睛注视和所述用户的姿态中的至少一项,所述至少一个处理器被配置为:基于用户的眼睛注视和用户的姿势中的至少一项来预测与设备的用户交互;在呈现用户引导数据之后,检测与输入选项相关联的实际用户输入,所述实际用户输入表示经预测的用户交互;以及,向设备发送对应于与输入选项相关联的实际用户输入的命令。
方面13.根据方面1至12中任一项所述的装置,其中,为了输出与所述输入选项相对应的所述用户引导数据,所述至少一个处理器被配置为:显示所述用户引导数据。
方面14.根据方面1至13中任一项所述的装置,其中,为了输出与所述输入选项相对应的所述用户引导数据,所述至少一个处理器被配置为:输出表示所述用户引导数据的音频数据。
方面15.根据方面1-14中任一项所述的装置,其中,为了输出与所述输入选项相对应的所述用户引导数据,所述至少一个处理器被配置为:显示所述用户引导数据;以及,输出与所显示的用户引导数据相关联的音频数据。
方面16.根据方面1到15中任一项所述的装置,其中,所述至少一个处理器被配置为:从所述装置接收识别与所述设备相关联的所述一个或多个输入选项的数据。
方面17.根据方面1至16中任一项所述的装置,其中,所述至少一个处理器被配置为:从服务器接收标识与所述设备相关联的所述一个或多个输入选项的所述数据。
方面18.根据方面1至17中任一项所述的装置,其中,所述设备不具有用于接收一个或多个用户输入的外部用户接口。
方面19.根据方面1至18中任一项所述的装置,其中,所述至少一个处理器被配置为:基于所述信息,避免呈现与所述设备相关联的附加用户引导数据。
方面20.根据方面1至方面19中任一项所述的装置,其中,所述装置是扩展现实设备。
方面21.根据方面1至20中任一项所述的装置,还包括显示器。
方面22.根据方面21所述的装置,其中,显示器被配置为至少显示用户引导数据。
方面23.根据方面1至22中任一项所述的装置,其中,所述至少一个处理器被配置为:在呈现所述用户引导数据之后,获得与所述输入选项相关联的用户输入;以及向所述设备发送与所述用户输入相对应的指令,所述指令被配置为控制所述设备的一个或多个操作。
方面24.根据方面1至23中任一项所述的装置,其中,与所述场景、所述设备和所述用户中的至少一者相关的所述信息包括以下各项中的至少一项:与所述设备的经预测的用户交互、所述用户在所述场景中的一个或多个动作、与所述用户相关联的特性、与所述用户和所述设备相关联的历史信息、所述设备的用户界面能力、与所述设备相关联的信息、以及与所述场景相关联的信息。
方面25.根据方面1至24中任一项所述的装置,其中,所述至少一个处理器被配置为:检测在所述场景中的一个或多个附加设备;基于所述上下文信息,确定指示与所述设备或所述一个或多个附加设备的所述用户交互的可能性的置信度值;以及响应于所确定的置信度值超过阈值,预测所述用户交互。
方面26.根据方面1至25中任一项所述的装置,其中,所述至少一个处理器还被配置为:从所述用户接收针对所述用户交互数据的确认;响应于来自所述用户的所述确认,与所述设备进行交互。
方面27.根据方面26所述的装置,其中,所述确认是音频确认。
方面28.根据方面26至27中任一项所述的装置,其中,所述确认是在所述装置处接收的用户输入。
方面29.一种用于输出与至少一个输入选项相关联的信息的方法,包括:接收标识与场景中的设备相关联的一个或多个输入选项的数据;包括使用至少一个存储器,确定与所述场景、所述设备和与电子设备相关联的用户中的至少一项相关的信息;以及基于所述一个或多个输入选项和所述信息,输出与已经确定了相关上下文信息的输入选项相对应的用户引导数据。
方面30.根据方面29所述的方法,其中,接收标识一个或多个输入选项的数据包括:在场景中执行对象识别以标识用于操作对象的一个或多个输入选项。
方面31.根据方面30所述的方法,其中,所述对象在所述用户的阈值接近度内和所述用户的视场(FOV)内的至少一者。
方面32.根据方面29至31中任一项所述的方法,还包括:检测在所述场景中的一个或多个附加设备;基于所述信息,确定预测所述用户是否将与所述设备或所述一个或多个附加设备进行交互的置信度值;以及响应于所确定的置信度值超过阈值,预测与所述设备的用户交互。
方面33.根据方面29至32中任一项所述的方法,还包括:响应于预测与所述设备的所述用户交互,过滤与所述一个或多个附加设备相关联的内容;以及,输出与所述设备相关联的内容。
方面34.根据方面29至33中任一项所述的方法,还包括:辨别预测所述用户与所述设备和所述一个或多个附加设备中的哪一个设备进行交互。
方面35.根据方面34所述的方法,还包括:简化用户界面内容的呈现以避免内容过载、混淆和内容混乱中的至少一项。
方面36.根据方面29至35中任一项所述的方法,其中,所述用户引导数据包括各项中的至少一项:与所述输入选项相关联的用户输入元素、与所述输入选项相关联的物理对象上的虚拟覆盖物、以及,指示如何提供与所述输入选项相关联的输入的提示。
方面37.根据方面29至36中任一项所述的方法,还包括:基于所述信息,预测与所述设备的用户交互;以及,基于所述一个或多个输入选项和所预测的用户交互,呈现与所述输入选项相对应的所述用户引导数据。
方面38.根据方面37所述的方法,其中,所述设备包括具有网络通信能力的连接设备,并且所述方法还包括:基于所述信息和所述一个或多个输入选项,确定表示经预测的用户交互的手势,所述经预测的用户交互包括对所述设备的经预测的用户输入;以及呈现所述用户引导数据,其中,所述用户引导数据包括关于所述手势的指示,当检测到所述手势时,调用在所述设备处的实际用户输入。
方面39.根据方面29至38中任一项所述的方法,其中,呈现所述用户引导数据包括:在与所述电子设备相关联的显示器处渲染虚拟覆盖物,所述虚拟覆盖物被配置为看起来位于所述设备的表面上,所述虚拟覆盖物包括与所述输入选项相关联的用户界面元素,其中,所述用户界面元素包括与所述输入选项相关联的虚拟用户输入对象和被配置为接收与所述输入选项相对应的所述输入的所述设备上的物理控制对象的视觉指示中的至少一项。
方面40.根据方面29至39中任一项所述的方法,其中,所述信息包括所述用户的眼睛注视和所述用户的姿态中的至少一者,所述方法还包括:基于所述用户的所述眼睛注视和所述用户的所述姿态中的至少一个来预测与所述设备的用户交互;在呈现所述用户引导数据之后,检测与所述输入选项相关联的实际用户输入,所述实际用户输入表示所预测的用户交互;以及向所述设备发送对应于与所述输入选项相关联的所述实际用户输入的命令。
方面41.根据方面29至40中任一项所述的方法,其中,输出与输入选项相对应的用户引导数据包括:显示用户引导数据。
方面42.根据方面29至41中任一项所述的方法,其中,输出与输入选项相对应的用户引导数据包括:输出表示用户引导数据的音频数据。
方面43.根据方面29至42中任一项所述的方法,其中,输出与所述输入选项相对应的所述用户引导数据包括:显示所述用户引导数据;以及,输出与所显示的用户引导数据相关联的音频数据。
方面44.根据方面29至43中任一项所述的方法,还包括:从所述设备接收标识与所述设备相关联的所述一个或多个输入选项的数据。
方面45.根据方面29至44中任一项所述的方法,还包括:从服务器接收标识与设备相关联的一个或多个输入选项的数据。
方面46.根据方面29至45中任一项所述的方法,其中,所述设备不具有用于接收一个或多个用户输入的外部用户接口。
方面47.根据方面29至46中任一项所述的方法,还包括:基于所述信息,避免呈现与所述设备相关联的附加用户引导数据。
方面48.根据方面29至47中任一项所述的方法,还包括:在呈现所述用户引导数据之后,获得与所述输入选项相关联的用户输入;以及向所述设备发送与所述用户输入相对应的指令,所述指令被配置为控制所述设备的一个或多个操作。
方面49.根据方面29至48中任一项所述的方法,其中,与所述场景、所述设备和所述用户中的至少一者相关的所述信息包括以下各项中的至少一项:与所述设备的经预测的用户交互、所述用户在所述场景中的一个或多个动作、与所述用户相关联的特性、与所述用户和所述设备相关联的历史信息、所述设备的用户界面能力、与所述设备相关联的信息、以及与所述场景相关联的信息。
方面50.根据方面29至49中任一项所述的方法,还包括:检测场景中的一个或多个附加设备;基于上下文信息,确定指示用户与设备或一个或多个附加设备交互的可能性的置信度值;以及,响应于所确定的置信度值超过阈值,预测用户交互。
方面51.根据方面29至50中任一项所述的方法,还包括:从所述用户接收针对所述用户交互数据的确认;响应于来自所述用户的所述确认,与所述设备进行交互。
方面52.根据方面51所述的方法,其中,所述确认是音频确认。
方面53.根据方面51至52中任一项所述的方法,其中,所述确认是在所述装置处接收的用户输入。
方面54.一种非暂时性计算机可读介质,其上存储有指令,所述指令当由一个或多个处理器执行时,使所述一个或多个处理器执行根据方面29至53中的任一方面的方法。
方面55.一种装置,包括用于执行根据方面29至53中的任一方面的方法的单元。

Claims (31)

1.一种用于输出与至少一个输入选项相关联的信息的装置,包括:
至少一个存储器;以及
耦合到所述至少一个存储器的至少一个处理器,所述至少一个处理器被配置为:
接收标识与场景中的设备相关联的一个或多个输入选项的数据;
包括使用至少一个存储器,确定与所述场景、所述设备以及与所述装置相关联的用户中的至少一项相关的信息;以及
基于所述一个或多个输入选项和所述信息,输出与已经确定了相关上下文信息的输入选项相对应的用户引导数据。
2.根据权利要求1所述的装置,其中,所述用户引导数据包括以下各项中的至少一项:与所述输入选项相关联的用户输入元素、与所述输入选项相关联的物理对象上的虚拟覆盖物、以及指示如何提供与所述输入选项相关联的输入的提示。
3.根据权利要求1所述的装置,其中,所述至少一个处理器被配置为:
基于所述信息,预测与所述设备的用户交互;以及
基于所述一个或多个输入选项和所述预测的用户交互,来呈现与所述输入选项相对应的所述用户引导数据。
4.根据权利要求1所述的装置,其中,所述设备包括具有网络通信能力的连接设备,并且所述至少一个处理器被配置为:
基于所述信息和所述一个或多个输入选项,确定表示经预测的用户交互的手势,所述经预测的用户交互包括对所述设备的经预测的用户输入;以及
呈现所述用户引导数据,其中,所述用户引导数据包括关于所述手势的指示,当检测到所述手势时,调用在所述设备处的实际用户输入。
5.根据权利要求1所述的装置,其中,为了呈现所述用户引导数据,所述至少一个处理器被配置为:
在与所述装置相关联的显示器处渲染虚拟覆盖物,所述虚拟覆盖物被配置为看起来位于所述设备的表面上,所述虚拟覆盖物包括与所述输入选项相关联的用户界面元素,其中,所述用户界面元素包括以下各项中的至少一项:与所述输入选项相关联的虚拟用户输入对象、以及被配置为接收与所述输入选项相对应的所述输入的所述设备上的物理控制对象的视觉指示。
6.根据权利要求1所述的装置,其中,所述信息包括所述用户的眼睛注视和所述用户的姿态中的至少一项,所述至少一个处理器被配置为:
基于所述用户的所述眼睛注视和所述用户的所述姿态中的至少一项,来预测与所述设备的用户交互;
在呈现所述用户引导数据之后,检测与所述输入选项相关联的实际用户输入,所述实际用户输入表示所述经预测的用户交互;以及
向所述设备发送对应于与所述输入选项相关联的所述实际用户输入的命令。
7.根据权利要求1所述的装置,其中,为了输出与所述输入选项相对应的所述用户引导数据,所述至少一个处理器被配置为:
显示所述用户引导数据。
8.根据权利要求1所述的装置,其中,为了输出与所述输入选项相对应的所述用户引导数据,所述至少一个处理器被配置为:
输出表示所述用户引导数据的音频数据。
9.根据权利要求1所述的装置,其中,为了输出与所述输入选项相对应的所述用户引导数据,所述至少一个处理器被配置为:
显示所述用户引导数据;以及
输出与所显示的用户引导数据相关联的音频数据。
10.根据权利要求1所述的装置,其中,所述至少一个处理器被配置为:
从所述设备接收标识与所述设备相关联的所述一个或多个输入选项的数据。
11.根据权利要求1所述的装置,其中,所述至少一个处理器被配置为:
从服务器接收标识与所述设备相关联的所述一个或多个输入选项的所述数据。
12.根据权利要求1所述的装置,其中,所述设备不具有用于接收一个或多个用户输入的外部用户接口。
13.根据权利要求1所述的装置,其中,所述至少一个处理器被配置为:
基于所述信息,避免呈现与所述设备相关联的附加用户引导数据。
14.根据权利要求1所述的装置,其中,所述装置是扩展现实设备。
15.根据权利要求1所述的装置,还包括显示器。
16.根据权利要求15所述的装置,其中,所述显示器被配置为至少显示所述用户引导数据。
17.根据权利要求1所述的装置,其中,所述至少一个处理器被配置为:
在呈现所述用户引导数据之后,获取与所述输入选项相关联的用户输入;以及
向所述设备发送与所述用户输入相对应的指令,所述指令被配置为控制所述设备的一个或多个操作。
18.一种用于输出与至少一个输入选项相关联的信息的方法,包括:
接收标识与场景中的设备相关联的一个或多个输入选项的数据;
包括使用至少一个存储器,确定与所述场景、所述设备和与电子设备相关联的用户中的至少一项相关的信息;以及
基于所述一个或多个输入选项和所述信息,输出与已经确定了相关上下文信息的输入选项相对应的用户引导数据。
19.根据权利要求18所述的方法,其中,所述用户引导数据包括以下各项中的至少一项:与所述输入选项相关联的用户输入元素、与所述输入选项相关联的物理对象上的虚拟覆盖物、以及指示如何提供与所述输入选项相关联的输入的提示。
20.根据权利要求18所述的方法,还包括:
基于所述信息,预测与所述设备的用户交互;以及
基于所述一个或多个输入选项和所述经预测的用户交互,来呈现与所述输入选项相对应的所述用户引导数据。
21.根据权利要求20所述的方法,其中,所述设备包括具有网络通信能力的连接设备,并且所述方法还包括:
基于所述信息和所述一个或多个输入选项,确定表示经预测的用户交互的手势,所述经预测的用户交互包括对所述设备的经预测的用户输入;以及
呈现所述用户引导数据,其中,所述用户引导数据包括关于所述手势的指示,当检测到所述手势时,调用在所述设备处的实际用户输入。
22.根据权利要求18所述的方法,其中,呈现所述用户引导数据包括:
在与所述电子设备相关联的显示器处渲染虚拟覆盖物,所述虚拟覆盖物被配置为看起来位于所述设备的表面上,所述虚拟覆盖物包括与所述输入选项相关联的用户界面元素,其中,所述用户界面元素包括以下各项中的至少一项:与所述输入选项相关联的虚拟用户输入对象、以及被配置为接收与所述输入选项相对应的所述输入的所述设备上的物理控制对象的视觉指示。
23.根据权利要求18所述的方法,其中,所述信息包括所述用户的眼睛注视和所述用户的姿态中的至少一项,所述方法还包括:
基于所述用户的所述眼睛注视和所述用户的所述姿态中的至少一项,来预测与所述设备的用户交互;
在呈现所述用户引导数据之后,检测与所述输入选项相关联的实际用户输入,所述实际用户输入表示所述经预测的用户交互;以及
向所述设备发送对应于与所述输入选项相关联的所述实际用户输入的命令。
24.根据权利要求18所述的方法,其中,输出对应于所述输入选项的所述用户引导数据包括:
显示所述用户引导数据。
25.根据权利要求18所述的方法,其中,输出对应于所述输入选项的所述用户引导数据包括:
输出表示所述用户引导数据的音频数据。
26.根据权利要求18所述的方法,其中,输出对应于所述输入选项的所述用户引导数据包括:
显示所述用户引导数据;以及
输出与所显示的用户引导数据相关联的音频数据。
27.根据权利要求18所述的方法,还包括:
从所述设备接收标识与所述设备相关联的所述一个或多个输入选项的数据。
28.根据权利要求18所述的方法,还包括:
从服务器接收标识与所述设备相关联的所述一个或多个输入选项的所述数据。
29.根据权利要求18所述的方法,其中,所述设备不具有用于接收一个或多个用户输入的外部用户接口。
30.根据权利要求18所述的方法,还包括:
基于所述信息,避免呈现与所述设备相关联的附加用户引导数据。
31.根据权利要求18所述的方法,还包括:
在呈现所述用户引导数据之后,获取与所述输入选项相关联的用户输入;以及
向所述设备发送与所述用户输入相对应的指令,所述指令被配置为控制所述设备的一个或多个操作。
CN202280067207.3A 2021-10-12 2022-10-07 与远程设备的用户交互 Pending CN118103799A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/450,680 2021-10-12
US17/450,680 US11960652B2 (en) 2021-10-12 2021-10-12 User interactions with remote devices
PCT/US2022/077812 WO2023064719A1 (en) 2021-10-12 2022-10-07 User interactions with remote devices

Publications (1)

Publication Number Publication Date
CN118103799A true CN118103799A (zh) 2024-05-28

Family

ID=84329774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280067207.3A Pending CN118103799A (zh) 2021-10-12 2022-10-07 与远程设备的用户交互

Country Status (5)

Country Link
US (1) US11960652B2 (zh)
KR (1) KR20240072170A (zh)
CN (1) CN118103799A (zh)
TW (1) TW202324041A (zh)
WO (1) WO2023064719A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023091525A1 (en) * 2021-11-19 2023-05-25 Apple Inc. Intention-based user interface control for electronic devices
US20240094822A1 (en) * 2022-09-19 2024-03-21 Sharon Moll Ar glasses as iot remote control

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013022222A2 (en) * 2011-08-05 2013-02-14 Samsung Electronics Co., Ltd. Method for controlling electronic apparatus based on motion recognition, and electronic apparatus applying the same
US20150193111A1 (en) * 2013-10-01 2015-07-09 Google Inc. Providing Intent-Based Feedback Information On A Gesture Interface
US9799143B2 (en) 2014-08-15 2017-10-24 Daqri, Llc Spatial data visualization
US10007413B2 (en) * 2015-04-27 2018-06-26 Microsoft Technology Licensing, Llc Mixed environment display of attached control elements
KR20230113663A (ko) 2016-05-20 2023-07-31 매직 립, 인코포레이티드 사용자 인터페이스 메뉴의 콘텍추얼 인식
US10957083B2 (en) * 2016-08-11 2021-03-23 Integem Inc. Intelligent interactive and augmented reality based user interface platform
US11043206B2 (en) * 2017-05-18 2021-06-22 Aiqudo, Inc. Systems and methods for crowdsourced actions and commands
US10963273B2 (en) 2018-04-20 2021-03-30 Facebook, Inc. Generating personalized content summaries for users
US10725629B2 (en) 2018-06-25 2020-07-28 Google Llc Identifying and controlling smart devices
US11231827B2 (en) * 2019-08-03 2022-01-25 Qualcomm Incorporated Computing device and extended reality integration
US11042259B2 (en) 2019-08-18 2021-06-22 International Business Machines Corporation Visual hierarchy design governed user interface modification via augmented reality

Also Published As

Publication number Publication date
US11960652B2 (en) 2024-04-16
WO2023064719A1 (en) 2023-04-20
KR20240072170A (ko) 2024-05-23
US20230116190A1 (en) 2023-04-13
TW202324041A (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
US11995774B2 (en) Augmented reality experiences using speech and text captions
US11068050B2 (en) Method for controlling display of virtual image based on eye area size, storage medium and electronic device therefor
US20210405761A1 (en) Augmented reality experiences with object manipulation
US12008153B2 (en) Interactive augmented reality experiences using positional tracking
CN115867912A (zh) 用于扩展现实的虚拟私用空间
CN116348918A (zh) 对扩展现实***的推荐
US11869156B2 (en) Augmented reality eyewear with speech bubbles and translation
US11922594B2 (en) Context-aware extended reality systems
CN111988729B (zh) 远程设备的发现和连接
CN118103799A (zh) 与远程设备的用户交互
US11195341B1 (en) Augmented reality eyewear with 3D costumes
CN116194867A (zh) 扩展现实***的用户界面布局和输入的动态配置
US11582409B2 (en) Visual-inertial tracking using rolling shutter cameras
US20210405363A1 (en) Augmented reality experiences using social distancing
US11729573B2 (en) Audio enhanced augmented reality
US20210406542A1 (en) Augmented reality eyewear with mood sharing
US12028626B2 (en) Visual-inertial tracking using rolling shutter cameras
US20240077935A1 (en) Virtual interfaces for controlling iot devices
US20240119928A1 (en) Media control tools for managing communications between devices
US20240077984A1 (en) Recording following behaviors between virtual objects and user avatars in ar experiences
CN117716253A (zh) 映射联网设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination