[go: up one dir, main page]

CN106716303B - 稳定交互射线的运动 - Google Patents

稳定交互射线的运动 Download PDF

Info

Publication number
CN106716303B
CN106716303B CN201580049109.7A CN201580049109A CN106716303B CN 106716303 B CN106716303 B CN 106716303B CN 201580049109 A CN201580049109 A CN 201580049109A CN 106716303 B CN106716303 B CN 106716303B
Authority
CN
China
Prior art keywords
head
variance
ray
vector
recent times
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.)
Active
Application number
CN201580049109.7A
Other languages
English (en)
Other versions
CN106716303A (zh
Inventor
A·伯恩斯
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106716303A publication Critical patent/CN106716303A/zh
Application granted granted Critical
Publication of CN106716303B publication Critical patent/CN106716303B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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
    • 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/0179Display position adjusting means not related to the information to be displayed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed 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/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • 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
    • G02B2027/0174Head mounted characterised by optical features holographic
    • 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
    • G02B2027/0178Eyeglass type
    • 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/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

公开了用于基于头部旋转中的方差稳定交互射线的技术。一个方面包括监视人的头部的定向,所述监视可包括监视绕该头部的轴的旋转,诸如记录关于绕该头部的轴的旋转的欧拉角。该逻辑基于头部的定向确定三维(3D)射线。该3D射线具有随时间精确跟踪欧拉角的移动。该逻辑生成交互射线,该交互射线在一定程度上跟踪该3D射线。该逻辑确定欧拉角随时间的方差。该逻辑基于欧拉角随时间的方差来在尽管有绕头部的轴的一定旋转的情况下稳定交互射线。稳定的量可与欧拉角的方差成反比。

Description

稳定交互射线的运动
背景
已提议许多技术以允许用户在使用电子设备时指点(point)或选择。例如,用户可控制显示屏上的光标来选择、滚动等。此类光标可通过计算机鼠标、跟踪球、触摸垫等控制。一些设备具有用于用户输入的触摸屏。更近期以来,采用眼睛跟踪或头部跟踪的技术已被提议,以允许用户输入、选择等。
概述
本技术的实施例涉及用于基于头部旋转的角度的方差来稳定交互射线的系统、设备和方法。
一个实施例包括具有传感器和使用该传感器监视人的头部的定向的逻辑的装置。此监视可包括监视绕头部的轴的旋转,诸如记录关于绕头部的轴的旋转的欧拉角。所述逻辑基于头部的定向确定三维(3D)射线。3D射线具有随时间精确跟踪欧拉角的运动。所述逻辑生成交互射线,所述交互射线在一定程度上跟踪所述3D射线。所述逻辑确定欧拉角随时间的方差。所述逻辑基于欧拉角随时间的方差来在尽管有绕头部的轴的一定旋转的情况下稳定交互射线。稳定的量与欧拉角的方差成反比。所述逻辑确定第二3D射线与3D坐标的碰撞。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识所要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定所要求保护的主题的范围。
附图简述
图1A是可在其中实施控制交互射线的运动的实施例的示例环境。
图1B是人的头部的图,以帮助图示监视俯仰、滚转和偏航的实施例。
图1C是控制交互射线的运动的过程的一个实施例的流程图。
图2是头戴式显示单元的一个实施例的立体图。
图3是头戴式显示单元的一个实施例的一部分的侧视图。
图4是头戴式显示单元的组件的一个实施例的框图。
图5是与头戴式显示单元相关联的处理单元的组件的一个实施例的框图。
图6A示出其中交互射线紧密跟踪3D射线的若干时间点的3D射线和交互射线。
图6B和6C示出其中绕轴的旋转的方差为低且交互射线稳定的示例的3D射线。
图7是用于基于欧拉角的方差确定不稳定因子的一个实施例的流程图。
图8是应用不稳定因子来确定新交互射线的过程的一个实施例的流程图。
图9是其中基于该人的头部的旋转的角度的方差来稳定头部光标的一个实施例的流程图。
图10是其中针对该人的头部的平移的方差提供稳定的一个实施例的流程图。
图11是示出稳定因子的许多组合可被应用于交互射线的流程图。
详细描述
本文公开的实施例提供可被用作选择器或指点器的交互射线。例如,正穿戴头戴式显示器(HMD)的用户可使用交互射线来对HMD中正呈现的元素做出选择。用户可通过其头部的定向来控制交互射线。交互射线可以是源自用户的头部的3D向量。注意,交互射线不必是可见射线。在一个实施例中,交互射线担当一种类型的光标。作为一特定示例,用户可能正在阅读HMD中呈现的报纸文章。交互射线可允许用户选择或指点该文章中的诸如超链接等元素。
用户控制交互射线的位置可能是困难的。然而,本文公开的实施例按照允许精确控制交互射线的方式控制基于用户的头部的定向计算的3D射线的运动。在一个实施例中,在头部运动的方差很低时提供交互射线的高稳定度。这意味着,小的头部移动实际上是稳定的,这提供对交互射线的更精确的控制。然而,在头部运动的方差很高时,提供很少或不提供交互射线的稳定化。例如,如果用户正从左向右移动其头部,则提供很少的交互射线的稳定化。这使得交互射线对头部运动更具响应性,这意味着,交互射线更紧密地跟踪用户的头部的实际定向。
图1A示出用户18正通过使用交互射线66与虚拟图像60交互的示例。用户18正穿戴着HMD 2,该HMD正显示虚拟图像60。从而,图1A中的虚拟图像60的位置旨在表示用户所得到的虚拟图像60位于用户18前方某处的假象。这可被称为HMD 2的视野。在此示例中,虚拟图像60可在用户18移动其头部7和/或眼睛时保持相对固定。从而,用户可容易地将其注意力转移到虚拟图像60中的不同位置,而不引起虚拟图像60移位。虚拟图像60可以包含诸如虚拟报纸(作为一例)等内容。
交互射线66源自用户的头部7处或附近的一点,诸如在此示例中在双眼的中间。交互射线66可以是3D向量。交互射线66不需要被示出在HMD 2中,但这也是一种可能。用户18可移动其头部7以引起交互射线66移动。例如,当用户18将其头部7从右向左移动时,交互射线66跟踪头部7的定向。
交互射线66的一个可能的使用是作为光标。例如,虚拟图像60可具有一些可选择元素62,所述可选择元素可以是指向其它内容的链接。用户18可以通过定位其头部以使得交互射线66指向期望的可选择元素62来选择可选择元素62之一。如所指出的,交互射线66本身不需要被可见地呈现在显示器中。HMD 2可突出显示当前正被交互射线指向的元素62。用户18可按数种方式选择元素62,所述方式诸如语音命令、轻击HMD 2上的按钮或某个物理触点等。
如以上所指出的,交互射线66的挑战之一在于:用户对精确控制交互射线的位置可能有困难。例如,轻微的头部移动可能引起交互射线66的不期望的移动。实施例按照提供对交互射线66的更好的控制的方式来稳定基于用户的头部7的移动来创建的交互射线66。在一个实施例中,交互射线66的稳定与头部旋转的方差成反比。下面将讨论这一点的更多细节。
图1A示出一种可能的基于HMD的坐标系。在一个实施例中,基于HMD的坐标系的原点在用户的头部7的中间附近的某处。原点的另一个位置也是可能的。从而,图1A中描绘的基于HMD的坐标系的原点的位置应被理解为是为了便于图示。原点不限于所描绘的位置。在一个实施例中,基于HMD的坐标系的原点随着用户移动其头部7而移动,以使得基于HMD的坐标系相对于HMD 2的位置保持固定。例如,当用户的头部横向平移时,基于HMD的坐标系的原点可平移相等的量。然而,在一个实施例中,用户的头部绕所述轴之一的旋转不移动基于HMD的坐标系。例如,当用户将其头部从右向左移动(以使得其头部绕z轴旋转)时,可在关于z轴的旋转角方面测量头部相对于基于HMD的坐标系的移动。注意,用户的头部的平移也可被纳入考虑。
在一个实施例中,跟踪一个或多个欧拉角。欧拉角可表示绕坐标系的轴的旋转。例如,这些角度可表示绕x轴旋转角度α、绕y轴旋转角度β,以及绕z轴旋转角度γ。例如,可跟踪俯仰(y轴)、偏航(z轴)和/或滚转(x轴)中的一者或多者。
图1B是人的头部的图,以帮助图示监视俯仰、滚转和偏航的实施例。关于用户的头部7的示例z轴、y轴和x轴。此坐标系具有在该人的头部7中某处的原点。注意,这可以是与来自图1A的基于HMD的坐标系相同的坐标系。
图1B中的y轴粗略对应于该人两耳之间的连线。图1B中的x轴粗略对应于从该人双眼之间的点到穿头部背面而出的连线。图1B中的z轴粗略对应于从头部的中心向上穿过头顶的连线。这些轴是出于一个示例的目的被示出的。
以下是一示例使用场景。用户可能正在静坐,与HMD 2中呈现的水平摊开的菜单交互。因为该人是静止的,所以头部位置的方差可能很低。因此,在一个实施例中,可以稳定精细的平移效果。因为该人可能从左向右看而不是上下看,所以俯仰方面的方差可能非常低。因此,可应用高稳定度,以使得交互射线不会在页面上上下移动。因为该人在沿着列表看时正关于z轴旋转其头部,所以偏航方面的波动可能很高。因此,关于z轴旋转的稳定可能很低,以允许交互射线66紧密跟踪该人头部的此从左到右的移动。然而,如果用户在他们靠近感兴趣的菜单项时放慢其从左向右(偏航)的运动,则方差下降。作为响应,可增加交互射线66的稳定量,从而允许更精确的选择。
因为用户可能不精确地知道其头部方向和定向,所以用户可能难以精确地控制交互射线66。然而,实施例稳定交互射线66,并且因此在细化的运动中提供更高的保真度。
图1C是稳定交互射线66的运动的过程的一个实施例的流程图。该过程可在诸如图1A的环境的环境中实践,但图1A的环境仅是一个示例。在一个实施例中,该过程由HMD 2中的逻辑执行。该逻辑可以是执行处理器可读指令的处理器,诸如专用集成电路(ASIC)、片上系统(SoC)等硬件。从而,该过程可由软件(例如,存储在存储设备上并由处理器执行的指令)、硬件、或软件和硬件的某种组合来执行。
在步骤42中,使用传感器跟踪人的头部的定向。步骤42可包括跟踪绕头部的一个或多个轴的旋转。在一个实施例中,这三个轴是x轴、y轴和z轴。在一个实施例中,跟踪一个或多个欧拉角。欧拉角可表示绕坐标系的轴的旋转。例如,这些角度可表示绕x轴旋转角度α、绕y轴旋转角度β,以及绕z轴旋转角度γ。例如,可跟踪俯仰(y轴)、偏航(z轴)和/或滚转(x轴)中的一者或多者。
在步骤44中,基于头部的实际定向确定第一3D射线。在一个实施例中,此第一3D射线的原点在用户的头部处或在用户的头部附近。例如,原点可在用户的双眼中间。原点可与基于HMD的坐标系的原点相同。此第一3D射线可在用户看的方向上向外延伸。然而,不要求使用眼睛跟踪。而是,在一个实施例中,第一3D射线的方向可完全基于用户的头部的定向确定。
此第一3D射线可以是绕一个或多个轴的旋转的直接结果。例如,绕头部的z轴的旋转可直接导致第一3D向量的第一运动分量。同样,绕头部的y轴的旋转可直接导致第一3D向量的第二运动分量。而且,绕头部的x轴的旋转可直接导致第一3D向量的第三运动分量。
第一3D射线可随时间跟踪欧拉角。注意,这可以是精确或准确跟踪,因为第一3D射线的方向可正确地对应于正被监视的欧拉角。一个、两个或三个欧拉角可被监视。在一个实施例中,第一3D射线正是x轴。在此情况下,第一3D射线的移动取决于俯仰和偏航,但未必取决于滚转。然而,如果需要,滚转分量可被添加到第一3D向量。
第一3D射线可使用HMD 2上的传感器确定。该传感器可包括相机、加速度计等。在一个实施例中,图像数据被分析以确定用户头部位置和从用户的面部直线向外看的面部单位向量两者。可通过定义用户的面部的平面并取垂直于该平面的向量来确定面部单位向量。这一平面可通过确定用户的眼睛、鼻子、嘴、耳朵、或其他面部特征的位置来被标识。
在步骤46,确定绕该人的头部的该一个或多个轴的旋转的方差。在一个实施例中,方差是指在步骤42中指代的欧拉角随时间的方差。注意,方差未必指的是数学术语“方差”的严格定义。然而,一种可能性为:对于方差,当该术语在本文中使用时,指代该数学术语“方差”。从而,在本文中所使用的关于欧拉角、俯仰、滚转、偏航等的方差的术语“方差”包括但不限于数学术语“方差”。
在步骤48,基于第一3D射线生成第二3D射线。此第二3D射线也可被称为交互射线66。生成第二3D射线可包括确定第二3D射线的原点和方向。换言之,可确定一3D向量。第二3D向量的原点可与第一3D向量的原点相同。然而,该方向可不与第一3D向量的方向完全重合。这可有助于稳定交互射线66以允许对交互射线66的更好的用户控制。
注意,交互射线66可跟踪第一3D射线,但这不必是精确跟踪。换言之,交互射线66可在一定程度上跟踪第一3D射线。在一个实施例中,系统基于欧拉角随时间的方差改变交互射线66跟踪第一3D射线的紧密程度。跟踪的紧密度可与欧拉角在近期时间段上的方差成正比。在一个实施例中,系统基于欧拉角随时间的方差来稳定交互射线66。稳定的量可与欧拉角在近期时间段上的方差成反比。以下讨论进一步的细节。
在步骤50中,基于第一3D射线的方差来稳定交互射线66。在一个实施例中,该稳定与欧拉角在近期时间段上的方差成反比。例如,如果用户正缓慢地移动其头部,则这应当导致其头部绕一轴的旋转角度的低方差,该轴可粗略与其脊柱成一直线。对于低方差,高稳定可被应用于交互射线66的运动。这导致交互射线66稳定,尽管第一3D射线有一定的运动。参考图1A的示例,这帮助用户保持交互射线66稳定,尽管有归因于例如呼吸等的小的头部移动。
然而,对于一个实施例,对于欧拉角在近期时间段内的高方差,低稳定或没有稳定将被应用于交互射线的运动。这可导致交互射线66非常紧密地(可能等同地)跟踪第一3D射线。参考图1A的示例,如果用户要将其头部从左向右移动,则交互射线66可不带延迟地移动。这可帮助交互射线66是高度响应性的。
注意,当针对多于一个轴确定方差时,可结合绕每个轴的旋转使用独立的稳定因子。例如,独立的稳定因子可针对上面讨论的第一3D向量的一个、两个或全部三个运动分量确定。
在步骤52,确定第二3D射线(或交互射线)和3D坐标之间的碰撞。在一个实施例中,3D坐标是现实世界坐标。在图1A的示例中,交互射线66被描绘为与可选择元素62之一碰撞。从而,系统可检测交互射线66与其碰撞的图像60的元素62或某个部分。此处,“碰撞”是指以下事实:第二3D射线可被认为占据3D空间中的各个点。图像60的3D坐标可以是图像60看上去所处的3D坐标。注意,混合现实技术在本领域是公知的,并且可以是使图像60看上去在某个现实世界3D坐标处的一种方式。也就是说,在现实中,图像60可物理地存在于HMD 2上。然而,HMD显示器的3D坐标不必是步骤52中所指代的3D坐标。
不要求该3D坐标(或多个3D坐标)与正在HMD 2中呈现的图像60相关联。例如,3D坐标可以是现实世界中的某点。从而,系统可确定交互射线66正指向现实世界中的某个对象。
在各实施例中,用户佩戴包括显示元件的头戴式显示设备。接下来,将讨论示例HMD系统。该显示元件在一定程度上透明,使得用户可透过该显示元件看到该用户的视野(FOV)内的现实世界物体。该显示元件还提供将虚拟图像投影到该用户的FOV中以使得所述虚拟图像也可出现在现实世界物体旁边的能力。在一个实施例中,系统可自动地跟踪用户所看之处,从而该系统可确定将虚拟图像插入到该用户的FOV中的何处。一旦该系统知晓要将该虚拟图像投影至何处,就使用该显示元件投影该图像。在一个实施例中,系统插入虚拟图像,以使得该虚拟图像看上去在现实世界中保持固定在相同位置。例如,当用户移动其头部和/或眼睛来阅读虚拟报纸时,系统可使得看上去虚拟报纸保持在相同位置。
在实施例中,系统构建包括房间或其它环境中的用户、现实世界对象和虚拟三维对象的x、y、z笛卡尔位置的环境的模型。由该环境中的用户佩戴的头戴式显示设备的位置可以被校准到该环境的所述模型。这允许系统确定每个用户的视线以及该环境的FOV。注意,对于房间或其他环境中的用户、现实世界对象和虚拟三维对象的位置,可使用与前面提到的基于HMD的坐标系不同的坐标系。可在坐标系之间进行核实的变换。
用户可以选择与出现在用户的FOV内的虚拟对象中的一者或多者进行交互。交互射线66允许用户指定虚拟对象。各种技术可被用来允许用户选择虚拟对象。用户可使用语言姿势来与虚拟物体交互,所述语言姿势诸如举例而言为被该混合现实系统识别为对该系统执行预定义动作的用户请求的说出的单词或短语。语言姿势可连同身体姿势一起被使用以与混合现实环境中的一个或多个虚拟物体交互。
根据本技术,当多个虚拟对象被显示时,本系统确定用户正聚焦于哪个虚拟对象。这可基于交互射线66。该虚拟对象随后可用于交互,且其它虚拟对象可任选地通过各种方法来削弱。本技术使用各种方案来确定用户焦点。在一个示例中,系统可接收预定义的选择姿势,该预定义的选择姿势指示用户正选择给定虚拟对象。替换地,系统可接收预定义的交互姿势,其中用户通过与给定虚拟对象交互来指示焦点。选择姿势和交互姿势两者均可以是身体的或语言的。
下文描述了标识虚拟对象(诸如向用户呈现内容的虚拟显示板)上的用户焦点的实施例。该内容可以是可被显示在虚拟板上的任何内容,包括例如静态内容(如文本和图片)或动态内容(如视频)。然而,要理解,本技术不限于标识虚拟显示板上的用户焦点,并且可标识用户可与其进行交互的任何虚拟对象上的用户焦点。
如图2中所见,头戴式显示设备2经由线6与其自己的处理单元4通信。在其他实施例中,头戴式显示设备2经由无线通信来与处理单元4进行通信。在一个实施例中为眼镜形状的头戴式显示设备2被佩戴在用户的头上,使得用户可以透过显示器进行观看,并且从而具有该用户前方的空间的实际直接视图。使用术语“实际直接视图”来指代直接用人眼看见现实世界物体的能力,而不是看见物体的被创建的图像表示。例如,透过房间的玻璃看允许用户得到该房间的实际直接视图,而观看电视机上的房间的视频并不是该房间的实际直接视图。下面提供头戴式显示设备2的更多细节。
在一个实施例中,处理单元4是例如佩戴在用户的手腕上或储放在用户的口袋中的小型便携式设备。该处理单元例如可以是蜂窝电话的大小和形状因子,尽管在其他示例中它也可以是其他形状和大小的。处理单元4可包括用于操作头戴式显示设备2的计算能力中的许多能力。在一些实施例中,处理单元4与一个或多个中枢计算系统12无线地(例如,WiFi、蓝牙、红外、或其他无线通信手段)通信。
图2和3示出了头戴式显示设备2的立体图和侧视图。图3示出了头戴式显示设备2的右侧,包括该设备的具有镜腿102和鼻梁104的一部分。在鼻梁104中置入了话筒110用于记录声音以及将音频数据传送给处理单元4,如下所述。在头戴式显示设备2的前方是朝向房间的视频相机112,该视频相机112可以捕捉视频和静止图像。那些图像被传送至处理单元4,如下所述。
头戴式显示设备2的镜架的一部分将围绕显示器(显示器包括一个或多个透镜)。为了示出头戴式显示设备2的组件,未描绘围绕显示器的镜架部分。该显示器包括光导光学元件115、不透明滤光器114、透视透镜116和透视透镜118。在一个实施例中,不透明度滤光器114处于透视透镜116之后并与其对齐,光导光学元件115处于不透明度滤光器114之后并与其对齐,而透视透镜118处于光导光学元件115之后并与其对齐。透视透镜116和118是眼镜中使用的标准镜片,并且可根据任何验光单(包括无验光单)来制作。在一个实施例中,透视透镜116和118可由可变处方透镜取代。在一些实施例中,头戴式显示设备2将包括一个透视透镜或者不包括透视透镜。在另一替代方案中,处方透镜可以进入光导光学元件115内。不透明度滤光器114滤除自然光(要么以每像素为基础,要么均匀地)以增强虚拟图像的对比度。光导光学元件115将人造光引导到眼睛。下面提供不透光滤光器114和光导光学元件115的更多细节。
在镜腿102处或镜腿102内安装有图像源,该图像源(在一个实施例中)包括用于对虚拟图像进行投影的微显示器120、以及用于将图像从微显示器120引导到光导光学元件115中的透镜122。在一个实施例中,透镜122是准直透镜。
控制电路136提供支持头戴式显示设备2的其他组件的各种电子装置。控制电路136的更多细节在下文参照图4提供。处于镜腿102内部或安装到镜腿102的是耳机130、惯性测量单元132、以及温度传感器138。在图4中所示的一个实施例中,惯性测量单元132(或IMU132)包括惯性传感器,诸如三轴磁力计132A、三轴陀螺仪132B以及三轴加速度计132C。惯性测量单元132感测头戴式显示设备2的位置、定向、以及突然加速。惯性测量单元132可感测(例如用户的头部的)俯仰、滚转和偏航。除了磁力计132A、陀螺仪132B和加速度计132C之外或者取代磁力计132A、陀螺仪132B和加速度计132C,IMU 132还可包括其他惯性传感器。
微显示器120通过透镜122来投影图像。存在着可被用于实现微显示器120的不同的图像生成技术。例如,微显示器120可以使用透射投影技术来实现,其中光源由光学活性材料来调制,用白光从背后照亮。这些技术通常使用具有强大背光和高光能量密度的LCD型显示器来实现。微显示器120还可使用反射技术来实现,其中外部光被光学活性材料反射并调制。取决于该技术,照明是由白光源或RGB源来向前点亮的。数字光处理(DLP)、硅上液晶(LCoS)、以及来自Qualcomm有限公司的显示技术是高效的反射技术的示例(因为大多数能量从已调制结构反射离开)并且可被用在本系统中。附加地,微显示器120可以使用发射技术来实现,其中光由该显示器生成。例如,来自Microvision有限公司的PicoPTM显示引擎使用微型镜面舵来将激光信号发射到担当透射元件的小型屏幕上或直接将光束(例如,激光)发射到眼睛。
光导光学元件115将来自微显示器120的光传送到佩戴头戴式显示设备2的用户的眼睛140。光导光学元件115还允许如箭头142所描绘的那样将光从头戴式显示设备2的前方通过光导光学元件115传送到眼睛140,从而除了接收来自微显示器120的虚拟图像之外还允许用户具有头戴式显示设备2的前方的空间的实际直接视图。从而,光导光学元件115的壁是透视的。光导光学元件115包括第一反射表面124(例如镜面或其他表面)。来自微显示器120的光穿过透镜122并入射在反射表面124上。反射表面124反射来自微显示器120的入射光,使得光通过内反射被陷在包括光导光学元件115的平面基底内。在基底的表面上进行若干次反射之后,被陷的光波到达选择性反射表面126的阵列。注意,五个表面中的一个表面被标记为126以防止附图太过拥挤。反射表面126将从基底出射并入射在这些反射表面上的光波耦合进用户的眼睛140。
由于不同光线将以不同角度传播并弹离衬底的内部,因此这些不同的光线将以不同角度击中各个反射面126。因此,不同光线将被所述反射面中的不同反射面从基底反射出。关于哪些光线将被哪个表面126从基底反射出的选择是通过选择表面126的合适角度来设计的。在一个实施例中,每只眼睛将具有其自己的光导光学元件115。当头戴式显示设备2具有两个光导光学元件时,每只眼睛都可以具有其自己的微显示器120,该微显示器120可以在两只眼睛中显示相同图像或者在两只眼睛中显示不同图像。在另一实施例中,可以存在将光反射到两只眼睛中的一个光导光学元件。
与光导光学元件115对齐的不透明滤光器114要么均匀地、要么以每像素为基础来选择性地阻挡自然光,以免其穿过光导光学元件115。然而,一般而言,不透明滤光器114的一实施例可以是透视LCD面板、电致变色膜(electrochromic film)或能够充当不透明滤光器的类似设备。不透明度滤光器114可以包括致密的像素网格,其中每个像素的透光率能够在最小和最大透光率之间被单独地控制。尽管0-100%的透光率范围是理想的,然而更受限的范围也是可接受的,诸如例如每像素约50%到90%,上至LCD的分辨率。
在用代理为现实世界对象进行z-缓冲(z-buffering)之后,可以使用来自渲染流水线的阿尔法值的掩码(mask)。当系统为增强现实显示而呈现场景时,该系统记录哪些现实世界对象处于哪些虚拟对象之前,如同下面解释的。如果虚拟对象处于现实世界对象之前,则不透明度对于该虚拟对象的覆盖区域而言可以是开启的。如果虚拟对象(虚拟地)处于现实世界对象之后,则不透明度以及该像素的任何颜色都可被关闭,使得对于现实光的该相应区域(其大小为一个像素或更多)而言,用户将会看到现实世界对象。覆盖将是以逐像素为基础的,所以该系统可以处置虚拟对象的一部分处于现实世界对象之前、该虚拟对象的一部分处于现实世界对象之后、以及该虚拟对象的一部分与现实世界对象相重合的情况。对这种用途而言,最期望的是能够以低的成本、功率和重量来从0%开始直至100%不透明度的显示器。此外,不透明滤光器可以比如用彩色LCD或用诸如有机LED等其他显示器来以彩色进行呈现,以提供宽FOV。
头戴式显示设备2还包括用于跟踪用户的眼睛的位置的系统。例如,头戴式显示设备2包括眼睛跟踪组件134(图3),该眼睛跟踪组件134具有眼睛跟踪照明设备134A和眼睛跟踪相机134B(图4)。在一个实施例中,眼睛跟踪照明设备134A包括一个或多个红外(IR)发射器,这些红外发射器向眼睛发射IR光。眼睛跟踪相机134B包括一个或多个感测反射的IR光的相机。通过检测角膜的反射的已知成像技术,可以标识出瞳孔的位置。此类技术可以定位眼睛的中心相对于跟踪相机的位置。一般而言,眼睛跟踪涉及获得眼睛的图像并使用计算机视觉技术来确定瞳孔在眼眶内的位置。在一个实施例中,跟踪一只眼睛的位置就足够了,因为双眼通常一致地移动。然而,单独地跟踪每只眼睛是可能的。
在一个实施例中,该系统将使用以矩形布置的4个IR LED和4个IR光电检测器,使得在头戴式显示设备2的透镜的每个角处存在一个IR LED和IR光电检测器。来自LED的光从眼睛反射离开。由在4个IR光电检测器中的每个处所检测到的红外光的量来确定瞳孔方向。也就是说,眼睛中眼白相对于眼黑的量将确定对于该特定光电检测器而言从眼睛反射离开的光量。因此,光电检测器将具有对眼睛中的眼白或眼黑的量的度量。从这4个采样中,该系统可确定眼睛的方向。
另一替代方案是如上面所讨论的那样使用4个红外LED,但是在头戴式显示设备2的透镜的一侧上使用一个红外CCD。CCD将使用小镜子和/或透镜(鱼眼),以使得CCD可对来自眼镜框的可见眼睛的多达75%成像。然后,该CCD将感测图像并且使用计算机视觉来找出该图像,就像上文所讨论的那样。因此,尽管图3示出了具有一个IR发射器的一个部件,但是图3的结构可以被调整为具有4个IR发射器和/或4个IR传感器。也可以使用多于或少于4个的IR发射器和/或多于或少于4个的IR传感器。
用于跟踪眼睛的方向的另一实施例基于电荷跟踪。此概念基于以下观察:视网膜携带可测量的正电荷而角膜具有负电荷。传感器被安装在用户的耳朵旁(靠近耳机130)以检测眼睛在转动时的电势并且高效地实时读出眼睛正在干什么。也可以使用用于跟踪眼睛的其他实施例。
图3示出了头戴式显示设备2的一半。完整的头戴式显示设备将包括另一组透视透镜、另一不透明滤光器、另一光导光学元件、另一微显示器120、另一透镜122、面向房间的相机、眼睛跟踪组件、微显示器、耳机、和温度传感器。
图4是描绘了头戴式显示设备2的各个组件的框图。图5是描述处理单元4的各种组件的框图。头戴式显示设备2(其组件在图4中被描绘)被用于通过将一个或多个虚拟图像与用户对现实世界的视图的无缝融合来向用户提供混合现实体验。另外,图4的头戴式显示设备组件包括跟踪各种状况的许多传感器。头戴式显示设备2将从处理单元4接收关于虚拟图像的指令,并且将把传感器信息提供回给处理单元4。处理单元4(其组件在图4中描绘)将接收来自头戴式显示设备2的传感器信息。基于该信息和数据的交换,处理单元4将确定在何处以及在何时向用户提供虚拟图像并相应地将指令发送给图4的头戴式显示设备。
图4的组件中的一些(例如朝向房间的相机112、眼睛跟踪相机134B、微显示器120、不透明滤光器114、眼睛跟踪照明134A、耳机130和温度传感器138)是以阴影示出的,以指示这些设备中的每个都存在两个,其中一个用于头戴式显示设备2的左侧,而一个用于头戴式显示设备2的右侧。图4示出与电源管理电路202通信的控制电路200。控制电路200包括处理器210、与存储器214(例如D-RAM)进行通信的存储器控制器212、相机接口216、相机缓冲器218、显示驱动器220、显示格式化器222、定时生成器226、显示输出接口228、以及显示输入接口230。
在一个实施例中,控制电路200的组件都通过专用线路或一个或多个总线彼此进行通信。在另一实施例中,控制电路200的各组件与处理器210通信。相机接口216提供到两个朝向房间的相机112的接口,并且将从朝向房间的相机所接收到的图像存储在相机缓冲器218中。显示驱动器220将驱动微显示器120。显示格式化器222向控制不透明滤光器114的不透明度控制电路224提供关于微显示器120上所正显示的虚拟图像的信息。定时生成器226被用来为该系统提供定时数据。显示输出接口228是用于将图像从朝向房间的相机112提供给处理单元4的缓冲器。显示输入接口230是用于接收诸如要在微显示器120上显示的虚拟图像之类的图像的缓冲器。显示输出接口228和显示输入接口230与作为到处理单元4的接口的带接口232通信。
电源管理电路202包括电压调节器234、眼睛跟踪照明驱动器236、音频DAC和放大器238、话筒前置放大器和音频ADC 240、温度传感器接口242、以及时钟发生器244。电压调节器234通过带接口232从处理单元4接收电力,并将该电力提供给头戴式显示设备2的其他组件。每个眼睛跟踪照明驱动器236都如上面所述的那样为眼睛跟踪照明134A提供IR光源。音频DAC和放大器238向耳机130输出音频信息。麦克风前置放大器和音频ADC 240提供用于麦克风110的接口。温度传感器接口242是用于温度传感器138的接口。电源管理电路202还向三轴磁力计132A、三轴陀螺仪132B以及三轴加速度计132C提供电能并从其接收回数据。
图5是描述处理单元4的各种组件的框图。图5示出与电源管理电路306通信的控制电路304。控制电路304包括:中央处理单元(CPU)320、图形处理单元(GPU)322、高速缓存324、RAM 326、与存储器330(例如D-RAM)进行通信的存储器控制器328、与闪存334(或其他类型的非易失性存储)进行通信的闪存控制器332、通过带接口302和带接口232与头戴式显示设备2进行通信的显示输出缓冲器336、通过带接口302和带接口232与头戴式显示设备2进行通信的显示输入缓冲器338、与用于连接到话筒的外部话筒连接器342进行通信的话筒接口340、用于连接到无线通信设备346的PCI express接口、以及(一个或多个)USB端口348。在一个实施例中,无线通信设备346可包括启用Wi-Fi的通信设备、蓝牙通信设备、红外通信设备等。USB端口可被用于将处理单元4对接到中枢计算系统12,以便将数据或软件加载到处理单元4上以及对处理单元4进行充电。在一个实施例中,CPU 320和GPU 322是用于确定在何处、何时以及如何向用户的视野内插入虚拟三维对象的主要力量。以下提供更多的细节。
电源管理电路306包括时钟发生器360、模数转换器362、电池充电器364、电压调节器366、头戴式显示器电源376、以及与温度传感器374进行通信的温度传感器接口372(其可能位于处理单元4的腕带上)。模数转换器362被用于监视电池电压、温度传感器,以及控制电池充电功能。电压调节器366与用于向该系统提供电力的电池368进行通信。电池充电器364被用来在从充电插孔370接收到电力时(通过电压调节器366)对电池368进行充电。HMD电源376向头戴式显示设备2提供电力。
如在图1C的讨论中所指出的,在一个实施例中,计算两个3D射线。第一3D射线基于用户的头部的定向。第二3D射线可以是第一3D射线的经稳定版本。而且,稳定的量可与第一3D射线的运动的方差成反比。
图6A-6C是用于帮助图示在一个实施例中可如何按照与第一3D射线的方差成反比的方式稳定交互射线66的图。图6A示出四个近期时间点t1-t4的第一3D射线660的示例。还描绘了同样的四个时间点t1-t4的交互射线(第二3D射线)66。通常,可针对多得多的近期时间点确定方差。
第一3D射线660由更长的射线表示。注意,长度的差异仅能够在第一和第二射线之间进行区别。此示例对应于对象绕z轴的旋转。这导致3D向量在x-y平面中的运动分量。
当关于绕一轴的旋转的角度的方差很高时,在一个实施例中,应用交互射线66的非常低的稳定或不应用稳定。在此示例中,绕z轴的旋转角度的方差足够高,以使得不向第一3D射线在x-y平面中的运动应用稳定。从而,对于所述四个时间点中的每个时间点,交互射线66基本上是第一3D射线660的镜像。例如,交互射线66紧密跟踪第一3D射线660。
对于某些实施例,第一3D射线660的运动可被认为是绕z轴的。从而,至少对于某些情况,这可被认为是绕z轴稳定3D射线的旋转。注意,在一个实施例中,对于绕不同轴的旋转分开地执行稳定。
图6B和6C示出了其中绕一轴的旋转角度的方差较低的示例。因此,交互射线66的稳定的量较高。图6B示出9个近期时间点的第一3D射线。图6C示出了相同的9个时间点的交互射线66。箭头的长度被用来表示不同时间点。每个图中的最短的箭头是针对t1的,而最长的箭头是针对t9的。此示例对应于对象绕z轴的旋转。在此示例中,第一3D射线660和交互射线66两者的原点均在xyz坐标系的原点处。注意,对于图6A的示例也可如此。
图6B示出第一3D射线660首先稍微向右漂移并随后向左漂移回来。即,首先存在绕z轴的一定的顺时针旋转,而接着存在绕z轴的一定的逆时针旋转。然而,针对该近期时间点的绕z轴的旋转角度的方差与图6A的示例相比相对较低。
图6C示出可由图6B的低方差导致的第二3D射线或交互射线66。在此示例中,交互射线66中的稳定结果是恒定的(箭头的长度仅表示较晚的时间点)。从而,如果用户的头部向右略微移动并接着向左略微移动,则这可指示关于绕由其脊柱定义的轴(例如z轴)的旋转的角度的小方差。应用高稳定因子带来了交互射线66的稳定,尽管用户的头部存在一定的运动。因此,用户对交互射线66具有更佳的控制。注意,图6A-6C中的全部射线已在x-y平面中示出以简化附图。
图7是用于基于欧拉角的方差确定不稳定因子的一个实施例的流程图。不稳定因子可被用于控制交互射线66的移动。从而,不稳定因子可被用于控制交互射线66跟踪第一3D射线的紧密程度。该过程可针对所述欧拉角(诸如俯仰、滚转或偏航)之一执行。以下讨论可应用于任何欧拉角。步骤701是访问HMD传感器数据。对此数据的使用在下面讨论。
在步骤702,确定当前欧拉角。来自HMD 2的传感器数据可被用于帮助确定欧拉角。如同上面提及的,一种可能是:通过定义用户的面部的平面并且取垂直于该平面的向量来确定面部单位向量。参考图1A的HMD坐标系,面部向量可被称为x向量。而且,确定z方向和y方向上的头部向量(或轴)是可能的。例如,y方向头部向量可大致连接用户的双耳。例如,z方向头部向量可大致在该人的头部的中间开始并垂直于另外两个头部向量。存在其它可能性。这些头部向量可根据从头戴式显示设备2上的相机112返回的相机图像数据标识。特别而言,基于头戴式显示设备2上的相机112所看到的,相关联的处理单元4能够确定表示用户的头部定向的头部向量。
注意,用户的头部的位置和定向还可或替代地通过如下方式来被确定:分析来自较早时间(要么在帧中较早,要么来自前一帧)的用户的头部的位置和定向,以及然后使用来自IMU 132的惯性信息来更新用户的头部的位置和定向。来自IMU 132的信息可以提供用户的头部的精确动力学数据,但是IMU典型地不提供关于用户的头部的绝对位置信息。此绝对位置信息(亦称“地面真值”)可从自头戴式显示设备2上的相机获得的主体用户和/或自其它用户的(诸)头戴式显示设备2的图像数据提供。
欧拉角可参考基于HMD的坐标空间确定(参考图1A、1B)。注意,基于HMD的坐标空间的原点可在该人头部中某处。从而,欧拉角可表示头部绕基于HMD的坐标空间的轴的旋转。例如,这些角度可表示头部绕x轴旋转角度α、头部绕y轴旋转角度β,以及头部绕z轴旋转角度γ。注意,不要求所有角度被确定。
在步骤704,记录当前欧拉角。注意,假定前面的时间的欧拉角在前面已被记录。作为一个示例,可存储上一秒的欧拉角。注意,步骤704可丢弃较旧的值,以使得仅最近期的欧拉角被记录。取决于应用以及诸如可用的计算时间以及期望的精度等考虑,采样率的范围可以很大。
在步骤706,将当前欧拉角与已存储值进行比较以确定在该近期时间段上欧拉角已改变或变化了多少。
在步骤708,表征欧拉角在该近期时间段上的方差。在一个实施例中,确定最大增量(delta)、最小增量、以及平均增量。最大增量是指当前欧拉角和已记录值之一之间的最大差值。最小增量是指当前欧拉角和已记录值之一之间的最小差值。平均增量是指当前欧拉角和每个已记录值之间的平均差值。从而,方差可与当前欧拉角有关,但存在其它可能性。
可使用其它手段来表征在近期时间段上的欧拉角的方差。如上所述,欧拉角随时间的方差可作为数学方差被计算。然而,在步骤708中使用的术语方差不限于方差的严格的数学定义。
在步骤710,确定欧拉角的不稳定因子。如同上面讨论的,不稳定因子可以是针对记录欧拉角的近期时间段的。在一个实施例中,不稳定因子基于当前时间的欧拉角和在近期时间段上关于绕头部的轴的旋转的欧拉角之间的差值的平均均值。
在一个实施例中,步骤710计算来自步骤608的最大增量和最小增量之间的差值。这被称为增量方差。接着根据等式1确定不稳定(instability)因子。
Instability=(DeltaVar*VarWeight)+(DeltaMean*MeanWeight) (1)
在等式1中,DeltaVar是指最大增量和最小增量之间的差值,而VarWeight是指加权因子。DeltaMean是指在步骤608中确定的平均增量,而MeanWeight是指加权因子。VarWeight和MeanWeight的适当值可根据经验确定。等式1的示例仅是许多可能性的一个示例。
存在图7的过程的许多变种。在一个实施例中,按照以下方式修改步骤706:将欧拉角的固定值与已记录值进行比较,而不是将欧拉角的当前值与近期时间段的已记录值进行比较。
在确定不稳定因子之后,可将不稳定因子应用于交互射线66以稳定交互射线。图8是应用不稳定因子以确定新交互射线66的过程的一个实施例的流程图。步骤802为访问3D射线的当前位置。这可包括第一3D射线的原点和方向。3D射线可以是具有位于例如基于HMD的坐标系的原点处的原点的3D向量。
步骤804为访问交互射线66的较近期(或最后)位置。这可包括交互射线的原点和方向。交互射线66可具有与第一3D射线相同的原点,但不要求如此。交互射线66可以是具有位于例如基于HMD的坐标系的原点处的原点的3D向量。
步骤906为基于3D射线的当前位置和不稳定因子来修改交互射线66的位置。在一个实施例中,系统基于欧拉角随时间的方差来更改交互射线66跟踪3D射线的紧密程度,跟踪的紧密度与欧拉角的方差成反比。
在一个实施例中,该系统在不稳定因子指示欧拉角相对稳定时稳定交互射线66,但是在不稳定因子指示欧拉角相对不稳定时允许交互射线66自由跟踪3D射线。
图9是其中基于用户的头部的旋转的角度的方差来稳定头部光标的一个实施例的流程图。
在步骤902,在HMD 2中呈现全息图像。作为用于帮助图示的一个示例,显示报纸文章。在一个实施例中,全息图像在现实世界中被保持不动以帮助用户与该全息图像交互。例如,使得全息图像看上去是好像它在桌上或墙上。当然,如果期望,用户可移动全息图像。
在步骤904,跟踪用户的头部关于一个或多个轴的旋转。在一个实施例中,这些轴相对于头部本身定义。作为示例,步骤904可包括跟踪俯仰和偏航。在一个实施例中,z轴大致对应于穿过颅骨的、作为用户的脊柱的延伸的直线。从而,绕z轴的旋转对应于用户旋转其头部,以使得用户向左或向右看。这可被称为偏航。
在一个实施例中,y轴大致对应于连接用户的双耳的直线。从而,绕y轴的旋转对应于用户上下移动其头部,诸如点头移动。这可被称为俯仰。
还可能跟踪绕x轴的旋转。在此示例中,x轴可大致对应于交互射线66。在诸如光标等应用中,可能不需要跟踪绕x轴的此旋转。
在步骤904,可至少部分基于从头戴式显示设备2上的相机112返回的相机图像数据确定用户的头部的位置和定向。
在步骤906,基于用户的头部的定向确定第一3D向量660。在一个实施例中,原点位于用户双眼中间的点处。该向量从用户的面部在用户所面向的方向上“直线向外”延伸。一种可能是这是前面提及的x轴。一种可能是定义用户的面部的平面并投影与该面部平面垂直的直线。此面部平面可通过确定用户的眼睛、鼻子、嘴、耳朵、或其他面部特征的位置来被标识。可根据从头戴式显示设备2上的相机112返回的相机图像数据来标识面部平面。
在步骤908,系统确定用户的头部绕所述轴中的一个或多个的旋转的方差。
在步骤910,使用不稳定因子来生成交互射线66。在一个实施例中,使用图8的过程。从而,可通过稳定第一3D向量660的运动来生成交互射线66。在一个实施例中,阻尼的量与用户的头部的旋转的方差成反比。可针对每个轴应用独立的稳定量。作为一个示例,针对俯仰应用第一稳定量并针对偏航应用第二稳定量。
在步骤912,确定交互射线66相对于全息图像60的位置。系统(例如HMD2)可确定或以其它方式访问当前时间虚拟图像中的所有元素的表面上的x、y和z位置。“表面上”的x、y和z位置的意思是图像看上去在现实世界中所处的位置。系统可确定交互射线(例如,第二3D向量)66是否与虚拟图像中的任何点相交。
在步骤914,系统确定是否接收到对交互射线66与之碰撞的元素的选择。该选择可以是语音命令等。
在步骤916,系统响应于该选择采取某个动作。动作可以是对超链接的选择、菜单选择等的响应。系统可突出显示所选元素。选择可以是用户操纵虚拟图像上的虚拟控件来暂停、回放、快进所显示的视频、改变所显示的视频的音量或改变所显示的视频的内容。还存在许多其它可能性。
图9的过程的其它变种是可能的。例如,不是使交互射线66成为光标,交互射线66可以是指针。此指针可被用来指向现实世界中的对象而不是全息图像中的元素。
注意,在前述示例中,俯仰、滚转和偏航被使用。绕头部的轴的旋转可以是除了俯仰、滚转或偏航之外的绕轴的旋转。
在一个实施例中,针对头部的平移提供稳定。此稳定可以是基于头部的旋转的稳定的补充。头部的平移可潜在地引起交互射线66方面的运动。一个示例是呼吸可能引起上下运动,该上下运动未必反应在绕轴的旋转中。
图10是其中针对用户的头部的平移的方差提供稳定的一个实施例的流程图。在一个实施例中,平移涉及基于HMD的坐标系的原点的移动。注意,当用户的头部平移时,HMD 2中的虚拟图像未必移动。这种情况的一个可能的原因是虚拟图像可能在现实世界中在位置上是固定的,诸如通过使其看上去在桌上或墙上。
在步骤1002,使用传感器跟踪头部的平移。这可以基于HMD 2中的任何传感器。注意,头部的平移可引起第一3D射线660中的移动。作为一个示例,第一3D射线的原点可移动。移动第一3D射线的原点可引起整条射线移动类似的量。例如,取决于3D射线如何形成,当原点向上移动3厘米时,整3D射线可向上移动3厘米。然而存在各种可能性。
步骤1002可包括记录基于HMD的坐标系的原点的位置的近期值。原点的位置进而可基于用户的头部的位置确定。在一个实施例中,用户的头部的位置通过确定HMD 2的3D位置确定。这可以基于HMD 2中的任何传感器、甚至是HMD外的传感器(诸如相机)。注意,可使用多于一个传感器,诸如使用IMU来确定HMD 2的位置中的改变。
在步骤1004,确定头部的平移的方差。在步骤1106,稳定归因于该平移的第一3D射线660的运动。在一个实施例中,稳定可与头部的平移的方差成反比。
步骤1006可包括仅基于对象的平移的方差确定稳定因子。可针对被分析的任何轴确定独立的稳定因子,如前所述。可将所有各个稳定因子应用于交互射线66。
一般而言,可将稳定因子的任何组合应用于交互射线66。图11是示出稳定因子的许多组合可被应用于交互射线66的流程图。如果针对俯仰的方差的稳定将被应用,则在步骤1102中确定并应用针对俯仰的方差的不稳定因子。在一个实施例中,第一3D射线是具有原点(例如,在基于HMD的坐标系的原点处)的向量。第一3D射线可由关于例如基于HMD的坐标系的俯仰和偏航以及滚转表征。第二3D射线也可以是具有原点(例如,在基于HMD的坐标系的原点处)的向量。第二3D射线也可由关于例如基于HMD的坐标系的俯仰、偏航以及滚转表征。步骤1102可基于头部的俯仰的方差来控制第二3D向量的俯仰跟踪第一3D向量的俯仰的紧密程度。换言之,步骤1102可基于第一3D向量的俯仰的方差来控制第二3D向量的俯仰跟踪第一3D向量的俯仰的紧密程度。
如果针对偏航的方差的稳定将被应用,则在步骤1104中确定并应用针对偏航的方差的不稳定因子。步骤1104可基于头部的偏航的方差来控制第二3D向量的偏航跟踪第一3D向量的偏航的紧密程度。换言之,步骤1104可基于第一3D向量的偏航的方差来控制第二3D向量的偏航跟踪第一3D向量的偏航的紧密程度。
如果针对滚转的方差的稳定将被应用,则在步骤1106中确定并应用针对滚转的方差的不稳定因子。在一个实施例中,第一3D向量具有与其相关联的滚转分量。此滚转分量是3D向量的原点和方向的补充。步骤1106可基于头部的滚转的方差来控制第二3D向量的滚转跟踪第一3D向量的滚转的紧密程度。换言之,步骤1106可基于第一3D向量的滚转的方差来控制第二3D向量的滚转跟踪第一3D向量的滚转的紧密程度。
如果针对头部的平移的方差的稳定将被应用,则在步骤1108中确定并应用针对平移的方差的不稳定因子。步骤1108可基于头部的平移的方差来控制第二3D向量的原点跟踪第一3D向量的原点的紧密程度。
在一个实施例中,应用步骤1102、1104或1106中的至少一者。在一个实施例中,应用步骤1102或1104中的至少一者。然而,步骤1102、1104、1106和1108的任何组合是可能的。
本文参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图示、序列图和/或框图描述了本公开的各方面。要理解,流程图示和/或框图的每个框以及流程图示和/或框图中的框的组合可由计算机程序指令实现。类似地,序列图中的每个箭头同样可由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机(或计算设备)、专用计算机或其它可编程数据处理装置的处理器以用以制造机器,从而经由计算机或其它可编程数据处理装置的处理器执行的这些指令创建用于实现所述流程图、序列图和/或框图的(诸)框中所指定的功能/动作的机构。
存储设备和工作存储器是有形、非瞬态计算机或处理器可读的存储设备的示例。存储设备包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动的设备。计算机存储设备包括RAM、ROM、EEPROM、高速缓存、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、记忆棒或卡、磁带盒、磁带、介质驱动器、硬盘、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机访问的任何其他设备。计算机存储设备部包括传播信号。
一些实施例在本文中被描述为作为由处理器执行的指令植入。替换地或附加地,本文描述的实施例可以至少部分由一个或多个硬件逻辑组件来执行。例如、但非限制,可使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)、等等。
本文公开的一个实施例包括装置,所述装置包括传感器和逻辑,所述逻辑使用所述传感器监视人的头部的定向,所述监视包括监视绕所述头部的轴的旋转,包括记录关于绕所述头部的所述轴的旋转的欧拉角。所述逻辑基于头部的定向确定三维(3D)射线。3D射线具有可随时间精确跟踪欧拉角的运动。所述逻辑生成交互射线,所述交互射线在一定程度上跟踪所述3D射线。所述逻辑确定所述欧拉角在近期时间段上的方差。所述逻辑基于欧拉角在近期时间段上的方差来在尽管有绕头部的轴的一定旋转的情况下稳定交互射线。稳定的量可与欧拉角的方差成反比。所述逻辑确定所述交互射线与3D坐标的碰撞。
上一段的装置可进一步包括近眼、透视显示器。所述逻辑可在所述近眼、透视显示器上呈现全息图像,所述逻辑确定所述交互射线关于所述全息图像的碰撞。
在前两段中的任一段所述的装置的一个实施例中,所述3D射线是源自所述头部的第一3D向量,所述交互射线是源自所述头部的第二3D向量。
在前三段中的任一段所述的装置的一个实施例中,计算所述欧拉角在所述近期时间段上的不稳定因子。所述不稳定因子可以是当前时间的欧拉角和在所述近期时间段上的不同时间点关于绕所述头部的所述轴的旋转的欧拉角之间的差值的函数。所述逻辑基于所述不稳定因子和所述3D射线的当前位置来修改所述交互射线。所述交互射线可在尽管存在所述头部绕所述轴的一定运动但所述欧拉角在所述近期时间段上的方差为低时被稳定。所述交互射线在所述欧拉角在所述近期时间段上的方差为高时紧密跟踪所述3D射线。在一个实施例中,不稳定因子基于当前时间的欧拉角和在近期时间段上关于绕头部的轴的旋转的各欧拉角之间的差值的平均均值。
在前面各段所述的装置的一个实施例中,所述第一欧拉角跟踪所述头部的俯仰,而所述第二欧拉角跟踪所述头部的偏航。
在前面各段所述的装置的一个实施例中,所述逻辑进一步跟踪该人的头部的平移。所述逻辑确定所述头部的平移在所述近期时间段上的方差。所述逻辑可基于所述欧拉角在所述近期时间段上的方差以及所述头部的平移在所述近期时间段上的方差来更改所述交互射线跟踪所述3D射线的紧密程度。所述逻辑可基于所述头部的平移在所述近期时间段上的方差来在尽管在所述近期时间段期间存在所述头部的一定平移的情况下稳定所述交互射线。
一个实施例包括包含以下的方法。使用传感器跟踪头部定向,包括跟踪绕头部的轴的旋转。记录在近期时间间隔上绕所述头部的所述轴的旋转的角度的值。确定基于头部的实际定向的第一三维(3D)射线。第一3D射线具有随时间跟踪头部的实际定向的移动。所述第一3D射线具有与绕所述头部的所述轴的旋转的直接对应性。确定已记录的角度在所述近期时间间隔上的方差。基于所述第一3D射线的实际位置和已记录的角度在所述近期时间间隔上的方差来确定第二3D射线。这可包括将所述第二3D射线的运动稳定到与所述方差成反比的程度。确定所述第二3D射线与3D坐标的碰撞。
一个实施例包括一种装置,所述装置包括传感器;透视、近眼显示器;其上存储有指令的处理器可读存储;以及耦合到所述传感器、所述处理器可读存储和所述透视、近眼显示器的处理器。所述指令当在所述处理器上执行时使得所述处理器进行以下操作。所述处理器在所述近眼、透视显示器上呈现全息图像。所述全息图像可与所述透视、近眼显示器的视野中的3D空间中的点相关联。所述处理器访问来自所述传感器的数据。所述处理器使用所述传感器数据跟踪头部定向,以及跟踪所述头部定向的俯仰和偏航。所处处理器确定俯仰随时间的第一方差和偏航随时间的第二方差。所述处理器基于所述头部定向确定第一3D向量。所述第一3D向量具有在所述头部上的一点处的原点。所述第一3D向量具有随时间跟踪所述头部的俯仰和偏航的俯仰和偏航。所述处理器生成第二3D向量,所述第二3D向量具有跟踪所述第一3D向量的俯仰和偏航。所述处理器基于所述头部的俯仰中的第一方差和所述头部的偏航中的第二方差来控制所述第二3D向量的俯仰和偏航跟踪所述第一3D向量的俯仰和偏航的紧密程度。所述处理器与所述第一方差成正比地跟踪所述第二3D向量的俯仰并与所述第一方差成反比地稳定所述第二3D向量的俯仰。所述处理器与所述第二方差成正比地跟踪所述第二3D向量的偏航并与所述第二方差成反比地稳定所述第二3D向量的偏航。所述处理器确定所述第二3D向量与和所述全息图像相关联的3D点的碰撞。
通过在此章节提供等同描述,例如,通过声明前面段落中描述的实施例也可与具体公开的替代实施例中的一个或多个相组合,也应当提供了对多项从属权利要求的支持。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。本发明的范围由所附的权利要求进行定义。

Claims (22)

1.一种用于稳定交互射线的装置,包括:
传感器;以及
使用所述传感器监视人的头部的定向的逻辑,所述监视包括监视绕所述头部的轴的旋转,包括记录关于绕所述头部的所述轴的旋转的欧拉角;
所述逻辑基于所述头部的定向确定三维3D射线,所述3D射线具有随时间精确跟踪所述欧拉角的运动;
所述逻辑生成交互射线,所述交互射线在一定程度上跟踪所述3D射线;
所述逻辑确定所述欧拉角在近期时间段上的方差,所述方差基于当前时间的欧拉角和在所述近期时间段上的不同时间点关于绕所述头部的所述轴的旋转的欧拉角之间的差值;
所述逻辑基于所述欧拉角随所述近期时间段的方差来在尽管有绕所述头部的所述轴的一定旋转的情况下稳定所述交互射线,稳定的量与所述欧拉角的所述方差成反比;以及
所述逻辑确定所述交互射线与3D坐标的碰撞。
2.如权利要求1所述的装置,其特征在于,进一步包括:
近眼、透视近眼显示器;
其中所述逻辑在所述近眼、透视显示器上呈现全息图像,所述逻辑确定所述交互射线与所述全息图像的碰撞。
3.如权利要求2所述的装置,其特征在于,所述3D射线是源自所述头部的第一3D向量,所述交互射线是源自所述头部的第二3D向量。
4.如权利要求1所述的装置,其特征在于,所述逻辑:
基于所述方差和所述3D射线的当前位置来修改所述交互射线,其中所述交互射线在尽管存在所述头部绕所述轴的一定移动但所述欧拉角在所述近期时间段上的方差为低时被稳定,所述交互射线在所述欧拉角在所述近期时间段上的方差为高时紧密跟踪所述3D射线。
5.如权利要求4所述的装置,其特征在于,所述方差基于当前时间的所述欧拉角和在所述近期时间段上关于绕所述头部的所述轴的旋转的欧拉角之间的差值的平均均值。
6.如权利要求1所述的装置,其特征在于,当所述逻辑使用所述传感器监视人的头部的定向时,确定所述欧拉角在所述近期时间段上的方差,以及基于所述欧拉角的所述方差稳定所述交互射线,所述逻辑:
跟踪绕所述头部的第一轴的第一旋转以确定第一欧拉角;
跟踪绕所述头部的第二轴的第二旋转以确定第二欧拉角;
确定所述第一欧拉角在所述近期时间段上的第一方差;
确定所述第二欧拉角在所述近期时间段上的第二方差;
使所述交互射线按与所述第一欧拉角在所述近期时间段上的第一方差成正比的程度关于所述第一轴跟踪所述3D射线,并与所述第一欧拉角在所述近期时间段上的第一方差成反比地稳定所述交互射线;以及
使所述交互射线的踪迹按与所述第二欧拉角在所述近期时间段上的第二方差成正比的程度关于所述第二轴跟踪所述3D射线,并与所述第二欧拉角在所述近期时间段上的第二方差成反比地稳定所述交互射线。
7.如权利要求6所述的装置,其特征在于,所述第一欧拉角跟踪所述头部的俯仰且所述第二欧拉角跟踪所述头部的偏航。
8.如权利要求1所述的装置,其特征在于,所述逻辑进一步:
跟踪所述人的头部的平移;以及
确定所述头部的平移在所述近期时间段上的方差;
其中所述逻辑基于所述欧拉角在所述近期时间段上的方差和所述头部的平移在所述近期时间段上的方差来更改所述交互射线跟踪所述3D射线的紧密程度,所述逻辑基于所述头部的平移在所述近期时间段上的方差来在尽管在所述近期时间段期间所述头部有一定平移的情况下稳定所述交互射线。
9.一种用于稳定交互射线的方法,包括:
使用传感器跟踪头部定向,所述跟踪包括跟踪绕所述头部的轴的旋转;
记录在近期时间间隔上绕所述头部的所述轴的旋转的角度的值;
基于所述头部的实际定向确定第一三维3D射线,所述第一3D射线具有随时间跟踪所述头部的实际定向的运动,所述第一3D射线具有与绕所述头部的所述轴的旋转的直接对应性;
基于当前时间的欧拉角和在所述近期时间段上的不同时间点关于绕所述头部的所述轴的旋转的欧拉角之间的差值来确定已记录的角度在所述近期时间间隔上的方差;
基于所述第一3D射线的实际位置和已记录的角度在所述近期时间间隔上的方差来生成第二3D射线,包括按与所述方差成反比的程度稳定所述第二3D射线的运动;以及
确定所述第二3D射线与3D坐标的碰撞。
10.如权利要求9所述的方法,其特征在于,跟踪头部的定向包括:
跟踪所述头部定向的俯仰和偏航,所述第一3D射线是源自所述头部的第一3D向量,所述第二3D射线是源自所述头部的第二3D向量。
11.如权利要求9所述的方法,其特征在于,还包括:
在头戴式显示器中呈现全息图像,所述全息图像包括3D对象,确定所述第二3D射线与3D坐标的碰撞包括确定所述第二3D射线与所述3D对象中的第一3D对象的碰撞。
12.如权利要求11所述的方法,其特征在于,所述第二3D射线为光标,所述方法还包括:
接收对所述第一3D对象的选择。
13.如权利要求9所述的方法,其特征在于,跟踪绕所述头部的轴的旋转、确定已记录的角度在所述近期时间间隔上的方差、以及按与所述方差成反比的程度稳定所述第二3D射线的运动包括:
跟踪绕所述头部的第一轴的第一旋转;
记录绕所述第一轴的旋转的第一角度在所述近期时间间隔上的值;
跟踪绕所述头部的第二轴的第二旋转;
记录绕所述第二轴的旋转的第二角度在所述近期时间间隔上的值;
确定已记录的第一角度在所述近期时间间隔上的第一方差;
确定已记录的第二角度在所述近期时间间隔上的第二方差;以及
按与所述第一方差和所述第二方差成反比的程度稳定所述第二3D射线的运动。
14.如权利要求13所述的方法,其特征在于,跟踪绕所述头部的旋转、确定已记录的角度在所述近期时间间隔上的方差、以及按与所述方差成反比的程度稳定所述第二3D射线的运动包括:
跟踪绕所述头部的第三轴的第三旋转;
记录绕所述第三轴的旋转的第三角度在所述近期时间间隔上的值;
确定已记录的第三角度在所述时间间隔上的第三方差;以及
按与所述第一方差、所述第二方差和所述第三方差成反比的程度稳定所述第二3D射线的运动。
15.如权利要求9所述的方法,其特征在于,还包括:
跟踪所述头部的平移;以及
确定所述头部的平移在所述近期时间间隔上的方差,稳定所述第二3D射线的运动进一步基于所述头部的平移的方差,所述稳定与所述头部的平移在近期时间间隔上的方差成反比。
16.一种用于稳定交互射线的装置,包括:
传感器;
透视、近眼显示器;
其上存储有指令的处理器可读存储;以及
耦合至所述传感器、所述处理器可读存储以及所述透视、近眼显示器的处理器,所述指令当在所述处理器上执行时使得所述处理器:
在所述近眼、透视显示器上呈现全息图像,所述全息图像与所述透视、近眼显示器的视野中的3D空间中的点相关联;
访问来自所述传感器的数据;
使用所述传感器数据跟踪头部定向,所述指令使得所述处理器跟踪所述头部定向的俯仰和偏航;
确定所述俯仰随时间的第一方差和所述偏航随时间的第二方差;
基于所述头部定向确定第一3D向量,所述第一3D向量具有在所述头部的一点处的原点,所述第一3D向量具有跟踪所述头部随时间的俯仰和偏航的俯仰和偏航;
生成第二3D向量,所述第二3D向量具有跟踪所述第一3D向量的俯仰和偏航;
基于所述头部的俯仰方面的第一方差和所述头部的偏航方面的第二方差来控制第二3D向量的俯仰和偏航跟踪所述第一3D向量的俯仰和偏航的紧密程度,所述指令使得所述处理器与所述第一方差成正比地跟踪所述第二3D向量的俯仰以及与所述第一方差成反比地稳定所述第二3D向量的俯仰,所述指令使得所述处理器与所述第二方差成正比地跟踪所述第二3D向量的偏航以及与所述第二方差成反比地稳定所述第二3D向量的偏航;以及
确定所述第二3D向量与和所述全息图像相关联的3D点的碰撞。
17.如权利要求16所述的装置,其特征在于,所述全息图像具有多个元素,所述指令使得所述处理器确定所述第二3D向量与所述元素中的第一元素的碰撞,所述指令进一步使得所述处理器响应于确定所述碰撞在所述近眼、透视显示器中突出显示所述第一元素。
18.如权利要求16所述的装置,其特征在于,所述第二3D向量具有原点,所述指令使得所述处理器:
跟踪所述头部的平移;以及
确定所述头部的平移随时间的方差;
基于所述头部的平移的方差来控制所述第二3D向量的原点跟踪所述第一3D向量的原点的紧密程度,与所述头部的平移的方差为低时相比,当所述头部的平移的方差为高时,所述第二3D向量的原点更紧密地跟踪所述第一3D向量的原点。
19.如权利要求16所述的装置,其特征在于,所述指令进一步使得所述处理器:
基于所述第一方差计算针对所述头部的俯仰的第一不稳定因子以及基于所述第二方差计算针对所述头部的偏航的第二不稳定因子;
当所述第一不稳定因子指示所述头部的俯仰方面的第一方差为低时,在俯仰方面稳定所述第二3D向量;
当所述第二不稳定因子指示所述头部的偏航方面的第二方差为低时,在偏航方面稳定所述第二3D向量;
当所述第一不稳定因子指示所述头部的俯仰方面的第一方差为高时,允许所述第二3D向量在俯仰方面自由跟踪所述第一3D向量;以及
当所述第二不稳定因子指示所述头部的偏航方面的第二方差为高时,允许所述第二3D向量在偏航方面自由跟踪所述第一3D向量。
20.如权利要求16所述的装置,其特征在于,当所述第一方差或所述第二方差为高时所述第二3D向量紧密跟踪所述第一3D向量,当所述第一方差和所述第二方差两者均为低时所述第二3D向量相对稳定。
21.一种具有指令的计算机可读存储介质,当所述指令被执行时使得机器执行如权利要求9-15中任一权利要求所述的方法。
22.一种计算机系统,包括用于执行如权利要求9-15中任一权利要求所述的方法的装置。
CN201580049109.7A 2014-09-12 2015-09-09 稳定交互射线的运动 Active CN106716303B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/485,542 US9606364B2 (en) 2014-09-12 2014-09-12 Stabilizing motion of an interaction ray
US14/485,542 2014-09-12
PCT/US2015/049052 WO2016040401A1 (en) 2014-09-12 2015-09-09 Stabilizing motion of an interaction ray

Publications (2)

Publication Number Publication Date
CN106716303A CN106716303A (zh) 2017-05-24
CN106716303B true CN106716303B (zh) 2019-08-06

Family

ID=54337337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580049109.7A Active CN106716303B (zh) 2014-09-12 2015-09-09 稳定交互射线的运动

Country Status (4)

Country Link
US (2) US9606364B2 (zh)
EP (1) EP3191921B1 (zh)
CN (1) CN106716303B (zh)
WO (1) WO2016040401A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140268360A1 (en) * 2013-03-14 2014-09-18 Valve Corporation Head-mounted display
US9606364B2 (en) 2014-09-12 2017-03-28 Microsoft Technology Licensing, Llc Stabilizing motion of an interaction ray
US10049493B1 (en) * 2015-10-22 2018-08-14 Hoyt Architecture Lab, Inc System and methods for providing interaction with elements in a virtual architectural visualization
US10788791B2 (en) 2016-02-22 2020-09-29 Real View Imaging Ltd. Method and system for displaying holographic images within a real object
WO2017145158A1 (en) 2016-02-22 2017-08-31 Real View Imaging Ltd. Zero order blocking and diverging for holographic imaging
US11663937B2 (en) 2016-02-22 2023-05-30 Real View Imaging Ltd. Pupil tracking in an image display system
US10795316B2 (en) 2016-02-22 2020-10-06 Real View Imaging Ltd. Wide field of view hybrid holographic display
CN105607259A (zh) * 2016-03-01 2016-05-25 上海小蚁科技有限公司 一种可穿戴装置和运动管理方法
US10436975B2 (en) * 2016-04-21 2019-10-08 Facebook Technologies, Llc Segmented backlight for liquid crystal display
US10714023B2 (en) * 2016-04-21 2020-07-14 Facebook Technologies, Llc Display including liquid crystal layer with organic light emitting diode backlight
US10127631B1 (en) 2017-03-02 2018-11-13 Snap Inc. Automatic image inpainting using local patch statistics
CN109240484A (zh) * 2017-07-10 2019-01-18 北京行云时空科技有限公司 一种增强现实系统中的交互方法、装置及设备
CN109002167B (zh) * 2018-08-07 2021-04-20 浙江冰峰科技有限公司 眼球追踪模拟方法、装置及头戴显示设备
EP4235381B1 (en) * 2019-03-18 2025-06-04 Apple Inc. Virtual paper
US11409360B1 (en) * 2020-01-28 2022-08-09 Meta Platforms Technologies, Llc Biologically-constrained drift correction of an inertial measurement unit
US20210373649A1 (en) * 2020-04-01 2021-12-02 Rajesh Dayal Moorjani Attaching Extended Reality (XR) Content To Physical Points Of Interest
CN114077302A (zh) * 2020-08-21 2022-02-22 华为技术有限公司 一种智能眼镜及其交互方法和交互装置
WO2022165490A1 (en) * 2021-01-27 2022-08-04 Google Llc Bidirectional battery charging and discharging
US11681358B1 (en) 2021-12-10 2023-06-20 Google Llc Eye image stabilized augmented reality displays

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742264A (en) * 1995-01-24 1998-04-21 Matsushita Electric Industrial Co., Ltd. Head-mounted display
CN101581967A (zh) * 2009-06-26 2009-11-18 上海大学 增强现实系统中抑制磁力跟踪器互干扰的方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW392066B (en) 1998-12-17 2000-06-01 Tokin Corp Orientation angle detector
US7623115B2 (en) 2002-07-27 2009-11-24 Sony Computer Entertainment Inc. Method and apparatus for light input device
US7480873B2 (en) * 2003-09-15 2009-01-20 Sun Microsystems, Inc. Method and apparatus for manipulating two-dimensional windows within a three-dimensional display model
JP2006060774A (ja) 2004-07-20 2006-03-02 Olympus Corp 携帯情報機器
US20080211768A1 (en) 2006-12-07 2008-09-04 Randy Breen Inertial Sensor Input Device
EP2264580A2 (en) 2009-06-10 2010-12-22 Samsung Electronics Co., Ltd. Method and apparatus for processing motion data
US20120050142A1 (en) 2010-08-25 2012-03-01 Border John N Head-mounted display with eye state detection
US8503737B2 (en) 2010-09-27 2013-08-06 Panasonic Corporation Visual line estimating apparatus
US9288468B2 (en) 2011-06-29 2016-03-15 Microsoft Technology Licensing, Llc Viewing windows for video streams
US9606364B2 (en) 2014-09-12 2017-03-28 Microsoft Technology Licensing, Llc Stabilizing motion of an interaction ray

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742264A (en) * 1995-01-24 1998-04-21 Matsushita Electric Industrial Co., Ltd. Head-mounted display
CN101581967A (zh) * 2009-06-26 2009-11-18 上海大学 增强现实系统中抑制磁力跟踪器互干扰的方法

Also Published As

Publication number Publication date
US20170212608A1 (en) 2017-07-27
CN106716303A (zh) 2017-05-24
EP3191921A1 (en) 2017-07-19
WO2016040401A1 (en) 2016-03-17
US9606364B2 (en) 2017-03-28
US9910513B2 (en) 2018-03-06
EP3191921B1 (en) 2020-04-15
US20160077344A1 (en) 2016-03-17

Similar Documents

Publication Publication Date Title
CN106716303B (zh) 稳定交互射线的运动
CN110908503B (zh) 跟踪设备的位置的方法
US11314323B2 (en) Position tracking system for head-mounted displays that includes sensor integrated circuits
US11417052B2 (en) Generating ground truth datasets for virtual reality experiences
KR102289389B1 (ko) 가상 오브젝트 방위 및 시각화
TWI597623B (zh) 可穿戴基於行爲的視覺系統
TWI581178B (zh) 混合實境顯示器中使用者控制的真實物件的消失
CN105408837B (zh) Hmd上的混合世界/身体锁定的hud
CN105393192B (zh) 用于近眼显示器的网状分层菜单显示配置
US10311638B2 (en) Anti-trip when immersed in a virtual reality environment
US11320667B2 (en) Automated video capture and composition system
US20160025982A1 (en) Smart transparency for holographic objects
CN107209564A (zh) 将现实世界比例应用于虚拟内容
CN104995583A (zh) 用于混合现实环境的直接交互系统
CN105452994A (zh) 虚拟物体的同时优选观看
US20240144533A1 (en) Multi-modal tracking of an input device

Legal Events

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