"ページ記述言語データに基づいて印刷を行う画像形成装置であって、前記ページ記述言語データに含まれる描画コマンドを順次解析する解析手段と、前記解析手段により解析された描画コマンドから描画コマンド単位で中間コードをそれぞれ並列に生成する複数の生成手段と、前記複数の生成手段により生成された中間コードからイメージデータを生成するレンダリング手段と、前記レンダリング手段により生成されたイメージデータを印刷する印刷手段と、前記解析手段により解析された描画コマンドが、当該描画コマンドより先に解析され中間コード生成が終了していない各描画コマンドと処理順序を変更可能かどうか判定する判定手段と、前記判定手段により前記いずれの描画コマンドとも処理順序変更可能と判定された描画コマンドについては、前記先に解析された描画コマンドの中間コード生成終了状況に関係なく前記生成手段に中間コード生成を依頼し、一方、前記判定手段により1又は複数の特定の描画コマンドと処理順序変更不可能と判定された描画コマンドについては、前記特定の描画コマンドの中間コード生成終了を待って前記生成手段に中間コード生成を依頼するように制御する管理手段と、を有することを特徴とする画像形成装置。前記解析手段により解析され中間コード生成が終了していない描画コマンドを順次登録するための管理テーブルを有し、前記判定手段は、前記解析手段により解析された描画コマンドが、前記管理テーブルに登録されている各描画コマンドと処理順序を変更可能かどうか判定するものであり、前記管理手段は、前記判定手段により特定の描画コマンドと処理順序変更不可能と判定された描画コマンドについては、前記特定の描画コマンドを示す待合情報を付加した状態で前記管理テーブルに登録し、一方、前記判定手段により前記いずれの描画コマンドとも処理順序変更可能と判定された描画コマンドについては、前記待合情報なしの状態で前記管理テーブルに登録し、前記管理テーブルに登録されている各描画コマンドの状態に基づいて、前記各描画コマンドの中間コード生成を前記生成手段に依頼する、ことを特徴とする請求項1に記載の画像形成装置。前記管理手段は、前記生成手段が1の描画オブジェクトの中間コード生成を終了すると、その描画オブジェクトを示す待合情報を前記管理テーブルに登録されている描画コマンドから削除し、前記待合情報のない状態で前記管理テーブルに登録されている描画コマンドから中間コード生成を依頼することを特徴とする請求項2に記載の画像形成装置。前記判定手段は、2つの描画コマンドの描画位置に重なりが有り、且つ、描画する色が異なる場合に、前記2つの描画コマンドについて処理順序変更不可能と判定し、上記場合以外の場合に、前記2つの描画コマンドについて処理順序変更可能と判定する判定処理を行う、ことを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。前記判定手段は、前記解析手段により解析された描画コマンドに、当該描画コマンドと前記処理順序の判定を行わない描画コマンドを示す示唆情報が付加されている場合、当該描画コマンドと前記示唆情報が示す描画コマンドと間では前記判定処理を行うことなく処理順序変更可能であるとみなす、ことを特徴とする請求項4に記載の画像形成装置。前記示唆情報は、前記ページ記述言語データを生成する情報処理装置で動作してプリンタドライバにより付加されることを特徴とする請求項5に記載の画像形成装置。前記示唆情報は、1の描画データを分割して生成された複数の描画コマンドに対して、該複数の描画コマンドを示す情報として付加されることを特徴とする請求項6に記載の画像形成装置。情報処理装置から受信するページ記述言語データに基づいて印刷を行う画像形成装置の制御方法であって、解析手段が、前記ページ記述言語データに含まれる描画コマンドを順次解析する解析ステップと、生成手段が、前記解析ステップで解析された描画コマンドから描画コマンド単位で中間コードをそれぞれ並列に生成する複数の生成ステップと、レンダリング手段が、前記複数の生成ステップで生成された中間コードからイメージデータを生成するレンダリングステップと、印刷手段が、前記レンダリングステップで生成されたイメージデータを印刷する印刷ステップと、判定手段が、前記解析ステップで解析された描画コマンドが、当該描画コマンドより先に解析され中間コード生成が終了していない各描画コマンドと処理順序を変更可能かどうか判定する判定ステップと、管理手段が、前記判定ステップで前記いずれの描画コマンドとも処理順序変更可能と判定された描画コマンドについては、前記先に解析された描画コマンドの中間コード生成終了状況に関係なく前記生成手段に中間コード生成を依頼し、一方、前記判定ステップで1又は複数の特定の描画コマンドと処理順序変更不可能と判定された描画コマンドについては、前記特定の描画コマンドの中間コード生成終了を待って前記生成手段に中間コード生成を依頼するように制御する管理ステップと、を有することを特徴とする画像形成装置の制御方法。コンピュータを、請求項1乃至7のいずれか1項に記載された手段として機能させるためのプログラム。しかし、特許文献1に示すように、PDLを並列に処理する場合、生成される中間コードの順序は保証されないため、ページ終了後、生成された中間コードの並べ替えを行う必要があり、並べ替えの処理に時間がかかってしまう。また、特許文献2に示すように、事前にコマンドの並べ替えをする場合、全てのデータを事前に受け取る必要があり、メモリ資源を圧迫するとともに、最初の印刷を行うまで時間がかかってしまう。本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、ページ記述言語データの描画コマンドから中間コードを生成するまでの処理を、事前の並べ替えや事後の並べ替えを行うことなくマルチコアCPUを用いて並列に行っても、順序を変更できない描画コマンドについてはシーケンシャルのまま処理できるようにし、マルチコアCPUを無駄なく使用し、CPUコア数に応じてページ記述言語データ処理のパフォーマンスを向上して、少ないメモリ資源でページ記述言語データを高速に処理し、印刷時間を短縮することができる仕組みを提供することである。本発明は、ページ記述言語データに基づいて印刷を行う画像形成装置であって、前記ページ記述言語データに含まれる描画コマンドを順次解析する解析手段と、前記解析手段により解析された描画コマンドから描画コマンド単位で中間コードをそれぞれ並列に生成する複数の生成手段と、前記複数の生成手段により生成された中間コードからイメージデータを生成するレンダリング手段と、前記レンダリング手段により生成されたイメージデータを印刷する印刷手段と、前記解析手段により解析された描画コマンドが、当該描画コマンドより先に解析され中間コード生成が終了していない各描画コマンドと処理順序を変更可能かどうか判定する判定手段と、前記判定手段により前記いずれの描画コマンドとも処理順序変更可能と判定された描画コマンドについては、前記先に解析された描画コマンドの中間コード生成終了状況に関係なく前記生成手段に中間コード生成を依頼し、一方、前記判定手段により1又は複数の特定の描画コマンドと処理順序変更不可能と判定された描画コマンドについては、前記特定の描画コマンドの中間コード生成終了を待って前記生成手段に中間コード生成を依頼するように制御する管理手段と、を有することを特徴とする。本発明によれば、ページ記述言語データの描画コマンドから中間コードを生成するまでの処理を、事前の並べ替えや事後の並べ替えを行うことなくマルチコアCPUを用いて並列に行っても、順序を変更できない描画コマンドについてはシーケンシャルのまま処理できるようにし、マルチコアCPUを無駄なく使用し、CPUコア数に応じてページ記述言語データ処理のパフォーマンスを向上して、少ないメモリ資源でページ記述言語データを高速に処理し、印刷時間を短縮することができる。以下、本発明を実施するための形態について、図面を参照して説明する。図1は、本発明の一実施例を示す画像形成装置の構成の一例を示すブロック図である。図1において、101は画像形成装置である。204は、画像形成装置101の演算処理や制御などを並列で行うことができるマルチコアの中央演算処理装置CPUである。即ち、CPU204は、複数のプロセッサに対応するものである。CPU204は、複数のコア演算ユニットにより、複数の処理例えば、後述する複数のDL生成タスクを並列処理可能である。201はROMで、CPU204の制御コード等をコンピュータ読取可能に格納する。ROM201に格納される制御コードは、後述する受信部211、解析部212、中間コード生成管理部213、中間コード生成部214、展開処理部215等として、CPU204を機能させるためのものである。202はRAMで、様々な情報を一時格納する。RAM202は、受信バッファ221、ワークメモリ222、フレームバッファ223、ラスタメモリ224等として利用される。203はネットワークインターフェースネットワークI/Fで、PC等外部デバイスとネットワーク102を介して情報の入出力を行うためのものであり、外部デバイスから送信された印刷データを受信する。受信部211は、ネットワークI/F203を介して受信したデータを受信バッファ221にデータを格納する。また、受信部211は、受信バッファ221から印刷データを読み出し、該読み出した印刷データからPDLPageDiscriptionLanguageを特定し、PDLデータをワークメモリ222に格納し、解析部212にPDLデータページ記述言語データを渡す。解析部212は、受信部211から渡されたPDLデータをワークメモリ222から読み出し、コマンドを解析する。中間コード生成管理部213は、解析部212において解析されたデータを判定し、中間コード生成を制御するための情報をワークメモリ222に格納する。中間コード生成部214は、解析部212において解析されたデータから描画を行なうための内部情報である中間コードDL:DisplayList中間データともいうを生成し、フレームバッファ223に格納する。なお、中間コードDLは、レンダラRenderer207により、ラスタイメージの生成が可能なデータである。展開処理部215は、フレームバッファ223に格納された中間コードDLをラスタイメージビットマップデータに展開し、該展開したラスタイメージをラスタメモリ224に格納する。なお、展開処理部215は、処理に時間がかかるため、専用ハードウェアであるレンダラ207を用いて高速に処理を行っている。受信バッファ221は、ネットワークI/F203を介して受信した印刷データを格納するメモリである。ワークメモリ222は、入力された印刷データから特定されたPDLデータや、中間コードに変換するときに一時的に使用するメモリである。フレームバッファ223は、中間コード生成部214で生成された中間コードを格納するメモリである。ラスタメモリ224は、フレームバッファ223に格納された中間コードから展開処理部215により展開制御されたラスタイメージを格納するメモリである。レンダラ207は、上述したように、展開処理部215の制御により、フレームバッファ223に格納されているディスプレイリストDLを入力として、ラスタイメージを生成する専用ハードウェアである。205はエンジンI/Fで、プリンタエンジン206との信号の入出力を行う。プリンタエンジン206は、ラスタイメージデータに基づいて、例えば、周知の電子写真プロセスによって感光ドラム上に潜像を形成し、用紙に転写して定着し印字を行う。なお、プリンタエンジン206の印刷方法は、電子写真プロセスによる印刷方法に限定されるものではなく、どのような印刷方法であってもよく、例えばインクジェット方式、昇華式等の他の印刷方法でもよい。図2は、本発明におけるPDL全体のデータフローの一例を示す図である。なお、図2に示す各処理はインプットとアウトプットのデータがあり、それぞれRAM202に一時的に格納される。受信処理301は、受信部211で実行される処理である。受信処理301は、受信バッファ221に格納された受信データからPDLを特定し、PDLデータ311をワークメモリ222に格納する。PDL処理302は、解析部212で実行される処理である。PDL処理302は、ワークメモリ222に格納されたPDLデータ311を解析し、解析したコマンドに従って中間コード生成コマンドDL生成コマンド312をワークメモリ222に格納する。なお、DL生成コマンド312とは、PDLデータから解析された描画コマンド毎に生成されるものであり、該描画コマンドから中間コードを生成するための命令である。DL生成管理処理303は、中間コード生成管理部213で実行される処理である。DL生成管理処理303は、ワークメモリ222に格納されたDL生成コマンド312に従って判定を行う。そして、判定結果に基づいて、DL生成管理処理303は、ワークメモリ222内のDL生成管理テーブル315に、DL生成コマンドの描画情報描画オブジェクトを格納順次登録し、DL生成実行を管理する。DL生成処理304は、中間コード生成部214で実行される処理である。DL生成処理304は、ワークメモリ222に格納されたDL生成コマンド312に従って、DL313を生成し、フレームバッファ223に格納する。レンダリング処理305は、展開処理部215で実行され処理である。レンダリング処理305は、レンダラ207を用いて、フレームバッファ223に格納されたDL313からビットマップ314を生成し、ラスタメモリ224に格納する。なお、PDLにおいては、以上説明した各処理をシーケンシャルに実行し、通常、PDLデータのコマンド順にDLを生成する必要がある。図3は、本発明におけるPDL全体のタスク制御の一例を示す図である。なお、図3に示す各タスクは、画像形成装置101の電源投入時に生成され、他のタスクからの指示に従って各タスクの処理が実行される。受信タスク401は、ネットワークI/F203からの指示に従って受信処理301を実行し、PDLタスク402にジョブ開始を依頼する。PDLタスク402は、受信タスク401にPDLデータを要求し、PDL処理302の解析結果からDL生成管理タスク403に処理依頼する。DL生成管理タスク403は、PDLタスク402から処理依頼されたデータの判定と複数のDL生成タスク404の動作状況を管理し、DL生成タスク404に処理依頼をする。また、DL生成管理タスク403は、1ページ分のDL生成を終了するとレンダラタスク405に処理を依頼する。各DL生成タスク404はそれぞれ、DL生成管理タスク403から処理依頼された描画コマンドから描画コマンド単位で中間コードDLを生成するDL生成処理304を行う。レンダラタスク405は、DL生成管理タスク403からの依頼に従ってレンダリング処理305を実行し、不図示のエンジンタスクに渡して印刷処理を依頼する。なお、各タスクは全て独立であり、マルチコアのCPU204において、複数のタスクを並列に実行できる。以下、画像形成装置101処理についてフローチャートを参照して説明する。図4は、画像形成装置101の電源投入時の処理の一例を示すフローチャートである。なお、このフローチャートの処理S1001~S1005等の各ステップは、画像形成装置101のCPU204がROM201にコンピュータ読み取り可能に記録されたプログラムを実行することにより実現されるものである。S1001において、CPU204は、受信タスク401を起動し、受信処理301を実行可能にする。次に、S1002において、CPU204は、PDLタスク402を起動し、PDL処理302を実行できるようにする。次に、S1003において、CPU204は、DL生成管理タスク403を起動し、DL生成管理処理303を実行できるようにする。次に、S1004において、CPU204は、1つまたは複数のDL生成タスク404を起動し、DL生成処理304を実行できるようにする。CPU204は、CPUコアの数だけDL生成タスク404を起動し、各CPUコアにより並列に実行するようにする。次に、S1005において、CPU204は、レンダラタスク405を起動し、レンダリング処理305を実行できるようにする。なお、各ステップは、順不同で実行することができ、各タスク間で通信できるようにする。以下、画像形成装置101の各タスクについてフローチャートを参照して説明する。図5は、実施例1における受信タスク401が実行する受信処理301の一例を示すフローチャートである。即ち、このフローチャートの処理S1101~S1121等の各ステップは、画像形成装置101のCPU204がROM201に記録されたプログラム受信部211を実行することにより実現されるものである。まず、受信タスク401は、データ受信待ち、又はデータ取得依頼待ちを行うS1101,S1110。ネットワークI/F203を介してデータ受信するとS1101でYes、受信タスク401は、S1102において、受信バッファ221にデータを格納する。次に、S1103において、受信タスク401は、ジョブ開始実行済みか否かを判定する。そして、まだジョブ開始実行していないと判定した場合S1103でNo、受信タスク401は、S1104によりを進める。S114では、受信タスク401は、PDLタスク402にジョブ開始通知を行う。このジョブ開始通知に応じて、PDLタスク402はデータ取得依頼を受信タスクに行う。一方、既にジョブ開始実行していると判定した場合S1103でYes、受信タスク401は、S1101に処理を戻す。また、ネットワークI/F203を介してPDLタスク402からデータ取得依頼を受信するとS1110でYes、受信タスク401は、S1111に処理を進める。S1111では、受信タスク401は、受信バッファ221にデータが格納されているか否かを判定する。そして、受信バッファ221にデータが格納されていると判定した場合S1111でYes、受信タスク401は、S1112に処理を進める。S1112では、受信タスク401は、PDLタスク402からデータ取得依頼時に渡されたワークメモリ222のアドレスに、上記受信バッファ221に格納されたデータをコピーする。次に、S1113において、受信タスク401は、データ取得完了をPDLタスク402に通知する。次に、S1114において、受信タスク401は、受信バッファ221を解放し、S1101に処理を戻す。一方、受信バッファ221にデータが格納されていないと判定した場合S1111でNo、受信タスク401は、S1120において、データ受信待ちを行う。そして、ネットワークI/F203を介してデータを受信するとS1120でYes、受信タスク401は、S1121において、データ取得依頼時に渡されたワークメモリ222のアドレスに、上記受信したデータを格納し、S1112に処理を進める。図6は、実施例1におけるPDLタスク402が実行するPDL処理302の一例を示すフローチャートである。このフローチャートの処理S1201~S1223等の各ステップは、画像形成装置101のCPU204がROM201に記録されたプログラム解析部212を実行することにより実現されるものである。まず、PDLタスク402は、S1201において、受信タスク401からのジョブ開始通知待ちを行う。そして、受信タスク401からジョブ開始通知を受けると、S1202において、PDLタスク402は、受信タスク401にワークメモリ222のアドレスを渡し、データ取得依頼を行う。次に、S1203において、PDLタスク402は、受信タスク401からのデータ取得完了通知待ちを行う。そして、受信タスク401からデータ取得完了通知を受けるとS1203でYes、PDLタスク402は、S1204で、上記ワークメモリ222のアドレスに格納されたデータを解析する。次に、S1205において、PDLタスク402は、上記S1204での解析の結果、上記ワークメモリ222に格納されたデータがページ開始を示すデータか否かを判定する。そして、ページ開始を示すデータであると判定した場合S1205でYes、PDLタスク402は、S1206において、DL生成管理タスク403に、ページ開始通知を行う。次に、S1207において、PDLタスク402は、DL生成管理タスク403からのページ開始処理完了通知待ちを行う。そして、DL生成管理タスク403からページ開始処理完了通知を受けるとS1207でYes、PDLタスク402は、S1202に処理を戻す。一方、上記S1205において、ページ開始を示すデータでないと判定した場合S1205でNo、PDLタスク402は、S1210に処理を進める。S1210では、PDLタスク402は、上記ワークメモリ222に格納されたデータがページ終了を示すデータであるか否かを判定する。そして、ページ終了を示すデータであると判定した場合S1210でYes、PDLタスク402は、S1211において、DL生成管理タスク403に、ページ終了通知を行う。さらに、S1212において、PDLタスク402は、DL生成管理タスク403からのページ終了処理完了通知待ちを行う。そして、DL生成管理タスク403からページ終了処理完了通知を受けるとS1212でYes、PDLタスク402は、S1202に処理を戻す。一方、上記S1210において、ページ終了を示すデータでないと判定した場合S1210でNo、PDLタスク402は、S1220に処理を進める。S1220では、PDLタスク402は、上記ワークメモリ222に格納されたデータがジョブ終了を示すデータであるか否かを判定する。そして、ジョブ終了示すデータでないと判定した場合S1220でNo、PDLタスク402は、S1221に処理を進める。S1221では、PDLタスク402は、上記ワークメモリ222に格納されたデータ描画コマンドからDL生成コマンドを生成し、ワークメモリ222に格納する。次に、S1222において、PDLタスク402は、DL生成管理タスク403へDL生成処理依頼を行う。この際、ワークメモリ222を介して、上記S1221で生成したDL生成コマンドをDL生成管理タスク403へ渡す。さらに、S1223において、PDLタスク402は、DL生成管理タスク403からのDL生成終了通知待ちを行う。そして、DL生成管理タスク403からDL生成終了通知を受けるとS1223でYes、PDLタスク402は、S1202に処理を戻す。一方、上記ワークメモリ222に格納されたデータがジョブ終了を示すデータであると判定した場合S1220でYes、PDLタスク402は、S1201に処理を戻す。ここで、図7を参照して、DL生成タスク404にてDL生成処理される描画オブジェクトについて説明する。図7は、実施例1において処理される描画コマンドで描画指示される描画オブジェクトの構成の一例を示す図である。図7に示すように、描画オブジェクトは、外径1001を形成する複数の頂点座標3Xn,Ynの点列を示すデータを含む。また、描画オブジェクトは、その外径1001又は外径内の領域1003を描画する色値R,G,Bと、その外径1001を包含する矩形1002の左上の描画座標X,Yと、矩形1002の幅Wd、高さHtを示すデータを含む。後述する重なり判定おいては、各描画オブジェクトの矩形1002の描画座標X,Yと、矩形1002の幅Wd、高さHtを用いて判定する。また、後述する色の判定においては、外径1001又は外径に囲まれた領域1003を描画する色値R,G,Bを用いて判定する。図8は、実施例1におけるDL生成管理タスク403が実行するDL生成管理処理303の一例を示すフローチャートである。このフローチャートの処理S1301~S1382等の各ステップは、画像形成装置101のCPU204がROM201に記録されたプログラム中間コード生成管理部213を実行することにより実現されるものである。DL生成管理タスク403は、他のタスクからの通知を受信すると、該通知がDL生成依頼、DL生成終了通知、ページ開始通知、ページ終了通知かを判定するS1301、S1360、S1370、S1380。そして、受信した通知がPDLタスク402からのページ開始通知であると判定した場合S1370でYes、DL生成管理タスク403は、S1371に処理を進める。S1371では、DL生成管理タスク403は、カレントの描画オブジェクトのIDを示すCurIDと、DL生成管理テーブルに登録されている描画オブジェクトの数を示すObjectCountRAM202内に確保される変数を0に初期化する。なお、CurIDは、カレントの描画オブジェクトのIDを示す変数であり、RAM202内に確保される。また、ObjectCountは、後述するDL生成管理テーブルに登録されている描画オブジェクトの数を示す変数であり、RAM202内に確保される。次に、DL生成管理タスク403は、S1372において、PDLタスク402にページ開始処理完了通知を行い、S1301に処理を戻す。また、受信した通知がPDLタスク402からのDL生成依頼であると判定した場合S1301でYes、DL生成管理タスク403は、S1302に処理を進める。S1302では、DL生成管理タスク403は、CurIDをインクリメントする。次に、S1303において、DL生成管理タスク403は、DL生成依頼とともにワークメモリ222を介して受け取ったDL生成コマンドから生成されるカレントの描画オブジェクトに、CurIDを割り当てる。なお、この描画オブジェクトは、DL生成コマンドがDL生成を指示する描画コマンドで描画指示される描画オブジェクトに対応する。次に、S1304において、DL生成管理タスク403は、カレントの描画オブジェクトの描画位置CurX、CurY、幅CurWd、高さCurHt、色CurR、CurG、CurBを上記DL生成コマンドから取得する。次に、S1305において、DL生成管理タスク403は、ObjectCountが0であるか否かを判定する。そして、ObjectCountが0であると判定した場合S1305でYes、DL生成管理タスク403は、S1322に処理を進める。S1322では、DL生成管理タスク403は、カレントの描画オブジェクトの情報を、DL生成管理テーブルに、DL生成処理中状態で登録する。例えば、図11aの1221に示すように、CurID、描画位置、幅、高さ、色、及び1222に示すように、DL生成処理中状態ここでは1211や1212のようにDL生成処理中状態を示すExecを、DL生成管理テーブルに登録する。次に、DL生成管理タスク403は、S1323において、ObjectCountをインクリメントし、S1324において、空き状態のDL生成タスク404にDL生成依頼をして、S1301に処理を戻す。なお、DL生成依頼の際には、DL生成依頼とともにDL生成コマンドをDL生成タスク404に通知する。このDL生成依頼を受けたDL生成タスク404は、DL生成を行い、DL生成終了通知をDL生成管理タスク403に返す詳細は、後述する図12に示す。また、上記S1305において、ObjectCountが0でないと判定した場合S1305でNo、DL生成管理タスク403は、S1310に処理を進める。S1310では、DL生成管理タスク403は、DL生成管理テーブルに登録されている描画オブジェクトを1つ取得し、該取得した描画オブジェクトの描画位置X、Y、幅Wd、高さHt、色R、G、B、描画オブジェクトIDのObjIDを取得する。そして、S1311において、DL生成管理タスク403は、カレントの描画オブジェクトと上記S1310で取得したDL生成管理テーブルに登録されている描画オブジェクトについて、描画位置、幅、高さをそれぞれ比較し、重なりがあるか否かを判定する。重なりの有無の判定方法は以下の条件文で行う。CurX<XWdANDCurY<YHtANDCurXCurWd>XANDCurYCurHt>Yそして、この条件文を満たす場合には重なりがあると判定し、一方、この条件文を満たさない場合には重なりがないと判定する。そして、重なりがないと判定した場合S1311でNo、DL生成管理タスク403は、S1314に処理を進める。一方、重なりがあると判定した場合S1311でYes、DL生成管理タスク403は、S1312に処理を進める。S1312では、DL生成管理タスク403は、カレントの描画オブジェクトと上記S1310で取得したDL生成管理テーブルに登録されている描画オブジェクトについて、色R,G,Bを比較し、色が異なるか否かを判定する。色の判定方法は以下の条件文で行う。CurR≠RORCurG≠GORCurB≠Bそして、この条件文を満たす場合には色が同じと判定し、一方、この条件文を満たさない場合には色が異なると判定する。そして、色が同じと判定した場合S1312でNo、DL生成管理タスク403は、S1314に処理を進める。一方、色が異なると判定した場合S1312でYes、DL生成管理タスク403は、S1313に処理を進める。S1313では、DL生成管理タスク403は、待ち合わせ対象の描画オブジェクトとしてObjIDを保持する。なお、ObjIDは、RAM202内に保持される。即ち、本実施例の待ち合わせ判定処理では、2つの描画コマンドの描画位置に重なりが有り、且つ、描画する色が異なる場合に、前記2つの描画コマンドについて処理順序変更不可能と判定し、上記場合以外の場合に、前記2つの描画コマンドについて処理順序変更可能と判定する。次に、S1314において、DL生成管理タスク403は、DL生成管理テーブルに登録されている描画オブジェクトを全てチェックしたか否かを判定する。そして、DL生成管理テーブルに登録されている描画オブジェクトを全てチェックしたと判定するまで、S1310~S1314を繰り返し実行する。一方、DL生成管理テーブルに登録されている描画オブジェクトを全てチェックしたと判定した場合S1314でYes、DL生成管理タスク403は、S1320に処理を進める。S1320では、DL生成管理タスク403は、待ち合わせ対象の描画オブジェクトのIDが保持されているか否かを判定する。そして、待ち合わせ対象の描画オブジェクトのIDが保持されていないと判定した場合S1320でYes、DL生成管理タスク403は、S1321に処理を進める。S1321では、DL生成管理タスク403は、空き状態のDL生成タスク404があるか否かを判定する。そして、空き状態のDL生成タスク404があると判定した場合S1321でYes、DL生成管理タスク403は、上述したS1322~S1324の処理を実行し、S1301に処理を戻す。一方、空き状態のDL生成タスクがないと判定した場合S1321でNo、DL生成管理タスク403は、S1330に処理を進める。S1330では、DL生成管理タスク403は、カレントの描画オブジェクトを、DL生成管理テーブルに、DL生成タスク空き待ち状態で登録する。例えば、図11aの1221に示すように、CurID、描画位置、幅、高さ、色、及び1222に示すように、DL生成タスク空き待ち状態ここでは1214のように、DL生成タスク空き待ち状態を示すwait=0を、DL生成管理テーブルに登録する。さらに、DL生成管理タスク403は、S1350において、ObjectCountをインクリメントし、S1301に処理を戻す。また、上記S1320において、待ち合わせ対象の描画オブジェクトのIDが保持されていると判定した場合S1320でNo、DL生成管理タスク403は、S1340に処理を進める。S1340では、DL生成管理タスク403は、カレントの描画オブジェクトを、DL生成管理テーブルに、待ち合わせ状態で登録する。例えば、図11aの1221に示すように、CurID、描画位置、幅、高さ、色、及び1222に示すように、待ち合わせ状態例えば、待ち合わせIDが2の場合、1213のようにID=2の待ち合わせ状態を示すwait=2を、DL生成管理テーブルに登録する。なお、待ち合わせIDが複数例えば、0,2,4保持されている場合には、wait=0,2,4のように、複数の待ち合わせID待合情報を登録する。そして、DL生成管理タスク403は、ObjectCountをインクリメントしS1350、S1301に処理を戻す。また、DL生成管理タスク403は、受信した通知がDL生成タスク404からのDL生成終了通知であると判定した場合S1360でYes、DL生成管理タスク403は、S1361に処理を進める。S1361では、DL生成管理タスク403は、後述する図9に示すDL生成終了処理を行い、S1301に処理を戻す。また、DL生成管理タスク403は、受信した通知がPDLタスク402からのページ終了通知であると判定した場合S1380でYes、DL生成管理タスク403は、S1381に処理を進める。S1381では、DL生成管理タスク403は、レンダラタスク405に、レンダリング処理依頼を行う。さらに、S1382において、DL生成管理タスク403は、PDLタスク402に、ページ終了処理完了通知を行い、S1301に処理を戻す。図9は、図8のS1361に示したDL生成終了処理の一例を示すフローチャートである。このフローチャートの処理S1401~S1430等の各ステップは、画像形成装置101のCPU204がROM201に記録されたプログラム中間コード生成管理部213を実行することにより実現されるものである。まず、S1401において、DL生成管理タスク403は、DL生成タスク404からDL生成終了通知とともに通知された終了した描画オブジェクトのIDと一致する描画オブジェクト情報をDL生成管理テーブルから削除する。次に、S1402において、DL生成管理タスク403は、ObjectCountをデクリメントする。さらに、S1403において、DL生成管理タスク403は、ObjectCountが0か否かを判定する。そして、ObjectCountが0であると判定した場合S1403でYes、DL生成管理タスク403は、本DL生成終了処理を終了し、図8のフローチャートに処理を戻す。一方、ObjectCountが0でないと判定した場合S1403でNo、DL生成管理タスク403は、S1404に処理を進める。S1404では、DL生成管理タスク403は、DL生成管理テーブルに登録されている描画オブジェクトの情報を1つ取得し、該取得した描画オブジェクト以下、現在の描画オブジェクトというの状態がDL生成処理中状態か否かを判定する。そして、現在の描画オブジェクトの状態がDL生成処理中状態であると判定した場合S1404でYes、DL生成管理タスク403は、そのままS1430に処理を進める。一方、現在の描画オブジェクトの状態がDL生成処理中状態でないと判定した場合S1404でNo、DL生成管理タスク403は、S1405に処理を進める。S1405では、DL生成管理タスク403は、上記終了した描画オブジェクトのIDが、現在の描画オブジェクトの待ち合わせ対象のIDか否かを判定する。そして、上記終了した描画オブジェクトのIDが現在の描画オブジェクトの待ち合わせ対象のIDでないと判定した場合S1405でNo、DL生成管理タスク403は、そのままS1430に処理を進める。一方、上記終了した描画オブジェクトのIDが現在の描画オブジェクトの待ち合わせ対象のIDであると判定した場合S1405でYes、DL生成管理タスク403は、S1406に処理を進める。S1406では、DL生成管理タスク403は、上記終了した描画オブジェクトのIDを、現在の描画オブジェクトの待ち合わせ対象のIDから削除する。例えば、上記終了した描画オブジェクトのIDが1で、現在の描画オブジェクトの状態がwait=1,2の場合、待ち合わせ対象のID1を削除してwait=2のようにする。次に、S1407において、DL生成管理タスク403は、現在の描画オブジェクトに、待ち合わせ対象のIDが登録されている待ち合わせ対象ありか否かを判定する。そして、現在の描画オブジェクトに、待ち合わせ対象のIDが登録されている待ち合わせ対象ありと判定した場合S1407でNo、DL生成管理タスク403は、そのままS1430に処理を進める。一方、現在の描画オブジェクトに、待ち合わせ対象のIDが登録されていない待ち合わせ対象なしと判定した場合S1407でYes、DL生成管理タスク403は、S1408に処理を進める。S1408では、DL生成管理タスク403は、空き状態のDL生成タスク404が存在するDL生成タスク404が空いているか否かを判定する。そして、空き状態のDL生成タスク404が存在するDL生成タスク404が空いていると判定した場合S1408でYes、DL生成管理タスク403は、S1410に処理を進める。S1410では、DL生成管理タスク403は、DL生成管理テーブルに登録されている現在の描画オブジェクトの状態のDL生成処理中状態を示すExecに変更し、S1411において、空き状態のDL生成タスク404にDL生成依頼する。一方、空き状態のDL生成タスク404が存在しないDL生成タスク404が空いていないと判定した場合S1408でNo、DL生成管理タスク403は、S1420に処理を進める。S1420では、DL生成管理タスク403は、現在の描画オブジェクトの状態をDL生成タスク空き待ち状態を示すWait=0に変更し、S1430に処理を進める。S1430では、DL生成管理タスク403は、DL生成管理テーブルの全ての描画オブジェクトについてS1404~S1430の処理が終わったか否かを判定する。そして、まだDL生成管理テーブルの描画オブジェクトでS1404~S1430の処理が終わっていないものがあると判定した場合S1430でNo、DL生成管理タスク403は、S1404に処理を進める。一方、既にDL生成管理テーブルの全ての描画オブジェクトについてS1404~S1430の処理が終わったと判定した場合S1430でYes、DL生成管理タスク403は、本DL生成終了処理を終了し、図8のフローチャートに処理を戻す。以上示した図9の処理は、DL生成タスク404からDL生成終了通知を受け取る毎に実行される。即ち、図9の処理は、DL生成タスク404がDL生成を終了するごとに実行される。以下、図10、図11a~図11cを参照して、図8,図9で示したDL生成管理タスク実行中のDL生成管理テーブルの変化を具体的に説明する。図10、図11a~図11cは、実施例1におけるDL生成管理タスク実行中のDL生成管理テーブルの変化を説明するための図である。なお、ここでは、DL生成タスク404が2つの場合を例に、DL生成管理テーブルの登録、削除について説明する。図10は、描画オブジェクトの描画イメージの一例を示す図である。図10において、1101、1102、1103、1104、1105は、それぞれ描画オブジェクトの描画イメージである。図11aは、図10に示したDL生成管理タスク403が描画オブジェクト1101、1102、1103、1104をDL生成管理テーブルに登録した状態を示す図である。図11aにおいて、1201、1202は、それぞれDL生成タスク0、DL生成タスク1で実行している描画オブジェクト情報を指すポインタである。1203は、登録された描画オブジェクトを管理するDL生成管理テーブル315図2である。1211、1212、1213、1214は、それぞれ図10に示した描画オブジェクト1101、1102、1103、1104に対応して、登録された描画オブジェクト情報である。描画オブジェクト情報には、1221のように、ID、描画位置X、Y、幅Wd、高さHt、色R、G、Bと、1222のように、処理状態等の情報が格納されている。描画オブジェクト情報1211と1212は、それぞれDL生成処理中状態を示すExecとなっている。また、描画オブジェクト情報1213は、ID=2の描画オブジェクトの待ち合わせ状態を示すWait=2となっている。また、描画オブジェクト情報1214は、DL生成タスク空き待ち状態を示すWait=0となっている待ち合わせ無し。図11bは、描画オブジェクト1105の登録時のDL生成管理テーブルを示す図である。図11bに示すように、1215は描画オブジェクト1105の描画オブジェクト情報である。描画オブジェクト情報1215に示すように、描画オブジェクト1105は、描画位置230,230、幅100、高さ100である。描画オブジェクト1105は、ID=1の描画オブジェクト1101に対し、図8のS1311の重なり判定で重なり無しと判定される。よって、ID=1の描画オブジェクト1101と描画オブジェクト1105とは、DL生成の順番が入れ替わっても描画結果に影響ない。そのため、ID=1の描画オブジェクト1101は描画オブジェクト1105の待ち合わせ対象とならない。また、描画オブジェクト1105は、ID=2の描画オブジェクト1102に対し、図8のS1311の重なり判定で重なり有りと判定され、図8のS1312の色判定が行われる。なお、描画オブジェクト1102の色値255,0,0は、描画オブジェクト1105の色値255,0,0と同じであり、図8のS1312の色判定で同色と判定される。よって、ID=2の描画オブジェクト1102と描画オブジェクト1105とは、DL生成の順番が入れ替わっても描画結果に影響ない。そのため、ID=2の描画オブジェクト1102は描画オブジェクト1105の待ち合わせ対象とならない。また、描画オブジェクト1105は、ID=3の描画オブジェクト1103に対し、図8のS1311の重なり判定で重なり有りと判定され、図8のS1312の色判定が行われることとなる。なお、描画オブジェクト1103の色値0,0,0は、描画オブジェクト1105の色値255,0,0と異なり、図8のS1312の色判定で異なる色と判定される。よって、ID=3の描画オブジェクト1103は、描画オブジェクト1105の待ち合わせ対象となる。このため、待ち合わせ対象としてID=3がWait=3のように、描画オブジェクト情報1215に格納される。また、描画オブジェクト1105は、ID=1の描画オブジェクト1101の場合と同様に、ID=4の描画オブジェクト1103と重なりがない。よって、ID=4の描画オブジェクト1104と描画オブジェクト1105とは、DL生成の順番が入れ替わっても描画結果に影響ない。そのため、ID=4の描画オブジェクト1104は描画オブジェクト1105の待ち合わせ対象とならない。図11cは、ID=2の描画オブジェクト1102のDL生成終了時のDL生成管理テーブルを示す図である。図11cに示すように、ID=1の描画オブジェクト情報1211は、図9のS1404でDL生成処理中と判定され、何も変更されない。一方、ID=3の描画オブジェクト情報1213は、図11bに示したように、図9のS1405でDL生成終了したID=2の描画オブジェクト1102が待ち合わせ対象であると判定される。そして、図9のS1406で描画オブジェクト情報1213のwait=2から2が削除され、wait=0に変更される。これにより、描画オブジェクト情報1211は、待ち合わせ対象のIDがなくなり、且つDL生成タスク1が空いている状態となる。このため、図9のS1410で、ID=3の描画オブジェクト情報1213をDL処理中状態を示すExecに変更する。この状態を図11cに示している。ID=4の描画オブジェクト情報1214、ID=5の描画オブジェクト情報1215は、それぞれ変更なしである。以下、図12、図13を参照して、DL生成タスク404、レンダラタスク405について説明する。図12は、実施例1における各DL生成タスク404が実行するDL生成処理304の一例を示すフローチャートである。このフローチャートの処理S1501~S1503等の各ステップは、画像形成装置101のCPU204がROM201に記録されたプログラム中間コード生成部214を実行することにより実現されるものである。DL生成タスク404は、S1501において、DL生成管理タスク403からのDL生成依頼待ちを行う。そして、DL生成管理タスク403からDL生成依頼を受信するとS1501でYes、DL生成タスク404は、S1502に処理を進める。S1502では、DL生成タスク404は、DL生成依頼とともに受けたDL生成コマンドに従ってDL生成を行い、生成したDLをフレームバッファ223に格納する。そして、S1503において、DL生成タスク404は、DL生成管理タスク403に、DL生成終了通知を行う。なお、DL生成終了通知を行う際には、上記S1502でDL生成したDL生成コマンドのIDもDL生成管理タスク403に通知する。上記S1503の通知処理を終了すると、DL生成タスク404は、S1501に処理を戻す。図13は、実施例1におけるレンダラタスク405が実行するレンダリング処理305の一例を示すフローチャートである。このフローチャートの処理S1601~S1603等の各ステップは、画像形成装置101のCPU204がROM201に記録されたプログラム展開処理部215を実行することにより実現されるものである。レンダラタスク405は、S1601において、DL生成管理タスク403からのレンダリング依頼待ちを行う。そして、DL生成管理タスク403からレンダリング依頼を受信するとS1601でYes、レンダラタスク405は、S1602に処理を進める。なお、レンダラタスク405は、各DL生成タスク404でのDL生成に応じて、フレームバッファ223上に生成されたDLをフレームバッファ223からレンダラ207内のメモリに転送するDL転送を行っている。このため、レンダリング処理依頼があった際には、DL転送はほぼ終了しており、レンダラタスク405は速やかにレンダリングを行うことが可能な状態である。S1602では、レンダラタスク405は、上記DL転送により専用ハードウェアであるレンダラ207内のメモリに格納されたDLに対してレンダリングを行い、レンダラ207でレンダリングされたビットマップデータラスタデータを、ラスタメモリ224に格納する。次に、S1603において、レンダラタスク405は、エンジンI/F205を介してプリンタエンジン206にビットマップデータを出力し、印刷させ、S1601に処理を戻す。以上示したように、実施例1によれば、マルチコアCPUで並列して描画コマンドからDL生成を行う場合において、PDLタスクで順次解析された描画コマンドの順番処理順序を、先に解析され未だDL生成終了していない描画コマンドと変更可能かどうか判定するように構成する。そして、順番の変更が可能処理順序変更可能な描画コマンドについては順番を考慮することなく先に解析された描画コマンドの中間コード生成終了状況DL生成終了状況に関係なくDL生成を依頼する。一方、順番の変更が不可能処理順序変更不可能な描画コマンドについては順番通り先の描画コマンドのDL生成終了を待ってにDL生成を依頼するように、DL生成順序を管理制御するように構成する。このような構成により、PDLデータの描画コマンドから中間コードDLを生成するまでの処理を、事前の並べ替えや事後の並べ替えを行うことなくマルチコアCPUを用いて並列に行っても、順序を変更できない描画コマンドについてはシーケンシャルのまま処理できるようにし、マルチコアCPUを無駄なく使用し、CPUコア数に応じてPDL処理のパフォーマンスを向上して、少ないメモリ資源でPDLデータを高速に処理し、印刷時間を短縮することができる。上記実施例1では、DL生成管理テーブルに登録されている全ての描画オブジェクトに対して待ち合わせの判定を行う構成を示した。実施例2では、PDLデータを生成するホストコンピュータで描画オブジェクトを分割して送ってくる場合のように待ち合わせ判定が必要ない場合には、待ち合わせ判定をしないように構成する。以下、図面を用いて詳細に説明する。図14は、実施例2におけるPDLデータの一例を示す図である。描画オブジェクト1403、1404、1405は、一つのイメージデータを分割したイメージである。なお、拡大描画を行うときに隣接するイメージ間の位相のずれを少なくするために、1443、1444、1445に示すように、描画オブジェクト1403、1404、1405を重ねて描画する場合がある。このような描画オブジェクト1403、1404、1405は重なりが有るが、どの順番で描画しても問題ない。このため、描画オブジェクト1403、1404、1405間での、DL生成管理タスク403での待ち合わせ判定は不要である。よって、本実施例では、このような描画オブジェクトに対して、DL生成管理タスク403にて待ち合わせ判定を行わないようにするため、ホストコンピュータにて各イメージの描画コマンドに、示唆情報ヒント情報を付加するように構成する。例えば、描画オブジェクト1404について、描画オブジェクト1403を待ち合わせ判定対象から外すため、ホストコンピュータ側で、ヒント情報1431をHint=1とし、描画オブジェクト1404の描画コマンド1421に付加する。また、描画オブジェクト1405について、描画オブジェクト1403,1404を待ち合わせ判定対象から外すため、ホストコンピュータ側で、ヒント情報1432をHint=2とし、描画オブジェクト1405の描画コマンド1422に付加する。即ち、ネットワーク102を介して画像形成装置101と通知可能なホストコンピュータ情報処理装置のプリンタドライバは、一つのイメージデータを分割した複数の描画オブジェクトに対応して生成した各描画コマンドに対して、これらの間で待ち合わせ判定が行われないように、ヒントHint情報を付加するように構成する。なお、ヒントHint情報には、上記各描画コマンドの画像形成装置101への送信順序を示す数字が格納される。先頭の描画コマンドには、ヒントHint情報を付加しないか、Hint=0を付加するようにし、以下、Hint=1、Hint=2、Hint=3、Hint=4、のようなヒント情報を、分割された一連の描画コマンドにそれぞれ送信順に付加するように構成する。図14の例では、先頭の描画コマンド1420にはヒント情報は付加せず、描画コマンド1421、1422には、順次Hint=1、Hint=2のように、描画コマンドの画像形成装置101への送信順序を示す数字をヒント情報として付加している。このようにして描画コマンドに付加されたヒント情報は、待ち合わせ判定が不要となる一連の描画コマンドの先頭の位置を示すこととなる。即ち、図14の例では、描画コマンド1421については、1431に示すHint=1が示すように、1つ先に解析される描画コマンド1420を待ち合わせ判定対象外とする。また、描画コマンド1422については、1432に示すHint=2が示すように、2つ先に解析される描画コマンド1420と1つ先に解析される描画コマンド1421を待ち合わせ判定対象外とする。なお、ここでは、一つのイメージデータを分割した複数の描画オブジェクトに対応して生成した各描画コマンドに対して、ヒントHint情報を付加する場合を示した。しかし、一つのイメージデータを分割した各描画コマンドのみでなく、どのような描画コマンドであっても、ホストコンピュータ側で待ち合わせ判定が必要ないと判っている一連の描画コマンドに対しては、プリンタドライバがヒントHint情報を付加するように構成してもよい。なお、ホストコンピュータのプリンタドライバは、ホストコンピュータのCPUがハードディスク等の記録媒体にコンピュータ読み取り可能に記録されたプリンタドライバプログラムを読み出して実行することにより実現されるものである。以下、実施例2における画像形成装置101DL生成管理タスク403側の処理について説明する。図15は、実施例2におけるDL生成管理タスク403の一例を示すフローチャートである。このフローチャートの処理S1301~S1382、S2001~S2003等の各ステップは、画像形成装置101のCPU204がROM201に記録されたプログラム中間コード生成管理部213を実行することにより実現されるものである。なお、図8と同一のステップには同一のステップ番号を付してあり、説明は省略する。S2001において、DL生成管理タスク403は、カレントの描画オブジェクトの描画位置CurX、CurY、幅CurWd、高さCurHt、色CurR、CurG、CurB、HintをDL生成コマンドから取得する。次に、S2002において、DL生成管理タスク403は、CheckIDに、CurIDからHintを減算した値を代入するCheckID=CurID-Hint。なお、CheckIDは、ホストコンピュータにて待ち合わせ判定が不要とされた一連の描画オブジェクトの先頭のIDを示す変数であり、RAM202内に確保される。また、S2003において、DL生成管理タスク403は、S1310で取得したDL生成管理テーブルに登録されている描画オブジェクトのIDと、上記S2002でセットしたCheckIDとを比較する。そして、DL生成管理タスク403は、IDがCheckIDより小さいID<CheckIDか否かを判定する。そして、IDがCheckIDより小さいID<CheckIDと判定した場合S2003でYes、DL生成管理タスク403は、S1311~S1314にて重なり判定や色判定等の処理を実行し、S1314に処理を進めるように制御する。一方、IDがCheckIDより小さくないID≧CheckIDと判定した場合S2003でNo、DL生成管理タスク403は、重なり判定や色判定等の処理を実行することなくスキップして、そのままS1314に処理を進めるように制御する。なお、その他の処理は、図8と同一のため説明を省略する。以下、図16、図17a~図17cを参照して、DL生成管理タスク実行中のDL生成管理テーブルの変化を具体的に説明する。図16、図17a~図17cは、実施例2におけるDL生成管理タスク実行中のDL生成管理テーブルの変化を説明するための図である。なお、ここでは、DL生成タスク404が2つの場合を例に、DL生成管理テーブルの登録について説明する。図16は、描画オブジェクトの描画結果の一例を示す図である。図16において、1401、1402、1403、1404、1405は、それぞれ描画オブジェクトの描画結果を示す。図17aは、DL生成管理タスクが図16の描画オブジェクト1401、1402、1403をDL生成管理テーブルに登録した状態を示す図である。図17aにおいて、1501、1502は、それぞれDL生成タスク0、DL生成タスク1で実行している描画オブジェクト情報を指すポインタである。1503は、登録された描画オブジェクトを管理するDL生成管理テーブル315である。1511~1513は、登録された描画オブジェクト情報であり、ID、描画位置X、Y、幅Wd、高さHt、色R、G、Bまたはイメージ種別Imageと、処理状態が格納されている。ここでは、3個の描画オブジェクト図16の1401、1402、1403が、描画オブジェクト情報1511、1512、1513として登録されている。描画オブジェクト情報1511と1512は、それぞれDL生成状態を示すExecとなっている。描画オブジェクト情報1513は、ID=1の描画オブジェクトのDL生成終了待ち状態を示すWait=1となっている。図17bは、描画オブジェクト1404の登録時のDL生成管理テーブルを示す図である。図17bにおいて、1506は描画オブジェクト1404の描画コマンドである。1506に示すように、描画オブジェクト1404は、Hint=1であるため、図15のS2003でNoと判定され、待ち合わせ対象外として、ID=3の描画オブジェクト情報1513との重なり判定や色判定は実行されず省略され、処理順序変更可能とみなされる。なお、描画オブジェクト情報1514は、ID=1やID=2の描画オブジェクトとの重なり判定や色判定は実行される。ここでは、ID=1の描画オブジェクトとの重なり判定や色判定でYesと判定され、ID=1の描画オブジェクトのDL生成終了待ち状態を示すWait=1となる。図17cは、描画オブジェクト1405の登録時のDL生成管理テーブルを示す図である。図17cにおいて、1507は描画オブジェクト1405の描画コマンドである。1507に示すように、描画オブジェクト1405は、Hint=2であるため、図15のS2003でNoと判定され、待ち合わせ対象外として、ID=3の描画オブジェクト情報1513及びID=4の描画オブジェクト情報1514との重なり判定や色判定は実行されず省略され、処理順序変更可能とみなされる。なお、描画オブジェクト情報1514は、ID=1やID=2の描画オブジェクトとの重なり判定や色判定は実行される。しかし、ここでは、ID=1、ID=2の描画オブジェクトのいずれの重なり判定や色判定でもNoと判定され、DL生成スレッド空き待ち状態を示すWait=0となる。以上示したように、実施例2によれば、ホストコンピュータ側で待ち合わせ判定の必要がないと判断された一連の描画コマンドにヒント情報を付加して画像形成装置に送信するように構成する。そして、画像形成装置側では、ヒント情報に基づいて待ち合わせ判定を省略して処理順序変更可能とみなし、描画コマンドからDL生成を行うように構成する。このような構成により、実施例1の効果に加え、PDLデータに描画データを分割した一連の描画コマンド等の待ち合わせ判定が不要な一連の描画コマンドが含まれている場合には、さらに高速にPDLデータを処理し、印刷時間を短縮することができる。以下、本発明の効果について従来と比較して説明する。図18は、2コアのCPUにおける各処理の積み上げた時間を示す図である。以下に示す積み上げ時間は、PDL処理、DL生成処理、DL転送処理、レンダリング処理の各処理の積み上げ時間である。なお、レンダリング処理は専用のハードウェアで行い、DL生成時のメモリ領域とは別のメモリ領域から参照する構成のケースを想定しており、DL生成タスク404で生成したDLの転送が実行されるものとしている。この転送処理が、上記DL転送処理となる。図18aは、DL生成タスク404を1つで動作させたときの積み上げ時間を示す図である。このケースでは、PDL解析の結果を順次1つのDL生成タスク404でDL生成し、生成したDLをハードウェアがアクセスするメモリ領域にDL転送を並行で行う。ページ終了した時点で、ほぼDL転送は終了しており、レンダリングが実行される。レンダリング実行中には、次のページのPDL解析、DL生成が実行される。図18bは、DL生成タスク404を2つで動作させ、且つ、本発明対応前の積み上げ時間を示す図である。このケースでは、PDL解析の結果を順次2つのDL生成タスク404でDL生成するため、DL生成タスク404を1つで動作させたときの半分の時間で終了する。しかし、生成されたDLの順番は描画順番とは異なるため、それぞれのDL生成タスク404で作成したDLの結合処理並べ替えを必要とする。また、各描画オブジェクトのDL生成後は未だレンダリングできる状態でないため、DL転送はDL結合処理終了後となる。また、次のページのDL生成はDL転送後になり、DL生成タスク404を2つで動作させる効果はかなり落ちる。図18cは、DL生成タスク404を2つで動作させ、かつ、本発明対応後の積み上げ時間を示す図である。このケースでも、PDL解析の結果を順次2つのDL生成タスク404でDL生成するため、DL生成タスク404を1つで動作させたときの半分の時間で終了する。また、生成されたDLの順番は描画順番と常に一致するため、各描画オブジェクトのDL生成後すぐにDL転送が可能である。さらに、次のページのDL生成もすぐに実行することが可能である。これらのため、DL生成タスク404を2つ動作させる効果を無駄なく発揮することができる。このため、CPUコア数に応じてPDL処理のパフォーマンスを向上することができる。以上示したように、本発明によれば、PDLデータの描画コマンドから中間コードDLを生成するまでの処理を、事前の並べ替えや事後の並べ替えを行うことなくマルチコアCPUを用いて並列に行っても、順序を変更できない描画コマンドについてはシーケンシャルのまま処理できるようにし、マルチコアCPUを無駄なく使用し、CPUコア数に応じてPDL処理のパフォーマンスを向上して、少ないメモリ資源でPDLデータを高速に処理し、印刷時間を短縮することができる。なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。他の実施例また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形各実施例の有機的な組合せを含むが可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。"