説明

画像処理装置、画像処理方法およびプログラム

【課題】描画が完了するまでの処理の高速化を図ることが可能な画像処理装置、画像処理方法およびプログラムを提供する。
【解決手段】本発明の画像処理装置が適用される画像形成装置は、ハーフトーンパターンを記憶するメインメモリと、描画の実行を指示する描画コマンドを解析して、描画が行われるバンドを特定するとともに、描画対象の画像が、当該バンドに属するか否かを判断するコマンド解析装置122と、コマンド解析装置122により、描画対象の画像がバンドに属すると判断された場合は、当該バンドに対応するハーフトーンパターンをメインメモリから読み出し、その読み出したハーフトーンパターンを用いて描画対象の画像を描画する一方、描画対象の画像がバンドに属さないと判断された場合は、ハーフトーンパターンの読み出しは行わず、描画しない描画処理装置123と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【0002】
従来、プリンタは、ネットワークから受け取ったPDLを解釈して解析し、その解析結果に基づいて生成されたCMYKデータを用いてメインメモリへの描画を行う。近年では、解像度の増加と処理の高速化の要求が高まっており、この要求に応えるために、CPUが行っていた処理の一部を別のハードウェアで行うという技術が知られている。例えば特許文献1には、プリンタエンジンと接続されたコントローラボードに、描画処理を実行するハードウェア回路(描画装置)が内蔵されたプリンタが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ここで、所定範囲の領域を示すバンド単位で描画を行う描画装置が、図14に示すバンド2の描画を実行する場合を想定する。この描画装置は、メインメモリに格納された描画コマンドを読み出し、その読み出した描画コマンドに従って描画処理を実行する。図15は、描画コマンドの一例を示す図である。この例では、まず描画装置は、バンド初期化コマンドを読み出し、描画が行われるバンド2を特定する。次に、描画装置は、(1)ハーフトーンパターンセットコマンドを読み出し、バンド1に対応するハーフトーンパターン(ハーフトーン処理後の画像)をメインメモリから読み出す。次に、描画装置は、図14の(1)の四角形の描画を指示する(1)四角形描画コマンドを読み出すが、(1)の四角形は、バンド2に属さないため、描画処理は行われない。
【0004】
次に、描画装置は、(2)ハーフトーンパターンセットコマンドを読み出し、バンド2に対応するハーフトーンパターンをメインメモリから読み出す。次に、描画装置は、図14の(2)の四角形の描画を指示する(2)四角形描画コマンドを読み出し、(2)の四角形の描画処理を実行する。次に、描画装置は、(3)ハーフトーンパターンセットコマンドを読み出し、バンド3に対応するハーフトーンパターンをメインメモリから読み出す。次に、描画装置は、図14の(3)の四角形の描画を指示する(3)四角形描画コマンドを読み出すが、(3)の四角形は、バンド3に属さないため、描画処理は行われない。その後、描画装置は、バンド終了コマンドを読み出し、バンド2の描画処理を終了する。
【0005】
以上の例では、描画装置は、ハーフトーンパターンセットコマンドを読み出すたびに、ハーフトーンパターンの読み出しを行うので、描画が完了するまでの処理の高速化を図ることが困難であるという問題がある。
【0006】
本発明は、上記に鑑みてなされたものであって、描画が完了するまでの処理の高速化を図ることが可能な画像処理装置、画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明は、所定範囲の領域を示すバンドを単位として画像を描画する画像処理装置であって、ハーフトーン処理後の画像を示すハーフトーンパターンを記憶する第1記憶部と、描画が行われる前記バンドを示す描画バンドを特定する第1コマンドと、前記ハーフトーンパターンの読み込みを指示する第2コマンドと、描画の実行を指示する第3コマンドとを含む描画コマンドを解析して、前記描画バンドを特定するとともに、描画対象の画像が前記描画バンドに属するか否かを判断する解析部と、前記第2コマンドで描画が指示された画像が、前記描画バンドに属しないと判断された画像の場合は、前記ハーフトーンパターンの読み込みを行わず当該画像を描画しない一方、前記第2コマンドで描画が指示された画像が、前記描画バンドに属すると判断された最初の画像である場合は、前記第1コマンドで指定された前記ハーフトーンパターンを前記第1記憶部から読み込み、その読み込んだ前記ハーフトーンパターンを用いて当該画像の描画を行い、それ以降の前記描画バンドの描画においては前記ハーフトーンパターンの読み込みを行わない描画処理部と、を備えることを特徴とする。
【0008】
また、本発明は、所定範囲の領域を示すバンドを単位として画像を描画する画像処理方法であって、描画が行われる前記バンドを示す描画バンドを特定する第1コマンドと、前記ハーフトーンパターンの読み込みを指示する第2コマンドと、描画の実行を指示する第3コマンドとを含む描画コマンドを解析して、前記描画バンドを特定するとともに、描画対象の画像が前記描画バンドに属するか否かを判断する解析ステップと、前記第2コマンドで描画が指示された画像が、前記描画バンドに属しないと判断された画像の場合は、前記ハーフトーンパターンの読み込みを行わず当該画像を描画しない一方、前記第2コマンドで描画が指示された画像が、前記描画バンドに属すると判断された最初の画像である場合は、前記第1コマンドで指定された前記ハーフトーンパターンを前記第1記憶部から読み込み、その読み込んだ前記ハーフトーンパターンを用いて当該画像の描画を行い、それ以降の前記描画バンドの描画においては前記ハーフトーンパターンの読み込みを行わない描画処理ステップと、を備えることを特徴とする。さらに、本発明は、上述の画像処理方法をコンピュータに実行させるためのプログラムの発明として捉えることもできる。
【発明の効果】
【0009】
本発明によれば、描画が完了するまでの処理に要する時間を短縮できるという有利な効果を奏する。
【図面の簡単な説明】
【0010】
【図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は、本実施形態による効果を説明するための図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照しながら、本発明に係る画像処理装置の一実施形態を詳細に説明する。図1は、本実施形態に係る画像処理装置を適用可能な画像形成装置(カラープリンタとする)の機構部の構成例を示す。この画像形成装置100において、像担持体であるベルト状の感光体1は、回転ローラ2,3により回動可能に支持され、その各回転ローラ2,3の駆動により矢示A方向に回動される。感光体1の外周部には、帯電手段である帯電装置4と、除電ランプLと、感光体1用のクリーニングブレード15Aとが配置されている。帯電装置4の下流位置には、光書込手段であるレーザ書き込みユニット5が配置される。
【0012】
レーザ書き込みユニット5の上部には、複数の現像ユニット(現像手段)が切り換え自在に支持された多色現像装置6が配置されている。多色現像装置6は、収容するトナーの色毎に、イエロー現像ユニット、マゼンタ現像ユニット、シアン現像ユニットを備えている。多色現像装置6の上部には、黒色トナーを収容したブラック現像ユニット7が備えられている。
【0013】
これらの各現像ユニットのいずれか1つが、対応する色の現像タイミングに同期して現像可能な位置に移動する。多色現像装置6は、円周上120度の回転によっていずれかの現像ユニットを選択する機能を有している。そして、これらの現像ユニットが稼動するときには、ブラック現像ユニット7は感光体1より離間した位置に移動する。その移動は、カム45の回転により行なわれる。
【0014】
レーザ書き込みユニット5は、図示しないレーザ光源から複数色の画像形成信号(書き込み情報)に応じたレーザ光を順次発生させ、ポリゴンモータ5Aによって回転されるポリゴンミラー5Bを用いてそのレーザ光を周期的に偏向させ、fθレンズ5Cおよびミラー5Dなどを経て、帯電された感光体1の表面を走査してその表面に静電潜像を形成させる。
【0015】
感光体1の表面に形成される静電潜像は、対応する現像ユニットからのトナーによって現像され、トナー画像が形成されて保持される。中間転写ベルト10は、感光体1に隣接しており、回転ローラ11,12により矢示B方向に回動可能に支持されている。感光体1上のトナー画像は、中間転写ベルト10の裏側にある転写ブラシ(第1の転写手段)13により、その中間転写ベルト10の表面に転写される。
【0016】
感光体1の表面は1色毎にクリーニングブレード15Aによりクリーニングされ、その表面に所定色のトナー画像が形成される。そして、その都度中間転写ベルト10の1回動毎にその表面の同じ位置に感光体1上のトナー画像が転写されて、中間転写ベルト10上に複数色のトナー画像が重ね合わせられて保持される。その後、そのトナー画像は用紙やプラスチック等の記録媒体に転写される。
【0017】
用紙への転写に際しては、給紙装置(給紙カセット)17に収納されている用紙が給紙ローラ18によって繰り出されて搬送ローラ19により搬送され、レジストローラ対20に付き当てられた状態で一旦停止された後、トナー画像の転写位置が正規のものとなるようにタイミングがとられて中間転写ベルト10と転写ローラ(第2の転写手段)14のニップに再搬送される。
【0018】
そして、その用紙は転写ローラ14の作用により中間転写ベルト10上の複数色のトナー画像が一括転写された後、定着装置50に送られ、そこでトナー像が定着された後、排紙ローラ対51により本体フレーム9の上部の排紙スタック部52に排出される。
【0019】
中間転写ベルト10には、回転ローラ11の部位に中間転写ベルト10用のクリーニング装置16が設けられ、クリーニングブレード16Aがクリーニングブレード接離用アーム16Cを介して接離自在の構成となっている。このクリーニングブレード16Aは、感光体1からトナー画像を受け取る工程では、中間転写ベルト10から離れ、中間転写ベルト10より用紙にトナー画像が転写された後に接触するようになっていて、用紙にトナー画像が転写された後の残留トナーをかきとる。
【0020】
クリーニングブレードは、すでに記したように、感光体1用と中間転写ベルト10用がある。これらブレードがかきとった廃トナーは、回収容器15に収納する。その回収容器15は適宜交換される。中間転写ベルト10用のクリーニング装置16の内部に設けられたオーガ16Bが、クリーニングブレード16Aでかきとられた廃トナーを搬送し、図示しない搬送手段で回収容器15に送るようになっている。
【0021】
ユニット化されたプロセスカートリッジ31は、感光体1と、帯電装置4と、中間転写ベルト10と、クリーニング装置16と、用紙搬送路を形成する搬送ガイド30とを一体に組み込み、寿命到来時に交換できるように構成されている。プロセスカートリッジ31の交換のほかに、多色現像装置6、ブラック現像ユニット7なども寿命到来時に交換するが、その交換性やジャム紙の処理を容易にするため、本体の一部の前フレーム8は支軸9Aを中心に開閉可能に回動できる構造にしてある。
【0022】
図1の左側には、コントローラボード60が収納されている。その上方には、ファン58が備えられており、機内の温度過昇防止のために排風する。図の右側には、比較的小規模な別の給紙装置59が備えられている。なお、この実施形態では、中間転写体として中間転写ベルト10を使用したが、中間転写ドラムを使用することもできる。
【0023】
図2は、画像形成装置100の電装・制御部のハードウェア構成の例を示す図である。図2の電装・制御部は、コントローラボード60が、ネットワークを介してパーソナルコンピュータ(以下、「PC」という。)200に接続される。プリンタコントローラボード60は、CPU101と、CPU I/F102と、メモリアービター103と、メモリコントローラ104と、ハードウェア回路で構成される描画装置105と、エンジンコントローラ106と、通信コントローラ107と、ローカルI/F108と、ROM109と、パネルコントローラ110と、を含む。
【0024】
CPU101は、画像形成装置100全体の制御を行う。CPU101は、また、PC200から伝送されるPDL(page description language)を解析し、描画コマンド、および、画像処理に必要な情報の生成等を行う。ここでは、所定の言語で記述されるとともに、画像の描画を指示する画像描画指示データの一例として、PDLを例示しているが、これに限定されるものではない。CPU I/F102は、CPU101のインタフェースであり、メモリアービター103を介してメインメモリ112及び他のコントローラ等に接続されている。メインメモリ112は、PDL、PDLを解析して得られる各種データ、PDLに含まれる画像(PDLを解析して得られる画像データ)に対して所定のハーフトーン処理が行われたハーフトーン処理後の画像データ(ハーフトーンパターン)、および、CPU101が実行するコンピュータプログラム等を格納する。
【0025】
メモリアービター103は、メモリコントローラ104と各種のコントローラ間の調停を行う。メモリコントローラ104は、メインメモリ112をコントロールし、メモリアービター103を介して各種のコントローラやCPU101と接続される。
【0026】
描画装置105は、CPU101が生成した描画コマンドを読み込んで解析し、解析したコマンドに従ってバンド単位の描画処理を実行する。そして、描画したバンド画像をメインメモリ112のバンドメモリ領域に書き込む。エンジンコントローラ106は、プリンタエンジン114を制御する。プリンタエンジン114は、エンジンコントローラ106の制御により、画像を媒体上に形成する。PC200は、プリンタエンジン114に出力させる画像のPDLを作成し、ネットワークを介してPDLを画像形成装置100に対して出力する。
【0027】
通信コントローラ107は、ネットワークに接続され、ネットワークを介して接続されたPC200等から送信される各データやコマンド等を受信する。通信コントローラ107は、また、メモリアービター103を介して接続される各コントローラに対して受信したデータ等を出力し、各コントローラから入力されるデータ等を、PC200等に対して送信する。
【0028】
ROM109は、CPU101が実行するコンピュータプログラムや、文字のフォント情報等を格納する。ROM109は、ローカルI/F108を介してメモリアービター103に接続される。パネルコントローラ110は、オペレーション用のパネル113を制御する。パネルコントローラ110は、ローカルI/F108を介してメモリアービター103に接続される。パネル113は、画像形成装置100の状態の表示を行い、また、画像形成装置100に対するユーザーからの操作入力を受け付ける。
【0029】
図3は、画像形成装置100における処理の一例の概略を示すフロー図である。PDL記憶ステップS1では、PC200から入力されるPDLが、メインメモリ112に格納される。次の描画コマンド生成ステップS2では、CPU101は、メインメモリ112に格納されたPDLを読み出して解析し、描画コマンドを生成する。また、CPU101は、PDLを解析して得られる画像に対してハーフトーン処理を実行し、ハーフトーン処理後の画像データ(ハーフトーンパターン)を、メインメモリ112の所定の領域(ハーフトーンパターン格納領域)に書き込む。次の描画コマンド記憶ステップS3では、CPU101は、生成した描画コマンドをメインメモリ112の所定の領域に書き込む。次の描画処理ステップS4では、描画装置105は、メインメモリ112に格納された描画コマンドを読み出し、その読み出した描画コマンドに従って、バンド単位での画像の描画を実行する。CPU101は、描画したバンド画像をメインメモリに書き込んでいき、1ページ分のバンド画像がメインメモリ112に格納される(次のページ記憶ステップS5)。次に、プリンタエンジン114は、メインメモリ112から、描画装置105により描画された1ページ分の画像データを読み出し、印刷して出力する。
【0030】
図4は、メインメモリ112のうちバンド画像が格納される領域を示すバンドメモリ領域のフォーマットと描画例を示す。描画ワード幅は、描画装置105がバンドメモリをアクセスするワードの幅である。ここでは、描画例として、水平ラインYに対して、水平ラインX始点から水平ラインX終点までの水平ラインを描画した例を示している。
【0031】
図5は、図14の描画を行う場合の描画コマンドの一例を示す図であり、図6は、描画コマンドに含まれる各コマンドのフォーマット例を示す図である。図5の例では、描画コマンドは、バンド初期化コマンド→(1)ハーフトーンパターンセットコマンド→(1)四角形描画コマンド→(2)ハーフトーンパターンセットコマンド→(2)四角形描画コマンド→(3)ハーフトーンパターンセットコマンド→(3)四角形描画コマンド→バンド終了コマンドの順番で読み出される。
【0032】
バンド初期化コマンドは、描画コマンドの先頭のコマンドであり、描画が行われるバンドを示す描画バンドを特定するコマンドである。図6(a)に示すように、バンド初期化コマンドは、描画バンドの先頭アドレスと、描画バンドの左上の始点Y座標と、描画バンドの高さと、描画バンドの幅とが設定される。ハーフトーンパターンセットコマンドは、各バンドに対応するハーフトーンパターンを指定するコマンドである。図5の例では、バンドxに対応するハーフトーンパターンを指定するコマンドは、(x)ハーフトーンパターンセットコマンドと表記される。図6(b)に示すように、ハーフトーンパターンセットコマンドは、ディザのX方向およびY方向のサイズと、メインメモリ112におけるハーフトーンパターンの格納場所を特定するためのハーフトーン先頭アドレスとが設定される。バンド終了コマンドは、描画コマンドの末尾のコマンドであり、描画の終了を示すコマンドである。図6(e)の例では、バンド終了コマンドは、32ビットの終了コマンドヘッダで構成される。
【0033】
四角形描画コマンドは、四角形の描画を指示するコマンドであり、図6(c)に示すように、コマンドヘッダと、四角形の各頂点の座標とが設定される。なお、図5では例示されていないが、描画コマンドには、三角形の描画を指示する三角形描画コマンドを含めることもできる。図6(d)に示すように、三角形描画コマンドは、コマンドヘッダと、三角形の各頂点の座標とが設定される。
【0034】
以上の描画コマンドは、描画を行うための各種のパラメータを設定する描画パラメータ設定コマンドと、描画を実行するための描画実行コマンドと、終端コマンドとに分類することができる。ここでは、バンド初期化コマンドおよびハーフトーンパターンセットコマンドは、描画パラメータ設定コマンドに分類され、四角形描画コマンドおよび三角形描画コマンドは、描画実行コマンドに分類され、バンド終了コマンドは終端コマンドに分類される。
【0035】
図7は、描画装置105の構成例を示すブロック図である。描画装置105は、メモリアービターI/F121と、コマンド解析装置122と、描画処理装置123と、コントローラ124とを含む。メモリアービターI/F121は、コマンド解析装置122および描画処理装置123をメモリアービター103に接続するためのインタフェース装置である。
【0036】
コマンド解析装置122は、メインメモリ112に格納された描画コマンドを読み出し、その読み出した描画コマンドを解析する。コマンド解析装置122は、読み出したコマンドが描画パラメータ設定コマンドである場合は、そのコマンドで特定される各種のパラメータを描画処理装置123へ転送し、次のコマンドをメインメモリ112から読み出す。一方、読み出したコマンドが描画実行コマンドである場合は、描画処理装置123に対して、そのコマンドで特定される各種のパラメータを転送した後、描画用起動信号を転送する。その後、コマンド解析装置122は、描画処理装置123からの描画終了信号を受信した場合に、次の描画コマンドをメインメモリ112から読み出す。また、コマンド解析装置122は、描画コマンドの先頭のコマンドであるバンド初期化コマンドを読み出した場合、そのバンド初期化コマンドで特定されるバンドパラメータ(例えばバンド先頭アドレス、バンド始点Y座標、バンド高さ、バンド幅等)を描画処理装置123へ転送した後、次のコマンドをメインメモリ112から読み出す。
【0037】
描画処理装置123は、コマンド解析装置122から、各種のパラメータ(描画を行うための描画パラメータ)を受け取り、コマンド解析装置122から描画用起動信号を受信した場合に、描画処理を実行する。また、描画処理装置123は、描画処理が終了すると、描画処理の終了を示す終了信号をコマンド解析装置122へ転送する。描画処理装置123の詳細な構成については後述する。コントローラ124は、描画装置105全体を制御する手段である。
【0038】
図8は、描画装置105による処理動作の一例を示すフローチャートである。図8に示すように、まずコマンド解析装置122は、メインメモリ112に格納された描画コマンドを読み出す(ステップS1)。次に、コマンド解析装置122は、読み出したコマンドを解析して、その読み出したコマンドが、描画実行コマンドであるか否かを判定する(ステップS2)。読み出したコマンドが描画実行コマンドであると判定した場合(ステップS2の結果:YES)、コマンド解析装置122は、描画対象の画像が、バンド初期化コマンドで特定されたバンド(描画バンド)に属するか否かを判定するバンドクリップ判定処理を実行する(ステップS3)。
【0039】
図9は、バンドクリップ判定処理の一例を示すフローチャートである。ここでは、描画実行コマンドとして、四角形描画コマンドが読み出された場合を想定する。図9に示すように、まずコマンド解析装置122は、描画が指示された四角形の右下のY座標の値が、バンド初期化コマンドで特定されるバンド始点Y座標の値より小さいか否かを判定する(ステップS21)。描画が指示された四角形の右下のY座標の値が、バンド初期化コマンドで特定されるバンド始点Y座標の値より大きいと判定した場合(ステップS21の結果:NO)、コマンド解析装置122は、描画が指示された四角形の左上のY座標の値が、バンド始点Y座標の値とバンド高さとの和よりも大きいか否かを判定する(ステップS22)。描画が指示された四角形の左上のY座標の値が、バンド始点Y座標の値とバンド高さとの和よりも小さいと判定した場合(ステップS22の結果:NO)、コマンド解析装置122は、描画が指示された四角形(描画対象の画像)は、描画バンドに属すると判定する(ステップS23)。一方、描画が指示された四角形の右下のY座標の値が、バンド始点Y座標の値より小さいと判定した場合(ステップS21の結果:YES)、または、描画が指示された四角形の左上のY座標の値が、バンド始点Y座標の値とバンド高さとの和よりも大きいと判定した場合(ステップS22の結果:YES)、コマンド解析装置122は、描画対象の画像は、描画バンドに属さないと判定する(ステップS24)。
【0040】
再び図8に戻って説明を続ける。上述のハンドクリップ判定処理の結果、描画対象の画像が、描画バンドに属すると判定された場合(ステップS4の結果:YES)、処理はステップS5に移行する。ステップS5において、コマンド解析装置122は、ハーフトーンパターンDMAフラグがオンに設定されているか否かを判断する。ハーフトーンパターンDMAフラグがオンに設定されていると判断した場合(ステップS5の結果:YES)、コマンド解析装置122は、ハーフトーンパターンDMAスタート信号を描画処理装置123へ転送し、ハーフトーンパターンDMAスタート信号を受信した描画処理装置123は、ハーフトーンパターンDMA処理を実行する(ステップS6)。より具体的には、描画処理装置123は、ハーフトーンパターンセットコマンドで設定されたハーフトーンパターン先頭アドレスで特定されるハーフトーンパターンをメインメモリ112から読み出す。ハーフトーンパターンDMA処理が終了すると、描画処理装置123は、ハーフトーンパターンDMA処理の終了を示すハーフトーンパターンDMA終了信号をコマンド解析装置122へ転送する。ハーフトーンパターンDMA終了信号を受信したコマンド解析装置122は、ハーフトーンパターンDMAフラグをオフに設定する(ステップS7)。そして、処理はステップS8に移行して描画処理が行われる。一方、上述のステップS5において、ハーフトーンパターンDMAフラグがオフに設定されていると判断された場合(ステップS5の結果:NO)、処理はステップS8に移行して描画処理が行われる。
【0041】
図10は、描画処理の一例を示すフローチャートである。図10に示すように、まずコマンド解析装置122は、読み出したコマンドで特定される描画パラメータを、描画処理装置123へ転送する(ステップS30)。次に、コマンド解析装置122は、描画用起動信号を描画処理装置123へ転送する(ステップS31)。描画用起動信号を受信した描画処理装置123は描画を開始し、描画が終了すると(ステップS32の結果:YES)、処理が終了する。
【0042】
再び図8に戻って説明を続ける。上述のステップS2において、読み出したコマンドが描画実行コマンドでないと判定した場合(ステップS2の結果:NO)、コマンド解析装置122は、読み出したコマンドが描画パラメータ設定コマンドであるか否かを判定する(ステップS9)。読み出したコマンドが描画パラメータ設定コマンドであると判定した場合(ステップS9の結果:YES)、コマンド解析装置122は、描画パラメータ設定処理を実行する(ステップS10)。
【0043】
図11は描画パラメータ設定処理の一例を示すフローチャートである。図11に示すように、まずコマンド解析装置122は、読み出したコマンドがバンド初期化コマンドであるか否かを判定する(ステップS41)。読み出したコマンドがバンド初期化コマンドであると判定した場合(ステップS41の結果:YES)、コマンド解析装置122は、バンド初期化コマンドで特定されるパラメータ(バンドパラメータ)を描画処理装置123へ転送する(ステップS42)。より具体的には、コマンド解析装置122は、バンドパラメータを、描画処理装置123のバンドパラメータ記憶装置へ書き込む。
【0044】
一方、読み出したコマンドがバンド初期化コマンドでないと判定した場合(ステップS41の結果:NO)、コマンド解析装置122は、読み出したコマンドがハーフトーンパターンセットコマンドであるか否かを判定する(ステップS43)。読み出したコマンドがハーフトーンパターンセットコマンドであると判定した場合(ステップS43の結果:YES)、コマンド解析装置122は、ハーフトーンパターンDMAフラグをオンに設定する(ステップS44)。そして、コマンド解析装置122は、ハーフトーンパターンセットコマンドで特定されるパラメータを描画処理装置123へ転送する(ステップS45)。より具体的には、コマンド解析装置122は、ハーフトーンパターンセットコマンドで特定されるディザサイズ(X方向のサイズおよびY方向のサイズ)を描画処理装置123の描画パラメータ記憶装置へ書き込む。また、コマンド解析装置122は、DMAワードサイズを求め、DMAスタートアドレスを、描画処理装置123のDMAアドレス生成装置へ転送する。
【0045】
再び図8に戻って説明を続ける。上述のステップS9において、読み出したコマンドが描画パラメータ設定コマンドでないと判定した場合(ステップS9の結果:NO)、コマンド解析装置122は、読み出したコマンドが終端コマンド(バンド終了コマンド)であるか否かを判定する(ステップS11)。読み出したコマンドが終端コマンドであると判定された場合(ステップS11の結果:YES)、処理が終了する。
【0046】
図12は、描画処理装置123の構成例を示すブロック図である。図12に示すように、描画処理装置123は、DMAアドレス生成装置131と、DMA読み込み装置132と、バンドパラメータ記憶装置133と、描画パラメータ記憶装置134と、水平ライン変換装置135と、水平ライン描画装置136とを含む。
【0047】
DMAアドレス生成装置131は、コマンド解析装置122から、ハーフトーンパターンDMAスタート信号、DMAワード数、DMAスタートアドレスを受け取り、DMAアドレスを生成してDMA読み込み装置132へ転送する。DMA読み込み装置132は、DMAアドレス生成装置131からDMAアドレスを受信した場合、図7のメモリアービターI/F121を介してメインメモリ112にアクセスし、メインメモリ112のうちDMAアドレスで特定される領域に格納されたハーフトーンパターンを読み出して水平ライン描画装置136へ転送する。バンドパラメータ記憶装置133は、コマンド解析装置122から転送されたバンドパラメータを記憶する。描画パラメータ記憶装置134は、コマンド解析装置122から転送された描画パラメータを記憶する。水平ライン変換装置135は、描画パラメータ記憶装置134に記憶された描画パラメータを読み出し、その読み出した描画パラメータを水平ラインデータに変換する。水平ラインデータには、水平ラインY値、水平ラインX始点値、水平ラインX終点値が含まれる。水平ライン描画装置136は、水平ライン変換装置135からの水平ラインデータに基づき、図7のメモリアービターI/F121を介してメインメモリ112のバンドメモリ領域へ描画する。
【0048】
図13は、水平ライン描画装置136の構成例を示すブロック図である。図13に示すように、水平ライン描画装置136は、ハーフトーンパターンアドレス生成装置141と、X始点ワード値生成装置142と、X終点ワード値生成装置143と、描画ワードX値生成装置144と、ハーフトーンパターンシフト値生成装置145と、描画マスク生成装置146と、ハーフトーンパターン記憶装置147と、巡回シフト装置148と、論理演算装置149と、描画アドレス生成装置150と、水平描画コントローラ151とを含む。
【0049】
ハーフトーンパターンアドレス生成装置141は、水平ライン変換装置135から転送された水平ラインY値と、DMA読み込み装置132で読み込まれたハーフトーンパターンのY方向の幅(Y幅)とから、水平ラインY値−MOD−ハーフトーンパターンY幅を行い、割り算の余りであるハーフトーンパターンのY値を求め、ハーフトーンパターンアドレスとして、ハーフトーンパターン記憶装置147へ転送する。
【0050】
X始点ワード値生成装置142は、水平ライン変換装置135から転送された水平ラインX始点値から、描画ワード単位の描画ワードX始点値を求め、描画ワードX値生成装置144へ転送する。X終点ワード値生成装置143は、水平ライン変換装置135から転送された水平ラインX終点値から、描画ワード単位の描画ワードX終点値を求め、描画ワードX値生成装置144へ転送する。描画ワードX値生成装置144は、描画ワード単位のX始点値からX終点値の描画ワードX値を生成し、ハーフトーンパターンシフト値生成装置145へ転送する。
【0051】
ハーフトーンパターンシフト値生成装置145は、描画ワードX値生成装置144から転送される描画ワードX値と、DMA読み込み装置132で読み込まれたハーフトーンパターンのX方向の幅(X幅)とから、描画ワードX値−MOD−ハーフトーンパターンX幅を行い、割り算の余りであるハーフトーンパターンのX値を求め、ハーフトーンパターンシフト値として巡回シフト装置148へ転送する。描画マスク生成装置146は、水平ライン変換装置135から転送される水平ラインX始点値および水平ラインX終点値から、描画ワードごとのX始点からX終点までの描画マスクを生成し、論理演算装置149へ転送する。
【0052】
ハーフトーンパターン記憶装置147は、ハーフトーンパターンの描画ワードの水平ラインを、ハーフトーンパターンのY幅分記憶する記憶装置であり、ハーフトーンパターンアドレス生成装置141からのハーフトーンパターンアドレスによりアクセスされたハーフトーンパターン値を巡回シフト装置148へ転送する。
【0053】
巡回シフト装置148は、ハーフトーンパターン記憶装置147からハーフトーンパターン値を、ハーフトーンパターンシフト値生成装置145からハーフトーンパターンシフト値を、描画パラメータ記憶装置134からハーフトーンパターンあまり値を受け取り、ハーフトーンパターン値を巡回シフトし、巡回シフト後のハーフトーンパターン値を論理演算装置149へ転送する。論理演算装置149は、AND回路で構成され、巡回シフト装置148からの巡回シフト後のハーフトーンパターン値と、描画マスク生成装置146からの描画マスクとの論理積を求めて描画パターン値を生成し、その生成した描画パターン値をメモリアービターI/F121へ転送する。
【0054】
描画アドレス生成装置150は、水平ライン変換装置135からの水平ラインY値および水平ラインX始点値からメインメモリ112のバンドメモリへ描画するアドレスである描画アドレスを生成し、メモリアービターI/F121へ転送する。水平描画コントローラ151は、水平ライン描画装置136全体を制御する。
【0055】
以上に説明したように、本実施形態では、描画対象の画像が、描画バンドに属する場合にのみ、ハーフトーンパターンの読み出しが行われ、描画対象の画像が、描画バンドに属さない場合は、ハーフトーンパターンの読み出しが行われないので、描画が完了するまでの処理の高速化を図ることが可能になるという有利な効果を奏する。
【0056】
例えば図14に示すバンド2の描画を行う場合を例に挙げて説明する。図16に示すように、従来の構成では、ハーフトーンパターンセットコマンドが読み出されるたびに、ハーフトーンパターンの読み出しが行われるので、バンド2の描画が完了するまでの処理時間が長くなってしまい、処理の高速化を図ることは困難である。これに対して、本実施形態では、ハーフトーンパターンセットコマンドが来ても、描画実行コマンドで描画の実行が指示された画像が描画バンドに属さない場合は、ハーフトーンパターンDMAを行わない。そして、描画実行コマンドで描画の実行が指示された画像が、描画バンドに属すると判断された最初の画像である場合にのみ、ハーフトーンパターンDMAを行い、それ以降における描画バンドの描画では、ハーフトーンパターンDMAを行わない。本実施形態では、ハーフトーンパターンDMAフラグを使用し、ハーフトーンパターンセットコマンドが来たらハーフトーンパターンDMAフラグをONに設定して、描画バンドに属すると判断された最初の画像の描画でOFFに設定する。描画処理を実施するには、ハーフトーンパターンDMAフラグがONであれば、ハーフトーンパターンDMAを行ってから描画処理を行う。ハーフトーンパターンDMAフラグがOFFであれば、ハーフトーンパターンDMAを行わずに描画処理を行う。このように、本実施形態では、無駄なハーフトーンパターンDMAを行わないので、高速に処理することができる。
【0057】
以上、本発明の実施形態について説明したが、本発明は上述の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の変形が可能である。また、本実施形態の画像形成装置100で実行される前述の各種の処理を実現するプログラムは、ROM等に予め組み込んで提供するように構成されるが、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)、各種メモリカード等のコンピュータで読み取り可能な記録媒体に記録して提供することもできる。
【0058】
また、本実施形態の画像形成装置で実行される上記プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
【0059】
なお、上記実施形態では、本発明がプリンタ装置に適用されるように説明したが、これは一例でありこの例に限定されない。すなわち、本発明は、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像形成装置であればいずれにも適用することができる。
【符号の説明】
【0060】
100 画像形成装置
103 メモリアービター
104 メモリコントローラ
105 描画装置
106 エンジンコントローラ
107 通信コントローラ
108 ローカルI/F
109 ROM
110 パネルコントローラ
112 メインメモリ
113 パネル
114 プリンタエンジン
122 コマンド解析装置
123 描画処理装置
124 コントローラ
131 DMAアドレス生成装置
132 DMA読み込み装置
133 バンドパラメータ記憶装置
134 描画パラメータ記憶装置
135 水平ライン変換装置
136 水平ライン描画装置
141 ハーフトーンパターンアドレス生成装置
142 始点ワード値生成装置
143 終点ワード値生成装置
144 描画ワードX値生成装置
145 ハーフトーンパターンシフト値生成装置
146 描画マスク生成装置
147 ハーフトーンパターン記憶装置
148 巡回シフト装置
149 論理演算装置
150 描画アドレス生成装置
151 水平描画コントローラ
【先行技術文献】
【特許文献】
【0061】
【特許文献1】特許第4490783号公報

【特許請求の範囲】
【請求項1】
所定範囲の領域を示すバンドを単位として画像を描画する画像処理装置であって、
ハーフトーン処理後の画像を示すハーフトーンパターンを記憶する第1記憶部と、
描画が行われる前記バンドを示す描画バンドを特定する第1コマンドと、前記ハーフトーンパターンの読み込みを指示する第2コマンドと、描画の実行を指示する第3コマンドとを含む描画コマンドを解析して、前記描画バンドを特定するとともに、描画対象の画像が前記描画バンドに属するか否かを判断する解析部と、
前記第2コマンドで描画が指示された画像が、前記描画バンドに属しないと判断された画像の場合は、前記ハーフトーンパターンの読み込みを行わず当該画像を描画しない一方、前記第2コマンドで描画が指示された画像が、前記描画バンドに属すると判断された最初の画像である場合は、前記第1コマンドで指定された前記ハーフトーンパターンを前記第1記憶部から読み込み、その読み込んだ前記ハーフトーンパターンを用いて当該画像の描画を行い、それ以降の前記描画バンドの描画においては前記ハーフトーンパターンの読み込みを行わない描画処理部と、を備える、
ことを特徴とする画像処理装置。
【請求項2】
所定の言語で記述され、画像の描画を指示する画像描画指示データをホスト装置から受信する受信部と、
前記画像描画指示データを解釈して、前記描画コマンドを生成する描画コマンド生成部と、
前記描画コマンドを記憶する第2記憶部と、をさらに備え、
前記解析部は、前記第2記憶部に記憶された前記描画コマンドを読み出して解析する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
所定範囲の領域を示すバンドを単位として画像を描画する画像処理方法であって、
描画が行われる前記バンドを示す描画バンドを特定する第1コマンドと、前記ハーフトーンパターンの読み込みを指示する第2コマンドと、描画の実行を指示する第3コマンドとを含む描画コマンドを解析して、前記描画バンドを特定するとともに、描画対象の画像が前記描画バンドに属するか否かを判断する解析ステップと、
前記第2コマンドで描画が指示された画像が、前記描画バンドに属しないと判断された画像の場合は、前記ハーフトーンパターンの読み込みを行わず当該画像を描画しない一方、前記第2コマンドで描画が指示された画像が、前記描画バンドに属すると判断された最初の画像である場合は、前記第1コマンドで指定された前記ハーフトーンパターンを前記第1記憶部から読み込み、その読み込んだ前記ハーフトーンパターンを用いて当該画像の描画を行い、それ以降の前記描画バンドの描画においては前記ハーフトーンパターンの読み込みを行わない描画処理ステップと、を備える、
ことを特徴とする画像処理方法。
【請求項4】
請求項3の画像処理方法をコンピュータに実行させるためのプログラム。

【図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