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