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

文档序号:6574452阅读:178来源:国知局
专利名称:图像处理装置和图像处理方法
技术领域
本发明涉及用于根据矢量格式图形数据生成光栅格式图形数据 的绘图技术。
背景技术
通过组合诸如点、直线、曲线、矩形、椭圆这样的图形要素构成 的图像称作矢量图形。另一方面,由点阵(像素或点)构成的图像称作 光栅图形。
通常,在显示器上显示的图像或者由打印机打印的图像是光栅图 形。因此,当由这些设备处理矢量图形时,需要将矢量图形转换为光 栅图形(光栅化)。光栅化的处理开销较高,而且需要高性能的计算机 用于光栅化复杂的矢量图形。
另一方面,因为每次显示矢量图形都可以生成合适分辨率的光栅 图形,所以不会出现轮廓等的图像质量由于图像的放大、縮小和变形 而恶化的情况。因此,在许多情况下,将诸如图表和图画这样的、轮 廓清晰的人工图像作为矢量图形来处理。在许多情况下,将诸如照片 这样的自然图像作为光栅图形来处理。
作为矢量图形的最熟悉的使用实例,字体己经是熟知的。在早期
的个人电脑(在下文中称作"PC")中,由于CPU性能的限制,所以
使用光栅格式的字体(位图字体)。但是,在位图字体中,必须存储每 个分辨率的字体数据,因此,需要大量存储空间。
随着CPU性能的提高,当前的PC可以通过下述方式,禾U用较
少的存储空间,显示高质量的字体,即,预先存储与分辨率无关的矢 量格式字体(轮廓字体)数据,并且在每种情况下,生成对应于显示器 或者打印机的合适分辨率的字体。
然而,嵌入移动电话、汽车导航系统等的CPU具有相对低的处
理能力。因此,希望能够减少光栅化矢量图形所需的计算代价。
近些年来,为了实现以上的目的,已经使用了图形处理单元
(GPU)。在使用GPU的光栅化技术中,使用多个三角形来近似得到 曲线。因此,当放大光栅图形时,光栅图形具有粗糙的外观。因为为 了平滑地光栅化矢量图形,需要通过使用大量三角形来提高曲线的近 似精度,所以必然要增加存储容量和处理代价。这里,已提出了一种 用于通过使用例如GPU来光栅化矢量图形的技术(参考文件C.Loop and J.Blinn , Resolution Independent Curve Rendering using Programmable Graphics Hardware,参照SIGGRAPH 2005)。在该参考 文件中的光栅化技术的处理包括2阶段的处理,B卩,由CPU执行的 预处理,以及由GPU执行的主处理。
在该参考文件中的光栅化技术中,不是以三角形为单位来处理矢 量图形,而是以接近曲线的像素为单位来处理。因此,总是可以在不 依赖于分辨率的情况下平滑地光栅化曲线。另外,存储容量和处理代 价与分辨率无关,因此,不需要增加存储容量和处理代价。
然而,在上述参考文件中的光栅化技术中,存在以下两个问题。
(1) 预处理代价高。如果图形的几何形状不随时间而变化,则预 处理的代价不会变成严重的问题。这是因为执行预处理一次之后不需 要再次执行预处理。但是,当图形的几何形状动态地变化时,必须在 每种情况下再次执行预处理,因此,在许多情况下,在整个光栅化处 理中预处理将成为瓶颈。
(2) a混合(Alphablending)用于抗锯齿处理(anti-aliasing)。"抗锯齿 处理"是用于消除在光栅化图形的轮廓线上出现的锯齿形(台阶状的 失真)的处理。"a混合"是用于通过使用被称为a值的系数,半透明 地混合两个像素值的处理。
众所周知,为了使用a混合,全部图形对象必须按照深度值排序 (深度排序),并且按照更深位置的图形的顺序来光栅化。深度排序是 具有极高代价的处理,并且在很多情况下,会是整个光栅化处理的瓶颈。

发明内容
根据本发明的一个方面的图像处理装置的特征在于,其包括第 一数据生成单元,其通过针对矢量格式图形数据解析直线轮廓和曲线 轮廓来形成直线轮廓三角形和曲线轮廓三角形,从而生成三角形数
据;第二数据生成单元,其根据三角形数据生成模版数据;以及第三 数据生成单元,其参照模版数据生成光栅格式图形数据。注意,本发 明不仅可以实现为如上所述的装置发明,还可以实现为方法发明。


图1是显示根据第一实施例的图像处理装置的示意结构的框图2是显示矢量格式图形的一个实例的示图3是显示在参考文件中描述的光栅化技术的处理流程的流程
图4是显示矢量数据的一个实例的示意图5A和5B是显示直线轮廓和曲线轮廓的实例的示意图6A和6B是显示凸曲线轮廓和凹曲线轮廓的实例的示意图7A和7B是显示依照细分割来更新的被细分的曲线轮廓和直
线轮廓的实例的示意图8是显示被划分为三角形数据的直线轮廓的实例的示意图; 图9A和9B是显示已经被光栅化的直线轮廓和曲线轮廓的实例
的示意图IO是显示生成的光栅数据的实例的示意图; 图11是显示在第一实施例中三角形数据生成单元2的处理程序 的流程图12是显示在第一实施例中的直线轮廓的实例的示意图; 图13是显示第一实施例中的根据直线轮廓生成的三角形数据的 实例的示意图14显示第一实施例中根据直线轮廓生成的三角形顶点号的实
例;
图15是显示第一实施例中生成根据直线轮廓生成的三角形模版
数据的实例的示意图16A和16B是显示第一实施例中生成表示曲线轮廓的三角形 模版数据的实例的示意图17A和17B是显示第一实施例中生成光栅数据的实例的示意
图18是显示第一实施例中的处理过程的流程图; 图19是显示第二实施例中根据直线轮廓生成的三角形数据的实 例的示意图20是显示第二实施例中生成根据直线轮廓生成的三角形模版 数据的实例的示意图21A和21B是显示第二实施例中生成表示曲线轮廓的三角形 模版数据的实例的示意图22是显示根据第三实施例的图像处理装置的示意结构的框
图23是显示用于说明第四实施例的矢量格式图形的一个实例的 示意图24是显示第四实施例中的直线轮廓和曲线轮廓的实例的示意
图25A和25B是显示第四实施例中的凸曲线轮廓和凹曲线轮廓
的实例的示意图26A和26B是显示三次Bezier曲线(cubic Bezier curves)中的曲
线轮廓的实例的示意图27是显示第四实施例中根据直线轮廓生成的三角形数据的实
例的示意图28是显示第四实施例中生成根据直线轮廓生成的三角形模版 数据的实例的示意图29A和29B是显示第四实施例中生成根据直线轮廓生成的三
角形模版数据的实例的示意图30A和30B是显示第四实施例中生成光栅数据的实例的示意图。
具体实施例方式
将参照附图描述实施例。
在第一实施例中,将仅描述为了消除预处理的使用而进行的凸曲 线光栅化处理。如图1所示,图像处理装置具有矢量数据存储单元1,
三角形数据生成单元2,三角形数据存储单元3,模版数据生成单元 4,模版数据存储单元5,光栅数据生成单元6,光栅数据存储单元7 和显示单元8。在图1中还显示了关于各个框的数据的流程。
在上述结构中,矢量数据存储单元1存储矢量格式图形数据。 三角形数据生成单元2读取矢量数据存储单元1中存储的矢量格 式图形数据,并且生成将在后面详细描述的三角形数据。
三角形数据存储单元3存储由三角形数据生成单元2生成的三角 形数据。
模版数据生成单元4读取三角形数据存储单元3中存储的三角形 数据,并生成模版数据。
模版数据存储单元5存储由模版数据生成单元4生成的模版数据。
光栅数据生成单元6参照模版数据存储单元5中存储的模版 (stencil)数据生成光栅格式数据(下文还称为"光栅数据")。
光栅数据存储单元7存储由光栅数据生成单元6生成的光栅数据。
显示单元8呈现存储在光栅存储单元7中的光栅数据。 在图1中,将矢量数据存储单元1、三角形数据存储单元3、模 版数据存储单元5以及光栅数据存储单元7描述为不同的框。这些存 储单元可以配置在单个存储器上,或者可以分别配置在多个不同的存 储器上。
下面描述将图2中所示的矢量图形光栅化为光栅图形的例子。在 这种情况下,为了便于理解对本实施例的光栅化技术的说明,首先, 将描述在上述参考文件中描述的光栅化技术的要点。
如图3所示,在参考文件中描述的处理大致包括由CPU执行的预处理和由GPU执行的主处理这两个阶段的处理。g卩,首先CPU将 矢量格式图形解析为三角形的集合。此后,GPU将各三角形光栅化。 这样做的原因是GPU的处理单位是三角形,而且GPU不能直接处理 由图2中所示的直线和曲线构成的图形。
具体地说,首先,从诸如HDD或者RAM这样的存储介质中读 取矢量格式数据(下文还称为"矢量数据"),并且执行用于解析其轮 廓的处理(步骤S101)。例如,表示图2的图形的矢量格式数据由图4 中所示的点和直线构成。在图4中,图形的直线或者参数曲线的端点 由黑点表示,并且参数曲线的控制点由白点表示。在步骤S101中, 通过解析这种矢量格式数据生成图5A和5B中所示的两种类型的轮 廓线数据。图5A的轮廓线数据被称为"直线轮廓",并且图5B的轮 廓线数据被称为"曲线轮廓"。
首先,将描述图5B的曲线轮廓。如图2、 4和5B所示,曲线轮 廓是连接参数曲线的起点、终点和控制点这三点的三角形的集合。这 里,各三角形围绕参数曲线,并且曲线必须在三角形内部。这里,曲 线轮廓被分类为如图6A和6B所示的两种类型的曲线轮廓。在图6A 中,曲线的凹区域在图形内部(以下称为"凹曲线轮廓"),在图6B 中,曲线的凸区域在图形内部(以下称为"凸曲线轮廓")。
将描述图5A的直线轮廓。如图2、图4和图5A所示,直线轮 廓是通过使用线段连接直线的起点和终点、凸曲线轮廓的起点和终 点、以及凹曲线轮廓的起点、控制点和终点获得的多边形。在凸曲线 轮廓上连接起点和终点这两点,而在凹曲线轮廓上连接起点、控制点 和终点这三点。注意,如图5A所示,构成直线轮廓的多边形不必限 于一个(在本例中,直线轮廓由三个多边形构成)。此外,在一些情况 下,各多边形可以包括自身交叉点或空穴(hole)。
接下来,当在步骤S101完成了对矢量格式数据的轮廓的解析时, 检查是否在生成的曲线轮廓上存在重叠。因此,当发现重叠时,程序 进行到步骤S103,其中执行处理以对两个重叠的三角形中区域更大 的三角形进行细分割(步骤S103)。因为直线轮廓在该细分割处理的影 响下发生改变,所以直线轮廓被更新(步骤S104)。其后,程序返回到
步骤S102,其中再次检査是否存在重叠,在没有重叠存在时,程序 返回到步骤S105。请注意,在步骤S102到S104中的处理被重复, 直到没有重叠存在。
具体来讲,例如,在图5B的曲线轮廓的例子中,三角形a与b, 以及三角形c与d是重叠的。因此,如图7B所示,分别将三角形a 和c细分割为两个三角形aO和bl,以及cO和cl。然后,如图7A所 示,更新直线轮廓。
接下来,构成直线轮廓的多边形被分别划分为多个三角形。例如, 图7A的三个多边形被划分为如图8所示的三角形集合。
将在上述步骤S101到S105中的全部处理作为由CPU执行的预 处理来执行。
然后,构成直线轮廓(图8)的三角形和构成曲线轮廓(图7B)的三 角形被GPU光栅化(步骤S106)。此时,如图9A所示,构成直线轮 廓的三角形内部的所有像素被光栅化。相反,如图9B所示,在构成 曲线轮廓的三角形内部的像素中,只有凹曲线轮廓上的凹区域或者只 有凸曲线轮廓上的凸区域被光栅化。
如上所述获得的直线轮廓和曲线轮廓的光栅化的结果被一起存 储在GPU内部的帧缓冲器中。例如,将图9A和9B中所示的数据分 别存储在帧缓冲器中,作为如图IO所示的光栅数据。
在本实施例中,存在减少了 CPU执行的预处理的特性。以下, 将参照附图描述在图像处理装置的各方框处的详细操作(处理)以及 在方框间流动的数据的结构。
矢量数据存储单元1存储将被光栅化的图形的矢量数据。如图4 中所述,矢量数据是由图原类型、构成图原各点坐标、点之间的连接 关系等组成的。
例如,按照上述说明中的方式,如图4所示表示图2的图形的矢 量数据。在图4中,直线或者参数线的端点由黑点表示,参数曲线的 控制点由白点表示。
在第一实施例中,假设如图4所示的矢量数据已经被存储在矢量 数据存储单元1中。矢量数据不限于上述格式,并且可以包括通常在
计算机图形学领域所使用的其他数据。
由三角形数据生成单元2读取存储在矢量数据存储单元1中的矢 量数据(图4)。三角形数据生成单元2按照如图11所示的流程,通过 解析所读取的矢量数据的轮廓来生成三角形数据。
首先,解析矢量数据的直线轮廓。在如图5A中所示的技术中, 通过使用线段连接包含在矢量数据中的起点和终点,凸曲线轮廓的起 点和终点,以及凹曲线轮廓的起点、控制点和终点而获得的多边形被 定义为直线轮廓。
相反,在第一实施例中的三角形数据生成单元2中,至少一个多 边形被定义为直线轮廓,该多边形是在不考虑控制点的情况下,通过 使用线段仅连接包含在矢量数据中的直线和曲线的起点和终点而获 得的。例如,作为根据图4的矢量数据解析的直线轮廓,可以获得如 图12所示的三个多边形P0、 P1和P2(以下,将在假设获得多个多边 形的情况下来描述)。
接下来,执行生成直线轮廓三角形(步骤S202)。具体地,首先, 在构成步骤S201中获得的直线轮廓的各多边形的多个顶点中选择任 意顶点(在本说明书中,该点被称为"轴心点")。然后,关于每个多 边形,生成以轴心点作为一个顶点的多个三角形,以使得轴心点和包 含轴心点的多边形上全部其他顶点被直线连接,并且相互连接的两个 顶点成为一个三角形的一边。这里,相互连接的两个顶点是指与多边 形的一边相连的两个顶点。
例如,假设在图12中,点0、 23和28分别被选择为三个多边形 PO、 Pl和P2的轴心点,生成如图13所示的多个三角形。在图13中, 多个三角形相互重叠,并且仅从该附图很难理解三角形的形成。因此, 为了方便,在图14中显示了构成根据三个多边形P0、 P1和P2生成 的多个三角形的三个顶点的数字标记。
但是,图14仅是使得说明书可以理解的补充,并不表示三角形 数据本身。实际的三角形数据由构成各三角形的三点的位置坐标、结 构坐标、连接关系等组成。
然后,解析矢量数据的曲线轮廓(步骤S203)。在该处理中,以与图5B中所示的处理相同的方式,将连接包含在矢量数据中的参数曲 线的起点、终点和控制点这3点的三角形的集合定义为曲线轮廓。
从三角形数据生成单元2输出按照如上所述的处理过程生成的 直线轮廓的三角形数据(图13)以及曲线轮廓的三角形数据(图5B),并 且将它们存储在三角形数据存储单元3中。
请注意,可以配置过程以使得并行地执行上述步骤S201和S202 的处理,从而使得可以在解析直线轮廓的同时生成三角形。
如上所述,三角形数据由构成各三角形的三点的位置坐标、结构 (texture)坐标、连接关系等组成。但是,三角形数据的结构不限于这 种格式,可以包括通常在计算机图形学领域中使用的其他数据。
模版数据生成单元4读取存储在三角形数据存储单元3中的三角 形数据,并且通过光栅化三角形中的像素生成模版数据。
模版数据是与最终呈现在显示单元8上的图像具有相同分辨率 的图像数据。注意,模版数据存储在模版数据存储单元5中。此外, 大约多个位的数值被分配给模版数据的各像素,并且在每帧的所有绘 画之前,这些数值被初始化为0。
然后,模版数据生成单元4从三角形数据存储单元3读取直线轮 廓(图13)的三角形数据和曲线轮廓(图5B)的三角形数据,并对它们光 栅化。此时,在直线轮廓的三角形内部的全部像素被光栅化。这里, 执行光栅化以使得相对于图13中所示的三角形,为每个三角形,对 在三角形内部的模版数据的像素值进行位反转(bit-irwerted)。
例如,当通过位反转来描绘图13中的全部三角形时,得到图15 中所示的模版数据。在图15中,在接受关于全部三角形的位反转处 理的像素中,用黑色填充像素值是非O值的区域,并用灰色填充像素 值是0的区域。从图15可以看出,在直线轮廓内部的像素值是非O 数值,而在外部的像素值是0。
在曲线轮廓的三角形内部的像素中,只有属于曲线的凸区域的像 素被光栅化,而对应于这些像素位置的模版数据的像素值是位反转 的。
例如,当图16A所示的光栅化模版数据被相对于直线轮廓的三
角形而应用于图15所示的模版数据时,并且属于曲线的凸区域的像 素值被位反转时,如图16B中所示,模版数据被更新。如图16B所 示,初始提供的图1的图形内部的像素值是非O的数值,而外部的像 素值是O。
在三角形数据的位反转绘制处理的顺序上不存在依赖关系。在图 15、 16A和16B中,首先,将直线轮廓的三角形数据一次全部绘制, 然后,将曲线轮廓的三角形数据一次全部绘制。然而,可以按照任何 顺序绘制全部三角形。
模版数据存储单元5存储由模版数据生成单元4生成的模版数据 (图16B)。
如上所述,模版数据是与最终呈现在显示单元8上的图像具有相 同分辨率的图像数据。但是,模版数据的结构不限于这种格式,可以 包括通常在计算机图形学领域中使用的其他数据。
光栅数据生成单元6生成光栅数据,从而参照存储在模版数据存 储单元5中的模版数据,仅仅光栅化像素值是非0的数值的区域(图 16B中用黑色填充的区域)。
光栅数据是与最终呈现在显示单元8上的图像具有相同分辨率 的图像数据,并且被存储在光栅数据存储单元7中。大约多个位的数 值被分配给光栅数据的各个像素,以用于多个颜色成分(例如,RGBA) 中每一个。
如图17A所示,光栅数据生成单元6将覆盖整个图形的两个三 角形的内部的全部像素光栅化。但是,这些像素中的、将被实际写入 光栅数据存储单元7中的像素仅限于相应模版数据的像素值是非0数 值的区域(图17A中用黑色填充的区域)。因此,图17B所示的光栅数 据被写入光栅数据存储单元7。
如上所述,光栅数据是与最终呈现在显示单元8上的图像具有相 同分辨率的图像数据。但是,光栅数据的结构不限于这种格式,可以 包括通常在计算机图形学领域中使用的其他数据。
显示单元8由用于将存储在光栅数据存储单元7中的光栅数据呈 现给用户的显示器、打印机等构成。
将图18的显示光栅化技术的处理过程的流程图与图3中所示的 流程图进行比较。根据第一实施例的图像处理装置,图3所示的由 CPU进行的预处理的代价仅用于轮廓线的解析(步骤S301)。然后, 由GPU执行生成模版数据(步骤S302)和生成光栅数据(S303)的处理。 因此,可以极大的减少CPU进行预处理的代价。因此,即使在图形 的几何形状动态变化时,也可以高速执行光栅化。
将描述第二实施例。
因为图像处理装置的结构与第一实施例中一样,所以省略对其说 明和详细描述。第二实施例与第一实施例的不同在于,三角形数据生 成单元2和模版数据生成单元4的处理内容不同。
如图12所示,在第一实施例中,三角形数据生成单元2使多边 形为直线轮廓,其中,通过使用线段仅连接包含在矢量数据中的直线 和曲线的起点和终点来获得所述多边形。
相反,在第二实施例中,按照与图5A中所示技术相同的方式, 三角形数据生成单元2使多边形为直线轮廓,其中,通过使用线段连 接包含在矢量数据中的直线的起点和终点,凸曲线轮廓的起点和终 点,以及凹曲线轮廓的起点、控制点和终点来获得所述多边形。
三角形数据生成单元2,按照与第一实施例相同的方式,通过对 直线轮廓的解析,相对于多边形,生成以轴心点作为一个顶点的多个 三角形数据。图19显示了生成的三角形数据的实例。
曲线轮廓的结构类型和根据曲线轮廓生成三角形数据的方法与 第一实施例相同。
模版数据生成单元4按照与第一实施例相同的方式,从三角形数 据存储单元3中读取并光栅化直线轮廓(图19)的三角形数据和曲线轮 廓(图5B)的三角形数据。此时,相对于直线轮廓的三角形,在各三角 形内部的全部像素被光栅化,从而位反转对应于这些像素位置的模版 数据的像素值。
当通过位反转绘制图19中的全部三角形时,获得如图20所示的 模型数据。在图20中,在己经被位反转一次或多次的像素中,像素 值是非0数值的区域被黑色填充,而像素值是0的区域被灰色填充。
如图16A所示,在第一实施例中,模版数据生成单元4仅光栅 化在曲线轮廓的三角形内部的像素中的、属于曲线的凸区域的像素。
相反,在第二实施例中,如图21A所示,模版数据生成单元4 仅光栅化在曲线轮廓三角形内部的像素中的、凹曲线轮廓的凹区域或 者凸曲线轮廓的凸区域。
例如,在已经通过位反转绘制直线轮廓的三角形数据并且己经获 得图20中所示的模版数据的情况中,当通过位反转绘制如图21A中 所示的,属于曲线的凹区域或者凸区域的像素值时,更新模版数据, 如图21B中所示。从图21B可以看出,在初始提供的图2的图形内 部的像素值被设置为非0的数值,并且在外部的像素值被设置为0。
注意,在三角形数据的位反转绘制的处理中,在顺序上不存在依 赖关系。在图20、 21A和21B中,首先,将直线轮廓的三角形数据 一次全部绘制,然后,将曲线轮廓的三角形数据一次全部绘制。但是, 可以按照任何顺序绘制全部三角形。
由根据第二实施例的图像处理装置执行的光栅化技术的处理过 程与图18中所示的第一实施例的流程图基本上相同。
因此,根据第二实施例的图像处理装置,按照与第一实施例相同 的方式,能够极大地减少预处理代价。由于这个原因,即使在图形的 几何形状动态变化时,也可以高速执行光栅化。
此外,在第二实施例中,对直线轮廓的解析技术与第一实施例中 的不同,并且执行与在图5A和5B所示的技术中相同的解析。但是, 很明显,不再需要进行曲线轮廓的细分割(步骤S103)和直线轮廓的更 新(步骤S104),并且在这一点,还可以极大的减少预处理代价。
将描述第三实施例。
如图22所示,在根据第三实施例的图像处理装置中,还为根据 第一和第二实施例的图像处理装置提供覆盖数据存储单元9和光栅 数据合成单元10。
覆盖数据存储单元9存储从模版数据生成单元4输出的覆盖数据。
覆盖数据是与最终呈现在显示单元8上的图像具有相同分辨率
200710086236. 1
说明书第13/15页
的图像数据。大约多个位的数值被分配给覆盖数据的各像素,并且在 每个帧的所有绘画前被初始化为1。
模版数据生成单元4通过位反转绘制模版数据并且输出到模版 数据存储单元5。在那时,模版数据生成单元4将a值绘制在覆盖数 据存储单元9中保存的覆盖数据的相应像素位置上。
模版数据生成单元4将小于1的值分配给光栅化的像素中的、位 于图形边沿附近的像素的a值,并且将a值作为覆盖数据输出给覆盖 数据存储单元9。
光栅数据生成单元6参照存储在覆盖数据存储单元9中的覆盖数 据,生成具有子像素精度的光栅数据,并且将该数据输出至光栅数据 存储单元7。
然后,当覆盖数据为1的像素被光栅化时,光栅数据生成单元6 相对于包含在像素中的全部子像素,分配这次光栅化的像素的颜色 值。
另一方面,当其覆盖数据小于1的像素,即,图形边沿附近的像 素被光栅化时,光栅数据生成单元6相对于包含在像素中的子像素中 的一部分,分配这次光栅化的像素的颜色值,并且相对于剩余子像素 直接存储已经分配的颜色值。注意,基于覆盖的大小,选择被分配颜 色值的子像素。
光栅数据存储单元7存储由光栅数据生成单元6生成的、具有子 像素精度的光栅数据,以及由光栅数据合成单元IO合成的、具有像 素精度的光栅数据。
光栅数据合成单元10合成存储在光栅数据存储单元7中的、具 有子像素精度的光栅数据,并且将该数据转化为与最终呈现在显示单 元8上的图像具有相同分辨率(像素精度)的光栅数据。
通过这种方式,由于合成具有子像素精度的光栅数据,因此可以 获得已经消除锯齿现象的平滑的光栅化结果。
如上所述,在参考文件的技术中,a混合已经用于抗锯齿处理。 因此,必须深度排序全部图形对象,并且以更深位置的图形的顺序来 光栅化所述全部图形对象。
16
但是,根据第三实施例的图像处理装置,可以高速执行抗锯齿处 理,这是因为没有使用具有高处理代价的a混合。
将描述第四实施例。
各实施例基本上描述了包括参数曲线(例如,二次Bezier曲线)的 图形被光栅化的实例。第四实施例显示了一个例子,其中,即使包含 三次Bezier曲线的图形也能够被按照与包含上述参数曲线(例如,二 次Bezier曲线)的图形相同的方式来处理。注意,因为其处理过程与 第一实施例的相同,所以省略对其的说明。此外,省略与第一实施例 重叠部分的描述。
图23是显示包含三次Bezier曲线的图形的实例的示意图。假设 图23的图形被作为如图24所示的矢量数据存储于矢量数据存储单元 1。
三角形数据生成单元2按照与第一实施例相同的方式,解析图 24所示的矢量数据,并且生成图25A中所示的直线轮廓和图25B中 所示的曲线轮廓。这里,图形上的直线或者参数曲线的端点由黑点表 示,并且由白点表示参数曲线的控制点。在第四实施例中,参数曲线 的控制点是相对于参数曲线的端点的两个点,并且形成三角形以使得 一个控制点与对角方向位置的端点相连。注意,由图26A中所示的 曲线确定相对于曲线轮廓的光栅数据。但是,这可以由具有图26B 中所示的拐点的曲线来确定。
然后,相对于直线轮廓,按照与第一实施例相同的方式,三角形 数据生成单元2生成多个以轴心点作为一个顶点的三角形,如图27 所示,从而以直线相连轴心点(在图27中的0点)和包含轴心点的三 角形中的全部其他顶点,并且相互连接的两个顶点变为一个三角形的 一边。
模版数据生成单元4按照与第一实施例相同的方式光栅化由三 角形数据生成单元2生成的三角形数据。因此,可以获得图28中所 示的光栅化模版数据。最后,按照与第一实施例相同的方式,模版数 据生成单元4,根据从直线轮廓的三角形数据获得的模版数据(图28) 和从曲线轮廓的三角形数据获得的模版数据(图29A),生成如图29B
所示的模版数据。然后,最后光栅化如图30A中所示的覆盖整个图 形的两个三角形内部的全部像素。但是,这些像素中的、将被实际写 入光栅数据存储单元7中的像素仅限于相应模版数据的像素值是非0 数值的区域(图30A中用黑色填充的区域)。因此,图30B中所示的光 栅数据被写入光栅数据存储单元7。注意,因为在这种情况下,详细 处理与第一实施例中的相同,所以省略其描述。
如上所述,本实施例提供了新的光栅化技术,其中极大减少了预 处理代价。因此,即使在图形的几何形状动态改变时,也可以高速执 行光栅化。
此外,本实施例提供了新的不需要a混合的抗锯齿处理技术。因 此,不再需要处理代价较高的深度排序,并且可以高速应用抗锯齿处 理。
例如,上述实施例已经描述了根据关于字符的矢量格式图形数据 生成光栅格式图形数据的情况。但是,不用说,本发明可以应用于以 下情况,例如,以矢量格式提供地图数据,从地图数据生成光栅格式 图形数据。
根据本发明,即使在图形的几何形状动态变化时,仍然可以高速 执行光栅化。另外,可在不使用具有较高处理代价的a混合的情况下, 高速地应用抗锯齿处理。
权利要求
1.一种图像处理装置,包括第一数据生成单元,其通过针对矢量格式图形数据解析直线轮廓和曲线轮廓,并且形成直线轮廓三角形和曲线轮廓三角形,从而生成三角形数据;第二数据生成单元,其根据所述三角形数据生成模版数据;以及第三数据生成单元,其参照所述模版数据生成光栅格式图形数据。
2. 根据权利要求1所述的装置,还包括 第一存储单元,其存储所述矢量格式图形数据; 第二存储单元,其存储由所述第一数据生成单元生成的所述三角形数据;第三存储单元,其存储由所述第二数据生成单元生成的所述模版 数据;第四存储单元,其存储由所述第三数据生成单元生成的所述光栅 格式图形数据。
3. 根据权利要求2所述的装置,还包括显示单元,其呈现所述 光栅格式图形数据。
4. 根据权利要求1所述的装置,其中,所述第一数据生成单元 通过解析所述矢量格式图形数据的直线轮廓生成至少一个多边形,并 且以下述方式,针对每个多边形生成多个三角形,所述方式是,以多 边形的一个顶点作为多个三角形的公共顶点,以直线连接所述公共顶 点与全部其他顶点,并且相互连接的两个顶点成为一个三角形的一边。
5. 根据权利要求4所述的装置,其中,所述第二数据生成单元通过对存储在所述第三存储单元中的所述多个三角形内部的像素进 行位反转,以及通过对存储在所述第三存储单元中的、基于所述曲线 轮廓生成的曲线的凹区域或者凸区域所属的像素进行位反转来生成 模版数据。
6. 根据权利要求1所述的装置,其中,由所述曲线轮廓定义的 曲线是参数曲线。
7. 根据权利要求1所述的装置,其中,所述第二数据生成单元 为光栅化像素中的、位于图形边沿附近的像素的a值赋予小于1的值。
8. 根据权利要求7所述的装置,还包括第五存储单元,其存储 从所述第二数据生成单元输出的像素的a值,作为覆盖数据。
9. 根据权利要求8所述的装置,还包括光栅数据合成单元,该 光栅数据合成单元基于存储在所述第五存储单元中的覆盖数据来合 成光栅数据。
10. —种图像处理方法,包括-针对矢量格式图形数据解析直线轮廓和曲线轮廓,以及通过形成 直线轮廓三角形和曲线轮廓三角形来生成三角形数据; 根据所述三角形数据生成模版数据;以及 参考所述模版数据生成光栅格式图形数据。
全文摘要
本发明提出了一种图像处理装置和一种图像处理方法,其中,所述图像处理装置具有第一数据生成单元,用于通过针对矢量格式图形数据解析直线轮廓和曲线轮廓来形成直线轮廓三角形和曲线轮廓三角形,从而生成三角形数据;第二数据生成单元,用于根据三角形数据生成模版数据;以及第三数据生成单元,用于参照所述模版数据来生成光栅格式图形数据。
文档编号G06T11/20GK101114380SQ20071008623
公开日2008年1月30日 申请日期2007年3月9日 优先权日2006年3月10日
发明者爰岛快行 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1