JP5482528B2 - 印刷文書変換装置及びプログラム - Google Patents

印刷文書変換装置及びプログラム Download PDF

Info

Publication number
JP5482528B2
JP5482528B2 JP2010159616A JP2010159616A JP5482528B2 JP 5482528 B2 JP5482528 B2 JP 5482528B2 JP 2010159616 A JP2010159616 A JP 2010159616A JP 2010159616 A JP2010159616 A JP 2010159616A JP 5482528 B2 JP5482528 B2 JP 5482528B2
Authority
JP
Japan
Prior art keywords
image processing
software conversion
rip
page
software
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.)
Expired - Fee Related
Application number
JP2010159616A
Other languages
English (en)
Other versions
JP2012022502A (ja
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
Fujifilm Business Innovation Corp
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, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2010159616A priority Critical patent/JP5482528B2/ja
Priority to US13/023,752 priority patent/US8503019B2/en
Priority to CN201110056490.3A priority patent/CN102336071B/zh
Publication of JP2012022502A publication Critical patent/JP2012022502A/ja
Application granted granted Critical
Publication of JP5482528B2 publication Critical patent/JP5482528B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1279Controller construction, e.g. aspects of the interface hardware

Landscapes

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

Description

本発明は、印刷文書変換装置及びプログラムに関する。
PostScript(登録商標)やPDF( Portable Data Format: ISO 32000-1) などのページ記述言語(以下、PDLと呼ぶ。PDLはPage Description Languageの略)で記述された印刷データは、RIP( Raster Image Processor)と呼ばれる変換モジュールによりビットマップ画像(ラスター画像とも呼ばれる)に変換され、プリンタにより印刷される。変換モジュールは、PDLの解釈という言語系の処理を行う必要があるため、一般にはソフトウエアで実現されている。
しかし、RIPが行う処理の中には、ビットマップ画像オブジェクトに対する画像処理(例えば色空間変換、回転、拡大縮小)などのように、汎用コンピュータによるソフトウエア処理よりは、専用のハードウエア画像処理回路を用いた方が高速に実行できる処理もある。そこで、ソフトウエアRIPモジュールが、ハードウエア画像処理回路に対して画像処理を依頼するシステムが提案されている。
特許文献1に開示されたシステムは、印刷文書を中間言語(ディスプレイリスト)に変換するに当たり、図形描画処理をハード向けとソフト向けにそれぞれ振り分けて、ハード向け及びソフト向けの中間言語コードを生成する。そして、ハード向けコードをハードウエア回路に、ソフト向けコードをソフトウエアにそれぞれ供給して並列に処理を実行させる。
特許文献2に開示された印刷装置は、ソフトウエアによる描画を行う描画部と、ハードウエアによる描画を行う描画部と、を備え、印刷文書から作成されたディスプレイリストに従った描画処理を行う際に、描画部の負荷状況に応じて、ハードウエアによる描画を行う描画部及びソフトウエアによる描画を行う描画部のいずれによって処理を実行するかを決定する。
特開2006−007496号公報 特開2009−269179号公報
ところで、近年のプロセッサのマルチコア化により、RIPのためのソフトウエアを複数のプロセッサコアにより並列実行することで、処理の高速化を図ることも考えられる。ここで、RIPソフトウエアが並列実行される数よりもハードウエアの画像処理装置の数が少ない構成では、並列実行されているうちのあるRIPソフトウエアが画像処理装置に画像処理を依頼しても、すべての画像処理装置が既に他の依頼を処理している場合には、その依頼はすぐには処理されない。画像処理装置による処理の完了をRIPソフトウエアが待つ間、当該RIPソフトウエアを実行するプロセッサは処理を行わずに待ち状態となる。
本発明は、ソフトウエアでRIPを実行するソフトウエア変換手段がハードウエア画像処理装置に画像処理を依頼することによりソフトウエア変換手段の待ち状態が発生したとしても、ソフトウエア変換手段を実行するプロセッサの処理能力を活用すると共に、当該プロセッサに過剰な処理負荷がかかる可能性を低減できる印刷文書変換装置及びプログラムを提供することを目的とする。
請求項1に係る発明は、ページ記述言語で記述された印刷文書データをビットマップ画像形式のページ画像データに変換するためのソフトウエア変換処理を行う複数のソフトウエア変換手段であって、前記ソフトウエア変換処理のうちの特定の画像処理の実行を、前記特定の画像処理を実行するハードウエア画像処理装置に対して依頼し、この依頼に応じて前記ハードウエア画像処理装置が実行した画像処理の結果を含む前記ページ画像データを生成する複数のソフトウエア変換手段と、前記複数のソフトウエア変換手段のうち少なくとも1つが前記ハードウエア画像処理装置による前記画像処理の完了を待つ状態が生じ得る場合に、前記ソフトウエア変換処理を行う追加のソフトウエア変換手段を起動する制御手段と、を備え、前記制御手段は、前記追加のソフトウエア変換手段の数を予め設定された上限を超えないように制御する、ことを特徴とする印刷文書変換装置である。
請求項2に係る発明は、請求項1に係る発明において、前記上限より多い数の前記ソフトウエア変換手段を備える。
請求項3に係る発明は、請求項1又は2に係る発明において、前記複数のソフトウエア変換手段の数は、前記ハードウエア画像処理装置の処理能力に基づいて定められる。
請求項4に係る発明は、コンピュータを、ページ記述言語で記述された印刷文書データをビットマップ画像形式のページ画像データに変換するためのソフトウエア変換処理を行う複数のソフトウエア変換手段であって、前記ソフトウエア変換処理のうちの特定の画像処理の実行を、前記特定の画像処理を実行するハードウエア画像処理装置に対して依頼し、この依頼に応じて前記ハードウエア画像処理装置が実行した画像処理の結果を含む前記ページ画像データを生成する複数のソフトウエア変換手段、前記複数のソフトウエア変換手段のうち少なくとも1つが前記ハードウエア画像処理装置による前記画像処理の完了を待つ状態が生じ得る場合に、前記ソフトウエア変換処理を行う追加のソフトウエア変換手段を起動する制御手段であって、前記追加のソフトウエア変換手段の数を予め設定された上限を超えないように制御する制御手段、として機能させるためのプログラムである。
請求項5に係る発明は、ページ記述言語で記述された印刷文書データをビットマップ画像形式のページ画像データに変換するためのソフトウエア変換処理を行う複数のソフトウエア変換手段であって、前記ソフトウエア変換処理のうちの特定の画像処理の実行を、前記特定の画像処理を実行するハードウエア画像処理装置に対して依頼し、この依頼に応じて前記ハードウエア画像処理装置が実行した画像処理の結果を含む前記ページ画像データを生成する複数のソフトウエア変換手段と、前記複数のソフトウエア変換手段による前記ソフトウエア変換処理に必要な演算を実行する演算手段と、前記複数のソフトウエア変換手段のうち少なくとも1つが前記ハードウエア画像処理装置による前記画像処理の完了を待つ状態が生じ得る場合に、前記ソフトウエア変換処理を行う追加のソフトウエア変換手段を起動する制御手段と、を備え、前記制御手段は、さらに、前記印刷文書データ中のある単位量のデータについての前記ソフトウエア変換処理を前記複数のソフトウエア変換手段及び前記追加のソフトウエア変換手段のいずれか1つに割り当てる制御であって、前記単位量のデータを割り当てられたソフトウエア変換手段のうち、前記ハードウエア画像処理装置による前記画像処理の完了を待っている状態のソフトウエア変換手段の他のソフトウエア変換手段の数が、前記演算手段の処理能力に基づいて予め設定された上限を超えないように割り当てる制御を行う、ことを特徴とする印刷文書変換装置である。
請求項6に係る発明は、コンピュータを、ページ記述言語で記述された印刷文書データをビットマップ画像形式のページ画像データに変換するためのソフトウエア変換処理を行う複数のソフトウエア変換手段であって、前記ソフトウエア変換処理のうちの特定の画像処理の実行を、前記特定の画像処理を実行するハードウエア画像処理装置に対して依頼し、この依頼に応じて前記ハードウエア画像処理装置が実行した画像処理の結果を含む前記ページ画像データを生成する複数のソフトウエア変換手段、前記複数のソフトウエア変換手段による前記ソフトウエア変換処理に必要な演算を実行する演算手段、前記複数のソフトウエア変換手段のうち少なくとも1つが前記ハードウエア画像処理装置による前記画像処理の完了を待つ状態が生じ得る場合に、前記ソフトウエア変換処理を行う追加のソフトウエア変換手段を起動する制御手段であって、さらに、前記印刷文書データ中のある単位量のデータについての前記ソフトウエア変換処理を前記複数のソフトウエア変換手段及び前記追加のソフトウエア変換手段のいずれか1つに割り当てる制御であって、前記単位量のデータを割り当てられたソフトウエア変換手段のうち、前記ハードウエア画像処理装置による前記画像処理の完了を待っている状態のソフトウエア変換手段の他のソフトウエア変換手段の数が、前記演算手段の処理能力に基づいて予め設定された上限を超えないように割り当てる制御を行う制御手段、として機能させるためのプログラムである。
請求項1、4、5、又は6に係る発明によると、ソフトウエアでRIPを実行するソフトウエア変換手段がハードウエア画像処理装置に画像処理を依頼することによりソフトウエア変換手段の待ち状態が発生したとしても、ソフトウエア変換手段を実行するプロセッサの処理能力を活用すると共に、当該プロセッサに過剰な処理負荷がかかる可能性を低減できる。
請求項2に係る発明によると、プロセッサの処理能力に基づく上限の数のソフトウエア変換手段を備える場合よりも多くのソフトウエア変換手段により並列的にRIPを実行できる。
請求項3に係る発明によると、ハードウエア画像処理装置の処理能力に応じた数のソフトウエア変換手段により並列的にRIPを実行できる。
実施形態の装置が実装される印刷システムのハードウエア構成の一例を示す図である。 実施形態の装置が実装される印刷システムのハードウエア構成の別の一例を示す図である。 実施形態の印刷データ変換装置の一例を示す機能ブロック図である。 RIPモジュール管理情報に含まれる情報の一例を示す図である。 並列処理制御部の処理の手順の一例を示すフローチャートである。 実施形態の印刷データ変換装置の別の一例を示す機能ブロック図である。 実施形態の印刷データ変換装置のさらに別の一例を示す機能ブロック図である。
以下、図面を参照して、本発明の実施形態を説明する。各図において、互いに同一又は類似の構成要素には、同一の符号を付す。
まず、図1を参照して、実施形態の印刷データ変換装置が実装されるシステムの一例を説明する。このシステムは、印刷データ変換装置100,ホストコンピュータ140,印刷制御装置160及びプリンタエンジン170を備える。
印刷データ変換装置100は、ページ記述言語(以下、PDLと呼ぶ。PDLはPage Description Languageの頭字語)で記述された印刷文書データを、プリンタエンジン170が取扱可能なビットマップ画像等の印刷画像データに変換する装置である。ホストコンピュータ140は、LAN(ローカルエリアネットワーク)130等のネットワークを介して印刷データ変換装置100に対して印刷文書データを送り、その印刷文書データの印刷を指示する。
印刷データ変換装置100は、コントローラ110を備える。コントローラ110は、ローカルバス122を介して相互に通信可能に接続された通信制御部112及び120,マルチCPU114,ローカルメモリ116,及び二次記憶装置118を備える。通信制御部112は、LAN130を介してホストコンピュータ140とデータ通信を行う装置である。通信制御部112は、例えば、ホストコンピュータ140から印刷指示や印刷文書データを受信したり、印刷制御のための情報をホストコンピュータ140との間でやりとりしたりする。マルチCPU114は、複数のCPUコアを搭載したプロセッサパッケージである。ローカルメモリ116は、マルチCPU114の各CPUコアが例えば作業用領域として使用する一次記憶であり、例えばランダムアクセスメモリなどから構成されている。二次記憶装置118は、ハードディスク装置又はEEPROM(Electrically Erasable Programmable Read Only Memory)などの比較的大容量の不揮発性記憶装置であり、マルチCPU114が実行するプログラムや、ホストコンピュータ140から受信した印刷文書データなどを記憶する。後述するRIPモジュール210等の各種機能モジュールの処理内容を記述した制御プログラムが、例えばこの二次記憶装置118に記憶され、マルチCPU114により実行される。制御プログラムのうちの一部は、マルチCPU114の複数のCPUコアにより並列実行可能となっている。マルチCPU114は、制御プログラムを実行することにより、印刷文書データを各ページの印刷画像データへと変換する。通信制御部120は、システム内ネット150と呼ぶネットワークを介して印刷制御装置160とデータ通信を行う装置である。この例では、印刷データ変換装置100と印刷制御装置160(及びプリンタエンジン170)とはシステム内ネット150を介して相互接続されることで1つの印刷システムを構成している。マルチCPU114の処理により生成された各ページの印刷画像データは、通信制御部120及びシステム内ネット150を介して印刷制御装置160に送信される。
画像処理装置125は、例えばグラフィックアクセラレータなどの、画像処理専用のハードウエア画像処理回路を備えた装置である。このハードウエア画像処理回路は、例えば、色空間変換、画像の拡大・縮小、画像の回転、ハーフトーン処理等といった各種ビットマップ画像処理のうちの1以上を実行するための回路構成を備えている。画像処理装置125は、例えばコントローラ110のローカルバス122上に設けられたスロットに、例えば増設ボードとして接続しても良い。
マルチCPU114で実行されるRIP処理プログラム(後述するRIPモジュール210)は、画像処理装置125に画像処理などを依頼し、その処理結果を受け取ってページ画像データの作成に用いることができる。ただし、後述するように、RIPモジュール210自体も、同じ画像処理をソフトウエアで実行することができる。
プリンタエンジン170は、印刷画像データが表す画像をインクやトナーなどの色材を用いて用紙に対して印刷する印刷ハードウエアである。印刷制御装置160は、プリンタエンジン170を制御する装置であり、通信制御部162,ページ制御部164及びエンジン制御部166を備える。通信制御部162は、システム内ネット150を介して印刷データ変換装置100と通信し、各ページの印刷画像データを受信したり、印刷制御のために必要な各種の制御情報をやりとりしたりする。ページ制御部164は、受信された各ページの印刷画像データを蓄積し、印刷順序に従ってエンジン制御部166に送る。エンジン制御部166は、受け取ったページの印刷画像データをプリンタエンジン170に供給する。プリンタエンジン170は、受け取った印刷画像データを用紙に印刷する。
図2に、実施形態の装置が実装されるシステムの別の例を示す。図1の例では、印刷データ変換装置100内に画像処理装置125が設けられていたのに対し、図2の例では、画像処理装置125が備えるハードウエア画像処理回路と同様の画像処理回路182を備える画像処理装置180が、印刷データ変換装置100の外に設けられている。画像処理装置180は、印刷データ変換装置100が備える通信装置127が接続されたネットワーク186に接続されており、このネットワーク186を介して印刷データ変換装置100から画像処理の依頼を受け取ったり、画像処理の結果を返したりする。ネットワーク186は、システム内ネット150(又はLAN130)と同じネットワークであってもよく、この場合、通信装置127は、通信制御部120(又は112)と同じものでもよい。また、画像処理装置180は、ネットワーク186を介した通信や、印刷データ変換装置100からの依頼の管理などを行う制御部184を備えている。
次に、図3を参照して、実施形態の印刷データ変換装置100の機能モジュール構成の一例を説明する。図3に例示する印刷データ変換装置100の機能モジュール構成は、画像処理装置220を除き、コントローラ110のマルチCPU114が制御プログラムを実行することにより実現される。
図3において、印刷文書受信部202は、ホストコンピュータ140から印刷文書データを受信する。印刷文書格納部204は、ホストコンピュータ140から受信されたPDLの印刷文書データを格納する。印刷文書データは、一例として、ページ独立のPDL(例えばPDF)で記述されたデータであってもよい(ただし、これに限らない)。ページ独立とは、ページの印刷画像データを記述する情報が当該ページについてのPDLデータのみで表されており、他のページについてのPDLデータに依存しないことをいう。印刷文書格納部204には、複数の印刷文書データを、例えばその印刷順序の情報と共に格納してもよい。印刷文書選択部206は、印刷文書格納部204に格納された印刷文書データの中から、印刷処理の対象とするものを選択する。例えば、印刷順序の情報に従って、実行中の印刷処理が終了するごとに、次の印刷文書データを印刷対象に選択する。
並列処理制御部208は、印刷文書選択部206が選択した印刷文書データをRIPモジュール210により並列処理させる制御を行う。並列処理制御部208は、起動するRIPモジュール210の数を決定し(図3の例では、3つ)、各RIPモジュール210−1〜210−3(以下、区別する必要のない場合はRIPモジュール210と総称する)に対して、印刷文書データのうちのそれぞれ異なるページを割り当てる。ページのこの割り当ては、並列処理制御部208からRIPモジュール210に対して、例えば、割り当て対象のページ番号を通知することにより行えばよい。並列処理制御部208が行う制御の具体的な内容については後に詳述する。
RIPモジュール210は、PDLで記述された印刷文書データを解釈し、プリンタエンジン170が取扱可能なビットマップ(ラスター)画像に変換するソフトウエアモジュールである。例えば、RIPモジュール210は、割り当てられたページのPDLデータを先頭から順に解釈していく中で、フォント、イメージ、フォームなどの画像オブジェクトを描画する描画コマンドを検出すると、その描画コマンドを実行し、ローカルメモリ116上に確保された各画素の記憶領域にそのコマンドに従って画素値を書き込んでいく。また、RIPモジュール210は、そのようにして形成されたビットマップ画像に対して、PDLデータ内のコマンドや設定に応じて、色空間変換、回転、拡大・縮小、ハーフトーン処理などといった画像処理を実行する機能を有する。
各RIPモジュール210−1〜210−3は、上述のような処理内容を記述したプログラム群をマルチCPU114の各CPUコアに実行させることにより、上述の処理内容を実行する装置として実現される。RIPモジュール210−1〜210−3は、それぞれプロセス又はスレッドとしてCPUコアで実行される。典型的な例では、1つのCPUコアが1つのRIPモジュール210を実行するが、これに限らず、1つのCPUコアが複数のRIPモジュール210を実行してもよい。図3では、3つのRIPモジュール210が実行されているが、これは一例に過ぎない。印刷データ変換装置100において実行されるRIPモジュール210の数は、前述のように並列処理制御部208により決定される。
上述のように、各RIPモジュール210は、それぞれ自身で画像処理を実行することができる。しかし、その画像処理専用のハードウエアである画像処理装置220の方が通常は処理が早いので、基本動作としては、RIP処理の中で画像処理を行う必要が生じると、各RIPモジュール210は画像処理装置220に対して画像処理を依頼する。
以上で説明したように、この実施形態では、複数のRIPモジュール210により複数のページを並列的にRIP処理する。各RIPモジュール210は、1ページ分のPDLデータの変換処理を終えると、ページ画像メモリ上に形成された当該ページの印刷画像データを印刷制御装置160経由でプリンタエンジン170に供給する。
画像処理装置220は、RIPモジュール210のソフトウエア処理による画像処理と同じ画像処理をハードウエア画像処理回路にて実行する装置であり、図1に示した画像処理装置125又は図2に示した画像処理装置180に相当する。図1の例では、画像処理装置220は、RIPモジュール210のソフトウエア処理による画像処理と同様の処理を実行可能なハードウエア画像処理回路を1つだけ備えているものとする。
処理実行制御部230は、RIPモジュール210が発する画像処理装置220への画像処理の依頼を受け付け、依頼された画像処理を画像処理装置220に実行させる。また、処理実行制御部230は、画像処理装置220による画像処理が完了すると、その画像処理結果を依頼元のRIPモジュール210に渡す。
画像処理装置220はハードウエア処理を行うので、処理速度自体は、RIPモジュール210がソフトウエア処理により同じ処理を行う場合よりも速い。ただし、画像処理装置220において、あるRIPモジュール210から依頼された画像処理を実行している間に他のRIPモジュール210から画像処理の依頼を受けた場合、画像処理装置220は、先に依頼された画像処理が完了してから、後に依頼された画像処理を開始する。このため、複数のRIPモジュール210が画像処理装置220に対して画像処理を依頼したとすると、これらのRIPモジュール210のすべてが画像処理装置220による処理の完了待ち状態となる場合もある。この場合、RIPモジュール210を実行するマルチCPU114のCPUコアは、RIPモジュール210のいずれかが画像処理装置220の画像処理結果を受け取ってRIP処理を再開するまで、RIP処理を実行していない状態となる。
本実施形態の例では、並列処理制御部208において、各RIPモジュール210の処理の実行状態を監視し、マルチCPU114の処理能力から定められる上限を超えない範囲で可能な限り多くのRIPモジュール210にページを割り当ててRIP処理を並列的に実行させる。この制御により、マルチCPU114のCPUコアでRIP処理を実行していない状態が発生する可能性が低減される。並列処理制御部208の制御は、RIPモジュール管理情報232を参照して行われる。
RIPモジュール管理情報232は、並列処理制御部208による制御の判断材料となる管理情報である。RIPモジュール管理情報232は、例えば、ローカルメモリ116に格納される。RIPモジュール管理情報232は、RIPモジュール210を実行するマルチCPU114及びRIPモジュール210から画像処理を依頼される画像処理装置220の処理能力に関する情報を含む。本実施形態の例では、マルチCPU114の処理能力に関する情報として、マルチCPU114が備えるCPUコアの数を含む。また、画像処理装置220の処理能力に関する情報として、本例では、印刷データ変換装置100において利用可能な画像処理装置220に含まれる画像処理回路222の数の合計を含む。ここで、「利用可能な画像処理装置220」とは、RIPモジュール210からの依頼を受けて画像処理を実行可能な画像処理装置であれば、印刷データ変換装置100の内部に設けられていてもよいし(図1の画像処理装置125)、印刷データ変換装置100の外に設けられていてもよい(図2の画像処理装置180)。図1〜図3に示す例では、1つの画像処理装置220中の1つの画像処理回路222を印刷データ変換装置100において利用可能であるため、RIPモジュール管理情報232は、利用可能な画像処理回路222の数の合計として「1」を含む。利用可能な画像処理回路の数の合計は、例えば、印刷データ変換装置100の初期化の際に、利用可能な各画像処理装置220の画像処理回路222の数を当該画像処理装置220から取得して合計することで得られる。
RIPモジュール管理情報232は、さらに、各RIPモジュール210の処理の実行状態を表す情報を含む。この実行状態を表す情報の一例を図4に示す。図4の例の表は、各RIPモジュール210−1,210−2,210−3の番号「RIPモジュール番号」に対応づけて、当該番号のRIPモジュール210の「ページ割り当て状況」及び「画像処理装置利用状況」を表す。図4の例では、「ページ割り当て状況」の値として、対応するRIPモジュール210の割り当て済みのページの番号(「ページ1」,「ページ2」等)または対応するRIPモジュール210にページが割り当てられていないことを表す情報(「なし」等)が示される。図4の例の表は、RIPモジュール210−1に「ページ1」、RIPモジュール210−2に「ページ2」が割り当て済みであり、RIPモジュール210−3には、ページが割り当てられていないことを示す。また、「画像処理装置利用状況」は、対応するRIPモジュール210が画像処理装置220に対して依頼した画像処理の完了待ち状態であるか否かを示す。図4の例において、RIPモジュール番号「1」に対応する「画像処理装置利用状況」の値「処理完了待ち」は、RIPモジュール210−1が画像処理装置220に対して画像処理を依頼し、その処理結果を待っている状態であることを示す。また、RIPモジュール番号「2」,「3」に対応する「画像処理装置利用状況」の値「未利用」は、RIPモジュール210−2,210−3が画像処理装置220に対して現時点では画像処理を依頼していないことを示す。
本実施形態の例において、図4に例示する表の各項目の値は、並列処理制御部208及び処理実行制御部230により登録及び更新される。例えば、並列処理制御部208は、RIPモジュール210を起動すると、起動した各RIPモジュール210の番号をRIPモジュール番号としてRIPモジュール管理情報232中に登録する。このとき、各RIPモジュール番号に対応する「ページ割り当て状況」及び「画像処理装置利用状況」の初期値は、それぞれ、「なし」及び「未利用」に設定しておく。また、各RIPモジュール番号に対応する「ページ割り当て状況」には、対応するRIPモジュール210に並列処理制御部208がページを割り当てたときに、並列処理制御部208により当該ページのページ番号が設定される。当該ページのRIP処理が完了すると、並列処理制御部208は、対応するRIPモジュール番号の「ページ割り当て状況」を「なし」に戻す。さらに、各RIPモジュール番号に対応する「画像処理装置利用状況」は、処理実行制御部230がRIPモジュール210からの画像処理の依頼を受け付けると、処理実行制御部230により「処理完了待ち」に設定される。その後、画像処理装置220における画像処理が完了し、その結果を依頼元のRIPモジュール210に返すと、処理実行制御部230は、対応するRIPモジュール番号の「画像処理装置利用状況」を「未利用」に戻す。
以上で説明したようなRIPモジュール管理情報232を参照して、並列処理制御部208は、起動するRIPモジュール210の数を決定すると共に、各RIPモジュール210へのページ割り当てを制御する。例えば、並列処理制御部208は、RIPモジュール210を実行するマルチCPU114及びRIPモジュール210の依頼を受けて画像処理を実行する画像処理装置220の処理能力に基づいて、起動するRIPモジュール210の数を決定する。本実施形態の例では、並列処理制御部208は、RIPモジュール管理情報232からマルチCPU114のCPUコアの数と利用可能な画像処理装置220が備える画像処理回路222の数の合計とを取得し、これらの和を、起動するRIPモジュール210の数とする。図3は、CPUコアの数が「2」、画像処理回路222の数の合計が「1」である場合の例であり、3つのRIPモジュール210−1,210−2,210−3が起動されている。上述したように、典型的な例の印刷データ変換装置100では、1つのCPUコアが1つのRIPモジュール210を実行する。したがって、本実施形態の例のようにRIPモジュール210の数を決定すると、典型的な例の場合と比較して、画像処理回路222の数の合計分だけ追加した数のRIPモジュール210が起動されることになる。図3に示すRIPモジュール210−3は、この追加のRIPモジュール210の例である。なお、本実施形態の例において、追加のRIPモジュール210−3の機能は、他のRIPモジュール210−1,210−2と同様である。
さらに、並列処理制御部208は、RIPモジュール管理情報232に含まれる、各RIPモジュール210の処理の実行状態を表す情報(図4)を参照して、各RIPモジュール210に対し印刷文書データ中のページの割り当てを行う。本実施形態の例の並列処理制御部208は、RIP処理(ソフトウエア処理)を実行中であるRIPモジュール210の数Srunが、マルチCPU114の処理能力から定まる最大値Smaxを超えないようにページ割り当てを行う。Srunは、ページ割り当て済みであって画像処理完了待ちでないRIPモジュール210の数を数えることで求められる。図4の例の情報を参照する場合、ページ割り当て済みのRIPモジュール210の数A=2から、画像処理完了待ち状態であるRIPモジュール210の数W=1を減算することで、Srun=1(=A−W)と求められる。Smaxは、RIP処理を同時に実行することが許容されるRIPモジュール210の数の上限である。本実施形態の例では、マルチCPU114が備えるCPUコアの数をSmaxとする。このため、本実施形態の例のSmaxは、起動されるRIPモジュール210の数(CPUコアの数と画像処理回路の数の合計との和)より小さい。CPUコアの数が2つである上述の図3の例では、Smax=2である。この例において図4の情報を参照してSrun=1と求められた場合、Smax=2に対してRIP処理実行中のRIPモジュール210の数が1だけ少ない。この状態で新たなページの割り当てが必要になった場合、並列処理制御部208は、Srun<Smaxであることから、未だページ割り当てされていない1つのRIPモジュール210−3に対し、当該新たなページを割り当てる。他の具体例として、図3のRIPモジュール210−1,210−2がRIP処理実行中であり、RIPモジュール210−3にページが割り当てられていないとすると、Srun=Smax=2である。この状態で新たなページの割当が必要になっても、並列処理制御部208は、RIPモジュール210−3に当該新たなページを割り当てない。その後、時間が経過してRIPモジュール210−1,210−2の少なくとも一方が画像処理完了待ち状態になるか、あるいは、RIP処理が完了することでSrun<Smax=2となると、並列処理制御部208は、当該新たなページをRIPモジュール210−3に割り当てる。
以上、図1〜図4を参照し、実施形態の印刷データ変換装置が実装されるシステムの構成例及び並列処理制御部による制御の様子の例を説明した。なお、上述の印刷文書選択部206、並列処理制御部208、及び処理実行制御部230は、マルチCPU114内のいずれかのCPUコアにて実行される。
以下、印刷データ変換装置100の動作の例を説明する。図5は、並列処理制御部208が行う処理の手順の例を示すフローチャートである。印刷データ変換装置100の電源(図示しない)が投入されて印刷データ変換装置100が起動されると、並列処理制御部208は、図5の例の手順の処理を開始する。
まず、並列処理制御部208は、RIPモジュール管理情報232を取得し(ステップS10)、取得したRIPモジュール管理情報から定められる数のRIPモジュール210を起動する(ステップS12)。図3を参照する上述の例の場合、並列処理制御部208は、RIPモジュール管理情報232に含まれるCPUコアの数「2」及び画像処理回路222の数の合計「1」の和「3」を求め、3つのRIPモジュール210−1,210−2,210−3を起動する。
その後、並列処理制御部208は、割り当て対象のページを含む印刷文書データを選択した旨を印刷文書選択部206から通知されるまで待機する(ステップS14でNOの場合の処理ループ)。
印刷文書データの選択の通知を受けた(つまり、割り当ての対象のページが存在する)場合(ステップS14でYES)、並列処理制御部208は、RIPモジュール管理情報232を参照し、割り当てページなしのRIPモジュール210の有無を確認する(ステップS16)。
起動されたすべてのRIPモジュール210にページが割り当て済みであって、割り当てページなしのRIPモジュール210が存在しない場合(ステップS16でNO)、並列処理制御部208は、いずれかのRIPモジュール210のRIP処理が完了して割り当てページなしのRIPモジュール210が生じるまで(ステップS16でYESと判定されるまで)、ステップS16の判定を繰り返す。ステップS16の判定は、RIPモジュール管理情報232において、図4の例の表の各RIPモジュール番号に対応する「ページ割り当て状況」の値を確認することで行えばよい。
割り当てページなしのRIPモジュール210が存在すれば(ステップS16でYES)、並列処理制御部208は、RIP処理実行中のRIPモジュール210の数Srunを求める(ステップS18)。ステップS18では、例えば、図4を参照して上記で説明したように、RIPモジュール管理情報232を参照し、ページ割り当て済みのRIPモジュール210の数Aから、画像処理完了待ち状態のRIPモジュール210の数Wを減算した値をSrunとして求める。ある印刷文書データに関して最初にステップS18の処理を行う場合、ページ割り当て済みのRIPモジュールの数A及び画像処理完了待ち状態のRIPモジュール210の数Wはいずれも「0」であり、Srun=0となる。
ステップS18で求めたSrunが同時にRIP処理実行を許可される最大数Smax以上であれば(ステップS20でNO)、ステップS18に戻り、再度、現在ソフトウエア処理を実行中のRIPモジュール210の数Srunを求め、ステップS20の判定を行う。時間の経過により、RIP処理実行中のRIPモジュール210で処理が完了してSrunの値が減少し、Smaxより小さくなれば、ステップS20でYES判定される。
ステップS18で求めたSrunがSmaxよりも小さい場合(ステップS20でYES)、割り当てページなしのRIPモジュール210のうちの1つに対し1ページを割り当てる(ステップS22)。例えば、並列処理制御部208は、割り当てた1ページのページ番号を当該RIPモジュール210に対して通知する。
ステップS22の後、処理は、割り当て対象のページの有無の判定(ステップS14)に戻る。
以上、図5を参照し、並列処理制御部208によるページ割り当ての制御の手順の例を説明した。なお、ページ割り当ての基本的な方針は、特に限定されない。例えば、RIPモジュール210の番号に従って先頭ページから順に固定的に割り当ててもよいし、ページの変換処理が終了したRIPモジュール210から順に動的にページを割り当ててもよい。いずれの方針で割り当てる場合であっても、並列処理制御部208は、各ページを割り当てる際に図5のステップS18,S20を実行し、Srun<Smaxであることを確認してから、割り当て対象のページ番号をRIPモジュール210に通知する。
ここで、図3に例示するRIPモジュール210−1,210−2,210−3に対し、図5の例の手順でページ割り当てを行う場合の具体例を、[1]画像処理完了待ちが発生する場合及び[2]画像処理完了待ちが発生しない場合に分けて説明する。[1],[2]のいずれの場合も、図5のステップS12までの処理により、RIPモジュール210−1,210−2,210−3が起動される。また、Smax=2であるとする。
[1]画像処理完了待ちが発生する場合
まず、割り当て対象のページのうち1ページ目を割り当てるときには、RIPモジュール210−1,210−2,210−3のすべてが割り当てページなしであり(ステップS16でYES)、RIP処理実行中のRIPモジュール210の数Srun=0<Smaxなので(ステップS20でYES)、ステップS22で、並列処理制御部208は、1ページ目をRIPモジュール210−1に割り当てたとする。この時点で、ページ割り当て済みのRIPモジュール210の数A=1となる。また、本例では、1ページ目のRIP処理に画像処理が必要であるとする。よって、RIPモジュール210−1は、画像処理装置220に対して画像処理を依頼し、画像処理完了待ち状態となり、画像処理完了待ち状態のRIPモジュール210の数W=1となる。
次に、2ページ目の割り当てのとき、RIPモジュール210−2,210−3が割り当てページなしであり(ステップS16でYES)、ステップS18でSrunが求められる。ここでは、前述のように、A=1,W=1なので、Srun=A−W=0である。よって、Srun<Smaxであり(ステップS18でYES)、ステップS22で、並列処理制御部208は、2ページ目をRIPモジュール210−2に割り当てたとする。この時点で、ページ割り当て済みのRIPモジュール210の数A=2となる。また、本例では、2ページ目のRIP処理においても画像処理が必要であるとし、RIPモジュール210−2は、画像処理を画像処理装置220に依頼して、画像処理完了待ち状態となる。このとき、画像処理装置220でRIPモジュール210−1の依頼による画像処理が完了していなかったとすると、RIPモジュール210−1,210−2の両方が画像処理完了待ち状態となり、W=2となる。
さらに、3ページ目の割り当てのとき、RIPモジュール210−3が割り当てページなしであり(ステップS16でYES)、ステップS18でSrunが求められる。この時点では、A=2,W=2なので、Srun=A−W=0である。よって、Srun<Smaxであり(ステップS18でYES)、ステップS22で、並列処理制御部208は、3ページ目をRIPモジュール210−3に割り当てる。この時点で、ページ割り当て済みのRIPモジュール210の数A=3となる。3ページ目のRIP処理において画像処理が必要ないとすると、RIPモジュール210−3により3ページ目のRIP処理が実行される。この場合、RIPモジュール210−1,210−2が画像処理完了待ち状態であり、マルチCPU114のCPUコアを利用していなくても、RIPモジュール210−3は、そのRIP処理のためにCPUコアを利用する。その間、Srun=A−W=3−2=1であり、Srun<Smax=2である。
[2]画像処理完了待ちが発生しない場合
1ページ目の割り当ては、上述の[1]の場合の例と同様に行われ、1ページ目がRIPモジュール210−1に割り当てられたとする。ただし、本例では、1ページ目のRIP処理で画像処理が必要なく、RIPモジュール210−1は画像処理完了待ち状態にならない。この時点で、ページ割り当て済みのRIPモジュール210の数A=1、画像処理完了待ち状態のRIPモジュール210の数W=0である。
2ページ目の割り当ての際には、RIPモジュール210−2,210−3が割り当てページなしであり(ステップS16でYES)、ステップS18でSrunが求められる。ここで、A=1,W=0なので、Srun=1であり、Srun<Smax=2なので(ステップS18でYES)、ステップS22で、並列処理制御部208は、2ページ目をRIPモジュール210−2に割り当てたとする。本例では、2ページ目のRIP処理においても画像処理が必要なく、RIPモジュール210−2は、自身で2ページ目のRIP処理を実行する。この時点で、A=2,W=0となる。
次に、3ページ目の割り当ての際、RIPモジュール210−3が割り当てページなしであり(ステップS16でYES)、ステップS18でSrunが求められる。ここでは、A=2,W=0なので、Srun=2となり、Smax=2と等しい。したがって、ステップS20でNO判定され、ステップS18,S20を含むループ処理が繰り返される。時間が経過してRIPモジュール210−1,210−2の少なくとも一方のRIP処理が完了すると、ページ割り当て済みのRIPモジュール210の数Aが「2」から「1」又は「0」に減少し、Srunも「1」又は「0」となる(W=0のまま)。すると、ステップS20でYES判定される条件「Srun<Smax」が満たされる。ここで初めて並列処理制御部208は、3ページ目をRIPモジュール210−3に割り当てる(ステップS22)。本例において、2つのRIPモジュール210−1,210−2がマルチCPU114を利用している間は、RIPモジュール210−3に対してページ割り当てが行われない。
上述の具体例[1],[2]からもわかるように、図5の例のステップS18及びステップS20を含むループ処理によると、Smax個以上のRIPモジュール210がRIP処理を実行している間は、RIPモジュール210に新たなページが割り当てられることはない。
なお、本実施形態の例において、画像処理完了待ち状態のRIPモジュール210が画像処理装置220から画像処理結果を受け取ってRIP処理を再開するタイミングによっては、Smaxを超える数のRIPモジュール210が同時にRIP処理を実行する状態が生じ得る。例えば、上述の具体例[1]で、RIPモジュール210−2における2ページ目のRIP処理に画像処理が必要ないとすると、2ページ目の割り当てが完了した時点で、A=2,W=1(RIPモジュール210−1が画像処理完了待ち状態)となる。この場合、Srun=2−1=1<Smax=2であることから、3ページ目がRIPモジュール210−3に割り当てられ、A=3,W=1となる。ここで、Srun=3−1=2=Smaxである。RIPモジュール210−2,210−3におけるRIP処理の完了の前に、RIPモジュール210−1が画像処理装置220に依頼した画像処理が完了し、RIPモジュール210−1のRIP処理が再開された場合、3つのRIPモジュール210−1,210−2,210−3がRIP処理実行中となる(Srun=3>Smax)。ただし、画像処理完了待ち状態からRIP処理を再開したRIPモジュール210−1においては、割り当てページのRIP処理のうち最も負荷の高い(時間のかかる)画像処理がすでに完了していることから、RIP処理は比較的短時間で完了すると考えられる。さらに、Srun<Smax=2となるまでは、新たなページの割り当ては行われない。したがって、印刷文書データの全体のRIP処理の開始から完了までの間でSrun>Smaxとなる期間は、例えば図5の例の手順でステップS18,S20の処理を省略した場合と比較して短くなる。
以上、図1〜図5を参照し、利用可能な画像処理装置220が1つだけであり、画像処理装置220が備える画像処理回路222も1つだけである場合を例にとり、本発明の一実施形態を説明した。当然ながら、画像処理装置220の数及び各画像処理装置220が備える画像処理回路222の数は上述の例に限定されない。
例えば、図6に示すように、印刷データ変換装置100は、複数の画像処理装置220を利用可能であってよい。図6は、それぞれ1つの画像処理回路222を有する2つの画像処理装置220−1,220−2を印刷データ変換装置100が利用可能である例を示す。図6の画像処理装置220−1,220−2は、図1〜図3を参照して説明した例と同様、印刷データ変換装置100の内部に設けられていてもよいし、印刷データ変換装置100の外に設けられていてもよい。また、図6の例では、マルチCPU114のCPUコアの数が「4」であるとする。図6の例において、並列処理制御部208は、CPUコアの数に対応する4つのRIPモジュール210−1〜210−4(図6では、RIPモジュール210−2,210−3の図示を省略)及び画像処理回路222の数の合計「2」に対応する2つのRIPモジュール210−5,210−6を起動する。
さらに他の例では、図7に示すように、複数の画像処理回路を有する画像処理装置220を利用可能であってもよい。図7は、2つの画像処理回路222−1,222−2を有する1つの画像処理装置220を利用可能である例である。画像処理装置220は、さらに、2つの画像処理回路222−1,222−2への処理の割り当てなどを制御する画像処理制御部224を備える。画像処理制御部224は、処理実行制御部230を介してRIPモジュール210からの画像処理依頼を受け付け、依頼された画像処理を画像処理回路222−1,222−2のいずれかに実行させ、処理結果を処理実行制御部230に返す。図7の画像処理装置220も、印刷データ変換装置100の内部及び外部のいずれに設けられていてもよい。また、図7の例においても、マルチCPU114のCPUコアの数は「4」とする。図7の例でも、並列処理制御部208は、CPUコアの数に対応する4つのRIPモジュール210−1〜210−4(図7では、RIPモジュール210−2,210−3の図示を省略)及び画像処理回路222の数の合計「2」に対応する2つのRIPモジュール210−5,210−6を起動する。
図6及び図7のいずれの例でも、並列処理制御部208及び各RIPモジュール210は、図3から図5を参照して説明したのと同様の処理を行えばよい。
以上、図1〜図7を参照して説明した実施形態の例では、マルチCPU114のコアCPUの数に対して利用可能な画像処理装置220の画像処理回路222の数の合計分を追加した数のRIPモジュール210を起動して、印刷文書データの各ページのRIP処理を並列的に行う。その際、同時にマルチCPU114を利用してRIP処理を実行するRIPモジュール210の数がコアCPUの数以下に制限されるように、RIPモジュール210に対するページの割当が行われる。
なお、上述の実施形態の例では、RIPモジュール管理情報232の登録及び更新を並列処理制御部208及び処理実行制御部230が行う。一変形例では、RIPモジュール管理情報232の登録及び更新の一部を、各RIPモジュール210が行ってもよい。例えば、各RIPモジュール210の処理の実行状態を表す情報を、RIPモジュール210自身が登録及び更新してもよい。また、各画像処理装置220が備える画像処理回路222の数は、画像処理装置220自身がRIPモジュール管理情報232中に登録してもよいし、処理実行制御部230が特定してRIPモジュール管理情報232中に登録してもよい。
また、RIPモジュール管理情報232においてRIPモジュール210の処理の実行状態を表す情報の具体的な態様は、図4に例示する態様に限られない。例えば、図4の「画像処理装置の利用状況」では、「処理完了待ち」及び「未利用」の2種類の値が登録される。一変形例では、各RIPモジュール210の処理状況として、「画像処理完了待ち状態」,「RIP処理実行中」,「ページ割り当て待機中(つまり、割り当てページなし)」の3種類の状態を表す値をRIPモジュール管理情報232に登録しておいてもよい。この例の場合、図4の例の表の「ページ割り当て状況」の項目を省略してもよい。処理状況において「画像処理完了待ち状態」又は「RIP処理実行中」であるRIPモジュール210の数を、ページ割り当て済みのRIPモジュール210の数Aとして図5の例の手順の処理を実行すればよい。
上述の実施形態及び変形例では、起動された複数のRIPモジュール210のすべてが画像処理装置220に画像処理を依頼する。一変形例では、並列処理制御部208は、RIPモジュール210のうちの一部が画像処理を画像処理装置220に依頼せずに自身で実行させるよう制御してもよい。例えば、複数のRIPモジュール210のうち、マルチCPUコア114のCPUコアの数に対する追加分のRIPモジュール210(例:図3のRIPモジュール210−3、図6,図7のRIPモジュール210−5,210−6)については、画像処理を自身で実行するように制御してもよい。本変形例でも、並列処理制御部208によるページ割り当ての制御の手順は、図5の例と同様であってよい。
また、上述の実施形態及び変形例では、印刷データ変換装置100の起動時に、コアCPUの数と画像処理回路222の数の合計との和に相当する個数のRIPモジュール210を起動する。一変形例では、並列処理制御部208は、まずコアCPUの数のRIPモジュール210を起動して印刷文書データの各ページのRIP処理を実行させ、これらのRIPモジュール210が画像処理完了待ち状態になった時点で、画像処理回路222の数の合計分のRIPモジュール210を起動してもよい。本変形例において、起動されるRIPモジュール210の個数は、コアCPUの数と画像処理回路の数との和に制限される。また、本変形例において、並列処理制御部208によるページ割り当ての制御は、その時点で起動されているRIPモジュール210を対象として、図5の例の手順により行なえばよい。
また、さらに他の変形例では、起動されるRIPモジュール210の個数を、マルチCPU114のコアCPUの数に関係なく、利用可能な画像処理装置220の処理能力に関する情報だけに基づいて決定してもよい。例えば、利用可能な画像処理装置220が備える画像処理回路222のそれぞれについて、1つのRIPモジュール210の処理能力に対する当該画像処理回路の処理能力の比を示す画像処理能力指数をRIPモジュール管理情報232中に登録しておき、この画像処理能力指数に基づいて、起動するRIPモジュール210の個数を決定する。ここでの「処理能力」とは、ある単位量の画像データを処理するのに要する時間(つまり、処理速度)を意味する。画像処理能力指数は、画像処理回路がRIPモジュール210の何倍の処理能力を有するかを表す値であるとも言える。例えば、同じ画像処理をRIPモジュール210の1/2の時間で画像処理回路が実行可能な場合、当該画像処理回路の画像処理能力指数は「2」となる。画像処理能力指数は、例えば、画像処理装置220及びRIPモジュール210に対してそれぞれテスト用の画像を処理させてその処理時間を測定する実験などにより求め、印刷データ変換装置100に登録しておけばよい。並列処理制御部208は、例えば、利用可能な画像処理装置220の各画像処理回路222の画像処理能力指数の合計を、起動するRIPモジュール210の個数とする。あるいは、この画像処理能力指数の合計よりも大きな値の個数のRIPモジュール210を起動してもよい。画像処理能力指数の合計を用いてRIPモジュール210の個数を決定する変形例においても、図5の例の手順の処理によってページ割り当ての制御を行うことにより、同時にRIP処理を実行するRIPモジュール210の数は、マルチCPU114の処理能力に基づいて設定されるSmaxに制限される。
100 印刷データ変換装置、110 コントローラ、140 ホストコンピュータ、160 印刷制御装置、170 プリンタエンジン、202 印刷文書受信部、204 印刷文書格納部、206 印刷文書選択部、208 並列処理制御部、210−1〜210−6 RIPモジュール、220 画像処理装置、230 処理実行制御部、232 RIPモジュール管理情報。

Claims (6)

  1. ページ記述言語で記述された印刷文書データをビットマップ画像形式のページ画像データに変換するためのソフトウエア変換処理を行う複数のソフトウエア変換手段であって、前記ソフトウエア変換処理のうちの特定の画像処理の実行を、前記特定の画像処理を実行するハードウエア画像処理装置に対して依頼し、この依頼に応じて前記ハードウエア画像処理装置が実行した画像処理の結果を含む前記ページ画像データを生成する複数のソフトウエア変換手段と、
    前記複数のソフトウエア変換手段のうち少なくとも1つが前記ハードウエア画像処理装置による前記画像処理の完了を待つ状態が生じ得る場合に、前記ソフトウエア変換処理を行う追加のソフトウエア変換手段を起動する制御手段と、
    を備え、
    前記制御手段は、前記追加のソフトウエア変換手段の数を予め設定された上限を超えないように制御する、
    ことを特徴とする印刷文書変換装置。
  2. 前記上限より多い数の前記ソフトウエア変換手段を備える、
    ことを特徴とする請求項1に記載の印刷文書変換装置。
  3. 前記複数のソフトウエア変換手段の数は、前記ハードウエア画像処理装置の処理能力に基づいて定められる、
    ことを特徴とする請求項1又は2に記載の印刷文書変換装置。
  4. コンピュータを、
    ページ記述言語で記述された印刷文書データをビットマップ画像形式のページ画像データに変換するためのソフトウエア変換処理を行う複数のソフトウエア変換手段であって、前記ソフトウエア変換処理のうちの特定の画像処理の実行を、前記特定の画像処理を実行するハードウエア画像処理装置に対して依頼し、この依頼に応じて前記ハードウエア画像処理装置が実行した画像処理の結果を含む前記ページ画像データを生成する複数のソフトウエア変換手段、
    前記複数のソフトウエア変換手段のうち少なくとも1つが前記ハードウエア画像処理装置による前記画像処理の完了を待つ状態が生じ得る場合に、前記ソフトウエア変換処理を行う追加のソフトウエア変換手段を起動する制御手段であって、前記追加のソフトウエア変換手段の数を予め設定された上限を超えないように制御する制御手段、
    として機能させるためのプログラム。
  5. ページ記述言語で記述された印刷文書データをビットマップ画像形式のページ画像データに変換するためのソフトウエア変換処理を行う複数のソフトウエア変換手段であって、前記ソフトウエア変換処理のうちの特定の画像処理の実行を、前記特定の画像処理を実行するハードウエア画像処理装置に対して依頼し、この依頼に応じて前記ハードウエア画像処理装置が実行した画像処理の結果を含む前記ページ画像データを生成する複数のソフトウエア変換手段と、
    前記複数のソフトウエア変換手段による前記ソフトウエア変換処理に必要な演算を実行する演算手段と、
    前記複数のソフトウエア変換手段のうち少なくとも1つが前記ハードウエア画像処理装置による前記画像処理の完了を待つ状態が生じ得る場合に、前記ソフトウエア変換処理を行う追加のソフトウエア変換手段を起動する制御手段と、
    を備え、
    前記制御手段は、さらに、前記印刷文書データ中のある単位量のデータについての前記ソフトウエア変換処理を前記複数のソフトウエア変換手段及び前記追加のソフトウエア変換手段のいずれか1つに割り当てる制御であって、前記単位量のデータを割り当てられたソフトウエア変換手段のうち、前記ハードウエア画像処理装置による前記画像処理の完了を待っている状態のソフトウエア変換手段の他のソフトウエア変換手段の数が、前記演算手段の処理能力に基づいて予め設定された上限を超えないように割り当てる制御を行う、
    ことを特徴とする印刷文書変換装置。
  6. コンピュータを、
    ページ記述言語で記述された印刷文書データをビットマップ画像形式のページ画像データに変換するためのソフトウエア変換処理を行う複数のソフトウエア変換手段であって、前記ソフトウエア変換処理のうちの特定の画像処理の実行を、前記特定の画像処理を実行するハードウエア画像処理装置に対して依頼し、この依頼に応じて前記ハードウエア画像処理装置が実行した画像処理の結果を含む前記ページ画像データを生成する複数のソフトウエア変換手段、
    前記複数のソフトウエア変換手段による前記ソフトウエア変換処理に必要な演算を実行する演算手段、
    前記複数のソフトウエア変換手段のうち少なくとも1つが前記ハードウエア画像処理装置による前記画像処理の完了を待つ状態が生じ得る場合に、前記ソフトウエア変換処理を行う追加のソフトウエア変換手段を起動する制御手段であって、さらに、前記印刷文書データ中のある単位量のデータについての前記ソフトウエア変換処理を前記複数のソフトウエア変換手段及び前記追加のソフトウエア変換手段のいずれか1つに割り当てる制御であって、前記単位量のデータを割り当てられたソフトウエア変換手段のうち、前記ハードウエア画像処理装置による前記画像処理の完了を待っている状態のソフトウエア変換手段の他のソフトウエア変換手段の数が、前記演算手段の処理能力に基づいて予め設定された上限を超えないように割り当てる制御を行う制御手段、
    として機能させるためのプログラム。
JP2010159616A 2010-07-14 2010-07-14 印刷文書変換装置及びプログラム Expired - Fee Related JP5482528B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010159616A JP5482528B2 (ja) 2010-07-14 2010-07-14 印刷文書変換装置及びプログラム
US13/023,752 US8503019B2 (en) 2010-07-14 2011-02-09 Print document conversion apparatus and computer readable medium
CN201110056490.3A CN102336071B (zh) 2010-07-14 2011-03-09 打印文档转换装置和打印文档转换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010159616A JP5482528B2 (ja) 2010-07-14 2010-07-14 印刷文書変換装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2012022502A JP2012022502A (ja) 2012-02-02
JP5482528B2 true JP5482528B2 (ja) 2014-05-07

Family

ID=45466752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010159616A Expired - Fee Related JP5482528B2 (ja) 2010-07-14 2010-07-14 印刷文書変換装置及びプログラム

Country Status (3)

Country Link
US (1) US8503019B2 (ja)
JP (1) JP5482528B2 (ja)
CN (1) CN102336071B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5482529B2 (ja) * 2010-07-14 2014-05-07 富士ゼロックス株式会社 印刷文書変換装置及びプログラム
JP5051327B1 (ja) * 2012-03-22 2012-10-17 富士ゼロックス株式会社 画像処理装置及びプログラム
JP5288039B1 (ja) * 2012-11-06 2013-09-11 富士ゼロックス株式会社 印刷画像処理システムおよびプログラム
US10162829B2 (en) * 2013-09-03 2018-12-25 Adobe Systems Incorporated Adaptive parallel data processing
JP6817751B2 (ja) * 2016-09-07 2021-01-20 キヤノン株式会社 情報処理システムその制御方法、印刷システム及びプログラム
US10656888B1 (en) 2019-02-27 2020-05-19 Ricoh Company, Ltd. Raster image processor allocation scheme
US11898289B2 (en) 2020-12-18 2024-02-13 Midea Group Co., Ltd. Laundry washing machine calibration
US11773524B2 (en) 2020-12-18 2023-10-03 Midea Group Co., Ltd. Laundry washing machine color composition analysis during loading
US11866868B2 (en) * 2020-12-18 2024-01-09 Midea Group Co., Ltd. Laundry washing machine color composition analysis with article alerts

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3168580B2 (ja) 1990-04-05 2001-05-21 セイコーエプソン株式会社 ページ記述言語インタープリタ
US20030095282A1 (en) 2001-11-21 2003-05-22 Yusuke Suzuki Distributed printing system and distributed printing method
JP2004086809A (ja) * 2002-08-29 2004-03-18 Fuji Xerox Co Ltd 画像形成システム、バックエンドプロセッサ
JP2004188677A (ja) * 2002-12-09 2004-07-08 Minolta Co Ltd プリントコントローラ
JP2005149316A (ja) * 2003-11-18 2005-06-09 Canon Inc 情報処理装置、情報処理方法、プログラム、記録媒体及び印刷装置
JP4580697B2 (ja) 2004-06-23 2010-11-17 株式会社リコー 印刷処理システム、プログラムおよび記録媒体
JP4942179B2 (ja) * 2006-12-11 2012-05-30 キヤノン株式会社 印刷制御装置及びその制御方法及びデバイスドライバ
JP4543340B2 (ja) 2007-12-17 2010-09-15 富士ゼロックス株式会社 画像処理装置および画像形成システムとプログラム
JP2009269179A (ja) 2008-04-30 2009-11-19 Ricoh Co Ltd 印刷装置、プログラム及び記録媒体
US8432405B2 (en) * 2008-06-26 2013-04-30 Microsoft Corporation Dynamically transitioning between hardware-accelerated and software rendering
JP2010034683A (ja) * 2008-07-25 2010-02-12 Fuji Xerox Co Ltd 画像処理装置及びプログラム
JP5482529B2 (ja) * 2010-07-14 2014-05-07 富士ゼロックス株式会社 印刷文書変換装置及びプログラム
JP5691448B2 (ja) * 2010-11-30 2015-04-01 富士ゼロックス株式会社 印刷文書処理システム、キャッシュ装置、データ処理装置及びプログラム

Also Published As

Publication number Publication date
JP2012022502A (ja) 2012-02-02
US8503019B2 (en) 2013-08-06
CN102336071A (zh) 2012-02-01
CN102336071B (zh) 2015-07-29
US20120013940A1 (en) 2012-01-19

Similar Documents

Publication Publication Date Title
JP5482528B2 (ja) 印刷文書変換装置及びプログラム
JP5663941B2 (ja) 印刷文書変換装置およびプログラム
JP5482529B2 (ja) 印刷文書変換装置及びプログラム
US8625133B2 (en) Print data processing apparatus, print data processing method, and storage medium
JP5594470B2 (ja) 印刷制御装置、印刷システムおよびプログラム
JP2009146251A (ja) 画像処理装置および画像形成システムとプログラム
JP2012081626A (ja) 画像形成装置、画像処理方法、プログラム
JP2011158951A (ja) 画像処理装置、プログラム及び画像処理方法
JP2008146434A (ja) 印刷制御装置、印刷制御方法、印刷制御プログラム、印刷装置、印刷方法、印刷プログラム、及び記録媒体
JP5141995B1 (ja) 印刷制御装置、画像形成システムおよびプログラム
JP6136020B2 (ja) 画像形成装置及び並列処理の制御方法並びに制御プログラム
US8767247B2 (en) Print data generation device, print data generation method and computer-readable medium for controlling rasterization processing
JP4947231B1 (ja) 印刷制御装置およびプログラム
JP2011046034A (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体
JP5232728B2 (ja) 画像形成装置
JP2012008838A (ja) 印刷文書変換装置およびプログラム
JP5589582B2 (ja) 画像処理装置及びプログラム
US8629997B2 (en) Print control apparatus and image forming system for rendering image data
JP2013052568A (ja) 画像形成装置、制御方法及び制御プログラム
JP4957933B1 (ja) 印刷制御装置、画像形成システムおよびプログラム
JP2019093612A (ja) 画像形成装置及びプログラム
JPH11175291A (ja) 周辺装置のジョブ一時停止装置、方法、及び記憶媒体
JP2016021154A (ja) 印字制御システムにおける省電力モード制御手段及び制御方法
JP2006076220A (ja) 画像形成システム
JP2003076506A (ja) 情報処理方法及び情報処理システム及び画像処理方法及び画像処理装置並びに記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130617

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140115

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140203

R150 Certificate of patent or registration of utility model

Ref document number: 5482528

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees