CN1601562A - 图像处理装置及其方法 - Google Patents
图像处理装置及其方法 Download PDFInfo
- Publication number
- CN1601562A CN1601562A CNA2004100826889A CN200410082688A CN1601562A CN 1601562 A CN1601562 A CN 1601562A CN A2004100826889 A CNA2004100826889 A CN A2004100826889A CN 200410082688 A CN200410082688 A CN 200410082688A CN 1601562 A CN1601562 A CN 1601562A
- Authority
- CN
- China
- Prior art keywords
- pixel
- information
- depth information
- normal vector
- buffer memory
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- 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
- 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
Abstract
一种图像处理装置,其能够提取足够精确以能够用于抗锯齿的边缘信息,而不对最初需要绘制的像素之外的像素进行着色,并不引起绘图速度的下降,该装置包括抗锯齿系统,用于在绘图之后,从图像恢复屏幕坐标中的x-方向和y-方向的边缘信息,根据获得的边缘信息来确定抗锯齿必要的处理内容,并执行所确定的处理。具体说,通过扫描在绘图时获得的z-缓存的信息、或每个像素的标准矢量信息、或以上两个信息,或通过使用从z-缓存的信息恢复的标准矢量信息,来将抗锯齿施加到每个像素。
Description
技术领域
本发明涉及一种图像处理装置及其方法,该图像处理装置通过单位图形的组合来表示模型,在屏幕坐标系的绘图区域中生成像素数据,执行与存储器相关的着色(rendering),并且,当生成图像时,生成边缘信息并执行抗锯齿(anti-aliasing)。
背景技术
随着近来计算机系统中操作速度的提高和绘图功能的加强,使用计算机资源来准备和处理图形及图像的“计算机图形(CG)”技术已经成为积极研究和开发的主题,并已被投入实际使用。
例如,三维图形通过数学模型来表示当由预定的光源对三维对象照明时的光学现象,基于此模型将阴影(shading)或灰度层次(gradation)加入到该对象表面,并进一步附加图案,以生成更真实且类似三维的二维高清晰度图像。这样的计算机图形已经被越来越多地用于科学、工程、以及制造发展领域和其它各种应用领域中的CAD/CAM。
三维图形处理通常由定位为前端的“几何子系统”、以及定位为后端的“光栅子系统”组成。
“几何子系统”表示:在显示屏上显示三维对象的位置、姿态(posture)等的几何处理的步骤。在几何子系统中,通常将对象处理为一组大量的多边形。以多边形为单位来执行几何处理,如“坐标转换”、“剪切”、以及“光源计算”。
另一方面,“光栅子系统”表示:对形成对象的像素进行涂色(painting)的步骤。例如,基于为多边形的每个顶点求出的图像参数,通过对包含在多边形内的所有像素的图像参数进行插值,来实现光栅化(rasterization)。这里所称的图像参数包括:由所谓RGB格式表示的颜色(绘图颜色)数据、用于表示在深度方向上的距离的z-值等等。此外,在最近的高清晰度三维图形处理中,图像参数还包括:用于提高透视感觉的
f(雾)、以及用于表达对象表面的材料或图案的感受来赋予真实性的纹理
t。
这里,经常通过使用被称为“数字微分分析器”(DDA)的线性插值技术,来执行用于从多边形的顶点信息生成多边形内的像素的处理。在DDA处理中,从顶点信息来求出在多边形的一个边方向的数据的斜率,通过使用此斜率来计算该边的数据,计算出光栅的扫描方向(X-方向)上的斜率,并将从此斜率求出的参数改变量加到扫描开始点的参数值,由此在内部生成像素。
此外,在三维计算机图形中,当决定对应于每个像素的颜色时,执行着色,用于计算每个像素的颜色,并将此计算的颜色值写入到与该像素对应的显示缓存(帧缓存)的地址。
由于出现了直线、多边形边缘、以及颜色边界的不连贯的锯齿效应,所以,对这样的计算机图形生成的图像进行抗锯齿或其它处理,以提高视觉分辨率。对于抗锯齿来说,边缘信息的提取成为必要。
传统上,边缘提取方法包括:仅通过滤波来从生成的画面提取边缘的方法、通过轮廓线绘制多边形来提取边缘的方法等等。此外,抗锯齿技术包括:超采样方法、找到每个像素的覆盖范围的方法等等。
总结本发明要解决的问题,仅通过滤波来提取边缘的方法并没有利用由三维计算机图形产生的图像的优点,即在生成图像时生成了有用的数据等等,从而获得了某个等级的边缘信息,但不能获得足够精确到能用于抗锯齿的边缘信息。
在通过轮廓线绘制多边形来提取边缘的方法中,以多边形为单位来绘制所有周围边缘,因此有必要对除了原本需要绘制的像素之外的像素,如周围像素,进行着色。在该部分中,引起了绘图速度的下降。此外,着色的多边形的边缘中的大多数不是绘制对象的边缘,并被其它多边形覆盖写入,因而变成无用的。
此外,用作抗锯齿技术的超采样方法是绘制大量点并随后应用低通滤波器(LPF)的方法。此方法中,如果增加采样数,则质量会有一定程度的提高,但对于该数量来说,庞大的存储器成为必要。此外,当采样数增加时,必须为该数目的点着色,从而还会引起绘图速度的严重下降。
此外,关于找到每个像素的覆盖范围的方法,相比超采样技术来说,成为必须的存储器的尺寸较小,但绘制顺序具有巨大的影响,于是,如果多边形的绘制顺序不佳,则不能执行正确的抗锯齿,并由此Z-排序(Z-sort)技术成为必要。此外,即使采用Z-排序,也存在背景保持不变等问题。例如,在三角扇形的中心会出现这样的问题。
发明内容
本发明的第一目的在于:提供一种图像处理装置和方法,其使得除了固有必要的绘制像素之外的周围像素的着色成为不必要,并能够提取足够精确到能用于抗锯齿的边缘信息,同时不引起绘图速度的下降。
本发明的第二目的在于:提供一种图像处理装置和方法,其能够实现精确的抗锯齿,而不受绘制顺序的影响,而且不引起绘图速度的下降。
为了达到上面的目的,根据本发明的第一方面,提供了一种图像处理装置,其在屏幕坐标系的绘图区域内生成像素数据,以执行关于存储器的着色,并生成在存储器内绘制的图像,同时生成边缘信息并执行抗锯齿,所述图像处理装置包括边缘信息提取部件,用于基于在存储器中绘制的预定像素数据来提取边缘信息。
最好是,在存储器中绘制的像素数据包括深度信息,并且,边缘信息提取部件得到作为对存储深度信息的存储器的深度信息缓存进行扫描的结果而获得的深度信息的二阶导数,并基于该二阶导数提取边缘信息。
最好是,该边缘信息提取部件通过与设置的阈值相比较,来估计像素是否位于边缘。
最好是,该边缘信息提取部件扫描深度信息缓存,以便在存储器中完成了深度信息的绘制之后,得到深度信息的二阶导数。
此外,边缘信息提取部件与在存储器中绘制深度信息相并行地得到深度信息的二阶导数。
最好是,只要当预定像素的深度信息值在绘制的时候被更新时,所述边缘信息提取部件就通过对二阶导数具有影响的周围像素的深度信息值,来更新所述像素的二阶导数,并在绘图结束之后,除了深度信息缓存之外,还在所述存储器中形成深度信息的二阶导数的缓存。
最好是,在绘制到存储器时生成的数据包括每个像素的标准矢量,在存储器中形成存储标准矢量的标准矢量缓存,并且该边缘信息提取部件基于作为对存储在标准矢量缓存中的像素的标准矢量进行扫描的结果而获得的标准矢量来提取边缘信息。
此外,最好是,在存储器中绘制的像素数据包括深度信息,并且该边缘信息提取部件从深度信息来恢复每个像素的标准矢量,并基于该恢复的标准矢量来提取边缘信息,其中,作为对存储深度信息以及屏幕坐标系的存储器的深度信息缓存进行扫描的结果,而获得所述深度信息。
最好是,该边缘信息提取部件扫描存储器的深度信息缓存,以恢复标准矢量,并基于恢复的标准矢量来判断像素是否位于边缘。
最好是,在扫描存储器的深度信息缓存期间,该边缘信息提取部件为每个像素取得在中心像素的标准和与中心像素相邻的像素的标准矢量之间的内积,当内积值在从预定值设置的阈值范围之内时,则判断它不是边缘,并且,当内积在该阈值之外时,则将像素判断为位于边缘。
根据本发明的第二方面,提供了一种图像处理方法,其在屏幕坐标系的绘图区域中生成像素数据,以执行关于存储器的着色并生成在存储器中绘制的图像,并且同时生成边缘信息和执行抗锯齿,所述图像处理方法包括基于在存储器中绘制的预定像素数据来提取边缘信息的步骤。
根据本发明,在边缘信息提取部件完成了在存储器中的深度信息绘制之后,扫描深度信息缓存,并且,通过扫描获得深度信息的二阶导数。
接下来,通过比较设置的阈值和得到的二阶导数,来估计像素是否位于边缘。
也就是说,根据本发明,例如,通过利用在三维计算机图形的常规绘图时的原始必要的信息来绘图之后,提取边缘信息,并保留所述原始必要信息作为绘图时的信息,而传统上,在其之后,将不使用所述原始必要信息,例如,深度(z)缓存的信息。
此外,根据本发明,在三维计算机图形的常规绘图中不保留的信息,例如,每个像素的标准矢量的信息,被保存并在后级使用,或者,在绘图时形成在后级中提取边缘必要的信息,并将其保存。
附图说明
通过下面对参照附图给出的优选实施例的描述,本发明的这些和其它目的和特点将变得更清晰,其中:
图1为根据本发明的形成图像处理装置的三维计算机图形系统的系统配置的视图;
图2A和2B为用于解释根据当前实施例的z-值的二阶导数的视图;
图3A到3C为用于解释根据当前实施例的z-缓存的扫描操作的视图;
图4为用于解释根据当前实施例的通过使用z-值来恢复标准矢量的方法的视图;
图5A到5D为用于解释根据当前实施例的使用标准矢量的方法的视图;
图6A到6D为示出了需要抗锯齿的边缘的最一般图案的视图;
图7为用于解释根据当前实施例的抗锯齿中的混合(blending)操作的视图;
图8为用于解释根据当前实施例的对锯齿图案的搜索方法的视图;
图9为用于解释根据当前实施例的找到重叠边缘图案,并在也获取在行扫描时所关注的行之外的多个上面的行和下面的行的边缘信息时,适当地处理所述重叠边缘图案的方法的视图;
图10为用于解释根据当前实施例的找到接近边缘的图案,并在也获取在行扫描时所关注的行之外的多个上面的行和下面的行的边缘信息时,适当地处理所述接近边缘的图案的方法的视图;
图11为用于解释根据当前实施例的找到接近边缘的图案,并在也获取在行扫描时所关注的行之外的多个上面的行和下面的行的边缘信息时,适当地处理所述接近边缘的图案的方法的视图;
图12为用于概念性地示出根据当前实施例的抗锯齿系统的配置的例子的视图;
图13A到13D为用于图解示出根据当前实施例的状态机的运动和混合的视图;
图14为示出这样的情况的视图,其中,交换存储器上的图像与作为着色结果的RGB图像,并在结束之后,将其传送到显示器;
图15为示出这样的情况的视图,其中,进行光栅扫描,用于在显示器上显示作为着色结果的RGB图像,与此并行和同步地,还扫描z-缓存,并在传送到显示器时,改变存储器上的图像,并在结束之后将其传送到该显示器。
图16A到16E为用于解释相邻平面的边界的情况中的边缘提取的视图;以及
图17A到17D为用于解释对象和背景之间的边界的情况中的边缘提取的视图。
具体实施方式
下面,当前实施例中,将给出对应用到个人计算机等的三维计算机图形系统的说明,该三维计算机图形系统用于在阴极射线管(CRT)或其它显示器上高速显示任意对象模型的期望的三维图像。
图1为三维计算机图形系统10的系统配置的视图,其中,该三维计算机图形系统10形成根据本发明的图像处理装置。
该三维计算机图形系统10为这样的系统,其用于将三维模型表示为用作单位图形的三角形(多边形)的组合,绘制这些多边形以决定显示屏幕的每个像素的颜色,并在显示器上显示结果,也就是说,用于多边形着色。
此外,除了用于表示平面上的位置的(x,y)坐标,三维计算机图形系统10还使用表示深度的z-坐标,以便通过三个(x,y,z)坐标来表示三维对象,并指定三维空间内的任意点。
此外,三维计算机图形系统10对由计算机图形生成的图像执行例如抗锯齿的图像处理。此情况中,在计算机图形(CG)图像的生成步骤中,会产生常规地处理图像时所不能利用的大量有用信息。当前实施例中,示出了重新使用或处理此有用信息以精确地提取指明表面的边缘信息的方法,其中在所述表面上,图像中对象的边界或方向急剧地改变。
当前实施例包括两类方法。后面将详细说明。
第一种方法为这样的方法,其利用在三维计算机图形的常规绘图时最初需要的信息,以在绘图之后提取边缘信息,其中,将该信息保留为绘图时的信息,而传统上在绘图之后,将不使用所述信息,例如,z-缓存的信息。由三维计算机图形将z-缓存的信息和颜色信息一起绘制,而传统上,当颜色信息传递到后级使用时,丢弃z-信息(z-值),从而在这之后不再使用。当前实施例中,在后级中重新使用z-缓存的信息。
第二种方法为这样的方法,其保存在三维计算机图形的常规绘图中所不保留的信息,例如,每个像素的标准矢量的信息和多边形的倾角(inclination)信息,并将其用于后级,或为形成在后级中的边缘提取必要的信息并将其保存的方法。此方法也可被解释为:在指明应对后级做什么的意义上,着色(rendering)“指令”或“操作码”。该信息为三维计算机图形特有的信息。也可以将其称为这样的技术,该技术用于有效地处理在绘图时提供的信息并将其传递到后级,以便可将其用于后级的图像处理中。
在使用z-缓存的方法中,以像素为单位来计算二阶导数,并将该二阶导数用于边缘提取。
在使用标准矢量的方法中,以像素为单位来计算相邻像素的标准矢量的内积,并根据其大小来判断像素是否位于边缘。
此外,可采用这样方法,其通过使用仅来自z-缓存的信息的像素的屏幕坐标,来恢复每个像素的标准矢量信息并使用该标准矢量信息。
此外,还可采用这样的方法,该方法使用这样的技术,如仅对通过此技术找到的边缘部分进行超采样。
此外,当执行抗锯齿时,三维计算机图形系统10在绘图时不计算及存储每个像素的覆盖范围,这不同于通常使用的技术。它还不使用诸如多次采样和超采样的技术。
也就是说,在计算机图形图像的生成结束之后,三维计算机图形系统10执行抗锯齿作为后处理。
在计算机图形图像的生成结束之后,提取边缘作为后处理,并且,通过利用边缘信息来执行抗锯齿。
从边缘信息导出边缘的图案,并根据该图案来处理像素。在当前实施例中,不仅该写入像素周围的像素混合,而且对象和背景也混合。即使被写为100%覆盖的像素有时也会被混合。
在图案提取时,可通过使用状态机和计数器来处理直线的长边缘。
作为边缘的图案,仅处理需要抗锯齿的边缘。而且,处理具有重叠边缘的图案。
当前实施例中,还示出了安装方法,其用于以像素单位来扫描z-缓存等的信息,并同步地进行抗锯齿。
必要的处理如下:
1) 绘图之后,从图像恢复屏幕坐标中的x-方向和y-方向的边缘信息。
2) 根据获得的边缘信息来确定抗锯齿所必须的处理内容。
3) 执行所确定的处理。
当前实施例中,采用了这样的技术,其通过扫描绘图时获得的z-缓存的信息、或每个像素中的标准矢量信息、或以上两个信息,或通过使用从z-缓存的信息恢复的标准矢量信息,来对像素施加抗锯齿。
在每个扫描中,规定了用于保持状态的状态机、以及用于测量边缘的连续性的计数器。使用这两个设备,决定以哪种混合比例将每个边缘上的像素与在哪个方向上相邻的像素的像素值混合。
接下来,将决定的值用于混合。在扫描期间连续执行,直到更新了像素值为止。
根据此方法,为了抗锯齿的目的而增加的存储器量可保持为较小,并且,没有添加会降低绘图时性能的处理。
下面,将继续说明如上所述配置的三维计算机图形系统10的部分的特定配置和功能。
如图1所示,该三维计算机图形系统10包括:通过主总线15连接的主处理器11、主存储器12、I/O接口电路13、以及着色电路14。将着色电路14连接到CRT控制电路16。注意,图1中,在着色电路14之外提供CRT控制电路16,但是,也可采用在着色电路14内提供CRT控制电路16的配置。
这些组件中,着色电路14和/或CRT控制电路16组成了本发明的边缘信息提取部件和抗锯齿部件。
下面,将给出对所述组件的功能的说明。
根据应用程序的处理状态等,主处理器11从主存储器12中读出必要的图形数据,并执行几何处理等,如坐标转换、剪切、以及对此图形数据加亮,以生成多边形着色数据。
主处理器11通过主总线15将多边形着色数据S11输出到着色电路14。
根据需要,I/O接口电路13从外部接收运动控制信息或多边形着色数据等,作为输入,并通过主总线15将其输出到着色电路14。
输入到着色电路14的多边形着色数据包括每个多边形的三个顶点的(x,y,z,R,G,B,α,s,t,q)数据。
这里,(x,y,z,)数据示出了多边形的顶点的三维坐标,而(R,G,B)数据示出了三维坐标上的红、绿、以及蓝的亮度值。
此外,α示出了混合值(系数)。
(s,t,q)数据中,(s,t)示出了对应纹理的齐次坐标,而q示出了齐次项。这里,“s/q”和“t/q”与纹理尺寸USIZE和VSIZE相乘,以获得实际的纹理坐标数据(u,v)。
通过使用纹理坐标数据(u,v),来执行对存储在着色电路14的图形存储器(具体为后面描述的纹理缓存)中的纹理数据的访问。
也就是说,多边形着色数据为三角形的顶点的物理坐标值、以及顶点的颜色、以及纹理数据。
如图1所示,着色电路14具有:数字微分分析器(DDA)设定(set-up)电路141,作为对线性插值操作的初始设定操作块;三角DDA电路142,作为线性插值处理块;纹理引擎电路143;存储器接口(I/F)电路144;以及由例如DRAM配置的图形存储器145。由纹理引擎电路143和存储器接口(I/F)电路144配置处理电路。
在对物理坐标系上的三角形顶点的值进行线性插值、以在后面的三角DDA电路142中求出该三角形内的每个像素的颜色信息和深度信息之前,DDA设定电路141求出该三角形的一边和由多边形着色数据S11指明的(z,R,G,B,α,s,t,q)数据的水平方向之间的差异等,即用于设定操作。
此设定操作通过使用开始点的值、结束点的值、以及开始点和结束点之间的距离,来具体计算在单位长度移动的情况下将被求出的值的改变量。
DDA设定电路141将设定数据S141输出到三角DDA电路142,作为有关图元(primitive)的信息,该信息包括计算的改变数据。
三角形的每组顶点数据包括:例如16位的x和y坐标、24位的z坐标,12位(=8+4)的RGB颜色值、以及32位的s、t、q纹理坐标的浮点十进制值(IEEE格式)。
三角DDA电路142基于设定数据S141而计算在三角形内的像素上线性插值的(z,R,G,B,α,s,t,q)数据,作为包括从DDA设定电路141输入的改变数据的有关图元的信息。
三角DDA电路142将每个像素的(x,y)数据以及在(x,y)坐标上的(z,R,G,B,α,s,t,q)数据输出到纹理引擎电路143,作为DDA数据(插值数据)S142。
也就是说,基于对多边形的每个顶点求出的图像参数,三角DDA电路142对包括在三角形内的所有像素的图像参数进行插值,即用于光栅化。
具体说,三角DDA电路142对各类数据(z、纹理坐标、颜色等)进行光栅化。
纹理引擎电路143以流水线形式执行用于计算“s/q”和“t/q”的处理、用于计算纹理坐标数据(u,v)、从图形存储器145读取(R,G,B)数据等的处理。
注意,纹理引擎电路143同步地对位于例如预定矩形内的多个(例如,四个或八个)像素执行并行处理。
纹理引擎电路143执行这样的操作,其中对由DDA数据S142指定的(s,t,q)数据,将
s数据除以
q数据,并将
t数据除以
q数据。
纹理引擎电路143配备有例如与要被并行处理的像素的数目(例如,8)对应的未示出的多个除法电路。同时执行对八个像素的除法“s/q”和“t/q”。此外,还有可能安装该电路,以便对八个像素中的典型点执行插值操作。
此外,纹理引擎电路143将除法结果“s/q”和“t/q”与纹理尺寸USIZE和VSIZE相乘,以生成纹理坐标数据(u,v)。
此外,纹理引擎电路143通过存储器I/F电路,将包括生成的纹理坐标数据(u,v)的读取请求输出到图形存储器145,并通过存储器I/F电路读出在图形存储器145中包括的纹理缓存中存储的纹理数据,以由此获得在与(s,t)数据对应的纹理地址存储的(R,G,B)数据。
纹理引擎电路143通过将读出的(R,G,B)数据中的(R,G,B)数据和包含在来自之前的三角DDA电路142的DDA数据S142中的(R,G,B)数据相乘等,来生成像素数据。
纹理引擎电路143最后将此像素数据作为像素的颜色值输出到存储器I/F电路144。
注意,包含在图形存储器146中的纹理缓存存储MIPMAP(用于多个分辨率的纹理)或对应于多个压缩率的其它纹理数据。这里,在上面的三角单元中,使用预定的算法来确定纹理数据使用哪个压缩率。
在全色模式的情况中,纹理引擎电路143直接使用从纹理缓存读出的(R,G,B)数据。
另一方面,在索引颜色模式(index color mode)的情况中,纹理引擎电路143将预先准备的颜色索引表的数据从纹理颜色查找表(CLUT)缓存传送到由内置SRAM等配置的临时存储缓存,并通过使用此颜色查找表,而获得与从纹理缓存读出的颜色索引对应的(R,G,B)。
例如,当颜色查找表由SRAM组成时,当将颜色索引输入到SRAM的地址时,在输出中出现实际的(R,G,B)数据。
此外,可配置纹理引擎电路143,以便存储在三维计算机图形的常规绘图中未保留的信息,例如,图形存储器145中的每个像素的标准矢量的信息和多边形的倾角信息,用于实现上面说明的边缘信息提取的第二种方法。
存储器I/F电路144将对应于从纹理引擎电路143输入的像素数据S145的z-数据、与在图形存储器145中包含的z-缓存中存储的z-数据相比较,判断由输入像素数据绘制的图像是否比先前时间写入到图形存储器145(显示缓存)的图像定位得更靠近(观看点一边),并当其定位得更近时,将z-数据更新为图像数据,并存储在z-缓存中。
此外,存储器I/F电路144将(R,G,B)数据写入到图形存储器145(显示缓存)。
此外,存储器I/F电路144通过从现在起将绘制的像素中的纹理地址对存储与该纹理地址对应的纹理数据的图形存储器145的存储块进行计算,将读取请求仅发送到该存储块,以由此读出纹理数据。
此情况中,对于读取纹理数据来说,不访问未保留对应纹理数据的存储块,于是为绘图提供更多的访问时间成为可能。
绘图时,存储器I/F电路144以同样的方式从对应地址读出像素数据,用于修改存储与像素地址对应的像素数据的图形存储器145的存储块的写入,其中,数据从现在起将被绘制到该像素地址,并在修改之后,将数据写回到同样的地址。
在隐藏的平面处理的时间,该电路从对应地址读出深度数据,用于修改存储与像素地址对应的深度数据的存储块的写入,其中,数据仍被绘制到该像素地址,并且,如果必要,在修改之后将数据写回到同样的地址。
此外,当从纹理引擎电路143接收包括有关图形存储器145的生成的纹理坐标数据(u,v)的读取请求时,存储器I/F电路144读出在图形存储器145中存储的(R,G,B)数据。
此外,当从CRT控制电路16接收读取显示数据的请求时,存储器I/F电路144响应此请求,而从图形存储器145(显示缓存)中读出某个数量的显示数据,例如8个像素或16个像素单位。
当从CRT控制电路16接收z-值的读取请求,例如用于使用该z-值的边缘信息恢复时,存储器I/F电路144响应此请求,而在x-方向上(水平方向)和y-方向上(垂直方向)扫描图形存储器145(z-缓存),以读出z-值。
此外,当从CRT控制电路16接收标准矢量的读取请求,用于使用例如该标准矢量的边缘信息恢复时,存储器I/F电路144响应此请求,而扫描图形存储器145,以读出标准矢量信息。
存储器I/F电路144访问(用于写入和读取)图形存储器145,但是写入路径和读取路径被配置为单独的路径。
也就是说,在写入的情况中,写入地址和写入数据在写入系统电路中被处理,并被写入到图形存储器145中,而在读取的情况中,它们在读取系统电路中被处理,并从图形存储器145读出。
此外,基于预定交错类型(interleave type)的寻址,存储器I/F电路144以例如16像素的单位访问图形存储器145。
在这样的通过存储器的数据传送中,可通过并行地执行很多处理来提高绘图性能。
具体说,通过以并行有效格式(空间并行)或精细插入流水线(时间并行)来为三角DDA部分和纹理引擎部分提供相同的电路,来对多个像素执行同步计算。
如后面将要说明的,整理图形存储器145的存储块,以使得显示区域中的相邻部分成为不同的存储块,于是,当绘制诸如三角形的平面时,它们便能够在该平面上被同步地处理。因此,每个存储块的操作概率变得很高。
图形存储器145基本上起到纹理缓存、显示缓存、z-缓存、以及纹理CLUT(颜色查找表)缓存的作用。
此外,当配置CRT控制电路16、以便使用标准矢量来执行边缘信息恢复时,除了起到纹理缓存、显示缓存、z-缓存、以及纹理CLUT(颜色查找表)缓存的作用之外,图形存储器145还起到用于存储标准矢量的标准缓存的作用。
将图形存储器145分为具有相同功能的多个模块,例如四个。
为在图形存储器145中存储更多的纹理数据,将索引颜色的索引和其颜色查找表值存储在纹理CLUT缓存中。
如上所述,将索引和颜色查找表值用于纹理处理。
也就是说,通常,纹理元素由包含R、G和B的每一个为8位的总共24位来表示。然而这样使得数据量增大,于是,从例如预先选择的256个颜色中选择一个颜色,并将该数据用于纹理处理。由此,在256个颜色的情况下,可由8位来表示纹理元素。从索引到实际颜色的转换表变得必要,但纹理的分辨率越高,纹理数据可变得越紧密。
由此,纹理数据的压缩成为可能,并且,内置存储器的有效利用成为可能。
此外,图形存储器145存储要绘制的对象的深度信息,用于与绘图同步且并行地执行隐藏的平面处理。
注意,作为显示数据、深度数据、以及纹理数据的存储方法,例如,将显示数据存储在存储块中预定的位置,例如,从顶部连续存储,接下来存储深度数据,并随后对于在余下的空闲区域中的每类纹理,在连续的地址空间中存储纹理数据。
如上所述,在DDA安装电路141、三角DDA电路142、纹理引擎电路143、存储器I/F电路144等中的预定处理之后,最终存储器访问成为绘制像素单元,如一个像素。
CRT控制电路16生成显示地址,用于与给出的水平和垂直同步信号同步地在未示出的CRT上显示,并将从包含在图形存储器145中的显示缓存读取显示数据的请求输出到存储器I/F电路144。
响应此请求,存储器I/F电路144从图形存储器145(显示缓存)中读出某个数量的显示数据。
CRT控制电路16包括例如内置FIFO电路,用于存储从图形存储器145读出的显示数据,并以恒定的时间间隔生成RGB的索引值。
CRT控制电路16存储与索引值对应的R、G、B数据,并将与生成的RGB的索引值对应的数字格式的R、G、B数据传送到未图示的数字/模拟(D/A)转换器,以生成模拟格式的R、G、B数据。
CRT控制电路16将生成的R、G、B数据输出到未示出的CRT。
CRT控制电路16对由上述计算机图形处理生成的图像执行抗锯齿和其它图像处理。
下面,将结合附图给出当前实施例中,用于抗锯齿的边缘信息生成处理以及基于该生成的边缘信息的特定的抗锯齿的说明。
首先,将给出用于边缘提取的信息生成的处理的说明。
在当前实施例中,如上所述,作为用于边缘提取的信息生成方法,采用了重新使用z-缓存的z-值的第一种方法、以及使用每个像素的标准矢量的信息的第二种方法。
利用z-缓存的信息的边缘提取方法
最初,在绘制三维计算机图形时,计算z-值并将其写入到图形存储器145中。这里,不使用z-值自身。相反地,z-值的二阶导数成为必要。
如图2A和2B中所示,z-值的二阶导数是非常有用的信息。该值偏离适当的阈值的点可被视为边缘。并不是通过图像识别来从二维图像计算z-值,而是在绘制三维计算机图形时知道了精确的z值,于是,从z-值的二阶导数检测的边缘信息的精度变得极高。在很多情况中,这里获得的边缘为绘制对象和背景之间的边界。
图2A中,在将边缘夹于中间的两点处,由附图中的箭头<2>指明的二阶导数的结果(方向)、与由同一对象内或背景处的视图中的箭头<1>和<3>指明的结果(方向)非常不同。同样,图2B中,在将边缘夹于中间的两点处,由视图中的箭头<3>指明的二阶导数的结果、与由同一对象内或背景处的视图中的箭头<1>、<2>、<4>、以及<5>指明的结果(方向)非常不同。
作为获得z的二阶导数的方法,可采用通过在绘图结束之后扫描z-缓存的计算方法、以及在绘图时以与写入(安装)像素值的相同定时更新z的二阶导数的方法。
当必须保留存储器时,最好采用这样的方法,其使用前一个方法,并通过根据CRT控制电路16的请求来与扫描z同步地结束必要处理。
如果有必要在后级减轻处理,则可使用后一种方法,以与绘图一起终止z的二阶导数的计算。
这里,将给出与绘图一起终止z的二阶导数的计算的方法的说明。此情况中,不是CRT控制电路16,而是存储器I/F电路144或纹理引擎电路143被用于与绘图一起计算
z的二阶导数。通过存储器I/F电路144,CRT控制电路16读出有关生成的图像的二阶导数,并执行抗锯齿。
除了原始存在的z-缓存,还提供
z的二阶导数的缓存,并将
z的二阶导数的缓存初始化为0。只要在绘图时更新某个像素的z-值,便更新具有对二阶导数施加影响的z-值的周围像素的二阶导数。
通过该过程,在绘图结束时形成了
z的二阶导数的缓存。
当屏幕坐标为x和y,并且每个像素的z-值为z(x,y)时,作为二阶导数的分布,对于每个像素来说,下面的两个分布成为必要。
d2z/dx2(x,y)=z(x+1,y)+z(x-1,y)-2*z(x,y)
d2z/dy2(x,y)=z(x,y+1)+z(x,y-1)-2*z(x,y) (1)
在绘图时,如果更新某个x、y地址的z-值,则更新地址(x-1,y)、(x+1,y)、(x,y-1)、(x,y+1)和(x,y)的
z的二阶导数。
例如,假定更新前的二阶导数如下:
d2z/dx20_0(x,y)=z0(x+1,y)+z0(x-1,y)-2*z0(x,y) (2)
这里,假定例如(x-1,y)的z-值被更新为z1,更新后的二阶导数变为如下:
d2z/dx21_1(x,y)=z0(x+1,y)+z1(x-1,y)-2*z0(x,y) (3)
此时,为了更新二阶导数,可执行下面等式的计算:
d2z/dx2_1-d2z/dx2_0=z1(x-1,y)-z0(x-1,y) (4)
可通过读取d2z/dx20值、加上上面的差、以及写回结果的读取修改写入过程来执行更新。
注意,当使用
z的二阶导数用于例如抗锯齿的处理时,可采用利用x-和y-方向中的一个值的方法、或独立地利用所述两个信息的方法。
接下来,作为获得
z的二阶导数的方法,将给出对在绘图结束之后扫描z-缓存、计算、以及生成边缘信息的方法的说明。
图3A到3C为用于说明在绘图结束之后扫描z-缓存以及计算来生成边缘信息的方法的视图,该方法作为获得
z的二阶导数的方法;
如图3A到3C所示,当扫描z-缓存时,水平方向(x-方向)上的扫描和垂直方向(y-方向)上的扫描对于恢复边缘信息均有效,而也对抗锯齿中的垂直和水平方向上的扫描的联合使用有效。
在扫描时,对每个像素执行下面的滤波。
d2z=4*z(x,y)-z(x,y-1)-z(x,y+1)-z(x-1,y)-z(x+1,y)
d2zdx=2*z(x,y)-z(x-1,y)-z(x+1,y)
d2zdy=2*z(x,y)-z(x,y-1)-z(x,y+1) (5)
存在通过给上、下、左、右、以及中心像素加上如等式5所示的系数来得到所述值的方法,但也有可能不同于以上而分别得到上、下、及中心像素的垂直方向上的值、以及左、右、及中心像素的水平方向上的值的两个值。此方法在后面的抗锯齿中是有效的。
在分别计算水平方向(x-方向)和垂直方向(y-方向)上的滤波值(z的二阶导数)的方法中,在扫描时,对每个像素得到两个值[d2dx,(x,y)]和[dz2dy(x,y)]。对每个值执行下面使用阈值Zth的估计,也就是说,估计是否绝对值大于阈值Zth。
abs(dz2dx(x,y))>zth
abs(dz2dy(x,y))>zth (6)
注意,Zth为可调节的阈值。
如果估计不等式(6)为真,则像素位于该方向上的边缘,并且如果其不为真,则像素不位于该方向上的边缘。
例如,假定
z的二阶导数(当屏幕坐标像素之间的距离为1时,在x,y处的值)如等式7所示。
x-方向 d2zdx=z(x+1,y)+z(x-1,y)-2*z(x,y)
y-方向 d2zdy=z(x,y+1)+z(x,y-1)-2*z(x,y) (7)
此情况中,当d2zdx>zth时,估计该像素位于在x-方向上不连续、但延伸到y-方向的边缘上。
当d2zdy>zth时,估计该像素位于y-方向上不连续、但延伸到x-方向的边缘上。
可通过z-缓存的一次扫描,对每个像素做出上面的处理。
此外,独立判断是否某个像素位于x-方向和y-方向上的边缘为用于抗锯齿的有效方法。
接下来,将给出使用标准矢量用于边缘提取的方法的说明。
利用每个像素的标准矢量信息的边缘提取方法
在绘图时生成标准矢量,但其通常不存储在图形存储器145中,并在使用后丢弃。如果对于每个像素在图形存储器145中存储它们,则可将它们用于后级中的边缘提取。将在后面说明该提取方法。
另一方面,对于存储标准矢量来说,存储器是必要的,于是,还可以使用这样的方法,其不将标准矢量存储在存储器中、而是在绘图结束后从屏幕坐标和z-缓存的z-值恢复标准矢量,以保留存储器。
如图4和下面的等式8所示,作为指定的技术,在每个像素处,当由屏幕坐标的x、y坐标值和z-缓存的z-值来形成三维坐标时,通过使用有关像素上边或下边的像素、有关像素右边或左边的像素、以及有关像素的三个点的三维坐标来计算矢量的外积,结果为标准矢量。
(nx0,ny0,nz0)=((x2,y2,z2)-(x0,y0,z0)x((x1,y1,z1)-(x0,y0,z0))
nx0=(y2-y0)*(z1-z0)-(z2-z0)*(y1-y0)
ny0=(z2-z0)*(x1-x0)-(x2-x0)*(z1-z0)
nz0=(x2-x0)*(y1-y0)-(y2-y0)*(x1-x0) (8)
也就是说,在从z-缓存的值恢复标准的方法中,通过对从三维空间的某个点到其它两个点的矢量的外积进行标准化(normalizing)而获得的矢量被定义为标准矢量,其中由z-缓存的值z以及z-缓存的地址(x,y)三个参数形成该三维空间。
给出一个例子,当z-缓存的地址分布在两个x-和y-维,并且,像素之间的x-和y-方向上的距离为1时,结果变为如下:
nx=z(x+1,y)-z(x,y)
ny=z(x,y+1)-z(x,y)
nz=-1 (9)
这样,对于使用标准矢量的边缘信息恢复来说,有必要在绘图时将每个像素的标准矢量的分量存储在缓存中,或从z-缓存的信息和屏幕坐标恢复该标准矢量。
如果存储标准矢量,若存储线性插值的标准矢量的值用于仿阴影(Phongshading),则精度提高,但在绘图时,也有可能不对标准矢量进行插值,而存储多边形的平均值,作为每个像素的值。
此外,没有必要存储全部三个分量。如果在标准矢量的矢量大小为1的情况下,若仅存储两个分量的符号和余下的一个分量,则后面可通过计算来提取这三个分量。
图5A到5D示出了从标准矢量的信息提取边缘信息的方法。
如图所示,通过扫描水平方向(x-方向)或垂直方向(y-方向)、或上述两个方向,来提取信息。当存在标准矢量缓存时,则扫描此标准矢量缓存。
当恢复标准矢量时,扫描z-缓存,并当判断边缘时,恢复标准矢量。在扫描期间,对每个像素,获得中心像素的标准矢量和该像素的上、下、左、右像素的标准矢量之间的内积,如图表和下面的等式10所示。
Px0=N(x,y)·N(x-1,y)
Px1=N(x,y)·N(x+1,y)
Py0=N(x,y)·N(x,y-1)
Py1=N(x,y)·N(x,y+1) (10)
对于所述内积,执行下面的估计:
11-1.Abs(px0)<(1.0_nth)
11-2.Abs(px1)<(1.0_nth)
11-3.Abs(py0)<(1.0_nth)
11-4.Abs(py1)<(1.0_nth)
这里,“nth”为可调阈值。如果上面的不等式11-1或11-2为真,可以得出,有关像素位于x-方向的边缘。如果上面的不等式11-3或11-4为真,可以得出,有关像素位于y-方向的边缘。
也就是说,计算了在x-方向和y-方向上彼此邻接的像素的标准矢量的内积。如果内积值在从1.0到阈值的范围内,则判断该像素不在边缘,而如果它们在阈值的范围外,则判断该像素位于边缘。
例如,当在x-方向上满足下面的条件时,则判断在有关像素的左边(x变小的方向)存在沿y-方向延伸的边缘。
nx(x-1,y)*nx(x,y)+ny(x-1,y)*ny(x,y)+nz(x-1,y)*nz(x,y)<nth (12)
当满足下面的条件时,则判断在有关像素的右边(x变大的方向)存在沿y-方向延伸的边缘。
nx(x-1,y)*nx(x,y)+ny(x+1,y)*ny(x,y)+nz(x+1,y)*nz(x,y)<nth (13)
当满足下面的条件时,则判断在有关像素的上边(y变小的方向)存在沿x-方向延伸的边缘。
nx(x,y-1)*nx(x,y)+ny(x,y-1)*ny(x,y)+nz(x,y-1)*nz(x,y)<nth (14)
当满足下面的条件时,则判断在有关像素的下边(y变大的方向)存在沿x-方向延伸的边缘。
nx(x,y+1)*nx(x,y)+ny(x,y+1)*ny(x,y)+nz(x,y+1)*nz(x,y)<nth (15)
通过上面的估计,一个扫描使每个像素能够被处理。对关于x-和y-方向独立进行的边缘的存在的研究、以及在垂直方向和水平方向的扫描给出了此后的抗锯齿处理的有用信息。
将关于在边缘的左边或右边的哪一个、或在边缘的上边或下边的哪一个的信息加到如上所述获得的关于像素是否位于边缘的信息中。因此,作为信息,除了指明边缘的存在的1位信息,指明边缘存在于哪一边的1位信息也是必要的,于是,至少生成2位信息。
在当前实施例中,如上所述,在绘制屏幕坐标中x-方向和y-方向的边缘信息之后,从该图像恢复预定的信息,从获得的边缘信息来确定抗锯齿所必需的处理内容,并执行所确定的处理。
在当前实施例中,通过扫描绘图时获得的z-缓存的信息、或每个像素的标准矢量信息的一个或两个,或通过使用从z-缓存的信息恢复的标准矢量信息,来对每个像素施加抗锯齿。
例如,在每个扫描中,定义了用于保持状态的状态机、以及用于测量边缘的连续性的计数器。通过这两个设备,对于每一边缘上的像素,决定了以哪个混合比例与沿哪个方向的相邻像素的像素值执行混合。接下来,将确定的值用于混合。在扫描期间将连续执行,直到更新了该像素值为止。
根据此方法,为了抗锯齿的目的而使用的存储器增加量可保持为较小,并且,没有添加会降低绘图时的性能的处理。
下面,将给出此处理的算法和安装格式的说明。
算法
成为锯齿的边缘的最一般的形状为图6A和6C中示出的图案。如图6B和6D所示,这样的图案的边缘被混合掉了。
具体说,如图7所示,将边缘夹在中间的像素彼此混合了。此情况中,当一个像素的一边的长度为1.0时,图中梯形的面积成为混合系数。
使用图7的情况作为例子,当像素值为A0、A1、A2、B0、B1和B2时,下面示出每个像素值如何改变。这里,与所述像素对应的混合系数为a0、a1、a2、b0、b1和b2。
A0→A0*(1-a0)+B0*a0
B0→B0*(1-b0)+A0*b0
a0=3.0*0.5*0.5*(1-2*2/(3*3))
b0=3.0*0.5*0.5*(1-1/(3*3))
A1→A1*(1-a1)+B1*a1
B1→B1*(1-b1)+A1*b1
a1=3.0*0.5*0.5*2*2(3*3)*(1-1*1/(2*2))
b1=3.0*0.5*0.5*2*2(3*3)*(1-1*1/(2*2))
A2→A2*(1-a2)+B2*a2
B2→B2*(1-b2)+A2*b2
a2=3.0*0.5*0.5*(1*1/(3*3))
b2=3.0*0.5*0.5*(1-2*2/(3*3)) (16)
如果使用上面的系数,即使边缘接近水平或垂直,也可完全消除锯齿的形状。
对于上面的处理,有必要找到边缘的图案(锯齿图案)。基本上,这成为用于在垂直方向和水平方向上独立地找到如图8所示的边缘图案的处理。
为此目的,还有可能定义掩模(mask)并执行图案匹配,但也可采用下面的方法。还有可能将下面的方法与图案匹配相结合。
当注意到某行时,从任一端点扫描该行。在扫描中,有时会在与该行垂直的方向上找到成为边缘的像素。
例如,当在x-方向上扫描时,这是成为y-方向上的边缘的像素。当在y-方向上扫描时,这是成为x-方向上的边缘的像素。“x-(y-)方向上的边缘”的意思是:
z的二阶导数、标准矢量的方向等在该方向上剧烈变化。
当找到这样的像素时,在相关行的上边或下边的行的像素中,也将在垂直于此行方向的方向上找到形成边缘的像素的可能性极高。
此外,当继续扫描时,一些形成边缘的像素将在垂直于相关行的方向上连续,并且,形成边缘的像素也将在上边或下边像素的垂直方向上连续。在某个时间点,当相关行的像素继续在垂直方向上形成边缘时,在上面和下面行中的垂直方向上形成边缘的行将被翻转。这样的状态持续了几个像素之后,在相关行中,垂直方向上的边缘的像素将消失。这就是如何找到一个锯齿图案。
在相关行的垂直方向上形成边缘的像素与在该垂直方向上形成边缘的上边或下边的像素混合,并随后被写回。
当前实施例中,当找到这样的图案时,在每行的扫描中,例如使用状态机和计数器。
状态机示出正在处理的像素位于哪个形状的图案的哪个位置,而计数器测量从锯齿图案的开始点到改变点(上面和下面边缘翻转的部分)的长度、以及从改变点到锯齿图案结束时的长度。
由此,可对于每个像素示出在锯齿图案的哪个长度的哪个部分存在边缘,并且,可计算将要与其混合的其它像素的位置以及混合系数。
在当前方法中,可识别多少类型的图案对处理质量具有影响。具体说,当两个或更多边缘重叠或变得接近时,有必要找到适合的处理。
由此,当前实施例中,在行扫描时,除了相关行的边缘信息,也可获取多个上边和下边的行的边缘信息。例如,为了找到如图9所示的重叠边缘以及如图10和图11所示的接近边缘的图案并进行适合的处理,有必要同步地查看至少上边两行和下边两行或总共五行的信息。
图12为用于概念性地示出实现上面说明的边缘信息生成和抗锯齿的安装的特定模式的视图。
如图12所示,此抗锯齿系统200具有:z-缓存201;标准矢量缓存202;第一二阶导数电路203,用于通过水平(沿x-方向)扫描z-缓存201获得z-值的二阶导数;第一内积计算电路204,用于得到通过水平(沿x-方向)扫描获得的标准矢量的内积;第一边缘判断电路205,用于基于二阶导数电路203和内积计算电路204的结果进行边缘判断;第一状态机206,用于基于第一边缘判断电路205的判断结果,指明处理中的像素存在于哪个形状的图案的哪个位置;第一计数器207,用于测量从锯齿图案的开始点到改变点(上面和下面的边缘翻转的部分)的长度、以及从改变点到锯齿图案结束时的长度;第二二阶导数电路208,用于通过垂直(沿y-方向)扫描z-缓存201获得z-值的二阶导数;第二内积计算电路209,用于得到通过垂直(沿y-方向)扫描获得的标准矢量的内积;第二边缘判断电路210,用于基于二阶导数电路208和内积计算电路209的结果进行边缘判断;第二状态机211,用于基于第二边缘判断电路210的判断结果,指明处理中的像素存在于哪个格式(format)的图案的哪个位置;第二计数器212,用于测量从锯齿图案的开始点到改变点(上面和下面的边缘翻转的部分)的长度、以及从改变点到锯齿图案结束时的长度;显示缓存213,用于存储完整的计算机图形(CG)图像;显示缓存214,用于在抗锯齿之后存储图像;以及标志寄存器215。
假定图12的抗锯齿系统200从下面作为前提存在的状态开始处理:
1.完成绘制三维计算机图形图像;
2.和绘图一起完成z-缓存201;以及
3.和绘图一起完成标准矢量缓存202。
上面的“缓存”表示每个像素具有的数据的存储器。z-缓存201为上面说明的绘图的副产品,并是在绘图结束的同时被丢弃的原始信息。在当前实施例中,将其重新使用。
对于标准矢量缓存202,可通过计算来从z-缓存201和屏幕坐标恢复标准矢量,于是,当包括该处理时,标准矢量缓存是不必要的。
在图12的抗锯齿系统200中,同步并行地执行垂直扫描和水平扫描。而且,该处理与每个扫描一起进行。
在每个扫描中,在第一和第二二阶导数电路203和208处求出z-值的二阶导数,并且在第一和第二内积计算电路204和209处计算相邻像素的标准矢量的内积。
接下来,第一和第二边缘判断电路205和210基于第一和第二二阶导数电路203和208以及第一和第二内积计算电路204和209的结果,对于x-方向和y-方向的每一个判断相关像素是否位于边缘,并将判断结果发送到状态机206和211。
状态机206和211判断正在处理的像素位于哪个边缘图案的哪个部分,并保留边缘信息。接下来,计数器207和212测量边缘长度。
当一个边缘的图案在该行结束时,状态机206和211以及计数器207和212被清空,执行混合系数的计算、将要混合的其它像素的确定等以回到该行后面的像素,混合每个像素,并将数据写入到用作存储处理后的图像的存储器的显示缓存中。
那时,并行地执行水平扫描的处理和垂直扫描的处理,于是对于每个像素来说,有必要保留指明其它扫描是否已处理了相关像素的1位标志信息。
如果标志不位于标志寄存器215中,则混合缓存213的“完成的CG图像”的像素值,而如果其位于标志寄存器215中,则从缓存214的“抗锯齿后的图像”读出像素值,混合该值,并随后写回该数据。
注意,有时,仅使用z-缓存的信息,而没有标准缓存,且没有标准恢复。
此外,扫描的宽度仅需要为三行,以便检测常规边缘图案,但有必要同步地扫描至少五行,以隔开重叠的边缘等。本发明不排除同步扫描任意行数作为所述多行的可能性。
下面,将给出状态机的一个例子的说明。
这里说明的状态机使用三个变量:“state(状态)”、“count(计数)”、以及“parity(奇偶性)”。
此外,“next#state”指明了该状态采用的下一个值。
在扫描方向上,每次一个像素来进行扫描。在x-方向和y-方向上扫描z-缓存、标准缓存、或边缘信息缓存(表示存储通过扫描z-缓存等而获得的边缘信息的存储器),以通过读取的数据来改变变量“state”。随着计数器的清除,根据变量“state”来确定值的相加和保留。
x-方向扫描的情况
When state==0 if(pixel forming edge in y-direction) next#state=1; count=1; if(pixel forming edge also in x-direction) parity=1; else paity=0; else next#state=0; count=0; When state==1 if(pixel forming edge in y-direction) next#state=1; count=count+1; else next#state=0; if(parity==pixel forming edge in 1&&xdirection) Blending going back by amount of pixels of count when mode=2 if(parity==not edge in 1&&xdirection) Blending going back by amount of pixels of count when mode=1 if(parity==pixel forming edge in 0&&xdirection) Blending going back by amount of pixels of count when mode=0 if(parity==not edge in 0&&xdirection) Nothing done
当通过图来绘制状态机的运动以及混合时,它们成为如图13A到13D所示。
显示的例子为通过在x-方向上的扫描来查看上面和侧面边缘的例子。
向后执行混合,直到当变量状态从1改变到0时的位置为止。
如何求出混合系数
当mode=0时,具有较大的计数的像素的混合系数的值为接近0.5的值。具有较近(较小)的计数的像素的混合值逼近0附近的值。可从各种方法中选择此计算的方法。
上面的例子中,例如,使计数C的像素的混合系数为C/5*0.5的方法为最简单的方法。除此之外,例如图7所示的使梯形的面积为混合系数的方法是可能的。
此时,等式变为如下:
混合系数=0.5*0.5/Len*(Len-C+1)2-(Len-C)2 (17)
在当前例子中,Len为5。
当mode=1时,计数C的相对大小和混合系数变为与当mode=0时的相反。
当mode=2时,即使在从0到0.5的适当值不变,当设置该值以便使中间(此例子中接近C=3)的混合系数时变为稍大时,结果看上去如同自然完成(natural finish)。
注意,这里说明的状态机仅为一个例子。
基本上,状态机在x-方向和y-方向上执行处理。在每个扫描中,提供状态机来感测边缘的形状,并计数像素的数目。作为状态机操作的结果,像素被反向处理。
作为选择或融合x-方向混合和y-方向混合的方法,有可能使用下面的方法:
·在混合之前比较混合系数,并仅对于较大的一个执行处理的方法;
·在混合之前比较混合系数,并仅对于较小的一个执行处理的方法;
·同等地融合两个处理的方法;
·对时间移位的x-方向处理和y-方向处理中的先前的处理给出优先级的方法,此时,用于存储指明对每个像素的处理的1位的存储器成为必要;
·根据混合系数的大小,对时间移位的x-方向处理和y-方向处理中的处理给出优先级的方法,此情况中,用于存储每个像素的混合系数的存储器成为必要;以及
·同等混合时间移位的x-方向处理和y-方向处理的方法,此情况中,用于存储每个像素的混合系数的存储器成为必要。
图14和图15为仅使用z-缓存完成绘图之后的后处理的情况的概念性视图。此情况中,图1的CRT控制电路16通过存储器I/F电路144来访问图形存储器145,以扫描z-缓存,并通过使用z-值信息而将抗锯齿施加到每个像素。
图14示出了这样的情况,其中,通过CRT控制电路16而在存储器上改变作为着色结果的RGB图像,并在之后将其传送到显示器。
图15示出了这样的情况,其中,进行用于将作为着色结果的RGB图像显示在显示器上的光栅扫描,并行且同步地扫描z-缓存并将该数据传送到显示器,并在那时,由CRT控制电路16改变存储器中的图像,并在结束之后,将该数据传送到显示器。
图14和图15均仅使用z-缓存。不使用用于着色的附加处理。将全部处理作为后处理执行。
在边缘信息提取的时间,特别辨别下面两类边缘,并执行不同的处理。
第一处理为彼此相邻的平面的边界的情况中的处理,如图16所示。
第二处理为对象和背景之间的边界的情况中的处理,如图17所示。
z的二阶导数阈值在第一处理和第二处理之间有差异。
第一处理
在第一处理中,精确地求出混合系数。
如图16所示,读出以有关像素为中心的1x5+5x1交叉形状的z-值。
接下来,判断在有关像素和与前者接触的像素之间是否存在彼此相邻的平面的边界的边缘。而且,与此判断同步地计算混合系数。
将二阶导数用于该判断。独立计算该二阶导数,并用于x-方向和y-方向。
此情况中,利用两类阈值。
与此第一处理同步地生成用于第二处理的信息。
图16的例子中,用作混合系数的
s变为如下:
s=(sz3+sz1-2*sz2)/(sd4-sz3-sz2+sz1) (18)
第二处理
读出以有关像素为中心的1xn+nx1交叉的信息。注意,
n为掩模。这里所称的信息表示在第一处理中生成的信息。
当在有关像素和与其接触的像素之间存在对象和背景之间的边界的边缘时,计数掩模中形成边缘的像素的数目。
根据该数目来计算混合系数。
处理流
顺序执行下面的两个循环。
第一循环
在第一循环中,对于所有像素顺序执行下面的处理。
执行与第一处理相关的边缘的边缘提取和混合。由1x5+5x1掩模对所有像素执行此处理。
·在x-和y-方向上为有关像素求出z的二阶导数。
·在x-和y-方向上为有关像素的上、下、左、和右的四个像素求出z的二阶导数。
·在x-和y-方向上检测与第一处理(将zdev和zdev0用作阈值)相关的边缘。
·在x-和y-方向上检测与第二处理(将zdev1用作阈值)相关的边缘。
·通过使用由与第一处理相关的边缘的检测结果来混合,以更新RGB缓存。
·留下一比特,该一比特指明与第二处理相关的边缘检测结果,以及是否在存储器中执行第一处理的混合(对于所有像素)。
第二循环
在第二循环中,对于所有像素顺序执行下面的处理。
执行与第二处理相关的边缘混合。通过1xn+nx1掩模对所有像素执行此过程。…n为掩模长度。
·当查看变量状态时,仅通过掩模在x-方向和y-方向上计数。
·计算四类值。
·从上面四类计数求出混合系数,以执行混合并更新RGB缓存。
此时,如果第一处理混合标志有效(stands),则使混合系数为0。
第一循环和第二循环为独立的循环。
接下来,将给出与图17相关的第二循环的计数的说明。
这里,掩模
n为7。
图中,“Len=min((maskLen-1)/2,L1)”使得可以根据当计数掩模内容时之前,先到达L1的末端还是先到达掩模的末端,来知道最小值(min值)。
图17中,maskLen为7,即这里的
n。
基于图中示出的像素数目,将通过下面的等式求出的值定义为混合系数:
α=(黑色像素数目-Len/(4*(Len+1)) (19)
注意,求出上面给出的系数的方法仅为一个例子。
基本上,该方法包括:对像素分类,以使得对于给定掩模的掩模中的像素,存在尽可能多的混合系数的层次;对它们进行计数;以及通过使用它们来求出这些系数。
接下来,将给出对通过以上配置的操作的说明。这里,仅利用z-缓存。没有用于着色的附加处理。将给出对作为例子的完整后处理的情况的说明。
在三维计算机图形系统10中,通过主总线15,将正在绘制的图形和其它数据从主处理器11的主存储器12、或从外部接收图形数据的I/O接口电路13传递到着色电路14。
注意,根据需要,正在绘制的图形和其它数据在主处理器11等中经过几何处理,如坐标转换、剪切、以及加亮。
几何处理之后的图形数据成为多边形着色数据S11,其包括:与将要绘制的像素对应的顶点坐标,三角形顶点的x、y、和z,亮度值R、G、和B,以及纹理坐标s、t、和q。
随后,将该多边形着色数据S11传送到着色电路14的DDA设定电路141。
基于多边形着色数据S11,DDA设定电路141生成指明三角形的一边和水平方向之间的差异等的改变数据。
具体说,它使用开始点的值、结束点的值、以及它们之间的距离,来计算在单元长度移动情况中将求出的值的改变,并将包括改变数据的设定数据S141输出到三角DDA电路142。
三角DDA电路142使用包括改变数据的设定数据S141来计算三角形内的每个像素的线性插值的(z,R,G,B,α,s,t,q)数据。
接下来,将此计算出的(z,R,G,B,α,s,t,q)数据和三角形的每个顶点的(x,y)数据作为DDA数据S142从三角DDA电路142输出到纹理引擎电路143。
也就是说,基于对多边形的顶点求出的图像参数,三角DDA电路142执行光栅化,用于对包括在多边形内的所有像素的图像参数(z、纹理坐标、颜色等)进行插值。
对于DDA数据S142指明的(s,t,q)数据,纹理引擎电路143执行将
s数据除以
q数据的运算、以及将
t数据除以
q数据的运算。接下来,它将除法结果“s/q”和“t/q”与纹理尺寸USIZE和VSIZE相乘,以生成纹理坐标数据(u,v)。
接下来,纹理引擎电路143将包括生成的纹理坐标数据(u,v)的读取请求输出到存储器I/F电路144,并通过存储器I/F电路144读取在图形存储器145中存储的(R,G,B)数据。
接下来,纹理引擎电路143将读出的(R,G,B)数据的(R,G,B)数据、和在来自前面的三角DDA电路142的DDA数据S142中包括的(R,G,B)数据相乘,以生成像素数据。
将此像素数据从纹理引擎电路143输出到存储器I/F电路144。
接下来,存储器I/F电路144将与从纹理引擎电路143输入的像素数据对应的z-数据和在z-缓存中存储的z-数据相比较,并判断输入像素数据S145绘制的图像是否比先前时间写入到显示缓存的图像定位得更靠近(观看点一边)。
当判断结果为其定位得更近时,由与图像数据对应的z-数据更新存储在z-缓存中的z-数据。
接下来,存储器I/F电路144将(R,G,B)数据写入到图形存储器145的显示缓存。
通过写入系统电路,将要写入(还包括更新)的数据并行地写入到预定的存储器。
存储器I/F电路144通过从现在起将绘制的像素中的纹理地址对存储与该纹理地址对应的纹理数据的图形存储器145的存储块进行计算,将读取请求仅发出到该存储块,并读出纹理数据。
也以与绘图中同样的方式,从存储与下面的像素地址对应的像素数据的存储块的对应地址读出像素数据,其中数据从现在起将要绘制到该像素地址,以便执行修改写入操作,并且在该修改操作之后,将该像素数据写回到同样的地址。
在隐藏平面处理的时间,从存储与下面的像素地址对应的深度数据的存储块的对应地址读出深度数据,其中数据从现在起仍将被绘制到该像素地址,以便执行修改写入操作,并且如果必要,在修改操作之后,将该深度数据写回到同样的地址。
当在未示出的CRT上显示图像时,CRT控制电路16与给出的水平和垂直同步频率同步地生成显示地址,并将传送显示数据的请求发出到存储器I/F电路144。
根据该请求,存储器I/F电路144将一定量的显示数据传送到CRT控制电路16。
CRT控制电路16将显示数据存储在未示出的显示使用FIFO等中,并以恒定的间隔生成RGB的RGB索引值。
CRT控制电路16将关于RGB索引的RGB值存储在其中,并将索引值的RGB值传送到未示出的D/A转换器。
接下来,将在D/A转换器被转换为模拟信号的RGB信号传送到CRT。
此情况中,作为着色结果的RGB图像被CRT控制电路16在存储器上改变,并随后被传送到显示器。另一方面,作为着色结果的RGB图像被光栅扫描用于显示,并且并行且同步地扫描z-缓存,并且在传送到显示器的时候,该图像被CRT控制电路16在存储器上改变,随后被传送到显示器。
当在扫描z-缓存的同时恢复标准矢量时,在通过扫描z-缓存来恢复标准矢量的同时执行边缘判断。
此情况中,同步并行地对例如z-缓存执行垂直扫描和水平扫描。该处理和扫描一起进行。
例如,CRT控制电路16在每个扫描中求出z-值的二阶导数,并计算内部的彼此相邻的像素的标准矢量的内积。
接下来,基于二阶导数的结果以及内积计算的结果,对于x-方向和y-方向的每一个判断有关像素是否位于边缘。将此判断结果发送到例如状态机。
状态机判断正在处理的像素位于边缘的哪个图案的哪个部分,并保留该边缘的信息。接下来,计数器测量边缘长度。
当一个边缘的图案在该行内结束时,状态机和计数器被清零,并且,执行混合系数的计算、将要被混合的其它像素的确定等等,转回到该行之后的像素。
接下来,像素被混合。
将混合后的图像写入到起到存储器作用的显示缓存。
那时,并行地执行水平扫描的处理和垂直扫描的处理,于是为每个像素保留指明是否已对有关像素执行了其它扫描的1位标志信息。
例如,如果标志不位于标志寄存器中,则与缓存“完成的CG图像”的像素值混合。
与此相反,若标志存在,则将像素值从“抗锯齿后的图像”读出,混合,随后写回。
如上面说明的,根据当前实施例,较好地利用三维计算机图形的属性,并有效地使用在绘图时处理的信息,于是变得能够获得极精确的边缘信息。
此外,由于该处理为绘图的后处理,所以存在对于绘图自身所请求的最小附加处理。有时请求附加处理,但即使在该情况中,该处理也不是增加覆盖像素数目的处理,于是不会使绘图速度变慢。
可仅通过当绘制三维计算机图形时总生成的z-缓存的信息来执行该处理,于是需要的存储器的数目不会增加。
当考虑到抗锯齿的使用时,与传统系统相比较,由于可将所有处理作为后处理执行,所以对绘图速度影响很小。此外,可使用精确边缘信息来提取边缘的图案,于是没有对掩模尺寸的限制——例如超采样的技术中的问题,——并且可非常干净地去除邻近水平或垂直直线状(line-like)边缘的锯齿。
注意,在图1示出的三维计算机图形系统10中,举例说明了在主处理器11执行用于生成多边形着色数据的几何处理的情况,但还可采用在着色电路14执行它的配置。
总结本发明的效果,根据本发明,除了原本需要绘制的像素之外的像素,如周围像素,的着色是不必要的,并且,可提取足够精确以能够用于抗锯齿的边缘信息,而不引起绘图速度的下降。
此外,存在这样的优点,其中,可通过较小的存储器来实现精确抗锯齿,同时对绘图顺序没有任何影响,且不引起绘图速度的下降。
尽管已参考为了图示目的而选择的特定实施例描述了本发明,但很显然,在不脱离本发明的基本概念和范围的情况下,可由本领域的技术人员对其做出很多修改。
Claims (16)
1、一种图像处理装置,其在屏幕坐标系的绘图区域内生成像素数据,以执行关于存储器的着色并生成在所述存储器中绘制的图像,同时生成边缘信息,并执行抗锯齿,所述图像处理装置包括:
边缘信息提取部件,用于基于在所述存储器中绘制的预定像素数据来提取所述边缘信息。
2、如权利要求1所述的图像处理装置,其中
在所述存储器中绘制的像素数据包括深度信息,并且
所述边缘信息提取部件求出深度信息的二阶导数,并基于该二阶导数提取边缘信息,其中,作为对存储所述深度信息的所述存储器的深度信息缓存进行扫描的结果,而获得所述深度信息。
3、如权利要求2所述的图像处理装置,其中所述边缘信息提取部件通过与设置的阈值相比较,来估计像素是否位于边缘。
4、如权利要求2所述的图像处理装置,其中,所述边缘信息提取部件扫描所述深度信息缓存,以便在完成了在所述存储器中绘制所述深度信息之后,求出所述深度信息的二阶导数。
5、如权利要求2所述的图像处理装置,其中,所述边缘信息提取部件与在所述存储器中绘制所述深度信息相并行地求出所述深度信息的二阶导数。
6、如权利要求4所述的图像处理装置,其中,只要当预定像素的深度信息值在绘制的时候被更新时,所述边缘信息提取部件就通过对二阶导数具有影响的周围像素的深度信息值,来更新所述像素的二阶导数,并在绘图结束之后,除了深度信息缓存之外,还在所述存储器中形成深度信息的二阶导数的缓存。
7、如权利要求1所述的图像处理装置,其中,在绘制到所述存储器时生成的数据包括每个像素的标准矢量,
在所述存储器中形成存储该标准矢量的标准矢量缓存,以及
所述边缘信息提取部件基于标准矢量来提取边缘信息,其中,作为对存储在所述标准矢量缓存中的像素的标准矢量进行扫描的结果而获得所述标准矢量。
8、如权利要求1所述的图像处理装置,其中,
在所述存储器中绘制的像素数据包括深度信息,以及
所述边缘信息提取部件从深度信息来恢复每个像素的标准矢量,并基于恢复的标准矢量来提取边缘信息,其中,作为对存储所述深度信息以及屏幕坐标的所述存储器的深度信息缓存进行扫描的结果,而获得所述深度信息。
9、如权利要求8所述的图像处理装置,其中,所述边缘信息提取部件扫描所述存储器的深度信息缓存,以恢复标准矢量,并基于该恢复的标准矢量来判断像素是否位于边缘。
10、如权利要求9所述的图像处理装置,其中,在扫描所述存储器的深度信息缓存期间,所述边缘信息提取部件为每个像素取得在中心像素的标准和与该中心像素相邻的像素的标准矢量之间的内积,当该内积值在从预定值设置的阈值范围之内时,则判断它不在边缘,并且当所述内积在该阈值之外时,则判断像素位于边缘。
11、一种图像处理方法,其在屏幕坐标系的绘图区域中生成像素数据,以执行关于存储器的着色并生成在所述存储器中绘制的图像,并同时生成边缘信息并执行抗锯齿,所述图像处理方法包括:
基于在所述存储器中绘制的预定像素数据来提取所述边缘信息的步骤。
12、如权利要求11所述的图像处理方法,其中
在所述存储器中绘制的像素数据包括深度信息,并且
该步骤还包括:扫描存储所述深度信息的所述存储器的深度信息缓存,求出所获得的深度信息的二阶导数,并基于该二阶导数来提取边缘信息。
13、如权利要求12所述的图像处理方法,其中,该步骤在完成了在存储器中绘制该深度信息之后,扫描该深度信息缓存以求出深度信息的二阶导数。
14、如权利要求11所述的图像处理方法,其中,该步骤与在所述存储器中绘制所述深度信息相并行地求出所述深度信息的二阶导数。
15、如权利要求11所述的图像处理方法,其中
在绘制到所述存储器时生成的数据包括每个像素的标准矢量,
在所述存储器中形成存储标准矢量的标准矢量缓存,以及
所述步骤还包括:扫描在所述标准矢量缓存中存储的每个像素的标准矢量,并基于获得的标准矢量来提取边缘信息。
16、如权利要求11所述的图像处理方法,其中
在所述存储器中绘制的像素数据包括深度信息,并且
所述步骤还包括:从深度信息来恢复每个像素的标准矢量,并基于恢复的标准矢量来提取边缘信息,其中,作为对存储所述深度信息以及屏幕坐标的所述存储器的深度信息缓存进行扫描的结果而获得所述深度信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP334201/2003 | 2003-09-25 | ||
JP2003334201A JP2005100176A (ja) | 2003-09-25 | 2003-09-25 | 画像処理装置およびその方法 |
JP334201/03 | 2003-09-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1601562A true CN1601562A (zh) | 2005-03-30 |
CN100399358C CN100399358C (zh) | 2008-07-02 |
Family
ID=34191501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100826889A Expired - Fee Related CN100399358C (zh) | 2003-09-25 | 2004-09-27 | 图像处理装置及其方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20050068326A1 (zh) |
EP (1) | EP1519317B1 (zh) |
JP (1) | JP2005100176A (zh) |
KR (1) | KR20050030569A (zh) |
CN (1) | CN100399358C (zh) |
DE (1) | DE602004003111T2 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100458847C (zh) * | 2005-06-15 | 2009-02-04 | 华为技术有限公司 | 一种数字图像边缘信息提取方法 |
CN101894543A (zh) * | 2010-06-12 | 2010-11-24 | 广东欧珀电子工业有限公司 | 一种用于电纸书阅读器的矢量字体显示方法 |
CN101458916B (zh) * | 2007-12-14 | 2011-09-07 | 深圳迈瑞生物医疗电子股份有限公司 | 波形抗锯齿方法及波形抗锯齿处理装置 |
CN101398940B (zh) * | 2008-11-07 | 2011-12-07 | 北京航空航天大学 | 基于线性光源的真实物体材质反射属性建模方法 |
CN101790749B (zh) * | 2007-08-02 | 2013-01-02 | Ati技术无限责任公司 | 多点采样绘制二维矢量图像 |
CN103390264A (zh) * | 2012-05-11 | 2013-11-13 | 三星电子株式会社 | 用于处理图像的方法及其图像处理设备 |
CN104240189A (zh) * | 2013-06-17 | 2014-12-24 | 富士通株式会社 | 恢复抗锯齿边缘的滤波方法和装置 |
CN106600544A (zh) * | 2016-11-10 | 2017-04-26 | 北京暴风魔镜科技有限公司 | 基于纹理贴图的抗锯齿方法及系统 |
CN106909283A (zh) * | 2016-11-01 | 2017-06-30 | 广州视源电子科技股份有限公司 | 画布显示控制方法和系统 |
CN107346559A (zh) * | 2013-12-12 | 2017-11-14 | 英特尔公司 | 解耦的着色流水线 |
CN107481200A (zh) * | 2017-07-31 | 2017-12-15 | 腾讯科技(深圳)有限公司 | 图像处理方法和装置 |
CN108701235A (zh) * | 2016-01-18 | 2018-10-23 | 超威半导体公司 | 在计算系统中执行抗混叠操作 |
WO2020024394A1 (zh) * | 2018-08-02 | 2020-02-06 | 平安科技(深圳)有限公司 | 背景剔除方法、装置、计算机设备及存储介质 |
CN116594582A (zh) * | 2022-06-22 | 2023-08-15 | 格兰菲智能科技(北京)有限公司 | 图像显示方法、装置、计算机设备和存储介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100682456B1 (ko) * | 2006-02-08 | 2007-02-15 | 삼성전자주식회사 | 렌더링 영역을 최소화하는 3d 그래픽스 데이터의 렌더링방법 및 시스템 |
US20080055327A1 (en) * | 2006-09-06 | 2008-03-06 | Barinder Singh Rai | Highly Efficient Display FIFO |
JP4360410B2 (ja) * | 2007-03-16 | 2009-11-11 | セイコーエプソン株式会社 | 画像処理回路、表示装置及び印刷装置 |
JP5236214B2 (ja) * | 2007-06-11 | 2013-07-17 | 任天堂株式会社 | 画像処理プログラム |
US8081181B2 (en) * | 2007-06-20 | 2011-12-20 | Microsoft Corporation | Prefix sum pass to linearize A-buffer storage |
JP5520286B2 (ja) * | 2008-04-04 | 2014-06-11 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | アンチエイリアシングのためのフィルタ処理方法及び装置 |
KR101615656B1 (ko) * | 2009-04-29 | 2016-04-27 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
Family Cites Families (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6590573B1 (en) * | 1983-05-09 | 2003-07-08 | David Michael Geshwind | Interactive computer system for creating three-dimensional image information and for converting two-dimensional image information for three-dimensional display systems |
US5046108A (en) * | 1987-10-31 | 1991-09-03 | Kabushiki Kaisha Toshiba | Imaging processing method and apparatus suitably used for obtaining shading image |
JPH07118025B2 (ja) * | 1990-06-29 | 1995-12-18 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータ・グラフィックス処理方法及びシステム |
DE69122557T2 (de) * | 1990-06-29 | 1997-04-24 | Philips Electronics Nv | Bilderzeugung |
US5377313A (en) * | 1992-01-29 | 1994-12-27 | International Business Machines Corporation | Computer graphics display method and system with shadow generation |
DE69325886T2 (de) * | 1992-12-24 | 2000-01-05 | Canon Kk | Bildverarbeitungsgerät |
EP0641993B1 (en) * | 1993-09-03 | 1999-06-30 | Canon Kabushiki Kaisha | Shape measuring apparatus |
JP3609189B2 (ja) * | 1995-03-14 | 2005-01-12 | 株式会社リコー | アンチエイリアシング機能を有する画像生成装置 |
US6529196B1 (en) * | 1995-05-01 | 2003-03-04 | 3Dlabs Inc. Led. | Efficient stroking of vectors with arbitrary endpoints |
US5801714A (en) * | 1995-05-01 | 1998-09-01 | Intergraph Corporation | Vertex list management system |
US5852475A (en) * | 1995-06-06 | 1998-12-22 | Compression Labs, Inc. | Transform artifact reduction process |
US5704025A (en) * | 1995-06-08 | 1997-12-30 | Hewlett-Packard Company | Computer graphics system having per pixel depth cueing |
US5651106A (en) * | 1995-06-08 | 1997-07-22 | Hewlett-Packard Company | Method and apparatus for vertex sorting in a computer graphics system |
US6005580A (en) * | 1995-08-22 | 1999-12-21 | Micron Technology, Inc. | Method and apparatus for performing post-process antialiasing of polygon edges |
US5734753A (en) * | 1995-08-31 | 1998-03-31 | Hewlett-Packard Company | Partial pixel encoding and decoding method |
US6348919B1 (en) * | 1995-12-18 | 2002-02-19 | 3Dlabs Inc, Ltd. | Graphics system with optimized use of unified local and frame buffers |
JP3645024B2 (ja) * | 1996-02-06 | 2005-05-11 | 株式会社ソニー・コンピュータエンタテインメント | 描画装置及び描画方法 |
US5988862A (en) * | 1996-04-24 | 1999-11-23 | Cyra Technologies, Inc. | Integrated system for quickly and accurately imaging and modeling three dimensional objects |
US5966134A (en) * | 1996-06-28 | 1999-10-12 | Softimage | Simulating cel animation and shading |
US5767857A (en) * | 1996-08-30 | 1998-06-16 | Pacific Data Images, Inc. | Method, apparatus, and software product for generating outlines for raster-based rendered images |
JPH10276455A (ja) * | 1997-03-28 | 1998-10-13 | Sony Corp | 映像表示方法および映像表示装置 |
US5995115A (en) * | 1997-04-04 | 1999-11-30 | Avid Technology, Inc. | Computer system process and user interface for providing intelligent scissors for image composition |
JP3733207B2 (ja) * | 1997-06-16 | 2006-01-11 | キヤノン株式会社 | 多面体生成方法、多面体生成装置、記録媒体およびカラー画像処理装置 |
JP3688879B2 (ja) * | 1998-01-30 | 2005-08-31 | 株式会社東芝 | 画像認識装置、画像認識方法及びその記録媒体 |
US6097400A (en) * | 1998-06-01 | 2000-08-01 | Ati Technologies, Inc. | Method and apparatus for anti-aliasing post rendering of an image |
WO1999063488A1 (fr) * | 1998-06-02 | 1999-12-09 | Sony Corporation | Dispositif et procede de traitement d'images |
US6771264B1 (en) * | 1998-08-20 | 2004-08-03 | Apple Computer, Inc. | Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor |
GB2343598B (en) * | 1998-11-06 | 2003-03-19 | Videologic Ltd | Image processing apparatus |
US6373489B1 (en) * | 1999-01-12 | 2002-04-16 | Schlumberger Technology Corporation | Scalable visualization for interactive geometry modeling |
US6747642B1 (en) * | 1999-01-29 | 2004-06-08 | Nintendo Co., Ltd. | Method and apparatus for providing non-photorealistic cartoon outlining within a 3D videographics system |
US6259803B1 (en) * | 1999-06-07 | 2001-07-10 | The United States Of America As Represented By The Secretary Of The Navy | Simplified image correlation method using off-the-shelf signal processors to extract edge information using only spatial data |
US6407736B1 (en) * | 1999-06-18 | 2002-06-18 | Interval Research Corporation | Deferred scanline conversion architecture |
US6429877B1 (en) * | 1999-07-30 | 2002-08-06 | Hewlett-Packard Company | System and method for reducing the effects of aliasing in a computer graphics system |
US6801654B2 (en) * | 2000-01-14 | 2004-10-05 | Sony Corporation | Picture processing apparatus, method and recording medium for a natural expansion drawing |
US6490526B2 (en) * | 2000-03-20 | 2002-12-03 | Exxonmobil Upstream Research Company | Method for characterization of multi-scale geometric attributes |
US6828983B1 (en) * | 2000-05-12 | 2004-12-07 | S3 Graphics Co., Ltd. | Selective super-sampling/adaptive anti-aliasing of complex 3D data |
US6633297B2 (en) * | 2000-08-18 | 2003-10-14 | Hewlett-Packard Development Company, L.P. | System and method for producing an antialiased image using a merge buffer |
JP4150947B2 (ja) * | 2000-08-23 | 2008-09-17 | ソニー株式会社 | 画像処理装置および方法、並びに記録媒体 |
US6567099B1 (en) * | 2000-11-15 | 2003-05-20 | Sony Corporation | Method and system for dynamically allocating a frame buffer for efficient anti-aliasing |
US7205993B2 (en) * | 2001-02-15 | 2007-04-17 | Sony Corporation | Checkerboard buffer using two-dimensional buffer pages and using memory bank alternation |
JP4164272B2 (ja) * | 2001-04-24 | 2008-10-15 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
US7286138B2 (en) * | 2001-05-08 | 2007-10-23 | Microsoft Corporation | Discontinuity edge overdraw |
US6919906B2 (en) * | 2001-05-08 | 2005-07-19 | Microsoft Corporation | Discontinuity edge overdraw |
US7057615B2 (en) * | 2001-06-28 | 2006-06-06 | Microsoft Corporation | Method and system for representing and displaying digital ink |
US7050649B2 (en) * | 2001-07-23 | 2006-05-23 | Micron Technology, Inc. | Suppression of ringing artifacts during image resizing |
TW544635B (en) * | 2001-10-16 | 2003-08-01 | Ulead Systems Inc | Anti-alias method for Z-directional convergence |
JP2003126045A (ja) * | 2001-10-22 | 2003-05-07 | Olympus Optical Co Ltd | 診断支援装置 |
US7024027B1 (en) * | 2001-11-13 | 2006-04-04 | Koninklijke Philips Electronics N.V. | Method and apparatus for three-dimensional filtering of angiographic volume data |
US6842638B1 (en) * | 2001-11-13 | 2005-01-11 | Koninklijke Philips Electronics N.V. | Angiography method and apparatus |
US7034820B2 (en) * | 2001-12-03 | 2006-04-25 | Canon Kabushiki Kaisha | Method, apparatus and program for processing a three-dimensional image |
US6980937B2 (en) * | 2001-12-07 | 2005-12-27 | International Business Machines Corporation | Method and system for quantifying the step profile characteristics semiconductor features using surface analysis data |
US6903741B2 (en) * | 2001-12-13 | 2005-06-07 | Crytek Gmbh | Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene |
JP4079410B2 (ja) * | 2002-02-15 | 2008-04-23 | 株式会社バンダイナムコゲームス | 画像生成システム、プログラム及び情報記憶媒体 |
US20040217956A1 (en) * | 2002-02-28 | 2004-11-04 | Paul Besl | Method and system for processing, compressing, streaming, and interactive rendering of 3D color image data |
US7251347B2 (en) * | 2002-04-09 | 2007-07-31 | The Escher Group, Ltd. | System and method for authentication of a workpiece using three dimensional shape recovery |
JP2004070793A (ja) * | 2002-08-08 | 2004-03-04 | Ge Medical Systems Global Technology Co Llc | 3次元空間フィルタ装置および方法 |
US7239314B2 (en) * | 2002-08-29 | 2007-07-03 | Warner Bros. Animation | Method for 2-D animation |
DE60325536D1 (de) * | 2002-09-20 | 2009-02-12 | Nippon Telegraph & Telephone | Vorrichtung zum Erzeugen eines pseudo-dreidimensionalen Bildes |
US6937776B2 (en) * | 2003-01-31 | 2005-08-30 | University Of Chicago | Method, system, and computer program product for computer-aided detection of nodules with three dimensional shape enhancement filters |
US20040174379A1 (en) * | 2003-03-03 | 2004-09-09 | Collodi David J. | Method and system for real-time anti-aliasing |
US7142726B2 (en) * | 2003-03-19 | 2006-11-28 | Mitsubishi Electric Research Labs, Inc. | Three-dimensional scene reconstruction from labeled two-dimensional images |
DE10313510B4 (de) * | 2003-03-25 | 2007-01-11 | Siemens Ag | Rechnergestütztes Ermittlungsverfahren für von einer Blende in einem Bild hervorgerufene Blendenkanten, hiermit korrespondierender Datenträger und hiermit korrespondierender Rechner |
KR100528343B1 (ko) * | 2003-07-14 | 2005-11-15 | 삼성전자주식회사 | 3차원 객체의 영상 기반 표현 및 편집 방법 및 장치 |
JP2005100177A (ja) * | 2003-09-25 | 2005-04-14 | Sony Corp | 画像処理装置およびその方法 |
US20060103663A1 (en) * | 2004-06-23 | 2006-05-18 | Collodi David J | Method and system for real-time anti-aliasing using fixed orientation multipixels |
US20060082593A1 (en) * | 2004-10-19 | 2006-04-20 | Microsoft Corporation | Method for hardware accelerated anti-aliasing in 3D |
KR100571846B1 (ko) * | 2004-12-16 | 2006-04-17 | 삼성전자주식회사 | 3차원 영상의 계층적 구조에 기반한 적응적 랜더링 장치및 방법과 그 방법을 수행하기 위한 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록매체 |
KR100703709B1 (ko) * | 2005-06-02 | 2007-04-06 | 삼성전자주식회사 | 그래픽스 처리장치와 처리방법, 및 그 기록 매체 |
US8384763B2 (en) * | 2005-07-26 | 2013-02-26 | Her Majesty the Queen in right of Canada as represented by the Minster of Industry, Through the Communications Research Centre Canada | Generating a depth map from a two-dimensional source image for stereoscopic and multiview imaging |
-
2003
- 2003-09-25 JP JP2003334201A patent/JP2005100176A/ja active Pending
-
2004
- 2004-09-14 EP EP04255552A patent/EP1519317B1/en not_active Expired - Fee Related
- 2004-09-14 DE DE602004003111T patent/DE602004003111T2/de not_active Expired - Fee Related
- 2004-09-23 US US10/947,760 patent/US20050068326A1/en not_active Abandoned
- 2004-09-23 KR KR1020040076229A patent/KR20050030569A/ko not_active Application Discontinuation
- 2004-09-27 CN CNB2004100826889A patent/CN100399358C/zh not_active Expired - Fee Related
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100458847C (zh) * | 2005-06-15 | 2009-02-04 | 华为技术有限公司 | 一种数字图像边缘信息提取方法 |
CN101790749B (zh) * | 2007-08-02 | 2013-01-02 | Ati技术无限责任公司 | 多点采样绘制二维矢量图像 |
CN101458916B (zh) * | 2007-12-14 | 2011-09-07 | 深圳迈瑞生物医疗电子股份有限公司 | 波形抗锯齿方法及波形抗锯齿处理装置 |
CN101398940B (zh) * | 2008-11-07 | 2011-12-07 | 北京航空航天大学 | 基于线性光源的真实物体材质反射属性建模方法 |
CN101894543A (zh) * | 2010-06-12 | 2010-11-24 | 广东欧珀电子工业有限公司 | 一种用于电纸书阅读器的矢量字体显示方法 |
CN103390264A (zh) * | 2012-05-11 | 2013-11-13 | 三星电子株式会社 | 用于处理图像的方法及其图像处理设备 |
CN104240189B (zh) * | 2013-06-17 | 2017-05-24 | 富士通株式会社 | 恢复抗锯齿边缘的滤波方法和装置 |
CN104240189A (zh) * | 2013-06-17 | 2014-12-24 | 富士通株式会社 | 恢复抗锯齿边缘的滤波方法和装置 |
CN107346559A (zh) * | 2013-12-12 | 2017-11-14 | 英特尔公司 | 解耦的着色流水线 |
CN107346559B (zh) * | 2013-12-12 | 2020-12-29 | 英特尔公司 | 解耦的着色流水线 |
US10970917B2 (en) | 2013-12-12 | 2021-04-06 | Intel Corporation | Decoupled shading pipeline |
US11875453B2 (en) | 2013-12-12 | 2024-01-16 | Intel Corporation | Decoupled shading pipeline |
CN108701235A (zh) * | 2016-01-18 | 2018-10-23 | 超威半导体公司 | 在计算系统中执行抗混叠操作 |
CN108701235B (zh) * | 2016-01-18 | 2022-04-12 | 超威半导体公司 | 在计算系统中执行抗混叠操作 |
CN106909283A (zh) * | 2016-11-01 | 2017-06-30 | 广州视源电子科技股份有限公司 | 画布显示控制方法和系统 |
CN106600544A (zh) * | 2016-11-10 | 2017-04-26 | 北京暴风魔镜科技有限公司 | 基于纹理贴图的抗锯齿方法及系统 |
CN107481200A (zh) * | 2017-07-31 | 2017-12-15 | 腾讯科技(深圳)有限公司 | 图像处理方法和装置 |
WO2020024394A1 (zh) * | 2018-08-02 | 2020-02-06 | 平安科技(深圳)有限公司 | 背景剔除方法、装置、计算机设备及存储介质 |
CN116594582A (zh) * | 2022-06-22 | 2023-08-15 | 格兰菲智能科技(北京)有限公司 | 图像显示方法、装置、计算机设备和存储介质 |
CN116594582B (zh) * | 2022-06-22 | 2024-03-22 | 格兰菲智能科技(北京)有限公司 | 图像显示方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
DE602004003111D1 (de) | 2006-12-21 |
DE602004003111T2 (de) | 2007-06-21 |
EP1519317B1 (en) | 2006-11-08 |
KR20050030569A (ko) | 2005-03-30 |
CN100399358C (zh) | 2008-07-02 |
US20050068326A1 (en) | 2005-03-31 |
JP2005100176A (ja) | 2005-04-14 |
EP1519317A1 (en) | 2005-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1674049A (zh) | 图像处理装置及其方法 | |
CN1601562A (zh) | 图像处理装置及其方法 | |
CN1131495C (zh) | 特征信息赋予方法及装置 | |
CN1653487A (zh) | 具有边绘制单元的图形引擎以及合并有该图形引擎的电子装置及存储器 | |
CN101046883A (zh) | 图形绘制设备 | |
CN1048347C (zh) | 自适应浓淡的方法和设备 | |
CN1158854C (zh) | 图像处理装置和图像处理方法 | |
CN1258909C (zh) | 动图象合成装置 | |
CN100345439C (zh) | 视频处理装置、视频处理方法和计算机程序 | |
CN1238819C (zh) | 三维字符生成设备及三维图形数据生成设备 | |
CN1213592C (zh) | 采用自适应二值化的图象处理方法和设备 | |
CN1126025C (zh) | 窗口显示装置 | |
CN1835022A (zh) | 使用3d模型生成2d过渡 | |
CN101065784A (zh) | 计算机图形处理 | |
CN1293518C (zh) | 具有割截与支援框线模式的三角形描绘方法与装置 | |
CN1339764A (zh) | 用于图形系统的再循环浓淡树混合器 | |
CN1111464A (zh) | 图像处理装置及其方法和带图像处理装置的电子装置 | |
CN1845178A (zh) | 使用各向异性纹理映射的图像绘制方法和图像绘制设备 | |
CN1610412A (zh) | 图像处理装置和图像处理方法以及程序 | |
CN1684491A (zh) | 图像处理装置、图像投影装置、图像处理方法和程序 | |
CN1947152A (zh) | 图像处理方法和设备、记录介质、及程序 | |
CN1754384A (zh) | 图像处理装置和方法、学习装置和方法、记录介质以及程序 | |
CN1924931A (zh) | 视频绘制装置及方法 | |
CN1510656A (zh) | 显示装置、显示方法和显示程序 | |
CN1253652A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080702 Termination date: 20091027 |