(57)【要約】【課題】誤差分散法を用いて効率良く量子化処理を行なう画像処理方法、及び効率良く量子化処理を行なう小型の回路を備える画像処理装置を提供する。【解決手段】ＦＩＦＯ１０２に格納してある累積誤差を所定の比率で分割してなる第１分割誤差を第１累積誤差算出部１１１へ入力し、第１分割誤差と分散誤差とを加算された多値階調値を２値階調値に変換する。また、第２分割誤差を遅延部１０８へ入力して、第２累積誤差算出部１１２及び第３累積誤差算出部１１３から、分散誤差を累積した累積誤差が夫々出力されるまで遅延し、累積誤差と第２分割誤差とを加算してなる累積誤差をＦＩＦＯ１０２に格納する。【選択図】　　　　図６
2004048514.tif 000002
【特許請求の範囲】
【請求項１】
原画像を、該原画像の階調数より少ない階調数の画像に変換すべく、
画素毎に、入力された階調値と所定の閾値とを比較し、前記階調値を、比較結果に応じた階調値に変換し、
変換した階調値と変換前の階調値との誤差を算出し、
算出された誤差に、所定の個数の分散係数を夫々乗じて前記誤差を前記個数に分散させ、
累積誤差を格納する複数の格納手段を用い、累積誤差に、分散させた誤差を加算して新たな累積誤差を算出して格納手段に格納し、所定の格納手段に格納された累積誤差を出力し、
入力された累積誤差を順に格納し、格納した順に前記累積誤差を出力する誤差格納メモリを用いる画像処理方法において、
前記誤差格納メモリから出力された累積誤差を、所定の比率で第１分割誤差と第２分割誤差とに分割し、
該第２分割誤差を遅延させ、
遅延させた第２分割誤差と、前記誤差格納メモリに格納すべき累積誤差とを加算して前記誤差格納メモリに格納し、
前記第１分割誤差、又は前記第１分割誤差及び分散させた誤差に、各画素の階調値を加算して、該画素の新たな階調値を算出し、算出した階調値と所定の閾値とを比較し、前記階調値を、比較結果に応じた階調値に変換することを特徴とする画像処理方法。
【請求項２】
原画像を、該原画像の階調数より少ない階調数の画像に変換すべく、
画素毎に、入力された階調値と所定の閾値とを比較し、前記階調値を、比較結果に応じた階調値に変換する処理を繰り返す階調値変換手段と、
変換した階調値と変換前の階調値との誤差を算出する誤差算出手段と、
算出された誤差に、所定の個数の分散係数を夫々乗じて前記誤差を前記個数に分散させる誤差分散手段と、
累積誤差を格納する複数の格納手段、及び、累積誤差に、分散させた誤差を加算して新たな累積誤差を算出して格納手段に格納する手段を有し、所定の格納手段に格納された累積誤差を出力する累積誤差算出手段と、
入力された累積誤差を順に格納し、格納した順に前記累積誤差を出力する誤差格納メモリと
を備える画像処理装置において、
前記誤差格納メモリから出力された累積誤差を、所定の比率で第１分割誤差と第２分割誤差とに分割する分割手段と、
前記第１分割誤差、又は前記第１分割誤差及び前記誤差分散手段で分散させた誤差に、各画素の階調値を加算して、該画素の新たな階調値を算出し、算出した階調値を前記階調値変換手段へ入力する手段と、
前記第２分割誤差を遅延させる遅延手段と、
該遅延手段で遅延させた第２分割誤差と、前記累積誤差算出手段から出力された累積誤差とを加算して前記誤差格納メモリに格納する手段と
を備えることを特徴とする画像処理装置。
【請求項３】
前記誤差格納メモリはＦＩＦＯメモリを用いてなることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
累積誤差を分割する比率を取得する手段と、取得された比率を前記分割手段へ入力する手段とを更に備えることを特徴とする請求項２に記載の画像処理装置。
【請求項５】
累積誤差を分割する比率を複数記憶する手段と、記憶された比率の中から前記分割手段へ入力すべき比率を選択する手段と、選択された比率を前記分割手段へ入力する手段とを更に備えることを特徴とする請求項２に記載の画像処理装置。
【請求項６】
累積誤差を分割する比率を取得する手段と、累積誤差を分割する比率を複数記憶する手段と、取得した比率及び／又は記憶された比率の中から前記分割手段へ入力すべき比率を選択する手段と、選択された比率を前記分割手段へ入力する手段とを更に備えることを特徴とする請求項２に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、誤差拡散法を用いて原画像を量子化する画像処理方法及び画像処理装置に関する。
【０００２】
【従来の技術】
従来、原画像を、該原画像の階調数より少ない階調数の画像に変換する（量子化する）場合、中間調の再現性を向上すべく、誤差拡散法を用いることがあった。誤差拡散法は、原画像が有する各画素の階調値と、変換後の画像が有する各画素の階調値との差を誤差とし、該誤差を前記画素の近傍に位置する画素へ適宜に分散させることによって、画像全体の階調値の累積的な誤差を略０にし、量子化することによる画像の変化が人間にとって目障りにならないようにして、画質の低下を抑制する。
【０００３】
以下では、各画素を量子化する場合に、一の画素を注目画素として量子化し、このとき生じた誤差を、該注目画素の近傍に位置する８個の画素へ分散させる場合を例示する。なお、一般に、誤差を分散させる画素の個数が多いほど良好な画質が得られる。
また、以下では、多値の画像データ（例えば階調値が０〜２５５の値を有する画像データ。以下、多値画像データと言う）を、２値の画像データ（例えば階調値が０又は２５５の画像データ。以下、２値画像データと言う）に変換する場合を例示するが、多値画像データ（この場合８ビット）を、該多値画像データの階調数以下の階調数（例えば４ビット）の多値画像データに変換する場合であっても良い。
なお、２値画像データの階調値０は２値化データの０、階調値２５５は２値化データの１に相当する。
【０００４】
図１２及び図１３は、誤差拡散方法の説明図である。一の画素を注目画素とし、該注目画素の階調値を所定の閾値（例えば１２８）と比較し、閾値以上の場合は階調値を２５５に変換し、閾値未満の場合は階調値を０に変換する処理を行ない、次いで、ラスタ走査方向へ注目画素を移動させて（注目画素をラスタ走査方向の次の画素に変更して）前記処理を繰り返す。
図１２（ａ）及び（ｂ）並びに図１３（ｂ）は、画像を構成する画素を模式的に示した図であり、図１２（ａ）は、１行１列目の画素（階調値１２９）を注目画素とした場合を示している。このとき、注目画素で生じた誤差を分散させるべき該注目画素近傍の画素は、１行２列目及び３列目、２行１列目〜３列目、並びに３行１列目〜３列目の画素８個である。
【０００５】
注目画素の階調値と閾値とを比較した場合、階調値１２９≧閾値１２８であるため、階調値を２５５に変換する（図１２（ｂ））。このとき生じる誤差は、２５５−１２９＝１２６である。注目画素は、階調値１２９よりも大きい階調値２５５に変換されたため、画像全体の階調値の累積的な誤差を略０にすべく、注目画素近傍の画素の階調値から、誤差１２６分の階調値を減算するようにして誤差を分散させる。
【０００６】
前記画素８個へ誤差を分散させる場合、例えば図１２（ｃ）のような３行３列の誤差分散マトリクスを用いる。誤差分散マトリクスは、注目画素が位置するラインの２個の画素と、該ラインの次ライン及び次々ライン夫々の３個の画素とに対応する個数（この場合８個）の分散係数を有し、全分散係数（８個の分散係数）の和が１となるように、予め定められている。このような誤差分散マトリクスは、誤差分散法を用いて量子化する画像処理装置の記憶手段（ＲＯＭ又はＲＡＭ等）に記憶される。
【０００７】
図１３（ａ）は、誤差分散マトリクスを用いて、注目画素近傍の画素に対して分散させた誤差（以下、分散誤差と言う）と、前記注目画素より前に量子化された画素で生じた誤差の分散誤差を累積してなる累積誤差とを加算してなる累積誤差を示している。該累積誤差は、前記注目画素（この場合１行１列目の画素）より前に量子化された画素がないため、前記分散誤差に等しい。即ち、該累積誤差は、前記分散誤差に累積誤差０が加算されてなる累積誤差である。
このような累積誤差のデータは、前記画像処理装置が備える量子処理部の８個の格納手段（例えばデータレジスタ）に一時的に格納される。
【０００８】
図１３（ｂ）は、１行１列目の画素を注目画素とした量子化処理の終了後、注目画素を１行２列目の画素に移動させたことを示している。このとき、注目画素で生じた誤差を分散させるべき該注目画素近傍の画素は、１行３列目及び４列目、２行２列目〜４列目、並びに３行２列目〜４列目の画素８個である。また、このとき、注目画素の階調値は、階調値１２９に累積誤差−３２が加算されて９７になる。
注目画素の階調値と閾値とを比較した場合、階調値９７＜閾値１２８であるため、階調値を０に変換する（図示せず）。このとき生じる誤差は、９７−０＝９７である。注目画素は、階調値９７よりも小さい階調値０に変換されたため、画像全体の階調値の累積的な誤差を略０にすべく、注目画素近傍の画素の階調値に、誤差９７分の階調値を加算するようにして誤差を分散させる。
【０００９】
図１３（ｃ）は、誤差分散マトリクスを用いて、注目画素近傍の画素に対する誤差と、前記注目画素より前に量子化された画素で生じた誤差の分散誤差を累積してなる累積誤差とを加算してなる累積誤差を示している。即ち、１行３列目、２行２列目及び３列目、並びに３行２列目及び３列目の画素に対する累積誤差は、１行１列目の画素を量子化して生じた各累積誤差と、注目画素（１行２列目の画素）を量子化して生じた各分散誤差とが夫々加算されてなる累積誤差である。１行〜３行４列目の画素に対する累積誤差は、まだ他の画素で生じた誤差が前記画素へ分散されていないため、前記分散誤差に等しい（注目画素で生じた誤差に累積誤差０が加算されてなる累積誤差である）。
【００１０】
また、２行１列目及び３行１列目の画素は、注目画素（この場合１行２列目の画素）で生じた誤差を分散されない画素であるため、２行１列目及び３行１列目の画素に対する累積誤差は、前記データレジスタから出力されて、画像処理装置が備える誤差格納メモリ（例えばＦＩＦＯメモリ）に格納される。このため、従来の画像処理装置は、２個のＦＩＦＯメモリ（次ライン、この場合２行目の各画素に対する累積誤差を格納するＦＩＦＯメモリと、次々ライン、この場合３行目の各画素に対する累積誤差を格納するＦＩＦＯメモリと）を備える。
【００１１】
図１４は、従来の画像処理装置が備える量子化処理部４０の構成を模式的に示すブロック図である。
図中１０１は量子化制御部であり、量子化制御部１０１は、図示しないバスを介して量子化処理部４０の各部に接続され、画像処理装置の主制御部が送信する各種の信号を受信し、該信号に応じて前記各部を制御する。
前記主制御部は、１画素分の多値画像データ（０〜２５５の多値階調値）を量子化処理部４０へ入力し、このとき、量子化制御部１０１へ画像有効信号を送信する。量子化制御部１０１は、画像有効信号を受信した時、注目画素の多値画像データが有効になったと判定し、入力された多値画像データ（多値階調値）と累積誤差とを加算してなる階調値を、２値画像データ（０又は２５５の２値階調値）に変換して出力し、このとき生じた誤差を分散する。
【００１２】
また、量子化制御部１０１は、画像有効信号を受信した時、第１ＦＩＦＯ１０２ａ、第２ＦＩＦＯ１０２ｂ、第１累積誤差算出部１１１、第２累積誤差算出部１１２、及び第３累積誤差算出部１１３へ夫々制御信号を送信して、累積誤差の移動及び算出を行なわせる。
第１累積誤差算出部１１１、第２累積誤差算出部１１２、及び第３累積誤差算出部１１３は、夫々データレジスタ１１１Ａ，１１１Ｂ、データレジスタ１１２Ｃ，１１２Ｄ，１１２Ｅ、及びデータレジスタ１１３Ｆ，１１３Ｇ，１１３Ｈを備える。
【００１３】
データレジスタ１１１Ａに格納された累積誤差は、注目画素の多値階調値（入力された多値画像データの多値階調値）に加算される。
このとき、データレジスタ１１２Ｃ（データレジスタ１１３Ｆ）に格納された累積誤差は、該データレジスタ１１２Ｃ（データレジスタ１１３Ｆ）から出力されて、第１ＦＩＦＯ１０２ａ（第２ＦＩＦＯ１０２ｂ）へ入力される。次いで、データレジスタ１１１Ｂ，１１２Ｄ，１１２Ｅ，１１３Ｇ，１１３Ｈに格納された累積誤差は、データレジスタ１１１Ａ，１１２Ｃ，１１２Ｄ，１１３Ｆ，１１３Ｇに格納され、注目画素で生じた分散誤差が加算されて、新たな累積誤差となる。次いで、データレジスタ１１１Ｂ（データレジスタ１１２Ｅ）に、第１ＦＩＦＯ１０２ａ（第２ＦＩＦＯ１０２ｂ）から出力された累積誤差が入力され、入力された累積誤差に、注目画素で生じた分散誤差が加算されて、新たな累積誤差となる。更に、データレジスタ１１３Ｈには、対応する累積誤差がないため、分散誤差が、新たな累積誤差として格納される。
【００１４】
以上のような画像処理装置は、誤差を分散する画素の範囲が３列以上のラインにわたる場合（Ｍ行Ｎ列の誤差分散マトリクスのＮがＮ≧３である場合）、２個以上（Ｎ−１個）のＦＩＦＯメモリを備える必要がある。このため、誤差を分散する画素の範囲が３列以上のラインにわたる場合であっても１個のＦＩＦＯメモリで同様の量子化処理を行なうべく、特開２００１−３０９１７２号公報に開示された誤差拡散処理装置が提案されている。
該誤差拡散処理方法及び誤差拡散処理装置に対応する画像処理装置では、データレジスタ１１２Ｃ及びデータレジスタ１１３Ｆから出力された２個の累積誤差を加算して新たな累積誤差を算出し、算出した累積誤差をＦＩＦＯメモリに格納する。また、ＦＩＦＯメモリから出力された累積誤差を、分割部で適宜分割して、第１分割誤差と第２分割誤差とを算出し、算出した第１分割誤差及び第２分割誤差をデータレジスタ１１１Ｂ及びデータレジスタ１１２Ｅへ入力する。
【００１５】
図１５は、前記画像処理装置が備える量子化処理部５０の構成を模式的に示すブロック図である。
図中１０１は量子化制御部であり、量子化制御部１０１は、図示しないバスを介して量子化処理部５０の各部に接続され、画像処理装置の主制御部が送信する各種の信号を受信し、該信号に応じて前記各部を制御する。
前記主制御部は、１画素分の多値画像データを量子化処理部５０へ入力し、このとき、量子化制御部１０１へ画像有効信号を送信する。量子化制御部１０１は、画像有効信号を受信した時、注目画素の多値画像データが有効になったと判定し、入力された多値画像データと累積誤差とを加算してなる階調値を、２値画像データに変換して出力し、このとき生じた誤差を分散する。
【００１６】
また、量子化制御部１０１は、画像有効信号を受信した時、ＦＩＦＯ１０２、分割部１６０、第１累積誤差算出部１１１、第２累積誤差算出部１１２、及び第３累積誤差算出部１１３へ夫々制御信号を送信して、累積誤差の移動及び算出を行なわせる。
データレジスタ１１１Ａに格納された累積誤差は、注目画素の多値階調値に加算される。
このとき、データレジスタ１１２Ｃ及びデータレジスタ１１３Ｆに格納された２個の累積誤差は、該データレジスタ１１２Ｃ及びデータレジスタ１１３Ｆから出力されて、加算器１０７へ入力される。次いで、加算器１０７で前記２個の累積誤差を加算してなる新たな累積誤差が、ＦＩＦＯ１０２へ入力される。
【００１７】
また、ＦＩＦＯ１０２に格納されていた累積誤差が該ＦＩＦＯ１０２から出力され、分割部１６０へ入力される。次いで、分割部１６０で、入力された累積誤差を適宜の比率で２個に分割し、第１分割誤差と第２分割誤差とを算出して出力する。次いで、データレジスタ１１１Ｂ（データレジスタ１１２Ｅ）に、分割部１６０から出力された第１分割誤差（第２分割誤差）を累積誤差として入力し、入力された累積誤差夫々に、分散誤差が加算されて、新たな累積誤差となる。
【００１８】
以上のような画像処理装置は、誤差を分散する画素の範囲がＮ行のラインにわたる場合であっても、データレジスタから出力されるＮ−１個の累積誤差を加算して１個の累積誤差となし、該１個の累積誤差をＦＩＦＯメモリに格納するため、Ｎ−１個以上のＦＩＦＯメモリを備える必要がない。また、ＦＩＦＯメモリが１個で良いため、演算回数が減少する。更に、分割部１６０で累積誤差を分割する適宜の比率を用いることによって、Ｎ−１個のＦＩＦＯメモリを備える従来の画像処理装置で行なった量子化処理と同様の計算程度を得ることができる。
【００１９】
【発明が解決しようとする課題】
しかしながら、１個のＦＩＦＯメモリを備える従来の画像処理装置（図１５）では、データレジスタ１１２Ｅへ、該データレジスタ１１２Ｅへ分散された分散誤差と分割部１６０から出力された第２分割誤差とを入力して加算するため、第２累積誤差算出部１１２で算出される累積誤差の桁数は、データレジスタ１１３Ｈへ、該データレジスタ１１３Ｈへ分散された分散誤差を入力する第３累積誤差算出部１１３で算出される累積誤差の桁数より大きくなる場合がある。例えば、分散誤差のみを加算する第３累積誤差算出部１１３では８ビットで累積誤差を計算できるが、第２累積誤差算出部１１２では、第２分割誤差と分散誤差とを加算することによって、９ビットで累積誤差を計算しなければならない場合がある。即ち、計算すべき桁数が増大するため、演算に要するゲートが増大し演算速度が低下するという問題があった。
【００２０】
本発明は、斯かる問題を解決するためになされたものであり、誤差格納メモリから出力された累積誤差を所定の比率で分割してなる第１分割誤差及び第２分割誤差の内、第２分割誤差を累積誤差算出手段へ入力せずに遅延させ、遅延させた第２分割誤差と、累積誤差算出手段から出力され、誤差格納メモリに格納すべき累積誤差とを加算することにより、演算速度を向上できる画像処理方法及び画像処理装置を提供することを目的とする。
本発明の他の目的は、誤差格納メモリとしてＦＩＦＯメモリを用いることにより、回路の構成を簡易にし、量子化処理を高速に行なえる画像処理装置を提供することにある。
本発明の更に他の目的は、誤差格納メモリから出力された累積誤差を分割させる比率を変化させることにより、量子化することによるモアレの発生を低減できる画像処理装置を提供することにある。
【００２１】
【課題を解決するための手段】
本発明に係る画像処理方法は、原画像を、該原画像の階調数より少ない階調数の画像に変換すべく、画素毎に、入力された階調値と所定の閾値とを比較し、前記階調値を、比較結果に応じた階調値に変換し、変換した階調値と変換前の階調値との誤差を算出し、算出された誤差に、所定の個数の分散係数を夫々乗じて前記誤差を前記個数に分散させ、累積誤差を格納する複数の格納手段を用い、累積誤差に、分散させた誤差を加算して新たな累積誤差を算出して格納手段に格納し、所定の格納手段に格納された累積誤差を出力し、入力された累積誤差を順に格納し、格納した順に前記累積誤差を出力する誤差格納メモリを用いる画像処理方法において、前記誤差格納メモリから出力された累積誤差を、所定の比率で第１分割誤差と第２分割誤差とに分割し、該第２分割誤差を遅延させ、遅延させた第２分割誤差と、前記誤差格納メモリに格納すべき累積誤差とを加算して前記誤差格納メモリに格納し、前記第１分割誤差、又は前記第１分割誤差及び分散させた誤差に、各画素の階調値を加算して、該画素の新たな階調値を算出し、算出した階調値と所定の閾値とを比較し、前記階調値を、比較結果に応じた階調値に変換することを特徴とする。
【００２２】
本発明に係る画像処理装置は、原画像を、該原画像の階調数より少ない階調数の画像に変換すべく、画素毎に、入力された階調値と所定の閾値とを比較し、前記階調値を、比較結果に応じた階調値に変換する処理を繰り返す階調値変換手段と、変換した階調値と変換前の階調値との誤差を算出する誤差算出手段と、算出された誤差に、所定の個数の分散係数を夫々乗じて前記誤差を前記個数に分散させる誤差分散手段と、累積誤差を格納する複数の格納手段、及び、累積誤差に、分散させた誤差を加算して新たな累積誤差を算出して格納手段に格納する手段を有し、所定の格納手段に格納された累積誤差を出力する累積誤差算出手段と、入力された累積誤差を順に格納し、格納した順に前記累積誤差を出力する誤差格納メモリとを備える画像処理装置において、前記誤差格納メモリから出力された累積誤差を、所定の比率で第１分割誤差と第２分割誤差とに分割する分割手段と、前記第１分割誤差、又は前記第１分割誤差及び前記誤差分散手段で分散させた誤差に、各画素の階調値を加算して、該画素の新たな階調値を算出し、算出した階調値を前記階調値変換手段へ入力する手段と、前記第２分割誤差を遅延させる遅延手段と、該遅延手段で遅延させた第２分割誤差と、前記累積誤差算出手段から出力された累積誤差とを加算して前記誤差格納メモリに格納する手段とを備えることを特徴とする。
【００２３】
本発明にあっては、階調値変換手段にて各画素を量子化し、量子化することによって生じる誤差を誤差算出手段で算出し、算出した誤差を、誤差分散手段にて所定の個数の分散係数を乗じることによって前記個数に分散させる。このようにして各画素に対して求めた分散誤差を、累積誤差算出手段で加算して累積誤差を算出し、出力する。
【００２４】
誤差格納メモリは、ＤＲＡＭ又はＦＩＦＯメモリ等を用いてなり、累積誤差算出手段から出力された累積誤差を格納する。本発明の画像処理装置においては、画像の２本以上のラインに対応する記憶容量の誤差格納メモリ、又は２個以上の誤差格納メモリを備える必要はなく、１本のラインに対応する記憶容量の誤差格納メモリ、又は１個の誤差格納メモリを備えれば良い。累積誤差算出手段から複数の累積誤差が出力される場合は、加算して１個の累積誤差となしてから誤差格納メモリに格納する。また、累積誤差が格納される場合に、誤差格納メモリから、該誤差格納メモリに格納されていた累積誤差の内、最も早く格納された累積誤差が出力される。
【００２５】
出力された累積誤差は、分割手段で第１分割誤差と第２分割誤差とに分割される。
第１分割誤差は、そのままの値を累積誤差となす（例えば、図１２の（ａ）にて、注目画素が１行３列目の画素であり、誤差を分散すべき画素が次ライン及び次々ラインに位置する計６個の画素である場合）か、又は該第１分割誤差と誤差分散手段で分散させた誤差とを加算してなる累積誤差を算出するかして、該累積誤差と、量子化すべき画素の階調値とを加算してなる新たな階調値を算出し、算出した階調値を階調値変換手段へ入力して、量子化する。
【００２６】
第２分割誤差は、従来は累積誤差算出手段へ入力されて、該第２分割誤差と分散誤差とを加算してなる累積誤差を累積誤差算出手段から出力し、誤差格納メモリに格納していたが、本発明においては、累積誤差算出手段へ入力せず、分散誤差のみを加算してなる累積誤差を累積誤差算出手段から出力し、出力された累積誤差と第２分散誤差とを加算してなる累積誤差を誤差格納メモリに格納する。このため、累積誤差算出手段で算出される累積誤差の桁数が、第２分割誤差を加算しない分だけ低減される。即ち、計算すべき数値の桁数を減少させるため、演算速度を向上させることができる。
また、第２分割誤差を累積誤差算出手段へ入力して該第２分割誤差と分散誤差とを加算してなる累積誤差を算出しない分、回路のゲート数が減少し、回路規模が小さくなり、チップ化した場合にもコストを低減することができる。
【００２７】
本発明に係る画像処理装置は、前記誤差格納メモリはＦＩＦＯメモリを用いてなることを特徴とする。
本発明にあっては、ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ　Ｆｉｒｓｔ−Ｏｕｔ）メモリに累積誤差を格納する。ＦＩＦＯメモリは、画像処理装置の誤差格納メモリとして一般的に用いられている。また、ＦＩＦＯメモリは、ＦＩＦＯメモリに対して外部から直接複雑なアドレスを入力する必要がなく、更に、データの読み出し又は書き込みを独立非同期に高速で行なうことができる。このため、公知のＦＩＦＯメモリを１個だけ用いて回路を簡易に構成することができ、更に、量子化処理の高速化を容易に行なうことができる。
【００２８】
本発明に係る画像処理装置は、累積誤差を分割する比率を取得する手段と、取得された比率を前記分割手段へ入力する手段とを更に備えることを特徴とする。本発明に係る画像処理装置は、累積誤差を分割する比率を複数記憶する手段と、記憶された比率の中から前記分割手段へ入力すべき比率を選択する手段と、選択された比率を前記分割手段へ入力する手段とを更に備えることを特徴とする。本発明に係る画像処理装置は、累積誤差を分割する比率を取得する手段と、累積誤差を分割する比率を複数記憶する手段と、取得した比率及び／又は記憶された比率の中から前記分割手段へ入力すべき比率を選択する手段と、選択された比率を前記分割手段へ入力する手段とを更に備えることを特徴とする。
【００２９】
本発明にあっては、累積誤差を分割する比率が固定されていないため、特に略同一の階調値が連続している画像を量子化することによって発生し易くなるモアレを低減することができ、画質を向上することができる。
例えば、誤差格納メモリから出力された累積誤差を分割させる比率を１個だけ記憶しておき、該比率を分離手段へ入力する場合は、回路をチップ化した後に、前記比率ではモアレが生じてしまうことがあっても画質の向上を図ることができない。しかしながら、前記比率を外部から取得する場合は、一の比率ではモアレが生じてしまうときに前記比率とは異なる他の比率を取得して用いることができるため、回路をチップ化した後も画質の向上を図ることができる。
【００３０】
また、比率を複数記憶しておき、量子化処理を行なう度に前記比率から１個の比率を選択して分離手段へ入力する場合は、一の比率を用いる場合にモアレを生じてしまうときであっても、前記比率とは異なる他の比率を選択して用いることができるため、回路をチップ化した後も画質の向上を図ることができる。また、画質を向上するためにユーザが比率を入力する必要がない。このため、ユーザの利便性を向上することができる。
また、比率を複数記憶しておき、更に、比率を取得して、記憶された比率及び取得した比率の中から１個の比率を選択して分離手段へ入力する場合は、モアレの発生を抑えるように比率を細かく調整することができるため、回路をチップ化した後も更に画質の向上を図ることができる。
【００３１】
【発明の実施の形態】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
本実施の形態においては、本発明の画像処理装置をコピー機に適用し、画像処理装置が備えるスキャナ部で原稿を読み取ってなるｍ行ｎ列の多値画像データを２値画像データに量子化する場合について説明するが、コピー機に限らず、ファクシミリ又は複合機等であっても良く、装置外部から送信された多値画像データを受信して量子化するプリンタ又は複合機等であっても良い。また、多値画像データを、該多値画像データより少ない階調数の多値画像データに量子化しても良い。
また、本実施の形態においては、ｍ行ｎ列の画像の各画素を注目画素とし、注目画素で生じた誤差を、３行３列の誤差分散マトリクスを用いて、注目画素近傍の画素８個へ分散させる場合を例示する。
【００３２】
本実施の形態では、多値画像データを量子化する画像処理装置において、多値画像データを量子化するための量子化手段と、量子化する際に発生した誤差を誤差格納メモリへ送る手段と、誤差格納データを第１の量子化誤差と第２の量子化誤差に分離する分離手段と、量子化手段での演算時間分データを遅延させる遅延手段と、第１の誤差データを量子化手段へ入力し、第２の誤差データを遅延手段へ入力する手段と、量子化手段よりの出力と遅延手段よりの出力を加算する手段と、上記加算する手段よりのデータを誤差格納メモリへ送る手段とを備えることを特徴とする画像処理装置を例示する。また、前記格納手段はＦＩＦＯにより構成されることを特徴とする。
【００３３】
更に、実施の形態１では、該画像処理手段は、上記分離手段の分離する比率を設定する手段をさらに備えることを特徴とし、実施の形態２では、分離手段の分離する比率を複数持つ比率保持手段と、分離する比率を乱数にて１つ選択し、上記分離手段へ入力する手段とをさらに備えることを特徴とし、実施の形態３では、比率保持手段の１つ以上の比率を設定可能とすることを特徴とする。
【００３４】
実施の形態　１．
図１は、本発明の実施の形態１に係る画像処理装置１の構成を示すブロック図であり、図２は、画像処理装置１のＲＯＭ１２に記憶されている誤差分散マトリクスを示す説明図である。また、図３は、画像処理装置１の画像処理手順を示すフローチャートである。
画像処理装置１の制御部１１は、バスを介してＲＯＭ１２及びＲＡＭ１３等の装置各部に接続されている。制御部１１は、ＲＯＭ１２に格納してある制御プログラムに従って装置各部を制御し、このとき発生するデータ、又は外部から入力されるデータをＲＡＭ１３に一時記憶して、各種処理を実行する。
【００３５】
表示部１５は、制御部１１に制御されて、装置の動作状態又はユーザに対する入力指示等を表示し、操作部１４は、表示部１５を見ながらユーザが数字又は記号等を入力するテンキー１４ｂ、送信開始指示を入力するスタートキー１４ａ、及び図示しない各種ファンクションキー等を有する。
ＲＯＭ１２の記憶領域の一部は、多値画像データから２値画像データを生成する際に用いる比率の初期値を記憶している初期比率記憶部１２１であり、他の一部は、８個の分散係数Ｗ＿Ａ，Ｗ＿Ｂ，…，Ｗ＿Ｈを記憶している誤差分散マトリクス１２ａである（図２参照）。
また、ＲＡＭ１３の記憶領域の一部は、操作部１４からテンキー１４ｂを用いて入力された比率を記憶する比率記憶部１３１である。即ち、操作部１４と比率記憶部１３１とは、累積誤差を分割する比率を取得する手段として機能する。
【００３６】
制御部１１は、比率の設定を受け付ける（図３のＳ１１）。この場合、表示部１５に、比率を設定する場合はテンキー１４ｂを用いて所要の数値（例えば０．０１〜０．９９）を１個だけ入力してからスタートキー１４ａを操作し、比率を設定せずデフォルトの比率（例えば０．３１）を用いる場合は比率を入力せずにスタートキー１４ａを操作するようユーザに対して指示する表示を行なわせる。このとき、ユーザはデフォルトの比率を用いるか、比率を設定してモアレの発生を更に低減させるかを判断し、デフォルトで良いと判断したときは画像処理装置１に原稿をセットしてスタートキー１４ａを操作する。また、設定すると判断したときは、画像処理装置１に原稿をセットし、テンキー１４ｂを用いて比率を入力してからスタートキー１４ａを操作する。
【００３７】
制御部１１は、比率が入力されたか否かを判定し（Ｓ１２）、入力された場合は（Ｓ１２でＹＥＳ）、入力された比率をＲＡＭ１３の比率記憶部１３１に記憶させる（Ｓ１３）。比率が入力されていない場合（Ｓ１２でＮＯ）、又はＳ１３で比率記憶部１３１に前記比率を記憶させた後、制御部１１は、スタートキー１４ａが操作されたか否かを判定する（Ｓ１４）。
スタートキー１４ａが操作されていない場合は（Ｓ１４でＮＯ）、操作されるまで待機する。スタートキー１４ａが操作された場合は（Ｓ１４でＹＥＳ）、比率記憶部１３１に比率が記憶されている否かを判定する（Ｓ１５）。
【００３８】
比率記憶部１３１に比率が記憶されている場合（Ｓ１５でＹＥＳ）、即ち、ユーザによって比率が設定された場合は、設定された比率（比率記憶部１３１に記憶されている比率）を量子化処理部１０へ入力し（Ｓ１６）、量子化処理部１０に備えられているバッファ１０ａに記憶させる。比率記憶部１３１に比率が記憶されていない場合（Ｓ１５でＮＯ）、即ち、ユーザによって比率が設定されていない場合は、デフォルトの比率（初期比率記憶部１２１に記憶されている比率）を量子化処理部１０へ入力し（Ｓ１７）、量子化処理部１０に備えられているバッファ１０ａに記憶させる。
【００３９】
制御部１１は、画像処理装置１にセットされた原稿の画像を、ＣＣＤ及び光源等で構成されたスキャナ部１６でラスタ走査して読み取り、シリアルデータである多値画像データを生成し（Ｓ１８）、生成した多値画像データを量子化処理部１０へ入力する。
量子化処理部１０は、入力された多値画像データの量子化処理を行なう。即ち、バッファ１０ａに記憶されている比率と、誤差分散マトリクス１２ａが有する分散係数Ｗ＿Ａ，Ｗ＿Ｂ，…，Ｗ＿Ｈとを用い、前記多値画像データから、シリアルデータである２値画像データを生成する（Ｓ１９）。この場合、量子化処理部１０は、生成した２値画像データを画像メモリ制御部１７へ入力する。
【００４０】
制御部１１は、画像メモリ制御部１７を制御し、該画像メモリ制御部１７へ入力された２値画像データをシリアル−パラレル変換してパラレルデータを生成し、次いで、生成したパラレルデータである２値画像データを画像メモリ１８に記憶させる（Ｓ２０）。
次いで、画像メモリ制御部１７は、制御部１１に制御されて、画像メモリ１８に記憶させたパラレルデータである２値画像データを、ドラム状の感光体及び転写チャージャ等で構成されたプリンタ部１９へ入力し、入力された２値画像データを用いて、用紙に画像を形成させる（Ｓ２１）。
最後に、制御部１１は、画像形成処理をＳ１１へ戻す。この場合、比率記憶部１３１に比率が記憶されているときは、該比率を消去する。
【００４１】
なお、比率の大小と画質（モアレが発生する度合）との関係は、原稿の画像の種類（文字又は写真等）、又は内容（濃淡の変化が激しいか乏しいか）等によるが、本実施の形態においては、比率が適度に大きい場合は、量子化した際に生じた誤差を、比率が小さい場合よりも広い範囲の画素に分散させることができるため、一般に、モアレの発生を低減させ易くなる。ただし、比率が過度に大きい場合は、注目画素で生じた誤差が、該注目画素に近い画素よりも、該注目画素から遠い画素へ過多に分散されるため、画像の再現性が悪化することがある。
【００４２】
図４及び図５は、画像処理装置１の量子化処理部１０の構成を示す回路図である。量子化処理部１０の各部は、量子化制御部１０１（図６参照）に制御されて各種の処理を行なう。また、量子化処理部１０は、１画素分のデータを格納可能な複数のデータレジスタを備え、該データレジスタには、量子化処理開始前に、量子化制御部１０１に制御されて０が累積誤差として格納される。
量子化処理部１０は、画素毎に、入力された階調値と所定の閾値とを比較し、前記階調値を、比較結果に応じた階調値に変換する処理を繰り返す階調値変換手段として階調値変換部１０３を備え、変換した階調値と変換前の階調値との誤差を算出する誤差算出手段として、誤差算出部１０４を備える。
【００４３】
また、量子化処理部１０は、算出された誤差に、所定の個数の分散係数を夫々乗じて前記誤差を前記個数に分散させてなる分散誤差を算出する誤差分散手段として誤差分散部１０５を備え、該誤差分散部１０５は、乗算器１１５Ａ，１１５Ｂ，…，１１５Ｈと、デコーダ１２５Ａ，１２５Ｂ，…，１２５Ｈとを有する。
【００４４】
また、量子化処理部１０は、累積誤差を格納する複数の格納手段、及び、累積誤差に、分散誤差を加算して新たな累積誤差を算出して格納手段に格納する手段を有し、所定の格納手段に格納された累積誤差を出力する累積誤差算出手段として第１累積誤差算出部１１１（第２累積誤差算出部１１２，第３累積誤差算出部１１３）を備える。第１累積誤差算出部１１１（第２累積誤差算出部１１２，第３累積誤差算出部１１３）は、累積誤差を格納する複数の格納手段として２個のデータレジスタ１１１Ａ，１１１Ｂ（データレジスタ１１２Ｄ，１１２Ｅ，データレジスタ１１３Ｇ，１１３Ｈ）を有し、分散誤差を加算して新たな累積誤差を算出して格納手段に格納する手段として加算器１０７Ａ，１０７Ｂ（加算器１０７Ｃ，１０７Ｄ，加算器１０７Ｆ，１０７Ｇ）を有する。前記所定の格納手段は、データレジスタ１１１Ａ（データレジスタ１１２Ｄ，データレジスタ１１３Ｇ）である。
【００４５】
また、量子化処理部１０は、入力された累積誤差を順に格納し、格納した順に前記累積誤差を出力する誤差格納メモリとして、８ビットのデータを格納可能なＦＩＦＯメモリを用いてなるＦＩＦＯ１０２を備える。該ＦＩＦＯ１０２には、ｎ−３個（ｍ行ｎ列の画像の列数ｎから３行３列の誤差分散マトリクスの列数３を減算した個数）のデータを、該データを、格納した順に０〜ｎ−４のアドレスを付与して格納してあり、最も早く格納されたデータ（アドレスが０のデータ）を出力した場合に、新たなデータを格納する。ＦＩＦＯ１０２には、量子化処理開始前に、量子化制御部１０１に制御されてｎ−３個の０が累積誤差として格納される。
【００４６】
更に、量子化処理部１０は、ＦＩＦＯ１０２から出力された累積誤差を、所定の比率で第１分割誤差と第２分割誤差とに分割する分割手段として、分割部１０６を備える。分割部１０６は、バッファ１０ａに記憶された比率を遅延用比率として用い、該遅延用比率を１から減算してなる比率（１−バッファ１０ａに記憶された比率）を算出して記憶しておく手段を備える。また、入力された累積誤差を格納するデータレジスタ１０６Ａと、乗算器１０６Ｂ，１０６Ｃとを備える。
【００４７】
また、量子化処理部１０は、入力された第２分割誤差を遅延させる遅延手段として、２個のデータレジスタ１０８Ａ，１０８Ｂを有する遅延部１０８を備える。遅延部１０８が備えるデータレジスタの個数は、第２累積誤差算出部１１２及び第３累積誤差算出部１１３が夫々備えるデータレジスタの個数と同数である。即ち、遅延部１０８は、前記第２分割誤差を、第２累積誤差算出部１１２及び第３累積誤差算出部１１３での計算時間だけ遅延させる手段として機能する。データレジスタ１０８Ａ，１０８Ｂには、量子化処理開始前に、量子化制御部１０１に制御されて、０が第２分割誤差として格納される。
また、加算器１０７Ｃは、遅延部１０８で遅延させた第２分割誤差と、第２累積誤差算出部１１２及び第３累積誤差算出部１１３から夫々出力された累積誤差とを加算してデータレジスタ１０２Ｃを介してＦＩＦＯ１０２に格納する手段として機能する。
【００４８】
スキャナ部１６から量子化処理部１０へ１画素分ずつ入力された多値画像データは、データレジスタ１１４Ａに格納され、次いで、データレジスタ１１４Ａから出力されてデータレジスタ１１４Ｂに格納され、次いで、データレジスタ１１４Ｂから出力されてデータレジスタ１１４Ｃに格納され、最後に、データレジスタ１１４Ｃから出力されて加算器１１４Ｄへ、順に入力される。
データレジスタ１１１Ａからは累積誤差が出力され、加算器１１４Ｄへ入力される。
加算器１１４Ｄでは、入力された多値画像データの多値階調値と入力された累積誤差とを加算して新たな階調値を算出し、算出した新たな階調値を階調値変換部１０３及び誤差算出部１０４へ入力する。
【００４９】
また、量子化処理部１０は、図示しない記憶手段に所定の閾値を記憶してあり、前記新たな階調値が階調値変換部１０３及び誤差算出部１０４へ入力される場合に、前記閾値を階調値変換部１０３及び誤差算出部１０４へ入力する。
階調値変換部１０３は、入力された新たな階調値と閾値とを比較し、前記新たな階調値が閾値以上である場合は２値階調値が２５５の２値画像データに変換して出力し、画像メモリ制御部１７へ入力する。また、前記新たな階調値が閾値未満である場合は２値階調値が０の２値画像データに変換して出力し、画像メモリ制御部１７へ入力する。
【００５０】
誤差算出部１０４は、前記新たな階調値と閾値とを比較し、前記新たな階調値が閾値以上である場合は、
誤差ＥＲＲ＝階調値２５５−前記新たな階調値
の式を用いる。このとき、マイナスの符号を示す符号信号ＳＩＧＮを発生させる。また、前記新たな階調値が閾値未満である場合は、
誤差ＥＲＲ＝前記新たな階調値
の式を用いる。このとき、プラスの符号を示す符号信号ＳＩＧＮを発生させる。即ち、前記新たな階調値が、該新たな階調値よりも大きい階調値２５５に変換された場合は、画像全体の階調値の累積的な誤差を略０にすべく、誤差ＥＲＲ分の階調値が累積誤差から減算されるように、前記新たな階調値よりも小さい階調値０に変換された場合は、誤差ＥＲＲ分の階調値が累積誤差に加算されるように、符号信号ＳＩＧＮを発生させる。
【００５１】
以上のようにして、誤差算出部１０４は、入力された新たな階調値と閾値とを用いて誤差ＥＲＲを算出し、算出した誤差ＥＲＲを、乗算器１１５Ａ，１１５Ｂ，…，１１５Ｈへ夫々入力する。このとき、算出した誤差ＥＲＲの符号を示す信号（符号信号ＳＩＧＮ）を、デコーダ１２５Ａ，１２５Ｂ，…，１２５Ｈへ夫々入力する。
乗算器１１５Ａ，１１５Ｂ，…，１１５Ｈへ誤差ＥＲＲが夫々入力された時、誤差分散マトリクス１２ａから読みだされた分散係数Ｗ＿Ａ，Ｗ＿Ｂ，…，Ｗ＿Ｈが、対応する乗算器１１５Ａ，１１５Ｂ，…，１１５Ｈへ入力される。乗算器１１５Ａ，１１５Ｂ，…，１１５Ｈは、入力された誤差ＥＲＲと分散係数Ｗ＿Ａ，Ｗ＿Ｂ，…，Ｗ＿Ｈとを夫々乗算し、分散された誤差（誤差ＥＲＲ×分散係数Ｗ＿Ａ，誤差ＥＲＲ×分散係数Ｗ＿Ｂ，…，誤差ＥＲＲ×分散係数Ｗ＿Ｈ）を、デコーダ１２５Ａ，１２５Ｂ，…，１２５Ｈへ夫々入力する。
【００５２】
デコーダ１２５Ａ，１２５Ｂ，…，１２５Ｈは、入力された前記誤差（誤差ＥＲＲ×分散係数Ｗ＿Ａ，…，誤差ＥＲＲ×分散係数Ｗ＿Ｈ）と符号信号ＳＩＧＮとを用いて、符号付きの分散誤差Ｅ＿Ａ，Ｅ＿Ｂ，…，Ｅ＿Ｈを生成する。次いで、デコーダ１２５Ａ，１２５Ｂ，１２５Ｃ，１２５Ｄ，１２５Ｆ，１２５Ｇは、分散誤差Ｅ＿Ａ，Ｅ＿Ｂ，Ｅ＿Ｃ，Ｅ＿Ｄ，Ｅ＿Ｆ，Ｅ＿Ｇを、夫々加算器１０７Ａ，１０７Ｂ，１０７Ｃ，１０７Ｄ，１０７Ｆ，１０７Ｇへ入力する。また、デコーダ１２５Ｅ，１２５Ｈは、分散誤差Ｅ＿Ｅ，Ｅ＿Ｈを、累積誤差（分散誤差Ｅ＿Ｅ，Ｅ＿Ｈに０が加算された累積誤差）として夫々データレジスタ１１２Ｅ，１１３Ｈへ入力する。
【００５３】
前記累積誤差（分散誤差Ｅ＿Ｅ，Ｅ＿Ｈ）がデータレジスタ１１２Ｅ，１１３Ｈへ夫々入力された場合、データレジスタ１１２Ｅ，１１３Ｈに格納されていた累積誤差が加算器１０７Ｄ，１０７Ｇへ夫々入力され、該加算器１０７Ｄ，１０７Ｇへ入力された分散誤差Ｅ＿Ｄ，Ｅ＿Ｇと前記累積誤差とが加算されて新たな累積誤差が夫々算出され、算出された累積誤差がデータレジスタ１１２Ｄ，１１３Ｇへ夫々入力される。
加算器１０７Ｄ，１０７Ｇで算出された累積誤差がデータレジスタ１１２Ｄ，１１３Ｇへ夫々入力された場合、データレジスタ１１２Ｄ，１１３Ｇに格納されていた累積誤差が加算器１０７Ｃ，１０７Ｆへ夫々入力される。次いで、加算器１０７Ｆへ入力された分散誤差Ｅ＿Ｆとデータレジスタ１１３Ｇに格納されていた累積誤差とが加算されて新たな累積誤差が算出され、算出された累積誤差が加算器１０７Ｃへ入力される。
【００５４】
加算器１０７Ｃへは、前記累積誤差と、データレジスタ１１２Ｄに格納されていた累積誤差と、デコーダ１２５Ｃから出力された分散誤差Ｅ＿Ｃと、データレコーダ１０８Ａから出力された第２分割誤差とが入力される。次いで、加算器１０７Ｃで加算され、新たな累積誤差が算出される。
以上のような乗算及び加算によって算出された新たな累積誤差は、９ビット以上のデータになっていることがある。
このため、加算器１０７Ｃは、算出した新たな累積誤差をリミット回路１１０へ入力するよう構成されている。リミット回路１１０は、入力された累積誤差を、ＦＩＦＯ１０２に格納可能な８ビットに変換してから、データレジスタ１０２Ｃへ入力する。
データレジスタ１０２Ｃは、累積誤差が入力された場合、該データレジスタ１０２Ｃに格納してある累積誤差を、ＦＩＦＯ１０２へ入力する。
【００５５】
ＦＩＦＯ１０２は、累積誤差が入力された場合、最も早く格納した（アドレスが０の）累積誤差を出力してデータレジスタ１０６Ａへ入力し、該累積誤差の次に格納された累積誤差のアドレスを１から０に変換し、該累積誤差の次に格納された累積誤差のアドレスを２から１に変換することを繰り返し、入力された累積誤差を、該累積誤差にアドレスｎ−４を付与して格納する。
【００５６】
ＦＩＦＯ１０２から出力された累積誤差は、分割部１０６のデータレジスタ１０６Ａへ入力され、データレジスタ１０６Ａに格納されていた累積誤差が出力される。次いで、出力された累積誤差と前記比率とが乗算器１０６Ｂへ入力され、前記累積誤差と前記比率とを乗算してなる（ＦＩＦＯ１０２から出力された累積誤差をバッファ１０ａに記憶させた比率で分割してなる）第１分割誤差が算出され、新たな累積誤差として加算器１０７Ｂへ入力される。また、データレジスタ１０６Ａから出力された累積誤差と前記遅延用比率とが乗算器１０６Ｃへ入力され、前記累積誤差と前記遅延用比率とを乗算してなる（ＦＩＦＯ１０２から出力された累積誤差をバッファ１０ａに記憶させた比率で分割してなる）第２分割誤差が算出されて、遅延部１０８のデータレジスタ１０８Ｂへ入力される。
【００５７】
加算器１０７Ｂには、乗算器１０６Ｂから出力された累積誤差（第１分割誤差）と、デコーダ１２５Ｂから出力された分散誤差Ｅ＿Ｂとが入力され、入力された累積誤差と分散誤差Ｅ＿Ｂとを加算して新たな累積誤差を算出し、データレジスタ１１１Ｂへ入力する。
加算器１０７Ｂで算出された累積誤差が、データレジスタ１１１Ｂへ入力された場合、該データレジスタ１１１Ｂに格納されていた累積誤差が加算器１０７Ａへ入力される。次いで、デコーダ１２５Ａから出力された分散誤差Ｅ＿Ａとデータレジスタ１１１Ｂに格納されていた累積誤差とが加算されて新たな累積誤差が算出され、算出された累積誤差がデータレジスタ１１１Ａへ入力される。
前記累積誤差がデータレジスタ１１１Ａへ入力された場合、データレジスタ１１１Ａに格納されていた累積誤差は、加算器１１４Ｄへ入力され、加算器１１４Ｄにて、前述のように新たな階調値が算出される。
【００５８】
乗算器１０６Ｃから出力された第２分割誤差がデータレジスタ１０８Ｂへ入力された場合、データレジスタ１０８Ｂに格納されていた第２分割誤差は、データレジスタ１０８Ａへ入力され、データレジスタ１０８Ａに格納されていた第２分割誤差は、加算器１０７Ｃへ入力され、前述のように新たな累積誤差が算出される。
【００５９】
図６は、画像処理装置１の量子化処理部１０の構成を模式的に示すブロック図であり、図７は、量子化処理部１０の量子化処理手順を示すフローチャートである。
図中１０１は量子化制御部であり、量子化制御部１０１は、図示しないバスを介して量子化処理部１０の各部に接続され、画像処理装置１の制御部１１が送信する各種の信号を受信し、該信号に応じて前記各部を制御する。
制御部１１は、１画素分の多値画像データを量子化処理部１０へ入力し、このとき、量子化制御部１０１へ画像有効信号を送信する。
【００６０】
量子化制御部１０１は、各データレジスタ及びＦＩＦＯ１０２に、累積誤差０又は第２分割誤差０を夫々格納しておき（Ｓ７１）、次いで、画像有効信号を受信したか否かを判定する（Ｓ７２）。画像有効信号を受信していない場合は（Ｓ７２でＮＯ）、画像有効信号を受信するまで待機する。画像有効信号を受信した場合は（Ｓ７２でＹＥＳ）、ＦＩＦＯ１０２へ制御信号を送信して該ＦＩＦＯ１０２から累積誤差を出力して（Ｓ７３）分割部１０６へ入力したり、分割部１０６、遅延部１０８、第１累積誤差算出部１１１、第２累積誤差算出部１１２、及び第３累積誤差算出部１１３等へ夫々制御信号を送信して、第２分割誤差及び累積誤差の移動を行なわせたりする。
【００６１】
量子化制御部１０１は、画像有効信号を受信した時に多値画像データが有効になったと判定し、階調値変換部１０３で、入力された多値画像データ（多値階調値）を２値画像データ（２値階調値）に変換して（Ｓ７４）出力する。また、誤差算出部１０４で、階調値の変換によって生じる誤差を算出し（Ｓ７５）、誤差分散部１０５で、誤差分散マトリクス１２ａが有する８個の分散係数を用いて前記誤差を分散させ（Ｓ７６）、８個の分散誤差を算出する。
量子化制御部１０１は、第１累積誤差算出部１１１、第２累積誤差算出部１１２、及び第３累積誤差算出部１１３で、累積誤差に、分散誤差を加算して新たな累積誤差を算出して（Ｓ７７）、データレジスタ１１１Ａ，１１１Ｂ，１１２Ｄ，１１３Ｅ，１１３Ｇ，１１３Ｈに格納する。
【００６２】
量子化制御部１０１は、バッファ１０ａに記憶されている比率を用いて、ＦＩＦＯ１０２から出力された累積誤差を、分割部１０６で第１分割誤差と第２分割誤差とに分割し（Ｓ７８）、該第１分割誤差を第１累積誤差算出部１１１へ入力させる。
また、第２分割誤差を遅延部１０８へ入力して遅延させ（Ｓ７９）、遅延部１０８から出力された第２分割誤差と、第２累積誤差算出部１１２及び第３累積誤差算出部１１３から出力された累積誤差と、誤差分散手段１０５から出力された分散誤差Ｅ＿Ｃとを加算器１０７Ｃで加算して累積誤差を算出し、ＦＩＦ０１０２に格納する（Ｓ８０）。
【００６３】
量子化制御部１０１は、制御部１１から多値画像データの送信終了を示す信号を受信したか否かを判定することによって量子化処理を終了するか否かを判定し（Ｓ８１）、前記信号を受信していない場合は（Ｓ８１でＮＯ）、量子化処理を続行すると判定し、処理をＳ７２へ戻す。また、前記信号を受信した場合は（Ｓ８１でＹＥＳ）、量子化処理を終了すると判定し、処理をＳ７１へ戻す。
【００６４】
以上のような画像処理装置１は、Ｍ行Ｎ列の誤差分散マトリクスを用いる場合にＮ−１個のＦＩＦＯメモリを必要とする従来の画像処理装置（図１４参照）とは異なり、１個のＦＩＦＯ１０２のみに累積誤差を格納する。また、回路を構成するデータレジスタも前記画像処理装置より少ない（例えばデータレジスタ１１３Ｆに相当するデータレジスタが不要である）ため、該画像処理装置が備える回路より小型の回路を備えることができる。
【００６５】
また、１個のＦＩＦＯ１０２に格納する従来の画像処理装置（図１５参照）においては、分割部１０６から出力された第２分割誤差を遅延せずに、該第２分割誤差と誤差分散部１０５から出力された分散誤差Ｅ＿Ｅ（データレジスタ１１２Ｅへ入力される分散誤差）とを加算してなる累積誤差を算出し、該累積誤差に、更に分散誤差が加算された累積誤差を第２累積誤差算出部１１２から出力して、ＦＩＦＯ１０２に格納する。一方、画像処理装置１においては、分割部１０６から出力された第２分割誤差を遅延させ、前記分散誤差Ｅ＿Ｅを累積誤差とし、該累積誤差に、更に分散誤差が加算された累積誤差を第２累積誤差算出部１１２から出力して、該累積誤差と、遅延させた第２分割誤差とを加算してなる累積誤差を算出し、算出した累積誤差をＦＩＦＯ１０２に格納する。このため、第２累積誤差算出部１１２で算出される累積誤差の桁数が、従来の画像処理装置で算出する場合と比べて小さくなり、第２累積誤差算出部１１２で累積誤差を算出している間の演算速度が向上する。また、桁数が大きい累積誤差を用いて計算することによる回路の負荷を低減することができ、計算速度が高速化して、計算効率が向上する。
【００６６】
また、分割誤差を累積して９ビット以上の累積誤差が算出され、Ｌｉｍｉｔ回路１１０で８ビットに変換させた場合、８ビットに変換させたことによって演算速度が向上する。
更に、ＦＩＦＯ１０２から出力された累積誤差を分割部１０６で分割する場合、前記累積誤差を分割する比率をユーザに設定させることができるため、量子化処理を行なう際、ＲＯＭ１２の初期比率記憶部１２１に記憶してあるデフォルトの比率ではモアレが発生する場合に、該比率とは異なる適宜の比率をユーザが入力することによって、モアレの発生を低減させることができる。
また、デフォルトの比率で充分にモアレが低減できる場合は、ユーザが比率を入力する必要がないため、ユーザの手間を省くことができる。
【００６７】
実施の形態　２．
図８は、本発明の実施の形態２に係る画像処理装置２の構成を示すブロック図である。また、図９は、画像処理装置２の画像処理手順を示すフローチャートである。
ＲＯＭ１２の記憶領域の一部は、多値画像データから２値画像データを生成する際に用いる比率を複数記憶している比率群記憶部１２２である。即ち、比率群記憶部１２２は、累積誤差を分割する比率を複数記憶する手段として機能する。
【００６８】
また、量子化処理部２０は図示しない乱数発生部を備え、該乱数発生部で発生させた乱数と、比率群記憶部１２２に記憶してある全ての比率とを入力されるセレクタ２０ａを備える。セレクタ２０ａは、前記乱数を用いて、該セレクタ２０ａへ入力された比率の中から１個の比率を選択し、分割部１０６へ入力する。即ち、量子化制御部１０１及びセレクタ２０ａは、記憶された比率の中から分割部１０６へ入力すべき比率を選択する手段及び選択された比率を分割部１０６へ入力する手段として機能する。
このようにして乱数で選択された比率を分割部１０６へ入力する以外は、量子化処理部２０の構成及び機能は実施の形態１の量子化処理部２０と略同様である。
その他、実施の形態１に対応する部分には同一符号を付してそれらの説明を省略する。
【００６９】
制御部１１は、スタートキー１４ａが操作されたか否かを判定し（Ｓ３１）、操作されていない場合は（Ｓ３１でＮＯ）、操作されるまで待機する。スタートキー１４ａが操作された場合は（Ｓ３１でＹＥＳ）、比率群記憶部１２２に記憶してある全ての比率をセレクタ２０ａへ入力させる（Ｓ３２）。次いで、量子化処理部２０の量子化制御部１０１は、前記乱数発生部で乱数を発生させてセレクタ２０ａへ入力し、入力された比率の中から１個の比率を、乱数を用いて選択し（Ｓ３３）、分割部１０６へ入力する。
【００７０】
制御部１１は、画像処理装置１にセットされた原稿の画像をスキャナ部１６でラスタ走査して読み取り、シリアルデータである多値画像データを生成し（Ｓ３４）、生成した多値画像データを量子化処理部２０へ入力する。
量子化処理部２０は、入力された多値画像データの量子化処理を行なう。即ち、セレクタ２０ａで選択された比率と、誤差分散マトリクス１２ａが有する分散係数Ｗ＿Ａ，Ｗ＿Ｂ，…，Ｗ＿Ｈとを用い、前記多値画像データから、シリアルデータである２値画像データを、実施の形態１と同様にして生成する（Ｓ３５）。この場合、量子化処理部２０は、生成した２値画像データを画像メモリ制御部１７へ入力する。
【００７１】
制御部１１は、画像メモリ制御部１７を制御し、該画像メモリ制御部１７へ入力された２値画像データをシリアル−パラレル変換してパラレルデータを生成し、次いで、生成したパラレルデータである２値画像データを画像メモリ１８に記憶させる（Ｓ３６）。
次いで、画像メモリ制御部１７は、制御部１１に制御されて、画像メモリ１８に記憶させたパラレルデータである２値画像データをプリンタ部１９へ入力し、入力された２値画像データを用いて、用紙に画像を形成させる（Ｓ３７）。
最後に、制御部１１は、画像形成処理をＳ３１へ戻す。
【００７２】
以上のような画像処理装置２は、画像を量子化する場合に、実施の形態１の画像処理装置１と同様の効果を得ることができる。
また、ＦＩＦＯ１０２から出力された累積誤差を分割部１０６で分割する場合、前記累積誤差を分割する比率を乱数によって変化させることができる。このため、一の比率を用いる場合にモアレを生じてしまう場合であっても、前記比率とは異なる他の比率をランダムに選択して用いることができ、画質の向上を図ることができる。このとき、ユーザが比率を設定しないため、ユーザの利便性を向上することができる。
なお、比率を選択する際に、常に乱数で選択するだけでなく、例えば一の比率を乱数で選択し、次の比率を選択する場合は、前回選択した比率から所定の値だけ異なる比率を選択するよう構成したり、読み取った画像のデータ量又は圧縮率等を検出し、検出したデータ量又は圧縮率等に応じて選択するよう構成したりしても良い。
【００７３】
実施の形態　３．
図１０は、本発明の実施の形態３に係る画像処理装置３の構成を示すブロック図である。また、図１１は、画像処理装置３の画像処理手順を示すフローチャートである。
ＲＯＭ１２の記憶領域の一部は、多値画像データから２値画像データを生成する際に用いる比率を複数記憶している比率群記憶部１２２である。即ち、比率群記憶部１２２は、累積誤差を分割する比率を複数記憶する手段として機能する。また、ＲＡＭ１３の記憶領域の一部は、操作部１４からテンキー１４ｂを用いて入力された比率を記憶する比率記憶部１３３である。即ち、操作部１４及び比率記憶部１３３は、累積誤差を分割する比率を取得する手段として機能する。
【００７４】
制御部１１は、表示部１５に、比率を追加する場合はテンキー１４ｂを用いて所要の数値（例えば１％〜９９％）を１個又は複数個入力してからスタートキー１４ａを操作し、比率を追加せずデフォルトの比率のみを用いる場合は比率を入力せずにスタートキー１４ａを操作するようユーザに対して指示する表示を行なわせる。
この場合、ユーザはデフォルトの比率のみを用いるか比率を追加してモアレの発生を更に低減させるかを判断し、デフォルトで良いと判断したときは画像処理装置１に原稿をセットしてスタートキー１４ａを操作する。また、設定すると判断したときは、画像処理装置１に原稿をセットし、テンキー１４ｂを用いて比率を入力してからスタートキー１４ａを操作する。
【００７５】
また、量子化処理部３０は図示しない乱数発生部を備え、該乱数発生部で発生させた乱数と、比率群記憶部１２２に記憶してある全ての比率、又は比率群記憶部１２２及び比率記憶部１３３に記憶してある全ての比率とを入力されるセレクタ３０ａを備える。セレクタ３０ａは、前記乱数を用いて、該セレクタ３０ａへ入力された比率の中から１個の比率を選択し、分割部１０６へ入力することを、量子化処理部３０へ１画素分の多値画像データが入力される度に繰り返す。即ち、量子化制御部１０１及びセレクタ３０ａは、取得した比率及び／又は記憶された比率の中から分割部１０６へ入力すべき比率を選択する手段及び選択された比率を分割部１０６へ入力する手段として機能する。
【００７６】
以上のようにして乱数で選択された比率を分割部１０６へ入力する以外は、量子化処理部３０の構成及び機能は実施の形態１の量子化処理部１０と略同様である。
その他、実施の形態１又は２に対応する部分には同一符号を付してそれらの説明を省略する。
【００７７】
制御部１１は、表示部１５に前記表示を行なわせて比率の設定を受け付け（Ｓ５１）、次いで、比率が入力されたか否かを判定し（Ｓ５２）、入力された場合は（Ｓ５２でＹＥＳ）、入力された比率をＲＡＭ１３の比率記憶部１３３に記憶させる（Ｓ５３）。比率が入力されていない場合（Ｓ５２でＮＯ）、又はＳ５３で比率記憶部１３３に前記比率を記憶させた後、制御部１１は、スタートキー１４ａが操作されたか否かを判定する（Ｓ５４）。
スタートキー１４ａが操作されていない場合は（Ｓ５４でＮＯ）、操作されるまで待機する。スタートキー１４ａが操作された場合は（Ｓ５４でＹＥＳ）、比率記憶部１３３に比率が記憶されている否かを判定する（Ｓ５５）。
【００７８】
比率記憶部１３３に比率が記憶されている場合（Ｓ５５でＹＥＳ）、即ち、ユーザによって比率が追加された場合は、デフォルトの比率（比率群記憶部１２２に記憶されている全ての比率）と追加された比率（比率記憶部１３３に記憶されている全ての比率）とを量子化処理部３０へ入力し（Ｓ５６）、セレクタ３０ａへ入力させる（Ｓ５８）。比率記憶部１３３に比率が記憶されていない場合（Ｓ５５でＮＯ）、即ち、ユーザによって比率が追加されていない場合は、デフォルトの比率を量子化処理部３０へ入力し（Ｓ５７）、セレクタ３０ａへ入力させる（Ｓ５８）。次いで、量子化処理部３０の量子化制御部１０１は、前記乱数発生部で乱数を発生させてセレクタ３０ａへ入力し、入力された比率の中から１個の比率を、乱数を用いて選択し（Ｓ５９）、分割部１０６へ入力する。
以上のような比率の選択と分割部１０６への入力とは、量子化処理部３０へ１画素分の多値画像データが入力される毎に反復される。
【００７９】
制御部１１は、画像処理装置１にセットされた原稿の画像をスキャナ部１６でラスタ走査して読み取り、シリアルデータである多値画像データを生成し（Ｓ６０）、生成した多値画像データを量子化処理部３０へ入力する。
量子化処理部３０は、入力された多値画像データの量子化処理を行なう。即ち、セレクタ３０ａで選択された比率と、誤差分散マトリクス１２ａが有する分散係数Ｗ＿Ａ，Ｗ＿Ｂ，…，Ｗ＿Ｈとを用い、前記多値画像データから、シリアルデータである２値画像データを、実施の形態１と同様にして生成する（Ｓ６１）。この場合、量子化処理部３０は、生成した２値画像データを画像メモリ制御部１７へ入力する。
【００８０】
制御部１１は、画像メモリ制御部１７を制御し、該画像メモリ制御部１７へ入力された２値画像データをシリアル−パラレル変換してパラレルデータを生成し、次いで、生成したパラレルデータである２値画像データを画像メモリ１８に記憶させる（Ｓ６２）。
次いで、画像メモリ制御部１７は、制御部１１に制御されて、画像メモリ１８に記憶させたパラレルデータである２値画像データをプリンタ部１９へ入力し、入力された２値画像データを用いて、用紙に画像を形成させる（Ｓ６３）。
最後に、制御部１１は、画像形成処理をＳ５１へ戻す。
【００８１】
以上のような画像処理装置３は、画像を量子化する場合に、実施の形態１の画像処理装置１と同様の効果を得ることができる。
また、ＦＩＦＯ１０２から出力された累積誤差を分割部１０６で分割する場合、前記累積誤差を分割する比率を乱数によって変化させることができる。また、選択可能な比率をユーザに追加させることができる。更に、量子化処理を行なう際、１画素分の多値画像データ毎に、多数の比率の中からランダムに選択された異なる比率を用いることができ、１画素分の多値画像データ毎に同一の比率を用いる場合、又は、固定された複数の比率の中からランダムに選択された異なる比率を用いる場合に比べて、モアレの発生を低減させることができる。
【００８２】
なお、本実施の形態においては、比率群記憶部１２２に記憶されている比率に、ユーザが入力した比率を追加する構成を例示しているが、比率群記憶部１２２に記憶されている比率の内、１個、複数個、又は全部を、ユーザが入力した比率と置き換える構成としても良い。
【００８３】
【発明の効果】
本発明の画像処理方法及び画像処理装置によれば、第２分割誤差を累積誤差算出手段へ入力しないことにより、累積誤差算出手段で算出される累積誤差の桁数が第２分割誤差を加算しない分だけ低減されるため、演算速度を向上させることができる。また、演算回数を減少させることができるため、計算速度を高速にすることができる。即ち、計算を効率良く行なうことができる。
また、第２分割誤差を累積誤差算出手段へ入力して該第２分割誤差と分散された誤差とを加算してなる累積誤差を算出しない分、回路のゲート数が減少し、回路規模が小さくなる。また、誤差格納メモリとして１個のＦＩＦＯメモリを用いて装置を構成することができるため、装置を簡略化して小型化することができる。
【００８４】
更に、誤差格納メモリから出力された累積誤差を分割させる比率を変化させることにより、累積誤差を分割する比率が固定されていないため、特に略同一の階調値が連続している画像を量子化することによって発生し易くなるモアレを低減することができ、画質を向上することができる等、本発明は優れた効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係る画像処理装置の構成を示すブロック図である。
【図２】本発明の実施の形態１に係る画像処理装置のＲＯＭに記憶されている誤差分散マトリクスを示す説明図である。
【図３】本発明の実施の形態１に係る画像処理装置の画像処理手順を示すフローチャートである。
【図４】本発明の実施の形態１に係る画像処理装置の量子化処理部の構成を示す回路図である。
【図５】本発明の実施の形態１に係る画像処理装置の量子化処理部の構成を示す回路図である。
【図６】本発明の実施の形態１に係る画像処理装置の量子化処理部の構成を模式的に示すブロック図である。
【図７】本発明の実施の形態１に係る画像処理装置の量子化処理部の量子化処理手順を示すフローチャートである。
【図８】本発明の実施の形態２に係る画像処理装置の構成を示すブロック図である。
【図９】本発明の実施の形態２に係る画像処理装置の画像処理手順を示すフローチャートである。
【図１０】本発明の実施の形態３に係る画像処理装置の構成を示すブロック図である。
【図１１】本発明の実施の形態３に係る画像処理装置の画像処理手順を示すフローチャートである。
【図１２】誤差拡散方法の説明図である。
【図１３】誤差拡散方法の説明図である。
【図１４】従来の画像処理装置が備える量子化処理部の構成を模式的に示すブロック図である。
【図１５】従来の他の画像処理装置が備える量子化処理部の構成を模式的に示すブロック図である。
【符号の説明】
１０１　量子化制御部
１０２　ＦＩＦＯ
１０３　階調値変換部
１０４　誤差算出部
１０５　誤差分散部
１０６　分割部
１０７Ａ，１０７Ｂ，１０７Ｃ　加算器
１０７Ｄ，１０７Ｆ，１０７Ｇ　加算器
１０８　遅延部
１１１　第１累積誤差算出部
１１２　第２累積誤差算出部
１１３　第３累積誤差算出部
１１１Ａ，１１１Ｂ，１１２Ｄ　データレジスタ
１１２Ｅ，１１３Ｇ，１１３Ｈ　データレジスタ
１１４Ｄ　加算器
１２２　比率群記憶部
１３１，１３３　比率記憶部
１４　操作部
２０ａ，３０ａ　セレクタ
【図１】
2004048514.tif 000003
【図２】
2004048514.tif 000004
【図３】
2004048514.tif 000005
【図４】
2004048514.tif 000006
【図５】
2004048514.tif 000007
【図６】
2004048514.tif 000008
【図７】
2004048514.tif 000009
【図８】
2004048514.tif 000010
【図９】
2004048514.tif 000011
【図１０】
2004048514.tif 000012
【図１１】
2004048514.tif 000013
【図１２】
2004048514.tif 000014
【図１３】
2004048514.tif 000015
【図１４】
2004048514.tif 000016
【図１５】
2004048514.tif 000017