CN101998018A - 打印数据处理装置及打印数据处理方法 - Google Patents

打印数据处理装置及打印数据处理方法 Download PDF

Info

Publication number
CN101998018A
CN101998018A CN2010102591050A CN201010259105A CN101998018A CN 101998018 A CN101998018 A CN 101998018A CN 2010102591050 A CN2010102591050 A CN 2010102591050A CN 201010259105 A CN201010259105 A CN 201010259105A CN 101998018 A CN101998018 A CN 101998018A
Authority
CN
China
Prior art keywords
page
leaf
pdl
processing
resource
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
Application number
CN2010102591050A
Other languages
English (en)
Other versions
CN101998018B (zh
Inventor
大野隆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN101998018A publication Critical patent/CN101998018A/zh
Application granted granted Critical
Publication of CN101998018B publication Critical patent/CN101998018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1215Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/124Parallel printing or parallel ripping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1827Accessing generic data, e.g. fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1849Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1857Generation of the printable image characterized by its workflow involving parallel processing in the same printing apparatus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

本发明提供一种打印数据处理装置及打印数据处理方法。所述打印数据处理装置包括第一处理器和第二处理器。所述第一处理器在多页打印数据共享资源的情况下,对与第m页之前的页对应的打印数据的资源进行光栅化,并且使用光栅化后的资源来生成所述第m页的中间数据,而不生成所述第m页之前的页的任何中间数据。所述第二处理器不使用与第m页之前的页对应的、由所述第一处理器光栅化后的资源,而对与第n页之前的页对应的打印数据的资源进行光栅化,并且使用光栅化后的资源来生成所述第n页的中间数据,而不生成所述第n页之前的页的任何中间数据,其中,所述第n页为所述第m页的后续页中的一页。

Description

打印数据处理装置及打印数据处理方法
技术领域
本发明涉及打印数据处理装置、打印数据处理方法及存储介质。
背景技术
当图像形成装置(例如复印机)进行图像输出操作时,该图像形成装置基于对用作打印数据的页面描述语言(PDL)的分析来生成中间数据,并将该中间数据光栅化(rasterize)为光栅数据。该PDL可以针对诸如字符和图形数据的各种数据定义绘制命令。
PDL可以被分为不同类型。例如,如果PDL包括在各页中独立的字符和图形数据,并且在不同页的字符和图形数据之间不存在相关性,则将该PDL称为“独立PDL”。
另外,如果可以在PDL中包括的多页之间共享上述数据,则将该PDL称为“非独立PDL”。将上述数据统称为“资源”。此外,如果独立PDL包括页的可直接存取头部数据,则将该PDL称为“可直接存取PDL(directly accessible PDL)”。
近来在硬件技术上的发展引进了可安装在多功能外围设备(MFP)中的多核处理器。多核处理器使得MFP能够实现顺利进行多个功能(例如复印和打印)的并行操作。
日本特开平05-201077号公报中记载的打印控制技术使用多核处理器来高速地进行基于PDL的描绘处理。
日本特开平05-201077号公报中记载的上述打印控制技术包括:当将PDL逐页地分配给不同处理器时,读取在多页上展开的打印命令行(PDL),并且不进行实际描绘(实描绘)而执行用于设置各页的描绘属性参数的空描绘。上述传统打印控制技术还包括:当页的空描绘已经完成时,使各处理器根据打印命令行执行实描绘处理。
发明内容
利用传统的多核处理器的描绘处理在不考虑PDL的特性的情况下进行。而根据本发明,由于在考虑PDL的特性的情况下进行描绘处理,因此能够以比以往更快的速度来执行描绘处理。
本发明提供一种打印数据处理装置,该打印数据处理装置包括:第一处理器,其被构造为在多页打印数据共享资源的情况下,对与第m页之前的页对应的打印数据的资源进行光栅化,并且使用光栅化后的资源来生成所述第m页的中间数据,而不生成所述第m页之前的页的任何中间数据;以及第二处理器,其被构造为对与第n页之前的页对应的打印数据的资源进行光栅化,并且使用光栅化后的资源来生成所述第n页的中间数据,而不生成所述第n页之前的页的任何中间数据,其中,所述第n页为所述第m页的后续页中的一页。
从以下参照附图对示例性实施例的详细描述中,本发明的其他特征和方面将变得清楚。
附图说明
并入说明书中并构成说明书的一部分的附图,例示了本发明的示例性实施例、特征及方面,并与文字描述一起用于说明本发明的原理。
图1是例示根据本发明第一示例性实施例的图像形成装置的系统结构的示例的框图。
图2是例示根据本发明第一示例性实施例的图像形成装置的模块结构的示例的框图。
图3是例示根据第一示例性实施例的可以由图像形成装置进行的打印处理的示例的流程图。
图4是例示根据本发明第一示例性实施例的可以由PDL分析程序进行的PDL确定处理的示例的流程图。
图5是根据本发明第一示例性实施例的用于页非独立PDL的调度(scheduling)示例的流程图。
图6是根据本发明第一示例性实施例的用于页独立PDL的调度示例的流程图。
图7是例示根据本发明第一示例性实施例的用于页可直接存取PDL的调度示例的流程图。
图8是例示根据本发明第一示例性实施例的用于页非独立PDL的分析处理的示例的流程图。
图9是例示根据本发明第一示例性实施例的针对页独立PDL的分析处理的示例的流程图。
图10是例示根据本发明第一示例性实施例的针对页可直接存取PDL的分析处理的示例的流程图。
图11是例示根据本发明第一示例性实施例的DL生成处理的示例的流程图。
图12是例示根据本发明第一示例性实施例的光栅化处理的示例的流程图。
图13例示了根据本发明第一示例性实施例的PDL管理表的示例。
图14A、图14B及图14C例示了根据本发明第一示例性实施例的页管理表的示例。
图15A、图15B及图15C例示了根据本发明第一示例性实施例的调度处理中示例模块控制与所需处理时间之间的关系的示例。
具体实施方式
以下将参照附图详细说明本发明的各种示例性实施例、特征及方面。在本发明的各示例性实施例的上下文中,术语“PDL”是指在文档打印操作中可用的、预先定义了字符和图形的位置信息及格式信息的打印数据。术语“资源”是指在将包含多页的PDL转换成中间数据时重复使用的数据。
资源的光栅化包括:例如压缩图像数据到位图图像的转换,或者字符代码到字符图案(即字符图像)的转换。术语“非独立PDL”代表包含共享资源的多页的PDL。术语“独立PDL”代表包含针对各页定义的字符和图形数据的PDL,并且该PDL包含不需要共享资源的多页。
术语“可直接存取PDL”代表包含各页的可直接存取的前导分析命令(leading analysis command)并且包含不需要共享资源的多页的PDL。术语“独立PDL”代表不能够直接存取各页的前导分析命令的PDL。术语“分析”是指进行用于读取PDL的打印命令并识别所读取的打印命令的类型的处理。
以下参照图1详细描述根据第一示例性实施例的图像形成装置的结构。
图1是例示根据本发明第一示例性实施例的进行打印数据处理的图像形成装置102的系统结构的示例的框图。图1所示的图像形成装置102包括网络接口(I/F)202、随机存取存储器(RAM)203、只读存储器(ROM)208以及硬盘驱动器(HDD)217。另外,图像形成装置102还包括中央处理单元1(CPU1)218、CPU2219、引擎I/F 212以及打印机引擎213。
网络I/F 202是被构造为从外部设备输入信息以及向外部设备输出信息的功能单元。例如,网络I/F 202可以经由网络104接收从外部设备发送的PDL。
RAM 203是被构造为临时存储各种信息的功能单元。更具体地说,RAM 203包括接收缓冲器204、工作存储器205、帧缓冲器206、光栅存储器207以及共享存储器220。
接收缓冲器204用作能够存储经由网络I/F 202从外部设备接收的各PDL的存储区。工作存储器205用作当将接收到的PDL转换成中间代码时临时可使用的工作存储区。帧缓冲器206用作能够存储在图像形成装置102中转换的中间代码的存储区。光栅存储器207用作能够存储在由中间代码进行光栅化后经历了绘制处理的数据的存储区。
共享存储器220用作能够存储通过由CPU1 218或CPU2 219或者这两个单元根据存储在ROM 208中的程序进行的处理而生成的数据的存储区。另外,当这两个单元均可访问共享存储器220时,各单元可以共享存储在共享存储器220中的数据。例如,在资源存储在共享存储器220中的情况下,这两个单元(CPU1 218和CPU2 219)可以共享存储在共享存储器220中的资源。
ROM 208是这样一种功能单元,其被构造为存储可以被图像形成装置102的CPU1 218或CPU2 219或者这两个单元执行以进行处理的控制程序。ROM 208包括PDL分析程序209、生成中间数据(即显示列表(DL))的DL生成程序210、光栅化处理程序214以及页调度程序215。
PDL分析程序209是可以识别从接收缓冲器204读取的各PDL的类型的程序。作为多个预定类型中的一种,各PDL的类型是可区别的。另外,PDL分析程序209可以使CPU根据所识别的PDL的类型执行PDL分析处理。
DL生成程序210是这样一种程序,其可以由PDL分析程序209分析的数据生成中间数据,并且使CPU执行用于将中间数据存储到帧缓冲器206中的处理。
光栅化处理程序214是这样一种程序,其可以通过将存储在帧缓冲器206中的中间数据绘制为位图数据来对其进行光栅化、并且使CPU执行用于将光栅化后的位图数据存储到光栅存储器207中的处理。
页调度程序215是可以请求CPU执行页分析处理和DL生成处理的程序。更具体地说,页调度程序215请求CPU1 218和CPU2 219执行PDL分析程序209以分析PDL的各页,并且还执行DL生成程序210以生成DL。PDL分析程序209和DL生成程序210(即,要用来基于打印数据生成中间数据的程序)在下文中称为“打印数据处理程序”。
另外,页调度程序215进行用于识别从外部设备接收的PDL的类型、并根据所识别的PDL的类型将PDL中包含的预定页分配给图像形成装置102上安装的两个CPU的处理。以下描述页调度程序215的详细结构。此外,如果除了CPU1 218或CPU2 219以外还设置有作为附加CPU的第三处理器(本示例性实施例中未示出),则该第三处理器可以执行存储在ROM 208中的上述程序。
CPU1 218可作为根据本示例性实施例的第一处理器操作。CPU2 219可作为根据本示例性实施例的第二处理器操作。CPU1 218和CPU2 219各自是能够执行图像形成装置102要进行的运算处理和各种控制的中央处理单元(CPU)。各单元可以执行从ROM 208加载到RAM 203中以进行预定的数据处理的程序。各CPU包括“核处理器”(即,包括可组合操作的命令生成器和计算器的集合体)。
引擎I/F 212可以从打印机引擎213输入信号并向打印机引擎213输出信号。打印机引擎213可以进行打印处理,所述打印处理包括基于图像数据在感光鼓上电子照相式地形成潜像、将调色剂像转印到记录纸上、并且定影所转印的调色剂像。
接着,以下将描述根据本发明第一示例性实施例的要由页调度程序215进行的处理的示例。图2例示了页调度程序215的模块结构的示例。
在图2中,由虚线302包围的区域包括由CPU1 218执行以逐页地进行PDL处理的PDL分析程序209和DL生成程序210。由虚线303包围的区域包括由CPU2 219执行以逐页地进行PDL处理的PDL分析程序209和DL生成程序210。
页调度程序215向CPU1 218发送控制命令310以启动PDL分析程序209。类似地,页调度程序215向CPU2 219发送控制命令311以启动PDL分析程序209。另外,页调度程序215向CPU1 218发送控制命令320以启动DL生成程序210。类似地,页调度程序215向CPU2 219发送控制命令321以启动DL生成程序210。
页调度程序215可以利用数学函数调用和进程间通信来进行上述控制。可以由CPU1 218执行的PDL分析程序209根据从页调度程序215接收的控制命令310来读取存储在接收缓冲器204中的PDL,并执行PDL分析处理。
可以由CPU1 218执行的DL生成程序210基于从页调度程序215接收的控制命令320和从PDL分析程序209发送的分析结果,来进行DL生成处理,并且进行用于将生成的DL存储在帧缓冲器206中的处理。
可以由CPU2 219执行的PDL分析程序209和DL生成程序210进行与CPU1 218类似的处理。上述模块结构能够实现PDL页并行处理。
图3是例示根据第一示例性实施例的可以由图像形成装置102进行的打印处理的示例的流程图。
在步骤S1001中,网络I/F 202接收从连接到网络104的PC经由网络104发送的PDL。将接收到的PDL存储在接收缓冲器204中。在步骤S1002中,页调度程序215请求PDL分析程序209进行PDL确定处理,以识别所接收到的PDL的类型。
在步骤S1003中,页调度程序215确定由PDL分析程序209识别的PDL是否是非独立PDL。如果确定所识别的PDL是非独立PDL(步骤S1003中“否”),则在步骤S1007中,页调度程序215执行用于非独立PDL的页调度处理。如果确定由PDL分析程序209识别的PDL是页独立PDL(步骤S1003中“是”),则在步骤S1004中,页调度程序215进一步确定所识别的PDL是否是可直接存取页头部数据的PDL。
如果确定已确定的PDL不是可直接存取PDL(步骤S1004中“否”),则在步骤S1006中,页调度程序215执行用于页独立PDL的页调度处理。如果确定已确定的PDL是可直接存取PDL(步骤S 1004中“是”),则在步骤S1005中,页调度程序215执行用于可直接存取PDL的页调度处理。如上所述,根据各PDL的类型适当地执行PDL分析处理和DL生成处理有助于使得多个处理器能够适当地进行描绘处理。
例如,在要被处理的PDL是独立PDL或可直接存取PDL的情况下,该PDL中包含的多页不共享资源。因此,不需要进行由多个PDL分析处理共享资源的处理。因此,CPU不执行由多个PDL分析处理共享资源的处理。
另一方面,在要被处理的PDL是非独立PDL的情况下,PDL中包含的多页共享资源。因此,需要进行由多个PDL分析处理共享资源的处理。因此,在这种情况下,CPU执行由多个PDL分析处理共享资源的处理。
另外,在要被处理的PDL是可直接存取PDL的情况下,不需要对目标页之前的页进行PDL分析处理。因此,PDL分析处理程序不对目标页之前的页进行PDL分析处理。
图4是例示根据第一示例性实施例的要由PDL分析程序209进行的PDL确定处理的示例的流程图。PDL分析程序209执行以下处理。
在步骤S1101中,PDL分析程序209确定是否从页调度程序215接收到PDL确定请求。如果确定接收到PDL确定请求(步骤S1101中“是”),则在步骤S1102中,PDL分析程序209从接收缓冲器204中读取所存储的数据。
在步骤S1103中,PDL分析程序209确定在下述的PDL管理表中是否存在任何未确定的PDL分析处理。如果确定存在未确定的PDL分析处理(步骤S1103中“是”),则在步骤S1104中,PDL分析程序209分析目标PDL的打印命令的一部分。在步骤S1105中,PDL分析程序209确定目标PDL是否是可分析数据。
如果确定目标PDL是可分析数据(步骤S1105中“是”),则在步骤S1106中,PDL分析程序209将确定的PDL分析处理设置为要执行的PDL分析处理。然后,在步骤S1107中,PDL分析程序209将确定的PDL返回给页调度程序215。如果确定不存在任何未确定的PDL分析处理(步骤S 1103中“否”),则在步骤S1110中,PDL分析程序209将预先设置的优先PDL分析处理设置为要执行的分析处理。然后,在步骤S1111中,PDL分析程序209将优先PDL返回给页调度程序215。
图13例示了根据本示例性实施例的可以用于PDL确定处理的PDL管理表的示例。
PDL管理表600是存储各PDL的类型信息以及PDL分析处理601的指针的表。PDL分析处理601包括对各PDL进行数据分析处理的数学函数。在PDL确定处理中,PDL分析程序209按照PDL1、PDL2...PDLN的顺序执行分析处理,并确定能够被分析的PDL。
图14A例示了根据第一示例性实施例的可以被页调度程序215用来进行页管理的页管理表的示例。
页管理表500是可用来管理当前处理页的页管理表。页管理表500包括页信息501的地址510和当前处理页的数量511。页信息501存储当前处理页的信息。页信息501包括识别当前处理页的页ID 520、识别对页当前应用的处理的处理ID 521以及链接至下一页管理列表的链接地址522。
图14B例示了初始化状态下的页管理表,根据该页管理表,页信息的地址510为空(NULL)并且当前处理页的数量511等于0。图14C例示了处理状态下的页管理表,根据该页管理表,当前处理页的数量511等于2(也就是说,存在两项页信息)并且最终页信息的链接地址522为NULL。
图5是例示根据第一示例性实施例的可以由页调度程序215进行的用于页非独立PDL的示例页调度的流程图。PDL分析程序209执行以下处理。
另外,假设第n页代表要被CPU1 218处理的页,第m页代表要被CPU2 219处理的页。另外,第x页是在对第n页进行处理前已经由CPU1218生成中间数据的页的下一页。另外,第y页是在对第m页进行处理前已经由CPU2 219生成中间数据的页的下一页。
在步骤S1202中,页调度程序215初始化页计数器Pcnt(即Pcnt=0)。然后,在步骤S1203中,页调度程序215初始化存储在工作存储器205中的页管理表。在步骤S1204中,页调度程序215将作业开始通知发送给PDL分析程序209的PDL分析处理1和PDL分析处理2以及DL生成程序210的DL生成处理1和DL生成处理2。在步骤S 1205中,页调度程序215确定是否从DL生成程序210的DL生成处理1或DL生成处理2接收到页结束通知。
如果确定未从DL生成处理1或DL生成处理2接收到页结束通知(步骤S1205中“否”),则在步骤S1206中,页调度程序215确定是否从PDL分析程序209的PDL分析处理1或PDL分析处理2接收到作业结束通知。如果确定未从PDL分析处理1或PDL分析处理2接收到作业结束通知(步骤S1206中“否”),则在步骤S1207中,页调度程序215全面检索存储在工作存储器205中的页管理表,并确定PDL分析程序209的PDL分析处理1是否正在进行中。
如果确定PDL分析程序209的PDL分析处理1未在进行中(步骤S1207中“否”),则在步骤S1210中,页调度程序215使页计数器Pcnt递增。在步骤S1211中,页调度程序215将第Pcnt页的信息添加到存储在工作存储器205中的页管理表。例如,如果所添加的页为第三页,则将m设置为3。
在步骤S 1212中,页调度程序215请求PDL分析程序209的PDL分析处理1对第1至第Pcnt页进行处理。根据上述示例,对第1至第m页进行PDL分析处理。另外,在步骤S1213中,页调度程序215请求DL生成程序210的DL生成处理1跳过第1至第(Pcnt-1)页。更具体地,DL生成程序210的DL生成处理1不生成第1至第(Pcnt-1)页(即第1和第2页)的任何中间数据。然后,DL生成处理1基于第Pcnt页(即第m页)的PDL生成中间数据。
如果确定PDL分析程序209的PDL分析处理1正在进行中(步骤S1207中“是”),则在步骤S1208中,页调度程序215全面检索存储在工作存储器205中的页管理表,并确定PDL分析程序209的PDL分析处理2是否正在进行中。根据上述示例,PDL分析处理1正在对第m页进行处理。如果确定PDL分析程序209的PDL分析处理2未在进行中(步骤S1208中“否”),则在步骤S1220中,页调度程序215使页计数器Pcnt递增。在这种情况下,页计数器Pcnt变为4并且将n设置为4。
在步骤S1221中,页调度程序215将第Pcnt页的信息添加到存储在工作存储器205中的页管理表(即添加第4页)。在步骤S1222中,页调度程序215请求PDL分析程序209的PDL分析处理2对第1至第Pcnt页(即第1至第n页)进行处理。另外,在步骤S1223中,页调度程序215请求DL生成程序210的DL生成处理2跳过第1至第(Pcnt-1)页(即第1至3页)。更具体地,DL生成程序210的DL生成处理2不生成第1至第(Pcnt-1)页(即第1至第3页)的任何中间数据。然后,DL生成处理2基于第Pcnt页(即第n页)的PDL生成中间数据。
如果确定从DL生成处理1或DL生成处理2接收到页结束通知(步骤S1205中“是”),则在步骤S1230中,页调度程序215从存储在工作存储器205中的页管理表中删除与由页结束通知所通知的页对应的页信息。在步骤S1231中,页调度程序215将由页结束通知所通知的关联于帧缓冲器206的DL存储目的地与页信息一起发送给光栅化处理程序214,并请求光栅化处理程序214进行处理。
如果确定从PDL分析处理1或PDL分析处理2接收到作业结束通知(步骤S1206中“是”),则在步骤S1240中,页调度程序215确定在工作存储器205的页管理表中是否剩余有当前正在处理的任何页。如果确定存在当前正在处理的页(步骤S1240中“是”),则在步骤S1241中,页调度程序215等待从DL生成程序210的DL生成处理1或DL生成处理2发送的页结束通知。
如果确定接收到页结束通知(步骤S1241中“是”),则在步骤S1242中,页调度程序215从存储在工作存储器205中的页管理表中删除与由页结束通知所通知的页对应的页信息。在步骤S1243中,页调度程序215将由页结束通知所通知的关联于帧缓冲器206的DL存储目的地与页信息一起发送给光栅化处理程序214,并请求光栅化处理程序214进行处理。
如果确定页管理表中未剩余任何页(步骤S1240中“否”),则在步骤S1244中,页调度程序215将作业结束通知发送给PDL分析程序209的PDL分析处理1和PDL分析处理2以及DL生成程序210的DL生成处理1和DL生成处理2。
图6是例示根据第一示例性实施例的可以由页调度程序215进行的用于页独立PDL的示例页调度的流程图。页调度程序215执行以下处理。
在步骤S1302中,页调度程序215初始化页计数器Pcnt(即Pcnt=0)。然后,在步骤S1303中,页调度程序215初始化存储在工作存储器205中的页管理表。在步骤S1304中,页调度程序215将作业开始通知发送给PDL分析程序209的PDL分析处理1和PDL分析处理2以及DL生成程序210的DL生成处理1和DL生成处理2。在步骤S1305中,页调度程序215确定是否从DL生成程序210的DL生成处理1或DL生成处理2接收到页结束通知。
如果确定未从DL生成处理1或DL生成处理2接收到页结束通知(步骤S1305中“否”),则在步骤S1306中,页调度程序215确定是否从PDL分析程序209的PDL分析处理1或PDL分析处理2接收到作业结束通知。如果确定未从PDL分析处理1或PDL分析处理2接收到作业结束通知(步骤S1306中“否”),则在步骤S1307中,页调度程序215全面检索存储在工作存储器205中的页管理表,并确定PDL分析程序209的PDL分析处理1是否正在进行中。
如果确定PDL分析程序209的PDL分析处理1未在进行中(步骤S1307中“否”),则在步骤S1310中,页调度程序215使页计数器Pcnt递增。在步骤S1311中,页调度程序215将第Pcnt页的信息添加到存储在工作存储器205中的页管理表。在步骤S1312中,页调度程序215请求PDL分析程序209的PDL分析处理1跳过第1至第(Pcnt-1)页并对第Pcnt页进行处理。另外,页调度程序215请求DL生成处理1进行第Pcnt页的处理。
如果确定PDL分析程序209的PDL分析处理1正在进行中(步骤S1307中“是”),则在步骤S1308中,页调度程序215全面检索存储在工作存储器205中的页管理表,并确定PDL分析程序209的PDL分析处理2是否正在进行中。如果确定PDL分析程序209的PDL分析处理2未在进行中(步骤S1308中“否”),则在步骤S1320中,页调度程序215使页计数器Pcnt递增。
在步骤S1321中,页调度程序215将第Pcnt页的信息添加到存储在工作存储器205中的页管理表。在步骤S1322中,页调度程序215请求PDL分析程序209的PDL分析处理2跳过第1至第(Pcnt-1)页并对第Pcnt页进行处理。另外,页调度程序215请求DL生成处理2进行第Pcnt页的处理。
如果确定从DL生成处理1或DL生成处理2接收到页结束通知(步骤S1305中“是”),则在步骤S1330中,页调度程序215从存储在工作存储器205中的页管理表中删除与由页结束通知所通知的页对应的页信息。在步骤S1331中,页调度程序215将由页结束通知所通知的关联于帧缓冲器206的DL存储目的地与页信息一起发送给光栅化处理程序214,并请求光栅化处理程序214进行处理。
如果确定从PDL分析处理1或PDL分析处理2接收到作业结束通知(步骤S1306中“是”),则在步骤S1340中,页调度程序215确定在工作存储器205的页管理表中是否剩余有当前正在处理的任何页。
如果确定存在当前正在处理的页(步骤S1340中“是”),则在步骤S1341中,页调度程序215等待从DL生成程序210的DL生成处理1或DL生成处理2发送的页结束通知。如果确定接收到页结束通知(步骤S1341中“是”),则在步骤S1342中,页调度程序215从存储在工作存储器205中的页管理表中删除与由页结束通知所通知的页对应的页信息。
在步骤S1343中,页调度程序215将由页结束通知所通知的关联于帧缓冲器206的DL存储目的地与页信息一起发送给光栅化处理程序214,并请求光栅化处理程序214进行处理。
如果确定在页管理表中未剩余有任何页(步骤S1340中“否”),则在步骤S1344中,页调度程序215将作业结束通知发送给PDL分析程序209的PDL分析处理1和PDL分析处理2以及DL生成程序210的DL生成处理1和DL生成处理2。
图7是例示根据第一示例性实施例的可以由页调度程序215进行的用于可直接存取PDL的示例页调度的流程图。页调度程序215执行以下处理。
在步骤S1402中,页调度程序215初始化页计数器Pcnt(即Pcnt=0)。然后,在步骤S1403中,页调度程序215初始化存储在工作存储器205中的页管理表。在步骤S1404中,页调度程序215将作业开始通知发送给PDL分析程序209的PDL分析处理1和PDL分析处理2以及DL生成程序210的DL生成处理1和DL生成处理2。
在步骤S1405中,页调度程序215确定是否从DL生成程序210的DL生成处理1或DL生成处理2接收到页结束通知。如果确定未从DL生成处理1或DL生成处理2接收到页结束通知(步骤S1405中“否”),则在步骤S1406中,页调度程序215确定是否从PDL分析程序209的PDL分析处理1或PDL分析处理2接收到作业结束通知。
如果确定未从PDL分析处理1或PDL分析处理2接收到作业结束通知(步骤S1406中“否”),则在步骤S1407中,页调度程序215全面检索存储在工作存储器205中的页管理表,并确定PDL分析程序209的PDL分析处理1是否正在进行中。
如果确定PDL分析程序209的PDL分析处理1未在进行中(步骤S1407中“否”),则在步骤S1410中,页调度程序215使页计数器Pcnt递增。在步骤S1411中,页调度程序215将第Pcnt页的信息添加到存储在工作存储器205中的页管理表。在步骤S1412中,页调度程序215请求PDL分析程序209的PDL分析处理1对第Pcnt页进行处理。
如果确定PDL分析程序209的PDL分析处理1正在进行中(即步骤S1407中“是”),则在步骤S1408中,页调度程序215全面检索存储在工作存储器205中的页管理表,并确定PDL分析程序209的PDL分析处理2是否正在进行中。如果确定PDL分析程序209的PDL分析处理2未在进行中(步骤S1408中“否”),则在步骤S1420中,页调度程序215使页计数器Pcnt递增。
在步骤S1421中,页调度程序215将第Pcnt页的信息添加到存储在工作存储器205中的页管理表。另外,在步骤S1422中,页调度程序215请求PDL分析程序209的PDL分析处理2对第Pcnt页进行处理。
如果确定从DL生成处理1或DL生成处理2接收到页结束通知(步骤S1405中“是”),则在步骤S1430中,页调度程序215从存储在工作存储器205中的页管理表中删除与由页结束通知所通知的页对应的页信息。
在步骤S1431中,页调度程序215将由页结束通知所通知的关联于帧缓冲器206的DL存储目的地与页信息一起发送给光栅化处理程序214,并请求光栅化处理程序214进行处理。
如果确定从PDL分析处理1或PDL分析处理2接收到作业结束通知(步骤S1406中“是”),则在步骤S1440中,页调度程序215确定在工作存储器205的页管理表中是否剩余有当前正在处理的任何页。
如果确定存在当前正在处理的页(步骤S1440中“是”),则在步骤S1441中,页调度程序215等待从DL生成程序210的DL生成处理1或DL生成处理2发送的页结束通知。
如果确定接收到页结束通知(步骤S1441中“是”),则在步骤S1442中,页调度程序215从存储在工作存储器205中的页管理表中删除与由页结束通知所通知的页对应的页信息。
另外,在步骤S1443中,页调度程序215将由页结束通知所通知的关联于帧缓冲器206的DL存储目的地与页信息一起发送给光栅化处理程序214,并请求光栅化处理程序214进行处理。
如果确定在页管理表中未剩余任何页(步骤S1440中“否”),则在步骤S1444中,页调度程序215将作业结束通知发送给PDL分析程序209的PDL分析处理1和PDL分析处理2以及DL生成程序210的DL生成处理1和DL生成处理2。
图8是例示根据本示例性实施例的用于页非独立PDL的分析处理的示例的流程图。PDL分析处理程序209执行以下处理。在步骤S2001中,PDL分析处理程序209等待从页调度程序215发送的作业开始通知。
如果PDL分析处理程序209接收到作业开始通知(步骤S2001中“是”),则在步骤S2002中,PDL分析处理程序209初始化页计数器(即PFcnt=0)。在步骤S2003中,PDL分析处理程序209等待从页调度程序215发送的页处理请求。另外,在步骤S2004中,PDL分析处理程序209等待从页调度程序215发送的作业结束通知。
如果接收到页处理请求(步骤S2003中“是”),则在步骤S2005中,PDL分析处理程序209将页计数器PFcnt与由在步骤S2003中接收到的处理请求所通知的页进行比较。例如,在图5所示的PDL分析处理2请求第m页的情况下,PDL分析处理程序209将第4页与页计数器PFcnt进行比较。
如果确定处理请求页大于页计数器PFcnt(步骤S2005中“是”),则在步骤S2006中,PDL分析处理程序209使页计数器PFcnt递增(即PFcnt=PFcnt+1)。在步骤S2007中,PDL分析处理程序209将页计数器PFcnt值和页开始通知发送给DL生成程序210的DL生成处理。
在上述情况下,第y页是在PDL分析处理2分析第m页之前由DL生成处理2生成中间数据的页。因此,页计数器PFcnt代表递增前的第3页。
在步骤S2008中,PDL分析处理程序209从接收缓冲器204读取所存储的数据,并对所读取的数据进行分析处理。PDL分析处理程序209分析字符和图形的描绘命令以及诸如资源的光栅化或使用的其他命令。
在步骤S2008中PDL分析处理程序209分析用于对由多页共享的资源进行光栅化的命令的情况下,如果已经执行了相同的命令,则不需要进行该资源的光栅化。为了确认是否已经执行了相同的命令,需要PDL分析处理程序209参照页调度程序215的页管理表。
PDL分析处理程序209识别由另一CPU正在执行的分析处理程序209来执行分析处理的页。由于对由另一CPU执行的分析处理程序来进行分析处理的页已经完成资源的光栅化,因此可以省略相应的资源光栅化处理。
例如,图5所示的PDL分析处理2不对已经通过PDL分析处理1完成光栅化的第n页及其前面的页进行资源光栅化处理,而对尚未被PDL分析处理1光栅化的第4页进行资源光栅化处理。
在步骤S2009中,PDL分析处理程序209确定分析结果是否为作业结束。如果确定分析结果不是作业结束(步骤S2009中“否”),则在步骤S2010中,PDL分析处理程序209确定分析结果是否是页结束。如果确定分析结果不是页结束(步骤S2010中“否”),则在步骤S2011中,PDL分析处理程序209确定所分析的信息对于下一页以及后续页是否必要。如果确定所分析的信息是必要的(步骤S2011中“是”),则在步骤S2012中,PDL分析处理程序209将所分析的信息存储在工作存储器205中。
另外,在所分析的信息是对由多页共享的资源进行光栅化的命令并且在工作存储器205中未存储相同资源的情况下,进行用于将光栅化的资源存储在工作存储器205中的处理。例如,图5所示的PDL分析处理1存储对应于第1至第3页的资源,PDL分析处理2存储对应于第4页的资源。
如有必要,进行步骤S2008的分析处理的PDL分析处理程序209可以使用存储在工作存储器205中的资源。因此,PDL分析处理程序209可以在后续要进行的PDL分析处理中省略不需要光栅化的资源的光栅化处理。
在步骤S2013中,PDL分析处理程序209请求DL生成程序210的DL生成处理生成DL。如果确定分析结果是作业结束(步骤S2009中“是”),则在步骤S2020中,PDL分析处理程序209将作业结束通知发送给页调度程序215。
在步骤S2021中,PDL分析处理程序209等待从页调度程序215发送的作业结束通知。如果确定从页调度程序215接收到作业结束通知(步骤S2021中“是”),则在步骤S2001中,PDL分析处理程序209等待作业开始通知。如果确定分析结果是作业结束(步骤S2010中“是”),则在步骤S2030中,PDL分析处理程序209将页结束通知发送给DL生成程序210的DL生成处理,并且处理返回到步骤S2005。
图9是例示根据本示例性实施例的用于页独立PDL的分析处理的示例的流程图。PDL分析处理程序209执行以下处理。
在步骤S2101中,PDL分析处理程序209等待从页调度程序215发送的作业开始通知。如果PDL分析处理程序209接收到作业开始通知(步骤S2101中“是”),则在步骤S2102中,PDL分析处理程序209初始化页计数器(即PFcnt=0)。在步骤S2103中,PDL分析处理程序209等待从页调度程序215发送的页处理请求。另外,在步骤S2104中,PDL分析处理程序209等待从页调度程序215发送的作业结束通知。
如果接收到页处理请求(步骤S2103中“是”),则在步骤S2105中,PDL分析处理程序209将页计数器PFcnt与由在步骤S2104中接收到的处理请求通知的页进行比较。如果确定处理请求页不同于PFcnt+1(步骤S2105中“否”),则在步骤S2106中,PDL分析处理程序209跳过存储在接收缓冲器204中的位于处理请求页的头部之前的数据。
在步骤S2107中,PDL分析处理程序209将处理请求页输入给页计数器PFcnt。在步骤S2108中,PDL分析处理程序209将页计数器PFcnt值和页开始通知发送给DL生成程序210的DL生成处理。在步骤S2109中,PDL分析处理程序209读取存储在接收缓冲器204中的数据,并对所读取的数据进行分析处理。
在步骤S2110中,PDL分析处理程序209确定分析结果是否是作业结束。如果确定分析结果不是作业结束(步骤S2110中“否”),则在步骤S2111中,PDL分析处理程序209确定分析结果是否是页结束。如果确定分析结果不是页结束(步骤S2111中“否”),则在步骤S2112中,PDL分析处理程序209请求DL生成程序210的DL生成处理生成DL。
如果确定分析结果是作业结束(步骤S2110中“是”),则在步骤S2120中,PDL分析处理程序209将作业结束通知发送给页调度程序215。然后,在步骤S2121中,PDL分析处理程序209等待从页调度程序215发送的作业结束通知。如果确定从页调度程序215接收到作业结束通知(步骤S2121中“是”),则在步骤S2101中,PDL分析处理程序209等待作业开始通知。
如果确定分析结果是页结束(步骤S2111中“是”),则在步骤S2130中,PDL分析处理程序209将页结束通知发送给DL生成程序210的DL生成处理。然后,处理返回到步骤S2103(即页处理通知步骤)和步骤S2104(即作业结束通知等待步骤)。
图10是例示根据本示例性实施例的可以由PDL分析处理程序209进行的用于可直接存取PDL的分析处理的示例的流程图。PDL分析处理程序209执行以下处理。
在步骤S2201中,PDL分析处理程序209等待从页调度程序215发送的作业开始通知。如果PDL分析处理程序209接收到作业开始通知(步骤S2201中“是”),则在步骤S2202中,PDL分析处理程序209初始化页计数器(即PFcnt=0)。在步骤S2203中,PDL分析处理程序209等待从页调度程序215发送的页处理请求。另外,在步骤S2204中,PDL分析处理程序209等待从页调度程序215发送的作业结束通知。
如果接收到页处理请求(步骤S2204中“是”),则在步骤S2207中,PDL分析处理程序209将所请求的页码输入给页计数器PFcnt。然后,在步骤S2208中,PDL分析处理程序209将页计数器PFcnt值和页开始通知发送给DL生成程序210的DL生成处理。在步骤S2209中,PDL分析处理程序209从存储在接收缓冲器204中的数据读取第PFcnt页,并对所读取的第PFcnt页进行分析处理。
在步骤S2210中,PDL分析处理程序209确定分析结果是否是作业结束。如果确定分析结果不是作业结束(步骤S2210中“否”),则在步骤S2211中,PDL分析处理程序209确定分析结果是否是页结束。如果确定分析结果不是页结束(步骤S2211中“否”),则在步骤S2212中,PDL分析处理程序209请求DL生成程序210的DL生成处理生成DL。
如果确定分析结果是作业结束(步骤S2210中“是”),则在步骤S2220中,PDL分析处理程序209将作业结束通知发送给页调度程序215。然后,在步骤S2221中,PDL分析处理程序209等待从页调度程序215发送的作业结束通知。如果从页调度程序215接收到作业结束通知(步骤S2221中“是”),则在步骤S2201中,PDL分析处理程序209等待作业开始通知。
如果确定分析结果是页结束(步骤S2211中“是”),则在步骤S2230中,PDL分析处理程序209将页结束通知发送给DL生成程序210的DL生成处理。然后,处理返回到步骤S2203(即页处理通知步骤)以及到步骤S2204(即作业结束通知等待步骤)。
图11是例示根据本示例性实施例的可以由DL生成程序210进行的DL生成处理的示例的流程图。DL生成程序210执行以下处理。在步骤S3001中,DL生成程序210等待从页调度程序215发送的作业开始通知。如果DL生成程序210接收到作业开始通知(步骤S3001中“是”),则在步骤S3002中,DL生成程序210将跳过页Pskip初始化为0xFFFFFFFF。
在步骤S3003中,DL生成程序210确定是否从页调度程序215接收到作业结束通知。如果未接收到作业结束通知(步骤S3003中“否”),则在步骤S3004中,DL生成程序210确定是否从页调度程序215接收到页跳过请求。如果接收到页跳过请求(步骤S3004中“是”),则在步骤S3005中,DL生成程序210将由页跳过请求指定的页输入给跳过页Pskip。
例如,在图5所示的DL生成处理2生成第4页的情况下,页调度程序215请求跳过第1至第3页。因此,DL生成程序210将第4页(即第3页之后的页)输入给跳过页Pskip。
在步骤S3006中,DL生成程序210确定是否从PDL分析程序209的分析处理接收到页开始通知。如果接收到页开始通知(步骤S3006中“是”),则在步骤S3007中,DL生成程序210将跳过页Pskip与页开始通知中包含的页ID进行比较。如果确定跳过页Pskip大于或等于由页开始通知指定的页(步骤S3007中“是”),则在步骤S3008中,DL生成程序210设置不进行用于DL生成处理的任何处理的空函数。
通过上述处理,在上述示例情况下,DL生成处理2不生成第1至第3页的任何中间数据。在跳过页Pskip小于由页开始通知指定的页(步骤S3007中“否”)的情况下,则在步骤S3009中,DL生成程序210设置使DL生成处理执行处理并将DL存储在帧缓冲器206中的数学函数。在请求图5所示的DL生成处理2的页是第4页的情况下,页ID等于4。在这种情况下,DL生成程序210执行步骤S2009的处理。
如果确定从PDL分析程序209的分析处理接收到DL生成请求(步骤S3010中“是”),则在步骤S3011中,DL生成程序210执行用于DL生成处理的数学函数。如果未接收到DL生成请求(步骤S3010中“否”),则在步骤S3020中,DL生成程序210确定是否接收到页结束通知。如果接收到页结束通知(步骤S3020中“是”),则在步骤S3021中,DL生成程序210将页结束通知与页ID以及关联于帧缓冲器206的DL存储目的地一起发送给页调度程序215。
图12是例示根据本示例性实施例的可以由光栅化处理程序214进行的光栅化处理的示例的流程图。在步骤S4001中,光栅化处理程序214确定是否从页调度程序215接收到处理请求。如果接收到处理请求(步骤S4001中“是”),则在步骤S4002中,光栅化处理程序214从帧缓冲器206中读取处理请求的DL并将所读取的DL光栅化为位图数据,然后将位图数据存储在光栅存储器207中。在步骤S4003中,光栅化处理程序214将存储在光栅存储器207中的位图数据经由引擎I/F 212输出给打印机引擎213。打印机引擎213进行打印。
图15A、图15B及图15C例示了根据本示例性实施例的调度处理中模块控制与所需处理时间之间的关系的示例。
图15A例示了在要处理的PDL是页非独立PDL的情况下示例模块控制与所需处理时间之间的关系。在这种情况下,页调度程序215将控制命令310发送给CPU1 218的PDL分析程序209以请求第1页的处理。另外,页调度程序215将控制命令311发送给CPU2 219的PDL分析程序209以请求第1和第2页的处理。
进行上述处理的理由是因为DL生成程序不能对被请求页执行DL生成处理,除非在被请求页之前的页的资源的光栅化已完成。页调度程序215将控制命令321发送给CPU2 219的DL生成程序210以请求跳过第1页。虽然页跳过操作需要可观的时间,但是上述处理所需的时间短于传统的处理时间。以此方式,本示例性实施例能够快速地完成对包含共享资源的两页或更多页的PDL的描绘处理。
图15B例示了在要处理的PDL是页独立PDL的情况下示例模块控制与所需处理时间之间的关系。在这种情况下,页调度程序215将控制命令310发送给CPU1 218的PDL分析程序209以请求第1页的处理。另外,页调度程序215将控制命令311发送给CPU2 219的PDL分析程序209以请求跳过第1页并请求第2页的处理。由于可以进一步缩短页跳过操作所需的时间,因此在这种情况下所需的处理时间短于页非独立PDL所用的处理时间。
图15C例示了在要处理的PDL是页可直接存取PDL的情况下示例模块控制与所需处理时间之间的关系。在这种情况下,页调度程序215将控制命令310发送给CPU1 218的PDL分析程序209以请求第1页的处理。另外,页调度程序215将控制命令311发送给CPU2 219的PDL分析程序209以请求第2页的处理。由于不需要页跳过操作,因此在这种情况下所需的处理时间短于页独立PDL所用的处理时间。
在上述示例性实施例中,用于进行操作的CPU的数量仅为2(即用作第一处理器的CPU1 218和用作第二处理器的CPU2 219)。然而,使用可以进行上述PDL分析处理和DL生成处理的第三处理器也是有用的。使用单核处理器执行一个PDL分析处理程序和一个DL生成处理程序也是有用的。使用可以用作CPU的多核处理器也是有用的。另外,使用可以执行与进行PDL分析处理和DL生成处理的CPU相当的功能的微处理单元(MPU)也是有用的。
另外,在上述示例性实施例中,根据各PDL的类型来进行PDL分析处理和DL生成处理之间的切换。然而,使用户能够指定特定的PDL分析处理和特定的DL生成处理也是有用的。在这种情况下,用户可以经由图像形成装置102的操作屏或连接到网络104的PC来指定优选处理。
另外,在上述示例性实施例中,图像形成装置102根据各PDL的类型(例如非独立PDL、独立PDL和可直接存取PDL),来进行PDL分析处理和DL生成处理。然而,图像形成装置102可以仅对非独立PDL、独立PDL和可直接存取PDL中的一个或两个进行PDL分析处理和DL生成处理。例如,图像形成装置102可以根据非独立PDL和独立PDL中的各个进行PDL分析处理和DL生成处理。
另外,在要处理的PDL是非独立PDL的情况下,CPU1 218和CPU2219共享针对多页共享的资源,以快速地完成分析处理。然而,尽管上述效果可能减弱,但是各CPU独立保持针对多页共享的资源也是有用的。其它实施例
还可以由读出并执行记录在存储设备上的程序来执行上述实施例的功能的系统或装置的计算机(或诸如CPU或MPU等的设备),来实现本发明的各方面;并且可以利用由例如读出并执行记录在存储设备上的程序来执行上述实施例的功能的系统或装置的计算机来执行各步骤的方法,来实现本发明的各方面。为此,例如经由网络或从用作存储设备的各种类型的记录介质(例如,计算机可读介质)将程序提供给计算机。
虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明不局限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有的这类变型例及等同结构和功能。

Claims (6)

1.一种打印数据处理装置,该打印数据处理装置包括:
第一处理器,其被构造为在多页打印数据共享资源的情况下,对与第m页之前的页对应的打印数据的资源进行光栅化,并且使用光栅化后的资源来生成所述第m页的中间数据,而不生成所述第m页之前的页的任何中间数据;以及
第二处理器,其被构造为对与第n页之前的页对应的打印数据的资源进行光栅化,并且使用光栅化后的资源来生成所述第n页的中间数据,而不生成所述第n页之前的页的任何中间数据,
其中,所述第n页为所述第m页的后续页中的一页。
2.根据权利要求1所述的打印数据处理装置,其中,
所述第一处理器对第x页至第(m-1)页的打印数据的资源进行光栅化,其中所述第x页是在生成所述第m页的中间数据以前中间数据已经生成的页的下一页,并且
所述第二处理器对第y页至第(n-1)页的打印数据的资源进行光栅化,其中所述第y页是在生成所述第n页的中间数据以前中间数据已经生成的页的下一页。
3.根据权利要求2所述的打印数据处理装置,其中,
在多页打印数据不共享资源的情况下,所述第一处理器生成所述第m页的中间数据,而不对所述第m页之前的页的打印数据的资源进行光栅化,并且
所述第二处理器生成所述第n页的中间数据,而不对所述第n页之前的页的打印数据的资源进行光栅化。
4.根据权利要求3所述的打印数据处理装置,其中,
在多页打印数据不共享资源的情况下并且在所述打印数据的各页的前导分析命令是能够直接存取的情况下,所述第一处理器通过开始分析所述第m页的前导打印命令而不对所述打印数据的所述第m页之前的任何页的打印命令进行分析,来生成所述第m页的中间数据,并且
所述第二处理器通过开始分析所述第n页的前导打印命令而不对所述打印数据的所述第n页之前的任何页的打印命令进行分析,来生成所述第n页的中间数据。
5.根据权利要求1至4中任意一项所述的打印数据处理装置,其中,
在多页打印数据不共享资源的情况下并且在所述打印数据的各页的前导分析命令是能够直接存取的情况下,所述第一处理器不对所述打印数据的所述资源进行光栅化,而分析所述第m页之前的页的打印命令以检测所述第m页的前导分析命令,并且生成所述第m页的中间数据,并且
所述第二处理器不对所述打印数据的所述资源进行光栅化,而分析所述第n页之前的页的打印命令以检测所述第n页的前导分析命令,并且生成所述第n页的中间数据。
6.一种打印数据处理方法,所述打印数据处理方法包括以下步骤:
在多页打印数据共享资源的情况下,使第一处理器对与第m页之前的页对应的打印数据的资源进行光栅化,并且使所述第一处理器使用光栅化后的资源来生成所述第m页的中间数据,而不生成所述第m页之前的页的任何中间数据;以及
使第二处理器不使用与所述第m页之前的页对应的、由所述第一处理器光栅化后的资源,而对与第n页之前的页对应的打印数据的资源进行光栅化,并且使所述第二处理器使用光栅化后的资源来生成所述第n页的中间数据,而不生成所述第n页之前的页的任何中间数据,
其中,所述第n页为所述第m页的后续页中的一页。
CN201010259105.0A 2009-08-21 2010-08-18 打印数据处理装置及打印数据处理方法 Active CN101998018B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009192236A JP5393343B2 (ja) 2009-08-21 2009-08-21 印刷データ処理装置、印刷データ処理方法、プログラム
JP2009-192236 2009-08-21

Publications (2)

Publication Number Publication Date
CN101998018A true CN101998018A (zh) 2011-03-30
CN101998018B CN101998018B (zh) 2013-07-10

Family

ID=43605154

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010259105.0A Active CN101998018B (zh) 2009-08-21 2010-08-18 打印数据处理装置及打印数据处理方法

Country Status (3)

Country Link
US (1) US8625133B2 (zh)
JP (1) JP5393343B2 (zh)
CN (1) CN101998018B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5853537B2 (ja) * 2011-09-27 2016-02-09 ブラザー工業株式会社 印刷のための制御装置
JP5700014B2 (ja) * 2012-09-26 2015-04-15 コニカミノルタ株式会社 印刷システム、印刷制御プログラム、および記録媒体
JP5882180B2 (ja) * 2012-10-29 2016-03-09 京セラドキュメントソリューションズ株式会社 画像形成装置
JP5858899B2 (ja) * 2012-10-29 2016-02-10 京セラドキュメントソリューションズ株式会社 画像形成装置
JP5813619B2 (ja) * 2012-11-22 2015-11-17 京セラドキュメントソリューションズ株式会社 画像形成装置
US9792537B2 (en) * 2015-03-31 2017-10-17 Kyocera Document Solutions Inc. Multicore printer definition language processing
JP6666036B2 (ja) 2016-01-15 2020-03-13 キヤノン株式会社 印刷データ処理装置、印刷データ処理方法、およびプログラム
JP7039935B2 (ja) 2017-11-07 2022-03-23 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成プログラム
JP2022052028A (ja) * 2020-09-23 2022-04-04 ブラザー工業株式会社 印刷装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05201077A (ja) * 1991-08-06 1993-08-10 Hitachi Ltd 印刷制御方法および印刷制御装置
CN1669804A (zh) * 2004-03-16 2005-09-21 株式会社东芝 打印系统、控制打印的方法和打印系统中使用的程序
US20060170944A1 (en) * 2005-01-31 2006-08-03 Arps Ronald B Method and system for rasterizing and encoding multi-region data
CN1932750A (zh) * 2005-09-13 2007-03-21 佳能株式会社 信息处理装置、信息处理方法和程序
CN1936826A (zh) * 2005-09-22 2007-03-28 株式会社东芝 图像形成装置和图像形成方法
CN101071365A (zh) * 2006-05-12 2007-11-14 京瓷美达株式会社 印刷系统及印刷方法
US20090027716A1 (en) * 2007-07-25 2009-01-29 Kuhn William C Multi-head press data delivery rate control
WO2009038670A1 (en) * 2007-09-20 2009-03-26 Eastman Kodak Company Parallel processing of page description language

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0733965B1 (en) * 1995-03-23 2001-12-05 Agfa-Gevaert N.V. Parallel processing of page description language data stream
US6662270B1 (en) * 2000-05-16 2003-12-09 Xerox Corporation System and method for caching of reusable objects
JP2002248829A (ja) * 2001-02-23 2002-09-03 Fuji Xerox Co Ltd 画像処理装置および画像処理プログラムを記録した記憶媒体
US6816276B2 (en) * 2001-03-08 2004-11-09 Electronics For Imaging, Inc. Efficiently scheduled multiple raster image processors
US20040095596A1 (en) * 2002-11-14 2004-05-20 International Business Machines Corporation Apparatus, method and program product for controlling printing
US6817791B2 (en) * 2003-04-04 2004-11-16 Xerox Corporation Idiom recognizing document splitter
JP4715654B2 (ja) * 2006-07-03 2011-07-06 富士ゼロックス株式会社 画像データ生成装置および画像形成装置
US7986419B2 (en) * 2007-09-12 2011-07-26 Xerox Corporation Performance optimization method for network printers
US8593668B2 (en) * 2009-05-04 2013-11-26 Xerox Corporation Parallel printing system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05201077A (ja) * 1991-08-06 1993-08-10 Hitachi Ltd 印刷制御方法および印刷制御装置
CN1669804A (zh) * 2004-03-16 2005-09-21 株式会社东芝 打印系统、控制打印的方法和打印系统中使用的程序
US20060170944A1 (en) * 2005-01-31 2006-08-03 Arps Ronald B Method and system for rasterizing and encoding multi-region data
CN1932750A (zh) * 2005-09-13 2007-03-21 佳能株式会社 信息处理装置、信息处理方法和程序
CN1936826A (zh) * 2005-09-22 2007-03-28 株式会社东芝 图像形成装置和图像形成方法
CN101071365A (zh) * 2006-05-12 2007-11-14 京瓷美达株式会社 印刷系统及印刷方法
US20090027716A1 (en) * 2007-07-25 2009-01-29 Kuhn William C Multi-head press data delivery rate control
WO2009038670A1 (en) * 2007-09-20 2009-03-26 Eastman Kodak Company Parallel processing of page description language

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 佳能株式会社 具有多个处理单元的图像形成装置及其控制方法

Also Published As

Publication number Publication date
CN101998018B (zh) 2013-07-10
US20110043855A1 (en) 2011-02-24
US8625133B2 (en) 2014-01-07
JP2011042118A (ja) 2011-03-03
JP5393343B2 (ja) 2014-01-22

Similar Documents

Publication Publication Date Title
CN101998018B (zh) 打印数据处理装置及打印数据处理方法
US8064084B2 (en) Distributed processing of print jobs
KR100243733B1 (ko) 프린트 제어장치, 프린트 제어방법, 정보 처리장치, 정보 처리방법 및 제어프로그램을 기억하고 있는 기억매체
US20090201528A1 (en) Methods for printing multiple files as one print job
EP0971288B1 (en) Information processing apparatus, information processing method, memory medium, and printer driver
EP2003544A2 (en) Information-processing apparatus and method
JPH09114611A (ja) 印刷処理装置および方法
JP2007079854A (ja) 情報処理装置、画像処理方法、及びコンピュータプログラム
JP2020102166A (ja) 画像処理システム、画像処理方法、プログラム、画像処理装置、情報処理装置
US20130063745A1 (en) Generating a page of an electronic document using a multifunction printer
US20110109930A1 (en) Printing control apparatus and method
CN102681800B (zh) 图像处理装置及信息处理方法
US9286012B2 (en) System and method for efficiently imposing a print job in a print production workflow
US10255011B2 (en) Methods and systems for applying spot color on one or more pages as specified by a user
US11683424B2 (en) Printing apparatus that displays a determined plurality of sets of image data, a method of controlling the printing apparatus, and a non-transitory computer-readable storage medium
US8009309B2 (en) Method and system for identifying print jobs associated with an image formation device
JP2005056414A (ja) クライアント側で文書データをビューイングするための方法及び装置
US20150339550A1 (en) Image processing apparatus, print information generating apparatus, image forming apparatus, image forming system, image processing method, print information generating method, and non-transitory computer readable medium
US7764394B2 (en) Data processing apparatus, data processing method, and data processing program
US8073728B2 (en) Multi-color billing process
US10534567B2 (en) Image forming apparatus and method for controlling image forming apparatus
US8477364B2 (en) Printing using a skeleton electronic document and multiple connections
JP7091115B2 (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
US11656819B2 (en) Information processing apparatus and printing request for designating documents based on a spoken voice
AU753442B2 (en) Printing method and apparatus having multiple raster image processors

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