JP2006155308A - Image forming apparatus - Google Patents

Image forming apparatus Download PDF

Info

Publication number
JP2006155308A
JP2006155308A JP2004346096A JP2004346096A JP2006155308A JP 2006155308 A JP2006155308 A JP 2006155308A JP 2004346096 A JP2004346096 A JP 2004346096A JP 2004346096 A JP2004346096 A JP 2004346096A JP 2006155308 A JP2006155308 A JP 2006155308A
Authority
JP
Japan
Prior art keywords
page
processing
rip
parallel
image
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.)
Withdrawn
Application number
JP2004346096A
Other languages
Japanese (ja)
Inventor
Hiroshi Matsuda
弘志 松田
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
Priority to JP2004346096A priority Critical patent/JP2006155308A/en
Publication of JP2006155308A publication Critical patent/JP2006155308A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve the total throughput by performing an efficient parallel processing scheduling based on an engine speed. <P>SOLUTION: An RIP processing speed is saved so that excessively high-speed parallel processing causes exhaustion of storages, and RIP processing of a heavy page is performed in first. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、マルチプロセッサシステムを用いて並列レンダリング処理を実行する画像形成装置及び画像形成方法ならびに画像形成方法を実行するプログラムに関するものである。   The present invention relates to an image forming apparatus, an image forming method, and a program for executing an image forming method that execute parallel rendering processing using a multiprocessor system.

ページ記述言語(PDL: Page Description Language)で記述されたデータをネットワーク等の通信媒体を介して受信し、ページ記述を解釈し画像を形成するRIP処理を行い、電子写真等のプリントエンジンを用いて印字出力するページプリンタが広く知られている。ページ記述データは元電子文書からアプリケーションとオペレーティングシステム、ドライバの連携により生成されるものであるが、一般に元電子文書の複雑度に応じて生成されるページ記述データのデータサイズと複雑度が大きくなる傾向がある。従って、プリンタにおけるページ記述の解釈にかかる時間(RIP時間)はデータによりまちまちで、プリンタエンジンの速度に間に合うようにRIP処理が終わらない場合があり、RIP処理がプリント性能を語る上で大きなウェイトを占める。このRIP処理を高速化する為の手法として、マルチプロセッサを用いた並列処理やネットワーク上の他のノード(CPU)を利用したネットワーク分散処理が広く知られている。   Receives data described in Page Description Language (PDL) via a communication medium such as a network, interprets the page description, performs RIP processing to form an image, and uses a print engine such as electrophotography Page printers that print out are widely known. The page description data is generated from the original electronic document by the cooperation of the application, the operating system, and the driver. Generally, the data size and complexity of the page description data generated according to the complexity of the original electronic document increases. Tend. Therefore, the time (RIP time) required for interpreting the page description in the printer varies depending on the data, and the RIP process may not finish in time for the speed of the printer engine. Occupy. As methods for speeding up the RIP processing, parallel processing using a multiprocessor and network distributed processing using other nodes (CPUs) on the network are widely known.

又、別の従来例としては、特許文献1をあげることが出来る。
特開2004−279445号公報
As another conventional example, Patent Document 1 can be cited.
JP 2004-279445 A

しかしながら、プリントエンジン速度は一定値が限界であり、RIPを速く行い過ぎてもRIP済み画像をHDD等の低速大容量記憶媒体に退避させる必要があり、やがて低速大容量記憶媒体も一杯となりRIP処理が中断されるため効率が良いとは言えない。また、複雑で処理が重たいページのRIPでは並列処理を持ってしても、エンジン速度に間に合うRIPが難しく、出力速度の低下につながる。   However, the print engine speed is limited to a certain value, and even if RIP is performed too fast, it is necessary to save the RIP-finished image to a low-speed large-capacity storage medium such as an HDD. Is not efficient because it is interrupted. In addition, even if the RIP of a complicated and heavy page has parallel processing, it is difficult to RIP in time for the engine speed, leading to a decrease in output speed.

上述した課題を解決するために、本発明では、プリンタドライバはPDLデータの生成と同時に各ページのRIP時間予測を行いプリントデータ中に埋め込むRIP時間予測手段を持ち、プリンタはPDLの解釈を複数のプロセッサで並列に行い複数の画像を生成する並列RIP手段と、各ページの処理時間予測値が含まれるPDLデータを受信して各ページの処理時間予測値を抽出する抽出手段と、処理時間予測値を基にエンジン速度に間に合わせる為に必要な並列処理数を決定する並列度決定手段と、処理待ちのページの中から並列RIP手段によっても画像生成がエンジン速度に間に合わないページを検索する検索手段と、前記並列度決定手段に従い並列RIPを行いつつ未使用のプロセッサがある場合に前記検索手段により選んだページのRIP処理を同時に行うスケジューリング手段を有することを特徴とする。   In order to solve the above-described problems, in the present invention, the printer driver has RIP time prediction means for predicting the RIP time of each page simultaneously with the generation of PDL data and embedding it in the print data, and the printer interprets a plurality of PDL interpretations. Parallel RIP means for generating a plurality of images in parallel by a processor, extraction means for receiving PDL data including predicted processing time values for each page and extracting predicted processing time values for each page, and predicted processing time values Parallel degree determination means that determines the number of parallel processes necessary to keep up with the engine speed based on the search, and search means that searches the page that does not meet the engine speed even by parallel RIP means among the pages waiting for processing In addition, when there is an unused processor while performing parallel RIP according to the parallel degree determination means, a schedule for simultaneously performing RIP processing of the page selected by the search means Characterized in that it has a ring means.

本発明によって、並列処理が速すぎる為にストレージの枯渇を招かないようにRIP処理速度をセーブし、重たいページのRIP処理を先に行うことにより、エンジン速度に基づいた効率の良い並列処理スケジューリングを行い、トータルスループットを向上させることができる。   The present invention saves RIP processing speed so as not to run out of storage because parallel processing is too fast, and by performing RIP processing of heavy pages first, efficient parallel processing scheduling based on engine speed is performed. The total throughput can be improved.

(実施例1)
以下、本発明にかかる一実施形態について、図面を参照して詳細に説明する。
Example 1
Hereinafter, an embodiment according to the present invention will be described in detail with reference to the drawings.

図1は、本発明の実施例を示す画像形成装置システムの全体の構成を説明するブロック図である。本画像形成装置200は、画像入力デバイスであるスキャナ部2070、画像出力デバイスであるプリンタ部2095、Controller Unit 2000、ユーザインターフェースである操作部2012から構成される。スキャナ部2070、プリンタ部2095、操作部2012は、それぞれController Unit 2000に接続され、Controller Unit 2000は、LAN 2011などのネットワーク伝送手段に接続されている。また、LAN 2011には、画像形成装置200と同様の機器構成をもつ他の画像形成装置220、230が接続されている。画像形成装置220、230は、それぞれスキャナ部2270、2370、プリンタ部2295、2395、操作部2212、2312を持ち、それらがController Unit 2200、2300に接続されている。   FIG. 1 is a block diagram illustrating the overall configuration of an image forming apparatus system according to an embodiment of the present invention. The image forming apparatus 200 includes a scanner unit 2070 that is an image input device, a printer unit 2095 that is an image output device, a controller unit 2000, and an operation unit 2012 that is a user interface. The scanner unit 2070, the printer unit 2095, and the operation unit 2012 are each connected to the Controller Unit 2000, and the Controller Unit 2000 is connected to a network transmission means such as LAN 2011. In addition, other image forming apparatuses 220 and 230 having the same device configuration as the image forming apparatus 200 are connected to the LAN 2011. The image forming apparatuses 220 and 230 have scanner units 2270 and 2370, printer units 2295 and 2395, and operation units 2212 and 2312, which are connected to the Controller Units 2200 and 2300, respectively.

図2は、本発明の実施例を示す画像形成装置のソフトウェアブロック図である。1501はUI即ちユーザインターフェイスを司るものであり、オペレータが本画像形成装置の各種操作・設定を行う際、機器との仲介を行うモジュールである。本モジュールは、オペレータの操作に従い、後述の各種モジュールに入力情報を転送し処理の依頼、或いはデータの設定等を行う。1502はAddress-Book即ちデータの送付先、通信先等を管理するデータベースモジュールである。Address-Bookの内容は、UI 1501からの操作によりデータの追加、削除、取得が行われ、オペレータの操作により後述の各モジュールにデータの送付・通信先情報を与えるものとして使用されるものである。1504はUniversal-Send即ち、データの配信を司るモジュールであり、UI 1501によりオペレータに指示されたデータを、同様に指示された通信(出力)先に配布するものである。また、オペレータにより、本機器のスキャナ機能を使用し配布データの生成が指示された場合は、後述のControl-API 1519を介して機器を動作させ、データの生成を行う。1505はUniversal-Send 1504内で出力先にプリンタが指定された際に実行されるモジュールである。1506はUniversal-Send 1504内で通信先にE-mailアドレスが指定された際に実行されるモジュールである。1507はUniversal-Send 1504内で出力先にデータベースが指定された際に実行されるモジュールである。1508はUniversal-Send 1504内で出力先に本機器と同様の画像形成装置が指定された際に実行されるモジュールである。1509はPDLモジュールであり、本画像形成装置の外部から送信されたPDL(Page Description Language)文書を、本画像形成装置のプリント機能を使用してプリントする機能を実現する。また、1512 HTTPモジュールを使用して外部のWebサーバに格納された電子文書を取り出しプリントする機能も提供するものである。1510はCopyモジュールであり、本画像形成装置のプリンタ機能とスキャナ機能を使用し、UIの指示に基づいてCopy動作を実行するものである。1511はボックスモジュール(Box)であり、スキャン画像もしくはPDLプリント画像をHDDに格納し、格納した画像のプリンタ機能による印刷、Universal-Send機能による送信、HDDに格納した文書の削除、グルーピング(個別BOXへの格納)、BOX間移動、BOX間コピーなどの管理機能を提供する。1512は本画像形成装置がHTTPにより通信する際に使用されるモジュールであり、後述のTCP/IP1516モジュールにより前述のPDL 1509モジュールに通信を提供するものである。1513はlprモジュールであり、後述のTCP/IP 1517モジュールにより前述のUniversal-Send1504内のプリンタモジュール1505に通信を提供するものである。1514はSMTPモジュールであり、後述のTCP/IP 1517モジュールにより前述のUniversal-Send1504内のE-mailモジュール1506に通信を提供するものである。1515はSLM即ちSalutation-Managerモジュールであり、後述のTCP/IP 1517モジュールにより前述のUniversal-Send1504内のデータベースモジュール1517、DPモジュール1518に通信を提供するものである。1516はLPDモジュールであり、後述のTCP/IP 1517 モジュールにより、前述のPDL 1509 モジュールに通信を提供するものである。1517はTCP/IP通信モジュールであり、前述の各種モジュールに後述のNetwork-Driverによりネットワーク通信を提供するものである。1518はネットワークドライバであり、ネットワークに物理的に接続される部分を制御するものである。1519はControl-APIであり、Universal-Send 1504、PDL 1509、Copy 1510、Box 1511等の上位モジュールに対し、後述のJob-Manager 1520等の下位モジュールとのインターフェイスを提供するものであり、上位、及び下位のモジュール間の依存関係を軽減しそれぞれの流用性を高めるものである。1520はJob-Managerであり、前述の各種モジュールよりControl-API 1519を介して指示される処理を解釈し、後述の各モジュールに指示を与えるものである。また、本モジュールは、本画像形成装置内で実行されるハード的な処理を一元管理するものである。1521はCODEC-Managerであり、Job-Manager1520が指示する処理の中でデータの各種圧縮・伸長を管理・制御するものである。1522はFBE-Encoderであり、Job-Manager 1520、Scan-Manager 1525により実行されるスキャン処理により読み込まれたデータをFBEフォーマットにより圧縮するものである。1523はJPEG-CODECであり、Job-Manager1520、Scan-Manager1525により実行されるスキャン処理、及びPrint-Manager 1526により実行される印刷処理において、読み込まれたデータのJPEG圧縮及び印刷データのJPEG展開処理を行うものである。1524はMMR-CODECであり、Job-Manager 1520、Scan-Manager 1525により実行されるスキャン処理、及びPrint-Manager 1526により実行される印刷処理において、読み込まれたデータのMMR圧縮及び印刷データのMMR伸長処理を行うものである。1525はScan-Managerであり、Job-Manager1520が指示するスキャン処理を管理・制御するものである。1528はScanner I/Fであり、Scan-Manager 1524と本画像形成装置が内部的に接続しているスキャナ部とのI/Fを提供するものである。1526はPrint-Managerであり、Job-Manager1519が指示する印刷処理を管理・制御するものである。1529はEngine-I/Fドライバであり、Print-Manager1526と印刷部とのI/Fを提供するものである。1527はPDL Interpreterであり、Job-Manager 1520の指示により、PDLもしくは電子文書フォーマットを解釈し、PDLもしくは電子文書フォーマットの種別によらない共通の表現形式であるディスプレイリストを生成するものである。1530はRenderであり、PDL Interpreter 1527により生成されたディスプレイリストを、Print-Manager 1520の指示により、イメージプロセッサを用いてラスタイメージメモリに展開するものである。   FIG. 2 is a software block diagram of the image forming apparatus showing the embodiment of the present invention. Reference numeral 1501 denotes a UI, that is, a user interface, and is a module that mediates with the device when the operator performs various operations and settings of the image forming apparatus. This module transfers input information to various modules, which will be described later, and requests processing or sets data in accordance with the operation of the operator. Reference numeral 1502 denotes an address-book, that is, a database module that manages data transmission destinations, communication destinations, and the like. The contents of the Address-Book are used to add, delete, and acquire data by operations from the UI 1501, and to provide data sending / communication destination information to each module described later by operations by the operator. . Reference numeral 1504 denotes a universal-send, that is, a module that manages data distribution, and distributes data instructed to the operator by the UI 1501 to a communication (output) destination similarly designated. When the operator uses the scanner function of this device to instruct distribution data generation, the device is operated via the Control-API 1519 described later to generate data. A module 1505 is executed when a printer is designated as an output destination in the Universal-Send 1504. A module 1506 is executed when an e-mail address is specified as a communication destination in the Universal-Send 1504. A module 1507 is executed when a database is specified as an output destination in the Universal-Send 1504. A module 1508 is executed when an image forming apparatus similar to this apparatus is designated as an output destination in the Universal-Send 1504. A PDL module 1509 realizes a function of printing a PDL (Page Description Language) document transmitted from the outside of the image forming apparatus by using the print function of the image forming apparatus. It also provides a function to retrieve and print electronic documents stored on an external Web server using the 1512 HTTP module. A Copy module 1510 uses the printer function and the scanner function of the image forming apparatus, and executes a Copy operation based on a UI instruction. 1511 is a box module (Box) that stores scanned images or PDL print images on the HDD, prints the stored images using the printer function, transmits them using the Universal-Send function, deletes documents stored on the HDD, and groups (individual boxes) Management functions such as storage in a folder), movement between boxes, and copying between boxes. A module 1512 is used when the image forming apparatus communicates by HTTP, and provides communication to the PDL 1509 module described above by a TCP / IP 1516 module described later. Reference numeral 1513 denotes an lpr module that provides communication to the printer module 1505 in the above-mentioned Universal-Send 1504 by a TCP / IP 1517 module described later. Reference numeral 1514 denotes an SMTP module which provides communication to the E-mail module 1506 in the above-mentioned Universal-Send 1504 by a TCP / IP 1517 module described later. Reference numeral 1515 denotes an SLM, that is, a Salutation-Manager module, which provides communication to the database module 1517 and the DP module 1518 in the aforementioned Universal-Send 1504 by a TCP / IP 1517 module described later. An LPD module 1516 provides communication to the PDL 1509 module described above by a TCP / IP 1517 module described later. Reference numeral 1517 denotes a TCP / IP communication module, which provides network communication to the various modules described above using a network driver described later. A network driver 1518 controls a portion physically connected to the network. 1519 is a Control-API, which provides an interface with lower modules such as Job-Manager 1520 described later for higher modules such as Universal-Send 1504, PDL 1509, Copy 1510, and Box 1511. In addition, the dependency between the lower modules and the lower modules is reduced, and each diversion is enhanced. Reference numeral 1520 denotes a Job-Manager that interprets processing instructed from the various modules described above via the Control-API 1519 and gives instructions to each module described later. Further, this module centrally manages hardware processing executed in the image forming apparatus. Reference numeral 1521 denotes a CODEC-Manager that manages and controls various types of data compression / decompression in the process instructed by the Job-Manager 1520. Reference numeral 1522 denotes an FBE-Encoder, which compresses data read by a scan process executed by the Job-Manager 1520 and the Scan-Manager 1525 in the FBE format. 1523 is a JPEG-CODEC, which performs JPEG compression of read data and JPEG expansion processing of print data in scan processing executed by Job-Manager 1520 and Scan-Manager 1525 and print processing executed by Print-Manager 1526. Is what you do. 1524 is an MMR-CODEC. In the scan processing executed by the Job-Manager 1520 and the Scan-Manager 1525 and the print processing executed by the Print-Manager 1526, the MMR compression of the read data and the MMR decompression of the print data are performed. The processing is performed. Reference numeral 1525 denotes a Scan-Manager, which manages and controls scan processing instructed by the Job-Manager 1520. Reference numeral 1528 denotes a scanner I / F, which provides an I / F between the Scan-Manager 1524 and a scanner unit to which the image forming apparatus is internally connected. Reference numeral 1526 denotes a Print-Manager that manages and controls print processing instructed by the Job-Manager 1519. An engine-I / F driver 1529 provides an interface between the print manager 1526 and the printing unit. A PDL interpreter 1527 interprets the PDL or electronic document format according to an instruction from the Job-Manager 1520, and generates a display list that is a common expression format regardless of the type of the PDL or electronic document format. Reference numeral 1530 denotes a Render, which expands the display list generated by the PDL Interpreter 1527 in a raster image memory using an image processor in accordance with an instruction from the Print-Manager 1520.

図3は、画像形成装置の構成を説明するブロック図である。Controller Unit 2000は画像入力デバイスであるスキャナ2070や画像出力デバイスであるプリンタ2095と接続し、一方ではLAN2011や公衆回線(WAN)2051接続することで、画像情報やデバイス情報の入出力を行う為のコントローラである。 CPU2001はシステム全体を制御するコントローラであり、同一の機能と処理能力を有する二つのCPUから構成される。RAM2002はCPU2002が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。ROM2003はブートROMであり、システムのブートプログラムが格納されている。HDD2004はハードディスクドライブで、システムソフトウェア、画像データを格納する。操作部I/F2006は操作部(UI)2012とインターフェース部で、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部2012から本システム使用者が入力した情報を、CPU2001に伝える役割をする。Network2010はLAN2011に接続し、情報の入出力を行う。Modem2050は公衆回線2051に接続し、情報の入出力を行う。以上のデバイスがシステムバス2007上に配置される。Image Bus I/F2005はシステムバス2007と画像データを高速で転送する画像バス2008を接続し、データ構造を変換するバスブリッジである。画像バス2008は、PCIバスまたはIEEE1394で構成される。画像バス2008上には以下のデバイスが配置される。イメージプロセッサ(RIP)2060はディスプレイリストをラスタイメージに展開する。デバイスI/F部2020は、画像入出力デバイスであるスキャナ2070やプリンタ2095とコントローラ2000を接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部2080は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部 2090は、プリント出力画像データに対して、プリンタの補正、解像度変換、ハーフトーニング等を行う。画像回転部2030は画像データの回転を行う。画像圧縮部2040は、多値画像データはJPEG、2値画像画像データはJBIG、MMR、MHの圧縮伸張処理を行う。カードリーダI/F2015は、磁気カードの読み取り装置であるカードリーダ2016のインターフェース部である。   FIG. 3 is a block diagram illustrating the configuration of the image forming apparatus. The Controller Unit 2000 connects to the scanner 2070, which is an image input device, and the printer 2095, which is an image output device. On the other hand, the controller unit 2000 is connected to a LAN 2011 or a public line (WAN) 2051 to input and output image information and device information. It is a controller. The CPU 2001 is a controller that controls the entire system, and is composed of two CPUs having the same function and processing capability. A RAM 2002 is a system work memory for operating the CPU 2002, and is also an image memory for temporarily storing image data. ROM 2003 is a boot ROM, which stores a system boot program. HDD 2004 is a hard disk drive that stores system software and image data. An operation unit I / F 2006 is an operation unit (UI) 2012 and an interface unit, and outputs image data to be displayed on the operation unit 2012 to the operation unit 2012. Also, it plays a role of transmitting information input from the operation unit 2012 by the system user to the CPU 2001. Network2010 connects to LAN2011 and inputs / outputs information. A Modem 2050 is connected to the public line 2051 and inputs / outputs information. The above devices are arranged on the system bus 2007. Image Bus I / F2005 is a bus bridge that connects a system bus 2007 and an image bus 2008 that transfers image data at high speed, and converts the data structure. The image bus 2008 is configured by a PCI bus or IEEE1394. The following devices are arranged on the image bus 2008. An image processor (RIP) 2060 expands the display list into a raster image. A device I / F unit 2020 connects an image input / output device such as a scanner 2070 and a printer 2095 to the controller 2000, and performs synchronous / asynchronous conversion of image data. A scanner image processing unit 2080 corrects, processes, and edits input image data. A printer image processing unit 2090 performs printer correction, resolution conversion, halftoning, and the like on print output image data. The image rotation unit 2030 rotates image data. The image compression unit 2040 performs compression / expansion processing of JPEG for multi-valued image data and JBIG, MMR, and MH for binary image data. The card reader I / F 2015 is an interface unit of a card reader 2016 that is a magnetic card reading device.

画像形成装置外観を図4に示す。画像入力デバイスであるスキャナ部2070は、原稿となる紙上の画像を照明し、CCDラインセンサ(図示せず)を走査することで、ラスターイメージデータ2071として電気信号に変換する。原稿用紙は原稿フィーダ2072のトレイ2073にセットし、装置使用者が操作部2012から読み取り起動指示することにより、コントローラCPU2001がスキャナ2070に指示を与え(2071)、フィーダ2072は原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。画像出力デバイスであるプリンタ部2095は、ラスターイメージデータ2096を用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、コントローラCPU2001からの指示2096によって開始する。プリンタ部2095には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセット2101、2102、2103がある。また、排紙トレイ2111は印字し終わった用紙を受けるものである。   The appearance of the image forming apparatus is shown in FIG. A scanner unit 2070 serving as an image input device illuminates an image on paper as an original and scans a CCD line sensor (not shown), thereby converting the image into raster signal data 2071 into an electrical signal. The manuscript paper is set on the tray 2073 of the manuscript feeder 2072, and when the apparatus user gives an instruction to start reading from the operation unit 2012, the controller CPU2001 gives an instruction to the scanner 2070 (2071), and the feeder 2072 copies the manuscript paper one by one. Feeds and reads the original image. The printer unit 2095, which is an image output device, is a part that converts raster image data 2096 into an image on paper. The method is an electrophotographic method using a photosensitive drum or a photosensitive belt, and ink is ejected from a micro nozzle array. In addition, there is an ink jet method for printing an image directly on a sheet, but any method may be used. The start of the printing operation is started by an instruction 2096 from the controller CPU2001. The printer unit 2095 has a plurality of paper feed stages so that different paper sizes or different paper orientations can be selected, and has paper cassettes 2101, 2102, 2103 corresponding thereto. A paper discharge tray 2111 receives paper that has been printed.

操作部2012の構成を図5に示す。LCD表示部2013は、LCD上にタッチパネルシート2019が貼られており、システムの操作画面およびソフトキーを表示するとともに、表示してあるキーが押されるとその位置情報をコントローラCPU2001に伝える。スタートキー2014は原稿画像の読み取り動作を開始する時などに用いる。スタートキー2014中央部には、緑と赤の2色LED2018があり、その色によってスタートキー2014が使える状態にあるかどうかを示す。ストップキー2015は稼働中の動作を止める働きをする。IDキー2016は、使用者のユーザーIDを入力する時に用いる。リセットキー2017は操作部からの設定を初期化する時に用いる。   The configuration of the operation unit 2012 is shown in FIG. The LCD display unit 2013 has a touch panel sheet 2019 pasted on the LCD, displays a system operation screen and soft keys, and transmits the position information to the controller CPU 2001 when the displayed keys are pressed. A start key 2014 is used when starting a document image reading operation. In the center of the start key 2014, there is a green and red two-color LED 2018, which indicates whether or not the start key 2014 can be used. The stop key 2015 works to stop the running operation. The ID key 2016 is used when inputting the user ID of the user. A reset key 2017 is used when initializing settings from the operation unit.

図6は画像形成装置の操作部の構成を説明するブロック図である。画像形成装置において、2001は制御CPUで、2003のプログラム用ROMと2004HDDに記憶された制御プログラム等に基づいてシステムバス2007に接続される各種デバイスとのアクセスを総括的に制御し、画像入力部インタフェース2071を介して接続されるスキャナ2070から入力情報を読み込み、印刷部インタフェース2096を介して接続される印刷部2095に出力情報としての画像信号を出力する。2002は2001のCPUの主メモリ、ワークエリア等として機能するRAMである。2019のタッチパネル、2014〜2017のハードキーから、ユーザ入力を受け取り操作入力部I/F20061を介して、操作内容を取得する。取得した操作内容と前述の制御プログラムにもとづいて、CPU2001において表示画面データが生成され、画面出力デバイスを制御する出力デバイスコントローラ20062を介して、LCDやCRTなどの画面出力デバイス2013に表示画面を出力する。   FIG. 6 is a block diagram illustrating the configuration of the operation unit of the image forming apparatus. In the image forming apparatus, reference numeral 2001 denotes a control CPU, which comprehensively controls access to various devices connected to the system bus 2007 based on a control program stored in the 2003 program ROM and the 2004 HDD. Input information is read from the scanner 2070 connected via the interface 2071, and an image signal as output information is output to the printing unit 2095 connected via the printing unit interface 2096. 2002 is a RAM that functions as the main memory, work area, etc. of the CPU of 2001. User input is received from the touch panel in 2019 and hard keys in 2014 to 2017, and the operation content is acquired via the operation input unit I / F 20061. Based on the acquired operation content and the above-mentioned control program, display screen data is generated in the CPU 2001, and the display screen is output to the screen output device 2013 such as LCD or CRT via the output device controller 20062 that controls the screen output device. To do.

次に、図7を用いてページ記述言語の解釈し画像形成を行うRIP処理の流れに関して説明する。インタプリタ3001は図2のPDL Interpreter1527の一つで、ページ記述言語で記述されたデータを解釈し中間言語データであるディスプレイリスト3015を生成する。言語処理部3004はページ記述言語により記述されたデータを解釈し、描画オペレータに応じて文字処理部3005、グラフィックス処理部3006、イメージ処理部3007へ描画要求を出すものである。文字処理部3005は指定されたフォントから文字ビットマップを生成するものであり、グラフィックス処理部3006はベクタグラフィックス描画を制御するものであり、イメージ処理部3007はイメージデータを共通の内部データ形式に変換する処理等を行うものである。CMSエンジン3008はカラーマネージメントを行うモジュールであり、入力色を絶対色空間に変換後、プリンタエンジン固有の出力色(CMYK)を生成するものである。ページ記述言語ではDevice色空間、CIEBased色空間、特殊色空間など多様な色空間が規定されており、Device色空間で指定された入力色に関しては、RGBソースプロファイル、CMYKシミュレーションプロファイルなどの予め用意されたICCプロファイル群のうち指定されたものを用いて色変換を行う。CIEBased色空間で指定された入力色に関してはその色空間で指定された変換テーブル、変換関数、変換マトリックスに従い色変換を行う。絶対色空間からプリンタエンジン固有の色空間への変換は出力プロファイルもしくは、ページ記述言語で規定されたColor Rendering Dictionaryを用いて行う。色判定部3009はCMSエンジンの出力値であるCMYK色を調べ、現在処理中のページがカラーページかモノクロページか判定するものである。ディスプレイリストジェネレータ3010は中間言語データであるディスプレイリスト3015を生成するものである。ディスプレイリスト内には、各オブジェクトの属性フラグが含まれており、オブジェクトがグラフィックス、イメージ、文字の何れであるかが識別される。この属性フラグはレンダを経て後段の画像処理に使用される。レンダ3002はディスプレイリストを解釈し、それぞれがビット深度8×4面のCMYKビットマップ3016を生成するものであり、図3のRIP2060を使用して大半の処理が行われる。また、レンダはディスプレイリスト3015に含まれる属性フラグを元に各デバイスピクセル単位に属性を示す、オブジェクト属性マップ3017を5枚目の版として生成する。ここでオブジェクト属性マップはピクセル毎にビット深度2(グラフィックス01、イメージ10、文字11)の属性情報を持つ。画像処理プロセッサ3003は図2のPrint Manager1526により制御され、レンダ3002により生成されたCMYKビットマップ3016に対して、濃度・カラーバランス調整3011、出力ガンマ補正3012、ハーフトーニング3013などの画像処理を行うものである。ハーフトーニング3013はオブジェクト属性マップ3017を参照してオブジェクト属性毎に異なるハーフトーニングを適用するものであり、グラフィックス属性の画像領域に対しては解像度優先の高線数スクリーンを、イメージ属性の画像領域に対しては諧調優先の低解像度スクリーンを、文字属性の画像領域に対しては誤差拡散を適用する。色判定部3009でモノクロページと判定された場合には、レンダ3002で作成されたCMYKビットマップ3016のうちK版のビットマップのみが画像処理プロセッサ3003に送られ、最終出力で使用されるKビットマップ3019が生成される。また、色判定部3009でカラーページと判定された場合には、レンダ3002で生成されたCMYKビットマップ3016がそのまま画像処理プロセッサ3002に送られ、最終出力で使用されるCMYKビットマップ3018が生成される。こうして、画像処理プロセッサ3003により生成されたCMYKビットマップ3014もしくはKビットマップ3015が図2のEngine I/F1529を介してプリンタエンジンに転送され、所望のメディアに印字出力されるものである。   Next, the flow of RIP processing for interpreting the page description language and forming an image will be described with reference to FIG. The interpreter 3001 is one of the PDL Interpreter 1527 shown in FIG. 2, and interprets data described in a page description language to generate a display list 3015 that is intermediate language data. The language processing unit 3004 interprets data described in the page description language and issues a drawing request to the character processing unit 3005, the graphics processing unit 3006, and the image processing unit 3007 in accordance with the drawing operator. The character processing unit 3005 generates a character bitmap from a specified font, the graphics processing unit 3006 controls vector graphics drawing, and the image processing unit 3007 uses image data as a common internal data format. The process etc. which convert to are performed. The CMS engine 3008 is a module that performs color management, and generates an output color (CMYK) specific to the printer engine after converting the input color to an absolute color space. The page description language defines various color spaces such as Device color space, CIEBased color space, and special color space. Input colors specified in the Device color space are prepared in advance, such as RGB source profiles and CMYK simulation profiles. Color conversion is performed using the specified ICC profile group. For input colors specified in the CIEBased color space, color conversion is performed according to the conversion table, conversion function, and conversion matrix specified in the color space. Conversion from the absolute color space to the color space specific to the printer engine is performed using an output profile or a Color Rendering Dictionary defined in a page description language. A color determination unit 3009 checks the CMYK color, which is an output value of the CMS engine, and determines whether the currently processed page is a color page or a monochrome page. The display list generator 3010 generates a display list 3015 that is intermediate language data. The display list includes an attribute flag for each object, and identifies whether the object is a graphic, an image, or a character. This attribute flag is used for subsequent image processing after rendering. The renderer 3002 interprets the display list and generates CMYK bitmaps 3016 each having a bit depth of 8 × 4. Most of the processing is performed using the RIP 2060 in FIG. In addition, the renderer generates an object attribute map 3017 indicating the attribute for each device pixel unit as the fifth version based on the attribute flag included in the display list 3015. Here, the object attribute map has attribute information of bit depth 2 (graphics 01, image 10, character 11) for each pixel. The image processor 3003 is controlled by the Print Manager 1526 shown in FIG. 2, and performs image processing such as density / color balance adjustment 3011, output gamma correction 3012, and halftoning 3013 on the CMYK bitmap 3016 generated by the render 3002. It is. Halftoning 3013 refers to object attribute map 3017 and applies different halftoning for each object attribute. For graphics attributed image areas, a resolution-prioritized high-frequency screen is used, and image attributed image areas. Is applied to a low resolution screen giving priority to gradation, and error diffusion is applied to an image area having character attributes. If the color determination unit 3009 determines that the page is a monochrome page, only the K version bitmap of the CMYK bitmap 3016 created by the render 3002 is sent to the image processor 3003 and used in the final output. A map 3019 is generated. If the color determination unit 3009 determines that the page is a color page, the CMYK bitmap 3016 generated by the render 3002 is sent to the image processor 3002 as it is, and a CMYK bitmap 3018 used for final output is generated. The In this way, the CMYK bitmap 3014 or the K bitmap 3015 generated by the image processor 3003 is transferred to the printer engine via the Engine I / F 1529 in FIG. 2 and printed out on a desired medium.

次に本実施例における並列RIP処理に関して説明する。本実施例では図7のインタプリタ3001による処理のうち特に処理時間を大量に要する文字処理部とイメージ処理部とCMS処理部に関してのみ二つのCPUを用いて並列処理を行うものである。二つのCPUはハードウェア的には同等のものであるが、並列RIP処理の際には主たる制御を司るMain CPUとMain CPUからの処理依頼を受けて作業をこなすSub CPUという異なった役割が与えられる。本実施例では二つのCPUによる並列処理を示すが、CPUの数をさらに増やす場合にはSub CPUとしての役割を持つCPUが増えることになる。   Next, parallel RIP processing in the present embodiment will be described. In this embodiment, parallel processing is performed using two CPUs only for the character processing unit, the image processing unit, and the CMS processing unit that require a large amount of processing time among the processing by the interpreter 3001 in FIG. The two CPUs are equivalent in terms of hardware, but in the case of parallel RIP processing, different roles are given: the main CPU that controls the main control and the sub CPU that receives the processing requests from the main CPU and performs the work. It is done. In this embodiment, parallel processing by two CPUs is shown. However, when the number of CPUs is further increased, the number of CPUs having a role as Sub CPUs is increased.

まず、図8を用いて、文字処理部における並列処理シーケンスについて説明する。Main 3201はMain CPU側の処理を時間軸に沿って表したもので、Sub 3202はSub CPU側の処理を時間軸に沿って表したものである。本シーケンス例では文字列“ACWOLIP"の印字を取り上げる。まず、Main側でフォントセットアップ 3203を行い、次に3204で先頭の文字‘A’を取り出す。現在Sub側では文字スケーリング処理中では無いので、Sub 側で文字‘A’のスケーリング3215を行う。文字のスケーリング処理とはフォントデータ中に含まれるアウトラインデータから指定された大きさの文字ビットマップを生成する処理をさす。Main側で次の文字‘C’を取り出し3205、文字‘C’のスケーリング3206を平行して行う。文字‘C’のスケーリングが終了したら、次の文字‘W’を取り出し3207、Sub側で文字‘W’のスケーリング3216を行う。Main側では引き続き、次の文字‘O’を取り出し、文字‘O’のスケーリング3209を行う。文字‘O’のスケーリング処理が終了したら、次の文字‘L’を取り出す3210が、このときSub側では文字‘W’のスケーリングが終了していないので、文字‘L’のスケーリング3211をMain側で行う。文字‘L’のスケーリングが終了したら、次の文字‘I’を取り出す3212。このときには、Sub側で文字‘W’のスケーリングが終了しているので、文字‘I’のスケーリング3217はSub側で行う。Main側では、次の文字‘P’を取り出し3213、スケーリングを行う3214。文字のスケーリング処理にかかる時間は文字によって異なる為、処理要求待ち時間がSub CPU側で発生してしまう。   First, the parallel processing sequence in the character processing unit will be described with reference to FIG. Main 3201 represents processing on the Main CPU side along the time axis, and Sub 3202 represents processing on the Sub CPU side along the time axis. In this sequence example, the printing of the character string “ACWOLIP” is taken up. First, the font setup 3203 is performed on the Main side, and then the first character “A” is extracted in 3204. Since the character scaling processing is not currently being performed on the Sub side, the character ‘A’ is scaled 3215 on the Sub side. Character scaling processing refers to processing for generating a character bitmap of a specified size from outline data included in font data. On the Main side, the next character 'C' is extracted 3205 and the character 'C' scaling 3206 is performed in parallel. When the scaling of the character 'C' is completed, the next character 'W' is extracted 3207, and the character 'W' scaling 3216 is performed on the Sub side. On the Main side, the next character ‘O’ is subsequently extracted and the character ‘O’ is scaled 3209. When the scaling process of character 'O' is completed, the next character 'L' is extracted 3210, but since the scaling of character 'W' is not completed on the Sub side at this time, scaling 3211 of character 'L' is set to Main side To do. When scaling of the character ‘L’ is completed, the next character ‘I’ is extracted 3212. At this time, since the scaling of the character 'W' has been completed on the Sub side, the scaling 3217 of the character 'I' is performed on the Sub side. On the Main side, the next character 'P' is extracted 3213 and scaled 3214. Since the time required for the character scaling process varies depending on the character, the processing request waiting time occurs on the Sub CPU side.

次に、図9を用いて、イメージ処理部とCMS処理部の並列処理シーケンスについて説明する。本シーケンス例はイメージデータを一定ライン数毎にバンドとして区切ってイメージ処理を行うものであり、Main側でのイメージ処理セットアップ3301から開始する。次に第1バンドのデータを読み出し伸張3303し、第1バンドデータのCMS処理3303を行い、ディスプレイリスト生成処理3304を続けて行う。ページ記述言語ではイメージデータは通常圧縮後にASCIIテキスト化されており、その伸張処理が必要となるが、非圧縮バイナリデータの場合は伸張処理は不要である。Main側で第1バンドのデータ読み出し伸張3303が終了した時点で、Sub側で第2バンドの処理を開始し、第2バンドのデータを読み出し伸張3308、第2バンドデータのCMS処理3309を行い、ディスプレイリスト生成処理3310を続けて行う。Main側では第1バンドの処理が終了した時点で、第3バンドの処理を開始し、第3バンドのデータを読み出し伸張3305、第3バンドデータのCMS処理3306を行い、ディスプレイリスト生成処理3307を続けて行う。イメージ処理の場合はバンド毎の処理時間はほぼ一定しており、Sub側で第2バンドの処理が終了すると同時に、Main側で第3バンドの読み出し伸張処理3304が終了する為、Sub側では直ぐに第4バンドの処理を行うことができる。イメージデータのバンド化では読み出しと伸張処理が終わらないと、イメージデータ中の次のバンドの先頭位置が確定しない為、順序を保つ必要がある。また、ディスプレイリストの生成に関しても順序を保つ必要があるので、Main-Sub間の同期制御が必要になる。しかしながら、バンド毎の処理時間はほぼ一定しているので、ほぼ隙間なく並列処理を行うことが可能である。   Next, a parallel processing sequence of the image processing unit and the CMS processing unit will be described with reference to FIG. In this sequence example, image processing is performed by dividing image data into bands for each predetermined number of lines, and starts from an image processing setup 3301 on the Main side. Next, the first band data is read and decompressed 3303, the CMS processing 3303 of the first band data is performed, and the display list generation processing 3304 is continuously performed. In the page description language, image data is usually converted to ASCII text after compression, and decompression processing is necessary. However, decompression processing is not necessary for uncompressed binary data. When the first band data read and decompression 3303 ends on the Main side, the Sub band starts the second band processing, reads the second band data and performs the decompression 3308, the second band data CMS processing 3309, The display list generation process 3310 is continued. On the Main side, when the processing of the first band is completed, the processing of the third band is started, the third band data is read and decompressed 3305, the third band data CMS processing 3306 is performed, and the display list generation processing 3307 is executed. Continue. In the case of image processing, the processing time for each band is almost constant, and at the same time as the second band processing ends on the Sub side, the third band read expansion processing 3304 ends on the Main side. The fourth band can be processed. In the banding of image data, if the reading and expansion processes are not completed, the head position of the next band in the image data cannot be determined, so the order needs to be maintained. In addition, since it is necessary to maintain the order for the generation of the display list, synchronous control between Main and Sub is necessary. However, since the processing time for each band is substantially constant, parallel processing can be performed with almost no gap.

このように二つのCPUを用いてRIP処理を行うことにより、一つのCPUの場合より処理時間が短縮されるが、単純に処理時間が1/2とはならない。本実施例では前記の二つのCPUによる並列RIP処理を行うことによりRIP速度は平均して1.5倍程度になる。上記は単一ページのRIP処理を複数のプロセッサを用いて並列に行う場合であり、複数のページのRIP処理を並列に行うことも可能である。単一ページ内の並列RIP処理に関しては、ページ内のオブジェクトの上下関係を考慮する必要があり、並列度を向上させることは難しいが、複数ページの場合はそういった制限が無い為、比較的容易に並列度を上げることが可能である。本実施例においては、図7のインタプリタ3001とレンダ3002を完全に並列に実行することが可能である。   By performing RIP processing using two CPUs in this way, the processing time is shortened compared to the case of one CPU, but the processing time is not simply halved. In this embodiment, the parallel RIP processing by the two CPUs is performed, so that the RIP speed is about 1.5 times on average. The above is a case where RIP processing for a single page is performed in parallel using a plurality of processors, and RIP processing for a plurality of pages can also be performed in parallel. For parallel RIP processing in a single page, it is necessary to consider the hierarchical relationship of objects in the page, and it is difficult to improve the degree of parallelism, but in the case of multiple pages there is no such restriction, so it is relatively easy It is possible to increase the degree of parallelism. In the present embodiment, it is possible to execute the interpreter 3001 and the renderer 3002 of FIG. 7 completely in parallel.

次に本実施例における並列RIP処理のスケジューリングに関して説明する。まず、図10のようにRIP時間予測されたページ記述データを例にして、並列処理シーケンス図11を用いて説明する。図10のページ記述データは10ページデータであり、そのRIP時間予測値は0.3〜2.3の間に分布している。RIP時間予測値は1CPUでぎりぎりエンジン速度に間に合うRIP時間を1と換算して、推定された値であり。値そのものは、ホスト側のプリンタドライバでページ内のオブジェクト種別とオブジェクト数を元に決定され、ページ記述データ中にコメントして記述される。その値の読み出しは、図2のJobManager1520にて行われる。図11では、Main 3501はMain CPU側の処理を時間軸に沿って表したもので、Sub 3502はSub CPU側の処理を時間軸に沿って表したものであり、Page1〜Page10の点線はエンジン速度に間に合わせて各ページのRIP処理を行う為の制限時間を表すものである。まず、1ページ目のRIP時間予測値は0.9である為、Main側単独でRIP処理を行うが、2ページ目以降で2CPUで並列RIP処理を行っても間に合わないページとして、4ページ目を取り出しSub側で先行してRIP処理を行う((4)-1)。2CPUで1ページの並列RIP処理を行った場合、1CPUの1.5倍程の性能が出るので、RIP時間予測値が1.5以上のページをエンジン速度に間に合わないページとして取り出している。次に2ページ目はRIP時間予測値が1.4である為、Main側とSub側で並列RIP処理を行い、出力する。4ページ目の先行RIP処理はまだ終了していないが、2ページ目は並列RIP処理を行う必要がある為、処理を中断する。次に、3ページ目はRIP時間予測値が0.8である為、Main側単独でRIP処理を行うが、4ページ目の先行RIP処理がまだ途中である為、続きのRIP処理を平行してSub側で行う((4)-2)。3ページ目を出力した時点で、4ページ目のRIPはまだ終了していないが、残りのRIP処理を1CPUで行うか、2CPUで行うか決定する為に、残RIP時間予測値を計算する。4ページ目のRIP時間予測値は2.3である為、2.3 - 1.0 - 1.0 = 0.3となり、残り0.3である為、4ページ目の残りのRIP処理はMain側単独で行う。このとき、5ページ目以降で2CPUで並列RIP処理を行っても間に合わないページとして、8ページ目を取り出し先行RIP処理を行う。次に、5ページ目のRIP時間予測値は0.5である為、Main側単独でRIP処理を行う。ここで、8ページ目の残RIP時間予測値は1.9 - 1 = 0.9となり、残り0.9となり7ページ目の出力後に残りのRIP処理を行っても、エンジン速度に間に合う出力が可能である為、これ以上の先行RIP処理は行わない。また、先行RIPした画像はメモリ上に確保される為、メモリ消費量を増やさない為に、9ページ目以降の先行RIP処理はこの時点では行わない。従って、5ページ目のRIP処理がMain側単独で行われるのみで、Sub側ではRIP処理は行われない。以後、同様に、6ページ目、7ページ目と2CPUでの並列RIP処理を行い、8ページ目の残りと9ページ目の先行RIPを並列で行い、9ページ目、10ページ目はMain側単独でRIP処理を行い、全ページ出力を行う。なお、本実施例でスケジューリングの拠り所とするのは、RIP時間の予測値である為、実際にRIPを行った場合には予測が外れることも有りえる。予測が外れた場合は、エンジン速度を維持した出力がその時点で不可能となり、該当ページ以降の出力が一定時間遅れる。   Next, the scheduling of parallel RIP processing in this embodiment will be described. First, an example of page description data whose RIP time is predicted as shown in FIG. 10 will be described with reference to the parallel processing sequence diagram 11. The page description data in FIG. 10 is 10 page data, and the RIP time prediction value is distributed between 0.3 and 2.3. The estimated RIP time is an estimated value obtained by converting the RIP time in time for the engine speed to 1 with 1 CPU. The value itself is determined by the printer driver on the host side based on the object type and the number of objects in the page, and is described as a comment in the page description data. Reading of the value is performed by JobManager 1520 in FIG. In FIG. 11, Main 3501 represents processing on the Main CPU side along the time axis, Sub 3502 represents processing on the Sub CPU side along the time axis, and the dotted lines of Page 1 to Page 10 represent the engine. This represents the time limit for RIP processing of each page in time with the speed. First, because the RIP time prediction value for the first page is 0.9, the RIP process is performed on the Main side alone, but the 4th page is taken out as a page that is not in time even if parallel RIP processing is performed with 2 CPUs on the second and subsequent pages. RIP processing is performed in advance on the Sub side ((4) -1). When parallel RIP processing of 1 page is performed with 2 CPUs, the performance is about 1.5 times that of 1 CPU, so pages with a predicted RIP time of 1.5 or more are taken out as pages not in time for the engine speed. Next, since the RIP time prediction value is 1.4 on the second page, parallel RIP processing is performed on the Main side and Sub side and output. The preceding RIP processing for the fourth page has not been completed yet, but the processing is interrupted because the second page needs to perform parallel RIP processing. Next, since the RIP time prediction value for page 3 is 0.8, RIP processing is performed on the Main side alone, but the preceding RIP processing for page 4 is still in progress, so the subsequent RIP processing is executed in parallel. ((4) -2). When the 3rd page is output, the RIP for the 4th page is not finished yet, but the remaining RIP time prediction value is calculated to determine whether the remaining RIP processing is performed by 1 CPU or 2 CPUs. Since the estimated RIP time for the 4th page is 2.3, 2.3-1.0-1.0 = 0.3, and the remaining 0.3, so the remaining RIP processing for the 4th page is performed independently on the Main side. At this time, the 8th page is taken out and the preceding RIP process is performed as a page that is not in time even if the parallel RIP process is performed by 2 CPUs on and after the 5th page. Next, since the predicted RIP time on the fifth page is 0.5, RIP processing is performed on the Main side alone. Here, the estimated remaining RIP time on the 8th page is 1.9-1 = 0.9, and the remaining 0.9. Even if the remaining RIP processing is performed after the 7th page is output, it is possible to output in time for the engine speed. The preceding RIP process is not performed. In addition, since the pre-RIP image is secured in the memory, the pre-RIP processing for the ninth and subsequent pages is not performed at this point in order not to increase the memory consumption. Therefore, the RIP process for the fifth page is only performed on the Main side alone, and the RIP process is not performed on the Sub side. Thereafter, the 6th page, 7th page and 2 CPUs will be processed in parallel, and the rest of the 8th page and the 9th page will be processed in parallel. Execute RIP processing and output all pages. Note that the base of scheduling in this embodiment is a predicted value of RIP time, and therefore, when RIP is actually performed, the prediction may be lost. If the prediction is not correct, the output maintaining the engine speed is not possible at that time, and the output after the corresponding page is delayed for a certain time.

次に本並列処理シーケンスを実行する為のフローチャートを図12を用いて説明する。なお、本フローチャートを実装したプログラムは図2のJob Manager 1520によって実行されるものである。まずS3601が開始して、S3602でRIP時間予測値の読込等の初期化処理を行い、S3603へ進む。S3603では、現在のページのRIP処理が1CPUで間に合うかどうか判定して、YesならS3604へ、NoならS3605へ進む。当該ページのRIP時間予測値が1.0を超える場合には、1CPUではRIP処理がエンジン速度に間に合わないと判定される。S3605では現在ページを2CPUで並列RIP処理を行い、S3608へ進み現在ページをエンジン出力する。S3604では先行RIPすべきページがあるかどうか調べ、YesであればS3607へ進み、NoであればS3606へすすむ。次ページ以降でRIP時間予測値が1.5を超える最初のページを先行RIPすべきページと判定する。既に先行RIPが以前ページ処理中に行われている場合は、当該先行RIPの残RIP時間予測値が1.0を超えている場合には、引き続き先行RIPすべきページと判断されるが、1.0を下回る場合は、先行RIPすべきページとは判定されない。また、既に先行RIP済みのページがあり、当該ページの出力が行われていない場合は、先行RIPすべきページは無いと判定される。S3606では現在ページをMain CPU単独でRIP処理を行い、S3608へ進み現在ページをエンジン出力する。S3607では現在ページをMain CPUで先行RIPすべきページをSub CPUで並列RIP処理を行い、S3608へ進み現在ページをエンジン出力する。S3608で現在ページをエンジン出力したら、S3609へ進み終了判定を行う。全ページ出力終了していれば、S3610へ進み終了し、残りのページがあればS3603へ戻り、残りのページの処理を行う。なお、本フローチャートに基づくプログラムは主にMain CPUで実行され、並列RIP処理のみがSub CPUを用いて行われる。   Next, a flowchart for executing this parallel processing sequence will be described with reference to FIG. A program in which this flowchart is implemented is executed by the Job Manager 1520 in FIG. First, S3601 is started, initialization processing such as reading of a predicted RIP time is performed in S3602, and the process proceeds to S3603. In S3603, it is determined whether the RIP processing of the current page is in time with one CPU. If Yes, the process proceeds to S3604, and if No, the process proceeds to S3605. When the predicted RIP time value of the page exceeds 1.0, it is determined that one CPU does not make the RIP process in time for the engine speed. In S3605, the current page is subjected to parallel RIP processing with two CPUs, and the process proceeds to S3608 to output the current page to the engine. In S3604, it is checked whether there is a page to be preceded RIP. If Yes, the process proceeds to S3607, and if No, the process proceeds to S3606. After the next page, the first page whose RIP time prediction value exceeds 1.5 is determined as the page to be preceded RIP. When the preceding RIP has already been performed during the previous page processing, if the estimated remaining RIP time of the preceding RIP exceeds 1.0, it is determined that the page should continue to be the preceding RIP, but below 1.0 In such a case, the page is not determined to be the preceding RIP. Further, when there is a page that has already been subjected to the preceding RIP and the page has not been output, it is determined that there is no page that should be the preceding RIP. In S3606, RIP processing is performed on the current page by the Main CPU alone, the process proceeds to S3608, and the current page is output to the engine. In S3607, the current page is to be pre-RIPed by the main CPU, the sub CPU performs parallel RIP processing on the sub CPU, and the process proceeds to S3608 to output the current page to the engine. If the current page is output to the engine in S3608, the process proceeds to S3609 to determine whether to end. If all pages have been output, the process proceeds to S3610 and ends. If there are remaining pages, the process returns to S3603 to process the remaining pages. The program based on this flowchart is mainly executed by the Main CPU, and only parallel RIP processing is performed by using the Sub CPU.

なお、本発明は、プリンタを含む複数の機器(例えばホストコンピュータ、インタフェース機器、スキャナ、プリンタなど)から構成されるシステムに適用しても、プリンタ単体装置に適用してもよい。   The present invention may be applied to a system constituted by a plurality of devices including a printer (for example, a host computer, an interface device, a scanner, a printer, etc.) or to a single printer device.

また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Another object of the present invention is to supply a storage medium (or recording medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (or CPU or CPU) of the system or apparatus. The program code itself stored in the storage medium realizes the function of the above-described embodiment, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.

さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, after the program code read from the storage medium is written in a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

画像形成システムの全体構成を示す図。1 is a diagram illustrating an overall configuration of an image forming system. 画像形成装置のソフトウェアブロック図。FIG. 3 is a software block diagram of the image forming apparatus. 画像形成装置のコントローラユニット内構成を示す図。FIG. 3 is a diagram illustrating a configuration inside a controller unit of the image forming apparatus. 画像形成装置の入出力デバイス外観図。1 is an external view of an input / output device of an image forming apparatus. 画像形成装置の操作部外観図。FIG. 3 is an external view of an operation unit of the image forming apparatus. 画像形成装置の操作部の構成を説明するブロック図。2 is a block diagram illustrating a configuration of an operation unit of the image forming apparatus. FIG. 本発明の一実施形態のデータフロー概略図。1 is a data flow schematic diagram of one embodiment of the present invention. FIG. 文字処理部における並列処理シーケンスについての説明図。Explanatory drawing about the parallel processing sequence in a character processing part. イメージ処理部とCMS処理部の並列処理シーケンスについての説明図。Explanatory drawing about the parallel processing sequence of an image process part and a CMS process part. RIP時間予測されたページ記述データの例。Example of page description data with predicted RIP time. 並列処理シーケンス図。Parallel processing sequence diagram. 並列処理シーケンスを実行する為のフローチャート。The flowchart for performing a parallel processing sequence.

符号の説明Explanation of symbols

3001 インタプリタ
3002 レンダ
3003 画像処理プロセッサ
3004 言語処理部
3005 文字処理部
3006 グラフィックス処理部
3007 イメージ処理部
3008 CMSエンジン
3009 色判定部
3010 ディスプレイリストジェネレータ
3011 濃度・カラーバランス調整部
3012 出力ガンマ補正部
3013 ハーフトーニング部
3014 ページ記述データ
3015 ディスプレイリスト
3016 CMYKビットマップ
3017 オブジェクト属性マップ
3001 interpreter
3002 render
3003 Image processor
3004 Language processor
3005 Character processing part
3006 Graphics processing unit
3007 Image processing unit
3008 CMS engine
3009 Color judgment part
3010 Display list generator
3011 Density / Color balance adjustment section
3012 Output gamma correction unit
3013 Halftoning Club
3014 Page description data
3015 Display list
3016 CMYK bitmap
3017 Object attribute map

Claims (2)

ページ記述データを解釈して画像生成を行うRIP処理を複数のプロセッサを用いて並列に行う並列RIP手段と、各ページの処理時間予測値が含まれるページ記述データから各ページの処理時間予測値を抽出する抽出手段と、前記処理時間予測値を基にエンジン速度に間に合わせる為に必要な並列処理数を決定する並列度決定手段と、画像形成処理待ちのページの中から並列RIP手段によっても画像生成がエンジン速度に間に合わないページを検索する検索手段と、前記並列度決定手段に従い並列RIPを行いつつ未使用のプロセッサがある場合に前記検索手段により選んだページのRIP処理を同時に行うことを特徴とした画像形成装置。   Parallel RIP means that interprets page description data and generates images in parallel using multiple processors, and the processing time prediction value of each page from the page description data that includes the processing time prediction value of each page Extraction means for extracting, parallel degree determination means for determining the number of parallel processes necessary to meet the engine speed based on the predicted processing time value, and parallel RIP means from among the pages waiting for image formation processing Searching means for searching for a page whose generation is not in time for the engine speed, and simultaneously performing RIP processing of the page selected by the searching means when there is an unused processor while performing parallel RIP according to the parallelism determining means An image forming apparatus. 情報処理装置と画像形成装置が通信媒体を介して接続された画像形成システムにおいて、情報処理装置は各ページの画像形成時間予測を行う画像形成時間予測手段と、前記画像形成時間予測手段による予測値を含むページ記述データを生成するページ記述データ生成手段と、前記ページ記述データ生成手段により生成されたページ記述データを送信する送信手段とを有し、画像形成装置はページ記述データを受信する受信手段と、ページ記述データを解釈して画像生成を行うRIP処理を複数のプロセッサを用いて並列に行う並列RIP手段と、ページ記述データから各ページの処理時間予測値を抽出する抽出手段と、処理時間予測値を基にエンジン速度に間に合わせる為に必要な並列処理数を決定する並列度決定手段と、画像形成処理待ちのページの中から並列RIP手段によっても画像生成がエンジン速度に間に合わないページを検索する検索手段と、前記並列度決定手段に従い並列RIPを行いつつ未使用のプロセッサがある場合に前記検索手段により選んだページのRIP処理を同時に行うことを特徴とする。   In an image forming system in which an information processing apparatus and an image forming apparatus are connected via a communication medium, the information processing apparatus predicts an image forming time for each page, and a predicted value by the image forming time predicting means Including: page description data generating means for generating page description data, and transmitting means for transmitting the page description data generated by the page description data generating means. The image forming apparatus receives the page description data. Parallel RIP means that performs image generation by interpreting page description data using a plurality of processors, extraction means that extracts predicted processing time values for each page from page description data, and processing time Parallel degree determination means for determining the number of parallel processes necessary to meet the engine speed based on the predicted value, and a page waiting for image formation processing Search means for searching for a page whose image generation is not in time for the engine speed even by parallel RIP means, and a page selected by the search means when there is an unused processor while performing parallel RIP according to the parallel degree determination means RIP processing is performed simultaneously.
JP2004346096A 2004-11-30 2004-11-30 Image forming apparatus Withdrawn JP2006155308A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004346096A JP2006155308A (en) 2004-11-30 2004-11-30 Image forming apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004346096A JP2006155308A (en) 2004-11-30 2004-11-30 Image forming apparatus

Publications (1)

Publication Number Publication Date
JP2006155308A true JP2006155308A (en) 2006-06-15

Family

ID=36633526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004346096A Withdrawn JP2006155308A (en) 2004-11-30 2004-11-30 Image forming apparatus

Country Status (1)

Country Link
JP (1) JP2006155308A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015605A (en) * 2006-07-03 2008-01-24 Fuji Xerox Co Ltd Image data creating device and image forming apparatus
JP2008293313A (en) * 2007-05-25 2008-12-04 Fuji Xerox Co Ltd Printing-controlling device and image-forming system
JP2011076043A (en) * 2009-10-02 2011-04-14 Ricoh Co Ltd Image forming apparatus, and control method and control program for the same
JP2011148242A (en) * 2010-01-25 2011-08-04 Konica Minolta Business Technologies Inc Image forming apparatus, and program
JP2011183757A (en) * 2010-03-11 2011-09-22 Konica Minolta Business Technologies Inc Image processor, image processing method, and program
JP2013052568A (en) * 2011-09-02 2013-03-21 Ricoh Co Ltd Image forming apparatus, control method and control program
US8773673B2 (en) 2010-03-25 2014-07-08 Fuji Xerox Co., Ltd. Image forming apparatus, image forming method, and computer readable medium storing program
US20150356385A1 (en) * 2014-06-06 2015-12-10 Canon Kabushiki Kaisha Processing apparatus and processing method for processing print jobs
JP2017121756A (en) * 2016-01-07 2017-07-13 京セラドキュメントソリューションズ株式会社 Image formation apparatus
US9785388B2 (en) 2014-11-18 2017-10-10 Canon Kabushiki Kaisha Image processing apparatus, including load deciding, and image processing method

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8508752B2 (en) 2006-07-03 2013-08-13 Fuji Xerox Co., Ltd. Image data producing apparatus, image forming apparatus and computer readable medium
JP4715654B2 (en) * 2006-07-03 2011-07-06 富士ゼロックス株式会社 Image data generating apparatus and image forming apparatus
JP2008015605A (en) * 2006-07-03 2008-01-24 Fuji Xerox Co Ltd Image data creating device and image forming apparatus
US9304897B2 (en) 2006-07-03 2016-04-05 Fuji Xerox Co., Ltd. Image data producing apparatus, image forming apparatus and computer readable medium
US8054474B2 (en) 2006-07-03 2011-11-08 Fuji Xerox Co., Ltd. Image data producing apparatus, image forming apparatus and computer readable medium
JP2008293313A (en) * 2007-05-25 2008-12-04 Fuji Xerox Co Ltd Printing-controlling device and image-forming system
JP2011076043A (en) * 2009-10-02 2011-04-14 Ricoh Co Ltd Image forming apparatus, and control method and control program for the same
JP2011148242A (en) * 2010-01-25 2011-08-04 Konica Minolta Business Technologies Inc Image forming apparatus, and program
US8665458B2 (en) 2010-01-25 2014-03-04 Konica Minolta Business Technologies, Inc. Image forming apparatus including a control unit that generates print data by carrying out a rasterizing process based on a display list, and computer readable recording medium
US8675212B2 (en) 2010-03-11 2014-03-18 Konica Minolta Business Technologies, Ltd. Image processing apparatus, image processing method, and recording medium
JP2011183757A (en) * 2010-03-11 2011-09-22 Konica Minolta Business Technologies Inc Image processor, image processing method, and program
US8773673B2 (en) 2010-03-25 2014-07-08 Fuji Xerox Co., Ltd. Image forming apparatus, image forming method, and computer readable medium storing program
JP2013052568A (en) * 2011-09-02 2013-03-21 Ricoh Co Ltd Image forming apparatus, control method and control program
US20150356385A1 (en) * 2014-06-06 2015-12-10 Canon Kabushiki Kaisha Processing apparatus and processing method for processing print jobs
US9324011B2 (en) * 2014-06-06 2016-04-26 Canon Kabushiki Kaisha Processing apparatus and processing method for processing print jobs
US9785388B2 (en) 2014-11-18 2017-10-10 Canon Kabushiki Kaisha Image processing apparatus, including load deciding, and image processing method
JP2017121756A (en) * 2016-01-07 2017-07-13 京セラドキュメントソリューションズ株式会社 Image formation apparatus

Similar Documents

Publication Publication Date Title
US8233164B2 (en) Rendering apparatus, rendering method, and computer-readable storage medium
JP4390287B2 (en) Printing system, printing apparatus and control method thereof
US20070086050A1 (en) Information processing apparatus, image processing method, and machine-readable medium
US8384936B2 (en) System which performs resolution-dependent vectorization of print data
JP5043715B2 (en) Image processing device
JP2003216361A (en) Printing system and printing device
JP4928373B2 (en) Image processing apparatus, image processing method, and image processing program
US8185504B2 (en) Image processing apparatus and image processing method
US8339664B2 (en) Image processing method, image processing apparatus, and control method thereof
JP2010028205A (en) Image processor, image processing method, its program,and storage medium
US8717584B2 (en) Image processing apparatus and control method thereof
US8259330B2 (en) Output efficiency of printer forming image by interpreting PDL and performing output by using print engine
JP2006155308A (en) Image forming apparatus
JP3962606B2 (en) Printing command generation apparatus and method, printing apparatus and control method thereof, information processing apparatus, and printing system
JP2006051609A (en) Image processor and image processing method
JP2008118447A (en) Image forming apparatus, image forming method, and its program
JP4323742B2 (en) Image processing apparatus, image processing apparatus control method, and program
JP2007073005A (en) Page description language data interpretation device
US8179560B2 (en) Image processing apparatus and image processing method
JP4424718B2 (en) Image output apparatus, control method therefor, computer program, and image output system
JP5038272B2 (en) Image processing apparatus, image processing method, and program
JP6528983B2 (en) Image forming apparatus, fixing temperature control method, and fixing temperature control program
JP2006150891A (en) Image formation system
JP2003337682A (en) Image processing device and image processing system
JP4757329B2 (en) Image output device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080205