CN102236531B - 打印文档转换设备和打印文档转换方法 - Google Patents

打印文档转换设备和打印文档转换方法 Download PDF

Info

Publication number
CN102236531B
CN102236531B CN201010536467.XA CN201010536467A CN102236531B CN 102236531 B CN102236531 B CN 102236531B CN 201010536467 A CN201010536467 A CN 201010536467A CN 102236531 B CN102236531 B CN 102236531B
Authority
CN
China
Prior art keywords
conversion
page
data
speed cache
printed document
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.)
Active
Application number
CN201010536467.XA
Other languages
English (en)
Other versions
CN102236531A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Publication of CN102236531A publication Critical patent/CN102236531A/zh
Application granted granted Critical
Publication of CN102236531B publication Critical patent/CN102236531B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • 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
    • 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/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing 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
    • 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
    • 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/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
    • 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/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • 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)
  • 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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

打印文档转换设备包括转换模块启动部件,该转换模块启动部件作为进程启动转换模块,该转换模块用于进行转换处理,该转换处理用于将用页面描述语言描述的并且包含多个处理单位的打印文档数据转换为打印图像数据。转换模块包括线程启动部分、分配部分和共享高速缓存。线程启动部分启动转换处理线程。分配部分将处理单位分配给转换处理线程并且促使转换处理线程对这些处理单位进行处理。共享高速缓存由转换处理线程共享。当通过对所述多个处理单位中包含的对象进行转换而获得的转换结果被存储在共享高速缓存中时,各个转换处理线程获得所存储的转换结果,而不是通过对对象进行转换来获得转换结果。

Description

打印文档转换设备和打印文档转换方法
技术领域
本发明涉及打印文档转换设备和打印文档转换方法。
背景技术
由称为光栅图像处理器(RIP)的转换模块将用诸如或ISO 32000-1中规定的可移植数据格式(PDF)这样的页面描述语言(PDL)描述的打印数据转换为光栅图像(位图图像)并且由打印机将其打印出来。因为转换模块需要执行对PDL进行解译的语言处理,所以一般情况下转换模块是由软件实现的。此外,除了将PDL数据直接转换为光栅图像的方案之外,执行两步转换的系统也为大家所熟知。两步转换包括以下两步:将PDL数据转换为能够达到比PDL命令所达到的粒度低的粒度的中间语言数据,比如显示列表,并且缓存该中间语言数据;和将所缓存的中间语言数据转换为光栅图像。
到目前为止,还有一种系统为大家所知,这种系统使用多个转换模块以预定的单位(比如以页面为单位)并行地进行PDL数据到光栅图像或中间语言数据的转换。
此外,到目前,还进行了如下的转换处理省略:当执行将PDL命令转换为光栅图像或中间语言数据的转换处理时,将与转换处理结果有关的数据缓存起来,从而使该数据与PDL命令相关的识别信息关联起来;并且,当以后再使用PDL命令时,使用所缓存的数据,从而省略了转换处理。
目前,在计算机上执行的多个并行操作的转换模块,是彼此不同的单个进程。当作为彼此不同的单个进程,在计算机上启动了要促使其成为并行操作的多个转换模块时,就要为这些单个进程分配彼此不同的存储器空间。由此,一般情况下针对各个进程来管理高速缓存。
在并行操作的多个进程中的每一个进程单独管理高速缓存的情况下,即使当第二进程的高速缓存中存在着处理某一第一进程试图处理的命令的处理结果(转换结果)时(第一进程不同于第二进程),第一进程也不能使用存储器空间不同于第一进程的存储器空间的第二进程的高速缓存中存在的处理结果。由此,与作为转换对象的PDL数据是由单独一个转换模块来转换,从而从第一段PDL数据开始按顺序依次对多段PDL数据进行转换,而没有进行并行处理的情况下的高速缓存利用效率相比,高速缓存的利用效率较低。
在日本未审查专利申请公开第5-201077号中公开的设备中,当主处理器将绘制处理的绘制单张不同页面的部分按顺序分配给不同的从处理器时,主处理器读取命令缓冲器中存储的并且包含在多个页面中的打印命令栏。主处理器执行空转绘制处理,在这一绘制处理中,为单个页面设置绘制属性参数,而不进行实际上的绘制(实际绘制处理)。按照已经为进行过空转绘制处理的页面设置的绘制属性参数根据打印命令栏使用各个从处理器来进行实际绘制处理。在该设备中,在主处理器和各个从处理器之间借由共享存储器发送/接收诸如打印命令栏这样的通信内容。
在日本未审查专利申请公开第11-259644号中公开的设备中,因为能够对打印文档进行并行处理,所以对用PDL描述的打印数据加以分析,以检测语句的定界符,从而获得块。将单个块分配给RIP软件。在这种情况下,要使RIP软件对这些单个块当中的具有相同初始值的块进行并行处理。将各个块的最后一个内部语句传递给下一个块。
在日本未审查专利申请公开第2000-141771号公开的设备中,采用了多线程方案来提高使用彩色打印机的打印工作的效率。在这一设备中,多线程控制部件生成颜色专用分析处理1到4(7到10)(这些颜色专用分析处理1到4(7到10)是多线程目标任务)并且控制从颜色专用分析处理1到颜色专用分析处理2等等的任务轮转。颜色专用分析处理1到4(7到10)中的每一个都是多线程目标任务,每一个都分析由接收存储器分发部件5分发的打印目标数据,并且生成多段页面数据1到4(11到14)中对应的一段。在各个颜色专用分析处理中,当与所分配的块的容量相对应的数据的分析完成时,由多线程控制部进行到下一个颜色专用分析处理的轮换。
日本未审查专利申请公开第2000-335022号中公开的设备是执行绘制处理的打印机控制设备,其中并行地使用多个绘制处理器来绘制打印数据。在该打印机控制设备中,将打印文档分为表单(固定部分)和文本。与使用各绘制处理器进行了绘制处理的表单之类有关的位图数据被缓存在打印机构控制处理器中包含的共享高速缓存存储器中。各个绘制处理器将缓存在共享高速缓存存储器中的表单与各个文本相组合,从而生成打印图像。
为了提高高速缓存利用效率,也考虑了在多个进程间实现高速缓存共享的方案。不过,在这一方案中,需要用于管理共享高速缓存的进程,从而为诸如计算机内存之类的资源增加了负担。此外,为了用于转换打印数据的各个转换处理进程从/向共享高速缓存读取/写入数据,需要进程到进程的通信。由此,由于进程到进程的通信之类增加的负担,降低了各个转换处理进程的性能。
发明内容
本发明的一个目的是在不进行进程到进程的通信的情况下防止并行操作的多个转换模块当中的高速缓存利用效率降低。
按照本发明的第一个方面,提供了一种打印文档转换设备,包括:转换模块启动部分,它是使用具有多个中央处理单元的计算机提供的并且其作为进程启动用于执行转换处理的转换模块,该转换处理用于将用页面描述语言描述的并且包含多个处理单位的打印文档数据转换为位图图像格式的或中间语言格式的打印图像数据,转换模块包括线程启动部分、分配部分和共享高速缓存。线程启动部分启动多个转换处理线程,这些转换处理线程用于将打印文档数据中包含的多个处理单位转换为位图图像格式的或中间语言格式的打印图像数据。分配部分将打印文档数据中包含的多个处理单位分配给由线程启动部分启动了的多个转换处理线程,并且促使所述多个转换处理线程对所述多个处理单位进行处理。共享高速缓存由多个转换处理线程共享。当通过将所分配的所述多个处理单位中包含的对象转换为位图图像格式或中间语言格式而已经获得的转换结果被存储在共享高速缓存中时,多个转换处理线程中的每一个获得存储在共享高速缓存中的所述转换结果,而不是通过对对象进行转换来获得转换结果。
按照本发明的第二个方面,该打印文档转换设备此外还包括第一模式处理部件和操作控制器。第一模式处理部件启动多个转换处理进程,这些转换处理进程用于将打印文档数据中包含的多个处理单位转换为位图图像格式的或中间语言格式的打印图像数据。第一模式处理部件启动分配进程,该分配进程将打印文档数据中包含的多个处理单位分配给已经启动了的多个转换处理进程。第一模式处理部件启动高速缓存管理进程,该高速缓存管理进程管理由多个转换处理进程共享的第二高速缓存。第一模式处理部件执行第一模式处理。在第一模式处理中,多个转换处理进程中的每一个与高速缓存管理进程进行进程到进程的通信,并且,当通过将分配给转换处理进程的处理单位中包含的对象转换为位图图像格式或中间语言格式而获得的转换结果被存储在第二高速缓存中时,转换处理进程使用进程到进程的通信获得存储在第二高速缓存中的转换结果,而不是通过对对象进行转换来获得转换结果。
按照本发明的第三个方面,给出了一种打印文档转换方法,包括:使用具有多个中央处理单元的计算机作为进程启动用于执行转换处理的转换模块,该转换处理用于将用页面描述语言描述的并且包含多个处理单位的打印文档数据转换为位图图像格式的或中间语言格式的打印图像数据。转换模块包括:启动多个转换处理线程,这些转换处理线程用于将打印文档数据中包含的多个处理单位转换为位图图像格式的或中间语言格式的打印图像数据;将打印文档数据中包含的多个处理单位分配给已经启动了的多个转换处理线程,并且促使所述多个转换处理线程对所述多个处理单位进行处理;以及与所述多个转换处理线程共享高速缓存。当通过将所分配的所述多个处理单位中包含的对象转换为位图图像格式或中间语言格式而已经获得的转换结果被存储在共享高速缓存中时,多个转换处理线程中的每一个获得存储在共享高速缓存中的所述转换结果,而不是通过对对象进行转换来获得转换结果。
按照本发明的第一到第三个方面,并行操作的多个转换处理线程中的每一个可以获得并使用存储在共享高速缓存中的并且是由其它多个转换处理线程获得的转换结果。另外,多个转换处理线程并不需要进行进程到进程的通信来利用共享高速缓存。
按照本发明的第二个方面,也可以对用不适于多线程处理的并且包含高速缓存操作命令的页面描述语言描述的打印文档数据进行并行处理。
附图说明
将基于下述附图介绍本发明的示范性实施方式,其中:
图1是示出了其中实现了按照示范性实施方式的设备的打印系统的硬件配置的例子的示意图;
图2是示出了其中实现了按照示范性实施方式的设备并且包括多个控制器的打印系统的硬件配置的另一个例子;
图3是示出了按照示范性实施方式的打印数据转换设备的总体配置的功能框图;
图4是示出了示范性实施方式中打印系统的功能结构的例子的功能框图;
图5是示出了包括多个控制器的打印数据转换设备的例子的功能框图;
图6是示出了通过提供由图5所示的打印数据转换设备中的多个控制器共享的第二高速缓存而获得的打印数据转换设备的例子的示意图;
图7是示出了按照变型例的打印数据转换设备的总体配置的功能框图;以及
图8是示出了具有在用于并行处理的模式间进行切换的功能的打印数据转换设备的例子的功能框图。
具体实施方式
在下文中,将参照附图介绍本发明的示范性实施方式。在各个图中,彼此相同或类似的单元由相同的附图标记来指代。
首先,将参照图1介绍其中实现了按照示范性实施方式的设备的打印系统的例子。该打印系统包括打印数据转换设备100、主计算机140、打印控制设备160和打印机引擎170。
打印数据转换设备100是这样的设备:将用PDL描述的打印文档数据转换为可由打印机引擎170运用的打印图像数据,比如光栅图像。主计算机140将打印文档数据经由诸如局域网(LAN)这样的网络发送到打印数据转换设备100并且提供用于打印该打印文档数据的指令。
打印数据转换设备100包括控制器110。控制器110包括彼此相连以致能够经由本地总线122彼此通信的通信控制部件112、多CPU114、本地存储器116、第二存储装置118和通信控制部件120。通信控制部件112是经由LAN 130与主计算机140进行数据通信的部件。通信控制部件112,例如,从主计算机140接收打印指令和打印文档数据,或者在通信控制部件112和主计算机140之间发送/接收用于打印控制的信息。多CPU 114是内含多个CPU内芯的处理器封装。本地存储器116是多CPU 114的各个CPU内芯用作例如工作区的第一存储装置,并且是例如使用随机存取存储器来构成的。第二存储装置118是具有比较大容量的非易失性存储装置,比如硬盘装置或电可擦除可编程只读存储器(EEPROM),并且存储着多CPU 114执行的程序、从主计算机140接收到的打印文档数据等等。描述了下面在示范性实施方式中介绍的功能模块的控制程序被存储在例如第二存储装置118中并且由多CPU 114来执行。控制程序可以由多CPU 114的多个CPU内芯并行地执行。多CPU 114执行控制程序,从而将打印文档数据转换为各页面的打印图像数据。通信控制部件120是经由称为系统内部网150的网络与打印控制设备160进行数据通信的部件。在这个例子中,打印数据转换设备100和打印控制设备160(和打印机引擎170)经由系统内部网150彼此相连,从而构成了一个打印系统。经由通信控制部件120和系统内部网150,由多CPU 114执行的处理所生成的各页面的打印图像数据被传送到打印控制设备160。
控制器110可以包括协处理器,比如执行诸如彩色空间转换、图像的放大/缩小或图像以高速旋转之类的图像处理的图形加速器,不过图1中省略了协处理器的图示。在这种情况下,例如,由多CPU114执行的RIP处理程序(后面介绍的RIP模块300)请求协处理器执行图像处理、数字数据处理等。RIP处理程序接收图像处理、数字数据处理等的处理结果,并且使用该处理结果来生成各页面的打印图像数据。
打印机引擎170是使用诸如墨水和墨粉之类的彩色材料在纸张上打印由打印图像数据代表的图像的打印硬件。打印控制设备160是控制打印机引擎170的设备,并且包括通信控制部件162、页面控制部件164和引擎控制部件166。通信控制部件162经由系统内部网150与打印数据转换设备100进行通信,以接收各页面的打印图像数据或发送/接收打印控制所需要的各种不同类型的控制信息。页面控制部件164存储所接收到的各页面的打印图像数据,并且按照要打印页面的顺序将各页面的打印图像数据发送到引擎控制部件166。引擎控制部件166将所接收到的页面的打印图像数据供应给打印机引擎170。打印机引擎170在纸张上打印所接收到的打印图像数据。
图2中示出了其中实现了按照示范性实施方式的设备的打印系统的另一个例子。在图2中所示的例子中,打印数据转换设备100包括多个控制器110。多个控制器110共享对打印文档数据中包含的多个页面进行转换的转换处理并且并行地执行该转换处理。在该例子中,多个控制器110之一是主控制器110M。主控制器110M使用通信控制部件112接收从主计算机140供应来的打印文档数据,并且执行将打印文档数据中包含的各页面分配给n个子控制器110S1到110Sn的控制。主控制器110M可以包括与图1中所示的例子中的控制器110的硬件和软件类似的硬件和软件,只是主控制器110M还包括用于分配页面的功能模块。子控制器110S1到110Sn中的每一个可以包括与主控制器110M的硬件和软件类似的硬件和软件,只是子控制器不需要用于与主计算机140进行通信的机构(例如,通信控制部件112)。在一种实现实例中,主控制器110M被形成为构成打印数据转换设备100的计算机装置的主板,并且各个子控制器110S1到110Sn被形成为可以与该主板连接的扩充板。在这一实现实例中,打印数据转换设备100为可扩缩的,并且能够按照另外提供的子控制器的数量改变打印数据转换设备100的处理速度。
而且在图2中所示的例子中,可以将用于图像处理等的协处理器结合到主控制器110M和子控制器110S1到110Sn中的每一个当中去。
接下来,将参照图3介绍按照示范性实施方式的打印数据转换设备100的功能模块配置的例子。图3中所示的功能模块配置是通过用控制器110的多CPU 114执行控制程序来实现的。
在图3中,RIP模块控制部分200执行启动RIP模块300的控制。在该例子中,RIP模块控制部分200将RIP模块300作为一个进程启动。RIP模块控制部分200可以例如通过由多CPU 114执行控制程序中包含的程序代码来实现。该程序代码可以是代表这样一种处理过程的程序:在该处理过程中生成一个进程,并且在该处理过程中由所述进程调用代表RIP模块300的函数。
系统控制信息210是RIP模块控制部分200用于控制的控制信息,并且包括例如包含要在RIP模块300中启动的页面转换处理线程312的数量N的信息等等。RIP模块控制部分200可以将该数量N供应给已经生成的RIP模块300。按照另外一种可选方案,已经生成的RIP模块300可以通过访问系统控制信息210来获得该数量N。
打印文档存储部分220存储从主计算机140接收到的并且用PDL描述的打印文档数据。在该例子中,要存储的打印文档数据是用PDL描述的(例如PDF)、页面独立的且不包含高速缓存控制命令的数据。这里,″页面独立的″指的是描述页面的打印图像数据的信息仅仅由用于该页面的PDL数据表达,而与用于其它页面的PDL数据无关。注意,PostScript不是页面独立(即,是页面相关的)的PDL,并且包含高速缓存控制命令。
RIP模块300是控制将打印文档数据转换为诸如光栅图像这样的打印图像数据的RIP处理的软件模块。在本示范性实施方式中,由RIP模块控制部分200在多CPU 114上将RIP模块300作为一个进程启动,并且执行RIP模块300。不过,作为一个进程启动和执行的RIP模块300导致多个要在RIP模块300中运行的页面转换处理线程312-1、312-2、...和312-N,从而使用单个的页面转换处理线程312-1、312-2、...和312-N并行地对多个页面进行RIP处理。
出于这一原因,RIP模块300包括线程控制部分310和页面分配部分314。线程控制部分310按照系统控制信息210中限定的数量N启动N个页面转换处理线程312-1、312-2、...和312-N(在下文中,当不必相互区分页面转换处理线程312-1、312-2、...和312-N时,总称为″页面转换处理线程312″)。例如,通过在多CPU 114的各个CPU内芯中运行各个页面转换处理线程312,各个页面转换处理线程312可以占用相应的一个CPU内芯,并且可以进行RIP处理。用于执行页面转换处理线程312的配置并不局限于此。也可以使用其中至少一个CPU内芯执行至少两个页面转换处理线程312的配置。注意,线程控制部分310和页面分配部分314是由多CPU 114中包含的多个CPU内芯之一执行的。
页面分配部分314将打印文档数据中包含的不同页面分配给各个页面转换处理线程312。分配页面的方式并非具体局限于此。例如,分配页面的方式可以是按照页面转换处理线程312的数量,以从顶部页面开始的顺序,将页面依次分配给页面转换处理线程312的固定方式。按照另外一种可选方案,分配页面的方式可以是以页面转换处理线程312完成对页面进行转换的转换处理的顺序,将页面依次分配给页面转换处理线程312的动态方式。页面的分配可以例如从页面分配部分314通知页面转换处理线程312与作为分配目标的页面对应的页码来进行。
各个页面转换处理线程312将出自打印文档存储部分220中存储的打印文档数据的、与由页面分配部分314指定的页码相对应的页面的数据,转换为打印图像数据。换句话说,页面转换处理线程312这样解译与指定页码相对应的页面的PDL数据:以从第一段PDL数据开始的顺序,依次解译PDL数据段;并且在页面图像存储器上绘制(光栅化)PDL数据,从而生成页面的打印图像数据。注意,在打印文档数据是PDF格式的打印文档数据的情况下,打印文档数据包括关于该打印文档数据中包含的各个页面的PDL数据的索引信息。通过访问打印文档存储部分220中存储的打印文档数据中包含的索引信息,各个页面转换处理线程312可以获得与由页面分配部分314指定的页码相对应的页面的PDL数据。
在页面转换处理线程312正在这样解译PDL数据:以从页面开始处的PDL数据段开始的顺序,依次解译PDL数据段的时候,当各个页面转换处理线程312检测到用于绘制诸如字体、图像或表单这样的图像对象的绘制命令时,页面转换处理线程312对共享高速缓存管理部分322进行这样的询问:在页面转换处理线程312执行与绘制命令相对应的绘制处理之前,是否将图像对象缓存在共享高速缓存320中。共享高速缓存管理部分322检查:通过转换共享高速缓存管理部分322曾经就其进行过询问的图像对象而获得的转换结果数据(打印图像数据)是否缓存在用于字体、图像、表单等等的各个共享高速缓存324a到324c中。
作为结果,当缓存了转换结果数据时,共享高速缓存管理部分322将该转换结果数据返回给页面转换处理线程312。在这种情况下,页面转换处理线程312将从共享高速缓存管理部分322返回的打印图像数据作为与图像对象相对应的图像写入到页面图像存储器(未示出)中。在这种情况下,页面转换处理线程312并不需要执行绘制命令。
与此相反,当试图绘制的图像对象没有缓存在共享高速缓存320中时,共享高速缓存管理部分322向页面转换处理线程312返回一个说明此种情形的答复。接收到该答复的页面转换处理线程312执行绘制命令,从而将用PDL描述的图像对象转换为打印图像数据,并且将该打印图像数据写入到页面图像存储器中。然后,页面转换处理线程312请求共享高速缓存管理部分322缓存作为转换结果数据获得的该打印图像数据,使得该打印图像数据与图像对象的相关识别信息关联起来。可以使用例如图像对象的相关属性信息(例如,对象类型、数据大小等的组合,该组合例如由提供绘制该图像对象的指令的绘制命令和由绘制命令的参数来表示)的散列之类作为图像对象的相关识别信息。不过,图像对象的相关识别信息并不局限于图像对象的相关属性信息的散列。从页面转换处理线程312向共享高速缓存管理部分322的查询例如是通过呈递识别信息来进行的。共享高速缓存管理部分322可以使用所呈递的识别信息来搜索共享高速缓存324a到324c。
页面转换处理线程312是例如通过由线程控制部分310启动线程并且通过在该线程中调用描述了诸如上面介绍的特征那样的特征的函数(程序)来实现的。
注意,在控制器110中结合了诸如图形加速器之类的协处理器的配置中,页面转换处理线程312可以请求协处理器执行一部分正在由页面转换处理线程312执行的处理(例如,诸如颜色空间转换之类的图像处理)。
共享高速缓存管理部分322是这样的模块:管理共享高速缓存324a到324c并且按照来自页面转换处理线程312的请求从/向共享高速缓存324a到324c读取/写入数据。共享高速缓存管理部分322被实现为,例如,RIP模块300中的线程或库例程。注意,在图3中所示的例子中,为了改善搜索性能等,按照对象的类型(比如字体、图像或表单)来对共享高速缓存进行分类和管理。不过,也可以考虑其它的管理方式。
因为各个页面转换处理线程312(和共享高速缓存管理部分322)是作为一个进程启动和执行的RIP模块300中实现的线程(或库例程),所以页面转换处理线程312(和共享高速缓存管理部分322)共享存储器空间。由此,各个页面转换处理线程312(和共享高速缓存管理部分322)能够借助共享高速缓存324a到324c共享缓存的数据,而不用进行进程到进程的通信。
当各个页面转换处理线程312结束了对一个页面的PDL数据进行转换的转换处理时,页面转换处理线程312经由打印控制设备160(图3中省略了)将在页面图像存储器上形成的该页面的打印图像数据供应给打印机引擎170。
如上所述,在本示范性实施方式中,通过对所有页面转换处理线程312负责的页面中包含的对象进行转换而获得的转换结果数据被缓存在共享高速缓存320中。因为在所有页面转换处理线程312中重新使用已经缓存的转换结果数据,所以高速缓存利用效率很高。此外,各个页面转换处理线程312将转换结果数据缓存在共享高速缓存320中,并且共享高速缓存320与多个页面转换处理线程312共享存储器空间。由此,不必执行增加很大CPU负担的进程到进程的通信,就可以将数据缓存在共享高速缓存320中,并且能够获得缓存的数据。
接下来,将参照图4介绍打印系统的构造的例子。
在这个例子中,打印数据转换设备100包括从主计算机140接收打印文档数据的打印文档接收部分230。此外,作为进程启动的RIP模块300包括页面检测部分316。页面检测部分316检测打印文档存储部分220中存储的打印文档数据中包含的各个页面,并且将所检测到的页面告知页面分配部分314。在打印文档数据是PDF格式的情况下,页面的检测可以是参照与打印文档数据中包含的页面相关的索引信息来进行的。页面分配部分314指定与从页面检测部分316告知的页面相对应的页码,并且为各个页面转换处理线程312提供指定的页码。其它功能模块的操作类似于图3中所示的例子中的那些功能模块。在图4中,虽然省略了诸如系统控制信息210和通信控制部件162之类的模块的图示,但是RIP模块300和打印控制设备160包括这些模块。
接下来,将参照图5介绍包括多个控制器的打印数据转换设备的功能结构的例子。
在这个例子中,打印数据转换设备包括三个控制器1到3。控制器数量为三的构造仅仅是一个例子。打印数据转换设备可以包括两个、四个或更多的控制器。
这里,例如,假设控制器1和剩下的两个控制器2和3分别与图2中所示的主控制器110M和子控制器110S1到110Sn中的两个相对应。各控制器1到3的各个多CPU 114执行RIP模块控制部分200-1到200-3中相应的一个和RIP模块300-1到300-3中相应的一个。各个RIP模块控制部分200-1到200-3和各个RIP模块300-1到300-3具有与图3或图4中作为例子示出的RIP模块控制部分200和RIP模块300的功能模块相类似的功能模块。
只有用作主控制器的控制器1可以包括打印文档存储部分220和打印文档接收部分230。此外,起到主控制器作用的控制器1具有页面检测部分240和页面指定部分242。和前面介绍的RIP模块300中包含的页面检测部分316的情况(见图4)一样,页面检测部分240检测打印文档存储部分220中存储的打印文档数据中包含的各个页面。和前面介绍的RIP模块300中包含的页面分配部分314的情况(见图4)一样,页面指定部分242将由页面检测部分240检测到的各页面分配给各个控制器1到3。换句话说,页面指定部分242将所检测到的页面的相关识别信息(例如,页码)发送给控制器1到3的页面队列202-1到202-3。为控制器1到3分配页面的方式可以是按照控制器1到3的数量,以从顶部页面开始的顺序,将页面依次分配给控制器1到3的固定方式。按照另外一种可选方案,为控制器1到3分配页面的方式可以是每次各个控制器1到3的页面队列202-1到202-3当中的页面队列可用时,就将页面的相关识别信息分配给该页面队列的动态方式。此外,页面指定部分242还可以将页面优先分配给页面队列202-1到202-3当中保存页面数量最小的页面队列。
各个控制器1到3具有页面队列202-1到202-3中相应的一个,页面队列202-1到202-3保存由页面指定部分242指定的页面的相关识别信息(例如,页码)并且是处理的对象。各个页面队列202-1到202-3使用后进先出的方案保存预定段数的与页面相关的识别信息。
各个控制器1到3中包含的各个页面分配部分314-1到314-3以这样的方式获得由页面队列202-1到202-3中相应的一个保存的与页面相关的识别信息:以从第一段识别信息开始的顺序,依次获得各段识别信息;并且将这些页面分配给各页面转换处理线程312。
如上所述,在图5所示的例子中,采用了两步构造,其中由起到主控制器作用的控制器1执行的页面指定部分242向各个控制器1到3的RIP模块300-1到300-3分发页面,并且其中各RIP模块300-1到300-3中包含的各个页面分配部分314-1到314-3将分配给页面分配部分的页面分发给RIP模块中包含的多个页面转换处理线程312。注意,在这种构造中,因为已经由页面检测部分240检测到的打印文档数据中包含的各个页面,所以不会使用各个RIP模块300-1到300-3中包含的页面检测部分316-1到316-3的功能。由此,在图5中所示的构造中,RIP模块300-1到300-3并非必须需要具有页面检测部分316-1到316-3。此外,可以设定用于停用RIP模块300-1到300-3中包含的页面检测部分316-1到316-3的功能的设置。
注意,可以将图5中所示的两步构造应用于仅仅使用一个控制器的情况。
另外,在图5中所示的构造中,控制器1到3中包含的页面队列202-1到202-3被提供在RIP模块300-1到300-3之外。不过,页面队列202-1到202-3可以被提供在RIP模块300-1到300-3内部。
注意,在上面的关于图5中所示的构造的介绍中,控制器1包括打印文档存储部分220和打印文档接收部分230。不过,该构造仅仅是一个实例。取代该构造,例如可以使用这样的构造:执行打印数据转换设备的全面控制并且设置在主板上的CPU管理打印文档存储部分220和打印文档接收部分230,并且将各个页面分发给主板上另外设置的各个控制器1到3。
在图5中所示的构造中,各个控制器1到3中包含的各个RIP模块300-1到300-3中包含的各个共享高速缓存320由RIP模块中包含的页面转换处理线程312共享,不过省略了共享高速缓存320的示出。由此,各个控制器1到3中运行的各个页面转换处理线程312不能利用其它控制器中包含的共享高速缓存320中存在的对象。出于这一原因,如图6中所示,可以提供由各个控制器1到3共享的第二共享高速缓存250。管理第二共享高速缓存250的第二共享高速缓存管理部分252作为一个进程由控制器1到3的CPU之一或打印数据转换设备的主CPU执行。就各个控制器1到3的RIP模块300-1到300-3中包含的各个共享高速缓存管理部分322-1到322-3而言,当共享高速缓存管理部分管理的共享高速缓存320中并不存在与页面转换处理线程312中的哪一个向共享高速缓存管理部分进行了询问有关的对象时,该共享高速缓存管理部分向第二共享高速缓存管理部分252进行是否存在该对象的询问。如果在第二共享高速缓存250中存在该对象,则第二共享高速缓存管理部分252将该对象供应给进行了关于该对象的询问的共享高速缓存管理部分322。此外,当从页面转换处理线程312之一请求各个共享高速缓存管理部分322-1到322-3来缓存通过对对象进行转换而获得的转换结果数据时,该共享高速缓存管理部分将该转换结果数据缓存在该共享高速缓存管理部分管理的共享高速缓存320中。另外,该共享高速缓存管理部分使用直写方案或回写方案将同一转换结果数据发送给第二共享高速缓存管理部分252,并且促使第二共享高速缓存管理部分252缓存该转换结果数据。
接下来,将参照图7介绍示范性实施方式的变型例。
在图7所示的变型例中,将图3到图6中所示的例子中的页面转换处理线程312分成解析线程330和绘制执行处理线程334。换句话说,在示范性实施方式中,页面转换处理线程312同时执行对PDL数据进行解析并将PDL数据转换为诸如显示列表这样的中间语言数据的处理以及使用中间语言数据绘制光栅图像的处理。不过,在变型例中,解析和绘制处理是由不同的线程分别执行的。
对于各个解析线程330,可以运行多个绘制执行处理线程334(在图7所示的例子中是两个绘制执行处理线程334)。可以在系统控制信息210中设定线程控制部分310启动的解析线程330的数量N和为各个解析线程330启动的绘制执行处理线程334的数量。
在变型例中,可以以页面为单位进行解析,并且可以使用划分成带的方式进行绘制处理。换句话说,解析线程330之一针对一个页面进行解析,并且与该解析线程330相对应的绘制执行处理线程334对该页面中包含的各个带进行绘制处理。例如,解析线程330之一可以对PDL数据进行转换,以生成各个带的中间语言数据332。各个绘制执行处理线程334可以读取各个带的中间语言数据332,并且可以进行绘制。注意,带是通过将页面分割成各自包括副扫描方向上的预定数量行的多个区域而获得的条形的区域。与各个解析线程330相对应的绘制执行处理线程334的数量并非必须与将页面划分为带所用的划分数量相对应。例如,可以将一个页面划分为八个带,并且可以由绘制执行处理线程334中的两个并行地依次处理这八个带。绘制执行处理线程334可以请求诸如图形加速器之类的协处理器来执行一部分或全部绘制中间语言数据332的绘制处理。
在图7中所示的变型例中,共享高速缓存320由RIP模块300中包含的全部解析线程330和全部绘制执行处理线程334共享。换句话说,中间语言数据(是通过转换PDL数据获得的转换结果数据)和打印图像数据(是通过转换中间语言数据获得的转换结果数据)都缓存在共享高速缓存320中。在共享高速缓存320中,例如,代表使用PDL命令定义的图像对象的中间语言数据由各个解析线程330以这样一种方式记录:使得中间语言数据与图像对象的相关识别信息相关联。此外,在共享高速缓存320中,代表使用用于中间语言数据的命令定义的图像对象的打印图像数据由各个绘制执行处理线程334以这样一种方式记录:使得打印图像数据与图像对象的相关识别信息相关联。在各个解析线程330解析代表某一对象的PDL数据之前,解析线程330进行关于代表同一对象的中间语言数据是否存在于共享高速缓存320中的询问。如果中间语言数据存在于共享高速缓存320中,解析线程330读取并使用该中间语言数据。类似地,如果代表某一对象的打印图像数据存在于共享高速缓存320中,则各个绘制执行处理线程334也读取并使用所缓存的打印图像数据,而不进行绘制处理。
上面给出的示范性实施方式和变型例都是用不包括高速缓存控制命令的PDL(例如PDF)描述打印文档数据的例子。与此相反,在用包括高速缓存控制命令的PDL(比如PostScript)描述打印文档数据的情况下,打印数据转换设备100采用如图8中所示的那样的执行多个RIP模块302的方案,而不采用前面介绍的在作为一个进程执行的RIP模块300中执行多个页面转换处理线程312的方案。和前面介绍的例子中的各个页面转换处理线程312的情况一样,各个RIP模块302将所分配的页面的PDL数据转换为打印图像数据,并且并不包括前面介绍的例子中的每个RIP模块300中包含的线程控制部分310、页面分配部分314等。前面介绍的例子中的各个页面转换处理线程312与图8中所示的例子中的各个RIP模块302之前的区别在于,页面转换处理线程312是作为线程执行的,与此相反,RIP模块302是作为进程执行的。由此,各个RIP模块302在彼此不同的存储器空间内执行处理。
打印文档存储部分220和打印文档接收部分230的功能可以与前面介绍的例子中的类似(例如,见图3到图5)。在用诸如PostScript这样的页面相关的PDL描述打印文档数据的情况下,页面检测部分240执行按照从第一段打印文档数据开始的顺序依次读取各段打印文档数据的空转读取处理(仅仅执行检测页面定界符所需要的解析等而不执行绘制处理等的处理),从而检测页面。此外,页面检测部分240可以简单地生成页码,而不进行这一分析,并且可以将这些页码供应给页面指定部分242。页面指定部分242将由页面检测部分240检测到的页面分配给各个RIP模块302。
在用页面相关的PDL描述打印文档数据的情况下,在一个例子中,各个RIP模块302按照从第一个分配的打印文档数据段开始的顺序依次解析所分配的打印文档数据段,以获得分析结果,并且按照该分析结果更新RIP模块302的内部状态(例如,对用于绘制的环境和条件进行定义的变量,或者诸如所保存的字体之类的打印资源)。在这种情况下,对除了已经分配给各个RIP模块302的页面之外的页面而言,RIP模块302并不对这些页面执行绘制处理,而是仅仅对这些页面进行解析。对已经由页面指定部分242分配给RIP模块302的页面而言,RIP模块302不仅对这些页面进行这一解析,而且对这些页面进行绘制处理。注意,对于除了已经分配给RIP模块302的页面之外的页面,各个RIP模块302可以仅仅针对改变RIP模块302的内部状态的PDL命令进行解析(例如,见本发明的发明人提交的日本未审查专利申请公开第2008-015605号的第0043段)。
各个RIP模块302可以具有RIP模块302的存储器空间中的专用于该RIP模块302的第一高速缓存,不过图8中省略了该第一高速缓存。例如,即使在打印文档数据中包含高速缓存控制命令的情况下,只有RIP模块302之一中包含的专用第一高速缓存受到该高速缓存控制命令的控制,而其它RIP模块302中包含的第一高速缓存不会受到影响。
这里,当多个RIP模块302并行操作时,会存在这样的情况:某一页面的后续页面会在该某一页面得到处理之前被处理。在这种情况下,例如,如果一个RIP模块302(它是RIP模块302之一并且它要处理所述某一页面)访问了其中反映了处理所述后续页面的处理结果的高速缓存,那么就不可能正确地进行RIP处理。不过,在图8所示的例子中,因为各个RIP模块302访问的是该RIP模块302的第一高速缓存,所以这一问题不会发生。
此外,在图8所示的例子中,可以在打印数据转换设备100中提供由多个RIP模块302共享的共享高速缓存354a到354c。在图8所示的例子中,提供了共享高速缓存354a、354b和354c分别用于字体、图像和表单。不过,前面介绍的各个高速缓存的分开管理并非是必须的。当相对于各个RIP模块302中包含的第一高速缓存进行识别时,共享高速缓存354a到354c是第二(第二级)高速缓存。
共享高速缓存354a到354c是由共享高速缓存管理进程352来管理的。当各个RIP模块302进行由PDL数据代表的对象到打印图像的转换时,RIP模块302检查在RIP模块302中包含的第一高速缓存中是否缓存了通过对该对象进行转换而获得的转换结果数据。当缓存了转换结果数据时,使用所缓存的转换结果数据,而不是对代表该对象的PDL数据进行转换。此外,当通过对对象进行转换获得的转换结果数据没有缓存在第一高速缓存中时,RIP模块302使用进程到进程的通信向共享高速缓存管理进程352进行有关该通过对对象进行转换获得的转换结果数据是否缓存在共享高速缓存354a到354c中的询问。然后,如果缓存了转换结果数据,那么RIP模块302获得并利用所缓存的转换结果数据。而且,当通过对对象进行转换获得的转换结果数据也没有缓存在共享高速缓存354a到354c中时,RIP模块302对对象进行转换,并且将转换结果数据缓存在第一高速缓存和共享高速缓存354a到354c中。
这里,在用PostScript描述打印文档数据的情况下,即使在执行同样的命令时,如果执行同样的命令时的RIP模块302的内部状态彼此不同,那么会生成彼此不同的图像(或者,当RIP模块302具有不适当的内部状态时,不可能进行绘制)。由此,当RIP模块302试图转换某一对象时,假设通过对对象进行转换获得的转换结果数据缓存在第一高速缓存或共享高速缓存354a到354c中。即使在这种情况下,如果当前时刻的(在RIP模块302试图转换对象时那一刻的)RIP模块302的内部状态不同于生成所缓存的转换结果数据时那一刻RIP模块302的内部状态,那么使用所缓存的转换结果数据就不能生成正确的图像。
出于这一原因,在图8所示的例子中,在进行转换结果数据在第一高速缓存和共享高速缓存354a到354c中的缓存时,将转换结果数据这样记录在第一高速缓存和共享高速缓存354a到354c中:使转换结果数据与反映了生成转换结果数据时那一刻RIP模块302的内部状态的识别信息相关联。例如,使用这样一种方法生成识别信息:获得不仅包括用于提供对对象进行绘制的指令的命令和该命令的参数,而且还包括在执行该命令时那一刻的RIP模块的内部状态的信息的散列。然后,当RIP模块302执行由PDL数据代表的对象向打印图像数据的转换时,RIP模块302可以由提供对对象进行绘制的指令的命令、该命令的参数和此刻RIP模块302的内部状态来生成识别信息,并且可以搜索第一高速缓存或共享高速缓存354a到354c来寻找与该识别信息相对应的转换结果数据。
然后,在图8所示的例子中,模式确定部分204确定从主计算机140接收到的打印文档数据是否是用包括高速缓存控制命令的PDL描述的。换句话说,模式确定部分204确定打印文档数据是用PostScript(包含高速缓存控制命令)描述的数据还是用PDF(不包含高速缓存控制命令)描述的数据。可以根据打印文档数据中包含的文件标识符或头部信息来进行该确定。然后,当确定打印文档数据是用包含高速缓存控制命令的PDL描述的数据时,RIP模块控制部分200以如图8所示的第一模式将多个RIP模块302中的每一个作为进程启动。与此相反,当确定打印文档数据是用不包含高速缓存控制命令的PDL描述的数据时,RIP模块控制部分200以例如图4中所示的第二模式将RIP模块300作为进程启动,并且启动RIP模块300中的多个页面转换处理线程312-1到312-N。如上所述,打印数据转换设备100具有在用于并行处理的各模式间切换的功能,从而打印数据转换设备100能够运用用包含高速缓存控制命令的PDL描述的打印文档数据以及用不包含高速缓存控制命令的PDL描述的打印文档数据。
在上面的各个例子中,将转换处理的各部分以页面为单位分配给页面转换处理线程312或RIP模块302。不过,用于分配的单位并不局限于以页面为单位。可以使用除了以页面为单位以外的单位,比如以带为单位。
前面的本发明示范性实施方式的介绍是为了图解说明的目的而给出的。并非想要穷举或将本发明局限于所公开的具体形式。显然,很多变型和变化对本领域技术人员而言是显而易见的。选取和介绍这些实施方式是为了最好地解释本发明的原理及其实际应用,从而使得本领域的其他技术人员能够理解本发明用于各种不同的实施方式并且具有适合于具体预期应用的各种不同变型。所意图的是,本发明的范围由所附的权利要求以及它们的等价内容来限定。

Claims (3)

1.一种打印文档转换设备,包括:
转换模块启动部件,它是使用具有多个中央处理单元的计算机提供的并且其作为进程启动用于执行转换处理的转换模块,该转换处理用于将用页面描述语言描述的并且包含多个处理单位的打印文档数据转换为位图图像格式的或中间语言格式的打印图像数据,
该转换模块包括
线程启动部分,该线程启动部分启动多个转换处理线程,所述多个转换处理线程用于将打印文档数据中包含的多个处理单位转换为位图图像格式的或中间语言格式的打印图像数据,
分配部分,该分配部分将打印文档数据中包含的多个处理单位分配给已经由线程启动部分启动了的多个转换处理线程,并且该分配部分促使所述多个转换处理线程对所述多个处理单位进行处理,以及
共享高速缓存,该共享高速缓存由所述多个转换处理线程共享,
其中,当通过将所分配的所述多个处理单位中包含的对象转换为位图图像格式或中间语言格式而已经获得的转换结果被存储在共享高速缓存中时,多个转换处理线程中的每一个获得存储在共享高速缓存中的所述转换结果,而不是通过对对象进行转换来获得转换结果,并且
其中,在对所述多个处理单位中包含的对象进行转换之前,所述多个转换处理线程中的每一个询问所述对象是否已预先被所述多个转换处理线程转换并被存储在所述共享高速缓存中。
2.按照权利要求1所述的打印文档转换设备,此外还包括:
第一模式处理部件,该第一模式处理部件启动用于将打印文档数据中包含的多个处理单位转换为位图图像格式的或中间语言格式的打印图像数据的多个转换处理进程,启动将打印文档数据中包含的多个处理单位分配给已经启动的多个转换处理进程的分配进程,启动管理由多个转换处理进程共享的第二共享高速缓存的高速缓存管理进程,并且执行第一模式处理,在该第一模式处理中,多个转换处理进程中的每一个与高速缓存管理进程进行进程到进程的通信,并且在该第一模式处理中,当通过将分配给转换处理进程的处理单位中包含的对象转换为位图图像格式或中间语言格式而获得的转换结果被存储在第二共享高速缓存中时,转换处理进程使用进程到进程的通信获得第二共享高速缓存中存储的转换结果,而不是通过对对象进行转换来获得转换结果;和
操作控制器,该操作控制器在确定了打印文档数据是用第一页面描述语言描述的时促使第一模式处理部件进行操作,并且在确定了打印文档数据是用第二页面描述语言描述的时促使转换模块启动部件进行操作。
3.一种打印文档转换方法,包括:
使用具有多个中央处理单元的计算机作为进程启动用于执行转换处理的转换模块,该转换处理用于将用页面描述语言描述的并且包含多个处理单位的打印文档数据转换为位图图像格式的或中间语言格式的打印图像数据,
该转换模块包括
启动多个转换处理线程,所述多个转换处理线程用于将打印文档数据中包含的多个处理单位转换为位图图像格式的或中间语言格式的打印图像数据,
将打印文档数据中包含的多个处理单位分配给已经启动了的多个转换处理线程,并且促使所述多个转换处理线程对所述多个处理单位进行处理,以及
与所述多个转换处理线程共享高速缓存,
其中,当通过将所分配的所述多个处理单位中包含的对象转换为位图图像格式或中间语言格式而已经获得的转换结果被存储在共享高速缓存中时,多个转换处理线程中的每一个获得存储在共享高速缓存中的所述转换结果,而不是通过对对象进行转换来获得转换结果,并且
其中,在对所述多个处理单位中包含的对象进行转换之前,所述多个转换处理线程中的每一个询问所述对象是否已预先被所述多个转换处理线程转换并被存储在所述共享高速缓存中。
CN201010536467.XA 2010-04-30 2010-11-09 打印文档转换设备和打印文档转换方法 Active CN102236531B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-104999 2010-04-30
JP2010104999A JP5663941B2 (ja) 2010-04-30 2010-04-30 印刷文書変換装置およびプログラム

Publications (2)

Publication Number Publication Date
CN102236531A CN102236531A (zh) 2011-11-09
CN102236531B true CN102236531B (zh) 2015-07-15

Family

ID=44858043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010536467.XA Active CN102236531B (zh) 2010-04-30 2010-11-09 打印文档转换设备和打印文档转换方法

Country Status (3)

Country Link
US (1) US8576435B2 (zh)
JP (1) JP5663941B2 (zh)
CN (1) CN102236531B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5691448B2 (ja) * 2010-11-30 2015-04-01 富士ゼロックス株式会社 印刷文書処理システム、キャッシュ装置、データ処理装置及びプログラム
JP5747489B2 (ja) * 2010-11-30 2015-07-15 富士ゼロックス株式会社 印刷文書処理システム、キャッシュ装置及びプログラム
JP4905746B1 (ja) * 2011-09-12 2012-03-28 富士ゼロックス株式会社 描画装置、描画処理プログラム、画像出力装置
JP4905747B1 (ja) * 2011-09-21 2012-03-28 富士ゼロックス株式会社 描画装置および描画処理プログラム、画像出力装置
JP5051327B1 (ja) * 2012-03-22 2012-10-17 富士ゼロックス株式会社 画像処理装置及びプログラム
CN103365830B (zh) * 2012-03-26 2015-07-22 腾讯科技(深圳)有限公司 一种基于微博的文档文件共享方法和装置
JP5961505B2 (ja) * 2012-09-26 2016-08-02 株式会社Screenホールディングス 変換時間予測装置、プログラムおよび変換時間予測方法
JP5344075B1 (ja) * 2012-10-11 2013-11-20 富士ゼロックス株式会社 印刷画像処理システムおよびプログラム
JP5408323B1 (ja) * 2012-10-11 2014-02-05 富士ゼロックス株式会社 印刷画像処理システムおよびプログラム
JP5288039B1 (ja) 2012-11-06 2013-09-11 富士ゼロックス株式会社 印刷画像処理システムおよびプログラム
JP6381187B2 (ja) * 2013-08-09 2018-08-29 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP6226695B2 (ja) * 2013-10-24 2017-11-08 理想科学工業株式会社 画像処理装置
AU2013276977A1 (en) * 2013-12-24 2015-07-09 Canon Kabushiki Kaisha Asynchronous group processing using z-banding
CN104972743B (zh) * 2014-04-04 2016-08-31 北大方正集团有限公司 喷墨印刷方法和装置
DE102014106762B4 (de) * 2014-05-14 2016-09-29 Océ Printing Systems GmbH & Co. KG Reduzierung des Datenvolumens von Druckressourcen
JP6330481B2 (ja) * 2014-05-26 2018-05-30 富士ゼロックス株式会社 画像処理装置、印刷情報生成装置、画像形成装置、画像形成システムおよびプログラム
JP6539022B2 (ja) * 2014-06-26 2019-07-03 キヤノン株式会社 印刷装置、処理方法及びプログラム
US10996605B2 (en) 2016-09-09 2021-05-04 Hewlett-Packard Development Company, L.P. Coordination of zones in printers
US10373029B2 (en) * 2017-07-31 2019-08-06 Kyocera Document Solutions Inc. Data processing method, data processing device that execute font processing efficiently using a plurality of cores of processor, and recording medium therefor
CN111443878B (zh) * 2020-03-26 2024-02-09 深圳市汉森软件股份有限公司 打印任务分布式处理方法、装置、设备及存储介质
CN112446373B (zh) * 2020-12-15 2023-06-06 万兴科技(湖南)有限公司 识别转换图像文件的方法、系统、计算机设备及存储介质
KR102566934B1 (ko) * 2021-09-01 2023-08-14 주식회사 한글과컴퓨터 병렬 처리 기반의 문서 포맷 변환을 수행하는 전자 장치 및 그 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1274224A (zh) * 1999-05-12 2000-11-22 深圳市华为技术有限公司 流水线式共享存储器读写方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0528038A (ja) * 1991-07-23 1993-02-05 Shikoku Nippon Denki Software Kk キヤツシユメモリ制御方式
JP3553985B2 (ja) 1991-08-06 2004-08-11 株式会社日立製作所 印刷制御方法および印刷制御装置
JP2922104B2 (ja) * 1993-12-21 1999-07-19 株式会社東芝 プリンタ制御回路
CN1155696A (zh) * 1995-12-13 1997-07-30 惠普公司 用主高速缓存器和打印机高速缓存器提高文本打印性能
JPH11259644A (ja) 1998-03-09 1999-09-24 Fuji Xerox Co Ltd 画像形成装置および画像形成方法
JP2000141771A (ja) 1998-11-09 2000-05-23 Nec Corp 印刷装置のマルチスレッド制御方法およびその制御システム
JP2000335022A (ja) 1999-05-31 2000-12-05 Toshiba Corp プリンタ制御装置
US20040199727A1 (en) * 2003-04-02 2004-10-07 Narad Charles E. Cache allocation
US7872767B2 (en) * 2003-04-04 2011-01-18 Xerox Corporation Parallel printing system
JP4738948B2 (ja) * 2005-09-13 2011-08-03 キヤノン株式会社 情報処理装置、画像処理方法、及びコンピュータプログラム
US8019947B2 (en) * 2005-10-19 2011-09-13 Intel Corporation Technique for thread communication and synchronization
JP4482525B2 (ja) * 2006-01-27 2010-06-16 京セラミタ株式会社 画像形成装置
JP4715654B2 (ja) 2006-07-03 2011-07-06 富士ゼロックス株式会社 画像データ生成装置および画像形成装置
US8228540B2 (en) * 2007-07-31 2012-07-24 Esko Ip Nv Rasterizing variable and non-variable data for printing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1274224A (zh) * 1999-05-12 2000-11-22 深圳市华为技术有限公司 流水线式共享存储器读写方法

Also Published As

Publication number Publication date
JP5663941B2 (ja) 2015-02-04
JP2011230470A (ja) 2011-11-17
CN102236531A (zh) 2011-11-09
US20110267645A1 (en) 2011-11-03
US8576435B2 (en) 2013-11-05

Similar Documents

Publication Publication Date Title
CN102236531B (zh) 打印文档转换设备和打印文档转换方法
US9304897B2 (en) Image data producing apparatus, image forming apparatus and computer readable medium
US8782371B2 (en) Systems and methods for memory management for rasterization
US8526036B2 (en) Systems and methods for print resource management
US8625133B2 (en) Print data processing apparatus, print data processing method, and storage medium
US8503019B2 (en) Print document conversion apparatus and computer readable medium
US8223353B2 (en) Multiple processor print driver
JP2009146251A (ja) 画像処理装置および画像形成システムとプログラム
JP5051327B1 (ja) 画像処理装置及びプログラム
US8705095B2 (en) Print control apparatus, printing system, and computer readable medium storing program for utilizing plural interpreters for parallel processing of print jobs
US8537396B2 (en) Print document conversion apparatus, print document conversion method, and computer readable medium
US8792124B2 (en) Print control apparatus, image forming system, and non-transitory computer readable medium
CN103809922A (zh) 图像形成系统
US8760707B2 (en) Print data processing apparatus, cache processing method, and storage medium
US20110181912A1 (en) Rendering system, method for optimizing data, and storage medium
US20100253972A1 (en) Printing device and method for parallel processing of data
US8928914B2 (en) Image processing apparatus, information processing method, and storage medium
US8526052B2 (en) Print data processing apparatus, control method for print data processing apparatus, and storage medium
US7710602B2 (en) Systems and methods for context-based adaptive image processing using segmentation

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Tokyo

Patentee after: Fuji film business innovation Co.,Ltd.

Address before: Tokyo

Patentee before: Fuji Xerox Co.,Ltd.