掌桥专利:专业的专利平台
掌桥专利
首页

HMD中的显示面板和/或虚拟相机的反向旋转

文献发布时间:2023-06-19 12:16:29


HMD中的显示面板和/或虚拟相机的反向旋转

相关申请的交叉引用

本PCT申请要求2019年3月27日提交的标题为“COUNTERROTATION OF DISPLAYPANELS AND/OR VIRTUAL CAMERAS IN A HMD”的美国专利申请序列号16/366,981的优先权,该美国专利申请要求2019年1月14日共同转让、共同未决的美国临时专利申请序列号62/792,290的优先权。申请序列号16/366,981和62/792,290全部内容以引用方式并入本文。

背景技术

用户可佩戴头戴式显示器(HMD)以实现使用户沉浸在虚拟现实(VR)环境(例如,VR游戏)或增强现实(AR)环境中的目的。HMD通过基于由应用程序(例如,视频游戏)输出的帧在一个或多个显示面板上显示图像来进行操作。用户通过HMD中包括的光学器件(例如,透镜)观看这些图像,从而使用户感知这些图像,就好像用户沉浸在VR或AR环境中一样。

一些HMD采用单个显示面板,而其他HMD使用一对显示面板。使用单个显示面板的一个原因是(从材料和/或制造的成本角度来看)相比一对显示面板实现起来更便宜。然而,使用两个显示面板具有若干优点,诸如显示带宽增加、有能力利用更多的可用像素、允许用户调整两个显示面板之间的距离以及其他优点。

当今市场上的所有HMD都有一个共同点:它们具有处于直立面板取向的一个或多个显示面板。例如,具有两个显示面板的HMD以共面、并排(显示面板各自的侧边缘彼此平行)的布置使显示面板取向处于用户面部的正前方。这种类型的直立面板取向具有若干缺点。例如,面板伪影诸如延伸面板长度的条纹或带经常与所显示图像一起出现在直立取向的面板上。这些面板伪影在视觉上使正在观看的用户分散注意力。另外,用户可用的视场(FOV)受限于显示面板的宽度(显示面板的形状通常为矩形)。另外,用于对直立取向的图像进行重新采样的初级过滤器(例如,盒状过滤器)经常沿着所显示图像的垂直方向和水平方向引入采样伪影(例如,锯齿线)。这些采样伪影在视觉上也使正在观看的用户相当分散注意力,特别是当与上述面板伪影耦合时。

本文提供了用于改进和增强这些及其他系统的技术性解决方案。

附图说明

参考附图进行详细描述。在附图中,参考标号的最左边数字标识首次出现该参考标号的附图。在不同附图中使用相同的参考标号指示相似或相同的部件或特征结构。

图1是示出包括处于反向旋转取向的一对显示面板的示例性头戴式显示器(HMD)的示意图。

图2是示出处于直立面板取向的显示面板(HMD中的显示面板中的一个显示面板)的正视图和侧视图的示意图。图2还示出了用于描述在围绕一个或多个轴旋转或倾斜该显示面板之后该显示面板相对于直立面板取向的取向的参考平面。

图3是示出处于反向旋转取向的一对显示面板的正视图、处于反向旋转取向的该对显示面板的俯视图以及在倾斜该对显示面板之后该对显示面板的另一俯视图的示意图。

图4是用于将具有反向旋转相机取向的相机姿态数据发送到执行中的应用程序、基于相机姿态数据或显示面板的取向在不进行旋转调整的情况下对应用程序输出的帧进行重新采样,以及输出针对经重新采样的帧的像素数据到帧缓冲器以显示在反向旋转的显示面板上的示例性过程的流程图。

图5是示出根据本文所公开的实施方案的正在观看的用户通过HMD的透镜的视角看到的所显示图像的示意图。

图6是用于将具有直立相机取向的相机姿态数据发送到执行中的应用程序、在顺时针/逆时针方向上进行旋转调整的情况下对由该应用程序输出的帧进行重新采样,以及输出针对经重新采样的帧的像素数据到帧缓冲器以显示在反向旋转的显示面板上的示例性过程的流程图。

图7是示出处于直立面板取向的一对显示面板的正视图、处于直立面板取向的该对显示面板的俯视图以及在倾斜该对显示面板之后该对显示面板的另一俯视图的示意图。

图8是用于将具有反向旋转相机取向的相机姿态数据发送到执行中的应用程序、在顺时针/逆时针方向上进行旋转调整的情况下对由该应用程序输出的帧进行重新采样,以及输出针对经重新采样的帧的像素数据到帧缓冲器以显示在直立取向的显示面板上的示例性过程的流程图。

图9示出了其中可实现本文所公开的技术的HMD诸如VR头戴式耳机的示例性部件。

具体实施方式

除其他方面外,本文描述了一种头戴式显示器(HMD)系统,该HMD系统包括HMD,该HMD具有外壳和安装在该外壳内的一对显示面板,该对显示面板处于反向旋转取向。该对显示面板可包括第一显示面板(例如,被配置为由佩戴HMD的用户的左眼观看的左显示面板)和第二显示器(例如,被配置为由佩戴HMD的用户的右眼观看的右显示面板)。通过使第一显示面板相对于直立面板取向围绕与第一显示面板的正平面正交的第一轴在第一(例如,顺时针)方向上旋转,可使第一显示面板取向处于第一取向,同时,通过使第二显示面板相对于直立面板取向围绕与第二显示面板的正平面正交的第二轴在与第一方向相反的第二(例如,逆时针)方向上旋转,可使第二显示面板取向处于第二取向。在其中显示面板是共面的且彼此相邻的配置中,第一显示面板的侧边缘和第二显示面板的侧边缘不平行(例如,该对显示面板的各个侧边缘形成介于0到180度(不包括端值)之间的角度。

本文还描述了用于向执行中的应用程序(例如,视频游戏应用程序)提供具有反向旋转相机取向的相机姿态数据并根据HMD的显示面板处于直立取向还是反向旋转取向来在进行或不进行旋转调整的情况下对从该应用程序接收的帧进行重新采样的技术。例如,HMD系统的执行用于对由应用程序(例如,视频游戏应用程序)输出的帧进行重新采样的计算机可读指令(例如,合成器)可向该应用程序发送在第一(例如,逆时针)方向上旋转的第一虚拟相机(例如,左虚拟相机)的第一经旋转的相机取向以及在与第一方向相反的第二(例如,顺时针)方向上旋转的第二虚拟相机(例如,右虚拟相机)的第二经旋转的相机取向。然后,合成器可根据反向旋转相机取向接收该应用程序输出的帧。这种反向旋转相机取向方法可与HMD的直立取向的显示面板一起使用,在这种情况下,合成器通过使帧的像素数据的第一子集和第二子集在与经旋转的相机取向的方向相反的方向上旋转来对帧进行重新采样以在直立取向的显示面板上显示一对直立取向的图像。这意味着可以独立于反向旋转HMD的显示面板来执行所公开的用于向执行中的应用程序提供反向旋转相机取向的技术。

在一些实施方案中,在包括具有处于反向旋转取向的一对显示面板的HMD的HMD系统中实现组合的方法,由此合成器向执行中的应用程序(例如,视频游戏应用程序)提供具有反向旋转相机取向的相机姿态数据并且基于相机姿态数据或基于显示面板的取向来在不进行旋转调整的情况下对从该应用程序接收的帧进行重新采样。这样,在重新采样步骤中,无需执行旋转调整(基于相机姿态数据或显示面板的取向)即可在反向旋转的显示面板上显示直立取向的图像。这种组合的方法提供了若干益处,其中许多与改进HMD的显示性能有关。例如,反向旋转HMD的显示面板通过遮蔽面板伪影来减轻面板伪影,诸如在面板的垂直方向和水平方向上延伸面板长度的条纹或带。也就是说,显现在各个显示面板上的面板伪影仍然存在,但是因为旋转了显示面板,所以用户的双眼在显示器上的相同位置处都不再能看到这些面板伪影。因此,让这些面板伪影对于正在观看的用户而言难以察觉,使得它们不再在视觉上使人分散注意力。与直立取向的显示面板相比,反向旋转的显示面板还为正在观看的用户提供了更宽的视场(FOV),并且它们还允许通过使得HMD的制造商(和/或用户)将显示面板移近用户的脸部来减小HMD的深度尺寸,这样可提供样式更小巧、质量更轻便并且佩戴更舒适的更符合人体工程学的HMD。此外,在其中HMD的合成器被编程为将具有反向旋转相机取向的相机姿态数据发送到执行中的应用程序的实施方案中,采样伪影(例如,锯齿线)也得到减轻。这是因为用于对反向旋转的图像进行重新采样的过滤器(例如,盒状过滤器)不再导致在使用相同的过滤器对直立取向的图像进行重新采样的情况下原本要导致的采样伪影,从而在所显示图像中提供看起来更平滑的线条。

应当理解,本公开描述了被配置为实现本文所公开的技术和过程的系统(例如,HMD系统)。在一些实施方案中,HMD包括处于反向旋转取向的一对显示面板。在其他实施方案中,HMD可包括直立取向的显示面板,在这种情况下,由HMD的合成器在渲染帧的过程中将反向旋转相机取向提供给执行中的应用程序。本文还公开了存储用于实现本文所公开的技术和过程的计算机可执行指令的非暂态计算机可读介质。尽管下文示例中的许多示例是在视频游戏应用程序尤其是VR游戏应用程序的上下文中描述的,但是应该理解,本文所述的技术和系统可为其他应用程序提供益处,包括但不限于非VR应用程序(例如,AR应用程序)和/或非游戏应用程序(诸如,工业机器应用程序、国防应用程序、机器人技术应用程序等)。

图1是示出示例性头戴式显示器(HMD)100正由用户102佩戴的示意图。图1的示例中的HMD 100被示为包括处于反向旋转取向的一对显示面板104(1)和104(2)。每个显示面板104、透镜筒106和透镜108构成透镜-显示器组件。这样,HMD 100可包括一对透镜-显示器组件,该对透镜-显示器组件包括第一透镜-显示器组件和第二透镜-显示器组件,第一透镜-显示器组件由第一显示器104(1)、第一透镜筒106(1)和第一透镜108(1)构成,第二透镜-显示器组件由第二显示器104(2)、第二透镜筒106(2)和第二透镜108(2)构成。第一透镜-显示器组件可对应于用户102的左眼,同时第二透镜-显示器组件可对应于用户102的右眼。每个透镜-显示器组件对准其自身的主光轴,在图1中标记为Z轴。每个Z轴(与每个透镜-显示器组件相关联)与显示面板104的正平面正交。在下文参考图2更详细地讨论参考平面诸如前述正平面。

图1所示的该对透镜-显示器组件可安装在HMD 100的外壳110内。图1中示出了外壳110的外壳体,但是应当理解,外壳110可包括用于将各种电子部件和印刷电路板安装在外壳110内的各种部件和/或结构。可使用任何合适的附接机构(例如,螺钉、粘合剂、闩锁、销等)将该对显示面板104(1)和104(2)(统称104)以及该对透镜108(1)和108(2)(统称108)分别安装到透镜筒106(1)和106(2)(统称106)的相对两端。此外,透镜-显示器组件可安装到外壳110内的中间框架,该中间框架邻接显示面板104的后表面。该中间框架可容纳HMD的其他部件,诸如具有各种传感器、处理器等的母板。外壳110还可包括带罩(或带帽)的中间框架,通过透镜108的孔将该中间框架附接到透镜-显示器组件。该带罩的中间框架可被配置为当用户102正佩戴HMD 100时阻挡环境光进入用户眼睛与透镜108(1)和108(2)(统称108)之间的空间。

一般来讲,用户102可佩戴HMD 100以实现使用户沉浸在虚拟现实(VR)环境(例如,VR游戏)和/或增强现实(AR)环境中的目的。因此,在一些示例中,HMD 100可表示用于VR系统中(诸如,用于与VR游戏系统一起使用)的VR头戴式耳机。然而,HMD 100可附加地或另选地被实现为用于AR应用程序中的AR头戴式耳机。在AR中,用户102看到覆盖在真实世界环境上的虚拟对象,而在VR中,用户102看不到真实世界环境,而是完全沉浸在虚拟环境中,如经由HMD 100的显示面板104和光学器件(例如,透镜108)所感知的。本文所述的示例主要涉及基于VR的HMD 100,但是应当理解,HMD 100不限于在VR应用程序中进行实现。

该对显示面板104被配置为基于由应用程序(例如,视频游戏)输出的一系列图像帧(本文称为“帧”)来显示图像。这些图像由用户102通过透镜108观看,这些透镜可包括各种类型的光学器件以提供近眼显示。这样,用户102感知图像,就好像用户102沉浸在VR或AR环境中一样。HMD 100的合成器可利用各种技术来对由应用程序输出的帧进行重新采样,诸如执行色度失真、重新投影等。在一些实施方案中,合成器可通过(分别以顺时针和逆时针方向)反向旋转各个帧的像素数据的子集来对帧进行重新采样以确保图像以直立取向显示在显示面板104上,如下文将更详细描述的。不管重新采样步骤是否包括基于相机姿态数据和/或显示面板的取向进行旋转调整,经重新采样的帧的修改的像素数据都可被输出到帧缓冲器以用于在显示面板104上显示图像。例如,HMD 100使用的帧缓冲器可以是渲染该对显示面板上的一对图像的立体帧缓冲器。例如,针对2160×1200像素的像素数据可被输出到帧缓冲器以用于在HMD 100的该对显示面板104上显示(例如,每个显示面板104上显示1080×1200像素)。

显示面板104可利用任何合适类型的显示技术,诸如利用发光元件在HMD 100的显示面板104上呈现帧期间发光的发射型显示器。作为示例,HMD 100的显示面板104可包括液晶显示器(LCD)、有机发光二极管(OLED)显示器、无机发光二极管(ILED)显示器或者利用用于HMD 100应用的合适的显示技术的任何其他合适类型的显示器。在一些实施方案中,HMD100的显示系统可以是低视觉暂留显示系统,这意味着:针对用于渲染显示面板上的图像的每个帧,发光元件在帧时间的一小部分(例如,11.11毫秒(ms)的帧时间中的大概1ms)内发光。

图2是示出处于直立面板取向200的显示面板104的正视图和侧视图的示意图。图2中的面板104可表示显示面板104(1)或104(2)中的任一个,但是具有直立面板取向200。图2还示出了三个参考平面—正平面、中矢面和横断面,本文参考这三个参考平面来描述每个显示面板104如何能够在HMD 100的外壳110内旋转和/或倾斜到特定取向。

如图2所示,显示面板104的正平面平行于显示面板104的前表面和后表面。显示面板104的前表面是显示面板104中在图像呈现期间用户102观看的表面。正平面可将显示面板104平分成前半部和后半部,前半部具有显示面板104的前(观看)表面。此外,与显示面板104的正平面正交的轴在图2中标记为Z轴。在一些配置中,该Z轴可对应于主光轴,光沿着该主光轴从显示面板104行进到用户102的眼睛。尽管可以任何方式定义正向和负向,但是本文的示例参考从显示面板104指向佩戴HMD 100的用户102的正Z方向进行描述。因此,负Z方向被认为是在从佩戴HMD 100的用户102指向显示面板104的方向上。

中矢面在垂直方向上平分显示面板104以产生左半部和右半部。与显示面板104的中矢面正交的轴在图2中标记为X轴。同样,尽管可以任何方式定义正向和负向,但是本文的示例参考(根据用户102看显示面板104的前表面的视角)从显示面板104的左半部指向显示面板104的右半部的正X方向进行描述。因此,负X方向被认为是在从显示面板104的右半部指向显示面板104的左半部的方向上(同样,根据用户102看显示面板104的前表面的视角)。

横断面在水平方向上平分显示面板104以产生上半部和下半部。与显示面板104的横断面正交的轴在图2中标记为Y轴。同样,尽管可以任何方式定义正向和负向,但是本文的示例参考从显示面板104的下半部指向显示面板104的上半部的正Y方向进行描述。因此,负Y方向被认为是在从显示面板104的上半部指向显示面板104的下半部的方向上。

图3是示出处于反向旋转取向的一对显示面板104(1)和104(2)的正视图300、处于反向旋转取向的该对显示面板104(1)和104(2)的俯视图302以及当在相反方向上倾斜显示面板104(1)和104(2)之后该对显示面板104(1)和104(2)的另一俯视图304的示意图。

正视图300表示显示面板104(1)和104(2)的前表面的视图,该前表面是通过每个显示面板104上的像素阵列呈现图像的表面。因此,第一显示面板104(1)可表示对应于用户102的左眼的左显示面板,第二显示面板104(2)可表示对应于用户102的右眼的右显示面板。如图3所示,通过使第一显示面板104(1)相对于直立面板取向200围绕与第一显示面板104(1)的正平面正交的第一轴(例如,Z轴)在第一方向(例如,顺时针方向)上旋转,使该第一显示面板104(1)取向处于第一取向。同时,通过使第二显示面板104(2)相对于直立面板取向200围绕与第二显示面板104(2)的正平面正交的第二轴(例如,Z轴)在与第一方向相反的第二方向(例如,逆时针方向)上旋转,使该第二显示面板104(2)取向处于第二取向。因此,该对显示面板104处于反向旋转取向,因为它们各自围绕它们相应的Z轴在相反方向上彼此相对地旋转。

在一些实施方案中,第二显示面板104(2)与第一显示面板104(1)相邻,反之亦然,并且这两个显示面板104(1)和104(2)共面。显示面板104之间的间距是可配置的,并且可基于与用户的瞳孔间距(IPD)相关联的试探法。在一些实施方案中,两个显示面板104的最内点(例如,相邻的顶角)可触碰(即,接触),或者它们可分隔开较小间隙,诸如约1-3毫米(mm)的距离。在一些实施方案中,显示面板104(1)和104(2)可彼此不同地定位。例如,并非将显示面板104(1)和104(2)定位在用户102的眼睛的正前方,而是可将显示面板104定位在HMD中的其他地方(例如,靠近用户102的太阳穴、在用户102的前额的正前方等),并且光学部件诸如波导、镜子等可用于将显示面板104上输出的图像经由透镜108传输到用户102的眼睛。即使在其中在HMD 100中显示面板104(1)和104(2)彼此不相邻的这些实施方案中,通过使第一显示面板104(1)围绕与其正平面正交的轴在第一方向上旋转以及通过使第二显示面板104(2)围绕与其正平面正交的轴在与第一方向相反的第二方向上旋转,仍可使显示面板104(1)和104(2)反向旋转。

显示面板104在HMD的外壳110内的位置和取向可以是固定的(即,不可调节的),这可允许在制造商处校准HMD 100,使得提供“开箱即用”的经校准的HMD 100。然而,HMD 100的外壳110可包括一个或多个机构以允许用户单独地或相对于彼此地调整每个显示面板104在外壳110内的位置和/或取向。例如,螺纹杆可将图1所示的该对透镜-显示器组件连接在一起,并且HMD 100可包括旋钮或类似的调整机构,用户102可操纵该旋钮或类似的调整机构以旋转该螺纹杆,从而根据用户102旋转该旋钮的方向来使该对显示面板104之间的距离增大或减小。类似的机构可用于调整显示面板104的垂直位置(例如,沿Y轴向上或向下移动显示面板104),或调整旋转量(例如,围绕Z轴),和/或调整显示面板104的倾斜量(例如,围绕X轴和/或Y轴)。虽然这可为用户102提供附加的灵活性以调整显示面板104的位置和/或取向,但是它可能在将HMD 100维持在校准状态中时导致一些附加的困难。

图3的正视图300还示出了其中显示面板104彼此相邻且共面使得第一显示面板104(1)的侧边缘306(1)与第二显示面板104(2)的侧边缘306(2)不平行的配置。这与取向处于直立取向200的一对显示面板104形成对比,因为如果该对显示面板104各自取向处于直立取向200,则侧边缘306(1)和306(2)将平行。对于反向旋转的显示面板104,在该对显示面板104(1)和104(2)的侧边缘306(1)和306(2)之间形成在0至180度(不包括端值)范围内的角度。

图3的正视图300还示出第一显示面板104(1)和第二显示面板104(2)各自旋转基本相等的旋转量θ。将每个面板旋转不同的旋转量可能导致降低用户的观看体验的额外问题。这样,每个面板104将被旋转基本相等的旋转量θ。如本文所用,“基本相等的旋转量”是指差值在两度内。因此,如果第一显示面板104(1)旋转45度,并且如果第二显示面板104(2)旋转44度,那么在本文中认为它们旋转了基本相等的旋转量。

每个面板104旋转的旋转量θ可相对于直立面板取向200在10至80度的范围内。超出该范围的旋转量可能减少用户102感知反向旋转面板取向所带来的益处的程度。换句话讲,如果显示面板的旋转量微不足道(例如,小于10度)或过多(例如,在80度与90度之间),则以轴对准方式(例如,沿着显示面板的垂直方向和水平方向)显现的在视觉上分散注意力的缺陷对用户102而言仍显而易见。在一些实施方案中,对于处于反向旋转取向的一对显示面板104,每个显示面板104旋转的旋转量θ可相对于直立面板取向200在20至70度的范围内、在30至60度的范围内或在40至50度的范围内。在一些实施方案中,显示面板104可相对于直立面板取向200反向旋转等于45度的旋转量θ。如图3的正视图300所示,45度旋转可提供最宽的FOV 308以及对面板伪影最大程度的减轻,这取决于显示面板104的像素布局/图像。公共像素图案是其中像素在显示面板上以垂直列和水平行布置的图案。利用这种类型的像素图案,45度旋转可提供对面板伪影最大程度的减轻。然而,考虑不具有以垂直列和水平行布置的像素的其他像素图案。对于这些其他类型的像素图案,不同的旋转量θ可最佳地减轻面板伪影。此外,小于10度与45度之间的旋转量对于遵循用户102的鼻子312的轮廓可能是最佳的,这可带来优化的人体工程学益处(例如,将显示面板104移动得尽可能靠近用户102的面部)。

现在描述从使显示面板104取向处于反向旋转面板取向所实现的各种益处。一个益处是增加的(例如,更宽的)FOV 308。这种增加的FOV 308可“免费”提供给正在观看的用户,因为当显示面板104处于反向旋转取向时,在具有取向处于直立面板取向200的显示面板的现有HMD 100中未利用的像素可得到利用,如图3所示。例如,当显示面板取向处于直立面板取向200时,可能没有利用位于显示面板的拐角中的像素,因为透镜引起反向枕形失真并且因为HMD“切断”了拐角且没有利用拐角中的像素来向用户提供更美观的图像轮廓。图3的正视图300示出了当矩形显示面板104相对于直立面板取向200旋转了等于45度的旋转量θ时FOV 308如何在这些矩形显示面板104的水平维度上增加到最大。在水平维度(即,相对于直立面板取向200的正X方向和负X方向)上增加的FOV 308实际上可向正在观看的用户102提供更真实的感觉,在现实世界中,该正在观看的用户能够使用周边视觉看到相当大范围的FOV。

通过使显示面板104取向处于反向旋转面板取向实现的另一个益处是通过遮蔽面板伪影(例如,延伸面板长度的条纹或带)使得这些面板伪影不再在视觉上分散注意力来减轻这些面板伪影。为了解释,显示面板通常包括称为面板伪影的缺陷,并且这些面板伪影通常以轴对准的方式出现(即,与显示面板上的水平方向或垂直方向相关)。由称为“反转”的显示驱动方案引起至少一种类型的面板伪影—垂直地延伸显示器长度的亮条纹和暗条纹或带,该“反转”显示驱动方案使用交替的正电压波形和负电压波形逐帧地驱动显示器。尽管正电压和负电压按道理意味着被施加等量的电压,但是实际上它们通常被施加不同的电压。当图像显示在显示面板上时,交替的电压波形的正周期和负周期之间的电压差导致每帧每列像素的闪烁输出。这在视觉上被正在观看的用户感知为垂直条纹(例如,交错的亮条纹和暗条纹),其与图像中正在显示的内容无关。这些条纹在视觉上使正在观看的用户分散注意力。在HMD中,由于在使用HMD时用户头部和眼睛正在反向旋转的独特方式,这种视觉分散甚至更加明显。此外,对于直立取向的显示面板,双眼跨帧时在显示器上的相同位置处看到亮条纹和暗条纹,从而引起用户的视觉分散。

另一示例性面板伪影由红色、绿色和蓝色像素的垂直对准引起,这在直立取向的显示面板中显现为延伸直立取向的显示面板的长度的红色、绿色和蓝色的有色带,这些有色带在相同位置处被双眼看到。当用户102以精确的旋转速率移动他/她的头部时,这可变得显而易见。

通过使显示面板104取向处于反向旋转面板取向,减轻了上述面板伪影。图3示出了第一显示面板104(1)上的第一组像素310(1)和第二显示面板104(2)上的第二组像素310(2),它们按照面板104处于反向旋转面板取向时进行取向。这种反向旋转面板取向使得在每只眼睛中不同地看到上述面板缺陷,这实际上遮蔽了这些面板缺陷,使正在观看的用户102注意不到这些面板缺陷。这是因为这两组像素310(1)和310(2)由于它们的反向旋转的取向而不再在每只眼睛中对准,这意味着每只眼睛根据它们就在成像在反向旋转的显示面板104上的场景内的相应位置而言看到不同的缺陷,并且因此用户102不再感知场景中的面板缺陷。应当认识到,红色、绿色和蓝色像素的纯随机分布对于面板缺陷的优化减轻可能是最优的,但是纯随机分布可能是不可行的和/或成本过高的。反向旋转面板取向足以使像素未对准,从而防止其中双眼同时看到位于两个面板104上的相同位置处的相同像素缺陷的立体融合。即使一些缺陷在跨顺序帧时在两个反向旋转的显示面板104中使其自身对准,但是这些缺陷也以每像素水平显现,并且由于反向旋转面板取向,佩戴HMD 100的用户102注意不到这些缺陷。因此,图3所示的反向旋转面板取向使得前述面板缺陷就在用户102的FOV的垂直方向和水平方向上而言未对准,因此用户102在双眼中看不到相同的面板缺陷,这意味着用户102的视觉不再受到面板缺陷“羁绊”,并且这些面板缺陷保持难以察觉。

通过使显示面板104取向处于反向旋转面板取向所实现的另一个益处是改进的人体工程学。这可在图3的俯视图302中看到,其中用户102的鼻子312能够穿过共面的显示面板104中的每个显示面板的正平面。对于直立取向的显示面板,在显示面板之间通常没有提供足够的空间,这意味着不能使显示面板越过它们与用户的鼻子312抵触的点而更靠近用户的面部。通过使显示面板104取向处于反向旋转的取向,在显示面板104之间为用户102的鼻子312提供了足够的空间,并且此后可将显示面板104移动得更靠近用户102的面部。这意味着:与具有处于用户102的眼睛正前方的直立取向的显示面板的现有HMD相比,HMD 100的深度可进一步减小。更小、更轻和更近地装配的HMD 100通过使HMD 100能更舒服地佩戴更长的时间段并且/或者能由可能对更重/更大的HMD 100更敏感的年轻用户(例如,儿童)使用来改进HMD 100的人体工程学。

图3的另一俯视图304示出了显示面板104(1)和104(2)的另一取向,可通过使每个显示面板104围绕与直立面板取向200的横断面正交的轴(例如,Y轴)倾斜来提供这种取向。例如,第一显示面板104(1)可围绕与横断面正交的轴在第一方向(例如,逆时针方向)上倾斜,并且第二显示面板104(2)可围绕与横断面正交的轴在与第一方向相反的第二方向(例如,顺时针方向)上倾斜。附加地或另选地,显示面板104可围绕与直立面板取向200的中矢面正交的第二轴(例如,X轴)倾斜。

本文描述的过程被示为逻辑流程图中的框的集合,这些框代表可在硬件、软件、固件或其组合中实现的一系列操作(即逻辑)。在软件的上下文中,这些框代表计算机可执行指令,当由一个或多个处理器执行时,这些计算机可执行指令执行所列举的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被理解为限制,并且可以任何顺序和/或并行地组合任意数量的所描述的框来实现这些过程。

图4是用于将具有反向旋转相机取向的相机姿态数据发送到执行中的应用程序、基于相机姿态数据或显示面板的取向在不进行旋转调整的情况下对应用程序输出的帧进行重新采样,以及输出针对经重新采样的帧的像素数据到帧缓冲器以显示在反向旋转的显示面板上的示例性过程400的流程图。出于讨论的目的,参考前面的附图描述过程400。

图4示出了应用程序407,该应用程序可表示视频游戏应用程序或任何其他类型的基于图形的应用程序。应用程序407可在计算设备诸如HMD 100本身或者作为HMD系统的一部分与HMD 100相关联并耦接的计算设备(例如,个人计算机(PC)、游戏机等)上执行。这样,应用程序407可被配置为输出一系列帧,这一系列帧由HMD 100(或HMD系统)的合成器403重新采样并且最终作为图像显示在HMD 100的显示面板104上。在渲染帧之前,应用程序407可从合成器403接收各种类型的数据。在渲染帧时合成器403发送到应用程序407以供应用程序407使用的至少一种类型的数据是相机姿态数据405,该相机姿态数据包括一对虚拟相机的一组姿态,包括位置和取向。为了向应用程序407提供旋转和/或倾斜的相机取向,在一些实施方案中,应用程序407可向合成器403通知其能力(例如,指示其能够接收除了未倾斜的直立相机取向之外的更复杂的相机取向)。HMD 100的图形逻辑可以是异步的或同步的。在异步系统中,合成器403与应用程序407分开(在分开的异步线程上)运行在HMD 100(或HMD系统)的图形处理单元(GPU)上。

在402处,HMD 100(或HMD系统)的合成器403可向被配置为输出具有像素数据的帧的执行中的应用程序407发送相机姿态数据405。该像素数据的第一子集与第一显示面板104(1)、第一图像、第一虚拟相机和/或佩戴HMD 100的用户的第一眼睛相关联,同时该像素数据的第二子集与第二显示面板104(2)、第二图像、第二虚拟相机和/或佩戴HMD 100的用户的第二眼睛相关联。相机姿态数据405向应用程序407通知关于如何根据相机姿态数据405渲染一系列帧中的下一帧。框402处的操作可作为应用编程接口(API)调用的一部分来执行。

如子框404所示,相机姿态数据405可包括与针对要在第一显示面板104(1)上渲染的帧的第一图像相关联的第一经旋转的相机取向,并且该第一经旋转的相机取向指定(或指示)该对虚拟相机中的第一虚拟相机相对于直立相机取向在第一方向(例如,逆时针方向)上旋转。在第一经旋转的相机取向中指定的旋转量和旋转方向可基于第一显示面板104(1)就在其经旋转的面板取向上而言的旋转量和旋转方向。即,如果第一显示面板104(1)相对于直立面板取向200顺时针旋转45度,则第一经旋转的相机取向可指示第一虚拟相机相对于直立相机取向逆时针旋转45度。如本文所述,第一经旋转的相机取向可进一步指定(或指示)在第一显示面板104(1)碰巧处于倾斜取向的情况下第一虚拟相机被倾斜。

如子框406所示,相机姿态数据405还可包括与针对要在第二显示面板104(2)上渲染的帧的第二图像相关联的第二经旋转的相机取向,并且该第二经旋转的相机取向指定(或指示)该对虚拟相机中的第二虚拟相机相对于直立相机取向在与第一方向相反的第二方向(例如,顺时针方向)上旋转。在第二经旋转的相机取向中指定的旋转量和旋转方向可基于第二显示面板104(2)就在其经旋转的面板取向上而言的旋转量和旋转方向。即,如果第二显示面板104(2)相对于直立面板取向200逆时针旋转45度,则第二经旋转的相机取向可指示第二虚拟相机相对于直立相机取向顺时针旋转45度。如本文所述,第二经旋转的相机取向可进一步指定(或指示)在第二显示面板104(2)碰巧处于倾斜取向的情况下第二虚拟相机被倾斜。

在408处,合成器403可从应用程序407接收包括第一图像409(1)(例如,左图像)和第二图像409(2)(例如,右图像)的帧。应当理解,可由合成器403从应用程序407将这些图像409(1)和409(2)(统称409)接收为像素数据。在一些实施方案中,每个图像409的像素数据可包括每像素值(例如,色值)的二维阵列。在一些实施方案中,像素数据还包括附加的数据或元数据,诸如深度值。在一些实施方案中,像素数据可包括由单组色值和阿尔法值表示的针对每个像素的数据(例如,红色通道对应一个色值、绿色通道对应一个色值、蓝色通道对应一个色值,并且一个或多个阿尔法通道对应一个或多个值)。如图4所示,已由应用程序407根据包括反向旋转相机取向的相机姿态数据405来渲染该对图像409。这样,基于反向旋转相机取向,使该对图像409中的场景反向旋转对应的旋转量。换句话讲,应用程序407原生地渲染虚拟相机的反向旋转相机取向。

在410处,合成器403可基于相机姿态数据或显示面板的取向在不进行任何旋转调整的情况下对帧进行重新采样。重新采样可涉及将一个或多个数字变换应用到由应用程序407输出的帧的像素数据,以便在将经应用程序渲染的帧输出到帧缓冲器以在显示面板104上呈现之前修改/微调/校正该经应用程序渲染的帧。例如,合成器403可通过修改帧409(1)的像素数据以获得经重新采样的帧的修改的像素数据来对该帧进行重新采样以获得经重新采样的帧。值得注意的是,在框410处对帧的像素数据的这一修改不涉及基于相机姿态数据405或显示面板104的取向对像素数据进行旋转调整。例如,框410处的重新采样操作可包括但不限于:对透镜失真(例如,色度失真)进行校正、应用重新投影变换以根据用户102的预测头部姿态来修改像素数据,和/或修改像素数据以创建从视觉角度来看得到改进或以其他方式被校正的经重新采样的帧的其他数学操作。尽管重新投影可涉及有效地使帧围绕参考轴旋转的旋转变换,但是这些旋转变换基于在重新投影中用户102的预测头部姿态,并且不基于与虚拟相机或显示面板104相对于直立取向的旋转有关的相机姿态数据405。与本文描述的在重新采样步骤中涉及(在顺时针/逆时针方向上进行)旋转调整的其他实施方案相比,通过在框410处基于相机姿态数据405或显示面板104的取向不执行旋转调整,渲染流水线变得更高效。

在412处,合成器403可将与经重新采样的帧相关联的修改的像素数据输出到帧缓冲器,使得经重新采样的帧可作为HMD 100的反向旋转的显示面板104(1)和104(2)上的一对图像输出。

在414处,可在HMD 100的反向旋转的显示面板104(1)和104(2)上显示基于经重新采样的帧的一对图像。如图4所示,尽管显示面板104处于反向旋转取向,但是显示面板104上呈现的图像处于直立取向。这是由于在相机姿态数据405中向应用程序407提供的反向旋转相机取向。应当理解,过程400涉及渲染单个帧,并且过程400可在执行应用程序407期间重复以渲染多个顺序帧。

如过程400中的情况一样,使用反向旋转相机取向所提供的示例性附加益处是减轻所显示图像中的采样伪影(例如,锯齿线)。为了解释,应用程序407可在渲染包括图像409(1)和409(2)的帧的过程中自身执行各种采样步骤,诸如超采样、抗锯齿(例如,将多重采样抗锯齿(MSAA)缓冲器从每像素16个样本(4×4)解析到每像素1个样本)等。应用程序407中的这些采样步骤引入了采样伪影,这些采样伪影倾向于将其自身对准在帧的垂直方向和水平方向上。另外,因为合成器403通常具有8到11ms之间的某个时间来对从应用程序407接收的帧进行重新采样,所以使用快速过滤器(例如,盒状过滤器、线性过滤器等)来加速重新采样操作。这些类型的过滤器通常具有轴对准的属性,这些属性导致采样伪影显现在(在帧的垂直方向和水平方向上)同样轴对准的经重新采样的帧中。因为垂直对准的对象和水平对准的对象通常在虚拟现实环境中普遍存在,所以当直立相机取向用于虚拟相机时,所得到的图像通常包括沿着图像的垂直方向和水平方向的许多采样伪影,诸如在所显示图像中看起来像“楼梯台阶”的锯齿水平线和锯齿垂直线。这可在视觉上使正在观看的用户相当分散注意力,尤其是当这些锯齿线进出视野时。相比之下,对角地穿过图像的线通常看起来显得平滑,没有可辨别的锯齿外观。例如,如过程400中所述,通过在提供给应用程序407以用于渲染帧的相机姿态数据405中指定反向旋转相机取向,这些采样伪影得到减轻,因为它们在最终图像中以非垂直且非水平的角度结束,使得图像中的对象看起来更美观。

图5是示出根据本文所公开的实施方案的正在观看的用户102通过HMD 100的透镜108的视角看到的所显示图像的视图502的示意图。用户102获得本文所述的益处,这些益处中的许多益处涉及改进的显示性能(例如,减轻的面板伪影、减轻的采样伪影、增加的FOV等),而不能够断言显示面板104不处于直立面板取向200。

图6是用于将具有直立相机取向的相机姿态数据发送到执行中的应用程序、在顺时针/逆时针方向上进行旋转调整的情况下对由该应用程序输出的帧进行重新采样,以及输出针对经重新采样的帧的像素数据到帧缓冲器以显示在反向旋转的显示面板上的示例性过程600的流程图。出于讨论的目的,参考前面的附图描述过程600。

在602处,HMD 100(或HMD系统)的合成器403可向被配置为输出具有像素数据的帧的执行中的应用程序407发送相机姿态数据605。该像素数据的第一子集与第一显示面板104(1)、第一图像、第一虚拟相机和/或佩戴HMD 100的用户的第一眼睛相关联,同时该像素数据的第二子集与第二显示面板104(2)、第二图像、第二虚拟相机和/或佩戴HMD 100的用户的第二眼睛相关联。相机姿态数据605向应用程序407通知关于如何根据相机姿态数据605渲染一系列帧中的下一帧。框602处的操作可作为API调用的一部分来执行。在一些实施方案中,合成器403还可请求应用程序407渲染除了在显示面板是直立取向的情况下合成器通常会要求应用程序407渲染的像素之外的附加像素。这是因为在下面的框610处将在重新采样操作中反向旋转帧的图像,并且可使用这些附加像素来填充在重新采样期间在取向上旋转图像所导致的间隙。

如子框604所示,相机姿态数据605可包括与针对要在第一显示面板104(1)上渲染的帧的第一图像相关联的第一直立相机取向,并且该第一直立相机取向指定(或指示)该对虚拟相机中的第一虚拟相机处于直立相机取向。如本文所述,第一直立相机取向可进一步指定(或指示)在第一显示面板104(1)碰巧处于倾斜取向的情况下第一虚拟相机被倾斜。

如子框606所示,相机姿态数据605还可包括与针对要在第二显示面板104(2)上渲染的帧的第二图像相关联的第二直立相机取向,并且该第二直立相机取向指定(或指示)该对虚拟相机中的第二虚拟相机处于直立相机取向。如本文所述,第二直立相机取向可进一步指定(或指示)在第二显示面板104(2)碰巧处于倾斜取向的情况下第二虚拟相机被倾斜。

在608处,合成器403可从应用程序407接收包括第一图像609(1)(例如,左图像)和第二图像609(2)(例如,右图像)的帧。应当理解,可由合成器403从应用程序407将这些图像609(1)和609(2)(统称609)接收为像素数据。此外,如图6所示,已由应用程序407根据包括直立相机取向的相机姿态数据605来渲染该对图像609。这样,在该对图像609中的场景是直立的,并且没有被旋转,如过程400中的情况一样。

在610处,合成器403可通过反向旋转帧的图像609来对帧进行重新采样。例如,合成器403可通过以下方式对帧进行重新采样:在第一方向(例如,逆时针方向)上旋转帧的像素数据中与第一虚拟相机相关联的第一子集以获得经重新采样的帧的修改的像素数据中与第一经旋转的图像611(1)相对应的第一子集,并且在与第一方向相反的第二方向(例如,顺时针方向)上旋转帧的像素数据中与第二虚拟相机相关联的第二子集以获得经重新采样的帧的修改的像素数据中与第二经旋转的图像611(2)相对应的第二子集。这些旋转调整可利用像素的X Y映射,并且可执行数学计算以将每个像素从起始坐标(X1,Y1)移动到目标坐标(X2,Y2)。框610处的重新采样操作可包括附加的数字变换,诸如但不限于:对透镜失真(例如,色度失真)进行校正、应用重新投影变换以根据用户102的预测头部姿态来修改像素数据等。

在612处,合成器403可将与经重新采样的帧相关联的修改的像素数据输出到帧缓冲器,使得经重新采样的帧可作为HMD 100的反向旋转的显示面板104(1)和104(2)上的一对图像输出。

在614处,可在HMD 100的反向旋转的显示面板104(1)和104(2)上显示经重新采样的帧的该对经旋转的图像611。如图6所示,尽管显示面板104处于反向旋转取向,但是显示面板104上呈现的图像处于直立取向。这是由于在框610处的重新采样操作中进行了旋转调整,这些旋转调整补偿了在相机姿态数据605中提供给应用程序407的反向旋转相机取向。应当理解,过程600涉及渲染单个帧,并且过程600可在执行应用程序407期间重复以渲染多个顺序帧。尽管本文所述的采样伪影可使其自身显现在图6的实施方案中显示的图像中,但是显示面板104的反向旋转取向提供了本文所述的其余益处,诸如减轻面板伪影、增加FOV以及改进人体工程学。

图7是示出处于直立面板取向200的一对显示面板104(1)和104(2)的正视图700、处于直立面板取向200的该对显示面板104(1)和104(2)的俯视图702以及在倾斜该对显示面板104(1)和104(2)之后该对显示面板的另一俯视图704的示意图。下文在图8中描述的实施方案的上下文中提供图7中显示面板104(1)和104(2)的取向。也就是说,在该实施方案中,显示面板104不被反向旋转,而是取向处于直立面板取向200。在一些实施方案中,显示面板104可被倾斜,诸如通过使每个显示面板104围绕与直立面板取向200的横断面正交的轴(例如,Y轴)倾斜。例如,第一显示面板104(1)可围绕与横断面正交的轴在第一方向(例如,逆时针方向)上倾斜,并且第二显示面板104(2)可围绕与横断面正交的轴在与第一方向相反的第二方向(例如,顺时针方向)上倾斜。附加地或另选地,显示面板104可围绕与直立面板取向200的中矢面正交的第二轴(例如,X轴)倾斜。

图8是用于将具有反向旋转相机取向的相机姿态数据发送到执行中的应用程序、在顺时针/逆时针方向上进行旋转调整的情况下对由该应用程序输出的帧进行重新采样,以及输出针对经重新采样的帧的像素数据到帧缓冲器以显示在直立取向的显示面板(诸如,图7所示的显示面板)上的示例性过程800的流程图。出于讨论的目的,参考前面的附图描述过程800。

在802处,HMD 100(或HMD系统)的合成器403可向被配置为输出具有像素数据的帧的执行中的应用程序407发送相机姿态数据805。该像素数据的第一子集与第一显示面板104(1)、第一图像、第一虚拟相机和/或佩戴HMD 100的用户的第一眼睛相关联,同时该像素数据的第二子集与第二显示面板104(2)、第二图像、第二虚拟相机和/或佩戴HMD 100的用户的第二眼睛相关联。相机姿态数据805向应用程序407通知关于如何根据相机姿态数据805渲染一系列帧中的下一帧。框802处的操作可作为API调用的一部分来执行。在一些实施方案中,合成器403还可请求应用程序407渲染除了在合成器403将在相机姿态数据805中发送直立相机取向的情况下通常会要求应用程序407渲染的像素之外的附加像素。这是因为在下面的框810处将在重新采样操作中反向旋转帧的图像以便抵消相机姿态数据805中的反向旋转相机取向,并且可使用这些附加像素来填充在重新采样期间在取向上旋转图像所导致的间隙。

如子框804所示,相机姿态数据805可包括与针对要在第一显示面板104(1)上渲染的帧的第一图像相关联的第一经旋转的相机取向,并且该第一经旋转的相机取向指定(或指示)该对虚拟相机中的第一虚拟相机相对于直立相机取向在第一方向(例如,逆时针方向)上旋转。在第一经旋转的相机取向中指定的旋转量可相对于直立相机取向在10至80度的范围内、在20至70度的范围内、在30至60度的范围内或在40至50度的范围内。45度旋转可提供对采样伪影的最大减轻。如本文所述,第一经旋转的相机取向可进一步指定(或指示)在第一显示面板104(1)碰巧处于倾斜取向的情况下第一虚拟相机被倾斜。

如子框806所示,相机姿态数据805还可包括与针对要在第二显示面板104(2)上渲染的帧的第二图像相关联的第二经旋转的相机取向,并且该第二经旋转的相机取向指定(或指示)该对虚拟相机中的第二虚拟相机相对于直立相机取向在与第一方向相反的第二方向(例如,顺时针方向)上旋转。在第二经旋转的相机取向中指定的旋转量可基本等于在第一经旋转的相机取向中指定的旋转量,并且可在参考子框804指定的旋转范围内。如本文所述,第二经旋转的相机取向可进一步指定(或指示)在第二显示面板104(2)碰巧处于倾斜取向的情况下第二虚拟相机被倾斜。

在808处,合成器403可从应用程序407接收包括第一图像809(1)(例如,左图像)和第二图像809(2)(例如,右图像)的帧。应当理解,可由合成器403从应用程序407将这些图像809(1)和809(2)(统称809)接收为像素数据。此外,如图8所示,已由应用程序407根据包括反向旋转相机取向的相机姿态数据805来渲染该对图像809。这样,基于反向旋转相机取向,使该对图像809中的场景反向旋转对应的旋转量。换句话讲,应用程序407原生地渲染虚拟相机的反向旋转相机取向。

在810处,合成器403可通过反向旋转帧的图像809来对帧进行重新采样。例如,合成器403可通过以下方式对帧进行重新采样:在第一方向(例如,顺时针方向)上旋转帧的像素数据中与第一虚拟相机相关联的第一子集以获得经重新采样的帧的修改的像素数据中与第一经旋转的图像811(1)相对应的第一子集,并且在与第一方向相反的第二方向(例如,逆时针方向)上旋转帧的像素数据中与第二虚拟相机相关联的第二子集以获得经重新采样的帧的修改的像素数据中与第二经旋转的图像811(2)相对应的第二子集。像素数据的第二子集所旋转的旋转量可基本等于像素数据的第一子集所旋转的旋转量,并且可在参考子框804指定的旋转范围内。框810处的重新采样操作可包括附加的数字变换,诸如但不限于:对透镜失真(例如,色度失真)进行校正、应用重新投影变换以根据用户102的预测头部姿态来修改像素数据等。

在812处,合成器403可将与经重新采样的帧相关联的修改的像素数据输出到帧缓冲器,使得经重新采样的帧可作为HMD 100的直立取向的显示面板104(1)和104(2)(如图7所示的那些显示面板)上的一对图像输出。

在814处,可在HMD 100的直立取向的显示面板104(1)和104(2)上显示该对经旋转的图像811。如图8所示,显示面板104上呈现的图像处于直立取向。这是由于在框810处的重新采样操作中进行了旋转调整,这些旋转调整补偿了在相机姿态数据805中提供给应用程序407的反向旋转相机取向。应当理解,过程800涉及渲染单个帧,并且过程800可在执行应用程序407期间重复以渲染多个顺序帧。尽管过程800用于具有直立取向的显示面板104的HMD 100中,但是该过程减轻了本文所述的采样伪影(例如,锯齿线)以改进HMD 100的显示性能。

图9示出了根据本文所公开的实施方案的HMD 100(或包括HMD 100的HMD系统)的示例性部件,诸如可嵌入的VR头戴式耳机。HMD 100可被实现为将由用户102佩戴(例如,佩戴在用户102的头部上)的独立设备。在一些实施方案中,HMD 100可以是可头戴的,诸如通过允许用户102使用尺寸被设计为适配在用户102的头部周围的固定机构(例如,可调节带)将HMD 100固定在他/她的头部上。在一些实施方案中,HMD 100包括虚拟现实(VR)或增强现实(AR)头戴式耳机,该头戴式耳机包括近眼显示器。这样,术语“可穿戴设备”、“可穿戴电子设备”、“VR头戴式耳机”、“AR头戴式耳机”和“头戴式显示器(HMD)”在本文中可能够互换地使用以指代图1的设备100。然而,应当理解,这些类型的设备仅仅是HMD 100的示例,并且应当理解,HMD 100可以各种其他形状因子来实现。还应当理解,可在HMD 100上实现图9所示的部件中的一些或全部部件。因此,在一些实施方案中,图9所示的部件的子集可在作为HMD系统的一部分但是与HMD 100自身分隔开的计算设备(诸如PC、游戏机或任何其他合适的计算设备)上实现。

在所示出的具体实施中,HMD 100包括一个或多个处理器902和存储器904(例如,计算机可读介质904)。在一些具体实施中,处理器902可包括中央处理单元(CPU)、图形处理单元(GPU)、CPU和GPU两者、微处理器、数字信号处理器或本领域已知的其他处理单元或部件。另选地或附加地,本文所述的功能可至少部分地由一个或多个硬件逻辑部件执行。例如但不限于:可使用的例示性类型的硬件逻辑部件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂的可编程逻辑器件(CPLD)等。另外,处理器902中的每个处理器可拥有自己的本地存储器,这些存储器也可存储程序模块、程序数据和/或一个或多个操作系统。

存储器904可包括采用用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性存储器和非易失性存储器、可移动介质和不可移动介质。此类存储器包括但不限于RAM、ROM、EEPROM、闪存存储器或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储装置、盒式磁带、磁带、磁盘存储装置或其他磁性存储设备、RAID存储系统,或可用于存储所需信息并可由计算设备访问的任何其他介质。存储器904可被实现为计算机可读存储介质(“CRSM”),该CRSM可以是处理器902可访问以执行存储在存储器904上的指令的任何可用物理介质。在一种基本的具体实施中,CRSM可包括随机存取存储器(“RAM”)和闪存存储器。在其他具体实施中,CRSM可包括但不限于只读存储器(“ROM”)、电可擦除可编程只读存储器(“EEPROM”)或可用于存储所需信息并可由处理器902访问的任何其他有形介质。

通常,HMD 100可包括被配置为实现本文描述的技术、功能和/或操作的逻辑(例如,软件、硬件和/或固件等)。计算机可读介质904被示为包括各种模块,诸如指令、数据存储等,这些模块可被配置为在处理器902上执行以实现本文描述的技术、功能和/或操作。一些示例性功能模块被示为存储在计算机可读介质904中并可在处理器902上执行,但是相同的功能可另选地采用硬件、固件或片上系统(SOC)和/或其他逻辑来实现。

为了其他模块的利益,操作系统模块906可被配置为管理位于HMD 100内且耦接到该HMD的硬件。另外,在一些实例中,HMD 100可包括存储在存储器904中或者以其他方式可由HMD 100访问的一个或多个应用程序407。在该具体实施中,应用程序407包括视频游戏应用程序407。然而,HMD 100可包括任何数量或类型的应用程序,并且不限于此处示出的具体示例。视频游戏应用程序407可被配置为发起可由用户102玩耍的基于视频的交互式游戏(例如,VR游戏)的游戏开局并且输出要在HMD 100的显示面板104上渲染的帧。与HMD 100的其他逻辑组合,合成器403可被配置为执行本文描述的技术,以向应用程序407提供相机姿态数据405/605/805、对帧进行重新采样,以及将针对经重新采样的帧的像素数据输出到帧缓冲器。

一般来讲,HMD 100具有输入设备908和输出设备910。输入设备908可包括控制按钮。在一些具体实施中,一或多个麦克风可用作输入设备908以接收音频输入,诸如用户语音输入。在一些具体实施中,一个或多个相机或其他类型的传感器(例如,惯性测量单元(IMU))可用作输入设备908以接收姿势输入,诸如用户102的手和/或头部运动。在一些实施方案中,可以键盘、小键盘、鼠标、触摸屏、操纵杆等的形式提供附加的输入设备908。在其他实施方案中,HMD 100可省略键盘、小键盘或其他类似形式的机械输入。相反,HMD 100可被实现具有相对简单形式的输入设备908、(基于无线或有线的)网络接口、功率和处理/存储能力。例如,可采用一个或多个输入部件的有限集合(例如,用于发起配置、开机/关机等的专用按钮),使得可在之后使用HMD 100。在一个具体实施中,输入设备908可包括控制机构,诸如用于增大/减小音量的基础音量控制按钮,以及电源和复位按钮。

输出设备910可包括该对显示面板104(1)和104(2)。输出设备910还可包括但不限于发光元件(例如,LED)、用于产生触觉的振动器、扬声器(例如,耳机)等。还可存在简单的发光元件(例如LED)来指示状态,例如在开机时。

HMD 100还可包括耦接到天线914的无线单元912以促进与网络之间的无线连接。无线单元912可实现各种无线技术中的一种或多种,诸如Wi-Fi、蓝牙、射频(RF)等。应当理解,HMD 100还可包括物理端口,以促进与网络、所连接的外围设备(包括PC、游戏机等)或与其他无线网络通信的插入式网络设备(其可以是HMD系统的一部分)之间的有线连接。

HMD 100还可包括光学子系统916,该光学子系统使用一个或多个光学元件将光从显示面板104引导到用户的眼睛。光学子系统916可包括不同类型的不同光学元件及其组合,包括但不限于,诸如孔、透镜(例如,菲涅耳透镜、凸透镜、凹透镜等)、过滤器等。透镜108(1)和108(2)中的每个透镜可包括这些光学元件中的一些或全部。在一些实施方案中,光学子系统916中的一个或多个光学元件可具有一个或多个涂层,诸如抗反射涂层。光学子系统916对图像光的放大允许显示面板104与较大的显示器相比在物理上更小、重量更轻且功率消耗更少。另外,对图像光的放大可增加所显示内容(例如,图像)的视场(FOV)。例如,所显示内容的FOV使得所显示内容使用用户FOV的几乎所有(例如,120至150度对角线)并且在一些情况下使用用户FOV的所有来进行呈现。与显示面板104(1)和104(2)的反向旋转取向结合,该FOV在水平方向上甚至可进一步增加。AR应用程序可具有较窄的FOV(例如,约40度FOV)。光学子系统916可被设计成校正一个或多个光学误差,诸如但不限于桶形失真、枕形失真、纵向色差、横向色差、球面像差、彗形像差、像面弯曲、像散等。在一些实施方案中,提供给显示面板104用于显示的内容被预失真,并且光学子系统916在其从显示面板104接收到基于内容生成的图像光时校正该失真。在一些实施方案中,合成器403被配置为在渲染流水线中对帧进行重新采样以校正失真,如上所述。

HMD 100还可包括一个或多个传感器918,诸如用于生成运动、位置和取向数据的传感器。这些传感器918可以是或包括陀螺仪、加速度计、磁力仪、摄像机、颜色传感器或其他运动、位置和取向传感器。传感器918还可包括传感器的子部分,诸如可由相机或颜色传感器从外部观察到以便生成运动、位置和取向数据的一系列有源或无源标记。例如,VR头戴式耳机可在其外部包括多个标记,诸如反射器或灯(例如,红外或可见光灯),当由外部相机观察到或由光(例如,红外或可见光)照射时,这些标记可提供一个或多个参考点以供软件解译以便生成运动、位置和取向数据。HMD 100可包括对由基站投射或散播到HMD 100的环境中的光(例如,红外或可见光)敏感的光传感器以便生成运动、位置和取向数据。

在一个示例中,传感器918可包括惯性测量单元(IMU)920。IMU 920可以是基于从加速度计、陀螺仪、磁力仪,和/或适于检测运动、校正与IMU 920相关联的误差的其他传感器或它们的某种组合接收的测量信号来生成校准数据的电子设备。基于测量信号,此类基于运动的传感器诸如IMU 920可生成校准数据,该校准数据指示HMD 100相对于HMD 100的初始位置的估计位置。例如,多个加速度计可测量平移运动(向前/向后、向上/向下、向左/向右),并且多个陀螺仪可测量旋转运动(例如,俯仰、偏航和翻滚)。IMU 920可例如快速地对测量信号进行采样并且根据采样的数据来计算HMD 100的估计位置。例如,IMU 920可在时间上对从加速度计接收的测量信号进行积分以估计速度矢量,并且在时间上对速度矢量进行积分以确定HMD 100上的参考点的估计位置。参考点是可用于描述HMD 100的位置的点。虽然参考点通常可被定义为空间中的点,但是在各种实施方案中,参考点被定义为HMD100内的点(例如,IMU 920的中心)。另选地,IMU 920将采样的测量信号提供给确定校准数据的外部控制台(或其他计算设备)。

传感器918可以相对高的频率运行,以便以高速率提供传感器数据。例如,可以1000Hz(或每1毫秒获取1个传感器读数)的速率生成传感器数据。这样,每秒获取一千个读数。当传感器以该速率(或以更大的速率)生成这么多的数据时,即使在约数十毫秒的相对短的时间段内,用于预测运动的数据集也相当大。

如所提及的,在一些实施方案中,传感器918可包括光传感器,这些光传感器对由HMD 100的环境中的基站发射的光敏感以实现跟踪HMD 100在3D空间中的位置和/或取向、姿态等的目的。对位置和/或取向的计算可基于光脉冲的定时特性以及由传感器918检测到的光的存在或不存在。

HMD 100还可包括眼睛跟踪模块922。HMD 100内部的相机或其他光学传感器可捕捉用户眼睛的图像信息,并且眼睛跟踪模块922可使用所捕捉的信息来确定瞳孔间距、双眼间距、每只眼睛相对于HMD 100的三维(3D)位置(例如,出于失真调整的目的),该三维位置包括每只眼睛的扭转和旋转(即,翻滚、俯仰和偏航)的幅度以及注视方向。在一个示例中,在HMD 100内发射红外光并且从每只眼睛反射红外光。反射光由HMD 100的相机接收或检测并被分析以从每只眼睛反射的红外光的变化中提取眼睛旋转。眼睛跟踪模块922可使用用于跟踪用户102的眼睛的许多方法。因此,眼睛跟踪模块922可跟踪每只眼睛的多达六个自由度(即,3D位置、翻滚、俯仰和偏航),并且从用户102的双眼所跟踪的量的至少一个子集可被组合以估计注视点(即,用户正在看的地方的3D定位或在虚拟场景中的位置)。例如,眼睛跟踪模块922可集成来自过去的测量结果的信息、识别用户102的头部的位置的测量结果,以及描述由显示面板104呈现的场景的3D信息。因此,针对用户102的眼睛的位置和取向的信息被用于确定由HMD 100呈现的虚拟场景中用户102正在看的注视点。

HMD 100还可包括头部跟踪模块924。头部跟踪模块924可利用传感器918中的一个或多个来跟踪用户102的头部运动(包括头部旋转),如上所述。例如,头部跟踪模块924可跟踪HMD 100的多达六个自由度(即,3D位置、翻滚、俯仰和偏航)。这些计算可在一系列帧(或帧对)中的每个帧(或帧对)处进行,使得应用程序407可根据头部位置和取向来确定如何渲染下一帧中的场景。在一些实施方案中,头部跟踪模块924和/或使用头部跟踪模块924的合成器403被配置为基于当前和/或过去的数据来预测HMD 100的未来位置和/或取向。这是因为要求应用程序407在用户102实际上看到显示面板104上的光(并且因此看到图像)之前渲染帧(或帧对)。因此,可基于在较早时间点(诸如在渲染帧(或帧对)之前的大致25至30毫秒(ms))做出的对头部位置和/或取向的这一未来预测来渲染下一帧(或帧对)。由头部跟踪模块924提供的旋转数据可用于确定任何合适的测量单位下的HMD 100的旋转方向和HMD 100的旋转量两者。例如,可根据对应于左、右、上和下的正或负水平方向和正或负垂直方向来简化和输出旋转方向。旋转量可以是就角度、弧度等而言。可计算角速度以确定HMD 100的旋转速率。

除非另外指明,否则说明书和权利要求书中所使用的表达数量的所有数字在所有情况下均应理解成由术语“约”修饰。因此,除非有相反的说明,否则说明书和所附权利要求中列出的数值参数均为近似值,这些近似值可根据本公开寻求获得的所需特性而变化。至少,并且在不试图限制权利要求范围的等同原则的应用的情况下,每个数值参数均应该至少根据所报告的有效数字的数值并通过应用普通的舍入技术来解释。当需要进一步澄清时,术语“约”具有在其与所述数值或范围结合使用时本领域的技术人员合理地赋予它的含义,即表示比所述值或范围稍微大或稍微小如下范围:在所述值的±20%的范围内;在所述值的±19%的范围内;在所述值的±18%的范围内;在所述值的±17%的范围内;在所述值的±16%的范围内;在所述值的±15%的范围内;在所述值的±14%的范围内;在所述值的±13%的范围内;在所述值的±12%的范围内;在所述值的±11%的范围内;在所述值的±10%的范围内;在所述值的±9%的范围内;在所述值的±8%的范围内;在所述值的±7%的范围内;在所述值的±6%的范围内;在所述值的±5%的范围内;在所述值的±4%的范围内;在所述值的±3%的范围内;在所述值的±2%的范围内;或在所述值的±1%的范围内。

尽管已经用特定于结构特征的语言描述了主题,但是应当理解,所附权利要求书中定义的主题不必限于所描述的具体特征。相反,具体特征被公开为实现权利要求的例示性形式。

相关技术
  • HMD中的显示面板和/或虚拟相机的反向旋转
  • 用于使虚拟现实环境中的特定内容聚焦的HMD转换
技术分类

06120113236228