CN114080585A - 在人工现实环境中使用***设备的虚拟用户界面 - Google Patents

在人工现实环境中使用***设备的虚拟用户界面 Download PDF

Info

Publication number
CN114080585A
CN114080585A CN202080049039.6A CN202080049039A CN114080585A CN 114080585 A CN114080585 A CN 114080585A CN 202080049039 A CN202080049039 A CN 202080049039A CN 114080585 A CN114080585 A CN 114080585A
Authority
CN
China
Prior art keywords
user interface
virtual
artificial reality
peripheral device
virtual user
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
CN202080049039.6A
Other languages
English (en)
Inventor
沙琳·玛丽·阿特拉斯
马克·泰拉诺
查德·奥斯丁·布拉威尔
卡琳·瓦尼奥
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.)
Meta Platforms Technologies LLC
Original Assignee
Facebook Technologies LLC
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 Facebook Technologies LLC filed Critical Facebook Technologies LLC
Publication of CN114080585A publication Critical patent/CN114080585A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1686Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0132Head-up displays characterised by optical features comprising binocular systems
    • G02B2027/0134Head-up displays characterised by optical features comprising binocular systems of stereoscopic type
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

总的来说,本公开描述了用于生成和呈现虚拟用户界面的人工现实***和技术,用户可以使用物理***设备与该虚拟用户界面交互。在一些示例中,人工现实***包括图像捕获设备,其被配置为捕获图像数据;头戴式显示器(HMD),其被配置为输出人工现实内容;用户界面引擎,其被配置为从图像数据中检测***设备,其中用户界面引擎被配置为生成包括一个或更多个虚拟用户界面元素的虚拟用户界面;以及渲染引擎,其被配置为渲染人工现实内容,并且在用户界面位置处渲染虚拟用户界面,以用于在HMD处显示,该用户界面位置相对于***设备在人工现实环境中的位置被锁定。

Description

在人工现实环境中使用***设备的虚拟用户界面
技术领域
本公开总体上涉及人工现实***,诸如增强现实、混合现实和/或虚拟现实***,且更具体地,涉及人工现实环境中的用户界面。
背景
人工现实***正变得越来越普遍,且应用于许多领域,诸如计算机游戏、健康和安全、工业和教育。作为几个示例,人工现实***正在被结合到移动设备、游戏机、个人计算机、电影院和主题公园中。通常,人工现实是在呈现给用户之前已经以某种方式调整的现实的形式,其可包括例如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、混杂现实(hybridreality)、或其某种组合和/或衍生物。
典型人工现实***包括用于渲染和向用户显示内容的一个或更多个设备。作为一个示例,人工现实***可合并头戴式显示器(HMD),该HMD由用户佩戴并且被配置为向用户输出人工现实内容。人工现实内容可包括完全生成的内容或与捕获内容(例如,真实世界视频和/或图像)组合的生成内容。在操作期间,用户通常与人工现实***交互,以在人工现实环境中与虚拟现实内容交互。
概述
本发明涉及人工现实***,人工现实***包括被配置为捕获图像数据的图像捕获设备、被配置为输出人工现实内容的头戴式显示器(HMD)和被配置为从图像数据中检测***设备的用户界面引擎。用户界面引擎被配置为生成包括一个或更多个虚拟用户界面元素(elements)的虚拟用户界面。此外,渲染引擎被配置为渲染人工现实内容,并且在用户界面位置处渲染虚拟用户界面以用于在HMD处显示,所述用户界面位置相对于***设备在人工现实环境中的位置(position)被锁定。
在实施例中,人工现实***可以进一步包括手势(gesture)检测器,该手势检测器被配置为检测由用户在与虚拟用户界面元素之一对应的位置处执行的用户界面手势,其中人工现实***可以被配置为响应于用户界面手势,执行与虚拟用户界面元素之一相关联的一个或更多个动作。
人工现实***可以进一步包括***设备,其中***设备可以包括配置为接收用户的一个或更多个输入的存在敏感界面。手势检测器可以被配置为基于一个或更多个输入来检测用户界面手势。
为了执行一个或更多个动作,用户界面引擎可以被配置为修改虚拟用户界面以生成包括一个或更多个修改的虚拟用户界面元素的修改的虚拟用户界面,并且渲染引擎可以被配置为在用户界面位置处渲染修改的虚拟用户界面,以用于在HMD处显示。
在一个实施例中,渲染引擎可以被配置为渲染在***设备的表面上覆盖的虚拟用户界面。
***设备的表面可以包括存在敏感界面。
在一个实施例中,人工现实***可以进一步包括***设备,其中***设备不包括显示器。
在一个实施例中,人工现实***可以进一步包括***设备,其中***设备可以包括显示器。虚拟用户界面引擎可以被配置为向***设备发送消息(communication)以使***设备停用显示器。
在实施例中,人工现实***可以进一步包括***设备,其中***设备可以包括显示器。虚拟用户界面引擎可以被配置为接收显示器被停用的指示。为了生成虚拟用户界面,虚拟用户界面引擎可以被配置为响应于基于该指示确定显示器被停用而生成虚拟用户界面。
在一个实施例中,人工现实***可以进一步包括***设备,其中***设备可以包括手势检测器,该手势检测器被配置为检测用户在与虚拟用户界面元素之一对应的位置处执行的用户界面手势。HMD可以被配置为响应于用户界面手势,执行与虚拟用户界面元素之一相关联的一个或更多个动作。
在一个实施例中,该人工现实***可以进一步包括手势检测器,该手势检测器被配置为检测用户在与虚拟用户界面上的位置对应的位置处执行的绘图手势。虚拟用户界面引擎可以被配置为响应于绘图手势生成修改的虚拟用户界面,该修改的虚拟用户界面包括在虚拟用户界面上的位置处的虚拟标记,并且渲染引擎可以被配置为在用户界面位置处渲染修改的虚拟用户界面以用于在HMD处的显示。
在一个实施例中,***设备可以包括智能手机、智能手表或平板电脑之一。
此外,本发明涉及一种方法,包括:
-由包括头戴式显示器(HMD)的人工现实***经由图像捕获设备获得图像数据,HMD被配置为输出人工现实内容,
-由人工现实***从图像数据中检测***设备,
-由人工现实***生成包括一个或更多个虚拟用户界面元素的虚拟用户界面;以及
-由该人工现实***渲染人工现实内容,并且在用户界面位置处,渲染该虚拟用户界面以用于在HMD处显示,所述用户界面位置相对于***设备在人工现实环境中的位置被锁定。
在实施例中,该方法还可以包括:
-由人工现实***检测由用户在与虚拟用户界面元素之一对应的位置处执行的用户界面手势,并且
-由人工现实***响应于用户界面手势,执行与虚拟用户界面元素之一相关联的一个或更多个动作。
该方法还可以包括在***设备的存在敏感界面处接收用户的一个或更多个输入,其中检测包括基于一个或更多个输入检测用户界面手势。
执行一个或更多个动作可以包括修改虚拟用户界面以生成包括一个或更多个修改的虚拟用户界面元素的修改的虚拟用户界面,并且该方法可以进一步包括在用户界面位置处渲染修改的虚拟用户界面,以用于在HMD处显示。
在该方法的实施例中,***设备不包括显示器。
在一个实施例中,该方法可以进一步包括从HMD向***设备发送消息,以使***设备关闭显示器。
在一个实施例中,该方法可以进一步包括由***设备检测由用户在与虚拟用户界面元素之一对应的位置处执行的用户界面手势,并且由人工现实***响应于用户界面手势来执行与虚拟用户界面元素之一相关联的一个或更多个动作。
本发明还涉及一种包括指令的非暂时性计算机可读介质,当指令被执行时,使得包括被配置为输出人工现实内容的头戴式显示器(HMD)的人工现实***的一个或更多个处理器:
-生成包括一个或更多个虚拟用户界面元素的虚拟用户界面,
-渲染人工现实内容,并且在用户界面位置处,渲染虚拟用户界面以用于在HMD处显示,所述用户界面位置相对于***设备在人工现实环境中的位置被锁定,
-检测用户在与虚拟用户界面元素之一对应的位置处执行的用户界面手势,以及
-响应于用户界面手势,执行与虚拟用户界面元素之一相关联的一个或更多个动作。
总的来说,本公开描述了用于生成和呈现虚拟用户界面的人工现实***和技术,用户可以使用物理***设备与该虚拟用户界面进行交互。AR***为了由HMD、眼镜或其他显示设备的显示而渲染AR内容,其中虚拟用户界面被锁定到***设备。也就是说,AR***可以在人工现实环境中的位置和姿势(pose)处渲染具有一个或更多个虚拟用户界面元素的虚拟用户界面,人工现实环境中的位置和姿势基于并对应于物理环境中的物理***设备的位置和姿势。以这种方式,人工现实环境中的虚拟用户界面可以跟踪物理***设备。在各种示例中,虚拟用户界面元素能够包括虚拟按钮、虚拟键盘、虚拟绘图界面、虚拟可选菜单或其他用户可选的虚拟用户界面元素,这些元素可以基于用户参与的当前AE应用来进行上下文驱动(context-driven)。***设备可以是具有一个或更多个存在敏感表面的计算设备。
AR***可以使用户能够通过覆盖在***设备上的虚拟用户界面的虚拟用户界面元素与***设备交互,其可以由用户操纵以及以其他方式交互,以通过***设备的姿势跟踪和基于图像的手势检测和/或经由***设备的一个或更多个输入设备(诸如存在敏感表面)向AR***提供输入。例如,用户可以与物理***设备上渲染的虚拟用户界面交互,以执行关于虚拟用户界面元素的用户界面手势。例如,用户可以在***设备上的与人工现实环境中的位置对应的物理位置处按压他们的手指,在该位置处,AR***渲染虚拟用户界面的虚拟用户界面按钮。在该示例中,AR***检测该用户界面手势,并执行与检测到的虚拟用户界面按钮的按压对应的动作。例如,AR***还可以将虚拟用户界面按钮的按压与手势一起动画化(animate)。
这些技术可以提供一项或更多项技术改进,这些技术改进提供至少一个实际应用。例如,与人工现实环境中的自由悬浮的虚拟用户界面相比,这些技术能够使用户能够提供关于在提供触觉反馈的物理***设备上虚拟渲染的用户界面元素的细粒度(fine-grained)用户输入。这能够简化和提高手势检测的精度,并提供更令人愉悦的用户体验。此外,***设备可以不在其自己的显示器上显示用户界面元素,甚至可以不包括显示器。因此,该技术可以通过消除原本在例如智能手机或平板电脑的存在敏感显示器处需要生成和显示的、用于接收来自用户的精确输入的单独的界面来额外降低功耗并简化AR应用。
在一些示例中,人工现实***包括图像捕获设备,其被配置为捕获图像数据;头戴式显示器(HMD),其被配置为输出人工现实内容;用户界面引擎,其被配置为从图像数据中检测***设备,其中用户界面引擎被配置为生成包括一个或更多个虚拟用户界面元素的虚拟用户界面;以及渲染引擎,其被配置为渲染人工现实内容,并且在用户界面位置处渲染虚拟用户界面,以用于在HMD处显示,用户界面位置相对于***设备在人工现实环境中的位置被锁定。
在一些示例中,方法包括:通过包括头戴式显示器(HMD)的人工现实***经由图像捕获设备获得图像数据,HMD被配置为输出人工现实内容;由人工现实***从图像数据检测***设备;由人工现实***生成包括一个或更多个虚拟用户界面元素的虚拟用户界面;以及由人工现实***渲染人工现实内容,并且在用户界面位置处渲染虚拟用户界面,以用于在HMD处显示,用户界面位置相对于***设备在人工现实环境中的位置被锁定。
在一些示例中,非暂时性计算机可读介质包括指令,当执行这些指令时,使得包括被配置为输出人工现实内容的头戴式显示器(HMD)的人工现实***的一个或更多个处理器:生成包括一个或更多个虚拟用户界面元素的虚拟用户界面;渲染人工现实内容,并且在用户界面位置渲染虚拟用户界面,以用于在HMD处显示,用户界面位置相对于***设备在人工现实环境中的位置被锁定;检测用户在与虚拟用户界面元素之一对应的位置处执行的用户界面手势;以及响应于用户界面手势,执行与虚拟用户界面元素之一相关联的一个或更多个动作。
一个或更多个示例的细节在附图和下面的描述中阐述。从说明书和附图以及权利要求中的其他的特征、目的和优点将是明显的。
附图简述
图1A是描绘根据本公开的技术的包括头戴式显示器(HMD)和***设备的示例人工现实***的图示。
图1B是描绘根据本公开的技术的示例人工现实***的图示。
图2A是描绘根据本公开的技术的示例HMD和示例***设备的图示。
图2B是描绘根据本公开的技术的示例HMD的图示。
图3是示出根据本公开的技术的图1A、图1B的人工现实***的控制台、HMD以及***设备的示例实现的框图。
图4是描绘根据本公开的技术的由图1A和图1B的人工现实***的HMD执行用户界面生成的示例的框图。
图5是示出根据本公开的多个方面的***设备的操作的流程图。
图6是示出根据本公开的多个方面与人工现实内容交互的示例HMD显示。
图7A-图7C是示出根据本公开的多个方面的响应于检测到在***设备上执行的用户界面手势而执行一个或更多个动作的示例HMD显示。
图8A-图8I是示出根据本公开的多个方面的利用虚拟激光指示器与人工现实内容的各种交互的示例HMD显示。
图9是示出根据本公开的技术的示例***设备和虚拟用户界面的框图。
在整个说明书和附图中,相似的参考字符表示相似的元素。
详细描述
图1A是描绘根据本公开的技术的示例人工现实***的图示。在图1A的示例中,人工现实***10包括HMD 112、控制台106、***设备136,并且可以包括一个或更多个外部传感器90。如所示的,HMD 112通常由用户110佩戴,并且包括用于向用户110呈现人工现实内容122的电子显示器和光学组件。另外,HMD 112包括用于跟踪HMD 112的运动的一个或更多个传感器(例如,加速度计),并且可以包括用于捕获周围物理环境的图像数据的一个或更多个图像捕获设备138(例如,相机、行扫描仪)。在该示例中,控制台106被示为单个计算设备,诸如游戏机、工作站、台式计算机或膝上型计算机。在其他示例中,控制台106可分布在多个计算设备上,诸如分布式计算网络、数据中心或云计算***。如该示例中所示,控制台106、HMD 112和传感器90可以经由网络104通信耦合,网络104可以是有线或无线网络(诸如Wi-Fi)、网状网络或短程无线通信介质或其组合。尽管在该示例中,HMD 112被示出为与控制台106通信,例如链接(tethered to)到控制台或与控制台进行无线通信,但在一些实现中,HMD 112作为独立的移动人工现实***进行操作。
通常,人工现实***10使用从真实世界3D物理环境捕获的信息来渲染人工现实内容122以显示给用户110。在图1A的示例中,用户110观看由在控制台106和/或HMD 112上执行的人工现实应用构建和渲染的人工现实内容122。在一些示例中,人工现实内容122可以包括真实世界图像(例如,手132、***设备136、墙壁121)和虚拟对象(例如,虚拟内容项目124、126和虚拟用户界面137)的混合,以产生混合现实和/或增强现实。在一些示例中,虚拟内容项目124、126可以被映射(例如,固定、锁定、放置)到人工现实内容122内的特定位置。虚拟内容项目的位置可以是固定的,例如相对于墙壁121或地面之一。虚拟内容项目的位置可以是可变的,例如相对于***设备136或用户。在一些示例中,虚拟内容项目在人工现实内容122中的特定位置与真实世界物理环境中的位置(例如,在物理对象的表面上)相关联。
在图1A所示的示例中,虚拟内容项目124、126被映射到墙壁121上的位置。图1A中的示例还示出了虚拟内容项目124仅部分地出现在人工现实内容122内的墙壁121上,说明了该虚拟内容不存在于真实世界的物理环境中。虚拟用户界面137被映射到***设备136的表面。结果,AR***10在相对于***设备136在人工现实环境中的位置被锁定的用户界面位置处渲染虚拟用户界面137以用于在HMD 112处显示,作为人工现实内容122的一部分。图1A示出了虚拟用户界面137仅在人工现实内容122中出现在***设备136上,说明了该虚拟内容不存在于真实世界的物理环境中。如本文所使用的,被“锁定”到***设备136或其他物理对象的位置的虚拟元素在相对于物理对象的所述位置的位置处被渲染,以便看起来是人工现实环境中的一部分或者以其他方式在人工现实环境中被绑定到物理对象。
在一些实现中,人工现实***10在虚拟表面上生成并渲染虚拟内容项目124、126(例如,GIF、照片、应用、直播流、视频、文本、网络浏览器、绘图、动画、数据文件的表示或任何其他可见媒体)。虚拟表面可以与平面的或其他真实世界的表面相关联(例如,虚拟表面对应于并锁定到物理平面表面,诸如壁桌或天花板)。在图1A所示的示例中,虚拟表面与墙壁121相关联。在其他示例中,虚拟表面能够与表面的一部分(例如,墙壁121的一部分)相关联。在一些示例中,仅渲染包含在虚拟表面内的虚拟内容项目。在其他示例中,生成并渲染虚拟表面(例如,作为虚拟平面或作为对应于虚拟表面的边界)。在一些示例中,虚拟表面能够被渲染为悬浮在虚拟或真实世界物理环境中(例如,不与特定的真实世界表面相关联)。
人工现实***10可以响应于确定虚拟内容项目的位置的至少一部分在用户110的视场130中而渲染一个或更多个虚拟内容项目。例如,只有当***设备136在用户110的视场130内时,人工现实***10才可以渲染虚拟用户界面137。
在操作期间,人工现实应用通过跟踪和计算参考系的姿势信息(通常是HMD 112的观看视角)来构建用于向用户110显示的人工现实内容122。使用HMD 112作为参考系,并且基于通过HMD 112的当前估计姿势确定的当前视场130,人工现实应用渲染3D人工现实内容,在一些示例中,该3D人工现实内容可以至少部分地覆盖在用户110的真实世界3D物理环境上。在该过程中,人工现实应用使用从HMD 112接收的感测数据(诸如运动信息和用户命令),并且在一些示例中,使用来自任何外部传感器90(诸如外部相机)的数据来捕获真实世界的物理环境中的3D信息,诸如用户110的运动和/或关于用户110的特征跟踪信息。基于感测数据,人工现实应用确定HMD 112的参考系的当前姿势,并且根据当前姿势,渲染人工现实内容122。
人工现实***10可以基于可以由用户的实时凝视跟踪或其他条件来确定的用户110的当前视场130触发虚拟内容项目的生成和渲染。更具体地说,HMD 112的图像捕获设备138捕获表示在图像捕获设备138的视场130内的真实世界物理环境中的对象的图像数据。视场130通常对应于HMD 112的观看视角。在一些示例中,人工现实应用呈现包括混合现实和/或增强现实的人工现实内容122。如图1A所示,人工现实应用可以渲染在视场130内的真实世界对象(诸如用户110的***设备136、手132和/或手臂134的部分)以及虚拟对象(诸如在人工现实内容122内的虚拟对象)的图像。在其他示例中,人工现实应用可以在人工现实内容122内渲染在视场130内的用户110的***设备136、手132和/或手臂134的部分的虚拟表示(例如,将真实世界对象渲染为虚拟对象)。在任一示例中,用户110能够在人工现实内容122内查看他们的手132、手臂134、***设备136和/或在视场130内的任何其他真实世界对象中的部分。在其他示例中,人工现实应用可以不渲染用户的手132或手臂134的表示。
在操作期间,人工现实***10在由HMD 112的图像捕获设备138捕获的图像数据内执行对象识别,以识别用户110的***设备136、手132,包括可选地识别各个手指或拇指和/或手臂134的全部或部分。此外,人工现实***10在滑动时间窗口上跟踪***设备136、手132(可选地包括手的特定手指)和/或手臂134的部分的位置、取向和构形。在一些示例中,***设备136包括用于跟踪***设备136的运动或取向的一个或更多个传感器(例如,加速度计)。
根据本公开的技术,人工现实***10呈现虚拟用户界面137,用户可以使用被称为“***设备”的物理设备与虚拟用户界面137交互。***设备136是具有表面的物理真实世界设备,AR***10在该表面上覆盖虚拟用户界面137。也就是说,AR***10在某个位置和取向虚拟地渲染虚拟用户界面137,使得虚拟用户界面137看起来是***设备136的表面或者与***设备136的表面并置(juxtapose)。在这方面,***设备136作为虚拟内容的平台(诸如虚拟用户界面137)工作。***设备136可以包括一个或更多个存在敏感(presence-sensitive)表面,用于通过检测触摸或悬停在存在敏感表面的位置上的一个或更多个对象(例如,手指、触笔)的存在来检测用户输入。在一些示例中,***设备136可以包括输出显示器,该显示器可以是存在敏感显示器。当渲染虚拟用户界面137时,AR***10可以使***设备136停用(即,关闭)输出显示器。在一些示例中,当输出显示器被停用时,AR***10可以仅渲染虚拟用户界面137。然而,在一些示例中,***设备136不包括输出显示器。
在一些示例中,***设备136可以是智能手机、平板电脑、个人数据助理(PDA)或其他手持设备。在一些示例中,***设备136可以是智能手表、智能戒指或其他可佩戴设备。***设备136也可以是信息亭(kiosk)或其他固定或移动***的一部分。***设备136可以包括也可以不包括用于向屏幕输出内容的显示设备。***设备136可以使用一个或更多个有线或无线通信链路(例如,Wi-Fi、诸如蓝牙的短程无线通信的近场通信)与HMD 112和/或控制台106通信。
AR***10向HMD、眼镜或其他显示设备112渲染AR内容,其中虚拟用户界面137被锁定到***设备136的表面。也就是说,AR***10可以在虚拟环境中的某个位置和取向处渲染具有一个或更多个虚拟用户界面元素的虚拟用户界面137,该位置和取向是基于并对应于物理***设备136在物理环境130中的位置和取向。例如,如果***设备136位于垂直位置(称为“纵向模式”),则AR***10可以在纵向模式下并且在与***设备136的位置和取向对应的定位(location)处渲染虚拟用户界面。如果***设备136位于水平位置(称为“横向模式”),则AR***10可以在横向模式下并且在与***设备136的位置和取向对应的定位处渲染虚拟用户界面。以这种方式,在虚拟环境中正在被渲染的虚拟用户界面可以跟踪手持物理***设备136,使得对于用户来说,***设备136看起来正在***设备136的表面上输出虚拟用户界面137。
虚拟用户界面137包括一个或更多个虚拟用户界面元素。虚拟用户界面元素可以包括例如虚拟绘图界面142、可选菜单144(例如,下拉菜单)、虚拟按钮146、方向板148、键盘或其他用户可选用户界面元素、字形、显示元素、内容、用户界面控件等。虚拟用户界面137的特定虚拟用户界面元素可以基于用户参与的当前AR应用被上下文驱动。
当用户在虚拟环境中在与覆盖在***设备136上的虚拟用户界面137的虚拟用户界面元素之一对应的定位处执行用户界面手势时,AR***10检测用户界面并执行动作。例如,用户可以在与虚拟环境中的位置对应的***设备136上的物理定位处按压他们的手指,在虚拟环境中的该位置,AR***10渲染在虚拟用户界面137上的虚拟用户界面按钮146。在该示例中,AR***10检测该虚拟按钮按压手势,并执行与检测到的虚拟用户界面按钮146的按压对应的动作。AR***10还可以例如将虚拟用户界面按钮的按压与按钮按压手势一起动画化。
AR***10可以使用图像捕获设备138和/或外部相机的由内向外或由外向内的跟踪***来检测用户界面手势和其他手势。替代地或者附加地,AR***10可以使用存在敏感表面来检测用户界面手势和其他手势。也就是说,***设备136的存在敏感界面可以接收构成用户界面手势的用户输入。
***设备136通过具有用户能够与之交互(例如,触摸、拖动手指、抓取等)的物理表面,向基于触摸的用户交互提供触觉反馈。另外,***设备136可以使用输出设备输出用户交互的其他指示。例如,响应于检测到的虚拟用户界面按钮146的按压,***设备136可以输出振动或“点击”声,或者***设备136可以生成内容并将其输出到显示器。
在一些示例中,用户可以按压并且沿着与虚拟环境中的位置对应的***设备136上的物理定位拖动他们的手指,在该虚拟环境中的位置处,AR***10渲染虚拟用户界面137的虚拟绘图界面142。在该示例中,AR***10检测该绘图手势,并根据检测到的虚拟绘图界面142的按压和拖动来执行动作,诸如通过在虚拟环境中的位置处生成和渲染虚拟标记。以这种方式,AR***10使用虚拟用户界面137模拟在***设备136上绘图或书写。
在一些示例中,用户可以在与虚拟环境中的位置对应的***设备136上的物理定位处按压他们的手指,在该虚拟环境中的位置处,AR***10渲染虚拟可选菜单144。在该示例中,AR***10检测该用户界面手势,并根据检测到的虚拟可选菜单144的按压来执行动作。虚拟可选菜单144可以包括下拉菜单、环形菜单(pie menu)、列表菜单或包括多个可选项目的任何菜单。在一些示例中,虚拟可选菜单144包括子菜单,使得当用户选择虚拟可选菜单144的主菜单中的项目时,AR***10将渲染与主菜单中的所选项目对应的一个或更多个项目的子菜单,该一个或更多个项目进一步可由用户选择。以这种方式,AR***10使用虚拟用户界面137模拟与***设备136上的菜单交互。
在一些示例中,用户可以在与虚拟环境中的位置对应的***设备136的物理位置处按压他们的手指,在该虚拟环境中的位置处,AR***10渲染虚拟方向板148。在该示例中,AR***10检测该用户界面手势,并根据检测到的虚拟方向板148的按压来执行动作。以这种方式,AR***10使用虚拟用户界面137模拟与***设备136上的方向板的交互。
因此,本公开的技术为通过人工现实***渲染和显示内容的计算机相关领域提供了具体的技术改进,这可以提供一个或更多个实际应用。例如,本文描述的人工现实***可以通过生成和渲染锁定到***设备136的表面的虚拟用户界面137并检测由用户110相对于***设备136执行的手势,向人工现实应用的用户(诸如用户110)提供高质量的人工现实体验。
另外,本文描述的AR***可以被配置为检测向用户提供自触觉反馈的手势。例如,作为与人工现实内容中的虚拟用户界面137的特定虚拟用户界面元素的交互的一部分,用户110的每只手132上的一个或更多个手指可以触摸或近似触摸物理世界中的***设备136。用户的手132的一个或更多个手指与***设备之间的触摸可以为用户提供当直接与物理用户输入对象(诸如物理键盘或其他物理输入设备上的按钮)交互时用户感受到的感觉的模拟。
作为另一个示例,与人工现实环境中的自由悬浮虚拟用户界面相比,本文描述的AR***可以使用户能够提供关于在***设备136上虚拟地渲染的虚拟用户界面元素的细粒度用户输入。这能够简化和改进手势检测的精度。另外,***设备136可以在其自己的显示器上不显示用户界面元素,并且甚至可以不包括显示器。因此,该技术可以通过消除原本在例如智能手机或平板电脑的存在敏感显示器处需要生成和显示的、用于接收来自用户的精确输入的单独的界面来额外降低功耗并简化AR应用。在一些示例中,采用存在敏感表面接收用户输入可能提供比基于图像的手势检测技术更精确的手势检测。
图1B是描绘根据本公开的技术的另一示例人工现实***20的图示。类似于图1A的人工现实***10,图1B的人工现实***20可以呈现和控制锁定到人工现实环境中的***设备136的位置的虚拟用户界面137。
在图1B的示例中,人工现实***20包括外部相机102A和102B(统称为“外部相机102”)、HMD 112A-112C(统称为“HMD 112”)、控制器114A和114B(统称为“控制器114”)、控制台106、物理***设备136和传感器90。如图1B所示,人工现实***20表示多用户环境,其中在控制台106和/或HMD 112上执行的人工现实应用基于用户110A-110C(统称为“用户110”)中的每一个用户的对应参考系的当前观看视角向相应用户呈现人工现实内容。也就是说,在该示例中,人工现实应用通过跟踪和计算每个HMD 112的参考系的姿势信息来构建人工内容。人工现实***20使用从相机102、HMD 112和控制器114接收的数据来捕获真实世界环境中的3D信息(诸如用户110的运动和/或关于用户110和对象108的跟踪信息),以用于计算HMD 112的对应参考系的更新姿势信息。作为一个示例,人工现实应用可以基于为HMD 112C确定的当前观看视角,将具有虚拟对象128A-128B(统称为“虚拟对象128”)的人工现实内容122渲染为在空间上覆盖在真实世界对象108A-108B(统称为“真实世界对象108”)上。此外,从HMD 112C的视角来看,人工现实***20分别基于用户110A、110B的估计位置来渲染化身120A、120B。
HMD 112中的每一个都在人工现实***20中同时操作。在图1B的示例中,每个用户110可以是人工现实应用中的“玩家(player)”或“参与者(participant)”,并且任何用户110可以是人工现实应用中的“旁观者(spectator)”或“观察者(observer)”。通过跟踪用户110C的手132和/或手臂134,并且将视场130内的手132的部分渲染为人工现实内容122内的虚拟手136,HMD 112C可以基本上类似于图1A的HMD 112进行操作。HMD 112B可以从用户110B持有的控制器114接收用户输入。在一些示例中,控制器114A和/或114B能够对应于图1A的***设备136,并且基本上类似于图1A中的***设备136来操作。HMD 112A也可以基本上类似于图1A中的HMD 112操作,并且通过用户110A的手132A、132B接收对***设备136执行的或采用***设备136执行的手势形式的用户输入。HMD 112B可以从用户110B持有的控制器114接收用户输入。控制器114可以使用诸如蓝牙的短程无线通信的近场通信、使用有线通信链路或使用其他类型的通信链路来与HMD 112B通信。
以类似于以上参考图1A讨论的示例的方式,人工现实***20的控制台106和/或HMD 112C在锁定到***设备136的表面的位置处生成并渲染虚拟用户界面136。也就是说,控制台106和/或HMD 112C可以在基于并与物理环境中的物理***设备136的位置和取向对应的虚拟环境中的位置和取向处渲染具有一个或更多个虚拟用户界面元素的虚拟用户界面137。
如图1B所示,除了通过HMD 112C的一个或更多个图像捕获设备138捕获的图像数据之外或作为其替代,来自外部相机102的输入数据可以用于跟踪和检测***设备136和/或用户110的手和手臂(诸如用户110C的手132)的特定运动、构形、位置和/或取向,包括手的手指(手指、拇指)的单独和/或组合的运动。以这种方式,AR***20能够在跟踪***设备136的同时将虚拟用户界面137覆盖在***设备136的表面上,以确保虚拟用户界面137随着***设备136在物理环境中的移动而在虚拟环境中移动。
在一些方面,人工现实应用能够在控制台106上运行,并且能够利用图像捕获设备102A和102B来分析手132B的构形、位置和/或取向,以识别可以由HMD 112A的用户执行的输入手势。类似地,HMD 112C能够利用图像捕获设备138来分析***设备136和手132C的构形、位置和/或取向,以输入可以由HMD 112C的用户执行的手势。在一些示例中,***设备136包括用于跟踪***设备136的运动或取向的一个或更多个传感器(例如,加速度计)。人工现实应用可以响应于这样的手势,以类似于上文关于参考图1A描述的方式渲染虚拟内容项目和/或用户界面元素。
图像捕获设备102和138可以捕获可见光谱、红外光谱或其他光谱中的图像。例如,本文描述的用于识别对象、对象姿势和手势的图像处理可以包括处理红外图像、可见光光谱图像等。
虚拟用户界面137被映射到***设备136的表面。结果,AR***10在相对于人工现实环境中的***设备136的位置被锁定的用户界面位置处渲染虚拟用户界面137,以作为人工现实内容122的一部分在HMD 112C显示。图1B示出了虚拟用户界面137仅出现在人工现实内容122内的***设备136上,说明了该虚拟内容不存在于真实世界的物理环境中。
图2A是描绘根据本公开的技术的示例HMD 112和示例***设备136的图示。图2A的HMD 112可以是图1A和图1B的任何HMD 112的示例。HMD 112可以是人工现实***(诸如图1A、图1B的人工现实***10、20)的一部分,或者可作为被配置为实现本文所述技术的独立的、移动的人工现实***操作。
在该示例中,HMD 112包括前刚性主体和用于将HMD 112固定到用户的带。另外,HMD 112包括面向内部的电子显示器203,该电子显示器被配置为向用户呈现人工现实内容。电子显示器203可以是任何合适的显示技术,诸如液晶显示器(LCD)、量子点显示器、点阵显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、阴极射线管(CRT)显示器、电子墨水、或单色、彩色或能够生成视觉输出的任何其他类型的显示器。在一些示例中,电子显示器是用于向用户的每只眼睛提供单独图像的立体显示器。在一些示例中,当跟踪HMD 112的位置和取向以用于根据HMD 112和用户的当前观看视角渲染人工现实内容时,显示器203相对于HMD 112的前刚性主体的已知取向和位置被用作参照系,也被称为局部原点(local origin)。在其他示例中,HMD 112可以采取其他可佩戴的头戴式显示器的形式,诸如眼镜或护目镜。
如图2A中进一步所示,在该示例中,HMD 112还包括一个或更多个运动传感器206(诸如输出表示HMD 112的当前加速度的数据的一个或更多个加速度计(也称为惯性测量单元或“IMU”))、输出表示HMD 112的定位的数据的GPS传感器、输出表示HMD 112距各种对象的距离的数据的雷达或声纳、或提供HMD 112或物理环境中的其他对象的定位或取向的指示的其他传感器。此外,HMD 112可以包括集成的图像捕获设备138A和138B(统称为“图像捕获设备138”),诸如摄像机、激光扫描仪、多普勒雷达扫描仪、深度扫描仪等,其被配置为输出表示物理环境的图像数据。更具体地,图像捕获设备138捕获表示物理环境中的对象(包括***设备136和/或手132)的图像数据,这些对象在图像捕获设备138的视场130A、130B内,其通常对应于HMD 112的观看视角。HMD 112包括内部控制单元210,该内部控制单元可包括内部电源和一个或更多个印刷电路板,该印刷电路板具有一个或更多个处理器、存储器和硬件以提供用于执行可编程操作的操作环境,从而处理感测数据并在显示器203上呈现人工现实内容。
在一些示例中,控制单元210被配置为基于感测数据(例如,由图像捕获设备138捕获的图像数据、来自GPS传感器的位置信息),生成并渲染包括与图像捕获设备138的视场130A、130B内包含的位置相关联的一个或更多个虚拟内容项目(例如,图1A的虚拟内容项目124、126)的虚拟表面,以用于在显示器203上的显示。如参考图1A-图1B所解释的,虚拟内容项目可以与虚拟表面内的位置相关联,该虚拟表面与真实世界环境内的物理表面相关联,并且控制单元210可以被配置为响应于确定与虚拟内容(或其部分)相关联的位置在当前视场130A、130B内,渲染虚拟内容项目(或其部分)以用于在显示器203上的显示。在一些示例中,虚拟表面与平面表面或其他表面(例如,墙壁)上的位置相关联,并且当虚拟表面内包含的任何虚拟内容项目的部分在视场130A、130B内时,控制单元210将生成并渲染这些部分。
在一些示例中,根据本文描述的技术,控制单元210被配置为基于感测数据,识别用户执行的特定手势或手势组合,并且作为响应,执行动作。例如,响应于一个识别的手势,控制单元210可以生成并渲染特定的用户界面,用于在电子显示器203上、在相对于***设备136被锁定的位置处显示。例如,控制单元210可以在***设备136的表面220上生成并渲染包括一个或更多个用户界面元素(例如,虚拟按钮)的用户界面。如本文所解释的,根据本公开的技术,控制单元210可以在由图像捕获设备138捕获的图像数据内执行对象识别,以识别***设备136和/或手132、手指、拇指、手臂或用户的另一部位,并跟踪***设备136和/或用户的所识别部位的移动、位置、构形等,以识别用户执行的预定义手势。响应于识别预定义手势,控制单元210采取一些动作,诸如从与用户界面相关联的选项集中选择选项(例如,从用户界面菜单中选择选项)、将手势平移成输入(例如,字符)、启动应用、操纵虚拟内容(例如,移动、旋转虚拟内容项目)、生成和渲染虚拟标记、生成和渲染激光指示器或以其他方式显示内容等。例如,控制单元210能够响应于检测到被指定为用于展现用户界面(例如,将***设备转至横向或水平取向(未示出))的“触发器”的预定义手势,动态生成和呈现用户界面(诸如菜单)。在一些示例中,控制单元210基于感测数据,检测关于渲染的用户界面的用户输入(例如,对虚拟用户界面元素执行的轻敲手势)。在一些示例中,控制单元210响应于来自外部设备(诸如控制台106)的指示来执行这些功能,该外部设备可以执行对象识别、运动跟踪和手势检测或其任何部分。
作为示例,控制单元210可以利用图像捕获设备138A和138B来分析***设备136、手132和/或手臂134的构形、位置、运动和/或取向,以识别用户界面手势、选择手势、冲压手势(stamping gesture)、平移手势、旋转手势、绘图手势、指示手势(pointing gesture)等,这可以由用户相对于***设备136来执行。控制单元210能够渲染虚拟用户界面(包括虚拟用户界面元素)和/或虚拟表面(包括任何虚拟内容项目),并且使得用户能够基于由用户相对于***设备执行的用户界面手势、选择手势、冲压手势、平移手势、旋转手势和绘图手势的检测来与虚拟用户界面和/或虚拟表面交互,如下面进一步详细描述的。
在一个示例中,根据本文描述的技术,***设备136的表面220是存在敏感表面,诸如使用电容式、导电、电阻式、声学或其他技术的表面以检测触摸和/或悬停输入。在一些示例中,***设备136的表面220是触摸屏(例如,电容式触摸屏、电阻式触摸屏、表面声波(SAW)触摸屏、红外触摸屏、光学成像触摸屏、声脉冲识别触摸屏或任何其他触摸屏)。在这样的示例中,***设备136能够检测表面220上的用户输入(例如,触摸或悬停输入)。在一些示例中,表面220不包括显示器,并且***设备136不包括显示器。
在具有用于表面220的触摸屏的示例中,***设备136可以使用无线通信链路(例如,Wi-Fi、诸如蓝牙的短程无线通信的近场通信)、使用有线通信链路(未示出)或使用其他类型的通信链路,将检测到的用户输入传送到HMD 112(和/或图1A的控制台106)。在一些示例中,***设备136能够包括一个或更多个输入设备222(例如,按钮、轨迹球、滚轮),用于与虚拟内容交互(例如,选择虚拟用户界面元素、滚动虚拟用户界面元素)。
图2B是描绘根据本公开的技术的示例HMD 112的图示。如图2B所示,HMD 112可以采取眼镜的形式。图2A的HMD 112可以是图1A和图1B的任何HMD 112的示例。HMD 112可以是人工现实***(诸如图1A、图1B的人工现实***10、20)的一部分,或者可作为被配置为实现本文所述技术的独立的、移动的人工现实***操作。
在该示例中,HMD 112是包括前框架的眼镜,该前框架包括允许HMD 112搁在用户的鼻子上的鼻梁架(bridge)和在用户耳朵上延伸以将HMD 112固定到用户的镜腿(temple)(或“臂”)。另外,图2B的HMD 112包括面向内部的电子显示器203A和203B(统称为“电子显示器203”),该电子显示器203A和203B被配置为向用户呈现人工现实内容。电子显示器203可以是任何合适的显示技术,诸如液晶显示器(LCD)、量子点显示器、点阵显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、阴极射线管(CRT)显示器、电子墨水、或单色、彩色或能够生成视觉输出的任何其他类型的显示器。在图2B中所示的示例中,电子显示器203形成立体显示器,用于向用户的每只眼睛提供单独的图像。在一些示例中,当跟踪HMD112的位置和取向以根据HMD 112和用户的当前观看视角渲染人工现实内容时,显示器203相对于HMD 112的前框架的已知取向和位置被用作参考系,也称为局部原点。
如图2B中进一步所示,在该示例中,HMD 112还包括一个或更多个运动传感器206,诸如输出表示HMD 112的当前加速度的数据的一个或更多个加速度计(也称为惯性测量单元或“IMU”)、输出表示HMD 112的定位的数据的GPS传感器、输出表示HMD 112距各种对象的距离的数据的雷达或声纳、或提供HMD 112或物理环境中的其他对象的定位或取向的指示的其他传感器。此外,HMD 112可以包括集成的图像捕获设备138A和138B(统称为“图像捕获设备138”),诸如摄像机、激光扫描仪、多普勒雷达扫描仪、深度扫描仪等,其被配置为输出表示物理环境的图像数据。HMD 112包括内部控制单元210,该内部控制单元可包括内部电源和一个或更多个印刷电路板,该印刷电路板具有一个或更多个处理器、存储器和硬件以提供用于执行可编程操作的操作环境,从而处理感测数据并在显示器203上呈现人工现实内容。
图3是示出图1A和图1B的人工现实***10、20的控制台106、HMD 112和***设备136的示例实现的框图。在图3的示例中,根据本文描述的技术,控制台106至少基于感测数据(诸如从HMD 112和/或外部传感器接收到的运动数据和图像数据),并且在一些情况下基于由***设备136接收到的用户输入的指示,为HMD 112执行姿势跟踪、手势检测以及虚拟用户界面生成和渲染。
在该示例中,HMD 112包括一个或更多个处理器302和存储器304,在一些示例中,处理器302和存储器304提供用于执行操作***305的计算机平台,操作***305可以是例如嵌入式实时多任务操作***或其他类型的操作***。操作***305继而提供用于执行一个或更多个软件部件307(包括应用引擎340)的多任务操作环境。如参照图2A和图2B的示例所讨论的,处理器302耦接到电子显示器203、运动传感器206和图像捕获设备138。在一些示例中,处理器302和存储器304可以是单独的、分立的部件。在其他示例中,存储器304可以是在单个集成电路内与处理器302并列放置的片上存储器。
一般来说,控制台106是处理从相机102(图1B)和/或HMD 112(图1A、图2A、图2B)的图像捕获设备138接收的图像和跟踪信息以执行HMD 112的手势检测和用户界面和/或虚拟内容生成的计算设备。在一些示例中,控制台106是单个计算设备,诸如工作站、台式计算机、膝上型计算机或游戏***。在一些示例中,控制台106的至少一部分(诸如处理器312和/或存储器314)可以分布在云计算***、数据中心上或分布在网络(诸如互联网、另一公共或私有通信网络,例如宽带、蜂窝、Wi-Fi和/或用于在计算***、服务器和计算设备之间传输数据的其他类型的通信网络)上。
在图3的示例中,控制台106包括一个或更多个处理器312和存储器314,在一些示例中,处理器312和存储器314提供用于执行操作***316的计算机平台,操作***316可以是例如多任务操作***或其他类型的操作***。继而,操作***316提供用于执行一个或更多个软件部件317的多任务操作环境。处理器312耦合到一个或更多个I/O接口315,I/O接口315提供一个或更多个I/O接口,用于与外部设备(诸如键盘、游戏控制器、显示设备、图像捕获设备、HMD等)通信。此外,一个或更多个I/O接口315可以包括一个或更多个有线或无线网络接口控制器(NIC),用于与网络(诸如网络104)通信。
控制台106的软件应用317操作以提供整体人工现实应用。在该示例中,软件应用317包括应用引擎320、渲染引擎322、手势检测器324、姿势***326和用户界面引擎328。
通常,应用引擎320包括提供和呈现人工现实应用的功能,该人工现实应用例如是电话会议应用、游戏应用、导航应用、教育应用、培训或模拟应用或其他的应用。应用引擎320可包括,例如,用于在控制台106上实现人工现实应用的一个或更多个软件包、软件库、硬件驱动器和/或应用程序接口(API)。响应于应用引擎320的控制,渲染引擎322生成3D人工现实内容,以由HMD 112的应用引擎340显示给用户。
应用引擎320和渲染引擎322根据参照系的当前姿势信息(通常是由姿势***326确定的HMD 112的观看视角)构建用于显示给用户110的人工内容。基于当前观看视角,渲染引擎322构建3D、人工现实内容,其在某些情况下可以至少部分地覆盖在用户110的真实世界3D环境上。在该过程期间,姿势***326对从HMD 112接收的感测数据(诸如移动信息和用户命令)以及在一些示例中对来自任何外部传感器90(图1A、图1B)(诸如外部相机)的数据进行操作,以捕获真实世界环境内的3D信息,诸如用户110的运动和/或相对于用户110的特征跟踪信息。基于所感测数据,姿势***326确定对于HMD 112的参考系的当前姿势,并且根据当前姿势,构建用于经由一个或更多个I/O接口315传送到HMD 112以显示给用户110的人工现实内容。
姿势***326可以确定***设备136的当前姿势,并且根据当前姿势,触发与锁定到***设备136的虚拟内容相关联的某些功能(例如,将虚拟内容项目放置在虚拟表面上、操纵虚拟内容项目、生成并渲染一个或更多个虚拟标记、生成并渲染激光指示器)。在一些示例中,姿势***326检测HMD 112是否接近对应于虚拟表面(例如,虚拟面板(pinboard))的物理位置,以触发虚拟内容的渲染。
用户界面引擎328被配置为生成用于在人工现实环境中渲染的虚拟用户界面。用户界面引擎328生成虚拟用户界面,以包括一个或更多个虚拟用户界面元素329,诸如上面参考图1A描述的元素142、144、146和148。渲染引擎322被配置为基于***设备136的当前姿势,在人工现实环境中的用户界面位置处,渲染虚拟用户界面,该用户界面位置相对于***设备136在人工现实环境中的位置被锁定。用户界面位置可以是存在敏感的表面220之一的位置,并且渲染引擎322可以缩放、旋转和以其他方式变换虚拟用户界面,以应用投影来匹配存在敏感表面220的姿势、大小和视角,使得虚拟用户界面在人工现实环境中呈现为覆盖在存在敏感表面220上。用户界面引擎328可以生成部分透明的虚拟用户界面,允许用户看到存在敏感表面220。该透明度可以是可配置的。
控制台106可以经由通信信道向HMD 112输出该虚拟用户界面和其他人工现实内容,以在HMD 112显示。渲染引擎322接收***设备136的姿势信息,以持续更新用户界面位置和姿势,以匹配***设备136的位置和姿势,诸如存在敏感表面220之一的位置和姿势。
基于来自任何图像捕获设备138或102、存在敏感界面220、或其他传感器设备的感测数据,手势检测器324分析***设备136和/或用户110的对象(例如,手、手臂、手腕、手指、手掌、拇指)的跟踪的运动、构形、位置和/或取向,以识别用户执行的一个或更多个姿势。更具体地,手势检测器324可以分析在由HMD 112的图像捕获设备138和/或传感器90和外部相机102捕获的图像数据中识别的对象,以识别***设备136和/或用户110的手和/或手臂,并跟踪***设备136、手和/或手臂相对于HMD 112的移动,以识别用户110执行的手势。在一些示例中,手势检测器324可以基于捕获的图像数据来跟踪***设备136、手、手指和/或手臂的移动,包括位置和取向的改变,并将对象的运动矢量与手势库330中的一个或更多个条目进行比较,以检测用户110执行的手势或手势组合。在一些示例中,手势检测器324可以接收由***设备的存在敏感表面检测到的用户输入,并且处理用户输入以检测用户110相对于***设备136执行的一个或更多个手势。
手势检测器324和手势库330可以全部或部分地分布到***设备136,以处理***设备136上的用户输入来检测手势。在这种情况下,存在敏感表面220检测表面定位处的用户输入。执行手势检测器324的***设备136能够处理用户输入以检测手势库330的一个或更多个手势。***设备136可以向控制台106和/或HMD 112发送检测到的手势的指示,以使控制台106和/或HMD 112响应地执行一个或更多个动作。替代地或附加地,***设备136可以向控制台106发送表面定位处的用户输入的指示,并且手势检测器324可以处理用户输入以检测手势库330的一个或更多个手势。
手势库330中的一些条目可以各自将手势定义为一系列运动或运动模式,诸如***设备136、用户的手、特定手指、拇指、手腕和/或手臂的相对路径或空间平移和旋转。手势库330中的一些条目可以各自将手势定义为***设备、用户的手和/或手臂(或其部分)在特定时间或一段时间内的构形、位置和/或取向。手势库330中的一些条目可以各自将手势定义为由***设备136的存在敏感表面220检测到随着时间推移的一个或更多个用户输入。手势类型的其他示例也是可能的。另外,手势库330中的每个条目可以为所定义的手势或一系列手势指定触发动作的手势或一系列手势所需的条件,诸如与HMD 112的当前视场的空间关系、与用户当前正在观察的特定区域的空间关系,这可以通过个人的实时凝视跟踪、HMD112的当前视场内的***设备136的姿势、正在显示的人工内容的类型、正在执行的应用的类型等来确定。
手势库330中的每个条目还可以为每个定义的手势或手势组合/系列指定将要由软件应用317执行的期望响应或动作。例如,根据本公开的技术,某些专用手势可以被预定义,使得响应于检测到预定义手势之一,用户界面引擎328动态地生成用户界面作为向用户显示的人工现实内容的叠加,从而允许用户110即使在与人工现实内容交互时也能够容易地调用用于配置HMD 112和/或控制台106的用户界面。在其他示例中,某些手势可以与其他动作相关联,诸如提供输入、选择虚拟对象(包括虚拟内容项目和/或用户界面元素)、平移(例如,移动、旋转)虚拟对象、改变(例如,缩放、注释)虚拟对象、制作虚拟标记、启动应用以及其他动作。
作为示例,手势库330可以包括描述***设备手势(诸如用户界面激活手势、菜单滚动手势、选择手势、冲压手势、平移手势、旋转手势、绘图手势和/或指示手势)的条目。这些姿势中的一些也可以使用虚拟用户界面来执行。例如,用户可以用***设备手势(通过操纵***设备的姿势)或用户界面手势(通过与虚拟用户界面交互)来执行绘图手势。手势检测器324可以处理来自图像捕获设备138的图像数据,以分析***设备136和/或用户的手的构形、位置、运动和/或取向,以识别用户界面手势、选择手势、冲压手势、平移手势、旋转手势、绘图手势、指示手势等。这可以由用户相对于***设备136来执行。
手势检测器324可以检测用户在与由用户界面引擎328生成的虚拟用户界面的虚拟用户界面元素之一对应的位置处执行的用户界面手势。例如,渲染引擎322可以在与物理环境中的***设备136的位置对应的人工现实环境中的位置处渲染虚拟用户界面。渲染引擎322在也与***设备136上的定位的位置对应的虚拟用户界面内的位置处渲染用户界面元素。用户在虚拟用户界面元素的位置之一处执行的手势是相对于虚拟用户界面元素执行的手势的指示。例如,用户可以在***设备136上被人工现实环境中的虚拟按钮包围和覆盖的定位处执行按钮按压用户界面手势。响应于检测到的由用户在与虚拟用户界面元素对应的位置处执行的用户界面手势,人工现实***可以执行与虚拟用户界面元素相关联的一个或更多个动作。
动作可以包括,例如,通过控制台106、HMD 112或***设备136启动应用或在应用内执行一些动作、修改虚拟用户界面、动画化诸如用户界面元素之一的人工现实内容、关闭应用、输出用于显示的人工现实、配置应用、修改应用或其他动作。
对应于虚拟用户界面元素的并且检测到的手势被执行的位置可以是存在敏感表面220上的定位。用户界面引擎328可以存储存在敏感表面220上的定位到虚拟用户界面的虚拟用户界面元素的映射。响应于接收到在存在敏感表面220的定位处检测到的手势的指示,用户界面引擎328可以将该定位映射到虚拟用户界面元素。人工现实***然后可以执行与虚拟用户界面元素相关联的一个或更多个动作。
在一些示例中,对应于虚拟用户界面元素的并且检测到的手势被执行的位置可以是***设备136上的非存在敏感表面的定位。用户界面引擎328可以存储***设备上的定位到虚拟用户界面的虚拟用户界面元素的映射。响应于接收到在***设备136的定位处检测到的手势的指示,用户界面引擎328可以将该定位映射到虚拟用户界面元素。人工现实***然后可以执行与虚拟用户界面元素相关联的一个或更多个动作。
响应于检测到的手势,虚拟用户界面引擎322可以修改虚拟用户界面。虚拟用户界面引擎322可以响应于检测到的选择手势而下拉选择列表,响应于按钮按压手势而动画化按钮按压,在虚拟用户界面中的定位处生成标记,以及生成与用户界面相关联的其他用户界面类型的动画或修改。渲染引擎322在锁定到***设备136的适当的用户界面位置处渲染修改的虚拟用户界面。
在图3中所示的示例中,***设备136包括一个或更多个处理器346和存储器344,在一些示例中,处理器346和存储器344提供用于执行操作***342的计算机平台,操作***342可以是例如嵌入式实时多任务操作***或其他类型的操作***。继而,操作***346提供用于执行一个或更多个软件部件的多任务操作环境。在一些示例中,***设备136包括一个或更多个存在敏感表面220(例如,使用电容式、导电、电阻式、声学和/或其他技术来检测触摸和/或悬停输入的一个或更多个表面)。在一个或更多个方面,***设备136可以被配置为检测存在敏感表面220处的触摸和/或悬停输入,处理该输入(例如,在处理器346处),并将触摸和/或悬停输入和关于该输入的信息(包括关于该输入的定位信息)传送到控制台106和/或HMD 112。如参考图2A的示例所讨论的,存在敏感表面220能够包括触摸屏(例如,电容式触摸屏、电阻式触摸屏、表面声波(SAW)触摸屏、红外触摸屏、光学成像触摸屏、声脉冲识别触摸屏或任何其他触摸屏)。如图3中进一步所示,在该示例中,***设备136还包括一个或更多个运动传感器348,诸如输出表示***设备136的当前加速度的数据的一个或更多个加速度计(也称为IMU)、输出表示***设备的定位或位置的数据的GPS传感器、输出表示***设备136距各种对象(例如,距墙壁或其他表面)的距离的数据的雷达或声纳、或提供***设备或物理环境中的其他对象的定位、位置和/或取向的指示的其他传感器。在一些示例中,处理器346耦合到存在敏感表面220和运动传感器246。在一些示例中,处理器346和存储器344可以是单独的、分立的部件。在其他示例中,存储器344可以是在单个集成电路内与处理器346在同一位置的片上存储器。在一个或更多个方面,***设备136能够与HMD共存,并且在一些示例中,作为虚拟环境中HMD的辅助输入/输出设备来操作。在一些示例中,***设备136可以作为人工现实协同处理设备来操作,HMD 112和/或控制台106的一些功能被卸载到该设备。在一个或更多个方面,***设备136能够是智能手机、平板电脑或其他手持设备。
在一些示例中,处理器302、312、346中的每一个可包括多核处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或等效的离散或集成逻辑电路中的任何一个或更多个。存储器304、314、344可包括用于存储数据和可执行软件指令的任何形式的存储器,诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存。
如果***设备136包括输出显示器(诸如作为触摸屏的存在敏感表面220),控制台106可以向***设备136发送消息,指示其停用(即,关闭)输出显示器。在一些示例中,当***设备136的输出显示器被停用时,渲染引擎322可以仅渲染虚拟用户界面137。
图4是描绘根据本公开的技术由图1A、图1B的人工现实***的HMD 112执行虚拟用户界面生成的示例的框图。
在这个示例中,类似于图3,HMD 112包括一个或更多个处理器302和存储器304,在一些示例中,处理器302和存储器304提供用于执行操作***305的计算机平台,操作***305可以是例如嵌入式实时多任务操作***或其它类型的操作***。继而,操作***305提供用于执行一个或更多个软件部件417的多任务操作环境。此外,处理器302耦接到电子显示器203、运动传感器206和图像捕获设备138。
在图4的示例中,软件部件417操作以提供整体人工现实应用。在该示例中,软件应用417包括应用引擎440、渲染引擎422、手势检测器424、姿势***426和用户界面引擎428。在各种示例中,软件部件417类似于图3的控制台106的对应部件(例如,应用引擎320、渲染引擎322、手势检测器324、姿势***326和用户界面引擎328)来操作,以构建覆盖在人工内容上或作为人工内容的一部分的虚拟用户界面,以显示给用户110。
类似于参考图3描述的示例,用户界面引擎428被配置为生成用于在人工现实环境中渲染的虚拟用户界面。用户界面引擎428生成虚拟用户界面,以包括一个或更多个虚拟用户界面元素429,诸如上面参考图1A描述的元素142、144、146和148。渲染引擎422被配置为基于***设备136的当前姿势,在人工现实环境中的用户界面位置处,渲染虚拟用户界面,该用户界面位置相对于人工现实环境中的***设备136的位置被锁定。用户界面位置可以是存在敏感的表面220之一的位置,并且渲染引擎422可以缩放、旋转和以其他方式变换虚拟用户界面,以应用视角来匹配存在敏感的表面220的姿势、大小和视角,使得虚拟用户界面在人工现实环境中呈现为被覆盖在存在敏感的表面220上。用户界面引擎428可以生成部分透明的虚拟用户界面,允许用户看到存在敏感表面220。该透明度可以是可配置的。
类似于参考图3描述的示例,基于来自图像捕获设备138或102、***设备136的存在敏感表面或其他传感器设备中的任何一个的感测数据,手势检测器424分析***设备136和/或用户的对象(例如,手、手臂、手腕、手指、手掌、拇指)的跟踪的运动、构形、位置和/或取向,以识别用户110执行的一个或更多个手势。更具体地,手势检测器424可以分析在由HMD 112的图像捕获设备138和/或传感器90和外部相机102捕获的图像数据中识别的对象,以识别***设备136和/或用户110的手和/或手臂,并跟踪***设备136、手和/或手臂相对于HMD 112的移动,以识别用户110执行的手势。在一些示例中,手势检测器424可以基于捕获的图像数据来跟踪***设备136、手、手指和/或手臂的移动(包括位置和取向的改变),并将对象的运动矢量与手势库430中的一个或更多个条目进行比较,以检测用户110执行的手势或手势组合。在一些示例中,手势检测器424可以接收由***设备的存在敏感表面检测到的用户输入,并且处理用户输入以检测用户110相对于***设备136执行的一个或更多个手势。
手势检测器424可以基于捕获的图像数据来跟踪***设备、手(包括手指)、和/或手臂的移动(包括位置和取向的改变),并将对象的运动矢量与手势库430中的一个或更多个条目进行比较,以检测用户110执行的手势或手势组合。手势库430类似于图3的手势库330。手势检测器424的一些或全部功能可以由***设备136执行。
图5是示出根据本公开的技术的一个或更多个方面的人工现实***的示例操作模式的流程图。在该示例中,操作模式500的操作是关于人工现实***10来描述的,但是可以由本文描述的任何人工现实***的一个或更多个部件(诸如图1A、图1B的人工现实***10、20)来执行。例如,一些或所有操作可以由姿势***(图3和图4的326、426)、姿势检测器(图3和图4的324、424)、用户界面引擎(图3和图4的328、428)和渲染引擎(图3和图4的322、422)中的一个或更多个来执行。
人工现实***10从一个或更多个图像捕获设备获得图像数据(502),并处理图像数据以检测HMD 112的视场中的***设备136(504)。人工现实***10生成具有一个或更多个虚拟用户界面元素的虚拟用户界面137(506)。人工现实***10在相对于人工现实环境中的***设备136的位置锁定的用户界面位置处渲染虚拟用户界面137,以用于在HMD 112处的显示(508)。人工现实***10还可以渲染***设备或其表示(例如,***设备化身),其中虚拟用户界面137被渲染为覆盖在所渲染的***设备表示上。
人工现实***10在人工现实环境中对应于虚拟用户界面元素之一的位置处检测用户界面手势(510)。响应于用户界面手势,人工现实***10执行与虚拟用户界面元素相关联的一个或更多个动作。
图6是示出根据本公开的多个方面的与人工现实内容交互的示例HMD显示600。在图6所示的示例中,HMD的渲染引擎可以渲染覆盖在***设备136的表面上的虚拟用户界面602,以用于在HMD处显示。在图6所示的示例中,当虚拟内容项目616是活动的(active)时,人工现实***生成并渲染虚拟用户界面602。在一个或更多个方面,虚拟用户界面602包括一个或更多个虚拟元素604A-604D(统称为“虚拟元素604”),以注释(annotate)活动的虚拟内容项目616。用户可以在与渲染在***设备136上的一个或更多个虚拟元素604对应的位置处执行用户界面手势。在一个或更多个方面,注释手势包括手132(或手132的一个或更多个手指)选择(例如,虚拟触摸或按压)元素604A-604D之一。例如,用户能够通过选择指示用户对虚拟内容项目的反应的“表情符号”(例如,元素604A、604B中的任何一个)来注释活动的虚拟内容项目616。
HMD检测用户在与渲染的虚拟元素604对应的位置处执行的用户界面手势。在一个或更多个方面,能够从由人工现实***的图像捕获设备捕获的图像数据中检测对***设备136的表面执行的触摸手势,如上所述。在一个或更多个方面,***设备136的表面是存在敏感表面,在该表面处,***设备136检测触摸手势,如上所述。
响应于检测到选择或触摸元素604A的用户界面手势,人工现实***将执行一个或更多个动作,诸如注释活动的虚拟内容项目616以指示用户“喜爱”或“赞”虚拟内容项目616。在一些示例中,“喜爱”或“赞”的注释将反映在虚拟内容项目616上(例如,如图6所示,元素608将在虚拟内容项目616上生成)或虚拟内容项目616附近(例如,邻近)。在另一示例中,用户能够通过评论虚拟内容项目来注释活动虚拟内容项目616。例如,用户能够选择元素604C,并且人工现实***能够响应于检测到元素604C的选择手势,生成并渲染虚拟键盘,用于用户输入关于活动的虚拟内容项目616的评论。在一个或更多个方面,输入的评论将反映在虚拟内容项目616上或虚拟内容项目616附近(例如,邻近)。在一个或更多个方面,虚拟用户界面602被渲染以用于在HMD处的显示(例如,如图6所示,虚拟用户界面602被HMD覆盖在***设备136的表面上)。在一个或更多个方面,虚拟用户界面602被渲染以用于由***设备136的显示(例如,在***设备136的显示器或触摸屏处)。在一个或更多个方面,人工现实***可以不渲染***设备136的任何表示。在一个或更多个方面,活动虚拟内容项目能够包括活动指示符610(例如,边框、高亮、阴影和/或用户能够操纵或以其他方式与特定虚拟内容项目交互的任何其他指示),以指示用户能够注释该虚拟内容项目。
图7A是示出根据本公开多个方面的虚拟绘图表面模式的示例HMD显示700。在图7A所示的示例中,人工现实***的渲染引擎可以渲染覆盖在***设备136的表面上的虚拟用户界面702,以用于在HMD处显示。在该示例中,虚拟用户界面702可以包括虚拟绘图界面或文本输入界面,以与HMD输出的人工现实内容(例如,人工现实内容122)交互或以其他方式参与。在该示例中,用户正在用手132B的食指与***设备136交互(例如,对其执行触摸用户界面手势)。在一个或更多个方面,能够从由人工现实***的图像捕获设备捕获的图像数据中检测对***设备136的表面执行的触摸用户界面手势,如上所述。在一个或更多个方面,***设备136的表面是存在敏感表面,在该表面处,***设备136检测触摸用户界面手势,如上所述。在该示例中,人工现实***检测用户在对应于虚拟绘图界面的位置处执行的触摸用户界面手势(例如,在这种情况下为绘图手势)。例如,用户可以通过在虚拟用户界面702的位置上按压手132B的食指,将手指拖动到虚拟用户界面702的不同位置并释放手指来与***设备136交互。
如图7A的人工内容122所示,响应于在***设备136的表面处检测到用户输入(例如,绘图手势),人工现实***生成包括虚拟标记706的经修改的虚拟用户界面,以用于在HMD处、在***设备136的表面的执行绘图手势的定位处显示。例如,人工现实***在用户在虚拟用户界面702的初始位置上按压食指并被拖动到虚拟用户界面702的不同位置的位置处生成并渲染虚拟标记706。
如图7A所示,虚拟标记706不存在于人工现实内容122之外(例如,没有HMD就不能被看到),并且在相对于人工现实环境中的***设备136的位置被锁定的用户界面位置处被渲染。在一个或更多个方面,当检测到触摸输入时,生成并渲染虚拟标记706。例如,图7B示出了比图7A所示时间更晚的HMD显示710。在该示例中,用户用***设备136的表面上的触摸手势完成了短语“Hi Everyone!(嗨,大家好!)”,如图7B的人工现实内容122所示。人工现实***在锁定到***设备136的当前位置和姿势的适当的用户界面位置和姿势处生成并且渲染经修改的虚拟用户界面712。
图7C是示出了根据本公开的多个方面的用于对***设备136上的人工内容执行各种操纵的虚拟绘图表面模式的示例HMD显示720。在图7C所示的示例中,人工现实***可以基于对应于使用***设备136对人工现实内容的各种操纵的用户界面手势,渲染覆盖在***设备136的表面上的经修改的虚拟用户界面722,以用于在HMD处显示。在该示例中,人工现实***可以生成并渲染经修改的虚拟用户界面722,该虚拟用户界面722包括受操纵的虚拟标记(例如,缩放的、平移的或旋转的虚拟标记)。
例如,用户可以执行相对于***设备136的用户界面手势,以使用***设备136执行关于虚拟标记的各种操纵。用户可以执行触摸用户界面手势(诸如缩放手势),以扩展或缩小在***设备136上渲染的虚拟标记。例如,用户可以在虚拟用户界面722上的两个位置处按压手132A的拇指和手132B的拇指,并且可以将手指一起“捏”得更近(以缩小或收缩标记或其他虚拟用户界面元素)或者将手指“展开”得更远(以放大或扩大标记或其他虚拟用户界面元素)。用户可以执行其他用户界面手势以操纵***设备136上的虚拟标记,诸如旋转虚拟标记(例如,将两个手指放置在虚拟用户界面722上并旋转手指的放置)或移动虚拟标记(例如,将两个手指放置在虚拟用户界面722上并在一个方向上滑动这两个手指)。在其他示例中(未示出),用户还可以执行对整个虚拟用户界面或其他的虚拟用户界面元素的各种操纵。
在一个或更多个方面,能够从由人工现实***的图像捕获设备捕获的图像数据中检测对***设备136的表面执行的触摸手势,如上所述。在一个或更多个方面,***设备136的表面是存在敏感表面,在该表面处,***设备136检测触摸手势,如上所述。
响应于检测到用户输入(例如,用户界面手势),人工现实***可以执行一个或更多个动作,诸如基于用户输入生成包括经修改的虚拟标记(例如,扩大的虚拟标记)的经修改的虚拟用户界面。
虚拟标记706不存在于人工现实内容122之外(例如,没有HMD就不能被看到),并且在相对于人工现实环境中的***设备136的位置被锁定的用户界面位置处被渲染。在一个或更多个方面,当检测到触摸输入时,生成并渲染虚拟标记706。例如,虚拟标记706可以随着手132A和132B的拇指分别展开而扩大。
图8A是示出根据本公开的多个方面的虚拟用户界面802和虚拟指针804的示例HMD显示800。在图8A所示的示例中,人工现实***的渲染引擎可以渲染覆盖在***设备136的表面上的虚拟用户界面802和虚拟指针804,以用于在HMD处显示。例如,人工现实内容122包括虚拟指针804,该虚拟指针804沿着***设备136到对应于物理墙壁121的虚拟表面上的位置805之间的线。在一个或更多个方面,虚拟指针805可以表示实线,但是可以表示任何种类的线,诸如被分成相同或不同长度的一个或更多个部分的线。在一个或更多个方面,虚拟指针804不需要是直的,并且可以是自由形式的,并且至少在末端有一个点。在图8A所示的示例中,虚拟表面还包括人工现实内容项目816、124和126。
在一个或更多个方面,人工现实内容项目能够包括GIF、照片、应用、直播流、视频、文本、网络浏览器、绘图、动画、数据文件的表示或任何其他可见媒体。在一个或更多个方面,人工现实***生成并渲染具有覆盖在***设备136的表面上的虚拟指针805的虚拟用户界面802,以用于在HMD处显示。在一个或更多个方面,虚拟用户界面802包括虚拟元素,诸如绘图元素806、移动元素808、旋转元素810、缩放元素812和/或设置元素814。在一个或更多个方面,虚拟用户界面802能够包括用户界面元素的其他组合。在一个或更多个方面,虚拟用户界面802被渲染以用于在HMD处的显示(例如,由人工现实***将虚拟用户界面802覆盖在***设备136的表面上,如图8A所示)。
图8B是示出根据本公开的多个方面的指针绘图手势的示例HMD显示820。在图8B所示的示例中,HMD的渲染引擎可以渲染覆盖在***设备136的表面上的虚拟用户界面802,以用于在HMD处显示。在该示例中,用户在选择绘图元素806的同时,利用***设备136与虚拟绘图表面822交互(例如,通过执行一个或更多个绘图手势)。在一个或更多个方面,能够从由人工现实***的图像捕获设备捕获的图像数据中检测利用***设备136执行的一个或更多个绘图手势,如上所述。响应于检测到利用***设备136的一个或更多个绘图手势,当用户选择绘图元素806时,人工现实***生成并渲染虚拟标记824A-824C,用于在HMD处、在虚拟绘图表面822上指针804的定位处显示。在图8B所示的示例中,用户在选择绘图元素806以渲染标记824A的同时利用***设备136执行垂直绘图手势,接下来用户在选择绘图元素806来渲染标记824B的同时利用***设备136执行第二垂直绘图手势,然后用户在选择绘图元素806来渲染标记824C的同时利用***设备136执行第三绘图手势。在一个或更多个方面,用户可以选择绘图元素806,并经由虚拟绘图界面(例如,如先前在图7A中描述的)绘制将要在虚拟绘图表面822内投影的图像。在一个或更多个方面,用户在执行第一、第二和第三绘图手势之间没有选择绘图元素806。在一个或更多个方面,虚拟绘图表面能够包括边界826。在一个或更多个方面,虚拟绘图表面822与平面表面(例如,墙壁121)相关联。选择绘图元素806可以包括执行保持手势,在执行绘图手势的同时保持与***设备136上对应于绘图元素806的位置的持续接触。在一个或更多个方面,虚拟绘图表面能够对应于整个物理表面(例如,具有与物理表面相同的表面积)或者对应于物理表面的一部分(例如,如图8B所示)。在一些示例中,虚拟绘图表面能够被渲染为悬浮在虚拟或真实世界物理环境中(例如,不与特定的真实世界表面相关联)(未示出)。
图8C-图8D根据本公开的多个方面分别示出了HMD显示830-840,HMD显示830-840示出了允许用户改变虚拟指针804的虚拟用户界面。响应于检测到选择虚拟用户界面802的设置元素814(例如,如图8C所示),人工现实***在***设备136的表面(例如,如图8D所示)上生成并渲染修改的虚拟用户界面842,诸如图8D所示的虚拟用户界面。在图8D所示的示例中,包括设置元素的虚拟用户界面802包括颜色元素832、宽度元素834和指针元素836。在一个或更多个方面,虚拟用户界面842能够包括虚拟用户界面元素的其他组合。在一个或更多个方面,虚拟用户界面842被渲染以用于在HMD处的显示(例如,虚拟用户界面842被HMD投影在***设备136的表面上,如图12D所示)。在一个或更多个方面,虚拟用户界面842被渲染以用于***设备136的显示(例如,在***设备136的显示器或触摸屏处)。在一个或更多个方面,人工现实***响应于检测到对颜色元素832的选择而改变虚拟指针804的颜色(例如,人工现实***将切换虚拟指针804的渲染颜色)。在一个或更多个方面,改变虚拟指针804的颜色将改变用虚拟指针804渲染的任何未来虚拟标记的颜色。在一个或更多个方面,当虚拟指针804的位置838在虚拟绘图表面822上时,人工现实***响应于检测到对颜色元素832的选择而改变虚拟标记824A-824C的颜色。在一个或更多个方面,当虚拟指针804的位置838在虚拟标记824A-824C的任何一个上时,人工现实***响应于检测到对颜色元素832的选择而改变虚拟标记824A-824C的任何一个的颜色。在一个或更多个方面,人工现实***响应于检测到对宽度元素834的选择而改变虚拟指针804的宽度(例如,人工现实***将切换虚拟指针804的渲染宽度)。在一个或更多个方面,改变虚拟指针804的宽度将改变用虚拟指针804渲染的任何未来虚拟标记的宽度。在一个或更多个方面,当虚拟指针804的位置838在虚拟绘图表面822上时,人工现实***响应于检测到对宽度元素834的选择而改变虚拟标记824A-824C的宽度。在一个或更多个方面,当虚拟指针804的位置838在虚拟标记824A-824C的任何一个上时,人工现实***响应于检测到对宽度元素834的选择而改变虚拟标记824A-824C的任何一个的宽度。在一个或更多个方面,人工现实***响应于检测到对指针元素836的选择而改变虚拟指针804的其他特征。在一些示例中,其他特征包括虚拟指针804的形状(例如,圆锥状、管状、线状)、虚拟指针804是否包括图案(例如,是否仅渲染虚拟指针的一个或更多个部分)、虚拟指针804的不透明性(例如,光束是否透明或透明程度)、虚拟指针804的亮度和/或虚拟指针804的任何其他视觉特征。
图8E是示例HMD显示850,示出了根据本公开的多个方面,用户用虚拟指针804选择人工现实内容项目816。在图8E所示的示例中,人工现实***响应于在人工现实内容项目上正在被检测的虚拟指针804的位置805,选择人工现实内容项目816(例如,将人工现实内容项目816的状态设置为活动的)。在一个或更多个方面,活动人工现实内容项目能够包括活动指示符852(例如,边框、高亮、阴影和/或用户能够操纵或以其他方式与特定虚拟绘图交互的任何其他指示)。在一个或更多个方面,用户能够在选择虚拟812时修改虚拟812,如下面进一步详细描述。
图8F是示出根据本公开多个方面的在选择移动选择移动元素808时的变换手势的示例HMD显示860。在图8F所示的示例中,用户正在向右水平地移动***设备136(例如,执行水平平移手势)和/或从左向右旋转***设备,同时人工现实内容项目816是活动的。响应于在选择移动元素808时检测到平移手势,人工现实***根据相对于***设备136执行的平移手势来平移人工现实内容项目816(例如,如图8F所示向右移动人工现实内容项目816)。例如,用户可以按住移动元素808,移动***设备136或虚拟指针804以移动人工现实内容816,并且释放移动元素808以停止移动人工现实内容816。在一些示例中,用户可以在移动元素808上进行第一次按压,移动***设备136或虚拟指针804以移动人工现实内容816,并且在移动元素808上进行第二次按压以停止移动人工现实内容816。在一个或更多个方面,用户能够在其他方向(例如,在竖直方向)平移(例如,移动)***设备136,这将导致人工现实***根据该运动来移动人工现实内容项目816。在一个或更多个方面,人工现实内容项目816在与***设备136相同的方向上移动相同的距离。例如,如果***设备136向左移动三英寸,则人工现实***将把人工现实内容项目816向左移动三英寸。在一个或更多个方面,人工现实内容项目816在与***设备136基本相同的方向(例如,在10度内)上移动基本相同的距离(例如,在英寸内)。在一个或更多个方面,人工现实***会将人工现实内容项目816移动与***设备136被移动的距离对应的一定幅度的距离(例如,***设备136被移动的距离的50%、150%、200%或任何百分比)。
在一些示例中,人工现实***的渲染引擎可以渲染方向板以控制所选人工现实内容的移动。例如,用户可以选择移动元素806,经由虚拟指针804选择图像,并且对方向板执行界面手势以移动人工现实内容816。
图8G是根据本公开多个方面的示出变换手势的示例HMD显示870。在图8G所示的示例中,当人工现实内容项目816是活动的时候并且当用户正在选择旋转元素810时,用户逆时针旋转***设备136。响应于在选择旋转元素810时检测到旋转手势,人工现实***根据相对于***设备136执行的平移手势旋转人工现实内容项目816(例如,如图8G所示,旋转人工现实内容项目816)。例如,用户可以按住旋转元素810,旋转***设备136或虚拟指针804以旋转人工现实内容816,并释放旋转元素810以停止旋转人工现实内容816。在一些示例中,用户可以在旋转元素810上进行第一次按压,旋转***设备136或虚拟指针804以旋转人工现实内容816,并且在旋转元素810上进行第二次按压以停止旋转人工现实内容816。在一些示例中,人工现实***的渲染引擎可以生成包括修改的虚拟用户界面元素的修改的虚拟用户界面,该修改的虚拟用户界面元素包括控制旋转的虚拟方向板。在一个或更多个方面,用户能够在其他方向(例如,顺时针方向)旋转***设备136,这将导致人工现实***根据该方向旋转人工现实内容项目816。在一个或更多个方面,人工现实内容项目816在与***设备136相同的方向上旋转相同的度数。例如,如果***设备136逆时针移动十五度,人工现实***将逆时针旋转人工现实内容项目816十五度。在一个或更多个方面,人工现实内容项目816被旋转与***设备136基本相同的度数(例如,在十度以内)。在一个或更多个方面,人工现实***会将人工现实内容项目816旋转与***设备136被旋转的度数对应的幅度(例如,***设备136被旋转的度数的50%、150%、200%或任何百分比)。
图8H是根据本公开多个方面的示出变换手势的示例HMD显示880。在图8H所示的示例中,当人工现实内容项目816是活动的并且当用户选择缩放元素812时,用户将***设备136从对应于墙壁121的虚拟表面移开。响应于在选择缩放元素812时检测朝向或远离物理空间(例如,墙壁121)中的平面的平移手势,人工现实***根据相对于***设备136执行的平移手势来缩放人工现实内容项目816。在图8H所示的示例中,人工现实***响应于***设备136从对应于墙壁121的虚拟表面移开而增加人工现实内容项目816的大小。在其他示例中,人工现实***响应于用户将***设备136朝向对应于墙壁121的虚拟表面移动而减小人工现实内容项目816的大小。在一个或更多个方面,人工现实内容项816的大小根据***设备136到对应于墙壁121的虚拟表面的距离而缩放,具有类似于投影的效果。
在一些示例中,用户可以按住缩放元素812,移动***设备136或虚拟指针804以缩放人工现实内容816,并且释放缩放元素812来停止缩放人工现实内容816。在一些示例中,用户可以在缩放元素812上进行第一次按压,移动***设备136或虚拟指针804来缩放人工现实内容816,并且在缩放元素812上进行第二次按压以停止旋转人工现实内容816。在一些示例中,人工现实***的渲染引擎可以生成包括修改的虚拟用户界面元素的修改的虚拟用户界面,该修改的虚拟用户界面元素包括控制缩放的虚拟方向板。
图8I是示出根据本公开的多个方面的用户利用虚拟指针804与人工现实内容项目816交互的示例HMD显示890。在图8I所示的示例中,HMD的渲染引擎可以渲染覆盖在***设备136的表面上的虚拟用户界面892,以用于在HMD处显示。在图8I所示的示例中,人工现实***生成并渲染具有虚拟指针804的虚拟用户界面892。在一个或更多个方面,虚拟用户界面892包括一个或更多个虚拟元素894A-894D(统称为“虚拟元素894”),以注释活动的人工现实内容项目616。用户可以使用虚拟指针804以选择要注释的人工现实内容,例如人工现实内容816。响应于选择人工现实内容816,用户可以在与***设备136上渲染的一个或更多个虚拟元素894对应的位置处执行界面手势。在一个或更多个方面,注释手势包括手132(或手132的一个或更多个手指)选择(例如,触摸)元素894A-894D之一。例如,用户能够通过选择指示用户对虚拟内容项目的反应的“表情符号”(例如,元素894A、894B中的任何一个)来注释活动虚拟内容项目616。
HMD检测用户在与渲染的虚拟元素894对应的位置处执行的界面手势。在一个或更多个方面,能够从由人工现实***的图像捕获设备捕获的图像数据中检测在***设备136的表面上执行的触摸手势,如上所述。在一个或更多个方面,***设备136的表面是存在敏感表面,在该表面处,***设备136检测触摸手势,如上所述。
响应于检测到手势选择或触摸元素894A,人工现实***将执行一个或更多个动作(诸如注释活动虚拟内容项目816),以指示用户“喜爱”或“赞”虚拟内容项目816。在一些示例中,“喜爱”或“赞”的注释将反映在虚拟内容项目816上(例如,元素896将在虚拟内容项目816上生成,如图8I所示)或虚拟内容项目816附近(例如,邻近)。在另一示例中,用户能够通过评论虚拟内容项目来注释活动虚拟内容项目816。例如,用户能够选择元素894C,并且人工现实***能够响应于检测到元素894C的选择手势,生成并渲染虚拟键盘,用于用户输入关于活动虚拟内容项目816的评论。在一个或更多个方面,输入的评论将反映在虚拟内容项目816上或虚拟内容项目816附近(例如,邻近)。在一个或更多个方面,虚拟用户界面892被渲染以用于在HMD处的显示(例如,虚拟用户界面892由人工现实***覆盖或投影在***设备136的表面上,如图8I所示)。在一个或更多个方面,虚拟用户界面892被渲染以用于***设备136的显示(例如,在***设备136的显示器或触摸屏处)。在一个或更多个方面,活动虚拟内容项目能够包括活动指示符898(例如,边框、高亮、阴影和/或用户能够操纵或以其他方式与特定虚拟内容项目交互的任何其他指示),以指示用户能够注释该虚拟内容项目。
图9是示出根据本公开的技术的示例***设备和虚拟用户界面的框图。图9示出了虚拟用户界面137,其具有覆盖在***设备上的虚拟用户界面元素,虚拟用户界面元素即虚拟按钮146。***设备136存在于物理现实中。虚拟用户界面146由人工现实***投影到***设备136的表面上,并被渲染以输出到HMD,从而由***设备136的显示器输出以呈现给HMD的用户。虽然以分解图示出,虚拟用户界面146被示出显著地位于表面220的上方,但是人工现实***可以正好在表面220上或者稍微偏离表面220渲染虚拟用户界面146。这在本文中被称为覆盖在表面220上。
虚拟按钮146对应于表面220上的位置。人工现实环境中的虚拟按钮146的区域对应于虚拟按钮146在表面220上的区域146’。这种对应可以包括,例如,虚拟按钮146在人工现实环境中的区域包含或映射到物理环境中的表面122上的区域146’,在区域146’中,虚拟按钮146被虚拟地渲染到从HMD安装的相机或其他相机馈通(feedthrough)的视频上并显示给用户。
人工现实***可以检测由用户在区域146’(即,在与表面200上的虚拟按钮146对应的位置)执行的用户界面手势。人工现实***检测可以通过处理由表面200检测到的输入,或者通过分析从由图像捕获设备和/或传感器以及外部相机捕获的图像数据中所识别的对象以识别***设备136和/或用户的手和/或手臂,并且跟踪***设备136、手和/或手臂相对于HMD的移动来识别用户执行的手势,进而检测用户界面手势。
本公开中描述的技术可以至少部分地以硬件、软件、固件或其任何组合实现。例如,所述技术的各个方面可在一个或更多个处理器内实现,该处理器包括一个或更多个微处理器、DSP、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效的集成或离散逻辑电路,以及此类部件的任何组合。术语“处理器”或“处理电路”一般可指前述逻辑电路中的任一种(单独或与其他逻辑电路组合),或任何其他等效电路。包括硬件的控制单元也可执行本公开的一种或更多种技术。
此类硬件、软件和固件可在相同的设备内或在单独的设备内实现以支持本公开中描述的各种操作和功能。此外,所描述的单元、模块或部件中的任一个可一起实现或单独地实现为分立的但可互操作的逻辑设备。将不同特征描述为模块或单元旨在突出不同的功能方面,并不一定意味着此类模块或单元必须由单独的硬件或软件部件实现。相反,与一个或更多个模块或单元相关联的功能可以由单独的硬件或软件部件执行,或者集成在公共或单独的硬件或软件部件内。
在本公开中描述的技术还可在包含指令的计算机可读介质(诸如计算机可读存储介质)中体现或编码。嵌入或编码在计算机可读存储介质中的指令可以例如在执行指令时致使可编程处理器或其他处理器执行方法。计算机可读存储介质可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁介质、光学介质或其他计算机可读介质。
如本文通过各种示例所描述的,本公开的技术可包括人工现实***或结合人工现实***来实现。如所描述的,人工现实是在呈现给用户之前已经以某种方式调整的现实的形式,其可包括例如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、混杂现实、或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或与捕获的内容(例如,真实世界的照片)相结合的生成的内容。人工现实内容可以包括视频、音频、触觉反馈或它们的某种组合,并且它们中的任何一个都可以在单个通道或多个通道中呈现(例如向观看者产生三维效果的立体视频)。另外,在一些实施例中,人工现实可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合例如用于在人工现实中创建内容和/或在人工现实中被使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实***可以在各种平台上实现,这些平台包括连接到主计算机***的头戴式设备(HMD)、独立的HMD、移动设备或计算***、或者能够向一个或更多个观看者提供人工现实内容的任何其他硬件平台。

Claims (15)

1.一种人工现实***,包括:
图像捕获设备,所述图像捕获设备被配置为捕获图像数据;
头戴式显示器(HMD),所述HMD被配置为输出人工现实内容;
用户界面引擎,所述用户界面引擎被配置为从所述图像数据中检测***设备,
其中,所述用户界面引擎被配置为生成包括一个或更多个虚拟用户界面元素的虚拟用户界面;和
渲染引擎,所述渲染引擎被配置为渲染所述人工现实内容,并且在用户界面位置处渲染所述虚拟用户界面,以用于在所述HMD处显示,所述用户界面位置相对于所述***设备在人工现实环境中的位置被锁定。
2.根据权利要求1所述的人工现实***,
手势检测器,所述手势检测器被配置为检测用户在与所述虚拟用户界面元素之一对应的位置处执行的用户界面手势,
其中,所述人工现实***被配置为响应于所述用户界面手势,执行与所述虚拟用户界面元素之一相关联的一个或更多个动作。
3.根据权利要求2所述的人工现实***,还包括:
所述***设备,其中所述***设备包括被配置为接收用户的一个或更多个输入的存在敏感界面;
其中,所述手势检测器被配置为基于所述一个或更多个输入来检测所述用户界面手势。
4.根据权利要求2所述的人工现实***,
其中,为了执行所述一个或更多个动作,所述用户界面引擎被配置为修改所述虚拟用户界面,以生成包括一个或更多个修改的虚拟用户界面元素的修改的虚拟用户界面,并且
其中,所述渲染引擎被配置为在所述用户界面位置处渲染所述修改的虚拟用户界面,以用于在所述HMD处显示。
5.根据权利要求1所述的人工现实***,
其中,为了渲染所述虚拟用户界面,所述渲染引擎被配置为渲染在所述***设备表面上覆盖的所述虚拟用户界面,并且
其中,可选地,所述***设备的表面包括存在敏感界面。
6.根据权利要求1所述的人工现实***,还包括:
所述***设备,其中,所述***设备不包括显示器。
7.根据权利要求1所述的人工现实***,还包括:
所述***设备,
其中,所述***设备包括显示器,
其中,所述虚拟用户界面引擎被配置为向所述***设备发送消息,以使所述***设备停用所述显示器,或者
其中,所述虚拟用户界面引擎被配置为接收所述显示器被停用的指示,并且其中为了生成所述虚拟用户界面,所述虚拟用户界面引擎被配置为响应于基于所述指示确定所述显示器被停用,生成所述虚拟用户界面。
8.根据权利要求1所述的人工现实***,还包括:
所述***设备,
其中,所述***设备包括手势检测器,所述手势检测器被配置为检测用户在与所述虚拟用户界面元素之一对应的位置处执行的用户界面手势,并且
其中,所述HMD被配置为响应于所述用户界面手势,执行与所述虚拟用户界面元素之一相关联的一个或更多个动作。
9.根据权利要求1所述的人工现实***,还包括:
手势检测器,其被配置为检测用户在与所述虚拟用户界面上的位置对应的位置处执行的绘图手势,
其中,所述虚拟用户界面引擎被配置为响应于所述绘图手势,生成修改的虚拟用户界面,所述修改的虚拟用户界面包括在所述虚拟用户界面上的位置处的虚拟标记,
其中,所述渲染引擎被配置为在所述用户界面位置处渲染所述修改的虚拟用户界面用于在所述HMD处显示。
10.根据权利要求1所述的人工现实***,其中,所述***设备包括智能手机、智能手表或平板电脑之一。
11.一种方法,包括:
由包括头戴式显示器(HMD)的人工现实***经由图像捕获设备获得图像数据,所述HMD被配置为输出人工现实内容;
由所述人工现实***从所述图像数据中检测***设备;
由所述人工现实***生成包括一个或更多个虚拟用户界面元素的虚拟用户界面;并且
由所述人工现实***渲染所述人工现实内容,并且在用户界面位置处,渲染所述虚拟用户界面,以用于在所述HMD处显示,所述用户界面位置相对于所述***设备在人工现实环境中的位置被锁定。
12.根据权利要求11所述的方法,还包括:
由所述人工现实***检测由用户在与所述虚拟用户界面元素之一对应的位置处执行的用户界面手势;
由所述人工现实***响应于所述用户界面手势,执行与所述虚拟用户界面元素之一相关联的一个或更多个动作。
13.根据权利要求12所述的方法,
其中,所述方法还包括在所述***设备的存在敏感界面处接收用户的一个或更多个输入,其中,所述检测包括基于所述一个或更多个输入检测所述用户界面手势,或者
其中,执行所述一个或更多个动作包括修改所述虚拟用户界面以生成包括一个或更多个修改的虚拟用户界面元素的修改的虚拟用户界面,并且其中所述方法还包括在所述用户界面位置处渲染所述修改的虚拟用户界面,以用于在所述HMD处显示。
14.根据权利要求11所述的方法,
其中,所述***设备不包括显示器,或者
其中,所述方法还包括从所述HMD向所述***设备发送消息以使所述***设备关闭所述显示器,或者
其中,所述方法还包括由所述***设备检测由用户在与所述虚拟用户界面元素之一对应的位置处执行的用户界面手势,以及由所述人工现实***响应于所述用户界面手势执行与所述虚拟用户界面元素之一相关联的一个或更多个动作。
15.一种包括指令的非暂时性计算机可读介质,所述指令在被执行时,使得包括被配置为输出人工现实内容的头戴式显示器(HMD)的人工现实***的一个或更多个处理器:
生成包括一个或更多个虚拟用户界面元素的虚拟用户界面;
渲染所述人工现实内容,并且在用户界面位置处,渲染所述虚拟用户界面,以用于在所述HMD处显示,所述用户界面位置相对于所述***设备在人工现实环境中的位置被锁定;
检测用户在与所述虚拟用户界面元素之一对应的位置处执行的用户界面手势;和
响应于所述用户界面手势,执行与所述虚拟用户界面元素之一相关联的一个或更多个动作。
CN202080049039.6A 2019-07-09 2020-07-07 在人工现实环境中使用***设备的虚拟用户界面 Pending CN114080585A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/506,618 2019-07-09
US16/506,618 US20210011556A1 (en) 2019-07-09 2019-07-09 Virtual user interface using a peripheral device in artificial reality environments
PCT/US2020/041028 WO2021007221A1 (en) 2019-07-09 2020-07-07 Virtual user interface using a peripheral device in artificial reality environments

Publications (1)

Publication Number Publication Date
CN114080585A true CN114080585A (zh) 2022-02-22

Family

ID=71833468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080049039.6A Pending CN114080585A (zh) 2019-07-09 2020-07-07 在人工现实环境中使用***设备的虚拟用户界面

Country Status (7)

Country Link
US (1) US20210011556A1 (zh)
EP (1) EP3997552B1 (zh)
JP (1) JP2022540315A (zh)
KR (1) KR20220030294A (zh)
CN (1) CN114080585A (zh)
TW (1) TW202105133A (zh)
WO (1) WO2021007221A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11190560B2 (en) 2015-07-27 2021-11-30 Autodesk, Inc. Sharing computer application activities
US11861136B1 (en) * 2017-09-29 2024-01-02 Apple Inc. Systems, methods, and graphical user interfaces for interacting with virtual reality environments
US11409671B2 (en) 2019-09-19 2022-08-09 Facebook Technologies, Llc Artificial reality system having multi-bank, multi-port distributed shared memory
US11487594B1 (en) 2019-09-24 2022-11-01 Meta Platforms Technologies, Llc Artificial reality system with inter-processor communication (IPC)
US11474970B2 (en) 2019-09-24 2022-10-18 Meta Platforms Technologies, Llc Artificial reality system with inter-processor communication (IPC)
US11086476B2 (en) * 2019-10-23 2021-08-10 Facebook Technologies, Llc 3D interactions with web content
US11520707B2 (en) 2019-11-15 2022-12-06 Meta Platforms Technologies, Llc System on a chip (SoC) communications to prevent direct memory access (DMA) attacks
US11368283B2 (en) 2019-11-15 2022-06-21 Facebook Technologies, Llc Encryption and decryption engines with selective key expansion skipping
US11601532B2 (en) 2019-11-15 2023-03-07 Meta Platforms Technologies, Llc Wireless communication with code separation
US11475639B2 (en) 2020-01-03 2022-10-18 Meta Platforms Technologies, Llc Self presence in artificial reality
WO2021236170A1 (en) * 2020-05-18 2021-11-25 Google Llc Low-power semi-passive relative six-degree-of-freedom tracking
US11954268B2 (en) * 2020-06-30 2024-04-09 Snap Inc. Augmented reality eyewear 3D painting
US11694376B2 (en) * 2020-10-19 2023-07-04 Adobe Inc. Intuitive 3D transformations for 2D graphics
US11449606B1 (en) 2020-12-23 2022-09-20 Facebook Technologies, Llc Monitoring circuit including cascaded s-boxes for fault injection attack protection
TWI821878B (zh) * 2021-02-02 2023-11-11 仁寶電腦工業股份有限公司 虛實互動方法及虛實互動系統
JP2022122479A (ja) * 2021-02-10 2022-08-23 キヤノン株式会社 撮像システム、表示装置、撮像装置、および撮像システムの制御方法
US11972505B2 (en) * 2021-06-15 2024-04-30 Lenovo (Singapore) Pte. Ltd. Augmented image overlay on external panel
US11295503B1 (en) 2021-06-28 2022-04-05 Facebook Technologies, Llc Interactive avatars in artificial reality
TWI784645B (zh) * 2021-07-29 2022-11-21 宏碁股份有限公司 擴增實境系統及其操作方法
EP4392853A1 (en) * 2021-08-27 2024-07-03 Apple Inc. System and method of augmented representation of an electronic device
TWI803134B (zh) * 2021-09-24 2023-05-21 宏達國際電子股份有限公司 虛擬影像顯示裝置及其輸入介面的設定方法
US11644972B2 (en) 2021-09-24 2023-05-09 Htc Corporation Virtual image display device and setting method for input interface thereof
WO2023080958A1 (en) * 2021-11-04 2023-05-11 Microsoft Technology Licensing, Llc. Intelligent keyboard attachment for mixed reality input
US11797175B2 (en) * 2021-11-04 2023-10-24 Microsoft Technology Licensing, Llc Intelligent keyboard attachment for mixed reality input
US20230176662A1 (en) * 2021-12-06 2023-06-08 Htc Corporation Control method, virtual reality system, and non-transitory computer readable storage medium with map of head-mounted device
TWI829563B (zh) * 2022-03-23 2024-01-11 宏達國際電子股份有限公司 可穿戴追蹤系統和可穿戴追蹤方法
US11847267B2 (en) * 2022-05-11 2023-12-19 Hewlett-Packard Development Company, L.P. Input device tracking systems
CN117289850A (zh) * 2022-06-16 2023-12-26 北京字跳网络技术有限公司 显示控制方法、装置、电子设备、介质及程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130249942A1 (en) * 2012-03-21 2013-09-26 Gm Global Technology Operations Llc. System and apparatus for augmented reality display and controls
US20160054791A1 (en) * 2014-08-25 2016-02-25 Daqri, Llc Navigating augmented reality content with a watch
US20190065026A1 (en) * 2017-08-24 2019-02-28 Microsoft Technology Licensing, Llc Virtual reality input

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10754416B2 (en) * 2016-11-14 2020-08-25 Logitech Europe S.A. Systems and methods for a peripheral-centric augmented/virtual reality environment
US10591730B2 (en) * 2017-08-25 2020-03-17 II Jonathan M. Rodriguez Wristwatch based interface for augmented reality eyewear

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130249942A1 (en) * 2012-03-21 2013-09-26 Gm Global Technology Operations Llc. System and apparatus for augmented reality display and controls
US20160054791A1 (en) * 2014-08-25 2016-02-25 Daqri, Llc Navigating augmented reality content with a watch
US20190065026A1 (en) * 2017-08-24 2019-02-28 Microsoft Technology Licensing, Llc Virtual reality input

Also Published As

Publication number Publication date
EP3997552A1 (en) 2022-05-18
EP3997552B1 (en) 2024-07-03
KR20220030294A (ko) 2022-03-10
TW202105133A (zh) 2021-02-01
JP2022540315A (ja) 2022-09-15
WO2021007221A1 (en) 2021-01-14
US20210011556A1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
EP3997552B1 (en) Virtual user interface using a peripheral device in artificial reality environments
US10890983B2 (en) Artificial reality system having a sliding menu
US11003307B1 (en) Artificial reality systems with drawer simulation gesture for gating user interface elements
US20200387214A1 (en) Artificial reality system having a self-haptic virtual keyboard
US20200387286A1 (en) Arm gaze-driven user interface element gating for artificial reality systems
WO2017201162A1 (en) Virtual/augmented reality input device
US10921879B2 (en) Artificial reality systems with personal assistant element for gating user interface elements
US11023035B1 (en) Virtual pinboard interaction using a peripheral device in artificial reality environments
US11086475B1 (en) Artificial reality systems with hand gesture-contained content window
US10955929B2 (en) Artificial reality system having a digit-mapped self-haptic input method
US10976804B1 (en) Pointer-based interaction with a virtual surface using a peripheral device in artificial reality environments
TW201214266A (en) Three dimensional user interface effects on a display by using properties of motion
US11043192B2 (en) Corner-identifiying gesture-driven user interface element gating for artificial reality systems
US10990240B1 (en) Artificial reality system having movable application content items in containers
US10852839B1 (en) Artificial reality systems with detachable personal assistant for gating user interface elements
US11023036B1 (en) Virtual drawing surface interaction using a peripheral device in artificial reality environments
US11816757B1 (en) Device-side capture of data representative of an artificial reality environment
WO2024026024A1 (en) Devices and methods for processing inputs to a three-dimensional environment
WO2024064231A1 (en) Devices, methods, and graphical user interfaces for interacting with three-dimensional environments

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
CB02 Change of applicant information

Address after: California, USA

Applicant after: Yuan Platform Technology Co.,Ltd.

Address before: California, USA

Applicant before: Facebook Technologies, LLC

CB02 Change of applicant information