控制系统和渲染管道

文档序号:12444 发布日期:2021-09-17 浏览:30次 >En<

阅读说明:本技术 控制系统和渲染管道 (Control system and rendering pipeline ) 是由 A·M·伊什 A·J·格罗斯 B·颜 E·C·N·唐 J·R·巴特尔 W·C·韦尔奇三世 于 2020-01-06 设计创作,主要内容包括:一种系统,其包含:渲染引擎,其用以渲染场显示器的场纹理和可操纵中央凹显示器的中央凹纹理;以及合成器,其包含用以根据所述场纹理产生用于所述场显示器的帧的场合成器和用以根据所述中央凹纹理产生用于所述中央凹显示器的帧的中央凹合成器。所述系统进一步包含合成管理器,所述合成管理器被设计成对所呈现的包含所述场显示器和所述中央凹显示器中的一个或多个数据的内容进行排序和选择。(A system, comprising: a rendering engine to render field textures of the field display and foveal textures of the steerable foveal display; and a compositor comprising an original compositor to generate frames for the field display from the field texture and a foveal compositor to generate frames for the foveal display from the foveal texture. The system further includes a composition manager designed to order and select content presented including one or more data in the field display and the foveated display.)

具体实施方式

本申请公开了一种用于包含注视点显示器的系统的控制系统和渲染管道。在一个实施例中,中央凹显示器为可定位成显示更小、更高分辨率的图像的可操纵显示器,其通常定位成与用户的视网膜中央凹相匹配。人眼在中央凹处感知到更高的分辨率,且感知分辨率的能力在远离所述区域时迅速下降。因此,将较小视场(FOV)高分辨率显示器对准中央凹区域,而较低分辨率显示器覆盖视场的其余部分提供对整个FOV内的高分辨率显示器的感知。尽管在本申请中使用了术语“注视点显示器”或“中央凹显示器”,并且在一个实施例中,显示器对准用户的中央凹区域,但在其它实施例中,所公开的可操纵显示器可定位在用户视场内的别处。

在一个实施例中,中央凹显示器与场显示器配对,所述场显示器在更宽视场内提供较低分辨率的显示。在一个实施例中,从场显示器中切去与中央凹显示器的显示区域(位置和大小)对应的区域,并混合中央凹显示器和场显示器之间的边缘。

2019年12月24日发布的第10,514,546号美国专利中描述了实施此类注视点图像的一个实施例,所述专利以引用方式并入本文中。

为实现此类显示,系统必须将场显示器显示的图像与可操纵显示器显示的图像在位置以及亮度和色调上进行匹配。如果存在用户所感知到的不匹配,那么其可被视为模糊、闪烁或其它降低用户体验的光学伪影。在一个实施例中,本发明的控制系统和渲染管道能够创建此类同步呈现。在一个实施例中,场显示器和中央凹显示器的渲染可以是异步的。在一个实施例中,所述显示器可具有不同帧率。然而,元素的时序使得用户可无缝地感知呈现。在此上下文中,术语“呈现”表示观看者对显示给用户的视觉图像或一系列图像的感知,所述视觉图像或一系列图像可经由场显示器与中央凹显示器的组合显示。

能够在宽视场内向用户呈现高分辨率图像,同时降低渲染、数据速率和面板要求的系统架构将实现用于增强现实和虚拟现实系统的新应用。

本发明实施例的以下具体实施方式参考了附图,其中相同的附图标记表示类似元件,借助于图示展示实施本发明的具体实施例。这些实施例的描述足以使本领域技术人员能够实践本发明。本领域技术人员应理解,可利用其它实施例,且可在不脱离本发明的范围的情况下进行逻辑、机械、电、功能和其它改变。因此,以下详细描述不是限制性的,且本发明的范围仅由所附权利要求书限定。

图1示出包含场显示器和中央凹显示器的混合显示器的布置。在一个实施例中,场显示器110、115可以是用于右眼115和左眼110的单独场显示器。在另一实施例中,场显示器110、115可以是跨越双眼的单个显示器。

场显示器110、115具有切口130、135,且中央凹显示器120、125被插入到切口中。在一个实施例中,中央凹显示器120、125可基于用户的视线进行操纵和定位。在一个实施例中,中央凹显示器120、125是可操纵的且其位置基于场景内容、环境元素、事件和/或其它因素。

在场显示器110、115与中央凹显示器120、125之间存在混合140、145。混合140、145确保场显示器110、115与中央凹显示器120、125之间的过渡平滑且不突兀。在一个实施例中,混合可包含基于透明遮罩(alpha mask)的混合、抖动、时间多重采样抗锯齿、空间抗锯齿、模糊以及亮度、颜色等的调节。

在一个实施例中,混合区域140、145在大小和/或形状上是动态的。在一个实施例中,中央凹区域120、125的大小和/或形状可以是可调节的。在一个实施例中,中央凹区域120、125的大小和/或形状可由于多种因素而改变,所述因素包含场景内容、用户行为、系统的光力学特性、整个观看范围内的眼动跟踪性能等。

图2示出示例性光学系统210、280和相关处理系统240的一个实施例。在一个实施例中,处理系统可在包含处理器的计算机系统中实施。在一个实施例中,处理系统240可以是显示系统的部分。在另一实施例中,处理系统240可以是可在光学系统的本地或远程的单独系统。

在一个实施例中,显示器210、280可在如头戴式显示器的可穿戴装置中实施。

可操纵显示器图像通过右眼可操纵显示器220和左眼可操纵显示器230呈现给用户的眼睛。在一个实施例中,可操纵显示器220、230将可操纵显示器图像主要导向用户眼睛的视场中心。在另一实施例中,可操纵显示器可将中央凹图像放置在用户眼睛视场中心以外的位置。在一个实施例中,位置可相对于用户的头部位置固定、相对于一个或多个环境元素固定、相对于视线固定等。在一个实施例中,中央凹图像位置可基于场景内容、环境元素、事件和/或其它因素。在一个实施例中,图像可被导向不同位置,如下所述。在一个实施例中,可操纵显示器图像为具有有限视场的高分辨率图像。

在一个实施例中,可操纵显示器图像为可变分辨率图像。在一个实施例中,可变分辨率在显示器的中心处最高。在一个实施例中,分辨率的变化对应于用户眼睛感知到的最大分辨率的变化,所述分辨率随着用户眼睛更远离中央凹的中心而下降。在一个实施例中,可变分辨率图像具有离散分辨率区,其中第一最高分辨率区在中心,且一个或多个较低分辨率区远离中心。在一个实施例中,较低分辨率区与最高分辨率区同心。

在一个实施例中,可操纵显示器可以是多焦点显示器。在多焦点显示器中,在一个实施例中,足够快速地显示不同焦距处的图像序列,使得用户感知单个多焦点图像。在另一实施例中,在多焦点显示器中,图像同时以多个焦距投影。在任一情况下,用户将具有多个焦距的图像感知为单个多焦点图像。

在一个实施例中,左眼显示器230重复了下文针对右眼显示器220所描述的元件。使用第一显示元件222针对右眼创建图像。在一个实施例中,显示元件为数字微镜装置(DMD)。在一个实施例中,显示元件222为扫描微镜装置。在一个实施例中,显示元件222为扫描光纤装置。在一个实施例中,显示元件222为有机发光二极管(OLED)。在一个实施例中,显示元件222为硅上液晶(LCOS)面板。在一个实施例中,显示元件222为液晶显示器(LCD)面板。在一个实施例中,显示元件222为微型发光二极管(μLED)面板。在一个实施例中,显示元件为扫描激光系统。当前使用或将来开发的其它类型的显示元件可与本系统一起使用。在一个实施例中,左眼显示器230与右眼显示器相匹配。

在一个实施例中,显示元件222可包含此类元件的组合,或可用于产生高分辨率图像以供显示给用户的替代性元件。下文的图3更详细地论述了显示元件的一些实施例。

在一个实施例中,第一显示元件222位于诸如眼镜或护目镜的近眼装置中。在一个实施例中,对于多焦点可操纵显示器210,显示器220还可包含焦点调节器223,所述焦点调节器在显示器图像时针对多焦点显示器中的一个或多个图像部分调节焦距。这种调节可基于时间或基于位置。在一个实施例中,美国专利10,187,634中描述的OPLE系统可用以实施用于可调节多焦点显示器的焦点调节器223。

在一个实施例中,使用中间光学元件224设置可操纵显示器的焦点和视场。中间光学元件224可包含但不限于镜头、镜子、全息光学元件和衍射光学元件(DOE)。

在一个实施例中,视场的大小和/或形状可以是可调节的。在一个实施例中,中央凹区域的大小和/或形状可以是可调节的。在一个实施例中,中央凹区域的大小和/或形状可由于多种因素而改变,所述因素包含场景内容、用户行为、系统的光力学特性、整个观看范围内的眼动跟踪性能等。

在一个实施例中,对于单个焦点显示器,显示器220显示的虚拟图像的焦点被设置成无限远。在另一实施例中,虚拟图像的焦点设置得比无限远更近。在一个实施例中,可改变虚拟图像的焦点。在一个实施例中,如上所述,虚拟图像是多焦点的且具有同时感知到的两个或更多个焦距。

在一个实施例中,可操纵显示器图像主要被导向用户眼睛的视场中心。如上所述,系统可替代地导向不同的位置。可操纵显示器图像的定位可基于眼动跟踪数据、场景内容、环境元素、事件等,如下文将论述。

在一个实施例中,可操纵显示器图像的视场(FOV)大于1度。在一个实施例中,可操纵显示器图像的FOV在1度与20度之间。在一个实施例中,移动范围为+/-20度且视场为20度,从而使得总显示范围为60度。

在一个实施例中,针对可操纵显示器产生的图像数据可大于图像的显示大小以解决眼动跟踪中的不准确,以得到将中央凹显示器与场显示器混合所需的区域而使得用户无法感知到混合,和/或以考虑针对各种类型的眼球运动重新定位可操纵显示器所需的时间。在一个实施例中,可操纵显示器的视场的大小大于5度。在一个实施例中,系统被设计成考虑显示系统中的时延和在帧更新之间可能发生的用户视线位置的变化,且考虑眼动跟踪系统中的时延和用户的视线向量在来自眼动跟踪器的报告更新之间可改变的量。下文将更详细地论述实现这些方面的时序。

在一个实施例中,系统进一步包含场显示器280,或一对每只眼睛一个的场显示器,以显示具有20至220度视场的场显示器图像。在一个实施例中,场显示器为较低分辨率显示器。在一个实施例中,较低分辨率显示器是指具有较低像素密度,例如每可视角度像素(PPD)较少的显示器。在此上下文中,术语“PPD”是指显示器中每度的平均像素。在一些实施例中,可操纵显示器每度可具有可变数量的像素。在此实施例中,可操纵显示器外部的可操纵显示器的PPD可低于场显示器的PPD。然而,在一个实施例中,可操纵显示器的显示器中每度的平均像素高于场显示器。在一些实施例中,因为场显示器更大,所以场显示器中的像素总数可能大于可操纵显示器。

在一个实施例中,场显示器的分辨率可不低于可操纵显示器的分辨率。在一个实施例中,除了较低分辨率之外或代替较低分辨率,可操纵显示器和场显示器之间的差异可包含以下各项中的一个或多个:较低色深、较小色域、较低色彩分辨率、较低对比度、缺乏多焦点方面、不同清晰度或任何其它显示方面,与可操纵显示器相比,这些方面会降低场显示器上图像的感知质量。术语“低级”是指可操纵显示器与场显示器的差异,即场显示器投影的图像的感知质量低于可操纵显示器投影的图像的感知质量。

在一个实施例中,使用一组一个或多个定位元件226来定位可操纵显示器图像。在一个实施例中,定位元件226包含可操纵镜子。在一个实施例中,定位元件226可包含曲面镜、菲涅耳反射器、衍射元件中的一个或多个。在一个实施例中,衍射元件为表面起伏光栅。在一个实施例中,衍射元件为体积全息图。

投影组合件227投影来自右眼显示器220的图像。

在一个实施例中,显示器220还包含组合器228,以将图像投影到用户的眼睛。在一个实施例中,组合器228包含波导。在一个实施例中,波导为多层波导。组合器228可包含使可操纵显示器能够到达用户眼睛的其它元件。在一个实施例中,组合器228使用完全或部分透明的光学系统将来自投影组合件227的可操纵图像和场显示器图像285组合以向用户呈现混合图像。在一个实施例中,组合器228为包含波导的部分透明系统。在一个实施例中,此部分透明系统包含可以是平坦的或具有光功率的部分镜子。在一个实施例中,此部分透明系统包含衍射光学元件。在一个实施例中,此部分透明系统包含全息光学元件。在一个实施例中,通过直视光学系统将此图像呈现给用户。在一个实施例中,此部分透明系统包含反射或散射光的内含物。

对于左眼可操纵显示器230,存在类似的一组元件。在一个实施例中,右眼可操纵显示器220和左眼可操纵显示器230相匹配。在另一实施例中,所述可操纵显示器可包含不同元件。在一个实施例中,所述可操纵显示器可针对用户的眼睛而进行调节,使得其在感知上是匹配的;也就是说,用户认为它们是匹配的。在一个实施例中,右侧显示器220和左侧显示器230创建立体视觉以创建或增强图像中的深度错觉,如常规已知的。

在一个实施例中,眼动跟踪器242跟踪用户的视线向量,例如眼睛正注视之处。在一个实施例中,眼动跟踪器为基于摄像机的眼动跟踪系统242。在一个实施例中,基于摄像机的眼动跟踪系统242包含全息光学元件。在一个实施例中,眼动跟踪系统242为具有接收传感器的红外扫描激光器。在一个实施例中,红外扫描激光眼动跟踪系统242包含全息光学元件。在一个实施例中,眼动跟踪系统242为光流传感器。其它眼动跟踪机制可用于眼动跟踪器242。位置计算器245基于来自眼动跟踪器242的数据确定用户视场的中心。在一个实施例中,确定用户每只眼睛的视场中心。

在一个实施例中,可操纵显示器210的可调节定位元件226、236用以基于来自眼动跟踪器242的数据调节右眼可操纵显示器220和左眼可操纵显示器230的位置,以定位待主要导向用户眼睛的视场中心的图像。在一个实施例中,可调节位置元件226、236用以调节右眼可操纵显示器220和左眼可操纵显示器230,以将眼动范围(eye box)或出射光瞳朝向用户眼睛的视场中心定位。

在一个实施例中,通过改变位置元件226之一、镜子的角度来调节可操纵显示器图像的位置。在一个实施例中,使用电磁力改变镜子的角度。在一个实施例中,使用静电力改变镜子的角度。在一个实施例中,使用压电力改变镜子的角度。在一个实施例中,位置元件226为图像源或移动以定位图像的显示元件222。在另一实施例中,并非使用镜子,而是使用在空间光调制器上实施的计算机生成的全息图来操纵中央凹图像。尽管使用了“操纵”一词,但在一个实施例中,没有任何元件在物理上发生移动。相反,位置元件226或显示器中的元件之一的反射特性被调节成改变显示器220、230的输出的位置。在一个实施例中,这是通过使用空间光调制器(SLM)实现的。

在一个实施例中,额外显示器280经由通信逻辑270、290与处理系统240通信。在一个实施例中,额外显示器包含场显示器285。在一个实施例中,额外显示器包含用于右眼和左眼的单独场显示器285。在一个实施例中,额外显示器280可包含由用户的双眼观看的单个场显示器285。

在一个实施例中,额外显示器280可具有可变分辨率。在一个实施例中,分辨率向远离场显示器285的中心下降,对应于眼睛所感知的最大分辨率的下降。

在一个实施例中,额外显示器280为微LED(发光二极管)或微LED阵列。在一个实施例中,额外显示器280为OLED(有机LED)阵列。在一个实施例中,额外显示器280使用扫描激光器。在一个实施例中,额外显示器280为LCD(液晶显示器)面板。在一个实施例中,额外显示器280为LCOS(硅上液晶)显示器。在一个实施例中,额外显示器为DLP(数字光处理)显示器。

在一个实施例中,当场显示器285为单独系统时,同步信号发生器292用以使独立可操纵显示器210的显示与场显示器285的显示同步。这将在下文更详细地论述。

在一个实施例中,同步信号发生器292为使显示器的呈现同步的信号。在一个实施例中,同步信号发生器292用以使可调节镜子或可操纵显示器210的其它定位元件226、236与场显示器285同步。在一个实施例中,同步信号发生器292控制用以暂时禁用光源的快速关闭机制,所述光源是可操纵显示器的投影组合件227、237的部分。这使显示器210、285同步。将在下文更详细地描述此时序。

在一个实施例中,额外显示器280包含混合器系统294以将可操纵显示器图像的边缘与场显示器图像混合,以确保过渡平滑且用户感知不到。

在一个实施例中,使用完全或部分透明的光学系统将场显示器图像呈现给用户。在一个实施例中,组合器228将来自可操纵显示器和场显示器的图像组合,以呈现给用户。在一个实施例中,组合器228为包含波导光学系统的部分透明系统。在一个实施例中,此部分透明系统包含可以是平坦的或具有光功率的部分镜子。在一个实施例中,此部分透明系统包含衍射光学元件。在一个实施例中,通过直视光学系统将此图像呈现给用户。在一个实施例中,此部分透明系统包含反射或散射光的内含物。

在额外显示器280的一个实施例中,显示子系统用以显示单眼视区域中的图像,被称作外围显示器288。在一个实施例中,外围显示器288可以是用于右眼和左眼的两个单独显示器。在另一实施例中,一侧上可能仅存在外围显示器288。

在一个实施例中,外围显示器288为一个或多个离散LED。在一个实施例中,外围显示器288用作指示器、警示机构或反馈机构,而非完全是显示器。外围显示器图像可用以吸引用户的注意力,或巧妙地传达信息。例如,外围显示器288可用以向用户指示他或她应注意现实世界的事件,否则在使用显示系统200时所述事件可能不会被注意到。在一个实施例中,此类外围显示器288的使用是任选的且可由用户设置。

在一个实施例中,额外显示子系统280不具有中间光学元件来操控图像的FOV或焦点。在另一实施例中,此子系统280包含中间光学元件。在一个实施例中,中间光学元件可包含微镜头阵列。

由可操纵显示器210和场显示器285显示的图像数据由处理系统240产生。在一个实施例中,处理系统240是分布式的,其中各种子系统完成整个系统处理的不同方面。在一个实施例中,处理系统240可包含多个处理器。

在一个实施例中,处理系统240包含眼动跟踪器242。在一个实施例中,眼动跟踪器242跟踪用户的视线向量,例如眼睛正注视之处。在一个实施例中,眼动跟踪系统为基于摄像机的眼动跟踪系统242。或者,眼动跟踪器242可基于红外激光器。位置计算器245基于来自眼动跟踪器242的数据确定用户视场的中心。

在一个实施例中,位置计算器245另外使用来自滑移检测系统263的数据。在一个实施例中,滑移检测263检测用户头部上的头戴装置/护目镜相对于用户身体的移动,以识别使用户眼睛的真实位置偏离所计算位置的滑移或其它移动。在一个实施例中,位置计算器245可通过调节系统用于定位可操纵显示器的所计算位置来补偿此类滑移。在一个实施例中,滑动检测还用以确保显示器被调节成为多焦点显示器可操纵显示器210提供视差。

在一个实施例中,处理系统240进一步包含位置验证器247,所述位置验证器验证位置元件226、236的定位,以确保可操纵显示器220、230处于其预期位置。在一个实施例中,位置元件226、236含有局部感测和控制机构,所述局部感测和控制机构将中央凹显示器设置到所计算位置,然后将中央凹显示器保持在所述位置直到设置新的目标位置为止。在一个实施例中,使用光学感测来感测可操纵元件的位置。在一个实施例中,使用磁性位置元件来感测可操纵元件的位置。在一个实施例中,感测机构可以是摄像机。在一个实施例中,感测机构可以是传动件。感测机构可以是可确定光学元件的位置的另一类型的传感器。其它机构可用以局部地感测可操纵元件的位置。

在一个实施例中,通过从位置元件226和236的局部感测和控制机构获得真实位置数据并将所述真实位置数据与来自定位器265的目标位置相比较,中央凹位置验证器247验证中央凹显示器的实际位置与产生的可操纵图像显示器的位置相匹配。在一个实施例中,若中央凹位置验证器247报告可操纵显示器的实际位置不在目标位置的准确度阈值内,则处理系统240可改变显示器以提供适当的图像数据。这在下文更详细地论述。

在一个实施例中,眼球运动分类器260可使用来自眼动跟踪器242的数据以基于识别眼球运动的方向和类型来预测用户的视线向量将移动到何处。定位器265可使用此数据以基于用户的视线向量的下一位置而移动可操纵显示器220、230。在一个实施例中,定位器265可利用诸如眼球运动分类和眼动跟踪的用户数据来预测性地定位显示器220、230。在一个实施例中,定位器265可使用分类的眼球运动来为显示器的移动计时,以最小化用户对移动的感知。在一个实施例中,定位器265可另外使用关于待显示的帧中即将出现的数据的数据来识别显示器220、230的最佳定位。

在一个实施例中,定位器265可将显示器220、230定位在未由视线向量指示的位置处。例如,在显示的帧数据仅具有少量相关数据(例如,在原本黑暗屏幕上照亮的蝴蝶),或帧的意图是使观看者移动视线以看到显示器上特定位置的情况下。可使用位置的其它环境或情境原因。在另一实施例中,定位器265可调节可操纵显示器的位置以确保中央凹显示器及场显示器混合良好,或以其它方式减少或消除视觉伪影。在另一实施例中,定位器265可重新定位可操纵显示器210以使显示器图像与场景元素或其它外部特征相匹配。

处理系统240可进一步包含切口逻辑250。切口逻辑250限定可操纵显示器220、230的位置,并将显示位置信息提供给相关场显示器285。场显示器285使用此数据来产生包含场显示器中的切口的场显示器图像,所述切口对应于场显示器的被可操纵显示器代替的部分。替代地,可“切去”图像,即可渲染完整图像,且可在显示之前丢弃图像的切口部分。

具有切口可确保可操纵显示器图像和场显示器图像之间没有干扰。在一个实施例中,当存在切口时,混合器逻辑255将切口的边缘与定位在切口区域内的可操纵图像的边缘混合以确保过渡平滑。

在另一实施例中,可操纵显示器210可用以显示子画面,即覆盖在场图像上的较亮元素。在此情况下,在一个实施例中,既不使用切口逻辑250也不使用混合器逻辑255。在一个实施例中,可按需要选择性地激活切口逻辑250和混合器逻辑255。

在一个实施例中,当系统移动可操纵显示器210时,显示元件222和232未展示。在一个实施例中,通过熄灭可操纵显示器的光源以防止用户感知到显示器220、230的移动和相关视觉伪影,例如模糊、颜色分离、亮度闪烁等而未展示显示器。在一个实施例中,可针对定时移动异步地控制右侧显示器220及左侧显示器230。

在未展示的一个实施例中,当未展示可操纵显示器210时,处理系统240使用场显示器逻辑256填充场显示器中的切口孔以防止用户感知到显示中的伪影或孔洞。在一个实施例中,填充数据基于最初针对场显示器和切口产生的数据。在一个实施例中,填充数据基于最初针对可操纵显示器产生的数据。在一个实施例中,填充数据为针对场显示器285和可操纵显示器210产生的数据的混合。在一个实施例中,场显示器填充逻辑256使用包含模糊、抗锯齿、抖动、透明混合(alpha blend)等的各种过滤技术来调节填充数据,使得用户不会察觉到切口孔暂时被不同的显示源填充。

在一个实施例中,系统可利用具有独立异步额外显示器280的异步可操纵显示器210。在此情况下,在一个实施例中,调度器和同步逻辑272使显示器同步。在一个实施例中,独立额外显示器280与可调节镜子或可操纵显示器210的其它定位元件同步。这使显示器同步。额外显示器280可接收定位数据。此过程在下文更详细地论述。在另一实施例中,额外显示器280和可操纵显示器210可以是同步的。在此类配置中,可去除调度器和同步逻辑272或可简化其逻辑。

在一个实施例中,处理系统240可包含光学失真校正系统275。光学失真校正系统275可调节图像以添加从图像的中心到边缘不断增大的失真。在一个实施例中,此有意失真使像素校正失真。在一个实施例中,光学失真校正系统275的感知大小随着从图像的中心移到边缘不断增大。感知分辨率的此变化减少了所需的处理量,因为覆盖可操纵显示器图像的相同角度区域所需的像素更少。在一个实施例中,光学失真校正系统275应用于可操纵显示器图像。在一个实施例中,此类光学失真可有助于可操纵显示器210与额外显示器280之间的混合。在另一实施例中,包含光学失真校正系统275的可操纵显示器210可在没有场显示器的情况下使用。所述可操纵显示器还提供了更简单的光学设计,并节省了对混合的处理。在一个实施例中,此类可变分辨率高度失真的图像在中心与边缘的像素大小之间具有大的比率。此显示器的总FOV可能相当大(例如180度)。

在一个实施例中,光学失真校正系统275对场显示器和中央凹显示器应用校正。在一个实施例中,对于场显示器,光学校正创建中央凹区域的遮罩,所述遮罩根据时序被切去并与中央凹显示器混合或填充,如下文所讨论。在一个实施例中,光学失真校正系统275应用于场光学器件和色彩校正的径向失真校正。

在一个实施例中,光学失真校正系统275将中央凹区域的边缘混合、对场光学器件应用径向失真校正、应用单应性变换以校正镜子位置、对中央凹光学器件应用径向失真校正且应用色彩校正。在一个实施例中,对场光学器件和中央凹光学器件应用单独的径向失真校正是独特的。在一个实施例中,用于场光学器件的径向失真校正使用查找表或样条拟合以基于镜子(或其它位置元件)位置重新集中失真校正。在一个实施例中,校正镜子位置的单应性变换使用来自校准步骤的查找表或样条拟合系数。在一个实施例中,单应性校正通过RGB颜色完成。

在一个实施例中,滚降(roll-off)逻辑277在显示器的边缘提供滚降。在一个实施例中,滚降可包含分辨率滚降(朝显示区域的边缘降低分辨率)。在一个实施例中,所述分辨率滚降可通过光学失真校正系统275的放大来实现。在一个实施例中,滚降包含亮度和/或对比度滚降(朝边缘降低亮度和/或对比度)。此类滚降被设计成减小显示器的边缘的陡峭程度。在一个实施例中,滚降可被设计成滚降到“无”,即从全亮度/对比度逐渐减小到灰色或黑色或环境颜色。在一个实施例中,当没有相关联的场显示器时,可操纵显示器210可使用滚降逻辑277。在一个实施例中,当系统中有场显示器时,滚降逻辑277可以是场显示器285的部分。

在一个实施例中,当可操纵显示器210为多焦点显示器时,焦点选择器267识别用于显示的多个焦距并产生用于每一焦距的适当显示数据。在一个实施例中,在多焦点显示器中,在不同焦距处显示一组时间顺序的图像。一组连续的图像以一定的速度显示,因此用户将其视为具有多个焦距的单个图像。

在一个实施例中,数字校正系统252校正所产生的图像数据以调节由于多焦点显示器引起的任何失真。在一个实施例中,数字校正系统252进一步调节多焦点显示器的每一图像的大小,使得可操纵显示器210与场显示器285之间的混合保持顺畅。

图3为控制器和渲染管道的一个实施例的框图。在一个实施例中,用户位姿检测器315可包含外部摄影机、例如陀螺仪的一或多个传感器、运动检测器和其它传感器中的一个或多个。在一个实施例中,头戴装置上的一个或多个摄像机和/或传感器可用于用户位姿检测器315。这被称作彻底的跟踪。替代地或另外,不为头戴装置的部分的摄像机和/或传感器可用于用户位姿检测器315。

在一个实施例中,用户位姿检测器315可包含“相对”变化检测器和/或绝对位姿检测器。“相对”变化检测器检测位姿随时间推移的变化,而绝对位置测量将用户置于3D空间中。来自用户位姿检测器315的数据被传递到中断发生器320,以及场显示器渲染器330和元数据系统390。

中断发生器320产生中断,调度器385使用所述中断来控制场显示器渲染器330和中央凹显示器渲染器340。中断发生器320从位姿检测器315且从视线检测器325接收数据。传入显示(场景)数据322被传递到渲染器330、340。视线检测器325也联接到中断发生器320,使得所述视线检测器可由调度器385用来控制中央凹显示器渲染器340,因为若用户的视线移动,则中央凹显示器数据可能需要改变。调度器385还可使用其它触发器来调节中央凹显示器渲染器340。

来自视线检测器325的数据也被提供给合成管理器380。合成管理器380管理中央凹显示器和场显示器的组合以向用户呈现无缝图像。在一个实施例中,合成管理器380使用来自视线检测器325的数据来实现场显示器中的切口的定位,以对应于中央凹显示器的位置。渲染器330、340渲染纹理。在一个实施例中,中央凹显示器渲染器340为多焦点中央凹显示器渲染多个深度。

视线检测器325还向位置检测器和致动器350提供数据,所述位置检测器和致动器控制可操纵镜子或其它可操纵元件的移动,这使得能够定位中央凹显示器365。致动器350移动元件以适当地定位中央凹显示器365。中央凹验证器355验证中央凹显示器365的实际位置与渲染图像的预期位置相匹配。

在一个实施例中,对于基于DLP/LCOS/激光扫描仪系统的中央凹显示器,若中央凹显示器365元件的位置不正确,则快速关闭元件370可关闭中央凹显示器365的照明(LED或激光器或其它照明源)。这停止显示或熄灭中央凹显示器365,仅留下场显示器360。

在一个实施例中,对于发射显示器(例如uLED或OLED),快速关闭元件370可熄灭整个中央凹显示器365。在一个实施例中,停止中央凹显示器365的显示包括向显示器365发送空白图像数据。

在一个实施例中,快速关闭件370还发送数据到合成管理器380,所述快速关闭件关闭场显示器的切口,留下完整的场显示器,而高分辨率中央凹显示器365不可用。在另一实施例中,切口可填充有填充数据。在一个实施例中,用于场显示器360中的切口的填充数据可基于针对场显示器、中央凹显示器或场显示器和中央凹显示器的组合渲染的图像数据。

在一个实施例中,合成管理器380基于来自中央凹验证器355的信息选择哪些数据对于在场显示器360中的切口中显示是有效的。当中央凹显示器的位置正确时,使用来自中央凹显示器渲染器340的当前中央凹纹理。

在一个实施例中,当不存在用于所述位置的当前中央凹纹理数据时,可使用重新投影的场显示器数据。在某些情况下,可使用先前的中央凹纹理数据。合成管理器380基于来自各种源的数据的准确性和可用性来确保切口在其存在时被数据填充。

来自渲染器330、340的数据进入相应合成器335、345。在一个实施例中,合成器335、345可以是异步的。在一个实施例中,渲染器330、340可在单独的时钟上,且在不同于合成器335、345的频率下工作。

场显示器360显示右眼和左眼场图像,而中央凹显示器365显示右眼和左眼中央凹图像。在一个实施例中,如上所述,中央凹图像和/或场图像可具有多个焦平面或深度。在所述实施例中,由合成器335、345产生的帧数据可包含与多个焦距相关联的图像元素的序列。序列可以是时间序列。在另一实施例中,焦距可基于位置而非时间。在一个实施例中,中央凹图像和/或场图像可具有可变焦点。

在一个实施例中,同步器375确保来自场显示器和中央凹显示器的异步产生的帧数据正确排列。在一个实施例中,同步器375使用来自图形处理单元的时戳来协调各种时域。在一个实施例中,同步器375与系统中具有最大时延的装置同步以驱动渲染决策。

在一个实施例中,元数据系统390可产生元数据且将其附接到渲染数据、合成数据和/或帧数据。可以各种方式使用此元数据。在一个实施例中,元数据可用以刚好在显示器开启之前进行后期更新或重新投影。元数据可用于说明从渲染帧到即将显示帧之间的视线、位姿或镜子位置的变化。因此,在一个实施例中,元数据系统390从各种系统接收数据,包含用户位姿检测器315、视线检测器325、位置检测器和致动器350以及中央凹显示器渲染器340。

如上所述,在一个实施例中,合成器335、345以与渲染器330、340不同的更新速率运行。中央凹显示器渲染器340过度渲染中央凹/场区域且元数据系统390用元数据标记所述区域,表示与所渲染内容相关联的视线、位姿和/或镜子位置。

当将显示中央凹数据时,中央凹显示器合成器345将元数据与最新位姿、视线和/或位置测量结果进行比较,且使用差异来选择过度渲染的纹理的适当部分且将其发送到中央凹显示器365。

在一个实施例中,元数据系统390可用以指示一或多个关注区域。在一个实施例中,场景中的一些点被评为比场景中其它点更受关注的区域。这些关注区域可用以将有效注视点限制为元数据中标记的内容。

在一个实施例中,元数据系统390可用以标记场景中为注视点的若干区域。

在一个实施例中,当播放视频内容时,元数据系统390可用以用即将到来的信息标记帧。这可用于让系统知晓管道是否发生任何改变。

在一个实施例中,元数据可含有可操纵显示器的操纵信息,因此所述操纵信息可在与帧信息本身相同的时域中向下发送到镜子控制系统。

在一个实施例中,元数据还可用于镜子的微校正。

在一个实施例中,元数据系统390可用在局部相对眼动跟踪器的一部分中,所述局部相对眼动跟踪器跟踪眼球运动并使用其自渲染帧以来跟踪的历史数据来发送新的镜子位置和/或裁剪帧中的数据作为后期更新。

在一个实施例中,元数据系统390可为场景中的一些对象提供后期更新优先级,例如若对象需要固定到现实世界对象,则其优先于场景的其余部分。

图4A为渲染引擎和合成器系统的一个实施例的流程图。系统包含渲染引擎410和直接模式合成器450。

在一个实施例中,渲染引擎410具有其自己的时基,而合成器450具有单独时基。在一个实施例中,合成器450具有用于两个显示器、场显示器时基(场垂直同步)和中央凹显示器时基(中央凹垂直同步)的单独时基。这意味着在一个实施例中,每一元素可使用单独时基以不同的速度和刷新速率运行。在一个实施例中,具有单独时基的数据和显示可通过使用维持各种显示器的呈现同步的同步区块实现同步。在此上下文中的呈现同步意味着来自两个显示器的显示内容被用户认为是同步的。

在一个实施例中,这还使渲染引擎410和合成器系统450能够以不同的速率运行。在一个实施例中,合成器450比渲染引擎快。在一个实施例中,渲染引擎410以可变数量的每秒帧数运行,且合成器450以两种不同的帧率运行,一种用于场显示器且另一种用于中央凹显示器。

在另一实施例中,合成器和渲染系统是同步的且在相同的时基中运行。在一个实施例中,所有显示器都是同步的且在相同的时基中运行。在一个实施例中,显示器在相同时钟上运行以确保它们保持同步。在一个实施例中,显示器可以相同的更新速率运行。在另一实施例中,一个显示器的显示更新速率可以是另一显示器的速率的整数倍。在一个实施例中,一个显示器的显示更新速率可与另一显示器的更新速率异步。在一个实施例中,场显示器和中央凹显示器各自为单个更大显示器的一部分。

在一个实施例中,渲染引擎410连续地处理数据。当接收到用于渲染的新显示数据时,渲染引擎410由渲染引擎时基循环、渲染纹理和任选的多焦点显示器的深度驱动。

在一个实施例中,在检测到新位姿时中断驱动渲染引擎410中的立体投影矩阵,从而接收中断。位姿限定用户在三维空间中的位置,包含位置和定向。在一个实施例中,位姿具有六个自由度。每当检测到新位姿时,中断就被发送到渲染引擎410的立体投影矩阵。

在一个实施例中,中断触发限定场显示器的投影矩阵的更新。场显示器的左显示器和右显示器被渲染为纹理。

在一个实施例中,对立体投影矩阵的更新还触发了对中央凹视口的更新。中央凹视口为被视为“中央凹区域”的场显示器的区域,所述区域由单独的显示器,即中央凹显示器以更高分辨率渲染,如上所述。当中央凹视口更新时,其会触发中央凹显示器的左侧和右侧图像/纹理和深度数据的重新渲染。中央凹左/右数据和场左/右数据以及视口数据被传递到直接模式合成器450。

在一些实施例中,各种其它过程可触发对中央凹视口的更新,包含所显示数据的改变、操作系统级别改变、场景内容的改变、环境元素、事件和/或其它触发事件。在一个实施例中,任何此类触发器更新中央凹数据的渲染。

除了由新位姿触发之外,渲染引擎410还可基于来自中央凹状态机455的数据触发中央凹视口的更新。中央凹状态机455用以在用户的视线向量改变时触发渲染引擎410和合成器450,以确保中央凹显示器被正确定位并在正确位置显示高分辨率图像。

在一个实施例中,调度器440控制各种元件,并通过渲染启动触发实际渲染。在一个实施例中,调度器440从场合成启动件和中央凹合成启动件接收数据。

在一个实施例中,合成器450还在检测到新位姿时由中断触发。在一个实施例中,当接收到新位姿数据时、当接收到新纹理数据时或当相对于场显示器场垂直同步存在偏移时,场显示器被中断。合成器450从渲染器410接收纹理和中央凹视口数据。

在一个实施例中,场显示器时基为场垂直同步,其在一个实施例中具有11毫秒(90Hz)的周期。在一个实施例中,范围为60Hz至180Hz。在一个实施例中,当检测到新位姿或从渲染引擎410接收到新渲染数据时,基于当前位姿重新投影渲染场景。

在一个实施例中,中央凹管理器455用以驱动中央凹显示器,以在视线向量改变时更新中央凹显示器的位置和内容。中央凹管理器455还将视线矢量数据提供给调度器,并因此提供给场显示器合成器,使得场显示器合成器知晓中央凹显示器的位置。中央凹管理器455进一步向调度器440提供此数据。

这使场显示器合成器能够识别场显示器的适当区域以用于中央凹显示器的切口。在一个实施例中,当中央凹显示器正确定位并准备好显示时,场显示器数据被切去,而当中央凹显示器未正确定位或不具有用于显示的适当数据时,场显示器数据被填充。用以定位场显示器中的切口的此数据基于来自中央凹管理器455的数据。

在一个实施例中,应用镜头校正。在一个实施例中,镜头校正通过在渲染管道中利用软件校正以校正失真来实现光学器件的简化。在一个实施例中,系统可使用动态失真图。在一个实施例中,校正可包含对径向失真、枕状桶状失真、色像差和其它失真的校正。在一个实施例中,随后打包场帧。

在一个实施例中,随后更新场显示器交换链。在一个实施例中,交换链为包含前缓冲区和后缓冲区的物理缓冲区。在一个实施例中,场合成器写入后缓冲区,而前缓冲区发送到显示器。在一个实施例中,场合成器在消隐时段期间直接写入前缓冲区。在另一实施例中,交换链为用于显示器的虚拟帧缓冲区。在另一实施例中,可使用另一类型的缓冲区,或可直接投影所渲染的图像。

在一个实施例中,同时但不是同步地,中央凹显示器接收中断,且中央凹合成启动件触发合成器。在一个实施例中,中央凹显示器使用中央凹垂直同步,所述中央凹垂直同步可与驱动场显示器的场垂直同步异步。在具有多个异步子系统的系统中,系统可确定哪一(或哪些)子系统将驱动全局同步。在一个实施例中,系统中具有最大时延的显示器驱动渲染决策,以及由此产生的中央凹显示器重新定位/更新。在另一实施例中,场显示器合成器和中央凹显示器合成器可同步,例如,中央凹垂直同步可与场垂直同步相同。在另一实施例中,场显示器和中央凹显示器可为单个显示器的两个部分。在此情形下,场显示器和中央凹显示器可共用同一垂直同步(Vsync)信号。在一个实施例中,单个显示器可具有两个部分,且显示器的场部分和中央凹部分彼此光学隔离。在一个实施例中,光学隔离可以是黑色的区域。

中央凹管理器455确定从渲染引擎410接收到的中央凹渲染是否有效。

中央凹渲染(其在一个实施例中包含从渲染引擎410接收到的中央凹RGB、视口和纹理)在所渲染的中央凹数据的位置与当前中央凹位置之间没有变化或仅有很小差异时有效。若当前中央凹数据中渲染的区域与中央凹显示器的实际位置完全或几乎完全重叠,则中央凹渲染有效。

在一个实施例中,中央凹区域被渲染引擎410过度渲染。当合成器以比渲染器更高的频率运行时,这种过度渲染会有所帮助,且可用于再现小幅镜子移动。在一个实施例中,这为不准确的镜子移动或眼动跟踪提供了一些灵活性。在一个实施例中,过度渲染可高达中央凹区域的50%。在一个实施例中,基于预期眼球运动,过度渲染可以是不对称的,例如预测过度渲染。在一个实施例中,过度渲染区域可用以允许合成器合成新场景而无需为小幅的镜子移动重新渲染场景。

在一个实施例中,如果中央凹渲染有效,则使用快速显示路径。

若中央凹渲染有效,且不需要推迟镜子移动以使中央凹显示器及时正确定位以显示数据,则对当前中央凹纹理进行取样。在一个实施例中,系统应用失真校正,并打包中央凹帧。

在一个实施例中,失真校正为由可操纵镜子或显示元件引起的失真提供软件校正。这实现了光学器件的简化。在一个实施例中,失真的软件校正可基于镜子或其它可操纵显示元件的移动来校正失真的差异。在一个实施例中,失真随着反射镜子/元件移动而改变。通过在打包帧之前对数据进行预扭曲,系统可使用软件失真校正。在一个实施例中,系统可基于镜子/元件定位而为图像的不同部分提供不同的校正。

在一个实施例中,系统可基于镜子/元件的位置而使用动态失真图。通过创建动态失真图,系统可基于镜子/元件的已知位置而应用失真校正。在一个实施例中,可预先计算并基于查找表应用动态失真图。在另一实施例中,可根据多项式样条或其它数学模型连续评估动态失真图。

可存在用于中央凹显示器的多个失真源。在一个实施例中,显示器面板与操纵元件之间存在光学组件。光学元件会引入与操纵位置无关的失真。此类型的失真可被称为投影仪失真。在一个实施例中,此失真为径向的。在一个实施例中,可通过2D内插多项式或另一2D函数来描述此失真。此失真的位置相对于中央凹视场是固定的。在一个实施例中,软件失真校正还可用以校正投影仪失真。

操纵位置的变化引入了可由单应性矩阵描述且取决于操纵位置的变换。此类型的失真可被称为单应性变换。在一个实施例中,软件失真校正还可用以校正单应性变换失真。

在一个实施例中,在操纵元件与用户眼睛之间存在光学元件。这些元件也引入了失真。此失真相对于系统的总可操纵范围是固定的,并且不会在系统被操纵时随中央凹视场移动。此类型的失真可被称为扫描失真。在一个实施例中,扫描失真为径向的。在一个实施例中,可通过2D内插多项式或另一2D函数来描述此失真。

可利用其自身校正来校正这些失真源。在一个实施例中,通过将显示器面板上的坐标转换为预期图像上的坐标而以数学方式校正失真。在一个实施例中,存在所有三个失真源,且首先应用针对投影仪失真的校正,随后应用针对单应性变换失真的校正。单应性变换还校正中央凹显示器面板的任何旋转错位。在一个实施例中,最后应用针对扫描失真的校正。

在一个实施例中,投影仪失真和扫描失真都可进一步分解为多个径向失真。这样做可以是为了计算效率,也可以是为了解决光学元件之间的未对准。能够应用这些失真校正允许放宽光学系统的设计限制。在一个实施例中,系统在中央凹视场的边缘处的总失真可高达50%,且面板的旋转错位可高达180度。

在一个实施例中,存在用于不同焦平面的单独图像校正。在一个实施例中,图像校正包含失真校正、色彩校正、亮度/渐晕校正、时间过滤、模糊和抖动。在一个实施例中,所有这些校正一次性应用于给定焦平面。在另一实施例中,这些校正中的一个或多个被单独或独立地应用。

在一个实施例中,若中央凹显示器是多焦点的,则数据在中央凹显示器的多个焦平面之间交替。

数据是为交换链而打包的。

随后更新中央凹交换链或另一缓冲区。

返回到中央凹管理器对渲染是否有效的确定,在一个实施例中,若中央凹渲染有效,但镜子移动被推迟,则对先前的中央凹纹理进行取样。在一个实施例中,由于镜子不能到达预期位置且不能在正确显示中央凹图像所需的时间帧内固定在所述预期位置,镜子移动可推迟。在一个实施例中,由于错过触发移动命令的事件期限,镜子移动可推迟。

由于镜子移动被推迟,基于镜子的投影新位置的更新后的渲染是不准确的。因此,基于镜子的延迟移动,对先前中央凹纹理进行取样,且使场显示器的切口位置与切口的实际位置相匹配。

当中央凹渲染由于各种原因而有效时,可发生镜子推迟,包含但不限于:

管道延迟,其中推迟镜子移动以使镜子移动与更新的中央凹图像将显示给用户的时间一致;

镜子还未准备好进行新的位置移动;

此时移动镜子会降低用户的视觉体验;

场景中的内容用于指示镜子位置,且所关注的内容在位置上不与最新渲染的中央凹帧对准;

用户的视线已回到先前位置;

检测到错误的视线移动;

检测到大的扫视,且系统正在准备大的镜子移动,或改变镜子移动的大小;

主机系统检测到其已错过将移动镜子消息向下发送到镜子的时间期限;

指示不应移动镜子的新位姿数据已到达;

等。

当渲染有效,但镜子移动被推迟时,取样的先前中央凹纹理将传递到失真校正。

若中央凹管理器确定中央凹渲染无效,则意味着不能使用中央凹渲染数据,且应在正确位置重新渲染图像。在一个实施例中,这被称作慢路径,因为渲染引擎必须重新渲染中央凹图像。在一个实施例中,中央凹显示器可从重新投影的场纹理和中央凹纹理中的一或两者重新取样以显示中央凹图像。在一个实施例中,若实际中央凹区域不与渲染数据重叠,则系统可关闭中央凹显示器并仅利用场显示器。在一个实施例中,使用了上文所论述的快速LED关闭技术。

如上所述,合成的场显示器数据和中央凹显示器数据都被打包到一个帧中。在一个实施例中,右侧和左侧的图像数据被打包到单个显示帧中。在一个实施例中,帧打包格式可变化。在一个实施例中,帧打包可将左侧图像和右侧图像打包到单个显示帧中。在一个实施例中,所有四个数据集(用于场显示器的左侧数据集和右侧数据集以及用于中央凹显示器的左侧数据集和右侧数据集)可被打包到单个帧中。在一个实施例中,每个数据集(用于场显示器的左侧数据集和右侧数据集以及用于中央凹显示器的左侧数据集和右侧数据集)被打包到其自身的单独帧中。

在一个实施例中,系统可使用帧打包的自定义交错,以考虑到场显示器和中央凹显示器的相对大小。在一个实施例中,中央凹显示器可以是720x720,而场显示器是1280x720。帧打包可打包为2000x720帧,涵盖上述两者。现场可编程门阵列(FPGA)、专用集成电路(ASIC)、片上系统(SOC)或其它处理器可用于显示控制器内以对用于显示器的帧数据进行解包。

在一个实施例中,用于单个眼睛的场显示器和中央凹显示器各自为单个显示器的一部分。在此情况下,可将场显示器图像和中央凹显示器图像打包到单个较大帧中,其中较大帧为显示器面板的大小。例如,用于一只眼睛的整个显示器可能是一个1280x720的面板,且场显示器可以打包到面板左侧的640x720区段中,而中央凹显示器可以打包到面板右侧的640x720区段中。在另一实施例中,场显示器和中央凹显示器分辨率不同。在另一个实施例中,场显示器和中央凹显示器的组合没有用完整个显示器面板。在此实施例中,在一个实施例中,未使用的像素可以是黑色的,或在系统中被光学阻挡,从而允许场显示器和中央凹显示器之间的光学分离。在一个实施例中,可以物理方式阻挡显示器面板的未使用部分。这可提供改进的对比率。

可使用的一些帧打包方法包含:

场的立体左/右颜色(成一个显示帧);

焦平面0在时间T0时的中央凹的立体左/右颜色(成一个显示帧),并交替发送到中央凹显示器;以及

焦平面1在时间T1时的中央凹的立体左/右颜色(成一个显示帧),并交替发送到中央凹显示器。

在另一实施例中,打包水平可不同。例如,在一个实施例中,所有渲染的纹理(颜色+深度)被打包并一起发送到具有多个显示器的一个装置(基本上在装置上合成,包含深度到焦平面的转换)。在另一实施例中,所有合成后的纹理被打包到单个帧中并发送到一个装置(装置在解包后依次呈现T0和T1的场平面和焦平面)。在另一实施例中,以上单个时间T0或T1的所有合成后的纹理一起发送到一个装置和主机序列。在另一实施例中,所有中央凹纹理(用于多个平面)被打包在一起而非按时间顺序发送,但场纹理是独立发送的,且装置对平面进行排序。在一个实施例中,用于立体左/右的所有焦平面的纹理都被独立发送(基本上没有打包)。在一个实施例中,打包的帧数据可仅含有整个帧的子集。在一个实施例中,可压缩帧数据。

图4B为中央凹管理器455的元件的一个实施例的框图。中央凹区域处理器460利用描述系统和镜子能力和时延的系统数据495,和包含当前镜子位置和直到垂直同步的时间的状态数据490,以及描述系统当前状态的其它数据。在一个实施例中,中央凹区域处理器460接收来自预测位姿逻辑465的位置和向量数据、即将到来的场景的场景元数据475以及来自预测视线系统467的视线向量和眼球运动分类。中央凹区域处理器460利用此数据来计算中央凹视口480和镜子控制输出485。

在一个实施例中,中央凹区域处理器460利用实时输入来生成实时输出。然而,中央凹区域处理器460可利用基于各种数据输入的分析来确定应将中央凹显示器引导到何处。在一个实施例中,系统使用机器学习来计算中央凹显示器的最佳位置和数据。中央凹区域处理器460基于可用的数据而使用高级过滤来消除非生产性移动,所述数据包含状态数据、系统数据和即将到来的场景数据/预测视线和位姿数据。在一个实施例中,高级过滤特定针对于特定使用情况。在一个实施例中,高级过滤特定针对于用户。在一个实施例中,中央凹区域处理器可确定显示的内容和显示的位置以减少伪影/优化视觉质量。在确定中央凹视口480和相关镜子控制输出485时,中央凹区域处理器也可考虑其它因素,例如减少镜子移动、减轻眼部疲劳和减少功耗。

在一个实施例中,中央凹区域处理器460接收在未来进行XYZ的请求,例如在特定位置显示中央凹区域数据。中央凹区域处理器460基于以上输入确定其例如在时间A'在X'Y'Z'将进行何种动作。将此数据反馈到渲染引擎,以渲染X'Y'Z'数据,以便在时间A'可用于中央凹显示器。

图5A至5B为系统中眼动跟踪和镜子控制的一个实施例的流程图。图5A示出主机CPU和眼动跟踪器流程的一个实施例,而图5B示出相应头戴装置微控制器单元(MCU)和镜子控制流程的一个实施例。

当接收到新的眼动跟踪数据时,过程开始于框505处。在框510处,过滤数据,且计算新视线向量。

在一个实施例中,随后分析数据。在一个实施例中,对眼球运动进行分类。在一个实施例中,分类可包含诸如扫视和平滑跟踪的运动。在一个实施例中,还分析自上次移动镜子以来经过的时间,且系统确定若移动镜子是否会降低用户体验。

在框515处,系统随后基于若移动镜子是否会降低/改进用户体验而决定是否移动镜子。若确定不移动镜子,则在框520处结束过程。镜子不会移动,且不会产生待显示的新帧。

若在框515处确定移动镜子,则框522处的过程确定是否应推迟镜子的移动。如上所述,由于数据限制、物理限制或其它原因,可推迟镜子移动。若在框522处过程确定推迟移动,则在框524处,镜子移动推迟所需时段。在一个实施例中,可将镜子移动推迟一帧。在延迟结束后,过程返回到框525。若不推迟移动,则在框522处,过程直接继续进行到框525。

在框525处,过程将新中央凹区域数据发送到渲染器。渲染器在框530处渲染最新的中央凹区域。在一个实施例中,所述渲染与镜子移动异步进行。

当接收到移动指令,且在一个实施例中与将新的中央凹区域数据发送到渲染器并行时,在框535处,系统将新的镜子坐标发送到头戴装置。在一个实施例中,发送到头戴装置的数据包含具有目的地坐标的移动镜子命令。在一个实施例中,数据还包含指定镜子延迟的长度的镜子移动延迟数据。镜子延迟为直到启动镜子移动的时间。在一个实施例中,镜子延迟还包含直到应停止中央凹显示器的时间。此延迟可被称为移动延迟时间。

在一个实施例中,基于眼球运动分类和视线数据计算位置和镜子延迟(如果有的话)。在框537处将此数据连同新镜子坐标发送到头戴装置MCU和镜子控制件。在一个实施例中,在镜子移动期间,中央凹显示器熄灭。

因为在一个实施例中,镜子移动导致中央凹显示器暂时缺乏可用性,所以在框540处,用于中央凹显示器的旧位置处的场显示器中的孔被填充。在一个实施例中,系统基于镜子移动的幅度和显示呈现时间的叠加而查找待填充的场显示帧的数量。在一个实施例中,使用查找表计算镜子移动和稳定时间的时长。在一个实施例中,指示镜子的移动在稳定阈值内,且因此中央凹显示器可供使用的镜子稳定信号可从头戴装置MCU发回(参见框585)以结束此循环。

在一个实施例中,发送到头戴装置MCU和镜子控制件的数据包含稳定标准,所述稳定标准限定镜子何时到达其目的地且中央凹显示器可安全地显示而不会降低用户体验。在一个实施例中,此稳定准则包含位置准确性数据以及镜子必须在目标目的地的准确性极限内的时间量。

在一个实施例中,动态地设置稳定准则。稳定标准可基于操纵移动的大小、视线检测器报告的视线变化的大小、场景中的内容等动态地确定。

在一个实施例中,当填充场显示器中的孔的时间长度为0帧时,而场显示器从不填充场显示器中的孔,则在框542处使用旁路路径,从而直接进行到框555。

在一个实施例中,填充数据可以是渲染的场显示器数据、渲染的中央凹数据、来自前一帧的中央凹数据、重新处理的场显示器数据或以上类型数据的组合。

在一个实施例中,在框545处,填充利用渐进亮度填充和未填充。在一个实施例中,在框545处,填充可使用一个或多个过滤方法,例如抗锯齿、空间抖动、时间抖动、模糊等。用以填充场显示器的各种过滤方法旨在防止填充过程期间的视觉伪影,例如由短余辉显示器的亮度的突然变化引起的闪光。在一个实施例中,利用渐进式混合以使扫视掩蔽滚降结束时的视觉伪影最小化。

短余辉显示器仅打开一小部分帧,例如11毫秒帧的2毫秒;这是为了防止头戴式显示器出现震动。在显示中央凹帧后立即填充场显示器时,震动可产生不想要的闪光,因为来自短余辉场显示器的闪光被添加到先前显示的中央凹帧中,并且眼睛认为这种组合太亮。在一个实施例中,可通过在中央凹显示器被关闭之后降低用于第一帧的场显示器填充的亮度来减轻此闪光。在一个实施例中,对于所述第一帧中的场显示器,仅填充了一半的亮度。在一个实施例中,对于第一帧,场显示器的亮度可以是10%至90%。在一个实施例中,这意味着用户在过渡期间感知到均匀的亮度。在一个实施例中,当填充切口时,场显示器亮度在几帧内逐渐增加。

在框550处,在一个实施例中,过程确定对于镜子移动是否已经过足够时间。在一个实施例中,此确定是基于指示移动的时间量的查找表做出的。如果未经过足够时间,则过程继续等待。在一个实施例中,在等待期间,场显示器被示出为不具有如上所述的切口。

一旦已经过足够时间,在框555处,在一个实施例中,过程确定所产生的中央凹图像对于镜子目的地是否正确。如果不正确,则在一个实施例中,过程使用来自先前中央凹帧的数据。在另一实施例中,可使用场数据。在一个实施例中,使用什么数据取决于对于中央凹镜的实际位置可用的最准确数据,以确保不存在位置不匹配从而出现错误。

一旦确定中央凹图像是正确的,在框560处,在新位置处从场显示器开出中央凹孔。在一个实施例中,“启用中央凹显示器”命令在框565处被发送到头戴装置。在一个实施例中,这两个部分,框560和565是异步的。图6的时序图提供更多细节。

转向图5B,在框570处,头戴装置MCU接收由主机CPU和眼动跟踪器在框537处发送的移动镜子命令。

在框571处,过程确定是否应推迟镜子移动,如在框537处所确定的。若应推迟,则镜子移动和中央凹显示器的显示基于所提供的数据而延迟。

在框573处,在一个实施例中,未显示中央凹显示器。在一个实施例中,未显示中央凹显示器,因为中央凹显示器的照明源被停用。实际上,停用中央凹显示器照明源会关闭中央凹显示器。在一个实施例中,中央凹显示器可通过发送空白(黑)帧而被消隐而不显示。在一个实施例中,代替停用中央凹显示器照明源或发送黑帧,系统可以另一方式停止显示中央凹显示器。

在一个实施例中,在框575处,移动被延迟足够长的时间以确保不显示中央凹显示器。在一个实施例中,延迟为1.2毫秒。在一个实施例中,延迟小于4毫秒。在一个实施例中,由于在发送“移动镜子命令”时的延迟时间足以确保照明源关闭,因此不存在延迟。

另外,在一个实施例中,系统在框577处查找用于此镜子移动的镜子移动控制系数。这些参数基于起始位置、移动规模和移动方向。方向在一个实施例中是相关的,因为其可影响移动的回程弹簧力。在一个实施例中,使用PID(比例、积分、微分)控制循环。在框580处,过程更新控制循环系数且在控制循环中设置新的位置目标。随后镜子移动开始。

在框583处,进行移动。在一个实施例中,所使用的移动是快速移动和制动,被称作起停(bang-bang)控制。在一个实施例中,短暂的硬启动使移动开始,以克服底噪,且随后控制算法接管移动以正确地定位镜子。在一个实施例中,在移动结束时,镜子可具有残余振动。

在框585处,过程确定镜子是否已在新目标目的地处稳定。在一个实施例中,当镜子不再移动或振动时,其被认为是稳定的。在一个实施例中,当剩余的镜子移动和相对于最终位置的不准确性并未降低典型观看者的视觉体验时,认为镜子是稳定的。在一个实施例中,1至5弧分的移动被认为是稳定的。如上文所论述,在一个实施例中,稳定镜子的阈值是动态的。若镜子稳定,则在框587处,过程确定是否已接收到“启用中央凹显示器”命令。从主机CPU和眼动跟踪器接收此命令,在上文所论述的框565处发送所述命令。

如果镜子稳定,则在框580处启用中央凹显示器的照明源。此时,用户在场显示器的切口中看到正确定位的中央凹显示器的场显示器。

图5A和5B为可操纵中央凹显示器的一个实施例中的操纵控制的流程图。本领域技术人员将理解如何将同一系统扩展到其它类似实施例。如上所述,在一个实施例中,可操纵元件不是镜子。在一个实施例中,主机CPU和眼动跟踪器与头戴装置MCU和镜子控制件集成在一起。

图6和图7为展示时序架构的实施例的时序图。

图6示出时序图的一个实施例,其示出眼动跟踪器系统、场显示器、中央凹显示器、中央凹显示帧缓冲区和中央凹渲染窗口所采取的动作的相对时序。此外,还示出了对头戴式显示器(HMD)的命令和用户视图。

应注意,虽然命令的相对时序基于这些系统之间的关系,但在一个实施例中,场显示器和中央凹显示器在单独的时钟上且不同步。

图6示出在(来自眼动跟踪器系统)报告新视线向量以用于平滑跟踪型的眼球运动之后的60毫秒的时段。在此图示中,镜子移动需要9毫秒,在此期间显示场帧0且穿孔已填充,且未显示中央凹帧。可以看出,在时间21毫秒时,中央凹LED关闭,而在时间32毫秒时,在镜子移动完成且报告镜子已稳定后,中央凹LED重新打开。

图6还示出场显示器的工作周期。在一个实施例中,在11毫秒内场显示器点亮2毫秒(例如,场显示器暗9毫秒)。此类型的工作周期在显示器领域中是已知的。在一个实施例中,在没有此类工作周期的情况下连续地显示中央凹显示器。在另一实施例中,中央凹显示器也可以与点亮场显示器相同的方式仅点亮帧的一部分。

在一个实施例中,中央凹显示器具有多个深度,例如其为多焦点显示器。在一个实施例中,对于此类多焦点显示器,依次显示深度,例如对于帧0,第一帧部分为深度A,第二帧部分为深度B。应注意,虽然仅示出两个帧深度,但多焦点显示器可包含两个以上帧深度。在多焦点显示器的一个实施例中,帧0显示深度A且帧1显示深度B。

与平滑跟踪不同,扫视运动的大小变化很大。因此,运动可能会延伸到多个帧。这意味着可存在多个场帧而无中央凹显示器。本领域技术人员将理解图6中展示的帧显示时序的扩展以用于更长的移动。

图7展示用于同步系统的时序图的一个实施例。在一个实施例中,系统是同步的,且所有子系统在同一时基上运行,例如在其中单个集成控制器控制系统的所有元件的片上系统上运行。在一个实施例中,中央凹显示器每帧都具有关闭时段。在一个实施例中,在中央凹显示器的关闭时段移动可操纵元件,使得当移动可操纵元件时典型观看者的视觉体验没有降低。在一个实施例中,场显示器和中央凹显示器各自为单个较大显示器的一部分,如上文所论述。

在图7中,同步刷新场显示器和中央凹显示器。此外,中央凹显示器具有消隐时段。当中央凹显示器的可操纵元件需要移动时,其在此消隐时段期间移动。在图7的实例中,在22毫秒时报告新视线位置。在11毫秒处更新可操纵显示器中央凹显示器和场显示器,然后在33毫秒处一帧显示新的视线位置。在此实例中,场显示器和中央凹显示器都具有90Hz的帧率。

同步显示器也可以彼此的整数倍与场显示器和中央凹显示器一起运行。

图8为可与渲染引擎一起使用的计算机系统的框图。然而,对于本领域普通技术人员来说显而易见的是,也可使用各种系统架构的其它替代系统。

图8所示的数据处理系统包含用于传送信息的总线或其它内部通信构件840,以及联接到总线840以用于处理信息的处理单元810。处理单元810可以是中央处理单元(CPU),数字信号处理器(DSP)或其它类型的处理单元810。

在一个实施例中,系统进一步包含联接到总线840的随机存取存储器(RAM)或其它易失性存储装置820(被称作存储器),以用于存储将由处理器810执行的信息和指令。主存储器820还可用于在处理单元810执行指令期间存储临时变量或其它中间信息。

在一个实施例中,系统还包括联接到总线840的只读存储器(ROM)850和/或静态存储装置850,以用于存储处理器810的静态信息和指令。在一个实施例中,系统还包含数据存储装置830,例如磁盘或光盘及其相应的磁盘驱动器,或快闪存储器或其它能够在不向系统供电时存储数据的存储器。在一个实施例中,数据存储装置830联接到总线840,以用于存储信息和指令。

系统可进一步联接到输出装置870,例如通过总线860联接到总线840的阴极射线管(CRT)或液晶显示器(LCD),以用于输出信息。输出装置870可以是视觉输出装置、音频输出装置和/或触觉输出装置(例如,振动等)。

输入装置875可联接到总线860。输入装置875可以是字母数字输入装置,例如包含字母数字键和其它键的键盘,以用于使用户能够将信息和命令选择传送到处理单元810。可进一步包含额外的用户输入装置880。此类用户输入装置880为光标控制装置880,例如鼠标、轨迹球、触控笔、光标方向键或触摸屏,所述光标控制装置可通过总线860联接到总线840,以用于将方向信息和命令选择传送到处理单元810,且用于控制显示装置870上的移动。

可任选地联接到计算机系统800的另一装置为用于经由网络访问分布式系统的其它节点的网络装置885。通信装置885可包含多个可在市面上购得的联网外围装置中的任何一个,例如用于联接到以太网、令牌环、因特网或广域网、个域网、无线网络或访问其它装置的其它方法的那些联网外围装置。通信装置885可进一步为零调制解调器连接件,或提供计算机系统800与外界之间的连接的任何其它机构。

应注意,图8中所示的此系统的任何或所有组件以及相关硬件可用于本发明的各种实施例中。

本领域普通技术人员将理解,可根据特定实施方式以各种方式配置体现本发明的特定机器。实施本发明的控制逻辑或软件可存储于主存储器820、大容量存储装置830或可本地或远程访问处理器810的其它存储媒体中。

对于本领域普通技术人员显而易见的是,本文中描述的系统、方法和过程可作为存储于主存储器820或只读存储器850中并由处理器810执行的软件实施。此控制逻辑或软件也可驻存于包括计算机可读媒体的制品上,所述计算机可读媒体具有体现在其中且可由大容量存储装置830访问,并用于使处理器810根据本文的方法和教示进行操作的计算机可读程序代码。

本发明还可体现于含有上述计算机硬件组件的子集的手持式或便携式装置中。例如,手持式装置可被配置成仅含有总线840、处理器810和存储器850和/或820。

手持式装置可被配置成包含一组按钮或输入信令组件,用户可利用它们从一组可用选项中进行选择。这些装置可被认为是输入装置#1 875或输入装置#2 880。手持式装置还可被配置成包含输出装置870,例如液晶显示器(LCD)或显示元件矩阵,以用于向手持式装置的用户显示信息。可使用常规方法来实施此类手持式装置。鉴于本文提供的本发明的公开内容,本发明对于此类装置的实施对于本领域普通技术人员而言是显而易见的。

本发明还可体现在专用设备中,所述专用设备包含上述计算机硬件组件的子集,例如查询一体机或车辆。例如,设备可包含处理单元810、数据存储装置830、总线840和存储器820,且无输入/输出机构,或只有基本的通信机构,例如允许用户以基本方式与装置通信的小型触摸屏。通常,装置用途越特殊,装置运行所需的元件越少。在一些装置中,与用户的通信可通过基于触摸的屏幕或类似机构进行。在一个实施例中,装置可不提供任何直接输入/输出信号,但可通过网站或通过网络装置885的其它基于网络的连接件来进行配置和访问。

本领域普通技术人员将理解,可根据特定实施方式使用被实施为计算机系统的特定机器的任何配置。实施本发明的控制逻辑或软件可存储于可本地或远程访问处理器810的任何机器可读媒体上。机器可读媒体包含用于存储呈机器(例如,计算机)可读形式的信息的任何机构。例如,机器可读媒体包含只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储媒体、光学存储媒体、快闪存储器装置或可用于临时或永久数据存储的其它存储媒体。在一个实施例中,控制逻辑可实施为可传输数据,例如电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号等)。

在前述说明书中,已参考本发明的具体示例性实施例描述了本发明。然而,将显而易见的是,可在不脱离如所附权利要求书中阐述的本发明的更广精神和范围的情况下对本发明进行各种修改和改变。因此,说明书和图式应被视为说明性的而非限制性的。

33页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:切换摄像头视角方向的组件和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!