针对多阶段像素着色的自动划分技术的制作方法

文档序号:12142323阅读:225来源:国知局
针对多阶段像素着色的自动划分技术的制作方法与工艺

在图形渲染流水线(例如可用于生成对三维(3D)场景的二维(2D)光栅表示)中,可以实现一个或多个像素着色器以便向2D光栅表示内的像素分配颜色和/或应用效果。尤其对于高分辨率内容,像素着色可能构成了消耗图形处理资源和/或功率特别多的部分。降低这类处理和/或功率成本的一个方法是实现多阶段像素着色。多阶段像素着色总体可涉及针对像素着色器输入的不同集合实现相应不同的像素着色速率。每个可能的像素着色速率可以体现比较性能和质量的不同潜在组合。例如,针对像素着色器输入的任意特定集合,相对使用标准像素着色速率,使用计算较不密集的粗糙像素着色速率可以以一定程度的图像质量为代价来产生性能上的提升。

针对任意给定像素着色器,当就质量而言以可能的最小成本获得性能收益时、和/或当就性能而言以可能的最小成本获得质量改进时,实现多阶段像素着色通常将是最有效的。对针对多阶段像素着色的像素着色器输入的集合的期望划分将相应地划分像素着色器输入。然而,手动确定针对像素着色器输入的集合的期望划分对于开发者来说是具有挑战性的任务,并且可能涉及对着色器使用的大量分析和/或若干试错法迭代。

附图说明

图1示出了装置的实施例和第一系统的实施例。

图2示出了第一逻辑流的实施例。

图3示出了第二逻辑流的实施例。

图4示出了第三逻辑流的实施例。

图5示出了第四逻辑流的实施例。

图6示出了第五逻辑流的实施例。

图7示出了第六逻辑流的实施例。

图8示出了第七逻辑流的实施例。

图9示出了存储介质的实施例。

图10示出了第二系统的实施例。

图11示出了第三系统的实施例。

图12示出了设备的实施例。

具体实施方式

本文公开的是针对多阶段像素着色的自动划分技术。根据各种这类技术,可以根据哪一个或多个候选划分策略被应用以及其评估结果来实现迭代过程。在一些实施例中,每个候选划分策略通常可以定义不同的方式,像素着色器输入的集合将以这些不同的方式基于图形场景/帧的总体质量对应用到那些像素着色器输入的相应像素着色速率的变化的敏感程度来被划分。

在一个实施例中,例如,装置可以包括逻辑,该逻辑的至少一部分是以硬件实现的,该逻辑用于执行下述操作:针对图形帧的像素着色器输入的集合,确定一个或多个候选划分策略中的每个候选划分策略的一个或多个相应的适用性度量,其中,每个候选划分策略包括一个或多个规则,该一个或多个规则用于基于针对像素着色器输入的质量敏感度值来划分像素着色器输入的集合以用于多阶段像素着色;基于所确定的适用性度量从一个或多个候选划分策略中选择针对该像素着色器输入的集合的划分策略;以及通过根据所选择的划分策略将像素着色器输入的集合划分为多个类别,来构造针对图形帧的多阶段像素着色器。描述了并要求保护其他实施例。

各个实施例可以包括一个或多个元件。元件可以包括被布置为执行特定操作的任意结构。每个元件可以根据一组给定的设计参数或性能约束的需要而被实现为硬件、软件或其任意组合。尽管可能利用特定拓扑结构中的有限数目的元件为例来描述实施例,但是根据给定实现方式的需要,实施例可以在替代拓扑结构中包括更多或更少的元件。值得注意的是,对“一个实施例”或“实施例”的任意提及表示结合该实施例描述的特定特征、结构、或特性被包括在至少一个实施例中。说明书中各个地方出现的短语“在一个实施例中”、“在一些实施例中”、以及“在各个实施例中”不一定全部指代同一实施例。

针对上面实施例的操作还可以参照下面的附图和所附的示例来描述。附图中的一些可以包括逻辑流。尽管本文所提出的这类附图可以包括特定逻辑流,但是可以理解的是逻辑流提供的仅仅是可以实现如本文所述的一般功能的方式的示例。此外,给定逻辑流不一定必须按所呈现的顺序执行,除非另有说明。此外,给定逻辑流可以由硬件元件、由处理器执行的软件元件、或其任意组合来实现。实施例不限于该上下文。

图1示出了装置100的框图。如图1中所示,装置100包括多个元件,包括处理器电路102、存储器单元104、以及图形管理模块106。然而,实施例不限于该图中所示的元件的类型、数目或布置。

在各个实施例中,装置100可以包括处理器电路102。可以使用任意处理器或逻辑设备(例如,复杂指令集计算机(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、x86指令集兼容处理器、实现指令集的组合的处理器、多核处理器(例如,双核处理器或双核移动处理器)、或任意其他微处理器或中央处理单元(CPU))来实现处理器电路102。处理器电路102还可以被实现为专用处理器,例如,控制器、微控制器、嵌入式处理器、芯片多处理器(CMP)、协同处理器、数字信号处理器(DSP)、网络处理器、介质处理器、输入/输出(I/O)处理器、媒体访问控制(MAC)处理器、无线电基带处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)等等。在一个实施例中,例如,处理器电路102可以被实现为通用处理器,例如由加利福尼亚州(Calif.)圣克拉拉(Santa Clara)的公司制造的处理器。实施例不限于该上下文。

在一些实施例中,装置100可以包括存储器单元104或被布置为与存储器单元104通信耦合。可以使用能够存储数据的任意机器可读或计算机可读介质来实现存储器单元104(包括易失性和非易失性存储器)。例如,存储器单元104可以包括只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据速率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电子可擦除可编程ROM(EEPROM)、闪速存储器、聚合物存储器(例如,铁电聚合物存储器)、双向存储器、相变或铁电存储器、硅氧化氮氧化硅(SONOS)存储器、磁卡或光卡、或适用于存储信息的任意其他类型的介质。值得注意的是存储器单元104的一些部分或全部可以与处理器电路102被包括在相同的集成电路上,或替代地,存储器单元104的一些部分或全部可以被配设在处理器电路102的集成电路外部的集成电路或其他介质(例如,硬盘驱动)上。尽管存储器单元104被包括在图1中的装置100内,但是在一些实施例中存储器单元104可以在装置100的外部。实施例不限于该上下文。

在各个实施例中,装置100可包括图形管理模块106。图形管理模块106可以包括可操作来代表装置100执行、管理和/或控制图形处理计算和/或操作的逻辑、电路和/或指令。在一些实施例中,图形管理模块106可操作来管理和/或控制图形处理单元(GPU)和/或其他图形处理电路(可操作来生成用于在一个或多个显示器上呈现图形的图形帧以供存储在一个或多个帧缓冲器中)。在各个实施例中,图形管理模块106可操作来执行、管理和/或控制与图形渲染流水线的像素着色操作相关联的图形处理计算。实施例不限于该上下文。

图1还示出了系统140的框图。系统140可以包括装置100的上述元件中的任意元件。系统100还可以包括射频(RF)收发器142。RF收发器142可以包括一个或多个无线电装置,该无线电装置能够使用各种适当的无线通信技术来发送和接收信号。这类技术可以涉及跨一个或多个无线网络的通信。示例性无线网络包括(但不限于)蜂窝无线电接入网络、无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、以及卫星网络。在跨这类网络进行通信中,RF收发器144可以根据一个或多个任意版本的适用标准来进行操作。实施例不限于该上下文。

在一些实施例中,系统140可以包括一根或多根RF天线144。任意特定RF天线144的示例可以包括但不限于,内部天线、全向天线、单极天线、偶极天线、端馈天线、循环偏振天线、微带天线、分集天线、双天线、三频段天线、四频段天线等等。在各个实施例中,RF收发器142可操作来使用一根或多根RF天线144发送和/或接收消息。实施例不限于该上下文。

在一些实施例中,系统140可以包括显示器146。显示器146可以包括能够显示从处理器电路102接收到的信息的任意显示设备。显示器146的示例可以包括电视机、监视器、投影仪、以及计算机屏幕。在一个实施例中,例如,显示器146可以由液晶显示器(LCD)、发光二极管(LED)或其他类型的适当的可视界面来实现。显示器146可以包括例如触敏显示屏(“触摸屏”)。在各个实现方式中,显示器146可以包括一个或多个薄膜晶体管(TFT)LCD(包括嵌入式晶体管)。然而,实施例不限于这些示例。

在装置100和/或系统140的一般操作中,图形管理模块106可操作来生成各种类型的图形信息以供由图形渲染流水线用于产生图形帧108,以供呈现在一个或多个显示器(例如显示器146)上。在一些实施例中,图形管理模块106生成的图形信息可以包括像素着色信息,像素着色信息针对一个或多个图形帧108定义一个或多个像素着色器和针对一个或多个像素着色器中的每个像素着色器的相应的输入集。在各个实施例中,图形管理模块106可操作来生成多阶段像素着色信息110以支持在图形渲染流水线中实现多阶段像素着色过程。在一些实施例中,多阶段像素着色信息110可以定义一个或多个多阶段像素着色器112。在各个实施例中,针对每个多阶段像素着色器112,多阶段像素着色信息110可以定义多个输入集,每个输入集可以对应于不同的像素着色速率。例如,在一些实施例中,多阶段像素着色信息110可以针对多阶段像素着色器112-1定义粗糙速率输入114-1和标准速率输入116-1。在另一示例中,在各个实施例中,多阶段像素着色信息110可以针对多阶段像素着色器112-2定义粗糙速率输入114-2、标准速率输入116-2、以及精细速率输入118-2。实施例不限于这些示例。

在一些实施例中,图形管理模块106可操作来结合生成多阶段像素着色信息110采用自动划分技术。在各个这类实施例中,图形管理模块106可操作来采用自动划分技术以基于原始像素着色信息120生成多阶段像素着色信息110。在一些实施例中,原始像素着色信息120可以包括定义像素着色器和相应输入的信息,用于使用单阶段像素着色过程渲染一个或多个图形帧108。在各个实施例中,原始像素着色信息120可以包括与传统像素着色器(例如在开发一个或多个图形帧108所对应的应用期间已经创建的传统像素着色器)相关联的信息。在一些实施例中,原始像素着色信息120可以定义一个或多个原始像素着色器122。在各个实施例中,针对每个原始像素着色器122,原始像素着色信息120可以定义像素着色器输入124的相应集合。实施例不限于该上下文。

在一些实施例中,图形管理模块106可操作来基于针对任意给定图形帧108的原始像素着色信息120来实现针对该图形帧108的多阶段像素着色的自动划分。在各个实施例中,根据这类自动划分技术,图形管理模块106可操作来通过划分针对任意给定图形帧108的原始像素着色器122的像素着色器输入124,来生成针对该图形帧108的多阶段像素着色器112的多个输入集。例如,在一些实施例中,图形管理模块106可操作来使用自动划分技术来将针对原始像素着色器122的像素着色器输入124划分为针对多阶段像素着色器112-1的粗糙速率输入114-1和标准速率输入116-1。在另一示例中,在各个实施例中,图形管理模块106可操作来使用自动划分技术将针对原始像素着色器122的像素着色器输入124划分为针对多阶段像素着色器112-2的粗糙速率输入114-2、标准速率输入116-2以及精细速率输入118-2。实施例不限于这些示例。

在一些实施例中,针对像素着色器输入124的任意特定集合,图形管理模块106可操作来确定质量敏感度值126的相应集合。在各个实施例中,每个质量敏感度值126通常可以包括对下述内容的指示符/估计:可能期望所生成的图形帧108的感知质量水平对应用到相应像素着色器输入124的像素着色速率的大致敏感程度。在一些实施例中,图形管理模块106可操作来基于针对其相应的像素着色器输入124的平面方程来计算每个质量敏感度值126。在各个实施例中,针对每个像素着色器输入124,图形管理模块106可操作来标识如下述等式(1)形式的平面方程:

Vi(x,y)=Ax+By+C (1)

其中,Vi(x,y)表示像素着色器输入124在光栅坐标(x,y)处的值,并且A、B和C是常数。在一些实施例中,图形管理模块106可操作来基于针对其相应像素着色器输入124的输入梯度来计算每个质量敏感度值126。在各个实施例中,图形管理模块106可操作来将每个质量敏感度值126计算为针对其相应像素着色器输入124的输入梯度(A,B)的上确界范数的95%。在一些其他实施例中,图形管理模块106可操作来使用其他梯度范数、其他统计构造(例如平均或其他百分比p)、或从着色器输入衍生物中获得的其他值来计算质量敏感度值126。实施例不限于该上下文。

在各个实施例中,图形管理模块106通常可操作来利用针对像素着色器输入124的集合的质量敏感度值126的集合来执行针对该像素着色器输入124的集合的划分决策。在一些实施例中,图形管理模块106可操作来评估一个或多个候选划分策略128,该一个或多个候选划分策略128用于基于像素着色器输入124的集合的相应质量敏感度值126的集合来划分该像素着色器输入124的集合。在各个实施例中,每个候选划分策略128通常可以包括一个或多个类别参数130,该集合中的每个像素着色器输入124按照该一个或多个类别参数130根据其相应的质量敏感度值126被分配给多个可能的类别中的一个类别。在一些实施例中,多个可能的类别中的每个类别可以与将用于多阶段像素着色过程的多个像素着色速率中的相应一个像素着色速率相对应。例如,针对涉及使用粗糙像素着色和标准像素着色的多阶段像素着色过程,给定候选划分策略128可以包括一个或多个类别参数130,该集合中的每个像素着色器输入124按照该一个或多个类别参数130基于其相应的质量敏感度值126被分配给粗糙速率类别(包括粗糙速率输入114-1)或标准速率类别(包括标准速率输入116-1)。在另一示例中,针对涉及使用粗糙像素着色、标准像素着色以及子像素/样本像素着色的多阶段像素着色过程,给定候选划分策略128可以包括一个或多个类别参数130,该集合中的每个像素着色器输入124按照该一个或多个类别参数130基于其相应的质量敏感度值126被分配给粗糙速率类别(包括粗糙速率输入114-2)、标准速率类别(包括标准速率输入116-2)、或精细速率类别(包括精细速率输入118-2)。实施例不限于这些示例。

在各个实施例中,任意给定候选划分策略128的类别参数130可以包括一个或多个质量敏感度阈值132,该一个或多个质量敏感度阈值132指定集合中的像素着色器输入124将如何基于其相应质量敏感度值126来被分类。在一些实施例中,每个质量敏感度阈值132可以包括这样的值:质量敏感度值126将与该值相比较以便确定相应像素着色器输入124应该还是不应该被分配到特定类别。例如,在各个实施例中,根据给定候选划分策略128,以低于质量敏感度阈值132的相关联的质量敏感度值126为特征的所有像素着色器输入124可以被分类为粗糙速率输入,而所有其他像素着色器输入124可以被分类为标准速率输入。在另一示例中,在一些实施例中,根据给定候选划分策略128,以低于第一质量敏感度阈值132的相关联的质量敏感度值126为特征的所有像素着色器输入124可以被分类为粗糙速率输入,以高于第二质量敏感度阈值132的相关联的质量敏感度值126为特征的所有像素着色器输入124可以被分类为精细速率输入,而所有其他像素着色器输入124可以被分类为标准速率输入。在各个实施例中,图形管理模块106评估的候选划分策略128的集合中的候选划分策略128关于其定义的特定质量敏感度阈值132可以彼此不同。实施例不限于该上下文。

在一些实施例中,任意给定候选划分策略128的类别参数130可以包括一个或多个输入计数134,该一个或多个输入计数134指定集合中的像素着色器输入124将如何基于其相应质量敏感度值126来被分类。在各个实施例中,每个输入计数134可以指定将被分配到特定类别的像素着色器输入124的数目。例如,在一些实施例中,根据给定候选划分策略128,输入计数134可以指定二十五个像素着色器输入124(包括以最低的二十五个质量敏感度值126为特征的那些像素着色器输入)将被分类为粗糙速率输入。在另一示例中,在各个实施例中,根据给定候选划分策略128,第一输入计数134可以指定二十五个像素着色器输入124(包括以最低的二十五个质量敏感度值126为特征的那些像素着色器输入)将被分类为粗糙速率输入,并且可以指定二十个像素着色器输入124(包括以最高的二十个质量敏感度值126为特征的那些像素着色器输入)将被分类为精细速率输入。在一些实施例中,图形管理模块106评估的候选划分策略128的集合中的候选划分策略128关于其定义的特定输入计数134可以彼此不同。实施例不限于该上下文。

在各个实施例中,图形管理模块106可操作来基于一个或多个因素来评估任意特定候选划分策略128,以便确定该候选划分策略128应用到其相关联的像素着色器输入124的集合的合适程度。在一些实施例中,这类因素中的一些或全部可以与同候选划分策略128的应用相关联的性能/质量权衡有关。例如,在各个实施例中,图形管理模块106可操作来基于与任意特定候选划分策略128的应用相关联的质量成本来评估该候选划分策略128。在一些这类实施例中,质量成本通常可以包括:相对于使用现有的单阶段像素着色器,根据候选划分策略128实现多阶段像素着色将牺牲感知图像质量的程度。在各个实施例中,图形管理模块106可以额外或替代地操作来基于与任意特定候选划分策略128的应用相关联的性能收益来评估该候选划分策略128。在一些这类实施例中,性能收益通常可以包括:相对于使用现有的单阶段像素着色器,根据候选划分策略128实现多阶段像素着色将产生性能改进的程度。在各个实施例中,这类性能改进可以降低图形存储器带宽消耗、增加图形处理速度和/或帧速率、减低功率消耗、或形成多个这类收益和/或一个或多个其他积极影响的组合。在一些实施例中,为了确定任意特定候选划分策略128的适用性,图形管理模块106可操作来考虑补充或替代与候选划分策略128的应用相关联的因素的一个或多个其他因素。实施例不限于该上下文。

在各个实施例中,图形管理模块106可操作来确定针对给定候选划分策略128的一个或多个适用性度量136并且基于该一个或多个适应性度量136来评估该候选划分策略128。在一些实施例中,每个适用性度量136可以包括与一个或多个因素相对应的指示符,这一个或多个因素与候选划分策略128的适用性有关。更具体地,在各个实施例中,每个适用性度量136可以包括用于考虑一个或多个这类因素的量化指示符。例如,在一些实施例中,图形管理模块106可操作来确定包括对图像的期望感知质量的量化指示的适用性度量136。在另一示例中,在各个实施例中,图形管理模块106可操作来确定包括对期望图形存储带宽消耗的量化指示的适用性度量136。实施例不限于这些示例。

在一些实施例中,适用性度量136可以包括一个或多个绝对指示符,该一个或多个绝对指示符在不参考其他可能的方法的情况下来描述与给定候选划分策略128的适用性有关的因素。例如,给定适用性度量136可以包括关于将由实现特定候选划分策略128的多阶段像素着色过程消耗的图形存储带宽的数量。在各个实施例中,适用性度量136可以额外或替代地包括一个或多个相对指示符,该一个或多个相对指示符比较性地来描述与给定候选划分策略128的适用性有关的因素。在一些实施例中适用性度量136可以包括一个或多个相对指示符,该一个或多个相对指示符将使用给定候选划分策略128的多阶段像素着色的预期结果与经由原始像素着色器122的单阶段像素着色的预期结果进行比较。在各个实施例中,例如,给定适用性度量136可以包括关于下述内容的指示:使用给定候选划分策略128执行多阶段像素着色而不是执行单阶段像素着色所产生的感知图像质量的预期变化。在另一示例中,在一些实施例中,给定适用性度量136可以包括关于下述内容的指示:图形存储带宽消耗的降低、图形处理速度和/或帧速率的增加、或功率消耗的降低。实施例不限于这些示例。

在各个实施例中,为了使能确定任意特定候选划分策略128的一个或多个比较适用性度量136,图形管理模块106可操作来生成与该候选划分策略128相对应的预期图形帧138。更具体地,在一些实施例中,图形管理模块106可操作来根据候选划分策略128划分像素着色器输入124的集合,并且使用经划分的输入来执行多阶段像素着色以获得与候选划分策略128相对应的预期图形帧138。在各个实施例中,图形管理模块106可操作来通过将预期图形帧138与经由对像素着色器输入124的集合应用原始像素着色器122所获得的原始图形帧108进行比较来确定一个或多个比较适用性度量136。在一些实施例中,图形管理模块106可操作来确定比较适用性度量136,比较适用性度量136通常指示预期图形帧138类似于或不同于原始图形帧108的程度。在各个实施例中,例如,图形管理模块106可操作来确定结构相似度度量(SSIM),SSIM描述预期图形帧138与原始图形帧108的相似度。这类比较适用性度量136的其他示例可以包括结构相异度度量(DSSIM)、峰值信噪比(PSNR)、均方误差(MSE)、通用质量指数(UQI)、以及视频质量度量(VQM)。实施例不限于这些示例。

在一些实施例中,图形管理模块106可操作来采用多阶段像素着色决策算法确定是否和/或如何将针对原始像素着色器122的像素着色器输入124的集合划分为针对多阶段像素着色器112的多个输入集。在各个实施例中,结合多阶段像素着色决策算法的应用,图形管理模块106可操作来根据其相应的适用性度量136来评估一个或多个候选划分策略128。

在一些实施例中,多阶段像素着色决策算法可以包括一个或多个规则,该一个或多个规则定义关于经由应用多阶段像素重色所获得的结果的可接受性的标准。在各个实施例中,这类关于可接受性的标准可以基于单个适用性因素或基于多个这类因素来定义。在一些实施例中,任意特定候选划分策略128可以基于指示该策略在一个或多个因素方面的效果的一个或多个适用性度量136来评估,关于可接受性的这类标准基于这一个或多个因素被定义。例如,在各个实施例中,多阶段像素着色决策算法可以指定任意给定候选划分策略128被视为仅当其相应的SSIM高于阈值时才产生可接受的结果。在另一示例中,在一些实施例中,多阶段像素着色决策算法可以指定任意给定候选划分策略128被视为仅当适用性度量136指示预期性能收益高于特定阈值时才产生可接受的结果。在第三示例中,在各个实施例中,可以结合上述两个标准,以使得任意给定候选划分策略128必须提供高于一个阈值的性能收益同时维护SSIM高于另一阈值以便被视为对于使用是可接受的。将理解的是,实施例不限于这些示例,并且在一些实施例中可以额外或替代地利用其他标准/阈值和/或其组合。实施例不限于该上下文。

在各个实施例中,多阶段像素着色决策算法可以额外或替代地包括一个或多个规则,以供在基于其相应适用性度量136在多个候选划分策略128中进行选择时使用。在一些实施例中,一个或多个这类规则可以基于单个因素指定在多个候选划分策略128之间进行比较。在各个实施例中,例如,多阶段像素着色决策算法可以指定多个候选划分策略128中产生最高SSIM的候选划分策略128将被选择用于实现。在一些实施例中,一个或多个这类规则可以基于多个因素指定在多个候选划分策略128之间进行比较。在各个实施例中,例如,多阶段像素着色决策算法可以指定多个候选划分策略128中产生高于截止(cutoff)阈值的SSIM的那些策略中提供最大性能收益的候选划分策略128将被选择用于实现。在一些实施例中,多阶段像素着色决策算法可以包括一个或多个规则,用于基于受使用多阶段像素着色影响的多个因素来获得关于适用性的复合指示符。在各个实施例中,例如,多阶段像素着色决策算法可以将复合适用性度量定义为描述各个候选划分策略128中的每个候选划分策略的相应性能和质量影响的适用性度量136的加权组合,并且可以规定与最高复合适用性度量相对应的候选划分策略128将被选择用于实现。实施例不限于这些示例。

在一些实施例中,在从一个或多个候选划分策略128中选择用于图形帧108的像素着色器输入124的集合的划分策略后,图形管理模块106可操作来构造针对图形帧108的多阶段像素着色器112。在各个实施例中,图形管理模块106可操作来通过根据所选择的划分策略将像素着色器输入124的集合划分为多个类别来构造多阶段像素着色器112。在示例实施例中,图形管理模块106可操作来通过根据所选择的划分策略将像素着色器输入124的集合划分为粗糙速率输入114-1和标准速率输入116-1来构造多阶段像素着色器112-1。在另一示例实施例中,图形管理模块106可操作来通过根据所选择的划分策略将像素着色器输入124的集合划分为粗糙速率输入114-2、标准速率输入116-2、以及精细速率输入118-2来构造多阶段像素着色器112-2。实施例不限于这些示例。

图2示出了例如可以表示一些实施例的逻辑流200。例如,逻辑流200可以表示在各个实施例中结合考虑多阶段像素着色技术对像素着色器输入的集合的预期应用、图1的图形管理模块106可以执行的操作。如逻辑流200所示,在202处可以针对图形帧的多个像素着色器输入中的每个像素着色器输入确定相应的质量敏感度值。在一些实施例中,多个像素着色器输入可以包括针对图形帧的原始像素着色器的像素着色器输入的集合。例如,图1的图形管理模块106可操作来针对图形帧108的原始像素着色器122的像素着色器输入124的集合确定质量敏感度值126的相应集合。在204处,可以选择用于分析的候选划分策略。例如,图1的图形管理模块106可操作来选择用于分析的候选划分策略128。在206处,候选划分策略可以被应用以将多个像素着色器输入根据其相应质量敏感度值划分为多个类别。例如,图1的图形管理模块106可操作来应用候选划分策略128以将像素着色器输入124的集合根据其相应质量敏感度值126划分为粗糙速率输入114和标准速率输入116。

在208处,可以针对多阶段像素着色过程确定一个或多个适用性度量,多阶段像素着色过程包括针对多个输入在206处被划分到的多个类别中的每个类别的相应阶段。例如,图1的图形管理模块106可操作来针对候选划分策略128确定一个或多个适用性度量136,其中图1的图形管理模块106应用候选划分策略128以将像素着色器输入124的集合划分为粗糙速率输入114和标准速率输入116。在210处,可以基于一个或多个适用性度量来评估候选划分策略的适用性。例如,图1的图形管理模块106可操作来基于其针对候选划分策略128确定的一个或多个适用性度量136来评估该候选划分策略128的适用性。在各个实施例中,在210处对候选划分策略210的评估可以根据多阶段像素着色决策算法被执行。在一些这类实施例中,在210处对候选划分策略的评估可以包括根据多阶段像素着色决策算法确定候选划分策略是否产生可接受的结果。在212处,可以确定另一候选划分策略是否将被评估。例如,图1的图形管理模块106可操作来确定是否评估另一候选划分策略128。如果在212处确定另一候选划分策略将被评估,则流程可以返回到204,在204处另一候选划分策略可以被选择用于评估。如果在212处确定无任何其他候选划分策略将被评估,则流程可以传到214。

在214处,可以确定已评估的候选划分策略中的至少一个是否将产生可接受的结果。例如,图1的图形管理模块106可操作来确定其已评估的候选划分策略128中的至少一个是否将产生可接受的结果。在各个实施例中,该确定可以通过参照在210处对各个候选划分策略的评估期间执行的各个可接受性的确定来完成。如果在214处确定无任何候选划分策略产生可接受的结果,则流程可以传到216,在216处可以确定针对考虑中的像素着色器输入的集合不应该生成任何多阶段像素着色器。例如,图1的图形管理模块106可操作来执行下述操作:如果已确定针对到原始像素着色器122的像素着色器输入的集合无任何候选划分策略128产生可接受的结果,则确定不将原始像素着色器122转换为多阶段像素着色器112。如果在214处确定至少一个候选划分策略产生可接受的结果,则流程可以传到218。在218处,可以使用已评估的那些候选划分策略中最适当的候选划分策略来生成多阶段像素着色器。例如,图形管理模块106可操作来根据针对原始像素着色器122的像素着色器输入124的集合的最适当的候选划分策略128来将原始像素着色器122转换为多阶段像素着色器112。在一些实施例中,可以在218处根据多阶段像素着色决策算法、基于针对已评估的各个候选划分策略的(一个或多个)相应适当性度量来标识最适当的候选划分策略。实施例不限于该上下文。

值得注意的是,尽管逻辑流200包括214处的可接受性确定和216处不实现所考虑的任何划分策略的潜在确定,但实施例不限于此。基于各种可能的特定于设计/实现方式的考虑,是执行还是省略这些操作可以根据实施例而不同。在各个实施例中,一旦评估了所有的候选划分策略,流程可以从212直接行进至218,在218处,可以使用最适当的策略来生成多阶段像素着色器。实施例不限于该上下文。

图3示出了逻辑流300,该逻辑流300例如可以表示在一些实施例中图2的逻辑流200中的框204到212处的操作。更具体地,逻辑流300可以表示下述各个实施例中的这类操作:在这些实施例中,每个候选划分策略包括针对类别参数的相应候选值,像素着色器输入的集合可以根据类别参数的相应候选值被划分为粗糙速率输入和标准速率输入。例如,逻辑流300可以表示图1的图形管理模块106在一些实施例中可以执行的、用于评估针对类别参数130的候选值的操作,类别参数130的候选值预期用于将像素着色器输入124的集合划分为粗糙速率输入114-1和标准速率输入116-1。如逻辑流300中所示,在302处可以选择候选类别参数值。例如,图1的图形管理模块106可操作来选择候选划分策略128,该候选划分策略128针对类别参数130指定特定值。在304处,像素着色器输入的集合中的每个像素着色器输入可以基于候选类别参数值被分类为粗糙速率输入或标准速率输入。例如,图1的图形管理模块106可操作来基于由所选择的候选划分策略128针对类别参数130所指定的值来将像素着色器输入124的集合中的每个像素着色器输入分类为粗糙速率输入114-1或标准速率输入116-1。

在306处,可以针对多阶段像素着色过程确定一个或多个适用性度量,多阶段像素着色过程包括根据在304处执行的分类对粗糙速率输入的粗糙像素着色和对标准速率输入的标准像素着色。例如,图1的图形管理模块106可操作来针对多阶段像素着色过程确定一个或多个适用性度量136,多阶段像素着色过程包括对粗糙速率输入114-1进行粗糙像素着色和对标准速率输入116-1进行标准像素着色。在308处,可以基于一个或多个适用性度量来评估候选类别参数值的适用性。例如,图1的图形管理模块106可操作来基于在306处确定的一个或多个适用性度量136来评估针对类别参数130指定特定值的候选划分策略128的适用性。在310处,可以确定另一候选类别参数值是否将被评估。例如,图1的图形管理模块106可操作来确定是否评估针对类别参数130指定相应不同值的另一候选划分策略128。如果在310处确定另一候选类别参数值将被评估,则流程可以返回到302,在302处另一候选类别参数值可以被选择用于评估。如果在310处确定无任何其他候选类别参数值将被评估,则逻辑流可以结束。实施例不限于该上下文。

图4示出了逻辑流400,逻辑流400例如可以表示在各个实施例中图3的逻辑流300中的框302到310处的操作,其中一个或多个候选值被评估的类别参数包括质量敏感度阈值,例如图1的质量敏感度阈值132。更具体地,逻辑流400可以表示表示下述一些实施例中的这类操作:在这些实施例中,类别参数包括粗糙速率质量敏感度阈值。如逻辑流400中所示,可以在402处选择候选质量敏感度阈值∈。例如,图1的图形管理模块106可操作来选择候选划分策略128,该候选划分策略128针对粗糙速率输入114-1指定质量敏感度阈值132的具体值。在404处,相应质量敏感度值小于候选∈的每个像素着色器输入可以被分类为粗糙速率输入。例如,针对原始像素着色器122的像素着色器输入124的集合,图1的图形管理模块106可操作来将相应质量敏感度值126小于候选∈的每个像素着色器输入124分类为粗糙速率输入114-1。

在406处,每个剩余像素着色器输入可以被分类为标准速率输入。例如,上述在404处确定粗糙速率输入114-1之后,图1的图形管理模块106可操作来将该集合中的剩余像素着色器输入124分类为标准速率输入116-1。在408处,可以针对候选∈确定一个或多个适用性度量,并且可以使用该一个或多个适用性度量来评估该候选∈的适用性。例如,图1的图形管理模块106可操作来针对多阶段像素着色过程确定一个或多个适用性度量136,多阶段像素着色过程包括对粗糙速率输入114-1的粗糙像素着色和对标准速率输入116-1的标准像素着色,并且可操作来基于一个或多个适用性度量136来评估针对质量敏感度阈值132指定具体值的候选划分策略128的适用性。在410处,可以确定另一候选∈是否将被评估。例如,图1的图形管理模块106可操作来确定是否评估另一候选划分策略128,该另一候选划分策略128针对粗糙速率输入114-1的质量敏感度阈值132指定相应不同值。如果在410处确定另一候选∈将被评估,则流程可以返回到402,在402处另一候选∈可以被选择用于评估。如果在410处确定无任何其他候选∈将被评估,则逻辑流可以结束。实施例不限于该上下文。

图5示出了逻辑流500,逻辑流500例如可以表示在各个实施例中图3的逻辑流300中的框302到310处的操作,其中一个或多个候选值被评估的类别参数包括输入计数,例如图1的输入计数134。更具体地,逻辑流500可以表示下述一些实施例中的这类操作:在这些实施例中,类别参数包括粗糙速率输入计数。如逻辑流500中所示,可以在502处选择候选粗糙速率输入计数N。例如,图1的图形管理模块106可操作来选择候选划分策略128,该候选划分策略128针对粗糙速率输入114-1的输入计数134指定具体值。在504处,以相应最低的N个质量敏感度值126为特征的像素着色器输入可以被分类为粗糙速率输入。例如,针对原始像素着色器122的像素着色器输入124的集合,图1的图形管理模块106可操作来将以相应最低的N个质量敏感度值126为特征的像素着色器输入124分类为粗糙速率输入114-1。

在506处,每个剩余像素着色器输入可以被分类为标准速率输入。例如,上述在504处确定粗糙速率输入114-1之后,图1的图形管理模块106可操作来将该集合中的剩余像素着色器输入124分类为标准速率输入116-1。在508处,可以针对候选N确定一个或多个适用性度量,并且可以使用该一个或多个适用性度量来评估该候选N的适用性。例如,图1的图形管理模块106可操作来针对多阶段像素着色过程确定一个或多个适用性度量136,多阶段像素着色过程包括对粗糙速率输入114-1的粗糙像素着色和对标准速率输入116-1的标准像素着色,并且可操作来基于一个或多个适用性度量136来评估针对粗糙速率输入114-1的输入计数134指定特定值的候选划分策略128的适用性。在510处,可以确定另一候选N是否将被评估。例如,图1的图形管理模块106可操作来确定是否评估另一候选划分策略128,该另一候选划分策略128针对粗糙速率输入114-1的输入计数134指定相应不同值。如果在510处确定另一候选N将被评估,则流程可以返回到502,在502处另一候选N可以被选择用于评估。如果在510处确定无任何其他候选N将被评估,则逻辑流可以结束。实施例不限于该上下文。

图6示出了逻辑流600,该逻辑流600例如可以表示在各个实施例中图2的逻辑流200中的框204到212处的操作。更具体地,逻辑流600可以表示下述一些实施例中的这类操作:在这些实施例中,每个候选划分策略包括针对类别参数集合的相应候选值集合,像素着色器输入的集合可以根据类别参数集合的相应候选值集合被划分为粗糙速率输入、标准速率输入以及精细速率输入。例如,逻辑流600可以表示图1的图形管理模块106在各个实施例中可以执行的、用于评估针对类别参数130的集合的候选值集合的操作,类别参数130的集合的候选值集合预期用于将像素着色器输入124的集合划分为粗糙速率输入114-2、标准速率输入116-2以及精细速率输入118-2。如逻辑流600中所示,在602处可以选择候选类别参数值对。例如,图1的图形管理模块106可操作来选择候选划分策略128,该候选划分策略128针对一对类别参数130指定相应特定值。值得注意的是,尽管逻辑流600描述了一对类别参数被用于将像素着色器输入的集合划分为三个类别的示例情境,但是实施例不限于该示例。使用更多数目的类别参数和/或这类类别参数被用于将像素着色器输入的集合划分为不止三个类别的实施例既是可能的也是能预计到的。实施例不限于该上下文。

在604处,像素着色器输入的集合中的每个像素着色器输入可以基于候选类别参数值对被分类为粗糙速率输入、标准速率输入或精细速率输入。例如,图1的图形管理模块106可操作来基于由所选择的候选划分策略128针对该对类别参数130所指定的相应值来将像素着色器输入124的集合中的每个像素着色器输入分类为粗糙速率输入114-2、标准速率输入116-2或精细速率输入118-2。在606处,可以针对多阶段像素着色过程确定一个或多个适用性度量,多阶段像素着色过程包括根据在604处执行的分类对粗糙速率输入进行粗糙像素着色、对标准速率输入进行标准像素着色、和/或对精细速率输入进行子像素/样本着色。例如,图1的图形管理模块106可操作来针对多阶段像素着色过程确定一个或多个适用性度量136,多阶段像素着色过程包括对粗糙速率输入114-2的粗糙像素着色、对标准速率输入116-2的标准像素着色、和/或对精细速率输入118-2的子像素/样本着色。

在608处,可以基于一个或多个适用性度量来评估候选类别参数值对的适用性。例如,图1的图形管理模块106可操作来基于在606处确定的一个或多个适用性度量136来评估针对该对类别参数130指定相应特定值的候选划分策略128的适用性。在610处,可以确定另一候选类别参数值对是否将被评估。例如,图1的图形管理模块106可操作来确定是否评估针对一对类别参数130中的一个或两个类别参数指定相应不同值的另一候选划分策略128。如果在610处确定另一候选类别参数值对将被评估,则流程可以返回到602,在602处另一候选类别参数值对可以被选择用于评估。如果在610处确定无任何其他候选类别参数值对将被评估,则逻辑流可以结束。实施例不限于该上下文。

图7示出了逻辑流700,逻辑流700例如可以表示在一些实施例中图6的逻辑流600中的框602到610处的操作,其中一个或多个候选值对被评估的一对类别参数包括一对质量敏感度阈值,例如图1的质量敏感度阈值132。更具体地,逻辑流700可以表示下述各个实施例中的这类操作:在这些实施例中,该对类别参数包括粗糙速率质量敏感度阈值和精细速率质量敏感度阈值。值得注意的是,尽管逻辑流700描述了一对质量敏感度阈值被用于将像素着色器输入的集合划分为三个类别的示例情境,但是实施例不限于该示例。使用更多数目的质量敏感度阈值和/或这类质量敏感度阈值被用于将像素着色器输入的集合划分为不止三个类别的实施例既是可能的也是能预计到的。实施例不限于该上下文。

如逻辑流700中所示,可以在702处选择候选质量敏感度阈值对{∈C,∈F},其中∈C表示粗糙速率质量敏感度阈值,并且∈F表示精细速率质量敏感度阈值。例如,图1的图形管理模块106可操作来选择候选划分策略128,该候选划分策略128针对粗糙速率输入114-2的质量敏感度阈值132和针对精细速率输入118-2的质量敏感度阈值132指定相应特定值。在704处,相应质量敏感度值小于候选∈C的每个像素着色器输入可以被分类为粗糙速率输入。例如,针对原始像素着色器122的像素着色器输入124的集合,图1的图形管理模块106可操作来将相应质量敏感度值126小于候选∈C的每个像素着色器输入124分类为粗糙速率输入114-2。在706处,相应质量敏感度值大于候选∈F的每个像素着色器输入可以被分类为精细速率输入。例如,针对像素着色器输入124的上述集合,图1的图形管理模块106可操作来将相应质量敏感度值126大于候选∈F的每个像素着色器输入124分类为精细速率输入118-2。

在708处,每个剩余像素着色器输入可以被分类为标准速率输入。例如,上述在704处确定粗糙速率输入114-2和在706处确定精细速率输入118-2之后,图1的图形管理模块106可操作来将该集合中的剩余像素着色器输入124分类为标准速率输入116-2。在710处,可以针对候选对{∈C,∈F}确定一个或多个适用性度量,并且可以使用该一个或多个适用性度量来评估该候选对{∈C,∈F}的适用性。例如,图1的图形管理模块106可操作来针对多阶段像素着色过程确定一个或多个适用性度量136,多阶段像素着色过程包括对粗糙速率输入114-2进行粗糙像素着色、对标准速率输入116-2进行标准像素着色、以及对精细速率输入118-2进行子像素/样本着色,并且图1的图形管理模块106可操作来基于一个或多个适用性度量136来评估指定一对特定质量敏感度阈值132的候选划分策略128的适用性。在712处,可以确定另一候选对{∈C,∈F}是否将被评估。例如,图1的图形管理模块106可操作来确定是否评估另一候选划分策略128,该另一候选划分策略128针对粗糙速率输入114-2的质量敏感度阈值132和针对精细速率输入118-2的质量敏感度阈值132中的一者或二者指定相应不同值。如果在712处确定另一候选对{∈C,∈F}将被评估,则流程可以返回到702,在702处另一候选对{∈C,∈F}可以被选择用于评估。如果在712处确定无任何其他候选对{∈C,∈F}将被评估,则逻辑流可以结束。实施例不限于该上下文。

图8示出了逻辑流800,逻辑流800例如可以表示在一些实施例中图6的逻辑流600中的框602到610处的操作,其中一个或多个候选值对被评估的一对类别参数包括一对输入计数,例如图1的输入计数134。更具体地,逻辑流800可以表示下述各个实施例中的这类操作:在这些实施例中,该对类别参数包括粗糙速率输入计数和精细速率输入计数。值得注意的是,尽管逻辑流800描述了一对输入计数被用于将像素着色器输入的集合划分为三个类别的示例情境,但是实施例不限于该示例。使用更多数目的输入计数和/或这类输入计数被用于将像素着色器输入的集合划分为不止三个类别的实施例既是可能的也是能预计到的。实施例不限于该上下文。

如逻辑流800中所示,可以在802处选择候选质量敏感度阈值对{NC,NF},其中NC表示粗糙速率输入计数,并且NF表示精细速率输入计数。例如,图1的图形管理模块106可操作来选择候选划分策略128,该候选划分策略128针对粗糙速率输入114-2的输入计数134和针对精细速率输入118-2的输入计数134指定相应特定值。在804处,以相应最低的NC个质量敏感度值为特征的像素着色器输入可以被分类为粗糙速率输入。例如,针对原始像素着色器122的像素着色器输入124的集合,图1的图形管理模块106可操作来将以最低的NC个质量敏感度值126为特征的像素着色器输入124分类为粗糙速率输入114-2。在806处,以相应最高的NF个质量敏感度值为特征的像素着色器输入可以被分类为精细速率输入。例如,针对像素着色器输入124的上述集合,图1的图形管理模块106可操作来将以最高的NF个质量敏感度值126为特征的像素着色器输入124分类为精细速率输入118-2。

在808处,每个剩余像素着色器输入可以被分类为标准速率输入。例如,上述在804处确定粗糙速率输入114-2和在806处确定精细速率输入118-2之后,图1的图形管理模块106可操作来将该集合中的剩余像素着色器输入124分类为标准速率输入116-2。在810处,可以针对候选对{NC,NF}确定一个或多个适用性度量,并且可以使用该一个或多个适用性度量来评估该候选对{NC,NF}的适用性。例如,图1的图形管理模块106可操作来针对多阶段像素着色过程确定一个或多个适用性度量136,多阶段像素着色过程包括对粗糙速率输入114-2进行粗糙像素着色、对标准速率输入116-2进行标准像素着色、以及对精细速率输入118-2进行子像素/样本着色,并且图1的图形管理模块106可操作来基于一个或多个适用性度量136来评估指定一对特定输入计数134值的候选划分策略128的适用性。在812处,可以确定另一候选对{NC,NF}是否将被评估。例如,图1的图形管理模块106可操作来确定是否评估另一候选划分策略128,该另一候选划分策略128针对粗糙速率输入114-2的输入计数134和针对精细速率输入118-2的输入计数134中的一者或二者指定相应不同值。如果在812处确定另一候选对{NC,NF}将被评估,则流程可以返回到802,在802处另一候选对{NC,NF}可以被选择用于评估。如果在812处确定无任何其他候选对{NC,NF}将被评估,则逻辑流可以结束。实施例不限于该上下文。

图9示出了存储介质900的实施例。存储介质900可以包括任何非暂态计算机可读介质或机器可读存储介质,例如光、磁或半导体存储介质。在各个实施例中,存储介质900可以包括制造品。在一些实施例中,存储介质900可以存储计算机可执行指令,例如,实现图2的逻辑流200、图3的逻辑流程300、图4的逻辑流400、图5的逻辑流500、图6的逻辑流600、图7的逻辑流700、以及图8的逻辑流800中的一个或多个逻辑流的计算机可执行指令。计算机可读存储介质或机器可读存储介质的示例可以包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写或可重写存储器等等。计算机可执行指令的示例可以包括任何合适类型的代码,如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象的代码、可视代码等。实施例不限于该上下文。

图10示出了系统1000的一个实施例。在各个实施例中,系统1000可以表示适用于本文所述的一个或多个实施例(例如,图2的逻辑流200、图3的逻辑流300、图4的逻辑流400、图5的逻辑流500、图6的逻辑流600、图7的逻辑流700、图8的逻辑流800、以及图9的存储介质900中的一个或多个)的系统或架构。实施例不限于该方面。

如图10中所示,系统1000可以包括多个元件。一个或多个元件可以根据一组给定的设计或性能约束的需要而使用一个或多个电路、组件、寄存器、处理器、软件子例程、模块或其任意组合来实现。尽管图10在特定拓扑结构中举例示出了有限数目的元件,但是可以理解的是,可以根据给定实现方式的需要在系统1000中使用任意适当的拓扑结构中的更多或更少的元件。实施例不限于该方面。

在各个实施例中,系统1000可以包括处理器电路1002。处理器电路10002可以使用任意处理器或逻辑设备来实现,并且可以与图1的处理器电路102相同或类似。

在一个实施例中,系统1000可以包括耦合于处理器电路1002的存储器单元1004。根据给定实现方式的需要,存储器单元1004可以经由通信总线1043、或通过处理器电路1002和存储器单元1004之间的专用通信总线被耦合到处理器电路1002。存储器单元1004可以使用能够存储数据的任意机器可读或计算机可读介质来实现(包括易失性和非易失性存储器),并且可以与图1的存储器单元104相同或类似。在一些实施例中,机器可读或计算机可读介质可以包括非暂态介质。实施例不限于该上下文。

在各个实施例中,系统1000可以包括RF收发器1044。RF收发器1044可以包括能够使用各个适当的无线通信技术来发送和接收信号的一个或多个无线电装置,并且可以与图1的RF收发器142相同或类似。

在各个实施例中,系统1000可以包括显示器1045。显示器1045可以包括能够显示从处理器电路1002接收到的信息的任意显示设备,并且可以与图1的显示器146相同或类似。实施例不限于该上下文。

在各个实施例中,系统1000可以包括存储装置1046。存储装置1046可以被实现在非易失性存储设备上,非易失性存储设备例如但不限于磁盘驱动、光盘驱动、带驱动、内部存储设备、附接存储设备、闪存、电池备用SDRAM(同步DRAM)、和/或可访问网络的存储设备。在实施例中,存储装置1046可以包括用于下述内容的技术:例如,增加针对包括多个硬驱动的有价值的数字介质的存储性能增强保护。存储装置1046的另外的示例可以包括硬盘、软盘、致密盘只读存储器(CD-ROM)、可记录致密盘(CD-R)、可重写致密盘(CD-RW)、光盘、磁介质、磁光介质、可移除存储器卡或盘、各种类型的DVD设备、带设备、盒设备等。实施例不限于该上下文。

在各个实施例中,系统1000可以包括一个或多个I/O适配器1047。I/O适配器1047的示例可以包括通用串行总线(USB)端口/适配器、IEEE1394火线端口/适配器等。实施例不限于该上下文。

图11示出了系统1100的实施例。在各个实施例中,系统1100可以表示适用于本文所述的一个或多个实施例(例如,图2的逻辑流200、图3的逻辑流300、图4的逻辑流400、图5的逻辑流500、图6的逻辑流600、图7的逻辑流700、图8的逻辑流800、图9的存储介质900、以及图10的系统1000中的一个或多个)的系统或架构。实施例不限于该方面。

如图11中所示,系统1100可以包括多个元件。一个或多个元件可以根据一组给定的设计或性能约束的需要而使用一个或多个电路、组件、寄存器、处理器、软件子例程、模块或其任意组合来实现。尽管图11在特定拓扑结构中举例示出了有限数目的元件,但是可以理解的是,可以根据给定实现方式的需要在系统1100中使用任意适当的拓扑结构中的更多或更少的元件。实施例不限于该方面。

在实施例中,系统1100可以是媒体系统,但是系统1100不限于该上下文。例如,系统1100可以被合并到个人计算机(PC)、膝上型计算机、超极膝上型计算机、平板电脑、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能手机、智能平板或智能电视)、移动互联网设备(MID)、消息传送设备、数据通信设备等。

在实施例中,系统1100包括耦合于显示器1145的平台1101。平台1101可以从内容设备(例如,(一个或多个)内容服务设备1148或(一个或多个)内容传送设备1149)或其他类似的内容源接收内容。包括一个或多个导航特征的导航控制器1150可用于与例如平台1101和/或显示器1145进行交互。下面更详细描述了这些组件中的每个组件。

在实施例中,平台1101可以包括以下各项的任意组合:处理器电路1102、芯片集1103、存储器单元1104、收发器1144、存储装置1146、应用1151、和/或图形子系统1152。芯片集1103可以提供处理器电路1102、芯片集1103、存储器单元1104、收发器1144、存储装置1146、应用1151、和/或图形子系统1152之间的相互通信。例如,芯片集1103可以包括能够提供与存储装置1146的相互通信的存储适配器(未示出)。

处理器电路1102可以使用任意处理器或逻辑设备来实现,并且可以与图10的处理器电路1002相同或类似。

存储器单元1104可以使用能够存储数据的任意机器可读或计算机可读介质来实现,并且可以与图10的存储器单元1004相同或类似。

收发器1144可以包括能够使用各个适当的无线通信技术来发送和接收信号的一个或多个无线电装置,并且可以与图10的RF收发器1044相同或类似。

显示器1145可以包括电视类型监视器或显示器,并且可以与图10的显示器1045相同或类似。

图形子系统1152可以执行对图像(例如静止图像)或视频的处理以供显示。例如,图形子系统1152可以是图形处理单元(GPU)或可视处理单元(VPU)。模拟或数字接口可用于通信耦合图形子系统1152和显示器1145。例如,接口可以是下述各项中的任意项:高清多媒体接口、显示器端口、无线HDMI、和/或无线HD兼容技术。图形子系统1152可以被集成到处理器电路1102或芯片集1103中。图形子系统1152可以是通信耦合到芯片集1103的独立卡。

本文所述的图形和/或视频处理技术可以在各个硬件架构中实现。例如,图形和/或视频功能可以被集成在芯片集内。替代地,可以使用离散图形和/或视频处理器。仍作为另一实施例,可以通过通用处理器(包括多核处理器)来实现图形和/或视频功能。在另一实施例中,功能可以在消费电子设备中实现。

在实施例中,(一个或多个)内容服务设备1148可以由任意国家、国际和/或独立服务托管,因而可经由例如互联网访问平台1101。(一个或多个)内容服务设备1148可以耦合到平台1101和/或耦合到显示器1145。平台1101和/或(一个或多个)内容服务设备1148可以被耦合到网络1153以向和从网络1153传送(例如,发送和/或接收)媒体信息。(一个或多个)内容传送设备1149也可以被耦合到平台1101和/或显示器1145。

在实施例中,(一个或多个)内容服务设备1148可以包括电缆电视盒、个人计算机、网络、电话、具有互联网功能的设备或能够传送数字信息和/或内容的装置、以及能够经由网络1153或直接在内容提供商和平台1101和/或显示器1145之间单向或双向地传送内容的任意其他类似设备。将理解的是,可以经由网络1153单向和/或双向地向和从系统1100中的组件之一和内容提供商传送内容。内容的示例可以包括任意媒体信息,包括例如视频、音乐、医疗和游戏信息等。

(一个或多个)内容服务设备1148接收诸如有线电视节目之类的内容,包括媒体信息、数字信息、和/或其他内容。内容提供商的示例可以包括任意电缆或卫星电视或无线电或互联网内容提供商。所提供的示例不表示限制所公开的主题的实施例。

在实施例中,平台1101可以从具有一个或多个导航特征的导航控制器1150接收控制信号。例如,导航控制器1150的导航特征可用于与用户界面1154进行交互。在实施例中,导航控制器1150可以是定点设备,该定点设备可以是允许用户将空间(例如,连续和多维)数据输入到计算机中的计算机硬件组件(尤其是人类接口设备)。许多系统(例如,图形用户界面(GUI)、以及电视和监视器)允许用户使用物理姿势控制数据和向计算机或电视提供数据。

导航控制器1150的导航特征的运动可以通过指针、光标、聚焦环、或显示器上所显示的其他可视指示符的运动来被回送(echoed)到显示器(例如,显示器1145)上。例如,在软件应用1151的控制下,位于导航控制器1150上的导航特征可以被映射到用户界面1154上所显示的虚拟导航特征。在实施例中,导航控制器1150可以不是单独的组件而是被集成到平台1101和/或显示器1145中。然而,实施例不限于本文所示出或描述的元件或上下文。

在实施例中,驱动器(未示出)可以包括下述技术:该技术使得用户能够在平台1101(如电视)初始启动(例如,当能够启动时)后通过触摸按钮来立即打开和关闭平台1101。当平台被“关闭”时,程序逻辑可以允许平台1101向媒体适配器或(一个或多个)其他内容服务设备1148或(一个或多个)内容传送设备1149流送内容。此外,芯片集1103可以包括例如针对环绕立体声音频和/或高清7.1环绕立体声音频的硬件和/或软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在实施例中,图形驱动器可以包括快速外围组件互连(PCI)图形卡。

在各个实施例中,系统1100中所示的组件中的任意一个或多个可以被集成。例如,平台1101和(一个或多个)内容服务设备1149可以被集成,或平台1101和(一个或多个)内容传送设备1149可以被集成,或例如平台1101、(一个或多个)内容服务设备1148、以及(一个或多个)内容传送设备1149可以被集成。在各个实施例中,平台1101和显示器1145可以是集成单元。显示器1145和(一个或多个)内容服务设备1148可以被集成,或显示器1145和(一个或多个)内容传送设备1149可以被集成。这些示例不表示限制所公开的主题。

在各个实施例中,系统1100可以被实现为无线系统、有线系统、或这二者的组合。当被实现为无线系统时,系统1100可以包括适用于通过无线共享介质(例如,一个或多个天线、发送器、接收器、收发器、放大器、滤波器、控制逻辑等)来通信的组件和接口。无线共享介质的示例可以包括无线频谱(例如,RF频谱等)的一部分。当被实现为有线系统时,系统1100可以包括适用于通过有线通信介质(例如,I/O适配器、用于将I/O适配器与相应有线通信介质连接的物理连接器、网络接口卡(NIC)、磁盘控制器、视频控制器、音频控制器等)来通信的组件和接口。有线通信介质的示例可以包括线、电缆、金属引线、印刷电路板(PCB)、背板(backplane)、交换结构(switch fabric)、半导体材料、双绞线、同轴电缆、光纤等。

平台1101可以建立一个或多个逻辑或物理信道以传送信息。信息可以包括媒体信息和控制信息。媒体信息可以指表示用于用户的内容的任意数据。内容的示例可以包括,例如,来自语音会话、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字键盘符号、图形、图像、视频、文本等的数据。来自语音会话的数据可以是例如演讲信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以指表示用于自动系统的命令、指令或控制字的任意数据。例如,控制信息可用于通过系统路由媒体信息,或指示节点按预定方式处理媒体信息。然而,实施例不限于图11所示出或描述的元件或上下文。

如上所述,系统1100可以按不同的物理风格或形状因子来体现。图12示出了小形状因子设备1200的实施例,系统1100可以体现在这些实施例中。在实施例中,例如,设备1200可以被实现为具有无线能力的移动计算设备。例如,移动计算设备可以指具有处理系统和移动电源(例如一个或多个电池)的任意设备。

如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超极膝上型计算机、平板电脑、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能手机、智能平板或智能电视)、移动互联网设备(MID)、消息传送设备、数据通信设备等。

移动计算设备的示例还可以包括被布置为由人穿戴的计算机,例如手腕计算机、手指计算机、环计算机、眼镜计算机、带夹(belt-clip)计算机、臂带计算机、鞋计算机、衣服计算机、以及其他可穿戴计算机。在实施例中,例如,移动计算设备可以被实现为能够执行计算机应用、以及语音通信和/或数据通信的智能电话。尽管可能利用被实现为智能手机的移动计算设备为例描述了一些实施例,但是可以理解的是,也可以使用其他无线移动计算设备实现其他实施例。实施例不限于该上下文。

如图12中所示,设备1200可以包括显示器1245、导航控制器1250、用户界面1254、外壳1255、I/O设备1256、以及天线1257。显示器1245可以包括用于显示适用于移动计算设备的信息的任意适当显示单元,并且可以与图11的显示器1145相同或类似。导航控制器1250可以包括用于与用户界面1254进行交互的一个或多个导航特征,并且可以与图11中的导航控制器1150相同或类似。I/O设备1256可以包括用于将信息输入到移动计算设备中的任意适当I/O接口。I/O设备1256的示例可以包括字母数字键盘、数字键盘、触摸板、输入键、按钮、开关、摇臂(rocker)开关、麦克风、扬声器、语音识别设备和软件等。还可以经由麦克风将信息输入到设备1200中。这类信息可以由语音识别设备数字化。实施例不限于该上下文。

各个实施例可以使用硬件元件、软件元件或这二者的组合来实现。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片集等等。软件元件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、词、值、符号或其任意组合。确定实施例是否是使用硬件元件和/或软件元件实现的可以根据任何数目的因素而变化,这些因素例如为期望的计算速率、功率级别、热容限、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束。

至少一个实施例的一个或多个方面可以通过机器可读介质上存储的代表性指令来实现,这些指令代表了处理器内的各种逻辑,并在被机器读取时使得该机器制造逻辑以执行本文描述的技术。被称为“IP核”的这类表现形式可以被存储在有形的机器可读介质上并被供应给各种客户或生产设施以加载到实际制作该逻辑或处理器的制造机器内。一些实施例例如可以使用机器可读介质或物品来实现,机器可读介质或物品可以存储在被机器执行的情况下可使得该机器执行根据实施例的方法和/或操作的指令或指令集。这类机器例如可以包括任何合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等,并且可以使用硬件和/或软件的任何适当组合来实现。机器可读介质或物品例如可以包括任何适当类型的存储器单元、存储器设备、存储器物品、存储器介质、存储设备、存储物品、存储介质和/或存储单元,例如,存储器、可移除或不可移除介质、可擦除或不可擦除介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、致密盘只读存储器(CD-ROM)、可记录致密盘(CD-R)、可重写致密盘(CD-RW)、光盘、磁介质、磁光介质、可移除存储器卡或盘、各种类型的数字万用盘(DVD)、带、盒等。指令可以包括使用任何适当的高级、低级、面向对象、可视、编译和/或解释编程语言实现的任何适当类型的代码,如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、加密代码等。

示例1是一种图形处理装置,包括逻辑,逻辑的至少一部分是以硬件实现的,该逻辑用于执行下述操作:针对图形帧的像素着色器输入的集合,确定针对一个或多个候选划分策略中的每个候选划分策略的一个或多个相应的适用性度量,其中,每个候选划分策略包括一个或多个规则,该一个或多个规则用于基于针对像素着色器输入的质量敏感度值来划分像素着色器输入的集合以用于多阶段像素着色;基于所确定的适用性度量从一个或多个候选划分策略中选择针对该像素着色器输入的集合的划分策略;以及通过根据所选择的划分策略将像素着色器输入的集合划分为多个类别,来构造针对图形帧的多阶段像素着色器。

在示例2中,示例1的逻辑可以可选地执行下述操作:基于像素着色器输入的集合中的每个像素着色器输入的输入梯度,来确定该像素着色器输入的相应质量敏感度值。

在示例3中,示例1到2中任一项的针对每个候选划分策略的一个或多个相应的适用性度量可以可选地包括比较图像质量度量,该比较图像质量度量描述与该候选划分策略相关联的图像质量方面的变化。

在示例4中,示例3的比较图像质量度量可以可选地包括结构相似度度量(SSIM)。

在示例5中,示例3的比较图像质量度量可以可选地包括下述各项中的一项:结构相异度度量(DSSIM)、峰值信噪比(PSNR)、均方误差(MSE)、通用质量指数(UQI)、以及视频质量度量(VQM)。

在示例6中,示例1到5中任一项的针对每个候选划分策略的一个或多个相应的适用性度量可以可选地包括比较图像质量度量,该比较图像质量度量描述与该候选划分策略相关联的性能方面的变化。

在示例7中,示例6的比较性能度量可以可选地指示下述各项中的一项或多项的变化:功率消耗、图形存储带宽消耗、以及帧速率。

在示例8中,示例1到7中任一项的多个类别中的每个类别可以可选地与多阶段像素着色器的相应阶段相对应。

在示例9中,示例1到8中任一项的多个类别可以可选地包括粗糙速率类别和标准速率类别。

在示例10中,示例9的逻辑可以可选地基于由所选择的划分策略所定义的类别参数来将像素着色器输入的集合划分为粗糙速率类别和标准速率类别。

在示例11中,示例10的类别参数可以可选地包括粗糙速率质量敏感度阈值。

在示例12中,示例10的类别参数可以可选地包括粗糙速率输入计数。

在示例13中,示例9的多个类别可以可选地包括粗糙速率类别、标准速率类别、以及精细速率类别。

在示例14中,示例13的逻辑可以可选地基于由所选择的划分策略所定义的类别参数的集合来将像素着色器输入的集合划分为粗糙速率类别、标准速率类别、以及精细速率类别。

在示例15中,示例14的类别参数的集合可以可选地包括粗糙速率质量敏感度阈值和精细速率质量敏感度阈值。

在示例16中,示例14的类别参数的集合可以可选地包括粗糙速率输入计数和精细速率输入计数。

在示例17中,示例1到9中任一项的每个候选划分策略可以可选地定义相应的候选质量敏感度阈值,该相应的候选质量敏感度阈值用于标识一类像素着色器输入。

在示例18中,示例1到9中任一项的每个候选划分策略可以可选地定义相应的候选质量敏感度阈值的集合,该相应的候选质量敏感度阈值的集合用于标识两类或更多类像素着色器输入。

在示例19中,示例1到9中任一项的每个候选划分策略可以可选地定义相应的候选输入计数,该相应的候选输入计数指定要被包括在一类像素着色器输入中的像素着色器输入的数目。

在示例20中,示例1到9中任一项的每个候选划分策略可以可选地定义相应的候选输入计数的集合,该相应的候选输入计数的集合指定要被包括在两类或更多类像素着色器输入中的像素着色器输入的数目。

在示例21中,示例1到20中任一项的逻辑可以可选地执行下述操作:响应于确定划分像素着色输入的集合以用于多阶段像素着色,从一个或多个候选划分策略中选择划分策略。

在示例22中,示例21的逻辑可以可选地基于所确定的适用性度量中的一个或多个适用性度量来确定划分像素着色器输入的集合。

在示例23中,示例1到22中任一项的逻辑可以可选地执行下述操作:基于针对像素着色器输入的第二集合所确定的一个或多个候选划分策略的适用性度量,确定不划分像素着色器输入的第二集合。

在示例24中,示例1到23中任一项的像素着色器输入的集合可以可选地包括针对图形帧的原始像素着色器的像素着色器输入的集合。

示例25是一种系统,包括:根据示例1到24中任一项的装置;以及显示器。

示例26是一种系统,包括:根据示例1到24中任一项的装置;射频(RF)收发器;以及一个或多个RF天线。

示例27是至少一种非暂态计算机可读存储介质,包括一组图形处理指令,该组图形处理指令响应于在计算设备上被执行而使得计算设备执行下述操作:针对图形帧的像素着色器输入的集合,确定针对一个或多个候选划分策略中的每个候选划分策略的一个或多个相应的适用性度量,其中,每个候选划分策略包括一个或多个规则,该一个或多个规则用于基于针对像素着色器输入的质量敏感度值来划分像素着色器输入的集合以用于多阶段像素着色;基于所确定的适用性度量从一个或多个候选划分策略中选择针对该像素着色器输入的集合的划分策略;以及通过根据所选择的划分策略将像素着色器输入的集合划分为多个类别,来构造针对图形帧的多阶段像素着色器。

在示例28中,示例27的至少一种非暂态计算机可读存储介质可选地包括响应于在计算设备上被执行而使得计算设备执行下述操作的图形处理指令:基于像素着色器输入的集合中的每个像素着色器输入的输入梯度,来确定该像素着色器输入相应的质量敏感度值。

在示例29中,示例27到28中任一项的针对每个候选划分策略的一个或多个相应的适用性度量可以可选地包括比较图像质量度量,该比较图像质量度量描述与该候选划分策略相关联的图像质量方面的变化。

在示例30中,示例29的比较图像质量度量可以可选地包括结构相似度度量(SSIM)。

在示例31中,示例29的比较图像质量度量可以可选地包括下述各项中的一项:结构相异度度量(DSSIM)、峰值信噪比(PSNR)、均方误差(MSE)、通用质量指数(UQI)、以及视频质量度量(VQM)。

在示例32中,示例27到31中任一项的针对每个候选划分策略的一个或多个相应的适用性度量可以可选地包括比较图像质量度量,该比较图像质量度量描述与该候选划分策略相关联的性能方面的变化。

在示例33中,示例32的比较性能度量可以可选地指示下述各项中的一项或多项的变化:功率消耗、图形存储带宽消耗、以及帧速率。

在示例34中,示例27到33中任一项的多个类别中的每个类别可以可选地与多阶段像素着色器的相应阶段相对应。

在示例35中,示例27到34中任一项的多个类别可以可选地包括粗糙速率类别和标准速率类别。

在示例36中,示例35的至少一种非暂态计算机可读存储介质可以可选地包括响应于在计算设备上被执行而使得计算设备执行下述操作的图形处理指令:基于由所选择的划分策略所定义的类别参数来将像素着色器输入的集合划分为粗糙速率类别和标准速率类别。

在示例37中,示例36的类别参数可以可选地包括粗糙速率质量敏感度阈值。

在示例38中,示例36的类别参数可以可选地包括粗糙速率输入计数。

在示例39中,示例35的多个类别可以可选地包括粗糙速率类别、标准速率类别、以及精细速率类别。

在示例40中,示例38的至少一种非暂态计算机可读存储介质可以可选地包括响应于在计算设备上被执行而使得计算设备执行下述操作的图形处理指令:基于由所选择的划分策略所定义的类别参数的集合来将像素着色器输入的集合划分为粗糙速率类别、标准速率类别、以及精细速率类别。

在示例41中,示例40的类别参数的集合可以可选地包括粗糙速率质量敏感度阈值和精细速率质量敏感度阈值。

在示例42中,示例40的类别参数的集合可以可选地包括粗糙速率输入计数和精细速率输入计数。

在示例43中,示例27到35中任一项的每个候选划分策略可以可选地定义相应的候选质量敏感度阈值,该相应的候选质量敏感度阈值用于标识一类像素着色器输入。

在示例44中,示例27到35中任一项的每个候选划分策略可以可选地定义相应的候选质量敏感度阈值的集合,该相应的候选质量敏感度阈值的集合用于标识两类或更多类像素着色器输入。

在示例45中,示例27到35中任一项的每个候选划分策略可以可选地定义相应的候选输入计数,该相应的候选输入计数指定要被包括在一类像素着色器输入中的像素着色器输入的数目。

在示例46中,示例27到35中任一项的每个候选划分策略可以可选地定义相应的候选输入计数的集合,该相应的候选输入计数的集合指定要被包括在两类或更多类像素着色器输入中的像素着色器输入的数目。

在示例47中,示例27到46中任一项的至少一种非暂态计算机可读存储介质可以可选地包括响应于在计算设备上被执行而使得计算设备执行下述操作的图形处理指令:响应于确定划分像素着色输入的集合以用于多阶段像素着色,从一个或多个候选划分策略中选择划分策略。

在示例48中,示例46的至少一种非暂态计算机可读存储介质可以可选地包括响应于在计算设备上被执行而使得计算设备执行下述操作的图形处理指令:基于所确定的适用性度量中的一个或多个适用性度量来确定划分像素着色器输入的集合。

在示例49中,示例27到48中任一项的至少一种非暂态计算机可读存储介质可以可选地包括响应于在计算设备上被执行而使得计算设备执行下述操作的图形处理指令:基于针对像素着色器输入的第二集合所确定的一个或多个候选划分策略的适用性度量,确定不划分像素着色器输入的第二集合。

在示例50中,示例27到49中任一项的像素着色器输入的集合可以可选地包括针对图形帧的原始像素着色器的像素着色器输入的集合。

示例51是一种图形处理方法,包括:由处理器电路针对图形帧的像素着色器输入的集合,确定针对一个或多个候选划分策略中的每个候选划分策略的一个或多个相应的适用性度量,其中,每个候选划分策略包括一个或多个规则,该一个或多个规则用于基于针对像素着色器输入的质量敏感度值来划分像素着色器输入的集合以用于多阶段像素着色;基于所确定的适用性度量从一个或多个候选划分策略中选择针对该像素着色器输入的集合的划分策略;以及通过根据所选择的划分策略将像素着色器输入的集合划分为多个类别,来构造针对图形帧的多阶段像素着色器。

在示例52中,示例51的图形处理方法可以可选地包括:基于像素着色器输入的集合中的每个像素着色器输入的输入梯度,来确定该像素着色器输入相应的质量敏感度值。

在示例53中,示例51到52中任一项的针对每个候选划分策略的一个或多个相应的适用性度量可以可选地包括比较图像质量度量,该比较图像质量度量描述与该候选划分策略相关联的图像质量方面的变化。

在示例54中,示例53的比较图像质量度量可以可选地包括结构相似度度量(SSIM)。

在示例55中,示例53的比较图像质量度量可以可选地包括下述各项中的一项:结构相异度度量(DSSIM)、峰值信噪比(PSNR)、均方误差(MSE)、通用质量指数(UQI)、以及视频质量度量(VQM)。

在示例56中,示例51到55中任一项的针对每个候选划分策略的一个或多个相应的适用性度量可以可选地包括比较图像质量度量,该比较图像质量度量描述与该候选划分策略相关联的性能方面的变化。

在示例57中,示例56的比较性能度量可以可选地指示下述各项中的一项或多项的变化:功率消耗、图形存储带宽消耗、以及帧速率。

在示例58中,示例51到57中任一项的多个类别中的每个类别可以可选地与多阶段像素着色器的相应阶段相对应。

在示例59中,示例51到58中任一项的多个类别可以可选地包括粗糙速率类别和标准速率类别。

在示例60中,示例59的图形处理方法可以可选地包括:基于由所选择的划分策略所定义的类别参数来将像素着色器输入的集合划分为粗糙速率类别和标准速率类别。

在示例61中,示例60的类别参数可以可选地包括粗糙速率质量敏感度阈值。

在示例62中,示例60的类别参数可以可选地包括粗糙速率输入计数。

在示例63中,示例59的多个类别可以可选地包括粗糙速率类别、标准速率类别、以及精细速率类别。

在示例64中,示例63的图形处理方法可以可选地包括:基于由所选择的划分策略所定义的类别参数的集合来将像素着色器输入的集合划分为粗糙速率类别、标准速率类别、以及精细速率类别。

在示例65中,示例64的类别参数的集合可以可选地包括粗糙速率质量敏感度阈值和精细速率质量敏感度阈值。

在示例66中,示例64的类别参数的集合可以可选地包括粗糙速率输入计数和精细速率输入计数。

在示例67中,示例51到59中任一项的每个候选划分策略可以可选地定义相应的候选质量敏感度阈值,该相应的候选质量敏感度阈值用于标识一类像素着色器输入。

在示例68中,示例51到59中任一项的每个候选划分策略可以可选地定义相应的候选质量敏感度阈值的集合,该相应的候选质量敏感度阈值的集合用于标识两类或更多类像素着色器输入。

在示例69中,示例51到59中任一项的每个候选划分策略可以可选地定义相应的候选输入计数,该相应的候选输入计数指定要被包括在一类像素着色器输入中的像素着色器输入的数目。

在示例70中,示例51到59中任一项的每个候选划分策略可以可选地定义相应的候选输入计数的集合,该相应的候选输入计数的集合指定要被包括在两类或更多类像素着色器输入中的像素着色器输入的数目。

在示例71中,示例51到70中任一项的图形处理方法可以可选地包括:响应于确定划分像素着色输入的集合以用于多阶段像素着色,从一个或多个候选划分策略中选择划分策略。

在示例72中,示例71的图形处理方法可以可选地包括:基于所确定的适用性度量中的一个或多个适用性度量来确定划分像素着色器输入的集合。

在示例73中,示例51到72中任一项的图形处理方法可以可选地包括:基于针对像素着色器输入的第二集合所确定的一个或多个候选划分策略的适用性度量,确定不划分像素着色器输入的第二集合。

在示例74中,示例51到73中任一项的像素着色器输入的集合可以可选地包括针对图形帧的原始像素着色器的像素着色器输入的集合。

示例75是至少一种非暂态计算机可读存储介质,包括一组图形处理指令,该组图形处理指令响应于在计算设备上被执行而使得计算设备执行根据示例51到74中任一项的图像处理方法。

示例76是一种设备,包括用于执行根据示例51到74中任一项的图像处理方法的装置。

示例77是一种系统,包括:根据示例76的装置;以及显示器。

示例78是一种系统,包括:根据示例76的装置;射频(RF)收发器;以及一个或多个RF天线。

示例79是一种图形处理设备,包括:用于针对图形帧的像素着色器输入的集合,确定针对一个或多个候选划分策略中的每个候选划分策略的一个或多个相应的适用性度量的装置,其中,每个候选划分策略包括一个或多个规则,该一个或多个规则用于基于针对像素着色器输入的质量敏感度值来划分像素着色器输入的集合以用于多阶段像素着色;用于基于所确定的适用性度量从一个或多个候选划分策略中选择针对该像素着色器输入的集合的划分策略的装置;以及用于通过根据所选择的划分策略将像素着色器输入的集合划分为多个类别,来构造针对图形帧的多阶段像素着色器的装置。

在示例80中,示例79的图形处理设备可以可选地包括:用于基于像素着色器输入的集合中的每个像素着色器输入的输入梯度,来确定该像素着色器输入相应的质量敏感度值的装置。

在示例81中,示例79到80中任一项的针对每个候选划分策略的一个或多个相应的适用性度量可以可选地包括比较图像质量度量,该比较图像质量度量描述与该候选划分策略相关联的图像质量方面的变化。

在示例82中,示例81的比较图像质量度量可以可选地包括结构相似度度量(SSIM)。

在示例83中,示例81的比较图像质量度量可以可选地包括下述各项中的一项:结构相异度度量(DSSIM)、峰值信噪比(PSNR)、均方误差(MSE)、通用质量指数(UQI)、以及视频质量度量(VQM)。

在示例84中,示例79到83中任一项的针对每个候选划分策略的一个或多个相应的适用性度量可以可选地包括比较图像质量度量,该比较图像质量度量描述与该候选划分策略相关联的性能方面的变化。

在示例85中,示例84的比较性能度量可以可选地指示下述各项中的一项或多项的变化:功率消耗、图形存储带宽消耗、以及帧速率。

在示例86中,示例79到85中任一项的多个类别中的每个类别可以可选地与多阶段像素着色器的相应阶段相对应。

在示例87中,示例79到85中任一项的多个类别可以可选地包括粗糙速率类别和标准速率类别。

在示例88中,示例87的图形处理设备可以可选地包括:用于基于由所选择的划分策略所定义的类别参数来将像素着色器输入的集合划分为粗糙速率类别和标准速率类别的装置。

在示例89中,示例88的类别参数可以可选地包括粗糙速率质量敏感度阈值。

在示例90中,示例87的类别参数可以可选地包括粗糙速率输入计数。

在示例91中,示例87的多个类别可以可选地包括粗糙速率类别、标准速率类别、以及精细速率类别。

在示例92中,示例91的图形处理设备可以可选地包括:用于基于由所选择的划分策略所定义的类别参数的集合来将像素着色器输入的集合划分为粗糙速率类别、标准速率类别、以及精细速率类别的装置。

在示例93中,示例92的类别参数的集合可以可选地包括粗糙速率质量敏感度阈值和精细速率质量敏感度阈值。

在示例94中,示例92的类别参数的集合可以可选地包括粗糙速率输入计数和精细速率输入计数。

在示例95中,示例79到87中任一项的每个候选划分策略可以可选地定义相应的候选质量敏感度阈值,该相应的候选质量敏感度阈值用于标识一类像素着色器输入。

在示例96中,示例79到87中任一项的每个候选划分策略可以可选地定义相应的候选质量敏感度阈值的集合,该相应的候选质量敏感度阈值的集合用于标识两类或更多类像素着色器输入。

在示例97中,示例79到87中任一项的每个候选划分策略可以可选地定义相应的候选输入计数,该相应的候选输入计数指定要被包括在一类像素着色器输入中的像素着色器输入的数目。

在示例98中,示例79到87中任一项的每个候选划分策略可以可选地定义相应的候选输入计数的集合,该相应的候选输入计数的集合指定要被包括在两类或更多类像素着色器输入中的像素着色器输入的数目。

在示例99中,示例79到98中任一项的图形处理设备可以可选地包括:用于响应于确定划分像素着色输入的集合以用于多阶段像素着色,从一个或多个候选划分策略中选择划分策略的装置。

在示例100中,示例99的图形处理设备可以可选地包括:用于基于所确定的适用性度量中的一个或多个适用性度量来确定划分像素着色器输入的集合的装置。

在示例101中,示例79到100中任一项的图形处理设备可以可选地包括:用于基于针对像素着色器输入的第二集合所确定的一个或多个候选划分策略的适用性度量,确定不划分像素着色器输入的第二集合的装置。

在示例102中,示例79到101中任一项的像素着色器输入的集合可以可选地包括针对图形帧的原始像素着色器的像素着色器输入的集合。

示例103是一种系统,包括:根据示例79到102中任一项的图形处理设备;以及显示器。

示例104是一种系统,包括:根据示例79到102中任一项的图形处理设备;射频(RF)收发器;以及一个或多个RF天线。

许多特定细节已在本文被提出以提供对实施例的透彻理解。然而,本领域技术人员将理解,实施例可以不需要这些具体细节来实施。在其他实例中,公知的操作、组件和电路未被详细描述以免模糊实施例。可以理解,本文公开的特定结构和功能细节可以是代表性的并且不一定限制实施例的范围。

某些实施例可使用表述“耦合的”和“连接的”及其衍生物来描述。这些术语不旨在作为彼此的同义词。例如,某些实施例可使用术语“连接的”和/或“耦合的”被描述,以指明两个或更多个元件直接彼此物理接触或电气接触。然而,术语“耦合的”还可表示两个或更多个元件彼此不直接接触,但仍彼此合作或交互。

除非另外专门指明,可以理解的是,诸如“处理”、“运算”、“计算”、“确定”等术语指计算机或计算系统或类似的电子计算设备的、将计算系统的寄存器和/或存储器内被表示为物理量的数据(例如,电子的)操纵和/或转换成计算系统的存储器、寄存器或其他这类信息存储、传输或显示设备内类似地被表示为物理量的其他数据的动作和/或处理。实施例不限于该上下文。

应该注意,本文描述的方法不是必须以被描述的顺序或任何特定顺序被执行。此外,针对本文标识的方法描述的各种活动可以按串行或并行方式被执行。

虽然已在本文例示和描述了特定实施例,但应该意识到,可以针对被示出的特定实施例来替换任何打算用来取得相同目的的布置。该公开旨在涵盖各种实施例的任何和所有改编或变体。将理解的是,以上描述是以例示性方式而非限制性方式来进行的。本领域技术人员在阅读以上说明书后将明白未在本文中专门描述的其他实施例和以上实施例的组合。因而,各个实施例的范围包括使用以上组成物、结构和方法的任何其他应用。

强调的是,本公开的摘要是为了符合要求摘要允许读者快速查明技术公开的性质的37C.F.R.§1.72(b)而提供的。摘要是按照其将不被用于解释或限制权利要求的范围或意义的理解而提交的。此外,在前述具体实施方式中,可以看出,各种特征出于简化本公开的目的在单个实施例中被分组到一起。该公开的方法不应被解释成反映如下意图:所要求保护的实施例需要比每个权利要求中明确记载的特征更多的特征。而是,如所附权利要求所反映的,发明主题涉及少于单个公开的实施例的所有特征。因此,所附权利要求据此被合并到具体实施例中,每个权利要求独立作为单个优选实施例。在所附权利要求中,术语“包括”和“其中”分别被用作各个术语“包含”和“在其中”的简明英语同义词。此外,术语“第一”、“第二”和“第三”等仅被用作标签,而不旨在对它们的目标施加数值上的要求。

虽然已用特定于结构特征和/或方法动作的语言描述了主题,但将理解的是,所附权利要求中定义的主题不一定限于上述特定特征或动作。而是,上述特定特征和动作被公开为实现权利要求的示例形式。

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