解耦的着色流水线.pdf

上传人:柴****2 文档编号:5890209 上传时间:2019-03-29 格式:PDF 页数:16 大小:1,005.03KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410635316.8

申请日:

2014.11.12

公开号:

CN104715501A

公开日:

2015.06.17

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06T 15/00申请日:20141112|||公开

IPC分类号:

G06T15/00(2011.01)I

主分类号:

G06T15/00

申请人:

英特尔公司

发明人:

K·瓦德亚纳坦; M·萨尔维; R·M·托特

地址:

美国加利福尼亚州

优先权:

14/103,951 2013.12.12 US

专利代理机构:

上海专利商标事务所有限公司31100

代理人:

张欣

PDF下载: PDF下载
内容摘要

公开了一种解耦的着色流水线。在某些实施例中,给定帧或图片可以具有不同的着色速率。在一个实施例中,在帧或图片的一些区域,着色速率可以小于每个像素一次,在其他位置,它可以是每个像素一次。其中可以降低着色速率的示例包括有运动和照相机散焦的区域,周界模糊的区域,以及一般而言以任何方式降低可见性的任何情况。在诸如着色方块之类的区域内,着色速率可以通过改变区域的大小来改变。

权利要求书

权利要求书
1.  一种方法,包括:
使用处理器,通过对至少一个区域调整大小来改变图片或帧的一个区域相对于另一区域的着色速率。

2.  如权利要求1所述的方法,其特征在于,包括改变着色方块的大小。

3.  如权利要求1所述的方法,其特征在于,包括使用浴盆函数来对区域调整大小。

4.  如权利要求2所述的方法,其特征在于,包括基于2的幂来量化区域大小。

5.  如权利要求4所述的方法,其特征在于,包括改变细节的纹理级别以补偿量化。

6.  如权利要求1所述的方法,其特征在于,包括基于一对带符号的缩放因子来设置网格大小,所述一对带符号的缩放因子的其中一个用于第一方向,另一个用于横向方向。

7.  如权利要求1所述的方法,其特征在于,包括逐个2Nx2N像素瓦片地估算网格大小,其中,N是最大的解耦的像素的大小。

8.  如权利要求6所述的方法,其特征在于,在2Nx2N瓦片的四个角部中的每一个中内插缩放因子,并判断是否有跨网格单元的所述四个角部的符号改变。

9.  如权利要求8所述的方法,其特征在于,如果有符号改变,则选择最小可能的网格单元间隔。

10.  如权利要求8所述的方法,其特征在于,如果没有符号改变,则从所述四个角部选择所述缩放因子的最小绝对值。

11.  一种设备,包括:
处理器,用于通过对至少一个区域调整大小来改变图片或帧的一个区域相对于另一区域的着色速率;以及
耦合到所述处理器的存储器。

12.  如权利要求11所述的设备,其特征在于,所述处理器改变着色方块的大小。

13.  如权利要求11所述的设备,其特征在于,所述处理器使用浴盆函数来对区域调整大小。

14.  如权利要求12所述的设备,其特征在于,所述处理器基于2幂来量化区域大小。

15.  如权利要求14所述的设备,其特征在于,所述处理器改变细节的纹理级别以补偿量化。

16.  如权利要求11所述的设备,其特征在于,所述处理器基于一对带符号的缩放因子来设置网格大小,所述一对带符号的缩放因子的其中一个用于第一方向,另一个用于横向方向。

17.  如权利要求11所述的设备,其特征在于,所述处理器逐个2Nx2N像 素瓦片地估算网格大小,其中,N是最大的解耦的像素的大小。

18.  如权利要求11所述的设备,其特征在于,包括可通信地耦合到所述处理器的显示器。

19.  如权利要求11所述的设备,其特征在于,包括耦合到所述处理器的电池。

20.  如权利要求11所述的设备,其特征在于,包括固件和用于更新所述固件的模块。

说明书

说明书解耦的着色流水线
技术领域
本文总体上涉及图形处理。
背景技术
使用图形处理器来产生用于显示在计算机显示器上的图像。图形流水线包括多个阶段来产生最后的描绘。通过采样不同的函数和着色,使用光栅化,来呈现图像。可见性函数是三角形内的采样点。着色确定在某一采样点的颜色是什么。因此,在下文中,使用术语“可见性样本”或“着色样本”。
在超级采样抗锯齿(SSAA)中,可见性样本与着色样本相同。在多重采样抗锯齿(MSAA)中,每个像素有单一着色样本,每个像素有许多可见性样本。图形处理器一般支持这两种抗锯齿解决方案。
附图说明
参考以下附图来描述一些实施例:
图1是本发明的一个实施例的流程图;
图2是另一个实施例的流程图;
图3是相对于X和Y缩放因子的网格单元大小的图形;
图4是根据一实施例的图形流水线的描绘;
图5是一个实施例的系统描绘;以及
图6是如图4所示的实施例的前视图。
具体实施方式
在某些实施例中,给定帧或图片可以具有不同的着色速率。在一个实施例中,在帧或图片的一些区域,着色速率可以小于每个像素一次,在其 他位置,它可以是每个像素一次。其中可以降低着色速率的示例包括有运动和照相机散焦的区域,周界模糊的区域,以及一般而言,以任何方式降低可见性的任何情况。着色速率可以在诸如着色方块(quad)之类的区域,通过改变区域的大小来改变。屏幕-方块是作为光栅器输出的一组2x2屏幕像素。着色像素是一组AxB屏幕像素。着色方块是一组2x2着色像素。
利用解耦的像素着色,以各种不同的方式中的一种来将MSAA的概念泛化(generalized)。它可以被泛化的一种方式将是按低于一个像素一次的速率计算着色,例如,每1x2像素、2x1像素、2x2像素、4x2像素、2x4像素,或4x4像素计算一次,以上仅为举例。通过每AxB像素给出一个着色样本,获得采用两个浮点数字A和B的完全连续分布也是可行的。另一种变体是将着色拆分为两个部分,以便一个部分每个像素地或每个样本地执行,另一部分以较慢的速率执行,然后,组合结果。
在现代的实时图形流水线中,以每个像素每个几何图元一次的速率来执行像素/段着色。然而,有许多用于降低像素着色速率的机会。这样的降低会导致功率消耗节省和其他性能优点。例如,在存在运动模糊和照相机散焦的情况下,有机会在帧的不同的部分,具有不同的着色速率。当一个场景带有运动和照相机散焦地呈现时,屏幕的一些区域可能会显得模糊,所以在那些区域,像素着色速率会低一些,因为它们主要显示低频率内容。在周界模糊的情况下,可以在用户难以感知到高频细节的屏幕的周边降低着色速率,至少在假设用户正在将注意力集中到屏幕的中心时是如此。此外,在较高密度显示器中,可以降低着色速率,而不会有细节的重大损失。
尽管可以灵活地降低着色速率,但是在某些实施例中,也以满速率采样可见性,以保留诸如边缘之类的锐利特征。在某些实施例中,也可以降低可见性采样速率,这具有在对象边缘处产生锯齿化(aliasing)不良影响的可能性。
参考图1,序列10可以以软件、固件和/或硬件来实现。在软件和固件实施例中,它可以通过计算机执行的指令来实现,该指令被存储在例如磁存储、光学存储,或半导体存储器之类的一个或多个非瞬态计算机可读 介质上。
首先,光栅器(rasterizer)21针对给定大小的像素区(在此示例中,2x2像素区24,叫做方块),测试图元。(也可以使用其他大小的像素区)。光栅器以空间填充顺序,诸如Morton顺序,遍历方块。在多重采样的情况下,如果图元覆盖方块中像素或样本中的任何一个,如示意图中标记出的被覆盖的方块所示的那样,则光栅器将方块朝下游发送给瓦片(tile)缓冲器16。在某些实施例中,可以在14执行早期z(early z)剔除。
对于给定图元,瓦片缓冲器可以将屏幕分割为两个2Nx2N像素大小的瓦片(其称为着色方块),并可以存储落在单一瓦片内的所有光栅化的方块,如在框18中所指出的。可以对于每两个2Nx2N瓦片,可评估屏幕对准的着色网格(框22)。
在某些实施例中,网格单元或着色方块的大小可以仅限于2的幂个像素的倍数。例如,单元大小可以是1x1、1x2、2x1、4x1、4x2、4x4,直到NxN,包括1xN和Nx1以及所有中间配置。
通过控制着色网格单元的大小,可以在框20控制着色速率。即,单元大小越大,瓦片的着色速率越低。
然后,将存储在瓦片缓冲器中的方块分组成着色方块,着色方块由相邻的网格单元的组所组成,诸如,在一个实施例中,2x2的相邻的网格单元的组。然后,对着色方块进行着色,将来自着色器的输出写回到颜色缓冲器中的所有被覆盖的像素。
逐个2Nx2N像素瓦片地估算网格大小(其中,N是被调整大小的方块内的最大的解耦的像素的大小,且对于每一个几何图元单独地估算)。“最大的解耦的像素”是指当着色方块的大小改变时像素的大小。在一个实施例中,四个像素构成一个方块,每一个像素都构成方块大小的四分之一。
可以通过叫做“缩放因子”的属性来控制网格大小,该缩放因子包括一对带符号的值——沿着X轴的缩放因子Sx,以及沿着Y轴的缩放因子Sy。可以以各种方式来指定缩放因子。例如,它可以从顶点属性内插出,或从屏幕位置计算出。
使用带符号的缩放因子是有用的,例如,在照相机散焦的情况下,如果图元穿过聚焦面。在此情况下,图元的顶点会在焦点之外,而图元的内部是焦点对准的。然后,可以将负的缩放因子指定为在焦平面的前面的顶点的属性,将正的缩放因子指定为焦平面后面的顶点的属性,反之亦然。对于图元的焦点对准的区域,缩放因子内插到零,因此,在焦点对准区域,保持高着色速率。
缩放因子可以在瓦片内变化,而对于每一个瓦片,仍计算出单一量化的网格单元大小。这可能会在网格大小中产生从瓦片到瓦片的不连续性,并会导致可见的网格过渡。
图2是根据一实施例的序列的流程图。序列可以以软件、固件,和/或硬件来实现。在软件和固件实施例中,序列可以通过存储在诸如磁性、光、或半导体存储器之类的一个或多个非瞬态计算机可读介质中的计算机执行指令来实现。
为了从缩放因子计算出网格大小,首先在2Nx2N瓦片的四个角部内插缩放因子(框50)。如果跨网格单元的四个角部有符号改变(框52和54),则这指示出瓦片内的最小值。在此情况下,选中最小可能的网格单元间隔,通常可以是一个像素。然后,将Sx和Sy箝位(clamp)到下箝位极限(框56)。如果没有符号改变,则从四个角部中选择缩放因子的最小绝对值(框58)。对于某些实现,可以使用不同于最小值的操作,例如,绝对值的平均值。然后,对方块大小进行仿射(affine)映射(框60),接下来是,箝位和量化(框62),以确定网格单元大小。
X和Y缩放因子是在实线上定义的,并通过凸函数或浴盆(tub)函数被独立地映射到X和Y网格单元大小,如图3所示,带有斜边46和水平底44。在其他实施例中,也可以使用其他函数。在某些实施例中,可能不支持小于单个屏幕空间像素的网格单元,而在这些情况下,网格单元大小决不会小于1。
凸函数或浴盆函数映射缩放因子,缩放因子对于确定方块大小如何变化进而确定着色采样速率如何变化是有用的。具体而言,浴盆函数将缩放 因子映射到离散的像素大小。缩放因子被用来确定方块的实际物理屏幕大小。如此处所使用的,浴盆函数是缩小然后增大像素区(诸如着色方块)大小以便改变着色速率的任何函数。
来自图形流水线的值作为被用来设置缩放因子的光栅器的输入。例如,输入可以来自顶点着色器,或者它可以在应用程序编程接口级别实现。它还可以来自固定功能硬件。输入告诉系统,对于屏幕上的某个点,或对于某个图元,方块大小的值应该是什么。因此,在图3中,输入值告知,相对于浴盆函数的平底部分,缩放因子将是什么。它将方块的大小映射到物理屏幕大小。
在某些实施例中,映射可以是映射到以2的幂表示的物理屏幕大小。2的幂的使用简化了硬件实现。
有利地,在过渡点,缩放因子相对较小,在过渡点的任一侧,如由浴盆的底指出的,缩放因子较大。如此,作为示例,当在x轴中的零点处,一个对象是焦点对准时,它可能在较大和较小的深度处焦点未对准。如此,在一个实施例中,在小于其中对象焦点对准的平面的深度,缩放因子可以被视为负的,而在大于该零深度级别的深度,缩放因子可以是正的。
浴盆函数的一种使用情况可能涉及逐个顶点计算出的属性。三角形可能会遭受散焦,在x轴上浴盆函数处的零点处所指出的一个深度处,区域焦点对准,在较小的和较大的深度处,区域焦点未对准。三角形越是模糊,通常它越少地被着色,因此,浴盆函数提供用于作出此过渡的工具。浴盆函数提供了一种方式来进行线性地内插,而且是从聚焦面的一侧的负值到焦点处的零再到另一侧的正数。如此,利用浴盆函数,在聚焦面的一侧像素大小较大,然后,在聚焦面,它变小,然后,在聚焦面的另一侧它变大。
在一个实施例中,浴盆函数的x轴指示任何跨单个三角形内插的属性。在上文所描述的示例中,x轴是深度的度量。但是,它可以是任何其他属性,诸如在周界模糊的示例中,它可以是跨屏幕的距离。浴盆函数是改变方块大小的一种方式,但是,在其他实施例中,还有可以被用来实现缩放因子的其他函数以及其他输入。
然而,也可以使用不跨三角形内插的属性。例如,在周界模糊的情况下,它可以简单地是基于屏幕坐标的值,该值可以由固定功能硬件来计算。
为提供更大的灵活性,仿射映射和箝位函数可以由两个参数来支配:
float2ShaderPixelSize=1+max(0,(abs(ScaleFactor)–A)*B);
其中,A控制平坦区44的宽度,而B控制左侧和右侧斜坡46的斜率。
网格单元大小的X和Y分量可以箝位到有限区间[1,M],其中,M是在[1,N]之间的2的幂。
为了不允许着色方块和屏幕的映射到不同的着色器的区域相重叠,在某些实施例中,可以量化由浴盆函数确定的网格单元的大小,以产生2的幂(即,1,2,4等等)的物理大小。这避免了多次重复着色相同方块。此选择也最小化在着色处理器之间交换的信息量。有至少两种方法用于将网格单元大小量化为2的幂:round(四舍五入取整)和floor(向下取整)。对于N=4的情况的示例伪代码如下所示:

诸如来自顶点着色器的输入、来自用户的输入、来自API的输入,或来自图形流水线上游的任何输入之类的输入值,都可以被用来确定调整的方块大小。在一个实施例中,输入值可以平滑地改变,但是,方块大小并不以类似平滑方式调整。这是因为量化成2的因数(factors of two)的效 应所致。在某些实施例中,由输入值规定的应有方块大小和所量化的实际方块大小之间的差异所产生的这些不连续性,可以在屏幕上变得可见。
在某些实施例中,可以通过修改细节的纹理级别(LOD)来补偿由量化所产生的误差,以补偿此屏幕效果。更准确地说,通过模糊纹理达一量(该量对应于输入值建议的方块大小不同于实际方块大小的量),可以使这些不连续性相对难以看到。因此,在某些实施例中,可以根据由来自上游的输入值所指定的希望的大小与实际产生的已量化的大小的比,对纹理坐标作出调整。
缩放因子可以在瓦片内平滑地变化。然而,可以对于每一个瓦片一次性估算已量化的网格单元大小。这可能会产生在瓦片间移动时网格大小的不连续性。为补偿这些不连续性,可以增强纹理样本或细节计算的级别,以反映实际、未量化的采样速率。这可以通过缩放用于计算给定的一组纹理坐标的细节的级别的有限差异来进行:
Finite_Difference_new=Finite_Different_Old*(Desired_Cell_Siz e/Quantized_Cell_Size)
可以以精细粒度,诸如2x2像素区,来估算未量化的希望的单元大小,并可以在此精细粒度应用补偿。这可产生图像细节的平稳变化,掩盖网格大小的不连续性。
尽管给出了二维示例,但是,三维实现也是可以设想的。在一个实施例中,三维空间可以平整化(flatten)为二维着色空间。可见性空间与着色空间解耦的三维以及更高维空间也是可以设想的。
参考图4,当在主机处理器上运行的程序启动绘图调用(draw call),图形流水线30处理绘图调用。一次光栅化一个图元。光栅器36生成多个段,在一个实施例中,还生成网格单元大小。网格单元大小用于着色器核38中。程序存储器34存储用于着色器核38的指令。着色器核向帧缓冲器存储器35输出已着色的片段。
图5示出了系统700的实施例。在各实施例中,系统700可以是媒体系统,尽管系统700不限于此。例如,系统700可被纳入到个人计算机(PC)、 膝上计算机、超薄笔记本电脑、平板计算机、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合式蜂窝电话/PDA、电视机、智能设备(例如智能电话、智能平板计算机或智能电视机)、移动互联网设备(MID)、消息接发设备、数据通信设备等中。
在各实施例中,系统700包括耦合到显示器720的平台702。平台702可以从诸如内容服务设备730、或内容递送设备740之类的内容设备或其他类似的内容源接收内容。包括一个或多个导航特征的导航控制器750可被用来与例如平台702和/或显示器720交互。在下文中更详细地描述这些组件中的每一个。
在各实施例中,平台702可以包括芯片组705、处理器710、存储器712、存储714、图形子系统715、应用程序716、和/或无线电718的任何组合。芯片组705可以在处理器710、存储器712、存储714、图形子系统715、应用程序716和/或无线电718之间提供相互通信。例如,芯片集705可包括能够提供与存储714的相互通信的存储适配器(未示出)。
处理器710可以实现为复杂指令系统计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容的处理器、多核,或任何其他微处理器或中央处理单元(CPU)。在各实施例中,处理器710可以包括双核处理器、双核移动处理器等等。处理器与存储器712一起可以实现图1和2的序列。
存储器712可以实现为易失性存储器设备,诸如,但不仅限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM),或静态RAM(SRAM)。
存储714可实现为非易失性存储设备,例如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附属存储设备、闪存、电池应急SDRAM(同步DRAM)和/或网络可访问存储设备。在各实施例中,存储714可包括当例如包括多个硬盘驱动器时增加对有价值数字媒体的存储性能增强化保护的技术。
图形子系统715可执行对例如静止图像或视频的图像的处理以供显示。图形子系统715可以例如是图形处理单元(GPU)或视觉处理单元(VPU)。 模拟或数字接口可用于通信地耦合图形子系统715和显示器720。例如,接口可以是高清多媒体接口(HDMI)、显示器端口、无线HDMI和/或无线HD适应技术中的任何一种。图形子系统715可以被集成到处理器710或芯片组705中。图形子系统715可以是通信耦合到芯片组705的独立卡。
本文中所描述的图形和/或视频处理技术可在各种硬件体系结构中实现。例如,图形和/或视频功能可被集成在芯片集中。替代地,可使用分立的图形和/或视频处理器。作为又一实施例,图形和/或视频功能可由包括多核处理器的通用处理器实现。在又一实施例中,这些功能可实现在消费者电子设备中。
无线电718可以包括能够使用各种合适的无线通信技术传输和接收信号的一个或多个无线电。这些技术可涉及跨一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络以及卫星网络。在跨这样的网络的通信中,无线电718可以根据任何版本的一个或多个适用的标准来操作。
在各实施例中,显示器720可以包括任何电视机类型监视器或显示器。显示器720可以包括,例如,计算机显示器屏幕、触摸屏显示器、视频监视器、类似于电视机的设备,和/或电视机。显示器720可以是数字和/或模拟的。在各实施例中,显示器720可以是全息显示器。此外,显示器720还可以是可接收视觉投影的透明表面。这样的投影可以传达各种形式的信息、图像,和/或对象。例如,这样的投影可以是用于移动增强现实(MAR)应用程序的视觉覆层。在一个或多个软件应用程序716的控制下,平台702可以在显示器722上显示用户界面720。
在各实施例中,内容服务设备730可由任何国内、国际和/或独立服务所主控,并因此可经由例如因特网由平台702来访问。内容服务设备730可耦合到平台702和/或显示器720。平台702和/或内容服务设备730可耦合到网络760以向网络760传递媒体信息并对来自网络760的媒体信息进行传递(例如,发送和/或接收)。内容传递设备740也可耦合到平台702和/或显示器720。
在各实施例中,内容服务设备730可以包括有线电视盒、个人计算机、网络、电话、启用因特网的设备、或能够递送数字信息和/或内容的其他电器,以及能够通过网络760或直接在内容提供商和平台702和/或显示器720之间单方向地或双向地传递内容的任何其他类似的设备。将能理解,内容可经由网络760单向和/或双向地传递到和传递自系统700中的各组件和内容提供者中的任一个。内容的示例可包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等等。
内容服务设备730接收内容,诸如有线电视节目,其包括媒体信息、数字信息和/或其他内容。内容提供者的例子可包括任何有线或卫星电视或无线电,或者互联网内容提供者。给出的例子不旨在对本发明的实施例构成限制。
在各实施例中,平台702可从具有一个或多个导航特征的导航控制器750接收控制信号。控制器750的导航特征可以被用来,例如,与用户界面722进行交互。在一些实施例中,导航控制器750可以是定点(pointing)设备,它可以是允许用户将空间(例如连续和多维)数据输入到计算机中的计算机硬件组件(具体地说是人机接口设备)。许多系统——例如图形用户接口(GUI)以及电视机和监视器——允许用户使用身体姿势、面部表情或声音,控制并将数据提供给计算机或电视机。
控制器750的导航特征的移动可以通过指针、光标、焦点环,或显示在显示器上的其他可视指示符,反映到显示器(例如,显示器720)上。例如,在软件应用716的控制下,位于导航控制器750上的导航特征可以被映射到例如用户界面722上显示的虚拟导航特征。在各实施例中,控制器750可以不是单独的组件,而是集成到平台702和/或显示器720中。然而,各实施例并不限于这些元件或本文中示出或描述的背景。
在各实施例中,驱动程序(未示出)可以包括技术,当其启用时,例如,允许用户在初始引导后通过触摸按钮来立即打开和关闭类似电视机的平台702。程序逻辑可以允许平台702甚至在平台被“关闭”时向媒体适配器或其他内容服务设备730或内容分发设备740流式播放内容。另外,芯 片组705还可以包括,例如,对于5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件支持。驱动器可包括用于集成的图形平台的图形驱动器。在一些实施例中,图形驱动器可包括快速外围组件互连(PCI)图形卡。
在各实施例中,系统700中所示组件中的任意一个或多个可被集成。例如,平台702和内容服务设备730可被集成,或者平台702和内容传递设备740可被集成,或者平台702、内容服务设备730和内容传递设备740可被集成。在各实施例中,平台702和显示器720可以是集成单元。例如,显示器720和内容服务设备730可被集成,或者显示器720和内容传递设备740可被集成。这些示例不旨在限制本发明。
在各实施例中,系统700可实现为无线系统、有线系统或两者的组合。当实现为无线系统时,系统700可包括适于在无线共享介质上通信的组件和接口,例如一个或多个天线、发射机、接收机、收发机、放大器、过滤器、控制逻辑等等。无线共享媒体的一个例子可包括无线频谱的一些部分,例如RF频谱等。当实现为有线系统时,系统700可以包括适用于通过有线通信介质进行通信的组件和接口,诸如输入/输出(I/O)适配器、将I/O适配器与相应的有线通信介质连接的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器等等。有线通信介质的示例可包括,线路、电缆、金属导线、印刷电路板(PCB)、后面板、交换机结构、半导体材料、双绞线、同轴电缆、光纤等等。
平台702可建立一个或多个逻辑或物理通道以交换信息。该信息可包括媒体信息和控制信息。媒体信息可指表示针对用户的内容的任何数据。内容的示例可以包括,例如,来自语音谈话、视频会议、流式视频、电子邮件消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等的数据。来自语音会话的数据可以是,例如,语音信息、静默时段、背景噪声、舒适噪声、音调等等。控制信息可指表示用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于使媒体信息路由通过系统,或指示节点以预定方式处理该媒体信息。然而,各实施例不限于图5中所示出的或所描述的上下文中的元件。
如前所述,系统700可具体化为不同的物理样式或形状因数。图6示出其中可实现系统700的小尺寸因数设备800的实施例。在一些实施例中,例如设备800可被实现为具有无线能力的移动计算设备的一部分。移动计算设备可指具有处理系统以及移动电源或供电(诸如一个或多个电池)的任何设备。
如前所述,移动计算设备的例子可包括个人计算机(PC)、膝上计算机、超薄笔记本电脑、平板计算机、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合式蜂窝电话/PDA、电视机、智能设备(例如智能电话、智能平板计算机或智能电视机)、移动互联网设备(MID)、消息接发(messaging)设备、数据通信设备等。
移动计算设备的示例也可包括被配置成由人穿戴的计算机,例如手腕式计算机、手指式计算机、戒指式计算机、眼镜式计算机、皮带夹计算机、腕带式计算机、鞋式计算机、服饰式计算机以及其它可穿戴计算机。例如,在各实施例中,移动计算设备可以实现为能够执行计算机应用程序以及语音通信和/或数据通信的智能电话。尽管已经以实现为智能电话的移动计算设备为例描述了一些实施例,但可理解其他实施例也可利用其他无线移动计算设备来实现。这些实施例不限于这种背景。
在某些实施例中,处理器710可以与照相机722和全球定位系统传感器720进行通信。在软件和/或固件实施例中,耦合到处理器710的存储器712,可以存储用于实现如图1和2所示的序列的计算机可读指令。
如图6所示,设备800可以包括外壳802、显示器804、输入/输出(I/O)设备806,以及天线808。设备800还可以包括导航特征812。显示器804可以包括用于显示适合于移动计算设备的信息的任何合适的显示单元。I/O设备806可以包括用于向移动计算设备中输入信息的任何合适的I/O设备。I/O设备806的示例可以包括字母数字键盘、数字键区、触摸板、输入键、按钮、开关、往复式开关、话筒、扬声器、语音识别设备以及软件等等。信息还可以通过麦克风(未示出)输入到设备800中。这样的信息可以通过语音识别设备(未示出)来数字化。这些实施例不限于这种背 景。
各个实施例可利用硬件部件、软件部件或两者的组合来实现。硬件部件的例子可包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、程序、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任意组合。判断一个实施例是否使用硬件元件和/或软件元件来实现可以根据任意数量的因素而不同,如所希望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度,及其他设计或性能约束。
下列子句和/或示例涉及进一步的实施例:
一个示例实施例可以是方法,包括:使用处理器,通过调整至少一个区域的大小来改变图片或帧的一个区域相对于另一区域的着色速率。所述方法还可以包括改变着色方块的大小。所述方法还可以包括使用浴盆(tub)函数来调整区域大小。所述方法还可以基于2的幂量化区域大小。所述方法还可以包括改变细节的纹理级别以补偿量化。所述方法还可以包括基于一对带符号的缩放因子(一个用于第一方向,另一个用于横向方向)来设置网格大小。所述方法还可以包括,逐个2Nx2N像素瓦片地估算网格大小,其中,N是最大的解耦的像素的大小。所述方法还可以包括在2Nx2N瓦片的四个角部中的每一个中内插缩放因子,并判断是否有跨网格单元的所述四个角部的符号改变。所述方法还可以包括,如果有符号改变,则选择最小可能的网格单元间隔。所述方法还可以包括,如果没有符号改变,则从所述四个角部选择所述缩放因子的最小绝对值。
另一示例实施例可以是至少一个或多个非瞬时的计算机可读介质,其存储有指令,所述指令由一个或多个处理器运行以按序列执行,该序列包 括:使用处理器,通过调整至少一个区域的大小来改变图片或帧的一个区域相对于另一区域的所述着色速率。介质还可以进一步存储指令以执行序列,包括改变着色方块的大小。介质还可以进一步存储指令以执行序列,包括使用浴盆(tub)函数来调整区域大小。介质还可以进一步存储指令以执行序列,包括基于2的幂量化区域大小。介质还可以进一步存储指令以执行序列,包括改变细节的纹理级别以补偿量化。介质还可以进一步存储指令以执行序列,包括基于一对带符号的缩放因子(一个用于第一方向,另一个用于横向方向)来设置网格大小。介质还可以进一步存储指令以执行序列,包括逐个2Nx2N像素瓦片地估算网格大小,其中,N是最大的解耦的像素的大小。介质还可以进一步存储指令以执行序列,包括在2Nx2N瓦片的四个角部中的每一个中内插缩放因子,并判断是否有跨网格单元的所述四个角部的符号改变。介质还可以进一步存储指令以执行序列,包括如果有符号改变,则选择最小可能的网格单元间隔。介质还可以进一步存储指令以执行序列,包括如果没有符号改变,则序列包括从所述四个角部选择所述缩放因子的最小绝对值。
另一示例实施例可以是设备,包括:处理器,用于通过调整至少一个区域的大小来改变图片或帧的一个区域相对于另一区域的所述着色速率,以及,耦合到所述处理器的存储器。所述设备可以包括,所述处理器改变着色方块的所述大小。所述设备可以包括,所述处理器使用浴盆(tub)函数来调整区域大小。所述设备可以包括,所述处理器基于2幂来量化区域大小。所述设备可以包括,所述处理器改变细节的纹理级别以补偿量化。所述设备可以包括,所述处理器基于一对带符号的缩放因子(一个用于第一方向,另一个用于横向方向)来设置网格大小。所述设备可以包括,所述处理器逐个2Nx2N像素瓦片地估算网格大小,其中,N是最大的解耦的像素的大小。所述设备可以包括所述处理器,包括可通信地耦合到所述处理器的显示器,耦合到所述处理器的电池,固件以及更新所述固件的模块。
此处所描述的图形处理技术可以以各种硬件体系结构来实现。例如,图形功能可以集成在芯片组内。可另选地,可以使用单独的图形处理器。 作为再一个实施例,图形功能可以通过通用处理器(包括多核处理器)来实现。
说明书中对“一个实施例”、“实施例”的引用意味着结合该实施例所描述的特定特征、结构或特性被包括在本发明内涵盖的至少一个实现中。因此,短语“一个实施例”或“在一个实施例中”的出现不一定是指同一个实施例。此外,还可以以除所示出的特定实施例以外的其他合适的形式构成特定特征、结构或特性,所有这样的形式都可以涵盖在本申请的权利要求书内。
尽管描述了数量有限的实施例,但是,那些本领域技术人员将从其中理解很多修改和变体。所附权利要求书涵盖所有这样的修改和变体都将在本发明的真正的精神和范围内。

解耦的着色流水线.pdf_第1页
第1页 / 共16页
解耦的着色流水线.pdf_第2页
第2页 / 共16页
解耦的着色流水线.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《解耦的着色流水线.pdf》由会员分享,可在线阅读,更多相关《解耦的着色流水线.pdf(16页珍藏版)》请在专利查询网上搜索。

公开了一种解耦的着色流水线。在某些实施例中,给定帧或图片可以具有不同的着色速率。在一个实施例中,在帧或图片的一些区域,着色速率可以小于每个像素一次,在其他位置,它可以是每个像素一次。其中可以降低着色速率的示例包括有运动和照相机散焦的区域,周界模糊的区域,以及一般而言以任何方式降低可见性的任何情况。在诸如着色方块之类的区域内,着色速率可以通过改变区域的大小来改变。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1