欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 光学> 高速交错双眼跟踪系统独创技术60679字

高速交错双眼跟踪系统

2021-01-26 11:24:55

高速交错双眼跟踪系统

  技术领域

  本公开总体上涉及用户输入。更具体地,本公开涉及在头戴式显示器上的交错(staggered)眼睛跟踪。

  背景技术

  虚拟现实和增强现实体验正变得越来越重要。例如,由于功能强大的手持装置(例如,智能手机)的及时可得性,360°视频正在成为体验沉浸式视频的新方法。360°视频通过捕获360°的世界全景,为消费者提供沉浸式的“真实生活”、“身临其境”的体验。用户可以交互地更改其视角并动态查看其所需的捕获场景的任何部分。显示器和导航传感器实时跟踪头部运动,以确定用户要观看的360°视频区域。

  发明内容

  技术问题

  与计算装置交互和控制计算装置的方法正在不断改进,以遵循更自然的方法。计算装置(例如,个人计算机、智能电话、平板电脑、头戴式显示器)等利用显示屏上的图形用户界面(GUI)来方便用户进行控制。诸如文本、图像、以及视频之类的对象被显示在屏幕上,并且用户可以采用各种仪器来控制计算装置(诸如,键盘、鼠标、触摸板)。用于与计算装置进行交互并控制其的许多此类方法通常需要用户物理触摸屏幕或利用诸如键盘或鼠标之类的工具来提供快速而精确的输入。头戴式显示器的出现以及虚拟现实和增强现实的凸显将需要新的方法来与计算装置进行交互。

  本公开提供了一种高速交错双眼跟踪系统。

  问题的解决方案

  在第一实施例中,提供了一种眼睛跟踪的方法。该方法包括捕获第一眼睛和第二眼睛。该方法还包括识别第一眼睛的第一位置和第二眼睛的第二位置。该方法还包括交错第一眼睛和第二眼睛的捕获,其中第一眼睛是在捕获第二眼睛之前捕获的。该方法还包括基于识别出的第一眼睛的第一位置识别相对于显示器的第一视线方向。该方法还包括在捕获第二眼睛之前基于识别出的第一视线方向来映射第二眼睛的第二视线方向。

  在第二实施例中,提供了一种电子装置。该电子装置包括被配置为捕获第一眼睛和第二眼睛的至少一个相机。该电子装置包括耦合到至少一个相机的处理器。该处理器被配置为识别第一眼睛的第一位置和第二眼睛的第二位置。该处理器还被配置为交错第一眼睛和第二眼睛的捕获,其中在捕获第二眼睛之前捕获第一眼睛。该处理器还被配置为基于识别出的第一眼睛的第一位置来识别相对于显示器的第一视线方向。该处理器还被配置为在捕获第二眼睛之前,基于识别出的第一视线方向来映射第二眼睛的第二视线方向。

  在第三实施例中,提供了体现计算机程序的非暂时性计算机可读介质。该计算机程序包括程序代码,该程序代码在被执行时使处理器:捕获第一眼睛和第二眼睛;识别第一眼睛的第一位置和第二眼睛的第二位置;交错第一眼睛和第二眼睛的捕获,其中在捕获第二眼睛之前捕获第一眼睛;基于识别出的第一眼睛的第一位置来识别相对于显示器的第一视线方向;并且在捕获第二眼睛之前,基于识别出的第一视线方向来映射第二眼睛的第二视线方向。

  附图说明

  为了更完整地理解本公开及其优点,现在结合附图参考以下描述,其中相同的附图标记表示相同的部分:

  图1示出了根据本公开的实施例的示例通信系统;

  图2示出了根据本公开的实施例的示例电子装置;

  图3示出了根据本公开的实施例的头戴式显示器的示例框图;

  图4A和图4B示出了根据本公开的实施例的两个眼睛相机的交错效果的示例性图形表示;

  图5示出了根据本公开的实施例的四个眼睛相机的交错效果的示例性图形表示;

  图6A示出了根据本公开的实施例的示例校准过程;

  图6B和图6C示出了根据本公开的实施例的示例映射过程;

  图7示出了根据本公开的实施例的示例性中心凹形渲染(foveated rendering);

  图8示出了根据本公开的实施例的示例性多焦平面显示器;以及

  图9示出了根据本公开的实施例的交错眼睛跟踪错的示例方法。

  具体实施方式

  在进行下面的详细描述之前,阐明整个专利文件中使用的某些单词和短语的定义可能是有利的。术语“耦合”及其派生词是指两个或更多个元件之间的任何直接或间接通信,无论这些元件是否彼此物理接触。术语“发送”,“接收”和“通信”及其派生词包括直接和间接通信。术语“包括”和“包含”及其派生词是指包括但不限于。术语“或”是包含性的,意味着和/或。短语“与……相关联”及其派生词意指包括、被包括在其中、与之互连、包含、被包含在其中、连接到或与之连接、耦合到或与之耦合、可通信、与之协作、交织、并置、与之接近、有联系或与之联系、具有、或具有……属性、有关系或与之相关。术语“控制器”是指控制至少一个操作的任何装置、系统、或其一部分。这样的控制器可以以硬件、或硬件和软件和/或固件的组合来实现。与任何特定控制器相关联的功能可以是本地或远程地集中式或分布式。短语“至少一个”在与项目列表一起使用时,意味着可以使用一个或更多个所列项目的不同组合,并且可能只需要列表中的一个项目。例如,“A、B和C中的至少一个”包括以下项的任何组合:A、B、C、A和B、A和C、B和C、以及A和B和C。

  此外,以下描述的各种功能可以由一个或更多个计算机程序实现或支持,每个计算机程序由计算机可读程序代码形成并体现在计算机可读介质中。术语“应用”和“程序”是指适于以合适的计算机可读程序代码实现的一个或更多个计算机程序、软件组件、指令集、过程、功能、对象、类、实例、相关数据或其一部分。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够由计算机访问的任何类型的介质,例如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、光盘(CD)、数字视频光盘(DVD)或任何其他类型的存储器。“非临时性”计算机可读介质不包括传输临时性电信号或其他信号的有线、无线、光学或其他通信链路。非暂时性计算机可读介质包括可永久存储数据的介质以及可存储数据并随后覆写的介质,例如可重写光盘或可擦除存储装置。

  贯穿本专利文件提供了其他某些单词和短语的定义。本领域普通技术人员理解,在很多情况下,即使不是大多数情况,这种定义也适用于这种定义的单词和短语的先前以及将来的使用。

  下面讨论的图1至图9以及用于描述本专利文件中的本公开的原理的各种实施例仅是示例性的,并且不应以任何方式解释为限制本公开的范围。本领域技术人员将理解,本公开的原理可以在任何适当布置的系统或装置中实现。

  虚拟现实(VR)是显示器或耳机上的视觉和音频场景的渲染版本。该渲染旨在当观察者或用户在应用定义的限制范围内移动时尽可能自然地模拟其对真实世界的视觉和音频感官刺激。例如,VR将用户置于与他们的头部运动互动的沉浸式世界中。在视频级别,VR是通过提供一种视频体验来实现的,该视频体验随着头部运动覆盖了尽可能多的视场(FOV)并且同步了渲染的视频的视角。尽管多种类型的装置都能够提供这种体验,但是头戴式显示器是最受欢迎的。通常来说,头戴式显示器依赖于集成在装置中并与外部计算机一起运行的专用屏幕、通过支架插入头戴式显示器的智能手机、或与计算机本身集成的头戴式显示器。第一种方法利用了轻巧的屏幕并受益于高计算能力。与之相比,基于智能手机的系统具有更高的移动性,并且生产成本更低。在这两种情况下,生成的视频体验都是相同的。

  VR内容可以根据捕获系统的能力以不同的形式表示,例如全景图或球形。例如,内容可以从真实生活中捕获,或者从计算机生成,或其组合。从真实世界捕获到视频的事件通常需要多个(两个或更多个)相机来记录周围的环境。虽然这种VR可以由使用大量类似的相机的多个人来操纵,但每个视图都需要两个相机来创建深度。在另一个示例中,内容可以由计算机生成,例如计算机生成图像(CGI)。在另一个示例中,真实世界内容与CGI的组合被称为增强现实。

  许多系统捕获覆盖360°×180°视图、360°×360°视图等的球形视频。360°×180°视图表示为半球形视图。例如,360°×180°视图是球形上半部分的渲染视图,在该视图中,观看者可以在水平面中观看360°并在垂直视图平面中观看180°。360°×360°视图表示为覆盖了整个球形的完整的球形渲染。例如,可以通过将两个360°×180°视图拼接在一起以产生覆盖整个360°视图的单个视频或图像来生成360°×360°视图。在360°×180°视图内捕获内容通常是由多个相机执行的。各种相机配置可以用于记录二维内容和三维内容。从每个相机捕获的视图被拼接在一起,以将全向相机系统的单个视图组合到单个全景图或球形中。拼接过程通常避免视差错误和各个单个视图之间的可见过渡。

  如本文所使用的,VR内容和VR视频包括全向360°媒体场景(即360°×360°视图)。VR内容还包括增强现实、混合现实以及在显示器上呈现给用户的其他计算机增强现实媒体。在某些实施例中,显示器是头戴式显示器。如上所述,VR内容将观看者置于沉浸式环境中,该沉浸式环境允许用户基于其头部运动来交互和查看环境的不同区域。

  根据本公开的实施例,提供了用于控制计算装置并与计算装置交互的各种方法。图形用户界面通过使用户能够定位和选择屏幕上的对象,从而允许用户与计算装置进行交互。常见的交互包括物理操作(例如,用户可以物理地移动鼠标,在键盘上键入,触摸触摸屏等)。在某些情况下,例如当用户佩戴头戴式显示器时,利用各种物理交互(例如,触摸触摸屏)是不可行的。例如,当显示屏在外壳内并且靠近用户眼睛放置在用户的脸上时,用户将无法触摸屏幕。另外,在某些情况下,由于用户看不见该装置或不希望拿着遥控器,因此使用诸如键盘、鼠标、触摸板或遥控器之类的附件装置很不方便。例如,头戴式显示器可能会阻挡用户观看附件的视线,从而使得用户无法准确地向电子装置提供输入。类似地,如果用户正在头戴式显示器上观看电影,则在某些情况下,用户不希望在电影的放映时间内拿着遥控器。本公开的实施例提供了与电子装置交互的附加方法。

  本公开的实施例利用眼睛跟踪来提供更快和更准确的用户输入。具体地,本公开的实施例交错眼睛跟踪。眼睛跟踪涉及在用户观看显示器时跟踪用户的眼睛焦点(或视线)。眼睛跟踪可以识别显示器上的用户感兴趣的区域。例如,当用户聚焦于屏幕的特定区域(例如,菜单图标)时,电子装置可以打开该菜单而无需用户手动选择菜单图标。

  眼睛跟踪是指基于眼睛在3维(3D)空间中的角度方向来检测用户视线方向的过程。在某些实施例中,眼睛跟踪包括检测(i)眼睛的位置,(ii)眼睛的扭转,(iii)眼睛的形状,(iv)眼睛的当前焦距,(v)瞳孔的扩张,以及(vi)用户眼睛的状态的其他特征。眼睛的位置例如是眼睛的中心。眼睛的扭转例如是眼睛围绕瞳孔轴的滚动。用于眼睛跟踪的各种技术捕获了用户的视频图像并识别了用户的瞳孔的方向。例如,单个相机可以用于捕获用户的单只眼睛以得出视线方向。在另一个示例中,可以使用两个或更多个相机来独立地捕获用户的两只眼睛并得出用户的视线。当相机捕获到用户的每只眼睛(例如,第一相机捕获到右眼,第二相机捕获到左眼)时,可以得出焦距以确定对象与用户之间的距离,即用户聚焦的距离。利用了各种类型的相机,例如普通的光学相机、红外相机、雷达等。

  图1示出了根据本公开的示例计算系统100。图1所示的系统100的实施例仅用于说明。在不脱离本公开的范围的情况下,可以使用系统100的其他实施例。

  系统100包括促进系统100中的各个组件之间的通信的网络102。例如,网络102可以在网络地址之间传送互联网协议(IP)分组、帧中继帧、异步传输模式(ATM)信元、或其他信息。网络102包括一个或更多个局域网(LAN)、城域网(MAN)、广域网(WAN)、诸如因特网之类的全球网络的全部或一部分,或在一个或更多个位置处的任何其他一个或更多个通信系统。

  网络102促进服务器104与各种客户端装置106-115之间的通信。客户端装置106-115可以是例如智能电话、平板计算机、膝上型计算机、个人计算机、可穿戴装置或头戴式显示器(HMD)。服务器104可以表示一个或更多个服务器。每个服务器104包括可以为一个或更多个客户端装置提供计算服务的任何合适的计算或处理装置。每个服务器104可以例如包括一个或更多个处理装置、存储指令和数据的一个或更多个存储器、以及通过网络102促进通信的一个或更多个网络接口。

  每个客户端装置106-115代表通过网络102与至少一个服务器或一个或更多个其他计算装置交互的任何合适的计算或处理装置。在该示例中,客户端装置106-115包括台式计算机106、移动电话或移动装置108(例如智能手机)、个人数字助理(PDA)110、膝上型计算机112、平板计算机114和HMD115。但是,可以在系统100中使用任何其他或附加的客户端装置。HMD 115可以是独立装置,也可以包括可以支持另一客户端装置(例如,移动装置108)的支架系统。智能手机代表一类移动装置108,它们是具有连接用于语音、短消息服务(SMS)和互联网数据通信的移动操作系统和集成移动宽带蜂窝网络的手持装置。如下面更详细描述的,HMD 115可以向一个或更多个用户显示VR内容,并且具有眼睛跟踪能力。

  在该示例中,一些客户端装置108-115与网络102间接通信。例如,客户端装置108和110(分别为移动装置108和PDA 110)经由一个或更多个基站116(例如,蜂窝基站或eNodeB(eNB))进行通信。而且,客户端装置112、114和115(分别为膝上型计算机112、平板计算机114和HMD 115)经由一个或更多个无线接入点118(例如,IEEE 802.11无线接入点)进行通信。注意,这些仅用于说明,并且每个客户端装置106-115可以直接与网络102通信,或者经由任何合适的中间装置或网络与网络102间接通信。

  在某些实施例中,移动装置108(或任何其他客户端装置106-115)安全且有效地将信息发送到另一装置,例如服务器104。当移动装置108(或任何其他客户端装置106-115)连接到耳机时,其可以用作VR显示器,并且可以用作类似于HMD 115。移动装置108(或任何其他客户端装置106-115)可以触发其自身与服务器104之间的信息传输。

  尽管图1示出了系统100的一个示例,但是可以对图1进行各种改变。例如,系统100可以以任何合适的布置包括任意数量的每种组件。通常来说,计算和通信系统具有各种各样的配置,并且图1不将本公开的范围限制为任何特定的配置。尽管图1示出了可以使用本专利文件中公开的各种特征的一个操作环境,但是这些特征可以用于任何其他合适的系统中。

  本公开中提供的过程和系统允许客户端装置106-115或服务器104在用户观看显示器时跟踪用户的眼睛。在某些实施例中,在客户端装置106-115或服务器104得出用户的视线方向时,客户端装置106-115显示VR内容。在某些实施例中,客户端装置106-115或服务器104以重复的方式捕获用户的一只眼睛,然后捕获另一只眼睛,而不是同时或几乎同时捕获两只眼睛。通过捕获用户的一只眼睛,然后重复地捕获另一只眼睛模拟了单眼跟踪系统而不是双眼跟踪系统。单眼跟踪系统仅捕获用户的一只眼睛以得出用户的眼睛焦点,而双眼跟踪系统则同时捕获用户的两只眼睛。在双眼跟踪期间,相机图像传感器在相似的时间捕获两只眼睛,并且捕获的数据通过通信接口被发送到处理器以进行处理。

  图2示出了根据本公开的实施例的电子装置。图2中所示的电子装置200的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他实施例。电子装置200可以具有多种配置,并且图2不将本公开的范围限制为电子装置的任何特定实现。在某些实施例中,图1的客户端装置104-115中的一个或更多个可以包括与电子装置200相同或相似的配置。

  在某些实施例中,电子装置200是用于跟踪视线的方向以及显示器上的眼睛焦点的位置的眼睛跟踪装置。在某些实施例中,电子装置200是计算机(类似于图1的台式计算机106)、移动装置(类似于图1的移动装置108)、PDA(类似于图1的PDA 110)、膝上型计算机(类似于图1的膝上型计算机112)、平板电脑(类似于图1的平板电脑114)、HMD(类似于图1的HMD115)等。在某些实施例中,电子装置200捕获并跟踪用户的眼睛运动,诸如识别每只眼睛的位置以及识别每只眼睛的视线方向并得出显示器上或真实世界对象上的焦点位置。电子装置200可以表示下面参照图3更详细讨论的一个或更多个跟踪系统或一个或更多个图像处理装置。

  如图2所示,电子装置200包括天线205、通信单元210、发送(TX)处理电路215、麦克风220和接收(RX)处理电路225。在某些实施例中,通信单元210是通用通信接口,并且可以包括例如,RF收发器、蓝牙收发器或WI-FI收发器、ZIGBEE、红外线等。电子装置200还包括扬声器230、处理器240、输入/输出(I/O)接口245、输入250、显示器255、存储器260、传感器265和相机270。存储器260包括操作系统(OS)261、一个或更多个应用262和眼睛数据263。存储器260可以包括包含学习到的单词和命令的语音识别字典。

  通信单元210从天线205接收来自网络102(例如,Wi-Fi、蓝牙、蜂窝、5G、LTE、LTE-A、WiMAX、或任何其他类型的无线网络)的接入点(例如,基站、WI-FI路由器、蓝牙装置)的诸如蓝牙或WI-FI信号的输入RF信号。通信单元210下变频输入RF信号以生成中频或基带信号。将中频或基带信号发送到RX处理电路225,该RX处理电路225通过对基带或中频信号进行滤波、解码或数字化或其组合来生成处理后的基带信号。RX处理电路225将处理后的基带信号发送到扬声器230,例如用于语音数据,或发送到处理器240以进行进一步处理,例如用于网络浏览数据或图像处理或其两者。

  TX处理电路215从麦克风220接收模拟或数字语音数据,或者从处理器240接收其他输出基带数据。该输出基带数据可以包括网络数据、电子邮件、或交互式视频游戏数据。TX处理电路215对输出基带数据进行编码、多路复用、数字化或其组合,以生成经处理的基带或中频信号。通信单元210从TX处理电路215接收输出的经处理的基带或中频信号,并且将该基带或中频信号上变频为经由天线205发送的RF信号。

  处理器240可以包括一个或更多个处理器或其他处理装置,并执行存储在存储器260中的OS 261,以便控制电子装置200的整体操作。例如,处理器240可以根据公知的原理通过通信单元210、RX处理电路225和TX处理电路215控制前向信道信号的接收以及反向信道信号的发送。处理器240还能够执行驻留在存储器260中的其他应用262,例如用于图像处理或眼睛跟踪或两者的一个或更多个应用。处理器240可以以任何适当的布置包括任何适当数量和类型的处理器或其他装置。例如,处理器240能够进行自然语言处理、语音识别处理、对象识别处理、眼睛跟踪处理等。在一些实施例中,处理器240包括至少一个微处理器或微控制器。处理器240的示例类型包括微处理器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和分立电路。

  处理器240还能够执行驻留在存储器260中的其他处理和程序,例如通过提供语音以及图像捕获和处理来接收、存储和及时指示的操作。处理器240可以根据执行过程的需要将数据移入或移出存储器260。在一些实施例中,处理器240被配置为基于OS 261或响应于从eNB或运营商接收到的信号来执行多个应用262。

  处理器240还耦合到I/O接口245,该I/O接口245使电子装置200能够连接到其他装置,例如客户端装置106-115。I/O接口245是这些附件和处理器240之间的通信路径。

  处理器240还耦合到输入250和显示器255。电子装置200的操作者可以使用输入250将数据或输入或其组合输入到电子装置200中。输入250可以是键盘、触摸屏、鼠标、跟踪球或其他能够充当用户界面以允许用户与电子装置200交互的装置。例如,输入250可以包括触摸面板、(数字)笔传感器、键或超声输入装置。触摸面板可以识别例如电容方案、压敏方案、红外方案或超声方案中的至少一种方案中的触摸输入。在电容方案中,输入250能够识别触摸或接近。通过将附加输入提供给处理器240,输入250可以与传感器265、相机270或麦克风(例如或类似于麦克风220)相关联。在某些实施例中,传感器265包括惯性传感器(例如,加速度计、陀螺仪和磁力计)、光学传感器、运动传感器、相机、压力传感器、心率传感器、高度计、呼吸传感器(例如,麦克风220)等。输入250可以与相机270相关联。输入250可以包括用于眼睛跟踪的一个或更多个相机270。输入端250还可以包括控制电路。

  显示器255可以是液晶显示器、发光二极管(LED)显示器、有机LED(OLED)、有源矩阵OLED(AMOLED)、或能够渲染诸如来自网站、视频、游戏和图像等的文本和图形的其他显示器。显示器255可以被调整大小以适合HMD。显示器255可以是单个显示屏或用于立体显示的多个显示屏。在某些实施例中,显示器255是平视显示器(HUD)。

  存储器260耦合到处理器240。存储器260的一部分可以包括随机存取存储器(RAM),并且存储器260的另一部分可以包括闪存或其他只读存储器(ROM)。

  存储器260可以包括持久性存储器(未示出),该持久性存储器表示能够存储和促进信息(例如数据、程序代码或临时或永久的其他合适信息)的检索的任何结构。存储器260可以包含支持数据的长期存储的一个或更多个组件或装置,例如,只读存储器、硬盘驱动器、闪存或光盘。存储器260还可以包含眼睛数据263。眼睛数据263包括用户眼睛的映射以及与确定焦点位置和估计用户的眼睛视线方向相关联的校准信息。

  电子装置200还包括一个或更多个传感器265,其能够计量物理量或检测电子装置200的激活状态并将计量或检测到的信息转换成电信号。在某些实施例中,传感器265包括惯性传感器(例如加速计、陀螺仪和磁力计)、光学传感器、运动传感器、相机、压力传感器、心率传感器、高度计、呼吸传感器(例如,麦克风220)等。例如,传感器265可以包括一个或更多个用于触摸输入的按钮(例如,在耳机或电子装置200上)、相机、手势传感器、陀螺仪或陀螺仪传感器、气压传感器、磁性传感器或磁力计、加速度传感器或加速度计、握持传感器、接近传感器、颜色传感器、生物特征传感器、温度/湿度传感器、照度传感器、紫外线(UV)传感器、肌电图(EMG)传感器、脑电图(EEG)传感器、心电图(ECG)传感器、红外(IR)传感器、超声传感器、虹膜传感器、指纹传感器等。传感器265可以进一步包括用于控制其中所包括的传感器中的至少一个的控制电路。传感器265可以用于确定电子装置200的方位和朝向以及地理位置。这些传感器265中的任何一个都可以设置在电子装置200内、设置在配置为容纳电子装置200的耳机内或设置在耳机和电子装置200两者中,例如在电子装置200包括耳机的实施例中。

  相机270捕获用户的眼睛。相机270监视、跟踪和测量眼睛的位置,以识别眼睛在看向哪里。捕获的关于用户的眼睛的眼睛信息使处理器240可以识别眼睛的位置,识别眼睛的视线方向、以及得出眼睛的眼睛焦点位置。在某些实施例中,相机270是一对(或多对)相机,每个相机捕获用户的相应眼睛。例如,相机270聚焦在一只眼睛或两只眼睛上,并在观看者注视某种刺激(例如,GUI)时记录每只眼睛的运动。在某些实施例中,相机270利用光学相机(例如,RGB相机)、红外或近红外光源(例如,非准直光)可以检测从角膜或眼睛的另一部分反射的光。基于相机270捕获的信息,处理器240然后可以得出瞳孔的中心、光源和光的反射之间的向量。然后,该向量可以指示用户正在看的位置。眼睛跟踪技术可以包括与眼睛的光路同轴放置的光源或者光源偏移的光源等。在某些实施例中,相机270还包括被定位成捕获用户正在观看的内容的相机。当相机观看用户正在观看的世界时,被定位成捕获用户正在观看的内容的相机表示为世界相机。因为相机捕获了用户正在观看的显示器,因此世界相机也是显示器相机。

  尽管图2示出了电子装置200的一个示例,但是可以对图2进行各种更改。例如,图2中的各种组件可以组合,进一步细分或省略,并且可以根据特定需要添加其他组件。作为特定示例,处理器240可以被划分为多个处理器,诸如一个或更多个中央处理单元(CPU)、一个或更多个图形处理单元(GPU)、一个或更多个眼睛跟踪处理器等。而且,尽管图2示出了电子装置200被配置为移动电话、平板电脑、智能电话或HMD,但是电子装置200可以被配置为作为其他类型的移动装置或固定装置进行操作。

  图3示出了根据本公开的实施例的头戴式显示器(HMD)300的框图。图3示出了根据本公开的实施例的高级架构。图3所示的HMD 300的实施例仅用于说明。在不脱离本公开的范围的情况下,可以使用其他实施例。HMD300可以类似于图1的一个或更多个客户端装置106-115中的任何一个进行配置,并且可以包括类似于图2的电子装置200的内部组件的内部组件。例如,HMD 300可以类似于图1的HMD 115、台式计算机(类似于图1的台式计算机106)、移动装置(类似于图1的移动装置108和PDA 110)、膝上型计算机(类似于图1的膝上型计算机112)、平板计算机(类似于图1的平板计算机114)等。

  头戴式显示器310是可以通过诸如显示器310之类的GUI来显示诸如文本、图像和视频之类的内容的电子装置。在某些实施例中,头戴式显示器300佩戴在用户的头部或类似于图1的HMD 115的头盔的一部分。HMD 300可以显示虚拟现实(VR)、增强现实(AR)或混合现实(MR)、或其组合。HMD300包括显示器310、相机320、信息存储库330和眼睛跟踪引擎340。HMD300还可以包括扬声器、触觉反馈和其他反馈技术。

  显示器310类似于图2的显示器255。在某些实施例中,显示器310是通过支架固定到HMD 300的独立显示器。例如,显示器310类似于移动装置上的显示屏或者计算机或平板电脑上的显示屏。在某些实施例中,显示器310包括两个显示器,其用于为用户的每只眼睛提供单个显示器的立体显示器。在某些实施例中,显示器312是透明显示器,例如允许用户透视头戴式显示器300的透视眼镜。HMD 300可以用描绘模拟视觉分量的显示器310完全代替用户的FOV。此外,显示器310可以渲染、显示或投影VR、增强现实等。

  相机320包括多个相机,例如左眼相机322、右眼相机324和世界相机326。每个相机320能够观看环境并将信息转换成数字形式。也就是说,相机320的每个相机能够生成图像序列并将图像发送到眼睛跟踪引擎340。相机320表示能够感测每个相机观看半径内的位置或运动或两者的相机阵列。相机320可以包括可以捕获或生成图像的任何数量的装置。

  左眼相机322和右眼相机324可以包括彩色相机、视频相机、深度相机、运动传感器、雷达、声纳、红外线(IR)等中的一个或更多个。左眼相机322被定位成捕获用户的左眼。右眼相机324被定位成捕获用户的右眼。基于用户的每只眼睛的捕获数据,眼睛跟踪引擎340识别每只眼睛的位置,识别每只眼睛的视线方向以及每只眼睛的眼睛焦点位置。在某些实施例中,左眼相机322表示指向用户的左眼的多个相机。类似地,在某些实施例中,右眼相机324表示指向用户的右眼的多个相机。

  世界相机326可以包括彩色相机、视频相机、深度相机、运动传感器等。世界相机326是定位成捕获用户正在观看的内容的相机。基于与识别出的用户的视线方向相关联的世界相机326的捕获数据,眼睛跟踪引擎340精确地确定用户正在观看的显示器的位置。另外,基于与识别出的用户的视线方向相关联的世界相机326的捕获数据,眼睛跟踪引擎340得出用户的焦距。焦距是从用户的眼睛到用户聚焦的对象的距离。

  信息存储库330可以类似于图2的存储器260。在某些实施例中,信息存储库330类似于图2的眼睛数据263。信息存储库330可以存储由图2的传感器265、相机320(例如,左眼相机322、右眼相机324和世界相机326))收集的数据以及眼睛跟踪引擎340的映射过程的各种校准。存储在信息存储库330中的数据包括各种地理位置、从每个相机320捕获的视频和图片。在某些实施例中,信息存储库330维护显示器310上最近聚焦的区域的日志。信息存储库330可以基于时间戳的时间来维护眼睛焦点坐标。信息存储库330可以维持与HMD 300的每个用户相关联的校准功能。

  眼睛跟踪引擎340跟踪用户的每只眼睛并识别每只眼睛的位置。在某些实施例中,眼睛跟踪引擎340经由左眼相机322和右眼相机324同时或几乎同时捕获和跟踪每只眼睛。在某些实施例中,眼睛跟踪引擎340交错左眼相机322和右眼相机324,因此,每个相机以不同的时间间隔捕获各自的眼睛。也就是说,当左眼相机322正在运行并捕获左眼的图像时,右眼相机324开始运行。也就是说,左眼相机322和右眼相机324以不同的时间间隔开始和停止眼睛的每个捕获图像。通过交错捕获过程,眼睛跟踪引擎340可以比同时或几乎同时捕获每只眼睛更快地处理和跟踪眼睛。

  当交错捕获过程时,眼睛跟踪引擎340可以独立地识别每只眼睛的位置。例如,识别出的第一眼睛的位置指示了第一眼睛相对于显示器的第一视线方向。类似地,识别出的第二眼睛的位置指示了第二眼睛相对于显示器的第二视线方向。

  在某些实施例中,眼睛跟踪引擎340估计焦距。焦距被定义为从用户的眼睛聚焦的焦点(即,对象)到用户的眼睛的距离。也就是说,当用户正在观看具有深度的对象时,对象离用户越远,眼睛焦点离用户就越远。例如,如果用户正在观看具有前景和背景的图像或实际场景,则基于左眼的视线方向与右眼的视线方向的交叉点来识别用户的眼睛焦点。用户的每只眼睛都可以上下左右观看(X-Y坐标系)。当左眼和右眼观看同一对象时,基于对象与用户的距离来感知深度元素。

  根据本公开的某些实施例,即使当左眼相机322和右眼相机324交错时,眼睛跟踪引擎340也估计用户的焦距。首先,为每个用户校准眼睛跟踪引擎340。也就是说,眼睛跟踪引擎340最初分别经由左眼相机322和右眼相机324同时或接近同时捕获左眼和右眼。当左眼相机322和右眼相机324分别捕获用户的左眼和右眼时,世界相机326捕获用户正在观看的内容。眼睛跟踪引擎340相对于世界相机326固定每个眼睛相机(左眼相机322和右眼相机324)。也就是说,在各个眼睛相机(左眼相机322和右眼相机324)与世界相机326之间创建六个自由度关系。当左眼相机322和右眼相机324交错时,基于世界相机326与每只眼睛相机(左眼相机322和右眼相机324)之间的关系,可以相对于世界相机得出每只眼睛的视线方向之间的映射。例如,当眼睛相机(左眼相机322和右眼相机324)交错时,眼睛跟踪引擎340经由左眼相机322识别左眼的视线方向而无需右眼相机324捕获右眼即可映射右眼的视线方向。类似地,眼睛跟踪引擎340经由右眼相机324识别右眼的视线方向而无需左眼相机322捕获左眼即可映射左眼的视线方向。

  在某些实施例中,左眼、右眼和世界相机的映射是基于世界相机的坐标系。世界相机的坐标系是基于用户的观看方向,而不是朝向用户定位的眼睛相机的坐标系。换句话说,世界相机的坐标系是基于远离用户的观看方向。在该实施例中,到世界相机坐标系的映射是独立的,并且不受眼睛相机的数量的影响。例如,左眼相机322可以表示被定位成捕获用户的左眼的一个或更多个相机,而右眼相机324可以表示被定位成捕获用户的右眼的一个或更多个相机。

  校准过程完成后,左眼相机322和右眼相机324交错。当左眼相机322捕获左眼时,眼睛跟踪引擎340可以识别左眼的视线方向。基于该映射,眼睛跟踪引擎340估计右眼的视线方向。眼睛跟踪引擎340然后得出作为左眼视线和右眼视线的交点的焦距。焦距是从用户的眼睛到焦点的距离,例如用户正在聚焦的两只眼睛的交点。然后,右眼相机324捕获右眼。眼睛跟踪引擎340可以识别右眼的视线方向。基于该映射,眼睛跟踪引擎340估计左眼的视线方向。眼睛跟踪引擎340然后得出作为右眼视线和左眼视线的交点的焦距。

  在某些实施例中,当映射另一只眼睛的焦点位置时,眼睛跟踪引擎340使用先前的眼睛位置。例如,左眼相机322捕获左眼,然后右眼相机324捕获右眼。眼睛跟踪引擎340可以通过使用识别出的右眼的视线位置和识别出的左眼位置来得出焦距。该得出的焦距为右眼视线方向与左眼视线方向的交点。

  在某些实施例中,校准过程针对使用HMD 300的每个人而发生。例如,眼睛跟踪引擎340可以经由变换矩阵来调节眼睛相机(左眼相机322和右眼相机324)与世界相机326之间的关系。变换矩阵是基于世界相机326与每个眼睛相机(左眼相机322和右眼相机324)之间的关系。变换矩阵用于调整各种三维位置和各个相机之间的六个自由度关系。

  在某些实施例中,显示器310是多焦平面显示器。多焦点平面显示器是具有可以被激活和停用的多个层的显示器,用于向整个内容添加深度元素。多焦平面显示器需要非常快速的响应,以便减少用户观看时各个显示器之间的闪烁现象。通过交错左眼相机322和右眼相机324并映射焦距,增加了眼睛跟踪响应时间。通过得出焦距,可以更快地激活和停用多焦平面显示器的特定显示平面。

  在某些实施例中,类似于中心凹形渲染,根据用户注视位置的不同,用不同的分辨率来渲染显示器310。中心凹形渲染会根据得出的眼睛视线方向来改变显示器310上的渲染分辨率。通过主动跟踪用户的眼睛并在注视点处呈现高分辨率的区域以及在用户的外围视觉中呈现较低分辨率的区域来执行中心凹形渲染。例如,通过使用同心圆,从最内圈到最外圈分辨率可以降低。在显示器310上的用户注视的位置处渲染高分辨率,并且每增大一个同心圆,分辨率就降低。根据用户眼睛的视线方向,同心圆移动并调整分辨率。在某些实施例中,同心圆是任何形状的同心区域。

  在某些实施例中,眼睛跟踪引擎340动态地调整眼睛跟踪的速度。例如,眼睛跟踪引擎340可以指示一个眼睛相机连续捕获用户的一只眼睛并且交错捕获用户的另一只眼睛。例如,左眼相机322在右眼相机交错时连续捕获左眼。在该实施例中,眼睛跟踪引擎340可以基于显示器上的内容来调整眼睛跟踪的速度。例如,如果用户使用作为用户界面的眼睛跟踪、使用中心凹形渲染或使用多焦点平面显示器,则眼睛跟踪引擎340将交错眼睛相机以增加眼睛捕获速度。在某些实施例中,眼睛跟踪引擎340可以调整跟踪每只眼睛的相机的数量。例如,如果用户正在执行可以利用较慢的眼睛跟踪能力的任务,则眼睛跟踪引擎340可以在交错其他眼睛相机时动态地从交错左眼相机322和右眼相机324两者转变为通过一个眼睛相机连续地跟踪一只眼睛。在另一个示例中,眼睛跟踪引擎340可以根据应用或服务来动态地调整所使用的相机的数量以减少功耗。使用较少的相机将减少功耗。例如,一个应用或程序可以利用多个相机来跟踪每只眼睛,以获得更快的眼睛跟踪能力。相比之下,其他应用或程序可以利用单个相机来跟踪每只眼睛。

  在另一个示例中,眼睛跟踪引擎340可以基于显示屏上的用户正在观看的位置来独立地调整每只眼睛的眼睛跟踪速度。例如,如果用户正在观看屏幕最右边的内容,则眼睛跟踪引擎340可以交错右眼的眼睛捕获,而左眼相机322并未交错。当用户观看右侧的对象时,基于用户观看的角度,此时通常是右眼在他们之中占据主导地位。类似地,当用户观看左侧的对象时,此时通常是左眼在他们之中占据主导地位。因此,眼睛跟踪引擎340可以基于在特定时间点确定主导眼来调整眼睛跟踪的速度。

  图4A和图4B示出了根据本公开的实施例的两个眼睛相机的交错效果的示例性图形表示。图4A示出了曲线图400A,图4B示出了曲线图400B。图4A和图4B描绘了右眼相机410和左眼相机415的交错。右眼相机410类似于图3的右眼相机324。左眼相机415类似于图3的左眼相机322。右眼相机410A、410B和410C表示捕获右眼位置的顺序实例的单个相机。类似地,左眼相机415A、415B和415C表示捕获左眼位置的顺序实例的单个相机。

  如图4A所示,时间405从时间420开始增加。在时间420处,右眼相机410A开始捕获右眼的位置。在捕获右眼的过程中,在时间421处激活左眼相机415A以捕获左眼。右眼相机410A在时间422处结束捕获。

  在时间422处,右眼相机410B开始捕获右眼的位置。在捕获右眼的过程中,在时间423处左眼相机415A结束捕获左眼的位置。紧接着,左眼相机415B然后开始在时间423处捕获左眼的位置。右眼相机410B在时间424处结束捕获。

  在时间424处,右眼相机410C开始捕获右眼的位置。在捕获右眼的过程中,在时间425处左眼相机415B结束捕获左眼的位置。紧接着,在时间425处,左眼相机415C开始捕获左眼的位置。此后,右眼相机410C结束捕获。

  当右眼相机410和左眼相机415没有交错时,每个相机将同时或接近同时启动和停止。通过每个相机同时或接近同时启动和停止,识别眼睛的位置,然后将视线方向和焦点位置减少一半。

  图4B示出了图4A的详细的时间流逝的视图。图4B描绘了对由每个相机410和415捕获的图像进行处理以识别每只眼睛的视线方向。每个眼睛跟踪框(“框”)430(430A、430B和430C)均包括:通过右眼相机410(410A、410B和410C)捕获眼睛的图像;经由通信接口将从右眼相机410捕获的图像发送到眼睛跟踪引擎340的通信432(432A、432B和432C);以及用于确定眼睛视线方向的对图像的处理434。类似地,框431(431A、431B和431C)包括:经由左眼相机415(415A、415B和415C)捕获眼睛的图像;经由通信接口将从左眼相机415捕获的图像发送到眼睛跟踪引擎340的通信433(433A和433B);以及用于确定眼睛视线方向的对图像的处理435。

  在某些实施例中,通信432和433是通过单个通信接口进行发送的。在某些实施例中,通信432和433是通过不同的通信接口进行发送的。类似地,在某些实施例中,处理434和435是由眼睛跟踪引擎340内的相机专用处理器执行的。类似地,在某些实施例中,处理434和435是由眼睛跟踪引擎340内的同一处理器执行的。

  如图4B所示,时间405从时间420处开始增加。在时间420处,框430A开始,并且右眼相机410A开始捕获右眼的位置。右眼相机410A在时间422处结束对右眼的捕获,并且经由通信432A发送所捕获的图像。当通信432A结束时,处理434A开始。处理434A识别右眼的视线方向。框430A在时间440处结束。

  在捕获右眼的过程中,在时间421处,框431A开始,并且左眼相机415A开始捕获左眼的位置。左眼相机415A在时间423处结束捕获,其中经由通信433A发送所捕获的图像。当通信433A结束时,处理435A开始。处理435A识别左眼的视线方向。框431A在时间442处结束。

  当右眼相机410A完成对用户右眼图像的捕获时,在时间422处,框430B开始,并且右眼相机410B开始捕获右眼的位置。需要注意的是,右眼相机410A和右眼相机410B是同一相机,但是标记不同,以表示该相机的连续迭代。框430B开始,并且右眼相机410B开始捕获右眼的位置。右眼相机410B在时间424处结束对右眼的捕获,并且经由通信432B发送所捕获的图像。当通信432B结束时,处理434B开始。处理434B基于来自右眼相机410B的图像来识别右眼的视线方向。此后,框430B在时间444处结束。

  在左眼相机415A捕获用户的左眼的图像时,在时间423处,框431B开始,并且左眼相机415B开始捕获左眼的位置。需要注意的是,左眼相机415A和左眼相机415B是同一相机,但是标记不同,以表示该相机的连续迭代。在捕获右眼的过程中,在时间423处,框431B开始,并且左眼相机415B开始捕获左眼的位置。当左眼相机415B停止捕获时,经由通信433B发送所捕获的图像。当通信433B结束时,处理435B开始。处理435B识别左眼的视线方向。此后,框431B。

  在右眼相机410B捕获用户的右眼的图像时,在时间424处,框430C开始,并且右眼相机410C开始捕获右眼的位置。需要注意的是,右眼相机410A、相机410B和相机410C是同一相机,但是标记不同,以表示该相机的连续迭代。

  继续对由每个相机410和415捕获的图像进行处理以识别每只眼睛的视线方向,直到眼睛跟踪引擎340指示停止框430和431。

  在某些实施例中,框430A、430B或430C均发生在8ms的时间帧上。例如,经由右眼相机410捕获右眼需要5ms,经由通信432发送捕获的图像需要1ms,而识别右眼的视线方向的处理434需要2ms。类似地,框431A和431B发生在8ms的时间帧上。例如,经由左眼相机415捕获左眼需要5ms,经由通信433发送捕获的图像需要1ms,而识别左眼的视线方向的处理435需要2ms。

  时间间隔409指示眼睛跟踪引擎340识别右眼的视线方向与识别左眼的视线方向之间的时间差。根据先前的示例,时间间隔409是2.5ms。时间间隔407指示右眼相机410的每次激活之间的时间差。类似地,如果右眼相机410需要5ms来捕获右眼的图像,则时间间隔407也为5ms。在某些实施例中,在时间420处的右眼相机410A的开始与在时间421处的左眼相机415A的开始之间的时间差是2.5ms。

  图5示出了根据本公开的实施例的四个眼睛相机的交错效果的示例图形表示。图5示出了曲线图500,其描绘了两个右眼相机530和532与两个左眼相机531和533的交错。右眼相机530和532类似于图4的右眼相机410和图3的右眼相机324。左眼相机531和533类似于图4的左眼相机415和图3的左眼相机322。

  曲线图500描绘了对由四个相机530(530A和530B)、531(531A和531B)、532(532A)和533(533A)捕获的图像进行处理以识别每只眼睛的视线方向。需要注意的是,相机530A和530B表示捕获右眼位置的顺序实例的单个相机。类似地,相机531A和531B表示捕获左眼位置的顺序实例的单个相机。

  在某些实施例中,通信540A、540B表示从第一右眼相机530捕获的图像到眼睛跟踪引擎340的单一通信的不同实例。在某些实施例中,通信541A、541B表示从第一左眼相机531捕获的图像到眼睛跟踪引擎340的单一通信的不同实例。在某些实施例中,通信540A、541A、542A、543A、540B和541B通过单个通信接口发送。在某些实施例中,经由不同的通信接口来发送通信540A、541A、542A、543A、540B和541B。

  在某些实施例中,图3的眼睛跟踪引擎340具有与每个相机相关联的单个处理器。在某些实施例中,图3的眼睛跟踪引擎340具有与每个相机相关联的多个处理器。例如,处理550A和550B表示经由眼睛跟踪引擎340的单个处理器从由第一右眼相机530捕获的图像中识别右眼视线的不同实例。在另一示例中,处理550A和550B表示经由眼睛跟踪引擎340的不同处理器从由第一右眼相机530捕获的图像中识别右眼视线的不同实例。

  曲线图500描绘了对由每个相机530、531、532和533捕获的图像进行处理以识别每只眼睛的视线方向。每个眼睛处理框(“框”)510(510A和510B)、520(520A和520B)、512(512A)和522(522A)包括通过相机(例如,眼睛相机530、531、532或533)捕获眼睛的图像,以及经由通信接口捕获到的图像到图3的眼睛跟踪引擎340的通信(例如540、541、542或543)以进行确定眼睛视线方向的处理(例如550、551、552或553)。例如,框510A和510B包括经由第一右眼相机530(分别为530A和530B)捕获右眼的图像,然后经由通信540(分别为540A和540B)通过通信接口将图像发送到眼睛跟踪引擎340以进行处理550(分别为550A和550B)。

  如图5所示,时间505从时间560处开始增加。在时间560处,框510A开始,并且第一右眼相机530A开始捕获右眼的位置。第一右眼相机530A在时间568处结束对右眼的捕获,并且经由通信540A发送所捕获的图像。当通信540A结束时,处理550A开始。处理550A识别右眼的视线方向。处理550A在时间570处结束。

  在时间562处,框520A开始,并且第一左眼相机531A开始捕获左眼的位置。第一左眼相机531A在时间569处结束捕获,经由通信541A发送所捕获的图像。当通信541A结束时,处理551A开始。处理551A识别左眼的视线方向。处理551A在时间572处结束。

  在时间564处,框512A开始,并且第二右眼相机532A开始捕获右眼的位置。当第二右眼相机532A结束捕获右眼时,经由通信542A发送所捕获的图像。当通信542A结束时,处理552A开始。处理552A识别右眼的视线方向。此后,处理552A结束。

  在时间566处,框522A开始,并且第二左眼相机533A开始捕获左眼的位置。当第二左眼相机533A结束捕获时,经由通信543A发送所捕获的图像是。当通信543A结束时,处理553A开始。处理553A识别左眼的视线方向。此后,处理553A结束。

  在时间568处,框510B开始,并且第一右眼相机530B开始捕获右眼的第二位置。当第一右眼相机530B结束捕获时,经由通信540B发送所捕获的图像。当通信540B结束时,处理550B开始。处理550B识别右眼的第二视线方向。此后,处理550B结束。

  在时间569处,框520B开始,并且第一左眼相机531B开始捕获左眼的第二位置。当第一左眼相机531B结束捕获时,经由通信541B发送所捕获的图像。当通信541B结束时,处理551B开始。处理551B识别左眼的第二视线方向。此后,处理551B结束。

  在某些实施例中,类似于图4A和图4B的框430A、431A、430B、431B和430C,框510、512、520和522均发生在8ms的时间帧上。例如,经由相机530A捕获第一右眼需要5ms,经由通信540A发送捕获的图像需要1ms,并且识别右眼的视线方向的处理550A需要2ms。由于附加的眼睛相机和交错效应,第一右眼相机530A和530B的各个实例之间的时间与图4B中的时间间隔507相同(在该示例中为5ms)。通过添加第二右眼相机532A,可以两次捕获右眼。也就是说,眼睛跟踪引擎340仅在右眼的每个图像之间等待时间间隔506(在该示例中为2.5ms)而不是在右眼的每次捕获之间等待时间间隔507(图4B的时间间隔407)。类似地,时间间隔509(类似于图4B的时间间隔409)表示在眼睛跟踪引擎340识别右眼的视线方向与识别左眼的视线方向之间的时间差。在此示例中,基于每个组件的相同持续时间,与2.5ms的时间间隔409相比,时间间隔509为1.25ms。因此,添加额外的相机提高了眼睛跟踪的速度,从而增强并提高了跟踪用户每只眼睛的准确性。继续对由每个相机530、531、531和533捕获的图像进行处理以识别每只眼睛的视线方向,直到眼睛跟踪引擎340指示停止为止。

  图6A示出了根据本公开的实施例的示例校准过程。图6B和图6C示出了根据本公开的实施例的示例映射过程。图6A、图6B和图6C描绘了识别相对于显示器的第一视线方向。左眼相机620类似于图3的左眼相机322以及图4A和图4B的左眼相机514。右眼相机621类似于图3的右眼相机324和图4A和图4B的右眼相机410。世界相机640类似于图3的世界相机326。

  图6A示出了用于确定用户610的左眼612和右眼614的焦距的校准过程。在校准过程中,左眼相机620和右眼相机621同时捕获用户610的眼睛视线。在某些实施例中,通过双眼跟踪来进行校准。在校准期间,左眼相机620和右眼相机621未交错。左眼612和右眼614观看显示器630。世界相机640也捕获显示器630。对象635是用户的视线的对象。眼睛跟踪引擎340估计左眼612和右眼614之间的映射。为了校准每个眼睛相机(左眼相机620和右眼相机621),眼睛跟踪引擎340得出左眼612和右眼614之间的映射系数。在某些实施例中,左眼相机620和右眼相机621与世界相机640之间的映射可以是固定的。在某些实施例中,如果不需要得出用户610的焦距,则省略世界相机640。例如,当得出焦距对于将来的应用不是必需的时,左眼612和右眼614的映射可以在没有世界相机640的情况下实现。

  图6B和图6C示出了当(图6A的)左眼相机620和右眼相机621交错时识别眼睛视线的过程。在图6B和图6C中未示出右眼相机621,因为图6B和图6C示出了瞬时时间,此时仅有左眼相机620正在捕获图像相机而右眼相机621未捕获图像。

  图6B示出了左眼相机620捕获用户610的左眼612的位置。眼睛跟踪引擎340识别左眼朝向对象635的视线622。在某些实施例中,当需要焦距时,世界相机640被激活以捕获显示器630。

  图6C示出了眼睛跟踪引擎340映射右眼614的眼睛视线624A。右眼614的眼睛视线624A是用户610的眼睛视线的估计。当需要焦距时,世界相机640被激活以捕获显示器630。基于世界相机640捕获的图像,眼睛跟踪引擎340识别眼睛视线622和眼睛视线624A相交的位置。眼睛视线622和624A相交的距离是用户610的眼睛的焦距。

  图7示出了根据本公开的实施例的示例性中心凹形渲染。中心凹形渲染会根据用户的视线对显示器的不同区域渲染不同的分辨率。中心凹形渲染提高显示器的用户眼睛视线所在的区域中的分辨率。例如,用户730观看具有左眼显示器704和右眼显示器702的HMD700。左眼视线732在区域710A处。右眼视线734在区域710B处。因此,以高分辨率描绘了区域710A和710B。因为区域715A和715B刚位于眼睛视线区域的外部,所以区域715A和715B的分辨率略低。类似地,因为区域720A和720B位于距眼睛视线最远的位置,所以区域720A和720B具有最低的分辨率。在某些实施例中,或多或少的同心圆可以用于中心凹形渲染。在某些实施例中,其他形状可以用于中心凹形渲染。当用户的眼睛在显示器702和704上移动时,每个渲染区域的位置相应地移动。

  图8示出了根据本公开的实施例的示例性多焦平面显示环境800。环境800描绘了三个多焦平面显示器。显示器810最靠近用户830,并且显示器814离用户830最远。显示器812位于显示器810和显示器814之间。眼睛跟踪引擎340基于一个或更多个眼睛相机来得出用户830的视线832。此后,眼睛跟踪引擎340基于世界相机得出用户的焦距。当眼睛跟踪引擎340确定焦距在显示器812上时,显示器812被激活并且显示器810和814被停用。当用户830的焦距改变时,显示器814或810被激活而显示器812被停用。

  图9示出了根据本公开的实施例的示例性交错眼睛跟踪方法。尽管过程900描绘了一系列顺序的步骤,除非明确指出,否则不应从该顺序中得出关于执行的特定顺序、顺序执行步骤或其部分而不是同时或以重叠的方式执行或唯一地执行所述步骤而没有中介或中间步骤的任何推论。为了便于解释,关于图2的电子装置200和图3的HMD 300描述了基于上下文信息确定要执行的操作的方法,但是过程900可以与任何合适的系统一起使用。

  在框902中,眼睛跟踪引擎340指示左眼相机和右眼相机捕获用户的左眼和右眼。在某些实施例中,存在多个左眼相机以捕获左眼,并且存在多个右眼相机以捕获右眼。

  在框904中,眼睛跟踪引擎340识别用户的右眼和左眼的位置。每只眼睛的位置指示每只眼睛的视线方向。例如,右眼的位置指示右眼的视线方向。类似地,左眼的位置指示左眼的视线方向。

  在框906中,眼睛跟踪引擎340指示左眼相机和右眼相机交错捕获用户的右眼和左眼。例如,右眼先于左眼被捕获。在另一个示例中,左眼先于右眼被捕获。当存在多个右眼相机和左眼相机时,眼睛跟踪引擎340以预定顺序交错并交织每个相机。例如,第一右眼相机,然后是第一左眼相机,然后是第二右眼相机,然后是第二左眼相机,然后是其他任何相机。一旦每个相机捕获到相应眼睛的图像,就会重复该顺序。

  在框908中,眼睛跟踪引擎340识别第一视线方向。第一视线方向是在显示器或真实世界对象处。第一视线方向是基于第一眼睛的位置识别出的。

  在框910中,眼睛跟踪引擎340基于识别出的第一眼睛的视线方向来映射第二眼睛的视线方向。例如,基于在框908中识别的视线向量,眼睛跟踪引擎340可以映射第二眼睛的视线向量。映射第二眼睛的视线方向发生在捕获第二眼睛的图像之前。通过交错右眼相机和左眼相机的设置,在当前没有捕获眼睛时,眼睛跟踪引擎340估计各个眼睛的视线。例如,当左眼相机捕获左眼时,眼睛跟踪引擎340估计并识别右眼的视线方向。类似地,当右眼相机捕获右眼时,眼睛跟踪引擎340估计并识别左眼的视线方向。

  在某些实施例中,基于识别出的一只眼睛的视线方向和估计出的另一只眼睛的视线方向来得出焦距。焦距是在距用户以下距离处得出的:在该距离处识别出的一只眼睛的视线方向与另一只眼睛的估计的视线方向相交。在某些实施例中,在眼睛相机和世界相机之间产生关系,其中世界相机捕获用户正在观看的内容。世界相机用于得出用户的焦距。

  尽管附图示出了用户装置的不同示例,但是可以对附图进行各种改变。例如,用户装置可以以任何适当的布置包括任意数量的每种组件。通常来说,附图不将本公开的范围限制为任何特定配置。此外,尽管附图示出了可以使用本专利文件中公开的各种用户装置特征的操作环境,但是这些特征可以用于任何其他合适的系统中。

  本申请中的任何描述均不应理解为暗示任何特定元素、步骤或功能是必须包括在权利要求范围内的必要元素。专利主题的范围仅由权利要求书限定。而且,除非有确切的词语“用于……的装置”后面带有分词,否则所有权利要求均无意援引35U.S.C.§112(f)。申请人理解,使用其他任何术语,包括但不限于权利要求中的“机构”、“模块”、“设备”、“单元”、“组件”、“元素”、“构件”、“装置”、“机器”、“系统”、“处理器”或“控制器”指代相关领域技术人员已知的结构,并且无意援引35U.S.C.§112(f)。

  尽管已经利用示例性实施例描述了本公开,但是可以向本领域技术人员提出各种改变和修改。本公开旨在涵盖落入所附权利要求的范围内的这种改变和修改。

《高速交错双眼跟踪系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)