(57)【要約】【課題】  マルチプロセッサを使用したバンドデータの並列処理において、複数ページ処理時に発生するプロセッサの遊休時間を減少させ、プロセッサの稼働率を向上させることである。【解決手段】  複数の部分データ処理手段１０３〜１０５のいずれかの部分データ処理手段に部分データの処理を要求する部分データ処理要求手段１０２を備える。そして、部分データ処理要求手段１０２が各部分データ処理手段１０３〜１０５により処理された描画済みの部分データが処理中のページに属さないと判断する場合がある。この場合に、描画済みの部分データを保留手段に保留させ、部分データ処理結果収集だ１０７が保留手段に保留された前記描画済みの部分データを１ページ分収集して出力手段１０８に出力する構成を特徴とする。【選択図】  図１
2007152623.tif 000002
【特許請求の範囲】
【請求項１】
入力される印刷データから印刷イメージを生成し、該印刷イメージを出力装置に出力する描画制御装置であって、
前記印刷データを複数の部分データに分割する分割手段と、
前記分割手段により分割された部分データを処理する複数の部分データ処理手段と、
前記複数の部分データ処理手段のいずれかの部分データ処理手段に部分データの処理を要求する処理要求手段と、
各部分データ処理手段により処理された描画済みの部分データが処理中のページに属するかどうかを判断する判断手段と、
前記判断手段により処理中のページに属さないと判断した場合に、前記描画済みの部分データを保留する保留手段と、
前記保留手段に保留された前記描画済みの部分データを１ページ分収集して出力手段に出力する収集手段と、
を有することを特徴とする描画制御装置。
【請求項２】
前記処理要求手段は、前記複数の部分データ処理手段中の各部分データ処理手段を部分データの処理をラウンドロビンで要求することを特徴とする請求項１記載の描画制御装置。
【請求項３】
前記複数の部分データ処理手段は、各部分データ処理手段にプロセッサを割り当ててマルチプロセッサ構成としたことを特徴とする請求項１または２記載の描画制御装置。
【請求項４】
前記部分データは、１ページが複数の短冊状に分割されたバンドデータであることを特徴とする請求項１〜３のいずれかに記載の描画制御装置。
【請求項５】
入力される印刷データから印刷イメージを生成し、該印刷イメージを出力装置に出力する描画制御装置における描画制御方法であって、
前記印刷データを複数の部分データに分割する分割ステップと、
前記分割ステップにより分割された部分データを処理する複数の部分データ処理ステップと、
前記複数の部分データ処理ステップのいずれかの部分データ処理ステップに部分データの処理を要求する処理要求ステップと、
各部分データ処理ステップにより処理された描画済みの部分データが処理中のページに属するかどうかを判断する判断ステップと、
前記判断ステップにより処理中のページに属さないと判断した場合に、前記描画済みの部分データを保留手段に保留する保留ステップと、
前記保留手段に保留された前記描画済みの部分データを１ページ分収集して出力手段に出力する収集ステップと、
を有することを特徴とする描画制御方法。
【請求項６】
前記処理要求ステップは、前記複数の部分データ処理ステップ中の各部分データ処理ステップを部分データの処理をラウンドロビンで要求することを特徴とする請求項５記載の描画制御方法。
【請求項７】
前記部分データは、１ページが複数の短冊状に分割されたバンドデータであることを特徴とする請求項５または６のいずれかに記載の描画制御方法。
【請求項８】
請求項５〜７のいずれかに記載の描画制御方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項９】
請求項５〜７のいずれかに記載の描画制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサにより入力された印刷データを解析してイメージデータを描画処理する描画処理装置に関するものである。
【背景技術】
【０００２】
近年、プリンタの高解像化に伴い、プリンタの印刷処理を制御するコントローラで、処理するデータの容量が増大する傾向がある。
【０００３】
このような大容量のデータを高速に処理するために、コントローラボードに複数のプロセッサを搭載し、データを並列に処理してスループットを向上させるものがみられる。コントローラでは、メモリの使用量を抑えるために１ページ分のデータを複数のデータに分割して処理するのが一般的である。これらのデータを処理する際の並列化方法としては、以下のようなものがある。
【０００４】
（１）バンドデータ内の色成分毎（ＣＭＹＫ）に処理を並列化（特許文献１参照）
（２）バンドデータの処理を並列化
（１）の場合、バンドデータの色成分の並列化において、各成分の処理時間を予測し、これに基づいてプロセッサへの配分を制御することによりオーバーランの発生を防いでいる。この場合、バンドデータとしてはプリンタで実際に印刷される順序で処理されるため、コントローラは処理終了したバンドデータを順次プリンタエンジンに転送すればよい。
【０００５】
これに対し、（２）の場合、バンドデータが複数のプロセッサで並列処理されるため、その処理終了順序は、プリンタエンジンに転送すべき順序になるとは限らない。
【０００６】
このため、ページを構成する全てのバンドの処理終了を待ち、バンドを所定の順序でプリンタエンジンに転送する手段が必要になる。ページデータを、それを構成する要素データに分割、複数プロセッサで処理し、処理結果を合成する例が特許文献２に開示されている。
【特許文献１】特開２０００−３５１２４０号公報
【特許文献２】特開平１１−２０８０５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したように、バンドデータ単位の並列化を行う場合、１ページ分のバンドデータの処理終了を待って、プリンタエンジンへデータ転送を行う仕組みが必要になる。
【０００８】
以下、図７示すタイミングチャートを参照して、３つのＰＥ（プロセッサエレメント）で９つのバンドに分割されたページのデータ処理について説明する。
【０００９】
図７は、この種の描画制御装置における印刷データ処理タイミングを説明する図である。
【００１０】
なお、図７の（ａ）は、３つのＰＥ（プロセッサエレメント）で９つのバンドに分割されたページのデータを処理する場合の処理タイミングを示す。
【００１１】
図７の（ａ）において、縦軸はバンドデータを並列に処理するＰＥの番号（ＰＥ１、ＰＥ２、ＰＥ３）を、横軸は時間ｔを表す。
【００１２】
また、図７の（ａ）において、「１」〜「９」までの番号がついている四角は、各バンドデータの処理を表す。
【００１３】
さらに、図７の（ａ）では、期間Ｔｅに全てのバンドデータの処理が終了するまで、次ページの処理は開始されない。
【００１４】
また、各バンドの処理時間は含まれるデータの内容により異なるため、図７の（ａ）の場合、ＰＥ１については、期間Ｔｅ１〜Ｔｅまで、ＰＥ３については、期間Ｔｅ３〜Ｔｅまでの間、処理が行われていない遊休時間が発生することになる。
【００１５】
また、ページサイズの違いやバンドサイズの設定によっては、バンド数がＰＥ数の整数倍にならない場合もある。この場合、最後のバンド処理の時点でバンドデータが割り当てられないＰＥが発生するため、より大きな遊休時間が発生する。
【００１６】
図７の（ｂ）に、３つのＰＥで７つのバンドを処理する場合の処理例を示す。
【００１７】
この問題を解決する方法としては、１ページ分のバンドデータを待つ手段を拡張して、２ページ分のバンドデータを待てるようにする方法が考えられる。
【００１８】
しかし、この場合、２ページ分のバンドデータを待つためにより多くのメモリが必要になり、プリンタエンジンに送るべきページデータの管理が複雑になるという問題がある。
【００１９】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、複数ページ処理時に発生するプロセッサの遊休時間を減少させ、プロセッサの稼働率を向上させることができる仕組みを提供することである。
【課題を解決するための手段】
【００２０】
上記目的を達成する本発明の描画制御装置は以下に示す構成を備える。
【００２１】
入力される印刷データから印刷イメージを生成し、該印刷イメージを出力装置に出力する描画制御装置であって、前記印刷データを複数の部分データに分割する分割手段を有する。また、前記分割手段により分割された部分データを処理する複数の部分データ処理手段と、前記複数の部分データ処理手段のいずれかの部分データ処理手段に部分データの処理を要求する処理要求手段とを有する。さらに、各部分データ処理手段により処理された描画済みの部分データが処理中のページに属するかどうかを判断する判断手段を有する。さらに、前記判断手段により処理中のページに属さないと判断した場合に、前記描画済みの部分データを保留する保留手段を有する。さらに、前記保留手段に保留された前記描画済みの部分データを１ページ分収集して出力手段に出力する収集手段とを有することを特徴とする。
【００２２】
上記目的を達成する本発明の描画制御方法は以下に示す構成を備える。
【００２３】
入力される印刷データから印刷イメージを生成し、該印刷イメージを出力装置に出力する描画制御装置における描画制御方法であって、前記印刷データを複数の部分データに分割する分割ステップを有する。また、前記分割ステップにより分割された部分データを処理する複数の部分データ処理ステップを有する。さらに、前記複数の部分データ処理ステップのいずれかの部分データ処理ステップに部分データの処理を要求する処理要求ステップを有する。さらに、各部分データ処理ステップにより処理された描画済みの部分データが処理中のページに属するかどうかを判断する判断ステップを有する。さらに、前記判断ステップにより処理中のページに属さないと判断した場合に、前記描画済みの部分データを保留手段に保留する保留ステップを有する。さらに、前記保留手段に保留された前記描画済みの部分データを１ページ分収集して出力手段に出力する収集ステップとを有することを特徴とする。
【発明の効果】
【００２４】
本発明によれば、マルチプロセッサを使用したバンドデータの並列処理において、複数ページ処理時に発生するプロセッサの遊休時間を減少させ、プロセッサの稼働率を向上させることができる。
【００２５】
また、使用可能なメモリ容量の変化に容易に対応することができる。
【発明を実施するための最良の形態】
【００２６】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００２７】
＜システム構成の説明＞
〔第１実施形態〕
以下、図面を参照して本発明の実施の形態を説明する。
【００２８】
図１は、本発明の第１実施形態を示す描画制御装置を適用可能な画像形成装置の構成を説明するブロック図である。なお、描画制御装置は、画像形成装置以外の画像処理装置、複合画像形成装置等であって、入力された印刷データを解析して、描画処理を行うデバイスであれば、本発明を適用可能である。また、描画制御装置は、画像形成装置と通信可能な外部ユニットして構成してもよい。
【００２９】
図１において、入力手段１００は、入力手段１００が、イーサネット（登録商標）などの通信手段を介して取得した印刷データをデータ分割手段１０１に供給する。
【００３０】
データ分割手段１０１は、所定の基準に従い印刷データを部分データに分割する。本実施形態においては、１ページ分の印刷データを短冊状の領域に分割したバンド領域に分割する。
【００３１】
部分データ処理要求手段１０２は、データ分割手段１０１で分割されたバンドデータを、それぞれ異なるＰＥ上で動作する部分データ処理手段１０３、部分データ処理手段１０４、部分データ処理手段１０５のいずれかに処理要求する。いずれの部分データ処理手段に処理を要求するかの判定については後述する。
【００３２】
部分データ処理手段１０３、部分データ処理手段１０４、部分データ処理手段１０５は、それぞれ別のＰＥに配置され、部分データ処理要求手段１０２からの要求に応じて部分データを処理する。
【００３３】
なお、部分データはバンドデータであり、各部分データ処理手段１０３〜１０６は、バンドデータを処理して出力手段１０９を介してプリンタエンジンに供給可能な形式のイメージデータを生成する。
【００３４】
部分データ処理結果保留手段１０６は、待ち行列を持ち、部分データ処理手段１０３、部分データ処理手段１０４、部分データ処理手段１０５からの部分データ処理結果を受け取り保留する機能を備える。
【００３５】
また、部分データ処理結果保留手段１０６は、処理結果が、部分データ処理結果収集手段１０７で処理中のページに属するものであるかどうかを判定する機能を備えている。
【００３６】
そして、該処理結果が部分データ処理結果収集手段１０７で処理中のページに属するものである場合は、部分データ処理結果保留手段１０６は、該処理結果を部分データ処理結果収集手段１０７に通知する。なお、該処理結果が部分データ処理結果収集手段１０７で処理中のページに属するものでない場合は、部分データ処理結果保留手段１０６は、概処理結果を自身の待ち行列に再度追加し、保留させる。
【００３７】
部分データ処理結果収集手段１０７は、処理中のページの番号と、該ページに属する部分データ（バンド）のＩＤのリストを管理している。
【００３８】
そして、部分データ処理結果収集手段１０７は、部分データ処理結果保留手段１０６から通知される概処理結果のバンドＩＤをチェックし、処理中のページに属するバンドのＩＤリスト内の全てのバンドが揃ったか否かをチェックする。
【００３９】
そして、ＩＤリスト内の全てのバンドが揃った場合のみ、出力手段１０８に処理を進め、処理中のページ番号を更新する。
【００４０】
さらに、部分データ処理結果収集手段１０７は、処理待ちのページ番号を保持する待ち行列（以下、ページ番号待ち行列）と処理待ちのページ番号に対応する待ちバンド情報を保持する待ち行列（以下、バンド情報待ち行列）を持つ。なお、ページ番号待ち行列に溜まったページ番号を使用して処理中のページ番号を更新する。
【００４１】
出力手段１０８は、部分データ処理結果収集手段１０７から通知されたページ番号に属するバンドデータをプリンタエンジンが要求する順番にしたがって、プリンタエンジンに転送する。
【００４２】
なお、プリンタエンジンは、例えばレーザビーム等を光学系を介して感光体上に走査露光することで画像を形成可能なエンジンで構成されている。なお、画像形成可能な色は、モノクロ、カラーを問わず、本発明を適用可能に構成されている。
【００４３】
なお、上記部分データ処理手段１０３〜１０５等は、それぞれプロセッサで構成され、印刷データを解釈する解釈してディスプレイリストを作成する処理と、ディスプレイリストからバンド単位にイメージデータを描画する処理を行う。
【００４４】
また、入力手段１００から入力される印刷データは、所定のページ記述言語で記述されている。
【００４５】
＜動作＞
以下、図面を参照して、本発明の描画制御装置の動作を説明する。
【００４６】
図示していないホストＰＣ等からネットワーク等を介して送られた印刷データは、入力手段１００を介してデータ分割手段１０１に送られる。
【００４７】
データ分割手段１０１は、入力手段１００から送られた印刷データを解析し、所定サイズのバンドを構成するディスプレイリストを生成する。
【００４８】
ここで、生成される各バンドのディスプレイリストは、任意の部分データ処理手段で処理可能なように、互いに依存しないように構成されている。
【００４９】
データ分割手段１０１は、生成したディスプレイリストに、ヘッダ情報として該バンドが属するページの番号と、該バンドのバンド番号を付加してバンドデータを生成する。データ分割手段１０１は、生成したバンドデータを部分データ処理要求手段１０２に通知する。
【００５０】
部分データ処理要求手段１０２は、ページの最初のバンドデータが通知された時点で、部分データ処理結果収集手段１０７のページ番号待ち行列に該ページ番号を追加する。
【００５１】
この時点で、待ち行列が空で、処理中のページ番号が設定されていない場合、部分データ処理結果収集手段１０７は、追加されたページ番号を処理中のページ番号に設定し、ページ番号待ち行列から除く処理を行う。
【００５２】
なお、部分データ処理要求手段１０２が、処理を要求する部分データ処理手段を決定する方法に関しては種々の手法が提案されている。
【００５３】
そこで、本実施形態では簡単のためラウンドロビン（同様に構成した系を複数用意して処理要求を順番に割り振る）で要求先を決める。
【００５４】
すなわち、部分データ処理要求手段１０２は、最後に部分データ処理を要求した部分データ処理手段（部分データ処理手段１０３〜１０５のいずれか）の番号を図示しないメモリに保持し、その番号を順番に変更して要求していく。
【００５５】
部分データ処理要求手段１０２は、ページを構成する全てのバンドの部分データ処理要求が終わせる。その後に、部分データ処理結果収集手段１０７のバンド情報待ち行列（上記メモリに保持される）に、ページ番号とバンド情報のデータ（以下、バンド情報）を追加する。
【００５６】
図２は、図１に示した描画制御装置におけるバンド情報のデータ形式の一例を示す図である。
【００５７】
図２において、データの先頭の１バイトの値はページ番号を示す。次のバイトの値はページに含まれるバンドの数を示す。３バイト目以降には、各バンドのデータが存在するか否かのフラグが示される。３バイト目のＭＳＢが１バンド目を表し、以降、２バンド目、３バンド目、というように表す。フラグはビットの値が１の場合にバンドデータが存在することを示す。
【００５８】
なお、本実施形態において、部分データ処理手段１０３、部分データ処理手段１０４、部分データ処理手段１０５は、並列に動作するために別々のＰＥに配置される。本実施形態では、それぞれＰＥ１、ＰＥ２、ＰＥ３に配置する。
【００５９】
これらの部分データ処理手順は、部分データ処理手順同士が同じＰＥに配置されなければ良いので、本発明を構成する他の手段と同じＰＥに配置することは可能である。
【００６０】
なお、部分データ処理手段１０３、部分データ処理手段１０４、部分データ処理手段１０５には、部分データ処理要求手段１０２から通知されたバンドデータ内のディスプレイリストからラスターデータを生成するレンダラーを行うモジュールが含まれる。また、プリンタエンジンの特性に合わせて色変換、ハーフトーン処理を行うモジュールも含まれる。
【００６１】
なお、上記モジュールは、各プロセッサが図示しないメモリにロードして実行することで色変換、ハーフトーン処理を行う構成となっている。
【００６２】
部分データ処理手段１０３、部分データ処理手段１０４、部分データ処理手段１０５の処理終了させる。その後に、部分データ処理結果保留手段１０６の待ち行列に追加されるバンドデータには、ヘッダ情報（ページ番号、バンド番号）とともに、前記処理後のプリンタエンジンへのバンド単位の入力データが含まれる。
【００６３】
このようの本実施形態では、入力手段１００から入力される印刷データから印刷イメージを生成し、該印刷イメージを出力装置に出力する描画制御装置である。そして、前記印刷データを所定の部分データに分割するデータ分割手段１０１を備える。
【００６４】
また、データ分割手段１０１により分割された部分データを処理する複数の部分データ処理手段１０３〜１０５を備える。なお、部分データ処理手段１０３〜１０５は、ハードウエアとして図示しないプロセッサが割当てられて構成されている。これらの部分データ処理手段１０３〜１０５により、マルチプロセッサシステムが構成されて、バンド単位の印刷データの描画処理が並列的に処理される。
【００６５】
また、部分データ処理手段１０３〜１０５は、部分データ処理要求手段１０２が、後述する図３に示す制御手順に従い、複数の部分データ処理手段１０３〜１０５のいずれかの部分データ処理手段に部分データの処理を要求する。その際、各部分データ処理手段１０３〜１０５により処理された描画済みの部分データが処理中のページに属するかどうかを判断する判断機能を備える。具体的には、図３に示すステップＳ４０４による判断に対応する。
【００６６】
そして、判断機能により処理中のページに属さないと判断した場合に、後述する図４に示すステップＳ４０６のいて、前記描画済みの部分データを保留する図示しないメモリ（図１に示す部分データ処理結果保留手段１０６に対応する）に保留させる。
【００６７】
また、部分データ処理結果収集手段１０７は、部分データ処理結果保留手段１０６に保留された前記描画済みの部分データを１ページ分収集して出力手段１０８に出力する。
【００６８】
図３は、本発明に係る描画制御装置における第１のデータ処理手順の一例を示すフローチャートである。本処理は、部分データ処理結果保留手段１０６の処理例に対応する。なお、Ｓ４０１〜Ｓ４０６は各ステップを示す。また、各ステップは、図１に示した部分データ処理結果保留手段１０６による描画処理手順に対応するが、具体的には、図示しないＣＰＵがＲＡＭにロードする制御モジュールを実行することで実現される。
【００６９】
描画制御装置の起動時に、部分データ処理結果保留手段１０６の処理が開始される。
【００７０】
そして、ステップＳ４０１で、部分データ処理結果保留手段１０６の待ち行列（上述したメモリ上にテーブルデータとして保持されている）が空か否かを判定する。そして、上記メモリ上に保持されている待ち行列が空であると判定した場合は、データが追加されるまで待つ。
【００７１】
一方、ステップＳ４０１で、待ち行列が空でないと判断した場合は、ステップＳ４０２へ進む。そして、ステップＳ４０２で、部分データ処理結果保留手段１０６の待ち行列から、バンドデータを１つ取得する。
【００７２】
そして、ステップＳ４０３で、部分データ処理結果収集手段１０７の処理中ページの番号を得る。次に、ステップＳ４０４で、ステップＳ４０２で、部分データ処理結果保留手段１０６の待ち行列（例えばテーブルとして保留される）からバンドデータのページ番号を得る。そして、ステップＳ４０３で得た部分データ処理結果収集手段１０７の処理中ページ番号を比較する。
【００７３】
この比較により２つのページ番号が等しいかどうかを判断する。ここで、２つのページ番号が等しいと判断した場合は、ステップＳ４０５へ進み、等しくないと判断した場合は、ステップＳ４０６へ進む。
【００７４】
そして、ステップＳ４０５では、ステップＳ４０２で部分データ処理結果保留手段１０６の待ち行列から得たバンドデータを、部分データ処理結果収集手段１０７に渡し、ステップＳ４０１の待ち行列のチェックに戻る。
【００７５】
一方、ステップＳ４０６では、ステップＳ４０２で部分データ処理結果保留手段１０６の待ち行列から得たバンドデータを再度、部分データ処理結果保留手段１０６の待ち行列に追加し保留状態にする。その後、ステップＳ４０１の待ち行列のチェックに戻る。
【００７６】
上記一連の処理により、部分データ処理結果収集手段１０７の処理中のページ番号と異なるページ番号に属するバンドデータは、部分データ処理結果保留手段１０６の待ち行列中に保留されることになる。
【００７７】
また、保留されたバンドデータは、部分データ処理結果収集手段１０７の処理中ページ番号が、該バンドデータの属するページの番号と同じになった時点で、図３に示すステップＳ４０５で、部分データ処理結果収集手段１０７に渡され、保留が解除される。
【００７８】
これにより、各プロセッサによるバンド処理時間がそれぞれ長短しても、それぞれのバンドデータが保留されて行く。この際、本処理によれば、ラウンドロビンで各ＰＥに対する描画処理を行う場合、図７に示したような遊休時間が発生せずに、各ページのバンドデータの描画処理が連続的に処理されることとなる。
【００７９】
以下、図４を参照して、保留されるバンドデータの出力処理について説明する。
【００８０】
図４は、本発明に係る描画制御装置における第２のデータ処理手順の一例を示すフローチャートである。本処理は、部分データ処理結果保留手段１０６の処理例に対応する。なお、Ｓ５０１〜Ｓ５０６は各ステップを示す。また、各ステップは、図１に示した部分データ処理結果収集手段１０７による描画処理手順に対応するが、具体的には、図示しないＣＰＵがＲＡＭにロードする制御モジュールを実行することで実現される。
【００８１】
描画制御装置の起動時に、部分データ処理結果収集手段１０７の処理が開始される。
【００８２】
そして、ステップＳ５０１で、上記メモリ上に確保される部分データ処理結果収集手段１０７のページ番号待ち行列が空か否かを判定する。ここで、ページ番号待ち行列が空であると判定した場合は、ページ番号待ち行列にデータが追加されるまで待ち状態となる。
【００８３】
一方、ステップＳ５０１で、ページ番号待ち行列が空でないと判断した場合は、ステップＳ５０２で、ページ番号待ち行列からページ番号（図２に示すデータ形式で管理されている）を取得し、処理中ページ番号に設定する。
【００８４】
そして、ステップＳ５０３で、部分データ処理結果収集手段１０７のバンド情報待ち行列が空か否かを判定する。ここで、バンド情報待ち行列が空であると判定した場合は、バンド情報待ち行列にデータが追加されるまで待ち状態となる。
【００８５】
なお、バンド情報待ち状態の間に、部分データ処理要求手段１０２により、部分データ処理手段１０３、部分データ処理手段１０４、部分データ処理手段１０５にバンド情報の処理要求が行われ、バンドデータの処理が実行される。
【００８６】
このようにして、部分データ処理要求手段１０２により、１ページ分のバンドデータの処理要求が行われると、部分データ処理要求手段１０２によりバンド情報が、部分データ処理結果収集手段１０７のバンド情報待ち行列に追加される。これにより、ステップＳ５０３〜ステップＳ５０４に処理が進み、部分データ処理結果収集手段１０７のバンド情報待ち行列からバンド情報を取得し、バンド情報のページ番号と処理中ページ番号が一致することを確認する。
【００８７】
そして、ページ番号が一致した場合、バンド情報内の待ちバンド情報を部分データ処理結果収集手段１０７の待ちバンド情報に設定し、ステップＳ５０５に進む。
【００８８】
図５は、図１に示した部分データ処理結果収集手段１０７が待ちバンド情報を管理するテーブルの一例を示す図である。
【００８９】
図５において、待ちバンド情報管理テーブル６０１の１行目６０２は、バンド情報待ち行列から取得したバンド情報内の待ちバンド情報の各ビットの値を設定したものである。
【００９０】
なお、待ちバンド情報管理テーブル６０１は、バンド数１０で、バンド番号６のみ部分データ処理手段での処理が無いことを示している。本実施形態において、部分データ処理手段での処理が無いバンドとは、例えば、完全に空白であり、固定のデータを挿入すればすむようなバンドである。
【００９１】
待ちバンド情報管理テーブル６０１の２行目６０３は、初期状態では全て「０」である。
【００９２】
部分データ処理結果保留手段１０６から通知されたバンド情報内のバンド番号に対応する列の値を「１」にすることで、対応するバンドの処理が終了したことを示すものである。
【００９３】
そして、処理がステップＳ５０５に移り、図５に示した待ちバンド情報管理テーブル６０１の１列目６０２の各列の値を得る。そして、その各列の値が前記待ちバンド情報管理テーブル６０１の２列目６０３の対応する列の値が全て等しいか否かにより全てのバンド処理が終了したか否かを判定する。
【００９４】
ここで、全てのバンド処理が終了していないと判定した場合は、全てのバンド処理が終了するまで待つ。
【００９５】
一方、全てのバンド処理が終了した場合は、ステップＳ５０６へ処理を進める。
【００９６】
そして、ステップＳ５０６で、部分データ処理結果収集手段１０７の処理中ページの全バンドデータの処理が終了したことを出力手段１０８に通知し、ステップＳ５０１へ戻る。
【００９７】
そして、出力手段１０８では、部分データ処理結果収集手段１０７の処理中ページに属する全バンドの処理済データを、バンド番号順にプリンタエンジンへ転送することによって部分データ処理結果収集手段１０７の処理中ページを印刷することになる。
【００９８】
本実施形態の説明では、ステップＳ５０５でバンドデータの待ち処理に待ちバンド情報管理テーブル６０１を使用した例を説明した。
【００９９】
この処理は、例えばプロセッサとして、μＩＴＲＯＮ（「μＩＴＲＯＮ４．０仕様  Ｖｅｒ．４．０１．００」、（社）トロン協会ＩＴＲＯＮ部会  参照）の同期機能であるイベントフラグを使用して実現することもできる。
【０１００】
これにより、１ページ分の印刷データをバンド単位に分割して描画データを生成する場合、各部分データ処理手段１０３〜１０５に遊休期間の発生が抑えられる。このため、各部分データ処理手段１０３〜１０５が連続的にバンドデータを描画することが可能となり、描画効率が向上する。
【０１０１】
〔第２実施形態〕
＜メモリ容量の変化への対応＞
上記第１実施形態では、画像形成装置に備えるＣＰＵ，ＲＡＭ，ＲＯＭを含むコントローラボードのメモリ（例えばＲＡＭ）の容量を一定する場合について説明した。
【０１０２】
しかしながら、画像形成装置に備えるＣＰＵ，ＲＡＭ，ＲＯＭを含むコントローラボードのメモリ（例えばＲＡＭ）が増設される場合がある。この場合は、使用可能なメモリ容量が増えた場合、部分データ処理手段１０３、部分データ処理手段１０４、部分データ処理手段１０５で結果を保存するバッファも増加させることが可能である。以下、その実施形態について説明する。
【０１０３】
上述したように、部分データ処理手段１０３、部分データ処理手段１０４、部分データ処理手段１０５の出力のうち、部分データ処理結果収集手段１０７の処理中ページ以外のページのデータは保留状態になる。
【０１０４】
したがって、入力手段１００およびデータ分割手段１０１および部分データ処理手段での処理速度が、出力手段１０８での出力処理に比して速い場合は、増加したバッファの分まで、より多くの処理結果を保留させることができる。
【０１０５】
このような状態になる場合としては、１ページ内のデータが少ない場合などがある。
【０１０６】
このような事態が発生した場合には、部分データ処理結果保留手段１０６の待ち行列の長さを増加させる必要があるが、これはメモリ容量の増加に対応して処理結果のバッファ数を増加させるのに対応して増加させることで対応可能である。
【０１０７】
また、描画制御装置の起動時に、ＲＡＭの使用可能メモリ容量に合わせて、処理結果バッファ数および部分データ処理結果保留手段１０６の待ち行列の長さを動的に決定することで可能であり、処理プログラム自体への変更は不要となる。
【０１０８】
〔第３実施形態〕
上記第１実施形態では、部分データ処理手段１０３〜１０５を同等の処理能力のプロセッサを割り当てて構成する場合について説明した。
【０１０９】
しかし、プロセッサの数は３に限定されることはなく、さらに多くのプロセッサを装備して、入力された印刷データに対する要求や、モードに応じて使用するプロセッサの数を動的に決定するようなシステムとしてもよい。
【０１１０】
〔第４実施形態〕
上記第１実施形態では、入力された印刷データの属性がカラーかモノクロかによって本発明の適用が制限されるものではない。
【０１１１】
〔第５実施形態〕
上記第１実施形態では、出力手段１０８がシングルビームで画像を形成するようなレーザビームプリンタを想定しているが、マルチビームで画像形成するような出力手段を備える場合にも本発明を適用することができる。
【０１１２】
〔第６実施形態〕
上記第１実施形態では、描画制御装置が画像形成装置に適用された場合について説明した。
【０１１３】
しかし、描画制御装置単体として、例えばカードユニットして構成し、各画像形成装置の出力手段の処理能力に応じたプロセッサを複数搭載することで、ユーザの要求するニーズに柔軟に対応したシステムを構築できるように構成してもよい。
【０１１４】
その際、カードユニット上に、ワークエリアを拡張できるようなメモリを装着できるように構成されていると好適である。
【０１１５】
〔第７実施形態〕
上記第１実施形態では、描画制御装置が画像形成装置に適用された場合について説明した。
【０１１６】
しかし、画像形成装置が他の画像形成装置と通信可能にシステム化されている場合に、他の画像形成装置の描画ユニットの連携して描画処理を行うシステムにも本発明を適用可能である。
【０１１７】
〔第８実施形態〕
以下、図６に示すメモリマップを参照して本発明に係る描画制御装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１１８】
図６は、本発明に係る描画制御装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１１９】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１２０】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１２１】
本実施形態における図３，図４に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１２２】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１２３】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２４】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１２５】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１２６】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１２８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１２９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３１】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１３２】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【０１３３】
【図１】本発明の第１実施形態を示す描画制御装置を適用可能な画像形成装置の構成を説明するブロック図である。
【図２】図１に示した描画制御装置におけるバンド情報のデータ形式の一例を示す図である。
【図３】本発明に係る描画制御装置における第１のデータ処理手順の一例を示すフローチャートである。
【図４】本発明に係る描画制御装置における第２のデータ処理手順の一例を示すフローチャートである。
【図５】図１に示した部分データ処理結果収集手順が待ちバンド情報を管理するテーブルの一例を示す図である。
【図６】本発明に係る描画制御装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【図７】この種の描画制御装置における印刷データ処理タイミングを説明する図である。
【符号の説明】
【０１３４】
１００  入力手段
１０１  データ分割手段
１０２  部分データ処理要求手段
１０３  部分データ処理手段
１０４  部分データ処理手段
１０５  部分データ処理手段
１０６  部分データ処理結果保留手段
１０７  部分データ処理結果収集手段
１０８  出力手段
【図１】
2007152623.tif 000003
【図２】
2007152623.tif 000004
【図３】
2007152623.tif 000005
【図４】
2007152623.tif 000006
【図５】
2007152623.tif 000007
【図６】
2007152623.tif 000008
【図７】
2007152623.tif 000009