首页 / 低功率眼睛跟踪系统

低功率眼睛跟踪系统有效专利 发明

技术领域

[0003] 本公开涉及一种低功率眼睛跟踪系统。

相关背景技术

[0004] 虚拟现实(VR)允许用户体验和/或与沉浸式人工环境进行交互,使得用户感觉他们好像身处于该环境中。例如,虚拟现实系统可向用户显示立体场景以产生深度错觉,并且计算机可实时调整场景内容以提供用户在场景内移动的错觉。当用户通过虚拟现实系统观看图像时,用户可因此感觉他们好像正从第一人称视角在场景内移动。类似地,混合现实(MR)将计算机生成的信息(称为虚拟内容)与现实世界图像或现实世界视图相结合,以增强或添加内容到用户的世界视图。因此,可利用VR的模拟环境和/或MR的混合环境为多个应用提供交互式用户体验,诸如将虚拟内容添加到观看者的环境的实时视图的应用、与虚拟训练环境进行交互的应用、游戏应用、远程控制无人机或其他机械系统的应用、观看数字媒体内容的应用、与因特网交互的应用等。
[0005] 眼睛跟踪器是用于估计眼睛位置和眼睛运动的装置。眼睛跟踪系统已被用于视觉系统的研究、心理学、心理语言学、营销且用作用于人机交互的输入装置。在后一种应用中,通常考虑人的注视点与台式监视器的交叉点。

具体实施方式

[0031] 描述了用于虚拟和混合或增强现实(VR/AR)应用中的眼睛跟踪的方法和装置的各种实施方案。VR/AR系统可包括诸如头戴式耳机、头盔、护目镜或眼镜的设备(本文中称为头戴式设备(HMD)),该设备包括用于在用户的眼睛前面显示包括左图像和右图像的帧以因此将三维(3D)虚拟视图提供给用户的显示器(例如,左显示器和右显示器)。VR/MR系统还可包括控制器。控制器可在HMD中实现,或者替代地可至少部分地由经由有线或无线接口通信地耦接到HMD的外部设备(例如,计算系统)来实现。控制器可包括各种类型的处理器、图像信号处理器(ISP)、图形处理单元(GPU)、编码器/译码器(编码译码器)和/或用于处理和渲染视频和/或图像的其他部件中的一个或多个。控制器可渲染帧(每个帧包括左图像和右图像),该帧包括至少部分地基于从相机和HMD上的其他传感器获得的输入的虚拟内容,并且可将帧提供给HMD的投影系统以用于显示。
[0032] VR/AR系统可包括眼睛跟踪系统(其也可被称为注视跟踪系统)。描述了用于VR/AR系统的眼睛跟踪系统的实施方案,其包括定位在用户面部的每个侧面处并且被配置为捕获用户眼睛的图像的至少一个眼睛跟踪相机(例如,红外(IR)相机)。眼睛跟踪系统还可包括朝向用户眼睛发射光(例如,IR光)的光源(例如,IR光源)。IR光的一部分从用户的眼睛反射到眼睛跟踪相机。例如位于HMD显示面板的边缘处或附近的眼睛跟踪相机从眼睛反射的IR光捕获用户眼睛的图像。可由控制器分析由眼睛跟踪系统捕获的图像以检测用户的眼睛的特征(例如,通孔)、位置和运动,和/或检测关于眼睛的其他信息,诸如瞳孔扩张。例如,从眼睛跟踪图像估计的显示器上的注视点可使得能够与HMD的近眼显示器上示出的内容进行基于注视的交互。其他应用可包括但不限于创建用于VR/AR环境中的化身的眼睛图像动画。
[0033] HMD可以是具有内部电源的移动设备。因此,减小功率消耗以增加电源寿命是一个问题。眼睛跟踪系统(相机和处理部件两者)消耗功率。描述了用于提供低功率眼睛跟踪系统的方法和装置的实施方案,其可减小由HMD的眼睛跟踪硬件和软件部件消耗的功率量。
[0034] 提供准确眼睛跟踪的关键是知道用户眼睛相对于眼睛跟踪相机的位置。在眼睛跟踪系统的一些实施方案中,为了准确地确定用户眼睛相对于眼睛跟踪相机的位置,控制器可执行算法,该算法使用由眼睛跟踪相机捕获的图像来执行三维(3D)重建以生成用户眼睛的3D模型。眼睛的3D模型指示眼睛相对于眼睛跟踪相机的3D位置,这允许由控制器执行的眼睛跟踪算法准确地跟踪眼睛移动。
[0035] 准确眼睛跟踪的关键要素是关于设备在用户头部上的移动的稳健性。在使用期间,HMD可在用户头部上移动。此外,用户可移除设备并将其放回。在任一种情况下,可使得使用3D重建来执行的眼睛跟踪系统的初始校准无效。然而,在眼睛跟踪系统中,在用户眼睛是否相对于相机/HMD移动或相机/HMD是否相对于用户眼睛移动之间存在固有模糊。该模糊的解决方案是针对由眼睛跟踪相机捕获的每个帧执行3D重建。然而,3D重建在计算上是昂贵的并且消耗显著量的功率。
[0036] 描述了用于跟踪设备相对于用户头部的相对移动的方法和装置的实施方案,其中传感器(在本文中称为头部运动传感器或头部测距仪)放置在设备中或设备上的一个或多个位置处,例如放置在用户耳部处或附近以主要跟踪俯仰以及放置在鼻梁处或附近以主要跟踪y移动。来自头部测距仪的信号可用于检测设备相对于用户眼睛的移动。这可允许仅在检测到设备相对于用户眼睛的移动时才执行3D重建,从而显著减小眼睛跟踪系统的功率消耗。当未检测到设备的移动时,可执行对由眼睛跟踪相机捕获的帧的2D图像处理(其在计算上比3D图像处理便宜得多)以跟踪用户眼睛。在一些实施方案中,即使未检测到设备的移动,也可周期性地(例如,每秒一次、或每N帧一次)执行3D重建以防止误差/漂移累积。
[0037] 在一些实施方案中,代替在已经检测到设备相对于用户眼睛的移动时执行3D重建,可确定所检测的运动的量值和方向,并且可根据所检测的HMD的运动的量值和方向来调整先前由3D重建方法生成的用户眼睛的3D模型。在这些实施方案中,可周期性地(例如,每秒一次、或每N帧一次)执行3D重建以防止误差/漂移累积。
[0038] 此外,描述了用于减小眼睛跟踪系统的功率消耗的方法和装置的实施方案,其中传感器(例如,光电传感器或光电二极管,在本文中称为眼睛运动传感器或眼睛测距仪)放置在设备中的一个或多个位置处以增强眼睛跟踪相机。眼睛测距仪可用作低功率部件以在由眼睛跟踪相机捕获的帧的处理之间的间隔中跟踪用户眼睛相对于设备的相对移动。根据由眼睛跟踪相机捕获的图像生成的3D模型提供绝对注视信息,而由眼睛测距仪在相机帧的处理之间的间隔中捕获的数据被处理以向先前已知和可信的3D模型提供相对更新。这可允许减小眼睛跟踪相机的帧速率,例如从120帧/秒减小到10帧/秒或更少,并且还可允许不太频繁地执行3D重建,从而显著减小眼睛跟踪系统的功率消耗。通过用眼睛测距仪增强眼睛跟踪来减小眼睛跟踪相机的帧速率还可显著减小眼睛跟踪系统的带宽使用和延迟。
[0039] 此外,描述了用于减小眼睛跟踪系统的功率消耗的方法和装置的实施方案,其中眼睛跟踪相机可捕获低分辨率帧,例如通过合并相机传感器上的像素或通过捕获相机传感器上的像素的水平和竖直的条带或线而不是整个帧(高分辨率帧)。该低分辨率信息可用于在由眼睛跟踪相机捕获的完整高分辨率帧的处理之间的间隔中跟踪用户眼睛相对于设备的相对移动。这可允许不太频繁地执行3D重建,从而显著减小眼睛跟踪系统的功率消耗。在这些实施方案中,当捕获和处理低分辨率帧时,眼睛跟踪相机本身可被视为“眼睛测距仪”。由相机传感器捕获的高分辨率帧包含比由相同相机传感器捕获的低分辨率帧更多的像素。
高分辨率帧可包括相机传感器能够捕获的大多数或所有像素,而低分辨率帧可包括比相同相机传感器能够捕获的像素显著更少的像素。在一些实施方案中,相机传感器可例如通过包括一个或多个处理器的控制器从捕获高分辨率帧的高分辨率模式切换到捕获低分辨率帧的低分辨率模式,例如通过合并相机传感器上的像素或通过捕获相机传感器上的水平和竖直条带或线。
[0040] 上述头部测距仪方法和眼睛测距仪方法可单独使用或组合使用。描述了包括头部测距仪以减小眼睛跟踪系统的功率消耗的HMD的实施方案。还描述了包括眼睛测距仪(由传感器或由眼睛跟踪相机实现)以减小眼睛跟踪系统的功率消耗和带宽使用的HMD的实施方案。此外,描述了包括头部测距仪和眼睛测距仪两者的HMD的实施方案。包括头部测距仪和眼睛测距仪两者的HMD的眼睛跟踪系统的实施方案可例如进一步减小执行3D重建的频率,并且还可减小执行对由眼睛跟踪相机捕获的帧的2D图像处理的频率,以进一步减小眼睛跟踪系统的功率消耗。
[0041] 虽然眼睛跟踪系统的实施方案在本文中一般被描述为包括至少一个眼睛跟踪相机,至少一个眼睛跟踪相机被定位在用户的面部的每个侧面处以跟踪用户的眼睛中的两者的注视,但是也可实现包括至少一个眼睛跟踪相机的眼睛跟踪系统,至少一个眼睛跟踪相机仅被定位在用户的面部的一个侧面处,以仅跟踪用户的眼睛中的一个眼睛的注视。
[0042] 图1示出根据一些实施方案的实现眼睛跟踪系统的示例性VR/AR HMD 100的侧视图。需注意,如图1所示的HMD 100以举例的方式给出,并且不旨在为限制性的。在各种实施方案中,HMD 100的形状、大小和其他特征可不同,并且HMD 100的部件的位置、数量、类型和其他特征可变化。VR/AR HMD 100可包括但不限于安装在可佩戴外壳或框架中的显示器110和两个光学透镜(目镜)120。如图1所示,HMD 100可被定位在用户190的头部上,使得显示器110和目镜120被设置在用户的眼睛192的前面。用户通过目镜120朝显示器110看。
[0043] 用于VR/AR系统的控制器160可在HMD 100中实现,或者替代地可至少部分地由经由有线或无线接口通信地耦接到HMD 100的外部设备(例如,计算系统)来实现。控制器160可包括各种类型的处理器、图像信号处理器(ISP)、图形处理单元(GPU)、编码器/译码器(编码译码器)和/或用于处理和渲染视频和/或图像的其他部件中的一个或多个。控制器160可渲染帧(每个帧包括左图像和右图像),该帧包括至少部分地基于从传感器获得的输入的虚拟内容,并且可将帧提供给HMD 100的投影系统用于显示到显示器110。图12还示出了根据一些实施方案的HMD和VR/AR系统的部件。
[0044] 眼睛跟踪系统可包括但不限于一个或多个眼睛跟踪相机140和IR光源130。IR光源130(例如,IR LED)可被定位在HMD 100中(例如,在目镜120周围或在HMD 100中的其他地方),以用IR光照射用户的眼睛192。至少一个眼睛跟踪相机140(例如,IR相机,例如400x400像素数相机或600x600像素数相机,其在850nm或940nm下或者在一些其他IR波长下操作,并且以每秒60帧-120帧(FPS)的速率捕获帧)位于用户190的面部的每一侧。在各种实施方案中,眼睛跟踪相机140可定位在用户190的面部的每一侧上的HMD 100中,以提供眼睛192的直接视图、眼睛192的通过目镜120的视图、或眼睛192的经由从热镜或其他反射部件反射的视图。需注意,眼睛跟踪相机140的位置和角度以举例的方式给出,并且不旨在为限制性的。
虽然图1示出了位于用户190的面部的每一侧上的单个眼睛跟踪相机140,但是在一些实施方案中,在用户190的面部的每一侧上可存在两个或更多个眼睛跟踪相机140。
[0045] 由一个或多个光源130发射的IR光的一部分从用户190的眼睛反射,并且由眼睛跟踪相机140捕获以使用户的眼睛192成像。可由控制器160分析由眼睛跟踪相机140捕获的图像以检测用户的眼睛192的特征(例如,通孔)、位置和运动,和/或检测关于眼睛192的其他信息,诸如瞳孔扩张。例如,可从眼睛跟踪图像估计显示器110上的注视点,以使得能够与显示器110上示出的内容进行基于注视的交互。又如,在一些实施方案中,由眼睛跟踪系统收集的信息可用于调整将投影的图像的渲染,并且/或者基于用户190的眼睛看的方向和角度来调整通过HMD 100的投影系统进行的图像的投影。
[0046] 具有如图1所示的眼睛跟踪系统的HMD 100的实施方案可例如用于增强或混合(AR)应用,以将增强或混合现实视图提供给用户190。虽然未示出,但是在一些实施方案中,HMD 100可包括例如位于HMD 100的外部表面上的一个或多个传感器,该一个或多个传感器收集关于用户190的外部环境的信息(视频、深度信息、照明信息等);传感器可将所收集的信息提供给VR/AR系统的控制器160。在一些实施方案中,传感器可包括一个或多个可见光相机(例如,RGB摄像机),该一个或多个可见光相机(例如,RGB摄像机)捕获用户的环境的视频,该视频可用于向用户190提供其真实环境的虚拟视图。在一些实施方案中,由可见光相机捕获的真实环境的视频流可由HMD 100的控制器处理,以渲染包括覆在真实环境的视图上的虚拟内容的增强或混合现实帧,并且所渲染的帧可被提供给HMD 100的投影系统用于在显示器110上显示。在一些实施方案中,显示器110发射可见光范围内的光,并且不发射IR范围内的光,并且因此不会在眼睛跟踪系统中引入噪声。具有如图1所示的眼睛跟踪系统的HMD 100的实施方案也可用于虚拟现实(VR)应用中以将VR视图提供给用户190。在这些实施方案中,HMD 100的控制器可渲染或获得包括虚拟内容的虚拟现实(VR)帧,并且所渲染的帧可被提供给HMD 100的投影系统用于在显示器110上显示。
[0047] 提供准确眼睛跟踪的关键是知道用户眼睛192相对于眼睛跟踪相机140的位置。在眼睛跟踪系统的一些实施方案中,为了准确地确定用户眼睛相对于眼睛跟踪相机的位置,控制器160可使用由眼睛跟踪相机140捕获的图像来执行3D重建以生成用户眼睛192的3D模型。眼睛192的3D模型指示眼睛192相对于眼睛跟踪相机140的3D位置,这允许由控制器160执行的眼睛跟踪算法准确地跟踪眼睛移动。然而,准确眼睛跟踪的关键要素是关于设备在用户头部上的移动的稳健性。HMD 190的移动或移除可使得使用3D重建来执行的初始校准无效。然而,在眼睛跟踪系统中,在用户眼睛192是否相对于相机140移动或相机140是否相对于用户眼睛192移动之间存在固有模糊。该模糊的常规解决方案是针对由眼睛跟踪相机140捕获的每个帧执行3D重建。然而,3D重建在计算上是昂贵的并且消耗显著量的功率。
[0048] 图2示出了根据一些实施方案的实现眼睛跟踪系统的示例性VR/AR HMD 200,该眼睛跟踪系统包括用于检测HMD 200相对于用户眼睛292的移动的传感器(称为头部运动传感器或头部测距仪)。需注意,如图2所示的HMD 200以举例的方式给出,并且不旨在为限制性的。在各种实施方案中,HMD 200的形状、大小和其他特征可不同,并且HMD 200的部件的位置、数量、类型和其他特征可变化。VR/AR HMD 200可包括但不限于安装在可佩戴外壳或框架中的显示器210和两个目镜220。用于VR/AR系统的控制器260可在HMD 200中实现,或者替代地可至少部分地由经由有线或无线接口通信地耦接到HMD 200的外部设备来实现。控制器260可包括各种类型的处理器、图像信号处理器(ISP)、图形处理单元(GPU)、编码器/译码器(编码译码器)和/或用于处理和渲染视频和/或图像的其他部件中的一个或多个。图12还示出了根据一些实施方案的HMD和VR/AR系统的部件。
[0049] HMD 200可包括眼睛跟踪系统,该眼睛跟踪系统包括但不限于一个或多个眼睛跟踪相机240和IR光源230。IR光源230(例如,IR LED)可被定位在HMD 200中(例如,在目镜220周围或在HMD 200中的其他地方),以用IR光照射用户的眼睛292。至少一个眼睛跟踪相机240(例如,IR相机,例如400×400像素数相机或600×600像素数相机,其在850nm或940nm下或者在某个其他IR波长下操作,并且以60-120帧/秒(FPS)的速率捕获帧)位于用户290的面部的每个侧面处。在各种实施方案中,眼睛跟踪相机240可在HMD 200中定位在用户290的面部的每个侧面上,以提供眼睛292的直接视图、眼睛292的通过目镜220的视图、或眼睛292的经由从热镜或其他反射部件反射的视图。需注意,眼睛跟踪相机240的位置和角度以举例的方式给出,并且不旨在为限制性的。虽然图2示出了位于用户290的面部的每个侧面上的单个眼睛跟踪相机240,但是在一些实施方案中,在用户290的面部的每个侧面上可存在两个或更多个眼睛跟踪相机240。
[0050] 为了跟踪HMD 200相对于用户眼睛的相对移动,眼睛跟踪系统还可包括传感器242(在本文中称为头部运动传感器或头部测距仪),其放置在设备中或设备上的一个或多个位置处,例如放置在用户耳部处或附近(242A)以主要跟踪俯仰以及放置在鼻梁处或附近(242B)以主要跟踪y移动。来自头部测距仪242A和头部测距仪242B的信号可用于检测HMD200相对于用户眼睛的移动。这可允许仅在检测到HMD 200相对于用户眼睛的移动时才执行3D重建,从而显著减小眼睛跟踪系统的功率消耗。当未检测到HMD 200的移动时,可执行对由眼睛跟踪相机240捕获的帧的2D图像处理(其在计算上比3D图像处理便宜得多)以跟踪用户眼睛292。在一些实施方案中,即使未检测到HMD 200的移动,也可周期性地(例如,每秒一次、或每N帧一次)执行3D重建以防止误差/漂移累积。
[0051] 在一些实施方案中,代替在已经检测到HMD 200相对于用户眼睛292的移动时执行3D重建,可确定所检测的运动的量值和方向,并且可根据所检测的HMD 200的运动的量值和方向来调整先前由3D重建方法生成的用户眼睛292的3D模型。在这些实施方案中,可周期性地(例如,每秒一次、或每N帧一次)执行3D重建以防止误差/漂移累积。
[0052] 可用于实现眼睛跟踪系统中的头部测距仪242的不同技术的示例在以下标题为示例性传感器的部分中给出。
[0053] 图3是根据一些实施方案的眼睛跟踪方法的流程图,其中使用传感器来检测HMD相对于用户眼睛的移动,并且其中仅在检测到HMD的移动时执行3D重建。例如,图3的方法可在如图2所示的VR/AR系统中执行。
[0054] 如在310处指示的,可执行3D重建方法以使用由眼睛跟踪相机捕获的帧来生成用户眼睛的3D模型。例如,可在HMD的初始化/校准时执行3D重建。眼睛的3D模型指示眼睛相对于眼睛跟踪相机的3D位置,这允许由控制器执行的眼睛跟踪算法准确地跟踪眼睛相对于HMD的移动。
[0055] 如在320处指示的,可执行对由眼睛跟踪相机捕获的帧的2D图像处理以跟踪用户眼睛相对于HMD的移动。通过2D图像处理跟踪的眼睛移动可例如用于确定HMD的显示器上的注视点。
[0056] 如在330处指示的,可使用HMD上的传感器来跟踪HMD相对于用户头部的相对移动。准确眼睛跟踪的关键要素是关于设备在用户头部上的移动的稳健性。如果HMD在使用期间在用户头部上移动,则可使得在要素310处使用3D重建来执行的眼睛跟踪系统的初始校准无效。然而,在眼睛跟踪系统中,在用户眼睛是否相对于相机/HMD移动或相机/HMD是否相对于用户眼睛移动之间存在固有模糊。为了跟踪HMD相对于用户眼睛的移动,将传感器(称为头部运动传感器或头部测距仪)放置在HMD中或HMD上的一个或多个位置处,例如如图2所示。来自头部测距仪的信号可由控制器处理以跟踪HMD相对于用户眼睛的移动。
[0057] 在340处,只要控制器未从头部测距仪信号中检测到HMD相对于用户眼睛的移动,眼睛跟踪方法就可继续执行2D图像处理以跟踪用户眼睛相对于HMD的移动,如在320处指示的。在340处,如果控制器检测到HMD相对于用户眼睛的移动,则方法返回到要素310以再次执行3D重建方法,以便使用由眼睛跟踪相机捕获的帧来生成用户眼睛的新3D模型,这允许由控制器执行的眼睛跟踪算法继续准确地跟踪眼睛相对于HMD的移动。
[0058] 图3的方法可允许仅在检测到HMD相对于用户眼睛的移动时才执行3D重建,从而显著减小眼睛跟踪系统的功率消耗。当未检测到HMD的移动时,可执行对由眼睛跟踪相机捕获的帧的2D图像处理(其在计算上比3D图像处理便宜得多)以跟踪用户眼睛。在一些实施方案中,即使未检测到HMD相对于用户眼睛的移动,也可周期性地(例如,每秒一次、或每N帧一次)执行3D重建以防止误差/漂移累积。
[0059] 图4是根据一些实施方案的眼睛跟踪方法的流程图,其中使用传感器来检测HMD相对于用户眼睛的移动,并且其中当检测到HMD的移动时调整眼睛的3D模型。例如,图4的方法可在如图2所示的VR/AR系统中执行。
[0060] 如在420处指示的,可执行对由眼睛跟踪相机捕获的帧的2D图像处理以跟踪用户眼睛相对于HMD的移动。通过2D图像处理跟踪的眼睛移动可例如用于确定HMD的显示器上的注视点。
[0061] 如在430处指示的,可使用HMD上的传感器来跟踪HMD相对于用户头部的相对移动。为了跟踪HMD相对于用户眼睛的移动,将传感器(称为头部运动传感器或头部测距仪)放置在HMD中或HMD上的一个或多个位置处,例如如图2所示。来自头部测距仪的信号可由控制器处理以跟踪HMD相对于用户眼睛的移动。
[0062] 在440处,只要控制器未从头部测距仪信号中检测到HMD相对于用户眼睛的移动,眼睛跟踪方法就可继续执行2D图像处理以跟踪用户眼睛相对于HMD的移动,如在420处指示的。在440处,如果控制器检测到HMD相对于用户眼睛的移动,则如在450处指示的,控制器可调整在410处生成的3D模型,并且方法可继续执行2D图像处理以跟踪用户眼睛相对于HMD的移动,如在420处指示的。可根据头部测距仪信号确定移动的量值和方向。然后控制器可使用该信息来调整3D模型,这允许由控制器执行的眼睛跟踪算法继续使用2D图像处理来准确地跟踪眼睛相对于HMD的移动,而不需要执行昂贵的3D重建。然而,在这些实施方案中,可周期性地(例如,每秒一次、或每N帧一次)执行3D重建以重新校准眼睛跟踪系统。
[0063] 图4的方法可允许与图3的方法相比更不频繁地执行3D重建,从而进一步减小眼睛跟踪系统的功率消耗。当未检测到HMD的移动时,可执行对由眼睛跟踪相机捕获的帧的2D图像处理(其在计算上比3D图像处理便宜得多)以跟踪用户眼睛。当检测到移动时,可调整3D模型而不需要昂贵的3D重建。可能仅需要偶尔执行3D重建以防止误差/漂移累积。
[0064] 图5示出了根据一些实施方案的实现眼睛跟踪系统的示例性VR/AR HMD,该眼睛跟踪系统包括用于在由眼睛跟踪相机捕获的帧的处理之间的间隔中跟踪眼睛的移动的传感器。需注意,如图5所示的HMD 500以举例的方式给出,并且不旨在为限制性的。在各种实施方案中,HMD 500的形状、大小和其他特征可不同,并且HMD 500的部件的位置、数量、类型和其他特征可变化。VR/AR HMD 500可包括但不限于安装在可佩戴外壳或框架中的显示器510和两个目镜520。用于VR/AR系统的控制器560可在HMD 500中实现,或者替代地可至少部分地由经由有线或无线接口通信地耦接到HMD 500的外部设备来实现。控制器560可包括各种类型的处理器、图像信号处理器(ISP)、图形处理单元(GPU)、编码器/译码器(编码译码器)和/或用于处理和渲染视频和/或图像的其他部件中的一个或多个。图12还示出了根据一些实施方案的HMD和VR/AR系统的部件。
[0065] HMD 500可包括眼睛跟踪系统,该眼睛跟踪系统包括但不限于一个或多个眼睛跟踪相机540和IR光源530。IR光源530(例如,IR LED)可被定位在HMD 500中(例如,在目镜520周围或在HMD 500中的其他地方),以用IR光照射用户的眼睛592。至少一个眼睛跟踪相机540(例如,IR相机,例如400×400像素数相机或600×600像素数相机,其在850nm或940nm下或者在某个其他IR波长下操作,并且可能够以60-120帧/秒(FPS)的速率捕获帧)位于用户
590的面部的每个侧面处。在各种实施方案中,眼睛跟踪相机540可在HMD 500中定位在用户
590的面部的每个侧面上,以提供眼睛592的直接视图、眼睛592的通过目镜520的视图、或眼睛592的经由从热镜或其他反射部件反射的视图。需注意,眼睛跟踪相机540的位置和角度以举例的方式给出,并且不旨在为限制性的。虽然图5示出了位于用户590的面部的每个侧面上的单个眼睛跟踪相机540,但是在一些实施方案中,在用户590的面部的每个侧面上可存在两个或更多个眼睛跟踪相机540。
[0066] 为了跟踪用户眼睛592相对于HMD 500的相对移动,眼睛跟踪系统还可包括放置在HMD 500中的一个或多个位置处以增强眼睛跟踪相机540的传感器544(例如,光电传感器或光电二极管,在本文中称为眼睛运动传感器或眼睛测距仪)。眼睛测距仪544可用作低功率部件以在由相机540捕获的帧的处理之间的间隔中跟踪用户眼睛592相对于HMD 500的相对移动,以生成用户眼睛的3D模型。根据由眼睛跟踪相机540捕获的图像生成的3D模型以相机的帧速率提供绝对注视信息,而由眼睛测距仪544捕获的数据在相机帧的处理之间的间隔中被处理以向根据所捕获的图像生成的3D模型提供相对更新。这可允许减小眼睛跟踪相机540的帧速率,例如从120帧/秒减小到10帧/秒或更少,并且还可允许不太频繁地(例如,每秒10次或更少)执行基于所捕获的帧的3D重建,从而显著减小眼睛跟踪系统的功率消耗。通过用眼睛测距仪544增强眼睛跟踪来减小眼睛跟踪相机540的帧速率还可显著减小眼睛跟踪系统的带宽使用和延迟。可用于实现眼睛跟踪系统中的眼睛测距仪544的不同技术的示例在以下标题为示例性传感器的部分中给出。
[0067] 图6是根据一些实施方案的眼睛跟踪方法的流程图,其中使用传感器以在由眼睛跟踪相机捕获的帧的处理之间的间隔中跟踪眼睛的移动。例如,图6的方法可在如图5所示的VR/AR系统中执行。如在610处指示的,可由眼睛跟踪相机捕获一个或多个帧。如在620处指示的,可执行3D重建方法以使用由眼睛跟踪相机捕获的帧来生成用户眼睛的3D模型。例如,可在HMD的初始化/校准时执行3D重建。眼睛的3D模型指示眼睛相对于眼睛跟踪相机的3D位置,这允许由控制器执行的眼睛跟踪算法准确地跟踪眼睛相对于HMD的移动。
[0068] 如在630处指示的,在执行初始3D重建以生成眼睛的3D模型之后,可使用由眼睛测距仪(例如,光电传感器或光电二极管)捕获和从其收集的数据来跟踪用户眼睛相对于HMD的相对移动。在640处,眼睛跟踪系统可继续使用来自眼睛测距仪的数据来跟踪用户眼睛,直到检测到HMD相对于用户头部的移动,经过时间限制,或超过眼睛测距仪数据的置信度阈值。如果检测到HMD相对于用户头部的移动,已经过时间限制,或已超过置信度阈值,则方法返回到要素610以使用眼睛跟踪相机来捕获一个或多个帧,并且执行3D重建方法620以使用由眼睛跟踪相机捕获的帧来生成用户眼睛的新3D模型。方法然后恢复在630处使用眼睛测距仪信息来跟踪眼睛。
[0069] 图7示出了根据一些实施方案的实现眼睛跟踪系统的示例性VR/AR HMD,其中低分辨率帧由眼睛跟踪相机捕获并且用于在由眼睛跟踪相机捕获的高分辨率帧的处理之间的间隔中跟踪眼睛的移动。需注意,如图7所示的HMD 700以举例的方式给出,并且不旨在为限制性的。在各种实施方案中,HMD 700的形状、大小和其他特征可不同,并且HMD 700的部件的位置、数量、类型和其他特征可变化。VR/AR HMD 700可包括但不限于安装在可佩戴外壳或框架中的显示器710和两个目镜720。用于VR/AR系统的控制器760可在HMD 700中实现,或者替代地可至少部分地由经由有线或无线接口通信地耦接到HMD 700的外部设备来实现。控制器760可包括各种类型的处理器、图像信号处理器(ISP)、图形处理单元(GPU)、编码器/译码器(编码译码器)和/或用于处理和渲染视频和/或图像的其他部件中的一个或多个。图
12还示出了根据一些实施方案的HMD和VR/AR系统的部件。
[0070] HMD 700可包括眼睛跟踪系统,该眼睛跟踪系统包括但不限于一个或多个眼睛跟踪相机740和IR光源730。IR光源730(例如,IR LED)可被定位在HMD 700中(例如,在目镜720周围或在HMD 700中的其他地方),以用IR光照射用户的眼睛792。至少一个眼睛跟踪相机740(例如,IR相机,例如400×400像素数相机或600×600像素数相机,其在850nm或940nm下或者在某个其他IR波长下操作,并且以60-120帧/秒(FPS)的速率捕获帧)位于用户790的面部的每个侧面处。在各种实施方案中,眼睛跟踪相机740可在HMD 700中定位在用户790的面部的每个侧面上,以提供眼睛792的直接视图、眼睛792的通过目镜720的视图、或眼睛792的经由从热镜或其他反射部件反射的视图。需注意,眼睛跟踪相机740的位置和角度以举例的方式给出,并且不旨在为限制性的。虽然图7示出了位于用户790的面部的每个侧面上的单个眼睛跟踪相机740,但是在一些实施方案中,在用户790的面部的每个侧面上可存在两个或更多个眼睛跟踪相机740。
[0071] 为了跟踪用户眼睛792相对于HMD 700的相对移动,代替如图5所示在HMD 500中包括眼睛测距仪544,眼睛跟踪相机740可捕获低分辨率帧(例如,通过如图8A所示合并相机传感器上的像素,或者通过如图8B所示捕获相机传感器上的像素的水平条带和竖直条带而不是整个帧)。在这些实施方案中,相机740可能以高分辨率模式或低分辨率模式操作。控制器760可在处理一个或多个高分辨率帧以生成眼睛792的3D模型期间或之后发信号通知相机
740切换到低分辨率模式,并且例如在检测到HMD 700相对于用户头部790的移动时发信号通知相机740切换到高分辨率模式。低分辨率图像可用于在控制器760处理由眼睛跟踪相机捕获的完整高分辨率帧之间的间隔中跟踪用户眼睛792相对于HMD 700的相对移动。这可允许不太频繁地捕获高分辨率帧,并且还允许不太频繁地执行3D重建,从而显著减小眼睛跟踪系统中的相机740和控制器760的功率消耗。减小所捕获和处理的高分辨率帧的数量还可显著减小眼睛跟踪系统的带宽使用和延迟。因此,当在高分辨率帧的捕获和处理之间的间隔中捕获和处理低分辨率帧时,眼睛跟踪相机740本身可被视为“眼睛测距仪”。
[0072] 图8A和图8B示出了根据一些实施方案的可由图7的眼睛跟踪相机740捕获的非限制性示例低分辨率帧。图8A示出了在高分辨率模式中的处于640×640分辨率(400k像素)的帧的示例。在低分辨率模式中,相机740将32×32像素块合并成一个像素,从而得到20×20分辨率(400像素),其可在2D中处理以便在3D中捕获和处理完整高分辨率帧之间的间隔中跟踪用户眼睛的移动。图8B示出了在低分辨率模式中捕获像素的水平线和竖直线而不是整个帧的示例。可在2D中处理所捕获的线以在3D中捕获和处理完整高分辨率帧之间的间隔中跟踪用户眼睛的移动。
[0073] 图9是根据一些实施方案的眼睛跟踪方法的流程图,其中低分辨率帧由眼睛跟踪相机捕获并且用于在由眼睛跟踪相机捕获的高分辨率帧的处理之间的间隔中跟踪眼睛的移动。例如,图9的方法可在如图7所示的VR/AR系统中执行。如在910处指示的,可由眼睛跟踪相机捕获一个或多个高分辨率帧。如在920处指示的,可执行3D重建方法以使用由眼睛跟踪相机捕获的高分辨率帧来生成用户眼睛的3D模型。例如,可在HMD的初始化/校准时执行3D重建。眼睛的3D模型指示眼睛相对于眼睛跟踪相机的3D位置,这允许由控制器执行的眼睛跟踪算法准确地跟踪眼睛相对于HMD的移动。
[0074] 如在930处指示的,在执行初始3D重建以生成眼睛的3D模型之后,眼睛跟踪相机可切换到低分辨率模式以捕获低分辨率帧,例如通过如图8A所示合并相机传感器上的像素,或者通过如图8B所示捕获相机传感器上的像素的水平线和竖直线。在一些实施方案中,控制器可在处理所捕获的高分辨率帧以生成眼睛的3D模型期间或之后发信号通知眼睛跟踪相机切换到低分辨率模式。如在940处指示的,可使用在低分辨率模式中捕获的低分辨率图像来跟踪用户眼睛相对于HMD的移动。在950处,眼睛跟踪系统可继续捕获低分辨率图像并且使用低分辨率信息相对于HMD跟踪用户眼睛,直到检测到HMD相对于用户头部的移动,经过时间限制,或超过置信度阈值。在950处,如果检测到HMD相对于用户头部的移动,已经过时间限制,或已超过置信度阈值,则方法返回到要素910以使用眼睛跟踪相机来捕获一个或多个高分辨率帧,并且执行3D重建方法920以使用由眼睛跟踪相机捕获的帧来生成用户眼睛的新3D模型。在一些实施方案中,在检测到HMD相对于用户头部的移动,确定已经过时间限制,或确定已超过置信度阈值时,控制器可发信号通知眼睛跟踪相机切换到高分辨率模式。然后,眼睛跟踪系统恢复在930处捕获低分辨率图像,并且在940处使用低分辨率图像来跟踪眼睛。
[0075] 上文参考图2至图9所述的头部测距仪方法和眼睛测距仪方法可组合使用。参考图10和图11描述了包括头部测距仪和眼睛测距仪两者的HMD的实施方案。
[0076] 图10示出了根据一些实施方案的实现眼睛跟踪系统的示例性VR/AR HMD,该眼睛跟踪系统包括检测HMD相对于用户眼睛的移动的头部测距仪,以及在由眼睛跟踪相机捕获的帧的处理之间的间隔中跟踪眼睛的移动的眼睛测距仪。需注意,如图10所示的HMD 1000以举例的方式给出,并且不旨在为限制性的。在各种实施方案中,HMD 1000的形状、大小和其他特征可不同,并且HMD 1000的部件的位置、数量、类型和其他特征可变化。VR/AR HMD 1000可包括但不限于安装在可佩戴外壳或框架中的显示器1010和两个目镜1020。用于VR/AR系统的控制器1060可在HMD 1000中实现,或者替代地可至少部分地由经由有线或无线接口通信地耦接到HMD 1000的外部设备来实现。控制器1060可包括各种类型的处理器、图像信号处理器(ISP)、图形处理单元(GPU)、编码器/译码器(编码译码器)和/或用于处理和渲染视频和/或图像的其他部件中的一个或多个。图12还示出了根据一些实施方案的HMD和VR/AR系统的部件。
[0077] HMD 1000可包括眼睛跟踪系统,该眼睛跟踪系统包括但不限于一个或多个眼睛跟踪相机1040和IR光源1030。IR光源1030(例如,IRLED)可被定位在HMD 1000中(例如,在目镜1020周围或在HMD 1000中的其他地方),以用IR光照射用户的眼睛1092。至少一个眼睛跟踪相机1040(例如,IR相机,例如400×400像素数相机或600×600像素数相机,其在850nm或
940nm下或者在某个其他IR波长下操作,并且以60-120帧/秒(FPS)的速率捕获帧)位于用户
1090的面部的每个侧面处。在各种实施方案中,眼睛跟踪相机1040可在HMD 1000中定位在用户1090的面部的每个侧面上,以提供眼睛1092的直接视图、眼睛1092的通过目镜1020的视图、或眼睛1092的经由从热镜或其他反射部件反射的视图。需注意,眼睛跟踪相机1040的位置和角度以举例的方式给出,并且不旨在为限制性的。虽然图10示出了位于用户1090的面部的每个侧面上的单个眼睛跟踪相机1040,但是在一些实施方案中,在用户1090的面部的每个侧面上可存在两个或更多个眼睛跟踪相机1040。
[0078] 为了跟踪HMD 1000相对于用户眼睛的相对移动,眼睛跟踪系统还可包括头部测距仪1042,其放置在设备中或设备上的一个或多个位置处,例如放置在用户耳部处或附近(1042A)以主要跟踪俯仰以及放置在鼻梁处或附近(1042B)以主要跟踪y移动。控制器1060可处理来自头部测距仪1042A和头部测距仪1042B的信号以检测HMD 1000相对于用户眼睛的移动。这可允许仅在检测到HMD 1000相对于用户眼睛的移动时才由控制器1060执行3D重建,从而显著减小眼睛跟踪系统的功率消耗。在一些实施方案中,代替在已经检测到HMD 1000相对于用户眼睛1092的移动时执行3D重建,控制器1060可确定所检测的运动的量值和方向,并且控制器1060可根据所检测的HMD 1000的运动的量值和方向来调整先前由3D重建方法生成的用户眼睛1092的3D模型。
[0079] 为了跟踪用户眼睛1092相对于HMD 1000的相对移动,眼睛跟踪系统还可包括放置在HMD 1000中的一个或多个位置处以增强眼睛跟踪相机1040的眼睛测距仪1044。眼睛测距仪1044可用作低功率部件以在由相机1040捕获的帧的处理之间的间隔中跟踪用户眼睛1092相对于HMD 500的相对移动。由控制器1060根据由眼睛跟踪相机1040捕获的图像生成的3D模型提供绝对注视信息,而由眼睛测距仪1044在相机帧的处理之间的间隔中捕获的数据由控制器1060处理以向先前已知和可信的3D模型提供相对更新。这可允许减小眼睛跟踪相机1040的帧速率,例如从120帧/秒减小到10帧/秒或更少,并且还可允许控制器1060不太频繁地执行3D重建,从而显著减小眼睛跟踪系统的功率消耗。用眼睛测距仪1044增强眼睛跟踪还可显著减小眼睛跟踪系统的带宽使用和延迟。可用于实现眼睛跟踪系统中的眼睛测距仪1044的不同技术的示例在以下标题为示例性传感器的部分中给出。
[0080] 作为替代方案,在一些实施方案中,代替使用HMD 1000中的眼睛测距仪1044以在帧之间的间隔中跟踪眼睛移动,眼睛跟踪相机1040可在捕获高分辨率帧之间的间隔中捕获低分辨率帧,例如,通过合并相机传感器上的像素,或者通过捕获相机传感器上的像素的水平和竖直的条带或线而不是整个帧。该低分辨率信息可由控制器1060处理以在由眼睛跟踪相机1040捕获并由控制器1060处理的完整高分辨率帧之间的间隔中跟踪用户眼睛1092相对于HMD 1000的相对移动。
[0081] 图11是根据一些实施方案的眼睛跟踪方法的流程图,其中使用头部测距仪来检测HMD相对于用户眼睛的移动,并且使用眼睛测距仪以在由眼睛跟踪相机捕获的帧的处理之间的间隔中跟踪眼睛的移动。例如,图11的方法可在如图10所示的VR/AR系统中执行。如在1110处指示的,可由眼睛跟踪相机捕获一个或多个帧。如在1120处指示的,可执行3D重建方法以使用由眼睛跟踪相机捕获的帧来生成用户眼睛的3D模型。例如,可在HMD的初始化/校准时执行3D重建。眼睛的3D模型指示眼睛相对于眼睛跟踪相机的3D位置,这允许由控制器执行的眼睛跟踪算法准确地跟踪眼睛相对于HMD的移动。
[0082] 如在1130处指示的,在执行初始3D重建以生成眼睛的3D模型之后,可使用由HMD上的眼睛测距仪捕获和从其收集的数据在2D空间中跟踪用户眼睛相对于HMD的移动。如在1140处指示的,可使用HMD上的头部测距仪来跟踪HMD相对于用户头部的相对移动。
[0083] 在1150处,如果控制器根据从头部测距仪接收的数据检测到HMD相对于用户眼睛的移动,则方法返回到要素1110以再次执行3D重建方法,从而使用由眼睛跟踪相机捕获的帧来生成用户眼睛的新3D模型。另选地,可根据头部测距仪信号确定移动的量值和方向。然后控制器可使用该信息来调整3D模型,这允许由控制器执行的眼睛跟踪算法继续准确地在2D空间中跟踪眼睛相对于HMD的移动,而不需要执行3D重建。
[0084] 在1150处,如果未检测到HMD相对于用户头部的移动,并且如果在1160处尚未经过时间限制,则眼睛跟踪方法可继续在1130处使用来自眼睛测距仪的数据来跟踪用户眼睛相对于HMD的移动,并且继续在1140处使用来自头部测距仪的数据来跟踪HMD相对于HMD的移动。在1160处,如果已经过时间限制,并且如果在1170处尚未超过眼睛跟踪数据的置信度阈值,则眼睛跟踪方法可继续在1130处使用来自眼睛测距仪的数据来跟踪用户眼睛相对于HMD的移动,并且继续在1140处使用来自头部测距仪的数据来跟踪HMD相对于HMD的移动。在1170处,如果已超过置信度阈值,则方法返回到要素1110以再次执行3D重建方法,从而使用由眼睛跟踪相机捕获的帧来生成用户眼睛的新3D模型。
[0085] 如图10和图11所述的包括头部测距仪和眼睛测距仪两者的HMD的眼睛跟踪系统的实施方案可例如进一步减小执行3D重建的频率,并且还可减小执行对由眼睛跟踪相机捕获的帧的2D图像处理的频率,以进一步减小眼睛跟踪系统的功率消耗。
[0086] 示例性传感器
[0087] 下文提供了可用于实现图2至图13所述的眼睛跟踪系统中的头部运动传感器和眼睛运动传感器的不同技术的非限制性示例。这些技术可分为三大类:漂移补偿(1D)技术、测距(2D)技术和绝对跟踪(5D)技术。
[0088] 漂移补偿技术可通过接触工作,并且可包括HMD中的测距传感器,例如HMD的鼻垫中的在用户鼻部的鼻梁上进行接触的测距传感器,以及HMD的颞部区域处的在用户耳朵附近进行接触的测距传感器。测距传感器可测量力。代替或除此之外,传感器可以是电容式传感器。作为替代方案,可使用具有智能基线的加速度计。
[0089] 测距技术可分为五类:电气技术、光学技术、声学技术、雷达技术和压力技术。电气测距技术可包括但不限于EOG/EMG、ECG和容量传感器(波导或三角测量)技术。光学测距技术可包括但不限于光电传感器、光电二极管阵列、接近传感器和扫描仪(TOF、强度或相位)技术。声学测距技术可包括但不限于声纳(连续波、TOF或谐振)技术。雷达测距技术可包括但不限于连续波或TOF雷达技术。压力测距技术可包括但不限于IMU(惯性测量单元)或感测来自眼睛移动的压力变化的其他传感器。
[0090] 绝对跟踪技术可分为两类:光学技术和声纳技术。光学绝对跟踪技术可包括但不限于单像素TOF传感器技术或各种相机技术。相机技术可包括但不限于DVS、CIS(RGB+IR)、压缩感测、跳过/合并(例如,狭缝相机)和热成像(短、中、长、焦热电或热电)技术。声纳绝对跟踪技术可包括但不限于收发器阵列、视线和非视线声纳技术。
[0091] 图12是示出根据一些实施方案的示例性VR/AR系统的框图,该示例性VR/AR系统包括如图2至图11所示的眼睛跟踪系统的部件。在一些实施方案中,VR/AR系统可包括HMD 2000,诸如头戴式耳机、头盔、护目镜或眼镜。HMD 2000可实施各种类型的虚拟现实投影仪技术中的任一种。例如,HMD 2000可包括VR投影系统,VR投影系统包括投影仪2020,投影仪
2020在由用户通过目镜2220A和目镜2220B观看的屏幕或显示器2022A和显示器2022B上显示包括左图像和右图像的帧。VR投影系统可例如是DLP(数字光处理)、LCD(液晶显示器)或LCoS(硅基液晶)技术投影系统。为了在3D虚拟视图中创建三维(3D)效果,两个图像中不同深度或距离处的对象可作为距离的三角测量的函数向左或向右偏移,其中较近的对象比更远的对象偏移得更多。需注意,在一些实施方案中,可使用其他类型的投影系统。
[0092] 在一些实施方案中,HMD 2000可包括控制器2030,控制器2030被配置为实现VR/AR系统的功能,并且生成由投影仪2020显示的帧(每个帧包括左图像和右图像)。在一些实施方案中,HMD 2000也可包括存储器2032,存储器2032被配置为存储由控制器2030可执行的VR/AR系统的软件(代码2034),以及当在控制器2030上执行时可由VR/AR系统使用的数据2038。在一些实施方案中,HMD 2000也可包括一个或多个接口(例如,蓝牙技术接口、USB接口等),一个或多个接口(例如,蓝牙技术接口、USB接口等)被配置为经由有线或无线连接与外部装置2100通信。在一些实施方案中,针对控制器2030描述的功能中的至少一部分可由外部装置2100实现。外部装置2100可为或可包括任何类型的计算系统或计算装置,诸如台式计算机、笔记本或膝上型计算机、平板或平板装置,智能电话、手持式计算装置、游戏控制器、游戏系统等等。
[0093] 在各种实施方案中,控制器2030可为包括一个处理器的单处理器系统、或包括若干个处理器(例如,两个、四个、八个或另一合适数量)的多处理器系统。控制器2030可包括被配置为实现任何合适的指令集架构的中央处理单元(CPU),并且可被配置为执行在该指令集架构中定义的指令。例如,在各种实施方案中,控制器2030可包括实现多种指令集架构(ISA)(诸如x86、PowerPC、SPARC、RISC或MIPS ISA、或任何其他合适的ISA)中的任何指令集架构的通用处理器或嵌入式处理器。在多处理器系统中,每个处理器可共同实现相同的ISA,但不是必需的。控制器2030可采用任何微架构,包括标量、超标量、流水线、超流水线、乱序、有序、推测性、非推测性等,或它们的组合。控制器2030可包括实现微码技术的电路。控制器2030可包括各自被配置为执行指令的一个或多个处理核心。控制器2030可包括一个或多个级别的高速缓存,该高速缓存可采用任何大小和任何配置(集合关联、直接映射等)。
在一些实施方案中,控制器2030可包括至少一个图形处理单元(GPU),该至少一个图形处理单元(GPU)可包括任何合适的图形处理电路。通常,GPU可被配置为将待显示对象渲染到帧缓冲区中(例如,包括整个帧的像素数据的帧缓冲区)。GPU可包括一个或多个图形处理器,该图形处理器可执行图形软件以进行部分或全部的图形操作或某些图形操作的硬件加速。
在一些实施方案中,控制器2030可包括用于处理和渲染视频和/或图像的一个或多个其他部件,例如图像信号处理器(ISP)、编码器/译码器等。
[0094] 存储器2032可包括任何类型的存储器,诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双数据速率(DDR、DDR2、DDR3等)SDRAM(包括SDRAM的移动版本,诸如mDDR3等,或SDRAM的低功率版本,诸如LPDDR2等)、RAMBUS DRAM(RDRAM)、静态RAM(SRAM)等。在一些实施方案中,一个或多个存储器设备可以耦合到电路板上以形成存储器模块,诸如单列直插存储器模块(SIMM)、双列直插存储器模块(DIMM)等。另选地,设备可以与实现系统的集成电路在芯片堆叠构造、封装堆叠构造或者多芯片模块构造中安装。
[0095] 在一些实施方案中,HMD 2000可包括一个或多个传感器2050,一个或多个传感器2050收集关于用户的环境的信息(视频、深度信息、照明信息等)。传感器2050可将信息提供给VR/AR系统的控制器2030。在一些实施方案中,传感器2050可包括但不限于可见光相机(例如,摄像机)。
[0096] 如图1、图2、图5、图7和图10所示,HMD 2000可被定位在用户的头部上,使得显示器2022A和显示器2022B以及目镜2220A和目镜2220B被设置在用户的眼睛2292A和眼睛2292B的前面。IR光源2230A和IR光源2230B(例如,IR LED)可被定位在HMD 2000中(例如,在目镜
2220A和目镜2220B周围或在HMD 2000中的其他地方),以用IR光照射用户的眼睛2292A和眼睛2292B。眼睛跟踪相机2240A和眼睛跟踪相机2240B(例如,IR相机,例如在850nm或940nm或一些其他IR波长下操作并且以每秒60帧-120帧(FPS)的速率捕获帧的400x400像素数相机或600x600像素数相机)位于用户面部的每一侧。在各种实施方案中,眼睛跟踪相机2240可定位在HMD 2000中,以提供眼睛2292的直接视图、眼睛2292的通过目镜2220的视图、或眼睛
2292的经由从热镜或其他反射部件反射的视图。需注意,眼睛跟踪相机2240A和眼睛跟踪相机2240B的位置和角度以举例的方式给出,并且不旨在为限制性的。在一些实施方案中,可存在位于用户的面部的每个侧面上的单个眼睛跟踪相机2240。在一些实施方案中,在用户的面部的每一侧上可存在两个或更多个眼睛跟踪相机2240。例如,在一些实施方案中,广角相机2240和较窄角度相机2240可用于用户的面部的每个侧面上。由光源2230A和光源2230B发射的IR光的一部分从用户的眼睛2292A和眼睛2292B反射,接收在相应的眼睛跟踪相机
2240A和眼睛跟踪相机2240B处,并且由眼睛跟踪相机2240A和眼睛跟踪相机2240B捕获以使用户的眼睛2292A和眼睛2292B成像。由相机2240A和相机2240B捕获的眼睛跟踪信息可被提供给控制器2030。控制器2030可分析眼睛跟踪信息(例如,用户的眼睛2292A和眼睛2292B的图像)以确定眼睛2292A和眼睛2292B的眼睛位置和运动和/或其他特征。在一些实施方案中,为了准确地确定用户的眼睛2292A和眼睛2292B相对于眼睛跟踪相机2240A和眼睛跟踪相机2240B的位置,控制器2030可使用由眼睛跟踪相机2240A和眼睛跟踪相机2240B捕获的图像来执行3D重建,以生成用户的眼睛2292A和眼睛2292B的3D模型。眼睛2292A和眼睛
2292B的3D模型指示眼睛2292A和眼睛2292B相对于眼睛跟踪相机2240A和眼睛跟踪相机
2240的3D位置,这允许由控制器执行的眼睛跟踪算法准确地跟踪眼睛运动。
[0097] 在一些实施方案中,HMD 2000可包括传感器2242(在本文中称为头部运动传感器或头部测距仪),其放置在设备中或设备上的一个或多个位置处,例如放置在用户耳部处或附近(2242A)以主要跟踪俯仰以及放置在鼻梁处或附近(2242B)以主要跟踪y移动。来自头部测距仪2242A和头部测距仪2242B的信号可用于检测HMD 2000相对于用户的眼睛2292A和眼睛2292B的移动。这可允许仅在检测到HMD 2000相对于用户的眼睛2292A和眼睛2292B的移动时才执行3D重建,从而显著减小眼睛跟踪系统的功率消耗。当未检测到HMD 2000的移动时,可执行对由眼睛跟踪相机2240A和眼睛跟踪相机2240B捕获的帧的2D图像处理(其在计算上比3D图像处理便宜得多)以跟踪用户的眼睛2292A和眼睛2292B。在一些实施方案中,即使未检测到HMD 2000的移动,也可周期性地(例如,每秒一次、或每N帧一次)执行3D重建以防止误差/漂移累积。在一些实施方案中,代替在已经检测到HMD 2000相对于用户的眼睛2292A和眼睛2292B的移动时执行3D重建,可确定所检测的运动的量值和方向,并且可根据所检测的HMD 2000的运动的量值和方向来调整先前由3D重建方法生成的用户的眼睛2292A和眼睛2292B的3D模型。在这些实施方案中,可周期性地(例如,每秒一次、或每N帧一次)执行3D重建以防止误差/漂移累积。
[0098] 在一些实施方案中,HMD 2000可包括放置在设备中的一个或多个位置处以增强眼睛跟踪相机2240A和眼睛跟踪相机2240B的传感器2244(例如,光电传感器或光电二极管,在本文中称为眼睛运动传感器或眼睛测距仪)。眼睛测距仪2244A和眼睛测距仪2244B可用作低功率部件以在由相机2240A和相机2240B捕获的帧的处理之间的间隔中跟踪用户的眼睛2292A和眼睛2292B相对于相机2240的相对移动。这可允许减小眼睛跟踪相机2240A和眼睛跟踪相机2240B的帧速率,例如从120帧/秒减小到10帧/秒,并且还可允许不太频繁地执行
3D重建,从而显著减小眼睛跟踪系统的功率消耗。通过用眼睛测距仪2244A和眼睛测距仪
2244B增强眼睛跟踪来减小眼睛跟踪相机2240A和眼睛跟踪相机2240B的帧速率也显著减小眼睛跟踪系统的带宽使用。
[0099] 在一些实施方案中,代替使用传感器2244A和传感器2244B来增强眼睛跟踪相机2240A和眼睛跟踪相机2240B,眼睛跟踪相机2240A和眼睛跟踪相机2240B可捕获低分辨率帧,例如通过合并像素或通过捕获像素的水平条带和竖直条带而不是整个高分辨率帧。由相机2240A和相机2240B捕获的低分辨率帧可用于在由眼睛跟踪相机2240A和眼睛跟踪相机
2240B捕获的完整高分辨率帧的处理之间的间隔中跟踪用户的眼睛2292A和眼睛2292B相对于相机2240A和相机2240B的相对移动。这可允许不太频繁地执行3D重建,从而显著减小眼睛跟踪系统的功率消耗。在这些实施方案中,当捕获和处理较低分辨率帧时,眼睛跟踪相机
2240A和眼睛跟踪相机2240B本身可被视为“眼睛测距仪”。
[0100] 上述头部测距仪方法和眼睛测距仪方法可单独使用或组合使用。HMD 2000的实施方案可包括头部测距仪2242以减小眼睛跟踪系统的功率消耗。HMD 2000的实施方案可包括眼睛测距仪2244(由传感器或由眼睛跟踪相机实现)以减小眼睛跟踪系统的功率消耗和带宽使用。此外,HMD 2000的实施方案可包括头部测距仪2242和眼睛测距仪2244两者。包括头部测距仪2242和眼睛测距仪2244两者的实施方案可例如进一步减小执行3D重建的频率,并且还可减小执行对由眼睛跟踪相机2240捕获的帧的2D图像处理的频率,以进一步减小眼睛跟踪系统的功率消耗。
[0101] 由控制器2030获得和分析的眼睛跟踪信息可由控制器用于实行各种VR或AR系统功能。例如,可从由眼睛跟踪相机2240A和眼睛跟踪相机2240B捕获的图像估计显示器2022A和显示器2022B上的注视点;所估计的注视点可例如使得能够与显示器2022A和显示器2022B上所示的内容进行基于注视的交互。眼睛跟踪信息的其他应用可包括但不限于创建用于VR或AR环境中的化身的眼睛图像动画。作为另一实施例,在一些实施方案中,从眼睛跟踪相机2240A和眼睛跟踪相机2240B获得的信息可用于调整将投影的图像的渲染,并且/或者基于用户的眼睛看的方向和角度调整通过HMD 2000的投影仪2020进行的图像的投影。作为另一实施例,在一些实施方案中,可基于如由眼睛跟踪系统确定的用户的瞳孔扩张来调节所投影的图像的亮度。
[0102] 在一些实施方案中,HMD 2000可被配置为渲染和显示帧以至少部分地根据传感器2050输入为用户提供增强或混合现实(AR)视图。AR视图可包括渲染用户的环境,包括基于由一个或多个摄像机捕获的视频来渲染用户的环境中的真实对象,一个或多个摄像机捕获用户的环境的高质量、高分辨率视频用于显示。AR视图也可包括虚拟内容(例如,虚拟对象、真实对象的虚拟标签、用户的化身等),该虚拟内容由VR/AR系统生成并与用户的真实环境的所投影的视图合成。
[0103] 如图12中所示的HMD 2000的实施方案也可用于虚拟现实(VR)应用中以将VR视图提供给用户。在这些实施方案中,HMD 2000的控制器2030可渲染或获得包括虚拟内容的虚拟现实(VR)帧,并且所渲染的帧可被提供给HMD 2000的投影仪2020用于显示给显示器2022A和显示器2022B。
[0104] 虽然在图2至图12中相对于包括用户通过目镜观察的近眼显示面板的示例性VR/AR系统和HMD大致描述了实施方案,但低功率眼睛系统方法和装置的实施方案可在其他类型的VR/AR系统中实现,并且更一般地在使用眼睛跟踪相机来执行眼睛跟踪的任何系统中实现。图13示出了根据一些实施方案的包括眼睛跟踪系统的示例性另选VR/AR设备3000,该眼睛跟踪系统具有检测设备3000相对于用户眼睛3092的移动的头部测距仪3042,以及在由眼睛跟踪相机3040捕获的帧的处理之间的间隔中跟踪眼睛3092的移动的眼睛测距仪3044。需注意,如图13所示的设备3000以举例的方式给出,并且不旨在为限制性的。在各种实施方案中,设备3000的形状、大小和其他特征可不同,并且设备3000的部件的位置、数量、类型和其他特征可变化。在该设备3000中,设备3000不具有用户通过目镜观察的显示面板而是包括透镜3010,该透镜允许来自外部环境的光通过并且还被配置为例如使用全息膜将由投影仪/控制器3080发射的表示虚拟内容的光朝向用户眼睛3092反射。设备3000可包括眼睛跟踪系统,除了眼睛跟踪相机3040之外,该眼睛跟踪系统还包括如本文所述的检测设备3000相对于用户眼睛3092的移动的头部测距仪3042、如本文所述的在由眼睛跟踪相机3040捕获的帧的处理之间的间隔中跟踪眼睛3092的移动的眼睛测距仪3044、或如本文所述的头部测距仪3042和眼睛测距仪3044两者。
[0105] 在不同的实施方案中,本文所述的方法可以在软件、硬件或它们的组合中实现。此外,可以改变方法的方框次序,可以对各种要素进行添加、重新排序、组合、省略、修改等。对于本领域的技术人员,受益于本公开,显然可以做出各种修改和变化。本文所述的各种实施方案旨在为例示的而非限制性的。许多变型、修改、添加和改进是可能的。因此,可为在本文中被描述为单个示例的部件提供多个示例。各种部件、操作和数据存储库之间的界限在一定程度上是任意性的,并且在具体的示例性配置的上下文中示出了特定操作。预期了功能的其他分配,它们可落在所附权利要求的范围内。最后,被呈现为示例性配置中的分立部件的结构和功能可被实现为组合的结构或部件。这些和其他变型、修改、添加和改进可落入如以下权利要求书中所限定的实施方案的范围内。

当前第1页 第1页 第2页 第3页
相关技术
功率眼睛相关技术
眼睛跟踪相关技术
汤姆·辛格洛布发明人的其他相关专利技术