(57)【要約】【課題】原画像データに基づき形成されるドットの分散性を向上させつつ原画像データの処理量を抑制する。【解決手段】本発明に係る画像処理装置は、所定ビット数の原画像データに対して３値以上の量子化をおこなうようになっている。画像処理装置は、原画像データを濃色用画像データＤi,jと淡色用画像データＬi,jとにそれぞれ分解し、その後、濃色用画像データＤi,jに対して逆相関型のデジタルハーフトーニング処理をおこない、濃色用画像データＤi,jを量子化し、さらにその後、濃色用画像データＤi,jの出力値ＤＤi,jに基づき、淡色用画像データＬi,jに対して誤差拡散処理又はディザ処理をおこない、淡色用画像データＬi,jを量子化するようになっている。【選択図】図２
2005073183.tif 000002
【特許請求の範囲】
【請求項１】
所定ビット数の原画像データに対して３値以上の量子化をおこなう画像処理装置であって、
前記原画像データを２以上の画像データに分解する分解手段と、
前記原画像データから分解された一方の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記一方の画像データを量子化する第１の量子化手段と、
前記原画像データから分解された他方の画像データに対して誤差拡散処理又はディザ処理をおこない、前記他方の画像データを量子化する第２の量子化手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記第２の量子化手段は、前記第１の量子化手段により量子化された前記一方の画像データの出力値に基づき、前記他方の画像データに対して誤差拡散処理又はディザ処理をおこない、前記他方の画像データを量子化することを特徴とする画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置において、
前記第１の量子化手段により量子化された前記一方の画像データの出力値と、前記第２の量子化手段により量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを指示する信号にそれぞれ対応しており、
前記第１の量子化手段が、前記一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、前記第２の量子化手段は、前記他方の画像データからドットの形成を指示しない旨の出力値を算出することを特徴とする画像処理装置。
【請求項４】
請求項１〜３のいずれか一項に記載の画像処理装置において、
前記第２の量子化手段が誤差拡散処理又はディザ処理のうち誤差拡散処理をおこなうとともに、
前記第１の量子化手段により量子化された前記一方の画像データの出力値と、前記第２の量子化手段により量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを指示する信号にそれぞれ対応しており、
前記第１の量子化手段が、前記一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、前記第２の量子化手段は、前記他方の画像データに対する量子化誤差を低減することを特徴とする画像処理装置。
【請求項５】
請求項１〜４のいずれか一項に記載の画像処理装置において、
前記第１の量子化手段により量子化された前記一方の画像データの出力値と、前記第２の量子化手段により量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを濃淡別に指示する信号にそれぞれ対応しており、
前記第１の量子化手段により量子化された前記一方の画像データの出力値が、最も濃いドットを形成するか否かを指示する信号に対応することを特徴とする画像処理装置。
【請求項６】
所定ビット数の原画像データに対して３値以上の量子化をおこなう画像処理方法であって、
前記原画像データを２以上の画像データに分解する分解工程と、
前記分解工程の後に、前記原画像データから分解された一方の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記一方の画像データを量子化する第１の量子化工程と、
前記第１の量子化工程の後に、前記原画像データから分解された他方の画像データに対して誤差拡散処理又はディザ処理をおこない、前記他方の画像データを量子化する第２の量子化工程と、
を備えることを特徴とする画像処理方法。
【請求項７】
請求項６に記載の画像処理方法において、
前記第２の量子化工程では、前記第１の量子化工程で量子化された前記一方の画像データの出力値に基づき、前記他方の画像データに対して誤差拡散処理又はディザ処理をおこない、前記他方の画像データを量子化することを特徴とする画像処理方法。
【請求項８】
請求項６又は７に記載の画像処理方法において、
前記第１の量子化工程で量子化された前記一方の画像データの出力値と、前記第２の量子化工程で量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを指示する信号にそれぞれ対応しており、
前記第１の量子化工程で、前記一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、前記第２の量子化工程では、前記他方の画像データからドットの形成を指示しない旨の出力値を算出することを特徴とする画像処理方法。
【請求項９】
請求項６〜８のいずれか一項に記載の画像処理方法において、
前記第２の量子化工程では、誤差拡散処理又はディザ処理のうち誤差拡散処理がおこなわれるとともに、
前記第１の量子化工程で量子化された前記一方の画像データの出力値と、前記第２の量子化工程で量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを指示する信号にそれぞれ対応しており、
前記第１の量子化工程で、前記一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、前記第２の量子化工程では、前記他方の画像データに対する量子化誤差を低減することを特徴とする画像処理方法。
【請求項１０】
請求項６〜９のいずれか一項に記載の画像処理方法において、
前記第１の量子化工程で量子化された前記一方の画像データの出力値と、前記第２の量子化工程で量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを濃淡別に指示する信号にそれぞれ対応しており、
前記第１の量子化工程で量子化された前記一方の画像データの出力値が、最も濃いドットを形成するか否かを指示する信号に対応することを特徴とする画像処理方法。
【請求項１１】
所定ビット数の原画像データに対して３値以上の量子化をおこなう画像処理装置に、
前記原画像データを２以上の画像データに分解する分解機能と、
前記原画像データから分解された一方の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記一方の画像データを量子化する第１の量子化機能と、
前記原画像データから分解された他方の画像データに対して誤差拡散処理又はディザ処理をおこない、前記他方の画像データを量子化する第２の量子化機能と、
を実現させるための画像処理プログラム。
【請求項１２】
請求項１１に記載の画像処理プログラムにおいて、
前記第２の量子化機能は、前記第１の量子化機能により量子化された前記一方の画像データの出力値に基づき、前記他方の画像データに対して誤差拡散処理又はディザ処理をおこない、前記他方の画像データを量子化することを特徴とする画像処理プログラム。
【請求項１３】
請求項１１又は１２に記載の画像処理プログラムにおいて、
前記第１の量子化機能により量子化された前記一方の画像データの出力値と、前記第２の量子化機能により量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを指示する信号にそれぞれ対応しており、
前記第１の量子化機能で、前記一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、前記第２の量子化機能は、前記他方の画像データからドットの形成を指示しない旨の出力値を算出することを特徴とする画像処理プログラム。
【請求項１４】
請求項１１〜１３のいずれか一項に記載の画像処理プログラムにおいて、
前記第２の量子化機能では、誤差拡散処理又はディザ処理のうち誤差拡散処理がおこなわれるとともに、
前記第１の量子化機能により量子化された前記一方の画像データの出力値と、前記第２の量子化機能により量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを指示する信号にそれぞれ対応しており、
前記第１の量子化機能で、前記一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、前記第２の量子化機能は、前記他方の画像データに対する量子化誤差を低減することを特徴とする画像処理プログラム。
【請求項１５】
請求項１１〜１４のいずれか一項に記載の画像処理プログラムにおいて、
前記第１の量子化機能により量子化された前記一方の画像データの出力値と、前記第２の量子化機能により量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを濃淡別に指示する信号にそれぞれ対応しており、
前記第１の量子化機能により量子化された前記一方の画像データの出力値が、最も濃いドットを形成するか否かを指示する信号に対応することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定ビット数の原画像データに対して３値以上の量子化をおこなう画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
従来、多階調の原画像データを擬似中間調の出力用画像データに変換する量子化処理の手法として、組織的ディザ法、誤差拡散法などが知られている。このなかでも、誤差拡散法は比較的高い画質を得ることができるため、高画質の画像を得るための用途に用いられることが多く、種々の改良がなされてきた。誤差拡散法の画質的な課題は、ノイズを増幅させずにアルゴリズム特有のテクスチャーをいかに低減させるかである。
【０００３】
例えば、特許文献１では、複数の誤差拡散マトリクスを利用して均一性を確保しようと試みている。具体的には、２つのマトリクスを入力値に応じて切り替え、大きいマトリクスをハイライトやシャドー部で使用しウォームを防ぎ、小さいマトリクスを中域部で使用しノイズを抑えようとする。
【０００４】
特許文献２では、ハイライト及びシャドー領域でより均一な結果を生成するため、出力値に依存する閾値を用いて閾値を変更する。具体的には２値化出力が白か黒かで、入力に応じた閾値変更を周囲画素に対しておこない、それを繰り返し伝搬して用いる。その他にも、誤差拡散マトリクスのサイズ、係数を最適化する方法や、処理順序（走査方向）の変更などが行われてきた。これら手法からは一定の効果を得ることはできたが、十分と呼べるような効果を得ることはできなかった。
【０００５】
一方、これらの誤差拡散法やその改良方法、ディザ法などとは異なる量子化処理の手法として、逆相関型のデジタルハーフトーニング法が提案されている（非特許文献１参照）。この方法は、画素毎にドットの出現情報を表す配列（以下「ドット出現パターン」という。）、すなわち、注目画素を構成する階調数に実質的に比例した数だけドットの有無情報を配列させたドット出現パターンを設定し、その情報に基づきハーフトーニングする方法であって、注目画素についてのドット出現パターンの内容決定においては、注目画素の周辺画素について既に決定済みのドット出現パターンを用い、これらドット出現パターンを構成する要素の要素番号毎に、周辺画素にドットが出現する期待値（以下「ヒストグラム」という。）を算出し、この期待値に基づき、ドット出現数の少ない要素番号にドット有り情報を優先的に設定し、ドット出現数の多い要素番号にドット無し情報を設定するよう、注目画素のドット出現パターンを決める方法である。
【０００６】
上記逆相関型のデジタルハーフトーニング法では、１つの画素に着目した場合にはドットの出現頻度がその画素の画素値に比例し、近接する複数の画素に着目した場合には各画素でのドットの出現の仕方が周辺画素との逆相関を実質的に最大とすることとなるため、画像の記録時において記録媒体に形成されるドットの分散性を向上させることができる。
【特許文献１】特開平４−３２８５９７号公報
【特許文献２】特開平８−１０７５００号公報
【非特許文献１】ドミトリ・Ａ・グゼフ（Dmitri A. Gusev）、“Anti-Correlation Digital Halftoning”、［online］、平成１０年８月、インディアナ大学、［平成１５年、７月１日検索］、インターネット＜ＵＲＬhttp://www.cs.indiana.edu/cgi-bin/techreports/TRNNN.cgi?trnum=TR513＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、上記特許文献１又は特許文献２を含む誤差拡散法にて原画像データを３レベル以上に量子化する場合、原画像データから得られる各レベルの出力は隣接レベルと相補的に発生するので、各レベルを任意に発生させることができない。このため、１つのレベルが単一に１００％を占める部分を生じ、それ以外の像構造との違いから輪郭を生じたりバンディングが見えやすかったりすることがある。これを避けるために、画像データを複数のデータに分解してハーフトーニングすればよいが、誤差拡散法ではドットの疎な部分の分散性が悪く、ノイズとして知覚（視認）されやすかった。またブルーノイズ特性を有するディザ法では、誤差拡散法に比べて、前述のドットの疎な部分の分散性は改善されることはあるが、全体的なザラツキ感が高くなる傾向がある。一方、逆相関型のデジタルハーフトーニング法を用いた原画像データの処理では、誤差拡散法やディザ法を用いた処理よりも原画像データの処理量が増加する。
【０００８】
本発明の目的は、原画像データを３値以上に量子化する場合に、原画像データに基づき形成されるドットの分散性を向上させつつ原画像データの処理量を抑制することができる画像処理装置、画像処理方法及び画像処理プログラムを提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、請求項１に記載の発明は、
所定ビット数の原画像データに対して３値以上の量子化をおこなう画像処理装置であって、
前記原画像データを２以上の画像データに分解する分解手段と、
前記原画像データから分解された一方の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記一方の画像データを量子化する第１の量子化手段と、
前記原画像データから分解された他方の画像データに対して誤差拡散処理又はディザ処理をおこない、前記他方の画像データを量子化する第２の量子化手段と、
を備えることを特徴としている。
【００１０】
請求項２に記載の発明は、
請求項１に記載の画像処理装置において、
前記第２の量子化手段は、前記第１の量子化手段により量子化された前記一方の画像データの出力値に基づき、前記他方の画像データに対して誤差拡散処理又はディザ処理をおこない、前記他方の画像データを量子化することを特徴としている。
【００１１】
請求項３に記載の発明は、
請求項１又は２に記載の画像処理装置において、
前記第１の量子化手段により量子化された前記一方の画像データの出力値と、前記第２の量子化手段により量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを指示する信号にそれぞれ対応しており、
前記第１の量子化手段が、前記一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、前記第２の量子化手段は、前記他方の画像データからドットの形成を指示しない旨の出力値を算出することを特徴としている。
【００１２】
請求項４に記載の発明は、
請求項１〜３のいずれか一項に記載の画像処理装置において、
前記第２の量子化手段が誤差拡散処理又はディザ処理のうち誤差拡散処理をおこなうとともに、
前記第１の量子化手段により量子化された前記一方の画像データの出力値と、前記第２の量子化手段により量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを指示する信号にそれぞれ対応しており、
前記第１の量子化手段が、前記一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、前記第２の量子化手段は、前記他方の画像データに対する量子化誤差を低減することを特徴としている。
【００１３】
請求項５に記載の発明は、
請求項１〜４のいずれか一項に記載の画像処理装置において、
前記第１の量子化手段により量子化された前記一方の画像データの出力値と、前記第２の量子化手段により量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを濃淡別に指示する信号にそれぞれ対応しており、
前記第１の量子化手段により量子化された前記一方の画像データの出力値が、最も濃いドットを形成するか否かを指示する信号に対応することを特徴としている。
【００１４】
請求項６に記載の発明は、
所定ビット数の原画像データに対して３値以上の量子化をおこなう画像処理方法であって、
前記原画像データを２以上の画像データに分解する分解工程と、
前記分解工程の後に、前記原画像データから分解された一方の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記一方の画像データを量子化する第１の量子化工程と、
前記第１の量子化工程の後に、前記原画像データから分解された他方の画像データに対して誤差拡散処理又はディザ処理をおこない、前記他方の画像データを量子化する第２の量子化工程と、
を備えることを特徴としている。
【００１５】
請求項７に記載の発明は、
請求項６に記載の画像処理方法において、
前記第２の量子化工程では、前記第１の量子化工程で量子化された前記一方の画像データの出力値に基づき、前記他方の画像データに対して誤差拡散処理又はディザ処理をおこない、前記他方の画像データを量子化することを特徴としている。
【００１６】
請求項８に記載の発明は、
請求項６又は７に記載の画像処理方法において、
前記第１の量子化工程で量子化された前記一方の画像データの出力値と、前記第２の量子化工程で量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを指示する信号にそれぞれ対応しており、
前記第１の量子化工程で、前記一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、前記第２の量子化工程では、前記他方の画像データからドットの形成を指示しない旨の出力値を算出することを特徴としている。
【００１７】
請求項９に記載の発明は、
請求項６〜８のいずれか一項に記載の画像処理方法において、
前記第２の量子化工程では、誤差拡散処理又はディザ処理のうち誤差拡散処理がおこなわれるとともに、
前記第１の量子化工程で量子化された前記一方の画像データの出力値と、前記第２の量子化工程で量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを指示する信号にそれぞれ対応しており、
前記第１の量子化工程で、前記一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、前記第２の量子化工程では、前記他方の画像データに対する量子化誤差を低減することを特徴としている。
【００１８】
請求項１０に記載の発明は、
請求項６〜９のいずれか一項に記載の画像処理方法において、
前記第１の量子化工程で量子化された前記一方の画像データの出力値と、前記第２の量子化工程で量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを濃淡別に指示する信号にそれぞれ対応しており、
前記第１の量子化工程で量子化された前記一方の画像データの出力値が、最も濃いドットを形成するか否かを指示する信号に対応することを特徴としている。
【００１９】
請求項１１に記載の発明の画像処理プログラムは、
所定ビット数の原画像データに対して３値以上の量子化をおこなう画像処理装置に、
前記原画像データを２以上の画像データに分解する分解機能と、
前記原画像データから分解された一方の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記一方の画像データを量子化する第１の量子化機能と、
前記原画像データから分解された他方の画像データに対して誤差拡散処理又はディザ処理をおこない、前記他方の画像データを量子化する第２の量子化機能と、
を実現させることを特徴としている。
【００２０】
請求項１２に記載の発明は、
請求項１１に記載の画像処理プログラムにおいて、
前記第２の量子化機能は、前記第１の量子化機能により量子化された前記一方の画像データの出力値に基づき、前記他方の画像データに対して誤差拡散処理又はディザ処理をおこない、前記他方の画像データを量子化することを特徴としている。
【００２１】
請求項１３に記載の発明は、
請求項１１又は１２に記載の画像処理プログラムにおいて、
前記第１の量子化機能により量子化された前記一方の画像データの出力値と、前記第２の量子化機能により量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを指示する信号にそれぞれ対応しており、
前記第１の量子化機能で、前記一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、前記第２の量子化機能は、前記他方の画像データからドットの形成を指示しない旨の出力値を算出することを特徴としている。
【００２２】
請求項１４に記載の発明は、
請求項１１〜１３のいずれか一項に記載の画像処理プログラムにおいて、
前記第２の量子化機能では、誤差拡散処理又はディザ処理のうち誤差拡散処理がおこなわれるとともに、
前記第１の量子化機能により量子化された前記一方の画像データの出力値と、前記第２の量子化機能により量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを指示する信号にそれぞれ対応しており、
前記第１の量子化機能で、前記一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、前記第２の量子化機能は、前記他方の画像データに対する量子化誤差を低減することを特徴としている。
【００２３】
請求項１５に記載の発明は、
請求項１１〜１４のいずれか一項に記載の画像処理プログラムにおいて、
前記第１の量子化機能により量子化された前記一方の画像データの出力値と、前記第２の量子化機能により量子化された前記他方の画像データの出力値とが、ドットを形成するか否かを濃淡別に指示する信号にそれぞれ対応しており、
前記第１の量子化機能により量子化された前記一方の画像データの出力値が、最も濃いドットを形成するか否かを指示する信号に対応することを特徴としている。
【発明の効果】
【００２４】
請求項１に記載の発明では、第１の量子化手段と第２の量子化手段とを備えるため、原画像データから分解された画像データのうち、一方の画像データに対しては逆相関型のデジタルハーフトーニング処理をおこない、その画像データに基づき形成されるドットの分散性を向上させることができ、また、他方の画像データに対しては誤差拡散処理又はディザ処理をおこない、その画像データの処理量を抑制することができる。したがって、原画像データの処理を全体としてみたときに、逆相関型のデジタルハーフトーニング処理又は誤差拡散処理若しくはディザ処理のいずれか一の単独の処理だけで原画像データを量子化するよりも、原画像データに基づき形成されるドットの分散性を向上させつつ原画像データの処理量を抑制することができる。
【００２５】
請求項２に記載の発明では、第２の量子化手段が、第１の量子化手段により量子化された一方の画像データの出力値に基づき他方の画像データを量子化するため、全体としてのドットの分散性を向上させることができる。
【００２６】
請求項３に記載の発明では、一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、他方の画像データからドットの形成を指示しない旨の出力値を算出するため、一方の画像データに基づき形成されるドットと、他方の画像データに基づき形成されるドットとの全体としてのドット分散性を向上させることができるとともに、一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、他方の画像データからドットの形成を指示しない旨の出力値を算出するため、一方の画像データ及び他方の画像データの両画像データに基づき形成される総ドット数を減らすことができ、ひいてはドット形成用のインクやトナーなどの色材量を節約することができる。
【００２７】
請求項４に記載の発明では、一方の画像データからドットの形成を指示する旨の出力値を算出した場合に、他方の画像データに対する量子化誤差を低減するため、他方の画像データに基づき形成されるドットの数を制御することができる。
【００２８】
請求項５に記載の発明では、第１の量子化手段により量子化された一方の画像データの出力値が、最も濃いドットを形成するか否かを指示する信号に対応するため、視認されやすいドットを優先して分散させることができ、画質を向上させることができる。
【００２９】
請求項６，１１に記載の発明によれば、請求項１と同様の効果を奏することができる。請求項７，１２に記載の発明によれば、請求項２と同様の効果を奏することができる。請求項８，１３に記載の発明によれば、請求項３と同様の効果を奏することができる。請求項９，１４に記載の発明によれば、請求項４と同様の効果を奏することができる。請求項１０，１５に記載の発明によれば、請求項５と同様の効果を奏することができる。
【発明を実施するための最良の形態】
【００３０】
以下、図面を参照しながら本発明を実施するための最良の形態について説明する。ただし、発明の範囲は図示例に限定されない。
【００３１】
［第１の実施の形態］
始めに、図１〜図１２を参照しながら第１の実施形態について説明する。
図１は画像処理装置１の構成を示すブロック図である。
画像処理装置１は、インクジェットプリンタなどの周知の出力装置（画像記録装置）に搭載可能な装置であって、画像を構成する各画素に所定ビット数の原画像データを割り当てて原画像データを画素ごとに量子化する装置である。画像処理装置１は、図１に示す通り、ＣＰＵ（Central Processing Unit）２、ＲＯＭ（Read Only Memory）３、ＲＡＭ（Random Access Memory）４などから構成されている。
【００３２】
画像処理装置１では、原画像データを処理する画像処理プログラムがＲＯＭ３に格納されており、ＣＰＵ２が、ＲＡＭ４をワークエリアとしてＲＯＭ３に格納された画像処理プログラムを読み出してその画像処理プログラムにしたがいながら後述の各種処理を実行するようになっている。逆に言えば、画像処理プログラムが画像処理装置１のＣＰＵ２に後述の各種処理を実行させるようになっている。
【００３３】
ＲＯＭ３には、入力された原画像データを２つの濃色用画像データと淡色用画像データとに分解する第１の分解用データテーブル（図３参照）が格納されている。「濃色用画像データ」というのは、濃いドットの形成を指示する基礎の画像データであり、「淡色用画像データ」というのは、淡いドットの形成を指示する基礎の画像データである。
【００３４】
なお、「ドットの濃淡」というのは、ドットの視認性の程度を表すのであって、ドットサイズ（ドット径）、ドットを形成するインクの濃度、ドットを形成するインクの滴数などで規定されるものである。例えば、「濃いドット」は、ドットサイズが大きかったり、ドットを形成するインクの濃度が大きかったり、複数滴のインク滴から構成されていたりして、視認性に優れている。逆に、「淡いドット」は、ドットのサイズが小さかったり、ドットを形成するインクの濃度が小さかったり、１滴のみのインク滴から構成されていたりして、視認性に劣っている。本実施形態（下記第２〜第４の実施形態を含む。）では、上記の意味で、「ドットの濃淡」、「濃いドット」、「淡いドット」という表現を用いている。
【００３５】
次に、第１の実施形態における画像処理方法について説明する。
【００３６】
図２は、画像処理装置１のＣＰＵ２が実行する処理を概略的に示した図面である。
ある１つの任意の画素（ｉ行ｊ列目の画素）の所定ビット数の原画像データが入力されたら、まず、分解手段としてのＣＰＵ２は、その画素を注目画素として、ＲＯＭ３に格納された上記第１の分解用データテーブルを用いながら、注目画素の原画像データを濃色用画像データＤi,jと淡色用画像データＬi,jとに分解する分解処理をおこなう。例えば、８ビットの原画像データが入力されたら、図３に示すような第１の分解用データテーブルを用いて、８ビットの原画像データの入力値を図３中実線及び点線にそれぞれ対応する値（変換値）に変換して、入力された原画像データを８ビットの濃色用画像データＤi,jと８ビットの淡色用画像データＬi,jとに分解する。
【００３７】
分解処理を終えたら、次に、濃色用画像データＤi,jと淡色用画像データＬi,jとについてそれぞれハーフトーニング処理をおこなう。具体的には、濃色用画像データＤi,jについては逆相関型のデジタルハーフトーニング処理をおこない、濃色用画像データＤi,jから画像を構成するｉ行ｊ列目の画素に濃いドットを形成するか否かを特定する出力値ＤＤi,jを算出する。一方、淡色用画像データＬi,jについては公知の誤差拡散処理をおこない、淡色用画像データＬi,jから画像を構成するｉ行ｊ列目の画素に淡いドットを形成するか否かを特定する出力値ＬＤi,jを算出する。ただし、以下の濃色用画像データＤi,j及び淡色用画像データＬi,jの各ハーフトーニング処理では、画像を構成する多数の画素のうち、注目する画素を左から右に順に切り替えて処理するときの特定の注目画素（ｉ行ｊ列目の画素）の処理について説明する。
【００３８】
図４は、画像処理装置１のＣＰＵ２が実行するハーフトーニング処理を経時的に示したフローチャートである。
ハーフトーニング処理では、始めに、第１の量子化手段としてのＣＰＵ２は、濃色用画像データＤi,jの逆相関型のデジタルハーフトーニング処理をおこない、濃色用画像データＤi,jから出力値ＤＤi,jを算出する（ステップＳＡ）。
【００３９】
図５〜図１０を参照しながら濃色用画像データＤi,jの逆相関型のデジタルハーフトーニング処理を説明すると、まず、０〜（ｎ−１）の範囲内から無作為にランダム変数ｒ（ｒは整数）を決定する（ステップＳＡ１）。「ｎ」は画素値ｇi,jの最大値である。「画素値ｇi,j」とは、ｉ行ｊ列目の画素における階調値のことであり、ここでは０〜ｎの範囲内の何れかの値である。
【００４０】
ランダム変数ｒを決定したら、濃色用画像データＤi,j中からｉ行ｊ列目の画素に関する画素値ｇi,jを取得する（ステップＳＡ２）。
【００４１】
画素値ｇi,jを取得したら、その画素値ｇi,jに基づきｉ行ｊ列目の画素のローカルフィルタＰを生成する（ステップＳＡ３）。具体的には、始めに画素値ｇi,jを下記式（１）に代入してΔを求め、そのΔが図６中左欄のどの範囲に属するかを特定し、特定した範囲に対応するローカルフィルタＰの情報を図６中右欄から特定する。なお、図６中、例えば「Δ∈［０，１３／２５５）」は、０≦Δ＜１３／２５５を示している。
Δ＝｜ｇi,j−ｎ／２｜／ｎ  …  （１）
【００４２】
例えば、画素値ｇi,jが１２０だとしたら、上記式（１）からΔ＝｜１２０−２５５／２｜／２５５＝７．５／２５５が導き出され、このΔ（＝７．５／２５５）が、図６中左欄の最も上の欄に記載されたΔ∈［０，１３／２５５）に属しているのを特定することができる。そしてΔ∈［０，１３／２５５）が記載された特定済みの欄から、その右隣に配置された欄のＲ（Ｋ1，６，５）をローカルフィルタＰの情報として特定することができる。
【００４３】
次に、特定された情報を便宜的に一般化して「Ｒ（Ｋ，ｌｋ，ε（ｌｋ））」とした場合に、まず「Ｋ」を参照することにより、図７及び図８に示した６つの基礎フィルタＫ1〜Ｋ6の何れかを選択する。次に、「ｌｋ」を参照することにより、基礎フィルタＫ中の×印の画素、即ちｉ行ｊ列目の画素から、上方向、左方向及び右方向に（ｌｋ−１）画素分の広がりを有するｌｋ行×（２ｌｋ−１）列のサイズのフィルタを生成する。そして、「ｌｋ」及び「ε（ｌｋ）」を参照し、生成されたフィルタ中の１列目から（ｌｋ−ε（ｌｋ））列目までの各画素には基礎フィルタＫの画素値をそのまま割り当て、（ｌｋ−ε（ｌｋ））列目より先の列の各画素には０を割り当て、ローカルフィルタＰを生成する。
【００４４】
例えば、ローカルフィルタＰの情報がＲ（Ｋ6，４，−１）で表されるとしたら、以下のような手順でローカルフィルタＰを生成する。すなわち、Ｒ（Ｋ6，４，−１）において、基礎フィルタＫに対応するのが「Ｋ6」であるから、図８中の３つの基礎フィルタＫ4〜Ｋ6のなかから下段に図示された基礎フィルタＫ6を基礎フィルタＫとして特定する。そしてＲ（Ｋ6，４，−１）において、ｌｋに対応するのが「４」であり、ε（ｌｋ）に対応するのが「−１」であるから、まず始めに、図８中下段の基礎フィルタＫ6中で×印の画素から、上方向、左方向及び右方向に３（＝ｌｋ−１）画素分の広がりを有する４行×７（＝２×４−１）列のサイズのフィルタを生成し、その後、その生成した４行×７列のフィルタにおいて、１列目から５（＝４−（−１））列目までの各画素には基礎フィルタＫ6の画素値をそのまま割り当て、５列目より先の列の各画素には０を割り当てる。このような手順で生成されたローカルフィルタＰを図９に示す。
【００４５】
ローカルフィルタＰを生成したら、ｉ行ｊ列目の画素のヒストグラムＨi,j［ｋ］を算出する（ステップＳＡ４）。「ヒストグラムＨi,j［ｋ］」というのは、ローカルフィルタＰ中に×印で示される注目画素の周辺の画素の配置位置を（ｘ，ｙ）で表したときに、注目画素周辺の各画素のドット出現パターンＣx,y［ｋ］をローカルフィルタＰの（ｘ，ｙ）の位置の値で重み付けし、要素ｋの値毎に加算した合計値である。ただし、「ｋ」は０から（ｎ−１）までの任意の整数値であって、ドット出現パターンＣx,y［ｋ］の要素ｋと同義である。また、「ドット出現パターンＣi,j［ｋ］」というのは、それぞれ「０」又は「１」の値をとるＣi,j［０］〜Ｃi,j［ｎ−１］によって構成される数列である。このドット出現パターンＣi,j［ｋ］は、要素ｋに０から（ｎ−１）の何れかの値を代入したときに「１」となればｉ行ｊ列目の画素にドットを形成することを示し、「０」となればドットを形成しないことを示す。
【００４６】
例えば、図９に示すローカルフィルタＰを生成した場合に、ローカルフィルタＰ中の各画素の位置（ｘ，ｙ）、ローカルフィルタＰ中の各画素の画素値ｐx,yが図１０（ａ），（ｂ）のように設定されたとしたら、ｉ行ｊ列目の注目画素（図９及び図１０中×印の画素）のヒストグラムＨi,j［ｋ］を、下記の式にしたがって要素ｋの値ごとに算出する。
Ｈi,j［０］＝Ｃx1,y1［０］×ｐx1,y1＋Ｃx1,y2［０］×ｐx1,y2＋Ｃx1,y3［０］×ｐx1,y3＋  …  ＋Ｃx4,y3［０］×ｐx4,y3
Ｈi,j［１］＝Ｃx1,y1［１］×ｐx1,y1＋Ｃx1,y2［１］×ｐx1,y2＋Ｃx1,y3［１］×ｐx1,y3＋  …  ＋Ｃx4,y3［１］×ｐx4,y3
Ｈi,j［２］＝Ｃx1,y1［２］×ｐx1,y1＋Ｃx1,y2［２］×ｐx1,y2＋Ｃx1,y3［２］×ｐx1,y3＋  …  ＋Ｃx4,y3［２］×ｐx4,y3
…
…
Ｈi,j［ｎ−１］＝Ｃx1,y1［ｎ−１］×ｐx1,y1＋Ｃx1,y2［ｎ−１］×ｐx1,y2＋Ｃx1,y3［ｎ−１］×ｐx1,y3＋  …  ＋Ｃx4,y3［ｎ−１］×ｐx4,y3
【００４７】
次に、各要素ｋについて算出されたヒストグラムＨi,j［０］〜Ｈi,j［ｎ−１］を値の小さい順に並べ替え、ヒストグラムＨi,j［ｋ］の要素番号列Ｓ［ｋ］を算出する（ステップＳＡ５）。
【００４８】
例えば、ヒストグラムＨi,j［０］〜Ｈi,j［ｎ−１］が、Ｈi,j［８］＜Ｈi,j［３］＜Ｈi,j［４］＜Ｈi,j［１］＜Ｈi,j［５］＜…＜Ｈi,j［ｎ−１］のように並べ替えられたら、要素番号列Ｓ［ｋ］は｛８，３，４，１，５，…，（ｎ−１）｝のように算出される。なお、この要素番号列Ｓ［ｋ］において、「８」は０番目の要素であり、「３」は１番目の要素である。
【００４９】
要素番号列Ｓ［ｋ］を算出したら、カウンタ値Countを０に設定し（ステップＳＡ６）、要素番号列Ｓ［ｋ］の要素ｋ’に、要素番号列Ｓ［ｋ］中、カウンタ値Countの値に対応する順番の要素Ｓ［Count］の値を代入する（ステップＳＡ７）。すなわち、上記した要素番号列Ｓ［ｋ］（＝｛８，３，４，１，５，…，（ｎ−１）｝）を例にすると、カウンタ値Countが０であるから、ｋ’に８（＝Ｓ［０］）を代入する。
【００５０】
続いて、カウンタ値Countと（画素値ｇi,j−１）との大小関係を比較する（ステップＳＡ８）。比較の結果、カウンタ値Countが（画素値ｇi,j−１）以下であれば、要素ｋ’に対応するドット出現パターンＣi,j［ｋ’］を「１」に設定し（ステップＳＡ９）、大きければ「０」に設定する（ステップＳＡ１０）。例えば、画素値ｇi,jが３で要素番号列Ｓ［ｋ］が｛８，３，４，１，５，…，（ｎ−１）｝であれば、ドット出現パターンＣi,j［ｋ］のうち、まず要素Ｃi,j［８］を「１」に設定する。
【００５１】
ステップＳＡ９又はステップＳＡ１０の処理を終えたら、カウンタ値Countに１を加算し（ステップＳＡ１１）、カウンタ値Count（＝１）と（ｎ−１）との大小関係を比較し（ステップＳＡ１２）、カウンタ値Countが（ｎ−１）と同じ値になるまでステップＳＡ７からステップＳＡ１１までの処理を繰り返しおこない、ドット出現パターンＣi,j［ｋ］を決定する。以上のようにして、要素Ｃi,j［８］，Ｃi,j［３］，Ｃi,j［４］に「１」が設定される。
【００５２】
ドット出現パターンＣi,j［ｋ］が決定されたら、ドット出現パターンＣi,j［ｋ］のうち、上記ステップＳＡ１の処理で決定したランダム変数ｒを要素番号とするＣi,j［ｒ］を、ｉ行ｊ列目の画素の出力値ＤＤi,jとして算出する（ステップＳＡ１３）。出力値ＤＤi,jは上記ステップＳＡ９又はステップＳＡ１０の処理からもわかるように「０」又は「１」である。出力値ＤＤi,jが「１」の場合には、ｉ行ｊ列目の画素に対する濃いドットの形成が支持され、出力値ＤＤi,jが「０」の場合には、ｉ行ｊ列目の画素に対する濃いドットの形成が支持されない。
【００５３】
なお、画像を構成する多数の画素のうち、画像領域の端部に配置された各画素のドット出現パターンＣi,j［ｋ］の決定には、画像領域外の周辺画素に関するドット出現パターンを必要とするが、このための画像領域外の周辺画素に関してはランダム変数ｒを用いるなどしてドット出現パターンを決めておく。具体的には、例えば次のように定義する。
Ｃi,j［ｋ］＝１（ｒＢＲ＜ｎΔのとき）
Ｃi,j［ｋ］＝０（それ以外のとき）
ここで、「Δ」は上記式（１）に示す通り、Δ＝｜ｇi,j−ｎ／２｜／ｎで表され、「ｇi,j」は注目画素の画素値である。「ｒＢＲ」は｛０，１，…，（ｉｎｔ）（ｎ／２）｝に含まれるランダムな整数であり、各端部に配置された画素ごとに異なる値である。
【００５４】
上記ステップＳＡ１〜ステップＳＡ１３からなる濃色用画像データＤi,jの逆相関型のデジタルハーフトーニング処理を終えたら、続いて、第２の量子化手段としてのＣＰＵ２は、図４に示す通り、淡色用画像データＬi,jの誤差拡散処理をおこない、淡色用画像データＬi,jから出力値ＬＤi,jを算出する（ステップＳＢ）。
【００５５】
図１１〜図１２を参照しながら淡色用画像データＬi,jの誤差拡散処理を説明すると、まず、図１１に示す通り、上記した濃色用画像データＤi,jの出力値ＤＤi,jが「１」であるか「０」であるかを判断し（ステップＳＢ１）、出力値ＤＤi,jが１であれば、淡色用画像データＬi,jの出力値ＬＤi,jを「０」に設定する（ステップＳＢ２）。
【００５６】
ステップＳＢ１の処理において、濃色用画像データＤi,jの出力値ＤＤi,jが０であれば、淡色用画像データＬi,jの入力値（０〜（ｎ−１）の整数値）と予め設定された閾値との大小関係を比較する（ステップＳＢ３）。淡色用画像データＬi,jの入力値が閾値より大きいのであれば、淡色用画像データＬi,jの出力値ＬＤi,jを「１」に設定し（ステップＳＢ４）、淡色用画像データＬi,jの入力値が閾値以下であれば、上記ステップＳＢ２の処理をおこなう。
【００５７】
ここで、淡色用画像データＬi,jの入力値には、処理済みの周辺画素からの量子化誤差が既に加算されている。この処理については下記ステップＳＢ５及びステップＳＢ６の処理で説明する。
【００５８】
ステップＳＢ２及びステップＳＢ４の処理において、出力値ＬＤi,jが「１」に設定されたときには、ｉ行ｊ列目の画素に対する淡いドットの形成が支持され、出力値ＬＤi,jが「０」に設定されたときには、ｉ行ｊ列目の画素に対する淡いドットの形成が支持されない。また、ステップＳＢ３の処理において用いる閾値は、固定値であってもよいし、濃色用画像データＤi,j又は淡色用画像データＬi,jの少なくとも一方に応じて変化させてもよいし、処理済みの画素の原画像データに基づき形成されるドットの分布に応じて変化させてもよい。
【００５９】
ステップＳＢ２又はステップＳＢ４の処理を終えたら、淡色用画像データＬi,jの入力値とステップＳＢ３の処理の段階で予め設定された閾値とのあいだの誤差ΔＥを算出する（ステップＳＢ５）。具体的に、淡色用画像データＬi,jの出力値ＬＤi,jが「１」の場合には、下記式（２）にしたがい、淡色用画像データＬi,jの入力値から（ｎ−１）を減じて誤差ΔＥを算出し、淡色用画像データＬi,jの出力値ＬＤi,jが「０」の場合には、下記式（３）にしたがい淡色用画像データＬi,jの入力値をそのまま誤差ΔＥとして算出する。
ΔＥ＝Ｌi,j−（ｎ−１）  …  （２）
ΔＥ＝Ｌi,j  …  （３）
【００６０】
なお、ステップＳＢ５の処理において、濃色用画像データＤi,jの出力値ＤＤi,jが「１」の場合には、ステップＳＢ２の処理により淡色用画像データＬi,jの出力値ＬＤi,jが「０」であるから、淡色用画像データＬi,jの入力値がそのまま誤差ΔＥとして算出されるが、この場合、濃色用画像データＤi,jの出力値ＤＤi,jが「１」であるから、淡いドットの形成をも支持したものとみなして誤差ΔＥを「０」と設定してもよいし、下記式（４）にしたがい、淡色用画像データＬi,jの入力値にα（０＜α＜１）を乗じて誤差ΔＥを算出し、量子化誤差を低減してもよい。
ΔＥ＝α・Ｌi,j  …  （４）
【００６１】
誤差ΔＥを算出したら、算出したΔＥをｉ行ｊ列目の画素の周辺の各未処理画素に所定の割合でそれぞれ拡散する（ステップＳＢ６）。例えば、図１２に示すフロイドスタインバーグ（Floyd-Steinberg）式のマトリクスを用いてこの処理をおこなうことができる。図１２に示すマトリクスを用いる場合には、図１２に示す通り、注目画素（図１２中×印の画素）の次に処理する画素と、注目画素の存するラインの次に処理するライン上の画素とに、７／１６，３／１６，５／１６，１／１６の割合でそれぞれ、上記式（２）又は（３）で算出した誤差ΔＥを拡散する。
【００６２】
ステップＳＢ６の処理を終えたら、図１１に示す淡色用画像データＬi,jの誤差拡散処理を終え、これと同時に、ｉ行ｊ列目の画素の原画像データの分解処理及びハーフトーニング処理を終える。これにより、ｉ行ｊ列目の画素の原画像データから下記（ｉ）〜（ｉｉｉ）の３通りの出力値を算出することができ、ｉ行ｊ列目の画素の原画像データを量子化（３値化）することができる。
（ｉ）ＤＤi,j＝「１」，ＬＤij＝「０」
（ｉｉ）ＤＤi,j＝「０」，ＬＤij＝「１」
（ｉｉｉ）ＤＤi,j＝「０」，ＬＤij＝「０」
【００６３】
本第１の実施形態では、上記（ｉ）〜（ｉｉｉ）に示す原画像データの量子化後の各出力値が、ドットの形成を濃淡別に指示する信号に対応している。つまり、画像を構成する多数のドットの濃淡を２段階に分けた場合に、上記（ｉ）の出力値は、濃いドットの形成を指示する信号に対応し、上記（ｉｉ）の出力値は、淡いドットの形成を指示する信号に対応し、上記（ｉｉｉ）の出力値は、ドットを形成しない旨を指示する信号に対応している。
【００６４】
そして、図２に示す原画像データの分解処理及びハーフトーニング処理を終えたら、画像を構成するすべての画素の原画像データについて図２に示す分解処理及びハーフトーニング処理を同様におこない、原画像データを画素ごとに量子化する。
【００６５】
以上の第１の実施形態では、原画像データから分解された濃色用画像データＤi,j及び淡色用画像データＬi,jのうち、一方の濃色用画像データＤi,jに対しては逆相関型のデジタルハーフトーニング処理をおこなうため、濃色用画像データＤi,jに基づき形成される濃いドットの分散性を向上させることができる。また、他方の淡色用画像データＬi,jに対しては逆相関型のデジタルハーフトーニング処理より処理速度の速い誤差拡散処理をおこなうため、原画像データの処理量を抑制することができる。
【００６６】
また第１の実施形態では、濃色用画像データＤi,jの出力値ＤＤi,jに基づき淡色用画像データＬi,jの出力値ＬＤi,jを決定するため、濃いドットと淡いドットとからなるすべてのドットにおいて、全体としての分散性を向上させることができる。
【００６７】
さらに第１の実施形態では、濃色用画像データＤi,jの出力値ＤＤi,jが、逆相関型のデジタルハーフトーニング処理により算出されかつ濃いドットの形成を指示する信号に対応するため、視認されやすいドットを優先して分散させることができ、画質の向上を図ることができる。
【００６８】
さらに第１の実施形態では、ステップＳＢの処理中のステップＳＢ１の処理において、濃色用画像データＤi,jの出力値ＤＤi,jが「１」の場合に、淡色用画像データＬi,jの出力値ＬＤi,jを「０」に設定するため、濃色用画像データＤi,jの出力値ＤＤi,jに基づき形成される濃いドットが、淡色用画像データＬi,jの出力値ＬＤi,jに基づき形成される淡いドットから視覚的な影響を受けるのを低減することができる。またこの場合には、淡色用画像データＬi,jの出力値ＬＤi,jに基づき形成される淡いドットが形成されないから、濃色用画像データＤi,j及び淡色用画像データＬi,jの各出力値ＤＤi,j，ＬＤi,jに基づき形成される総ドット数を減らすことができ、ひいてはドット形成用のインクやトナーなどの色材量を節約することができる。
【００６９】
さらにステップＳＢ５の処理においては上記の通り、濃色用画像データＤi,jの出力値ＤＤi,jが「１」の場合に、上記式（４）にしたがい誤差ΔＥを算出して量子化誤差を低減してもよいが、この場合には、淡色用画像データＬi,jの出力値ＬＤi,jに基づき形成される淡いドットの数を制御することができる。
【００７０】
なお、第１の実施形態では、図４に示すハーフトーニング処理において、濃色用画像データＤの逆相関型のデジタルハーフトーニング処理と淡色用画像データＬの誤差拡散処理とを画素ごとに繰り返しおこなったが、濃色用画像データＤの逆相関型のデジタルハーフトーニング処理を終えた画素につき淡色用画像データＬの誤差拡散処理をおこなえばよく、例えば、濃色用画像データＤの逆相関型のデジタルハーフトーニング処理を１つの行すべての画素につき終えてから、その行すべての画素につき淡色用画像データＬの誤差拡散処理をおこなうようにしてもよい。
【００７１】
また、淡色用画像データＬi,jの誤差拡散処理では、当該誤差拡散処理を開始したらすぐにステップＳＢ１の処理をおこない、濃色用画像データＤi,jの出力値ＤＤi,jに基づき淡色用画像データＬi,jの出力値ＬＤi,jを設定したが、ステップＳＢ１の処理を省略し、淡色用画像データＬi,jの誤差拡散処理を開始したらすぐにステップＳＢ３の処理をおこなって淡色用画像データＬi,jの出力値ＬＤi,jを設定してもよい。この場合にも、濃色用画像データＤi,jの出力値ＤＤi,jに基づき形成されるドットの分散性を向上させることができる。
【００７２】
［第２の実施の形態］
続いて、図１３〜図１７を参照しながら第２の実施形態について説明する。
本第２の実施形態における画像処理装置１は、上記第１の実施形態で説明した画像処理装置１と同様の構成を有しているが、入力される原画像データに対しては上記第１の実施形態で示した処理とやや異なる処理をおこなうようになっている。また、ＲＯＭ３には、上記第１の分解用データテーブルではなく、画像処理装置１に入力された原画像データを、３つの濃色用画像データ、中間色用画像データ及び淡色用画像データにそれぞれ分解する第２の分解用データテーブル（図１４参照）が格納されている。
【００７３】
「濃色用画像データ」というのは、画像を構成する多数のドットの濃淡を３段階に分けたときに最も濃いドットの形成を指示する基礎の画像データであり、「中間色用画像データ」というのは、画像を構成する多数のドットの濃淡を３段階に分けたときに２番目に濃いドットの形成を指示する基礎の画像データであり、「淡色用画像データ」というのは、画像を構成する多数のドットの濃淡を３段階に分けたときに淡いドットの形成を指示する基礎の画像データである。
【００７４】
次に、第２の実施形態における画像処理方法について説明する。
【００７５】
図１３は、画像処理装置１のＣＰＵ２が実行する処理を概略的に示した図面である。
ある１つの任意の画素（ｉ行ｊ列目の画素）の所定ビット数の原画像データが入力されたら、まず、分解手段としてのＣＰＵ２は、その画素を注目画素として、ＲＯＭ３に格納された上記第２の分解用データテーブルを用いながら、注目画素の原画像データを濃色用画像データＤi,jと中間色用画像データＭi,jと淡色用画像データＬi,jとにそれぞれ分解する分解処理をおこなう。例えば、８ビットの画像データが入力されたら、図１４に示すような第２の分解用データテーブルを用いて、８ビットの画像データの入力値を図１４中実線、点線及び１点鎖線にそれぞれ対応する値（変換値）に変換して、入力された原画像データを８ビットの濃色用画像データＤi,j、中間色画像データＭi,j及び淡色用画像データＬi,jにそれぞれ分解する。
【００７６】
分解処理を終えたら、次に、濃色用画像データＤi,j、中間色用画像データＭi,j及び淡色用画像データＬi,jについてそれぞれハーフトーニング処理をおこなう。具体的に、濃色用画像データＤi,jについては上記第１の実施形態で説明した通りに逆相関型のデジタルハーフトーニング処理をおこない、濃色用画像データＤi,jから出力値ＤＤi,jを算出する。一方、中間色用画像データＭi,j及び淡色用画像データＬi,jについては上記第１の実施形態で説明した誤差拡散処理とほぼ同様の処理をおこない、中間色画像データＭi,j及び淡色用画像データＬi,jから出力値ＭＤi,j及び出力値ＬＤi,jをそれぞれ算出する。ただし、以下の濃色用画像データＤi,j、中間色用画像データＭi,j及び淡色用画像データＬi,jの各ハーフトーニング処理では、画像を構成する多数の画素のうち、注目する画素を左から右に順に切り替えて処理するときの特定の注目画素（ｉ行ｊ列目の画素）の処理について説明する。
【００７７】
図１５は第２の実施形態におけるハーフトーニング処理であって、画像処理装置１のＣＰＵ２が実行するハーフトーニング処理を経時的に示したフローチャートである。
【００７８】
ハーフトーニング処理では、始めに、第１の量子化手段としてのＣＰＵ２は、図４のステップＳＡの処理と同様の濃色用画像データＤi,jの逆相関型のデジタルハーフトーニング処理をおこない、濃色用画像データＤi,jから出力値ＤＤi,jを算出する。その後、中間色用画像データＭi,jの誤差拡散処理をおこない、中間色用画像データＭi,jから出力値ＭＤi,jを算出する（ステップＳＣ）。中間色用画像データＭi,jの誤差拡散処理を経時的に示したフローチャートを図１６に示すが、中間色用画像データＭi,jの誤差拡散処理では、第２の量子化手段としてのＣＰＵ２は、図４のステップＳＢの処理と図１１のステップＳＢ３の処理とにおいて淡色用画像データＬi,jを中間色画像データＭi,jに置き換え、図１１の誤差拡散処理と同様の処理をおこなう。
【００７９】
なお、図１６に示す中間色画像データＭi,jの誤差拡散処理では、ステップＳＣ１の処理が図１１のステップＳＢ１の処理に対応し、ステップＳＣ２の処理が図１１のステップＳＢ２の処理に対応し、ステップＳＣ３の処理が図１１のステップＳＢ３の処理に対応し、ステップＳＣ４の処理が図１１のステップＳＢ４の処理に対応し、ステップＳＣ５の処理が図１１のステップＳＢ５の処理に対応し、ステップＳＣ６の処理が図１１のステップＳＢ６の処理に対応している。ただし、ステップＳＣ５の処理において、中間色用画像データＭi,jの入力値には、処理済みの周辺画素からの量子化誤差が既に加算されている。
【００８０】
中間色用画像データＭi,jの誤差拡散処理では、当該誤差拡散処理を開始したらすぐにステップＳＣ１の処理をおこない、濃色用画像データＤi,jの出力値ＤＤi,jに基づき中間色用画像データＭi,jの出力値ＭＤi,jを設定するが、ステップＳＣ１の処理を省略し、中間色用画像データＭi,jの誤差拡散処理を開始したらすぐにステップＳＣ３の処理をおこなって中間色用画像データＭi,jの出力値ＭＤi,jを設定してもよい。
【００８１】
また、ステップＳＣ３の処理において用いる閾値は、固定値であってもよいし、濃色用画像データＤi,j又は中間色用画像データＭi,jの少なくとも一方に応じて変化させてもよいし、処理済みの画素の原画像データに基づき形成されるドットの分布に応じて変化させしてもよい。
【００８２】
さらに、ステップＳＣ５の処理において、濃色用画像データＤi,jの出力値ＤＤi,jが「１」の場合には、ステップＳＣ２の処理により中間色用画像データＭi,jの出力値ＭＤi,jが「０」であるから、中間色用画像データＭi,jの入力値がそのまま誤差ΔＥとして算出されるが、この場合、濃色用画像データＤi,jの出力値ＤＤi,jが「１」であるから、２番目に濃いドットの形成をも支持したとみなして誤差ΔＥを「０」と設定してもよいし、上記式（４）にしたがい誤差ΔＥを算出して量子化誤差を低減してもよい。
【００８３】
図１６に示す中間色画像データＭi,jの誤差拡散処理を終えたら、続いて、図１５に示す通り、淡色画用像データＬi,jの誤差拡散処理をおこない、淡色用画像データＬi,jから出力値ＬＤi,jを算出する（ステップＳＤ）。
【００８４】
図１７を参照しながら淡色用画像データＬi,jの誤差拡散処理を説明すると、まず、第２の量子化手段としてのＣＰＵ２は、図１７に示す通り、濃色用画像データＤi,jの出力値ＤＤi,jが「１」であるか「０」であるかを判断し（ステップＳＤ１）、出力値ＤＤi,jが１であれば、淡色用画像データＬi,jの出力値ＬＤi,jを「０」に設定する（ステップＳＤ２）。
【００８５】
濃色用画像データＤi,jの出力値ＤＤi,jが０であれば、中間色用画像データＭi,jの出力値ＭＤi,jが「１」であるか「０」であるかを判断し（ステップＳＤ３）、出力値ＭＤi,jが１であれば、上記ステップＳＤ２の処理をおこなう。
【００８６】
中間色用画像データＭi,jの出力値ＭＤi,jが０であれば、淡色用画像データＬi,jの入力値と予め設定された閾値との大小関係を比較する（ステップＳＤ４）。淡色用画像データＬi,jの入力値（０〜（ｎ−１））が閾値より大きいのであれば、淡色用画像データＬi,jの出力値ＬＤi,jを「１」に設定し（ステップＳＤ５）、淡色用画像データＬi,jの入力値が閾値以下であれば、上記ステップＳＤ２の処理をおこなう。ただし、ステップＳＤ４の処理において、閾値と比較される淡色用画像データＬi,jの入力値には、中間色用画像データＭi,jの入力値と同様に、処理済みの周辺画素からの量子化誤差が既に加算されている。
【００８７】
なお、ステップＳＤ４の処理において用いる閾値は、固定値であってもよいし、中間色用画像データＭi,j又は淡色用画像データＬi,jの少なくとも一方に応じて変化させしてもよいし、処理済みの画素の原画像データに基づき形成されるドットの分布に応じて変化させてもよい。また、ステップＳＤ４の処理と上記ステップＳＣ３の処理とにおける各閾値は、互いに同じ値として設定されてもよいし、互いに異なる値に設定されてもよい。
【００８８】
ステップＳＤ２又はステップＳＤ５の処理を終えたら、図１１のステップＳＢ５の処理と同様の誤差ΔＥの算出処理と、ステップＳＢ６の処理と同様の誤差ΔＥの拡散処理とをそれぞれおこなう（ステップＳＤ６，ステップＳＤ７）。
【００８９】
なお、ステップＳＤ６の処理において、濃色用画像データＤi,jの出力値ＤＤi,jが「１」の場合又は中間色用画像データＭi,jの出力値ＭＤi,jが「１」の場合には、ステップＳＤ２の処理により淡色用画像データＬi,jの出力値ＬＤi,jが「０」であるから、淡色用画像データＬi,jの入力値がそのまま誤差ΔＥとして算出されるが、この場合、濃色用画像データＤi,jの出力値ＤＤi,jが「１」であるか又は中間色用画像データＭi,jの出力値ＭＤi,jが「１」であるから、淡いドットの形成をも支持したものとみなして誤差ΔＥを「０」と設定してもよいし、上記式（４）にしたがい誤差ΔＥを算出して量子化誤差を低減してもよい。
【００９０】
ステップＳＤ７の処理を終えたら、図１７に示す淡色用画像データＬi,jの誤差拡散処理を終え、これと同時に、図１３に示すｉ行ｊ列目の画素の原画像データの分解処理及びハーフトーニング処理を終える。これにより、ｉ行ｊ列目の画素の原画像データから下記（ｉ）〜（ｉｖ）の４通りの出力値を算出することができ、ｉ行ｊ列目の画素の原画像データを量子化（４値化）することができる。
（ｉ）ＤＤi,j＝「１」，ＭＤij＝「０」，ＬＤij＝「０」
（ｉｉ）ＤＤi,j＝「０」，ＭＤij＝「１」，ＬＤij＝「０」
（ｉｉｉ）ＤＤi,j＝「０」，ＭＤij＝「０」，ＬＤij＝「１」
（ｉｖ）ＤＤi,j＝「０」，ＭＤij＝「０」，ＬＤij＝「０」
【００９１】
本第２の実施形態では、上記（ｉ）〜（ｉｖ）に示す原画像データの量子化後の各出力値が、ドットの形成を濃淡別に指示する信号に対応している。つまり、画像を構成する多数のドットの濃淡を３段階に分けた場合に、上記（ｉ）の出力値は、最も濃いドットの形成を指示する信号に対応し、上記（ｉｉ）の出力値は、２番目に濃いドットの形成を指示する信号に対応し、上記（ｉｉｉ）の出力値は、淡いドットの形成を指示する信号に対応し、上記（ｉｖ）の出力値は、ドットを形成しない旨を指示する信号に対応している。
【００９２】
そして、図１３に示す原画像データの分解処理及びハーフトーニング処理を終えたら、画像を構成するすべての画素の原画像データについて図１３に示す分解処理及びハーフトーニング処理を同様におこない、原画像データを画素ごとに量子化する。
【００９３】
以上の第２の実施形態では、上記第１の実施形態と同様に、原画像データから分解された濃色用画像データＤi,j、中間色用画像データＭi,j及び淡色用画像データＬi,jのうち、一方の濃色用画像データＤi,jに対しては、上記第１の実施形態と同様に逆相関型のデジタルハーフトーニング処理をおこなうため、濃色用画像データＤi,jに基づき形成されるドットの分散性を向上させることができる。また、他方の中間色用画像データＭi,j及び淡色用画像データＬi,jに対しては逆相関型のデジタルハーフトーニング処理より処理速度の速い誤差拡散処理をおこなうため、原画像データの処理量を抑制することができる。
【００９４】
また第２の実施形態では、濃色用画像データＤi,jの出力値ＤＤi,jに基づき中間色用画像データＭi,jの出力値ＭＤi,jを決定し、濃色用画像データＤi,jの出力値ＤＤi,jと中間色用画像データＭi,jの出力値ＭＤi,jとに基づき淡色用画像データＬi,jの出力値ＬＤi,jを決定するため、最も濃いドットと２番目に濃いドットと淡いドットとからなるすべてのドットにおいて、全体としての分散性を向上させることができる。
【００９５】
さらに第２の実施形態でも、上記第１の実施形態と同様に、濃色用画像データＤi,jの出力値ＤＤi,jが、逆相関型のデジタルハーフトーニング処理により算出されかつ最も濃いドットの形成を指示する信号に対応するため、視認されやすいドットを優先して分散させることができ、画質の向上を図ることができる。
【００９６】
さらに第２の実施形態では、ステップＳＣ，ステップＳＤの処理中の各ステップＳＣ１，ステップＳＤ１の処理において、濃色用画像データＤi,jの出力値ＤＤi,jが「１」の場合、又は中間色用画像データＭi,jの出力値ＭＤi,jが「１」の場合に、中間色用画像データＭi,jの出力値ＭＤi,jや淡色用画像データＬi,jの出力値ＬＤi,jを「０」に設定するため、最も濃いドットが２番目に濃いドットや淡いドットから視覚的な影響を受けるのを低減することができるとともに、２番目に濃いドットが淡いドットから視覚的な影響を受けるのを低減することができる。
【００９７】
またこの場合には、２番目に濃いドット又は淡いドットが形成されないから、濃色用画像データＤi,j、中間色用画像データＭi,j及び淡色用画像データＬi,jの各出力値ＤＤi,j，ＭＤi,j，ＬＤi,jに基づき形成される総ドット数を減らすことができ、ひいてはドット形成用のインクやトナーなどの色材量を節約することができる。
【００９８】
さらにステップＳＣ５，ステップＳＤ６の各処理においては上記の通り、濃色用画像データＤi,jの出力値ＤＤi,jが「１」の場合、又は中間色用画像データＭi,jの出力値ＭＤi,jが「１」の場合に、上記式（４）にしたがい誤差ΔＥを算出して量子化誤差を低減してもよいが、この場合には、中間色用画像データＭi,j又は淡色用画像データＬi,jの出力値ＭＤi,j，ＬＤi,jに基づき形成される各ドット（２番目に濃いドットと淡いドット）の数をそれぞれ制御することができる。
【００９９】
なお、第２の実施形態では、図１６に示すハーフトーニング処理において、濃色用画像データＤの逆相関型のデジタルハーフトーニング処理と中間色用画像データＭの誤差拡散処理と淡色用画像データＬの誤差拡散処理とを画素ごとに繰り返しおこなったが、濃色用画像データＤの逆相関型のデジタルハーフトーニング処理を終えた画素につき中間色用画像データＭの誤差拡散処理をおこなえばよく、例えば、濃色用画像データＤの逆相関型のデジタルハーフトーニング処理を１つの行すべての画素につき終えてから、その行すべての画素につき中間色用画像データＭの誤差拡散処理をおこなうようにしてもよい。これと同様に、中間色用画像データＭの誤差拡散処理を終えた画素につき淡色用画像データＬの誤差拡散処理をおこなえばよく、例えば、中間色用画像データＭの誤差拡散処理を１つの行すべての画素につき終えてから、その行すべての画素につき淡色用画像データＬの誤差拡散処理をおこなうようにしてもよい。
【０１００】
［第３の実施の形態］
続いて、図１８〜図２２を参照しながら第３の実施形態について説明する。
本第３の実施形態における画像処理装置１は、上記第１の実施形態で説明した画像処理装置１と同様の構成を有しているが、入力される原画像データに対しては上記第１の実施形態で示した処理とやや異なる処理をおこなうようになっている。また、ＲＯＭ３には、上記第１の分解用データテーブルのほかに、濃色用画像データの入力値（０〜（ｎ−１））を２倍してｎで除した余りの値（変換値）に変換する変換用データテーブル（図２１参照）が格納されている。
【０１０１】
次に、第３の実施形態における画像処理方法について説明する。
【０１０２】
図１８は、画像処理装置１のＣＰＵ２が実行する処理を概略的に示した図面である。
ある１つの任意の画素（ｉ行ｊ列目の画素）の所定ビット数の原画像データが入力されたら、まず、分解手段としてのＣＰＵ２は、上記第１の実施形態と同様の分解処理をおこない、原画像データを濃色用画像データＤi,jと淡色用画像データＬi,jとに分解する。
【０１０３】
分解処理を終えたら、濃色用画像データＤi,jと淡色用画像データＬi,jとについてそれぞれハーフトーニング処理をおこない、濃色用画像データＤi,jから出力値ＤＤ’i,jを算出し、淡色用画像データＬi,jから出力値ＬＤi,jを算出する。ただし、以下の濃色用画像データＤi,j及び淡色用画像データＬi,jの各ハーフトーニング処理では、画像を構成する多数の画素のうち、注目する画素を左から右に順に切り替えて処理するときの特定の注目画素（ｉ行ｊ列目の画素）の処理について説明する。
【０１０４】
図１９は、第３の実施形態におけるハーフトーニング処理であって、画像処理装置１のＣＰＵ２が実行するハーフトーニング処理を経時的に示したフローチャートである。
ハーフトーニング処理では、始めに、濃色用画像データＤi,jの３値化処理をおこない、濃色用画像データＤi,jから出力値ＤＤ’i,jを算出する（ステップＳＥ）。
【０１０５】
図２０及び図２１を参照しながら濃色用画像データＤi,jの３値化処理を説明すると、まず、ＲＯＭ３に格納された上記変換用データテーブルを用いて、濃色用画像データＤi,jの入力値をその入力値に対応した上記変換用データテーブル中の値に変換する（ステップＳＥ１）。例えば、８ビットの濃色用画像データＤi,jが入力されたら、図２１に示すような変換用データテーブルを用いて、８ビットの濃色用画像データＤi,jの入力値を図２１中実線に対応する値（変換値）に変換する。
【０１０６】
濃色用画像データＤi,jの変換処理を終えたら、第１の量子化手段としてのＣＰＵ２は、図４のステップＳＡの処理と同様の濃色用画像データＤi,jの逆相関型のデジタルハーフトーニング処理をおこない、上記ステップＳＥ１の処理後の濃色用画像データＤi,jから出力値ＤＤi,jを算出する（ステップＳＥ２）。
【０１０７】
出力値ＤＤi,jを算出したら、その出力値ＤＤi,jが「１」であるか「０」であるかを判断する（ステップＳＥ３）。
【０１０８】
出力値ＤＤi,jが１であれば、上記ステップＳＥ１の処理前に入力された濃色用画像データＤi,jの入力値とｍとの大小関係を比較し（ステップＳＥ４）、濃色用画像データＤi,jの入力値がｍより大きければ、濃色画像データＤi,jの第２の出力値ＤＤ’i,jを「２」に設定し（ステップＳＥ５）、濃色用画像データＤi,jの入力値がｍ以下であれば、濃色画像データＤi,jの第２の出力値ＤＤ’i,jを「１」に設定する（ステップＳＥ６）。ここでは、ｍ＝１２７である。
【０１０９】
一方、出力値ＤＤi,jが０であっても、上記ステップＳＥ１の処理前に入力された濃色用画像データＤi,jの入力値とｍとの大小関係を比較し（ステップＳＥ７）、濃色用画像データＤi,jの入力値がｍ以下であれば、濃色画像データＤi,jの第２の出力値ＤＤ’i,jを「０」に設定し（ステップＳＥ８）、濃色用画像データＤi,jの入力値がｍより大きければ、上記ステップＳＥ６の処理をおこなう。
【０１１０】
上記ステップＳＥ１〜ステップＳＥ８からなる濃色用画像データＤi,jの３値化処理を終えたら、続いて、図１９に示す通り、淡色用画像データＬi,jの誤差拡散処理をおこない、淡色用画像データＬi,jから出力値ＬＤi,jを算出する（ステップＳＦ）。
【０１１１】
図２２を参照しながら淡色用画像データＬi,jの誤差拡散処理を説明すると、まず、第２の量子化手段としてのＣＰＵ２は、上記した濃色画像データＤi,jの第２の出力値ＤＤ’i,jが「１」以上であるかを判断し（ステップＳＦ１）、第２の出力値ＤＤ’i,jが１又は２であれば、淡色用画像データＬi,jの出力値ＬＤi,jを「０」に設定する（ステップＳＦ２）。
【０１１２】
逆に、濃色画像データＤi,jの第２の出力値ＤＤ’i,jが０であれば、淡色用画像データＬi,jの入力値（０〜（ｎ−１）の整数値）と予め設定された閾値との大小関係を比較する（ステップＳＦ３）。淡色用画像データＬi,jの入力値が閾値より大きいのであれば、淡色用画像データＬi,jの出力値ＬＤi,jを「１」に設定し（ステップＳＦ４）、淡色用画像データＬi,jの入力値が閾値以下であれば、上記ステップＳＦ２の処理をおこなう。ただし、ステップＳＦ３の処理において、閾値と比較される淡色用画像データＬi,jの入力値には、処理済みの周辺画素からの量子化誤差が既に加算されている。
【０１１３】
また、ステップＳＦ３の処理において用いる閾値は、固定値であってもよいし、濃色用画像データＤi,j又は淡色用画像データＬi,jの少なくとも一方に応じて変化させしてもよいし、処理済みの画素の原画像データに基づき形成されるドットの分布に応じて変化させてもよい。
【０１１４】
ステップＳＦ２又はステップＳＦ４の処理を終えたら、図１１のステップＳＢ５の処理と同様の誤差ΔＥの算出処理と、ステップＳＢ６の処理と同様の誤差ΔＥの拡散処理とをそれぞれおこなう（ステップＳＦ５，ステップＳＦ６）。
【０１１５】
なお、ステップＳＦ５の処理において、濃色用画像データＤi,jの出力値ＤＤ’i,jの出力値が「２」又は「１」の場合には、ステップＳＦ２の処理により淡色用画像データＬi,jが「０」であるから、淡色用画像データＬi,jの入力値がそのまま誤差ΔＥとして算出されるが、この場合、濃色用画像データＤi,jの出力値ＤＤ’i,jが「２」又は「１」であるから、淡いドットの形成をも支持したとみなして誤差ΔＥを「０」と設定してもよいし、上記式（４）にしたがい誤差ΔＥを算出して量子化誤差を低減してもよい。
【０１１６】
ステップＳＦ６の処理を終えたら、図２２に示す淡色用画像データＬi,jの誤差拡散処理を終え、これと同時に、図１８に示すｉ行ｊ列目の画素の原画像データの分解処理及びハーフトーニング処理を終える。これにより、ｉ行ｊ列目の画素の原画像データから下記（ｉ）〜（ｉｉｉ）の４通りの出力値を算出することができ、ｉ行ｊ列目の画素の原画像データを量子化（４値化）することができる。
（ｉ）ＤＤ’i,j＝「２」，ＬＤij＝「０」
（ｉｉ）ＤＤ’i,j＝「１」，ＬＤij＝「０」
（ｉｉｉ）ＤＤ’i,j＝「０」，ＬＤij＝「１」
（ｉｖ）ＤＤ’i,j＝「０」，ＬＤij＝「０」
【０１１７】
本第３の実施形態では、上記（ｉ）〜（ｉｖ）に示す原画像データの量子化後の各出力値が、ドットの形成を濃淡別に指示する信号に対応している。つまり、画像を構成する多数のドットの濃淡を３段階に分けた場合に、上記（ｉ）の出力値は、最も濃いドットの形成を指示する信号に対応し、上記（ｉｉ）の出力値は、２番目に濃いドットの形成を指示する信号に対応し、上記（ｉｉｉ）の出力値は、淡いドットの形成を指示する信号に対応し、上記（ｉｖ）の出力値は、ドットを形成しない旨を指示する信号に対応している。
【０１１８】
そして、図１８に示す原画像データの分解処理及びハーフトーニング処理を終えたら、画像を構成するすべての画素の原画像データについて図１８に示す分解処理及びハーフトーニング処理を同様におこない、原画像データを画素ごとに量子化する。
【０１１９】
以上の第３の実施形態では、上記第１の実施形態と同様に、原画像データから分解された濃色用画像データＤi,j及び淡色用画像データＬi,jのうち、一方の濃色用画像データＤi,jに対しては、上記第１の実施形態と同様に逆相関型のデジタルハーフトーニング処理をおこなうため、濃色用画像データＤi,jに基づき形成されるドットの分散性を向上させることができる。また、他方の淡色用画像データＬi,jに対しては逆相関型のデジタルハーフトーニング処理より処理速度の速い誤差拡散処理をおこなうため、原画像データの処理量を抑制することができる。
【０１２０】
また第３の実施形態では、濃色用画像データＤi,jの出力値ＤＤ’i,jに基づき淡色用画像データＬi,jの出力値ＬＤi,jを決定するため、濃いドットと淡いドットとからなるすべてのドットにおいて、全体としての分散性を向上させることができる。
【０１２１】
さらに第３の実施形態でも、上記第１の実施形態と同様に、濃色用画像データＤi,jの出力値ＤＤ’i,jが、逆相関型のデジタルハーフトーニング処理により算出されかつ最も濃いドットの形成を指示する信号に対応するため、視認されやすいドットを優先して分散させることができ、画質の向上を図ることができる。
【０１２２】
さらに第３の実施形態では、ステップＳＦの処理中のステップＳＦ１の処理において、濃色用画像データＤi,jの出力値ＤＤ’i,jが「２」又は「１」の場合に、淡色用画像データＬi,jの出力値ＬＤi,jを「０」に設定するため、濃色用画像データＤi,jの出力値ＤＤ’i,jに基づき形成される濃いドット（最も濃いドットと２番目に濃いドット）が、淡色用画像データＬi,jの出力値ＬＤi,jに基づき形成される淡いドットから視覚的な影響を受けるのを低減することができる。またこの場合には、淡色用画像データＬi,jの出力値ＬＤi,jに基づき形成される淡いドットが形成されないから、濃色用画像データＤi,j及び淡色用画像データＬi,jの各出力値ＤＤ’i,j，ＬＤi,jに基づき形成される総ドット数を減らすことができ、ひいてはドット形成用のインクやトナーなどの色材量を節約することができる。
【０１２３】
さらにステップＳＦ５の処理においては上記の通り、濃色用画像データＤi,jの出力値ＤＤ’i,jが「２」又は「１」の場合に、上記式（４）にしたがい誤差ΔＥを算出して量子化誤差を低減してもよいが、この場合には、淡色用画像データＬi,jの出力値ＬＤi,jに基づき形成される淡いドットの数を制御することができる。
【０１２４】
なお、第３の実施形態では、図１９に示すハーフトーニング処理において、濃色用画像データＤの３値化処理と淡色用画像データＬの誤差拡散処理とを画素ごとに繰り返しおこなったが、濃色用画像データＤの３値化処理を終えた画素につき淡色用画像データＬの誤差拡散処理をおこなえばよく、例えば、濃色用画像データＤの３値化処理を１つの行すべての画素につき終えてから、その行すべての画素につき淡色用画像データＬの誤差拡散処理をおこなうようにしてもよい。
【０１２５】
また、淡色用画像データＬi,jの誤差拡散処理では、当該誤差拡散処理を開始したらすぐにステップＳＦ１の処理をおこない、濃色用画像データＤi,jの出力値ＤＤ’i,jに基づき淡色用画像データＬi,jの出力値ＬＤi,jを設定したが、ステップＳＦ１の処理を省略し、淡色用画像データＬi,jの誤差拡散処理を開始したらすぐにステップＳＦ３の処理をおこなって淡色用画像データＬi,jの出力値ＬＤi,jを設定してもよい。
【０１２６】
［第４の実施の形態］
続いて、図２３〜図２６を参照しながら第４の実施形態について説明する。
本第４の実施形態における画像処理装置１は、上記第１の実施形態で説明した画像処理装置１と同様の構成を有しているが、入力される原画像データに対しては上記第１の実施形態で示した処理とやや異なる処理をおこなうようになっている。
【０１２７】
次に、第４の実施形態における画像処理方法について説明する。
【０１２８】
図２３は、画像処理装置１のＣＰＵ２が実行する処理を概略的に示した図面である。
ある１つの任意の画素（ｉ行ｊ列目の画素）の所定ビット数の原画像データが入力されたら、まず、分解手段としてのＣＰＵ２は、上記第１の実施形態と同様の分解処理をおこない、入力された画像データを濃色用画像データＤi,jと淡色用画像データＬi,jとに分解する。
【０１２９】
分解処理を終えたら、濃色用画像データＤi,jと淡色用画像データＬi,jとについてそれぞれハーフトーニング処理をおこない、濃色用画像データＤi,jから出力値ＤＤi,jを算出し、淡色用画像データＬi,jから出力値ＬＤi,jを算出する。ただし、以下の濃色用画像データＤi,j及び淡色用画像データＬi,jの各ハーフトーニング処理では、画像を構成する多数の画素のうち、注目する画素を左から右に順に切り替えて処理するときの特定の注目画素（ｉ行ｊ列目の画素）の処理について説明する。
【０１３０】
図２４は、第４の実施形態におけるハーフトーニング処理であって、画像処理装置１のＣＰＵ２が実行するハーフトーニング処理を経時的に示したフローチャートである。
ハーフトーニング処理では、始めに、第１の量子化手段としてのＣＰＵ２は、図４のステップＳＡの処理と同様の濃色用画像データＤi,jの逆相関型のデジタルハーフトーニング処理をおこない、濃色用画像データＤi,jから出力値ＤＤi,jを算出する。
【０１３１】
図２４に示す濃色用画像データＤi,jの逆相関型のデジタルハーフトーニング処理を終えたら、続いて、淡色用画像データＬi,jのディザ処理をおこない、淡色用画像データＬi,jから出力値ＬＤi,jを算出する（ステップＳＧ）。
【０１３２】
図２５を参照しながら淡色用画像データＬi,jのディザ処理を説明すると、まず、第２の量子化手段としてのＣＰＵ２は、図２５に示す通り、濃色用画像データＤi,jが「１」であるか「０」であるかを判断し（ステップＳＧ１）、出力値ＤＤi,jが１であれば、淡色用画像データＬi,jの出力値ＬＤi,jを「０」に設定する（ステップＳＧ２）。
【０１３３】
濃色用画像データＤi,jの出力値ＤＤi,jが０であれば、淡色用画像データＬi,jの入力値と、ディザマトリクス中の各閾値において淡色用画像データＬi,jのｉ行ｊ列目の画素に対応する閾値との大小関係を比較する（ステップＳＧ３）。例えば、ステップＳＧ３の処理では、図２６に示すようなディザマトリクスを適用することができる。ただし、図２６に示すディザマトリクス以外のディザマトリクスを適用してもよい。
【０１３４】
淡色用画像データＬi,jの入力値（０〜（ｎ−１）の整数値）がディザマトリクス中の当該閾値よりも大きいのであれば、淡色用画像データＬi,jの出力値ＬＤi,jを「１」に設定し（ステップＳＧ４）、淡色用画像データＬi,jの入力値がディザマトリクス中の当該閾値以下であれば、上記ステップＳＧ２の処理をおこなう。
【０１３５】
ステップＳＧ２又はステップＳＧ４の処理を終えたら、図２５に示す淡色用画像データＬi,jのディザ処理を終える。ここで、図２５に示す淡色用画像データＬi,jのディザ処理では、上記第１の実施形態で説明したような図１１に示す淡色用画像データＬi,jの誤差拡散処理などとは異なり、淡色用画像データＬi,jの入力値と比較される閾値が、ディザマトリクスやディザマトリクス中の画素位置により変化し、また、淡色用画像データＬi,jの入力値には、処理済みの周辺画素からの量子化誤差は加算されない。
【０１３６】
図２５に示す淡色用画像データＬi,jのディザ処理を終えたら、これと同時に、図２３に示すｉ行ｊ列目の画素の原画像データの分解処理及びハーフトーニング処理も終える。これにより、ｉ行ｊ列目の画素の原画像データから下記（ｉ）〜（ｉｉｉ）の３通りの出力値を算出することができ、ｉ行ｊ列目の画素の原画像データを量子化（３値化）することができる。
（ｉ）ＤＤi,j＝「１」，ＬＤij＝「０」
（ｉｉ）ＤＤi,j＝「０」，ＬＤij＝「１」
（ｉｉｉ）ＤＤi,j＝「０」，ＬＤij＝「０」
【０１３７】
本第４の実施形態では、上記（ｉ）〜（ｉｉｉ）に示す原画像データの量子化後の各出力値が、ドットの形成を濃淡別に指示する信号に対応している。つまり、画像を構成する多数のドットの濃淡を２段階に分けた場合に、上記（ｉ）の出力値は、濃いドットの形成を指示する信号に対応し、上記（ｉｉ）の出力値は、淡いドットの形成を指示する信号に対応し、上記（ｉｉｉ）の出力値は、ドットを形成しない旨を指示する信号に対応している。
【０１３８】
そして、図２３に示す原画像データの分解処理及びハーフトーニング処理を終えたら、画像を構成するすべての画素の原画像データについて図２３に示す分解処理及びハーフトーニング処理を同様におこない、原画像データを量子化する。
【０１３９】
以上の第４の実施形態では、上記第１の実施形態と同様に、原画像データから分解された濃色用画像データＤi,j及び淡色用画像データＬi,jのうち、一方の濃色用画像データＤi,jに対しては、上記第１の実施形態と同様に逆相関型のデジタルハーフトーニング処理をおこなうため、濃色用画像データＤi,jに基づき形成されるドットの分散性を向上させることができる。また、他方の淡色用画像データＬi,jに対しては逆相関型のデジタルハーフトーニング処理より処理速度の速いディザ処理をおこなうため、原画像データの処理量を抑制することができる。
【０１４０】
また第４の実施形態では、濃色用画像データＤi,jの出力値ＤＤi,jに基づき淡色用画像データＬi,jの出力値ＬＤi,jを決定するため、濃いドットと淡いドットとからなるすべてのドットにおいて、全体としての分散性を向上させることができる。
【０１４１】
さらに第４の実施形態でも、上記第１の実施形態と同様に、濃色用画像データＤi,jの出力値ＤＤi,jが、逆相関型のデジタルハーフトーニング処理により算出されかつ濃いドットの形成を指示する信号に対応するため、視認されやすいドットを優先して分散させることができ、画質の向上を図ることができる。
【０１４２】
なお、第４の実施形態では、図２４に示すハーフトーニング処理において、濃色用画像データＤの逆相関型のデジタルハーフトーニング処理と淡色用画像データＬのディザ処理とを画素ごとに繰り返しおこなったが、濃色用画像データＤの逆相関型のデジタルハーフトーニング処理を終えた画素につき淡色用画像データＬのディザ処理をおこなえばよく、例えば、濃色用画像データＤの逆相関型のデジタルハーフトーニング処理を１つの行すべての画素につき終えてから、その行すべての画素につき淡色用画像データＬのディザ処理をおこなうようにしてもよい。
【０１４３】
また、淡色用画像データＬi,jのディザ処理では、当該ディザ処理を開始したらすぐにステップＳＧ１の処理をおこない、濃色用画像データＤi,jの出力値ＤＤi,jに基づき淡色用画像データＬi,jの出力値ＬＤi,jを設定したが、ステップＳＧ１の処理を省略し、淡色用画像データＬi,jのディザ処理を開始したらすぐにステップＳＧ３の処理をおこなって淡色用画像データＬi,jの出力値ＬＤi,jを設定してもよい。
【０１４４】
また、第１〜第４の実施形態では、画像を構成する多数の画素のうち、注目する画素を左から右に順に切り替えて処理するときの特定（ｉ行ｊ列目）の画素の処理についてのみ説明したが、所定数の画素からなる行を切り換えた後の処理方向については、再び左から右に向かう方向としてもよいし、反転させて右から左に向かう方向としてもよいし、左右方向の何れかをランダムに選択するようにしてもよく、全体として蛇行するような順序で１行ごと又は複数行ごとに処理方向を反転させるように各画素を処理するのが好ましい。
【０１４５】
また、第１〜第４の実施形態では、モノクロなどの単色画像の原画像データに関する画像処理装置、画像処理方法及び画像処理プログラムを開示したが、Ｙ（イエロー），Ｍ（マゼンタ），Ｃ（シアン），Ｋ（ブラック）などの複数色からなるカラー画像の原画像データを扱う場合にも、色ごとに上記第１〜第４の実施形態中の画像処理装置１、画像処理方法及び画像処理プログラムを適用することができる。
【０１４６】
さらに、第１〜第４の実施形態では、逆相関型のデジタルハーフトーニング処理により算出された出力値が最も濃いドットの形成を指示する信号に対応したが、原画像データに基づき無数のドットから形成される画像のハイライト部分を際立たせるために、逆相関型のデジタルハーフトーニング処理により算出された出力値が最も淡いドットの形成を指示する信号に対応するようにしてもよい。
【図面の簡単な説明】
【０１４７】
【図１】第１の実施形態における画像処理装置の構成を示すブロック図である。
【図２】第１の実施形態における画像処理装置のＣＰＵが実行する処理を概略的に示した図面である。
【図３】第１の分解用データテーブルの一例を示す図面である。
【図４】第１の実施形態において画像処理装置のＣＰＵが実行するハーフトーニング処理を経時的に示したフローチャートである。
【図５】第１の実施形態において画像処理装置のＣＰＵが実行する濃色用画像データの逆相関型のデジタルハーフトーニング処理を経時的に示したフローチャートである。
【図６】画素値及び階調値に基づく値ΔとローカルフィルタＰの情報とを対応づけた表である。
【図７】基礎フィルタＫ1〜Ｋ3を示す図面である。
【図８】基礎フィルタＫ4〜Ｋ6を示す図面である。
【図９】ローカルフィルタＰ（＝Ｒ（Ｋ6，４，−１）を示す図面である。
【図１０】ヒストグラムＨi,j［ｋ］の生成を説明するための図面である。
【図１１】第１の実施形態において画像処理装置のＣＰＵが実行する淡色用画像データの誤差拡散処理を経時的に示したフローチャートである。
【図１２】誤差拡散処理に用いられるフロイドスタインバーグ式のマトリクスを示す図面である。
【図１３】第２の実施形態における画像処理装置のＣＰＵが実行する処理を概略的に示した図面である。
【図１４】第２の分解用データテーブルの一例を示す図面である。
【図１５】第２の実施形態において画像処理装置のＣＰＵが実行するハーフトーニング処理を経時的に示したフローチャートである。
【図１６】第２の実施形態において画像処理装置のＣＰＵが実行する中間色用画像データの誤差拡散処理を経時的に示したフローチャートである。
【図１７】第２の実施形態において画像処理装置のＣＰＵが実行する淡色用画像データの誤差拡散処理を経時的に示したフローチャートである。
【図１８】第３の実施形態における画像処理装置のＣＰＵが実行する処理を概略的に示した図面である。
【図１９】第３の実施形態において画像処理装置のＣＰＵが実行するハーフトーニング処理を経時的に示したフローチャートである。
【図２０】第３の実施形態において画像処理装置のＣＰＵが実行する濃色用画像データの３値化処理を経時的に示したフローチャートである。
【図２１】変換用データテーブルの一例を示す図面である。
【図２２】第３の実施形態において画像処理装置のＣＰＵが実行する淡色用画像データの誤差拡散処理を経時的に示したフローチャートである。
【図２３】第４の実施形態における画像処理装置のＣＰＵが実行する処理を概略的に示した図面である。
【図２４】第４の実施形態において画像処理装置のＣＰＵが実行するハーフトーニング処理を経時的に示したフローチャートである。
【図２５】第４の実施形態において画像処理装置のＣＰＵが実行する淡色用画像データのディザ処理を経時的に示したフローチャートである。
【図２６】ディザ処理に用いられるマトリクスの一例を示す図面である。
【符号の説明】
【０１４８】
１  画像処理装置
２  ＣＰＵ（分解手段，第１の量子化手段，第２の量子化手段）
３  ＲＯＭ
４  ＲＡＭ
【図１】
2005073183.tif 000003
【図２】
2005073183.tif 000004
【図３】
2005073183.tif 000005
【図４】
2005073183.tif 000006
【図５】
2005073183.tif 000007
【図６】
2005073183.tif 000008
【図７】
2005073183.tif 000009
【図８】
2005073183.tif 000010
【図９】
2005073183.tif 000011
【図１０】
2005073183.tif 000012
【図１１】
2005073183.tif 000013
【図１２】
2005073183.tif 000014
【図１３】
2005073183.tif 000015
【図１４】
2005073183.tif 000016
【図１５】
2005073183.tif 000017
【図１６】
2005073183.tif 000018
【図１７】
2005073183.tif 000019
【図１８】
2005073183.tif 000020
【図１９】
2005073183.tif 000021
【図２０】
2005073183.tif 000022
【図２１】
2005073183.tif 000023
【図２２】
2005073183.tif 000024
【図２３】
2005073183.tif 000025
【図２４】
2005073183.tif 000026
【図２５】
2005073183.tif 000027
【図２６】
2005073183.tif 000028