説明

画像処理装置

【課題】画像の描画を行うメモリの効率的な利用を可能とする。
【解決手段】コマンド解析部は、写真画像描画部による写真画像の描画中に、グラフィクス描画部に対する描画コマンドを取得した場合、グラフィクス画像の描画領域をチェックし、写真画像の描画中であるか否かを判定する。若し、写真画像の描画中でなければ、グラフィクス描画部にパラメータを設定してグラフィクス描画部を起動させる。一方、写真画像の描画中であれば、写真画像の描画領域と、グラフィクス画像の描画領域とが重なるか否かを判定する。両者の描画領域が重ならなければ、コマンド解析部は、グラフィクス描画部にパラメータを設定してグラフィクス描画部を起動させる。両者の描画領域が重なる場合は、写真画像の描画の終了を待って、グラフィクス描画部にパラメータを設定してグラフィクス描画部を起動させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置に用いて好適な画像処理装置に関する。
【背景技術】
【0002】
従来、ページプリンタなどの画像形成装置では、高解像度化と処理速度の高速化が要求されている一方で、画像処理を制御するCPU(Central Processing Unit)の性能のみではこの要求を満たすことが困難になっている。
【0003】
例えば、フルカラー印刷が可能なカラープリンタでは、自然画像などの写真画像を含むページを印刷する場合、写真画像のソースとなる画像データに対してCPUによりソフトウェア的に画像処理を施す。画像処理が施された画像データは、CPUによりバンドメモリに展開される。印刷解像度が高くなればなるほど、この写真画像に対する画像処理に時間を要するようになり、例えば印刷速度で規定される所定の時間内に画像処理を完了させるのが困難になる。
【0004】
これに対し、近年、半導体技術の発達などにより、CPU上で行われていた処理の一部を、ハードウェア上で実行することが可能となってきた。例えば、特許文献1や特許文献2には、写真画像の描画を行う描画部分をハードウェア化して、写真画像のソース画像に対する変倍処理やハーフトーン処理などを、水平ライン毎にパイプライン処理することで高速化を図った技術が記載されている。
【0005】
特許文献3には、CG(Computer Graphics)画像といったソフトウェアにより作成されたグラフィクス画像の描画を行う描画部分をハードウェア化して処理の高速化を図った技術が記載されている。また、特許文献4には、描画部分をハードウェア化すると共に、描画コマンド生成をCPUで行い、描画と描画コマンド生成とを並列処理することで、高速化を図った技術が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来技術による描画処理について、概略的に説明する。図16は、従来技術による描画処理の一例のタイミングを示す。一例として、例えばCPU上で動作するプログラムである描画コマンド解析部が、メインメモリから、写真画像の描画を指示する写真画像描画変倍実行コマンドを読み出し、さらに、グラフィクス画像の描画を指示するグラフィクス描画実行コマンド#1および#2を順次読み出すものとする。写真画像描画変倍実行コマンドは、写真画像のソース画像データの変倍処理や、色変換、階調処理を指示するコマンドを含む。
【0007】
SEQ500で、写真画像用の描画コマンドがメインメモリから読み出されて描画コマンド解析部で解析され、SEQ501で当該描画コマンドが写真画像描画変倍実行コマンドである旨の解析結果を得る。描画コマンド解析部は、解析されたコマンドに従い、例えばハードウェアで構成される写真画像処理部を設定する。写真画像処理部は、設定に従いSEQ502でソース画像をメインメモリから読み出して入力する(SEQ503)。そして、写真画像処理部は、入力されたソース画像に対して所定の画像処理、例えば色変換処理、拡大(変倍)処理、階調処理などを施す(SEQ504)。ソース画像データに対して画像処理が施された画像データは、例えばハードウェアで構成される写真画像描画部により、メインメモリ上に書き込まれ、描画される(SEQ505、SEQ506)。
【0008】
SEQ507で、グラフィクス描画実行コマンド#1がメインメモリから読み出されて描画コマンド解析部で解析され、SEQ508で当該描画コマンドがグラフィクス描画実行コマンドである旨の解析結果を得る。描画コマンド解析部は、解析されたコマンドに従い、例えばハードウェアで構成されるグラフィクス描画部を設定する。グラフィクス描画部は、設定に従いSEQ509でグラフィクス描画処理を行い、SEQ510でメインメモリに対してグラフィクス画像を描画する。
【0009】
次のグラフィクス描画実行コマンド#2についても同様に、SEQ511で描画コマンド解析部によりメインメモリからグラフィクス描画実行コマンド#2がが読み出されて解析され、SEQ512で当該描画コマンドがグラフィクス描画実行コマンド#2である旨の解析結果を得る。描画コマンド解析部は、解析されたコマンドに従いグラフィクス描画部を設定する。グラフィクス描画部は、設定に従いSEQ513でグラフィクス描画処理を行い、SEQ514でメインメモリに対してグラフィクス画像を描画する。
【0010】
グラフィクス描画は、例えばグラフィクス描画部においてレンダリング処理を行いながらメインメモリ対する書き出しを行う。例えば特許文献3では、SEQ510やSEQ514に示されるように、メモリアクセスがネックになる画像処理を行っている。
【0011】
一方、写真画像の描画処理においては、ソース画像データに対して所定の画像処理を行う必要がある。例えば特許文献1では、写真画像処理部における画像処理がネックとなり、SEQ502の終端からSEQ506の先頭までの期間として示される、画像処理を行っている期間は、メインメモリに対するアクセスが無く、メインメモリに対するアクセスに関して無駄があった。
【0012】
特に、階調処理後の画像をメモリ上に描画するシステムにおいては、写真画像処理部は、画像処理前のソース画像データを読み込み、読み込んだ画像データに対して色変換処理、変倍(拡大)処理、階調処理などを行い、ビット深度の小さい階調処理後の画像をメモリ上に描画する。そのため、メモリに対するアクセスが少ない一方で、画像処理の分量が多く、写真画像処理部の内部の画像処理がネックになり易い。
【0013】
本発明は、上記に鑑みてなされたものであって、画像の書き込みを行うメモリの効率的な利用を可能とすることを目的とする。
【課題を解決するための手段】
【0014】
上述した課題を解決し、目的を達成するために、本発明は、画像が書き込まれる記憶手段と、画像処理手段で画像処理を施されたソース画像を記憶手段に対して書き込む第1の描画手段と、画像を生成して記憶手段に対して書き込む第2の描画手段と、ページ描画命令を解析して、第1の描画手段に対して画像の書き込みを命令する第1の描画命令を取得した場合に、第1の描画命令に従い第1の描画手段を制御し、第2の描画手段に対して画像の書き込みを命令する第2の描画命令を取得した場合に、第2の描画命令に従い第2の描画手段を制御する解析手段とを有し、解析手段は、第1の描画手段および第2の描画手段のうち一方の描画手段による、記憶手段の第1の描画領域に対する画像の書き込み中に、第1の描画手段および第2の描画手段のうち他方の描画手段に対する描画命令を取得した場合、他方の描画手段が描画命令に従い記憶手段に対して画像の書き込みを行う第2の描画領域が第1の描画領域と重なるか否かの判定を行い、重ならないと判定した場合に、他方の描画手段による記憶手段に対する画像の書き込みを行うための書き込み処理を開始するように制御することを特徴とする。
【発明の効果】
【0015】
本発明によれば、画像の書き込みを行うメモリの効率的な利用が可能となるという効果を奏する。
【図面の簡単な説明】
【0016】
【図1】図1は、実施形態を適用可能な画像形成装置の機構部の構成例を示す略線図である。
【図2】図2は、電装・制御装置の一例の構成を示すブロック図である。
【図3】図3は、実施形態に適用可能な画像形成装置による印刷処理の流れを概略的に説明するための略線図である。
【図4】図4は、描画部の一例の構成を示すブロック図である。
【図5】図5は、描画ハードパラメータ設定コマンドの例を示す略線図である。
【図6】図6は、グラフィクス描画コマンドの例を示す略線図である。
【図7】図7は、写真画像描画コマンドの例を示す略線図である。
【図8】図8は、三角形の描画領域を説明するための略線図である。
【図9】図9は、写真画像描画部の一例の構成を示すブロック図である。
【図10】図10は、グラフィクス描画部の一例の構成を示すブロック図である。
【図11】図11は、水平ライン描画部の一例の構成を示すブロック図である。
【図12】図12は、実施形態によるコマンド解析部の一例の処理を示すフローチャートである。
【図13】図13は、グラフィクス描画パラメータの設定処理の例を示すフローチャートである。
【図14】図14は、写真画像描画パラメータの設定処理の例を示すフローチャートである。
【図15】図15は、実施形態による描画処理の一例のタイミングを示すタイミングチャートである。
【図16】図16は、従来技術による描画処理の一例のタイミングを示すタイミングチャートである。
【発明を実施するための形態】
【0017】
以下に添付図面を参照して、画像処理装置の実施形態を詳細に説明する。図1は、本実施形態を適用可能な画像形成装置の機構部の構成例を示す。画像形成装置において、像担持体であるベルト状の感光体1は、回転ローラ2および3により回動可能に支持され、各回転ローラ2および3の駆動により矢示A方向に回動される。感光体1の外周部には、帯電手段である帯電装置4、除電ランプL、感光体1用のクリーニングブレード15Aが配置されている。帯電装置4の下流位置には、光書込手段であるレーザ書き込みユニット5より発せられるレーザ光が照射される光書き込み部が設けられる。
【0018】
光書き込み部より下流位置には、複数の現像ユニットが切り換え自在に支持された多色現像装置6が配置されている。多色現像装置6は、収容するトナーの色毎に、イエロー現像ユニット、マゼンダ現像ユニット、シアン現像ユニットを備えている。多色現像装置6の上部には、黒色トナーを収容したブラック現像ユニット7が備えられている。
【0019】
これらの各現像ユニットの何れか1つが対応する色の現像タイミングに同期し、現像可能な位置に移動する。多色現像装置6は、円周上120度の回転によって何れかの現像ユニットを選択する機能を有している。そして、これらの現像ユニットが稼動するときには、ブラック現像ユニット7は感光体1より離間した位置に移動する。その移動は、カム45の回転により行なわれる。
【0020】
レーザ書き込みユニット5は、図示しないレーザ光源から複数色の画像形成信号(書き込み情報)に応じたレーザ光を順次発生させ、ポリゴンモータ5Aによって回転されるポリゴンミラー5Bを用いてそのレーザ光を周期的に偏向させ、fθレンズ5C及びミラー5Dなどを経て、帯電された感光体1の表面を走査してその表面に静電潜像を形成させる。
【0021】
感光体1の表面に形成される静電潜像は、対応する現像ユニットからのトナーによって現像され、トナー画像が形成・保持される。中間転写ベルト21は、感光体1に隣接しており、回転ローラ11、12により矢示B方向に回動可能に支持されている。感光体1上のトナー画像は、中間転写ベルト21の裏側にある転写ブラシ13により、その中間転写ベルト21の表面に転写される。
【0022】
感光体1の表面は、各色毎にクリーニングブレード15Aによりクリーニングされ、その表面に所定色のトナー画像が形成される。そして、その都度中間転写ベルト21の1回動毎にその表面の同じ位置に感光体1上のトナー画像が転写されて、中間転写ベルト21上に複数色のトナー画像が重ね合わせられて保持される。その後、そのトナー画像は、用紙やプラスチックなどの印刷媒体に転写される。
【0023】
印刷媒体への転写に際しては、給紙装置(給紙カセット)17に収納されている用紙が給紙ローラ18によって繰り出されて搬送ローラ19により搬送され、レジストローラ対20に付き当てられた状態で一旦停止された後、トナー画像の転写位置が正規のものとなるようにタイミングがとられて中間転写ベルト21と転写ローラ14のニップに再搬送される。
【0024】
そして、その用紙は転写ローラ14の作用により中間転写ベルト21上の複数色のトナー画像が一括転写された後、定着装置50に送られ、そこでトナー像が定着された後、排紙ローラ対51により本体フレーム9の上部の排紙スタック部52に排出される。
【0025】
中間転写ベルト21には、回転ローラ11の部位に中間転写ベルト21用のクリーニング装置16が設けられ、クリーニングブレード16Aがクリーニングブレード接離用アーム16Cを介して接離自在の構成となっている。このクリーニングブレード16Aは、感光体1からトナー画像を受け取る工程では、中間転写ベルト21から離れ、中間転写ベルト21より用紙にトナー画像が転写された後に接触するようになっていて、用紙にトナー画像が転写された後の残留トナーをかきとる。
【0026】
クリーニングブレードは、すでに記したように、感光体1用と中間転写ベルト21用がある。これらブレードがかきとった廃トナーは、回収容器15に収納する。その回収容器15は適宜交換される。中間転写ベルト21用のクリーニング装置16の内部に設けられたオーガ16Bが、クリーニングブレード16Aでかきとられた廃トナーを搬送し、図示しない搬送手段で回収容器15に送るようになっている。
【0027】
ユニット化されたプロセスカートリッジ31は、感光体1、帯電装置4、中間転写ベルト21、クリーニング装置16、用紙搬送路を形成する搬送ガイド30などを一体に組み込み、寿命到来時に交換できるように構成されている。プロセスカートリッジ31の交換のほかに、多色現像装置6、ブラック現像ユニット7なども寿命到来時に交換するが、その交換性やジャム紙の処理を容易にするため、本体の一部の前フレーム8は支軸9Aを中心に開閉可能に回動できる構造にしてある。
【0028】
図1の左側には、電装・制御装置60が収納されている。その上方には、ファン58が備えられており、機内の温度過昇防止のために排風する。図の右側には、比較的小規模な別の給紙装置59が備えられている。なお、この実施形態では、中間転写体として中間転写ベルト21を使用したが、中間転写ドラムを使用することもできる。
【0029】
図2は、上述の電装・制御装置60の一例の構成を示す。電装・制御装置60において、メモリアービタ63に対してCPU I/F62を介してCPU(Central Processing Unit)61が接続されると共に、ローカルI/F68を介してROM(Read Only Memory)69およびパネルコントローラ70が接続される。メモリアービタ63に対して、さらに、メモリコントローラ64を介してメインメモリ72が接続されると共に、描画部65、エンジンコントローラ66および通信コントローラ67が接続される。エンジンコントローラ66には、プリンタエンジン74が接続される。
【0030】
メモリアービタ63は、接続された各部間におけるデータ転送の調停を行う。CPU I/F62は、CPU61とメモリアービタ63との間のインターフェイスであって、CPU61は、CPU I/F62およびメモリアービタ63を介して、電装・制御装置60の各部と接続される。ローカルI/F68は、ROM69およびパネルコントローラ70とメモリアービタ63との間のインターフェイスである。パネルコントローラ70は、ユーザ操作を行うために操作子や表示部が設けられたパネル73が接続される。
【0031】
ROM69は、各種プログラムや文字などのフォント情報が予め記憶されている。CPU61は、ROM69に予め記憶されたプログラムに従い、 図示されないRAM(Random Access Memory)をワークメモリとして用いて、この電装・制御装置60内の動作を制御する。ワークメモリとしてメインメモリ72利用することも可能である。また、CPU61は、エンジンコントローラ66に対して、プリンタエンジン74を制御するための命令を出す。通信コントローラ67は、ネットワークを介して接続される、パーソナルコンピュータ(PC)75といった外部機器との間の通信を制御する。
【0032】
メモリコントローラ64は、メインメモリ72が接続され、メモリアービタ63を介してなされるメインメモリ72に対するアクセスの制御を行う。メインメモリ72は、例えばPDL記憶領域、描画コマンド記憶領域、ソース画像記憶領域、バンド記憶領域およびページ符号記憶領域を含む。PDL記憶領域は、例えばPC75から転送されたPDL(Page Description Language)が格納される。描画コマンド記憶領域は、PDLに基づき生成された描画コマンドが格納される。ソース画像記憶領域は、写真画像のソース画像が格納される。バンド記憶領域は、PDLに従い生成されたバンドデータが格納される。また、ページ符号記憶領域は、符号化されたバンドデータが格納される。さらに、メインメモリ72には、CPUが動作するためのプログラムなどが格納される領域も設けられる。
【0033】
描画部65は、CPU61によりPDLデータに基づき生成された中間言語を読み込んで解析し、解析結果に従い、メインメモリ72のバンド記憶領域に対してバンド画像を書き込む描画処理を行う。例えば、メインメモリ72から、描画部65により描画されたバンド画像が読み出されてメモリコントローラ64およびメモリアービタ63を介してエンジンコントローラ66に供給される。エンジンコントローラ66が、供給されたバンド画像に従いプリンタエンジン74を制御することで、印刷媒体に対する印刷がなされる。
【0034】
図3を用いて、実施形態に適用可能な画像形成装置による印刷処理の流れを概略的に説明する。例えば、PC75において、ページ毎の印刷画像データおよび描画コマンドを含むPDLデータが、アプリケーションソフトウェアなどを用いて生成される。このPDLデータは、例えばネットワークを介して画像形成装置の電送・制御装置60に送信される。電装・制御装置60において、PDLデータが通信コントローラ67により受信され、メインメモリ72の所定領域であるPDL記憶部72aに記憶される。
【0035】
PDL記憶部72aに記憶されたPDLデータは、例えばCPU61上で動作するプログラムである描画コマンド生成部80に読み出される。描画コマンド生成部80は、読み出したPDLデータを解析して描画コマンドを生成する。描画コマンドは、メインメモリ72のハードウェア描画用コマンド領域(以下、ハード描画コマンド領域)である描画コマンド記憶部72bに格納される。
【0036】
描画部65は、描画コマンド記憶部72bに格納されるハードウェア描画用の描画コマンドに従い、メインメモリ72のバンドメモリ格納領域であるページ記憶部72cに対してバンド単位で画像を書き込み描画を行う。この描画部65が行う描画には、ソース画像データに所定の画像処理を施した画像(写真画像と呼ぶ)の描画を行う第1の描画処理と、プログラムなどにより生成された画像(グラフィクス画像と呼ぶ)の描画を行う第2の描画処理とが含まれる。
【0037】
なお、ハードウェア描画用の描画コマンドは、例えば、CPU61に対して独立したハードウェアである描画部65に適応した描画コマンドである。以下、特に記載のない限り、描画コマンドはハードウェア描画用の描画コマンドであるものとする。
【0038】
ページ記憶部72cに対して、描画された画像データの1ページ分が格納される。ページ記憶部72cから描画された画像データが読み出され、プリンタエンジン74の制御に同期して供給され、印刷媒体に対する印刷が行われる。
【0039】
図4は、描画部65の一例の構成を示す。描画部65は、メモリアービタI/F100と、コマンド解析部101と、写真画像描画部102と、グラフィクス描画部103と、コントローラ104とを含む。コントローラ104は、例えばマイクロプロセッサやROMを含み、ROMに予め記憶されたプログラムに従いマイクロプロセッサが動作して、この描画部65の全体を制御する。
【0040】
メモリアービタI/F100は、コマンド解析部101、写真画像描画部102およびグラフィクス描画部103と、メモリアービタ63との間のインターフェイスである。
【0041】
コマンド解析部101は、メインメモリ72における描画コマンド記憶領域内のハード描画コマンド領域から描画コマンドを読み込み、読み込んだ描画コマンドを解析し、各種コマンドを取得する。解析の結果、当該描画コマンドが描画ハードウェアパラメータ設定コマンドである場合、当該コマンドに含まれるパラメータを、写真画像描画部102およびグラフィクス描画部103に対して転送する。その後、コマンド解析部101し、メインメモリ72から次の描画コマンドを読み込む。
【0042】
また、描画コマンドの解析の結果、当該描画コマンドが写真画像を描画する写真描画コマンドである場合、コマンド解析部101は、当該コマンドに含まれる描画パラメータを写真画像描画部102に転送し、その後、写真画像描画部102に写真描画用の起動信号を転送する。さらにその後、コマンド解析部101は、写真画像描画部102から送信された、写真画像の描画終了を示す終了信号を確認すると、次の描画コマンドを読み込む。
【0043】
さらに、描画コマンドの解析の結果、当該描画コマンドがグラフィクス画像を描画するグラフィクス描画コマンドである場合、コマンド解析部101は、当該コマンドに含まれる描画パラメータをグラフィクス描画部103に転送し、その後、グラフィクス描画部103にグラフィクス描画用の起動信号を転送する。さらにその後、コマンド解析部101は、グラフィクス描画部103から送信されたグラフィクス画像の描画終了を示す終了信号を確認すると、次の描画コマンドを読み込む。
【0044】
写真画像描画部102は、コマンド解析部101から転送された、写真画像を描画するための描画パラメータを受信して設定し、その後コマンド解析部101から転送された起動信号に応じて写真画像の描画処理を起動する。写真画像描画部102は、写真画像の描画が終了すると、その旨を示す終了信号をコマンド解析部101に送信する。
【0045】
グラフィクス画像描画部103は、コマンド解析部101から転送された、グラフィクス画像を描画するための描画パラメータを受信して設定し、その後コマンド解析部101から転送された起動信号に応じてグラフィクス画像の描画処理を起動する。グラフィクス画像描画部103は、グラフィクス画像の描画が終了すると、その旨を示す終了信号をコマンド解析部101に送信する。
【0046】
図5〜図7は、描画コマンドに含まれる各コマンドのフォーマット例を示す。描画コマンドは、図5に示す描画を行うハードウェアに対する設定を行う描画ハードパラメータ設定コマンドと、図6に示すグラフィクス画像を描画するためのグラフィクス描画コマンドと、図7に示す写真画像を描画する写真画像描画コマンドとに分けることができる。なお、この例では、各コマンドは、32ビットのデータ長を有するワード単位で定義される。
【0047】
図5は、描画ハードパラメータ設定コマンドの例を示す。図5(a)は、バンド初期化コマンドの例を示す。バンド初期化コマンドは、描画処理全体に関わるパラメータである全体設定パラメータを設定するコマンドであって、コマンド名が示されるヘッダに続けて、バンド先頭アドレス、バンド高さおよびバンド幅をパラメータとして定義する。コマンド解析部101は、このコマンドを受け取ると、各パラメータを写真画像描画部102のバンドパラメータ記憶部115(図9参照)と、グラフィクス描画部103のバンドパラメータ記憶部152(図10参照)とにそれぞれ格納する。
【0048】
図5(b)および図5(c)は、グラフィクス描画部103に対する設定を行うグラフィクス描画設定コマンドの例を示す。図5(b)は、グラフィクス画像描画用描画階調定義コマンドであり、コマンド名が示されるヘッダに続けて、グラフィクス画像の描画の際の描画階調をパラメータとして定義する。コマンド解析部101は、このコマンドを受け取ると、描画か移調値をグラフィクス描画部103に含まれる描画パラメータ記憶部154(図10参照)に格納する。
【0049】
図5(c)は、グラフィクス画像描画用ハーフトンパラメータ設定コマンドであり、コマンド名が示されるヘッダに続けて、グラフィクス画像に関するディザの(X,Y)サイズと、ハーフトンの閾値先頭アドレスをパラメータとして定義する。コマンド解析部101は、このコマンドを受け取ると、閾値先頭アドレスをDMAアドレス設定部110(図9参照)に設定して、DMAアドレス設定部110を起動する。これにより、メインメモリ72の描画コマンド記憶領域の指定されたアドレスから、グラフィクス画像描画用ハーフトン閾値を順次読み込み、閾値マトリクス記憶部153(図10参照)に記憶する。
【0050】
図5(d)は、写真画像描画用ハーフトンパラメータ設定コマンドであり、コマンド名が示されるヘッダに続けて、写真画像に関するディザの(X,Y)サイズと、ハーフトンの閾値先頭アドレスをパラメータとして定義する。コマンド解析部101は、このコマンドを受け取ると、DMAアドレス生成部110(図9参照)に閾値先頭アドレスを設定し、DMAアドレス生成部110を起動する。これにより、メインメモリ72の描画コマンド記憶領域の指定されたアドレスから、写真画像描画用ハーフトン閾値を順次読み込み、閾値マトリクス記憶部117(図9参照)に記憶する。また、ディザX,YサイズをディザX,Yサイズ記憶部116(図9参照)に記憶する。
【0051】
図5(e)は、写真画像描画用色変換パラメータ設定コマンドであり、コマンド名が示されるヘッダに続けて、色変換演算処理フラグと、格子点先頭アドレスと、ガンマテーブル先頭アドレスとがパラメータとして定義される。図5(f)は、コマンド名が示されるヘッダのみからなるバンド終了コマンドであり、定義したバンドの描画の終了を示す。コマンド解析部101は、このバンド終了コマンドを受け取ると、そのバンドの処理を終了する。
【0052】
図6(a)は、四角形のグラフィクス画像を描画するグラフィクス画像描画用四角形描画コマンドであり、コマンド名が示されるヘッダに続けて、四角形の左上頂点のX座標およびY座標と、四角形の右下頂点のX座標およびY座標とがパラメータとして定義される。コマンド解析部101は、このコマンドを受け取ると、左上頂点のX座標およびY座標と、右下頂点のX座標およびY座標と、コマンド名とをグラフィクス描画部103に含まれる描画パラメータ記憶部154(図10参照)に格納し、グラフィクス描画部103を起動させる。
【0053】
図6(b)は、三角形のグラフィクスを描画するグラフィクス画像描画用三角形描画コマンドの例である。本実施形態では、図8に例示されるように、三角形の描画領域を、三角形の3の端点(頂点)#1、#2および#3に外接する四角形の座標で表す。すなわち、グラフィクス画像描画用三角形描画コマンドは、図6(b)に例示されるように、コマンド名が示されるヘッダに続けて、端点#1、#2および#3それぞれのX座標およびY座標がパラメータとして定義される。コマンド解析部101は、このコマンドを受け取ると、これら三角形の各頂点のX,Y座標とコマンド名とをグラフィクス描画部103に含まれる描画パラメータ記憶部154(図10参照)に格納し、グラフィクス描画部103を起動させる。
【0054】
図7は、写真画像を描画する写真画像描画用変倍実行コマンドである。このコマンドでは、写真画像(ソース画像)に対する拡大/縮小といった変倍処理を定義できる。写真画像描画用変倍実行コマンドでは、コマンド名が示されるヘッダに続けて、描画を行う版を示す描画版と、ソース画像および変倍後のDIS画像それぞれのX幅およびY幅がパラメータとして定義されると共に、DIS画像の描画を行うX座標およびY座標が定義される。さらに、当該コマンドにおいて、ソース画像の先頭アドレスがパラメータとして定義される。コマンド解析部101は、このコマンドを受け取ると、各パラメータを写真画像描画部102に含まれる変倍パラメータ記憶部118(図9参照)に格納し、写真画像描画部102を起動させる。
【0055】
図9は、写真画像描画部102の一例の構成を示す。写真画像描画部101において、DMAアドレス生成部110は、コマンド解析部101から各DMAの先頭アドレスを受け取りDMAアドレスを生成し、DMA読み込み部111へ転送する。DMA読み込み部111は、DMAアドレス生成部110からDMAの先頭アドレスを受け取り、受け取ったDMAの先頭アドレスに従いメモリアービタI/F100を介して、メインメモリ72から各データを読み込む。そして、読み込んだ各データを、ガンマテーブル記憶部112、格子点データ記憶部113および閾値マトリクス記憶部117にそれぞれ記憶させる。
【0056】
ガンマテーブル記憶部112は、DMA読み込み部111でメインメモリ72から読み込まれた写真画像用のガンマテーブルのデータを記憶する。格子点データ記憶部113は、DMA読み込み部111でメインメモリ72から読み込まれた写真画像用の格子点のデータを記憶する。閾値マトリクス記憶部117は、DMA読み込み部111でメインメモリ72から読み込まれた閾値マトリクスのデータを記憶する。
【0057】
変倍パラメータ記憶部118は、コマンド解析部101から送られた写真画像用の変倍パラメータを記憶する。色変換パラメータ記憶部114は、コマンド解析部101から送られた写真画像用色の変換パラメータを記憶する。バンドパラメータ記憶部115は、コマンド解析部101から送られたバンドパラメータを記憶する。ディザX,Yサイズ記憶部116は、コマンド解析部101から送られた写真画像用のディザX,Yサイズを記憶する。
【0058】
ソース画像読み込み部120は、メモリアービタI/F100を介して、メインメモリ72のソース画像記憶領域からソース画像を読み込み、入力ライン記憶部126に転送する。入力ライン記憶部126は、ソース画像読み込み部120から1ライン分のソース画像を受け取り記憶する。ソース画像アドレス生成部121は、メインメモリ72のソース画像記憶領域からソース画像を読み込み為のアドレスを生成する。
【0059】
色変換処理部122は、入力ライン記憶部126からRGB画像データを受け取り、RGB/CMYの色変換処理と、BG/UCR処理とを行い、生成された多値CMYKデータを多値CMYKライン記憶部123へ転送する。多値CMYKライン記憶部123は、色変換処理部122が生成した水平ラインの多値CMYKデータを記憶する。このライン単位の画像データを記憶することにより、垂直方向に変倍する場合に再度、同一ラインを演算する必要が無い。
【0060】
変倍処理部124は、多値CMYKライン記憶部123から順次、多値CMYKデータを読み込み、水平/垂直方向に指定された変倍率で変倍処理(例えば拡大処理)を行う。変倍処理部124は、変倍処理を施した多値CMYKデータを階調処理部125に転送する。
【0061】
階調処理部125は、閾値マトリクス記憶部117から閾値マトリクスを読み込む。そして、変倍処理部124から受け取った、変倍処理後の多値CMYKデータに対して閾値マトリクスに基づき階調処理を実行する。例えば、階調処理部125は、多値CMYKデータの階調を制限する階調処理を行う。この場合、多値CMYKデータのデータ量が、階調処理後には階調処理前に対して少なくなる。階調処理部125は、階調処理を施した多値CMYKデータを、メインメモリ72のワード単位で、画像処理後画像書き込み部131を転送する。
【0062】
画像処理後画像書き込み部131は、階調処理部125から転送された多値CMYKデータを、メモリアービタI/F100を介してメインメモリ72のバンド記憶領域における写真画像領域へ書き込む。画像処理後画像アドレス生成部130は、メインメモリ72のバンド記憶領域における写真画像領域のアドレス演算を行う。
【0063】
コントローラ140は、例えばマイクロプロセッサやROMを有し、ROMに予め記憶されたプログラムに従い写真画像描画部102を制御する。例えば、コントローラ140は、コマンド解析部101から送信された起動信号により写真画像描画部102による処理を開始する。また、コントローラ140は、描画終了時には、描画終了信号をコマンド解析部101に送信する。
【0064】
図10は、グラフィクス描画部103の一例の構成を示す。DMAアドレス生成部150は、コマンド解析部101から各DMAの先頭アドレスを受け取りDMAアドレスを生成し、DMA読み込み部151に転送する。DMA読み込み部151は、DMAアドレス生成部150からDMAの先頭アドレスを受け取り、受け取ったDMAの先頭アドレスに従いメモリアービターI/F100を介して、メインメモリ72からブラフィクス用の閾値マトリクスを読み込み、読み込んだデータを閾値マトリクス記憶部153に記憶させる。
【0065】
描画パラメータ記憶部154は、コマンド解析部101から送られたグラフィクス画像描画用の描画パラメータを記憶する。バンドパラメータ記憶部152は、コマンド解析部101から送られたバンドパラメータを記憶する。
【0066】
水平ライン変換部155は、描画パラメータ記憶部154に記憶からグラフィックス描画用の描画パラメータを読み出し、当該パラメータを水平ラインY値、水平ライン始点値および水兵ライン終点値の各水平ラインデータに変換して水平ライン描画部156へ転送する。水平ライン描画部156は、水平ライン変換部155から転送された各水平ラインデータに基づき、メモリアービターI/F100を介してメインメモリ72のバンド記憶領域に対して水平ラインの描画処理を行う。
【0067】
コントローラ157は、例えばマイクロプロセッサやROMを有し、ROMに予め記憶されたプログラムに従いグラフィクス描画部103を制御する。例えば、コントローラ157は、コマンド解析部101から送信された起動信号によりグラフィクス画像描画部103による処理を開始する。また、コントローラ157は、描画終了時には、描画終了信号をコマンド解析部101に送信する。
【0068】
図11は、水平ライン描画部156の一例の構成を示す。ハーフトンパターンアドレス生成部221は、水平ラインY値とハーフトンパターンY幅とから、(水平ラインY値 MOD ハーフトンパターンY幅)の除算を行い、除算の剰余であるハーフトンパターンのY値を求める。ハーフトンパターンアドレス生成部221は、このハーフトンパターンのY値を、ハーフトンパターンアドレスとしてハーフトンパターン記憶部227へ転送する。
【0069】
ハーフトンパターン記憶部227は、ハーフトンパターン値の、描画ワードの水平ラインのハーフトンパターンY幅分を記憶する。ハーフトンパターンアドレス生成部221から転送されるハーフトンパターンアドレスに従いアクセスされたハーフトンパターン値を、巡回シフト部228に転送する。
【0070】
X始点ワード値生成部222は、水平ライン変換部155から転送された水平ラインX始点値から、描画ワード単位の描画ワードX始点値を求め、描画ワードX値生成部224に転送する。X終点ワード値生成部223は、水平ライン変換部155から転送された水平ラインX終点値から、描画ワード単位の描画ワードX終点値を求め、描画ワードX値生成部224に転送する。
【0071】
描画ワードX値生成部224は、X始点ワード値生成部222およびX終点ワード値生成部223からそれぞれ転送された、描画ワード単位のX始点値からX終点値の描画ワードX値を生成し、ハーフトンパターンシフト値生成部226に転送する。
【0072】
ハーフトンパターンシフト値生成部226は、描画ワードX値生成部224から転送された描画ワードX値と、ハーフトンパターンX幅とから(描画ワードX値 MOD ハーフトンパターンX幅)の除算を行い、除算の剰余であるハーフトンパターンのX値を求める。このハーフトンパターンのX値を、ハーフトンパターンシフト値として巡回シフト部228に転送する。
【0073】
巡回シフト部228は、のハーフトンパターン記憶部227、ハーフトンパターンシフト値生成部226および描画パラメータ記憶部154から、それぞれ、ハーフトンパターン値、ハーフトンパターンシフト値およびハーフトンパターン剰余値を受け取る。巡回シフト回路228は、ハーフトンパターン値を巡回シフトし、巡回シフト後のハーフトンパターン値を論理演算部229の第1入力端に入力する。
【0074】
描画マスク生成部225は、水平ラインX始点値と水平ラインX終点値とから、描画ワード毎のX始点からX終点までの描画マスクを生成し、描画マスク値を論理演算部229の第2入力端に入力する。
【0075】
論理演算部229は、第1入力端および第2入力端の入力に対して論理積演算を行う。すなわち、論理演算部229は、巡回シフト部228から入力された巡回シフト後のハーフトンパターン値と、描画マスク生成部225から入力された描画マスク値に対して論理積演算を行って描画パターン値を生成する。この描画パターン値は、メモリアービターI/F100に対して転送される。
【0076】
描画アドレス生成部230は、水平ラインY値と水平ラインX始点値とから、メインメモリ72におけるバンド記憶領域に対して描画を行うアドレスである描画アドレスを生成する。生成された描画アドレスは、メモリアービターI/F100に転送される。
【0077】
ハーフトンパターン生成部231は、後述するグラフィックス用描画階調値定義コマンドを受け取った後に起動する。ハーフトンパターン生成部231は、閾値マトリクス記憶部153の指定されたハーフトン閾値アドレスから閾値を読み込む。そして、読み込んだ閾値と、描画パラメータ記憶部154から受け取った描画階調値とに従いで階調処理を行い、生成されたハーフトンパターン値をハーフトンパターン記憶部227に格納する。
【0078】
ハーフトン閾値アドレス生成部232は、後述するグラフィックス用描画階調値定義コマンドを受け取った後に起動する。ハーフトン閾値アドレス生成部232は、閾値マトリクス記憶部153の指定されたハーフトン閾値アドレスから順次アドレスを生成する。
【0079】
コントローラ233は、例えばマイクロプロセッサやROMを有し、ROMに予め記憶されたプログラムに従い、水平ライン描画部156の全体の動作を制御する。
【0080】
図12は、本実施形態によるコマンド解析部101の一例の処理を示すフローチャートである。コマンド解析部101は、描画コマンドの解析を行う。また、コマンド解析部101は、描画コマンドの解析結果に従い写真画像描画部102およびグラフィクス描画部103の起動を制御する制御部としての機能も有する。
【0081】
コマンド解析部101は、ステップS100でメインメモリ72の描画コマンド記憶領域から描画コマンドを読み込む。そして、次のステップS101、ステップS110、ステップS120、ステップS130およびステップS140で、読み込んだ描画コマンドの種類を判定する。
【0082】
コマンド解析部101は、ステップS100で描画コマンドを読み込んだら、処理をステップS101に移行させ、読み込んだ描画コマンドがグラフィクス画像の描画を指示するグラフィクス描画コマンドであるか否かを判定する。若し、グラフィクス描画コマンドであると判定した場合、処理をステップS102に移行させ、現在、グラフィクス描画部103においてグラフィクス画像の描画が行われているか否かを判定する。若し、描画が行われていないと判定した場合、処理を後述するステップS104に移行させる。
【0083】
一方、コマンド解析部101は、ステップS102で、グラフィクス描画部103において現在グラフィクス画像の描画が行われていると判定した場合、処理をステップS103に移行させ、グラフィクス描画部103において現在行われているグラフィクス画像の描画が終了するのを待機する。これは、グラフィクス描画部103において描画処理中は、再度、グラフィクス描画部103を起動できないからである。コマンド解析部101は、グラフィクス描画部103から描画の終了を示す終了信号が転送された場合に、グラフィクス描画部103における描画が終了したと判定し、処理をステップS104に移行させる。
【0084】
ステップS104で、コマンド解析部101は、ステップS100で読み込まれた描画コマンドに基づき、グラフィクス画像の描画領域をチェックする。読み込まれた描画コマンドが図6(a)に示した四角形のグラフィクスを描画する描画コマンドであれば、左上頂点のX座標およびY座標と、右下頂点のX座標およびY座標とで定義される領域が描画領域とされる。一方、描画コマンドが図6(b)に示した三角形のグラフィクスを描画する描画コマンドであれば、端点#1、#2および#3それぞれのX座標およびY座標により定義される、三角形の頂点に外接する四角形の領域が描画領域とされる。
【0085】
処理はステップS105に移行され、コマンド解析部101は、写真画像描画部102において写真画像の描画が行われているか否かを判定する。若し、描画が行われていないと判定した場合、処理を後述するステップS108に移行させる。
【0086】
一方、コマンド解析部101は、ステップS105で現在写真画像描画部102で写真画像の描画が行われていると判定した場合、処理をステップS106に移行させる。コマンド解析部101は、ステップS106で、現在写真描画部で描画されている写真画像の描画領域と、ステップS104でチェックされたグラフィクス画像の描画領域とを比較し、これら写真画像の描画領域と、グラフィクス画像の描画領域とが重なるか否かを判定する。
【0087】
なお、写真画像の描画領域は、例えば、写真画像を描画する際に読み取った写真画像描画の描画コマンド(図7参照)に含まれる、DIS画像X幅およびDIS画像Y幅、ならびに、描画X座標および描画Y座標に基づき求めることができる。
【0088】
コマンド解析部101は、ステップS106で、若し、写真画像の描画領域とグラフィクス画像の描画領域とが重ならないと判定した場合、処理を後述するステップS108に移行させる。
【0089】
一方、コマンド解析部101は、ステップS106で、写真画像の描画領域とグラフィクス画像の描画領域とが重なると判定した場合、処理をステップS107に移行させ、描画順序を守るために、写真画像描画部102において現在行われている写真画像の描画が終了するのを待機する。コマンド解析部101は、写真画像描画部102から描画の終了を示す終了信号が転送された場合に、写真画像描画部102における描画が終了したと判定し、処理をステップS108に移行させる。
【0090】
コマンド解析部101は、ステップS108で、描画コマンドのパラメータを、グラフィクス描画部103の描画パラメータ記憶部154に転送する。そして、コマンド解析部101は、処理をステップS109に移行させ、グラフィクス描画部103に対して起動信号を転送して、グラフィクス描画部103を起動させる。コマンド解析部101は、グラフィクス描画部103を起動させると、処理をステップS100に戻し、次の描画コマンドを読み込む。
【0091】
上述したステップS101で、読み込んだ描画コマンドがグラフィクス描画コマンドではないと判定した場合、コマンド解析部101は、処理をステップS110に移行させる。ステップS110で、コマンド解析部101は、当該描画コマンドが写真画像の描画を指示する写真画像描画コマンドであるか否かを判定する。若し、写真描画コマンドであると判定した場合、処理をステップS111に移行させ、現在、写真画像描画部102において写真画像の描画が行われているか否かを判定する。若し、描画が行われていないと判定した場合、処理を後述するステップS113に移行させる。
【0092】
一方、コマンド解析部101は、ステップS111で写真画像描画部102で写真画像の描画が行われていると判定した場合、処理をステップS112に移行させ、写真画像描画部102で現在行われている写真画像の描画が終了するのを待機する。これは、写真画像描画部102において描画処理中は、再度、写真画像描画部102を起動できないからである。コマンド解析部101は、写真画像描画部102から描画の終了を示す終了信号が転送された場合に、写真画像描画部102における描画が終了したと判定し、処理をステップS113に移行させる。
【0093】
ステップS113で、コマンド解析部101は、ステップS100で読み込まれた描画コマンドに基づき、写真画像の描画領域をチェックする。写真画像の描画領域は、例えば、写真画像を描画する際に読み取った写真画像描画の描画コマンド(図7参照)に含まれる、DIS画像X幅およびDIS画像Y幅、ならびに、描画X座標および描画Y座標に基づき求めることができる。
【0094】
処理はステップS114に移行され、コマンド解析部101は、グラフィクス描画部103においてグラフィクス画像の描画が行われているか否かを判定する。若し、描画が行われていないと判定した場合、処理を後述するステップS117に移行させる。
【0095】
一方、コマンド解析部101は、ステップS114で現在グラフィクス描画部102でグラフィクス画像の描画が行われていると判定した場合、処理をステップS115に移行させる。コマンド解析部101は、ステップS115で、現在グラフィクス描画部102で描画されているグラフィクス画像の描画領域と、ステップS113でチェックされた写真画像の描画領域とを比較し、これらグラフィクス画像の描画領域と、写真画像の描画領域とが重なるか否かを判定する。
【0096】
なお、グラフィクス画像の描画領域は、グラフィクス画像を描画する際に読み取ったグラフィクス画像描画の描画コマンド(図6(a)または図6(b)参照)に基づき求める。すなわち、読み込まれた描画コマンドが図6(a)に示した四角形のグラフィクスを描画する描画コマンドであれば、左上頂点のX座標およびY座標と、右下頂点のX座標およびY座標とで定義される領域が描画領域とされる。一方、描画コマンドが図6(b)に示した三角形のグラフィクスを描画する描画コマンドであれば、端点#1、#2および#3それぞれのX座標およびY座標により定義される、三角形の頂点に外接する四角形の領域が描画領域とされる。
【0097】
コマンド解析部101は、ステップS115で、若し、グラフィクス画像の描画領域と写真画像の描画領域とが重ならないと判定した場合、処理を後述するステップS117に移行させる。
【0098】
一方、コマンド解析部101は、ステップS115で、グラフィクス画像の描画領域と写真画像の描画領域とが重なると判定した場合、処理をステップS116に移行させ、描画順序を守るために、グラフィクス描画部103において現在行われているグラフィクス画像の描画が終了するのを待機する。コマンド解析部101は、グラフィクス描画部103から描画の終了を示す終了信号が転送された場合に、グラフィクス描画部103における描画が終了したと判定し、処理をステップS117に移行させる。
【0099】
コマンド解析部101は、ステップS117で、描画コマンドのパラメータを、写真画像描画部102の変倍パラメータ記憶部118に転送する。そして、コマンド解析部101は、処理をステップS118に移行させ、写真画像描画部102に対して起動信号を転送して、写真画像描画部102を起動させる。コマンド解析部101は、写真画像描画部102を起動させると、処理をステップS100に戻し、次の描画コマンドを読み込む。
【0100】
上述のステップS110で、読み込んだ描画コマンドが写真画像描画コマンドではないと判定した場合、コマンド解析部101は、処理をステップS120に移行させ、当該描画コマンドがグラフィクス描画設定コマンドであるか否かを判定する。若し、当該描画コマンドがグラフィクス描画設定コマンドであると判定した場合、コマンド解析部101は、処理をステップS121に移行させ、グラフィクス描画部103において現在グラフィクス画像の描画が行われているか否かを判定する。若し、描画が行われていないと判定し場合、処理を後述するステップS123に移行させる。
【0101】
一方、コマンド解析部101は、ステップS121で現在グラフィクス画像の描画が行われていると判定した場合、グラフィクス描画部103に対するパラメータ設定を実行できないため、処理をステップS122に移行させ、グラフィクス描画部103において現在行われているグラフィクス画像の描画が終了するのを待機する。コマンド解析部101は、グラフィクス描画部103から描画の終了を示す終了信号が転送された場合に、グラフィクス描画部103における描画が終了したと判定し、処理をステップS123に移行させる。
【0102】
ステップS123で、コマンド解析部101は、グラフィクス描画部103に対するグラフィクス描画パラメータの設定を行う。このステップS123におけるグラフィクス描画パラメータの設定処理の詳細については、後述する。コマンド解析部101は、ステップS123によるグラフィクス描画パラメータの設定処理が終了すると、処理をステップS100に戻して、次の描画コマンドを読み込む。
【0103】
上述のステップS120で、読み込んだ描画コマンドがグラフィクス描画設定コマンドではないと判定した場合、コマンド解析部101は、処理をステップS130に移行させ、当該描画コマンドが写真画像描画設定コマンドであるか否かを判定する。若し、当該描画コマンドが写真画像描画設定コマンドであると判定した場合、処理をステップS131に移行させ、写真画像描画部102において現在写真画像の描画が行われているか否かを判定する。若し、描画が行われていないと判定し場合、処理を後述するステップS133に移行させる。
【0104】
一方、コマンド解析部101は、ステップS131で現在写真画像の描画が行われていると判定した場合、写真画像描画部102に対するパラメータ設定を実行できないため、処理をステップS132に移行させ、写真描画部102において現在行われている写真画像の描画が終了するのを待機する。コマンド解析部101は、写真描画部102から描画の終了を示す終了信号が転送された場合に、写真描画部102における描画が終了したと判定し、処理をステップS133に移行させる。
【0105】
ステップS133で、コマンド解析部101は、写真描画部102に対する写真画像描画パラメータの設定を行う。このステップS133における写真画像描画パラメータの設定処理の詳細については、後述する。コマンド解析部101は、ステップS133による写真画像描画パラメータの設定処理が終了すると、処理をステップS100に戻して、次の描画コマンドを読み込む。
【0106】
上述のステップS130で、読み込んだ描画コマンドが写真画像描画設定コマンドではないと判定した場合、コマンド解析部101は、処理をステップS140に移行させ、当該描画コマンドが全体設定コマンドであるか否かを判定する。若し、当該描画コマンドが全体設定コマンドであると判定した場合、コマンド解析部101は、処理をステップS141に移行させ、図5(a)で示すバンド初期化コマンドに定義されるバンド先頭アドレス、バンド高さおよびバンド幅を、写真画像描画部102におけるバンドパラメータ記憶部115と、グラフィクス描画部103におけるバンドパラメータ記憶部152とにそれぞれ書き込む。そして、処理をステップS100に戻し、次の描画コマンドを読み込む。
【0107】
上述のステップS140で、読み込んだ描画コマンドが全体設定コマンドではないと判定した場合、コマンド解析部101は、当該描画コマンドがバンド終了コマンドであると判断する。この場合、コマンド解析部101は、処理をステップS150に移行させ、バンド描画処理を終了させ、その旨をCPU61に通知する。このバンド描画処理終了の通知は、例えば描画部65のコントローラ104からCPU61に対して、終了割り込み信号を送信することで通知される。
【0108】
図13は、上述したステップS123におけるグラフィクス描画パラメータの設定処理の例を示すフローチャートである。コマンド解析部101は、ステップS200で、上述のステップS100で読み込んだ描画コマンドが、図5(c)に示すグラフィクス画像描画用ハーフトンパラメータ設定コマンドであるか否かを判定する。
【0109】
若し、当該描画コマンドがグラフィクス画像描画用ハーフトンパラメータ設定コマンドではないと判定した場合、当該描画コマンドがグラフィクス画像描画用描画階調定義コマンドであると判断できる。そのため、コマンド解析部101は、処理をステップS201に移行させ、当該コマンドに定義される階調値を、グラフィクス描画部103における描画パラメータ記憶部154に転送する。
【0110】
一方、ステップS200で、読み込んだ描画コマンドがグラフィクス画像描画用ハーフトンパラメータ設定コマンドであると判定した場合、コマンド解析部101は、処理をステップS202に移行させる。コマンド解析部101は、ステップS202で、当該コマンドに定義される閾値先頭アドレスをグラフィクス描画部102におけるDMAアドレス生成部150に書き込んでDMA読み込み部151を起動させる。DMA読み込み部151は、メインメモリ72の描画コマンド記憶領域からグラフィクス画像描画用のハーフトン閾値を順次読み込み、グラフィクス描画部103における閾値マトリクス記憶部153に書き込む。
【0111】
コマンド解析部101は、ステップS201またはステップS202の処理が終了すると、この図13のフローチャートによる一連の処理を終了し、処理を図12のフローチャートに戻す。
【0112】
図14は、上述したステップS133における写真画像描画パラメータの設定処理の例を示すフローチャートである。コマンド解析部101は、ステップS210で、上述のステップS100で読み込んだ描画コマンドが、図5(d)に示す写真画像描写用ハーフトンパラメータ設定コマンドであるか否かを判定する。若し、当該描画コマンドが写真画像描写用ハーフトンパラメータ設定コマンドではないと判定した場合、コマンド解析部101は、当該描画コマンドが図5(e)に示す写真画像描画用色変換パラメータ設定コマンドであると判断し、処理をステップS211に移行させる。
【0113】
ステップS211では、コマンド解析部101は、当該コマンドに定義される格子点先頭アドレスを写真画像描画部102におけるDMAアドレス生成部110に書き込みDMA読み込み部111を起動させる。DMA読み込み部111は、メインメモリ72の描画コマンド記憶領域から格子点データを読み込み、格子点データ記憶部113に書き込む。次のステップS212で、コマンド解析部101は、当該コマンドに定義されるガンマテーブル先頭アドレスをDMAアドレス生成部110に書き込みDMA読み込み部111を起動させる。DMA読み込み部111は、メインメモリ72の描画コマンド記憶領域からガンマテーブルを読み込み、ガンマテーブル記憶部112に書き込む。次のステップS213で、コマンド解析部101は、当該コマンドに定義される色変換演算処理フラグを、色処理パラメータ記憶部114に書き込む。
【0114】
一方、上述のステップS210で、読み込んだ描画コマンドが写真画像描写用ハーフトンパラメータ設定コマンドであると判定した場合、コマンド解析部101は、処理をステップS214に移行させる。ステップS214では、コマンド解析部101は、当該コマンドに定義される閾値先頭アドレスをDMAアドレス生成部110に書き込みDMA読み込み部111を起動させ、メインメモリ72の描画コマンド記憶領域から写真画像描画用のハーフトン閾値を順次読み込み、閾値マトリクス記憶部117に書き込む。次のステップS215で、コマンド解析部101は、当該コマンドに定義されるディザX,Yサイズを写真画像描画部102におけるディザX,Yサイズ記憶部116に書き込む。
【0115】
コマンド解析部101は、ステップS213またはステップS215の処理が終了すると、この図14のフローチャートによる一連の処理を終了し、処理を図12のフローチャートに戻す。
【0116】
図15は、本実施形態による描画処理の一例のタイミングを示す。この図15と、上述した図12のフローチャートとを参照しながら、本実施形態による描画処理について説明する。なお、ここでは、描画を実行する描画コマンドが、写真画像描画コマンド、グラフィクス描画コマンド#1、グラフィクス描画コマンド#2の順にコマンド解析部101に読み込まれるものとする。
【0117】
先ず、SEQ300で、コマンド解析部101は、メインメモリ72から描画コマンドを読み込み、SEQ301で、読み込んだ描画コマンドが写真画像描画用変倍実行コマンドである旨の解析結果を得る(図12のステップS100、ステップS110)。コマンド解析部101は、図12のステップS111の判定処理で現在が写真画像の描画中ではないと判定し、ステップS113で写真描画領域のチェックを行う。そして、コマンド解析部101は、次のステップS114の判定処理でグラフィクス画像の描画中ではないと判定し、ステップS117で描画コマンドのパラメータを写真画像描画部102に設定し、ステップS118で写真画像描画部118を起動する。
【0118】
写真画像描画部102は、起動すると、設定されたパラメータに従いメインメモリ72からソース画像を読み出して(SEQ302)、写真画像描画部102に入力し、入力ライン記憶部126に1ライン分のソース画像を格納する(SEQ303)。写真画像描画部102は、設定されたパラメータに従い、入力されたソース画像に対して色変換処理を施し、入力ライン記憶部126に処理結果を書き込む。この処理を1ライン分実行し、変倍(拡大)処理、階調処理についても同様に1ライン分の処理を実行して処理結果をその都度、入力ライン記憶部126に書き込む(SEQ304)。
【0119】
写真画像処理部102における色変換処理、変倍処理および階調処理は、メインメモリ72にアクセスすることなく行われるため、メインメモリ72からのソース画像の読み出しが終了すると、メインメモリ72に対するアクセスに余裕が生じる。そのため、コマンド解析部101は、SEQ305で次の描画コマンドを読み込み、SEQ306で、読み込んだ描画コマンドがグラフィクス描画コマンド(グラフィクス描画コマンド#1)である旨の解析結果を得る(図12のステップS100、ステップS101)。コマンド解析部101は、図12のステップS102の判定処理で現在がグラフィクス画像の描画中ではないと判定し、ステップS104でグラフィクス描画領域のチェックを行う。
【0120】
次に、コマンド解析部101は、図12のステップS105で写真画像の描画中か否かを判定する。この時点では、写真画像描画部102では、SEQ304によりソース画像に対する画像処理中であって、メインメモリ72に対する描画はなされていない。そのため、コマンド解析部101は、写真画像の描画中ではないと判定し、描画コマンドをグラフィクス描画部103に設定し、グラフィクス描画部103を起動させる(図12のステップS108、ステップS109)。グラフィクス描画部103は、設定されたグラフィクス描画コマンドに従いSEQ307でグラフィクス描画処理を行い、SEQ308で、メインメモリ72に対してグラフィクス画像を描画する。
【0121】
グラフィクス描画部103による描画が終了すると、メインメモリ72に対するアクセスに余裕が生じるため、写真画像描画部102は、SEQ309で階調処理後の写真画像の描画処理を行い、SEQ310で、メインメモリ72に対して当該写真画像を描画する。一例として、グラフィクス描画部103は、描画が終了するとその旨示す終了信号をコマンド解析部101に対して転送する。コマンド解析部101は、この終了信号に応じて、写真画像処理部102に対して、写真画像の描画が可能になった旨を通知する。
【0122】
写真画像の描画が終了すると、メインメモリ72に対するアクセスに余裕が生じるため、コマンド解析部101は、SEQ311で次の描画コマンドを読み込み、SEQ312で、読み込んだ描画コマンドがグラフィクス描画コマンドである旨の解析結果を得る(図12のステップS100、ステップS101)。コマンド解析部101は、図12のステップS102の判定処理で現在がグラフィクス画像の描画中ではないと判定し、ステップS104でグラフィクス描画領域のチェックを行う。
【0123】
そして、コマンド解析部101は、図12のステップS105の写真画像の描画中か否かの判定処理により写真画像の描画中ではないと判定し、描画コマンドをグラフィクス描画部103に設定し、グラフィクス描画部103を起動させる(図12のステップS108、ステップS109)。グラフィクス描画部103は、設定されたグラフィクス描画コマンドに従いSEQ313でグラフィクス描画処理を行い、SEQ314で、メインメモリ72に対してグラフィクス画像を描画する。
【0124】
このように、本実施形態によれば、1の描画ハードウェアの処理と、他の描画ハードウェアの処理とを並列的に実行できる。より具体的には、本実施形態によれば、メインメモリのアクセスに余裕がある状態であれば、1の描画ハードウェアを起動する描画コマンドによる処理の終了を待たずに、他の描画ハードウェアを起動する描画コマンドによる処理を実行することができる。そのため、メインメモリに対するアクセスを効率的に行うことができ、処理速度が向上される。
【0125】
特に、写真画像描画部102のように階調を制限する階調処理を実行する場合は、入力されたソース画像のデータ量と比較して、階調処理後の画像のデータ量が減少し、メインメモリ72に書き戻すデータ量が少なくなる。そのため、メインメモリ72に対するアクセス量が少なくなり、処理の並列化が容易となる。
【0126】
さらに、本実施形態によれば、1の描画ハードウェアがメインメモリに対して描画を行っていても、他の描画ハードウェアが描画を行う領域が当該1の描画ハードウェアが描画を行う領域と重ならなければ、当該他の描画ハードウェアによる描画を実行できる。そのため、メインメモリに対するアクセスをより効率的に行うことができる。
【符号の説明】
【0127】
60 電装・制御装置
61 CPU
63 メモリアービタ
65 描画部
72 メインメモリ
100 メモリアービタI/F
101 コマンド解析部
102 写真画像描画部
103 グラフィクス描画部
104,140,157,233 コントローラ
110,150 DMAアドレス生成部
111,151 DMA読み込み部
【先行技術文献】
【特許文献】
【0128】
【特許文献1】特開2003−208608号公報
【特許文献2】特開2004−282239号公報
【特許文献3】特開2006−121437号公報
【特許文献4】特開2005−309865号公報

【特許請求の範囲】
【請求項1】
画像が書き込まれる記憶手段と、
画像処理手段で画像処理を施されたソース画像を前記記憶手段に対して書き込む第1の描画手段と、
画像を生成して前記記憶手段に対して書き込む第2の描画手段と、
ページ描画命令を解析して、前記第1の描画手段に対して画像の書き込みを命令する第1の描画命令を取得した場合に、該第1の描画命令に従い前記第1の描画手段を制御し、前記第2の描画手段に対して画像の書き込みを命令する第2の描画命令を取得した場合に、該第2の描画命令に従い前記第2の描画手段を制御する解析手段と
を有し、
前記解析手段は、
前記第1の描画手段および前記第2の描画手段のうち一方の描画手段による、前記記憶手段の第1の描画領域に対する画像の書き込み中に、前記第1の描画手段および前記第2の描画手段のうち他方の描画手段に対する描画命令を取得した場合、該他方の描画手段が該描画命令に従い前記記憶手段に対して画像の書き込みを行う第2の描画領域が該第1の描画領域と重なるか否かの判定を行い、重ならないと判定した場合に、該他方の描画手段による前記記憶手段に対する画像の書き込みを行うための書き込み処理を開始するように制御する
ことを特徴とする画像処理装置。
【請求項2】
前記解析手段は、
前記第1の描画手段および前記第2の描画手段のうち一方の描画手段による画像の書き込みの完了を待つことなく前記ページ描画命令の解析を行い、該解析により取得された描画命令が前記第1の描画手段および前記第2の描画手段のうち他方の描画手段に対する描画命令である場合に前記判定を行う
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記解析手段は、
前記第1の描画領域と前記第2の描画領域とで重なる部分があると判定した場合に、前記一方の描画手段による画像の書き込みが完了するのを待って、前記他方の描画手段による前記書き込み処理を開始するように制御する
ことを特徴とする請求項1または請求項2に記載の画像処理装置。
【請求項4】
前記第1の描画命令に従い前記第1の描画手段に対して画像書き込みのためのパラメータの設定を行う第1の設定手段と、
前記第2の描画命令に従い前記第2の描画手段に対して画像書き込みのためのパラメータを設定を行う第2の設定手段と
をさらに有し、
前記第1の設定手段は、
前記第1の描画手段による描画が完了したか否かを判定し、完了したと判定された場合にパラメータの設定を行い、
前記第2の設定手段は、
前記第2の描画手段による描画が完了したか否かを判定し、完了したと判定された場合にパラメータの設定を行う
ことを特徴とする請求項1乃至請求項3の何れか1項に記載の画像処理装置。
【請求項5】
前記画像処理手段は、
前記ソース画像に対して色変換処理、変倍処理および階調処理のうち少なくとも1を施す
ことを特徴とする請求項1乃至請求項4の何れか1項に記載の画像処理装置。
【請求項6】
前記解析手段は、
前記第2の描画命令により三角形の描画が命令された場合に、該三角形に外接する四角形領域を前記第2の描画領域とする
ことを特徴とする請求項1乃至請求項5の何れか1項に記載の画像処理装置。
【請求項7】
前記第1の描画手段および前記第2の描画手段のうち少なくとも一方は、前記解析手段に対して独立したハードウェアにより構成される
ことを特徴とする請求項1乃至請求項6の何れか1項に記載の画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2013−84224(P2013−84224A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2011−225237(P2011−225237)
【出願日】平成23年10月12日(2011.10.12)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】