外部装置からの印刷指示に応じた印刷データを生成する印刷データ生成装置207と、前記印刷データ生成装置から受信した印刷データに従って画像形成を行う画像生成装置102とから成る画像処理システムであって、前記印刷データ生成装置は、前記印刷指示として受け取る描画命令に対して少なくとも1種類以上の最適化処理を行う第1の最適化手段303と、前記最適化処理の実施の有無を、最適化処理の種類別に最適化情報901、902、903として出力する手段306を備え、前記画像生成装置は、前記印刷データを解析して描画オブジェクトを生成する解析部402と、前記解析部から受け取った描画オブジェクトに対して、前記第1の最適化手段と同一種類の最適化処理を少なくとも1種類以上実施可能な第2の最適化手段403とを備え、前記第2の最適化手段は、前記最適化情報が最適化未実施であることを示す種類の最適化処理を行うことを特徴とする画像処理システム。前記第1および第2の最適化処理手段は、前記描画命令の冗長性または描画結果に影響しない不要な描画命令の除去を行う処理であることを特徴とする請求項1に記載の画像処理システム。前記最適化情報は、ページ記述言語PDLの描画命令として印刷ジョブ単位に受け取るヒント情報1002であることを特徴とする請求項1に記載の画像処理システム。印刷データ生成装置は、ホストコンピュータ上で動作しPDLによって記述された印刷データを出力するプリンタドライバであることを特徴とする請求項1に記載の画像処理システム。前記画像生成装置は、前記第1の最適化手段を備えた少なくとも1つ以上のプリンタドライバと、前記第1の最適化手段を備えていない少なくとも1つ以上のプリンタドライバとが混在した環境において前記印刷データを受け取ることを特徴とする請求項1に記載の画像処理システム。前記第1の最適化手段は、印刷データ内の1ページ目に対しては最適化処理を行わず、2ページ目以降のページに対してのみ最適化処理を行い、前記最適化情報はページ単位に受け取るヒント情報1301、1303であることを特徴とする請求項1に記載の画像処理システム。ところが、描画処理性能に関わるCPUやメモリおよびハードディスク等のハード資源は、プリンタデバイスに比べPCがより高性能かつ潤沢である場合が多いため、プリンタドライバにて常に最適化処理を行ったほうがシステム全体としての処理効率は良くなる。一方、前記汎用プリンタドライバでは、アプリケーションからの描画指示に対して最適化処理を実施することなく印刷命令を生成するため、プリンタデバイスは受け取る印刷ジョブによって前記最適化処理を実施するか否かを切り替える必要があった。また、従来技術のように動的に処理負荷の分散を決定するためには、ベンチマークデータを用いたテスト計測に基づいて決定する必要があったため、煩雑な前準備が必要であった。さらに、従来は一つの印刷ジョブ内で負荷分散方式を切り替える点は考慮していなかったため、例えば複数ページを含む印刷ジョブのデータ入力を速める等、きめ細かく処理負荷を分散することはできていなかった。前記課題を解決するために、本発明に示す画像処理システムでは下記の手段を備える。すなわち、外部装置からの印刷指示に応じた印刷データを生成する印刷データ生成装置207と、前記印刷データ生成装置から受信した印刷データに従って画像形成を行う画像生成装置102とから成る画像処理システムであって、前記印刷データ生成装置は、前記印刷指示として受け取る描画命令に対して少なくとも1種類以上の最適化処理を行う第1の最適化手段303と、前記最適化処理の実施の有無を、最適化処理の種類別に最適化情報901、902、903として出力する手段306を備え、前記画像生成装置は、前記印刷データを解析して描画オブジェクトを生成する解析部402と、前記解析部から受け取った描画オブジェクトに対して、前記第1の最適化手段と同一種類の最適化処理を少なくとも1種類以上実施可能な第2の最適化手段403とを備え、前記第2の最適化手段は、前記最適化情報が最適化未実施であることを示す種類の最適化処理を行うよう構成されている。プリンタドライバとプリンタデバイス間とで描画処理モジュールを共通化した構成を備える画像処理システムにおいて、描画命令の最適化処理を重複して無駄に実施してしまうことがなくなるため、システム全体の処理速度を上げることができる。また、プリンタドライバプリンタデバイスのどちらで最適化処理を行うかを、静的な条件に基づいて決定するため、ベンチマークデータを用いた煩雑な計測を行う必要もなくなり、より実用的な描画処理システムを提供することができる。さらに、印刷ジョブ毎にデバイス側での最適化処理の実施判断を指定するため、該当機種専用のプリンタドライバと汎用プリンタドライバとが混在するような環境を考慮した最適な負荷分散が可能となる。以下、本発明を実施するための最良の形態について図面を用いて説明する。<第1の実施例>図1は本発明の実施形態の画像処理システムの構成を説明するブロック図である。同図において、101はホストコンピュータ以下、PCであって、プログラムROM109aあるいはHDD113に記憶された各種プログラムをCPU108が実行することによって、システムバス107に接続された各デバイスを総括的に制御する。また、前記各種プログラムには、オペレーティングシステム以下、OSの他、ワードプロセッサ等のアプリケーション、前記アプリケーションからの印刷指示を受けプリンタデバイス102が解釈可能なPDLデータを生成するプリンタドライバ207等を含む。111はRAMであり、CPU109の主メモリ、およびワークエリア等として機能する。112は外部記憶装置コントローラであり、HDD113とのアクセスを制御する。111はプリンタI/F部であり、ネットワーク等の通信経路を介してプリンタ102へのPDLデータ送信等の通信制御を行う。また、CPU108によって実行されるプリンタドライバ207のプログラムは、不図示のディスプレイに表示されたGUI経由でユーザから指定された印刷設定内容を受け取り、前記印刷設定内容に応じた描画処理を行う。プリンタデバイス102において、121はプリンタCPUであり、プリンタ制御部103内のシステムバス120に接続される各デバイスを総括的に制御する。また、プリンタCPU121は、ROM1122のプログラム用ROM122aに基づいて、印刷部I/F125に接続された印刷部プリンタエンジン105へ画像情報に応じたビデオ信号を出力する。なお、ROM122は、プリンタCPU121が実行する制御プログラムを記憶したプログラム用ROM122aの他、不図示のフォントデータ等から構成される。さらに前記制御プログラムには、ホストI/F部124を介してPC101から受信した印刷データPDLデータを解釈し、印刷部105へ出力可能なビットマップデータに変換する画像形成プログラムを含む。続いて、RAM123は、受信したPDLデータを一時的に保持する受信バッファ123a、PDLを解析して生成した描画オブジェクトを格納する描画オブジェクトメモリ123b、ページ画像を格納するページスプールメモリ123c等に割り当てられる。また、104は操作部であり、プリンタデバイス102に対する各種操作を実現するための操作パネルやスイッチ、LED表示器等が構成されている。図2は、PC101上で動作する印刷処理に係るソフトウェアのプログラム構成を示すブロック図である。ここで、前記ソフトウェア群は、前記OSが外部記憶装置119にファイルとして格納されたプログラムコードをRAM111上にロードし、CPU109によって実行されることで、本発明の機能を実現する。本実施例における前記ソフトウェア群は、大別するとアプリケーション202、OS203、およびプリンタドライバ207から構成されている。さらにOS203のプリント処理を司るモジュールは、グラフィックエンジン204、プリントプロセッサ206、およびシステムスプーラ208にて構成されている。前記アプリケーション202がプリンタ102に対して描画指示を行う際は、前記グラフィックエンジン204のサービス関数群であるGDIGraphicDeviceInterfaceを呼び出すことで、描画命令を発行する。そして、前記グラフィックエンジン204は、GDI経由で受け取った前記印刷指示を元に中間コード形式のスプールファイルEMF:EnhancedMetaFileを生成し、HDD上の記憶領域にファイルとして一時的にスプールする構成を有する。続いて、プリントプロセッサ206は、前記スプールファイル205として一時保存された印刷データを読み出し、前記描画指示に対応するDDIDeviceDriverInterface関数に変換し、プリンタドライバ207へ描画指示を行う。ここで、プリントプロセッサ206は、予めプリンタドライバ207から宣言された処理能力に応じて、前記GDI関数による描画指示をプリンタドライバ207が受け取り可能なDDI関数に変換する処理を行う。一方、プリンタドライバ207は、前記DDI関数による描画指示に基づいてプリンタ102が処理可能なPDLコマンドを生成する。そして、前記PDLコマンドはシステムスプーラ208からネットワーク等のインタフェースを経由して、プリンタ102に印刷ジョブとして出力される。図3は、本実施例のプリンタドライバ207における描画処理モジュールの構成を示したブロック図である。同図の301は、前記プリントプロセッサ206からDDI関数による描画命令を受け取る描画命令入力部、302は前記描画命令を解析して中間形式の描画命令に変換する描画命令解析部である。303は、前記中間形式の描画命令を受け取ってPDLデータに変換する描画命令最適化部であって、PDLデータ変換時に不要な描画命令の削除あるいは結合などの最適化処理を行う。具体的には、前記中間形式の描画命令を描画命令格納部304に一時的に格納し、格納した前記描画命令の前後の連続性や描画位置の関連性重なり状況を解析することで、接合状況や重複度を判定し、不要箇所の除去ビットマップ展開などを行う。なお、描画命令格納部304は、描画命令最適化部303がOS203に獲得要求を行って得られたRAM111から割り当てられる。続いて305は、前記描画命令格納部304に格納された描画命令を順次読み出しビットマップに展開するレンダラであって、描画命令最適化部303の判定結果によって必要に応じて呼び出される。最後に、PDLコマンド出力部306は、最適化済みの前記PDLコマンドをシステムスプーラ108に対して出力する。続いて、図4のブロック図を用いて、プリンタ制御部103における描画処理モジュールの構成を説明する。なお、これらの描画処理モジュールは、プリンタCPU121が実行する制御プログラムとしてプログラムROM110aに格納されている。同図において、印刷データ受信部401はホストI/F部124経由で受信したPDLデータを順次受信バッファ123aに格納し、PDLインタプリタ402に解析処理の開始通知を行う。PDLインタプリタ402は、受信バッファ123aに格納された前記PDLデータを順次読み出し、解析した結果から中間形式の描画命令を生成し、描画オブジェクト最適化部403に通知する。描画オブジェクト最適化部403は、プリンタドライバに含まれる描画命令最適化部302と同様、入力された描画命令の最適化処理を行い、その結果を描画オブジェクトとして描画オブジェクトメモリ123bに順次格納する。すなわち、前記描画命令を最適化ワークメモリ123dに一時的に格納し、前記描画命令の前後の連続性や描画位置の関連性重なり状況を解析することで、接合状況や重複度を判定し、不要箇所の除去を行う。なお、本実施例では、プリンタ制御部には最適化に特化したレンダラは持たない構成としている。ページ画像生成部レンダラ405は、前記描画オブジェクトメモリ123bに1ページ分の描画オブジェクトが格納される度に起動され、前記描画オブジェクトを元に生成したページ画像を所定のフォーマットにてページスプールメモリ123cに格納する。最後に、前記ページ画像は印刷部I/F127によってエンジン105に同期して読み出される。続く図5、6、7、8のフローチャートを用いて、プリンタドライバ207が実行するPDLデータ生成手順について説明する。ここで、それぞれの図に示した処理ステップは、図3に示したプリンタドライバ207を構成する各描画処理モジュールのプログラムがCPU109に読み出されることによって実行される。図5は、前記プリントプロセッサ206からDDI関数による描画命令を1つ受け取った際のプリンタドライバ207の処理手順を示している。まず、描画命令入力部301は、プリントプロセッサ206から1処理単位の描画命令を受け取り、描画命令解析部302が命令種別を確認するステップS501。前記描画命令がジョブ開始命令であった場合S502、描画命令最適化部303は、最適化処理実施済みである旨を示すヒント情報を生成するS503。そしてPDLコマンド出力部306によって、ジョブ開始命令と合わせてジョブヒント命令が出力される。前記ジョブヒント命令の詳細は図9を用いて後述する。。一方、S502において前記描画命令がジョブ開始命令でなかった場合、続くステップにおいて各種描画命令に応じたPDLデータを生成する。ここで、本実施例における描画命令最適化部303は、描画命令がイメージまたは文字を描画する命令の場合は、描画命令格納部304に順次スプールし、命令種別が切り替わる度にスプール済みの前記描画命令に対して最適化処理を実施する構成とした。S505、S508、S511、S514の詳細は後述する。まず、S504において、描画命令解析部302はイメージ描画命令であるかを調べ、イメージ描画命令である場合は、描画命令最適化部303に対してスプール済みの文字描画命令の最適化処理の実施を指示するS505、詳細は図7を用いて後述する。その後、描画命令最適化部303は、前記イメージ描画命令が単色のイメージデータであるか否かを調べS506、単色である場合は前記単色のブラシで描画する矩形描画命令に置換するS507。この時、前記矩形情報の印字位置情報は、前記イメージデータのパラメータとして指定される印字位置と幅高さ情報とから算出する。このようにピクセル画素単位に情報を持つイメージデータを、矩形四隅の座標情報と色情報とに置き変えることによって、PDLデータの大幅な削減が可能となり、最適化されたデータ形式となる。続いて、描画命令最適化部303は、スプール済みのイメージデータが存在するかを調べ、存在する場合は最適化処理を行うS508、詳細は図6にて後述する。最後に、PDLコマンド出力部306は、前記最適化済みのイメージデータに相当するPDLデータと、S507にて生成した矩形描画命令に相当するPDLデータを出力しS509、1命令分の処理を終える。一方、S506にて前記イメージ描画命令が単色イメージでないと判定された場合、描画命令最適化部303は前記イメージデータが所定サイズ例えば、10×10画素以下であるかを調べS510、所定サイズ以下であればスプールを行うS511。一方、所定サイズを超えるイメージデータであった場合、最適化処理は行わず、PDLコマンド出力部306が通常のイメージ描画を示すPDLコマンドを出力する。S504に戻り、描画命令がイメージ描画命令でなかった場合、描画命令解析部302は描画命令最適化部303に対して、スプール済みのイメージ描画命令の最適化処理を指示するS512。ここでの処理はS508と同様である。続いて、描画命令解析部302は描画命令が文字印字命令であるかを調べS513、文字であった場合は、描画命令最適化部303は最適化処理を行うために文字描画命令をスプールしS514、1命令の処理を終了する。一方、S513で描画命令が文字印字命令でなかった場合、描画命令最適化部303は、図形描画命令について最適化処理を行い相当するPDLデータを生成する。すなわち、まずスプール済みの文字印字命令に対して最適化処理を行い、相当するPDLデータを生成するS515。続いて、前記図形描画命令に対してクリッピングを行う指定が付加されているかを調べS516、なければ前記図形描画命令に対応するPDLデータを出力する。S516にてクリップ指定がなされている場合は、描画命令最適化部303はクリップ指定がなされた前記図形描画命令の最適化処理を行うS517、図8にて後述する。プリンタドライバ207は、プリントプロセッサ206からの描画命令がなくなるまで、上記フローチャートに示した処理を繰り返し、少なくとも1ページ分のPDLデータを生成する。図6、図7、図8はそれぞれ、描画命令最適化部303がスプール済みの描画命令に対する最適化処理の詳細を示したフローチャートであって、図6はイメージについて、図7は文字、図8はクリップ指定がある図形描画命令に対する処理を示している。図6において、まずスプール済みのイメージ描画命令が2つ以上存在するか否かを調べS601、存在する場合は描画命令のパラメータで指定された描画位置や描画論理を元に複数のイメージデータが結合可能か否かを調べるS602。ここで結合できないと判定された場合は、各イメージデータに対してPDLコマンドを生成するS604。一方、複数のイメージデータが結合可能であると判断された場合、S603にて前記イメージデータを結合する。この処理をスプール済みイメージがなくなるまで繰り返し、最後に結合済みのイメージデータに対応するPDLコマンドを生成してS605最適化処理を終える。図7に示した文字描画命令に対する最適化処理おいては、同じ位置に重ねて印字している同一フォント種別の文字を検出して重なった描画命令を除去する処理、および同色で重ならずに印字している文字列を検出して一つのイメージデータに変換している。まずスプール済みの文字描画命令が2つ以上存在するか否かを調べS701、存在する場合は描画命令のパラメータで指定された描画位置や文字コードから重なり状況を判定しS702、同一箇所に重なる場合には下の文字描画命令を除去するS703。一方、S702にて文字種が異なるか、あるいは完全に重ならないと判定された場合、それぞれの文字の色指定と重なり状況を判定するS704。ここで同色かつ重なりなしと判定された場合、レンダラ305は前記文字描画命令を元に2値のイメージデータを生成するS705。さらに、S704にて同色でなく、あるいは文字の一部が重なると判定された文字印字命令に対しては、通常の文字印字命令に相当するPDLデータを生成するS706。以上の処理をスプール済み文字印字命令がなくなるまで行い、最後にS705にて生成したイメージデータに相当するPDLデータを生成するS707。図8では、矩形状のクリップ指定がなされた図形描画命令に対する最適化処理の手順を説明している。本実施例では、描画すべき図形がクリップ領域に包含されていれば前記クリップ指示を除去しS802~S805、クリップ領域外に完全にはみ出していれば該図形描画を除去S807、S810といった既知の最適化処理を行う。さらに、該描画命令が矩形描画命令であって、かつ一部分がクリップ指定領域と交差する場合は、クリップ済みの矩形描画命令を生成する例も示しているS807~S809。図9は、前記S503において生成されたヒント情報を元に出力されたジョブヒント命令の具体例を示している。同図において、901はコマンド種別を示す1バイトのコマンドIDであって、ここでは0x08がジョブヒント命令に割り当てられているものとする。続く902は、本命令に付加されるパラメータのタイプを指定する1バイトのパラメータIDであり、予め0xf4がHintCodeに割り当てられている。903は前記HintCodeのデータ部であり、本実施例では32bitのビット列として構成する。ここで、前記HintCodeは、LSB側のビットから順にbit0、bit1~bit31と割り当て、各ビットがそれぞれ所定の最適化処理の実施済み状況を示している。例えば、bit0が1ONである場合、該PDLジョブに含まれるイメージ描画命令に対しては結合処理最適化処理が実施済みであることを示しており、0OFFである場合は結合処理が未実施であることを示している。以下同様に、本実施例における最適化処理のビット割り当て例を示すが、最適化処理の具体例については、プリンタドライバ側の処理と符合さえしていれば下記に限らない。bit0:微細なイメージ描画命令を1つのイメージに結合済みなら1bit1:単色のイメージ描画命令を矩形描画命令に変換済みなら1bit2:図形に対するクリップ最適化処理を実施済みなら1bit3:重なった文字印字命令を除去済みなら1bit4:同色の重ならない文字印字をイメージに変換済みなら1bit5~bit31:未使用予約領域上記例の場合、全ての最適化処理が実施済みである場合はbit0~bit4が全てONとなるため、HintCodeは0x1fとなる。図10は、前記ジョブヒント命令を含むPDLデータ構成例を示している。本実施例の画像処理システムでは、アプリケーションからの1回の印刷指示に対して、BeginJob命令1001からEndJob命令1006で囲まれたひと固まりのPDLデータが該当し、1つの印刷ジョブとして扱う。ここで、本実施例においては、前記ジョブヒント命令1002はBeginJob命令1001の直後に発行されている構成とし、1つの印刷ジョブに対する指定とみなす。前記ジョブヒント命令1002に続く、BeginPage命令1003からEndPage命令1005で囲まれた描画命令群1004が1ページ目に相当する。なお、本実施例においては、前記ジョブヒント命令が発行されていない場合、前記HintCodeは初期値として全て0OFFが指定されたものとして扱う。上記に示したジョブヒント命令を含む印刷ジョブを受信したプリンタデバイスは、前記HintCodeのビット内容に応じて最適化処理を実施すべきか否かを判断し、描画オブジェクト最適化部403の制御を行う。以下、図11、12のフローチャートを用いて、前記印刷ジョブを受信した際にプリンタ制御部103が行う最適化処理の手順について説明する。ここで、図11、12に示した各ステップは、印刷データ受信部401、PDLインタプリタ402、描画オブジェクト最適化部403、描画オブジェクト生成部404を構成するプログラムがCPU121にて実行されることで実現される。なお、両図に示した最適化処理の全体フローは、図5に示したプリンタドライバ207による最適化処理フローと同様で良いため、詳細の説明は省略する。プリンタドライバの処理と異なるステップとして、まずPDLインタプリタ402は、ジョブヒント命令を解釈した際にS1102、パラメータのHintCode903をワークメモリに保持しておくS1103。また、描画オブジェクト最適化部403は、各描画命令を処理する度に、前記HintCodeに従って最適化処理の要否を判定するステップが加わるS1106、S1111、S1115、S1119、S1202、S1205。以上に示したように、プリンタドライバにて実施した最適化処理状況をヒント情報として受け取り、前記ヒント情報に従ってデバイス側で最適化処理の実施要否を判断することで、重複する冗長な処理を減らすことが可能となる。<第2の実施例>第1の実施例においては、プリンタドライバ207とプリンタデバイス102が1対1である場合について説明したが、例えば、複数のPCで1台のプリンタデバイスを共有する環境に対しても本発明は適用可能である。すなわち、プリンタデバイスと処理モジュールを共通化したプリンタドライバからは最適化済みである旨を前記ヒント情報として通知する一方、前記最適化処理を行わない汎用プリンタドライバからは最適化未実施である旨を通知する構成とする。こうすることで、異なるプリンタドライバが混在する環境においても、重複する冗長な処理を減らすことが可能となる。<第3の実施例>本発明は、1つの印刷ジョブの中で、ページ単位でヒント情報を切り替える形態としても適用可能である。例えば、印刷ジョブ中の1ページ目については、プリンタドライバ側での最適化処理を行わず印刷ジョブの投入を少しでも早め、プリンタエンジンの起動タイミングを早めることで、システム全体の処理速度を向上することができる。そのため、前記HintCodeはジョブ単位ではなくページ単位に指定できるページヒント命令として通知するものとし、プリンタデバイスはページ毎に前記HintCodeを更新する。図13は、本実施例における印刷ジョブのコマンド構成例を示した図であって、各ページのBeginPage命令の直後にSetPageHint命令が発行されている例を示している。そして、1ページ目に対しては最適化未実施を示すHintCode=0x00を指定する一方、2ページ目以降に対しては最適化実施済みを示す0x1fを指定している。