ジョブ内で再利用される描画オブジェクトを含む印刷データの画像データを生成する画像形成装置であって、前記再利用される描画オブジェクトからディスプレイリストを生成して、生成されたディスプレイリストをキャッシュするキャッシュ手段と、前記印刷データの各ページを描画オブジェクト単位で分割して並列にRIP処理を行うオブジェクト並列処理手段と、前記印刷データをページ単位で分割して並列にRIP処理を行うページ並列処理手段と、前記印刷データにおいて、ページ内に含まれる前記再利用される描画オブジェクトのうち、前記キャッシュ手段によりディスプレイリストとしてキャッシュされた描画オブジェクトの割合を示すキャッシュヒット率を取得する取得手段と、前記印刷データの先頭ページから順番に前記オブジェクト並列処理手段により処理し、前記取得手段により取得されたキャッシュヒット率が所定のしきい値以上になったページ以降のページをページ並列処理手段により処理する処理制御手段とを有することを特徴とする画像形成装置。前記オブジェクト並列処理手段は、前記オブジェクト並列処理におるオブジェクトの分割を前記印刷データで指定されるオブジェクト単位で行うことを特徴とする請求項1に記載の画像形成装置。前記印刷データはPPMLデータであることを特徴とする請求項2に記載の画像形成装置。前記印刷データにおける1ページあたりのオブジェクト数により、前記ページ並列処理を開始する基準となるしきい値を調整する調整手段を有することを特徴とする請求項1乃至3いずれか1項に記載の画像形成装置。前記調整手段は、前記オブジェクト数が多いほど、前記ページ並列処理を開始する基準となるしきい値を大きくし、前記オブジェクト数が少ないほど、前記ページ並列処理を開始する基準となるしきい値を小さくするように調整することを特徴とする請求項4に記載の画像形成装置。ジョブ内で再利用される描画オブジェクトを含む印刷データの画像データを生成する画像形成装置の制御方法であって、前記再利用される描画オブジェクトからディスプレイリストを生成して、生成されたディスプレイリストをキャッシュするキャッシュ工程と、前記印刷データの各ページを描画オブジェクト単位で分割して並列にRIP処理を行うオブジェクト並列処理工程と、前記印刷データをページ単位で分割して並列にRIP処理を行うページ並列処理工程と、前記印刷データにおいて、ページ内に含まれる前記再利用される描画オブジェクトのうち、前記キャッシュ工程でディスプレイリストとしてキャッシュされた描画オブジェクトの割合を示すキャッシュヒット率を取得する取得工程と、前記印刷データの先頭ページから順番に前記オブジェクト並列処理工程により処理し、前記取得工程で取得されたキャッシュヒット率が所定のしきい値以上になったページ以降のページをページ並列処理工程により処理することを特徴とする画像形成装置の制御方法。請求項6に記載の画像形成装置の制御方法に含まれる各工程をコンピュータに実行させるためのプログラム。VDPにおいてもマルチコアCPUによる並列処理を用いた高速化が期待されるが、VDPの場合には固有の課題がある。ページ並列処理方式では、ある一つのリユーサブルオブジェクトを同時並行でRIP処理する複数のページで同時に参照していると効率が低下する。単一のリユーサブルオブジェクトを複数のコアで重複してRIP処理するか、片方のコアのRIP処理が完了するのを待つ必要があるためである。重複してRIP処理すると、VDPの大きなメリットであるリユーサブルオブジェクトのキャッシュ処理の効用が失われる。かといって、待ち合わせ処理を行うと待ちによるCPU時間の無駄が発生する。一般に、リユーサブルオブジェクトのRIP処理はジョブの先頭付近で多く発生し、ジョブの進展と共にキャッシュ処理による高速化が可能となる。従って、VDPにおけるページ並列処理方式はジョブの先頭が苦手で、ジョブの後半が得意と言える。対して、オブジェクト並列処理はローカルオブジェクトとリユーサブルオブジェクトが明確に定義されるPPMLなどのVDP言語とは比較的相性の良い方法とも言える。オブジェクトの分割と収集の計算コストを比較的少なく抑えることが可能なためである。また、オブジェクトの再利用はジョブ間やレコード間、ページ間で行われることが多く、ページ内で再利用されるケースは比較的少ない。しかし、オブジェクトの分割がVDPデータを生成するVDPアプリケーションに依存してしまい、少ないオブジェクト数でページを構成するVDPデータでは効果が期待できない。また、ジョブの進展と共にキャッシュされたリユーサブルオブジェクトの再利用が増えるため、並列処理の対象となるオブジェクト数が減ってしまう。即ち、VDPにおけるオブジェクト並列処理方式はジョブの先頭が得意で、どちらかというとジョブの後半が苦手な方式と言える。このように、VDPにおけるRIPの並列処理方式にはVDP固有の事情があり、どの処理方式を選択するにせよ、それぞれ一長一短がある。本発明は、マルチコアCPUを用いた並列処理において、ページ並列処理、オブジェクト並列処理の2つの方式それぞれのメリットを活かすことでVDPのRIP処理速度をより高めることが可能な画像形成装置を提供することを目的とする。上記課題を鑑み、本発明の画像形成装置は、ジョブ内で再利用される描画オブジェクトを含む印刷データの画像データを生成する画像形成装置であって、前記再利用される描画オブジェクトからディスプレイリストを生成して、生成されたディスプレイリストをキャッシュするキャッシュ手段と、前記印刷データの各ページを描画オブジェクト単位で分割して並列にRIP処理を行うオブジェクト並列処理手段と、前記印刷データをページ単位で分割して並列にRIP処理を行うページ並列処理手段と、前記印刷データにおいて、ページ内に含まれる前記再利用される描画オブジェクトのうち、前記キャッシュ手段によりディスプレイリストとしてキャッシュされた描画オブジェクトの割合を示すキャッシュヒット率を取得する取得手段と、前記印刷データの先頭ページから順番に前記オブジェクト並列処理手段により処理し、前記取得手段により取得されたキャッシュヒット率が所定のしきい値以上になったページ以降のページをページ並列処理手段により処理する処理制御手段とを有することを特徴とする。本発明によれば、マルチコアCPUを用いた並列処理において、ページ並列処理、オブジェクト並列処理の2つの方式それぞれのメリットを活かすことでVDPのRIP処理速度をより高めることが可能となる。以下、本発明を実施するための最良の形態について図面を用いて説明する。図1は、本発明の実施形態に適用される画像形成装置であるプリンタ100の構成を説明するハードウェアブロック図である。なお、本実施形態では画像形成装置単体の構成を用いて説明するが、ネットワークを介して接続させるホストコンピュータ上に多くの処理を分離実行させる構成も可能である。コントローラユニット200は、画像信号やデバイス情報の入出力を制御する。CPU1は、ROM3あるいはHDD4に記憶されたプログラムをRAM2に読み出し、実行する。さらに、CPU1は、システムバス5に接続される各デバイスを統括的に制御する。CPU1は、内部に二つのコアを有するデュアルコアプロセッサであり、2つの制御プログラムを同時並列に実行可能である。RAM2は、CPU1の主メモリ、ワークエリアとして機能する。ROM3には、電源ON時に実行されるブートプログラムが格納され、HDD4には、オペレーティングシステムと本装置の制御プログラム本体が格納される。また、HDD4は、画像データやプリントデータ等の大容量データを一時的あるいは長期的に保持する目的でも使用される。Network6は、ローカルエリアネットワーク13に接続し、印刷データやデバイス情報の入出力を担う。操作部I/F7は、操作部14とのインターフェース部で、操作部14に表示する画像データを操作部14に対して出力する。また、操作部I/F7は、操作部14から本装置の使用者が入力した情報を、CPU1に伝える役割をする。操作部14は、出力器として液晶パネルと音源を備え、入力器としてタッチパネルとハードキーを備えるものである。コントローラユニット200は、デバイスI/F8を介して、プリンタエンジン15に接続される。デバイスI/F8は、CPU1の指示に基づき、画像信号の送出、デバイス動作指示、デバイス情報の受信を行う。プリンタエンジン15は、コントローラユニット200からの画像信号を媒体上に出力する出力機であり、電子写真方式、インクジェット方式の何れでも構わない。RasterImageProcessorRIP9は、ディスプレイリストをラスタイメージに展開する専用ハードウェアである。RIP9は、CPU1によりRAM2上に生成されたディスプレイリストを高速かつ、CPU1の実行と並列に、処理するものである。プリンタ画像処理部10は、プリント出力画像データに対して、画像補正、ハーフトーニング等を行う。画像回転部12は、画像データの回転を行う。画像圧伸部11は、多値画像データはJPEG、2値画像データはJBIG、MMR、MHの圧縮伸張処理を行う。図2Aは、本画像処理装置のソフトウェアモジュール構成図である。図2Aに記載した各ソフトウェアモジュールは、プログラムとしてHDD4に格納され、RAM2にロードされCPU1により実行されるものである。より具体的には、各ソフトウェアモジュールはCPU1上で動作するOSオペレーティングシステムによりRAM2にロードされ、スレッド単位で実行権を付与され、実行されるものである。データ受信部201は、ホストから送信されたプリントデータを受信し、受信したデータはジョブ制御部202を介してジョブデータ管理部208で保持される。ジョブ制御部202は、データ受信から印刷までのジョブ制御の全般を司る。PDLインタプリタ203は、プリントデータを解釈して、中間データであるディスプレイリストを生成する。生成されたディスプレイリストは、ジョブ制御部202を介してジョブデータ管理部208で保持される。レンダラ204は、ディスプレイリストからビットマップイメージを生成するモジュールであり、多くの処理は専用ハードウェアRIP9により実行される。生成されたビットマップイメージは、ジョブ制御部202を介してジョブデータ管理部208で保持される。プリンタドライバ205は、デバイスI/F8を介してプリンタエンジンへの印刷指示とビットマップイメージの送出を行う。ユーザインターフェース206は、操作部I/F7を介して、操作部14を制御するモジュールである。主に操作部14の液晶パネルに表示するデータを生成し、タッチパネルからの入力に従い液晶パネルの表示を更新する。また、タッチパネルからの入力が何らかのジョブ実行指示であった場合は、ジョブ制御部202に指示を伝達する。ジョブデータ管理部208は、プリントデータ、ディスプレイリスト、ビットマップイメージのそれぞれを一時的もしくは長期的に保持管理するデータベースである。図2Bは、図2AのPDLインタプリタ203をより詳細に記したソフトウェアモジュール構成図である。PPMLインタプリタ209は、PPMLデータを解釈し、ディスプレイリストの生成を行う。PDFインタプリタ211は、PDFデータの解釈を行い、ディスプレイリストの生成を行う。PSインタプリタ212は、PSデータの解釈を行い、ディスプレイリストを生成する。キャッシュ制御部210は、描画オブジェクトをディスプレイリストの形式でキャッシュする。PPMLインタプリタ209は、PPMLのコンテンツとして、PSもしくはPDFデータが指定されている場合は、ジョブ制御部202を介して、PDFインタプリタ211、もしくはPSインタプリタ212を起動する。PPMLインタプリタ209は、PPMLデータで描画オブジェクトの再利用が指示された場合は、キャッシュ制御部210と連動して描画オブジェクトの再利用を行う。図3は、オブジェクト単位でのRIP処理である、オブジェクト並列処理を行う場合の1ページ分のPPMLデータをRIP処理する制御フローをあらわしたフローチャートである。なお、本説明では図2Aおよび図2Bの各ソフトウェアモジュールによって実行されるように記述する。また、本フローチャートは、HDD4に記憶された図2Aおよび図2Bの各ソフトウェアモジュール内の各プログラムがRAM2に読み出され、CPU1により実行されることにより実現される。本フローチャートではスレッドA1、スレッドA2、スレッドCの三つのスレッドが並列に実行される。各スレッドはOSにより時分割され、CPU1内の二つのコアに順番に割り振られる。時分割の単位は十分に小さいため、三つのスレッドは並列動作すると見なすことができる。しかしながら、ある一時点に着目すると同時に実行されるスレッドは二つである。オペレーティングシステムによるマルチスレッディング処理は一般に広く知られる技術であるため、詳細は省略する。スレッドCがPPML処理のメインスレッドであり、スレッドA1、スレッドA2はスレッドCにより実行時に動的生成されるものである。スレッドCでは最初にステップS1101において、PPMLインタプリタ209は、その時点でディスプレイリスト生成中の描画オブジェクトがあるか否か判定する。ページ処理開始当初はディスプレイリスト生成中の描画オブジェクトは存在しないため、Noとなる。Noの場合はステップS1102に進み、PPMLインタプリタ209はページ内の全描画オブジェクトのディスプレイリスト生成依頼が完了しているか判定する。後述するように、描画オブジェクトのディスプレイリスト生成処理は別スレッドに依頼して行う。ページ処理開始当初は全描画オブジェクトのディスプレイリスト生成依頼は完了していないためNoとなる。Noの場合はステップS1103へ進み、PPMLインタプリタ209はPPMLデータを解釈して、描画オブジェクトを取りだす。ここで、描画オブジェクトはPPMLデータで定義されたローカルオブジェクトもしくはリユーサブルオブジェクトのいずれかを指すものである。次にステップS1104へ進み、PPMLインタプリタ209は、描画オブジェクトがリユーサブルオブジェクトかつキャッシュ内に格納済みか判定する。Noの場合は、ステップS1105へ進み、PPMLインタプリタ209は描画オブジェクトに対応するPDLデータのディスプレイリスト生成依頼をジョブ制御部202に通知する。ここでジョブ制御部202は新たなスレッドAを生成し、当該PDLインタプリタにディスプレイリスト生成を実行させる。なお、図3ではスレッドA1、スレッドA2と二つのスレッドを図示しているが、スレッドは描画オブジェクトの数分だけ動的生成される。ただし、後述するように同時に実行されるスレッドは二つに限定するように制御されるため、便宜的にスレッドA1、スレッドA2と表記する。ステップS1105の処理を完了すると、ステップS1101に戻る。ステップS1104でYesの場合は、ステップS1111に進み、PPMLインタプリタ209はキャッシュ制御部210を介してキャッシュされたディスプレイリストを取りだす。なお、ディスプレイリストのキャッシュはジョブ間、ページ間で破棄されないため、ページ処理開始直後でもキャッシュにヒットする可能性がある。次にステップS1102へ進み、PPMLインタプリタ209は描画オブジェクトのページ内でのレイアウトを考慮して、ディスプレイリストをページ用ディスプレイリストに合成する。次にステップS1113へ進み、PPMLインタプリタ209は1ページ分のディスプレイリスト生成が完了したか判定する。ここでNoの場合は、ステップS1101に戻り、処理を繰り返す。ステップS1101でYesの場合は、ステップS1106へ進む。ステップS1101で、PPMLインタプリタ209はディスプレイリスト生成が完了していても、ステップS1112の処理が完了していない場合も含めて生成中と判定する。ステップS1106で、PPMLインタプリタ209はディスプレイリストの生成が完了した描画オブジェクトがあるか判定する。スレッドA1、スレッドA2のディスプレイリスト生成処理は非同期に並列実行されるため、どちらのケースも想定される。Noの場合はステップS1107へ進み、その時点でディスプレイリスト生成中の描画オブジェクトが二つか判定する。ステップS1107でNoの場合はステップS1102へ進み、Yesの場合はステップS1108へ進む。ステップS1108では、PPMLインタプリタ209は、いずれかの描画オブジェクトのディスプレイリスト生成が完了するまで待つ。ここでは、スレッドA1もしくはA2との同期制御が行われ、スレッドA1もしくはA2の処理が完了すると次のステップS1109に進む。なお、ステップS1107で描画オブジェクト数の判定値を2としているのは、CPUコアが二つであることに対応している。さらに多数のCPUコアを有する実施形態では判定値をその数に合わせて変更すれば良い。ステップS1106でYesの場合は、ステップS1109へ進む。ステップS1109で、PPMLインタプリタ209は当該描画オブジェクトがリユーサブルオブジェクトか否か判定する。Yesの場合はS1110へ進みPPMLインタプリタ209はキャッシュ制御部210を介して、生成してディスプレイリストをキャッシュに格納する。次にステップS1112へ進む。また、ステップS1109でNoの場合もステップS1112へ進む。ステップS1102でYesの場合は、ステップS1108へ進む。この制御フローは、全ての描画オブジェクトのディスプレイリスト生成依頼が完了し、スレッドA1もしくはA2での処理待ちの状態になった際に発生する。最後にステップS1113でYesの場合はステップS1114へ進み、PPMLインタプリタ209はレンダリングを行い、そしてビットマップを生成する。スレッドA1、スレッドA2のステップS1201において、PSインタプリタ212もしくはPDFインタプリタ211は当該描画オブジェクトに対応するPDLデータを解釈する。そして、PSインタプリタ212もしくはPDFインタプリタ211は当該描画オブジェクトに対応するディスプレイリストを生成する。これにより、描画オブジェクト単位で、RIP処理が行われることとなる。PSインタプリタ212もしくはPDFインタプリタ211はリエントラントな構成となっており、同時に二つのPSデータもしくは二つのPDFデータを処理することが可能である。スレッドA1、スレッドA2の処理時間は解釈するPDLデータの量と複雑度に大きく依存するため、終了タイミングは事前に予測できない。図4は、ページ単位でのRIP処理である、ページ並列処理を行う場合のPPMLデータをRIP処理する制御フローをあらわしたフローチャートである。なお、本説明では図2Aおよび図2Bの各ソフトウェアモジュールによって実行されるように記述する。また、本フローチャートはHDD4に記憶された図2Aおよび図2Bの各ソフトウェアモジュール内の各プログラムがRAM2に読み出され、CPU1により実行されることにより実現される。本フローチャートではスレッドB1、スレッドB2、スレッドCの三つのスレッドが並列に実行される。各スレッドはOSにより時分割され、CPU1内の二つのコアに順番に割り振られる。時分割の単位は十分に小さいため、三つのスレッドは並列動作すると見なすことができる。しかしながら、ある一時点に着目すると同時に実行されるスレッドは二つである。オペレーティングシステムによるマルチスレッディング処理は一般に広く知られる技術であるため、詳細は省略する。スレッドCがPPML処理のメインスレッドであり、スレッドB1、スレッドB2はスレッドCにより実行時に動的生成されるものである。スレッドCでは最初にステップS1301において、PPMLインタプリタ209はディスプレイリストの生成が完了したページがあるか判定する。図4のフローを開始した当初はディスプレイリストの生成は完了していないので、Noとなる。Noの場合はステップS1302へ進み、PPMLインタプリタ209は全ページのディスプレイリスト生成依頼が完了したか判定する。後述するように、各ページのディスプレイリスト生成処理は別スレッドに依頼して行う。図4のフローを開始した当初は全ページのディスプレイリスト生成依頼は完了していないためNoとなる。Noの場合はステップS1303へ進み、PPMLインタプリタ209はPPMLデータを解釈して、次のページを取りだす。そして、ステップS1304へ進み、その時点でディスプレイリスト生成依頼中のページは二つか否か判定する。Noの場合はステップS1306へ進み、PPMLインタプリタ209はページに対応するPPMLデータのディスプレイリスト生成依頼をジョブ制御部202に通知する。ここでジョブ制御部202は新たなスレッドBを生成し、PPMLインタプリタ209にディスプレイリスト生成を実行させる。ステップS1304でYesの場合は、ステップS1305へ進み、PPMLインタプリタ209はいずれかのページのディスプレイリスト生成処理が完了するまで待つ。なお、図4ではスレッドB1、スレッドB2と二つのスレッドを図示しているが、スレッドはページの数分だけ動的生成される。ただし、ステップS1304、ステップS1305の制御により同時に実行されるスレッドは二つに限定されるため、便宜的にスレッドB1、スレッドB2と表記する。ステップS1305では、スレッドB1もしくはB2との同期制御が行われ、スレッドB1もしくはB2の処理が完了すると次のステップS1306に進む。なお、ステップS1304でページ数の判定値を2としているのは、CPUコアが二つであることに対応している。さらに多数のCPUコアを有する実施形態では判定値をその数に合わせて変更すれば良い。ステップS1306の処理が終了すると、ステップS1301へ戻り、処理を繰り返す。ステップS1301でYesの場合はステップS1308へ進み、PPMLインタプリタ209はレンダリングを行い、そしてビットマップを生成する。次にステップS1309へ進み、PPMLインタプリタ209は全ページのレンダリングが完了したか判定する。Yesの場合は、図4のフローを終了する。Noの場合は、ステップS1301へ戻り、処理を繰り返す。ステップS1302でYesの場合はステップS1307へ進み、PPMLインタプリタ209はいずれかのページのディスプレイリスト生成が完了するまで待つ。この制御フローは、全てのページのディスプレイリスト生成依頼が完了し、スレッドB1もしくはB2での処理待ちの状態になった際に発生する。スレッドB1、スレッドB2のステップS1401において、PPMLインタプリタ209は当該描画オブジェクトに対応するPDLデータを解釈し、ディスプレイリストを生成する。PPMLインタプリタ209のディスプレイリスト生成処理はリエントラントな構成となっており、同時に二つのPPMLデータを処理することが可能である。スレッドA1、スレッドA2の処理時間は解釈するPDLデータPPMLとPSもしくはPDFの量と複雑度に大きく依存するため、終了タイミングは事前に予測できない。図5はページ並列処理時の各ページのディスプレイリスト生成処理を示したもので、図4のステップS1401を詳細化したものである。なお、本説明では図2Aおよび図2Bの各ソフトウェアモジュールによって実行されるように記述する。また、本フローチャートはHDD4に記憶された図2Aおよび図2Bの各ソフトウェアモジュール内の各プログラムがRAM2に読み出され、CPU1により実行されることにより実現される。最初にステップS1501でPPMLインタプリタ209はPPMLデータを解釈して、描画オブジェクトを取りだす。ここで、描画オブジェクトはPPMLデータで定義されたローカルオブジェクトもしくはリユーサブルオブジェクトのいずれかを指すものである。次に、ステップS1502に進み、PPMLインタプリタ209は描画オブジェクトがリユーサブルオブジェクトか否か判定する。Noの場合はステップS1503へ進み、PPMLインタプリタ209は描画オブジェクトに対応するPDLデータのディスプレイリスト生成処理をジョブ制御部202に依頼する。ジョブ制御部202は、PDL種に応じて、PSインタプリタ212もしくはPDFインタプリタ211にディスプレイリスト生成処理を実行させる。PSインタプリタ212もしくはPDFインタプリタ211は当該描画オブジェクトに対応するPDLデータを解釈する。そして、PSインタプリタ212もしくはPDFインタプリタ211は当該描画オブジェクトに対応するディスプレイリストを生成する。ステップS1502でYesの場合はステップS1504へ進み、当該描画オブジェクトのディスプレイリストがキャッシュ内に格納済みか否か判定する。Yesの場合はステップS1507へ進み、PPMLインタプリタ209はキャッシュ制御部210を介してキャッシュから当該描画オブジェクトのディスプレイリストを取りだす。ステップS1504でNoの場合は、ステップS1505へ進む。ステップS1505で、PPMLインタプリタ209、ジョブ制御部202、PSインタプリタ212、PDFインタプリタ211は連携して、当該描画オブジェクトに対応するディスプレイリストを生成する。ステップS1505の処理は、ステップS1503と同様である。次にステップS1506へ進み、PPMLインタプリタ209はキャッシュ制御部210を介して当該描画オブジェクトのディスプレイリストをキャッシュに格納する。ステップS1503、ステップS1506、ステップS1507の処理が終了すると、いずれもステップS1508へ進む。ステップS1508で、PPMLインタプリタ209は描画オブジェクトのページ内でのレイアウトを考慮して、ディスプレイリストをページ用ディスプレイリストに合成する。次にステップS1509へ進み、PPMLインタプリタ209は1ページ分の処理が完了したか判定する。Yesの場合は、図5のフローを終了する。Noの場合は、ステップS1501へ戻り、処理を繰り返す。図6はPPML処理における、オブジェクト並列処理とページ並列処理を組み合わせたハイブリッド並列処理を示すフローチャートである。なお、本説明では図2AおよびBの各ソフトウェアモジュールによって実行されるように記述する。また、本フローチャートはHDD4に記憶された図2AおよびBの各ソフトウェアモジュール内の各プログラムがRAM2に読み出され、CPU1により実行されることにより実現される。ステップS1601で、PPMLインタプリタ209はPPMLデータを解釈して次のページを取りだす。次に、ステップS1602へ進み、PPMLインタプリタ209は当該ページをオブジェクト並列処理でRIPする。ステップS1602の詳細は図3で示したフローチャートが該当する。次にステップS1603へ進み、PPMLインタプリタ209は当該ページに含まれるリユーサブルオブジェクトのキャッシュヒット率を計数し取得する。なお、キャッシュヒット率とは、ページで使用されるリユーザブルオブジェクトのうち、すでにディスプレイリストが生成され、キャッシュされているリユーザブルオブジェクトの割合を示す。例えば、ページに10個のリユーザブルオブジェクトが含まれており、該ページのRIP時にすでに6個のリユーザブルオブジェクトがキャッシュされていた場合には、キャッシュヒット率は0.660となる。次に、ステップS1604へ進み、PPMLインタプリタ209は当該ページの描画オブジェクト数を計数して、以下の式によりオブジェクト分割度数を算出する。R1=S/SsR1:オブジェクト分割度数、S:当該ページの描画オブジェクト数、Ss:基準値Ssここで、描画オブジェクト数は当該ページで定義されたローカルオブジェクト数とリユーサブルオブジェクト数の総和となる。即ち、オブジェクト分割度数はページおけるオブジェクト数が多いか少ないかを示す度数となる。PPMLデータ上で定義される描画オブジェクトをどの程度分割するかは、PPMLデータを生成するVDPアプリケーションに大きく依存する。次に、ステップS1605へ進み、PPMLインタプリタ209はページ並列移行しきい値を以下の式により調整する。T=SquareR1×TsT:ページ並列移行しきい値、R1:オブジェクト分割度数、Ts:ページ並列移行しきい値の基準値、Square:平方根を求める関数この式により、ページ並列移行しきい値は描画オブジェクト数が多いデータではその値が大きくなるように調整される。描画オブジェクト数が少ないデータではその値が小さくなるように調整される。次にステップS1606へ進み、PPMLインタプリタ209は当該ページのキャッシュヒット率がページ並列移行しきい値以上か否か判定する。Noの場合、即ちキャッシュヒット率がページ並列移行しきい値未満の場合はステップS1607へ進み、PPMLインタプリタ209は未処理のページが残っているか判定する。Noの場合は、図6のフローを終了する。Yesの場合はステップS1601へ戻り、オブジェクト並列処理を繰り返す。即ち、S1605におけるしきい値調整により、描画オブジェクト数が多いデータではオブジェクト並列処理を繰り返す可能性が高まる。逆に描画オブジェクト数が少ないデータではオブジェクト並列処理は早めに断念する可能性が高まる。これは、ページあたりの描画オブジェクト数が多いデータほどオブジェクト並列処理に向いており、オブジェクト並列処理のメリットを享受することが可能なためである。ステップS1606でYesの場合はステップS1608へ進み、PPMLインタプリタ209はまだ未処理のページが残っているか否か判定する。Noの場合は、図6のフローを終了する。Yesの場合は、ステップS1609へ進み、PPMLインタプリタ209は次のページ以降をページ並列処理でRIPする。ステップS1609の詳細は図4で示したフローチャートが該当する。以上の通り、本実施形態におけるハイブリッド並列処理では、先頭ページからリユーサブルオブジェクトのキャッシュヒット率が低いうちは、オブジェクト並列処理を実行し、ヒット率が高くなるとページ並列処理に移行するよう処理制御する。即ち、オブジェクト並列処理とページ並列処理の長所を併せ持つ、効率的な並列処理が可能となり、VDPジョブのRIP性能をより高めることが可能となる。以上、本発明の実施例について具体例を挙げて説明したが、本発明は上記の実施例に限定されるものではない。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。