CN102467737A - 用于向量图形的线段对照表产生方法与产生装置 - Google Patents
用于向量图形的线段对照表产生方法与产生装置 Download PDFInfo
- Publication number
- CN102467737A CN102467737A CN2010105330156A CN201010533015A CN102467737A CN 102467737 A CN102467737 A CN 102467737A CN 2010105330156 A CN2010105330156 A CN 2010105330156A CN 201010533015 A CN201010533015 A CN 201010533015A CN 102467737 A CN102467737 A CN 102467737A
- Authority
- CN
- China
- Prior art keywords
- line segment
- statistical form
- comparisons
- storage unit
- sweep trace
- 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
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种用于向量图形的线段对照表产生方法及装置,包含有:接收多条线段所分别对应的多笔线段数据,其中每一线段数据包含一相对应线段所对应的一端点的信息;依据该些线段所对应的多个端点,统计多条扫描线中每一扫描线于该些端点中所对应的端点数量,以产生一第一统计表;以及依据该第一统计表来重新排列该些线段数据,以产生并写入一线段对照表至一第一储存元件。本发明实施例所提出的方法及装置是应用统计的方式来依序将线段数据重新排列,因此不需要多余的储存空间来置放链结顺序,此外,具有同样特征的线段的线段数据会分配在邻近而连续的储存位置上,因此可加速读取与写入的效率,对栅格化处理的硬体设备来说会更加地便利。
Description
技术领域
本发明涉及向量图形技术,尤指一种用于向量图形的线段对照表的产生方法。
背景技术
在一般的向量图形(vector graphics)技术之中,为了要将一个三维(3-dimension)的物件模型呈现在一个二维平面上,需先计算该三维物件模型在该二维平面的投射,并以向量的方式来撷取一投射影像,再经由一线段化(Tessellation)引擎将该投射影像的所有线条转换成线段(edge),接着再由一栅格化(Rasterization)引擎将该些线段转换成像素信息(例如,一线条中每一像素的坐标等信息),最后再由绘图系统依据得到的像素信息来描绘成像。
一般基本的栅格化引擎在处理一线段的线段时,会在该线段所经过的每一条扫描线(scan line)上作计算处理,亦即,假若该线段经过了300条扫描线,一般的基本栅格化引擎亦会相对应地处理300次。然而,当所处理的影像较复杂而有着相当大量的线段时,其所需要付出的时间以及资源也会大量增加。是故,有些现有栅格化引擎应用了线段对照表(edge table)来处理相关的计算(例如:应用一动态线段对照表(active edge table)来降低每一扫描线所需处理的线段),以减少计算所需的时间以及资源。请参照图1,其为现有栅格化引擎所应用的线段对照表的范例示意图。在图1的例子当中,共有四条扫描线L0~L3,而与扫描线L0~L3有所交会的线段分别有10、20、30、20条。因此该现有栅格化引擎所需处理的计算次数为:10+(10+20)+(10+20+30)+(10+20+30+20)=180。相对来说,一般的基本栅格化引擎所需处理的计算次数则为:4*(10+20+30+20)=320。因此,经由线段对照表,栅格化引擎的计算流程可被大幅地简化。
然而,一般常见的线段对照表是经由链结串列(linked-list)的方式来加以产生。请同时参照图2与图3,图2为线段转换为线段对照表的一范例示意图,而图3为依据图2的线段所产生的线段对照表以及相对应的单向链结串列数据的示意图。图2中有五条扫描线Y0~Y4,而由左至右分别有五条线段E0~E4,图3中的一扫描线索引具有五个数据条目(dataentry),分别对应扫描线Y0~Y4,而每个数据条目所包含的数据均指向相对应的链结串列数据,而图3中的每一链结串列数据均有三笔数据条目,分别为数据序号、线段数据以及下笔数据序号,其中线段数据D0~D4分别代表线段E0~E4的相关信息,例如线段的长度、起点与终点坐标以及斜率等等信息。在此范例中,线段对照表会依据各个线段由上而下的起点来处理相关信息,举例来说,当在处理扫描线Y0时,按照线段对照表的索引会先搜寻数据序号为1的链结串列数据,再接着依循搜寻到的链结串列数据是否包含下笔链结串列数据序号的继续进行搜寻,在此范例中,由数据序号为1的链结串列数据会链结到数据序号为0的链结串列数据,而数据序号为0的链结串列数据指示已无下笔数据,这时扫描线Y0的处理程序会归类为已完成,而依序开始下个扫描线Y1的处理程序。
然而,采用链结串列的方式来产生线段对照表的方法会需要较多的储存空间来置放链结顺序(双向的链结串列格式则需要更多一倍的数据顺序储存空间),因此,如何有效率地产生线段对照表以进行栅格化程序的方法仍是此领域尚待解决的一大课题。
发明内容
有鉴于此,本发明提供了一种线段对照表的产生方法以及相关装置,以解决上述的问题。
依据本发明的一实施例,其提供了一种用于向量图形(vector graphics)的线段对照表(edge table)产生方法,包含有:接收多条线段所分别对应的多笔线段数据,其中每一线段数据包含一相对应线段所对应的一端点的信息;依据该些线段所对应的多个端点,统计多条扫描线中每一扫描线于该些端点中所对应的端点数量,以产生一第一统计表;以及依据该第一统计表来重新排列该些线段数据,以产生并写入一线段对照表至一第一储存元件。
依据本发明的另一实施例,其提供了一种用于向量图形的线段对照表产生装置,包含有:一第一储存元件以及一处理电路。该第一储存元件用以储存一线段对照表。该处理电路耦接于该第一储存元件,用以接收多条线段所分别对应的多笔线段数据,其中每一线段数据包含一相对应线段所对应的一端点的信息,并依据该些线段所对应的多个端点,统计多条扫描线中每一扫描线于该些端点中所对应的端点数量,以产生一第一统计表,以及依据该第一统计表来重新排列该些线段数据,以产生并写入该线段对照表至该第一储存元件。
本发明所提出的方法是应用统计的方式来依序将线段数据重新排列,因此不需要多余的储存空间来置放链结顺序,此外,具有同样特征的线段的线段数据会分配在邻近而连续的储存位置上,因此可加速读取与写入的效率,对栅格化处理的硬体设备来说会更加地便利。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为现有栅格化引擎所应用的线段对照表的范例示意图。
图2为线段转换为线段对照表的一范例示意图。
图3为依据图2的线段所产生的线段对照表以及相对应的单向链结串列数据。
图4为本发明用于向量图形的线段对照表产生装置的第一实施例的示意图。
图5为本发明的一实施例中产生对应于图2所示的线段的一第一统计表与一第二统计表的范例示意图。
图6为本发明的一实施例中依据一第二统计表以及所接收到的线段数据来产生线段对照表的示意图。
图7为图6中同步产生线段对照表ET并更新第二统计表的流程示意图。
图8为本发明用于向量图形的线段对照表产生装置的一第二实施例的示意图。
附图标号:
100、200 线段对照表产生装置
110、210 第一储存元件
120、220 处理电路
121、221 累计元件
230 第二储存元件
ET 线段对照表
L1~L4、Y0~Y4 扫描线
D0~D4 扫描线数据
T1 第一统计表
T2 第二统计表
T1_0~T1_4、T1_0~T1_4 统计表条目
ET_0~ET_4 线段对照表条目
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
请参照图4,其为本发明用于向量图形(vector graphics)的线段对照表(edge table)产生装置的一第一实施例的示意图。本实施例中,线段对照表产生装置100包含有一第一储存元件110以及一处理电路120,其中处理电路120中包含有一累计元件121。处理电路120在接收多条线段所分别对应的多笔线段数据后,会依据该些线段所对应的多个端点,统计多条扫描线中每一扫描线于该些端点中所对应的端点数量,并产生一第一统计表T1,而累计元件121会接着依据该些扫描线的顺序以及第一统计表T1,来产生一第二统计表T2。请配合图2来参照图5,其为依据本发明的一实施例来产生对应于图2所示的线段的第一统计表T1与第二统计表T2的范例示意图。假若所接收的线段数据依序为D0~D4(分别对应至线段E0~E4),在此实施例中,处理电路120会查询每一线段在Y轴方向上所对应的起点来产生第一统计表T1,举例来说,假设第一统计表T1的各个条目可依序表示为T1_0~T1_4,线段E0与E1的起点均在扫描线Y0上,是故第一统计表T1上对应扫描线Y0的第一个条目T1_0便填入2,亦即代表在扫描线Y0上具有两个线段的起点;同样地,线段E2与E3的起点均在扫描线Y2上,是故第一统计表T1上对应扫描线Y2的第三个条目T1_2便填入2,亦即代表在扫描线Y2上具有两个线段的起点;线段E4的起点则是在扫描线Y1上,第一统计表T1上对应扫描线Y1的第二个条目T1_1便填入1;最后,扫描线Y3与Y4上均无任何线段的起点,是故第三与第四个条目T1_3与T1_4均填入0,在完成所有扫描线的统计之后,处理电路120便可由此产生第一统计表T1。然而,上述范例仅为说明之用,并非用来限定本发明的范畴,例如,处理电路120亦可应用每个线段的终点来作统计,以产生第一统计表T1,此一设计上的变化亦属于本发明的范围之内。
在得到第一统计表T1之后,累计元件121会进一步将第一统计表T1作累积计算,并依序产生第二统计表T2。请再参照图5,假设第二统计表T2的各个条目可依序表示为T2_0~T2_4,第二统计表T2的每一个条目均表示了第一统计表T1中相对应的条目之前的统计数值总和,亦即第二统计表T2中的条目T2_0表示第一统计表T1中条目T1_0以前的统计数值总和,由于条目T1_0之前没有任何条目,是故条目T2_0内填入0;同样地,第二统计表T2中的条目T2_1表示第一统计表T1中条目T1_1以前的统计数值总和,由于条目T1_1以前仅有条目T1_0,是故T2_1=T1_0=2;而第二统计表T2中的条目T2_2表示第一统计表T1中条目T1_2以前的统计数值总和,T2_2=T1_0+T1_1=2+1=3;以此类推,便可得到如图5所示完整的第二统计表T2。由上述描述可知,第二统计表T2可以具有依序对应至上述扫描线的多个暂存区,且每一暂存区所纪录的一数值为基于累加暂存区所对应扫描线之前所有扫描线的端点数量。
请参照图6,其为本发明的一实施例中依据第二统计表T2以及所接收到的线段数据D0~D4来产生线段对照表ET的示意图。在得到第二统计表T2后,处理电路120会参照第二统计表T2来重新排列所接收到的线段数据D0~D4,以产生线段对照表ET,并将线段对照表ET储存入第一储存元件110之中。请配合图6来参照图7,图7为图6中同步产生线段对照表ET并更新第二统计表的流程示意图。首先,第一储存元件110上会先分配出一个用以储存线段对照表ET的空间,在本实施例中,该空间分别具有对应至扫描线Y0~Y4的五个储存区ET_0~ET_4,而处理电路120会依序对线段数据D0~D4进行处理并重新分配线段数据D0~D4至储存区ET_0~ET_4中。
首先,处理电路120会先查询线段数据D0,由于线段E0的起点位在扫描线Y0上,处理电路120会查询第二统计表T2中对应扫描线Y0的条目T2_0,而条目T2_0的内容为0,是故处理电路120便将线段数据D0写入至相对应的储存区ET_0之中,并将条目T2_0的内容加上1(亦即0+1)以更新第二统计表T2。接下来,处理电路120会查询线段数据D1,由于线段E1的起点亦位在扫描线Y0上,处理电路120同样地会查询更新后的第二统计表T2中对应扫描线Y0的条目T2_0,由于条目T2_0的内容已被更新为1,故处理电路120便将线段数据D1写入至相对应的储存区ET_1之中,并将条目T2_0的内容再加上1(亦即1+1)以进一步更新第二统计表T2。之后,处理电路120会查询线段数据D2,而线段E2的起点亦位在扫描线Y2上,故处理电路120会查询更新后的第二统计表T2中对应扫描线Y2的条目T2_2,条目T2_2的内容为3,因此处理电路120便将线段数据D2写入至相对应的储存区ET_3之中,并将条目T2_3的内容再加上1(亦即3+1)以更新第二统计表T2。以此类推,处理电路120可轻易地依据第二统计表T2来对线段数据D0~D4重新排列并得到线段对照表ET,进而加速影像处理的效率。
请参照图8,其为本发明用于向量图形的线段对照表产生装置的一第二实施例的示意图。本实施例中,线段对照表产生装置200包含有一第一储存元件210、一第二储存元件230以及一处理电路220,其中处理电路220中包含有一累计元件221。请注意,由于第一储存元件210与处理电路220的结构以及功能与图4所示的第一储存元件110与处理电路120的结构以及功能大致相同,在此便不再赘述。相较于线段对照表产生装置100,线段对照表产生装置200可将线段化(Tessellation)引擎所输出的线段数据储存至第二储存元件230内,并同时统计已储存的该些扫描线中每一扫描线于该些端点中所对应的端点数量(亦即每接收到一笔线段数据,在储存该笔线段数据时会一并进行前述的统计操作),以产生第一统计表T1,因而不需要等待线段化引擎的处理程序完成之后才产生第一统计表T1。此外,第一储存元件210与第二储存元件230均可用动态随机存取存储器(dynamic randomaccess memory,DRAM)或静态随机存取存储器(static random access memory,SRAM)来加以实现,这些设计上的变化均属于本发明的范围之内。
相较于现有的链结串列式的线段对照表,本发明所提出的方法应用统计的方式来依序将线段数据重新排列,因此不需要多余的储存空间来置放链结顺序,此外,具有同样特征(在实施例中,此项特征为该线段在由上而下的方向上的起点)的线段的线段数据会分配在邻近而连续的储存位置上,因而可加速读取与写入的效率,对栅格化处理的硬体设备来说会更加地便利。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (8)
1.一种用于向量图形的线段对照表产生方法,其特征在于,所述线段对照表产生方法包含有:
接收多条线段所分别对应的多笔线段数据,其中每一线段数据包含一相对应的端点的信息;
统计多条扫描线中每一扫描线于所述线段中相对应的端点数量,以产生一第一统计表;
依据所述第一统计表与所述扫描线的顺序累加以产生一第二统计表;以及
依据所述第二统计表,来重新排列所述线段数据,以产生并写入一线段对照表至一第一储存元件。
2.如权利要求1所述的线段对照表产生方法,其特征在于,依据所述第一统计表与所述扫描线的顺序累加以产生所述第二统计表的步骤更包含有:
所述第二统计表具有依序对应至所述扫描线的多个暂存区,且每一暂存区所纪录的一数值是基于累加所述暂存区所对应的扫描线之前所有扫描线的端点数量所产生;以及
依据所述第二统计表来重新排列所述线段数据,以产生所述线段对照表并将所述线段对照表储存入所述第一储存元件。
3.如权利要求2所述的线段对照表产生方法,其特征在于,依据所述第二统计表来重新排列所述线段数据的步骤包含有:
针对所述线段之中一特定线段:
依据所述特定线段的端点所对应的一特定扫描线来查询所述第二统计表,并由所述第二统计表中对应所述特定扫描线的一特定暂存区所纪录的数值来得到一查询结果;以及
依据所述查询结果来决定所述第一储存元件中的一特定储存位址,并将所述特定线段的线段数据写入至所述第一储存元件中的所述特定储存位址。
4.如权利要求3所述的线段对照表产生方法,其特征在于,依据所述第二统计表来重新排列所述线段数据的步骤另包含有:
针对所述些线段之中所述特定线段:
在决定出所述第一储存元件中的所述特定储存位址之后,更新所述特定暂存区所纪录的数值。
5.如权利要求1所述的线段对照表产生方法,其特征在于,产生所述第一统计表的步骤包含有:
将所接收的所述线段数据逐一储存至一第二储存元件;以及
在所述线段数据逐一储存至所述第二储存元件的过程中,同时统计所述扫描线中每一扫描线在所述端点中所对应的端点数量,以产生所述第一统计表。
6.一种用于向量图形的线段对照表产生装置,其特征在于,所述的线段对照表产生装置包含有:
一第一储存元件,用以储存一线段对照表;以及
一处理电路,耦接于所述第一储存元件,以产生并写入所述线段对照表至所述第一储存元件,
其中,所述处理电路接收多条线段所分别对应的多笔线段数据,统计多条扫描线中每一扫描线上所对应的线段端点数量,以产生一第一统计表,利用所述第一统计表与所述扫描线顺序累加产生一第二统计表以重新排列所述线段数据,以产生所述线段对照表。
7.如权利要求6所述的线段对照表产生装置,其特征在于,所述处理电路包含有:
一累计元件,依据所述扫描线的顺序以及所述第一统计表,累加所对应的扫描线之前所有扫描线的端点数量而产生所述第二统计表。
8.如权利要求6所述的线段对照表产生装置,其特征在于,所述的线段对照表产生装置另包含有:
一第二储存元件,耦接至所述处理电路;
其中所述处理电路将所接收的所述线段数据逐一储存至所述第二储存元件,并在所述线段数据逐一储存至所述第二储存元件的过程中,同时统计所述扫描线中每一扫描线在所述端点中所对应的端点数量,以产生所述第一统计表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010533015.6A CN102467737B (zh) | 2010-11-04 | 2010-11-04 | 用于向量图形的线段对照表产生方法与产生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010533015.6A CN102467737B (zh) | 2010-11-04 | 2010-11-04 | 用于向量图形的线段对照表产生方法与产生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102467737A true CN102467737A (zh) | 2012-05-23 |
CN102467737B CN102467737B (zh) | 2015-05-13 |
Family
ID=46071344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010533015.6A Expired - Fee Related CN102467737B (zh) | 2010-11-04 | 2010-11-04 | 用于向量图形的线段对照表产生方法与产生装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102467737B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5444839A (en) * | 1992-04-29 | 1995-08-22 | Canon Kabushiki Kaisha | Object based graphics system for rasterizing images in real-time |
CN1270366A (zh) * | 1999-03-31 | 2000-10-18 | 国际商业机器公司 | 使用捕捉的图形硬件指令的图形渲染方法和系统 |
CN1305297C (zh) * | 2003-06-26 | 2007-03-14 | 三星电机株式会社 | 行缓冲器及提供用于颜色内插的行数据的方法 |
-
2010
- 2010-11-04 CN CN201010533015.6A patent/CN102467737B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5444839A (en) * | 1992-04-29 | 1995-08-22 | Canon Kabushiki Kaisha | Object based graphics system for rasterizing images in real-time |
CN1270366A (zh) * | 1999-03-31 | 2000-10-18 | 国际商业机器公司 | 使用捕捉的图形硬件指令的图形渲染方法和系统 |
CN1305297C (zh) * | 2003-06-26 | 2007-03-14 | 三星电机株式会社 | 行缓冲器及提供用于颜色内插的行数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102467737B (zh) | 2015-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102819820B (zh) | 基于分块渲染的gpu中多管线渲染的实现方法 | |
CN103718244B (zh) | 用于媒体处理加速器的采集方法和装置 | |
CN102460503A (zh) | 显示源图像的变形版本的设备和方法 | |
US20080129734A1 (en) | Apparatus and method of ray-triangle collision detection for ray-tracing | |
CN105786942A (zh) | 一种基于云平台的地理信息存储系统 | |
CN103995684B (zh) | 超高分辨率平台下的海量影像并行处理显示方法及系统 | |
CN102999946A (zh) | 一种3d图形数据处理方法、装置及设备 | |
CN110390382B (zh) | 一种带新型特征图缓存模块的卷积神经网络硬件加速器 | |
JP2009099098A (ja) | コンピュータグラフィックス描画装置及び描画方法 | |
CN105488753A (zh) | 一种对图像进行二维傅立叶变换或反变换的方法及装置 | |
JP2013186624A (ja) | 画像処理装置、および画像処理装置の動作方法 | |
CN102163404A (zh) | 基于sdram的大屏幕led显示控制装置及方法 | |
US8305383B2 (en) | Data access apparatus and method | |
CN101796845B (zh) | 运动图像编码中的运动搜索装置 | |
CN102696055A (zh) | 利用分层加速结构的图形渲染 | |
CN103208128A (zh) | 显示图片的方法及装置 | |
CN102467737A (zh) | 用于向量图形的线段对照表产生方法与产生装置 | |
CN104036754B (zh) | 共享行缓存的双缩放器系统 | |
CN108629734B (zh) | 图像几何变换方法、装置及终端 | |
CN101996142B (zh) | 一种访问存储器的方法及装置 | |
CN106658121A (zh) | 一种机顶盒显示指纹信息的方法及系统 | |
CN102609457B (zh) | 栅格数据的多应用服务方法和栅格数据的多应用服务器 | |
JP2020160828A (ja) | 2次元画像をアフィン変換するための画像データ処理装置 | |
CN103916674A (zh) | 存储装置及方法、映射方法、编解码装置和图像处理设备 | |
JP5310079B2 (ja) | 画像描画装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150513 Termination date: 20181104 |