JP3995868B2 - 誤差拡散演算装置 - Google Patents
誤差拡散演算装置 Download PDFInfo
- Publication number
- JP3995868B2 JP3995868B2 JP2000174822A JP2000174822A JP3995868B2 JP 3995868 B2 JP3995868 B2 JP 3995868B2 JP 2000174822 A JP2000174822 A JP 2000174822A JP 2000174822 A JP2000174822 A JP 2000174822A JP 3995868 B2 JP3995868 B2 JP 3995868B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- data
- pixel
- processing
- calculation
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4051—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
- H04N1/4052—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【発明の属する技術分野】
この発明は誤差拡散演算装置に関し、特に、データ駆動型演算装置を用いて誤差拡散のための演算を行うような誤差拡散演算装置に関する。
【0002】
【従来の技術】
誤差拡散は、ファクシミリ装置など、プリンタやディスプレイなどの表示装置の画像の量子化レベルが少なく、そのままの量子化レベルで画像の取込から処理,出力までを行なうと中間調を表現できないときに必要とされる技術である。言い換えれば、読込装置からの入力時よりも表示装置やプリンタなどの出力装置の方が量子化レベルが少ないときに用いられる。さらに、具体的にいえば、読込装置が多値、たとえば8ビットのA/D変換装置を有していても、表示装置が2値表示など、読込画像よりの量子化レベルを減少させる場合に必要な技術である。
【0003】
このように、多値から2値に量子化レベルを減少させる場合には、多値画像の持つ中間調が失われ、連続性がなくなる可能性がある。誤差拡散は、多値の画像が持つ連続性を擬似的に表現する手法である。逆にいえば出力装置の量子化レベルが少なくても、この技術を用いることにより、擬似的な中間調を表現できるので、読込装置の量子化レベルを多くすることで、出力装置はそのままでよりよい画像を得ることができる。
【0004】
図10は誤差拡散の処理を説明するための図である。図10(a)および(b)において、マス目が各画素を表わし、◎で表わしているマス目が対象画素である。このとき、画像の上から下へ、またラインの左から右へ量子化するものとする。図10では、斜線のマス目が量子化済みを表わしており、図10(a)から(b)では、1画素だけ左へ量子化が進んだことを示している。ここで説明する誤差拡散の方式は、対象画素の量子化誤差を、量子化が終わっていない周辺4画素に特定の比率abcdを掛けて分配(=拡散)するものである。図10(a)と(b)に示すように、量子化が終わった画素の誤差を、順次量子化が終わっていない画素に拡散させることにより、処理は1画素ずつ順番に行なう必要がある。すなわち、逐次処理となる。誤差拡散は各誤差に対して逐次処理を行なう必要がある上に、画像が送られてくる速度で処理を終える実時間処理が必要となる。すなわち、高速に逐次処理を行なう必要がある。これらの課題を解決するために、以下の従来例が知られている。
【0005】
まず、第1の従来例として、特開平5−75863号公報に記載されている信号処理装置がある。この信号処理装置では、隣接する画素を並列的に2値化する手段と、その誤差発生手段および誤差を平均化するフィルタを備えている。これにより、バッファメモリを削減でき、また2値化誤差のビット数を減らし、または複数画素をまとめて平均値を保存することができる。この従来例の効果は、メモリ領域の削減とともに、メモリアクセス回数を減らすことができ、高速化できることにある。しかし、問題点は誤差拡散処理のアルゴリズムを特化しているため、要求仕様とマッチしていないときは、使用できないことである。
【0006】
第2の従来例として、特開平6−266324号公報に記載された画像処理方法および装置がある。この従来例では、走査ラインごとに2値化と誤差拡散を行ない、誤差データの次段への誤差データ格納メモリを備えることにより、複数の走査ラインごとに並列して誤差拡散命令を実行する。この例の効果は、誤差拡散の演算装置を並列に持ち、演算装置間で伝搬させる誤差データのパスを設けて並列性を確保することによりほぼ並列演算を実行できることである。しかし、問題点は、誤差拡散の演算装置を並列に持っているため、その並列個数分の回路と、演算装置間を結ぶ回路が+αとして回路の増加につながることである。
【0007】
第3の従来例として、特開平6−301364号公報に記載されているブロック並列誤差拡散方法と装置がある。この例では、入力画像を複数のブロックに分割してブロックごとに誤差拡散処理を行ない、ブロックの境界に対しては別途処理することにより高速の並列処理を実現しようとするものである。そして、その効果は第2の従来例と同様にして回路を並列に持っているために、回路規模に比例して演算速度を向上させることができることにある。しかし、問題点も第2の従来例と同様にして、並列個数に比例して回路規模が大きくなってしまうことである。
【0008】
第4の従来例として、特開平7−20839号公報に記載された並列誤差拡散方法および装置がある。この例では複数の誤差拡散回路を持つことにより、個々の回路の速度を上げることなく全体の速度の向上を図ろうとするものである。この例も第2および第3の従来例と同様の効果と問題点を持っている。
【0009】
第5の従来例として、特開平8−317211号公報に記載された画像処理装置がある。この例では、1ラスタ分の画像データを取込み、周辺4画素のデータにアクセスできる1ラスタ分の個数の並列演算器で処理するものである。この演算器は、誤差拡散専用演算器でないために、この処理のために回路を増加させる必要はないものの、1ラスタ分の画像を取込み、それらを並列に処理するための回路規模が必要になってくる。
【0010】
第6の従来例として、特開平10−334231号公報に記載されたハーフトーン処理方法がある。この例では、各画素列を複数のセグメントに分割し、セグメントの切れ目の直前の画素にはカットフィルタ、それ以外の画素にはノーマルフィルタを用いて、これら多数のセグメントを並列して誤差拡散するものである。この技術により、画質を損なわずに画像列内の誤差拡散の並列性を達成できる。すなわち、逐次処理すべき誤差拡散を並列に処理することができる。しかし、問題点としては、この方式も他の従来例と同様にして、一連の画素をセグメントに分けてそのセグメント単位で並列に処理していることにより、並列個数に応じて回路規模が大きくなってしまうことである。
【0011】
第7の従来例として、特開平11−146202号公報に記載された画像処理装置および誤差拡散処理方法がある。この例では、量子化対象画素の同一ラスタの量子化誤差を、前のラスタの量子化誤差から予測演算して得ることにより、実際の直前画素の処理結果を待って量子化対象画素の処理を行なう必要がなくなり、並列処理プロセッサにより複数画素の同時処理や同一ラスタの全画素の一括処理が可能になる。
【0012】
これらの従来例を大別すると、第1および第7の従来例のようにメモリアクセスを減らして処理の高速化を図るものと、第2〜第6の従来例のように並列処理間による処理量を増大にして高速化を図るものとに分けられる。
【0013】
一方、上述の従来例とは別に、並列処理を行なうことから、画像処理などの大量の演算を高速に処理する情報処理装置として注目されているデータ駆動情報処理装置が提案されている。このデータ駆動型情報処理動作を含むデータ処理装置には、非同期のハンドシェイク方式を採用したデータ伝送装置が用いられている。これは、データの転送要求信号とデータの転送を許可するか否かを示す転送許可信号をお互いに送受信しながら事実的なデータ転送を行なうものである。その詳細については、本願出願人らによる特開平6−83731号公報などにおいて説明されている。
【0014】
データ駆動型情報処理装置は各演算器およびメモリなどの必要回路を含み、情報処理装置の中に演算器が設けられている。そして、データ駆動型情報処理装置では、その名が示すようにデータが演算装置内の各演算器を駆動し、処理(演算)すべきデータが各演算器に揃ったときに各演算器が処理を開始する。
【0015】
データ駆動型情報処理装置では、データはパケットとして各演算器を流れることになる。ここでパケットとは、データとデータの識別情報などを示すタグと呼ばれる部分からなる。そして、このパケットの流れに従って演算を実行することになる。
【0016】
図11はデータ駆動型情報処理装置における演算器のモデルを示し、図12はパケットのモデルを示す。
【0017】
図11に示すように、入力パケット1と入力パケット2の2つのパケットとして演算器に到着したデータを演算器101で処理し、その結果を出力パケットとして出力する。演算すべきデータが入力パケット1として演算器101に到着すると、その入力パケットに含まれるデータは演算器101内で演算相手を待ち、入力パケット2が到着して互いのパケットが演算相手として判明したときに処理を開始する。このとき、並列性の実現方法として図12に示すように、1つのパケットに複数のデータを載せることができる。
【0018】
次に、図12を参照して、パケットの簡単な説明を行なう。上述の如く、パケットはタグと呼ばれる部分とデータの部分に大別することができる。タグについては、特開平6−83731号公報に説明されているのでここではその詳細な説明を省略する。文字通りにパケット=小包と考えれば、小包の中にデータを入れて、タグ=荷札を付けて送付することになる。このとき、パケットに入れるデータが1個より複数個(図12では4個)入れる方が効率がよくなる。具体的には、演算にかかるオーバーヘッド、たとえばパケットの転送にかかる時間やパケットを識別する機構による遅延を抑えることができる。
【0019】
このように、パケットに入れるデータの個数を増やすことで、一種の並列処理を行ない、演算装置全体で見たときの処理効率を速くすることができる。また、データ駆動型の場合も情報処理装置内に演算器を複数個用意しておき、複数のデータ駆動型プロセッサで独立して処理を行なうことが可能であるので、演算器を複数個持てば、空いている演算器で処理を行なうことができるので、演算終了を待たずに空いている演算器で次々に処理を行ない、処理効率を上げることができる。
【0020】
このように、データ駆動型情報処理装置の特徴である並列に高速に処理する方法について説明したが、もちろんパケットの流れを速くする方法も挙げられる。パケットの流れを速くする方法としては演算時間を短くすることで実現できる。
これは単純に回路の処理速度を上げて演算に要する時間を短くするのみでなく、演算結果の読出や書込時間なども含めて短くすることで実現できる。
【0021】
また、誤差拡散の場合は、前の画素の処理が終わってから次の画素の処理を行なう逐次処理であることと、1画素に対しての処理が多いことにより、同様の演算器を複数個持つ方法では回路規模の増加と演算器間の誤差データの授受とそのタイミングなどの制御が複雑になるため、同一のパケットに複数のデータを持たせる方法が有利であると考えられる。
【0022】
以上のように、誤差拡散処理にデータ駆動型の情報処理装置を使用できれば、高速処理のみならず、回路規模などにも有利な処理装置を提供することが期待できる。
【0023】
【発明が解決しようとする課題】
しかしながら、既に述べた第1〜第7の従来例の手法を先のデータ駆動型の演算処理装置に適用しようとすると、以下の問題が発生する。
【0024】
まず、第1の従来例では、既に述べたようにアルゴリズムを特化しており、汎用性がないため、データ駆動型の演算処理装置には適用することができない。
【0025】
また、第2,第3および第4の従来例では、データ駆動型でもこのように演算回路を並列に持って処理する方法も実現可能であるが、パケット単位で複数のデータの処理を行なうことによる並列処理(同一パケットに複数のデータを持つ並列処理)には適用することができない。
【0026】
第5の従来例では、誤差拡散専用演算器でないため、これを専用の誤差拡散演算器に採用すると、1ラスタ分の画像データを取込む回路規模が必要になるなど、回路規模が大きくなってしまう。また、第5の従来例では、専用回路ではないため回路規模増加の影響は少ないが、専用演算器には適用することができない。
【0027】
第6の従来例では、問題点としてこの方式も他の従来例と同様にして、離れた画素を並列に処理する技術であり、データ駆動型に用いる隣接した画素を1個のパケットに入れる並列処理に用いることができない。
【0028】
第7の従来例では、誤差拡散予測演算装置を備えていることを特徴しているため、第1の従来例と同様にして汎用性がなく、データ駆動型の演算装置には適用することができない。
【0029】
データ駆動型の演算装置では、実行速度を上げるために複数のデータを単一のパケットに乗せて処理することができる。しかし、誤差拡散は、逐次処理を行なわなければならないため、並列処理には不向きである。また、第2の従来例から第6の従来例で述べられている並列処理は、第5の従来例以外は誤差演算回路を複数個持ち、それぞれブロック単位で処理しており、データ駆動型で用いるパケットに複数個乗せる方式の並列処理には適用することができない。
【0030】
また、第5の従来例では、1ラスタ分の画素データをすべて取込み、それらを演算器を並列に使用して速度を上げる方式であり、そのままでは単純な回路規模増につながり、これも応用することができない。
【0031】
それゆえに、この発明の主たる目的は、並列処理による高速演算処理が特徴のデータ駆動型情報処理装置に適した誤差拡散処理装置を提供することである。
【0032】
【課題を解決するための手段】
この発明は、誤差拡散演算器を内蔵したデータ駆動型演算装置において、誤差拡散演算器外に設けられ、ラインの上から下へ、そして左から右へ1画素ずつ演算対象画素を逐次移動させて隣接する次の演算対象画素を含む周辺画素に対して行なう誤差拡散演算器による誤差拡散演算処理により画素の誤差情報の格納および更新を行う誤差データ用メモリと、誤差データ用メモリのアクセスを行うアクセス部とを備え、誤差拡散演算器は、誤差拡散演算器に内蔵され、画素の誤差情報のうち同一ラインの逐次移動させて演算対象となる周辺画素に対して拡散すべき値の格納および更新を連続して行う誤差保存用レジスタと、第1の演算対象画素に対して、誤差データ用メモリから読み出された画素の誤差情報および誤差保存用レジスタの拡散すべき値に基いて、所定の誤差演算処理を実行するととともに第1の演算対象画素と同一ラインの隣接する第2の演算対象画素に対して、誤差データ用メモリから読み出された画素の誤差情報および第1の演算対象画素における演算結果に基いて、所定の誤差演算処理を並列処理して、次の2つずつの演算対象画素に対する所定の誤差演算処理するための拡散すべき値を誤差保存用レジスタに出力するとともに、次のラインの演算対象画素に対する誤差演算処理のための誤差情報を誤差データ用メモリに出力するための複数の演算器とを含み、前記第1および第2の演算対象画素に対応する誤差情報や拡散すべき値を同一のパケット内に格納し、前記アクセス部と、誤差拡散演算器とを巡回させて演算処理を行うことを特徴とする。
【0033】
したがって、この発明によれば、誤差拡散演算器外のメモリにアクセスすることによる速度低下を防止できる。また、誤差保存用レジスタを誤差拡散演算器内に備えることにより、データを処理する単位である1パケットに複数のデータを持つ場合にも対応できる。
【0035】
したがって、この発明では、誤差保存用レジスタを誤差拡散演算器に内蔵することにより、擬似的な並列処理を実現できるとともに誤差拡散演算器以外の誤差データ用メモリへのアクセス回数を低減できる。また、少ないメモリ容量に誤差データを蓄えることが可能となり、メモリコストを低減できる。さらに、誤差拡散演算器外の誤差データ用メモリにアクセスすることによる速度低下を防止できる。誤差保存用レジスタを誤差拡散演算器内に備えることにより、データを処理する単位である1パケットに複数のデータを持つ場合にも対応できる。
【0037】
この場合、複数のデータを並列処理できるので、同一のパケット内のデータブロックを増やせば、さらにデータ駆動型の演算処理装置の優位性を生かすことができる。
【0038】
さらに、誤差拡散演算器は、演算対象画素がラインの最初に位置するとき、誤差保存用レジスタの内容をクリアすることを特徴とする。
【0039】
さらに、誤差拡散演算器は、演算対象画素が画面の最上位ラインにあるとき、誤差データ用メモリからの読み込みを行わないことを特徴とする。
【0040】
これらにより、演算対象が画像の端にあるときの特殊処理を容易にできる。
【0041】
【発明の実施の形態】
図1はこの発明の一実施形態の基本的な概念図を示す図である。図1において、誤差拡散演算装置1は、データ駆動型の演算装置であり、先に説明した特開平6−83731号公報に記載されているように、データの転送要求信号と、データの転送を許可するか否かを示す転送許可信号をお互いに送受信してパイプラインレジスタのパケットの保持や出力を制御する自己同期型転送制御回路や、パケットを保持するパイプラインレジスタや、パケットの入力手段としての合流部や、パケットの出力手段としての分岐部や、パイプラインレジスタ間に設置された発火制御部や、演算回路や、メモリ部や、さらに誤差保存用レジスタ2を含んで構成されている。そして、この誤差拡散演算装置1の外部には1ライン分のラインメモリで構成された誤差データ用メモリ3が設けられている。
【0042】
このように、誤差拡散演算装置1内に誤差保存用レジスタ2を備えることにより、誤差拡散演算装置1外のメモリにアクセスする必要がなくなり、負担が軽減できる。これは処理を速くする手法のパケットの流れを速くすることに相当する。
【0043】
誤差保存用レジスタ2が誤差拡散演算装置1内にない場合は、1個の画素について誤差拡散処理を行なうために、外部のメモリにアクセスする必要がある。このメモリアクセスは複数回の読み書きが必要になる。たとえば、具体例として、1画素の誤差を周辺4画素に拡散させる場合について考えると、当該画素からの誤差データの読込と、周辺4画素に対する誤差データの読込,演算,書込の一連の処理が必要になる。メモリのアクセスのみに着目しても、都合5回の読込と4回の書込が必要になる。これを全画素について行なわなければならず、誤差保存用レジスタ2を備えた場合の読込1回と書込1回と比較して負荷が大きいことがわかる。このアクセス回数の増加は、単にメモリの応答時間によるだけでなく、他の演算器のメモリアクセスとの調停を行なう必要もあり、アクセス回数以上の高速性に対して、さらに回路設計上の複雑さに対して影響が出る。
【0044】
これは、今までの説明でも述べてきている方法であるが、1回の演算で複数個のデータ処理が行なえるため、誤差拡散演算装置1への入出力にかかる負荷を軽減できる。また、複数のデータを隣接する画素に限定した場合は、画素間で渡すデータの保存が不要になり、回路規模を含めたコストパフォーマンスが向上する。
【0045】
誤差拡散演算装置1では、周辺画素の誤差データを読込んで現在の対象画素のデータに加算する。このとき、隣接画素の誤差データの読込から演算,誤差データのメモリへの書込まで同一演算装置内で処理すると、画素データのパケットが読込から書込まで同一演算装置内に留まることになり非効率となる。以下、簡単な例を挙げてその様子を説明する。
【0046】
図2は誤差拡散演算装置による演算サイクル数を示す図である。この図2では、簡単化のため、メモリからの読出,誤差演算(誤差の足し込み,量子化,係数の掛け算など)、メモリへの書込を同じ1サイクルとしている。誤差拡散の演算を単一の演算装置で実行した場合は、メモリからの読出から演算を行なって書込までをシリアルに行なうことになり、1つの画素につき3サイクル必要になる。この場合は、4画素の処理を行なうために、4×3=12サイクル必要になる。
【0047】
しかし、誤差データ用メモリへのラインメモリアクセス部を誤差拡散演算装置から分割することにより、誤差演算とラインメモリとの読出/書込処理を分離することができる。このことより、図2に示すように、4画素の処理が8サイクルで処理を完了させることのできることがわかる。図2の対象画素は、そのサイクルでメモリアクセスを行なっている隣接する画素を表わしている。
【0048】
図2では、サイクル1では画素1に対応する誤差データのラインメモリからの読出と、サイクル2では画素1に対応する演算と、画素2に対応する誤差データのラインメモリからの読出と、サイクル3では画素1に対応する演算後のデータのラインメモリへの書込と、画素2に対応する演算が行なわれていることを示している。
【0049】
以下、同様に処理されて8サイクルで隣接する4画素の処理が完了する。図2から明らかなように、この方式ではすべてのサイクルで読出もしくは書込のためのメモリアクセスを行なうことができ、待ち時間のために演算装置内に留まるような無駄を排除した動作を実現できる。
【0050】
図3はこの発明の一実施形態の分離型誤差拡散演算装置を示すブロック図である。図3において、誤差拡散演算装置1aは図1と同様にして誤差保存用レジスタ2を内蔵しており、量子化や係数をかける演算を行なう。この誤差拡散演算装置1aとは分離してラインメモリアクセス部1bが設けられ、このラインメモリアクセス部1bによって誤差データ用メモリ(ラインメモリ)3がアクセスされる。誤差拡散を行なう演算対象画素のパケットが合流回路4を介してラインメモリアクセス部1bに入力されると、ラインメモリアクセス部1bが誤差データ用メモリ3から誤差データを取込み、そのデータを持って分岐回路5を介して誤差拡散演算装置1aに入力される。ここで、演算対象画素の量子化と誤差の拡散、すなわち量子化誤差に係数を掛けて誤差保存用レジスタ2への保存が行なわれる。そして、量子化が終わったデータは、誤差データ用メモリ3へ保存するデータを持って再び合流回路4を介してラインメモリアクセス部1bに入力され、誤差データを誤差データ用メモリ3に保存し、量子化の終わったデータ(2値画素データ)が演算結果として出力される。すべてのデータは前述の図11に示したようなパケット形式にて行なわれる。
【0051】
対象画素がラインの最初の位置にあるときは誤差保存用レジスタ2には1ライン前の最後のデータが格納されている。このままでは、量子化の際に足し込む近傍誤差が不適切(近傍ではなく不連続な位置の誤差になっている)な値となっているため、これを0にクリアする必要がある。この機能を誤差拡散演算装置1aに内蔵し、誤差拡散演算装置1aの制御を容易にする。
【0052】
この機能の実現方法として、誤差拡散演算装置1aが自動的にラインの最初の位置にあることを検知して誤差保存用レジスタ2を0にクリアしてもよいし、別の命令として準備してもよい。前述の説明と同様にして、対象画素が画面の最上位ラインにあるときに誤差保存用レジスタ2を0にクリアするとともに、誤差データ用メモリ3から誤差データの読出を行なわない機能を準備する。さらに、最上位ラインの位置にあることを検知することで可能となる。誤差保存用レジスタ1aが誤差データ用メモリ3に格納されている誤差データは1画面前の最下位ラインのデータであり、不連続な誤差データであるためである。
【0053】
図4はこの発明の一実施形態における周辺4画素に誤差を拡散する例を示す図である。次に、図4を参照して、1画素ずつ処理する場合で該当画素が画像の端にない場合の手順について説明する。該当画素が多値データであり、これを量子化して誤差を求め、その誤差を周辺4画素へ拡散させる場合の手順は以下のとおりになる。
【0054】
このとき、ラインは上から下へ、またライン上では左から右へ演算対象画素が移動するものとする。対象画素データPnが誤差拡散演算装置1aに入力される。また、1ライン上の画素の誤差データLnが誤差拡散演算装置1a外になる誤差データ用メモリ3から読込まれる。誤差データ用メモリ3から読込まれた誤差データLn…Ln+mと誤差拡散演算装置1a内にある誤差保存用レジスタ2から1画素左の誤差データXが加算器10で順次加算され、さらに加算器7によって対象画素データPn…Pn+mに加算される。加算したデータをたとえば量子化回路6によって2値に量子化し、加算器9によって量子化前後の量子化誤差が求められる。この量子化誤差に対して、乗算器8によって誤差係数aが乗算され、出力X′として誤差保存用レジスタ2の領域Xに格納される。また、量子化誤差に対して、乗算器11によって誤差係数bが乗算され、誤差保存用レジスタ2の領域Yに格納されている誤差データが加算器12によって加算され、出力L′n…L´n+mとして誤差データ用メモリ3の領域Lnに書込まれる。
【0055】
さらに、量子化誤差に対して乗算器13によって誤差係数cが乗算され、さらに加算器14によって誤差保存用レジスタ2の領域Zに格納されている誤差データが加算され、出力Y′として出力され、誤差保存用レジスタ2の領域Yに書込まれる。さらに、量子化誤差に対して、乗算器15によって誤差係数dが乗算され、出力Z′として誤差保存用レジスタ2の領域Zに格納される。
【0056】
図5は図4の動作を説明するための図である。図5を参照して図4の動作を補足的に説明する。図5(a)においても、誤差拡散処理の対象画素を上から下へ、そして左から右へ逐次移動させて行なう例で示している。したがって、対象画素データはPnからPn+1へと移動するとともに、隣接する周辺画素に誤差を分配することになる。誤差拡散演算装置1a内の誤差保存用レジスタ2は、図5(b)に示すように対象画素に対してレジスタXとレジスタYとレジスタZの3つのレジスタを有している。ここで、図5(c)に示す誤差データP0は係数bを掛け、誤差保存用レジスタ1aのレジスタYに格納されている値を換算した後、対象画素が次のライン(1つ下のライン)に進むまで使用しないため、誤差拡散演算装置1a外の誤差データ用メモリ3に誤差データL′nとして書込んで誤差データ用メモリ3内に格納される。したがって、図4に示した誤差データ用メモリ3はLn,Ln+1,…,Ln+mとなっている。
【0057】
一方、誤差データa0は、係数aを掛けた後、図5(d)に示すように一旦誤差拡散演算装置4a内の誤差保存用レジスタ2のレジスタX内に格納され、次の対象画素Pn+1を処理して、誤差拡散演算装置1aの加算器7に入力する際、読出されて誤差データXとして使用される。
【0058】
また、誤差データc0は、係数cを掛けた後、レジスタZに格納されている誤差データを加算してその値がレジスタYに格納される。そして、次の対象画素Pn+1の処理の際、レジスタYから読出して使用される。さらに、誤差データd0は、係数dを掛けた後、レジスタZに格納される。そして、次の対象画素Pn+1の処理の際、レジスタZから読出して使用される。図5では、対象画素データがPn,Pn+1,Pn+2,…,Pn+mと順次入力され、処理されていくことを示している。
【0059】
なお、図4の右下にある誤差データについては後で詳細に説明する。
以上説明したように、対象画素を移動させて周辺画素に誤差データを拡散させる誤差拡散方式において、次の処理に必要なデータは誤差拡散演算装置1a内にある誤差保存用レジスタ2に格納して使用し、次のラインの処理まで不要な誤差データのみを誤差拡散演算装置1a外の誤差データ用メモリ3に格納することができる。したがって、誤差保存用レジスタ2に格納されるデータは次々誤差データが更新されるだけであるため、メモリ容量は少なくて済む。
【0060】
また、誤差保存用レジスタ2としては単なる遅延素子で構成してもよく、簡単に構成でき、回路面積の増大にはつながらない。さらに、これら誤差保存用レジスタ2は対象画素がラインの最初もしくは画面の最上位ラインのときは、誤差データの不連続による不都合が発生しないように格納されているデータを0にするリセット機能を有している。また、画面の最上位ラインに対象画素が位置するとき、これを検出してラインレジスタから読出を禁止する機能、もしくは誤差データ用メモリ3に格納されているデータを0にするリセット機能を有している。
【0061】
なお、誤差データ用メモリ3と誤差保存用レジスタ2の更新順序のみが入れ替わらなければ、この手順で演算器が動作するように設計する必要はない。誤差データ用メモリ3と誤差保存用レジスタ2のレジスタXは計算の性格上入れ替わる心配はないので、誤差保存用レジスタ2のレジスタYとZの更新順序を注意して設計すればよい。
【0062】
図6は2つの対象画素を同時に並列処理する実施形態を示す図である。図6に示した例も図4の実施形態と同様にして、誤差保存用レジスタ2としてはレジスタX,Y,Zの3個を設けるだけで済み、誤差データ用メモリ3への読み書きも各画素につき1回ずつで済む。隣接した画素を同一パケットで一度に誤差拡散演算装置1aに取込むことのできるデータ駆動型の演算装置に適した技術であることがわかる。ちなみに、それ以外の量子化器,加算器,乗算器の個数は単純に2倍になっている。すなわち、図4に示した実施形態では、量子化器が1個、加算器が5個、乗算器が5個であるのに対して、図6に示した実施形態では、量子化器が2個,加算器が10個,乗算器が8個のみで並列化により発生する+αもないことから、誤差保存用レジスタ2が減少する分だけ有利であることがわかる。
【0063】
基本的には、図5に示した実施形態の回路が並列に2回路配置された構成であるので、動作は同じであり、詳細な説明は省略する。この実施形態での違いは、図4に示した実施形態では、誤差データX′,Y′,Z′が誤差保存用レジスタ2に格納されたのに対して、図6に示した実施形態ではレジスタに書込まず、そのまま次の対象画素での処理に使用していることである。そして、次の対象画素の処理が終了した後の誤差データX′,Y′,Z′を各々レジスタに書込んで格納する。したがってレジスタX,Y,Zは2回ごとに更新されるだけであり、誤差保存用レジスタ2はこの並列化により2倍にする必要はなく、図4と同じ容量であり増加することはない。
【0064】
また、前述の図12に示したように複数のデータ、ここでは隣接する画素に対応するデータを同一のパケット(たとえばデータ1,データ2)に格納して転送して処理するデータ駆動型の演算装置の並列処理とのマッチングが取りやすく、並列処理の有利性を引出すことができる。
【0065】
ここまで説明してきた方法は、誤差拡散の原理には忠実であるが、誤差に係数を掛けたデータを誤差データ用メモリに保存する方法のため、誤差拡散演算装置1aが内蔵している誤差保存用レジスタ2を超える範囲の画素に誤差を拡散させる場合には使用しにくく、自由度も不足する。この欠点を回避するために、図4に示した実施形態では、敢えて別途誤差データをそのまま出力する経路を設けている。しかし、これでは誤差データそのものを記憶する機構が必要な上、使用しないときには誤差データをそのまま出力する回路が無駄になる。この欠点を回避するために、誤差データ用メモリ3に保存するデータは量子化によって発生する誤差データそのものを保存する方法が考えられる。
【0066】
図7は量子化された画素の誤差データをそのまま誤差データ用メモリ3に保存する実施形態を示す図である。この実施形態では、画素の誤差データを対象画素データに足し込む前に、特定の係数を掛けている。この違いを図8を参照して説明する。前述の従来例で説明した図10とこの図8とでは誤差を拡散させる演算対象画素の位置は同じであるが、図10では量子化が終わった画素の画素データを周辺の量子化が行なわれていない画素データに足し込んでいるので、矢印の向きは演算対象画素から周辺画素の量子化が終わっていない画素に向かっている。これに対して、図8に示した実施形態では、矢印の向きは量子化が終わっている画素から演算対象画素に向いている。この方法は、図10の矢印の向きに注意しながら、誤差データがどの画素に足し込まれているかを注目すれば置き換え可能であることがわかる。
【0067】
図7に示した実施形態では、誤差保存用レジスタ2のレジスタX,Y,Zを必要とせず、次の画素の処理への移動時間に相当する遅延量を有する遅延素子41,42,43が設けられる。誤差データ用メモリ3は対象画素のあるラインの1つ前(1つ上)の画素の誤差データを格納しており、対象画素の誤差拡散処理が終了するとともに格納されているデータを更新する。
【0068】
対象画素Pn+1の誤差拡散処理を行なう場合、1つ前の画素Pnの誤差データ(別途誤差データ用メモリの領域Lnの画素Pnに対応するアドレスに書込んでいる)を遅延素子41を介して乗算器28で係数aを乗算し、一方対象画素Pn+1のあるラインの1つ前(1つ上)の誤差データを格納している領域Ln+1から順次Ln+2,Ln+3と転送させて読出す。
【0069】
まず、対象画素の右上の画素P′n+2の誤差データに乗算器29で係数bを乗算し、次に遅延素子42を介して、すなわち対象画素の上の画素P′n+1の誤差データに乗算器30で係数cを乗算し、続いてさらに遅延素子43を介した、すなわち対象画素の左上の画素P′nの誤差データに乗算器31で係数dを乗算し、これらの乗算器28〜31の出力を加算器18〜20で加算し、さらに加算器7で画素データPn+1に加算される。そして、量子化回路6に入力され、たとえば2値化することで発生した誤差データが誤差データ用メモリ3の画素Pn+1に対応するアドレス(Ln+1)に書込まれる。
【0070】
以降、同様な処理を繰返すことで誤差拡散処理が行なわれる。誤差データ用メモリ3への書込および読出は対象画素1あたり各々1回であり、図4および図6に示した実施形態と比較して処理速度が遅くなることはない。また、簡単な回路構成にて実現可能であることがわかる。
【0071】
この方式でも、画素データPnとPn+1を処理する2回路による並列処理は可能であり、先の図6で述べたように、同一パケット内に複数のデータ、ここでは隣接する画素に対応するデータを同一のパケット(たとえば、データ1,データ2)に格納して転送して処理するデータ駆動型の演算装置の並列処理とのマッチングが取りやすく、並列処理の有利性を引出すことができる。そして、係数を掛けたデータを格納するのではなく、直接誤差データを誤差データ用メモリ3に格納するため、後の処理の自由度が増し、対象画素の周辺4画素への拡散だけでなく他の拡散処理方式にも対応可能である。
【0072】
図7においても、図4および図6と回路規模が変わらず、量子化器:1,加算器:5,乗算器:4で実現でき、誤差データ用メモリ3への書込は図4および図6と同様にして、各1回ずつで済み、同等の回路規模で実現できる。なお、図7では、誤差データ用メモリ3から読込んだデータをそのまま遅延させて使用しているので、デジタル信号処理でよく用いられる遅延素子になぞらえてZで実現しいているが、実体は図4などで用いている誤差保存用レジスタ2と同じ構成で簡単に実現できる。これは、図4でも同様のことが言え、図4においても遅延素子を用いるようにしてもよく、これはX′とXの間に遅延素子を入れることで実現できる。すなわち、誤差保存用レジスタ2は遅延素子で簡単に実現できる。
【0073】
図9は誤差拡散演算装置内の誤差保存用レジスタを1次元(ライン方向のみ)で持つようにした実施形態を示すブロック図である。この実施形態も一通りではないが、図7と同様な回路で実現したものである。すなわち、これまでの実施形態では、同一ライン上では1画素分だけの拡散であったのに対して、この図9に示した実施形態では拡張性を考慮し、誤差を同一ライン方向に3画素まで拡散する例を示している。また、ラインの異なる画素からの誤差の授受は同様にデータ用メモリ3を用いれば、先に説明したように実現できる。ただし、ここでは拡張性がある場合の回路例として示しているので、ラインが異なる場合の誤差データに係数を掛けて足し込む部分は省略している。誤差データ用メモリ3への読み書きの部分に該当する画素の誤差の計算と累算機能を持たせてもよく、拡張性を重視して別の演算装置でソフトウェアで制御してもよい。
【0074】
以下、説明を簡単にするために、誤差拡散演算装置内1a内の誤差保存用レジスタ2への誤差データの読出および書込についてのみ着目して説明する。この場合、対象画素Pnの誤差データを乗算器28で係数aを乗算して次の画素Pn+1のデータに、乗算器29で係数bを乗算して画素Pn+2のデータに、乗算器30で係数cを乗算して画素Pn+3のデータに足し込んで拡散するものであり、同一ラインの3画素に拡散した例である。
【0075】
図9に示すように、対象画素Pnの画像データが誤差拡散演算装置1aに入力される。画素Pnの画像データには、誤差保存用レジスタ2の画素Pnに対応するアドレスに格納されている誤差データLnが読出されて加算器7で加算される。そして、量子化回路6によりたとえば2値化され、その際の加算器9で求められた誤差データは遅延素子41により1画素分遅延されるため、乗算器28で係数aを乗算した値は加算器7で画素データPn+1に加算されることになる。次に、誤差データはさらに遅延素子42により2画素分遅延されるため、乗算器29で係数bを乗算した値は加算器18で画像データPn+2に加算されることになる。次に、誤差データはさらに遅延素子43により3画素分遅延されるため、乗算器30は係数cを乗算し、その値は加算器19で画像データPn+3に加算される。
【0076】
また、誤差保存用レジスタ2への書込(更新)は、画素Pnの量子化誤差データを遅延素子にて1画素分遅延させた誤差保存用レジスタ2の画素Pn−1の誤差データに対応するアドレス(Ln−1)に格納される。これを順次繰返すことによって、同一ラインの3画素への誤差拡散を実現できる。
【0077】
この方式でも、画素データPnとPn+1を処理する2回路による並列処理が可能であり、前述の図6で説明したように同一パケット内に複数のデータ、ここでは隣接する画素に対応するデータを同一のパケット(データ1,データ2)に格納し、転送して処理するデータ駆動型の演算装置の並列処理とのマッチングが取りやすく、並列処理の有利性を引出すことができる。
【0078】
誤差保存用レジスタ2への書込は、同一アドレスへの読み書きを避けるために1画素遅延させた誤差データを誤差保存用レジスタ2に書込む方式を示している。これは、同一アドレスへの読み書きを行なう場合は、読込終了後に書込を行なう必要があるため、回路動作の制約を避けることを意図している。逆に、このアドレスを変更するための制約が大きい場合は、遅延素子に入れる前の演算対象画素の誤差データを誤差保存用レジスタ2の同一アドレスであるLnに書込むことで解決できる。
【0079】
なお、この発明では一例で示しているが、たとえば対象画素の走査方向は、左から右のみでなくてもよく、場合によっては左から右と右から左を交互または特定の周期で入れ替えてもよい。
【0080】
さらに、ラインの最初に対象画素があるときの誤差保存用レジスタ2をクリアすることや誤差データ用メモリ3から誤差データを読出さないもしくは誤差データ用メモリをクリアにする処理も、誤差拡散演算装置1aが自動的に行なってもよく、あるいはプログラムで明示的に行なってもよい。
【0081】
量子化するしきい値については固定ではなく、任意に変更することも考えられる。さらに、画素によって逐次変更するような誤差拡散演算装置を設計することもできる。さらに、量子化については、2値に限らず4値の場合もあり得る。4値の量子化が用いられる例としては、6色カラーの場合が挙げられる。6色カラーの場合は、イエロー,マゼンタ,シアンの3色のうち、たとえばシアンについて濃い色と薄い色の2種類用意しておき、2ビット表示で11,10,01,00として上位ビットが1のときに濃い色で印字し、下位ビットが1のときに薄い色で印字する(0のときは印字しない)。したがって、1番濃い場合は、濃いビットと薄いビットの両方で印字することにより、4種類の濃淡を表現でき、さまざまな変更に対応できる。
【0082】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0083】
【発明の効果】
以上のように、この発明によれば、従来ではデータ駆動型の演算器はその並列性から画像処理には有利であったが、誤差拡散のような処理は不得意な分野であったが、この発明によりデータ駆動型の演算においても、効率的に誤差拡散の演算を行なうことができるようになり、さらにデータ駆動型の演算装置の優位性を得ることができる。
【0084】
さらに、複数の演算処理部を回路の大幅な増大もなく並列に配置することができ、また少量のメモリで誤差データを格納でき、さらにデータ駆動型の演算処理装置でのパケットの構成による処理でも、同一のパケットに複数の誤差データを格納して処理することでデータ駆動型の演算処理装置の特徴である高速処理の優位性を損なわず発揮できる。また、同一パケット内に複数のデータを格納することにより、入出力の処理速度が低減され、より高速なデータ伝送および処理に対応できる。
【0085】
なお、上述の説明では2つの並列する演算処理ブロックにより説明したが、特に2つのブロックに限定されることなく、複数のデータを並列する処理ブロックも可能となる。これに応じて、同一のパケット内のデータブロックを増やせば、さらにデータ駆動型の演算処理装置の優位性を活かすことができる。したがって、画像処理など、大量のデータの演算の高速処理に適したデータ駆動型の演算処理装置を、誤差拡散処理に、その並列処理による高速処理を損なわずに使用することができる。
【0086】
また、対象画素の量子化誤差データを周辺画素に拡散させる場合、次の画素処理に必要な誤差データは誤差拡散演算装置内に備えた誤差保存用レジスタに格納し、読出および更新を行なうことでメモリへのアクセス時間の短縮を可能にすることができ、パケットの流れを速くすることで、全体の処理時間の短縮化を実現できる。
【0087】
さらに、演算装置以外のメモリへのアクセス部と、誤差保存用レジスタを設けて誤差拡散演算を行なう誤差拡散演算装置を分離することで、メモリへのアクセスのための待機時間など、パケットの処理に無駄が発生しない構成にするとともに、これら2つのブロックのデータの流れを合流部および分岐部により管理する、すなわちデータ駆動型のシステム構成に合致したものにすることができる。
【0088】
さらに、データ駆動型の処理装置を使用できれば、高速処理のみならず、回路規模などの有利な処理装置を提供することができる。
【図面の簡単な説明】
【図1】 この発明の一実施形態の誤差拡散演算装置のブロック図である。
【図2】 この発明の一実施形態による演算サイクル数を示す図である。
【図3】 この発明の実施形態におけるの誤差拡散演算装置の概略ブロック図である。
【図4】 この発明の具体的な実施形態の誤差拡散演算装置を示す図である。
【図5】 図4の具体的な動作を説明するための図である。
【図6】 この発明の他の実施形態の誤差拡散演算装置を示すブロック図である。
【図7】 この発明のさらに他の実施形態の誤差演算装置のブロック図である。
【図8】 この発明の一実施形態における誤差拡散を説明するための図である。
【図9】 この発明のさらに他の実施形態の誤差拡散演算装置のブロック図である。
【図10】 従来例による誤差拡散を説明するための図である。
【図11】 従来のデータ駆動型情報処理装置のブロック図である。
【図12】 従来のデータ駆動型情報処理装置におけるパケットのモデルを示す図である。
【符号の説明】
1,1a 誤差拡散演算装置、1b ラインメモリアクセス部、2 誤差保存用レジスタ、3 誤差データ用メモリ、4 合流回路、5 分岐回路、6,32量子化回路、7,9,10,12,14〜20 加算器、8,11,13,15,21〜31 乗算器、41,42,43 遅延素子。
Claims (3)
- 誤差拡散演算器を内蔵したデータ駆動型演算装置において、
前記誤差拡散演算器外に設けられ、ラインの上から下へ、そして左から右へ1画素ずつ演算対象画素を逐次移動させて隣接する次の演算対象画素を含む周辺画素に対して行なう前記誤差拡散演算器による誤差拡散演算処理により画素の誤差情報の格納および更新を行う誤差データ用メモリと、
前記誤差データ用メモリのアクセスを行うアクセス部とを備え、
前記誤差拡散演算器は、
前記誤差拡散演算器に内蔵され、画素の誤差情報のうち同一ラインの逐次移動させて演算対象となる周辺画素に対して拡散すべき値の格納および更新を連続して行う誤差保存用レジスタと、
第1の演算対象画素に対して、前記誤差データ用メモリから読み出された前記画素の誤差情報および前記誤差保存用レジスタの前記拡散すべき値に基いて、所定の誤差演算処理を実行するととともに前記第1の演算対象画素と同一ラインの隣接する第2の演算対象画素に対して、前記誤差データ用メモリから読み出された前記画素の誤差情報および前記第1の演算対象画素における演算結果に基いて、所定の誤差演算処理を並列処理して、次の2つずつの演算対象画素に対する所定の誤差演算処理するための拡散すべき値を前記誤差保存用レジスタに出力するとともに、次のラインの演算対象画素に対する誤差演算処理のための誤差情報を前記誤差データ用メモリに出力するための複数の演算器とを含み、
前記第1および第2の演算対象画素に対応する前記誤差情報や前記拡散すべき値を同一のパケット内に格納し、前記アクセス部と、前記誤差拡散演算器とを巡回させて演算処理を行うことを特徴とする、誤差拡散演算装置。 - 前記誤差拡散演算器は、演算対象画素がラインの最初に位置するとき、前記誤差保存用レジスタの内容をクリアすることを特徴とする、請求項1に記載の誤差拡散演算装置。
- 前記誤差拡散演算器は、演算対象画素が画面の最上位ラインにあるとき、前記誤差データ用メモリからの読み込みを行わないことを特徴とする、請求項1または2に記載の誤差拡散演算装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000174822A JP3995868B2 (ja) | 2000-06-12 | 2000-06-12 | 誤差拡散演算装置 |
US09/878,394 US6977756B2 (en) | 2000-06-12 | 2001-06-12 | Error diffusion processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000174822A JP3995868B2 (ja) | 2000-06-12 | 2000-06-12 | 誤差拡散演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001358942A JP2001358942A (ja) | 2001-12-26 |
JP3995868B2 true JP3995868B2 (ja) | 2007-10-24 |
Family
ID=18676790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000174822A Expired - Fee Related JP3995868B2 (ja) | 2000-06-12 | 2000-06-12 | 誤差拡散演算装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6977756B2 (ja) |
JP (1) | JP3995868B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220311904A1 (en) * | 2021-03-29 | 2022-09-29 | Seiko Epson Corporation | Image processing apparatus and image processing method |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3661624B2 (ja) * | 2000-10-06 | 2005-06-15 | セイコーエプソン株式会社 | 画像処理装置 |
US20040147503A1 (en) * | 2002-06-04 | 2004-07-29 | Sheila Zipfeil | Novel compounds and compositions as cathepsin inhibitors |
JP4014083B2 (ja) * | 2002-03-06 | 2007-11-28 | 株式会社リコー | 画像形成装置 |
US8009327B2 (en) * | 2002-07-11 | 2011-08-30 | Canon Kabushiki Kaisha | Method and apparatus for image processing |
TWI223164B (en) * | 2003-06-24 | 2004-11-01 | Realtek Semiconductor Corp | Error prediction method of halftone processing |
KR100508936B1 (ko) * | 2003-08-12 | 2005-08-17 | 삼성에스디아이 주식회사 | 고속 동작이 가능한 오차 확산 방법 및 그 방법을 이용한플라즈마 디스플레이 패널 구동 장치 |
TWI227403B (en) * | 2003-11-14 | 2005-02-01 | Ind Tech Res Inst | Method for implementing error diffusion process with memory management |
JP4105704B2 (ja) * | 2004-05-18 | 2008-06-25 | シャープ株式会社 | 画像処理装置、画像形成装置、画像処理方法、プログラム、および記録媒体 |
JP2006146672A (ja) * | 2004-11-22 | 2006-06-08 | Toshiba Corp | データ処理装置及びデータ処理方法 |
JP4581775B2 (ja) * | 2005-03-23 | 2010-11-17 | セイコーエプソン株式会社 | 印刷装置 |
CN100338936C (zh) * | 2005-04-27 | 2007-09-19 | 北京北大方正电子有限公司 | 一种基于双反馈的误差扩散调频挂网方法 |
CN100435548C (zh) * | 2006-09-15 | 2008-11-19 | 北京大学 | 一种能够同时产生多位调频网点的方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3209763B2 (ja) | 1991-09-12 | 2001-09-17 | 株式会社日立製作所 | 画像信号処理方式 |
JPH05282473A (ja) | 1992-04-01 | 1993-10-29 | Sanyo Electric Co Ltd | データ処理装置 |
JP3372970B2 (ja) | 1992-09-02 | 2003-02-04 | シャープ株式会社 | 自己同期型転送制御回路 |
US5519791A (en) | 1993-01-11 | 1996-05-21 | Canon, Inc. | Block parallel error diffusion method and apparatus |
US5553165A (en) | 1993-01-11 | 1996-09-03 | Canon, Inc. | Parallel error diffusion method and apparatus |
JPH06266324A (ja) | 1993-03-10 | 1994-09-22 | Canon Inc | 画像処理方法及び装置 |
JP3698754B2 (ja) | 1995-04-12 | 2005-09-21 | シャープ株式会社 | データ駆動型情報処理装置 |
JP3347524B2 (ja) | 1995-05-23 | 2002-11-20 | キヤノン株式会社 | 画像処理装置 |
US5892851A (en) | 1997-05-23 | 1999-04-06 | Hewlett-Packard Company | Parallelized error diffusion |
US5931960A (en) * | 1997-10-31 | 1999-08-03 | Xerox Corporation | Method and apparatus for handling error diffusion values |
JPH11146202A (ja) | 1997-11-10 | 1999-05-28 | Ricoh Co Ltd | 画像処理装置及び誤差拡散処理方法 |
JP2000152005A (ja) * | 1998-11-17 | 2000-05-30 | Toshiba Corp | 画像処理装置 |
US6594035B1 (en) * | 1999-08-16 | 2003-07-15 | Hewlett-Packard Development Company, L.P. | System and memory-buffer management method for reducing random access memory requirements in error diffusion halftone applications |
-
2000
- 2000-06-12 JP JP2000174822A patent/JP3995868B2/ja not_active Expired - Fee Related
-
2001
- 2001-06-12 US US09/878,394 patent/US6977756B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220311904A1 (en) * | 2021-03-29 | 2022-09-29 | Seiko Epson Corporation | Image processing apparatus and image processing method |
US11632488B2 (en) * | 2021-03-29 | 2023-04-18 | Seiko Epson Corporation | Image processing apparatus and image processing method |
Also Published As
Publication number | Publication date |
---|---|
US6977756B2 (en) | 2005-12-20 |
US20020003632A1 (en) | 2002-01-10 |
JP2001358942A (ja) | 2001-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3995868B2 (ja) | 誤差拡散演算装置 | |
JP5837153B2 (ja) | 画素速度での画像処理のための方法および装置 | |
US7053895B2 (en) | Image processing apparatus, image processing method, control program and recording medium | |
JPH03217976A (ja) | 画像処理システム | |
WO1999063751A1 (en) | Low-power parallel processor and imager integrated circuit | |
US6633975B1 (en) | Data processing system having plurality of processors and executing series of processings in prescribed order | |
US6963420B1 (en) | Image processing apparatus | |
JP4086556B2 (ja) | 画像処理装置およびその制御方法 | |
US6535971B1 (en) | Data processing system having plurality of processors and executing series of processings in prescribed order | |
JPH01303578A (ja) | 画像変換装置 | |
US20050122545A1 (en) | Flexible high performance error diffusion | |
JP2006133839A (ja) | 画像処理装置、印刷装置および画像処理方法 | |
JP4482356B2 (ja) | Simdプロセッサを用いた画像処理方法及び画像処理装置 | |
JP2011076518A (ja) | 光学的情報読取装置及び画像データ取込方法 | |
JP2011191903A (ja) | 情報処理装置、画像形成装置及び情報処理方法 | |
JPH01303869A (ja) | 画像処理装置 | |
CN110072032B (zh) | 图像处理装置 | |
JP2009253645A (ja) | 画像処理装置及びその処理方法 | |
JPH0436501B2 (ja) | ||
US5949923A (en) | Image reader | |
JP2861845B2 (ja) | 白抜き機能付きイメージスキャナ | |
JP2536183B2 (ja) | 画像処理方法および装置 | |
JP2658346B2 (ja) | 並列画像処理装置 | |
JP2003346139A (ja) | 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2000163388A (ja) | データ処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041130 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050128 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050517 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050714 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050831 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050922 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070626 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070801 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100810 Year of fee payment: 3 |
|
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: 20100810 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110810 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110810 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120810 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |