用于注视点渲染系统的时间超级采样

文档序号:1409664 发布日期:2020-03-06 浏览:1次 >En<

阅读说明:本技术 用于注视点渲染系统的时间超级采样 (Temporal supersampling for point of gaze rendering systems ) 是由 A.扬 C.霍 J.R.斯塔福德 于 2018-06-07 设计创作,主要内容包括:提供用于使用时间超级采样来提高与注视点渲染视图的周边区相关联的显示分辨率的方法和系统。提供一种用于使得能够从低分辨率采样区重构较高分辨率像素以获得片段数据的方法。所述方法包括用于从GPU的光栅器接收片段并且用于在多个先前帧上对具有所述低分辨率采样区的所述片段应用时间超级采样以获得多个颜色值的操作。所述方法还包括用于基于经由所述时间超级采样获得的所述多个颜色值来在缓冲器中重构多个高分辨率像素的操作。此外,所述方法包括用于发送所述多个高分辨率像素以进行显示的操作。(Methods and systems are provided for using temporal super sampling to improve display resolution associated with peripheral regions of a gaze point rendered view. A method is provided for enabling higher resolution pixels to be reconstructed from a low resolution sampling region to obtain fragment data. The method includes operations for receiving a fragment from a rasterizer of a GPU and for applying temporal supersampling on a plurality of previous frames to the fragment having the low resolution sample region to obtain a plurality of color values. The method also includes an operation for reconstructing a plurality of high resolution pixels in a buffer based on the plurality of color values obtained via the temporal supersampling. Further, the method includes an operation for transmitting the plurality of high resolution pixels for display.)

用于注视点渲染系统的时间超级采样

技术领域

本公开总体上涉及用于通过头戴式显示器(HMD)提供的虚拟现实(VR)内容的注视点渲染视图,并且更具体地涉及用于利用时间超级采样来在注视点渲染视图内的某些区中生成较高分辨率像素的方法和系统。

背景技术

通过头戴式显示器(HMD)呈现的虚拟现实(VR)越来越成为消费者与各种类型的内容进行交互的方式。随着用于生成VR内容的VR应用程序变得以越来越高分辨率的图像和更高的复杂性进行渲染,支持这些VR场景所需的计算、网络和内存成本也随之增加。例如,当提高图像分辨率时,相关联的图形流水线需要执行与从由VR应用程序生成的几何数据产生像素数据相关联的越来越多的操作。同样,存储运行VR应用程序所需的几何和像素数据所需的内存量可能成比例增加。此外,如果VR应用程序在通过网络连接(例如,有线或无线)与HMD通信的计算系统上执行,则此外将需要通过网络连接发送的数据量增加。

因此,在执行具有计算和图形需求的VR应用程序时,通常会出现瓶颈。瓶颈可能会导致帧速率(每秒帧数)降低、延迟或滞后增加、分辨率降低以及混叠现象增加,所有这些均不利于整体用户体验。减少与执行VR应用程序相关联的计算、内存和网络成本的某些尝试已导致具有较低分辨率、像素化、视觉伪像等的VR场景,这会对VR体验产生负面影响。

正是在这种背景下,出现了各实施方案。

发明内容

本公开的各实施方案提供用于通过使用时间超级采样使得能够重构较高分辨率像素以显示在VR场景的欠采样区中的方法和系统。在一个实施方案中,提供一种用于从低分辨率采样区重构较高分辨率像素的方法。所述方法提供用于从光栅器接收片段的操作。所述方法还包括用于在多个先前帧上对具有所述低分辨率采样区的所述片段应用时间超级采样以获得多个颜色值的操作。根据某些实施方案,所述方法还可以包括用于基于经由所述时间超级采样获得的所述多个颜色值来在缓冲器中重构多个高分辨率像素的操作。此外,所述方法还包括用于从所述缓冲器发送所述多个高分辨率像素以呈现在显示器上的操作。因此,所提供的方法能够渲染被发送以进行显示的较高分辨率图像,而无需通常与渲染高分辨率图像相关联的大量且有时高昂的内存使用。因此,所述方法提供了一种能够在维持较低内存使用的同时提高与VR场景相关联的图像分辨率的技术问题的解决方案。

在另一实施方案中,一种图形系统包括图形处理单元(GPU,所述图形处理单元用于对包括低分辨率采样区的多个先前帧应用时间超级采样,其中所述时间超级采样获得多个颜色值。所述图形系统包括:帧缓冲器,所述帧缓冲器用于存储由所述GPU渲染的所述多个先前帧,以及显示缓冲器,其中基于经由对先前帧的所述时间超级采样获得的所述多个颜色值来重构多个高分辨率像素。所述多个高分辨率像素被配置成用于呈现在显示器上。

在另一实施方案中,一种存储可由基于处理器的系统执行的计算机程序的非暂时性计算机可读介质包括用于从光栅器接收片段的程序指令,所述片段与低分辨率采样区相关联。所述实施方案还包括用于在多个先前帧上对所述片段应用时间超级采样以获得多个颜色值的程序指令。实施方案中还提供用于在缓冲器中重构与所述低分辨率采样区相关联的多个高分辨率像素的程序指令,所述多个高分辨率像素是基于经由所述时间超级采样获得的所述多个颜色值。另外,实施方案提供用于从所述缓冲器发送所述多个高分辨率像素以呈现在显示器上的程序指令。

通过以下结合附图的详细描述,本公开的其他方面将变得显而易见,所述附图通过示例的方式说明本公开的原理。

附图说明

通过参考以下结合附图的描述可以最好地理解本公开,在附图中:

图1A和图1B示出根据各种实施方案的向头戴式显示器(HMD)用户呈现具有两种分辨率的虚拟现实(VR)内容。

图2A和图2B示出根据某些实施方案的向HMD用户呈现VR内容,所述VR内容具有中央凹区、中间中央凹区和周边区。

图3A至图3H示出注视点渲染视图的各种实施方案。

图4示出根据某些实施方案的由相关联的相对像素大小的注视点渲染视图和展开视图所定义的多分辨率显示器或屏幕。

图5示出根据一些实施方案的由具有中央凹区、中间中央凹区和周边区的注视点渲染视图所定义的屏幕,以及用于在低分辨率周边区中重构较高分辨率像素的概念方案。

图6示出根据各种实施方案的用于使用时间超级采样以及在存储在缓冲器中的多个帧上进行的像素重新投影来从低分辨率采样区域重构一组较高分辨率像素的概念方案。

图7示出根据一个实施方案的使用高分辨率采样区输出高分辨率像素的概念方案。

图8示出根据一个实施方案的使用低分辨率采样区输出低分辨率像素的概念方案。

图9示出根据一个实施方案的通过时间超级采样使用低分辨率采样区为静态对象输出高分辨率像素的概念方案。

图10示出根据一个实施方案的通过时间超级采样使用低分辨率采样区为动态对象输出高分辨率像素的概念方案。

图11说明用于通过利用具有规则采样图案的时间超级采样来从用于采样的低分辨率像素中生成较高分辨率像素的概念模型。

图12说明用于通过利用具有准随机采样图案的时间超级采样来从用于采样的低分辨率像素中生成较高分辨率像素的概念模型。

图13A说明从在16个帧上进行时间超级采样期间使用的低分辨率采样区域重构一组16个高分辨率像素的实施方案。

图13B说明从在少于高分辨率像素的数量的多个帧上进行时间超级采样期间使用的低分辨率采样区重构一组16个高分辨率像素的实施方案。

图14说明方法的总体流程,所述方法使得能够使用通过在多个先前帧上进行时间超级采样而获得的颜色值来从低分辨率采样区重构较高分辨率像素。

图15说明可以与所提出的方法和/或系统一起使用的头戴式显示器(HMD)的额外实施方案。

图16是可用于实施本文描述的各种实施方案的计算系统1600的图式。

具体实施方式

以下实施方案描述用于通过对低分辨率采样区域进行时间超级采样来提高VR场景内与较低分辨率采样区相关联的区的最终显示分辨率的方法、计算机程序和设备。然而,对于本领域的技术人员显而易见的是,可以在没有这些具体细节中的一些或全部的情况下实践本公开。在其他情况下,未详细描述熟知的过程操作,以免不必要地模糊本公开。

由HMD提供的虚拟现实(VR)环境是消费者与内容交互以及内容创建者向消费者递送内容的一种越来越流行的媒介。此外,随着VR场景变得越来越复杂并以更高的分辨率显示,计算、内存和网络成本也随之增加。因此,对经由HMD显示的VR场景进行计算机图形渲染和抗混叠的当前方法的改进将在计算、内存和网络资源以及最终用户的VR体验方面有益。

一种降低本文描述的特定VR场景的计算、内存和网络成本(以及相关联的延迟)的方法是使用注视点渲染视图显示VR场景。根据一个实施方案,注视点渲染可以定义显示器内以比其他区域更高的分辨率、质量、细节水平、清晰度、帧速率等显示的区域。根据这些和其他实施方案,具有较高分辨率(或较高质量、细节水平、清晰度、帧速率)的区域可以被称为中央凹区或中央凹区,并且通常与用户正在注视或凝视的位置相关。另外,不具有较高分辨率水平的区域可以被称为周边区或周边区域,并且通常可以与用户未凝视的区域相关。因此,注视点渲染视图和/或系统表示一种这样的对技术问题的解决方案,所述解决方案能够降低与渲染VR场景相关联的计算、内存和网络成本,而不会对用户的体验造成负面影响。

对于以较低分辨率渲染的区(例如,周边区),相应地减少需要存储在存储器中以渲染所述低分辨率区域的像素和/或片段数据的量。例如,如果场景内给定区域的分辨率降低了4倍,则存储场景内所述区域的每个视频帧的像素数据所需的内存量将成比例地减少4倍。根据某些实施方案,以较低分辨率渲染的区(例如,周边区)也可以被称为欠采样区,因为这些区是以较低频率采样的。

如上文所提及,减少用于渲染给定场景的每个视频帧的内存量对于VR系统将是有益的,因为通常内存的速度无法与诸如中央处理单元(CPU)或图形处理单元(GPU)的处理器的速度保持同步。因此,通过减少内存使用并通过保持一致的存储器访问来降低与注视点渲染视图内的周边区相关联的分辨率将是对现有VR系统的一种改进。例如,从本文描述的注视点渲染系统得到的改进中的一种可以包括与渲染交互式VR场景相关联的延迟或滞后的改进,目前普通的HMD用户可以注意到这一点。

然而,随着给定计算机生成场景的分辨率降低,低分辨率相关联的伪影的频率和范围可能以锯齿状边缘或线条(“锯齿”)、像素化和其他视觉伪影的形式增加。即使这些低分辨率区仅限于注视点渲染视图内的周边区(例如,用户的周边视觉),由于这些区中分辨率的降低,HMD用户仍可能能够识别某些类型的混叠。在相关领域中已经知道,虽然人的周边视觉通常不易解析中央凹视觉,但是它对于检测某些类型的视觉不一致或图案是敏感的。例如,如果分辨率降低得足够低,则用户的周边视觉将能够检测到像素化区、锯齿状边缘、闪烁以及其他形式的混叠或图形伪像的存在或出现。因此,既需要通过在显示器的周边区中渲染相对较低的分辨率来保持较低的内存使用,又需要减少与注视点渲染系统和/或视图内的低分辨率区相关联的混叠。

本文描述的系统、方法和设备使得注视点渲染系统和/或视图能够保持与低分辨率区相关联的内存使用的减少,同时减少那些低分辨率区的像素化和混叠的程度。在一个实施方案中,一种系统或方法对低分辨率采样区使用时间超级采样,以在指定数量的过去帧上在低分辨率像素内的不同位置处进行采样,以创建较高分辨率像素用于显示。时间超级采样记录从多个时间分离的帧中采样的多个像素值。应注意,根据一些实施方案,单个缓冲器(例如,在视频RAM内)可被用来随着时间累积这些像素值。这些实施方案将具有不需要维护数据的多个缓冲器(帧)的优点。因此,将时间超级采样用于低分辨率采样区域(例如,欠采样区或周边区)提供了一种技术解决方案,可以实施所述技术解决方案来解决与低分辨率区域相关联的像素化和混叠问题,而无需大量增加例如内存使用。

对于一些实施方案,中央凹区相对于显示器可以是固定的或静态的。在这种实施方案中,中央凹区可以朝向屏幕或显示器的中心定位。在其他实施方案中,中央凹区可以相对于屏幕或显示器动态地定位。例如,在一些实施方案中,中央凹区可以被定义为以预定方式或通过软件编程在显示器或屏幕内移动。在其他实施方案中,动态中央凹区可以跟踪或跟随用户的凝视点(POG)或凝视方向。因此,显示器内对应于用户的POG的区域以比与离用户的POG较远的区域更高的质量、细节水平和/或清晰度渲染,而不必损害用户的视觉体验。

在一些实施方案中,就不存在中央凹区的位置而言,将通过注视点渲染将周边区限定在屏幕或显示器内。例如,如果中央凹区朝向显示器的中心定位,则周边区应占据显示器的朝向显示器的周边的其余部分(或其至少一部分)。如果中央凹区要移动到显示器的不同区,则周边区应填充显示器中当前不存在中央凹区的其余部分。

图1A和图1B示出在具有两个分辨率R1和R2的VR环境104内向HMD用户101呈现虚拟现实(VR)内容。根据图1A所示的实施方案,HMD用户101示出为具有基本上笔直向前导向的凝视102。也就是说,HMD用户101示出为在可以包括360个水平度的VR环境104内向前看。

根据图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的分辨率。

在图1A中还示出了周边区108。如上文所提及,根据一些实施方案,周边区108可以由注视点渲染方法或系统定义为显示器或视野内与中央凹区不重合的区。例如,周边区可以在中央凹区之外,或者可以围绕中央凹区,或者可以填充显示器的与中央凹区不相关联的剩余空间/像素。此外,可以通过较低的分辨率、质量、细节水平、清晰度、帧速率等来定义非注视点。

因此,根据某些实施方案,周边区108可以包括VR环境104的区,所述区向HMD用户101显示但不对应于如由HMD/计算装置103检测的HMD用户101的凝视102。因此,可以以与分辨率R1不同的分辨率R2向HMD用户101显示周边区108。

根据一些实施方案,对于给定的VR场景,分辨率R1可以高于R2。在这些实施方案中,中央凹区106可以被提供比周边区108更高的分辨率渲染,而不必损害HMD用户101的视觉体验。一般来说,人类视觉系统仅能够感知相对于人的凝视点与约5个水平度和约5个竖直度相关联的区内的更精细的细节。此视野区投影到视网膜内称为中央凹的区上。随着距用户的中心凝视方向或凝视点的角距离增大,视敏度会急剧下降(例如,感知精细细节的能力)。此生理现象在本文中称为聚焦(foveation)。

注视点渲染通过提供渲染、后渲染和/或图形处理以供显示的配置、格式和范式来利用聚焦的现象,其中一个或多个区(例如中央凹区)由与其他区相比更高的分辨率水平、更高的细节水平、更高的纹理水平和/或更高的清晰度水平来定义。根据一些实施方案,使中央凹区对应于用户当前正在观看或预测正在观看的显示器的区。在其他实施方案中,中央凹区可以以静态方式放置在用户将花费大量时间看向的显示器的中央区中。同时,如先前所提及,注视点渲染可以定义对应于用户不凝视或预测不凝视的显示器的区的周边区。

本文预期的实施方案使得能够使用注视点渲染显示配置以通过在与用户聚焦下的视野(例如,凝视的中心和投影到用户中央凹上的周围视野)相关联的显示器区内渲染和/或显示更高质量(例如,分辨率、细节水平(LOD)、清晰度、帧速率)的内容来利用聚焦的生理现象。另外,本文预期的实施方案能够在与用户的凝视的中心(例如,用户的周边视野)不相关联的显示器的区中显示具有较低质量的内容。因此,与以全质量或全分辨率渲染整个显示器或屏幕相比,可以渲染和/或处理给定场景的仅一部分,以在注视点渲染下以高质量或高分辨率显示。

注视点渲染的技术优势之一是能够降低与为整个显示器(例如,显示器上的每一像素)以全质量(例如,高分辨率、清晰度、细节水平、帧速率等)渲染和递送给定场景相关联的计算和视频传输成本。在有线系统(例如,高清多媒体接口(HMD)和/或显示端口实施方案)和无线系统两者的情况下,存在视频传输成本。通过以高分辨率和/或质量渲染整个显示器的一部分(例如,20至50%、5至75%、25至40%),可以减少计算资源(例如,GPU、CPU、云计算资源)和视频传输资源(例如,向HMD和从HMD传输数据、从计算装置传输数据,和/或从组合的HMD/计算装置向远程服务器传输数据),并将其分配用于其他用途。

根据另一实施方案,即使与HMD/计算装置相关联的GPU计算了给定场景的全分辨率视频帧,注视点渲染方法和/或系统也可以使得能够减少在HMD上显示所述场景所需的数据量。例如,如果GPU与无线连接到HMD的计算装置相关联,则本文描述的注视点渲染方法和/或系统可以使得能够减少从计算装置传输到HMD的用于呈现场景的某些区的无线数据的量。

根据图1A所示的实施方案,中央凹区106表示总显示或可视区域的约30%。尽管为了清楚起见,中央凹区106在形状上是矩形的,但是应注意,在不脱离实施方案的精神和范围的情况下,中央凹区106可以采取任何数量的形状。下文参考图3A至图3F描述一些预期的实施方案。此外,尽管中央凹区106示出为表示总可显示或可视区域的30%,但是在其他实施方案中,中央凹区106的范围可为总可显示或可视区域的5%至75%。

在一个实施方案中,可以预期,在VR场景的至少某个时期内,周边区108可以具有小于中央凹区106的分辨率R1的分辨率R2。例如,如果R1等于1920x1080像素(例如,1080p),则R2可以等于960x540像素(例如,540p),或者大约是竖直像素的数量的一半和水平像素的数量的一半。因此,具有1080(p)的分辨率R1的中央凹区106可以与等于约2.074兆像素的图像分辨率相关联。相比之下,具有540(p)的分辨率R2的周边区108可以与等于约0.518兆像素的图像分辨率相关联,这表明图像分辨率相对于分辨率R1的差约为0.25倍。

根据另一实施方案,可以预期,中央凹区106可以与3840x2160p(4K UHD)的分辨率R1相关联,而周边区108可以与小于4K UHD的分辨率R2(例如1080(p)、540(p)、360(p)、240(p)等)相关联。根据本文呈现的方法和系统,在其他实施方案中可以使用任何数量的其他分辨率。作为非限制性示例,可以预期,中央凹区106可以具有由以下分辨率表征的分辨率R1:2160x1200(或每只眼1080x1200)、1280x720(HD)、1600x900(HD+)、1920x1080(FHD)、2560x1440((W)QHD)、3200x1800(QHD+)、3840x2160(4K UHD)、5120x2880(5K UHD+)、7680x4320(8K UHD)、16K等。本文讨论的示例解决方案不是限定性的或穷举性的,而仅仅是意图提供对可以在某些实施方案中实施的某些标准的说明。

根据一些实施方案,分辨率R2可以由小于R1的任何分辨率表征。作为非限制性示例,R2可以由以下分辨率表征:320x240(240p)、640x360(nHD,360p)、960x540(qHD,540p)、1280x720(HD,720p)、1600x900(HD+)等。可以预期,依据各种实施方案,R1和R2可以在整个VR场景的过程中和/或在不同的VR场景之间改变。此外,所讨论的分辨率仅意图是示例,并且不限制可以在各种实施方案中实施的各种其他分辨率,无论是否标准化。

图1B说明HMD用户101将他的凝视110朝向VR环境104内的周边区114的左上角导向。根据一些实施方案,凝视110由HMD/计算装置103检测,接着使得所述HMD/计算装置能够在VR环境内在对应于凝视110的位置处提供中央凹区112。也就是说,凝视110由HMD/计算装置103实时跟踪,并且因此,HMD计算装置103能够确定在何处聚集VR环境,使得中央凹区112处于和与凝视110相关联的凝视中心相同的方向上。因此,在图1A的中央凹区106的位置到与图1B的中央凹区112相关联的新位置之间存在过渡,所述新位置自然地跟踪或追踪图1A的凝视102与图1B的凝视110之间的改变。

尽管已示出某些实施方案具有跟踪用户的凝视方向的动态中央凹区,但是其他实施方案可以包括不跟踪用户的凝视方向的固定中央凹区。

图2A示出在具有中央凹区204、中间中央凹区206和周边区208的VR环境210内向HMD用户101呈现VR内容。可以预期,一些实施方案可以具有中央凹区204,所述中央凹区的分辨率R1大于中间中央凹区206的分辨率R2。此外,根据一些实施方案,可以预期分辨率R2将大于周边区208的分辨率R3。同时,类似于图1A和图1B所示的实施方案,在图2A中示出中央凹区204,以占据VR环境210内与HMD用户101的瞬时凝视202一致的区。然而,如先前所提及,其他实施方案可以实施注视点渲染,其中中央凹区204和中间中央凹区206相对于显示区域固定,并且不需要跟踪用户的凝视方向。

根据图2A所示的实施方案,中间中央凹区206通常围绕VR环境210内的中央凹区204所占据的区。因此,中间中央凹区206可以与VR环境210内的区重合,所述区与距中心凝视约5°至约60°的角距离(偏心度)相关联。视野中与此空间相关联的视敏度(例如,中间中央凹区)小于中央凹区的视敏度,但可能仍大于周边区的视敏度(相对于凝视方向的中心具有大于约60°的偏心度)。因此,使得本文所述的方法和系统能够提供中间中央凹区206,所述中间中央凹区的分辨率在中央凹区204与周围区208的分辨率之间。

根据一个实施方案,中央凹区204可以具有由1080p表征的分辨率R1,而中间中央凹区206可以具有由720p表征的分辨率R2,并且周边区208可以由540p表征。这些分辨率仅是示例,并且设想,中央凹区204可以具有更高的分辨率,例如4K、8K、16K等。在这些其他实施方案中,中间中央凹区206的分辨率可小于中央凹区204的分辨率,而周边区208的分辨率将小于中间中央凹区206的分辨率。

还可以预期,中间中央凹区206将占据VR环境210内在中央凹区204与周边区208之间的空间。还可以预期,中间中央凹区206和周边区208跟踪或跟随HMD用户101的凝视202,或者跟踪或跟随VR环境210内的中央凹区204。也就是说,中间中央凹区204和周边区208还能够在VR环境210内移位,以便与或看起来与中央凹区204实时地移动。

图2B示出HMD用户101已经从在图2A中基本上笔直向前导向的凝视202改变为指向VR环境210的左上角的凝视203。根据一些实施方案,凝视203由HMD/计算系统103经由凝视检测来跟踪,并且因此,使得HMD/计算系统103能够在与凝视203所指向的方向类似的方向上定位中央凹区212。还使得HMD/计算系统103能够在VR环境210内围绕中央凹区212占据的区的位置处提供中间中央凹区214。

如上文所述,中央凹区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场景之间改变。

图3A至图3H示出注视点渲染视图的各种实施方案。例如,图3A说明具有由圆形边界表征的中央凹区的注视点渲染显示。图3B说明可与本文所描述的方法和系统一起使用的具有由椭圆形、长椭圆形或卵形表征的中央凹区的注视点渲染视图。另外,图3C示出注视点渲染配置的实施方案,其中中央凹区示出为具有圆角的矩形形状。

图3D和图3E说明具有圆形的中央凹区的注视点渲染视图的实施方案。图3D另外示出中间中央凹区,所述中间中央凹区也具有圆形形状,位于在中央凹区与周边区之间的中央凹区之外。此外,图3E说明以嵌套方式布置的两个中间中央凹区。可以预期,通常,在各种实施方案中可以利用任何数量的中间中央凹区,其中离中央凹区越来越远的每个相继的中间中央凹区具有与其相关联的逐渐降低的质量(例如,分辨率、清晰度、细节水平、帧速率、刷新率)。还可以预期,尽管中间区示出为与注视点渲染显示内的给定中央凹区具有类似的形状,但是在其他实施方案中不需要这种类似性。例如,图3D和图3E的中间区可以以不同于圆形的形状来表征。

图3F示出具有由框界定的动态中央凹区的注视点渲染视图和/或显示器的实施方案。在这些和其他实施方案中,中央凹区可以跟踪用户的凝视,使得中央凹区示出在与HMD用户的凝视方向一致的显示器和/或视图的区域内,只要用户的凝视保持在由边界框表征的某一区域内即可。因此,中央凹区可以向上跟踪用户的凝视,直到凝视移动到边界框之外。根据一些实施方案,中央凹区仍可以通过移位到边界框内被确定为比其他位置更靠近凝视的位置来尝试跟踪在边界框之外的凝视。当然,图3A至图3F中所示的几何形状和形状意图是示例性的而非限制性的。例如,根据本文所描述的方法和系统,可以使用任何数量的其他形状或边界(包括正方形、梯形、菱形和其他多边形)来定义中央凹区和/或中间中央凹区。

一般来说,图3A至图3E中所示的实施方案中的每一个可以具有相对于显示器和/或视图‘固定’或者当观看相应的注视点渲染视图和/或显示器时动态跟踪用户的凝视的中央凹区。例如,对于某些类型的VR内容,可能的情况是:预计HMD用户将直接观看大部分VR会话。因此,某些实施方案可以使用相对于VR环境的显示和/或视图固定的注视点渲染视图和/或显示。

图3G说明根据本文描述的方法和系统使用注视点渲染产生的VR场景300。注视点渲染产生中央凹区302和多个中间中央凹区304至310。在图3G中,中间中央凹区304至310的数量是任意的,随着中间中央凹区的显示距离中央凹区越来越远,每个中间中央凹区的分辨率逐渐降低。例如,中间中央凹区306可以包括1到100个额外中间中央凹区之间的任何位置。

图3H描述显示区的分辨率与区距中央凹区或凝视点的距离之间的各种示例性关系。例如,曲线312可以描述仅具有中央凹区和周边区的注视点渲染显示。曲线314描述在分辨率与远离中央凹区的距离之间具有抛物线关系的注视点渲染显示。曲线316描述随着距中央凹区的距离增加而分辨率降低的阶跃函数。此外,曲线318和320描述分辨率与距中央凹区的距离之间的线性和S形关系。因此,当进一步从中央凹区中移除每个中间中央凹区时,本文预期的注视点渲染系统能够渲染具有各种分辨率的任何数量的中间中央凹区。

图4示出根据某些实施方案的由相关联的相对像素大小的注视点渲染视图400和展开视图408所定义的显示器或屏幕。例如,注视点渲染视图400示出为包括具有分辨率R1的中央凹区402、具有分辨率R2的中间中央凹区404和具有分辨率R3的周边区406。可以预期,区402、404和406中的每一个的分辨率通常将具有以下关系:R1>R2>R3,但是其他关系也是可能的。

三个区402至406的展开图408示出为包括中央凹区像素410、中间中央凹区像素412和周边区像素410的相对像素大小。如上文所提及,中央凹区402的分辨率R1可以大于中间区404的分辨率R2,并且因此,中央凹区像素410的大小应小于中间中央凹区像素412的大小。在图4的实施方案中,仅作为一个示例,中间区像素412示出为在大小上是区像素410的约4倍。也就是说,中间中央凹区像素412可以占据或填充或映射到与4个中央凹区像素410相同量的屏幕/显示区域。因此,例如,如果中央凹区像素410对应于原始分辨率像素,则中间区像素412中的每一个可以与4个原始像素相关联。

根据一些实施方案,即使中间区像素412可以包括多于一个(例如,4,或9,或16,或任何其他数量)原始/物理像素或与之相关联,中间区像素412仍可以被称为一个(较低分辨率)像素,这是因为在至少部分渲染过程中,图形流水线将其视为单个像素。例如,VR系统的图形流水线可以为每个渲染帧的像素412仅存储一个颜色值。当VR系统随后继续显示像素412时,其接着可以将为像素412存储的颜色值映射或投影到4个原始像素中的每一个。因此,“低分辨率像素”或“大像素”在本文中可以用来指用于最终视图的元素,所述元素通过与每个渲染帧的仅一个颜色值相关联而被视为单个像素(例如,通过图形流水线),但最终会映射到或投影到显示器(与HMD相关联)上的多于一个原始或物理像素上。

由图4进一步描绘的是周边像素414,其分辨率示出为甚至低于中间像素412。例如,周边像素414示出为是中间像素412的大小的4倍并且是中央凹像素410的大小的16倍。因此,周边像素414可以包括16个原始像素,并且还可以被认为是低分辨率像素或大像素,这是因为中央凹像素414被视为单个像素,所述单个像素每帧仅存储一个颜色值,同时还投影到多于一个像素上。

图5示出由具有中央凹区和周边区的注视点渲染视图所定义的代表显示器500。中央凹区示出为包括可以对应于显示器500的原始像素的代表像素502的阵列的阵列。周边区示出为包括例如可以分别与4个原始像素相关联的低分辨率像素阵列504。根据所示实施方案,帧N的高分辨率像素506a、506b、506c和506d中的每一个是从存储在帧N的时间缓冲器510中的对应像素数据508a、508b、508c和508d中提取的。

本文描述的实施方案的某些方面允许通过从存储在时间缓冲器中的低分辨率像素数据中提取与较低分辨率像素相关联的像素,来以较高分辨率渲染“低分辨率”像素。例如,低分辨率像素512示出为包括原始像素514a、514b、514c和514d,其中每一个均从针对不同帧存储的低分辨率像素值提取。确切地说,原始像素514a是从像素数据516a中提取的,所述像素数据是在帧N处的低分辨率像素512的像素值,所述像素值是通过在低分辨率像素的左上角进行抖动和采样而获得的。

原始像素514b示出为从像素数据516b提取,所述像素数据包括相同的低分辨率像素512的像素值,但来自先前帧(N-1)和不同的抖动位置(例如,右上角)。此外,原始像素514c是从像素数据516c中提取的,所述像素数据包括从帧N-2和从不同的抖动位置(例如,左下角)获得的像素值。此外,原始像素514b示出为是从像素数据516d中提取的,所述像素数据包括在右下抖动位置处的帧N-3的采样像素值。

因此,可以通过根据时间缓冲器中存储的像素数据516a至516d为已进行相应抖动的先前帧提取原始像素514a至514d而不必增加每个帧存储需要的像素值的数量来实现对低分辨率像素512的较高分辨率显示输出。例如,对于低分辨率像素512,仅为帧N、N-1、N-2和N-3中的每一个存储一个颜色值。相比之下,单独为帧N的高分辨率像素506a至506d组存储4个像素值(帧N-1、N-2和N-3中的每一个的像素大概还有4个像素值,依此类推)。

也就是说,对于4个高分辨率像素506a至506d组,每帧所需的像素值的数量是4个像素值。相比之下,与低分辨率像素512相关联的4个像素514a至514d组,虽然具有与高分辨率像素506a至506d组“相同的分辨率”,但是时间缓冲区中的每个帧仅需要存储一个像素值或颜色。因此,本文描述的实施方案使得能够在低分辨率像素区中显示和/或构建较高分辨率像素,而无需增加每帧存储在时间缓冲器510中的像素值的数量(例如,而无需增加内存使用)。根据一些实施方案,从存储在时间缓冲器中的时间定义的低分辨率像素数据中提取原始像素514a至514d的过程可以利用时间超级采样来采样低分辨率像素的不同位置。

图6示出根据各种实施方案的用于使用对低分辨率像素600的时间超级采样601以及从低分辨率像素600的时间超级采样历史的像素重新投影来从低分辨率像素600创建一组较高分辨率像素的概念方案。例如,低分辨率像素600示出为被划分为对应于4个高分辨率像素的4个区。在对象602的时间超级采样601期间,低分辨率像素600示出为针对四个帧N、N-1、N-2和N-3中的每一个在不同的位置被采样。为了清楚起见,在所示实施方案中,采样位置恰好在低分辨率像素600的每个格子区的中心。

根据各种实施方案,对象602的采样像素604具有在针对帧N的低分辨率像素600的左上区内的采样位置,所述采样像素返回存储在存储器中并且随后被投影到对应的高分辨率像素612的像素值。因此,根据所示的实施方案,对象602的采样像素604可以返回对应于背景颜色(例如,白色)的像素值。同样,帧N-1的采样像素606可以返回对应于对象602的颜色的颜色值。因此,相关联的图形流水线可以将采样的颜色值(例如,如图所示的灰色)投影到右上角高分辨率像素614。可以对帧N-2和N-3重复相同的处理过程,其中使采样像素608将相应的采样颜色值投影到左下角高分辨率像素616,并且使采样像素610将相应的采样颜色值投影到右下角高分辨率像素618。

根据某些实施方案,通过具有关于抖动的采样位置以及采样位置的对应屏幕坐标或像素坐标的信息来实现从采样像素604至610的采样像素值的投影。例如,与本文描述的实施方案兼容的VR系统的图形流水线可以基于关于抖动的信息以及关于给定样本位置的对应屏幕坐标或像素坐标的信息来确定将相应采样颜色值投影到何处。

在一个实施方案中,时间抗混叠重新投影可用于执行图6所示的重新投影。例如,在一些实施方案中,可以使用以下示例性方程式:

世界位置=当前视图投影倒数*屏幕位置 (1)

先前屏幕位置=先前视图投影*世界位置 (2)

uv=1/2*(先前屏幕位置.xy/先前屏幕位置.w)+1/2 (3)

根据某些实施方案,以上方程式(1)至(3)可以用于对存储在时间缓冲器中的先前帧进行采样。例如,方程式(1)可以将当前像素映射回世界空间。方程式(2)使用先前帧的摄像机(视图投影矩阵)将所述位置投影到先前帧上,并且方程式(3)将先前屏幕位置转换为uv坐标,所述uv坐标可用于在时间缓冲区中对先前帧进行采样。因此,相关联的图形流水线将知道对先前帧(例如,帧N-1、N-2、N-3等)进行采样的位置。例如,图6中所示的虚线可以使用用于确定将对每个先前帧进行采样的位置的导出uv坐标来表示重新投影。确切地说,重新投影620可分别导致帧N和N-1的采样像素604与606之间的采样位置改变(例如,x中的0.5像素)。同样,重新投影622和624会导致uv坐标发生抖动,从而改变采样像素606与608之间的采样位置(例如,x中的-0.5像素和y中的-0.5像素)以及采样像素608与610之间的采样位置(例如,x中的+0.5像素)。根据一些实施方案,可以通过抖动来定义采样位置。

图7示出根据一个实施方案的使用高分辨率像素704组用于在多个帧700上对对象702进行采样706来输出一组四个高分辨率像素712的概念方案。在所示的实施方案中,存在在多个帧700(例如,N、N-1、……、N-7)上保持静态的对象702。高分辨率像素704组示出为在对应于用于对对象702进行采样706的高分辨率像素704中的每一个的中心的位置处进行采样。在采样706期间采样位置中的每一个会产生存储在存储器中的颜色值。例如,由于在采样706期间高分辨率像素704中的每一个中都存在采样位置,因此每帧高分辨率像素704组将存在4个存储的颜色值708。

图7中还示出多个帧700中的每一个的四个高分辨率像素704中的每一个的采样颜色值710。为了清楚起见,对象702可以对应于黑色,并且因此,四个高分辨率像素704中的两个的采样颜色值710可以返回黑色的颜色值。其余两个高分辨率像素可以返回对应于白色的颜色值。所得的颜色输出/渲染图像712将反映用于高分辨率像素704组的采样颜色值710,并且可以对应地显示在头戴式显示器(HMD)内相关联的屏幕上。根据一些实施方案,用于高分辨率像素704组的颜色输出712可以对应于原始像素并且被映射到显示器的中央凹区。

图8示出在多个帧800上使用低分辨率像素804渲染对象802的概念方案。对象802示出为在多个帧800上是静态的。低分辨率像素804示出为是图8中高分辨率像素的大小的约4倍。例如,如果高分辨率像素704中的每一个对应于HMD的显示器的原始像素,则低分辨率像素804可以包括4个原始像素。

在采样806期间,低分辨率像素804示出为在每个帧处在低分辨率像素804的中心处被采样,并且导致每帧存储1个颜色值808。整个低分辨率像素804的采样颜色值810(例如,黑色)示出为使用低分辨率像素804从对象802的采样806中得出。多个帧800的输出颜色/渲染图像812示出为反映采样颜色值810。例如,输出颜色/渲染图像812示出为是包括一种黑色的‘大像素’。根据一些实施方案,输出颜色/渲染图像812可以被映射到与较低分辨率相关联的HMD显示器的周边区。

图9示出使用低分辨率像素904的时间超级采样906和重新投影912来实现相对于低分辨率像素904具有较高分辨率的颜色输出/渲染图像914的概念方案。类似于图7和图8,对象902示出为在多个帧900(帧N、N-1、……、N-7)上是静态的。同时,类似于图8的低分辨率像素804,低分辨率像素904示出为用于渲染对象902。然而,不同于图8中使用的对每个帧的低分辨率像素804的中心进行采样的采样806,图9中所说明的时间超级采样906示出为在多个帧900的4个帧的周期内在每个帧的不同位置进行采样。

例如,时间超级采样906可以指示采样的低分辨率像素916a具有朝向帧N-7的低分辨率像素904的左上角的采样位置。对于下一帧N-6,时间超级采样906可以定义在采样的低分辨率像素918a的右上象限中的采样位置。对于后续帧N-5和N-4,采样位置示出为分别在采样的低分辨率像素920a的左下象限和采样的低分辨率像素922a的右下象限。所说明的采样位置的图案示出为在后续N-3至N的4个帧上针对采样的低分辨率像素924a至930a重复。

应注意,根据所示的实施方案,对采样的低分辨率像素916a至930a中的每一个的时间超级采样906导致多个帧900中的每一个仅存储1个颜色值908。这与图7中示出的使用高分辨率像素704进行采样的所存储的颜色值708的数量(例如,4个)形成对比。

图9中还示出由时间超级采样906产生的帧N-7至N的采样颜色和位置910。采样颜色和位置数据916b至930b中的每一个在概念上表示由相关联的图形流水线存储到存储器中的内容,包括颜色值(例如,黑色或白色)和对应的位置(例如,屏幕坐标)。因此,例如,采样颜色和位置数据930b可以包括对应于白色的颜色值和对应于低分辨率像素904所映射的四个较高分辨率像素(例如,原始像素)组的右下像素相的屏幕坐标数据。另外,采样颜色和位置数据928b包括对应于黑色的颜色值和对应于低分辨率像素904所映射的高分辨率像素组的左下像素的屏幕坐标数据。以类似的方式,采样颜色和位置数据926b和924b可以分别包括对应于黑色和白色的颜色值,以及分别对应于低分辨率像素904在屏幕或显示器上所映射的高分辨率像素组的右上像素和左上像素的屏幕坐标数据。

根据所示的实施方案,颜色输出/渲染图像914是由采样颜色和位置910在4个帧的窗口上的重新投影912引起的。例如,存在帧N的渲染图像932,其包括一组4个高分辨率像素,所述像素分别从帧N、N-1、N-2和N-3的采样颜色和位置数据930b、928b、926b和924b‘构建’。确切地说,通过将存储在采样颜色和位置数据930b中的颜色值映射到渲染图像932中的右下像素,使相关联的图形流水线能够构建高分辨率渲染图像932。同样,存储在采样颜色和位置数据928b、926b和924b中的颜色值分别映射到左下像素、右上像素和左上像素。因此,在无需如图7所示的渲染过程那样为每个帧存储四个颜色值情况下,实现类似于图7的颜色输出/渲染图像712的高分辨率渲染图像932(使用高分辨率像素进行采样)。

示出类似的重新投影912以引起渲染图像934至940中的每一个。例如,帧N-4的渲染图像940示出为从采样颜色和位置数据916b至922b构建或重新投影。尽管出于说明性目的,图9的每个渲染图像932至940示出为基于4个帧,但是应注意,使用时间超级采样来渲染给定对象可以扩展到任何数量的先前帧。此外,尽管图9的渲染图像932至940中的每一个是基于一个当前帧和3个先前帧,但这不是必需的。例如,在某些其他实施方案中,可以分别基于帧N-1、N-2、N-3和N-4的采样颜色和位置数据928b、926b、924b和922b构建或重新投影渲染图像932。因此,所说明的渲染图像932至940的相依性意味着是示例性的而非限制性的。

根据一些实施方案,时间超级采样906中所示的采样位置可以通过重新投影912确定。也就是说,可以从当前帧的屏幕坐标(例如,帧N的右下像素)确定先前帧(例如,帧N-1)的采样位置。如图9所示,从当前帧的屏幕坐标进行重新投影可以确定采样的低分辨率像素928a中示出的采样位置,所述采样位置恰好在低分辨率像素904的左下象限中并映射到颜色输出/渲染图像914的左下高分辨率像素。应注意,尽管为了清楚起见在图9中示出规则的采样网格图案,但是对于不同的实施方案,采样图案的细节(诸如每帧周期的位置和唯一位置)可以不同。

应注意,与图8所示的需要类似内存使用的渲染(例如,每个低分辨率像素的每帧1个存储的颜色值)相比,图9所示的使用时间超级采样906和像素重新投影912的渲染使得能够具有较高分辨率的颜色输出/渲染图像914。通过比较由使用时间超级采样906的渲染过程产生的颜色输出/渲染图像914与不使用所述时间超级采样的渲染过程产生的颜色输出/渲染图像944,这是显而易见的。

因此,本文描述的实施方案通过提高分辨率而不增加内存使用(例如,每帧每像素存储的颜色值的数量)来实现改善VR系统的功能的技术益处。分辨率的提高还减少与注视点渲染系统的低分辨率区相关联的混叠,这可以提高观看者的整体体验质量。例如,如果对由多个低分辨率像素904组成的整个区执行图9中所示的渲染过程,则关于整体分辨率、图片质量、细节水平、清晰度和抗混叠的改善可能甚至比图9中示出的更突出。

图10示出根据一个实施方案的使用时间超级采样1006的渲染过程的概念方案,所述时间超级采样使得能够从用于在多个帧1000上对动态对象1002进行采样的低分辨率像素1004输出用于渲染图像1014的较高分辨率像素。类似于图9的渲染过程,低分辨率像素1004在每个4帧的窗口的不同位置处进行采样。根据一些实施方案,时间超级采样1006中所示的采样位置可以通过重新投影1012确定,这样可以计算用于对先前帧进行采样的抖动。另外,类似于图9的渲染过程,图10所示的渲染过程仅在每帧存储的颜色和位置1010中为低分辨率像素1006存储一个颜色值。

所得的渲染图像1014示出为是上渲染图像1016上的改进,所述改进在未使用时间超级采样的情况下在分辨率、细节水平和混叠方面执行。

图11示出根据一个实施方案的用于通过利用时间超级采样1106与重新投影1110和混合1111从用于采样的低分辨率像素1104生成与渲染图像1112相关联的较高分辨率像素的概念模型。对象1102示出为在12个帧(例如,帧N-11、N-10、……、N)的周期内在y中移动。在对应于采样图案1114的每帧低分辨率像素1104内的一个位置处对对象1102进行时间超级采样1106。如先前所提及,可以预期,时间超级采样1106中所示的采样位置可以通过重新投影1110确定或定义。

根据所示的实施方案,时间超级采样1106导致在概念上和视觉上由存储的颜色和位置1108表示的每帧单个颜色值。根据一些实施方案,尽管时间超级采样1106可以导致存储的颜色值,但是可以通过重新投影1110来提供在存储的颜色位置1108中的每一个中示出的位置分量。例如,由于重新投影1110可以为先前帧提供下一采样位置,因此重新投影1110还将在屏幕坐标上具有对应于所述下一采样位置的信息。例如,重新投影1110可以从帧N的所存储的颜色和位置数据1126中确定下一采样位置将在x中移动-0.5像素,以便对先前帧N-1的左下象限进行采样。因此,重新投影1110将具有关于帧N-1的下一采样位置的屏幕坐标的信息。

根据所示的实施方案,渲染图像1116至1124中的每一个示出为是基于一个相应当前帧和7个先前帧的重新投影1110和混合1111的结果。对于某些实施方案,混合1111由相关联的图形流水线的像素着色器执行。例如,渲染图像1116示出为是基于帧N至N-7的颜色值1126至1140。然而,由于存在映射到渲染图像1116的4个高分辨率像素1116a至1116d的8个颜色值1126至1140,因此关于存储的颜色值映射到的高分辨率像素,存储的颜色值存在冗余。例如,颜色值1130(白色)和颜色值1138(黑色)均映射到高分辨率像素1116c。根据某些实施方案,混合1111可以基于两个颜色值1130和1138计算高分辨率像素1116c的最终颜色。根据所示的实施方案,高分辨率像素1116c的最终颜色是灰色阴影,表示介于中间的颜色或颜色值1130和1138的混合。

在某些实施方案中,颜色值1130和1138的平均值可以由像素着色器在混合1111期间计算出,并且用作高分辨率像素1116c的最终颜色值。在其他实施方案中,不同的颜色值可以对最终的颜色值的贡献不同,即。例如,根据某些实施方案,可以使用指数函数来描述关于时间或帧数的给定像素值对最终颜色值的贡献。例如,与较新的帧相关联的颜色值比与较晚的帧相关联的颜色值具有(指数上)更大的权重。因此,根据图11中所示的实施方案,高分辨率像素1116c可以具有与接近颜色值1138相比更接近颜色值1130的最终颜色值,因为颜色值1130与更新的帧(例如,帧N-2)相关联,而颜色值与为先前4个帧的帧(例如,帧N-6)相关联。

根据所示的实施方案,高分辨率像素1116a具有从颜色值1126和1134映射的最终颜色值。然而,由于颜色值1126与最近的帧(例如,帧N)相关联,因此颜色值1126与比颜色值1134更大的权重相关联。因此,与接近颜色值1134相比,高分辨率像素1116a的最终颜色在颜色上更接近颜色值1126。图11中还示出分别从颜色值1128和1136以及颜色值1132和1140映射的高分辨率像素1116b和1116d。根据所示的实施方案,不需要混合来计算高分辨率像素1116b和1116d中的任一个的最终颜色值,因为分别在颜色值1128和1136或颜色值1132和1140之间没有变化。

在图11中还示出渲染图像1118、1120、1122和1124,它们中的每一个都是由来自8个帧的颜色值构建的。应注意,存在帧N-1处的渲染图像1118的高分辨率像素1118a,所述高分辨率像素具有与N-1处的渲染图像1116的高分辨率像素1116c相同的屏幕坐标。高分辨率像素1118a和1116c均示出为从颜色值1130和1138构建,但示出为以不同方式着色。例如,高分辨率像素1118a示出为以浅灰色阴影着色,而高分辨率像素1116c示出为以深灰色阴影着色。根据某些实施方案,高分辨率像素1118a可以与为较浅的灰色阴影的最终颜色值相关联,因为与相对于渲染图像1116(当前帧之前2个帧)相比,颜色值1130(例如,白色)相对于渲染图像1118(当前帧之前的1个帧)与更新的帧相关联。因此,颜色值1130由于其相对新近性而对高分辨率像素1118a的最终颜色的贡献大于对高分辨率像素1116c的最终颜色的贡献。

根据所示实施方案,渲染图像1120还具有与高分辨率像素1118a和1116c共享屏幕坐标的高分辨率像素1120a。另外,高分辨率像素1120a示出为从与高分辨率像素1118a和1116c两者均相同的颜色值1130和1138构建。然而,由于颜色值1130示出为与相对于渲染图像1120的最新帧相关联,因此根据一些实施方案,相比于相对于高分辨率像素1118或1116中的任一个,颜色值1130可以相对于高分辨率像素1120a与更大的权重相关联,以进行着色。

图12说明用于从具有准随机抖动采样图案1214的时间超级采样1206期间使用的低分辨率像素1204生成与渲染图像1212相关联的较高分辨率像素的概念模型。在所示的实施方案中,根据采样图案1214,在每帧不同位置的低分辨率像素1204内对动态对象1202进行采样。采样图案1214示出为包括每8帧重复一次的8个采样位置,尽管对于其他实施方案来说不必如此。例如,在其他实施方案中,采样位置不需要重复或循环。

此外,采样位置示出为在低分辨率像素1204的4个象限中不均匀分布。例如,右上子像素示出为在8个帧的窗口的3个位置处被采样,而左下子像素示出为仅在1个位置处被采样。在低分辨率像素1204内存在用于采样的数量算法,其中一些算法可以使采样位置的聚集或不均匀分布的发生最小化。因此,本文示出的采样图案和/或算法是说明性的,而不是限制性的,因为存在任何数量的超级采样图案,所述超级采样图案可以在不背离实施方案的精神或范围的情况下结合本文描述的实施方案使用。此外,尽管用于构建高分辨率渲染图像的时间超级采样实施方案示出为基于一个当前帧和7个先前帧,但是可以存在任何数量的帧,依据各种实施方案,可以使用时间超级采样和重新投影从所述帧构建高分辨率渲染图像。此外,尽管示出渲染图像是从与当前帧相关联的像素值构建的,但是其他实施方案可以使得最新的渲染图像不必从与最新帧相关联的像素值映射。

图13A说明从在16个帧上进行时间超级采样1300期间使用的低分辨率采样区域1301重构一组16个高分辨率像素1304的实施方案。根据所示的实施方案,低分辨率采样区域1301映射到一组16个高分辨率像素1304。使得实施方案能够经由对应于16个高分辨率像素1304中的每一个的16个子像素区的时间超级采样1300来获得高分辨率像素1304中的每一个的颜色值。例如,可以针对所示的16个帧中的每一个对不同的子像素区进行采样,从而导致每帧仅存储一个颜色值,如存储的颜色和位置1302所示。如先前所提及,用于时间超级采样1300的采样图案可能涉及抖动并且可以通过重新投影来确定(其在上文已更详细地描述)。因此,本文讨论的优点和实施方式不限于重构4个像素,而是可以扩展到从较低分辨率采样区重构任何数量的较高分辨率像素。

图13B说明从在少于高分辨率像素1316的数量的许多帧上进行时间超级采样1306期间使用的低分辨率采样区1308重构一组16个高分辨率像素1316的实施方案。例如,时间超级采样1306示出为仅在8个帧上发生,从而导致相同数量的颜色值1310。在重构期间,相关联的像素着色器或计算着色器尝试用颜色值1310及其相关联的位置“填充”(例如,绘制、着色、上色)高分辨率像素网格1312。例如,高分辨率像素网格1312的16个像素中的8个与存储的像素值相关联。接着可以使用最近邻方法、历史颜色数据、两者的组合或其他方式对其余未着色像素进行混合1314,以提供由16个高分辨率像素组成的渲染图像1316。因此,即使时间超级采样的过程涉及对比高分辨率像素的数量更少的帧进行采样,也可以针对特定数量的高分辨率像素实施本文描述的实施方案的原理和优点。例如,本文预期的实施方案可以应用时间超级采样。

应注意,在提到像素着色器的情况下,对于一些实施方案,还意味着要引用计算着色器。此外,尽管例如在图13A和图13B中示出示例性采样图案,但是应注意,可以利用本文描述的实施方案来实施任何数量的采样图案。

图14说明方法的总体流程,所述方法使得能够使用通过在多个先前帧上进行时间超级采样而获得的颜色值来从低分辨率采样区重构较高分辨率像素。所体现的方法包括用于从相关联的图形流水线的光栅器接收片段的操作1410,和用于在存储在缓冲器(诸如帧缓冲器)中的多个先前帧上对使用较低分辨率采样区的片段应用时间超级采样的操作1420。如上文所论述,时间超级采样可以基于像素重新投影和/或抖动来对较低分辨率采样区内的不同位置进行采样。此外,如上文所描述,依据各种实施方案,被采样的先前帧的数量可以在数量上变化。

接着,图14中所示的方法进行到操作1430,所述操作用于使用经由时间超级采样获得的颜色值来重构与较低分辨率采样区相关联的较高分辨率像素。根据某些实施方案,重构可以在最终缓冲器(诸如显示缓冲器)中发生,所述最终缓冲器可以以实际像素位置(例如,物理像素)可寻址的方式存储经由时间超级采样获得的颜色值。接着,图14的方法进行到操作1440,所述操作用于发送重构的高分辨率像素以用于显示(例如,在头戴式显示器上)。

图15说明可以与所提出的方法和/或系统一起使用的HMD 1500的额外实施方案。HMD 1500包括硬件,诸如凝视检测器1502、处理器1504、电池1506、虚拟现实生成器1508、按钮、传感器、开关1510、声音定位装置1512、显示器1514和存储器1516。HMD 1500还示出为包括位置模块1528,所述位置模块包括磁力计1518、加速度计1520、陀螺仪1522、GPS 1524和指南针1526。HMD 1500上还包括扬声器1530、麦克风1532、LED 1534、用于视觉辨识的对象1536、IR灯1538、前置摄像机1540、后置摄像机1542、凝视跟踪摄像机1544、USB 1546、永久存储装置1548、振动-触觉反馈装置1550、通信链路1552、Wi-Fi 1554、超声波通信装置1556、蓝牙1558和光敏二极管(PSD)阵列1560。在一些实施方案中,HMD 1500还可以包括一个或多个CPU 1562、一个或多个GPU 1564以及视频存储器1566。

图16是可用于实施本文描述的各种实施方案的计算系统1600的图式。计算系统1600包括用于接收用户输入的输入装置1602。输入装置1602可以是任何用户控制的装置或用户响应的装置,例如鼠标、触摸屏、操纵杆、遥控器、指向装置、可穿戴式物体或头戴式显示器。计算系统1600还示出为包括CPU 1604,所述CPU负责执行生成顶点和几何数据以供图形系统1610处理和渲染的应用程序。CPU 1604还负责处理关于应用程序的经由输入装置1602接收的输入。另外,计算系统示出为包括存储器1606和永久存储装置1608。

示例性计算系统1600的图形系统1610示出为包括与存储器/VRAM 1620通信的GPU1612,所述存储器/VRAM与扫描仪1628通信。GPU 1612示出为包括顶点着色器1614,所述顶点着色器接收与所执行的应用程序相关联的顶点和几何数据,对接收到的顶点和几何数据执行与几何变换和操纵有关的操作。在一些实施方案中,顶点着色器1614的输出被发送并存储在帧缓冲器/时间缓冲器1622中。

根据一些实施方案,GPU 1612还示出为实施光栅器1616,所述光栅器将来自顶点着色器1614的输出的顶点和几何数据转换为像素数据(例如,片段数据)。根据一些实施方案,光栅器1616能够执行本文描述的某些采样功能。

GPU 1612还示出为执行像素着色器1618(也称为片段着色器),所述着色器用于获得将要显示的像素的颜色值。根据一些实施方案,可以在像素着色器的帮助下例如通过访问帧缓冲器/时间缓冲器1622来执行本文描述的时间超级采样。此外,根据某些实施方案,像素着色器1618可以输出要存储在显示缓冲器1624中的像素数据。在一个实施方案中,使扫描器1628能够读取存储在显示缓冲器上的像素数据,并发送所述像素数据以在显示器1630上显示。此外,在本文中,像素着色器是指像素着色器或计算着色器。

尽管按具体顺序描述了方法操作,但是应理解,可以在操作之间执行其他内部管理操作,或者可以调整操作以使它们在稍微不同的时间发生,或可以分布于允许按与处理相关联的各种间隔发生处理操作的系统中。

一个或多个实施方案也可以被制造为计算机可读介质上的计算机可读代码。计算机可读介质是可以存储数据的任何数据存储装置,所述数据在此之后可以由计算机系统读取。计算机可读介质的示例包括硬盘驱动器、网络附加存储装置(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其他光学和非光学数据存储装置。计算机可读介质可以包括分布在网络耦合的计算机系统上的计算机可读有形介质,使得计算机可读代码以分布式方式存储和执行。

尽管为了清楚理解的目的已经在一些细节上描述了前述实施方案,但是显而易见的是,可以在所附权利要求的范围内实践某些改变和修改。因此,当前实施方案应被视为说明性的而非限制性的,且所述实施方案并不限于本文中给出的细节,而是可以在所附权利要求的范围和等同范围内修改。

37页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:具有带有极轮廓的磁双稳态轴对称线性致动器和开关矩阵的触觉显示器以及具有其的光学触觉助视器

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类