CN105074772B - 通过使用不可达比特组合而改进的多采样抗锯齿压缩 - Google Patents
通过使用不可达比特组合而改进的多采样抗锯齿压缩 Download PDFInfo
- Publication number
- CN105074772B CN105074772B CN201480020481.0A CN201480020481A CN105074772B CN 105074772 B CN105074772 B CN 105074772B CN 201480020481 A CN201480020481 A CN 201480020481A CN 105074772 B CN105074772 B CN 105074772B
- Authority
- CN
- China
- Prior art keywords
- color
- planes
- filled
- bit
- bit combination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/2003—Display of colours
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/12—Indexing scheme for image data processing or generation, in general involving antialiasing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Generation (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
本文描述了与图形渲染有关的技术,包括通过使用不可达比特组合改进多采样抗锯齿压缩的技术。用于在图形渲染中提供抗锯齿的计算机实现的方法包括为像素的块片的单独像素确定比特组合,并且将比特组合的至少一个比特组合变换成不可达比特组合。
Description
背景技术
通常,图形渲染可使用范围广泛的计算机实现的技术从模型数据生成图像。在一些图形渲染实现中,多采样抗锯齿(MSAA)技术可用于在一些示例中使用图形处理器来改进渲染的图像的视觉质量。例如,MSAA技术可降低或消除图像中的锯齿边缘效应和视频中蠕动效应。在MSAA中,可每像素使用多个可视性样本、颜色样本和/或深度样本。此类过采样或超采样(例如,每像素使用不止一个样本)和随后的样本缩减以产生最终图像可改进图像或视频质量。通常,MSAA的优点是虽然每像素有多个样本,但每图元每像素只需评估像素着色器(例如,提供图像内着色的程序)一次。常见的情况是4x MSAA,其中与每像素一个样本的通常情况相比,每像素有四个样本(例如,每像素4x个样本)。
通常,使用MSAA对于Nx MSAA要求有N倍的颜色缓冲区带宽增大。因此,MSAA颜色数据的压缩可以是有利的。在以前的实现中,可将颜色分割成N个不同平面,从而先填充平面0,并且根据需要使用或填充随后的平面。例如,如果像素中的所有样本是相同颜色,则该像素只填充颜色平面0。如果像素的样本包括两种颜色,则利用平面0和1,并且通常,如果像素的样本包括N种颜色,则利用平面0到N-1。此外,例如,如果像素的块片中的每个像素只使用每像素一种颜色(但在像素之间的颜色可不同),则只平面0可用于像素的块片。然而,如果块片的一个像素包括两种颜色(用于该像素的样本),则必须使用平面1。如果一个像素使用两种颜色(并且无像素使用超过两种颜色),则平面0和平面1是足够的,但如果一个(或更多个)像素使用三种颜色(并且无像素使用超过三种颜色),则必须使用平面0/1/2,并且以此类推。这样,可基于像素的块片的每个像素内的样本,根据需要填充颜色平面。
此外,通常像素内的每个颜色样本需要log2(N)个比特以索引在N个不同平面中的颜色(例如,对于4种颜色平面,需要2个索引比特用于每个颜色样本)。例如,如果使用两个颜色平面(平面0和1),则对于像素内的每个颜色样本,索引必须用于指示用于该样本的颜色驻留的平面。就4x MSAA而言,每个样本将需要2个索引比特以指向位于(最多)4个平面之一中的颜色。对于每像素4个样本的8x4像素的块片,要求是用于索引比特的2x8x4x4=256个比特。
通常,如果像素完全位于在渲染的三角形内,则像素内的所有样本将具有相同颜色,并且索引或指针比特将对于该像素全部为0(这是因为例如它们将指向颜色平面0,并且索引比特00指向颜色平面0)。此外,如上所述,在用于该像素的剩余颜色平面中将不存储任何内容。因此,在一些情况下,只需要平面0。在此类示例中,颜色平面0的压缩可以是有利的。随着被渲染成块片(例如,8x4像素的块片)的几何形状的复杂性增大,可更频繁地使用剩余颜色平面。有关镶嵌的工作量的测试指示更高级别的颜色平面经常被使用,使得平面1、2和3的压缩也可节省相当大的带宽。
附图说明
本文中所述的材料在附图中以示例而非限制的方式示出。为确保示图的简明和清晰起见,图中所示元素不一定按比例画出。例如,为清晰起见,一些元素的尺寸相对其它元素可能显得过大。此外,在认为视当之处,标号已在图中重复以指示一致或类似的元素。在附图中:
图1是用于确定比特组合的示例过程的示意图;
图2是用于基于不可达比特组合,指示在颜色平面中特性的示例过程的示意图;
图3是用于基于不可达比特组合,指示在颜色平面中特性的示例过程的示意图;
图4是用于基于不可达比特组合,指示在颜色平面中特性的示例过程的示意图;
图5是示出示例图形渲染过程的流程图;
图6是在操作中的示例图形渲染过程的示意图;
图7是示出示例图形渲染过程的流程图;
图8是用于提供图形渲染的示例***的示意图;
图9是示例***的说明性图形;
图10示出全部根据本公开内容的至少一些实现布置的示例装置。
具体实施方式
现在参照附图描述一个或几个实施例或实现。虽然讨论了特定的配置和布置,但应理解的是,这只是为了便于说明。相关领域技术人员将认识到,在不脱离描述的精神和范围的情况下,可采用其它配置和布置。相关领域技术人员将明白,本文中所述技术和/或布置也可在与本文中所述不同的多种其它***和应用中采用。
虽然下面的描述陈述了可在诸如芯片上***(SoC)体系结构等体系结构中显露的各种实现,但本文中所述技术和/或布置的实现不限于特定体系结构和/或计算***,并且可由用于类似目的的任何体系结构和/或计算***实现。例如,采用例如多个集成电路(IC)芯片和/或封装和/或诸如机顶盒、智能电话等各种计算装置和/或消费者电子(CE)装置的各种体系结构可实现本文中所述的技术和/或布置。此外,虽然以下描述可陈述诸如逻辑实现、***组件的类型和相互关系、逻辑分割/集成选择等各种特定细节,但实践所述主题可无需此类特定细节。在其它情况下,诸如控制结构和完全软件指令序列等一些材料可未详细示出以免混合本文中公开的材料。
本文中公开的材料可以硬件、固件、软件或其任何组合的形式实现。本文中公开的材料也可实现为存储在机器可读介质上,可由一个或多个处理器读取和执行的指令。机器可读介质可包括用于以机器(例如,计算装置)可读形式存储或传送信息的任何介质和/或机制。例如,机器可读介质可包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存装置、电气、光、声或其它形式传播信号(例如,载波、红外信号、数字信号等)及其它。
说明书中对“一个实现”、“实现”、“示例实现”等的引用指所述实施例可包括特定特征、结构或特性,但每个实施例可不一定包括特定特征、结构或特性。另外,此类词语不一定指同一实现。此外,在结合一实施例描述某个特定特征、结构或特性时,应认为结合无论本文中是否明确描述的其它实现来达到此类特征、结构或特性是在本领域技术人员的认知之内。
下述***、设备、制品和方法与图形渲染有关,包括通过使用不可达比特组合改进多采样抗锯齿压缩的技术。
如上所述,多采样技术抗锯齿(MSAA)技术可用于例如使用图形处理器改进渲染图像和/或视频的视觉质量。在MSAA中,可每像素使用多个可视性样本、颜色样本和/或深度样本。在一些示例中,可使用4x MSAA,其中,与每像素一个样本的通常情况相比,每像素有多达四倍的样本。然而,在其它示例中,可使用8x MSAA或16x MSAA或任何其它数量的样本。此外,如所述一样,如果像素完全在渲染的三角形内,则像素内的所有颜色样本将具有相同颜色,并且索引比特(例如,指示用于颜色样本的颜色平面的比特)可对于该像素全部为0(这是因为它们将指向颜色平面0)。此外,在用于该像素的剩余颜色平面中将不存储任何内容。在许多情况下,对于像素的块片,可只需要平面0。使用此类方案通常是某种类型的压缩。然而,在此类情况下,使用数据压缩技术压缩平面0也可以是有利的。此外,随着在渲染到块片中的几何形状的复杂性增大,可更频繁地使用剩余平面。在此类情况下,例如在计算机***中传送和/或存储图形数据的同时,颜色平面1、2和/或3的压缩可节省相当大的带宽。
如下面将更详细描述的一样,可为像素的块片的单独像素确定比特组合。例如,对于32像素的8x4块片,可确定32个比特组合(用于每个像素的一个比特组合)。比特组合可包括用于像素的每个颜色样本的比特符号(例如,索引比特)。例如,如果一个单独的像素包括4个样本,则比特组合可包括4个比特符号(用于像素的每个颜色样本的一个比特符号)。通常,每个比特组合可表示在序列中排序,用于像素中所有样本的索引比特的总数。例如,对于4x MSAA,可以有8个比特(例如,每个样本2个比特)。例如,8x MSAA,每个比特组合可包括24个比特(例如,每样本3个比特),并以此类推。通常,样本数量越大,不可达比特组合的数量就越大(例如,8x MSAA具有比4x MSAA更多的不可达比特组合,并且16x MSAA具有比8xMSAA更多的比特组合,并以此类推)。每个比特符号可指示或“指向”与颜色样本相关联的颜色平面,使得所示颜色平面可以是一个或更多个颜色平面(例如,已填充颜色平面)之一。通常,已填充颜色平面可以是其中填充有一种或更多种颜色的颜色平面,并且可用颜色平面可以是可用于使用某个MSAA方案的填充的颜色平面。例如,如果4个颜色平面可供使用(例如,在4x MSAA中),则2比特符号可指示4个可用颜色平面的哪个已填充颜色平面包含用于给定像素的给定颜色样本的颜色。例如,可用颜色平面可标记为0到3(继续4个颜色平面的示例),并且比特符号00可指示颜色平面0,比特符号01可指示颜色平面1,比特符号10可指示颜色平面2,以及比特符号11可指示颜色平面3。在一些示例中,比特符号可为像素内的样本以从左到右的方式排序,以便生成用于像素的比特组合。然而,通常,只要始终使用相同顺序,并且在样本与比特符号之间存在1-1映射,便可使用比特符号的任何顺序。
如所述一样,在各种计算机实现中在传送或存储颜色数据的同时,压缩一个或更多个颜色平面可节省相当大的带宽。然而,不可在每个实例中使用压缩,并且通常,指示颜色平面是否已被压缩和/或几个颜色平面的哪一个或更多个颜色平面已被压缩可以是有利的。如下将更详细描述的一样,可将一个或更多个确定的比特组合变换成不可达比特组合。不可达比特组合可指示颜色平面是否已被压缩和/或几个颜色平面的哪一个或更多个颜色平面已被压缩。虽然相对于颜色平面的压缩状态进行讨论,但通常,不可达比特组合可指示与至少一个颜色平面相关疗效的任何特性,并且本文中所述技术不限于颜色平面的压缩状态。在各种示例中,特性可指示颜色平面的压缩状态、颜色平面的压缩类型、颜色平面是否包括清除的颜色样本或诸如此类。
在本文中使用时,术语“不可达比特组合”或“不可达”通常指在MSAA的标准实现中不可达成(即,使用以前技术是不可达成的)的比特组合或其它数据结构。如下在各种示例中所述,“不可达比特组合”因此可实现或用于指示另外的特性(在一些示例中,压缩状态)而不失去与比特组合有关,指示颜色平面的信息。
图1是根据本公开内容的至少一些实现布置,用于确定比特组合的示例过程的示意图。如图所示,块片101可包括多个像素102a-102f。通常,块片可包括任何数量的像素。在一些示例中,块片101可以是8像素宽乘以4像素高(并且可因此包括32个像素)。在图1中,为陈述的清晰起见,块片101包括6个像素(3像素宽乘2像素高)。如图所示,每个像素102a-102f可包括颜色样本103,如颜色样本103a1。通常,如图所示,每个像素102a-102f可包括任何数量的颜色样本103(例如,两个或更多个颜色样本),如4个颜色样本。图1也示出颜色边界104。颜色边界104可以是在例如被渲染的两个三角形之间的边界。为陈述的清晰起见,未示出两个三角形的全部。通常,如本文中讨论的一样,由颜色边界104分隔的三角形的渲染可由图形处理单元基于从存储器库收到的图像数据执行。如图所示,在所示示例中,颜色边界104左侧的区域可以为红色,并且颜色边界104右侧的区域可以是为蓝色。
通常,分隔任何多样的实现的颜色的任何数量的颜色边界可包括在块片的渲染中,使得用于颜色样本的颜色的大量组合可用。例如,如在像素102a所示,像素内的每个颜色样本可具有相同颜色(例如,红色)。在其它示例中,如在像素102b所示,像素可包括带有两种颜色的颜色样本(例如,颜色样本103b1是红色,并且颜色样本103b4是蓝色)。在其它示例中,像素可具有带三种颜色或四种颜色的颜色样本(对于所示示例的最大值)或更多(在带有另外颜色样本的示例中)。另外的示例包括只具有一种颜色的完整块片、具有跨像素的不同颜色的块片、具有跨颜色样本的不同颜色的块片等等。
图1也示出四个可能的颜色平面110:颜色平面0、颜色平面1、颜色平面2和颜色平面3。通常,任何数量的颜色平面可在本文中讨论的技术的实现中使用和/或可供使用。在一些示例中,相对于每像素四个颜色样本,可使用四个颜色平面。此类实现例如可对应于4xMSAA技术。如讨论的一样,在其它示例中,可使用8x MSAA或16x MSAA或任何其它数量的样本。如图所示,虽然一些颜色平面可供使用,但一些颜色样本不可用于给定块片(例如,在图1中,颜色平面2和颜色平面3可用但未使用)。通常,在使用的颜色平面可描述为已填充颜色平面。如图所示,颜色平面0可先填充有一种或更多种颜色。例如,对于像素102a,颜色平面0可填充有与颜色样本103a1相关联的颜色(红色)。类似地,可为像素102b-f的第一颜色样本填充颜色平面0。在一些示例中,可为颜色平面0填充用于每个像素填充的最左侧颜色样本,但通常,任何位置可用作用于颜色平面0的第一颜色样本。
也如在图1中所示,由于像素102a的每个颜色样本103a匹配颜色样本103a1的颜色(样本),因此,没有为像素102a填充颜色平面1、2和3。类似地,在给定示例中,没有为像素102c、102d和102e填充颜色平面1、2和3。对于像素102b,为颜色平面0填充红色,与如所示颜色样本103b1相关联的颜色(红色也与未清晰起见而未标记的颜色样本103b2和103b3相关联)。也如图所示,像素102b的颜色样本103b4与在颜色平面1中填充的蓝色相关联。如图所示,像素102b不要求填充颜色平面2或颜色平面3(由于所示像素均未要求,这是因为在所示示例中只使用两种颜色和一个颜色边界104)。像素102f类似地要求为颜色样本103f1(红色)和颜色样本103f2(蓝色)填充颜色平面0和1。因此,给定示例颜色平面0和颜色平面1可被视为已填充颜色平面。如将领会的一样,可使用所述技术以类似方式为用于任何大小的像素的块片的任何数量的样本填充任何数量的颜色平面。也如将领会的一样,使用所述技术,范围广大的颜色、颜色样本、像素和颜色平面可供使用。
图1也示出与像素102a-102f和颜色样本103相关联的比特组合105a-105f。通常,如相对于具有比特符号106d1、106d2、106d3和106d4的比特组合105d所示(为陈述的清晰起见,只标记了106d1),每个比特组合包括比特符号106。通常,每个比特符号106与一个颜色样本103相关联,使得每个比特符号106指示或“指向”用于相关联颜色样本的颜色平面。通常,可将由比特符号(或索引比特)指示或指向其的颜色平面视为指示的颜色平面。例如,比特符号106d1 (00)指示颜色样本103d1(红色)是在颜色平面0中(如图所示)。此外,例如,比特符号106f1 (00)指示颜色样本103f1(红色)是在颜色平面0中,并且比特符号106f4 (01)指示颜色样本103f4(蓝色)是在颜色平面1中(也如图所示)。
在本文中使用的术语中,每个比特组合105a-105f是可达(例如,非“不可达”)比特组合。例如,可达比特组合可以是在诸如4x MSAA等MSAA的标准实现中可达成的那些组合。通常,如本文中讨论的一样,比特组合105的确定可由计算***的任何适合模块执行,如图形处理单元的抗锯齿压缩模块。此外,也如下在本文中讨论的一样,可将比特组合105的确定视为可经软件、固件或硬件实现的一个操作或一系列的操作。如下将更详细描述的一样,使用本文中讨论的技术,可将一个或更多个比特组合105a-105f变换成不可达比特组合。不可达比特组合可指示与例如颜色平面0、1、2和/或3的一个或更多个颜色平面相关联的特性。如讨论的一样,在其它示例中,可随着在每像素的样本的数量增大而增大的不可达比特组合的数量,使用8x MSAA或16x MSAA或任何其它数量的样本。
在下面的讨论中,通常以增大的复杂性顺序提供了各种示例,以示出用于将比特组合变换成不可达比特组合以指示与各种颜色平面相关联的特性的各种技术。所述示例无意于限制,而是为提供各种技术的说明而提供。此外,在本文中的讨论中,如关系式(1)和(2)中所示,利用了以下符号。
xy+指示符号集包括类型xy的至少一个符号,以及 (1)
xy*指示符号集包括类型xy的零个或更多个符号。 (2)
此外,符号可包括指示或指向颜色平面的一个或更多个比特,例如,用于颜色样本的索引比特。例如,01+指示比特组合包括至少一个01比特符号(例如,01和01,01,01,01每个将满足01+;然而,00,00,00,00将不满足01+),并且10*指示零个或更多个10比特符号是在比特组合中(例如,{} (空)、10和10,10,10,10每个将满足10*)。此外,{01+,10*}指示包括类型01的至少一个符号和类型10的零个或更多个符号。虽然相对于指示颜色平面0的比特符号00、指示颜色平面1的比特符号01、指示颜色平面2的比特符号10和指示颜色平面3的比特符号11讨论,但可使用任何适合的比特符号或比特符号组合。
另外,为陈述的清晰起见,以下讨论相对于4x MSAA陈述,然而,所述技术可应用到任何类型的MSAA。通常,4x MSAA可包括可如所述般标为颜色平面0-3的4个颜色平面。块片可通常包括WxH个像素,其中,W是像素中块片的宽度,并且H是像素中块片的高度,并且每个像素可如所述般包括4个颜色样本。
通常,在块片只指向平面0(例如,只为块片101的所有像素102填充颜色平面0)的示例中,用于比特组合105的所有比特符号106可包括{00+},并且可不使用其它比特符号。因此,在此示例中,每个比特符号106可以是00,并且每个比特组合可以是00,00,00,00。在此类示例中,所有像素将指向平面0,从而在颜色平面0中将填充与每个像素相关联的颜色。
通常,在块片指向平面0和平面1,但不指向平面2或3(例如,为块片101的所有像素102填充颜色平面0,并且为像素102的至少一个像素填充颜色平面1)的示例中,比特组合105可描述为{00+,01+}(例如,每个比特组合105必须包括至少一个00比特符号和比特符号01至少之一),这是因为由于平面0始终保持在已填充状态,因此,始终有至少一个00。因此,也始终先填充所有平面中的平面0。
类似地,通常,在块片指向平面0、1和2,但未指向平面3的示例中,比特组合105可描述为{00+,01*,10+}。此外,要注意的是,集包括01*,由于平面1能够被填充(01),但随后例如改写为00或10,因此,01*可被包括在内。类似地,通常,在块片指向平面0、1、2和3的示例中,比特组合105可描述为{00+,01*,10*,11+}。
基于以上所述,可如由关系式(3)-(6)所示表述可用于指示可达比特组合的比特组合105:
仅平面0:{00+} (3)
仅平面0和1:{00+,01+} (4)
仅平面0、1和2:{00+,01*,10+} (5)
平面0、1、2和3:{00+,01*,10*,11+} (6)
此外,如讨论的一样,可以升序填充可用颜色平面110(参见图1)(例如,从平面0到平面1,并以此类推),并且可始终填充平面0。因此,在各种示例中,一些比特组合可以是不可达成的。例如,{01+}(和类似地{10+}和{11+})可以是不可达成的,这是因为如所述一样,可以升序填充颜色平面,并且始终填充平面0,因此,不填充平面0(例如,在比特组合中00未出现),但完全填充平面1的结果可以是不可达成的。此类不可达比特组合(和如所述的其它不可达比特组合)可用于指示与至少一个颜色平面相关联的特性。
图2是根据本公开内容的至少一些实现布置,用于基于不可达比特组合指示颜色平面中特性的示例过程的示意图。图2示出用于示例块片201的示例比特组合205。请注意,图2的比特组合205与如图1所示的比特组合105不一致。如图所示,每个比特组合205可以相同(例如,00,00,00,00),并且可包括相同比特符号00,00,00,00。此类示例可在仅为块片201填充平面0时出现(应注意的是,可为平面0填充任何数量的颜色,每种颜色与一个像素相关联,并且在给定示例中,与像素的每个颜色样本相关联,并且整个块片201不必是相同颜色)。
如讨论的一样,比特组合205可以是可达比特组合,并且可使用上述符号表述为{00+}。此外,如讨论的一样,比特符号{01+}可以是不可达比特组合。如图2所示,不可达比特组合{01+}的可用性可提供用于指示颜色平面0的特性。在所示示例中,特性可以是是否压缩平面0。例如,如果平面0未压缩,则可对比特组合205不进行更改,这可指示平面0未压缩。如果平面0被压缩,则比特组合205可更改成不可达比特组合210,从而使每个比特符号00更改成比特符号01。
如图2所示,在一些示例中,每个比特组合205可更改成不可达比特组合210以指示颜色平面0的特性。在其它示例中,可如图所示更改与一个像素(或更多像素)相关联的单个比特组合。例如,比特组合222(例如,与块片201的第一像素相关联)可更改成不可达比特组合以指示颜色平面0的特性。
如图2所示和如上相对于图1所述,一个或更多个颜色平面的单个颜色平面可填充有与块片的像素的颜色样本相关联的一种或更多种颜色。在此类示例中,将一个或更多个比特组合变换成不可达比特组合可包括变换比特组合的每个比特符号。此外,每个比特符号可与单独像素的颜色样本相关联。在给定示例中,变换每个比特符号以形成不可达比特组合可包括将每个比特符号从00比特符号变换成01比特符号。如本文中讨论的一样,指示的特性可包括任何适合的特性,如单个颜色平面是否已被压缩(例如,压缩状态)或诸如此类。
如讨论的一样,变换每个比特符号可包括将每个比特符号从00比特符号变换成01比特符号。备选,例如可将每个比特符号变换成10或11比特符号。此外,可为所有像素或为单个(在所示示例中,块片201的第一像素)像素更改每个比特符号。在一些示例中,第一、第二、第三或更多像素可被变换成指示平面0的多个特性,以指示多个特性。也就是说,可从与单独像素或单独像素集相关联的单独比特组合的特定状态(例如,可达或不可达)中提取关于颜色平面的信息。如将领会的一样,由于可使用(以前)不可达比特组合,因此,不会发生信息的丢失,从而可指示与颜色平面相关联的特性,同时比特组合仍可为每个颜色样本提供指示符到颜色平面0。通常,如本文中讨论的一样,比特组合到不可达比特组合的变换可由计算***的任何适合模块执行,如图形处理单元的抗锯齿压缩模块。此外,也如本文中讨论的一样,可将比特组合到不可达比特组合的变换视为可经软件、固件或硬件实现的一个操作或一系列的操作。
现在转到可填充两个颜色平面(例如,颜色平面0和颜色平面1)的示例,图3是根据本公开内容的至少一些实现布置,用于基于不可达比特组合指示颜色平面中特性的示例过程的示意图。如上讨论的一样,在仅填充平面0和1(例如,在使用中)的示例中,可达比特组合可表述为{00+,01+}。此外,在给定示例中,可用的不可达比特组合可表述为{00+,10+}、{00+,11+}、{01+,10+}、{01+,11+}和{10+,11+}。然而,{00+,10+}包括在{00+,01*,10+}(如上所示,用于仅使用平面0、1和2的比特组合)中,并且{00+,11+}包括在{00+,01*,10*,11+}(也如上所示,用于使用平面0、1、2和3的比特组合)中。因此,虽然在仅填充平面0和1时不可达,但在可填充另外的平面时,可使用比特组合{00+,10+}和{00+,11+}。以下集因此可未使用并且不可达:{01+,10+}、{01+,11+}和{10+,11+}。
在块片只指向平面0和1的示例中,对于压缩状态(或任何其它特性),如下所示,可以有四种可能性可用:
平面0和平面1未压缩,
平面0被压缩,并且平面1未压缩,
平面0未压缩,并且平面1被压缩,以及
平面0和平面1均被压缩。
图3示出与块片301相关联的示例(可达)比特组合305。请注意,图3的比特组合305与如图1所示的比特组合105不一致。如图所示,比特组合305a可以是00,00,00,00(因此,每个比特符号为00),并且比特组合305b可以为01,00,00,01(因此,比特符号00和比特符号01可在使用中)。在此示例中,如讨论的一样,在可为颜色平面(例如,颜色平面0和颜色平面1)提供或指示特性(例如,压缩状态或诸如此类)时,可出现四种可能结果。在此类示例中,两个像素可用于指示四种可能状态。如图3所示,例如,如果平面0和平面1均未压缩,则可不对比特组合305进行更改(例如,比特组合可保持在其可达状态)。例如,比特组合305a(例如与第一像素302相关联,但为清晰起见而未示出)无更改可指示平面0未压缩。此外,如果平面0被压缩,并且平面1未压缩,则比特组合305可被变换成不可达比特组合310(例如,比特组合305a可被变换成不可达比特组合310a)。例如,比特组合305a到不可达比特组成310a的变换可指示平面0未压缩,并且比特组合305b无更改可指示平面1未压缩。
类似地,如果平面0未压缩,并且平面1被压缩,则比特组合305可被变换成不可达比特组合320。例如,比特组合305b到不可达比特组成320b的更改可指示平面1被压缩,并且比特组合305a无更改可指示平面0未压缩。此外,如果平面0和平面1均被压缩,则比特组合305可被变换成不可达比特组合330。例如,比特组合305a到不可达比特组成330a的更改可指示平面0被压缩,并且比特组合305b到不可达比特组合330b无更改可指示平面1未压缩。通过使用此类技术,有关第一颜色平面的特性的信息可与第一像素关联的比特组合的状态(例如,可达或不可达)相关联,并且第二颜色平面的特性可与第一像素关联的比特组合的状态(例如,可达或不可达)相关联。
如图3所示,通常,可要求两个像素指示或表明讨论的四个可用组合。通过更改(或不更改)比特组合305a和305b(例如,可与块片301的第一和第二像素相关联)的比特符号。在此类示例中,可从第一像素和第二像素每个像素抽取指示(例如,以比特式方式)。如图所示,由于块片301使用颜色平面0和颜色平面1,因此,像素可具有为00的所有比特符号(例如,如在比特组合305a所示的00,00,00,00),或者像素可具有比特符号00和01的混合(例如,如在比特组合305b所示的01,00,00,01)。关于图2的示例,从{00+}到{01+}(未使用并且不可达)的变换可用于具有{00+}的比特组合的像素,并且对于带有00和01的混合的像素,00可被变换成01,并且01可被变换成10。这可通过如下关系式(7)-(10)表述:
{00+} → {01+}(如前面用于仅平面0一样) (7)
{01+} → {10+} (8)
{00+,01+} →{01+,10+}, (9)
这能够更简洁地表述为:
{00*,01 *} →{01 *, 10*} (10)
如图3所示和如上相对于图1所述,一个或更多个可用颜色平面的两个颜色平面第一颜色平面和第二颜色平面(例如,颜色平面0和颜色平面1)可填充有与块片的像素的颜色样本相关联的一种或更多种颜色。在此类示例中,将一个或更多个比特组合变换成不可达比特组合可包括通过变换比特组合的比特符号,变换与第一像素相关联的比特组合。在一些示例中,比特符号可包括将比特符号从00比特符号变换成01比特符号。变换比特符号可指示颜色平面(如颜色平面0)的特性,如颜色平面被压缩或诸如此类。此外,变换比特组合可包括将与第二像素相关联的第二比特组合变换成第二不可达比特组合。变换与第二像素相关联的第二比特组合也可包括变换第二比特组合的比特符号,并且此类变换可指示与第二颜色平面(如颜色平面1)相关联的特性,如第二颜色平面被压缩或诸如此类。通常,如本文中讨论的一样,如图所示比特组合到不可达比特组合的变换可由计算***的任何适合模块执行,如图形处理单元的抗锯齿压缩模块。此外,也如本文中讨论的一样,可将比特组合到不可达比特组合的变换视为可经软件、固件或硬件实现的一个操作或一系列的操作。
在上述示例中,利用了以下不可达和未使用比特组合:{01+}、{10+}、{01+,10+}。以下不可达和未使用比特组合仍可供使用以提供与本文中讨论的那些特性类似的颜色平面特性:{11+}、{01+,11+}、{10+,11+}和{01+,10*,11+}。要注意的是,这些剩余的不可达和未使用比特组合每个包括11,而无一包括00。如上讨论的一样,在填充三个颜色平面(例如,颜色平面0、1和2)时,以下比特组合适用:{00+,01*,10+}。上述技术可扩展成指示哪个平面0、1和/2中(如果有)可被压缩(或者具有如本文中讨论的另一特性)。如讨论的一样,此类技术可有助于其中具有几个三角形边缘(例如,颜色边界)的场景和/或块片,这可形成更频繁地利用更高平面(例如,平面1和2)。例如,如果三个颜色平面(颜色平面0、1和2)在使用中,则可需要三个像素以指示用于每个已填充颜色平面的特性(如压缩状态)。上面相对于图1-3所述的技术可扩展到如下关系式(11)-(17)中所示的另外不可达比特组合:
{00+} → {01+} (如上所述,参阅关系式(7)) (11)
{01+} → {10+} (如上所述,参阅关系式(8)) (12)
{10+} → {11+}(当前未使用) (13)
{00+,01+} → {01+,10+} (如上所述,参阅关系式(9)) (14)
{00+,10+} → {01+,11+}(当前未使用) (15)
{00+,01+,10+} → {01+,10+, 11+}(当前未使用) (16)
这能够更简洁地表述为:
{00*,01 *,10*} → {01 *, 10*, 11 *} (17)
图4是根据本公开内容的至少一些实现布置,用于基于不可达比特组合指示颜色平面中特性的示例过程的示意图。如图4所示,可为块片401确定示例比特组合405。通常,可要求3个像素以指示或表明用于每个颜色平面0-2的未压缩/压缩状态(或其它特性)的8个可用组合。例如,比特组合405a可用于指示用于颜色平面0的特性,比特组合405b可用于指示用于颜色平面1的特性,并且比特组合405c可用于指示用于颜色平面2的特性。关系式(11)-(16)(或如关系式(17)中简洁表述)可用于变换或不变换每个比特组合405a、405b和405c,使得无更改(或变换)指示相关联的颜色平面未压缩(例如,比特组合保持可达),并且到不可达比特组合的变换指示相关联颜色平面被压缩。
例如,如图4所示,不进行比特组合405a(与未示出的第一像素相关联)的变换可指示平面0未压缩,而将比特组合405a变换成不可达比特组合410a(例如,根据上述关系式)可指示平面0被压缩。类似地,不进行(可达)比特组合405b(与未示出的第二像素相关联)的变换可指示平面1未压缩,而将比特组合405b变换成不可达比特组合420b(例如,根据上述关系式)可指示平面1被压缩。此外,不进行(可达)比特组合405c(与未示出的第三像素相关联)的变换可指示平面2未压缩,而将比特组合405c变换成不可达比特组合430c(例如,根据上述关系式)可指示平面2被压缩。如上讨论的一样,变换任何比特组合450a-405c可包括变换相关联比特组合的比特符号。通常,如本文中讨论的一样,比特组合到不可达比特组合的变换可由计算***的任何适合模块执行,如图形处理单元的抗锯齿压缩模块。此外,如本文中讨论的一样,可将比特组合到不可达比特组合的变换视为可经软件、固件或硬件实现的一个操作或一系列的操作。
如讨论的一样,变换一个或更多个比特组合可提供与已填充颜色平面相关联的指示。也如讨论的一样,像素的比特组合可与特性和颜色平面相关联以指示或表明特性。通常,可以此类在方式指示任何数量的像素、比特组合和颜色平面特性。例如,多个像素和相关联的比特组合可用于指示单个颜色平面的多个特性。在其它示例中,第一像素和相关联比特组合可指示更高层颜色平面(例如,颜色平面1、2或3)而不是第一或最低层颜色平面(例如,颜色平面0)的特性,并以此类推。
此外,例如在回读块片时,可使用讨论的不可达比特组合。在读取块片时,可检测到不可达比特组合。基于检测和基于不可达比特组合的确定,可确定特性。例如,不可达比特组合可指示一个或更多个颜色平面被压缩或诸如此类。
如下将更详细讨论的一样,诸如计算机实现的***等***可用于执行本文中结合图1-4、5、6和7讨论的一些或所有各种操作。
图5是示出根据本公开内容的至少一些实现布置的示例过程500的流程图。通常,过程500可提供用于在图形渲染中提供抗锯齿的计算机实现的方法。在所示实现中,过程500可包括如框502和/或504的一个或更多框所示的一个或更多个操作、功能或动作。作为非限制性示例,本文中将参照上面相对于图1-4讨论的操作和下面讨论的示例***100描述过程500。
过程500可作为用于在图形渲染中提供抗锯齿的计算机实现的方法。过程500可从框502“为像素的块片的单独像素确定指示用于单独像素的颜色样本的颜色平面的比特组合”开始,其中可确定用于像素的块片的单独像素的比特组合。例如,可为块片101的像素102确定比特组合105。如下面讨论的一样,可由图形处理单元620的抗锯齿压缩模块635确定比特组合。例如,单独像素可包括在单独像素内的两个或更多个颜色样本(例如,颜色样本103)。如上讨论的一样,确定的比特组合可指示与单独像素的颜色样本相关联的一个或更多个已填充颜色平面的一个或更多个指示的颜色平面。可为一个或更多个已填充颜色平面填充与单独像素的颜色样本相关联的一种或更多种颜色。
处理可从操作502继续到操作504“将比特组合变换成指示与颜色平面相关联的特性的不可达比特组合”,其中可将诸如可达比特组合等比特组合变换成不可达比特组合,使得不可达比特组合指示与颜色平面相关联的特性。例如,如本文中讨论的一样,可将比特组合205、305或405中的某个比特组合变换成不可达比特组合210、220、310、320、330、410、420或430或诸如此类。如下面讨论的一样,变换可由图形处理单元620的抗锯齿压缩模块635执行。例如,与颜色平面相关联的特性可指示颜色平面可被压缩。
与过程500有关的一些另外和/或备选细节可在下面相对于图6更详细讨论的实现的一个或更多个示例中示出。
图6是根据本公开内容的至少一些实现布置,用于在图形渲染中提供抗锯齿的示例***100和过程600的示意图。在所示实现中,过程600可包括如一个或更多个动作601、602、603、604、605和/或606所示的一个或更多个操作、功能或动作。如本文中下面所述,作为非限制性示例,本文中将参照图8的示例视频编码***100描述过程600。
在所示实现中,***100可包括逻辑模块610、诸如此类和/或其组合。例如,模块610可包括存储器库620、图形处理单元630,它们可包括抗锯齿压缩模块635和颜色缓冲区640、诸如此类和/或其组合。
如本文中所述,抗锯齿压缩模块635可配置成为像素的块片的单独像素确定比特组合,使得单独像素包括单独像素内的两个或更多个颜色样本,并且比特组合指示一个或更多个已填充颜色平面的一个或更多个指示的颜色平面。此外,也如本文中所述,可为一个或更多个已填充颜色平面填充与单独像素的颜色样本相关联的一种或更多种颜色。抗锯齿压缩模块625也可配置成将确定的比特组合的某个比特组合变换成不可达比特组合,使得不可达比特组合指示与一个或更多个颜色平面的至少一个颜色平面相关联的特性。此外,抗锯齿模块635可配置成将颜色数据645传送到颜色缓冲区640,使得颜色数据645可包括不可达比特组合。此外,抗锯齿模块635(或图形处理单元630的另一模块)可配置成渲染像素的块片,经颜色缓冲区访问一个或更多个颜色平面,和/或基于渲染,更新一个或更多个访问的颜色平面。基于更新的颜色平面,可执行讨论的比特组合确定和变换,并且可将结果数据(例如,颜色数据)传送到颜色缓冲区。
过程600可作为用于在图形渲染中提供抗锯齿的计算机实现的方法。过程600可从框601“渲染块片”开始,其中可渲染像素的块片。块片可使用任何适合的技术渲染,并且如本文中讨论的一样,可生成像素的块片。渲染可基于任何适合的数据,如图像数据、模型或模型数据、场景数据、矢量数据、栅格数据或诸如此类。
处理可从操作601继续到操作602“访问颜色平面和索引比特”,其中抗锯齿压缩模块635可经存储器库620的颜色缓冲区640访问颜色平面和索引比特。颜色平面和索引比特可包含如本文中讨论的任何数据(压缩或未压缩)。在一些示例中,如本文中讨论的一样,索引比特可指示不可达比特组合,并且在其它示例中,索引比特可包括可达比特组合。
处理可从操作602继续到操作603“基于渲染更新颜色平面和索引比特”,其中可基于渲染更新一个或更多个访问的颜色平面。在一些示例中,如本文中讨论的一样,可将一个或更多个访问的颜色平面更新成一个或更多个已填充颜色平面。此外,可在操作603更新索引比特。例如,可如本文中所述,为像素的块片的各种像素确定索引比特和比特组合。例如,可为块片101的像素102确定比特组合105。可由图形处理单元620的抗锯齿压缩模块635至少部分基于所述渲染,确定比特组合。例如,单独像素可包括在单独像素内的两个或更多个颜色样本(例如,颜色样本103)。如讨论的一样,确定的比特组合可指示与单独像素的颜色样本相关联的一个或更多个已填充颜色平面的一个或更多个指示的颜色平面。
处理可从操作603继续到操作604“压缩块片”,其中可压缩像素的更新的块片。在一些示例中,可做出压缩确定。如果确定压缩可以是有利的(例如,基于在平面中的颜色数据,或者基于满足高速缓存行阈值或诸如此类),可如本文中讨论的一样压缩像素的更新的块片。如讨论的一样,在各种示例中,压缩可以是与颜色平面相关联的特性,如本文中讨论的一样,可使用不可达比特组合指示特性。在各种示例中,可在高速缓存驱逐后执行块片压缩。
处理可从操作604继续到操作605“将比特组合变换成不可达比特组合”,其中可将诸如可达比特组合等比特组合变换成不可达比特组合,使得不可达比特组合指示与颜色平面相关联的特性。例如,变换可由图形处理单元620的抗锯齿压缩模块635执行。与颜色平面相关联的特性可指示颜色平面可被压缩。例如,如本文中讨论的一样,可将比特组合205、305或405中的某个比特组合变换成不可达比特组合210、220、310、320、330、410、420或430或诸如此类。例如,颜色数据645可包括确定的不可达比特组合。
处理可从操作603继续到操作604“传送颜色平面和变换的比特组合”,其中包括平面和确定的不可达比特组合的数据645可由图形处理单元630传送到颜色缓冲区640,颜色缓冲区640可接收和存储颜色数据645。
通常,过程600可根据需要,串行或平行重复任何次数。此外,通常抗锯齿压缩模块635可经硬件、软件和/或固件实现。如图所示,在一些实现中,抗锯齿压缩模块635可经图形处理单元630实现。在其它实现中,抗锯齿压缩模块635可经通过一个或更多个中央处理单元实现的软件实现。通常,例如可在***或用户级启用或禁用本文中讨论的抗锯齿压缩模块635和/或操作。
图7是示出根据本公开内容的至少一些实现布置的示例图形渲染过程的流程图。通常,过程700可提供用于在图形渲染中提供抗锯齿的计算机实现的方法。在所示实现中,过程700可包括如框702、704、706和/或708的一个或更多框所示的一个或更多个操作、功能或动作。作为非限制性示例,本文中将参照上面相对于图1-4讨论的操作和下面讨论的示例***100描述过程700。
过程700可作为用于在图形渲染中提供抗锯齿的计算机实现的方法。过程可从框702“检测不可达比特组合”开始,其中在回读块片时,例如可检查相关联的索引比特。如讨论的一样,在一些示例中,索引比特可包括不可达比特组合,这可指示与颜色平面相关联的特性。通常,检测到的不可达比特组合可以是如本文中讨论的任何不可达比特组合。
过程700可从框702继续到框704“基于不可达比特组合,确定与颜色平面相关联的特性”,其中可基于不可达比特组合,确定颜色平面的特性。例如,特性可包括颜色平面被压缩或诸如此类。
过程700可从框704继续到框706“反变换不可达比特组合”,其中可将不可达比特组合反变换回可达比特组合。例如,反变换可基于上述表达式(11)(例如,{00+} → {01+}),该表达式可已用于指示平面0已被压缩,这意味着例如索引比特将全部为01。在回读索引比特时,可执行反变换(例如,基于在框702不可达比特组合{01+}的检测),使得如关系式(23)中所示变换索引比特:
{01 }+ → {00+} (用于表达式(11)的反变换) (23)
类似地,可基于上面给出的关系式,确定反变换。过程700可从框706继续到框708“确定与单独像素的颜色样本相关联的颜色”,其中可确定与单独像素的颜色样本相关联的颜色。例如,可达比特组合和索引比特可用于访问一个或更多个颜色平面以确定与单独像素的颜色样本相关联的颜色。例如,如本文中讨论的一样,可为像素102的块片101的颜色样本103确定颜色。
虽然本文中讨论的示例过程500、600和700和其它过程的实现可包括以所示顺序进行示出的所有框,但本公开内容在此方面不受限制,并且在各种示例中,过程200和300的实现可包括只进行示出的框的子集和/或以与所示不同的顺序的进行。
另外,可响应一个或更多个计算机程序产品提供的指令,进行本文中讨论的任何一个或更多个框或操作(如相对于图1-7所示和讨论的操作)。此类程序产品可包括提供指令的信号承载介质,指令在由例如处理器执行时,可执行本文中所述功能性。计算机程序产品可能计算机可读介质的任何形式提供。因此,例如,包括一个或更多个处理器高速缓存的处理器可进行本文中讨论的一个或更多个框或操作。
在本文中所述的任何实现中使用时,术语“模块”指配置成提供本文中所述功能性的软件、固件和/或硬件的任何组合。软件可实施为软件包、代码和/或指令集或指令,并且在本文中所述任何实现中使用时,“硬件”可例如单独或以任何组合方式包括硬连线电路、可编程电路、状态机器电路和/或存储可编程电路执行的指令的固件。模块可全体或单独实施为形成更大***的一部分的电路,例如,集成电路(IC)、***芯片(SoC)等。
如讨论的一样,变换一个或更多个比特组合可提供与已填充颜色平面相关联的指示。也如讨论的一样,像素的比特组合可与特性和颜色平面相关联以指示或表明特性。在其它示例中,不可达比特组合可用于其它目的。例如,用于剩余比特组合({11+}、{01+,11+}、{10+,11+}和{01+,10*,11+})的另一使用区域可能要处理清除的样本。
例如,为如本文中讨论的一样节省带宽,表明是否可清除样本(例如,颜色样本)可以是有利的。例如,比特符号11可指示样本被清除。例如,如果渲染开始,则可为块片中的一些像素填充平面0。如讨论的一样,比特符号00可用于指示或“指向”平面0,并且比特符号11可用于指示一些样本可被清除。然而,在讨论的示例中,{00+,11+}可已经在使用中,使得比特符号11不可指示清除的样本,并且在一些示例中,比特符号00可被变换成比特符号01。在清除块片时,可在整个块片中将所有比特符号(例如,样本索引)设成11。例如,为整个块片将所有比特符号设成11可指示所有样本被清除。在填充颜色平面1的示例中,可将比特符号00写入索引,并且如果块片中保持至少一个11,则00将被变换成01。由于{01*,11+}是不可达比特组,因此,此类示例可提供用于指示样本是否被清除。
对于解码或读取,比特符号11可指示清除的样本,而比特符号01可被变换回比特符号00以指示它指示或指向平面0。在此示例中,可变换块片中的所有比特符号(例如,索引),并且可假设在整个块片中存在至少一个比特符号11。否则,例如可发生与诸如压缩状态等以前讨论的颜色平面特性的重叠。概括而言,可如下在关系式(18)中变换块片:
{00*,clr+} → {01 *,11+} (18)
其中,clr指可指示清除的样本。
在可填充平面0和平面1时,可将清除的样本示例概括成处理清除的样本。例如,在被变换前,此类块片可包含可被变换成{01+,10*,11+}的比特组合{00+,01*,clr+},这可在关系式(19)中描述如下:
{00+,01 *,clr+} → {01+,10*,11+} (19)
例如,在所有比特符号11从块片中消失时,比特符号(例如,索引)可被变换回其原来的比特符号。基于以上所述,仅比特组合{10+,11+}可保持未使用和不可达。在此类示例中,在只填充颜色平面0时和在块片中出现一些清除的样本时,剩余比特组合{10+,11+}可用于表明诸如压缩等特性。如上在关系式(18)中所示,只填充平面0,并且存在至少一个清除的样本时用于比特符号(例如,索引)的变换是{00+,clr+} → {01*,11+}。在此类示例中,如果块片可被压缩,则可根据关系式(20)更改块片中的所有比特符号(例如,索引),指示压缩状态,如下所示:
{01+,11+} → {10+,11+} (20)
基于以上所述,可如关系式(21)和(22)所示给出总变换,如下所示:
{00+,clr+} → {01+,11+} (块片未压缩) (21)
{00+,clr+} → {01+,11+} → {10+,11+} (块片被压缩) (22)
通过使用所述技术,可利用所有不可达比特组合。如将领会的一样,不可达比特组合可用于指示如本文中所述与颜色平面压缩状态有关的多种信息、颜色平面压缩状态、样本清除或诸如此类。
图8是根据本公开内容的至少一些实现布置,用于提供图形渲染的示例***100的示意图。在所示实现中,***100可包括一个或更多个中央处理单元806、一个或更多个存储器库620、一个或更多个图形处理单元630、颜色缓冲区和/或显示装置870。中央处理单元806、存储器库620、图形处理单元630、缓冲区和/或显示装置870可以能够例如经总线或其它接入相互进行通信。在各种实现中,显示装置870可集成在***100中或者与***100分开实现。
如图8所示,且如上讨论的一样,抗锯齿压缩模块635可经图形处理单元630实现。在其它示例中,抗锯齿压缩模块635可经图形处理单元806植入。如图所示,图形处理单元630可包括抗锯齿压缩模块635。图形处理单元630可以通信方式耦合到颜色缓冲区640。抗锯齿压缩模块635可配置成为像素的块片的单独像素确定比特组合,使得单独像素包括在单独像素内的两个或更多个颜色样本,并且比特组合指示一个或更多个已填充颜色平面的一个或更多个指示的颜色平面,并且使得一个或更多个已填充颜色平面填充有与单独像素的颜色样本相关联的一种或更多种颜色,将比特组合的至少一个比特组合变换成不可达比特组合,使得不可达比特组合指示与一个或更多个颜色平面的至少一个颜色平面相关联的特性,以及将颜色数据传送到颜色缓冲区,其中颜色数据包括不可达比特组合。通常,存储器库620可以通信方式耦合到图形处理单元630。存储器库620可包括可由抗锯齿压缩模块635访问以检索颜色平面和/或索引比特的颜色640。此外,显示装置870可配置成至少部分基于颜色数据645,显示输出图像数据(未示出)。如讨论的一样,抗锯齿压缩模块635可还配置成渲染像素的块片,经颜色缓冲区640访问一个或更多个颜色平面和/或索引比特,和/或将访问的颜色平面和/或索引比特更新成一个或更多个已填充颜色平面。
此外,如本文中相对于图8讨论的一样,抗锯齿压缩模块635可配置成检测不可达比特组,基于不可达比特组合,确定与一个或更多个颜色平面的至少一个颜色平面相关联的特性,将不可达比特组合反变换成可达比特组合,和/或至少部分基于可达比特组合,确定颜色样本。
如将领会后样,图8所示模块可包括多种软件和/或硬件模块和/或可经软件和/或硬件实现的模块。例如,模块可经中央处理单元806和/或图形处理单元630实现为软件,和/或模块可经图形处理单元630的专用硬件部分实现。此外,所示存储器库620例如可以是用于中央处理单元806和/或图形处理单元620的共享存储器。此外,颜色缓冲区640可经存储器库620实现,或者与存储器库620分开实现,和/或颜色缓冲区可经可包括诸如渲染缓冲区或诸如此类等其它缓冲区部分的通用缓冲区实现。此外,***100可以多种方式实现。例如,***100(不包括显示装置870)可实现为单个芯片或具有图形处理器、四核中央处理单元、机载高速缓存和存储器控制器输入/输出(I/O)模块(未示出)的装置。在其它示例中,***100(同样地不包括显示装置870)可实现为芯片集。
中央处理单元806可包括任何适合的实现,例如包括微处理器、多核处理器、专用集成电路、芯片、芯片集或诸如此类。此外,图形处理单元630可包括任何适合的实现,例如包括处理器、多核处理器、专用集成电路、可编程逻辑装置、图形卡、集成图形、通用图形处理单元或诸如此类。另外,存储器库620和/或颜色缓冲区640可以是任何类型的存储器,如易失性存储器(例如,静态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪存存储器等)等等。在非限制性示例中,存储器库62和/或颜色缓冲区640可经高速缓冲存储器实现。在各种示例中,***100可实现为芯片集或***芯片。
图9示出根据本公开内容的示例***900。在各种实现中,***900可以是媒体***,但***900不限于此上下文。例如,***900可包含到个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能装置(例如,智能电话、智能平板或智能电视)、移动因特网装置(MID)、消息传递装置、数据通信装置等等。
在各种实现中,***900包括耦合到显示器920的平台902。平台902可接收来自诸如内容服务装置930或内容输送装置940等内容装置或其它类似内容源的内容。包括一个或几个导航特征的导航控制器950可用于与例如平台902和/或显示器920交互。下面更详细地描述每个这些组件。
在各种实现中,平台902可包括芯片集905、处理器910、存储器912、存储装置914、图形子***915、应用916和/或无线电918的任何组合。芯片集905可在处理器910、存储器912、存储装置914、图形子***915、应用916和/或无线电918之间提供相互通信。例如,芯片集905可包括能够提供与存储装置914的相互通信的存储适配器(未示出)。
处理器910可实现为复复杂指令集计算机(CISC)、精简指令集计算机(RISC)、x86指令集兼容处理器、多核或任何其它微处理器或中央处理单元(CPU)。在各种实现中,处理器910可以是双核处理器、双核移动处理器等等。
存储器912可实现为易失性存储器装置,诸如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM (SRAM)。
存储装置914可实现为非易失性存储装置,诸如但不限于磁性磁盘驱动器、光盘驱动器、磁带驱动器、内部存储装置、附接的存储装置、闪存存储器、电池备份SDRAM(同步DRAM)和/或网络可访问的存储装置。在各种实现中,存储装置914可包括在例如包括多个硬盘驱动器时增大对宝贵数字媒体的存储性能增强保护的技术。
图形子***915可执行诸如静态或视频等图像的处理以便显示。图形子***915例如可以是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可用于以通信方式耦合图形子***915和显示器920。例如,接口可以是高清晰多媒体接口、显示端口、无线HDMI和/或符合无线HD标准的技术的任何项。图形子***915可集成到处理器910或芯片集905中。在一些实现中,图形子***915可以是以通信方式耦合到芯片集905的独立卡。
本文中所述的图形和/或视频处理技术可在各种硬件体系结构中实现。例如,图形和/或视频功能可集成在芯片集内。备选,可使用离散图形和/或视频处理器。作为仍有的另一实现,图形和/或视频功能可由包括多核处理器的通用处理器提供。在其它实施例中,功能可在消费者电子装置中实现。
无线电918可包括能够使用各种适合无线通信技术传送和接收信号的一个或几个无线电。此类技术可涉及跨一个或几个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个人区域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨此类网络进行通信中,无线电918可根据任何版本的一个或几个适用标准操作。
在各种实现中,显示器920可包括任何电视类型监视器或显示器。显示器820例如可包括计算机显示屏幕、触摸屏显示器、视频监视器、电视状装置和/或电视。显示器920可以是数字和/或模拟显示器。在各种实现中,显示器920可以是全息显示器。此外,显示器920可以是可接收视觉投影的透明表面。此类投影可传达各种形式的信息、图像和/或对象。例如,此类投影可以是用于移动增强现实(MAR)应用的视觉覆盖。在一个或几个软件应用916的控制下,平台902可在显示器920上显示用户接口922。
在各种实现中,内容服务装置930可由任何国家、国际和/或独立服务托管,并且因此可由平台902经例如因特网访问。内容服务装置930可耦合到平台902和/或显示器920。平台902和/或内容服务装置930可耦合到网络960以便传递(例如,发送和/或接收)网络960的媒体信息。内容输送装置940也可耦合到平台902和/或显示器920。
在各种实现中,内容服务装置930可包括有线电视盒、个人计算机、网络、电话、因特网启用的装置或能够输送数字信息和/或内容的家电及能够经网络960或直接在内容提供商与平台902之间单向或双向传递内容的任何其它类似装置。将领会的是,可经网络960单向和/或双向传递***900中的任何一个组件和内容提供商接收和传送的内容。内容的示例可包括任何媒体信息,例如包括视频、音乐、医疗和游戏信息等等。
内容服务装置930可接收诸如包括媒体信息、数字信息和/或其它内容的有线电视节目的内容。内容提供商的示例可包括任何有线或***或无线电或因特网内容提供商。提供的示例无意于以任何方式限制根据本公开内容的实现。
在各种实现中,平台902可接收来自具有一个或几个导航特征的导航控制器950的控制信号。控制器950的导航特征可用于与例如用户接口922交互。在实施例中,导航控制器950可以是指点装置,指点装置可以是允许用户输入空间(例如,连续和多维)数据到计算机中的计算机硬件组件(具体而言,人机接口装置)。诸如图形用户接口(GUI)和电视与监视器等许多***允许用户使用物理手势控制和提供数据到计算机或电视。
通过在显示器上显示的指针、光标、焦环或其它视觉指示器的移动,控制器950的导航特征的移动可在显示器(例如,显示器920)上重复进行。例如,在软件应用916的控制下,位于导航控制器950上的导航特征可映射到在例如用户接口922上显示的虚拟导航特征。在实施例中,控制器950可以不是单独的组件,而可以集成到平台902和/或显示器920中。然而,本公开内容不限于本文中所示或所述元素或上下文中。
在各种实现中,例如,在启用时,驱动程序(未示出)可包括允许用户在初始引导后通过按钮的点触立即开启和关闭像电视等平台902的技术。即使平台“关闭”,程序逻辑也可允许平台902将内容流传送到媒体适配器或其它内容服务装置930或内容输送装置940。另外,芯片集905例如可包括对7.1环绕立体声音频和/或高清晰7.1环绕立体声的硬件和/或软件支持。驱动程序可包括用于集成图形平台的图形驱动程序。在实施例中,图形驱动程序可包括***组件互连(PCI) Express图形卡。
在各种实现中,***900中所示任何一个或几个组件均可集成。例如,平台902和内容服务装置930可集成,或者平台902和内容输送装置940可集成,或者平台902、内容服务装置930和内容输送装置940可集成。在各种实施例中,平台902和显示器920可以是集成单元。例如,显示器920和内容服务装置930可集成,或者显示器920和内容输送装置940可集成。这些示例无意限制本公开内容。
在各种实施例中,***900可实现为无线***、有线***或两者的组合。在实现为无线***时,***900可包括适合通过无线共享介质通信的组件和接口,如一个或几个天线、发射器、接收器、收发信机、放大器、滤波器、控制逻辑等等。无线共享介质的一个示例可包括部分无线频谱,如RF频谱等。在实现为有线***时,***900可包括适合通过有线通信介质通信的组件和接口,如输入/输出(I/O)适配器、将I/O适配器与对应有线通信介质连接的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器及诸如此类。有线通信介质的示例可包括导线、电缆、金属引脚、印刷电路板(PCB)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤等等。
平台902可建立一个或几个逻辑或物理信道以传递信息。信息可包括媒体信息和控制信息。媒体信息可指表示对用户有意义的内容的任何数据。内容的示例例如可包括来自话音交谈、视频会议、流传送视频、电子邮件(“email”)消息、话音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自话音交谈的数据例如可以是语音信息、静音期间、背景噪声、柔和噪声、音调等等。控制信息可指表示对自动化***有意义的命令、指令或控制字的任何数据。例如,控制信息可用于通过***路由媒体信息,或者指示节点以预定方式处理媒体信息。然而,实施例不限于图9中所示或所述元件或上下文中。
如上所述,***1000可以变化的物理样式或外形实施。图10示出可实施***1000的小型装置1000的实现。在实施例中,例如,装置1000可实现为具有无线功能的移动计算装置。移动计算装置例如可指具有处理***和如一个或几个电池等移动电源的任何装置。
如上所述,移动计算装置的示例可包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能装置(例如,智能电话、智能平板或智能电视)、移动因特网装置(MID)、消息传递装置、数据通信装置等等。
移动计算装置的示例也可包括布置成由人佩戴的计算机,如腕部计算机、手指计算机、指环计算机、眼镜计算机、带夹计算机、臂带计算机、鞋计算机、衣服计算机及其它可穿戴计算机。在各种实施例中,例如,移动计算装置可实现为能够执行计算机应用程序及话音通信和/或数据通信的智能电话。虽然一些实施例可通过示例,借助于实现为智能电话的移动计算装置进行描述,但可理解,其它实施例也可使用其它无线移动计算装置实现。实施例在此上下文中并不受限制。
如图10所示,装置1000可包括外壳1002、显示器1004、输入/输出(I/O)装置1006及天线1008。装置1000也可包括导航特征1012。显示器1004可包括用于显示对移动计算装置适当的信息的任何适合的显示单元。I/O装置1006可包括用于将信息输入移动计算装置中的任何合适的I/O装置。I/O装置1006的示例可包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、话音识别装置和软件等等。信息也可通过麦克风(未示出)输入装置1000中。此类信息可由话音识别装置(未示出)进行数字化。实施例在此上下文中并不受限制。
各种实施例中使用硬件元素、软件元素或两者的组合实现。硬件元素的示例可包括处理器、微处理器、电路、电路元素(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD),、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体装置、芯片、微芯片、芯片集等等。软件的示例可包括软件组件、程序、应用程序、计算机程序、***程序、机器程序、操作***软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定实施例是否使用硬件元素和/或软件元素实现可根据任何数量的因素而变化,如所需的计算速率、功率电平、耐热度、处理周期预算、输入数据率、输出数据率、存储器资源、数据总线速度及其它设计或性能约束。
至少一个实施例的一个或几个方面可由在表示处理器内各种逻辑的机器可读介质上存储的代表性指令实现,指令在由机器读取时,促使机器制造逻辑以执行本文中所述技术。称为“IP核”的此类表示可存储在有形的机器可读介质上,并且提供到各种客户或生产设施以加载到实际形成逻辑或处理器的制造机中。
虽然本文中陈述的某些特征已参照各种实现进行了描述,但描述并无限制意义。因此,本公开内容有关领域的技术人员明白本文中所述实现的各种修改及其它实现,这些均应视为在本公开内容的精神和范围内。
以下示例涉及另外的实施例。
在一个示例中,用于在图形渲染中提供抗锯齿的计算机实现的方法可包括为像素的块片的单独像素确定比特组合,使得单独像素包括在单独像素内的两个或更多个颜色样本,比特组合指示与单独像素的颜色样本相关联的一个或更多个已填充颜色平面的一个或更多个指示的颜色平面,并且一个或更多个已填充颜色平面填充有与单独像素的颜色样本相关联的一种或更多种颜色,以及将比特组合的至少一个比特组合变换成不可达比特组合,使得不可达比特组合可指示与一个或更多个颜色平面的至少一个颜色平面相关联的特性。
在用于在图形渲染中提供抗锯齿的计算机实现的方法的其它示例中,可渲染块片的像素,可经颜色缓冲区访问一个或更多个颜色平面,可将一个或更多个颜色平面更新成一个或更多个已填充颜色平面,可将包括不可达比特组合的颜色数据到颜色缓冲区,可检测不可达比特组合,可基于不可达比特组合,确定与一个或更多个颜色平面的至少一个颜色平面相关联的特性,可将不可达比特比特反变换成可达比特组合,以及可至少部分基于可达比特组合,确定两个或更多个颜色样本。特性可包括至少一个颜色平面的压缩状态、至少一个颜色平面的压缩类型或至少一个颜色平面是否包括清除的颜色样本的至少之一。一个或更多个已填充颜色平面可包括单个已填充颜色平面,并且变换至少一个比特组合可包括变换至少一个比特组合的每个比特符号,使得每个比特符号与两个或更多个颜色样本的一个颜色样本相关联,变换每个比特符号包括将每个比特符号从00比特符号变换成01比特符号,并且特性包括单个已填充颜色平面被压缩。一个或更多个颜色平面可包括两个已填充颜色平面,第一已填充颜色平面和第二已填充颜色平面,使得至少一个比特组合可与第一像素相关联,并且变换至少一个比特组合可包括变换至少一个比特组合的第一比特符号,使得变换第一比特符号可包括将第一比特符号从00比特符号变换成01比特符号,并且使得特性可包括第一已填充颜色平面被压缩,并且变换至少一个比特组合可还包括将与第二像素相关联的第二比特组合变换成第二不可达比特组合,使得变换与第二像素相关联的第二比特组合可包括变换第二比特组合的第二比特符号,将第二比特组合变换成第二不可达比特组合可指示与第二已填充颜色平面相关联的第二特性,并且第二特性包括第二已填充颜色平面被压缩。一个或更多个已填充颜色平面可包括三个已填充颜色平面,第一已填充颜色平面、第二已填充颜色平面和第三已填充颜色平面,使得至少一个比特组合可与第一像素相关联,变换至少一个比特组合可包括变换至少一个比特组合的第一比特符号,并且特性可包括第一已填充颜色平面被压缩,并且变换至少一个比特组合可还包括将与第二像素相关联的第二比特组合变换成第二不可达比特组合,使得变换与第二像素相关联的第二比特组合包括变换第二比特组合的第二比特符号,将第二比特组合变换成第二不可达比特组合可指示与第二已填充颜色平面相关联的第二特性,并且第二特性可包括第二已填充颜色平面被压缩,以及变换至少一个比特组合可还包括将与第三像素相关联的第三比特组合变换成第三不可达比特组合,使得变换与第三像素相关联的第三比特组合可包括变换第三比特组合的第三比特符号,将第三比特组合变换成第三不可达比特组合可指示与第三已填充颜色平面相关联的第三特性,并且第三特性可包括第三已填充平面被压缩。一个或更多个已填充颜色平面可包括四个已填充颜色平面,第一已填充颜色平面、第二已填充颜色平面\第三已填充颜色平面和第四已填充颜色平面,并且变换至少一个比特组合可包括变换与第一像素和第一颜色平面相关联的第一比特组合、与第二像素和第二颜色平面相关联的第二比特组合或与第三像素和第三颜色平面相关联的第三比特组合的至少之一,使得特性可包括与变换的比特组合相关联的已填充颜色平面被压缩。像素的块片可以是8像素宽乘以4像素高。像素的块片的每个像素可包括四个颜色样本。一个或更多个已填充颜色平面可包括四个已填充颜色平面。每个比特组合可包括8个比特。不可达比特组合可以是在标准多采样抗锯齿处理中不能达成的比特组合。
在另一示例中,用于在计算机上在图形渲染中提供抗锯齿的***可包括颜色缓冲区和图形处理单元。图形处理单元可包括抗锯齿压缩模块。图形处理单元可以通信方式耦合到颜色缓冲区,并且抗锯齿压缩模块可配置成为像素的块片的单独像素确定比特组合,使得单独像素可包括在单独像素内的两个或更多个颜色样本,比特组合可指示一个或更多个已填充颜色平面的一个或更多个指示的颜色平面,并且一个或更多个已填充颜色平面可填充有与单独像素的颜色样本相关联的一种或更多种颜色,将比特组合的至少一个比特组合变换成不可达比特组合,使得不可达比特组合可指示与一个或更多个颜色平面的至少一个颜色平面相关联的特性,以及将颜色数据传送到颜色缓冲区,其中颜色数据包括不可达比特组合。
在用于在计算机上在图形渲染中提供抗锯齿的***的其它示例中,***可包括显示装置。显示装置可配置成至少部分基于颜色数据,显示输出图像数据。抗锯齿压缩模块可还配置成渲染像素的块片,经颜色缓冲区访问一个或更多个颜色平面,以及将一个或更多个颜色平面更新成一个或更多个已填充颜色平面。特性可包括至少一个颜色平面的压缩状态、至少一个颜色平面的压缩类型或至少一个颜色平面是否包括清除的颜色样本的至少之一。一个或更多个已填充颜色平面可包括单个已填充颜色平面,并且至少一个比特组合的变换可包括变换至少一个比特组合的每个比特符号,使得每个比特符号可与两个或更多个颜色样本的一个颜色样本相关联,每个比特符号的变换包括每个比特符号从00比特符号到01比特符号的变换,并且特性包括单个已填充颜色平面被压缩。一个或更多个颜色平面可包括两个已填充颜色平面,第一已填充颜色平面和第二已填充颜色平面,使得至少一个比特组合可与第一像素相关联,并且至少一个比特组合的变换可包括至少一个比特组合的第一比特符号的变换,第一比特符号的变换可包括第一比特符号从00比特符号到01比特符号的变换,并且特性可包括第一已填充颜色平面被压缩,其中至少一个比特组合的变换可还包括与第二像素相关联的第二比特组合到第二不可达比特组合的变换,并且与第二像素相关联的第二比特组合的变换可包括第二比特组合的第二比特符号的变换,使得第二比特组合到第二不可达比特组合的变换可指示与第二已填充颜色平面相关联的第二特性,并且第二特性可包括第二已填充颜色平面被压缩。一个或更多个已填充颜色平面可包括三个已填充颜色平面,第一已填充颜色平面、第二已填充颜色平面和第三已填充颜色平面,使得至少一个比特组合可与第一像素相关联,并且至少一个比特组合的变换可包括至少一个比特组合的第一比特符号的变换,并且特性可包括第一已填充颜色平面被压缩,其中至少一个比特组合的变换可还包括与第二像素相关联的第二比特组合到第二不可达比特组合的变换,与第二像素相关联的第二比特组合的变换可包括第二比特组合的第二比特符号的变换,第二比特组合到第二不可达比特组合的变换可指示与第二已填充颜色平面相关联的第二特性,并且第二特性包括第二已填充颜色平面被压缩,以及至少一个比特组合的变换可还包括与第三像素相关联的第三比特组合到第三不可达比特组合的变换,使得与第三像素相关联的第三比特组合的变换可包括第三比特组合的第三比特符号的变换,第三比特组合到第三不可达比特组合的变换可指示与第三已填充颜色平面相关联的第三特性,并且第三特性包括第三已填充平面被压缩。一个或更多个已填充颜色平面可包括四个已填充颜色平面,第一已填充颜色平面、第二已填充颜色平面、第三已填充颜色平面和第四已填充颜色平面,并且至少一个比特组合的变换可包括与第一像素和第一颜色平面相关联的第一比特组合、与第二像素和第二颜色平面相关联的第二比特组合或与第三像素和第三颜色平面相关联的第三比特组合的至少之一的变换,使得特性包括与变换的比特组合相关联的已填充颜色平面被压缩。像素的块片可以是8像素宽乘以4像素高。像素的块片的每个像素可包括四个颜色样本。一个或更多个已填充颜色平面可包括四个已填充颜色平面。每个比特组合可包括8个比特。不可达比特组合可以是在标准多采样抗锯齿处理中不能达成的比特组合。
在另一示例中,至少一种机器可读介质可包括多个指令,指令响应在计算装置上被执行,促使计算装置执行如上述示例的任何一个示例的方法。
在仍有的另一示例中,设备可包括用于执行如上述示例的任何一个示例的方法。
上述示例可包括特征的特定组合。然而,此类上述示例在此方面不受限制,并且在各种实现中,上述示例可包括只进行此类特征的子集,进行不同顺序的此类特征,进行此类特征的不同组合,和/或进行与明确列出的那些特征不同的另外特征。例如,相对于示例方法描述的所有特征可相对于示例设备、示例***和/或示例制品实现,且反之亦然。
Claims (21)
1.一种用于在图形渲染中提供抗锯齿的计算机实现的方法,包括:
为像素的块片的单独像素确定比特组合,其中所述单独像素包括在所述单独像素内的两个或多于两个颜色样本,其中所述比特组合指示与所述单独像素的所述颜色样本相关联的一个或多个已填充颜色平面的一个或多个指示的颜色平面,并且其中所述一个或多个已填充颜色平面填充有与所述单独像素的所述颜色样本相关联的一个或多个颜色;以及
将所述比特组合的至少一个比特组合变换成不可达比特组合,其中所述不可达比特组合指示与所述一个或多个颜色平面的至少一个颜色平面相关联的特性。
2.如权利要求1所述的方法,其中所述一个或多个已填充颜色平面包括单个已填充颜色平面,其中变换所述至少一个比特组合包括变换所述至少一个比特组合的每个比特符号,并且其中每个比特符号与所述两个或多于两个颜色样本中的颜色样本相关联。
3.如权利要求1所述的方法,其中所述一个或多个颜色平面包括两个已填充颜色平面,第一已填充颜色平面和第二已填充颜色平面,其中所述至少一个比特组合与第一像素相关联,其中变换所述至少一个比特组合包括变换所述至少一个比特组合的第一比特符号,其中所述特性包括所述第一已填充颜色平面被压缩,其中变换所述至少一个比特组合还包括将与第二像素相关联的第二比特组合变换成第二不可达比特组合,其中变换与所述第二像素相关联的所述第二比特组合包括变换所述第二比特组合的第二比特符号,其中将所述第二比特组合变换成所述第二不可达比特组合指示与所述第二已填充颜色平面相关联的第二特性,并且其中所述第二特性包括所述第二已填充颜色平面被压缩。
4.如权利要求1所述的方法,其中所述一个或多个颜色平面包括两个已填充颜色平面,第一已填充颜色平面和第二已填充颜色平面,其中所述至少一个比特组合与第一像素相关联,其中变换所述至少一个比特组合包括变换所述至少一个比特组合的第一比特符号,其中变换所述第一比特符号包括将所述第一比特符号从00比特符号变换成01比特符号,并且其中所述特性包括所述第一已填充颜色平面被压缩,其中变换所述至少一个比特组合还包括将与第二像素相关联的第二比特组合变换成第二不可达比特组合,其中变换与所述第二像素相关联的所述第二比特组合包括变换所述第二比特组合的第二比特符号,其中将所述第二比特组合变换成所述第二不可达比特组合指示与所述第二已填充颜色平面相关联的第二特性,并且其中所述第二特性包括所述第二已填充颜色平面被压缩。
5.如权利要求1所述的方法,其中所述一个或多个已填充颜色平面包括三个已填充颜色平面,第一已填充颜色平面、第二已填充颜色平面和第三已填充颜色平面,其中所述至少一个比特组合与第一像素相关联,其中变换所述至少一个比特组合包括变换所述至少一个比特组合的第一比特符号,并且其中所述特性包括所述第一已填充颜色平面被压缩,其中变换所述至少一个比特组合还包括将与第二像素相关联的第二比特组合变换成第二不可达比特组合,其中变换与所述第二像素相关联的所述第二比特组合包括变换所述第二比特组合的第二比特符号,其中将所述第二比特组合变换成所述第二不可达比特组合指示与所述第二已填充颜色平面相关联的第二特性,并且其中所述第二特性包括所述第二已填充颜色平面被压缩,其中变换所述至少一个比特组合还包括将与第三像素相关联的第三比特组合变换成第三不可达比特组合,其中变换与所述第三像素相关联的所述第三比特组合包括变换所述第三比特组合的第三比特符号,其中将所述第三比特组合变换成所述第三不可达比特组合指示与所述第三已填充颜色平面相关联的第三特性,并且其中所述第三特性包括所述第三已填充平面被压缩。
6.如权利要求1所述的方法,其中所述一个或多个已填充颜色平面包括四个已填充颜色平面,第一已填充颜色平面、第二已填充颜色平面、第三已填充颜色平面和第四已填充颜色平面,其中变换所述至少一个比特组合包括变换与第一像素和所述第一已填充颜色平面相关联的第一比特组合、与第二像素和所述第二已填充颜色平面相关联的第二比特组合或与第三像素和所述第三已填充颜色平面相关联的第三比特组合的至少之一,其中所述特性包括与所述变换的比特组合相关联的所述已填充颜色平面被压缩。
7.如权利要求1所述的方法,其中像素的所述块片是8像素宽乘以4像素高,其中像素的所述块片的每个像素包括四个颜色样本,其中所述一个或多个已填充颜色平面包括四个已填充颜色平面,并且其中每个比特组合包括8个比特。
8.如权利要求1所述的方法,还包括:
将颜色数据传送到颜色缓冲区,其中所述颜色数据包括所述不可达比特组合。
9.如权利要求1所述的方法,其中所述特性包括所述至少一个颜色平面被压缩。
10.如权利要求1所述的方法,还包括:
渲染像素的所述块片;
经颜色缓冲区访问一个或多个颜色平面;
将所述一个或多个颜色平面更新成所述一个或多个已填充颜色平面;
将包括所述不可达比特组合的颜色数据传送到所述颜色缓冲区;检测所述不可达比特组合;
基于所述不可达比特组合,确定与所述一个或多个颜色平面的至少一个颜色平面相关联的所述特性;
将所述不可达比特组合反变换成可达比特组合;以及
至少部分基于所述可达比特组合,确定所述两个或多于两个颜色样本,
其中所述特性包括所述至少一个颜色平面的压缩状态、所述至少一个颜色平面的压缩类型或所述至少一个颜色平面是否包括清除的颜色样本的至少之一,
其中所述一个或多个已填充颜色平面包括单个已填充颜色平面,其中变换所述至少一个比特组合包括变换所述至少一个比特组合的每个比特符号,其中每个比特符号与所述两个或多于两个颜色样本中的颜色样本相关联,其中变换所述每个比特符号包括将每个比特符号从00比特符号变换成01比特符号,并且其中所述特性包括所述单个已填充颜色平面被压缩,
其中所述一个或多个颜色平面包括两个已填充颜色平面,第一已填充颜色平面和第二已填充颜色平面,其中所述至少一个比特组合与第一像素相关联,其中变换所述至少一个比特组合包括变换所述至少一个比特组合的第一比特符号,其中变换所述第一比特符号包括将所述第一比特符号从00比特符号变换成01比特符号,并且其中所述特性包括所述第一已填充颜色平面被压缩,其中变换所述至少一个比特组合还包括将与第二像素相关联的第二比特组合变换成第二不可达比特组合,其中变换与所述第二像素相关联的所述第二比特组合包括变换所述第二比特组合的第二比特符号,其中将所述第二比特组合变换成所述第二不可达比特组合指示与所述第二已填充颜色平面相关联的第二特性,并且其中所述第二特性包括所述第二已填充颜色平面被压缩,
其中所述一个或多个已填充颜色平面包括三个已填充颜色平面,第一已填充颜色平面、第二已填充颜色平面和第三已填充颜色平面,其中所述至少一个比特组合与第一像素相关联,其中变换所述至少一个比特组合包括变换所述至少一个比特组合的第一比特符号,并且其中所述特性包括所述第一已填充颜色平面被压缩,其中变换所述至少一个比特组合还包括将与第二像素相关联的第二比特组合变换成第二不可达比特组合,其中变换与所述第二像素相关联的所述第二比特组合包括变换所述第二比特组合的第二比特符号,其中将所述第二比特组合变换成所述第二不可达比特组合指示与所述第二已填充颜色平面相关联的第二特性,并且其中所述第二特性包括所述第二已填充颜色平面被压缩,其中变换所述至少一个比特组合还包括将与第三像素相关联的第三比特组合变换成第三不可达比特组合,其中变换与所述第三像素相关联的所述第三比特组合包括变换所述第三比特组合的第三比特符号,其中将所述第三比特组合变换成所述第三不可达比特组合指示与所述第三已填充颜色平面相关联的第三特性,并且其中所述第三特性包括所述第三已填充平面被压缩,
其中所述一个或多个已填充颜色平面包括四个已填充颜色平面,第一已填充颜色平面、第二已填充颜色平面、第三已填充颜色平面和第四已填充颜色平面,其中变换所述至少一个比特组合包括变换与第一像素和所述第一已填充颜色平面相关联的第一比特组合、与第二像素和所述第二已填充颜色平面相关联的第二比特组合或与第三像素和所述第三已填充颜色平面相关联的第三比特组合的至少之一,其中所述特性包括与所述变换的比特组合相关联的所述已填充颜色平面被压缩,
其中像素的所述块片是8像素宽乘以4像素高,其中像素的所述块片的每个像素包括四个颜色样本,其中所述一个或多个已填充颜色平面包括四个已填充颜色平面,并且其中每个比特组合包括8个比特,以及
其中所述不可达比特组合包括在标准多采样抗锯齿处理中不能达成的比特组合。
11.一种用于在计算机上的图形渲染中提供抗锯齿的***,包括:
颜色缓冲区;
图形处理单元,包括抗锯齿压缩模块,其中所述图形处理单元以通信方式耦合到所述颜色缓冲区,并且其中所述抗锯齿压缩模块配置成:
为像素的块片的单独像素确定比特组合,其中所述单独像素包括在所述单独像素内的两个或多于两个颜色样本,其中所述比特组合指示一个或多个已填充颜色平面的一个或多个指示的颜色平面,并且其中所述一个或多个已填充颜色平面填充有与所述单独像素的所述颜色样本相关联的一个或多个颜色;
将所述比特组合的至少一个比特组合变换成不可达比特组合,其中所述不可达比特组合指示与所述一个或多个颜色平面的至少一个颜色平面相关联的特性;以及
将颜色数据传送到所述颜色缓冲区,其中所述颜色数据包括所述不可达比特组合。
12.如权利要求11所述的***,其中所述特性包括所述至少一个颜色平面的压缩状态、所述至少一个颜色平面的压缩类型或所述至少一个颜色平面是否包括清除的颜色样本的至少之一。
13.如权利要求11所述的***,其中所述一个或多个已填充颜色平面包括单个已填充颜色平面,其中变换所述至少一个比特组合包括所述至少一个比特组合的每个比特符号的变换,其中每个比特符号与所述两个或多于两个颜色样本中的颜色样本相关联,并且其中所述特性包括所述单个已填充平面被压缩。
14.如权利要求11所述的***,其中所述一个或多个颜色平面包括两个已填充颜色平面,第一已填充颜色平面和第二已填充颜色平面,其中所述至少一个比特组合与第一像素相关联,其中所述至少一个比特组合的变换包括所述至少一个比特组合的第一比特符号的变换,并且其中所述特性包括所述第一已填充颜色平面被压缩,其中所述至少一个比特组合的变换还包括与第二像素相关联的第二比特组合到第二不可达比特组合的变换,其中与所述第二像素相关联的所述第二比特组合的变换包括所述第二比特组合的第二比特符号的变换,其中所述第二比特组合到所述第二不可达比特组合的变换指示与所述第二已填充颜色平面相关联的第二特性,并且其中所述第二特性包括所述第二已填充颜色平面被压缩。
15.如权利要求11所述的***,其中所述一个或多个已填充颜色平面包括三个已填充颜色平面,第一已填充颜色平面、第二已填充颜色平面和第三已填充颜色平面,其中所述至少一个比特组合与第一像素相关联,其中所述至少一个比特组合的变换包括所述至少一个比特组合的第一比特符号的变换,并且其中所述特性包括所述第一已填充颜色平面被压缩,其中所述至少一个比特组合的变换还包括与第二像素相关联的第二比特组合到第二不可达比特组合的变换,其中与所述第二像素相关联的所述第二比特组合的变换包括所述第二比特组合的第二比特符号的变换,其中所述第二比特组合到所述第二不可达比特组合的变换指示与所述第二已填充颜色平面相关联的第二特性,并且其中所述第二特性包括所述第二已填充颜色平面被压缩,其中所述至少一个比特组合的变换还包括与第三像素相关联的第三比特组合到第三不可达比特组合的变换,其中与所述第三像素相关联的所述第三比特组合的变换包括所述第三比特组合的第三比特符号的变换,其中所述第三比特组合到所述第三不可达比特组合的变换指示与所述第三已填充颜色平面相关联的第三特性,并且其中所述第三特性包括所述第三已填充平面被压缩。
16.如权利要求11所述的***,其中所述一个或多个已填充颜色平面包括四个已填充颜色平面,第一已填充颜色平面、第二已填充颜色平面、第三已填充颜色平面和第四已填充颜色平面,其中所述至少一个比特组合的变换包括与第一像素和所述第一已填充颜色平面相关联的第一比特组合、与第二像素和所述第二已填充颜色平面相关联的第二比特组合或与第三像素和所述第三已填充颜色平面相关联的第三比特组合的至少之一的变换,并且其中所述特性包括与所述变换的比特组合相关联的所述已填充颜色平面被压缩。
17.如权利要求11所述的***,其中像素的所述块片是8像素宽乘以4像素高,其中像素的所述块片的每个像素包括四个颜色样本,其中所述一个或多个已填充颜色平面包括四个已填充颜色平面,并且其中每个比特组合包括8个比特。
18.如权利要求11所述的***,还包括:
显示装置,配置成至少部分基于所述颜色数据,显示输出图像数据。
19.如权利要求11所述的***,还包括:
显示装置,配置成至少部分基于所述颜色数据,显示输出图像数据,
其中所述抗锯齿压缩模块配置成:
渲染像素的所述块片;
经颜色缓冲区访问一个或多个颜色平面;以及
将所述一个或多个颜色平面更新成所述一个或多个已填充颜色平面;
其中所述特性包括所述至少一个颜色平面的压缩状态、所述至少一个颜色平面的压缩类型或所述至少一个颜色平面是否包括清除的颜色样本的至少之一,
其中所述一个或多个已填充颜色平面包括单个已填充颜色平面,其中所述至少一个比特组合的变换包括所述至少一个比特组合的每个比特符号的变换,其中每个比特符号与所述两个或多于两个颜色样本中的颜色样本相关联,其中所述每个比特符号的变换包括每个比特符号从00比特符号到01比特符号的变换,并且其中所述特性包括所述单个已填充颜色平面被压缩,
其中所述一个或多个颜色平面包括两个已填充颜色平面,第一已填充颜色平面和第二已填充颜色平面,其中所述至少一个比特组合与第一像素相关联,其中所述至少一个比特组合的变换包括所述至少一个比特组合的第一比特符号的变换,其中所述第一比特符号的变换包括所述第一比特符号从00比特符号到01比特符号的变换,并且其中所述特性包括所述第一已填充颜色平面被压缩,其中所述至少一个比特组合的变换还包括与第二像素相关联的第二比特组合到第二不可达比特组合的变换,其中与所述第二像素相关联的所述第二比特组合的变换包括所述第二比特组合的第二比特符号的变换,其中所述第二比特组合到所述第二不可达比特组合的变换指示与所述第二已填充颜色平面相关联的第二特性,并且其中所述第二特性包括所述第二已填充颜色平面被压缩,
其中所述一个或多个已填充颜色平面包括三个已填充颜色平面,第一已填充颜色平面、第二已填充颜色平面和第三已填充颜色平面,其中所述至少一个比特组合与第一像素相关联,其中所述至少一个比特组合的变换包括所述至少一个比特组合的第一比特符号的变换,并且其中所述特性包括所述第一已填充颜色平面被压缩,其中所述至少一个比特组合的变换还包括与第二像素相关联的第二比特组合到第二不可达比特组合的变换,其中与所述第二像素相关联的所述第二比特组合的变换包括所述第二比特组合的第二比特符号的变换,其中所述第二比特组合到所述第二不可达比特组合的变换指示与所述第二已填充颜色平面相关联的第二特性,并且其中所述第二特性包括所述第二已填充颜色平面被压缩,其中所述至少一个比特组合的变换还包括与第三像素相关联的第三比特组合到第三不可达比特组合的变换,其中与所述第三像素相关联的所述第三比特组合的变换包括所述第三比特组合的第三比特符号的变换,其中所述第三比特组合到所述第三不可达比特组合的变换指示与所述第三已填充颜色平面相关联的第三特性,并且其中所述第三特性包括所述第三已填充平面被压缩,
其中所述一个或多个已填充颜色平面包括四个已填充颜色平面,第一已填充颜色平面、第二已填充颜色平面、第三已填充颜色平面和第四已填充颜色平面,其中所述至少一个比特组合的变换包括与第一像素和所述第一已填充颜色平面相关联的第一比特组合、与第二像素和所述第二已填充颜色平面相关联的第二比特组合或与第三像素和所述第三已填充颜色平面相关联的第三比特组合的至少之一的变换,并且其中所述特性包括与所述变换的比特组合相关联的所述已填充颜色平面被压缩,
其中像素的所述块片是8像素宽乘以4像素高,其中像素的所述块片的每个像素包括四个颜色样本,其中所述一个或多个已填充颜色平面包括四个已填充颜色平面,并且其中每个比特组合包括8个比特,以及
其中所述不可达比特组合包括在标准多采样抗锯齿处理中不能达成的比特组合。
20.至少一种计算机可读介质,包括:
多个指令,所述指令响应在计算装置上被执行,促使所述计算装置执行如权利要求1到10任一项所述的方法。
21.一种用于在图形渲染中提供抗锯齿的设备,包括:
用于执行如权利要求1到10任一项所述方法的部件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/891504 | 2013-05-10 | ||
US13/891,504 US9251731B2 (en) | 2013-05-10 | 2013-05-10 | Multi-sampling anti-aliasing compression by use of unreachable bit combinations |
PCT/US2014/035453 WO2014182469A1 (en) | 2013-05-10 | 2014-04-25 | Improved multi-sampling anti-aliasing compression by use of unreachable bit combinations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105074772A CN105074772A (zh) | 2015-11-18 |
CN105074772B true CN105074772B (zh) | 2018-06-01 |
Family
ID=51864467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480020481.0A Expired - Fee Related CN105074772B (zh) | 2013-05-10 | 2014-04-25 | 通过使用不可达比特组合而改进的多采样抗锯齿压缩 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9251731B2 (zh) |
CN (1) | CN105074772B (zh) |
WO (1) | WO2014182469A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9245324B2 (en) | 2013-05-23 | 2016-01-26 | Intel Corporation | Lossy color merge for multi-sampling anti-aliasing compression |
US9230363B2 (en) * | 2013-09-11 | 2016-01-05 | Nvidia Corporation | System, method, and computer program product for using compression with programmable sample locations |
US9230362B2 (en) * | 2013-09-11 | 2016-01-05 | Nvidia Corporation | System, method, and computer program product for using compression with programmable sample locations |
US9437040B2 (en) * | 2013-11-15 | 2016-09-06 | Nvidia Corporation | System, method, and computer program product for implementing anti-aliasing operations using a programmable sample pattern table |
US9576384B2 (en) * | 2014-09-17 | 2017-02-21 | Intel Corporation | Hierarchical index bits for multi-sampling anti-aliasing |
US9466124B2 (en) * | 2014-11-10 | 2016-10-11 | Intel Corporation | Compression using index bits in MSAA |
US9912957B1 (en) | 2017-04-01 | 2018-03-06 | Intel Corporation | Lossless compression for multisample render targets alongside fragment compression |
US10134115B2 (en) * | 2017-04-17 | 2018-11-20 | Intel Corporation | Progressive multisample anti-aliasing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101065784A (zh) * | 2004-11-29 | 2007-10-31 | Arm挪威股份有限公司 | 计算机图形处理 |
CN101816021A (zh) * | 2007-10-03 | 2010-08-25 | 艾利森电话股份有限公司 | 用于使用行和列斜率码字对像素块值进行无损压缩的方法、压缩器、解压缩器和信号表示 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6535218B1 (en) * | 1998-05-21 | 2003-03-18 | Mitsubishi Electric & Electronics Usa, Inc. | Frame buffer memory for graphic processing |
US8111928B2 (en) * | 2003-02-13 | 2012-02-07 | Ati Technologies Ulc | Method and apparatus for compression of multi-sampled anti-aliasing color data |
US7868901B1 (en) * | 2004-11-02 | 2011-01-11 | Nvidia Corporation | Method and system for reducing memory bandwidth requirements in an anti-aliasing operation |
US7126615B2 (en) * | 2004-11-12 | 2006-10-24 | Via Technologies, Inc. | Color compression using multiple planes in a multi-sample anti-aliasing scheme |
US8212838B2 (en) * | 2005-05-27 | 2012-07-03 | Ati Technologies, Inc. | Antialiasing system and method |
US8063914B1 (en) * | 2007-08-02 | 2011-11-22 | Adobe Systems Incorporated | Rendering antialiased geometry to an image buffer using jittering |
US7911480B2 (en) * | 2007-10-08 | 2011-03-22 | Via Technologies, Inc. | Compression of multiple-sample-anti-aliasing tile data in a graphics pipeline |
US8107754B2 (en) * | 2007-12-07 | 2012-01-31 | Mediatek Inc. | Systems and methods for randomly accessing compressed images |
CN102016916B (zh) * | 2008-04-04 | 2014-08-13 | 先进微装置公司 | 用于抗混叠的过滤方法和装置 |
-
2013
- 2013-05-10 US US13/891,504 patent/US9251731B2/en not_active Expired - Fee Related
-
2014
- 2014-04-25 CN CN201480020481.0A patent/CN105074772B/zh not_active Expired - Fee Related
- 2014-04-25 WO PCT/US2014/035453 patent/WO2014182469A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101065784A (zh) * | 2004-11-29 | 2007-10-31 | Arm挪威股份有限公司 | 计算机图形处理 |
CN101816021A (zh) * | 2007-10-03 | 2010-08-25 | 艾利森电话股份有限公司 | 用于使用行和列斜率码字对像素块值进行无损压缩的方法、压缩器、解压缩器和信号表示 |
Also Published As
Publication number | Publication date |
---|---|
US9251731B2 (en) | 2016-02-02 |
WO2014182469A1 (en) | 2014-11-13 |
US20140333662A1 (en) | 2014-11-13 |
CN105074772A (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105074772B (zh) | 通过使用不可达比特组合而改进的多采样抗锯齿压缩 | |
CN109472270B (zh) | 图像风格转换方法、装置及设备 | |
CN103546158B (zh) | 用于图形处理的方法、***和装置 | |
CN104881367B (zh) | 处理分布式缓存组织结构中的已压缩数据的方法、计算设备、计算***和机器可读介质 | |
CN104756150B (zh) | 深度缓冲 | |
CN104951263B (zh) | 避免向显示器发送未改变的区域 | |
CN104952087A (zh) | Mipmap压缩 | |
CN113177946A (zh) | 用于提供视频中的分割的***和方法 | |
CN105229695A (zh) | 图形数据的基于子集的压缩和解压缩 | |
CN103518227B (zh) | 用于随机运动模糊栅格化的深度缓冲器压缩 | |
CN104904231A (zh) | 将缩略图信息嵌入视频流 | |
CN103179393B (zh) | 降低运动补偿和显示刷新中的功耗的dram压缩方案 | |
CN104025031B (zh) | 减少应用中对共享存储器单元执行的顺序操作的数量 | |
CN104915916A (zh) | 使用选择性色彩变换的色彩压缩 | |
CN104335588A (zh) | 基于感兴趣区域的3d视频译码 | |
CN103533286A (zh) | 用于带静态区域排除的时间帧内插的方法和*** | |
US20240005628A1 (en) | Bidirectional compact deep fusion networks for multimodality visual analysis applications | |
CN104782130B (zh) | 从丢失的空间可扩展层恢复运动向量 | |
CN105103512A (zh) | 分布式图形处理 | |
TWI517089B (zh) | 色彩緩衝器快取技術 | |
CN104754348B (zh) | 用于自适应深度偏移压缩的方法和设备 | |
CN106462936A (zh) | 深度偏移压缩 | |
CN104054049A (zh) | 减少由cpu执行以便复制源数据从而实现对源数据的并行处理的读/写操作的数量 | |
CN109065001A (zh) | 一种图像的降采样方法、装置、终端设备和介质 | |
CN103975594B (zh) | 用于残差预测的运动估计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180601 Termination date: 20210425 |