CN117716327A - 用于管理用户界面与物理对象的交互的方法和设备 - Google Patents
用于管理用户界面与物理对象的交互的方法和设备 Download PDFInfo
- Publication number
- CN117716327A CN117716327A CN202280052799.1A CN202280052799A CN117716327A CN 117716327 A CN117716327 A CN 117716327A CN 202280052799 A CN202280052799 A CN 202280052799A CN 117716327 A CN117716327 A CN 117716327A
- Authority
- CN
- China
- Prior art keywords
- input
- physical object
- environment
- implementations
- content
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 156
- 230000003993 interaction Effects 0.000 title description 14
- 230000033001 locomotion Effects 0.000 claims abstract description 125
- 230000004044 response Effects 0.000 claims abstract description 113
- 239000003550 marker Substances 0.000 claims description 184
- 230000008859 change Effects 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 12
- 210000000887 face Anatomy 0.000 claims description 7
- 230000000007 visual effect Effects 0.000 claims description 7
- 230000003190 augmentative effect Effects 0.000 claims description 4
- 239000013598 vector Substances 0.000 description 59
- 238000005259 measurement Methods 0.000 description 48
- 238000004891 communication Methods 0.000 description 38
- 230000001133 acceleration Effects 0.000 description 36
- 210000003414 extremity Anatomy 0.000 description 31
- 238000012545 processing Methods 0.000 description 31
- 238000006073 displacement reaction Methods 0.000 description 29
- 238000013519 translation Methods 0.000 description 27
- 210000003128 head Anatomy 0.000 description 26
- 238000001514 detection method Methods 0.000 description 25
- 238000012512 characterization method Methods 0.000 description 20
- 210000003811 finger Anatomy 0.000 description 18
- 230000003287 optical effect Effects 0.000 description 18
- 230000004913 activation Effects 0.000 description 17
- 239000000758 substrate Substances 0.000 description 17
- 238000003860 storage Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000002441 reversible effect Effects 0.000 description 11
- 230000000670 limiting effect Effects 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 241001422033 Thestylus Species 0.000 description 9
- 230000007423 decrease Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000009877 rendering Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 210000004247 hand Anatomy 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001953 sensory effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 210000001525 retina Anatomy 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 241000870659 Crassula perfoliata var. minor Species 0.000 description 1
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000002772 conduction electron Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 229920001746 electroactive polymer Polymers 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000001339 gustatory effect Effects 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000005293 physical law Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000004270 retinal projection Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/04815—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
该方法包括:在XR环境内显示与第一多个输出模态相关联的第一图形元素;在显示第一图形元素时,检测物理对象的移动;并且响应于检测到物理对象的移动:根据确定物理对象的移动导致物理对象相对于第一多个图形元素中的第一图形元素突破距离阈值,选择与第一图形元素相关联的第一输出模态作为物理对象的当前输出模态;并且根据确定物理对象的移动导致物理对象相对于第一多个图形元素中的第二图形元素突破距离阈值,选择与第二图形元素相关联的第二输出模态作为物理对象的当前输出模态。
Description
技术领域
本公开整体涉及与用户界面交互和操纵用户界面,并且具体地涉及用于管理用户界面与物理对象的交互的系统、方法和方法。
背景技术
通常,用户可以通过各种输入模态诸如触摸输入、语音、输入、触控笔/外围输入等与用户界面交互。然而,不管输入模态如何,用于在用户界面内执行操作的工作流可以保持相同。这忽略了用于基于输入模态等来加速用户体验的机会。
附图说明
因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。
图1是根据一些具体实施的示例性操作架构的框图。
图2是根据一些具体实施的示例性控制器的框图。
图3是根据一些具体实施的示例性电子设备的框图。
图4是根据一些具体实施的示例性控制设备的框图。
图5A是根据一些具体实施的示例性内容递送架构的第一部分的框图。
图5B示出了根据一些具体实施的示例性数据结构。
图5C是根据一些具体实施的示例性内容递送架构的第二部分的框图。
图6A至图6P示出了根据一些具体实施的第一内容递送场景的实例的序列。
图7A至图7N示出了根据一些具体实施的第二内容递送场景的实例的序列。
图8A至图8M示出了根据一些具体实施的第三内容递送场景的实例的序列。
图9A至图9C示出了根据一些具体实施的在与XR环境交互或操纵XR环境时为物理对象选择输出模态的方法的流程图表示。
图10A和图10B示出了根据一些具体实施的在直接在物理表面上进行标记时基于第一输入(压力)值或在间接进行标记时基于第二输入(压力)值来改变标记的参数的方法的流程图表示。
图11A至图11C示出了根据一些具体实施的基于用户当前是否正抓握物理对象来改变选择模态的方法的流程图表示。
根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的系统、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。
发明内容
本文所公开的各种具体实施包括用于在与XR环境交互或操纵XR环境时为物理对象选择输出模态的设备、系统和方法。根据一些具体实施,该方法在包括非暂态存储器和一个或多个处理器的计算系统处执行,其中该计算系统通信地耦接到显示设备和一个或多个输入设备。该方法包括:经由显示设备在扩展现实(XR)环境内显示与第一多个输出模态相关联的第一多个图形元素;在显示第一多个图形元素时,检测物理对象的第一移动;并且响应于检测到物理对象的第一移动:根据确定物理对象的第一移动导致物理对象相对于第一多个图形元素中的第一图形元素突破距离阈值,选择与第一图形元素相关联的第一输出模态作为物理对象的当前输出模态;并且根据确定物理对象的第一移动导致物理对象相对于第一多个图形元素中的第二图形元素突破距离阈值,选择与第二图形元素相关联的第二输出模态作为物理对象的当前输出模态。
本文所公开的各种具体实施包括用于在直接在物理表面上进行标记时基于第一输入(压力)值或者在间接进行标记时基于第二输入(压力)值来改变标记的参数的设备、系统和方法。根据一些具体实施,该方法在包括非暂态存储器和一个或多个处理器的计算系统处执行,其中该计算系统通信地耦接到显示设备和一个或多个输入设备。该方法包括:经由显示设备显示用户界面;在显示用户界面时,检测物理对象的标记输入;并且响应于检测到标记输入:根据确定标记输入指向物理表面,基于标记输入经由显示设备在用户界面内显示标记,其中基于物理对象正被压贴在物理表面上的力度来确定基于标记输入显示的标记的参数;并且根据确定标记输入未指向物理表面,基于标记输入经由显示设备在用户界面内显示标记,其中基于物理对象正被用户抓握的力度来确定基于标记输入显示的标记的参数。
本文所公开的各种具体实施包括用于基于用户当前是否正在抓握物理对象来改变选择模态的设备、系统和方法。根据一些具体实施,该方法在包括非暂态存储器和一个或多个处理器的计算系统处执行,其中该计算系统通信地耦接到显示设备和一个或多个输入设备。该方法包括:经由该显示设备显示内容;在显示内容时,并且在物理对象正被用户握持时,检测选择输入;并且响应于检测到选择输入,执行对应于选择输入的操作,包括:根据确定与物理对象正被用户握持的方式相关联的抓持姿态对应于第一抓持,对内容的第一部分执行选择操作,其中基于物理对象的预先确定的部分所指向的方向来选择内容的第一部分;并且根据确定与物理对象正被用户握持的方式相关联的抓持姿态不对应于第一抓持,对内容的不同于内容的第一部分的第二部分执行选择操作,其中基于用户的注视方向来选择内容的第二部分。
根据一些具体实施,一种电子设备包括一个或多个显示器、一个或多个处理器、非暂态存储器和一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使得执行本文所述的方法中的任一种方法的指令。根据一些具体实施,一种非暂态计算机可读存储介质中存储有指令,这些指令在由设备的一个或多个处理器执行时使该设备执行或使执行本文所述方法中的任一种。根据一些具体实施,一种设备包括:一个或多个显示器、一个或多个处理器、非暂态存储器以及用于执行或使得执行本文所述的方法中的任一种方法的装置。
根据一些具体实施,一种计算系统包括一个或多个处理器、非暂态存储器、用于与显示设备和一个或多个输入设备进行通信的接口、以及一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使得执行本文所述的方法中的任一种方法的操作的指令。根据一些实施方案,一种非暂态计算机可读存储介质具有存储在其中的指令,这些指令当由具有与显示设备和一个或多个输入设备通信的接口的计算系统的一个或多个处理器执行时,使得该计算系统执行或使得执行本文所述的方法中的任一种方法的操作。根据一些具体实施,一种计算系统包括一个或多个处理器、非暂态存储器、用于与显示设备和一个或多个输入设备通信的接口、以及用于执行或使得执行本文所述的方法中的任一种方法的操作的装置。
具体实施方式
描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将理解,其他有效方面和/或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。
物理环境是指人们在没有电子设备帮助的情况下能够对其感测和/或与其交互的物理世界。物理环境可包括物理特征,诸如物理表面或物理对象。例如,物理环境对应于包括物理树木、物理建筑物和物理人的物理公园。人们能够诸如通过视觉、触觉、听觉、味觉和嗅觉来直接感测物理环境以及/或者与物理环境进行交互。相反,扩展现实(XR)环境是指人们经由电子设备感测和/或交互的完全或部分模拟的环境。例如,XR环境可包括增强现实(AR)内容、混合现实(MR)内容、虚拟现实(VR)内容等。在XR系统的情况下,跟踪人的物理运动的一个子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在XR环境中模拟的一个或多个虚拟对象的一个或多个特征。如一个示例,XR系统可以检测头部移动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。如另一示例,XR系统可以检测呈现XR环境的电子设备(例如,移动电话、平板计算机、膝上型计算机等)的移动,并且作为响应,以类似于此类视图和声音在物理环境中将如何改变的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),XR系统可响应于物理运动的表示(例如,声音命令)来调节XR环境中图形内容的特征。
有许多不同类型的电子系统使人能够感测和/或与各种XR环境进行交互。示例包括头戴式系统、基于投影的系统、平视显示器(HUD)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为设计用于放置在人的眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入系统(例如,具有或不具有触觉反馈的可穿戴或手持式控制器)、智能电话、平板计算机,以及台式/膝上型计算机。头戴式系统可具有集成不透明显示器和一个或多个扬声器。另选地,头戴式系统可被配置为接受外部不透明显示器(例如,智能电话)。头戴式系统可结合用于捕获物理环境的图像或视频的一个或多个成像传感器以及/或者用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可具有媒介,表示图像的光通过该媒介被引导到人的眼睛。显示器可以利用数字光投影、OLED、LED、μLED、硅基液晶、激光扫描光源或这些技术的任何组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器,或它们的任何组合。在一些具体实施中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统也可以被配置为将虚拟对象投影到物理环境中,例如作为全息图或在物理表面上。
图1是根据一些具体实施的示例性操作架构100的框图。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作架构100包括任选的控制器110和电子设备120(例如,平板电脑、移动电话、膝上型电脑、近眼系统、可穿戴计算设备等)。
在一些具体实施中,控制器110被配置为管理和协调使用左手150和右手152的用户149和任选地其他用户的XR体验(在本文中有时也称为“XR环境”或“虚拟环境”或“图形环境”)。在一些具体实施中,控制器110包括软件、固件和/或硬件的合适组合。下文参考图2更详细地描述控制器110。在一些具体实施中,控制器110是相对于物理环境105位于本地或远程位置的计算设备。例如,控制器110是位于物理环境105内的本地服务器。在另一个示例中,控制器110是位于物理环境105之外的远程服务器(例如,云服务器、中央服务器等)。在一些具体实施中,控制器110经由一个或多个有线或无线通信信道144(例如,蓝牙、IEEE802.11x、IEEE 802.16x、IEEE 802.3x等)与电子设备120通信地耦接。在一些具体实施中,控制器110的功能由电子设备120提供。这样,在一些具体实施中,控制器110的部件集成到电子设备120中。
如图1所示,用户149将控制设备130抓握在他/她的右手152中。如图1所示,控制设备130包括第一端部176和第二端部177。在各种实施方案中,第一端部176对应于控制设备130的尖端(例如,铅笔的尖端),并且第二端部177对应于控制设备130的相对端部或底端(例如,铅笔的橡皮擦)。如图1所示,控制设备130包括触敏表面175,以接收来自用户149的触摸输入。在一些具体实施中,控制设备130包括软件、固件和/或硬件的合适组合。下文相对于图4更详细地描述控制设备130。在一些具体实施中,控制设备130对应于具有到控制器110的有线或无线通信信道的电子设备。例如,控制设备130对应于触控笔、手指可穿戴设备、手持设备等。在一些具体实施中,控制器110经由一个或多个有线或无线通信信道146(例如,蓝牙、IEEE 802.11x、IEEE 802.16x、IEEE 802.3x等)与控制设备130通信耦接。
在一些具体实施中,电子设备120被配置为向用户149呈现音频和/或视频(A/V)内容。在一些具体实施中,电子设备120被配置为向用户149呈现用户界面(UI)和/或XR环境128。在一些具体实施中,电子设备120包括软件、固件和/或硬件的合适组合。下文参考图3更详细地描述电子设备120。
根据一些具体实施,当用户149物理地存在于物理环境105内时,电子设备120向用户149呈现XR体验,该物理环境包括处于电子设备120的视场(FOV)111内的桌子107。这样,在一些具体实施中,用户149将电子设备120拿在他/她的一只或两只手中。在一些具体实施中,在呈现XR体验时,电子设备120被配置为呈现XR内容(在本文中有时也称为“图形内容”或“虚拟内容”),包括XR圆柱体109,并且使得能够实现显示器122上物理环境105(例如,包括桌子107或其表示)的视频透传。例如,包括XR圆柱体109的XR环境128是立体的或三维的(3D)。
在一个示例中,XR圆柱体109对应于显示器锁定的内容,使得当FOV 111由于电子设备120的平移和/或旋转运动而改变时,XR圆柱体109保持显示在显示器122上的相同位置处。作为另一示例,XR圆柱体109对应于世界锁定的内容,使得当FOV 111由于电子设备120的平移和/或旋转运动而改变时,XR圆柱体109保持显示在其原始位置处。因此,在该示例中,如果FOV 111不包括原始位置,则XR环境128将不包括XR圆柱体109。例如,电子设备120对应于近眼系统、移动电话、平板电脑、膝上型电脑、可穿戴计算设备等。
在一些具体实施中,显示器122对应于使得能够实现物理环境105(包括桌子107)的光学透传的加成显示器。例如,显示器122对应于透明透镜,并且电子设备120对应于用户149佩戴的一副眼镜。因此,在一些具体实施中,电子设备120通过将XR内容(例如,XR圆柱体109)投影到加成显示器上而呈现用户界面,其继而从用户149的角度叠置在物理环境105上。在一些具体实施中,电子设备120通过将XR内容(例如,XR圆柱体109)显示在加成显示器上而呈现用户界面,其继而从用户149的角度叠置在物理环境105上。
在一些具体实施中,用户149穿戴电子设备120,诸如近眼系统。因此,电子设备120包括被提供以显示XR内容的一个或多个显示器(例如,单个显示器或每只眼睛一个显示器)。例如,电子设备120包围用户149的FOV。在此类具体实施中,电子设备120通过在一个或多个显示器上显示对应于XR环境128的数据或者通过将对应于XR环境128的数据投影到用户149的视网膜上来呈现XR环境128。
在一些具体实施中,电子设备120包括显示XR环境128的集成显示器(例如,内置显示器)。在一些具体实施中,电子设备120包括可头戴式壳体。在各种具体实施中,头戴式壳体包括附接区,具有显示器的另一设备可附接到该附接区。例如,在一些具体实施中,电子设备120可附接到可头戴式壳体。在各种具体实施中,可头戴式壳体被成形为形成用于接收包括显示器的另一设备(例如,电子设备120)的接收器。例如,在一些具体实施中,电子设备120滑动/卡扣到可头戴式壳体中或以其他方式附接到该可头戴式壳体。在一些具体实施中,附接到可头戴式壳体的设备的显示器呈现(例如,显示)XR环境128。在一些具体实施中,将电子设备120替换成被配置为呈现XR内容的XR室、壳体或房间,在其中用户149不穿戴电子设备120。
在一些具体实施中,控制器110和/或电子设备120使得用户149的XR表示基于来自电子设备120和/或物理环境105内的任选的远程输入设备的移动信息(例如,身体姿态数据、眼睛跟踪数据、手部/肢体/手指/四肢跟踪数据等)在XR环境128内移动。在一些具体实施中,可选的远程输入设备对应于物理环境105内的固定或可移动的感官设备(例如,图像传感器、深度传感器、红外(IR)传感器、事件相机、麦克风等)。在一些具体实施中,远程输入设备中的每个远程输入设备被配置为在用户149物理地在物理环境105内时收集/捕获输入数据,并且将输入数据提供给控制器110和/或电子设备120。在一些具体实施中,远程输入设备包括麦克风,并且输入数据包括与用户149相关联的音频数据(例如,语音样本)。在一些具体实施中,远程输入设备包括图像传感器(例如,相机),并且输入数据包括用户149的图像。在一些具体实施中,输入数据表征用户149在不同时间的身体姿态。在一些具体实施中,输入数据表征用户149在不同时间的头部姿态。在一些具体实施中,输入数据表征在不同时间与用户149的手相关联的手跟踪信息。在一些具体实施中,输入数据表征用户149的身体部分(诸如他/她的手)的速度和/或加速度。在一些具体实施中,输入数据指示用户149的关节定位和/或关节取向。在一些具体实施中,远程输入设备包括反馈设备,诸如扬声器、灯等。
图2是根据一些具体实施的控制器110的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,控制器110包括一个或多个处理单元202(例如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、中央处理单元(CPU)、处理内核等)、一个或多个输入/输出(I/O)设备206、一个或多个通信接口208(例如,通用串行总线(USB)、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、全球移动通信系统(GSM)、码分多址(CDMA)、时分多址(TDMA)、全球定位系统(GPS)、红外(IR)、蓝牙、ZIGBEE和/或类似类型的接口)、一个或多个编程(例如,I/O)接口210、存储器220以及用于互连这些部件和各种其他部件的一条或多条通信总线204。
在一些具体实施中,该一条或多条通信总线204包括互连系统部件和控制系统部件之间的通信的电路。在一些具体实施中,一个或多个I/O设备206包括键盘、鼠标、触控板、触摸屏、操纵杆、一个或多个麦克风、一个或多个扬声器、一个或多个图像传感器、一个或多个显示器等中的至少一者。
存储器220包括高速随机存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双倍数据速率随机存取存储器(DDR RAM)或者其他随机存取固态存储器设备。在一些具体实施中,存储器220包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器220任选地包括远离该一个或多个处理单元202定位的一个或多个存储设备。存储器220包括非暂态计算机可读存储介质。在一些具体实施中,存储器220或存储器220的非暂态计算机可读存储介质存储下文参照图2所述的下述程序、模块和数据结构或者它们的子集。
操作系统230包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。
在一些具体实施中,数据获取器242被配置为从控制器110的I/O设备206、电子设备120的I/O设备和传感器306以及任选的远程输入设备中的至少一者获取数据(例如,所捕获的物理环境105的图像帧、呈现数据、输入数据、用户交互数据、相机姿态跟踪信息、眼睛跟踪信息、头部/身体姿态跟踪信息、手部/肢体/手指/四肢跟踪信息、传感器数据、位置数据等)。为此,在各种具体实施中,数据获取器242包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,映射器和定位器引擎244被配置为映射物理环境105并至少跟踪电子设备120或用户149相对于物理环境105的定位/位置。为此,在各种具体实施中,映射器和定位器引擎244包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,数据传输器246被配置为至少向电子设备120和任选地一个或多个其他设备传输数据(例如,呈现数据,诸如与XR环境相关联的渲染的图像帧、位置数据等)。为此,在各种具体实施中,数据传输器246包括指令和/或用于指令的逻辑,以及启发法和用于启发法的元数据。
在一些具体实施中,隐私架构508被配置为摄取数据并且基于一个或多个隐私过滤器来过滤该数据内的用户信息和/或识别信息。下文参考图5A更详细地描述隐私架构508。为此,在各种具体实施中,隐私架构508包括指令和/或用于指令的逻辑,以及启发法和用于启发法的元数据。
在一些具体实施中,对象跟踪引擎510被配置为基于跟踪数据来确定/生成用于跟踪物理对象(例如,控制设备130或代理对象)的对象跟踪向量511,并且随时间推移而更新对象跟踪向量511。例如,如图5B中所示,对象跟踪向量511包括物理对象的平移值572(例如,与相对于物理环境105或整个世界的x、y和z坐标相关联)、物理对象的旋转值574(例如,滚动、俯仰和偏航)、与物理对象相关联的一个或多个压力值576、与物理对象相关联的任选的触摸输入信息578等。下文参考图5A更详细地描述对象跟踪引擎510。为此,在各种具体实施中,对象跟踪引擎510包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,眼睛跟踪引擎512被配置为基于输入数据来确定/生成如图5B所示的眼睛跟踪向量513(例如,具有注视方向)并且随时间推移而更新眼睛跟踪向量513。例如,注视方向指示用户149当前正在查看的物理环境105中的点(例如,与相对于物理环境105或整个世界的x坐标、y坐标和z坐标相关联)、物理对象或感兴趣区域(ROI)。作为另一示例,注视方向指示用户149当前正在查看的XR环境128中的点(例如,与相对于XR环境128的x坐标、y坐标和z坐标相关联)、XR对象或感兴趣区域(ROI)。下文参考图5A更详细地描述眼睛跟踪引擎512。为此,在各种具体实施中,眼睛跟踪引擎512包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,身体/头部姿态跟踪引擎514被配置为基于输入数据来确定/生成姿态表征向量515并且随时间推移而更新姿态表征向量515。例如,如图5B所示,姿态表征向量515包括头部姿态描述符592A(例如,向上、向下、中性等)、头部姿态的平移值592B、头部姿态的旋转值592C、身体姿态描述符594A(例如,站立、坐着、俯卧等)、身体部位/四肢/肢体/关节的平移值594B、身体部位/四肢/肢体/关节的旋转值594C等。下文参考图5A更详细地描述身体/头部姿态跟踪引擎514。为此,在各种具体实施中,身体/头部姿态跟踪引擎514包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。在一些具体实施中,作为控制器110的补充或替代,对象跟踪引擎510、眼睛跟踪引擎512和身体/头部姿态跟踪引擎514可位于电子设备120上。
在一些具体实施中,内容选择器542被配置为基于一个或多个用户请求和/或输入(例如,语音命令、从XR内容项的用户界面(UI)菜单中的选择等),从内容库545中选择XR内容(在本文中有时也称为“图形内容”或“虚拟内容”)。下文参考图5A更详细地描述内容选择器542。为此,在各种具体实施中,内容选择器542包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,内容库545包括多个内容项,诸如听觉/视觉(A/V)内容、虚拟代理(VA)和/或XR内容、对象、项、场景等。作为一个示例,XR内容包括用户捕获的视频、电影、TV剧集和/或其他XR内容的3D重建。在一些具体实施中,内容库545由用户149预先填充或手动创作。在一些具体实施中,内容库545相对于控制器110位于本地。在一些具体实施中,内容库545位于远离控制器110的位置(例如,位于远程服务器、云服务器等处)。
在一些具体实施中,输入管理器520被配置为摄取和分析来自各种输入传感器的输入数据。下文参考图5A更详细地描述输入管理器520。为此,在各种具体实施中,输入管理器520包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。在一些具体实施中,输入管理器520包括数据聚合器521、内容选择引擎522、抓持姿态评估器524、输出模态选择器526和参数调节器528。
在一些具体实施中,数据聚合器521被配置为聚合对象跟踪向量511、眼睛跟踪向量513和姿态表征向量515并且基于聚合结果确定/生成表征向量531(如图5A所示)以供随后在下游使用。下文参考图5A更详细地描述数据聚合器521。为此,在各种具体实施中,数据聚合器521包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,内容选择引擎522被配置为基于表征向量531(或其一部分)来确定XR环境128内的所选择的内容部分523(如图5A所示)。下文参考图5A更详细地描述内容选择引擎522。为此,在各种具体实施中,内容选择引擎522包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,抓持姿态评估器524被配置为基于表征向量531(或其一部分)确定与物理对象正被用户149握持的当前方式相关联的抓持姿态525(如图5A所示)。例如,抓持姿态525指示用户149抓握物理对象(例如,代理对象、控制设备130等)的方式。例如,抓持姿态525对应于遥控器式抓持、指向式/魔杖式抓持、书写式抓持、反向书写式抓持、手柄式抓持、拇指顶部抓持、水平式抓持、游戏手柄式抓持、长笛式抓持、点火器式抓持等中的一者。下文参考图5A更详细地描述抓持姿态评估器524。为此,在各种具体实施中,抓持姿态评估器524包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,输出模态选择器526被配置为选择与物理对象与XR环境128交互或操纵XR环境128的方式相关联的当前输出模态527(如图5A所示)。例如,第一输出模态对应于选择/操纵XR环境128内的对象/内容,并且第二输出模态对应于XR环境128内的素描、绘图、书写等。下文参考图5A更详细地描述输出模态选择器526。为此,在各种具体实施中,输出模态选择器526包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,参数调节器528被配置为基于与物理对象相关联的第一输入(压力)值或第二输入(压力)值来调节与指向XR环境128的标记输入相关联的参数值(如图5A所示)(例如,厚度、亮度、颜色、纹理等)。下文参考图5A更详细地描述参数调节器528。为此,在各种具体实施中,参数调节器528包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,内容管理器530被配置为管理和更新XR环境128的布局、设置、结构等,包括VA、XR内容、与XR内容相关联的一个或多个用户界面(UI)元素等中的一者或多者。下文参考图5C更详细地描述内容管理器530。为此,在各种具体实施中,内容管理器530包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。在一些具体实施中,内容管理器530包括缓冲器534、内容更新器536和反馈引擎538。在一些具体实施中,缓冲器534包括用于一个或多个过去实例和/或帧的XR内容、渲染的图像帧等。
在一些具体实施中,内容更新器536被配置为基于电子设备120或物理环境128内的物理对象的平移或旋转移动、用户输入(例如,手部/四肢跟踪输入、眼睛跟踪输入、触摸输入、语音命令、对物理对象的操纵输入等)等来随时间推移修改XR环境105。为此,在各种具体实施中,内容更新器536包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,反馈引擎538被配置为生成与XR环境128相关联的感官反馈(例如,视觉反馈(诸如文本或照明变化)、音频反馈、触觉反馈等)。为此,在各种具体实施中,反馈引擎538包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,渲染引擎550被配置为渲染XR环境128(在本文中有时也称为“图形环境”或“虚拟环境”)或与该XR环境相关联的图像帧以及VA、XR内容、与XR内容相关联的一个或多个UI元素等。为此,在各种具体实施中,渲染引擎550包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。在一些具体实施中,渲染引擎550包括姿态确定器552、渲染器554、任选的图像处理架构562和任选的合成器564。本领域的普通技术人员将理解,对于视频透传配置,可以存在任选的图像处理架构562和任选的合成器564,但对于完全VR或光学透传配置,可以移除该任选的图像处理架构和该任选的合成器。
在一些具体实施中,姿态确定器552被配置为确定电子设备120和/或用户149相对于A/V内容和/或XR内容的当前相机姿态。下文参考图5A更详细地描述姿态确定器552。为此,在各种具体实施中,姿态确定器552包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,渲染器554被配置为根据与其相关的当前相机姿态来渲染A/V内容和/或XR内容。下文参考图5A更详细地描述渲染器554。为此,在各种具体实施中,渲染器554包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,图像处理架构562被配置为从电子设备120和/或用户149的当前相机姿态获取(例如,接收、检索或捕获)包括物理环境105的一个或多个图像的图像流。在一些具体实施中,图像处理架构562还被配置为对图像流执行一个或多个图像处理操作,诸如扭曲、颜色校正、γ校正、锐化、降噪、白平衡等。下文参考图5A更详细地描述图像处理架构562。为此,在各种具体实施中,图像处理架构562包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,合成器564被配置为将渲染的A/V内容和/或XR内容与来自图像处理架构562的物理环境105的经处理的图像流合成,以产生XR环境128的渲染的图像帧以供显示。下文参考图5A更详细地描述合成器564。为此,在各种具体实施中,合成器564包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
尽管数据获取器242、映射器和定位器引擎244、数据传输器246、隐私架构508、对象跟踪引擎510、眼睛跟踪引擎512、身体/头部姿态跟踪引擎514、内容选择器542、内容管理器530、操作模态管理器540以及渲染引擎550被示出为驻留在单个设备(例如,控制器110)上,但应当理解,在其他具体实施中,数据获取器242、映射器和定位器引擎244、数据传输器246、隐私架构508、对象跟踪引擎510、眼睛跟踪引擎512、身体/头部姿态跟踪引擎514、内容选择器542、内容管理器530、操作模式管理器540以及渲染引擎550的任何组合可以位于单独的计算设备中。
在一些具体实施中,控制器110的功能和/或部件与下文在图3所示的电子设备120组合或由其提供。此外,图2更多地用作可存在于特定具体实施中的各种特征部的功能描述,而不是本文所述的具体实施的结构示意。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图2中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
图3是根据一些具体实施的电子设备120(例如,移动电话、平板电脑、膝上型电脑、近眼系统、可穿戴计算设备等)的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,电子设备120包括一个或多个处理单元302(例如,微处理器、ASIC、FPGA、GPU、CPU、处理核心等)、一个或多个输入/输出(I/O)设备和传感器306、一个或多个通信接口308(例如,USB、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、IR、蓝牙、ZIGBEE和/或类似类型的接口)、一个或多个编程(例如,I/O)接口310、一个或多个显示器312、图像捕获设备370(一个或多个任选的面向内部和/或面向外部的图像传感器)、存储器320以及用于互连这些部件和各种其他部件的一条或多条通信总线304。
在一些具体实施中,一条或多条通信总线304包括互连和控制系统部件之间的通信的电路。在一些具体实施中,一个或多个I/O设备和传感器306包括惯性测量单元(IMU)、加速度计、陀螺仪、磁力仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血氧饱和度监测仪、血糖监测仪等)、一个或多个麦克风、一个或多个扬声器、触觉引擎、加热和/或冷却单元、皮肤剪切引擎、一个或多个深度传感器(例如,结构化光、飞行时间、LiDAR等)、定位和映射引擎、眼睛跟踪引擎、身体/头部姿态跟踪引擎、手部/肢体/手指/四肢跟踪引擎、相机姿态跟踪引擎等中的至少一者。
在一些具体实施中,一个或多个显示器312被配置为向用户呈现XR环境。在一些具体实施中,一个或多个显示器312也被配置为向用户呈现平面视频内容(例如,与电视剧或电影相关联的二维或“平面”AVI、FLV、WMV、MOV、MP4等文件,或物理环境105的实时视频透传)。在一些具体实施中,一个或多个显示器312对应于触摸屏显示器。在一些具体实施中,一个或多个显示器312对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射器显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电系统(MEMS)和/或相似显示器类型。在一些具体实施中,一个或多个显示器312对应于衍射、反射、偏振、全息等波导显示器。例如,电子设备120包括单个显示器。又如,电子设备120包括针对用户的每只眼睛的显示器。在一些具体实施中,一个或多个显示器312能够呈现AR和VR内容。在一些具体实施中,一个或多个显示器312能够呈现AR或VR内容。
在一些具体实施中,图像捕获设备370对应于一个或多个RGB相机(例如,具有互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器)、IR图像传感器、基于事件的相机等。在一些具体实施中,图像捕获设备370包括透镜组件、光电二极管和前端架构。在一些具体实施中,图像捕获设备370包括面向外部和/或面向内部的图像传感器。
存储器320包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些具体实施中,存储器320包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器320任选地包括远离一个或多个处理单元302定位的一个或多个存储设备。存储器320包括非暂态计算机可读存储介质。在一些具体实施中,存储器320或者存储器320的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括可选的操作系统330和呈现引擎340。
操作系统330包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些具体实施中,呈现引擎340被配置为经由一个或多个显示器312向用户呈现媒体项和/或XR内容。为此,在各种具体实施中,呈现引擎340包括数据获取器342、呈现器570、交互处理程序540和数据传输器350。
在一些具体实施中,数据获取器342被配置为从电子设备120的I/O设备和传感器306、控制器110以及远程输入设备中的至少一者获取数据(例如,呈现数据,诸如与用户界面或XR环境相关联的经渲染的图像帧、输入数据、用户交互数据、头部跟踪信息、相机姿态跟踪信息、眼睛跟踪信息、手部/肢体/手指/四肢跟踪信息、传感器数据、位置数据等)。为此,在各种具体实施中,数据获取器342包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,交互处理程序540被配置为检测与所呈现的A/V内容和/或XR内容的用户交互(例如,经由手部/四肢跟踪检测到的手势输入、经由眼睛跟踪检测到的眼睛注视输入、语音命令等)。为此,在各种具体实施中,交互处理程序540包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,呈现器570被配置为经由一个或多个显示器312呈现和更新A/V内容和/或XR内容(例如,与用户界面或XR环境128相关联的渲染的图像帧,包括VA、XR内容、与XR内容相关联的一个或多个UI元素等)。为此,在各种具体实施中,呈现器570包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
在一些具体实施中,数据传输器350被配置为至少向控制器110传输数据(例如,呈现数据、位置数据、用户交互数据、头部跟踪信息、相机姿态跟踪信息、眼睛跟踪信息、手部/肢体/手指/四肢跟踪信息等)。为此,在各种具体实施中,数据传输器350包括指令和/或用于这些指令的逻辑,以及启发法和用于该启发法的元数据。
尽管数据获取器342、交互处理程序540、呈现器570和数据传输器350被示出为驻留在单个设备(例如,电子设备120)上,但是应当理解,在其他具体实施中,数据获取器342、交互处理程序540、呈现器570和数据传输器350的任何组合可位于单独的计算设备中。
此外,图3更多地用作可存在于特定具体实施中的各种特征部的功能描述,而不是本文所述的具体实施的结构示意。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图3中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
图4是根据一些具体实施的示例性控制设备130的框图。控制设备130有时被简称为触控笔。控制设备130包括非暂态存储器402(其任选地包括一个或多个计算机可读存储介质)、存储器控制器422、一个或多个处理单元(CPU)420、外围设备接口418、RF电路408、输入/输出(I/O)子系统406,以及其他输入或控制设备416。控制设备130任选地包括外部端口424和一个或多个光学传感器464。控制设备130任选地包括一个或多个接触强度传感器465,该一个或多个接触强度传感器用于检测控制设备130在电子设备100上(例如,当控制设备130与触敏表面诸如电子设备120的显示器122一起使用时)或在其他表面(例如,桌子表面)上的接触的强度。控制设备130任选地包括用于在控制设备130上生成触觉输出的一个或多个触觉输出发生器463。这些部件任选地通过一条或多条通信总线或信号线403进行通信。
应当理解,控制设备130仅仅是电子触控笔的一个示例,并且控制设备130任选地具有比所示出的部件更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图4中所示的各种部件在硬件、软件、固件或它们的任何组合(包括一个或多个信号处理电路和/或专用集成电路)中实现。在一些具体实施中,控制设备130(例如,触摸解释模块477)的一些功能和/或操作由控制器110和/或电子设备120提供。因此,在一些具体实施中,控制设备130的一些部件被集成到控制器110和/或电子设备120中。
如图1所示,控制设备130包括第一端部176和第二端部177。在各种实施方案中,第一端部176对应于控制设备130的尖端(例如,铅笔的尖端),并且第二端部177对应于控制设备130的相对端部或底端(例如,铅笔的橡皮擦)。
如图1所示,控制设备130包括触敏表面175,以接收来自用户149的触摸输入。在一些具体实施中,触敏表面175对应于电容式触摸元件。控制设备130包括基于与触敏表面175的触觉和/或触感接触来检测来自用户的输入的传感器或传感器组。在一些具体实施中,控制设备130包括现在已知的或以后将开发出的多种触摸感测技术中的任何技术以及其他接近传感器阵列或用于确定与触敏表面175接触的一个或多个点的其他元件,该多种触摸感测技术包括但不限于电容式技术、电阻式技术、红外技术和表面声波技术。因为控制设备130包括多种传感器和传感器类型,所以控制设备130可以检测来自用户149的不同的多种输入。在一些具体实施中,一个或多个传感器可响应于用户在触敏表面175上轻击一次或多次而检测单个触摸输入或连续触摸输入。在一些具体实施中,一个或多个传感器可响应于用户用一个或多个手指沿着触敏表面175轻划而检测控制设备130上的轻扫输入。在一些具体实施中,如果用户沿着触敏表面175轻划的速度违反阈值,则一个或多个传感器检测轻弹输入而不是轻扫输入。
控制设备130还包括检测控制设备130的取向(例如,角度位置)和/或移动的一个或多个传感器,诸如一个或多个加速度计467、一个或多个陀螺仪468、一个或多个磁力仪469等。该一个或多个传感器可检测用户对控制设备130的多种旋转移动,包括旋转的类型和方向。例如,该一个或多个传感器可检测用户滚转和/或转动控制设备130,并且可检测滚转/转动的方向(例如,顺时针或逆时针)。在一些具体实施中,所检测到的输入取决于控制设备130的第一端部176和第二端部177相对于电子设备的角位置。例如,在一些具体实施中,如果控制设备130基本上垂直于电子设备并且第二端部177(例如,擦除器)更靠近电子设备,则使电子设备的表面与第二端部177接触导致擦除操作。另一方面,如果控制设备130基本上垂直于电子设备并且第一端部176(例如,尖端)更靠近电子设备,则使电子设备的表面与第一端部176接触导致标记操作。
存储器402任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个闪存存储器设备或其他非易失性固态存储器设备。控制设备130的其他部件(诸如CPU 420和外围设备接口418)对存储器402的访问任选地由存储器控制器422来控制。
外围设备接口418可被用于将触控笔的输入外围设备和输出外围设备耦接到CPU420和存储器402。一个或多个处理器420运行或执行存储器402中所存储的各种软件程序和/或指令集以执行控制设备130的各种功能并处理数据。在一些具体实施中,外围设备接口418、CPU 420和存储器控制器422任选地在单个芯片诸如芯片404上实现。在一些其他实施方案中,它们任选地在独立的芯片上实现。
RF(射频)电路408接收和发送也被称作电磁信号的RF信号。RF电路408将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号与控制器110、电子设备120等、通信网络和/或其他通信设备进行通信。RF电路408任选地包括用于执行这些功能的熟知的电路,包括但不限于天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(SIM)卡、存储器等。RF电路408任选地通过无线通信来与网络和其他设备进行通信,这些网络为诸如互联网(也称为万维网(WWW))、内联网和/或无线网络(诸如,蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))。无线通信任选地使用多种通信标准、协议和技术中的任何一种,包括但不限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进、纯数据(EV-DO)、HSPA、HSPA+、双单元HSPA(DC-HSPA)、长期演进(LTE)、近场通信(NFC)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE 802.11a、IEEE 802.11ac、IEEE 802.11ax、IEEE 802.11b、IEEE802.11g和/或IEEE 802.11n),或任何其他合适的通信协议,包括在本文件提交之日尚未开发的通信协议。
I/O子系统406将控制设备130上的输入/输出外围设备诸如其他输入或控制设备416与外围设备接口418耦接。I/O子系统406任选地包括光学传感器控制器458、强度传感器控制器459、触觉反馈控制器461和用于其他输入或控制设备的一个或多个输入控制器460。一个或多个输入控制器460从其他输入或控制设备416接收电信号/将电信号发送到该其他输入或控制设备。其他输入或控制设备416任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、点击轮等。在一些另选的实施方案中,一个或多个输入控制器460任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者):红外线端口和/或USB端口。
控制设备130还包括用于为各种部件供电的电力系统462。电力系统462任选地包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率转换器或逆变器、电源状态指示器(例如,发光二极管(LED)),以及与便携式设备和/或便携式附件中电力的生成、管理和分配相关联的任何其他部件。
控制设备130任选地还包括一个或多个光学传感器464。图4示出了与I/O子系统406中的光学传感器控制器458耦接的光学传感器。一个或多个光学传感器464任选地包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。一个或多个光学传感器464从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。
控制设备130任选地还包括一个或多个接触强度传感器465。图4示出了与I/O子系统406中的强度传感器控制器459耦接的接触强度传感器。接触强度传感器465任选地包括一个或多个压阻应变仪、电容式力传感器、电气力传感器、压电力传感器、光学力传感器、电容式触敏表面或其他强度传感器(例如,用于测量相对于表面或相对于用户149的抓握的力(或压力)的传感器)。接触强度传感器465从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些具体实施中,至少一个接触强度传感器与控制设备130的尖端并置排列或邻近。在一些具体实施中,至少一个接触强度传感器与控制设备130的主体并置排列或邻近。
控制设备130任选地还包括一个或多个接近传感器466。图4示出了与外围设备接口418耦接的一个或多个接近传感器466。另选地,一个或多个接近传感器466与I/O子系统406中的输入控制器460耦接。在一些具体实施中,一个或多个接近传感器466确定控制设备130与电子设备(例如,电子设备120)的接近度。
控制设备130任选地还包括一个或多个触觉输出发生器463。图4示出了与I/O子系统406中的触觉反馈控制器461耦接的触觉输出发生器。一个或多个触觉输出发生器463任选地包括一个或多个电声设备(诸如扬声器或其他音频部件),以及/或者将能量转换为线性运动的机电设备(诸如马达、螺线管、电活性聚合器、压电致动器、静电致动器),或者其他触觉输出生成部件(例如,将电信号转换为电子设备上的触觉输出的部件)。一个或多个触觉输出发生器463从触觉反馈模块433接收触觉反馈生成指令,并且在控制设备130上生成能够由控制设备130的用户感觉到的触觉输出。在一些具体实施中,至少一个触觉输出发生器与控制设备130的长度(例如,主体或外壳)并置排列或邻近,并且任选地,通过竖直(例如,在平行于控制设备130的长度的方向上)或横向(例如,在垂直于控制设备130的长度的方向上)移动控制设备130来生成触觉输出。
控制设备130任选地还包括用于获得关于控制设备130的位置和位置状态的信息的一个或多个加速度计467、一个或多陀螺仪468和/或一个或多个磁力仪469(例如,作为惯性测量单元(IMU)的一部分)。图4示出了与外围设备接口418耦接的传感器467、468和469。另选地,传感器467、468和469任选地与I/O子系统406中的输入控制器460耦接。控制设备130任选地包括用于获得关于控制设备130的位置的信息的GPS(或GLONASS或其他全球导航系统)接收器(未示出)。
控制设备130包括触敏系统432。触敏系统432检测在触敏表面175处接收到的输入。这些输入包括本文相对于控制设备130的触敏表面175所讨论的输入。例如,触敏系统432可以检测轻击输入、转动输入、滚转输入、轻弹输入、轻扫输入等。触敏系统432与触摸解释模块477配合以便译解在触敏表面175处接收到的特定类型的触摸输入(例如,转动/滚转/轻弹/轻扫/等)。
在一些具体实施中,存储在存储器402中的软件部件包括操作系统426、通信模块(或指令集)428、接触/运动模块(或指令集)430、位置模块(或指令集)431和全球定位系统(GPS)模块(或指令集)435。此外,在一些具体实施中,存储器402存储设备/全局内部状态457,如图4所示。此外,存储器402包括触摸解释模块477。设备/全局内部状态457包括以下中的一者或多者:传感器状态,包括从触控笔的各种传感器和其他输入或控制设备416获得的信息;位置状态,包括关于控制设备130的位置和/或取向的信息(例如,平移和/或旋转值)以及关于控制设备130的位置的位置信息(例如,由GPS模块435确定)。
操作系统426(例如,iOS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、功率管理等)的各种软件部件和/或驱动器,并且有利于各种硬件部件和软件部件之间的通信。通信模块428任选地有利于通过一个或多个外部端口424来与其他设备进行通信,并且还包括用于处理由RF电路408和/或外部端口424所接收的数据的各种软件部件。外部端口424(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备或间接地通过网络(例如,互联网、无线LAN等)进行耦接。
接触/运动模块430任选地检测与控制设备130和控制设备130的其他触敏设备(例如,控制设备130的按钮或其他触敏部件)的接触。接触/运动模块430包括用于执行与对接触的检测(例如,对触控笔的尖端与触敏显示器诸如电子设备120的显示器122或与另一表面诸如桌子表面的接触的检测)相关的各种操作的软件部件,这些各种操作诸如为确定是否已发生接触(例如,检测触摸按下事件)、确定接触的强度(例如,接触的力或压力或者接触的力或压力的代替物)、确定是否存在接触的移动并跟踪该移动(例如,跨越电子设备120的显示器122)以及确定接触是否已停止(例如,检测抬离事件或者接触中断)。在一些具体实施中,接触/运动模块430从I/O子系统406接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),所述接触点的移动由一系列接触数据表示。如上所述,在一些具体实施中,与对接触的检测相关的这些操作中的一个或多个操作由电子设备120或控制器110来执行(作为使用接触/运动模块430的触控笔的补充或替代)。
接触/运动模块430任选地检测由控制设备130进行的手势输入。用控制设备130进行的不同手势具有不同的接触模式(例如,所检测到的接触的不同运动、计时和/或强度)。因此,任选地通过检测特定接触模式来检测手势。例如,检测单次轻击手势包括检测触摸按下事件,随后是在与触摸按下事件相同的位置(或基本上相同的位置)处(例如,在图标的位置处)检测抬离事件。又如,检测轻扫手势包括检测触摸按下事件,随后是检测一个或多个触控笔拖动事件,并且随后接着是检测抬离事件。如上所述,在一些具体实施中,手势检测由使用接触/运动模块430的电子设备执行(作为使用接触/运动模块430的触控笔的补充或替代)。
结合一个或多个加速度计467、一个或多个陀螺仪468和/或一个或多个磁力仪469,位置模块431任选地检测关于触控笔的位置信息,诸如在特定参考系中控制设备130的姿态(例如,滚转、仰俯和/或偏航)。结合一个或多个加速度计467、一个或多个陀螺仪468和/或一个或多个磁力仪469,位置模块431任选地检测移动手势,诸如控制设备130的轻弹、轻击和转动。位置模块431包括用于执行与检测触控笔的位置以及检测在特定参考系中触控笔的位置的变化相关的各种操作的软件部件。在一些具体实施中,位置模块431检测控制设备130相对于物理环境105或整个世界的位置状态,并检测控制设备130的位置状态的变化。
触觉反馈模块433包括用于生成指令的各种软件部件,这些指令由一个或多个触觉输出发生器463使用,以便响应于用户与控制设备130的交互而在控制设备130上的一个或多个位置处产生触觉输出。GPS模块435确定控制设备130的位置并提供该信息以供在各种应用程序中使用(例如,提供给提供基于位置的服务的应用程序,诸如用于找到丢失的设备和/或附件的应用程序)。
触摸解释模块477与触敏系统432配合以便确定(例如,译解或识别)在控制设备130的触敏表面175处接收到的触摸输入的类型。例如,如果用户在足够短的时间量内在控制设备130的触敏表面175上轻划足够的距离,则触摸解释模块477确定触摸输入对应于轻扫输入(而不是轻击输入)。又如,如果用户在控制设备130的触敏表面175上轻划的速度足够快于对应于轻扫输入的语音,则触摸解释模块477确定触摸输入对应于轻弹输入(而不是轻扫输入)。可预设且可改变轻划的阈值速度。在各种实施方案中,在触敏表面处接收到的触摸的压力和/或力确定输入的类型。例如,轻触摸可对应于第一类型的输入,而较用力的触摸可对应于第二类型的输入。
上述所识别的每个模块和应用程序对应于用于执行上述一种或多种功能以及在本申请中所描述的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即,指令集)不必以独立的软件程序、过程或模块实现,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些具体实施中,存储器402任选地存储上述模块和数据结构的子集。此外,存储器402任选地存储上文未描述的附加模块和数据结构。
图5A是根据一些具体实施的示例性内容递送架构的第一部分500A的框图。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,内容递送架构包括在计算系统中,诸如图1和图2所示的控制器110;图1和图3所示的电子设备120;和/或它们的合适组合。
如图5A所示,控制器110、电子设备120和/或它们的组合的一个或多个本地传感器502获得与物理环境105相关联的本地传感器数据503。例如,本地传感器数据503包括物理环境105的图像或其流、物理环境105的同时定位与地图构建(SLAM)信息以及电子设备120或用户149相对于物理环境105的位置、物理环境105的环境照明信息、物理环境105的环境音频信息、物理环境105的声学信息、物理环境105的维度信息、物理环境105内的对象的语义标签等。在一些具体实施中,本地传感器数据503包括未处理的或后处理的信息。
类似地,如图5A所示,与物理环境105内的任选远程输入设备、控制设备130等相关联的一个或多个远程传感器504获得与物理环境105相关联的远程传感器数据505。例如,远程传感器数据505包括物理环境105的图像或其流、物理环境105的SLAM信息以及电子设备120或用户149相对于物理环境105的位置、物理环境105的环境照明信息、物理环境105的环境音频信息、物理环境105的声学信息、物理环境105的维度信息、物理环境105内的对象的语义标签等。在一些具体实施中,远程传感器数据505包括未处理的或后处理的信息。
如图5A所示,跟踪数据506由控制器110、电子设备120或控制设备130中的至少一者获得,以便定位和跟踪控制设备130。作为一个示例,跟踪数据506包括由包括控制设备130的电子设备120的面向外部的图像传感器捕获的物理环境105的图像或其流。作为另一示例,跟踪数据506对应于来自控制设备130的集成传感器的IMU信息、加速度计信息、陀螺仪信息、磁力仪信息等。
根据一些实施方式,隐私架构508获取本地传感器数据503、远程传感器数据505和跟踪数据506。在一些具体实施中,隐私架构508包括与用户信息和/或识别信息相关联的一个或多个隐私过滤器。在一些具体实施中,隐私架构508包括选择加入特征部,其中电子设备120通知用户149正在监视哪些用户信息和/或识别信息以及将如何使用这些用户信息和/或识别信息。在一些具体实施中,隐私架构508选择性地防止和/或限制内容递送架构500A/500B或其部分获取和/或传输用户信息。为此,隐私架构508响应于提示用户149进行用户偏好和/或选择来接收来自用户149的用户偏好和/或选择。在一些具体实施中,隐私架构508防止内容递送架构500A/500B获取和/或传输用户信息,除非并且直到隐私架构508从用户149获取到知情同意。在一些具体实施中,隐私架构508匿名化(例如,加扰、模糊化、加密等)某些类型的用户信息。例如,隐私架构508接收指定隐私架构508将哪些类型的用户信息匿名化的用户输入。作为另一示例,隐私架构508独立于用户指定(例如,自动地)匿名化可能包括敏感和/或识别信息的某些类型的用户信息。
根据一些具体实施,对象跟踪引擎510在跟踪数据506已经过隐私架构508处理之后获得该跟踪数据。在一些具体实施中,对象跟踪引擎510基于跟踪数据506确定/生成物理对象的对象跟踪向量511,并且随时间推移更新对象跟踪向量511。作为一个示例,物理对象对应于在物理环境105内检测到的缺少到计算系统(例如,控制器110、电子设备120等)的通信信道的代理对象,诸如铅笔、笔等。作为另一示例,物理对象对应于具有到计算系统(例如,控制器110、电子设备120等)的有线或无线通信信道的电子设备(例如,控制设备130),诸如触控笔、手指可穿戴设备、手持设备等。
图5B示出了根据一些具体实施的用于对象跟踪向量511的示例性数据结构。如图5B所示,对象跟踪向量511可对应于N元组表征向量或表征张量,其包含时间戳571(例如,对象跟踪向量511最近更新的时间)、物理对象的一个或多个平移值572(例如,相对于物理环境105、整个世界等的x、y和z值)、物理对象的一个或多个旋转值574(例如,滚动、俯仰和偏航值)、与物理对象相关联的一个或多个输入(压力)值576(例如,与控制设备130的端部和表面之间的接触相关联的第一输入(压力)值、与在由用户149抓握时施加于控制设备130的主体上的压力的量相关联的第二输入(压力)值等)、任选的触摸输入信息578(例如,与指向控制设备130的触敏表面175的用户触摸输入相关联的信息)和/或杂项信息579。本领域的普通技术人员将理解,图5B中的对象跟踪向量511的数据结构仅仅是一个示例,其可以在各种其他具体实施中包括不同的信息部分,并且可以在各种其他具体实施中以多种方式构造。
根据一些具体实施,眼睛跟踪引擎512在经过隐私架构508处理之后获取本地传感器数据503和远程传感器数据505。在一些具体实施中,眼睛跟踪引擎512基于输入数据确定/生成与用户149的注视方向相关联的眼睛跟踪向量513,并且随时间推移更新眼睛跟踪向量513。
图5B示出了根据一些具体实施的用于眼睛跟踪向量513的示例性数据结构。如图5B所示,眼睛跟踪向量513可以对应于N元组表征向量或表征张量,其包括时间戳581(例如,眼睛跟踪向量513最近更新的时间)、用户149的当前注视方向的一个或多个角度值582(例如,翻滚、俯仰和偏航值)、用户149的当前注视方向的一个或多个平移值584(例如,相对于物理环境105、整个世界等的x、y和z值)和/或杂项信息586。本领域的普通技术人员将理解,图5B中的眼睛跟踪向量513的数据结构仅仅是一个示例,其可以在各种其他具体实施中包括不同的信息部分,并且可以在各种其他具体实施中以多种方式构造。
例如,注视方向指示用户149当前正在查看的物理环境105中的点(例如,与相对于物理环境105或整个世界的x坐标、y坐标和z坐标相关联)、物理对象或感兴趣区域(ROI)。作为另一示例,注视方向指示用户149当前正在查看的XR环境128中的点(例如,与相对于XR环境128的x坐标、y坐标和z坐标相关联)、XR对象或感兴趣区域(ROI)。
根据一些具体实施,身体/头部姿态跟踪引擎514在经过隐私架构508处理之后获取本地传感器数据503和远程传感器数据505。在一些具体实施中,身体/头部姿态跟踪引擎514基于输入数据确定/生成姿态表征向量515,并且随时间推移更新姿态表征向量515。
图5B示出了根据一些具体实施的用于姿态表征向量515的示例性数据结构。如图5B所示,姿态表征向量515可以对应于N元组表征向量或表征张量,其包括时间戳591(例如,姿态表征向量515最近更新的时间)、头部姿态描述符592A(例如,向上、向下、中性等)、头部姿态的平移值592B、头部姿态的旋转值592C、身体姿态描述符594A(例如,站立、坐着、俯卧等)、身体部位/四肢/肢体/关节的平移值594B、身体部位/四肢/肢体/关节的旋转值594C和/或杂项信息596。在一些具体实施中,姿态表征向量515还包括与手指/手部/四肢跟踪相关联的信息。本领域的普通技术人员将理解,图5B中的姿态表征向量515的数据结构仅仅是一个示例,其可以在各种其他具体实施中包括不同的信息部分,并且可以在各种其他具体实施中以多种方式构造。
根据一些具体实施,数据聚合器521获得对象跟踪向量511、眼睛跟踪向量513和姿态表征向量515(有时在此统称为“输入向量519”)。在一些具体实施中,数据聚合器521聚合对象跟踪向量511、眼睛跟踪向量513和姿态表征向量515,并且基于聚合结果确定/生成表征向量531以供随后在下游使用。
在一些具体实施中,内容选择引擎522基于表征向量531(或其一部分)来确定XR环境128内的所选择的内容部分523。例如,内容选择引擎522基于当前上下文信息、用户149的注视方向、与用户149相关联的身体姿态信息、与用户149相关联的头部姿态信息、与用户149相关联的手部/四肢跟踪信息、与物理对象相关联的位置信息、与物理对象相关联的旋转信息等来确定所选择的内容部分523。作为一个示例,根据确定与物理对象正被用户握持的方式相关联的抓持姿态对应于第一抓持(例如,第一抓持=指向式/魔杖式抓持),内容选择引擎522基于物理对象的预先确定的部分(例如,面向外的端部)所指向的方向(例如,从该预先确定的部分投射的线束)对内容的第一部分执行选择操作。作为另一示例,根据确定与物理对象正被用户握持的方式相关联的抓持姿态不对应于第一抓持,内容选择引擎522基于用户的注视方向对内容的第二部分执行选择操作。
在一些具体实施中,抓持姿态评估器524基于表征向量531(或其一部分)确定与物理对象正被用户149握持的当前方式相关联的抓持姿态525。例如,抓持姿态评估器524基于当前上下文信息、与用户149相关联的身体姿态信息、与用户149相关联的头部姿态信息、与用户149相关联的手部/四肢跟踪信息、与物理对象相关联的位置信息、与物理对象相关联的旋转信息等来确定抓持姿态525。在一些具体实施中,抓持姿态525指示用户149抓握物理对象的方式。例如,抓持姿态525对应于遥控器式抓持、魔杖式抓持、书写式抓持、反向书写式抓持、手柄式抓持、拇指顶部抓持、水平式抓持、游戏手柄式抓持、长笛式抓持、点火器式抓持等中的一者。
在一些具体实施中,输出模态选择器526选择与物理对象与XR环境128交互或操纵XR环境128的方式相关联的当前输出模态527。例如,第一输出模态对应于选择/操纵XR环境128内的对象/内容,并且第二输出模态对应于XR环境128内的素描、绘图、书写等。作为一个示例,根据确定物理对象的移动导致物理对象相对于第一多个图形元素中的第一图形元素突破距离阈值,输出模态选择器526选择与第一图形元素相关联的第一输出模态作为物理对象的当前输出模态527。作为另一示例,根据确定物理对象的移动导致物理对象相对于第一多个图形元素中的第二图形元素突破距离阈值,输出模态选择器526选择第二输出模态作为物理对象的当前输出模态527。
在一些具体实施中,参数调节器528基于与物理对象相关联的第一输入(压力)值或第二输入(压力)值来调节与指向XR环境128的标记输入相关联的参数值529(例如,标记的厚度、亮度、颜色、纹理等)。作为一个示例,根据确定标记输入指向物理表面(例如,桌面、另一平坦表面等),参数调节器528基于物理对象正被压贴在物理表面上的力度(例如,第一输入(压力)值)来调节与指向XR环境128的检测到的标记输入相关联的参数值529。作为另一示例,根据确定标记输入未指向物理表面,参数调节器528基于物理对象正被用户149抓握的力度(例如,第二输入(压力)值)来调节与指向XR环境128的检测到的标记输入相关联的参数值529。在该示例中,在物理对象或物理对象的预定义部分(诸如物理对象的尖端)不与物理环境105中的任何物理表面接触时,检测到标记输入。
图5C是根据一些具体实施的示例性内容递送架构的第二部分500B的框图。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,内容递送架构包括在计算系统中,诸如图1和图2所示的控制器110;图1和图3所示的电子设备120;和/或它们的合适组合。图5C类似于并改编自图5A。因此,图5A和图5C中使用了类似的参考标号。因此,为了简明起见,下文仅描述图5A和图5C之间的差异。
根据一些具体实施,交互处理程序540获得(例如,接收、检索或检测)由用户149提供的一个或多个用户输入541,该一个或多个用户输入与选择A/V内容、一个或多个VA和/或XR内容以供呈现相关联。例如,一个或多个用户输入541对应于修改和/或操纵经由手部/四肢跟踪检测到的XR环境128内的XR内容或VA的手势输入、在XR环境128内或从经由手部/四肢跟踪检测到的UI菜单选择XR内容的手势输入、在XR环境128内或从经由眼睛跟踪检测到的UI菜单选择XR内容的眼睛注视输入、在XR环境128内或从经由麦克风检测到的UI菜单选择XR内容的语音命令等。在一些具体实施中,内容选择器542基于一个或多个用户输入541从内容库545选择XR内容547。
在各种具体实施中,内容管理器530基于所选择的内容部分523、抓持姿态525、输出模态527、参数值529、表征向量531等来管理和更新XR环境128的布局、设置、结构等,该XR环境包括VA、XR内容、与XR内容相关联的一个或多个UI元素等中的一者或多者。为此,内容管理器530包括缓冲器534、内容更新器536和反馈引擎538。
在一些具体实施中,缓冲器534包括用于一个或多个过去实例和/或帧的XR内容、渲染的图像帧等。在一些具体实施中,内容更新器536基于所选择的内容部分523、抓持姿态525、输出模态527、参数值529、表征向量531、与修改和/或操纵XR内容或VA相关联的用户输入541、物理环境105内的对象的平移或旋转移动、电子设备120(或用户149)的平移或旋转移动等来随时间推移修改XR环境128。在一些具体实施中,反馈引擎538生成与XR环境128相关联的感官反馈(例如,视觉反馈(诸如文本或照明变化)、音频反馈、触觉反馈等)。
根据一些具体实施,参考图5C中的渲染引擎550,姿态确定器552至少部分地基于姿态表征向量515来确定电子设备120和/或用户149相对于XR环境128和/或物理环境105的当前相机姿态。在一些具体实施中,渲染器554根据相对于其的当前相机姿态,渲染VA、XR内容547、与XR内容相关联的一个或多个UI元素等。
根据一些具体实施,任选的图像处理架构562从图像捕获设备370获取图像流,该图像流包括来自电子设备120和/或用户149的当前相机姿态的物理环境105的一个或多个图像。在一些具体实施中,图像处理架构562还对图像流执行一个或多个图像处理操作,诸如扭曲、颜色校正、γ校正、锐化、降噪、白平衡等。在一些具体实施中,任选的合成器564将渲染的XR内容与来自图像处理架构562的物理环境105的经处理的图像流合成,以产生XR环境128的渲染的图像帧。在各种具体实施中,呈现器570经由一个或多个显示器312向用户149呈现XR环境128的渲染的图像帧。本领域的普通技术人员将理解,任选的图像处理架构562和任选的合成器564可能不适用于完全虚拟环境(或光学透传场景)。
图6A至图6P示出了根据一些具体实施的内容递送场景的实例610至6160的序列。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,由计算系统渲染和呈现实例610至6160的序列,该计算系统诸如为图1和图2所示的控制器110;图1和图3所示的电子设备120;和/或它们的合适组合。
如图6A至图6P所示,内容递送场景包括物理环境105和显示在电子设备120的显示器122上(例如,与用户149相关联)的XR环境128。当用户149物理地存在于物理环境105内时,电子设备120向用户149呈现XR环境128,该物理环境包括当前位于电子设备120的面向外部的图像传感器的FOV 111内的门115。因此,在一些具体实施中,用户149将电子设备120握持在他/她的左手150中,类似于图1中的操作环境100。
换句话讲,在一些具体实施中,电子设备120被配置为呈现XR内容并使得能够在显示器122上实现物理环境105的至少一部分的光学透传或视频透传(例如,门115或其表示)。例如,电子设备120对应于移动电话、平板电脑、膝上型电脑、近眼系统、可穿戴计算设备等。
如图6A所示,在内容递送场景的实例610(例如,与时间T1相关联)期间,电子设备120呈现XR环境128,该XR环境包括门115的表示116和虚拟代理(VA)606。如图6A所示,控制设备130当前既不被用户149握持,也不检测指向其触敏表面175的任何输入。
图6B和图6C示出了其中响应于检测到指向控制设备130的触摸输入而在XR环境128内显示与第一多个输出模态相关联的第一多个图形元素的序列。如图6B所示,在内容递送场景的实例620(例如,与时间T2相关联)期间,控制设备130检测到指向触敏表面175的轻扫输入622。在一些具体实施中,控制设备130向控制器110和/或电子设备120提供轻扫输入622的指示。在一些具体实施中,控制设备130与电子设备120和/或控制器130通信。
如图6C所示,在内容递送场景的实例630(例如,与时间T3相关联)期间,电子设备120响应于获得指向图6B中的控制设备130的触敏表面175的轻扫输入622的指示或检测到指向图6B中的控制设备130的触敏表面175的轻扫输入622而显示图形元素632A、632B、632C和632D(有时在本文中统称为第一多个图形元素632)。
此外,如图6C所示,电子设备120显示用户149的右手152的表示153正在抓持控制设备130的表示131。例如,用户149的右手152当前正以指向式抓持姿态抓持控制设备130。在一些具体实施中,第一多个图形元素632随当前抓持姿态而变化。例如,图形元素632A对应于与在XR环境128内生成铅笔状标记相关联的输出模态,图形元素632B对应于与在XR环境128内生成笔状标记相关联的输出模态,图形元素632C对应于与在XR环境128内生成马克笔状标记相关联的输出模态,并且图形元素632D对应于与在XR环境128内生成喷枪(airbrush)状标记相关联的输出模态。
在图6C中,控制设备130的表示131的空间位置在与图形元素632D相关联的激活区域634之外。在一些具体实施中,激活区域634对应于预先确定的距离阈值,诸如围绕图形元素632D的Xcm半径。在一些具体实施中,激活区域634对应于围绕图形元素632D的确定性距离阈值。
图6D和图6E示出了其中根据确定控制设备130的移动导致控制设备130(或其表示)相对于图形元素632D突破激活区域634(例如,距离阈值)来为控制设备130选择第一输出模态(例如,喷枪标记)的序列。如图6D所示,在内容递送场景的实例640(例如,与时间T4相关联)期间,电子设备120检测控制设备130的移动,该移动导致控制设备130的表示131的空间位置相对于图形元素632D突破(或进入)激活区域634(例如,距离阈值)。响应于检测到控制设备130的导致控制设备130的表示131的空间位置相对于图形元素632D突破激活区域634的移动,电子设备120改变图形元素632D的外观以通过在图形元素632D周围显示边框或框642来指示其选择。本领域的普通技术人员将理解,可以其他方式改变图形元素632D的外观以指示其选择,诸如通过改变其亮度、色彩、纹理、形状、大小、辉光、阴影等。
如图6E所示,在内容递送场景的实例650(例如,与时间T5相关联)期间,响应于检测到控制设备130的导致控制设备130的表示131的空间位置相对于图6D中的图形元素632D突破激活区域634的移动,电子设备120停止显示图形元素632A、632B和632C。
此外,在图6E中,电子设备120响应于检测到控制设备130的导致控制设备130的表示131的空间位置相对于图6D中的图形元素632D突破激活区域634的移动,在XR环境128内显示覆盖在控制设备130的表示131的尖端上的图形元素632D。在一些具体实施中,响应于对图形元素632D的选择,图形元素632D保持锚定到控制设备130的表示131的尖端,如图6E和图6F所示。
图6E和图6F示出了其中对标记输入的检测使得根据当前选择的第一输出模态(例如,喷枪标记)在XR环境128内显示一个或多个标记的序列。如图6E所示,在内容递送场景的实例650(例如,与时间T5相关联)期间,电子设备120通过手部/四肢跟踪来检测控制设备130的标记输入654。如图6F所示,在内容递送场景的实例660(例如,与时间T6相关联)期间,电子设备120响应于检测到图6E中的标记输入654而在XR环境128内显示喷枪状标记662。例如,喷枪状标记662的形状、深度、长度、角度等对应于标记输入654的空间参数(例如,与标记输入相关联的位置值、旋转值、位移、空间加速度、空间速度、角加速度、角速度等)。
图6G至图6I示出了其中根据确定控制设备130的移动导致控制设备130(或其表示)相对于图形元素632B突破激活区域634(例如,距离阈值)来为控制设备130选择第二输出模态(例如,笔标记)的序列。如图6G所示,在内容递送场景的实例670(例如,与时间T7相关联)期间,电子设备120响应于获得指向图6B中的控制设备130的触敏表面175的轻扫输入622的指示或检测到指向图6B中的控制设备130的触敏表面175的轻扫输入622而显示图形元素632A、632B、632C和632D(有时在本文中统称为第一多个图形元素632)。
如图6H所示,在内容递送场景的实例680(例如,与时间T8相关联)期间,电子设备120检测控制设备130的移动,该移动导致控制设备130的表示131的空间位置相对于图形元素632B突破(或进入)激活区域634(例如,距离阈值)。响应于检测到控制设备130的导致控制设备130的表示131的空间位置相对于图形元素632D突破激活区域634的移动,电子设备120改变图形元素632B的外观以通过在图形元素632B周围显示边框或框642来指示其选择。本领域的普通技术人员将理解,可以其他方式改变图形元素632B的外观以指示其选择,诸如通过改变其亮度、色彩、纹理、形状、大小、辉光、阴影等。
如图6I所示,在内容递送场景的实例690(例如,与时间T9相关联)期间,响应于检测到控制设备130的导致控制设备130的表示131的空间位置相对于图6H中的图形元素632B突破激活区域634的移动,电子设备120停止显示图形元素632A、632C和632D。在一些具体实施中,响应于对图形元素632B的选择,图形元素632B保持锚定到控制设备130的表示131的尖端,如图6I至图6N所示。
图6J和图6K示出了其中对第一标记输入的检测使得根据当前选择的第二输出模态(例如,笔标记)和输入(压力)值的当前测量结果在XR环境128内显示一个或多个标记的序列。如图6J所示,在内容递送场景的实例6100(例如,与时间T10相关联)期间,电子设备120通过手部/四肢跟踪来检测控制设备130的标记输入6104。在检测到标记输入6104时,电子设备120还检测输入(压力)值或获得与控制设备130正被用户149的右手152抓握的力度相关联的输入(压力)值的指示。作为一个示例,输入(压力)值由集成到控制设备130的主体中的一个或多个压力传感器检测。作为另一示例,通过利用计算机视觉技术分析由电子设备120的面向外部的图像传感器捕获的一个或多个图像内的手指/皮肤变形等来检测输入(压力)值。如图6J所示,输入(压力)值指示标识6102指示与控制设备130正被用户149抓握的力度相关联的输入(压力)值的当前测量结果6103。根据一些具体实施,输入(压力)值指示标识6102是引导读者的图示,其可以由电子设备120显示或不显示。
如图6K所示,在内容递送场景的实例6110(例如,与时间T11相关联)期间,响应于检测到图6J中的标记输入6104,电子设备120在XR环境128内显示笔状标记6112。例如,笔状标记6112的形状、深度、长度、角度等对应于标记输入6104的空间参数。此外,在图6K中,笔状标记6112与第一厚度值相关联,该第一厚度值对应于图6J中的输入(压力)值的当前测量结果6103。
图6L和图6M示出了其中对第二标记输入的检测使得根据当前选择的第二输出模态(例如,笔标记)和输入(压力)值的当前测量结果在XR环境128内显示一个或多个标记的序列。如图6L所示,在内容递送场景的实例6120(例如,与时间T12相关联)期间,电子设备120通过手部/四肢跟踪来检测控制设备130的标记输入6122。在检测到标记输入6122时,电子设备120还检测输入(压力)值或获得与控制设备130正被用户149的右手152抓握的力度相关联的输入(压力)值的指示。如图6L所示,输入(压力)值指示标识6102指示与控制设备130正被用户149抓握的力度相关联的输入(压力)值的当前测量结果6123。图6L中的输入(压力)值的当前测量结果6123大于图6J中的输入(压力)值的测量结果6103。
如图6M所示,在内容递送场景的实例6130(例如,与时间T13相关联)期间,响应于检测到图6L中的标记输入6122,电子设备120在XR环境128内显示笔状标记6132。例如,笔状标记6132的形状、深度、长度、角度等对应于标记输入6122的空间参数。此外,在图6M中,笔状标记6132与第二厚度值相关联,该第二厚度值对应于图6L中的输入(压力)值的当前测量结果6123。与图6M中的笔状标记6132相关联的第二厚度值大于与图6K中的笔状标记6112相关联的第一厚度值。
图6N和图6O示出了其中响应于检测到指向控制设备130的触摸输入而在XR环境128内显示与第二多个输出模态相关联的第二多个图形元素的序列。如图6N所示,在内容递送场景的实例6140(例如,与时间T14相关联)期间,控制设备130检测到指向触敏表面175的轻扫输入6142。在一些具体实施中,控制设备130向控制器110和/或电子设备120提供轻扫输入6142的指示。
如图6O所示,在内容递送场景的实例6150(例如,与时间T15相关联)期间,电子设备120响应于获得指向图6N中的控制设备130的触敏表面175的轻扫输入6142的指示或检测到指向图6N中的控制设备130的触敏表面175的轻扫输入6142而显示图形元素6152A、6152B、6152C和6152D(有时在本文中统称为第二多个图形元素6152)。
此外,如图6O所示,电子设备120显示用户149的右手152的表示153正在抓持控制设备130的表示131。例如,用户149的右手152当前正以第一端部176指向下并且第二端部177指向上的书写式抓持姿态抓持控制设备130。在一些具体实施中,第二多个图形元素6152随当前抓持姿态(例如,书写式抓持姿态)而变化。例如,图形元素6152A对应于与在XR环境128内生成铅笔状标记相关联的输出模态,图形元素6152B对应于与在XR环境128内生成笔状标记相关联的输出模态,图形元素6152C对应于与在XR环境128内生成窄刷状标记相关联的输出模态,并且图形元素6152D对应于与在XR环境128内生成宽刷状标记相关联的输出模态。
图6O和图6P示出了其中响应于检测到控制设备130的当前抓持姿态的改变而在XR环境128内显示与第三多个输出模态相关联的第三多个图形元素的序列。如图6O所示,在内容递送场景的实例6150(例如,与时间T15相关联)期间,电子设备120用计算机视觉技术检测控制设备130的当前抓持姿态,由此用户149的右手152当前正以第一端部176指向下并且第二端部177指向上的书写式抓持姿态抓持控制设备130。然而,在图6O和图6P之间,电子设备120检测控制设备130的当前抓持姿态从图6O中的书写式抓持姿态到图6P中的反向书写式抓持姿态的改变。
如图6P所示,在内容递送场景的实例6160(例如,与时间T16相关联)期间,电子设备120用计算机视觉技术检测控制设备130的当前抓持姿态,由此用户149的右手152当前正以第一端部176指向上并且第二端部177指向下的反向书写式抓持姿态抓持控制设备130。因此,控制设备130在图6O和图6P之间相对于其端部的取向翻转180°。在图6P中,电子设备120响应于检测到控制设备130的当前抓持姿态从图6O中的书写式抓持姿态到图6P中的反向书写式抓持姿态的改变而显示图形元素6162A、6162B、6162C和6162D(有时在本文中统称为第三多个图形元素6162)。
在一些具体实施中,第三多个图形元素6162随当前抓持姿态(例如,反向书写式抓持姿态)而变化。例如,图形元素6162A对应于与基于第一半径值擦除或移除XR环境128内的像素相关联的输出模态,图形元素6162B对应于与基于大于第一半径值的第二半径值擦除或移除XR环境128内的像素相关联的输出模态,图形元素6162C对应于与测量XR环境128内的标记相关联的输出模态,并且图形元素6162D对应于与切开XR环境128内的标记相关联的输出模态。
图7A至图7N示出了根据一些具体实施的内容递送场景的实例710至7140的序列。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,由计算系统渲染和呈现实例710至7140的序列,该计算系统为诸如图1和图2所示的控制器110;图1和图3所示的电子设备120;和/或它们的合适组合。
如图7A至图7N所示,内容递送场景包括物理环境105和显示在电子设备120的显示器122上(例如,与用户149相关联)的XR环境128。在用户149物理地存在于物理环境105内时,电子设备120向用户149呈现XR环境128,该XR环境包括当前位于电子设备120的面向外部的图像传感器的FOV 111内的桌子107的位置。因此,在一些具体实施中,用户149用他/她的左手150或右手152握持电子设备120。
换句话讲,在一些具体实施中,电子设备120被配置为呈现XR内容并使得能够在显示器122上实现物理环境105的至少一部分(例如,桌子107)的光学透传或视频透传。例如,电子设备120对应于移动电话、平板电脑、膝上型电脑、近眼系统、可穿戴计算设备等。
如图7A所示,在内容递送场景的实例710(例如,与时间T1相关联)期间,电子设备120呈现包括桌子107的一部分、虚拟代理(VA)606、XR基底718(例如,2D或3D画布)以及菜单712的XR环境128。如图7A所示,电子设备120还显示在XR环境128内用户149的左手150的表示151正在抓持控制设备130的表示131。例如,用户149的左手150当前正以书写式抓持姿态抓持控制设备130。如图7A所示,菜单712包括与改变在XR环境内作出的标记的外观(例如,不同颜色、纹理等)相关联的多个可选择的选项714。例如,当前在多个可选择的选项714中选择选项714A。在该示例中,选项714A对应于在XR环境128内作出的标记的第一外观(例如,黑色标记)。如图7A所示,菜单712还包括用于调节在XR环境128内作出的标记的厚度的滑块716。
图7A和图7B示出了其中对第一标记输入的检测使得根据输入(压力)值的第一测量结果在XR环境128内显示一个或多个标记的序列。如图7A所示,在内容递送场景的实例710(例如,与时间T1相关联)期间,电子设备120通过手部/四肢跟踪来检测控制设备130的标记输入715。在检测到标记输入715时,电子设备120还检测输入(压力)值或获得与控制设备130正被用户149的左手150抓握的力度相关联的输入(压力)值的指示。作为一个示例,输入(压力)值由集成到控制设备130的主体中的一个或多个压力传感器检测。作为另一示例,通过利用计算机视觉技术分析由电子设备120的面向外部的图像传感器捕获的一个或多个图像内的手指/皮肤变形等来检测输入(压力)值。如图7A所示,输入(压力)值指示标识717指示与控制设备130正被用户149抓握的力度相关联的输入(压力)值的当前测量结果719。根据一些具体实施,输入(压力)值指示标识717是引导读者的图示,其可以由电子设备120显示或不显示。
如图7B所示,在内容递送场景的实例720(例如,与时间T2相关联)期间,电子设备120响应于检测到图7A中的标记输入715在XR环境128内的XR基底718上显示标记722。例如,标记722的形状、深度、长度、角度等对应于标记输入715的空间参数(例如,与标记输入相关联的位置值、旋转值、位移、空间加速度、空间速度、角加速度、角速度等)。此外,在图7B中,标记722与第一厚度值相关联,该第一厚度值对应于图7A中的输入(压力)值的当前测量结果719。
图7C和图7D示出了其中对第二标记输入的检测使得根据输入(压力)值的第二测量结果在XR环境128内显示一个或多个标记的序列。如图7C所示,在内容递送场景的实例730(例如,与时间T3相关联)期间,电子设备120通过手部/四肢跟踪来检测控制设备130的标记输入732。在检测到标记输入732时,电子设备120还检测输入(压力)值或获得与控制设备130正被用户149的左手150抓握的力度相关联的输入(压力)值的指示。如图7C所示,输入(压力)值指示标识717指示与控制设备130正被用户149抓握的力度相关联的输入(压力)值的当前测量结果739。例如,图7C中的当前测量结果739大于图7A中的测量结果719。
如图7D所示,在内容递送场景的实例740(例如,与时间T4相关联)期间,电子设备120响应于检测到图7C中的标记输入732在XR环境128内的XR基底718上显示标记742。例如,标记742的形状、深度、长度、角度等对应于标记输入732的空间参数。此外,在图7D中,标记742与第二厚度值相关联,该第二厚度值对应于图7C中的输入(压力)值的当前测量结果739。例如,与标记742相关联的第二厚度值大于与标记722相关联的第一厚度值。
图7E和图7F示出了其中对操纵输入的检测使得在XR环境128内平移一个或多个标记的序列。如图7E所示,在内容递送场景的实例750(例如,与时间T5相关联)期间,电子设备120检测控制设备130的与在XR环境128内平移标记742相对应的操纵输入752。在检测到操纵输入752时,电子设备120还检测指向控制设备130的触敏表面175的触摸输入754,或获得指向控制设备130的触敏表面175的触摸输入754的指示。作为一个示例,由控制设备130的触敏表面175检测触摸输入754。作为另一示例,通过利用计算机视觉技术分析由电子设备120的面向外部的图像传感器捕获的一个或多个图像来检测触摸输入754。
如图7F所示,在内容递送场景的实例760(例如,与时间T6相关联)期间,电子设备120响应于检测到图7E中的操纵输入752同时还检测到指向图7E中的控制设备130的触敏表面175的触摸输入754而在XR环境128内平移标记742。在一些具体实施中,对操纵输入752的检测可足以导致XR环境128内的标记的平移移动,而无需检测指向控制设备130的触敏表面175的触摸输入754。在一些具体实施中,对操纵输入752的检测与对指向控制设备130的触敏表面175的触摸输入754的检测协同地导致XR环境128内的标记的平移移动。例如,标记742的平行移动的角度、方向性、位移等对应于图7E中的操纵输入752的空间参数。在一些具体实施中,操纵输入752还可以基于操纵输入752的旋转参数导致标记742的旋转移动。
图7G和图7H示出了其中对第一标记输入的检测使得根据输入(压力)值的第一测量结果在XR环境128内显示一个或多个标记的序列。如图7G所示,在内容递送场景的实例770(例如,与时间T7相关联)期间,电子设备120通过手部/四肢跟踪来检测控制设备130的指向桌子107上的输入区域774的标记输入772。例如,输入区域774对应于平面的与桌子107的表面相关联的部分。在一些具体实施中,输入区域774用XR边框等来可视化。在一些具体实施中,输入区域774在XR环境128内不被可视化。
在检测到标记输入772时,电子设备120还检测输入(压力)值或获得与控制设备130正被压贴在桌子107上的力度相关联的输入(压力)值的指示。作为一个示例,输入(压力)值由集成到控制设备130的尖端中的一个尖端中的一个或多个压力传感器检测。作为另一示例,通过利用计算机视觉技术分析由电子设备120的面向外部的图像传感器捕获的一个或多个图像来检测输入(压力)值。如图7G所示,输入(压力)值指示标识777指示输入(压力)值的当前测量结果779,该输入(压力)值与控制设备130被压贴在桌子107上的力度相关联。根据一些具体实施,输入(压力)值指示标识777是引导读者的图示,其可以由电子设备120显示或不显示。
如图7H所示,在内容递送场景的实例780(例如,与时间T8相关联)期间,响应于检测到图7G中的标记输入715,电子设备120在XR环境128内的XR基底718上显示标记782A,并且在输入区域774上显示标记782B。例如,标记782A和782B的形状、深度、长度、角度等对应于图7G中的标记输入772的空间参数(例如,与标记输入相关联的位置值、旋转值、位移、空间加速度、空间速度、角加速度、角速度等)。此外,在图7H中,标记782A和782B与第一厚度值相关联,该第一厚度值对应于图7G中的输入(压力)值的当前测量结果779。
图7I和图7J示出了其中对第二标记输入的检测使得根据输入(压力)值的第二测量结果在XR环境128内显示一个或多个标记的序列。如图7I所示,在内容递送场景的实例790(例如,与时间T9相关联)期间,电子设备120通过手部/四肢跟踪来检测控制设备130的指向桌子107上的输入区域774的标记输入792。在检测到标记输入792时,电子设备120还检测输入(压力)值或获得与控制设备130正被压贴在桌子107上的力度相关联的输入(压力)值的指示。如图7I所示,输入(压力)值指示标识777指示输入(压力)值的当前测量结果799,该输入(压力)值与控制设备130被压贴在桌子107上的力度相关联。例如,图7I中的当前测量结果799大于图7G中的测量结果779。
如图7J所示,在内容递送场景的实例7100(例如,与时间T10相关联)期间,响应于检测到图7I中的标记输入792,电子设备120在XR环境128内的XR基底718上显示标记7102A,并且在输入区域774上显示标记7102B。例如,标记7102A和7102B的形状、深度、长度、角度等对应于图7I中的标记输入792的空间参数(例如,与标记输入相关联的位置值、旋转值、位移、空间加速度、空间速度、角加速度、角速度等)。此外,在图7J中,标记7102A和7102B与第二厚度值相关联,该第二厚度值对应于图7I中的输入(压力)值的当前测量结果799。例如,与标记7102A和7102B相关联的第二厚度值大于与标记782A和782B相关联的第一厚度值。
图7K和图7L示出了其中对第一内容放置输入的检测使得根据输入(压力)值的当前测量结果在XR环境128内显示第一XR内容的序列。如图7K所示,在内容递送场景的实例7110(例如,与时间T11相关联)期间,电子设备120呈现包括桌子107的一部分、VA 606、XR基底7118(例如,平坦基底)和菜单7112的XR环境128。如图7K所示,菜单7112包括与改变放置在XR环境中的XR内容的外观(例如,不同形状、颜色、纹理等)相关联的多个可选择的选项7114。例如,当前在多个可选择的选项7114中选择选项7114A。在该示例中,选项7114A对应于放置在XR环境128内的XR内容的第一外观。如图7A所示,菜单7112还包括用于调节放置在XR环境128内的XR内容的大小的滑块7116。
如图7K所示,在内容递送场景的实例7110(例如,与时间T11相关联)期间,电子设备120检测指向控制设备130的触敏表面175的触摸输入7111或获得指向控制设备130的触敏表面175的触摸输入7111的指示,同时控制设备130的表示131在XR基底7118上方的距离7115处。作为一个示例,由控制设备130的触敏表面175检测触摸输入7111。作为另一示例,通过利用计算机视觉技术分析由电子设备120的面向外部的图像传感器捕获的一个或多个图像来检测触摸输入7111。例如,触摸输入7111对应于在XR环境128内放置XR内容(例如,立方体)。本领域普通技术人员将理解,其他XR内容可以类似地放置在XR环境128内。
在检测到触摸输入7111时,电子设备120还检测输入(压力)值或获得与控制设备130正被用户149的左手150抓握的力度相关联的输入(压力)值的指示。如图7K所示,输入(压力)值指示标识717指示与控制设备130正被用户149抓握的力度相关联的输入(压力)值的当前测量结果7119。根据一些具体实施,输入(压力)值指示标识717是引导读者的图示,其可以由电子设备120显示或不显示。
如图7L所示,在内容递送场景的实例7120(例如,与时间T12相关联)期间,电子设备120响应于检测到图7K中的触摸输入7111在XR环境128内的XR基底7118上方的距离7115处显示第一XR内容7122。如图7L所示,电子设备120还在与第一XR内容7122相关联的XR基底7118上显示阴影7124。例如,当在图7K中检测到触摸输入7111时,第一XR内容7122和阴影7124的位置和旋转值对应于控制设备130的表示131的参数(例如,位置值、旋转值等)。例如,第一XR内容7122与对应于图7K中的输入(压力)值的当前测量结果7119的第一大小值相关联。
图7M和图7N示出了其中对第二内容放置输入的检测使得根据输入(压力)值的当前测量结果在XR环境128内显示第二XR内容的序列。如图7M所示,在内容递送场景的实例7130(例如,与时间T13相关联)期间,电子设备120检测指向控制设备130的触敏表面175的触摸输入7131或获得指向控制设备130的触敏表面175的触摸输入7131的指示,同时控制设备130的表示131与XR基底7118接触。
在检测到触摸输入7131时,电子设备120还检测输入(压力)值或获得与控制设备130正被用户149的左手150抓握的力度相关联的输入(压力)值的指示。如图7M所示,输入(压力)值指示标识717指示与控制设备130正被用户149抓握的力度相关联的输入(压力)值的当前测量结果7139。根据一些具体实施,输入(压力)值指示标识717是引导读者的图示,其可以由电子设备120显示或不显示。
如图7N所示,在内容递送场景的实例7140(例如,与时间T14相关联)期间,电子设备120响应于检测到图7M中的触摸输入7131在XR环境128内的XR基底7118上显示第二XR内容7142。如图7N所示,电子设备120不在XR基底7118上显示与第二XR内容7142相关联的阴影。例如,当在图7M中检测到触摸输入7131时,第二XR内容7142的位置和旋转值对应于控制设备130的表示131的参数(例如,位置值、旋转值等)。例如,第二XR内容7142与对应于图7K中的输入(压力)值的当前测量结果7139的第二大小值相关联。例如,与第二XR内容7142相关联的第二大小值大于与第一XR内容7122相关联的第一大小值。
图8A至图8M示出了根据一些具体实施的内容递送场景的实例810至8130的序列。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,由计算系统渲染和呈现实例810至8130的序列,该计算系统为诸如图1和图2所示的控制器110;图1和图3所示的电子设备120;和/或它们的合适组合。
如图8A至图8M所示,内容递送场景包括物理环境105和显示在电子设备120的显示器122上(例如,与用户149相关联)的XR环境128。当用户149物理地存在于物理环境105内时,电子设备120向用户149呈现XR环境128,该物理环境包括当前位于电子设备120的面向外部的图像传感器的FOV 111内的门115。因此,在一些具体实施中,用户149用他/她的左手150或右手152握持电子设备120。
换句话讲,在一些具体实施中,电子设备120被配置为呈现XR内容并使得能够在显示器122上实现物理环境105的至少一部分的光学透传或视频透传(例如,门115或其表示)。例如,电子设备120对应于移动电话、平板电脑、膝上型电脑、近眼系统、可穿戴计算设备等。
如图8A所示,在内容递送场景的实例810(例如,与时间T1相关联)期间,电子设备120呈现包括物理环境105内的门115的表示116、虚拟代理(VA)606和XR内容802(例如,圆柱体)的XR环境128。如图8A所示,电子设备120还基于眼睛跟踪显示与用户149的眼睛在XR环境128内的焦点相关联的注视方向806。在一些具体实施中,不显示或可视化注视方向806。如图8A所示,电子设备120还显示在XR环境128内用户149的右手152的表示153正在抓持代理对象804(例如,棍子、尺子或另一物理对象)的表示805。例如,用户149的右手152当前正以指向式抓持姿态抓持代理对象804。
图8A和图8B示出了其中指示标识元素的大小基于距离而改变的序列。如图8A所示,代理对象804的表示805与XR内容802相距第一距离814,并且电子设备120在XR内容802上显示具有第一大小的第一指示标识元素812A,该第一指示标识元素对应于XR内容802和从代理对象804的表示805的尖端/端部发出的线束之间的重合点。在一些具体实施中,第一指示标识元素812A的大小随第一距离814而变化。例如,指示标识元素的大小随着距离减小而增大,并且指示标识元素的大小随着距离增大而减小。
如图8B所示,在内容递送场景的实例820(例如,与时间T2相关联)期间,电子设备120在XR内容802上显示具有第二大小的第二指示标识元素812B,该第二指示标识元素对应于XR内容802与从代理对象804的表示805的尖端/端部发出的线束之间的重合点。如图8B所示,代理对象804的表示805与XR内容802相距第二距离824,该第二距离小于图8A中的第一距离814。例如,第二指示标识元素812B的第二大小大于第一指示标识元素812A的第一大小。
图8B至图8D示出了其中响应于检测到代理对象指向XR内容来选择XR内容并且响应于代理对象的平移移动来平移XR内容的序列。在一些具体实施中,电子设备120响应于检测到代理对象804在至少预先确定的时间段内指向XR内容802而选择XR内容802并改变其外观。在一些具体实施中,电子设备120响应于检测到代理对象804在至少确定性的时间段内指向XR内容802而选择XR内容802并改变其外观。
如图8C所示,在内容递送场景的实例830(例如,与时间T3相关联)期间,电子设备120响应于在图8A和图8B中检测到代理对象804在至少预先确定或确定性的时间段内指向XR内容802而将XR内容802的外观改变为交叉影线外观802A以在视觉上指示其选择。如图8C所示,电子设备120还在XR内容802A被选择并且代理对象804的表示805保持指向XR内容802A时检测代理对象804的平移移动832。
如图8D所示,在内容递送场景的实例840(例如,与时间T4相关联)期间,电子设备120响应于检测到图8C中的代理对象804的平移移动832,在XR环境128内平移XR内容802。例如,XR内容802在XR环境128内的平移移动的方向性和位移对应于图8C中的平移移动832的空间参数(例如,位置值的变化、旋转值的变化、位移、空间加速度、空间速度、角加速度、角速度等)。本领域普通技术人员将理解,XR内容802可以类似地旋转。
图8E至图8G示出了其中响应于检测到指向XR内容的注视方向而选择XR内容并且基于注视方向的平移移动来平移XR内容的序列。在一些具体实施中,电子设备120响应于检测到注视方向806在至少预先确定的时间段内指向XR内容802而选择XR内容802并改变其外观。在一些具体实施中,电子设备120响应于检测到注视方向806在至少确定性的时间段内指向XR内容802而选择XR内容802并改变其外观。
如图8E所示,在内容递送场景的实例850(例如,与时间T5相关联)期间,电子设备120基于眼睛跟踪在XR内容802上显示与用户149的眼睛在XR环境128内的焦点相关联的注视方向指示标识元素852。例如,注视方向指示标识元素852对应于XR内容802与从用户149的眼睛发出的线束之间的重合点。如图8E所示,电子设备120还显示在XR环境128内用户149的右手152的表示153正在抓持控制设备130的表示131。例如,用户149的右手152当前正以不指向XR环境128内的任何XR内容的书写式抓持姿态抓持控制设备130。
如图8F所示,在内容递送场景的实例860(例如,与时间T6相关联)期间,电子设备120响应于在图8E中检测到注视方向806在至少预先确定或确定性的时间段内指向XR内容802,将XR内容802的外观改变为交叉影线外观802A以在视觉上指示其选择。如图8F所示,电子设备120还在选择XR内容802A时检测注视方向806的平移移动862。
如图8G所示,在内容递送场景的实例870(例如,与时间T7相关联)期间,电子设备120响应于检测到图8F中的注视方向806的平移移动862,在XR环境128内平移XR内容802。例如,XR内容802在XR环境128内的平移移动的方向性和位移对应于图8F中的注视方向806的平移移动862的空间参数(例如,位置值的变化、旋转值的变化、位移、空间加速度、空间速度、角加速度、角速度等)。
图8H至图8J示出了其中响应于检测到指向XR内容的注视方向而选择XR内容并且基于注视方向的平移移动来平移XR内容的另一个序列。如图8H所示,在内容递送场景的实例880(例如,与时间T8相关联)期间,电子设备120基于眼睛跟踪在XR内容802上显示与用户149的眼睛在XR环境128内的焦点相关联的注视方向指示标识元素852。例如,注视方向指示标识元素852对应于XR内容802与从用户149的眼睛发出的线束之间的重合点。如图8H所示,电子设备120既未检测到代理对象804也未检测到控制设备130正被用户149握持。
如图8I所示,在内容递送场景的实例890(例如,与时间T9相关联)期间,电子设备120响应于在图8H中检测到注视方向806在至少预先确定或确定性的时间段内指向XR内容802,将XR内容802的外观改变为交叉影线外观802A以在视觉上指示其选择。如图8I所示,电子设备120还在选择XR内容802A时检测注视方向806的平移移动892。
如图8J所示,在内容递送场景的实例8100(例如,与时间T10相关联)期间,电子设备120响应于检测到图8I中的注视方向806的平移移动892,在XR环境128内平移XR内容802。例如,XR内容802在XR环境128内的平移移动的方向性和位移对应于图8I中的注视方向806的平移移动892的空间参数(例如,位置值的变化、旋转值的变化、位移、空间加速度、空间速度、角加速度、角速度等)。
图8K至图8M示出了其中响应于检测到指向XR内容的注视方向来选择XR内容并且基于手部/四肢跟踪输入来平移XR内容的序列。如图8K所示,在内容递送场景的实例8110(例如,与时间T11相关联)期间,电子设备120基于眼睛跟踪在XR内容802上显示与用户149的眼睛在XR环境128内的焦点相关联的注视方向指示标识元素852。例如,注视方向指示标识元素852对应于XR内容802与从用户149的眼睛发出的线束之间的重合点。如图8K所示,电子设备120既未检测到代理对象804也未检测到控制设备130正被用户149握持。
如图8L所示,在内容递送场景的实例8120(例如,与时间T12相关联)期间,电子设备120响应于在图8K中检测到注视方向806在至少预先确定或确定性的时间段内指向XR内容802,将XR内容802的外观改变为交叉影线外观802A以在视觉上指示其选择。如图8L所示,电子设备120在XR内容802A附近显示用户149的右手152的表示153,该右手使用手部/四肢跟踪来检测和跟踪。如图8L所示,电子设备120还检测用户149的右手152的平移移动8122。
如图8M所示,在内容递送场景的实例8130(例如,与时间T13相关联)期间,电子设备120响应于检测到图8L中的平移移动8122在XR环境128内平移XR内容802。例如,XR内容802在XR环境128内的平移移动的方向性和位移对应于图8L中的平移移动8122的空间参数(例如,位置值的变化、旋转值的变化、位移、空间加速度、空间速度、角加速度、角速度等)。本领域普通技术人员将理解,其他XR内容可以类似地旋转。
图9A至图9C示出了根据一些具体实施的在与XR环境交互或操纵XR环境时为物理对象选择输出模态的方法900的流程图表示。在各种具体实施中,方法900在包括非暂态存储器和一个或多个处理器的计算系统处执行,其中该计算系统通信地耦接到显示设备和一个或多个输入设备(例如,图1和图3所示的电子设备120;图1和图2中的控制器110;或它们的合适组合)。在一些具体实施中,方法900由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法900由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。在一些具体实施中,计算系统对应于平板电脑、膝上型电脑、移动电话、近眼系统、可穿戴计算设备等中的一者。
通常,用户通过从工具栏或菜单中选择新工具来在标记工具之间切换。这可中断用户的当前工作流,并且还可以诱导用户在各种菜单内搜寻新工具。相比之下,本文描述的方法使得用户能够通过在物理对象(例如,代理对象诸如铅笔或电子设备诸如触控笔)上轻扫并朝向工具集中的工具中的一个工具的图形表示移动物理对象来调用对工具集的显示。因此,用户能够在工具之间切换而不中断他们的工作流。
如框902所表示的,方法900包括经由显示设备在扩展现实(XR)环境内显示与第一多个输出模态相关联的第一多个图形元素。在一些具体实施中,输出模态引起UI或XR环境内的改变,诸如添加、移除或以其他方式修改UI或XR环境内的像素。例如,第一多个图形元素对应于用于在XR环境内创建、修改标记等的不同工具类型,诸如铅笔、马克笔、颜料刷、橡皮擦等。
作为一个示例,电子设备120在图6C中显示图形元素632A、632B、632C和632D(有时在本文中统称为第一多个图形元素632)。在该示例中,图形元素632A对应于与在XR环境128内生成铅笔状标记相关联的输出模态,图形元素632B对应于与在XR环境128内生成笔状标记相关联的输出模态,图形元素632C对应于与在XR环境128内生成马克笔状标记相关联的输出模态,并且图形元素632D对应于与在XR环境128内生成喷枪状标记相关联的输出模态。作为另一示例,电子设备120在图6O中显示图形元素6152A、6152B、6152C和6152D(有时在本文中统称为第二多个图形元素6152)。在该示例中,图形元素6152A对应于与在XR环境128内生成铅笔状标记相关联的输出模态,图形元素6152B对应于与在XR环境128内生成笔状标记相关联的输出模态,图形元素6152C对应于与在XR环境128内生成窄刷状标记相关联的输出模态,并且图形元素6152D对应于与在XR环境128内生成宽刷状标记相关联的输出模态。
在一些具体实施中,显示设备对应于透明透镜组件,并且其中XR环境的呈现被投影到透明透镜组件上。在一些具体实施中,显示设备对应于近眼系统,并且其中呈现XR环境包括将XR环境的呈现与由面向外部的图像传感器捕获的物理环境的一个或多个图像进行合成。
在一些具体实施中,方法900包括:在显示第一多个图形元素之前,获得(例如,接收、检索或检测)指向物理对象的触摸输入的指示,并且其中在XR环境内显示第一多个图形元素包括响应于获得触摸输入的指示而在XR环境内显示第一多个图形元素。在一些具体实施中,物理对象对应于具有能够检测触摸输入的触敏区域的触控笔。例如,触控笔检测到其触敏表面上的向上或向下轻扫手势,并且计算系统从触控笔获得(例如,接收或检索)触摸输入的指示。例如,图6B和图6C示出了其中电子设备120响应于检测到指向图6B中的控制设备130的触摸输入622而在图6C中的XR环境128内显示与第一多个输出模态相关联的第一多个图形元素632的序列。
在一些具体实施中,方法900包括:在显示第一多个图形元素之前,获得(例如,接收、检索或确定)与物理对象正被用户握持的当前方式相关联的抓持姿态,其中第一多个图形元素随抓持姿态而变化;并且响应于获得抓持姿态:根据确定抓持姿态对应于第一抓持姿态,经由显示设备在XR环境内显示与第一多个输出模态相关联的第一多个图形元素;并且根据确定抓持姿态对应于不同于第一抓持姿态的第二抓持姿态,经由显示设备在XR环境内显示与第二多个输出模态相关联的第二多个图形元素。例如,指向式/魔杖式抓持对应于与第一多个工具关联的第一多个图形元素,并且书写式抓持对应于与第二多个工具相关联的第二多个图形元素。在一些具体实施中,第一多个输出模态和第二多个输出模态包括至少一个重叠的输出模态。在一些具体实施中,第一多个输出模态和第二多个输出模态包括互斥的输出模态。
作为一个示例,参考图6C,电子设备120根据确定当前抓持姿态对应于指向式抓持姿态而在XR环境128内显示图形元素632。作为另一示例,参考图6O,电子设备120根据确定当前抓持姿态对应于以第一端部176指向下并且第二端部177指向上的书写式抓持姿态而在XR环境128内显示图形元素6152。作为另一示例,参考图6P,电子设备120根据确定当前抓持姿态对应于以第一端部176指向上并且第二端部177指向下的反向书写式抓持姿态的而在XR环境128内显示图形元素6162。
在一些具体实施中,方法900包括:在XR环境内显示与第一多个输出模态相关联的第一多个图形元素之后,检测抓持姿态从第一抓持姿态到第二抓持姿态的改变;并且响应于检测到抓持姿态的改变,用与XR环境内的第二多个输出模态相关联的第二多个图形元素替换在XR环境内对第一多个图形元素的显示。在一些具体实施中,计算系统还停止显示第一多个图形元素。例如,指向式/魔杖式抓持对应于与第一多个输出模态相关联的第一多个图形元素,并且书写式抓持对应于与第二多个输出模态相关联的第二多个图形元素。在一些具体实施中,第一多个图形元素和第二多个图形元素包括至少一些重叠的输出模态。在一些具体实施中,第一多个图形元素和第二多个图形元素包括互斥的输出模态。例如,图6O和图6P示出了其中电子设备120响应于检测到控制设备130的当前抓持姿态的改变(例如,从图6O中的书写式抓持姿态到图6P中的反向书写式抓持姿态)而用多个图形元素6162替换多个图形元素6152的序列。
在一些具体实施中,方法900包括:在显示第一多个图形元素之前,获得(例如,接收、检索或确定)指示物理对象的第一端部还是第二端部面向外(例如,相对于表面、用户、计算系统等向外)的信息;并且响应于获得指示物理对象的第一端部还是第二端部面向外的信息:根据确定物理对象的第一端部面向外,经由显示设备在XR环境内显示与第一多个输出模态相关联的第一多个图形元素;并且根据确定物理对象的第二端部面向外,经由显示设备在XR环境内显示与第二多个输出模态相关联的第二多个图形元素。例如,面向外的第一端部对应于与第一多个输出模态(例如,素描和书写工具)相关联的第一多个图形元素,并且面向外的第二端部对应于与第二多个输出模态(例如,擦除或编辑工具)相关联的第二多个图形元素。在一些具体实施中,第一多个输出模态和第二多个输出模态包括至少一个重叠的输出模态。在一些具体实施中,第一多个输出模态和第二多个输出模态包括互斥的输出模态。
作为另一示例,参考图6O,电子设备120根据确定当前抓持姿态对应于以第一端部176指向下并且第二端部177指向上的书写式抓持姿态而在XR环境128内显示图形元素6152。作为另一示例,参考图6P,电子设备120根据确定当前抓持姿态对应于以第一端部176指向上并且第二端部177指向下的反向书写式抓持姿态的而在XR环境128内显示图形元素6162。
在一些具体实施中,方法900包括:在XR环境内显示与第一多个输出模态相关联的第一多个图形元素之后,检测从物理对象的第一端部面向外到物理对象的第二端部面向外的改变;并且响应于检测到从物理对象的第一端部面向外到物理对象的第二端部面向外的改变,经由显示设备在XR环境内显示与第二多个输出模态相关联的第二多个图形元素。在一些具体实施中,计算系统还停止显示第一多个图形元素。例如,面向外的第一端部对应于与第一多个输出模态工具(例如,素描和书写工具)相关联的第一多个图形元素,并且面向外的第二端部对应于与第二多个输出模态(例如,擦除或编辑工具)相关联的第二多个图形元素。例如,图6O和图6P示出了其中电子设备120响应于检测到控制设备130的当前抓持姿态的改变(例如,从图6O中的书写式抓持姿态到图6P中的反向书写式抓持姿态)而用多个图形元素6162替换对多个图形元素6152的显示的序列。
如框904所表示的,方法900包括在显示第一多个图形元素时检测物理对象的第一移动。在一些具体实施中,计算系统获得(例如,接收、检索或确定)物理对象的平移值和旋转值,其中检测第一移动对应于检测物理对象的平移值或旋转值中的一者的变化。例如,计算系统经由计算机视觉、磁传感器、位置信息等来跟踪物理对象。作为一个示例,物理对象对应于没有到计算系统的通信信道的代理对象,诸如铅笔、笔等。作为另一示例,物理对象对应于具有到计算系统的有线或无线通信信道的电子设备诸如触控笔、手指可穿戴设备等,该计算系统包括用于六自由度(6DOF)跟踪的IMU、加速度计、陀螺仪、磁力仪等。
在一些具体实施中,计算系统基于跟踪数据506保持物理对象的一个或多个N元组跟踪向量/张量(例如,图5A和图5B中的对象跟踪向量511)。在一些具体实施中,物理对象的一个或多个N元组跟踪向量/张量(例如,图5A和图5B中的对象跟踪向量511)包括物理对象相对于整个世界或当前操作环境的平移值(例如,x、y和z)、物理对象的旋转值(例如,滚动、俯仰和偏航)、物理对象的抓持姿势指示(例如,指向、书写、擦除、绘画、口述等)、当前使用的尖端/端部指示(例如,物理对象可以具有带有特定第一尖端和第二尖端的非对称设计或者带有非特定第一尖端和第二尖端的对称设计)、与物理对象正被压贴在物理表面上的力度相关联的第一输入(压力)值、与物理对象正被用户抓持的力度相关联的第二输入(压力)值、触摸输入信息等。
在一些具体实施中,跟踪数据506对应于物理环境的包括物理对象的一个或多个图像,以使得能够经由计算机视觉技术来对物理对象进行6DOF跟踪。在一些具体实施中,跟踪数据506对应于由物理对象的各种集成传感器(诸如,IMU、加速度计、陀螺仪、磁力仪等)收集的数据。例如,跟踪数据506对应于原始传感器数据或经处理的数据,诸如与物理对象相关联的平移值(相对于物理环境或整个世界)、与物理对象相关联的旋转值(相对于重力)、与物理对象相关联的速度值、与物理对象相关联的角速度值、与物理对象相关联的加速度值、与物理对象相关联的角加速度值、与物理对象正在接触物理表面的力度相关联的第一输入(压力)值、与物理对象正被用户抓握的力度相关联的第二输入(压力)值等。
在一些具体实施中,计算系统还经由通信接口获得由物理对象检测到的手指操纵数据。例如,手指操纵数据包括指向物理对象的触敏区域的触摸输入或手势等。例如,手指操纵数据包括相对于物理对象的主体的接触强度数据。在一些具体实施中,物理对象包括被配置为检测指向其的触摸输入的触敏表面/区域,诸如纵向延伸的触敏表面。在一些具体实施中,物理对象的平移值和旋转值包括基于来自物理对象的IMU数据、物理环境105的包括物理对象的一个或多个图像、磁跟踪数据等中的至少一者来确定物理对象的平移值和旋转值。
在一些具体实施中,计算系统还包括被提供来与物理对象通信的通信接口,并且其中获得与物理对象相关联的跟踪数据506包括从物理对象获得跟踪数据506,其中跟踪数据对应于来自物理对象的一个或多个集成传感器的输出数据。图6C至图6P示出了用户149抓握控制设备130,该控制设备与电子设备120通信并用于与XR环境128交互。例如,该一或多个集成传感器包括IMU、加速度计、陀螺仪、GPS、磁力仪、一个或多个接触强度传感器、触敏表面等中的至少一者。在一些具体实施中,跟踪数据506还指示物理对象的尖端是否接触物理表面以及与其相关联的压力值。
在一些具体实施中,方法900包括:获得物理环境的一个或多个图像;利用所述物理环境的所述一个或多个图像来识别所述物理对象;以及分配物理对象(例如,代理对象),以在与XR环境128交互时充当焦点选择器。图8A至图8D示出了用户149抓握代理对象804(例如,尺子、棍子等),该代理对象不能与电子设备120通信并用于与XR环境128交互。在一些具体实施中,当物理对象被用户抓握时,计算系统将物理对象指定为焦点选择器。在一些具体实施中,当物理对象被用户抓握并且物理对象满足预定义约束(例如,最大或最小尺寸、特定形状、数字版权管理(DRM)不合格符等)时,计算系统将物理对象指定为焦点选择器。因此,在一些具体实施中,用户149可使用家用对象来与XR环境进行交互。在一些具体实施中,姿态和抓持指示标识可在代理对象移动和/或FOV移动时被锚定到代理对象(或其表示)。
如框906所表示的,响应于检测到物理对象的第一移动并且根据确定物理对象的第一移动导致物理对象(例如,物理对象的预先确定的部分,诸如物理对象的尖端)相对于第一多个图形元素中的第一图形元素突破距离阈值,方法900包括选择与第一图形元素相关联的第一输出模态作为物理对象的当前输出模态。在一些具体实施中,基于一个或多个因素诸如用户偏好、工具使用历史、图形元素相对于场景的深度、遮挡、当前内容、当前上下文等,距离阈值是非确定性的(即,预先确定的Xmm半径)或确定性的。
根据一些具体实施,根据确定物理对象的第一移动导致物理对象相对于第一多个图形元素中的第一图形元素突破距离阈值,计算系统或其部件(例如,图5A中的输出模态选择器526)选择与第一图形元素相关联的第一输出模态作为物理对象的当前输出模态527。作为一个示例,图6D和图6E示出了其中电子设备120根据确定控制设备130的移动导致控制设备130(或其表示)相对于图形元素632D突破激活区域634(例如,距离阈值)来选择用于控制设备130的第一输出模态(例如,喷枪标记)的序列。
在一些具体实施中,根据确定物理对象的第一移动导致物理对象相对于第一多个图形元素中的第一图形元素突破距离阈值,方法900包括:保持对与物理对象相邻的第一图形元素的显示;以及停止对第一多个图形元素中不包括第一图形元素的剩余部分的显示。作为一个示例,参考图6D和图6E,电子设备120保持在XR环境128内对第一多个图形元素(例如,图形元素632)中覆盖在控制设备130的表示131的尖端上的第一图形元素(例如,图形元素632D)的显示,并且从XR环境128移除对第一多个图形元素的剩余部分(例如,图形元素632A、632B和632C)的显示。
在一些具体实施中,方法900包括:在选择与第一图形元素相关联的第一输出模态作为物理对象的当前输出模态之后,检测物理对象的第二移动;并且响应于检测到物理对象的第二移动,基于物理对象的第二移动来移动第一图形元素,以便保持对与物理对象相邻的第一图形元素的显示。在一些具体实施中,第一图形元素被锚定到物理对象的面向外的端部/尖端。在一些具体实施中,第一图形元素被呈现为从物理对象的面向外的端部/尖端的侧面偏移或向物理对象的面向外的端部/尖端的侧面偏移。在一些具体实施中,第一图形元素“吸附(snap)”到物理对象的表示。作为一个示例,参考图6E和图6F,在检测到控制设备执行标记输入654的移动之后,电子设备120在XR环境128内保持对覆盖在控制设备130的表示131的尖端上的图形元素632D的显示。
在一些具体实施中,方法900包括:在停止对第一多个图形元素的剩余部分的显示之后,获得(例如,接收、检索或检测)指向物理对象的触摸输入的指示;并且响应于获得触摸输入的指示,经由显示设备在XR环境内重新显示第一多个图形元素。在一些具体实施中,物理对象对应于具有能够检测触摸输入的触敏区域的触控笔。例如,触控笔检测到其触敏表面上的向上或向下轻扫手势,并且计算系统从触控笔获得(例如,接收或检索)触摸输入的指示。作为一个示例,参考图6N和图6O,电子设备120响应于检测到指向控制设备130的触摸输入6142而在XR环境128内显示与第二多个输出模态相关联的第二多个图形元素6152。
如框908所表示的,响应于检测到物理对象的第一移动并且根据确定物理对象的第一移动导致物理对象相对于第一多个图形元素中的第二图形元素突破距离阈值,方法900包括选择与第二图形元素相关联的第二输出模态作为物理对象的当前输出模态。
根据一些具体实施,根据确定物理对象的第一移动导致物理对象相对于第一多个图形元素中的第二图形元素突破距离阈值,计算系统或其部件(例如,图5A中的输出模态选择器526)选择与第二图形元素相关联的第二输出模态作为物理对象的当前输出模态527。作为一个示例,图6G至图6I示出了其中电子设备120根据确定控制设备130的移动导致控制设备130(或其表示)相对于图形元素632B突破激活区域634(例如,距离阈值)来选择用于控制设备130的第二输出模态(例如,笔标记)的序列。
在一些具体实施中,根据确定物理对象的第一移动导致物理对象相对于第一多个图形元素中的第二图形元素突破距离阈值,方法900包括:保持对与物理对象相邻的第二图形元素的显示;以及停止对第一多个图形元素中不包括第二图形元素的剩余部分的显示。作为一个示例,参考图6H和图6I,电子设备120保持在XR环境128内对第一多个图形元素(例如,图形元素632)中覆盖在控制设备130的表示131的尖端上的第二图形元素(例如,图形元素632B)的显示,并且从XR环境128移除对第一多个图形元素的剩余部分(例如,图形元素632A、632C和632D)的显示。
在一些具体实施中,如框910所表示的,第一输出模态和第二输出模态引起XR环境内的不同视觉改变。例如,第一输出模态与在XR环境内选择/操纵对象/内容相关联,并且第二输出模态与在XR环境内的素描、绘图、书写等相关联。作为一个示例,参考图6F,在当前输出模态对应于图形元素632D时,电子设备120响应于检测到图6E中的标记输入654而在XR环境128内显示喷枪状标记662。作为另一示例,参考图6J,在当前输出模态对应于图形元素632B时,电子设备120响应于检测到图6J中的标记输入6104而在XR环境128内显示笔状标记6112。
在一些具体实施中,根据确定物理对象的第一移动没有导致物理对象相对于第一图形元素或第二图形元素突破距离阈值,方法900包括:保持初始输出模态作为物理对象的当前输出模态;并且保持对第一多个图形元素的显示。作为一个示例,参考图6C,在控制设备130的表示131在激活区域634之外时,电子设备120保持初始输出模态作为控制设备130的当前输出模态。作为另一示例,参考图6G,在控制设备130的表示131在激活区域634之外时,电子设备120保持初始输出模态作为控制设备130的当前输出模态。
在一些具体实施中,如框912所表示的,方法900包括:在选择与第一图形元素相关联的第一输出模态作为物理对象的当前输出模态之后,检测物理对象的后续标记输入;并且响应于检测到后续标记输入,基于后续标记输入(例如,后续标记输入的形状、位移等)和第一输出模态经由显示设备在XR环境内显示一个或多个标记。根据一些具体实施,计算系统通过用IMU数据、计算机视觉、磁跟踪等在3D中跟踪物理对象来检测物理对象的后续标记输入。在一些具体实施中,该一个或多个标记对应于在XR环境128内显示的XR内容,诸如素描、手写文本、涂写等。作为一个示例,参考图6F,在当前输出模态对应于图形元素632D时,电子设备120响应于检测到图6E中的标记输入654而在XR环境128内显示喷枪状标记662。例如,状标记662的形状、深度、长度、角度等对应于标记输入654的空间参数(例如,与标记输入相关联的位置值、旋转值、位移、空间加速度、空间速度、角加速度、角速度等)。
在一些具体实施中,如框914所表示的,响应于检测到后续标记输入,方法900包括:根据确定与物理对象正被压贴在物理表面上的力度相关联的输入对应于第一输入值,基于后续标记输入(例如,后续标记输入的形状、位移等)和第一输出模态,经由显示设备在XR环境内显示具有第一外观的一个或多个标记,其中第一外观与一个或多个标记的对应于第一输入值的参数相关联;并且根据确定与物理对象正被压贴在物理表面上的力度相关联的输入对应于第二输入值,基于后续标记输入(例如,后续标记输入的形状、位移等)和第一输出模态,经由显示设备在XR环境内显示具有第二外观的一个或多个标记,其中第二外观与一个或多个标记的对应于第二输入值的参数相关联。
在一些具体实施中,该一个或多个标记对应于在XR环境128内显示的XR内容,诸如素描、手写文本、涂写等。在一些具体实施中,计算系统基于本地或远程收集的数据获得(例如,接收、检索或确定)第一输入(压力)值和第二输入(压力)值。作为一个示例,物理对象对应于在其端部/尖端中的一者或两者中具有用于检测在被压贴在物理表面上时的输入(压力)值的压力传感器的电子设备。在一些具体实施中,如框916所表示的,参数对应于XR环境内的该一个或多个标记的半径、宽度、厚度、强度、半透明度、不透明度、颜色或纹理中的一者。
在一个示例中,参考图7H,电子设备120响应于检测到图7G中的标记输入715在XR环境128内的XR基底718上显示标记782A并且在输入区域774上显示标记782B。例如,标记782A和782B的形状、深度、长度、角度等对应于图7G中的标记输入772的空间参数(例如,与标记输入相关联的位置值、旋转值、位移、空间加速度、空间速度、角加速度、角速度等)。此外,在图7H中,标记782A和782B与第一厚度值相关联,该第一厚度值对应于图7G中的输入(压力)值的当前测量结果779。
在另一示例中,参考图7J,电子设备120响应于检测到图7I中的标记输入792在XR环境128内的XR基底718上显示标记7102A并且在输入区域774上显示标记7102B。例如,标记7102A和7102B的形状、深度、长度、角度等对应于图7I中的标记输入792的空间参数(例如,与标记输入相关联的位置值、旋转值、位移、空间加速度、空间速度、角加速度、角速度等)。此外,在图7J中,标记7102A和7102B与第二厚度值相关联,该第二厚度值对应于图7I中的输入(压力)值的当前测量结果799。例如,与标记7102A和7102B相关联的第二厚度值大于与标记782A和782B相关联的第一厚度值。
在一些具体实施中,如框918所表示的,响应于检测到后续标记输入,方法900包括:根据确定与物理对象正被用户抓握的力度相关联的输入对应于第一输入值,基于后续标记输入(例如,后续标记输入的形状、位移等)和第一输出模态,经由显示设备在XR环境内显示具有第一外观的一个或多个标记,其中第一外观与一个或多个标记的对应于第一输入值的参数相关联;并且根据确定与物理对象正被用户抓握的力度相关联的输入对应于第二输入值,基于后续标记输入(例如,后续标记输入的形状、位移等)和第一输出模态,经由显示设备在XR环境内显示具有第二外观的一个或多个标记,其中第二外观与一个或多个标记的对应于第二输入值的参数相关联。
在一些具体实施中,该一个或多个标记对应于在XR环境128内显示的XR内容,诸如素描、手写文本、涂写等。在一些具体实施中,计算系统基于本地或远程收集的数据获得(例如,接收、检索或确定)第一输入(压力)值和第二输入(压力)值。作为一个示例,物理对象对应于具有用于在被用户抓握时检测输入(压力)值的内置压力传感器的电子设备。在一些具体实施中,如框920所表示的,参数对应于XR环境内的标记的半径、宽度、厚度、强度、半透明度、不透明度、颜色或纹理中的一者。
在一个示例中,参考图6J,在当前输出模态对应于图形元素632B时,电子设备120响应于检测到图6J中的标记输入6104而在XR环境128内显示笔状标记6112。例如,笔状标记6112的形状、深度、长度、角度等对应于标记输入6104的空间参数。此外,在图6K中,笔状标记6112与第一厚度值相关联,该第一厚度值对应于图6J中的输入(压力)值的当前测量结果6103。
在另一示例中,参考图6M,电子设备120响应于检测到图6L中的标记输入6122而在XR环境128内显示笔状标记6132。例如,笔状标记6132的形状、深度、长度、角度等对应于标记输入6122的空间参数。此外,在图6M中,笔状标记6132与第二厚度值相关联,该第二厚度值对应于图6L中的输入(压力)值的当前测量结果6123。与图6M中的笔状标记6132相关联的第二厚度值大于与图6K中的笔状标记6112相关联的第一厚度值。
图10A和图10B示出了根据一些具体实施的在直接在物理表面上进行标记时基于第一输入(压力)值或在间接进行标记时基于第二输入(压力)值来改变标记的参数的方法1000的流程图表示。在各种具体实施中,方法1000在包括非暂态存储器和一个或多个处理器的计算系统处执行,其中该计算系统通信地耦接到显示设备和一个或多个输入设备(例如,图1和图3所示的电子设备120;图1和图2中的控制器110;或它们的合适组合)。在一些具体实施中,方法1000由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法1000由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。在一些具体实施中,计算系统对应于平板电脑、膝上型电脑、移动电话、近眼系统、可穿戴计算设备等中的一者。
通常,用户可通过移动工具栏或控制面板中的滑块等来调节标记参数诸如线条粗细。这可中断用户的当前工作流,并且还可以诱导用户在各种菜单内搜寻适当的控件。相比之下,本文描述的方法基于在标记输入指向物理表面时物理对象(例如,代理对象或触控笔)与物理表面之间的第一输入(压力)值或基于与用户对物理对象的抓握相关联的第二输入(压力)值来调节标记参数。因此,用户能够以更大的速度和效率来调节标记参数。
如框1002所表示的,方法1000包括经由显示设备显示用户界面。在一些具体实施中,用户界面包括(1004)在其上显示标记的二维标记区域。(例如,平坦画布)在一些具体实施中,用户界面包括(1006)在其内显示标记的三维标记区域(例如,标记与3D绘画或绘图相关联)。作为一个示例,参考图7A,电子设备120呈现包括XR基底718(例如,2D或3D画布)的XR环境128。
在一些具体实施中,显示设备对应于透明透镜组件,并且其中用户界面的呈现被投影到透明透镜组件上。在一些具体实施中,显示设备对应于近眼系统,并且其中呈现用户界面环境包括将用户界面的呈现与由面向外部的图像传感器捕获的物理环境的一个或多个图像进行合成。
在一些具体实施中,方法1000包括经由显示设备来显示具有与用户界面内的标记相关联的多个不同的可选择工具的用户界面元素(例如,工具栏、菜单等)。在一些具体实施中,用户界面元素被锚定到空间中的点。例如,用户界面元素可被移动到空间中的新的锚点。在一些具体实施中,当用户转动他/她的头部时,用户界面元素将保持锚定到空间中的点并且可离开视场直到用户完成反向头部转动运动(例如,世界/对象锁定)。在一些具体实施中,用户界面元素被锚定到计算系统的用户的视场内的点(例如,头部/身体锁定)。例如,用户界面元素可以被移动到FOV中的新锚定点。在一些具体实施中,当用户转动他/她的头部时,用户界面元素将保持锚定到FOV中的点,使得工具栏停留在FOV内。
作为一个示例,参考图7A,电子设备120呈现包括菜单712的XR环境128。如图7A所示,菜单712包括与改变在XR环境内作出的标记的外观(例如,不同颜色、纹理等)相关联的多个可选择的选项714。例如,当前在多个可选择的选项714中选择选项714A。在该示例中,选项714A对应于在XR环境128内作出的标记的第一外观(例如,黑色标记)。如图7A所示,菜单712还包括用于调节在XR环境128内作出的标记的厚度的滑块716。
如框1008所表示的,在显示用户界面时,方法1000包括检测物理对象的标记输入。例如,标记输入对应于创建2D或3D XR内容,诸如素描、手写文本、涂写等。在一些具体实施中,计算系统获得(例如,接收、检索或确定)物理对象的平移值和旋转值,其中检测第一移动对应于检测物理对象的平移值或旋转值中的一者的变化。例如,计算系统经由计算机视觉、磁传感器等来跟踪物理对象。作为一个示例,物理对象对应于没有到计算系统的通信信道的代理对象,诸如铅笔、笔等。作为另一示例,物理对象对应于具有到计算系统的有线或无线通信信道的电子设备诸如触控笔、手指可穿戴设备等,该计算系统包括用于6DOF跟踪的IMU、加速度计、陀螺仪等。
在一些具体实施中,计算系统保持物理对象的一个或多个N元组跟踪向量/张量(例如,图5A和图5B中的对象跟踪向量511),包括相对于整个世界或当前操作环境的平移值(例如,x、y和z)、旋转值(例如,滚动、俯仰和偏航)、抓持姿势指示(例如,指向、书写、擦除、绘画、口述等)、当前使用的尖端/端部指示(例如,物理对象可以具有带有特定第一尖端和第二尖端的非对称设计或者带有非特定第一尖端和第二尖端的对称设计)、与物理对象正被压贴在物理表面上的力度相关联的第一输入(压力)值、与物理对象正被用户抓持的力度相关联的第二输入(压力)值等。
在一些具体实施中,物理对象包括被配置为检测指向其的触摸输入的触敏表面/区域,诸如纵向延伸的触敏表面。在一些具体实施中,获得物理对象的平移值和旋转值包括基于来自物理对象的惯性测量单元(IMU)数据、物理环境的包括物理对象的一个或多个图像、磁跟踪数据等中的至少一者来确定物理对象的平移值和旋转值。
如框1010所表示的,响应于检测到标记输入并且根据确定标记输入指向物理表面(例如,桌面、另一平坦表面等),方法1000包括基于标记输入(例如,标记输入的形状、大小、取向等)经由显示设备在用户界面内显示标记,其中基于物理对象正被压贴在物理表面上的力度来确定基于标记输入显示的标记的参数。在一些具体实施中,根据确定标记输入指向物理表面(例如,桌面、另一平坦表面等),计算系统或其部件(例如,图5A中的参数调节器528)基于物理对象正被压贴在物理表面上的力度(例如,第一输入(压力)值)来调节与指向XR环境128的检测到的标记输入相关联的输出参数(例如,标记的厚度、亮度、颜色、纹理等)。在一些具体实施中,参数对应于(1014)用户界面内的标记的半径、宽度、厚度、强度、半透明度、不透明度、颜色或纹理中的一者。
根据一些具体实施,基于物理对象的预定义部分(诸如物理对象的与三维环境中的物理表面接触的尖端)被压贴在物理表面上的力度来确定标记的参数。作为一个示例,物理对象对应于在其端部/尖端中的一者或两者中具有用于检测在被压贴在物理表面上时的第一输入(压力)值的压力传感器的电子设备。在一些具体实施中,计算系统将物理表面上的标记输入映射到XR环境内的3D标记区域或2D画布。例如,标记区域和物理表面对应于偏移Ycm的垂直平面。
作为一个示例,图7G和图7H示出了其中对标记输入772的检测使得根据输入(压力)值的测量结果779在XR环境128内显示标记782A和782B的序列。例如,标记782A和782B的形状、深度、长度、角度等对应于图7G中的标记输入772的空间参数(例如,与标记输入相关联的位置值、旋转值、位移、空间加速度、空间速度、角加速度、角速度等)。此外,在图7H中,标记782A和782B与第一厚度值相关联,该第一厚度值对应于图7G中的输入(压力)值的测量结果779。
作为另一示例,图7I和图7J示出了其中对标记输入792的检测使得根据输入(压力)值的测量结果799在XR环境128内显示标记7102A和7102B的序列。例如,标记7102A和7102B的形状、深度、长度、角度等对应于图7I中的标记输入792的空间参数(例如,与标记输入相关联的位置值、旋转值、位移、空间加速度、空间速度、角加速度、角速度等)。此外,在图7J中,标记7102A和7102B与第二厚度值相关联,该第二厚度值对应于图7I中的输入(压力)值的当前测量结果799。例如,与标记7102A和7102B相关联的第二厚度值大于与标记782A和782B相关联的第一厚度值。
如框1012所表示的,响应于检测到标记输入并且根据确定标记输入未指向物理表面,方法1000包括基于标记输入(例如,标记输入的形状、大小、取向等)经由显示设备在用户界面内显示标记,其中基于物理对象正被用户抓握的力度来确定基于标记输入显示的标记的参数。在一些具体实施中,根据确定标记输入未指向物理表面,计算系统或其部件(例如,图5A中的参数调节器528)基于物理对象正被用户149抓握的力度(例如,第二输入(压力)值)来调节与指向XR环境128的检测到的标记输入相关联的输出参数(例如,标记的厚度、亮度、颜色、纹理等)。在一些具体实施中,参数对应于(1014)用户界面内的标记的半径、宽度、厚度、强度、半透明度、不透明度、颜色或纹理中的一者。
根据一些具体实施,计算系统在物理对象或物理对象的预定义部分(诸如物理对象的尖端)未与三维环境中的任何物理表面接触时检测标记输入。例如,物理对象对应于具有用于在被用户抓握时检测第二输入(压力)值的内置压力传感器的电子设备。
作为一个示例,图7A和图7B示出了其中对标记输入715的检测使得根据输入(压力)值的当前测量结果719在XR环境128内显示标记722的序列。例如,标记722的形状、深度、长度、角度等对应于标记输入715的空间参数(例如,与标记输入相关联的位置值、旋转值、位移、空间加速度、空间速度、角加速度、角速度等)。此外,在图7B中,标记722与第一厚度值相关联,该第一厚度值对应于图7A中的输入(压力)值的当前测量结果719。
作为另一示例,图7C和图7D示出了其中对标记输入732的检测使得根据输入(压力)值的测量结果739在XR环境128内显示标记742的序列。例如,标记742的形状、深度、长度、角度等对应于标记输入732的空间参数。此外,在图7D中,标记742与第二厚度值相关联,该第二厚度值对应于图7C中的输入(压力)值的当前测量结果739。例如,与标记742相关联的第二厚度值大于与标记722相关联的第一厚度值。
在一些具体实施中,如框1016所表示的,方法1000包括:在用户界面内显示标记之后,检测物理对象的与在用户界面内移动(例如,平移和/或旋转)标记相关联的后续输入;并且响应于检测到后续输入,基于后续输入在用户界面内移动标记。作为一个示例,图7E和图7F示出了其中电子设备响应于检测到操纵输入752而在XR环境128内平移标记742的序列。例如,标记742的平行移动的角度、方向性、位移等对应于图7E中的操纵输入752的空间参数。在一些具体实施中,操纵输入752还可以基于操纵输入752的旋转参数导致标记742的旋转移动。
在一些具体实施中,如框1018所表示的,检测后续输入对应于获得物理对象上的示能表示已被致动的指示;并且检测物理对象的旋转移动或平移移动中的至少一者。例如,示能表示的致动对应于对指向控制设备130的触敏表面的触摸输入的检测。作为一个示例,图7E和图7F示出了其中电子设备120响应于检测到操纵输入752同时还检测到指向图7E中的控制设备130的触敏表面175的触摸输入754而在XR环境128内平移标记742的序列。
在一些具体实施中,如框1020所表示的,检测后续输入对应于获得与物理对象正被用户抓握的力度相关联的输入值超过阈值输入值的指示;并且检测物理对象的旋转移动或平移移动中的至少一者。例如,输入(压力)值对应于后续输入的选择部分。在一些具体实施中,压力阈值基于一个或多个因素诸如用户偏好、使用历史、当前内容、当前上下文等是非确定性的(即,预先确定的压力值)或确定性的。
在一些具体实施中,如框1022所表示的,响应于检测到后续输入,方法1000包括在用户界面内移动标记时改变用户界面内的至少一些内容的外观。例如,计算系统增加诸如2D画布或3D标记区域的至少一些内容的不透明度、半透明度、模糊半径等。
在一些具体实施中,如框1024所表示的,响应于检测到标记输入并且根据确定标记输入指向物理表面,方法1000包括经由显示设备在XR环境内显示与物理表面和物理对象之间的距离相对应的模拟阴影。在一些具体实施中,阴影的大小、角度等随着物理对象更接近或更远离物理表面而改变。作为一个示例,随着物理对象远离物理表面移动,模拟阴影的大小增加并且相关联的不透明度值减小。继续该示例,随着物理对象移动得更靠近物理表面,模拟阴影的大小减小并且相关联的不透明度值增大。在一些具体实施中,当标记输入未被引导到物理表面时,阴影也可被示出。
作为一个示例,图7K和图7L示出了其中电子设备120响应于检测到与触摸输入7111相关联的第一内容放置输入而根据输入(压力)值的当前测量结果7119在XR环境128内显示第一XR内容7122的序列。如图7L所示,电子设备120还在与第一XR内容7122相关联的XR基底7118上显示阴影7124。例如,当在图7K中检测到触摸输入7111时,第一XR内容7122和阴影7124的位置和旋转值对应于控制设备130的表示131的参数(例如,位置值、旋转值等)。例如,第一XR内容7122与对应于图7K中的输入(压力)值的当前测量结果7119的第一大小值相关联。
作为另一示例,图7M和图7N示出了其中电子设备120响应于检测到与触摸输入7131相关联的第二内容放置输入而根据输入(压力)值的测量结果7139在XR环境128内显示第二XR内容7142的序列。如图7N所示,电子设备120不在XR基底7118上显示与第二XR内容7142相关联的阴影。例如,当在图7M中检测到触摸输入7131时,第二XR内容7142的位置和旋转值对应于控制设备130的表示131的参数(例如,位置值、旋转值等)。例如,第二XR内容7142与对应于图7K中的输入(压力)值的当前测量结果7139的第二大小值相关联。例如,与第二XR内容7142相关联的第二大小值大于与第一XR内容7122相关联的第一大小值。
图11是根据一些具体实施的基于用户当前是否正抓握物理对象来改变选择模态的方法1100的流程图表示。在各种具体实施中,方法1100在包括非暂态存储器和一个或多个处理器的计算系统处执行,其中该计算系统通信地耦接到显示设备和一个或多个输入设备(例如,图1和图3所示的电子设备120;图1和图2中的控制器110;或它们的合适组合)。在一些具体实施中,方法1100由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法1100由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。在一些具体实施中,计算系统对应于平板电脑、膝上型电脑、移动电话、近眼系统、可穿戴计算设备等中的一者。
通常,当在用户界面内导航内容时,用户被限于一个或多个输入模态,诸如触摸输入、语音命令等。此外,不管当前上下文如何,诸如在操作车辆时、在运动中时、在手是满的时,一个或多个输入模态都是可应用的,这可以提示可用性和安全性问题。相比之下,本文中描述的方法使得用户能够在未用指向式抓持握持物理对象(例如,代理对象或触控笔)时基于注视方向来选择内容,并且还使得用户能够在用指向式抓持握持物理对象时基于物理对象的方向来选择内容。因此,用于选择内容的输入模态基于当前上下文动态地改变。
如框1102所表示的,方法1100包括经由显示设备显示内容。作为一个示例,该内容对应于XR环境内的立体内容或3D内容。作为另一示例,内容对应于用户界面(UI)内的平面内容或2D内容。例如,参考图8A至图8D,电子设备120在XR环境128内显示VA 606和XR内容802。
在一些具体实施中,显示设备对应于透明透镜组件,并且其中内容的呈现被投影到透明透镜组件上。在一些具体实施中,显示设备对应于近眼系统,并且其中呈现内容包括将内容的呈现与由面向外部的图像传感器捕获的物理环境的一个或多个图像进行合成。
如框1104所表示的,在显示内容时,并且在物理对象正被用户握持时,方法1100包括检测选择输入。作为一个示例,物理对象对应于在物理环境内检测到的缺少到计算系统的通信信道的代理对象,诸如铅笔、笔等。参考图8A至图8D,电子设备120显示在XR环境128内用户149的右手152的表示153正在抓持代理对象804(例如,棍子、尺子或另一物理对象)的表示805。例如,用户149的右手152当前正以指向式抓持姿态抓持代理对象804。作为另一示例,物理对象对应于具有到计算系统的有线或无线通信信道的电子设备,诸如触控笔、手指可穿戴设备、手持设备等。参考图8E至图8G,电子设备120显示在XR环境128内用户149的右手152的表示153正在抓持控制设备130的表示131。例如,用户149的右手152当前正以不指向XR环境128内的任何XR内容的书写式抓持姿态抓持控制设备130。
如框1106所表示的,响应于检测到选择输入,方法1100包括执行对应于选择输入的操作。在一些具体实施中,计算系统或其部件(例如,图5A中的内容选择引擎522)基于表征向量531(或其一部分)来确定所选择的内容部分523。例如,内容选择引擎522基于当前上下文信息、用户149的注视方向、与用户149相关联的身体姿态信息、与用户149相关联的头部姿态信息、与用户149相关联的手部/四肢跟踪信息、与物理对象相关联的位置信息、与物理对象相关联的旋转信息等来确定所选择的内容部分523。
作为一个示例,根据确定与物理对象正被用户握持的方式相关联的抓持姿态对应于第一抓持(例如,第一抓持=指向式/魔杖式抓持),内容选择引擎522基于物理对象的预先确定的部分(例如,面向外的端部)所指向的方向(例如,从该预先确定的部分投射的线束)对内容的第一部分执行选择操作。作为另一示例,根据确定与物理对象正被用户握持的方式相关联的抓持姿态不对应于第一抓持,内容选择引擎522基于用户的注视方向对内容的第二部分执行选择操作。
在一些具体实施中,如框1108所表示的,方法1100包括改变内容的第一部分或第二部分的外观。作为一个示例,改变内容的第一部分或第二部分的外观对应于改变内容的第一部分或第二部分的颜色、纹理、亮度等以指示其已被选择。作为另一示例,改变内容的第一部分或第二部分的外观对应于显示与内容的第一部分或第二部分相关联的边界框、突出显示、聚光灯等,以指示其已经被选择。例如,参考图8C,电子设备120响应于在图8A和图8B中检测到代理对象804在至少预先确定或确定性的时间段内指向XR内容802而将XR内容802的外观改变为交叉影线外观802A以在视觉上指示其选择。例如,参考图6D,电子设备120响应于检测到控制设备130的导致控制设备130的表示131的空间位置相对于图形元素632D突破激活区域634的移动,通过在图形元素632D周围显示边框或框642以指示其选择来改变图形元素632D的外观。
如框1110所表示的,根据确定与物理对象正被用户握持的方式相关联的抓持姿态对应于第一抓持(例如,第一抓持=指向式/魔杖式抓持),方法1100包括对内容的第一部分执行选择操作,其中基于物理对象的预先确定的部分(例如,面向外的端部)所指向的方向(例如,从该预先确定的部分投射的线束)来选择内容的第一部分(例如,不考虑用户的注视方向)。在一些具体实施中,根据确定与物理对象正被用户握持的方式相关联的抓持姿态对应于第一抓持(例如,第一抓持=指向式/魔杖式抓持),计算系统或其部件(例如,图5A中的内容选择引擎522)基于物理对象的预先确定的部分(例如,面向外的端部)所指向的方向(例如,从该预先确定的部分投射的线束)对内容的第一部分执行选择操作。作为一个示例,图8B和图8C示出了其中电子设备120响应于检测到代理对象804(或其表示805)在至少预先确定或确定性的时间段内指向XR内容802并且根据确定与物理对象804正被用户149握持的方式相关联的抓持姿态对应于第一抓持(例如,指向式抓握)而选择XR内容802的序列。
在一些具体实施中,计算系统获得(例如,接收、检索或确定)物理对象的平移值和旋转值,并且获得(例如,接收、检索或确定)与物理对象正被用户握持的当前方式相关联的抓持姿态。例如,计算系统经由计算机视觉、磁传感器等来跟踪物理对象。作为一个示例,物理对象对应于没有到计算系统的通信信道的代理对象,诸如铅笔、笔等。作为另一示例,物理对象对应于具有到计算系统的有线或无线通信信道的电子设备诸如触控笔、手指可穿戴设备等,该计算系统包括用于6DOF跟踪的IMU、加速度计、陀螺仪等。在一些具体实施中,计算系统保持物理对象的一个或多个N元组跟踪向量/张量,包括相对于整个世界或当前操作环境的平移值(例如,x、y和z)、旋转值(例如,滚动、俯仰和偏航)、抓持姿势指示(例如,指向、书写、擦除、绘画、口述等姿态)、当前使用的尖端/端部指示(例如,物理对象可以具有带有特定第一尖端和第二尖端的非对称设计或者带有非特定第一尖端和第二尖端的对称设计)、与物理对象正被压贴在物理表面上的力度相关联的第一输入(压力)值、与物理对象正被用户抓持的力度相关联的第二输入(压力)值等。在一些具体实施中,物理对象包括被配置为检测指向其的触摸输入的触敏表面/区域,诸如纵向延伸的触敏表面。在一些具体实施中,获得物理对象的平移值和旋转值包括基于来自物理对象的IMU数据、物理环境的包括物理对象的一个或多个图像、磁跟踪数据等中的至少一者来确定物理对象的平移值和旋转值。
如框1112所表示的,根据确定与物理对象正被用户握持的方式相关联的抓持姿态不对应于第一抓持,方法1100包括对内容的不同于内容的第一部分的第二部分执行选择操作,其中基于用户的注视方向来选择内容的第二部分(例如,不考虑从物理对象的预先确定的部分投射的线束的方向)。在一些具体实施中,计算系统或其部件(例如,图5A中的眼睛跟踪引擎512)确定并更新眼睛跟踪向量513,该眼睛跟踪向量包括与相对于整个世界或当前操作环境的注视方向、焦距或焦点等相关联的x和y坐标。在一些具体实施中,计算系统基于来自面向内部的图像传感器的用户的眼睛的一个或多个图像来确定眼睛跟踪向量513。在一些具体实施中,计算系统基于注视方向确定XR环境128内的感兴趣区域(ROI)(例如,NxMmm ROI)。
在一些具体实施中,根据确定与物理对象正被用户握持的方式相关联的抓持姿态不对应于第一抓持,计算系统或其组件(例如,图5A中的内容选择引擎522)基于用户的注视方向对内容的第二部分执行选择操作。作为一个示例,图8E和图8F示出了其中电子设备120响应于检测到用户149的注视方向806在至少预先确定或确定性的时间段内指向XR内容802并且根据确定与物理对象130正被用户149握持的方式相关联的抓持姿态不对应于第一抓持而选择XR内容802的序列。
在一些具体实施中,如框1114所表示的,根据确定抓持姿态对应于第一抓持,方法1100包括经由显示设备显示指示物理对象的预先确定的部分相对于内容指向的方向的第一图形元素。例如,在从物理对象的预先确定的部分投射的线束与XR环境128内的内容、2D画布、3D标记区域、底板(backplane)等重合的重合点处显示第一图形元素。作为一个示例,参考图8A,电子设备120在XR内容802上显示具有第一大小的第一指示标识元素812A,该第一指示标识元素对应于XR内容802与从代理对象804的表示805的尖端/端部发出的线束之间的重合点。
在一些具体实施中,第一图形元素的大小参数(例如,半径)随(1116)内容的第一部分与物理对象之间的距离而变化。在一些具体实施中,第一指示标识元素的大小随着内容的第一部分与物理对象之间的距离减小而增大,并且第一指示标识元素的大小随着内容的第一部分与物理对象之间的距离增大而减小。作为一个示例,参考图8A,电子设备120在XR内容802上显示具有第一大小的第一指示标识元素812A,该第一指示标识元素对应于XR内容802与从代理对象804的表示805的尖端/端部发出的线束之间的重合点。在该示例中,第一指示标识元素812A的大小随第一距离814而变化。作为另一示例,参考图8B,电子设备120在XR内容802上显示具有第二大小的第二指示标识元素812B,该第二指示标识元素对应于XR内容802与从代理对象804的表示805的尖端/端部发出的线束之间的重合点。如图8B所示,代理对象804的表示805与XR内容802相距第二距离824,该第二距离小于图8A中的第一距离814。例如,第二指示标识元素812B的第二大小大于第一指示标识元素812A的第一大小。
在一些具体实施中,如框1118所表示的,根据确定抓持姿态不对应于第一抓持,方法1100包括经由显示设备显示指示用户相对于内容的注视方向的第二图形元素。例如,第二图形元素不同于第一图形元素。例如,第二图形元素被显示在从用户的一只或多只眼睛投射的线束撞击XR环境中的内容、2D画布、3D标记区域、底板等的重合点处。例如,参考图8E,电子设备120基于眼睛跟踪在XR内容802上显示与用户149的眼睛在XR环境128内的焦点相关联的注视方向指示标识元素852。
在一些具体实施中,第二图形元素的大小参数(例如,半径)随(1120)内容的第二部分与用户的一个或多个眼睛之间的距离而变化。在一些具体实施中,第二指示标识元素的大小随着内容的第一部分与物理对象之间的距离减小而增大,并且第二指示标识元素的大小随着内容的第一部分与物理对象之间的距离增大而减小。
在一些具体实施中,如框1122所表示的,方法1100包括:在显示内容时,检测物理对象的与移动(例如,平移和/或旋转)内容相关联的后续输入;并且响应于检测到后续输入,基于后续输入移动内容。作为一个示例,参考图8D,电子设备120响应于检测到图8C中的代理对象804的平移移动832,在XR环境128内平移XR内容802。例如,XR内容802在XR环境128内的平移移动的方向性和位移对应于图8C中的代理对象804的平移移动832的空间参数(例如,位置值的变化、旋转值的变化、位移、空间加速度、空间速度、角加速度、角速度等)。本领域普通技术人员将理解,XR内容802可以类似地旋转。
作为另一示例,参考图8G,电子设备120响应于检测到图8F中的注视方向806的平移移动862而在XR环境128内平移XR内容802。例如,XR内容802在XR环境128内的平移移动的方向性和位移对应于图8F中的注视方向806的平移移动862的空间参数(例如,位置值的变化、旋转值的变化、位移、空间加速度、空间速度、角加速度、角速度等)。
在一些具体实施中,检测后续输入对应于(1124):获得物理对象上的示能表示已被致动的指示;并且检测物理对象的旋转移动或平移移动中的至少一者。例如,检测对示能表示的致动对应于后续输入的选择部分。
在一些具体实施中,检测后续输入对应于(1126):获得与物理对象正被用户抓握的力度相关联的输入值超过阈值输入值的指示;并且检测物理对象的旋转移动或平移移动中的至少一者。例如,输入(压力)值对应于后续输入的选择部分。在一些具体实施中,压力阈值基于一个或多个因素诸如用户偏好、使用历史、当前内容、当前上下文等是非确定性的(即,预先确定的压力值)或确定性的。
在一些具体实施中,通过放大因子来修改(1128)后续输入的量值以确定内容的移动的量值。在一些具体实施中,基于一个或多个因素诸如用户偏好、使用历史、所选择的内容、当前上下文等,放大因子是非确定性的(例如,预先确定的值)或确定性的。
虽然上文描述了在所附权利要求书范围内的具体实施的各个方面,但是应当显而易见的是,上述具体实施的各种特征可通过各种各样的形式体现,并且上述任何特定结构和/或功能仅是例示性的。基于本公开,本领域的技术人员应当理解,本文所述的方面可以独立于任何其他方面来实现,并且这些方面中的两个或更多个可以采用各种方式组合。例如,可以使用本文阐述的任何数量的方面来实现装置和/或可以实践方法。另外,除了本文阐述的一个或多个方面之外或者不同于本文阐述的一个或多个方面,可以使用其他结构和/或功能来实现这样的装置和/或可以实践这样的方法。
还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元件与另一元件区分开。例如,第一媒体项可以被称为第二媒体项,并且类似地,第二媒体项可以被称为第一媒体项,这改变描述的含义,只要出现的“第一媒体项”被一致地重命名并且出现的“第二媒体项”被一致地重命名。该第一媒体项和该第二媒体项都是媒体项,但它们不是相同的媒体项。
本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求书中所使用的那样,单数形式的“一个”、“一”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件,和/或其分组。
如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。
Claims (47)
1.一种方法,所述方法包括:
在包括非暂态存储器和一个或多个处理器的计算系统处,其中所述计算系统通信地耦接到显示设备和一个或多个输入设备:
经由所述显示设备在扩展现实(XR)环境内显示与第一多个输出模态相关联的第一多个图形元素;
在显示所述第一多个图形元素时,检测物理对象的第一移动;以及
响应于检测到所述物理对象的所述第一移动:
根据确定所述物理对象的所述第一移动导致所述物理对象相对于所述第一多个图形元素中的第一图形元素突破距离阈值,选择与所述第一图形元素相关联的第一输出模态作为所述物理对象的当前输出模态;以及
根据确定所述物理对象的所述第一移动导致所述物理对象相对于所述第一多个图形元素中的第二图形元素突破所述距离阈值,选择与所述第二图形元素相关联的第二输出模态作为所述物理对象的所述当前输出模态。
2.根据权利要求1所述的方法,其中所述第一输出模态和所述第二输出模态引起所述XR环境内的不同视觉改变。
3.根据权利要求1至2中任一项所述的方法,所述方法还包括:
根据确定所述物理对象的所述第一移动导致所述物理对象相对于所述第一多个图形元素中的所述第一图形元素突破所述距离阈值:
保持对与所述物理对象相邻的所述第一图形元素的显示;并且
停止对所述第一多个图形元素中不包括所述第一图形元素的剩余部分的显示;以及
根据所述确定所述物理对象的所述第一移动导致所述物理对象相对于所述第一多个图形元素中的所述第二图形元素突破所述距离阈值:
保持对与所述物理对象相邻的所述第二图形元素的显示;并且
停止对所述第一多个图形元素中不包括所述第二图形元素的剩余部分的显示。
4.根据权利要求3所述的方法,所述方法还包括:
在选择与所述第一图形元素相关联的所述第一输出模态作为所述物理对象的所述当前输出模态之后,检测所述物理对象的第二移动;以及
响应于检测到所述物理对象的第二移动,基于所述物理对象的所述第二移动来移动所述第一图形元素,以便保持对与所述物理对象相邻的所述第一图形元素的显示。
5.根据权利要求3至4中任一项所述的方法,所述方法还包括:
在停止对所述第一多个图形元素的所述剩余部分的显示之后,获得指向所述物理对象的触摸输入的指示;以及
响应于获得所述触摸输入的所述指示,经由所述显示设备在所述XR环境内重新显示所述第一多个图形元素。
6.根据权利要求1至5中任一项所述的方法,所述方法还包括:
在显示所述第一多个图形元素之前,获得指向所述物理对象的触摸输入的指示,并且
其中在所述XR环境内显示所述第一多个图形元素包括响应于获得所述触摸输入的所述指示而在所述XR环境内显示所述第一多个图形元素。
7.根据权利要求1至6中任一项所述的方法,所述方法还包括:
根据确定所述物理对象的所述第一移动没有导致所述物理对象相对于所述第一图形元素或所述第二图形元素突破所述距离阈值:
保持初始输出模态作为所述物理对象的所述当前输出模态;以及
保持对所述第一多个图形元素的显示。
8.根据权利要求1至7中任一项所述的方法,所述方法还包括:
在选择与所述第一图形元素相关联的所述第一输出模态作为所述物理对象的所述当前输出模态之后,检测所述物理对象的后续标记输入;以及
响应于检测到所述后续标记输入,基于所述后续标记输入和所述第一输出模态经由所述显示设备在所述XR环境内显示一个或多个标记。
9.根据权利要求8所述的方法,所述方法还包括:
响应于检测到所述后续标记输入:
根据确定与所述物理对象正被压贴在物理表面上的力度相关联的输入对应于第一输入值,基于所述后续标记输入和所述第一输出模态,经由所述显示设备在所述XR环境内显示具有第一外观的一个或多个标记,其中所述第一外观与所述一个或多个标记的对应于所述第一输入值的参数相关联;以及
根据确定与所述物理对象正被压贴在物理表面上的力度相关联的所述输入对应于第二输入值,基于所述后续标记输入和所述第一输出模态,经由所述显示设备在所述XR环境内显示具有第二外观的一个或多个标记,其中所述第二外观与所述一个或多个标记的对应于所述第二输入值的所述参数相关联。
10.根据权利要求9所述的方法,其中所述参数对应于所述XR环境内的所述一个或多个标记的半径、宽度、厚度、强度、半透明度、不透明度、颜色或纹理中的一者。
11.根据权利要求8所述的方法,所述方法还包括:
响应于检测到所述后续标记输入:
根据确定与所述物理对象正被所述用户抓握的力度相关联的输入对应于第一输入值,基于所述后续标记输入和所述第一输出模态,经由所述显示设备在所述XR环境内显示具有第一外观的一个或多个标记,其中所述第一外观与所述一个或多个标记的对应于所述第一输入值的参数相关联;以及
根据确定与所述物理对象正被所述用户抓握的力度相关联的所述输入对应于第二输入值,基于所述后续标记输入和所述第一输出模态,经由所述显示设备在所述XR环境内显示具有第二外观的一个或多个标记,其中所述第二外观与所述一个或多个标记的对应于所述第二输入值的所述参数相关联。
12.根据权利要求11所述的方法,其中所述参数对应于所述XR环境内的所述一个或多个标记的半径、宽度、厚度、强度、半透明度、不透明度、颜色或纹理中的一者。
13.根据权利要求1至12中任一项所述的方法,所述方法还包括:
在显示所述第一多个图形元素之前,获得与所述物理对象正被用户握持的当前方式相关联的抓持姿态,其中所述第一多个图形元素随所述抓持姿态而变化;以及
响应于获得所述抓持姿态:
根据确定所述抓持姿态对应于第一抓持姿态,经由所述显示设备在所述XR环境内显示与所述第一多个输出模态相关联的所述第一多个图形元素;以及
根据确定所述抓持姿态对应于不同于所述第一抓持姿态的第二抓持姿态,经由所述显示设备在所述XR环境内显示与第二多个输出模态相关联的第二多个图形元素。
14.根据权利要求13所述的方法,所述方法还包括:
在所述XR环境内显示与所述第一多个输出模态相关联的所述第一多个图形元素之后,检测所述抓持姿态从所述第一抓持姿态到所述第二抓持姿态的改变;并且
响应于检测到所述抓持姿态的所述改变,用与所述XR环境内的所述第二多个输出模态相关联的所述第二多个图形元素替换在所述XR环境内对所述第一多个图形元素的显示。
15.根据权利要求1至14中任一项所述的方法,所述方法还包括:
在显示所述第一多个图形元素之前,获得指示所述物理对象的第一端部还是第二端部面向外的信息;以及
响应于获得指示所述物理对象的所述第一端部还是所述第二端部面向外的所述信息:
根据确定所述物理对象的所述第一端部面向外,经由所述显示设备在所述XR环境内显示与所述第一多个输出模态相关联的所述第一多个图形元素;以及
根据确定所述物理对象的所述第二端部面向外,经由所述显示设备在所述XR环境内显示与第二多个输出模态相关联的第二多个图形元素。
16.根据权利要求15所述的方法,所述方法还包括:
在所述XR环境内显示与所述第一多个输出模态相关联的所述第一多个图形元素之后,检测从所述物理对象的第一端部面向外到所述物理对象的第二端部面向外的改变;以及
响应于检测到从所述物理对象的所述第一端部面向外到所述物理对象的所述第二端部面向外的改变,经由所述显示设备在所述XR环境内显示与所述第二多个输出模态相关联的所述第二多个图形元素。
17.一种设备,所述设备包括:
一个或多个处理器;
非暂态存储器;
接口,所述接口用于与显示设备和一个或多个输入设备进行通信;和
存储在所述非暂态存储器中的一个或多个程序,所述一个或多个程序在由所述一个或多个处理器执行时使得所述设备执行根据权利要求1至16所述的方法中的任一种方法。
18.一种存储一个或多个程序的非暂态存储器,所述一个或多个程序在由具有用于与显示设备和一个或多个输入设备通信的接口的设备的一个或多个处理器执行时使得所述设备执行根据权利要求1至16所述的方法中的任一种方法。
19.一种设备,所述设备包括:
一个或多个处理器;
非暂态存储器;
接口,所述接口用于与显示设备和一个或多个输入设备进行通信,和
用于使得所述设备执行根据权利要求1至16所述的方法中的任一种方法的装置。
20.一种方法,所述方法包括:
在包括非暂态存储器和一个或多个处理器的计算系统处,其中所述计算系统通信地耦接到显示设备和一个或多个输入设备:
经由所述显示设备显示用户界面;
在显示所述用户界面时,检测物理对象的标记输入;以及
响应于检测到所述标记输入:
根据确定所述标记输入指向物理表面,基于所述标记输入经由所述显示设备在所述用户界面内显示标记,其中基于所述物理对象正被压贴在所述物理表面上的力度来确定基于所述标记输入显示的所述标记的参数;以及
根据确定所述标记输入未指向所述物理表面,基于所述标记输入经由所述显示设备在所述用户界面内显示所述标记,其中基于所述物理对象正被所述用户抓握的力度来确定基于所述标记输入显示的所述标记的参数。
21.根据权利要求20所述的方法,其中所述参数对应于所述用户界面内的所述标记的半径、宽度、厚度、强度、半透明度、不透明度、颜色或纹理中的一者。
22.根据权利要求20至21中任一项所述的方法,其中所述用户界面包括在其上显示所述标记的二维标记区域。
23.根据权利要求20至21中任一项所述的方法,其中所述用户界面包括在其内显示所述标记的三维标记区域。
24.根据权利要求20至23中任一项所述的方法,所述方法还包括:
在所述用户界面内显示所述标记之后,检测所述物理对象的与在所述用户界面内移动所述标记相关联的后续输入;以及
响应于检测到所述后续输入,基于所述后续输入在所述用户界面内移动所述标记。
25.根据权利要求24所述的方法,其中检测所述后续输入对应于:
获得所述物理对象上的示能表示已被致动的指示;以及
检测所述物理对象的旋转移动或平移移动中的至少一者。
26.根据权利要求24所述的方法,其中检测所述后续输入对应于:
获得与所述物理对象正被所述用户抓握的力度相关联的输入值超过阈值输入值的指示;以及
检测所述物理对象的旋转移动或平移移动中的至少一者。
27.根据权利要求24至26中任一项所述的方法,所述方法还包括:
响应于检测到所述后续输入,在所述用户界面内移动所述标记时改变所述用户界面内的至少一些内容的外观。
28.根据权利要求24至27中任一项所述的方法,所述方法还包括:
响应于检测到所述标记输入:
根据确定所述标记输入指向所述物理表面,经由所述显示设备在所述XR环境内显示与所述物理表面和所述物理对象之间的距离相对应的模拟阴影。
29.根据权利要求20至28中任一项所述的方法,所述方法还包括:
经由所述显示设备来显示具有与用户界面内的标记相关联的多个不同的可选择工具的用户界面元素。
30.根据权利要求29所述的方法,其中所述用户界面元素被锚定到空间中的点。
31.根据权利要求29所述的方法,其中所述用户界面元素被锚定到所述计算系统的用户的视场内的点。
32.一种设备,所述设备包括:
一个或多个处理器;
非暂态存储器;
接口,所述接口用于与显示设备和一个或多个输入设备进行通信;和
存储在所述非暂态存储器中的一个或多个程序,所述一个或多个程序在由所述一个或多个处理器执行时使得所述设备执行根据权利要求20至31所述的方法中的任一种方法。
33.一种存储一个或多个程序的非暂态存储器,所述一个或多个程序在由具有用于与显示设备和一个或多个输入设备通信的接口的设备的一个或多个处理器执行时,使得所述设备执行根据权利要求20至31所述的方法中的任一种方法。
34.一种设备,所述设备包括:
一个或多个处理器;
非暂态存储器;
接口,所述接口用于与显示设备和一个或多个输入设备进行通信,和
用于使得所述设备执行根据权利要求20至31所述的方法中的任一种方法的装置。
35.一种方法,所述方法包括:
在包括非暂态存储器和一个或多个处理器的计算系统处,其中所述计算系统通信地耦接到显示设备和一个或多个输入设备:
经由所述显示设备显示内容;
在显示所述内容时,并且在物理对象正被用户握持时,检测选择输入;以及
响应于检测到所述选择输入,执行对应于所述选择输入的操作,包括:
根据确定与所述物理对象正被所述用户握持的方式相关联的抓持姿态对应于第一抓持,对所述内容的第一部分执行选择操作,其中基于所述物理对象的预先确定的部分所指向的方向来选择所述内容的所述第一部分;以及
根据确定与所述物理对象正被所述用户握持的所述方式相关联的所述抓持姿态不对应于所述第一抓持,对所述内容的不同于所述内容的所述第一部分的第二部分执行所述选择操作,其中基于所述用户的注视方向来选择所述内容的所述第二部分。
36.根据权利要求35所述的方法,其中执行所述选择操作包括改变所述内容的所述第一部分或所述第二部分的外观。
37.根据权利要求35至36中任一项所述的方法,所述方法还包括:
根据所述确定所述抓持姿态对应于所述第一抓持,经由所述显示设备显示指示所述物理对象的所述预先确定的部分相对于所述内容指向的所述方向的第一图形元素。
38.根据权利要求37所述的方法,其中所述第一图形元素的大小参数随所述内容的所述第一部分与所述物理对象之间的距离而变化。
39.根据权利要求35至36中任一项所述的方法,所述方法还包括:
根据所述确定所述抓持姿态不对应于所述第一抓持,经由所述显示设备显示指示所述用户相对于所述内容的所述注视方向的第二图形元素。
40.根据权利要求39所述的方法,其中所述第二图形元素的大小参数随所述内容的所述第二部分与所述用户的一个或多个眼睛之间的距离而变化。
41.根据权利要求35至40中任一项所述的方法,所述方法还包括:
在显示所述内容时,检测所述物理对象的与移动所述内容相关联的后续输入;以及
响应于检测到所述后续输入,基于所述后续输入移动所述内容。
42.根据权利要求41所述的方法,其中检测所述后续输入对应于:
获得所述物理对象上的示能表示已被致动的指示;以及
检测所述物理对象的旋转移动或平移移动中的至少一者。
43.根据权利要求41所述的方法,其中检测所述后续输入对应于:
获得与所述物理对象正被所述用户抓握的力度相关联的输入值超过阈值输入值的指示;以及
检测所述物理对象的旋转移动或平移移动中的至少一者。
44.根据权利要求41至43中任一项所述的方法,其中通过放大因子来修改所述后续输入的量值以确定所述内容的所述移动的量值。
45.一种设备,所述设备包括:
一个或多个处理器;
非暂态存储器;
接口,所述接口用于与显示设备和一个或多个输入设备进行通信;和
存储在所述非暂态存储器中的一个或多个程序,所述一个或多个程序在由所述一个或多个处理器执行时使得所述设备执行根据权利要求35至44所述的方法中的任一种方法。
46.一种存储一个或多个程序的非暂态存储器,所述一个或多个程序在由具有用于与显示设备和一个或多个输入设备通信的接口的设备的一个或多个处理器执行时,使得所述设备执行根据权利要求35至44所述的方法中的任一种方法。
47.一种设备,所述设备包括:
一个或多个处理器;
非暂态存储器;
接口,所述接口用于与显示设备和一个或多个输入设备进行通信,和
用于使得所述设备执行根据权利要求35至44所述的方法中的任一种方法的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163226070P | 2021-07-27 | 2021-07-27 | |
US63/226,070 | 2021-07-27 | ||
PCT/US2022/038303 WO2023009492A1 (en) | 2021-07-27 | 2022-07-26 | Method and device for managing interactions directed to a user interface with a physical object |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117716327A true CN117716327A (zh) | 2024-03-15 |
Family
ID=82899043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280052799.1A Pending CN117716327A (zh) | 2021-07-27 | 2022-07-26 | 用于管理用户界面与物理对象的交互的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230042447A1 (zh) |
EP (1) | EP4377767A1 (zh) |
KR (1) | KR20240036582A (zh) |
CN (1) | CN117716327A (zh) |
WO (1) | WO2023009492A1 (zh) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8947455B2 (en) * | 2010-02-22 | 2015-02-03 | Nike, Inc. | Augmented reality design system |
JP5792499B2 (ja) * | 2011-04-07 | 2015-10-14 | シャープ株式会社 | 電子機器、表示方法、および表示プログラム |
US20130234967A1 (en) * | 2012-03-12 | 2013-09-12 | Matthew Stoddard | Pressure sensitive multi-tip stylus for capacitive touchscreens and methods of using same |
US20190347865A1 (en) * | 2014-09-18 | 2019-11-14 | Google Inc. | Three-dimensional drawing inside virtual reality environment |
US10254939B2 (en) * | 2015-06-07 | 2019-04-09 | Apple Inc. | Device, method, and graphical user interface for providing and interacting with a virtual drawing aid |
US10579237B2 (en) * | 2016-03-29 | 2020-03-03 | Microsoft Technology Licensing, Llc | Guide objects for drawing in user interfaces |
US10540084B2 (en) * | 2016-04-29 | 2020-01-21 | Promethean Limited | Interactive display overlay systems and related methods |
JP7069922B2 (ja) * | 2018-03-26 | 2022-05-18 | セイコーエプソン株式会社 | 表示装置、表示システムおよび表示装置の制御方法 |
US11086392B1 (en) * | 2019-04-09 | 2021-08-10 | Facebook Technologies, Llc | Devices, systems, and methods for virtual representation of user interface devices |
US11194411B1 (en) * | 2020-08-20 | 2021-12-07 | Lenovo (Singapore) Pte. Ltd. | Use of sensors in electronic pens to execution functions |
US11644907B2 (en) * | 2021-02-26 | 2023-05-09 | Logitech Europe S.A. | Systems, devices, and methods for physical surface tracking with a stylus device in an AR/VR environment |
-
2022
- 2022-07-26 KR KR1020247003129A patent/KR20240036582A/ko active Search and Examination
- 2022-07-26 WO PCT/US2022/038303 patent/WO2023009492A1/en active Application Filing
- 2022-07-26 US US17/873,413 patent/US20230042447A1/en active Pending
- 2022-07-26 CN CN202280052799.1A patent/CN117716327A/zh active Pending
- 2022-07-26 EP EP22754683.5A patent/EP4377767A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4377767A1 (en) | 2024-06-05 |
US20230042447A1 (en) | 2023-02-09 |
KR20240036582A (ko) | 2024-03-20 |
WO2023009492A1 (en) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220121344A1 (en) | Methods for interacting with virtual controls and/or an affordance for moving virtual objects in virtual environments | |
US11181986B2 (en) | Context-sensitive hand interaction | |
US20220084279A1 (en) | Methods for manipulating objects in an environment | |
US9829989B2 (en) | Three-dimensional user input | |
US11853527B2 (en) | Devices, methods, and graphical user interfaces for providing computer-generated experiences | |
US20220317776A1 (en) | Methods for manipulating objects in an environment | |
US20230093979A1 (en) | Devices, methods, and graphical user interfaces for content applications | |
US20210383613A1 (en) | Method and Device for Sketch-Based Placement of Virtual Objects | |
US20240103712A1 (en) | Devices, Methods, and Graphical User Interfaces For Interacting with Three-Dimensional Environments | |
US20230092874A1 (en) | Devices, Methods, and Graphical User Interfaces for Interacting with Three-Dimensional Environments | |
US20230042447A1 (en) | Method and Device for Managing Interactions Directed to a User Interface with a Physical Object | |
CN117616365A (zh) | 用于动态选择对象的操作模态的方法和设备 | |
US20230095282A1 (en) | Method And Device For Faciliating Interactions With A Peripheral Device | |
CN118076941A (zh) | 用于促进与外围设备进行交互的方法和设备 | |
WO2024020061A1 (en) | Devices, methods, and graphical user interfaces for providing inputs in three-dimensional environments | |
CN117916691A (zh) | 用于基于情境状态启用输入模式的方法和设备 | |
WO2024064231A1 (en) | Devices, methods, and graphical user interfaces for interacting with three-dimensional environments | |
CN117882033A (zh) | 用于调用写入表面的方法和设备 | |
CN116458881A (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 |