CN115335894A - 用于虚拟和增强现实的系统和方法 - Google Patents

用于虚拟和增强现实的系统和方法 Download PDF

Info

Publication number
CN115335894A
CN115335894A CN202180024039.5A CN202180024039A CN115335894A CN 115335894 A CN115335894 A CN 115335894A CN 202180024039 A CN202180024039 A CN 202180024039A CN 115335894 A CN115335894 A CN 115335894A
Authority
CN
China
Prior art keywords
user
virtual
environment
screen
wall
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
CN202180024039.5A
Other languages
English (en)
Inventor
R·D·伯克比尔
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.)
Magic Leap Inc
Original Assignee
Magic Leap 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 Magic Leap Inc filed Critical Magic Leap Inc
Publication of CN115335894A publication Critical patent/CN115335894A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing 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
    • 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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing 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/03547Touch pads, in which fingers can move on a 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/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • 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
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • 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/18Eye characteristics, e.g. of the iris
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems

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)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Optics & Photonics (AREA)
  • Computer Hardware Design (AREA)
  • Social Psychology (AREA)
  • Ophthalmology & Optometry (AREA)
  • Psychiatry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

一种用于提供虚拟或增强现实体验的装置,包括:屏幕,其中,屏幕是至少部分透明的,用于允许装置的用户观看用户周围环境中的对象;表面检测器,其被配置为检测对象的表面;对象标识符,其被配置为获得对象的表面的取向和/或高程,以及基于对象的表面的取向和/或高程,针对对象进行标识;以及图形生成器,其被配置为生成指示用于由屏幕显示的对象的标识的标识符,其中,屏幕被配置为显示标识符。

Description

用于虚拟和增强现实的系统和方法
技术领域
本公开涉及连接的移动计算系统、方法和配置,并且更特别地涉及以至少一个可用于虚拟和/或增强现实操作的可穿戴组件为特征的移动计算系统、方法和配置。
背景技术
现代计算和显示技术已经促进用于所谓的“虚拟现实”(VR)或“增强现实”(AR)体验的“混合现实(MR)”系统的开发,其中,数字再现的图像或其部分以其看起来是真实的或可以被感知为真实的方式呈现给用户。VR场景通常涉及数字或虚拟图像信息的呈现而对实际的真实世界视觉输入不透明。AR场景通常涉及数字或虚拟图像信息的呈现,作为对用户周围真实世界可视化的增强(即,对真实世界视觉输入的透明度)。因此,AR场景涉及数字或虚拟图像信息的呈现而对真实世界视觉输入透明。
MR系统可以生成并显示颜色数据,这增加了MR场景的真实性。这些MR系统中的许多系统通过快速连续地以对应于彩色图像的不同(例如,原色)或“场”(例如,红色、绿色和蓝色)顺序投射子图像来显示颜色数据。以足够高的速率(例如60Hz、120Hz等)投射彩色子图像可以在用户的脑海中递送平滑的彩色MR场景。
各种光学系统生成不同深度处的图像,包括彩色图像,用于显示MR(VR和AR)场景。
MR系统可以采用至少松散地耦合到用户头部并因此在用户头部移动时移动的可穿戴显示设备(例如,头戴式显示器、头盔式显示器或智能眼镜)。如果显示设备检测到用户的头部运动,则可以更新(例如,“扭曲”)正在显示的数据以考虑头部姿势(即,用户头部的朝向和/或位置)的变化。
作为示例,如果穿戴头戴式显示设备的用户在显示器上查看虚拟对象的虚拟表示并在虚拟对象出现的区域周围走动,则可以针对每个视点渲染虚拟对象,给用户一个感知,即他们正在围绕占据真实空间的对象走动。如果头戴式显示设备用于呈现多个虚拟对象,则头部姿势的测量可以被用于渲染该场景以匹配用户动态变化的头部姿势并提供增强的沉浸感。
启用AR的头戴式显示设备提供对真实和虚拟对象的并发查看。借助“光学透视(see-through)”显示器,用户可以透过显示系统中的透明(例如,半透明或全透明)元件来直接查看来自环境中真实对象的光。透明元件,通常被称为“组合器”,将来自显示器的光叠加在用户的真实世界视图上,其中来自显示器的光将虚拟内容的图像投射到环境中真实对象的透视视图上。相机可以安装在头戴式显示设备上以捕获用户正在查看的场景的图像或视频。
当前的光学系统,例如MR系统中的那些,光学地渲染虚拟内容。内容是“虚拟的”,因为它不对应于位于空间中各个位置处的真实物理对象。相反,虚拟内容仅存在于当头戴式显示设备的用户的大脑受到指向用户的眼睛的光束的刺激时该用户的大脑(例如,光学中心)中。
在一些情况下,头戴式图像显示设备可以显示相对于真实环境的虚拟对象,和/或可以允许用户相对于真实环境放置和/或操纵虚拟对象。在这种情况下,图像显示设备可以被配置为相对于真实环境定位用户,从而可以相对于真实环境正确地转移(displace)虚拟对象。
希望混合现实或增强现实近眼显示器重量轻、成本低、具有小尺寸、具有宽的虚拟图像视场并且尽可能透明。此外,希望具有在多个焦平面(例如,两个或更多个)中呈现虚拟图像信息样的配置,以便在不超过针对视轴调焦(vergence-accommodation)失配的可接受容限的情况下适用于各种用例。
发明内容
本文描述了用于提供虚拟内容(例如虚拟对象)以供一个或多个图像显示设备(由一个或多个用户穿戴)的一个或多个屏幕显示的方法和装置。在一些实施例中,可以显示虚拟内容,使得它看起来像是在用户通过屏幕查看的物理环境中。虚拟内容可以由相同物理环境中的用户或不同环境(例如,不同房间)中的用户提供用于交互。本文描述了用于标识环境中的对象、用于定义放置虚拟项目的虚拟空间以及用于插入虚拟项目用于由一个或多个用户交互的新技术。
一种用于提供虚拟或增强现实体验的装置,包括:屏幕,其中,所述屏幕是至少部分透明的,用于允许所述装置的用户观看所述用户周围环境中的对象;表面检测器,其被配置为检测所述对象的表面;对象标识符,其被配置为获得所述对象的所述表面的取向和/或高程,以及基于所述对象的所述表面的所述取向和/或所述高程,针对所述对象进行标识;以及图形生成器,其被配置为生成指示用于由所述屏幕显示的所述对象的所述标识的标识符,其中,所述屏幕被配置为显示所述标识符。
可选地,所述对象标识符被配置为如果所述对象的所述表面的所述取向基本上是垂直的,并且如果所述对象的所述表面的所述高程高于高程阈值,则将所述对象标识为墙。
可选地,所述对象标识符被配置为如果所述对象的所述表面的所述取向基本上是水平的,并且如果所述对象的所述表面的所述高程低于高程阈值,则将所述对象标识为地板。
可选地,所述对象被配置为如果所述对象的所述表面的所述取向基本上是水平的,并且如果所述对象的所述表面的所述高程高于第一高程阈值并且低于第二高程阈值,则将所述对象标识为家具。
可选地,所述屏幕被配置为在所述屏幕中的位置处显示所述标识符,使得当所述用户通过所述屏幕观看所述环境中的所述对象时,所述标识符将处于相对于所述对象的空间关系中。
可选地,所述对象标识符被配置为获得指示对要被确定的对象的所述标识的所述对象的选择的输入。
可选地,所述输入包括经由控制器组件生成的用户输入,所述用户输入指示所述对象的所述选择。
可选地,所述用户输入指示所述屏幕中的光标位置,以及其中,所述对象标识符被配置为基于所述光标位置来确定正在选择的所述环境中的所述对象。
可选地,所述用户输入指示所述控制器组件的取向,以及其中,所述对象标识符被配置为基于由所述控制器组件指向所述环境中的所述对象的方向来确定正在选择的所述环境中的所述对象。
可选地,所述装置还包括:相机,其中,所述对象标识符被配置为基于由所述相机提供的相机图像中的所述对象的图像的存在来选择用于标识的对象。
可选地,所述对象标识符被配置为自动选择所述对象。
可选地,所述对象标识符被配置为响应于所述对象存在包括所述相机图像的一系列相机图像中存在了超过在时间阈值的持续时间内,来选择所述对象。
可选地,所述装置还包括:空间定义器,其被配置为定义虚拟空间。
可选地,所述空间定义器被配置为定义用于所述虚拟空间的虚拟墙。
可选地,所述虚拟墙从所述用户周围环境中的真实物理墙偏移。
可选地,所述虚拟墙与所述用户周围环境中的真实物理墙对齐或相交。
可选地,所述屏幕被配置为在所述屏幕中的位置处显示墙标识符,使得当所述用户观看所述虚拟墙时,所述墙标识符将处于相对于所述虚拟墙的空间关系中。
可选地,所述空间定义器被配置为定义用于所述虚拟空间的多个虚拟墙;以及其中,所述屏幕被配置为显示用于所述相应虚拟墙的墙标识符。
可选地,所述空间定义器被配置为定义用于所述虚拟空间的角(corner)。
可选地,所述空间定义器被配置为定义用于所述虚拟空间的墙边缘。
可选地,所述空间定义器被配置为获得经由控制器组件生成的用户输入,所述用户输入指示对所述环境中的用于定义所述虚拟空间的至少一部分的特征的选择。
可选地,所述环境中的所述特征包括墙、墙角、边缘或前述的任何组合。
可选地,所述用户输入指示所述屏幕中的光标位置。
可选地,所述用户输入指示所述控制器组件的取向,以及其中,所述环境中的所述特征的所述选择基于由所述控制器组件指向所述环境中的所述特征的方向。
可选地,所述装置还包括:相机,其中所述装置被配置为基于所述特征的图像在由所述相机提供的相机图像中的存在,选择所述环境中的特征,用于定义所述虚拟空间的至少一部分。
可选地,所述装置被配置为自动选择所述环境中的所述特征。
可选地,所述装置被配置为响应于所述特征存在于包括所述相机图像的一系列相机图像中超过时间阈值的持续时间内,来选择所述特征。
可选地,所述屏幕被配置为基于控制器组件的取向显示指针,以及其中,所述装置还包括指针配置器,其中,所述指针配置器被配置为调整所述屏幕中显示的所述指针的配置,和/或呈现与所述指针相关联的交互图形。
可选地,所述指针配置器被配置为响应于所述指针与虚拟对象之间的交互来调整所述指针的配置和/或呈现所述交互图形。
可选地,所述图形生成器还被配置为提供虚拟内容用于由所述用户和附加用户交互,以及其中,所述屏幕被配置为显示所述虚拟内容。
可选地,所述装置被配置为将所述用户和所述附加用户连接到相同的虚拟空间,使得所述用户和所述附加用户可以在所述相同的虚拟空间处与所述虚拟内容进行交互。
可选地,所述图形生成器被配置为提供所述虚拟内容用于不同的相应房间中的所述用户和所述附加用户的交互。
可选地,所述图形生成器被配置为提供所述虚拟内容用于相同的房间中的所述用户和所述附加用户的交互。
可选地,所述装置被配置为将所述用户和所述附加用户注册到所述环境,使得所述用户和所述附加用户可以在他们在所述环境中时与所述虚拟内容进行交互。
可选地,所述装置被配置为通过确定与所述用户的位置和所述附加用户的位置相关联的一个或多个锚点来将所述用户和所述附加用户注册到所述环境。
一种由被配置为提供虚拟或增强现实体验的装置执行的方法,包括:通过表面检测器检测所述装置的用户周围环境中的对象的表面;通过对象标识符获得所述对象的所述表面的取向和/或高程;通过所述对象标识符基于所述对象的所述表面的所述取向和/或所述高程来标识所述对象;以及通过图形生成器生成用于所标识的对象的标识符用于由屏幕显示,其中,所述屏幕是至少部分透明的,用于允许所述装置的用户观看所述用户周围环境中的对象。
可选地,如果所述对象的所述表面的所述取向基本上是垂直的,并且如果所述对象的所述表面的所述高程高于高程阈值,则所述对象被标识为墙。
可选地,如果所述对象的所述表面的所述取向基本上是水平的,并且如果所述对象的所述表面的所述高程低于高程阈值,则所述对象被标识为地板。
可选地,如果所述对象的所述表面的所述取向基本上是水平的,并且如果所述对象的所述表面的所述高程高于第一高程阈值并且低于第二高程阈值,则所述对象被标识为家具。
可选地,所述标识符被显示在所述屏幕中的位置处,使得当所述用户通过所述屏幕观看所述环境中的所述对象时,所述标识符将处于相对于所述对象的空间关系中。
可选地,所述方法还包括获得指示对要确定对象的标识的对象的选择的输入。
可选地,所述输入包括经由控制器组件生成的用户输入,所述用户输入指示所述对象的所述选择。
可选地,所述用户输入指示所述屏幕中的光标位置,以及其中,所述方法还包括:基于所述光标位置来确定正在选择的所述环境中的所述对象。
可选地,所述用户输入指示所述控制器组件的取向,以及其中,所述方法还包括基于由所述控制器组件指向所述环境中的所述对象的方向来确定正在选择的所述环境中的所述对象。
可选地,所述方法还包括:基于由所述装置的相机提供的相机对象中所述对象的图像的存在来选择所述对象用于标识。
可选地,自动选择对象用于标识。
可选地,响应于所述对象在包括所述相机图像的一系列相机图像中存在了超过时间阈值的持续时间内,来选择所述对象。
可选地,所述方法还包括定义虚拟空间。
可选地,定义所述虚拟空间的动作包括定义用于所述虚拟空间的虚拟墙。
可选地,所述虚拟墙从所述用户周围环境中的真实物理墙偏移。
可选地,所述虚拟墙与所述用户周围环境中的真实物理墙对齐或相交。
可选地,所述方法还包括:通过所述屏幕,在所述屏幕中的位置处显示墙标识符,使得当所述用户观看所述虚拟墙时,所述墙标识符将处于相对于所述虚拟墙的空间关系中。
可选地,定义所述虚拟空间的动作包括定义用于所述虚拟空间的多个虚拟墙;以及其中,所述方法还包括通过所述屏幕显示用于所述相应虚拟墙的墙标识符。
可选地,定义所述虚拟空间的动作包括定义用于所述虚拟空间的角。
可选地,定义所述虚拟空间的动作包括定义用于所述虚拟空间的墙边缘。
可选地,所述方法还包括:获得经由控制器组件生成的用户输入,所述用户输入指示对所述环境中的用于定义所述虚拟空间的至少一部分的特征的选择。
可选地,所述环境中的所述特征包括墙、墙角、边缘或前述的任何组合。
可选地,所述用户输入指示所述屏幕中的光标位置。
可选地,所述用户输入指示所述控制器组件的取向,以及其中,所述环境中的所述特征的所述选择基于由所述控制器组件指向所述环境中的所述特征的方向。
可选地,所述方法还包括:选择所述环境中的用于定义所述虚拟空间的至少一部分的特征,其中,所述选择的动作是基于由所述装置的相机提供的相机图像中所述特征的图像的存在来执行的。
可选地,自动选择所述环境中的所述特征。
可选地,响应于所述特征在包括相机图像的一系列相机图像中存在了超过时间阈值的持续时间内,来选择所述特征。
可选地,所述方法还包括:通过所述屏幕基于控制器组件的取向显示指针,以及其中,所述方法还包括:调整所述屏幕中显示的所述指针的配置,和/或呈现与所述指针相关联的交互图形。
可选地,调整所述指针的配置的动作和/或呈现所述交互图形的动作是响应于所述指针与虚拟对象之间的交互来执行的。
可选地,所述方法还包括:提供虚拟内容用于由所述用户和附加用户交互。
可选地,所述方法还包括:将所述用户和所述附加用户连接到相同的虚拟空间,使得所述用户和所述附加用户能够在所述相同的虚拟空间处与所述虚拟内容进行交互。
可选地,所述虚拟内容被提供用于不同的相应房间中的所述用户和所述附加用户的交互。
可选地,所述虚拟内容被提供用于相同的房间中的所述用户和所述附加用户的交互。
可选地,所述方法还包括将所述用户和所述附加用户注册到所述环境,使得所述用户和所述附加用户可以在他们在所述环境中时与所述虚拟内容进行交互。
可选地,将所述用户和所述附加用户注册到所述环境的动作包括确定与所述用户的位置和所述附加用户的位置相关联的一个或多个锚点。
一种处理器可读非暂态介质存储一组指令,处理单元对其的执行将使得方法被执行,所述处理单元是被配置为提供虚拟或增强现实体验的装置的一部分,所述方法包括:通过表面检测器检测所述装置的用户周围环境中的对象的表面;通过对象标识符获得所述对象的所述表面的取向和/或高程;通过所述对象标识符基于所述对象的所述表面的所述取向和/或所述高程来标识所述对象;以及通过图形生成器生成用于所标识的对象的标识符用于由屏幕显示,其中,所述屏幕是至少部分透明的,用于允许所述装置的用户观看所述用户周围环境中的对象。
一种用于提供增强现实体验的装置,包括:屏幕,其中,所述屏幕是至少部分透明的,用于允许所述装置的用户观看所述用户周围环境中的对象;空间定义器,其被配置为获得输入,并且基于所述输入定义虚拟空间,其中,所述空间定义器被配置为在所述屏幕由用户穿戴时获得所述输入;以及图形生成器,其被配置为提供用于由所述屏幕显示的虚拟内容,其中,所述屏幕被配置为在所述虚拟空间中显示所述虚拟内容。
可选地,所述空间定义器被配置为定义用于所述虚拟空间的虚拟墙。
可选地,所述虚拟墙从所述用户周围环境中的真实物理墙偏移。
可选地,所述虚拟墙与所述用户周围环境中的真实物理墙对齐或相交。
可选地,所述屏幕被配置为在所述屏幕中的位置处显示墙标识符,使得当所述用户观看所述虚拟墙时,所述墙标识符将处于相对于所述虚拟墙的空间关系中。
可选地,所述空间定义器被配置为定义用于所述虚拟空间的多个虚拟墙;以及其中,所述屏幕被配置为显示用于所述相应虚拟墙的墙标识符。
可选地,所述空间定义器被配置为定义用于所述虚拟空间的角。
可选地,所述空间定义器被配置为定义用于所述虚拟空间的墙边缘。
可选地,所述空间定义器被配置为获得经由控制器组件生成的用户输入,所述用户输入指示对所述环境中的用于定义所述虚拟空间的至少一部分的特征的选择。
可选地,所述环境中的所述特征包括墙、墙角、边缘或前述的任何组合。
可选地,所述用户输入指示所述屏幕中的光标位置。
可选地,所述用户输入指示所述控制器组件的取向,以及其中,所述环境中的所述特征的所述选择基于由所述控制器组件指向所述环境中的所述特征的方向。
可选地,所述装置还包括:相机,其中所述装置被配置为基于所述特征的图像在由所述相机提供的相机图像中的存在,选择所述环境中的特征,用于定义所述虚拟空间的至少一部分,其中,所述相机图像是由所述空间定义器获得的输入。
可选地,所述装置被配置为自动选择所述环境中的所述特征。
可选地,所述装置被配置为响应于所述特征在包括所述相机图像的一系列相机图像中存在了超过时间阈值的持续时间内,来选择所述特征。
可选地,所述虚拟内容还用于由附加用户进行交互。
可选地,所述装置被配置为将所述用户和所述附加用户连接到所述虚拟空间,使得所述用户和所述附加用户可以在所述虚拟空间处与所述虚拟内容进行交互。
可选地,所述图形生成器被配置为提供所述虚拟内容用于不同的相应房间中的所述用户和所述附加用户的交互。
可选地,所述图形生成器被配置为提供所述虚拟内容用于相同的房间中的所述用户和所述附加用户的交互。
可选地,所述装置被配置为将所述用户和所述附加用户注册到所述环境,使得所述用户和所述附加用户可以在他们在所述环境中时与所述虚拟内容进行交互。
可选地,所述装置被配置为通过确定与所述用户的位置和所述附加用户的位置相关联的一个或多个锚点来将所述用户和所述附加用户注册到所述环境。
一种由被配置为提供虚拟或增强现实体验的装置执行的方法,所述装置包括屏幕,所述方法包括:通过空间定义器获得输入,其中,所述空间定义器被配置为在所述屏幕由用户穿戴时获得所述输入;通过所述空间定义器基于所述输入定义虚拟空间;通过图形生成器提供用于由屏幕显示的虚拟内容;以及通过所述屏幕显示所述虚拟空间中的所述虚拟内容,其中,所述屏幕是至少部分透明的,用于允许所述装置的用户观看所述用户周围环境中的对象。
可选地,定义所述虚拟空间的动作包括定义用于所述虚拟空间的虚拟墙。
可选地,所述虚拟墙从所述用户周围环境中的真实物理墙偏移。
可选地,所述虚拟墙与所述用户周围环境中的真实物理墙对齐或相交。
可选地,所述方法还包括:通过所述屏幕,在所述屏幕中的位置处显示墙标识符,使得当所述用户观看所述虚拟墙时,所述墙标识符将处于相对于所述虚拟墙的空间关系中。
可选地,定义所述虚拟空间的动作包括定义用于所述虚拟空间的多个虚拟墙;以及其中,所述方法还包括通过所述屏幕显示用于所述相应虚拟墙的墙标识符。
可选地,定义所述虚拟空间的动作包括定义用于所述虚拟空间的角。
可选地,定义所述虚拟空间的动作包括定义用于所述虚拟空间的墙边缘。
可选地,所述方法还包括:获得经由控制器组件生成的用户输入,所述用户输入指示对所述环境中的用于定义所述虚拟空间的至少一部分的特征的选择。
可选地,所述环境中的所述特征包括墙、墙角、边缘或前述的任何组合。
可选地,所述用户输入指示所述屏幕中的光标位置。
可选地,所述用户输入指示所述控制器组件的取向,以及其中,所述环境中的所述特征的所述选择基于由所述控制器组件指向所述环境中的所述特征的方向。
可选地,所述方法还包括:基于所述特征的图像在由相机提供的相机图像中的存在,选择所述环境中的特征,用于定义所述虚拟空间的至少一部分,其中,所述相机图像是由所述空间定义器获得的输入。
可选地,自动选择所述环境中的所述特征。
可选地,响应于所述特征在包括所述相机图像的一系列相机图像中存在了超过时间阈值的持续时间内,来选择所述环境中的所述特征。
可选地,所述虚拟内容还用于由附加用户进行交互。
可选地,所述方法还包括将所述用户和所述附加用户连接到所述虚拟空间,使得所述用户和所述附加用户可以在所述虚拟空间处与所述虚拟内容进行交互。
可选地,所述虚拟内容被提供用于不同的相应房间中的所述用户和所述附加用户的交互。
可选地,所述虚拟内容被提供用于相同的房间中的所述用户和所述附加用户的交互。
可选地,所述方法还包括将所述用户和所述附加用户注册到所述环境,使得所述用户和所述附加用户可以在他们在所述环境中时与所述虚拟内容进行交互。
可选地,将所述用户和所述附加用户注册到所述环境的动作包括确定与所述用户的位置和所述附加用户的位置相关联的一个或多个锚点。
一种处理器可读非暂态介质存储一组指令,处理单元对其的执行将使得方法被执行,所述处理单元是被配置为提供虚拟或增强现实体验的装置的一部分,所述装置包括屏幕,所述方法包括:通过空间定义器获得输入,其中,所述空间定义器被配置为在所述屏幕由用户穿戴时获得所述输入;通过所述空间定义器基于所述输入定义虚拟空间;通过图形生成器提供用于由屏幕显示的虚拟内容;以及通过所述屏幕显示所述虚拟空间中的所述虚拟内容,其中,所述屏幕是至少部分透明的,用于允许所述装置的用户观看所述用户周围环境中的对象。
在详细描述、附图和权利要求中描述了本公开的附加和其他目的、特征和优点。
附图说明
附图示出了本公开的各种实施例的设计和实用性。应当注意,附图不按比例绘制,并且相似结构或功能的元件在全部附图中由相同的参考标记表示。为了更好地理解如何获得本公开的各种实施例的记载和其他优点和目的,将参考附图中示出的其具体实施例提供对上文简要描述的本公开的更详细的描述。理解这些附图仅描绘了本公开的典型实施例并且因此不应被认为是对其范围的限制,将通过使用附图以附加的具体性和细节来描述和解释本公开,其中:
图1A示出了根据一些实施例的具有图像显示设备的图像显示系统。
图1B示出了在多个深度平面中显示帧的图像显示设备。
图2A至2B示出了由图像显示设备显示的信息的示例。
图3示出了由图像显示设备显示的信息的另一示例。
图4A至4F示出了对象标识的示例。
图5A示出了根据一些实施例的方法。
图5B示出了根据一些实施例的另一方法。
图6A至6C示出了用于插入虚拟项目的技术的示例。
图7示出了根据一些实施例的方法。
图8A至8E示出了在增强现实环境中呈现信息的技术的示例。
图9A至9E示出了与虚拟指针相关联的特征的示例。
图10A至10E示出了由多个用户交互的虚拟对象的示例。
图11A示出了根据一些实施例的方法。
图11B示出了根据一些实施例的另一方法。
图12、13A和13B示出了根据一些实施例的方法。
图14A至14I示出了用于定义虚拟空间的技术的示例。
图15示出了根据一些实施例的装置的处理单元。
图16A示出了根据一些实施例的方法。
图16B示出了根据一些实施例的另一方法。
图17示出了根据一些实施例的专用处理系统。
具体实施方式
本公开的各种实施例涉及用于为头戴式视频图像设备提供输入的方法、装置和制品。在详细描述、附图和权利要求中描述了本公开的其他目的、特征和优点。
在下文中参考附图描述了各种实施例。应当注意,附图不按比例绘制,并且相似结构或功能的元件在全部附图中由相同的参考标记表示。还应当注意,附图仅旨在促进实施例的描述。它们不旨在作为本发明的详尽描述或作为对本发明的范围的限制。另外,所示实施例不需要具有所示出的所有方面或优点。结合特定实施例描述的方面或优点不一定限于该实施例,并且可以在任何其他实施例中实践,即使未如此示出或未如此明确描述。
下面的描述涉及可以实践本文所描述的实施例的说明性VR、AR和/或MR系统。然而,应当理解,这些实施例还适用于其他类型的显示系统(包括其他类型的VR、AR和/或MR系统)中的应用,并且因此,实施例不仅限于本文所公开的说明性示例。
参考图1A,示出了增强现实系统1,其以头戴式观看组件(图像显示设备)2、手持式控制器组件4和互连的辅助计算或控制器组件6为特征,其可被配置为穿戴在用户身上作为腰带包等。这些组件中的每一个可以经由有线或无线通信配置(诸如由IEEE 802.11、蓝牙(RTM)和其他连接标准和配置所指定的配置)彼此耦接(10、12、14、16、17、18),并且耦接到其他连接资源8,诸如云计算或云存储资源。描述了这样的组件的各方面,诸如两个描绘的光学元件20的各种实施例,用户可以通过这些光学元件20连同可以由相关联的系统组件产生的视觉组件一起看到它们周围的世界,用于增强的现实体验。如图1A所示,这样的系统1还可以包括被配置为提供关于用户周围环境的信息的各种传感器,包括但不限于各种相机类型传感器(诸如单色、彩色/RGB和/或热成像组件)(22、24、26)、深度相机传感器28和/或声音传感器30,诸如麦克风。需要紧凑且持久连接的可穿戴计算系统和组件,诸如本文所描述的可穿戴计算系统和组件,它们可用于向用户提供丰富的增强现实体验的感知。
系统1还包括用于为图像显示设备2提供输入的装置7。下面将更详细地描述装置7。图像显示设备2可以是VR设备、AR设备、MR设备或任何其他类型的显示设备。如图所示,图像显示设备2包括由终端用户穿戴的框架结构、由框架结构承载的显示子系统,其使得显示子系统位于终端用户的眼睛前面,以及由框架结构承载的扬声器,其使得扬声器邻近终端用户的耳道定位(可选地,另一个扬声器(未示出)邻近终端用户的另一个耳道定位以提供立体/可塑声音控制)。显示子系统被设计为向终端用户的眼睛呈现光图案,该光图案可以舒适地被感知为对物理现实的增强,具有高水平的图像质量和三维感知,以及能够呈现二维内容。显示子系统以提供单个连贯场景的感知的高频呈现帧序列。
在所示的实施例中,显示子系统采用“光学透视”显示器,通过该显示器,用户可以经由透明(或半透明)元件直接观看来自真实对象的光。透明元件,通常被称为“组合器”,将来自显示器的光叠加在用户的现实世界的视图上。为此,显示子系统包括部分透明的显示器或者完全透明的显示器。显示器定位在终端用户的眼睛与周围环境之间的终端用户的视场中,使得来自周围环境的直接光通过显示器透射到终端用户的眼睛。
在所示的实施例中,图像投射组件向部分透明的显示器提供光,从而与来自周围环境的直接光组合,并且从显示器透射到用户的眼睛。投射子系统可以是基于光纤扫描的投射设备,并且显示器可以是基于波导的显示器,来自投射子系统的扫描光被注入其中以产生例如比无限远更近的单个光学观察距离处(例如,手臂的长度)的图像、多个离散光学观察距离或焦平面处的图像,和/或堆叠在多个观察距离或焦平面处的图像层以表示体积3D对象。光场中的这些层可以足够紧密地堆叠在一起,以使人类视觉子系统看起来是连续的(即,一层在相邻层的混淆锥之内)。附加地或替代地,图片元素可以跨两个或两个以上层混合,以增加光场中的层之间的过渡的感知连续性,即使这些层更稀疏地堆叠(即,一层在相邻层的混淆锥之外)。显示子系统可以是单目或双目。
图像显示设备2还可包括安装到框架结构的一个或多个传感器,用于检测终端用户的头部的位置和运动和/或终端用户的眼睛位置和眼间距。这样的传感器可包括图像捕获设备(诸如相机)、麦克风、惯性测量单元、加速计、罗盘、GPS单元、无线电设备和/或陀螺仪)、或前述的任何组合。这些传感器中的许多传感器在其所固定的框架进而基本上固定到用户的头部、眼睛和耳朵的假设下操作。
图像显示设备2还可包括用户取向检测模块。用户取向模块检测终端用户的头部的瞬时位置(例如,经由耦接到框架的传感器)并且可以基于从传感器接收的位置数据来预测终端用户的头部的位置。检测终端用户的头部的瞬时位置促进确定终端用户正在注视的具体实际对象,从而提供与该实际对象相关的待生成的具体虚拟对象的指示,并且进一步提供显示虚拟对象的位置的指示。用户取向模块还可以基于从传感器接收的跟踪数据来跟踪终端用户的眼睛。
图像显示设备2还可包括可以采用各种形式中的任何一种的控制子系统。控制子系统包括多个控制器,例如一个或多个微控制器、微处理器或中央处理单元(CPU)、数字信号处理器、图形处理单元(GPU)、其他集成电路控制器,诸如专用集成电路(ASIC)、可编程门阵列(PGA),例如现场PGA(FPGA),和/或可编程逻辑控制器(PLU)。
图像显示设备2的控制子系统可包括中央处理单元(CPU)、图形处理单元(GPU)、一个或多个帧缓冲器以及用于存储三维场景数据的三维数据库。CPU可以控制总体操作,而GPU可以从存储在三维数据库中的三维数据渲染帧(即将三维场景转换为二维图像)并且将这些帧存储在帧缓冲器中。一个或多个附加集成电路可以控制从帧缓冲器读取和/或读出帧以及显示子系统的图像投射组件的操作。
装置7表示用于系统1的各种处理组件。在图中,装置7被示出为图像显示设备2的一部分。在其他实施例中,装置7可以在手持式控制器组件4中和/或在控制器组件6中实现。在进一步的实施例中,装置7的各种处理组件可以在分布式子系统中实现。例如,装置7的处理组件可以位于以下中的两个或两个以上中:图像显示设备2、手持式控制器组件4、控制器组件6或另一个设备(即与图像显示设备2、手持式控制器组件4和/或控制器组件6通信)。
上文所描述的各种组件之间的耦接10、12、14、16、17、18可包括用于提供有线或光通信的一个或多个有线接口或端口,或用于提供无线通信的一个或多个无线接口或端口,诸如经由RF、微波和IR。在一些实施方式中,所有通信可以是有线的,而在其他实施方式中,所有通信可以是无线的。因此,对有线或无线通信的特定选择不应被认为是限制性的。
一些图像显示系统(例如,VR系统、AR系统、MR系统等)使用嵌入有深度平面信息的多个体积相位全息图、表面起伏全息图或光导光学元件来生成看起来源自相应深度平面的图像。换句话说,衍射图案或衍射光学元件(“DOE”)可嵌入在光导光学元件(“LOE”;例如,平面波导)内或压印/凸凹印在光导光学元件(“LOE”;例如,平面波导)上,使得由于准直光(具有基本上平面波前的光束)基本上沿着LOE完全内反射,因此它在多个位置处与衍射图案相交并朝向用户的眼睛出射。DOE被配置为使得从LOE中出射的光被边缘化,使得它们看起来源自特定深度平面。准直光可以使用光学聚光透镜(“聚光器”)生成。
例如,第一LOE可以被配置为将准直光递送到眼睛,该准直光看起来源自光学无限远深度平面(0屈光度)。另一LOE可以被配置为递送看起来源自2米(1/2屈光度)距离的准直光。又一LOE可以被配置为递送看起来源自1米(1屈光度)距离的准直光。通过使用堆叠的LOE组件,可以理解可以创建多个深度平面,其中每个LOE被配置为显示看起来源自特定深度平面的图像。应当理解,堆叠可包括任何数量的LOE。然而,要求至少N个堆叠的LOE来生成N个深度平面。进一步地,N、2N或3N个堆叠LOE可用于在N个深度平面处生成RGB彩色图像。
为了向用户呈现3-D虚拟内容,图像显示系统1(例如,VR系统、AR系统、MR系统等)将虚拟内容的图像投射到用户的眼睛中,使得它们看起来源自Z方向上的各种深度平面(即,正交地远离用户的眼睛)。换句话说,虚拟内容不仅可以在X和Y方向上(即,在与用户眼睛的中心视轴正交的2D平面中)改变,而且可以看起来在Z方向上改变,使得用户可以感觉到对象非常近,或者在无限距离处,或者在两者之间的任何距离处。在其他实施例中,用户可以在不同的深度平面处同时感知多个对象。例如,用户可能看到一条虚拟龙从无限远处出现并向用户跑去。替代地,用户可能同时看到远离用户3米的距离处的虚拟鸟和距用户一臂长度(约1米)的虚拟咖啡杯。
多平面聚焦系统通过将图像投射到位于Z方向上距用户眼睛的相应固定距离的多个深度平面中的一些或全部上来创建可变深度的感知。现在参考图1B,应当理解,多平面聚焦系统可以在固定深度平面150(例如,图1B中所示的六个深度平面150)处显示帧。尽管MR系统可包括任何数量的深度平面150,但是一个示例性多平面聚焦系统在Z方向上具有六个固定深度平面150。在生成虚拟内容时,六个深度平面150中的一个或多个,创建3-D感知,使得用户在距用户眼睛的不同距离处感知一个或多个虚拟对象。考虑到人眼对距离较近的对象比看起来很远的对象更敏感,更靠近眼睛生成更多深度平面150,如图1B所示。在其他实施例中,深度平面150可以彼此等距放置。
深度平面位置150可以以屈光度测量,屈光度是等于以米测量的焦距的倒数的屈光力单位。例如,在一些实施例中,深度平面1可以在1/3屈光度之外,深度平面2可以在0.3屈光度之外,深度平面3可以在0.2屈光度之外,深度平面4可以在0.15屈光度之外,深度平面5可以在0.1屈光度之外,以及深度平面6可以表示无限远(即,0屈光度之外)。应当理解,其他实施例可以在其他距离/屈光度处生成深度平面150。因此,在战略性放置的深度平面150处生成虚拟内容时,用户能够在三个维度上感知虚拟对象。例如,当显示在深度平面1中时,用户可能将第一虚拟对象感知为靠近他,而另一虚拟对象出现在深度平面6处的无限远处。替代地,可以首先在深度平面6处显示虚拟对象,然后在深度平面5处显示虚拟对象等等,直到虚拟对象看起来非常靠近用户。应当理解,出于说明性目的,以上示例被显著简化。在另一实施例中,所有六个深度平面可以集中在远离用户的特定焦距上。例如,如果待显示的虚拟内容是距离用户半米远的咖啡杯,则可以在咖啡杯的不同剖面处生成所有六个深度平面,从而为用户给出咖啡杯的高度颗粒化3-D视图。
在一些实施例中,图像显示系统1(例如,VR系统、AR系统、MR系统等)可以用作多平面聚焦系统。换句话说,所有六个LOE可以同时被照射,使得快速连续生成看起来源自六个固定深度平面的图像,其中光源将图像信息快速传送到LOE 1,然后是LOE 2,然后是LOE 3等等。例如,可以在时间1处注入期望图像的一部分,包括光学无限远的天空图像,并且可以利用保持光的准直的LOE(例如,来自图1B的深度平面6)。然后,可以在时间2处注入较近树枝的图像,并且可以使用被配置为创建看起来源自10米之外的深度平面10(例如,来自图1B的深度平面5)的图像的LOE;然后,可以在时间3处注入笔的图像,并且可以使用被配置为创建看起来源自1米之外的深度平面1的图像的LOE。这种类型的范例可以以快速的时间顺序(例如,以360Hz)方式重复,使得用户的眼睛和大脑(例如,视觉皮层)将输入感知为同一图像的所有部分。
图像显示系统1可以投射看起来源自沿着Z轴(即深度平面)的各种位置的图像(即,通过发散或会聚光束)以生成用于3-D体验/场景的图像。如在本申请中使用的,光束包括但不限于从光源辐射的光能(包括可见光和不可见光能)的定向投射。生成看起来源自各种深度平面的图像符合用户眼睛对该图像的辐辏(vergence)和调节,并且最小化或消除辐辏-调节冲突。
在一些情况下,为了相对于用户的环境定位头戴式图像显示设备的用户,获得环境的定位地图。在一些实施例中,定位地图可以存储在作为系统1的一部分的非暂态介质中。在其他实施例中,可以从数据库无线接收定位地图。在获得定位地图之后,将来自图像显示设备的相机系统的实时输入图像与定位地图进行匹配,以对用户进行定位。例如,可以从输入图像检测输入图像的角特征,并且与定位地图的角特征匹配。在一些实施例中,为了从图像中获得一组角作为用于定位的特征,图像可能首先需要经过角检测以获得检测到的角的初始集合。然后进一步处理检测到的角的初始集合,例如,通过非极大值抑制、空间分箱(binning)等,以获得用于定位目的的最终检测到的角集合。在一些情况下,可以执行过滤以标识初始集合中检测到的角的子集,以获得最终的角集合。
而且,在一些实施例中,可以通过用户在不同方向上引导图像显示设备2(例如,通过在穿戴图像显示设备2时转动他/她的头部)来创建环境的定位地图。由于图像显示设备2被指向环境中的不同空间,因此图像显示设备2上的(一个或多个)传感器感测环境的特性,然后系统1可以使用该特性来创建定位地图。在一种实施方式中,(一个或多个)传感器可以包括一个或多个相机和/或一个或多个深度传感器。(一个或多个)相机提供相机图像,这些图像由装置7处理以标识环境中的不同对象。附加地或替代地,(一个或多个)深度传感器提供深度信息,该深度信息由装置处理以确定环境中对象的不同表面。
在各种实施例中,用户可以穿戴增强现实系统,诸如图1A中所描绘的增强现实系统,它也可以被称为“空间计算”系统,该系统在操作时与用户周围的三维世界的这样的系统的交互有关。这样的系统可以包括例如头戴式显示组件2,并且可以以如上文所描述的环境感测能力为特征,诸如各种类型的相机,其可以被配置为映射用户周围的环境,或者创建这样的环境的“网格”,包括表示用户周围环境内的各种对象(诸如墙、地板、椅子等)的几何形状的各种点。空间计算系统可以被配置为对用户周围的环境进行映射或网格化,并运行或操作软件,诸如可从佛罗里达州种植园的Magic Leap公司购得的软件,它可以被配置为利用房间的地图或网格来帮助用户在用户周围的三维空间中放置、操纵、可视化、创建和修改各种对象和元素。返回参考图1A,系统可以通过云或其他连接配置可操作地耦接到附加资源,诸如其他计算系统。空间计算中的挑战之一涉及利用由各种可操作地耦接的传感器(诸如图1A的系统的元件22、24、26、28)捕获的数据来做出对用户有用和/或关键的确定,诸如在计算机视觉和/或对象识别挑战中,这些挑战可能例如涉及用户周围的三维世界。
参考图2A至2B,穿戴和操作诸如图1A所示的系统的用户通常不仅可以被呈现用户周围的实际环境的视图,诸如地板40或桌子34,而且可以被呈现某些所谓的虚拟元素以以某种方式增强体验,其中它们也可以被呈现用于观看和解释,诸如文本元素、图形元素、艺术图像等。图2A示出了配置的用户视图32,其中可以向用户呈现与运行时进程有关的某些文本信息36、38以帮助例如调试进程。参考图2B,用户42的手示出用户可以操作手持式控制器组件4,诸如通过各种按钮按压、跨触摸界面滑动(诸如通过如跨触摸界面46所示的拇指44)或其他设备交互以与显示的信息36、38交互,以例如顺序地逐步通过过程、观察各种输入的错误或影响、移动到最近的活动、切换可见性选项等。该系统可以被配置为通常将所显示的信息36、38保持在用户视场中相对低的位置,以使其在一定程度上不碍事。参考图3,在另一实施例中,可以将各种状态52和事件54信息呈现给用户用于类似的可视性,如图5的用户视图50所示。
向前参考图5A,在一个实施例中,用户可以穿戴诸如图1(项目96)所示的系统,并且可以在本地环境中,诸如办公室或其他房间,其中系统已经创建或上传了这样的房间的特征的网格,诸如房间的墙的三角形网格、用户附近的桌子、地板、天花板和靠墙中的一个的柜子结构(项目98)。该系统可以被配置为诸如通过使用开发环境或游戏引擎(诸如Unity(RTM)或Unreal Engine(RTM))内的光线投射功能,从空间计算系统的组件中的一个或多个向用户的本地环境的网格内的目标位置投射光线,并且确定已投射和瞄准的光线的法向量(项目100)。例如,用户可以操作手持式控制器设备4以将虚拟指针指向他周围的墙的一部分,或者他的桌子的表面,或者地板或天花板。该系统可以被配置为通过使用与所确定的法向量相关联的一个或多个因素来做出关于由网格内的目标位置表示的房间中的对象的标识的估计确定(项目102)。例如,该系统还可以被配置为基于与房间的墙的取向和定位有关的网格信息来确定或获取“重力向上”向量;该系统可以被配置为将所确定的与目标位置有关的法向量的取向与重力向上向量的取向进行比较,和/或利用高度和/或几何启发法,以做出例如用户指向桌面、座位表面、地板或天花板的有根据的猜测。换句话说,该系统可以被配置为利用诸如以下信息:天花板和地板通常与天花板在地板上方约8-10英尺的平行平面内,并且与墙正交;地板相对于天花板重力向下;座位表面通常约为18-24”;桌面通常约为36-40”。返回参考图5A,系统可以被配置为通知用户关于估计的标识确定,诸如经由用户的头戴式空间计算系统的视场中的文本标识元素(项目104)。因此,返回参考图4A至4F,示出了各种用户视图56、58、68、70、80、82。如图4A所示,用户使用他的手42和手控制器4将虚拟光标60瞄准柜子的台面62,并且基于用户周围房间的网格,系统将台面标识为“桌面”,并经由文本呈现虚拟元素64向用户呈现这样的估计。
参考图4B,用户已经将虚拟光标60瞄准与柜门66相邻的房间的地板40,诸如通过使用他的手和手控制器(或者替代地,例如,可以是基于头部可穿戴组件的指向配置,诸如眼睛注视检测和/或瞄准标线),并且基于用户周围房间的网格,系统将该地板标识为“地板”,并且经由文本呈现虚拟元素74向用户呈现这样的估计。
参考图4C,用户已经将虚拟光标60瞄准门(72;与墙76和地板40相邻),诸如通过使用他的手和手控制器(或者替代地,例如,可以是基于头部可穿戴组件的指向配置,诸如眼睛注视检测和/或瞄准标线),并且基于用户周围房间的网格,系统将该门标识为“墙”,并且经由文本呈现虚拟元素76向用户呈现这样的估计。
参考图4D,用户已经将虚拟光标60瞄准天花板80,诸如通过使用他的手和手控制器(或者替代地,例如,可以是基于头部可穿戴组件的指向配置,诸如眼睛注视检测和/或瞄准标线),并且基于用户周围房间的网格,系统将该天花板标识为“天花板”,并且经由文本呈现虚拟元素78向用户呈现这样的估计。
如上文和图5A中所述,系统可以被配置为基于估计进行对象标识;标识可能并不总是正确的。例如,分别参考图4E至4F的用户视图80、82,系统错误标识了对象。在图4E中,随着光标60瞄准一系列柜门90、92中的一个,带有柜子台面,系统返回并向用户呈现柜门是“墙”;取决于具体配置,这可能是柜门正交或平行于另一个标识的墙、正交于天花板和/或地板等的结果。类似地在图4F中,当用户实际上将光标60指向恰好处于近似典型座位表面高度的桌子94时,系统已经返回并呈现86“座位”的估计。
向前参考图5B,示出了一实施例,其中除了与本地环境的网格(项目98)相关联的系统(项目96)之外,还可以利用多个光线106来获得用于估计确定108的更多信息,诸如通过扫描,例如通过自动化或手动,其中在瞄准光标相邻的区域周围进行光线投射,使得可以获得关于该区域的进一步信息(诸如,该区域是否看起来是平面;从光线投射获得附加信息的扫描可以以预定图案进行,诸如圆形、线性、螺旋形或8字形图案)。利用增强的信息,可以将估计返回给用户110。
向前参考图7,在各种实施例中,类似于参考图5A至5B所描述的配置的配置可用于有效地发出和接收命令或输入。例如,参考图7,示出了一个实施例,其中除了与本地环境的网格(项目98)相关联并且被配置为投射一条或多条光线(项目102)以帮助估计各种对象的标识的系统(项目96)之外,系统可以被配置为将关于估计的标识确定的用户的输入(诸如,长时间凝视、长按钮按压、特定语音命令或特定拇指表面滑动模式)解释为由用户对系统的命令的输入,诸如将一段起始内容放置在目标位置的命令(例如,系统可被配置为将长时间凝视地板的开放位置解释为将一段起始内容放置在地板的该开放位置上的命令)。参考图6A至6C,在用户视图112、114、118中进一步示出了这样的配置。参考图6A,用户正在观看地板40、柜子88、92区域,其中系统被配置为将长时间凝视地板的一部分解释为希望选择所述地板的这样的部分以放置一段起始内容,如在向用户显示的文本对象116中所述。参考图6B,用户确实向下注视地板40,并且在凝视超过预定阈值时间段的时间之后,这样的凝视被解释为放置起始内容对象120的命令,如图6C所示。
参考图8A至8E,在另一实施例中,用户或设计者可能希望将某个虚拟对象放置在用户视场内的给定位置。例如,用户可能希望具有在他或她的视场的左上角呈现的小数字时钟文本读出对象,通常在视场的剩余部分之外。在另一实施例中,用户可能希望具有一些有价值的文本信息,诸如在用户视场的中心呈现的相关操作指令;这样的配置在图8A至8B中示出。在图8A中,用户的视场包括柜子90和门;文本指令虚拟对象128呈现在用户视场的中心。参考图8B,当用户将他的头部朝向地板40向下改变时,文本指令虚拟对象128可以保持呈现在用户视场的中心。换句话说,系统可以被配置为将虚拟对象通常保持在用户视场的中心。如上所述,内容可以放置在任何地方,诸如左上、右下、中心等。进一步地,在其他实施例中,系统可以被配置为保持内容相对于房间中用户周围的对象的位置,直到实现头部位置或取向的特定预定增量(delta),在其之后,对象可以再次移动到中心或其他期望的追赶位置。在另一实施例中,系统可以被配置为“软锁定”到房间的某些方面。例如,用户可能决定“软锁定”其门口上方的虚拟时钟,但是当用户旋转其头部使得门口不再在其视场中时,那么让时钟跳转到其视场中的不同的对象,并且“软锁定”到该下一个对象”等等。在其他实施例中,该系统可以被配置为确保期望的内容显示不与房间中的其他对象发生冲突而被覆盖。例如,用户可能决定将小数字时钟三维定位在其正前方视场前面约三英尺处-但在这与房间的网格对象(诸如计算机监视器或墙)发生碰撞的情况下,仅将小数字时钟定位在相对于用户的这样的其他网格对象的附近,使得用户仍然可以在没有碰撞/遮挡的情况下看到时钟。例如,参考图8C,用户已经将与一些指令128有关的文本对象中心放置在视场内,并且相对于他或她的空间计算系统的头部可穿戴组件2向前约两英尺。当用户接近门或墙72时,对象128可以被配置为保持距离用户的头戴式组件2约两英尺远,直到对象将开始与与门72相关的网格碰撞。在一个实施例中,如图8D所示,该系统可以被配置为继续呈现对象128而不与墙碰撞,但是其中随着用户继续越来越接近门72,比例逐渐减小,几乎就好像对象正通过投影仪投射到门72上,当用户的头部靠近时,该投影仪正在关闭。
参考图8E,用户视图134示出了所呈现的对象,诸如文本内容128,可以由系统取向为与重力向上对齐,如图所示,或者以任何其他取向,诸如平行于或正交于桌面34的平面。
参考图9A至9E,虚拟指针可用于移动、调整大小和以其他方式操纵虚拟对象,并且可添加模拟物理以增强指针的操作以及对象的操纵。参考图9A,具有远侧指针尖端142的指针140被示出处于固定位置,如例如由操作手持组件4的用户瞄准的。在该用户视图136中示出了几个虚拟立方体状对象,以及与用户接口的操作有关的小型虚拟显示器138;在背景中,示出了柜子结构90。参考图9B,质量配置和结构模量配置可由系统模拟和赋予,以向指针140、142提供可在用户视图150中观察到的模拟物理行为,使得如图9B相对于图9A所示的取向的快速变化产生指针140的模拟弯曲。在各种实施例中,系统可以被配置为在用户选择、移动、拖动和/或修改各种虚拟对象时为用户添加期望的和可定制的物理“感觉”。例如,该系统可以被配置为利用对象和指针位置和角速度限制、滤波、插值、平均等来提供平滑移动。指针140的结构模量可以使用贝塞尔样条(Bezoer spline)来模拟,并且可以被给定线性或非线性弯曲特性和各种模拟质量特性。指针对象140、142可以被配置为添加模拟的基于弹簧的惯性,以使对象更真实地移动,并且对象可以被标记有物理特性,以尊重其自身和其他对象的重力、碰撞和结构模量配置,诸如当由指针拖动或重新定位时,它们可以与其他对象碰撞或接口。图9C示出了拖动虚拟立方体对象156的指针的用户视图154,其中模拟质量和结构模量被赋予每个虚拟立方体对象。摩擦物理也可以添加在各种配置中,就好像虚拟元素具有相对于彼此的静态和动态摩擦系数,并且相对于它们占据的空间或它们可能与之交互的对象(例如,推移板游戏配置对于虚拟板可以具有相对低的摩擦配置,但在其他地方具有更高的摩擦,除了自由3-D空间之外,其可以被配置为在一个“稀薄空气”实施例中具有非常小的摩擦,或者在“粘性明胶世界”模拟实施例中相对高的摩擦。图9D示出了实施例的用户视图158,其中一个虚拟对象156正经由相互耦接的虚拟指针140被拖动到与另一虚拟对象160的碰撞状态。图9E示出了实施例的用户视图162,其中指针140、142被用于重新调整对象144的大小。
向前参考图11A,多个用户可以连同连接的系统一起工作。如图11A所示,其中第一用户穿戴空间计算系统,该空间计算系统可包括诸如头戴式组件2、手持式控制器组件4和/或辅助计算或控制器组件6(项目200)的组件,以及第二用户操作另一计算设备,诸如膝上型计算机或智能电话,即,在与第一用户的空间计算系统相同的UDP本地网络上,两个用户可以协作。优选地,第一用户的空间计算系统和第二用户的计算设备都运行在应用中具有相同标识符的相同应用(在诸如Unity(RTM)或Unreal Engine(RTM)的环境和/或游戏引擎内),使得第一用户和第二用户可以交换与消息、远程RPC命令、全局变量的改变、创建和/或改变对象的共享等相关的信息分组(项目202)。利用这样的配置,两个用户可以在其连接性范例内交换信息分组,以通过他们的计算系统彼此交互,以进行诸如交换消息、远程RPC命令、全局变量的改变、创建和/或改变对象的共享等的事情(项目204)。
参考图11B,在另一实施例中,通过相对于持久坐标系(“PCF”)的空间对齐来促进进一步的协作,该持久坐标系是相对于用户周围的物理世界持久的坐标系,并且通常被配置为不在多个用户会话中漂移或移动。持久坐标系和持久锚点促进协作。可以对诸如从Magic Leap公司以“Magic Leap One”(TM)商标名购得的系统进行配置,使得每当MagicLeap One空间计算系统识别出其在它之前看到的空间中时,就恢复放置在空间中的任何PCF。以这种方式,相对于PCF放置的任何内容可以在多次重新启动中持续;这样的空间计算平台可以被配置为在相同空间中的用户之间自动同步PCF,因此多个用户可以在相同物理位置中看到相同的内容。因此,返回参考图11B,两个用户都可以穿戴空间计算系统,该空间计算系统可以包括诸如头戴式组件2、手持式控制器组件4和/或辅助计算或控制器组件6的组件(项目206)。用于每个用户的本地环境(诸如他们本地房间的特征,其可能或可能不是同一个房间)可以被网格化,并且他们的空间计算系统能够利用持久坐标系(“PCF”)信息(项目208)。两个用户的空间计算系统优选地都在同一UDP本地网络上,能够与一个或多个已建立的PCF一起工作,并且在一个实施例中,两个用户的空间计算系统都可以运行在应用中具有相同标识符的相同应用(在环境和/或游戏引擎内,诸如Unity(RTM)或UnrealEngine(RTM)),使得两个用户可以交换与消息、远程RPC命令、全局变量的改变、创建和/或改变对象的共享等相关的信息分组,并且还通过一个或多个PCF保持一个用户的空间计算系统的各种组件相对于另一用户的组件的已知相对位置和取向(反之亦然)(项目210)。因此,两个用户可以在其连接性范例内交换信息分组,以通过他们的计算系统彼此交互,以进行诸如交换消息、远程RPC命令、全局变量的改变、创建和/或改变对象的共享等的事情,其全部可以相对于通常使用的PCF信息来完成,使得用户可以在共享体验中可预测地体验彼此的系统的组件的位置和取向,诸如共享和协作创建的三维空间绘图(即,好像他们正在共享和可视化相同三维空间的一部分,无论他们实际上是否在相同的物理位置)(项目212)。
参考图10A至10E,以分割屏幕格式示出了与参考图11B所描述的配置类似的配置的方面(分割174左侧的用户视图176表示第一用户42的视图;分割174右侧的用户视图178表示第二用户180的视图)。图10A示出了分割视图164,其中用户180、42中的每一个具有虚拟地耦接到他们的头戴式和手持式空间计算组件的小立方体。第二用户180使这两个小立方体在图示中标记为元件184和182;如图10A所示,第一用户在他的视图176中看到这两个小立方体,并且当第二用户四处移动时,它们实际上仍然与第二用户的头戴式和手持式空间计算组件绑定。
参考图10B的分割视图166,当第一用户利用其手持式空间计算组件在空间192中放置四个新立方体时,这些立方体由第二用户可见;实际上,当第一用户42要求第二用户180伸出并触摸四个新立方体192中的顶部一个190时,第二用户180对于第一用户看起来确实触摸了该顶部190新立方体。类似地,参考图10D至10E,示出了分割视图(分别为170和172),其中第一用户42创建新立方体186的圆形图案,在其之后第二用户180在她前面的空间中看到这些新立方体186并且然后将她自己的新立方体188直接放置在中心以供两个用户看到,因此示出了两个用户在空间中以涉及两个用户的可视性和空间交互的配置进行协作,受限于保持他们的位置和取向相对于彼此校准和一致的持久坐标系,使得他们可以在空间中有效地协作。
参考图12,示出了一个实施例,其中用户(“用户1”)希望在用户1周围创建封闭的虚拟几何形状,以用作各种空间计算活动的边界参考。如图12所示,用户1启动他或她的空间计算或增强现实系统,诸如从Magic Leap公司以商标名“Magic LeapOne”(“ML1”)购得的系统,并以头戴式配置将其安装在他或她的头上(项目302)。ML1扫描用户1头部周围的环境并进行同时定位和映射(“SLAM”)活动,以创建用户1头部周围三维空间环境的本地地图或网格(“本示例中的本地地图1”)。借助于SLAM活动,用户1被“本地化”到本地地图1中,使得相对于本地环境的特征确定或估计其真实或接近实时的位置和取向。
用户1可以在环境中导航,观看真实对象和/或虚拟对象并与之交互,使用持续改进本地地图1的正在进行的SLAM活动继续映射/网格化附近的环境,并且通常享受空间计算的益处(项目304)。
如果用户1希望在他或她自己周围创建封闭的几何形状作为用于各种空间计算活动的边界参考,诸如玩或开发游戏(例如,由Magic Leap公司以商标名“Dr GrordbortsInvaders”TM分发的增强现实游戏,其中各种角色和机器人被配置为在增强现实环境内追逐用户)或在这样的封闭几何形状的边界内显示用户1周围的各种对象,这样的有界几何形状可以被称为“游戏空间(PlaySpace)”(项目306)。
通过做出这样的决定,用户可以基于他的实际墙的位置和取向来决定他或她是否希望具有游戏空间(项目308)。例如,如果用户1实际上位于非常大的房间中,但更喜欢他的游戏空间仅包括其实际本地房间的子集,则他可能决定创建较小的游戏空间,其在宽度、高度和/或长度上可能不同于其实际本地房间的几何形状;替代地,用户1可能更喜欢创建一个游戏空间,其中墙、天花板和地板位于并取向在他的实际本地房间的大致位置和取向上。
参考图13A,如果用户1决定使游戏空间基于在实际本地房间的墙的位置和/或取向,则对于用户1来说,通过使用空间计算系统(项目310)和各种连接的资源或系统8的SLAM能力从不同的角度收集进一步的数据等,来填充他系统的本地地图1的网格中的间隙可能是有益的。用户1的本地ML1或连接的系统可以被配置为执行所谓的“平面API”,该API可以被配置为在提供了看起来至少部分表示平面形状的本地地图1信息时仅返回平面位置/取向信息(例如,在一个变型中,平面API可以被配置为返回在本地地图1的给定部分中被解释为墙的位置/取向的平面,即使在来自SLAM活动的局部网格信息中检测到一些非平面性时也是如此)(项目312)。用户1的本地或连接的系统可以被配置为提示用户1按顺序确认游戏空间中的角(诸如:指向,诸如通过使用光线投射,并单击,诸如通过使用手持式控制器设备或组件,以选择房间中的每个连续角,从被视为“主墙”的右侧角开始,直到主墙左侧的最后一个角)(项目314)。
本地和连接的系统可以利用光线投射、平均和三角测量来添加地板和天花板位置/取向估计(例如,使用诸如地板和天花板的一般正交性的假设)以完成临时游戏空间体积边界,其可由本地和/或连接的系统检查以确认诸如没有重叠墙或其他假定错误的问题(项目316)。
再次参考图13A,检查的游戏空间可以被呈现给用户1,诸如经由用户1的增强现实观看界面中的线框类型的虚拟呈现,用于确认,并且可以呈现有帮助的视觉标签,诸如“主墙”、“左墙”、“右墙”、“后墙”、“天花板”和“地板”(项目318)。这样的标签可以邻近主体“墙”定位,或者可以以使标签对用户直观的方式偏移(向前参考,图14A至14I示出了增强现实观看界面中所示的各种标签,以帮助用户);此外,如向前图14D至14G所示,游戏空间线框或其他表示的观看可以显示给用户,与实际本地房间的实际特征对齐,或者与这样的特征偏移。
返回参考图13A,创建的游戏空间可以存储在本地或连接的资源上,并且可以与多个持久坐标系(“PCF”)或持久锚点之一相关联,使得用户1可以方便返回游戏空间,并且可以与其他用户共享游戏空间(项目320)。
该系统可以被配置为利用可用地图信息(诸如本地地图1)的方面或特征来帮助在手动选择期间标识和“捕捉”(即,一种辅助手动选择形式,其中用户的手动选择由模拟重力样式效果辅助,如果这是期望的话,模拟重力样式效果帮助容易选择预先突出显示的特征)具有可见呈现突出显示的假定角。类似地,该系统可以被配置为在手动选择实际墙或实际房间的其他对象期间利用可用地图信息(例如本地地图1)的方面或特征来帮助标识和“捕捉”。例如,在一个实施例中,如果用户使用网格/地图手动指向实际房间的实际墙的位置的某个预定距离(诸如四英寸)内的位置,则系统可以被配置为假设用户正在尝试选择实际房间的实际墙的位置;这样的配置使用户相对容易且快速地在房间周围移动并选择所有四个墙和角,例如,在传统的矩形棱柱或立方体样式的实际房间中,用户试图为其创建匹配或接近匹配的游戏空间。
参考图13B,如果用户决定创建他们自己选择的游戏空间(诸如他们当时实际居住的实际房间的体积的子部分),则他们可以开始通过决定他们希望他们的游戏空间具有多少侧边(例如,多少垂直墙,诸如四个),以及通常它应该具有什么形状(例如,通常为立方体)(项目322)。
类似于如上文参考图13A所述,用户1的本地或连接的系统可以被配置为提示用户1按顺序选择游戏空间中的角(诸如:指向,诸如通过使用光线投射,并单击以使用手持式组件选择用于游戏空间的每个连续角,包括与用户位置的距离,从被视为“主墙”的右侧角开始,直到主墙左侧的最后一个角)。本地和/或连接的系统可以被配置为做出假设,诸如墙的垂直向上或重力向上取向以及墙相对于彼此的某些正交性,这可以由用户调整(项目324)。
光线投射、平均和三角测量可用于添加地板位置/取向估计(例如,使用诸如地板和墙的一般正交性的假设),并且可以提示用户选择天花板高度,以完成临时游戏空间体积边界,其可由本地ML1或连接的系统检查以确认诸如没有重叠墙或其他假定错误的问题(项目326)。
再次参考图13B,检查的游戏空间可以被呈现给用户1,诸如经由用户1的增强现实观看界面中的线框类型的虚拟呈现,用于确认,并且可以呈现有帮助的视觉标签,诸如“主墙”、“左墙”、“右墙”、“后墙”、“天花板”和“地板”(项目328)。这样的标签可以邻近虚拟创建的游戏空间“墙”定位,或者可以以使标签对用户直观的方式偏移;此外,游戏空间线框或其他表示的观看可以显示给用户,与实际本地房间的实际特征对齐,或者与这样的特征偏移。
返回参考图13B,创建的游戏空间可以存储在本地或连接的资源上,并且可以与多个持久坐标系(“PCF”)或持久锚点之一相关联,使得用户1可以方便返回游戏空间,并且可以与其他用户共享游戏空间(项目330)。
参考图14A至14I,场景的各方面,如图12和13A中呈现的以下步骤和配置被示出为通过样本用户的增强现实观看界面的视图或部分视图。
参考图14A,示出了通过用户的增强现实观看界面的视图,其中实际房间的特征(此处安装在实际房间的墙中的门332)连同呈现给用户的虚拟呈现指令框334一起可见。
参考图14B,示出了通过用户的增强现实观看界面视图,其中实际房间的特征(此处门350和墙352的一部分)连同呈现给用户的虚拟呈现指令框334一起可见。在实际视图中示出了用户手42的一部分以及手持式控制器4系统组件的一部分。当用户选择角时,向用户显示突出显示的虚拟标记358。
参考图14C,示出了通过用户的增强现实观看界面视图,其中实际房间的特征(此处门350、墙352的一部分、看起来垂直取向的另一墙的一部分)连同呈现给用户的虚拟呈现指令框334一起可见。还示出了手持式控制器4系统组件的一部分。当用户选择角时,向用户显示突出显示的虚拟标记356。
在选择了所有角之后,参考图14D,可以向用户示出创建的游戏空间360的线框虚拟可视化(此处显示为偏离实际墙和地板362),连同关于用户确认的虚拟指令框336一起。图14E示出了具有所描绘的虚拟确认线框(360;再次示出为偏离房间的实际角)的同一实际房间364的其他区域。图14F示出了具有所描绘的虚拟确认线框360的同一实际房间(包括天花板366)的其他区域。图14G示出了具有所描绘的虚拟确认线框360的同一实际房间(包括地板362和门332)的其他区域。在游戏空间被确认由用户使用的情况下,图14H至14I示出了用于各种墙的标签(“主墙”340、“后墙”338、主墙的“中心”342和“右墙”344,也可通过增强现实观看界面以实际形式368观看)。随着游戏空间创建,用于主题增强现实/空间计算平台的任何应用都可以专门寻找和利用标记的项目,诸如主墙。例如,开发者可能编写应用程序来执行等效功能:“从游戏空间中,将图片放置在主墙的中心”。
处理单元
图15示出了根据一些实施例的处理单元1002。在一些实施例中,处理单元1002可以是本文所描述的装置7的示例。在其他实施例中,处理单元1002或处理单元1004的任何部分可以使用彼此通信的单独设备来实现。如图所示,处理单元1002包括通信接口1010、定位器1020、图形生成器1030、非暂态介质1040、控制器输入1050、对象标识符1060、空间定义器1070和指针配置器1080。在一些实施例中,通信接口1010、定位器1020、图形生成器1030、非暂态介质1040、控制器输入1050、对象标识符1060、空间定义器1070、指针配置器1080、或前述的任何组合可以使用硬件来实现。通过非限制性示例,硬件可以包括一个或多个FPGA处理器、一个或多个ASIC处理器、一个或多个信号处理器、一个或多个数学处理器、一个或多个集成电路或前述的任何组合。在一些实施例中,可以使用软件来实现处理单元1102的任何组件。
在一些实施例中,处理单元1002可以被实现为通信耦合在一起的单独组件。例如,处理单元1002可以具有承载通信接口1010、定位器1020、图形生成器1030、控制器输入1050、对象识别符1060、空间定义器1070和指针配置器1080的第一基板和承载非暂时性介质1040的另一基板。作为另一示例,处理单元1002的所有组件可以由同一基板承载。在一些实施例中,处理单元1002的任何、一些或所有组件可以在图像显示设备2处实现。在一些实施例中,处理单元1002的任何、一些或所有组件可以在远离图像显示设备2的设备处(例如在手持控制组件4、控制组件6、蜂窝电话、服务器等处)实现。在进一步的实施例中,处理单元1002或处理单元1002的任何组件(例如定位器1020)可以在由不同的相应用户穿戴的不同显示设备上实现,或者可以在与不同的相应用户相关联(例如,靠近)的不同设备上实现。
处理单元1002被配置为接收位置信息(例如,来自图像显示设备2处的传感器,或来自外部设备)和/或来自控制器组件4的控制信息,并基于位置信息和/或控制信息提供虚拟内容以用于在图像显示设备2的屏幕中显示。在一些实施例中,位置信息可以指示用户的位置,来自控制器4的控制信息可以指示控制器4的位置和/或用户经由控制器4执行的动作。在这样的情况下,处理单元1002基于用户的位置和来自控制器4的控制信息生成虚拟对象的图像。
返回图15,通信接口1010被配置为接收位置信息。如在本说明书中使用的,术语“位置信息”是指表示实体的位置的任何信息或可用于导出实体的位置的任何信息。在一些实施例中,通信接口1010通信耦合到图像显示设备2的相机和/或深度传感器。在这样的实施例中,通信接口1010从相机接收相机图像作为位置信息,和/或从深度传感器接收深度信号。在一些实施例中,通信接口1010可以耦合到另一设备,例如另一处理单元,该另一处理单元处理来自相机的图像,和/或处理来自深度传感器的深度信号,然后将它们作为位置信息传递给通信接口1010。在其他实施例中,通信接口1010可以被配置为接收GPS信息,或者可以用于导出位置的任何信息。此外,在一些实施例中,通信接口1010可以被配置为以无线方式或经由物理导电传输线获取位置信息输出。
在一些实施例中,如果图像显示设备2处有不同的传感器用于提供不同类型的传感器输出,则处理单元1002的通信接口1010可以具有不同的相应子通信接口,用于接收不同的相应传感器输出。在一些实施例中,传感器输出可以包括由图像显示设备2处的相机捕获的图像。替代地或附加地,传感器输出可以包括由图像显示设备2处的深度传感器捕获的距离数据。距离数据可以是基于飞行时间技术生成的数据。在这种情况下,图像显示设备2处的信号生成器发送信号,并且该信号从用户周围的环境中的对象反射。反射信号被图像显示设备2处的接收机接收。基于信号到达对象并反射回接收机所花费的时间,传感器或处理单元1002然后可以确定对象和接收机之间的距离。在其他实施例中,传感器输出可以包括可以被处理以确定实体(用户、对象等)在环境中的位置的任何其他数据。
处理单元1002的定位器1020被配置为确定图像显示设备的用户的位置,和/或确定将要在图像显示设备中显示的虚拟对象的位置。在一些实施例中,通信接口1010接收的位置信息可以是传感器信号,并且定位器1020被配置为处理传感器信号以确定图像显示设备的用户的位置。例如,传感器信号可以是由图像显示设备的一个或多个相机捕获的相机图像。在这种情况下,处理单元1002的定位器1020被配置为基于相机图像确定定位图,和/或将相机图像中的特征与所创建的定位图中的特征匹配以用于用户的定位。在其他实施例中,由通信接口1010接收到的位置信息可能已经指示了用户的位置。在这种情况下,定位器1020然后将位置信息用作用户的位置。
在其他实施例中,处理单元1002被配置为经由通信接口1010获得传感器信息和位置信息。在这样的情况下,传感器信息可以是由传感器(诸如相机、深度传感器等)提供的任何信息,并且位置信息可以是与用户(或由用户穿戴的图像显示设备2)相对于与环境相关联的特定坐标系的位置相关的任何信息。
如图15所示,定位器1020包括锚点模块1022和锚点选择器1024。锚点模块1022被配置为确定一个或多个锚点,其可由处理单元1002使用以定位用户和/或相对于用户周围的环境放置虚拟对象。在一些实施例中,锚点可以是定位图中的点,其中定位图中的每个点可以是在物理环境中识别的特征(例如,角落、边缘、对象等)。此外,在一些实施例中,每个锚点可以是先前或在当前会话中确定的持久坐标系(PCF)。在一些实施例中,通信接口1010可以从另一设备接收先前确定的锚点。在这种情况下,锚点模块1022可以通过从通信接口1010接收锚点来获取锚点。在其他实施例中,锚点可以存储在非暂时性介质1040。在这种情况下,锚点模块1022可以通过从非暂时性介质1040检索锚点来获取锚点。在进一步的实施例中,锚点模块1022可以被配置为确定地图创建会话中的锚点。在地图创建会话中,穿戴图像显示设备的用户在环境中四处走动和/或将图像显示设备定向在不同的视角,从而使得图像显示设备的相机捕获环境中不同特征的图像。处理单元1002然后可以执行特征识别以识别环境中的一个或多个特征以用作锚点。在一些实施例中,用于特定物理环境的锚点已经在先前会话中确定。在这种情况下,当用户进入相同的物理环境时,用户穿戴的图像显示设备上的相机将捕获物理环境的图像。处理单元1002可以识别物理环境中的特征,并查看特征中的一个或多个是否与先前确定的锚点匹配。如果是这样,则匹配的锚点将由锚点模块1022可用,从而使得处理单元1002可以使用这些锚点来进行用户定位和/或虚拟内容放置。
此外,在一些实施例中,当用户在物理环境中四处移动时,处理单元1002的锚点模块1022将识别附加的锚点。例如,当用户在环境中的第一位置时,处理单元1002的锚点模块1022可以识别与用户在环境中的第一位置紧密靠近的锚点AP1、AP2、AP3。如果用户在物理环境中从第一位置移动到第二位置,则处理单元1002的锚点模块1022可以识别紧密靠近用户在环境中的第二位置的锚点AP3、AP4、AP5。
另外,在一些实施例中,锚点模块1022被配置为获取与多个用户相关联的锚点。例如,同一物理环境中的两个用户可能站得彼此相距很远。第一用户可以在具有与其相关联的第一锚点集合的第一位置。类似地,第二用户可以在具有与其相关联的第二锚点集合的第二位置。因为两个用户相距较远,所以最初第一锚点集合和第二锚点集合可能没有任何重叠。然而,当用户中的一个或两个朝着彼此移动时,在相应的第一集合和第二集合中的锚点的构成将会改变。如果它们足够接近,则第一锚点集合和第二锚点集合将开始具有重叠。
锚点选择器1024被配置为选择(由锚点模块1022提供的)锚点的子集,以供处理单元1002用来定位用户和/或相对于用户周围的环境放置虚拟对象。在一些实施例中,如果锚点模块1022提供与单个用户相关联的多个锚点,并且不涉及其他用户,则锚点选择器1024可以选择锚点中的一个或多个锚点,以用于定位用户和/或用于相对于物理环境放置虚拟内容。在其他实施例中,锚点模块1022可以提供与不同的相应用户(例如,穿戴相应图像显示设备的用户)相关联的多个锚点集合,这些用户希望在相同的物理环境中彼此虚拟交互。在这样的情况下,锚点选择器1024被配置为选择在不同锚点集合中共有的一个或多个共同锚点。处理单元1002然后可以利用所选择的共同锚点来放置虚拟内容,使得用户可以在相同的物理环境中与虚拟内容进行交互。
返回图15,处理单元1002的控制器输入1050被配置为接收来自控制器组件4的输入。来自控制器组件4的输入可以是关于控制器组件4的位置和/或朝向的位置信息,和/或基于经由控制器组件4执行的用户的动作的控制信息。通过非限制性示例,来自控制器组件4的控制信息可以基于用户平移控制器组件4、旋转控制器组件4、按压在控制器组件4上的一个或多个按钮、致动控制器组件4上的旋钮、轨迹球或操纵杆或前述的任何组合来生成。在一些实施例中,处理单元1002利用用户输入来插入和/或移动正被呈现在图像显示设备2的屏幕中的虚拟对象。在一些实施例中,手持控制器组件4可以被配置为在二维显示屏中移动虚拟对象,从而使得虚拟对象将看起来是在虚拟的三维空间中运动。例如,除了向上、向下、向左和向右移动虚拟对象之外,手持控制器组件4还可以将虚拟对象移入和移出用户的视觉深度。
图形生成器1030被配置为至少部分地基于来自定位器1020的输出和/或来自控制器输入1050的输出来生成用于在图像显示设备2的屏幕上显示的图形。例如,图形生成器1030可以控制图像显示设备2的屏幕以显示虚拟对象,从而使得虚拟对象看起来在用户通过屏幕查看的环境中。通过非限制性示例,虚拟对象可以是虚拟移动对象(例如,球、梭、子弹、导弹、火、热浪、能量波)、武器(例如,剑、斧头、锤子、刀、子弹等)、可以在房间里找到的任何对象(例如,铅笔、纸球、杯子、椅子等)、可以在建筑物外面找到的任何对象(例如岩石、树枝等)、车辆(例如汽车、飞机、航天飞机、火箭、潜艇、直升机、摩托车、自行车、拖拉机、全地形车辆、雪地车等)。此外,在一些实施例中,图形生成器1030可以生成用于在屏幕上显示的虚拟对象的图像,从而使得虚拟对象将看起来正在与环境中的真实物理对象交互。例如,图形生成器1030可以使屏幕以移动配置显示虚拟对象的图像,从而使得虚拟对象看起来正在移动通过用户通过图像显示设备2的屏幕看到的环境中的空间。另外,在一些实施例中,图形生成器1030可以使屏幕显示虚拟对象的图像,从而使得虚拟对象看起来正在变形或损坏环境中的物理对象,或者看起来正在变形或损坏另一虚拟对象,如用户通过图像显示设备2的屏幕所看到的。在一些情况下,这可以通过图形生成器1030生成交互图像来实现,交互图像例如变形标记(例如,凹痕、折线等)的图像、烧痕的图像、显示热变化的图像、火的图像、爆炸图像、残骸图像等,用于在图像显示设备2的屏幕上显示。
应当注意,上述基于紧密靠近虚拟内容的动作的锚点来放置虚拟内容的技术不限于涉及两个用户的游戏。在其他实施例中,上述放置虚拟内容的技术可以应用于仅涉及单个用户或多于两个用户的任何应用(其可以是或可以不是任何游戏应用)。例如,在其他实施例中,上述放置虚拟内容的技术可以用在允许用户放置在物理环境中远离用户的虚拟内容的应用中。上述放置虚拟内容的技术是有利的,因为它允许虚拟内容相对于用户被准确地虚拟放置(如用户通过用户穿戴的屏幕查看的那样),即使虚拟内容距用户很远(例如,多于5英尺、多于10英尺、多于15英尺、多于20英尺,等等)。
如参考图15所讨论的,处理单元1002包括被配置为存储锚点信息的非暂时性介质1040。通过非限制性示例,非暂时性介质1040可以存储锚点的位置、与不同用户相关联的不同锚点集合、共同锚点集合、用于定位用户和/或用于放置虚拟内容的所选择共同锚点等。在其他实施例中,非暂时性介质1040可以存储其他信息。在一些实施例中,非暂时性介质1040可以存储不同的虚拟内容,这些虚拟内容可以由图形生成器1030检索以呈现给用户。在某些情况下,某些虚拟内容可能与游戏应用相关联。在这种情况下,当游戏应用被激活时,处理单元1002于是可以访问非暂时性介质1040以获取用于游戏应用的对应虚拟内容。在一些实施例中,非暂时性介质还可以存储游戏应用和/或与游戏应用相关联的参数。
非暂时性介质1040不限于单个存储单元,并且可以包括多个存储单元,该多个存储单元或者是集成的,或者是分开的但通信连接的(例如,无线地或通过导体)。
在一些实施例中,随着虚拟对象虚拟地移动通过物理环境,处理单元1002保持跟踪虚拟对象相对于物理环境中识别的一个或多个对象的位置。在一些情况下,如果虚拟对象与物理对象接触或紧密靠近,则图形生成器1030可以生成图形以指示虚拟对象与环境中的物理对象之间的交互。例如,图形可以通过改变虚拟对象的行进路径来指示虚拟对象从物理对象(例如,墙壁)或从另一个虚拟对象偏斜。作为另一示例,如果虚拟对象与物理对象(例如,墙壁)或与另一个虚拟对象接触,则图形生成器1030可以与虚拟对象接触物理对象或其他虚拟对象的位置空间关联地放置交互图像。交互图像可以指示墙壁破裂、凹陷、划伤、变脏等。
在一些实施例中,不同的交互图像可以被存储在非暂时性介质1040中和/或可以被存储在与处理单元1002通信的服务器中。交互图像可以关联于与两个对象的交互相关的一个或多个属性而被存储。例如,皱纹的图像可以与属性“毯子”相关联地被存储。在这样的情况下,如果虚拟对象被显示为被支撑在已被识别为“毯子”的物理对象上,则图形生成器1030可以如通过查看图像显示设备2的屏幕查看的那样显示在虚拟对象和物理对象之间的皱纹的图像,从而使得虚拟对象看起来通过坐在毯子上使毯子起皱。
应当注意,可以基于一个或多个锚点相对于物理环境虚拟地显示的虚拟内容不限于所描述的示例,并且虚拟内容可以是其他项目。此外,如在本说明书中所使用的,术语“虚拟内容”不限于虚拟化的物理项目,并且可以指任何项目的虚拟化,例如虚拟化的能量(例如,激光束、声波、能量波、热量等)。术语“虚拟内容”还可以指任何内容,例如文本、符号、卡通、动画等。
对象标识符
如图9所示,处理单元1002还包括对象标识符1060。处理单元1002的对象标识符1060被配置为基于一个或多个检测到的特征来标识环境中的一个或多个对象。例如,在一些实施例中,通信接口1010可以从相机获得相机图像作为传感器信息。相机图像可以包括用户周围环境中的对象的图像。在一种实施方式中,对象标识符1060可以包括表面检测器,该表面检测器被配置为分析相机图像以检测对象的表面。表面检测器还可以确定对象的表面的取向和/或高程。对象标识符1060可以基于对象的表面的取向和/或高程针对对象进行标识。对象标识符1060可以操作或控制图形生成器1030以生成指示对象的标识的标识符用于由(图像显示设备2的)屏幕显示。图像显示设备2的屏幕被配置为在屏幕中的位置处显示标识符,使得当用户通过屏幕观看环境中的对象时,标识符将处于相对于对象的空间关系中。
在一些实施例中,对象标识符1060可以被配置为如果对象的表面的取向基本上是垂直的,并且如果对象的表面的高程高于高程阈值(例如,3英尺、4英尺、5英尺等),则将对象标识为墙。在一些实施例中,如果表面位于与水平线形成角度的平面内,则对象的表面被认为是“基本上垂直的”,其中该角度是90度+/-10度范围内的任何值。
而且,在一些实施例中,对象标识符1060可以被配置为如果对象的表面的取向基本上是水平的,并且如果对象的表面的高程低于高程阈值(例如,2英尺、1英尺、6英寸、3英寸、2英寸等),则将对象标识为地板。在一些实施例中,如果表面位于与水平线形成角度的平面内,则对象的表面被认为是“基本上水平的”,其中该角度是0度+/-10度范围内的任何值。
而且,在一些实施例中,对象标识符1060被配置为如果对象的表面的取向基本上是水平的,并且如果对象的表面的高程高于第一高程阈值(例如3英寸、6英寸、1英尺等)并且低于第二高程阈值(如5英尺、4英尺、3英尺等),则将对象标识为家具(例如,桌面、台面、椅子表面、凳子等)。
在一些实施例中,对象标识符1060被配置为获得指示对要确定对象的标识的对象的选择的输入。例如,在一些实施例中,输入可以包括经由控制器组件4生成的用户输入,其中用户输入指示对象的选择。在一些情况下,图像显示设备2的屏幕可以显示光标。在这样的情况下,用户可以使用控制器组件4来操作光标(例如,移动光标、使用光标选择对象等)。例如,如果控制器组件4包括触摸板、轨迹球或操纵杆等,则用户可以操作这些用户控件中的任何一个来操作正在图像显示设备2的屏幕上显示的光标。用户可以在屏幕上移动光标,使得从图像显示设备2的屏幕观看时,光标看起来正在触摸用户周围环境中的物理对象。用户还可以操作按钮或触敏控件来选择对象。控制器组件4可以生成指示屏幕中的光标的光标位置的用户输入,并且对象标识符1060可以获得指示光标位置的用户输入,并且可以被配置为基于光标位置确定正在选择的环境中的对象。
在其他实施例中,处理单元1002可以被配置为获得控制器组件4的取向和/或位置作为用户输入。例如,在一些实施例中,系统1可以包括被配置为感测控制器组件4的取向的取向传感器和/或被配置为感测控制器组件4的位置的位置传感器。取向传感器和/或位置传感器可以在控制器组件4、图像显示设备2或系统1的另一组件处实现。处理单元1002被配置为获得指示控制器组件4的取向和/或位置的用户输入,并调整显示在图像显示设备2的屏幕上的光标的位置。例如,用户可以通过跨空间平移控制器组件4来移动它,和/或可以旋转(例如,倾斜)控制器组件4。作为响应,处理单元1002调整显示在图像显示设备2的屏幕上的光标的位置。用户可以将光标定位在如通过图像显示设备2的屏幕观看的环境中的对象上以选择对象。在一些实施例中,对象标识符1060被配置为基于由控制器组件4指向环境中的对象的方向来确定正在选择的环境中的对象。而且,在一些实施例中,对象标识符1060被配置为获得指示对要确定对象的标识的对象的选择的输入。例如,在一些实施例中,用户可以操作按钮或触敏控件来选择对象。控制器组件4可以生成指示屏幕中的光标的光标位置的用户输入,并且对象标识符1060可以获得指示光标位置的用户输入,并且可以被配置为基于光标位置确定正在选择的环境中的对象。
在一些实施例中,图像显示设备2可包括相机。在这样的情况下,对象标识符1060可以被配置为基于由相机提供的相机图像中的对象的图像的存在来选择用于标识的对象。在一些实施例中,对象标识符1060可以被配置为自动选择对象用于对象标识。在一种实施方式中,对象标识符1060可以被配置为响应于对象在包括相机图像的一系列相机图像(由图像显示设备2的相机生成)中存在超过时间阈值的持续时间内来选择对象。
应当注意,可以由对象标识符1060标识的对象不限于所提到的示例,并且对象标识符1062可以基于对象的特征来标识其他对象。通过非限制性示例,对象标识符1060可以被配置为标识柜子、书架、电视、壁炉等,或建筑物结构中的任何其他项目。对象标识符1060还可以被配置为标识生命主体,诸如人、植物、动物等。此外,对象标识符1060还可以被配置为标识建筑物结构之外的对象,诸如路标、路灯、邮箱、车辆等。
而且,在一些实施例中,对象标识符1060可用于标识(一个或多个)对象的(一个或多个)特征可包括对象的颜色、对象的表面纹理、对象的形状、对象的大小等。在一些实施例中,对象标识符1060可以使用这些特征中的任何一个与检测到的对象表面的取向和/或高程组合来标识对象。在其他实施例中,对象标识符1060可以使用这些特征中的任何一个而无需对象的表面的取向和高程来标识对象。
另外,在一些实施例中,取代仅检测对象的一个表面并确定一个表面的取向和/或高程,处理单元1002可以被配置为检测对象的多个表面,并确定用于对象的多个表面的相应取向和/或相应高程。在一种实施方式中,处理单元1002可以被配置为接收指示用户周围环境中的选择对象的用户输入,并且确定对象的多个表面。例如,处理单元1002可以标识某个区域内对象的几个表面以收集足够的信息,使得可以由处理单元1002确定对象的身份。在一些实施例中,对象标识符1060可以被配置为检测对象的表面的边缘和/或对象的角。对象标识符1060可以被配置为基于检测到的对象的边缘和/或角来进行对象的标识。
在上述实施例中,处理单元1002是参考标识由图像显示设备2的用户选择的对象来描述的。在其他实施例中,处理单元1002可以标识如通过图像显示设备2的屏幕观看的用户周围环境中的对象,而不需要用户提供明确的用户输入来选择对象。例如,在一些实施例中,对象标识符1060可以被配置为获得由图像显示设备2的相机提供的相机图像,其中,相机被配置为随着用户在环境中移动而连续生成环境中对象的一系列相机图像。相机图像可以是由处理单元1002经由通信接口1010获得的传感器信息。对象标识符1060可以被配置为当环境中的一个或多个对象出现在(一个或多个)相机图像中时自动标识它们。例如,对象标识符1060可以被配置为执行表面检测、角检测、边缘检测、颜色检测、纹理检测等,以标识对象。在一些实施例中,对象标识符1060可以被配置为将(一个或多个)对象的(一个或多个)标识提供给图形生成器1030,图形生成器1030生成(一个或多个)对象标识用于由图像显示设备2的屏幕显示。(一个或多个)对象标识可以与环境中的对应的(一个或多个)对象相关联地显示在屏幕中,使得当用户将屏幕中的(一个或多个)对象标识连同环境中的(一个或多个)对象一起观看(如通过屏幕观看)时,(一个或多个)对象标识将与(一个或多个)对象空间关联地出现。例如,可以在屏幕中显示对象标识,使得其看起来叠加在真实物理对象上,靠近真实物理对象(例如,在距真实物理对象的特定预定距离内,例如1英寸、2英寸、3英寸、3像素距离、5像素距离等)。此外,在一些实施例中,屏幕中显示的(一个或多个)对象标识可以与用户的运动相对应地在屏幕中移动,使得当用户移动时,显示的(一个或多个)对象标识将看起来跟随通过屏幕观看的(一个或多个)对象。该特征是有利的,因为它以这样的方式为相应(一个或多个)真实物理对象提供(一个或多个)对象标识,使得(一个或多个)对象标识看起来是(一个或多个)真实物理对象的一部分。
应当注意,对象标识符1060不限于基于相机图像标识环境中的对象,并且对象标识符1060可以被配置为基于任何其他类型的传感器信息来标识环境中的对象。例如,在其他实施例中,图像显示设备2可以包括深度传感器,用于感测深度传感器前面的对象与深度传感器之间的深度或距离。在这样的情况下,对象标识符1060可以被配置为基于感测到的深度或距离来标识对象。在进一步的实施例中,图像显示设备2可以包括用于检测图像显示设备2的用户的眼睛注视方向的注视检测器。在这样的情况下,对象标识符1060可以被配置为基于由注视检测器提供的指示眼睛注视方向的一个或多个传感器输入来标识对象。
在一些实施例中,对象标识符1060可以向图形生成器1030提供输出,使得图形生成器1032可以基于输出生成图形,和/或可以向非暂态介质1040提供输出用于存储。由对象标识符1060确定的任何信息可以被提供给图形生成器1030和/或非暂态介质1040。例如,在一些实施例中,对象标识符1060可以提供关于物理环境中标识的对象的信息。在这样的情况下,对象标识符1060可以向图形生成器1030提供关于标识的对象的信息。图形生成器1030然后可以基于关于标识的对象的信息生成图形,使得图形可以显示在图像显示设备2的屏幕上。作为示例,关于标识的对象的信息可以是对象的身份,并且图形可以指示对象的身份。作为另一示例,关于标识的对象的信息可以是对象的形状,并且图形可以指示对象的形状。关于所标识的对象的信息也可以存储在非暂态介质1040中。
在一些实施例中,处理单元1002(例如,对象标识符1060)可以被配置为提供参考图4至5所描述的任何特征。
在其他实施例中,对象标识符1060是可选的,并且处理单元1002不包括对象标识符1060。
空间定义器
如图15所示,处理单元1002还包括空间定义器1070。空间定义器1070被配置为定义虚拟空间,其中可以提供一个或多个虚拟内容。例如,在一些实施例中,空间定义器1070可以被配置为定义用于虚拟空间的虚拟墙。替代地或附加地,空间定义器1070可以被配置为定义用于虚拟空间的角和/或用于虚拟空间的墙边缘。
在一些实施例中,虚拟墙从用户周围环境中的真实物理墙偏移。在其他实施例中,虚拟墙可以与用户周围环境中的真实物理墙对齐或相交。类似地,在一些实施例中,用于虚拟空间的角(虚拟角)可以从用户周围环境中的真实物理角偏移。在其他实施例中,用于虚拟空间的角可以与用户周围环境中的真实物理角对齐。而且,在一些实施例中,用于虚拟空间的边缘(虚拟边缘)可以从用户周围环境中的真实物理边缘偏移。在其他实施例中,用于虚拟空间的边缘可以与用户周围环境中的真实物理边缘对齐。
在一些实施例中,图像显示设备2的屏幕可以被配置为在屏幕中的位置处显示墙标识符,使得当用户观看虚拟空间的虚拟墙时,墙标识符将处于相对于虚拟墙的空间关系中。而且,在一些实施例中,图像显示设备2的屏幕可以被配置为在屏幕中的位置处显示角标识符,使得当用户观看虚拟空间的虚拟角时,角标识符将处于相对于虚拟角的空间关系中。另外,在一些实施例中,图像显示设备2的屏幕可以被配置为在屏幕中的位置处显示边缘标识符,使得当用户观看虚拟空间的虚拟边缘时,边缘标识符将处于相对于虚拟边缘的空间关系中。
应当注意,空间定义器1070不限于为虚拟空间定义一个虚拟墙,并且空间定义器107可以为虚拟空间限定多个墙。例如,在一些实施例中,空间定义器1007被配置为定义用于虚拟空间的多个虚拟墙,并且图像显示设备2的屏幕被配置为显示用于相应虚拟墙的墙标识符。而且,用于虚拟空间的虚拟墙不限于具有直线配置的墙。在其他实施例中,用于虚拟空间的虚拟墙可以具有曲线配置。
各种技术可以由处理单元1002采用来定义虚拟空间。在一些实施例中,处理单元1002的空间定义器1070可以被配置为使用用户周围的物理环境中的特征来定义虚拟空间。在这样的情况下,空间定义器1070被配置为获得经由控制器组件4生成的用户输入,该用户输入指示用于定义虚拟空间的至少一部分的环境中的特征(例如,墙、墙角、边缘等,或上述特征的任何组合)的选择。在一些实施例中,图形生成器1030可以被配置为提供光标的图形用于由图像显示设备2的屏幕显示。在这样的情况下,用户可以操作控制器组件4来移动屏幕中的光标,以选择物理环境中的一个或多个特征用于定义虚拟空间。例如,用户可以平移和/或取向(例如,倾斜)控制器组件4以移动光标。作为另一示例,用户可以在控制器组件4处操作用户输入控制器(例如,触敏区域、轨迹球、操纵杆等)以移动光标。在用户将屏幕上的光标移动到如通过屏幕看到的环境中的物理对象上之后,用户可以操作控制器组件4来选择用于定义虚拟空间的对象。例如,如果用户在环境中看到物理墙,并且想要定义虚拟空间以具有对应的墙,则用户可以在屏幕上移动光标,使得光标看起来叠加在环境中的物理墙上(如通过屏幕观看)。然后,用户可以按下按钮来选择由光标虚拟指向的物理墙。因此,由用于定义虚拟空间的空间定义器1070获得的用户输入指示屏幕中的光标位置。空间定义器1070获得用户输入,并生成与选择的物理墙对应的虚拟墙。例如,虚拟墙可以具有与物理墙的尺寸对应(例如,匹配)的尺寸(例如,高度、宽度)。
在其他实施例中,控制器组件4可以作为指针操作,这允许用户通过将指针指向环境中的对象来选择对象。在这样的情况下,由空间定义器1070获得的用户输入指示控制器组件4的位置和/或取向。用户还可以操作控制器组件4处的控制来选择由控制器组件4指向的对象。因此,用于定义虚拟空间的环境中的特征的选择可以基于由控制器组件4指向环境中的特征的方向。
在一些实施例中,空间定义器1070可以被配置为基于由图像显示设备2的相机提供的一个或多个相机图像来定义虚拟空间的至少一部分。例如,空间定义器1070可以分析相机图像以标识相机图像中的一个或多个项目。该项目可以是用户周围环境中的墙的图像、角的图像、边缘的图像等。相机可以相对于用户被取向在面向前方的方向上,使得相机的视图与用户通过屏幕对环境的视图相对应。随着相机在环境中移动,用户可以通过屏幕观看环境中的不同对象。相机生成与用户正在通过屏幕观看的内容相对应的相机图像。在一些实施例中,如果图像显示设备2的屏幕显示光标或指针的图像,则空间定义器1070可以被配置为通过相对于光标位置或指针位置分析相机图像来确定光标或指针指向环境中的哪个对象。例如,如果光标位置指示在相机图像中存在门的图像,那么空间定义器1070可以确定光标指向用户周围的物理环境中的门。如果用户在光标或指针位于相机图像中门的图像位置时选择了门,则空间定义器1070可以确定用户正在选择用于定义虚拟空间的至少一部分的门。
在其他实施例中,空间定义器1070可以被配置为基于由相机提供的相机图像中的特征的图像的存在来选择环境中的特征,用于定义虚拟空间的至少一部分。例如,空间定义器1070可以检测相机图像中的墙的图像。在这样的情况下,空间定义器1070可以自动选择墙,并且可以基于所选择的墙生成虚拟墙。在一种实施方式中,空间定义器1070被配置为响应于特征在包括相机图像的一系列相机图像中存在在超过时间阈值的持续时间内来选择特征。例如,如果用户的视图朝向墙,则图像显示设备2的相机将生成墙的一系列相机图像,同时用户的视图保持朝向墙。如果观看墙的持续时间超过某个预定时间阈值(例如,3秒、5秒等),则空间定义器1070可以假设用户想要选择墙用于定义虚拟空间的至少一部分。在这样的情况下,空间定义器1070可以自动选择用于定义虚拟空间的至少一部分的墙。在一些实施例中,空间定义器1070可以在使用选择的墙用于定义虚拟空间之前询问用户确认墙的选择是否可接受。
在一些实施例中,在虚拟空间已经由空间定义器1070定义之后,处理单元1002然后可以提供虚拟内容,用于通过图像显示设备2的屏幕在所定义的虚拟空间中显示。在一些实施例中,图形生成器1030可以被配置为提供虚拟内容用于仅由图像显示设备2的用户进行交互。在其他实施例中,图形生成器1030可以被配置为提供虚拟内容用于由用户(第一用户)和附加用户(第二用户)进行交互,诸如参考图10至11所描述的虚拟内容。例如,在一些实施例中,系统1可以被配置为将用户和附加用户连接到相同的定义虚拟空间,使得用户和附加用户可以在相同的虚拟空间处与虚拟内容进行交互。在一些实施例中,图形生成器1030被配置为提供虚拟内容用于不同的相应房间中的用户和附加用户的交互。在其他实施例中,图形生成器1030被配置为提供虚拟内容用于相同的房间中的用户和附加用户的交互。
在一些实施例中,如果两个用户在相同的物理环境中,则处理单元1002可以被配置为将用户和附加用户注册到环境,使得用户和附加用户可以在他们在环境中时与虚拟内容进行交互。在一种实施方式中,处理单元1002被配置为通过确定与用户的位置和附加用户的位置相关联的一个或多个锚点来将用户和附加用户注册到环境。例如,当第一用户在环境中移动时,处理单元1002可以基于第一用户的位置确定一个或多个锚点。每个锚点可以与环境中为定位目的而预先确定的特征相关联。当第一用户移动时,第一用户的位置改变,并且第一用户的(一个或多个)锚点集合也改变。类似地,环境中的第二用户可能具有与第二用户的位置相关联的一组(一个或多个)锚点。在一些实施例中,处理单元1002可以被配置为基于与相应用户相关联的相应(一个或多个)锚点集合将第一用户和第二用户注册到环境。而且,在一些实施例中,如果两个用户定位足够近,则(一个或多个)锚点的相应集合可以具有一个或多个共同(一个或多个)锚点。在这样的情况下,处理单元1002可以被配置为基于一个或多个共同锚点将用户注册到环境。
在一些实施例中,对象标识符1060可以作为空间定义器1070的一部分植入。在这样的情况下,对象标识符1060可用于标识一个或多个对象,并且所标识的(一个或多个)对象可以由空间定义器1070用来定义虚拟空间。在其他实施例中,对象标识符1060可以是与空间定义器1070分离的组件/模块。在这样的情况下,对象标识符1060可以标识一个或多个对象,并且可以向空间定义器1070提供关于所标识的(一个或多个)对象的信息。
在一些实施例中,空间定义器1070可以向图形生成器1030提供输出,使得图形生成器1030可以基于输出生成图形,和/或可以向非暂态介质1040提供输出用于存储。由空间定义器1070确定的任何信息可以被提供给图形生成器1030和/或非暂态介质1040。例如,在一些实施例中,空间定义器1070可以提供关于用于虚拟空间的虚拟墙的信息。在这样的情况下,空间定义器1070可以向图形生成器1030提供关于虚拟墙的信息。图形生成器1030然后可以生成指示虚拟墙的图形,使得它可以显示在图像显示设备2的屏幕上。关于用于虚拟空间的虚拟墙的信息也可以存储在非暂态介质1040中。
在一些实施例中,空间定义器1070可以被配置为提供参考图12至14所描述的任何特征。
在一些实施例中,控制器组件4可以由用户用来插入虚拟内容。例如,控制器组件可以被移动,和/或一个或多个用户控件(例如,操纵杆、触敏区域、按钮等)可以被致动以移动和/或将虚拟内容放置在期望的位置处。在其他实施例中,可以在不使用控制器组件4的情况下提供虚拟内容。例如,在其他实施例中,虚拟内容可以由图形生成器1030响应于由用户已经通过某个时间阈值(例如,2秒、3秒、4秒等)对环境中的区域的凝视或观看而提供。在一些实施例中,处理单元1002可以被配置为使用参考图6至7所描述的技术来提供虚拟内容。
在其他实施例中,空间定义器1070是可选的,并且处理单元1002不包括空间定义器1070。
指针配置器
如图15所示,处理单元1002包括指针配置器1080。指针配置器1080被配置为改变正在由图像显示设备2的屏幕显示的指针的配置。在一些实施例中,控制器组件4可以由用户用作指向设备,该指向设备被配置为指向用户周围的物理环境中的对象和/或虚拟对象。基于控制器组件4的位置和/或取向,图形生成器1030生成用于由图像显示设备2的屏幕显示的虚拟指针。例如,虚拟指针可以是细长对象的图形。可以显示虚拟指针,使得它看起来好像指向物理环境中的某个对象,或者指向某个虚拟对象。随着用户移动控制器组件4,细长对象在屏幕中的位置将相应改变。该特征是有利的,因为它允许用户看到控制器组件4指向哪个对象。
在一些实施例中,虚拟指针可以由用户用来与正在图像显示设备2的屏幕中显示的虚拟对象进行交互。例如,用户可以使用虚拟指针来选择虚拟对象,和/或移动虚拟对象。指针配置器1080被配置为调整屏幕中显示的指针的配置,和/或呈现与虚拟指针相关联的交互图形。例如,当用户移动虚拟指针以定位虚拟对象时,指针配置器1080可以改变虚拟指针的形状。在一些情况下,当虚拟指针正在移动虚拟对象时,虚拟指针可能看起来经历弯曲。弯曲量可以基于正被定位的虚拟对象的重量或质量。例如,如果虚拟对象具有更重的质量,那么虚拟指针在它用于移动虚拟对象时可能经历更多弯曲。
在其他实施例中,代替或除了改变虚拟指针的形状之外,指针配置器1080可以被配置为响应于虚拟指针与虚拟对象之间的交互而改变虚拟指针的其他(一个或多个)特征,诸如改变虚拟指针的颜色、虚拟指针的大小等。
而且,在其他实施例中,处理单元1002可以被配置为响应于指针与虚拟对象之间的交互而提供交互图形(用于由图像显示设备2的屏幕显示)。交互图形可以由图形生成器1030基于由指针配置器1080提供的输入来生成。交互图形可以是由虚拟指针选择的虚拟对象的突出显示,或者与虚拟指针相关联地显示的任何图形。
在一些实施例中,指针配置器1080可以被配置为提供参考图9A至9E所描述的任何特征。
在其他实施例中,指针配置器1080是可选的,并且处理单元1002不包括指针配置器1080。
由处理单元和/或处理单元中的应用执行的方法
图16A示出了根据一些实施例的方法1100。方法1100可以由被配置为在虚拟或增强环境中提供虚拟内容的装置执行。此外,在一些实施例中,方法1100可以由被配置为在虚拟或增强现实环境中提供虚拟内容的装置执行,其中穿戴第一显示屏幕的第一用户和穿戴第二显示屏幕的第二用户可以相互交互。在一些实施例中,每个图像显示设备可以是图像显示设备2。在一些实施例中,方法1100可以由本文描述的任何图像显示设备或由多个图像显示设备执行。此外,在一些实施例中,方法1100的至少一部分可以由处理单元1002或由多个处理单元(例如,各个图像显示设备中的处理单元)来执行。此外,在一些实施例中,方法1100可以由与各个用户穿戴的图像显示设备分开的服务器或装置来执行。
如图16A所示,方法1100包括:通过表面检测器检测装置的用户周围环境中的对象的表面(项目1102);通过对象标识符获得对象的表面的取向和/或高程(项目1104);通过对象标识符基于对象的表面的取向和/或高程来标识对象(项目1106);以及通过图形生成器生成用于所标识的对象的标识符用于由屏幕显示,其中,屏幕是至少部分透明的,用于允许装置的用户观看用户周围环境中的对象(项目1108)。
可选地,在方法1100中,如果对象的表面的取向基本上是垂直的,并且如果对象的表面的高程高于高程阈值,则对象被标识为墙。
可选地,在方法1100中,如果对象的表面的取向基本上是水平的,并且如果对象的表面的高程低于高程阈值,则对象被标识为地板。
可选地,在方法1100中,如果对象的表面的取向基本上是水平的,并且如果对象的表面的高程高于第一高程阈值并且低于第二高程阈值,则对象被标识为家具。
可选地,在方法1100中,标识符被显示在屏幕中的位置处,使得当用户通过屏幕观看环境中的对象时,标识符将处于相对于对象的空间关系中。
可选地,方法1100还包括获得指示对要确定对象的标识的对象的选择的输入。
可选地,在方法1100中,输入包括经由控制器组件生成的用户输入,用户输入指示对象的选择。
可选地,在方法1100中,用户输入指示屏幕中的光标位置,以及其中,方法还包括:基于光标位置来确定正在选择的环境中的对象。
可选地,在方法1100中,用户输入指示控制器组件的取向,以及其中,方法还包括基于由控制器组件指向环境中的对象的方向来确定正在选择的环境中的对象。
可选地,方法1100还包括:基于由装置的相机提供的相机对象中对象的图像的存在来选择对象用于标识。
可选地,在方法1100中,自动选择对象用于标识。
可选地,在步骤1100中,响应于对象在包括相机图像的一系列相机图像中存在超过时间阈值的持续时间内来选择对象。
可选地,方法1100还包括定义虚拟空间。
可选地,在方法1100中,定义虚拟空间的动作包括定义用于虚拟空间的虚拟墙。
可选地,在方法1100中,虚拟墙从用户周围环境中的真实物理墙偏移。
可选地,在方法1100中,虚拟墙与用户周围环境中的真实物理墙对齐或相交。
可选地,方法1100还包括:通过屏幕在屏幕中的位置处显示墙标识符,使得当用户观看虚拟墙时,墙标识符将处于相对于虚拟墙的空间关系中。
可选地,在方法1100中,定义虚拟空间的动作包括定义用于虚拟空间的多个虚拟墙;以及其中,方法还包括通过屏幕显示用于相应虚拟墙的墙标识符。
可选地,在方法1100中,定义虚拟空间的动作包括定义用于虚拟空间的角。
可选地,在方法1100中,定义虚拟空间的动作包括定义用于虚拟空间的墙边缘。
可选地,方法1100还包括:获得经由控制器组件生成的用户输入,用户输入指示对环境中的用于定义虚拟空间的至少一部分的特征的选择。
可选地,在方法1100中,环境中的特征包括墙、墙角、边缘或前述的任何组合。
可选地,在方法100中,用户输入指示屏幕中的光标位置。
可选地,在方法1100中,用户输入指示控制器组件的取向,以及其中,环境中的特征的选择基于由控制器组件指向环境中的特征的方向。
可选地,方法1100还包括:选择环境中的用于定义虚拟空间的至少一部分的特征,其中,选择的动作是基于由装置的相机提供的相机图像中特征的图像的存在来执行的。
可选地,在方法1100中,自动选择环境中的特征。
可选地,在步骤1100中,响应于特征在包括相机图像的一系列相机图像中存在超过时间阈值的持续时间内来选择特征。
可选地,方法1100还包括:通过屏幕基于控制器组件的取向显示指针,以及其中,方法还包括:调整屏幕中显示的指针的配置,和/或呈现与指针相关联的交互图形。
可选地,在方法1100中,调整指针的配置的动作和/或呈现交互图形的动作是响应于指针与虚拟对象之间的交互来执行的。
可选地,方法1100还包括:提供虚拟内容用于由用户和附加用户交互。
可选地,方法1100还包括将用户和附加用户连接到相同的虚拟空间,使得用户和附加用户可以在相同的虚拟空间处与虚拟内容进行交互。
可选地,在方法1100中,虚拟内容被提供用于不同的相应房间中的用户和附加用户的交互。
可选地,在方法1100中,虚拟内容被提供用于相同的房间中的用户和附加用户的交互。
可选地,方法1100还包括将用户和附加用户注册到环境,使得用户和附加用户可以在他们在环境中时与虚拟内容进行交互。
可选地,在方法1100中,虚拟内容是响应于由用户对区域的注视或观看已经通过某个时间阈值而提供的。
可选地,在方法1100中,将用户和附加用户注册到环境的动作包括确定与用户的位置和附加用户的位置相关联的一个或多个锚点。
一种处理器可读非暂态介质存储一组指令,处理单元对其的执行将使得方法被执行,处理单元是被配置为提供虚拟或增强现实体验的装置的一部分,该方法包括:通过表面检测器检测装置的用户周围环境中的对象的表面;通过对象标识符获得对象的表面的取向和/或高程;通过对象标识符基于对象的表面的取向和/或高程来标识对象;以及通过图形生成器生成用于所标识的对象的标识符用于由屏幕显示,其中,屏幕是至少部分透明的,用于允许装置的用户观看用户周围环境中的对象。
在一些实施例中,可以响应于处理单元执行存储在非暂态介质中的指令来执行方法1100。因此,在一些实施例中,非暂态介质包括存储的指令,处理单元对其的执行将使得方法被执行。处理单元可以是被配置为提供虚拟或增强现实体验的装置的一部分。该方法(引起由执行指令的处理单元执行)包括:通过表面检测器检测装置的用户周围环境中的对象的表面;通过对象标识符获得对象的表面的取向和/或高程;通过对象标识符基于对象的表面的取向和/或高程来标识对象;以及通过图形生成器生成用于所标识的对象的标识符用于由屏幕显示,其中,屏幕是至少部分透明的,用于允许装置的用户观看用户周围环境中的对象。
图16B示出了根据一些实施例的方法1150。方法1150可以由被配置为在虚拟或增强环境中提供虚拟内容的装置执行。而且,在一些实施例中,方法1150可以由被配置为在虚拟或增强现实环境中提供虚拟内容的设备来执行,其中穿戴第一显示屏的第一用户和穿戴第二显示屏的第二用户可以彼此交互。在一些实施例中,每个图像显示设备可以是图像显示设备2。在一些实施例中,方法1150可以由本文所描述的任何图像显示设备或由多个图像显示设备执行。而且,在一些实施例中,方法1150的至少一部分可以由处理单元1002或由多个处理单元(例如,相应图像显示设备中的处理单元)来执行。此外,在一些实施例中,方法1150可以由与由相应用户正穿戴的图像显示设备分开的服务器或装置来执行。
如图16B所示,方法1150包括:通过空间定义器获得输入,其中,空间定义器被配置为在屏幕由用户穿戴时获得输入(项目1152);通过空间定义器基于输入定义虚拟空间(项目1154);通过图形生成器提供用于由屏幕显示的虚拟内容(项目1156);以及通过屏幕显示虚拟空间中的虚拟内容,其中,屏幕是至少部分透明的,用于允许装置的用户观看用户周围环境中的对象(项目1158)。
可选地,在方法1150中,定义虚拟空间的动作包括定义用于虚拟空间的虚拟墙。
可选地,在方法1150中,虚拟墙从用户周围环境中的真实物理墙偏移。
可选地,在方法1150中,虚拟墙与用户周围环境中的真实物理墙对齐或相交。
可选地,方法1150还包括:通过屏幕在屏幕中的位置处显示墙标识符,使得当用户观看虚拟墙时,墙标识符将处于相对于虚拟墙的空间关系中。
可选地,在方法1150中,定义虚拟空间的动作包括定义用于虚拟空间的多个虚拟墙;以及其中,方法还包括通过屏幕显示用于相应虚拟墙的墙标识符。
可选地,在方法1150中,定义虚拟空间的动作包括定义用于虚拟空间的角。
可选地,在方法1150中,定义虚拟空间的动作包括定义用于虚拟空间的墙边缘。
可选地,方法1150还包括:获得经由控制器组件生成的用户输入,用户输入指示对环境中的用于定义虚拟空间的至少一部分的特征的选择。
可选地,在方法1500中,环境中的特征包括墙、墙角、边缘或前述的任何组合。
可选地,在方法1500中,用户输入指示屏幕中的光标位置。
可选地,在方法1500中,用户输入指示控制器组件的取向,以及其中,环境中的特征的选择基于由控制器组件指向环境中的特征的方向。
可选地,方法1150还包括:基于特征的图像在由相机提供的相机图像中的存在,选择环境中的特征,用于定义虚拟空间的至少一部分,其中,相机图像是由空间定义器获得的输入。
可选地,在方法1150中,自动选择环境中的特征。
可选地,在步骤1150中,响应于特征存在包括相机图像的一系列相机图像中存在超过时间阈值的持续时间内来选择环境中的特征。
可选地,在方法1150中,虚拟内容还用于由附加用户进行交互。
可选地,方法1150还包括将用户和附加用户连接到虚拟空间,使得用户和附加用户能够在虚拟空间处与虚拟内容进行交互。
可选地,在方法1150中,虚拟内容被提供用于不同的相应房间中的用户和附加用户的交互。
可选地,在方法1150中,虚拟内容被提供用于相同的房间中的用户和附加用户的交互。
可选地,方法1150还包括将用户和附加用户注册到环境,使得用户和附加用户可以在他们在环境中时与虚拟内容进行交互。
可选地,在方法1150中,将用户和附加用户注册到环境的动作包括确定与用户的位置和附加用户的位置相关联的一个或多个锚点。
可选地,在方法1150中,虚拟内容是响应于由用户对区域的注视或观看已经通过某个时间阈值而提供的。
在一些实施例中,可以响应于处理单元执行存储在非暂态介质中的指令来执行方法1150。因此,在一些实施例中,非暂态介质包括存储的指令,处理单元对其的执行将使得方法被执行。处理单元可以是被配置为提供虚拟或增强现实体验的装置的一部分。在一些实施例中,装置可包括用于显示信息的屏幕。该方法(引起由执行指令的处理单元执行)包括:通过空间定义器获得输入,其中,空间定义器被配置为在屏幕由用户穿戴时获得输入;通过空间定义器基于输入定义虚拟空间;通过图形生成器提供用于由屏幕显示的虚拟内容;以及通过屏幕显示虚拟空间中的虚拟内容,其中,屏幕是至少部分透明的,用于允许装置的用户观看用户周围环境中的对象。
专用处理系统
在一些实施例中,本文所描述的方法1100/1150可以由执行应用的系统1(例如,处理单元1002)执行,或者由应用执行。该应用可包含一组指令。在一个实施方式中,可以提供具有存储用于应用的指令集的非暂时性介质的专用处理系统。系统1的处理单元1102对指令的执行将致使处理单元1102和/或图像显示设备2执行本文描述的特征。例如,在一些实施例中,处理单元1102对指令的执行将致使方法1100/1150被执行。
在一些实施例中,系统1、图像显示设备2或装置7也可以被认为是专用处理系统。特别地,系统1、图像显示设备2或装置7是专用处理系统,因为它包含存储在其非暂时性介质中的指令以供处理单元1102执行以在现实世界中提供独特的有形效果。由图像显示设备2提供的特征(作为处理单元1102执行指令的结果)提供了在增强现实和虚拟现实技术领域的改进。
图17是示出可以用于实现本文描述的各种特征的专用处理系统1600的实施例的框图。例如,在一些实施例中,处理系统1600可以用于实现系统1的至少一部分,例如图像显示设备2、处理单元1002等。此外,在一些实施例中,处理系统1600可以用于实现处理单元1102或其中的一个或多个组件(例如,定位器1020、图形生成器1030等)。
处理系统1600包括用于传递信息的总线1602或其他通信机制,以及与总线1602耦合用于处理信息的处理器1604。处理器系统1600还包括主存储器1606,例如随机存取存储器(RAM)或其他动态存储设备,其耦合到总线1602用于存储信息和将要由处理器1604执行的指令。主存储器1606还可以用于在由处理器1604执行的指令执行期间存储临时变量或其他中间信息。处理器系统1600还包括只读存储器(ROM)1608或耦合到总线1602的其他静态存储设备,用于存储静态信息和用于处理器1604的指令。数据存储设备1610,例如磁盘、固态盘或光盘,被提供并耦合到总线1602用于存储信息和指令。
处理器系统1600可以经由总线1602耦合到用于向用户显示信息的显示器1612,例如屏幕。在一些情况下,如果处理系统1600是包括触摸屏幕的装置的一部分,则显示器1612可以是触摸屏幕。包括字母数字键和其他键的输入设备1614耦合到总线1602,用于将信息和命令选择传送给处理器1604。另一种类型的用户输入设备是光标控件1616,例如鼠标、轨迹球或光标方向键,用于向处理器1604传送方向信息和命令选择以及用于控制显示器1612上的光标移动。该输入设备通常具有在两个轴(第一轴(例如,x)和第二轴(例如,y))上的两个自由度,其允许该设备指定平面中的位置。在一些情况下,如果处理系统1600是包括触摸屏幕的装置的一部分,则输入设备1614和光标控件可以是触摸屏幕。
在一些实施例中,处理器系统1600可以用于执行本文所述的各种功能。根据一些实施例,这种使用是由处理器系统1600响应于处理器1604执行包含在主存储器1606中的一个或多个指令的一个或多个序列而提供的。本领域技术人员将知道如何基于本文描述的功能和方法准备这样的指令。这样的指令可以从例如存储设备1610之类的另一处理器可读介质被读入主存储器1606。对主存储器1606中包含的指令序列的执行致使处理器1604执行本文所述的处理步骤。也可以采用多处理布置中的一个或多个处理器来执行包含在主存储器1606中的指令序列。在替代实施例中,可以使用硬连线电路代替软件指令或与软件指令结合来实现本文描述的各种实施例。因此,实施例不限于硬件电路和软件的任何特定组合。
本文使用的术语“处理器可读介质”是指参与向处理器1604提供指令以供执行的任何介质。这种介质可以采取多种形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如光盘、固态或磁盘,例如存储设备1610。非易失性介质可以被认为是非暂时性介质的示例。易失性介质包括动态存储器,例如主存储器1606。易失性介质可以被认为是非暂时性介质的示例。传输介质包括同轴电缆、铜线和光纤,包括构成总线1602的导线。传输介质还可以采用声波或光波的形式,例如在无线电波和红外数据通信期间生成的那些。
处理器可读介质的常见形式包括例如软盘、硬盘、磁带或任何其他磁性介质、CD-ROM、任何其他光学介质、具有孔图案的任何其他物理介质、RAM、PROM和EPROM、FLASH-EPROM、固态盘、任何其他存储芯片或盒、下文所述的载波、或处理器可以从中读取的任何其他介质。
各种形式的处理器可读介质可以涉及将一个或多个指令的一个或多个序列承载给处理器1604以供执行。例如,这些指令最初可以被承载在远程计算机的磁盘或固态盘上。远程计算机可以将指令加载到其动态存储器中,并通过网络(例如互联网)发送指令。处理系统1600可以在网络线路上接收数据。总线1602将数据承载给主存储器1606,处理器1604从主存储器1606检索并执行指令。主存储器1606接收的指令可以可选地在处理器1604执行之前或之后存储在存储设备1610上。
处理系统1600还包括耦合到总线1602的通信接口1618。通信接口1618提供耦合到连接到本地网络1622的网络链路1620的双向数据通信。例如,通信接口1618可以是局域网(LAN)卡,以提供到兼容LAN的数据通信连接。也可以实现无线链路。在任何这样的实施方式中,通信接口1618发送和接收承载表示各种类型信息的数据流的电、电磁或光信号。
网络链接1620通常通过一个或多个网络向其他设备提供数据通信。例如,网络链路1620可以通过本地网络1622提供与主机1624或设备1626的连接。通过网络链路1620传输的数据流可以包括电、电磁或光信号。通过各种网络的信号和网络链路1620上的信号和通过通信接口1618的信号,它们携带去往和来自处理系统1600的数据,是传送信息的载波的示例性形式。处理系统1600可以通过网络、网络链路1620和通信接口1618发送消息和接收数据,包括程序代码。
应当注意,如在本说明书中使用的术语“图像”可以指被显示的图像,和/或非显示形式的图像(例如,存储在介质中或正在处理中的图像)。
此外,如在本说明书中所使用的,术语虚拟内容的“动作”不限于正在移动的虚拟内容,并且可以指能够移动的静止的虚拟内容(例如,可以或正在被用户使用指针“拖动”的虚拟内容),或者可以指代可以在其上执行动作或通过其执行动作的任何虚拟内容。
本文描述了各种示例性实施例。以非限制性的方式参考这些示例。提供它们是为了示出要求保护的发明的更广泛适用的方面。在不背离所要求保护的发明的真实精神和范围的情况下,可以对所描述的实施例进行各种改变并且可以替换等效物。此外,可以进行许多修改以使特定情况、材料、物质组成、过程、过程动作或步骤适应本发明的目标、精神或范围。此外,如本领域技术人员将理解的,在不背离要求保护的发明的范围或精神的情况下,本文描述和示出的每个单独的变体具有离散的组件和特征,它们可以容易地与其他几个实施例的任何一个的特征分开或组合。所有这些修改都旨在落入与本公开相关联的权利要求的范围内。
本文所描述的实施例包括可以使用主题设备执行的方法。该方法可以包括提供这种合适的设备的动作。这种提供可以由终端用户执行。换言之,“提供”动作仅需要终端用户获取、访问、接近、定位、建立、激活、加电或以其他方式动作以提供主题方法中的必要设备。本文列举的方法可以以逻辑上可能的所列举事件的任何顺序以及以所列举的事件顺序来执行。
在不使用此类排他性术语的情况下,与本公开相关联的权利要求中的术语“包括”应允许包括任何附加元素——无论在此类权利要求中是否列举了给定数量的元素,或特征的添加可以被认为是改变了这些权利要求中提出的元素的性质。除本文特别定义外,本文使用的所有技术和科学术语都应尽可能广泛地赋予普遍理解的含义,同时保持权利要求的有效性。
本公开的示例性方面以及关于材料选择和制造的细节已经在上面阐述。至于本公开的其他细节,这些可以结合以上引用的专利和出版物以及本领域技术人员通常已知或理解的来理解。对于本公开的基于方法的方面,就如通常或逻辑上采用的附加动作而言,这同样适用。
此外,虽然本公开已经参考可选地结合各种特征的几个示例进行了描述,但是本公开不限于关于本公开的每个变体所描述或指示的内容。在不背离本公开的真实精神和范围的情况下,可以对所描述的公开进行各种改变并且可以替换等价物(无论是在此列举的还是为了简洁起见未包括在内)。此外,在提供数值范围的情况下,应当理解,在该范围的上限和下限与该规定范围内的任何其他规定或中间值之间的每个中间值都包含在本公开内容内。
此外,预期所描述的本发明变体的任何可选特征可以独立地阐述和要求保护,或者与本文描述的任何一个或多个特征组合。对单数项目的引用包括存在多个相同项目的可能性。更具体地,如本文和与本文相关联的权利要求中使用的,单数形式“一”、“一个”、“所述”和“该”包括复数指示物,除非另有明确说明。还应注意,可以起草任何权利要求以排除任何可选要素。因此,本声明旨在作为在引用权利要求要素或使用“否定”限制时使用“仅”、“只”等排他性术语的先行基础。
此外,如本文所用,提及项目列表中的“至少一个”的短语是指一个项目或项目的任何组合。作为示例,“A、B或C中的至少一个”旨在涵盖:A,B,C,A和B,A和C,B和C,以及A、B和C。例如“X、Y和Z中的至少一个”的连词语言,除非另有明确说明,否则应与上下文一起理解为一般用于传达:项目、条款等可以是X、Y或Z中的至少一个。因此,这种连词语言通常不旨在暗示某些实施例需要X中的至少一个、Y中的至少一个和Z中的至少一个各自存在。
本公开的广度不限于所提供的示例和/或主题说明书,而是仅受限于与本公开相关联的权利要求语言的范围。
在前述说明书中,已经参考其具体实施例描述了本公开。然而,显然可以对其进行各种修改和改变而不背离本公开的更广泛的精神和范围。例如,上述过程流程是参考过程动作的特定顺序来描述的。然而,可以改变许多所描述的过程动作的顺序而不影响本公开的范围或操作。因此,说明书和附图被认为是说明性的而不是限制性的。

Claims (116)

1.一种用于提供虚拟或增强现实体验的装置,包括:
屏幕,其中,所述屏幕是至少部分透明的,用于允许所述装置的用户观看所述用户周围环境中的对象;
表面检测器,其被配置为检测所述对象的表面;
对象标识符,其被配置为获得所述对象的所述表面的取向和/或高程,以及基于所述对象的所述表面的所述取向和/或所述高程,做出针对所述对象的标识;以及
图形生成器,其被配置为生成指示用于由所述屏幕显示的所述对象的所述标识的标识符,其中,所述屏幕被配置为显示所述标识符。
2.根据权利要求1所述的装置,其中,所述对象标识符被配置为,如果所述对象的所述表面的所述取向基本上是垂直的,并且如果所述对象的所述表面的所述高程高于高程阈值,则将所述对象标识为墙。
3.根据权利要求1所述的装置,其中,所述对象标识符被配置为,如果所述对象的所述表面的所述取向基本上是水平的,并且如果所述对象的所述表面的所述高程低于高程阈值,则将所述对象标识为地板。
4.根据权利要求1所述的装置,其中,所述对象被配置为,如果所述对象的所述表面的所述取向基本上是水平的,并且如果所述对象的所述表面的所述高程高于第一高程阈值并且低于第二高程阈值,则将所述对象标识为家具。
5.根据权利要求1所述的装置,其中,所述屏幕被配置为在所述屏幕中的位置处显示所述标识符,使得当所述用户通过所述屏幕观看所述环境中的所述对象时,所述标识符将处于相对于所述对象的空间关系中。
6.根据权利要求1所述的装置,其中,所述对象标识符被配置为获得指示对要被确定的对象的所述标识的所述对象的选择的输入。
7.根据权利要求6所述的装置,其中,所述输入包括经由控制器组件生成的用户输入,所述用户输入指示所述对象的所述选择。
8.根据权利要求7所述的装置,其中,所述用户输入指示所述屏幕中的光标位置,以及其中,所述对象标识符被配置为基于所述光标位置来确定正在选择的所述环境中的所述对象。
9.根据权利要求7所述的装置,其中,所述用户输入指示所述控制器组件的取向,以及其中,所述对象标识符被配置为基于由所述控制器组件指向所述环境中的所述对象的方向来确定正在选择的所述环境中的所述对象。
10.根据权利要求1所述的装置,还包括:相机,其中,所述对象标识符被配置为基于由所述相机提供的相机图像中的所述对象的图像的存在来选择用于标识的所述对象。
11.根据权利要求10所述的装置,其中,所述对象标识符被配置为自动选择所述对象。
12.根据权利要求10所述的装置,其中,所述对象标识符被配置为响应于所述对象在包括所述相机图像的一系列相机图像中存在超过时间阈值的持续时间内来选择所述对象。
13.根据权利要求1所述的装置,还包括:空间定义器,其被配置为定义虚拟空间。
14.根据权利要求13所述的装置,其中,所述空间定义器被配置为定义用于所述虚拟空间的虚拟墙。
15.根据权利要求14所述的装置,其中,所述虚拟墙从所述用户周围环境中的真实物理墙偏移。
16.根据权利要求14所述的装置,其中,所述虚拟墙与所述用户周围环境中的真实物理墙对齐或相交。
17.根据权利要求14所述的装置,其中,所述屏幕被配置为在所述屏幕中的位置处显示墙标识符,使得当所述用户观看所述虚拟墙时,所述墙标识符将处于相对于所述虚拟墙的空间关系中。
18.根据权利要求13所述的装置,其中,所述空间定义器被配置为定义用于所述虚拟空间的多个虚拟墙;以及
其中,所述屏幕被配置为显示用于所述相应虚拟墙的墙标识符。
19.根据权利要求13所述的装置,其中,所述空间定义器被配置为定义用于所述虚拟空间的角。
20.根据权利要求13所述的装置,其中,所述空间定义器被配置为定义用于所述虚拟空间的墙边缘。
21.根据权利要求13所述的装置,其中,所述空间定义器被配置为获得经由控制器组件生成的用户输入,所述用户输入指示对所述环境中的用于定义所述虚拟空间的至少一部分的特征的选择。
22.根据权利要求21所述的装置,其中,所述环境中的所述特征包括墙、墙角、边缘或前述的任何组合。
23.根据权利要求21所述的装置,其中,所述用户输入指示所述屏幕中的光标位置。
24.根据权利要求21所述的装置,其中,所述用户输入指示所述控制器组件的取向,以及其中,所述环境中的所述特征的所述选择基于由所述控制器组件指向所述环境中的所述特征的方向。
25.根据权利要求13所述的装置,还包括相机,其中所述装置被配置为,基于所述特征的图像在由所述相机提供的相机图像中的存在,选择所述环境中的特征,用于定义所述虚拟空间的至少一部分。
26.根据权利要求25所述的装置,其中,所述装置被配置为自动选择所述环境中的所述特征。
27.根据权利要求25所述的装置,其中,所述装置被配置为响应于所述特征在所述相机图像的一系列相机图像中存在包括在超过时间阈值的持续时间内来选择所述特征。
28.根据权利要求1所述的装置,其中,所述屏幕被配置为基于控制器组件的取向显示指针,以及其中,所述装置还包括指针配置器,其中,所述指针配置器被配置为调整所述屏幕中显示的所述指针的配置,和/或呈现与所述指针相关联的交互图形。
29.根据权利要求28所述的装置,其中,所述指针配置器被配置为,响应于所述指针与虚拟对象之间的交互,来调整所述指针的配置和/或呈现所述交互图形。
30.根据权利要求1所述的装置,其中,所述图形生成器还被配置为提供虚拟内容用于由所述用户和附加用户交互,以及其中,所述屏幕被配置为显示所述虚拟内容。
31.根据权利要求30所述的装置,其中,所述装置被配置为将所述用户和所述附加用户连接到相同的虚拟空间,使得所述用户和所述附加用户能够在所述相同的虚拟空间处与所述虚拟内容进行交互。
32.根据权利要求30所述的装置,其中,所述图形生成器被配置为提供所述虚拟内容用于在不同的相应房间中的所述用户和所述附加用户的交互。
33.根据权利要求30所述的装置,其中,所述图形生成器被配置为提供所述虚拟内容用于在相同的房间中的所述用户和所述附加用户的交互。
34.根据权利要求30所述的装置,其中,所述装置被配置为将所述用户和所述附加用户注册到所述环境,使得所述用户和所述附加用户能够在他们在所述环境中时与所述虚拟内容进行交互。
35.根据权利要求34所述的装置,其中,所述装置被配置为,通过确定与所述用户的位置和所述附加用户的位置相关联的一个或多个锚点,来将所述用户和所述附加用户注册到所述环境。
36.一种由被配置为提供虚拟或增强现实体验的装置执行的方法,所述方法包括:
通过表面检测器,检测所述装置的用户周围环境中的对象的表面;
通过对象标识符,获得所述对象的所述表面的取向和/或高程;
通过所述对象标识符,基于所述对象的所述表面的所述取向和/或所述高程,来标识所述对象;以及
通过图形生成器,生成用于由屏幕显示的用于所标识的对象的标识符,其中,所述屏幕是至少部分透明的,用于允许所述装置的用户观看所述用户周围环境中的对象。
37.根据权利要求36所述的方法,其中,如果所述对象的所述表面的所述取向基本上是垂直的,并且如果所述对象的所述表面的所述高程高于高程阈值,则所述对象被标识为墙。
38.根据权利要求36所述的方法,其中,如果所述对象的所述表面的所述取向基本上是水平的,并且如果所述对象的所述表面的所述高程低于高程阈值,则所述对象被标识为地板。
39.根据权利要求36所述的方法,其中,如果所述对象的所述表面的所述取向基本上是水平的,并且如果所述对象的所述表面的所述高程高于第一高程阈值并且低于第二高程阈值,则所述对象被标识为家具。
40.根据权利要求36所述的方法,其中,所述标识符被显示在所述屏幕中的位置处,使得当所述用户通过所述屏幕观看所述环境中的所述对象时,所述标识符将处于相对于所述对象的空间关系中。
41.根据权利要求36所述的方法,还包括获得指示对要确定的所述对象的所述标识的对象的选择的输入。
42.根据权利要求41所述的方法,其中,所述输入包括经由控制器组件生成的用户输入,所述用户输入指示所述对象的所述选择。
43.根据权利要求42所述的方法,其中,所述用户输入指示所述屏幕中的光标位置,以及其中,所述方法还包括基于所述光标位置来确定正在选择的所述环境中的所述对象。
44.根据权利要求42所述的方法,其中,所述用户输入指示所述控制器组件的取向,以及其中,所述方法还包括基于由所述控制器组件指向所述环境中的所述对象的方向来确定正在选择的所述环境中的所述对象。
45.根据权利要求36所述的方法,还包括:基于由所述装置的相机提供的相机对象中所述对象的图像的存在来选择用于标识的所述对象。
46.根据权利要求45所述的方法,其中,自动选择对象用于标识。
47.根据权利要求45所述的方法,其中,响应于所述对象在包括所述相机图像的一系列相机图像中存在超过时间阈值的持续时间内来选择所述对象。
48.根据权利要求36所述的方法,还包括定义虚拟空间。
49.根据权利要求48所述的方法,其中,定义所述虚拟空间的动作包括定义用于所述虚拟空间的虚拟墙。
50.根据权利要求49所述的方法,其中,所述虚拟墙从所述用户周围环境中的真实物理墙偏移。
51.根据权利要求49所述的方法,其中,所述虚拟墙与所述用户周围环境中的真实物理墙对齐或相交。
52.根据权利要求49所述的方法,还包括:通过所述屏幕在所述屏幕中的位置处显示墙标识符,使得当所述用户观看所述虚拟墙时,所述墙标识符将处于相对于所述虚拟墙的空间关系中。
53.根据权利要求48所述的方法,其中,定义所述虚拟空间的动作包括定义用于所述虚拟空间的多个虚拟墙;以及
其中,所述方法还包括通过所述屏幕显示用于所述相应虚拟墙的墙标识符。
54.根据权利要求48所述的方法,其中,定义所述虚拟空间的动作包括定义用于所述虚拟空间的角。
55.根据权利要求48所述的方法,其中,定义所述虚拟空间的动作包括定义用于所述虚拟空间的墙边缘。
56.根据权利要求48所述的方法,还包括:获得经由控制器组件生成的用户输入,所述用户输入指示对所述环境中的用于定义所述虚拟空间的至少一部分的特征的选择。
57.根据权利要求56所述的方法,其中,所述环境中的所述特征包括墙、墙角、边缘或前述的任何组合。
58.根据权利要求56所述的方法,其中,所述用户输入指示所述屏幕中的光标位置。
59.根据权利要求56所述的方法,其中,所述用户输入指示所述控制器组件的取向,以及其中,所述环境中的所述特征的所述选择基于由所述控制器组件指向所述环境中的所述特征的方向。
60.根据权利要求48所述的方法,还包括:选择所述环境中的用于定义所述虚拟空间的至少一部分的特征,其中,所述选择的动作是基于由所述装置的相机提供的相机图像中所述特征的图像的存在来执行的。
61.根据权利要求60所述的方法,其中,自动选择所述环境中的所述特征。
62.根据权利要求60所述的方法,其中,响应于所述特征存在于在包括所述相机图像的一系列相机图像中存在超过时间阈值的持续时间内来选择所述特征。
63.根据权利要求36所述的方法,还包括:通过所述屏幕,基于控制器组件的取向显示指针,以及其中,所述方法还包括:调整所述屏幕中显示的所述指针的配置,和/或呈现与所述指针相关联的交互图形。
64.根据权利要求63所述的方法,其中,调整所述指针的配置的动作和/或呈现所述交互图形的动作是响应于所述指针与虚拟对象之间的交互来执行的。
65.根据权利要求36所述的方法,还包括:提供虚拟内容用于由所述用户和附加用户交互。
66.根据权利要求65所述的方法,还包括:将所述用户和所述附加用户连接到相同的虚拟空间,使得所述用户和所述附加用户能够在所述相同的虚拟空间处与所述虚拟内容进行交互。
67.根据权利要求65所述的方法,其中,所述虚拟内容被提供用于在不同的相应房间中的所述用户和所述附加用户的交互。
68.根据权利要求65所述的方法,其中,所述虚拟内容被提供用于相同的房间中的所述用户和所述附加用户的交互。
69.根据权利要求65所述的方法,还包括:将所述用户和所述附加用户注册到所述环境,使得所述用户和所述附加用户能够在他们在所述环境中时与所述虚拟内容进行交互。
70.根据权利要求69所述的方法,其中,将所述用户和所述附加用户注册到所述环境的动作包括确定与所述用户的位置和所述附加用户的位置相关联的一个或多个锚点。
71.一种存储一组指令的处理器可读非暂态介质,处理单元对其的执行将使得方法被执行,所述处理单元是被配置为提供虚拟或增强现实体验的装置的一部分,所述方法包括:
通过表面检测器,检测所述装置的用户周围环境中的对象的表面;
通过对象标识符,获得所述对象的所述表面的取向和/或高程;
通过所述对象标识符,基于所述对象的所述表面的所述取向和/或所述高程,来标识所述对象;以及
通过图形生成器,生成用于所标识的对象的标识符用于由屏幕显示,其中,所述屏幕是至少部分透明的,用于允许所述装置的用户观看所述用户周围环境中的对象。
72.一种用于提供增强现实体验的装置,包括:
屏幕,其中,所述屏幕是至少部分透明的,用于允许所述装置的用户观看所述用户周围环境中的对象;
空间定义器,其被配置为获得输入,并且基于所述输入而定义虚拟空间,其中,所述空间定义器被配置为在所述屏幕由用户穿戴时获得所述输入;以及
图形生成器,其被配置为提供用于由所述屏幕显示的虚拟内容,其中,所述屏幕被配置为在所述虚拟空间中显示所述虚拟内容。
73.根据权利要求72所述的装置,其中,所述空间定义器被配置为定义用于所述虚拟空间的虚拟墙。
74.根据权利要求73所述的装置,其中,所述虚拟墙从所述用户周围环境中的真实物理墙偏移。
75.根据权利要求74所述的装置,其中,所述虚拟墙与所述用户周围环境中的真实物理墙对齐或相交。
76.根据权利要求73所述的装置,其中,所述屏幕被配置为在所述屏幕中的位置处显示墙标识符,使得当所述用户观看所述虚拟墙时,所述墙标识符将处于相对于所述虚拟墙的空间关系中。
77.根据权利要求72所述的装置,其中,所述空间定义器被配置为定义用于所述虚拟空间的多个虚拟墙;以及
其中,所述屏幕被配置为显示用于所述相应虚拟墙的墙标识符。
78.根据权利要求72所述的装置,其中,所述空间定义器被配置为定义用于所述虚拟空间的角。
79.根据权利要求72所述的装置,其中,所述空间定义器被配置为定义用于所述虚拟空间的墙边缘。
80.根据权利要求72所述的装置,其中,所述空间定义器被配置为获得经由控制器组件生成的用户输入,所述用户输入指示对所述环境中的用于定义所述虚拟空间的至少一部分的特征的选择。
81.根据权利要求80所述的装置,其中,所述环境中的所述特征包括墙、墙角、边缘或前述的任何组合。
82.根据权利要求80所述的装置,其中,所述用户输入指示所述屏幕中的光标位置。
83.根据权利要求80所述的装置,其中,所述用户输入指示所述控制器组件的取向,以及其中,所述环境中的所述特征的所述选择基于由所述控制器组件指向所述环境中的所述特征的方向。
84.根据权利要求72所述的装置,还包括相机,其中所述装置被配置为,基于所述特征的图像在由所述相机提供的相机图像中的存在,选择所述环境中的特征,用于定义所述虚拟空间的至少一部分,其中,所述相机图像是由所述空间定义器获得的输入。
85.根据权利要求84所述的装置,其中,所述装置被配置为自动选择所述环境中的所述特征。
86.根据权利要求84所述的装置,其中,所述装置被配置为响应于所述特征在包括所述相机图像的一系列相机图像中存在超过时间阈值的持续时间内来选择所述特征。
87.根据权利要求72所述的装置,其中,所述虚拟内容还用于由附加用户进行交互。
88.根据权利要求87所述的装置,其中,所述装置被配置为将所述用户和所述附加用户连接到所述虚拟空间,使得所述用户和所述附加用户能够在所述虚拟空间处与所述虚拟内容进行交互。
89.根据权利要求87所述的装置,其中,所述图形生成器被配置为提供所述虚拟内容用于在不同的相应房间中的所述用户和所述附加用户的交互。
90.根据权利要求87所述的装置,其中,所述图形生成器被配置为提供所述虚拟内容用于在相同的房间中的所述用户和所述附加用户的交互。
91.根据权利要求87所述的装置,其中,所述装置被配置为将所述用户和所述附加用户注册到所述环境,使得所述用户和所述附加用户能够在他们在所述环境中时与所述虚拟内容进行交互。
92.根据权利要求91所述的装置,其中,所述装置被配置为,通过确定与所述用户的位置和所述附加用户的位置相关联的一个或多个锚点,来将所述用户和所述附加用户注册到所述环境。
93.根据权利要求72所述的装置,其中,所述图形生成器被配置为响应于由所述用户对区域的注视或观看已经通过某个时间阈值而提供所述虚拟内容。
94.一种由被配置为提供虚拟或增强现实体验的装置执行的方法,所述装置包括屏幕,所述方法包括:
通过空间定义器,获得输入,其中,所述空间定义器被配置为在所述屏幕由用户穿戴时获得所述输入;
通过所述空间定义器,基于所述输入,定义虚拟空间;
通过图形生成器,提供用于由屏幕显示的虚拟内容;以及
通过所述屏幕显示所述虚拟空间中的所述虚拟内容,其中,所述屏幕是至少部分透明的,用于允许所述装置的用户观看所述用户周围环境中的对象。
95.根据权利要求94所述的方法,其中,定义所述虚拟空间的动作包括定义用于所述虚拟空间的虚拟墙。
96.根据权利要求95所述的方法,其中,所述虚拟墙从所述用户周围环境中的真实物理墙偏移。
97.根据权利要求96所述的方法,其中,所述虚拟墙与所述用户周围环境中的真实物理墙对齐或相交。
98.根据权利要求95所述的方法,还包括:通过所述屏幕在所述屏幕中的位置处显示墙标识符,使得当所述用户观看所述虚拟墙时,所述墙标识符将处于相对于所述虚拟墙的空间关系中。
99.根据权利要求94所述的方法,其中,定义所述虚拟空间的动作包括定义用于所述虚拟空间的多个虚拟墙;以及
其中,所述方法还包括通过所述屏幕显示用于所述相应虚拟墙的墙标识符。
100.根据权利要求94所述的方法,其中,定义所述虚拟空间的动作包括定义用于所述虚拟空间的角。
101.根据权利要求94所述的方法,其中,定义所述虚拟空间的动作包括定义用于所述虚拟空间的墙边缘。
102.根据权利要求94所述的方法,还包括:获得经由控制器组件生成的用户输入,所述用户输入指示对所述环境中的用于定义所述虚拟空间的至少一部分的特征的选择。
103.根据权利要求102所述的方法,其中,所述环境中的所述特征包括墙、墙角、边缘或前述的任何组合。
104.根据权利要求102所述的方法,其中,所述用户输入指示所述屏幕中的光标位置。
105.根据权利要求102所述的方法,其中,所述用户输入指示所述控制器组件的取向,以及其中,所述环境中的所述特征的所述选择基于由所述控制器组件指向所述环境中的所述特征的方向。
106.根据权利要求94所述的方法,还包括:基于所述特征的图像在由相机提供的相机图像中的存在,选择所述环境中的特征,用于定义所述虚拟空间的至少一部分,其中,所述相机图像是由所述空间定义器获得的输入。
107.根据权利要求106所述的方法,其中,所述环境中的所述特征是自动选择的。
108.根据权利要求106所述的方法,其中,响应于所述特征在包括在所述相机图像的一系列相机图像中存在超过时间阈值的持续时间内来选择所述环境中的所述特征。
109.根据权利要求94所述的方法,其中,所述虚拟内容还用于由附加用户进行交互。
110.根据权利要求109所述的方法,还包括:将所述用户和所述附加用户连接到所述虚拟空间,使得所述用户和所述附加用户能够在所述虚拟空间处与所述虚拟内容进行交互。
111.根据权利要求109所述的方法,其中,所述虚拟内容被提供用于不同的相应房间中的所述用户和所述附加用户的交互。
112.根据权利要求109所述的方法,其中,所述虚拟内容被提供用于在相同的房间中的所述用户和所述附加用户的交互。
113.根据权利要求109所述的方法,还包括:将所述用户和所述附加用户注册到所述环境,使得所述用户和所述附加用户能够在他们在所述环境中时与所述虚拟内容进行交互。
114.根据权利要求113所述的方法,其中,将所述用户和所述附加用户注册到所述环境的动作包括确定与所述用户的位置和所述附加用户的位置相关联的一个或多个锚点。
115.根据权利要求94所述的方法,其中,所述虚拟内容是响应于由所述用户对区域的注视或观看已经通过某个时间阈值而提供的。
116.一种存储一组指令的处理器可读非暂态介质,处理单元对其的执行将使得方法被执行,所述处理单元是被配置为提供虚拟或增强现实体验的装置的一部分,所述装置包括屏幕,所述方法包括:
通过空间定义器来获得输入,其中,所述空间定义器被配置为在所述屏幕由用户穿戴时获得所述输入;
通过所述空间定义器,基于所述输入来定义虚拟空间;
通过图形生成器,提供用于由屏幕显示的虚拟内容;以及
通过所述屏幕,显示所述虚拟空间中的所述虚拟内容,其中,所述屏幕是至少部分透明的,用于允许所述装置的用户观看所述用户周围环境中的对象。
CN202180024039.5A 2020-03-24 2021-03-24 用于虚拟和增强现实的系统和方法 Pending CN115335894A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062994159P 2020-03-24 2020-03-24
US62/994,159 2020-03-24
PCT/US2021/023961 WO2021195266A1 (en) 2020-03-24 2021-03-24 Systems and methods for virtual and augmented reality

Publications (1)

Publication Number Publication Date
CN115335894A true CN115335894A (zh) 2022-11-11

Family

ID=77857509

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180024039.5A Pending CN115335894A (zh) 2020-03-24 2021-03-24 用于虚拟和增强现实的系统和方法

Country Status (5)

Country Link
US (1) US12112574B2 (zh)
EP (1) EP4128207A4 (zh)
JP (1) JP7560568B2 (zh)
CN (1) CN115335894A (zh)
WO (1) WO2021195266A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11132827B2 (en) 2019-09-19 2021-09-28 Facebook Technologies, Llc Artificial reality system architecture for concurrent application execution and collaborative 3D scene rendering
CN112684604A (zh) * 2019-10-18 2021-04-20 宏达国际电子股份有限公司 头戴式显示装置及调整方法
US20240056688A1 (en) * 2020-12-10 2024-02-15 3M Innovative Properties Company Thermal Imaging System Having View-Shifting Capability
US20220375110A1 (en) * 2021-05-18 2022-11-24 Snap Inc. Augmented reality guided depth estimation
US12096112B2 (en) 2021-07-29 2024-09-17 Meta Platforms Technologies, Llc User interface to select field of view of a camera in a smart glass
US12008806B2 (en) 2021-08-19 2024-06-11 Meta Platforms Technologies, Llc Methods and systems to allow three-dimensional map sharing between heterogeneous computing systems, cross-localization, and sharing content in three-dimensional space
US20230186570A1 (en) * 2021-12-10 2023-06-15 Meta Platforms Technologies, Llc Methods and systems to allow three-dimensional maps sharing and updating
US11768581B1 (en) * 2022-12-13 2023-09-26 Illuscio, Inc. Systems and methods for multi-modality interactions in a spatial computing environment
DE102023105342A1 (de) 2023-03-03 2024-09-05 Syncreality GmbH Scannen eines Raumes für VR/AR-Erlebnisse
US12039431B1 (en) * 2023-09-27 2024-07-16 OpenAI Opco, LLC Systems and methods for interacting with a multimodal machine learning model

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130083003A1 (en) * 2011-09-30 2013-04-04 Kathryn Stone Perez Personal audio/visual system
US9041739B2 (en) * 2012-01-31 2015-05-26 Microsoft Technology Licensing, Llc Matching physical locations for shared virtual experience
US9293118B2 (en) * 2012-03-30 2016-03-22 Sony Corporation Client device
WO2014009561A2 (en) 2012-07-13 2014-01-16 Softkinetic Software Method and system for human-to-computer gesture based simultaneous interactions using singular points of interest on a hand
US9349218B2 (en) * 2012-07-26 2016-05-24 Qualcomm Incorporated Method and apparatus for controlling augmented reality
US9245388B2 (en) * 2013-05-13 2016-01-26 Microsoft Technology Licensing, Llc Interactions of virtual objects with surfaces
US9870058B2 (en) * 2014-04-23 2018-01-16 Sony Corporation Control of a real world object user interface
US10317989B2 (en) 2016-03-13 2019-06-11 Logitech Europe S.A. Transition between virtual and augmented reality
US11024088B2 (en) 2016-05-27 2021-06-01 HoloBuilder, Inc. Augmented and virtual reality
US10078377B2 (en) 2016-06-09 2018-09-18 Microsoft Technology Licensing, Llc Six DOF mixed reality input by fusing inertial handheld controller with hand tracking
EP3365874B1 (en) * 2016-06-10 2022-03-16 DIRTT Environmental Solutions, Ltd. Mixed-reality and cad architectural design environment
US20180095542A1 (en) 2016-09-30 2018-04-05 Sony Interactive Entertainment Inc. Object Holder for Virtual Reality Interaction
WO2018164287A1 (ko) 2017-03-06 2018-09-13 라인 가부시키가이샤 증강현실 제공 방법, 장치 및 컴퓨터 프로그램
US11417091B2 (en) 2017-05-30 2022-08-16 Ptc Inc. Use of coordinated local user devices during a shared augmented reality session
JP6933727B2 (ja) 2017-12-19 2021-09-08 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置、画像処理方法、およびプログラム
WO2019226691A1 (en) 2018-05-22 2019-11-28 Magic Leap, Inc. Transmodal input fusion for a wearable system
US11030813B2 (en) 2018-08-30 2021-06-08 Snap Inc. Video clip object tracking
US10937247B1 (en) * 2019-03-11 2021-03-02 Amazon Technologies, Inc. Three-dimensional room model generation using ring paths and photogrammetry
US11017611B1 (en) * 2020-01-27 2021-05-25 Amazon Technologies, Inc. Generation and modification of rooms in virtual reality environments

Also Published As

Publication number Publication date
JP7560568B2 (ja) 2024-10-02
US20210304509A1 (en) 2021-09-30
JP2023520765A (ja) 2023-05-19
EP4128207A1 (en) 2023-02-08
US12112574B2 (en) 2024-10-08
EP4128207A4 (en) 2023-12-27
WO2021195266A1 (en) 2021-09-30

Similar Documents

Publication Publication Date Title
JP7560568B2 (ja) 仮想および拡張現実のためのシステムおよび方法
EP3172644B1 (en) Multi-user gaze projection using head mounted display devices
TWI567659B (zh) 照片表示視圖的基於主題的增強
US10373392B2 (en) Transitioning views of a virtual model
EP3137982B1 (en) Transitions between body-locked and world-locked augmented reality
US9886102B2 (en) Three dimensional display system and use
US20160163063A1 (en) Mixed-reality visualization and method
EP3106963B1 (en) Mediated reality
CN103793060A (zh) 一种用户交互系统和方法
US20210287382A1 (en) Systems and methods for multi-user virtual and augmented reality
US12026351B2 (en) 3D models for displayed 2D elements
CN110313021B (zh) 增强现实提供方法、装置以及计算机可读记录介质
RU2695053C1 (ru) Способ и устройство для управления трехмерными объектами в виртуальном пространстве
Nivedha et al. Enhancing user experience through physical interaction in handheld augmented reality
Hamadouche Augmented reality X-ray vision on optical see-through head mounted displays
Vikström Augmented Reality User Interfaces in Home User Applications

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