专利名称:一种生成页面点阵数据的方法及装置的制作方法
技术领域:
本发明涉及数字化印刷技术领域,尤其涉及一种生成页面点阵数据的技术。
背景技术:
传统生成页面点阵数据的方式通常都是采用平展页面点阵数据的生成方式。其 中,所述页面点阵数据是通过页面描述语言所生成的待输出或者待存储页面的数据。所述 页面点阵数据可以用于存储或者后端输出设备的打印或者照排等。其具体的采用平展页面 点阵数据的生成方式进行页面点阵数据的生成过程如下首先,需要为待输出或者待存储页面分配内存资源;其次,按照平展页面点阵数据的生成方式,对所述待输出或者待存储页面进行处 理,即通过页面描述语言将所述待输出或者待存储页面生成页面点阵数据;最后,将所述生成的页面点阵数据存储到内存中。在实现本发明的过程中,发明人发现现有技术中至少存在以下问题现有技术中, 采用平展页面点阵数据的生成方式进行页面点阵数据的生成,无论所述待输出或者待存储 页面是否有图元,都需要按照各个待输出或者待存储页面的大小分配内存资源。从而使得 整个页面点阵数据的生成过程需要占用了大量的内存资源,特别是在输出分辨率比较高的 情况下,所需要的内存大小会以平方的倍数增加。同时,由于大数据量的操作,也带来了系 统处理效率的严重降低。
发明内容
本发明实施例提供了一种生成页面点阵数据的方法及装置,以实现降低内存资源 的占用量,提高系统处理效率的目的。为达到上述目的,本发明的实施例采用如下技术方案一方面,本发明实施例提供了一种生成页面点阵数据的方法,包括获取页面中各行图元的象素参数;根据所述各行图元的象素参数,为所述各个行分配游程编码数据单元;按照所述各行图元的象素参数以及各个象素之间的连续关系,将所述各行图元的 象素合并存储到其相应行的游程编码数据单元中。另一方面,本发明实施例提供了一种生成页面点阵数据的装置,包括参数获取模块,用于获取页面中各行图元的象素参数;数据单元分配模块,用于根据所述各行图元的象素参数,为所述各个行分配游程 编码数据单元;存储模块,用于按照所述各行图元的象素参数以及各个象素之间的连续关系,将 所述各行图元的象素合并存储到其相应行的游程编码数据单元中。本发明实施例提供的一种生成页面点阵数据的方法及装置,通过获取到的页面中 各行图元的象素参数,为所述各个行分配游程编码数据单元;并按照所述各行图元的象素参数以及各个象素之间的连续关系,将所述各行图元的象素合并存储到其相应行的游程编 码数据单元中。与现有技术相比,本发明实施例通过将所述各行图元的象素合并存储到其 相应行的游程编码数据单元中使得页面中各行图元的象素所需要的内存空间大大减少,系 统需要处理的数据量也大大降低,从而降低了内存资源的占用量,提高了系统的处理效率。
图1为本发明实施例提供的一种生成页面点阵数据的方法流程图;图2为本发明实施例提供的一种生成页面点阵数据的方法具体实现流程图;图3为本发明实施例提供的一种生成页面点阵数据的装置结构示意图;图4(a)为本发明实施例提供的一种游程编码数据单元结构示意图;图4(b)为本发明实施例提供的一种游程编码数据单元相互连接结构示意图。
具体实施例方式下面结合附图对本发明实施例提供的一种生成页面点阵数据的方法及装置进行 详细的说明。如图1所示,为本发明实施例提供的一种生成页面点阵数据的方法,该方法,具体 实现过程如下101 获取页面中各行图元的象素参数;102 根据所述各行图元的象素参数,为所述各个行分配RL(Rim Length,游程编 码)数据单元;103:按照所述各行图元的象素参数以及各个象素之间的连续关系,将所述各行图 元的象素合并存储到其相应行的RL数据单元中。其中,所述RL数据单元结构如图4 (a),其 具有的数据结构如下typedef struct_RL{unsigned short value ;unsigned short length ;_RL*next ;} RL ;其中,Length用于存储页面中某行中象素参数相同且位置连续的象素个数; Value用于存储所述象素参数相同的象素参数值,例如颜色相同的象素的颜色值;Next RL pointer则用于存储下一个RL数据单元的地址如图4 (b),设一个RL数据单元可存储的的 象素个数为1000,所述当前页的某独立行需要存储的象素个数为2042,设前2000个象素的 象素参数值为100,后42个象素的象素参数值为200 ;则需要3个RL数据单元对所述需要 存储的象素进行存储,即RL数据单元1,RL数据单元2,RL数据单元3 ;这样RL数据单元1 中的Lengthl为1000 ;Valuel为100 ;Next RL pointer 1为RL数据单元2的地址;RL数据 单元2中的Length2为1000 ;Value2为100 ;Next RL pointer2为RL数据单元3的地址; RL 数据单元 3 中的 Length3 为 42 ;Value3 为 200 ;Next RL pointer3 为 NULL,NULL 标明本 行RL数据结束。
基于以上实施例,如图2所示,为本发明实施例提供的一种生成页面点阵数据的 方法具体实现流程图。该方法,具体实现过程如下201 =RL数据分配管理模块获取页面的参数信息;例如整个待存储或者待输出页 面的幅宽、幅高以及整个页面的行数以及每行的象素个数等等。202 根据所述页面的参数信息,RL数据分配管理模块为所述页面中各个行分配 RL数据单元。具体的讲就是可以根据当前初始页面的行数以及每行的象素个数等页面参 数信息,分配相应的RL数据单元;所述RL数据单元用于存储当前页面各个独立行的象素信 息。例如设初始页面参数信息中的行数与每行的象素个数为1000*800,当所述初始页面 没有任何图元时,则RL数据分配管理模块将按照一定的设置为所述初始页面的各行分配 相应数据量的RL数据单元。其中,所述分配相应数据量的RL数据单元可以由用户预先设 置或者由计算机根据其当前内存资源的可用量进行自动设置。需要注意的是,如果所述分配的RL数据单元不能够满足当前页面中某独立行象 素的存储需求,则所述RL数据分配管理模块可以继续按照用户预先设置或者由计算机根 据其当前内存资源的可用量进行自动设置为当前页面的当前行分配相应数据量的RL数据 单元。也就是说,所述RL数据分配管理模块可以根据页面中行的象素参数进行动态分配RL 数据单元。相应的,如果所述当前页面中某独立行象素的存储需求小于RL数据单元的存 储量,则可以根据实际情况的需要将多余的RL数据单元回收,以便分配给其他的行进行使 用。203 =RL数据分配管理模块获取页面中各行图元的象素参数;204 根据所述各行图元的象素参数,RL数据分配管理模块为所述各个行分配RL 数据单元;例如当所述RL数据分配管理模块根据所述获取到的各个独立行的图元的象素 参数(如颜色值)以及当前行中各个象素的位置关系,可以判断出前1000个像素(象素) 的颜色值为100,中间的500个象素的颜色值为200,最后剩下的象素的颜色值为0,则当前 行需要三个RL数据单元来分别存储所述三种颜色值的象素,这样,所述RL数据分配管理模 块将根据当前行的RL数据单元情况进行RL数据单元的分配。例如当所述RL数据分配管 理模块在初始分配过程中已经分配够三个RL数据单元时,则无需再进行RL数据单元分配; 如果当前行所分配的RL数据单元小于当前需要的RL数据单元,则所述RL数据分配管理模 块根据预设值为当前行继续分配RL数据单元。205 将位置相互连续的象素且象素参数相同的象素合并存储到RL数据单元中; 例如设当前行所需的RL数据单元已经分配够用;其中,RL数据单元1用于存储所述前 1000个象素的颜色值为100的象素;RL数据单元2用于存储所述前500个象素的颜色值为 200的象素;RL数据单元3用于存储所述最后剩下的象素的颜色值为0的象素。206 将合并存储后的象素按照其合并象素的位置关系在RL数据单元中相互关 联。例如将所述RL数据单元1中的Next RL pointerl设置为RL数据单元2的地址;将 所述RL数据单元2中的Next RL pointed设置为RL数据单元3的地址;将所述RL数据 单元3中的Next RL pointer3设置为NULL。其中,NULL表示当前行结束。需要注意的是,该方法还包括判断所述分配的RL数据单元的存储空间是否小于所述各行图元的象素所需要合 并存储的存储空间;
如果所述分配的RL数据单元的存储空间小于所述各行图元的象素所需要合并存 储的存储空间,则继续为所述各行图元的象素分配RL数据单元;如果所述分配的RL数据单元的存储空间大于所述各行图元的象素所需要合并存 储的存储空间,则回收大于所述各行图元的象素所需要合并存储的RL数据单元。还需要注意的是,该方法还包括判断所述页面中各个行RL数据单元中的象素是否输出完毕;如果所述各个行RL数据单元中的象素输出完毕,则将所述各个行RL数据单元的 数据释放。还需要注意的是,以上所述象素参数包括象素颜色和象素长度;所述RL数据单元包括数据参数值Value、数据长度Length和下一数据单元的地 址 Next RL pointer。还需要注意的是,当按照所述各行图元的象素参数以及各个象素之间的连续关 系,将所述各行图元的象素合并存储到其相应行的RL数据单元中后,为了获得更高的压缩 比,更多的减少所述RL数据单元写盘数据,也可以对页面RL数据进行其它附加的二次压缩 和编码。如图3所示,为本发明实施例提供的一种生成页面点阵数据的装置,该装置包括参数获取模块301,用于获取页面中各行图元的象素参数;数据单元分配模块302,用于根据所述各行图元的象素参数,为所述各个行分配 RL数据单元;存储模块303,用于按照所述各行图元的象素参数以及各个象素之间的连续关系, 将所述各行图元的象素合并存储到其相应行的RL数据单元中。其中,所述存储模块303,包括合并存储子模块,用于将位置相互连续的象素且象素参数相同的象素合并存储到 RL数据单元中;关联子模块,用于将合并存储后的象素按照其合并象素的位置关系在RL数据单 元中相互关联。需要注意的是,所述装置,还包括页面参数获取模块,用于获取页面的参数信息;所述数据单元分配模块,还用于根据所述页面的参数信息,为所述页面中各个行 分配RL数据单元。还需要注意的是,所述装置,还包括存储空间判断模块,用于判断所述分配的RL数据单元的存储空间是否小于所述 各行图元的象素所需要合并存储的存储空间;所述数据单元分配模块,用于如果所述分配的RL数据单元的存储空间小于所述 各行图元的象素所需要合并存储的存储空间,则继续为所述各行图元的象素分配RL数据 单元;数据单元回收模块,用于如果所述分配的RL数据单元的存储空间大于所述各行 图元的象素所需要合并存储的存储空间,则回收大于所述各行图元的象素所需要合并存储 的RL数据单元。
还需要注意的是,所述装置,还包括输出判断模块,用于判断所述页面中各个行RL数据单元中的象素是否输出完毕;数据释放模块,用于如果所述各个行RL数据单元中的象素输出完毕,则将所述各 个行RL数据单元的数据释放。本发明实施例提供的一种生成页面点阵数据的方法及装置,通过获取到的页面中 各行图元的象素参数,为所述各个行分配RL数据单元;并按照所述各行图元的象素参数以 及各个象素之间的连续关系,将所述各行图元的象素合并存储到其相应行的RL数据单元 中。与现有技术相比,本发明实施例通过将所述各行图元的象素参数合并存储到其相应行 的RL数据单元中使得页面中各行图元的象素所需要的内存空间大大减少,系统需要处理 的数据量也大大降低,从而降低了内存资源的占用量,提高了系统的处理效率。通过以上的实施方式的描述,本领域普通技术人员可以理解实现上述实施例方 法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于 一计算机可读取存储介质中,该程序在执行时,包括如上述方法实施例的步骤,所述的存储 介质,如ROM/RAM、磁碟、光盘等。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
权利要求
1.一种生成页面点阵数据的方法,其特征在于,包括 获取页面中各行图元的象素参数;根据所述各行图元的象素参数,为所述各个行分配游程编码数据单元; 按照所述各行图元的象素参数以及各个象素之间的连续关系,将所述各行图元的象素 合并存储到其相应行的游程编码数据单元中。
2.根据权利要求1所述的生成页面点阵数据的方法,其特征在于,所述按照所述各行 图元的象素参数以及各个象素之间的连续关系,将所述各行图元的象素合并存储到其相应 行的游程编码数据单元中的步骤,包括将位置相互连续的象素且象素参数相同的象素合并存储到游程编码数据单元中; 将合并存储后的象素按照其合并象素的位置关系在游程编码数据单元中相互关联。
3.根据权利要求2所述的生成页面点阵数据的方法,其特征在于,该方法还包括 获取页面的参数信息;根据所述页面的参数信息,为所述页面中各个行分配游程编码数据单元。
4.根据权利要求3所述的生成页面点阵数据的方法,其特征在于,该方法,还包括 判断所述分配的游程编码数据单元的存储空间是否小于所述各行图元的象素所需要合并存储的存储空间;如果所述分配的游程编码数据单元的存储空间小于所述各行图元的象素所需要合并 存储的存储空间,则继续为所述各行图元的象素分配游程编码数据单元;如果所述分配的游程编码数据单元的存储空间大于所述各行图元的象素所需要合并 存储的存储空间,则回收大于所述各行图元的象素所需要合并存储的RL数据单元。
5.根据权利要求4所述的生成页面点阵数据的方法,其特征在于,该方法还包括 判断所述页面中各个行游程编码数据单元中的象素是否输出完毕;如果所述各个行游程编码数据单元中的象素输出完毕,则将所述各个行游程编码数据 单元的数据释放。
6.根据权利要求1至5中任意一项所述的生成页面点阵数据的方法,其特征在于,所述 象素参数包括象素颜色和象素长度;所述游程编码数据单元包括数据参数值、数据长度和下一数据单元的地址。
7.—种生成页面点阵数据的装置,其特征在于,包括 参数获取模块,用于获取页面中各行图元的象素参数;数据单元分配模块,用于根据所述各行图元的象素参数,为所述各个行分配游程编码 数据单元;存储模块,用于按照所述各行图元的象素参数以及各个象素之间的连续关系,将所述 各行图元的象素合并存储到其相应行的游程编码数据单元中。
8.根据权利要求7所述的生成页面点阵数据的装置,其特征在于,所述存储模块,包括合并存储子模块,用于将位置相互连续的象素且象素参数相同的象素合并存储到游程 编码数据单元中;关联子模块,用于将合并存储后的象素按照其合并象素的位置关系在游程编码数据单 元中相互关联。
9.根据权利要求8所述的生成页面点阵数据的装置,其特征在于,所述装置,还包括 页面参数获取模块,用于获取页面的参数信息;所述数据单元分配模块,还用于根据所述页面的参数信息,为所述页面中各个行分配 游程编码数据单元。
10.根据权利要求9所述的生成页面点阵数据的装置,其特征在于,所述装置,还包括 存储空间判断模块,用于判断所述分配的游程编码数据单元的存储空间是否小于所述各行图元的象素所需要合并存储的存储空间;所述数据单元分配模块,用于如果所述分配的游程编码数据单元的存储空间小于所述 各行图元的象素所需要合并存储的存储空间,则继续为所述各行图元的象素分配游程编码 数据单元;数据单元回收模块,用于如果所述分配的游程编码数据单元的存储空间大于所述各行 图元的象素所需要合并存储的存储空间,则回收大于所述各行图元的象素所需要合并存储 的游程编码数据单元。
11.根据权利要求10所述的生成页面点阵数据的装置,其特征在于,所述装置,还包括输出判断模块,用于判断所述页面中各个行游程编码数据单元中的象素是否输出完毕;数据释放模块,用于如果所述各个行游程编码数据单元中的象素输出完毕,则将所述 各个行游程编码数据单元的数据释放。
全文摘要
本发明实施例公开了一种生成页面点阵数据的方法及装置,涉及数字化印刷技术领域。为了解决现有技术中采用平展页面点阵数据的生成方式进行页面点阵数据的生成的内存资源占用大,效率低的问题而发明。本发明实施例提供的一种生成页面点阵数据的方法,包括获取页面中各行图元的象素参数;根据所述各行图元的象素参数,为所述各个行分配游程编码数据单元;按照所述各行图元的象素参数以及各个象素之间的连续关系,将所述各行图元的象素合并存储到其相应行的游程编码数据单元中。采用本发明实施例可以降低内存资源的占用量并且能够提高系统处理效率。
文档编号G06F3/12GK102096566SQ20091024243
公开日2011年6月15日 申请日期2009年12月11日 优先权日2009年12月11日
发明者季勇 申请人:北京北大方正电子有限公司, 北大方正集团有限公司