(57)【要約】【課題】任意のクリッピング図形の描画処理を少ないメモリ容量でかつ高速に実行可能にすること。【解決手段】任意の多角形クリッピング情報を取り込んで描画出力を行なう画像処理装置において、多角形クリッピング情報、描画後画像データを格納するメインメモリ１０４と、メインメモリ１０４に多角形クリッピング情報を書き込み、バンドの描画コマンドを転送するＣＰＵ１０１と、メインメモリ１０４に格納されている多角形クリッピング情報を水平方向にスキャンし、そのラインと交差するクリッピング図形の開始点および終点をライン毎に読み込んで多角形クリッピングを実行し、メインメモリ１０４にバンドデータとして描画する描画装置１０５と、を備える。【選択図】        図４
2005260871.tif 000002
【特許請求の範囲】
【請求項１】
任意の多角形クリッピング情報を取り込んで描画出力を行なう画像処理装置において、
前記多角形クリッピング情報、描画後画像データを格納するデータ格納領域と、
前記データ格納領域に多角形クリッピング情報を書き込み、バンドの描画コマンドを転送する転送・制御手段と、
前記データ格納領域に格納されている前記多角形クリッピング情報を水平方向にスキャンし、そのラインと交差するクリッピング図形の開始点および終点をライン毎に読み込んで多角形クリッピングを実行し、前記データ格納領域に描画後画像データとして描画する描画手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記描画処理手段は、
描画コマンド解析手段と、水平クリッピング情報生成手段と、水平ライン描画手段と、水平クリッピング情報生成手段と、を備え、
前記描画コマンド解析手段は、前記転送・制御手段からの描画コマンドを受け取り、描画する水平ラインのＹ値を前記水平クリッピング情報生成手段へ転送し、前記水平ライン描画手段へ水平ラインの開始Ｘ値と終点Ｘ値を送り、
前記水平クリッピング情報生成手段は、前記描画コマンド解析手段から描画する水平ラインのＹ値を受け取り、前記多角形クリッピング情報からＹ値の水平方向の多角形クリッピング情報を読み込み、
前記水平ライン描画手段は、前記描画コマンド解析手段から水平ラインの開始Ｘ値と終点Ｘ値から水平ラインの描画処理を開始し、前記データ格納手段のワードごとの描画パターンを生成して前記階調処理手段へ転送し、描画ワードの水平ワード数である描画ワード番号を前記水平クリッピング情報生成手段へ転送し、
前記水平クリッピング情報生成手段は、前記水平ライン描画手段からの描画ワード番号に対応するクリップパターンを生成し当該描画後画像データを前記データ格納領域に描画することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
任意の多角形クリッピング情報を取り込んで描画出力を行なう画像処理方法において、
前記多角形クリッピング情報、描画後画像データを格納するデータ格納領域と、
前記データ格納領域に多角形クリッピング情報を書き込み、バンドの描画コマンドを転送する転送・制御工程と、
前記データ格納領域に格納されている前記多角形クリッピング情報を水平方向にスキャンし、そのラインと交差するクリッピング図形の開始点および終点をライン毎に読み込んで多角形クリッピングを実行し、前記データ格納領域に描画後画像データバンドデータとして描画する描画工程と、
を含むことを特徴とする画像処理方法。
【請求項４】
前記描画処理工程は、
前記描画コマンド解析工程と、水平クリッピング情報生成工程と、水平ライン描画工程と、水平クリッピング情報生成工程と、を含み、
描画コマンド解析工程は、前記転送・制御工程からの描画コマンドを受け取り、描画する水平ラインのＹ値を前記水平クリッピング情報生成工程へ転送し、前記水平ライン描画工程へ水平ラインの開始Ｘ値と終点Ｘ値を送り、
前記水平クリッピング情報生成工程は、前記描画コマンド解析工程から描画する水平ラインのＹ値を受け取り、前記多角形クリッピング情報からＹ値の水平方向の多角形クリッピング情報を読み込み、
前記水平ライン描画工程は、前記描画コマンド解析工程から水平ラインの開始Ｘ値と終点Ｘ値から水平ラインの描画処理を開始し、前記データ格納手段のワードごとの描画パターンを生成して前記階調処理工程へ転送し、描画ワードの水平ワード数である描画ワード番号を前記水平クリッピング情報生成工程へ転送し、
前記水平クリッピング情報生成工程は、前記水平ライン描画工程からの描画ワード番号に対応するクリップパターンを生成し、当該描画後画像データを前記データ格納領域に描画することを特徴とする請求項３に記載の画像処理方法。
【請求項５】
前記請求項３または４に記載の画像処理方法を、コンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル複写機、デジタルカメラ、プリンタなどに利用される画像処理装置および画像処理方法、並びに画像処理方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
従来、クリッピング処理は３Ｄグラフィックスのポリゴン単位のデータを幾何変換し、２次元スクリーンへ投影させたときに、２次元スクリーンからはみ出た部分をなくすために２次元クリッピングを行なうアルゴリズムが幾つか知られている。その代表例として、リエントラント型多角形クリッピング方式がある（たとえば、非特許文献１参照）。
【０００３】
また、図２５に示すように、２次元スクリーンのクリッピングインドウに対しＰ１〜Ｐ８の端点を結ぶ多角形をクリッピングするとき、まずは、クリッピングインドウの左端に注目し、Ｐ１〜Ｐ８間のラインクロスする点、Ｐ１〜Ｐ２間をクロスする点をそれぞれ求め、端点を増やし接続し、新たな多角形を形成し、同様にクリッピングインドウの上に注目して同様な処理を行ない、新たな多角形を形成し、同様にクリッピングインドウの右端に注目し、同様な処理を行ない、新たな多角形を形成し、同様にクリッピングインドウの下に注目し、同様な処理を行ない、新たな多角形を形成し、Ｑ１〜Ｑ１０の端点を持ったクリッピング後の多角形を形成することが可能である。
【０００４】
そして、この非特許文献１のSutherland−Hodgmanのアルゴリズムをハードウエア化した方式としてクリッピング処理装置が開示されている（たとえば、特許文献１参照）。一般的に、このSutherland−Hodgmanのアルゴリズムは２次元スクリーンのような４角形のクリッピング図形に対してクリッピング処理を行ない、かなり複雑化するが、多角形のクリッピングも可能である。凹図形の多角形のクリッピングの場合は、常に多角形クリッピングの内部および外部を判定しながら処理を進める必要がある。
【０００５】
また、プリンタのシステムでの任意図形のクリッピング処理の例であり、多角形クリッピングの図形を別領域に描画し、バンドバッファへ図形を描画するとき、その図形の位置に対応する先に別領域へ描画された多角形クリッピング画像を読み込んでＡＮＤ処理を行ない、バンドバッファへ描画する方法が知られている（たとえば、特許文献２参照）。
【０００６】
また、２次元多角形図形を各水平ライン毎に開始点Ｘ、終点Ｘ値へ変換し、描画するオーダードエッジリストアルゴリズム方式が知られている（たとえば、非特許文献２）。この方式を３次元グラフィックスのポリゴン描画でハードウエア化した方式が画像処理装置として開示されている（たとえば、特許文献３参照）。
【０００７】
【特許文献１】特許第２９８３７２８号公報
【特許文献２】特開平８−２９７７３７号公報
【特許文献３】特許第３３３２１６５号公報
【非特許文献１】Sutherland,Ivan,E And Hodgman Gray,W"Reentrant Polygon Clipping"CACM Vol.17 pp32−42,1974：David F.Rogers"Procedural Elements For Computer Graphics"1985
【非特許文献２】David F.Rogers"Procedural Elements For Computer Graphics"1985
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記に示されるような非特許文献１（Sutherland−Hodgman）のアルゴリズムを使用した方法にあっては、２次元スクリーンのような四角形のクリッピング図形に対して処理する場合には、あまり演算量が気にならないが、任意多角形図形に行なう場合、多くの演算量と、クリッピング図形の辺ごとにクリッピング処理を行なうことで、多くのステップを必要とするため、多くの処理時間がかかるとともに、作成されたクリッピング後の図形も、当初、四角形描画の処理が任意の多角形描画の処理になるため、図形を描画するアルゴリズムも複雑になるとともにハードウエア化を行なうことが困難であった。
【０００９】
また、特許文献２に開示されている方法にあっては、任意のクリッピング図形を別領域へ描画された形で記憶するため、ＭＡＸ時は、バンド領域分あるいははページ領域分の記憶領域を必要とする。また、描画時に描画された任意クリッピング図形を常に読み込み、クリッピング図形と描画図形のＡＮＤ処理を行ないながらバンドメモリへ描画するため、メモリのアクセス量が大きくなり、処理速度の低下も生じるといった問題点があった。
【００１０】
本発明は、上記に鑑みてなされたものであって、任意のクリッピング図形の描画処理を少ないメモリ容量でかつ高速に実行可能にすることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、任意の多角形クリッピング情報を取り込んで描画出力を行なう画像処理装置において、前記多角形クリッピング情報、描画後画像データを格納するデータ格納領域と、前記データ格納領域に多角形クリッピング情報を書き込み、バンドの描画コマンドを転送する転送・制御手段と、前記データ格納領域に格納されている前記多角形クリッピング情報を水平方向にスキャンし、そのラインと交差するクリッピング図形の開始点および終点をライン毎に読み込んで多角形クリッピングを実行し、前記データ格納領域にバンドデータとして描画する描画手段と、を備えたことを特徴とする。
【００１２】
この請求項１にかかる発明によれば、描画手段が、任意の多角形クリッピング図形を、水平方向にライン毎にスキャンし、この水平ラインにクロスする任意クリッピング図形の開始点と終点の情報のみを読み込み、描画するメモリワードの描画パターンとクリッピングパターンをリアルタイムで生成してデータ格納領域にバンドデータとして描画することにより、各水平スキャンラインとクロスする開始点値と終点値のみの情報として図形を描画することが可能になる。
【００１３】
また、請求項２にかかる発明は、前記描画処理手段は、描画コマンド解析手段と、水平クリッピング情報生成手段と、水平ライン描画手段と、水平クリッピング情報生成手段と、を備え、前記描画コマンド解析手段は、前記転送・制御手段からの描画コマンドを受け取り、描画する水平ラインのＹ値を前記水平クリッピング情報生成手段へ転送し、前記水平ライン描画手段へ水平ラインの開始Ｘ値と終点Ｘ値を送り、前記水平クリッピング情報生成手段は、前記描画コマンド解析手段から描画する水平ラインのＹ値を受け取り、前記多角形クリッピング情報からＹ値の水平方向の多角形クリッピング情報を読み込み、前記水平ライン描画手段は、前記描画コマンド解析手段から水平ラインの開始Ｘ値と終点Ｘ値から水平ラインの描画処理を開始し、前記データ格納手段のワードごとの描画パターンを生成して前記階調処理手段へ転送し、描画ワードの水平ワード数である描画ワード番号を前記水平クリッピング情報生成手段へ転送し、前記水平クリッピング情報生成手段は、前記水平ライン描画手段からの描画ワード番号に対応するクリップパターンを生成し、当該描画後画像データを前記データ格納領域に描画することを特徴とする。
【００１４】
この請求項２にかかる発明によれば、請求項１において、描画コマンド解析手段が、転送・制御手段からの描画コマンドを受け取って描画する水平ラインのＹ値を水平クリッピング情報生成手段へ転送し、また、水平ライン描画手段へ水平ラインの開始Ｘ値と終点Ｘ値を送り、水平クリッピング情報生成手段が、描画コマンド解析手段から描画する水平ラインのＹ値を受け取り、上記多角形クリッピング情報からＹ値の水平方向の多角形クリッピング情報を読み込み、水平ライン描画手段が、描画コマンド解析手段から水平ラインの開始Ｘ値と終点Ｘ値から水平ラインの描画処理を開始し、前記データ格納手段のワードごとの描画パターンを生成して階調処理手段へ転送し、描画ワードの水平ワード数である描画ワード番号を水平クリッピング情報生成手段へ転送し、水平クリッピング情報生成手段が、水平ライン描画手段からの描画ワード番号に対応するクリップパターンを生成し、当該画像描画データをデータ格納領域に描画することにより、各水平スキャンラインとクロスする開始点値と終点値のみの情報として任意の多角形クリッピング図形を描画することが可能になる。
【００１５】
また、請求項３にかかる発明は、任意の多角形クリッピング情報を取り込んで描画出力を行なう画像処理方法において、前記多角形クリッピング情報、描画後画像バンドデータを格納するデータ格納領域と、前記データ格納領域に多角形クリッピング情報を書き込み、バンドの描画コマンドを転送する転送・制御工程と、前記データ格納領域に格納されている前記多角形クリッピング情報を水平方向にスキャンし、そのラインと交差するクリッピング図形の開始点および終点をライン毎に読み込んで多角形クリッピングを実行し、前記データ格納領域に描画後画像データバンドとして描画する描画工程と、を含むことを特徴とする。
【００１６】
この請求項３にかかる発明によれば、描画工程において、任意の多角形クリッピング図形を、水平方向にライン毎にスキャンし、この水平ラインにクロスする任意クリッピング図形の開始点と終点の情報のみを読み込み、描画するメモリワードの描画パターンとクリッピングパターンをリアルタイムで生成してデータ格納領域にバンドデータとして描画することにより、各水平スキャンラインとクロスする開始点値と終点値のみの情報として図形を描画することが可能になる。
【００１７】
また、請求項４にかかる発明は、前記描画処理工程は、描画コマンド解析工程と、水平クリッピング情報生成工程と、水平ライン描画工程と、水平クリッピング情報生成工程と、を含み、前記描画コマンド解析工程は、前記転送・制御工程からの描画コマンドを受け取り、描画する水平ラインのＹ値を前記水平クリッピング情報生成工程へ転送し、前記水平ライン描画工程へ水平ラインの開始Ｘ値と終点Ｘ値を送り、前記水平クリッピング情報生成工程は、前記描画コマンド解析工程から描画する水平ラインのＹ値を受け取り、前記多角形クリッピング情報からＹ値の水平方向の多角形クリッピング情報を読み込み、前記水平ライン描画工程は、前記描画コマンド解析工程から水平ラインの開始Ｘ値と終点Ｘ値から水平ラインの描画処理を開始し、前記データ格納手段のワードごとの描画パターンを生成して前記階調処理工程へ転送し、描画ワードの水平ワード数である描画ワード番号を前記水平クリッピング情報生成工程へ転送し、前記水平クリッピング情報生成工程は、前記水平ライン描画工程からの描画ワード番号に対応するクリップパターンを生成し、当該描画後画像データを前記データ格納領域に描画することを特徴とする。
【００１８】
この請求項４にかかる発明によれば、請求項３において、描画コマンド解析工程が、転送・制御工程からの描画コマンドを受け取て描画する水平ラインのＹ値を水平クリッピング情報生成工程へ転送し、また、水平ライン描画工程へ水平ラインの開始Ｘ値と終点Ｘ値を送り、水平クリッピング情報生成工程が、描画コマンド解析工程から描画する水平ラインのＹ値を受け取り、上記多角形クリッピング情報からＹ値の水平方向の多角形クリッピング情報を読み込み、水平ライン描画工程が、描画コマンド解析工程から水平ラインの開始Ｘ値と終点Ｘ値から水平ラインの描画処理を開始し、前記データ格納工程のワードごとの描画パターンを生成して階調処理工程へ転送し、描画ワードの水平ワード数である描画ワード番号を水平クリッピング情報生成工程へ転送し、水平クリッピング情報生成工程が、水平ライン描画工程からの描画ワード番号に対応するクリップパターンを生成し、当該描画後画像データをデータ格納領域に描画することにより、各水平スキャンラインとクロスする開始点値と終点値のみの情報として任意の多角形クリッピング図形を描画することが可能になる。
【００１９】
また、請求項５にかかる発明は、前記請求項３または４に記載の画像処理方法を、コンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【００２０】
この請求項５にかかる発明によれば、前記請求項３または４に記載の画像処理方法を、プログラムとしてコンピュータ読み取り可能な記録媒体に記録することにより、コンピュータ上で前記請求項３または４に記載の画像処理方法を実行することが可能になる。
【発明の効果】
【００２１】
本発明（請求項１）にかかる画像処理装置は、描画手段が、任意の多角形クリッピング図形を、水平方向にライン毎にスキャンし、この水平ラインにクロスする任意クリッピング図形の開始点と終点の情報のみを読み込み、描画するメモリワードの描画パターンとクリッピングパターンをリアルタイムで生成してデータ格納領域にバンドデータとして描画することにより、各水平スキャンラインとクロスする開始点値と終点値のみの情報として図形を描画することが可能になるため、任意のクリッピング図形の描画処理を少ないメモリ容量でかつ高速に実行することができるという効果を奏する。
【００２２】
また、本発明（請求項２）にかかる画像処理装置は、請求項１において、描画コマンド解析手段が、転送・制御手段からの描画コマンドを受け取て描画する水平ラインのＹ値を水平クリッピング情報生成手段へ転送し、また、水平ライン描画手段へ水平ラインの開始Ｘ値と終点Ｘ値を送り、水平クリッピング情報生成手段が、描画コマンド解析手段から描画する水平ラインのＹ値を受け取り、上記多角形クリッピング情報からＹ値の水平方向の多角形クリッピング情報を読み込み、水平ライン描画手段が、描画コマンド解析手段から水平ラインの開始Ｘ値と終点Ｘ値から水平ラインの描画処理を開始し、前記データ格納手段のワードごとの描画パターンを生成して階調処理手段へ転送し、描画ワードの水平ワード数である描画ワード番号を水平クリッピング情報生成手段へ転送し、水平クリッピング情報生成手段が、水平ライン描画手段からの描画ワード番号に対応するクリップパターンを生成し、階調処理手段へ転送し、さらに階調処理手段が、水平ライン描画手段からの描画パターンと水平クリッピング情報生成手段からのクリップパターンから階調処理を行ない当該バンドデータをデータ格納領域に描画することにより、各水平スキャンラインとクロスする開始点値と終点値のみの情報として任意の多角形クリッピング図形を描画することが可能になるため、任意のクリッピング図形の描画処理を少ないメモリ容量でかつ高速に実行することができるという効果を奏する。
【００２３】
また、本発明（請求項３）にかかる画像処理方法は、描画工程において、任意の多角形クリッピング図形を、水平方向にライン毎にスキャンし、この水平ラインにクロスする任意クリッピング図形の開始点と終点の情報のみを読み込み、描画するメモリワードの描画パターンとクリッピングパターンをリアルタイムで生成してデータ格納領域にバンドデータとして描画することにより、各水平スキャンラインとクロスする開始点値と終点値のみの情報として図形を描画することが可能になるため、任意のクリッピング図形の描画処理を少ないメモリ容量でかつ高速に実行することができるという効果を奏する。
【００２４】
また、本発明（請求項４）にかかる画像処理方法は、請求項３において、描画コマンド解析工程が、転送・制御工程からの描画コマンドを受け取て描画する水平ラインのＹ値を水平クリッピング情報生成工程へ転送し、また、水平ライン描画工程へ水平ラインの開始Ｘ値と終点Ｘ値を送り、水平クリッピング情報生成工程が、描画コマンド解析工程から描画する水平ラインのＹ値を受け取り、上記多角形クリッピング情報からＹ値の水平方向の多角形クリッピング情報を読み込み、水平ライン描画工程が、描画コマンド解析工程から水平ラインの開始Ｘ値と終点Ｘ値から水平ラインの描画処理を開始し、前記データ格納工程のワードごとの描画パターンを生成して階調処理工程へ転送し、描画ワードの水平ワード数である描画ワード番号を水平クリッピング情報生成工程へ転送し、水平クリッピング情報生成工程が、水平ライン描画工程からの描画ワード番号に対応するクリップパターンを生成し、階調処理工程へ転送し、さらに階調処理工程が、水平ライン描画工程からの描画パターンと水平クリッピング情報生成工程からのクリップパターンから階調処理を行ない当該バンドデータをデータ格納領域に描画することにより、各水平スキャンラインとクロスする開始点値と終点値のみの情報として任意の多角形クリッピング図形を描画することが可能になるため、任意のクリッピング図形の描画処理を少ないメモリ容量でかつ高速に実行することができるという効果を奏する。
【００２５】
また、本発明（請求項５）にかかる記録媒体は、プログラムとしてコンピュータ読み取り可能な記録媒体に記録することにより、コンピュータ上で前記請求項３または４に記載の画像処理方法を実行することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２６】
以下に添付図面を参照して、この発明にかかる画像処理装置および画像処理方法、並びに画像処理方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体の最良な実施の形態を詳細に説明する。
【００２７】
本発明は、任意クリッピング図形を、各水平スキャンラインとクロスする開始点Ｘ値と終点Ｘ値の情報へ加工して記憶し、バンドメモリへ図形を描画するときに、描画する水平ラインにクロスする任意クリッピング図形の開始点Ｘ値と終点Ｘ値の情報のみを読み込み、リアルタイムで描画するメモリワードの描画パターンとクリッピングパターンを生成してＡＮＤ処理を行ない、バンドメモリへ描画することにより、任意クリッピング図形での描画処理を高速に行なうことができ、しかも処理が単純であるためにハードウエア化が容易になり、かつ任意クリッピング図形を各水平スキャンラインとクロスする開始点Ｘ値と終点Ｘ値の情報のみを記憶して処理することで、記憶領域を少なくすることを可能とするものである。以下、具体的に説明する。
【００２８】
（実施の形態）
まず、本発明による画像処理装置が搭載される画像形成装置（プリンタ）の構成および動作について説明する。図１は、本発明の実施の形態にかかる画像形成装置の機構部の構成例を示す説明図である。以下、図１の画像形成装置をカラープリンタと記述する。なお、この実施の形態ではレーザーカラープリンタを例にとるが、インクジェットプリンタなど他のカラープリンタであってもよい。
【００２９】
図１に示すカラープリンタ１００は、レーザー光書込みおよび電子写真プロセスにしたがい、４色（Ｙ（イエロー）、Ｍ（マゼンタ）、Ｃ（シアン）、Ｋ（ブラック））の画像をそれぞれ独立に配置された作像系１Ｙ、１Ｍ、１Ｃ、１Ｋで形成し、この４色の画像を記録紙に順次重ね合わせて転写し合成する４ドラムタンデムエンジンタイプの画像形成装置である。
【００３０】
各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋは、像担持体としての感光体、たとえば小径のＯＰＣ（有機感光体）ドラム２Ｙ、２Ｍ、２Ｃ、２Ｋを有し、このＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋを取り囲むように作像の上流側から帯電手段としての帯電ローラ３Ｙ、３Ｍ、３Ｃ、３Ｋと、ＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上の静電潜像をそれぞれ現像剤で現像してＹ、Ｍ、Ｃ、Ｋ各色のトナー像とする現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋと、クリーニング装置５Ｙ、５Ｍ、５Ｃ、５Ｋと、除電装置６Ｙ、６Ｍ、６Ｃ、６Ｋなどが配置されている。
【００３１】
各現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋの脇には、Ｙトナー、Ｍトナー、Ｃトナー、Ｋトナーをそれぞれ現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋへ所定の色のトナーを補給するトナーボトルユニット７Ｙ、７Ｍ、７Ｃ、７Ｋが配置されている。また、各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋはそれぞれ独立に配置されたレーザーによる光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋが配置され、この光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋはレーザー光源としてのレーザーダイオード（ＬＤ）光源９Ｙ、９Ｍ、９Ｃ、９Ｋや、コリメートレンズ１０Ｙ、１０Ｍ、１０Ｃ、１０Ｋ、ｆθレンズ１１Ｙ、１１Ｍ、１１Ｃ、１１Ｋ、といった光学部品、偏向走査手段としてのポリゴンミラー１２Ｙ、１２Ｍ、１２Ｃ、１２Ｋ、折り返しミラー１３Ｙ、１３Ｍ、１３Ｃ、１３Ｋ、１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋなどを有する。
【００３２】
各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋは垂直に配列され、その右側には転写ベルトユニット１５がＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋに接する形で配置される。転写ベルトユニット１５は、転写ベルト１６がローラ１７〜２０に張架されて駆動源（不図示）により回転駆動される。装置下側には転写材としての記録紙が収納された給紙トレイ２１が配置され、装置上部に熱定着ローラと加圧ローラを有する定着装置２２、排紙ローラ２３および排紙トレイ２４が配設されている。
【００３３】
作像時には、各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋにおいて、それぞれ、ＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋが駆動源(不図示)により回転駆動され、帯電ローラ３Ｙ、３Ｍ、３Ｃ、３ＫによりＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋが一様に帯電されて光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋが各色の画像データに基づきレーザーダイオードを変調し、そのレーザー光を偏向走査してＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋに光書込みを行なうことによって、ＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上に静電潜像が形成される。
【００３４】
このＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上の静電潜像はそれぞれ現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋにより現像されてＹ、Ｍ、Ｃ、Ｋ各色のトナー像となり、一方、給紙トレイ２１から給紙ローラ２５により転写紙が水平方向に給紙されて搬送系により作像系１Ｙ、１Ｍ、１Ｃ、１Ｋ方向へ垂直に搬送される。この記録紙は、転写ベルト１６に静電的に吸着保持されて転写ベルト１６により搬送され、転写バイアス印加手段（不図示）により転写バイアスが印加されてＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上のＹ、Ｍ、Ｃ、Ｋ各色のトナー像を順次に重ねて合わせて記録紙に転写することでフルカラー画像が記録紙上に形成される。このフルカラー画像が形成された記録紙は、定着装置２２によりフルカラーのトナー画像が熱および圧力の作用によって定着されて排紙ローラ２３により排紙トレイ２４へ排出される。
【００３５】
つぎに、以上のように構成されたカラープリンタにおける画像処理装置の構成および動作について説明する。図２は、図１における画像形成装置の電装・制御系の構成を示すブロック図である。この電装・制御系は、カラープリンタ１００全体の制御を行なうＣＰＵ１０１、メモリコントローラ１０３に接続されＣＰＵ１０１とメモリコントローラ１０３間のインターフェイス制御を実行するＣＰＵＩ／Ｆ１０２、メインメモリ１０４を制御しＣＰＵ１０１のローカルバス、復号化装置、画像処理装置、符号化装置とメインメモリとの転送を制御するメモリコントローラ１０３を備えている。
【００３６】
また、ＣＰＵ１０１からの描画コマンドを受け取りメインメモリ１０４のバンドを描画する描画装置１０５、メインメモリ１０４の２値バンドデータを符号化し、メインメモリ１０４へ符号を転送する符号化装置１０６、符号化装置１０６により符号化された符号を受け取り、各版を復号化し、Ｃ（シアン），Ｍ（マゼンタ），Ｙ（イエロー）、Ｋ（ブラック）版のエンジンコントローラへ転送する復号化装置１０７、復号化装置１０７から画像データを受け取って各版のプリンタエンジン１０９に転送するエンジンコントローラ１０８、Ｃ，Ｍ，Ｙ，Ｋ各版の画像を形成するプリンタエンジン１０９(図１参照)を備えている。
【００３７】
また、ネットワークに接続されネットワークから各種データやコマンドなどを受け取ってメモリコントローラ１０３を介して各種のコントローラに接続されている通信コントローラ１１０、プリント出力する画像やＣＰＵ１０１の制御プログラムや各種データなどを格納するメインメモリ１０４、ＲＯＭ１１２、パネルコントローラ１１３などと、ＣＰＵ１０１、メインメモリ１０４とのインターフェイス制御を実行するローカルＩ／Ｆ１１１、文字などのフォント情報やＣＰＵ１０１の制御プログラムなどを格納するＲＯＭ１１２、オペレーションパネル１１４を制御するパネルコントローラ１１３、ユーザーの入力操作をプリンタへ知らせるオペレーションパネル１１４を備えている。
【００３８】
図３は、本発明の実施の形態にかかる画像処理の流れを示すブロック図である。図において、ＣＰＵ１０１は、メインメモリの多角形クリップ情報領域１０４ｃへ多角形クリップ情報を書き込む。そして、描画処理装置１０５へバンドの描画コマンドを送る。メインメモリ１０４（図２参照）は、ＣＰＵ１０１により書き込まれた多角形クリップ情報を記憶する。描画装置１０５は、ＣＰＵ１０１からのコマンドにしたがってメインメモリ１０４の多角形クリップ情報領域１０４ｃの多角形クリップ情報を読み込んで多角形クリッピングを行ないバンドメモリ領域１０４ａへバンドを描画する。メインメモリ１０４は、描画処理装置１０５により描画されたバンドデータを記憶する。符号化装置１０６は、メインメモリ１０４のバンドメモリ領域１０４ａのバンドデータを読み込んで符号化し、メインメモリ１０４の符号ページメモリ領域１０４ｂへ符号を送る。メインメモリ１０４は、符号化装置１０６から符号を受け取り記憶する。復号化装置１０７は、メインメモリ１０４に記憶されたバンド毎の符号からなる１ページ分の符号を読み込んで復号化し、エンジンコントローラへ転送しプリンタエンジン１０９でプリント出力する。
【００３９】
図４は、本発明の実施の形態にかかる画像処理の概念を示すブロック図である。図において、ＣＰＵ１０１により、メインメモリ１０４の多角形クリップ情報メモリ領域１０４ｃへ多角形クリップ情報を書き込み、バンドの描画コマンドを生成し、描画処理装置１０５へ転送する。描画処理装置は１０５は、メインメモリ１０４の多角形クリップ情報メモリ領域１０４ｃの多角形クリップ情報を読み込んで多角形クリッピングを行ない、メインメモリ１０４のバンドメモリ領域１０４ａへバンドを描画する。さらに符号化装置１０６により、メインメモリ１０４のバンドメモリ領域１０４ａへバンドを読み込んで符号化し、メインメモリ１０４の符号ページメモリ領域１０４ｂへ符号を書き込む。メインメモリ１０４は、ＣＰＵ１０１からの多角形クリップ情報、描画処理装置１０５からのバンドの描画データ、符号化装置１０６からの符号１ページ分を記憶する。復号化装置１０７により、プリンタエンジン１０９に同期してメインメモリ１０４の符号ページメモリ領域１０４ｂの符号を復号化しエンジンコントローラ１０８へ転送する。エンジンコントローラ１０８は、復号化装置１０７から受け取った階調処理後の画像をプリンタエンジン１０９へ転送する。
【００４０】
図５は、図２におけるメインメモリ１０４のフォーマット例を示す説明図である。バンドメモリ領域１０４ａは、バンドデータを格納する。符号ページメモリ領域１０４ｂは、符号化された１ページ分のバンドの符号データを複数ページ分格納する領域である。多角形クリップ情報メモリ領域１０４ｃは、図７に示すような多角形クリップの外形情報を格納する領域であり、図８−１に示す例のように（Ａ）のような多角形クリップ図形に対し、（Ｂ）のように水平ラインとクロスする複数のＸ始点（クリップの開始点），Ｘ終点（クリップの終了点）を図８−２に示すようなフォーマットで格納している。図９に他の例を示す。図８の例では、多角形クリップ図形の存在する垂直方向の始点（ＣＬＩＰＹＳ）と終点（ＣＬＩＰＹＥ）を別に持ち、図８−２の情報の場所を示すが、図９ではバンドの高さ分の容量を持ち、０番目の水平ラインにクロスするクリップ情報がないために最初から、始点、終点とも０，０が入り、ここに情報がないことを示している。プログラム領域は、各種のＣＰＵのプログラムを格納する領域である。
【００４１】
図７は、多角形クリップ情報が指定された領域に四角形を描画する例であり、バンドメモリ上の符号２０１は多角形クリップ、符号２０２は四角形、符号２０３は多角形クリップ２０１と四角形２０４とのオーバラップ領域である。図８−１は多角形クリップ情報、図８−２は図８−１における多角形クリップ情報のフォーマットの例を示す説明図である。図９は、他の多角形クリップ情報のフォーマット例を示す説明図である。
【００４２】
図６は、本発明の実施の形態にかかる図２における画像処理の流れを示すブロック図であり、矢印番号の順に以下のように処理する。ＣＰＵ１０１は、メインメモリ１０４の多角形クリップ情報メモリ領域１０４ｃに多角形クリップ情報を書き込む。描画装置１０５は、メインメモリ１０４の多角形クリップ情報メモリ領域１０４ｃの多角形クリップ情報を読み込む。描画装置１０５は、メインメモリ１０４のバンドメモリ領域１０４ａへ多角形クリッピングを行ないながら描画処理を行なう。符号化装置１０５は、完成したバンドデータをメインメモリ１０４から読み込み符号化を行ない、符号化したバンドデータをメインメモリ１０３の符号ページ領域へ送る。復号化装置１０７は、完成されたページ符号データをメインメモリ１０４から読み込んで復号化し、復号化したページデータをエンジンコントローラ１０８へ送る。エンジンコントローラ１０８はプリンタエンジン１０９を制御しプリント出力を行なう。
【００４３】
図１０は、本発明の実施の形態にかかる描画装置１０５の構成および処理を示すブロック図である。図において、描画コマンド解析装置１２２は、ＣＰＵ１０１から描画コマンド１２１（ライン描画、四角形描画など）を受け取り、水平ラインのコマンドへ変換する。このとき、描画する水平ラインのＹ値を水平クリッピング情報生成装置１２６へ転送し、水平ライン描画装置１２３へ水平ラインの開始Ｘ値と終点Ｘ値を送る。水平クリッピング情報生成装置１２６は、描画コマンド解析装置１２２から描画する水平ラインのＹ値を受け取り、多角形クリッピング情報（メインメモリの多角形クリップ情報メモリ領域１０４ｃの内容）からＹ値の水平方向の多角形クリッピング情報を読み込む。水平ライン描画装置１２３は、描画コマンド解析装置１２２から水平ラインの開始Ｘ値と終点Ｘ値から水平ラインの描画処理を開始し、メモリのワードごとの描画パターンを生成し階調処理装置１２４へ転送し、描画ワードの水平ワード数である描画ワード番号を水平クリッピング情報生成装置１２６へ転送する。水平クリッピング情報生成装置１２６は、水平ライン描画装置１２３からの描画ワード番号に対応するクリップパターンを生成し、階調処理装置１２４へ転送する。階調処理装置１２４は、水平ライン描画装置１２３からの描画パターンと水平クリッピング情報生成装置１２６からのクリップパターンから階調処理を行ないバンドメモリ領域１０４ａへ描画していく。
【００４４】
図１１は、図１０における水平ライン描画装置１２３が生成する描画パターンと水平クリッピング情報生成装置１２６が生成するクリップパターンの例を示す説明図である。各パターンはメモリの１ワードのサイズと同じであり、クリップパターンは描画する水平ラインにかかる多角形クリップ図形の有効なＢＩＴを"１"にし、描画パターンはこの例では水平ラインにかかる四角形描画の有効なＢＩＴを"１"にしている。この描画パターンとクリップパターンのＡＮＤ処理されたパターンが描画する有効領域になる。
【００４５】
図１２は、図１０における描画装置１０５の動作処理を示すフローチャートであり、ＣＰＵ１０１によって実行される。この図において、まず、描画コマンド解析装置１２２は描画コマンド１２１を読み込み（ステップＳ１）、水平開始／終点Ｘ値を水平ライン描画装置１２３へ送り、そのＹ値を水平クリッピング情報生成装置１２６へ送る（ステップＳ２）。続いて、水平クリッピング情報生成装置１２６は、描画コマンド解析装置１２２からのＹ値によりＹラインの多角形クリッピング情報のメモリアドレスを求め、１ライン分のクリッピング情報を読み込む（ステップＳ３）。さらに水平ライン描画装置１２３は、描画コマンド解析装置１２２からの水平開始／終点Ｘ値により、描画するワードの番号の開始番号と終点番号を求め、開始点をＩＸとし（ステップＳ４）。その描画ワード番号ＩＸを水平クリッピング情報生成装置１２６へ転送する（ステップＳ５）。続いて、水平ライン描画装置１２３は、描画ワード番号ＩＸの描画パターンを求め、諧調処理装置１２４へ転送する（ステップＳ６）。さらに水平クリッピング情報生成装置１２６は、描画ワード番号ＩＸのクリッピングパターンを求め、諧調処理装置１２４へ転送する（ステップＳ７）。諧調処理装置１２４は、得られたクリッピングパターンと描画パターンとをＡＮＤ処理して諧調処理する画素を求め、諧調処理を行なう（ステップＳ８）。その後、ＩＸが描画ワード番号の終点であるか否かを判断し（ステップＳ９）、終点であれば、さらに全てのＹ値を処理したか否かを判断し（ステップＳ１０）、全てのＹ値を処理したならば、この処理動作を終了する。一方、ステップＳ９においてＩＸが描画ワード番号の終点でなければステップＳ５に戻り、ステップＳ１０において全てのＹ値を処理していなければステップＳ２に戻る。
【００４６】
図１３は、図２における描画装置１０５の詳細構成を示すブロック図である。この描画装置１０５は、メモリコントローラＩ／Ｆ１２０、描画コマンド解析装置１２２、水平ライン描画装置１２３、諧調処理装置１２４、水平クリッピング情報生成装置１２６、書き込みアドレス生成装置１２７、パラメータ記憶装置１２８、コントローラ１２９を備えている。
【００４７】
描画コマンド解析装置１２２は、ＣＰＵ１０１からの描画コマンドを受け取り、各水平ラインのＸ始点／Ｘ終点値と、その水平ラインのＹ値を求め、水平ライン描画装置１２３へ転送し、その水平ラインのＹ値を水平クリッピング情報生成装置１２６へ転送する。水平ライン描画装置１２３は、描画コマンド解析装置からの水平ラインのＸ始点／Ｘ終点値とその水平ラインのＹ値を受け取り、水平ラインのＸ始点から、メモリのワード単位の描画パターンとその水平ラインにおけるＸ始点のメモリのワードのアドレスである先頭アドレスを階調処理装置１２４へ転送する。
【００４８】
また、生成した描画パターンの水平ライン上でのワード番号を水平クリッピング情報生成装置１２６へ転送する。水平クリッピング情報生成装置１２６は、描画コマンド解析装置１２２から描画する水平ラインのＹ値を受け取り、メモリコントローラＩ／Ｆ１２０へメインメモリ１０４の多角形クリップ情報メモリ領域 １０４ｃのＹ値のアドレスを生成して送り、Ｙ値のスキャンラインの複数個のクリップ開始点とクリップ終点をメモリコントローラＩ／Ｆ１２０をかいしてメインメモリ１０４の多角形クリップ情報メモリ領域１０４ｃから受け取る。
【００４９】
そして、水平ライン描画装置１２３から、順次、描画するワード番号を受け取り、クリップパターンを生成し、階調処理装置１２４へ転送する。階調処理装置１２４は、水平ライン描画装置１２３からの描画パターンと水平クリッピング情報生成装置１２６からのクリップパターンを順次受け取り、この２つのパターンをＡＮＤ処理したパターンに対しＣ，Ｍ，Ｙ，Ｋ版のデイザ処理を行ない、メモリコントローラＩ／Ｆ１２０をかいしてメインメモリ１０４のバンドメモリ領域１０４ａへ描画処理を行なう。また、書き込みアドレス生成装置１２７は、階調処理装置１２４のＣ，Ｍ，Ｙ，Ｋ版のデータに同期してメインメモリ１０４のバンドメモリ領域１０４ａのメモリアドレスを生成する。パラメータ記憶装置１２８は、描画装置１０５が必要なパラメータをＣＰＵ１０１から設定され、記憶している。コントローラ１２９は、描画装置１０５の全体を制御する。
【００５０】
図１４は、図１３における水平クリッピング情報生成装置１２６の詳細構成を示すブロック図である。この水平クリッピング情報生成装置１２６は、多角形クリップ情報読み込み装置１３０、多角形クリップデータ格納装置１３１、対象ワード開始／終点Ｘ生成装置１３２、描画クリップパターン生成装置１３３、描画ワードの終点Ｘ値生成装置１３４、多角形クリップアドレス生成装置１３５を備えている。
【００５１】
多角形クリップアドレス生成装置１３５は、描画コマンド解析装置１２２から描画する水平ラインのＹ値を受け取り、メインメモリ１０４のＹラインの多角形クリップ情報のアドレスを計算し、メモリコントローラＩ／Ｆ１０３へ多角形クリップ読み込みアドレスを転送する。多角形クリップ情報読み込み装置１３０は、多角形クリップアドレス生成装置１３５で求めたアドレスによりアクセスされたメインメモリ１０４のＹラインの多角形クリップ情報を多角形クリップデータ格納装置１３１へ転送する。
【００５２】
また、多角形クリップデータ格納装置１３１は、多角形クリップ情報読み込み装置１３０からのＹラインの多角形クリップ情報を格納し、対象ワード開始／終点Ｘ生成装置１３２へ転送する。描画ワードの開始／終点Ｘ値生成装置１３４は、水平ライン描画装置１２３からの描画する水平ラインのメモリのワード番号を受け取り、そのワードの開始Ｘ値と終点Ｘ値を図１５に示すように求める。
【００５３】
この図１５において、描画ワード番号が５の例では、メモリワードのＢＩＴ数を３２とすると、メモリワードＢＩＴ数×描画ワード番号＝描画ワード開始Ｘ値であるため、３２×５＝１６０であり、メモリワードＢＩＴ数×（描画ワード番号＋１）＝描画ワード終点Ｘ値であるため、３２×６＝１９２となる。
【００５４】
また、対象ワード開始／終点Ｘ生成装置１３２は、多角形クリップデータ格納装置１３１から多角形クリップ情報である複数のクリップ開始／終点値と、描画ワードの開始／終点Ｘ値生成装置１３４からの描画ワード開始／終点Ｘ値を受け取り、水平開始Ｘ値と水平終点Ｘ値を求め、描画クリップパターン生成装置１３３へ転送する。この水平開始Ｘ値と水平終点Ｘ値は、図１５に示す描画ワード番号が７の例のように水平開始Ｘ値、水平終点Ｘ値は、描画ワード開始点Ｘ値と描画ワード終点Ｘ値の中のクリップパターンの開始点Ｘ値と終点Ｘ値を求める。
【００５５】
描画クリップパターン生成装置１３３は、対象ワード開始／終点Ｘ生成装置からクリップパターンの開始点Ｘ値と終点Ｘ値とクリップフラグを受け取り、クリップパターンを生成する。このクリップフラグは描画可能な領域が存在するか／しないか？を示すフラグであり、このフラグが"０"（描画可能な領域が存在しない）であれば、クリップパターンは無条件で０ｘ０００００となる。
【００５６】
図１６は、図１４における多角形クリップデータ格納装置１３１の詳細構成を示すブロック図である。この多角形クリップデータ格納装置１３１は、水平開始Ｘ値をそれぞれ記憶するレジスタ１３６，１３８，１４０，１４２、水平終点Ｘ値それぞれを記憶するレジスタ１３７，１３９，１４１，１４３を備えている。
【００５７】
図１７−１〜図１７−２は、図１４における水平クリッピング情報生成装置１２６の処理動作を示すフローチャートである。図において、ステップＳ１１〜Ｓ１６では、多角形クリップデータ格納装置１３１の多角形クリップ情報の複数のクリップ開始／終点Ｘ値に対し、描画ワードの開始／終点Ｘ値生成装置１３４からの描画ワード開始Ｘ値と描画ワード終点Ｘ値を比較し、関係するクリップ開始／終点Ｘ値を求める。さらにステップＳ７〜Ｓ３７において、その関係するクリップ開始／終点Ｘ値と描画ワード開始Ｘ値と描画ワード終点Ｘ値から描画クリップパターン生成装置１３３へ送る水平開始Ｘ値と水平終点Ｘ値を求めている。ここで、ステップＳ１７〜Ｓ２３の処理を詳細に説明すると、ステップＳ１７〜Ｓ２３において、関係するクリップ開始／終点Ｘ値と描画ワード開始Ｘ値が１番目であるかを確認し、ステップＳ１７〜Ｓ２０で、クリップ開始Ｘ値と描画ワード開始Ｘ値のうち、大きいほうを水平開始Ｘ値とし、ステップＳ２１〜Ｓ２３で、クリップ終点Ｘ値と描画ワード終点Ｘ値のうち、小さいほうを水平終点Ｘ値としている。
【００５８】
図１８は、図１４の水平クリッピング情報生成装置１２６における描画クリップパターン生成装置１３３の処理動作を示すフローチャートである。図において、まず、クリップフラグが０であるか否かを判断し（ステップＳ４１）、クリップフラグが０であれば、クリップパターンを０ｘ００００  ００００とし（ステップＳ４２）、ステップＳ４４に進む。一方、ステップ４１においてクリップフラグが０でなければ、水平開始／終点Ｘ値からクリップパターンを生成する（ステップＳ４３）。続いて、クリップパターンを諧調処理装置１２４に転送し（ステップＳ４４）、この処理動作を終了する。
【００５９】
図１９は、図１３の描画装置１０５における水平ライン描画装置１２３の処理動作を示すフローチャートである。まず、水平ライン描画装置１２３は、描画コマンド解析装置１２２からの水平開始／終点Ｘ値により、描画するワードの番号の開始番号と終点番号を求め、開始点をＩＸとする（ステップＳ５１）。続いて、描画ワード番号ＩＸを水平クリッピング情報生成装置１２６へ転送する（ステップＳ５２）。さらにＩＸは左端でかつ右端であるか否かを判断する（ステップＳ５３）。ここでＩＸが左端でかつ右端である場合、水平開始Ｘ値と水平終点Ｘ値から描画パターンを生成する（ステップＳ５４）。一方、ステップＳ５３においてＩＸが左端でかつ右端ではない場合、さらにＩＸは左端であるか否かを判断する（ステップＳ５５）。ここでＩＸが左端である場合、水平開始Ｘ値から描画パターンを生成する（ステップＳ５６）。一方、ステップＳ５５においてＩＸが左端ではない場合、さらにＩＸは右端であるか否かを判断する（ステップＳ５７）。ここでＩＸが右端である場合、水平終点Ｘ値から描画パターンを生成する。一方、ステップＳ５７においてＩＸが右端でない場合、描画パターンを０ｘＦＦＦＦ  ＦＦＦＦとし（ステップＳ５９）、描画パターンを諧調処理装置１２４へ転送する（ステップＳ６０）。そして、ＩＸが描画ワードの終点であるかを判断し（ステップＳ６１）、終点になるまで上記動作を繰り返し実行する。また、上記ステップＳ５４，Ｓ５６，Ｓ５８を実行した後にステップＳ６０に進む。
【００６０】
図２０は、図１０における諧調処理装置１２４の詳細構成を示すブロック図である。図において、この諧調処理装置１２４は、しきい値マトリックスアドレス生成装置１４５、しきい値マトリックス記憶装置１４６、データ分配装置１４７、比較装置１４８〜１５１、各色の固定長データ生成装置１５２〜１５５、各色のＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）１５６〜１５９、ＭＵＸ（マルチプレクサ）１６０、ＣＭＹＫアドレス生成装置１６１、ＭＵＸ（マルチプレクサ）１６２、ＡＮＤ装置１６３、コントローラ１６４を備えている。
【００６１】
しきい値マトリックスアドレス生成装置１４５は、しきい値のサイズを受け取りしきい値マトリックス記憶装置１４６のアドレスを生成する。しきい値マトリックス記憶装置１４６は、各種ののしきい値マトリックスを格納する。データ分配装置１４７は、しきい値マトリックス記憶装置１４６からＣ，Ｍ，Ｙ，Ｋ版のしきい値を受け取り、各版の判定装置へ値を分配する。
【００６２】
比較装置１４８は、データ分配装置１４７からのＣ版のしきい値とパラメータ記憶装置１２８（図１３参照）からのＣ版の画素データを受け取って比較し、Ｃ版の階調処理後のデータを作成する。比較装置１４９は、データ分配装置１４７からのＭ版のしきい値とパラメータ記憶装置１２８（図１３参照）からのＭ版の画素データを受け取って比較し、Ｍ版の階調処理後のデータを作成する。比較装置１５０は、データ分配装置１４７からのＹ版のしきい値とパラメータ記憶装置１２８（図１３参照）からのＹ版の画素データを受け取って比較し、Ｙ版の階調処理後のデータを作成する。比較装置１５１は、データ分配装置１４７からのＫ版のしきい値とパラメータ記憶装置１２８（図１３参照）からのＫ版の画素データを受け取って比較し、Ｋ版の階調処理後のデータを作成する。
【００６３】
Ｃ固定長データ生成装置１５２は、比較装置１４８からのＣ版の階調処理後のデータを順次受け取り、固定長データへ変換する（図２２参照）。Ｍ固定長データ生成装置１５３は、比較装置１４９からＭ版の階調処理後のデータを順次受け取り、固定長データへ変換する（図２２参照）。Ｙ固定長データ生成装置１５４は、比較装置１５０からＹ版の階調処理後のデータを順次受け取り、固定長データへ変換する（図２２参照）。Ｋ固定長データ生成装置１５５は、比較装置１５１からＫ版の階調処理後のデータを順次受け取り、固定長データへ変換する（図２２参照）。
【００６４】
Ｃ−ＦＩＦＯ１５６は、Ｃ固定長データ生成装置１５２からのＣ版諧調処理後のワードデータを受け取り一時格納する。Ｍ−ＦＩＦＯ１５７は、Ｍ固定長データ生成装置１５３からのＭ版諧調処理後のワードデータを受け取り一時格納する。Ｙ−ＦＩＦＯ１５８は、Ｙ固定長データ生成装置１５４からのＹ版諧調処理後のワードデータを受け取り一時格納する。Ｋ−ＦＩＦＯ１５７は、Ｋ固定長データ生成装置１５５からのＫ版諧調処理後のワードデータを受け取り一時格納する。
【００６５】
ＭＵＸ１６０は、ＹＭＣＫ各版のＦＩＦＯ１５６〜１５９からのデータを受け取り、順次選択してメモリコントローラＩ／Ｆ１２０へ転送する。ＣＭＹＫアドレス生成装置１６１は、水平ライン描画装置１２３からの物理アドレスである先頭アドレスに各版の原点アドレスを加算し、各版の先頭アドレスを求めＭＵＸ１６２へ転送する。ＭＵＸ１６２は、ＣＭＹＫ各版の先頭アドレスからメインメモリ１０４に書き込む階調処理後の画像データの先頭アドレスを選択し、書き込みアドレス生成装置１２７（図１３参照）へ転送する。ＡＮＤ装置１６３は、水平ライン描画装置１２３（図１３参照）からの描画パターンと水平クリッピング情報生成装置１２６（図１３参照）からのクリップパターンを受け取り、ＡＮＤ処理を行ない、描画する領域を求め、コントローラ１６４へ転送する。コントローラ１６４は、階調処理装置１２４の全体を制御する。
【００６６】
図２１は、図２０のように構成された諧調処理装置１２４の処理動作を示すフローチャートである。この一連の動作はコントローラ１６４によって実行される。まず、ＷＤＡＴＡとして描画パターンＡＮＤクリップパターンをセットし（ステップＳ７１）、ＩＸを０に初期化する（ステップＳ７２）。続いて、ＷＤＡＴＡのＩＸビット目が１であるか否かを判断する（ステップＳ７３）。ここで、ＷＤＡＴＡのＩＸビット目が１である場合、しきい値（Ｃ，Ｙ，Ｍ，Ｋ）データを比較装置１４８〜１５１で比較し、２値化する（ステップＳ７４）。さらにこの２値か（Ｃ，Ｍ，Ｙ，Ｋ）データを固定長データに追加する（ステップＳ７５）。続いて、上記データが固定長まで成長したか否かを判断し（ステップＳ７６）、成長したならばＣ，Ｍ，Ｙ，Ｋの固定長データを各ＦＩＦＯ１５６〜１５９に書き込み（ステップＳ７７）、ディザのアドレスを水平方向にカウントアップする（ステップＳ７８）。
【００６７】
続いて、ディザの水平方向のアドレスが水平方向のサイズを超えたか否かを判断する（ステップＳ７９）。ここで当該サイズを超えた場合、ディザのアドレスを水平方向のアドレスをクリアし（ステップＳ８０）、ＩＸが最終ＢＩＴであるか否かを判断する（ステップＳ８１）。ここで、ＩＸが最終ＢＩＴでなければそのＩＸを１つ進ませ（ステップＳ８２）、ステップＳ７３に戻る。
【００６８】
一方、ステップＳ８１においてＩＸが最終ＢＩＴであると判断した場合、Ｃ，Ｍ，Ｙ，ＫのＦＩＦＯ中の諧調処理後のデータを先頭アドレスの示すメインメモリ１０４のバンドメモリ領域１０４ａへ順次書き込み（ステップＳ８３）、固定長まで達していないデータがあるか否かを判断する（ステップＳ８４）。ここで、固定長まで達していないデータがある場合、固定長まで達していない諧調処理後のデータをメインメモリ１０４のバンドメモリ領域１０４ａへ書き込む。
【００６９】
一方、ステップＳ７３においてＷＤＡＴＡの１ビット目が１ではないと判断した場合、ステップＳ７９に移行する。また、ステップＳ７６において固定長までデータが成長していない場合、ステップＳ７８に移行する。また、ステップＳ７９においてディザの水平方向のアドレスが水平方向のサイズを超えていない場合、ステップＳ８１に進む。
【００７０】
図２２は、図２０における各版の固定長データ生成装置１５２〜１５５の内部構成を示すブロック図である。この固定長データ生成装置１５２〜１５５は、シフタ１６５、ＯＲ装置１６６、レジスタ１６７、レジスタ１６８、レジスタ１６９、加算器１７０を備えている。
【００７１】
シフタ１６５は、比較装置１４８〜１５１（図２０参照）からの２値データを受け取り、レジスタ１６９からの値だけシフトしＯＲ装置１６６へ転送する。ＯＲ装置１６６は、シフタ１６５がシフトした２値データをＯＲ処理し、レジスタ１６７へ送る。レジスタ１６７は、ＯＲ装置１６６でＯＲ処理され、追加された２値データを格納する。レジスタ１６８は、固定長に達したデータを格納する。加算器１７０は、比較装置１４８〜１５１（図２０参照）から２値データを受けるごとに"１"を加算していく。レジスタ１６９は、シフト値を格納する。
【００７２】
ところで、これまで説明してきた画像処理方法（動作）を、プログラム化し、コンピュータ読み取り可能な記録媒体に記録し、コンピュータ上で実行することもできる。また、画像処理方法の一部をネットワーク上に有し、通信回線を通して実現することもできる。
【００７３】
すなわち、この実施の形態で説明した画像処理方法は、図２３に示すように、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータ（ＣＰＵ３０）で実行することにより実現される。このプログラムは、キーボード３５の操作などにより、メモリ３１、ハードディスク３４、フレキシブルディスク３７、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ−Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３６、ＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータ（ＣＰＵ３０）によって記録媒体から読み出し、必要に応じて表示装置３３に表示することによって実行される。また、必要に応じてこの画像処理方法のデータを通信装置３２から外部装置に送受信することも可能である。
【００７４】
また、このプログラムは、図２４に示すように、上記記録媒体を介して、インターネット３０などのネットワークによってパーソナルコンピュータなどの装置４１〜４３に配布することができる。
【００７５】
すなわち、このプログラムは、たとえばコンピュータに内蔵されている記録媒体としてのハードディスクに、あらかじめインストールした状態で提供することができる。プログラムは記録媒体に一時的あるいは永続的に格納し、コンピュータにユニットとして組み込んだり、あるいは着脱式の記録媒体として利用することで、パッケージソフトウェアとして提供することができる。
【００７６】
記録媒体としては、たとえば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤ、磁気ディスク、半導体メモリなどが利用できる。
【００７７】
プログラムは、ダウンロードサイトから、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネットといったネットワークを介して、有線または無線でコンピュータに転送し、そのコンピュータにおいて、内蔵するハードディスクなどの記憶装置にダウンロードさせるようにすることができる。
【産業上の利用可能性】
【００７８】
以上のように、本発明にかかる画像処理装置および画像処理方法、並びに画像処理方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体は、デジタル複写機やプリンタなどの画像形成装置、デジタルカメラなどに有用であり、特に、任意の多角形クリッピング図形の描画処理を少ないメモリ容量でかつ高速に行なう必要がある画像処理システムに適している。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施の形態にかかる画像形成装置の機構部の構成例を示す説明図である。
【図２】図１における画像形成装置の電装・制御系の構成を示すブロック図である。
【図３】本発明の実施の形態にかかる画像処理の流れを示すブロック図である。
【図４】本発明の実施の形態にかかる画像処理の概念を示すブロック図である。
【図５】図２におけるメインメモリのフォーマット例を示す説明図である。
【図６】本発明の実施の形態にかかる図２における画像処理の流れを示すブロック図である。
【図７】多角形クリップ情報が指定された領域に四角形を描画する例を示す説明図である。
【図８−１】多角形クリップ図形および当該図形に対する水平ラインアドレスを示す説明図である。
【図８−２】図８−１におけるフォーマットを示す図表である。
【図９】多角形クリップ図形に対する他のフォーマット例を示す説明図である。
【図１０】本発明の実施の形態にかかる描画装置の構成および処理を示すブロック図である。
【図１１】図１０における水平ライン描画装置が生成する描画パターンと水平クリッピング情報生成装置が生成するクリップパターンの例を示す説明図である。
【図１２】図１０における描画装置の動作処理を示すフローチャートである。
【図１３】図２における描画装置の詳細構成を示すブロック図である。
【図１４】図１３における水平クリッピング情報生成装置の詳細構成を示すブロック図である。
【図１５】本発明の実施の形態にかかる描画パターンおよびクリップパターンの処理動作を示す説明図である。
【図１６】図１４における多角形クリップデータ格納装置の詳細構成を示すブロック図である。
【図１７−１】図１４における水平クリッピング情報生成装置の処理動作（１）を示すフローチャートである。
【図１７−２】図１４における水平クリッピング情報生成装置の処理動作（２）を示すフローチャートである。
【図１８】図１４の水平クリッピング情報生成装置における描画クリップパターン生成装置の処理動作を示すフローチャートである。
【図１９】図１３の描画装置における水平ライン描画装置の処理動作を示すフローチャートである。
【図２０】図１０における諧調処理装置の詳細構成を示すブロック図である。
【図２１】図２０のように構成された諧調処理装置の処理動作を示すフローチャートである。
【図２２】図２０における各版の固定長データ生成装置の内部構成を示すブロック図である。
【図２３】本発明の実施の形態にかかる画像処理方法をコンピュータに実行させる例を示すブロック図である。
【図２４】本発明の実施の形態にかかる画像処理方法をネットワーク上からダウンロードして実行させる例を示すブロック図である。
【図２５】従来におけるリエントラント型（または再入）多角形クリッピング例を示す説明図である。
【符号の説明】
【００８０】
１００  カラープリンタ
１０１  ＣＰＵ
１０３  メモリコントローラ
１０４  メインメモリ
１０４ａ  バンドメモリ領域
１０４ｂ  符号ページメモリ領域
１０４ｃ  多角形クリップ情報メモリ領域
１０５  描画装置
１０６  符号化装置
１０７  復号化装置
１０８  エンジンコントローラ
１０９  プリンタエンジン
１２１  描画コマンド
１２２  描画コマンド解析装置
１２３  水平ライン描画装置
１２４  階調処理装置
１２５  多角形クリップ情報
１２６  水平クリッピング情報生成装置
１２７  書き込みアドレス生成装置
１３１  多角形クリップデータ格納装置
【図１】
2005260871.tif 000003
【図２】
2005260871.tif 000004
【図３】
2005260871.tif 000005
【図４】
2005260871.tif 000006
【図５】
2005260871.tif 000007
【図６】
2005260871.tif 000008
【図７】
2005260871.tif 000009
【図８−１】
2005260871.tif 000010
【図８−２】
2005260871.tif 000011
【図９】
2005260871.tif 000012
【図１０】
2005260871.tif 000013
【図１１】
2005260871.tif 000014
【図１２】
2005260871.tif 000015
【図１３】
2005260871.tif 000016
【図１４】
2005260871.tif 000017
【図１５】
2005260871.tif 000018
【図１６】
2005260871.tif 000019
【図１７−１】
2005260871.tif 000020
【図１７−２】
2005260871.tif 000021
【図１８】
2005260871.tif 000022
【図１９】
2005260871.tif 000023
【図２０】
2005260871.tif 000024
【図２１】
2005260871.tif 000025
【図２２】
2005260871.tif 000026
【図２３】
2005260871.tif 000027
【図２４】
2005260871.tif 000028
【図２５】
2005260871.tif 000029