(57)【要約】【課題】複数のコントローラを用いてＲＩＰ処理を行う場合において、印刷処理を高速化すること。【解決手段】画像処理装置は、複数のコントローラを備え、ページ記述言語で記述された入力データを、記録媒体の搬送方向と交差する第１の方向において複数の部分領域に分割して並列に処理を行う。第１のコントローラは、入力データに含まれるオブジェクトの描画位置を示す領域情報を取得する取得手段と、他のコントローラが前記領域情報を参照可能なように前記領域情報を出力する出力手段とを備える。複数のコントローラのそれぞれは、自身に割り当てられた部分領域を決定する決定手段と、入力データにおける部分領域に対応するデータを解析する解析手段と、解析の結果と領域情報とに基づいて、部分領域に対応するラスターデータを生成する生成手段と、を備える。【選択図】図４
2019206101.tif 000002
【特許請求の範囲】
【請求項１】
複数のコントローラを備え、ページ記述言語で記述された入力データを、記録媒体の搬送方向と交差する第１の方向において複数の部分領域に分割して並列に処理を行う画像処理装置であって、
前記複数のコントローラの中の第１のコントローラは、
前記入力データに含まれるオブジェクトの描画位置を示す領域情報を取得する取得手段と、
前記第１のコントローラと異なる他のコントローラが前記領域情報を参照可能なように前記領域情報を出力する出力手段と、
を備え、
前記複数のコントローラのそれぞれは、
自身に割り当てられた部分領域を決定する決定手段と、
前記入力データにおける前記決定した部分領域に対応するデータを解析する解析手段と、
前記解析の結果と前記領域情報とに基づいて、前記決定した部分領域に対応するラスターデータを生成する生成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記領域情報は、前記複数の部分領域の少なくとも１つに前記オブジェクトの描画位置が含まれている前記搬送方向の領域を示す情報を含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記生成手段は、前記オブジェクトの描画位置が含まれている前記搬送方向の領域のデータをレンダリングして前記ラスターデータを生成することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記生成手段は、前記複数の部分領域のいずれにも前記オブジェクトの描画位置が含まれていない前記搬送方向の領域のデータをレンダリングせずに前記ラスターデータを生成することを特徴とする請求項２または３に記載の画像処理装置。
【請求項５】
前記取得手段は、前記第１のコントローラの前記解析手段の解析の結果に基づいて前記領域情報を取得することを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記第１のコントローラは、前記第１の方向における端部の部分領域に割り当てられるコントローラであることを特徴とする請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
前記第１のコントローラは、前記複数のプロセッサの中で動的に切り替えられることを特徴とする請求項１から５のいずれか一項に記載の画像処理装置。
【請求項８】
各コントローラで生成された各ラスターデータによって構成されている画像データに対して画像処理を行う画像処理手段をさらに備えることを特徴とする請求項１から７のいずれか一項に記載の画像処理装置。
【請求項９】
各コントローラで生成された各ラスターデータによって構成されている画像データに基づく印刷を行うために、前記領域情報に基づいて前記搬送方向に用紙を搬送する搬送手段をさらに備え、
前記搬送手段は、前記複数の部分領域の少なくとも１つに前記オブジェクトの描画位置が含まれている前記搬送方向の領域が印刷される位置まで前記用紙を搬送することを特徴とする請求項１から８のいずれか一項に記載の画像処理装置。
【請求項１０】
複数のコントローラを備え、ページ記述言語で記述された入力データを、記録媒体の搬送方向と交差する第１の方向において複数の部分領域に分割して並列に処理を行う画像処理装置であって、
前記入力データに含まれるオブジェクトの描画位置を示す領域情報を取得する取得手段と、
前記複数のコントローラの中から、前記複数の部分領域のそれぞれに対応するコントローラを割り当てる割り当て手段と、
前記複数のコントローラのそれぞれが前記領域情報を参照可能なように、前記領域情報を出力する出力手段と、
を有する制御モジュールを備え、
前記複数のコントローラのそれぞれは、
前記入力データにおける前記割り当てられた部分領域に対応するデータを解析する解析手段と、
前記解析の結果と前記領域情報とに基づいて、前記割り当てられた部分領域に対応するラスターデータを生成する生成手段と、
を備えることを特徴とする画像処理装置。
【請求項１１】
前記割り当て手段は、前記領域情報に基づいて前記部分領域の幅を決定することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記割り当て手段は、各コントローラの負荷が平準化されるように、前記部分領域の幅を決定することを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
複数のコントローラを備え、ページ記述言語で記述された入力データを、記録媒体の搬送方向と交差する第１の方向において複数の部分領域に分割して並列に処理を行う画像処理装置の制御方法であって、
前記複数のコントローラの中の第１のコントローラに、
前記入力データに含まれるオブジェクトの描画位置を示す領域情報を取得する取得ステップと、
前記第１のコントローラと異なる他のコントローラが前記領域情報を参照可能なように前記領域情報を出力する出力ステップとを実行させ、
前記複数のコントローラのそれぞれに、
自身に割り当てられた部分領域を決定する決定ステップと、
前記入力データにおける前記決定した部分領域に対応するデータを解析する解析ステップと、
前記解析の結果と前記領域情報とに基づいて、前記決定した部分領域に対応するラスターデータを生成する生成ステップと、
を実行させることを特徴とする画像処理装置の制御方法。
【請求項１４】
複数のコントローラを備え、ページ記述言語で記述された入力データを、記録媒体の搬送方向と交差する第１の方向において複数の部分領域に分割して並列に処理を行う画像処理装置の制御方法であって、
前記複数のコントローラとは別の制御モジュールに、
前記入力データに含まれるオブジェクトの描画位置を示す領域情報を取得する取得ステップと、
前記複数のコントローラの中から、前記複数の部分領域のそれぞれに対応するコントローラを割り当てる割り当てステップと、
前記複数のコントローラのそれぞれが前記領域情報を参照可能なように、前記領域情報を出力する出力ステップと、
を実行させ、
前記複数のコントローラのそれぞれは、
前記入力データにおける前記割り当てられた部分領域に対応するデータを解析する解析ステップと、
前記解析の結果と前記領域情報とに基づいて、前記割り当てられた部分領域に対応するラスターデータを生成する生成ステップと、
を実行させることを特徴とする画像処理装置の制御方法。
【請求項１５】
コンピュータを、請求項１から１２のいずれか一項に記載の各コントローラの各手段として機能させるためのプログラム。
【請求項１６】
コンピュータを、請求項１０から１２のいずれか一項に記載の制御モジュールの各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ記述言語（ＰＤＬ）で記述されたデータからラスターデータを生成するＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）処理の技術に関する。
【背景技術】
【０００２】
ＰＤＬで記述されたデータからラスターデータを生成する処理（ＲＩＰ処理）を行う画像処理装置がある。また、複数のコントローラを用いた並列処理によってＲＩＰ処理を行う画像処理装置がある。
【０００３】
生成されたラスターデータには、印刷されないホワイト領域（非印刷領域）が含まれることがある。ＲＩＰ処理後の後段処理においては、ハーフトーン処理及び色変換などの画像処理が実施され、画像処理後のデータを用いて印刷処理が行われる。このとき、印刷されないホワイト領域に対しては、画像処理及び印刷処理をスキップすることで印刷処理を高速化するホワイトスキップ処理が行われている。印刷処理の高速化を実現するために、ホワイト領域を高速に検出することが求められている。
【０００４】
特許文献１には、印刷時にユーザが指定する余白情報と、ラスタライズ前のＰＤＬデータを解析した結果とを用いることで、ラスターデータを走査せずに非印刷領域を検出する技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−２３０５６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１は、複数のコントローラを用いることを考慮した技術ではない。複数のコントローラを用いる場合、各コントローラは、自身の担当領域がホワイト領域かを検出することは可能であるが、他のコントローラの担当領域がホワイト領域かを判別できない。このため、複数のコントローラを用いる場合、生成されたラスターデータ全体を画素毎に走査してホワイト領域を判定する処理を行う必要があり、印刷処理の高速化が実現できていなかった。
【０００７】
本発明は、複数のコントローラを用いてＲＩＰ処理を行う場合において、印刷処理を高速化することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る画像処理装置は、複数のコントローラを備え、ページ記述言語で記述された入力データを、記録媒体の搬送方向と交差する第１の方向において複数の部分領域に分割して並列に処理を行う画像処理装置であって、前記複数のコントローラの中の第１のコントローラは、前記入力データに含まれるオブジェクトの描画位置を示す領域情報を取得する取得手段と、前記第１のコントローラと異なる他のコントローラが前記領域情報を参照可能なように前記領域情報を出力する出力手段とを備え、前記複数のコントローラのそれぞれは、自身に割り当てられた部分領域を決定する決定手段と、前記入力データにおける前記決定した部分領域に対応するデータを解析する解析手段と、前記解析の結果と前記領域情報とに基づいて、前記決定した部分領域に対応するラスターデータを生成する生成手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数のコントローラを用いてＲＩＰ処理を行う場合において、印刷処理を高速化することができる。
【図面の簡単な説明】
【００１０】
【図１】複数コントローラによるＲＩＰ処理の模式図。
【図２】印刷システムの例を示す図。
【図３】印刷システムの詳細を示す図。
【図４】ＲＩＰ部の構成を説明する図。
【図５】部分領域を説明する図。
【図６】オブジェクトリストを説明する図。
【図７】中間データを説明する図。
【図８】レンダリング領域情報を説明する図。
【図９】ラスターデータを説明する図。
【図１０】第２〜第４コントローラのフローチャート。
【図１１】第１コントローラのフローチャート。
【図１２】ＲＩＰ部の構成を説明する図。
【図１３】第１〜第４コントローラのフローチャート。
【図１４】制御モジュールのフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【００１２】
具体的な実施形態の説明に先立って、一般的なＲＩＰ処理およびホワイトスキップ処理を説明する。また、複数のコントローラを用いてＲＩＰ処理を行う場合に生じる問題を補足説明する。
【００１３】
＜ＲＩＰの説明＞
ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）処理は、ページ記述言語（ＰＤＬ）で記述されたデータを解析して、ラスターデータを生成する処理である。後述するように、本実施形態では、ページ記述言語（ＰＤＬ）で記述されたデータを解析して、中間データを生成し、中間データからラスターデータを生成する。ＲＩＰ処理は、プリンタ側で行われる形態もあれば、ホスト装置側で行われる形態もある。
【００１４】
プリンタ側でＲＩＰ処理が行われる場合、プリンタは、ホスト装置からネットワーク等の通信媒体を介してＰＤＬデータを受信し、専用のインタプリタによりＰＤＬデータを解釈してラスターデータを生成する。プリンタは、電子写真及びインクジェット等のプリンタエンジンを用いて印刷出力をする。
【００１５】
ホスト装置側でＲＩＰ処理が行われる場合、ホスト装置内のメモリに実行可能なプログラムとして格納されているプリンタドライバ等のホストアプリケーションによってＲＩＰ処理が行われる。プリンタドライバ等のホストアプリケーションは、ＰＤＬデータを解釈して、ラスターデータを生成し、プリンタにラスターデータ（あるいは各種の画像処理が行われた画像データ）を送信する。
【００１６】
ＲＩＰ処理においては、例えば、ＰＤＬインタプリタによるソフトウェア処理で得られた解析データが、ハードウェア処理もしくはソフトウェア処理を行うレンダラに送られる。レンダラは、ＰＤＬインタプリタから受けとった情報を元に中間データを生成し、複数スキャンライン毎もしくは頁全体のラスターデータを生成する。
【００１７】
＜ホワイトスキップ処理の説明＞
ホワイトスキップ処理は、印刷処理の各段階において行われ得る。例えば、ラスターデータを生成する際に、ホワイト領域のレンダリングを省略する処理が挙げられる。また、ＲＩＰ処理後の後段処理においてハーフトーン処理や色変換などの画像処理を実施する場合、ホワイト領域の画像処理を省略する処理が挙げられる。また、用紙を搬送して印刷を実行する場合に、ホワイト領域については紙送り処理を行い、印刷を行わない処理が挙げられる。
【００１８】
＜複数コントローラを用いる場合の問題点の補足説明＞
前述したように、ＲＩＰ処理においては、各処理を複数のコントローラや複数のハードウェアリソースに割り当てることで、並列処理による高速化を実現することができる。複数のコントローラを用いる場合、入力データのページを、記録媒体の用紙搬送方向に交差する第１の方向において複数の部分領域に分割する。そして、複数の部分領域のそれぞれにコントローラを割り当てて、各コントローラがＲＩＰ処理を並列に行う。このような形態では、各コントローラは、他のコントローラが担当する部分領域の処理に影響を受けることなく独立して処理することができるので、ＲＩＰ処理の高速化が実現できる。
【００１９】
複数コントローラで並列してＲＩＰ処理を行う形態の場合、各コントローラは、自身の担当する部分領域のホワイト領域を検出することは可能である。しかし、他のコントローラの担当する部分領域がホワイト領域かを判別できない。図を用いて説明する。
【００２０】
図１は、４つのコントローラでＲＩＰ処理を並行して行う例を模式的に示す図である。図１のＰＤＬデータ１０１は、Ｓｔｒｉｐ１〜Ｓｔｒｉｐ４の４つの部分領域に分割されている。Ｓｔｒｉｐ１には、コントローラ１が割り当てられ、Ｓｔｒｉｐ２には、コントローラ２が割り当てられ、Ｓｔｒｉｐ３には、コントローラ３が割り当てられ、Ｓｒｉｐ４には、コントローラ４が割り当てられている。このとき、例えば、コントローラ１は、自身の担当する部分領域（Ｓｔｒｉｐ１）内のホワイト領域１０２〜１０４を検出することは、可能である。しかしながら、コントローラ１は、他のコントローラが担当する部分領域Ｓｔｒｉｐ２〜４に関しては、ホワイト領域であるのかを判別できない。
【００２１】
ホワイトスキップ処理は、前述したように、ホワイト領域のレンダリングを省略し、ホワイト領域以外の領域をレンダリングしてラスターデータを生成する処理を含むものである。各コントローラが、自身の担当する部分領域のみから判別したホワイト領域に対してそれぞれホワイトスキップ処理を行ってしまうと、部分領域間で用紙搬送方向（印刷方向）の位置がずれてしまう。例えばコントローラ１で領域１０３のレンダリングが省略されても、他のコントローラでは、用紙搬送方向において領域１０３と同じ位置の領域ではレンダリングが実行されるからである。この結果、プリンタエンジンで位置合わせをする処理を行う必要が生じたり、欠損分のデータをプリンタエンジンで生成する必要が生じたりしてしまう。
【００２２】
このため、ホワイトスキップ処理は、用紙搬送方向の所定の領域において、用紙搬送方向に交差する第１の方向の部分領域の全てがホワイト領域の場合に行うことが好ましい。しかしながら、各コントローラは、他のコントローラが担当する部分領域のホワイト領域を検出することができない。このため、複数コントローラで並列してＲＩＰ処理を行う形態の場合、各コントローラは、全ての領域でラスターデータを生成する。そして、その後、各ラスターデータを合わせたデータの各画素を走査してホワイト画素かを判別し、その結果、ホワイト領域を検出する処理を行う必要がある。このため、ホワイト領域の検出に時間を要してしまっている。
【００２３】
また、ラスターデータ生成後の後段の画像処理でホワイト領域に基づく制御を行う場合、後段の画像処理部では、各コントローラの処理が完了するまで処理を待つ必要があった。即ち、後段の画像処理部は、図１のラスターデータ１０５のようにページ全体のラスターデータが生成されるまでホワイト領域の検出処理を行うことができなかった。また、事前に用紙搬送を行うホワイトスキップ処理も実施できなかった。
【００２４】
＜＜実施形態１＞＞
本実施形態においては、複数のコントローラのうちの一部のコントローラが、入力データ（ＰＤＬデータ）に含まれているオブジェクトの描画位置を示す領域情報を生成する。各コントローラは、生成された領域情報に基づいてラスターデータを生成することでホワイトスキップ処理を行う。このような処理によって、印刷処理が高速化される。以下、具体的に説明する。
【００２５】
＜システム構成＞
図２は、実施形態１の印刷システムの例を示す図である。印刷システムは、コンピュータ２０１と、プリンタ２０２とを含む。コンピュータ２０１は、データ転送ケーブル２０３を経由してプリンタ２０２と接続されている。
【００２６】
コンピュータ２０１は、アプリケーション部２０４を備えている。アプリケーション部２０４は、ユーザからの操作と、ＰＤＬデータ（印刷データ）との入力を受け付ける。アプリケーション部２０４は、ユーザが指定した印刷設定に関する印刷情報と入力されたＰＤＬデータとをプリンタ２０２に転送する。
【００２７】
プリンタ２０２は、ＲＩＰ処理を行うＲＩＰ部２０５と、画像処理および印刷処理を行うプリンタエンジン部２０６とを有する。プリンタ２０２は、データ転送ケーブル２０３を介して送信されたＰＤＬデータを受信する。ＲＩＰ部２０５は、ＰＤＬデータを解析し、解析結果に基づいてＰＤＬデータを中間データに変換する。ＲＩＰ部２０５は、中間データをレンダリングしてラスターデータを生成する。プリンタエンジン部２０６は、ラスターデータに対してハーフトーン処理およびプリンタ固有の画像処理などを実施する。プリンタエンジン部２０６は、画像処理されたラスターデータ（画像データ）を用いて印刷処理を行う。本実施形態では、記録媒体として記録用紙を例に挙げて説明するが、この限りではない。
【００２８】
なお、図２の例では、プリンタ２０２がＲＩＰ部２０５を有する構成を示しているが、これに限られない。コンピュータ２０１がＲＩＰ部２０５の一部の機能を有しても良い。例えば、コンピュータ２０１がＰＤＬデータを解析して、中間データに変換する処理を行っても良い。そして、コンピュータ２０１からプリンタ２０２に中間データが転送される形態でも良い。また、コンピュータ２０１がＲＩＰ部２０５全体を有しても良い。そして、コンピュータ２０１がＰＤＬデータからラスターデータを生成する形態でも良い。あるいは、プリンタ２０２がアプリケーション部２０４を有し、ユーザがプリンタ２０２を操作して、ＰＤＬデータを入力する形態も良い。
【００２９】
図３は、図２の印刷処理システムの詳細を示す図である。アプリケーション部２０４に入力されるＰＤＬデータ３０１は、ユーザによって印刷指示されたＰＤＦまたはＸＰＳなどに代表されるＰＤＬデータである。ＰＤＬデータには、各種の描画オブジェクトが含まれる。例えば、テキスト、グラフィック、および画像などの描画オブジェクトが含まれる。アプリケーション部２０４は、ＰＤＬデータ３０１と、印刷設定との入力を受け付ける。アプリケーション部２０４は、ＰＤＬデータ３０２（ＰＤＬデータ３０１と同じ）と、印刷設定に基づく印刷情報３０３とをプリンタ２０２に送信する。
【００３０】
プリンタ２０２のＲＩＰ部２０５は、受信した印刷情報３０３に従いＰＤＬデータ３０２のＲＩＰ処理を実施する。ＲＩＰ部２０５には、別々のプロセッサが割り当てられた、複数のコントローラが含まれる。具体的には、ＲＩＰ部２０５は、第１コントローラ３１１、第２コントローラ３１２、第３コントローラ３１３、および第４コントローラ３１４を有する。各コントローラでは、独立して記録媒体の搬送方向にレンダリングが実施される。即ち、各コントローラは、ＰＤＬデータの１ページのデータを、用紙搬送方向と交差する第１の方向において４つの部分領域に分割した場合の各部分領域のレンダリングを行う。なお、本実施形態では、４つのコントローラ３１１〜３１４を持つ構成を実施形態として記載しているが、コントローラの数は４つに限られない。複数のコントローラでＲＩＰ処理を並行して行えれば良い。本実施形態では、各コントローラには、それぞれプロセッサが１つ割り当てられている形態を説明するが、各コントローラには、１つ以上のプロセッサが割り当てられていても良い。
【００３１】
＜ＲＩＰ部の構成＞
図４は、ＲＩＰ部２０５の構成を説明する図である。各コントローラ３１１〜３１４は、ＰＤＬ解析モジュール４１１〜４１４、中間データ生成モジュール４３１〜４３４、およびレンダリングモジュール４５１〜４５４を有する。各コントローラ３１１〜３１４のＰＤＬ解析モジュール４１１〜４１４は、印刷情報３０３に基づいて、各コントローラが担当する部分領域を決定する。
【００３２】
図５は、部分領域を説明する図である。図５（ａ）は、ＰＤＬデータの１ページを模式的に示す図である。ここでは、説明のため、レンダリングされた後のＰＤＬデータの様子を示しているが、ＰＤＬデータは、例えば描画コマンドなどが記述されているデータである。図５（ｂ）は、図５（ａ）のＰＤＬデータを、４つの部分領域（Ｓｔｒｉｐ１〜Ｓｔｒｉｐ４）に分割した例を示している。各コントローラ３１１〜３１４のＰＤＬ解析モジュール４１１〜４１４は、例えば図５（ｂ）に示す様に、コントローラの処理幅が、予め定められたｗの領域になるように各部分領域を決定する。即ち、各コントローラ３１１〜３１４のＰＤＬ解析モジュール４１１〜４１４は、ＰＤＬデータの１ページを用紙搬送方向（印刷方向）にｗ幅毎に分割した矩形領域（Ｓｔｒｉｐ１〜４）を各コントローラ３１１〜３１４の担当する部分領域と決定する。部分領域の決定方法は、この例に限られない。任意の方法で、各コントローラに割り当てられる部分領域が決定されて良い。
【００３３】
担当する部分領域（以下、Ｓｔｒｉｐとして説明する）を決定した後、各コントローラのＰＤＬ解析モジュール４１１〜４１４は、オブジェクトリスト４２１〜４２４を生成する。ＰＤＬ解析モジュール４１１〜４１４は、担当するＳｔｒｉｐに含まれるテキスト、グラフィック、及び画像等の描画オブジェクト情報から描画オブジェクトをリスト化したオブジェクトリスト４２１〜４２４を生成する。
【００３４】
図６は、オブジェクトリストを説明する図である。図６（ａ）は、図５（ａ）のＰＤＬデータと同様の図である。図６（ａ）では、Ｓｔｒｉｐ３に着目していることを示している。図６では、第３コントローラ３１３の担当Ｓｔｒｉｐ３を例に挙げてオブジェクトリストを説明する。図６（ｂ）は、図６（ａ）のＰＤＬデータのページ内のオブジェクト（Ｏｂｊｅｃｔ１〜７）を示している。また、用紙搬送方向に区切られるスキャンラインを示している。
【００３５】
図６（ｃ）は、Ｓｔｒｉｐ３内のオブジェクト（Ｏｂｊｅｃｔ１〜５）を、スキャンライン毎に２次元にリスト化したオブジェクトリストの例である。ここでは、Ｓｔｒｉｐ内に一部でも含まれるオブジェクトは、オブジェクトリストに含まれることになる。オブジェクトを描画する際に、オブジェクトの描画開始スキャンラインがｉ行目の場合、ｉ行目のリストＯｂｊｅｃｔＬｉｓｔ［ｉ］に、オブジェクト情報が追加される。リストに追加される各オブジェクト情報に含まれる情報としては、テキストのストリング情報、図形のパス情報、画像情報、及び塗り情報等が挙げられる。
【００３６】
図６（ｂ）の例では、１行目スキャンライン（Ｌ１）においては、Ｏｂｊｅｃｔ１、Ｏｂｊｅｃｔ２、およびＯｂｊｅｃｔ３の描画が開始される。このため、図６（ｃ）のＯｂｊｅｃｔＬｉｓｔ［１］には、Ｏｂｊｅｃｔ１、Ｏｂｊｅｃｔ２、およびＯｂｊｅｃｔ３のオブジェクト情報が追加されている。Ｏｂｊｅｃｔ４およびＯｂｊｅｃｔ５についても同様の方法で、図６（ｃ）のオブジェクトリストにオブジェクト情報が追加されている。
【００３７】
図４に戻る。中間データ生成モジュール４３１〜４３４は、ＰＤＬ解析モジュール４１１〜４１４で生成したオブジェクトリスト４２１〜４２４を解析し、中間データ４４１〜４４４に変換する。即ち、中間データ生成モジュール４３１〜４３４は、ＰＤＬデータの解析結果に基づいて中間データ４４１〜４４４を生成する。
【００３８】
図７は、中間データ４４１〜４４４を説明する図である。図７（ａ）は、図６（ａ）〜（ｃ）で説明したＳｔｒｉｐ３のオブジェクトリストに基づいて生成される中間データ４４３の一例を示している。中間データ４４１〜４４４は、例えば図７（ａ）に示す様に、Ｓｔｒｉｐ内のオブジェクトの描画位置およびエッジ情報を含むレイアウト情報７０１と、Ｓｔｒｉｐ内のオブジェクトの描画色等の各塗り情報を示す塗り情報７０２とを含む形式である。また、中間データ４４１〜４４４は、Ｓｔｒｉｐ内のオブジェクトが画像であった場合には、その画像データ７０３を含む形式である。塗り情報７０２は、図７（ｂ）に示す様に、各塗りに対するＩｎｄｅｘ情報、塗りタイプ、および塗りタイプに応じた色値を含んでいる。塗りタイプが画像の場合には、その画像データのサイズおよび格納場所を示す情報を含んでいる。画像データ７０３は、塗り情報７０２を基に参照される。中間データ生成モジュール４３１〜４３４は、各中間データのデータサイズを小さくするために、画像データとして、Ｓｔｒｉｐ内に含まれる画像領域のみや、画像の一部を格納することができる。中間データ生成モジュール４３１〜４３４は、画像データを必要に応じて圧縮して格納することができる。
【００３９】
図４に戻る。次に、レンダリング領域情報３０４を説明する。レンダリング領域情報３０４は、描画オブジェクトをレンダリングする領域を示す情報である。即ち、描画オブジェクトのページ内における描画位置を示す情報である。本実施形態では、スキャンライン毎にレンダリングする領域（描画オブジェクトが描画される位置）が決定される。例えば、用紙搬送方向における所定のスキャンラインを着目ラインとする。この場合、用紙搬送方向と交わる第１の方向に分割されているＳｔｒｉｐ内のいずれかに描画オブジェクトが存在する場合、その着目ラインは、レンダリングする領域であると決定される。
【００４０】
本実施形態では、複数のコントローラのうち、１つのコントローラのＰＤＬ解析モジュールが、ＰＤＬデータ３０２から描画領域を抽出して、レンダリング領域情報３０４を生成する。以下では、第１コントローラ３１１のＰＤＬ解析モジュール４１１が、レンダリング領域情報３０４を生成する例を説明する。なお、ＰＤＬ解析モジュール４１１は、他のコントローラのＰＤＬ解析モジュール４１２〜４１４と同様に、自身の担当する部分領域（Ｓｔｒｉｐ１）のオブジェクトリストも生成する。
【００４１】
ＰＤＬ解析モジュール４１１は、ＰＤＬデータ３０２を解析し、描画オブジェクトのバウンディングボックスの情報を用いて、ページ内の描画領域を示すレンダリング領域情報３０４を生成する。バウンディングボックスは、描画オブジェクトの最大寸法または範囲を囲む最小のボックスのことである。第１コントローラ３１１は、ＰＤＬデータ３０２を解析して取得したレンダリング領域情報３０４を、他のコントローラ３１２〜３１４およびプリンタエンジン部２０６が参照可能なように出力する。例えば、第１コントローラ３１１は、レンダリング領域情報３０４を他のコントローラ３１２〜３１４およびプリンタエンジン部２０６に通知する。あるいは、第１コントローラ３１１は、レンダリング領域情報３０４が格納されていること、または、レンダリング領域情報３０４の格納場所を他のコントローラ３１２〜３１４およびプリンタエンジン部２０６に通知して良い。レンダリング領域情報３０４は、他のコントローラ３１２〜３１４、および、後段のプリンタエンジン部２０６からアクセスされる。このため、レンダリング領域情報３０４は、共有メモリ上に格納されることが好ましい。また、共有メモリ上にレンダリング領域情報３０４が格納されている格納領域が予め定められている場合には、第１コントローラ３１１は、その格納領域にレンダリング領域情報３０４を格納するだけで、他のコントローラに通知をしなくても良い。
【００４２】
また、レンダリング領域情報３０４は、第１コントローラ３１１が、ＰＤＬデータ３０２のページ内に含まれる描画オブジェクトが担当Ｓｔｒｉｐに含まれるかを判定する際に抽出することが好ましい。別途にＰＤＬデータ３０２を解析せずにレンダリング領域情報３０４を生成できるからである。
【００４３】
図８は、レンダリング領域情報３０４を説明する図である。図８を用いて具体的にレンダリング領域情報３０４を説明する。ＰＤＬデータ３０２は、図８（ａ）に示す描画オブジェクトＯｂｊｅｃｔ１〜７を含む。ＰＤＬ解析モジュール４１１は、各描画オブジェクトのバウンディングボックスの情報を用いる。図８（ｂ）は、各描画オブジェクトのバウンディングボックスの用紙搬送方向の座標を示している。ＰＤＬ解析モジュール４１１は、各描画オブジェクトＯｂｊｅｃｔ１〜７を用紙搬送方向の上流側（先頭側）から順次処理する。先ず、ＰＤＬ解析モジュール４１１は、用紙搬送方向の上流側（先頭）のＯｂｊｃｅｔ１の用紙搬送方向の描画位置Ｌ１〜Ｌｃを配列Ａｒｒａｙに格納する。図８（ｄ）は、Ｏｂｊｅｃｔ１の開始座標（Ｌ１）と終了座標（Ｌｃ）とを配列Ａｒｒａｙに格納する例を示している。次に、ＰＤＬ解析モジュール４１１は、Ｏｂｊｅｃｔ２、３の処理を行う。ここで、図８（ｂ）に示すように、Ｏｂｊｅｃｔ２、３の描画位置Ｌ１〜Ｌｂ、Ｌ１〜Ｌａは、既にＡｒｒａｙに格納済みのＬ１〜Ｌｃに含まれている。このため、これらの描画位置の配列Ａｒｒａｙへの格納処理は、スキップされる。
【００４４】
続いて、Ｏｂｊｅｃｔ４について説明する。Ｏｂｊｅｃｔ４の描画位置Ｌｄ〜Ｌｅは、配列Ａｒｒａｙには含まれていない。従って、ＰＤＬ解析モジュール４１１は、図８（ｅ）の様に、開始座標（Ｌｄ）と終了座標（Ｌｅ）とを配列Ａｒｒａｙに追加する。なお、図８には例を示していないが、描画オブジェクトの描画位置の一部がＡｒｒａｙ内の領域と重なっている場合がある。この場合、２つの領域を含む描画領域を新たな描画領域として扱う。即ち、新たな描画領域の座標によって、配列Ａｒｒａｙ内の２つの領域の値を更新する処理が行われる。解析モジュール４１１は、このような処理を、ＰＤＬデータ３０２のページ内の全ての描画オブジェクトに対して行う。図８（ｆ）は、ＰＤＬデータ３０２の解析の結果得られるレンダリング領域情報３０４である。図８（ｃ）は、図８（ｆ）のレンダリング領域情報３０４によって描画範囲が検出されていることを示す模式図である。つまり、用紙搬送方向と交差する第１の方向における部分領域の少なくとも１つにおいて描画オブジェクトが含まれているバンド領域８０１〜８０４が抽出される。
【００４５】
なお、これまでの説明で、レンダリング領域情報３０４を第１コントローラ３１１が生成する形態を説明した。一般的に、ＰＤＬデータ３０２のページの左端または右端は描画オブジェクトが少ない傾向にある。従って、自身が担当するＳｔｒｉｐ内に描画オブジェクトが少ない端部に位置するコントローラがレンダリング領域情報３０４を生成する方が、ＲＩＰ部２０５全体の処理が高速化される。あるいは、アプリケーション部２０４における印刷設定を参照して、例えば第４コントローラ３１４では、ラスターデータ生成が必要ないとアプリケーション部２０４で判定できる場合がある。このような場合、第４コントローラ３１４を用いてレンダリング領域情報３０４の生成を行わせるように、アプリケーション部２０４が印刷情報３０３で第４コントローラを処理対象のコントローラとして指定することも可能である。このように、レンダリング領域情報３０４の生成を行うコントローラは、予め定めたコントローラ固定であっても良いし、ＰＤＬデータの内容などに応じて動的に切り替えられても良い。
【００４６】
図４に戻り、ＲＩＰ部２０５におけるＲＩＰ処理の続きを説明する。各コントローラ３１１〜３１４では、中間データ４４１〜４４４が生成されている。また、レンダリング領域情報３０４も生成されている。各コントローラのレンダリングモジュール４５１〜４５４は、中間データ４４１〜４４４をレンダリングし、ページ全体のラスターデータ３０５の部分データである担当Ｓｔｒｉｐのラスターデータ４６１〜４６４を生成する。
【００４７】
図９は、ラスターデータを説明する図である。図９（ａ）は、図６（ａ）と同様の図であり、ＰＤＬデータ３０２を模式的に示した図である。図９（ｂ）は、Ｓｔｒｉｐ３に着目し、第３コントローラ３１３のレンダリングモジュール４５３によって生成されるラスターデータ（部分データ）を示している。レンダリングモジュール４５１〜４５４は、レンダリング領域情報３０４を用いて、レンダリング領域のラスターデータのみを生成する。図９（ｂ）では、Ｓｔｒｉｐ３のラスターデータ（部分データ）が生成されている。なお、図９（ｂ）の下部には、一見すると、ホワイト領域が存在しているように見える。しかしながら、図９（ａ）に示すように、他のコントローラの担当する部分領域では、描画オブジェクトが存在している。即ち、レンダリング領域情報３０４を用いることで、他のコントローラの担当する部分領域で描画オブジェクトが存在していることが判別できる。本実施形態では、用紙搬送方向の所定の領域において、用紙搬送方向と交差する第１の方向のいずれかの部分領域に描画オブジェクトが存在する場合、各コントローラでラスターデータが生成される。図９（ｃ）は、各コントローラにおいて生成された部分データを合わせたラスターデータを示している。
【００４８】
図３に戻り説明を続ける。このようにしてラスターデータ３０５が生成された後、プリンタエンジン部２０６は、ＲＩＰ部２０５で生成されたラスターデータ３０５に対しプリンタエンジン固有の画像処理を行う。また、ラスターデータの印刷を実施する。プリンタエンジン部２０６は、レンダリング領域情報３０４を用いることで、ラスターデータの生成完了前において、かつラスターデータを走査すること無く、ホワイト領域（非レンダリング領域）を検出することができる。従って、事前の用紙搬送等のホワイトスキップ処理を実施することが可能である。
【００４９】
＜フローチャート＞
次に、図１０および図１１のフローチャートを参照しながら、コントローラ３１１〜３１４の処理の一例を説明する。本実施形態では、レンダリング領域情報３０４を生成する第１コントローラ３１１と、その他のコントローラ３１２〜３１４とで動作が異なる。
【００５０】
図１０は、その他のコントローラ３１２〜３１４の動作を説明する図である。なお、各処理の説明における記号「Ｓ」は、当該フローチャートにおけるステップであることを意味する。
【００５１】
Ｓ１００１では、ＰＤＬ解析モジュール４１２〜４１４は、印刷情報とＰＤＬデータとを取得する。そして、ＰＤＬデータのページ幅と予め定められたコントローラの処理幅ｗとに基づいて、各コントローラが担当する部分領域（Ｓｔｒｉｐ）を決定する。
【００５２】
Ｓ１００２では、ＰＤＬ解析モジュール４１２〜４１４は、ＰＤＬデータを解析し、ページ内の対応する部分領域に含まれる描画オブジェクトの情報を取得する。Ｓ１００３では、ＰＤＬ解析モジュール４１２〜４１４は、Ｓ１００２で取得した情報に基づいて、処理対象の描画オブジェクトが、Ｓ１００１で決定した担当Ｓｔｒｉｐ領域内に含まれるかを判定する。描画オブジェクトがＳｔｒｉｐ領域内に含まれていなければＳ１００５に進む。Ｓ１００３において、描画オブジェクトがＳｔｒｉｐ領域に含まれていると判定した場合、Ｓ１００４に進み、ＰＤＬ解析モジュール４１２〜４１４は、その描画オブジェクトをオブジェクトリストに追加する。描画オブジェクトがＳｔｒｉｐ領域に含まれるかを判定する方法としては、例えば、図６（ｂ）の様に、描画オブジェクトのバウンディングボックスの一部、又は全部が、Ｓｔｒｉｐ領域に含まれるか否かに応じて判定する方法が挙げられる。その後、Ｓ１００５に進む。
【００５３】
Ｓ１００５では、ＰＤＬ解析モジュール４１２〜４１４は、Ｓ１００２〜Ｓ１００４のステップをページ内の描画オブジェクト全てに対して処理したかを判定する。未処理の描画オブジェクトがある場合、Ｓ１００２に戻り、処理を繰り返す。ページ内の描画オブジェクト全てに対して処理が行われている場合、Ｓ１００６に進む。
【００５４】
Ｓ１００６では、中間データ生成モジュール４３２〜４３４は、Ｓ１００４で作成されたオブジェクトリストを用いて中間データを生成する。
【００５５】
Ｓ１００７では、レンダリングモジュール４５２〜４５４は、第１コントローラ３１１によって生成されたレンダリング領域情報３０４を取得する。レンダリング領域情報３０４は、第１コントローラ３１１のＰＤＬ解析モジュール４１１におけるＰＤＬデータの解析中に生成される。従って、一般的には、各コントローラでのレンダリング処理の開始前には、レンダリング領域情報３０４の生成が完了していることが想定される。仮に、Ｓ１００７において、レンダリング領域情報３０４が生成されていなければ、レンダリングモジュール４５２〜４５４は、レンダリング領域情報３０４が生成されるまで待機し、レンダリング領域情報３０４を取得する。
【００５６】
ステップＳ１００８では、レンダリングモジュール４５２〜４５４は、担当Ｓｔｒｉｐの中間データをレンダリングして担当Ｓｔｒｉｐのラスターデータを生成する。このとき、レンダリングモジュール４５２〜４５４は、レンダリング領域情報３０４に含まれるレンダリング領域のみをレンダリングしてラスターデータを生成する。これにより、後段のプリンタエンジン部２０６でホワイトスキップされる領域の不要なラスターデータ生成を省略することが可能である。
【００５７】
図１１は、第１コントローラ３１１の動作を説明する図である。第１コントローラ３１１も基本的には他のコントローラと同様の処理を含む。即ち、第１コントローラ３１１は、ＰＤＬデータを解析し、オブジェクトリストを作成し、中間データを生成し、中間データからのレンダリング処理を実施する。このように第１コントローラ３１１もまた、担当Ｓｔｒｉｐのラスターデータを生成する。
【００５８】
Ｓ１１０１では、第１コントローラ３１１のＰＤＬ解析モジュール４１１は、Ｓ１００１と同様に担当Ｓｔｒｉｐを決定する。続くＳ１１０２では、ＰＤＬ解析モジュール４１１は、Ｓ１００２と同様にＰＤＬデータを解析し、ページ内に含まれる描画オブジェクトの情報を取得する。
【００５９】
Ｓ１１０３では、ＰＤＬ解析モジュール４１１は、Ｓ１１０２で取得した情報に基づいて、処理対象の描画オブジェクトの描画領域が、レンダリング領域情報３０４によって示されているレンダリング領域に含まれているかを判定する。例えば、前述の通り、描画オブジェクトのバウンディングボックスを用いて描画オブジェクトの描画領域を特定し、特定した描画領域がレンダリング領域に含まれているかを判定すれば良い。描画オブジェクトの描画領域が、レンダリング領域に含まれていないと判定された場合、Ｓ１１０４に進む。描画オブジェクトの描画領域が、レンダリング領域に含まれていると判定された場合、Ｓ１１０５に進む。
【００６０】
Ｓ１１０４では、ＰＤＬ解析モジュール４１１は、Ｓ１１０２で情報が取得された描画オブジェクトがレンダリング領域情報３０４に含まれるようにレンダリング領域情報３０４を更新する。更新後に、Ｓ１１０５に進む。
【００６１】
なお、ＰＤＬデータでは、ある描画オブジェクトの上に、別の描画オブジェクトが重なる場合がある。以前に追加された描画オブジェクトに内包される描画オブジェクトについては、Ｓ１１０３で、ＹＥＳの判定となり、Ｓ１１０５に進むことになる。
【００６２】
Ｓ１１０５では、ＰＤＬ解析モジュール４１１は、Ｓ１００３と同様に、Ｓ１１０２で取得した描画オブジェクトが担当Ｓｔｒｉｐ領域内に含まれるかを判定する。含まれていればＳ１１０６に進み、描画オブジェクトをオブジェクトリストに追加する。含まれていなければＳ１１０７に進む。
【００６３】
Ｓ１１０７では、ＰＤＬ解析モジュール４１１は、Ｓ１１０２〜Ｓ１１０６のステップをページ内の描画オブジェクト全てに対して処理したかを判定する。未処理の描画オブジェクトがある場合、Ｓ１１０２に戻り、処理を繰り返す。ページ内の描画オブジェクト全てに対して処理が行われている場合、Ｓ１１０８に進む。このようにして、ＰＤＬ解析モジュール４１１は、担当Ｓｔｒｉｐのオブジェクトリストを完成させると共に、処理対象のページに対するレンダリング領域情報３０４を完成させる。
【００６４】
Ｓ１１０８では、Ｓ１００６と同様に、中間データ生成モジュール４３１は、オブジェクトリストに基づいて中間データを生成する。Ｓ１１０９では、レンダリングモジュール４５１は、生成したレンダリング領域情報３０４を取得し、Ｓ１１１０に進む。Ｓ１１１０では、Ｓ１００８と同様に、レンダリングモジュール４５１が、担当Ｓｔｒｉｐの中間データをレンダリングし、担当Ｓｔｒｉｐのラスターデータを生成する。
【００６５】
以上説明した図１０及び図１１の処理を行うことで、図９（ｃ）に示すように、ホワイトスキップ処理の対象となる領域を除いた、ページ全体のラスターデータの生成が行われる。
【００６６】
以上説明したように、本実施形態によれば、各コントローラはラスターデータ生成前にホワイトスキップ対象領域を検出できる。これにより、ホワイトスキップ対象となるホワイト領域のラスターデータを生成する処理が不要になるため、ＲＩＰ処理を高速化できる。また、ＲＩＰ処理後の後段処理においても、各コントローラのラスターデータの生成完了を待ってホワイト領域の検出をする必要が無く、用紙の事前搬送等のホワイトスキップ処理を実施できるため、印刷処理の高速化ができる。また、後段処理においてホワイト領域に対する画像処理を省略することができる。
【００６７】
なお、図８の例では、レンダリング領域情報３０４として、各描画オブジェクトの用紙搬送方向の座標のみを含める例を示したが、用紙搬送方向に交差する第１の方向についての座標を含めても良い。この場合、ページの上下方向（用紙搬送方向）だけではなく、ページの左右方向のホワイト領域についても検知することができる。このため、ラスターデータの生成の領域を小さくすることができ、印刷処理が行われるまでの処理対象の領域を小さくできるので、処理をさらに高速化できる。また、プリンタが、記録ヘッドを第１の方向に走査して画像を記録する形態の場合、記録ヘッドの移動量を削減することができる。
【００６８】
＜＜実施形態２＞＞
実施形態１では、複数のコントローラがＲＩＰ処理を並行して行う形態を説明し、この複数のコントローラのうちの所定のコントローラが、レンダリング領域情報を生成する形態を説明した。本実施形態では、レンダリング領域情報を生成する制御モジュールを別個に設ける形態を説明する。
【００６９】
＜ＲＩＰ部の構成＞
図１２は、本実施形態におけるＲＩＰ部２０５の一例を示す図である。本実施形態におけるＲＩＰ部２０５は、第１コントローラ１２０１、第２コントローラ１２０２、第３コントローラ１２０３、第４コントローラ１２０４、および制御モジュール１２７０を有する。
【００７０】
制御モジュール１２７０は、各コントローラ１２０１〜１２０４とは異なるプロセッサが割り当てられたモジュールである。制御モジュール１２７０は、印刷情報３０３から各コントローラ１２０１〜１２０４が担当する部分領域を決定する。部分領域の決定方法は、実施形態１で説明したものと同様とすることができる。あるいは、制御モジュール１２７０は、ページ内のオブジェクト分布や処理負荷を判定し、各コントローラの処理負荷が平準化されるように、コントローラ毎に異なる幅のＳｔｒｉｐを割り当てても良い。各Ｓｔｉｒｐの処理負荷を平準化する方法は、公知のロードバランシン手法を用いることができる。制御モジュール１２７０は、各コントローラの割当Ｓｔｒｉｐを決定した後、各コントローラに対して、割り当てＳｔｒｉｐ情報と処理開始指示とを送信する。
【００７１】
制御モジュール１２７０は、実施形態１で第１コントローラ３１１が実施していたレンダリング領域情報３０４の生成を行う。また、制御モジュール１２７０は、用紙搬送方向に交差する第１の方向の領域情報をレンダリング領域情報３０４に含めても良い。また、描画オブジェクトの重なり情報を含めても良い。制御モジュール１２７０は、このようなレンダリング領域情報３０４を、各コントローラ１２０１〜１２０４に割り当てる部分領域を決定する前に生成し、レンダリング領域情報３０４に基づいてＳｔｒｉｐ幅を調整に用いても良い。例えば、描画オブジェクトが重なる領域は、処理負荷が増えるからである。一例として、上側の描画オブジェクトが透過している場合、描画オブジェクトの合成をするため、処理負荷が増える。また、透過がない場合、重なっている分だけの描画オブジェクトを処理し、下側の描画オブジェクトを除去する処理を行うので、処理負荷が増える。従って、制御モジュール１２７０は、処理負荷を考慮して、各プロセッサに割り当てる部分領域を決定して良い。
【００７２】
各コントローラ１２０１〜１２０４は、制御モジュール１２７０から通知された部分領域を示す情報に基づいて、自身の担当する部分領域に対して、実施形態１のコントローラ３１２〜３１４と同様の処理を行う。
【００７３】
＜フローチャート＞
図１３は、本実施形態の各コントローラ１２０１〜１２０４のフローチャートを示す図である。Ｓ１３０１〜Ｓ１３０７は、図１０のＳ１００２〜Ｓ１００８と同様の処理である。即ち、各コントローラ１２０１〜１２０４は、ＰＤＬデータを解析し、オブジェクトリストを生成し、中間データを生成する。また、制御モジュール１２７０で生成されたレンダリング領域情報３０４を用いて中間データをレンダリングしてラスターデータを生成する処理が行われる。本実施形態の各コントローラ１２０１〜１２０４は、図１０のＳ１００１の担当Ｓｔｒｉｐの決定処理は行わない。担当Ｓｔｒｉｐは、制御モジュール１２７０から通知される。
【００７４】
図１４は、制御モジュール１２７０のフローチャートを示す図である。Ｓ１４０１では、制御モジュール１２７０は、ＰＤＬデータを解析し、描画オブジェクトの情報を取得する。Ｓ１４０２では、制御モジュール１２７０は、レンダリング領域情報３０４を生成する。Ｓ１４０２の処理は、図１１のＳ１１０２〜Ｓ１１０５の処理と同様の処理である。Ｓ１４０３では、制御モジュール１２７０は、各プロセッサに割り当てる部分領域（Ｓｔｒｉｐ領域）を、Ｓ１４０２で生成したレンダリング領域情報３０４に基づいて決定する。Ｓ１４０４では、制御モジュール１２７０は、Ｓ１４０３で決定した部分領域を、各プロセッサに通知する。
【００７５】
以上説明したように、本実施形態では、ＲＩＰ処理を並行して行う複数のコントローラとは別個のモジュールにおいて、レンダリング領域情報を生成する。これにより、レンダリング領域情報に基づいて各プロセッサが担当する部分領域を、オブジェクトの分布状態に応じて決定することができる。このため、各プロセッサの処理負荷を同等にすることができ、全体の処理を高速化することができる。
【００７６】
＜＜その他の実施形態＞＞
実施形態１では、複数のコントローラがＲＩＰ処理を並行して行う形態を説明し、この複数のコントローラのうちの所定の１つのコントローラが、レンダリング領域情報を生成する形態を説明した。そして、その所定のコントローラが、他のコントローラにレンダリング領域情報を通知する形態を説明した。しかしながら、各コントローラがそれぞれでレンダリング領域情報を生成して利用する形態でも良い。また、複数のコントローラのうちの２つ以上の一部のコントローラがレンダリング領域情報を生成し、レンダリング領域情報を生成しない他のコントローラに、レンダリング領域情報を通知する形態でも良い。
【００７７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７８】
２０５  ＲＩＰ部
４１１〜４１４  ＰＤＬ解析モジュール
４３１〜４３４  中間データ生成モジュール
４５１〜４５４  レンダリングモジュール
２０６  プリンタエンジン部
【図１】
2019206101.tif 000003
【図２】
2019206101.tif 000004
【図３】
2019206101.tif 000005
【図４】
2019206101.tif 000006
【図５】
2019206101.tif 000007
【図６】
2019206101.tif 000008
【図７】
2019206101.tif 000009
【図８】
2019206101.tif 000010
【図９】
2019206101.tif 000011
【図１０】
2019206101.tif 000012
【図１１】
2019206101.tif 000013
【図１２】
2019206101.tif 000014
【図１３】
2019206101.tif 000015
【図１４】
2019206101.tif 000016