CN116235129A - 用于扩展现实的混淆控制界面 - Google Patents

用于扩展现实的混淆控制界面 Download PDF

Info

Publication number
CN116235129A
CN116235129A CN202180061433.6A CN202180061433A CN116235129A CN 116235129 A CN116235129 A CN 116235129A CN 202180061433 A CN202180061433 A CN 202180061433A CN 116235129 A CN116235129 A CN 116235129A
Authority
CN
China
Prior art keywords
control interface
virtual
configuration
virtual control
physical environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180061433.6A
Other languages
English (en)
Inventor
W·J·霍兰
R·钱德拉塞卡尔
D·J·格斯特
S·穆尼耶
B·福鲁坦保尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN116235129A publication Critical patent/CN116235129A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • G06F3/0426Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected tracking fingers with respect to a virtual keyboard projected or printed on the surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0123Head-up displays characterised by optical features comprising devices increasing the field of view
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0141Head-up displays characterised by optical features characterised by the informative content of the display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/004Annotating, labelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Optics & Photonics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

提供了用于生成用于扩展现实(XR)体验的混淆控制界面的系统、方法和非暂时性介质。示例方法可以包括:确定XR设备在与该XR设备相关联的物理环境的映射场景内的姿势;根据包括第一大小、相对于XR设备的姿势的第一位置、输入元素的第一次序和/或输入元素的第一数量的配置,在映射场景内渲染虚拟控制界面;以及基于与虚拟控制界面相关联的数据的隐私特性和/或与XR设备相关联的物理环境的特性来调整虚拟控制界面的配置,调整后的配置包括第二大小、输入元素的第二次序、输入元素的第二数量和/或相对于XR设备的姿势和/或第一位置的第二位置。

Description

用于扩展现实的混淆控制界面
技术领域
本公开总体上涉及在扩展现实和其他应用中混淆虚拟控制界面。
背景技术
扩展现实技术可以用于向用户呈现虚拟内容,和/或可以将来自物理世界的真实环境和虚拟环境进行组合,以为用户提供扩展现实体验。术语“扩展现实”可以包括虚拟现实、增强现实、混合现实等。这些形式的扩展现实中的每一种都允许用户体验沉浸式虚拟环境或内容或与其交互。例如,扩展现实体验可以允许用户与利用虚拟内容强化或增强的真实或物理环境交互。
可以实现扩展现实技术以在广泛的上下文(例如,娱乐、医疗保健、零售、教育、社交媒体等)中强化用户体验。然而,在许多设置中,可能不期望揭露某些扩展现实内容或与某些扩展现实界面的交互。在一个示例中,许多用户都不希望以可以允许其他用户看到或推断/解释与认证界面或相关联的认证信息的特定用户交互的方式渲染诸如密码提示之类的认证界面。
发明内容
公开了用于提供用于扩展现实体验的混淆控制界面的系统、方法和计算机可读介质。根据至少一个示例,提供了一种用于生成用于扩展现实体验的混淆控制界面的方法。该方法可以包括:确定扩展现实设备在与扩展现实设备相关联的物理环境的映射场景内的姿势;在映射场景内渲染虚拟控制界面,虚拟控制界面是根据配置被渲染的,配置包括第一大小、相对于扩展现实设备的姿势的第一位置、输入元素的第一次序和/或输入元素的第一数量;以及基于以下各项中的至少一个来调整虚拟控制界面的配置:与虚拟控制界面相关联的数据的隐私特性和与扩展现实设备相关联的物理环境的一个或多个特性,调整后的配置包括第二大小、输入元素的第二次序、输入元素的第二数量和/或相对于扩展现实设备的姿势和/或不同于第一位置的第二位置。
根据至少一个示例,提供了一种用于生成用于扩展现实体验的混淆控制界面的装置。在一些示例中,该装置可以是或包括扩展现实设备。此外,该装置可以包括:存储器;以及耦合到存储器的一个或多个处理器,一个或多个处理器被配置为:确定扩展现实设备在与扩展现实设备相关联的物理环境的映射场景内的姿势;在映射场景内渲染虚拟控制界面,虚拟控制界面是根据配置被渲染的,配置包括第一大小、相对于扩展现实设备的姿势的第一位置、输入元素的第一次序和/或输入元素的第一数量;以及基于以下各项中的至少一个来调整虚拟控制界面的配置:与虚拟控制界面相关联的数据的隐私特性和与扩展现实设备相关联的物理环境的一个或多个特性,调整后的配置包括第二大小、输入元素的第二次序、输入元素的第二数量和/或相对于扩展现实设备的姿势和/或不同于第一位置的第二位置。
根据至少一个示例,提供了一种非暂时性计算机可读存储介质,用于生成用于扩展现实体验的混淆控制界面。该非暂时性计算机可读介质可以包括:确定装置在与装置相关联的物理环境的映射场景内的姿势;在映射场景内渲染虚拟控制界面,虚拟控制界面是根据配置被渲染的,配置包括第一大小、相对于装置的姿势的第一位置、输入元素的第一次序和/或输入元素的第一数量;以及基于以下各项中的至少一个来调整虚拟控制界面的配置:与虚拟控制界面相关联的数据的隐私特性和与扩展现实设备相关联的物理环境的一个或多个特性,调整后的配置包括第二大小、输入元素的第二次序、输入元素的第二数量和/或相对于装置的姿势和/或不同于第一位置的第二位置。
根据至少一个示例,提供了一种用于生成用于扩展现实体验的混淆控制界面的装置。在一些示例中,该装置可以是或包括扩展现实设备。此外,该装置可以包括用于以下的单元:确定扩展现实设备在与扩展现实设备相关联的物理环境的映射场景内的姿势;在映射场景内渲染虚拟控制界面,虚拟控制界面是根据配置被渲染的,配置包括第一大小、相对于扩展现实设备的姿势的第一位置、输入元素的第一次序和/或输入元素的第一数量;以及基于以下各项中的至少一个来调整虚拟控制界面的配置:与虚拟控制界面相关联的数据的隐私特性和与扩展现实设备相关联的物理环境的一个或多个特性,调整后的配置包括第二大小、输入元素的第二次序、输入元素的第二数量和/或相对于扩展现实设备的姿势和/或不同于第一位置的第二位置。
在一些方面,上述方法、装置和非暂时性计算机可读存储介质可以包括经由虚拟控制界面接收多个输入;以及基于经由虚拟控制界面接收多个输入,将虚拟控制界面的渲染从配置切换到调整后的配置。
在一些方面,物理环境的一个或多个特性可以包括:在物理环境中存在支持从物理环境的外部对物理环境中的一个或多个区域进行观看访问的人、一个或多个记录设备和/或一个或多个对象。在一些方面,上述方法、装置和非暂时性计算机可读存储介质可以包括:确定虚拟控制界面被映射到物理环境中的区域,该区域在支持从物理环境的外部对区域进行观看访问的在物理环境中的人、在物理环境中的记录设备和/或在物理环境中的对象的视场(FOV)内,其中,该不同于与扩展现实设备相关联的用户;以及基于确定虚拟控制界面被映射到物理环境中的区域,将虚拟控制界面的渲染从配置切换到调整后的配置。
在一些示例中,调整虚拟控制界面的配置可以包括:根据输入元素的第二次序对虚拟控制界面的一个或多个输入元素进行重新排序。在一些情况下,一个或多个输入元素可以相对于虚拟控制界面的一个或多个不同的输入元素被重新排序,并且对一个或多个输入元素进行重新排序可以包括:根据与输入元素的第一次序相对应的一个或多个不同的输入元素的位置和/或次序来渲染一个或多个输入元素。
在一些示例中,根据配置渲染虚拟控制界面可以包括:在第一位置处渲染虚拟控制界面的一个或多个输入元素。在一些情况下,调整虚拟控制界面的配置可以包括:在第二位置处渲染虚拟控制界面的一个或多个不同的输入元素。
在一些示例中,虚拟控制界面可以包括虚拟键盘,并且输入元素可以包括虚拟键。在一些方面,上述方法、装置和非暂时性计算机可读存储介质可以包括:在虚拟键盘根据配置被渲染的同时,接收对虚拟键盘的虚拟键的选择;以及在接收到对虚拟键的选择之后,根据调整后的配置来渲染虚拟键盘。
在一些情况下,调整虚拟键盘的配置可以包括:在映射场景内的用于在配置期间渲染虚拟键的相同位置处渲染虚拟键,同时在映射场景内的用于在配置期间渲染虚拟键盘的一个或多个不同的虚拟键的不同位置处渲染一个或多个不同的虚拟键。
在一些情况下,调整虚拟键盘的配置可以包括:根据第二大小和第二位置渲染虚拟键盘,第二大小和第二位置不同于第一大小和第一位置。
在一些方面,上述方法、装置和非暂时性计算机可读存储介质可以包括:在虚拟键盘根据配置被渲染的同时,渲染预测输入元素的集合,预测输入元素的集合是根据附加配置被渲染的,附加配置包括第三大小、第三位置和/或相对于彼此的第三次序;基于对虚拟键的选择,更新与预测输入元素的集合中的一个或多个预测元素相关联的内容和/或功能;以及将预测输入元素的集合的渲染从附加配置切换到不同的附加配置,不同的附加配置包括第四大小、第四位置和/或相对于彼此的第四次序。
在一些方面,上述方法、装置和非暂时性计算机可读存储介质可以包括:检测在物理环境内的区域,该区域被估计为在与扩展现实设备相关联的用户的视场(FOV)内且在支持从物理环境的外部进行观看访问的在物理环境中的人、在物理环境中的记录设备和/或在物理环境中的对象的相应的FOV外。在一些示例中,可以基于区域来选择第一位置、第二位置、第一大小和/或第二大小,该区域被估计为在用户的FOV内且在人、记录设备和/或对象的相应的FOV外。
在一些方面,上述方法、装置和非暂时性计算机可读存储介质可以包括:渲染引诱输入元素,引诱输入元素在根据配置渲染虚拟控制界面之后被渲染;接收对引诱输入元素的选择;以及响应于对引诱输入元素的选择,根据调整后的配置来渲染虚拟控制界面。
在一些方面,上述方法、装置和非暂时性计算机可读存储介质可以包括:检测与虚拟控制界面相关联的一个或多个事件,以及基于一个或多个事件,将虚拟控制界面的渲染从配置切换到调整后的配置。在一些示例中,一个或多个事件可以包括超时事件、安全条件和/或意外输入
在一些方面,上述每个装置是或包括相机、移动设备(例如,移动电话或所谓的“智能电话”或其他移动设备)、可穿戴设备、扩展现实设备(例如,虚拟现实(VR)设备、增强现实(AR)设备或混合现实(MR)设备)、个人计算机、膝上型计算机、服务器计算机或其他设备。在一些方面,所述装置包括用于捕获一个或多个图像的一个或多个相机。在一些方面,所述装置还包括显示器,其用于显示一个或多个图像、通知和/或其他可显示数据。在一些方面,上述装置可以包括一个或多个传感器。
本发明内容不旨在识别所要求保护的主题的关键或基本特征,也不是旨在单独地用于确定所要求保护的主题的范围。本发明的主题应当通过参考本专利的整个说明书的适当部分、任何或所有附图以及每一项权利要求来理解。
在参考下面的说明书、权利要求书和附图时,上述以及其他特征和实施例将变得更加显而易见。
附图说明
为了描述可以获得本公开的各种优点和特征的方式,将通过参考其在附图中示出的特定实施例来对上述原理进行更具体的描述。可以理解,这些附图仅描绘了本公开的示例实施例,并且不被认为限制了其范围,通过使用附图以附加的具体性和细节描述和解释了这里的原理,在附图中:
图1是示出根据本公开的一些示例的示例扩展现实系统的简化框图;
图2是示出根据本公开的一些示例的由用户佩戴的扩展现实系统的示例的图;
图3是示出根据本公开的一些示例的手的示例标志点的图,该标志点可以用于跟踪手的位置以及手与虚拟界面的交互;
图4是示出根据本公开的一些示例的用于生成用于扩展现实体验的混淆控制界面的示例系统流程的图;
图5示出了根据本公开的一些示例的示例混淆虚拟控制界面用例;
图6示出了根据本公开的一些示例的用于通过改变虚拟选项的次序来混淆由扩展现实系统渲染的虚拟选项的示例用例;
图7示出了根据本公开的一些示例的用于通过改变虚拟选项的位置来混淆由扩展现实系统渲染的虚拟选项的示例用例;
图8和图9示出了根据本公开的一些示例的涉及虚拟键盘的示例形混淆虚拟控制界面用例;
图10示出了根据本公开的一些示例的涉及虚拟键盘和预测输入选项的示例混淆虚拟控制界面用例;
图11是示出根据本公开的一些示例的用于生成用于扩展现实体验的混淆控制界面的示例方法的流程图;以及
图12示出了根据本公开的一些示例的示例计算设备架构。
具体实施方式
以下提供本公开的某些方面和实施例。这些方面和实施例中的一些可以独立地应用,并且这些方面和实施例中的一些可以组合地应用,这对于本领域技术人员来说是显而易见的。在下面的描述中,出于解释的目的,阐述了具体细节,以便提供对本申请的实施例的彻底理解。然而,将显而易见的是,可以在没有这些具体细节的情况下实践各种实施例。这些附图和说明书不旨在是限制性的。
随后的描述仅提供示例实施例,并不旨在限制本公开的范围、适用性或配置。而是,随后对示例性实施例的描述将为本领域技术人员提供用于实现示例性实施例的赋能描述。应当理解,在不脱离所附权利要求书中阐述的本申请的精神和范围的情况下,可以对元素的功能和布置进行各种改变。
诸如头戴式显示器(HMD)和智能眼镜之类的扩展现实设备可以跟踪用户的手和/或指尖,以允许用户使用他们的手和/或指尖来控制在扩展现实(XR)环境(例如,虚拟现实(VR)环境、增强现实(AR)环境、混合现实(MR)环境和/或其他XR环境)内渲染的界面。在XR环境中,用户的手或指尖与控制界面的交互可以对环境中的其他用户可见。然而,通常不期望揭露与控制界面的这种交互和/或允许这种交互的意义和/或控制界面上的输入元素的重要性被其他用户潜在地解释。例如,如果参与多用户AR体验的用户使用在多用户AR体验期间渲染的控制界面输入私有信息,则多用户AR体验中的其他用户将能够通过他们自己的AR体验来看到控制界面以及用户与控制界面的交互。因此,如果在多用户体验中呈现给各个用户的控制界面是相同的,则其他用户能够通过用户与控制界面的交互来确定用户提供的任何信息。因此,用户可能无意中将这些信息暴露给其他用户,在一些情况下,这些信息可能包括私有、机密或个人信息。
在一些情况下,即使其他用户在XR体验期间不能看到用户正在交互的控制界面或界面元素,用户的手或指尖交互仍然可以由他人解释,在这种情况下,与交互相关联的输入(和对应的信息)可以由其他用户推断。例如,如果用户参与围绕其他用户的AR体验,则其他用户能够看到用户的手和/或指尖与控制界面的交互。此外,用户的手和/或指尖交互可以揭露用户正在虚拟键盘上空中打字或与某个其他虚拟界面交互。基于用户的手和/或指尖移动或用户的手和/或指尖移动的模式以及对虚拟键盘的典型配置的知识,其他用户能够推断用户正在交互的虚拟界面的类型并解释用户提供的输入。因此,输入可能会揭露用户的信息,在许多情况下,这些信息可能涉及私有或机密信息。
另外,如果用户与虚拟界面的交互在诸如相机之类的记录设备的视场(FOV)内,则用户的交互可能无意中被记录设备记录。然后,访问该记录的另一用户可以查看该记录并根据该记录解释用户的交互和相关联的信息。记录甚至可以允许其他用户以更容易和/或更准确的方式解释用户的交互和相关联的信息。在一些情况下,其他用户可以使用计算机来处理记录并根据记录的视频识别用户的交互和相关联的信息,从而潜在地使用户信息的隐私处于更大的风险之中。
在一些情况下,其他用户甚至可以使用人工智能(AI)解释器或系统来处理录制的视频,并识别用户通过虚拟界面提供的信息。AI解释器或系统可以潜在地非常准确地识别用户通过虚拟界面提供的信息。因此,当用户参与XR体验时,为了避免将输入和相关联的信息暴露给其他用户,即使其他用户也没有参与XR体验或能够看到虚拟界面,用户也可能希望保护与在XR环境中渲染的虚拟界面的交互的隐私。
在一个说明性示例中,用户与在XR体验期间渲染的虚拟界面(例如,虚拟键盘)的用于键入密码交互可以潜在地由其他用户解释,这可以允许这样的用户识别或推断由用户键入的密码。如前所述,即使其他用户没有参与相同的XR体验或能够看到虚拟界面,其他用户也能够推断由用户键入的密码。为了说明,在使用虚拟键盘键入XR设置中,用户的键入动作可以指示与虚拟键盘的交互。键入动作可以允许其他用户推断键位置和键入的数据,例如,键入的密码。键入的数据(例如,密码信息)的这种暴露可能会给用户带来严重的安全和隐私问题。
在另一示例中,用户与虚拟教室调查或测验中的虚拟投票按钮的交互可以由其他用户解释,这可以允许其他用户识别或推断用户提交的投票并损害用户投票和/或教室调查或测验的完整性。例如,参加相同虚拟教室调查或测验的其他用户能够看到用于虚拟教室调查或测验的虚拟界面。因此,如果其他用户看到用户与虚拟界面上的虚拟按钮的交互,则其他用户能够识别用户对教室调查或测验的回答。即使其他用户也没有参加虚拟教室调查或测验或以其他方式能够看到虚拟投票按钮,用户仍然能够通过观察多个问题来推断用户选择的输入按钮的位置和意义。通过推断输入按钮的位置和意义,其他用户可以推断用户通过虚拟教室调查或测验提交的投票。
类似地,在多用户AR游戏体验(例如,多用户AR桌面游戏)中,用户与虚拟游戏控件的交互可以由其他用户解释。例如,多用户AR游戏体验中的用户可以看到与他们周围的物理世界混合的虚拟游戏内容(例如,在物理对象或区域上渲染),并且因此可以在整个多用户AR游戏体验中看到虚拟游戏控件以及用户与虚拟游戏控件的交互。因此,其他用户可以识别或推断用户通过虚拟游戏控件的输入。此外,在一些情况下,即使用户不能看到相同的虚拟游戏控件,其他用户也可以通过观察用户在整个游戏中的交互来推断由用户选择的输入按钮的位置和意义。这可以允许游戏中的其他用户推断游戏中的用户输入和相关联的信息。然而,在许多情况(例如,竞争游戏场景)下,许多用户都不希望多用户AR游戏中的其他用户学习用户通过虚拟游戏控件的输入,因为它会使用户与那些其他用户相比处于竞争劣势。
本公开描述了用于生成用于XR体验的混淆控制界面的系统、方法和计算机可读介质。在一些示例中,本文公开的方法可以改变作为XR环境的一部分呈现给用户的虚拟控制界面的方面和/或使其随机化,以混淆这种虚拟控制界面的配置和来自用户的物理环境中的其他用户、设备和/或对象的界面元素的重要性,从而防止其他用户和/或设备解释用户与虚拟控制界面的交互,并保护用户交互和数据对其他用户和/或设备的隐私。虚拟控制界面在本文也可称为虚拟界面。在一些示例中,虚拟控制界面可以在用户的物理环境(例如,真实世界环境)的区域内渲染。如本文所使用的,控制界面(例如,混淆控制界面、虚拟控制界面等)可以包括具有输入字段和/或输入界面元素的渲染界面,但也可以包括不具有输入字段和/或输入界面元素的渲染界面,例如,具有静态或仅作显示的内容的界面。
用于渲染虚拟界面的区域可以是例如但不限于用户物理环境(例如,真实世界)中的区域或位置。区域可用于在XR体验期间为用户渲染虚拟控制界面,以允许用户在XR体验期间与虚拟界面进行接合。在一些示例中,虚拟界面的一个或多个方面可以被混淆,以防止无意的用户和设备解释虚拟界面上的输入元素的含义,并且因此防止无意的用户和设备解释用户与虚拟控制界面的交互以及用户通过这种虚拟控制界面键入的相关联的数据。在一些示例中,渲染虚拟控制界面可以包括通过XR设备渲染或显示虚拟控制界面,其方式对于通过/从XR设备观看虚拟控制界面的用户而言,看起来就好像虚拟控制界面被呈现、投影、覆盖或位于物理环境的区域上一样。例如,渲染虚拟控制界面可以包括在物理环境中的区域上渲染虚拟控制界面的虚拟覆盖。在其他示例中,渲染虚拟控制界面可以包括将虚拟控制界面投影在物理环境中的区域或位置上。
在一些示例中,所渲染的虚拟控制界面的一个或多个方面可以对其他用户混淆,以防止其他用户解释虚拟控制界面上的输入元素的含义并确定用户通过虚拟控制界面的输入。由于输入元素的含义或重要性不为物理环境中的其他用户和/或设备所知道或推断,因此其他用户和/或设备将无法推断与用户与虚拟控制界面的交互相关联的输入数据。
例如,在上面的虚拟键盘示例中,当被渲染给用户时,虚拟键盘和/或虚拟键盘上的键的位置、次序、大小和/或配置可以被修改或随机化,以防止物理环境中的其他用户推断键位置或键入的数据。用户可以通过XR设备(例如,头戴显示器、AR眼镜等)看到虚拟键盘,但其他用户或设备将无法推断或理解虚拟键盘的配置或虚拟键盘中特定键的位置。因此,即使其他用户也在使用XR设备并参与和用户相同的XR体验或以其他方式能够看到对应于用户交互的用户移动,这些用户也不能推断或理解用户与虚拟键盘的交互以潜在地推断用户通过虚拟键盘键入的信息。
在上面的虚拟教室调查或测验示例中,虚拟按钮在虚拟界面中渲染时被重新排序和/或与假的、引诱或非功能性的虚拟按钮组合,以防止物理环境中的其他用户推断这种虚拟按钮的位置和重要性并由此推断用户输入。用户可以通过XR设备看到虚拟按钮,但其他用户或设备将无法确定用户与虚拟界面的交互的含义。在上面的多用户AR游戏示例中,当为用户在物理环境中渲染时,AR游戏中虚拟按钮的配置和/或数量可以改变,以防止物理环境中和/或参与AR游戏的其他用户推断按钮的位置和重要性并由此推断用户输入。再次强调,即使其他用户或设备能够看到用户的移动或这些用户也参与了AR游戏,这些用户或设备也无法理解用户与虚拟按钮交互的意义或重要性。
在一些示例中,用户的XR设备可以相对于用户在物理环境中的位置/定位来识别物理环境中的正面表面或平面,并确定该表面或平面的任何部分是否在其他用户或记录设备的视图之外,或者该表面或平面是否被其他用户或记录设备所遮蔽。如果该表面或平面的任何部分在其他用户或记录设备的视图之外或者被其他用户或记录设备遮蔽,则该表面或平面的这样的部分可用于通过在该表面或平面的这样的部分内渲染虚拟界面的至少一部分来帮助隐藏虚拟界面的配置和虚拟界面的至少一些输入元素的含义。
例如,用户将能够通过XR设备看到在该表面或平面上渲染的虚拟控制界面。然而,在无法看到在物理环境中用于渲染虚拟控制界面的整个区域和/或用户与在物理环境中的混淆区域内渲染的虚拟控制界面的元素的交互的情况下,其他用户可能无法识别关于虚拟控制界面的配置(包括整个虚拟控制界面和/或在混淆区域内渲染的虚拟控制界面的那些部分)和/或与虚拟控制界面的用户交互(包括与整个虚拟控制界面和/或在混淆区域内渲染的虚拟控制界面的那些部分的交互)的细节和/或模式。
在具有关于虚拟控制界面和/或用户与虚拟控制界面的交互的更不完整的数据的情况下,其他用户或设备可能无法解释(或可能更难以解释)虚拟控制界面的配置、虚拟控制界面上输入元素的含义和/或用户与虚拟控制界面的交互中的至少一些交互。除了在物理环境的对其他用户或设备不可见的区域内渲染虚拟控制界面的至少一部分之外,如果虚拟控制界面的配置被修改或随机化,则其他用户或设备可能更难以推断虚拟控制界面的配置、理解虚拟控制界面上输入元素的含义和/或理解用户与虚拟控制界面的交互的含义。
为了说明,用户的XR设备可以检测在物理环境中位于用户前面(或在用户的FOV内)的书、剪贴板、用户的手、移动电话或任何其他对象,并且可以确定面向用户(或在用户的FOV内)的书、剪贴板、手、移动电话或其他对象的表面的至少一部分在物理环境中的其他用户和/或记录设备的视图之外,或被其他用户和/或记录设备遮挡(例如,被一个或多个对象遮挡)。然后,XR设备可以渲染任何虚拟控制界面,使得当从XR设备观看时,对用户而言看起来就好像在书、剪贴板、手、移动电话或其他对象的表面上。由于虚拟控制界面对利用XR设备的用户而言看起来就好像渲染在书、剪贴板、手、移动电话或其他对象的表面上,所以用户将与虚拟控制界面交互,就好像虚拟控制界面实际上在物理环境中的书、剪贴板、手、移动电话或其他对象的表面上一样。因为书、剪贴板、手、移动电话或其他对象的表面的至少一部分对于物理环境中的其他用户和/或记录设备不可见,所以其他用户和/或记录设备将不能看到用户与虚拟控制界面的所有交互。
在不能看到用户与虚拟控制界面的所有交互的情况下,其他用户和/或记录设备将具有关于虚拟控制界面的配置和用户与虚拟控制界面的交互的更不完整的信息。因此,用户和/或记录设备将更难破译虚拟控制界面的配置或虚拟控制界面上的输入元素的含义。如果进一步修改虚拟控制界面的配置,使得输入元素更难推断(例如,通过调整如本文所述的虚拟控制界面的方面),则物理环境中的其他用户或设备可能甚至更难以确定虚拟控制界面的配置,以及虚拟控制界面上的输入元素的含义或用户与虚拟控制界面的交互。通过这种方式,XR设备可以保护用户的交互和通过虚拟控制界面提供的数据。
在一些情况下,XR设备可以检测人面部(例如,与XR设备相关联的用户和/或其他用户的面部),并使用人面部识别数据(例如,指示一个或多个用户的存在和/或位置的数据)和/或遮挡数据(例如,指示被一个或多个对象遮挡或以其他方式被其他用户或设备遮挡的区域或位置的数据)来检测除了与XR设备关联的用户之外的,在物理环境中被其他用户和设备遮挡(或在其他用户和设备的视图之外)的任何位置(例如,私有表面、区域、位置、平面等)。人面部识别数据可以由其他设备自我报告、由与XR设备相关联的用户提供、由XR设备使用面部识别技术(例如,神经网络、面部识别算法等)检测、和/或由与XR设备通信的服务器使用XR设备提供的信息并使用面部识别技术检测。在一些情况下,可以使用射线追踪或其他机制来计算遮挡数据。然后,XR设备可以在物理环境中的位置内渲染虚拟控制界面的至少一部分,以帮助遮蔽虚拟控制界面的配置和/或用户与虚拟控制界面的交互,其他用户可能尝试使用这些配置和/或交互来尝试推断虚拟控制界面的配置和/或虚拟控制界面上输入元素的重要性。
在一些示例中,XR设备可以对虚拟控制界面调整大小(例如,缩放)、重新定向、重新定位和/或重新配置,使得观察用户与虚拟控制界面的交互的其他用户或设备无法使用用户的交互来确定虚拟控制界面的布局、相关联的输入元素和/或用户通过虚拟控制界面键入的数据。例如,虚拟控制界面上的输入选项的数量或次序可以被修改或随机化,以防止其他用户确定输入选项和相关联的用户交互的含义。作为另一示例,虚拟界面上的输入元素可以与假的、引诱或非功能性的输入元素一起渲染,以遮蔽这种输入元素的相对位置,并防止其他用户解释与这种输入元素的用户交互。
在一些情况下,XR设备可以基于例如但不限于用户偏好、系统偏好(例如,XR设备偏好)、应用偏好(例如,XR应用偏好)、应用和/或内容术语、法律或法规、最佳实践、安全规范、与虚拟控制界面和/或相关联的数据相关联的潜在安全影响或风险、与虚拟控制界面相关联的信息的类型、虚拟控制界面类型、隐私级别等来确定是否渲染混淆虚拟控制界面。例如,用户可以指定哪些应用、控件和/或数据的类型应该是私有的。然后,XR设备可以渲染与私有位置内的此类应用、控件和/或数据的类型相关联的混淆虚拟控制界面。在其他示例中,XR设备可以始终呈现混淆虚拟控件界面或修改它用于在渲染混淆虚拟控件界面和非混淆虚拟控件界面之间切换的模式或序列。
本技术将在以下公开中描述如下。讨论从描述用于为XR体验提供混淆界面控件的示例系统和技术开始,如图1至图10所示。之后是用于为XR体验提供混淆界面控件的示例方法的描述,如图11所示。讨论以示例计算设备架构的描述结束,该计算设备架构包括适合于执行XR功能和提供用于XR体验的混淆界面控件的示例硬件组件,如图12所示。现在公开转向图1。
图1是示出根据本公开的一些方面的示例扩展现实系统100的图。扩展现实系统100可以运行(或执行)XR应用并实现XR操作。在一些示例中,作为XR体验的一部分,扩展现实系统100可以执行跟踪和定位、物理世界(例如,场景)的映射、以及在屏幕、显示器和/或可见平面/区域上的虚拟内容的定位和渲染。例如,扩展现实系统100可以生成物理世界中的场景的地图(例如,三维(3D)地图)、跟踪扩展现实系统100相对于场景(例如,相对于场景的3D地图)的姿势(例如,位置和定位)、在场景的地图上的特定位置中的定位和/或锚虚拟内容、以及在显示器/屏幕上渲染虚拟内容,使得虚拟内容看起来就好像在场景中在与虚拟内容所定位和/或锚定的场景的地图上的特定位置相对应的位置处。
在该说明性示例中,扩展现实系统100包括一个或多个图像传感器102、加速度计104、陀螺仪106、存储装置108、计算组件110、XR引擎120、控制界面管理引擎122、图像处理引擎124和渲染引擎126。应该注意的是,图1中所示的组件102-126是用于说明和解释目的而提供的非限制性示例,并且其他示例可以包括比图1所示的组件更多、更少或不同的组件。例如,在一些情况下,扩展现实系统100可以包括一个或多个其他传感器(例如,一个或多个惯性测量单元(IMU)、雷达、光检测和测距(LIDAR)传感器、音频传感器等)、一个或多个显示设备、一个或多个其他处理引擎、一个或多个其他硬件组件和/或图1中未示出的一个或多个其他软件和/或硬件组件。下面参考图11进一步描述可由扩展现实系统100实现的示例架构和示例硬件组件。
此外,为了简单和说明的目的,一个或多个图像传感器102在本文将被引用为图像传感器102(例如,以单数形式)。然而,本领域普通技术人员将认识到扩展现实系统100可以包括单个图像传感器或多个图像传感器。此外,以单数或复数形式引用扩展现实系统100的组件中的任一个(例如,102-126)不应被解释为将由扩展现实系统100实现的此类组件的数量限制为一个或多于一个。例如,以单数形式对加速度计104的引用不应被解释为将由扩展现实系统100实现的加速度计的数量限制为一个。本领域普通技术人员将认识到,对于图1所示的组件102-126中的任何一个,扩展现实系统100可以仅包括这种组件中的一个或这种组件中的多于一个。
扩展现实系统100可以是单个计算设备或多个计算设备的一部分或者由其实现。在一些示例中,扩展现实系统100可以是电子设备(或多个电子设备)的一部分,该电子设备(或多个电子设备)例如相机系统(例如,数码相机、IP相机、摄像机、安全相机等)、电话系统(例如,智能电话、蜂窝电话、会议系统等)、台式计算机、膝上型计算机或笔记本计算机、平板计算机、机顶盒、智能电视、显示设备、游戏控制台、视频流送设备、IoT(物联网)设备、智能可穿戴设备(例如,头戴式显示器(HMD)、智能眼镜等)、或任何其他合适的电子设备。
在一些实现方式中,一个或多个图像传感器102、加速度计104、陀螺仪106、存储装置108、计算组件110、XR引擎120、控制界面管理引擎122、图像处理引擎124和渲染引擎126可以是相同计算设备的一部分。例如,在一些情况下,一个或多个图像传感器102、加速度计104、陀螺仪106、存储装置108、计算组件110、XR引擎120、控制界面管理引擎122、图像处理引擎124和渲染引擎126可以集成到智能电话、膝上型计算机、平板计算机、智能可穿戴设备、游戏系统和/或任何其他计算设备中。然而,在一些实现方式中,一个或多个图像传感器102、加速度计104、陀螺仪106、存储装置108、计算组件110、XR引擎120、控制界面管理引擎122、图像处理引擎124和渲染引擎126可以是两个或更多个独立计算设备的一部分。例如,在一些情况下,组件102-126中的一些可以是一个计算设备的一部分或由一个计算设备实现,而其余组件可以是一个或多个其他计算设备的一部分或由一个或多个其他计算设备实现。
图像传感器102可以包括任何图像和/或视频传感器或捕获设备,例如,数码相机传感器、摄像机传感器、智能电话相机传感器、诸如电视或计算机、相机等之类的电子设备上的图像/视频捕获设备。在一些情况下,图像传感器102可以是相机或诸如XR设备(例如,HMD、智能眼镜等)、数码相机、智能电话、智能电视、游戏系统等之类的计算设备的一部分。在一些示例中,图像传感器102可以是多相机组装件的一部分,例如,双相机组装件。图像传感器102可以捕获图像和/或视频内容(例如,原始图像和/或视频数据),然后可由计算组件110、XR引擎120、控制界面管理引擎122、图像处理引擎124和/或渲染引擎126对其进行处理,如本文所描述的。
在一些示例中,图像传感器102可以捕获图像数据,并基于图像数据来生成帧,和/或将图像数据或帧提供给XR引擎120、控制界面管理引擎122、图像处理引擎124和/或渲染引擎126进行处理。帧可以包括视频序列或静止图像的视频帧。帧可以包括表示场景的像素阵列。例如,帧可以是每像素具有红色、绿色和蓝色分量的红-绿-蓝(RGB)帧;每像素具有亮度分量和两个色度(颜色)分量(色度-红色和色度-蓝色)的亮度、色度-红色、色度-蓝色(YCbCr)帧;或任何其他合适类型的彩色或单色图片。
加速度计104可以通过扩展现实系统100检测加速度,并基于检测到的加速度来生成加速度测量。陀螺仪106可以检测和测量扩展现实系统100的定向和角速度。例如,陀螺仪106可用于测量扩展现实系统100的俯仰、滚动和偏航。在一些示例中,图像传感器102和/或XR引擎120可以使用由加速度计104和陀螺仪106获得的测量来计算扩展现实系统100的姿势。如前所述,在其他示例中,扩展现实系统100还可以包括其他传感器,例如磁力计、机器视觉传感器、智能场景传感器、语音识别传感器、冲击传感器、震动传感器、位置传感器、倾斜传感器等。
存储装置108可以是用于存储数据的任何存储设备。此外,存储装置108可以存储来自扩展现实系统100的组件中的任一个的数据。例如,存储装置108可以存储来自图像传感器102的数据(例如,图像或视频数据)、来自加速度计104的数据(例如,测量)、来自陀螺仪106的数据(例如,测量)、来自计算组件110的数据(例如,处理参数、偏好、虚拟内容、渲染内容、场景地图、跟踪和定位数据、对象检测数据、隐私数据、XR应用数据、面部识别数据、遮挡数据等)、来自XR引擎120的数据、来自控制界面管理引擎122的数据、来自图像处理引擎124的数据和/或来自渲染引擎126的数据(例如,输出帧)。在一些示例中,存储装置108可以包括用于存储由计算组件110处理的帧的缓冲器。
一个或多个计算组件110可以包括中央处理单元(CPU)112、图形处理单元(GPU)114、数字信号处理器(DSP)116和/或图像信号处理器(ISP)118。计算组件110可以执行各种操作,例如图像强化、计算机视觉、图形渲染、扩展现实(例如,跟踪、定位、姿势估计、映射、内容锚定、内容渲染等)、图像/视频处理、传感器处理、识别(例如,文本识别、面部识别、对象识别、特征识别、跟踪或模式识别、场景识别、遮挡检测等)、机器学习、过滤以及本文描述的各种操作中的任何一个。在该示例中,计算组件110实现XR引擎120、控制界面管理引擎122、图像处理引擎124和渲染引擎126。在其他示例中,计算组件110还可以实现一个或多个其他处理引擎。
用于XR引擎120、控制界面管理引擎122、图像处理引擎124和渲染引擎126(以及任何图像处理引擎)的操作可以由计算组件110中的任何一个来实现。在一个说明性示例中,渲染引擎126的操作可由GPU 114实现,而XR引擎120、控制界面管理引擎122和图像处理引擎124的操作可由CPU 112、DSP 116和/或ISP 118实现。在一些情况下,计算组件110可以包括其他电子电路或硬件、计算机软件、固件或其任何组合,以执行本文描述的各种操作中的任何一个。
在一些示例中,XR引擎120可以基于来自图像传感器102、加速度计104、陀螺仪106和/或扩展现实系统100上的一个或多个传感器(例如,一个或多个IMU、雷达等)的数据来执行XR操作。在一些示例中,XR引擎120可以执行跟踪、定位、姿势估计、映射、内容锚定操作和/或任何其他XR操作/功能。
控制界面管理引擎122可以执行各种操作以确定(和管理)在XR体验期间如何、在何处和/或何时渲染控制界面,包括混淆控制界面。XR体验可以包括使用扩展现实系统100向用户呈现XR内容(例如,虚拟现实内容、增强现实内容、混合现实内容等)。在一些示例中,XR内容和体验可以由扩展现实系统100通过提供特定XR体验(例如,XR游戏体验、XR教室体验、XR购物体验、XR娱乐体验、XR活动(例如,操作、故障排除活动等)等等)的XR应用提供。在XR体验期间,用户可以使用扩展现实系统100查看虚拟内容和/或与其交互。在一些情况下,用户可以查看虚拟内容和/或与其交互,同时也能够查看用户周围的物理环境和/或与其交互,从而允许用户在物理环境和与物理环境混合或集成的虚拟内容之间具有沉浸式体验。
混淆控制界面可以包括显示虚拟数据和/或接收输入数据的任何虚拟界面,其中控制界面和/或控制界面的渲染被配置和/或修改为旨在向其他用户或设备隐藏控制界面的配置、控制界面上的界面元素和/或用户与控制界面交互的含义,使得其他用户或设备无法(或更难以)解释与控制界面的用户交互并由此确定通过控制界面提供的用户数据。在一些情况下,混淆界面可以包括被配置为私有的和/或被配置为保护通过虚拟界面渲染和/或键入的私有的和/或受保护的数据免于其他用户或设备的任何虚拟界面。在一些情况下,虚拟界面和/或相关联的数据可以基于例如但不限于用户偏好、系统偏好、应用偏好、应用和/或内容术语、法律或法规、最佳实践、安全规范、潜在的安全影响等,而被定义为或确定为私有和/或受保护的。私有和/或受保护数据的非限制性示例可以包括个人用户数据、密码、pin、医疗信息、金融信息、认证信息、多用户游戏中的玩家信息、安全信息、受密码保护的数据、受访问控制列表(ACL)和/或权限保护的数据、用户帐户数据、特权或机密数据等。
在一些示例中,控制界面管理引擎122可以使用来自图像传感器102、加速度计104、陀螺仪106和/或任何其他传感器的数据来检测场景中的对象(例如,窗、门、墙、桌子、书、设备、椅子等)、识别场景中的面部、检测场景中的监视设备(例如,相机、麦克风等)和/或场景的任何其他条件和/或特性,并且可以使用这些信息来确定是否混淆虚拟控制界面和/或如何混淆虚拟控制界面。在一些示例中,控制界面管理引擎122还可以使用来自其他设备或应用的数据,例如,来自其他用户设备的自报告数据和/或由扩展现实系统100的用户提供的数据。
在一些情况下,控制界面管理引擎122可以使用这样的数据来识别场景中的遮挡,该遮挡可用于为与扩展现实系统100相关联的用户渲染/显示混淆控制界面的至少一部分,以保护混淆控制界面免受其他用户、监视设备等的观看访问和/或解释。如前所述,遮挡可用于对其他用户和/或监视设备隐藏混淆控制界面的至少一部分,这可以限制关于混淆控制界面和/或用户与混淆控制界面的交互的数据的量,其中,这些用户和/或监视设备可以获得并使用这些数据的量来试图推断混淆控制界面上的界面元素的含义以及用户通过混淆控制界面键入的数据。
遮挡可以包括例如但不限于场景中的面积、表面、平面、对象和/或区域,其对与扩展现实系统100相关联的用户可见或在其视场(FOV)内,但对该场景中的其他用户和/或监视设备不可见或不在其视场(FOV)内和/或通过场景中的某些对象(例如,窗或门)是不可见的。在一些情况下,在物理环境中的检测到的对象、用户和/或遮挡的定位/位置、数量、存在和/或特性可用于确定何时和/或如何将虚拟控制界面渲染为混淆控制界面,以隐藏控制界面的配置和/或控制界面上输入元素的含义。例如,通过检测在物理环境中的检测到的对象、用户和/或遮挡的定位/位置、数量、存在和/或特性,控制界面管理引擎122可以确定控制界面的配置(例如,定位、次序、大小、位置、布局等),其他用户和/或设备可能更难根据其相应的FOV确定或识别该配置。
在一些情况下,当控制界面管理引擎122检测到物理环境中的一个或多个对象、用户和/或遮挡时,控制界面管理引擎122可以与XR引擎120和/或渲染引擎126协调,以向其他用户或设备隐藏控制界面的配置、其输入元素和/或相关联的用户交互的方式渲染混淆控制界面,以防止其他用户、设备等推断用户键入的数据。在一些示例中,控制界面管理引擎122可以计算和/或确定混淆控制界面的配置和/或呈现和/或用于渲染混淆控制界面的位置。例如,控制界面管理引擎122可以确定用于混淆控制界面的大小、定向、位置、界面设计或方案和/或任何其他配置。为了说明,控制界面管理引擎122可以确定混淆控制界面的配置,该配置向其他用户和/或设备隐藏混淆控制界面的配置和/或混淆控制界面上的输入元素的含义。在一些情况下,控制界面管理引擎122可以至少部分地将混淆控制界面渲染在遮挡的面积内,和/或修改混淆控制界面的特定位置、定向、大小、布局和/或方案,以对其他用户和/或设备隐藏输入元素的重要性。
在一些情况下,控制界面管理引擎122可检测触发遮挡检测、混淆控制界面呈现、控制界面修改或配置等的条件和/或事件。例如,控制界面管理引擎122可以(例如,基于偏好、规则、内容的类型、场景特性、场景中的对象、场景中的用户等)检测何时应将某些类型的数据和/或界面呈现为混淆控制界面或呈现在混淆控制界面内、何时应将混淆控制界面从呈现中移除、何时应将混淆控制界面从一个位置移动到另一位置、何时应当将混淆控制界面保持锁定在位置或遮挡内、何时应当将混淆控制界面重新配置(例如,缩放、重新定向、改变或重新设计等)以保持隐私或安全保护等等。
图像处理引擎124可以执行一个或多个图像处理操作。在一些示例中,图像处理引擎124可以基于来自图像传感器102的数据执行图像处理操作。在一些情况下,图像处理引擎124可以执行图像处理操作,例如,过滤、去马赛克、缩放、颜色校正、颜色转换、分割、降噪过滤、空间过滤、伪影校正等。渲染引擎126可以获得由计算组件110、图像传感器102、XR引擎120和/或图像处理引擎124生成和/或处理的图像数据,并渲染视频和/或图像帧以在显示设备上呈现。
虽然扩展现实系统100被示出包括某些组件,但普通技术人员将理解,扩展现实系统100可以包括比图1中所示的组件更多或更少的组件。例如,在一些实例中,扩展现实系统100还可以包括一个或多个存储器设备(例如,RAM、ROM、高速缓存等)、一个或多个联网接口(例如,有线和/或无线通信接口等)、一个或多个显示设备和/或图1中未示出的其他硬件或处理设备。下面参考图11描述可以利用扩展现实系统100实现的计算设备和硬件组件的说明性示例。
图2是示出由用户200佩戴的扩展现实系统220的示例的图。扩展现实系统220可以包括与图1所示且如上所述的扩展现实系统100相同的组件中的一些或全部,并且可以执行与扩展现实系统100相同的功能中的一些或全部。虽然扩展现实系统220在图2中示为AR眼镜,但扩展现实系统220可以包括任何合适类型的XR设备,例如HMD或其他XR设备。扩展现实系统220被描述为光学透视AR设备,其允许用户200在佩戴扩展现实系统220的同时观看真实世界。例如,用户200可以在距离用户200一定距离处的平面204上查看真实世界环境中的对象202。扩展现实系统220具有图像传感器218和显示器210(例如,玻璃、屏幕、透镜或其他显示器),其允许用户200看到真实世界环境并且还允许在其上显示AR内容。图像传感器218可以与图1所示的图像传感器102相似或相同。虽然图2中示出了一个图像传感器218和一个显示器210,但在一些实现方式中,扩展现实系统220可以包括多个相机和/或多个显示器(例如,用于右眼的显示器和用于左眼的显示器)。AR内容(例如,图像、视频、图形、虚拟或AR对象或其他AR内容)可以投影或以其他方式显示在显示器210上。在一个示例中,AR内容可以包括对象202的增强版本。在另一示例中,AR内容可以包括与对象202相关或与真实世界环境中的一个或多个其他对象相关的附加AR内容。
如图2所示,扩展现实系统220可以包括计算组件216和存储器212,或者可以与计算组件216和存储器212进行有线或无线通信。计算组件216和存储器212可以存储和执行用于执行本文描述的技术的指令。在扩展现实系统220与存储器212和计算组件216进行(有线或无线)通信的实现方式中,容纳存储器212和计算组件216的设备可以是计算设备,例如台式计算机、膝上型计算机、移动电话、平板计算机、游戏控制台或其他合适的设备。扩展现实系统220还包括输入设备214或与输入设备214进行(有线或无线)通信。输入设备214可以包括任何合适的输入设备,例如触摸屏、笔或其他指针设备、键盘、鼠标、按钮或键、用于接收语音命令的麦克风、用于接收手势命令的手势输入设备、其任何组合和/或其他输入设备。在一些情况下,图像传感器218可以捕获可被处理以用于解释手势命令的图像。
图像传感器218可以捕获彩色图像(例如,具有红-绿-蓝(RGB)颜色分量的图像、具有诸如YCbCr图像之类的亮度(Y)和色度(C)颜色分量的图像或其他彩色图像)和/或灰度图像。如上所述,在一些情况下,扩展现实系统220可以包括多个相机,例如,双前置相机和/或一个或多个前置相机和一个或多个后置相机,其还可以并入各种传感器。在一些情况下,图像传感器218(和/或扩展现实系统220的其他相机)可以捕获包括多个视频帧(或图像)的静止图像和/或视频。在一些情况下,由图像传感器218(和/或其他相机)接收的图像数据可以是原始未压缩格式的,并且可以在被进一步处理和/或存储在存储器212中之前被压缩和/或(例如,由图像信号处理器(ISP)或扩展现实系统220的其他处理器)以其他方式处理。在一些情况下,图像压缩可以由计算组件216使用无损或有损压缩技术(例如,任何合适的视频或图像压缩技术)来执行。
在一些情况下,图像传感器218(和/或扩展现实系统220的其他相机)也可以被配置为捕获深度信息。例如,在一些实现方式中,图像传感器218(和/或其他相机)可以包括RGB-深度(RGB-D)相机。在一些情况下,扩展现实系统220可以包括一个或多个深度传感器(未示出),其与图像传感器218(和/或其他相机)分离并且可捕获深度信息。例如,这样的深度传感器可以独立于图像传感器218获得深度信息。在一些示例中,深度传感器可以物理地安装在与图像传感器218相同的一般位置,但可以以与图像传感器218不同的频率或帧速率操作。在一些示例中,深度传感器可以采取光源的形式,该光源可以将结构化或纹理化的光图案(其可以包括光的一个或多个窄带)投射到场景中的一个或多个对象上。然后,通过利用由对象的表面形状引起的投影图案的几何畸变,可以获得深度信息。在一个示例中,可以从立体传感器(例如,红外结构光投影仪和注册到相机(例如,RGB相机)的红外相机的组合)获得深度信息。
在一些实现方式中,扩展现实系统220包括一个或多个传感器。一个或多个传感器可以包括一个或多个加速度计(例如104)、一个或多个陀螺仪(例如106)和/或其他传感器。一个或多个传感器可以向计算组件216提供速度、定向和/或其他位置相关的信息。在一些情况下,一个或多个传感器可以包括至少一个惯性测量单元(IMU)。IMU是使用一个或多个加速度计、一个或多个陀螺仪和/或一个或多个磁力计的组合来测量扩展现实系统220的比力、角速率和/或定向的电子设备。在一些示例中,一个或多个传感器可以输出与由图像传感器218(和/或扩展现实系统220的其他相机)捕获的图像的捕获相关联的测量信息和/或使用扩展现实系统220的一个或多个深度传感器获得的深度信息。
计算组件216可以使用一个或多个传感器(例如,一个或多个IMU)的输出来确定扩展现实系统220的姿势(也称为头部姿势)和/或图像传感器218(或扩展现实系统100的其他相机)的姿势。在一些情况下,扩展现实系统220的姿势和图像传感器218(或其他相机)的姿势可以相同。图像传感器218的姿势是指图像传感器218相对于(例如,关于对象202的)参考系的位置和定向。在一些实现方式中,可以针对6自由度(6DOF)来确定相机姿势,该6DOF是指三个平移分量(例如,可由相对于诸如图像平面之类的参考系的X(水平)、Y(垂直)和Z(深度)坐标给出)和三个角分量(例如,相对于同一参考系的滚动、俯仰和偏航)。
在一些方面,图像传感器218和/或扩展现实系统220的姿势可以由计算组件216基于由图像传感器218(和/或扩展现实系统220的其他相机)捕获的图像,使用视觉跟踪解决方案来确定和/或跟踪。在一些示例中,计算组件216可以使用基于计算机视觉的跟踪、基于模型的跟踪和/或同时定位和映射(SLAM)技术来执行跟踪。例如,计算组件216可以执行SLAM或者可以与SLAM引擎(现示出)进行(有线或无线)通信。SLAM指的是一类技术,其中创建环境的地图(例如,由扩展现实系统220建模的环境的地图),同时跟踪相机(例如,图像传感器218)和/或扩展现实系统220相对于该地图的姿势。该地图可以被称为SLAM地图,并且可以是三维(3D)的。SLAM技术可以使用由图像传感器218(和/或扩展现实系统220的其他相机)捕获的彩色或灰度图像数据来执行,并且可以用于生成图像传感器218和/或扩展现实系统220的6DOF姿势测量的估计。被配置为执行6DOF跟踪的这种SLAM技术可以被称为6DOFSLAM。在一些情况下,一个或多个传感器的输出可用于估计、校正和/或以其他方式调整估计出的姿势。
在一些情况下,6DOF SLAM(例如,6DOF跟踪)可以将从来自图像传感器218(和/或其他相机)的某些输入图像观察到的特征与SLAM地图相关联。6DOF SLAM可以使用来自输入图像的特征点关联来针对输入图像确定图像传感器218和/或扩展现实系统220的姿势(位置和定向)。还可以执行6DOF映射来更新SLAM地图。在一些情况下,使用6DOF SLAM维护的SLAM地图可以包含从两个或更多个图像三角化的3D特征点。例如,可以从输入图像或视频流中选择关键帧来表示观察到的场景。对于每个关键帧,可以确定与图像相关联的相应6DOF相机姿势。图像传感器218和/或扩展现实系统220的姿势可以通过将来自3D SLAM地图的特征投影到图像或视频帧中以及根据验证的2D-3D对应关系更新相机姿势来进行确定。
在一个说明性示例中,计算组件216可以从每个输入图像或从每个关键帧提取特征点。本文中使用的特征点(也称为配准点(registration point))是图像的独特或可识别的部分,例如,手的部分、桌子的边缘等。从捕获的图像中提取的特征可以表示沿三维空间的不同特征点(例如,X轴、Y轴和Z轴上的坐标),并且每个特征点可以具有相关联的特征位置。关键帧中的特征点要么与先前捕获的输入图像或关键帧的特征点匹配(相同或与其相对应),要么与其不匹配。特征检测可以用于检测特征点。特征检测可以包括用于检查图像的一个或多个像素以确定特征是否存在于特定像素处的图像处理操作。特征检测可用于处理整个捕获图像或图像的某些部分。对于每个图像或关键帧,一旦检测到特征,就可以提取特征周围的局部图像补丁。特征可以使用任何合适的技术(例如,尺度不变特征变换(SIFT)(其对特征进行局部化并生成其描述)、加速鲁棒特征(SURF)、梯度位置-定向直方图(GLOH)、归一化互相关(NCC)或其他合适的技术)来提取。
在一些示例中,AR(或虚拟)对象可以被配准或锚定到场景中的检测到的特征点(例如,相对于其定位)。例如,用户200可以从用户200所站的地方看街对面的餐厅。响应于识别餐厅和与餐厅相关联的AR内容,计算组件216可以生成提供与餐厅相关的信息的AR对象。计算组件216还可以从包括餐厅上的标志的图像的一部分检测特征点,并且可以将AR对象配准到标志的特征点,使得AR对象相对于标志显示(例如,在标志之上,使得用户200容易将其识别为与该餐厅有关)。
扩展现实系统220可以生成并显示供用户200观看的各种AR对象。例如,扩展现实系统220可以生成和显示虚拟界面(例如,虚拟键盘),作为用于用户200根据需要键入文本和/或其他字符的AR对象。虚拟界面可以配准到真实世界中的一个或多个物理对象。然而,在许多情况下,可能缺乏可以用作配准目的的参考的具有独特特征的真实世界对象。例如,如果用户正盯着空白白板,则白板可能没有虚拟键盘可以配准到的任何独特特征。室外环境可提供可用于配准虚拟界面的甚至更少的独特的点,例如,基于真实世界中缺乏点、与用户在室内时相比在真实世界中的独特对象更远、在真实世界中存在许多移动点、远距离点等。
然而,在一些情况下,扩展现实系统220可以利用用户200的手来配准虚拟界面。例如,用户200的一个或多个手和手指可用作虚拟界面的真实世界配准点(例如,以在空间中锚定虚拟界面)。通过将虚拟界面配准到手和手指上,减少了户外操作的挑战。
在一些情况下,扩展现实系统220还可以跟踪用户200的手和/或手指,以允许用户200控制AR环境中的虚拟界面。例如,扩展现实系统220可以跟踪用户200的手和/或指尖的姿势和/或移动,以识别或翻译与虚拟界面的用户交互。用户交互可以包括例如但不限于:移动虚拟界面、调整虚拟界面的大小、选择虚拟界面中的输入界面元素、通过虚拟界面提供输入等。
在一些示例中,图像传感器218可以捕获与用户200相关联的场景的图像,扩展现实系统220可以使用这些图像来检测场景中的对象和人/面部。例如,图像传感器218可以捕获场景中的人/面部和/或任何对象(例如,其他设备(例如,记录设备、显示器等)、窗、门、桌子、桌、椅子、墙壁等)的图像。扩展现实系统220可以使用图像来识别由图像捕获的面部和/或对象,并估计这些面部和/或对象的相对位置。为了说明,扩展现实系统220可以执行面部识别以检测场景中的任何面部,并且可以使用由图像传感器218捕获的图像来估计面部在场景中的位置。作为另一示例,扩展现实系统220可以分析来自图像传感器218的图像以检测任何捕获设备(例如,相机、麦克风等)或指示捕获设备存在的标志,并估计捕获设备(或标志)的位置。
扩展现实系统220还可以使用图像来检测用户200的FOV内的任何遮挡,该遮挡可以被定位或位于使得在这种遮挡的表面上或在这种遮挡的区域内渲染的任何信息对其他检测到的用户或捕获设备不可见或在其FOV外。例如,扩展现实系统220可以检测用户200的手的手掌在用户200的前面且面向用户200并且因此在用户200的FOV内。扩展现实系统220还可以确定用户200的手的手掌在场景中检测到的其他用户和/或设备捕获的FOV的外部,并因此用户200的手的手掌的表面被遮挡在这些用户和/或捕获设备之外。当扩展现实系统220向用户200呈现扩展现实系统220确定应该是私有的和/或被保护而不对其他用户和/或捕获设备可见的任何AR内容(例如,本文描述的混淆控制界面)时,扩展现实系统220可以在用户200的手的手掌上渲染这种AR内容,以保护这种AR内容的隐私,并防止其他用户和/或捕获设备能够看到该AR内容的至少一些和/或用户200与该AR内容的交互和/或推断在渲染的混淆控制界面上的输入元素的含义。
图3是示出可用于跟踪手300的位置以及手300与虚拟界面(例如,如本文所述的混淆控制界面)的交互的手300的示例标志点的图。图3中所示的标志点对应于手300的不同部分,包括手300的手掌上的标志点335、手300的拇指330上的标志点、手300的食指332上的标志点、手300的中指334上的标志点、手300的无名指336上的标志点和手300的小指338上的标志点。手300的手掌可以在三个平移方向(例如,相对于平面(例如,图像平面)以X、Y和Z方向测量)和三个旋转方向(例如,相对于平面以偏航、俯仰和滚动测量)上移动,并因此提供可用于配准和/或跟踪的六个自由度(6DOF)。手掌的6DOF移动在图3中以正方形表示,如图例340所示。
手300的手指的不同关节允许不同程度的移动,如图例340所示。如图3中的菱形(例如,菱形333)所示,每个手指的基部(对应于近端指骨与掌骨之间的掌指关节(MCP))具有对应于屈伸以及外展与内收的两个自由度(2DOF)。如图3中的圆形(例如,圆331)所示,每个手指的上关节中的每一个(对应于远端指骨、中端指骨、近端指骨之间的指间关节)具有对应于屈伸的一个自由度(2DOF)。因此,手300提供26个自由度(26DOF),根基该自由度跟踪手300以及手300与由扩展现实系统100渲染的虚拟界面的交互。
扩展现实系统100可以使用手300上的标志点中的一个或多个来跟踪手300(例如,跟踪手300的姿势和/或移动),并跟踪与由扩展现实系统100渲染的虚拟界面的交互。如上所述,作为检测手300上的一个或多个标志点的结果,可以建立标志(以及因此手和手指)相对于扩展现实系统100在相对物理位置上的姿势。例如,可以在图像中检测手300的手掌上的标志点(例如,标志点335),并且可以相对于扩展现实系统100的图像传感器102确定标志点的位置。由扩展现实系统100渲染的虚拟界面的点(例如,中心点,例如,质心或其他中心点)和/或由手300选择的虚拟界面上的界面元素、或手300已经与其交互的界面元素,可以相对于针对手300的手掌上的标志点确定的位置来平移到扩展现实系统100的显示器210(或显示器210上的渲染)上的位置。在一些示例中,可以相对于手300上的一个或多个标志点的位置来配准手300已经与其交互的虚拟界面的一部分的点。
在一些示例中,扩展现实系统100还可以将虚拟界面和/或手300配准到真实世界中的点(如在一个或多个图像中检测到的)和/或用户的其他部分。例如,在一些实现方式中,除了确定手300相对于扩展现实系统100和/或虚拟界面的物理姿势之外,扩展现实系统100可以确定其他标志的位置,例如,墙上的独特点(称为关键点)、对象的一个或多个角落、地板上的特征、人面部上的点、附近设备上的点,等等。在一些情况下,扩展现实系统100可以将虚拟界面放置在相对于环境中检测到的关键点的特定位置内,该关键点可以对应于例如环境中检测到的对象和/或人。
在一些示例中,可使用例如来自图像传感器102的图像数据和/或来自诸如加速度计104、陀螺仪106和/或一个或多个其他传感器(例如,一个或多个磁力计、一个或多个惯性测量单元(IMU)等)之类的一个或多个传感器的测量来确定扩展现实系统100(和/或用户200的头部)的姿势。头部姿势可用于确定虚拟界面、手300和/或环境中的对象和/或人的位置。
在一些示例中,虚拟界面可以保持在渲染的位置。然后,当虚拟界面在所确定的位置处被渲染时,用户可以虚拟地与该虚拟界面交互。例如,虚拟界面可以保持在渲染的位置,并且用户可以通过虚拟界面虚拟地键入文本。在一些情况下,当用户与虚拟界面交互时,虚拟界面可以保持固定。在一些情况下,虚拟界面可以保持在确定的位置,直到扩展现实系统100检测到重新配准事件。如果虚拟界面是混淆控制界面,则扩展现实系统100在检测到指示虚拟界面可能在另一用户或风险对象的FOV内的事件时,可以移动、移除或重新配置虚拟界面,该风险对象可以包括可以记录虚拟界面(和/或相关联的交互)或使用户能够从风险对象或通过风险对象看到虚拟界面的任何对象,例如,记录设备、窗、玻璃、门等。例如,扩展现实系统100可以将虚拟界面移动到扩展现实系统100确定在其他用户或风险对象的FOV外部的不同位置。如果扩展现实系统100确定在用户200的FOV内但在另一用户或风险对象的FOV外的其他位置不存在(或无法识别其他位置),则扩展现实系统100可以改变虚拟界面的其他方面,例如,大小或布局;通知用户虚拟界面不再是私有的;提示用户选择是否将虚拟界面保留为当前渲染的;将虚拟界面移动到不同的位置;移除虚拟界面;改变虚拟界面的设计方案;和/或执行另一操作。
图4是示出用于生成用于XR体验的混淆控制界面的示例系统流程400的图。可以生成混淆控制界面以允许用户与控制界面交互,同时防止其他用户和记录设备解释/识别控制界面、控制界面上输入元素的含义、用户与控制界面交互的含义和/或与这种用户交互相关联的数据。
在该示例中,设备跟踪器420可以从加速度计104和陀螺仪106接收测量402,以及从图像传感器102接收图像数据404。在一些示例中,测量402可以包括来自加速度计104的运动测量和来自陀螺仪106的定向测量。例如,测量402可以包括来自加速度计104的一个或多个平移向量(例如,向上/向下、向左/向右、向前/向后)和来自陀螺仪106的一个或多个旋转向量(例如,俯仰、偏航、滚动)。此外,图像数据404可以包括由图像传感器102捕获的一个或多个图像或帧。一个或多个图像或帧可以捕获与扩展现实系统100相关联的场景和/或场景的一个或多个部分(例如,一个或多个区域、对象、人等)。
设备跟踪器420可以是由扩展现实系统100实现的跟踪组件。在一些示例中,设备跟踪器420可以是扩展现实系统100上的XR引擎120的一部分或由XR引擎120实现。在其他示例中,设备跟踪器420可以与XR引擎120分离,并由扩展现实系统100上的计算组件110中的一个或多个实现。
设备跟踪器420可以使用测量402和图像数据404来跟踪扩展现实系统100的姿势(例如,6DOF姿势)。例如,设备跟踪器420可以将来自图像数据404的视觉数据与来自测量402的惯性数据融合,以确定扩展现实系统100相对于物理世界(例如,场景)和物理世界的地图的位置和运动。在一些示例中,当跟踪扩展现实系统100的姿势时,设备跟踪器420可以生成场景(例如,真实世界)的三维(3D)地图和/或生成针对场景的3D地图的更新。3D地图更新可以包括例如但不限于与场景和/或场景的3D地图相关联的新的或更新后的特征和/或标志点、识别或更新扩展现实系统100在场景和场景的3D地图内的位置的定位更新等。3D地图可以提供真实/物理世界中场景的数字表示。在一些示例中,3D地图可以将基于位置的对象和/或内容锚定到真实世界坐标和/或对象。扩展现实系统100可以使用映射场景(例如,由3D地图表示和/或与3D地图相关联的物理世界中的场景)来合并物理和虚拟世界,和/或将虚拟内容或对象与物理环境合并。
设备跟踪器420可以将根据测量402生成的跟踪数据406和图像数据404提供给手跟踪器422、XR应用424和控制界面管理引擎122。跟踪数据406可以包括扩展现实系统100的姿势和由设备跟踪器420计算出的地图数据。如上所述,地图数据可以包括场景的3D地图和/或针对场景的3D地图的地图更新。
手跟踪器422可以是由扩展现实系统100实现的组件,以跟踪与扩展现实系统100相关联的用户(例如,200)的手(例如,300)和/或用户手的指尖,如前所述。为了简单和说明的目的,本文将手跟踪器422描述为用于跟踪手的组件。然而,应当注意,在其他示例中,手跟踪器422可以跟踪其他对象和/或身体部分。例如,如前所述,除了或替代跟踪手本身,手跟踪器422可以跟踪手上的手指或指尖。
在一些示例中,设备跟踪器420可以是扩展现实系统100上的XR引擎120的一部分或由XR引擎120实现。在其他示例中,设备跟踪器420可以与XR引擎120分离,并由扩展现实系统100上的计算组件110中的一个或多个实现。
手跟踪器422还可以从图像传感器102接收图像数据404。手跟踪器422可以使用图像数据404和跟踪数据406来跟踪手姿势408(例如,手和/或手的手指/指尖的姿势)。在一些示例中,手跟踪器422可以确定手姿势408,如先前关于图3所述。然后,手跟踪器422可以将手姿势408提供给XR应用424。在一些示例中,XR应用424可以是扩展现实系统100上的应用,该应用被设计和/或配置为提供特定的XR体验,例如,AR游戏体验、AR教室体验和/或任何其他XR体验。XR应用424可以是XR引擎120的一部分,或者由XR引擎120实现,或者可以与XR引擎120分离。
控制界面管理引擎122可以使用图像数据404和跟踪数据406来确定何时、如何和/或在何处渲染混淆控制界面作为XR体验的一部分。混淆控制界面可以是虚拟控制界面,该虚拟控制界面被设计和/或配置为隐藏控制界面、控制界面的配置、控制界面上的输入元素的含义、用户和控制界面之间的交互和/或与控制界面相关联的数据输入/输出,而不让场景中未被授权看到这些信息的任何用户和/或记录设备和/或场景中除了与扩展现实系统100相关联的预期用户之外的所有用户和/或记录设备看到。
在一些示例中,控制界面管理引擎122可以确定是否应该将虚拟控制界面渲染为混淆控制界面,以便对场景中的用户和/或记录设备隐藏虚拟控制界面的配置以及相关联的输入元素和输入数据。控制界面管理引擎122可以基于一个或多个因素来确定是否将虚拟控制界面渲染为混淆控制界面,这些因素例如用户偏好、系统偏好、应用偏好、虚拟控制界面的界面的类型(例如,密码提示、键板(pin pad)、医疗表格、考试或测验问题、投票调查、银行界面、私有表格、竞争游戏控制界面等)、与虚拟界面相关联的数据输入/输出的类型(例如,医疗数据、金融数据、认证凭证、机密数据、个人或私有数据、受保护数据、安全信息、敏感数据等)、与虚拟界面和/或相关联的数据相关联的安全信息或访问级别、与虚拟界面相关联的应用的类型(例如,银行、医疗、安全、游戏等)、与扩展现实系统100相关联的当前环境(例如,公共区域、监视区域、高犯罪率区域、人口密集区域、具有附近用户或设备的区域等)、和/或任何其他因素。
在一些情况下,控制界面管理引擎122可以确定混淆控制界面的配置(例如,大小、位置、次序、设计方案或布局、位置等)和/或混淆控制界面的界面元素。
例如,当呈现允许用户基于不同的滑动选择不同选项(例如,对于一个选项进行左滑动和对于另一选项进行右滑动)的多选项选择对象时,控制界面管理引擎122可以确定各种选项和/或相关联的滑动动作的随机化或修改的次序。在经由虚拟按钮按压的多选项选择中,控制界面管理引擎122可以确定选项的随机化或修改的次序,以混淆它们的重要性。作为另一示例,在虚拟键盘呈现中,控制界面管理引擎122可以确定在特定时间和/或事件(例如,在每次按钮按压时)键盘(和/或键盘输入)的随机或不同的大小调整和重新定位。
在一些情况下,控制界面管理引擎122可以确定虚拟界面的配置,其中引入了混淆虚拟界面和/或相关联的输入元素的布局、虚拟界面和/或相关联的输入元素的大小、虚拟界面和/或相关联的输入元素的位置、键入文本的长度或大小等的假的、引诱或非功能性界面元素。控制界面管理引擎122可以确定在呈现这种假的、引诱或非功能性界面元素和/或在呈现假的、引诱或非功能性界面元素之间切换时的特定时间、事件和/或间隔。在一些示例中,控制界面管理引擎122可以修改或随机化基于键入文本渲染的预测文本的次序或配置。
在一些情况下,控制界面管理引擎122可以识别场景中可渲染混淆控制界面的私有区域。私有区域可以包括场景中的区域、面积、位置、对象、表面和/或平面,它们在与扩展现实系统100相关联的用户的FOV内,但在场景中的其他用户和/或任何已知或潜在记录设备的FOV外部。换言之,私有区域可以是在场景中用户可以看到的某个地方,但场景中的其他用户和/或记录设备不能看到该地方。在一些情况下,如果场景中的遮挡可以阻止(例如,阻挡)其他用户和/或记录设备看到私有区域,则可将该私有区域确定为在其他用户和/或记录设备的FOV外部。
例如,桌子上的一叠书可以阻止场景中的其他用户和/或记录设备看到桌子的在这叠书的特定侧(例如,相对于其他用户和/或记录设备的相对侧)上的面积。如果桌子的那个面积没有对与扩展现实系统100相关联的用户遮挡(例如,在用户的FOV内),那么这叠书可以被认为是遮挡,并且桌子的该面积可以被视为私有区域,该私有区域可用于为用户渲染私有控制界面,而不会将混淆的控制界面和/或相关联的交互/数据中的至少一些暴露给场景中的其他用户和/或记录设备。通过防止混淆控制界面和/或相关联的交互的至少一些部分对物理环境中的其他用户或设备可见,可能更难分析用户交互并根据混淆控制界面和/或相关联的数据输入推断相关联的输入元素的含义。
在一些示例中,为了识别场景中的私有区域,控制界面管理引擎122可以使用图像数据404来识别场景中的任何对象和面部以及它们在场景中相对于扩展现实系统100的相关联的位置。对象可以包括风险对象。风险对象可以包括具有记录能力的任何设备(例如,相机)或者允许其他用户看到私有区域的任何事物,例如,窗、打开的门或玻璃门等。在一些情况下,控制界面管理引擎122可以使用关于场景中的对象和/或面部以及它们在场景中的相关联的位置的信息来确定场景中的任何区域、面积、位置、对象、表面和/或平面是否被选择为在其他用户和/或风险对象的FOV外部但在与扩展现实系统100相关联的用户的FOV内的私有区域。例如,控制界面管理引擎122可以确定是否存在场景中的任何面积或平面,该面积或平面在防止其他用户和/或风险对象看到该面积或平面的相对位置、角度、距离等内。在一些示例中,控制界面管理引擎122可以基于界面的哪些部分或方面可对其他用户和/或风险对象可见,使用这样的信息来确定用于混淆控制界面的配置。
在一些情况下,控制界面管理引擎122可以基于来自用户和/或其他设备的输入来识别场景中的任何对象和面部(以及它们的相关联的位置)。例如,用户可以输入关于场景中的任何用户和对象的信息,包括例如对这样的用户和对象的描述、对这样的用户和对象的位置的描述、对可能的遮挡和/或私有区域的指示等。作为另一示例,这样的信息可以从场景中的其他设备自我报告。如果这样的设备是可信的,则控制界面管理引擎122在识别对象、面部和相关联位置时可以依赖于这样的信息。
在一些情况下,控制界面管理引擎122可以执行遮挡计算以确定是否存在任何遮挡,这些遮挡将阻止场景中的其他用户和/或风险对象看到场景中的特定区域、面积、位置、对象、表面和/或平面。例如,控制界面管理引擎122可以确定在映射场景(例如,由3D地图表示和/或与3D地图相关联的物理世界中的场景)中是否有任何区域对除了与扩展现实系统100相关联的用户之外的所有用户被遮挡。在一些示例中,控制界面管理引擎122可以使用光线跟踪来寻找场景中对其他用户和/或风险对象遮挡的遮挡和/或区域。在其他示例中,控制界面管理引擎122可以分析图像数据404以确定场景中是否存在可能阻止其他用户和/或风险对象看到场景中特定区域的任何遮挡。遮挡可以包括对场景中其他用户和/或风险对象的FOV的任何对象或障碍物。此外,遮挡可用于识别私有区域,该私有区域可用于为用户渲染混淆控制界面。
在一些示例中,如果场景中的表面在特定角度内面对与扩展现实系统100相关联的用户,则控制界面管理引擎122可以推断或假设该表面是私有区域。例如,私有控制界面管理引擎122可以识别场景中面向用户的平面在可编程角度内,并且推断或假设这种平面表面是私有的。可编程角度可以是例如距用户的面部的角度或定向在阈值差或距离(例如,角)内的角度。例如,如果用户的面部处于90度角,则可编程角度可以是90度角或距90度的x度内的角度。在一些情况下,控制界面管理引擎122可以在映射场景上使用平面分割(例如,经由随机样本一致性(RANSAC)、Hough变换、神经网络等),以在可编程角度内寻找面向用户的平面表面。在一些示例中,控制界面管理引擎122可以分析检测到的对象、面部和/或遮挡,如前所述,以确认平面表面确实是私有的。
如前所述,控制界面管理引擎122可以确定混淆控制界面的配置(例如,大小、形状角度、设计、方案等)用于隐藏混淆控制界面中输入元素的含义和/或在私有区域上或私有区域内适配和/或对齐混淆控制界面。例如,控制界面管理引擎122可以确定混淆控制界面的大小、定向、形状和/或布局和/或设计方案,该混淆控制界面被确定为对其他用户和/或风险对象隐藏输入元素的含义和/或将混淆控制界面适配于私有区域内。
接下来,控制界面管理引擎122可以向XR应用424提供控制界面数据410。控制界面数据410可以包括XR应用424可以用于渲染混淆控制界面的混淆控制界面和/或相关联的界面元素的配置的指示。在一些情况下,控制界面数据410可以包括关于在物理环境中的检测到的对象、用户、遮挡、私有区域等的信息,XR应用424还可以使用这些信息来渲染混淆的控制界面。在一些示例中,控制界面数据410可以包括混淆控制界面和/或相关联界面元素的位置和配置(例如,形状、大小、角度、次序、布局、设计方案等)的指示。
如前所述,XR应用424还可以从设备跟踪器420接收跟踪数据406,并且从手跟踪器422接收手姿势408。XR应用424可以使用跟踪数据406和手姿势408以及控制界面数据410来对混淆控制界面进行调整大小、定位、对齐、配置和渲染。混淆控制界面的渲染可以包括在物理环境的区域上提供混淆控制界面的虚拟/数字覆盖和/或渲染/显示混淆控制界面,以对于从/通过扩展现实系统100观看混淆控制界面的用户而言,看起来就好像该混淆控制界面位于、呈现或投影在物理环境中的该区域上一样。在一些情况下,XR应用424可以使用跟踪数据406、手姿势408和控制界面数据410来将混淆控制界面映射到场景的3D地图上的区域。此外,在一些情况下,XR应用424可以使用跟踪数据406、手姿势408和控制界面数据410来映射和/或转换(例如,经由手)与混淆控制界面的用户交互,和/或以其他方式允许混淆控制界面与用户交互。
XR应用424可以向显示器210提供输出412,该显示器210可以向用户呈现混淆控制界面。输出412可以包括区域内的混淆控制界面的渲染。例如,输出412可以包括在区域上(例如,在其上渲染、在其上出现、锚定到其上、锁定在其上等)的混淆控制界面的虚拟/数字覆盖。在一些情况下,输出412可以包括渲染/显示混淆控制界面,以对从/通过扩展现实系统100观看混淆控制界面的用户而言,看起来就好像该混淆控制界面位于、呈现或投影在区域上。在一些情况下,输出412可以包括与由XR应用424提供的混淆控制界面和/或XR内容相关联的其他信息。
图5示出了示例混淆虚拟控件界面用例。混淆虚拟控制界面用例包括由扩展现实系统100在真实/物理世界中的场景510内渲染的混淆虚拟控制界面502。在该示例中,混淆虚拟控制界面502向用户呈现可选选项504和506。此外,根据第一配置500并根据第二配置520示出了混淆虚拟控制界面502。
在第一配置500中,用户可以向左滑动以选择虚拟控制界面502的选项504,或者向右滑动以选择虚拟控制界面502的选项506。在第二配置520中,用户可以向左滑动以选择选项506,或者向右滑动以选择选项504。因此,在第一配置500和第二配置520之间已经修改了选项504和506的次序和/或被定义用于选择选项504和506的滑动动作。扩展现实系统100可以根据第一配置500和第二配置520改变混淆虚拟控制界面502的配置,以隐藏用于在任何给定时间渲染混淆虚拟控制界面502的配置,并由此防止场景510中的具有看到场景510内虚拟映射/定位混淆虚拟控制界面502的区域的潜在可能性的风险对象(例如,记录设备、窗、玻璃门等)和用户解释/推断混淆虚拟控制界面502的配置、在混淆虚拟控制界面502中呈现的元素(例如,选项504和506)的含义和/或与混淆虚拟控制界面502的用户交互的含义。
例如,在场景510中,混淆虚拟控制界面502在另一用户508C和风险对象508A、508B的FOV内。在该示例中,风险对象508A是打开的门,其可以允许其他用户和/或记录设备从打开的门的外部查看混淆虚拟控制界面502,并且风险对象508B是记录设备,例如相机。由于混淆虚拟控制界面502在用户508C和风险对象508A、508B的FOV内,所以与混淆虚拟控制界面502的用户交互可以对用户508C和风险对象508A、508B是可见的。因此,用户508C能够查看和研究与混淆虚拟控制界面502的用户交互,并且风险对象508A、508B能够记录与混淆虚拟控制界面502的用户交互,这可以允许用户或设备查看和研究与混淆虚拟控制界面502的用户交互。通过分析与混淆虚拟控制界面502的用户交互。
如果扩展现实系统100每次(或以高频率)利用相同的配置渲染混淆虚拟控制界面502,则用户和/或设备能够分析与混淆虚拟控制界面502的用户交互以识别用户交互中的特性和/或模式,该特性和/或模式可用于识别/推断混淆虚拟控制界面502的配置、混淆虚拟控制界面502中输入元素的含义和/或与混淆虚拟控制界面502的用户交互的含义。关于混淆虚拟控制界面502的配置、混淆虚拟控制界面502中的输入元素和/或与混淆虚拟控制界面502的用户交互的信息可以揭露用户通过混淆虚拟控制界面502提供的数据中的一些或全部。
然而,通过改变如第一配置500和第二配置520中所示的混淆虚拟控制界面502的配置,扩展现实系统100可以防止或减少其他用户或设备识别/推断混淆虚拟控制界面502的配置、混淆虚拟控制界面502中的输入元素(例如,选项504和506)的含义以及与混淆虚拟控制界面502的用户交互的可能性。例如,改变混淆虚拟控制界面502的配置可以防止或减少其他用户和/或设备识别混淆虚拟控制界面502中输入元素的位置和/或含义、与混淆虚拟控制界面502的用户交互的含义和/或与混淆虚拟控制界面502的用户交互的模式的可能性。在具有关于混淆虚拟控制界面502中输入元素的位置和/或含义、与混淆虚拟控制界面502的用户交互的含义和/或与混淆虚拟控制界面502的用户交互的模式的较少信息的情况下,识别用户通过与混淆虚拟控制界面502的用户交互提供的数据可能越来越困难,甚至不可能。以这种方式,可以保护通过混淆虚拟控制界面502提供的用户数据的隐私和安全性。
在一些情况下,扩展现实系统100可以根据第一配置500和第二配置520随机改变何时渲染混淆虚拟控制界面502。在其他情况下,扩展现实系统100可以在一定百分比的次数中根据第一配置500渲染混淆虚拟控制界面502并且在一定百分比的次数中根据第二配置520渲染混淆虚拟控制界面502,或者可以基于特定序列来改变何时根据第一配置500和第二配置520渲染混淆虚拟控制界面502。例如,扩展现实系统100可以在其渲染混淆虚拟控制界面502的总实例的百分之四十(40)中根据第一配置500渲染混淆虚拟控制界面502,并且在总实例的百分之六十(60)中根据第二配置520渲染混淆虚拟控制界面502。
在另一示例中,扩展现实系统100每n次渲染混淆虚拟控制界面502,扩展现实系统100就可以改变其使用第一配置500和第二配置520来渲染混淆虚拟控制界面502的次数的比率/百分比。在一些情况下,扩展现实系统100可以在混淆虚拟控制界面502的渲染中实现更多层的随机性/变化。例如,在一些情况下,数字n可以定义用于改变根据第一配置500和第二配置520的渲染的比率/百分比的间隔。为了说明,如果n表示数字十(10),则前面示例中的扩展现实系统100可以每渲染混淆虚拟控制界面502十次,就改变(混淆虚拟控制界面502的)根据第一配置500和第二配置520的渲染的比率/百分比。然而,在其他说明性示例中,n可以表示诸如十-二十-十五(10-20-15)的序列。在该示例中,序列n将在十次渲染之后、然后再在二十次渲染之后、然后再在十五次渲染之后等,提供改变根据第一配置500和第二配置520渲染的比率/百分比。这可以为用于渲染混淆虚拟控制界面502的配置提供进一步的变化层,在一些情况下,这可以为用户的数据提供附加的保护。
图6示出了用于通过改变虚拟选项602-606的次序来混淆由扩展现实系统100渲染的虚拟选项602-606的示例用例。在该示例中,根据第一次序600和第二次序620来示出虚拟选项602-606。虚拟选项602-606可以包括由扩展现实系统100提供给用户以供选择的可选择选项。
在第一次序600中,虚拟选项602被渲染到虚拟选项604和606的左侧,虚拟选项604被渲染在虚拟选项602和606之间(例如,在中间),并且虚拟选项606被渲染到虚拟选项602和604的右侧。相反,在第二次序620中,虚拟选项606被渲染在虚拟选项602和604的左侧,虚拟选项602被渲染在虚拟选项606和604之间,并且虚拟选项604被渲染到虚拟选项606和602的右侧。因此,在次序600和620中,扩展现实系统100已经改变了为用户渲染的虚拟选项602-606的次序和位置。当根据第一次序600和第二次序620渲染虚拟选项602-606时,扩展现实系统100可以改变,以在任何给定时间隐藏虚拟选项602-606的位置,并由此防止场景510中的具有看到场景510内虚拟映射/定位虚拟选项602-606的区域的潜在可能性的风险对象和/或用户解释/推断在场景510内虚拟选项602-606出现的位置的配置、虚拟选项602-606的含义和/或与虚拟选项602-606中的任一个的用户交互的含义。
例如,通过改变如第一次序600和第二次序620中所示的虚拟选项602-606的次序/位置,扩展现实系统100可以防止或减少具有对物理世界中与虚拟选项6020-606相关联的位置和/或与虚拟选项602-606的用户交互的可视访问的其他用户或设备识别/推断虚拟对象602-606的位置和与虚拟选项602-606(和/或与物理世界中对应于虚拟选项602-606的位置)的用户交互的含义的可能性。在具有关于虚拟选项602-606的位置、与虚拟选项602-606的用户交互的含义、与虚拟选项602-606的用户交互的模式等的较少信息的情况下,识别用户通过与虚拟选项602-606的用户交互提供的数据可能越来越困难,甚至不可能。以这种方式,可以保护通过虚拟选项602-606提供的用户数据的隐私和安全性。
在一些情况下,扩展现实系统100可以改变虚拟选项602-606中的一些的次序/位置。在一些情况下,扩展现实系统100可以改变所有虚拟选项602-606的次序/位置。此外,在一些示例中,扩展现实系统100可以随机改变何时根据第一次序600和第二次序620渲染虚拟选项602-606。在其他情况下,扩展现实系统100可以在一定百分比的次数中根据第一次序600渲染虚拟选项602-606并且在一定百分比的次数中根据第二次序620渲染虚拟选项602-606,或者可以基于特定序列来改变何时根据第一次序600和第二次序620渲染虚拟选项606-606,如先前关于图5所述。
在一些示例中,扩展现实系统100还可以改变虚拟选项602-606的相对距离、位置和/或大小。例如,除了或代替改变虚拟选项602-606的相对位置之外,扩展现实系统100还可以改变虚拟选项602-606之间的相对距离、虚拟选项602-606的相对位置和/或虚拟选项602-606的相对大小。这可以进一步遮蔽虚拟选项602-606的相对位置,并防止其他用户或设备推断与虚拟选项602-606的用户交互和相关联的数据的含义。
例如,参考图7,在第一配置700中,扩展现实系统100可以在呈现区域722内渲染虚拟选项704和706。然而,在第二配置720中,扩展现实系统100已经改变了用于渲染虚拟选项704和706的呈现区域722。这里,呈现区域722已经相对于第一配置700中的呈现区域702移动,使得虚拟选项706在配置720中被渲染在与第一配置700中的虚拟选项704相同的位置处。因此,虽然扩展现实系统100尚未改变第一配置700和第二配置720中虚拟选项704-706的次序,但扩展现实系统100已经重新定位虚拟选项704-706,从而在不同实例上在相同位置处渲染两个不同的虚拟选项。因此,与第一配置700中的虚拟选项704和第二配置720中的虚拟选项706的定位/位置相关联的用户交互的含义已经在虚拟选项704和虚拟选项706之间翻转/旋转,这可以遮蔽与虚拟选项704和706的用户交互的含义。
图8示出了涉及虚拟键盘802的示例混淆虚拟控制界面用例。在该示例中,根据第一配置800、第二配置810和第三配置820来示出虚拟键盘802。这里,虚拟键盘802的大小和位置已经在第一配置800、第二配置810和第三配置820中改变。虚拟键盘802的大小和位置的改变还可以改变虚拟键盘802中的虚拟键在第一配置800、第二配置810和第三配置820之间的相对位置。因此,通过改变如第一配置800、第二配置810和第三配置820中所示的虚拟键盘802的配置(与每次渲染虚拟键盘802时使用相同的配置相反),扩展现实系统100可以对其他用户和设备遮蔽虚拟键的位置、以及与虚拟键盘802的用户交互的含义、和由与扩展现实系统100相关联的用户通过与虚拟键盘的交互而键入的数据。
在一些情况下,为了保持虚拟键的选择之间的一定连续性(例如,在选择特定虚拟键之后,不同的虚拟键不会出现在用户手指下),当扩展现实系统100对虚拟键盘802调整大小和/或重新定位时,扩展现实系统100可以在用户选择这样的虚拟键之前和之后保持虚拟键的一定一致性和/或方向性。例如,在用户在第一配置800中从虚拟键盘802选择虚拟键804之后,扩展现实系统100可以根据第二配置810对虚拟键盘802调整大小和重新定位,以在用户选择虚拟键804之前和之后改变虚拟键盘802中的一个或多个虚拟键的位置(以及与虚拟键的用户交互)(例如,在第一配置800和第二配置810之间改变位置)。然而,扩展现实系统100可以投影在第一配置800期间按下的虚拟键804的位置(示为投影806A),从而在根据第二配置810的虚拟键盘802的随后渲染中,虚拟键804出现在相同的位置。
以这种方式,虽然在用户在第一配置800中按下/选择虚拟键804之后,虚拟键盘802的大小和位置在第二配置810中已经改变,但在第二配置810中,虚拟键804可以在虚拟键盘802上被渲染时保持在相同的位置。如果在根据第二配置810呈现虚拟键盘之后,在第一配置810中用于选择虚拟键804的用户的手指保持在相同位置,则即使虚拟键盘802的大小和位置以及虚拟键盘802中其他虚拟键的大小和位置已经改变,用户的手指在第二配置810中也将保持在虚拟键804的相同位置,以向用户提供一定水平的连续性。
在用户在第二配置810中从虚拟键盘802选择虚拟键808之后,扩展现实系统100可以根据第三配置820对虚拟键盘802调整大小和重新定位,以在用户选择虚拟键808之前和之后改变虚拟键盘802中的一个或多个虚拟键的位置(以及与虚拟键的用户交互)(例如,在第二配置810和第三配置820之间改变位置)。然而,扩展现实系统100可以类似地投影在第二配置810期间按下的虚拟键808的位置(示为投影806B),从而在根据第三配置820的虚拟键盘802的随后渲染中,虚拟键808出现在相同的位置。
同样,以这种方式,虽然在用户在第二配置810中按下/选择虚拟键808之后,虚拟键盘802的大小和位置在第三配置820中已经改变,但在第三配置820中,虚拟键808可以在虚拟键盘802上被渲染时保持在相同的位置。如果在根据第三配置820呈现虚拟键盘之后,在第二配置820中用于选择虚拟键808的用户的手指保持在相同位置,则即使虚拟键盘802的大小和位置以及虚拟键盘802中其他虚拟键的大小和位置已经改变,用户的手指在第三配置820中也将保持在虚拟键808的相同位置,以向用户提供一定水平的连续性。
在一些情况下,扩展现实系统100可以根据第一配置800、第二配置810和/或第三配置820随机改变何时渲染虚拟键盘802。此外,在一些情况下,扩展现实系统100可以随机改变虚拟键选择的数量以触发用于虚拟键盘802的不同配置(例如800、810或820)。例如,在选择/按下虚拟键之后(或在选择/按下虚拟键时)或在选择/按下n个虚拟键之后,扩展现实系统100可以在配置800、810和820之间改变虚拟键盘802的配置,其中n是大于1的数字。
在其他情况下,扩展现实系统100可以在一定百分比的次数中根据第一配置800渲染虚拟键盘802、在一定百分比的次数中根据第二配置810渲染虚拟键盘802和在一定百分比的次数中根据第三配置820渲染虚拟键盘802,其中第一配置800、第二配置810和第三配置820之间的百分比可以改变或保持静止。在一些示例中,扩展现实系统100可以基于特定序列来改变何时根据第一配置800、第二配置810和第三配置820渲染虚拟键盘802。
在一些情况下,扩展现实系统100每n次渲染虚拟键盘802,扩展现实系统100就可以改变其使用第一配置800、第二配置810和第三配置820来渲染虚拟键盘802的次数的比率/百分比。在一些情况下,扩展现实系统100可以在虚拟键盘802的渲染中实现更多层的随机性/变化。例如,在一些情况下,数字n可以定义用于改变根据第一配置800、第二配置810和第三配置820的渲染的比率/百分比的间隔。为了说明,如果n表示数字五(5),则前面示例中的扩展现实系统100可以每渲染虚拟键盘802五次,就改变(虚拟键盘802的)根据第一配置800、第二配置810和第三配置820的渲染的比率/百分比。
然而,在其他说明性示例中,n可以表示诸如五-十-三(5-10-3)的序列。在该示例中,序列n将在五次渲染之后、然后再在二十次渲染之后、然后再在三次渲染之后等,提供改变根据第一配置800、第二配置810和第三配置820渲染的比率/百分比。这可以为用于渲染虚拟键盘802的配置提供进一步的变化层,在一些情况下,这可以为用户的数据提供附加的保护。
在一些示例中,扩展现实系统100可以随机地和/或基于特定比率、序列和/或变化来选择虚拟键盘802和/或虚拟键盘802中的虚拟键的大小和/或位置,如先前关于第一配置800、第二配置810和第三配置820所描述的。此外,扩展现实系统100可以随机地和/或基于特定比率、序列和/或变化来选择虚拟键盘802的初始大小/位置(例如,第一渲染中的虚拟键盘802的大小/位置),如先前关于第一配置800、第二配置810和第三配置820所描述的。
图9示出了涉及虚拟键盘902的另一示例混淆虚拟控制界面用例。在该示例中,扩展现实系统100可以为用户提供虚拟键盘902的第一渲染900以键入文本。在用户选择/按下虚拟键盘902上的虚拟键904之后,扩展现实系统100可以生成引入假按键906的第二渲染910。假按键906是“引诱输入元素”的示例。假按键906还可以被称为假的、无用的、引诱的和/或非功能性虚拟键,用户被要求选择/按下该假按键906以提供用户交互中的一定随机性或变化,混淆用户通过虚拟键盘902键入的文本的长度,和/或混淆虚拟键盘902(和/或相关联的虚拟键)在不同时间的定位/位置,等等。
在用户选择/按下假按键906之后,扩展现实系统100可以生成第三渲染920,该第三渲染920可以包括虚拟键盘902,以供用户继续键入文本。在一些情况下,扩展现实系统100可以在第一渲染900和第三渲染920之间实现一定数量、百分比和/或序列的假按键,从而用户可以在虚拟键盘902的渲染之间选择/按下多个假按键,以提供用户交互、用户键入的文本的长度、虚拟键盘902的定位/位置等中的附加的随机性或变化。此外,在一些情况下,扩展现实系统100可以在没有虚拟键盘902的情况下渲染假按键906。在其他情况下,扩展现实系统100可以将假按键906与虚拟键盘902一起渲染。在该示例中,扩展现实系统100可以禁用虚拟键盘902并要求用户在重新启用虚拟键盘902之前选择/按下假按键906一次或多次,或者可以维持虚拟键盘902启用并允许用户选择何时使用假按键906来提供引诱/假输入。
在一些情况下,扩展现实系统100可以在虚拟键盘902的渲染和/或通过虚拟键盘902的输入的一定数量、百分比和/或序列之后实现假按键906。例如,在用户每次从虚拟键盘902选择虚拟键时或在用户从虚拟键盘902选择一定数量的虚拟键之后,扩展现实系统100可以实现具有假按键906的第二渲染910。
在一些示例中,扩展现实系统100可以维持或改变虚拟键盘902(和/或相关联的虚拟键)的配置(例如,大小、位置、定位等)。例如,扩展现实系统100可以在具有假按键906的第二渲染910之前和之后(例如,在渲染900和第三渲染920处)维持或改变虚拟键盘902的配置。在一些情况下,扩展现实系统100可以在一定数量的实例之后,根据一定比率或序列等随机地改变虚拟键盘902的配置,如先前关于图8所描述的。
图10示出了涉及虚拟键盘1002和预测输入选项1004、1006和1008的示例混淆虚拟控制界面用例。在该示例中,扩展现实系统100可以提供虚拟键盘1002的第一渲染1000以及预测输入选项1004-1008的第二配置。稍后,扩展现实系统100可以提供第二渲染1020。
在一些示例中,预测输入选项1004-1008可以表示当/随着用户通过虚拟键盘1002键入文本时提供的预测文本。在其他示例中,预测输入选项1004-1008可以包括其他预测输入,例如但不限于导航选项、XR会话管理选项(例如,登录、注销、切换简档、切换化身、切换屏幕等)、控制选项(例如,用于从虚拟键盘切换到不同的虚拟界面的选项、用于改变键盘布局的选项、用于访问其他XR功能的选项等)和/或任何其他输入选项。此外,在一些示例中,扩展现实系统100可以改变所提供的预测输入选项的数量和/或可以提供比图10所示更多或更少的预测输入选项。
在一些情况下,随着用户在一个或多个按键之后输入文本时,扩展现实系统100可以更新预测输入选项1004-1008。例如,在每次按键之后,扩展现实系统100可以更新预测输入选项1004-1008(例如,以说明最后一次按键)。当扩展现实系统100更新预测输入选项1004-1008时,扩展现实系统100可以改变预测输入选项1004-1008的配置(例如,次序、大小、定位/位置、数量等)。在一些示例中,扩展现实系统100可以在每次按键之后、在一定数量的按键之后、根据按键的一定序列、根据一定的时间间隔、随机地和/或根据任何其他变化方案来改变预测输入选项1004-1008的配置。
在一些示例中,扩展现实系统100可以改变预测输入选项1004-1004的配置和/或一个或多个方面,如先前关于图5至图7中任何一个所描述的。此外,在一些示例中,扩展现实系统100可以根据任何频率改变预测输入选项1004-1004的配置和/或一个或多个方面,如先前关于图5至图7中任何一个所描述的。
已经公开了示例系统、组件和概念,现在本公开转向用于生成用于XR体验的混淆控制界面的示例方法1100,如图11所示。本文概述的步骤是为了说明目的而提供的非限制性示例,并且可以以其任何组合来实现,包括排除、添加或修改某些步骤的组合。
在框1102处,方法1100可以包括确定扩展现实设备(例如,100)在与扩展现实设备相关联的物理环境(例如,510)的映射场景内的姿势。在一些示例中,可以基于由一个或多个图像传感器(例如,102、118)获得的场景的一个或多个图像和来自一个或多个其他传感器的测量来计算扩展现实设备的姿势。
在一些情况下,一个或多个其他传感器可以包括加速度计(例如,104)和陀螺仪(例如,106)。此外,测量可以包括旋转向量(例如,偏航、俯仰、滚动)和运动向量(例如,向上/向下、向左/向右、向前/向后)。
在框1104处,方法1100可以包括根据配置在映射场景内渲染虚拟控制界面(例如,502、602-606、704-706、802、902、1002-1008)。可以根据第一时间处的配置来渲染虚拟控制界面。在一些示例中,该配置可以包括第一大小、相对于扩展现实设备的姿势的第一位置、(虚拟控制界面的)输入元素相对于彼此的第一次序和/或(虚拟控制界面的)输入元素的第一数量。
例如,虚拟控制界面可以利用特定大小、位置、输入元素的次序和/或输入元素的数量来渲染。作为另一示例,虚拟控制界面上的输入元素可以根据特定大小、相对位置和/或相对次序来渲染。
在框1106处,方法1100可以包括基于与虚拟控制界面相关联的数据的隐私特性(例如,隐私和/或安全级别、隐私和/或安全偏好、隐私和/或安全规则、数据的类型等)和/或与扩展现实设备相关联的物理环境的一个或多个特性(例如,隐私级别、物理环境中他人和/或风险对象的存在、物理环境中他人和/或风险对象的可见性、隐私和/或安全事件等)来调整虚拟控制界面的配置。在一些情况下,可以在不同于第一时间的第二时间处根据调整后的配置来渲染虚拟控制界面。此外,调整后的配置可以包括第二大小、(虚拟控制界面的)输入元素的第二次序、(虚拟控制界面的)输入元素的第二数量和/或相对于扩展现实设备的姿势的第二位置和/或与配置相关联的第一位置。
在一些示例中,根据第二配置渲染虚拟控制界面可以包括将虚拟控制界面的渲染从第一配置切换到第二配置。在一些情况下,方法1100可以包括经由虚拟控制界面接收多个输入。基于经由虚拟控制界面接收多个输入,方法1100可以包括将虚拟控制界面的渲染从配置切换到调整后的配置。在一些示例中,输入的数量可以基于虚拟键选择的数量。例如,如上所述,扩展现实系统100可以随机改变虚拟键选择的数量以触发用于虚拟键盘802的不同配置(例如800、810或820)。在一个说明性示例中,扩展现实系统100可以在选择/按下虚拟键之后(或在选择/按下虚拟键时)或在选择/按下n个虚拟键之后(其中n是大于1的数字),在配置800、810和820之间改变虚拟键盘802的配置。
在一些情况下,物理环境的一个或多个特性可以包括在物理环境中存在支持从物理环境外部对物理环境中的一个或多个区域进行观看访问的人、一个或多个记录设备和/或一个或多个对象。在一些方面,方法1100可以包括确定虚拟控制界面被映射到物理环境中的区域,该区域在支持从物理环境外部对区域进行观看访问的在物理环境中的人、在物理环境中的记录设备和/或在物理环境中的对象的视场(FOV)内。在一些示例中,该人不同于与扩展现实设备相关联的用户。基于确定虚拟控制界面被映射到物理环境中的区域,方法1100可以包括将虚拟控制界面的渲染从配置切换到调整后的配置。
在一些情况下,调整虚拟控制界面的配置可以包括根据输入元素的第二次序对虚拟控制界面的一个或多个输入元素进行重新排序。在一些示例中,一个或多个输入元素可以相对于虚拟控制界面的一个或多个不同的输入元素被重新排序,并且对一个或多个输入元素进行重新排序包括可以包括根据与输入元素的第一次序相对应的一个或多个不同的输入元素的位置和次序来渲染一个或多个输入元素。
在一些情况下,根据配置渲染虚拟控制界面可以包括在第一位置处渲染虚拟控制界面的一个或多个输入元素,并且调整虚拟控制界面的配置可以包括在第二位置处渲染虚拟控制界面的一个或多个不同的输入元素。在一些示例中,第一位置和第二位置可以是映射场景内的相同或不同位置。
在一些情况下,虚拟控制界面可以包括虚拟键盘,并且输入元素可以包括虚拟键。在一些方面,方法1100可以包括:在虚拟键盘根据配置被渲染的同时,接收对虚拟键盘的虚拟键的选择;以及在接收到对虚拟键的选择之后,根据调整后的配置来渲染虚拟键盘。
在一些示例中,调整虚拟键盘的配置可以包括:在映射场景内的用于在配置期间渲染虚拟键的相同位置处渲染虚拟键(例如,804或808),同时在映射场景内的用于在配置期间渲染虚拟键盘的一个或多个不同的虚拟键的不同位置处渲染一个或多个不同的虚拟键。例如,在配置期间的虚拟键的位置可以投影(例如,投影806A)到在调整后的配置期间的虚拟键的位置。
在一些情况下,调整虚拟键盘的配置可以包括根据第二大小和第二位置渲染虚拟键盘,该第二大小和第二位置不同于第一大小和第一位置。
在一些方面,方法1100可以包括:在虚拟键盘根据配置被渲染的同时,渲染预测输入元素的集合(例如,1004-1008)。在一些示例中,预测输入元素的集合可以是根据附加配置被渲染的,该附加配置包括第三大小、第三位置和相对于彼此的第三次序。在一些方面,方法1100还可以包括:基于对虚拟键的选择,更新与预测输入元素的集合中的一个或多个预测元素相关联的内容和功能;以及将预测输入元素的集合的渲染从附加配置切换到不同的附加配置。不同附加配置可以包括例如第四大小、第四位置和/或相对于彼此的第四次序。
在一些方面,方法1100可以包括:检测在物理环境内的区域,该区域被估计为在与扩展现实设备相关联的用户的FOV内且在以下各项的相应的FOV外:支持从物理环境的外部进行观看访问的在物理环境中的人、在物理环境中的记录设备和在物理环境中的对象。在一些示例中,可以基于区域来选择第一位置、第二位置、第一大小和/或第二大小,该区域被估计为在用户的FOV内且在以下各项中的至少一个的相应的FOV外:人、记录设备和对象。例如,可以选择虚拟控制界面在配置和/或调整后的配置中的大小、位置和/或特性,使得虚拟控制界面和/或相关联的用户交互的至少一部分在区域内,并因此对人、记录设备和/或对象遮挡。
在一些方面,方法1100可以包括:渲染引诱输入元素(例如,906);接收对引诱输入元素的选择;以及响应于对引诱输入元素的选择,根据调整后的配置来渲染虚拟控制界面。在一些示例中,引诱输入元素可以在根据配置渲染虚拟控制界面之后被渲染。
在一些方面,方法1100可以包括:检测与虚拟控制界面相关联的一个或多个事件,并基于该一个或多个事件,将虚拟控制界面的渲染从配置切换到调整后的配置。在一些示例中,一个或多个事件可以包括超时事件(例如,在没有用户输入的情况下经过配置的时间段)、安全条件(例如,用户键入场景、检测到记录设备、经由虚拟控制界面渲染和/或请求私有数据等)和/或意外输入(例如,在未被配置为接收输入的界面区域/元素中检测到的用户输入、在虚拟控制界面未请求输入和/或渲染输入元素时检测到用户输入、检测到与输入的类型不匹配和/或未提供虚拟控制界面所期望的输入数据的类型的用户输入等)。
在一些示例中,方法1100可由一个或多个计算设备或装置执行。在一个说明性示例中,方法1100可以由图1所示的扩展现实系统100和/或具有图12所示的计算设备架构1200的一个或多个计算设备执行。在一些情况下,这样的计算设备或装置可以包括处理器、微处理器、微型计算机或被配置为执行方法1100的步骤的设备的其他组件。在一些示例中,这样的计算设备或装置可以包括被配置为捕获图像数据的一个或多个传感器。例如,计算设备可以包括智能电话、头戴式显示器、移动设备或其他合适的设备。在一些示例中,这样的计算设备或装置可以包括被配置为捕获一个或多个图像或视频的相机。在一些情况下,这样的计算设备可以包括用于显示图像的显示器。在一些示例中,一个或多个传感器和/或相机与计算设备分离,在这种情况下,计算设备接收感测到的数据。这样的计算设备还可以包括被配置为通信数据的网络接口。
计算设备的组件可以在电路装置中实现。例如,组件可以包括电子电路或其他电子硬件和/或可以使用电子电路或其他电子硬件来实现,该电子电路或其他电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)和/或其他合适的电子电路),和/或可以包括计算机软件、固件或其任何组合和/或使用计算机软件、固件或其任何组合来实现,以执行本文描述的各种操作。计算设备还可以包括显示器(作为输出设备的示例或除了输出设备之外)、被配置为通信和/或接收数据的网络接口、其任何组合和/或其他组件。网络接口可以被配置为通信和/或接收基于互联网协议(IP)的数据或其他类型的数据。
方法1100被示为逻辑流程图,其操作表示可以以硬件、计算机指令或其组合实现的操作的序列。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,该指令当由一个或多个处理器执行时,执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的次序不旨在被解释为限制,并且可以以任何次序和/或并行地组合任何数量的所述操作以实现过程。
此外,方法1100可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以通过硬件或其组合实现为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序或者一个或多个应用)。如上所述,代码可以例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读存储介质或机器可读存储介质上。计算机可读存储介质或机器可读存储介质可以是非暂时性的。
图12示出了可以实现本文描述的各种技术的示例计算设备的示例计算设备架构1200。例如,计算设备架构1200可以实现图1所示的扩展现实系统100和/或图2所示的扩展现实系统220的至少一些部分。计算设备架构1200的组件被示为使用诸如总线之类的连接1205彼此电通信。示例计算设备架构1200包括处理单元(CPU或处理器)1210和计算设备连接1205,该计算设备连接1205将包括计算设备存储器1215(例如,只读存储器(ROM)1220和随机存取存储器(RAM)1225)的各种计算设备组件耦合到处理器1210。
计算设备架构1200可以包括与处理器1210直接连接、紧邻处理器1210或作为处理器1210的一部分集成的高速存储器的高速缓存。计算设备架构1200可以将数据从存储器1215和/或存储设备1230复制到高速缓存1112,以供处理器1210快速访问。以这种方式,高速缓存可以提供在等待数据时避免处理器1210延迟的性能提升。这些和其他模块可以控制处理器1210或被配置为控制处理器1210以执行各种动作。其他计算设备存储器1215也可用于使用。存储器1215可以包括具有不同性能特性的多个不同类型的存储器。处理器1210可以包括任何通用处理器和存储在存储设备1230中并被配置为控制处理器1210的硬件或软件服务,以及其中将软件指令并入处理器设计中的专用处理器。处理器1210可以是包含多个核心或处理器、总线、存储器控制器、高速缓存等的自包含系统。多核心处理器可以是对称的或非对称的。
为了使用户能够与计算设备架构1200交互,输入设备1245可以表示任何数量的输入机制,例如,用于语音的麦克风、用于手势或图形输入的触摸屏、键盘、鼠标、运动输入、语音等。输出设备1235还可以是本领域技术人员已知的多个输出机制中的一个或多个,例如,显示器、投影仪、电视、扬声器设备。在一些实例中,多模态计算设备可使用户能够提供多种类型的输入以与计算设备架构1200通信。通信接口1240通常可以控制和管理用户输入和计算设备输出。对于在任何特定硬件布置上的操作没有限制,因此,当改进的硬件或固件布置被开发时,这里的基本特征可以容易地替换为改进的硬件或固件配置。
存储设备1230是非易失性存储器,并且可以是硬盘或可以存储计算机可访问的数据的其他类型的计算机可读介质,例如,磁带盒、闪速存储卡、固态存储器设备、数字通用盘、盒式磁带、随机存取存储器(RAM)1125、只读存储器(ROM)1220及其混合体。存储设备1230可以包括用于控制处理器1210的软件、代码、固件等。还设想了其他硬件或软件模块。存储设备1230可以连接到计算设备连接1205。在一个方面,执行特定功能的硬件模块可以包括存储在计算机可读介质中的软件组件,该软件组件与诸如处理器1210、连接1205、输出设备1235等之类的必要硬件组件相关联,以执行功能。
术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光学存储设备以及能够存储、包含或携带指令和/或数据的各种其他介质。一种计算机可读介质可以包括其中可以存储数据的非暂时性介质,并且该非暂时性介质不包括载波和/或无线地或通过有线连接传播的瞬时电子信号。非暂时性介质的示例可以包括但不限于磁盘或磁带、诸如压缩盘(CD)或数字通用盘(DVD)之类的光学存储介质、闪速存储器、存储器或存储器设备。计算机可读介质可以在其上存储代码和/或机器可执行指令,其可以表示过程、功能、子程序、程序、例程、子例程、模块、软件封装、类、或者指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容而耦合到另一代码段或硬件电路。可以经由包括存储器共享、消息传递、令牌传递、网络传输等的任何合适的手段传递、转发或发送信息、自变量、参数、数据等。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当提到时,非暂时性计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身的介质。
在上面的描述中提供了具体细节,以提供对本文提供的实施例和示例的透彻理解。然而,本领域普通技术人员将理解,可以在没有这些具体细节的情况下实践这些实施例。为了解释清楚,在一些实例中,本技术可以被呈现为包括各个功能块,这些功能块包括在软件中体现的方法中的设备、设备组件、步骤或例程,或者硬件和软件的组合。除了图中所示和/或本文描述的组件之外,还可以使用附加组件。例如,电路、系统、网络、过程和其他组件可以以框图形式示出为组件,以便不在不必要的细节中混淆实施例。在其他实例中,可以在没有不必要的细节的情况下示出公知的电路、过程、算法、结构和技术,以避免混淆实施例。
单个实施例可以在上面描述为过程或方法,该过程或方法被描绘为流程图、流图、数据流图、结构图或框图。尽管流程图可以将操作描述为顺序过程,但操作中的许多操作可以并行或并发地执行。此外,可以重新布置操作的次序。流程在其操作完成时终止,但图中可能不包括附加步骤。过程可以对应于方法、函数、过程、子例程、子程序等。当过程对应于函数时,它的终止可以对应于函数返回到调用函数或主函数。
根据上述示例的过程和方法可以使用存储在计算机可读介质中或以其他方式从计算机可读介质中获得的计算机可执行指令来实现。这样的指令可以包括例如导致或以其他方式配置通用计算机、专用计算机或处理设备执行某一功能或一组功能的指令和数据。所使用的计算机资源的部分可以通过网络访问。计算机可执行指令可以是例如二进制文件、诸如汇编语言之类的中间格式指令、固件、源代码。可用于存储在根据所述示例的方法期间使用的指令、信息和/或创建的信息的计算机可读介质的示例包括磁盘或光盘、闪速存储器、设置有非易失性存储器的USB设备、联网存储设备等。
实现根据这些公开的过程和方法的设备可以包括硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合,并且可以采用各种外形规格中的任何一种。当以软件、固件、中间件或微码实现时,执行必要任务(例如,计算机程序产品)的程序代码或代码段可以存储在计算机可读介质或机器可读介质中。处理器可以执行必要的任务。外形规格的典型示例包括膝上型计算机、智能电话、移动电话、平板设备或其他小外形规格的个人计算机、个人数字助理、机架设备、独立设备等。本文描述的功能也可以体现在外围设备或插入卡中。作为进一步的示例,这样的功能也可以在电路板上在不同芯片或单个设备中执行的不同过程之间实现。
指令、用于传送这种指令的介质、用于执行它们的计算资源以及用于支持此类计算资源的其他结构是用于提供本公开中描述的功能的示例单元。
在前述描述中,参考本申请的特定实施例描述了本申请的各方面,但本领域技术人员将认识到本申请不限于此。因此,虽然本文已经详细描述了本申请的说明性实施例,但应当理解,本发明的概念可以以其他方式被不同地体现和使用,并且所附权利要求书旨在被解释为包括这样的变化,除非受到现有技术的限制。上述申请的各种特征和方面可以单独地或联合地使用。此外,在不脱离本说明书的更宽泛的精神和范围的情况下,实施例可用于本文所描述的环境和应用之外的任何数量的环境和应用中。因此,本说明书和附图被视为说明性的而不是限制性的。为了说明,方法按特定次序进行了描述。应当理解,在替代实施例中,可以以不同于所描述的次序执行所述方法。
普通技术人员将理解,在不脱离本说明书的范围的情况下,本文中使用的小于(“<”)和大于(“>”)符号或术语可以分别用小于或等于(“≤”)和大于或等于(“≥”)符号替换。
当组件被描述为“被配置为”执行某些操作时,这种配置可以例如通过设计电子电路或其他硬件来执行该操作、通过对可编程电子电路(例如,微处理器或其他合适的电子电路)进行编程来执行该操作、或其任何组合来实现。
短语“耦合到”是指直接或间接地物理连接到另一组件的任何组件,和/或直接或间接地与另一组件通信(例如,通过有线或无线连接和/或其他合适的通信接口连接到另一组件)的任何组件。
引述集合中的“至少一个”和/或集合中的“一个或多个”的权利要求语言或其他语言表示该集合中的一个成员或该集合中的多个成员(以任何组合)满足该权利要求。例如,引述“A和B中的至少一个”或“A或B中的至少一个”的权利要求语言表示A,B或A和B。在另一示例中,引述“A,B,和C中的至少一个”或“A,B,或C中的至少一个”的权利要求语言表示A,B,C,或A和B,或A和C,或B和C,或A和B和C。集合中的“至少一个”和/或集合中的“一个或多个”的语言不限于在集合中列出的项目的集合。例如,引述“A和B中的至少一个”或“A或B中的至少一个”的权利要求语言可以表示A,B,或A和B,并且可以另外地包括A和B的集合中没有列出的项。
结合本文公开的示例描述的各种说明性逻辑块、模块、电路和算法步骤可以实现为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种互换性,上面已经根据它们的功能在总体上描述了各种说明性组件、块、模块、电路和步骤。这种功能是作为硬件还是软件来实现取决于特定的应用和对整个系统施加的设计约束。本领域的技术人员可以针对每个特定应用以不同的方式实现所描述的功能,但是这种实现决策不应被解释为导致偏离本申请的范围。
本文描述的技术也可以以电子硬件、计算机软件、固件或其任何组合实现。这些技术可以在诸如通用计算机、无线通信设备手持机、或具有包括在无线通信设备手持机和其他设备中的应用的多种用途的集成电路设备之类的设备中的任何一种设备中实现。被描述为模块或组件的任何特征可以在集成逻辑器件中一起实现,或者单独作为分立但可互操作的逻辑器件实现。如果以软件实现,则所述技术可以至少部分地通过包括程序代码的计算机可读数据存储介质来实现,所述程序代码包括当执行时执行上述方法、算法和/或操作中的一个或多个的指令。计算机可读数据存储介质可形成计算机程序产品的一部分,该计算机程序产品可包括包装材料。计算机可读介质可以包括存储器或数据存储介质,例如随机存取存储器(RAM)(例如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、磁或光数据存储介质等。另外地或可替代地,这些技术可以至少部分地通过计算机可读通信介质来实现,所述计算机可读通信介质以指令或数据结构的形式携带或通信程序代码,并且所述程序代码可以由计算机访问、读取和/或执行,例如,传播的信号或波。
程序代码可由处理器执行,该处理器可以包括一个或多个处理器,例如一个或多个数字信号处理器、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或离散逻辑电路装置。这样的处理器可以被配置为执行本公开中描述的技术中的任一技术。通用处理器可以是微处理器;但是在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP核心结合的一个或多个微处理器或任何其他此类配置。因此,本文使用的术语“处理器”可指前述结构中的任何一个、前述结构的任何组合、或适于实现本文所述技术的任何其他结构或装置。
本公开的说明性示例包括:
方面1、一种方法,包括:确定扩展现实设备在与扩展现实设备相关联的物理环境的映射场景内的姿势;在映射场景内渲染虚拟控制界面,虚拟控制界面是根据配置被渲染的,配置包括第一大小、相对于扩展现实设备的姿势的第一位置、输入元素的第一次序和输入元素的第一数量;以及基于以下各项中的至少一个来调整虚拟控制界面的配置:与虚拟控制界面相关联的数据的隐私特性和与扩展现实设备相关联的物理环境的一个或多个特性,调整后的配置包括以下各项中的至少一个:第二大小、输入元素的第二次序、输入元素的第二数量和相对于扩展现实设备的姿势且不同于第一位置的第二位置。
方面2、方面1所述的方法,还包括:经由虚拟控制界面接收多个输入;以及基于经由虚拟控制界面接收多个输入,将虚拟控制界面的渲染从配置切换到包括调整后的配置的第二配置。
方面3、方面1至2中任一项所述的方法,其中,物理环境的一个或多个特性包括:在物理环境中存在以下各项中的至少一个:支持从物理环境的外部对物理环境中的一个或多个区域进行观看访问的人、一个或多个记录设备和一个或多个对象,方法还包括:确定虚拟控制界面被映射到物理环境中的区域,该区域在以下各项中的至少一个的视场(FOV)内:支持从物理环境的外部对区域进行观看访问的在物理环境中的人、在物理环境中的记录设备和在物理环境中的对象,其中,第一人不同于与扩展现实设备相关联的用户;以及基于确定虚拟控制界面被映射到物理环境中的区域,将虚拟控制界面的渲染从配置切换到调整后的配置。
方面4、方面1至3中任一项所述的方法,其中,调整虚拟控制界面的配置包括:根据输入元素的第二次序对虚拟控制界面的一个或多个输入元素进行重新排序,一个或多个输入元素相对于虚拟控制界面的一个或多个不同的输入元素被重新排序,并且其中,对一个或多个输入元素进行重新排序包括:根据以下各项中的至少一个来渲染一个或多个输入元素:与输入元素的第一次序相对应的一个或多个不同的输入元素的位置和次序。
方面5、方面1至4中任一项所述的方法,其中,根据配置渲染虚拟控制界面包括:在第一位置处渲染虚拟控制界面的一个或多个输入元素,并且其中,调整虚拟控制界面的配置包括:在第二位置处渲染虚拟控制界面的一个或多个不同的输入元素。
方面6、方面1至5中任一项所述的方法,其中,虚拟控制界面包括虚拟键盘,并且输入元素包括虚拟键,方法还包括:在虚拟键盘根据配置被渲染的同时,接收对虚拟键盘的虚拟键的选择;以及在接收到对虚拟键的选择之后,根据调整后的配置来渲染虚拟键盘。
方面7、方面6所述的方法,其中,调整虚拟键盘的配置包括:在映射场景内的用于在配置期间渲染虚拟键的相同位置处渲染虚拟键,同时在映射场景内的用于在配置期间渲染虚拟键盘的一个或多个不同的虚拟键的不同位置处渲染一个或多个不同的虚拟键。
方面8、方面6所述的方法,其中,调整虚拟键盘的配置包括:根据第二大小和第二位置渲染虚拟键盘,第二大小和第二位置不同于第一大小和第一位置。
方面9、方面6至8中任一项所述的方法,还包括:在虚拟键盘根据配置被渲染的同时,渲染预测输入元素的集合,预测输入元素的集合是根据附加配置被渲染的,附加配置包括以下各项中的至少一个:第三大小、第三位置和相对于彼此的第三次序;基于对虚拟键的选择,更新以下各项中的至少一个:与预测输入元素的集合中的一个或多个预测元素相关联的内容和功能;以及将预测输入元素的集合的渲染从附加配置切换到不同的附加配置,不同的附加配置包括以下各项中的至少一个:第四大小、第四位置和相对于彼此的第四次序。
方面10、方面1至9中任一项所述的方法,还包括:检测在物理环境内的区域,该区域被估计为在与扩展现实设备相关联的用户的视场(FOV)内且在以下各项中的至少一个的相应的FOV外:支持从物理环境的外部进行观看访问的在物理环境中的人、在物理环境中的记录设备和在物理环境中的对象,其中,基于区域来选择第一位置、第二位置、第一大小和第二大小中的至少一个,该区域被估计为在用户的FOV内且在以下各项中的至少一个的相应的FOV外:人、记录设备和对象。
方面11、方面10所述的方法,还包括:渲染引诱输入元素,引诱输入元素在根据配置渲染虚拟控制界面之后被渲染;接收对引诱输入元素的选择;以及响应于对引诱输入元素的选择,根据调整后的配置来渲染虚拟控制界面。
方面12、方面1至11中任一项所述的方法,还包括:检测与虚拟控制界面相关联的一个或多个事件,一个或多个事件包括以下各项中的至少一个:超时事件、安全条件和意外输入;以及基于一个或多个事件,将虚拟控制界面的渲染从第一配置切换到调整后的配置。
方面13、一种装置,包括:存储器;以及耦合到存储器的一个或多个处理器,一个或多个处理器被配置为:确定装置在与装置相关联的物理环境的映射场景内的姿势;在映射场景内渲染虚拟控制界面,虚拟控制界面是根据配置被渲染的,配置包括第一大小、相对于装置的姿势的第一位置、输入元素的第一次序和输入元素的第一数量;以及基于以下各项中的至少一个来调整虚拟控制界面的配置:与虚拟控制界面相关联的数据的隐私特性和与装置相关联的物理环境的一个或多个特性,调整后的配置包括以下各项中的至少一个:第二大小、输入元素的第二次序、输入元素的第二数量和相对于装置的姿势且不同于第一位置的第二位置。
方面14、方面13所述的装置,一个或多个处理器被配置为:经由虚拟控制界面接收多个输入;以及基于经由虚拟控制界面接收多个输入,将虚拟控制界面的渲染从配置切换到调整后的配置。
方面15、方面13至14中任一项所述的装置,其中,物理环境的一个或多个特性包括:在物理环境中存在以下各项中的至少一个:支持从物理环境的外部对物理环境中的一个或多个区域进行观看访问的人、一个或多个记录设备和一个或多个对象,一个或多个处理器被配置为:确定虚拟控制界面被映射到物理环境中的区域,该区域在以下各项中的至少一个的视场(FOV)内:支持从物理环境的外部对区域进行观看访问的在物理环境中的人、在物理环境中的记录设备和在物理环境中的对象,其中,第一人不同于与扩展现实设备相关联的用户;以及基于确定虚拟控制界面被映射到物理环境中的区域,将虚拟控制界面的渲染从配置切换到调整后的配置。
方面16、方面13至15中任一项所述的装置,其中,调整虚拟控制界面的配置包括:根据输入元素的第二次序对虚拟控制界面的一个或多个输入元素进行重新排序,一个或多个输入元素相对于虚拟控制界面的一个或多个不同的输入元素被重新排序,并且其中,对一个或多个输入元素进行重新排序包括:根据以下各项中的至少一个来渲染一个或多个输入元素:与输入元素的第一次序相对应的一个或多个不同的输入元素的位置和次序。
方面17、方面13至16中任一项所述的装置,其中,根据第一配置渲染虚拟控制界面包括:在第一位置处渲染虚拟控制界面的一个或多个输入元素,并且其中,调整虚拟控制界面的配置包括:在第二位置处渲染虚拟控制界面的一个或多个不同的输入元素。
方面18、方面13至17中任一项所述的装置,其中,虚拟控制界面包括虚拟键盘,并且输入元素包括虚拟键,一个或多个处理器被配置为:在虚拟键盘根据配置被渲染的同时,接收对虚拟键盘的虚拟键的选择;以及在接收到对虚拟键的选择之后,根据调整后的配置来渲染虚拟键盘。
方面19、方面18所述的装置,其中,调整虚拟键盘的配置包括:在映射场景内的用于在配置期间渲染虚拟键的相同位置处渲染虚拟键,同时在映射场景内的用于在配置期间渲染虚拟键盘的一个或多个不同的虚拟键的不同位置处渲染一个或多个不同的虚拟键。
方面20、方面18所述的装置,其中,调整虚拟键盘的配置包括:根据第二大小和第二位置渲染虚拟键盘,第二大小和第二位置不同于第一大小和第一位置。
方面21、方面18至20中任一项所述的装置,一个或多个处理器被配置为:在虚拟键盘根据配置被渲染的同时,渲染预测输入元素的集合,预测输入元素的集合是根据附加配置被渲染的,附加配置包括以下各项中的至少一个:第三大小、第三位置和相对于彼此的第三次序;基于对虚拟键的选择,更新以下各项中的至少一个:与预测输入元素的集合中的一个或多个预测元素相关联的内容和功能;以及将预测输入元素的集合的渲染从附加配置切换到不同的附加配置,不同的附加配置包括以下各项中的至少一个:第四大小、第四位置和相对于彼此的第四次序。
方面22、方面13至21中任一项所述的装置,一个或多个处理器被配置为:检测在物理环境内的区域,该区域被估计为在与装置相关联的用户的视场(FOV)内且在以下各项中的至少一个的相应的FOV外:支持从物理环境的外部进行观看访问的在物理环境中的人、在物理环境中的记录设备和在映射场景中的对象,其中,基于区域来选择第一位置、第二位置、第一大小和第二大小中的至少一个,该区域被估计为在用户的FOV内且在以下各项中的至少一个的相应的FOV外:人、记录设备和对象。
方面23、方面22所述的装置,一个或多个处理器被配置为:渲染引诱输入元素,引诱输入元素在根据配置渲染虚拟控制界面之后被渲染;接收对引诱输入元素的选择;以及响应于对引诱输入元素的选择,根据调整后的配置来渲染虚拟控制界面。
方面24、方面13至23中任一项所述的装置,一个或多个处理器被配置为:检测与虚拟控制界面相关联的一个或多个事件,一个或多个事件包括以下各项中的至少一个:超时事件、安全条件和意外输入;以及基于一个或多个事件,将虚拟控制界面的渲染从配置切换到调整后的配置。
方面25、方面13至24中任一项所述的装置,其中,装置是移动设备。
方面26、方面13至25中任一项所述的装置,其中,装置是扩展现实设备。
方面27、一种非暂时性计算机可读存储介质,包括:存储在其上的指令,指令在由一个或多个处理器执行时,使一个或多个处理器用于执行根据方面1至12中任一项所述的方法。
方面28、一种包括用于执行根据方面1至12中任一项所述的方法的单元的装置。
方面29、根据方面28所述的装置,其中,装置是移动设备。
方面30、根据方面28或29所述的装置,其中,装置是扩展现实设备。

Claims (30)

1.一种方法,包括:
确定扩展现实设备在与所述扩展现实设备相关联的物理环境的映射场景内的姿势;
在所述映射场景内渲染虚拟控制界面,所述虚拟控制界面是根据配置被渲染的,所述配置包括第一大小、相对于所述扩展现实设备的所述姿势的第一位置、输入元素的第一次序和输入元素的第一数量;以及
基于以下各项中的至少一个来调整所述虚拟控制界面的所述配置:与所述虚拟控制界面相关联的数据的隐私特性和与所述扩展现实设备相关联的所述物理环境的一个或多个特性,调整后的配置包括以下各项中的至少一个:第二大小、输入元素的第二次序、输入元素的第二数量和相对于所述扩展现实设备的所述姿势且不同于所述第一位置的第二位置。
2.根据权利要求1所述的方法,还包括:
经由所述虚拟控制界面接收多个输入;以及
基于经由所述虚拟控制界面接收所述多个输入,将所述虚拟控制界面的所述渲染从所述配置切换到包括所述调整后的配置的第二配置。
3.根据权利要求1所述的方法,其中,所述物理环境的一个或多个特性包括:在所述物理环境中存在以下各项中的至少一个:支持从所述物理环境的外部对所述物理环境中的一个或多个区域进行观看访问的人、一个或多个记录设备和一个或多个对象,所述方法还包括:
确定所述虚拟控制界面被映射到所述物理环境中的区域,所述区域在以下各项中的至少一个的视场(FOV)内:支持从所述物理环境的外部对所述区域进行观看访问的在所述物理环境中的人、在所述物理环境中的记录设备和在所述物理环境中的对象,其中,第一人不同于与所述扩展现实设备相关联的用户;以及
基于确定所述虚拟控制界面被映射到所述物理环境中的所述区域,将所述虚拟控制界面的所述渲染从所述配置切换到所述调整后的配置。
4.根据权利要求1所述的方法,其中,调整所述虚拟控制界面的所述配置包括:根据所述输入元素的第二次序对所述虚拟控制界面的一个或多个输入元素进行重新排序,所述一个或多个输入元素相对于所述虚拟控制界面的一个或多个不同的输入元素被重新排序,并且其中,对所述一个或多个输入元素进行重新排序包括:根据以下各项中的至少一个来渲染所述一个或多个输入元素:与所述输入元素的第一次序相对应的所述一个或多个不同的输入元素的位置和次序。
5.根据权利要求1所述的方法,其中,根据所述配置渲染所述虚拟控制界面包括:在所述第一位置处渲染所述虚拟控制界面的一个或多个输入元素,并且其中,调整所述虚拟控制界面的所述配置包括:在所述第二位置处渲染所述虚拟控制界面的一个或多个不同的输入元素。
6.根据权利要求1所述的方法,其中,所述虚拟控制界面包括虚拟键盘,并且所述输入元素包括虚拟键,所述方法还包括:
在所述虚拟键盘根据所述配置被渲染的同时,接收对所述虚拟键盘的虚拟键的选择;以及
在接收到对所述虚拟键的所述选择之后,根据所述调整后的配置来渲染所述虚拟键盘。
7.根据权利要求6所述的方法,其中,调整所述虚拟键盘的所述配置包括:在所述映射场景内的用于在所述配置期间渲染所述虚拟键的相同位置处渲染所述虚拟键,同时在所述映射场景内的用于在所述配置期间渲染所述虚拟键盘的一个或多个不同的虚拟键的不同位置处渲染所述一个或多个不同的虚拟键。
8.根据权利要求6所述的方法,其中,调整所述虚拟键盘的所述配置包括:根据所述第二大小和所述第二位置渲染所述虚拟键盘,所述第二大小和所述第二位置不同于所述第一大小和所述第一位置。
9.根据权利要求6所述的方法,还包括:
在所述虚拟键盘根据所述配置被渲染的同时,渲染预测输入元素的集合,所述预测输入元素的集合是根据附加配置被渲染的,所述附加配置包括以下各项中的至少一个:第三大小、第三位置和相对于彼此的第三次序;
基于对所述虚拟键的所述选择,更新以下各项中的至少一个:与所述预测输入元素的集合中的一个或多个预测元素相关联的内容和功能;以及
将所述预测输入元素的集合的所述渲染从所述附加配置切换到不同的附加配置,所述不同的附加配置包括以下各项中的至少一个:第四大小、第四位置和相对于彼此的第四次序。
10.根据权利要求1所述的方法,还包括:
检测在所述物理环境内的区域,所述区域被估计为在与所述扩展现实设备相关联的用户的视场(FOV)内且在以下各项中的至少一个的相应的FOV外:支持从所述物理环境的外部进行观看访问的在所述物理环境中的人、在所述物理环境中的记录设备和在所述物理环境中的对象,其中,基于所述区域来选择所述第一位置、所述第二位置、所述第一大小和所述第二大小中的至少一个,所述区域被估计为在所述用户的FOV内且在以下各项中的至少一个的所述相应的FOV外:所述人、所述记录设备和所述对象。
11.根据权利要求10所述的方法,还包括:
渲染引诱输入元素,所述引诱输入元素在根据所述配置渲染所述虚拟控制界面之后被渲染;
接收对所述引诱输入元素的选择;以及
响应于对所述引诱输入元素的所述选择,根据所述调整后的配置来渲染所述虚拟控制界面。
12.根据权利要求1所述的方法,还包括:
检测与所述虚拟控制界面相关联的一个或多个事件,所述一个或多个事件包括以下各项中的至少一个:超时事件、安全条件和意外输入;以及
基于所述一个或多个事件,将所述虚拟控制界面的所述渲染从第一配置切换到所述调整后的配置。
13.一种装置,包括:
存储器;以及
耦合到所述存储器的一个或多个处理器,所述一个或多个处理器被配置为:
确定所述装置在与所述装置相关联的物理环境的映射场景内的姿势;
在所述映射场景内渲染虚拟控制界面,所述虚拟控制界面是根据配置被渲染的,所述配置包括第一大小、相对于所述装置的所述姿势的第一位置、输入元素的第一次序和输入元素的第一数量;以及
基于以下各项中的至少一个来调整所述虚拟控制界面的所述配置:与所述虚拟控制界面相关联的数据的隐私特性和与所述装置相关联的所述物理环境的一个或多个特性,调整后的配置包括以下各项中的至少一个:第二大小、输入元素的第二次序、输入元素的第二数量和相对于所述装置的所述姿势且不同于所述第一位置的第二位置。
14.根据权利要求13所述的装置,所述一个或多个处理器被配置为:
经由所述虚拟控制界面接收多个输入;以及
基于经由所述虚拟控制界面接收所述多个输入,将所述虚拟控制界面的所述渲染从所述配置切换到所述调整后的配置。
15.根据权利要求13所述的装置,其中,所述物理环境的一个或多个特性包括:在所述物理环境中存在以下各项中的至少一个:支持从所述物理环境的外部对所述物理环境中的一个或多个区域进行观看访问的人、一个或多个记录设备和一个或多个对象,所述一个或多个处理器被配置为:
确定所述虚拟控制界面被映射到所述物理环境中的区域,所述区域在以下各项中的至少一个的视场(FOV)内:支持从所述物理环境的外部对所述区域进行观看访问的在所述物理环境中的人、在所述物理环境中的记录设备和在所述物理环境中的对象,其中,第一人不同于与扩展现实设备相关联的用户;以及
基于确定所述虚拟控制界面被映射到所述物理环境中的所述区域,将所述虚拟控制界面的所述渲染从所述配置切换到所述调整后的配置。
16.根据权利要求13所述的装置,其中,调整所述虚拟控制界面的所述配置包括:根据所述输入元素的第二次序对所述虚拟控制界面的一个或多个输入元素进行重新排序,所述一个或多个输入元素相对于所述虚拟控制界面的一个或多个不同的输入元素被重新排序,并且其中,对所述一个或多个输入元素进行重新排序包括:根据以下各项中的至少一个来渲染所述一个或多个输入元素:与所述输入元素的第一次序相对应的所述一个或多个不同的输入元素的位置和次序。
17.根据权利要求13所述的装置,其中,根据第一配置渲染所述虚拟控制界面包括:在所述第一位置处渲染所述虚拟控制界面的一个或多个输入元素,并且其中,调整所述虚拟控制界面的所述配置包括:在所述第二位置处渲染所述虚拟控制界面的一个或多个不同的输入元素。
18.根据权利要求13所述的装置,其中,所述虚拟控制界面包括虚拟键盘,并且所述输入元素包括虚拟键,所述一个或多个处理器被配置为:
在所述虚拟键盘根据所述配置被渲染的同时,接收对所述虚拟键盘的虚拟键的选择;以及
在接收到对所述虚拟键的所述选择之后,根据所述调整后的配置来渲染所述虚拟键盘。
19.根据权利要求18所述的装置,其中,调整所述虚拟键盘的所述配置包括:在所述映射场景内的用于在所述配置期间渲染所述虚拟键的相同位置处渲染所述虚拟键,同时在所述映射场景内的用于在所述配置期间渲染所述虚拟键盘的一个或多个不同的虚拟键的不同位置处渲染所述一个或多个不同的虚拟键。
20.根据权利要求18所述的装置,其中,调整所述虚拟键盘的所述配置包括:根据所述第二大小和所述第二位置渲染所述虚拟键盘,所述第二大小和所述第二位置不同于所述第一大小和所述第一位置。
21.根据权利要求18所述的装置,所述一个或多个处理器被配置为:
在所述虚拟键盘根据所述配置被渲染的同时,渲染预测输入元素的集合,所述预测输入元素的集合是根据附加配置被渲染的,所述附加配置包括以下各项中的至少一个:第三大小、第三位置和相对于彼此的第三次序;
基于对所述虚拟键的所述选择,更新以下各项中的至少一个:与所述预测输入元素的集合中的一个或多个预测元素相关联的内容和功能;以及
将所述预测输入元素的集合的所述渲染从所述附加配置切换到不同的附加配置,所述不同的附加配置包括以下各项中的至少一个:第四大小、第四位置和相对于彼此的第四次序。
22.根据权利要求13所述的装置,所述一个或多个处理器被配置为:
检测在所述物理环境内的区域,所述区域被估计为在与所述装置相关联的用户的视场(FOV)内且在以下各项中的至少一个的相应的FOV外:支持从所述物理环境的外部进行观看访问的在所述物理环境中的人、在所述物理环境中的记录设备和在所述映射场景中的对象,其中,基于所述区域来选择所述第一位置、所述第二位置、所述第一大小和所述第二大小中的至少一个,所述区域被估计为在所述用户的FOV内且在以下各项中的至少一个的所述相应的FOV外:所述人、所述记录设备和所述对象。
23.根据权利要求22所述的装置,所述一个或多个处理器被配置为:
渲染引诱输入元素,所述引诱输入元素在根据所述配置渲染所述虚拟控制界面之后被渲染;
接收对所述引诱输入元素的选择;以及
响应于对所述引诱输入元素的所述选择,根据所述调整后的配置来渲染所述虚拟控制界面。
24.根据权利要求13所述的装置,所述一个或多个处理器被配置为:
检测与所述虚拟控制界面相关联的一个或多个事件,所述一个或多个事件包括以下各项中的至少一个:超时事件、安全条件和意外输入;以及
基于所述一个或多个事件,将所述虚拟控制界面的所述渲染从所述配置切换到所述调整后的配置。
25.根据权利要求13所述的装置,其中,所述装置是移动设备。
26.根据权利要求13所述的装置,其中,所述装置是扩展现实设备。
27.一种非暂时性计算机可读存储介质,包括:
存储在其上的指令,所述指令在由一个或多个处理器执行时,使得所述一个或多个处理器进行以下操作:
确定扩展现实设备在与所述扩展现实设备相关联的物理环境的映射场景内的姿势;
在所述映射场景内渲染虚拟控制界面,所述虚拟控制界面是根据配置被渲染的,所述配置包括第一大小、相对于所述扩展现实设备的所述姿势的第一位置、输入元素的第一次序和输入元素的第一数量;以及
基于以下各项中的至少一个来调整所述虚拟控制界面的所述配置:与所述虚拟控制界面相关联的数据的隐私特性和与所述扩展现实设备相关联的所述物理环境的一个或多个特性,调整后的配置包括以下各项中的至少一个:第二大小、输入元素的第二次序、输入元素的第二数量和相对于所述扩展现实设备的所述姿势且不同于所述第一位置的第二位置。
28.根据权利要求27所述的非暂时性计算机可读存储介质,包括存储在其上的指令,所述指令在由所述一个或多个处理器执行时,使得所述一个或多个处理器进行以下操作:
检测与所述虚拟控制界面相关联的一个或多个事件,所述一个或多个事件包括以下各项中的至少一个:输入和超时事件;以及
基于所述一个或多个事件,将所述虚拟控制界面的所述渲染从所述配置切换到所述调整后的配置。
29.根据权利要求27所述的非暂时性计算机可读存储介质,其中,所述物理环境的一个或多个特性包括:在所述物理环境中存在以下各项中的至少一个:支持从所述物理环境的外部对所述物理环境中的一个或多个区域进行观看访问的人、一个或多个记录设备和一个或多个对象,所述非暂时性计算机可读存储介质包括存储在其上的指令,所述指令在由所述一个或多个处理器执行时,使得所述一个或多个处理器进行以下操作:
确定所述虚拟控制界面被映射到所述物理环境中的区域,所述区域在以下各项中的至少一个的视场(FOV)内:支持从所述物理环境的外部对所述区域进行观看访问的在所述物理环境中的人、在所述物理环境中的记录设备和在所述物理环境中的对象,其中,所述人不同于与所述扩展现实设备相关联的用户;以及
基于确定所述虚拟控制界面被映射到所述物理环境中的所述区域,将所述虚拟控制界面的所述渲染从所述配置切换到所述调整后的配置。
30.根据权利要求27所述的非暂时性计算机可读存储介质,其中,调整所述虚拟控制界面的配置包括以下中的至少一个:根据所述输入元素的第二次序对所述虚拟控制界面的一个或多个输入元素进行重新排序,以及在所述第二位置处渲染所述虚拟控制界面的一个或多个不同的输入元素。
CN202180061433.6A 2020-07-28 2021-06-30 用于扩展现实的混淆控制界面 Pending CN116235129A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/941,412 US11449131B2 (en) 2020-07-28 2020-07-28 Obfuscated control interfaces for extended reality
US16/941,412 2020-07-28
PCT/US2021/039955 WO2022026113A1 (en) 2020-07-28 2021-06-30 Obfuscated control interfaces for extended reality

Publications (1)

Publication Number Publication Date
CN116235129A true CN116235129A (zh) 2023-06-06

Family

ID=77168402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180061433.6A Pending CN116235129A (zh) 2020-07-28 2021-06-30 用于扩展现实的混淆控制界面

Country Status (7)

Country Link
US (2) US11449131B2 (zh)
EP (1) EP4189525A1 (zh)
KR (1) KR20230042277A (zh)
CN (1) CN116235129A (zh)
BR (1) BR112023000538A2 (zh)
TW (1) TW202221380A (zh)
WO (1) WO2022026113A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11449131B2 (en) 2020-07-28 2022-09-20 Qualcomm Incorporated Obfuscated control interfaces for extended reality
US11886625B1 (en) * 2020-12-21 2024-01-30 Apple Inc. Method and device for spatially designating private content
EP4288950A1 (en) 2021-02-08 2023-12-13 Sightful Computers Ltd User interactions in extended reality
JP2024507749A (ja) 2021-02-08 2024-02-21 サイトフル コンピューターズ リミテッド エクステンデッドリアリティにおけるコンテンツ共有
US11644890B2 (en) * 2021-02-11 2023-05-09 Qualcomm Incorporated Image capturing in extended reality environments
WO2023009580A2 (en) 2021-07-28 2023-02-02 Multinarity Ltd Using an extended reality appliance for productivity
US11948263B1 (en) * 2023-03-14 2024-04-02 Sightful Computers Ltd Recording the complete physical and extended reality environments of a user
EP4231269A1 (en) * 2022-02-21 2023-08-23 Infrasoft Technologies Limited Gesture simulated interactive environment
US12079442B2 (en) 2022-09-30 2024-09-03 Sightful Computers Ltd Presenting extended reality content in different physical environments

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6134478B2 (ja) * 2012-03-28 2017-05-24 ソニー株式会社 情報処理装置、表示制御方法、プログラムおよび記憶媒体
US8973149B2 (en) * 2013-01-14 2015-03-03 Lookout, Inc. Detection of and privacy preserving response to observation of display screen
US20160048665A1 (en) * 2014-08-12 2016-02-18 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Unlocking an electronic device
US9430635B2 (en) * 2014-10-29 2016-08-30 Square, Inc. Secure display element
CN107111967A (zh) 2014-11-14 2017-08-29 瑞典爱立信有限公司 使用增强现实的视觉密码术与混淆
US9746938B2 (en) 2014-12-15 2017-08-29 At&T Intellectual Property I, L.P. Exclusive view keyboard system and method
US10031648B2 (en) * 2014-12-31 2018-07-24 Trading Technologies International, Inc. Systems and methods to obfuscate market data on a trading device
US10445523B2 (en) * 2016-10-14 2019-10-15 Google Llc Information privacy in virtual reality
US10607230B2 (en) 2016-12-02 2020-03-31 Bank Of America Corporation Augmented reality dynamic authentication for electronic transactions
CN108932086A (zh) * 2017-05-23 2018-12-04 腾讯科技(深圳)有限公司 应用界面的显示方法、装置及存储介质
CN116841395A (zh) * 2017-06-06 2023-10-03 麦克赛尔株式会社 混合现实显示终端
US10169850B1 (en) * 2017-10-05 2019-01-01 International Business Machines Corporation Filtering of real-time visual data transmitted to a remote recipient
US11875013B2 (en) * 2019-12-23 2024-01-16 Apple Inc. Devices, methods, and graphical user interfaces for displaying applications in three-dimensional environments
US11449131B2 (en) 2020-07-28 2022-09-20 Qualcomm Incorporated Obfuscated control interfaces for extended reality

Also Published As

Publication number Publication date
WO2022026113A1 (en) 2022-02-03
US20220413598A1 (en) 2022-12-29
KR20230042277A (ko) 2023-03-28
BR112023000538A2 (pt) 2023-02-07
US20220035439A1 (en) 2022-02-03
US11625091B2 (en) 2023-04-11
TW202221380A (zh) 2022-06-01
EP4189525A1 (en) 2023-06-07
US11449131B2 (en) 2022-09-20

Similar Documents

Publication Publication Date Title
US11625091B2 (en) Obfuscated control interfaces for extended reality
US11586336B2 (en) Private control interfaces for extended reality
CN114303120B (zh) 虚拟键盘
US11003307B1 (en) Artificial reality systems with drawer simulation gesture for gating user interface elements
US20220100265A1 (en) Dynamic configuration of user interface layouts and inputs for extended reality systems
US11481931B2 (en) Virtual private space for extended reality
US20200387286A1 (en) Arm gaze-driven user interface element gating for artificial reality systems
US10921879B2 (en) Artificial reality systems with personal assistant element for gating user interface elements
US11043192B2 (en) Corner-identifiying gesture-driven user interface element gating for artificial reality systems
US11086475B1 (en) Artificial reality systems with hand gesture-contained content window
US11112881B2 (en) Systems and methods for identifying user-operated features of input interfaces obfuscating user navigation
US10852839B1 (en) Artificial reality systems with detachable personal assistant for gating user interface elements
EP4035006A1 (en) Artificial reality system with inter-processor communication (ipc)
US20200356261A1 (en) Systems and methods of selection acknowledgement for interfaces promoting obfuscation of user operations
US20220353078A1 (en) Integrating digital content into displayed data on an application layer via processing circuitry of a server
US20220365344A1 (en) Augmented reality gaming using virtual eyewear beams
US20200356262A1 (en) Systems and methods for obfuscating user navigation and selections directed by free-form input
WO2018186004A1 (ja) 電子機器及びその制御方法
JP7291106B2 (ja) コンテンツ配信システム、コンテンツ配信方法、及びコンテンツ配信プログラム

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