绘图处理系统及其方法转让专利

申请号 : CN200810000374.8

文献号 : CN101201932B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 约翰·柏拉勒斯

申请人 : 威盛电子股份有限公司

摘要 :

本发明提供一种绘图处理系统及其方法,特别涉及一种绘图处理系统,用于一计算机绘图管线中压缩多重样本反锯齿区块描述元数据。上述系统包括多个像素组成的区块,其中上述区块具有上述像素的描述元的多个样本。多重绘图数据处理单元接受包括多个覆盖遮罩的多个样本,其中上述覆盖遮罩对应于子区块,并且以压缩逻辑对上述区块描述元数据做编码并传送至一缓冲器。本发明所述的绘图处理系统及其方法,可以减少介于绘图管线阶段间数据传输的总量,并且改善存储器和处理器的效能。

权利要求 :

1.一种绘图处理系统,其特征在于,用于一计算机绘图管线中压缩多重样本反锯齿区块描述元数据,包括:区块描述元数据,包括多个样本,上述样本对应于多个像素;

多个绘图数据处理单元,用以自一区块先进先出缓冲器接收上述多个样本与传送上述多个样本至上述区块先进先出缓冲器以撷取上述区块描述元数据,上述区块描述元数据包括多个覆盖遮罩,其中每一个上述覆盖遮罩对应至区块的上述多个像素其中之一以及上述覆盖遮罩对应至覆盖的子区块;以及一压缩逻辑,用以编码上述区块描述元数据;

其中,上述区块的遮盖情形包括没有全部被遮盖及全部被遮盖两种,当上述区块没有全部被遮盖时,则编码的上述区块描述元数据具有一长记录区块格式,上述长记录区块格式具有一区块遮罩与上述区块遮罩的X坐标及Y坐标,上述区块遮罩具有一逻辑或函数,以用于对上述覆盖遮罩的多个子集合执行运算。

2.根据权利要求1所述的绘图处理系统,其特征在于,每一个上述覆盖遮罩包括多个位,上述位对应于多个样本,上述样本对应于至少一上述像素。

3.根据权利要求1所述的绘图处理系统,其特征在于,当上述区块全部被遮盖时,则编码的上述区块描述元数据具有一压缩区块格式。

4.根据权利要求1所述的绘图处理系统,其特征在于,还包括多个覆盖遮罩标志,其中上述覆盖遮罩标志具有一逻辑与函数,以用于对上述逻辑或函数的结果执行运算,其中上述逻辑或函数用于对至少一上述覆盖遮罩的上述子集合执行运算。

5.根据权利要求4所述的绘图处理系统,其特征在于,当上述覆盖遮罩标志其中之一为0时,不编码对应的上述覆盖遮罩。

6.根据权利要求1所述的绘图处理系统,其特征在于,上述先进先出缓冲器具有多个读取指针,上述读取指针对应于上述绘图数据处理单元。

7.一种绘图处理方法,其特征在于,用于一计算机绘图管线中压缩多重样本反锯齿区块描述元数据,包括:接收区块描述元数据至一Z缓冲器,上述区块描述元数据对应于一区块;

封装上述区块描述元数据至一输出文件项目以由多个管线处理单元接续处理;

判断哪一个覆盖遮罩对应至覆盖的子区块;

编码上述区块描述元数据;以及

写入编码的上述区块描述元数据至一先进先出缓冲器;

其中,上述判断包括计算多个区块列遮罩位,上述区块列遮罩位对应于多个区块列其中之一,计算上述区块列遮罩位包括于上述覆盖遮罩的多个子集合间执行一逻辑或函数。

8.根据权利要求7所述的绘图处理方法,其特征在于,上述编码包括当上述区块全部被覆盖时,产生一压缩区块描述元格式。

9.根据权利要求7所述的绘图处理方法,其特征在于,上述编码包括当上述区块部分被覆盖时,产生一长记录区块描述元格式。

10.根据权利要求7所述的绘图处理方法,其特征在于,还包括执行一逻辑与函数于上述区块列遮罩位以判断是否有上述覆盖遮罩对应于上述区块列其中之一。

11.根据权利要求7所述的绘图处理方法,其特征在于,还包括产生一子区块像素覆盖遮罩。

12.根据权利要求11所述的绘图处理方法,其特征在于,上述编码包括:选择上述子区块像素覆盖遮罩;以及

选择需要的上述覆盖遮罩。

13.根据权利要求11所述的绘图处理方法,其特征在于,上述产生包括将对应于区块列的位分群。

14.根据权利要求9所述的绘图处理方法,其特征在于,产生上述长记录区块描述元格式还包括在一子区块像素遮罩前放置多个坐标,其中上述坐标包括至少一X值与至少一Y值。

15.根据权利要求7所述的绘图处理方法,其特征在于,上述先进先出缓冲器包括多个读取指针,上述读取指针对应于上述管线处理单元。

说明书 :

绘图处理系统及其方法

技术领域

[0001] 本发明是有关于一种计算机绘图,且特别是有关于一种绘图管线中区块数据的压缩。

背景技术

[0002] 3D计算机绘图的技术和科学,主要是关于产生与表现3D物件的2D影像,以呈现在显示器或荧幕上,例如阴极射线管屏幕或是液晶屏幕。该物件或许是个简单的基本几何图形:一个点、一条线、三角形或是多边形。更复杂的物件可以通过一系列相连的平面多边形表现在显示器上,举例来说,可以以一连串连接的平面三角形表现一物件。所有的基本几何图形最后都可以被描述成一个或是一组向量。例如,一组坐标(X,Y,Z)代表着一个点,可以代表一个线段的端点,或是多边形的某一角。
[0003] 为了产生一组数据来显示一个3D图形的2D投影于计算机屏幕或是其他显示装置上,这些基本向量将经过一系列的运算或是经过绘图着色管线中多个处理阶段。一个基本管线仅有一系列一连串的运算单元或阶段,可以将前一个运算单元的输出结果当作下一个阶段的输入。在这个绘图处理器当中,这些阶段包括,例如,每个顶点的运算单元、基本组合运算单元、像素运算单元、纹理组合运算单元、描绘运算单元和片段运算单元。
[0004] 在典型的绘图显示系统中,一绘图数据库(一个指令清单)可以储存场景中物件的描述。可以利用多个小的多边形来描述上述物件,这些多边形以相同的方法覆盖物件的表面,利用这些小区块就可以覆盖整面墙或是其他的表面。一般使用一连串的顶点坐标(在“模块”坐标系统中的X、Y、Z)以及一些重要的表面性质(例如颜色、纹理、反光度等)来描述一个多边形,也可以用多边形表面上每个点的法向量来描述一个多边形。对于有复杂的曲面的3D物件,这些多边形可能包括多个三角形或四边形,并且四边形可以被分解为一对三角形。
[0005] 一转换引擎通过使用者输入的数据,将物件的坐标转换成使用者选择的视角。另外,使用者可以限定观测的范围、产生绘图的大小以及视景体(viewing volume)的后端以包括或排除背景。
[0006] 一旦选择了观测区域,剪裁逻辑会删除观测区域以外的多边形(三角形),并且“剪裁”部分在观测区域内、部分在观测区域外的多边形。这些被剪裁的多边形会对应到上述多边形于观测区域内的部分,并且有新的边界对应于观测区域的边界。接着,在对应于观测屏幕的坐标(X、Y坐标)中,这些多边形的顶点与每一顶点的相关深度(Z坐标)会被传送下一阶段。在一个典型系统中,下一个阶段是打光模块,用于考量光源。接着,这些多边形与他们的属性值将会被传送到描绘单元。
[0007] 对于一个或多个多边形,描绘单元决定了哪些像素值会被这多边形覆盖并且将相关的属性值和深度(Z值)写入一画面缓冲器。描绘单元会将处理中的多边形的深度(Z)和已经被写至画面缓冲器的像素深度做比较,如果新的多边形像素的深度比较小,表示上述新多边形位于已经被写至画面缓冲器的多边形的前方,因为新多边形会遮盖之前产生的多边形,所以新多边形像素的值会取代画面缓冲器中的值而被写入至画面缓冲器。这个过程会不断重复直到描绘完所有的多边形。
[0008] 实时着色的预设方法可将多边形以像素显示,其中像素可以是落在多边形边界内或外的像素。而将会使得定义多边形的最后边界在静态显示中以锯齿型呈现,或是在动态显示中以缓慢移动呈现。这个问题产生的影响称为锯齿化,而用于降低或排除这个问题的方法称为反锯齿技术。
[0009] 一个反锯齿技术调整了发生锯齿化的像素属性以试图平滑上述显示。例如,像素的密度由落于像素区域内线段的长度决定。基于屏幕的反锯齿方法不需要被描绘物件的信息,因为上述方法仅使用管线输出样本。另一个反锯齿方法利用名为多重样本反锯齿(MSAA)的线反锯齿方法,每计算一个像素要取一个以上的样本。每个像素使用的样本或像素子集的数量称为样本率。所以,当样本率增加,区块的数据总数和相关的存储器流量也会增加。值得注意的是,实际上样本的数量有可能会变动,虽然较高的样本率可以产生更好的反锯齿效果,但系统资源的需求也会随着样本率增加而增加。
[0010] 3D数据处理可以是密集的数据。利用多重样本数据的压缩方法可以减少介于绘图管线阶段间数据传输的总量,并且可以改善存储器和处理器的效能。因此,满足先前所述的缺陷与不适当的需求是存在的。

发明内容

[0011] 有鉴于此,本发明提供一种绘图处理系统,用于一计算机绘图管线中压缩多重样本反锯齿(MSAA)区块描述元数据。上述绘图处理系统包括区块描述元数据、多个绘图数据处理单元以及一压缩逻辑。上述区块描述元数据包括多个样本,上述样本对应于多个像素。上述多个绘图数据处理单元用以自一区块先进先出(FIFO)缓冲器接收上述多个样本与传送上述多个样本至上述区块FIFO缓冲器以撷取上述区块描述元数据,上述区块描述元数据包括多个覆盖遮罩,其中每一个上述覆盖遮罩对应至区块的上述多个像素其中之一以及上述覆盖遮罩对应至覆盖的子区块。上述压缩逻辑用以编码上述区块描述元数据。其中,上述区块的遮盖情形包括没有全部被遮盖及全部被遮盖两种,当上述区块没有全部被遮盖时,则编码的上述区块描述元数据具有一长记录区块格式,上述长记录区块格式具有一区块遮罩与上述区块遮罩的X坐标及Y坐标,上述区块遮罩具有一逻辑或函数,以用于对上述覆盖遮罩的多个子集合执行运算。
[0012] 本发明提供一种绘图处理方法,用于一计算机绘图管线中压缩多重样本反锯齿区块描述元数据。首先,接收区块描述元数据至一Z缓冲器,上述区块描述元数据对应于一区块。然后,封装上述区块描述元数据至一输出文件项目以由多个管线处理单元接续处理。接着,判断哪一个覆盖遮罩对应至覆盖的子区块,并且编码上述区块描述元数据。最后,写入编码的上述区块描述元数据至一FIFO缓冲器。其中,上述判断包括计算多个区块列遮罩位,上述区块列遮罩位对应于多个区块列其中之一,计算上述区块列遮罩位包括于上述覆盖遮罩的多个子集合间执行一逻辑或函数。
[0013] 本发明所述的绘图处理系统及其方法,可以减少介于绘图管线阶段间数据传输的总量,并且改善存储器和处理器的效能。

附图说明

[0014] 图1为本实施例揭示的一范例绘图系统的示意图。
[0015] 图2为本实施例中实现多重样本反锯齿区块描述元数据的一绘图管线的特定元件的示意图。
[0016] 图3为本实施例中一区块FIFO缓冲器的示意图。
[0017] 图4为本实施例中绘图数据组织方法的示意图。
[0018] 图5为一实施例中揭示的一像素覆盖遮罩的示意图。
[0019] 图6为多重样本反锯齿方法中的一范例区块的示意图。
[0020] 图7为一实施例中揭示的一子像素覆盖遮罩的示意图。
[0021] 图8为另一实施例的覆盖遮罩的属性子样本720的示意图。
[0022] 图9为揭示的一实施例中一覆盖遮罩标志与一像素遮罩的部分生成示意图。
[0023] 图10为一范例实施例中使用图9的架构编码覆盖遮罩的方法的示意图。
[0024] 图11为揭示的一范例实施例中一区块描述元数据压缩方法的一标头的示意图。
[0025] 图12A为揭示的范例实施例中的压缩区块描述元记录格式的示意图。
[0026] 图12B为揭示的范例实施例中的长记录区块格式的示意图。
[0027] 图13为揭示的一范例实施例中于一绘图管线中压缩多重样本反锯齿区块数据的方法。
[0028] 图14为揭示的另外一实施例中于一绘图管线中压缩多重样本反锯齿区块数据的方法。

具体实施方式

[0029] 为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举出较佳实施例,并配合所附图式,作详细说明如下。
[0030] 实施例
[0031] 参考图1,图1为本实施例揭示的一范例绘图系统。上述绘图系统包括多重绘图数据处理单元110用以处理绘图管线中的数据。绘图系统100亦可包括一压缩逻辑120,用以压缩/解压缩上述绘图数据以提高运算与储存的效能。当上述各个绘图数据处理单元补偿等待时间时,使用一个或多个FIFO缓冲器130以维持管线中的数据。上述范例绘图系统亦利用多重样本区块描述元数据140作为压缩/解压缩锯齿影响的补偿。
[0032] 多重绘图数据处理单元110可以是各种形式的数据处理单元,包括一三角形设定单元、一区块产生器、一压缩Z数据缓冲器、一像素Z数据缓冲器、多重像素封装器、一内插单元以及一回写单元或其他,但不限定于此。压缩逻辑120可于管线中或一对应的FIFO缓冲器130中,用于降低属性与区块数据的系统需求。如上所述,多重样本区块描述元数据140用于通过提供区块中每个像素多重色彩属性样本以降低锯齿的影响。
[0033] 参考图2,图2为本实施例中实现多重样本反锯齿区块描述元数据的一绘图管线的特定元件。更详细地说明,图2为揭示的一实施例中具体实现本发明特征的绘图管线,其包括多个元件。例如,GPU210可包括指令语法分析器212、顶点与几何着色器214、三角形设定单元216与跨距/区块生成器218。GPU210亦可包括区块Z排列测试220,其中一Z测试可以执行于一已压缩的Z数据。如此执行已压缩的Z测试可以通过细琐地接收或拒绝已压缩Z信息的特定图元(也可以是像素范围)以改善效能。上述Z排列测试220亦可执行一相似的像素测试。
[0034] 图2中的绘图管线亦显示了数据自一像素Z测试222向一预先封装器224移动,其通过上述纹理管线(未图示)中的像素着色器(未图示)决定了封装像素的方法。于预先封装器224之后,上述数据向内插单元226移动以产生纹理坐标。上述区块数据接着向像素封装器228移动,像素封装器228负责读取来自像素着色器230与回写单元232的要求。当上述纹理数据到达时,区块数据再一次向内插单元226移动,并且在此时计算其他像素的坐标。上述区块数据回到像素封装器228以封装有效的元件数据给像素着色器230。上述像素封装运算可以由独立的逻辑单元或由一包括多个阶段的单一单元执行。如同其名称,像素着色器230对每一像素执行着色运算。上述区块数据向一像素解封装器(无图示)移动以拆解由上述像素着色器输出的封装数据至小区块。上述区块数据向回写单元232移动并且储存于画面缓冲器240中。
[0035] GPU210亦包括至少一FIFO缓冲器250以提供上述管线中上述数据延迟时间的补偿。上述FIFO缓冲器亦可以是一区块FIFO缓冲器250以及用于连接一分散数据缓冲器的一指针FIFO。像素Z测试222可以是ZL2,写入数据于区块FIFO缓冲器250的最上方,其中上述区块数据由上述管线中的一模块移动至下一个。上述管线中的上述绘图数据处理单元于像素Z测试222之后,包括预先封装器224、内插单元226与回写单元232,但不限定于此。上述绘图数据处理单元皆读取区块FIFO缓冲器250的指针。区块FIFO缓冲器250必须够大以补偿纹理读取与时间延迟与像素着色时间延迟的过滤,并且应该可容纳与多重样本反锯齿覆盖遮罩相关的附加数据。
[0036] 参考图3,图3为揭示的一实施例中一区块FIFO缓冲器。区块FIFO缓冲器300包括区块数据310、区块覆盖数据320与具有读写指针的分散式FIFO 330。如上所述,参考图2,上述像素Z测试通过像素Z测试指针350写入区块FIFO缓冲器300。上述区块FIFO缓冲器被介于上述像素Z测试以及上述回写单元的管线中每一上述绘图数据处理单元分割以依需求读取上述区块数据。例如,上述像素Z测试单元数据由第一缓冲器区段362维持,并且表示被ZL2写入至上述区块FIFO缓冲器的像素Z测试数据,但尚未准备好给预先封装器处理。区块FIFO缓冲器300的读取指针范例包括一预先封装器352、内插单元354、像素封装器356、像素着色器358以及回写单元360,但不以此为限。上述数据经由管线只用上述指针移动至上述区块FIFO缓冲器项目。值得注意的是,上述区块FIFO缓冲器结束于回写单元360。
[0037] 参考图4,图4为揭示的一实施例中一范例绘图数据组织方法。首先,在一显示器400的边界内为多个像素402。像素402排列成如区块404。一范例实施例的区块总共具有
16像素,排成一4×4像素架构406。本领域技术人员应了解本发明所揭示的系统与方法的精神与范围为不同维度的区块必须一致。
[0038] 如上所述,在一计算机绘图系统中有大量的关于每一像素402的绘图数据。上述绘图数据可包括属性信息,如X、Y坐标、红、绿、蓝、角度信息、深度信息、纹理信息(U与V坐标)等等。在MSAA方法中,上述属性信息表示了大量数据,尤其当样本比率增加时。例如,一计算机绘图系统使用样本比率为4的MSAA方法对每个像素储存了4种不同的属性样本。因此,上述相关于区块406的属性样本数据对每个像素有4个属性数据408样本。本实施例中属性数据408的每个样本包括,例如,32位的属性数据。在部分实施例中,每个属性样本可以是一子像素。当区块的一个或多个属性样本自画面缓冲器被读取时,16像素中每个像素的属性数据总量为4个样本。
[0039] 参考图5,图5为一实施例中揭示的一像素覆盖遮罩的示意图。一像素遮罩可以是区块描述元数据的一部分。图5描述一区块510为一4×4阵列包括多个像素520。本领域技术人员应了解4×4区块维度仅为范例并且区块510可以有各种维度的特征。例如,区块510可以是一2×2阵列、一1×8阵列或一8×8阵列。像素覆盖遮罩530提供一对应于区块510中每一像素520的单一位。在此方法中,像素覆盖遮罩530可用于决定上述区块为部分或全区覆盖。例如,当一像素覆盖遮罩全部为1时,此区块为全区覆盖。
[0040] 参考图6,图6为多重样本反锯齿方法中的一范例区块。开始于如图5的4像素区块的4像素,区块610包括一4×4像素阵列,其中一或多个像素615包括多种属性样本620。在此实施例中,每一像素615如图有4个样本620(S0-S3),亦即样本比率为4。本领域技术人员应了解上述样本比率4仅为一范例,并不限定于此实施例。因此,上述样本比率可以为2、8或16等等。区块610包括列0-3(630-633),其中每列包括4个像素615以及
16个属性样本620。因为上述16个像素615的每个像素有四个对应的属性样本620,区块
610总共包括64个属性样本。
[0041] 参考图7,图7为一实施例中揭示的一子像素覆盖遮罩的示意图。子像素覆盖遮罩可以是区块描述元数据的一部分。相对于图5的像素遮罩有与区块的像素数量相同的位数,覆盖遮罩可以一个或多个固定的位长度遮罩表示。在图5与图6中的4×4区块范例与样本比率4中,覆盖遮罩730有16位位置735可容纳对应于上述数据的第0行710(例如,一区块行遮罩位)的上述子像素覆盖遮罩位740。因此,在一样本比率为4以及一16位的容量,覆盖遮罩730对应于4个像素的属性子样本720。如图8所示,图8为另一实施例的覆盖遮罩的属性子样本820。一覆盖遮罩的像素总数系根据上述多重样本反锯齿方法的上述样本比率决定。例如,一16样本方法中具有4×4像素的一区块可对区块中的一个或多个像素运用一子样本覆盖遮罩830。
[0042] 如图8所示,覆盖遮罩830包括16位位置835并且可以容纳对应于行810的数据822的子像素覆盖遮罩位840。因此,在样本比率为4以及容量为16位下,覆盖遮罩830于
4个像素中对应于属性子样本820。
[0043] 参考图9,图9为揭示的一实施例中一覆盖遮罩标志与一像素遮罩的部分生成示意图。根据此范例,图9利用样本比率为4的多重样本反锯齿方法中一4×4区块的第0列930,如图5、图6与图7所示。属性样本遮罩位910被分成多群4遮罩位915。一逻辑或(OR)函数920用于4群遮罩位915以生成单一OR结果位940。在本实施例中,对每一个像素而言,上述OR结果位亦对应于一遮罩位。OR结果位940共同被利用于产生对应于区块中第0列像素的像素遮罩932。一逻辑与(AND)函数用于一个或多个结果位940的群组。区块中的每4列将被执行上述逻辑OR函数。同样地,每一列的OR结果位将被执行逻辑AND函数。950为一覆盖遮罩标志960。因此,当区块为4×4大小时,每4列使用同一个处理程序做运算。
[0044] 参考图10,图10为一范例实施例中使用图9的架构编码覆盖遮罩的方法。方块1010描述第0列的AND函数为第0列产生对应于覆盖遮罩的覆盖遮罩标志1012。为了供随后程序使用,上述覆盖遮罩标志可被储存于存储器或一程序内一或多个逻辑步骤。如运算方块1015所示,如果对应于第0列的覆盖遮罩标志为0,则区块遮罩的位0-15仅有很少或没有覆盖并且将被忽略。或者,当覆盖遮罩标志1012为1时,则区块遮罩位0-15可以被编码与传送至区块FIFO缓冲器。同样地,运算第1-3列以决定区块遮罩的哪些部分应该被忽略以及区块覆盖遮罩的哪些部分应该被编码与传送至区块FIFO缓冲器为区块描述元数据的一部分。例如,当对应于第0、1与2列的覆盖遮罩标志为0时,则这些覆盖遮罩将不会被编码至区块FIFO缓冲器。
[0045] 参考图11,图11为揭示的一范例实施例中一区块描述元数据压缩方法的一标头。范例标头1100在区块FIFO缓冲器中于区块数据之前,并且定义接续在后的区块数据的格式。例如,如果位D0-D4(1102)的值为0,运算方块1120指出上述区块数据将被储存为一
24位X、Y值与一256位遮罩的形式。如果D4-D0(1102)的5位为1-5或29-31,则此函数尚未被定义以及保留以供将来使用。当D4-D0(1102)的值为于6-28之间,运算方块1120指示N个子区块被封装为一项目。同样地,位D5(1104)标示上述子区块的格式。例如,在运算方块1130中,当D5为0,上述子区块的与区块位格式为8位;当D5为1时,上述子区块为40位的长记录格式。位D6(1106)标示目前区块是否为三角形的结束点。以运算方块
1140为例,当D6为0时,则目前区块不是上述三角形的结束点;当D6为1时,则目前区块是上述三角形的结束点。另外,每一个接续被封装的子区块记录1108包括一栏位以支持一
2位编码。上述栏位的长度可变并且由接续封装的子区块总数决定。最后,标头1100包括填补位1110以填补上述标头为一8位范围,使得全部子区块记录开始于8位的倍数。
[0046] 参考图12A与图12B,其为揭示的范例实施例中的压缩区块描述元记录格式与一长记录区块格式。图12A中的压缩区块描述元记录格式1200为一8位区块记录的范例,并且包括一delta X值1210与一delta Y值1220。当输入区块的全部遮罩位为1时,即区块被全部覆盖时,使用上述压缩区块描述元格式。在此情况下,没有像素或覆盖遮罩会被编码。图12B中的长记录区块描述元格式1250包括一24位栏位以记录X、Y值1260与一栏位以记录16位的遮罩1270。当上述区块遮罩不全为1时,则使用上述长记录区块描述元格式。上述压缩区块格式与长记录区块描述元格式的长度与栏位仅为范例,并不限定于此。例如,本领域技术人员应了解,可将上述压缩栏位格式配置为包括大于或小于8位长度,或上述长记录区块格式可被配置为包括大于或小于40位。
[0047] 参考图13,图13为揭示的一范例实施例中于一绘图管线中压缩多重样本反锯齿区块数据的方法。方块1310中,上述方法1300开始于接收区块描述元数据至一Z单元。上述Z测试单元,亦为ZL2,执行上述像素Z测试。在方块1320中,上述区块描述元数据被封装至一输出项目文件。上述输出项目文件包括一标头,并包括区块中每一像素的精确的坐标信息与一覆盖遮罩。方块1330中,依序决定与子区块对应的覆盖遮罩,并于将区块写入FIFO缓冲器前,选择编码哪一种覆盖遮罩与丢弃哪一种覆盖遮罩。在方块1340中,编码上述区块描述元数据,以及于方块1350中将编码的数据写入至FIFO缓冲器。
[0048] 参考图14,图14为揭示的另外一实施例中于一绘图管线中压缩多重样本反锯齿区块数据的方法。方块1410中,上述方法1400开始于接收区块数据至一绘图管线。上述描述元数据包括多重样本反锯齿覆盖数据,其为区块中每一像素提供多种描述元样本。每个像素样本的数量由一样本比率决定,并且可以是2、4、8或16等等。在方块1420中,依序决定上述覆盖遮罩对应的子区块以决定编码哪一个覆盖遮罩以送至区块FIFO缓冲器。于方块1430中,上述覆盖遮罩可以用来产生一子区块像素覆盖遮罩,其为区块中每一像素提供一遮罩位。在方块1440中,利用上述子区块像素遮罩的值以及上述覆盖遮罩为编码的数据决定一数据文件格式。例如,当区块中全部样本被遮盖时,可以一压缩区块格式表示上述编码的数据文件。或者,当区块没有全部被覆盖时,可以一长记录区块格式表示上述编码的区块描述元数据。在方块1450中,编码上述区块描述元数据。于方块1460中提供上述编码的数据至一计算机绘图管线。
[0049] 本发明的方法,或特定型态或其部分,可以以程式码的型态包含于实体媒体,如软盘、光盘片、硬盘或是任何其他机器可读取(如计算机可读取)储存媒体,其中,当程式码被机器,如计算机载入且执行时,此机器变成用以参与本发明的装置。本发明的方法与装置也可以以程式码型态透过一些传送媒体,如电线或电缆、光纤或是任何传输型态进行传送,其中,当程式码被机器,如计算机接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理器实作时,程式码结合处理器提供一操作类似于专用逻辑电路的独特装置。
[0050] 以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
[0051] 附图中符号的简单说明如下:
[0052] 100:绘图系统
[0053] 110:多重绘图数据处理系统
[0054] 120:压缩逻辑
[0055] 130:FIFO缓冲器
[0056] 140:多重样本区块描述元数据。