CN100356395C - 一种能够避免打印越界错误的打印控制方法 - Google Patents
一种能够避免打印越界错误的打印控制方法 Download PDFInfo
- Publication number
- CN100356395C CN100356395C CNB2005100766952A CN200510076695A CN100356395C CN 100356395 C CN100356395 C CN 100356395C CN B2005100766952 A CNB2005100766952 A CN B2005100766952A CN 200510076695 A CN200510076695 A CN 200510076695A CN 100356395 C CN100356395 C CN 100356395C
- Authority
- CN
- China
- Prior art keywords
- section
- rasterisation
- time
- printing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
本发明属于打印控制技术领域,具体涉及一种能够避免打印越界错误的打印控制方法。现有打印技术中,在确定页面中段的光栅化顺序主要采用局部调度和多任务的方法。而本发明所述的打印控制方法,采用全局调度,考虑充分重用页面中段的光栅化数据占用的缓存,以达到在有限的打印内存情况下避免打印越界错误的目的。采用本发明所述的方法能避免打印越界错误的发生,减少打印时的页面预光栅化时间,从而大大提高打印的效率。
Description
技术领域
本发明属于打印控制技术领域,具体涉及一种能够避免打印过程中打印越界错误的打印控制方法。
背景技术
现有技术中,通常的光栅打印设备打印一个页面的整个工作流程可分成三个部分:首先,从主机接收打印数据;然后将打印数据光栅化成光栅点阵;最后将光栅点阵传送到打印引擎输出。
对于某些光栅打印设备如采用激光成像技术的打印机,光栅点阵必须以固定的速度提供给打印机引擎,因为打印机引擎必须以固定不变的速度将光栅点阵转印到打印鼓上,一旦光栅点阵不能及时传送到打印机引擎,则会发生所谓的“打印越界”(print overrun)的错误,页面不能正确的输出到纸上。
通常,这样的光栅打印设备的打印控制方法有如下几种:
1)预先光栅化一页点阵完毕,将光栅点阵存放在内存中,然后再开始打印,这样因为光栅点阵存在内存中,可以保证不会发生print overrun的错误,这样的方法不足之处在于对于高分辨率的打印设备,通常需要很大的内存,对于彩色打印机则更加如此,如存储一个A4幅面,600DPI的CMYK彩色页面,大约需要16MB的内存,这会大大增加打印机的成本,另外,这种方法需要完成光栅化一个完整页面后才能开始打印,这往往会降低打印速度。
2)另外一种常见的方法是将一个页面分为若干段,先将页面数据解释成为一种按段安排的中间格式,这种中间格式的数据比较容易转化为最终的光栅点阵,而且这种中间格式的数据所占内存通常大大小于页面的光栅点阵,打印机先光栅化一段就可以开始打印,在上一段打印的过程中同时进行下一段的光栅点阵实时产生,这样既能提高打印速度,又不需要很大的内存来存放一个完整页面的光栅点阵,这种方法的不足之处在于一旦有某一段的数据很复杂,则打印机很可能不能够在上一段打印的时间内及时完成该段的光栅化,则会产生打印越界(print overrun)的错误,页面将不能正确输出。
为了防止打印越界错误(print overrun)的产生,目前通常的方法是预先计算每一段所需要的光栅化时间,如有光栅化时间超过一段打印时间的段,则将这些段预先光栅化,再开始打印,这样可以保证不会产生overrun,该方法的不足在于预先光栅化所有的超过一段打印时间的段需要占用一定的内存来存放预先光栅化完毕的点阵,这要求打印机有较大的内存,也往往会引起控制器成本的增加。
在此基础上,又出现了一些改进的方法,如惠普公司在美国专利5129049中提出的方法,该方法的原理是如果某一段的内容很简单或者该段的内容已经预先光栅化完毕,则该段打印时并不需要一个段的打印时间来光栅化该段,其中的空闲时间则可以用来光栅化下一段,这样,有可能下一段的光栅化时间可以大于一段打印时间而不需要预先光栅化。所以该方法能在一定程度上减少预先光栅化段的数目。但该方法只利用了相邻的上一段的光栅化空闲时间,没有充分利用所有简单段及预先光栅化段的光栅化空闲时间。北大方正电子有限公司于2004年6月4日申请并于2005年2月23日公开的“一种能够减少页面预光栅化时间的打印控制方法”中国专利申请(申请号:200410042983.1),该方法采用双任务控制打印过程,充分利用打印过程中的空闲时间,降低了打印过程的内存需求,但是该方法在安排页面中段的光栅化顺序的过程中并没有考虑充分重用打印过程中页面的段的光栅化数据占用的缓存。
发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种能够避免打印越界错误的打印控制方法,该方法在有限的打印内存情况下避免打印越界错误。
为达到以上目的,本发明采用的技术方案是,一种能够避免打印越界错误的打印控制方法,包括以下步骤:
a)打印设备通过接口从主机接收打印数据,确定每页所分的段的数目及每段打印时间,将打印数据解释成按段组成的中间格式数据,并计算每一个段的光栅化需要的时间;
b)计算每一段开始光栅化的时刻,对于每一个段,设置该段的开始光栅化时刻为不引起额外缓存需求的前提下可以开始光栅化的最早时刻,如果不存在这样的时刻,则标记该段为需要预处理;
c)将被标记为需要预处理的段光栅化,启动打印机引擎打印当前打印缓冲区中的段,开始打印页面;
d)在打印过程中根据步骤b中计算出的每个段的开始光栅化时刻,在该时刻光栅化需要光栅化的段。
进一步,上述步骤b中计算每一段的光栅化开始时刻包含以下步骤:
1)初始化光栅化允许时刻为0,初始化最小可用时刻为0;
2)取页面的第一段作为处理段;
3)如果处理段的光栅化时间加上最小可用时刻大于处理段的开始打印时刻,则标识处理段为需要预处理的段;设置光栅化允许时刻等于原来的光栅化允许时刻加上打印一个段需要的时间;
4)否则设置处理段的光栅化开始时刻为最小可用时刻;设置最小可用时刻等于最小可用时刻加上处理段的光栅化时间;
5)如果最小可用时刻小于光栅化允许时刻,则设置最小可用时刻为光栅化允许时刻;
6)如果还有段没有处理,设置下一段为处理段,转步骤3)处理。
上述方法中步骤c启动打印引擎,开始打印页面的实施方法是:
1)启动打印引擎,开始打印第一段;
2)一个段打印完毕,产生打印中断;
3)在中断处理中,将下一段的光栅点阵数据,传送到打印点阵缓冲区,打印引擎将继续打印下一段;
4)重复上述步骤2)、3)的过程,直到页面打印完毕。
进一步,上述步骤d中在适当的时间光栅化需要光栅化的段,包括以下步骤:
1)如果还存在未光栅化的段,则取第一个未光栅化的段,将其光栅化开始时间与当前时间比较;
2)如果段的光栅化开始时间大于当前时间,则等待到该段的光栅化开始时间光栅化该段,否则光栅化该段;
3)重复上述步骤1)、2),直到不存在未光栅化的段。
本发明的效果在于:采用本发明所述的打印控制方法,可以在打印过程中充分重用页面中段的光栅化数据占用的缓存,从而可以在有限的内存情况下避免打印越界错误
附图说明
图1是打印控制方法原理图
图2是一个要打印的页面及如何将它分为N段的示意图
图3是本发明具体实施方式主要处理步骤的流程框图
图4是计算页面所有段的光栅化开始时刻过程框图
图5在适当的时刻开始光栅化需要光栅化的段流程框图
图6启动打印引擎,开始打印的流程框图
图7是打印过程中采用本发明所述方法打印一个页面的具体实例。
具体实施方式
下面结合说明书附图对本发明作进一步地描述。
如图1所示,图1描述了一个本发明所涉及的打印控制方法的原理及激光打印机的各组成部分,它包括一个主机接口11,CPU13,ROM16,DRAM12及打印控制单元14,打印机引擎15等部分,主机接口11可以是并口,网络,USB等,打印机通过主机接口11从计算机10接收要打印的数据,CPU13是打印机中的中央控制单元,ROM 16用来存放程序及字库等,DRAM12则提供程序运行空间及光栅点阵的缓冲,打印控制单元14负责控制打印机引擎15的进行打印工作,打印机引擎15则可以将光栅点阵转印到纸上。
如图2所示,激光打印机将要打印的页面20在逻辑上按走纸的方向分为若干段,如N(N>=2)段,每一段包含相同的扫描线,如M线,如果一个页面线数不是正好等于N*M,则最后一段线数小于M,容易得知这不影响本发明的有效性,假设打印机打印一页的需要的时间为T秒,则可以计算出每一段的打印时间TP=T/N,可以认为TP为留给打印机产生下一段光栅点阵的时间,如果在TP的时间内,不能得到下一段的光栅点阵,则会产生Print Overrun错误。
如图3所示,本发明涉及的打印控制方法的具体实现方案如下:
首先,打印设备通过接口从主机接收打印数据,确定每页所分的段的数目及每段打印时间,然后将从主机接受到的数据解释成按段组成的中间格式数据,并计算每一个段的光栅化需要的时间;
然后,计算页面所有段的光栅化开始时刻。
第三步,将需要预处理的段光栅化,启动打印引擎,开始打印页面。
最后,打印过程中光栅化需要光栅化的段,详细步骤如图5所示。
如图4示,计算页面所有段的光栅化开始时刻过程如下:
1)初始化光栅化允许时刻为0,初始化最小可用时刻为0;
2)取页面的第一段作为处理段;
3)如果处理段的光栅化时间加上最小可用时刻大于处理段的开始打印时刻,则标志处理段为需要预处理的段;
4)否则标志处理段的开始光栅化时刻为最小可用时刻;设置最小可用时刻等于最小可用时刻加上处理段的光栅化时间,设置光栅化允许时刻等于原来的光栅化允许时刻加上打印一个段需要的时间;
5)如果最小可用时刻小于光栅化允许时刻,则设置最小可用时刻为光栅化允许时刻,否则转入步骤6处理;
6)如果还有段没有处理,设置下一段为处理段,转入步骤3处理,否则光栅化时刻计算过程结束。
通过以上的步骤,所有的段都被确定了开始光栅化时刻或则被标识为需要预处理的段。
如图5所示在适当的时刻开始光栅化需要光栅化的段流程如下:
1)如果还存在未光栅化的段,则取第一个未光栅化的段,将其光栅化开始时刻与当前时刻比较;
2)如果段的光栅化开始时刻大于当前时刻,则等待到该段的光栅化开始时刻光栅化该段,否则光栅化该段;
3)重复步骤1)、2)直到所有段都被光栅化。
如图6所示启动打印引擎,打印的流程如下:
(1)启动打印引擎,开始打印第一段;
(2)一个段打印完毕,产生打印中断;
(3)在中断处理中,如果还存在未打印的段,将下一段的光栅点阵数据传送到打印点阵缓冲区,打印引擎将继续打印下一段,否则结束页面打印。
如图7所示,图7描述了采用本专利方法的打印过程中采用本发明时打印一个页面的具体实例。该实例中一个页面被分成6个段,以打印一个段所需要的时间为单位时间,则页面中段[1]到段[6]的光栅化需要时间分别为:1,0.5,1.5,1.5,1,1.5。采用本专利方法,打印前需要光栅化段[1]和段[3],其他段在打印过程中光栅化,打印过程需要的段缓存数量为3。而如果直接把光栅化需要时间大于一个段打印时间的段安排在打印前光栅化,则需要将段[1],段[3],段[4],段[6]安排在打印前光栅化,打印过程中需要的段缓存数量为5个。
以上所述仅为本发明的其中一个实施例而已,并不用以限制本发明,如以上用激光打印机来描述本发明实施例,但本发明同样适用于某些喷墨打印机,激光照排机等采用光栅点阵进行打印的打印设备,因而凡在本发明的精神和原则之内,所作的任何修改,等同替换,改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种能够避免打印越界错误的打印控制方法,包括以下步骤:
a)打印设备通过接口从主机接收打印数据,确定每页所分的段的数目及每段打印时间,将打印数据解释成按段组成的中间格式数据,并计算每一个段的光栅化需要的时间;
b)计算每一段开始光栅化的时刻,对于每一个段,设置该段的开始光栅化时刻为不引起额外缓存需求的前提下可以开始光栅化的最早时刻,如果不存在这样的时刻,则标记该段为需要预处理;
其中,步骤b中计算每一段的光栅化开始时刻包含以下步骤:
1)初始化光栅化允许时刻为0,初始化最小可用时刻为0;
2)取页面的第一段作为处理段;
3)如果处理段的光栅化时间加上最小可用时刻大于处理段的开始打印时刻,则标识处理段为需要预处理的段;设置光栅化允许时刻等于原来的光栅化允许时刻加上打印一个段需要的时间;
4)否则设置处理段的光栅化开始时刻为最小可用时刻;设置最小可用时刻等于最小可用时刻加上处理段的光栅化时间;
5)如果最小可用时刻小于光栅化允许时刻,则设置最小可用时刻为光栅化允许时刻;
6)如果还有段没有处理,设置下一段为处理段,转步骤3)处理;
c)将被标记为需要预处理的段光栅化,启动打印机引擎打印当前打印缓冲区中的段,开始打印页面;
d)在打印过程中根据步骤b中计算出的每个段的开始光栅化时刻,在该时刻光栅化需要光栅化的段。
2.根据权利要求1所述的一种能够避免打印越界错误的打印控制方法,其特征在于步骤c启动打印引擎,开始打印页面的实施方法是:
1)启动打印引擎,开始打印第一段;
2)一个段打印完毕,产生打印中断;
3)在中断处理中,将下一段的光栅点阵数据,传送到打印点阵缓冲区,打印引擎将继续打印下一段;
4)重复上述步骤2)、3)的过程,直到页面打印完毕。
3.根据权利要求1所述的一种能够避免打印越界错误的打印控制方法,其特征在于步骤d中在适当的时间光栅化需要光栅化的段,包括以下步骤:
1)如果还存在未光栅化的段,则取第一个未光栅化的段,将其光栅化开始时间与当前时间比较;
2)如果段的光栅化开始时间大于当前时间,则等待到该段的光栅化开始时间光栅化该段,否则光栅化该段;
3)重复上述步骤1)、2),直到不存在未光栅化的段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100766952A CN100356395C (zh) | 2005-06-13 | 2005-06-13 | 一种能够避免打印越界错误的打印控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100766952A CN100356395C (zh) | 2005-06-13 | 2005-06-13 | 一种能够避免打印越界错误的打印控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1710598A CN1710598A (zh) | 2005-12-21 |
CN100356395C true CN100356395C (zh) | 2007-12-19 |
Family
ID=35706838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100766952A Expired - Fee Related CN100356395C (zh) | 2005-06-13 | 2005-06-13 | 一种能够避免打印越界错误的打印控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100356395C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975216A (zh) * | 2015-03-12 | 2016-09-28 | 富士施乐株式会社 | 打印控制设备、打印控制方法和图像形成系统 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8482755B2 (en) * | 2005-09-14 | 2013-07-09 | Ricoh Production Print Solutions LLC | Print controller using a job despool token to control the release of print jobs stored in a rasterized job spool |
CN102156622B (zh) * | 2010-02-11 | 2013-04-17 | 北大方正集团有限公司 | 一种处理打印任务的方法和装置 |
CN102582703B (zh) * | 2012-02-28 | 2014-09-10 | 浙江吉利汽车研究院有限公司 | 一种车尾与车尾对接的组合汽车 |
US10121098B2 (en) | 2015-04-30 | 2018-11-06 | Canon Kabushiki Kaisha | Image forming apparatus having plurality of processing units for generating intermediate data, and method for controlling the image forming apparatus |
JP6748445B2 (ja) * | 2015-04-30 | 2020-09-02 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法、および、プログラム |
CN105150701B (zh) * | 2015-09-07 | 2017-11-10 | 深圳市汉拓数码有限公司 | 打印设备、图像涨缩打印控制装置及其控制方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1199197A (zh) * | 1997-05-12 | 1998-11-18 | 莱克斯马克国际公司 | 一种打印设备和打印方法 |
JP2000025279A (ja) * | 1998-07-13 | 2000-01-25 | Mutoh Ind Ltd | バンドスキャン型ラスタプロッタ |
JP2001239717A (ja) * | 2000-02-29 | 2001-09-04 | Dainippon Screen Mfg Co Ltd | デジタル印刷制御装置およびデジタル印刷システム |
US6347852B1 (en) * | 1998-12-18 | 2002-02-19 | Destiny Technology Corporation | System and method of applying double printing modes |
CN1439957A (zh) * | 2003-03-31 | 2003-09-03 | 上海北大方正科技电脑系统有限公司 | 一种打印设备 |
-
2005
- 2005-06-13 CN CNB2005100766952A patent/CN100356395C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1199197A (zh) * | 1997-05-12 | 1998-11-18 | 莱克斯马克国际公司 | 一种打印设备和打印方法 |
JP2000025279A (ja) * | 1998-07-13 | 2000-01-25 | Mutoh Ind Ltd | バンドスキャン型ラスタプロッタ |
US6347852B1 (en) * | 1998-12-18 | 2002-02-19 | Destiny Technology Corporation | System and method of applying double printing modes |
JP2001239717A (ja) * | 2000-02-29 | 2001-09-04 | Dainippon Screen Mfg Co Ltd | デジタル印刷制御装置およびデジタル印刷システム |
CN1439957A (zh) * | 2003-03-31 | 2003-09-03 | 上海北大方正科技电脑系统有限公司 | 一种打印设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975216A (zh) * | 2015-03-12 | 2016-09-28 | 富士施乐株式会社 | 打印控制设备、打印控制方法和图像形成系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1710598A (zh) | 2005-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100356395C (zh) | 一种能够避免打印越界错误的打印控制方法 | |
CN101082907B (zh) | 混合拼版方法及系统 | |
KR101187389B1 (ko) | 프린트 헤드들의 특성들에 대한 이미지 데이터 패킷들의 조절 | |
CN101091153B (zh) | 用于打印的数据泵 | |
CN102693098B (zh) | 图像数据处理系统 | |
EP1630663A3 (en) | Print sequence scheduling for reliability | |
CN103034618B (zh) | 图像处理设备 | |
CN100351857C (zh) | 一种能够减少打印内存需求的打印控制方法 | |
US20100171990A1 (en) | Image forming apparatus and print control method thereof | |
JP2014523822A (ja) | デジタルインクジェット印刷同期制御装置および制御方法 | |
CN104972743B (zh) | 喷墨印刷方法和装置 | |
CN102194210B (zh) | 图像处理装置和图像形成系统 | |
US20010028466A1 (en) | Image processing apparatus, image processing circuit, and image processing method | |
US9195920B2 (en) | Swathing parallel pipeline architecture | |
CN101211254B (zh) | 用于生成可变数据图像的可变数据图像生成设备、可变数据图像形成系统及方法 | |
EP1903774A3 (en) | Color conversion method and system | |
US20100315666A1 (en) | High speed page transmission | |
US20040246510A1 (en) | Methods and systems for use of a gradient operator | |
CN100351856C (zh) | 一种能够减少页面预光栅化时间的打印控制方法 | |
US8068253B2 (en) | Recording apparatus | |
CN104461406B (zh) | 一种打印输出方法及装置 | |
EP3211518A1 (en) | Image processing device | |
JP4641459B2 (ja) | 情報処理装置及びプリンタドライバ | |
US9507548B2 (en) | Method and apparatus for print job with reduced memory footprint size | |
US20040257371A1 (en) | Pipelined architecture for high speed raster image processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071219 Termination date: 20190613 |