CN1674049A - 图像处理装置及其方法 - Google Patents
图像处理装置及其方法 Download PDFInfo
- Publication number
- CN1674049A CN1674049A CNA2004101037635A CN200410103763A CN1674049A CN 1674049 A CN1674049 A CN 1674049A CN A2004101037635 A CNA2004101037635 A CN A2004101037635A CN 200410103763 A CN200410103763 A CN 200410103763A CN 1674049 A CN1674049 A CN 1674049A
- Authority
- CN
- China
- Prior art keywords
- pixel
- information
- normal vector
- aliasing
- storer
- 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.)
- Pending
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/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
- 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/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- 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
-
- 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)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Image Generation (AREA)
Abstract
一种图像处理装置,能够使用小存储器来实现精确的抗混叠,而不被绘制顺序影响,并且不引起绘制速度的下降,所述装置包括抗混叠系统,用于在绘制后从图像获得边缘信息,确定抗混叠所需要的处理内容,并且执行确定的处理。具体上,扫描z缓冲器的信息和在绘制时获得的每个像素的法向矢量的信息的任何一个或两者,或者使用从z缓冲器的信息恢复的法向矢量的信息,规定了用于保存状态的状态机和用于测量边缘的连续性的计数器,确定与在每个边缘上的每个像素在什么方向上接近的哪个像素的值和使用何种比率来混合,并且使用所确定的值来混合。这个连续地被执行,直到更新了像素值。
Description
技术领域
本发明涉及一种图像处理装置及其方法,所述图像处理装置通过单位图形的合成来表达模型,在屏幕坐标系的绘图区域中产生像素数据,相对于存储器来进行绘制(rendering),并且当产生图像时产生边缘信息和执行抗混叠。
背景技术
近来,随着计算机系统中的操作速度的改善和绘图功能的加强,使用计算机资源来准备和处理图形和图像的“计算机图形(CG)”技术一直是积极研发的主题,并且已经进入实用。
例如,当三维对象被预定光源照亮时,三维图形通过数学模型来表达光学现象,根据这个模型来向对象表面增加阴影或层次,并且进一步附加图案以产生更逼真的和像三维似的二维高清晰度图像。在科学、工程和制造中的开发领域中和其他各种应用领域中,这样的计算机图形已经变得越来越多地用于CAD/CAM。
三维图形处理一般由作为前端而定位的“几何子系统”和作为后端而定位的“光栅子系统”组成。
所述“几何子系统”表示在显示屏幕上显示的三维对象的位置、姿态等的几何处理的步骤。在几何子系统中,一般,一个对象被作为一组大量的多边缘形。以多边缘形为单位来执行几何处理,诸如“坐标转换”、“剪裁”和“光源计算”。
另一方面,所述“光栅子系统”表示为形成对象的像素上色的步骤。通过根据例如对于多边缘形的每个顶点得到的图像参数来内插在一个多边缘形内包括的所有像素的图像参数而实现光栅化。在此所指的图像参数包括由所谓的RGB格式表达的颜色(绘图颜色)数据、用于表达在深度方向中的距离的z值等。而且,在近来的高清晰度三维图形处理中,用于促进透视感的
f(雾)和用于表达材料感的或对象表面的图案以赋予真实感的纹理
t也被包括作为图像参数。
在此,经常通过使用被称为“数字微分分析器(DDA)”的线性内插技术来执行根据多边缘形的顶点信息产生在多边缘形内的像素的处理。在DDA处理中,从顶点信息来发现数据相对于多边缘形的侧向的倾斜角,通过使用这个倾斜角来计算在所述侧上的数据,计算光栅扫描方向(X方向)的倾斜角,并且向扫描的起点的参数值加上从这个倾斜角发现的参数的改变量,从而产生内部的像素。
而且,在三维计算机图形中,当确定对应于每个像素的颜色时,执行绘制以计算每个像素的颜色,并且向对应于所述像素的显示缓冲器(帧缓冲器)的地址写入这个所计算的颜色的值。
由这样的计算机图形产生的图像被抗混叠或否则处理,以便提高视觉分辨率,原因是出现了直线不连续、多边缘形边缘和颜色的边缘界这样的混叠效果。边缘信息的提取对于抗混叠变得必要。
传统上,边缘提取方法包括用于仅仅通过过滤来从所产生的画面中提取边缘的方法、通过以轮廓来绘制多边缘形而提取边缘的方法等。而且,抗混叠的技术包括超采样方法、用于发现每个像素的覆盖度的方法等。
总结本发明要解决的问题,所述用于仅仅通过过滤来提取边缘的方法不利用由三维计算机图形产生的图像的优点,即,在产生图像时有益数据被产生等,因此获得特定程度的边缘信息,但是不能获得能够用于抗混叠的足够精确的边缘信息。
在所述以轮廓来绘制多边缘形而提取边缘的方法中,以多边缘形为单位来绘制所有的周围的边缘,因此,除了固有的必须绘制的像素(诸如周围像素)之外的像素的绘制是必要的。在那个部分,引发了绘制速度的下降。而且,所绘制的多边缘形的多数边缘不是所绘制的对象的边缘并且被其他多边缘形重写,因此变得无用。
而且,被用作抗混叠技术的所述超采样方法是一种用于绘制大量点并且然后应用低通滤波器(LPF)的方法。在这种方法中,如果提高采样的数量,则质量被改善那个程度,但是对于那个数量需要大存储器。而且,当提高采样数量时,需要绘制那个数量,因此也使得绘制速度严重减小。
而且,使用用于发现每个像素的覆盖度的方法,与超采样技术相比较,成为必要的存储器的大小更小,但是绘制顺序具有大影响,因此如果多边缘形的绘制顺序差则不能执行正确的抗混叠,因此Z类(Z-sort)技术成为必要的。而且,即使使用Z类,也存在问题:背景持续地保留等。例如,这样的问题出现在三角扇形的中心。
发明内容
本发明的第一目的是提供一种图像处理装置和方法,用于进行除了固有的必须绘制的像素之外的周围像素的不必要的绘制,并且能够提取足够精确的边缘信息,以便能够为抗混叠所利用而不引发绘制速度的降低。
本发明的第二目的是提供一种图像处理装置和方法,它能够不受绘制顺序影响而实现精确的抗混叠,并且不引发绘制速度的降低。
为了实现上述目的,按照本发明的第一方面,提供了一种图像处理装置,用于产生在屏幕坐标系的绘制区域内的像素数据以相对于存储器执行绘制,并且产生在存储器中绘制的图像,并且此时,产生边缘信息和执行抗混叠,所述装置包括:边缘信息提取部件,用于根据在存储器中绘制的预定像素数据来提取边缘信息;以及抗混叠部件,用于根据通过边缘信息提取部件获得的边缘信息来确定抗混叠所需要的处理的内容,并且执行所确定的处理。
最好,抗混叠部件确定用于与每个边缘上的像素混合的邻接像素和混合比,并且根据所确定的像素和比率来执行混合。
最好,抗混叠部件包括:第一部件,用于从所述边缘信息检测正在被处理的像素在混叠图案的什么形状的什么位置;第二部件,用于测量从所检测的混叠图案的开始到边缘转向的改变点的长度和从所述改变点到混叠图案结束的位置的长度,并且计算根据从第一部件和第二部件获得的信息来计算要混合的像素的位置和混合系数。
最好,在所述存储器中绘制的像素数据包括深度信息,以及所述边缘信息提取部件发现扫描作为存储深度信息的存储器的深度信息缓冲器的结果而获得的深度信息的第二微分(differentiation),并且根据第二微分来提取边缘信息。
最好,在向存储器绘制时产生的数据包括每个像素的法向矢量,在存储器中形成用于存储所述法向矢量的法向矢量缓冲器,以及所述边缘信息提取部件根据作为扫描在法向矢量缓冲器中存储的像素的法向矢量的结果而获得的法向矢量来提取边缘信息。
最好,在所述存储器中绘制的像素数据包括深度信息,以及所述边缘信息提取部件从作为扫描存储深度信息的存储器的深度信息缓冲器的结果而获得的深度信息和屏幕坐标来恢复每个像素的法向矢量,并且根据所恢复的法向矢量来提取边缘信息。
最好,所述边缘信息提取部件提取接近被检查的线的多条线的边缘信息。
按照本发明的第二方面,提供了一种图像处理方法,用于产生在屏幕坐标系的绘制区域内的像素数据以相对于存储器执行绘制,并且产生在存储器中绘制的图像,并且此时,产生边缘信息和执行抗混叠,所述方法包括:第一步骤,用于根据在存储器中绘制的预定像素数据来提取边缘信息;以及第二步骤,用于根据在第一步骤获得的边缘信息来确定抗混叠所需要的处理的内容,并且执行所确定的处理。
按照本发明,在边缘信息提取部件结束在存储器中绘制深度信息后,扫描深度信息缓冲器,并且通过扫描获得深度信息的第二微分。
然后,通过比较所设置的阈值和所发现的第二微分来评估像素是否在边缘上。
即,按照本发明,在例如通过使用在三维计算机图形的普通绘制时原来需要的信息而绘制后提取边缘信息,所述边缘信息当被绘制时保持作为信息,但是传统上在其后不被使用,诸如深度(z)缓冲器的信息。
而且,按照本发明,在三维计算机图形的普通绘制中不保留的信息,诸如每个像素的法向矢量的信息,被保留和在以后的阶段中使用,或者在以后阶段提取边缘所需要的信息在绘制时被形成和保留。
而且,在抗混叠部件中,确定接合在哪个方向中的邻接边缘上的每个像素的哪个像素的值和混合比,并且通过所确定的值来执行混合。
附图说明
通过下面说明参照附图给出的优选实施例,本发明的这些和其他目的和特征将会变得更加清楚,其中:
图1是按照本发明的形成图像处理装置的三维计算机图像系统的系统结构的视图;
图2A和2B是用于说明按照本实施例的z值的第二微分的视图;
图3A-3C是用于说明按照本实施例的z缓冲器的扫描操作的视图;
图4是用于说明按照本实施例的通过使用z值来恢复法向矢量的方法的视图;
图5A-5D是用于说明按照本实施例的用于使用法向矢量的方法的视图;
图6A-6D是示出需要抗混叠的边缘的最一般图案的视图;
图7是用于说明按照本实施例的在抗混叠中的混合操作的视图;
图8是用于说明按照本实施例的混叠图案的搜索方法的视图;
图9是用于说明按照本实施例的一种方法的视图,所述方法用于在线扫描时也获得除了所关心的边缘之外的多个上下线的边缘信息时发现重叠的边缘图案,并且适当地处理它们;
图10是用于说明按照本实施例的一种方法的视图,所述方法用于在线扫描时也获得除了所关心的边缘之外的多个上下线的边缘信息时发现靠近边缘的图案,并且适当地处理它们;
图11是用于说明按照本实施例的一种方法的视图,所述方法用于当在线扫描时也获得除了所关心的边缘之外的多个上下线的边缘信息时发现靠近边缘的图案,并且适当地处理它们;
图12是用于在概念上示出按照本实施例的抗混叠系统的结构示例的视图;
图13A-13D是用于用图解法示出按照本实施例的状态机的运动和混合的视图;
图14是示出下述情况的视图,即,改变作为绘制结果的RGB图像的存储器上的图像,并且在结束后向显示器传送它;
图15是示出下述情况的视图,即,光栅扫描以在显示器上显示作为绘制结果的RGB图像,并且与此并行和同步,也扫描z缓冲器,并且在向显示器传输时,改变在存储器上的图像,并且在结束后将其传送到显示器;
图16A-16E是用于说明相邻平面的边缘界的情况的边缘提取的视图;和
图17A-17D是用于说明在对象和背景之间的边缘界的情况的边缘提取的视图。
具体实施方式
下面,在本实施例中,将说明被应用到个人计算机等的三维计算机图形系统,用于高速在阴极射线管(CRT)或其他显示器上显示任何对象模型的期望三维图像。
图1是按照本发明的形成图像处理装置的三维计算机图形系统10的系统配置的视图。
三维计算机图形系统10是这样的一种系统,用于将三维模型表达为作为单位图形的三角形(多边缘形)的组合,绘制这些多边缘形以确定显示屏幕的每个像素的颜色,并且在显示器上显示所述结果,即多边缘形绘制。
而且,三维计算机图形系统10使用除了用于在平面上表达位置的(x,y)坐标之外的表达深度的z坐标,以便表达三维对象,并且通过三个(x,y,c)坐标来指定在三维空间中的任何点。
而且,三维计算机图形系统10对于由计算机图形产生的图像执行诸如抗混叠的图像处理。在这种情况下,在计算机图形(CG)图像的产生步骤中产生当普通地处理图像时不能使用的大量有益信息。在本实施例中,示出了一种用于重新使用或处理这种有益信息以精确地提取边缘信息的方法,所述边缘信息指示一个在图像中的对象的边缘界或方向突变的表面。
本实施例包括两种方法。下面将说明细节。
第一种方法是使用一种信息的方法,所述信息是在三维计算机图形的普通绘制时原来需要的信息,并且当绘制时保持为信息,但是传统上在其后不被使用,诸如缓冲器的信息,以便在绘制后提取边缘信息。z缓冲器的信息通过三维计算机图形以及颜色信息被绘制,但是传统上当向以后阶段传送颜色信息以使用时,放弃z信息(z值)而在其后不使用它。在本实施例中,在以后阶段中重新使用z缓冲器的信息。
第二种方法是这样一种方法,它用于保持一种信息,所述信息在三维计算机图形的普通绘制中不保留,例如每个像素的法向矢量的信息和多边缘形的倾斜角的信息,所述方法在以后阶段中使用它,第二种方法或者是用于形成在以后阶段中的边缘提取所需要的信息并且将其保留的方法。这种方法也可以被解释为在向以后阶段指示应当做什么的意义上绘制“指令”或“操作代码”。所述信息是三维计算机图形特有的信息。它也可以说是这样的一种技术,用于有效地处理和向以后阶段传送在绘制时提供的信息,以便可以在以后阶段的图像处理中使用它。
在使用z缓冲器的方法中,第二微分以像素为单位而计算,并且用于边缘提取。
在使用法向矢量的方法中,以像素为单位来计算相邻像素的法向矢量的内积,并且根据像素的大小来判断它是否是在边缘上。
而且,可以使用这样一种方法,用于通过使用像素的屏幕坐标仅仅从z缓冲器的信息和使用同样的恢复在每个像素中的法向矢量的信息。
而且,也可以使用这样一种方法,用于使用诸如超采样的技术来仅仅用于由这种技术得到的边缘部分。
而且,三维计算机图形系统10当执行抗混叠时不像一般使用的技术那样在绘制时不计算和存储每个像素的覆盖度。它也不使用诸如多采样和超采样的技术。
即,三维计算机图形系统10在产生计算机图形图像结束后执行作为后处理的抗混叠。
在产生计算机图形图像结束后作为后处理提取边缘,并且通过使用边缘信息来执行抗混叠。
从边缘信息得到边缘的图案,并且按照所述图案来处理像素。在本实施例中,不仅混合在所写入的像素周围的像素,而且混合对象和背景。甚至有时混合在覆盖度上为100%的写入的像素。
在图案提取时,可以通过使用状态机和计数器来处理线性长的边缘。
作为边缘的图案,仅仅处理需要抗混叠的图案。而且,处理具有重叠边缘的图案。
在本实施例中,也示出了一种安装方法,用于以像素为单位扫描z缓冲器等的信息,并且同时继续进行抗混叠。
必要的处理如下:
1)从绘制后的图像恢复屏幕坐标中x方向和y方向的边缘信息。
2)从所获得的边缘信息确定抗混叠所需要的处理内容。
3)执行所确定的处理。
在本实施例中,使用一种技术,用于通过下述方式来向像素应用抗混叠,即,扫描在绘制时获得的z缓冲器的信息或在每个像素中的法向矢量的信息或这两种信息,或者使用从z缓冲器的信息恢复的法向矢量的信息。
在每种扫描中,指定了一种状态机,它作为第一部件,用于保存状态;计数器,作为第二部件,用于测量边缘的连续性。使用这两种器件,确定将每个边缘上的像素以何比率与在哪个方向上相邻的像素的像素值混合。
然后,使用所确定的值来用于所述混合。这在扫描期间连续地被执行,直到更新了像素值。
按照这种方法,为了抗混叠而增加的存储量可以保持为小,并且不增加在绘图时降低性能的处理。
下面,将连续地说明如上所述配置的三维计算机图形系统10的部件的特定结构和功能。
如图1所示,三维计算机图形系统10包括经由主总线15连接的主处理器11、主存储器12、输入/输出接口电路13和绘制电路14。绘制电路14连接到CRT控制电路16。注意在图1中,CRT控制电路16被提供在绘制电路14之外,但是也可以使用在绘制电路14中提供同样的配置。
在这些部件中,绘制电路14和/或CRT控制电路16构成本发明的边缘信息提取部件和抗混叠部件。
下面,将说明部件的功能。
主处理器11按照进展的状态等来从主存储器12读出必要的图形数据,并且相对于这个图形数据执行几何处理等,诸如坐标转换、剪裁和照亮,以产生多边缘形绘制数据。
主处理器11经由主总线15向绘制电路14输出多边缘形绘制数据S11。
输入/输出接口电路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)设置电路141,作为用于线性内插操作的初始设置操作块;三角DDA电路142,作为线性内插处理块;纹理引擎电路143;存储器接口(I/F)电路144;和图形存储器145,例如被DRAM配置。通过纹理引擎电路143和存储器接口(I/F)电路144来配置处理电路。
在线性内插在物理坐标系上的三角的顶点的值以在后面的三角DDA电路142中得到三角内的每个像素的颜色信息和深度信息之前,DDA设置电路141得到在三角的一侧和水平方向之间的差等,以用于由多边缘形绘制数据S11指示的(z,R,G,B,α,s,t,q)的数据,即用于设置操作。
这种设置操作具体上使用起点的值、终点的值和在起点和终点之间的距离来计算在单位长度运动情况下的要发现的值的变化量。
DDA设置电路141向三角DDA电路142输出设置数据S141来作为关于图元的信息,其中包括所计算的变化数据。
三角形的每组顶点数据包括16比特的例如x和y坐标、24比特的z坐标、12(=8+4)比特的RGB颜色值和32比特的浮点十进制值(IEEE格式)的s、t、q纹理坐标。
三角DDA电路142根据作为从DDA设置电路141输入的包括变化数据的、关于图元的信息的设置数据S141来计算在三角形内的像素的线性内插(z,R,G,B,α,s,t,q)数据。
三角DDA电路142向纹理引擎电路143输出每个像素的(x,y)数据和在(x,y)坐标的(z,R,G,B,α,s,t,q)数据来作为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)。同时执行对于8个像素的相除“s/q”和“t/q”。而且,也可能安装所述电路以便从在8个像素中的代表点执行内插操作。
而且,纹理引擎电路143将相除结果“s/q”和“t/q”与纹理大小USIZE和VSIZE相乘以产生纹理坐标数据(u,v)。
而且,纹理引擎电路143经由存储器I/F电路向图形存储器145输出包括所产生的纹理坐标数据(u,v)的读取请求,并且经由存储器I/F电路读取在图形存储器145中包括的纹理缓冲器中存储的纹理数据,以由此获得在对应于(s,t)数据的纹理地址存储的(R,G,B)数据。
纹理引擎电路143通过将所读出的(R,G,B)数据和在来自前面的三角DDA电路142的DDA数据S142中包括的(R,G,B)数据相乘等来产生像素数据。
纹理引擎电路143最后向存储器I/F电路144输出这个像素数据来作为像素的色彩值。
注意,在图形存储器145中包括的纹理缓冲器存储MIPMAP(用于多个分辨率的纹理)或对应于多个压缩率的其他纹理数据。在此,使用预定的算法来在上面的三角单元确定纹理数据要使用哪个压缩率。
纹理引擎电路143在全色模式的情况下直接地使用从纹理缓冲器读出的(R,G,B)数据。
另一方面,在指数颜色模式的情况下,纹理引擎电路143向通过内置SRAM等配置的暂时存储缓冲器传送提前从纹理颜色查找表(CLUT)缓冲器准备的颜色指数表的数据,并且使用这个颜色查找表来获得与从纹理缓冲器读出的颜色指数对应的(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向图形存储器145(显示缓冲器)写入(R,G,B)数据。
而且,存储器I/F电路144根据纹理地址计算图形存储器145的存储块,其用于存储从那时开始要绘制的像素上的纹理地址所对应的纹理数据,仅向那个存储块发出读取请求,并且由此读出纹理数据。
在这种情况下,不存取没有保留对应的纹理数据的存储块以读取纹理数据,因此变得有可能提供更多的存取时间以绘制。
以相同的方式,在绘制时,存储器I/F电路144从对应的地址读出像素数据,以修改用于存储从那时开始要绘制数据的像素地址所对应的像素数据的、图形存储器145的存储块的写入,并且在修改后向同一地址写回所述数据。
在隐藏的平面处理时,所述电路从对应的地址读出深度数据以修改用于存储仍然要向其绘制数据的像素地址所对应的深度数据的存储块的写入,并且如果必要的话在修改后向同一地址写回所述数据。
而且,存储器I/F电路144当从纹理引擎电路143接收到包括相对于图形存储器145所产生纹理坐标数据(u,v)的读取请求时,读出在图形存储器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被读出。
而且,存储器I/F电路144根据寻址的预定交织类型来以例如16像素为单位存取图形存储器145。
在这样的与存储器的数据传送中,可以通过并行执行多个处理来改善绘制性能。
特别是,通过以并行有效格式(空间并行)提供用于三角DDA部分和纹理引擎部分的同一电路或精细地插入流水线(时间并行)来对于多个像素执行同时计算。
图形存储器145的存储块被布置使得在显示区域中的相邻部分变为不同的存储块,如下所述,因此当绘制像三角形的平面时,它们变得能够在所述平面上同时被处理。因此,每个存储块的操作概率变得很高。
图形存储器145一般作为纹理缓冲器、显示缓冲器、z缓冲器和纹理CLUT(颜色查找表)缓冲器。
而且,当CRT控制电路16被配置以便使用法向矢量来执行边缘信息恢复时,图形存储器145除了作为纹理缓冲器、显示缓冲器和z缓冲器和纹理CLUT(颜色查找表)缓冲器之外也还作为用于存储法向矢量的正规缓冲器。
图形存储器145被划分为多个,例如四个,具有相同功能的模块。
为了在图形存储器145中存储更多的纹理数据,在纹理CLUT缓冲器中存储在指数颜色的指数和用于其的颜色查找表的值。
使用所述指数和颜色查找表的值来用于如上所述的纹理处理。
即,通常由总共24比特来表达纹理元素,所述24比特包括R、G和B的每个的8个比特。但是,在这种情况下,数据量增大,因此从提前选择的例如256个颜色中选择一个颜色,并且将那个数据用于纹理处理。结果,对于256种颜色,可以通过8比特来表达一个纹理元素。从指数到实际颜色的转换表变得必要,但是纹理的分辨率越高,则纹理数据可以变得越紧凑。
由此,纹理数据的压缩变得可能,并且内置存储器的有效利用变得可能。
而且,图形存储器145存储要绘制的对象的深度信息,以用于与绘制同时和并行地执行隐藏平面处理。
注意,作为显示数据、深度数据和纹理数据的存储方法,例如显示数据被存储在存储块的预定位置,例如从顶部连续地存储,然后存储深度数据,然后在剩余的空白区域中用于每种纹理的连续地址空间中存储纹理数据。
如上所述,在DDA设置电路141、三角DDA电路142、纹理引擎电路143、存储器I/F电路144等中的预定处理后,最后的存储器存取变为诸如像素的绘制像素单位。
CRT控制电路16产生显示地址,以用于与给定的水平和垂直同步信号同步地在未示出的CRT上显示,并且向存储器I/F电路144输出用于从在图形存储器145中包括的显示缓冲器读取显示数据的请求。
响应于这个请求,存储器I/F电路144从图形存储器145(显示缓冲器)读出特定数量的显示数据。
CRT控制电路16包括例如内置的FIFO电路,用于存储从图形存储器145读出的显示数据,并在不变的时间间隔产生RGB的指数值。
CRT控制电路16存储对应于指数值的R、G、B数据,并且向未示出的数/模(D/A)转换器传送对应于所产生的RGB的指数值的数字格式的R,G,B数据,以产生模拟格式的R,G,B数据。
CRT控制电路16向未示出的CRT输出这个所产生的R,G,B数据。
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的第二微分。CRT控制电路16通过存储器I/F电路144读出关于所产生图像的第二微分,并且执行抗混叠。
除了原始存在的z缓冲器之外提供了
z的第二微分的缓冲器,并且将其初始化为零。每当在绘制时更新某一像素的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)的
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=z 1(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缓冲器的值恢复法向矢量的方法中,通过下述方式获得的向量被定义为法向矢量:归一化在通过z缓冲器的值z和z缓冲器的地址(x,y)这三个参数形成的三维空间中从某一点到两个其他点的向量的外积。
给出一个示例,当在两个x和y维上分布z缓冲器的地址并且在像素之间的x和y方向上的距离是1的时候,结果变得如下:
nx=z(x+1,y)-z(x,y)
ny=z(x,y+1)-z(x,y)
nz=-1 (9)
以这种方式,对于使用法向矢量的边缘信息恢复,必须在绘制时在缓冲器中存储每个像素的法向矢量的分量或从z缓冲器的信息和屏幕坐标恢复法向矢量。
如果存储法向矢量,则如果存储用于假阴影(Phong shading)的线性内插的法向矢量的值则提高精度,但是也可能在不内插法向矢量的绘图时将多边缘形的平均值存储为每个像素的值。
而且,不必存储所有三个分量。如果法向矢量的条件是向量的幅度是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是在概念上示出用于实现如上所述的边缘信息产生和抗混叠的安装的特定模式的视图。
这种抗混叠系统200如图12所示具有: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的判断结果来指示像素存在于什么图案格式的什么位置;第二计数器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被清空,返回到线后的像素而执行混合系数的计算、要混合的其他像素的确定等,混合每个像素,并且在作为用于存储处理后的图像的存储器的显示缓冲器中写入数据。
此时,并行执行水平扫描的处理和垂直扫描的处理,因此对于每个像素,必须保存一个比特的标记信息,用于指示是否另一个扫描已经处理了所涉及的像素。
如果所述标记不在标记检测器215中,则混合缓冲器213的“完成的CG图像”的像素值,而如果它在其中,则从缓冲器214的“抗混叠后的图像”读出像素值,混合那个值,然后写回数据。
注意,有时仅仅使用z缓冲器的信息而不使用法向矢量缓冲器和不进行法向矢量恢复。
而且,扫描的宽度仅仅需要是三条线,以便检测普通的边缘图案,但是必须同时扫描至少五条线,以便分离重写边缘等。本发明不排除任何数量的线作为多条线被同时扫描的概率。
下面,将说明状态机的示例。
在此所述的状态机使用三个变量“状态”、“计数”和“奇偶”。
而且,“next#state”指示状态下一个所取的值。
在扫描方向上每次前进一个像素。在x方向和y方向上扫描z缓冲器、法向矢量缓冲器或边缘信息缓冲器(表示用于存储通过z缓冲器等的扫描而获得的边缘信息的存储器),以通过所读取的数据而改变变量“状态”。按照变量“状态”来确定计数器的清空、计数和值的保存。
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
parity=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
当绘制状态机的运动和通过数字(figure)混合时,它们变为如图13A-13D所示。
所图解的示例是这样的示例,其中通过在x方向上的扫描来观看上和侧边缘。
向后地执行混合,直到当可变状态从1向0改变时的位置。
如何得到混合系数
当模式=0时,具有较大计数的像素的混合系数是接近0.5的值。具有较小计数的像素的混合值靠近接近零的值。可以从多种方法选择这个计算的方法。
在上述的示例中,例如,用于建立计数C的像素的混合系数C/5*0.5的方法是最简单的方法。除此之外,用于建立例如图7所示的混合系数的梯形的区域的方法是可能的。
此时,方程变得如下:
混合系数=0.5*0.5/Len*(Len-C+1)2-(Len-C)2 (17)
Len在本示例中是5。
当模式=1时,计数C的相对幅度和混合系数变得与当模式=0时的那些相反。
当模式=2时,即使在从0到0.5的适当值均匀,当设置值以便在中间的混合系数(在这个示例中为接近C=3)变得略大的时候,则结果显示为自然结束。
注意,在此所述的状态机仅仅是一个示例。
一般,状态机在x方向和y方向上执行处理。在每个扫描中,提供了状态机来感测边缘的形状,并且对多个像素计数。作为状态机的操作的结果,向后地处理像素。
作为一种用于选择或混合x方向混合和y方向混合的方法,有可能使用下列方法:
·在混合前比较混合系数并且仅仅对于较大的一个执行处理的方法;
·在混合前比较混合系数并且仅仅对于较小的一个执行处理的方法;
·等同地混合两个处理的方法;
·向在时间上移位的x方向处理和y方向处理中的前一个处理提供优先权,此时变得需要用于存储指示每个像素的处理的1比特的存储器;
·按照混合系数的幅度来向在时间上移位的x方向处理和y方向处理中的前一个处理提供优先权,此时变得需要用于存储每个像素的混合系数的存储器;
·等同地混合在时间上移位的x方向处理和y方向处理的方法,此时变得需要用于存储每个像素的混合系数的存储器。
图14和图15是仅仅使用z缓冲器的在绘制后的完整后处理的情况的概念视图。在这种情况下,图1的CRT控制电路16通过存储器I/F电路144来存取图形存储器145以扫描z缓冲器,并且通过使用z值信息来向每个像素应用抗混叠。
图14示出了作为绘制结果的RGB图像被CRT控制电路16在存储器上改变,并且其后被传送到显示器的情况。
图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缓冲器。
此时,如果第一处理的混合的标记存在,则使得混合系数为0。
第一循环和第二循环是独立的循环。
接着,参照图17来说明第二循环的计数。
在此,屏蔽
n是7。
在附图中,“Len=min((maskLen-1)/2,L1)”使能了按照以前当计数屏蔽的内容时是否首先达到L1端或首先达到屏蔽端而获知的最小值(min值)。
maskLen在图17中是7,并且
n在此。
根据在附图中所示的像素的数量,通过下面的方程得到的值被定义为混合系数:
α=(黑色像素的数量-Len)/(4*(Len+1)) (19)
注意,用于得到上述的系数的方法仅仅是一个示例。
一般,所述方法包括:分类像素以便对于在给定的屏蔽的屏蔽中的像素有尽可能多的级的混合系数,对它们计数,并且通过使用它们来得到系数。
接着,说明通过上述配置的操作。在此,使用仅仅z缓冲器。没有用于绘制的附加处理。将完整的后处理的情况作为示例来进行说明。
在三维计算机图形系统10中,从主处理器11的主存储器12或用于从外部接收图形数据的I/O接口电路13经由主总线15向绘制电路14给出图形绘制和其他数据。
注意,按照需要,图形绘制和其他数据在主处理器11等中进行几何处理,诸如坐标转换、剪裁和照明。
在几何处理后的图形数据变为多边缘形绘制数据S11,它包括顶点坐标、三角形的顶点的x、y和z、亮度值R、G和B以及对应于要绘制的像素的纹理坐标s、t和q。
这个多边缘形绘制数据S11被依序传送到绘制电路14的DDA设置电路141。
DDA设置电路141根据多边缘形绘制数据S11来产生用于指示在三角的一侧和水平方向之间的差等的变化数据。
具体上,它使用起点的值、终点的值和它们之间的距离,以计算在单位长度运动情况下发现的值的改变,并且它向三角形DDA电路142输出包括所述改变数据的设置数据S141。
三角形DDA电路142使用包括所述变化数据的设置数据S141来计算在三角内的每个像素上的线性内插(z,R,G,B,α,s,t,q)数据。
然后,从三角DDA电路142向纹理引擎电路143输出作为DDA数据S142的、这个所计算的(z,R,G,B,α,s,t,q)数据和三角形的每个顶点的(x,y)数据。
即,三角DDA电路142执行光栅化,用于根据对于多边缘形的顶点得到的图像参数来内插在多边缘形内包括的所有像素的图像参数(z,纹理坐标,颜色等)。
纹理引擎电路143对于由DDA数据S142指示的(s,t,q)数据来执行将
s数据除以
q数据的操作和将
t数据除以
q数据的操作。然后,它将相除结果“s/q”和“t/q”乘以纹理大小USIZE和VSIZE以产生纹理坐标数据(u,v)。
接着,纹理引擎电路143向存储器I/F电路144输出包括所产生的纹理坐标数据(u,v)的读取请求,并且经由存储器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向图形存储器145的显示缓冲器写入(R,G,B)数据。
要写入(也包括更新)的数据经由写入系统电路被并行地写入到预定存储器。
存储器I/F电路144通过纹理地址计算图形存储器145的存储块——用于存储从那时开始要按照纹理地址绘制的像素的纹理地址所对应的纹理数据,向仅仅那个存储块发出读取请求,并且读出纹理数据。
以及以相同的方式绘制时,从用于存储从那时开始要绘制数据的像素地址所对应的像素数据的存储块的对应的地址读出像素数据,以便执行修改写入操作,并且在修改操作后,写回同一地址。
在隐藏的平面处理时,从用于存储从那时开始仍然要向其绘制数据的像素数据所对应的深度数据的存储块的对应地址读出深度数据,以便执行修改写入操作,并且如果必要的话在修改操作后,向同一地址写回。
当在未示出的CRT上显示图像时,CRT控制电路16与给定的水平和垂直同步频率同步地产生显示地址,并且发出用于向存储器I/F电路144传送显示数据的请求。
存储器I/F电路144按照所述请求向CRT控制电路16传送特定数量的显示数据。
CRT控制电路16在一个未示出的显示器使用的FIFO等存储显示数据,并且以不变的间隔产生RGB的RGB指数值。
CRT控制电路16在其中存储相对于RGB指数的RGB值,并且向未示出的数D/A转换器传送指数值的RGB值。
然后,在D/A转换器中被转换为模拟信号的RGB信号被传送到CRT。
在这种情况下,作为绘制结果的RGB图像被CRT控制电路16在存储器上改变,然后被传送到显示器。或者,作为绘制结果的RGB图像被光栅扫描以用于显示器,并且并行和同步地扫描z缓冲器,并且在向显示器传送时,图像由CRT控制电路16在存储器上改变,然后被传送到显示器。
当在扫描z缓冲器时恢复法向矢量时,在通过扫描z缓冲器来恢复法向矢量的同时执行边缘判断。
在这种情况下,相对于例如z缓冲器并行同时地执行垂直扫描和水平扫描。与扫描一起进行处理。
例如,CRT控制电路16得到在每个扫描中的z值的第二微分,并且计算内部彼此相邻的像素的法向矢量的内积。
然后,根据第二微分的结果和内积计算的结果来判断所涉及的像素是否在x方向和y方向的每个的边缘上。这个判断结果被发送到例如状态机。
状态机判断在处理的像素位于哪个边缘图案的哪个部分,并且保存边缘的信息。然后,计数器测量边缘的长度。
当一个边缘的图案在那条线内结束时,状态机和计数器被清空,并且返回在那条线后的像素而执行混合系数的计算、要混合的其他像素的确定等。
然后,像素被混合。
在混合的图像被写入到作为存储器的显示缓冲器。
此时,水平扫描的处理和垂直扫描的处理被并行执行,因此对于每个像素保存一个比特的标记信息,该信息用于指示是否已经对所涉及的像素已经执行了其他扫描。
例如,如果所述标记不位于标记寄存器中,则混合缓冲器“完成的CG图像”的像素值。
与此相反,如果标记存在,则像素值被从“在抗混叠后的图像”读出,被混合,然后被写回。
如上所述,按照本实施例,良好地使用三维计算机图形的属性,并且有效地使用在绘制时处理的信息,因此变得能够获得极准确的边缘信息。
而且,因为所述处理是绘制的后处理,因此存在相对于绘制本身所请求的最少的附加处理。有时请求附加的处理,但是即使在这种情况下,所述处理也不是增加覆盖的像素的数量的处理,因此不使得绘制速度变慢。
可以仅仅通过总是当绘制三维计算机图形时产生的z缓冲器的信息来执行所述处理,因此所需要的存储器的数量不增加。
当考虑用于抗混叠时,与传统系统相比较,因为所有的处理可以作为后处理被执行,因此对绘制速度存在很小的影响。而且,可以使用精确的边缘信息来提取边缘的图案,因此对于屏蔽大小——在诸如超采样的技术中的一个问题——没有限制,并且可以很干净地去除接近水平或垂直直线那样的边缘的混叠。
注意,在图1所示的三维计算机图形系统10中,举例说明了在主处理器11执行产生多边缘形绘制数据的几何处理的情况,但是,也可以使用用于在绘制电路14执行它的配置。
总结本发明的效果,按照本发明,除了固有地需要的绘制像素(诸如周围像素)之外的像素的绘制是不必要的,并且可以不引起绘制速度的下降来提取能够用于抗混叠的足够精确的边缘信息。
而且,存在一个优点:可以使用小存储器来实现精确的抗混叠,而不对绘制顺序有影响,并且不会引发绘制速度的下降。
虽然已经参照为了说明而选择的特定实施例而描述了本发明,但是应当显然,本领域的技术人员在不脱离本发明的基本思想和范围的情况下,可以对其进行多种修改。
Claims (15)
1.一种图像处理装置,用于产生在屏幕坐标系的绘制区域内的像素数据以相对于存储器执行绘制,并且产生在存储器中绘制的图像,并且此时,产生边缘信息和执行抗混叠,所述装置包括:
边缘信息提取部件,用于根据在存储器中绘制的预定像素数据来提取边缘信息;以及
抗混叠部件,用于根据通过边缘信息提取部件获得的边缘信息来确定抗混叠所需要的处理的内容,并且执行所确定的处理。
2.按照权利要求1的图像处理装置,其中,所述抗混叠部件确定用于与在每个边缘上的像素混合的邻接像素和混合比,并且根据所确定的像素和比率来执行混合。
3.按照权利要求2的图像处理装置,其中,抗混叠部件包括:第一部件,用于从所述边缘信息检测正在被处理的像素在混叠图案的什么形状的什么位置;第二部件,用于测量从所检测的混叠图案的开始到边缘转向的改变点的长度和从所述改变点到混叠图案结束的位置的长度,并且计算根据从第一部件和第二部件获得的信息来计算要混合的像素的位置和混合系数。
4.按照权利要求3的图像处理装置,其中,
在所述存储器中绘制的像素数据包括深度信息,以及
所述边缘信息提取部件发现扫描作为存储深度信息的存储器的深度信息缓冲器的结果而获得的深度信息的第二微分,并且根据第二微分来提取边缘信息。
5.按照权利要求3的图像处理装置,其中,
在向存储器绘制时产生的数据包括每个像素的法向矢量,
在存储器中形成用于存储所述法向矢量的法向矢量缓冲器,以及
所述边缘信息提取部件根据作为扫描在法向矢量缓冲器中存储的像素的法向矢量的结果而获得的法向矢量来提取边缘信息。
6.按照权利要求3的图像处理装置,其中,
在所述存储器中绘制的像素数据包括深度信息,以及
所述边缘信息提取部件从作为扫描存储深度信息的存储器的深度信息缓冲器的结果而获得的深度信息和屏幕坐标来恢复每个像素的法向矢量,并且根据所恢复的法向矢量来提取边缘信息。
7.按照权利要求4的图像处理装置,其中,所述边缘信息提取部件提取接近被检查的线的多条线的边缘信息。
8.按照权利要求6的图像处理装置,其中,所述边缘信息提取部件提取接近被检查的线的多条线的边缘信息。
9.按照权利要求6的图像处理装置,其中,所述边缘信息提取部件提取接近被检查的线的多条线的边缘信息。
10.一种图像处理方法,用于产生在屏幕坐标系的绘制区域内的像素数据以相对于存储器执行绘制,并且产生在存储器中绘制的图像,并且此时,产生边缘信息和执行抗混叠,所述方法包括:
第一步骤,用于根据在存储器中绘制的预定像素数据来提取边缘信息;以及
第二步骤,用于根据在第一步骤获得的边缘信息来确定抗混叠所需要的处理的内容,并且执行所确定的处理。
11.按照权利要求10的图像处理方法,其中,所述第二步骤确定用于与在每个边缘上的像素混合的邻接像素和混合比,并且根据所确定的像素和比率来执行混合。
12.按照权利要求10的图像处理方法,其中,所述第二步骤包括:
第三步骤,用于从所述边缘信息检测正被处理的像素在什么形状的混叠图案的什么位置;以及
第四步骤,用于测量从所检测的混叠图案的开始点到边缘转向的改变点的长度和从所述改变点到混叠图案结束的位置的长度,并且计算根据从第三部分和第四步骤获得的信息来计算要混合的像素的位置和混合系数。
13.按照权利要求12的图像处理方法,其中,
在所述存储器中绘制的像素数据包括深度信息,以及
第一步骤还包括:扫描存储所述深度信息的存储器的深度信息缓冲器,得到所获得的深度信息的第二微分,并且根据第二微分来提取边缘信息。
14.按照权利要求12的图像处理方法,其中,
在向所述存储器绘制时产生的数据包括每个像素的法向矢量,
在所述存储器中形成用于存储所述法向矢量的法向矢量缓冲器,以及
所述第一步骤还包括:扫描在法向矢量缓冲器中存储的每个像素的法向矢量,根据所获得的法向矢量来提取边缘信息。
15.按照权利要求12的图像处理装置,其中,
在所述存储器中绘制的像素数据包括深度信息,以及
所述第一步骤还包括:从作为扫描用于存储深度信息的存储器的深度信息缓冲器的结果而获得的深度信息和屏幕坐标来恢复每个像素的法向矢量,并且根据所恢复的法向矢量来提取边缘信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP334203/2003 | 2003-09-25 | ||
JP2003334203A JP2005100177A (ja) | 2003-09-25 | 2003-09-25 | 画像処理装置およびその方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1674049A true CN1674049A (zh) | 2005-09-28 |
Family
ID=34191502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004101037635A Pending CN1674049A (zh) | 2003-09-25 | 2004-09-25 | 图像处理装置及其方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7280121B2 (zh) |
EP (1) | EP1519319A3 (zh) |
JP (1) | JP2005100177A (zh) |
KR (1) | KR20050030595A (zh) |
CN (1) | CN1674049A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102099832A (zh) * | 2008-07-18 | 2011-06-15 | 微软公司 | Gpu贝塞尔路径光栅化 |
CN101536030B (zh) * | 2006-11-14 | 2012-01-18 | 索尼英国有限公司 | 图像处理中的混叠避免 |
CN101790749B (zh) * | 2007-08-02 | 2013-01-02 | Ati技术无限责任公司 | 多点采样绘制二维矢量图像 |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005100176A (ja) * | 2003-09-25 | 2005-04-14 | Sony Corp | 画像処理装置およびその方法 |
JP4180043B2 (ja) * | 2004-11-15 | 2008-11-12 | シャープ株式会社 | 3次元図形描画処理装置、画像表示装置、3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体 |
KR100698626B1 (ko) * | 2004-12-10 | 2007-03-21 | 삼성전자주식회사 | 에일리어싱을 방지하기 위한 영상 보간 장치 및 방법 |
US20060250414A1 (en) * | 2005-05-03 | 2006-11-09 | Vladimir Golovin | System and method of anti-aliasing computer images |
US8269788B2 (en) * | 2005-11-15 | 2012-09-18 | Advanced Micro Devices Inc. | Vector graphics anti-aliasing |
US7518618B2 (en) * | 2005-12-23 | 2009-04-14 | Xerox Corporation | Anti-aliased tagging using look-up table edge pixel identification |
US7565015B2 (en) * | 2005-12-23 | 2009-07-21 | Xerox Corporation | Edge pixel identification |
JP4693660B2 (ja) * | 2006-03-10 | 2011-06-01 | 株式会社東芝 | 描画装置、描画方法及び描画プログラム |
US7733354B1 (en) | 2007-05-31 | 2010-06-08 | Adobe Systems Incorporated | Anti-aliased rendering |
JP2008306512A (ja) * | 2007-06-08 | 2008-12-18 | Nec Corp | 情報提供システム |
US8294730B2 (en) * | 2007-09-04 | 2012-10-23 | Apple Inc. | Anti-aliasing of a graphical object |
US8115781B2 (en) * | 2008-08-31 | 2012-02-14 | Trident Microsystems (Far East) Ltd. | Systems and methods of image processing including removal of discontinuous ramp and/or smoothing features |
US9635285B2 (en) | 2009-03-02 | 2017-04-25 | Flir Systems, Inc. | Infrared imaging enhancement with fusion |
US9986175B2 (en) | 2009-03-02 | 2018-05-29 | Flir Systems, Inc. | Device attachment with infrared imaging sensor |
US9998697B2 (en) | 2009-03-02 | 2018-06-12 | Flir Systems, Inc. | Systems and methods for monitoring vehicle occupants |
US9235876B2 (en) | 2009-03-02 | 2016-01-12 | Flir Systems, Inc. | Row and column noise reduction in thermal images |
US9948872B2 (en) | 2009-03-02 | 2018-04-17 | Flir Systems, Inc. | Monitor and control systems and methods for occupant safety and energy efficiency of structures |
US10757308B2 (en) | 2009-03-02 | 2020-08-25 | Flir Systems, Inc. | Techniques for device attachment with dual band imaging sensor |
US10244190B2 (en) | 2009-03-02 | 2019-03-26 | Flir Systems, Inc. | Compact multi-spectrum imaging with fusion |
USD765081S1 (en) | 2012-05-25 | 2016-08-30 | Flir Systems, Inc. | Mobile communications device attachment with camera |
US9451183B2 (en) | 2009-03-02 | 2016-09-20 | Flir Systems, Inc. | Time spaced infrared image enhancement |
US9208542B2 (en) | 2009-03-02 | 2015-12-08 | Flir Systems, Inc. | Pixel-wise noise reduction in thermal images |
WO2012170946A2 (en) | 2011-06-10 | 2012-12-13 | Flir Systems, Inc. | Low power and small form factor infrared imaging |
US9517679B2 (en) | 2009-03-02 | 2016-12-13 | Flir Systems, Inc. | Systems and methods for monitoring vehicle occupants |
US9674458B2 (en) | 2009-06-03 | 2017-06-06 | Flir Systems, Inc. | Smart surveillance camera systems and methods |
US9756264B2 (en) | 2009-03-02 | 2017-09-05 | Flir Systems, Inc. | Anomalous pixel detection |
US9843742B2 (en) | 2009-03-02 | 2017-12-12 | Flir Systems, Inc. | Thermal image frame capture using de-aligned sensor array |
US9473681B2 (en) | 2011-06-10 | 2016-10-18 | Flir Systems, Inc. | Infrared camera system housing with metalized surface |
US9292909B2 (en) | 2009-06-03 | 2016-03-22 | Flir Systems, Inc. | Selective image correction for infrared imaging devices |
US9843743B2 (en) | 2009-06-03 | 2017-12-12 | Flir Systems, Inc. | Infant monitoring systems and methods using thermal imaging |
US10091439B2 (en) | 2009-06-03 | 2018-10-02 | Flir Systems, Inc. | Imager with array of multiple infrared imaging modules |
US9716843B2 (en) | 2009-06-03 | 2017-07-25 | Flir Systems, Inc. | Measurement device for electrical installations and related methods |
US9819880B2 (en) | 2009-06-03 | 2017-11-14 | Flir Systems, Inc. | Systems and methods of suppressing sky regions in images |
US9756262B2 (en) | 2009-06-03 | 2017-09-05 | Flir Systems, Inc. | Systems and methods for monitoring power systems |
US8554008B2 (en) * | 2010-04-13 | 2013-10-08 | Vivante Corporation | Anti-aliasing system and method |
US9848134B2 (en) | 2010-04-23 | 2017-12-19 | Flir Systems, Inc. | Infrared imager with integrated metal layers |
US9207708B2 (en) | 2010-04-23 | 2015-12-08 | Flir Systems, Inc. | Abnormal clock rate detection in imaging sensor arrays |
US9706138B2 (en) | 2010-04-23 | 2017-07-11 | Flir Systems, Inc. | Hybrid infrared sensor array having heterogeneous infrared sensors |
KR101032835B1 (ko) * | 2010-07-21 | 2011-05-06 | 서울대학교산학협력단 | 백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법 및 그에 따른 장치 |
JP5620741B2 (ja) * | 2010-08-06 | 2014-11-05 | キヤノン株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US9058653B1 (en) | 2011-06-10 | 2015-06-16 | Flir Systems, Inc. | Alignment of visible light sources based on thermal images |
US9900526B2 (en) | 2011-06-10 | 2018-02-20 | Flir Systems, Inc. | Techniques to compensate for calibration drifts in infrared imaging devices |
US10389953B2 (en) | 2011-06-10 | 2019-08-20 | Flir Systems, Inc. | Infrared imaging device having a shutter |
US9509924B2 (en) | 2011-06-10 | 2016-11-29 | Flir Systems, Inc. | Wearable apparatus with integrated infrared imaging module |
US10841508B2 (en) | 2011-06-10 | 2020-11-17 | Flir Systems, Inc. | Electrical cabinet infrared monitor systems and methods |
US10051210B2 (en) | 2011-06-10 | 2018-08-14 | Flir Systems, Inc. | Infrared detector array with selectable pixel binning systems and methods |
WO2012170954A2 (en) | 2011-06-10 | 2012-12-13 | Flir Systems, Inc. | Line based image processing and flexible memory system |
US9961277B2 (en) | 2011-06-10 | 2018-05-01 | Flir Systems, Inc. | Infrared focal plane array heat spreaders |
KR101778353B1 (ko) | 2011-06-10 | 2017-09-13 | 플리어 시스템즈, 인크. | 적외선 이미징 장치용 불균일성 교정 기술 |
US10169666B2 (en) | 2011-06-10 | 2019-01-01 | Flir Systems, Inc. | Image-assisted remote control vehicle systems and methods |
US9235023B2 (en) | 2011-06-10 | 2016-01-12 | Flir Systems, Inc. | Variable lens sleeve spacer |
US9143703B2 (en) | 2011-06-10 | 2015-09-22 | Flir Systems, Inc. | Infrared camera calibration techniques |
US9706137B2 (en) | 2011-06-10 | 2017-07-11 | Flir Systems, Inc. | Electrical cabinet infrared monitor |
US10079982B2 (en) | 2011-06-10 | 2018-09-18 | Flir Systems, Inc. | Determination of an absolute radiometric value using blocked infrared sensors |
EP2615834A1 (en) * | 2012-01-16 | 2013-07-17 | Thomson Licensing | Dealiasing method and device for 3D view synthesis |
US9811884B2 (en) | 2012-07-16 | 2017-11-07 | Flir Systems, Inc. | Methods and systems for suppressing atmospheric turbulence in images |
US9973692B2 (en) | 2013-10-03 | 2018-05-15 | Flir Systems, Inc. | Situational awareness by compressed display of panoramic views |
US11297264B2 (en) | 2014-01-05 | 2022-04-05 | Teledyne Fur, Llc | Device attachment with dual band imaging sensor |
RU2571574C1 (ru) * | 2014-10-01 | 2015-12-20 | Федеральное Государственное Бюджетное Образовательное Учреждение Высшего Профессионального Образования "Донской Государственный Технический Университет" (Дгту) | Устройство объединения изображений в единую композицию с плавным переходом контрастности |
CN105046729B (zh) * | 2015-08-07 | 2017-09-26 | 浙江大学 | 一种高效并行矢量数据可视化方法 |
CN107493407B (zh) * | 2016-06-08 | 2021-08-31 | 深圳富泰宏精密工业有限公司 | 拍照装置及拍照方法 |
CN110473281B (zh) * | 2018-05-09 | 2023-08-22 | 网易(杭州)网络有限公司 | 三维模型的描边处理方法、装置、处理器及终端 |
JP7376881B2 (ja) | 2020-01-29 | 2023-11-09 | ユーアイアーマー.コム エルエルシー | 画像処理のためのシステム、方法、および装置 |
CN112184893B (zh) * | 2020-10-15 | 2024-05-24 | 众智软件股份有限公司 | 线面体一体化的绘制方法、装置、设备和存储介质 |
WO2022250654A1 (en) * | 2021-05-24 | 2022-12-01 | Uiarmor.Com Llc | Systems, methods, and devices for image processing |
US11158031B1 (en) | 2021-05-24 | 2021-10-26 | ReportsNow, Inc. | Systems, methods, and devices for image processing |
US20230196627A1 (en) * | 2021-12-16 | 2023-06-22 | Meta Platforms Technologies, Llc | Anti-aliasing by encoding primitive edge representations |
CN115690333B (zh) * | 2022-12-30 | 2023-04-28 | 思看科技(杭州)股份有限公司 | 一种三维扫描方法及系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4780711A (en) * | 1985-04-12 | 1988-10-25 | International Business Machines Corporation | Anti-aliasing of raster images using assumed boundary lines |
US5123085A (en) * | 1990-03-19 | 1992-06-16 | Sun Microsystems, Inc. | Method and apparatus for rendering anti-aliased polygons |
JP3102805B2 (ja) * | 1990-10-23 | 2000-10-23 | 株式会社リコー | 図形出力装置 |
DE69328230T2 (de) * | 1992-12-01 | 2000-08-10 | Canon K.K., Tokio/Tokyo | Entfernungbildverarbeitungsvorrichtung und -verfahren |
US5668940A (en) * | 1994-08-19 | 1997-09-16 | Martin Marietta Corporation | Method and apparatus for anti-aliasing polygon edges in a computer imaging system |
JP3609189B2 (ja) * | 1995-03-14 | 2005-01-12 | 株式会社リコー | アンチエイリアシング機能を有する画像生成装置 |
EP0984397B1 (de) * | 1998-08-30 | 2005-03-02 | Gmd - Forschungszentrum Informationstechnik Gmbh | Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster |
US6700672B1 (en) * | 1999-07-30 | 2004-03-02 | Mitsubishi Electric Research Labs, Inc. | Anti-aliasing with line samples |
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 |
EP1094421A3 (en) * | 1999-09-24 | 2003-07-30 | Nintendo Co., Limited | Method and apparatus for providing non-photorealistic cartoon outlining within a 3D videographics system |
US7061507B1 (en) * | 2000-11-12 | 2006-06-13 | Bitboys, Inc. | Antialiasing method and apparatus for video applications |
-
2003
- 2003-09-25 JP JP2003334203A patent/JP2005100177A/ja active Pending
-
2004
- 2004-09-21 EP EP04255728A patent/EP1519319A3/en not_active Withdrawn
- 2004-09-23 US US10/947,985 patent/US7280121B2/en not_active Expired - Fee Related
- 2004-09-24 KR KR1020040076890A patent/KR20050030595A/ko not_active Application Discontinuation
- 2004-09-25 CN CNA2004101037635A patent/CN1674049A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101536030B (zh) * | 2006-11-14 | 2012-01-18 | 索尼英国有限公司 | 图像处理中的混叠避免 |
CN101790749B (zh) * | 2007-08-02 | 2013-01-02 | Ati技术无限责任公司 | 多点采样绘制二维矢量图像 |
CN102099832A (zh) * | 2008-07-18 | 2011-06-15 | 微软公司 | Gpu贝塞尔路径光栅化 |
CN102099832B (zh) * | 2008-07-18 | 2013-08-28 | 微软公司 | Gpu贝塞尔路径光栅化 |
Also Published As
Publication number | Publication date |
---|---|
EP1519319A3 (en) | 2006-05-10 |
JP2005100177A (ja) | 2005-04-14 |
KR20050030595A (ko) | 2005-03-30 |
US7280121B2 (en) | 2007-10-09 |
EP1519319A2 (en) | 2005-03-30 |
US20050068333A1 (en) | 2005-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1674049A (zh) | 图像处理装置及其方法 | |
CN1601562A (zh) | 图像处理装置及其方法 | |
CN1131495C (zh) | 特征信息赋予方法及装置 | |
CN101046883A (zh) | 图形绘制设备 | |
CN1653487A (zh) | 具有边绘制单元的图形引擎以及合并有该图形引擎的电子装置及存储器 | |
CN1126025C (zh) | 窗口显示装置 | |
CN1136516C (zh) | 图案抽取装置和方法 | |
CN1158854C (zh) | 图像处理装置和图像处理方法 | |
CN1175542C (zh) | 系统显示装置 | |
CN1213592C (zh) | 采用自适应二值化的图象处理方法和设备 | |
CN1238819C (zh) | 三维字符生成设备及三维图形数据生成设备 | |
CN1258909C (zh) | 动图象合成装置 | |
CN101065784A (zh) | 计算机图形处理 | |
CN1293518C (zh) | 具有割截与支援框线模式的三角形描绘方法与装置 | |
CN1961338A (zh) | 图像处理设备和方法、记录介质以及程序 | |
CN1111464A (zh) | 图像处理装置及其方法和带图像处理装置的电子装置 | |
CN1835022A (zh) | 使用3d模型生成2d过渡 | |
CN1910577A (zh) | 图像文件一览显示装置 | |
CN1339764A (zh) | 用于图形系统的再循环浓淡树混合器 | |
CN1845178A (zh) | 使用各向异性纹理映射的图像绘制方法和图像绘制设备 | |
CN1510656A (zh) | 显示装置、显示方法和显示程序 | |
CN1731391A (zh) | 布局处理方法、信息处理装置 | |
CN1922630A (zh) | 图象处理装置、图象处理系统、图象处理方法、图象处理程序及集成电路装置 | |
CN1806448A (zh) | 图像处理方法、图像处理程序以及图像处理器 | |
CN1058480A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |