(57)【特許請求の範囲】
【請求項１】
現ライン内の処理対象画素の入力レベルを判定する第１の入力レベル判定手段と、前記入力レベルに対応した複数の係数を保持し前記第１の入力レベル判定手段の判定結果に応じて前記係数を画素毎に出力する係数出力手段と、入力画像データとこの入力画像データを２値化した際の出力画像データとの誤差を前記出力された係数を用いて前記処理対象画素の周辺画素に伝播させる伝播誤差演算手段と、を備え、
前記係数出力手段は、各前記入力レベル毎に複数の係数を保持する係数保持手段と、この係数保持手段から使用候補の係数を乱数により各前記入力レベル毎に選択する複数の係数選択手段と、入力レベル判定結果に応じて前記複数の係数選択手段のいずれかの出力を選択する出力係数選択手段と、を備え、
前記伝播誤差演算手段は、
処理対象画素の入力レベルが所定値より大であるときは入力レベル判定値が１と判定し、前記所定値以下であるときは前記入力レベル判定値が０と判定する第２の入力レベル判定手段と、
前記処理対象画素と前記処理対象画素に対して現ライン上における前後の画素とからなる３画素についての前記第２の入力レベル判定手段からの入力レベル判定値に応じて誤差データの分配を制御する平滑化制御信号を出力する平滑化制御手段と、
前記処理対象画素から前記処理対象画素の次ラインにあり前記処理対象画素の左下、下、右下にある周辺画素それぞれに伝播した誤差データの集積値を、前記処理対象画素の左下、下、右下にある周辺画素それぞれへ前記平滑化制御信号に応じて分配することにより平滑化処理する誤差平滑化手段と、を備え、
前記平滑化制御手段は、前記処理対象画素の前記入力レベル判定値が０であるときは、前記平滑化制御信号を０に設定して出力し、前記処理対象画素と前記処理対象画素の前の画素と前記処理対象画素の後の画素それぞれについての前記入力レベル判定値が１、０、０であるときは、前記平滑化制御信号を０に設定して出力し、前記処理対象画素と前記処理対象画素の前の画素と前記処理対象画素の後の画素それぞれについての前記入力レベル判定値が１、０、１であるときは、前記平滑化制御信号を１に設定して出力し、前記処理対象画素と前記処理対象画素の前の画素と前記処理対象画素の後の画素それぞれについての前記入力レベル判定値が１、１、０であるときは、前記平滑化制御信号を２に設定して出力し、前記処理対象画素と前記処理対象画素の前の画素と前記処理対象画素の後の画素それぞれについての前記入力レベル判定値が１、１、１であるときは、前記平滑化制御信号を３に設定して出力し、
前記誤差平滑化手段は、
前記平滑化制御信号が０の場合は、前記処理対象画素の下にある周辺画素に誤差値として前記誤差データの集積値を全部分配し、
前記平滑化制御信号が１の場合は、前記処理対象画素の下にある周辺画素と、前記処理対象画素の右下にある周辺画素とに、前記誤差データの集積値を所定の割合で分配し、
前記平滑化制御信号が２の場合は、前記処理対象画素の左下にある周辺画素と、前記処理対象画素の下にある周辺画素とに、前記誤差データの集積値を所定の割合で分配し、
前記平滑化制御信号が３の場合は、前記処理対象画素の左下にある周辺画素と、前記処理対象画素の下にある周辺画素と、前記処理対象画素の右下にある周辺画素とに、前記誤差データの集積値を所定の割合で分配することを特徴とする画像処理装置。
【請求項２】
係数出力手段は、誤差を伝播させるそれぞれの方向ごとに、処理対象画素の入力レベルと被伝播画素レベルとの差の絶対値が所定の設定値より大きく、かつ、入力レベルの誤差の値と被伝播画素レベルの誤差の値の正負が異なっている場合に変化ありと判定し、それ以外の場合には変化なしと判定する入力変化判定手段と、この判定結果が変化ありとなる方向に対しては、前記係数を０とし、変化なしとなる方向に対しては、前記出力係数選択手段から入力された前記係数をそのまま出力する係数制御手段と、を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
係数出力手段は、各前記入力レベル毎に複数の係数を保持した係数保持部が各色毎に設けられた係数保持手段と、処理対象カラーを示すカラー選択信号により前記複数の係数保持部から処理対象カラーの係数保持部を選択する係数保持部選択手段と、選択した係数保持部から前記入力レベル判定結果に応じた係数を選択する出力係数選択手段と、を備えることを特徴とする請求項１又は請求項２に記載の画像処理装置。
【請求項４】
係数出力手段は、各前記入力レベル毎に複数の係数を保持する係数保持部から使用候補の係数を乱数により各前記入力レベル毎に選択する複数の係数選択手段を備えることを特徴とする請求項３記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ファクシミリ等に用いられる画像処理装置に関する。
【０００２】
【従来の技術】
従来この種の装置は、図１０に示すように、スキャナ等により画素単位に分解された原稿の画信号を多値レベルで入力する入力端子１と、この入力端子１から入力した画信号と後述する誤差フィルタからの出力とを加算する加算器２と、この加算器２の出力を２値化する際の閾値を発生する閾値発生部３と、この閾値発生部３の発生する閾値に基づいて前記加算器２の出力を２値化するコンパレータ４と、このコンパレータ４の出力する２値化信号の出力端子５と、前記加算器２の出力をコンパレータ４の出力で減算する減算器６と、この減算器６の出力を誤差データとして格納する誤差メモリ７と、既に２値化済の周辺複数画素における誤差データの重み付け加算を行う誤差フィルタ８と、から構成されている。
【０００３】
以上のように構成される従来の画像処理装置について、その動作を説明する。入力端子１から入力する画信号に加算器２が誤差フィルタ８からの出力を加算する。次に、コンパレータ４は、加算器２の出力を閾値発生部３の発生する閾値で２値化し、この結果は出力端子５より出力される。また、減算器６は、加算器２の出力をコンパレータ４の出力で減算し誤差データとして誤差メモリ７に格納する。誤差フィルタ８は、減算器６の出力する注目画素の誤差（Ｅｒｒｏｒ（ｐ））に、誤差メモリ７に記憶されている既に２値化済の周辺複数画素ａ〜ｄにおける誤差（Ｅｒｒｏｒ（ａ）〜Ｅｒｒｏｒ（ｄ））を、例えばそれぞれ４分の１ずつ重み付け加算する。このように、従来の画像処理装置では、２値化誤差の配分の割合は、一定の値が決められている。誤差フィルタ８の出力は、上述したように加算器２により入力画信号に加算される。
【０００４】
以上のように、入力画信号とこの入力画信号を２値化した際の出力画信号との誤差を周辺複数画素へ拡散することで画質の向上を図っていた。
【０００５】
【発明が解決しようとする課題】
しかし、上記の従来技術では、注目画素の周辺画素に対する２値化誤差の配分の割合が、注目画素と常に一定の位置関係に保持されているため、濃度変化の少ない画像や計算機で生成された均一な濃度の画像などでは、図７（ａ）に示すような特有の模様（テクスチャ）が発生し、階調特性・分解能が低下する問題があった。また、図７（ｄ）に示すように、白から黒へ変化する部分は、拡散すべき誤差が急変するため、注目画素が前の誤差の影響を受け、白抜けや黒潰れが発生するという問題点がある。
本発明は、このような問題点に鑑みてなされたものであり、誤差拡散特有のテクスチャパターンの発生を抑制し、階調特性・分解能に優れた画像処理装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記の目的を達成するために、請求項１記載の発明は、現ライン内の処理対象画素の入力レベルを判定する第１の入力レベル判定手段と、前記入力レベルに対応した複数の係数を保持し前記第１の入力レベル判定手段の判定結果に応じて前記係数を画素毎に出力する係数出力手段と、入力画像データとこの入力画像データを２値化した際の出力画像データとの誤差を前記出力された係数を用いて前記処理対象画素の周辺画素に伝播させる伝播誤差演算手段と、を備え、前記係数出力手段は、各前記入力レベル毎に複数の係数を保持する係数保持手段と、この係数保持手段から使用候補の係数を乱数により各前記入力レベル毎に選択する複数の係数選択手段と、入力レベル判定結果に応じて前記複数の係数選択手段のいずれかの出力を選択する出力係数選択手段と、を備え、前記伝播誤差演算手段は、処理対象画素の入力レベルが所定値より大であるときは入力レベル判定値が１と判定し、前記所定値以下であるときは前記入力レベル判定値が０と判定する第２の入力レベル判定手段と、前記処理対象画素と前記処理対象画素に対して現ライン上における前後の画素とからなる３画素についての前記第２の入力レベル判定手段からの入力レベル判定値に応じて誤差データの分配を制御する平滑化制御信号を出力する平滑化制御手段と、前記処理対象画素から前記処理対象画素の次ラインにあり前記処理対象画素の左下、下、右下にある周辺画素それぞれに伝播した誤差データの集積値を、前記処理対象画素の左下、下、右下にある周辺画素それぞれへ前記平滑化制御信号に応じて分配することにより平滑化処理する誤差平滑化手段と、を備え、前記平滑化制御手段は、前記処理対象画素の前記入力レベル判定値が０であるときは、前記平滑化制御信号を０に設定して出力し、前記処理対象画素と前記処理対象画素の前の画素と前記処理対象画素の後の画素それぞれについての前記入力レベル判定値が１、０、０であるときは、前記平滑化制御信号を０に設定して出力し、前記処理対象画素と前記処理対象画素の前の画素と前記処理対象画素の後の画素それぞれについての前記入力レベル判定値が１、０、１であるときは、前記平滑化制御信号を１に設定して出力し、前記処理対象画素と前記処理対象画素の前の画素と前記処理対象画素の後の画素それぞれについての前記入力レベル判定値が１、１、０であるときは、前記平滑化制御信号を２に設定して出力し、前記処理対象画素と前記処理対象画素の前の画素と前記処理対象画素の後の画素それぞれについての前記入力レベル判定値が１、１、１であるときは、前記平滑化制御信号を３に設定して出力し、前記誤差平滑化手段は、前記平滑化制御信号が０の場合は、前記処理対象画素の下にある周辺画素に誤差値として前記誤差データの集積値を全部分配し、前記平滑化制御信号が１の場合は、前記処理対象画素の下にある周辺画素と、前記処理対象画素の右下にある周辺画素とに、前記誤差データの集積値を所定の割合で分配し、前記平滑化制御信号が２の場合は、前記処理対象画素の左下にある周辺画素と、前記処理対象画素の下にある周辺画素とに、前記誤差データの集積値を所定の割合で分配し、前記平滑化制御信号が３の場合は、前記処理対象画素の左下にある周辺画素と、前記処理対象画素の下にある周辺画素と、前記処理対象画素の右下にある周辺画素とに、前記誤差データの集積値を所定の割合で分配する構成を採る。
【０００７】
このような構成により、入力レベルに応じて最適な誤差伝播係数を設定することができるため、誤差拡散処理に特有のテクスチャーパターンの発生を抑制することができ、高画質化を図ることができる。
【０００９】
このような構成により、入力レベルに応じて最適な誤差を伝播する係数を複数設定し、乱数によりこれらの係数を選択して、入力レベルの判定結果に適合した誤差伝播係数を選定することができるため、より効果的にテクスチャーパターンの発生を抑制することができ、高画質化を図ることができる。
【００１１】
このような構成により、次ラインの誤差データを平滑化することができるため、より効果的に誤差拡散処理に特有のテクスチャーパターンの発生を抑制することができる。
【００１２】
また、請求項２記載の発明は、請求項１に記載の画像処理装置において、係数出力手段は、誤差を伝播させるそれぞれの方向ごとに、処理対象画素の入力レベルと被伝播画素レベルとの差の絶対値が所定の設定値より大きく、かつ、入力レベルの誤差の値と被伝播画素レベルの誤差の値の正負が異なっている場合に変化ありと判定し、それ以外の場合には変化なしと判定する入力変化判定手段と、この判定結果が変化ありとなる方向に対しては、前記係数を０とし、変化なしとなる方向に対しては、前記出力係数選択手段から入力された前記係数をそのまま出力する係数制御手段と、を備える構成を採る。
【００１３】
このような構成により、入力画素のレベルと誤差が伝播される画素の変化に応じて誤差を伝播させる係数を制御することができるため、処理対象の画素が前の誤差を引きずることがなくなり、誤差拡散特有の輪郭部の白抜けや黒つぶれの発生を抑制することができる。
【００１４】
また、請求項３記載の発明は、請求項１又は請求項２に記載の画像処理装置において、係数出力手段は、各前記入力レベル毎に複数の係数を保持した係数保持部が各色毎に設けられた係数保持手段と、処理対象カラーを示すカラー選択信号により前記複数の係数保持部から処理対象カラーの係数保持部を選択する係数保持部選択手段と、選択した係数保持部から前記入力レベル判定結果に応じた係数を選択する出力係数選択手段と、を備える構成を採る。
【００１５】
このような構成により、カラー画像を処理する場合は、色毎に入力レベル応じて最適な誤差を伝播する係数を設定することができ、色毎に異なるドット配置をとることができるため、色間のドットの重なりを低減することができ、色再現性を向上させることができる。
【００１６】
また、請求項４記載の発明は、請求項３記載の画像処理装置において、係数出力手段は、各前記入力レベル毎に複数の係数を保持する係数保持部から使用候補の係数を乱数により各前記入力レベル毎に選択する複数の係数選択手段を備える構成を採る。
【００１７】
このような構成により、入力レベルに応じて最適な誤差を伝播する係数を複数設定し、乱数によりこれらの係数を選択して、入力レベルの判定結果に適合した誤差伝播係数を選定することができるため、より効果的にテクスチャーパターンの発生を抑制することができ、高画質化を図ることができる。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して説明する。
(実施の形態１)
図１は、実施の形態１の画像処理装置の全体構成図である。
同図において、誤差加算部１０１は、処理を実行する現ラインデータの画素に前ラインからの誤差Ｅｍｏと前画素からの誤差Ｅ１とを加算して誤差補正済み画素データ生成し、これを２値化手段１０２及び２値化誤差算出部１０３に出力する。２値化手段１０２は、誤差加算部１０１から出力される誤差補正済み画素データを２値化した２値化データを出力する。２値化誤差算出部１０３は、誤差補正済み画素データと２値化データとから２値化誤差Ｅを算出し、これを伝播誤差演算部１０４に出力する。伝播誤差演算部１０４は、２値化誤差算出部１０３から入力された２値化誤差Ｅを後述する伝播係数により周辺画素に伝播させる誤差（次画素への誤差Ｅ１、次ラインへの誤差Ｅｍｉ）を算出し、誤差Ｅ１を誤差加算部１０１へ、誤差Ｅｍｉを誤差メモリ１０６へ出力する。伝播係数決定部１０５は、現ラインデータの入力レベルと次ラインデータとの変化状態から誤差伝播係数（Ｋ１、Ｋ２、Ｋ３、Ｋ４）を決定し、これらを伝播誤差演算部１０４に出力する。誤差メモリ１０６は、伝播誤差演算部１０４から入力される誤差Ｅｍｉを一時記憶する。
【００２１】
次に、上記伝播係数決定部１０５について、図２を参照して説明する。
誤差伝播係数保持手段２０１は、複数の誤差伝播係数を保持する。この誤差伝播係数は、各入力レベルに応じてテクスチャーパターンの発生が最も少なくなる値をとるように設定されている。また、本実施の形態では、図２に示すように、誤差伝播係数は、４つの係数で一つの群を形成し、誤差伝播係数保持手段２０１は、４つの群を保持している。Ｋｔ１１〜Ｋｔ１４の群と、Ｋｔ２１〜Ｋｔ２４の群とは、入力レベルが高い場合に使用する係数が設定され、Ｋｔ３１〜Ｋｔ３４の群と、Ｋｔ４１〜Ｋｔ４４の群とは、入力レベルが低い場合に使用する係数が設定されている。
【００２２】
第１係数選択部２０２は、Ｋｔ１１〜Ｋｔ１４の群又はＫｔ２１〜Ｋｔ２４の群のいずれかを、第２係数選択部２０３は、Ｋｔ３１〜Ｋｔ３４の群又はＫｔ４１〜Ｋｔ４４の群のいずれかを、乱数発生部２０４が発生する乱数信号により選択する。なお、本実施の形態では、第１係数選択部２０２及び第２係数選択部２０３は、係数の群を二者択一的に選択するため、乱数発生部２０４が発生する乱数信号は、０又は１で足りる。
【００２３】
第３係数選択部２０５は、入力レベルを判定する入力レベル判定部２０６が出力するレベル判定信号を参照して、第１係数選択部２０２の出力又は第２係数選択部２０３の出力のいずれか一方を選択し、係数制御部２０７へ出力する。
【００２４】
係数制御部２０７は、入力変化判定部２０８が出力する入力変化判定信号を参照して、第３係数選択部２０５で選択された係数を周辺画素の係数としてどのように出力するかを制御する。入力変化判定部２０８は、入力される現ラインデータと次ラインデータとから処理対象画素と誤差が伝播された画素の画素レベルの変化を判定する。
【００２５】
なお、本実施の形態では、上記のように４つの群を用いているが、本発明は、これに限定されず、より多数の誤差伝播係数を用いて群を形成してもよい。
【００２６】
次に、上記伝播誤差演算部１０４について、図３を参照して説明する。
伝播誤差演算部１０４は、第１乗算器３０１〜第４乗算器３０４を備え、これら乗算器は、伝播係数決定部１０５から入力される誤差伝播係数Ｋ１〜Ｋ４と２値化誤差算出部１０３から入力される２値化誤差Ｅとを乗算して周辺画素への伝播誤差Ｅ１〜Ｅ４をそれぞれ算出する。第１乗算器３０１は、算出した誤差Ｅ１を誤差加算部１０１へ出力する。誤差集積部３０５は、第２乗算器３０２〜第４乗算器３０４が算出した次ラインへの伝播誤差Ｅ２〜Ｅ４を集積し、誤差Ｅｓ２を出力する。この伝播誤差Ｅ２〜Ｅ４の集積は、隣接する画素から同様に算出された伝播誤差と加算し、最終的な次ラインへの伝播誤差を演算することを意味する。入力レベル判定部３０６は、現ラインデータから入力レベルを判定し入力レベル判定信号を平滑化制御部３０７へ出力する。平滑化制御部３０７は、入力レベル判定信号により誤差平滑化部３０８の平滑化を制御する平滑化制御信号を出力する。誤差平滑化部３０８は、次ラインへの伝播誤差Ｅｓ２を平滑化制御部３０７から入力される平滑化制御信号により平滑化し次ラインへの誤差Ｅｍｉを出力する。
【００２７】
次に、実施の形態１の画像処理装置における伝播係数決定部１０５の動作について、図４に示すフローチャートを参照して説明する。
まず、乱数発生部２０１が乱数信号を第１係数選択部２０３と第２係数選択部２０４に出力する。第１係数選択部２０３では、入力された乱数が０であるか否かを判断し、誤差伝播係数Ｋｔ１の群又は誤差伝播係数Ｋｔ２の群を選択し、いずれか一方を第３係数選択部２０７へ出力する。一方、第２係数選択部２０４も同様に、入力された乱数が０であるか否かを判断し、誤差伝播係数Ｋｔ３の群又は誤差伝播係数Ｋｔ４の群を選択し、いずれか一方を第３係数選択部２０７へ出力する。
【００２８】
入力レベル判定部２０６では、入力レベルと予め設定されている比較レベルＬｖとを比較する。その結果、第３係数選択部２０７は、入力レベルがＬｖより大きければ、第１係数選択部２０３の選択結果を、小さければ第２係数選択部２０４の選択結果を選択して係数制御部２０８へ出力する。なお、上記のＬｖは、ハイライト部のテクスチャーが発生するレベルを示す数値であり、予め種々の誤差拡散係数によりそのレベルを実際に誤差拡散させ、その結果によりテクスチャーパターンの発生の頻度が低い係数の組み合わせがある場合にその出力パターンにより決定するものである。
【００２９】
一方、入力変化判定部２０５では、誤差を伝播させるそれぞれの方向について、入力される現ラインデータと次ラインデータとから処理対象画素と誤差が伝播された画素の画素レベルの変化を以下のように判定する。すなわち、入力レベルと被伝播画素レベルとの差の絶対値が任意の設定値（例えば、６４）より大きく、かつ、入力レベルの誤差の値と被伝播画素レベルの誤差の値の正負が異なっている場合に変化ありと判定する。例えば、２５６階調の場合、閾値を１２８とすると、入力レベルが８０であれば２値化すると０となり、誤差は＋８０、一方、次の画素のレベルが１５５であれば、２値化すると２５５となり、誤差は−１００となる。この場合、入力レベルと被伝播画素レベルとの差の絶対値は７５、誤差が＋８０と−１００であるため、黒から白へ急激に変化することとなる。このような場合、入力変化判定部２０５では変化ありと判定する。一方、上記要件に当てはまらない場合は、変化なしと判定する。
【００３０】
この入力変化判定部２０５の判定結果は、入力結果判定信号として係数制御部２０８へ入力される。ここで、入力レベルと被伝播画素レベルとの差の絶対値を６４を基準に判定するのは、エッジを判断するにあたり、入力の値が０〜２５５の２５６通りの場合、この１／４以上の差がある時、入力と伝播画素とが急激に変化すると考えられるためである。従って、この数値に限定されるわけではなく、レジスタ係数構成でこの値を可変とすることも可能である。
【００３１】
係数制御部２０８では、入力変化判定部２０５から入力される誤差を伝播させるそれぞれの方向についての入力結果判定信号が、変化なしの場合は、そのまま第３係数選択部２０７から入力された伝播係数を出力する。一方、変化ありの場合は、現ラインデータの誤差が次ラインデータへ引きずられることによる輪郭部の白抜け等の発生を防止するため、その方向への伝播係数を０として出力する。例えば、２５６階調の場合、閾値を１２８とすると、現ラインデータが１２７だとすると、誤差は＋１２７となり、これが次画素及び次ライン画素に伝播される。ところが、その誤差を受け取る画素が２５４だとすると、その画素自体の持っている誤差は−１であり、仮に２５４のデータがそれ以降続く場合、本来なら−１２７の誤差を受け取った時点で、黒点が出現するが、＋１２７の誤差の一部を受け取った場合は、周辺画素より受け取った誤差量１２７×（伝播係数）が画素データの２５４に加算されるため、誤差量が１２７×（伝播係数）−１になり、正の誤差を持つ白点が続き、その正の誤差がなくなるまで本来の状態には戻らないこととなる。この結果、白抜けが発生する。そこで、変化の急激な部分を検出して伝播係数を０として誤差伝播を止めることによって、白抜けを防止することができる。
【００３２】
次に、実施の形態１の画像処理装置における伝播誤差演算部１０４の動作について、図５に示すフローチャートを参照して説明する。
まず、第１乗算器３０１〜第４乗算器３０４のそれぞれにおいて、２値化誤差算出部１０３から入力された２値化誤差Ｅと、伝播係数決定部１０５から入力される伝播係数Ｋ１、Ｋ２、Ｋ３、Ｋ４とを乗算する。この乗算結果は、図６（ａ）に示すように、伝播誤差として、右画素へはＥ１、左下画素へはＥ２、下画素へはＥ３、右下画素へはＥ４となる。このように、伝播係数Ｋ１、Ｋ２、Ｋ３、Ｋ４を２値化誤差Ｅに乗算することによって、誤差を配分する位置関係が決定する。
【００３３】
上記の伝播誤差Ｅ２〜Ｅ４は、誤差集積部３０５に入力され、図６（ｂ）に示すように、次の演算が行われる。
Ｅｓ２＝Ｅｓ３＋Ｅ２
Ｅｓ３＝Ｅｓ４＋Ｅ３
Ｅｓ４＝Ｅ４
ここで、Ｅｓ２は、集積された誤差であり、Ｅｓ３とＥｓ４は誤差集積部３０５内の集積用レジスタ係数である。
この演算の結果、Ｅｓ２は誤差平滑化部３０７に出力され、Ｅｓ３およびＥｓ４は誤差集積部３０５内に保存される。
【００３４】
一方、入力レベル判定部３０６では、現ラインデータの次に処理をする画素のレベルと、予め設定されているレベルＬｖとを比較し、入力レベルがＬｖよりも大きい場合は、入力レベル判定信号として１を出力する。一方、入力レベルがＬｖ以下の場合は、入力レベル判定信号として０を出力する。
【００３５】
また、平滑化制御部３０７では、入力レベル判定信号を３画素分保存し、その３画素分の入力レベル判定信号で現データと、前データと、後データとを区別する。ここで、現データが０であるか１であるかを判定し、０であれば誤差平滑化部３０８へ出力する平滑化制御信号を０に設定する。一方、現データが１であると判定した場合は、前データが０であるか１であるかを判定し、前データが０であれば後データが０であるか１であるかを判定する。この後データが０であると判定すると、平滑化制御信号を０に設定し、１であると判定すると平滑化制御信号を１に設定する。また、前データが１であると判定すると、後データが０であるか１であるかを判定し、０であると判定すると平滑化制御信号を２に設定し、１であると判定すると平滑化制御信号を３に設定する。
【００３６】
次に、誤差平滑化部３０８では、上記の平滑化制御信号の値に応じて処理を振り分け、以下のような演算を行う。
▲１▼  平滑化制御信号が０の場合
Ｅｈｌ＝０、Ｅｈｃ＝Ｅｓ２、Ｅｈｒ＝０
▲２▼  平滑化制御信号が１の場合
Ｅｈｌ＝０、Ｅｈｃ＝Ｅｓ２×（２／３）、Ｅｈｒ＝Ｅｓ２×（１／３）
▲３▼  平滑化制御信号が２の場合
Ｅｈｌ＝Ｅｓ２×（１／３）、Ｅｈｃ＝Ｅｓ２×（２／３）、Ｅｈｒ＝０
▲４▼  平滑化制御信号が３の場合
Ｅｈｌ＝Ｅｓ２×（１／３）、Ｅｈｃ＝Ｅｓ２×（１／３）、Ｅｈｒ＝Ｅｓ２×（１／３）
【００３７】
上記のような演算が実施されることにより、誤差の平滑化が行われ、Ｅｈｌ、Ｅｈｃ、Ｅｈｒが決定される。誤差平滑化部３０８は、図６（ｃ）に示すように、これらの平滑化された誤差を次のように再集積する。
Ｅｍｉ＝Ｅｈｌ＋Ｅｈ０、Ｅｈ０＝Ｅｈｃ＋Ｅｈ１、Ｅｈ１＝Ｅｈｒ
このＥｍｉは、誤差メモリ１０６へ出力され、Ｅｈ０及びＥｈ１は、誤差平滑化部３０８で保存される。
ここで、Ｅｍｉは、再集積した次ラインへの誤差であり、Ｅｈ０とＥｈ１は、誤差平滑化部３０８内の再集積用レジスタ係数である。
【００３８】
以上のように、本実施の形態によれば、入力レベルに応じて最適な伝播係数を選択することができ、また、入力画像のレベルに応じて画素単位で平滑化を行うことができるため、誤差拡散特有のテクスチャパターンの発生を抑制し、高画質化を図ることができる。
【００３９】
(実施の形態２)
次に、カラー画像を取り扱う場合について説明する。この場合、図１における伝播係数決定部１０５を構成する誤差伝播係数保持手段２０２の部分が、図８に示す３つの誤差伝播係数保持手段８０１〜８０３が接続された第４係数選択部８０４に置き換わる。Ｒ誤差伝播係数保持手段８０１は赤のデータ、Ｇ誤差伝播係数保持手段８０２は緑のデータ、Ｂ誤差伝播係数保持手段８０３は青のデータ、をそれぞれ処理する際に使用する係数群を保持している。第４係数選択部８０４は、現画像の色を示すカラー選択信号によって前記各色の誤差伝播係数保持手段を選択し、この選択した誤差伝播係数保持手段を第１係数選択部２０３及び第２係数選択部２０４に出力する。
【００４０】
次に、上記のようなカラー画像を取り扱う場合の動作について、図９を参照して説明する。基本的な動作は、上記の図４に示したフローと同様であるが、第１及び第２係数選択部における係数の選択の前に、第４係数選択部の動作が加わる。すなわち、カラー選択信号が第４係数選択部８０４に入力されるとその色を判断する。その判断結果に応じて、Ｒ誤差伝播係数保持手段、Ｇ誤差伝播係数保持手段、Ｂ誤差伝播係数保持手段、のいずれかから係数群を選択する。この選択した係数群を第１係数選択部２０３及び第２係数選択部２０４に出力する。これ以降の動作は、図４において説明した動作と同様であるため、説明を省略する。
【００４１】
以上のように、本発明によれば、色毎に誤差伝播係数を切り替えることができるため、色毎に異なるドット配置を取ることができ、色間のドットの重なりを低減させることができる。
【００４２】
【発明の効果】
以上の説明から明らかなように、本発明によれば、入力レベルに応じて最適な誤差伝播係数を設定することができるため、誤差拡散処理に特有のテクスチャーパターンの発生を抑制することができ、高画質化を図ることができる。
【００４３】
また、入力レベルに応じて最適な誤差を伝播する係数を複数設定し、乱数によりこれらの係数を選択して、入力レベルの判定結果に適合した誤差伝播係数を選定することができるため、より効果的にテクスチャーパターンの発生を抑制することができ、高画質化を図ることができる。
【００４４】
また、次ラインの誤差データを平滑化することができるため、より効果的に誤差拡散処理に特有のテクスチャーパターンの発生を抑制することができる。
【００４５】
また、入力画素のレベルと誤差が伝播される画素の変化に応じて誤差を伝播させる係数を制御することができるため、処理対象の画素が前の誤差を引きずることがなくなり、誤差拡散特有の輪郭部の白抜けや黒つぶれの発生を抑制することができる。
【００４６】
また、カラー画像を処理する場合は、色毎に入力レベル応じて最適な誤差を伝播する係数を設定することができ、色毎に異なるドット配置をとることができるため、色間のドットの重なりを低減することができ、色再現性を向上させることができる。
【００４７】
また、入力レベルに応じて最適な誤差を伝播する係数を複数設定し、乱数によりこれらの係数を選択して、入力レベルの判定結果に適合した誤差伝播係数を選定することができるため、より効果的にテクスチャーパターンの発生を抑制することができ、高画質化を図ることができる。
【００４８】
また、係数保持手段が保持する係数をテクスチャーパターンの発生を抑制するための最適な値とすることができるため、誤差拡散処理に特有のテクスチャーパターンの発生を抑制することができる。
【図面の簡単な説明】
【図１】本発明の画像処理装置の全体構成図。
【図２】伝播係数決定部の構成を示すブロック図。
【図３】伝播誤差演算部の構成を示すブロック図。
【図４】伝播係数決定部の処理を示すフロー図
【図５】伝播誤差演算部の処理を示すフロー図。
【図６】誤差の伝播状態を示すブロック図。
【図７】従来及び本発明の画面表示を示すサンプル図。
【図８】カラー画像を処理する場合の係数の保持状態を示すブロック図。
【図９】カラー画像を処理する場合のフロー図。
【図１０】従来の画像処理装置の全体構成図。
【符号の説明】
１０１  誤差加算部
１０２  ２値化手段
１０３  ２値化誤差算出部
１０４  伝播誤差演算部
１０５  伝播係数決定部
１０６  誤差メモリ
【図１】
0004071847.tif 000002
【図２】
0004071847.tif 000003
【図３】
0004071847.tif 000004
【図４】
0004071847.tif 000005
【図５】
0004071847.tif 000006
【図６】
0004071847.tif 000007
【図７】
0004071847.tif 000008
【図８】
0004071847.tif 000009
【図９】
0004071847.tif 000010
【図１０】
0004071847.tif 000011