一种能够减少页面预光栅化时间的打印控制方法技术

技术编号:2932385 阅读:221 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于打印控制技术领域,具体涉及一种能够减少页面预光栅化时间的打印控制方法。现有打印技术中,通常需要预先光栅化全部复杂段后才能开始打印。而本发明专利技术所述的打印控制方法,是将页面数据先解释为分段的中间格式数据,对每一段的中间格式数据计算其需要的光栅化时间,对于光栅化时间大于该段打印时间的段作预先的分析,计算其是否可以在该段之前的段打印过程中实时光栅化,只有不能实时光栅化的段才需要在打印开始前光栅化,打印时,启动一个辅助任务,利用主打印任务在打印过程中的空闲时间来光栅化可实时光栅化段。采用本发明专利技术所述的方法能减少打印时的页面预光栅化时间,从而大大提高打印的速度。

【技术实现步骤摘要】

本专利技术属于打印控制
,具体涉及。
技术介绍
现有技术中,通常的光栅打印设备打印一页的整个工作流程可分成三个部分首先,从主机接收打印数据;然后将打印数据光栅化成光栅点阵;最后将光栅点阵传送到打印引擎输出。对于某些光栅打印设备如采用激光成像技术的打印机,光栅点阵必须以固定的速度提供给打印机引擎,因为打印机引擎必须以固定不变的速度将光栅点阵转印到打印鼓上,一旦光栅点阵不能及时传送到打印机引擎,则会发生所谓的“打印越界”(print overrun)的错误,页面不能正确的输出到纸上。通常,这样的光栅打印设备的打印控制方法有如下几种1)预先光栅化一页点阵完毕,将光栅点阵存放在内存中,然后再开始打印,这样因为光栅点阵存在内存中,可以保证不会发生print overrun的错误,这样的方法不足之处在于对于高分辨率的打印设备,通常需要很大的内存,对于彩色打印机则更加如此,如存储一个A4幅面,600DPI的CMYK彩色页面,大约需要16MB的内存,这会大大增加打印机的成本,另外,这种方法需要完成光栅化一个完整页面后才能开始打印,这往往会降低打印速度。2)另外一种常见的方法是将一个页面分为若干段,先将页面数据解释成为一种按段安排的中间格式,这种中间格式的数据比较容易转化为最终的光栅点阵,而且这种中间格式的数据所占内存通常大大小于页面的光栅点阵,打印机先光栅化一段就可以开始打印,在上一段打印的过程中同时进行下一段的光栅点阵实时产生,这样既能提高打印速度,又不需要很大的内存来存放一个完整页面的光栅点阵,这种方法的不足之处在于一旦有某一段的数据很复杂,则打印机很可能不能够在上一段打印的时间内及时完成该段的光栅化,则会产生printoverrun的错误,页面将不能正确输出。为了防止打印越界错误的产生,目前通常的方法是预先计算每一段所需要的光栅化时间,如有光栅化时间超过一段打印时间的段,则将这些段预先光栅化,再开始打印,这样可以保证不会产生print overrun,该方法的不足在于预先光栅化所有的超过一段打印时间的段需要一定的时间,所以预先光栅化完所有的超过一段打印时间的段再开始打印会降低打印速度,同时还需要占用一定的内存来存放预先光栅化完毕的点阵,这要求打印机有较大的内存,也往往会引起控制器成本的增加。在此基础上,又出现了一些改进的方法,如惠普公司在美国专利5129049中提出的方法,该方法的原理是如果某一段的内容很简单或者该段的内容已经预先光栅化完毕,则该段打印时并不需要一个段的打印时间来光栅化该段,其中的空闲时间则可以用来光栅化下一段,这样,有可能下一段的光栅化时间可以大于一段打印时间而不需要预先光栅化。所以该方法能在一定程度上减少预先光栅化段的数目。但该方法只利用了相邻的上一段的光栅化空闲时间,没有充分利用所有简单段及预先光栅化段的光栅化空闲时间。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的是提供一种更先进的能够减少页面预光栅化时间的打印控制方法,该方法可以在打印的同时最大限度地充分利用所有简单段及预先光栅化段的光栅化空闲时间来光栅化复杂段,从而使打印开始前需要预先光栅化的时间最少,从而就能大大提高打印速度。为达到以上目的,本专利技术采用的技术方案是,,包括以下步骤a).打印设备通过接口从主机接收打印数据;b).确定每页所分的段的数目及每段打印时间TP;c).将打印数据解释成按段组成的中间格式的数据;d).计算每一段中间格式数据所需要的光栅化时间;e).对所有打印时间小于中间格式数据所需要的光栅化时间的段,定义为复杂段;f).对所有打印时间大于或等于中间格式数据所需要的光栅化时间的段,定义为简单段并标记;g).对所有复杂段进行一次分类,分别标记为可以实时光栅化的段及不能实时光栅化的段;h).将所有标记为不可实时光栅化的段预先光栅化;i).将第1段光栅化并将点阵传送到打印点阵缓冲区;j).如果存在可实时光栅化的段,则启动一个优先级低于主打印任务的辅助任务在主打印任务空闲时间内对可以实时生成的段光栅化;k).启动打印机引擎打印当前打印缓冲区中的段;m).获取下一段的光栅点阵,并将点阵传送到打印点阵缓冲区;重复步骤k、m直到页面打印完毕。进一步,上述步骤g中对所有复杂段进行一次分类的方法包含以下步骤1)对所有的段,计算该段打印空闲时间;2)对于所有的复杂段,初始化其光栅化最晚结束时间段号为该段段号;3)找到未标记的段号最大的复杂段设为当前段,计算当前段是否可以实时光栅化并标记,对标记为可实时光栅化的段,同时得出当前段的光栅化开始时间段号及当前段在光栅化开始时间段内所占用的光栅化时间;4)如果当前段标记为可实时光栅化的段,对于段号小于当前段的所有复杂段,如果其光栅化最晚结束时间段号大于当前段的光栅化开始时间段号,则更新其光栅化最晚结束时间段号为当前段的光栅化开始时间段号;5)如果当前段标记为可实时光栅化的段,则更新当前段的光栅化开始时间段号所对应段的空闲时间为原空闲时间减去当前段在光栅化开始时间段内所占用的光栅化时间;重复步骤3、4和5,直到所有复杂段被标记完毕。更进一步,上述步骤1中所述计算该段打印空闲时间的方法是对于简单段,该段空闲时间等于每段打印时间减去该段中间格式数据所需要的光栅化时间,对于复杂段,该段空闲时间等于每段打印时间。步骤3中所述计算当前段是否可以实时光栅化同时得出当前段的光栅化开始时间段号及当前段在光栅化开始时间段内所占用的光栅化时间的方法包括以下步骤(1)初始化当前段在其光栅化开始时间段内所占用的光栅化时间为当前段光栅化时间,初始化当前段的光栅化开始时间段号为当前段光栅化最晚结束时间段号;(2)判断当前段的光栅化开始时间段号是否小于2,如是,则标记该段为不可以实时光栅化段,步骤结束,否则转入下一步;(3)判断当前段在其光栅化开始时间段内所占用的光栅化时间是否大于等于光栅化开始时间段的空闲时间,如是,则将当前段在其光栅化开始时间段内所占用的光栅化时间TL赋值为TL减去光栅化开始时间段的空闲时间,当前段的光栅化开始时间段号M赋值为M减1,再转入步骤(2),否则转入下一步骤; (4)标记该段为可以实时光栅化段,记录当前段的光栅化开始时间段号为当前M值,记录当前段在光栅化开始时间段M内所占用的光栅化时间为当前TL值,步骤结束。上述方法中步骤m的实施方法是判断下一段的类型,并分别按以下方法处理1)如果是简单段,则光栅化该段,再将光栅点阵传送到打印点阵缓冲区;2)如果是可实时光栅化段,则等待辅助任务光栅化该段完毕,再将光栅点阵传送到打印点阵缓冲区;3)如果是不可实时光栅化段,则从预先光栅化完毕的点阵中将光栅点阵传送到打印点阵缓冲区。本专利技术的效果在于采用本专利技术所述的打印控制方法,可以在打印的同时最大限度地充分利用所有简单段及预先光栅化段的光栅化空闲时间来光栅化复杂段,从而使打印开始前需要预先光栅化的时间最少,从而大大提高了打印速度。附图说明图1是打印控制方法原理2是一个要打印的页面及如何将它分为N段的示意3是本专利技术具体实施方式主要处理步骤的流程框4是一个打印输出过程的流程框5是判定复杂段是否可以实时光栅化的流程框6是打印过程中主打印任务和辅助打印任务并行运行的示意图具体实施方式下面结合说明书附本文档来自技高网
...

【技术保护点】
一种能够减少页面预光栅化时间的打印控制方法,其特征在于该方法包括以下步骤:a).打印设备通过接口从主机接收打印数据;b).确定每页所分的段的数目及每段打印时间; c).将打印数据解释成按段组成的中间格式的数据;   d).计算每一段中间格式数据所需要的光栅化时间;e).对所有打印时间小于中间格式数据所需要的光栅化时间的段,定义为复杂段;f).对所有打印时间大于或等于中间格式数据所需要的光栅化时间的段,定义为简单段并标记;g). 对所有复杂段进行一次分类,分别标记为可以实时光栅化的段及不能实时光栅化的段;h).将所有标记为不可实时光栅化的段预先光栅化;i).将第1段光栅化并将点阵传送到打印点阵缓冲区;j).如果存在可实时光栅化的段,则启动一个 优先级低于主打印任务的辅助任务在主打印任务空闲时间内对可以实时生成光栅化的段光栅化;k).启动打印机引擎打印当前打印缓冲区中的段;m).获取下一段的光栅点阵,并将点阵传送到打印点阵缓冲区;重复步骤k、m直到页面打印完 毕。...

【技术特征摘要】

【专利技术属性】
技术研发人员:刘志红林兆祥
申请(专利权)人:北京北大方正电子有限公司北京大学计算机科学技术研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1