一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

矢量图形数据处理方法、系统、介质及矢量图形处理装置与流程

2022-02-20 19:32:31 来源:中国专利 TAG:


1.本发明涉及数据结构的处理方法,特别是涉及一种矢量图形数据处理方法、系统、介质及矢量图形处理装置。


背景技术:

2.在矢量图形(vector graphic)的应用中,矢量图元路径填充模式包括零/非零和偶/奇模式。在上述任一情况下,为了填充适当的像素,渲染器(renderer)都必须计算给定像素在任意方向上的矢量图元路径交叉点数。
3.现有技术中,计算每个像素的矢量图元路径交叉点数时,从x坐标的左到右(或从最小的x坐标到最大的x坐标)对每个水平线(对应于每个y坐标)的矢量图元路径交叉点进行排序。对矢量图元路径交叉点进行按序存储后,渲染器可以依次从最左边的交叉点到最右边的交叉点填充一条y线,同时计算从左到右的矢量图元路径交叉点数。
4.现有技术中,对矢量图元路径交叉点进行排序时,在存储器中为视窗中的矢量图元路径交叉点创建一个数据结构,并将其称为矢量图元路径交叉点数据结构(path intersection data structure,pids)。生成整个矢量图元路径的交叉点后,将其存储在pids中的正确位置(x,y)。一旦矢量图元路径的交叉点全部生成,对于每条y线,从左侧最小的x坐标到右侧最大的x坐标的所有像素按序保存在存储器中。渲染器针对每条y线搜索从x最小坐标到视窗最大x坐标,从而确定矢量图元路径交叉点的位置和矢量图元路径交叉点数以填充矢量图元路径交叉点之间的像素。
5.然而,上述方法存在以下缺陷:
6.(1)pids可能非常大,会占用大量存储器资源;对于8k x 8k的视窗,pids可以达到256mb或更大;
7.(2)为了找到矢量图元路径交叉点,渲染器必须通过pids搜索每条y线最多8k像素,严重影响了性能;
8.(3)pids中某些视窗在某些位置具有矢量图元路径交叉点而在大多数位置为空,而搜索每行中的每个x位置时,渲染器必须读取pids中的所有像素,浪费了大量的存储器带宽。


技术实现要素:

9.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种矢量图形数据处理方法、系统、介质及矢量图形处理装置,只保存矢量图元路径交叉点的有效数据,从而减少了存储器资源占用和存储器带宽,提高了矢量图形的处理性能。
10.为实现上述目的及其他相关目的,本发明提供一种矢量图形数据处理方法,包括以下步骤:在存储器中针对矢量图元路径交叉点的坐标构建一个矢量图元路径交叉点数据结构;每个矢量图元路径交叉点生成后,将新矢量图元路径交叉点信息与所述新矢量图元路径交叉点的y或x坐标对应的矢量图元路径交叉点数据结构中的已存矢量图元路径交叉
点信息进行比较;根据比较结果将所述新矢量图元路径交叉点信息存储至所述新矢量图元路径交叉点的y或x坐标对应的矢量图元路径交叉点数据结构的对应位置处。
11.于本发明一实施例中,所述矢量图元路径交叉点信息包括x坐标、y坐标、有效子像素数量和方向。
12.于本发明一实施例中,将新矢量图元路径交叉点信息与所述新矢量图元路径交叉点的y坐标对应的矢量图元路径交叉点数据结构中的已存矢量图元路径交叉点信息进行比较时,比较所述新矢量图元路径交叉点信息和所述已存矢量图元路径交叉点信息中的x坐标,并按照x坐标相互关系将所述新矢量图元路径交叉点存储至所述新矢量图元路径交叉点的y坐标对应的矢量图元路径交叉点数据结构中;或者,将新矢量图元路径交叉点信息与所述新矢量图元路径交叉点的x坐标对应的矢量图元路径交叉点数据结构中的已存矢量图元路径交叉点信息进行比较时,比较所述新矢量图元路径交叉点信息和所述已存矢量图元路径交叉点信息中的y坐标,并按照y坐标相互关系将所述新矢量图元路径交叉点存储至所述新矢量图元路径交叉点的x坐标对应的矢量图元路径交叉点数据结构中。
13.于本发明一实施例中,所述x或y坐标相互关系为x或y坐标从小到大或从大到小的顺序。
14.对应地,本发明提供一种矢量图形数据处理系统,包括构建模块、比较模块和存储模块;
15.所述构建模块用于在存储器中针对矢量图元路径交叉点的坐标构建一个矢量图元路径交叉点数据结构;
16.所述比较模块用于每个矢量图元路径交叉点生成后,将新矢量图元路径交叉点信息与所述新矢量图元路径交叉点的y坐标对应的矢量图元路径交叉点数据结构中的已存矢量图元路径交叉点信息进行比较;
17.所述存储模块用于根据比较结果将所述新矢量图元路径交叉点信息存储至所述新矢量图元路径交叉点的y坐标对应的矢量图元路径交叉点数据结构的对应位置处。
18.于本发明一实施例中,所述矢量图元路径交叉点信息包括x坐标、y坐标、有效子像素数量和方向。
19.于本发明一实施例中,将新矢量图元路径交叉点信息与所述新矢量图元路径交叉点的y坐标对应的矢量图元路径交叉点数据结构中的已存矢量图元路径交叉点信息进行比较时,比较所述新矢量图元路径交叉点信息和所述已存矢量图元路径交叉点信息中的x坐标,并按照x坐标相互关系将所述新矢量图元路径交叉点存储至所述新矢量图元路径交叉点的y坐标对应的矢量图元路径交叉点数据结构中;或者,将新矢量图元路径交叉点信息与所述新矢量图元路径交叉点的x坐标对应的矢量图元路径交叉点数据结构中的已存矢量图元路径交叉点信息进行比较时,比较所述新矢量图元路径交叉点信息和所述已存矢量图元路径交叉点信息中的y坐标,并按照y坐标相互关系将所述新矢量图元路径交叉点存储至所述新矢量图元路径交叉点的x坐标对应的矢量图元路径交叉点数据结构中。
20.于本发明一实施例中,所述x或y坐标相互关系为x或y坐标从小到大或从大到小的顺序。
21.本发明提供一种存储介质,其上存储有计算机程序,该所述计算机程序被处理器执行时实现上述的矢量图形数据处理方法。
22.最后,本发明提供一种矢量图形处理装置,包括:处理器及存储器;
23.所述存储器用于存储计算机程序;
24.所述处理器用于执行所述存储器存储的计算机程序,以使所述矢量图形处理装置执行上述的矢量图形数据处理方法。
25.如上所述,本发明的矢量图形数据处理方法、系统、介质及矢量图形处理装置,具有以下有益效果:
26.(1)由于矢量图元路径交叉点数据结构中不包含任何空白位置,渲染时无需搜索整个视窗即可获得矢量图元路径交叉点,无需判断是空位置还是矢量图元路径交叉点,相较于现有技术存储器占用空间节省了32倍至1024倍,甚至可能更多;
27.(2)降低了功耗,降低了矢量图形处理的成本,提高了矢量图形的处理性能;
28.(3)渲染器仅需要按存储顺序读取路径交叉点,故消除了交叉点搜索时间降低了存储器带宽。
附图说明
29.图1显示为本发明的矢量图形数据处理方法于一实施例中的流程图;
30.图2显示为本发明的矢量图形数据处理系统于一实施例中的结构示意图;
31.图3显示为本发明的矢量图形处理装置于一实施例中的结构示意图。
32.元件标号说明
33.21
ꢀꢀꢀꢀꢀꢀ
构建模块
34.22
ꢀꢀꢀꢀꢀꢀ
比较模块
35.23
ꢀꢀꢀꢀꢀꢀ
存储模块
36.31
ꢀꢀꢀꢀꢀꢀ
处理器
37.32
ꢀꢀꢀꢀꢀꢀ
存储器
具体实施方式
38.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
39.需要说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
40.本发明的矢量图形数据处理方法、系统、介质及矢量图形处理装置只保存矢量图元路径交叉点的有效数据,无需占用存储器记录无效信息,从而减少了存储器资源占用和存储器带宽;同时按照预设顺序存储矢量图元路径交叉点信息,避免了搜索操作,极大地提高了矢量图形的处理性能。
41.如图1所示,本发明的矢量图形数据处理方法包括以下步骤:步骤s1、在存储器中针对矢量图元路径交叉点的坐标构建一个矢量图元路径交叉点数据结构。步骤s2、每个矢
量图元路径交叉点生成后,将新矢量图元路径交叉点信息与所述新矢量图元路径交叉点的y或x坐标对应的矢量图元路径交叉点数据结构中的已存矢量图元路径交叉点信息进行比较。步骤s3、根据比较结果将所述新矢量图元路径交叉点信息存储至所述新矢量图元路径交叉点的y或x坐标对应的矢量图元路径交叉点数据结构的对应位置处。
42.下面通过具体实施例来进一步阐述本发明的矢量图形数据处理方法。
43.实施例一
44.在该实施例中,本发明的矢量图形数据处理方法包括以下步骤:
45.步骤s11、在存储器中针对矢量图元路径交叉点的y坐标构建一个矢量图元路径交叉点数据结构。
46.具体地,在矢量图形处理过程中,对应于产生的矢量图元路径交叉点,针对每个y坐标构建一个矢量图元路径交叉点数据结构,用于存储纵坐标为所述y坐标的矢量图元路径交叉点信息。于本发明一实施例中,所述矢量图元路径交叉点信息包括x坐标、y坐标、有效子像素数量和方向。
47.步骤s12、每个矢量图元路径交叉点生成后,将新矢量图元路径交叉点信息与所述新矢量图元路径交叉点的y坐标对应的矢量图元路径交叉点数据结构中的已存矢量图元路径交叉点信息进行比较。
48.具体地,当需要在存储器中存储一个新矢量图元路径交叉点时,首先获取所述新矢量图元路径交叉点的y坐标对应的矢量图元路径交叉点数据结构中的已存矢量图元路径交叉点信息。具体地,获取已存矢量图元路径交叉点信息中的x坐标信息。将所述新矢量图元路径交叉点信息的x坐标与已存矢量图元路径交叉点信息中的x坐标信息进行大小的比较,获取x坐标大小的比较结果。
49.步骤s13、根据比较结果将所述新矢量图元路径交叉点信息存储至所述新矢量图元路径交叉点的y坐标对应的矢量图元路径交叉点数据结构的对应位置处。
50.具体地,根据x坐标大小的比较结果,将所述新矢量图元路径交叉点信息存储至所述新矢量图元路径交叉点的y坐标对应的矢量图元路径交叉点数据结构的对应位置处。
51.于本发明实施例中,按照x坐标从大到小或从小到大的顺序将所述新矢量图元路径交叉点信息存储至所述新矢量图元路径交叉点的y坐标对应的矢量图元路径交叉点数据结构的对应位置处。例如,已存矢量图元路径交叉点信息中的x坐标分别为3,5,6,33.....,新矢量图元路径交叉点的x坐标为9,则将所述新矢量图元路径交叉点信息存在至已存第三矢量图元路径交叉点信息(即x坐标为6的矢量图元路径交叉点信息)和已存第四矢量图元路径交叉点信息(即x坐标为33的矢量图元路径交叉点信息)之间。正是由于所述矢量图元路径交叉点数据结构中的矢量图元路径交叉点信息按照x坐标依序排列,故在进行矢量图形渲染时无需搜索所需的矢量图元路径交叉点信息,而是直接依次进行读取,从而消除了搜索时间的开销,提升了系统的处理性能。
52.实施例二
53.步骤s21、在存储器中针对矢量图元路径交叉点的x坐标构建一个矢量图元路径交叉点数据结构。
54.具体地,在矢量图形处理过程中,对应于产生的矢量图元路径交叉点,针对每个x坐标构建一个矢量图元路径交叉点数据结构,用于存储纵坐标为所述x坐标的矢量图元路
径交叉点信息。于本发明一实施例中,所述矢量图元路径交叉点信息包括x坐标、y坐标、有效子像素数量和方向。
55.步骤s22、每个矢量图元路径交叉点生成后,将新矢量图元路径交叉点信息与所述新矢量图元路径交叉点的x坐标对应的矢量图元路径交叉点数据结构中的已存矢量图元路径交叉点信息进行比较。
56.具体地,当需要在存储器中存储一个新矢量图元路径交叉点时,首先获取所述新矢量图元路径交叉点的x坐标对应的矢量图元路径交叉点数据结构中的已存矢量图元路径交叉点信息。具体地,获取已存矢量图元路径交叉点信息中的y坐标信息。将所述新矢量图元路径交叉点信息的x坐标与已存矢量图元路径交叉点信息中的y坐标信息进行大小的比较,获取y坐标大小的比较结果。
57.步骤s23、根据比较结果将所述新矢量图元路径交叉点信息存储至所述新矢量图元路径交叉点的x坐标对应的矢量图元路径交叉点数据结构的对应位置处。
58.具体地,根据y坐标大小的比较结果,将所述新矢量图元路径交叉点信息存储至所述新矢量图元路径交叉点的x坐标对应的矢量图元路径交叉点数据结构的对应位置处。
59.于本发明一实施例中,按照y坐标从大到小或从小到大的顺序将所述新矢量图元路径交叉点信息存储至所述新矢量图元路径交叉点的x坐标对应的矢量图元路径交叉点数据结构的对应位置处。正是由于所述矢量图元路径交叉点数据结构中的矢量图元路径交叉点信息按照y坐标依序排列,故在进行矢量图形渲染时无需搜索所需的矢量图元路径交叉点信息,而是直接依次进行读取,从而消除了搜索时间的开销,提升了系统的处理性能。
60.如图2所示,于一实施例中,本发明的矢量图形数据处理系统包括构建模块21、比较模块22和存储模块23。
61.构建模块21用于在存储器中针对矢量图元路径交叉点的坐标构建一个矢量图元路径交叉点数据结构。
62.比较模块22与构建模块21相连,用于每个矢量图元路径交叉点生成后,将新矢量图元路径交叉点信息与所述新矢量图元路径交叉点的y或x坐标对应的矢量图元路径交叉点数据结构中的已存矢量图元路径交叉点信息进行比较。
63.存储模块23与比较模块22相连,用于根据比较结果将所述新矢量图元路径交叉点信息存储至所述新矢量图元路径交叉点的y或x坐标对应的矢量图元路径交叉点数据结构的对应位置处。
64.其中,构建模块21、比较模块22和存储模块23的结构和原理与上述矢量图形数据处理方法中的步骤一一对应,故在此不再赘述。
65.需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,
上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
66.例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器(microprocessor),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
67.本发明的存储介质上存储有计算机程序,该所述计算机程序被处理器执行时实现上述的矢量图形数据处理方法。优选地,所述存储介质包括:rom、ram、磁碟、u盘、存储卡或者光盘等各种可以存储程序代码的介质。
68.如图3所示,于一实施例中,本发明的矢量图形处理装置包括:处理器31及存储器32。
69.所述存储器32用于存储计算机程序。
70.所述存储器32包括:rom、ram、磁碟、u盘、存储卡或者光盘等各种可以存储程序代码的介质。
71.所述处理器31与所述存储器32相连,用于执行所述存储器32存储的计算机程序,以使所述矢量图形处理装置执行上述的矢量图形数据处理方法。
72.优选地,所述处理器31可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
73.综上所述,本发明的矢量图形数据处理方法、系统、介质及矢量图形处理装置由于矢量图元路径交叉点数据结构中不包含任何空白位置,渲染时无需搜索整个视窗即可获得矢量图元路径交叉点,无需判断是空位置还是矢量图元路径交叉点,相较于现有技术存储器占用空间节省了32倍至1024倍,甚至可能更多;降低了功耗,降低了矢量图形处理的成本,提高了矢量图形的处理性能;渲染器仅需要按存储顺序读取矢量图元路径交叉点,故消除了交叉点搜索时间降低了存储器带宽。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
74.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献