通过使用不可达比特组合而改进的多采样抗锯齿压缩的制作方法

文档序号:9355259阅读:205来源:国知局
通过使用不可达比特组合而改进的多采样抗锯齿压缩的制作方法
【专利说明】
【背景技术】
[0001]通常,图形渲染可使用范围广泛的计算机实现的技术从模型数据生成图像。在一些图形渲染实现中,多采样抗锯齿(MSAA)技术可用于在一些示例中使用图形处理器来改进渲染的图像的视觉质量。例如,MSAA技术可降低或消除图像中的锯齿边缘效应和视频中蠕动效应。在MSAA中,可每像素使用多个可视性样本、颜色样本和/或深度样本。此类过采样或超采样(例如,每像素使用不止一个样本)和随后的样本缩减以产生最终图像可改进图像或视频质量。通常,MSAA的优点是虽然每像素有多个样本,但每图元每像素只需评估像素着色器(例如,提供图像内着色的程序)一次。常见的情况是4x MSAA,其中与每像素一个样本的通常情况相比,每像素有四个样本(例如,每像素4x个样本)。
[0002]通常,使用MSAA对于Nx MSAA要求有N倍的颜色缓冲区带宽增大。因此,MSAA颜色数据的压缩可以是有利的。在以前的实现中,可将颜色分割成N个不同平面,从而先填充平面0,并且根据需要使用或填充随后的平面。例如,如果像素中的所有样本是相同颜色,则该像素只填充颜色平面O。如果像素的样本包括两种颜色,则利用平面O和1,并且通常,如果像素的样本包括N种颜色,则利用平面O到N-1。此外,例如,如果像素的块片中的每个像素只使用每像素一种颜色(但在像素之间的颜色可不同),则只平面O可用于像素的块片。然而,如果块片的一个像素包括两种颜色(用于该像素的样本),则必须使用平面I。如果一个像素使用两种颜色(并且无像素使用超过两种颜色),则平面O和平面I是足够的,但如果一个(或更多个)像素使用三种颜色(并且无像素使用超过三种颜色),则必须使用平面0/1/2,并且以此类推。这样,可基于像素的块片的每个像素内的样本,根据需要填充颜色平面。
[0003]此外,通常像素内的每个颜色样本需要log2(N)个比特以索引在N个不同平面中的颜色(例如,对于4种颜色平面,需要2个索引比特用于每个颜色样本)。例如,如果使用两个颜色平面(平面O和1),则对于像素内的每个颜色样本,索引必须用于指示用于该样本的颜色驻留的平面。就4x MSAA而言,每个样本将需要2个索引比特以指向位于(最多)4个平面之一中的颜色。对于每像素4个样本的8x4像素的块片,要求是用于索引比特的2x8x4x4=256 个比特。
[0004]通常,如果像素完全位于在渲染的三角形内,则像素内的所有样本将具有相同颜色,并且索引或指针比特将对于该像素全部为O (这是因为例如它们将指向颜色平面0,并且索引比特00指向颜色平面O)。此外,如上所述,在用于该像素的剩余颜色平面中将不存储任何内容。因此,在一些情况下,只需要平面O。在此类示例中,颜色平面O的压缩可以是有利的。随着被渲染成块片(例如,8x4像素的块片)的几何形状的复杂性增大,可更频繁地使用剩余颜色平面。有关镶嵌的工作量的测试指示更高级别的颜色平面经常被使用,使得平面1、2和3的压缩也可节省相当大的带宽。
【附图说明】
[0005]本文中所述的材料在附图中以示例而非限制的方式示出。为确保示图的简明和清晰起见,图中所示元素不一定按比例画出。例如,为清晰起见,一些元素的尺寸相对其它元素可能显得过大。此外,在认为视当之处,标号已在图中重复以指示一致或类似的元素。在附图中:
图1是用于确定比特组合的示例过程的示意图;
图2是用于基于不可达比特组合,指示在颜色平面中特性的示例过程的示意图;
图3是用于基于不可达比特组合,指示在颜色平面中特性的示例过程的示意图;
图4是用于基于不可达比特组合,指示在颜色平面中特性的示例过程的示意图;
图5是示出示例图形渲染过程的流程图;
图6是在操作中的示例图形渲染过程的示意图;
图7是示出示例图形渲染过程的流程图;
图8是用于提供图形渲染的示例系统的示意图;
图9是示例系统的说明性图形;
图10示出全部根据本公开内容的至少一些实现布置的示例装置。
【具体实施方式】
[0006]现在参照附图描述一个或几个实施例或实现。虽然讨论了特定的配置和布置,但应理解的是,这只是为了便于说明。相关领域技术人员将认识到,在不脱离描述的精神和范围的情况下,可采用其它配置和布置。相关领域技术人员将明白,本文中所述技术和/或布置也可在与本文中所述不同的多种其它系统和应用中采用。
[0007]虽然下面的描述陈述了可在诸如芯片上系统(SoC)体系结构等体系结构中显露的各种实现,但本文中所述技术和/或布置的实现不限于特定体系结构和/或计算系统,并且可由用于类似目的的任何体系结构和/或计算系统实现。例如,采用例如多个集成电路(IC)芯片和/或封装和/或诸如机顶盒、智能电话等各种计算装置和/或消费者电子(CE)装置的各种体系结构可实现本文中所述的技术和/或布置。此外,虽然以下描述可陈述诸如逻辑实现、系统组件的类型和相互关系、逻辑分割/集成选择等各种特定细节,但实践所述主题可无需此类特定细节。在其它情况下,诸如控制结构和完全软件指令序列等一些材料可未详细示出以免混合本文中公开的材料。
[0008]本文中公开的材料可以硬件、固件、软件或其任何组合的形式实现。本文中公开的材料也可实现为存储在机器可读介质上,可由一个或多个处理器读取和执行的指令。机器可读介质可包括用于以机器(例如,计算装置)可读形式存储或传送信息的任何介质和/或机制。例如,机器可读介质可包括只读存储器(R0M)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存装置、电气、光、声或其它形式传播信号(例如,载波、红外信号、数字信号等)及其它。
[0009]说明书中对“ 一个实现”、“实现”、“示例实现”等的引用指所述实施例可包括特定特征、结构或特性,但每个实施例可不一定包括特定特征、结构或特性。另外,此类词语不一定指同一实现。此外,在结合一实施例描述某个特定特征、结构或特性时,应认为结合无论本文中是否明确描述的其它实现来达到此类特征、结构或特性是在本领域技术人员的认知之内。
[0010]下述系统、设备、制品和方法与图形渲染有关,包括通过使用不可达比特组合改进多采样抗锯齿压缩的技术。
[0011]如上所述,多采样技术抗锯齿(MSAA)技术可用于例如使用图形处理器改进渲染图像和/或视频的视觉质量。在MSAA中,可每像素使用多个可视性样本、颜色样本和/或深度样本。在一些示例中,可使用4x MSAA,其中,与每像素一个样本的通常情况相比,每像素有多达四倍的样本。然而,在其它示例中,可使用8x MSAA或16x MSAA或任何其它数量的样本。此外,如所述一样,如果像素完全在渲染的三角形内,则像素内的所有颜色样本将具有相同颜色,并且索引比特(例如,指示用于颜色样本的颜色平面的比特)可对于该像素全部为0(这是因为它们将指向颜色平面O)。此外,在用于该像素的剩余颜色平面中将不存储任何内容。在许多情况下,对于像素的块片,可只需要平面O。使用此类方案通常是某种类型的压缩。然而,在此类情况下,使用数据压缩技术压缩平面O也可以是有利的。此外,随着在渲染到块片中的几何形状的复杂性增大,可更频繁地使用剩余平面。在此类情况下,例如在计算机系统中传送和/或存储图形数据的同时,颜色平面1、2和/或3的压缩可节省相当大的带宽。
[0012]如下面将更详细描述的一样,可为像素的块片的单独像素确定比特组合。例如,对于32像素的8x4块片,可确定32个比特组合(用于每个像素的一个比特组合)。比特组合可包括用于像素的每个颜色样本的比特符号(例如,索引比特)。例如,如果一个单独的像素包括4个样本,则比特组合可包括4个比特符号(用于像素的每个颜色样本的一个比特符号)。通常,每个比特组合可表示在序列中排序,用于像素中所有样本的索引比特的总数。例如,对于4x MSAA,可以有8个比特(例如,每个样本2个比特)。例如,8x MSAA,每个比特组合可包括24个比特(例如,每样本3个比特),并以此类推。通常,样本数量越大,不可达比特组合的数量就越大(例如,8x MSAA具有比4x MSAA更多的不可达比特组合,并且16x MSAA具有比8x MSAA更多的比特组合,并以此类推)。每个比特符号可指示或“指向”与颜色样本相关联的颜色平面,使得所示颜色平面可以是一个或更多个颜色平面(例如,已填充颜色平面)之一。通常,已填充颜色平面可以是其中填充有一种或更多种颜色的颜色平面,并且可用颜色平面可以是可用于使用某个MSAA方案的填充的颜色平面。例如,如果4个颜色平面可供使用(例如,在4x MSAA中),则2比特符号可指示4个可用颜色平面的哪个已填充颜色平面包含用于给定像素的给定颜色样本的颜色。例如,可用颜色平面可标记为O到3(继续4个颜色平面的示例),并且比特符号00可指示颜色平面0,比特符号01可指示颜色平面1,比特符号10可指示颜色平面2,以及比特符号11可指示颜色平面3。在一些示例中,比特符号可为像素内的样本以从左到右的方式排序,以便生成用于像素的比特组合。然而,通常,只要始终使用相同顺序,并且在样本与比特符号之间存在1-1映射,便可使用比特符号的任何顺序。
[0013]如所述一样,在各种计算机实现中在传送或存储颜色数据的同时,压缩一个或更多个颜色平面可节省相当大的带宽。然而,不可在每个实例中使用压缩,并且通常,指示颜色平面是否已被压缩和/或几个颜色平面的哪一个或更多个颜色平面已被压缩可以是有利的。如下将更详细描述的一样,可将一个或更多个确定的比特组合变换成不可达比特组合。不可达比特组合可指示颜色平面是否已被压缩和/或几个颜色平面的哪一个或更多个颜色平面已被压缩。虽然相对于颜色平面的压缩状态进行讨论,但通常,不可达比特组合可指示与至少一个颜色平面相关疗效的任何特性,并且本文中所述技术不限于颜色平面的压缩状态。在各种示例中,特性可指示颜色平面的压缩状态、颜色平面的压缩类型、颜色平面是否包括清除的颜色样本或诸如此类。
[0014]在本文中使用时,术语“不可达比特组合”或“不可达”通常指在MSAA的标准实现中不可达成(即,使用以前技术是不可达成的)的比特组合或其它数据结构。如下在各种示例中所述,“不可达比特组合”因此可实现或用于指示另外的特性(在一些示例中,压缩状态)而不失去与比特组合有关,指示颜色平面的信息。
[0015]图1是根据本公开内容的至少一些实现布置,用于确定比特组合的示例过程的示意图。如图所示,块片101可包括多个像素102a-102f。通常,块片可包括任何数量的像素。在一些示例中,块片101可以是8像素宽乘以4像素高(并且可因此包括32个像素)。在图1中,为陈述的清晰起见,块片101包括6个像素(3像素宽乘2像素高)。如图所示,每个像素102a-102f可包括颜色样本103,如颜色样本103al。通常,如图所示,每个像素102a-102f可包括任何数量的颜色样本103 (例如,两个或更多个颜色样本),如4个颜色样本。图1也示出颜色边界104。颜色边界104可以是在例如被渲染的两个三角形之间的边界。为陈述的清晰起见,未示出两个三角形的全部。通常,如本文中讨论的一样,由颜色边界104分隔的三角形的渲染可由图形处理单元基于从存储器库收到的图像数据执行。如图所示,在所示示例中,颜色边界104左侧的区域可以为红色,并且颜色边界104右侧的区域可以是为蓝色。
[0016]通常,分隔任何多样的实现的颜色的任何数量的颜色边界可包括在块片的渲染中,使得用于颜色样本的颜色的大量组合可用。例如,如在像素102a所示,像素内的每个颜色样本可具有相同颜色(例如,红色)。在其它示例中,如在像素102b所示,像素可包括带有两种颜色的颜色样本(例如,颜色样本103bl是红色,并且颜色样本103b4是蓝色)。在其它示例中,像素可具有带三种颜色或四种颜色的颜色样本(对于所示示例的最大值)或更多(在带有另外颜色样本的示例中)。另外的示例包括只具有一种颜色的完整块片、具有跨像素的不同颜色的块片、具有跨颜色样本的不同颜色的块片等等。
[0017]图1也示出四个可能的颜色平面110:颜色平面O、颜色平面1、颜色平面2和颜色平面3。通常,任何数量的颜色平面可在本文中讨论的技术的实现中使用和/或可供使用。在一些示例中,相对于每像素四个颜色样本,可使用四个颜色平面。此类实现例如可对应于4x MSAA技术。如讨论的一样,在其它示例中,可使用8x MSAA或16x MSAA或任何其它数量的样本。如图所示,虽然一些颜色平面可供使用,但一些颜色样本不可用于给定块片(例如,在图1中,颜色平面2和颜色平面3可用但未使用)。通常,在使用的颜色平面可描述为已填充颜色平面。如图所示,颜色平面O可先填充有一种或更多种颜色。例如,对于像素102a,颜色平面O可填充有与颜色样本103al相关联的颜色(红色)。类似地,可为像素102b-f的第一颜色样本填充颜色平面O。在一些示例中,可为颜色平面O填充用于每个像素填充的最左侧颜色样本,但通常,任何位置可用作用于颜色平面O的第一颜色样本。
[0018]也如在图1中所示,由于像素102a的每个颜色样本103a匹配颜色样本103al的颜色(样本),因此,没有为像素102a填充颜色平面1、2和3。类似地,在给定示例中,没有为像素102c、102d和102e填充颜色平面1、2和3。对于像素102b,为颜色平面O填充红色,与如所示颜色样本103bl相关联的颜色(红色也与未清晰起见而未标记的颜色样本103b2和103b3相关联)。也如图所示,像素102b的颜色样本103b4与在颜色平面I中填充的蓝色相关联。如图所示,像素102b不要求填充颜色平面2或颜色平面3 (由于所示像素均未要求,这是因为在所示示例中只使用两种颜色和一个颜色边界104)。像素102f类似地要求为颜色样本103Π (红色)和颜色样本103f2 (蓝色)填充颜色平面O和I。因此,给定示例颜色平面O和颜色平面I可被视为已填充颜色平面。如将领会的一样,可使用所述技术以类似方式为用于任何大小的像素的块片的任何数量的样本填充任何数量的颜色平面。也如将领会的一样,使用所述技术,范围广大的颜色、颜色样本、像素和颜色平面可供使用。
[0019]图1也示出与像素102a_102f和颜色样本103相关联的比特组合105a_105f。通常,如相对于具有比特符号106dl、106d2、106d3和106d4的比特组合105d所示(为陈述的清晰起见,只标记了 106dl),每个比特组合包括比特符号106。通常,每个比特符号106与一个颜色样本103相关联,使得每个比特符号106指示或“指向”用于相关联颜色样本的颜色平面。通常,可将由比特符号(或索引比特)指示或指向其的颜色平面视为指示的颜色平面。例如,比特符号
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1