CN1707522B - 使用边缘数据位元遮罩的色彩压缩系统与方法 - Google Patents
使用边缘数据位元遮罩的色彩压缩系统与方法 Download PDFInfo
- Publication number
- CN1707522B CN1707522B CN200510082866.2A CN200510082866A CN1707522B CN 1707522 B CN1707522 B CN 1707522B CN 200510082866 A CN200510082866 A CN 200510082866A CN 1707522 B CN1707522 B CN 1707522B
- Authority
- CN
- China
- Prior art keywords
- picture element
- data
- patch block
- color
- picture
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000007906 compression Methods 0.000 claims abstract description 38
- 230000006835 compression Effects 0.000 claims abstract description 38
- 238000005070 sampling Methods 0.000 claims description 70
- 238000013144 data compression Methods 0.000 claims description 16
- 230000000694 effects Effects 0.000 claims description 15
- 238000012360 testing method Methods 0.000 claims description 10
- 241001269238 Data Species 0.000 claims description 9
- 230000000875 corresponding effect Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 238000010420 art technique Methods 0.000 description 13
- NHDHVHZZCFYRSB-UHFFFAOYSA-N pyriproxyfen Chemical compound C=1C=CC=NC=1OC(C)COC(C=C1)=CC=C1OC1=CC=CC=C1 NHDHVHZZCFYRSB-UHFFFAOYSA-N 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 238000001801 Z-test Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009885 systemic effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- 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 Graphics (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
本发明是有关于一种在多取样抗锯齿效应设计的系统中,压缩电脑图形色彩数据的系统与方法。该系统及方法是使用一边缘数据位元遮罩,产生用来决定贴砖色彩数据压缩能力的压缩码。其中,该边缘数据位元遮罩是为一个与在一贴砖之内的画素与子画素相关的边缘位置的记录。
Description
技术领域
本发明涉及一种绘图系统,特别是涉及一种在多取样抗锯齿功能设计中使用一种共用位元(位元即为位,以下均称为位元)遮罩的色彩压缩系统与方法。
背景技术
如众所周知,3D立体电脑绘图的技术是专注在如何产生或绘示(render)一个可在如阴极射线管(Cathode Ray Tube,CRT)或液晶显示器(Liquid Crystal Display,LCD)的显示装置或电脑荧幕上显示或展示的一个立体(3D)物件的平面(2D)影像。该物件可为一种简单的几何图元(geometry primitive),例如点、直线片段、三角形、或多边形。经由用一系列的连接平面多边形(planar polygons),可在显示装置上绘示较复杂的物件,例如以一系列的连接平面三角形,可展示一个复杂物件。而且所有几何图元最后都可用一个顶点(vertex)或一组顶点描述,例如用定义多边形线段片段终点或中心的座标(x,y,z)来描述。
为产生一个可投射在电脑荧幕或其他显示装置上,代表立体图元(3Dprimitive)的平面影像的数据组(data set),该图元的多数个顶点会经过一系列运算,或是在图形绘示管道(graphics-rendering pipeline)中经过多级处理。一般的管道只是一系列串接的处理单元或处理级(stages),且其中前一级的输出,是被当成下一级的输入。在图形处理器的环境中,举例而言,这些处理级是包括每顶点运算(per-vertex operations)、图元组合运算(primitive assembly operations)、画素运算(pixel operations)、质地组合运算(texture assembly operation)、描画运算(rasterizationoperations)、以及片段运算(fragment operations)等等。
在典型的图形显示系统中,影像数据库(image database(如命令列表)可储存在场景(scene)中的各物件的描述。其中,该些物件是以覆盖该物件表面的多数个小多边形所描述,且其方法是与多数个贴砖(tiles)覆盖边墙或其他表面的方式相同。每个多边形都是以顶点座标(在“Model”座标系统中的X,Y,Z)列表、材料表面特性规格(亦即色彩、质地、光泽等等)、以及到每个顶点表面的法向量(normal vectors)所描述。对具有复杂曲面的立体物件而言,一般而言该些多边形必须为三角形或四边形,且后者亦可再分解成多数个三角形对。
转换引擎(transformation engine)会根据使用者所输入的选定观看角度,转换物件座标。此外,使用者亦可指定观景(field of view)、即将产生的影像尺寸、以及三维视景体(viewing volume)后端,以藉此包含或消除想要的背景。
一旦已选定观看区(viewing area),修剪逻辑电路(clipping logic)即会消除落在观看区之外的多边形,以及修剪(clip)部分在观看区之内且部分在观看区之外的多边形。这些经修剪过的多边形是以对应于观看区边缘的新边缘,对应于落在观看区之内的多边形部分。接下来,多边形的顶点会被传送到下一个特定座标的处理级,其中该座标的X,Y座标是对应于观看荧幕(viewing screen),且该座标的Z座标是对应于每个顶点的深度。在一个典型系统中,接下来会考虑光源而施加照明模型(lighting model)。具个别色彩值(color value)的多边形,接下来会被传送至一个点阵转化器(rasterizer)。
对每个多边形而言,点阵转化器会决定那些画素(pixel)位置会被多边形覆盖,并且尝试将相关色彩值与深度(Z值),写入画框缓冲器(framebuffer)。点阵转化器会将正接受处理的多边形的深度值,与已写入画框缓冲器的画素深度值相比较。如果新多边形的画素深度值较低,则代表其是位于已写入画框缓冲器的多边形之前,因为新多边形会让先前处理过并已写入画框缓冲器的多边形显得更加模糊,所以接下来其值会取代在画框缓冲器中的数值。这种处理会持续进行,直到所有多边形多都被点阵转化过为止。此刻,视讯控制器(video controller)会以一次一个光栅(raster)扫描行(scanning line)的方式,在显示器上显示画框缓冲器的内容。
执行即时绘示(real-time rendering)的一般方法,是以位于多边形之内或位于多边形之外的画素显示多边形。其所产生的用来定义多边形的边缘,会在静态显示幕(static display)上,表现出锯齿状(jagged look),以及在动态显示幕(animated display)上,表现出爬行状(crawlinglook)。锯齿效应(aliasing)是为产生这种效应的潜在问题,而且用来降低或消除该问题的方法,是称为抗锯齿效应(anti-aliasing)技术。
因其只用到管道的输出取样,所以以荧幕为基础的抗锯齿效应方法,并不需要得知正在绘示的物件知识。习知的抗锯齿效应方法会使用一种称为多取样抗锯齿效应(Multi-Sample Anti-Aliasing,MSAA)的线性抗锯齿效应技术,且该技术在一单一处理中,会对每个画素使用一个以上的取样。每个画素的取样或子画素(sub-pixels)的个数,被称为取样率(samplingrate),且当取样率增加时,相关的记忆体(记忆体即为内存、存储器、存储介质,以下均称为记忆体)流通量也会相对增加。
经由上述提供的一般知识,以下参考图1,其是绘示在电脑绘图系统中的绘图管道特定模组的功能方块图。在此当知在绘图管道中的模组,会因系统需求而变,且可以多种方式实现。如众所周知,主机电脑10(或是在主机电脑上运行的绘图API),可产生一个命令列表(command list),且该命令列表是包括一系列的绘图命令,以及用来在图形显示器上绘示“环境”(environment)所需的数据。在绘图管道中的模组可在命令列表12之内的数据及命令上运作,以在图形显示器上绘示图像。
接下来,剖析器(parser)14会从命令列表12中撷取数据,剖析该数据以解译(interpret)命令,并且沿着绘图管道,传送用来定义绘图图元(graphics primitives)的数据。其中,绘图图元可由位置数据(例如x,y,z及w座标)及照明与质地资讯定义。每个图元的所有资讯,都可由剖析器14从命令列表中攫取,并且再将其传送到顶点着色器(vertex shader)16。顶点着色器16可在从命令列表中所接收的绘图数据上,执行各种转换。其中,该数据可从世界座标(World coordinates),转换成模型观点座标(ModelView coordinates),再转换成投射座标(Projection coordinates),最后再转换成荧幕座标(Screen coordinates)。顶点着色器16所执行的功能处理,是为熟习相关技艺者所熟知,因此其内容在此不再赘述。接下来,绘图数据会再被传送至点阵转化器(rasterizer)18。
接下来,会在位于图元之内的每个画素上,执行一个Z-测试(Z-test)20。其中,Z-测试的内容是为将目前的Z值(亦即目前图元中指定画素的Z值)与对应画素位置的所储存Z值相比较。所储存Z值可提供每一个指定画素位置上先前绘示图元的深度值。如果目前Z值比所储存Z值的深度较接近观看者的眼睛,则目前Z值会取代所储存Z值,而且目前的绘图资讯(即色彩)会取代在对应画框缓冲器中由画素着色器(pixelshader)22所决定的画素位置的色彩资讯。如果目前Z值并非较储存Z值更为接近观看者的眼睛,则因为先前绘示的画素确实是在目前画素之前,所以画框缓冲器及Z缓冲器(Z-buffer)内容两者都不会被取代。
接下来,针对已绘示且被判定较先前储存画素更接近观看者的图元之内画素的图元相关资讯,会被传送至画素着色器22,且画素着色器22会决定已绘示且被判定较先前储存画素更接近观看者的图元之内的每个画素的色彩资讯。一旦画素着色器22已计算出色彩资讯,则该资讯会被储存在画框缓冲器24中。
虽然上述说明仅简略总结各种处理模组的动作,熟习相关技艺者当知绘图数据的处理相当重要。因此,极需改善其处理效率。
发明内容
本发明提供一种可在电脑绘图系统中压缩色彩数据的系统。一较佳实施例的系统包括:一个图形处理单元(graphics processing unit,GPU);一个画框缓冲器(frame buffer),其是与GPU连接,用来储存画素的色彩数据(color data);多数个子画素(sub-pixels)单元,用以储存多数个子画素,其中每一该些子画素都包括该画素的一个色彩取样(color sample);一个取样率(sampling rate)单元,用以产生一取样率,其中该取样率包括对每个画素的子画素个数,也就是预定的取样率;一个贴砖(tile)单元,用以产生一贴砖,其中该贴砖包括多数个画素;以及一个贴砖记录(tilerecord)单元,用以产生一贴砖记录,其中该贴砖记录包括贴砖压缩数据(tile compression data)。
简言之,一实施例的该系统可由电脑绘图硬体实现,其是包括使用一个其中包括与子画素相关的图元边缘的位置数据的共用位元遮罩(sharedbitmask),产生色彩数据的压缩码的装置。
根据本发明另一实施例,本发明提供一种可在电脑绘图系统中压缩色彩数据的方法。该方法包括:储存画素色彩数据;对每个画素配置多数个色彩数据取样,其中每一该些色彩数据取样都包括一个子画素,使每一画素都可包括多数个子画素;产生一个贴砖,使该贴砖可包括多数个画素;存取一个贴砖记录,使该贴砖记录可包括标示该贴砖是否为一边缘所覆盖的边缘数据,其中该边缘是为图元之间的边界;以及使用边缘数据,决定应该从画素色彩数据中读出多少个色彩数据取样。
根据本发明再另一实施例,本发明提供一种电脑绘图系统。该电脑绘图系统包括:一个多取样抗锯齿效应逻辑电路,其是用来储存每个画素的多数个色彩取样,且其中每一色彩取样都包括一个子画素,以使得每一画素的色彩数据都可包括多数个子画素,且其中一个贴砖是包括多数个画素;以及一个色彩数据压缩逻辑电路,其是用来对每个贴砖提供一个压缩码,且其中该压缩码是包括一个压缩类型值及一个可配置数据栏位(configurable data field),使在可配置数据栏位中的数据的类型,是由贴砖压缩类型值所决定。
经由本发明的说明及实作,可充分了解及学习本发明的其他特色及/或优点。
本发明与现有技术相比具有明显的优点和有益效果。经由上述可知,本发明是有关于一种在多取样抗锯齿效应设计的系统中,压缩电脑图形色彩数据的系统与方法。该系统及方法是使用一边缘数据位元遮罩,产生用来决定贴砖色彩数据压缩能力的压缩码。其中,该边缘数据位元遮罩是为一个与在一贴砖之内的画素与子画素相关的边缘位置的记录。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1是绘示一个习知技艺所用的绘图管道的方块图。
图2是绘示一个其中包括根据本发明一实施例的元件的绘图管道的方块图。
图3是绘示在根据本发明一实施例的绘图模组中的特定元件的方块图。
图4是绘示在多取样抗锯齿效应设计中的画素贴砖及画素色彩数据一较佳实施例的方块图。
图5是绘示在根据本发明的系统及方法的一实施例的贴砖范例中的子画素数据的方块图。
图6是绘示在根据本发明系统及方法的一实施例中的一个MSAA画素的方块图。
图7是绘示在根据本发明系统及方法的一实施例中的另一个MSAA画素的方块图。
图8A-8D是绘示在根据本发明系统及方法的一实施例中的一个完全被覆盖的贴砖的简化说明图。
图9A及9B是绘示在根据本发明系统及方法的一实施例中的一个其中具有一个部分被覆盖画素的部份被覆盖贴砖的简化说明图。
图10A及10B是绘示在根据本发明系统及方法的一实施例中的一个其中具有两个部分被覆盖画素的部份被覆盖贴砖的简化说明图。
图11A及11B是绘示在根据本发明系统及方法的一实施例中的一个其中具有多于两个部分被覆盖画素的部份被覆盖贴砖的简化说明图。
图12是绘示根据本发明系统及方法的一实施例的一个部分贴砖的记录格式。
图13是绘示一个表格,用来说明根据本发明一实施例的一个8位元压缩码的架构。
图14是绘示一个流程图,用来说明根据本发明一实施例的一种色彩数据压缩方法。
图15是绘示一个流程图,用来说明根据本发明一实施例的一种执行色彩数据压缩方法的步骤。
10:主机(绘图API) 12:命令列表
14:剖析器 16:顶点着色器
18:点阵转化器 20:Z测试
22:画素着色器 24:画框缓冲器
210:绘图模组 212:多取样抗锯齿效应逻辑电路
214:色彩数据压缩逻辑电路 302:主机
310:图形处理单元 312:命令剖析器
314:顶点及几何着色器 316:三角形设定
318:跨度/贴砖产生 320:贴砖Z范围测试
322:画素Z测试 324:画素着色器
326:画框缓冲器 330:产生贴砖记录
340:外部记忆体 350:色彩压缩逻辑电路
400:显示器 402:画素
404:贴砖 406:画素架构
408:色彩数据取样 502:画素
504:子画素 600:画素
601~604:子画素 605~608:色彩数据取样
700:画素 704:子画素
706:色彩数据取样 810:显示器
820:三角形 822:扫描线
824:垂直线 830:贴砖
840:画素 910:显示器
920:三角形图元 930:贴砖
940:画素 942:部分被覆盖画素
950:三角形图元 1010:显示器
1020:三角形图元 1030:贴砖
1040:画素 1042:部分被覆盖画素
1044:部分被覆盖画素 1050:三角形图元
1060:三角形图元 1110:显示器
1120:三角形图元 1130:贴砖
1140:画素 1142:部分被覆盖画素
1143:部分被覆盖画素 1144:部分被覆盖画素
1150:三角形图元 1160:三角形图元
1210:贴砖压缩数据 1212:压缩码
1214:压缩能力栏位 1216:可架构数据栏位
1310:压缩类型值 1320:数据栏位值
1400:色彩数据压缩方法
1410:将画素色彩数据储存在画框缓冲器中
1420:配置多数个色彩数据给每一个画素
1430:产生一个贴砖
1440:存取具边缘数据的贴砖记录
1450:决定应该从画框缓冲器中读出多少色彩数据取样
1500:执行处理的方法
1510:从外部记忆体撷取贴砖记录
1520:处理贴砖压缩数据
1530:贴砖是否被图元完全覆盖?
1540:该贴砖只需一颜色
1542:压缩色彩数据无须额外读取记忆体
1550:该贴砖是否为不可压缩?
1551:一边缘是否覆盖多数个画素?
1552:读取部分被覆盖画素的位置数据
1554:读取边缘图案号码
1556:从储存在记忆体中的表格查找边缘函数
1558:检查子画素以决定边缘是在那一边
1560:必须读取所有色彩取样
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的使用边缘数据位元遮罩的色彩压缩系统与方法其具体实施方式、结构、方法、步骤、特征及其功效,详细说明如后,且其实例绘示在相对应的图式中,其中相同的标号代表相同的构件。下文特举一较佳实施例,并配合所附图式,以详细说明本发明。
在以下的说明中,可看出绘图系统会包括多数个可实现本发明所述的特性及观点的不同模组。同样地,从本说明中亦可看出在业界也会有与本发明所陈述的观念不同的的电脑绘图系统及环境。
请参考图2所示,其是绘示根据本发明一实施例的绘图管道的特定基本模组。图2所示的绘图管道包括一个称为“绘图模组”(GraphicsComponent)210的元件,用来指定或代表在绘图管道中的硬体模组。在该模组内部,逻辑电路(logic)212是用来做为多取样抗锯齿效应,其中每个画素的多数个色彩取样,是储存在画框缓冲器中。同样地,压缩逻辑电路(compression logic)214是用来压缩色彩数据,藉以降低在处理器与画框缓冲器之间的数据流通量。根据本发明一实施例,该系统更加包括一个图形处理单元(GPU),用来提供如画素着色的特定功能的可程式化处理,而非使用可执行此功能的特定硬体。在该系统中,藉由使用在此所述的处理以降低GPU与画框缓冲器之间的数据传输量,可大量改进可程式化GPU处理器的效率。
图3是绘示在根据本发明一实施例的绘图模组中的特定元件的方块图。较明确地说,图3是绘示在根据本发明一实施例的一个绘图管道中,可共同用来实现特定功能的多数个个别皆为习知的模组。举例而言,位于GPU 310内部的命令剖析器(command parser)312、顶点及几何着色器(vertex andgeometry shader)314、三角形设定(triangle setup)316、以及跨度贴砖产生(span/tile generation)318的功能,是为熟习相关技艺者所熟知,因此其细节在此不再赘述。此外,贴砖Z范围测试(tile Z-range test)320亦为熟知功能,其是在压缩过的Z数据上,执行一个Z测试。经由根据压缩过的Z资讯,而简单地接受或拒绝特定图元(或画素范围),可有效改善以此方式执行的Z测试。此外,画素Z测试方块322可执行一种类似的针对每一画素的测试。
图3所示的绘图管道更加包括:用来产生在外部记忆体340中的贴砖记录的逻辑电路330;一个画素着色器342;以及用来执行一个色彩数据压缩的逻辑电路350。画素着色器324与贴砖记录产生330方块所执行的功能,是为熟习相关技艺者所熟知,因此其细节在此不再赘述。如其名称所示,画素着色器324会对每个画素执行着色动作。对于每个正在执行动作的给定绘图图元,或是在贴砖动作中的给定贴砖而言,通常使用者会看不到其中的数个画素(其是根据深度资讯,以及被目前画素与观看点之间的其他物件所阻碍等各种因素而定)。对所有该些画素而言,并不需执行画素着色动作。在MSAA设计中,因为针对每一个画素所必须储存的色彩取样的个数增加,所以数据流通量的需求也会大量增加。一旦经由画素着色器324计算出色彩资讯之后,该资讯就会被储存在画框缓冲器326中。
然后,色彩压缩逻辑电路350会从外部记忆体读取贴砖记录,藉以搭配画素着色器324,执行色彩数据压缩,降低在GPU 310与画框缓冲器326间的色彩数据流通量。
请参考图4所示,其是绘示根据本发明一实施例的一个绘图数据架构设计的范例。其中的画素402是为在显示器400的边界之内的多数个画素的其中之一,且画素是为图形显示器的基本图形元件。画素402会组成称为贴砖404的一个特定群组。本发明一较佳实施例的贴砖是包括八个画素,其是为八个垂直画素乘上一个水平画素的架构406。熟习相关技艺者当知不同大小的贴砖,亦可适用于本发明在此所述的系统及方法。
如上所述,在电脑绘图系统中,每个画素402可能都会有相当大量的绘图数据。此绘图数据可包括如红色、绿色、及蓝色与alpha(R,G,B,A)的色彩资讯、深度资讯(Z)、以及质地资讯(U及V座标)等等。在MSAA方法中,色彩资讯本身即可代表大量数据,尤其是在当取样率增加时此现象更为明显。举例而言,使用取样率为4的MSAA方法的电脑绘图系统的每个画素会储存四个不同的色彩取样。因此,与贴砖406相关的色彩取样数据,对每个画素而言,都会具有四个色彩数据取样408。本实施例中的色彩数据取样408,是包括32位元的色彩数据。如下参考图5所述,每一个色彩取样亦可被架构成一个子画素。当已从画框缓冲器中读出此贴砖的所有色彩取样后,色彩数据的总量是为每个画素有四个取样,且共有八个画素或1024个位元。
请参考图5所示,其是绘示在一个贴砖范例中的子画素数据的实施例。与上述范例一致,本范例中的贴砖是包括八个画素502,且其架构为八个垂直画素乘上一个水平画素。其中,每一个画素502的色彩数据是定义在多个子画素504中,而且每一子画素是包括该画素的一个色彩取样。因为取样率为4,所以此架构范例中的每个画素都具有四个子画素。举例而言,在取样率为16的系统中,每个画素的色彩数据会由16个子画素或色彩取样所定义。
请参考图6所示,其是绘示在本发明方法中的一个MSAA画素范例的方块图。其中,因其取样率为4,所以画素600是包括四个色彩数据的子画素601-604。子画素601-604分别包括色彩数据取样605-608。值得注意的是,色彩数据取样605-608是代表在画素600之内的不同点上的色彩。举例而言,根据子画素的个数与架构,在每个子画素之内的色彩数据取样605-608的位置可能会不同,藉此可用一种有效方法,以色彩数据取样代表该画素。
请参考图7所示,其是绘示在本发明的系统与方法中的一个MSAA画素实施例的方块图。其中,因其取样率为8,所以画素700是包括八个色彩数据的子画素704。子画素704是包括色彩数据取样706。值得注意的是,色彩数据取样706是代表在画素700之内的不同点上的色彩。此外,相较于图6所示的四个色彩数据取样605-608而言,此八个色彩数据取样706可大幅度提升色彩解析度。
请参考图8A-8D所示,其是绘示在根据本发明系统及方法的实施例中的一个完全被覆盖的贴砖。当知为容易说明本发明实施例起见,图8A-8D仅绘示简要的说明图。然而,对熟习相关技艺者而言,在此所提供的简要说明图已足够令其了解如何实现更复杂的实际范例。
请参考图8A所示,其中的三角形图元820是在显示器810的边界之内。如众所周知,电脑绘图显示器通常可在一个单一绘图显示器上绘示数百或数千个图元。此外,该些图元通常可再被切割为如三角形820的多数个三角形图元。其中,配置在绘图管道前端的模组(前端处理模组)会在该些图元上执行特定的设定及针对顶点的动作。跨度及贴砖模组会将一个图元,切割为由扫描线822(如图8B所示)以及横跨扫描线822的垂直线824(如图8C所示)所定义的画素840(如图8D所示)。再者,画素840通常会再组合成一个2x2、4x4、8x8、或其他大小的贴砖群组。图8D是绘示一个大小为1x8画素的贴砖830。其中,贴砖830的排列是任意对应于三角形图元820。因为贴砖830是被三角形图元820所完全覆盖,所以相对于三角形图元820的贴砖830的位置,是代表最佳压缩状态。从画框缓冲器中所读出的该被完全覆盖贴砖的色彩数据,是仅为在该贴砖中的其中一个子画素的色彩数据,因此可大量节省在该贴砖中的所有32个子画素的色彩数据的读取量。
请参考图9A及9B所示,其是绘示在根据本发明系统及方法的实施例中的一个其中包括一个部分被覆盖画素的部份被覆盖贴砖。图9A及9B仅绘示简要的说明图。然而,对熟习相关技艺者而言,在此所提供的简要说明图已足够令其了解如何实现更复杂的实际范例。
请参考图9A所示,其中的三角形图元920及950是在显示器910的边界之内。如众所周知,电脑绘图显示器通常可在一个单一绘图显示器上绘示数百或数千个图元。此外,该些图元通常可再被切割为如三角形920及950的多数个三角形图元。如参考图8所述,跨度及贴砖模组会将一个图元,切割为由横跨扫描线的垂直线所定义的多数个画素940(如图9B所示)。再者,画素940通常会再组合成一个2x2、4x4、8x8、或其他大小的贴砖群组。图9B是绘示一个大小为1x8画素的贴砖930。其中,贴砖930的排列是任意对应于三角形图元920及950。在此与图8所示的完全覆盖贴砖不同的是,图9B所示的贴砖930是为一部分被图元920所覆盖,且另一部分被图元950所覆盖。因为贴砖930只具有一个部分被覆盖画素942,所以需要读取在部分被覆盖画素942中的所有子画素的色彩数据,才能执行最佳色彩压缩。虽然相较于完全被覆盖贴砖而言,此范例节省的记忆体流通量较少,但此范例所节省的记忆体流通量却已足够执行色彩压缩,尤其是在取样率增加时将更为有效。
请参考图10A及10B所示,其是绘示在根据本发明系统及方法的实施例中的一个其中包括两个部分被覆盖画素的部份被覆盖贴砖。当知为容易说明本发明实施例起见,图10A及10B仅绘示简要的说明图。然而,对熟习相关技艺者而言,在此所提供的简要说明图已足够令其了解如何实现更复杂的实际范例。
请参考图10A所示,其中的三角形图元1020、1050、及1060是在显示器1010的边界之内。如众所周知,电脑绘图显示器通常可在一个单一绘图显示器上绘示数百或数千个图元。此外,该些图元通常可再被切割为如三角形图元1020、1050、及1060的多数个三角形图元。如参考图8所述,跨度及贴砖模组会将一个图元,切割为由横跨扫描线的垂直线所定义的多数个画素1040(如图10B所示)。再者,画素1040通常会再组合成一个2x2、4x4、8x8、或其他大小的贴砖群组。图10B是绘示一个大小为1x8画素的贴砖1030。其中,贴砖1030的排列是任意对应于三角形图元1020、1050、及1060。在此与图8所示的完全覆盖贴砖与图9所示的仅具有一个部分被覆盖画素的贴砖不同的是,图10B所示的贴砖1030是为部分被三角形图元1020、1050、及1060所覆盖,且是包括两个部分被覆盖画素1042及1044。因为贴砖1030具有两个部分被覆盖画素1042及1044,所以需要读取在部分被覆盖画素1042及1044中的所有子画素的色彩数据,才能执行最佳色彩压缩。虽然相较于先前范例而言,此范例节省的记忆体流通量较少,但此范例所节省的记忆体流通量却已足够执行色彩压缩,尤其是在取样率增加时将更为有效。
请参考图11A及11B所示,其是绘示在根据本发明系统及方法的实施例中的一个其中包括三个部分被覆盖画素的部份被覆盖贴砖。当知为容易说明本发明实施例起见,图11A及11B仅绘示简要的说明图。然而,对熟习相关技艺者而言,在此所提供的简要说明图已足够令其了解如何实现更复杂的实际范例。
请参考图11A所示,其中的三角形图元1120、1150、及1160是在显示器1110的边界之内。如众所周知,电脑绘图显示器通常可在一个单一绘图显示器上绘示数百或数千个图元。此外,该些图元通常可再被切割为如三角形图元1120、1150、及1160的多数个三角形图元。如参考图8所述,跨度及贴砖模组会将一个图元,切割为由横跨扫描线的垂直线所定义的多数个画素1140(如图11B所示)。再者,画素1140通常会再组合成一个2x2、4x4、8x8、或其他大小的贴砖群组。图11B是绘示一个大小为1x8画素的贴砖1130。其中,贴砖1130的排列是任意对应于三角形图元1120、1150、及1160。在此与上述仅具有小于或等于两个部分被覆盖画素的贴砖不同的是,图11B所示的贴砖1130是为部分被三角形图元1120、1150、及1160所覆盖,且是包括三个部分被覆盖画素1142、1143、及1144。因为贴砖1130具有三个部分被覆盖画素1142、1143、及1144,所以以下参考图13所述的八位元压缩码可能无法容纳支援贴砖色彩数据压缩所需的数据。熟习相关技艺者当知大于或小于八个位元的压缩码,亦为本发明范畴之内。此外,最佳压缩码是根据不同的系统及架构参数而变。在本实施例中,为达最佳化目的,建议将贴砖的色彩数据视为不可压缩,并且从画框缓冲器中读取所有的贴砖色彩数据。
图12是绘示根据本发明系统及方法实施例的一个部分贴砖的记录格式。请参考图12所示,包括贴砖压缩数据1210的贴砖记录1200是储存在外部记忆体中。贴砖压缩数据1210包括一个压缩码1212,用来指示该贴砖是否为可压缩,并且输出从一个边缘数据位元遮罩所产生的压缩相关数据。其中,边缘数据位元遮罩是为一个用来识别所有图元边缘画素位置的遮罩。对应于每个贴砖的压缩码1212是从边缘数据位元遮罩所产生。压缩码1212包括一个其中包括压缩类型值(compression type value)的压缩能力(compressibility)栏位1214。此外,压缩码1212更加包括一个用来容纳贴砖特定相关数据的可架构数据(configurable data)栏位1216。
图13是绘示一个表格,用来说明根据本发明实施例的一个8位元压缩码的架构。参考上述图12所述的压缩能力栏位1214是包括一个压缩类型值1310,且在部分实施例中,该压缩类型值1310是使用在压缩码1212中的两个八位元的空间。此外,参考上述图12所述的可架构数据栏位1216是包括一个数据栏位值(data field value)1320,且该数据栏位值1320是根据不同压缩类型值1310,而对应于不同数据类型。如第一列所示,“00”的压缩类型值表示无法使用压缩码1212,对该贴砖的色彩数据执行压缩。如图所示,在此例中并未用到数据栏位值,且其值为系统预设值“000000”。
请参考表中的最后一列,“11”的压缩类型值1310与“111111”的数据栏位值1320合并在一起,代表在该贴砖中的所有画素都会被相同的图元所完全覆盖,而且如参考上述图8A-8D所述,此即代表可得最佳压缩。其中,如果压缩类型值1310为“11”,且数据栏位值1320包括任意个数的“0”,则数据栏位值1320“yyyxxx”会包括在位于该贴砖之内的位置“yyy”及“xxx”中的两个部分被覆盖画素的位置值。此范例是与上述参考图10A及10B所述的范例一致。虽然对于一个完全覆盖贴砖而言,这个压缩动作并未大量节省记忆体流通量,但此范例所节省的记忆体流通量却已足够执行色彩压缩,尤其是在取样率增加时更为有效。
请参考表中的第三列,“10”的压缩类型值1310是代表参考上述图9A及9B所述的包括一个部分被覆盖画素的贴砖的范例。在此例中,数据栏位值1320是为“000xxx”,且其中“xxx”是为在贴砖之内的部分被覆盖画素的位置值。数据栏位值的“000”部分是代表在此特定范例中未使用的数据,而且可设定成系统预设值“000”。
请参考表中的第二列,其中“01”的压缩类型值1310是代表在该贴砖之内有一边缘与多数个画素交叉。在此例中,数据栏位值1320是为“11xxxx”,其中“xxxx”是为一个边缘图案号码,而且“11”是代表压缩码的未使用部分。边缘图案号码是用来从一个查找表(lookup table)中,获得一个边缘函数(edge function)。该边缘函数是用来决定与该边缘相关的每一子画素应配置在每一部分被覆盖画素中的何处。因为在贴砖之内的子画素是配置在边缘的不同边上,所以必须储存部分被覆盖画素的子画素的色彩数据。
在本发明部分实施例中,最佳化色彩压缩可支援被大于两个图元所覆盖的贴砖的色彩数据压缩。举例而言,在具较高取样率的系统中,虽然最佳化的成本较高,但因其可节省记忆体的流通量,故仍视为合理。同样地,熟习相关技艺者当知支援不同大小的贴砖或大于两个部分被覆盖画素的色彩压缩,则需使用大于八个位元的压缩码。
图14是绘示一个流程图,用来说明根据本发明实施例的一种色彩数据压缩方法。该色彩数据压缩方法1400包括下列步骤。首先,在步骤1410中,画素色彩数据会被储存。接下来,在步骤1420中,每一个画素会被配置多数个色彩取样。其中,每一画素的色彩数据取样个数,是根据系统容量及绘图解析度需求而定。图14的取样率是参考MSAA的设计。接下来,在步骤1430中,经由对每个贴砖配置多数个画素而产生贴砖。其中,该些贴砖会组成如2x2、4x4、8x8、或如上述范例的1x8画素的特定大小结构的画素群组。
接下来,在步骤1440中,存取一个贴砖记录。其中,该贴砖记录包括从边缘位置位元遮罩内容所产生的压缩数据。相较于对应于用边缘位置位元遮罩识别那一个画素包括边缘的色彩数据压缩的流通量降低而言,读取其中包括贴砖压缩数据的个别贴砖记录,仅耗用相当小的读取流通量。接下来,在步骤1450中,根据压缩数据,决定应该从画框缓冲器中读取多少色彩数据取样。因为本发明所述的色彩压缩方法不需读取及储存色彩数据,故可降低系统的记忆体流通量。
图15是绘示一个流程图,用来说明根据本发明实施例的一种执行色彩数据压缩方法的步骤。该执行方法1500包括下列步骤。首先,在步骤1510中,撷取贴砖记录。如上所述,相较于对应于色彩数据压缩所节省的记忆体流通量所降低的记忆体流通量而言,读取贴砖记录所需的流通量是微不足道。接下来,在步骤1520中,在贴砖记录内部处理贴砖压缩数据。在步骤1530中,经由检查压缩数据,以决定该贴砖是否为一图元所完全覆盖。如果判定该贴砖是为一图元所完全覆盖,则在步骤1540中,判定该贴砖只需一颜色,其中该色彩数据是由MSAA系统的多数个色彩数据取样的其中之一所代表。在此例中,如步骤1542所示,并不需额外读取记忆体,因此可节省大量的记忆体流通量。
如果该贴砖并非为一图元所完全覆盖,则在步骤1550中,经由检查压缩数据,以决定该贴砖是否为不可压缩。如果判定该贴砖为不可压缩,则在步骤1560中,必须读取所有的色彩取样。如果判定该贴砖为可压缩,则在步骤1551中,经由检查压缩数据,以决定该贴砖是否有一边缘覆盖贴砖之内的多数个画素。如果判定为真,则在步骤1554中,读取边缘图案号码。并且接下来在步骤1556中,根据该边缘图案号码,在一表格中查找一个对应边缘函数。接下来,在步骤1558中,检查在部分被覆盖画素中的子画素,以决定边缘是在那一边。反之,如果边缘并未覆盖多数个画素,则在步骤1552中,读取具有一或两个部分被覆盖画素的贴砖与部分被覆盖画素的位置数据。该位置数据是用来决定必须从画框缓冲器中读出那些色彩取样。熟习相关技艺者当知,只要压缩码的位元宽度增加,则本发明的其他实施例亦可支援具有大于两个部分被覆盖画素、大于一个边缘、或以上两者的组合的贴砖的色彩数据压缩。
本发明实施例可以硬体、软体、韧体、或上述任意组合实现。本发明部分实施例是用软体或韧体实现色彩数据压缩,其中该软体或韧体是储存在记忆体中,且可由一适当的指令执行系统执行。如果本发明是以硬体实现,则如本发明另一实施例所示,可用下列技术的任意组合实现色彩数据压缩。其中,广为人知的技术包括:离散逻辑电路电路,其是具有可在数据讯号上实现逻辑电路功能的逻辑电路闸;特定用途积体电路(application specific integrated circuit,ASIC),其是具有适当组合逻辑电路闸;可程式化闸阵列(programmable gate array(s),PGA);以及场可程式化闸阵列(field programmable gate array,FPGA)。
在本发明流程图中的所有程序的说明,可视为代表程式码的模组、片段、或部分,且该程式码是包括用来执行在该些步骤中的特定逻辑电路功能的一或多个可执行指令,而且以其他方式实现的范例,亦包括在本发明实施例的范畴之内。熟习相关技艺者当知,本发明流程图中的所有程序的实施步骤并未限定于此,当可根据所需功能变换其执行步骤。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更动或修饰为等同变化的等效实施例,但是凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (12)
1.一种在电脑绘图系统中压缩色彩数据的系统,其特征在于其包括:
一图形处理单元;
一画框缓冲器,与该图形处理单元合作,以保存一画素的色彩数据;
多数个子画素单元,每一该子画素单元皆是用以提供一子画素,每一该些子画素都包括该画素的一色彩取样;
一取样率单元,用以提供事先预定的一取样率,该取样率包括针对每一画素的该些子画素的个数;
一贴砖单元,用以提供一贴砖,该贴砖包括多数个画素;以及
一贴砖记录单元,用以提供一贴砖记录,该贴砖记录包括贴砖压缩数据,而所述的贴砖压缩数据包括边缘位置数据,使一边缘可定义多数个图元之间的一边界,其中所述的边缘位置数据至少包括下列之一:
一边缘图案号码;
用以定义在该贴砖中的一某部分被覆盖画素位置的数据;
用以定义在该贴砖中的一第二部分被覆盖画素位置的数据;以及
一边缘函数查找表,可用该边缘图案号码,存取一边缘函数。
2.根据权利要求1所述的系统,其特征在于其中所述的边缘位置数据至少包括下列之一:
标示是否在该贴砖中的所有画素是为该些图元的其中之一所覆盖的数据;
部分被覆盖画素位置数据;以及
不可压缩贴砖数据,用来标示该方块的色彩数据是为不可压缩。
3.根据权利要求2所述的系统,其特征在于其中一完全被覆盖贴砖的色彩数据包括一子画素的色彩数据。
4.根据权利要求2所述的系统,其特征在于其中是用该边缘函数分析在一部分被覆盖画素中的该些子画素,以决定对应于该边缘的每一该些子画素应配置在何处。
5.一种在一电脑绘图系统中压缩色彩数据的方法,其特征在于其包括以下步骤:
储存画素色彩数据;
对每一画素配置多数个色彩数据取样,其中每一该些色彩数据取样都包括一子画素,使每一画素都包括多数个子画素;
产生一贴砖,使该贴砖包括多数个画素;
存取一贴砖记录,使该贴砖记录包括标示该贴砖是否为一边缘所覆盖的边缘数据,且该边缘是为多数个图元之间的一边界,其中所述的边缘数据包括一压缩码,而该压缩码至少包括:
一压缩能力栏位,该压缩能力栏位包括标示该色彩数据压缩能力的一压缩类型值,
一可架构数据栏位,用来提供与该压缩类型值合作的特定数据,其中包括一边缘图案号码,用来在一查找表中决定一边缘函数;以及
使用该边缘数据,决定应该从该画框缓冲器中读出多少该些色彩数据取样。
6.根据权利要求5所述的方法,其特征在于其中如果该边缘数据标示该贴砖并非为一边缘所覆盖,则在该贴砖中的所有画素的该画素色彩数据包括该些色彩数据取样的其中之一。
7.根据权利要求6所述的方法,其特征在于其中所述的压缩类型值标示一某一部分被覆盖画素的位置数据是包括在该可架构数据栏位中。
8.根据权利要求7所述的方法,其特征在于更加包括一步骤,经由测试该些子画素,以决定对应于该边缘的每一该些子画素的该位置。
9.根据权利要求7所述的方法,其特征在于其中所述的压缩码至少可以标示下列两种内容之某一种:
在该贴砖中的所有该些画素是被完全覆盖,使该贴砖的该色彩数据可被当成一子画素读取;以及
该贴砖的该色彩数据是为不可压缩,藉以读出所有该些色彩数据取样的数据。
10.一种电脑绘图系统,其特征在于其包括:
一多取样抗锯齿效应逻辑电路,用来储存针对每一画素的多数个色彩取样,其中每一色彩取样包括一子画素,使每一画素的该色彩数据包括多数个子画素,且其中一贴砖是包括多数个画素;以及
一色彩数据压缩逻辑电路,用来提供用于每一贴砖的一压缩码,其中该压缩码包括一压缩能力值栏位及一可架构数据栏位,使在该可架构数据栏位中的数据类型,取决于该压缩能力值栏位,其中所述的可架构数据栏位至少包括下列之一:
一第一部分被覆盖画素及一第二部分被覆盖画素的位置数据;以及
一边缘图案号码,藉以从一边缘函数查找表中决定一边缘函数。
11.根据权利要求10所述的系统,其特征在于其中所述的压缩码更加包括至少下列之一:
从一边缘数据位元遮罩所产生的数据,使该边缘数据位元遮罩包括对应于该些画素的该些边缘的位置;以及
储存在该压缩能力值栏位中的一压缩类型值。
12.一种在一电脑绘图系统中压缩色彩数据的系统,其特征在于其包括:
一电脑图形显示器;
多数个画素单元,用来在该电脑图形显示器上绘示一影像;
多数个子画素单元,用来储存在每一该些画素之内的多数个子画素,其中每一该些子画素都存有色彩取样数据;以及
一压缩码单元,用来储存一压缩码,该压缩码是包括边缘位置数据的一位元遮罩,是用来产生用于该些画素的一贴砖的该压缩码,其中该压缩码包括一压缩能力值栏位及一可架构数据栏位,使在该可架构数据栏位中的数据类型,取决于该压缩能力值栏位,而所述的可架构数据栏位至少包括下列之一:
一第一部分被覆盖画素及一第二部分被覆盖画素的位置数据;以及
一边缘图案号码,藉以从一边缘函数查找表中决定一边缘函数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/047,904 US20060170703A1 (en) | 2005-02-01 | 2005-02-01 | Color compression using an edge data bitmask in a multi-sample anti-aliasing scheme |
US11/047,904 | 2005-02-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1707522A CN1707522A (zh) | 2005-12-14 |
CN1707522B true CN1707522B (zh) | 2012-11-28 |
Family
ID=35581428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510082866.2A Active CN1707522B (zh) | 2005-02-01 | 2005-07-11 | 使用边缘数据位元遮罩的色彩压缩系统与方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060170703A1 (zh) |
CN (1) | CN1707522B (zh) |
TW (1) | TWI272014B (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7609902B2 (en) * | 2004-04-13 | 2009-10-27 | Microsoft Corporation | Implementation of discrete cosine transformation and its inverse on programmable graphics processor |
US7502035B1 (en) * | 2005-12-19 | 2009-03-10 | Nvidia Corporation | Apparatus, system, and method for multi-sample pixel coalescing |
US8928676B2 (en) | 2006-06-23 | 2015-01-06 | Nvidia Corporation | Method for parallel fine rasterization in a raster stage of a graphics pipeline |
US9070213B2 (en) * | 2006-07-26 | 2015-06-30 | Nvidia Corporation | Tile based precision rasterization in a graphics pipeline |
US7804499B1 (en) * | 2006-08-28 | 2010-09-28 | Nvidia Corporation | Variable performance rasterization with constant effort |
US8508544B1 (en) * | 2006-11-02 | 2013-08-13 | Nvidia Corporation | Small primitive detection to optimize compression and decompression in a graphics processor |
US8233004B1 (en) | 2006-11-06 | 2012-07-31 | Nvidia Corporation | Color-compression using automatic reduction of multi-sampled pixels |
US7692659B1 (en) * | 2006-11-06 | 2010-04-06 | Nvidia Corporation | Color-compression using automatic reduction of multi-sampled pixels |
US8547395B1 (en) | 2006-12-20 | 2013-10-01 | Nvidia Corporation | Writing coverage information to a framebuffer in a computer graphics system |
US7876332B1 (en) * | 2006-12-20 | 2011-01-25 | Nvidia Corporation | Shader that conditionally updates a framebuffer in a computer graphics system |
US7817165B1 (en) | 2006-12-20 | 2010-10-19 | Nvidia Corporation | Selecting real sample locations for ownership of virtual sample locations in a computer graphics system |
JP4845825B2 (ja) * | 2007-07-25 | 2011-12-28 | 株式会社 日立ディスプレイズ | 多色表示装置 |
US8004522B1 (en) | 2007-08-07 | 2011-08-23 | Nvidia Corporation | Using coverage information in computer graphics |
US8325203B1 (en) | 2007-08-15 | 2012-12-04 | Nvidia Corporation | Optimal caching for virtual coverage antialiasing |
US7911480B2 (en) * | 2007-10-08 | 2011-03-22 | Via Technologies, Inc. | Compression of multiple-sample-anti-aliasing tile data in a graphics pipeline |
US8654135B1 (en) | 2008-09-10 | 2014-02-18 | Nvidia Corporation | A-Buffer compression for different compression formats |
US8130223B1 (en) | 2008-09-10 | 2012-03-06 | Nvidia Corporation | System and method for structuring an A-buffer to support multi-sample anti-aliasing |
US8553041B1 (en) * | 2008-09-10 | 2013-10-08 | Nvidia Corporation | System and method for structuring an A-buffer to support multi-sample anti-aliasing |
US9530189B2 (en) | 2009-12-31 | 2016-12-27 | Nvidia Corporation | Alternate reduction ratios and threshold mechanisms for framebuffer compression |
CN103108197A (zh) | 2011-11-14 | 2013-05-15 | 辉达公司 | 一种用于3d视频无线显示的优先级压缩方法和系统 |
US9829715B2 (en) | 2012-01-23 | 2017-11-28 | Nvidia Corporation | Eyewear device for transmitting signal and communication method thereof |
US9330475B2 (en) | 2012-05-01 | 2016-05-03 | Qualcomm Incorporated | Color buffer and depth buffer compression |
US9105250B2 (en) | 2012-08-03 | 2015-08-11 | Nvidia Corporation | Coverage compaction |
US9578224B2 (en) | 2012-09-10 | 2017-02-21 | Nvidia Corporation | System and method for enhanced monoimaging |
US9002125B2 (en) | 2012-10-15 | 2015-04-07 | Nvidia Corporation | Z-plane compression with z-plane predictors |
US9235926B2 (en) * | 2012-12-24 | 2016-01-12 | Intel Corporation | Techniques for improving MSAA rendering efficiency |
US10043234B2 (en) | 2012-12-31 | 2018-08-07 | Nvidia Corporation | System and method for frame buffer decompression and/or compression |
US9591309B2 (en) | 2012-12-31 | 2017-03-07 | Nvidia Corporation | Progressive lossy memory compression |
US9607407B2 (en) | 2012-12-31 | 2017-03-28 | Nvidia Corporation | Variable-width differential memory compression |
US10935788B2 (en) | 2014-01-24 | 2021-03-02 | Nvidia Corporation | Hybrid virtual 3D rendering approach to stereovision |
US9832388B2 (en) | 2014-08-04 | 2017-11-28 | Nvidia Corporation | Deinterleaving interleaved high dynamic range image by using YUV interpolation |
US9906981B2 (en) | 2016-02-25 | 2018-02-27 | Nvidia Corporation | Method and system for dynamic regulation and control of Wi-Fi scans |
US10127625B2 (en) * | 2016-05-27 | 2018-11-13 | Intel Corporation | Bandwidth-efficient lossless fragment color compression of multi-sample pixels |
US10684993B2 (en) * | 2016-06-15 | 2020-06-16 | International Business Machines Corporation | Selective compression of unstructured data |
GB2558886B (en) | 2017-01-12 | 2019-12-25 | Imagination Tech Ltd | Graphics processing units and methods for controlling rendering complexity using cost indications for sets of tiles of a rendering space |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4710876A (en) * | 1985-06-05 | 1987-12-01 | General Electric Company | System and method for the display of surface structures contained within the interior region of a solid body |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6188394B1 (en) * | 1998-08-28 | 2001-02-13 | Ati Technologies, Inc. | Method and apparatus for video graphics antialiasing |
US8111928B2 (en) * | 2003-02-13 | 2012-02-07 | Ati Technologies Ulc | Method and apparatus for compression of multi-sampled anti-aliasing color data |
-
2005
- 2005-02-01 US US11/047,904 patent/US20060170703A1/en not_active Abandoned
- 2005-06-24 TW TW094121149A patent/TWI272014B/zh active
- 2005-07-11 CN CN200510082866.2A patent/CN1707522B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4710876A (en) * | 1985-06-05 | 1987-12-01 | General Electric Company | System and method for the display of surface structures contained within the interior region of a solid body |
Also Published As
Publication number | Publication date |
---|---|
TWI272014B (en) | 2007-01-21 |
US20060170703A1 (en) | 2006-08-03 |
CN1707522A (zh) | 2005-12-14 |
TW200629898A (en) | 2006-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1707522B (zh) | 使用边缘数据位元遮罩的色彩压缩系统与方法 | |
US7126615B2 (en) | Color compression using multiple planes in a multi-sample anti-aliasing scheme | |
US7911480B2 (en) | Compression of multiple-sample-anti-aliasing tile data in a graphics pipeline | |
US6933951B2 (en) | Method and system for dynamically allocating a frame buffer for efficient anti-aliasing | |
US7030878B2 (en) | Method and apparatus for generating a shadow effect using shadow volumes | |
JP5595739B2 (ja) | グラフィックスを処理する方法およびそのための装置 | |
CN104424621B (zh) | 基于图块的图形处理流水线和操作图形处理流水线的方法 | |
US6825847B1 (en) | System and method for real-time compression of pixel colors | |
CN101911123B (zh) | 图形描绘装置以及图形描绘方法 | |
US7202872B2 (en) | Apparatus for compressing data in a bit stream or bit pattern | |
CN101604454A (zh) | 图形处理系统 | |
CN100504923C (zh) | 用于纹理视讯处理的纹理引擎、图形处理器及方法 | |
WO2015153168A1 (en) | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location | |
EP1306810A1 (en) | Triangle identification buffer | |
US7277098B2 (en) | Apparatus and method of an improved stencil shadow volume operation | |
CN101183459B (zh) | 于计算机环境中共享缓冲器的系统及方法 | |
KR100860673B1 (ko) | 3차원 이미지 생성을 위한 이미지 생성 장치 및 방법 | |
KR20180038793A (ko) | 영상 데이터 처리 방법 및 장치 | |
US20220309732A1 (en) | Graphics processing unit and operating method thereof | |
KR20210117988A (ko) | 디커플드 쉐이딩 텍스처 렌더링을 위한 방법 및 장치 | |
US6882349B2 (en) | Efficient image allocation for zone rendering | |
KR101748397B1 (ko) | OpenGL을 이용한 AVM용 LUT 생성 방법 | |
Baek | Implementation of the raster pipeline over the 3D geometry pipeline: A point-set approach | |
EP1306811A1 (en) | Triangle identification buffer | |
JPH02284277A (ja) | グラフィック表示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |