一种能够减少打印内存需求的打印控制方法技术

技术编号:2931999 阅读:200 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于打印控制技术领域,具体涉及一种能够减少打印内存需求的打印控制方法。现有打印技术中,通常需要预先光栅化的复杂段会占用较多的内存。而本发明专利技术所述的打印控制方法,是将页面数据先解释为分段的中间格式数据,对每一段的中间格式数据计算其需要的光栅化时间,对于光栅化时间大于该段打印时间的段作预先的分析,把尽可能多的复杂段安排到打印任务的空闲时间里面光栅化。采用本发明专利技术所述的方法能减少打印时的预光栅化段的数量,从而减少打印的内存需求。

【技术实现步骤摘要】

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

【技术保护点】
一种能够减少打印内存需求的打印控制方法,包括以下步骤:A).打印设备通过接口从主机接收打印数据;B).确定每页所分的段的数目及每段打印时间;C).将打印数据解释成按段组成的中间格式的数据;D).计算每一段中间 格式数据所需要的光栅化时间TR;E).对所有打印时间小于中间格式数据所需要的光栅化时间的段,定义为复杂段;F).对所有打印时间大于或等于中间格式数据所需要的光栅化时间的段,定义为简单段;G).确定每个段的开始光栅化时 刻,设定第一段开始打印时刻为0,包括以下步骤:(1)初始化每一段的开始打印时刻为Tp乘以该段的段号减去1,其中Tp是指打印一个段需要的时间;(2)设置所有段的结束光栅化时刻为该段的开始打印的时刻,对于所有简单段,设置其开始光 栅化时刻为该段的结束光栅化时刻减去该段的光栅化时间TR;(3)初始化每个段的打印空闲时间为该段的打印时间;(4)对于除了第一段的所有的简单段,从打印空闲时间里面减去光栅化该简单段占用的时间,具体方法为从该简单段的前一段的打印 空闲时间里面减去该段的光栅化时间;(5)如果不存在还没有被标记的复杂段,则转入步骤(10);(6)对于所有还没有被标记的复杂段,设置其开始光栅化时刻;(7)选择开始光栅化时刻最大并且还没有被标记的一个段作为处理段,如 果该段的开始光栅化时刻小于0,步骤结束;(8)更新处理段的结束光栅化时刻为在处理段之前最后一个打印空闲时间不为0的段的段号,对处理段作标记;(9)从打印空闲时间信息中删除处理段光栅化所占用的时间,转入步骤(5);(1 0)更新所有复杂段的开始光栅化时刻;H).启动打印任务,开始打印页面直至打印结束。...

【技术特征摘要】

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

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

1