(57)【特許請求の範囲】
【請求項１】
データ供給源から入力された印刷ジョブデータを解析して中間ページデータを生成する中間ページデータ生成手段と、
前記中間ページデータ生成手段によって生成された中間ページデータから画像データを生成し、記憶装置に格納する複数の画像データ生成手段と、
前記複数の画像データ生成手段によって前記記憶装置に記憶された画像データを読み出して所定のタイミングで印刷装置へ出力する画像データ出力手段と、
前記画像データ生成手段が前記中間ページデータから画像データを生成するのに要する生成時間を算出する画像データ生成時間算出手段と、
前記画像データ生成時間算出手段が算出した前記生成時間に対応して、前記中間ページデータから画像データを生成するために利用する前記複数の画像データ生成手段のそれぞれの利用時間を管理するスケジュール管理手段と、
前記画像データ生成時間算出手段が算出した前記生成時間から、前記画像データ出力手段が画像データを前記所定のタイミングで前記印刷装置へ出力可能か否かを判断する判断手段と、
前記判断手段により出力不可能と判断された場合には、前記スケジュール管理手段が、前記中間ページデータから画像データを生成するために利用する前記複数の画像データ生成手段のそれぞれの利用時間を制御して、前記画像データ出力手段が画像データを前記所定のタイミングで前記印刷装置へ出力可能とすることを特徴とする画像出力制御装置。
【請求項２】
前記スケジュール制御手段は、前記判断手段により出力不可能と判断された場合に、管理されている前記複数の画像データ生成手段のそれぞれの利用時間に対応して、未使用の画像データ生成手段を探し、得られた未使用の画像データ生成手段に、前記中間ページデータから画像データの生成及び格納を行わせることを特徴とする請求項１記載の画像出力制御装置。
【請求項３】
前記画像データ生成手段は中間ページデータをイメージデータに変換するレンダラであることを特徴とする請求項１または２に記載の画像出力制御装置。
【請求項４】
前記中間ページデータを複数のバンドに分割するバンド分割手段を更に有し、前記スケジュール管理手段は、前記バンド単位で画像データを生成するために利用する前記複数の画像データ生成手段のそれぞれの利用時間を管理することを特徴とする請求項１乃至３のいずれか１項に記載の画像出力制御装置。
【請求項５】
データ供給源から入力された印刷ジョブデータを解析して中間ページデータを生成する中間ページデータ生成ステップと、
前記中間ページデータ生成ステップによって生成された中間ページデータから画像データを生成し、記憶装置に格納する複数の画像データ生成ステップと、
前記複数の画像データ生成ステップによって前記記憶装置に記憶された画像データを読み出して所定のタイミングで印刷装置へ出力する画像データ出力ステップと、
前記画像データ生成ステップが前記中間ページデータから画像データを生成するのに要する生成時間を算出する画像データ生成時間算出ステップと、
前記画像データ生成時間算出ステップが算出した前記生成時間に対応して、前記中間ページデータから画像データを生成するために利用する前記複数の画像データ生成ステップのそれぞれの利用時間を管理するスケジュール管理ステップと、
前記画像データ生成時間算出ステップが算出した前記生成時間から、前記画像データ出力ステップが画像データを前記所定のタイミングで前記印刷装置へ出力可能か否かを判断する判断ステップと、
前記判断ステップにより出力不可能と判断された場合には、前記スケジュール管理ステップが、前記中間ページデータから画像データを生成するために利用する前記複数の画像データ生成ステップのそれぞれの利用時間を制御して、前記画像データ出力ステップが画像データを前記所定のタイミングで前記印刷装置へ出力可能とすることを特徴とする画像出力制御方法。
【請求項６】
前記スケジュール制御ステップは、前記判断ステップにより出力不可能と判断された場合に、管理されている前記複数の画像データ生成ステップのそれぞれの利用時間に対応して、未使用の画像データ生成ステップを探し、得られた未使用の画像データ生成ステップに、前記中間ページデータから画像データの生成及び格納を行わせることを特徴とする請求項５記載の画像出力制御方法。
【請求項７】
前記画像データ生成ステップは中間ページデータをイメージデータに変換するレンダラであることを特徴とする請求項５又は６に記載の画像出力制御方法。
【請求項８】
前記中間ページデータを複数のバンドに分割するバンド分割ステップを更に有し、前記スケジュール管理ステップは、前記バンド単位で画像データを生成するために利用する前記複数の画像データ生成ステップのそれぞれの利用時間を管理することを特徴とする請求項５乃至７の何れか１項に記載の画像出力制御方法。
【請求項９】
画像出力制御方法をプログラムとして記憶した、コンピュータにより読み出し可能な記憶媒体において、
前記画像出力制御方法が、
データ供給源から入力された印刷ジョブデータを解析して中間ページデータを生成する中間ページデータ生成ステップと、
前記中間ページデータ生成ステップによって生成された中間ページデータから画像データを生成し、記憶装置に格納する複数の画像データ生成ステップと、
前記複数の画像データ生成ステップによって前記記憶装置に記憶された画像データを読み出して所定のタイミングで印刷装置へ出力する画像データ出力ステップと、
前記画像データ生成ステップが前記中間ページデータから画像データを生成するのに要する生成時間を算出する画像データ生成時間算出ステップと、
前記画像データ生成時間算出ステップが算出した前記生成時間に対応して、前記中間ページデータから画像データを生成するために利用する前記複数の画像データ生成ステップのそれぞれの利用時間を管理するスケジュール管理ステップと、
前記画像データ生成時間算出ステップが算出した前記生成時間から、前記画像データ出力ステップが画像データを前記所定のタイミングで前記印刷装置へ出力可能か否かを判断する判断ステップと、
前記判断ステップにより出力不可能と判断された場合には、前記スケジュール管理ステップが、前記中間ページデータから画像データを生成するために利用する前記複数の画像データ生成ステップのそれぞれの利用時間を制御して、前記画像データ出力ステップが画像データを前記所定のタイミングで前記印刷装置へ出力可能とすること、
を特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像出力制御装置、画像出力制御方法、及び記憶媒体に関し、特に、ジョブデータを基に画像データを生成して出力する画像出力制御装置、該画像出力制御装置に適用される画像出力制御方法、及び該画像出力制御方法を実行するプログラムを記憶した記憶媒体に関する。
【０００２】
【従来の技術】
近年、複数のコンピュータがＬＡＮ（ローカルエリアネットワーク）によって相互接続され、こうしたＬＡＮに、多様な周辺機器群が接続可能となったシステムが多く用いられている。この周辺機器群としてはプリンタが一般的であるが、その他、コピー、ファックス機能を備えたマルチファンクション画像処理装置などがある。フロアなどに配置された構内機器を接続するＬＡＮでは、一つのユーザグループにおける接続機器の共有使用やデータ転送を可能としている。
【０００３】
また、その他のネットワークとして、空間的に離れた場所にある複数のＬＡＮを、高速総合デジタルネットワーク（ＩＳＤＮ）回線や公衆電話回線などにより接続した、ＷＷＷ（World Wide Web）などのインターネットに代表されるＷＡＮ（ワイドエリアネットワーク）もある。
【０００４】
通常、ＬＡＮ／ＷＡＮはそれぞれ、ファイルサーバー及びプリントサーバーを含むコンピュータ群により構成され、各コンピュータ内に搭載されるネットワークオペレーティングシステムは、データやファイルの転送及び共有、プリンタの共有などをおこなう各種プロトコルを備えている。
【０００５】
また、各コンピュータ上で動作するアプリケーションから転送された印刷ジョブは、一般にプリントサーバーを介して、ネットワークに接続されたプリンタヘ転送されるようになっている。
【０００６】
更に、ネットワークを構築するための各種機器や、ネットワーク上に接続されたコンピュータなどを含む各種装置の遠隔管理を行なうための通信プロトコルが標準化されており、例えば、簡易ネットワーク管理プロトコル（ＳＮＭＰ； Simple Network Management Protocol）などがある。これらのプロトコルを実装したネットワーク機器の場合には、ネットワーク管理ソフトウエアにより、ネットワーク上の遠隔地から各種機器を管理することができ、例えば、プリンタの場合には、プリンタの情報の取得、状態監視、状態変化時の通知、初期化制御などを行うことができる。
【０００７】
また、ＬＡＮを構成する際に、イーサネットケーブルによりコンピュータとプリンタ等とを接続する場合が一般的であるが、近年、より高速なＩＥＥＥ１３９４−１９９５（High Performance Serial Bus）方式によるデジタル機器のネットワーク接続も実現されている。ＩＥＥＥ１３９４シリアルバスのインタフェースを備える機器は、各自固有のＩＤを有し、それを認識し合うことで１つのネットワークを構成している。ネットワーク接続された各機器は、それぞれがコンピュータを介することなく独自に他装置へのデータ送信が可能であり、またデータ受信も可能となるように構成されている場合もある。
【０００８】
ＬＡＮを構成する各コンピュータ上で動作するユーザアプリケーションには、文書作成ソフト、表計算ソフトなど様々なものがある。それらのアプリケーションを使用して作成されたデータは、オペレーティングシステムの一機能としてのプリンタドライバソフトウェアにより、プリンタ制御言語であるＰＤＬ（Printer Description Language）データに変換された後、印刷ジョブとしてプリントスプーラに一時的に格納され、プリンタに送出されるように構成されている。
【０００９】
ここで印刷ジョブは、プリンタドライバソフトウェアにより、プリンタ毎に１対１に対応したＰＤＬデータとして、１つまたは複数のアプリケーション文書ファイルから生成される。印刷ジョブは、一つの印刷文書を構成する単位であり、通常、ジョブ開始命令とジョブ終了命令とによって区切られている。また、ジョブ開始命令などにはＰＤＬデータの種類やバージョン情報が付加されており、プリンタで処理する際の印刷ジョブ処理モジュールの判別情報として利用される。
【００１０】
プリンタでは、ホストコンピュータから送られてくる印字データを解析し、中間ページデータに変換してメモリに保持するまでの処理を、ＣＰＵとそれを制御するソフトウェアで行い、プリンタの用紙搬送に合わせて中間ページデータをレンダリングしてイメージデータとして出力する、いわゆるバンディング処理を専用のハードウェアで行うことが多い。以後、このハードウェアを「レンダラ」と呼ぶ。
【００１１】
【発明が解決しようとする課題】
ところで、印刷装置の高解像度化や高速化、カラー化に伴いレンダラでの処理の高速化が求められているが、それを低コストで実現することは容易ではなく、特に複雑な印字データの場合には、レンダラでの処理が用紙搬送に間に合わないため、バンディング処理を中断して、事前にレンダラを用いてレンダリングしておく等の処理が必要となる。
【００１２】
こうした処理により、印刷装置のもつ処理スピード（実効処理速度）で用紙の出力を行うことができなってしまうため、一分間に何枚の用紙に印刷できるかを示す印刷スループットＰＰＭ（Page Per Minute）値が極端に低下してしまう問題があった。
【００１３】
なお、カラー印刷の色要素であるＭＣＹＫの各プレーンを同時に印刷するカラー印刷装置においては、単純化して考えて、印刷速度（ＰＰＭ）が同じ白黒機の４倍の処理速度（ＰＰＭ）が必要となる。
【００１４】
そこで近年ではレンダラを４倍高速化する代りに、それぞれのプレーン毎にレンダラを搭載することで、印刷装置の高解像度化や高速化、カラー化に対応する場合もある。
【００１５】
しかし、こうした複数のレンダラの搭載でも、バンディング処理不可能な複雑な印刷データに対しては、先に述べた印刷スループットが低下する問題の解決に至ってはいない。
【００１６】
従来、大容量の記憶メモリを用意し、入力されたＰＤＬデータを、レンダラを使ってラスタ画像に展開して大容量の記憶メモリに格納した後、印刷装置の用紙搬送に合わせてラスタ画像データを送信するように構成して、複雑な印刷データに対応する場合もあるが、この場合には、大容量の記憶メモリが必須であるため、印刷装置のコストアップ要因となっている。
【００１７】
本発明はこのような問題点に鑑みてなされたものであって、バンディング処理不可能な複雑な印刷データの場合でも印刷スループットが低下することを防止するようにした画像出力制御装置、画像出力制御方法、及び記憶媒体を提供することを目的とする。
【００１８】
また、ラスタ画像データを格納するメモリの容量を削減して装置の低コスト化を図った画像出力制御装置、画像出力制御方法、及び記憶媒体を提供することを他の目的とする。
【００１９】
【課題を解決するための手段】
上記目的を達成するために、本発明の画像出力制御装置によれば、データ供給源から入力された印刷ジョブデータを解析して中間ページデータを生成する中間ページデータ生成手段と、前記中間ページデータ生成手段によって生成された中間ページデータから画像データを生成し、記憶装置に格納する複数の画像データ生成手段と、前記複数の画像データ生成手段によって前記記憶装置に記憶された画像データを読み出して所定のタイミングで印刷装置へ出力する画像データ出力手段と、前記画像データ生成手段が前記中間ページデータから画像データを生成するのに要する生成時間を算出する画像データ生成時間算出手段と、前記画像データ生成時間算出手段が算出した前記生成時間に対応して、前記中間ページデータから画像データを生成するために利用する前記複数の画像データ生成手段のそれぞれの利用時間を管理するスケジュール管理手段と、前記画像データ生成時間算出手段が算出した前記生成時間から、前記画像データ出力手段が画像データを前記所定のタイミングで前記印刷装置へ出力可能か否かを判断する判断手段と、前記判断手段により出力不可能と判断された場合には、前記スケジュール管理手段が、前記中間ページデータから画像データを生成するために利用する前記複数の画像データ生成手段のそれぞれの利用時間を制御して、前記画像データ出力手段が画像データを前記所定のタイミングで前記印刷装置へ出力可能とすることを特徴とする。
上記目的を達成するために、本発明の画像出力制御方法によれば、データ供給源から入力された印刷ジョブデータを解析して中間ページデータを生成する中間ページデータ生成ステップと、前記中間ページデータ生成ステップによって生成された中間ページデータから画像データを生成し、記憶装置に格納する複数の画像データ生成ステップと、前記複数の画像データ生成ステップによって前記記憶装置に記憶された画像データを読み出して所定のタイミングで印刷装置へ出力する画像データ出力ステップと、前記画像データ生成ステップが前記中間ページデータから画像データを生成するのに要する生成時間を算出する画像データ生成時間算出ステップと、前記画像データ生成時間算出ステップが算出した前記生成時間に対応して、前記中間ページデータから画像データを生成するために利用する前記複数の画像データ生成ステップのそれぞれの利用時間を管理するスケジュール管理ステップと、前記画像データ生成時間算出ステップが算出した前記生成時間から、前記画像データ出力ステップが画像データを前記所定のタイミングで前記印刷装置へ出力可能か否かを判断する判断ステップと、前記判断ステップにより出力不可能と判断された場合には、前記スケジュール管理ステップが、前記中間ページデータから画像データを生成するために利用する前記複数の画像データ生成ステップのそれぞれの利用時間を制御して、前記画像データ出力ステップが画像データを前記所定のタイミングで前記印刷装置へ出力可能とすることを特徴とする。
上記目的を達成するために、本発明の記憶媒体によれば、画像出力制御方法をプログラムとして記憶した、コンピュータにより読み出し可能な記憶媒体において、前記画像出力制御方法が、データ供給源から入力された印刷ジョブデータを解析して中間ページデータを生成する中間ページデータ生成ステップと、前記中間ページデータ生成ステップによって生成された中間ページデータから画像データを生成し、記憶装置に格納する複数の画像データ生成ステップと、前記複数の画像データ生成ステップによって前記記憶装置に記憶された画像データを読み出して所定のタイミングで印刷装置へ出力する画像データ出力ステップと、前記画像データ生成ステップが前記中間ページデータから画像データを生成するのに要する生成時間を算出する画像データ生成時間算出ステップと、前記画像データ生成時間算出ステップが算出した前記生成時間に対応して、前記中間ページデータから画像データを生成するために利用する前記複数の画像データ生成ステップのそれぞれの利用時間を管理するスケジュール管理ステップと、前記画像データ生成時間算出ステップが算出した前記生成時間から、前記画像データ出力ステップが画像データを前記所定のタイミングで前記印刷装置へ出力可能か否かを判断する判断ステップと、前記判断ステップにより出力不可能と判断された場合には、前記スケジュール管理ステップが、前記中間ページデータから画像データを生成するために利用する前記複数の画像データ生成ステップのそれぞれの利用時間を制御して、前記画像データ出力ステップが画像データを前記所定のタイミングで前記印刷装置へ出力可能とすること、を特徴とする。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照して説明する。
【００２５】
本発明の実施の形態の構成を説明する前に、本発明を適用するに好適なレーザビームプリンタの構成について図１を参照して説明する。なお、本発明を適用するプリンタは、レーザビームプリンタに限られるものではなく、他のプリント方式のプリンタでもよいことは言うまでもない。
【００２６】
図１は、レーザビームプリンタ（ＬＢＰ）の内部構造を示す断面図である。
【００２７】
図において、１００はＬＢＰ本体であり、外部に接続されているプリントサーバー（図２の２０１）から供給される文字印字命令、各種図形描画命令、イメージ描画命令及び色指定命令等に従って対応する文字パターンや図形、イメージ等を作成し、記録媒体である記録用紙上に像を形成する。１５１は操作入力のためのスイッチ及びプリンタの状態を表示するＬＥＤ表示器やＬＣＤ表示器等が配されている操作パネル、１０１はＬＢＰ本体１００の制御及びプリントサーバーから供給される文字印字命令等を解析するプリンタ制御ユニットである。
【００２８】
尚、本レーザビームプリンタは、ＲＧＢの色情報をＭ（マゼンタ）、Ｃ（シアン）、Ｙ（イェロー）、Ｋ（クロ）に変換し、それらを並列で像形成・現像するため、ＭＣＹＫそれぞれが像形成・現像機構を持つ。プリンタ制御ユニット１０１はＭＣＹＫそれぞれの印字イメージを生成し、ビデオ信号に変換してＭＣＹＫそれぞれのレーザ・ドライバに出力する。
【００２９】
Ｍ（マゼンタ）のレーザ・ドライバ１１０は半導体レーザ１１１を駆動するための回路であり、半導体レーザ１１１から発射されるレーザ光１１２を、入力されたビデオ信号に応じてオン・オフ切替する。レーザ光１１２は回転多面鏡１１３で左右方向に振られて静電ドラム１１４上を走査する。これにより、静電ドラム１１４上には文字や図形のパターンの静電潜像が形成される。この潜像は静電ドラム１１４周囲の現像ユニット（トナーカートリッジ）１１５によって現像された後、記録用紙に転写される。
【００３０】
Ｃ（シアン）、Ｙ（イエロー）、Ｋ（クロ）に関してもＭ（マゼンタ）と同様の像形成・現像機構を持ち、１２０〜１２５はＣ（シアン）用の像形成・現像機構、１３０〜１３５はＹ（イエロー）用の像形成・現像機構、１４０〜１４５はＫ（クロ）用の像形成・現像機構である。個々の機能はＭ（マゼンタ）の像形成・現像機構１１０〜１１５と同じであるので説明を省略する。
【００３１】
記録用紙にはカット・シートを用い、カット・シート記録紙はＬＢＰ本体１００に装着した給紙カセット１０２に収納され、バネ１０３で一定の高さに保たれる。カット・シート記録紙は、給紙ローラ１０４及び搬送ローラ１０５、１０６により装置内に取り込まれ、用紙搬送ベルト１０７に乗せられてＭＣＹＫの各像形成・現像機構を通過する。
【００３２】
記録用紙に転写されたＭＣＹＫの各トナー（粉末インク）は定着器１０８で熱と圧力により記録用紙に固定され、記録用紙は搬送ローラ１０９、１５０によってＬＢＰ本体１００上部に出力される。
【００３３】
（第１の実施の形態）
図２は、本発明に係る画像形成装置に備えられるプリンタ制御ユニットの第１の実施の形態の構成を示すブロック図である。ここでは、図１に示すレーザビームプリンタに装着されたプリンタ制御ユニットを説明する。
【００３４】
図２において、印刷ジョブは、パーソナルコンピュータ（ＰＣ）２００上で動作するアプリケーションプログラムによりプリンタ用の制御言語として生成され、プリントサーバー２０１内のプリントスプーラに格納される。パーソナルコンピュータ２００やプリントサーバー２０１は、ネットワークオペレーティングシステムの提供する機能を実現する。プリントサーバー２０１は、プリンタ１００のプリンタ制御ユニット１０１を構成するＬＡＮインタフェースカード２０４との間で、ＬＡＮ２０２を介して通信制御処理を実行し、印刷ジョブを入力部１−１０へ転送する。
【００３５】
ここで印刷ジョブは、ジョブ開始命令とジョブ終了命令とにより区切られたデータ単位としての形態を有し、文字、イメージ、図形等の描画命令及び色情報指示命令から成るデータである。
【００３６】
プリンタ制御ユニット１０１において、１−１はプリンタＣＰＵである。プリンタＣＰＵ１−１は、ＲＯＭ１−２のプログラム用ＲＯＭに記憶された制御プログラムに基づいて、システムバス１−４に接続される各種のデバイスとのアクセスを総括的に制御する。また、プリンタＣＰＵ１−１は、ＭＣＹＫ出力部Ｉ／Ｆ（印刷部インタフェース）１−８を介して印刷部１−９に、ＭＣＹＫの色要素毎の画像信号を出力情報として出力する。なお、プリンタＣＰＵ１−１には、印刷部１−９内で検知された紙搬送状況などの情報がＭＣＹＫ出力部Ｉ／Ｆ１−８を介して入力される。
【００３７】
ＲＯＭ１−２のプログラムＲＯＭには、後述の図４、図６〜図８及び図１１〜図１３に示す各フローチャートの制御プログラムが格納され、これらの制御プログラムはＣＰＵ１−１で実行される。
【００３８】
ＲＯＭ１−２内には制御プログラムの１つとして中間ページデータ生成モジュールが格納され、該モジュールをＣＰＵ１−１が実行することにより、入力部１−１０より入力された印刷ジョブが読み出され、データ解析が実行され、ＭＣＹＫの各色成分毎の中間ページデータが生成されてＲＡＭ１−６のページバッファに格納される。
【００３９】
また、各色成分に対応したＭ成分用レンダラ１−１１、Ｃ成分用レンダラ１−１２、Ｙ成分用レンダラ１−１３、Ｋ成分用レンダラ１−１４がシステムバス１−４に接続される。これらのレンダラは、機能的に互いに全く同等であるが、こうした４つの独立レンダラを、中間ページデータ生成モジュールが利用して、中間ページデータからビットマップ画像を非同期に生成し、これによって各色分の印字イメージを生成する。そして、ＲＡＭ１−６内に割り当てられた各色成分毎のＭＣＹＫバンドメモリに、それぞれの印字イメージを一時記憶する。
【００４０】
ＲＡＭ１−６内のＭＣＹＫバンドメモリに記憶された印字イメージはＭＣＹＫ出力部Ｉ／Ｆ１−８で、それぞれの色要素別にビデオ信号に変換されて印刷部１−９に出力される。
【００４１】
また、ＲＯＭ１−２は制御プログラムの１つとしてビットマップ出力処理モジュールを格納している。先に図１を参照して説明したように、本実施の形態におけるレーザビームプリンタでは、ＭＣＹＫの各色の像形成・現像を並列で行うため、ＭＣＹＫ出力部Ｉ／Ｆ１−８が、Ｍ出力インターフェース部、Ｃ出力インターフェース部、Ｙ出力インターフェース部、Ｋ出力インターフェース部の４つのインタフェース部を有しており、上記ビットマップ出力処理モジュールをＣＰＵ１−１が実行することにより、上記の４つのインタフェース部がそれぞれ独立に、ＲＡＭ１−６内に割り当てらたＭＣＹＫバンドメモリからドットデータ（印字イメージ）を読み出し、ビデオ信号に変換して各プレーンのレーザ・ドライバ１１０、１２０、１３０、１４０へ出力する。
【００４２】
ＲＯＭ１−２には、上記出力画像を生成する際に使用するフォントデータ（アウトラインフォントデータ或はドットフォントデータ）等が格納され、各レンダラ１−１１〜１−１４によって読み出されてビットマップ画像生成に利用される。また、ＲＯＭ１−２には、入力画像の色成分であるＲＧＢ色空間からプリンタの記録用色成分であるＭＣＹＫ色空間への色変換テーブル等も格納されている。
【００４３】
ＲＡＭ１−６は、ＣＰＵ１−１の主メモリ、ワークエリア、受信バッファ等として機能するＲＡＭであり、図示しない増設ポートにオプションＲＡＭを接続することにより、メモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１−６には、中間ページデータ生成モジュールによって生成された中間ページデータを格納するページバッファ、レンダリング処理部によって生成されたビットマップ画像（印字イメージ）を一時的に保持するＭＣＹＫバンドメモリ、ハードディスク（ＨＤ）１−３に記憶された外字、フォーム画像などの登録データやＲＯＭ１−２のアウトラインフォントからフォント生成モジュールによって生成されるビットマップ文字などを一時記憶するためのキャッシュメモリなどが含まれる。
【００４４】
ハードディスク１−３は、メモリコントローラ（ＭＣ）１−７によりアクセスを制御される２次記憶装置である。このハードディスク１−３は、パーソナルコンピュータ２００から入力された印刷データを基に作成された中間ページデータまたはビットマップ画像を格納する画像格納メモリとして利用される。また、パーソナルコンピュータ２００上の外字ファイルやフォームファイルなどから転送された登録データを記憶する登録メモリとしても利用される。
【００４５】
なお、ＣＰＵ１−１で実行される制御プログラムは、不図示のシステムクロックに従い、タスクと称されるロードモジュール単位に時分割制御を行うリアルタイムＯＳと、機能単位に動作する複数のロードモジュール（タスク）とによって構成されるものとする。
【００４６】
スケジュール制御部１−１５は、複数のレンダラ１−１１〜１−１４の使用状態を監視し、特に現在使用中でない空きレンダラを管理する。
【００４７】
プリンタ１００の用紙搬送に同期して中間ページデータをレンダリングしてイメージデータ（ビットマップ画像データ）として出力するバンディング処理を用いて画像生成を行うプリンタ制御ユニット１０１においては、プリンタ１００の用紙搬送に同期して、所定のタイミングでビットマップ画像をプリンタ１００へ転送する必要があるが、入力データが複雑な場合など、ビットマップ画像の転送が間に合わないバンディング出力処理不可能なケースが生じる。このような場合、用紙搬送に先立ってあらかじめビットマップ画像を生成しておく処理（これを「プレレンダリング処理」と呼ぶ）が必要であるが、まず従来における各処理モジュール（処理部）の処理タイミングの相互関係を、図３を参照して説明する。
【００４８】
図３は、従来技術における各処理モジュール（処理部）の相互関係を示すタイミングチャートである。
【００４９】
図において、入力データを解析して中間ページデータを生成する中間ページデータ生成モジュール（Ａ）と、中間ページデータをビットマップに変換するレンダリング処理部（Ｂ）とはマルチタスク処理により並列に動作し、レンダリング処理部によって生成されたビットマップ画像はビットマップ出力処理モジュール（Ｃ）において、用紙搬送に同期してプリンタ１００に転送される。
【００５０】
同図において、プリンタ１００の用紙搬送に合わせて、ページ３の中間ページデータをレンダリングしてイメージデータとして出力するバンディング出力処理が不可能と判断された場合、ページ３の中間ページデータに対してプレレンダリング処理を実施する必要がある。プレレンダリング処理では、レンダラ資源を排他的に使用する必要があるため、マルチタスクによる並列処理が中断される。ページ３の中間ページデータに対するバンディング出力処理が不可能と判断された時期には、レンダリング処理部においてページ２のレンダリング処理（３０１）が行われているので、このページ２のレンダリング処理（３０１）が終了するまで、すなわち時間ｔ１だけ、ページ３の中間ページデータに対するプレレンダリング処理（３０２）の実行を待つ。
【００５１】
ページ２のレンダリング処理（３０１）が終了すると、レンダリング処理部のレンダラを利用してページ３のプレレンダリング処理（３０２）を実行し、得られたビットマップ画像をＲＡＭに貯える。そして、ビットマップ出力処理モジュールによってページ３のビットマップ画像をＲＡＭから読み出してプリンタ１００に転送する（３０３）。その際に、ページ３のプレレンダリング処理（３０２）が終了するまで待って、ビットマップ出力処理モジュールがページ３のビットマップ画像をプリンタ１００に転送するので、画像出力転送に待機時間ｔ２が発生する。
【００５２】
このように、バンディング処理不可能となるページをプレレンダリング処理する場合には、レンダラ資源を排他的に使用する必要があるため、マルチタスクによる並列処理動作が中断され、そのため、（ｔ１＋ｔ２）の余分な待機時間が発生し、従来技術では、印刷スループットの大幅な低下が発生してしまう。なお、レンダラ資源の排他的使用とは、複数のレンダラを異なるページの処理に同時に使用することができないことを意味し、例えば図３において、ページ２のレンダリング処理（３０１）が終了するまで、ページ３のプレレンダリング処理（３０２）ができないことを意味する。
【００５３】
そこで本発明では、レンダラのスケジュール管理を効率的に実施し、これにより、排他的利用による待機時間を削減し、各処理モジュール（処理部）が可能な限りマルチタスク動作できるようにする。これを以下に説明する、
図４は、第１の実施の形態におけるプリンタ制御ユニット１０１で実行される画像処理の手順を示すフローチャートである。
【００５４】
パーソナルコンピュータ２００上のアプリケーションプログラムを用いてユーザが印刷を指示すると、プリントサーバー２０１とＬＡＮインタフェースカード２０３との間で通信が行われ、印刷ジョブが入力部１−１０に入力される。入力された印刷ジョブは、ＲＡＭ１−６内の受信バッファに一時格納される（Ｓ４０１）。
【００５５】
格納された印刷ジョブ（印字位置を示す制御コードや文字コード、図形情報及び色情報指示命令などが記載されたＰＤＬデータ）を中間ページデータ生成モジュールが読み出して、制御コードや描画データのコマンド解析を実行して中間ページデータを生成し（Ｓ４０２）、得られた中間ページデータを、印刷ジョブによって指示されたＭＣＹＫの色情報毎にＲＡＭ１−６内のページバッファに格納する（Ｓ４０３）。
【００５６】
以上のステップＳ４０１〜Ｓ４０３の各処理が、１ページ分の印刷データに対して完了されるまで繰り返し実施されるが（Ｓ４０４でＮ）、例えば印刷データ中の改ページコードを検出することにより、１ページ分の中間ページデータの生成終了が検知されると（Ｓ４０４でＹ）、ＲＡＭ１−６に格納された１ページ分の中間ページデータを、バンドメモリの所定の高さ（縦、横の２次元のメモリ領域における縦方向の所定長さ）毎に分割する。これは、ＲＡＭ１−６内に格納された１ページ分の中間ページデータを複数のバンドに分割して、バンド単位でレンダリング処理を行うことができるようにするためである。そして、複数のバンドに分割された中間ページデータのソート処理を実行する（Ｓ４０５）。
【００５７】
バンド毎に独立となるように分割ソート処理された中間ページデータを用いて、ビットマップ画像を生成する場合に要する１ページ分のレンダリング時間を計算する（Ｓ４０６）。すなわち先ず、中間ページデータ毎に、例えばビットマップ文字ならばビットマップ画像の幅と高さと色情報（ＭＣＹＫのうち、どのプレーンに描画されるかの情報等）とによりレンダリング時間を算出する。そして、算出されたレンダリング時間をバンド毎に合計してバンド毎のレンダリング時間を求める。更に、全てのバンドに亘って合計した１ページ分のレンダリング時間を求める。
【００５８】
このようにして得られた１ページ分のレンダリング（使用）時間、使用プレーン情報を、図５に示すレンダラ使用管理テーブルに登録する（Ｓ４０７）。
【００５９】
また、１ページ分のレンダリング（使用）時間を基に、プリンタ１００に所定のタイミングでデータ転送することが可能であるか否かを判定し（Ｓ４０８）、所定のタイミングでデータ転送することが可能である（バンディング出力可能）ならば、１ページ分の中間ページデータ生成は終了となり、ステップＳ４１３へ進む。
【００６０】
一方、ステップＳ４０８において、所定のタイミングでデータ転送することが不可能である（バンディング出力不可能）と判定されたならば、ステップＳ４０９へ進んでプレレンダリング処理を実行する。
【００６１】
プレレンダリング処理を実行するにあたって、レンダラ１−１１、１−１２、１−１３、１−１４の中から、ビットマップ出力処理モジュールで利用されていない空きレンダラ（レンダリング処理部）を獲得する（Ｓ４０９）。この際、スケジュール制御部１−１５に対して、空きレンダラ獲得を要求するが、詳細は図６を参照して後述する。
【００６２】
ビットマップ出力処理モジュールで利用されていない空きレンダラ（レンダリング処理部）が獲得されると、該レンダラを使用して、ＲＡＭ１−６内のページバッファに格納済みの中間ページデータを読み出してレンダリング処理を実行してビットマップ画像を生成する（Ｓ４１０）。生成されたビットマップ画像をＲＡＭ１−６内のページバッファに格納する（Ｓ４１２）。この際、不図示の圧縮モジュールを利用して格納するように構成してもよい。
【００６３】
以上のように、バンディング処理不可能な印刷ジョブデータに対しても、あらかじめビットマップ画像を生成するプレレンダリング処理を実行して、１ページ分の中間ページデータを生成する。
【００６４】
このようにして１ページ分の中間ページデータを生成する処理が終了すると、印刷ジョブが終了するまで、ステップＳ４０１〜Ｓ４１２の１ページ分の中間ページデータ生成処理を繰り返し実行する（Ｓ４１３）。
【００６５】
図５は、中間ページデータ生成モジュールが生成した中間ページデータを基に求められたレンダリングに関する情報を格納したレンダラ使用管理テーブルの一例を示す図である。
【００６６】
図中のレンダリング開始時間欄には、各ページ画像が、ＲＯＭ１−２に格納されているビットマップ出力処理モジュールによって印刷部１−９へ転送されるまでに待機すべき待機時間、つまり第１ページのビットマップ画像の出力開始時刻を基準とし、この基準時刻から、各ページのビットマップ画像の出力開始時刻までの時間（レンダリング開始時間）が格納される。
【００６７】
このレンダリング開始時間は、ＲＡＭ１−６内のページバッファに保持中の中間ページデータの総ページ数と、印刷部１−９が記録紙を出力可能な最大印刷スピード（ｐｐｍ）とによって算出される。印刷部１−９が記録紙を出力可能な最大印刷スピード情報はＲＯＭ１−２内に格納されており、ここでは３０ｐｐｍとして例示する。
【００６８】
３０ｐｐｍは１分間に３０ページの印刷が可能であることを示しており、レンダリング開始時間欄には、２秒／ページの出力時間が必要といった情報を基に、印刷ジョブの最初のページに関するビットマップ画像の出力開始時刻を基準とした相対時刻が格納される。
【００６９】
上述のように、レンダリング開始時間の算出は、中間ページデータの総ページ数と、印刷部１−９の最大印刷スピードとの２つの情報から行われ、該当ページにおけるレンダリング開始時間は、下記式（１）から算出される。
【００７０】
レンダリング開始時間＝（該当ページのページ順位数−１）×１ページ当たりの出力時間      …（１）
このレンダリング開始時間は、空きレンダラの有無を判定する際に利用される。
【００７１】
なお、ページの用紙サイズ、両面印刷が指示されているか、コピー部数が指示されているか等の情報を、ＲＡＭ１−６内のページバッファに、中間ぺージデータに関するレンダラ使用情報として記憶しておき、これらの情報を上記式（１）に加味して、より正確なレンダリング開始時間を得るようにしてもよい。
【００７２】
図５のレンダリング使用時間欄には、各レンダラによる１ページ分のレンダリング処理に要する時間が記載される。例えば、ページ１の中間ページデータは、ＭＣＹＫレンダラ１−１１〜１−１４を全て利用するカラーページに関わり、各レンダラは同時動作してページ１のレンダリング処理を実行するが、それに要する時間は各々２秒である。ページ２の中間ページデータは、Ｋレンダラ１−１４のみを利用するモノクロページに関わり、ＭＣＹプレーン用のレンダラ１−１１〜１−１３は利用しない。Ｋレンダラ１−１４によるレンダリング処理時間は２秒である。ページ３の中間ページデータは、Ｋレンダラ１−１４のみを利用するモノクロページに関わり、ＭＣＹプレーン用のレンダラ１−１１〜１−１３は利用しない。Ｋレンダラ１−１４によるレンダリング処理時間は２．５秒である。ページ４、５の中間ページデータは、ＭＣＹＫレンダラ１−１１〜１−１４を全て利用するカラーページに関わり、各レンダラは同時動作して１ページのレンダリング処理を実行するが、それに要する時間は各々２秒である。
【００７３】
図６、図７及び図８は、プレレンダリング処理を実行する際に行われるレンダラのスケジュール制御の手順を示すフローチャートである。図６はＲＯＭ１−２内の中間ページデータ生成モジュールの動作、図７はスケジュール制御部１−１５の動作、図８はＲＯＭ１−２内のビットマップ出力処理モジュールの動作を示し、各モジュール、部の相互間で各種通知の送受信が行われる。
【００７４】
図６に示す中間ページデータ生成モジュールは、図５に示す例の場合、ページ３のデータ解析処理を終了した後、図４に示すステップＳ４０８でバンディング処理不可能と判定された場合に、空きレンダラの獲得要求をスケジュール制御部１−１５に対して行う（Ｓ６０１）。
【００７５】
ここでは、図５に例示したページ３のレンダリング使用時間が２．５秒（Ｋプレーンのみ）であるため、プリンタ１００の印刷スピードである２秒／ページ以下でレンダリングすることは不可能、即ちバンディング出力処理不可能と判断されたケースを例にとって説明する。
【００７６】
図７に示すスケジュール制御部１−１５は、空きレンダラ獲得要求の受信に先立って、この場合、ぺージ２の出力指示をＲＯＭ１−２内のビットマップ出力処理モジュールに送信しており（Ｓ６１０）、Ｋレンダラ１−１４がページ２のレンダリング処理を実行中である。
【００７７】
スケジュール制御部１−１５は、中間ページデータ生成モジュールから空きレンダラ獲得要求を受信すると、図５に示したレンダラ使用管理テーブルを調べ、現時点で使用していないレンダラを検索する（Ｓ６１１）。その結果、ページ２のデータはモノクロデータのみであるので、Ｋレンダラ１−１４のみを利用しており、ＭＣＹレンダラ１−１１〜１−１３は未使用状態であることがわかる。
【００７８】
ステップＳ６１２で、現在出力処理中のレンダラではない空きレンダラがあるか否かを判断し、空きレンダラがあると判断されると、空きレンダラの空き時間が算出される（Ｓ６１３）。ここではＭレンダラ１−１１が選択され、Ｍレンダラ１−１１の空き時間が、ページ４で使用開始されることになるため４秒と算出される。
【００７９】
このレンダラの空き時間（４秒）と、ページ３のレンダリング使用時間（２．５秒）とを比較し、Ｍレンダラ１−１１をページ３のレンダリングに使用した場合に、ページ４の出力開始時間前に、ページ３のレンダリングが終了するか否かを判定する（Ｓ６１４）。ここでは、ページ４の出力開始時刻より前に、ページ３のレンダリングが終了するため、ページ４の画像出力に影響を与えないと判断されて、Ｍレンダラ１−１１の利用許可通知が中間ページデータ生成モジュールに対して通知される（Ｓ６１５）。
【００８０】
図６に示す中間ページデータ生成モジュールは、スケジュール制御部１−１５からレンダラ利用許可通知を受信し、レンダラの獲得をできたか否かの判断をする（Ｓ６０２）。レンダラの獲得ができないと判断した場合、ステップＳ６０１へ戻り、一方、レンダラの獲得ができたと判断すると、この場合、獲得したＭレンダラ１−１１を用いてページ３のＫプレーンのレンダリングを実行し、先に説明したようにＲＡＭ１−６内のページバッファに、得られたビットマップ画像を格納する（Ｓ６０３）
レンダリングが終了した後、獲得したＭレンダラ１−１１の解放通知をスケジュール制御部１−１５に送信して、ページ３の中間ページデータによるビットマップ画像の生成を終了する（Ｓ６０４）。
【００８１】
図７に示すスケジュール制御部１−１５において、ステップＳ６１２で、全てのレンダラが使用中のために空きレンダラがないと判断された場合、またはステップＳ６１４で、空きレンダラはあるが、空き時間がレンダリング使用時間より小さくて、ビットマップ出力処理モジュールによるビットマップ画像出力の開始時刻よりも後までレンダラを使用することになると判断された場合には、ステップＳ６１０に戻り、プリンタ１００の所定のタイミングで次のページの出力送信を指示し、空きレンダラが生じるまで無限ループとなる。なお。レンダラ１−１１〜１−１４がすべて使用状態になっていても、ＲＡＭ１−６内のページバッファに格納されている、プレレンダリング処理が必要なページ以前の全ての中間ページデータの出力が完了すれば、必ず空きレンダラが生じる。この場合は、図４を参照して説明した従来の処理と同じ処理となる。
【００８２】
図８に示すビットマップ出力処理モジュールは、スケジュール制御部１−１５からページの出力指示を受信すると（Ｓ６２０）、ＲＡＭ１−６内のページバッファから先頭バンドに対応するＭＣＹＫデータを読み込み（Ｓ６２１）、例えばＭデータはＭレンダラ１−１１を用いて、ＲＡＭ１−６内のＭ画像用バンドメモリにビットマップ画像を展開する（Ｓ６２２）。Ｃデータ、Ｙデータ、Ｋデータも同様に、Ｃレンダラ１−１２、Ｙレンダラ１−１３、Ｋレンダラ１−１４を用いて、ＲＡＭ１−６内のＣ画像用バンドメモリ、Ｙ画像用バンドメモリ、Ｋ画像用バンドメモリにビットマップ画像をそれぞれ展開する。
【００８３】
ＲＡＭ１−６内の各色のバンドメモリに展開されたビットマップ画像を、ＭＣＹＫ出力部Ｉ／Ｆ１−８が、プリンタ１００において規定された所定のタイミングで、それぞれＭ出カインタフェース、Ｃ出力インタフェース、Ｙ出力インタフェース、Ｋ出力インタフェースを介して、印刷部１−９に画像を転送する（Ｓ６２３）。
【００８４】
上述の処理を中間ページデータの全てのバンドに対して終了するまで繰り返す（Ｓ６２４）。
【００８５】
１ページ分の中間ページデータを印刷部１−９に転送終了したならば、画像出力の終了通知をスケジュール制御部１−１５に通知する（Ｓ６２５）。
【００８６】
このようにして、スケジュール制御部１−１５は複数のレンダラ１−１１、１−１２、１−１３、１−１４の状態を常に管理することにより、中間ページデータ生成モジュールで利用可能か否かの判定を行うことができる。
【００８７】
以上説明したＲＯＭ１−２内の中間ページデータ生成モジュール、レンダリング処理部（レンダラ１−１１〜１−１４）、ＲＯＭ１−２内のビットマップ出力処理モジュールが、マルチタスクで動作する場合の相互関係を、図９を参照して説明する。
【００８８】
図９は、中間ページデータ生成モジュール（Ａ）、レンダリング処理部（Ｂ）、及びビットマップ出力処理モジュール（ｃ）の相互関係の一例を示すタイミングチャートである。
【００８９】
先に説明したように、中間ページデータ生成モジュールがページ３の解析処理（７０１）を終了した後にバンディング出力処理不可能と判断された場合に、レンダリング処理部（レンダラ１−１１〜１−１４）を用いてプレレンダリング処理を実行する。その際、現在、ページ２の出力（７０２）を実行しているビットマップ出力処理モジュールではＫレンダラ１−１４のみを利用している。そこで、空きレンダラである、例えばＭレンダラ１−１１を利用して、ページ３のＫデータのレンダリング処理（７０３）を、ページ２のＫデータのビットマップ画像出力処理（７０２）と並列に実行させる。
【００９０】
Ｍレンダラ１−１１を利用してページ３のプレレンダリング処理（７０３）を実行した後、Ｋ画像のみのビットマップ画像をＲＡＭ１−６内のバンドメモリに貯えておき、これをビットマップ出力処理モジュールによって読み出して（７０４）プリンタ１００に転送する。
【００９１】
従来、バンディング処理不可能となるページをプレレンダリング処理する場合には、レンダラ資源を排他的に利用する必要があったため、マルチタスクによる並列処理動作を中断し、所定の待機時間が発生していたが、上記のように本発明では、レンダラの空き状態を監視することにより、ページ２のレンダリング処理（７０５）とページ３のプレレンダリング処理（７０３）との並列処理が可能となり、印刷スループットが大幅に向上する。
【００９２】
なお、第１の実施の形態例では、図６に示すステップＳ６０３において、ＲＡＭ１−６内に格納された中間ページデータのＫ画像を、Ｍレンダラ１−１１を用いてレンダリング処理しているが、本発明はこの方法に限るものではない。例えば、中間ページデータとしてＭ画像しかないデータに関し、Ｋレンダラ１−１４を用いてレンダリングしてもよく、ＭＣＹＫの中間ページデータとレンダラ１−１１〜１−１４とをどのように組み合わせてもよい。
【００９３】
また、図７に示すステップＳ６１１では、ページ単位での空きレンダラの検索を実行したが、バンド毎に空きレンダラを検索可能なように構成してもよい。その場合、ステップＳ６１０の画像出力指示の送信と、図８に示すステップＳ６２５の画像出力終了通知とは、バンド毎に送受信されることになる。
【００９４】
（第２の実施の形態）
次に第２の実施の形態を説明する。
【００９５】
第２の実施の形態の構成は、基本的に第１の実施の形態の構成と同じであるので、第２の実施の形態の説明においては、第１の実施の形態の構成を流用する。
【００９６】
図１０は、第２の実施の形態におけるレンダラ使用管理テーブルの一例を示す図である。
【００９７】
図１０に示すページ１〜ページ５の中間ページデータは各々、ＭＣＹＫレンダラ１−１１〜１−１４を全て利用するカラーページに関わり、各レンダラは同時動作して１ページ分のレンダリング処理を実行する。
【００９８】
レンダリング使用時間欄に記載されるように、レンダリングに要する時間は、ページ１〜ページ３が各々１秒であり、ページ４が３秒、ページ５が２秒である。プリンタ１００の印刷スピードは２秒／ページであるので、ページ４はバンディング処理不可能なページである。
【００９９】
図１１、図１２及び図１３は、第２の実施の形態においてプレレンダリング処理を実行する際に行われるレンダラのスケジュール制御の手順を示すフローチャートである。図１１はＲＯＭ１−２内の中間ページデータ生成モジュールの動作、図１２はスケジュール制御部１−１５の動作、図１３はＲＯＭ１−２内のビットマップ出力処理モジュールの動作を示し、各モジュール、部の相互間で各種通知の送受信が行われる。なお、第２の実施の形態においても、図４に示す第１の実施の形態におけるプリンタ制御ユニット１０１で実行される画像処理と同一の処理が行われる。
【０１００】
図１１に示す中間ページデータ生成モジュールは、図１０に示す例においてページ４のデータ解析処理を終了した後、図４に示すステップＳ４０８でバンディング処理不可能と判定された場合に、空きレンダラの獲得要求をスケジュール制御部１−１５に対して行う（Ｓ９０１）。
【０１０１】
前述のようにここでは、図１０に例示したページ４のレンダリング使用時間が３．０秒（ＭＣＹＫ各プレーンの合計時間）であるため、プリンタ１００の印刷スピードである２秒／ページ以下でレンダリングすることは不可能、即ちバンディング出力処理不可能と判断されたケースを例にとって説明する。
【０１０２】
図１２に示すスケジュール制御部１−１５は、空きレンダラ獲得要求の受信に先立って、この場合、ぺージ３の出力指示をＲＯＭ１−２内のビットマップ出力処理モジュールに送信しており（Ｓ９１０）、ＭＣＹＫレンダラ１−１１〜１−１４がページ３のレンダリング処理を実行中である。
【０１０３】
スケジュール制御部１−１５は、空きレンダラ獲得要求を受信すると、図１０に示すレンダラ使用管理テーブルを調べ、下記式（２）に基づき、レンダラの空き時間を算出する（Ｓ９１１）。
【０１０４】
空き時間＝レンダリング処理可能な時間−レンダリング使用時間  …（２）
ステップＳ９１２で、現在出力処理中のレンダラが出力処理を終了後、次のページのレンダリング開始時刻までの時間であるレンダラ空き時間と、ページ４のレンダリング使用時間とを比較し、ページ４の出力開始時刻（６．０秒）前に、ページ４のレンダリングが終了するか否かを判定する（Ｓ９１２）。
【０１０５】
ステップＳ９１２において、４つのレンダラにおいて空き時間はあるが、それらを使用したプレレンダリングに要する時間が大きくて、ビットマップ出力処理モジュールの出力開始時刻までにプレレンダリング処理が終了しないと判断された場合には、プレレンダリング処理が必要なページ以降の次のページの空き時間を加算する（Ｓ９１３）。ステップＳ９１２に戻って、レンダラの空き時間が、プレレンダリング処理時間を上回ると、ＭＣＹＫレンダラ１−１１〜１−１４の利用許可通知を中間ページデータ生成モジュールに対して通知する（Ｓ９１４）。
【０１０６】
図１１の中間ページデータ生成モジュールは、レンダラ利用許可通知を受信すると、レンダラの獲得ができた否かを判断する（Ｓ９０２）。その結果、レンダラの獲得ができた場合、獲得したＭＣＹＫレンダラ１−１１〜１−１４を用いてぺージ４のレンダリングを実行し、ＲＡＭ１−６内のページバッファにビットマップ画像を格納する（Ｓ９０３）。
【０１０７】
なお、図１２のスケジュール制御部１−１５は、ビットマップ出力処理モジュールが次のページ（ここではページ２）を出力するためにレンダラの利用が必要な場合には、中間ページデータ生成モジュールに対してレンダラの一時解放要求を通知する（Ｓ９１５）。この一時解放要求を受信した図１１の中間ページデータ生成モジュールは、ステップＳ９０３において、ＲＡＭ１−６内のページバッファへの読み込みをバンドの区切りで中断し、中断情報（どのバンドまでレンダリングしかの情報等）をＲＡＭ１−６に保存した後、獲得したＭＣＹＫレンダラ１−１１〜１−１４の解放通知をスケジュール制御部１−１５に送信する（Ｓ９０４）。
【０１０８】
次のステップＳ９０５において、レンダリングが終了しているか否かを判断し、レンダリングが終了していなければ、ステップＳ９０１へ戻って、再度空きレンダラの獲得要求を実行し、プレレンダリング処理を行う。
【０１０９】
なお、レンダリング実行処理ステップＳ９０３において、以前にレンダリングが中断されていたならば、中断されていた処理を再開する。
【０１１０】
図１３に示すビットマップ出力処理モジュールでの処理は、図８を参照して説明した第１の実施の形態と同一であるため、説明を割愛する。
【０１１１】
以上説明した中間ページデータ生成モジュール、レンダラ処理部（レンダラ１−１１〜１−１４）、及びビットマップ出力処理モジュールがマルチタスクで動作する場合の相互関係を、図１４を参照して説明する。
【０１１２】
図１４は、中間ページデータ生成モジュール（Ａ）、レンダリング処理部（Ｂ）、及びビットマップ出力処理モジュール（Ｃ）の相互関係の一例を示すタイミングチャートである。
【０１１３】
中間ページデータ生成モジュールがページの解析処理を終了した後、バンディング出力処理不可能と判断した場合に、レンダリング処理部を用いてプレレンダリング処理を実行する。その際、ページ１、ページ２、ページ３のレンダリング終了後の空き時間（それぞれｒ１、ｒ２、ｒ３）を利用して、ページ４のプレレンダリング処理を実行する。
【０１１４】
このように、空きレンダラがなくても、ビットマップ出力処理モジュールの出力の合間の時間ｒ１，ｒ２，ｒ３を利用することにより、ページ４のレンダリング処理をページ１、２、３のビットマップ画像出力処理と擬似的な並列処理として実行する。
【０１１５】
レンダラ１−１１〜１−１４の空き時間を利用してページ４のプレレンダリング処理を実行した後、ＭＣＹＫ成分のビットマップ画像をＲＡＭ１−６内のバンドメモリに貯えておき、ビットマップ出力処理モジュールがこれを読み出してプリンタ１００に転送する。
【０１１６】
第２の実施の形態では、図１２に示すステップＳ９１２〜Ｓ９１３でページ単位で処理を実行するとして説明したが、バンド毎に空き時間の加算を行うように構成してもよい。その場合、ステップＳ９１０での画像出力指示の送信と、図１３のステップＳ６２５での画像出力終了通知とはバンド毎に送受信される。バンド毎に空き時間を管理し、それを中間ページデータでも利用可能とすることにより、レンダラを更に有効に活用することができる。
【０１１７】
従来、バンディング処理不可能となるページをプレレンダリング処理する場合には、レンダラ資源を排他的に利用する必要があったため、マルチタスクによる並列処理動作を中断し、所定の待機時間が発生していたが、上記のように本発明では、レンダラの空き状態を監視することにより並列処理が可能となり、印刷スループットが大幅に向上する。
【０１１８】
なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、またＬＡＮ等のネットワークを介して処理が行われるシステムであっても、本発明を適用できることは言うまでもない。
【０１１９】
また、システム或いは装置にプログラムを供給することによって実施される場合にも適用できることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が、前述の各実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体が本発明を構成することになる。
【０１２０】
プログラムコードを供給するための記憶媒体として、例えば、フロッピィディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１２１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【０１２２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【０１２３】
【発明の効果】
以上詳述したように本発明によれば、バンディング処理不可能な複雑な印刷データの場合でも、複数のレンダラの利用時間をスケジュール管理することにより並列処理が可能となり、印刷スループットを大幅に向上することができるという効果がある。
【図面の簡単な説明】
【図１】レーザビームプリンタ（ＬＢＰ）の内部構造を示す断面図である。
【図２】本発明に係る画像形成装置に備えられるプリンタ制御ユニットの第１の実施の形態の構成を示すブロック図である。
【図３】従来技術における各処理モジュール（処理部）の相互関係を示すタイミングチャートである。
【図４】第１の実施の形態におけるプリンタ制御ユニットで実行される画像処理の手順を示すフローチャートである。
【図５】中間ページデータ生成モジュールが生成した中間ページデータを基に求められたレンダリングに関する情報を格納したレンダラ使用管理テーブルの一例を示す図である。
【図６】プレレンダリング処理を実行する際に行われるレンダラのスケジュール制御の手順を示すフローチャートである。特に中間ページデータ生成モジュールの動作を示す。
【図７】プレレンダリング処理を実行する際に行われるレンダラのスケジュール制御の手順を示すフローチャートである。特にスケジュール制御部の動作を示す。
【図８】プレレンダリング処理を実行する際に行われるレンダラのスケジュール制御の手順を示すフローチャートである。特にビットマップ出力処理モジュールの動作を示す。
【図９】中間ページデータ生成モジュール（Ａ）、レンダリング処理部（Ｂ）、及びビットマップ出力処理モジュール（ｃ）の相互関係の一例を示すタイミングチャートである。
【図１０】第２の実施の形態におけるレンダラ使用管理テーブルの一例を示す図である。
【図１１】第２の実施の形態においてプレレンダリング処理を実行する際に行われるレンダラのスケジュール制御の手順を示すフローチャートである。特に中間ページデータ生成モジュールの動作を示す。
【図１２】第２の実施の形態においてプレレンダリング処理を実行する際に行われるレンダラのスケジュール制御の手順を示すフローチャートである。特にスケジュール制御部の動作を示す。
【図１３】第２の実施の形態においてプレレンダリング処理を実行する際に行われるレンダラのスケジュール制御の手順を示すフローチャートである。特にビットマップ出力処理モジュールの動作を示す。
【図１４】中間ページデータ生成モジュール（Ａ）、レンダリング処理部（Ｂ）、及びビットマップ出力処理モジュール（Ｃ）の相互関係の一例を示すタイミングチャートである。
【符号の説明】
１−１  ＣＰＵ（中間ページデータ生成手段、画像データ生成手段、画像データ出力手段、画像データ生成時間算出手段、判断手段、調整手段）
１−２  ＲＯＭ（中間ページデータ生成手段、画像データ生成手段、画像データ出力手段、画像データ生成時間算出手段、判断手段、調整手段）
１−３  ハードディスク（ＨＤ）
１−４  システムバス
１−５  ＮＶＲＡＭ
１−６  ＲＡＭ（記憶装置）
１−７  メモリコントローラ（ＭＣ）
１−８  ＭＣＹＫ出力部Ｉ／Ｆ（印刷部Ｉ／Ｆ、画像データ出力手段）
１−９  印刷部（外部装置）
１−１０  入力部
１−１１  Ｍレンダラ（画像データ生成手段）
１−１２  Ｃレンダラ（画像データ生成手段）
１−１３  Ｙレンダラ（画像データ生成手段）
１−１４  Ｋレンダラ（画像データ生成手段）
１−１５  スケジュール制御部（画像データ生成時間算出手段、判断手段、調整手段）
１００  プリンタ
１０１  プリンタ制御ユニット
１５１  操作部
２００  パーソナルコンピュータ（データ供給源）
２０１  プリントサーバー
２０２  ＬＡＮ
２０４  ＬＡＮインタフェースカード
【図１】
0004418573.tif 000002
【図２】
0004418573.tif 000003
【図３】
0004418573.tif 000004
【図４】
0004418573.tif 000005
【図５】
0004418573.tif 000006
【図６】
0004418573.tif 000007
【図７】
0004418573.tif 000008
【図８】
0004418573.tif 000009
【図９】
0004418573.tif 000010
【図１０】
0004418573.tif 000011
【図１１】
0004418573.tif 000012
【図１２】
0004418573.tif 000013
【図１３】
0004418573.tif 000014
【図１４】
0004418573.tif 000015