(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところが、上述した従来の提案では、画像形成装置が入力された描画データを解析して描画オブジェクト同士の交差判定を行うため、複数のプロセッサで描画命令を並行処理するようにしても、その前に行う交差判定の処理の負担の大きさから、描画処理の高速化を十分に図ることができない。
【0006】
本発明は前記事情に鑑みなされたものであり、本発明の目的は、描画データが有する複数の描画オブジェクトの論理和描画が可であるか否かを大きな処理の負担を負うことなく判断することができる画像形成装置を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するために本発明の第1の態様による画像形成装置は、
プリンタドライバから入力され
た印刷ジョブ中の描画データの並列処理が可能な複数の演算処理部を有する画像形成装置において、
前記描画データが有する複数の描画オブジェクトに対応するコマンドの内容によって、各描画オブジェクトの論理和描画の可否を判断する判断手段と、
前記判断手段が論理和描画を否と判断したコマンドに対応する描画オブジェクトの描画処理を同一の前記演算処理部で順次実行させると共に、前記判断手段が論理和描画を可と判断したコマンドに対応する描画オブジェクトの描画処理を複数の前記演算処理部に分散して割り当て並列して実行させる制御手段と、
を備えることを特徴とする。
【0008】
ま
た、本発明の第1の態様による画像形成装置において、前記コマンドは、該コマンドに対応する描画オブジェクトの論理和描画の可否を示
す、前記プリンタドライバによって決定されたステータス情報を含んでおり、前記判断手段は、前記ステータス情報によって、該ステータス情報を含む前記コマンドに対応する描画オブジェクトの論理和描画の可否を判断することを特徴とする。
【0009】
なお、
入力された描画データの並列処理が可能な複数の演算処理部を有する画像形成装置において、
前記描画データが有する複数の描画オブジェクトに対応するコマンドの内容によって、各描画オブジェクトの論理和描画の可否を判断する判断手段と、
前記判断手段が論理和描画を否と判断したコマンドに対応する描画オブジェクトの描画処理を同一の前記演算処理部で順次実行させると共に、前記判断手段が論理和描画を可と判断したコマンドに対応する描画オブジェクトの描画処理を複数の前記演算処理部に分散して割り当て並列して実行させる制御手段と、
を備える参考例の画像形成装置において、
前記コマンド
を、該コマンドに対応する描画オブジェクトの描画位置を描画オブジェクト毎に示す描画位置情報を
含むものとし、前記判断手段
が、前記描画位置情報が示す前記各描画オブジェクトの描画位置の一致又は不一致によって、該描画位置情報を含む前記コマンドに対応する描画オブジェクトの論理和描画の可否を判断する
ようにしてもよい。
【0010】
ま
た、参考例の画像形成装置におい
て、前記制御手段
が、前記判断手段が論理和描画を可と判断したコマンドに対応する描画オブジェクトの描画処理を、データ量が大きい順に、動作クロックが高い前記演算処理部に割り当てる
ようにしてもよい。
【0011】
さら
に、参考例の画像形成装置において、前記描画データ
を、カラー画像を構成する色別の描画オブジェクトを
有するものとし、前記制御手段
が、前記判断手段が論理和描画を可と判断したコマンドに対応する色別の描画オブジェクトの描画処理を、解像度が高い順に、動作クロックが高い前記演算処理部に割り当てる
ようにしてもよい。
【0012】
そして、本発明の
第1の態様による画像形成装置において、前記制御手段は、前記コマンドに対応する描画オブジェクトの描画処理
を、前記複数の演算処理部のうち、予め定めた基準値よりも使用率が低い前記演算処理部に実行させ
る。
【発明の効果】
【0013】
本発明によれば、描画データが有する複数の描画オブジェクトの論理和描画が可であるか否かを大きな処理の負担を負うことなく判断し、論理和描画が可である描画オブジェクトの描画処理を分割して複数のプロセッサに並行処理させて描画処理の高速化を図ることができる。
【0014】
即ち、本発明の第1の態様による画像形成装置によれば、描画データが有する複数の描画オブジェクトに関する論理和描画の可否を判断手段が判断する際に、描画データのコマンドの内容を読むだけでよく、大きな処理の負担を負って読んだ内容を解析する必要がない。このため、描画データが有する複数の描画オブジェクトの論理和描画が可であるか否かを大きな処理の負担を負うことなく判断することができる。よって、論理和描画が可である複数の描画オブジェクトの描画処理を分割して複数の演算処理部に並行処理させて、描画処理の高速化を図ることができる。
【0015】
また、本発明の
第1の態様による画像形成装置によれ
ば、描画データの元となる画像の印刷ジョブの出力元において、複数の描画オブジェクトを組み合わせて画像のデータが生成された場合は、その組み合わせの内容か
ら印刷ジョブの出力元であるプリンタドライバが、描画オブジェクトの論理和描画の可否を
判定かつ決定し、ステータス情報として印刷ジョブに含めて出力することができる。
【0016】
このため、入力された印刷ジョブから生成した描画データのコマンドに含まれるステータス情報を読むだけで、描画データが有する複数の描画オブジェクトの論理和描画の可否を大きな処理の負担を負うことなく特定することができる。
【0017】
なお、参考例の画像形成装置において、コマンドに対応する複数の描画オブジェクト中に描画位置が同じ描画オブジェクトが含まれている場合は、描画位置が同じ各描画オブジェクトの描画順が変わると、描画により形成される画像の内容に変化が生じる可能性がある。
【0018】
そこで、描画データのコマンドに含まれる描画位置情報から、描画位置が一致する描画オブジェクトが描画データ中に複数存在することを認識した場合は、そのコマンドに対応する描画オブジェクトの論理和描画は否であると判断し、各描画オブジェクトの描画位置が全く一致しない(不一致)場合は、そのコマンドに対応する描画オブジェクトの論理和描画は可であると判断することもできる。
【0019】
よって、描画位置情報が示す各描画オブジェクトの描画位置の一致又は不一致によって描画オブジェクトの論理和描画の可否を、大きな処理の負担を負うことなく特定することができる。
【0020】
また、
参考例の画像形成装置において、論理和描画が可である複数の描画オブジェクト間にデータ量のバラツキがある場合は、データ量が大きい描画オブジェクトの描画処理ほど、動作クロックが高く処理速度が速い演算処理部に優先的に
割り当てることもできる。
【0021】
さら
に、本発明の
第1の態様による画像形成装置において、論理和描画が可である複数の描画オブジェクトが、カラー画像を構成する色別の描画オブジェクトを含んでいる場合、色別の描画オブジェクトに解像度のバラツキがあれば、解像度が高い描画オブジェクトの描画処理ほど、動作クロックが高く処理速度が速い演算処理部に優先的に
割り当てることもできる。
【0022】
したがって、複数の描画オブジェクトの描画処理を複数の演算処理部で並行処理することによる高速化の効率を高めることができる。
【0023】
そして、本発明の
第1の態様による画像形成装置において、コマンドに対応する描画オブジェクトの描画処理を、予め定めた基準値よりも使用率が低く動作効率が良い演算処理部に実行させることで、複数の描画オブジェクトの描画処理を複数の演算処理部で並行処理することによる高速化の効率を高めることができる。
【発明を実施するための形態】
【0025】
以下、本発明の実施形態について図面を参照しながら説明する。
図1は、本発明の一実施形態に係るプリンタネットワークシステムの概略構成を示す説明図である。なお、
図1に示す本実施形態のインクジェット記録装置1は、インクジェット方式のラインカラープリンタであるものとする。
【0026】
(プリンタネットワークシステムの全体構成)
図1に示すように、本実施形態のプリンタネットワークシステムは、インクジェット記録装置1(請求項中の画像形成装置に相当)とクライアント端末14とを有している。
【0027】
(クライアント端末の構成)
前記クライアント端末14は、PC(パーソナルコンピュータ)等によって構成されるものである。このクライアント端末14は、ROM17に格納された制御プログラムに基づいて各種の処理を実行するCPU16を有している。また、CPU16には、ワーキングエリアとして機能するRAM18と、キーボードやマウス等から構成される入力部19と、液晶ディスプレイ等から構成される出力部20と、外部記憶装置21と、ディスクドライブ22とが接続されている。
【0028】
外部記憶装置21には、文書、画像等の印刷画像を含む原稿データを生成するためのアプリケーションプログラムの格納領域や、インクジェット記録装置1のプリンタドライバプログラムの格納領域、その他各種アプリケーションプログラムの格納領域が確保されている。また、外部記憶装置21には、データベース領域も確保されている。このデータベース領域には、アプリケーションプログラムを用いて生成された原稿データ等が格納される。
【0029】
CPU16は、プロセッサやメモリその他の周辺装置によって構成される演算装置であり、入力部19から入力される起動要求にしたがって外部記憶装置21のアプリケーションプログラムを起動させる。また、CPU16は、入力部19からのパラメータ入力等により、起動されたアプリケーションプログラム上において画像の原稿データを生成する。生成された原稿データは出力部20に表示出力され、また、入力部19から保存要求が入力された場合には、生成された原稿データが外部記憶装置21のデータベース領域に記憶される。
【0030】
外部記憶装置21のデータベース領域に記憶された原稿データは、アプリケーションプログラムの起動中に入力部19からの読み出し要求が入力された場合に、外部記憶装置21から読み出される。読み出された原稿データの印刷画像は、出力部20に表示出力することができ、また、アプリケーションプログラム上において加工して新たな原稿データに生成し直すこともできる。
【0031】
そして、CPU16は、原稿アプリケーションプログラムや帳票作成のアプリケーションプログラム等で生成した原稿データの印刷要求が入力された場合に、プリンタドライバプログラムをCPU16上で実行させることでCPU16上にプリンタドライバ110を仮想的に構築する。そして、プリンタドライバ110によってインクジェット記録装置1に印刷ジョブを出力させる。
【0032】
プリンタドライバ110は、クライアント端末14に接続されたインクジェット記録装置1を制御するために、クライアント端末14上で実行されるデータ変換プログラムである。このプリンタドライバ110は、原稿アプリケーション等が生成した印刷画像を有する原稿データを取得し、所定の印刷設定情報に従って印刷ジョブを生成する。そして、生成した印刷ジョブを外部インターフェイス部15から制御ユニット10の外部インターフェイス部11に出力する。
【0033】
ここで、印刷設定情報とは、例えば、原稿データのサイズ、解像度、印刷用紙のサイズ及び印刷方向等、通常印刷に必要な情報である。また、この印刷設定情報には、印刷画像をインクジェット記録装置1で印刷する際の印刷モードに関する情報も含まれている。
【0034】
(印刷ジョブ)
図2は、プリンタドライバ110がインクジェット記録装置1に出力する印刷ジョブの内容を示す説明図である。本実施形態のプリンタドライバ110は、PDL(ページ記述言語)で記述された印刷ジョブをインクジェット記録装置1に出力する。この印刷ジョブは、
図2に示すように、オーナー、ジョブ名及び論理和フラグ(請求項中のステータス情報に相当)に続いて、垂直位置、水平位置、描画範囲及びobj(オブジェクト)のコマンドを、オブジェクトの数の分だけ繰り返して有している。
【0035】
オーナー名は、クライアント端末14のユーザ名、ジョブ名は印刷ジョブの元となった印刷要求対象の原稿データのファイル名である。また、垂直位置は描画オブジェクトの垂直方向(Y座標軸方向)における始点の位置、水平位置は同じく水平方向(X座標軸方向)における始点の位置、描画範囲は描画オブジェクトの幅(X座標軸方向)及び高さ(Y座標軸方向)、objは、「○」や「△」、「□」、「曲線」等、原稿の画像を構成する描画オブジェクトのデータ(ラスタ又はベクタ)である。
【0036】
一方、論理和フラグは、objのコマンドに定義される描画オブジェクトの論理和描画の可否を示すフラグであり、論理和フラグ=1が論理和描画=可、論理和フラグ=0が論理和描画=否を意味する。
【0037】
ここで、描画オブジェクトの論理和描画について、
図3の説明図を参照して説明する。例えば、
図3(a)に示すように、黒ベタの縦長長方形であるオブジェクトAと、白抜き正三角形であるオブジェクトBとを重ねて構成される画像が、
図3(b)に示すようにオブジェクトA,Bの重なる部分が黒ベタとなる画像であるものとする。
【0038】
この場合、
図3(b)の画像は、オブジェクトAとオブジェクトBとの重なる部分が、論理和の計算上でどちらを先に描画しても黒ベタになり、画像の内容に変化が生じない。このため、
図3(b)の画像を描画する際のオブジェクトA,Bはどちらを先に描画処理してもよく、論理和描画が可であることになる。
【0039】
一方、オブジェクトAとオブジェクトBとを重ねて構成される画像が、
図3(c)に示すようにオブジェクトA,Bの重なる部分が白抜きとなる画像である場合、
図3(c)の画像は、オブジェクトAとオブジェクトBとの重なる部分が、オブジェクトBを先に描画処理すれば白抜きになるが、オブジェクトAを先に描画処理すると黒ベタになり、画像の内容に変化が生じる。このため、
図3(c)の画像は必ずオブジェクトAを先に描画処理しなければならず、この場合は論理和描画が否であることになる。
【0040】
論理和描画が可ならば、各オブジェクトA,Bの描画処理の順番が入れ替わっても
図3(b)の画像を描画することができる。一方、論理和描画が否であると、各オブジェクトA,Bの描画処理の順番が入れ替わることで
図3(c)の画像が描画できなくなる。
【0041】
そこで、本実施形態では、各オブジェクトA,Bの描画処理の順番が固定(入れ替え不可)であるか任意(入れ替え可)であるかを、
図2に示す印刷ジョブの論理和フラグのコマンドで示すようにしている。なお、論理和フラグは、論理和描画が可であるとき「1」、否であるとき「0」となる。
【0042】
なお、本実施形態では、原稿アプリケーションプログラムや帳票作成のアプリケーションプログラム等で生成した原稿データの印刷要求が入力された場合に、プリンタドライバ110が、原稿データの画像を構成する描画オブジェクトとその組み合わせ方の情報を、アプリケーションプログラムから取得する。
【0043】
この情報は、複数のオブジェクトを重ねて原稿データの画像を構成する場合に、どの順番でオブジェクトを重ね、一番手前にどのオブジェクトを配置するか等を表すもので、プリンタドライバ110が印刷ジョブを生成する際に、論理和フラグの内容を決定するのに利用される。
【0044】
(インクジェット記録装置の構成)
図1に示すように、インクジェット記録装置1は、原稿上の画像情報を印刷画像として読み取って画像信号を出力するスキャナ部101と、スキャナ部101から出力された画像信号に基づいて印刷用紙に印刷画像を印刷するプリンタ部102と、全体制御用の制御ユニット10とを備えている。プリンタ部102における印刷画像の印刷に使用する印刷用紙は、不図示の給紙部からプリンタ部102を介して不図示の排紙部に搬送される。
【0045】
制御ユニット10の外部インターフェイス部11には、ローカルエリアネットワークLANを介して、複数のクライアント端末14の外部インターフェイス部15(
図1中では、代表して1つのクライアント端末14についてのみ示している)がそれぞれ接続されている。制御ユニット10は各クライアント端末14から印刷画像の印刷ジョブを受け取る。
【0046】
制御ユニット10は、受け取った印刷ジョブにより印刷画像のラスタデータを生成する。そして、インクジェット記録装置1は、印刷ジョブの印刷設定情報において指定された条件で、印刷画像の印刷用紙への印刷をプリンタ部102において実行する。
【0047】
また、制御ユニット10にはディスプレイ80が接続されている。このディスプレイ80は、インクジェット記録装置1の上部に配置されている。このディスプレイ80は、インクジェット記録装置1のユーザインタフェースとして使用される。具体的には、例えば、スキャナ部101にセットした印刷画像を複写印刷する際の、複写枚数や複写倍率といった複写条件をユーザが入力する入力操作部等として、ディスプレイ80が利用される。
【0048】
上述したプリンタ部102に印刷動作を行わせるインクジェット記録装置1の制御ユニット10は、CPU90を備える。このCPU90は、ROM91に格納されているプログラム及び設定情報に基づいて、ディスプレイ80から入力設定される内容に応じたスキャナ部101やプリンタ部102の動作を制御する。
【0049】
なお、制御ユニット10にはRAM92が設けられており、RAM92には、クライアント端末14から制御ユニット10に入力された印刷ジョブや、ディスプレイ80から入力されたコピー時の印刷枚数や各種の設定内容等が随時記憶される。
【0050】
また、RAM92にはフレームメモリ領域が設けられている。このフレームメモリ領域には、クライアント端末14からの印刷ジョブやスキャナ部101からの画像信号によってCPU90が生成する印刷画像のラスタデータが、プリンタ部102に出力されるまでの間、一時的に記憶される。
【0051】
さらに、制御ユニット10には外部記憶装置93が設けられており、この外部記憶装置93はCPU90に接続されている。外部記憶装置93には、上述したRAM92から転送された印刷ジョブを記憶する複数の領域が設けられている。また、外部記憶装置93には、各種のテーブルやカウンタ等が記憶される。
【0052】
なお、本実施形態のCPU90は、
図4のブロック図に示すように、4つのCPUコア90a〜90d(請求項中の演算処理部に相当)を搭載したクアッドコアプロセッサで構成されている。CPU90への入力コマンドは、内部のバスインタフェース(I/F)90eに内蔵されたキャッシュメモリに、1つのCPUコア90a〜90dで処理するコマンド単位に分けて記憶され、各CPUコア90a〜90dに適宜振り分けられる。
【0053】
(印刷処理)
以下、クライアント端末14からの印刷ジョブが入力されるのに伴いインクジェット記録装置1の制御ユニット10が行う処理の手順について、
図5のフローチャートを参照して説明する。
【0054】
まず、
図5に示すように、クライアント端末14からの印刷ジョブが入力されると(ステップS1でYES)、制御ユニット10のCPU90のUI(ユーザインタフェース)制御を行っているCPUコア90a〜90dは、バスI/F90eを経て入力された印刷ジョブの論理和フラグが「1」であるか否かを確認する(ステップS3)。
【0055】
論理和フラグが「1」でない場合は(ステップS3でNO)、UI制御を行っているCPUコア90a〜90dは、印刷ジョブの各描画オブジェクトobj1,obj2,…のコマンドを、順番を変えずに1つのCPUコア90a〜90dで描画処理されるように、1つの描画処理単位としてバスI/F90eの内蔵キャッシュメモリにまとめて記憶させる(ステップS5)。
【0056】
一方、論理和フラグが「1」である場合は(ステップS3でYES)、UI制御を行っているCPUコア90a〜90dは、印刷ジョブの各描画オブジェクトobj1,obj2,…のコマンドを、個別のCPUコア90a〜90dで分散処理されるように、バスI/F90eの内蔵キャッシュメモリに各コマンドを1つの描画処理単位として記憶させる(ステップS7)。
【0057】
各描画オブジェクトobj1,obj2,…のコマンドをバスI/F90eの内蔵キャッシュメモリに記憶させたならば(ステップS5又はS7でYES)、UI制御を行っているCPUコア90a〜90dは、描画オブジェクトobj1,obj2,…の処理条件に適合するCPUコア90a〜90dが存在するか否かを確認する(ステップS9)。
【0058】
ここで、処理条件に適合するか否かは、例えば20%等の予め定めた基準値を使用率が下回っているか否かを目安に確認することができる。そして、処理条件に適合するCPUコア90a〜90dが存在しない場合は(ステップS9でNO)、ステップS9をリピートする。
【0059】
一方、処理条件に適合するCPUコア90a〜90dが存在する場合は(ステップS9でYES)、UI制御を行っているCPUコア90a〜90dは、キャッシュメモリの描画オブジェクトobj1,obj2,…のコマンドを古い記憶分から1つの描画処理単位ずつ読み出させ、処理条件に適合するCPUコア90a〜90dによって描画処理させる(ステップS11)。
【0060】
なお、ステップS9の確認において、使用率20%以下のCPUコア90a〜90dが複数存在する等、処理条件に適合するCPUコア90a〜90dが複数存在する場合は、ステップS11において、例えば、使用率が低いCPUコア90a〜90dに優先的に、描画オブジェクトobj1,obj2,…のコマンドを描画処理させてもよい。
【0061】
また、各CPUコア90a〜90dの動作クロックが異なる場合は、例えば、データ量が大きい描画オブジェクトobj1,obj2,…のコマンドを、動作クロックの高いCPUコア90a〜90dに優先的に描画処理させてもよい。
【0062】
そして、描画処理が済んでいない描画オブジェクトobj1,obj2,…のコマンドがキャッシュメモリに残っているか否かを確認し(ステップS13)、残っている場合は(ステップS13でYES)、ステップS9にリターンし、残っていない場合は(ステップS13でNO)、一連の処理を終了する。
【0063】
以上の説明からも明らかなように、本実施形態では、
図5のフローチャートにおけるステップS3が、請求項中の判断手段に対応する処理となっている。また、本実施形態では、
図5中のステップS5、ステップS7及びステップS11が、請求項中の制御手段に対応する処理となっている。
【0064】
このように構成された本実施形態のインクジェット記録装置1によれば、制御ユニット10のCPU90が、PDL(ページ記述言語)で記述された印刷ジョブの論理和フラグの内容から、印刷ジョブの各描画オブジェクトobj1,obj2,…の描画処理を個別のCPUコア90a〜90dによって並列して実行してよいかどうかを判断する。
【0065】
このため、印刷ジョブの描画オブジェクト同士が交差する(重なる)かどうかをイメージ上で判定するような解析を行うことでCPU90が大きな処理の負担を負わなくても、論理和描画が可である描画オブジェクトについては描画処理を複数のCPUコア90a〜90dに並列して実行させて、描画処理の高速化を図ることができる。
【0066】
(
参考例1)
なお、本実施形態では、印刷ジョブが、印刷ジョブの元となった印刷要求対象の原稿の画像を構成する描画オブジェクトobj1,obj2,…のコマンドを含んでいる場合について説明した。
【0067】
しかし、例えば
図6の説明図に示すように、印刷ジョブが、オーナー及びジョブ名に続けて、原稿の画像の1ライン分の圧縮されたラスタデータのコマンドである描画オブジェクトobjのコマンドと、その描画オブジェクトobjの画像上におけるラインの垂直方向における描画開始位置である垂直位置(Y座標軸方
向、描画オブジェクトの描画位置に相当)のコマンドを、描画オブジェクトの数の分だけ繰り返して有する内容であってもよい。
【0068】
そして、描画オブジェクトの垂直方向における描画開始位置が同じである垂直位置のコマンドが存在する場合は、描画処理順によって画像の内容が変わる可能性があるので、インクジェット記録装置1の制御ユニット10のCPU90は、
図2の印刷ジョブにおける論理和フラグが「0」であるときと同じく、論理和描画が否である場合の描画処理を行う。
【0069】
一方、描画オブジェクトの垂直方向における描画開始位置が同じである垂直位置のコマンドが存在しない場合は、描画処理順によって画像の内容が変わる可能性がないので、インクジェット記録装置1の制御ユニット10のCPU90は、
図2の印刷ジョブにおける論理和フラグが「1」であるときと同じく、論理和描画が可である場合の描画処理を行う。
【0070】
即ち、制御ユニット10のCPU90のUI制御を行っているCPUコア90a〜90dは、
図7のフローチャートに示すように、クライアント端末14からの印刷ジョブが入力されると(ステップS1でYES)、全描画オブジェクトobj1,obj2,…のコマンドについて、対応する垂直位置のコマンド(垂直位置1,垂直位置2,…)の内容が一致する、つまり、描画オブジェクトの垂直方向における描画開始位置が同じであるコマンドが存在するか否かを確認する(ステップS3′)。
【0071】
描画オブジェクトの垂直方向における描画開始位置が同じであるコマンドが存在する場合は(ステップS3′でYES)、UI制御を行っているCPUコア90a〜90dは、印刷ジョブの各描画オブジェクトobj1,obj2,…のコマンドを、順番を変えずに1つのCPUコア90a〜90dで描画処理されるように、1つの描画処理単位としてバスI/F90eの内蔵キャッシュメモリにまとめて記憶させる(ステップS5)。
【0072】
一方、描画オブジェクトの垂直方向における描画開始位置が同じであるコマンドが存在しない場合は(ステップS3′でNO)、UI制御を行っているCPUコア90a〜90dは、印刷ジョブの各描画オブジェクトobj1,obj2,…のコマンドを、個別のCPUコア90a〜90dで分散処理されるように、バスI/F90eの内蔵キャッシュメモリに各コマンドを1つの描画処理単位として記憶させる(ステップS7)。
【0073】
なお、以後の手順は、
図5のフローチャートに示すステップS9乃至ステップS13の手順と同じである。
【0074】
このように構成された
参考例1のインクジェット記録装置1によれば、制御ユニット10のCPU90が、PDL(ページ記述言語)で記述された印刷ジョブの各描画オブジェクトの描画位置の一致、不一致の内容から、印刷ジョブの各描画オブジェクトobj1,obj2,…の描画処理を個別のCPUコア90a〜90dによって並列して実行してよいかどうかを判断する。
【0075】
このため、先の実施形態のインクジェット記録装置1と同じく、印刷ジョブの各描画オブジェクトをCPU90がベクタデータからラスタデータに変換して描画オブジェクト同士の交差が存在するかどうかを判定するような解析を行って大きな処理の負担を負わなくても、論理和描画が可である描画オブジェクトについては描画処理を複数のCPUコア90a〜90dに並列して実行させて、描画処理の高速化を図ることができる。
【0076】
(
参考例2)
また、印刷ジョブがカラーの原稿画像に関するものである際、インク色によって印刷解像度が異なる場合は、
図8の説明図に示すように、PDL(ページ記述言語)で記述された印刷ジョブの同じ頁に描画する各色の描画オブジェクトについて、インク色と解像度のコマンドが加わる。
【0077】
そして、カラーの原稿画像に関する印刷ジョブについては、カラー画像を構成する描画オブジェクトであり描画処理の順番が変わっても、単一色の画像を複数の描画オブジェクトの組み合わせで構成する場合とは異なり、描画されるカラー画像の内容に不都合な変化が生じない。
【0078】
そこで、描画位置が同じ描画オブジェクトが存在する場合に、その描画オブジェクトがカラーの原稿画像の印刷ジョブに関するものであるか否かをインク色のコマンドの一致、不一致によって判別し、カラーの原稿画像に関する印刷ジョブであると判別した場合は、論理和描画を可である場合の描画処理を行うようにしてもよい。
【0079】
即ち、制御ユニット10のCPU90のUI制御を行っているCPUコア90a〜90dは、
図7のフローチャートのステップS3´において、描画オブジェクトの描画位置が同じであるコマンドが存在する場合(YES)に、
図9のフローチャートに示すように、描画位置が同じ描画オブジェクトのインク色のコマンドの内容から、入力された印刷ジョブがカラーの原稿画像に関するものであるか否かを確認する(ステップS4)。
【0080】
そして、UI制御を行っているCPUコア90a〜90dは、カラーの原稿画像に関するものでない場合は(ステップS4でNO)、処理をステップS5に移行し、カラーの原稿画像に関するものである場合は(ステップS4でYES)、処理をステップS7に移行する。ステップS5以後の手順については、
図5のフローチャートに示すステップS5乃至ステップS13の手順と同じである。
【0081】
このように構成された
参考例2のインクジェット記録装置1によれば、カラーの原稿画像に関する印刷ジョブについて、論理和描画できる各描画オブジェクトobj1,obj2,…の描画処理を個別のCPUコア90a〜90dによって並列して実行させる描画処理の高速化を、描画オブジェクトの解析による大きな処理の負担を負うことなく図ることができる。
【0082】
なお、ステップS9の確認において、動作クロックが異なる複数のCPUコア90a〜90dが処理条件に適合する場合に、ステップS11において、例えば、カラーの原稿画像を構成する描画位置が同じ各色の描画オブジェクトについて、解像度が高い色の描画オブジェクトobj1,obj2,…のコマンドを、動作クロックの高いCPUコア90a〜90dに優先的に描画処理させてもよい。
【0083】
また、
上述した実施形態では、CPU90が4つのCPUコア90a〜90dで構成される場合について説明したが、2つのCPUコア(デュアルコア)等、4つ以外の複数のCPUコアで1つのCPUが構成される場合にも、本発明は適用可能である。
【0084】
さらに、各CPUコアがインタフェースやキャッシュメモリ等を共有せずそれぞれ個別のチップで構成された複数のCPUによって請求項中の演算処理部をそれぞれ構成する場合にも、本発明は適用可能である。
【0085】
また、以上に説明した実施形態では、画像形成装置としてインクジェット記録装置1を用いた場合を例に取って説明した。しかし、本発明はインクジェット方式に限らず、電子写真方式等のインクジェット方式以外の方式によるプリンタを画像形成装置とする場合にも、広く適用することができる。