ページ記述言語で記述された印刷データから、印刷装置で出力可能な印刷画像を生成する印刷画像生成装置において、前記印刷データを解析し、前記印刷画像の元となる複数の分割画像を生成する第1処理部と、前記複数の分割画像を取得して加工し、前記印刷装置に転送する第2処理部と、前記複数の分割画像の一部を保持可能な容量の記憶部と、を備え、前記第1処理部と前記第2処理部とは、並列で処理可能に構成され、前記記憶部は、前記分割画像を個別に記憶するnnは3以上の整数個の領域を有し、前記第1処理部は、mmは2以上、n-1以下の整数個の前記領域に前記分割画像を順次生成し、前記分割画像の生成が完了したら、前記第2処理部に通知する画像生成/通知処理を、1ページ分の前記分割画像の処理が終了するまで繰り返し実行し、前記第2処理部は、前記第1処理部から前記通知を受信したら、m個の前記領域から前記分割画像を順次取得する画像取得処理を、1ページ分の前記分割画像の処理が終了するまで繰り返し実行する、ことを特徴とする印刷画像生成装置。1ページ分の前記分割画像の内、未処理の前記分割画像が、m未満の所定数の場合、前記第1処理部は、前記所定数の前記領域に前記分割画像を順次生成し、前記第2処理部は、前記所定数の前記領域から前記分割画像を順次取得する、ことを特徴とする請求項1に記載の印刷画像生成装置。n個の前記領域には、前記分割画像を生成する順に、1からnの番号が割り当てられており、前記第1処理部は、n番目の前記領域に前記分割画像を生成した後は、1番目の前記領域に戻って前記分割画像を生成する、ことを特徴とする請求項1又は2に記載の印刷画像生成装置。mは、前記第1処理部がn-m個の前記分割画像を生成する間に、前記第2処理部がm個の前記分割画像を前記記憶部から取得可能な値に設定される、ことを特徴とする請求項1乃至3のいずれか一に記載の印刷画像生成装置。ページ記述言語で記述された印刷データを解析し、印刷装置で出力可能な印刷画像の元となる複数の分割画像を記憶部に生成する処理と、前記記憶部から前記複数の分割画像を取得して加工し、前記印刷装置に転送する処理と、を並列で実行可能な装置で動作する制御プログラムであって、前記記憶部は、前記複数の分割画像の一部を保持可能な容量を持ち、前記分割画像を個別に記憶するnnは3以上の整数個の領域を有し、前記装置を、mmは2以上、n-1以下の整数個の前記領域に前記分割画像を順次生成し、前記分割画像の生成が完了したら、m個の前記領域から前記分割画像を順次取得する第2処理部に通知する画像生成/通知処理を、1ページ分の前記分割画像の処理が終了するまで繰り返し実行する第1処理部、として機能させる、ことを特徴とする制御プログラム。1ページ分の前記分割画像の内、未処理の前記分割画像が、m未満の所定数の場合、前記第1処理部は、前記所定数の前記領域に前記分割画像を順次生成し、前記第2処理部は、前記所定数の前記領域から前記分割画像を順次取得する、ことを特徴とする請求項5に記載の制御プログラム。n個の前記領域には、前記分割画像を生成する順に、1からnの番号が割り当てられており、前記第1処理部は、n番目の前記領域に前記分割画像を生成した後は、1番目の前記領域に戻って前記分割画像を生成する、ことを特徴とする請求項5又は6に記載の制御プログラム。mは、前記第1処理部がn-m個の前記分割画像を生成する間に、前記第2処理部がm個の前記分割画像を前記記憶部から取得可能な値に設定される、ことを特徴とする請求項5乃至7のいずれか一に記載の制御プログラム。上記並列処理の単位としては、OS的な見地から見るとプロセスとスレッドとが考えられる。後者のほうがより軽量でありパフォーマンス上の利点が大きいが、前者と比較すると1プロセスサイズが巨大化し易い。また、RIPRasterImageProcessing、暗号化、圧縮伸長、その他各種画像処理機能などに数種の外部ソースコードあるいは外部ライブラリを利用する場合、シンボル定義の重複、あるいは参照ライブラリバーション不一致等の理由により、単一モジュール生成が不可能となるケースなども考えられ、このような場合にはプロセス分割を行うことが不可避となる。また、スレッド分割が可能なケースにおいても、スレッド間の通信に要する処理コストは皆無となるわけではなく、通信削減の必要性は、相対的に小さいながらもやはり存在する。また、印刷画像、特にフルカラー画像の保持方法を考えると、メモリ容量の制限により1ページ分の画像をオンメモリで保持することが困難となり、バンド分割処理が必要となる場合が多い。画像をバンド分割処理することは、キャッシュの有効活用の点からも利点がある。画像生成を行うにあたっては、格納メモリ中の同一アドレス値に対して複数回のアクセスを行うことが通常であるため、この点では、バンド分割を行い、さらにバンド幅BandHeightをある程度狭くし、少なくとも全体がキャッシュに収まるサイズとすることは、画像生成処理速度の向上という点においてはプラス方向に働く。特に、共有メモリ型マルチプロセッサではメモリアクセスがボトルネックとなり易く、CPUCentralProcessingUnitのローカルキャッシュの使用率向上は特に有効である。しかしながら、バンド分割を細分化すると、バンド画像を生成する度に、プロセス間通信が発生するため、プロセス間通信処理コストの増大につながってしまうという問題点がある。本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、プロセス間通信処理コストを低減し、処理スループットの向上を図ることができる印刷画像生成装置及び制御プログラムを提供することにある。上記目的を達成するため、本発明は、ページ記述言語で記述された印刷データから、印刷装置で出力可能な印刷画像を生成する印刷画像生成装置において、前記印刷データを解析し、前記印刷画像の元となる複数の分割画像を生成する第1処理部と、前記複数の分割画像を取得して加工し、前記印刷装置に転送する第2処理部と、前記複数の分割画像の一部を保持可能な容量の記憶部と、を備え、前記第1処理部と前記第2処理部とは、並列で処理可能に構成され、前記記憶部は、前記分割画像を個別に記憶するnnは3以上の整数個の領域を有し、前記第1処理部は、mmは2以上、n-1以下の整数個の前記領域に前記分割画像を順次生成し、前記分割画像の生成が完了したら、前記第2処理部に通知する画像生成/通知処理を、1ページ分の前記分割画像の処理が終了するまで繰り返し実行し、前記第2処理部は、前記第1処理部から前記通知を受信したら、m個の前記領域から前記分割画像を順次取得する画像取得処理を、1ページ分の前記分割画像の処理が終了するまで繰り返し実行するものである。また、本発明は、ページ記述言語で記述された印刷データを解析し、印刷装置で出力可能な印刷画像の元となる複数の分割画像を記憶部に生成する処理と、前記記憶部から前記複数の分割画像を取得して加工し、前記印刷装置に転送する処理と、を並列で実行可能な装置で動作する制御プログラムであって、前記記憶部は、前記複数の分割画像の一部を保持可能な容量を持ち、前記分割画像を個別に記憶するnnは3以上の整数個の領域を有し、前記装置を、mmは2以上、n-1以下の整数個の前記領域に前記分割画像を順次生成し、前記分割画像の生成が完了したら、m個の前記領域から前記分割画像を順次取得する第2処理部に通知する画像生成/通知処理を、1ページ分の前記分割画像の処理が終了するまで繰り返し実行する第1処理部、として機能させるものである。本発明の印刷画像生成装置及び制御プログラムによれば、マルチコアプロセッサやリアタイムLinuxOS等を構成要素とするプリンタコントローラプラットフォームにおいて、マルチプロセスによる印刷画像生成/転送の並列処理を実現する場合、バッファの空き待ちが発生する頻度を極小化しつつ、プロセス間通信回数を削減し、これによって、印刷画像生成/転送速度を向上させ、高速印刷装置への対応度を向上させることができる。その理由は、複数のバンド画像を生成してバンドバッファに記憶する第1処理部と、バンドバッファからバンド画像を読み出して加工し、印刷装置に転送する第2処理部とを備える印刷画像生成装置において、第1処理部は、nnは3以上の整数個のバンドバッファの内、mmは2以上、n-1以下の整数個のバンドバッファ、すなわち、1以上のバンドバッファを残した複数のバンドバッファにバンド画像を生成した後、第2処理部に画像生成通知を行う動作を繰り返すため、画像生成通知の回数を削減することができると共に、第2処理部がバンド画像を転送してバンドバッファを空にしなくても次のバンド画像の生成を実行することができるからである。PDLを解釈し、ラスタライズして印刷画像を生成した後、印刷装置へ転送する機能プリンタコントローラ機能を実現するためのプラットフォームとして、Linux等の汎用OSをベースとし、組込み機器用にリアルタイム機能などを強化したOSが広く用いられつつある。また、特に中高速プリンタ用コントローラにおいては、ハードウェアプラットフォームの主プロセッサ部にマルチコアプロセッサを採用したものが増加しつつある。これらのものを構成要素として採用したプラットフォームにおいて、印刷画像生成/転送処理を、ハードウェア能力を生かす形でつまり、処理並列化する形で構築する場合の1つの典型的な形態として、印刷画像生成処理及び印刷画像転送処理をそれぞれ別プロセス化し、バンドバッファを各プロセスからアクセス可能とし、画像生成通知をプロセス間通信により行うという形態が考えられる。上記処理モデルにおけるバンド分割の方法に注目すると、バンド分割を細分化することは、キャッシュメモリの有効利用の点からは利点がある。特に共有メモリ型マルチプロセッサにおいては、ローカルキャッシュを有効活用することが処理スループット向上のために重要である。しかしながら、バンド生成の都度、プロセス間通信が発生するような処理モデルでは、バンド分割の細分化は、プロセス間通信増加によるスループット低下の要因ともなり得る。このようなジレンマを解決するための方法として、複数のバンド画像を一括生成し、その後にプロセス間通信により画像生成通知を行う方式が考えられる。しかしながら、確保しているバッファの全てを使用し、バンド画像の生成を行った後に画像生成通知を行い、その後に転送処理と次のバンド画像の生成を並列処理するような方法では、バッファに空きが生じるまで次のバンド画像を生成することができず、待ち時間が発生してしまい、スループットの向上が阻害されてしまう。上記問題について、図面を参照して説明する。図1は、リアルタイムLinux等の汎用系OSとマルチコアプロセッサを搭載したプラットフォームにおける印刷画像生成/転送処理を模式的に示す図である。図1において、PDL解析画像生成処理を行う第1機能と、画像加工印刷装置転送処理を行う第2機能は、それぞれ独立したプロセスであり、並列動作可能である。フレームバッファは、バンド画像を格納するバンドバッファ群より成る。メモリ制限により1ページ分の画像を保持することは出来ないが、複数のバンド画像の保持図では、バンドバッファ1~バンドバッファ7を利用した7つのバンド画像の保持が可能であるものとする。なお、バンドという用語は、ページを複数部分に分割したものを指し、バンド画像は、1ページの印刷画像の元となる分割画像を指す。第1機能は、PDLで記述された印刷データを解析し、フレームバッファ中のバンドバッファのいずれかにバンド画像を生成する。その際、単純な方法として、図2に示すように、1バンド分のバンド画像を生成した後、第2機能に該当するプロセスに対して画像生成通知を発行し、その後、自らは次のバンド画像の生成処理に移る方法がある。この場合、基本的に、常にバンド画像生成処理と加工/転送処理が並列処理されていることになり、第2機能は第1機能に対して、1つ前のバンド画像に対する処理を行っていることになる。この従来の方法は、比較的単純な方法であり、また、並列処理によりマルチコアプロセッサリソースを活用することができるが、バンド画像の生成処理毎にプロセス間通信画像生成通知が発生するため、プロセス間通信処理コストがスループットに悪影響を与えてしまうという欠点がある。プロセス間通信処理コストを削減する方法として、図3に示すように、第1機能においてバンドバッファ数分図では7つのバンド画像を生成した後に、第2機能に対して画像生成通知を行い、直後に第1機能は次のバンド群の生成を開始する方法、つまり、1バンド単位でなく、総バンドバッファ数に該当する7バンド単位で並列処理を行うことにより、プロセス間通信回数の削減を図る方法が考えられる。しかしながら、この方式では、第1機能がバンド8以降のバンド画像の生成を開始した時点では、バンドバッファは全て使用中印刷装置への転送が未完了であり、少なくとも1つのバンドバッファが空き状態となるまで、バンド画像をバンドバッファに生成することができず、さらに、バンドバッファが空き状態となった時点での第2機能から第1機能への通知図のバッファ使用可能通知が必要となってしまい、スループット向上が阻害されてしまうこととなる。そこで、本発明の一実施の形態では、全てのバンドバッファの中の少なくとも1つを空のバンドバッファとして残しながら、複数のバンドバッファをリングバッファ状に使用して行くという方式を採用し、これにより、プロセス間通信コストの削減とバンドバッファの空き待ち時間の極小化を合わせて実現する。具体的には、図4に示すように、第1機能においては、バンドバッファの総数n=7個より、一定個数ここでは2個とするが、実装時のデータ生成/取得処理の処理コストの比率に応じて適宜変更可能である。を差し引いた個数m=5個に対して、順次バンド画像の生成を行い、その後、第2機能に対して画像生成通知を発行する。その直後、第1機能は6番目のバンドバッファ6を使用してバンド画像の生成を継続する。この時点でバンドバッファ6は空きバッファであるため、直ちにバンド画像の生成処理を進行することができる。そして、第1機能は、バンド7のバンド画像をバンドバッファ7に生成し終わった後、バンド8のバンド画像のバンドバッファ1への出力を開始するが、この時点でバンドバッファ1内のバンド画像の転送は完了しており、バンドバッファの空き待ちが発生することはない。表現を変えると、バンドバッファの空き待ちが発生しないように、バッファ使用に余裕を持たせることが肝要であり、それが、この例では、7バンドバッファ中5バンドバッファを使用しながら並列処理を行うこととなる。バンドバッファの総数nとバンド画像を生成するバンドバッファ数mを用いて表現すると、mの値を、第1機能がn-m個のバンド画像を生成する間に、第2機能がm個のバンド画像をバンドバッファから取得可能な値に設定することにより、バンドバッファの空き待ちが発生しないようにすることができる。ここで、バンドバッファ数=7に対し、1度の画像生成処理において生成するバンド画像の数=5を基本生成バンド数と呼ぶことにし、後述の実施例における処理フロー図9、図10においてもこの用語を使用する。また、バッファ使用において余裕を持たせる個数=2も、上述したようにデータ生成/取得処理の処理コストの比率により適宜変更可能であるが、後述の実施例を含め、2個であることを前提として説明を行う。図5は、本実施形態の方法において、いかなる順番でバンドバッファを使用するかを示しており、バンドバッファを2個ずつ余裕を持たせながらリングバッファ状に使用していく方式となっている。具体的には、1回目の処理で、バンドバッファ1~51番目からm個のバンドバッファに対してバンド画像を生成し、2回目の処理で、バンドバッファ6と7m1番目からn-m個のバンドバッファとバンドバッファ1~31番目から2m-n個のバンドバッファに対してバンド画像を生成し、以下、同様に処理を繰り返す。ここで、リングバッファという用語は、バッファバンドバッファを、最初はその先頭から使用し、その終端に達すると再度先頭から使用する、すなわち、線形のバッファ構造でありながら円環状のバッファ構造が実現されているかのような操作アルゴリズムによりアクセスするという点に着目して用いる用語である。後述の実施例におけるバッファ操作アルゴリズム説明時には、特に説明上妥当と考えられる場合にはリングバッファの用語を使用して説明を行うが、実体としてはリングバッファ=バンドバッファとなる。上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係る印刷画像生成装置及び制御プログラムについて、図6乃至図10を参照して説明する。図6は、本発明の一実施例に係る印刷画像生成システムの構成を模式的に示す図である。また、図7は、プリンタコントローラの機能を示すブロック図であり、図8は、PDL処理を概説する図である。また、図9及び図10は、本実施例の印刷画像生成装置の動作を示すフローチャート図である。[システム構成]図6に示すように、本実施例の印刷画像生成システム10は、印刷データ本実施例では、再利用オブジェクトと一次利用オブジェクトを含むバリアブル印刷データを生成して印刷指示を行うクライアント端末20と、印刷データの各ページをラスタライズして印刷画像を生成するプリンタコントローラ40と、印刷画像に基づいて印刷を実行する印刷装置30とで構成される。クライアント端末20とプリンタコントローラ40は、LANLocalAreaNetworkやWANWideAreaNetworkなどのネットワークで接続されており、プリンタコントローラ40と印刷装置30は、専用のインターフェースで接続されている。クライアント端末20は、CPU、ROMReadOnlyMemoryやRAMRandomAccessMemoryなどのメモリ、HDDHardDiskDrive、NICNetworkInterfaceCard等から構成され、ROMやHDDに記憶されたプログラムOSやアプリケーションソフト、プリンタドライバなどをRAMに展開し、CPUで実行する。プリンタコントローラ40は、CPUマルチコア構成の主プロセッサ、ROMなRAMなどのメモリ主記憶装置、HDD補助記憶装置、ネットワークインターフェースNICやVideoI/F等から構成され、ROMやHDDに記憶されたプログラムPDL解析印刷画像生成処理や画像加工印刷装置転送処理などを実行する制御プログラムをRAMに展開し、CPUで実行する。印刷装置30は、ネットワークプリンタや複合機MFP:MultiFunctionPeripheralなどの画像形成装置である。なお、図1では、プリンタコントローラ40と印刷装置30とを別々の装置としているが、プリンタコントローラ40を基板として印刷装置30に組み込んでもよい。また、図1では、印刷画像生成システム10にクライアント端末20を含めているが、プリンタコントローラ40のHDDやサーバなどに記憶されたデータを利用して印刷を実行する場合は、クライアント端末20を省略することもできる。上記構成の印刷画像生成システム10の動作について概説すると、クライアント端末20は、アプリケーションソフトあるいはプリンタドライバ等により、各種PDLのいずれかの形式で記述された印刷データを生成し、LANケーブルなどを経由して、生成した印刷データをプリンタコントローラ40に送信する。プリンタコントローラ40は、印刷データを解読し、ラスタライズして印刷画像を生成し、専用のVideoI/Fを経由して、生成した印刷画像を印刷装置30に転送する。印刷装置30は、電子写真方式等の印刷プロセスに基づき、印刷画像を紙媒体に出力する。次に、本実施例の特徴であるプリンタコントローラ40の詳細構成について説明する。プリンタコントローラ40は、ハードウェア構成としてはマルチコア構成の主プロセッサ、主記憶装置、補助記憶装置、NIC、VideoI/F等からなり、リアルタイムLinuxOSにより制御される。このようなプラットフォーム構成をベースとし、PDL解析印刷画像生成処理や画像加工印刷装置転送処理を実行する機能がアプリケーション機能として実装されることになる。図7は、プリンタコントローラ40の機能を示すブロック図である。NIC49、ネットワークドライバ46を経由して取り込まれたPDLは、スプーラ41により補助記憶装置50へ格納される。ジョブスケジューラ42により処理可能と判定されたPDLは、PDLアナライザ43によりその種別が判定され、対応する処理機能を持つPDLプロセッサ44へ渡される。PDLプロセッサ44としては、各種PDLに対応するものが補助記憶装置50に格納されており、PDL処理対象と判定されたものがその都度ロードされ、実行されることになる。PDLの種別としては、PostScript/PDFPortableDocumentFormat、PCLPrinterControlLanguageXL/5、XPSXMLPaperSpecification、PPMLPersonalizedPrintMarkupLanguage等がサポートされる。原則的に主記憶装置51上にロードされて実行されるPDLプロセッサは、同時には1個のみであるが、PDLの種別がPPMLである場合は例外的であり、PPML及びPostScript/PDFに対応するもの合計2個が同時に主記憶装置51上に存在することになる。その理由は、PPMLの部品画像に関しては、必ず内部機能を利用してPostScript形式に変換し、その後にPostScript部品画像のラスタライズ処理と、ラスタライズ済み画像同士の合成PPML処理を繰り返しながら印刷画像を生成するからである。さて、PDLプロセッサ44は、PDLの解読を行い、印刷画像を分割したバンド画像を主記憶装置共有メモリ51上に生成する。さらにPDLプロセッサ44は、この時、印刷画像の生成が完了したことを、プロセス間通信によりラスタ画像プロセッサ45に通知する図中点線の流れ。ラスタ画像プロセッサ45は、図に示した経路とは別の経路により、通知されたジョブ指示PDLの部分情報等に基づき、画像シフト/回転等の処理を行った後、VIFドライバ47、VideoI/F52を経由して、バンド画像を印刷装置30へ転送する。Linuxカーネル48はOS機能であり、アプリケーション機能よりハードウェア層の機能を利用する場合、また、PDLプロセッサ44よりラスタ画像プロセッサ45に対して画像生成通知を発行する場合のように、プロセス間通信によりアプリケーション機能同士で通信を行う場合等に、その機能が利用される。次に、PDLプロセッサ44及びラスタ画像プロセッサ45の機能について説明する。図8は、PDL種別がPPMLである場合の、PDLプロセッサ44及びラスタ画像プロセッサ45の機能の詳細を示している。通常のPPMLでは、任意のPDL通常はPDFで記述されることが多い。により記述された部品画像とPPML記述ファイルがZIPアーカイブ化された形でクライアント装置20より投入される。PPML記述は、複数ページで参照される部品画像である再利用オブジェクトの記述、及び、単一ページで参照される部品画像である一時利用オブジェクトの記述を中心とする各種記述から成っている。再利用オグジェクトに関しては、PPML言語の設計思想では、ラスタライズ後の画像を高速記憶装置にキャッシュし、ページ/バンドの画像生成の際、キャッシュ内の画像を使用して処理を高速化することが期待されており、本実施例もこのような処理モデルに沿ったものとなっている。なお、以下の説明では混乱を避けるため、PDLからラスタライズされた部品画像を生成する処理を、特にRIPという用語を使用して示すこととする。図8の一重実線は、入力ファイルを取得し、解凍及び形式変換を行う処理の流れを示している。PDLプロセッサPPML44bにおける解凍PostScript化機能は、PDLアナライザ43より発行されたジョブ開始通知を受信すると、補助記憶装置50よりZIP形式でアーカイブされた入力ファイルを読み出し、解凍する。解凍したものはPPMLファイルと部品画像ファイルに分かれ、いずれも再び補助記憶装置50に格納される。なお、部品画像は必ずPostScriptに形式変換し、1ファイルにまとめた状態で格納する。図8の点線は、PostScript形式の再利用オブジェクトファイルをRIPし、主記憶装置51内に格納キャッシュする処理の流れである。再利用オブジェクトRIP機能は、補助記憶装置50より部品画像ファイルを取得し、その中の再利用オブジェクト記述部を判別し、PDLプロセッサPostScript/PDF44aの機能を利用して当該再利用オブジェクトのRIP処理を行う。RIP後の画像は、主記憶装置51中の再利用オブジェクトキャッシュ領域に格納する。図8の一点鎖線は、一次利用オブジェクトファイルをRIPし、主記憶装置51内にバッファリングする処理の流れである。一次利用オブジェクトRIP機能は、補助記憶装置50より部品画像ファイルを取得し、その中の一次利用オブジェクト記憶部を判別し、PDLプロセッサPostScript/PDF44aの機能を利用して当該一次利用オブジェクトのRIP処理を行う。RIP後の画像は、主記憶装置51中のRIP後画像格納領域に格納する。図8の二重実線は、キャッシュされた再利用オブジェクト画像及びバッファリングされた一次利用オブジェクト画像をバンドバッファ上に合成出力し、さらにその画像を取得する処理の流れである。バンド合成機能は、画像透過情報及びZオーダー情報を考慮した上で再利用オブジェクトキャッシュ領域及びRIP後画像格納領域の画像を合成し、フレームバッファに出力する。また、バンド合成機能は、バンド合成完了時に、ラスタ画像プロセッサ45に対して画像生成通知を発行する。ラスタ画像プロセッサ45のバンド取得機能は、画像生成通知受信後、フレームバッファよりバンド画像を取得する。この後、バンド加工処理機能は、取得済みバンド画像に対してジョブ指示に基づく回転/シフト処理を施し、また、バンド転送処理機能は、加工済みバンド画像の印刷装置30への転送を行う。次に、本実施例の印刷画像生成装置40の動作について、図9及び図10のフローチャート図を参照して説明する。[バンド画像生成/通知処理詳細]まず、PDLプロセッサ44の動作について説明する。図9は、バンド画像生成/通知処理の手順を示すフローチャートであり、1ページ分のバンド画像生成処理に該当している。まず、S101において、基本生成バンド数変数に対して、主記憶装置共有メモリに存在する総バンドバッファ数から2を減算した数を代入する。基本生成バンド数は、前述したように、プロセス間通信により画像生成通知を発行するための単位バンド数である。その後、S102において、バンド画像を保存するカレントバンドバッファを、先頭のバンドバッファに設定する。次に、今回生成数変数に対して、生成すべきバンド数を設定する。この変数を保持することは、ページの最終部分において基本生成バンド数に満たないバンド群の生成と通知を行う必要が生じる場合に対処する意味を持つ。具体的には、S104において、残りバンド数が基本生成バンド数より小さいか否かを判定し、小さい場合は、S105において、今回生成数に残りバンド数を設定し、等しいか又は大きい場合は、S106において、今回生成数に基本生成バンド数を設定する。次に、今回生成数分のバンド画像をリングバッファに出力する処理を行う。まず、S108において、カレントバンドバッファに対する出力が可能か否かの判定を行い、ロックされており出力できない場合は、S109において一定時間待った後、再度S108の判定を行う。カレントバンドバッファに対して出力可能な場合は、S110において、1バンドの生成処理1つのバンド画像をバンドバッファに保存する処理を行い、さらにS111において、カレントバンドバッファのポインタに1を加算する。次に、S112において、この時点でカレントバンドバッファが終端のバンドバッファをオーバーしているか否かの判定を行い、オーバーしている場合は、S113において、カレントバンドバッファを先頭のバンドバッファに設定し直す。S107は、今回生成数分のバンド画像をリングバッファ出力し終わったか否かを判定する処理であり、今回生成数分の出力が終わっていない間は、S108~S113の処理を繰り返す。今回生成数分の出力が終わった場合は、S114において、ラスタ画像プロセッサ45へ画像生成通知を発行する。そして、S115において、残りバンド数から今回生成数を減算し、その後、S116においてカレントバンドバッファのポインタに2を加算する。次に、S117において、この時点でカレントバンドバッファが終端のバンドバッファをオーバーしているか否かの判定を行い、オーバーしている場合は、S118において、カレントバンドバッファのポインタからオーバーしているバンドバッファ数を減算し、リングバッファ内の正しい位置を示すようにする。その後、S103において、1ページ分全てのバンド画像生成/通知が終了したか否かの判定を行う。全てのバンド画像生成/通知が終了していない間は、S104~S114を繰り返し、終了している場合は、そこで1ページ分の処理の終了となる。[バンド画像取得処理詳細]次に、ラスタ画像プロセッサ45の動作について説明する。図10は、1ページ分のバンド画像を取得する手順を示すフローチャート図であり、概ねバンド画像生成/通知処理と相似的なフローとなっている。先ず、S201において、基本取得バンド数変数に対して、総バンドバッファ数から2を減算した数を代入し、その後、S202において、バンド画像を読み出すカレントバンドバッファを、先頭バンドバッファに設定する。次に、今回取得数変数に対して、取得すべきバンド数を設定する。具体的には、S204において、残りバンド数が基本取得バンド数より小さいか否かを判定し、小さい場合は、S205において、今回取得数に残りバンド数を設定し、等しいか又は大きい場合は、S206において、今回取得数に基本取得バンド数を設定する。次に、S207において、バンド画像生成通知を受信する。通知が行われていない場合は、当該事象の発生までブロックされた後、受信することとなる。通知受信後は、今回取得数分のバンド画像をリングバッファから取得する処理を行う。まず、S209において、カレントバンドバッファから1バンド取得し、S210において、カレントバンドバッファのロックを解除した後、さらにS211において、カレントバンドバッファのポインタに1を加算する。次に、S212において、この時点でカレントバンドバッファのポインタが終端のバンドバッファをオーバーしているか否かの判定を行い、オーバーしている場合は、S213において、カレントバンドバッファを先頭バンドバッファに設定し直す。S208は、今回取得数分のバンド画像をバンドバッファから取得し終わったか否かを判定する処理であり、今回取得数分の取得が終わっていない間は、S209~S213の処理を繰り返す。今回取得数分の取得が終わった場合は、S214において、残りバンド数から今回取得数を減算し、その後、S215において、カレントバンドバッファのポインタに2を加算する。次に、S216において、この時点でカレントバンドバッファのポインタが終端のバンドバッファをオーバーしているか否かの判定を行い、オーバーしている場合は、S217において、カレントバンドバッファのポインタからオーバーしているバンドバッファ数を減算し、リングバッファ内の正しい位置を示すようにする。その後、S203において、1ページ分全てのバンド画像取得が終了したか否かの判定を行う。全てのバンド画像取得が終了していない間は、S204~S214を繰り返し、終了している場合は、そこで1ページ分の処理の終了となる。最後に、図9のバンド画像生成/転送フロー及び図10のバンド画像取得フローによる非同期処理において、バンド排他制御がいかに実現されているか、また、通信回数の削減及びバンドバッファの空き待ち発生の極小化がいかに具現化されているかを説明する。先ず排他制御に関して、S108、S109において、カレントバンドバッファが使用中ラスタ画像プロセッサ45による取得が完了していない状態である可能性があるため、ロック/アンロックの確認を行い、アンロックされるまで待ってS110のバンド生成処理へ進む方法をとっている。アンロックを実行する取得側の処理はS210である。取得側では、S207の画像生成通知受信をトリガとしてバンド取得処理が開始される。この時点で、バンドバッファ数-2個、つまり基本取得数分のバンド画像が生成されていることが保証されるため、取得側は無条件に取得を行い、終了するたびにバッファのロックを解除して行くことになる。プロセス間通信については、画像生成通知の発行処理がS114、受信処理がS207であり、フローチャートから分かるように、複数バンド生成/取得後に送受信されており、発行回数が削減されている。バンドバッファの使用方法としては、生成側がS116~S118、取得側がS215~S217においてバンドバッファを2個飛ばしながらREAD/WRITEを行うことにより、S109のバンドバッファの空き待ち処理の実際の発生頻度を極小化する仕組みを実現している。このように、本実施例によれば、PDLプロセッサ44は、nnは3以上の整数個のバンドバッファの内、mmは2以上、n-1以下のバンドバッファにバンド画像を生成した後、ラスタ画像プロセッサ45に画像生成通知を行う動作を繰り返し、ラスタ画像プロセッサ45は、画像生成通知を受け取った後、順次バンドバッファからバンド画像を読み出して印刷装置30に転送する動作を実行することにより、プロセス間通信処理コストを低減し、印刷処理の効率化を図ることができる。なお、上記実施例は、上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、その構成や制御は適宜変更可能である、例えば、上記実施例では、7つのバンドバッファの内、2つを残した5つのバンドバッファを使用する場合について説明したが、nnは3以上の整数個のバンドバッファの内、mmは2以上、n-1以下の整数個のバンドバッファを使用する場合に対しても同様に適用することができる。また、上記実施例では、再利用オブジェクトと一次利用オブジェクトを利用するバリアブル印刷について記載したが、通常の印刷に対しても同様に適用することができる。