CN1809840B - 创建采样图案的方法和设备 - Google Patents
创建采样图案的方法和设备 Download PDFInfo
- Publication number
- CN1809840B CN1809840B CN2004800141339A CN200480014133A CN1809840B CN 1809840 B CN1809840 B CN 1809840B CN 2004800141339 A CN2004800141339 A CN 2004800141339A CN 200480014133 A CN200480014133 A CN 200480014133A CN 1809840 B CN1809840 B CN 1809840B
- Authority
- CN
- China
- Prior art keywords
- pixel
- sample
- pattern
- sampled point
- point
- 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
- 238000000034 method Methods 0.000 title claims description 32
- 238000005070 sampling Methods 0.000 abstract description 29
- 239000000523 sample Substances 0.000 description 126
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000012723 sample buffer Substances 0.000 description 3
- 101710129178 Outer plastidial membrane protein porin Proteins 0.000 description 2
- 102100037820 Voltage-dependent anion-selective channel protein 1 Human genes 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000010009 beating Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009828 non-uniform distribution Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- 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
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Image Generation (AREA)
Abstract
本发明涉及创建采样图案的方法和设备。该方法用于在抗锯齿系统中使用来创建覆盖一组像素的采样图案,包括确定该一组像素中的各像素的采样点图案的步骤,该确定步骤包括:对于该一组像素中的各单独像素,确定该单独像素的采样点图案,以使得该采样点图案是该一组像素中与该单独像素相邻的像素的采样点图案的镜像,并且不同于该相邻像素的采样点图案;对于该一组像素中的各单独像素,在该单独像素的第一和第二边界的交叉点处定义该单独像素的采样点图案的第一采样点;以及对于该一组像素中的各单独像素,在该单独像素的第三和第四边界上定义该单独像素的采样点图案的第二和第三采样点,所述第三和第四边界不同于所述第一和第二边界。
Description
技术领域
本发明总体上涉及图形处理,更具体地,涉及用于以低计算代价高帧速率地产生高质量抗锯齿图形图片的方法和装置。
背景技术
从计算机图形学的早期起,锯齿就已经成为在显示器上呈现静止或运动图像时的一个问题。
解决锯齿图片的低视觉质量的一个方法是使用所谓的超采样(supersampling)。超采样将提供优质的画质,但是由于计算负荷重而具有低帧速率的缺点。更具体地,超采样以比显示在屏幕上的最终分辨率高的分辨率渲染图片。这是通过对用于要显示的各像素的多个子像素样本进行渲染而完成的,即,各像素的值将是这些子像素值的加权和。例如,各个所显示的像素可能包括像素内的一组四个子像素样本的过滤加权和。这意味着,与每个像素一个样本相比,图形硬件对于每个显示像素必须处理四倍多的样本。
专利文献WO-00/33256公开了一种使用超采样方案的系统。各像素被分割为或多或少精细构建的(fine-meshed)网格,该网格定义了采样点可能位于其中的子像素网格。这些子像素采样点可以以多种不同结构排列在像素边缘内部。然后对于每个要渲染的像素重复此采样点结构图案。每个像素的最终值包括位于根据上述的这些子像素中的三个或更多个样本的加权和。该方法的缺点是:因为对于每个像素的处理,必须计算并从存储器取出三个或更多个样本,所以需要相当大的计算和存储能力。
为了降低产生抗锯齿像素的计算负荷,可以使用称为多级采样方案的经修改的超采样方案。多级采样方案的关键思想是在样本之间共享计算。此外,多级采样方案还可以在相邻像素之间共享样本(注意,这不同于共享计算)。后一多级采样方案称为样本共享方案。
NVIDIA Corporation,Santa Clara,USA的GeForce3图形处理单元提供了支持多级采样以及像素之间的子样本共享的硬件。该多级采样方案称为“Quincunx”,并以“5点”的形式将子像素采样图案呈现在小片(die)上,即,使用5个子像素样本来计算最终像素的值。然而,由于采样位置的放置,每个像素只需要计算两个样本;其他采样值从相邻像素获得。中央的子像素样本被赋予权重0.5,而周边的子像素样本被分别赋予权重0.125。在随后步骤中,按照与常规超采样方案相同的方式对子像素样本进行过滤。
与Quincunx方案有关的详细信息可以在NVIDIA Corporation的“Technical Brief,HRAA:High-Resolution Antialiasing throughMultisampling”中找到。该文献例如可以从NVIDIA Corporation的网站“www.nvidia.com”中找到。
诸如移动无线终端、移动电话、电子杂志、智能电话等的便携式电子设备具有受限的电池容量。与便携式电子设备中可用的电池容量相比,存储访问相对耗电些。同时,这种设备的存储容量通常是受限的。因此,通常优选地,尽可能地使图形处理高效,其中对于提供抗锯齿图片而言,存储访问要尽可能的低。虽然Quincunx方案比现有技术中已知的其他超采样或多级采样方案都更为有效,但是其仍然需要相当的计算能力。
因此,在现代电子图形系统中,产生抗锯齿像素的计算负荷是个问题。当利用抗锯齿方案来以降低的计算能力和受限的存储容量在设备上产生运动图片时,该问题尤为严重。
发明内容
本发明的一个目的是提供一种用于使用低计算力来产生高质量抗锯齿图片的方法和设备,其中与已知现有技术相比,至少存储器需求降低了。
根据本发明的第一方面,该目的是通过覆盖一组像素的采样图案来实现的,其中将各像素与采样点的图案相关联,其中所述点中的第一个被设置在大概该像素的角点处。所述采样点中的第二个和第三个可以被设置在该像素的不与第一样本的角点相交的边界处。各像素的采样点图案是相邻像素的图案的镜像(mirror image),并且不同于该相邻像素的图案。
通过在该像素的角点以及两个边界处设置样本,必须从存储器取出最多三个样本来确定像素的最终值。此外,由于将这些样本设置在在该像素的边界处,并且在四个像素之间共享一个样本,而每两个像素之间共享两个样本,所以对于该组中的大部分像素平均只需计算1.25个样本。
根据本发明的第二方面,公开了一种在抗锯齿系统中使用的用于创建覆盖一组像素的采样图案的方法,该方法包括确定该一组像素中的各像素的采样点图案的步骤,其特征在于,所述确定步骤包括以下步骤:对于该一组像素中的各单独像素,确定该单独像素的采样点图案,以使得该采样点图案是该一组像素中与该单独像素相邻的像素的采样点图案的镜像,并且不同于该相邻像素的采样点图案;对于该一组像素中的各单独像素,在该单独像素的第一和第二边界的交叉点处定义该单独像素的采样点图案的第一采样点;以及对于该一组像素中的各单独像素,在该单独像素的第三和第四边界上定义该单独像素的采样点图案的第二和第三采样点,所述第三和第四边界不同于所述第一和第二边界。
根据本发明的第三方面,按照本发明的所述方法创建了一种抗锯齿图像。
根据本发明的第四方面,公开了一种在抗锯齿系统中使用的用于创建覆盖一组像素的采样图案的设备,该设备包括确定该一组像素中的各像素的采样点图案的装置,其特征在于,所述确定装置包括:第一模块,其对于该一组像素中的各单独像素,确定该单独像素的采样点图案,以使得该采样点图案是该一组像素中与该单独像素相邻的像素的采样点图案的镜像,并且不同于该相邻像素的采样点图案;第二模块,其对于该一组像素中的各单独像素,在该单独像素的第一和第二边界的交叉点处定义该单独像素的采样点图案的第一采样点;以及第三模块,其对于该一组像素中的各单独像素,在该单独像素的第三和第四边界上定义该单独像素的采样点图案的第二和第三采样点,所述第三和第四边界不同于所述第一和第二边界。
根据本发明的第五方面,提供了一种计算机程序产品。所述产品与可操作地连接到GPU的CPU(中央处理单元)关联,以定义像素的采样点的图案。该产品包括用于执行本发明的方法的程序代码部分。
本发明可以在用于处理例如静止图像或者静止图像的视频序列的抗锯齿系统中使用。
该计算机程序产品可以在计算机可读介质上实现。
本发明的优点在于只需取出三个样本来计算像素的最终值。此外,将一个样本置于角点处意味着该样本可以在一组像素中的多达四个像素之间共享。与现有技术的多级采样方案相比,根据本发明的采样图案降低了计算负荷以及存储器需求和存储器带宽。
在从属权利要求中定义了本发明的其他实施例。
应当强调,当在本说明书中使用时,“包括”一词用于指存在所述特征、整体(integer)、步骤或组件,但不排除存在以及添加一个或更多个其他特征、整体、步骤、组件或者它们的组。
附图说明
根据对本发明多个实施例的以下说明,本发明的其他目的、特征以及优点将变得显现,其中将参照附图更具体地说明本发明的各方面,图中:
图1是示出用于创建抗锯齿图片的图形系统的示意框图;
图2a-d是示出根据本发明的子像素采样点的计算的示意图;
图3是根据本发明的镜像的示意性例示图;
图4是根据本发明的一组像素的示意性例示图;
图5a-b是根据本发明的用于产生抗锯齿图片的方法的流程图;
图6a-b是与现有技术方案相比根据本发明的像素值的计算的示意性例示图;以及
图7是无抗锯齿的现有技术方案与根据本发明的抗锯齿方案之间的图形比较。
具体实施方式
图1是用于绘制线或多边形的系统的示例的框图。CPU(中央处理单元)201通过数据总线203连接到存储器202。存储器202可以包括由系统运行的计算机可读指令,如应用程序的代码部分。应用程序可以是计算机游戏或者CAD(计算机辅助设计)程序。CPU 201从存储器202取出指令,并执行这些指令以进行特定任务。CPU 201的任务可以是对GPU 204(图形处理单元)提供与应绘制在显示器205上的对象相关的信息。GPU204可以设为分立的硬件组件,如处理器、DSP(数字信号处理器)、ASIC(专用集成电路)、FGPA(现场可编程门阵列)、硬连线逻辑等。另选地,GPU 204是利用软件和硬件的组合实现的,或者其可以按软件提供,并可以由CPU 201来执行。GPU 204连接到数据总线203。另选地,或者另外地,当要在CPU 201与GPU 204之间传输大量信息的情况下,通过单独的数据总线206(其可以为高速数据总线)将GPU 204连接到CPU 201。从而,该单独数据总线206上的数据传输将不会干扰常规数据总线203上的数据业务量。
显示存储器207连接到数据总线203,并存储从GPU 204发送的与应在显示器205上绘制的图片(帧)相关的信息。显示存储器包括用于存储各子像素样本的信息的采样缓冲器207a,以及颜色缓冲器207b。颜色缓冲器207b保存在完成了图像渲染之后要在显示器205上显示的像素的颜色。由于CPU 201与GPU 204之间的互连,显示存储器207可以通过单独的高速总线(未示出)直接连接到GPU 204。显示存储器207还可以构成存储器202的一部分。由于GPU 204和显示存储器207通常用于产生运动图像,所以期望这两个单元之间的链路尽可能得快,并且不会阻塞数据总线203上的正常业务量。
显示存储器207通过共享数据总线203或者单独的高速总线209连接到VDAC 208(视频数模转换器)。VDAC 208从颜色缓冲器207b读取信息,并将其转换成模拟信号,例如,RGB(红、绿、蓝)复合信号,该模拟信号被提供给显示器205以在屏幕上绘制各个像素。
如上所述,使用了多种不同的技术来产生线和多边形的抗锯齿表示。图2a-2d示出了根据本发明的多级采样方案的变型例,该变型例对于各像素301、302、311、312包括三个子像素样本。这些子像素采样位置或采样点303-308、313-318位于像素301、302、311、312的边界处。这些边界用作样本共享的镜面(mirror plane)。如上所述,这使得可以在显示存储器207中进行不同像素301、302、311、312之间的样本共享。
采样位置303-308、313-318中的至少一个位于各像素301、302、311、312的角点。“位于角点”一词在本说明中使用时是指,样本大约设置在像素的两个相交边界的角点处。但是,角点样本也可以被设置为相对于实际角点略微偏移,只要该角点样本可以用于计算最多四个像素值。对于各具体实现而言,必须对实现充分结果而可以接受的偏移进行测试和评估。
在图2a-d的实施例中,针对像素301、302、311、312的两个边界的角点定义了第一子像素采样位置。针对像素301、302、311、312的不与该角点子像素样本相交的各边界定义了第二和第三子像素采样位置。在图2a-d中,各像素的第二和第三样本位于两个角点之间的边界的中央。然而,第二和第三样本可以位于该边界上的任何位置处,只要该样本可以用于计算两个相邻像素的值。必须在各具体实现中对边界上的实际位置进行测试和评估。而且,在图2a-d中,第二和第三样本按距离一角点相同距离的方式位于边界上。然而,对于第二和第三样本而言,距离角点的距离可以不同,并且必须在各具体实现中对该距离进行测试和评估。
各样本被赋予权重1/3,即,权重之和等于1。从而,另选的权重分布为:对于第一样本为0.2,对于第二和第三样本为0.4。在本发明的范围内也可以采用其他权重,并且必须在各具体情况下对这些权重进行测试和评估。
在图2a-2d中,在像素301、302、311、312上叠加有网格,并且该网格定义了角点处的可能采样点,并且无论如何,该网格与没有和像素301、302、311、312的所述角点相交的边界相交。在图2a-2d中分别示出了用于确定各像素的精确采样点图案的示例等式。
另选地,在沿任意方向平移采样图案的情况下,可以由一个或更多个镜面代替上述像素边界。从而,这些镜面通常将平行于像素301、302、311、312的边界,并且之间的间隔等于像素边界之间的距离。例如,可以将采样图案少量地向左平移,其中子像素采样位置不再位于像素的边界上。在这种情况下,仍然可以定义用于创建根据本发明的采样图案的一个或更多个镜面。通过以下结合图3的讨论,这将变得明显。
按每个镜面处一个采样点的方式来设置采样位置303-308、313-318,将打破结构的对称性,这将增加垂直线附近和水平线附近的抗锯齿效果。
图3示出了本发明的一个特征。根据以上说明,最左边的像素401包括角点处的一个子像素采样位置403以及像素401的各边界上的两个子像素采样位置404-405。在以下说明中,将该子像素采样结构称为“图案A”。相应地,将呈现作为“图案A”的镜像的子像素采样结构的第二像素402称为“图案B”。从图3可以看出,根据以上说明,最右上部的像素402中的子像素采样位置405-407对应于图案B的位置。通过一起检查图案A和图案B的结构,显见,图案B的子像素采样位置405-407是图案A中的对应位置403-405的镜像。图案A在像素401的右垂直边界408处被反射,从而形成了像素402的图案B。由此,图案B是图案A的镜像。
图案A和图案B的子像素采样位置也可以沿着它们各自的水平底边界409被镜像。在下文中,当图案A沿着其水平底边界被镜像时,呈现作为图案A的镜像的子像素采样结构的第三像素411,被称为“图案C”。图案C具有子像素采样位置404、423-424,其中所述位置之一是与图案A共享的。下文中,当图案B沿着其水平底边界409被镜像时,呈现作为图案B的镜像的子像素采样结构的第四像素412,被称为“图案D”。图案D具有子像素采样位置406、424-425,其中一个样本是与图案B共享的,另一个样本是与图案C共享的。
根据上述说明,通过沿着垂直边界408对子像素采样位置403-405的位置进行镜像,可以在两个像素401、402之间共享样本405,并且依然打破结构的对称性,并实现更好的抗锯齿结果。本发明的采样位置结构的另一特征是:对于像素的每个子像素行和列,只存在一个样本。在例如Quincunx中,对于最上一行存在两个样本。同时,如下所述,可以在四个像素之间共享一个角点样本。
图4以包括9个像素501-509的3×3像素结构示出了根据本发明的抗锯齿方案。最左上部的第一像素501包括图案A结构中的三个子像素采样位置510-512。第一像素501右侧的第二像素502包括图案B结构中的三个子像素采样位置512-514,这些子像素采样位置在最左上部的像素501的右边界处被镜像。此外,第三像素503包括图案A结构中的三个子像素采样位置514-516。从图4可以看出,在最上行像素501-503中,在像素对501-502以及像素对502-503之间分别共享一个子像素采样位置512以及一个子像素采样位置514。
下一行开始于呈现子像素采样位置511、517-518的图案C结构的第四像素504。在第四像素504与上一行上的第一像素501之间共享采样位置511。第二行上的下一像素即第五像素505包括图案D结构中的三个子像素采样位置513、518-519。第五像素505与上一行上的第二像素502共享一个采样点513,并与左边的第四像素504共享一个采样点518。这同样适用于第二行上的最右边的具有三个子采样位置515、519-520的第六像素506,该第六像素506与相邻的像素503、505共享两个采样点515、519。
第三行开始于呈现子像素采样位置517、521-522的图案A结构的第七像素507。第七像素507与上一行的第四像素504之间共享采样位置517。第三行上的下一像素即第八像素508包括图案B结构中的三个子像素采样位置519、522-523。第八像素508与上一行上的第五像素505共享一个采样点519,并与左边的第七像素507共享一个采样点522。这同样适用于第三行上的最右边的具有三个子采样位置519、524-525的第九像素509,该第九像素509与上一行的相邻的第六像素506共享一个采样点519。
通过检查图4,显见,除了最上行和最左列之外的像素角点处设置的所有子像素采样位置都被在四个像素之间共享。因此,角点子像素样本中的大部分(对于较大的像素网格而言)只需针对四个像素计算一次,其中计算代价是每个像素0.25。两个像素之间共享的在与角点像素的边界不相交的边界上设置的子像素采样位置只需针对两个相邻像素计算一次。由此,对于这些边界像素的计算代价为每个像素0.5。
结果,利用本发明的镜像方案,为了确定像素501-509的最终值,显示器205上的除了最上边和最左边像素501-504、507之外的所有像素平均需要的计算量仅为1.25(0.25+0.5+0.5=1.25)个新子像素采样位置值。另选地,除了最右边列和最下边行之外的所有像素只需1.25个样本。与必须计算至少两个子像素样本来确定像素的最终值的已知多级采样结构相比,这是一个显著的改进。
通过从左到右扫描各线来对像素中的采样位置进行遍历。另选地,可以每隔一线改变扫描方向,从而更为有效地利用存储器。应当理解,可以与根据本发明的多级采样方案相结合地实现任何遍历方案。
利用根据本发明的多级采样方案,最多只需访问显示存储器207三次来计算像素的最终值。然而,通过提供诸如片上高速缓冲存储器的附加的小而快速的存储器(未示出)来临时存储在像素值的一个或多个随后计算中需要的样本,可以将对于显示存储器207的必要访问减少到1.25。通过与Quicunx方案一起使用该方法,需要访问存储器至少两次来计算像素的最终值。这是显著的不同,这是因为过滤致使存储器带宽使用的成本非常高。
在又一另选实施例中,可以利用甚至更小的附加存储器(未示出)来只存储一个样本,即,用于计算第一像素的值并用于后续像素的值的计算的样本。参照图3,通过从显示存储器207取出样本403-405,计算出像素401的最终值。然后,将样本405临时存储在该附加存储器中。为了计算像素402的最终值,只需从显示存储器207取出样本406-407,而从该附加存储器取出样本405。结果,只需访问显示存储器207两次来计算大像素网格(如移动终端的176×174像素网格)的大部分像素。通过与Quicunx方案一起使用该方法,需要访问显示存储器3次,并且访问附加存储器两次,来计算像素的最终值。
图5a是示出根据本发明一个实施例的用于产生高质量抗锯齿图片的方法的流程图。在步骤610中,CPU运行应用程序(例如,计算机游戏)并产生要转换为显示器上的2维呈现的3维对象(通常为三角形形式的多边形)。
接下来,在步骤620中,CPU或GPU/硬件计算影响对象在显示器上的不同视觉参数,如照射、剪辑、转换、投影等。由于在计算机图形学中创建3维对象时通常使用三角形,所以最后计算三角形的顶点的像素坐标。
在步骤630中,CPU或GPU/硬件204在该多边形上内插纹理坐标,以确保获得该纹理的正确投影。CPU 201或GPU/硬件204还可以内插一个或更多个颜色,另一组纹理坐标、烟雾等。还进行Z缓冲测试,并确保最终像素获得正确的颜色。
图5b是示出图5a中的步骤630的更为详细的流程图。为了增加图5b中的流程图的可理解性,还参照图6a。
步骤631是CPU 201或GPU/硬件204计算在整个多边形701上使用的内插数据的多边形(例如,三角形)建立阶段。
在步骤632中进行扫描转换,其中CPU或GPU/硬件识别出处于多边形701的边缘705内的像素703或采样点704。有很多种不同方式来进行这种识别。一种简单方法是逐行扫描各水平行。
在步骤633中,确定各像素的采样点图案,其中提供第一、第二和第三样本,使得该采样点图案是相邻像素图案的镜像并且不同于该相邻像素图案。同时,在该样本的角点处定义第一样本,并在该像素的与第一样本的角点不相交的各边界上定义第二和第三样本。
所有可见采样点704都转到步骤634,其中通过纹理和内插颜色来计算各可见样本的颜色。将各样本的颜色写入样本缓冲器207a。在处理了该图片的所有多边形之后,采样缓冲器207a将包含高分辨率格式的图片(对于最终图像的每个像素为平均1.25个样本)。在此阶段中只处理可见样本。不可见的样本,如处于之前绘制的多边形后面的样本对于最终图片是无用的。在步骤635中,确定在该多边形内是否存在任何更多的样本。如果存在,则过程返回到步骤632。否则,过程将进行到步骤636。在最终步骤636中,对可见样本进行过滤以产生正确尺寸的最终图像。更具体地,对每个像素的三个样本取平均值以形成存储在颜色缓冲器207b中的最终像素颜色。各样本被赋予权重1/3。另选地,可以使用非均匀分布的权重。
参照图6a和6b,下面将在Quincunx方案与根据本发明的方案之间进行比较。在图6a中示出了根据本发明的子像素采样图案,在图6b中示出了根据Quincunx方案的子像素采样图案。
假设多边形的内部被着色成白色(编码为1.0),并且外部被着色成黑色(编码为0.0)。0.0和1.0之间的任何值表示一灰度级。同时应当注意,这同样适用于颜色或其他表示。从本示例的图中可以看出,多边形(这种情况下为三角形)覆盖了6×6像素矩阵。像素的数目并不限于该数目,而是取决于具体应用,即,桌面计算机系统将使用比例如移动电话更高的分辨率(更多像素)。该工作原理适用于任何系统,无论系统的分辨率如何。在图6a中,在多边形内总共具有三个样本的像素将获得值1(全白)。在根据本发明的方案中,该值是将两个边界采样位置与一个角点采样位置相加(每一个权重为1/3)而产生的。在图6b的Quincunx方案中,该值是将角点样本(每一个权重为0.125)与中央样本(权重为0.5)相加而产生的。
在图6a中,最左边的列将得到值(从上到下):1/3、2/3、1/3、1/3、1/3和0,其中各数表示灰度级颜色。即,多边形705的左边界将具有灰影,除了最下部的顶点为黑色。由此,通过本发明可以提供具有均匀分布的两个灰影,虽然对于每个像素,只有三个样本要存储和取出。由于根据本发明只需要三个样本,所以与现有技术中已知的采样方案相比,需要更少的存储器带宽来取出所需的样本,并且在最终过滤阶段需要更少的存储器带宽。
在使用了Quincunx方案的图6b中,最左列将得到以下值:0.125、0.75、0.75、0.25、0.25和0.125。重要的是,该列中的第一与第二、第三与第四像素之间的突然跳动。如上所述,即使从理论上可以获得0.375、0.5和0.625中的一值,当使用Quincunx方案时,针对垂直线附近的计算像素值总是从0.25突然跳动到0.75。另一方面,根据本发明的镜像方案将提供不同的可能像素值之间的更为平滑的过渡。此外,当使用Quincunx方案时必须取出五个样本,虽然只提供了两个灰影。由此,当使用根据本发明的方案时,计算量显著减少。
当绘制几乎垂直的线和几乎水平的线时锯齿是非常显眼的,由此抗锯齿方案在边界接近垂直或者水平时产生良好结果是重要的。
在图7a-c中进一步示出了以上论证,其中示出了无抗锯齿7a、Quincunx方案7b和根据本发明的方案之间的比较。这些图清楚地示出了与无抗锯齿相比,根据本发明的方案提高了对于接近垂直以及对角线两者的抗锯齿效果。此外,这些图还示出了本发明的抗锯齿效果与Quincunx方案差不多一样好,但是Quincunx方案却具有更重的计算负荷。
上面参照具体实施例说明了本发明。然而,在本发明的范围内的除上述以外的其他实施例同样也是可以的。可以在本发明的范围内提供与上述的通过硬件或软件进行该方法的步骤不同的方法步骤。可以按与这些说明不同的其他组合的方式来组合本发明的不同特征和步骤。本发明只由所附专利权利要求来限制。
Claims (14)
1.一种在抗锯齿系统中使用的用于创建覆盖一组像素(501-509)的采样图案的方法,该方法包括确定该一组像素中的各像素的采样点图案的步骤,
其特征在于,所述确定步骤包括以下步骤:
对于该一组像素中的各单独像素,确定该单独像素的采样点图案,以使得该采样点图案是该一组像素中与该单独像素相邻的像素的采样点图案的镜像,并且不同于该相邻像素的采样点图案;
对于该一组像素中的各单独像素,在该单独像素的第一和第二边界的交叉点处定义该单独像素的采样点图案的第一采样点;以及
对于该一组像素中的各单独像素,在该单独像素的第三和第四边界上定义该单独像素的采样点图案的第二和第三采样点,所述第三和第四边界不同于所述第一和第二边界。
2.根据权利要求1所述的方法,包括以下步骤:对于该一组像素中最多四个相邻像素的采样点图案使用所述第一采样点。
3.根据权利要求1所述的方法,其中,所述第一采样点、所述第二采样点和所述第三采样点的(x,y)坐标按关系(0,1)、(a,0)和(1,b)来定义,其中0≤a≤1,0≤b≤1。
4.根据权利要求1所述的方法,其中,所述第一采样点、所述第二采样点和所述第三采样点的(x,y)坐标按关系(1,1)、(1-a,0)和(0,b)来定义,其中0≤a≤1,0≤b≤1。
5.根据权利要求1所述的方法,其中,所述第一采样点、所述第二采样点和所述第三采样点的(x,y)坐标按关系(0,0)、(a,1)和(1,1-b)来定义,其中0≤a≤1,0≤b≤1。
6.根据权利要求1所述的方法,其中,所述第一采样点、所述第二采样点和所述第三采样点的(x,y)坐标按关系(1,0)、(1-a,1)和(0,1-b)来定义,其中0≤a≤1,0≤b≤1。
7.根据权利要求3到6中任一项所述的方法,其中,a=b=0.5。
8.一种在抗锯齿系统中使用的用于创建覆盖一组像素(501-509)的采样图案的设备,该设备包括确定该一组像素中的各像素的采样点图案的装置,
其特征在于,所述确定装置包括:
第一模块,其对于该一组像素中的各单独像素,确定该单独像素的采样点图案,以使得该采样点图案是该一组像素中与该单独像素相邻的像素的采样点图案的镜像,并且不同于该相邻像素的采样点图案;
第二模块,其对于该一组像素中的各单独像素,在该单独像素的第一和第二边界的交叉点处定义该单独像素的采样点图案的第一采样点;以及
第三模块,其对于该一组像素中的各单独像素,在该单独像素的第三和第四边界上定义该单独像素的采样点图案的第二和第三采样点,所述第三和第四边界不同于所述第一和第二边界。
9.根据权利要求8所述的设备,该设备还包括:
对于该一组像素中的最多四个相邻像素的采样点图案使用所述第一采样点的装置。
10.根据权利要求8所述的设备,其中,所述第一采样点、所述第二采样点和所述第三采样点的(x,y)坐标按照关系(0,1)、(a,0)和(1,b)来定义,其中0≤a≤1,0≤b≤1。
11.根据权利要求8所述的设备,其中,所述第一采样点、所述第二采样点和所述第三采样点的(x,y)坐标按照关系(1,1)、(1-a,0)和(0,b)来定义,其中0≤a≤1,0≤b≤1。
12.根据权利要求8所述的设备,其中,所述第一采样点、所述第二采样点和所述第三采样点的(x,y)坐标按照关系(0,0)、(a,1)和(1,1-b)来定义,其中0≤a≤1,0≤b≤1。
13.根据权利要求8所述的设备,其中,所述第一采样点、所述第二采样点和所述第三采样点的(x,y)坐标按照关系(1,0)、(1-a,1)和(0,1-b)来定义,其中0≤a≤1,0≤b≤1。
14.根据权利要求10到13中任一项所述的设备,其中,a=b=0.5。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03011579.4 | 2003-05-22 | ||
EP03011579.4A EP1480171B1 (en) | 2003-05-22 | 2003-05-22 | Method and system for supersampling rasterization of image data |
US47383303P | 2003-05-27 | 2003-05-27 | |
US60/473,833 | 2003-05-27 | ||
PCT/EP2004/004518 WO2004104932A1 (en) | 2003-05-22 | 2004-04-29 | Method and system for supersampling rasterization of image data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1809840A CN1809840A (zh) | 2006-07-26 |
CN1809840B true CN1809840B (zh) | 2010-04-14 |
Family
ID=33040988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004800141339A Expired - Fee Related CN1809840B (zh) | 2003-05-22 | 2004-04-29 | 创建采样图案的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20070097145A1 (zh) |
EP (1) | EP1480171B1 (zh) |
KR (1) | KR20060007054A (zh) |
CN (1) | CN1809840B (zh) |
WO (1) | WO2004104932A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7333119B1 (en) * | 2004-11-02 | 2008-02-19 | Nvidia Corporation | System and method for virtual coverage anti-aliasing |
US7530255B2 (en) * | 2005-01-18 | 2009-05-12 | Mine Safety Appliances Company | Devices, systems and methods for testing of gas detectors |
US8269788B2 (en) * | 2005-11-15 | 2012-09-18 | Advanced Micro Devices Inc. | Vector graphics anti-aliasing |
US7876332B1 (en) | 2006-12-20 | 2011-01-25 | Nvidia Corporation | Shader that conditionally updates a framebuffer in a computer graphics system |
US8547395B1 (en) | 2006-12-20 | 2013-10-01 | Nvidia Corporation | Writing coverage information to 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 |
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 |
TWI425440B (zh) * | 2008-07-03 | 2014-02-01 | Nvidia Corp | 複合多重樣本/超樣本抗頻疊 |
CN101567694B (zh) * | 2009-04-30 | 2012-04-18 | 钱宇 | 一种基于连通子图的多级数据采样方法 |
US20140022273A1 (en) * | 2011-10-18 | 2014-01-23 | Kiril Vidimce | Surface Based Graphics Processing |
CN104040589B (zh) | 2012-01-16 | 2018-05-25 | 英特尔公司 | 使用随机光栅化生成随机采样分布的图形处理方法和设备 |
US9633458B2 (en) * | 2012-01-23 | 2017-04-25 | Nvidia Corporation | Method and system for reducing a polygon bounding box |
US10096086B2 (en) * | 2014-09-10 | 2018-10-09 | Nvidia Corporation | Enhanced anti-aliasing by varying sample patterns spatially and/or temporally |
US10147203B2 (en) | 2014-09-10 | 2018-12-04 | Nvidia Corporation | Enhanced anti-aliasing by varying sample patterns spatially and/or temporally |
CN104680966B (zh) * | 2015-03-19 | 2017-11-14 | 京东方科技集团股份有限公司 | 一种显示装置的驱动方法及其驱动装置 |
CN110969567B (zh) * | 2019-11-18 | 2023-09-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu线图元光栅化平移坐标系扫描方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1377008A (zh) * | 2001-03-26 | 2002-10-30 | 矽统科技股份有限公司 | 消除图像锯齿效应的后置滤波方法 |
US6501483B1 (en) * | 1998-05-29 | 2002-12-31 | Ati Technologies, Inc. | Method and apparatus for antialiasing using a non-uniform pixel sampling pattern |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2348900A (en) * | 1998-11-30 | 2000-06-19 | Quantum3D, Inc. | Pixel offset antialiasing |
US6636218B1 (en) * | 2000-06-30 | 2003-10-21 | Intel Corporation | Title-based digital differential analyzer rasterization |
US6999100B1 (en) * | 2000-08-23 | 2006-02-14 | Nintendo Co., Ltd. | Method and apparatus for anti-aliasing in a graphics system |
US20020140706A1 (en) * | 2001-03-30 | 2002-10-03 | Peterson James R. | Multi-sample method and system for rendering antialiased images |
JP4456003B2 (ja) * | 2002-12-20 | 2010-04-28 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 低コスト・スーパーサンプリング・ラスタライゼーション |
-
2003
- 2003-05-22 EP EP03011579.4A patent/EP1480171B1/en not_active Expired - Lifetime
-
2004
- 2004-04-29 US US10/558,056 patent/US20070097145A1/en not_active Abandoned
- 2004-04-29 WO PCT/EP2004/004518 patent/WO2004104932A1/en active Application Filing
- 2004-04-29 CN CN2004800141339A patent/CN1809840B/zh not_active Expired - Fee Related
- 2004-04-29 KR KR1020057022266A patent/KR20060007054A/ko not_active Application Discontinuation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6501483B1 (en) * | 1998-05-29 | 2002-12-31 | Ati Technologies, Inc. | Method and apparatus for antialiasing using a non-uniform pixel sampling pattern |
CN1377008A (zh) * | 2001-03-26 | 2002-10-30 | 矽统科技股份有限公司 | 消除图像锯齿效应的后置滤波方法 |
Non-Patent Citations (1)
Title |
---|
S. Karunakaran et al..REVIEW OF ESTABLISHED PROCEDURES OF IEC 481FOR INTERMODULATION TEST.IEEE PROCEEDINGS OF THE INTERNATIONAL SYMPOSIUM ON ELECTROMAGNETIC COMPATIBILITY.1990,492-494. * |
Also Published As
Publication number | Publication date |
---|---|
EP1480171A1 (en) | 2004-11-24 |
US20070097145A1 (en) | 2007-05-03 |
KR20060007054A (ko) | 2006-01-23 |
WO2004104932A1 (en) | 2004-12-02 |
CN1809840A (zh) | 2006-07-26 |
EP1480171B1 (en) | 2016-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1809840B (zh) | 创建采样图案的方法和设备 | |
US7348996B2 (en) | Method of and system for pixel sampling | |
JP4327105B2 (ja) | 描画方法、画像生成装置、および電子情報機器 | |
RU2312404C2 (ru) | Аппаратное ускорение графических операций при построении изображений на основе пиксельных подкомпонентов | |
JPH09245179A (ja) | コンピュータグラフィックス装置 | |
CN100565585C (zh) | 用于像素采样的方法和装置 | |
JP4456003B2 (ja) | 低コスト・スーパーサンプリング・ラスタライゼーション | |
US6731301B2 (en) | System, method and program for computer graphics rendering | |
US6215501B1 (en) | Method and filling a polygon and recording medium | |
JP3547250B2 (ja) | 描画方法 | |
US6693644B1 (en) | Graphic accelerator reducing and processing graphics data | |
CN100353382C (zh) | 低成本超级采样光栅化 | |
KR100698284B1 (ko) | 부화소 구조의 디스플레이에서 컬러 에러 감소 장치 및 방법 | |
US8115780B2 (en) | Image generator | |
JP4766576B2 (ja) | 描画方法、画像生成装置、および電子情報機器 | |
JP2004078994A (ja) | 描画方法 | |
CN116977211A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100414 |
|
CF01 | Termination of patent right due to non-payment of annual fee |