用于向量图形的线段溢位修正方法

文档序号:6355306阅读:184来源:国知局
专利名称:用于向量图形的线段溢位修正方法
技术领域
本发明系相关于ー种用于向量图形光栅化(rasterization)的处理方法,尤指ー种应用定点格式(fixed point format)来进行光栅化的处理方法。
背景技术
在一般的向量图形(vector graphics)技术之中,为了要正确而快速地呈现ー影像,会先经由ー线段化(Tessellation)引擎将该影像的所有线条转换成线段(edge),接着再由一光栅化(Rasterization)引擎将该些线段转换成像素信息(例如,一线条中姆ー像 素的座标等信息),最后,再由绘图系统依据所得到的像素信息来描绘成像。对现有的绘图系统来说,大部分的运算资源会应用在将线段转成像素的光栅化处理。在线段化的过程中,姆ー线段均是以浮点格式(floating point format)所储存,然而,一般浮点格式的线段占用了极大的储存容量(例如2128 = 128个位元),并使得计算所需的时间也相对应地增加。

发明内容
本发明的目的之一在于减少绘图系统在光栅化所需要的资源以及运算时间,以提升系统效能。基于本发明的ー实施例,其提供了一种用于向量图形的线段溢位修正方法,其系应用定点格式来对至少一线段进行光栅化处理,包含有设定ー处理范围;判断一线段的端点比对处理范围是否溢位;当线段溢位时,依据线段溢位的端点至线段与处理范围的交点处投射至处理范围,以决定是否产生一置換端点及/或一置换线段,当线段未溢位时,接续下ー步骤;以及依据已做过溢位处理的至少ー线段进行光栅化处理。基于本发明的另ー实施例,其提供了一种用于向量图形(vectorgraphic)的线段溢位修正(edge overflow correction)方法,其系应用定点格式(fixed point format)来对至少ー线段(edge)进行光栅化处理,包含有设定ー处理范围与ー显示范围;判断ー线段的端点比对处理范围是否溢位;当线段溢位时,依据线段溢位的端点至线段与显示范围的交点处投射至显示范围,以决定是否产生一置換端点及/或一置换线段,当线段未溢位时,接续下ー步骤;以及依据已做过溢位处理的至少ー线段进行光栅化(rasterization)处理。本发明提供了一种可应用定点格式对至少一线段进行光栅化处理的方法与装置,经由使用一置換端点及/或一置换线段来处理有溢位情况的ー线段,因而可减少绘图系统在光栅化所需要的资源以及运算时间,进而提升系统效能,此外,亦可运算出正确的绘图结果。


图I为应用定点格式来储存线段数据的范例示意图。
图2为依据本发明的一实施例所实现的一线段溢位修正装置的示意图。图3为本发明的一实施例中应用ー线段溢位修正装置对ー线段进行溢位处理的操作示意图。图4为本发明的一实施例中应用ー线段溢位修正装置的操作流程示意图。图5为本发明的一实施例中应用ー处理元件的操作流程示意图。图6为本发明的一实施例中应用ー线段溢位修正装置对ー线段进行溢位处理的操作示意图。主要元件符号说明200线段溢位修正装置
210设定元件220处理元件221第一处理电路222第二处理电路401 405、4031 4038 步骤D_E1线段数据E0、E1、E2、E3线段E2’、E3’置换后线段N1、N2、N3端点N21第一置换后端点N22第二置换后端点N2’、N3’置换后端点Rl处理范围Vl显示范围
具体实施例方式由于现有的线段化引擎是以浮点格式(floating point format)来储存线段数据,然而,假若可以使用定点格式(fixed point format)来表示线段数据,不但可以大幅减少储存线段数据的空间,亦可降低计算所需的时间。定点格式的线段数据会因有限的储存空间而产生溢位(overflow)的现象,举例来说,请參照图1,图I为应用定点格式来储存线段数据的范例示意图。对定点格式的线段数据来说,每ー线段均是以ー固定范围之内的座标来表示,在图I中,每一座标(X,Y)均可以24个位元来表示,其处理范围Rl则可以设定为-20482048,-2048 ^ 2048,其中0 < X < 1280,0 ^ Y ^ 720的区域则是显示器所设定的显示范围VI。假若分别对两线段EO与El进行光栅化处理时,由于线段EO整体均位在处理范围Rl之内,因此可顺利显示,然而,线段El的一端点NI的座标(-3072,1536)超出了处理范围Rl,是故无法正确地绘图而呈现错误的显示結果。此外,即使将线段El中超出处理范围Rl的部分略去,仍旧可能影响到显示区域的图形而无法得到正确的绘图結果。请參照图2,其为依据本发明的一实施例所实现的一线段溢位修正(edgeoverflow correction)装置200的示意图。线段溢位修正装置200包含有(但不局限于)一设定元件210以及ー处理元件220,而处理元件220中包含有一第一处理电路221以及一第二处理电路222。以图I为例,线段溢位修正装置200应用定点格式来对至少ー线段(edge)进行光栅化处理,线段溢位修正装置200接收ー线段数据(例如图I所示的线段El的数据D_E1),设定元件210则依据线段溢位修正装置200所采用的定点格式来设定ー处理范围(例如,图I所示的处理范围Rl),而处理元件220则依据线段El的一第一端点(例如,端点NI)与一第二端点来决定线段El在处理范围Rl中是否溢位,并在溢位发生吋,依据第一端点NI以及处理范围Rl来决定ー第一置換端点以及ー第一置换线段,接着再依据线段E1、该第一置換端点以及该第一置换线段来对线段El进行光栅化处理,经由补充该第一置換端点以及该第一置换线段的数据,线段溢位修正装置200便可将溢位所造成的错误影响排除,并呈现正确的绘图結果。
由于本实施例中的线段溢位修正装置200应用了 24位元的定点格式来储存线段数据,因此处理范围Rl在一第一维度(Y轴方向)上分別由一第一界限(Y< 2048)以及ー第二界限(Y ^ -2048)所界定,当处理中的一线段的一第一端点在该第一维度(Y轴方向)上大于该第一界限时,亦即当该第一端点的Y座标大于2048时,第一处理电路221依据该第一界限(Y < 2048)与该第一端点来产生ー第一修正后端点以及ー第一修正后线段,并应用该第一修正后端点以及该第一修正后线段来产生该第一置換端点以及该第一置换线段请配合图3来參照图4,以进一歩了解图2所示的线段溢位修正装置200的运作。图3为本发明的一实施例中应用线段溢位修正装置200对ー线段E2进行溢位处理的操作示意图,而图4为本发明的一实施例中应用线段溢位修正装置200的操作流程示意图,请注意,倘若大体上可达到相同的结果,并不需要一定遵照图4所示的流程中的步骤顺序来进行,且图4所示的步骤不一定要连续进行,亦即,其他步骤亦可插入其中。设定元件210会先设定ー处理范围,在此实施例中,处理范围Rl设定为-2048 ^ Y ^ 2048以及-2048 2048。接着,处理元件220会检查线段E2是否有产生溢位(步骤402),判断线段E2的任一端点或两端点是否有超出处理范围R1,以确认线段E2的两端点是否溢位。当线段未溢位时,则可对此线段进行光栅化处理;若在当线段发生溢位时,如其中一端点N2有溢位情况时,产生相对应的一置换端点N2’以及ー置换线段E2’ (步骤403),亦即依据线段溢位的端点至线段与显示范围的交点处投射至显示范围;接着,再依据置换线段E2’的数据来决定是否移除或修正置换线段E2’(步骤404)。请再配合图3来參照图5以进ー步了解图4中步骤403的细节,图5为依据本发明的一实施例中应用处理元件220的操作流程示意图,倘若大体上可达到相同的结果,并不需要一定遵照图5所示的流程中的步骤顺序来进行,且图5所示的步骤不一定要连续进行,亦即,其他步骤亦可插入其中。以下叙述以线段E2的端点N2为例来加以说明,处理元件220会先由Y座标方向来确认端点N2座标(xO,y0)的溢位情况(步骤4032),由图3可知,y0 > 2048,亦即N2在Y座标方向有溢位的情況,于是处理元件220便将y0与一第一修正后Y座标值yl设置为一相对应的界限值(在此范例中,处理范围Rl在Y轴上的第一界限为2048,第二界限为-2048,而该相对应的界限值为第一界限2048),并依据线段E2的斜率来计算出一第一修正后X座标值xl,而所得出的第一修正后端点N21的座标即为(xl,yl = 2048)(步骤4033)。接着,处理元件220又会确认xl是否溢位(步骤4034),由图3可知,xl > 2048,亦即第一修正后端点N21在X座标方向仍有溢位的情况,是故处理元件220便会再次确认端点N2在X座标方向是否仍有溢位的情况(步骤4035),并在确认端点N2在X座标方向仍有溢位时,将xO与一第二修正后X座标值x2设置为一相对应的界限值(在此范例中,该相对应的界限值为2048),并依据线段E2的斜率来计算出一第二修正后Y座标值y2,而所得出的第二修正后端点N2’的座标即为(x2 = 2048,y2)(步骤4036)。最后,处理元件220会依据第一修正后端点N21 (xl, yl)或第二修正后端点N22(x2,y2)来产生ー置换后座标,在此实施例中,处理元件220会以第二修正后端点N22(x2, y2)来作为置换后端点N2’的座标;而处理元件220亦会依据(x0,y0)与(x2,y2)来产生ー置换后线段£2’,亦即,由置换后端点吧’ (x2 = 2048,y2)到(2048,y0)的一垂直向量(步骤4037)。在得出置換后端点N2’与置换后线段E2’之后,处理元件220便确认是否移除或修正置換后线段N2’,在此实施例中,由于置换后线段N2’超出了处理范围R1,因此,处理元件220便会将置换后线段N2’修正为置换后端点N2’ (x2 = 2048,y2)到(2048,2048)的一垂直向量(步骤404)。此外,由于线段溢位修正装置200所进行的光栅化处理具有ー扫描方向,其沿着X轴渐增方向并由左至右扫描,是故仅有在处理范围Rl第二界限右方的置换后线段 (即位在X = -2048右方,亦即-2048 Cx く 2048的线段)才需要进行光栅化处理,因此,处理元件220会将置换后线段N2’移除以减少系统的运算负载,然而,假若线段溢位修正装置200所进行的扫描方向是沿着X轴渐减方向并由右至左扫描时(即位在X = 2048的左方,亦即-2048 < X < 2048由右至左的线段),处理元件220会将保留修正后的置换后线段N2’,以产生正确的绘图結果。请再參照图6,其为依据本发明的一实施例应用线段溢位修正装置200对ー线段E3进行溢位处理的操作示意图。在经过溢位确认(步骤403)的处理之后,线段溢位修正装置200会得到一置换后端点N3’ (x4,2048)以及由置换后端点N3’ (x4, y4 = 2048)到(x3,2048)的一置换后线段N3’,假若线段溢位修正装置200具有ー扫描方向,其沿着X轴渐增方向并由左至右扫描,由于扫描方向是水平的,置换后线段N3’对光栅化的计算并没有影响,是故处理元件可以将置换后线段N3’移除以减少系统的运算负载。上述的实施例均是以处理范围Rl为界限来进行溢位处理,然而,在本发明其他的实施例中,线段溢位修正装置200亦可依据各种设计需求来针对不同的界限范围进行溢位处理。举例来说,请再參照图3,其中0 < X < 1280,0 ^ Y ^ 720的区域是显示器所设定的显示范围VI,除了选择处理范围Rl之外,线段溢位修正装置200亦可选择用显示范围Vl来进行溢位修正,以减少不必要的计算时间并节省系统资源;亦即仍是藉由处理范围来作为判断溢位的标准,但溢位处理则直接将溢位线段和显示范围的交点至溢位端交点该部分线段,利用上述原理,将超出显示范围的线段投射至显示范围以产生一置換端点及/或一置换线段来进行溢位修正,以减少不必要的计算时间并节省系统资源。凡是在ー特定范围内,应用定点格式的线段数据来进行溢位处理的装置以及方法,均落在本发明的范畴之内。上述的流程与实施例仅用以说明本发明的精神,并不是用来限制本发明的范围。举例来说,使用者可依不同的需求而更改处理范围的大小以及X座标/Y座标的处理顺序等,只要是应用定点格式来设定ー处理范围并产生至少ー置換端点及/或一置换线段以对至少ー线段进行光栅化处理的方法或装置,均落在本发明的范畴之内。此外,上述实施例仅以ー线段的一端点为例,在实作上,线段溢位修正装置200亦可对该线段的另一端点作处理,由于每一端点的溢位处理流程均相同,相关说明在此便不再赘述。
总结来说,本发明提供了一种可应用定点格式对至少一线段进行光栅化处理的方法与装置,经由使用一置換端点及/或一置换线段来处理有溢位情况的ー线段,因此可减少绘图系统在光栅化所需要的资源以及运算时间,进行提升系统效能,此外,亦可运算出正确的绘图結果。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种用于向量图形的线段溢位修正方法,其系应用定点格式来对至少一线段进行光栅化处理,其特征在于,所述的方法包含有 设定ー处理范围; 判断一线段的端点比对所述的处理范围是否溢位; 当所述的线段溢位时,依据所述的线段溢位的端点至所述的线段与所述的处理范围的交点处投射至所述的处理范围,以决定是否产生一置換端点及/或一置换线段, 当所述的线段未溢位时,接续下ー步骤;以及 依据已做过溢位处理的所述的至少ー线段进行光栅化处理。
2.如权利要求I所述的线段溢位修正方法,其特征在于,所述的判断所述的线段的端点比对所述的处理范围是否溢位此步骤更包含有 将所述的线段的两端点比对所述的处理范围,其中所述的处理范围在一第一维度上系由一第一界限以及一第二界限所界定,且所述的第一界限在所述的第一维度上大于所述的第二界限,以及在一第二维度上系由一第三界限以及ー第四界限所界定,其中所述的第三界限在所述的第二维度上大于所述的第四界限; 当所述的线段中任一端点或两端点判定超出所述的处理范围则视为溢位发生;以及 当所述的线段的两端点皆无超出所述的处理范围则视为无溢位发生。
3.如权利要求2所述的线段溢位修正方法,其特征在干,所述的产生所述的置換端点及/或所述的置換线段此步骤更包含 当所述的线段的第一端点在所述的第一维度大于所述的第一界限时,将所述的第一端点垂直投射至所述的第一界限以产生所述的置換端点以及所述的置换线段; 当所述的第一端点在所述的第一维度上小于所述的第二界限时,将所述的第一端点垂直投射至所述的第二界限以产生所述的置換端点以及所述的置换线段; 当所述的第一端点在所述的第二维度大于所述的第三界限吋,将所述的第一端点垂直投射至所述的第三界限以产生所述的置換端点以及所述的置换线段;以及 当所述的第一端点在所述的第二维度上小于所述的第四界限时,将所述的第一端点垂直投射至所述的第四界限以产生所述的置換端点以及所述的置换线段。
4.如权利要求3所述的线段溢位修正方法,其特征在干,所述的产生所述的置換端点及/或所述的置換线段此步骤更包含 当所述的第一端点大于所述的第一界限及所述的第三界限时,依据所述的第三界限与所述的第一端点来产生一修正后端点以及一修正后线段,并应用所述的修正后端点以及所述的修正后线段投射至所述的第一界限来产生所述的置換端点以及所述的置换线段; 当所述的第一端点大于所述的第一界限且小于所述的第四界限时,依据所述的第一界限与所述的第一端点来产生所述的修正后端点以及所述的修正后线段,并应用所述的修正后端点以及所述的修正后线段投射至所述的第四界限来产生所述的置換端点以及所述的置换线段; 当所述的第一端点大于所述的第三界限且小于所述的第二界限时,依据所述的第二界限与所述的第一端点来产生所述的修正后端点以及所述的修正后线段,并应用所述的修正后端点以及所述的修正后线段投射至所述的第三界限来产生所述的置換端点以及所述的置换线段;以及当所述的第一端点小于所述的第二界限及所述的第四界限时,依据所述的第二界限与所述的第一端点来产生所述的修正后端点以及所述的修正后线段,并应用所述的修正后端点以及所述的修正后线段投射至所述的第四界限来产生所述的置換端点以及所述的置換线段。
5.如权利要求I所述的线段溢位修正方法,其特征在于,所述的光栅化处理具有ー扫描方向,以及当所述的置换线段与所述的扫描方向平行时,移除所述的置换线段。
6.一种用于向量图形的线段溢位修正方法,其系应用定点格式来对至少一线段进行光栅化处理,其特征在于,所述的方法包含有 设定ー处理范围与ー显不范围; 判断一线段的端点比对所述的处理范围是否溢位; 当所述的线段溢位时,依据所述的线段溢位的端点至所述的线段与所述的显示范围的交点处投射至所述的显示范围,以决定是否产生一置換端点及/或一置换线段, 当所述的线段未溢位时,接续下ー步骤;以及 依据已做过溢位处理的所述的至少ー线段进行光栅化处理。
7.如权利要求6所述的线段溢位修正方法,其特征在干,所述的判断所述的线段的端点比对所述的处理范围是否溢位此步骤更包含有 将所述的线段的两端点比对所述的处理范围,其中所述的处理范围在一第一维度上系由一第一界限以及一第二界限所界定,且所述的第一界限在所述的第一维度上大于所述的第二界限,以及在一第二维度上系由一第三界限以及ー第四界限所界定,其中所述的第三界限在所述的第二维度上大于所述的第四界限; 当所述的线段中任一端点或两端点判定超出所述的处理范围则视为溢位发生;以及 当所述的线段的两端点皆无超出所述的处理范围则视为无溢位发生。
8.如权利要求7所述的线段溢位修正方法,其特征在干,所述的产生所述的置換端点及/或所述的置換线段此步骤更包含 当所述的线段的第一端点在所述的第一维度大于所述的第一界限时,将所述的第一端点垂直投射至所述的显示范围以产生所述的置換端点以及所述的置换线段; 当所述的第一端点在所述的第一维度上小于所述的第二界限时,将所述的第一端点垂直投射至所述的显示范围以产生所述的置換端点以及所述的置换线段; 当所述的第一端点在所述的第二维度大于所述的第三界限吋,将所述的第一端点垂直投射至所述的显示范围以产生所述的置換端点以及所述的置换线段;以及 当所述的第一端点在所述的第二维度上小于所述的第四界限时,将所述的第一端点垂直投射至所述的显示范围以产生所述的置換端点以及所述的置换线段。
9.如权利要求6所述的线段溢位修正方法,其特征在于,所述的光栅化处理具有ー扫描方向,以及当所述的置换线段与所述的扫描方向平行时,移除所述的置换线段。
全文摘要
本发明公开了一种用于向量图形的线段溢位修正方法,其系应用定点格式来对至少一线段进行光栅化处理,包含有设定一处理范围;判断一线段的端点比对处理范围是否溢位;当线段溢位时,依据线段溢位的端点至线段与处理范围的交点处投射至处理范围,以决定是否产生一置换端点及/或一置换线段,当线段未溢位时,接续下一步骤;以及依据已做过溢位处理的至少一线段进行光栅化处理。
文档编号G06T11/20GK102654920SQ20111005009
公开日2012年9月5日 申请日期2011年3月2日 优先权日2011年3月2日
发明者周宜颖, 纪富中 申请人:扬智科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1