首页 / 专利库 / 电脑图像 / 着色器 / 顶点着色器 / 时间抗混叠的中央凹自适应

时间抗混叠的中央凹自适应

阅读:903发布:2020-05-15

专利汇可以提供时间抗混叠的中央凹自适应专利检索,专利查询,专利分析的服务。并且提供了用于在中央凹 渲染 的呈现内能够进行时间抗 混叠 的中央凹自适应的方法和系统。提供了一种用于在 头戴式显示器 (HMD)内用抗混叠渲染多 分辨率 场景的方法。所述方法包括用于渲染包括一系列 视频 帧 的场景的操作。所述方法还包括以下操作:使用第一抖动偏移将抗混叠应用于所述场景的第一区域,以及使用第二抖动偏移将抗混叠应用于所述场景的第二区域。此外,所述方法提供用于生成包括所述第一区域和所述第二区域的中央凹场景,以及用于发送所述中央凹场景以显示在与所述HMD相关联的显示器上,其中根据某些实施方案,所述第一区域与比所述第二场景更高的分辨率相关联并且所述第一抖动偏移小于所述第二抖动偏移。,下面是时间抗混叠的中央凹自适应专利的具体信息内容。

1.一种用于在头戴式显示器(HMD)内用时间抗混叠渲染分辨率场景的方法,其包括:
使用图形处理单元渲染包括一系列视频的场景;
使用第一抖动偏移将抗混叠应用于所述场景的第一区域;
使用第二抖动偏移将抗混叠应用于所述场景的第二区域;
生成包括所述场景的所述第一区域和所述场景的所述第二区域的中央凹场景;以及发送所述中央凹场景以显示在与所述HMD相关联的显示器上,其中所述第一区域与比所述第二区域更高的分辨率相关联,并且所述第一抖动偏移小于所述第二抖动偏移。
2.根据权利要求1所述的方法,其还包括:
跟踪所述HMD的用户的注视;以及
其中所述生成所述中央凹场景包括:根据所述跟踪所述用户的所述注视,将所述第一区域动态地放置在与所述HMD相关联的所述显示器内。
3.根据权利要求1所述的方法,其还包括:
使用第三抖动偏移将抗混叠应用于所述场景的第三区域,其中所述生成所述中央凹场景还包括所述第三区域,所述第三区域与低于与所述第一区域相关联的所述更高分辨率并且高于与所述第二区域相关联的所述分辨率的中间分辨率相关联,并且其中所述第三抖动偏移大于所述第一抖动偏移并且小于所述第二抖动偏移。
4.根据权利要求3所述的方法,其中所述生成所述中央凹场景包括:将所述第一区域嵌套在所述第三区域内。
5.根据权利要求1所述的方法,其中所述使用所述第一抖动偏移将所述抗混叠应用于所述场景的所述第一区域和所述使用所述第二抖动偏移将所述抗混叠应用于所述场景的所述第二区域由计算着色器执行。
6.根据权利要求1所述的方法,其中在所述显示所述场景于显示器上以用于中央凹渲染的期间,所述场景的所述第一区域被嵌套在所述场景的所述第二区域内。
7.根据权利要求1所述的方法,其中针对所述场景的视频帧的所述抗混叠包括从先前的一个或多个视频帧中采样
8.根据权利要求1所述的方法,其中针对所述场景的视频帧的所述抗混叠包括从由先前结果中生成的迭代累积帧中采样。.
9.根据权利要求1所述的方法,其中所述第一区域根据所述HMD的用户的注视方向在所述第二区域内移动。
10.根据权利要求1所述的方法,其中被应用于所述场景的所述第一区域和所述场景的所述第二区域的所述抗混叠包括时间抗混叠。
11.一种用于向虚拟现实(VR)场景提供时间抗混叠以呈现在头戴式显示器(HMD)上的方法,其包括:
由GPU生成VR场景,所述VR场景包括中央凹区域和周边区域;
对所述VR场景抗混叠,其中所述抗混叠包括,
获取用于在所述VR场景内的顶点的变换矩阵,和确定在所述VR场景内的所述顶点的位置
顶点着色器选择要被应用于所述顶点的抖动分量,其中如果确定所述顶点位于所述VR场景的所述中央凹区域内,则选择第一抖动分量,并且如果确定所述顶点位于所述VR场景的所述周边区域内,则选择第二抖动分量,和
为了抗混叠的VR场景将所述所选的抖动分量应用于所述顶点的所述变换矩阵;以及发送所述抗混叠的VR场景以显示在与所述HMD相关联的显示器上。
12.根据权利要求11所述的方法,其中所述中央凹区域与高于所述周边区域的分辨率或图像质量的分辨率或图像质量相关联。
13.根据权利要求11所述的方法,其中与所述第一抖动分量相关联的偏移小于与所述第二抖动分量相关联的偏移。
14.根据权利要求11所述的方法,其中所述中央凹区域相对于所述显示器或所述周边区域是固定的。
15.根据权利要求11所述的方法,其中所述周边区域显示在与所述HMD相关联的所述显示器中的未显示所述中央凹区域的区域中。
16.根据权利要求11所述的方法,其还包括:
跟踪所述HMD的用户的注视;
其中所述生成所述VR场景包括:根据所述用户的所述注视的方向将所述中央凹区域动态地放置在所述显示器内。
17.根据权利要求11所述的方法,其中所述VR场景还包括中间中央凹区域,并且其中如果确定所述顶点位于所述中间中央凹区域中,则选择第三抖动分量并应用于所述顶点。
18.根据权利要求17所述的方法,其中所述中间中央凹区域与高于所述周边区域的分辨率或图像质量并且低于所述中央凹区域的分辨率或图像质量的分辨率或图像质量相关联。
19.根据权利要求17所述的方法,其中与所述第三抖动分量相关联的偏移大于与所述第一抖动分量相关联的偏移,并且小于与所述第二抖动分量相关联的偏移。
20.根据权利要求11所述的方法,其中所述针对所述VR场景的视频帧的抗混叠还包括从所述VR场景的先前一个或多个视频帧中采样。
21.根据权利要求11所述的方法,其中所述针对所述VR场景的视频帧的抗混叠还包括从所述VR场景的先前一组视频帧中采样。
22.一种嵌入在非暂时计算机可读存储介质中的计算机程序,当由一个或多个处理器执行时,用于向虚拟现实(VR)场景提供抗混叠以呈现在头戴式显示器(HMD)上,所述计算机程序包括:
用于渲染包括中央凹区域和周边区域的VR场景的程序指令;
用于为了抗混叠的中央凹区域使用第一抖动偏移将抗混叠应用于所述中央凹区域的程序指令;
用于为了抗混叠的周边区域使用第二抖动偏移将抗混叠应用于所述周边区域的程序指令;
用于发送具有所述抗混叠的中央凹区域和所述抗混叠的周边区域的所述VR场景以呈现在与所述HMD相关联的显示器上的程序指令,其中与所述中央凹区域相关联的分辨率高于与所述周边区域相关联的分辨率,并且其中所述第一抖动偏移小于所述第二抖动偏移。
23.根据权利要求22所述的计算机程序,其中所述中央凹区域相对于与所述HMD相关联的所述显示器是固定的,或者相对于所述周边区域是固定的。
24.根据权利要求22所述的计算机程序,其还包括:
用于跟踪所述HMD的用户的注视的程序指令,其中所述生成所述VR场景包括:根据所述用户的所述注视的方向将所述中央凹区域动态地放置在与所述HMD相关联的所述显示器内。

说明书全文

时间抗混叠的中央凹自适应

技术领域

[0001] 本公开涉及在头戴式显示器(HMD)中呈现的虚拟现实(VR)环境内容,以及用于中央凹渲染的VR场景的抗混叠的方法和系统。

背景技术

[0002] 由头戴式显示器(HMD)呈现的虚拟现实(VR)越来越成为消费者与各种类型的内容交互的流行方式。与在计算机监视器上显示的计算机生成的图像没有什么不同,经由HMD呈现给用户的VR场景可能会被混叠影响。在计算机图形的背景下,混叠可能会在显示器或视口上引起曲线或对线的不齐的或锯齿状边缘。一般而言,在计算机生成的场景中混叠损害现实性,并且已开发出某些抗混叠技术以减少与混叠的场景相关联的失真和伪像。时间抗混叠是这些抗混叠技术之一。
[0003] 当在由中央凹渲染限定的场景(在其中中央凹区域可以比(一个或多个)周边区域(例如,非中央凹区域)以更高的分辨率被渲染)内使用时间抗混叠时,在(一个或多个)周边区域中可能会出现更大程度的混叠。在(一个或多个)周边区域内的混叠可能会损害整体VR体验,因为仍可以调整人类视觉系统(例如,周边视觉或非中央凹视觉)以检测由在(一个或多个)周边区域中出现的混叠引起的伪像。与中央凹区域相比,当前的抗混叠技术不能解决在(一个或多个)周边区域中这种较大程度的混叠。
[0004] 实施方案在这一背景下出现。发明内容
[0005] 本公开的实施方案提供了用于能够在中央凹渲染的显示器和/或视图内进行时间抗混叠的中央凹自适应的方法和系统。在一个实施方案中,提供了一种用于在头戴式显示器(HMD)内用抗混叠渲染多分辨率场景的方法,该方法包括用于渲染包括一系列视频的场景的操作。该方法还提供用于使用第一抖动偏移将抗混叠应用于场景的第一区域以及使用第二抖动偏移将抗混叠应用于场景的第二区域的操作。此外,该方法提供了生成包括场景的第一区域和第二区域的中央凹场景的操作。该方法附加地提供了用于发送中央凹场景以显示在与HMD相关联的显示器上的操作。根据某些实施方案,第一区域与比第二区域更高的分辨率相关联。在一个实施方案中,根据一些实施方案,被应用于第一区域的第一抖动偏移小于被应用于第二区域的第二抖动偏移。
[0006] 在另一个实施方案中,一种用于在头戴式显示器(HMD)上向虚拟现实(VR)场景提供抗混叠的方法包括生成包括中央凹区域和(一个或多个)周边区域的VR场景。该方法还提供了用于对VR场景抗混叠的操作,其包括获取用于在VR场景内的顶点的变换矩阵,和确定该顶点在VR场景内的位置,以及由顶点着色器选择要被应用于该顶点的抖动分量,其中如果确定该顶点位于VR场景的中央凹区域内,则选择第一抖动分量,并且如果确定该顶点位于VR场景的(一个或多个)周边区域内,则选择第二抖动分量。根据这一实施方案和其它实施方案,该方法还包括用于为了抗混叠的VR场景将所选的抖动分量应用于顶点的变换矩阵的变换矩阵的操作,以及用于发送抗混叠的VR场景以显示在与HMD相关联的显示器上的操作。
[0007] 在又一个实施方案中,包括嵌入在非暂时计算机可读存储介质中的计算机程序,用于向VR场景提供抗混叠以呈现在HMD上。该计算机程序包括用于渲染包括中央凹区域和(一个或多个)周边区域的VR场景的程序指令。此外,该计算机程序包括程序指令,该程序指令用于为了对中央凹区域抗混叠使用第一抖动偏移对中央凹区域应用抗混叠,并且用于为了对(一个或多个)周边区域抗混叠使用第二抖动偏移对(一个或多个)周边区域应用抗混叠。根据这一实施方案和其它实施方案,该计算机程序还包括程序指令,该程序指令用于发送具有抗混叠的中央凹区域和抗混叠的(一个或多个)周边区域的VR场景以呈现在与HMD相关联的显示器上,其中与中央凹区域相关联的分辨率大于与(一个或多个)周边区域相关联的分辨率,并且其中第一抖动偏移小于第二抖动偏移。
[0008] 从以下结合附图进行、通过举例的方式说明本公开原理的详细描述中,本公开的其它方面将变得明显。

附图说明

[0009] 通过参考以下结合附图进行的描述可以最佳地理解本公开,其中:
[0010] 图1A和图1B示出了根据一个实施方案的向HMD用户呈现具有两种分辨率的虚拟现实(VR)内容。
[0011] 图2A和图2B示出了根据某些实施方案的向HMD用户呈现VR内容,该VR内容具有中央凹区域、中间中央凹区域和周边区域。
[0012] 图3A-图3H示出了中央凹渲染的视图的各种实施方案。
[0013] 图4示出了根据一个实施方案的用于对多分辨率VR场景抗混叠的方法的整体流程。
[0014] 图5示出了根据一个实施方案的用于使顶点着色器能够根据顶点位置选择不同的抖动偏移的方法的整体流程。
[0015] 图6A-图6C示出了根据某些实施方案的对视频帧的两个区域的子像素采样的各种实施方案。
[0016] 图7A-图7C示出了根据一个实施方案的针对给定图元的采样、光栅化和着色的各种实施方案。
[0017] 图8示出了根据一个实施方案的用于针对给定抖动使用时间采样的概念性方案。
[0018] 图9A和图9B示出了根据某些实施方案的能够从不同的抖动矩阵中选择的方法的实施方案。
[0019] 图10示出了根据一个实施方案的能够根据中央凹渲染从不同的抖动矩阵中选择以用于时间抗混叠的图形流线的整体概念模型。
[0020] 图11示出了可以与所呈现的方法和/或系统一起使用的HMD的附加实施方案。

具体实施方式

[0021] 以下实施方案描述了用于使时间抗混叠(TAA)技术适应中央凹渲染系统的方法、计算机程序和装置。然而,对于本领域技术人员将明显的是,可以在没有一些或全部这些具体细节的情况下实践本公开。在其它情况下,没有详细描述公知的过程操作,以便避免不必要地模糊本公开。
[0022] 由HMD提供的虚拟现实(VR)环境是用于消费者与内容交互以及用于内容创建者向消费者传递内容的一种越来越流行的介质。此外,随着VR场景正变得越来越复杂并且以更高的分辨率显示,计算和网络成本也随之增加。因此,改进针对经由HMD显示的VR场景的计算机图形渲染和抗混叠的当前方法,相对于计算和网络资源两者以及最终用户的VR体验都是有益的。
[0023] 降低渲染特定VR场景的计算和网络成本(以及相关联的等待时间)的一种方式是使用中央凹渲染来显示VR场景。根据一个实施方案,中央凹渲染可以限定显示器内的区域,该区域以比其它区域更高的分辨率、质量、细节等级、清晰度、帧速率等来显示。根据这些实施方案和其它实施方案,具有更高分辨率(或更高的质量、细节等级、清晰度、帧速率)的区域可以被称为中央凹区域(foveal region)或中央凹区域(foveated area)。此外,不具有更高等级的分辨率的区域可以被称为周边区域(region)或区域(area),或者非中央凹区域(region)或区域(area)。
[0024] 对于一些实施方案,中央凹区域相对于显示器可以是固定的或静止的。在这样的实施方案中,中央凹区域可以朝向屏幕或显示器的中心而定位。在其它实施方案中,中央凹区域可以相对于屏幕或显示器而动态地定位。例如,在一些实施方案中,中央凹区域可以以预定的方式或由软件编程地在显示器或屏幕内移动。在其它实施方案中,动态的中央凹区域可以跟踪或跟随用户的注视点(POG)或注视方向。因此,在显示器内与用户的POG对应的区域可以以比更远离用户的POG的区域的更高的质量、细节等级和/或清晰度被渲染,而不必损害用户的视觉体验。
[0025] 在一些实施方案中,通过中央凹渲染将一个或多个周边区域限定在屏幕或显示器内没有中央凹区域的位置。例如,如果中央凹区域位于朝向显示器的中心,则(一个或多个)周边区域占据朝向显示器的周边(或其至少一部分)的显示器的剩余部分。如果中央凹区域要移动到显示器的不同区域,则(一个或多个)周边区域应填充当前没有中央凹区域的显示器的剩余部分。根据一些实施方案,周边区域可以被称为非中央凹(non-foveal)或非中央凹(non-foveated)区域。
[0026] 图1A和图1B示出了向HMD用户101呈现具有两个分辨率R1和R2的VR环境104内的虚拟现实(VR)内容。根据图1A所示的实施方案,HMD用户101被示为具有被导向成基本上直向前的注视102。即,HMD用户101被示为在可以围绕360水平度的VR环境104内向前看。
[0027] 根据图1A和图1B所示的实施方案,HMD用户101的注视被位于由HMD用户101所佩戴的HMD/计算系统103内的注视检测部件(未示出)所跟踪。在一些实施方案中,注视信息可以经由位于HMD内捕获用户眼睛的图像的相机来获取。然后可以分析图像以确定用户的注视点或注视方向(例如,用户当前正在看的地方)。因此,具有关于HMD用户101的注视102的实时信息的HMD/计算系统103能够提供与HMD用户101的注视102对齐的中央凹区域106。例如,中央凹区域106被示为具有在VR环境104内相对于HMD用户101的方向与HMD用户101的注视102相似的方向的放置位。此外,中央凹区域106被示为具有分辨率R1。
[0028] 在图1A中还示出了周边区域108。如上所述,根据一些实施方案,周边区域108可以由中央凹渲染方法或系统限定为在显示器或视野内与中央凹区域不重合的区域。例如,(一个或多个)周边区域可以在中央凹区域之外,或者可以围绕中央凹区域,或者可以填充与中央凹区域不相关的显示器的剩余空间。此外,非中央凹可以由更低的分辨率、质量、细节等级、清晰度、帧速率等来限定。
[0029] 因此,根据某些实施方案,周边区域108可以包括VR环境104的区域,该区域被显示给HMD用户101但是不对应于由HMD/计算设备103检测到的HMD用户101的注视102。因此,周边区域108可以以不同于分辨率R1的分辨率R2被显示给HMD用户101。
[0030] 根据一些实施方案,对于给定的VR场景,分辨率R1可能高于R2。在这些实施方案中,中央凹区域106可以被提供比周边区域108更高的分辨率,而不会损害HMD用户101的视觉体验。一般而言,人类视觉系统只能感知到与相对于注视点约5个水平度和约5个垂直度相关联的区域内的更精细细节。视野的这一区域投射到在视网膜内称为中央凹的区域上。随着距用户的中心方向或注视点的角距离增加,视敏度急剧下降(例如,感知精细细节的能)。这一生理现象在本文中被称为中央凹化。
[0031] 通过提供用于显示的图形的渲染、后渲染和/或处理的配置、格式和范例,中央凹渲染利用中央凹的现象,其中一个或多个区域(例如,中央凹区域)由比其它区域更高等级的分辨率、更高等级的细节、更高等级的纹理和/或更高等级的清晰度来限定。根据一些实施方案,中央凹区域被对应于用户当前正在观看或被预测为将观看的显示器的区域。在其它实施方案中,中央凹区域可以被以静态的方式放置在用户将花费大量时间观看朝向的显示器的中心区域中。而且,如前所述,中央凹渲染可以限定非中央凹(例如,周边的)区域,该非中央凹区域对应于显示器的用户未注视或未被预测为要注视的区域。如本文所用,显示器的非中央凹区域可以被称为周边区域。然而,还注意到,中央凹区域可以被渲染或放置在朝向或邻近显示器周边的显示器的区域中。此外,中央凹渲染的显示器的周边区域不一定位于或放置朝向或邻近显示器的周边,尽管它们可以是这样。
[0032] 通过在与用户的中央凹之下(例如,注视的中心和投射到用户的中央凹上的周围区域)的视野相关联的显示器的区域内渲染和/或显示较高质量(例如,分辨率、细节等级(LOD)、清晰度、帧速率)的内容,本文设想的实施方案能够使用中央凹渲染的显示配置。此外,本文设想的实施方案能够在与用户的注视中心不相关(例如,用户的周边视野)的显示器的区域中显示具有较低质量的内容。因此,与以全质量或全分辨率渲染整个显示器或屏幕相比,在中央凹渲染下仅一部分给定场景可以被渲染和/或处理为以高质量或高分辨率显示。
[0033] 中央凹渲染的技术益处之一是能够减少与对整个显示器(例如,在显示器上的每个像素)以全质量(例如,高的分辨率、清晰度、细节等级、帧速率等)渲染给定场景相关联的计算和网络成本。通过以高分辨率和/或高质量渲染全显示器的仅一部分(例如,20-50%、5-75%、25-40%),计算资源(例如,GPU、CPU、计算资源)和网络资源(例如,从计算设备向HMD发送数据以及从HMD发送数据,和/或从组合的HMD/计算设备向远程服务器发送数据)可以减少,并且被分配用于其它用途。
[0034] 根据另一个实施方案,即使与HMD/计算设备相关联的GPU为给定场景生成全分辨率视频帧,中央凹渲染方法和/或系统也能够减少在HMD上显示场景所需的数据量。例如,如果GPU与无线连接到HMD的计算设备相关联,则本文所述的中央凹渲染方法和/或系统能够减少从计算设备发送到HMD用于呈现场景的某些区域的无线数据量。
[0035] 根据图1A所示的实施方案,中央凹区域106表示总显示或可视区域的约30%。总显示区域的剩余部分由周边区域108表示。尽管为了清楚起见,中央凹区域106被示为在形状上是矩形的,但是应当注意,中央凹区域106可以采取任何数量的形状,而不脱离实施方案的精神和范围。以下参考图3A-图3F描述一些设想的实施方案。再次,尽管中央凹区域106被示为表示总可显示或可视区域的30%,但是在其它实施方案中,中央凹区域106可以在总可显示或可视区域的5%至75%的范围内的任一处。
[0036] 在一个实施方案中,可以设想到,对于VR场景的至少一段时间,周边区域108可以具有小于中央凹区域106的分辨率R1的分辨率R2。例如,如果R1等于1920x1080像素(例如,1080p),则R2可以等于960x540像素(例如,540p),或者大约是垂直像素数量的一半和水平像素数量的一半。因此,具有分辨率R1为1080(p)的中央凹区域106可以与等于约2.074百万像素的图像分辨率相关联。相比之下,具有分辨率R2为540(p)的周边区域108可以与等于约
0.518百万像素的图像分辨率相关联,这表明图像分辨率的为相对于分辨率R1的约0.25倍的差异。
[0037] 根据另一个实施方案,可以设想到,中央凹区域106可以与分辨率R1为3840x2160p(4K UHD)相关联,而周边区域108可以与小于4K UHD的例如1080(p)、540(p)、360(p)、240(p)等的分辨率R2相关联。根据本文所呈现的方法和系统,在其它实施方案中可以使用任何数量的其它分辨率。作为非限制性示例,可以设想到,中央凹区域106可以具有以以下分辨率为特征的分辨率R1:2160x1200(或每只眼1080x1200)、1280x720(HD)、1600x900(HD+)、1920x1080(FHD)、2560x1440((W)QHD)、3200x1800(QHD+)、3840x2160(4K UHD)、5120x2880(5K UHD+)、7680x4320(8K UHD)等
[0038] 根据一些实施方案,分辨率R2可以以任何小于R1的分辨率为特征。作为非限制性示例,R2可以以以下分辨率为特征:320x240(240p)、640x360(nHD,360p)、960x540(qHD,540p)、1280x720(HD,720p)、1600x900(HD+)等。可以设想到,根据各种实施方案,R1和R2可以在VR场景的整个过程中和/或在不同的VR场景之间改变。
[0039] 图1B示出了HMD用户101将他的注视110导向VR环境104的左上角。根据一些实施方案,注视110由HMD/计算设备103检测,其然后能够在VR环境104内在与注视110对应的位置处提供中央凹区域112。即,注视110由HMD/计算设备103实时跟踪,并且因此,HMD/计算设备103能够确定在哪里中央凹化VR环境,以使得中央凹区域112在与注视110相关联的注视中心相同的方向上。因此,图1A中的中央凹区域106的位置到与图1B中的中央凹区域112相关联的新位置之间存在过渡,该过渡跟踪或追踪图1A中的注视102和图1B中的注视110之间的改变。
[0040] 尽管已经示出了具有跟踪用户的注视方向的动态的中央凹区域的某些实施方案,但是其它实施方案可以包括不跟踪用户的注视方向的固定的中央凹区域。
[0041] 图2A示出了在具有中央凹区域204、中间中央凹区域206和周边区域208的VR环境210内向HMD用户101呈现VR内容。可以设想到,一些实施方案可以具有具有高于中间中央凹区域206的分辨率R2的分辨率R1的中央凹区域204。此外,根据一些实施方案,可以设想到,分辨率R2高于周边区域208的分辨率R3。而且,与图1A和图1B所示的实施方案相似,中央凹区域
204在图2A中被示为占据VR环境210内与HMD用户101的瞬间注视202重合的区域。然而,如前所述,其它实施方案可以实现中央凹渲染,在该中央凹渲染中中央凹区域204和中间中央凹区域206相对于显示区域是固定的并且不需要跟踪用户的注视方向。
[0042] 根据图2A所示的实施方案,中间中央凹区域206通常围绕在VR环境210内被中央凹区域204所占据的区域。因此,中间中央凹区域206可以与VR环境210内的区域重合,该区域与距中心视线约5°至约60°的角距离(偏心率)相关联。在视野中与这个空间(例如,中间中央凹区域)相关联的视敏度低于中央凹区域的视敏度,但仍可能高于周边区域(例如,具有相对于注视方向的中心大于约60°的偏心率)的视敏度。因此,本文所述的方法和系统能够提供具有在中央凹区域204和周边区域208的分辨率之间的分辨率的中间中央凹区域206。
[0043] 根据一个实施方案,中央凹区域204可以具有以1080p为特征的分辨率R1,而中间中央凹区域206可以具有以720p为特征的分辨率R2,并且周边区域208可以以540p为特征。这些分辨率仅是示例,并且可以预见,中央凹区域204可以具有较高的分辨率,例如,4K、8K、
16K等。在这些实施方案和其它实施方案中,中间中央凹区域206可以具有低于中央凹区域
204的分辨率的分辨率,而周边区域208将具有低于中间中央凹区域206的分辨率的分辨率。
[0044] 还可以设想到,相对于从中央凹区域206的中心朝向VR环境210的周边延伸的径向轴,中间中央凹区域206要占据在VR环境210内位于中央凹区域204和周边区域208之间的空间。还可以设想到,中间中央凹区域206和周边区域208跟踪或跟随HMD用户101的注视202,或者跟踪或跟随VR环境210内的中央凹区域204。即,中间中央凹区域204和周边区域208还能够在VR环境210内移位,以便实时或接近实时地与中央凹区域204一起移动或看上去与中央凹区域204一起移动。
[0045] 图2B示出了HMD用户101已经从图2A中指向基本上直向前的注视202变成指向VR环境210的左上角的注视203。根据一些实施方案,注视203由HMD/计算系统103经由注视检测来跟踪,并且因此,HMD/计算系统103能够在与注视203所指向的相似方向上定位中央凹区域212。HMD/计算系统103还能够将中间中央凹区域214放置在VR环境210内围绕中央凹区域212所占据的区域的位置处。
[0046] 如上所述,可以使中央凹区域212对应于HMD用户101的视野的约5-75%,或者对应于在VR环境210内的总可显示空间的5-75%。此外,根据各种实施方案,中间中央凹区域214可以对应于例如HMD用户101的视野的约另一5-50%,或者对应于VR环境210的总可视区域的约5-50%。因此,周边区域216可以对应于总视野和/或可视区域的总可视区域的40-90%之间的任一处。然而,可以设想到,根据各种实施方案,被分配给中央凹区域212、中间中央凹区域214和周边区域216中的每一个的视野的和/或VR环境210的可视区域的部分可以在VR场景内或不同的VR场景之间改变。
[0047] 图3A-图3H示出了中央凹渲染的视图的各种实施方案。例如,图3A示出了具有以圆形边界为特征的中央凹区域的中央凹渲染的显示器。图3B示出了可与本文所述的方法和系统一起使用的中央凹渲染的视图,该视图具有以椭球体或长方形或椭圆形为特征的中央凹区域。而且,图3C示出了中央凹渲染的配置的实施方案,其中中央凹区域被示为具有圆角的矩形形状。
[0048] 图3D和图3E示出了具有圆形的中央凹区域的中央凹渲染的视图的实施方案。图3D附加地示出了在形状上也是圆形的中间中央凹区域,其位于中央凹区域外部在中央凹区域与(一个或多个)周边区域之间。此外,图3E示出了以嵌套的方式布置的两个中间中央凹区域。可以设想到,一般地,各种实施方案可以利用任何数量的中间中央凹区域,离中央凹区域越来越远的每个连续的中间中央凹区域具有与其相关联的逐渐降低的质量(例如,更低的分辨率、清晰度、细节等级、帧速率、刷新率)。还可以设想到,尽管中间中央凹区域被示出为与在中央凹渲染的显示器内的给定中央凹区域具有相似的形状,但是在其它实施方案中这种相似性不需要如此。例如,图3D和图3E的中间中央凹区域可以以除了圆形之外的形状为特征。
[0049] 图3F示出了具有由方框界定的动态的中央凹区域的中央凹渲染的视图和/或显示器的实施方案。在这些实施方案和其它实施方案中,只要用户的注视保持在以边界框为特征的某区域内,中央凹区域就可以跟踪用户的注视,以使得中央凹区域显示为在与HMD用户的注视方向重合的显示器和/或视图的区域内。因此,中央凹区域可以跟踪用户的注视,直到注视移动到边界框之外。根据一些实施方案,中央凹区域仍可以通过移位到在边界框内被确定为比其它位置更靠近注视的位置,来尝试跟踪边界框之外的注视。当然,图3A-图3F中所示的几何形状和形状是示例性的而不是限制性的。例如,根据本文所述的方法和系统,可以使用任何数量的其它形状或边界来限定包括正方形、梯形、菱形和其它多边形的中央凹区域和/或中间中央凹区域。
[0050] 一般而言,图3A-图3E中所示的每个实施方案可以具有相对于显示器和/或视图是‘固定’的中央凹区域,或者在用户观看相应的中央凹渲染的视图和/或显示器时动态跟踪用户的注视的中央凹区域。例如,对于某些类型的VR内容,可能会是这样的情况:预计HMD用户在大部分VR会话中直向前看。因此,某些实施方案可以使用相对于VR环境的显示器和/或视图是固定的中央凹渲染的视图和/或显示器。
[0051] 图3G示出了根据本文所述的方法和系统使用中央凹渲染来产生的VR场景300。中央凹渲染产生中央凹区域302和多个中间中央凹区域304-310。在图3G中,中间中央凹区域304-310的数量是任意的,随着中间中央凹区域显示得离中央凹区域越来越远,每个中间中央凹区域的分辨率连续降低。例如,中间中央凹区域306可以包括1到100之间任一处的附加的中间中央凹区域。
[0052] 图3H描述了用于显示器的区域的分辨率与该区域距中央凹区域或注视点的距离之间的各种示例性关系。例如,曲线312可以描述仅具有中央凹区域和周边区域的中央凹渲染的显示器。曲线314描述了具有分辨率和距中央凹区域的距离之间的抛物线关系的中央凹渲染的显示器。曲线316描述了随着距中央凹区域的距离增加而分辨率降低的阶跃函数。此外,曲线318和320描述了分辨率与距中央凹区域的距离之间的线性关系和S形曲线关系。
因此,当进一步从中央凹区域中移出每个中间中央凹区域时,本文设想的中央凹渲染系统能够渲染任何数量的具有各种分辨率的中间中央凹区域。
[0053] 图4示出了用于对多分辨率VR场景抗混叠的方法的整体流程。根据所示的实施方案,操作410用于渲染包括一系列视频帧的场景。通常地,这是使用图形处理单元(GPU)来执行的。然后,该方法流向操作420,其用于使用第一抖动偏移将时间抗混叠应用于场景的第一区域。然后,操作430用于使用第二抖动偏移将时间抗混叠应用于第二区域。此外,然后,该方法流向操作440,其用于在显示器上显示具有场景的第一区域和第二区域两者的场景,其中第一区域被比第二区域更高的分辨率显示或者与比第二区域更高的分辨率相关联,并且第一抖动偏移小于第二抖动偏移。
[0054] 根据一些实施方案,操作420的第一区域可以对应于在中央凹渲染的显示器和/或视图内的中央凹区域,而第二区域430可以对应于在中央凹渲染的显示器和/或视图内的周边区域。例如,第一区域可以具有等于1080p的分辨率,而第二区域可以具有等于540p的分辨率。
[0055] 时间抗混叠描述了一种移除或减少与场景内图像的混叠相关联的视觉伪像的计算过程。时间抗混叠能够减少场景内图像的混叠的一种方式是使用两个或更多个帧上采样位置的抖动来执行子像素采样。
[0056] 通过使用用于与不同分辨率相关联的那些不同区域的不同抖动偏移,根据图4所示的方法的实施方案能够执行适应于场景内不同区域的特定分辨率的时间抗混叠。例如,可以对具有较高分辨率的区域(例如,中央凹区域)应用具有较小抖动偏移的时间抗混叠,而可以对具有较低分辨率的区域(例如,(一个或多个)周边区域)应用具有较大抖动偏移的时间抗混叠。通过对具有较低分辨率(和较大像素大小)的区域使用较大的抖动偏移,在那些区域内的图元或片段将会丢失的可能性降低,就像使用较小的抖动偏移时的情况一样。作为根据图4的方法实践的实施方案的结果,用于第二区域(例如,(一个或多个)周边区域)的抗混叠的有效性提高。
[0057] 图5示出了使顶点着色器能够根据顶点位置选择不同的抖动偏移的方法的整体流程。图5所示的方法的操作510用于获取具有抖动分量的变换矩阵。根据一些实施方案,变换矩阵可以已经由GPU处理并且被存储在存储器缓冲器中,由操作510从该存储器或缓冲器中检索变换矩阵。例如,变换矩阵可以是表示在(VR)场景内的顶点的模型-视图-投影(MVP)矩阵。然后,该方法流向操作520,其用于确定顶点在显示器上的位置。例如,操作520可能够确定顶点是在中央凹区域内还是在(一个或多个)周边区域内。
[0058] 然后,该方法流向操作530,其能够根据由操作520确定的顶点位置来选择抖动分量或抖动偏移或抖动矩阵。根据一些实施方案,抖动分量或偏移或矩阵可以被存储在存储器中,在该存储器中其可由操作530检索。然后,图5所示的方法流向操作540,其用于将所选的抖动分量或偏移或矩阵应用于变换矩阵。此外,根据一些实施方案,可以设想到,操作510-540可以由图形流水线内的顶点着色器执行。在其它实施方案中,可以设想到,上述操作将由光栅器执行。
[0059] 根据一些实施方案,抖动分量可以由抖动矩阵J或[J]描述或包含。因此,可以经由矩阵乘法将J应用于给定的变换矩阵。例如,可以用[MVP]描述变换矩阵,其中M表示模型,V表示视图,和P表示投影。因此,由[MVP][J]定义的运算将会是将抖动矩阵[J]应用于变换矩阵[MVP]的一种方式。
[0060] 图6A示出了视频帧600的两个区域的子像素采样的实施方案。视频帧602被示为与分辨率R1相关联。以分解图示出了包含图元606的视频帧600的部分602,其包括第一区域608和第二区域610。第一区域608和第二区域610被示为每个均包括16个采样位置。每个采样位置被示为与每个相应像素的像素中心相关联。
[0061] 根据所示的实施方案,图元606的片段覆盖在第一区域608内包括例如采样位置603的8个采样位置。第一区域608的采样位置612、614和616被示为没有被图元606的片段覆盖。然而,一旦抖动抖动偏移618,采样位置612和614就会被图元606覆盖。因此,当光栅器生成了与采样位置612和614相关联的像素的覆盖罩时,将会指示图元606的片段可能促成与采样位置612和与采样位置614相关联的像素的最终颜色。然而,图元606将不会促成与采样位置616相关联的像素的最终颜色,因为对于抖动的或是未抖动的采样位置,图元606的片段未覆盖采样位置。
[0062] 此外,第二区域610被示为包括被图元606覆盖的包括采样位置620的7个采样位置。一旦第二区域中的采样位置抖动抖动偏移618,则在被抖动之前未被图元606覆盖的采样位置622现在被示为被图元606覆盖。另一方面,在未抖动位置处被图元620覆盖的采样位置620在抖动位置处不再被覆盖。因此,图元606将会促成与采样位置620和622相关联的像素的最终颜色。
[0063] 图6B示出了具有与分辨率R1和抖动分量J1相关联的中央凹区域603以及与分辨率R2和抖动分量J1相关联的周边区域605的视频帧600的实施方案。部分602被示为包括落在中央凹区域603内的第一区域608以及落在周边区域605内的第二区域610。因此,第一区域608包括非常类似于图6A所示的采样图案。
[0064] 相比之下,由于比R1更低的分辨率R2,在周边区域605内的第二区域610被示为包括更少数量的采样位置(例如,四个)。例如,第二区域被示为包括采样位置628-634,采样位置630和632被图元606覆盖。图6B还示出了被用于第一区域608和第二区域610两者的相同的抖动分量618,即使第二区域具有更大的像素和在采样位置之间的更大的间隔。因此,抖动分量618不改变促成与采样位置628-634相关联的任何像素的最终颜色的颜色。例如,与图元606相关联的片段不覆盖采样位置628,无论该位置是否抖动。因此,图元606可能不会促成与采样位置628相关联的像素的最终颜色。
[0065] 图6C示出了对具有与分辨率R1和抖动J1相关联的中央凹区域603以及与更低的分辨率R2和更大的抖动J2相关联的周边区域605的视频帧600采样的实施方案。例如,由抖动偏移636描绘的J2被示为J1抖动偏移618的约两倍量。因此,图元606的片段能够促成与采样位置628相关联的像素,因为抖动采样位置628被图元606覆盖。因此,与图6B所示的实施方案相比,对周边区域605使用J2抖动偏移636导致周边区域605的图像具有减少的混叠,在图6B所示的实施方案中,不同的抖动(例如,J2抖动偏移636)未用于周边区域605(例如,因为仅有单个抖动J1用于中央凹区域603和周边区域605两者)。
[0066] 在与较小的分辨率(例如,采样点之间的较大距离)相关联的显示器内的区域中使用较大的抖动分量降低了图元或片段将会丢失的可能性。因此,根据本文所述的实施方案提供的方法和系统能够通过根据采样位置是在中央凹区域还是(一个或多个)周边区域中从不同的抖动偏移中选择来提供增强的抗混叠,这可以有效地减少混叠,尤其是对于图像的非中央凹部分。
[0067] 图7A-图7C示出了对于给定图元701的采样、光栅化和着色的各种实施方案。例如,图7A的采样网格702a被示为包括对于图元701的片段的16个采样位置。光栅化网格706a是覆盖数据的结果,这是在对由采样网格702a和图元701的交点形成的片段的扫描转换期间由光栅器产生的。
[0068] 抖动采样网格702b被示出为已经根据抖动偏移704被抖动,该抖动采样网格被光栅化为光栅化网格706b。然后,像素着色器或计算着色器可以组合光栅化网格706a和光栅化网格706b以产生着色网格708,该着色网格是光栅化网格706a和706b的组合。例如,像素着色器或计算着色器可以为着色网格708中的像素710c选择颜色,该颜色是像素710a的颜色和像素710b的颜色的组合或平均。
[0069] 在图7B中,采样网格712a被示为与仅具有4个采样点的图元701相交。采样网格712a表示对于具有较低分辨率的显示器的采样过程,例如,中央凹渲染的视图和/或显示器的(一个或多个)周边区域。抖动采样网格712b还被示为具有已经根据抖动偏移704被抖动的4个采样点。因为抖动偏移704表示采样网格712a中的任一个采样点和采样网格之间的距离的较小比例,所以作为抖动采样网格712b的结果的光栅化网格714b与由未抖动采样网格
714a产生的光栅化网格714a相同。即,在图7B的采样过程中使用的抖动偏移量不足以使得图元701的片段覆盖在采样网格712a或采样网格712b中的采样点703。因此,着色网格716被示为以规则的图案为特征,该规则的图案可以继续形成锯齿状边缘或“锯齿”,并且可能导致最终图像中的混叠。
[0070] 图7C示出了采样网格720a和抖动采样网格720b,该抖动采样网格已经被抖动到大于图7B的抖动偏移704的抖动偏移705的程度。因此,采样点703在抖动采样网格720b中被图元701覆盖,但是在采样网格720a中未被覆盖。这反映在相应的光栅化网格722a和722b中。所得的着色网格724具有用可以是像素718a和718b的颜色的平均或组合的颜色被着色的像素718c。因此,着色网格724表现出比着色网格716更少的锯齿状边缘和/或规则的图案。因此,类似于图7C中所示的采样过程提供了更大程度的抗混叠和图元将会丢失的更小可能性。
[0071] 图8示出了根据某些实施方案的抗混叠的时间方面。图元801由帧N、N-1、…、N-8的变换数据802可视地表示。尽管为了清楚和说明的目的,图元801被示为对于帧N、N-1、N-2、…、N-8中的每一个具有相似的形状和位置,但是对于其它实施方案,图元801不必具有相同的形状或位置。根据一些实施方案,变换数据802可以被存储在缓冲器中。
[0072] 采样网格804被示为对于变换数据802的每个帧在4个采样位置处采样。采样网格804被示为每隔一帧被抖动一次。再次,为了清楚起见,采样网格804被示为被抖动了Y中的半个像素,但是根据各种其它实施方案可以使用不同的抖动偏移。例如,其它实施方案可以使用在X和Y两者中均为四分之一像素的抖动偏移。此外,根据一些实施方案,图8所示的抖动可以由转换投影矩阵的采样代码来执行。例如,采样代码可以将转换矩阵应用于变换数据802,这将有效地提供图8所示的抖动。
[0073] 根据一些实施方案,着色像素网格806被示为包括取决于针对当前帧和7个先前帧通过采样网格804获取的覆盖数据的4个像素。例如,着色像素网格808被示为基于来自帧N、N-1、…、N-7的采样数据,而着色像素网格810被示为基于来自帧N-1、N-2、…、N-8的采样数据。因此,像素着色(或计算着色)的过程在时间上取决于存储在缓冲器中的先前帧。由多个帧的输出累积形成的所得图像提供了较大程度的抗混叠,尤其是对于采样点之间的距离较大的区域(例如,周边区域)。
[0074] 图9A示出了一种方法的实施方案,该方法针对在中央凹渲染的视图和/或显示器内的中央凹区域和(一个或多个)周边区域,能够对不同的抖动量、偏移、分量(可在抖动矩阵中共同定义)做各种选择。操作902用于选择要被渲染在(VR)显示器上的顶点。然后,操作904和906获取限定所选顶点的变换矩阵,并且经由变换矩阵确定所选顶点的位置信息。在操作908处,该方法确定顶点是否位于中央凹区域(例如,具有相对较高的分辨率的区域)内。如果确定顶点位于中央凹区域内,则操作910和912分别用于选择第一矩阵和应用第一矩阵。如果确定顶点不位于中央凹区域内,而是在操作914处位于周边区域内,则该方法流向操作916和918,其用于选择和应用第二抖动矩阵。
[0075] 如前所述,中央凹区域可以具有高于(一个或多个)周边区域的分辨率。因此,第一抖动矩阵应包括比第二抖动矩阵相对更小的抖动偏移。此外,根据一些实施方案,可以设想到,图9A中所示的操作的至少一部分将由图形流水线内的顶点着色器来执行。
[0076] 图9B示出了一种方法的实施方案,该方法针对在中央凹渲染的视图和/或显示器内的中央凹区域、中间中央凹区域以及周边区域,能够对不同抖动量、偏移、分量(可在抖动矩阵中共同定义)做各种选择。操作920用于选择要被渲染在(VR)显示器上的顶点。然后,操作922和924获取限定所选顶点的变换矩阵,并且经由变换矩阵确定所选顶点的位置信息。在操作926处,该方法确定顶点是否位于中央凹区域(例如,具有相对较高的分辨率的区域)内。如果确定顶点位于中央凹区域内,则操作928和930分别用于选择第一抖动矩阵和应用第一抖动矩阵。如果确定顶点不位于中央凹区域内,而是在操作932处位于中间中央凹区域内,则该方法流向操作934和936,其分别用于选择和应用第二抖动矩阵。如果确定顶点不位于中间中央凹区域内,而是在操作938处在(一个或多个)周边区域内,则该方法流向操作
940和942,其分别用于选择和应用第三抖动矩阵。
[0077] 如前所述,根据一些实施方案,中央凹区域可以具有高于中间中央凹区域或周边区域的分辨率,而中间中央凹区域可以具有高于周边区域的分辨率。因此,第一抖动矩阵应包括比第二或第三抖动矩阵相对更小的抖动偏移,而第二抖动矩阵应包括比第三抖动矩阵相对更小的抖动偏移。此外,根据一些实施方案,可以设想到,图9B中所示的操作的至少一部分将由图形流水线内的顶点着色器来执行。在其它实施方案中,图9B中描绘的操作可以在顶点着色器、光栅器或像素着色器(或计算着色器)之间共享。
[0078] 图10示出了图形流水线的整体概念性模型,该图形流水线能够从不同的抖动矩阵中选择,以用于在中央凹渲染的范例下的时间抗混叠。例如,顶点着色器1008被示为从帧数据1002获取变换矩阵1004。根据一些实施方案,顶点着色器1008是能够为图像提供适当等级的光照、着色和其它后处理效果的计算机程序。在从帧数据1002获取变换矩阵1004之后,顶点着色器1008能够确定由变换矩阵1004描述的给定顶点的位置。根据顶点的位置(例如,顶点是在中央凹区域、中间中央凹区域还是周边区域内),顶点着色器1008将从存储器1016中选择适当的抖动矩阵,例如,[J1]、[J2]或[J3]。尽管三个抖动矩阵被示为存储在存储器1016中,但是应当理解,可以根据各种实施方案将任何数量的抖动矩阵存储在存储器1016中并且从中选择,而不脱离实施方案的精神和范围。
[0079] 此外,顶点着色器1008还可以从前一帧数据1006(例如,帧N-1、N-2、…、N-7)获取数据(例如,变换矩阵),同时对每个帧应用适当的抖动矩阵。然后,该方法流向光栅器1010,其负责以矢量图形格式拍摄由帧数据1002和1006描述的图像,并且将其转换成由像素组成的光栅图像。根据一些实施方案,光栅器可以由计算机程序体现。然后,光栅器1010的输出被馈送到像素着色器1012,该像素着色器处理适当等级的颜色和其它属性到各个像素。然后,像素着色器1012产生的所得像素被馈送到输出1014中,以发送用于显示。注意到,像素着色器用于指像素着色器或计算着色器。
[0080] 图11示出了可以与所呈现的方法和/或系统一起使用的HMD1100的附加的实施方案。HMD1100包括诸如注视检测器1102、处理器1104、电池1106、虚拟现实生成器1108、按钮、传感器开关1110、声音定位1112、显示器1114和存储器1116的硬件。HMD1100还被示为包括位置模1128,该位置模块包括磁力计1118、加速度计1120、陀螺仪1122、GPS 1124和罗盘1126。在HMD1100上还包括扬声器1130、传声器1132、LED 1134、用于视觉识别的对象1136、IR灯1138、前置相机1140、后置相机1142、注视跟踪相机1144、USB1146、永久存储1148、振动-触觉反馈1150、通信链路1152、WiFi 1154、超声通信1156、蓝牙1158和光敏二极管(PSD)阵列1160。
[0081] 尽管以具体顺序描述了方法操作,但是应当理解,只要以期望的方式执行改变VR操作的处理,就可以在操作之间执行其它内部操作,或者操作可以被调整以使它们发生在略微不同的时间,或操作可以分布在允许以与处理相关联的各种间隔发生处理操作的系统中。
[0082] 一个或多个实施方案还可以被制造为计算机可读介质上的计算机可读代码。计算机可读介质是可以存储数据的任何数据存储设备,该数据随后可由计算机系统读取。计算机可读介质的示例包括硬盘驱动器、网络附加存储(NAS)、只读存储器随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其它光学和非光学的数据存储设备。计算机可读介质可以包括分布在连接网络的计算机系统上的计算机可读有形介质,以使得计算机可读代码以分布的方式被存储和执行。
[0083] 尽管为了清楚理解的目的而有些详细地描述了前述实施方案,但是显然可以在所附权利要求的范围内实践某些改变和修改。因此,本发明实施方案将被认为是说明性的而非限制性的,并且实施方案并不限于本文给出的细节,而是可以在所附权利要求的范围和等同物内修改。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈