JP4118052B2 - Image processing device - Google Patents
Image processing device Download PDFInfo
- Publication number
- JP4118052B2 JP4118052B2 JP2002008514A JP2002008514A JP4118052B2 JP 4118052 B2 JP4118052 B2 JP 4118052B2 JP 2002008514 A JP2002008514 A JP 2002008514A JP 2002008514 A JP2002008514 A JP 2002008514A JP 4118052 B2 JP4118052 B2 JP 4118052B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- scaling
- data
- image
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 540
- 230000015654 memory Effects 0.000 claims description 182
- 238000000034 method Methods 0.000 claims description 124
- 238000006243 chemical reaction Methods 0.000 claims description 88
- 230000008569 process Effects 0.000 claims description 88
- 238000012546 transfer Methods 0.000 claims description 43
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 87
- 230000001186 cumulative effect Effects 0.000 description 35
- 238000004140 cleaning Methods 0.000 description 10
- 108091008695 photoreceptors Proteins 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 230000009467 reduction Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- UDHXJZHVNHGCEC-UHFFFAOYSA-N Chlorophacinone Chemical compound C1=CC(Cl)=CC=C1C(C=1C=CC=CC=1)C(=O)C1C(=O)C2=CC=CC=C2C1=O UDHXJZHVNHGCEC-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Processing (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は画像処理装置に関し、詳細には多値画像データを2値画像に変換するハーフトーン処理装置およびハーフトーン処理方法に関し、特にプリンタ等のコントローラ側における高速化の方式に関する。
【0002】
【従来の技術】
従来、ページプリンタなどにおいて、解像度の増加と高速化の要求から、CPUの性能のみではこの要求を満たすことが難しくなってきた。特に、カラープリンタでは、各種の画像処理と、C,M,Y,K版の画像の変倍処理、デイザ処理、色変換処理など多くの処理を必要をする。
【0003】
近年、半導体技術の発展からCPUで行われた処理の一部をハードウェアで行うことが可能となってきた。そして、このハードウェアクセラレータをFPGAで実現することにより、機能を変更可能としたシステムが特開2000−90237に提案されている。また、画像の変倍処理技術は、入力機器及び出力機器間で取り扱われる画像の解像度が異なる場合に入力画像と同サイズの出力画像を得るために必要とされる技術である。この変倍処理の方法として、傍法やバイリニア補間法、3次補間法などが知られている。最近傍法は、補間したい点に最も近い画素に補間するアルゴリズムであり、バイリニア補間法は、補間したい点の周囲4点から、線形補間により補間データを求める方法であり、点Zの周辺の4点J,I,G,Hから以下のような式で表される。
【0004】
F(Z)=f(J)(1-α)(1-β)+f(I)(α)(1-β)+f(G)(1-α)(β)+f(H)(α)(β)
3次補間法は点Zの周辺の16点から以下のような演算式で表現される。
ここでC(t)はサンプリング定理を構成する関数SinπX/πXの近似式である。
【0005】
F(Z)=f(G)C(Xg-Xz)C(Yg-Yz)+f(H)C(Xh-Xz)C(Yh-Yz)+…+f(V)C(Xv-Xz)C(Yv-Yz)
C(t)=1-2t2+|t|3 (0≦|t|<1)
C(t)=4-8|t|+5|t|2-|t|3 (1≦|t|<2)
C(0)=0 (2≦|t|)
【0006】
これらの処理法を比較したとき、最近傍法は処理が軽いが画質はそれほどよくなく。バイリニア補間法における処理は普通であり、画質は普通である。3次補間法における処理は重たいが、画質は良いことが知られている。
【0007】
また、高速にハーフトーンデータを生成する従来例としては特開平6−6606号公報(以下従来例1と称す)がある。この従来例1は閾値マトリックスデータのメモリとは別に閾値マトリックスの1ライン分を複数の高速メモリに交互に転送し、ハーフトーン処理は高速メモリから閾値データを読み出すことで実行されている。
【0008】
【発明が解決しようとする課題】
しかしながら、上記従来例1は、少ない高速メモリで高速にハーフトーン生成を行うことを狙いとしたもので、基本的に飛躍的な処理の高速化を期待することはできない。
【0009】
そして、特開2000−92321(以下従来例2と称す)及び特開2000−165672(以下従来例3と称す)では、閾値マトリックスメモリから読み出される閾値データを一走査ラインが終了するまで、再利用可能なように処理に適用する全閾値データをレジスタに取り込み、これを選択的に複数の比較手段に出力し、並列的な比較処理を実行する。レジスタにセットされた閾値データは順次シフトされ、繰り返し使用される。しかし、この方式では、1つのメインメモリを有するシステムにおいては、(デイザを格納するメモリを別に持たないシステム)変倍処理とハーフトーン処理を並列に処理するシステムにおいて一走査ラインごとのデイザパターンの読み込みは、変倍処理に必要な画像データの読み込み処理を停止させるか、ハーフトーン処理を停止させることが考えられ、結局のところシステムの処理高速化を図れない。
【0010】
また、特開2001−150739(以下従来例4と称す)では、最近傍法を使用した変倍処理装置とハーフトーン処理装置を有し、そのハーフトーン処理装置においてはデイザメモリの使用方法について開示されている。例えば、16*16マトリックスのデイザパターンを採用する場合には、デイザデータのデータ量が16ライン分となる。このような大量の閾値を全て格納しておくようなメモリをこの中に設けるのは不経済である。この場合、デイザデータをRAMに格納しておき、所定のタイミングで所定量づつ分割して受け入れる図61の破線に示すようなダイレクトメモリアクセス回路を設けると良い。また、1画素分のデータに対して4個の閾値を順番に供給して4個の2値化データを制御もできる。2値化処理以前のデータ転送クロックに対して2値化処理後のデータ転送クロックを4倍にすれば良い。
【0011】
更に、上述したように変倍処理の方法として最近傍法や、バイリニア補間法、3次補間法などが知られており、従来、CPUのワーク領域にソース画像を、変倍処理を行ったものを展開し、その後ハーフトーン処理を行い、バンドバッファー書き込まれていた。しかし、この方法では、CPUのワーク領域を大きく使用し、しかも画像のMAXの大きさであるバンドメモリと同じサイズのワーク領域を持たねばならなかった。
【0012】
本発明はこれらの問題点を解決するためのものであり、デイザデータを垂直方向の変倍後のライン数分に必要なデイザデータを一括して読み込み、かつ画像処理後のデータをラインメモリに垂直方向の変倍後のライン数分を格納し、その後、一括して、メモリに書き込むことにより、画像データの読み込み処理を中断させることなく高速に変倍処理とハーフトーン処理を並列に行うことにより、メモリコストを抑え高速化を実現できる画像処理装置を提供することを目的とする。また、ハーフトーン処理装置の並列処理画素数分の画素を常に供給するため、変倍処理において同じ並列処理画素分の並列処理を行うことにより、処理の高速化を図ることができる画像処理装置を提供することを目的とする。
【0013】
【課題を解決するための手段】
前記問題点を解決するために、本発明の画像処理装置は、メモリアービターI/Fとデータ変換処理手段とハーフトーン処理手段とを有している。そして、メモリアービターI/Fは、1ラインの画像データをデータ変換処理手段へ転送し、かつ垂直方向に変倍後の所定ライン分のデイザデータをハーフトーン処理手段へ転送し、ハーフトーン処理手段によるハーフトーン処理後のデータを出力するとともに、垂直方向の変倍処理を管理している。また、データ変換処理手段は、メモリアービターI/Fから転送された画像データに対して水平方向の変倍処理、色変換処理、フィルタ処理等の画像処理を行い、水平方向の各ライン毎の画像処理後のデータをハーフトーン処理手段に転送する。更に、ハーフトーン処理手段は、メモリアービターI/Fからの各ラインの垂直方向の変倍処理後の所定ライン分のデイザデータと、データ変換処理手段からの水平方向の各ライン毎の画像処理後のデータとを受け取り、ハーフトーン処理を行う。よって、画像データの読み込み処理を中断することなく、画像データの読み込みと画像処理が並列に処理可能であり、高速化することができる。
【0015】
更に、データ変換処理手段は、最近傍法により変倍処理を行う変倍処理手段を有する。よって、画像を変倍後に直接ハーフトーン処理を行うために無駄なワークメモリの領域を必要とせず、かつ高速に処理が可能である。
【0016】
また、データ変換処理手段は、バイリニア補間法により変倍処理を行う変倍処理手段を有する。よって、画像を変倍後に直接ハーフトーン処理を行うために無駄なワークメモリの領域を必要とせず、かつ高速に処理が可能である。
【0017】
更に、変倍処理手段は、ハーフトーン処理手段の並列に処理する画素と同じ数の画素を並列に変倍処理することが可能な変倍画素係数生成手段を有している。よって、無駄なワークメモリの領域を必要とせず、高速に処理が可能であり、かつハーフトーン処理手段の並列処理数分の画素を常に変倍処理手段が生成することが可能であるためにより一層高速に処理することができる。
【0018】
また、変倍画素係数生成手段は、ハーフトーン処理手段の並列処理数と同じ数の画素のX幅を求めることが可能な並列X幅生成手段と、その複数のX幅を受け取り、ハーフトーン処理手段の並列処理数へ分けて出力する出力X幅生成手段とを有する。よって、水平方向に並列に変倍処理を行うために高速に処理が可能となる。
【0019】
更に、ハーフトーン処理手段は、水平方向に複数の画素を並列に比較する並列比較手段と、デイザパターンメモリから受け取った水平方向に複数の閾値マトリックスを現在の比較する画素から水平方向に複数の閾値マトリックスを切り出す比較パターン切り出し手段とを有する。よって、水平方向に並列にハーフトーン処理を行うために高速に処理が可能となる。
【0020】
また、比較パターン切り出し手段は、変倍処理手段から受け取った有効画素数に基づいて、デイザパターンメモリから受け取った水平方向に複数の閾値マトリックスを現在の比較する画素から水平方向に複数の閾値マトリックスを切り出す。よって、水平方向に並列にハーフトーン処理を行うために高速に処理が可能となる。
【0021】
更に、ハーフトーン処理手段は、並列比較手段から受け取った水平方向に複数の画素を、変倍処理手段から受け取った有効画素数だけ、固定長のデータへ入れ込んでいく固定長生成手段を有する。よって、水平方向に並列にハーフトーン処理を行うために高速に処理が可能となる。
【0022】
また、変倍処理手段は、変倍される画素を所定の幅に変換し、ハーフトーン処理手段が処理可能な水平方向にMAXの並列処理画素数に合わせて出力する。よって、水平方向に並列に変倍処理を行うために高速に処理が可能となる。
【0023】
更に、変倍処理手段は、垂直方向の複数の補間点と、処理可能な水平方向にMAXの拡大率まで並列に求められた水平方向の複数の補間係数とに基づいて、水平方向の複数の補間点を求める水平補間手段と、実際に補間すべき画素の個数を求める有効数カウント手段とを有する。よって、水平方向に並列に変倍処理を行うために高速に処理が可能となる。
【0024】
【発明の実施の形態】
本発明の画像処理装置は、メモリアービターI/Fとデータ変換処理手段とハーフトーン処理手段とを有している。そして、メモリアービターI/Fは、1ラインの画像データをデータ変換処理手段へ転送し、かつ垂直方向に変倍後の所定ライン分のデイザデータをハーフトーン処理手段へ転送し、ハーフトーン処理手段によるハーフトーン処理後のデータを出力するとともに、垂直方向の変倍処理を管理している。また、データ変換処理手段は、メモリアービターI/Fから転送された画像データに対して水平方向の変倍処理、色変換処理、フィルタ処理等の画像処理を行い、水平方向の各ライン毎の画像処理後のデータをハーフトーン処理手段に転送する。更に、ハーフトーン処理手段は、メモリアービターI/Fからの各ラインの垂直方向の変倍処理後の所定ライン分のデイザデータと、データ変換処理手段からの水平方向の各ライン毎の画像処理後のデータとを受け取り、ハーフトーン処理を行う。
【0025】
【実施例】
図1は本発明の画像処理装置を適用する多色画像形成装置の構成を示す断面図である。同図に示す多色画像形成装置によれば、像担持体であるベルト状の感光体1は回転ローラ2,3により回動可能に支持され、その各回転ローラ2,3の駆動により矢示A方向に回動される。感光体1の外周部には、帯電手段である帯電装置4、除電ランプL、感光体1用のクリーニングブレード15Aが配置されている。帯電装置4の下流位置には、光書込手段であるレーザ書き込みユニット5より発せられるレーザ光が照射される光書き込み部がある。光書き込み部より下流位置には、複数の現像ユニット(現像手段)が切り換え自在に支持された多色現像装置6が配置されている。その多色現像装置6は、収容するトナーの色毎に、イエロー現像ユニット,マゼンダ現像ユニット,シアン現像ユニットを備えている。また、多色現像装置6の上部には、黒色トナーを収容したブラック現像ユニット7が備えられている。これらの各現像ユニットのいずれか1つが対応する色の現像タイミングに同期し、現像可能な位置に移動する。多色現像装置6は、円周上120度の回転によっていずれかの現像ユニットを選択する機能を有している。そして、これらの現像ユニットが稼動するときには、ブラック現像ユニット7は感光体1より離間した位置に移動する。その移動は、カム45の回転により行なわれる。レーザ書き込みユニット5は、図示しないレーザ光源から複数色の画像形成信号(書き込み情報)に応じたレーザ光を順次発生させ、ポリゴンモータ5Aによって回転されるポリゴンミラー5Bを用いてそのレーザ光を周期的に偏向させ、fθレンズ5C及びミラー5Dなどを経て、帯電された感光体1の表面を走査してその表面に静電潜像を形成させる。
【0026】
そして、感光体1の表面に形成される静電潜像は、対応する現像ユニットからのトナーによって現像され、トナー画像が形成・保持される。中間転写ベルト10は、感光体1に隣接しており、回転ローラ11,12により矢示B方向に回動可能に支持されている。感光体1上のトナー画像は、中間転写ベルト10の裏側にある転写ブラシ(第1の転写手段)13により、その中間転写ベルト10の表面に転写される。感光体1の表面は1色毎にクリーニングブレード15Aによりクリーニングされ、その表面に所定色のトナー画像が形成される。そして、その都度中間転写ベルト10の1回動毎にその表面の同じ位置に感光体1上のトナー画像が転写されて、中間転写ベルト10上に複数色のトナー画像が重ね合わせられて保持される。その後、そのトナー画像は用紙やプラスチック等の記録媒体に転写される。用紙への転写に際しては、給紙装置(給紙カセット)17に収納されている用紙が給紙ローラ18によって繰り出されて搬送ローラ19により搬送され、レジストローラ対20に付き当てられた状態で一旦停止された後、トナー画像の転写位置が正規のものとなるようにタイミングがとられて中間転写ベルト10と転写ローラ(第2の転写手段)14のニップに再搬送される。そして、その用紙は転写ローラ14の作用により中間転写ベルト10上の複数色のトナー画像が一括転写された後、定着装置50に送られ、そこでトナー像が定着された後、排紙ローラ対51により本体フレーム9の上部の排紙スタック部52に排出される。
【0027】
中間転写ベルト10には、回転ローラ11の部位に中間転写ベルト10用のクリーニング装置16が設けられ、クリーニングブレード16Aがクリーニングブレード接離用アーム16Cを介して接離自在の構成となっている。このクリーニングブレード16Aは、感光体1からトナー画像を受け取る工程では、中間転写ベルト10から離れ、中間転写ベルト10より用紙にトナー画像が転写された後に接触するようになっていて、用紙にトナー画像が転写された後の残留トナーをかきとる。クリーニングブレード16Aは、上記したように、感光体1用と中間転写ベルト10用がある。これらブレードがかきとった廃トナーは、回収容器15に収納する。その回収容器15は適宜交換される。中間転写ベルト10用のクリーニング装置16の内部に設けられたオーガ16Bが、クリーニングブレード16Aでかきとられた廃トナーを搬送し、図示しない搬送手段で回収容器15に送るようになっている。
【0028】
ユニット化されたプロセスカートリッジ31は、感光体1,帯電装置4,中間転写ベルト10,クリーニング装置16,用紙搬送路を形成する搬送ガイド30などを一体に組み込み、寿命到来時に交換できるように構成されている。プロセスカートリッジ31の交換の他に、多色現像装置6,ブラック現像ユニット7なども寿命到来時に交換するが、その交換性やジャム紙の処理を容易にするため、本体の一部の前フレーム8は支軸9Aを中心に開閉可能に回動できる構造にしてある。
【0029】
また、図1の左側には、電装・制御装置60が収納されている。その上方には、ファン58が備えられており、機内の温度過昇防止のために排風する。図の右側には、比較的小規模な別の給紙装置59が備えられている。なお、この実施形態では、中間転写体として中間転写ベルト10を使用したが、中間転写ドラムを使用することもできる。
【0030】
図2は図1の電装・制御装置の構成を示すブロック図である。同図において、電装・制御装置は、主に、画像メモリ109を操作する画像メモリアクセラレータ101を有し、CPU107にコントロールされ、ネットワーク通して図示していないホストコンピュータから画像データを受け取り、メモリ109へ転送し、またその画像データをエンジンコントローラ113へ転送しプリントアウトなどを行う。この時に、各ホストとの通信や、画像メモリ108のコントロールやパネル16から操作された情報を得るためや、プリンタエンジンコントローラなどの周辺とのバスコントロールなどを行う。バスコントローラ101は、バス117とつながる各周辺コントローラとのバスの調停を行う。メモリアービター103は、メモリ109と各種のコントローラ間の調停を行う。ローカルI/F104はROM105などのインタフェースである。ROM105は、各種のプログラムや、文字などのフォント情報を格納している。CPUI/F106は、CPU107のインタフェースである。CPU107は、プリンタ装置全体の制御を行う。メモリコントローラ108は、メモリ109をコントロールし、メモリアービター108を介して、各種コントローラやCPU107と接続されている。メモリ109は、画像データやその符号データ、そしてCPU107のプログラムなどを格納している。通信コントローラ110は、ネットワークに接続されており、ネットワークから各種データやコマンドなどを受け取り、メモリアービター103を介して各種のコントローラに接続されている。画像処理装置112は、CPU107からの命令によりメモリ109から画像を読み込み、画像処理後にメモリ109へ画像処理後の画像を書き込む。エンジンコントローラ113は、バス117と接続されており、プリンタエンジン114をコントロールする。パネルコントローラ115は、パネル116をコントロールしている。パネル116は、ユーザからの操作をプリンタ装置へ知らせる表示装置である。バス117は、画像メモリアクセラレータ101と各種周辺コントローラとを接続する。DMA111は、メモリコントローラ108とバス117に接続されたエンジンコントローラ113間のダイレクトメモリアクセスを行う。
【0031】
図3は本発明の一実施例に係る画像処理装置の構成を示すブロック図である。同図において、画像処理装置112は、メモリアービターI/F201、データ変換処理装置202、ハーフトーン処理装置203及びパラメータ格納装置204を含んで構成されている。
【0032】
そして、メモリアービターI/F201は、画像処理装置112の画像読み込み処理と、デイザデータの読み込み処理と処理後画像の書き込み処理のメモリアービター103への要求の調停を行い、データ変換処理装置202へ画像データを、ハーフトーン処理装置203へデイザデータを転送し、またはハーフトーン処理装置203からの画像処理後のデータを受け取り、メモリアービター103へ転送する。また、垂直方向の変倍処理を管理し、それに必要な画像データとデイザデータを、メモリアービター103を介して要求し、処理後の画像をメモリアービター103へ転送する。
【0033】
また、データ変換処理装置202は、メモリアービターI/F201から水平ラインの画像データを受け取り、水平方向の変倍処理、色変換処理、フィルター処理や、画像データが符号である場合は画像符号のデコード処理を行い、画像データへの変換後に、上記の変倍処理、色変換処理、フィルター処理などを実行し、その処理結果をハーフトーン処理装置203へ転送する。ここで、データ変換処理装置202の詳細な構成は図4に示しておく。
【0034】
更に、ハーフトーン処理装置203は、メモリアーブビターI/F201から垂直方向の各ラインの変倍後のライン数分のデイザデータを受け取り、データ変換処理装置202から、画像処理後のデータを水平ラインごと受け取り、ハーフトーン処理を実行する。
【0035】
また、パラメータ格納装置204は、CPUなどから設定されたメモリアービターI/F201、データ変換処理装置202、ハーフトーン処理装置203に必要なパラメータを格納する。
【0036】
次に、図3のデータ変換処理装置202の変倍処理が最近傍法である場合の動作について動作フローを示す図5に従って説明する。
はじめに、図3のメモリアービターI/F201は、垂直方向の変倍率を求める処理を行う(ステップS101)。メモリアービターI/F201は、図2のメモリアービター103を介して図2のメモリ109から1ラインの画像データを読み込み、図3のデータ変換処理装置202へ送る(ステップS102)。メモリアービターI/F201は、垂直方向に変倍後のライン数分のデイザデータを読み込み、図3のハーフトーン処理装置203へ送る(ステップS103)。メモリアービターI/F201は求めた垂直方向の変倍率とデイステイネーション画像の座標Y始点DYSから垂直方向のDDA(デジタル微分解析)により、変倍後のY始点YSとY終点YEを求める(ステップS104)。そして、メモリアービターI/F201は変倍後の垂直方向のラインカウンタに求めたYSの値を設定する(ステップS105)。その後、データ変換処理装置202により1ラインの画像処理(変倍、色変換、フィルター処理など)を行う(ステップS106)。ハーフトーン処理装置203により、1ラインの画像処理後の画像データにハーフトーン処理を行う(ステップS107)。そして、ハーフトーン処理装置203はハーフトーン処理後の1ラインデータを内部ラインメモリに書き込む(ステップS108)。メモリアービターI/F101は変倍後の垂直方向のラインカウンタをカウントアップする(ステップS109)。更に、メモリアービターI/F201は垂直方向のラインカウンタが求めた垂直方向の変倍後のY終点YEを超えているかいないかをチェックし、超えていない場合はステップS106の処理へ移り(ステップS110;YES)、等しいか又は超えた場合はメモリアービターI/F201で書き込まれた内蔵ラインメモリから画像処理後のデータをメモリアービター103を介してメモリ109へ画像処理後の画像データを書き込む(ステップS110;NO、ステップS111)。そして、メモリアービターI/F201は求めた垂直方向の変倍後のY終点YEがデイステイネーション画像の座標Y終点DYEを超えているかいないかをチェックし、超えている場合はステップS102へ移り(ステップS112;YES)、等しいか又は超えた場合は処理を終了する(ステップS112;NO)。
【0037】
図6は垂直方向に縮小する場合のタイミング例を示す図である。同図の(a)に示す例は、縮小倍率が0.5倍の例で、画像処理前の画像データを1つ飛ばしのラインを(奇数ラインのみ)読み込み、デイザパターンデータは順次1ラインごと、読み込み、そして画像処理後のデータを順次1ラインごと書き込んでいく例である。また、この例では、画像データの読み込み処理と画像処理とが並列に処理される。そして、同図の(b)に示す例は、0.6666倍の例で、画像処理前の画像データを3ラインごと1ラインを飛ばして読み込み、デイザパターンデータは順次1ラインごとに読み込み、そして画像処理後のデータを順次1ラインごと書き込んでいく例である。また、この例でも、画像データの読み込み処理と画像処理とが並列に処理される。
【0038】
図7は垂直方向の等倍及び拡大の場合のタイミング例を示す図である。同図の(a)に示す例は、等倍の例で、画像処理前の画像データを順次1ラインごと読み込み、デイザパターンデータを順次1ラインごとに読み込み、そして画像処理後のデータを順次1ラインごと書き込んでいく例である。また、この例では、画像データの読み込み処理と画像処理とが並列に処理される。同図の(b)に示す例は、1.5倍の例で、画像処理前の画像データを順次1ラインごと読み込み、デイザパターンデータを時々2ラインごとに読み込み、そして画像処理後のデータを時々2ラインごとに書き込んでいく例である。また、この例では、画像データの読み込み処理と画像処理とが並列に処理され、時々2ラインの画像処理を行う。同図の(c)の例は、2倍の例で、画像処理前の画像データを順次1ラインごと読み込み、デイザパターンデータを順次2ラインごとに読み込み、そして画像処理後のデータを順次2ラインごとに書き込んでいく例である。また、この例では、画像データの読み込み処理と画像処理とが並列に処理され、2ラインの画像処理を行う。
【0039】
次に、図8は図3のメモリアービターI/Fの詳細な周辺構成を示すブロック図である。メモリアービターI/F201はメモリアービター103へ接続され、メモリアービター103は図2のCPUI/F106を通してCPUからのメモリアクセス、図2のローカルI/F104からメモリアクセスなどのメモリアクセスを調停し、複数の媒体からのメモリアクセスがある場合、優先順位の高い媒体に対し、メモリアクセス権を与え、メモリアクセスを行わせ、他の媒体に待機処理を行わせる。メモリアービターI/F201はメモリアービター103へ図2の画像処理装置112として接続され、画像処理装置として、図2のメモリ109へのアクセス権をメモリアービター103へ要求し、画像処理前の画像データの読み込みをメモリアービター103へ要求し、画像データを読み込み、データ変換処理装置202へ転送する。データ変換処理装置202が画像符号のデコード処理装置を有する場合、画像データは符号データとして上記処理を行う。また、デイザデータの読み込みをメモリアービター103へ要求し、デイザデータを読み込み、ハーフトーン処理装置203へ転送し、ハーフトーン処理装置203の画像処理後の画像データの書き込みをメモリアービター103へ要求し、画像処理後のデータをメモリアービター103へ転送する。
【0040】
図9は図3のメモリアービターI/Fの構成を示すブロック図である。同図において、メモリアービターI/F201は、変倍率生成装置301、Y DDA処理装置302、IYカウンタ装置303、メモリアドレス生成装置304、MUX305及びコントローラ306を含んで構成されている。変倍率生成装置301は、変倍される画像のソース画像の座標Y始点SYS、Y終点SYE、変倍後のデイステイネーション画像の座標Y始点DYS、Y終点DYEからY方向の変倍率RATEYを求め、Y DDA処理装置302へ転送する。また、Y DDA処理装置302は変倍率生成装置301からのY方向の変倍率とデイステイネーション画像の座標Y始点DYSを受け取り、図61の垂直方向の図中○で示す拡大された画素のように、入力された画像の変倍後のY座標をDDA(デジタル微分解析)により、Y始点YSとY終点YEを求め、その差分(変倍後のライン数)DYを求め、IYカウント処理装置303と、メモリアドレス生成装置304へ転送される。更に、IYカウント装置303はY DDA処理装置302から変倍後のY始点YSとY終点YEを受け取り、変倍後のY始点からY終点までを、データ変換処理装置202と、ハーフトーン処理装置203の1ラインの処理が終了するごとにラインをカウントし、コントロールし、デイステイネーション画像の座標Y終点と比較し、画像処理の終了をコントロールする。また、メモリアドレス生成装置304は、メモリアービター103を介して図2のメモリ109をアクセスするためのメモリのアドレスである画像データよき込みアドレスと、デイザデータ読み込みアドレスと、画像処理後の画像データ書込みアドレスを計算する。このとき、Y DDA処理装置302から変倍後のライン数を受け取り、読み込むデイザデータのライン数(データ数)と、処理後の画像を書き込むライン数(データ数)を計算し、メモリアドレスを生成していく。更に、MUX305は、メモリアービター103から読み込んだデータをデータの種類により、データ変換処理装置202と、ハーフトーン処理装置203への転送を切り換える。また、コントローラ306は、メモリアービターI/F201と図2の画像処理装置112をコントロールする。
【0041】
図10は図9の変倍率生成装置の構成を示すブロック図である。同図に示す変倍率生成装置は、減算器401,402、除算器403及びレジスタ404を含んで構成されている。このような構成を有する変倍率生成装置によれば、変倍される画像のソース画像の座標Y始点SYS及びY終点SYEと、変倍後のデイステイネーション画像の座標Y始点DYS及びY終点DYEからY方向の変倍率RATEYを求め、図9のY DDA処理装置302へ転送する。図10のように、RATEY=(SYE-SYS)/(DYE-DYS)の演算により、Y方向の変倍率(RATEY)を求め、ソース画像の座標Y始点SYS及びY終点SYE、デイステイネーション画像の座標Y始点DYS及びY終点DYEを求める。
【0042】
図11は図9のY DDA処理装置の構成を示すブロック図である。同図に示すY DDA処理装置は、MUX501、現在の処理中のY値を格納するレジスタ502、Y方向変倍率RATEYを格納するレジスタ503、加算器504、変倍後のY終点を格納するレジスタ505、変倍後のY始点を格納するレジスタ506、レジスタ505のY終点の正数部からY始点の正数部を減算して変倍後のライン数DYを求める減算器507を含んで構成されている。このような構成を有するY DDA処理装置によれば、図9の変倍率生成装置301からのY方向の変倍率とデイステイネーション画像の座標Y始点DYSを受け取り、図6の垂直方向の図中の○で示す拡大された画素のように、入力された画像の変倍後のY座標をDDA(デジタル微分解析)により、Y始点YSとY終点YEを求め、その差分(変倍後のライン数)DYを求め、図9のIYカウント処理装置303とメモリアドレス生成装置304へ転送される。
【0043】
図12は図9のIYカウンタ装置の構成を示すブロック図である。同図に示すIYカウント装置は、図9のY DDA処理装置302からの変倍後のY終点とデイステイネーション画像の座標Y終点DYEと比較し、結果YENDFLを図9のコントローラ306へ転送する比較器601、最初のみレジスタ603に図9のY DDA処理装置302からの変倍後のY始点を送り、その後順次加算されていく加算器604の出力を送るMUX602、現在の処理中のY値を格納するレジスタ603、図3のデータ変換処理装置202と図3のハーフトーン処理装置203の1ラインの処理が終了するごとにラインをカウントしていく加算器604、現在の処理中のY値と、図9のY DDA処理装置302からの変倍後のY終点とを比較し、結果IYENDFLを図9のコントローラ306へ転送する比較器605を含んで構成されている。このような構成を有するIYカウンタ装置によれば、図9のY DDA処理装置302から変倍後のY始点YSとY終点YEを受け取り、変倍後のY始点からY終点までを、図3のデータ変換処理装置202と、図3のハーフトーン処理装置203の1ラインの処理が終了するごとにラインをカウントし、コントロールし、デイステイネーション画像の座標Y終点と比較し、画像処理の終了をコントロールする。
【0044】
図13は図9のメモリアドレス生成装置の構成を示すブロック図である。同図に示すメモリアドレス生成装置は、初期値として図3のパラメータ格納装置204から画像先頭アドレスを設定され、図6のようにその後1ラインごと画像処理前の画像データのアドレスを読み込み、アドレスを生成していく画像データアドレス生成装置701、初期値として図3のパラメータ格納装置204からデイザ先頭アドレスを設定され、図9のY DDA処理装置302からの変倍後のライン数を受け取り、読み込むデイザデータのライン数(データ量)を計算し、図6のように、デイザデータの読み込みのアドレスを生成するデイズデータアドレス生成装置702、初期値として図3のパラメータ格納装置204から処理後画像先頭アドレスを設定され、図9のY DDA処理装置302からの変倍後のライン数を受け取り、書き込む処理後画像データのライン数(データ量)を計算し、図6のように、画像処理後データの書込みのアドレスを生成する処理後画像データアドレス生成装置703、MUX704を含んで構成されている。このような構成を有するメモリアドレス生成装置によれば、図2のメモリアービター103を介して図2のメモリ109をアクセスするためのメモリのアドレスである画像データよき込みアドレスと、デイザデータ読み込みアドレスと、画像処理後の画像データ書込みアドレスを計算する。このとき、図3のY DDA処理装置302から変倍後のライン数を受け取り、読み込むデイザデータのライン数(データ数)と、処理後の画像を書き込むライン数(データ数)を計算し、メモリアドレスを生成していく。
【0045】
図14は最近傍法の変倍処理装置の構成を示すブロック図である。同図に示す変倍処理装置は、元画素格納装置801、変倍率生成装置802、DDA処理装置803、IXカウント装置804、変倍画素係数生成装置805、変倍画素変換装置806、コントローラ807を含んで構成されている。
【0046】
また、元画素格納装置801は、ハーフトーン処理装置が並列に処理する画素分を蓄え、変倍画素変換装置806へ転送する。変倍率生成装置802は、変倍される画像のソース画像の座標X始点SXS、X終点SXE、変倍後のデイステイネーション画像の座標X始点DXS、X終点DXEからX方向の変倍率RATEXを求め、DDA処理装置803へ転送する。DDA処理装置803は、変倍率生成装置802からのX方向の変倍率とデイステイネーション画像の座標X始点DXSを受け取り、図61の図中○で示す拡大された画素のように、入力された画像の変倍後の座標をDDA(デジタル微分解析)により、随時求める。この例では、図8のように補間するため補間されるX始点XS、X終点XEを求め、IXカウント処理装置804と変倍画素係数生成装置805へ転送される。IXカウント装置804はDDA処理装置803からY方向の始点と終点を受け取り、図61の図中△で示す補間された画素のY座標を生成し、コントローラ807へ、X座標がX終点DXEと等しくなったことをXENDFL信号で知らせる。変倍画素係数生成装置805は、DDA処理装置803からの補間する方向の始点XSと変倍率生成装置802から変倍率RATEXを受け取り、変倍画素生成装置の出力する各画素の幅を出力し、変倍画素変換装置806にて画素に変倍処理を行う。この時、変倍画素変換装置806が出力するMAX数は、ハーフトーン処理装置が処理可能なMAXの画素値までである。また、変倍率が1倍があるため、変倍画素生成装置の出力も、ハーフトーン処理装置が処理可能なMAXの画素値まで対応している。そのため、変倍率が1倍以上の場合、複数クロックに渡ってハーフトーン処理装置が処理可能なMAXの画素値ごと出力しなければならない。変倍画素変換装置806は、変倍画素生成装置から変倍する画素を受け取り、変倍画素係数生成装置805から、変倍画素生成装置の出力する各画素の幅を受け取り、図15のように、変倍する画素を変倍画素生成装置からの幅に変更することにより、変倍処理を実行する。コントローラ807は、変倍処理装置の全体をコントロールする。
【0047】
図16は図14の変倍処理装置の動作を示すフローチャートである。同図において、先ず図14の変倍率生成装置802により変倍率を求める(ステップS201)。X方向のDDAの初期化を行う(ステップS202)。図14のDDA処理装置803により、X方向(水平方向)のDDA処理を行い、処理するX始点XSとX終点XEを求める(ステップS203)。変倍データを内部ラインメモリから読み込む(ステップS204)。図14の変倍画素係数生成装置805により、読み込んだ変倍処理される画素の幅を求める(ステップS205)。図14の変倍画素変換装置806により、変倍される画素を求めた幅に変換し、ハーフトーン処理装置のMAXの並列処理画素数に合わせて出力する(ステップS206)。XEが変倍されたデイステイネーション画像の座標X終点DXEを超えていない場合はステップS203へ処理を戻す(ステップS207;YES)。DXEと同じか、又は超えた場合は処理を終了する(ステップS207;NO)。
【0048】
図17は図14の元画素格納装置の構成を示すブロック図である。同図において、レジスタ901〜908は、順次データを格納し、ハーフトーン処理装置のMAX並列処理画素分の画素を格納する。ラインメモリ909は、レジスタ901〜908により、蓄えられた画像データをつなげて並列に格納し、メインメモリからの画像データの読み込みと画像処理が並列に処理可能とし、読み込み時にレジスタ901〜908の内容が並列に読み込みできるようにする。ラインメモリコントローラ910は、ラインメモリのアドレスの生成と、この元画素格納装置の全体のコントロールを行う。
【0049】
図18は図14の変倍率生成装置の構成を示すブロック図である。同図に示す変倍率生成装置は、減算器1001,1002、除算器1003、レジスタ1004を含んで構成されている。このような構成を有する変倍率生成装置によれば、前記のように変倍される画像のソース画像の座標X始点SXS及びX終点SXEと変倍後のデイステイネーション画像の座標X始点DXS及びX終点DXEからX方向の変倍率RATEXを求め、図14のDDA処理装置803へ転送する。つまり、図17のように、RATEX=(SXE-SXS)/(DXE-DXS)の演算により、X方向の変倍率(RATEX)を求め、ソース画像の座標X始点SXS及びX終点SXE、デイステイネーション画像の座標X始点DXS及びX終点DXEを求める。
【0050】
図19は図14のDDA処理装置の構成を示すブロック図である。同図に示すDDA処理装置は、最初のみレジスタ1102に初期値のデイステイネーション画像の座標X始点DXSを転送し、その後順次加算されていく加算器1104の出力を送るMUX1101、現在の処理中のX値を格納するレジスタ1102、X方向変倍率RATEXとハーフトーン処理装置のMAXの並列処理画素数を乗算し複数画素の分の微差分を求める乗算器1103、乗算器1103で求めた値を格納するレジスタ1104、加算器1105、補間するX終点を格納するレジスタ1106、補間するX始点を格納するレジスタ1107を含んで構成されている。図14の変倍率生成装置802からのX,Y方向の変倍率とデイステイネーション画像の座標X始点DXS及びY始点DYSを受け取り、図61の図中○で示す拡大された画素のように、入力された画像の変倍後の座標をDDA(デジタル微分解析)により、随時求める。この例では、図14のように補間するため補間されるX始点及びX終点を求め、図14のIXカウント処理装置804と変倍画素係数生成装置805へ転送される。この時、X方向においては、ハーフトーン処理装置のMAXの並列処理画素分のDDAを行う。そのため、X方向のDDA処理装置は図19のように現在のX座標に変倍率生成装置で求めたX方向変倍率RATEXにハーフトーン処理装置のMAXの並列処理画素数を乗算した値を順次加算していく構造である。
【0051】
図20は図14のIXカウント装置の構成を示すブロック図である。同図示すIXカウンタ装置は、比較器1201を有し、図14のDDA処理装置803からのXE値とデイステイネーション画像の座標X終点DXEを比較しX座標がX終点DXEと等しくなったことを示すXENDFL信号を生成する。
【0052】
図21は図14の変倍画素係数生成装置の構成を示すブロック図である。同図に示す変倍画素係数生成装置は、並列X幅生成装置1301及び出力X幅生成装置1302を含んで構成されている。並列X幅生成装置1301は、図14の元画像格納装置801が出力する画素数分のDDAにより、各画素のX座標を求め、そのX座標から各画素間のX幅を求め、出力X幅生成装置1302の出力するX幅の生成装置へ送る。また、出力X幅生成装置1302は、図14の変倍画素係数生成装置806が出力するハーフトーン処理装置の並列処理数に合せて分けて出力するための処理を行い、各画素のX幅の累積加算値と、その画素数を図14の変倍画素係数生成装置806へ送る。このような構成を有する変倍画素係数生成装置は、図14のDDA処理装置804からの補間するX方向の始点XSと図14の変倍率生成装置802により求めたX方向変倍率RATEXから並列X幅生成装置1301で元画像格納装置が出力する画素数分のDDAにより、各画素のX座標を求め、そのX座標から各画素間のX幅を求め、出力X幅生成装置1302により、図14の変倍画素係数生成装置806が出力するハーフトーン処理装置の並列処理数に合せて分けて出力するための処理を行い、各画素のX幅の累積加算値と、その画素数を図14の変倍画素係数生成装置806へ送る。
【0053】
図22は図21の並列X幅生成装置の構成を示す図である。同図に示す並列X幅生成装置は、加算器1401〜1408、減算器1409〜1416を含んで構成されている。加算器1401〜1408は、図14のDDA処理装置803により求めたX始点と、図14の変倍率生成装置802により求めたX方向変倍率RATEXを受け取り、複数画素のX値を求める。減算器1409〜1416は各画素間の幅を求める。
【0054】
図23は図21の出力X幅生成装置の構成を示すブロック図である。同図に示す出力X幅生成装置は、MUX1501〜1508、レジスタ1509〜1516、累積加算処理装置1517、XWIDTH更新処理装置1518、出力用XWIDTH生成処理装置1519、累積加算処理装置1520を含んで構成されている。このような構成を有する出力X幅生成装置によれば、図21の並列X幅生成装置1301からの各画素のX幅を受け取り、レジスタに格納し、受け取った全ての画素が処理し終わるまで、保持する。そして、XWIDTH更新処理装置1518により出力された画素分の各画素のX幅を画素番号の小さいレジスタから減算し、MUX1501〜1508を通しレジスタ1509〜1516を更新する。累積加算処理装置1517は、レジスタ1509〜1516に格納しているX幅を累積加算し、XWIDTH更新処理装置1518は、累積加算装置1517の出力する累積加算値を受け取り、各画素点での累積加算値からハーフトーン処理装置のMAX並列処理数を超える最初の累積加算点を求め、その画素までの更新値を生成し、MUX1501〜1508を通し、対応するレジスタ1509〜1516の値を更新する。出力用XWIDTH生成処理装置1519は、累積加算装置1517の出力する累積加算値を受け取り、各画素点での累積加算値からハーフトーン処理装置のMAX並列処理数を超える最初の累積加算点を求め、その画素までの出力するX幅を求めて累積加算処理装置1520へ転送する。累積加算処理装置1520は、図14の変倍画素変換装置806の処理に必要な累積加算を行う。
【0055】
図24は図23の累積加算処理装置の構成を示すブロック図である。同図に示す累積加算処理装置は、各画素までの累積加算値を求める加算器1601〜1607を有する。
【0056】
図25は図23のXWIDTH更新処理装置の処理を示すフローチャートである。同図において、先ず0番の画素のX幅がハーフトーン処理装置の並列処理数(この例では“8”である)以上あるか調べ、以上あれば0番目のX幅からハーフトーン処理装置の並列処理数を減算し、新たな0番目のX幅値を求める(ステップS301;YES、ステップS302)。次に、0〜1番目までの累積X幅がハーフトーン処理装置の並列処理数(この例では“8”である)以上あるか調べ、以上あれば0番目のX幅を“0”とし、1番目のX幅からハーフトーン処理装置の並列処理数から0番目のX幅を減算した値を減算し、新たな1番目のX幅値を求める(ステップS303;YES、ステップS304)。以下ステップS305〜S317において同様に処理を行う。
【0057】
図26は図23の出力XWIDTH生成処理装置の処理を示すフローチャートである。はじめに、出力する各画素のX幅の初期化を行う(ステップS401)。そして、0番の画素のX幅がハーフトーン処理装置の並列処理数(この例では“8”である)以上あるか調べ、以上あれば0番目の出力するX幅へハーフトーン処理装置の並列処理数をセットし、処理する画素数PNUMへハーフトーン処理装置の並列処理数をセットする(ステップS402;YES、ステップS403)。更に、0〜1番目までの累積X幅がハーフトーン処理装置の並列処理数(この例では“8”である)以上あるか調べ、以上あれば0番目の出力するX幅へ0番目のX幅XWIDTH0をセットし、1番目の出力するX幅へ、ハーフトーン処理装置の並列処理数から0番目のX幅を減算した値をセットし、処理する画素数PNUMへハーフトーン処理装置の並列処理数をセットする(ステップS404;YES、ステップS405)。そして、0〜2番目までの累積X幅がハーフトーン処理装置の並列処理数(この例では“8”である)以上あるか調べ、以上あれば0番目の出力するX幅へ0番目のX幅XWIDTH0をセットし、1番目の出力するX幅へ1番目のX幅XWIDTH1をセットし、2番目の出力するX幅へ、ハーフトーン処理装置の並列処理数から1番目のX幅までの累積加算値を減算した値をセットし、処理する画素数PNUMへハーフトーン処理装置の並列処理数をセットする(ステップS406;YES、ステップS407)。以下ステップS408〜S417において同様に処理され、ステップS418では、全ての画素のX幅の合計がハーフトーン処理装置の並列処理数の以下であるため、全ての画素の出力する画素のX幅を更新されてきた図23のレジスタ1509〜1516のX幅の値をセットし、全ての画素のX幅の合計を処理する画素数PNUMへセットする。
【0058】
図27は図23の累積加算処理装置の構成を示すブロック図である。同図に示す累積加算処理装置は、各画素での累積加算値を求める加算器1701〜1707を有している。
【0059】
図28は図14の変倍画素変換装置の出力画素の0番目の処理を示すフローチャートである。同図において、先ず図14の変倍画素係数生成装置805からの0番目の画素のX幅“DXWIDTH0"が“0”より大きい場合、出力画素0番目は図14の元画素格納装置801のDATA0の値をセットする(ステップS501;YES、ステップS502)。そして、図14の変倍画素係数生成装置805からの0番目〜1番目の画素のX幅の累積の“DXWIDTH1"が“0”より大きい場合、出力画素0番目は図14元画素格納装置801のDATA1の値をセットする(ステップS503;YES、ステップS504)。次に、図14の変倍画素係数生成装置805からの0番目〜2番目の画素のX幅の累積の“DXWIDTH2"が“0”より大きい場合、出力画素0番目は図14の元画素格納装置801のDATA2の値をセットする(ステップS505;YES、ステップS506)。また、図14の変倍画素係数生成装置805からの0番目〜3番目の画素のX幅の累積の“DXWIDTH3"が“0”より大きい場合、出力画素0番目は図14の元画素格納装置801のDATA3の値をセットする(ステップS507;YES、ステップS508)。更に、図14の変倍画素係数生成装置805からの0番目〜4番目の画素のX幅の累積の“DXWIDTH4"が“0”より大きい場合、出力画素0番目は図14の元画素格納装置801のDATA4の値をセットする(ステップS509;YES、ステップS510)。そして、図14の変倍画素係数生成装置805からの0番目〜5番目の画素のX幅の累積の“DXWIDTH5"が“0”より大きい場合、出力画素0番目は図14の元画素格納装置801のDATA5の値をセットする(ステップS511;YES、ステップS512)。また、図14の変倍画素係数生成装置805からの0番目〜6番目の画素のX幅の累積の“DXWIDTH6"が“0”より大きい場合、出力画素0番目は図14の元画素格納装置801のDATA6の値をセットする(ステップS513;YES,ステップS514)。更に、図14の変倍画素係数生成装置805からの0番目〜7番目の画素のX幅の累積の“DXWIDTH7"が“0”より大きい場合、出力画素0番目は図14の元画素格納装置801のDATA7の値をセットする(ステップS515;YES、ステップS516)。
【0060】
図29は図14の変倍画素変換装置の出力画素の1番目の処理を示すフローチャートである。同図において、先ず図14の変倍画素係数生成装置805からの0番目の画素のX幅“DXWIDTH0"が“1”より大きい場合、出力画素1番目は図14の元画素格納装置801のDATA0の値をセットする(ステップS601;YES、ステップS602)。そして、図14の変倍画素係数生成装置805からの0番目〜1番目の画素のX幅の累積の“DXWIDTH1"が“1”より大きい場合、出力画素1番目は図14の元画素格納装置801のDATA1の値をセットする(ステップS603;YES、ステップS604)。また、図14の変倍画素係数生成装置805からの0番目〜2番目の画素のX幅の累積の“DXWIDTH2"が“1”より大きい場合、出力画素1番目は図14の元画素格納装置801のDATA2の値をセットする(ステップS605;YES、ステップS606)。更に、図14の変倍画素係数生成装置805からの0番目〜3番目の画素のX幅の累積の“DXWIDTH3"が“1”より大きい場合、出力画素1番目は図14の元画素格納装置801のDATA3の値をセットする(ステップS607;YES、ステップS608)。また、図14の変倍画素係数生成装置805からの0番目〜4番目の画素のX幅の累積の“DXWIDTH4"が“1”より大きい場合、出力画素1番目は図14の元画素格納装置801のDATA4の値をセットする(ステップS609;YES、ステップS610)。更に、図14の変倍画素係数生成装置805からの0番目〜5番目の画素のX幅の累積の“DXWIDTH5"が“1”より大きい場合、出力画素1番目は図14の元画素格納装置801のDATA5の値をセットする(ステップS611;YES、ステップS612)。そして、図14の変倍画素係数生成装置805からの0番目〜6番目の画素のX幅の累積の“DXWIDTH6"が“1”より大きい場合、出力画素1番目は図14の元画素格納装置801のDATA6の値をセットする(ステップS613;YES、ステップS614)。図14の変倍画素係数生成装置805からの0番目〜7番目の画素のX幅の累積の“DXWIDTH7"が“1”より大きい場合、出力画素1番目は図14の元画素格納装置801のDATA7の値をセットする(ステップS615;YES、ステップS616)。
【0061】
以下、図30〜図35に図14の変倍画素変換装置の出力画素の2番目〜7番目の各処理フローを示すが、図28及び図29に示す0番目及び1番目の処理と同様であるのでここでは説明を省略する。
【0062】
このように、変倍画素変換装置では、ハーフトーン処理装置の並列処理画素分の画素を求めなければならず、この例では“8”であるため、上記のような例になる。
【0063】
次に、ハーフトーン処理装置について構成を示す図36を用いて詳細に説明する。同図に示すハーフトーン処理装置は、ライトアドレス生成装置1801、デイザパターン記憶装置1802、MUX1803、デイザパターンアドレス生成装置1804、比較パターン切り出し装置1805、並列比較装置1806、固定長データ生成装置1807、ラインメモリ1808、ラインメモリアドレス生成装置1809、コントローラ1810を含んで構成されている。また、ライトアドレス生成装置1801は、図3のメモリアービターI/F201から受け取ったデイザデータをデイザパターン記憶装置1802へ格納するためのアドレスを生成する。デイザパターン記憶装置1802は、図3のメモリアービターI/F201から受け取ったデイザデータを格納する。なお、後述する図41にデイザパターン記憶装置のデイザパターンメモリの32*8のサイズの例を示す。上述したように、図3のメモリアービターI/F201は垂直方向に変倍されるライン数ごとデイザパターンを転送し、このデイザパターン記憶装置1802へ格納する。図41のフォーマットのように、垂直方向の変倍率だけのデイザパターンを格納することができる。図41に示す例では、垂直方向に8倍までの例であるために、このように8ライン分のデイザパターンを格納することができる。また、デイザパターンの水平方向のパターン数はこの例では、MAX32ドットである。MUX1803は、図3のメモリアービターI/F201からのデイザデータの転送時にデイザパターン記憶装置1802のアドレスをライトアドレス生成装置1801へ渡す。デイザパターンアドレス生成装置1804は、図3のパラメータ格納装置204からデイザパターンの大きさなどを受け取り、デイザパターンメモリノアドレスを生成する。比較パターン切り出し装置1805は、デイザパターンメモリから図3のデータ変換処理装置202の水平方向に複数の画素の閾値マトリックスを読み込み、コントローラ1810から、現在処理する画素の数を受け取り、デイザパターンメモリから有効なパターンの先頭から図3のデータ変換処理装置202の水平方向に複数のデータを並列比較装置1806へ転送する。並列比較装置1806は、図3のデータ変換処理装置202で求めた水平方向に複数の変倍後の画素値と、比較パターン切り出し装置1805からの閾値マトリックスとを並列に比較する。固定長データ生成装置1807は、並列比較装置1806で求めた1/0の値をコントローラ1810が示す有効数分だけ、固定長のデータに加えていくことにより、固定長のデータを生成する。ラインメモリ1808は、固定長データ生成装置1807で生成された固定長のデータを垂直方向の変倍後のライン数分のデータを格納する。後述する図43に示すラインメモリフォーマットの例では、垂直方向に8倍までの処理装置の例であるために、8ライン分のデータを格納する。ラインメモリアドレス生成装置1809は固定長データ生成装置1807からのデータをラインメモリ1808へ格納するためのアドレスを生成する。コントローラ1810は、図3の変倍処理装置202から、水平補間された画素の有効数を受け取り、後述する図40のようなフローで図36のハーフトーン処理装置をコントロールする。
【0064】
次に、図37は図36の比較パターン切り出し装置の構成を示すブロック図である。同図に示す比較パターン切り出し装置は、レジスタ1901,1902,1904,1906、シフター1903、加算器1905を有している。また、レジスタ1901は、図36のデイザパターン記憶装置1802からの値を格納する。この例では、図3のデータ変換処理装置202の水平方向に8個処理しているため、1画素が8bitの閾値が8個必要であるため、64bitとなる。レジスタ1902は、レジスタ1901からの値を格納する。このレジスタ1901,1902により、データ変換処理装置の水平方向に2倍のパターンを生成し、シフター1903へ転送する。シフター1903は、レジスタ1901,1902からの図3のデータ変換処理装置202の水平方向に2倍のパターンを受け取り、図14の変倍画素変換装置806からの水平補間された画素の有効数から求めた現在の先頭値から、データ変換処理装置の水平方向に複数のデータをシフトして出力する。レジスタ1904は、シフター1903の値を格納する。加算器1905は、図3のデータ変換処理装置202からの有効数を受け取り、次の先頭値を求めるために現在のシフト値と加算処理を行う。レジスタ1906は、加算器1905で求めた値を格納する。
【0065】
図38は図36の並列比較装置の構成を示すブロック図である。同図に示す例では、図3のデータ変換処理装置202の水平方向の処理数が“8”であるため、比較装置も8個存在する。比較器2001〜2008は、図36の比較パターン切り出し装置1805により切り出された図3のデータ変換処理装置202の水平方向に複数個の閾値と各画素が比較される。
【0066】
図39は図36の固定長データ生成装置の構成を示すブロック図である。同図に示す固定長データ生成装置は、シフター2101、OR装置2102、レジスタ2103,2104,2106、加算器2105を有している。シフター2101は、図36の並列比較装置1806からの図3のデータ変換処理装置202の水平方向に複数個の“1/0”データを受け取り、現在作成中の固定長データの最終の値に合せるためのシフト処理を行う。OR装置2102は、シフター2101でシフトされた値を現在作成中の値とOR処理を行って入れ込む。レジスタ2103は、現在作成中の固定長データを格納し、OR装置2102の新たに入れ込まれた値を格納することにより更新される。レジスタ2104は、OR装置2102で生成される固定長データ幅を全て満たしたデータを格納し、図36のラインメモリ1808へ転送される。加算器2105は、図14の変倍画素変換装置806から有効数を受け取り、次のシフタの先頭値を求めるために、変倍画素変換装置806の現在の固定長データの最終値と加算処理する。レジスタ2106は、固定長データの最終値を格納し、シフター2101のシフタをコントロールする。
【0067】
図40は図36のハーフトーン処理装置の処理を示すフローチャートである。同図において、図36のデイザパターンアドレス生成装置1804が示すデイザパターンメモリより水平のMAX倍率分のデータを並列にリードする(ステップS1301)。そして、図36の比較パターン切り出し装置1805により比較する水平のMAX倍率分をSHFT値の示すアドレスからデイザパターンを切り出す(ステップS1302)。次に、図36の並列比較装置1806により水平のMAX倍率分を並列に比較する(ステップS1303)。その比較結果を図36の固定長データ生成装置1807で有効なドットのみ固定長データに追加していく(ステップS1304)。そして、図36のラインメモリアドレス生成は、図36のラインメモリ1808のアドレスを生成し、の固定長データ生成装置1807のデータをラインメモリ1808へ書き込む(ステップS1305)。その後、図36の比較パターン切り出し装置1805は、SHFT値に有効ドット数を加算し、次の処理に備える(ステップS1306)。全てのデイザパターンに対して処理が終了しているか否かを調べ、終了していないときはSHFT値は水平のMAX倍率以上か否かを調べて以上でない場合はステップS1302へ戻り、以上である場合はSHFT値から水平のMAX倍率を差し引いた値をSHFT値としてステップS1301へ戻って処理を繰り返す。
【0068】
図41は図36のデイザパターン記憶装置の32*8のサイズの例を示す。また、図42に図41のデイザテーブルを使用した処理の推移の例を示す。更に、図43に図36のラインメモリの例を示す。
【0069】
また、図44は図3のデータ変換処理装置202の変倍処理がバイリニア法である場合の全体のフローを示す。同図において、先ず図3のメモリアービターI/F201は、垂直方向の変倍率を求める処理を行う(ステップS1401)。図3のメモリアービターI/F201は、図2のメモリアービター103を介して図2のメモリ109から1ラインの画像データを読み込み、図3のデータ変換処理装置202へ送る(ステップS1402)。また、ステップS1402と同様に、図3のメモリアービターI/F201は、図2のメモリアービター103を介して図2のメモリ109から1ラインの画像データを読み込み、図3のデータ変換処理装置202へ送る(ステップS1403)。なお、バイリニア補間法では後述する図50のようにA,B,C,Dの4点から補間するため、A,Bを格納するラインメモリと、C,Dを格納するラインメモリが必要であり、最初に2ラインを読み込み、その後、C,DのラインをA,Bのラインとし、C,Dの1ラインを読み込んでいく。次に、図3のメモリアービターI/F201は、垂直方向に変倍後のライン数分のデイザデータを読み込み、図3のハーフトーン処理装置203へ送る(ステップS1404)。図3のメモリアービターI/F201はステップS1401で求めた垂直方向の変倍率とデイステイネーション画像の座標Y始点DYSから、垂直方向のDDA(デジタル微分解析)により、変倍後のY始点YSとY終点YEを求める(ステップS1405)。そして、図3のメモリアービターI/F201は変倍後の垂直方向のラインカウンタにステップS1404で求めたYSの値を設定する(ステップS1406)。図3のデータ変換装置202により1ラインの画像処理(変倍、色変換、フィルター処理など)を行う(ステップS1407)。次に、図3のハーフトーン処理装置203により、1ラインの画像処理後の画像データにハーフトーン処理を行う(ステップS1408)。また、図3のハーフトーン処理装置203はハーフトーン処理後の1ラインデータを内部ラインメモリに書き込む(ステップS1409)。更に、図3のメモリアービターI/F201は変倍後の垂直方向のラインカウンタをカウントアップする(ステップS1410)。そして、図3のメモリアービターI/F201は垂直方向のラインカウンタがステップS1404で求めた垂直方向の変倍後のY終点YEを超えているかいないかをチェックし、超えていない場合はステップS1407の処理へ移り(ステップS1411;YES)、超えた場合はステップS1412の処理へ移る(ステップS1411;NO)。図3のメモリアービターI/F201は書き込まれた内蔵ラインメモリから画像処理後のデータを図2のメモリアービター103を介して図2のメモリ109へ画像処理後の画像データを書き込む(ステップS1412)。そして、図3のメモリアービターI/F201は求めた垂直方向の変倍後のY終点YEがデイステイネーション画像の座標Y終点DYEを超えているかいないかをチェックし、超えている場合はステップS1403のフローへ移り(ステップS1413;YES)、等しいか又は超えた場合は処理を終了する(ステップS1413;NO)。
【0070】
図45は垂直方向に縮小する場合のタイミング例を示す図である。同図の(a)に示す例は、縮小倍率が0.5倍の例で、画像処理前の画像データを1つ飛ばしのラインを(奇数ラインのみ)読み込み、デイザパターンデータは順次1ラインごとに読み込み、そして画像処理後のデータを順次1ラインごと書き込んでいく。
ここでは図44のフローのように、最初は2ラインを続けて読み込む。また、この例では、画像データの読み込み処理と画像処理とが並列に処理される。同図の(b)に示す例は、縮小倍率が0.6666倍の例で、画像処理前の画像データを3ラインごと1ラインを飛ばして読み込み、デイザパターンデータは順次1ラインごとに読み込み、そして画像処理後のデータを順次1ラインごと書き込んでいく。ここでも図44のフローのように、最初は2ラインを続けて読み込む。また、この例でも、画像データの読み込み処理と画像処理とが並列に処理される。
【0071】
図46は垂直方向の等倍及び拡大の場合のタイミング例を示す図である。同図の(a)に示す例は、1倍の例で、画像処理前の画像データを順次1ラインごとに読み込み、デイザパターンデータを順次1ラインごとに読み込み、そして画像処理後のデータを順次1ラインごとに書き込んでいく。ここでも図44のフローのように、最初は2ラインを続けて読み込む。また、この例では、画像データの読み込み処理と画像処理とが並列に処理される。同図の(b)に示す例は、105倍の例で、画像処理前の画像データを順次1ラインごとに読み込み、デイザパターンデータを時々2ラインごとに読み込み、そして画像処理後のデータを時々2ラインごと書き込んでいく。ここでも図44のフローのように、最初は2ラインを続けて読み込む。また、この例では、画像データの読み込み処理と画像処理とが並列に処理され、時々2ラインの画像処理を行う。また、同図の(c)に示す例は、2倍の例で、画像処理前の画像データを順次1ラインごとに読み込み、デイザパターンデータを順次2ラインごとに読み込み、そして画像処理後のデータを順次2ライン後と書き込んでいく。ここでも図44のフローのように、最初は2ラインを続けて読み込む。また、この例では、画像データの読み込み処理と画像処理とが並列に処理され、2ラインの画像処理を行う。
【0072】
図47はバイリニア補間法の変倍処理装置の構成を示すブロック図である。同図に示す変倍処理装置は、パラメータ処理装置2201、拡大率生成装置2202、DDA処理装置2203、IX,IYカウンタ装置2204、補間係数生成装置2205、補間処理装置2206を含んで構成されている。また、パラメータ処理装置2201は、入力された画像データを順次、ラインメモリに蓄え2ライン蓄えたところで、バイリニア補間される4点のWCOLA,WCOLB,WCOLC,WCOLDを補間処理装置2206へ転送する。拡大率生成装置2202は、変倍される画像のソース画像の座標X始点SXS及びX終点SXE、Y始点SYS及びY終点SYEと変倍後のデイステイネーション画像の座標X始点DXS及びX終点DXE、Y始点DYS及びY終点DYEからX、Y方向の変倍率RATEX,RATEYを求め、DDA処理装置2203へ転送する。また、DDA処理装置2203は、拡大率生成装置2202からのX,Y方向の変倍率とデイステイネーション画像の座標X始点DXS及びY始点DYSを受け取り、図61の図中○で示す拡大された画素のように、入力された画像の変倍後の座標をDDA(デジタルデジタル微分解析)により、随時求める。この例では、後述する図50のように補間するため補間されるX始点、X終点、Y始点、Y終点を求め、IX,IYカウント処理装置2204と補間係数生成装置2205へ転送される。IX,IYカウント装置2204は、DDA処理装置2203からの補間する方向の始点と終点とY方向の始点と終点を受け取り、図61の図中△で示す補間された画素のX,Y座標を生成し、補間係数生成装置2205へ転送する。また、補間係数生成装置2205は、DDA処理装置2203からの補間する方向の始点と終点とY方向の始点と終点を受け取り、IX,IYカウント装置2204からの補間する画素のX,Y座標から、補間処理装置2206で補間するX,Y方向の補間係数(DRATEY,DRATEX)を求め、補間処理装置2206へ送る。更に、補間処理装置2206は、パラメータ処理装置2201から、補間するデータを受け取り、補間係数生成装置2205から補間する係数を受け取ることにより、パラメータ処理装置2201からのデータを補間することにより、図6のように、拡大された画素間を補間し埋めることにより、拡大画像を生成することにより、変倍処理を実行する。
【0073】
図48は図47の変倍処理装置の処理を示すフローチャートである。同図において、先ず拡大率生成処理装置により、拡大率を求める(ステップS1501)。そして、DDA処理装置により、Y方向(垂直方向)のDDA処理を行い、処理するY始点YSとY終点YEを求める(ステップS1502)。IX,IYカウント処理装置の処理するY座標(水平ライン)にYS座標を指定する(ステップS1503)。IX,IYカウント処理装置の処理するX座標をデイステイネーション画像の座標X始点DXSに初期化する(ステップS1504)。DDA処理装置により、X方向(水平方向)のDDA処理を行い、処理するX始点XSとX終点XEを求める(ステップS1505)。次に、補間データを読み込む補間係数生成処理装置により、現在処理する座標での補間係数を求める(ステップS1506,S1507)。補間処理装置により、拡大された画素間を補間することにより、変倍画像を生成する(ステップS1508)。XEが変倍されたデイステイネーション画像の座標X終点DXEを超えていない場合はステップS1505へ処理を戻す(ステップS1509;YES)。超えている場合はIX,IYカウント処理装置により、次に補間するY座標を求める(ステップS1509;NO、ステップS1510)。その値が補間するY値終点YEを超えていない場合はステップS1504へ処理を戻す(ステップS1511;YES)。YEが変倍されたデイステイネーション画像の座標Y終点DYEを超えていない場合はステップS1502へ処理を戻す(ステップS1512;YES)。
【0074】
図49は図47のパラメータ処理装置の構成を示すブロック図である。同図に示すパラメータ処理装置は、入力された画素の偶数番目の画素を蓄えるレジスタ2301、入力された画素の奇数番目の画素を蓄えるレジスタ2302、ライン分の画素を格納するラインメモリ2303〜2305、ラインメモリ2303〜2305に格納されたデータをコントロールして出力するセレクタ2306、コントローラ2307を含んで構成されている。例えば、現在、ラインメモリ2303、ラインメモリ2304のデータを出力する場合、以下のようにラインメモリ2303が補間される画素A,Bをラインメモリ2304が補間される画素C,Dを出力し、ラインメモリ2305には次の画素を蓄えさせる。
【0075】
このパラメータ処理装置は、図50のようにスキャンライン方向から順次入力された画像データを2ライン分蓄え、順次図51の補間される4点を図52のように出力する。この時(補間される4画素を出力している時)、入力される画素を3本目のラインメモリで順次受け取る。3本目のラインメモリがいっぱいになり、図52のような垂直の補間が全て終わらない場合は、入力される画素を送る装置に対してWAITをかける。そして、図52のように2ラインで蓄えた画素の垂直方向すべて終了すると、蓄えられた3本目の画素と先ほど処理した2ラインの画素の後半の1ラインとから、新たな2ラインの画素を形成し、前記と同様に図52のように、順次補間される4点の画素を出力していく。そして、空いている1ラインのメモリに対して、前記と同様に、3本目のラインメモリとして、入力される画素を順次蓄えていく。
【0076】
図53は図47の拡大率生成装置の構成を示すブロック図である。同図に示す拡大率生成装置は、減算器2401,2402,2405,2406、除算器2403,2407、レジスタ2404,2408を含んで構成されている。このような構成を有する拡大率生成装置は、変倍される画像のソース画像の座標X始点SXS及びX終点SXE、Y始点SYS及びY終点SYEと変倍後のデイステイネーション画像の座標X始点DXS及びX終点DXE、Y始点DYS及びY終点DYEからX、Y方向の変倍率RATEX,RATEYを求め、図47のDDA処理装置2203へ転送する。RATEX=(SXE−SXS)/(DXE−DXS)の演算により、X方向の変倍率(RATEX)を求め、(ソース画像の座標X始点SXS及びX終点SXE、デイステイネーション画像の座標X始点DXS及びX終点DXE)、RATEY=(SYE−SYS)/(DYE−DYS)の演算により、Y方向の変倍率(RATEY)を求め、(ソース画像の座標Y始点SYS、Y終点SYE、デイステイネーション画像の座標Y始点DYS、Y終点DYE)、を求める。
【0077】
図54は図47のDDA処理装置の構成を示すブロック図である。同図に示すDDA処理装置は、MUX2501,2507、レジスタ2502,2503,2505,2506,2508,2509,2511,2512、加算器2504,2510を含んで構成されている。また、MUX2501は、最初のみレジスタ2502に、初期値のデイステイネーション画像の座標X始点DXSを転送し、その後順次加算されていく加算器2504の出力を送る。レジスタ2502は、現在の処理中のX値を格納する。レジスタ2503は、変倍率生成装置で求めたX方向変倍率RATEXを格納する。レジスタ2505は、補間するX終点を格納する。レジスタ2506は、補間するX始点を格納する。MUX2507は、最初のみレジスタ2508に、初期値のデイステイネーション画像の座標Y始点DYSを転送し、その後順次加算されていく加算器2510の出力を送る。レジスタ2508は、現在の処理中のY値を格納する。レジスタ2509は、変倍率生成装置で求めたY方向変倍率RATEYを格納する。レジスタ2511は、補間するY終点を格納する。レジスタ2512は、補間するY始点を格納する。
【0078】
このような構成を有するDDA処理装置によれば、図47の拡大率生成装置2201からのX,Y方向の変倍率とデイステイネーション画像の座標X始点DXS、Y始点DYSを受け取り、図61の図中○で示す拡大された画素のように、入力された画像の変倍後の座標をDDA(デジタル微分解析)により、随時求める。この例では、図51のように補間するため補間されるX始点、X終点、Y始点、Y終点を求め、図47のIX,IYカウント処理装置2204と補間係数生成装置2205へ転送される。また、X方向DDA処理装置は図12のように現在のX座標に変倍率生成装置で求めたX方向変倍率RATEXを順次加算していく構造であり、Y方向DDA処理装置は図54のように現在のY座標に変倍率生成装置で求めたRATEYを順次加算していく構造である。
【0079】
図55は図47の補間係数生成装置の構成を示すブロック図である。同図に示す補間係数生成装置は、減算器2601,2602,2605,2606、除算器2603,2607,2608、レジスタ2604,2609を含んで構成されている。このような構成を有する補間係数生成装置は、図47のDDA処理装置2203からの補間するX方向の始点と終点とY方向の始点と終点を受け取り、図47のIX,IYカウント装置2204からの補間する画素のX,Y座標から、図47の補間処理装置2206で補間するX,Y方向の補間係数(DRATEY,DRATEX)を求め、補間処理装置2206へ送る。DRATEX=(IX‐XS)/(XE−XS)の演算により、X方向の補間係数(DRATEX)を求め、DDA処理装置2203により求めたX方向の始点と終点(XS,XE)、IX,IYカウント装置2204からの補間する画素のX座標(IX)、DRATEY=(IY‐YS)/(YE−YS)の演算により、Y方向の補間係数(DRATEY)を求め、DDA処理装置2203により求めたY方向の始点と終点(YS,YE)、IX,IYカウント装置2204からの補間する画素のY座標(IY)を求める。
【0080】
また、この時、本方式は図52のように順次水平ラインごと求めるため、DRATEYの演算は各ラインごと1回のみ必要なだけであり、演算量が少ない。また、ハードウェア量の減少とスピードの高速化を招く。
【0081】
図56は図47の補間処理装置の構成を示すブロック図である。同図に示す補間処理装置は、垂直補間処理装置2701、水平補間係数生成装置2702、水平補間処理装置2703を含んで構成されている。また、垂直補間処理装置2701は、図47の補間係数生成装置2205で求めた補間係数(DRATEY)により、Y始点から現在のライン(Y座標)の位置の差分値を求め、垂直補間された図51のAV,BVを求めることができる。水平補間係数生成装置2702は、図47の補間係数生成装置2205で求めた補間係数(DRATEX,1/DX)によりこの変倍処理装置が処理可能な水平方向のMAX拡大率まで、水平方向の補間係数を並列に求める。この例では、この変倍処理装置が水平方向に8倍までであるため、8個の水平方向の補間係数を並列に求めている。水平補間処理装置2703は、垂直補間処理装置2701で求めた垂直方向の補間点であるWCOLAV,WCOLBVを受け取り、この2点間を水平補間係数生成装置2702で求めた複数の補間係数から、複数の補間点の値を求める。この時、実際の補間すべき個数は、有効数カウント装置により、カウントされる。
【0082】
このような構成を有する補間処理装置は、図47のパラメータ処理装置2201から、補間するデータを受け取り、補間係数生成装置2205から補間する係数を受け取ることにより、パラメータ処理装置2201からのデータを補間することにより、図57のように、拡大された画素間を補間し埋めることにより、拡大画像を生成することにより、変倍処理を実行する。補間方法として、ここでは、バイリニア補間方法について例で示す。図51にバイリニア補間方法の例を示す。ここでは図52に示すように各ラインを水平方向に順次補間していく、このため、図51の(a)のように、A,C間とB,D間を垂直に補間し、AV,BVを求め、その後図51の(b)のようにAV,BV間を水平に補間し、Pを求める。この場合、ハードウェア構成によっては、求めたBVを次のAVとして再利用することが可能であり、補間演算の減少へつながり、かつハードウェア量の減少とスピードの高速化を招く。
【0083】
図58は図56の垂直補間処理装置の構成を示すブロック図である。なお、ここでの処理は図51の(a)の処理に相当する。同図に示す垂直補間処理装置は、パラメータ処理装置で求めた4点の画素データの左の2つの画素の差を求める減算器2801、補間係数生成装置で求めたDRATEYの値と減算器2801の差分を乗算することにより、差分ないでの位置を求める乗算器2802、乗算器2082で求め値と始点を加算することにより、左端の垂直方向に補間された値を求める加算器2803、加算器2803の値を格納するレジスタ2804、パラメータ処理装置で求めた4点の画素データの右2つの画素の差を求める減算器2805、補間係数生成装置で求めたDRATEYの値と減算器2805の差分を乗算することにより、差分ないでの位置を求める乗算器2806、乗算器2806で求め値と始点を加算することにより、右端の垂直方向に補間された値を求める加算器2807、加算器2807の値を格納するレジスタ2808を含んで構成されている。
【0084】
図59は図56の水平補間係数生成装置の構成を示すブロック図ある。同図に示す水平補間係数生成装置は、補間係数生成装置で求めたDRATEXの値と1/DXと加算することにより、補間係数生成装置で求めたDRATEXの次の水平方向に2つ目の補間係数を求める加算器2901、加算器2907で求めた水平方向に2つ目の補間係数の値と1/DXと加算することにより、補間係数生成装置で求めたDRATEXの次の水平方向に3つ目の補間係数を求める加算器2906、加算器2906で求めた水平方向に3つ目の補間係数の値と1/DXと加算することにより、補間係数生成装置で求めたDRATEXの次の水平方向に4つ目の補間係数を求める加算器2905、加算器2905で求めた水平方向に4つ目の補間係数の値と1/DXと加算することにより、補間係数生成装置で求めたDRATEXの次の水平方向に5つ目の補間係数を求める加算器2904、加算器2904で求めた水平方向に5つ目の補間係数の値と1/DXと加算することにより、補間係数生成装置で求めたDRATEXの次の水平方向に6つ目の補間係数を求める加算器2903、加算器2903で求めた水平方向に6つ目の補間係数の値と1/DXと加算することにより、補間係数生成装置で求めたDRATEXの次の水平方向に7つ目の補間係数を求める加算器2902、加算器2902で求めた水平方向に7つ目の補間係数の値と1/DXと加算することにより、補間係数生成装置で求めたDRATEXの次の水平方向に8つ目の補間係数を求める加算器2901、補間係数生成装置で求めたDRATEXの値を格納するレジスタ2915、加算器2907で求めた水平方向に2つ目の補間係数の値を格納するレジスタ2914、加算器2906で求めた水平方向に3つ目の補間係数の値を格納するレジスタ2913、加算器2905で求めた水平方向に4つ目の補間係数の値を格納するレジスタ2912、加算器2904で求めた水平方向に5つ目の補間係数の値を格納するレジスタ2911、加算器2903で求めた水平方向に6つ目の補間係数の値を格納するレジスタ2910、加算器2902で求めた水平方向に7つ目の補間係数の値を格納するレジスタ2909、加算器2901で求めた水平方向に8つ目の補間係数の値を格納するレジスタ2908を含んで構成されている。
【0085】
図60は図56の水平補間処理装置の構成を示すブロック図である。なお、ここでの処理は図51の(b)の処理に相当する。同図に示す水平補間処理装置は、垂直補間処理装置で求めた垂直方向に補間された2点の画素データの水平方向の差を求める減算器3025、減算器3025で求めた画素の差分と、水平補間係数生成装置で求めた水平方向に1つ目の補間係数とを乗算することにより、差分間での補完される値を求める乗算器3001、乗算器3001での乗算結果と垂直補間結果であるWCOLAVの値を加算することにより、水平方向補間された1つ目の画素値を求める加算器3009、加算器3009で求めた値を格納するレジスタ3017、減算器3025で求めた画素の差分と、水平補間係数生成装置で求めた水平方向に2つ目の補間係数とを乗算することにより、差分間での補完される値を求める乗算器3002、乗算器3002での乗算結果と垂直補間結果であるWCOLAVの値を加算することにより、水平方向補間された2つ目の画素値を求める加算器3010、加算器3010で求めた値を格納するレジスタ3018、減算器3025で求めた画素の差分と、水平補間係数生成装置で求めた水平方向に3つ目の補間係数とを乗算することにより、差分間での補完される値を求める乗算器3003、乗算器3003での乗算結果と垂直補間結果であるWCOLAVの値を加算することにより、水平方向補間された3つ目の画素値を求める加算器3011、加算器3011で求めた値を格納するレジスタ3019、減算器3025で求めた画素の差分と、水平補間係数生成装置で求めた水平方向に4つ目の補間係数とを乗算することにより、差分間での補完される値を求める乗算器3004、乗算器3004での乗算結果と垂直補間結果であるWCOLAVの値を加算することにより、水平方向補間された4つ目の画素値を求める加算器3012、加算器3012で求めた値を格納するレジスタ3020、減算器3025で求めた画素の差分と、水平補間係数生成装置で求めた水平方向に5つ目の補間係数とを乗算することにより、差分間での補完される値を求める乗算器3005、乗算器3005での乗算結果と垂直補間結果であるWCOLAVの値を加算することにより、水平方向補間された5つ目の画素値を求める加算器3013、加算器3013で求めた値を格納するレジスタ3021、減算器3025で求めた画素の差分と、水平補間係数生成装置で求めた水平方向に6つ目の補間係数とを乗算することにより、差分間での補完される値を求める乗算器3006、乗算器3006での乗算結果と垂直補間結果であるWCOLAVの値を加算することにより、水平方向補間された6つ目の画素値を求める加算器3014、加算器3014で求めた値を格納するレジスタ3022、減算器3025で求めた画素の差分と、水平補間係数生成装置で求めた水平方向に7つ目の補間係数とを乗算することにより、差分間での補完される値を求める乗算器3007、乗算器3007での乗算結果と垂直補間結果であるWCOLAVの値を加算することにより、水平方向補間された7つ目の画素値を求める加算器3015、加算器3015で求めた値を格納するレジスタ3023、減算器3025で求めた画素の差分と、水平補間係数生成装置で求めた水平方向に8つ目の補間係数とを乗算することにより、差分間での補完される値を求める乗算器3008、乗算器3008での乗算結果と垂直補間結果であるWCOLAVの値を加算することにより、水平方向補間された8つ目の画素値を求める加算器3016、加算器3016で求めた値を格納するレジスタ3024、水平方向に8個の補間係数がどの時点から“1.0”を超えているかを1番目の係数からカウントすることにより、有効数を求める有効数カウント装置3026を含んで構成されている。
【0086】
なお、本発明は上記実施例に限定されるものではなく、特許請求の範囲内の記載であれば多種の変形や置換可能であることは言うまでもない。
【0087】
【発明の効果】
以上説明したように、本発明の画像処理装置は、メモリアービターI/Fとデータ変換処理手段とハーフトーン処理手段とを有している。そして、メモリアービターI/Fは、1ラインの画像データをデータ変換処理手段へ転送し、かつ垂直方向に変倍後の所定ライン分のデイザデータをハーフトーン処理手段へ転送し、ハーフトーン処理手段によるハーフトーン処理後のデータを出力するとともに、垂直方向の変倍処理を管理している。また、データ変換処理手段は、メモリアービターI/Fから転送された画像データに対して水平方向の変倍処理、色変換処理、フィルタ処理等の画像処理を行い、水平方向の各ライン毎の画像処理後のデータをハーフトーン処理手段に転送する。更に、ハーフトーン処理手段は、メモリアービターI/Fからの各ラインの垂直方向の変倍処理後の所定ライン分のデイザデータと、データ変換処理手段からの水平方向の各ライン毎の画像処理後のデータとを受け取り、ハーフトーン処理を行う。よって、画像データの読み込み処理を中断することなく、画像データの読み込みと画像処理が並列に処理可能であり、高速化することができる。
【0089】
更に、データ変換処理手段は、最近傍法により変倍処理を行う変倍処理手段を有する。よって、画像を変倍後に直接ハーフトーン処理を行うために無駄なワークメモリの領域を必要とせず、かつ高速に処理が可能である。
【0090】
また、データ変換処理手段は、バイリニア補間法により変倍処理を行う変倍処理手段を有する。よって、画像を変倍後に直接ハーフトーン処理を行うために無駄なワークメモリの領域を必要とせず、かつ高速に処理が可能である。
【0091】
更に、変倍処理手段は、ハーフトーン処理手段の並列に処理する画素と同じ数の画素を並列に変倍処理することが可能な変倍画素係数生成手段を有している。よって、無駄なワークメモリの領域を必要とせず、高速に処理が可能であり、かつハーフトーン処理手段の並列処理数分の画素を常に変倍処理手段が生成することが可能であるためにより一層高速に処理することができる。
【0092】
また、変倍画素係数生成手段は、ハーフトーン処理手段の並列処理数と同じ数の画素のX幅を求めることが可能な並列X幅生成手段と、その複数のX幅を受け取り、ハーフトーン処理手段の並列処理数へ分けて出力する出力X幅生成手段とを有する。よって、水平方向に並列に変倍処理を行うために高速に処理が可能となる。
【0093】
更に、ハーフトーン処理手段は、水平方向に複数の画素を並列に比較する並列比較手段と、デイザパターンメモリから受け取った水平方向に複数の閾値マトリックスを現在の比較する画素から水平方向に複数の閾値マトリックスを切り出す比較パターン切り出し手段とを有する。よって、水平方向に並列にハーフトーン処理を行うために高速に処理が可能となる。
【0094】
また、比較パターン切り出し手段は、変倍処理手段から受け取った有効画素数に基づいて、デイザパターンメモリから受け取った水平方向に複数の閾値マトリックスを現在の比較する画素から水平方向に複数の閾値マトリックスを切り出す。よって、水平方向に並列にハーフトーン処理を行うために高速に処理が可能となる。
【0095】
更に、ハーフトーン処理手段は、並列比較手段から受け取った水平方向に複数の画素を、変倍処理手段から受け取った有効画素数だけ、固定長のデータへ入れ込んでいく固定長生成手段を有する。よって、水平方向に並列にハーフトーン処理を行うために高速に処理が可能となる。
【0096】
また、変倍処理手段は、変倍される画素を所定の幅に変換し、ハーフトーン処理手段が処理可能な水平方向にMAXの並列処理画素数に合わせて出力する。よって、水平方向に並列に変倍処理を行うために高速に処理が可能となる。
【0097】
更に、変倍処理手段は、垂直方向の複数の補間点と、処理可能な水平方向にMAXの拡大率まで並列に求められた水平方向の複数の補間係数とに基づいて、水平方向の複数の補間点を求める水平補間手段と、実際に補間すべき画素の個数を求める有効数カウント手段とを有する。よって、水平方向に並列に変倍処理を行うために高速に処理が可能となる。
【図面の簡単な説明】
【図1】図1は本発明の画像処理装置を適用する多色画像形成装置の構成を示す断面図である。
【図2】図1の電装・制御装置の構成を示すブロック図である。
【図3】本発明の一実施例に係る画像処理装置の構成を示すブロック図である。
【図4】図3のデータ変換処理装置の構成を示す図である。
【図5】図3のデータ変換処理装置202の変倍処理が最近傍法である場合の動作を示すフローチャートである。
【図6】垂直方向に縮小する場合のタイミング例を示す図である。
【図7】垂直方向の等倍及び拡大の場合のタイミング例を示す図である。
【図8】図3のメモリアービターI/Fの詳細な周辺構成を示すブロック図である。
【図9】図3のメモリアービターI/Fの構成を示すブロック図である。
【図10】図9の変倍率生成装置の構成を示すブロック図である。
【図11】図9のY DDA処理装置の構成を示すブロック図である。
【図12】図9のIYカウンタ装置の構成を示すブロック図である。
【図13】図9のメモリアドレス生成装置の構成を示すブロック図である。
【図14】最近傍法の変倍処理装置の構成を示すブロック図である。
【図15】変倍する画素を変倍画素生成装置からの幅に変更する様子を示す図である。
【図16】図14の変倍処理装置の動作を示すフローチャートである。
【図17】図14の元画素格納装置の構成を示すブロック図である。
【図18】図14の変倍率生成装置の構成を示すブロック図である。
【図19】図14のDDA処理装置の構成を示すブロック図である。
【図20】図14のIXカウント装置の構成を示すブロック図である。
【図21】図14の変倍画素係数生成装置の構成を示すブロック図である。
【図22】図21の並列X幅生成装置の構成を示す図である。
【図23】図21の出力X幅生成装置の構成を示すブロック図である。
【図24】図23の累積加算処理装置の構成を示すブロック図である。
【図25】図23のXWIDTH更新処理装置の処理を示すフローチャートである。
【図26】図23の出力XWIDTH生成処理装置の処理を示すフローチャートである。
【図27】図23の累積加算処理装置の構成を示すブロック図である。
【図28】図14の変倍画素変換装置の出力画素の0番目の処理を示すフローチャートである。
【図29】図14の変倍画素変換装置の出力画素の1番目の処理を示すフローチャートである。
【図30】図14の変倍画素変換装置の出力画素の2番目の処理フローを示す図である。
【図31】図14の変倍画素変換装置の出力画素の3番目の処理フローを示す図である。
【図32】図14の変倍画素変換装置の出力画素の4番目の処理フローを示す図である。
【図33】図14の変倍画素変換装置の出力画素の5番目の処理フローを示す図である。
【図34】図14の変倍画素変換装置の出力画素の6番目の処理フローを示す図である。
【図35】図14の変倍画素変換装置の出力画素の7番目の処理フローを示す図である。
【図36】ハーフトーン処理装置の構成を示す図である。
【図37】図36の比較パターン切り出し装置の構成を示すブロック図である。
【図38】図36の並列比較装置の構成を示すブロック図である。
【図39】図36の固定長データ生成装置の構成を示すブロック図である。
【図40】図36のハーフトーン処理装置の処理を示すフローチャートである。
【図41】図36のデイザパターン記憶装置の32*8のサイズの例を示す図である。
【図42】図41のデイザテーブルを使用した処理の推移の例を示す図である。
【図43】図36のラインメモリの例を示す図である。
【図44】図3のデータ変換処理装置202の変倍処理がバイリニア法である場合の全体のフローを示す図である。
【図45】垂直方向に縮小する場合のタイミング例を示す図である。
【図46】垂直方向の等倍及び拡大の場合のタイミング例を示す図である。
【図47】バイリニア補間法の変倍処理装置の構成を示すブロック図である。
【図48】図47の変倍処理装置の処理を示すフローチャートである。
【図49】図47のパラメータ処理装置の構成を示すブロック図である。
【図50】スキャンライン方向から順次入力された画像データを示す図である。
【図51】補間された画像データを示す図である。
【図52】補間される様子を示す図である。
【図53】図47の拡大率生成装置の構成を示すブロック図である。
【図54】図47のDDA処理装置の構成を示すブロック図である。
【図55】図47の補間係数生成装置の構成を示すブロック図である。
【図56】図47の補間処理装置の構成を示すブロック図である。
【図57】拡大された画素間を補間した様子を示す図である。
【図58】図56の垂直補間処理装置の構成を示すブロック図である。
【図59】図56の水平補間係数生成装置の構成を示すブロック図ある。
【図60】図56の水平補間処理装置の構成を示すブロック図である。
【図61】ダイレクトメモリアクセス回路内に格納された画素の様子を示す図である。
【符号の説明】
103;メモリアービター、112;画像処理装置、
201;メモリアービターI/F、202;データ変換処理装置、
203;ハーフトーン処理装置、204;パラメータ格納装置。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus, and more particularly to a halftone processing apparatus and a halftone processing method for converting multivalued image data into a binary image, and more particularly to a high speed method on the controller side of a printer or the like.
[0002]
[Prior art]
Conventionally, in a page printer or the like, it has become difficult to satisfy this requirement only with the performance of the CPU due to the demand for increased resolution and higher speed. In particular, a color printer requires various processes such as various types of image processing, C, M, Y, and K image scaling processing, dither processing, and color conversion processing.
[0003]
In recent years, due to the development of semiconductor technology, it has become possible to perform part of processing performed by a CPU by hardware. Japanese Laid-Open Patent Publication No. 2000-90237 proposes a system in which the function can be changed by realizing the hardware accelerator in an FPGA. The image scaling processing technique is a technique required to obtain an output image having the same size as the input image when the resolutions of the images handled between the input device and the output device are different. As the scaling process, there are known a side method, a bilinear interpolation method and a cubic interpolation method. The nearest neighbor method is an algorithm that interpolates to the pixel closest to the point to be interpolated, and the bilinear interpolation method is a method for obtaining interpolation data by linear interpolation from four points around the point to be interpolated. From the points J, I, G, H, it is expressed by the following equation.
[0004]
F (Z) = f (J) (1-α) (1-β) + f (I) (α) (1-β) + f (G) (1-α) (β) + f (H) (α) (β)
The cubic interpolation method is expressed by the following arithmetic expression from 16 points around the point Z.
Here, C (t) is an approximate expression of the function SinπX / πX constituting the sampling theorem.
[0005]
F (Z) = f (G) C (Xg-Xz) C (Yg-Yz) + f (H) C (Xh-Xz) C (Yh-Yz) + ... + f (V) C (Xv-Xz ) C (Yv-Yz)
C (t) = 1-2t 2 + | t | 3 (0 ≦ | t | <1)
C (t) = 4-8 | t | +5 | t | 2- | t | 3 (1 ≦ | t | <2)
C (0) = 0 (2 ≦ | t |)
[0006]
When these processing methods are compared, the nearest neighbor method is light in processing, but the image quality is not so good. Processing in the bilinear interpolation method is normal, and image quality is normal. Although the processing in the cubic interpolation method is heavy, it is known that the image quality is good.
[0007]
As a conventional example for generating halftone data at high speed, there is JP-A-6-6606 (hereinafter referred to as Conventional Example 1). In Conventional Example 1, one line of the threshold matrix is alternately transferred to a plurality of high-speed memories separately from the threshold matrix data memory, and halftone processing is executed by reading the threshold data from the high-speed memory.
[0008]
[Problems to be solved by the invention]
However, the conventional example 1 is aimed at generating halftones at high speed with a small amount of high-speed memory. Basically, it cannot be expected to dramatically increase the processing speed.
[0009]
In JP-A-2000-92321 (hereinafter referred to as Conventional Example 2) and JP-A-2000-165672 (hereinafter referred to as Conventional Example 3), the threshold data read from the threshold matrix memory is reused until one scanning line is completed. All the threshold data to be applied to the processing is taken into the register as possible, and this is selectively output to a plurality of comparison means to execute parallel comparison processing. The threshold data set in the register is sequentially shifted and used repeatedly. However, in this system, in a system having one main memory (a system that does not have another memory for storing dither), a dither pattern for each scanning line in a system that performs scaling processing and halftone processing in parallel. In the reading of the image data, it is conceivable to stop the reading process of the image data necessary for the scaling process or to stop the halftone process, and as a result, the processing speed of the system cannot be increased.
[0010]
Japanese Patent Application Laid-Open No. 2001-150739 (hereinafter referred to as Conventional Example 4) has a magnification processing apparatus and a halftone processing apparatus using the nearest neighbor method, and a method of using a dither memory is disclosed in the halftone processing apparatus. ing. For example, when a 16 * 16 matrix dither pattern is employed, the amount of dither data is 16 lines. It is uneconomical to provide a memory in which all such a large number of threshold values are stored. In this case, it is preferable to provide a direct memory access circuit as shown by a broken line in FIG. 61 in which dither data is stored in the RAM and is received by being divided by a predetermined amount at a predetermined timing. It is also possible to control four binarized data by sequentially supplying four threshold values for one pixel of data. The data transfer clock after the binarization process may be quadrupled with respect to the data transfer clock before the binarization process.
[0011]
Furthermore, as described above, the nearest neighbor method, the bilinear interpolation method, the cubic interpolation method, and the like are known as the scaling processing methods. Conventionally, the scaling processing is performed on the source image in the CPU work area. After that, halftone processing was performed and the band buffer was written. However, this method requires a large work area of the CPU and a work area of the same size as the band memory, which is the size of the image MAX.
[0012]
The present invention is for solving these problems, and dither data is read in batches for the number of lines after scaling in the vertical direction, and the data after image processing is read in the line memory in the vertical direction. The number of lines after scaling is stored, and then written to the memory all at once, by performing parallel scaling processing and halftone processing in parallel without interrupting the image data reading process, An object of the present invention is to provide an image processing apparatus capable of reducing the memory cost and realizing high speed. In addition, in order to constantly supply pixels corresponding to the number of parallel processing pixels of the halftone processing device, an image processing device capable of speeding up the processing by performing parallel processing for the same parallel processing pixels in the scaling process The purpose is to provide.
[0013]
[Means for Solving the Problems]
In order to solve the above problems, the image processing apparatus of the present invention includes a memory arbiter I / F, data conversion processing means, and halftone processing means. Then, the memory arbiter I / F converts one line of image data to the data conversion processing means. Forward The dither data for a predetermined line after scaling in the vertical direction is transferred to the halftone processing means, Halftone processing by halftone processing means It outputs the subsequent data and manages the scaling process in the vertical direction. Further, the data conversion processing means performs image processing such as horizontal scaling processing, color conversion processing, filter processing, etc. on the image data transferred from the memory arbiter I / F, and performs image processing for each horizontal line. The processed data is transferred to the halftone processing means. Further, the halftone processing means outputs dither data for a predetermined line after the scaling process in the vertical direction of each line from the memory arbiter I / F, and image processing for each line in the horizontal direction from the data conversion processing means. Receive data and perform halftone processing. Therefore, reading of image data and image processing can be performed in parallel without interrupting the reading processing of image data, and the speed can be increased.
[0015]
In addition, data conversion processing The means includes scaling processing means for performing scaling processing by the nearest neighbor method. Therefore, since a halftone process is directly performed after scaling the image, a wasteful work memory area is not required and the process can be performed at high speed.
[0016]
Also data conversion processing The means includes scaling processing means for performing scaling processing by bilinear interpolation. Therefore, since a halftone process is directly performed after scaling the image, a wasteful work memory area is not required and the process can be performed at high speed.
[0017]
Further, the scaling processing means includes scaling pixel coefficient generation means capable of scaling the same number of pixels as the pixels processed in parallel of the halftone processing means. ing . Therefore, it is possible to perform processing at high speed without requiring a wasteful work memory area, and the scaling processing means can always generate pixels corresponding to the number of parallel processes of the halftone processing means. It can be processed at high speed.
[0018]
The scaling pixel coefficient generation means receives parallel X width generation means capable of obtaining the X width of the same number of pixels as the parallel processing number of the halftone processing means, and receives the plurality of X widths, and performs halftone processing. Output X width generating means for outputting the divided number of parallel processes. Therefore, since the scaling process is performed in parallel in the horizontal direction, the processing can be performed at high speed.
[0019]
Further, the halftone processing means includes a parallel comparison means for comparing a plurality of pixels in the horizontal direction in parallel, and a plurality of threshold matrixes in the horizontal direction received from the dither pattern memory, and a plurality of pixels in the horizontal direction from the current comparison pixels. A comparison pattern cutout means for cutting out the threshold matrix. Therefore, since halftone processing is performed in parallel in the horizontal direction, processing can be performed at high speed.
[0020]
In addition, the comparison pattern cut-out means obtains the number of effective pixels received from the scaling processing means. On the basis of the, A plurality of threshold matrixes in the horizontal direction received from the dither pattern memory are cut out in the horizontal direction from the current pixel to be compared. Therefore, since halftone processing is performed in parallel in the horizontal direction, processing can be performed at high speed.
[0021]
Furthermore, the halftone processing means common There is a fixed length generation means for inserting a plurality of pixels received from the column comparison means into fixed length data by the number of effective pixels received from the scaling processing means. Therefore, since halftone processing is performed in parallel in the horizontal direction, processing can be performed at high speed.
[0022]
The scaling processing means is The pixel to be scaled is converted to a predetermined width, and output in accordance with the number of parallel processing pixels of MAX in the horizontal direction that can be processed by the halftone processing means. . Therefore, since the scaling process is performed in parallel in the horizontal direction, the processing can be performed at high speed.
[0023]
Further, the scaling processing means is based on a plurality of interpolation points in the vertical direction and a plurality of interpolation coefficients in the horizontal direction obtained in parallel up to the enlargement ratio of MAX in the processable horizontal direction. Horizontal Horizontal interpolation means for obtaining a plurality of interpolation points and effective number counting means for obtaining the number of pixels to be actually interpolated. Therefore, since the scaling process is performed in parallel in the horizontal direction, the processing can be performed at high speed.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
The image processing apparatus of the present invention includes a memory arbiter I / F, data conversion processing means, and halftone processing means. Then, the memory arbiter I / F converts one line of image data to the data conversion processing means. Forward The dither data for a predetermined line after scaling in the vertical direction is transferred to the halftone processing means, Halftone processing by halftone processing means It outputs the subsequent data and manages the scaling process in the vertical direction. Further, the data conversion processing means performs image processing such as horizontal scaling processing, color conversion processing, filter processing, etc. on the image data transferred from the memory arbiter I / F, and performs image processing for each horizontal line. The processed data is transferred to the halftone processing means. Further, the halftone processing means outputs dither data for a predetermined line after the scaling process in the vertical direction of each line from the memory arbiter I / F, and image processing for each line in the horizontal direction from the data conversion processing means. Receive data and perform halftone processing.
[0025]
【Example】
FIG. 1 is a sectional view showing the configuration of a multicolor image forming apparatus to which the image processing apparatus of the present invention is applied. According to the multicolor image forming apparatus shown in FIG. 1, a belt-like
[0026]
Then, the electrostatic latent image formed on the surface of the
[0027]
The
[0028]
The unitized
[0029]
In addition, an electrical / control device 60 is accommodated on the left side of FIG. Above that, a
[0030]
FIG. 2 is a block diagram showing the configuration of the electrical / control apparatus of FIG. In the figure, the electrical / control apparatus mainly has an
[0031]
FIG. 3 is a block diagram showing the configuration of the image processing apparatus according to an embodiment of the present invention. In the figure, the
[0032]
The memory arbiter I /
[0033]
The data
[0034]
Further, the
[0035]
The
[0036]
Next, the operation when the scaling process of the data
First, the memory arbiter I /
[0037]
FIG. 6 is a diagram illustrating an example of timing in the case of reduction in the vertical direction. The example shown in (a) of the figure is an example in which the reduction ratio is 0.5 times, and a line skipping one image data before image processing is read (only odd lines), and dither pattern data is sequentially one line. In this example, data is read and data after image processing is sequentially written line by line. In this example, image data reading processing and image processing are performed in parallel. The example shown in (b) of the figure is an example of 0.6666 times, and the image data before image processing is read by skipping one line every three lines, and the dither pattern data is sequentially read line by line. In this example, the data after image processing is sequentially written for each line. Also in this example, image data reading processing and image processing are performed in parallel.
[0038]
FIG. 7 is a diagram illustrating an example of timing in the case of vertical scaling and enlargement. The example shown in (a) of the figure is an example of an equal magnification, in which image data before image processing is sequentially read line by line, dither pattern data is sequentially read line by line, and data after image processing is sequentially read. This is an example of writing every line. In this example, image data reading processing and image processing are performed in parallel. The example shown in FIG. 5B is an example of 1.5 times. Image data before image processing is sequentially read line by line, dither pattern data is sometimes read every two lines, and data after image processing is obtained. Is written every two lines. In this example, image data reading processing and image processing are processed in parallel, and two-line image processing is sometimes performed. The example of (c) in the figure is a double example. Image data before image processing is sequentially read for each line, dither pattern data is sequentially read for every two lines, and data after image processing is sequentially 2 This is an example of writing for each line. In this example, the image data reading process and the image process are processed in parallel, and two-line image processing is performed.
[0039]
Next, FIG. 8 is a block diagram showing a detailed peripheral configuration of the memory arbiter I / F of FIG. The memory arbiter I /
[0040]
FIG. 9 is a block diagram showing a configuration of the memory arbiter I / F of FIG. In the figure, the memory arbiter I /
[0041]
FIG. 10 is a block diagram showing a configuration of the scaling factor generating apparatus of FIG. The scaling factor generating apparatus shown in the figure includes
[0042]
FIG. 11 is a block diagram showing the configuration of the Y DDA processing apparatus of FIG. The Y DDA processing apparatus shown in the figure includes a
[0043]
FIG. 12 is a block diagram showing the configuration of the IY counter device of FIG. 9 compares the Y end point after scaling from the Y
[0044]
FIG. 13 is a block diagram showing the configuration of the memory address generation device of FIG. The memory address generation device shown in FIG. 3 is set with the image head address from the
[0045]
FIG. 14 is a block diagram showing the configuration of the nearest neighbor method magnification processing apparatus. The scaling processing device shown in the figure includes an original
[0046]
Further, the original
[0047]
FIG. 16 is a flowchart showing the operation of the scaling processing apparatus of FIG. In the figure, first, a scaling factor is obtained by the
[0048]
FIG. 17 is a block diagram showing the configuration of the original pixel storage device of FIG. In the figure, registers 901 to 908 sequentially store data and store pixels corresponding to MAX parallel processing pixels of the halftone processing device. The
[0049]
FIG. 18 is a block diagram showing a configuration of the variable magnification generation apparatus in FIG. The scaling factor generating apparatus shown in the figure includes
[0050]
FIG. 19 is a block diagram showing the configuration of the DDA processing apparatus of FIG. The DDA processing apparatus shown in FIG. 1 transfers the initial value X of the destination image DXS to the
[0051]
FIG. 20 is a block diagram showing the configuration of the IX counting device of FIG. The IX counter device shown in the figure has a
[0052]
FIG. 21 is a block diagram showing a configuration of the scaling pixel coefficient generation device of FIG. The scaling pixel coefficient generation device shown in the figure includes a parallel X
[0053]
FIG. 22 is a diagram showing a configuration of the parallel X-width generation device of FIG. The parallel X width generation apparatus shown in the figure includes adders 1401-1408 and subtracters 1409-1416. The
[0054]
FIG. 23 is a block diagram showing a configuration of the output X width generation apparatus of FIG. The output X width generation apparatus shown in the figure includes
[0055]
FIG. 24 is a block diagram showing the configuration of the cumulative addition processing device of FIG. The cumulative addition processing device shown in the figure includes
[0056]
FIG. 25 is a flowchart showing the process of the XWIDTH update processing apparatus of FIG. In the figure, first, it is checked whether or not the X width of the 0th pixel is equal to or greater than the number of parallel processes of the halftone processing device (in this example, “8”), and if so, from the 0th X width of the halftone processing device. The number of parallel processes is subtracted to obtain a new 0th X width value (step S301; YES, step S302). Next, it is checked whether the accumulated X width from 0 to 1 is equal to or greater than the number of parallel processes of the halftone processing device (in this example, “8”). If it is greater, the 0th X width is set to “0”. A value obtained by subtracting the 0th X width from the number of parallel processes of the halftone processing device is subtracted from the first X width to obtain a new first X width value (step S303; YES, step S304). Thereafter, the same processing is performed in steps S305 to S317.
[0057]
FIG. 26 is a flowchart showing processing of the output XWIDTH generation processing device of FIG. First, the X width of each pixel to be output is initialized (step S401). Then, it is checked whether the X width of the 0th pixel is equal to or greater than the number of parallel processes of the halftone processing device (in this example, “8”), and if so, the halftone processing device is parallelized to the 0th output X width. The processing number is set, and the parallel processing number of the halftone processing device is set to the pixel number PNUM to be processed (step S402; YES, step S403). Further, it is checked whether the accumulated X width from 0 to 1 is greater than or equal to the number of parallel processes of the halftone processing device (in this example, “8”), and if it is greater, the 0th X is output to the 0th output X width. Set the width XWIDTH0, set the first output X width to the value obtained by subtracting the 0th X width from the parallel processing number of the halftone processing device, and set the parallel processing of the halftone processing device to the number of pixels PNUM to be processed A number is set (step S404; YES, step S405). Then, it is checked whether the accumulated X width from 0 to 2 is equal to or greater than the number of parallel processes of the halftone processing device (in this example, “8”), and if so, the 0th X width is shifted to the 0th output X width. The width XWIDTH0 is set, the first X width XWIDTH1 is set to the first output X width, and the second output X width is accumulated from the number of parallel processes of the halftone processing device to the first X width. A value obtained by subtracting the added value is set, and the parallel processing number of the halftone processing device is set to the pixel number PNUM to be processed (step S406; YES, step S407). Thereafter, the same processing is performed in steps S408 to S417. In step S418, the total X width of all the pixels is equal to or less than the number of parallel processes of the halftone processing device, so that the X width of the pixels output by all the pixels is updated. The X width value of the
[0058]
FIG. 27 is a block diagram showing a configuration of the cumulative addition processing device of FIG. The cumulative addition processing device shown in the figure has
[0059]
FIG. 28 is a flowchart showing the 0th process of the output pixel of the variable magnification pixel conversion apparatus of FIG. In the figure, first, when the X width “DXWIDTH0” of the 0th pixel from the scaling pixel
[0060]
FIG. 29 is a flowchart showing the first processing of the output pixel of the variable magnification pixel conversion apparatus of FIG. In the figure, first, when the X width “DXWIDTH0” of the 0th pixel from the scaling pixel
[0061]
In the following, FIGS. 30 to 35 show the second to seventh processing flows of the output pixels of the scaling pixel conversion apparatus of FIG. 14, which are the same as the zeroth and first processes shown in FIGS. 28 and 29. Since there is, explanation is omitted here.
[0062]
Thus, in the variable power pixel conversion device, pixels corresponding to the parallel processing pixels of the halftone processing device must be obtained. In this example, the number is “8”.
[0063]
Next, the halftone processing apparatus will be described in detail with reference to FIG. The halftone processing apparatus shown in the figure includes a write
[0064]
Next, FIG. 37 is a block diagram showing the configuration of the comparison pattern cutout device of FIG. The comparison pattern cutout apparatus shown in FIG. 1 includes
[0065]
FIG. 38 is a block diagram showing the configuration of the parallel comparison device of FIG. In the example shown in the figure, since the number of processes in the horizontal direction of the data
[0066]
FIG. 39 is a block diagram showing a configuration of the fixed-length data generation apparatus of FIG. The fixed-length data generation device shown in FIG. 1 includes a
[0067]
FIG. 40 is a flowchart showing processing of the halftone processing apparatus of FIG. In FIG. 36, the data corresponding to the horizontal MAX magnification is read in parallel from the dither pattern memory indicated by the dither pattern
[0068]
FIG. 41 shows an example of the 32 * 8 size of the dither pattern storage device of FIG. FIG. 42 shows an example of processing transition using the dither table of FIG. FIG. 43 shows an example of the line memory of FIG.
[0069]
FIG. 44 shows an overall flow when the scaling process of the data
[0070]
FIG. 45 is a diagram illustrating an example of timing when the image is reduced in the vertical direction. The example shown in (a) of the figure is an example in which the reduction ratio is 0.5 times, and a line skipping one image data before image processing is read (only odd lines), and dither pattern data is sequentially one line. Each line is read, and the data after image processing is sequentially written line by line.
Here, as shown in the flow of FIG. 44, two lines are initially read continuously. In this example, image data reading processing and image processing are performed in parallel. The example shown in FIG. 5B is an example in which the reduction ratio is 0.6666, in which the image data before image processing is read by skipping one line every three lines, and the dither pattern data is sequentially read line by line. The data after image processing is sequentially written for each line. Again, as shown in the flow of FIG. 44, two lines are initially read continuously. Also in this example, image data reading processing and image processing are performed in parallel.
[0071]
FIG. 46 is a diagram showing an example of the timing in the case of normal magnification and enlargement in the vertical direction. The example shown in FIG. 5A is a 1 × example. Image data before image processing is sequentially read for each line, dither pattern data is sequentially read for each line, and data after image processing is read. Write one line at a time. Again, as shown in the flow of FIG. 44, two lines are initially read continuously. In this example, image data reading processing and image processing are performed in parallel. The example shown in FIG. 5B is an example of 105 times. Image data before image processing is sequentially read for each line, dither pattern data is sometimes read every two lines, and data after image processing is read. Sometimes every two lines are written. Again, as shown in the flow of FIG. 44, two lines are initially read continuously. In this example, image data reading processing and image processing are processed in parallel, and two-line image processing is sometimes performed. Further, the example shown in FIG. 5C is a double example, in which image data before image processing is sequentially read for each line, dither pattern data is sequentially read for every two lines, and after image processing. Data is written sequentially after 2 lines. Again, as shown in the flow of FIG. 44, two lines are initially read continuously. In this example, the image data reading process and the image process are processed in parallel, and two-line image processing is performed.
[0072]
FIG. 47 is a block diagram showing a configuration of a scaling processing apparatus of the bilinear interpolation method. The scaling processing device shown in the figure includes a
[0073]
FIG. 48 is a flowchart showing the processing of the scaling processing apparatus of FIG. In the figure, first, an enlargement ratio is obtained by an enlargement ratio generation processing device (step S1501). Then, the DDA processing apparatus performs DDA processing in the Y direction (vertical direction), and obtains a Y start point YS and a Y end point YE to be processed (step S1502). The YS coordinate is designated as the Y coordinate (horizontal line) processed by the IX, IY count processing device (step S1503). The X coordinate processed by the IX, IY count processing device is initialized to the coordinate X start point DXS of the destination image (step S1504). The DDA processing apparatus performs DDA processing in the X direction (horizontal direction), and obtains an X start point XS and an X end point XE to be processed (step S1505). Next, an interpolation coefficient at the currently processed coordinates is obtained by an interpolation coefficient generation processing device that reads interpolation data (steps S1506 and S1507). A zoomed image is generated by interpolating between the enlarged pixels by the interpolation processing device (step S1508). If XE does not exceed the coordinate X end point DXE of the scaled destaining image, the process returns to step S1505 (step S1509; YES). If it exceeds, the Y coordinate to be interpolated next is obtained by the IX, IY count processing device (step S1509; NO, step S1510). If the value does not exceed the Y value end point YE to be interpolated, the process returns to step S1504 (step S1511; YES). If YE does not exceed the coordinate Y end point DYE of the changed destination image, the process returns to step S1502 (step S1512; YES).
[0074]
FIG. 49 is a block diagram showing the configuration of the parameter processing apparatus of FIG. The parameter processing apparatus shown in the figure includes a
[0075]
This parameter processing apparatus accumulates two lines of image data sequentially input from the scan line direction as shown in FIG. 50, and sequentially outputs the four points interpolated in FIG. 51 as shown in FIG. At this time (when four pixels to be interpolated are output), the input pixels are sequentially received by the third line memory. If the third line memory becomes full and all vertical interpolations as shown in FIG. 52 are not completed, WAIT is applied to the device that sends the input pixels. 52, when all the pixels stored in the two lines in the vertical direction are finished as shown in FIG. 52, a new two-line pixel is obtained from the stored third pixel and the latter one line of the two-line pixels processed earlier. As shown in FIG. 52, the four pixels that are sequentially interpolated are output. Then, in the same manner as described above, the input pixels are sequentially stored as the third line memory in the empty one line memory.
[0076]
FIG. 53 is a block diagram showing a configuration of the enlargement factor generating apparatus of FIG. The enlargement factor generating apparatus shown in the figure includes
[0077]
FIG. 54 is a block diagram showing the configuration of the DDA processing apparatus of FIG. The DDA processing apparatus shown in the figure includes
[0078]
According to the DDA processing apparatus having such a configuration, the magnifications in the X and Y directions and the coordinates X start point DXS and Y start point DYS of the destination image are received from the enlargement
[0079]
FIG. 55 is a block diagram showing a configuration of the interpolation coefficient generation apparatus of FIG. The interpolation coefficient generating apparatus shown in the figure includes
[0080]
At this time, since the present method sequentially obtains each horizontal line as shown in FIG. 52, the calculation of DRATEY is only required once for each line, and the amount of calculation is small. In addition, the amount of hardware is reduced and the speed is increased.
[0081]
FIG. 56 is a block diagram showing a configuration of the interpolation processing apparatus of FIG. The interpolation processing apparatus shown in the figure includes a vertical
[0082]
The interpolation processing apparatus having such a configuration receives data to be interpolated from the
[0083]
FIG. 58 is a block diagram showing the configuration of the vertical interpolation processing apparatus of FIG. Note that the processing here corresponds to the processing in FIG. The vertical interpolation processing device shown in the figure includes a
[0084]
FIG. 59 is a block diagram showing the configuration of the horizontal interpolation coefficient generation apparatus of FIG. The horizontal interpolation coefficient generation device shown in FIG. 11 adds the value of DRATEX obtained by the interpolation coefficient generation device and 1 / DX, thereby performing the second interpolation in the horizontal direction next to DRATEX obtained by the interpolation coefficient generation device. An
[0085]
FIG. 60 is a block diagram showing a configuration of the horizontal interpolation processing apparatus of FIG. Note that the processing here corresponds to the processing in FIG. The horizontal interpolation processing device shown in the figure includes a
[0086]
In addition, this invention is not limited to the said Example, It cannot be overemphasized that various deformation | transformation and substitution are possible if it is description in a claim.
[0087]
【The invention's effect】
As described above, the image processing apparatus of the present invention includes the memory arbiter I / F, the data conversion processing unit, and the halftone processing unit. Then, the memory arbiter I / F converts one line of image data to the data conversion processing means. Forward The dither data for a predetermined line after scaling in the vertical direction is transferred to the halftone processing means, Halftone processing by halftone processing means It outputs the subsequent data and manages the scaling process in the vertical direction. Further, the data conversion processing means performs image processing such as horizontal scaling processing, color conversion processing, filter processing, etc. on the image data transferred from the memory arbiter I / F, and performs image processing for each horizontal line. The processed data is transferred to the halftone processing means. Further, the halftone processing means outputs dither data for a predetermined line after the scaling process in the vertical direction of each line from the memory arbiter I / F, and image processing for each line in the horizontal direction from the data conversion processing means. Receive data and perform halftone processing. Therefore, reading of image data and image processing can be performed in parallel without interrupting the reading processing of image data, and the speed can be increased.
[0089]
In addition, data conversion processing The means includes scaling processing means for performing scaling processing by the nearest neighbor method. Therefore, since a halftone process is directly performed after scaling the image, a wasteful work memory area is not required and the process can be performed at high speed.
[0090]
Also data conversion processing The means includes scaling processing means for performing scaling processing by bilinear interpolation. Therefore, since a halftone process is directly performed after scaling the image, a wasteful work memory area is not required and the process can be performed at high speed.
[0091]
Further, the scaling processing means includes scaling pixel coefficient generation means capable of scaling the same number of pixels as the pixels processed in parallel of the halftone processing means. ing . Therefore, it is possible to perform processing at high speed without requiring a wasteful work memory area, and the scaling processing means can always generate pixels corresponding to the number of parallel processes of the halftone processing means. It can be processed at high speed.
[0092]
The scaling pixel coefficient generation means receives parallel X width generation means capable of obtaining the X width of the same number of pixels as the parallel processing number of the halftone processing means, and receives the plurality of X widths, and performs halftone processing. Output X width generating means for outputting the divided number of parallel processes. Therefore, since the scaling process is performed in parallel in the horizontal direction, the processing can be performed at high speed.
[0093]
Further, the halftone processing means includes a parallel comparison means for comparing a plurality of pixels in the horizontal direction in parallel, and a plurality of threshold matrixes in the horizontal direction received from the dither pattern memory, and a plurality of pixels in the horizontal direction from the current comparison pixels. A comparison pattern cutout means for cutting out the threshold matrix. Therefore, since halftone processing is performed in parallel in the horizontal direction, processing can be performed at high speed.
[0094]
In addition, the comparison pattern cut-out means obtains the number of effective pixels received from the scaling processing means. On the basis of the, A plurality of threshold matrixes in the horizontal direction received from the dither pattern memory are cut out in the horizontal direction from the current pixel to be compared. Therefore, since halftone processing is performed in parallel in the horizontal direction, processing can be performed at high speed.
[0095]
Furthermore, the halftone processing means common There is a fixed length generation means for inserting a plurality of pixels received from the column comparison means into fixed length data by the number of effective pixels received from the scaling processing means. Therefore, since halftone processing is performed in parallel in the horizontal direction, processing can be performed at high speed.
[0096]
The scaling processing means is The pixel to be scaled is converted to a predetermined width, and output in accordance with the number of parallel processing pixels of MAX in the horizontal direction that can be processed by the halftone processing means. . Therefore, since the scaling process is performed in parallel in the horizontal direction, the processing can be performed at high speed.
[0097]
Further, the scaling processing means is based on a plurality of interpolation points in the vertical direction and a plurality of interpolation coefficients in the horizontal direction obtained in parallel up to the enlargement ratio of MAX in the processable horizontal direction. Horizontal Horizontal interpolation means for obtaining a plurality of interpolation points and effective number counting means for obtaining the number of pixels to be actually interpolated. Therefore, since the scaling process is performed in parallel in the horizontal direction, the processing can be performed at high speed.
[Brief description of the drawings]
FIG. 1 is a cross-sectional view showing a configuration of a multicolor image forming apparatus to which an image processing apparatus of the present invention is applied.
2 is a block diagram showing a configuration of the electrical / control apparatus of FIG. 1; FIG.
FIG. 3 is a block diagram illustrating a configuration of an image processing apparatus according to an embodiment of the present invention.
4 is a diagram showing a configuration of the data conversion processing device of FIG. 3;
5 is a flowchart showing an operation when the scaling process of the data
FIG. 6 is a diagram illustrating an example of timing in the case of reduction in the vertical direction.
FIG. 7 is a diagram illustrating an example of timing in the case of vertical scaling and enlargement.
8 is a block diagram showing a detailed peripheral configuration of the memory arbiter I / F of FIG. 3. FIG.
9 is a block diagram showing a configuration of the memory arbiter I / F of FIG. 3. FIG.
10 is a block diagram showing a configuration of the variable magnification generation apparatus in FIG. 9;
11 is a block diagram showing the configuration of the Y DDA processing device of FIG. 9;
12 is a block diagram showing a configuration of the IY counter device of FIG. 9. FIG.
13 is a block diagram showing a configuration of the memory address generation device of FIG. 9;
FIG. 14 is a block diagram illustrating a configuration of a nearest neighbor method magnification processing apparatus;
FIG. 15 is a diagram illustrating a state in which a pixel to be scaled is changed to a width from a scaled pixel generation device.
16 is a flowchart showing the operation of the scaling processing apparatus of FIG.
17 is a block diagram illustrating a configuration of the original pixel storage device in FIG. 14;
18 is a block diagram showing a configuration of the variable magnification generation apparatus in FIG.
19 is a block diagram showing a configuration of the DDA processing device of FIG. 14;
20 is a block diagram showing a configuration of the IX counting device of FIG. 14;
21 is a block diagram illustrating a configuration of the scaling pixel coefficient generation device in FIG. 14;
22 is a diagram illustrating a configuration of the parallel X-width generation device in FIG. 21;
23 is a block diagram showing a configuration of the output X width generation device of FIG. 21. FIG.
24 is a block diagram showing a configuration of the cumulative addition processing device of FIG. 23. FIG.
25 is a flowchart showing processing of the XWIDTH update processing device of FIG. 23. FIG.
26 is a flowchart showing processing of the output XWIDTH generation processing device of FIG. 23. FIG.
27 is a block diagram illustrating a configuration of the cumulative addition processing device in FIG. 23;
28 is a flowchart showing a 0th process of an output pixel of the variable magnification pixel conversion apparatus in FIG.
FIG. 29 is a flowchart showing a first process of output pixels of the variable magnification pixel conversion apparatus of FIG. 14;
30 is a diagram showing a second processing flow of an output pixel of the variable magnification pixel conversion device in FIG. 14;
FIG. 31 is a diagram showing a third processing flow of output pixels of the variable magnification pixel conversion device of FIG. 14;
32 is a diagram showing a fourth processing flow of an output pixel of the variable magnification pixel conversion device in FIG. 14;
33 is a diagram showing a fifth processing flow of the output pixel of the variable magnification pixel conversion device in FIG. 14; FIG.
34 is a diagram showing a sixth processing flow of an output pixel of the variable magnification pixel conversion device in FIG. 14;
35 is a diagram showing a seventh processing flow of the output pixel of the variable magnification pixel conversion device in FIG. 14; FIG.
FIG. 36 is a diagram illustrating a configuration of a halftone processing device.
37 is a block diagram showing a configuration of the comparison pattern cutout device of FIG. 36. FIG.
38 is a block diagram showing a configuration of the parallel comparison device of FIG. 36. FIG.
39 is a block diagram showing a configuration of the fixed-length data generation device in FIG. 36. FIG.
40 is a flowchart showing processing of the halftone processing apparatus of FIG. 36. FIG.
41 is a diagram showing an example of a size of 32 * 8 in the dither pattern storage device of FIG. 36. FIG.
FIG. 42 is a diagram showing an example of processing transition using the dither table of FIG. 41;
43 is a diagram showing an example of the line memory of FIG. 36. FIG.
44 is a diagram showing an overall flow in the case where the scaling process of the data
FIG. 45 is a diagram illustrating a timing example in the case of reduction in the vertical direction.
FIG. 46 is a diagram illustrating an example of timing in the case of normal magnification and enlargement in the vertical direction.
FIG. 47 is a block diagram showing a configuration of a scaling processing apparatus of a bilinear interpolation method.
48 is a flowchart showing processing of the scaling processing apparatus of FIG. 47. FIG.
49 is a block diagram showing a configuration of the parameter processing device of FIG. 47. FIG.
FIG. 50 is a diagram illustrating image data sequentially input from a scan line direction.
FIG. 51 is a diagram showing interpolated image data.
FIG. 52 is a diagram illustrating a state of interpolation.
53 is a block diagram showing a configuration of an enlargement ratio generation device in FIG. 47. FIG.
54 is a block diagram showing a configuration of the DDA processing device of FIG. 47. FIG.
55 is a block diagram showing a configuration of the interpolation coefficient generation device of FIG. 47. FIG.
56 is a block diagram showing a configuration of the interpolation processing apparatus of FIG. 47. FIG.
FIG. 57 is a diagram illustrating a state where interpolation is performed between enlarged pixels.
58 is a block diagram showing a configuration of the vertical interpolation processing apparatus in FIG. 56. FIG.
59 is a block diagram showing a configuration of a horizontal interpolation coefficient generation device in FIG. 56. FIG.
60 is a block diagram showing a configuration of the horizontal interpolation processing apparatus in FIG. 56. FIG.
FIG. 61 is a diagram illustrating a state of pixels stored in a direct memory access circuit.
[Explanation of symbols]
103; Memory arbiter, 112; Image processing device,
201; memory arbiter I / F, 202; data conversion processing device,
203; Halftone processing device; 204; Parameter storage device.
Claims (10)
前記メモリアービターI/Fは、1ラインの画像データを前記データ変換処理手段へ転送し、かつ垂直方向に変倍後の所定ライン分のデイザデータを前記ハーフトーン処理手段へ転送し、前記ハーフトーン処理手段によるハーフトーン処理後のデータを出力するとともに、垂直方向の変倍処理を管理し、
前記データ変換処理手段は、前記メモリアービターI/Fから転送された画像データに対して水平方向の変倍処理、色変換処理、フィルタ処理等の画像処理を行い、水平方向の各ライン毎の画像処理後のデータを前記ハーフトーン処理手段に転送し、
前記ハーフトーン処理手段は、前記メモリアービターI/Fからの各ラインの垂直方向の変倍処理後の所定ライン分のデイザデータと、前記データ変換処理手段からの水平方向の各ライン毎の前記画像処理後のデータとを受け取り、ハーフトーン処理を行うことを特徴とする画像処理装置。A memory arbiter I / F, data conversion processing means, and halftone processing means;
The memory arbiter I / F transfers one line of image data to the data conversion processing means, and also transfers dither data for a predetermined line after scaling in the vertical direction to the halftone processing means. Output the data after halftone processing by means, and manage the scaling process in the vertical direction,
The data conversion processing means performs image processing such as horizontal scaling processing, color conversion processing, filter processing, etc. on the image data transferred from the memory arbiter I / F, and performs image processing for each line in the horizontal direction. Transfer the processed data to the halftone processing means,
The halftone processing means includes dither data for a predetermined line after the scaling process in the vertical direction of each line from the memory arbiter I / F, and the image processing for each horizontal line from the data conversion processing means. An image processing apparatus that receives later data and performs halftone processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002008514A JP4118052B2 (en) | 2002-01-17 | 2002-01-17 | Image processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002008514A JP4118052B2 (en) | 2002-01-17 | 2002-01-17 | Image processing device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005324237A Division JP4298695B2 (en) | 2005-11-09 | 2005-11-09 | Image processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003208608A JP2003208608A (en) | 2003-07-25 |
JP4118052B2 true JP4118052B2 (en) | 2008-07-16 |
Family
ID=27646753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002008514A Expired - Fee Related JP4118052B2 (en) | 2002-01-17 | 2002-01-17 | Image processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4118052B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013084224A (en) | 2011-10-12 | 2013-05-09 | Ricoh Co Ltd | Image forming apparatus |
-
2002
- 2002-01-17 JP JP2002008514A patent/JP4118052B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003208608A (en) | 2003-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8842328B2 (en) | Image processing device | |
EP1471723B1 (en) | Image processing method for superimposing high-resolution character data on low-resolution image data | |
US7009622B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JP2003008888A (en) | Image processor and processing method therefor | |
JP2011135387A (en) | Image processing apparatus and image forming apparatus | |
JP4118052B2 (en) | Image processing device | |
KR20010051829A (en) | Apparatus and method for processing images, and computer product | |
JP2003283775A (en) | Image processing apparatus and image processing method | |
JP4298695B2 (en) | Image processing device | |
EP1450214A1 (en) | Data conversion system for image processing and image forming apparatus | |
JP2007180607A (en) | Image processing apparatus and image processing method | |
JP5740991B2 (en) | Image processing apparatus and image processing method | |
JP2008023959A (en) | Image processor, image processing method and program | |
JP5662675B2 (en) | Image forming apparatus and control method thereof | |
JP2004282239A (en) | Image processor | |
JP3885282B2 (en) | Print data processing apparatus and print data processing method | |
JP2020071410A (en) | Image processing device, image forming device, program, and image processing method | |
JP2007313845A (en) | Image processing apparatus, image processing method, and computer-readable recording medium | |
JP4675864B2 (en) | Image forming apparatus | |
JP2004242213A (en) | Image processing apparatus, image processing method, color conversion processing apparatus, color conversion processing method, and storage medium | |
JP3919430B2 (en) | Image processing apparatus and method | |
JP7521311B2 (en) | Reading device, image forming device, image processing method and program | |
JP2009169727A (en) | Image processing apparatus, image processing method and program | |
JP4012833B2 (en) | Image rotation processing apparatus, image rotation processing method, and storage medium | |
JP3793050B2 (en) | Multiple arithmetic circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040715 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071016 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080325 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080331 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080422 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080422 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110502 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120502 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120502 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130502 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130502 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |