CN113874819A - 基于捏和拉手势检测人工现实***中的输入 - Google Patents

基于捏和拉手势检测人工现实***中的输入 Download PDF

Info

Publication number
CN113874819A
CN113874819A CN202080039024.1A CN202080039024A CN113874819A CN 113874819 A CN113874819 A CN 113874819A CN 202080039024 A CN202080039024 A CN 202080039024A CN 113874819 A CN113874819 A CN 113874819A
Authority
CN
China
Prior art keywords
artificial reality
gesture
hand
pinch
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
CN202080039024.1A
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 CN113874819A publication Critical patent/CN113874819A/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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition

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)
  • Optics & Photonics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

描述了一种人工现实***,其在人工现实环境中渲染、呈现和控制用户界面元素,并响应于检测到的用户的一个或更多个手势来执行动作。在一个示例中,人工现实***包括被配置为捕获代表物理环境的图像数据的图像捕获设备;被配置为输出人工现实内容的头戴式显示器(HMD);手势检测器,该手势检测器被配置为从图像数据中识别手势,该手势包括来自手的两个手指的运动以形成捏构形,以及当处于捏构形时的后续拉动运动;被配置为响应于识别手势而生成UI输入元素的用户界面(UI)引擎;以及被配置为将UI输入元素渲染为对人工现实内容的至少一些的叠加的渲染引擎。

Description

基于捏和拉手势检测人工现实***中的输入
相关申请的交叉引用
本申请要求2019年6月7日提交的美国申请第16/435,116号的优先权,该申请的内容通过引用以其整体并入本文以用于全部目的。
技术领域
本公开总体上涉及人工现实***,例如虚拟现实、混合现实和/或增强现实***,更具体地,涉及人工现实***的用户界面。
背景
人工现实***正变得越来越普遍,应用于许多领域,诸如计算机游戏、健康和安全、工业和教育。作为几个示例,人工现实***正在被合并到移动设备、游戏机、个人计算机、电影院和主题公园中。通常,人工现实是在呈现给用户之前已经以某种方式调整的现实的形式,其可包括例如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、混杂现实(hybridreality)、或其某种组合和/或衍生物。
典型人工现实***包括用于渲染和向用户显示内容的一个或更多个设备。作为一个示例,人工现实***可合并头戴式显示器(HMD),该HMD由用户佩戴并且被配置为向用户输出人工现实内容。人工现实内容可包括完全生成内容或与捕获内容(例如,真实世界视频和/或图像)组合的生成内容。在操作期间,用户通常与人工现实***交互,以选择内容、启动应用或以其他方式配置***。
概述
总的来说,本公开描述了人工现实***,更具体地,描述了用于在人工现实环境中呈现和控制用户界面元素的图形用户界面元素和技术。
例如,描述了人工现实***,其响应于检测到用户的一个或更多个预定义手势(gesture),例如用户的手、手指、拇指或手臂的特定运动、构形(configuration)、位置和/或取向,或者预定义手势的组合,生成并渲染图形用户界面元素以显示给用户。在一些示例中,人工现实***还可以响应于结合其他条件的特定手势的检测来触发图形用户界面元素的生成和呈现,其他条件例如是物理环境中特定手势相对于用户的当前视场的位置和取向,这可以通过用户的实时凝视跟踪来确定,或者相对于用户佩戴的HMD的姿势(pose)来确定。
在一些示例中,人工现实***可以生成并呈现图形用户界面元素作为相对于当前正在人工现实***的显示器内渲染的人工现实内容的叠加元素(overlay element)。图形用户界面元素可以是例如图形用户界面,例如用户与之交互以操作人工现实***的菜单或子菜单,或者可由用户选择和操作的单个图形用户界面元素,例如切换元素(toggleelement)、下拉元素、菜单选择元素、二维或三维形状、图形输入键或键盘、内容显示窗口等。
本公开描述了用于识别用户的手与诸如用户界面(UI)捏元素的用户界面元素的交互,并且响应于这种交互,触发(trigger)或选通(gate)图形用户界面元素的呈现的技术。在一些示例中,用户可以通过手势或运动与这种UI捏元素交互,该手势或运动可以包括手的两个手指被放在一起和/或在UI捏元素附近形成捏构形(pinching configuration),随后是当手处于捏构形时手和/或手指的后续拉动运动(pulling motion)。在一些示例中,图形用户界面元素的呈现的触发或选通可以响应于在控制物理指示笔(stylus)时识别或检测到由用户的手执行的特定动作或移动。
在一些示例中,响应于捏和拉手势(pinch and pull gesture)(或响应于指示笔动作)而呈现的图形用户界面元素可以呈现用于指定输入的选项,其中该输入可以由用户出于对人工现实环境的一个或更多个方面进行调整的目的而被指定。在图形用户界面元素被呈现之后,用户的进一步移动可以使得人工现实***修改图形用户界面元素的外观,以指示如果被选择,调整可能对人工现实环境产生的影响。在一些示例中,额外的手势或移动使得人工现实***识别用户选择的用于由图形用户界面元素呈现的调整或选项的输入,并且基于这样的选择,将该输入应用于人工现实环境。
本公开的一些技术可以提供具体的技术改进和优点。例如,本文描述的手势和/或运动中的至少一些可以提供触感反馈或触觉(即,“自触觉(self-haptic)”)反馈,这满足了一些用户在与UI元素交互时对某种物理反馈感的期望。此外,本文描述的手势和/或运动中的至少一些可以是能够仅用单手执行的自然运动,并且对于许多用户来说没有太大的身体困难。此外,这样的手势和/或运动可以被HMD或其他传感器或图像捕获设备可靠地跟踪和/或识别,因为这样的手势和/或运动可能容易从图像数据中识别,并且手势和/或运动的图像可能不太容易被物理环境中的其他物理元素(例如,用户的另一只手)遮住或遮挡。
本公开主要描述了根据本公开的一个或更多个方面由人工现实***执行的操作。在一个特定示例中,本公开描述了一种方法,该方法包括由图像捕获设备捕获表示物理环境的图像数据;由HMD输出人工现实内容;从图像数据中识别手势,该手势包括来自手的两个手指的运动以形成捏构形,以及当处于捏构形时的后续拉动运动;响应于识别手势,生成UI输入元素;以及将UI输入元素渲染为对人工现实内容的至少一些的叠加。
在另一具体示例中,本公开描述了一种方法,该方法包括输出人工现实内容;检测指示笔的移动;检测指示笔选择动作;在检测到指示笔选择动作之后,检测指示笔的进一步移动;响应于检测到指示笔的移动,生成指示笔移动内容;响应于检测到指示笔选择动作,生成UI输入元素;将指示笔移动内容和UI输入元素渲染为对人工现实内容的至少一些的叠加;以及基于指示笔的进一步移动来更新指示笔移动内容。
在另一具体示例中,本公开描述了一种方法,由图像捕获设备捕获表示物理环境的图像数据;由头戴式显示器(HMD)输出人工现实内容;从图像数据中识别手势,该手势包括来自手的两个手指的运动以形成捏构形,以及在处于捏构形时的后续拉动运动;响应于识别手势,生成UI输入元素;以及将UI输入元素渲染为对人工现实内容的至少一些的叠加。
在另一具体示例中,本公开描述了一种非暂时性计算机可读介质,包括用于使人工现实***的一个或更多个处理器执行操作的指令,所述操作包括:由图像捕获设备捕获表示物理环境的图像数据;由头戴式显示器(HMD)输出人工现实内容;从图像数据中识别手势,该手势包括来自手的两个手指的运动以形成捏构形,以及在处于捏构形时的后续拉动运动;响应于识别手势,生成UI输入元素;以及将UI输入元素渲染为对人工现实内容的至少一些的叠加。
在另一具体示例中,本公开描述了输出人工现实内容;检测指示笔的移动;检测指示笔选择动作;在检测到指示笔选择动作之后,检测指示笔的进一步移动;响应于检测到指示笔的移动,生成指示笔移动内容;响应于检测到指示笔选择动作,生成UI输入元素;将指示笔移动内容和UI输入元素渲染为对人工现实内容的至少一些的叠加;以及基于指示笔的进一步移动来更新指示笔移动内容。
在另一具体示例中,本公开描述了一种非暂时性计算机可读介质,包括用于使人工现实***的一个或更多个处理器执行操作的指令,所述操作包括:输出人工现实内容;检测指示笔的移动;检测指示笔选择动作;在检测到指示笔选择动作之后,检测指示笔的进一步移动;响应于检测到指示笔的移动,生成指示笔移动内容;响应于检测到指示笔选择动作,生成UI输入元素;将指示笔移动内容和UI输入元素渲染为对人工现实内容的至少一些的叠加;以及基于指示笔的进一步移动来更新指示笔移动内容。
在一些示例中,提供了一种人工现实***,包括:图像捕获设备,该图像捕获设备被配置为捕获表示物理环境的图像数据;头戴式显示器(HMD),该HMD被配置为输出人工现实内容;手势检测器,该手势检测器被配置为从图像数据中识别手势,该手势包括来自手的两个手指的运动以形成捏构形,以及在处于捏构形时的后续拉动运动;用户界面(UI)引擎,该UI引擎被配置为响应于识别手势而生成UI输入元素;以及渲染引擎,该渲染引擎被配置为将UI输入元素渲染为对人工现实内容的至少一些的叠加。
在一些实施例中,为了识别手势,手势检测器优选地被进一步配置为:从图像数据确定捏构形在UI捏元素附近。
在一些实施例中,手势检测器还可以被配置为:在识别手势之后,识别当两个手指处于捏构形时手的进一步移动。
在一些实施例中,渲染引擎优选地被进一步配置为:响应于手的进一步移动并以对应于手的进一步移动的方式修改UI输入元素。
在一些实施例中,为了以对应于手的进一步移动的方式修改UI输入元素,渲染引擎优选地被进一步配置为:修改UI输入以指示输入值。
在一些实施例中,渲染引擎优选地被进一步配置为:渲染修改的UI输入元素。
在一些实施例中,手势检测器优选地被进一步配置为:根据图像数据确定捏构形已经停止。
在一些实施例中,用户界面引擎优选地被进一步配置为:响应于确定捏构形已经停止,识别输入值;并且基于输入值生成更新的人工现实内容。
在一些实施例中,渲染引擎优选地被进一步配置为:渲染更新的人工现实内容。
在一些实施例中,HMD优选地被进一步配置为输出代表物理环境的图像数据的至少一些。
在一些实施例中,为了识别手势,手势检测器优选地被进一步配置为:将手势识别为对应于手势库中的条目。
在一些实施例中,来自手的两个手指优选地是拇指和食指。
在一些实施例中,后续拉动运动优选地包括手的拉动运动。
在一些实施例中,后续拉动运动可以包括两个手指的拉动运动。
在一些实施例中,图像捕获设备优选地集成在HMD内。
在一些实施例中,UI输入元素优选地为以下中的至少一个:一维连续变量滑块(variable slider);一维离散变量滑块;开关;菜单;径向项目拾取器(radial itempicker);径向滑块;颜色拾取器;体积颜色拾取器(volumetric color picker);或者进度滑块。
在一些示例中,提供了一种方法,包括:由图像捕获设备捕获表示物理环境的图像数据;由头戴式显示器(HMD)输出人工现实内容;从图像数据中识别手势,该手势包括来自手的两个手指的运动以形成捏构形,以及在处于捏构形时的后续拉动运动;响应于识别手势,生成UI输入元素;以及将UI输入元素渲染为对人工现实内容的至少一些的叠加。
在一些实施例中,该方法可以进一步包括:从图像数据确定捏构形在UI捏元素附近。
在一些实施例中,该方法可以进一步包括:在识别手势之后,识别当两个手指处于捏构形时手的进一步移动。
在一些示例中,提供了一种非暂时性计算机可读介质,包括用于使人工现实***的一个或更多个处理器执行操作的指令,所述操作包括:由图像捕获设备捕获表示物理环境的图像数据;由头戴式显示器(HMD)输出人工现实内容;从图像数据中识别手势,该手势包括来自手的两个手指的运动以形成捏构形,以及在处于捏构形时的后续拉动运动;响应于识别手势,生成UI输入元素;以及将UI输入元素渲染为对人工现实内容的至少一些的叠加。
本文描述的适于结合到本公开的示例或实施例中的任何特征将被理解为旨在可推广到本公开的任何和所有示例和实施例。本公开的技术的一个或更多个示例的细节在附图和下面的描述中阐述。本发明的其他特征、目的和优点将从说明书和附图以及权利要求中显而易见。
附图简述
图1A是描绘根据本公开的技术在人工现实环境中呈现和控制用户界面元素的示例人工现实***的图示。
图1B是描绘根据本公开技术的另一示例人工现实***的图示。
图2是描绘根据本公开的技术操作的示例HMD的图示。
图3是示出图1A和图1B的人工现实***的控制台和HMD的示例实现的框图。
图4是描绘根据本公开的技术由图1A和图1B的人工现实***的HMD执行手势检测和用户界面生成的示例的框图。
图5A、图5B和图5C示出了根据本公开的一个或更多个方面,响应于用户执行的捏和拉手势而呈现的人工现实内容的示例序列。
图6A、图6B和图6C示出了根据本公开的一个或更多个方面的包括响应于用户执行的捏和拉手势而呈现在显示器上的示例一维滑块UI元素的人工现实内容序列。
图7A和图7B示出了根据本公开的一个或更多个方面的人工现实内容的序列,该序列包括响应于用户执行的捏和拉手势而呈现在显示器上的示例开关UI元素。
图7C是示出相对于开关UI元素的捏和拉手势的二维表示的概念图。
图8A示出了根据本公开的一个或更多个方面的包括示例径向项目拾取器UI元素的人工现实内容。
图8B示出了根据本公开的一个或更多个方面的包括示例径向滑块UI元素的人工现实内容。
图8C示出了根据本公开的一个或更多个方面的包括示例颜色拾取器UI元素的人工现实内容。
图9A、图9B和图9C示出了根据本公开的一个或更多个方面的人工现实内容的序列,该序列包括响应于用户执行的捏和拉手势而呈现在显示器上的示例径向项目拾取器UI元素。
图10是示出根据本公开的一个或更多个方面的包括示例体积颜色拾取器UI元素的人工现实内容的概念图。
图11是示出根据本公开的一个或更多个方面的包括示例进度滑块UI元素的人工现实内容的概念图。
图12A、图12B和图12C示出了根据本公开的一个或更多个方面的涉及示例物理指示笔的人工现实内容的序列。
图13A是示出根据本公开的一个或更多个方面,由示例人工现实***执行的操作的流程图。
图13B是示出根据本公开的一个或更多个方面,由示例人工现实***使用物理指示笔执行的操作的流程图。
详细描述
图1A是描绘根据本公开的技术在人工现实环境中呈现和控制用户界面元素的示例人工现实***10的图示。在一些示例实现中,人工现实***10响应于用户110执行的一个或更多个检测到的手势,生成图形用户界面元素并将其渲染给用户110。也就是说,如本文所述,人工现实***10响应于检测到用户110执行的一个或更多个特定手势,例如用户的手、手指、拇指或手臂的特定运动、构形、位置和/或取向,呈现一个或更多个图形用户界面元素124、126。在其他示例中,人工现实***10呈现并控制专门为人工现实环境中的用户交互和操纵而设计的用户界面元素,例如专用切换元素、下拉元素、菜单选择元素、图形输入键或键盘、内容显示窗口等。
在图1A的示例中,人工现实***10包括头戴式设备(HMD)112、控制台106以及在一些示例中的一个或更多个外部传感器90。如所示的,HMD 112通常由用户110佩戴,并且包括用于向用户110呈现人工现实内容122的电子显示器和光学组件。此外,HMD 112包括用于跟踪HMD的运动的一个或更多个传感器(例如,加速度计),并且可包括用于捕获周围物理环境的图像数据的一个或更多个图像捕获设备138(例如,相机、行扫描仪(line scanner)等)。在该示例中,控制台106被示为单个计算设备,诸如游戏机、工作站、台式计算机或膝上型计算机。在其他示例中,控制台106可分布在多个计算设备上,诸如分布式计算网络、数据中心或云计算***。如该示例所示,控制台106、HMD 112和传感器90可经由网络104通信耦接,该网络可以是有线或无线网络,诸如WiFi、网状网络或短程无线通信介质。尽管在该示例中,HMD 112被示出为与控制台106通信,例如系留(tethered to)到控制台或与控制台进行无线通信,但在一些实现中,HMD 112作为独立的移动人工现实***进行操作。
通常,人工现实***10使用从真实世界3D物理环境捕获的信息来渲染人工现实内容122以显示给用户110。在图1A的示例中,用户110观看由在控制台106和/或HMD 112上执行的人工现实应用构建和渲染的人工现实内容122。作为一个示例,人工现实内容122可以是消费者游戏应用,其中用户110被渲染为具有一个或更多个虚拟对象128A、128B的化身120。在一些示例中,人工现实内容122可以包括现实世界图像和虚拟对象的混合,例如混合现实和/或增强现实。在其他示例中,人工现实内容122可以是例如视频会议应用、导航应用、教育应用、培训或模拟应用、或实现人工现实的其他类型的应用。
在操作期间,人工现实应用通过跟踪和计算参考系(通常是HMD 112的视角)的姿势信息来构建用于向用户110显示的人工现实内容122。使用HMD 112作为参考系,并且基于由HMD 112的当前估计姿势确定的当前视场130,人工现实应用渲染3D人工现实内容,在一些示例中,该3D人工现实内容可以至少部分地覆盖在用户110的真实世界3D物理环境上。在该过程中,人工现实应用使用从HMD 112接收的感测数据,例如运动信息和用户命令,并且在一些示例中,使用来自任何外部传感器90(例如外部相机)的数据来捕获真实世界、物理环境中的3D信息,例如用户110的运动和/或关于用户110的特征跟踪信息。基于所感测的数据,人工现实应用确定HMD 112的参考系的当前姿势,并且根据当前姿势,渲染人工现实内容122。
此外,根据本公开的技术,基于所感测的数据,人工现实应用检测由用户110执行的手势,并且响应于检测到一个或更多个特定手势,生成一个或更多个用户界面元素,例如UI菜单124和UI元素126,其可以覆盖在呈现给用户的底层人工现实内容122上。在这方面,用户界面元素124、126可以被视为在人工现实环境中呈现给用户的人工现实内容122的一部分。以这种方式,人工现实***10响应于检测到用户110的一个或更多个特定手势,例如用户的手、手指、拇指或手臂的特定运动、构形、位置和/或取向,动态地呈现一个或更多个图形用户界面元素124、126。用户的手的示例构形可以包括拳头、伸出的一个或更多个手指、手的一个或更多个单独手指的相对和/或绝对位置和取向、手掌的形状等。例如,用户界面元素可以是图形用户界面,例如用户110与之交互以操作人工现实***的菜单或子菜单,或者用户110可选择和操纵的单个用户界面元素,例如切换元素、下拉元素、菜单选择元素、二维或三维形状、图形输入键或键盘、内容显示窗口等。虽然被描绘为二维元素,但是例如,UI元素126可以是二维或三维形状,其可由执行手势以在人工现实环境中平移、缩放和/或旋转该形状的用户来操纵。
此外,如本文所述,在一些示例中,人工现实***10可以响应于其他条件,例如***正在执行的一个或更多个应用的当前状态,或者物理环境中特定检测到的手势相对于用户110的当前视场130的位置和取向(这可以通过用户的实时凝视跟踪或其他条件来确定),触发图形用户界面元素124、126的生成和渲染。
更具体地说,如本文进一步所述的,HMD 112的图像捕获设备138捕获表示在图像捕获设备138的视场130内的真实世界物理环境中的对象的图像数据。视场130通常对应于HMD 112的视角。在一些示例中,例如图1A所示的示例,人工现实应用将用户110的手132在视场130内的部分渲染为人工现实内容122内的虚拟手136。在其他示例中,人工现实应用可以在包括混合现实和/或增强现实的人工现实内容122中呈现用户110的手132和/或手臂134的真实世界图像。在任一示例中,用户110能够将他们的手132和/或手臂134在视场130内的部分视为人工现实内容122内的对象。在其他示例中,人工现实应用可能根本不渲染用户的手132或手臂134。
在操作期间,人工现实***10可以在由HMD 112的图像捕获设备138捕获的图像数据内执行对象识别,以识别手132,包括可选地识别用户110的单个手指或拇指,和/或手臂134的全部或部分。此外,人工现实***10可在滑动时间窗口上跟踪手132(可选地包括手的特定手指)和/或手臂134的部分的位置、取向和构形。人工现实应用分析手132和/或手臂134的部分的任何跟踪的运动、构形、位置和/或取向,以识别由特定对象(例如,手132(包括手的特定手指)和/或用户110的手臂134的部分)执行的一个或更多个手势。为了检测手势,人工现实应用可以将手132和/或手臂134的部分的运动、构形、位置和/或取向与存储在人工现实***10的手势库中的手势定义进行比较,其中手势库中的每个手势可以各自被映射到一个或更多个动作。在一些示例中,检测移动可以包括跟踪手132的一个或更多个手指(单个手指和拇指)的位置,包括在物理环境中手指(例如食指和拇指)的任何定义的组合是否被放在一起触摸或近似触摸。在其他示例中,检测移动可以包括跟踪手132的取向(例如,手指指向HMD 112或远离HMD 112)和/或手臂134相对于HMD 112的当前姿势的取向(例如,手臂的法线面向HMD 112)。手132(或其一部分)的位置和取向可替代地被称为手132(或其一部分)的姿势。
此外,人工现实应用可以分析手132和/或手臂134的构形、位置和/或取向,以识别包括手132和/或手臂134被保持在一个或更多个特定构形、位置和/或取向至少阈值时间段的手势。作为示例,手132和/或手臂134在视场130内保持基本静止至少一段可配置时间的一个或更多个特定位置可以被人工现实***10用作用户110正试图执行旨在触发人工现实应用的期望响应的手势的指示,诸如触发特定类型的用户界面元素124、126(诸如菜单)的显示。作为另一个示例,手132的手指和/或手掌和/或手臂134的一个或更多个特定构形被保持在视场130内至少一段可配置的时间,可以被人工现实***10用作用户110正试图执行手势的指示。尽管在图1A中仅示出了用户110的右手132和右手臂134,但是在其他示例中,人工现实***10可以识别用户110的左手和/或左手臂,或者识别用户110的右手和/或右手臂以及用户110的左手和/或左手臂。以这种方式,人工现实***10可以检测物理环境中由手执行的单手手势、双手手势或基于手臂的手势,并响应于检测到的手势生成相关联的用户界面元素。
根据本公开的技术,人工现实应用确定所识别的手势是否对应于由控制台106和/或HMD 112的手势库中的多个条目之一定义的手势。如下文更详细描述的,手势库中的每个条目可以将不同的手势定义为用户的手、手指(digit)(手指(finger)或拇指)和/或手臂随时间的特定运动、构形、位置和/或取向,或者这些属性的组合。此外,每个定义的手势可以与以要由人工现实应用执行的一个或更多个动作的形式的期望的响应相关联。作为一个示例,手势库中的一个或更多个定义的手势可以触发一个或更多个用户界面元素(例如UI菜单124)的生成、转换和/或配置,以被渲染并覆盖在人工现实内容122上,其中手势可以定义UI菜单124在人工现实内容122中的位置和/或取向。作为另一示例,一个或更多个定义的手势可以指示用户110与特定用户界面元素的交互,例如选择UI菜单124的UI元素126,以触发对所呈现的用户界面的改变、所呈现的用户界面的子菜单的呈现等。
如本文所述,HMD 112或控制台106可以检测与人工现实内容122内呈现的UI元素的交互,并且作为响应,呈现图形UI元素,使得用户能够指定要由人工现实***10处理的输入。例如,参考图1A,HMD 112可以检测手132的运动,并且可以进一步确定该运动包括来自手132的两个手指在UI捏元素(其可以是例如UI元素126或另一个UI元素)附近形成捏构形。HMD 112还可以检测到手132在处于捏构形时已经执行了后续的拉动运动。HMD 112可以基于检测到的运动,向用户110呈现包括图形UI元素的更新的人工现实内容。
当手132处于捏构形时,HMD 112可以检测手132的进一步移动,并且响应于进一步移动,可以响应于进一步的移动更新图形UI元素和人工现实内容的其他方面。例如,在UI元素可以表示简单的一维音频音量控制的示例中,手的进一步移动(即,在识别捏和拉手势之后)可以被HMD112解释为调整(例如,增加或减少)音频音量的用户输入。在一些示例中,当用户的手正在移动时,可以调整音频音量,从而对用户与UI元素的交互提供近乎即时的响应。因此,用户可以通过移动与UI元素交互,并且随着这些移动的进行,用户可以看到、听到或感觉到这些交互如何改变人工现实环境。这样的交互因此可以作为向人工现实***提供输入的一种方式,其方式也可以向用户提供适当和/或有用的反馈,使得用户能够以直观和/或交互的方式改变、修改或调整人工现实环境的各个方面。
在其他示例中,在UI捏元素附近执行的捏和拉手势可以触发其他类型的UI元素的呈现,诸如那些使得用户能够选择多个离散输入选项之一、沿着连续值的标度选择值、选择颜色或者选择任何其他适当的输入值或输入值集合的UI元素。
在一些示例中,响应于检测到手势或用户与物理指示笔的交互或由该检测触发,HMD 112可以替代地(或附加地)呈现UI元素。一旦检测到手势或交互,HMD 112可以检测指示笔的进一步移动,并且以类似于前述示例的方式,响应于指示笔的进一步移动,更新UI元素和人工现实内容的其他方面。例如,响应于手势或与指示笔的交互而呈现的图形UI元素也可以是音频音量控制,并且指示笔的进一步移动可以被HMD 112解释为调整(例如,增加或减少)音频音量的用户输入,如在前面的示例中。因此,在这样的示例中,用户可以替代地通过指示笔的移动来与UI元素交互,并且作为响应,用户可以看到、听到或感觉到这样的交互如何改变人工现实环境。
因此,本公开的技术为通过人工现实***渲染和显示内容的计算机相关领域提供了具体的技术改进。例如,本文描述的人工现实***可以通过基于对由用户执行的直观但有区别的手势的检测来生成和渲染覆盖在人工现实内容上的用户界面元素,来向人工现实应用的用户(例如用户110)提供高质量的人工现实体验。
此外,本文所述的***可以被配置为基于被定义为避免跟踪遮挡的手和手臂移动来检测某些手势。当用户的一只手至少部分地与另一只手重叠时,可能会发生跟踪遮挡,可能使得难以准确地跟踪每只手的各个手指(手指和拇指),以及每只手的位置和取向。因此,本文描述的***可以被配置成主要检测基于单手或单手臂的手势。基于单手或单手臂的手势的使用可以进一步为具有大运动和精细运动技能限制的用户提供增强的可访问性。此外,本文描述的***可以被配置成检测基于双手或基于双手臂的手势,其中用户的手不相互交互或重叠。
此外,本文描述的***可以被配置成检测向用户提供自触觉反馈的手势。例如,用户每只手上的拇指和一个或更多个手指可以在物理世界中触摸或近似触摸,作为指示与人工现实内容中的特定用户界面元素的交互的预定义手势的一部分。用户的手的拇指和一个或更多个手指之间的触摸可以为用户提供当直接与物理用户输入对象(例如物理键盘或其他物理输入设备上的按钮)交互时用户感受到的感觉的模拟。
本公开的一些技术可以提供具体的技术改进和优点。例如,在人工现实环境中呈现的用户界面菜单和类似的UI元素通常是不可触知的,并且一些用户可能发现与虚拟UI元素的交互是不直观的,这通常是因为用手或指示笔与虚拟菜单的交互可能不提供任何触觉反馈。另一方面,将手指移动成捏构形是提供触觉(即“自触觉”)反馈的特定运动,因为用户的手指被放在一起,这本身提供了一些触觉反馈。当用户正在执行预期会引起响应或对人工现实环境有影响的动作(例如,与UI元素交互)时,这可以满足用户对触觉反馈的期望。
图1B是描绘根据本公开的技术的另一示例人工现实***20的图示。类似于图1A的人工现实***10,在一些示例中,图1B的人工现实***20可以呈现和控制专门为人工现实环境中的用户交互和操纵而设计的用户界面元素。在各种示例中,人工现实***20还可以响应于检测到用户的一个或更多个特定手势,生成某些图形用户界面元素并将其渲染给用户。
在图1B的示例中,人工现实***20包括外部相机102A和102B(统称为“外部相机102”)、HMD 112A-112C(统称为“HMD 112”)、控制器114A和114B(统称为“控制器114”)、控制台106和传感器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-128C(统称为“虚拟对象128”)的人工现实内容122渲染为在空间上覆盖在现实世界对象108A-108C(统称为“现实世界对象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接收用户输入。HMD 112A也可以基本上类似于图1A的HMD 112进行操作,并且通过跟踪用户110A的手132A、132B的移动来接收用户输入。HMD 112B可以从用户110B持有的控制器114接收用户输入。控制器114可以使用诸如蓝牙的短程无线通信的近场通信、使用有线通信链路或使用另一种类型的通信链路来与HMD 112B通信。
以类似于以上关于图1A讨论的示例的方式,人工现实***20的控制台106和/或HMD 112C生成并渲染用户界面元素124、126,该用户界面元素可以覆盖在显示给用户110C的人工现实内容122上。此外,控制台106和/或HMD 112C可以基于经由姿势跟踪对由用户110C执行的直观但有区别的手势的检测来触发用户界面元素124、126的生成和动态显示。例如,人工现实***20可以响应于检测到用户110C的一个或更多个特定手势,例如用户的手、手指、拇指或手臂的特定运动、构形、位置和/或取向,动态呈现一个或更多个图形用户界面元素124、126。如图1B所示,除了经由HMD 112C的相机138捕获的图像数据之外,来自外部相机102的输入数据可用于跟踪和检测用户110的手和手臂(例如用户110C的手132)的特定运动、构形、位置和/或取向,包括手的手指(手指、拇指)的单独和/或组合的运动。
如本文所述,并且参考图1B,HMD 112A、112B和112C中的任何一个可以检测与在这些HMD内的显示器上呈现的UI元素的交互,并且作为响应,呈现图形UI元素,使得用户能够指定要由人工现实***20处理的输入。例如,HMD 112C(或控制台106)可以检测手132的运动,并且可以进一步确定该运动包括来自手132的两个手指在UI捏元素附近形成捏构形。HMD 112C也可以检测到手132在处于捏构形时已经执行了后续拉动运动。作为响应,HMD112C可以向用户110呈现更新的人工现实内容,该内容包括UI元素,该UI元素使得用户110C能够以类似于图1A中描述的方式并且如下文进一步描述的向人工现实***20提供输入。
图2是描绘被配置为根据本公开的技术操作的示例HMD 112的图示。图2的HMD 112可以是图1A和图1B的任何HMD 112的示例。HMD 112可以是人工现实***(诸如图1A的人工现实***10、图1B的人工现实***20)的一部分,或者可作为被配置为实现本文所述技术的独立的、移动的人工现实***操作。
在该示例中,HMD 112包括前刚性主体和用于将HMD 112固定到用户的带。此外,HMD 112包括面向内部的电子显示器203,该电子显示器被配置为向用户呈现人工现实内容。电子显示器203可以是任何合适的显示技术,诸如液晶显示器(LCD)、量子点显示器、点阵显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、阴极射线管(CRT)显示器、电子墨水、或单色、彩色或能够生成视觉输出的任何其他类型的显示器。在一些示例中,电子显示器是用于向用户的每只眼睛提供单独图像的立体显示器。在一些示例中,当跟踪HMD 112的位置和取向以用于根据HMD 112和用户的当前观看视角渲染人工现实内容时,显示器203相对于HMD 112的前刚性主体的已知取向和位置被用作参照系,也被称为局部原点。在其他示例中,HMD可以采取其他可佩戴的头戴式显示器的形式,例如眼镜。
如图2中进一步所示,在该示例中,HMD 112还包括一个或更多个运动传感器206,例如输出表示HMD 112的当前加速度的数据的一个或更多个加速度计(也称为惯性测量单元或“IMU”)、输出表示HMD 112的位置的数据的GPS传感器、输出表示HMD 112距各种对象的距离的数据的雷达或声纳、或提供HMD 112或物理环境中的其他对象的位置或取向的指示的其他传感器。此外,HMD 112可以包括集成的图像捕获设备138A和138B(统称为“图像捕获设备138”),例如摄像机、激光扫描仪、多普勒雷达扫描仪、深度扫描仪等,其被配置为输出表示物理环境的图像数据。更具体地,图像捕获设备138捕获表示物理环境中的对象的图像数据,这些对象在图像捕获设备138的视场130A、130B内,其通常对应于HMD 112的观察视角。HMD 112包括内部控制单元210,该内部控制单元可包括内部电源和一个或更多个印刷电路板,该印刷电路板具有一个或更多个处理器、存储器和硬件以提供用于执行可编程操作的操作环境,从而处理感测数据并在显示器203上呈现人工现实内容。
在一个示例中,根据本文描述的技术,控制单元210被配置为基于感测到的数据,识别用户执行的特定手势或手势组合,并且作为响应,执行动作。例如,响应于一个识别的手势,控制单元210可以生成并渲染覆盖在人工现实内容上的特定用户界面元素,以显示在电子显示器203上。如本文所解释的,根据本公开的技术,控制单元210可以在由图像捕获设备138捕获的图像数据内执行对象识别,以识别手132、手指、拇指、手臂或用户的另一部位,并跟踪所识别部位的移动,以识别用户执行的预定义手势。响应于识别到预定义手势,控制单元210采取一些动作,诸如从与用户界面元素相关联的选项集中选择选项、将手势翻译成输入(例如,字符)、启动应用或以其他方式显示内容等。在一些示例中,控制单元210响应于检测到被指定为用于展现用户界面的“触发”的预定义手势,动态地生成并呈现用户界面元素,例如菜单。在其他示例中,控制单元210响应于来自外部设备(例如控制台106)的指示来执行这些功能,该外部设备可以执行对象识别、运动跟踪和手势检测或其任何部分。
如本文所述,HMD 112可以检测手132的运动,该运动对应于来自手132的两个手指在另一UI元素(例如,UI捏元素,图2中未示出)附近形成捏构形。HMD 112还可以检测到手132在处于捏构形时执行后续的拉动运动(例如,朝向图2中的HMD 112)。在一些示例中,HMD112可以将这种运动解释为HMD 112的用户请求呈现图形UI元素,这可以使用户能够响应于手132的进一步移动来提供输入。
图3是示出图1A人工现实***10和图1B的人工现实***20的控制台106和头戴式显示器112的示例实现的框图。在图3的示例中,控制台106根据本文描述的技术,基于感测的数据,例如从HMD 112和/或外部传感器接收的运动数据和图像数据,为HMD 112执行姿势跟踪、手势检测以及用户界面生成和渲染。
在该示例中,HMD 112包括一个或更多个处理器302和存储器304,在一些示例中,处理器302和存储器304提供用于执行操作***305的计算机平台,操作***305可以是例如嵌入式实时多任务操作***或其他类型的操作***。反过来,操作***305提供用于执行一个或更多个软件部件307(包括应用引擎340)的多任务操作环境。如参照图2的示例所讨论的,处理器302耦接到电子显示器203、运动传感器206和图像捕获设备138。在一些示例中,处理器302和存储器304可以是单独的、分立的部件。在其他示例中,存储器304可以是与单个集成电路内的处理器302并列放置的片上存储器。
一般来说,控制台106是处理从相机102(图1B)和/或HMD 112接收的图像和跟踪信息以执行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的网络通信。处理器302、312中的每一个可包括多核处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或等效的离散或集成逻辑电路中的任何一个或更多个。存储器304、314可包括用于存储数据和可执行软件指令的任何形式的存储器,诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存。
控制台106的软件应用317操作以提供整体人工现实应用。在该示例中,软件应用317包括应用引擎320、渲染引擎322、手势检测器324、姿势***326和用户界面引擎328。
通常,应用引擎320包括提供和呈现人工现实应用的功能,该人工现实应用例如是电话会议应用、游戏应用、导航应用、教育应用、培训或模拟应用等。应用引擎320可包括,例如,用于在控制台106上实现人工现实应用的一个或更多个软件包、软件库、硬件驱动器和/或应用程序接口(API)。响应于应用引擎320的控制,渲染引擎322生成3D人工现实内容,用于由HMD 112的应用引擎340(例如,通过HMD 112的显示、声音、触觉反馈或以其他方式)向用户输出和/或呈现。
应用引擎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传送到HMD112以显示给用户110的人工现实内容。
此外,基于所感测的数据,手势检测器324分析跟踪到的用户的对象(例如,手、手臂、手腕、手指、手掌、拇指)的运动、构形、位置和/或取向,以识别用户110执行的一个或更多个手势。更具体地,手势检测器324分析在由HMD 112的图像捕获设备138和/或传感器90和外部相机102捕获的图像数据中识别的对象,以识别用户110的手和/或手臂,并跟踪手和/或手臂相对于HMD 112的移动,以识别用户110执行的手势。手势检测器324可以基于捕获的图像数据来跟踪手、手指和/或手臂的移动,包括位置和取向的改变,并将对象的运动矢量与手势库330中的一个或更多个条目进行比较,以检测用户110执行的手势或手势组合。手势库330中的一些条目可以各自将手势定义为一系列或模式的运动,例如用户的手、特定手指、拇指、手腕和/或手臂的相对路径或空间平移和旋转。手势库330中的一些条目可以各自将手势定义为用户的手和/或手臂(或其部分)在特定时间或一段时间内的构形、位置和/或取向。手势类型的其他示例也是可能的。此外,手势库330中的每个条目可以为所定义的手势或一系列手势指定触发动作的手势或一系列手势所需的条件,例如与HMD 112的当前视场的空间关系、与用户当前正在观察的特定区域的空间关系,这可以通过个人的实时凝视跟踪、正在显示的人工内容的类型、正在执行的应用的类型等来确定。
手势库330中的每个条目还可以为每个定义的手势或手势组合/系列指定要由软件应用317执行的期望响应或动作。例如,根据本公开的技术,某些专用手势可以被预定义,使得响应于检测到预定义手势之一,用户界面引擎328动态地生成用户界面作为向用户显示的人工现实内容的叠加,从而允许用户110即使在与人工现实内容交互时也能够容易地调用用于配置HMD 112和/或控制台106的用户界面。在其他示例中,某些手势可以与其他动作相关联,例如提供输入、选择对象、启动应用等。
图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的手势来构建覆盖在人工内容上或作为人工内容的一部分的用户界面元素,以显示给用户110。在一些示例中,渲染引擎422构建3D人工现实内容,该内容可以至少部分地覆盖在用户110的真实世界物理环境上。
类似于参考图3描述的示例,基于感测到的数据,手势检测器424分析用户的对象(例如,手、手臂、手腕、手指、手掌、拇指)的被跟踪的运动、构形、位置和/或取向,以识别用户110执行的一个或更多个手势。根据本公开的技术,用户界面引擎428生成用户界面元素作为要向用户110显示的人工现实内容的一部分,例如覆盖在其上,和/或基于由手势检测器424检测到的用户110的一个或更多个手势或手势组合来执行动作。更具体地,手势检测器424分析在由HMD 112的图像捕获设备138和/或传感器90或外部相机102捕获的图像数据中识别的对象,以识别用户110的手和/或手臂,并跟踪手和/或手臂相对于HMD 112的移动,以识别用户110执行的手势。手势检测器424可以基于捕获的图像数据来跟踪手、手指和/或手臂的移动,包括位置和取向的改变,并将对象的运动矢量与手势库430中的一个或更多个条目进行比较,以检测用户110执行的手势或手势组合。
手势库430类似于图3的手势库330。手势库430中的每个条目可以为所定义的手势或一系列手势指定手势触发动作所需的条件,例如与HMD112的当前视场的空间关系、与用户当前正在观察的特定区域的空间关系,这可以通过个人的实时凝视跟踪、正在显示的人工内容的类型、正在执行的应用的类型等来确定。
响应于检测到匹配手势或手势组合,HMD 112执行分配给手势库430中匹配条目的响应或动作。例如,根据本公开的技术,某些专用手势可以被预定义,使得响应于手势检测器424检测到预定义手势之一,用户界面引擎428动态地生成用户界面作为向用户显示的人工现实内容的叠加,从而允许用户110在观看人工现实内容时容易地调用用于配置HMD 112的用户界面。在其他示例中,响应于手势检测器424检测到预定义手势之一,用户界面引擎428和/或应用引擎440可以接收输入、选择与用户界面元素相关联的值或参数、启动应用、修改可配置设置、发送消息、启动或停止过程或执行其他动作。
图5A、图5B和图5C示出了根据本公开的一个或更多个方面,响应于由HMD 112的用户执行的捏和拉手势,在人工现实显示器上呈现的人工现实内容的示例序列。图5A、图5B和图5C分别示出了人工现实内容522A、人工现实内容522B和人工现实内容522C(通常称为“人工现实内容522”)。在每种情况下,人工现实内容522包括与UI捏元素562交互的虚拟手136,其位于UI面板560附近或与UI面板560相距不同距离。本文对手132的引用对应于对应于虚拟手136的物理手,并且在这个意义上,手132和虚拟手136可以彼此对应;在适当的情况下,手132和虚拟手136在本文可以互换。此外,下面主要参考图4的框图描述参考图5A、图5B和图5C描述的操作。然而,这样的操作可以由图3的相应部件、模块和/或元件以相应的方式执行。因此,应当理解,在其他示例中,本文描述为由HMD 112执行的操作可以由其他设备或***执行,包括例如控制台106(例如,在对应于图3的示例中)。
在图5A的示例中,并且根据本公开的一个或更多个方面,HMD 112可以呈现人工现实内容522A。例如,参考可以在图4的上下文中描述的示例,姿势***426检测诸如来自传感器90的运动信息和数据(例如,参见图1A)。姿势***426向渲染引擎422输出姿势信息。渲染引擎422基于检测到的输入并基于由姿势***426确定的人工现实内容122的观看视角来构建人工现实内容522A。渲染引擎422使得应用引擎440输出人工现实内容522A,用于以图5A所示的方式显示和/或呈现。人工现实内容522A可以呈现在HMD 112内的显示器上,例如,如图2、图3和/或图4所示的显示器203。
在图5A中,UI捏元素562可以最初定位在UI捏元素默认位置561。手132(或作为手132的表示的虚拟手136)被示出位于UI捏元素默认位置561附近。
图5B示出了可由HMD 112响应于手132的移动而呈现的更新的人工现实内容522B的示例。例如,参考图4和图5A,手势检测器424检测例如来自图像捕获设备138、相机102和/或传感器90中的一个或更多个的输入。手势检测器424基于输入确定关于手132的运动的信息。手势检测器424进一步确定手132的运动包括来自手132的两个手指在位于图5A中的UI捏元素默认位置561的UI捏元素562附近形成捏构形。手势检测器424确定手132被保持在捏构形中的时间量。手势检测器424向渲染引擎422输出关于与UI捏元素562相关联的捏构形的信息。手势检测器424进一步确定手132在处于捏构形时已经执行了后续的拉动运动。手势检测器424向渲染引擎422输出关于拉动运动的信息。渲染引擎422更新人工现实内容522A,使得UI捏元素562以与从手势检测器424接收的关于拉动运动的信息一致的方式移动。此外,渲染引擎422更新人工现实内容522A以生成人工现实内容522B。渲染引擎422使得应用引擎440以图5B所示的方式在显示器203上呈现人工现实内容。
在图5B中,人工现实内容522B对应于在以所描述的方式响应于手132的移动而被更新之后的人工现实内容522A。例如,UI捏元素562被示为从UI捏元素默认位置561移动了一段距离。人工现实内容522B示出了UI捏元素默认位置561和UI捏元素562的新位置之间的UI弦元素(string element)564,从而提供了UI捏元素562相对于UI捏元素默认位置561的距离和空间位置的视觉指示。距离565B表示由手132执行的拉动运动的距离,并且具有大约等于UI弦元素564的长度。在一些示例中,手势检测器424可以要求当手132处于捏构形时手132的拉动运动足以(例如,在长度或距离上足够)超过阈值距离,以便符合捏和拉手势的条件。换句话说,如图5B所示的移动(例如,对应于距离565B)可能不足以限定为捏和拉手势。
图5C示出了可由HMD 112响应于手132的进一步移动而呈现的更新的人工现实内容的示例。例如,参考图5B和图4,手势检测器424检测进一步的输入。手势检测器424分析该输入,并基于该输入确定仍然处于捏构形的手132已经被充分移动以对应于捏和拉手势。手势检测器424向用户界面引擎428输出关于检测到的捏和拉手势的信息。用户界面引擎428使渲染引擎422生成人工现实内容522C,示出了更长的UI弦元素564。渲染引擎422使得应用引擎440以图5C所示的方式在显示器203上呈现人工现实内容522C。
在图5C中,距离565C比(如图5B所示的)距离565B长。在图5C的示例中,距离565C可以足够长以符合捏和拉手势的条件,而图5B中示出的手132(或虚拟手136)的移动可能不够。在一些示例中,并且如本文进一步描述的,符合捏和拉手势的移动可以触发或选通HMD112的进一步操作,包括但不限于用户界面元素或进一步的人工现实内容的显示。
图6A、图6B和图6C示出了根据本公开的一个或更多个方面的包括响应于由HMD112的用户执行的捏和拉手势而呈现在显示器上的示例一维滑块UI元素的人工现实内容序列。图6A、图6B和图6C分别示出了人工现实内容610A、人工现实内容610B和人工现实内容610C。人工现实内容的每个实例包括距UI面板560不同距离的虚拟手136和UI捏元素562。在图6A中,UI捏元素562位于UI捏元素默认位置561。
在图6A的示例中,根据本公开的一个或更多个方面,HMD 112可以呈现人工现实内容610A。例如,参考可以在图4的上下文中描述的示例,姿势***426检测例如来自传感器90的运动信息和数据。姿势***426向渲染引擎422输出姿势信息,并且渲染引擎422基于检测到的输入并且基于由姿势***426确定的人工现实内容122的观看视角来构建人工现实内容610A。渲染引擎422使得应用引擎440输出人工现实内容610A,用于以图6A所示的方式显示和/或呈现。人工现实内容610A可以呈现在HMD 112内的显示器上,例如,如图2所示的显示器203。
图6B示出了可以由HMD 112响应于手132的捏和拉运动而呈现的示例一维滑块UI元素。例如,参考图4和图6A,手势检测器424检测例如来自图像捕获设备138、相机102和/或传感器90中的一个或更多个的输入。手势检测器424基于输入确定手132已经被移动,使得来自手132的两个手指在UI捏元素562附近形成捏构形。手势检测器424确定手132在处于捏构形时已经执行了后续的拉动运动。如结合图5A、图5B和图5C所描述的,手势检测器424确定检测运动符合捏和拉手势。渲染引擎422更新人工现实内容610A以生成反映手132的移动的人工现实内容610B。渲染引擎422使得应用引擎440以图6B所示的方式在显示器上呈现人工现实内容610B。
在图6B中,人工现实内容610B包括UI输入元素,在图6B的示例中,该UI输入元素是一维滑块UI元素612。在所描述的示例中,响应于手势检测器424检测到的捏和拉手势,呈现滑块UI元素612。人工现实内容610B包括UI弦元素564,其反映了在手132处于捏构形之后对应于手132的移动的距离。环绕UI捏元素562的圆613是一维滑块UI元素612的一部分,并且围绕UI捏元素562的圆613的直径可以被转换成连续的(即,非离散的)输入值。在一些示例中,输入值可替代地对应于UI弦元素564的长度,表示UI捏元素默认位置561和UI捏元素562之间的距离。在任一情况下,由一维滑块UI元素612表示的输入值可以对应于用于音频音量控制的输入、用于视觉缩放值(zoom value)的输入或者可以由一维连续变量表示的任何其他输入。
图6C示出了可由HMD 112响应于手132的进一步移动而呈现的更新的人工现实内容的示例。例如,参考图6B和图4,手势检测器424检测进一步的输入。手势检测器424分析该输入,并基于该输入确定手132已经被从UI捏元素默认位置561拉得更远,同时仍然处于捏构形。手势检测器424向用户界面引擎428输出关于附加移动的信息。渲染引擎422更新人工现实内容610B以生成人工现实内容610C,示出了更长的UI弦元素564和围绕UI捏元素562的更大直径的圆613。渲染引擎422使得应用引擎440以图6C所示的方式在显示器上呈现人工现实内容610C。
在图6C中,一维滑块UI元素612被更新,使得圆613具有比图6B中更大的直径和/或更长的UI弦元素564。由更新的圆613表示的较大值可以表示和/或对应于更新的较大输入值。
HMD 112可以检测标识用户选择的输入的移动。例如,在一些示例中,参考图4和图6C,手势检测器424检测进一步的输入。手势检测器424确定输入对应于手132的被捏的手指被移开,对应于释放UI捏元素562的运动。手势检测器424向用户界面引擎428输出关于释放动作的信息。用户界面引擎428基于检测到释放运动时UI弦元素564的位置,确定对应于由HMD 112的用户选择的输入值的所选输入值。在一些示例中,所选输入值对应于的值对应于手132释放UI捏元素562之前一维滑块UI元素612的最后状态。用户界面引擎428向应用引擎440输出关于所选输入值的信息。应用引擎440以与所选输入值一致的方式更新环境。如何更新环境可以取决于一维滑块UI元素612与什么相关联。在一些示例中,一维滑块UI元素612可用于调整音量、亮度或人工现实环境的任何其他适当属性。
HMD 112可以更新人工现实内容610C以移除一维滑块UI元素612。例如,参考图4和图6C,用户界面引擎428通知渲染引擎422手132已经释放了UI捏元素562。渲染引擎422生成人工现实内容610C的更新版本,从人工现实内容610C中移除一维滑块UI元素612,并将UI捏元素562恢复到UI捏元素默认位置561(例如,参见图6A)。渲染引擎422使得应用引擎440在与HMD 112相关联的显示器上呈现更新的人工现实内容610C。
在所描述的示例中,当检测到手132的被捏的手指已经被移开时,HMD 112识别用户选择的输入。这种运动通常可以对应于释放UI捏元素562的运动,指示与一维滑块UI元素612的交互应该终止。然而,在其他示例中,HMD 112可以以另一种方式识别用户选择的输入,包括但不限于识别手132的不同运动、涉及手132的不同手势、或者手132或手臂134的任何其他运动。
图7A和图7B示出了根据本公开的一个或更多个方面的人工现实内容的序列,该序列包括响应于由HMD 112的用户执行的捏和拉手势而呈现在显示器上的示例开关UI元素(即,UI输入元素)。图7A和图7B分别示出了人工现实内容620A和人工现实内容620B。人工现实内容620的每个实例包括UI捏元素562、UI弦元素564和在已经识别出捏和拉手势之后的虚拟手136。
在图7A的示例中,根据本公开的一个或更多个方面,HMD 112可以在人工现实内容620A内呈现开关UI元素622。例如,参考图4和图7A,手势检测器424检测手132在UI捏元素默认位置561附近的捏构形,随后是手132的拉动运动。手势检测器424确定手132的移动对应于捏和拉手势。渲染引擎422构建包括开关UI元素622的人工现实内容620A。渲染引擎422使得应用引擎440输出人工现实内容620A,用于以图7A所示的方式显示和/或呈现。
在图7A中,人工现实内容620A包括开关UI元素622,其包括第一开关位置623和第二开关位置624。UI弦元素564与开关UI元素622相交,并且在图7A所示的示例中,UI弦元素564在开关位置623内与开关UI元素622相交。手势检测器424基于UI捏元素562的位置和开关UI元素622中的UI弦元素564的交点来确定开关位置623还是开关位置624正被手132的用户定位所选择。在图7A的示例中,渲染引擎422将手132的位置和移动解释为对应于第一开关位置,因为UI弦元素564与开关位置623相交。
图7B示出了可由HMD 112响应于手132的进一步移动而呈现的更新的人工现实内容的示例。例如,参考图7A和图4,手势检测器424检测到进一步输入,手势检测器424确定该进一步输入对应于手132被向下移动的平移。手势检测器424向用户界面引擎428输出信息,并且用户界面引擎428确定该移动导致UI弦元素564与开关位置624相交。用户界面引擎428确定手132的位置和移动对应于开关位置624的选择。渲染引擎422更新人工现实内容620A以生成人工现实内容620B,反映UI弦元素564与开关位置624相交。渲染引擎422使应用引擎440输出人工现实内容620B,以如图7B所示的方式显示。
在图7B中,UI捏元素562已经被手132定位,使得UI弦元素564与开关位置624相交,而不是与开关位置623相交,从而对应于开关UI元素622的切换。在一些示例中,渲染引擎422可以将UI捏元素562更新为不同的颜色、色调(shade)或图案,以反映开关UI元素622的切换或对应于开关UI元素622的新值。例如,UI捏元素562的颜色可以改变为与对应于开关位置624的区域的颜色相似或相同。
图7C是示出相对于开关UI元素的捏和拉手势的二维表示的概念图。图7C通常对应于如图7A所示的开关UI元素622,示出处于“拾取(picked up)”或“拉动”状态的UI捏元素562。图7C示出了法向于图7A中的UI面板560的平面中的相对距离和空间位置。在图7A的示例中,开关UI元素622可以平行于UI面板560,因此开关UI元素622与UI面板560一样,也显示为法向于图7C所示的平面。在图7C中,UI捏元素默认位置561和UI捏元素562被示出为UI弦元素564在UI捏元素默认位置561和UI捏元素562之间延伸。在一些示例中,UI捏元素默认位置561不直接位于UI面板560处,而是以图7C所示的方式位于距UI面板560少量距离处。在UI面板560和UI捏元素默认位置561之间提供这样的距离使得用户能够看到通过稍微到达UI捏元素562的后面来抓取或捏UI捏元素562(当定位在UI捏元素默认位置561时)。
在图7C的示例中,UI弦元素564在开关位置623内与开关UI元素622相交,对应于图7A所示的切换位置。如图所示,开关UI元素622位于UI捏元素默认位置561和UI捏元素562之间,并且开关UI元素622的位置可以对应于可能需要拉动UI捏元素562以便符合足以触发捏和拉手势的拉动运动的阈值距离。在其他示例中,开关UI元素622可以位于其他地方,例如在平行于UI面板560的位置,但是在UI捏元素默认位置561,或者在距UI捏元素默认位置561的不对应于捏和拉手势的阈值拉动距离的距离处。
图8A示出了根据本公开的一个或更多个方面的包括示例径向项目拾取器UI输入元素的人工现实内容。在图8A的示例中,用户界面引擎428可以通过确定UI弦元素564与径向项目拾取器UI元素632相交的位置来识别离散数量的输入值之一。在一些示例中,用户界面引擎428可以基于来自手势检测器424的解释手132的移动的信息来做出这样的确定。在图8A所示的示例中,用户界面引擎428基于手132的定位来确定用户正在选择八个离散输入值中的哪一个(每个输入值由径向项目拾取器UI元素632内的八个小椭圆之一表示)。径向项目拾取器UI元素632中所示的输入值可以对应于用于选择作为输入的任何适当内容,例如图标、表情符号(emoji)、特定颜色、特定菜单项等。尽管径向项目拾取器UI元素632中的可选项目被示为以径向方式排列的椭圆形显示元素,但是也可以使用其他显示元素和排列。例如,在其他示例中,径向项目拾取器UI元素632可以呈现正方形或矩形显示元素的网格、菜单项的堆叠或可变形状显示图标的马赛克。用户可以通过终止捏和拉手势,例如通过释放手132的捏构形,或者通过执行另一个动作来选择显示元素之一。
图8B示出了根据本公开的一个或更多个方面的包括示例径向滑块UI输入元素的人工现实内容。在图8B的示例中,用户界面引擎428可以将值分配给对应于径向滑块UI元素642的比例部分(proportion)的连续变量,该比例部分包括包含在径向滑块UI元素642内的深色径向椭圆形。在一些示例中,当手132被构形成处于捏构形时,用户界面引擎428可以基于来自手势检测器424的解释手132的径向移动的信息做出这样的确定。在图8B的示例中,手132的逆时针径向移动对应于输入变量的增加值。尽管径向项目拾取器UI元素632被配置为表示连续的输入值,但是在其他示例中,径向项目拾取器UI元素632可以被配置为表示离散的值,例如随着手132以逆时针运动(或以另一运动)移动而增加的离散输入值。
图8C示出了根据本公开的一个或更多个方面的包括示例颜色拾取器UI输入元素的人工现实内容。在图8C的示例中,用户界面引擎428可以将值分配给连续变量,该连续变量对应于颜色或值的二维光谱内的点或者由颜色拾取器UI元素652内包括的颜色光谱或灰度光谱表示的点。在图8C中,颜色拾取器UI元素652内的每个点可以表示颜色拾取器UI元素652内的光谱内的可能值的连续集(continuum)内的输入值。用户界面引擎428可以将手132的移动转换成颜色拾取器UI元素652内的值的连续集中的不同位置,其中该位置由UI弦元素564和颜色拾取器UI元素652的交点确定。由于手132的移动转化为UI捏元素562的移动,因此UI弦元素564的移动,手132的移动也转化为颜色拾取器UI元素652内的不同点。用户可以通过终止捏和拉手势来选择包括在颜色拾取器UI元素652内的光谱内的点之一。
图9A、图9B和图9C示出了根据本公开的一个或更多个方面的人工现实内容序列,该序列包括响应于由HMD 112的用户执行的捏和拉手势而呈现在显示器上的示例径向项目拾取器UI输入元素。图9A、图9B和图9C分别示出了人工现实内容660A、人工现实内容660B和人工现实内容660C。人工现实内容660的每个实例包括在已经识别出捏和拉手势之后的UI弦元素564和虚拟手136。在每种情况下还包括示例径向项目拾取器UI元素622,其中菜单项基于手132的位置而改变。
在图9A的示例中,并且根据本公开的一个或更多个方面,HMD 112可以在人工现实内容660A内呈现径向项目拾取器UI元素662A,其可以用于选择由图9A中所示的四个椭圆表示的四个输入选项之一。例如,参考图4,手势检测器424检测手132在UI捏元素默认位置561附近的捏构形,随后是手132的拉动运动。手势检测器424确定手132的移动对应于捏和拉手势。渲染引擎422构建包括径向项目拾取器UI元素662A的人工现实内容660A。渲染引擎422使得应用引擎440输出人工现实内容660A,用于以图9A所示的方式显示和/或呈现。人工现实内容660A可以呈现在HMD 112内的显示器上,例如,如图2所示的显示器203。
图9B示出了可由HMD 112响应于手132的进一步移动而呈现的更新的径向项目拾取器UI元素的示例。例如,参考图9A和图4,手势检测器424检测到进一步输入,手势检测器424确定该进一步输入对应于,将手132进一步移动远离UI捏元素默认位置561的进一步拉动运动。手势检测器424向用户界面引擎428输出关于手132的运动的信息。用户界面引擎428基于手132的位置增加径向项目拾取器UI元素662A的粒度。用户界面引擎428向渲染引擎422输出信息。渲染引擎422更新人工现实内容660A以生成人工现实内容660B。渲染引擎422使得应用引擎440以图9B所示的方式输出人工现实内容660B。在图9B中,人工现实内容660B包括更新的径向项目拾取器UI元素662B,其具有比图9A所示的径向项目拾取器UI元素662A更多的可选显示元素。
图9C示出了可由HMD 112响应于手132的再进一步的移动而呈现的进一步更新的径向项目拾取器UI元素的示例。例如,参考图9B和图4,手势检测器424检测手势检测器424确定的对应于图9A和图9B所示的拉动运动的延续的进一步输入。用户界面引擎428基于手132的位置确定应该进一步增加径向项目拾取器UI元素662B的粒度。渲染引擎422更新人工现实内容660B以生成人工现实内容660C。渲染引擎422使得应用引擎440输出人工现实内容660C,以如图9C所示的方式显示。在图9C中,人工现实内容660C包括径向项目拾取器UI元素662C,其具有比径向项目拾取器UI元素662A或径向项目拾取器UI元素662B更多的可选显示元素。
在图9A、图9B和图9C的示例中,随着用户将手132拉得更远离UI捏元素默认位置561,径向项目拾取器UI元素662的粒度增加。由于当用户将手132拉得更远离UI捏元素默认位置561时UI弦元素564变长,并且在每种情况下,当手132被拉得更远时,径向项目拾取器UI元素662保持静止,因此手132的运动趋向于转化为交叉点566的逐渐变小的运动。例如,参考图9B和图9C,当手132移动时,图9C中的交叉点566C移动得小于图9B中的交叉点566B,因为UI弦元素564的长度导致由到达手132的不同位置的不同的UI弦元素564形成的两条线之间的UI捏元素默认位置561处的角度更小。换句话说,如果图9B中的手132移动了8英寸,则该移动可能导致交叉点566B移动1英寸。然而,如果图9C中的手132移动8英寸,该移动将可能导致交叉点566C移动小于1英寸,因为图9C中的手132比图9B中的手更远离UI捏元素默认位置561。因此,由于手132的移动导致交叉点566C的更精细的移动,所以当手132被移动远离UI捏元素默认位置561时(例如,如图9C所示),使用更高粒度的径向项目拾取器UI可能是合适的。与径向项目拾取器UI元素662B相比,执行手部运动的用户可能不会感觉到在执行径向项目拾取器UI元素662C所需的更精细运动时有任何额外的困难。
图10是根据本公开的一个或更多个方面的包括示例体积颜色拾取器UI输入元素672的示例人工现实内容的图示。在图10的示例中,HMD 112可以呈现体积颜色拾取器UI元素672。例如,参考图4,用户界面引擎428响应于由手势检测器424识别的选通或触发手势,例如捏和拉手势,生成体积颜色拾取器UI元素672。渲染引擎422构建包括体积颜色拾取器UI元素672的人工现实内容670。渲染引擎422使得应用引擎440输出人工现实内容670,用于以图10所示的方式显示和/或呈现。
HMD 112可以使用体积颜色拾取器UI元素672将手132的移动转换成输入变量。例如,参考图4和图10,用户界面引擎428可以基于手势检测器424检测到的信息来确定UI捏元素562在体积颜色拾取器UI元素672内的位置。用户界面引擎428可以确定与UI捏元素562在体积颜色拾取器UI元素672内的位置相关联的输入值(例如,颜色)。用户界面引擎428可以向渲染引擎422输出关于输入值的信息。渲染引擎422构建更新的人工现实内容670。此外,渲染引擎422可以对UI捏元素562进行着色(shade)或上色(color),以对应于由与手132的位置相关联的输入值表示的颜色。如图10所示,体积颜色拾取器UI输入元素672可以不同于颜色拾取器UI元素652,因为它可以用于选择三维值,而不是二维值。在一些示例中,三维值可以表示色相(hue)、饱和度和明度值,其中色相和饱和度由弦的交叉点来定义,明度值由距离设置。使用三维值的其他实现也是可能的,包括涉及RGB颜色值的示例。
图11是示出根据本公开的一个或更多个方面的包括示例进度滑块UI输入元素682的人工现实内容的概念图。在图11的示例中,HMD 112可以呈现进度滑块UI元素682,其包括进度指示器683。进度滑块UI元素682可用于表示在UI面板570内呈现的视频剪辑(videoclip)的时间上的进度。在图11的示例中,进度指示器683可以基于UI捏元素562的移动来调整,在图11的示例中,该UI捏元素562被示为附接到UI弦元素564。手势检测器424和/或用户界面引擎428将手132的左右移动转换成进度指示器683的不同位置。例如,手132的向右移动可以将进度指示器683移向进度滑块UI元素682的右侧(例如,对应于视频剪辑内的稍后时间)。手132的向左移动可以导致进度指示器683向进度滑块UI元素682的左侧移动(例如,对应于视频剪辑内的较早时间)。HMD 112可以确定在释放手132的捏构形时对应于进度指示器683的新位置的输入值。
在本文描述的许多图示中(例如,从图5A开始直到图11),UI捏元素562被图示为球形对象,并且通常被图示为具有一致的尺寸。然而,在其他示例中,UI捏元素562可以是不同的形状,并且可以是不同的尺寸。在一些示例中,UI捏元素562的特性可以提供捏和拉手势可以实现的输入类型的视觉指示(例如,可选菜单项、对象选择、一维离散或连续变量、二维变量、三维体积变量等或其他)。在其他示例中,邻近UI捏元素562的文本(例如,在UI面板560上)可以替代地或附加地指示捏和拉手势可以启用的输入类型。
图12A、图12B和图12C示出了根据本公开的一个或更多个方面的涉及示例物理指示笔的人工现实内容序列。图12A、图12B和图12C分别示出了人工现实内容705A、人工现实内容705B和人工现实内容705C。在所示的示例中,人工现实内容的每个实例包括物理指示笔710。物理指示笔710包括物理按钮712。物理指示笔710通常可以由用户的手控制和/或握持,这可以在图12A、图12B和图12C所示的人工现实内容中表示。然而,为了便于说明和清楚,在图12A、图12B和图12C中没有示出手。
人工现实内容705A、人工现实内容705B和人工现实内容705C中的每一个都可以由示例HMD 112呈现,例如图1A和/或图1B所示的示例。尽管图12A、图12B和图12C是在使用具有物理按钮712的物理指示笔710的上下文中描述的,但是在其他示例中,基于手势或所识别的手的构形,可以使用虚拟指示笔来采用类似的技术。
在图12A的示例中,根据本公开的一个或更多个方面,HMD 112可以呈现人工现实内容705A。例如,参考可以在图4的上下文中描述的示例,姿势***426检测例如来自传感器90的运动信息和数据。姿势***426向渲染引擎422输出姿势信息,并且渲染引擎422基于检测到的输入并且基于由姿势***426确定的人工现实内容122的观看视角来构建人工现实内容705A的初始版本。姿势***426检测进一步的移动信息,并且确定该移动对应于物理指示笔710沿着UI面板560移动。姿势***426向渲染引擎422输出信息,并且渲染引擎422构建人工现实内容705A。渲染引擎422在人工现实内容705A中包括线720。线720可以对应于物理指示笔710沿着UI面板560的移动。渲染引擎422使得应用引擎440输出人工现实内容705A,用于以图12A所示的方式显示和/或呈现。
图12B示出了响应于在物理指示笔710上执行的动作,可以由HMD112呈现的示例线粗度UI元素。例如,参考图4和图12A,用户界面引擎428检测对应于用户选择物理按钮712、向下按住物理按钮712并向上拉动物理指示笔710远离UI面板560的输入。(在一些示例中,这可能对应于前面图中描述的捏和拉手势。)用户界面引擎428可以基于来自图像捕获设备138、相机102和/或传感器90中的一个或更多个的图像、基于物理指示笔710响应于物理按钮712的选择而发起的无线信号和/或以另一种方式来检测这种输入。用户界面引擎428基于输入确定与物理指示笔710的交互和移动对应于选通或触发线粗度UI元素732的显示的动作。用户界面引擎428向渲染引擎422输出关于动作的信息。渲染引擎422更新人工现实内容705A以生成人工现实内容705B,反映物理指示笔710的移动和线粗度UI元素732的显示。渲染引擎422使得应用引擎440以图12B所示的方式呈现人工现实内容705B。
用户界面引擎428可以检测物理指示笔710的进一步移动,这可能导致对人工现实内容705B中的线720的宽度的修改。例如,再次参考图12B,用户界面引擎428可以检测到,当物理按钮712继续被按下时,物理指示笔710已经移动得离UI面板560更远。作为响应,渲染引擎422可以使线720用更粗的线重新绘制。类似地,用户界面引擎428可以检测到物理指示笔710已经被移动得更靠近UI面板560(物理按钮712被按下),并且作为响应,渲染引擎422可以使得线720用更细的线绘制。用户界面引擎428可以检测到物理按钮712已经被释放,这可以终止与线粗度UI元素732的交互。作为响应,用户界面引擎428可以识别线720的选定粗度,该粗度可以是当物理按钮712被释放时对应于线粗度UI元素732的状态的粗度。渲染引擎422可以将所选择的粗度应用于线720,并且从人工现实内容705B中移除线粗度UI元素732。此后(例如,在释放按钮712之后),并且直到检测到用户界面选通手势,物理指示笔710的进一步移动通常不会影响线720的粗度。
图12C示出了示例颜色拾取器UI元素,其可以由HMD 112响应于在物理指示笔710上执行的动作来呈现。例如,再次参考图12A,用户界面引擎428检测对应于用户选择物理按钮712并向上拉动物理指示笔710远离UI面板560的输入。用户界面引擎428确定运动和与物理指示笔710的交互足以触发颜色拾取器UI元素742的显示。用户界面引擎428向渲染引擎422输出关于输入的信息。渲染引擎422更新人工现实内容705A以生成人工现实内容705C,反映物理指示笔710的移动和颜色拾取器UI元素742的显示。渲染引擎422使得应用引擎440以图12C所示的方式呈现人工现实内容705C。
用户界面引擎428可以检测物理指示笔710的进一步移动,这可能导致对线720的颜色或着色(shading)的修改。例如,参考图12C,用户界面引擎428可以检测到,当物理按钮712继续被按下时,物理指示笔710已经在UI面板560上方的空间内移动,并且作为响应,用户界面引擎428可以确定UI弦元素564在不同的位置与颜色拾取器UI元素742相交。用户界面引擎428识别对应于UI弦元素564的交叉点的颜色。用户界面引擎428向渲染引擎422输出关于所识别的颜色的信息。渲染引擎422通过使用所识别的颜色绘制线720来更新人工现实内容705C以反映所识别的颜色。渲染引擎422使得应用引擎440更新显示器203内的人工现实内容705C。
用户界面引擎428最终可以检测到物理按钮712已经被释放。用户界面引擎428可以将这样的动作识别为用户请求终止与颜色拾取器UI元素742的交互,并将当前颜色应用于线720。作为响应,用户界面引擎428可以将所选择的颜色应用于线720,并且从人工现实内容705C中移除颜色拾取器UI元素742。
在图12B和图12C中,物理指示笔710被示为分别位于线粗度UI元素732和颜色拾取器UI元素742上方。在每个示例中,UI输入元素732和742可以响应于物理指示笔710的移动,以类似于本文关于捏和拉手势描述的方式进行操作。换句话说,物理指示笔710可以用于触发本文描述的由捏和拉手势触发的任何相同的UI输入元素。然而,在图12B和图12C的示例中,这种UI输入元素通过与物理指示笔710的交互(例如,按压物理按钮712和物理指示笔710的后续移动)来触发。因此,虽然图12B和图12C被示出为示例,但是本文结合涉及手132的捏和拉手势描述的任何其他UI输入元素可以可选地由物理指示笔710的动作来选通。在这样的示例中,那些UI输入元素可以响应于物理指示笔710的相应移动而操作。
此外,尽管选择或按压按钮712被描述为触发UI输入元素的显示的动作的一部分,但是在其他示例中,这种UI输入元素可以由指示笔710以另一种方式触发,例如通过指示笔710向指示笔710下方的表面施加足够的压力。在这样的示例中,指示笔710可以识别压力正在由用户施加,并且以类似于上述当按钮712被按下时的方式做出响应。
图13A是示出根据本公开的一个或更多个方面,由示例性人工现实***执行的操作的流程图。下面在图1A的人工现实***10的上下文中描述图13A。在其他示例中,图13A中描述的操作可以由一个或更多个其他部件、模块、***或设备来执行。此外,在其他示例中,结合图13描述的操作可以被合并、以不同的顺序执行、省略,或者可以包含未具体示出或描述的附加操作。
在图13A所示的过程中,并且根据本公开的一个或更多个方面,人工现实***10可以捕获图像数据(801)。例如,参考图1A,包括在HMD 112内的一个或更多个图像捕获设备138(或其他设备)可以捕获视场130内的图像,这些图像代表佩戴HMD 112的用户附近的物理环境。
人工现实***10可以输出人工现实内容(802)。例如,参考图1A,HMD 112可以在包含在HMD 112内的显示器上呈现人工现实内容。这样的内容可以包括物理环境的图像、叠加在物理环境的图像上的人工内容、用户界面元素(例如,菜单)或其他内容。
人工现实***10可以从图像数据中识别包括捏构形和拉动运动的手势(803)。例如,再次参考图1A,HMD 112可以分析由一个或更多个图像捕获设备138捕获的图像数据,并且基于图像数据识别手势,该手势包括来自手132的两个手指的运动以形成捏构形,以及手132处于捏构形时的后续拉动运动。HMD 112可以确定在拉动运动之前或期间,手132的捏构形保持在该构形足够长的时间。HMD 112可以进一步确定拉动运动具有足够的长度,以在与捏构形组合时,符合捏和拉手势,例如结合图5A、图5B和图5C描述的(来自803的“是”路径)。
人工现实***10可以响应于识别捏和拉构形来渲染用户界面(804)。例如,再次参考图1A,HMD 112生成人工现实内容,其中生成人工现实内容包括生成用户界面元素。HMD112在包含在HMD 112内的显示器上呈现和/或渲染人工现实内容。人工现实内容可以包括叠加在物理环境的图像上的用户界面元素。在一些示例中,包括在人工现实内容中的用户界面元素可以是一维滑块UI元素,诸如图6A、图6B和图6C中所示的。然而,所渲染的用户界面元素可以是任何其他合适的用户界面元素,包括但不限于本公开中描述的任何用户界面元素(例如,包括被描述为由捏和拉手势或其他方式选通或触发的那些)。
人工现实***10可以确定捏构形还没有被释放(来自805的“否”路径)。例如,在图1A中,HMD 112可以继续分析由一个或更多个图像捕获设备138捕获的图像数据,并且基于图像数据确定手132继续处于捏构形。
人工现实***10可以识别手132的进一步运动(来自806的“是”路径)。例如,在图1A中,HMD 112可以基于捕获的图像数据识别当手132处于捏构形时手132的进一步运动。响应于进一步运动,HMD 112可以更新在包含在HMD 112内的显示器上呈现的内容。特别地,HMD 112可以更新包括在人工现实内容中的用户界面元素。在用户界面元素是类似于结合图6A、图6B和图6C所示的一维滑块的示例中,HMD 112可以更新用户界面以对应于手132的移动。在这样的示例中,响应于进一步的拉动运动,HMD 112可以增加与一维滑块UI元素612相关联的圆613的大小(见图6C),以对应于由用户界面元素表示的增加的一维输入值。
人工现实***10可以确定捏构形已经被释放(来自805的“是”路径)并且处理输入值(807)。例如,在图1A中,HMD 112可以继续分析由一个或更多个图像捕获设备138捕获的图像数据,并且基于图像数据确定手132不再处于捏构形。HMD 112可以确定当手132处于捏构形时由用户界面元素表示的最后输入值。HMD 112可以将最后输入值识别为用户选择的输入值。HMD 112可以通过例如使用输入值影响环境来处理用户选择的输入值。在一些示例中,输入值可以对应于音频音量水平,因此对所选输入值的调整可以具有增加由人工现实***10呈现的声音的音频音量的效果。
图13B是示出根据本公开的一个或更多个方面,由示例人工现实***使用物理指示笔执行的操作的流程图。下面在图1A的人工现实***10以及图11A和图11B的上下文中描述图13B。在其他示例中,图13B中描述的操作可以由一个或更多个其他部件、模块、***或设备来执行。此外,在其他示例中,结合图13描述的操作可以被合并、以不同的顺序执行、省略,或者可以包含未具体示出或描述的附加操作。
在图13B所示的过程中,并且根据本公开的一个或更多个方面,人工现实***10可以捕获图像数据(811)。例如,参考图1A,包括在HMD 112内的一个或更多个图像捕获设备138可以捕获视场130内的图像,这些图像代表佩戴HMD 112的用户附近的物理环境。
人工现实***10可以输出人工现实内容(812)。例如,参考图1A和图11A,HMD 112可以在包含在HMD 112内的显示器上呈现人工现实内容。这样的内容可以包括物理环境的图像。这样的内容还可以包括叠加在物理环境的图像上的人工内容,例如响应于图11A的物理指示笔710的移动而生成的线条或其他内容。此外,用户界面元素(例如,菜单)和/或其他内容也可以叠加在物理环境的图像上。
人工现实***10可以识别指示笔选择和拉动运动(813)。例如,参考图11A,HMD112可以分析由一个或更多个图像捕获设备138捕获的图像数据,并基于图像数据识别物理指示笔710的移动。HMD 112还可以检测来自物理指示笔710的信号,HMD 112确定该信号对应于物理指示笔710上的物理按钮712已经被按下的指示。HMD 112还可以基于图像数据检测物理指示笔710在物理按钮712被按下时的后续拉动运动。HMD 112可以确定物理按钮712的选择和后续拉动运动符合指示笔选择和拉动运动(来自813的“是”路径)。
人工现实***10可以响应于识别指示笔选择和拉动运动来渲染用户界面(814)。例如,再次参考图11A,HMD 112生成人工现实内容,其可以包括在UI面板560上绘制的线720。HMD 112还可以在人工现实内容中包括用户界面元素,例如如图11B所示的线粗度UI元素732。HMD 112在包含在HMD 112内的显示器上呈现和/或渲染人工现实内容。HMD 112在人工现实内容内包括线粗度UI元素732,尽管在其他示例中,响应于指示笔选择和拉动运动,任何其他合适的用户界面元素可以包括在替代现实内容内,包括但不限于在本公开中描述为由指示笔选择动作或手132的捏和拉手势选通或触发的任何用户界面元素。
人工现实***10可以确定指示笔释放动作还没有发生(来自815的“否”路径)。例如,在图1A中,HMD 112可以基于图像数据或来自物理指示笔710的通信来确定物理按钮712继续被按下。
人工现实***10可以识别物理指示笔710的进一步运动(来自816的“是”路径)。例如,在图1A中,HMD 112可以基于捕获的图像数据来识别当物理按钮712被按下时物理指示笔710的进一步运动。响应于进一步运动,HMD 112可以更新在包含在HMD 112内的显示器上呈现的内容。特别地,HMD 112可以基于移动来更新线粗度UI元素732。在一些示例中,如图11B所示,当物理指示笔710被拉离HMD面板560更远时,HMD 112可以导致线720的粗度增加。当物理指示笔710靠近UI面板560时,HMD 112可导致线720的粗度减小。
人工现实***10可以确定指示笔释放动作已经发生(815的“是”路径)并处理输入值(817)。例如,在图1A中,HMD 112可以检测到物理按钮712已经被释放。HMD 112确定在物理按钮712被释放之前由线粗度UI元素732表示的最后输入值。HMD 112将最后输入值识别为用户选择的输入值。HMD 112通过例如存储线720的粗度并更新呈现的人工现实内容来处理用户选择的输入值,使得线720继续以选择的粗度呈现。
本公开中描述的技术可以至少部分地以硬件、软件、固件或其任何组合实现。例如,所述技术的各个方面可在一个或更多个处理器内实现,该处理器包括一个或更多个微处理器、DSP、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效的集成或离散逻辑电路,以及此类部件的任何组合。术语“处理器”或“处理电路”一般可指前述逻辑电路中的任一种(单独或与其他逻辑电路组合),或任何其他等效电路。包括硬件的控制单元也可执行本公开的一种或更多种技术。
此类硬件、软件和固件可在相同的设备内或在单独的设备内实现以支持本公开中描述的各种操作和功能。此外,所述单元、模块或部件中的任一个可一起或单独地实现为离散的但可互操作的逻辑设备。将不同特征描述为模块或单元旨在突出不同的功能方面,并不一定意味着此类模块或单元必须由单独的硬件或软件部件实现。相反,与一个或更多个模块或单元相关联的功能可以由单独的硬件或软件部件执行,或者集成在公共或单独的硬件或软件部件内。
在本公开中描述的技术还可在包含指令的计算机可读介质(诸如计算机可读存储介质)中体现或编码。嵌入或编码在计算机可读存储介质中的指令可以例如在执行指令时致使可编程处理器或其他处理器执行方法。计算机可读存储介质可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁介质、光学介质或其他计算机可读介质。
如本文通过各种示例所描述的,本公开的技术可包括人工现实***或结合人工现实***来实现。如所描述的,人工现实是在呈现给用户之前已经以某种方式调整的现实的形式,其可包括例如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、混杂现实、或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或与捕获的内容(例如,真实世界的照片)相结合的生成的内容。人工现实内容可以包括视频、音频、触觉反馈、或其某种组合,且其中任何一个都可以在单个通道中或在多个通道中被呈现(例如向观看者产生三维效果的立体视频)。另外,在一些实施例中,人工现实可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合例如用于在人工现实中创建内容和/或在人工现实中被使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实***可以在各种平台上实现,这些平台包括连接到主计算机***的头戴式显示器(HMD)、独立的HMD、移动设备或计算***、或者能够向一个或更多个观看者提供人工现实内容的任何其他硬件平台。

Claims (15)

1.一种人工现实***,包括:
图像捕获设备,其被配置为捕获代表物理环境的图像数据;
头戴式显示器(HMD),其被配置为输出人工现实内容;
手势检测器,其被配置为从所述图像数据中识别手势,所述手势包括来自手的两个手指的运动以形成捏构形,以及当处于所述捏构形时的后续拉动运动;
用户界面(UI)引擎,其被配置为响应于识别所述手势而生成UI输入元素;和
渲染引擎,其被配置为将所述UI输入元素渲染为对所述人工现实内容的至少一些的叠加。
2.根据权利要求1所述的人工现实***,其中,为了识别所述手势,所述手势检测器还被配置成:
从所述图像数据中确定所述捏构形在UI捏元素附近。
3.根据权利要求1或权利要求2所述的人工现实***,其中,所述手势检测器还被配置成:
在识别所述手势之后,识别当所述两个手指处于所述捏构形时所述手的进一步移动。
4.根据权利要求3所述的人工现实***,其中,所述渲染引擎还被配置为:
响应于所述手的进一步移动并以对应于所述手的进一步移动的方式修改所述UI输入元素;并且优选地,其中为了以对应于所述手的进一步移动的方式修改所述UI输入元素,所述渲染引擎还被配置成:
修改所述UI输入以指示输入值;并且优选地,其中所述渲染引擎还被配置成:
渲染修改的UI输入元素。
5.根据权利要求1至4中任一项所述的人工现实***,其中,所述手势检测器还被配置为:
从所述图像数据确定所述捏构形已经停止;并且优选地,其中所述用户界面引擎还被配置成:
响应于确定所述捏构形已经停止,识别输入值;和
基于所述输入值,生成更新的人工现实内容;并且优选地,其中所述渲染引擎还被配置成:
渲染所述更新的人工现实内容。
6.根据权利要求1至5中任一项所述的人工现实***,其中,所述HMD还被配置为输出代表所述物理环境的图像数据的至少一些。
7.根据权利要求1至6中任一项所述的人工现实***,其中,为了识别所述手势,所述手势检测器还被配置为:
将所述手势识别为对应于手势库中的条目。
8.根据权利要求1至7中任一项所述的人工现实***,其中,来自所述手的两个手指是拇指和食指。
9.根据权利要求1至8中任一项所述的人工现实***,其中,所述后续拉动运动包括所述手的拉动运动。
10.根据权利要求1至9中任一项所述的人工现实***,其中,所述后续拉动运动包括所述两个手指的拉动运动。
11.根据权利要求1至10中任一项所述的人工现实***,其中,所述图像捕获设备集成在所述HMD内。
12.根据权利要求1至11中任一项所述的人工现实***,其中,所述UI输入元素是以下中的至少一个:
一维连续变量滑块;
一维离散变量滑块;
开关;
菜单;
径向项目拾取器;
径向滑块;
颜色拾取器;
体积颜色拾取器;或者
进度滑块。
13.一种方法,包括:
由图像捕获设备捕获代表物理环境的图像数据;
由头戴式显示器(HMD)输出人工现实内容;
从所述图像数据中识别手势,所述手势包括来自手的两个手指的运动以形成捏构形,以及当处于所述捏构形时的后续拉动运动;
响应于识别所述手势,生成UI输入元素;和
将所述UI输入元素渲染为对所述人工现实内容的至少一些的叠加。
14.根据权利要求13所述的方法,还包括:
从所述图像数据确定所述捏构形在UI捏元素附近;并且优选地所述方法还包括:
在识别所述手势之后,识别当所述两个手指处于所述捏构形时所述手的进一步移动。
15.一种非暂时性计算机可读介质,其包括用于使人工现实***的一个或更多个处理器执行操作的指令,所述操作包括:
由图像捕获设备捕获代表物理环境的图像数据;
由头戴式显示器(HMD)输出人工现实内容;
从所述图像数据中识别手势,所述手势包括来自手的两个手指的运动以形成捏构形,以及当处于所述捏构形时的后续拉动运动;
响应于识别所述手势,生成UI输入元素;和
将所述UI输入元素渲染为对所述人工现实内容的至少一些的叠加。
CN202080039024.1A 2019-06-07 2020-05-29 基于捏和拉手势检测人工现实***中的输入 Pending CN113874819A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/435,116 US11334212B2 (en) 2019-06-07 2019-06-07 Detecting input in artificial reality systems based on a pinch and pull gesture
US16/435,116 2019-06-07
PCT/US2020/035384 WO2020247279A1 (en) 2019-06-07 2020-05-29 Detecting input in artificial reality systems based on a pinch and pull gesture

Publications (1)

Publication Number Publication Date
CN113874819A true CN113874819A (zh) 2021-12-31

Family

ID=71833419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080039024.1A Pending CN113874819A (zh) 2019-06-07 2020-05-29 基于捏和拉手势检测人工现实***中的输入

Country Status (7)

Country Link
US (2) US11334212B2 (zh)
EP (1) EP3980867A1 (zh)
JP (1) JP2022536015A (zh)
KR (1) KR20220016273A (zh)
CN (1) CN113874819A (zh)
TW (1) TW202046085A (zh)
WO (1) WO2020247279A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442549B1 (en) * 2019-02-07 2022-09-13 Apple Inc. Placement of 3D effects based on 2D paintings
US11334212B2 (en) * 2019-06-07 2022-05-17 Facebook Technologies, Llc Detecting input in artificial reality systems based on a pinch and pull gesture
US11494953B2 (en) * 2019-07-01 2022-11-08 Microsoft Technology Licensing, Llc Adaptive user interface palette for augmented reality
CN114424151A (zh) * 2019-09-20 2022-04-29 交互数字Ce专利控股公司 用于vr和ar环境中的基于手的用户交互的装置和方法
US11372518B2 (en) 2020-06-03 2022-06-28 Capital One Services, Llc Systems and methods for augmented or mixed reality writing
CN112527107B (zh) * 2020-11-30 2023-04-07 京东方科技集团股份有限公司 手势识别方法、装置、电子设备及存储介质
JP2024509722A (ja) 2021-02-08 2024-03-05 サイトフル コンピューターズ リミテッド エクステンデッドリアリティにおけるユーザ相互作用
JP2024507749A (ja) 2021-02-08 2024-02-21 サイトフル コンピューターズ リミテッド エクステンデッドリアリティにおけるコンテンツ共有
KR20230144042A (ko) 2021-02-08 2023-10-13 사이트풀 컴퓨터스 리미티드 생산성을 위한 확장 현실
CN112949512B (zh) * 2021-03-08 2022-07-08 豪威芯仑传感器(上海)有限公司 一种动态手势识别方法、手势交互方法及交互***
KR20230138548A (ko) * 2021-04-23 2023-10-05 가부시키가이샤 와코무 컨트롤러 및 컴퓨터
WO2023009580A2 (en) 2021-07-28 2023-02-02 Multinarity Ltd Using an extended reality appliance for productivity
KR20230034461A (ko) * 2021-09-02 2023-03-10 삼성디스플레이 주식회사 증강 현실 제공 장치 및 이를 이용한 증강 현실 제공 방법
EP4405791A1 (en) * 2021-09-25 2024-07-31 Apple Inc. Methods for interacting with an electronic device
US11954266B2 (en) 2021-12-20 2024-04-09 Htc Corporation Method for interacting with virtual world, host, and computer readable storage medium
US20230334795A1 (en) 2022-01-25 2023-10-19 Multinarity Ltd Dual mode presentation of user interface elements
US11948263B1 (en) 2023-03-14 2024-04-02 Sightful Computers Ltd Recording the complete physical and extended reality environments of a user
US11907415B2 (en) * 2022-02-25 2024-02-20 Htc Corporation Method, electronic device, and non-transitory computer readable storage medium for interacting with virtual reality environment
CN117289850A (zh) * 2022-06-16 2023-12-26 北京字跳网络技术有限公司 显示控制方法、装置、电子设备、介质及程序产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110164029A1 (en) * 2010-01-05 2011-07-07 Apple Inc. Working with 3D Objects
US20130069985A1 (en) * 2011-09-21 2013-03-21 Google Inc. Wearable Computer with Superimposed Controls and Instructions for External Device
US20140028716A1 (en) * 2012-07-30 2014-01-30 Mitac International Corp. Method and electronic device for generating an instruction in an augmented reality environment
US20140062854A1 (en) * 2012-08-31 2014-03-06 Lg Electronics Inc. Head mounted display and method of controlling digital device using the same
US20160306431A1 (en) * 2015-04-15 2016-10-20 Sony Computer Entertainment Inc. Pinch And Hold Gesture Navigation On A Head-Mounted Display
US20180046245A1 (en) * 2016-08-11 2018-02-15 Microsoft Technology Licensing, Llc Mediation of interaction methodologies in immersive environments
US20180364808A1 (en) * 2017-06-15 2018-12-20 Microsoft Technology Licensing, Llc Displacement oriented interaction in computer-mediated reality

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8402391B1 (en) 2008-09-25 2013-03-19 Apple, Inc. Collaboration system
US9323422B2 (en) 2008-10-27 2016-04-26 Autodesk, Inc. Spatially-aware projection pen display
TWI408339B (zh) * 2010-03-22 2013-09-11 Inst Information Industry 即時擴增實境裝置、即時擴增實境方法及其電腦程式產品
US20120030624A1 (en) * 2010-07-30 2012-02-02 Migos Charles J Device, Method, and Graphical User Interface for Displaying Menus
CN103493106B (zh) * 2011-03-29 2017-11-07 高通股份有限公司 使用骨骼跟踪来选择性地将手遮蔽在物理表面上的虚拟投影之上的方法和装置
US9746928B2 (en) * 2011-04-19 2017-08-29 Lg Electronics Inc. Display device and control method thereof
KR101315303B1 (ko) * 2011-07-11 2013-10-14 한국과학기술연구원 착용형 디스플레이 장치 및 컨텐츠 디스플레이 방법
US8644467B2 (en) * 2011-09-07 2014-02-04 Cisco Technology, Inc. Video conferencing system, method, and computer program storage device
US9377863B2 (en) * 2012-03-26 2016-06-28 Apple Inc. Gaze-enhanced virtual touchscreen
CN104205034A (zh) * 2012-03-29 2014-12-10 英特尔公司 使用手势创建三维图形
KR102092132B1 (ko) 2012-11-30 2020-04-14 삼성전자주식회사 호버링 입력 효과를 제공하는 전자 장치 및 그 제어 방법
US20140210797A1 (en) 2013-01-31 2014-07-31 Research In Motion Limited Dynamic stylus palette
US9418378B2 (en) * 2013-03-15 2016-08-16 Gilt Groupe, Inc. Method and system for trying out a product in relation to a real world environment
US20140282275A1 (en) * 2013-03-15 2014-09-18 Qualcomm Incorporated Detection of a zooming gesture
US20140267078A1 (en) 2013-03-15 2014-09-18 Adobe Systems Incorporated Input Differentiation for Touch Computing Devices
US9916009B2 (en) 2013-04-26 2018-03-13 Leap Motion, Inc. Non-tactile interface systems and methods
US9529513B2 (en) 2013-08-05 2016-12-27 Microsoft Technology Licensing, Llc Two-hand interaction with natural user interface
KR102200823B1 (ko) 2013-09-10 2021-01-11 삼성전자 주식회사 전자 장치의 입력 방법 및 시스템
EP3055757A4 (en) 2013-10-08 2016-10-05 Microsoft Technology Licensing Llc DEFORMABLE INPUT DEVICE
US10318100B2 (en) * 2013-10-16 2019-06-11 Atheer, Inc. Method and apparatus for addressing obstruction in an interface
US10579207B2 (en) 2014-05-14 2020-03-03 Purdue Research Foundation Manipulating virtual environment using non-instrumented physical object
US10852838B2 (en) * 2014-06-14 2020-12-01 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
KR20160023298A (ko) 2014-08-22 2016-03-03 삼성전자주식회사 전자 장치 및 전자 장치의 입력 인터페이스 제공 방법
EP2996017B1 (en) * 2014-09-11 2022-05-11 Nokia Technologies Oy Method, apparatus and computer program for displaying an image of a physical keyboard on a head mountable display
US10509865B2 (en) 2014-09-18 2019-12-17 Google Llc Dress form for three-dimensional drawing inside virtual reality environment
US9696795B2 (en) * 2015-02-13 2017-07-04 Leap Motion, Inc. Systems and methods of creating a realistic grab experience in virtual reality/augmented reality environments
US10353542B2 (en) * 2015-04-02 2019-07-16 Facebook, Inc. Techniques for context sensitive illustrated graphical user interface elements
EP3289432B1 (en) * 2015-04-30 2019-06-12 Google LLC Rf-based micro-motion tracking for gesture tracking and recognition
US10281976B2 (en) * 2015-07-07 2019-05-07 Seiko Epson Corporation Display device, control method for display device, and computer program
KR20170025570A (ko) * 2015-08-28 2017-03-08 엘지전자 주식회사 와치 타입 이동 단말기 및 그의 동작 방법
CN105487673B (zh) * 2016-01-04 2018-01-09 京东方科技集团股份有限公司 一种人机交互***、方法及装置
US10908694B2 (en) * 2016-02-01 2021-02-02 Microsoft Technology Licensing, Llc Object motion tracking with remote device
US10921907B2 (en) 2016-09-19 2021-02-16 Apple Inc. Multipurpose stylus with exchangeable modules
US20180181245A1 (en) 2016-09-23 2018-06-28 Microsoft Technology Licensing, Llc Capacitive touch mapping
US10375498B2 (en) * 2016-11-16 2019-08-06 Dts, Inc. Graphical user interface for calibrating a surround sound system
JP6744990B2 (ja) * 2017-04-28 2020-08-19 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理装置の制御方法、及びプログラム
US10261595B1 (en) 2017-05-19 2019-04-16 Facebook Technologies, Llc High resolution tracking and response to hand gestures through three dimensions
US10168789B1 (en) * 2017-05-31 2019-01-01 Meta Company Systems and methods to facilitate user interactions with virtual content having two-dimensional representations and/or three-dimensional representations
US10754496B2 (en) 2017-08-24 2020-08-25 Microsoft Technology Licensing, Llc Virtual reality input
US10937215B1 (en) * 2017-09-29 2021-03-02 Apple Inc. Techniques for enabling drawing in a computer-generated reality environment
US10930075B2 (en) 2017-10-16 2021-02-23 Microsoft Technology Licensing, Llc User interface discovery and interaction for three-dimensional virtual environments
US10916065B2 (en) * 2018-05-04 2021-02-09 Facebook Technologies, Llc Prevention of user interface occlusion in a virtual reality environment
US20190369752A1 (en) 2018-05-30 2019-12-05 Oculus Vr, Llc Styluses, head-mounted display systems, and related methods
US11294472B2 (en) * 2019-01-11 2022-04-05 Microsoft Technology Licensing, Llc Augmented two-stage hand gesture input
US11334212B2 (en) * 2019-06-07 2022-05-17 Facebook Technologies, Llc Detecting input in artificial reality systems based on a pinch and pull gesture

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110164029A1 (en) * 2010-01-05 2011-07-07 Apple Inc. Working with 3D Objects
US20130069985A1 (en) * 2011-09-21 2013-03-21 Google Inc. Wearable Computer with Superimposed Controls and Instructions for External Device
US20140028716A1 (en) * 2012-07-30 2014-01-30 Mitac International Corp. Method and electronic device for generating an instruction in an augmented reality environment
US20140062854A1 (en) * 2012-08-31 2014-03-06 Lg Electronics Inc. Head mounted display and method of controlling digital device using the same
US20160306431A1 (en) * 2015-04-15 2016-10-20 Sony Computer Entertainment Inc. Pinch And Hold Gesture Navigation On A Head-Mounted Display
US20180046245A1 (en) * 2016-08-11 2018-02-15 Microsoft Technology Licensing, Llc Mediation of interaction methodologies in immersive environments
US20180364808A1 (en) * 2017-06-15 2018-12-20 Microsoft Technology Licensing, Llc Displacement oriented interaction in computer-mediated reality

Also Published As

Publication number Publication date
US11334212B2 (en) 2022-05-17
KR20220016273A (ko) 2022-02-08
EP3980867A1 (en) 2022-04-13
WO2020247279A1 (en) 2020-12-10
US20200387287A1 (en) 2020-12-10
JP2022536015A (ja) 2022-08-12
US20220244834A1 (en) 2022-08-04
TW202046085A (zh) 2020-12-16

Similar Documents

Publication Publication Date Title
CN113874819A (zh) 基于捏和拉手势检测人工现实***中的输入
US10890983B2 (en) Artificial reality system having a sliding menu
US11003307B1 (en) Artificial reality systems with drawer simulation gesture for gating user interface elements
CN113826058B (zh) 具有自触觉虚拟键盘的人工现实***
TW202105133A (zh) 在人工實境環境中使用周邊裝置的虛擬使用者介面
US11422669B1 (en) Detecting input using a stylus in artificial reality systems based on a stylus movement after a stylus selection action
KR20220012990A (ko) 인공 현실 시스템들을 위한 팔 응시-구동 사용자 인터페이스 요소 게이팅
US10921879B2 (en) Artificial reality systems with personal assistant element for gating user interface elements
US11086475B1 (en) Artificial reality systems with hand gesture-contained content window
US11043192B2 (en) Corner-identifiying gesture-driven user interface element gating for artificial reality systems
CN113785262A (zh) 具有手指映射自触觉输入方法的人工现实***
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

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
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