CN110633008A - 用户交互解释器 - Google Patents

用户交互解释器 Download PDF

Info

Publication number
CN110633008A
CN110633008A CN201910539613.5A CN201910539613A CN110633008A CN 110633008 A CN110633008 A CN 110633008A CN 201910539613 A CN201910539613 A CN 201910539613A CN 110633008 A CN110633008 A CN 110633008A
Authority
CN
China
Prior art keywords
event
virtual object
virtual
user interaction
application
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.)
Granted
Application number
CN201910539613.5A
Other languages
English (en)
Other versions
CN110633008B (zh
Inventor
E·埃斯坎达
I·达姆纳恩钱瓦尼特
S·L·埃格勒斯亚斯
T·R·欧瑞奥
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.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN110633008A publication Critical patent/CN110633008A/zh
Application granted granted Critical
Publication of CN110633008B publication Critical patent/CN110633008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer

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)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开涉及用户交互解释器。本文所公开的各种具体实施包括提供CGR环境的设备、系统和方法,CGR环境中包含来自一个或多个应用程序的虚拟对象。由独立于提供虚拟对象的应用程序的系统检测并解释与虚拟对象的用户交互。系统检测经由一种或多种输入模态接收的用户交互,并将这些用户交互解释为事件。这些事件提供对所检测到的较低级输入模态相关用户交互所做的较高级输入模态无关抽象。系统使用由应用程序提供的UI能力数据来解释与由应用程序提供的虚拟对象相关的用户交互。例如,UI能力数据可标识虚拟对象是否可移动、可动作、可悬停等等,并且系统相应地解释虚拟对象处或附近的用户交互。

Description

用户交互解释器
相关申请的交叉引用
本申请要求2018年6月22日提交的美国临时申请序列号62/688,510的权益,该申请全文以引用方式并入本文。
技术领域
本公开整体涉及解释传感器数据,具体地讲,涉及解释经由传感器数据检测到的用户交互的系统、方法和设备。
背景技术
电子设备经常被配置为经由涉及各种传感器的多个不同输入模态来接收用户交互。一般借助于特定于输入模态的指令将应用程序(“应用程序”)编程为或以其他方式配置为识别经由这些输入模态中的一者或多者检测到的用户交互并对该用户交互做出响应。例如,应用程序可包括经由鼠标点击和鼠标移动来检测和解释所显示对象的选择和移动的逻辑器。此类应用程序还可包括单独的逻辑器,该逻辑器经由手移动来检测和解释同一对象的选择和移动。
发明内容
本文所公开的各种具体实施包括提供计算机生成现实(CGR)环境的设备、系统和方法,CGR环境中包含来自一个或多个应用程序的虚拟对象。由独立于提供虚拟对象的应用程序的事件系统检测并解释与虚拟对象的用户交互。事件系统检测经由一种或多种输入模态接收的用户交互,并将这些用户交互解释为事件。这样的输入模态包括但不限于经由键盘检测的文本输入、经由鼠标或触控板检测的光标输入、经由触摸屏检测的触摸输入、经由麦克风检测的语音输入、经由光传感器或IR传感器检测的基于注视/眼睛的输入、以及经由光传感器/IR传感器检测的基于手/移动的输入。
事件提供对较低级输入模态相关用户交互所做的较高级输入模态无关抽象。因而,可以基于检测并解释从一个位置到另一位置的手移动而来解释事件(例如,将对象X放置到位置Y处)。当移动开始时,手的初始位置可用于识别对象X,并且当移动结束时,手的位置可用于识别位置Y。可以基于检测并解释语音命令(诸如,“向右移动这个”)来解释相同的事件(将对象X放置到位置Y处)。在前述示例性语音命令中,代词“这个”以及基于眼睛/注视的跟踪数据可被解释为识别出用户正在看着对象X,并且因此词语“这个”是指对象X。例如,可以基于采取对应的距离将词语“右”解释为识别出位置Y。使用事件系统来执行对此类事件的处理,事件系统可被配置为具有针对不同输入模态的多个子系统。
事件系统可解释CGR环境内的用户交互,CGR环境具有来自一个或多个设备上的多个应用程序的虚拟对象。因此,在一些具体实施中,事件系统被配置为检测在来自多个设备上的多个应用程序的有可能很多的虚拟对象当中哪一个虚拟对象应当与事件相关联。每个应用程序都提供有关其自身的将要包含在CGR环境内的虚拟对象的信息。虚拟对象信息可指定虚拟对象的外观并提供关于虚拟对象的UI能力数据。例如,UI能力数据可标识虚拟对象是否可移动、可动作、可悬停等等。事件系统使用UI能力数据将用户交互解释为事件。例如,如果系统检测到从初始位置到终止位置的手移动,那么初始位置可用于识别哪一虚拟对象将要与移动事件相关联。在一个具体实施中,系统识别出与该位置最接近的可移动虚拟对象。换句话讲,如果附近对象不可移动,那么将不会选择它用于移动事件,并且可以转而选择第二最接近对象用于移动事件。
在一些具体实施中,在具有处理器和计算机可读存储介质的设备(诸如,台式计算机、膝上型电脑、移动设备、平板电脑、头戴式设备(HMD)等)上的事件系统处执行一种方法。事件系统在显示器上显示CGR环境的视图。CGR环境包括由单独应用程序提供的虚拟对象。应用程序定义虚拟对象的外观或功能,并且向事件系统标识虚拟对象的用户界面(UI)能力(例如,可移动、可动作、可悬停等)。事件系统检测与CGR环境的用户交互(例如,检测语音命令、手势、眼睛注视输入、触摸输入、键盘输入、鼠标输入等)。
事件系统解释用户交互,以识别用户交互的事件(例如,移动事件、动作事件、悬停事件等等)和对象识别属性(例如,意指对象的位置、名称、类型等)。例如,事件系统的语音解释子系统可通过解释所检测到的语音命令“向左移动椅子”中的“移动”和“椅子”来识别移动事件和由应用程序提供的虚拟椅子。又如,手/移动解释子系统可基于手移动方向来识别移动事件,并且基于手的初始位置来识别用户想要移动的对象的“位置”。在另一个示例中,手/移动解释子系统基于手移动模式识别动作事件,并且基于移动期间手的位置识别要被施加动作的虚拟对象(例如,按钮)的位置。
在解释用户交互以识别事件之后,事件系统基于使用对象识别属性识别出虚拟对象来使事件与虚拟对象相关联(如果允许的话)。例如,系统可通过确定用户交互的位置、名称或类型对应于虚拟对象的位置、名称或类型而使用户交互与事件匹配。此外,只有在虚拟对象的UI能力允许关联时,事件系统才使事件与虚拟对象相关联。例如,事件系统可确定虚拟对象是可移动的,因而可与移动事件相关联,或者事件系统可确定虚拟对象是可动作的,因而可与动作事件相关联。
在使事件与虚拟对象相关联之后,事件系统将事件通知应用程序。例如,事件系统可通知应用程序针对应用程序的虚拟对象的移动事件已经开始,之后应用程序可以向事件系统查询虚拟对象的当前位置。又如,事件系统通知应用程序针对虚拟对象的动作事件已经发生,并且应用程序能够向事件系统提供响应,从而提供信息,改变虚拟对象或者以其他方式对动作事件做出响应。在一些具体实施中,事件系统改变应用程序在CGR环境内的虚拟对象而无需接收到来自应用程序的要这样做的指令。因而,如果用户交互使虚拟对象向右移动,那么事件系统可使虚拟对象向右移动并且将对应的移动事件单独通知应用程序。因此,事件系统不必等待与应用程序的任何消息往来就能对用户交互做出响应。
本文公开的事件检测方法和系统提供了相对于需要特定于输入模态的指令的现有系统的很多优点。对于应用程序开发者而言,对特定于输入模态的指令进行编程以及更新这样的指令以适应新的和变化的输入模态可能是很繁重的任务。此外,此类应用程序可能无法足够快速地对用户交互做出响应,例如,以显示真实响应。这些挑战在CGR环境(例如,虚拟现实(VR)或混合现实(MR))的背景下尤其麻烦和有问题的,在CGR环境当中,解释用户交互可能更复杂,而且对此类用户交互的快速响应对于真实体验可能更为关键。
相比之下,本文所公开的事件系统可将来自各种各样的输入模态的用户交互数据抽象为能够更易于被应用程序使用的更高级的输入模态无关事件。提供由此类系统使用的虚拟对象的一个或多个应用程序不需要包括特定于输入模态的指令。例如,应用程序不必包括手移动解释特征、语音解释特征、触摸解释特征等。相反,应用程序可以简单地包含使用所接收到的输入模态无关事件的指令。应用程序还不必进行更新以适应引起事件的新的和变化的输入模态。另外,事件系统可被配置为自己使用事件来改变虚拟对象,例如,在无需等待与应用程序之间的往返消息传送的情况下,响应于检测到用户交互而将虚拟对象移动到新的位置/朝向。这样做可以提供对用户交互的经改进的、更真实的响应,尤其是在CGR环境(例如,VR和MR)的背景下,在CGR环境中,解释用户交互可能更加复杂,而且对此类用户交互的快速响应对于真实体验可能更关键。
根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;这一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且这一个或多个程序包括用于执行或导致执行本文所述方法中的任一种的指令。根据一些具体实施,一种非暂态计算机可读存储介质中存储有指令,当由设备的一个或多个处理器执行时,这些指令使得该设备执行或导致执行本文所述方法中的任一种。根据一些具体实施,一种设备包括:一个或多个处理器、非暂态存储器,以及用于执行或导致执行本文所述方法中的任一种的装置。
附图说明
因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。
图1是包括提供CGR环境的视图的事件系统的示例性设备的框图。
图2是根据一些具体实施的图1的设备的框图,该设备包括向事件系统提供虚拟对象以供包含在CGR环境中的多个应用程序。
图3是示出了根据一些具体实施的用于检测用户交互以创建移动事件并改变CGR环境的视图的图2的事件系统的框图。
图4是根据一些具体实施的用于检测用户交互以创建动作事件并改变CGR环境的视图的图2的事件系统的框图。
图5是示出了根据一些具体实施的示例性设备的设备部件的框图。
图6是示出了根据一些具体实施的示例性事件检测和通知过程的框图。
图7是示出了根据一些具体实施的示例性移动事件检测和通知过程的框图。
图8是示出了根据一些具体实施的示例性动作事件检测和响应过程的框图。
图9是示出了根据一些具体实施的示例性多设备事件检测和通知过程的框图。
根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的系统、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。
具体实施方式
描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将会知道,其他有效方面或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。
参考图1,其例示了示例性设备10,该设备包括提供计算机生成现实(CGR)环境的视图30的事件系统15。CGR环境是指人们经由电子系统感测和/或交互的完全或部分模拟的环境。在CGR中,跟踪人的物理运动的一个子组或其表示,并且作为响应,以符合至少一个物理定律的方式调节在CGR环境中模拟的一种或多种虚拟内容的一个或多个特征。例如,CGR系统可以检测人的头部转动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),对CGR环境中一种或多种虚拟内容的一个或多个特征的调节可以响应于物理运动的表示(例如,声音命令)来进行。
人可以利用其感官中的任一者来感测CGR对象和/或与CGR对象交互,包括视觉、听觉、触觉、味觉和嗅觉。例如,人可以感测音频对象和/或与音频对象交互,音频对象创建3D或空间音频环境,3D或空间音频环境提供3D空间中点音频源的感知。又如,音频对象可以使能音频透明度,该音频透明度在有或者没有计算机生成的音频的情况下选择性地引入来自物理环境的环境声音。在某些CGR环境中,人可以感测和/或只与音频对象交互。
CGR的示例包括虚拟现实和混合现实。虚拟现实(VR)环境是指被设计成对于一个或多个感官完全基于计算机生成的感官输入的模拟环境。VR环境包括人可以感测和/或交互的虚拟内容。例如,树木、建筑物和代表人的化身的计算机生成图像是虚拟内容的示例。人可以通过在计算机生成的环境内人的存在的模拟、和/或通过在计算机生成的环境内人的物理运动的一个子组的模拟来感测VR环境中的虚拟内容和/或与之交互。
与被设计成完全基于计算机生成的感官输入的VR环境相比,混合现实(MR)环境是指被设计成除了包括计算机生成的感官输入(例如,虚拟内容)之外还引入来自物理环境的感官输入或其表示的模拟环境。在虚拟连续体上,混合现实环境是完全物理环境作为一端和虚拟现实环境作为另一端之间的任何状况,但不包括这两端。
在一些MR环境中,计算机生成的感官输入可以对来自物理环境的感官输入的变化进行响应。另外,用于呈现MR环境的一些电子系统可以跟踪相对于物理环境的位置和/或朝向,以使虚拟内容能够与真实对象(即,来自物理环境的物理物品或其表示)交互。例如,系统可以导致运动使得虚拟树木相对于物理地面看起来是静止的。
混合现实的示例包括增强现实和增强虚拟。增强现实(AR)环境是指其中一个或多个虚拟内容叠加在物理环境或其表示之上的模拟环境。例如,用于呈现AR环境的电子系统可以具有透明或半透明显示器,人可以透过它直接查看物理环境。系统可以被配置为在透明或半透明显示器上呈现虚拟内容,使得人利用系统感知叠加在物理环境之上的虚拟内容。另选地,系统可以具有不透明显示器和一个或多个成像传感器,成像传感器捕获物理环境的图像或视频,这些图像或视频是物理环境的表示。该系统将图像或视频与虚拟内容组合,并在不透明显示器上呈现组合物。人利用系统经由物理环境的图像或视频而间接地查看物理环境,并且感知叠加在物理环境之上的虚拟内容。如本文所用,在不透明显示器上显示的物理环境的视频被称为“透传视频”,意味着系统使用一个或多个图像传感器捕获物理环境的图像,并且在不透明显示器上呈现AR环境时使用那些图像。进一步另选地,系统可以具有投影系统,该投影系统将虚拟内容投射到物理环境中,例如作为全息图或者在物理表面上,使得人利用系统感知叠加在物理环境之上的虚拟内容。
增强现实环境也是指其中物理环境的表示被计算机生成的感官信息进行转换的模拟环境。例如,在提供透传视频中,系统可以对一个或多个传感器图像进行转换以施加与成像传感器所捕获的视角不同的选择视角(例如,视点)。又如,物理环境的表示可以通过图形地修改(例如,放大)其部分而进行转换,使得修改后的部分可以是原始捕获图像的代表性的但不是真实的版本。再如,物理环境的表示可以通过以图形方式消除或模糊其部分而进行转换。
增强虚拟(AV)环境是指其中虚拟或计算机生成的环境结合来自物理环境的一个或多个感官输入的模拟环境。感官输入可以是物理环境的一个或多个特征的表示。例如,AV公园可以具有虚拟树木和虚拟建筑物,但人的脸部是从对物理人拍摄的图像逼真再现的。又如,虚拟内容可以采用一个或多个成像传感器所成像的物理物品的形状或颜色。再如,虚拟内容可以采用符合太阳在物理环境中的位置的阴影。
有许多不同类型的电子系统使人能够感测和/或与各种CGR环境交互。示例包括头戴式系统、基于投影的系统、平视显示器(HUD)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为被设计用于放置在人眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入系统(例如,具有或没有触觉反馈的可穿戴或手持控制器)、智能电话、平板电脑、和台式/膝上型计算机。头戴式系统可以具有一个或多个扬声器和集成的不透明显示器。另选地,头戴式系统可以被配置为接受外部不透明显示器(例如,智能电话)。头戴式系统可以结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可以具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过所述媒介被引导到人的眼睛。显示器可以利用数字光投影、OLED、LED、uLED、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一个实施方案中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统也可以被配置为将虚拟内容投影到物理环境中,例如经由全息图或在物理表面上。
在图1的示例中,视图30包括对包括桌子35的CGR环境的描述。桌子35可对应于真实世界桌子,例如,基于设备10上的捕获该真实世界桌子的一幅或多幅图像的图像传感器。CGR环境的视图可以是视频透传式或光学透视式。例如,视频透传内容可包括由相机捕获并显示在显示器上的真实世界内容,而光学透视内容可包括直接或透过玻璃观看并补充有附加显示内容的真实世界内容。例如,设备10可通过将所渲染的三维(“3D”)图形整合到板载摄像机捕获的实况视频流当中而在蜂窝电话的显示器上为用户提供视频透传体验。又如,设备10可通过将所渲染的3D图形叠加到可穿戴透视头戴式显示器(“HMD”)当中而为用户提供光学透视体验,从而借助于所叠加的3D模型以电子方式增强用户对现实世界的光学视图。
图1的事件系统15被配置为创建和更新CGR环境并提供该CGR环境的视图,诸如视图30。在一些具体实施中,设备10被配置为(直接经由其自身的一个或多个图像传感器或者间接经由其他设备的一个或多个图像传感器)获得环境的图像。事件系统15使用这些图像来提供CGR环境的视图。在一些具体实施中,这一操作涉及检测图像中的3D特征(例如,平面、边缘、墙壁等),使得虚拟对象能够被添加到相对于这些特征的位置上或者以其他方式与这些特征交互。在一些具体实施中,提供CGR环境的视图涉及估计环境的图像中所描绘的部分或全部环境的3D几何形状。例如,RGB-D相机或IR相机可提供被解释为估计房间或场景的3D几何形状的深度数据。当相机/设备10四处移动并且持续捕获新图像时,这样的3D几何形状可以被更新(有可能实时地)。因而,能够针对不同的视点生成环境的3D几何形状的视图。在一些具体实施中,设备10在显示器上提供相机的图像并且使3D几何形状(例如,深度值、3D坐标值等)与这些图像的内容相关联。
在一些具体实施中,设备10是一种由用户佩戴的头戴式设备(HMD)。HMD可包围用户的视场。HMD可包括被配置为显示CGR环境的视图的一个或多个屏幕或者其他显示器。在一些具体实施中,HMD包括用于在用户的视场中显示CGR环境的视图的屏幕或其他显示器。在一些具体实施中,HMD的佩戴方式使得屏幕被定位成在用户的视场内显示CGR环境的视图。在涉及HMD或其他可移动设备的一些具体实施中,用于提供视图30的视点基于设备10的位置或朝向。因此,当用户移动其身体或头部并且设备10的位置和朝向发生变化时,用于显示视图30的视点也会改变。例如,如果用户四处走动,那么用户能够改变其视点,从而从不同方向,从更近或更远,从自上而下的观察位置和角度,从自下而上的观察位置和角度等来观看CGR环境。
在一些具体实施中,设备10是被配置为向第一用户呈现CGR环境的视图的手持式电子设备(例如,智能电话或平板电脑)。在一些具体实施中,设备10是被配置为呈现CGR环境的视图的舱室、壳体或房间,在该CGR环境中,用户不穿戴或手持设备10。
在一些具体实施中,设备10使用户能够改变视点或以其他方式修改CGR环境或与CGR环境交互。在一些具体实施中,设备10被配置为接收与所显示的内容交互的用户输入。例如,用户可添加、删除、移动、放大、选择或更改包含在CGR环境中的虚拟对象。
事件系统15检测和解释与CGR环境的用户交互。例如,CGR环境包括作为画作的虚拟对象,并且用户用手指指着该画作。事件系统15经由传感器数据来检测这一用户交互并且将其解释为对应于画作虚拟对象的事件。又如,用户通过陈述“告诉我关于该画作的情况”来提供输入,并且事件系统15经由不同的传感器数据来检测这一用户交互并将其解释为对应于画作虚拟对象的相同事件。
在图1中,事件系统15被示为合并系统,其整合了提供CGR环境的视图的功能以及基于传感器数据来检测和解释事件的功能。这些功能可整合到单个系统、应用程序或模块中,或者在各种另选的具体实施中被分离到任何数量的单独系统、应用程序和模块当中。
图2是根据一些具体实施的包括多个应用程序40a-n的设备10的框图,该多个应用程序向事件系统15提供虚拟对象(诸如,虚拟对象45),以供包含在CGR环境中。在该示例中,应用程序40a提供了虚拟对象45,其包括有关虚拟对象45的外观的信息。此类外观信息可包括虚拟对象45的3D模型。在一些具体实施中,虚拟对象45的3D模型标识3D空间内由各种几何实体(诸如三角形、线、弧、表面等)连接的点的集合。在图2中,虚拟对象45被添加至CGR环境并且在CGR环境的视图200中被描绘为处于桌子35上。
虚拟对象45被应用程序40a提供给事件系统15,并且包括指示虚拟对象45可移动并且可动作的UI能力数据。该UI能力数据由事件系统15用于检测和解释对应于用户交互的传感器数据,如图3和图4所示。
图3是示出了根据一些具体实施的用于检测用户交互以创建移动事件并改变CGR环境的视图的图2的事件系统15的框图。在该示例中,设备10是一种由用户5佩戴的头戴式设备(HMD)。最初,用户5观察设备10的显示器中的视图300。CGR环境的视图300包括桌子35和虚拟对象45。在该示例中,用户打算相对于桌子35移动虚拟对象45。图3示出了可被解释为实现该移动的三种不同用户交互。这三种不同用户交互中的每者涉及不同的输入模态,但被事件系统解释为创建相同的移动事件340。相应地,该移动事件340与输入模态无关。可将该事件通知提供与事件相关联的虚拟对象(例如,虚拟对象45)的应用程序(例如,图2的应用程序40a)。因而,应用程序本身不必被配置为解释不同输入模态下的交互或以其他方式解释特定于输入模态的用户交互。
图3示出了检测手移动310的事件系统15。在该示例中,用户5伸出手来指向虚拟对象45,然后将他的手向右移动(从用户的视点来看)。通过这一手势,用户意在识别虚拟对象45并且从用户的视点将虚拟对象45相对于桌子35向右移动。
事件系统15可经由一个或多个传感器(例如,相机、IR传感器等)检测这一移动。事件系统15可被配置为使用对象识别技术来识别用户的手,对象识别技术包括但不限于涉及基于机器学习的对象检测的技术。事件系统15可被配置为,例如,基于检测到手至少在阈值量的时间内保持相对稳定,基于检测到特定的手指位置(例如,手只伸出单根手指),基于检测到手势(例如,手指摆动)等来对识别虚拟对象的意图进行识别。事件系统15可被配置为解释与手或胳膊相关联的指向/路径,并且使用该方向/路径来识别虚拟对象。例如,事件系统可被配置为使用对象识别技术来识别胳膊、手或手指的朝向,并且基于视图(例如,相机姿态)、所检测到的指向或路径以及视图中所描绘的CGR环境的3D几何形状来确定指向或路径。
在一些具体实施中,事件系统15被配置为通过解释手移动的特征来识别事件类型(例如,放置、动作、悬停等)。例如,事件系统15可确定手正在移动,手在初始物体识别手势之后正在移动,手在朝特定方向移动等。在图3的示例中,事件系统15使用关于手移动的信息来确定用户意在将所识别的对象移动到新位置。在一些具体实施中,事件系统15确定对于虚拟对象45是否允许某一事件类型(例如,放置、动作、悬停等)。例如,虚拟对象45可包括标识虚拟对象45可移动(例如,允许移动事件)以及可动作(例如,允许动作事件)的元数据。事件系统15可使用该信息来确定是否将事件与虚拟对象相关联。如果对特定虚拟对象不允许某一事件类型,那么事件系统15将不使该类型的事件与该虚拟对象相关联,相反可以识别出允许将该事件类型与事件相关联的下一最接近的虚拟对象。
在一些具体实施中,事件系统15被配置为例如基于检测到手的移动已停止,例如基于检测到在手动移动之后手至少在预先确定的量的时间内保持相对稳定,来识别预期移动手势的预期终止位置。又如,事件系统识别手移动中的中间位置,从而能够伴随手的移动实时地移动虚拟对象。
在经由手检测310检测到手移动之后,事件系统15可改变CGR环境的视图,确定事件(即,移动事件340)或两者。例如,事件系统15可提供CGR环境的经更新视图350,该经更新视图从用户的角度将虚拟对象45显示到其先前位置右侧的已改变位置上。又如,事件系统15提供移动期间的经更新视图序列,从而显示虚拟对象45从其初始位置(例如,如视图300中所示)移动到终止位置(例如,如视图350中所示)。
在一些具体实施中,事件系统15创建移动的单个事件,该事件将标识虚拟对象45的终止位置。在其他具体实施中,事件系统15创建对应于移动的多个事件,从而例如标识虚拟对象45的移动期间的一个或多个中间位置。
移动事件340可包括关于移动事件340的信息,该移动事件与输入模态无关。例如,移动事件340可标识虚拟对象45、与虚拟对象45相关联的应用程序40a、虚拟对象45正被移动、虚拟对象45在移动中的一个或多个中间位置或者虚拟对象45在移动中的终止位置。
图3进一步示出了事件系统15检测语音命令320。在该示例中,用户口述“向右移动花瓶”。通过该语音命令,用户意在识别虚拟对象45并且从用户的视点将虚拟对象45相对于桌子35向右移动。事件系统15可被配置为例如基于检测到对应于虚拟对象的特定名词(诸如“花瓶”)或者与虚拟对象相关联的元数据对识别虚拟对象的意图进行识别。在该示例中,虚拟对象45的元数据包括识别虚拟对象的一个或多个短语,包括短语“花瓶”。因而,事件系统15通过将说出的词语“花瓶”与虚拟对象45的元数据匹配而确定用户5所指的是虚拟对象45。在有歧义的情况下,事件系统15可使用口述命令320中的额外信息、眼睛跟踪或任何其他额外技术来识别适当的虚拟对象。在另一个示例中,用户5说“向右移动这个”并且事件系统15检测到词语“这个”,确定该词语意在识别对象,并且使用额外的技术(例如,眼睛跟踪、手跟踪、提示更多输入等)来识别虚拟对象45。
在一些具体实施中,事件系统15被配置为基于语音命令320识别事件类型。事件系统15可被配置为例如基于检测和解释对应于改变虚拟对象的位置或朝向的特定动词(诸如“移动”)来检测事件类型。在一些具体实施中,事件系统15维持对应于特定事件类型的动词和其他短语的列表,并使用该列表来识别事件类型。在一些具体实施中,事件系统15使用自然语言处理或基于机器学习的解释来识别事件类型。
在一些具体实施中,事件系统15被配置为识别预期移动命令的预期终止位置。事件系统15可被配置为例如基于检测和解释语音命令320中的特定词语或短语来检测终止位置。例如,事件系统15可检测短语中的词“右”并相应地确定移动的方向和幅度。方向或幅度可基于用户在CGR环境中的位置(例如,相机姿态)、与虚拟对象的距离以及其他因素来确定。方向或幅度可基于默认值。例如,短语“左”、“右”、“向上”、“向下”、“靠近”、“远离”等可与默认移动值(例如,默认距离或视图的默认百分比等)相关联。
在检测到语音命令320之后,事件系统15可改变CGR环境的视图,确定事件(即,移动事件340)或两者。例如,事件系统可提供CGR环境的经更新视图350,该经更新视图从用户的角度将虚拟对象45显示到其先前位置右侧的已改变位置上。又如,事件系统15提供移动期间的经更新视图序列,从而显示虚拟对象45从其初始位置(例如,如视图300中所示)移动到终止位置(例如,如视图350中所示)。
与手检测示例的情况一样,对于语音命令而言,事件系统15可以创建移动的单个事件来标识虚拟对象45的终止位置,或者可以创建对应于移动的多个事件,从而例如标识虚拟对象45在移动期间的一个或多个中间位置。
类似地,与手检测示例的情况一样,响应于语音命令320创建的移动事件340可包括关于与输入模态无关的移动事件340的信息。例如,移动事件340可标识虚拟对象45、与虚拟对象45相关联的应用程序40a、虚拟对象45正被移动、虚拟对象45在移动中的一个或多个中间位置或者虚拟对象45在移动中的终止位置。移动事件340不必包括任何特定于输入模态的信息,因而移动事件340无论是基于手检测还是语音命令检测创建的,都可以是相同的。
图3进一步示出了事件系统15检测触摸输入330。在该示例中,用户用手指在显示于触摸屏上的虚拟对象45之上触摸显示屏,并且将手指向右移动。通过此触摸输入330,用户意在识别虚拟对象45并且从用户的视点将虚拟对象45相对于桌子35向右移动。事件系统15可被配置为例如基于检测到对应于显示在触摸屏上的虚拟对象的位置的在该屏幕上的触摸位置而对识别虚拟对象的意图进行识别。事件系统15可被配置为基于触摸输入330例如通过检测特定触摸手势(例如基于单次触摸的拖曳移动)识别事件类型。类似地,事件系统15可被配置为识别预期移动手势的预期终止位置,例如,基于触摸手势的终止位置。
在检测到触摸输入330之后,事件系统15可改变CGR环境的视图,确定事件(即,移动事件340)或两者。例如,事件系统可提供CGR环境的经更新视图350,该经更新视图从用户的角度将虚拟对象45显示到其先前位置右侧的已改变位置上。又如,事件系统15提供移动期间的经更新视图序列,从而显示虚拟对象45从其初始位置(例如,如视图300中所示)移动到终止位置(例如,如视图350中所示)。
与手检测示例和语音命令示例的情况一样,对于触摸输入330而言,事件系统15可以创建移动的单个事件来标识虚拟对象45的终止位置,或者可以创建对应于移动的多个事件,从而例如标识虚拟对象45在移动期间的一个或多个中间位置。
类似地,与手检测示例和语音命令示例的情况一样,响应于触摸输入330创建的移动事件340可包括关于与输入模态无关的移动事件340的信息。例如,移动事件340可标识虚拟对象45、与虚拟对象45相关联的应用程序40a、虚拟对象45正被移动、虚拟对象45在移动中的一个或多个中间位置或者虚拟对象45在移动中的终止位置。移动事件340不必包括任何特定于输入模态的信息,因而移动事件340无论是基于手检测、语音命令检测、触摸输入检测还是使用任何其他类型的特定于输入模态的检测和解释技术或设备创建的,都可以是相同的。
图4是示出了根据一些具体实施的用于检测用户交互以创建动作事件并改变CGR环境的视图的图2的事件系统15的框图。在该示例中,设备10是一种由用户5佩戴的头戴式设备(HMD)。最初,用户5观察设备10的显示器中的视图400。CGR环境的视图400包括桌子35和虚拟对象45。在该示例中,用户打算选择虚拟对象45。图4示出了可被解释为实现该选择的三种不同用户交互。这三种不同用户交互中的每者涉及不同的输入模态,但被事件系统15解释为创建相同的事件。相应地,该事件与输入模态无关。可将该事件通知提供与事件相关联的虚拟对象(例如,虚拟对象45)的应用程序(例如,图2的应用程序40a)。因而,应用程序本身不必被配置为解释不同输入模态下的交互或以其他方式解释特定于输入模态的用户交互。
图4示出了事件系统15检测手势410。在该示例中,用户5伸出手来指向虚拟对象45,并且至少在预先确定的量的时间内使该手保持稳定。通过这一手势,用户意在识别并选择虚拟对象45。事件系统15可经由一个或多个传感器(例如,相机、IR传感器等)检测这一手势。事件系统15可被配置为例如使用相对于图3所论述的技术来对用户的手以及识别虚拟对象的意图进行识别。事件系统可被类似地配置为通过解释手势的特征来检测事件类型(例如,放置、动作、悬停等)。例如,事件系统15可确定:手在至少第一阈值量的时间内相对稳定是对象识别;当手至少在额外的阈值量的时间内继续保持相对稳定时,该手势则与动作类型事件相关联。与图3的示例类似,事件系统15进一步确定对于虚拟对象45而言某一事件类型(例如,放置、动作、悬停等)是否被允许,并且只有在虚拟对象45的元数据指示虚拟对象45可动作的情况下,才确定使动作事件440与虚拟对象45相关联。
在经由手检测410检测到手势之后,事件系统15可改变CGR环境的视图,确定事件(即,动作事件440)或两者。在该示例中,事件系统15并非一开始就改变视图400。相反,事件系统15通知应用程序40a,并从应用程序40a接收关于如何对动作事件440做出响应的信息。在该示例中,应用程序40a提供限定虚拟对象45的第二外观的额外信息,并且事件系统15提供具有更新外观(例如,显示花瓶内更大的花)的经更新视图450。
动作事件440可包括关于与输入模态无关的动作事件340的信息。例如,移动事件340可标识虚拟对象45、与虚拟对象45相关联的应用程序40a、该对象已接收到动作或动作类型。
图4进一步示出了事件系统15在框420中检测语音命令。在该示例中,用户口述“选择这个”。通过这一语音命令,用户意在识别并选择虚拟对象45。事件系统15可被配置为对识别虚拟对象的意图和事件类型进行识别,例如,使用相对于图3论述的技术(例如,通过解释短语和使用注视检测)。当在框420中检测到语音命令之后,事件系统15可改变CGR环境的视图,确定事件(即,动作事件440)或两者。在该示例中,事件系统15向应用程序40a通知动作事件440,接收来自应用程序40a的响应,并且基于响应提供经更新视图450(例如,显示花瓶内更大的花)。
图4进一步示出了事件系统15检测触摸输入430。在该示例中,用户5用手指在显示于触摸屏上的虚拟对象45之上触摸显示屏,并且按压(例如,用力按下)。事件系统15可被配置为例如基于例如触摸对识别虚拟对象的意图进行识别,并且基于检测到该触摸是用力按压而识别事件类型(例如,动作)。在检测到触摸输入430之后,事件系统15可改变CGR环境的视图,确定事件(即,动作事件440)或两者。在该示例中,事件系统15向应用程序40a通知动作事件440,接收来自应用程序40a的响应,并且基于响应提供经更新视图450(例如,显示花瓶内更大的花)。
图5是示出了根据一些具体实施的设备10的设备部件的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,设备10包括一个或多个处理单元502(例如,微处理器、ASIC、FPGA、GPU、CPU、处理内核等)、一个或多个输入/输出(I/O)设备和传感器506、一个或多个通信接口508(例如,USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、IR、BLUETOOTH、ZIGBEE、SPI、I2C或类似类型的接口)、一个或多个编程(例如,I/O)接口510、一个或多个显示器512、存储器520以及用于互连这些部件和各种其他部件的一条或多条通信总线504。
在一些具体实施中,一条或多条通信总线504包括互连和控制系统部件之间的通信的电路。在一些具体实施中,一个或多个I/O设备和传感器506包括触摸屏、软键、键盘、虚拟键盘、按钮、旋钮、操纵杆、开关、拨号盘、惯性测量单元(IMU)、加速度计、磁力仪、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测器、心率监测器、血氧传感器、血糖传感器等)、一个或多个图像传感器、一个或多个麦克风、一个或多个扬声器、触觉引擎或者一个或多个深度传感器(例如,结构化光、飞行时间等)等的至少其中之一。一个或多个图像传感器可以包括一个或多个RGB相机(例如,具有互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器)、单色相机、IR相机或者基于事件的相机等。在各种具体实施中,一个或多个图像传感器还包括发射光的照明源,诸如闪光灯。在一些具体实施中,由一个或多个I/O设备和传感器506检测到的数据向设备10提供用户交互数据。
在一些具体实施中,一个或多个显示器512被配置为呈现CGR环境的一个或多个视图。在一些具体实施中,一个或多个显示器512对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射器显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电系统(MEMS)或者类似显示器类型。在一些具体实施中,一个或多个显示器512对应于衍射、反射、偏振、全息等波导显示器。例如,设备10包括单个显示器。又如,设备10包括针对每只眼睛的显示器。在一些具体实施中,一个或多个显示器512能够呈现MR或VR内容。
存储器520包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些具体实施中,存储器520包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器520任选地包括远离一个或多个处理单元502定位的一个或多个存储设备。存储器520包括非暂态计算机可读存储介质。在一些具体实施中,存储器520或存储器520的非暂态计算机可读存储介质存储以下程序、模块和数据结构,或它们的子集,包括可选的操作系统模块530以及一个或多个应用程序(应用程序540a-n)。操作系统530包括用于处理各种基础系统服务和用于执行硬件相关的任务的过程。
在一些具体实施中,事件系统15被作为例如操作系统520的一部分包含在设备10上。事件系统15包括整合单元533,该整合单元用于使用来自多个来源的数据(例如,来自相机的真实世界数据以及来自一个或多个应用程序40a-n的虚拟对象)生成CGR环境和/或CGR环境的视图。事件系统15还包括用于解释经由麦克风或其他设备检测到的语音的语音解释单元534;用于解释由设备检测到的手指、手或身体手势的手解释单元535;用于解释触摸屏或类似设备上接收的触摸的触摸解释单元536;用于解释眼睛监测设备检测到的眼睛位置或注视的眼睛解释单元;以及用于解释经由诸如键盘的设备接收的文本的文本解释单元。这些单元534-538被配置为基于经由传感器数据接收的用户交互来识别事件。事件系统15还包括用于接收来自应用程序40a-n的信息(诸如虚拟对象信息)以及与应用程序40a-n交换有关用户交互(被单元534-535解释为事件)的信息的应用程序接口单元539。
图5更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图5中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。因而,单元533-539可共同地或者各个地实施在一个或多个系统、子系统、应用程序、文件、模块、例程、过程或其他计算机实施指令单元中。单元的实际数量和特定功能的划分以及如何在其中分配特征部将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定具体实施选择的硬件、软件或者固件的特定组合。
图6是示出了根据一些具体实施的示例性事件检测和通知方法600的框图。在一些具体实施中,方法600由设备(例如,图1至图5的设备10)执行。方法600可在移动设备、HMD、台式计算机、膝上型电脑或服务器设备上执行。在一些具体实施中,方法600由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法600由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。
在图6中,应用程序40a向事件系统15提供虚拟对象45,使得虚拟对象将被包含在所呈现的CGR环境的视图中。在框610处,方法600显示包括虚拟对象45的CGR环境的视图。在框615处,在事件系统15处接收用户交互(例如,关于用户交互的传感器数据)。例如,事件系统15可从图5的一个或多个I/O设备和一个或多个传感器506中的一者或多者接收数据。
在框620处,方法600检测到与CGR环境的用户交互615。例如,可持续监测语音数据,以识别语音数据内对应于指定与CGR环境的用户交互的命令的任何短语。又如,对相机数据进行分析,以识别手指、手或其他用户身体部位,并且识别这样的身体部位何时被以指示命令的方式定位或移动,命令是指定与CGR环境的用户交互的命令。相对于图3和图4论述过另外的示例。
在框630处,方法600解释用户交互615以识别事件和对象识别属性。例如,可对语音命令进行分析和解释,以识别出命令对应于移动事件。可以对语音命令进行额外分析,以识别出对象名称/类型(例如,“花瓶”)、CGR环境中的对象位置(例如,通过确定用户的手指向何处等)。
在框640处,方法600基于属性使事件与虚拟对象相关联,如果允许的话。例如,事件系统15可以确定用户正在指向特定方向,并且识别出接近用户所指方向的虚拟对象。之后,事件系统15识别出这些虚拟对象中要与事件相关联的一个虚拟对象,如果该虚拟对象被允许与该事件相关联的话。例如,如果虚拟对象是可移动的,那么事件系统15将仅使移动事件与该虚拟对象相关联。如果不是,那么事件系统将尝试识别另一可移动的对象。如果不能识别出任何可移动的对象,例如,在用户所指向的位置的阈值距离以内,那么事件系统15可提示用户提供更多输入或者简单地等待额外输入。在另选的具体实施中或者对于特定事件、事件类型或情况而言,事件系统转而检测事件并将关于事件的信息发送到一个或多个应用程序,并且每个应用程序确定是否允许或者是否能够以其他方式对事件做出响应。
在框650处,方法600将该事件通知应用程序。例如,事件系统15可以在将用户交互解释为移动事件之后改变视图,以移动虚拟对象,之后向提供了虚拟对象的应用程序通知虚拟对象已被移动或者对虚拟对象的移动已开始。在其他示例中,事件系统15将在不首先移动或以其他方式改变CGR环境的视图的情况下将事件通知应用程序。将事件通知应用程序可涉及将相同的事件数据集发送给应用程序,相同的事件数据集表示事件而不管与事件相关联的输入模态如何,例如,事件数据集对于不同输入模态而言是相同的。
图7是示出了根据一些具体实施的示例性移动事件检测和通知过程的框图。在一些具体实施中,方法700由设备(例如,图1至图5的设备10)执行。方法700可在移动设备、HMD、台式计算机、膝上型电脑或服务器设备上执行。在一些具体实施中,方法700由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法700由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。
在图7中,应用程序40a向事件系统15提供虚拟对象45连同UI能力(可移动),使得虚拟对象45将被包含在所呈现的CGR环境的视图中并且被作为可移动对象处理。在框710处,方法700显示包括虚拟对象45的CGR环境的视图。在框715处,在事件系统15处接收用户交互(例如,关于用户交互的传感器数据)。例如,事件系统15可从图5的一个或多个I/O设备和一个或多个传感器506中的一者或多者接收数据。在框720处,方法700检测到与CGR环境的用户交互715。
在框730处,方法700解释用户交互以识别虚拟对象以及虚拟对象的位置或朝向的变化。例如,关于虚拟对象,用户交互识别出一个位置,并且事件系统通过识别出该虚拟对象位于该位置上或附近而识别出该虚拟对象。例如,可对语音命令进行分析和解释,以识别出命令对应于在说出命令时用户正在注视的对象。对眼睛检测数据进行解释,以确定用户正在注视特定注视方向。该注视方向可用于确定CGR环境内的对象识别位置,例如,沿注视路径的所有位置。可以通过解释用户交互数据,类似地确定对应于所要移动的虚拟对象的中间位置或终止位置的新位置/朝向。例如,事件系统可根据注视方向识别新的位置或者可以基于所说出的词语(例如,“旋转”、“右转”、“翻转”等)识别新的朝向。
在框740处,方法700使事件与虚拟对象45相关联,如果允许的话。例如,事件系统15可以确定用户正在指向特定方向,识别对应于该方向的CGR环境内的位置,并且识别出接近用户所指方向的任何虚拟对象。可为更靠近用户的对象赋予优先权。事件系统15识别出这些虚拟对象中要与移动事件相关联的一个虚拟对象,如果该虚拟对象被允许与该移动事件相关联的话。
在框750处,方法700基于虚拟对象移动事件来更新CGR环境的视图。例如,如果移动事件指定将虚拟对象45从位置x1,y1,z1移动到位置x2,y2,z2,那么事件系统将对象移动到虚拟环境中的位置x2,y2,z2并创建经更新的CGR环境的新视图。在框760处,方法700将移动事件通知应用程序。例如,事件系统15可向提供了虚拟对象45的应用程序40a通知虚拟对象45已被移动或者虚拟对象45的移动已开始。
图8是示出了根据一些具体实施的示例性动作事件检测和响应过程的框图。在一些具体实施中,方法800由设备(例如,图1至图5的设备10)执行。方法800可在移动设备、HMD、台式计算机、膝上型电脑或服务器设备上执行。在一些具体实施中,方法800由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法800由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。
在图8中,应用程序40a向事件系统15提供虚拟对象45连同UI能力(可动作),使得虚拟对象将被包含在所呈现的CGR环境的视图中并且被作为可动作对象处理。在框810处,方法800显示包括虚拟对象45的CGR环境的视图。在框815处,在事件系统15处接收用户交互(例如,关于用户交互的传感器数据)。例如,事件系统15可从图5的一个或多个I/O设备和一个或多个传感器506中的一者或多者接收数据。在框820处,方法800检测到与CGR环境的用户交互815。
在框830处,方法800解释用户交互815以识别对象识别位置和动作。在一些具体实施中,通过解释用户交互数据确定对应于动作的用户交互。例如,数据可包括特定关键字,诸如“选择”、“打开”、“查看”、“放大”等,或者可包括特定的手势、眼睛注视、触摸命令或它们的组合。
在框840处,方法800基于对象识别信息使事件与虚拟对象45相关联,如果允许的话。因而,事件系统15基于对象识别信息识别出要与动作事件相关联的虚拟对象45,只要虚拟对象45被允许与动作事件相关联即可。
在框850处,方法800将动作事件通知应用程序。例如,事件系统15可向提供了虚拟对象45的应用程序40a通知虚拟对象45已被施以动作。在框860处,方法800基于应用程序对动作事件的通知而做出的响应来更新CGR环境的视图。例如,应用程序的响应可以为:应在虚拟对象45周围显示五个额外的虚拟对象,并为将在CGR环境的经更新视图中显示的这些虚拟对象提供外观和UI能力。应用程序40a可以进一步指定这些虚拟对象相对于虚拟对象45的、相对于彼此的或者相对于CGR环境的位置。
除了可移动和可动作之外,其他示例性UI能力包括但不限于可悬停、可变形、物理性、可附着以及可触及。可悬停UI能力涉及由对象的接近或使用所触发的事件。例如,当用户通过(例如)将手伸到接近虚拟对象但不接触虚拟对象的位置而接近CGR环境中的虚拟对象时,可以检测到悬停事件,悬停事件用于触发变化,例如虚拟对象的加亮等。可悬停还可以用来指示哪些附近的虚拟对象是可动作的。例如,存在显示的文本字段,并且当用户看向或者触及该字段但用户尚未提供填充该字段的输入(例如,语音)时,将触发悬停状态。
可变形UI能力可涉及虚拟对象的缩放,例如,当用户交互改变虚拟对象的比例时该能力被触发。
物理性UI能力可涉及其他对象是否能够与虚拟对象进行交互/碰撞。
可附着UI能力可使得虚拟对象能够附着至真实世界对象或其他虚拟对象。因而,这样的对象可接收附着类型事件。
可触及UI能力可实现与虚拟对象的额外交互,以使得虚拟对象更可被盲人和残障用户触及。
图9是示出了根据一些具体实施的示例性多设备事件检测和通知过程的框图。在一些具体实施中,方法900由与第二设备(例如,图9中的设备905)交互的设备(例如,图1至图5的设备10)执行。方法900可经由一个或多个移动设备、HMD、台式计算机、膝上型电脑或服务器设备来执行。在一些具体实施中,方法900由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法900由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。
在图9中,应用程序40a向事件系统15提供虚拟对象45,使得虚拟对象将被包含在所呈现的CGR环境的视图中。在框910处,方法900显示包括虚拟对象45的CGR环境的视图。在该示例中,设备10提供包括虚拟对象的共享虚拟空间。共享虚拟空间可包括由一个或多个应用程序提供的虚拟对象,并且可与一个或多个其他设备(诸如第二设备905)共享。处于共享虚拟空间中的虚拟对象可由任一设备(例如,由设备10或者第二设备905)提供。
在框915处,第二设备905提供在设备10的事件系统15处接收的用户交互915(例如,有关用户交互的传感器数据)。例如,事件系统15可接收源自于第二设备905的一个或多个I/O设备和一个或多个传感器中的一者或多者的数据,第二设备905可被不同于操作设备10的用户5的用户操作。
在框920处,方法900检测与CGR环境的用户交互915,例如,通过使用本文所公开的一种或多种技术解释数据来进行检测。在框930处,方法900解释用户交互并使事件与虚拟对象相关联(如果允许的话)。解释和关联可涉及本文所公开的技术,同时还考虑到用户交互的不同来源。因而,将鉴于第二设备905的用户交互的特征来检测和解释来自第二设备的用户交互,例如,特征为第二设备905所使用的视图中的第二用户位置(例如,相继姿态)、与虚拟对象的第二用户设备的距离等。例如,事件系统15确定第二用户已经提供了移动虚拟棋子的输入。事件系统通过确定虚拟对象45是设备10上的应用程序40a的可移动虚拟对象来确定该操作是被允许的。
在框940处,方法900基于事件来更新共享虚拟空间。该操作可以发生在将移动事件通知应用程序40a之前。该操作将产生经更新的共享虚拟空间925,其将被包含到在设备10或第二设备900上提供的任何经更新视图中。在框950处,事件系统15将移动事件通知应用程序40a,并且应用程序40a可基于其自身的指令确定是否做出响应。例如,应用程序40a确定通过改变或者以其他方式更新其向共享虚拟空间提供的一个或多个虚拟对象来做出响应。
本文公开的事件检测方法和系统提供了很多优点。事件系统15可将来自各种各样的输入模态的用户交互数据抽象成更容易被应用程序使用的更高级的输入模态无关事件(例如,移动事件、动作事件、悬停事件等)。提供由此类系统使用的虚拟对象的一个或多个应用程序不需要包括特定于输入模态的指令。例如,应用程序不必包括命中检测、手移动解释、语音解释特征、触摸解释特征、手势冲突解决方案、将来自多个应用程序(有可能来自多个设备)的内容混合到共享虚拟空间内的解决方案。相反,应用程序可以简单地包含使用所接收到的输入模态无关事件的指令。应用程序不必进行更新以适应引起事件的新的和变化的输入模态。另外,系统可被配置为自己使用事件来改变虚拟对象,例如,在无需等待与应用程序之间的往返消息传送的情况下,响应于检测到用户交互而将虚拟对象移动到新的位置/朝向。这样做可以提供对用户交互的经改进的、更真实的响应,尤其是在CGR环境(例如,VR和MR)的背景下,在CGR环境中,解释用户交互可能更加复杂,而且对此类用户交互的快速响应对于真实体验可能更关键。
事件系统15还可通过避免将用户交互数据发送至多个应用程序来提供效率和准确性。如果有三个应用程序打开并且在来自一个或多个设备的共享虚拟空间中提供虚拟对象,并且用户说“向左移动这个”,那么该命令可被事件系统解释一次,而不是由多个应用程序和设备单独解释。此外,这样做避免了多个应用程序或设备主张用户交互的可能性。
本文阐述了许多具体细节以提供对要求保护的主题的全面理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、设备或系统,以便不使要求保护的主题晦涩难懂。
除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“识别”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。
本文论述的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机系统,其访问存储的软件,该软件将计算系统从通用计算设备编程或配置为实现本公开主题的一种或多种具体实施的专用计算设备。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。
本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合或者分成子框。某些框或过程可以并行执行。
本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。
还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元件与另一元件区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。
本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件或其分组。
如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。
本发明的前述描述和概述应被理解为在每个方面都是例示性和示例性的,而非限制性的,并且本文所公开的本发明的范围不仅由例示性具体实施的详细描述来确定,而是根据专利法允许的全部广度。应当理解,本文所示和所述的具体实施仅是对本发明原理的说明,并且本领域的技术人员可以在不脱离本发明的范围和实质的情况下实现各种修改。

Claims (20)

1.一种方法,包括:
在具有处理器、计算机可读存储介质和显示器的设备上的事件系统处:
在所述显示器上显示计算机生成现实CGR环境的视图,所述CGR环境包括虚拟对象,其中应用程序定义所述虚拟对象的外观或功能并且向所述事件系统标识所述虚拟对象的用户界面UI能力;
检测与所述CGR环境的用户交互;
解释所述用户交互以识别事件以及所述用户交互的对象识别属性;
基于使用所述对象识别属性识别出所述虚拟对象并且基于所述虚拟对象的所述UI能力把所述事件与所述虚拟对象相关联;以及
将所述事件通知所述应用程序。
2.根据权利要求1所述的方法,还包括基于所述虚拟对象的所述UI能力来确定对于所述虚拟对象允许所述事件。
3.根据权利要求1所述的方法,其中解释所述用户交互以识别所述事件包括确定所述用户交互是否处于与所述事件相关联的多个用户交互当中,其中所述多个用户交互具有不同输入模态。
4.根据权利要求3所述的方法,其中所述不同输入模态包括手势输入、眼睛移动输入或语音输入。
5.根据权利要求1所述的方法,其中将所述事件通知所述应用程序包括将事件数据集发送至所述应用程序,其中对于不同输入模态所述事件数据集是相同的。
6.根据权利要求1所述的方法,其中所述UI能力标识所述虚拟对象在所述CGR环境中是可移动的,其中所述事件表示所述虚拟对象在所述CGR环境内的移动。
7.根据权利要求6所述的方法,其中解释所述用户交互包括:
识别所述用户交互指定的位置以及识别所述位置处的所述虚拟对象;或者
基于所述用户交互来识别所述CGR环境中的所述虚拟对象的位置或朝向的变化,其中所述事件系统基于所识别的变化重新设定所述CGR环境中的所述虚拟对象的位置或朝向。
8.根据权利要求1所述的方法,其中所述UI能力标识所述虚拟对象是可动作的,其中所述事件是针对所述虚拟对象的动作。
9.根据权利要求8所述的方法,其中针对所述虚拟对象的所述动作包括基于手势输入数据、眼睛移动检测数据、语音命令或触摸屏输入的选择。
10.根据权利要求1所述的方法,其中将所述事件通知所述应用程序包括将所述动作通知所述应用程序,其中所述应用程序提供对所述动作的响应。
11.根据权利要求1所述的方法,其中所述CGR环境包括从多个应用程序提供的虚拟对象,其中所述多个应用程序彼此独立地执行。
12.根据权利要求1所述的方法,其中所述CGR环境包括由多个设备共享的共享虚拟空间。
13.根据权利要求12所述的方法,其中所述应用程序在第一设备上,并且所述用户交互是在与第一设备分离的第二设备上接收的。
14.一种系统,包括:
非暂态计算机可读存储介质;以及
一个或多个处理器,所述一个或多个处理器耦接至所述非暂态计算机可读存储介质,其中所述非暂态计算机可读存储介质包括程序指令,所述程序指令在所述一个或多个处理器上执行时使所述系统执行包括以下的操作:
在所述显示器上显示计算机生成现实CGR环境的视图,所述CGR环境包括虚拟对象,其中应用程序定义所述虚拟对象的外观或功能并且向所述系统标识所述虚拟对象的用户界面UI能力;
检测与所述CGR环境的用户交互;
解释所述用户交互以识别事件以及所述用户交互的对象识别属性;
基于使用所述对象识别属性识别出所述虚拟对象并且基于所述虚拟对象的所述UI能力把所述事件与所述虚拟对象相关联;以及
将所述事件通知所述应用程序。
15.根据权利要求14所述的系统,其中所述操作还包括基于所述虚拟对象的所述UI能力来确定对于所述虚拟对象允许所述事件。
16.根据权利要求14所述的系统,其中解释所述用户交互以识别所述事件包括确定所述用户交互是否处于与所述事件相关联的多个用户交互当中,其中所述多个用户交互具有不同输入模态。
17.根据权利要求14所述的系统,其中将所述事件通知所述应用程序包括将事件数据集发送至所述应用程序,其中对于不同输入模态所述事件数据集是相同的。
18.根据权利要求14所述的系统,其中所述UI能力标识所述虚拟对象在所述CGR环境中是可移动的,其中所述事件表示所述虚拟对象在所述CGR环境内的移动,其中解释所述用户交互包括:
识别所述用户交互指定的位置以及识别所述位置处的所述虚拟对象;或者
基于所述用户交互来识别所述CGR环境中的所述虚拟对象的位置或朝向的变化,其中所述系统被配置为基于所识别的变化重新设定所述CGR环境中的所述虚拟对象的位置或朝向。
19.根据权利要求14所述的系统,其中所述UI能力标识所述虚拟对象是可动作的,其中所述事件是针对所述虚拟对象的动作。
20.一种非暂态计算机可读存储介质,存储能在计算机上运行以执行操作的程序指令,所述操作包括:
在所述显示器上显示计算机生成现实CGR环境的视图,所述CGR环境包括虚拟对象,其中应用程序定义所述虚拟对象的外观或功能并且向所述系统标识所述虚拟对象的用户界面UI能力;
检测与所述CGR环境的用户交互;
解释所述用户交互以识别事件以及所述用户交互的对象识别属性;
基于使用所述对象识别属性识别出所述虚拟对象并且基于所述虚拟对象的UI能力把所述事件与所述虚拟对象相关联;以及
将所述事件通知所述应用程序。
CN201910539613.5A 2018-06-22 2019-06-21 用户交互解释器 Active CN110633008B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862688510P 2018-06-22 2018-06-22
US62/688,510 2018-06-22

Publications (2)

Publication Number Publication Date
CN110633008A true CN110633008A (zh) 2019-12-31
CN110633008B CN110633008B (zh) 2022-08-19

Family

ID=68968427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910539613.5A Active CN110633008B (zh) 2018-06-22 2019-06-21 用户交互解释器

Country Status (2)

Country Link
US (2) US11733824B2 (zh)
CN (1) CN110633008B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113144592A (zh) * 2021-03-03 2021-07-23 南京爱奇艺智能科技有限公司 Vr设备与移动设备的交互方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11741951B2 (en) * 2019-02-22 2023-08-29 Lenovo (Singapore) Pte. Ltd. Context enabled voice commands
US11017231B2 (en) * 2019-07-10 2021-05-25 Microsoft Technology Licensing, Llc Semantically tagged virtual and physical objects
US11727675B2 (en) * 2019-09-09 2023-08-15 Apple Inc. Object detection with instance detection and general scene understanding
CN116113912A (zh) * 2020-06-22 2023-05-12 苹果公司 3d图形环境中的事件路由
CN117255988A (zh) * 2021-03-01 2023-12-19 苹果公司 基于指称表达的虚拟对象放置
US20230081605A1 (en) * 2021-09-16 2023-03-16 Apple Inc. Digital assistant for moving and copying graphical elements

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130342571A1 (en) * 2012-06-25 2013-12-26 Peter Tobias Kinnebrew Mixed reality system learned input and functions
CN105190485A (zh) * 2013-04-29 2015-12-23 微软技术许可有限责任公司 混合现实交互
US20160026253A1 (en) * 2014-03-11 2016-01-28 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US20170068323A1 (en) * 2015-09-08 2017-03-09 Timoni West System and method for providing user interface tools
CN107219916A (zh) * 2016-03-21 2017-09-29 埃森哲环球解决方案有限公司 基于多平台的体验生成
WO2017172982A1 (en) * 2016-03-31 2017-10-05 Magic Leap, Inc. Interactions with 3d virtual objects using poses and multiple-dof controllers
CN107533373A (zh) * 2015-08-04 2018-01-02 谷歌有限责任公司 虚拟现实中经由手与对象的场境敏感碰撞的输入
US20180046245A1 (en) * 2016-08-11 2018-02-15 Microsoft Technology Licensing, Llc Mediation of interaction methodologies in immersive environments
DE202017105307U1 (de) * 2016-11-30 2018-03-26 Google LLC (n.d.Ges.d. Staates Delaware) Umschalten aktiver Objekte in einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682506A (en) * 1994-09-12 1997-10-28 General Electric Company Method and system for group visualization of virtual objects
US20070291035A1 (en) * 2004-11-30 2007-12-20 Vesely Michael A Horizontal Perspective Representation
EP1966767A2 (en) * 2005-12-31 2008-09-10 BRACCO IMAGING S.p.A. Systems and methods for collaborative interactive visualization of 3d data sets over a network ("dextronet")
US8730156B2 (en) * 2010-03-05 2014-05-20 Sony Computer Entertainment America Llc Maintaining multiple views on a shared stable virtual space
JP4829141B2 (ja) * 2007-02-09 2011-12-07 株式会社東芝 視線検出装置及びその方法
ES2482997T3 (es) * 2008-11-10 2014-08-05 Metaio Gmbh Método y sistema para analizar una imagen generada mediante al menos una cámara
US20100306670A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Gesture-based document sharing manipulation
US9086727B2 (en) * 2010-06-22 2015-07-21 Microsoft Technology Licensing, Llc Free space directional force feedback apparatus
US20120005624A1 (en) * 2010-07-02 2012-01-05 Vesely Michael A User Interface Elements for Use within a Three Dimensional Scene
US8884984B2 (en) * 2010-10-15 2014-11-11 Microsoft Corporation Fusing virtual content into real content
US9595127B2 (en) * 2010-12-22 2017-03-14 Zspace, Inc. Three-dimensional collaboration
US20120162384A1 (en) * 2010-12-22 2012-06-28 Vesely Michael A Three-Dimensional Collaboration
US20120264510A1 (en) * 2011-04-12 2012-10-18 Microsoft Corporation Integrated virtual environment
US9268406B2 (en) * 2011-09-30 2016-02-23 Microsoft Technology Licensing, Llc Virtual spectator experience with a personal audio/visual apparatus
TWI482108B (zh) * 2011-12-29 2015-04-21 Univ Nat Taiwan To bring virtual social networks into real-life social systems and methods
US9734633B2 (en) * 2012-01-27 2017-08-15 Microsoft Technology Licensing, Llc Virtual environment generating system
US9041739B2 (en) * 2012-01-31 2015-05-26 Microsoft Technology Licensing, Llc Matching physical locations for shared virtual experience
US20130307855A1 (en) * 2012-05-16 2013-11-21 Mathew J. Lamb Holographic story telling
US9317971B2 (en) * 2012-06-29 2016-04-19 Microsoft Technology Licensing, Llc Mechanism to give holographic objects saliency in multiple spaces
US11397462B2 (en) * 2012-09-28 2022-07-26 Sri International Real-time human-machine collaboration using big data driven augmented reality technologies
JP6281495B2 (ja) * 2013-02-01 2018-02-21 ソニー株式会社 情報処理装置、端末装置、情報処理方法及びプログラム
EP2793127B1 (en) * 2013-04-19 2021-11-17 Huawei Technologies Co., Ltd. Method for displaying a 3D scene graph on a screen
US10146299B2 (en) 2013-11-08 2018-12-04 Qualcomm Technologies, Inc. Face tracking for additional modalities in spatial interaction
KR102355118B1 (ko) * 2014-01-06 2022-01-26 삼성전자주식회사 전자 장치 및 가상 현실 모드에서의 이벤트 표시 방법
KR102219464B1 (ko) * 2014-05-23 2021-02-25 삼성전자주식회사 보안 운용 방법 및 이를 지원하는 전자 장치
US10108256B2 (en) * 2014-10-30 2018-10-23 Mediatek Inc. Systems and methods for processing incoming events while performing a virtual reality session
US9916002B2 (en) * 2014-11-16 2018-03-13 Eonite Perception Inc. Social applications for augmented reality technologies
US9767613B1 (en) 2015-01-23 2017-09-19 Leap Motion, Inc. Systems and method of interacting with a virtual object
CN113192374B (zh) * 2015-03-06 2023-09-01 伊利诺斯工具制品有限公司 用于焊接的传感器辅助头戴式显示器
KR20160128119A (ko) * 2015-04-28 2016-11-07 엘지전자 주식회사 이동 단말기 및 이의 제어방법
US9898869B2 (en) * 2015-09-09 2018-02-20 Microsoft Technology Licensing, Llc Tactile interaction in virtual environments
EP3365724B1 (en) * 2015-10-20 2021-05-05 Magic Leap, Inc. Selecting virtual objects in a three-dimensional space
US10317989B2 (en) * 2016-03-13 2019-06-11 Logitech Europe S.A. Transition between virtual and augmented reality
US10568502B2 (en) * 2016-03-23 2020-02-25 The Chinese University Of Hong Kong Visual disability detection system using virtual reality
US10019131B2 (en) * 2016-05-10 2018-07-10 Google Llc Two-handed object manipulations in virtual reality
WO2017201162A1 (en) * 2016-05-17 2017-11-23 Google Llc Virtual/augmented reality input device
US20180061269A1 (en) * 2016-09-01 2018-03-01 Honeywell International Inc. Control and safety system maintenance training simulator
US20180082482A1 (en) * 2016-09-22 2018-03-22 Apple Inc. Display system having world and user sensors
WO2018132622A1 (en) * 2017-01-11 2018-07-19 Taqtile Managing virtual reality objects
US10643151B1 (en) * 2017-01-26 2020-05-05 Universal Devices, Inc Meta-model object communication and node definition system and processes for provisioning objects defined in a neutral definition language of a node meta-model
US10969874B2 (en) * 2017-03-21 2021-04-06 Pcms Holdings, Inc. Method and system for the detection and augmentation of tactile interactions in augmented reality
AU2018256365A1 (en) * 2017-04-19 2019-10-31 Magic Leap, Inc. Multimodal task execution and text editing for a wearable system
WO2018209043A1 (en) * 2017-05-10 2018-11-15 Microsoft Technology Licensing, Llc Presenting applications within virtual environments
US10627635B2 (en) * 2017-08-02 2020-04-21 Microsoft Technology Licensing, Llc Transitioning into a VR environment and warning HMD users of real-world physical obstacles
US20190188918A1 (en) * 2017-12-14 2019-06-20 Tsunami VR, Inc. Systems and methods for user selection of virtual content for presentation to another user
EP3540570A1 (en) * 2018-03-13 2019-09-18 Thomson Licensing Method for generating an augmented representation of a real environment, corresponding device, computer program product, and computer-readable carrier medium
US11087136B2 (en) * 2018-04-13 2021-08-10 Apple Inc. Scene classification
US10950031B2 (en) * 2018-05-14 2021-03-16 Apple Inc. Techniques for locating virtual objects relative to real physical objects
CN110488489B (zh) * 2018-05-15 2022-10-11 苹果公司 用于头戴式壳体的眼睛登记
US11875012B2 (en) * 2018-05-25 2024-01-16 Ultrahaptics IP Two Limited Throwable interface for augmented reality and virtual reality environments
US11500452B2 (en) * 2018-06-05 2022-11-15 Apple Inc. Displaying physical input devices as virtual objects
US11049322B2 (en) * 2018-06-18 2021-06-29 Ptc Inc. Transferring graphic objects between non-augmented reality and augmented reality media domains
CN110634189B (zh) * 2018-06-25 2023-11-07 苹果公司 用于在沉浸式混合现实体验期间用户警报的系统和方法
US10909772B2 (en) * 2018-07-31 2021-02-02 Splunk Inc. Precise scaling of virtual objects in an extended reality environment
US11297165B2 (en) * 2018-08-27 2022-04-05 Tactile, Inc. Internet of things designer for an authoring tool in virtual and augmented reality environments

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130342571A1 (en) * 2012-06-25 2013-12-26 Peter Tobias Kinnebrew Mixed reality system learned input and functions
CN105190485A (zh) * 2013-04-29 2015-12-23 微软技术许可有限责任公司 混合现实交互
US20160026253A1 (en) * 2014-03-11 2016-01-28 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
CN107533373A (zh) * 2015-08-04 2018-01-02 谷歌有限责任公司 虚拟现实中经由手与对象的场境敏感碰撞的输入
US20170068323A1 (en) * 2015-09-08 2017-03-09 Timoni West System and method for providing user interface tools
CN107219916A (zh) * 2016-03-21 2017-09-29 埃森哲环球解决方案有限公司 基于多平台的体验生成
WO2017172982A1 (en) * 2016-03-31 2017-10-05 Magic Leap, Inc. Interactions with 3d virtual objects using poses and multiple-dof controllers
US20180046245A1 (en) * 2016-08-11 2018-02-15 Microsoft Technology Licensing, Llc Mediation of interaction methodologies in immersive environments
DE202017105307U1 (de) * 2016-11-30 2018-03-26 Google LLC (n.d.Ges.d. Staates Delaware) Umschalten aktiver Objekte in einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113144592A (zh) * 2021-03-03 2021-07-23 南京爱奇艺智能科技有限公司 Vr设备与移动设备的交互方法

Also Published As

Publication number Publication date
CN110633008B (zh) 2022-08-19
US20190391726A1 (en) 2019-12-26
US20230350538A1 (en) 2023-11-02
US11733824B2 (en) 2023-08-22

Similar Documents

Publication Publication Date Title
CN110633008B (zh) 用户交互解释器
US20220121344A1 (en) Methods for interacting with virtual controls and/or an affordance for moving virtual objects in virtual environments
US20220084279A1 (en) Methods for manipulating objects in an environment
US11853527B2 (en) Devices, methods, and graphical user interfaces for providing computer-generated experiences
US11520456B2 (en) Methods for adjusting and/or controlling immersion associated with user interfaces
CN110968187B (zh) 由外围设备启用的远程触摸检测
US11379033B2 (en) Augmented devices
US20220317776A1 (en) Methods for manipulating objects in an environment
US11803233B2 (en) IMU for touch detection
US11699412B2 (en) Application programming interface for setting the prominence of user interface elements
US11430198B1 (en) Method and device for orientation-based view switching
US11961195B2 (en) Method and device for sketch-based placement of virtual objects
US10970922B2 (en) Generating a 3D model of a fingertip for visual touch detection
US20230100689A1 (en) Methods for interacting with an electronic device
US11954316B2 (en) Method and device for assigning an operation set
WO2020226956A1 (en) Device, method, and graphical user interface for generating cgr objects
US11641460B1 (en) Generating a volumetric representation of a capture region
US11442549B1 (en) Placement of 3D effects based on 2D paintings
US11087528B1 (en) 3D object generation
US20230095282A1 (en) Method And Device For Faciliating Interactions With A Peripheral Device
WO2022103741A1 (en) Method and device for processing user input for multiple devices
CN114923418A (zh) 基于点选择的测量
CN116670627A (zh) 对环境中的用户界面进行分组的方法

Legal Events

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