JP2010050846A - 誤差拡散処理装置及び誤差拡散処理方法 - Google Patents
誤差拡散処理装置及び誤差拡散処理方法 Download PDFInfo
- Publication number
- JP2010050846A JP2010050846A JP2008214588A JP2008214588A JP2010050846A JP 2010050846 A JP2010050846 A JP 2010050846A JP 2008214588 A JP2008214588 A JP 2008214588A JP 2008214588 A JP2008214588 A JP 2008214588A JP 2010050846 A JP2010050846 A JP 2010050846A
- Authority
- JP
- Japan
- Prior art keywords
- error
- pixel
- error diffusion
- diffusion
- pixels
- 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.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】1画素おきの2画素それぞれを注目画素とした誤差拡散演算を同じクロックで行う際に、その演算処理の高速化を図れる誤差拡散処理装置及び誤差拡散処理方法を提供する。
【解決手段】1画素おきの2画素(奇数番目同士の2画素または偶数番目同士の2画素)それぞれを注目画素とした誤差拡散演算を行うクロックの次のクロックにて、注目画素に相隣する画素における誤差拡散結果をCWAa707aで求める。注目画素から2つ隣の画素における誤差拡散結果は、注目画素の誤差拡散演算を行うのと同じクロックにてCWBa708aで求める。
【選択図】図17
【解決手段】1画素おきの2画素(奇数番目同士の2画素または偶数番目同士の2画素)それぞれを注目画素とした誤差拡散演算を行うクロックの次のクロックにて、注目画素に相隣する画素における誤差拡散結果をCWAa707aで求める。注目画素から2つ隣の画素における誤差拡散結果は、注目画素の誤差拡散演算を行うのと同じクロックにてCWBa708aで求める。
【選択図】図17
Description
本発明は、誤差拡散法により、原画像の各画素の濃度値を変換する誤差拡散処理装置及び誤差拡散処理方法に関する。
レーザプリンタ、インクジェットプリンタなどの記録装置にあっては、原画像の階調数を少なくして印字を行うことが多い。多値原画像を元の階調数よりも少ない階調数の画像に変換する方法の1つとして誤差拡散法が、従来から採用されている。
この誤差拡散法は、変換後の画像と原画像とにおける各画素の階調値(濃度値)の誤差を求め、求めた誤差に重みを付けて周囲の画素に分散させて、画像全体の階調特性を維持する処理である。画像処理の高速化に対する要求は常にあり、誤差拡散処理においても当然考慮すべき課題となっている。このような高速化の一例として特許文献1の画像処理装置には、2つの誤差拡散演算回路を並列に配置構成することにより、主走査方向の連続する2画素を同じクロックに同期して処理する方法が示されている。
特開2003−283829号公報
このように主走査方向の連続する2画素を同時に処理して誤差拡散処理の高速化を実現する場合、一方の誤差拡散演算回路での演算結果により生成された誤差は自身の回路だけでなく、他方の誤差拡散演算回路に対しても振りまかれて使用されることになる。1クロックについて2画素に対する処理を行う必要があるため、1クロックで処理しなければならない演算量が必然的に多くなってしまう。この結果、所望の高速化を実現できなくなることがあるという問題がある。
本発明は斯かる事情に鑑みてなされたものであり、1画素おきの2画素それぞれを注目画素とした誤差拡散演算を同じクロックで行う際に、注目画素に相隣する画素における誤差拡散結果を前記クロックの次のクロックに同期して求めることにより、誤差拡散演算処理の高速化を実現できる誤差拡散処理装置及び誤差拡散処理方法を提供することを目的とする。
本発明に係る誤差拡散処理装置は、入力画像の各画素の濃度値変換を行う際に、前記入力画像の1画素おきの2画素それぞれを注目画素とした誤差拡散演算を同じクロックに同期して行うこととし、前記2画素における誤差拡散演算から得られる誤差拡散結果を互いの誤差拡散演算に使用し合う誤差拡散処理装置であって、前記注目画素についての誤差拡散演算から得られる前記注目画素に相隣する画素における誤差拡散結果を、前記クロックの次のクロックに同期して求める手段を備えることを特徴とする。
本発明に係る誤差拡散処理方法は、入力画像の各画素の濃度値変換を行う際に、前記入力画像の1画素おきの2画素それぞれを注目画素とした誤差拡散演算を同じクロックに同期して行うこととし、前記2画素における誤差拡散演算から得られる誤差拡散結果を互いの誤差拡散演算に使用し合う誤差拡散処理方法であって、前記注目画素についての誤差拡散演算から得られる前記注目画素に相隣する画素における誤差拡散結果を、前記クロックの次のクロックに同期して求めることを特徴とする。
本発明にあっては、入力画像の1画素おきの2画素(奇数番目同士の2画素または偶数番目同士の2画素)それぞれを注目画素とした誤差拡散演算を同じクロックで行い、その誤差拡散演算に基づいた、注目画素に相隣する画素における誤差拡散結果を次のクロックで求める。注目画素に相隣する画素については、誤差拡散において乗じるべき拡散係数が大きい。そこで、本発明では、この相隣する画素についての誤差誤差拡散結果を、注目画素の誤差拡散演算を行うクロックでは求めずに、次のクロックで求める。よって、1クロック内での演算量が少なくなって、誤差拡散処理の高速化を図れる。
本発明に係る誤差拡散処理装置は、前記注目画素についての誤差拡散演算から得られる前記注目画素の2つ隣の画素における誤差拡散結果を、前記クロックに同期して求める手段を備えることを特徴とする。
本発明に係る誤差拡散処理方法は、前記注目画素についての誤差拡散演算から得られる前記注目画素の2つ隣の画素における誤差拡散結果を、前記クロックに同期して求めることを特徴とする。
本発明にあっては、注目画素の2つ隣の画素(注目画素の次の奇数番目または偶数番目の画素)における誤差拡散結果を、注目画素における誤差拡散演算を行ったと同じクロックで求める。注目画素から2つ隣の画素における拡散係数は、注目画素に相隣する画素における拡散係数より小さい。よって、同じクロック内で誤差拡散結果を求めても、大きな演算量にはならず、高速化の妨げにはならない。
本発明では、入力画像の1画素おきの2画素(奇数番目同士の2画素または偶数番目同士の2画素)それぞれを注目画素とした誤差拡散演算を同じクロックに同期して行い、その誤差拡散演算に基づいた、注目画素に相隣する画素における誤差拡散結果を次のクロックに同期して求めるようにしたので、誤差拡散における拡散係数が大きい相隣する画素における誤差拡散結果を、注目画素の誤差拡散演算を行うクロックでは求めないため、1クロック内で計算しなければならない演算量が少なくなって、誤差拡散処理の高速化を図ることができる。
本発明では、注目画素の2つ隣の画素(注目画素の次の奇数番目または偶数番目の画素)における誤差拡散結果を、注目画素における誤差拡散演算を行ったと同じクロックで求めるようにしたので、誤差拡散における拡散係数が小さい注目画素から2つ隣の画素における誤差拡散結果を同じクロック内で求めたとしても、大きな演算量ではなく、誤差拡散処理の高速化を支障なく実現できる。
以下、本発明をその実施の形態を示す図面を参照して説明する。尚、本発明は、以下の実施の形態に限定されるものではない。
まず、誤差拡散法の基本原理について説明する。尚、以下の説明では、256階調の中間調画像を0または255の階調値(濃度値)に2値化変換する場合を例とする。
まず、図1に示すような原画像について、ある注目画素に対して、その濃度値を所定の閾値と比較することによって0または255の何れかに変換する。この注目画素は、最初、左上隅の画素から始まって主走査方向に移動し、主走査方向に1ライン分の処理が終了すると副走査方向に沿って次ラインに移動するものとする。また、閾値は、ここでは、256(階調)の中間値である128であるとする。
最初、原画像における左上隅の画素の濃度値は129であるため、これを閾値128と比較すると、(注目画素の濃度値)>(閾値)となるため、注目画素の濃度値は255に変換される。このとき、注目画素の濃度値を129から255に変換することにより255−129=126の誤差(差分値)が生じるため、この誤差を図2に示す誤差拡散処理テーブルに基づいて周囲の画素に分散する。誤差拡散処理テーブルは、予め設定された拡散係数をマトリクス形式で示すものであり、注目画素における差分値に拡散係数を乗じた値を周囲画素に振り分ける。
尚、図2のように、誤差拡散処理テーブルに3×5のマトリクスを用いる場合の振りまき範囲は3×5である。誤差拡散法においては、この振りまき範囲が大きいほど、変換後の画像において高周波成分を残した写真画質に良好な画質が得られる。また、誤差拡散処理の前と後とで画像濃度が全体で保たれるように、誤差拡散処理テーブルにおける拡散係数の総和は1となるようにする。
ここで、例えば、注目画素の右側の画素においては、126(注目画素の差分値)×10/64(当該画素における拡散係数)≒20(小数点以下は必要精度に応じて計算するが、本説明では簡単のため整数標記する)が振り分け値となる。但し、この振り分け値の符号は、画像全体の濃度を保存するために注目画素の差分値とは逆となり、−20が注目画素の右側の画素に加算される。
図2に示す誤差拡散処理テーブルに基づいて、注目画素の周囲の画素に振り分けられる値を同様に計算すると、図3のようになる。また、図3に示した振り分け値を原画像に加算すると、図4のようになる。
以上により最初の注目画素についての誤差拡散が終了したため、次に、この注目画素の右側の画素を新たな注目画素として誤差拡散を行う。新たな注目画素は、先の注目画素の誤差拡散によってその濃度値が109となっている(図4参照)。この濃度値を先の閾値と比較した場合、(注目画素の濃度値)≦(閾値)となっているため、この注目画素の濃度値は0に変換される。このとき、注目画素を109から0に変換することにより0−109=−109の誤差(差分値)が生じるため、この誤差を図2に示す誤差拡散処理テーブルに基づいて周囲の画素に分散すると、その振り分け値は図5のようになる。また、図5に示した振り分け値を図4の濃度値に加算すると、図6のようになる。
このように、注目画素を順次ずらしていきながら、全ての画素について誤差拡散を行うことにより、原画像をもとの階調数よりも少ない階調数(本例では0か255かの2階調)の画像に変換することができる。
次に、上述したような誤差拡散処理を実施するための装置の構成について説明する。図7は、誤差拡散処理テーブルに基づいて振り分け値を算出するための拡散誤差演算回路の構成を示す図である。拡散誤差演算回路は、比較器701と、誤差量算出部702と、乗算器703A〜703Lと、デコーダ704A〜704Lと、フリップフロップ(FF)705,706とを備えている。
比較器701は、入力される濃度値ERR SUMと閾値THとを比較し、濃度値が閾値より大きい場合には、出力値SDAT=1を出力し、濃度値が閾値以下である場合には、出力値SDAT=0を出力する。誤差量算出部702は、注目画素における誤差量ERRとその誤差量の正負を示す符号信号SIGNとを求め、求めた誤差量ERRを各乗算器703A〜703Lへフリップフロップ705を介して出力するともに、求めた符号信号SIGNを各デコーダ704A〜704Lへフリップフロップ706を介して出力する。各乗算器703A〜703Lは、入力される誤差量ERRと、誤差拡散処理テーブルに対応した拡散係数W A〜W Lとを乗算し、その乗算結果を対応する各デコーダ704A〜704Lへ出力する。各デコーダ704A〜704Lは、この乗算結果に符号信号SIGNで示される正または負の符号を付して、拡散誤差E A〜E Lを出力する。
以下、このような構成をなす拡散誤差演算回路の動作について説明する。拡散誤差演算回路には、注目画素の濃度値ERR SUMと閾値THとが入力として与えられる。尚、ここでの注目画素の濃度値ERR SUMは、先に誤差拡散処理がなされた画素の振り分け値を加算された後の値である。これらの濃度値ERR SUM及び閾値THは、比較器701と誤差量算出部702とに入力される。
比較器701では濃度値ERR SUMと閾値THとを比較することにより、注目画素の濃度値が0または255に変換される。すなわち、ERR SUM>THである場合には、注目画素の濃度値は255に変換され、ERR SUM≦THである場合には、注目画素の濃度値は0に変換される。尚、2値化データにおいては、その出力は0または1であり、濃度値「255」は2値化データの「1」に相当する。したがって、ERR SUM>THの場合には、比較器701の出力はSDAT=1としてドットを形成し、ERR SUM≦THの場合には、比較器701の出力はSDAT=0でドットを形成しない。
一方、誤差量算出部702においては、2値化された注目画素における誤差量ERRが算出される。すなわち、ERR SUM>THである場合には、上述したように注目画素の濃度値は255に変換されるため、ERR=255−ERR SUMとなる。また、ERR SUM≦THである場合には、注目画素の濃度値は0に変換されるため、ERR=ERR SUMとなる。こうして算出された誤差量ERRは、乗算器703A〜703Lへ送られる。同時に、各乗算器703A〜703Lには誤差拡散処理テーブルに対応する拡散係数W A〜W Lが与えられ、誤差量ERRとそれぞれの拡散係数W A〜W Lとの積が計算される。
ここで、誤差量ERRと拡散係数との乗算値は、拡散誤差の大きさを示し、乗算器703A〜703Lのそれぞれに接続されたデコーダ704A〜704Lに入力される。また、誤差量ERRは、ERR SUM>THの場合、ERR SUM≦THの場合の何れにおいても0以上の値となるが、ERR SUM>THの場合には、注目画素における濃度値が255に変換されることにより、その濃度値は増加することとなる。逆に、ERR SUM≦THの場合には、注目画素における濃度値は減少する。
したがって、画像全体の濃度を維持するためには、ERR SUM>THの場合には拡散誤差は負の値とする必要があり、誤差量算出部702より各デコーダ704A〜704Lに符号信号SIGN=0が与えられる。0であるSIGNは、拡散誤差の符号が負であることを示し、このとき、各デコーダ704A〜704Lは、誤差量ERRと拡散係数との乗算値の符号を負として、拡散誤差E A〜E Lを出力する。一方、ERR SUM≦THの場合には、誤差量算出部702より各デコーダ704A〜704Lに符号信号SIGN=1が与えられる。1であるSIGNは、拡散誤差の符号が正であることを示し、このとき、各デコーダ704A〜704Lは、誤差量ERRと拡散係数との乗算値の符号を正として、拡散誤差E A〜E Lを出力する。これらの拡散誤差E A〜E Lは、注目画素に対して図8に示すようなマトリクス配列を形成する。
上述のようにして求まった拡散誤差は、注目画素の周囲の画素に振りまかれ、順次移動する注目画素の濃度値ERR SUMが変化する。この注目画素の濃度値ERR SUMを求める演算手順について、図9、図10〜12、図13及び図14,15を参照して説明する。
図9は、注目画素の濃度値を演算するための濃度値演算回路の構成を示す図である。濃度値演算回路は、加算器901A〜901Kと、フリップフロップ(FF)902A〜902Lと、加算器903と、ラインメモリ(FIFO)904,905と、リミッタ906,907と、フリップフロップ(FF)908〜912と、四捨五入回路913とを備えている。
フリップフロップ902A〜902Kは、図7に示す前述した拡散誤差演算回路によって算出された拡散誤差E A〜E Kのそれぞれを加算器901A〜901Kを介して格納する。また、フリップフロップ902Lは、拡散誤差E Lを加算器を介さずに直接格納する。ラインメモリ904,905は、後述する拡散誤差ブロック1001の移動に伴ってそこからはみ出た拡散誤差のデータを格納する。四捨五入回路913は、前段のフリップフロップ902Aのデータを四捨五入して、その四捨五入結果を加算器903ヘ出力する。加算器903は、この四捨五入結果と、フリップフロップ908〜910を介して入力された原画像における初期濃度値IDINとを加算し、その加算結果を濃度値ERR SUMとして出力する。
以下、このような構成をなす濃度値演算回路の動作について説明する。まず、第1番目の注目画素(原画像における左上隅画素)について、図7に示した拡散誤差演算回路によってこの注目画素に対する拡散誤差E A〜E Lが算出される。算出された拡散誤差E A〜E Lは、概念的には図10〜12に示すような拡散誤差ブロック1001に格納されることとなる。
ここで、拡散誤差ブロック1001は、誤差拡散処理テーブルと同サイズのマトリクスで表されるものであり、拡散誤差の累積加算及びその加算結果(累積結果)の保存を行うためのものである。すなわち、第1番目の注目画素について拡散誤差E A〜E Lが算出されると、これらの拡散誤差は、図10に示すように、拡散誤差ブロック1001に格納される。尚、図10の表記において、例えば、E1Aは、第1番目の注目画素に対する拡散誤差E Aを意味している。
これを図9に示す濃度値演算回路において説明すると以下のようになる。図7に示す拡散誤差演算回路によって算出された拡散誤差E A〜E Kのそれぞれは、加算器901A〜901Kを介してフリップフロップ902A〜902Kに格納される。また、拡散誤差E Lは加算器を介さずに直接フリップフロップ902Lに格納される。このとき、フリップフロップ902A〜902Lに格納されている値が、図13に示すマトリクス配列となって拡散誤差ブロック1001をなすものとする。
次いで、第2番目の注目画素に移って拡散誤差が算出される際には、図11に示すように、注目画素の移動に伴って拡散誤差ブロック1001も1列分だけ移動する。そして、移動された拡散誤差ブロック1001において、第2番目の注目画素に対して算出された拡散誤差が加算される。尚、上記図11の表記において、例えば、拡散誤差ブロック1001の4列目のデータを例にとると、その表記の意味は以下の数1によって示される。
これを図9に示す濃度値演算回路において説明すると以下のようになる。すなわち、拡散誤差ブロック1001が1列分移動することは、拡散誤差ブロック1001内に格納されているデータが拡散誤差ブロック1001の移動方向と逆の方向に1列分移動することと同じであり、例えば、第1番目の注目画素に対する拡散誤差E Bは、フリップフロップ902Bの位置からフリップフロップ902Aの位置に移動することとなる(図13参照)。
また、拡散誤差ブロック1001には、同時に第2番目の注目画素に対するE A〜E Lが格納されるため、図11における拡散誤差ブロック1001のフリップフロップ902Aの位置を例にとると、ここには、第1番目の注目画素に対する拡散誤差E Bと第2番目の注目画素に対する拡散誤差E Aとの加算値が格納される。すなわち、図9に示す濃度値演算回路においては、例えば、フリップフロップ902Bに格納されているデータ(第1番目の注目画素に対する拡散誤差E B)と第2番目の注目画素に対する拡散誤差E Aとが加算器901Aに入力されて、これらの加算値がフリップフロップ902Aに送られる。
また、図10に示す拡散誤差ブロック1001においてフリップフロップ902Aに対応する位置の画素は、図11に示す拡散誤差ブロック1001においては注目画素の位置となる。したがって、フリップフロップ902Aに格納されているデータは、原画像におけるこの注目画素の初期濃度値IDINと加算器903において加算され、濃度値ERR SUMとして出力される。こうして出力された濃度値ERR SUMが、図7に示す拡散誤差演算回路の比較器701において閾値と比較されて2値化されることは、前述した通りである。
さらに、拡散誤差ブロック1001が移動することによって、拡散誤差ブロック1001からはみ出すデータは、ラインメモリ904,905に送られて格納される。すなわち、図10に示す拡散誤差ブロック1001においてその1列目にある拡散誤差E C,E Hが、図11においては、ラインメモリ904,905にそれぞれ格納される。これは、図9に示す濃度値演算回路においては、フリップフロップ902Hにおけるデータがラインメモリ905に送られ、フリップフロップ902Cにおけるデータがラインメモリ904に送られることを示している。尚、ラインメモリ904,905において格納可能なデータの個数は、原画像の列数をn、拡散誤差ブロック1001の列数をmとした場合、n−mとなる。
第3番目の注目画素に移って拡散誤差を算出する場合にも、各フリップフロップに格納されているデータの移動、及びこの注目画素に対して算出された拡散誤差の加算が同様に行われ、拡散誤差ブロック1001、ラインメモリ904,905に格納されるデータは図12に示すようになる。
こうした演算を繰り返すことにより、t番目の注目画素においては、拡散誤差ブロック1001、ラインメモリ904,905に格納されるデータは図14に示すようになる。但し、t≧2n+2であり、この場合の注目画素は原画像においては3行2列目以降となる。尚、図14における表記において、例えば、拡散誤差ブロック1001の1行4列目のデータを例にとると、その表記の意味は以下の数2によって示される。
上述したような誤差拡散処理は、実際には原画像の全ての画素について行われるものであるが、3行2列目よりも前の画素を注目画素としている時点では、ラインメモリ904,905に格納可能な最大数分までデータが格納されていない。例えば、原画像の1行1列目の画素を注目画素とする処理時には、ラインメモリ904,905の何れにもデータが格納されていないので、ラインメモリ904,905から拡散誤差ブロック1001にフィードバックされる誤差値は0である。
原画像における3行2列目以降の画素を注目画素としている時点では、ラインメモリ904,905の両方において、データが格納可能な最大数分まで格納されている。したがって、この時点から次の注目画素に移る際には、ラインメモリ904,905において最も早く入力されたデータが読み出されて、拡散誤差ブロック1001にフィードバックされる。これは、図9に示す濃度値演算回路においては、ラインメモリ905から読み出されたデータがフリップフロップ911及び加算器901Gを介してフリップフロップ902Gに送られ(ここで、注目画素に対する拡散誤差E Gが加算される)、ラインメモリ904から読み出されたデータがフリップフロップ912及び加算器901Bを介してフリップフロップ902Bに送られる(ここで、注目画素に対する拡散誤差E Bが加算される)ことを示している。
図15は、上記図7に示した拡散誤差演算回路と上記図9に示した濃度値演算回路とを結合した誤差拡散処理装置の構成を示す図である。図15において、図7または図9と同様の部材には同一番号を付している。また、図15では、以降の説明を簡単化するために本願の発明に直接関係しない部材については簡略化して図示している。
具体的に、図7に関しては、拡散誤差E Aを求める乗算器703A及びデコーダ704AをまとめてCWA707とブロック化し、同じく拡散誤差E Bを求める乗算器703B及びデコーダ704BをまとめてCWB708とブロック化し、残りの拡散誤差を求める乗算器703C〜703L及びデコーダ704C〜704Lをまとめて2,3ライン後誤差演算部709とブロック化している。また、図9に関しては、1ライン前及び2ライン前からの誤差拡散結果を取得するための回路部分をまとめてFIFO入出力誤差演算部920とブロック化している。
ここで、本発明の参考として、入力画像において相隣する2画素、つまり入力画像における主走査方向に連続する2画素を同時に(同じクロックに同期して)処理するようにした誤差拡散処理装置について説明する。図16は、このような誤差拡散処理装置の構成を示す図である。この図16に示す誤差拡散処理装置では、連続する2画素(相隣する2画素)を同じタイミングで入力して並列処理するため、図15の回路構成を2つ並設する構成とし、さらに演算結果から得られた誤差拡散結果を互いの演算に相互に利用し合う構成となる。なお、図16において、図15と同様の部材には同一の算用番号を付しており、また、2つの系統を区別するために、各部材にはaまたはbの符号を付している。
図17は、本発明に係る誤差拡散処理装置の構成を示す図である。本発明の誤差拡散処理装置にあっては、入力画像における主走査方向の1画素おきの2画素、言い換えると入力画像における主走査方向の奇数番目同士の2画素または偶数番目同士の2画素を、同時に(同じクロックに同期して)処理する。
図17において、図15と同様の部材には同一の算用番号を付しており、また、2つの系統を区別するために、各部材にはaまたはbの符号を付している。図17の構成を図16の構成と比較した場合、CWAa707a及びCWBa708aの配置順序が逆であり、CWAb707b及びCWBb708bの配置順序も逆になっている。
本発明の誤差拡散処理装置では、CWAb707bと加算器901Abとの間にセレクタ921が設けられている。セレクタ921には、CWAb707bの出力値及び”0”値とが入力され、セレクト信号SIG Aの”High”,”Low”に応じて、セレクタ921は、何れか一方の入力値を加算器901Abへ出力する。また、CWAb707bと加算器931との間にはセレクタ922が設けられている。セレクタ922には、CWAb707bの出力値及び”0”値とが入力され、セレクト信号SIG Bの”High”,”Low”に応じて、セレクタ922は、何れか一方の入力値を加算器931へ出力する。また、CWBb708bと加算器931との間には、フリップフロップ(FF)932が設けられている。
図18は、本発明の誤差拡散処理装置におけるタイミングチャートを示す図である。図18にあっては、動作の基準となるクロック(CLK)と、IDIN1(フリップフロップ910a)への入力画素(IDIN1)と、IDIN2(フリップフロップ910b)への入力画素(IDIN2)と、イネーブル信号(ENABLE)と、セレクト信号(SIG A)と、セレクト信号(SIG B)とを示している。
IDIN1(フリップフロップ910a)には、1番目の画素(pix1),2番目の画素(pix2),5番目の画素(pix5),6番目の画素(pix6),9番目の画素(pix9),10番目の画素(pix10),・・・の順にデータが入力され、IDIN2(フリップフロップ910b)には、3番目の画素(pix3),4番目の画素(pix4),7番目の画素(pix7),8番目の画素(pix8),11番目の画素(pix11),12番目の画素(pix12),・・・の順にデータが入力される。このように、4個の画素を単位として周期的な画素データの入力が行われる。
各セレクタ921,922は、各セレクト信号SIG A,SIG Bが”Low”である場合にCWAb707bの出力値を選択し、各セレクト信号SIG A,SIG Bが”High”である場合に”0”値を選択する動作を行う。
このような動作によって、1画素おきの2画素(奇数番目同士の2画素または偶数番目同士の2画素)を注目画素とした誤差拡散演算を1つのクロックで行う。但し、図17に示す回路構成から明らかなように、入力される1単位の注目画素4画素のうちの1画素については、相隣する画素への誤差振りまきが3画素先への誤差振りまきに変更されることになる。
本発明では、同時に2画素の処理を行うため、図15の構成に比較して処理速度は速くなる。また、演算処理の更なる高速化を目指した工夫を、図17の回路構成に施している。参考例として示した図16の回路では、CWAa707aでの誤差振りまき演算は、FF705aを介さずに行う構成となっているが、本発明の図17に示す回路では、FF705aを介した後にCWAa707aでの誤差振りまき演算を実行する構成となっている。そして、FF705aを介さない誤差振りまき演算を行う部材が、CWAa707aからCWBa708aに変更されている。
このような回路構成により、本発明では、1画素おきの2画素(奇数番目同士の2画素または偶数番目同士の2画素)を注目画素とした誤差拡散演算を行うのと同じクロックにて、その注目画素に相隣する画素における誤差拡散結果を求めるのではなく、次のクロックにてその誤差拡散結果を求めている。また、その同じクロックにて、その注目画素から2つ隣の画素における誤差拡散結果を求めている。
一般的に、図2に示されているように、演算された誤差を周囲画素へ割り振る割合(乗じるべき拡散係数)は注目画素に近い画素ほど大きくなる。よって、注目画素に相隣する画素よりも2つ隣の画素の方が拡散係数は小さくなる。そこで、本発明では、注目画素に相隣する画素における誤差拡散結果は次のクロックにて求め、注目画素の2つ隣の画素における誤差拡散結果は同じクロックにて求めるようにしている。この結果、1クロック内で行わなければならない演算量を少なくできて、演算処理の高速化を図ることができる。
707a CWAa
708a CWBa
707b CWAb
708b CWBb
705a,705b,932 フリップフロップ
921,922 セレクタ
931 加算器
708a CWBa
707b CWAb
708b CWBb
705a,705b,932 フリップフロップ
921,922 セレクタ
931 加算器
Claims (4)
- 入力画像の各画素の濃度値変換を行う際に、前記入力画像の1画素おきの2画素それぞれを注目画素とした誤差拡散演算を同じクロックに同期して行うこととし、前記2画素における誤差拡散演算から得られる誤差拡散結果を互いの誤差拡散演算に使用し合う誤差拡散処理装置であって、
前記注目画素についての誤差拡散演算から得られる前記注目画素に相隣する画素における誤差拡散結果を、前記クロックの次のクロックに同期して求める手段を備えることを特徴とする誤差拡散処理装置。 - 前記注目画素についての誤差拡散演算から得られる前記注目画素の2つ隣の画素における誤差拡散結果を、前記クロックに同期して求める手段を備えることを特徴とする請求項1記載の誤差拡散処理装置。
- 入力画像の各画素の濃度値変換を行う際に、前記入力画像の1画素おきの2画素それぞれを注目画素とした誤差拡散演算を同じクロックに同期して行うこととし、前記2画素における誤差拡散演算から得られる誤差拡散結果を互いの誤差拡散演算に使用し合う誤差拡散処理方法であって、
前記注目画素についての誤差拡散演算から得られる前記注目画素に相隣する画素における誤差拡散結果を、前記クロックの次のクロックに同期して求めることを特徴とする誤差拡散処理方法。 - 前記注目画素についての誤差拡散演算から得られる前記注目画素の2つ隣の画素における誤差拡散結果を、前記クロックに同期して求めることを特徴とする請求項3記載の誤差拡散処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008214588A JP2010050846A (ja) | 2008-08-22 | 2008-08-22 | 誤差拡散処理装置及び誤差拡散処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008214588A JP2010050846A (ja) | 2008-08-22 | 2008-08-22 | 誤差拡散処理装置及び誤差拡散処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010050846A true JP2010050846A (ja) | 2010-03-04 |
Family
ID=42067550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008214588A Pending JP2010050846A (ja) | 2008-08-22 | 2008-08-22 | 誤差拡散処理装置及び誤差拡散処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010050846A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013255028A (ja) * | 2012-06-05 | 2013-12-19 | Canon Inc | 画像処理方法及び画像処理装置 |
-
2008
- 2008-08-22 JP JP2008214588A patent/JP2010050846A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013255028A (ja) * | 2012-06-05 | 2013-12-19 | Canon Inc | 画像処理方法及び画像処理装置 |
US9111354B2 (en) | 2012-06-05 | 2015-08-18 | Canon Kabushiki Kaisha | Image processing method and image processing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090085846A1 (en) | Image processing device and method performing motion compensation using motion estimation | |
JPH06295338A (ja) | 画像生成方法 | |
JP2010050846A (ja) | 誤差拡散処理装置及び誤差拡散処理方法 | |
JP4906784B2 (ja) | 誤差拡散処理装置及び誤差拡散処理方法 | |
US8879864B2 (en) | Generating sub-frame images for driving display | |
JP2009146190A (ja) | 画像処理装置 | |
EP0700196A2 (en) | Method and apparatus for image scaling using parallel incremental interpolation | |
JP7245058B2 (ja) | データ処理装置及びデータ処理方法 | |
JP2005293361A (ja) | 画像処理装置 | |
JP2008181081A (ja) | 画像表示装置の駆動装置 | |
JP2006201914A (ja) | 画像フィルタ装置、方法およびコンピュータプログラム | |
JP7007000B1 (ja) | 画像処理装置および画像処理方法 | |
JP2003283829A (ja) | 画像処理装置および方法 | |
JP2009049752A (ja) | 映像信号処理装置、映像信号処理方法、及び表示装置 | |
JP2005323009A (ja) | 画像処理装置および画像処理方法 | |
US9007659B1 (en) | Re-ordered error diffusion for fast implementation | |
JP2008135851A (ja) | 画像処理装置及び画像形成装置 | |
JP4767568B2 (ja) | 誤差拡散回路 | |
JPH1117931A (ja) | 画素密度変換装置 | |
US20100183234A1 (en) | Apparatus, method, and program | |
JP2008058382A (ja) | 表示装置の駆動回路及び画像データ変換方法 | |
JP2004260770A (ja) | 画像処理方法および画像処理装置 | |
JP2000138904A (ja) | 画像情報変換装置および変換方法 | |
JP5554215B2 (ja) | 変換装置および変換方法 | |
JP2691582B2 (ja) | 画素密度変換装置及びその方法 |