(57)【特許請求の範囲】
【請求項１】
原稿上の画像情報を印刷画像として読み取ったスキャナ部から出力された画像信号に基づいてプリンタ部が印刷用紙に印刷画像を印刷し、クライアント端末のプリンタドライバから受け取った印刷画像の印刷ジョブの印刷設定情報において指定された条件で、印刷画像の印刷用紙への印刷を前記プリンタ部が実行すると共に、前記印刷ジョブ中の描画データの並列処理が可能な複数の演算処理部を有する画像形成装置において、
前記描画データが有する複数の描画オブジェクトに対応し、前記プリンタドライバによって判定された前記描画オブジェクトの論理和描画の可否を示す、前記プリンタドライバによって決定されたステータス情報を含むコマンドの内容によって、各描画オブジェクトの論理和描画の可否を判断する判断手段と、
前記判断手段が論理和描画を否と判断したコマンドに対応する描画オブジェクトの描画処理を同一の前記演算処理部で順次実行させると共に、前記判断手段が論理和描画を可と判断したコマンドに対応する描画オブジェクトの描画処理を、前記複数の演算処理部のうち、予め定めた基準値よりも使用率が低い複数の前記演算処理部に分散して割り当て並列して実行させる制御手段と、
を備えることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ記述言語（ＰＤＬ）で記述された描画データの描画コマンドに応じて描画処理を行う画像形成装置に関する。
【背景技術】
【０００２】
ページ記述言語（ＰＤＬ）で記述されたクライアント端末からの描画データが入力された画像形成装置における描画処理の高速化を図るには、描画データを分割して複数の描画命令を発生させ、それらを複数のプロセッサに同時に並行して処理させるのが有効である。
【０００３】
そこで、描画オブジェクト単位で描画データを分割し、描画オブジェクト同士が交差している場合は対応する描画命令をグループ化して一括処理すると共に、描画オブジェクト同士が交差していない場合は対応する描画命令を別々のプロセッサに並行処理させる提案が既に行われている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４６１４３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、上述した従来の提案では、画像形成装置が入力された描画データを解析して描画オブジェクト同士の交差判定を行うため、複数のプロセッサで描画命令を並行処理するようにしても、その前に行う交差判定の処理の負担の大きさから、描画処理の高速化を十分に図ることができない。
【０００６】
本発明は前記事情に鑑みなされたものであり、本発明の目的は、描画データが有する複数の描画オブジェクトの論理和描画が可であるか否かを大きな処理の負担を負うことなく判断することができる画像形成装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明の第１の態様による画像形成装置は、
プリンタドライバから入力された印刷ジョブ中の描画データの並列処理が可能な複数の演算処理部を有する画像形成装置において、
前記描画データが有する複数の描画オブジェクトに対応するコマンドの内容によって、各描画オブジェクトの論理和描画の可否を判断する判断手段と、
前記判断手段が論理和描画を否と判断したコマンドに対応する描画オブジェクトの描画処理を同一の前記演算処理部で順次実行させると共に、前記判断手段が論理和描画を可と判断したコマンドに対応する描画オブジェクトの描画処理を複数の前記演算処理部に分散して割り当て並列して実行させる制御手段と、
を備えることを特徴とする。
【０００８】
また、本発明の第１の態様による画像形成装置において、前記コマンドは、該コマンドに対応する描画オブジェクトの論理和描画の可否を示す、前記プリンタドライバによって決定されたステータス情報を含んでおり、前記判断手段は、前記ステータス情報によって、該ステータス情報を含む前記コマンドに対応する描画オブジェクトの論理和描画の可否を判断することを特徴とする。
【０００９】
なお、
入力された描画データの並列処理が可能な複数の演算処理部を有する画像形成装置において、
前記描画データが有する複数の描画オブジェクトに対応するコマンドの内容によって、各描画オブジェクトの論理和描画の可否を判断する判断手段と、
前記判断手段が論理和描画を否と判断したコマンドに対応する描画オブジェクトの描画処理を同一の前記演算処理部で順次実行させると共に、前記判断手段が論理和描画を可と判断したコマンドに対応する描画オブジェクトの描画処理を複数の前記演算処理部に分散して割り当て並列して実行させる制御手段と、
を備える参考例の画像形成装置において、
前記コマンドを、該コマンドに対応する描画オブジェクトの描画位置を描画オブジェクト毎に示す描画位置情報を含むものとし、前記判断手段が、前記描画位置情報が示す前記各描画オブジェクトの描画位置の一致又は不一致によって、該描画位置情報を含む前記コマンドに対応する描画オブジェクトの論理和描画の可否を判断するようにしてもよい。
【００１０】
また、参考例の画像形成装置において、前記制御手段が、前記判断手段が論理和描画を可と判断したコマンドに対応する描画オブジェクトの描画処理を、データ量が大きい順に、動作クロックが高い前記演算処理部に割り当てるようにしてもよい。
【００１１】
さらに、参考例の画像形成装置において、前記描画データを、カラー画像を構成する色別の描画オブジェクトを有するものとし、前記制御手段が、前記判断手段が論理和描画を可と判断したコマンドに対応する色別の描画オブジェクトの描画処理を、解像度が高い順に、動作クロックが高い前記演算処理部に割り当てるようにしてもよい。
【００１２】
そして、本発明の第１の態様による画像形成装置において、前記制御手段は、前記コマンドに対応する描画オブジェクトの描画処理を、前記複数の演算処理部のうち、予め定めた基準値よりも使用率が低い前記演算処理部に実行させる。
【発明の効果】
【００１３】
本発明によれば、描画データが有する複数の描画オブジェクトの論理和描画が可であるか否かを大きな処理の負担を負うことなく判断し、論理和描画が可である描画オブジェクトの描画処理を分割して複数のプロセッサに並行処理させて描画処理の高速化を図ることができる。
【００１４】
即ち、本発明の第１の態様による画像形成装置によれば、描画データが有する複数の描画オブジェクトに関する論理和描画の可否を判断手段が判断する際に、描画データのコマンドの内容を読むだけでよく、大きな処理の負担を負って読んだ内容を解析する必要がない。このため、描画データが有する複数の描画オブジェクトの論理和描画が可であるか否かを大きな処理の負担を負うことなく判断することができる。よって、論理和描画が可である複数の描画オブジェクトの描画処理を分割して複数の演算処理部に並行処理させて、描画処理の高速化を図ることができる。
【００１５】
また、本発明の第１の態様による画像形成装置によれば、描画データの元となる画像の印刷ジョブの出力元において、複数の描画オブジェクトを組み合わせて画像のデータが生成された場合は、その組み合わせの内容から印刷ジョブの出力元であるプリンタドライバが、描画オブジェクトの論理和描画の可否を判定かつ決定し、ステータス情報として印刷ジョブに含めて出力することができる。
【００１６】
このため、入力された印刷ジョブから生成した描画データのコマンドに含まれるステータス情報を読むだけで、描画データが有する複数の描画オブジェクトの論理和描画の可否を大きな処理の負担を負うことなく特定することができる。
【００１７】
なお、参考例の画像形成装置において、コマンドに対応する複数の描画オブジェクト中に描画位置が同じ描画オブジェクトが含まれている場合は、描画位置が同じ各描画オブジェクトの描画順が変わると、描画により形成される画像の内容に変化が生じる可能性がある。
【００１８】
そこで、描画データのコマンドに含まれる描画位置情報から、描画位置が一致する描画オブジェクトが描画データ中に複数存在することを認識した場合は、そのコマンドに対応する描画オブジェクトの論理和描画は否であると判断し、各描画オブジェクトの描画位置が全く一致しない（不一致）場合は、そのコマンドに対応する描画オブジェクトの論理和描画は可であると判断することもできる。
【００１９】
よって、描画位置情報が示す各描画オブジェクトの描画位置の一致又は不一致によって描画オブジェクトの論理和描画の可否を、大きな処理の負担を負うことなく特定することができる。
【００２０】
また、参考例の画像形成装置において、論理和描画が可である複数の描画オブジェクト間にデータ量のバラツキがある場合は、データ量が大きい描画オブジェクトの描画処理ほど、動作クロックが高く処理速度が速い演算処理部に優先的に割り当てることもできる。
【００２１】
さらに、本発明の第１の態様による画像形成装置において、論理和描画が可である複数の描画オブジェクトが、カラー画像を構成する色別の描画オブジェクトを含んでいる場合、色別の描画オブジェクトに解像度のバラツキがあれば、解像度が高い描画オブジェクトの描画処理ほど、動作クロックが高く処理速度が速い演算処理部に優先的に割り当てることもできる。
【００２２】
したがって、複数の描画オブジェクトの描画処理を複数の演算処理部で並行処理することによる高速化の効率を高めることができる。
【００２３】
そして、本発明の第１の態様による画像形成装置において、コマンドに対応する描画オブジェクトの描画処理を、予め定めた基準値よりも使用率が低く動作効率が良い演算処理部に実行させることで、複数の描画オブジェクトの描画処理を複数の演算処理部で並行処理することによる高速化の効率を高めることができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態に係るプリンタネットワークシステムの概略構成を示すブロック図である。
【図２】図１のクライアント端末のプリンタドライバがインクジェット記録装置に出力するＰＤＬによる印刷ジョブの内容を示す説明図である。
【図３】図２の描画オブジェクトの論理和描画の考え方を示す説明図である。
【図４】図１のインクジェット記録装置の制御ユニットのＣＰＵを構成するクアッドコアプロセッサの概略構成を示すブロック図である。
【図５】図１のクライアント端末から図２の内容の印刷ジョブが入力されるのに伴いインクジェット記録装置の制御ユニットのＣＰＵが行う処理の手順を示すフローチャートである。
【図６】図１のクライアント端末のプリンタドライバがインクジェット記録装置に出力するＰＤＬによる印刷ジョブの内容の他の例を示す説明図である。
【図７】図１のクライアント端末から図６の内容の印刷ジョブが入力されるのに伴いインクジェット記録装置の制御ユニットのＣＰＵが行う処理の手順を示すフローチャートである。
【図８】図１のクライアント端末のプリンタドライバがインクジェット記録装置に出力するＰＤＬによるカラーの原稿画像に関する印刷ジョブの内容の例を示す説明図である。
【図９】図１のクライアント端末から図８の内容の印刷ジョブが入力されるのに伴いインクジェット記録装置の制御ユニットのＣＰＵが行う処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態について図面を参照しながら説明する。図１は、本発明の一実施形態に係るプリンタネットワークシステムの概略構成を示す説明図である。なお、図１に示す本実施形態のインクジェット記録装置１は、インクジェット方式のラインカラープリンタであるものとする。
【００２６】
（プリンタネットワークシステムの全体構成）
図１に示すように、本実施形態のプリンタネットワークシステムは、インクジェット記録装置１（請求項中の画像形成装置に相当）とクライアント端末１４とを有している。
【００２７】
（クライアント端末の構成）
前記クライアント端末１４は、ＰＣ（パーソナルコンピュータ）等によって構成されるものである。このクライアント端末１４は、ＲＯＭ１７に格納された制御プログラムに基づいて各種の処理を実行するＣＰＵ１６を有している。また、ＣＰＵ１６には、ワーキングエリアとして機能するＲＡＭ１８と、キーボードやマウス等から構成される入力部１９と、液晶ディスプレイ等から構成される出力部２０と、外部記憶装置２１と、ディスクドライブ２２とが接続されている。
【００２８】
外部記憶装置２１には、文書、画像等の印刷画像を含む原稿データを生成するためのアプリケーションプログラムの格納領域や、インクジェット記録装置１のプリンタドライバプログラムの格納領域、その他各種アプリケーションプログラムの格納領域が確保されている。また、外部記憶装置２１には、データベース領域も確保されている。このデータベース領域には、アプリケーションプログラムを用いて生成された原稿データ等が格納される。
【００２９】
ＣＰＵ１６は、プロセッサやメモリその他の周辺装置によって構成される演算装置であり、入力部１９から入力される起動要求にしたがって外部記憶装置２１のアプリケーションプログラムを起動させる。また、ＣＰＵ１６は、入力部１９からのパラメータ入力等により、起動されたアプリケーションプログラム上において画像の原稿データを生成する。生成された原稿データは出力部２０に表示出力され、また、入力部１９から保存要求が入力された場合には、生成された原稿データが外部記憶装置２１のデータベース領域に記憶される。
【００３０】
外部記憶装置２１のデータベース領域に記憶された原稿データは、アプリケーションプログラムの起動中に入力部１９からの読み出し要求が入力された場合に、外部記憶装置２１から読み出される。読み出された原稿データの印刷画像は、出力部２０に表示出力することができ、また、アプリケーションプログラム上において加工して新たな原稿データに生成し直すこともできる。
【００３１】
そして、ＣＰＵ１６は、原稿アプリケーションプログラムや帳票作成のアプリケーションプログラム等で生成した原稿データの印刷要求が入力された場合に、プリンタドライバプログラムをＣＰＵ１６上で実行させることでＣＰＵ１６上にプリンタドライバ１１０を仮想的に構築する。そして、プリンタドライバ１１０によってインクジェット記録装置１に印刷ジョブを出力させる。
【００３２】
プリンタドライバ１１０は、クライアント端末１４に接続されたインクジェット記録装置１を制御するために、クライアント端末１４上で実行されるデータ変換プログラムである。このプリンタドライバ１１０は、原稿アプリケーション等が生成した印刷画像を有する原稿データを取得し、所定の印刷設定情報に従って印刷ジョブを生成する。そして、生成した印刷ジョブを外部インターフェイス部１５から制御ユニット１０の外部インターフェイス部１１に出力する。
【００３３】
ここで、印刷設定情報とは、例えば、原稿データのサイズ、解像度、印刷用紙のサイズ及び印刷方向等、通常印刷に必要な情報である。また、この印刷設定情報には、印刷画像をインクジェット記録装置１で印刷する際の印刷モードに関する情報も含まれている。
【００３４】
（印刷ジョブ）
図２は、プリンタドライバ１１０がインクジェット記録装置１に出力する印刷ジョブの内容を示す説明図である。本実施形態のプリンタドライバ１１０は、ＰＤＬ（ページ記述言語）で記述された印刷ジョブをインクジェット記録装置１に出力する。この印刷ジョブは、図２に示すように、オーナー、ジョブ名及び論理和フラグ（請求項中のステータス情報に相当）に続いて、垂直位置、水平位置、描画範囲及びｏｂｊ（オブジェクト）のコマンドを、オブジェクトの数の分だけ繰り返して有している。
【００３５】
オーナー名は、クライアント端末１４のユーザ名、ジョブ名は印刷ジョブの元となった印刷要求対象の原稿データのファイル名である。また、垂直位置は描画オブジェクトの垂直方向（Ｙ座標軸方向）における始点の位置、水平位置は同じく水平方向（Ｘ座標軸方向）における始点の位置、描画範囲は描画オブジェクトの幅（Ｘ座標軸方向）及び高さ（Ｙ座標軸方向）、ｏｂｊは、「○」や「△」、「□」、「曲線」等、原稿の画像を構成する描画オブジェクトのデータ（ラスタ又はベクタ）である。
【００３６】
一方、論理和フラグは、ｏｂｊのコマンドに定義される描画オブジェクトの論理和描画の可否を示すフラグであり、論理和フラグ＝１が論理和描画＝可、論理和フラグ＝０が論理和描画＝否を意味する。
【００３７】
ここで、描画オブジェクトの論理和描画について、図３の説明図を参照して説明する。例えば、図３（ａ）に示すように、黒ベタの縦長長方形であるオブジェクトＡと、白抜き正三角形であるオブジェクトＢとを重ねて構成される画像が、図３（ｂ）に示すようにオブジェクトＡ，Ｂの重なる部分が黒ベタとなる画像であるものとする。
【００３８】
この場合、図３（ｂ）の画像は、オブジェクトＡとオブジェクトＢとの重なる部分が、論理和の計算上でどちらを先に描画しても黒ベタになり、画像の内容に変化が生じない。このため、図３（ｂ）の画像を描画する際のオブジェクトＡ，Ｂはどちらを先に描画処理してもよく、論理和描画が可であることになる。
【００３９】
一方、オブジェクトＡとオブジェクトＢとを重ねて構成される画像が、図３（ｃ）に示すようにオブジェクトＡ，Ｂの重なる部分が白抜きとなる画像である場合、図３（ｃ）の画像は、オブジェクトＡとオブジェクトＢとの重なる部分が、オブジェクトＢを先に描画処理すれば白抜きになるが、オブジェクトＡを先に描画処理すると黒ベタになり、画像の内容に変化が生じる。このため、図３（ｃ）の画像は必ずオブジェクトＡを先に描画処理しなければならず、この場合は論理和描画が否であることになる。
【００４０】
論理和描画が可ならば、各オブジェクトＡ，Ｂの描画処理の順番が入れ替わっても図３（ｂ）の画像を描画することができる。一方、論理和描画が否であると、各オブジェクトＡ，Ｂの描画処理の順番が入れ替わることで図３（ｃ）の画像が描画できなくなる。
【００４１】
そこで、本実施形態では、各オブジェクトＡ，Ｂの描画処理の順番が固定（入れ替え不可）であるか任意（入れ替え可）であるかを、図２に示す印刷ジョブの論理和フラグのコマンドで示すようにしている。なお、論理和フラグは、論理和描画が可であるとき「１」、否であるとき「０」となる。
【００４２】
なお、本実施形態では、原稿アプリケーションプログラムや帳票作成のアプリケーションプログラム等で生成した原稿データの印刷要求が入力された場合に、プリンタドライバ１１０が、原稿データの画像を構成する描画オブジェクトとその組み合わせ方の情報を、アプリケーションプログラムから取得する。
【００４３】
この情報は、複数のオブジェクトを重ねて原稿データの画像を構成する場合に、どの順番でオブジェクトを重ね、一番手前にどのオブジェクトを配置するか等を表すもので、プリンタドライバ１１０が印刷ジョブを生成する際に、論理和フラグの内容を決定するのに利用される。
【００４４】
（インクジェット記録装置の構成）
図１に示すように、インクジェット記録装置１は、原稿上の画像情報を印刷画像として読み取って画像信号を出力するスキャナ部１０１と、スキャナ部１０１から出力された画像信号に基づいて印刷用紙に印刷画像を印刷するプリンタ部１０２と、全体制御用の制御ユニット１０とを備えている。プリンタ部１０２における印刷画像の印刷に使用する印刷用紙は、不図示の給紙部からプリンタ部１０２を介して不図示の排紙部に搬送される。
【００４５】
制御ユニット１０の外部インターフェイス部１１には、ローカルエリアネットワークＬＡＮを介して、複数のクライアント端末１４の外部インターフェイス部１５（図１中では、代表して１つのクライアント端末１４についてのみ示している）がそれぞれ接続されている。制御ユニット１０は各クライアント端末１４から印刷画像の印刷ジョブを受け取る。
【００４６】
制御ユニット１０は、受け取った印刷ジョブにより印刷画像のラスタデータを生成する。そして、インクジェット記録装置１は、印刷ジョブの印刷設定情報において指定された条件で、印刷画像の印刷用紙への印刷をプリンタ部１０２において実行する。
【００４７】
また、制御ユニット１０にはディスプレイ８０が接続されている。このディスプレイ８０は、インクジェット記録装置１の上部に配置されている。このディスプレイ８０は、インクジェット記録装置１のユーザインタフェースとして使用される。具体的には、例えば、スキャナ部１０１にセットした印刷画像を複写印刷する際の、複写枚数や複写倍率といった複写条件をユーザが入力する入力操作部等として、ディスプレイ８０が利用される。
【００４８】
上述したプリンタ部１０２に印刷動作を行わせるインクジェット記録装置１の制御ユニット１０は、ＣＰＵ９０を備える。このＣＰＵ９０は、ＲＯＭ９１に格納されているプログラム及び設定情報に基づいて、ディスプレイ８０から入力設定される内容に応じたスキャナ部１０１やプリンタ部１０２の動作を制御する。
【００４９】
なお、制御ユニット１０にはＲＡＭ９２が設けられており、ＲＡＭ９２には、クライアント端末１４から制御ユニット１０に入力された印刷ジョブや、ディスプレイ８０から入力されたコピー時の印刷枚数や各種の設定内容等が随時記憶される。
【００５０】
また、ＲＡＭ９２にはフレームメモリ領域が設けられている。このフレームメモリ領域には、クライアント端末１４からの印刷ジョブやスキャナ部１０１からの画像信号によってＣＰＵ９０が生成する印刷画像のラスタデータが、プリンタ部１０２に出力されるまでの間、一時的に記憶される。
【００５１】
さらに、制御ユニット１０には外部記憶装置９３が設けられており、この外部記憶装置９３はＣＰＵ９０に接続されている。外部記憶装置９３には、上述したＲＡＭ９２から転送された印刷ジョブを記憶する複数の領域が設けられている。また、外部記憶装置９３には、各種のテーブルやカウンタ等が記憶される。
【００５２】
なお、本実施形態のＣＰＵ９０は、図４のブロック図に示すように、４つのＣＰＵコア９０ａ〜９０ｄ（請求項中の演算処理部に相当）を搭載したクアッドコアプロセッサで構成されている。ＣＰＵ９０への入力コマンドは、内部のバスインタフェース（Ｉ／Ｆ）９０ｅに内蔵されたキャッシュメモリに、１つのＣＰＵコア９０ａ〜９０ｄで処理するコマンド単位に分けて記憶され、各ＣＰＵコア９０ａ〜９０ｄに適宜振り分けられる。
【００５３】
（印刷処理）
以下、クライアント端末１４からの印刷ジョブが入力されるのに伴いインクジェット記録装置１の制御ユニット１０が行う処理の手順について、図５のフローチャートを参照して説明する。
【００５４】
まず、図５に示すように、クライアント端末１４からの印刷ジョブが入力されると（ステップＳ１でＹＥＳ）、制御ユニット１０のＣＰＵ９０のＵＩ（ユーザインタフェース）制御を行っているＣＰＵコア９０ａ〜９０ｄは、バスＩ／Ｆ９０ｅを経て入力された印刷ジョブの論理和フラグが「１」であるか否かを確認する（ステップＳ３）。
【００５５】
論理和フラグが「１」でない場合は（ステップＳ３でＮＯ）、ＵＩ制御を行っているＣＰＵコア９０ａ〜９０ｄは、印刷ジョブの各描画オブジェクトｏｂｊ１，ｏｂｊ２，…のコマンドを、順番を変えずに１つのＣＰＵコア９０ａ〜９０ｄで描画処理されるように、１つの描画処理単位としてバスＩ／Ｆ９０ｅの内蔵キャッシュメモリにまとめて記憶させる（ステップＳ５）。
【００５６】
一方、論理和フラグが「１」である場合は（ステップＳ３でＹＥＳ）、ＵＩ制御を行っているＣＰＵコア９０ａ〜９０ｄは、印刷ジョブの各描画オブジェクトｏｂｊ１，ｏｂｊ２，…のコマンドを、個別のＣＰＵコア９０ａ〜９０ｄで分散処理されるように、バスＩ／Ｆ９０ｅの内蔵キャッシュメモリに各コマンドを１つの描画処理単位として記憶させる（ステップＳ７）。
【００５７】
各描画オブジェクトｏｂｊ１，ｏｂｊ２，…のコマンドをバスＩ／Ｆ９０ｅの内蔵キャッシュメモリに記憶させたならば（ステップＳ５又はＳ７でＹＥＳ）、ＵＩ制御を行っているＣＰＵコア９０ａ〜９０ｄは、描画オブジェクトｏｂｊ１，ｏｂｊ２，…の処理条件に適合するＣＰＵコア９０ａ〜９０ｄが存在するか否かを確認する（ステップＳ９）。
【００５８】
ここで、処理条件に適合するか否かは、例えば２０％等の予め定めた基準値を使用率が下回っているか否かを目安に確認することができる。そして、処理条件に適合するＣＰＵコア９０ａ〜９０ｄが存在しない場合は（ステップＳ９でＮＯ）、ステップＳ９をリピートする。
【００５９】
一方、処理条件に適合するＣＰＵコア９０ａ〜９０ｄが存在する場合は（ステップＳ９でＹＥＳ）、ＵＩ制御を行っているＣＰＵコア９０ａ〜９０ｄは、キャッシュメモリの描画オブジェクトｏｂｊ１，ｏｂｊ２，…のコマンドを古い記憶分から１つの描画処理単位ずつ読み出させ、処理条件に適合するＣＰＵコア９０ａ〜９０ｄによって描画処理させる（ステップＳ１１）。
【００６０】
なお、ステップＳ９の確認において、使用率２０％以下のＣＰＵコア９０ａ〜９０ｄが複数存在する等、処理条件に適合するＣＰＵコア９０ａ〜９０ｄが複数存在する場合は、ステップＳ１１において、例えば、使用率が低いＣＰＵコア９０ａ〜９０ｄに優先的に、描画オブジェクトｏｂｊ１，ｏｂｊ２，…のコマンドを描画処理させてもよい。
【００６１】
また、各ＣＰＵコア９０ａ〜９０ｄの動作クロックが異なる場合は、例えば、データ量が大きい描画オブジェクトｏｂｊ１，ｏｂｊ２，…のコマンドを、動作クロックの高いＣＰＵコア９０ａ〜９０ｄに優先的に描画処理させてもよい。
【００６２】
そして、描画処理が済んでいない描画オブジェクトｏｂｊ１，ｏｂｊ２，…のコマンドがキャッシュメモリに残っているか否かを確認し（ステップＳ１３）、残っている場合は（ステップＳ１３でＹＥＳ）、ステップＳ９にリターンし、残っていない場合は（ステップＳ１３でＮＯ）、一連の処理を終了する。
【００６３】
以上の説明からも明らかなように、本実施形態では、図５のフローチャートにおけるステップＳ３が、請求項中の判断手段に対応する処理となっている。また、本実施形態では、図５中のステップＳ５、ステップＳ７及びステップＳ１１が、請求項中の制御手段に対応する処理となっている。
【００６４】
このように構成された本実施形態のインクジェット記録装置１によれば、制御ユニット１０のＣＰＵ９０が、ＰＤＬ（ページ記述言語）で記述された印刷ジョブの論理和フラグの内容から、印刷ジョブの各描画オブジェクトｏｂｊ１，ｏｂｊ２，…の描画処理を個別のＣＰＵコア９０ａ〜９０ｄによって並列して実行してよいかどうかを判断する。
【００６５】
このため、印刷ジョブの描画オブジェクト同士が交差する（重なる）かどうかをイメージ上で判定するような解析を行うことでＣＰＵ９０が大きな処理の負担を負わなくても、論理和描画が可である描画オブジェクトについては描画処理を複数のＣＰＵコア９０ａ〜９０ｄに並列して実行させて、描画処理の高速化を図ることができる。
【００６６】
（参考例１）
なお、本実施形態では、印刷ジョブが、印刷ジョブの元となった印刷要求対象の原稿の画像を構成する描画オブジェクトｏｂｊ１，ｏｂｊ２，…のコマンドを含んでいる場合について説明した。
【００６７】
しかし、例えば図６の説明図に示すように、印刷ジョブが、オーナー及びジョブ名に続けて、原稿の画像の１ライン分の圧縮されたラスタデータのコマンドである描画オブジェクトｏｂｊのコマンドと、その描画オブジェクトｏｂｊの画像上におけるラインの垂直方向における描画開始位置である垂直位置（Ｙ座標軸方向、描画オブジェクトの描画位置に相当）のコマンドを、描画オブジェクトの数の分だけ繰り返して有する内容であってもよい。
【００６８】
そして、描画オブジェクトの垂直方向における描画開始位置が同じである垂直位置のコマンドが存在する場合は、描画処理順によって画像の内容が変わる可能性があるので、インクジェット記録装置１の制御ユニット１０のＣＰＵ９０は、図２の印刷ジョブにおける論理和フラグが「０」であるときと同じく、論理和描画が否である場合の描画処理を行う。
【００６９】
一方、描画オブジェクトの垂直方向における描画開始位置が同じである垂直位置のコマンドが存在しない場合は、描画処理順によって画像の内容が変わる可能性がないので、インクジェット記録装置１の制御ユニット１０のＣＰＵ９０は、図２の印刷ジョブにおける論理和フラグが「１」であるときと同じく、論理和描画が可である場合の描画処理を行う。
【００７０】
即ち、制御ユニット１０のＣＰＵ９０のＵＩ制御を行っているＣＰＵコア９０ａ〜９０ｄは、図７のフローチャートに示すように、クライアント端末１４からの印刷ジョブが入力されると（ステップＳ１でＹＥＳ）、全描画オブジェクトｏｂｊ１，ｏｂｊ２，…のコマンドについて、対応する垂直位置のコマンド（垂直位置１，垂直位置２，…）の内容が一致する、つまり、描画オブジェクトの垂直方向における描画開始位置が同じであるコマンドが存在するか否かを確認する（ステップＳ３′）。
【００７１】
描画オブジェクトの垂直方向における描画開始位置が同じであるコマンドが存在する場合は（ステップＳ３′でＹＥＳ）、ＵＩ制御を行っているＣＰＵコア９０ａ〜９０ｄは、印刷ジョブの各描画オブジェクトｏｂｊ１，ｏｂｊ２，…のコマンドを、順番を変えずに１つのＣＰＵコア９０ａ〜９０ｄで描画処理されるように、１つの描画処理単位としてバスＩ／Ｆ９０ｅの内蔵キャッシュメモリにまとめて記憶させる（ステップＳ５）。
【００７２】
一方、描画オブジェクトの垂直方向における描画開始位置が同じであるコマンドが存在しない場合は（ステップＳ３′でＮＯ）、ＵＩ制御を行っているＣＰＵコア９０ａ〜９０ｄは、印刷ジョブの各描画オブジェクトｏｂｊ１，ｏｂｊ２，…のコマンドを、個別のＣＰＵコア９０ａ〜９０ｄで分散処理されるように、バスＩ／Ｆ９０ｅの内蔵キャッシュメモリに各コマンドを１つの描画処理単位として記憶させる（ステップＳ７）。
【００７３】
なお、以後の手順は、図５のフローチャートに示すステップＳ９乃至ステップＳ１３の手順と同じである。
【００７４】
このように構成された参考例１のインクジェット記録装置１によれば、制御ユニット１０のＣＰＵ９０が、ＰＤＬ（ページ記述言語）で記述された印刷ジョブの各描画オブジェクトの描画位置の一致、不一致の内容から、印刷ジョブの各描画オブジェクトｏｂｊ１，ｏｂｊ２，…の描画処理を個別のＣＰＵコア９０ａ〜９０ｄによって並列して実行してよいかどうかを判断する。
【００７５】
このため、先の実施形態のインクジェット記録装置１と同じく、印刷ジョブの各描画オブジェクトをＣＰＵ９０がベクタデータからラスタデータに変換して描画オブジェクト同士の交差が存在するかどうかを判定するような解析を行って大きな処理の負担を負わなくても、論理和描画が可である描画オブジェクトについては描画処理を複数のＣＰＵコア９０ａ〜９０ｄに並列して実行させて、描画処理の高速化を図ることができる。
【００７６】
（参考例２）
また、印刷ジョブがカラーの原稿画像に関するものである際、インク色によって印刷解像度が異なる場合は、図８の説明図に示すように、ＰＤＬ（ページ記述言語）で記述された印刷ジョブの同じ頁に描画する各色の描画オブジェクトについて、インク色と解像度のコマンドが加わる。
【００７７】
そして、カラーの原稿画像に関する印刷ジョブについては、カラー画像を構成する描画オブジェクトであり描画処理の順番が変わっても、単一色の画像を複数の描画オブジェクトの組み合わせで構成する場合とは異なり、描画されるカラー画像の内容に不都合な変化が生じない。
【００７８】
そこで、描画位置が同じ描画オブジェクトが存在する場合に、その描画オブジェクトがカラーの原稿画像の印刷ジョブに関するものであるか否かをインク色のコマンドの一致、不一致によって判別し、カラーの原稿画像に関する印刷ジョブであると判別した場合は、論理和描画を可である場合の描画処理を行うようにしてもよい。
【００７９】
即ち、制御ユニット１０のＣＰＵ９０のＵＩ制御を行っているＣＰＵコア９０ａ〜９０ｄは、図７のフローチャートのステップＳ３´において、描画オブジェクトの描画位置が同じであるコマンドが存在する場合（ＹＥＳ）に、図９のフローチャートに示すように、描画位置が同じ描画オブジェクトのインク色のコマンドの内容から、入力された印刷ジョブがカラーの原稿画像に関するものであるか否かを確認する（ステップＳ４）。
【００８０】
そして、ＵＩ制御を行っているＣＰＵコア９０ａ〜９０ｄは、カラーの原稿画像に関するものでない場合は（ステップＳ４でＮＯ）、処理をステップＳ５に移行し、カラーの原稿画像に関するものである場合は（ステップＳ４でＹＥＳ）、処理をステップＳ７に移行する。ステップＳ５以後の手順については、図５のフローチャートに示すステップＳ５乃至ステップＳ１３の手順と同じである。
【００８１】
このように構成された参考例２のインクジェット記録装置１によれば、カラーの原稿画像に関する印刷ジョブについて、論理和描画できる各描画オブジェクトｏｂｊ１，ｏｂｊ２，…の描画処理を個別のＣＰＵコア９０ａ〜９０ｄによって並列して実行させる描画処理の高速化を、描画オブジェクトの解析による大きな処理の負担を負うことなく図ることができる。
【００８２】
なお、ステップＳ９の確認において、動作クロックが異なる複数のＣＰＵコア９０ａ〜９０ｄが処理条件に適合する場合に、ステップＳ１１において、例えば、カラーの原稿画像を構成する描画位置が同じ各色の描画オブジェクトについて、解像度が高い色の描画オブジェクトｏｂｊ１，ｏｂｊ２，…のコマンドを、動作クロックの高いＣＰＵコア９０ａ〜９０ｄに優先的に描画処理させてもよい。
【００８３】
また、上述した実施形態では、ＣＰＵ９０が４つのＣＰＵコア９０ａ〜９０ｄで構成される場合について説明したが、２つのＣＰＵコア（デュアルコア）等、４つ以外の複数のＣＰＵコアで１つのＣＰＵが構成される場合にも、本発明は適用可能である。
【００８４】
さらに、各ＣＰＵコアがインタフェースやキャッシュメモリ等を共有せずそれぞれ個別のチップで構成された複数のＣＰＵによって請求項中の演算処理部をそれぞれ構成する場合にも、本発明は適用可能である。
【００８５】
また、以上に説明した実施形態では、画像形成装置としてインクジェット記録装置１を用いた場合を例に取って説明した。しかし、本発明はインクジェット方式に限らず、電子写真方式等のインクジェット方式以外の方式によるプリンタを画像形成装置とする場合にも、広く適用することができる。
【符号の説明】
【００８６】
１  インクジェット記録装置
１０  制御ユニット
１１，１５  外部インターフェイス部
１４  クライアント端末
１６，９０  ＣＰＵ
１７，９１  ＲＯＭ
１８，９２  ＲＡＭ
１９  入力部
２０  出力部
２１，９３  外部記憶装置
２２  ディスクドライブ
８０  ディスプレイ
９０ａ〜９０ｄ  ＣＰＵコア
９０ｅ  バスインタフェース
１０１  スキャナ部
１０２  プリンタ部
１１０  プリンタドライバ
ＬＡＮ  ローカルエリアネットワーク
【図１】
0006580944.tif 000002
【図２】
0006580944.tif 000003
【図３】
0006580944.tif 000004
【図４】
0006580944.tif 000005
【図５】
0006580944.tif 000006
【図６】
0006580944.tif 000007
【図７】
0006580944.tif 000008
【図８】
0006580944.tif 000009
【図９】
0006580944.tif 000010