打印文档转换装置和打印文档转换方法

文档序号:2490503阅读:172来源:国知局
专利名称:打印文档转换装置和打印文档转换方法
技术领域
本发明涉及一种打印文档转换装置和打印文档转换方法。
背景技术
以页面描述语言(PDL)(如Postkript (注册商标)或便携式数据格式(PDF)(公开为ISO 32000-1))写成的打印数据,通过称为光栅图像处理器(RIP)的转换模块转换成位像(也称为光栅图像)并通过打印机打印。该转换模块负责例如PDL解释的语言处理,并且通常由软件实现。不过,某些通过RIP执行的处理,如对位像对象进行的图像处理(如彩色空间转换、旋转、以及放大/缩小),与使用通用计算机执行软件处理相比,可以通过使用基于专用硬件的图像处理电路来以更高的速度执行。已经提出了其中基于软件的RIP模块请求基于硬件的图像处理电路执行图像处理的系统。日本未审查专利申请公开第2006-007496号公开了一种系统,其中在将打印文档转换成中间语言(显示列表)文档时,分别执行针对硬件的图形呈现处理以及针对软件的图形呈现处理,并且生成针对硬件的中间语言代码和针对软件的中间语言代码。将针对硬件的代码提供至硬件电路,而将针对软件的代码提供至软件,从而并行执行这些处理。日本未审查专利申请公开第2009-269179号公开了一种打印机,其包括执行基于软件的呈现的呈现单元,以及执行基于硬件的呈现的呈现单元,其中在根据基于打印文档创建的显示列表执行呈现处理时,根据所述呈现单元的负荷状态来确定使用执行基于硬件的呈现的呈现单元和执行基于软件的呈现的呈现单元中的哪一个来执行处理。此外,近来多核处理器的发展使得有可能将RIP软件并行运行在多个处理器内核上,以提高处理速度。在基于硬件的图像处理装置的数量小于其上并行运行RIP软件的处理器内核的数量的构造中,当并行执行的多个RIP软件任务中的特定RIP软件任务请求图像处理装置执行图像处理时,如果所有图像处理装置都已经开始处理其它请求,则可以不必立刻处理前述请求。在一个RIP软件任务等待图像处理装置所执行的处理完成时,执行该RIP软件任务的处理器处于等待状态而不执行处理。

发明内容
因此,本发明的一个目的是提供能够一种打印文档转换装置和打印文档转换方法,其能够利用执行软件转换单元的处理器的处理能力并且即使软件转换单元由于已经请求基于硬件的图像处理装置执行图像处理而处于等待状态也能够降低处理器上出现过大处理负荷的可能性,其中所述软件转换单元使用软件执行RIP处理。根据本发明的第一方面,提供了一种打印文档转换装置,其包括多个基于软件的转换单元和控制器。所述多个基于软件的转换单元执行基于软件的转换处理,用于把以页面描述语言描述的打印文档数据转换成具有位像格式的页面图像数据。所述多个基于软件的转换单元中的每一个均在基于软件的转换处理中请求基于硬件的图像处理装置执行特定的图像处理,并且生成包括由基于硬件的图像处理装置响应于所述请求而执行的图像处理的结果的页面图像数据。当存在出现所述多个基于软件的转换单元中的至少一个等待所述基于硬件的图像处理装置完成图像处理的状态的可能性时,所述控制器激活执行基于软件的转换处理的额外的基于软件的转换单元。所述控制器将额外的基于软件的转换单元的数量控制为不超过预定上限。根据本发明的第二方面,在本发明的第一方面中,基于软件的转换单元的数量大于所述预定上限。根据本发明的第三方面,在本发明的第一方面或第二方面中,提供所述多个基于软件的转换单元以使得根据基于硬件的图像处理装置的处理能力来确定基于软件的转换单元的数量。根据本发明的第四方面,在本发明的第一方面中,控制器使得所述额外的基于软件的转换单元对不同于所述打印文档数据的新打印文档数据进行处理。根据本发明的第五方面,提供了一种打印文档转换方法,其包括执行多个基于软件的转换单元,所述多个基于软件的转换单元执行基于软件的转换处理,用于把以页面描述语言描述的打印文档数据转换成具有位像格式的页面图像数据,所述多个基于软件的转换单元中的每一个均请求在基于软件的转换处理中执行特定图像处理的基于硬件的图像处理装置执行特定的图像处理,并且生成包括由基于硬件的图像处理装置响应于所述请求而执行的图像处理的结果的页面图像数据;以及,当存在出现所述多个基于软件的转换单元中的至少一个等待所述基于硬件的图像处理装置完成图像处理的状态的可能性时, 激活执行基于软件的转换处理的额外的基于软件的转换单元,其中所述额外的基于软件的转换单元的数量被控制为不超过预定上限。根据本发明的第六方面,提供了一种打印文档转换装置,其包括多个基于软件的转换单元、计算单元和控制器。所述多个基于软件的转换单元执行基于软件的转换处理,用于把以页面描述语言描述的打印文档数据转换成具有位像格式的页面图像数据。所述多个基于软件的转换单元中的每一个均请求在基于软件的转换处理中执行特定图像处理的基于硬件的图像处理装置执行特定的图像处理,并且生成包括由基于硬件的图像处理装置响应于所述请求而执行的图像处理的结果的页面图像数据。所述计算单元执行由所述多个基于软件的转换单元执行基于软件的转换处理所需的计算。当存在出现所述多个基于软件的转换单元中的至少一个等待所述基于硬件的图像处理装置完成图像处理的状态的可能性时,所述控制器激活执行基于软件的转换处理的额外的基于软件的转换单元。控制器还执行控制来将针对打印文档数据中特定单位量的数据所执行的基于软件的转换处理分配至额外的基于软件的转换单元之一和所述多个基于软件的转换单元,其中执行所述控制以使得对其分配了特定单位量的数据的基于软件的转换单元中处在等待基于硬件的图像处理装置完成图像处理的状态的基于软件的转换单元之外的基于软件的转换单元的数量不超过基于计算单元的处理能力的预定上限。根据本发明的第七方面,提供了一种打印文档转换方法,其包括执行多个基于软件的转换单元,所述多个基于软件的转换单元执行基于软件的转换处理,用于把以页面描述语言描述的打印文档数据转换成具有位像格式的页面图像数据,所述多个基于软件的转换单元中的每一个均请求在基于软件的转换处理中执行特定图像处理的基于硬件的图像处理装置执行特定的图像处理,并且生成包括由基于硬件的图像处理装置响应于所述请求而执行的图像处理的结果的页面图像数据;执行使用所述多个基于软件的转换单元执行的基于软件的转换处理所需的计算;以及当存在出现所述多个基于软件的转换单元中的至少一个等待所述基于硬件的图像处理装置完成图像处理的状态的可能性时,激活执行基于软件的转换处理的额外的基于软件的转换单元,其中执行控制来将针对打印文档数据中特定单位量的数据所执行的基于软件的转换处理分配至额外的基于软件的转换单元之一和所述多个基于软件的转换单元,其中执行所述控制以使得对其分配了特定单位量的数据的基于软件的转换单元中处在等待基于硬件的图像处理装置完成图像处理的状态的基于软件的转换单元之外的基于软件的转换单元的数量不超过基于计算单元的处理能力的预定上限。根据本发明的第一、第五、第六、或第七方面,能够利用执行软件转换单元的处理器的处理能力,并且即使软件转换单元由于已经请求基于硬件的图像处理装置执行图像处理而处于等待状态也能够降低处理器上出现过大处理负荷的可能性,其中所述软件转换单元使用软件执行RIP处理。根据本发明的第二方面,能够基于处理器的处理性能,使用相比软件转换单元的上限数量具有更大数量的软件转换单元来并行执行RIP处理。根据本发明的第三方面,能够根据基于硬件的图像处理装置的处理性能使用所述数量的软件转换单元来并行执行RIP处理。根据本发明的第四方面,所述额外的基于软件的转换单元处理等待处理的打印文档数据之外的新打印文档数据。因此能够有效利用处理器的性能。


下面基于附图对本发明的示例性实施例进行详细说明,其中图1例示了包括根据一个示例性实施例的装置的打印系统的示例硬件构造;图2例示了包括根据该示例性实施例的装置的打印系统的另一示例硬件构造;图3是例示了根据该示例性实施例的打印数据转换装置的示例的功能框图;图4例示了 RIP模块管理信息中所包含的信息的示例;图5是例示了并行处理控制器的处理过程的示例的流程图;图6是例示了根据该示例性实施例的打印数据转换装置的另一示例的功能框图; 禾口图7是例示了根据该示例性实施例的打印数据转换装置的又一示例的功能框图。
具体实施例方式下面参照附图对本发明的示例性实施例进行说明。附图中相同或相近的元件由相同的参考标号来表示。首先参照图1对包括根据一个示例性实施例的打印数据转换装置的系统的示例进行描述。该系统包括打印数据转换装置100、主计算机140、打印控制装置160、和打印机引擎170。打印数据转换装置100是构造为把以PDL写成的打印文档数据转换成打印机引擎170能够接受的诸如位像数据的打印图像数据的装置。主计算机140将打印文档数据通过诸如局域网(LAN) 130的网络发送至打印数据转换装置100,并指示打印数据转换装置 100打印该打印文档数据。打印数据转换装置100包括控制器110。控制器110包括通信控制器112和120 (二者彼此连接从而能够通过本地总线122彼此通信)、多核CPU 114、本地存储器116、和辅助存储器118。通信控制器112是构造为通过LAN 130执行与主计算机140的数据通信的装置。例如,通信控制器112从主计算机140接收打印指令或者打印文档数据,或者与主计算机140交换打印控制信息。多核CPU 114可以是具有多个CPU内核的处理器组。本地存储器116是用作例如多核CPU 114的每个CPU内核的工作区域的主存储器,并且可以是例如随机访问存储器等。辅助存储器118可以是具有相对较大容量的非易失性存储装置,例如硬盘装置或者电可擦除可编程只读存储器(EEPROM),并且存储由多核CPU 114执行的程序、从主计算机140接收的打印文档数据等。描述各种功能模块(如下文所述的RIP模块 210)的处理内容的控制程序存储在例如辅助存储器118中,并且由多核CPU 114来执行。 控制程序的片段可以由多核CPU 114的多个CPU内核并行执行。多核CPU 114执行控制程序来将打印文档数据转换成各个页面的打印图像数据。通信控制器120是构造为通过称作系统内网络150的网络与打印控制装置160执行数据通信的装置。在所示的示例中,打印数据转换装置100和打印控制装置160(以及打印机引擎170)通过系统内网络150互连, 从而构成一个打印系统。通过多核CPU 114的处理所生成的各个页面的打印图像数据通过通信控制器120和系统内网络150传输至打印控制装置160。图像处理装置125是包含专用于图像处理的基于硬件的图像处理电路(如图形加速器)的装置。基于硬件的图像处理电路具有用于执行多种位像处理操作中的至少一个的电路构造,所述位像处理操作例如彩色空间转换、图像的放大/缩小、图像的旋转、以及半色调处理。图像处理装置125可以作为例如扩展板连接至提供在例如控制器110 的本地总线122中的插槽上。由多核CPU 114执行的RIP处理程序(下文描述的RIP模块)可以用来请求图像处理装置125执行图像处理等,并且在接收到处理结果时创建页面图像数据。不过,如下文所述,RIP模块210还能够通过自身使用软件来执行相同的图像处理。打印机引擎170是使用诸如墨水或调色剂(toner)的着色剂来将打印图像数据所表示的图像打印在纸张上的硬件打印组件。打印控制装置160是构造来控制打印机引擎 170的装置,其包括通信控制器162、页面控制器164、和引擎控制器166。通信控制器162 通过系统内网络150与打印数据转换装置100通信,以接收各个页面的打印图像数据或者交换打印控制所必需的各种控制信息。页面控制器164累积所接收的各个页面的打印图像数据,并根据打印顺序将各个页面的打印图像数据发送至引擎控制器166。引擎控制器166 将所接收的各个页面的打印图像数据提供至打印机引擎170。打印机引擎170在纸张上打印所接收的打印图像数据。图2例示了包含根据示例性实施例的装置的系统的另一示例。在图1所示的示例中,图像处理装置125提供在打印数据转换装置100中。相反,在图2所示的示例中,将包含与包括在图像处理装置125中的基于硬件的图像处理电路类似的图像处理电路182的图像处理装置180提供在打印数据转换装置100外部。图像处理装置180连接至网络186并且通过网络186从打印数据转换装置100接收图像处理请求或者将图像处理结果返回至打印数据转换装置100,其中包含在打印数据转换装置100中的通信装置127连接至所述网络186。网络186可以是与系统内网络150(或LAN 130)相同的网络,而在此情况下,通信装置127可以与通信控制器120(或12 相同。图像处理装置180还包括控制器184,其构造为执行诸如通过网络186进行通信的操作以及对来自打印数据转换装置100的请求的管理。接下来,参照图3对根据示例性实施例的打印数据转换装置100的功能模块构造进行说明。图3所示的打印数据转换装置100的功能模块构造由使用控制器110的多核 CPU 114执行控制程序来实现,除了图像处理装置220以外。在图3中,打印文档接收单元202从主计算机140接收打印文档数据。打印文档存储单元204存储从主计算机140接收的PDL打印文档数据。打印文档数据可以是(例如但不限于)以页面独立PDL(如PDF)描述的数据。术语“页面独立”表示描述了一个页面的打印图像数据的信息仅由该页面相关的PDL数据表示,而不依赖于其它页面的相关PDL 数据。打印文档存储单元204可以把关于例如打印顺序的信息与多段打印文档数据共同存储起来。打印文档选择单元206从存储在打印文档存储单元204中的打印文档数据中选择要打印的对象。例如,每次当前正在执行的打印处理完成时,根据打印顺序信息选择下一个打印文档数据作为要打印的对象。并行处理控制器208执行控制来使用RIP模块210并行处理由打印文档选择单元 206所选择的打印文档数据。并行处理控制器208确定要激活的RIP模块210的数量(在图 3所示的示例中为3),并将打印文档数据中的不同页面分配至RIP模块210-1至210-3 (下文中统称为“RIP模块210”,除非另外单独指定)。可以使得并行处理控制器208把要分配的页面数量通知给RIP模块210,来执行页面分配。下文将详细说明由并行处理控制器208 执行的特定控制操作。RIP模块210可以是基于软件的模块,其构造为对以PDL描述的打印文档数据进行解释并将打印文档数据转换成打印机引擎170能够接受的位图(或光栅)图像。例如, 在检测到用于在所分配页面的PDL数据的解释期间以从起始处开始的顺序对诸如字体、图像、或表格(form)的图像对象进行呈现的呈现指令时,RIP模块210中的每一个均执行该呈现指令,并根据该指令将像素值写入本地存储器116上为单个像素预留的存储区域中。此外,RIP模块210中的每一个均具有根据指令或者PDL数据中的设置对以上述方式形成的位图数据执行诸如彩色空间转换、旋转、放大/缩小、和半色调处理的图像处理功能。RIP模块210-1至210-3被实现为如下装置,其构造为通过使得多核CPU 114的各 CPU内核执行描述了上述处理的程序组来执行上述处理。RIP模块210-1至210-3被CPU 内核作为进程或线程来执行。在一个典型示例中,单个CPU内核运行一个RIP模块210。不过也可以使用任何其它构造,例如单个CPU内核运行多个RIP模块210。在图3中,作为示例,执行三个RIP模块210。如上文所述,由并行处理控制器208来确定在打印数据转换装置100中的RIP模块210的数量。如上文所述,RIP模块210中的每一个都能够自己执行图像处理。不过,作为专用于图像处理的硬件组件的图像处理装置220通常能够提供更高的处理速度。由此,在基本操作中,如果RIP处理涉及要执行的图像处理,则RIP模块210中的每一个均请求图像处理装置220执行图像处理。如上文所述,在此示例性实施例中,多个RIP模块210对多个页面并行执行RIP处理。在用于转换一个页面的PDL数据的处理完成时,RIP模块210中的每一个将该页面的 (形成在页面图像存储器中的)打印图像数据通过打印控制装置160提供至打印机引擎 170。图像处理装置220是这样一个装置,其中基于硬件的图像处理电路执行与基于 RIP模块210的软件处理的图像处理相同的图像处理,并且可以对应于图1所示的图像处理装置125或者图2所示的图像处理装置180。在图1所示的示例中,作为示例,图像处理装置220包括一个基于硬件的图像处理电路,其能够执行与基于RIP模块210的软件处理的图像处理相似的处理。处理执行控制器230接收从RIP模块210发送至图像处理装置220的用于执行图像处理的请求,并使得图像处理装置220执行所请求的图像处理。当图像处理装置220执行的图像处理完成时,处理执行控制器230将图像处理结果传送至发出请求的RIP模块210。由于图像处理装置220执行硬件处理,因此图像处理装置220的处理速度比在每个单个RIP模块210使用软件处理来执行相同的处理时所得到的处理速度高。如果图像处理装置220在执行另一个RIP模块210所请求的图像处理时接收到来自特定的RIP模块210 的执行图像处理的请求,则图像处理装置220在前一被请求的图像处理完成后开始后一被请求的图像处理。由此,如果多个RIP模块210请求图像处理装置220执行图像处理,则所有RIP模块210可能会处在等等图像处理装置220所执行的处理完成的状态中。在这种情况下,执行RIP模块210的多核CPU 114的CPU内核直到RIP模块210之一从图像处理装置220接收到图像处理结果时恢复RIP处理,才执行RIP处理。在此示例性实施例的示例中,并行处理控制器208监视由单个RIP模块210执行的处理的状态,并且在根据多核CPU 114的处理能力确定的上限内将页面分配至尽可能多的RIP模块210,从而并行执行RIP处理。上述控制减小了多核CPU 114的各CPU内核不执行任何RIP处理的可能性。并行处理控制器208参照RIP模块管理信息232来执行控制。RIP模块管理信息232是由并行处理控制器208控制的确定所要依据的管理信息。 RIP模块管理信息232可以存储在例如本地存储器116中。RIP模块管理信息232包括关于执行RIP模块210的多核CPU114、以及被RIP模块210请求来执行图像处理的图像处理装置220的处理能力的信息。在此示例性实施例的示例中,关于多核CPU 114的处理能力的信息包括多核CPU 114中所包含的CPU内核的数量。在所示示例中,关于图像处理装置 220的处理能力的信息包括在打印数据转换装置100中可用的图像处理装置220中包含的图像处理电路222的总体数量。文中使用的术语“可用的图像处理装置220”表示可用来响应于来自RIP模块210的请求执行图像处理的图像处理装置,其可以提供在打印数据转换装置100的内部(图1所示的图像处理装置125)或外部(图2所示的图像处理装置180)。 在图1至图3所示的示例中,由于打印数据转换装置100中有一个图像处理装置220中的图像处理电路222可用,因此RIP模块管理信息232包括值“ 1 ”,表示可用图像处理电路的总体数量。通过例如在打印数据转换装置100初始化时从图像处理装置220获取可用图像处理装置220中的图像处理电路222的数量,来得到可用图像处理电路的总体数量。FIP模块管理信息232还包括指示每个RIP模块210所执行的处理的状态的信息。图4例示了指示处理执行状态的信息的示例。图4中例示的示例表格以与指示每个RIP模块210-1、201-2、和210-3的编号的“RIP模块编号”相关联的方式表明对应于该编号的RIP 模块210的“页面分配状态”和“图像处理装置使用状态”。在图4所示的示例中,“页面分配状态”具有表示分配给相应RIP模块210的页面编号的值(如“页面1”或“页面2”),或者具有表示没有为相应RIP模块210分配页面的信息。图4所示示例中的表格表明,“页面1” 和“页面2”已经分别分配至RIP模块210-1和RIP模块210-2,并且没有对RIP模块210-3 分配页面。“图像处理装置使用状态”表示相应的RIP模块210是否处在等待图像处理装置 220完成由RIP模块210所请求的图像处理的状态中。在图4所示的示例中,针对RIP模块编号“1”的“图像处理装置使用状态”中的“等待处理完成”值表示RIP模块210-1已经请求图像处理装置220执行图像处理,并且当前正在等待处理结果。此外,针对RIP模块编号 “2”和“3”的“图像处理装置使用状态”中的“未使用”值表示RIP模块210-2和210-3当前未请求图像处理装置220执行图像处理。 在此示例性实施例的示例中,图4中以示例形式例示的表格中的每个单个项的值均由并行处理控制器208和处理执行控制器230来记录和更新。例如,当RIP模块210被激活时,并行处理控制器208将所激活的每个RIP模块210的编号作为RIP模块编号记录在RIP模块管理信息232中。此时,针对每个RIP模块编号的“页面分配状态”和“图像处理装置使用状态”的初始值被分别设置为“无页面”和“未使用”。此外,在并行处理控制器 208将页面分配至相应的RIP模块210时,并行处理控制器208将针对每个RIP模块编号的 “页面分配状态”设置为页面的页面编号。当页面的RIP处理完成时,并行处理控制器208将针对相应RIP模块编号的“页面分配状态”返回至“无页面”。此外,当处理执行控制器230 从RIP模块210接收到图像处理请求时,处理执行控制器230将针对每个单个RIP模块编号的“图像处理装置使用状态”设置为“等待处理完成”。此后,当图像处理装置220完成了图像处理并将结果返回发出请求的RIP模块210时,处理执行控制器230将针对相应RIP 模块编号的“图像处理装置使用状态”返回至“未使用”。通过参照上述RIP模块管理信息232,并行处理控制器208确定要激活的RIP模块 210的数量,并控制页面到每个单个RIP模块210的分配。例如,并行处理控制器208基于执行RIP模块210的多核CPU 114、以及响应于来自RIP模块210的请求执行图像处理的图像处理装置220的处理能力来确定要激活的RIP模块210的数量。在此示例性实施例的示例中,并行处理控制器208从RIP模块管理信息232中获取多核CPU 114的CPU内核的数量与包括在可用图像处理装置220中的图像处理电路222的数量的总和,并将所述总和设置为要激活的RIP模块210的数量。在图3中,例示了其中CPU内核的数量为“2”并且图像处理电路222的总数为“1”、并且激活三个RIP模块210-1、210-2、和210-3的示例。如上文所述,在典型示例的打印数据转换装置100中,一个CPU内核执行一个RIP模块210。因此,如果按照此示例性实施例的示例方式来确定RIP模块210的数量,则除了在典型示例中的情况以外,还激活对应于图像处理电路222的总数的额外数量的RIP模块210。图3所示的RIP模块210-3是额外RIP模块210的示例。在此示例性实施例的示例中,额外RIP模块210-3的功能与其它RIP模块210-1和210-2的功能相似。此外,并行处理控制器208通过参照包含在RIP模块管理信息232中的指示RIP 模块210的处理执行状态的信息(图4),将打印文档数据中的页面分配至每个单个RIP模块210。此示例性实施例的示例中的并行处理控制器208执行页面分配,以使得当前正在执行RIP处理(软件处理)的RIP模块210的数量Srim不超过根据多核CPU 114的处理能力确定的最大值Smax。通过对已经分配了页面并且不等待图像处理完成的RIP模块210的数量进行计数来确定值Srim。在对图4所示示例中的信息进行参照的情况下,可以通过从已经分配了页面的RIP模块210的数量A(A = 2)中减去处于等待图像处理完成的状态中的RIP模块210的数量W(W = 1),来确定值Srun,也即Srun =1( = A-W)。值Smax允许同时执行RIP处理的RIP模块210的上限数量。在此示例性实施例的示例中,可以将值Smax 设置为多核CPU114包括的CPU内核的数量。于是,在此示例性实施例的示例中,值Smax小于要激活的RIP模块210的数量(CPU内核数量与图像处理电路的数量之和)。在上述如图3所示的示例中,CPU内核的数量为2,得到Smax = 2。在此示例中,如果参照图4所示的信息确定Srun = 1,则当前正在执行RIP处理的RIP模块210的数量比值Smax (Smax = 2)小1。在这种状态下,如果需要分配新的页面,由于Srim < Smax,并行处理控制器208将新页面分配至没有分配页面的一个RIP模块210-3。在另一个特定示例中,如果图3所示的 RIP模块210-1和210-2正在执行RIP处理并且RIP模块210-3未分配页面,则得到Srun =Smax = 2。在这种状态下,即使需要分配新的页面,并行处理控制器208也不将新的页面分配至RIP模块210-3。然后,当RIP模块210-1和210-2中的至少一个处在等待图像处理完成(由于时间流逝或者如果因为RIP处理完成而得到Srim < Smax = 2)的状态时,并行处理控制器208将新页面分配至RIP模块210-3。已经参照图1至图4对包括根据示例性实施例的打印数据转换装置的系统的示例构造以及由并行处理控制器执行的控制进行了说明。上述打印文档选择单元206、并行处理控制器208、和处理执行控制器230可以通过多核CPU 114中的任何CPU内核来执行。下面对打印数据转换装置100的操作的示例进行说明。图5是例示了由并行处理控制器208执行的处理过程的示例的流程图。当打印数据转换装置100的电源(未示出) 打开并启动打印数据转换装置100时,并行处理控制器208开始图5所示示例中的过程的处理。首先,并行处理控制器208得到RIP模块管理信息232 (步骤S10),并激活RIP模块210,RIP模块210的数量根据所得到的RIP模块管理信息232来确定(步骤S12)。在上述参照图3所述的示例中,并行处理控制器208确定RIP模块管理信息232中包含的CPU 内核的数量(“2”)与图像处理电路222的数量(“1”)的总和,即“3”,并激活3个RIP模土夬 210-1、210-2、和 210-3。然后,并行处理控制器208等待,直到打印文档选择单元206将包含要分配的页面的打印文档数据的选择通知并行处理控制器208 (步骤S14中确定“否”的处理循环)。在接收到打印文档数据的选择的通知时(也即如果存在要分配的页面)(步骤S14 中的“是”),并行处理控制器208参照RIP模块管理信息232并检查是否存在未分配页面的RIP模块210(步骤S16)。如果对所有激活的RIP模块210都分配了页面,不存在未分配页面的RIP模块 210(步骤S16中的“否”),则并行处理控制器208重复步骤S16的确定,直到任意RIP模块 210中的RIP处理都已完成,并且找到了未分配页面的RIP模块210(直到步骤S16中确定 “是”)。可以通过针对图4示例列表中的每个RIP模块编号来检查RIP模块管理信息232中关于“页面分配状态”的值来进行步骤S 16的确定。如果找到了未分配页面的RIP模块210(步骤S16中的“是”),则并行处理控制器 208确定当前正在执行RIP处理的RIP模块210的数量Srim (步骤S18)。在步骤S18中, 例如上述参照图4所述,并行处理控制器208参照RIP模块管理信息232,并通过从已经分配了页面的RIP模块210的数量A中减去等待图像处理完成的RIP模块210的数量W,来确定值Srim。如果首先对特定的打印文档数据执行步骤S18的处理,则已经分配了页面的 RIP模块的数量A与处在等待图像处理完成的状态中的RIP模块210的数量W都是“0”,从而得到Srun = 0。如果在步骤S18确定的值Srim大于或等于允许同时执行RIP处理的RIP模块210 的最大值Smax (步骤S20中的“否”),则处理返回步骤S18,并且再次确定当前执行软件处理的RIP模块210的数量Srim。然后执行步骤S20的确定。如果由于时间流逝,当前正在执行RIP处理的RIP模块210中已经完成了处理,值Srim减小并且变得小于值Smax,则在步骤S20中确定“是”。如果在步骤S18中确定的值Srun小于值Smax (步骤S20中的“是”),则将一个页面分配至一个未分配页面的RIP模块210 (步骤S22)。例如,并行处理控制器208通知RIP 模块210所分配页面的页面数量。在步骤S22之后,处理返回至对是否存在要分配的页面进行确定(步骤S14)。已经参照图5对由并行处理控制器208执行的页面分配控制的过程示例进行了说明。页面分配的基本方法不受特别限制。例如,可以按照固定顺序的方式,根据RIP模块 210的数量从顶部页面开始将各页面分配至各RIP模块210,或者可以在顺序上动态地进行分配,从已经完成了自身的页面转换处理的RIP模块210开始。在任一种分配方法中,并行处理控制器208在分配单个页面时执行图5所示的步骤S18和S20的处理,检查Srim是否一直小于Smax,然后通知RIP模块210要分配的页面数量。这里,将针对如下情况说明使用图5所示示例中的过程以图3中的示例的方式例示RIP模块210-1、210-2、和210-3的页面分配的特定示例,所述情况为⑴出现了等待图像处理完成的情况,和( 未出现等待图像处理完成的情况。在任一情况(1)或( 中,均通过图5中上至步骤S12的处理来激活RIP模块210-1、210-2、和210-3。此外假设Smax =2。(1)出现了等待图像处理完成的情况首先,在对要分配的多个页面中的第一页面进行分配时,RIP模块210-1、210_2、 和210-3全都未分配页面(步骤S16中的“是”),并且当前正在执行RIP处理的RIP模块 210的数量为O(Srun = O)并且满足Srun < Smax (步骤S20中的“是”)。于是,在步骤S22, 并行处理控制器208将第一页面分配至RIP模块210-1。此时,已经分配了页面的RIP模块 210的数量1)。此外,在此示例中,作为示例,针对第一页面的RIP处理涉及图像处理。因此,RIP模块210-1请求图像处理装置220执行图像处理,并且RIP模块210-1 处在等待图像处理完成的状态中。于是,处于等待图像处理完成的状态中的RIP模块210 的数量W为1 (W = 1)。然后,在第二页面的分配中,还没有对RIP模块210-2或210-3分配页面(步骤S16 中的“是”)。然后,在步骤S18中确定值Srim。这里,如上文所述,由于已知A = 1和W =1,因此确定Srun = A-W = 0。因此,保持Srun < Smax(步骤S18中的“是”)。然后,在步骤S22,并行处理控制器208将第二页面分配至RIP模块210-2。此时,已经分配了页面的 RIP模块210的数量A为2(A = 2)。此外,在此示例中,作为示例,针对第二页面的RIP处理还涉及图像处理,并且RIP模块210-2请求图像处理装置220执行图像处理并且进入等待图像处理完成的状态。在这种情况下,如果图像处理装置220未完成根据RIP模块210-1 的请求而执行的图像处理,则RIP模块210-1和210-2均处在等待图像处理完成的状态中, 于是确定W= 2。此外,在第三页面的分配中,还没有对RIP模块210-3分配页面(步骤S16中的 “是”)。然后,在步骤S18中确定值Srun。这时,由于已知A = 2和W = 2,因此得到Srun =A-W = O0因此,保持Srun < Smax (步骤S18中的“是”)。然后,在步骤S22,并行处理控制器208将第三页面分配至RIP模块210-3。此时,已经分配了页面的RIP模块210的数量A为3 (A = 3)。如果针对第三页面的RIP处理不涉及图像处理,则RIP模块210-3执行针对第三页面的RIP处理。在这种情况下,RIP模块210-1和210-2均处在等待图像处理完成的状态中,并且如果多核CPU 114中的CPU内核均未被使用则RIP模块210-3利用多核CPU 114的CPU内核来执行RIP处理。在RIP模块210-3利用CPU内核的时间期间,得到 Srun = A-W = 3-2 = 1,并且保持 Srun < Smax = 2。(2)未出现等待图像处理完成的情况以与上述情况(1)类似的示例中的方式执行第一页面的分配,并且假设已经将第一页面分配至RIP模块210-1。然而,在此示例中,针对第一页面的RIP处理不涉及图像处理,并且RIP模块210-1不进入等待图像处理完成的状态。此时,已经分配了页面的RIP模块210的数量A为1(A = 1),并且处在等待图像处理完成的状态中的RIP模块210的数量 W 为 0 (W = 0)。在第二页面的分配中,还没有对RIP模块210-2或210-3分配页面(步骤S16中的 “是”)。然后,在步骤S18中确定值Srun。这里,由于已知A = 1和W = 0,因此确定Srun =A-W = 1。此外,由于保持Srun < Smax = 2 (步骤S18中的“是”),然后在步骤S22,并行处理控制器208将第二页面分配至RIP模块210-2。在此示例中,针对第二页面的RIP处理不涉及图像处理,RIP模块210-2通过自身执行针对第二页面的RIP处理。此时,确定A =2 禾口 W = 0。接下来,在第三页面的分配中,还没有对RIP模块210-3分配页面(步骤S16中的 “是”)。然后,在步骤S18中确定值Srun。这时,由于已知A = 2和W = 0,因此确定Srun =2,等于值Smax (Smax = 2)。因此,在步骤S20中确定“否”,并重复包括步骤S18和S20 的循环处理。当RIP模块210-1和210-2中至少一个的RIP处理由于时间的流逝而完成时, 已经分配了页面的RIP模块210的数量A从“2”降至“1”或“0”,从而值Srun也变为“1” 或“0” (ff = O保持)。然后,步骤S20中确定“是”的条件满足,即满足Srim < Smax0现在,并行处理控制器208将第三页面分配至RIP模块210-3 (步骤S2》。在此示例中,在两个RIP模块210-和210-2使用多核CPU 114期间不对RIP模块210-3分配页面。从上述具体示例(1)和( 中可以看出,根据图5所示示例中包括步骤S18和S20 的循环处理,在执行RIP处理的RIP模块210的数量等于或大于值Smax期间,不对RIP模块210分配新页面。
在此示例性实施例的示例中,取决于处在等待图像处理完成的状态中的RIP模块 210从图像处理装置220接收到图像处理结果并恢复RIP处理的时刻,超过值Smax的数量的RIP模块210可以同时执行RIP处理。例如,在上述具体示例(1)中,如果针对第二页面的RIP模块210-2的处理不涉及图像处理,则在第二页面的分配完成时确定A = 2和W = 1 (在此情况下RIP模块210-1处在等待图像处理完成的状态中)。在此情况下,由于得到了 Srun = 2-1 = 1 < Smax = 2,从而将第三页面分配至RIP模块210-3,并确定了 A = 3 和W = 1。由此得到Srun = 3-1 = 2 = Smax0如果RIP模块210-1已请求图像处理装置 220执行的图像处理完成,并且RIP模块210-1中的RIP处理在RIP模块210-2和210-3中的RIP处理完成之前恢复,则三个RIP模块210-1、210-2、和210-3当前正在执行RIP处理 (Srun = 3 > Smax)。不过,已经从处在等待图像处理完成的状态中恢复到RIP处理的RIP 模块210-1,已经完成了针对所分配页面的RIP处理中负荷最高(最耗时间)的图像处理, 并且因此该RIP处理被认为可以在较短时间周期内完成。另外,在得到Srim < Smax = 2 之前不会分配新的页面。因此,在从打印文档数据的整体RIP处理的开始到完成期间保持 Srun > Smax的时间周期相比例如在图5所示示例的过程中省略步骤S18和S20的处理所得到的时间周期要短。已参照图1至图5对本发明的示例性实施例进行了说明,其中一个图像处理装置 220可用,图像处理装置220(作为示例)包括一个图像处理电路。应当理解,图像处理装置 220的数量以及包括在每个图像处理装置220中的图像处理电路的数量并不限于上述示例的情况。例如,如图6所示,打印数据转换装置100中存在多个可用的图像处理装置220。 图6例示了在打印数据转换装置100中存在两个可用图像处理装置220-1和220-2的示例, 其中每个图像处理装置均包括一个图像处理电路222(即图像处理电路222-1和222-2)。 与参照图1至图3所描述的示例类似,图6所示的图像处理装置220-1和220-2可以提供在打印数据转换装置100的内部或外部。在图6所示的示例中,另外仅作为示例,多核CPU 114的CPU内核的数量为“4”。在图6所示的示例中,并行处理控制器208激活与CPU内核的数量对应的四个RIP模块210-1至210-4 (图6中未示出RIP模块210-2和210-3),以及对应于图像处理电路222的总数“2”的两个RIP模块210-5和210-6。此外,在另一示例中,如图7所示,包括多个图像处理电路的图像处理装置220可用。在图7中,作为示例,包括两个图像处理电路222-1和222-2的一个图像处理装置220 可用。图像处理装置220还包括图像处理控制器224,其控制诸如将处理分配至两个图像处理电路222-1和222-2的操作。图像处理控制器2 通过处理执行控制器230从RIP模块 210接收图像处理请求,令图像处理电路222-1和222-2之一执行所请求的图像处理,并将处理结果返回处理执行控制器230。图7所示的图像处理装置220还可以提供在打印数据转换装置100的内部或外部。在图7所示的示例中,另外仅作为示例,多核CPU 114的CPU 内核的数量为“4”。此外在图7所示的示例中,并行处理控制器208激活与CPU内核的数量对应的四个RIP模块210-1至210-4(图7中未示出RIP模块210-2和210-3),以及对应于图像处理电路222的总数“2”的两个RIP模块210-5和210-6。在图6、7所示示例的任一个中,并行处理控制器208和各RIP模块210中的每一个都可以执行与以上参照图3-5描述的处理相类似的处理。
在参照图1至图7描述的示例性实施例的示例中,激活与多核CPU 114的内核CPU 的数量与图像处理装置220中的可用图像处理电路222的数量之和相对应的数量的RIP模块210,并且对打印文档数据的各页面执行并行RIP处理。在这种情况下,将页面分配至各 RIP模块210以将使用多核CPU 114同时执行RIP处理的RIP模块210的数量限制为小于或等于内核CPU的数量。在前述示例性实施例的示例中,并行处理控制器208和处理执行控制器230执行 RIP模块管理信息232的记录和更新。在一个变型实施例中,对RIP模块管理信息232的记录和更新的一部分可以由每个RIP模块210来执行。例如,指示每个RIP模块210的处理执行状态的信息可以由RIP模块210自身来记录和更新。此外,每个图像处理装置220中包含的图像处理电路222的数量可以通过图像处理装置220自身记录在RIP模块管理信息 232中,或者可以由处理执行控制器230指定并且记录在RIP模块管理信息232中。此外,RIP模块管理信息232中的指示RIP模块210的处理执行状态的具体信息项不限于图4所示例性示出的这些。例如,在图4中,“图像处理装置使用状态”包含两种值, 即“等待处理完成”和“未使用”。在一个变型实施例中,RIP模块管理信息232可以包括表示三种状态的值来作为每个RIP模块210的处理状态,即“等待图像处理完成”、“RIP处理正在进行中”、和“等待页面分配(即未分配页面)”。在此示例中,图4所示示例的列表中的“页面分配状态”项可以省略。处在处理状态中的“等待图像处理完成”或者“RIP处理正在进行中”状态下的RIP模块210的数量可以用作已分配页面的RIP模块210的数量A, 并可以执行图5所示示例中的处理过程。在前述示例性实施例的示例中,已激活的全部多个RIP模块210请求图像处理装置220执行图像处理。在一个变型实施例中,并行处理控制器208可以控制RIP模块210 中的一些来通过自身执行图像处理,而不请求图像处理装置220执行图像处理。例如,多个 RIP模块210中对应于多核CPU 114的CPU内核数量的一定数量的额外RIP模块210 (例如,图3所示的RIP模块210-3,或者图6、图7所示的RIP模块210-5和210-6)可被控制为自身执行图像处理。另外在此变型实施例中,并行处理控制器208所执行的页面分配控制的过程与图5所示的示例类似。在前述示例性实施例和变型实施例中,当激活打印数据转换装置100时,可以激活对应于内核CPU的数量与图像处理电路222的数量之和的数量的RIP模块210。在一个变型实施例中,首先,并行处理控制器208激活对应于执行打印文档数据的各个页面的RIP 处理的内核CPU数量的一定数量的RIP模块210。然后,当RIP模块210进入等待图像处理完成的状态时,激活对应于图像处理电路222的总数的一定数量的RIP模块210。在此变型实施例中,要激活的RIP模块210的数量限制为等于内核CPU的数量与图像处理电路的数量之和。在此变型实施例中,并行处理控制器208另外使用图5所示示例中的过程对此时已经激活的一个或多个RIP模块210执行页面分配控制。在另一个变型实施例中,可以仅基于关于可用图像处理装置220的处理能力而不考虑多核CPU 114的内核CPU的数量的信息来确定要激活的RIP模块210的数量。例如, 对于可用图像处理装置220中包含的每个图像处理电路222,可以在RIP模块管理信息232 中记录表示该图像处理电路的处理能力相对一个RIP模块210的处理能力的比值的图像处理能力指标,并且基于该图像处理能力指标来确定要激活的RIP模块210的数量。文中所用的术语“处理能力”是指处理特定单位量的图像数据所需的时间(即处理速度)。图像处理能力指标还可以是表示图像处理电路的处理能力大于RIP模块210的处理能力多少倍的值。例如,如果一个图像处理电路能够在RIP模块210执行特定图像处理所需时间周期的一半时间内执行相同的图像处理,则该图像处理电路具有图像处理能力指标“2”。可以使用例如令图像处理装置220和图像RIP模块210处理测试图像并测量处理时间的实验等来确定图像处理能力指标,并记录在打印数据转换装置100中。并行处理控制器208将要激活的RIP模块210的数量设置为例如可用图像处理装置220的单个图像处理电路222的总图像处理能力指标。替代方案是,可以激活大于总图像处理能力指标的数量的RIP模块210。 此外在一个使用总图像处理能力指标来确定RIP模块210数量的变型实施例中,可以使用图5所示示例中的处理过程来执行页面分配控制,以将同时执行RIP处理的RIP模块210 的数量限制为基于多核CPU 114的处理能力而设置的值Smax。 前述对本发明示例性实施例的描述是用作例示和说明,而不是穷举或者将本发明限制为所公开的精确形式。本领域的技术人员显然能够预见各种修改和变型。对实施例的选择和描述是为了对本发明的原理和实际应用做出最佳的阐述,从而使得本领域的其它技术人员能够理解本发明的各种实施例以及适用于特定应用环境的各种变型实施例。本发明的保护范围由权利要求及其等价部分限定。
权利要求
1.一种打印文档转换装置,包括多个基于软件的转换单元,其执行基于软件的转换处理,用于把以页面描述语言描述的打印文档数据转换成具有位像格式的页面图像数据,所述多个基于软件的转换单元中的每一个均在基于软件的转换处理中请求基于硬件的图像处理装置执行特定的图像处理,并且生成包括由基于硬件的图像处理装置响应于所述请求而执行的图像处理的结果的页面图像数据;和控制器,当存在出现所述多个基于软件的转换单元中的至少一个等待所述基于硬件的图像处理装置完成图像处理的状态的可能性时,所述控制器激活额外的基于软件的转换单元,所述额外的基于软件的转换单元执行基于软件的转换处理,其中所述控制器将额外的基于软件的转换单元的数量控制为不超过预定上限。
2.根据权利要求1的打印文档转换装置,其中基于软件的转换单元的数量大于所述预定上限。
3.根据权利要求1或2的打印文档转换装置,其中提供所述多个基于软件的转换单元以使得根据基于硬件的图像处理装置的处理能力来确定所述多个基于软件的转换单元的数量。
4.根据权利要求1的打印文档转换装置,其中所述控制器使得所述额外的基于软件的转换单元对不同于所述打印文档数据的新打印文档数据进行处理。
5.一种打印文档转换方法,包括执行多个基于软件的转换单元,所述多个基于软件的转换单元执行基于软件的转换处理,用于把以页面描述语言描述的打印文档数据转换成具有位像格式的页面图像数据,所述多个基于软件的转换单元中的每一个均请求在基于软件的转换处理中执行特定图像处理的基于硬件的图像处理装置执行特定的图像处理,并且生成包括由基于硬件的图像处理装置响应于所述请求而执行的图像处理的结果的页面图像数据;以及,当存在出现所述多个基于软件的转换单元中的至少一个等待所述基于硬件的图像处理装置完成图像处理的状态的可能性时,激活额外的基于软件的转换单元,所述额外的基于软件的转换单元执行基于软件的转换处理,其中所述额外的基于软件的转换单元的数量被控制为不超过预定上限。
6.一种打印文档转换装置,包括多个基于软件的转换单元,其执行基于软件的转换处理,用于把以页面描述语言描述的打印文档数据转换成具有位像格式的页面图像数据,所述多个基于软件的转换单元中的每一个均请求在基于软件的转换处理中执行特定图像处理的基于硬件的图像处理装置执行特定的图像处理,并且生成包括由基于硬件的图像处理装置响应于所述请求而执行的图像处理的结果的页面图像数据;计算单元,其执行由所述多个基于软件的转换单元执行基于软件的转换处理所需的计算;和控制器,当存在出现所述多个基于软件的转换单元中的至少一个等待所述基于硬件的图像处理装置完成图像处理的状态的可能性时,所述控制器激活额外的基于软件的转换单元,所述额外的基于软件的转换单元执行基于软件的转换处理,其中,所述控制器还执行控制来将针对打印文档数据中特定单位量的数据所执行的基于软件的转换处理分配至额外的基于软件的转换单元之一和所述多个基于软件的转换单元,其中执行所述控制以使得对其分配了特定单位量的数据的基于软件的转换单元中处在等待基于硬件的图像处理装置完成图像处理的状态的基于软件的转换单元之外的基于软件的转换单元的数量不超过基于计算单元的处理能力的预定上限。
7. —种打印文档转换方法,包括执行多个基于软件的转换单元,所述多个基于软件的转换单元执行基于软件的转换处理,用于把以页面描述语言描述的打印文档数据转换成具有位像格式的页面图像数据,所述多个基于软件的转换单元中的每一个均请求在基于软件的转换处理中执行特定图像处理的基于硬件的图像处理装置执行特定的图像处理,并且生成包括由基于硬件的图像处理装置响应于所述请求而执行的图像处理的结果的页面图像数据;执行使用所述多个基于软件的转换单元执行的基于软件的转换处理所需的计算;以及当存在出现所述多个基于软件的转换单元中的至少一个等待所述基于硬件的图像处理装置完成图像处理的状态的可能性时,激活额外的基于软件的转换单元,所述额外的基于软件的转换单元执行基于软件的转换处理,其中执行控制来将针对打印文档数据中特定单位量的数据所执行的基于软件的转换处理分配至额外的基于软件的转换单元之一和所述多个基于软件的转换单元,其中执行所述控制以使得对其分配了特定单位量的数据的基于软件的转换单元中处在等待基于硬件的图像处理装置完成图像处理的状态的基于软件的转换单元之外的基于软件的转换单元的数量不超过基于计算单元的处理能力的预定上限。
全文摘要
本发明提供一种打印文档转换装置和打印文档转换方法,所述打印文档转换装置包括多个基于软件的转换单元和控制器。所述多个基于软件的转换单元执行基于软件的转换处理,用于把以页面描述语言描述的打印文档数据转换成具有位像格式的页面图像数据,其中每一个均在基于软件的转换处理中请求基于硬件的图像处理装置执行特定的图像处理,并且生成包括由基于硬件的图像处理装置响应于所述请求而执行的图像处理的结果的页面图像数据。当存在出现所述多个基于软件的转换单元中的至少一个等待所述基于硬件的图像处理装置完成图像处理的状态的可能性时,所述控制器激活不超过预定数量的执行基于软件的转换处理的额外的基于软件的转换单元。
文档编号B41J29/393GK102336071SQ201110056490
公开日2012年2月1日 申请日期2011年3月9日 优先权日2010年7月14日
发明者宫崎康一 申请人:富士施乐株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1