图像处理装置和图像处理方法

文档序号:6608407阅读:166来源:国知局
专利名称:图像处理装置和图像处理方法
技术领域
本发明涉及绘图技术,例如图像处理装置和图像处理方法,尤其涉及用于从向量格式的图形数据中生成光栅格式的图形数据的图像处理装置和图像处理方法。
背景技术
通过组合几何图形基元,例如点、直线、曲线、矩形和椭圆等而形成的图像称为向量图形。另一方面,由点(像素或点)阵形成的图像称为光栅图形。
通常,显示器上所显示的或打印机所打印的图像是光栅图形。因此,当上述设备处理向量图形时,需要用于将上述图像转换成光栅图形(即,光栅化)的处理。光栅化的处理成本很高,而且需要高性能计算机来光栅化复杂的向量图形。
由于每次显示向量图形时,能够生成适当分辨率的光栅图形,因此就不存在这样的情况轮廓等等的图像质量由于图像的放大、缩小和变形而变差。因此,在很多情况中将轮廓清晰的人造图像,例如插图(illustration)和制图(drawing)作为向量图形处理。另一方面,例如照片等自然图像在很多情况中作为光栅图形处理。
作为向量图形的使用的最常见示例,字体是公知的。在早期的个人计算机中(下文称作“PC”),由于CPU性能的局限,已经使用了光栅格式字体(位图字体)。然而,在位图字体中,必须存储每个分辨率的字体数据,并且因此,需要极大数量的存储容量。
依照后来CPU性能的改善,现有的PC能够以如下方式用较少存储容量显示高质量的字体预先存储不依赖于分辨率的向量格式字体(轮廓字体)数据,在每个情况中生成与显示器或打印机相对应的合适分辨率的字体。然而,内置到移动电话、汽车导航系统等等中的CPU具有相对低的处理能力。因此,存在这样的目标,即减少光栅化向量图形所需的运算成本。
近年来,已经使用图形处理单元(GPU)来实现上述目标。在使用GPU的光栅化技术中,使用多个三角形来近似曲线。由此,当放大光栅图形时,光栅图形具有粗糙的外观。由于必须通过使用大量三角形来改善曲线的近似精确度以便平滑地光栅化向量图形,因此存储容量的和处理成本的增加是不可避免的。
为了解决上述问题,参考文献(C.Loop和J.Blinn,ResolutionIndependent Curve Rendering using Programmable Graphics Hardware,SIGGRAPH 2005)提出了一种方法,通过对曲线附近的每个像素点而不是三角形单元处理向量图形的曲线部分,来始终平滑地光栅化曲线而不依赖于分辨率。由于该技术中存储器容量和处理成本均不依赖于分辨率,存储容量或处理成本都不会增加。
该参考文献公开了一种作为光栅化方法偶奇规则。在这里,当光栅化向量格式的图形时,像偶奇规则和非零规则这样的两种类型的规则都是公知的填充规则。
偶奇规则如下从封闭区域的任意一点开始绘制半直线,瞄准该图形中的每个封闭区域中的任意方向。仅当该半直线和图形轮廓的交点数量是奇数时,才填充该封闭区域。
另一方面,在非零规则中,从封闭区域中的任意一点开始绘制半直线,瞄准该图形中的任意封闭区域中的任意方向,根据图形的轮廓与半直线相交处的方向,计数器增加和/或减小。例如,当图形轮廓与行进方向是从左到右的半直线相交时,计数器增加(+1),而当其轮廓与从右到左的半直线相交时,计数器减小(-1)。对半直线和图形轮廓的所有交点执行上述的计数器的增加或减小。结果,仅当计数器的值非0时,填充该封闭区域。
在简单图形中,根据上述这两种类型的规则-偶奇规则和非零规则的填充结果相等。然而,在包括自相交的图形中和内部包括不同图形的图形(例如,具有孔的图形)中,填充结果可能是不同的。

发明内容
根据本发明的一个方面的图像处理装置,其特征在于包括第一数据生成单元,配置为通过分析与向量格式图形数据有关的直线轮廓和曲线轮廓并产生直线轮廓三角形和曲线轮廓三角形,来生成三角形数据;第二数据生成单元,配置为根据从直线轮廓和曲线轮廓所生成的三角形数据的顶点的绘制顺序,从所述三角形数据中生成模板(stencil)数据;以及第三数据生成单元,配置为根据所述模板数据生成光栅格式的图形数据。本发明并不限于上述的装置发明,还可以应用于方法发明。


图1是示出根据第一实施例的图像处理装置的示意性配置的方块图;图2是示出向量格式图形的实例的视图;图3是示出根据所述实施例的过程的流程图;图4是示出向量数据的一个实例的视图;图5是示出所述实施例中三角形数据生成单元2的处理的过程的流程图;图6是示出所述实施例中的直线轮廓的实例的视图;图7是示出从所述实施例中的直线轮廓所生成的三角形数据的实例;图8是示出所述实施例中直线轮廓和曲线轮廓的实例的视图;图9A和图9B是示出所述实施例中的凸曲线轮廓和凹曲线轮廓的实例的视图;图10是示出用所述实施例中的直线轮廓的三角形所生成的模板数据的实例的视图;图11是示出用所述实施例中的直线轮廓的三角形所生成的模板数据的实例的视图;图12是示出用所述实施例中的直线轮廓的三角形所生成的模板数据的实例的视图;
图13是示出用所述实施例中的曲线轮廓的三角形所生成的模板数据的实例的视图;图14是示出用所述实施例中的曲线轮廓的三角形所生成的模板数据的实例的视图;图15是示出用所述实施例中的曲线轮廓的三角形所生成的模板数据的实例的视图;图16是示出用所述实施例中的曲线轮廓的三角形所生成的模板数据的实例的视图;图17是示出用所述实施例中的曲线轮廓的三角形所生成的模板数据的实例的视图;图18是示出实施例中所生成的模板数据的实施的视图;图19是示出使实施例中所生成的模板数据形成的示例视图;图20A和图20B是示出生成实施例中的光栅数据的实例的视图;图21是示出包括三次参数曲线的图形的实例的视图;图22是示出图21中的直线轮廓和曲线轮廓的实例的视图;图23A和图23B是示出图21中的凸曲线轮廓和凹曲线轮廓的实例的视图;以及图24A和图24B是示出三次参数曲线中曲线轮廓的实例的视图。
具体实施例方式
下面将参照附图描述实施例。
实施例中的装置包括向量数据存储单元1、三角形数据生成单元2、三角形数据存储单元3、模板数据生成单元4、模板数据存储单元5、光栅数据生成单元6、光栅数据存储单元7和显示单元8。图1还示出了关于每个模块的数据流。在上述配置中,向量数据存储单元1和三角形数据生成单元2起CPU的作用,三角形数据存储单元3到光栅数据存储单元7起GPU的作用。显示单元8起显示设备的作用。
向量数据存储单元1存储向量格式的图形数据。
三角形数据生成单元2读出存储在向量数据存储单元1中的向量格式的图形数据(以下称为“向量数据”),并生成三角形数据,稍后将对其进行详细描述。
三角形数据存储单元3存储由三角形数据生成单元2生成的三角形数据。
模板数据生成单元4读出存储在三角形数据存储单元3中的三角形数据,并生成模板数据。
模板数据存储单元5存储由模板数据生成单元4所生成的模板数据。
光栅数据生成单元6根据模板数据存储单元5中存储的模板数据生成光栅格式的数据(以下称为“光栅数据”),稍后将对其进行详细描述。
光栅数据存储单元7存储由光栅数据生成单元6生成的光栅数据。
显示单元8显示光栅数据存储单元7中存储的光栅数据。
图1中将向量数据存储单元1、三角形数据存储单元3、模板数据存储单元5和光栅数据存储单元7描述为不同的模块。这些存储单元可以配置在单个存储器上,或者分离地配置在多个不同存储器上。
在下文中,当图2所示的包括自相交和参数曲线的向量图形被光栅化为光栅图形时,将参照图3所示的流程图解释图1的装置的每个模块的详细操作(处理)和模块之间流动的数据结构。
向量数据存储单元1存储要进行光栅化的向量数据。如图4所示,向量数据由各种类型的图形基元、构成所述图形基元的各个点的坐标、所述点之间的连接关系等组成。例如,图2的图形的向量数据由图4所示的点和直线构成。在图4中,直线或参数行(Parameter line)的端点由黑点表示,参数曲线的控制点由白点表示。在第一实施例中,假定图4所示的向量数据已经存储在向量数据存储单元1中。该向量数据并不限于前述的格式,还可以包括计算机图形学领域中通常使用的其他数据。
图4所示的向量数据存储在向量数据存储单元1中,并由三角形数据生成单元2读出(图3的步骤S101)。根据图5的流程图,三角形数据生成单元2通过分析所读出的向量数据的轮廓,生成三角形数据。
三角形数据生成单元2分析向量数据的直线轮廓(步骤S201)。该直线轮廓构成多边形,该多边形是通过如图6所示用线段连接向量数据中包括的直线和曲线的起点和终点同时忽略控制点而得到的。直线轮廓构成的多边形并不限于一个。该多边形可以包括自相交和孔。
接下来,执行直线轮廓三角形的制作过程(步骤S202)。具体地,首先,选择在步骤S201中获得的构成直线轮廓的各个多边形的多个顶点中的任意顶点(在本说明书中,该顶点称为“支点(pivot)”)。然后,生成以该支点为顶点的多个三角形,以便用直线连接该支点和所有其他顶点,两个顶点彼此连接形成一个三角形的一边。两个顶点彼此连接意味着用多边形的一条边连接两个顶点。
例如,在图6中,如果选择点0作为支点,通过顺次连接点0-2-4、点0-4-6和点0-6-8形成三个三角形,所生成的三角形如图7所示。
而且,分析向量数据的曲线轮廓(步骤S203)。在该处理中,曲线轮廓是一组三角形,在所述三角形中,参数曲线起点、参数曲线终点和控制点这三个点如图8所示。在本实例中,图4的向量数据和图8的曲线轮廓完全相同,但是这两者通常是不同的数据。图8的曲线轮廓由通过顺次连接点0-1-2、点2-3-4、点4-5-6、点6-7-8和点8-9-0所形成的五个三角形所构成。
在这里,将曲线轮廓分成图9A和图9B所示的两种类型的曲线轮廓。在图9A中,在图形中是曲线的凹形区域(在下文被称作“凹曲线轮廓”),而在图9B中,在图形中是曲线的凸形区域(在下文被称作“凸曲线轮廓”)。
上述过程生成的直线轮廓的三角形数据(图7)和曲线轮廓的三角形数据(图8)从三角形数据生成单元2输出,并存储到三角形数据存储单元3中。
在上述过程中,,通过同时执行步骤S201和步骤202的处理,在分析直线轮廓的同时生成三角形。三角形数据由构成每个三角形的三个点的位置坐标位置、结构(texture)坐标和连接关系等构成。然而,三角形数据配置并不限于该格式,还可以包括图形领域中通常使用的其他数据。
在图3的流程图中,当生成三角形数据时,模板数据生成单元4生成模板数据(步骤S102)。在该情况下,由模板数据生成单元4读出三角形数据存储单元3中保存的三角形数据。然后,模板数据生成单元4通过光栅化该三角形内部的所读出像素,生成模板数据。
所述模板数据是具有与最终在显示单元8上显示时的分辨率相同的分辨率的图像数据。所述模板数据保存在模板数据存储单元5中。此外,将具有若干比特的数值指定给模板数据的每个像素,而且在对于每帧的全部图像处理之前该数字值被初始化为0。
模板数据生成单元4从三角形数据存储单元3读取直线轮廓的三角形数据(图7)和曲线轮廓的三角形数据(图8),并将其光栅化。在该时刻,各个三角形内部的所有像素都对于该直线轮廓的三角形进行了光栅化。
在参考文档中描述了基于偶奇规则的光栅化。在该实施例中,为了实现基于非零规则的光栅化,在模板数据生成单元4光栅化的像素中,增加(+1)顺时针绘制的三角形(下文中称作“顺时针三角形”)中包括的像素值,减少(-1)逆时针绘制的三角形(下文中称作“逆时针三角形”)中包括的像素值。
在该情况下,顺时针三角形代表在投射到投射面的每个三角形中的三个顶点依次连接形成顺时针环的三角形。另一方面,在投射面上形成逆时针环的三角形称为逆时针三角形。在该情况下,假定以按照图4所示的数字顺序定义顶点的顺序决定矢量的方向。
在顺时针和逆时针的情况下,像素值不限于+1或-1。未填充部分的像素值可以设置成0或预定值。
根据前述的设置,图7的三个三角形中,通过依次连接点0-2-4形成的三角形是顺时针三角形。因此,例如,如图10所示,该三角形内部包括的模板数据的像素值增加,而且成为+1。另一方面,由于图7所示的依次连接点0-4-6形成的三角形是逆时针的,如图11所示,该三角形内部包括的像素值被减小,成为-1。因此,通过依次连接点0-2-4所形成的三角形和通过依次连接点0-4-6所形成的三角形之间的重迭部分的像素值是0。此外,由于通过依次连接点0-6-8所形成的三角形是顺时针的,如图12所示,因此该三角形内部包括的像素被增加,而且成为+1。在该情况下,通过依次连接点0-6-8所形成的三角形、通过依次连接点0-2-4所形成的三角形和通过依次连接点0-4-6所形成的三角形的重迭部分的值被设置成将由每个三角形所设置的像素值相加而得到的值。
另一方面,与曲线轮廓的三角形有关的三角形内部像素中,仅仅属于该曲线的凸面区域的像素被光栅化。然后,与直线轮廓的情况相同,在属于由模板数据生成单元4光栅化的曲线的凸面区域的像素中,顺时针三角形中包括的像素值被增加(+1),而逆时针三角形中包括的像素值被减少(-1)。
例如,图8所示的5个三角形中,由于图13所示的顺次连接点0-1-2的三角形是顺时针三角形,该三角形的凸面区域中包括的模板数据的像素值被增加,成为+1。类似地,当通过依次连接点2-3-4、点4-5-6、点6-7-8、点8-9-0绘制三角形时,模板数据的像素值被更新成如图14、图15、图16和图17等所示。图14到图17省略了曲线轮廓的控制点(图8中示出的白点)。
然后,当将图12所示的直线轮廓的三角形的光栅化结果和图17所示的曲线轮廓的三角形的光栅化结果相加时,最终获得图18所示的模板数据。
图19的图形是通过在图18的模板数据的像素中,用黑色填充具有非零值的像素而且用灰色填充其值为0的像素而形成的。在图19的模板数据的像素中,要基于非零规则填充的像素值不是0,而图2所示的向量格式的图形中不被填充的像素值是0。
在光栅化三角形数据的处理中,没有次序上的依赖性。在图10到图17中,首先,对直线轮廓的三角形数据顺序地光栅化,然后,对曲线轮廓的三角形数据分别顺序地光栅化,通过将上述结果相加得到图18所示的光栅化结果。进行上述解释是为了最好地理解该实施例,图10到图17的所有三角形可以以任意顺序被光栅化。
使用模板数据生成单元4所生成的模板数据(图18)被写入模板数据存储单元5并保存。
如上所述,模板数据是具有与最终显示到显示单元8的分辨率相同的分辨率的图像数据。然而,模板数据的配置并不限于该格式,可以包括计算机图形领域中通常使用的其他数据。
光栅数据生成单元6生成光栅数据,以便根据模板数据存储单元5中存储的模板数据,仅仅光栅化像素值是非零数值的区域(图19中用黑色填充的区域)。
光栅数据是具有与最终显示在显示单元8的分辨率相同的分辨率的图像数据,并存储在光栅数据存储单元7中。对于多个颜色分量(例如,RGBA)中的每一个,将大约若干比特的数值指定给光栅数据的各个像素。
如图20A所示,光栅数据生成单元6光栅化覆盖整个图形的两个三角形内部的所有像素。然而,在这些像素中实际写入到光栅数据存储单元7的像素仅限于相应的模板数据的像素值是非零的数值的区域(图20A中用黑色填充该区域)。结果,将图20B所示的光栅数据写入到光栅数据存储单元7。
如上所述,光栅数据是具有与最终显示到显示单元8的分辨率相同的分辨率的图像数据。然而,该光栅数据的配置不限于该格式,可以包括计算机图形领域中通常使用的其他数据。
显示单元8是由显示器、打印机等,用于将光栅数据存储单元7中保存的光栅数据显示给用户。
如上所述,根据该实施例,包括自相交的图形可以基于非零规则进行光栅化。包括自相交的图形在上述实施例中举例示出,但是其中包括不同图形(例如,具有孔的图形)的图形可以同样基于非零规则进行光栅化。
在上述实施例中,作为曲线轮廓的示例,描述了作为示例的包括二次参数曲线的图形,但是在三次参数曲线中其同样适用。下面对其进行简单的解释。
假定图21所示的图形存储在向量数据存储单元1中,作为图22所示的向量数据。
如上所述,三角形数据生成单元2分析图22所示的向量数据,并生成图23A所示的直线轮廓和图23B所示的曲线轮廓。在这种情况下,用黑点表示该图形的参数曲线的直线的端点,用白点表示该参数曲线的控制点。对于参数曲线的端点,存在参数曲线的两个控制点,形成三角形以便连接其中一个控制点和位于对角方向的端点,三次参数曲线可以是不但具有图24A所示的曲线还具有图24B所示的拐点的曲线。
例如,上述实施例中,描述了从向量格式的图形数据生成字符的光栅格式的图形数据的情况。在由向量格式给出其他图形,例如映射数据时,本发明可应用于当从映射数据生成光栅格式的图形数据的情况。
根据本发明,可以基于非零规则光栅化包括自相交的图形和内部包括不同图形的图形(例如,具有孔的图形),而且能够极大地减小预处理成本。
权利要求
1.一种图像处理装置,包括第一数据生成单元,配置为通过分析与向量格式的图形数据相关的直线轮廓和曲线轮廓,生成三角形数据;第二数据生成单元,配置为根据从直线轮廓和曲线轮廓所生成的三角形数据的顶点的绘制顺序,从所述三角形数据中生成模板数据;以及第三数据生成单元,配置为根据所述模板数据生成光栅格式的图形数据。
2.根据权利要求1所述的装置,还包括第一存储单元,配置为存储所述向量格式的图形数据;第二存储单元,配置为存储由所述第一数据生成单元所生成的三角形数据;第三存储单元,配置为存储由所述第二数据生成单元所生成的模板数据;以及第四存储单元,配置为存储由所述第三数据生成单元所生成的光栅格式的图形数据。
3.根据权利要求2所述的装置,还包括显示单元,配置为显示所述光栅格式的图形数据。
4.根据权利要求1所述的装置,其中,所述第一数据生成单元通过分析所述向量格式的图形数据的直线轮廓,生成至少一个多边形,并采用以下方式对于每个多边形生成多个三角形将多边形的一个顶点作为所述多个三角形的公用顶点,所述公用顶点和所有其他顶点用直线连接,彼此连接的两个顶点成为一个三角形的边。
5.根据权利要求1所述的装置,其中,所述第二数据生成单元通过以下方式生成模板数据当所述顶点的绘制顺序是顺时针时,将第一值添加到所述三角形数据内的像素值中,当所述顶点的绘制顺序是逆时针时,将与所述第一值不同的第二值添加到所述三角形数据内的像素值中。
6.根据权利要求5所述的装置,其中,当所述三角形数据是表示所述曲线轮廓的三角形时,将所述第一值添加到属于顺时针三角形凸面区域的像素值中,并且将所述第二值添加到属于逆时针三角形凸面区域的像素值中。
7.根据权利要求5所述的装置,所述第一值是+1,而所述第二值是-1。
8.根据权利要求1所述的装置,其中,所述曲线轮廓所定义的曲线是二次参数曲线或三次参数曲线。
9.一种图像处理方法,包括通过分析与向量格式的图形数据相关的直线轮廓和曲线轮廓,生成三角形数据;根据所述三角形数据的顶点的绘制顺序,生成模板数据;根据所述模板数据,生成光栅格式的图形数据。
全文摘要
一种图像处理装置包括第一数据生成单元,配置为通过分析与向量格式的图形数据相关的直线轮廓和曲线轮廓并产生直线轮廓三角形和曲线轮廓三角形,来生成三角形数据;第二数据生成单元,配置为根据从直线轮廓和曲线轮廓所生成的三角形数据的顶点的绘制顺序,生成模板数据;以及第三数据生成单元,配置为根据模板数据生成光栅格式的图形数据。
文档编号G06T11/20GK101071508SQ20071009198
公开日2007年11月14日 申请日期2007年3月30日 优先权日2006年5月11日
发明者爱岛快行 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1