在图形内容的注视点渲染中保存样点数据的制作方法

文档序号:23185794发布日期:2020-12-04 14:14阅读:133来源:国知局
在图形内容的注视点渲染中保存样点数据的制作方法

本申请要求于2019年1月15日提交的美国临时专利申请16/247,964的利益,其要求于2018年4月13日提交的临时专利申请62/657,415的优先权,通过引用并入其全部内容。



背景技术:

电子设备可以执行在显示器上展示图形内容的程序。例如,电子设备可以执行虚拟现实(vr)程序或增强现实(ar)程序。

在一些应用中,可以在相同的帧中以不同的分辨率渲染在显示器上展示的图形。例如,在vr头盔中,可以以高分辨率渲染帧的中央(例如,旨在用户中央凹视觉(fovealvision)的区域)并且以低分辨率渲染帧的其余部分(例如,旨在用户周边视觉(peripheralvision)的区域)。作为附加的示例,电子设备可以追踪用户的凝视(例如,使用传感器)以识别在用户中央凹视觉中的图形部分。如果电子设备确定用户的眼动跟随显示器展示的具体对象,则电子设备可以以高分辨率渲染该对象并且以低分辨率渲染其他区域。



技术实现要素:

这里描述了用于生成图形内容的方法、设备、装置和计算机可读介质。一种方法能够包括:将图形内容的第一区域分配给多个片的第一片,将图形内容的第二区域分配给片的第二片,在第一片处并以第一分辨率,对于与第一区域相关联的多个像素的每个像素,确定图形内容的第一样点集,在第二片处并以第二分辨率,对于与第二区域相关联的多个像素的每个像素,确定图形内容的第二样点集,将第一样点集降采样为组合样点集,保存(preserve)第二样点集的样点以生成具有保存的样点的第三样点集,存储组合样点集,并且存储具有保存的样点的第三样点集。

所述方法能够进一步包括:基于存储的组合样点集和具有保存的样点的第三样点集生成图像,并且在虚拟现实头盔或无线通信设备上显示图像。

在一些实施例中,降采样第一样点集能够包括以第一比例(scale)降采样第一样点集,并且保存样点能够包括通过小于第一比例的第二比例降采样第二样点集。

在进一步的实施例中,保存样点能够包括在第二片中复制第二样点集或提升(upscale)第二多个样点。

在更进一步的实施例中,提升能够包括最近采样或加权采样。

所述方法能够进一步包括:确定第一区域在用户的中央凹视觉中,并且基于该确定,确定以第一分辨率渲染第一区域。

在一些实施例中,预定以第一分辨率渲染第一区域,并且第一区域是图形内容的中央区域。

所述方法能够进一步包括:将图形内容的第三区域分配给多个片的第三片,并且在第三片处并以低于第一分辨率的第三分辨率,对于与第三区域相关联的多个像素的每个像素,确定图形内容的第三样点集,其中第二分辨率与第三分辨率不同。

在一些实施例中,第二分辨率是第一分辨率的一半、第一分辨率的四分之一或第一分辨率的八分之一的至少一种。

又进一步的实施例中,对于图形内容的每个像素确定的样点的数量是两个、四个或八个的至少一种。

在更进一步的实施例中,存储组合样点集和存储具有保存的样点的第三样点集包括:在系统存储器中存储组合样点集和具有保存的样点的第三样点集。

一种设备能够包括处理器和与处理器耦合的存储器,该存储器包括指令,当由处理器执行时使得设备执行方法,该方法包括:将图形内容的第一区域分配给多个片的第一片,将图形内容的第二区域分配给多个片的第二片,在第一片处并以第一分辨率,对于与第一区域相关联的多个像素的每个像素,确定图形内容的第一样点集,在第二片处并以低于第一分辨率的第二分辨率,对于与第二区域相关联的多个像素的每个像素,确定图形内容的第二样点集,将第一样点集降采样到组合样点集,保存第二样点集的样点以生成具有保存的样点的第三样点集,存储组合样点集,并且存储具有保存的样点的第三样点集。

一种计算机可读介质能够是非暂时性计算机可读介质,该非暂时性计算机可读介质存储包含这样的指示的程序,当通过设备的处理器执行指令时,使得设备执行方法,该方法包括:将图形内容的第一区域分配给多个片的第一片,将图形内容的第二区域分配给多个片的第二片,在第一片处并以第一分辨率,对于与第一区域相关联的多个像素的每个像素,确定图形内容的第一样点集,在第二片处并以低于第一分辨率的第二分辨率,对于与第二区域相关联的多个像素的每个像素,确定图形内容的第二样点集,将第一样点集降采样到组合样点集,保存第二样点集的样点以生成具有保存的样点的第三样点集,存储组合样点集,并且存储具有保存的样点的第三样点集。

一种装置能够包括:用于将图形内容的第一区域分配给多个片的第一片的部件,用于将图形内容的第二区域分配给多个片的第二片的部件,用于在第一片处并以第一分辨率、对于与第一区域相关联的多个像素的每个像素确定图形内容的第一样点集的部件,用于在第二片处并以低于第一分辨率的第二分辨率、对于与第二区域相关联的多个像素的每个像素确定图形内容的第二样点集的部件,用于将第一样点集降采样到组合样点集的部件,用于保存第二样点集的样点以生成具有保存的样点的第三样点集的部件,用于存储组合样点集的部件,以及用于存储具有保存的样点的第三样点集的部件。

附图说明

图1是与公开的实施例一致的能够执行注视点渲染(foveatedrendering)的设备的示例图。

图2是与公开的实施例一致的能够执行注视点渲染的设备的示例图。

图3是与公开的实施例一致的在不同片中以不同的分辨率确定样点的示例说明。

图4a是与公开的实施例一致的以不同分辨率在多样点反走样(anti-aliasing)中降采样的示例说明。

图4b是与公开的实施例一致的存储以不同分辨率确定的样点的示例说明。

图5a是与公开的实施例一致的以不同分辨率在多样点反走样中具有保存的降采样的示例说明。

图5b是与公开的实施例一致的存储以不同分辨率确定的样点的示例说明。

图6是与公开的实施例一致的具有多样点反走样的注视点渲染的示例过程。

图7是与公开的实施例一致的能够执行注视点渲染的电子设备的示例图。

具体实施方式

本文公开的系统、设备、计算机可读介质和方法可以提供用于基于用户的一个或更多眼睛相对于坐标系统和/或设备的位置(以下为“眼睛位置”),不同地渲染计算机图形内容的帧的区域的手段。例如,可以在相同的图像/帧中渲染高分辨率的区域和一个或更多低分辨率的区域。如本文所用,高分辨率可以是任何高于低分辨率区域的区域。在各种实施例中,高分辨率能够例如1400x1200像素、1080x1200像素等,并且低分辨率能够例如高分辨率的一半、四分之一、八分之一、十六分之一等。这些分辨率仅为示例并且不旨在限定。在一些实施例中,高分辨率能够表示显示设备的全分辨率(fullresolution),并且低分辨率能够是全分辨率的分数分辨率。在其他实施例中,高分辨率能够高于或低于特定的显示设备的全分辨率,并且可以在特定的显示设备上显示之前降采样或提升高分辨率。

如本文所用,图形内容的“区域”能够指在对应于图形内容的帧的子集的光学空间中的常规网格。在一些实施例中,对于图形内容的每帧,区域可以是相同的。例如,能够将图形内容的每帧分割成相同的64个区域。在其他实施例中,区域的数量和形状能够在图形内容中逐帧不同。

渲染低效可以是计算机图形渲染中的一个当前技术问题。例如,使用vr程序、应用和/或设备生成图形内容可以包括渲染图形内容的两个视图,其可以使渲染内容的速度是原先的一半(可能导致一些延迟、限定硬件组件总线上的可用带宽、影响显示的帧速率、影响移动时间延迟(motiontophotonlatency)等)和/或使得设备使用更多电力。一个解决技术问题的手段可以是使用利用更多处理资源(例如,以高分辨率)的参数渲染图形内容的区域,并且使用利用更少处理资源的参数渲染该场景的其他区域(例如,以一个或更多低分辨率)。

例如,在一些实施例中,用户可以主要地关注图形内容的中央。因此,远离中心的(outer)部分更有可能在用户的周边视觉中,使得例如用户的视觉系统不能以与在图形内容的中央相同级别地辨识伪像和/或鉴别(appreciate)细节。相应地,通过以一个或更多低分辨率渲染远离中心的区域使得用户体验可以不受负面影响,并且通过不以高分辨率渲染那些区域增加渲染效率。

在一些实例中,识别用户凝视的区域可以涉及执行眼睛追踪以确定在用户的中央凹视觉中的图形内容的区域。如本文所用,用户的中央凹视觉能够指用户的视场的中央的视觉,其中视敏度通常是最高的。作为本文的附加使用,在用户的中央凹视觉中的(或确定在其中的)图形内容的区域能够指这样的图形内容的区域,其表示用户的中央凹视觉的投影和与该投影相交的图形内容的二维横截面的交集。

一旦确定了在用户的中央凹视觉中的图形内容的区域,该手段可以包括以高分辨率渲染该区域并且以一个或更多低分辨率渲染该场景的其余区域。再次,因为在用户的中央凹视觉中的区域保持高分辨率,所以用户的体验可以不受以一个或更多低分辨率渲染用户的周边视觉中的区域影响,,并且通过不以高分辨率渲染那些区域使得渲染效率增益。如本文所用,用户的周边视觉能够指用户的中央凹视觉外部的视觉。

如本文所用,“注视点渲染”能够指基于不同的凹形参数渲染场景的不同区域的处理。凹形参数可以包括但不限于分辨率、aa水平、模糊水平和要应用的滤波器。

如本文所用,“注视区域”能够指使用利用更多处理资源的参数渲染的图形内容的一个或更多帧的区域。在一些实施例中,注视区域能够基于确定、预测和/或假定在用户的中央凹视觉内的区域确定。例如,注视区域能够是以高分辨率、利用高aa级别、低模糊水平、改进区域质量的滤波器等渲染的区域。相反,“非注视区域”能够指使用利用更少处理资源的参数渲染的图形内容的一个或更多帧的区域。在一些实施例中,注视区域能够基于未确定、预测和/或假定在用户的中央凹视觉内的区域(例如,在用户的周边视觉内)确定。例如,非注视区域能够是以低分辨率、利用低aa级别、高模糊水平、提升处理效率的滤波器等渲染的区域。

例如,注视区域能够包括以预定的分辨率渲染区域(以下为“静态注视点渲染”)以及基于眼睛追踪以不同分辨率渲染区域(以下为“动态注视点渲染”)。

在一些实施例中,注视点渲染能够与多样点反走样(msaa)一起使用。msaa是空间反走样的一类,其能够用于通过对于像素超采样多个位置提升图像质量。msaa在很多计算机图形使用情况中是有用的。例如,vr和ar头盔可以将显示屏幕放置在距离用户眼睛的几英寸内并且因此提升的图像质量对于用户显而易见。本文使用的示例可以指vr和ar,然而各种实施例可以不限于vr和ar,并且还能够应用混合现实(mr)和增强虚拟(av)等。总而言之,vr、ar、mr和av可以称为扩展显示(xr)。在各种实施例中,本文的vr和ar的所有参考能够可替代地或附加地应用于xr的任何其他类别。

然而,在一些情况下,msaa可能引入走样和其他伪像,因为多样点对每个像素只计算一次纹理。因此,由msaa引入的走样和其他伪像是计算机图形渲染的另一个技术问题。

如以下进一步详细讨论,通过保存低分辨率的区域中的样点,能够解决这些技术问题。在使用msaa的注视点渲染中,因为有用于最终显示的至少一些像素位置的多个样点(例如,在高分辨率的区域),所以在将样点储存在系统存储器中之前降采样样点。然而,来自低分辨率的区域的样点包括比高分辨率的区域更少的信息。相应地,如果通过相同的比例降采样两类区域,则低分辨率的区域具有比像素位置更少的样点信息。附加地,当在降采样之后提升低分辨率的区域,则将丢失样点信息。因此,通过保存低分辨率的区域的样点能够改进使用msaa的注视点渲染。

如本文所用,“样点”或“样点值”能够指表示信道(例如,红、绿,或蓝)和像素的交集的值。在一些实施例中,样点的参考能够包括具有多个子样点的样点。例如,在红、绿、蓝(rgb)颜色空间中,样点可以包括三个子样点,并且在红、绿、蓝、阿尔法(rgba)颜色空间中,样点可以包括四个子样点。

如本文所用,“保存”或“保存的样点”可以指在图形内容的一个或更多帧的区域(例如,低分辨率的区域)上执行的过程或其缺失,其导致比通过比例降采样更多的样点,该比例等于在该图形内容的一个或更多帧的另一个区域(例如,高分辨率的区域)上执行的降采样的比例。例如,“保存”或“保存的样点”可以包括通过比例降采样图形内容的一个或更多帧的第一区域,该比例小于在图形内容的一个或更多帧的第二区域上执行的降采样的比例。作为附加的示例,“保存”或“保存的样点”可以不包括降采样或提升和/或复制,不对图形内容的一个或更多帧的第一区域进行降采样或提升,而在图形内容的一个或更多帧的第二区域执行降采样。作为进一步的示例,“保存”或“保存的样点”能够包括提升图形内容的一个或更多帧的第一区域,而在图形内容的一个或更多帧的第二区域执行降采样。

现在通过参考各附图描述各种配置,其中相似的参考标号可以指示功能性相似的元件。本文附图中一般地描述和说明的系统和方法可以在宽泛的不同配置中安排和设计。因此,如图所示,以下各种配置的更详细的描述不旨在限定要求保护的范围,而是仅仅作为代表性的系统的方法。

图1描绘了能够执行注视点渲染的设备100的说明性示例。如说明性示例,设备100能够包括或包括在图形处理单元或任何其他类别的处理单元(例如,中央处理单元(cpu)或数字信号处理器(dsp))中,该处理单元配置为使用图形内容102执行图形处理操作。在一些示例中,图形内容102可以对应于来自ar或vr应用的图形内容。

图形内容102能够包括一个或更多帧(诸如第一帧114)。第一帧114可以包括第一区域108和一个或更多第二区域109。在各种实施例中,能够基于ar或vr应用的状态、基于设备100的位置信息(例如,基于全球定位系统(gps)坐标、本地坐标、现实世界的对象的位置等)、基于设备100的方向和/或基于确定的设备、用户(例如,头部或眼睛位置)或设备100的摄像机捕获的(未示出)现实世界的对象的运动生成图形内容102。

在一些实施例中,设备100可以包括中央窝凹估计引擎104(例如,用于动态注视点渲染)。在其他实施例中,可以不使用中央窝凹信息,并且设备100可以不包括中央窝凹估计引擎104(例如,用于静态注视点渲染)。

设备100能够进一步包括渲染引擎112,其执行图形内容102的注视点渲染。例如,第一帧114的第一区域108可以是以高分辨率渲染的区域。相应地,渲染引擎112中的第一帧114能够包括基于图形内容102的第一帧114的第一区域108的高分辨率区域116。附加地,第一帧114的第二区域109可以是以低分辨率渲染的区域。例如,能够以高分辨率的四分之一渲染所有第二区域,能够以高分辨率的一半渲染第二区域之一并且以高分辨率的八分之一渲染另一个第二区域等。渲染引擎112中的第一帧114能够包括一个或更多低分辨率区域118,其基于图形内容102的第一帧114的一个或更多的第二区域109。

在一些实施例中,渲染引擎112可以是gpu或另一类处理器,可以包括gpu或另一类处理器,或可以是gpu或另一类处理器的一部分。

在包括中央窝凹估计引擎104的实施例中,中央窝凹估计引擎104可以配置为生成图形内容102的感兴趣区域(例如,第一区域108)的指示106。例如,中央窝凹估计引擎104可以接收来自传感器(未示出)的眼睛位置的信息,并且确定用户的中央凹视觉内的显示内的感兴趣区域。在一些实施例中,感兴趣区域可以与第一帧114的第一区域108相关联。中央窝凹估计引擎104能够将感兴趣区域的指示发送给渲染引擎112,并且渲染引擎112能够确定第一区域108应该是高分辨率区域116并且第二区域109(不在感兴趣区域中)应该是一个或更多低分辨率区域118。

在一些实施例中,中央窝凹估计引擎104可以是与渲染引擎112相同的处理器的一部分,然而在其他实施中,中央窝凹估计引擎104可以是独立的处理器的一部分。

在一些示例中,例如,当图形内容102和设备100对应于ar应用时,设备100可以接收场景信息110。例如,场景信息110可以由设备100的摄像机(未示出)捕获,并且设备100可以在场景信息110上叠加图形内容102。

参照图2,描绘了能够执行注视点渲染的设备200的说明性示例。在各种实施例中,设备200能够与图1中的设备100相同或相似。在图2的示例中,设备200能够配置为使用片渲染来渲染图形内容,并且相应地能够包括成片引擎206。

如本文所述,片渲染能够指通过在光学空间中的常规网格分割图形内容的帧并且独立地渲染网格的每个部分(即,每片)的过程。因为带宽和存储量相较于绘制整个帧的渲染系统可以立刻减少,所以使用片渲染能够提供技术优势。相应地,片渲染在任何类别的生成显示的设备(例如,膝上计算机、台式计算机、高级驾驶辅助系统等)中可以有用,但在诸如蜂凹手机(例如,智能电话)、vr和/或ar头盔、智能眼镜、智能手表等移动设备中尤其常见。

如本文所用,“片”能够指光学空间中的网格(例如,16x16或32x32像素的网格)和/或“片”能够指片存储器的部分,其中存储了与光学空间中的网格相关的样点值。

在一些实施例中,成片引擎206可以是渲染引擎(例如,图1中的渲染引擎112)的一部分。如图2所示,成片引擎206能够接收图形内容201。在一些实施例中,成片引擎206还可以接收来自中央窝凹估计引擎203的感兴趣区域(例如,用于动态注视点渲染)的指示205。在其他实施例中,感兴趣区域可以不通过成片引擎接收(例如,用于静态注视点渲染)。

成片引擎206能够配置为执行与图形内容201的处理相关联的成片处理。成片处理可以包括确定与图形内容201相关联的片集。例如,图形内容201的每帧能够被分割成区域,其中每个区域对应于片,多个区域对应于片,和/或片对应于多个区域。为了说明,图2描绘了第一帧207可以被分割成包括第一片202(例如,第一帧207的第一区域)和第二片204(例如,第一帧207的第二区域)的片集。第一帧207可以包括用于在第一帧207中附加区域的附加的片。

在图2的示例中,成片引擎206可以配置为将图形内容201的样点作为用于与第一帧207相关联的每个片的值的集渲染(例如,通过执行操作(例如,顶点着色操作、纹理操作、光栅化操作、一个或更多其他操作或其组合),以确定用于与片相关联的区域中的每个像素的一个或更多样点的值)。在一些实施例中,样点值可以与颜色值(例如,rgb颜色值)相关联,并且可以基于样点在图形内容的帧中的位置以及在该帧中与该位置重叠的对象确定该样点值。如本文所用,“像素”能够指在最终显示中的像素(例如,1920x1080显示具有2,073,600个像素)。附加地,如本文所用,“像素”能够指存储器中的数据,其最后对应于在最终显示中的一个像素的(如果显示的分辨率与在存储器中的相同)、在最终显示中的多于一个像素的(如果显示的分辨率大于在存储器中的),或在最终显示中的小于一个像素和/或一个像素的一部分的(如果显示的分辨率小于在存储器中的)。

能够独立地渲染每个片,对于每个样点能够生成值,并且能够在片存储器208中存储该值。如果使用msaa,则多个样点能够与显示中的每个像素位置相关联,并且能够对于每个样点生成值。例如,片存储器208能够包括用于第一片202的值,其能够包括用于第一像素212的多个样点,用于第二像素214的多个样点,用于第三像素216的多个样点,和用于第四像素218的多个样点。附加地,片存储器208能够包括用于第二片204的值,其能够包括用于第五像素222的多个样点,用于第六像素224的多个样点,用于第七像素226的多个样点,和用于第八像素228的多个样点。

在一些实施例中,能够在系统存储器230中存储样点。例如,第一像素212的样点能够作为用于第一像素232的值存储在系统存储器230中,第二像素214的样点能够作为用于第二像素234的值存储在系统存储器230中,第七像素226的样点能够作为用于第七像素236的值存储在系统存储器230中,并且第八像素228的样点能够作为用于第八像素238的值存储在系统存储器230中。用于第三到第六像素的样点也可以作为值存储在系统存储器230中。

在进一步的实施例中,样点能够附加地或可替代地存储在其他类别的存储器中,诸如例如,本地gpu存储器(gmem)或高速缓冲存储器。

如果使用msaa,则可以降采样样点以生成像素的值(例如,rgb颜色值)。例如,如果使用2xmsaa,则可以对于显示中的每个像素确定两个样点。例如,当值被传输到系统存储器230时,可以降采样样点(例如,一起求平均值)以确定系统存储器230中的像素的值。在一些实施例中,如以下进一步详细讨论,可以降采样来自一些片的样点(例如,与高分辨率相关联的片),并且其他片可以具有保存的样点(例如,与低分辨率相关联的片)。附加地,还如以下进一步详细讨论,可以提升一些片(例如,与低分辨率相关联的片)以匹配显示的分辨率。

存储在系统存储器230中的像素的值然后能够用于生成显示。例如,该值能够指示像素的rgb颜色值,并且能够相应地设置像素以生成显示。

图2的示例说明了生成图形内容的片渲染的方面。与公开的实施例一致,可替代地或附加地,其他技术可以用于生成图形内容。

参照图3,示出了在不同片中以不同分辨率确定样点的示例说明。图3描绘了图形内容的帧300。帧300的示出仅用于解释作用,并且可以不描绘显示或存储的实际帧。帧300包括四个区域,左上、右上、左下和右下区域。以高分辨率(相较于其他区域)渲染左上区域。例如,帧300的左上区域可以表示用户的中央凹视觉内的区域,并且其他区域可以表示用户的周边视觉内的区域,如上所述。附加地,可以以左上区域的分辨率的四分之一渲染其他区域(即,分辨率比例为4)。

用于解释作用,帧300描绘了可以确定的样点值,其中该样点值与两个颜色(黑或白)之一相关联。相较于以低分辨率渲染的右上区域、左下区域,和右下区域,以高分辨率渲染的左上区域包括更多的样点。

当使用片渲染时,可以不将帧300作为整个帧渲染。而是可以在片中渲染帧300(例如,在片存储器中),其中每个区域与片相关联,并且独立地和顺序地渲染每个片。例如,能够在片310中渲染左上区域、在片312中渲染右上区域、在片314中渲染左下区域,并且在片316中渲染右下区域。相应地,如图3所描绘的,用于在帧300中的样点的颜色,对应于在各自的片中的样点的颜色。

当使用msaa时,帧300和片310-316可以表示确定的样点。例如,可以以2xmsaa或4xmsaa确定样点。相应地,对于2xmsaa,两个样点可以与系统存储器和/或显示中的一个像素相关联,并且,对于4xmsaa,四个样点可以与系统存储器和/或显示中的一个像素相关联。如以下进一步详细描述,这可以是对于高分辨率区域的情况,其中msaa因数(例如,对于2xmsaa为二并且对于4xmsaa为四)表示对应于系统存储器中的一个像素的样点的数量。因此,在高分辨率区域中,可以以等于msaa因数的比例降采样样点。然而,在低分辨率的区域中,msaa因数可以不表示对应于系统存储器中的一个像素的样点的数量。如以下进一步详细描述,可以保存低分辨率区域中的样点值(例如,不降采样或不以与高分辨率的区域相同的比例降采样)并且存储在系统存储器中。

参照图4a,示出了以不同的分辨率在多样点反走样中降采样的实例说明。图4a描绘了片400、片402、片404和片406,其在一些实施例中可以分别对应于片310、片312、片314和片316(如图3所描绘的)。片400表示以高分辨率渲染的片(相较于其他片)。例如,片400可以表示用户的中央凹视觉内的区域,并且其他片可以表示用户的周边视觉内的区域,如上所述。附加地,可以以片400的分辨率的四分之一渲染片402-406。

与图3相似,片400-406描绘了可以确定的样点值,其中该样点值与两个颜色(黑或白)之一相关联。相较于以低分辨率渲染的片402-406,以高分辨率渲染的片400包括更多的样点。

当使用msaa时,可以根据msaa因数降采样一些片。在图4a中描绘的示例中,根据为二的msaa因数(即,对应于2xmsaa)降采样每个片,并且在高分辨率的片(片400)和低分辨率的片(片402-406)之间保存的样点值中没有差别。相应地,将作为4x4片的片400降采样为作为2x4片的片410,将作为2x2片的片402、片404,和片406分别降采样为作为1x2片的片412、片414,和片416,并且对组合的片值求平均值。如图4a所描绘的,将与黑片组合的黑片平均成黑片,将与白片组合的白片平均成白片,将与白片组合的黑片平均成灰片。

参照图4b,示出了以不同分辨率存储样点的示例说明。图4b描绘了片420、片422、片424和片426,其在一些实施例中可以分别与片410、片412、片414和片416(如图4a所描绘的)对应。片420表示以高分辨率(相较于其他片)渲染和降采样的片,使得对一些样点值求平均值(例如,基于2xmsaa、4xmsaa、8xmsaa等)。例如,片420可以表示用户的中央凹视觉内的区域,并且其他片可以表示用户的周边视觉内的区域,如上所述。附加地,可以以片420的分辨率的四分之一渲染并且可以降采样(例如,通过与高分辨率的片相同的因数)片422-426,使得对一些样点值求平均值。

片420-426描绘了可以确定的样点值,其中该样点值与三个颜色(黑、白,和灰)之一相关联。相较于以低分辨率渲染的片402-406,以高分辨率渲染的片420包括更多的样点。

因为片420利用msaa以高分辨率渲染并且接着降采样,所以对于在存储器(例如,系统存储器,gmem等)和/或显示中的每个像素位置,片420可以包括一个值。相应地,可以将片420中的样点值复制给存储器(帧430的左上区域中示出的)和/或在显示器上显示。

因为片422-426以低分辨率渲染并且接着在使用msaa之后降采样,所以对于在系统存储器中的每个像素位置,该片可以不包括一个值。如图4b所描绘的,对于在系统存储器中的四个像素位置,片422-426包括一个值。相应地,提升片422-426并且接着存储样点值。这意味着,因为一个值表示四个像素位置,所以当将片422、片424和片426分别复制给帧430的右上区域、左下区域和右下区域时,将一个值复制给四个像素位置的每个。使用一个样点值表示多个像素位置能够称为为“最近取样”提升,因为多个像素的最近样点用作多个像素的值。最近取样只是多个可能提升过程之一。例如,在其他实施例中,可以使用“加权取样”提升执行提升,其中基于附近样点的分数权重能够给每个像素位置分配值,而不是复制给多个像素位置的样点值。示例加权取样包括双线性加权取样或双三次加权取样。

在一些实施例中,帧430可以表示使用注视点渲染和2xmsaa渲染的帧,其中以高分辨率区域的分辨率的四分之一渲染低分辨率区域。例如,图3描绘的样点可以表示作为帧430存储在系统存储器中的样点。值得注意的是,因为对边缘附近的一些样点值求平均值,所以帧300和帧430之间有差别。具体的,在帧430的右下区域中,一半像素值基于平均值(而不是原始的值),并且当帧430在显示器上展示时,这可以导致可视的伪像。

参照图5a,示出了以不同的分辨率在多样点反走样中利用保存的降采样的实例说明。图5a描绘了片500、片502、片504和片506,其在一些实施例中可以分别对应于片310、片312、片314和片316(如图3所描绘的)。片500表示以高分辨率渲染的片(相较于其他片)。例如,片500可以表示用户的中央凹视觉内的区域,并且其他片可以表示用户的周边视觉内的区域,如上所述。附加地,可以以片500的分辨率的四分之一渲染片502-506。

与图3相似,片500-506描绘了可以确定的样点值,其中该样点值与两个颜色(黑或白)之一相关联。相较于以低分辨率渲染的片502-506,以高分辨率渲染的片500包括更多的样点。

当使用msaa时,可以根据msaa因数降采样一些片。在图5a中描绘的示例中,根据为二的msaa因数(即,对应于2xmsaa)降采样片500。然而,片502-506中的样点可以不降采样,而是可以保存。在该示例中,可以保存样点而不降采样,因为片502-506的分辨率比例(在该示例中为四)大于或等于msaa因数(在该示例中为二)。相应地,将作为4x4片的片500降采样为作为2x4片的片510,作为2x2片的片502、片504和片506不降采样,并且分别对应于作为2x2片的片512、片514,和片516,并且对组合的片值求平均值。相应地,尽管在图5a中与片512-516不同地描绘片502-506,片502-506可以表示与片512-516相同的值。值得注意的是,具有保存的样点值的片516与图4a中的其中不保存样点值的片416不同。如图5a所描绘的,在片516中,更好地保存两个颜色的边缘(相较于片416)。

参照图5b,示出了以不同分辨率存储样点的示例说明。图5b描绘了片520、片522、片524和片526,其在一些实施例中,可以分别与片510、片512、片514和片516对应(如图5a所描绘的)。片520表示以高分辨率渲染和降采样的片(相较于其他片),使得对一些样点值求平均值(例如,基于2xmsaa、4xmsaa、8xmsaa等)。例如,片520可以表示用户的中央凹视觉内的区域,并且其他片可以表示用户的周边视觉内的区域,如上所述。附加地,可以以片520的分辨率的四分之一渲染片522-526,并且保存样点值(在该示例中,不通过降采样)。

片520-526描绘了可以确定的样点值,其中该样点值与三个颜色(黑、白,和灰)之一相关联。相较于以低分辨率渲染的片502-506,以高分辨率渲染的片520包括更多的样点。

因为片520利用msaa以高分辨率渲染并且接着降采样,所以对于在存储器(例如,系统存储器,gmem,缓存等)中的每个像素位置,片520可以包括一个值。相应地,可以将片520中的样点值复制给存储器(帧530的左上区域中示出的)。

因为片522-526以低分辨率渲染,所以对于在系统存储器中的每个像素位置,该片可以不包括一个值。然而,因为可以保存在片中的样点值(在该示例中,不降采样),所以对于每个像素位置可以有比如果发生了降采样更多的值。如图5b所描绘的,对于在系统存储器中的两个像素位置,片522-526包括一个值。相应地,提升片522-526并且接着存储样点值。这意味着,因为一个值表示两个像素位置,所以当将片522、片524和片526分别复制给帧530的右上区域、左下区域和右下区域时,将一个值复制给两个像素位置的每个。

在一些实施例中,帧530可以表示使用注视点渲染和2xmsaa渲染的帧,其中以高分辨率区域的分辨率的四分之一渲染低分辨率区域。例如,图3描绘的样点可以表示作为帧530存储在系统存储器中的样点。值得注意的是,因为对边缘附近的一些样点值求平均值,所以帧300和帧530之间有差别。然而,保存样点的帧530的右下区域包括比图4b中的没有保存样本的帧430更少的平均区域(在该情况中,无平均区域)。因此,相较于当在显示器上展示帧430时,当在显示器上展示帧530时可以减少可视的伪像。

参照图6,示出了利用多样点反走样的注视点渲染的示例过程600。在各种实施例中,示例过程600能够通过计算设备(例如图1描绘的设备100、图2描绘的设备200、或下述的关于图9的设备900)执行。附加地或可替代地,在一些实施例中,计算设备能够是vr头盔、ar头盔、蜂窝手机(或其他无线通信设备)、膝上计算机、平板计算机、台式计算机、服务器、一组网络设备、高级驾驶辅助系统、智能手表、智能眼镜等。在各种实施例中,计算设备可以包括显示设备,可以与显示设备连接,和/或可以给显示设备发送信息。

在框610中,计算设备能够将图形内容分割成区域。在一些实施例中,区域可以对应于用于显示的图像的坐标并且区域可以是相同尺寸的。在其他实施例中,区域尺寸可以变化。在一些实施中,区域可以是静态的和/或预定的。换句话说,对于计算设备和/或渲染图形内容的应用,区域是预先设置的,计算设备可以在渲染图形内容的每个实例中或在对于所述应用渲染图形内容的每个实例中,使用相同区域。在其他实施中,区域可以是动态的,并且基于例如图形内容的复杂性、可用的存储器、运行的应用的优先级等通过计算设备推导。换句话说,在应用正生成图形内容和/或在应用的不同实例时,区域可以变化。

在框620中,计算设备能够确定每个区域的分辨率。在一些实施例中,计算设备能够确定将一个或更多区域与高分辨率相关联和将一个或更多区域与低分辨率(例如,高分辨率的一半,四分之一等)相关联。在其他实施例中,计算设备能够将一个或更多区域与高分辨率相关联,将一个或更多区域与第一低分辨率(例如,高分辨率的一半)相关联,将一个或更多区域与第二低分辨率(例如,高分辨率的四分之一)相关联等。相应地,能够有任何数量的不同的低分辨率区域。

在静态注视点渲染实施例中,能够预定每个区域的分辨率。例如,计算设备可以将一个或更多中央区域与高分辨率相关联,并且将一个或更多远离中心的区域与一个或更多低分辨率相关联。

在动态注视点渲染实施例中,能够基于眼睛追踪信息确定每个区域的分辨率。例如,基于眼睛追踪信息,能够识别在用户的中央凹视觉中的一个或更多区域,并且这些一个或更多区域能够与高分辨率区域相关联,并且其余区域能够与低分辨率相关联。作为进一步的示例,可以将在用户的中央凹视觉中的一个或更多区域与高分辨率相关联,能够将离高分辨率区域最近的一个或更多区域与第一低分辨率(例如,高分辨率的四分之一)相关联,并且可以将其余一个或更多区域与第二低分辨率(例如,高分辨率的八分之一)相关联。

在框630中,能够将区域分配给片(例如,在片存储器中)。在一些实施例中,能够将每个区域分配给片,而在其他实施例中,能够将多个区域分配给片或能够将区域分割并且分配给多个片。

在框640中,计算设备能够确定图形内容的样点。能够以与区域相关联的分辨率(例如,高分辨率、第一低分辨率、第二低分辨率等)确定样点。附加地,能够利用msaa(例如,2xmsaa、4xmsaa、8xmsaa、16xmsaa等)确定样点。相应地,对于与区域相关联的每个像素能够确定多个样点。在一些实施例中,能够顺序地处理(分割成片的)区域以减少所使用的整体处理、存储器和带宽。在进一步的实施例中,能够并行地处理区域以减少处理时间。

在框650中,计算设备能够将在片中的样点存储进存储器(例如,存储进系统存储器、gmem、缓存等)。

在框652中,对于高分辨率的区域,计算设备能够降采样样点。例如,如果使用了2xmsaa,则对于高分辨率的区域中的每个像素位置,计算设备能够组合两个样点并且对两个样点求平均值,并且如果使用了4xmsaa,则对于高分辨率的区域中的每个像素位置,计算设备能够组合四个样点并且对四个样点求平均值。能够将降采样的样点的值存储在存储器中。

在框654中,对于分辨率比例小于msaa因数的低分辨率的区域,计算设备能够保存并且降采样样点。在一些实施例中,计算设备能够保存并且通过不由msaa因数而是由msaa因数除以分辨率比例来降采样样点。例如,如果低分辨率的区域的分辨率比例是二(高分辨率的一半的分辨率)并且msaa因数是四(4xmsaa),则计算设备可以由二来降采样区域。降采样的样点的值能够存储在存储器中。相应地,相较于由msaa因数降采样所有区域,保存了样点中的一些级别的细节。

一些实施例可以不包括分辨率比例小于msaa因数的低分辨率的区域,并且因此,计算设备可以不执行框654。

在框656中,对于分辨率比例等于msaa因数的低分辨率的区域,计算设备能够保存样点。在一些实施例中,计算设备能够通过不降采样和/或绕过样点的降采样来保存。能够复制片存储器中的样点值并将其存储在存储器中。相应地,保存了样点。

一些实施例可以不包括分辨率比例等于msaa因数的低分辨率的区域,并且因此,计算设备可以不执行框656。

在框658中,对于分辨率比例大于msaa因数的低分辨率的区域,计算设备能够保存并且提升样点(例如,如关于图4a和4b所示出和描述的)。在一些实施例中,计算设备能够通过不降采样和/或绕过样点的降采样来保存。附加地,因为有比像素位置更少的样点,所以通过在一些示例中,对于多个像素位置使用样点值(最近取样),或者在其他示例中,使用附近样点的分数部分(加权取样),能够提升样点。相应地,因为不执行降采样,所以保存了样点。

一些实施例可以不包括分辨率比例大于msaa因数的低分辨率的区域,并且因此,计算设备可以不执行框658。

在框660,计算设备能够基于存储在存储器中的样点生成用于在显示设备上显示的图像。例如,计算设备能够使用样点值调整图像文件中和/或显示设备上的像素值。

参考图7,描绘了一般指定为电子设备700并且能够执行注视点渲染的电子设备的示例图。所述电子设备700可以对应于移动设备(例如,诸如蜂窝手机的无线通信设备)、计算机(例如,服务器、膝上计算机、平板计算机,或台式计算机)、访问点、基站、可穿戴的电子设备(例如,个人相机、头戴式显示器、vr头盔、ar头盔、智能眼镜或智能手表)、车辆控制系统或控制台(例如,一个高级驾驶员辅助系统)、自动驾驶车辆(例如,机器人车或无人机)、家电、机顶盒、娱乐设备、导航设备、个人数字助理(pda)、电视机、监视器、调谐器、收音机(例如,卫星广播)、音乐播放器(例如,数字音乐播放器或便携式音乐播放器)、视频播放器(如数字视频播放器,例如数字视频光盘(dvd)播放机或便携式数字视频播放机)、机器人、医疗保健设备、其他电子设备或其组合。

电子设备700包括一个或更多处理器(诸如处理器710和图形处理单元(gpu)796)。处理器710可以包括中央处理单元(cpu)、数字信号处理器(dsp)、另一个处理装置或其组合。在图7的示例中,处理器710可以包括中央窝凹估计引擎704,并且gpu796可以包括渲染引擎712。在其他实施例中,渲染引擎712可以包括在处理器710中和/或中央窝凹估计引擎704可以包括在gpu796中等。

处理器710可以与gpu796耦合。在说明性的示例中,处理器710可以配置为使用图形应用编程接口(api)调用与gpu796通信。例如,gpu796可以包括api调用分析器(未示出),并且处理器710可以配置为在由gpu796执行图形处理期间将api调用提供给api调用分析器。

电子设备700可以进一步包括一个或更多存储器(诸如存储器732)。存储器732可以与处理器710、gpu796或两者耦合。存储器732可以包括随机存取存储器(ram)、磁阻的随机存取存储器(mram)、闪存、只读存储器(rom)、可编程只读存储器(prom),可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、一个或多个寄存器、硬盘、可移动磁盘、致密盘只读存储器(cd-rom)、另一个存储设备或其组合。

存储器732可以存储指令760。指令760可以通过处理器710、gpu796或两者可执行。在一些实施例中,指令760可以指令处理器710和/或gpu796执行图6所述的过程。

编码器/解码器(编解码器)734也能够与处理器710耦合。编解码器734可以与一个或更多诸如麦克风738的麦克风耦合。编解码器734还可以与一个或更多诸如扬声器736的扬声器耦合。编解码器734可以包括存储通过编解码器734可执行的指令795的存储器790。

图7还示出了与控制器710和显示器728耦合的显示控制器726。在一些实施例中,电子设备700可以进一步包括与天线742耦合的无线控制器740。在其他实施例中,电子设备700可以进一步包括与计算机网络电缆耦合的有线网络控制器(未示出)。

电子设备700可以进一步包括传感器750(例如,相机)。传感器750可以是配置为捕捉用户的眼睛的图像的任何类别的传感器。中央窝凹估计引擎704可以基于来自传感器750的捕获的图像配置为识别眼睛位置信息。

在具体的示例中,处理器710、gpu796、存储器732、显示控制器726、编解码器734,和无线控制器740包括在片上系统(social)设备中。此外,输入设备730和电源744可以与soc设备722耦合。此外,在具体的示例中,如图7所示,显示器728、输入设备730、扬声器736、麦克风738、天线742、电源744,和传感器750在soc设备722的外部。然而,显示器728、输入设备730、扬声器736、麦克风738、天线742、电源744,和传感器750的每一个能够与soc设备722的组件(诸如,接口或控制器)耦合。

如本文所用,“耦合”可以包括通信耦合、电耦合、磁耦合、物理耦合、光学耦合和其组合。两个设备(或组件)可以直接或间接地经由一个或更多其他设备、组件、电线、总线、网络(例如,有线网络、无线网络或其组合)等耦合(例如,通信耦合,电耦合或物理耦合)。相同或不同的设备中可以包括电耦合的两个设备(或组件),并且可以经由如述非限定性示例的电子、一个或多个连接器,或电感耦合将其连接。在一些实施中,通信耦合的两个设备(或组件)(诸如电子通信),可以直接或间接地发送和接收电子信号(数字信号或虚拟信号),经由诸如一个或更多电线、总线、网络等。

前述公开的设备和功能可以使用计算机文件(例如,包括图形数据库系统ii(gdsii)、gerber等的文件格式的计算机文件)设计和表示。计算机文件可以存储在计算机可读介质上。可以将一些或全部诸如此类的文件提供给基于诸如此类的文件制造(fabricate)设备的制造处理程序(fabricationhandler)。所产生的产品包括晶片,这些晶片随后被切割成模具,并封装成集成电路(或“芯片”)。接着在诸如图7中的电子设备700的电子设备中使用集成电路。

虽然为方便起见,对某些示例进行了单独描述,但应注意,诸如此类的示例的各个方面可以在不偏离公开范围的情况下适当地组合。例如,设备100可以配置为基于参考图2、3、4a、4b、5a和5b的每个所述的方面进行操作。本领域的技术人员将辨识本公开范围内的其他诸如此类的修改。

与本文所公开的示例一同描述的各种说明性的逻辑框、配置、模块、电路,和算法步骤可以作为电子硬件、由处理器执行的计算机软件、或两者的组合实施。根据各种说明性的组件、框、配置、模块、电路和步骤的功能,在上文对其进行了一般的描述。将诸如此类的功能作为硬件还是处理器可执行指令实施取决于具体的应用和设计约束对整体系统的影响。对于具体的应用,技术人员可以以变化的方式实施所述功能,但诸如此类的实施决定不应该被解释为导致偏离于本公开的范围。

本文所述的方法或算法的一个或更多操作可以直接体现在硬件中、在由处理器执行的软件模块中,或在两者的组合中。例如,可以由现场可编程门阵列(fpga)设备、专用集成电路(asic)、处理单元(诸如cpu、数字信号处理器(dsp)、控制器、另一个硬件设备、固件设备或其组合)启动、控制,或执行图6的过程600的一个或更多操作。软件模块可以驻留在ram、mram、闪存、rom、eprom、eeprom、寄存器、硬盘、可移动磁盘、cd-rom或该领域中已知的任何其他形式的非临时性存储介质中。示例性存储介质与处理器耦合,使得处理器能够从存储媒体读取信息,并将信息写入所述存储媒体。附加地或可替代的,存储介质对于处理器可以是不可缺少的。处理器和存储介质可以驻留在asic中。asic可以驻留在计算设备或用户终端中。附加地或可替代的,处理器和存储介质可以作为离散的组件驻留在计算设备或用户终端中。

提供本公开的示例的前述使得本领域的技术人员能够做出或使用公开的示例。对这些示例的各种修改对本领域的技术人员显而易见,本文定义的原则可以在不偏离本公开的范围的情况下用于其他示例。因此,呈现的公开不旨在限定于本文示出的示例,而是符合与所述原则保持一致的最宽可能范围并且通过以下权利要求定义的新颖的特征。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1