以下、本発明の一例としての実施の形態について、図面に基づいて詳細に説明する。なお、実施の形態を説明するための図面において、同一の構成要素には原則として同一の符号を付し、その繰り返しの説明は省略する。
実施の形態に係る印刷データ変換処理装置の機能構成について、図1を参照して説明する。
図1に示すように、画像処理装置としての印刷データ変換処理装置10は、メインコントローラ100と、複数(N個)のコントローラボード200#1〜200#Nとを有している。
メインコントローラ100は、印刷文書受信部110、ページ数解析部120、RIPモジュール割当て制御部130、ページ割当て制御部140、情報取得部150、印刷文書記憶部160、およびコントローラ構成情報記憶部170を有している。
印刷文書受信部110は、通信プロトコル情報に基づき、外部のホストコンピュータから送信され、ページ記述言語(PDL=Page Description Language)で記述された印刷文書を受信し、この受信した印刷文書を印刷文書記憶部160に格納する。
ページ数解析部120は、印刷文書記憶部160に記憶された印刷文書を構成するページの数(ページ数)を検出し、この検出した結果(印刷文書のページ数)をRIPモジュール割当て制御部130に通知する。
RIPモジュール割当て制御部130は、通知された印刷文書のページ数と、コントローラ構成情報記憶部170に記憶されているコントローラ構成情報とに基づき、動作すべきコントローラボードとRIPモジュール数とを決定するとともに、決定した動作すべきコントローラボードを示す情報、RIPモジュール数および印刷文書のページ数をページ割当て制御部140へ出力する。
すなわち、RIPモジュール割当て制御部130は、取得される印刷文書のページ数に基づき動作すべきRIPモジュール(変換手段)の数を決定するものであり、特に、印刷文書のページ数に対応する動作すべきRIPモジュールの数を決定する。
ここで、動作とは、RIPモジュールの起動のことだけではなく、起動した状態を継続することをいう。
また、RIPモジュール割当て制御部130は、複数のRIPモジュールのうち上記決定した数のRIPモジュールのみが動作するよう制御する。この場合、RIPモジュール割当て制御部130は、複数のコントローラボード(制御ボード)の中の休止状態となるコントローラボードの数が最大となるよう、全体の複数のRIPモジュールのうち上記決定した数のRIPモジュールのみが動作するよう制御する。
また、RIPモジュール割当て制御部130は、上記決定した動作すべきコントローラボードに対し、印刷文書記憶部160に記憶されている印刷文書を転送する。
ページ割当て制御部140は、RIPモジュール割当て制御部130から通知された動作すべきコントローラボードを示す情報、RIPモジュール数および印刷文書のページ数に基づき、動作すべきコントローラボードに対しては、当該コントローラボードに係る動作すべきRIモジュールの数とページ割当て情報(印刷すべきページ情報)とを出力する。
また、ページ割当て制御部140は、動作しないコントローラボードに対しては、スリープ(sleep)モード移行指示を出力する。
情報取得部150は、コントローラ構成情報を取得し、この取得したコントローラ構成情報をコントローラ構成情報記憶部170に格納する。ここで、コントローラ構成情報は、コントローラボードを示す情報(識別情報)と、コントローラボードの数と、コントローラボード毎の当該コントローラボード上で動作されるRIPモジュールの数とを含んでいる。
情報取得部150によるコントローラ構成情報の取得の方法としては、次の3つの方法が挙げられる。
(1)情報取得部150は、入出力装置や操作パネルなど図示しないユーザインタフェースを介してユーザによって入力されるシステム構成情報をコントローラ構成情報として取得する。このシステム構成情報は、コントローラボードを示す情報(識別情報)と、コントローラボードの数と、コントローラボード毎の当該コントローラボード上で動作されるRIPモジュールの数とを含んでいる。
(2)情報取得部150は、各コントローラボードに対しRIP処理能力(RIPモジュールの数)を問い合わせるとともに、コントローラボード毎に当該問い合わせの結果を取得する。次に、情報取得部150は、前記問い合わせに応答したコントローラボードを示す情報(識別情報)と、コントローラボードの数と、問い合わせに応答したコントローラボード毎の問い合わせ結果であるRIPモジュールの数とをコントローラ構成情報として取得する。
(3)情報取得部150は、各コントローラボードに対し搭載している中央演算処理装置(CPU)の数とメモリの記憶容量とを問い合わせるとともに、コントローラボード毎に当該問い合わせの結果を取得する。次に、情報取得部150は、上記問い合わせに応答したコントローラボード毎の問い合わせの結果(CPUの数およびメモリの記憶容量)を基に、問い合わせに応答したコントローラボードの数と当該コントローラボード毎に動作させるRIPモジュールの最大数を決定する。そして、情報取得部150は、問い合わせに応答したコントローラボードを示す情報(識別情報)と、前記決定したコントローラボードの数およびコントローラボード毎のRIPモジュールの最大数とをコントローラ構成情報として取得する。
なお、上記(3)の方法の場合、情報取得部150は、ページ記述言語(以下「PDL」という。)で記述された印刷文書の属性すなわち印刷文書のPDLの種類に応じて、コントローラボード毎に動作させるRIPモジュールの最大数を決定するようにする。その理由は、PDLの種類に応じて、RIPモジュールとしてのソフトウェアモジュール(プログラム)のプログラムサイズ、そのプログラムの実行の途中結果、当該実行の最終結果などを記憶するワークメモリ(ローカルメモリ中の記憶領域)のメモリサイズが変化するので、コントローラボード毎に実際の複数のRIPモジュールの中で動作させるべくRIPモジュールの数も変化するからである。
印刷文書記憶部160は、印刷文書受信部110によって受信された印刷文書を記憶する。
コントローラ構成情報記憶部170は、情報取得部150によって取得されたコントローラ構成情報を記憶する。
複数のコントローラボード200#1〜200#Nは、コントローラ制御部210、複数(M個)のRIPモジュール220#1〜220#M、および印刷文書記憶部230を有している。なお、各コントローラボードのRIPモジュールの数は、同一である必要はなく、異なっていてもよい。この実施の形態では、各コントローラボードのRIPモジュールの数は同一とする。
コントローラ制御部210は、RIPモジュール割当て制御部130から転送されてくる印刷文書を取得して印刷文書記憶部230に格納する。
また、コントローラ制御部210は、ページ割当て制御部140から出力される出力情報を取得し、この出力情報に基づき処理を実施する。すなわち、コントローラ制御部210は、出力情報がRIPモジュール数およびページ割当て情報のときは、RIPモジュール数に対応するRIPモジュールのみを動作させるとともに、動作させたRIPモジュールに対しページ割当て情報に基づく印刷ページを印刷するよう指示する。一方、コントローラ制御部210は、出力情報がスリープモード移行指示のときは、当該コントローラボードをスリープモードに移行させる。
複数のRIPモジュール220#1〜220#Mは、印刷文書をラスタデータに変換、つまり印刷文書に対しRIP(Raster Image Processor)処理を実行する。
すなわち、RIPモジュール220#1〜220#Mは、印刷文書のPDL記述を解釈し、この解釈の結果に基づきPDL記述が表すラスタデータを生成するとともに、このラスタデータに対し色変換処理、階調補正処理、スクリーン処理など画像処理を実行する。
このようにしてRIPモジュール220#1〜220#MによるRIP処理が実行されることにより、印刷文書の各ページについて、C(シアン)、M(マゼンタ)、Y(イエロー)、K(黒)の各色の版のラスタデータが生成される。従って、コントローラボードからは、ページ毎のCMYKの各色のラスタデータが印刷ページとして印刷制御装置20に向けて出力される。
印刷文書記憶部230は、コントローラ制御部210によって取得された印刷文書を記憶する。
この実施の形態では、メインコントローラ100に設けられる印刷文書受信部110、ページ数解析部120、RIPモジュール割当て制御部130、ページ割当て制御部140、および情報取得部150のそれぞれは、該当する構成要素の機能を実現するためのソフトウェア(ソフトウェアモジュール)で構成されている。また、各コントローラボード200#1〜200#Nに設けられるコントローラ制御部210および複数のRIPモジュール220#1〜220#Mのそれぞれは、該当する構成要素の機能を実現するためのソフトウェア(ソフトウェアモジュール)で構成されている。
また、この実施の形態では、複数のコントローラボード200#1〜200#Nの複数のRIPモジュール220#1〜220#Mは、複数の変換手段に対応し変換機能を有している。メインコントローラ100のRIPモジュール割当て制御部130は、決定手段および制御手段に対応し決定機能および制御機能を有している。また、複数のコントローラボード200#1〜200#Nは、複数の制御ボードに対応する。
次に、上述した印刷データ変換処理装置を有する画像出力装置の機能構成について、図2を参照して説明する。
図2に示すように、画像出力装置1は、上述した印刷データ変換処理装置10、印刷制御装置20、およびプリンタエンジン30を有している。
印刷データ変換処理装置10は、上述したように、ホストコンピュータ2からの印刷文書に対しRIP処理を実行し、このRIP処理の結果つまりページ毎のCMYKの各色のラスタデータを印刷制御装置20に向けて出力する。
印刷制御装置20は、ページ制御部21とエンジン制御部22とを有している。
ページ制御部21は、印刷データ変換処理装置10から出力されたページ毎のCMYKの各色のラスタデータを受信し、この受信した印刷ページをページ番号で管理するとともに、ページ順に印刷ページをエンジン制御部22に出力する。
ここで、ラスタデータとは、完全にビットマップになった状態のデータだけでなく、中間言語と呼ばれる形式のデータも含み、PDLから解釈して生成されるデータであればよい。
エンジン制御部22は、ページ順にラスタデータ、つまりCMYKの各色のそれぞれに対応するビデオ信号、例えば露光用のパルス信号例えばパルス幅変調信号(PWM信号)を生成するとともに、生成したCMYKの各色のビデオ信号をプリンタエンジン30に向けて出力する。
プリンタエンジン30は、実行手段の機能を果たすものであり、印刷データ変換処理装置(画像処理装置)のRIPモジュール(変換手段)によって変換されたラスタデータ、換言すれば印刷制御装置20から出力されたCMYKの各色のパルス信号(ビデオ信号)に基づき画像形成を実行する。
次に、上述した印刷データ変換処理装置を有する画像出力装置のハードウェア構成について、図3を参照して説明する。
図3に示すように、画像出力装置1は、例えばローカルエリアネットワーク(LAN)3を介してホストコンピュータ2と接続される。また、画像出力装置1において、印刷データ変換処理装置10と印刷制御装置20とはネットワーク(システム内ネットワーク)4を介して接続される。さらに、印刷データ変換処理装置10において、メインコントローラ100と各コントローラボード200#1〜200#Nとはネットワーク4を介して接続される。ネットワーク4としては例えば通信ケーブルが挙げられる。
印刷データ変換処理装置10において、メインコントローラ100は、マルチCPU101、二次記憶装置102、ローカルメモリ103、および複数の通信制御部104,105を有している。これら各構成要素101〜105は、ローカルバス106に接続されている。
二次記憶装置102は、例えばハードディスクや光ディスクで構成され、上述した印刷文書受信部110、ページ数解析部120、RIPモジュール割当て制御部130、ページ割当て制御部140、および情報取得部150の各機能を実現するためのソフトウェア(ソフトウェアモジュール)、通信プロトコル情報、ホストコンピュータ2から送信され通信制御部104によって受信された印刷文書などを記憶する。
ローカルメモリ103は、例えばRAM(随時書き込み読み出しメモリ)で構成され、二次記憶装置102から読み込まれる上述した構成要素110〜150の各機能を実現するためのソフトウェア(ソフトウェアモジュール)、当該構成要素110〜150による処理の途中経過の情報、処理の最終結果の情報を記憶する。
なお、処理の最終結果の情報としては、例えば、コントローラ構成情報、印刷文書のページ数、動作すべきコントローラボードを示す情報、動作すべきコントローラボード毎のRIPモジュール数、転送すべき印刷文書などが挙げられる。
マルチCPU101は、複数のCPU(中央演算処理装置)から構成されており、当該複数のCPUが二次記憶装置102からローカルメモリ103へ上述した構成要素110〜150の各機能を実現するためのソフトウェア(ソフトウェアモジュール)を読み込んで、担当するソフトウェア(ソフトウェアモジュール)を実行する。これにより、上述した構成要素110〜150の各機能が実現される。
また、マルチCPU101は、上記複数のCPUそれぞれに電源電圧(あるいは電力)を供給する電源101Aを有している。
通信制御部104は、マルチCPU101の中の印刷文書受信部110に対応するソフトウェア(ソフトウェアモジュール)を実行するCPUの制御の下、外部の装置例えばホストコンピュータ2との間で通信を行うものであり、例えばホストコンピュータ2から送信される印刷文書を受信して当該CPUに渡す。
通信制御部105は、コントローラボードとの間で定められるシリアル伝送方式またはパラレル伝送方式によるデータ通信を司るインタフェースであり、各コントローラボード200#1〜200#Nとの間でデータ通信を行う。
また、各コントローラボード200#1〜200#Nは、マルチCPU201、二次記憶装置202、ローカルメモリ203、および通信制御部204を有している。これら各構成要素201〜205は、ローカルバス206に接続されている。
二次記憶装置202は、例えばハードディスクや光ディスクで構成され、コントローラ制御部210、および複数のRIPモジュール220#1〜220#Mの各機能を実現するためのソフトウェア(ソフトウェアモジュール)、メインコントローラ100から転送されコントローラ制御部210によって受信された印刷文書などを記憶する。
ローカルメモリ203は、例えばRAM(随時書き込み読み出しメモリ)で構成され、二次記憶装置202から読み込まれる上述した構成要素210,220#1〜220#Mの各機能を実現するためのソフトウェア(ソフトウェアモジュール)、当該構成要素210,220#1〜220#Mによる処理の途中経過の情報、処理の最終結果の情報を記憶する。
なお、処理の最終結果の情報としては、例えば、RIPモジュール割当て制御部130から転送される印刷文書、ページ割当て制御部140からの出力情報(動作すべきRIPモジュールの数およびページ割当て情報、またはスリープモード移行指示)、RIP処理の結果(CMYKの各色のラスタデータ)などが挙げられる。
マルチCPU201は、コントローラ制御部210、およびRIPモジュール220#1〜220#Mに対応する複数のCPU(中央演算処理装置)から構成されている。そして、マルチCPU201は、上述した複数のCPUが二次記憶装置202からローカルメモリ203へ上述した構成要素210,220#1〜220#Mの各機能を実現するためのソフトウェア(ソフトウェアモジュール)を読み込んで、担当するソフトウェア(ソフトウェアモジュール)を実行する。これにより、上述した構成要素210,220#1〜220#Mの各機能が実現される。
また、マルチCPU201は、上記複数のCPUそれぞれに電源電圧(あるいは電力)を供給する電源201Aを有している。当該各CPUは、規定の電源電圧(電力)が供給されることで処理を実行する稼働モードと、この稼働モードでの電源電圧(電力)よりも低い電源電圧(電力)が供給され休止状態となるスリープモードとを有しており、しかも外部から与えられる指令(指示)に従って稼働モードとスリープモードとに遷移(移行)する機能を有している。
例えば、マルチCPU201において、複数のRIPモジュールの機能を実現する複数のCPUは、現在スリープモード状態の場合に、コントローラ制御部210の機能を実現するCPUから動作指示があったときは、スリープモードから稼働モードに移行する。また、稼働モード状態のこれら各CPUは、コントローラ制御部210の機能を実現するCPUからスリープモード移行指示があったときは、稼働モードからスリープモードに移行する。
通信制御部204は、メインコントローラとの間で定められるシリアル伝送方式またはパラレル伝送方式によるデータ通信を司るインタフェースであり、メインコントローラ100との間でデータ通信を行う。
なお、コントローラボード毎に、コントローラボードの処理能力すなわちマルチCPU210でのCPUの数、ローカルメモリの記憶容量は異なっていてもよい。
印刷制御装置20は、印刷データ変換処理装置10の複数のコントローラボード200#1〜200#Nとの間で定められるシリアル伝送方式またはパラレル伝送方式によるデータ通信を司るインタフェースとしての通信制御部23を備えている。
次に、印刷データ変換処理装置10によるRIP処理(印刷データ変換処理)について、図4を参照して説明する。
メインコントローラ100において、印刷文書受信部110は、ホストコンピュータ2から送信された印刷対象の印刷文書(PDLデータ)を受信し、これを印刷文書記憶部160に格納し(ステップS101)、さらに印刷文書を格納した旨をページ数解析部120に通知する。
印刷文書が格納された旨の通知を受け取ったページ数解析部120は、印刷文書記憶部160に記憶されている印刷文書について当該印刷文書を構成するページの数を検出し、当該ページ数をRIPモジュール割当て制御部130へ通知する(ステップS102)。
RIPモジュール割当て制御部130は、通知された印刷文書のページ数と、コントローラ構成情報記憶部170に記憶されているコントローラ構成情報とを基に、詳細については後述する「動作すべきコントローラボードとRIPモジュール数の決定処理」を実行する(ステップS103)。
RIPモジュール割当て制御部130は、決定した動作すべきコントローラボード(のコントローラ制御部)に対し、印刷文書記憶部160に記憶されている印刷文書を転送するとともに(ステップS104)、ステップS103での「動作すべきコントローラボードとRIPモジュール数の決定処理」の結果である動作すべきコントローラボードを示す情報(識別情報)、動作すべきコントローラボード毎のRIPモジュール数、および印刷文書のページ数とをページ割当て制御部140へ通知する(ステップS105)。
ここで具体例を挙げて説明する。RIPモジュール割当て制御部130は、図5に示すように、印刷文書記憶部160に記憶されている印刷文書を読み出すとともに(Pr1参照)、上記決定した動作すべきコントローラボードに対し、前記読み出した印刷文書を転送する(Pr2参照)。なお、図5では印刷文書受信部110、ページ数解析部120および情報取得部150は省略している。
ここで、複数のコントローラボード200#1〜200#Nのうち、コントローラボード200#Nのみが動作しないコントローラボードとして決定され、他のコントローラボード(図5ではコントローラボード200#1,200#2のみ記載)は動作すべきコントローラボードとして決定されたとする。
そのため、図5に示す例は、動作すべきものとして決定されたコントローラボード200#1,200#2に対し印刷文書が転送されているものの、動作しないものとして決定されたコントローラボード200#Nに対しては印刷文書は転送されていないことを示している。
RIPモジュール割当て制御部130は、動作すべきコントローラボード200#1〜200#(N−1)のそれぞれを示す情報(識別情報)と、当該動作すべきコントローラボード毎のRIPモジュール数と印刷文書のページ数とをページ割当て制御部140に通知する(Pr3参照)。
再度、図4を参照して説明すると、ページ割当て制御部140は、通知された動作すべきコントローラボードを示す情報(識別情報)、および動作すべきコントローラボード毎のRIPモジュール数に基づき、詳細については後述する「RIPモジュール決定処理」を実行し(ステップS106)、その後、この実行の結果である動作すべきRIPモジュールの数、および通知された印刷文書のページ数に基づくページ割当て情報、またはスリープモード移行指示を、複数のコントローラボード200#1〜200#Nへ出力する。
ここで図5に示した例においては、ページ割当て制御部140は、RIPモジュール割当て制御部130から取得した情報を基に、動作すべきコントローラボード(図5ではコントローラボード200#1,200#2)に対し、当該動作すべきコントローラボード毎のRIPモジュール数およびページ割当て情報を出力する(Pr4参照)。
また、ページ割当て制御部140は、動作しないコントローラボード200#Nに対し、スリープモード移行指示を出力する(Pr5参照)。
再度、図4を参照して説明すると、複数のコントローラボード200#1〜200#Nでは、コントローラ制御部210は、ステップS104で転送されてくる印刷文書を印刷文書記憶部230に格納するとともに、ページ割当て制御部140からの出力情報(動作すべきRIPモジュールの数およびページ割当て情報、またはスリープモード移行指示)に基づき、詳細については後述する「RIPモジュール動作処理」を実行する(ステップS107)。
次に、RIPモジュール割当て制御部130による動作すべきコントローラボードおよびRIPモジュール数の決定処理(図4のステップS103の処理)について、図6を参照して説明する。
RIPモジュール割当て制御部130は、コントローラ構成情報記憶部170に記憶されているコントローラ構成情報すなわちコントローラボードを示す情報(識別情報)、コントローラボードの数およびコントローラボード毎の当該コントローラボード上で動作されるRIPモジュールの数のうち、コントローラボード毎の当該コントローラボード上で動作されるRIPモジュールの数に基づき、コントローラボード毎のRIPモジュールの数を合計した合計数(RIPモジュールの合計数)を算出する(ステップS201)。
RIPモジュール割当て制御部130は、ページ数解析部120から通知された印刷文書のページ数は上記算出したRIPモジュールの合計数未満であるか否か(「印刷文書のページ数<RIPモジュールの合計数」が成立するか否か)を判断する(ステップS202)。
RIPモジュール割当て制御部130は、ステップ202において、印刷文書のページ数は上記ステップS201で算出したRIPモジュールの合計数未満であると判断した場合は、動作すべきRIPモジュールの数(以下「動作RIPモジュール数」という。)=印刷文書のページ数に対応するRIPモジュール数と決定するとともに、動作すべきコントローラボードの数(以下「動作コントローラボード数」という。)=前記決定した動作RIPモジュール数に対応する数のRIPモジュールを動作するべくコントローラボードの数と決定する(ステップS203)。
RIPモジュール割当て制御部130は、ステップ202において、印刷文書のページ数は上記ステップS201で算出したRIPモジュールの合計数以上であると判断した場合は、動作コントローラボード数=全てのコントローラボードの数と決定するとともに、動作RIPモジュール数=前記決定したRIPモジュールの合計数と決定する(ステップS204)。
RIPモジュール割当て制御部130は、ステップS203を終了した場合あるいはステップ204を終了した場合、この処理を終了し、図4に示したRIP処理(印刷データ変換処理)のステップS103に戻る。
すなわち、RIPモジュール割当て制御部130は、印刷文書のページ数と上記算出したRIPモジュールの合計数とを基に、複数のコントローラボード200#1〜200#Nの中からRIPモジュールを動作するコントローラボードを選択し、当該選択したコントローラボード上で動作するべくRIPモジュールを決定するとともに、選択しなかったコントローラボード上のRIPモジュールについては動作しないよう制御する。
次に、ページ割当て制御部140によるRIPモジュール決定処理(図4のステップS106の処理)について、図7を参照して説明する。
ページ割当て制御部140は、RIPモジュール割当て制御部130からの動作すべきコントローラボードを示す情報(識別情報)、動作すべきコントローラボード毎のRIPモジュール数、および印刷文書のページ数を取得する(ステップS301)。
ページ割当て制御部140は、印刷ページ毎に、動作すべきコントローラボードの中で、印刷依頼すべきコントローラボードのどのRIPモジュールにRIP処理(印刷データ変換)を実行させるかを判断する(ステップS302)。
ページ割当て制御部140は、複数のコントローラボード200#1〜200#Nを順次制御対象として、上記取得した動作すべきコントローラボードを示す情報(識別情報)に基づき、制御対象のコントローラボードは動作すべきコントローラボードであるか否かを判断する(ステップS303)。
ページ割当て制御部140は、ステップS303において、制御対象のコントローラボードは動作すべきコントローラボードであると判断した場合、当該動作すべきコントローラボードのコントローラ制御部210に対し、動作すべきRIPモジュールの数、および印刷文書のページ数に基づくページ割当て情報(印刷すべきページ情報)を出力する(ステップS304)。
ページ割当て制御部140は、ステップS303において、制御対象のコントローラボードは動作すべきコントローラボードではないと判断した場合、当該動作しないコントローラボードのコントローラ制御部210に対し、スリープモード移行指示を出力する(ステップS305)。
ページ割当て制御部140は、ステップS304を終了した場合あるいはステップS305を終了した場合、次の制御対象のコントローラボードが存在するか否かを判断し(ステップS306)、この判断した結果、次の制御対象のコントローラボードが存在する場合にはステップS303に移行し、一方、次の制御対象のコントローラボードが存在しない場合(全てのコントローラボードを制御対象として処理した場合)は、この処理を終了し、図4に示したRIP処理(印刷データ変換処理)のステップS106に戻る。
次に、コントローラボードのコントローラ制御部210によるRIPモジュール動作処理(図4のステップS107の処理)について、図8を参照して説明する。
コントローラ制御部210は、ページ割当て制御部140からの出力情報、すなわち動作すべきRIPモジュールの数およびページ割当て情報、またはスリープモード移行指示を取得し(ステップS401)、取得した出力情報はスリープモード移行指示であるか否かを判断する(ステップS402)。
コントローラ制御部210は、ステップS402において、取得した出力情報はスリープモード移行指示でないと判断した場合、出力情報は動作すべきRIPモジュールの数およびページ割当て情報であるので、指示された数のRIPモジュールのみを動作させ(ステップS403)、その後、当該動作されたRIPモジュールに対しページ割当て情報を渡す(ステップS404)。
このようにして動作されたRIPモジュールは、ページ割当て情報に基づく割り当てられたページを印刷データに変換(RIP処理を実行)する。
コントローラ制御部210は、ステップS402において、取得した出力情報はスリープモード移行指示であると判断した場合、当該コントローラボードをスリープモードに移行させる(ステップS405)。
コントローラ制御部210は、ステップS404を終了した場合あるいはステップS405を終了した場合、この処理を終了し、図4に示したRIP処理(印刷データ変換処理)のステップS107に戻る。
次に、複数のRIPモジュールによるRIP処理(印刷データ変換処理)について、第1の具体例を挙げて説明する。
ここでは次の条件1から条件4の4つの条件を前提条件とする。
(条件1)複数のコントローラボードは4つのコントローラボード200#1〜200#4で構成され、各コントローラボードは、2つのRIPモジュール220#1,220#2を有しているものとする(図9参照)。
(条件2)コントローラボード200#1〜200#4のそれぞれを示す情報(識別情報)を、ID200#1、ID200#2、ID200#3、ID200#4とする。なお、RIPモジュール割当て部130およびページ割当て制御部140は、これらの識別情報に基づく出力先(伝送先)つまりコントローラボードに向けて情報を出力する。
(条件3)印刷文書のページ数=4、コントローラ構成情報に含まれるコントローラボードを示す情報(識別情報)=ID200#1,ID200#2,ID200#3,ID200#4、コントローラボード数=4および各コントローラボードのRIPモジュール数=2とする。また、RIPモジュール合計数=8が算出されたとする。
(条件4)各コントローラボードのマルチCPU201(図3参照)においては、コントローラ制御部210を実行するCPUは常時動作しており、またRIPモジュール220#1に対応するCPUおよびRIPモジュール220#2に対応するCPUはそれぞれコントローラ制御部210を実行するCPUによって動作されるまではスリープモードの状態になっている
このような前提条件では、RIPモジュール割当て制御部130は、印刷文書のページ数=4はRIPモジュール合計数=8未満であると判断する(「印刷文書のページ数=4<RIPモジュール合計数=8」は成立すると判断する)。
RIPモジュール割当て制御部130は、次のようにして動作RIPモジュール数および動作コントローラボード数を決定する。
(1)動作RIPモジュール数は、印刷文書のページ数=4に対応するRIPモジュール数=4と決定する。つまり動作RIPモジュール数=4となる。
(2)動作コントローラボード数は、動作RIPモジュール数=4のRIPモジュールを動作するべくコントローラボードの数であって、全コントローラボードの中の休止状態となるコントローラボードの数が最大となるコントローラボード数と決定する。この場合、各コントローラボードのRIPモジュール数は2であるので、休止状態となるコントローラボードの数が最大となるコントローラボード数は2となる。従って、動作コントローラボード数=2となる。
RIPモジュール割当て制御部130は、上述したようにして決定した動作RIPモジュール数=4および動作コントローラボード数=2を基に、動作すべきコントローラボードとして例えば2つのコントローラボード200#1,200#2を決定したとする。
そして、RIPモジュール割当て制御部130は、図9に示すように、動作すべきものとして決定した2つのコントローラボード200#1,200#2に対し、印刷文書(p1〜p4の4ページの印刷文書)を転送するものの、動作しないものとして決定した他の2つのコントローラボード200#3,200#4に対しては、当該印刷文書は転送しない。
また、RIPモジュール割当て制御部130は、全てのコントローラボードを示す情報(識別情報)=ID200#1〜ID200#4と、動作すべきコントローラボード200#1,200#2を示す情報(識別情報)=ID200#1,ID200#2と、動作RIPモジュール数=4を基に得られるコントローラボード毎のRIPモジュール数=2と、印刷文書のページ数=4とをページ割当て制御部140に出力する。
ページ割当て制御部140は、RIPモジュール割当て制御部130から取得した情報を基に、動作すべきコントローラボードを示す情報=ID200#1に対応するコントローラボード200#1のコントローラ制御部210に対し、RIPモジュール数=2、印刷文書のページ数=4に基づくページ割当て情報=p1、p2を出力するとともに、動作すべきコントローラボードを示す情報=ID200#2に対応するコントローラボード200#2のコントローラ制御部210に対し、RIPモジュール数=2、印刷文書のページ数=4に基づくページ割当て情報=p3、p4を出力する(図9参照)。
これにより、コントローラボード200#1のコントローラ制御部210は、図9に示すように、RIPモジュール220#1およびRIPモジュール220#2を動作させるとともに、動作したRIPモジュール220#1に対しページ割当て情報p1を、また動作したRIPモジュール220#2に対しページ割当て情報p2を渡す。
具体的には、コントローラボード200#1においては、当該コントローラボード200#1のマルチCPU201(図3参照)において、コントローラ制御部210を実行するCPUは、RIPモジュール220#1を実行するスリープモードの状態のCPU、およびRIPモジュール220#2を実行するスリープモードの状態のCPUをそれぞれ動作させるとともに、動作した各CPUに対し該当するページ割り当て情報を渡す。
また、コントローラボード200#2においても、コントローラボード200#1の場合と同様に、RIPモジュール220#1およびRIPモジュール220#2は、コントローラ制御部210によって動作して、その後該当するページ割当て情報p3またはp4が渡される。
具体的には、コントローラボード200#2においても、コントローラボード200#1の場合と同様に、当該コントローラボード200#2のマルチCPU201(図3参照)において、コントローラ制御部210を実行するCPUは、RIPモジュール220#1を実行するスリープモードの状態のCPU、およびRIPモジュール220#2を実行するスリープモードの状態のCPUに対しそれぞれ動作指示を与える(当該各CPUをそれぞれ動作させる)とともに、動作した各CPUに対し該当するページ割当て情報を渡す。
これに対し、ページ割当て制御部140は、RIPモジュール割当て制御部130から取得した情報を基に、動作しないコントローラボードを示す情報=ID200#3,200#4に対応するコントローラボード200#3,200#4のコントローラ制御部210に対し、スリープモード移行指示を出力する(図9参照)。
これにより、コントローラボード200#3のコントローラ制御部210は、当該コントローラボード200#3をスリープモードに移行させるとともに、コントローラボード200#4のコントローラ制御部210は、当該コントローラボード200#4をスリープモードに移行させる。
具体的には、コントローラボード200#3においては、当該コントローラボード200#3のマルチCPU201において、コントローラ制御部210を実行するCPUは、RIPモジュール220#1を実行するスリープモードの状態のCPU、およびRIPモジュール220#2を実行するスリープモードの状態のCPUに対しスリープモードの状態を維持させる。換言すれば、コントローラ制御部210を実行するCPUは、既にスリープモードの状態になっているRIPモジュール220#1およびRIPモジュール220#2に対しては何もしない。
また、コントローラボード200#4においても、コントローラボード200#3の場合と同様に、コントローラ制御部210を実行するCPUは、RIPモジュール220#1を実行するCPUおよびRIPモジュール220#2を実行するCPUをスリープモードにさせる。
上述したように第1の具体例では、コントローラ制御部210は、RIPモジュール割当て部130によって、動作しないことに決定されたコントローラボード200#3およびコントローラボード200#4のRIPモジュール220#1およびRIPモジュール220#2に対しては動作しないよう制御する。
そのため、コントローラボード200#3およびコントローラボード200#4では、マルチCPU201において、RIPモジュール220#1およびRIPモジュール220#2を実行する2つのCPUはスリープモードに移行することとなるので、消費電力が抑制される。
上述したように印刷データ変換処理装置10では、RIPモジュールの数よりも少ないページ数の印刷文書をラスタデータに変換するRIP処理を実施する場合は、当該少ないページ数の印刷文書にかかわる変換処理時間(RIP処理時間)が低減されるとともに、消費電力が抑制される。
次に、複数のRIPモジュールによるRIP処理(印刷データ変換処理)について、第2の具体例を挙げて説明する。
上述した第1の具体例では、RIPモジュール割当て制御部130は、動作コントローラボード数を、休止状態となるコントローラボードの数が最大となるコントローラボード数=2と決定するようにしたが、これに限定されることなく、次にようにしてもよい。
すなわち、図9に示した例での前提条件(4つの条件)の下、RIPモジュール割当て制御部130は、上述したようにして決定した動作RIPモジュール数=4に対応するコントローラボードの数を動作コントローラボード数として決定してもよい。
具体的には、RIPモジュール割当て制御部130は、上述したようにして決定した動作RIPモジュール数=4および動作コントローラボード数=4を基に、動作すべきコントローラボードとして例えば4つのコントローラボード200#1,200#2,200#3,200#4を決定したとする。
そして、RIPモジュール割当て制御部130は、図10に示すように4つのコントローラボード200#1,200#2,200#3,200#4に対し、印刷文書(p1〜p4の4ページの印刷文書)を転送する。
また、RIPモジュール割当て制御部130は、全てのコントローラボードを示す情報(識別情報)=ID200#1〜ID200#4と、動作すべきコントローラボード200#1,200#2,200#3,200#4を示す情報(識別情報)=ID200#1,ID200#2,ID200#3,ID200#4と、動作RIPモジュール数=4を基に得られるコントローラボード毎のRIPモジュール数=1と、印刷文書のページ数=4とをページ割当て制御部140に出力する。
ページ割当て制御部140は、RIPモジュール割当て制御部130から取得した情報を基に、動作すべきコントローラボードを示す情報=ID200#1に対応するコントローラボード200#1のコントローラ制御部210に対し、RIPモジュール数=1、印刷文書のページ数=4に基づくページ割当て情報=p1を出力する(図10参照)。
これにより、コントローラボード200#1のコントローラ制御部210は、図10に示すように、例えばRIPモジュール220#1を動作させるとともに、動作されたRIPモジュール220#1に対しページ割当て情報p1を渡す。また、コントローラボード200#1のコントローラ制御部210は、RIPモジュール220#2に対してはスリープモード移行指示を出力する。
具体的には、コントローラボード200#1においては、当該コントローラボード200#1のマルチCPU201において、コントローラ制御部210を実行するCPUは、スリープモードの状態になっているRIPモジュール220#1を実行するCPUに対し動作指示を与え(当該CPUを動作させ)、この動作した当該CPUに対しページ割当て情報を渡す。また、コントローラ制御部210を実行するCPUは、RIPモジュール220#2を実行するスリープモードの状態のCPUに対しスリープモードの状態を維持させる(何もしない)。
また、ページ割当て制御部140は、コントローラボード200#1の場合と同様に、RIPモジュール割当て制御部130から取得した情報を基に、動作すべきコントローラボードを示す情報=ID200#2,ID200#3,ID200#4に対応するコントローラボード200#2,200#3,200#4のコントローラ制御部210に対し、RIPモジュール数=1、印刷文書のページ数=4に基づくページ割当て情報=p2,p3,またはp4を出力する(図10参照)。
これにより、コントローラボード200#2,200#3,200#4のコントローラ制御部210は、図10に示すように、それぞれ例えばRIPモジュール220#1を動作させるとともに、動作されたRIPモジュール220#1に対しページ割当て情報p2,p3またはp4を渡す。また、コントローラボード200#2,200#3,200#4のコントローラ制御部210は、RIPモジュール220#2に対してはスリープモード移行指示を出力する。
具体的には、コントローラボード200#2,200#3,200#4においては、コントローラボード200#1の場合と同様に、各コントローラボードのマルチCPU201において、コントローラ制御部210を実行するCPUは、スリープモードの状態になっているRIPモジュール220#1を実行するCPUに対し動作指示を与え(当該CPUを動作させ)、この動作した当該CPUに対しページ割当て情報を渡す。また、コントローラ制御部210を実行するCPUは、RIPモジュール220#2を実行するスリープモードの状態のCPUに対しスリープモードの状態を維持させる(何もしない)。
上述したように第2の具体例では、第1の具体例の場合に比較して消費電力の抑制効果は低下するものの、当該第2の具体例によるRIP処理を実行しない場合に比較して消費電力が抑制される。
次に、複数のRIPモジュールによるRIP処理(印刷データ変換処理)について、第3の具体例を挙げて説明する。
ここでは、第1の具体例での前提条件のうち、条件3については、印刷ページ数=4を印刷ページ数=8に変更した内容とする。他の条件についての変更はない。
このような前提条件の下では、RIPモジュール割当て制御部130は、印刷文書のページ数=8はRIPモジュール合計数=8と同じであると判断する(「印刷文書のページ数8<RIPモジュール合計数8」は不成立であると判断する)。
そのため、RIPモジュール割当て制御部130は、動作RIPモジュール数は、印刷文書のページ数=8に対応するRIPモジュール数=8と決定するとともに、動作コントローラボード数は、動作RIPモジュール数=8のRIPモジュールを動作するべくコントローラボードの数=4と決定する。
そして、RIPモジュール割当て制御部130は、図11に示すように4つのコントローラボード200#1,200#2,200#3,200#4に対し、印刷文書(p1〜p8の8ページの印刷文書)を転送する。
また、RIPモジュール割当て制御部130は、全てのコントローラボードを示す情報(識別情報)=ID200#1〜ID200#4と、動作すべきコントローラボード200#1〜200#4を示す情報(識別情報)=ID200#1〜ID200#4と、動作RIPモジュール数=8を基に得られるコントローラボード毎のRIPモジュール数=2と印刷文書のページ数=8とをページ割当て制御部140に出力する。
ページ割当て制御部140は、RIPモジュール割当て制御部130から取得した情報を基に、動作すべきコントローラボードを示す情報=ID200#1,ID200#2,ID200#3,ID200#4に対応するコントローラボード200#1,200#2,200#3,200#4のコントローラ制御部210に対し、RIPモジュール数=2、印刷文書のページ数=8に基づくページ割当て情報=該当する2ページ分の情報を出力する(図11参照)。
これにより、コントローラボード200#1〜200#4の各コントローラ制御部210は、図11に示すように、RIPモジュール220#1およびRIPモジュール220#2を動作させるとともに、動作されたRIPモジュール220#1およびRIPモジュール220#2に対しそれぞれページ割当て情報を渡す。
具体的には、コントローラボード200#1〜200#4においては、第1の具体例のコントローラボード200#1の場合と同様の処理が実施される。すなわち、コントローラ制御部210を実行するCPUは、RIPモジュール220#1を実行するスリープモードの状態のCPU、およびRIPモジュール220#2を実行するスリープモードの状態のCPUに対し動作指示を与える(当該各CPUをそれぞれ動作させる)とともに、動作した各CPUに対し該当するページ割り当て情報を渡す。
次に、複数のRIPモジュールによるRIP処理(印刷データ変換処理)について、第4の具体例を挙げて説明する。
上述した第1の具体例では、RIPモジュール割当て制御部130は、動作コントローラボード数は、休止状態となるコントローラボードの数が最大となるコントローラボード数=2と決定するようにしたが、これに限定されることなく、次にようにしてもよい。
すなわち、第1の具体例での前提条件の下、RIPモジュール割当て制御部130は、印刷文書のページ数=4、および各コントローラボードのRIPモジュール数=2を基に、当該ページ数=4は当該RIPモジュール数=2の整数倍この例では2倍であると認識し、当該RIPモジュール数=2を動作RIPモジュール数と決定する。
次に、RIPモジュール割当て制御部130は、上記決定した動作RIPモジュール数=2のRIPモジュールを動作するべくコントローラボードは一つのコントローラボードでよいと判断し、動作コントローラボード数=1と決定する。この場合、全コントローラボードの中の休止状態となるコントローラボードの数が最大となるコントローラボード数は「3」と決定される。
RIPモジュール割当て制御部130は、上述したようにして決定した動作RIPモジュール数=2および動作コントローラボード数=1を基に、動作すべきコントローラボードとして例えば1つのコントローラボード200#1を決定したとする。
そして、RIPモジュール割当て制御部130は、動作すべきものとして決定した1つのコントローラボード200#1に対し、印刷文書(p1〜p4の4ページの印刷文書)を転送するものの、動作しないものとして決定した他の3つのコントローラボード200#2,200#3,200#4に対しては、当該印刷文書は転送しない。
また、RIPモジュール割当て制御部130は、全てのコントローラボードを示す情報(識別情報)=ID200#1〜ID200#4と、動作すべきコントローラボード200#1を示す情報(識別情報)=ID200#1と、動作RIPモジュール数=2を基に得られるコントローラボードのRIPモジュール数=2と、印刷文書のページ数=4とをページ割当て制御部140に出力する。
ページ割当て制御部140は、RIPモジュール割当て制御部130から取得した情報を基に、動作すべきコントローラボードを示す情報=ID200#1に対応するコントローラボード200#1のコントローラ制御部210に対し、RIPモジュール数=2と、印刷文書のページ数=4に基づくページ割当て情報=p1,p2,p3,p4とを出力する。
これにより、コントローラボード200#1のコントローラ制御部210は、RIPモジュール220#1およびRIPモジュール220#2を動作させるとともに、動作されたRIPモジュール220#1に対しページ割当て情報p1及びp2を、また動作されたRIPモジュール220#2に対しページ割当て情報p3及びp4を渡す。
具体的には、コントローラボード200#1では、当該コントローラボード200#1のマルチCPU201(図3参照)において、コントローラ制御部210を実行するCPUは、RIPモジュール220#1を実行するスリープモードの状態のCPU、およびRIPモジュール220#2を実行するスリープモードの状態のCPUをそれぞれ動作させるとともに、動作した各CPUに対し該当するページ割当て情報を渡す。
これに対し、ページ割当て制御部140は、RIPモジュール割当て制御部130から取得した情報を基に、動作しないコントローラボードを示す情報=ID200#2,ID200#3,200#4に対応するコントローラボード200#2,200#3,200#4のコントローラ制御部210に対し、スリープモード移行指示を出力する。この場合、第1の具体例での例えばコントローラボード200#3の場合と同様の処理が実施されることとなる。
この第4の具体例で説明したように、本実施の形態では、印刷文書のページ数とコントローラ構成情報とを基に、動作するべくコントローラボードの数を制限するにあたっては、動作するべくコントローラボード上で動作させるRIPモジュールの数が、印刷文書のページ数よりも少なくなるケースもありうる。
この場合、印刷文書のページ数は、動作するコントローラボードで同時に並列処理を行わせるときのRIPモジュールの最大数を超えるため、1つのRIPモジュールで複数ページを順次処理せざるを得ない場合が発生することになる。
このような場合であっても、印刷文書を印刷データに変換するための所要時間つまり変換処理時間(RIP処理時間)は下記の理由により低下しない可能性がある。
(1)印刷文書を事前に転送するにあたり、決定されたコントローラボードのみに印刷文書を転送すればよいため、決定されない(活用されない)コントローラボードへの無駄な転送時間によるオーバーヘッドが抑制される。
(2)コントローラボード上で複数のRIPモジュールを動作させる場合、RIPモジュール内やRIPモジュール間の各種のキャッシュ機構(フォントやフォームなど)を活用したときのキャッシュのヒット率が向上する。これにより複数ページを順次処理することになるコントローラボードでは、印刷文書のページを印刷データに変換する効率が高まる。
以上説明したように、本実施の形態では、ショートジョブの印刷文書を印刷データに変換するとき、少なくとも、コントローラボード毎のRIPモジュールの最大数を合計した合計数よりも少ないページ数の印刷文書を印刷データに変換するときは(第1の具体例および第2の具体例の場合)、当該合計数のRIPモジュールのうち、ページ数に対応する複数のRIPモジュールのみを動作させ、他のRIPモジュールについては動作しないよう制御する。
そのため、動作しないよう制御されるRIPモジュールを実行するCPUについてはスリープモードに移行することとなり、電力供給量、換言すれば消費電力が、稼働モードの場合に比較して抑制される。尚、本実施の形態では、ショートジョブの一例として、RIPモジュールの合計数未満のページ数である印刷文書にて説明を行っているが、これに限らず、予め決められた値に基づいて、ショートジョブか否かを判断するようにしてもよい。
また、本実施の形態では、上述したようなショートジョブの印刷文書を印刷データに変換するときは(第1の具体例の場合)、個々のコントローラボードのRIP処理能力(CPUの数やメモリの記憶容量)を考慮して、当該複数のコントローラボードの中からRIPモジュールを動作させるコントローラボードを決定し、この決定したコントローラボード上の複数のRIPモジュールのみを動作させ、決定しなかった他のコントローラボード上の複数のRIPモジュールについては動作しないよう制御する。
そのため、上記決定されなかった他のコントローラボード上の動作しないよう制御される複数のRIPモジュールを実行する複数のCPUについてはスリープモードに移行することとなり、電力供給量、換言すれば消費電力が、稼働モードの場合に比較して抑制される。
特に、コントローラボードが追加されるように構成された印刷データ変換処理装置では、追加されたコントローラボードの数が多いほど、そしてRIPモジュールの数が多いほど、上述したようなショートジョブの印刷文書を印刷するに際し、不要な消費電力が抑制され経済的な運用が図られる。
以上本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本明細書で開示された実施の形態はすべての点で例示であって、開示された技術に限定されるものではないと考えるべきである。すなわち、本発明の技術的な範囲は、前記の実施の形態における説明に基づいて制限的に解釈されるものでなく、あくまでも特許請求の範囲の記載に従って解釈されるべきであり、特許請求の範囲の記載技術と均等な技術および特許請求の範囲の要旨を逸脱しない限りにおけるすべての変更が含まれる。
また、プログラムを用いる場合には、ネットワークを介して提供し、或いはCD−ROM等の記憶媒体に格納して提供してもよい。
すなわち、プログラムをハードディスク等の記憶装置(二次記憶装置)に記録する場合に限らず、当該プログラムを次のようにして提供してもよい。
たとえば、プログラムをROMに格納しておき、CPUが、このプログラムをこのROMから主記憶装置へローディングして実行するようにしてもよい。
また、上記プログラムを、DVD−ROM、CD−ROM、MO(光磁気ディスク)、フレキシブルディスク、などのコンピュータ読み取りされる記憶媒体に格納して配布するようにしてもよい。
さらには、画像処理装置等を通信回線(例えばインターネット)を介してサーバ装置あるいはホストコンピュータと接続するようにし、サーバ装置あるいはホストコンピュータから上記プログラムをダウンロードした後、このプログラムを実行するようにしてもよい。この場合、このプログラムのダウンロード先としては、RAM等のメモリやハードディスクなどの記憶装置(記憶媒体)が挙げられる。