CN1622125A - 一种能够减少打印内存需求的打印控制方法 - Google Patents
一种能够减少打印内存需求的打印控制方法 Download PDFInfo
- Publication number
- CN1622125A CN1622125A CN200510000586.2A CN200510000586A CN1622125A CN 1622125 A CN1622125 A CN 1622125A CN 200510000586 A CN200510000586 A CN 200510000586A CN 1622125 A CN1622125 A CN 1622125A
- Authority
- CN
- China
- Prior art keywords
- section
- rasterisation
- time
- constantly
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
- G06F3/1217—Improving printing performance achieving reduced idle time at the output device or increased asset utilization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1218—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
- G06F3/122—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1245—Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
- G06K15/1825—Adapting the print data to an output condition, e.g. object trapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1849—Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
- G06K15/1851—Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives parted in a plurality of segments per page
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1856—Generation of the printable image characterized by its workflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1856—Generation of the printable image characterized by its workflow
- G06K15/1861—Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
- G06K15/1863—Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by rasterizing in sub-page segments
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Record Information Processing For Printing (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Semiconductor Memories (AREA)
Abstract
本发明属于打印控制技术领域,具体涉及一种能够减少打印内存需求的打印控制方法。现有打印技术中,通常需要预先光栅化的复杂段会占用较多的内存。而本发明所述的打印控制方法,是将页面数据先解释为分段的中间格式数据,对每一段的中间格式数据计算其需要的光栅化时间,对于光栅化时间大于该段打印时间的段作预先的分析,把尽可能多的复杂段安排到打印任务的空闲时间里面光栅化。采用本发明所述的方法能减少打印时的预光栅化段的数量,从而减少打印的内存需求。
Description
技术领域
本发明属于打印控制技术领域,具体涉及一种能够减少打印内存需求的打印控制方法。
背景技术
现有技术中,通常的光栅打印设备打印一页的整个工作流程可分为三部分:首先从主机接收打印数据;然后将打印数据光栅化成光栅点阵;最后将光栅点阵传送到打印引擎输出。
对于某些光栅打印设备如采用激光成像技术的打印机,光栅点阵必须以固定的速度提供给打印机引擎,因为打印机引擎必须以固定不变的速度将光栅点阵转印到打印鼓上,一旦光栅点阵不能及时传送到打印机引擎,则会发生所谓的打印越界(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段光栅化并将光栅点阵传送到打印点阵缓冲区;
(4)启动打印机引擎打印当前打印缓冲区中的段;
(5)如果下一个要打印的段是简单段,则主打印任务在该简单段的开始光栅化时刻光栅化该段;
(6)获取下一段的光栅点阵,并将点阵传送到打印点阵缓冲区;
(7)打印引擎开始打印下一段;
(8)重复步骤(5)、步骤(6)、步骤(7)直到页面打印完毕。
本发明的效果在于采用本发明所述的打印控制方法,充分利用所有简单段及预先光栅化段的光栅化空闲时间来光栅化复杂段,使打印开始前需要预先光栅化的段最少,从而降低了对打印内存的需求。
附图说明
图1是打印控制方法原理图;
图2是一个要打印的页面及如何将它分为N段的示意图;
图3是打印处理步骤的流程框图;
图4是本发明主要步骤确定光栅化时间的流程框图;
图5是确定一个段的开始光栅化时刻图;
图6是从空闲时间里面删除被处理段光栅化占用时间图;
图7是更新所有段的开始光栅化时刻图;
图8是主打印任务示意图;
图9是打印过程中主打印任务和辅助打印任务并行运行的示意图。
具体实施方式
下面结合说明书附图对本发明作进一步地描述:
如图1所示,图1描述了一个本发明所涉及的打印控制方法的原理及激光打印机的各组成部分,它包括一个主机接口11,CPU13,ROM16,DRAM12及打印控制单元14,打印机引擎15等部分,主机接口11可以是并口,网络,USB等,打印机通过主机接口11从计算机10接收要打印的数据,CPU13是打印机中的中央控制单元,ROM 16用来存放程序及字库等,DRAM12则提供程序运行空间及光栅点阵的缓冲,打印控制单元14负责控制打印机引擎15的进行打印工作,打印机引擎15则可以将光栅点阵转印到纸上。
如图2所示,激光打印机将要打印的页面在逻辑上按走纸的方向分为若干段,如N(N>=2)段,每一段包含相同的扫描线,如M线,如果一个页面线数不是正好等于N*M,则最后一段线数小于M,容易得知这不影响本发明的有效性,假设打印机打印一页的需要的时间为T秒,则可以计算出每一段的打印时间TP=T/N,可以认为TP为留给打印机产生下一段光栅点阵的时间,如果在TP的时间内,不能得到下一段的光栅点阵,则会产生PrintOverrun错误。
如图3所示,本发明涉及的一种能够减少打印内存需求的打印控制方法,具体实现方案如下:
首先,打印机通过主机接口11从计算机10接收用页面描述语言如PostScript或PCL来描述的页面信息,这些信息存放在DRAM12。接着,存放在ROM16中的程序将按走纸方向,根据页面大小,打印速度,内存大小,CPU速度等参数来确定将要打印的页面分为多少段,如N段,按走纸方向,每一段依次命名为段1,段2,段3......段N,并且根据打印一页的时间T,计算出TP=T/N为一段的打印时间。接着,对页面信息中的内容如文字,图形等进行解释,将它们变成一系列比较简单的中间格式指令。从这些中间格式指令比较容易得出最终的光栅点阵,并且这些指令已经按照它们在页面上的位置被存放在不同的段中,通常,整个页面的中间格式命令的大小会远远小于最终光栅点阵的大小。
下一步,对所有的段,根据该段中包含的中间格式命令内容计算该段中中间格式命令光栅化为最终的光栅点阵需要的时间。对于第1段,这个时间表示为TR[I]。
对于所有的段I,比较该段的TR与TP,如果TP<TR[I],则将该段定义为复杂段,否则定义为简单段并标记。
接着,确定每个段将在什么时刻开始光栅化,确定的方法如图4所示的详细介绍。
最后,启动打印任务,开始页面打印,打印任务如图6所示的详细描述。
如图4所示,上述方法中确定的每个段将在什么时刻开始光栅化,包含以下步骤:
(1)初始化每一段的开始打印时刻,记第一段开始打印时刻为0,其他段开始打印时刻为Tp乘以该段的段号减去1;
(2)确定简单段的开始光栅化时刻,对于所有简单段,设置其结束光栅化时刻TendRaster为该段的开始打印的时刻,其开始光栅化时刻TbeginRaster为该段的结束光栅化时刻TendRaster减去该段的光栅化时间TR;
(3)初始化空闲时间区域信息,首先,初始化每个段的打印空闲时间为该段的打印时间TP,对于除了第一段的所有的简单段,从打印空闲时间里面减去被它们占用的光栅化时间,具体方法为从该段的前一段的打印空闲时间里面减去该段的光栅化时间;
(4)初始化所有复杂段的结束光栅化时刻,结束光栅化时刻被初始化为该段开始打印的时刻;
(5)检查是否有复杂段还没有被标记,如果没有,则转入更新所有段的开始光栅化时刻;
(6)如果存在复杂段还没有被标记,则初始化所有还没有被标记的复杂段的开始光栅化时刻,一个段的开始光栅化时刻TBeginRaster是指假设该段可以利用空闲时间区域信息里面的所有空闲时间,为了在该段的结束光栅化时刻TEndRaster之前完成光栅化,即它最迟应该开始光栅化的时刻,其详细方法如图5的描述;
(7)选择还没有被标记的段中,开始光栅化时刻最大的段作为处理段;
(8)如果处理段的开始光栅化时刻小于0,则转入更新所有段的开始光栅化时刻;
(9)否则,更新处理段的结束光栅化时刻TendRaster为在处理段之前最后一个打印空闲时间不为0的段的段号;
(10)对处理段作标记;
(11)更新空闲时间区域信息,从空闲时间区域中删除被处理段占用的时间,该操作在图6中详细说明,然后转到步骤(5)检查是否还有段需要处理;
上述过程计算有哪些段可能被安排在辅助任务,在将所有能被插入到调度序列的段作标记,开始更新所有段的开始光栅化时刻,该过程的详细步骤将在图7中描述。
如图5所述,确定处理段的开始光栅化时间,其详细步骤如下所述:
(1)初始化需要时间Time为处理段的光栅化时间;
(2)设置当前段等于处理段,然后,判断当前段的段号是否小于2,如果是,则设置处理段的开始光栅化时刻为-1,步骤结束,否则继续进入下一步骤;
(3)从需要时间Time中减去当前段对应的前一段的打印空闲时间;
(4)判断需要时间Time是否小于0,如果是,设置处理段的开始光栅化时刻为当前段的前一段开始打印时刻加上需要时间Time的绝对值,否则,设置新的当前段为原来当前段的光栅化开始时刻前一段,判断当前段的段号是否小于2,如果是,则设置处理段的开始光栅化时刻为-1,步骤结束,否则继续进入步骤(3)。
如图6所述,删除被处理段占用的光栅化时间,其详细步骤如下:
(1)初始化需要时间Time为处理段的光栅化时间;
(2)设置当前段等于处理段,然后从需要时间Time中减去当前段对应的前一段的打印空闲时间;
(3)判断需要时间Time是否大于0,如果小于0,设置当前段对应前一段的打印空闲时间为需要时间Time的绝对值,步骤结束,否则,设置当前段对应前一段的打印空闲时间为0,设置新的当前段为原来当前段的前一段,从需要时间Time中减去当前段对应的前一段的打印空闲时间,然后继续。
如图7所述,更新所有复杂段的开始光栅化时刻。该过程对于没有被标记的复杂段设置为预处理;对于被标记的复杂段,按照图4中确定的结束光栅化时刻的先后顺序,安排复杂段的光栅化过程,所有调度序列中的复杂段在保证它后面的段有足够光栅化时间的前提下尽可能迟的光栅化。一种可供参考的步骤如图7所示:
(1)将所有没有被标记的复杂段标记为需要预处理,将其开始光栅化时刻置为-1;
(2)初始化空闲时间区域信息,其方法为:首先,初始化每个段的打印空闲时间为该段的打印时间TP,对于除了第一段外的所有的简单段,从打印空闲时间里面减去被它们占用的光栅化时间,具体方法为从该段的前一段的打印空闲时间里面减去该段的光栅化时间;
(3)如果不存在被标记的复杂段,则结束,否则,继续下一步;
(4)选择被标记的复杂段中结束光栅化时刻TendRaster最大的段作为处理段;
(5)计算处理段开始光栅化时刻,具体方法在图5中描述;
(6)更新空闲时间信息,删除被处理段光栅化所占用的时间,其具体方法在图6中描述;
(7)取消处理段的标记,然后检查是否还存在被标记的复杂段。
如图8所述,打印任务的详细步骤如下:
(1)初始化,将所有标记为预处理的段预先光栅化;
(2)如果存在没有被预处理的复杂段,则创建一个辅助任务,由该辅助任务对没有被预处理的复杂段进行光栅化,该辅助任务的的优先级低于主打印任务,只能在主打印任务空闲时运行;
(3)光栅化第1段,并将点阵传送到打印点阵缓冲区,启动打印引擎;
(4)打印机引擎打印当前打印缓冲区中的段;
(5)判断是否是最后一段,如是,则打印结束;否则,判断下一段的类型是否是简单段,如果是则等待到该段的开始光栅化时刻光栅化该段,再将光栅点阵传送到打印点阵缓冲区,如果不是,则判断下一段的类型是否是已经预处理的复杂段,如是则从预先光栅化完毕的点阵中将光栅点阵传送到打印点阵缓冲区,否则,等待辅助任务光栅化该段完毕,再将光栅点阵传送到打印点阵缓冲区。
图9描述了一个本发明实施方案的简单示例,给出了打印输出过程中主打印任务和辅助打印任务及打印机引擎并行运行的示意图。
图9所示的示例假设将页面分为6段,其中第1,2,4段为简单段,光栅化时间分别为0.5Tp,0.5Tp,1Tp,Tp为打印一个段需要的时间,第3,5,6段为复杂段,光栅化时间分别为1.25Tp,1.25Tp,3.25Tp。如果利用本发明所述的方法,第6段被标示为预处理,第5段在辅助任务中于打印开始后的1.75个Tp的时刻开始光栅化,第3段在辅助任务中与打印开始后马上开始光栅化。
打印开始时,主打印任务启动一个优先级低于主打印任务的辅助打印任务来光栅化第3,5段,主打印任务先光栅化所有不可实时光栅化段即第6段,然后光栅化第1段。
启动打印机引擎打印第1段,辅助打印任务开始光栅化第3段,在第一段开始打印后0.5个Tp,辅助打印任务被挂起,主打印任务开始光栅化第二段。
当第1段打印完毕,主打印任务已经光栅化完第二段,启动打印机引擎打印第2段,辅助打印任务继续光栅化第3段。第3段在第二段开始打印后的0.75个Tp的时刻完成光栅化,接着,辅助打印任务继续光栅化第5段。
当第2段打印完毕,主打印任务则启动打印机引擎打印第3段,接着开始光栅化第4段。
当第3段打印完毕,主打印任务则启动打印机引擎打印第4段,因为第5段为复杂段,其光栅化不在主打印任务中完成,主打印任务转入空闲。
当第4段打印完毕,主打印任务则启动打印机引擎打印第5段,因为下一段第6段为为复杂段,不在主打印任务中光栅化,主打印任务转入空闲。
当第5段打印完毕,主打印任务则启动打印机引擎打印第6段。
当第6段打印完毕,页面打印结束。
如图6所示例,现有的打印技术通常需要将第1,3,5,6段都预先光栅化完毕才能开始打印,而采用本发明,只需要将第1,6段的光栅化即可开始打印,第3,5段的光栅化可以在打印的同时进行,因而打印所需的内存得到减少。
以上所述仅为本发明的其中一个实施例而已,并不用以限制本发明,如以上用激光打印机来描述本发明实施例,但本发明同样适用于某些喷墨打印机,激光照排机等采用光栅点阵进行打印的打印设备,因而凡在本发明的精神和原则之内,所作的任何修改,等同替换,改进等,均应包含在本发明的保护范围之内。
Claims (5)
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);
(10)更新所有复杂段的开始光栅化时刻;
H).启动打印任务,开始打印页面直至打印结束。
2.如权利要求1所述的一种能够减少打印内存需求的打印控制方法,其特征在于步骤H)中启动打印任务,打印任务主要用于完成打印工作,其详细步骤如下:
(1)将所有开始光栅化时刻为-1的段预先光栅化;
(2)如果存在开始光栅化时刻大于0的复杂段段,则启动一个优先级低于主打印任务的辅助任务在每个复杂段的开始光栅化时刻开始光栅化相应的复杂段;
(3)将第1段光栅化并将光栅点阵传送到打印点阵缓冲区;
(4)启动打印机引擎打印当前打印缓冲区中的段;
(5)如果下一个要打印的段是简单段,则主打印任务在该简单段的开始光栅化时刻光栅化该段;
(6)等待当前段打印结束,获取下一段的光栅点阵,并将点阵传送到打印点阵缓冲区;
(7)打印引擎开始打印下一段;
(8)重复步骤(5)、步骤(6)、步骤(7)直到页面打印完毕。
3.如权利要求1所述的一种能够减少打印内存需求的打印控制方法,其特征在于步骤(10)中更新所有复杂段的开始光栅化时刻的方法包括以下步骤:
1)对于所有没有被标记的复杂段,设置其开始光栅化时刻为-1,表示需要预处理;
2)初始化每个段的打印空闲时间为该段的打印时间;
3)对于除了第一段的所有的简单段,从打印空闲时间里面减去被它们占用的光栅化时间,具体方法为从该段的前一段的打印空闲时间里面减去该段的光栅化时间;
4)如果不存在被标记的复杂段,步骤结束,否则选择被标记的复杂段中结束光栅化时刻最大的段作为处理段;
5)计算处理段的开始光栅化时刻;
6)从空闲时间中删除处理段光栅化占用的时间,取消处理段的标记,转入步骤4)。
4.如权利要求1或3所述的一种能够减少打印内存需求的打印控制方法,其特征在于步骤(6)、步骤(10)中第5)步所述的计算一个段的开始光栅化时刻,这里将要初始化的段称为处理段,其详细步骤如下:
a).初始化需要时间为处理段的光栅化时间,设置当前段等于处理段;
b).判断当前段的段号是否小于2,如是,则说明处理段必须被预处理,初始化处理段的开始光栅化时刻为-1,步骤结束,否则,继续下一步骤;
c).从需要时间中减去当前段对应的前一段的打印空闲时间;
d).如果打印空闲时间大于0,设置新的当前段为原来当前段的前一段,转入步骤b),否则,继续下一步骤;
e)设置处理段的开始光栅化时刻为当前段的前一段开始打印时刻加上光栅化需要时间的绝对值。
5.如权利要求1或3所述的一种能够减少打印内存需求的打印控制方法,其特征在于步骤(9)、步骤(10)中第6)所述的删除处理段光栅化所占用的时间,其详细步骤如下:
a).初始化需要时间为处理段的光栅化时间,设置当前段为处理段;
b).从需要时间中减去当前段对应的前一段的打印空闲时间;
c).如果需要时间大于0,设置当前段对应前一段的打印空闲时间为0,设置新的当前段为原来当前段的前一段,转入步骤b),否则,继续下一步骤;
d).设置当前段对应前一段的打印空闲时间为光栅化需要时间的绝对值。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100005862A CN100351857C (zh) | 2005-01-07 | 2005-01-07 | 一种能够减少打印内存需求的打印控制方法 |
JP2007549785A JP2008526555A (ja) | 2005-01-07 | 2005-12-23 | 印刷メモリの必要量を低減可能な印刷制御方法 |
US11/813,384 US7995233B2 (en) | 2005-01-07 | 2005-12-23 | Printing control method capable of reducing printing memory requirement |
PCT/CN2005/002291 WO2006072205A1 (en) | 2005-01-07 | 2005-12-23 | Printing control method capable of reducing printing memory requirement |
EP05822733A EP1850220B1 (en) | 2005-01-07 | 2005-12-23 | Printing control method capable of reducing printing memory requirement |
DE602005027000T DE602005027000D1 (de) | 2005-01-07 | 2005-12-23 | Drucksteuerverfahren mit der fähigkeit zur verringerung einer druckspeicheranforderung |
AT05822733T ATE502332T1 (de) | 2005-01-07 | 2005-12-23 | Drucksteuerverfahren mit der fähigkeit zur verringerung einer druckspeicheranforderung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100005862A CN100351857C (zh) | 2005-01-07 | 2005-01-07 | 一种能够减少打印内存需求的打印控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1622125A true CN1622125A (zh) | 2005-06-01 |
CN100351857C CN100351857C (zh) | 2007-11-28 |
Family
ID=34777983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100005862A Expired - Fee Related CN100351857C (zh) | 2005-01-07 | 2005-01-07 | 一种能够减少打印内存需求的打印控制方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7995233B2 (zh) |
EP (1) | EP1850220B1 (zh) |
JP (1) | JP2008526555A (zh) |
CN (1) | CN100351857C (zh) |
AT (1) | ATE502332T1 (zh) |
DE (1) | DE602005027000D1 (zh) |
WO (1) | WO2006072205A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455881A (zh) * | 2010-10-26 | 2012-05-16 | 富士施乐株式会社 | 图像处理装置、图像输出设备、和图像处理方法 |
CN106095345A (zh) * | 2015-04-30 | 2016-11-09 | 佳能株式会社 | 具有多个处理单元的图像形成装置及其控制方法 |
CN107813621A (zh) * | 2017-10-26 | 2018-03-20 | 深圳华云科技实业有限公司 | 一种涂布数据处理方法、设备及计算机可读存储介质 |
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 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5284076B2 (ja) * | 2008-12-25 | 2013-09-11 | キヤノン株式会社 | 印刷装置及びその制御方法、並びにプログラム |
JP5210913B2 (ja) * | 2009-02-05 | 2013-06-12 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置及び画像形成方法 |
US8330972B2 (en) * | 2009-04-23 | 2012-12-11 | Xerox Corporation | System and method for reducing print delays for print jobs |
WO2014067142A1 (en) * | 2012-11-02 | 2014-05-08 | Accenture Global Services Limited | Real-time data management for a power grid |
JP6083395B2 (ja) * | 2014-02-07 | 2017-02-22 | コニカミノルタ株式会社 | 画像形成装置、および画像形成方法 |
JP6683060B2 (ja) * | 2016-08-18 | 2020-04-15 | コニカミノルタ株式会社 | 画像処理装置、方法およびプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5129049A (en) * | 1991-05-16 | 1992-07-07 | Hewlett-Packard Company | Method and apparatus for preventing print overruns |
JPH09272231A (ja) * | 1996-04-05 | 1997-10-21 | Canon Inc | 出力装置および出力装置のデータ処理方法およびコンピュータが読むことができるプログラムを格納した記憶媒体 |
US5870535A (en) | 1997-05-12 | 1999-02-09 | Lexmark International, Inc. | Method and apparatus for building rasterized lines of bitmap data to be printed using a piecewise-linear direct memory access addressing mode of retrieving bitmap data line segments |
JP3862396B2 (ja) * | 1998-01-08 | 2006-12-27 | キヤノン株式会社 | 印刷装置及び画像処理方法 |
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 |
US6359700B1 (en) * | 1999-04-26 | 2002-03-19 | Hewlett-Packard Company | Method and apparatus for preventing print overruns by rasterizing complex page strips using an auxiliary processor |
JP2001239717A (ja) * | 2000-02-29 | 2001-09-04 | Dainippon Screen Mfg Co Ltd | デジタル印刷制御装置およびデジタル印刷システム |
JP4105418B2 (ja) * | 2001-10-05 | 2008-06-25 | 大日本スクリーン製造株式会社 | 画像処理装置、画像処理方法、および記録媒体並びにプログラム |
CN1184558C (zh) * | 2003-03-31 | 2005-01-12 | 上海北大方正科技电脑系统有限公司 | 一种打印设备 |
US20040246502A1 (en) | 2003-06-09 | 2004-12-09 | Jacobsen Dana A. | Rendering sub-sections |
-
2005
- 2005-01-07 CN CNB2005100005862A patent/CN100351857C/zh not_active Expired - Fee Related
- 2005-12-23 AT AT05822733T patent/ATE502332T1/de not_active IP Right Cessation
- 2005-12-23 US US11/813,384 patent/US7995233B2/en not_active Expired - Fee Related
- 2005-12-23 EP EP05822733A patent/EP1850220B1/en not_active Not-in-force
- 2005-12-23 DE DE602005027000T patent/DE602005027000D1/de active Active
- 2005-12-23 WO PCT/CN2005/002291 patent/WO2006072205A1/zh active Application Filing
- 2005-12-23 JP JP2007549785A patent/JP2008526555A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455881A (zh) * | 2010-10-26 | 2012-05-16 | 富士施乐株式会社 | 图像处理装置、图像输出设备、和图像处理方法 |
CN102455881B (zh) * | 2010-10-26 | 2016-01-27 | 富士施乐株式会社 | 图像处理装置、图像输出设备、和图像处理方法 |
CN106095345A (zh) * | 2015-04-30 | 2016-11-09 | 佳能株式会社 | 具有多个处理单元的图像形成装置及其控制方法 |
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 |
CN106095345B (zh) * | 2015-04-30 | 2019-05-28 | 佳能株式会社 | 具有多个处理单元的图像形成装置及其控制方法 |
CN107813621A (zh) * | 2017-10-26 | 2018-03-20 | 深圳华云科技实业有限公司 | 一种涂布数据处理方法、设备及计算机可读存储介质 |
CN107813621B (zh) * | 2017-10-26 | 2019-08-13 | 深圳华云数码有限公司 | 一种涂布数据处理方法、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20090080024A1 (en) | 2009-03-26 |
EP1850220A4 (en) | 2008-12-17 |
WO2006072205A1 (en) | 2006-07-13 |
US7995233B2 (en) | 2011-08-09 |
EP1850220B1 (en) | 2011-03-16 |
CN100351857C (zh) | 2007-11-28 |
DE602005027000D1 (de) | 2011-04-28 |
EP1850220A1 (en) | 2007-10-31 |
JP2008526555A (ja) | 2008-07-24 |
ATE502332T1 (de) | 2011-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100351857C (zh) | 一种能够减少打印内存需求的打印控制方法 | |
CN1269018C (zh) | 打印控制设备和方法、信息处理设备及方法 | |
CN1254082C (zh) | 图像处理方法和图像处理装置 | |
CN1666497A (zh) | 打印装置的改善 | |
CN1645312A (zh) | 图像转换装置及图像转换程序 | |
US8593668B2 (en) | Parallel printing system | |
CN1731422A (zh) | 图像处理装置及其方法 | |
CN100356395C (zh) | 一种能够避免打印越界错误的打印控制方法 | |
JP2010000629A (ja) | 印刷制御装置、印刷装置、及び印刷制御プログラム | |
CN1873662A (zh) | 打印系统 | |
US9195920B2 (en) | Swathing parallel pipeline architecture | |
JP2010244359A (ja) | 並列処理によりデータ処理を行う印刷装置および制御方法 | |
JP5046844B2 (ja) | 画像形成装置および画像形成プログラム | |
CN100351856C (zh) | 一种能够减少页面预光栅化时间的打印控制方法 | |
CN1715070A (zh) | 打印装置、信息处理装置及其控制方法 | |
CN1241110C (zh) | 打印控制方法 | |
CN1373417A (zh) | 图像打印设备控制方法和图像打印设备 | |
CN1881171A (zh) | 打印系统、打印方法、打印设备、以及驱动器 | |
US8810854B2 (en) | Image forming apparatus, image drawing processing method, software program, and storage medium | |
CN1892578A (zh) | 图像数据处理系统、控制设备和方法 | |
CN1454156A (zh) | 协作的打印引擎/控制器和由多个打印引擎/控制器驱动的打印头 | |
CN1110939C (zh) | 具有打印控制的信息处理设备和方法 | |
CN101030124A (zh) | 打印机驱动记录介质及其打印控制法、打印机和数据信号 | |
EP2441244A1 (en) | High speed page processing and transmission | |
CN1644386A (zh) | 一种能够提高内存利用率的打印内存管理方法 |
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 |
Granted publication date: 20071128 Termination date: 20190107 |
|
CF01 | Termination of patent right due to non-payment of annual fee |