(57)【要約】【課題】低コストで高い階調性を実現可能なディザ処理を行う。【解決手段】ディザ処理部１４では、階調変換処理部１５において複数の閾値が設定されたマトリクスを画像に適用し、当該マトリクスの閾値に基づいて当該マトリクスに対応する画像領域の代表階調値の階調変換を行う。誤差算出部１６では前記階調変換の前後において、前記マトリクスに対応する画像領域で生じた階調誤差を算出する。誤差拡散部１８は前記算出された階調誤差を前記マトリクスに対応する画像領域の周辺で適用される周辺マトリクスの閾値に拡散する。【選択図】図２
2008199472.tif 000002
【特許請求の範囲】
【請求項１】
複数の閾値が設定されたマトリクスを画像に適用し、当該マトリクスの閾値に基づいて当該マトリクスに対応する画像領域の代表階調値の階調変換を行う階調変換処理部と、
前記階調変換の前後において、前記マトリクスに対応する画像領域で生じた階調誤差を算出する誤差算出部と、
前記算出された階調誤差を前記マトリクスに対応する画像領域の周辺で適用される周辺マトリクスの閾値に拡散する誤差拡散部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記マトリクスに設定された複数の閾値は、それぞれ異なる閾値であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記階調変換処理部は、前記マトリクスの閾値に基づいて前記代表階調値を２値又は多値で表現される階調値に階調変換することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記階調変換処理部は、前記マトリクスが適用された画像領域を構成する各画素の画素値に基づいて前記代表階調値を決定することを特徴とする請求項１〜３の何れか一項に記載の画像処理装置。
【請求項５】
前記階調誤差は、前記階調変換が行われる前の代表階調値と、前記階調変換が行われた後の階調値との差分であることを特徴とする請求項１〜４の何れか一項に記載の画像処理装置。
【請求項６】
前記階調誤差は、前記階調変換が行われる前の代表階調値と、前記階調変換によって前記画像領域の各画素においてドットを非出力とさせた閾値のうち最大の閾値との差分であることを特徴とする請求項１〜４の何れか一項に記載の画像処理装置。
【請求項７】
前記誤差拡散部は、階調誤差を重み付けして、前記周辺マトリクスの閾値に加算することを特徴とする請求項１〜６の何れか一項に記載の画像処理装置。
【請求項８】
前記誤差拡散部は、前記周辺マトリクスにおいて階調誤差を加算する閾値の位置及び重み付け係数が予め定められた拡散係数パターンを用いて、前記階調誤差の重み付け及び周辺マトリクスの閾値への加算を行うことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記拡散係数パターンには、前記周辺マトリクスにおいて階調誤差を加算する閾値の位置及び重み付け係数が異なる複数の拡散係数パターンがあり、
前記複数の拡散係数パターンのうち、前記誤差拡散部において用いる拡散係数パターンを選択するための操作部を備えることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
複数の閾値が設定されたマトリクスを画像に適用し、当該マトリクスの閾値に基づいて当該マトリクスに対応する画像領域の代表階調値の階調変換を行う階調変換処理工程と、
前記階調変換の前後において、前記マトリクスに対応する画像領域で生じた階調誤差を算出する誤差算出工程と、
前記算出された階調誤差を前記マトリクスに対応する画像領域の周辺で適用される周辺マトリクスの閾値に拡散する誤差拡散工程と、
を含むことを特徴とする画像処理方法。
【請求項１１】
前記マトリクスに設定された複数の閾値は、それぞれ異なる閾値であることを特徴とする請求項１０に記載の画像処理方法。
【請求項１２】
前記階調変換処理工程では、前記マトリクスの閾値に基づいて前記代表階調値を２値又は多値で表現される階調値に階調変換することを特徴とする請求項１０又は１１に記載の画像処理方法。
【請求項１３】
前記階調変換処理工程では、前記マトリクスが適用された画像領域を構成する各画素の画素値に基づいて前記代表階調値を決定することを特徴とする請求項１０〜１２の何れか一項に記載の画像処理方法。
【請求項１４】
前記階調誤差は、前記階調変換が行われる前の代表階調値と、前記階調変換が行われた後の階調値との差分であることを特徴とする請求項１０〜１３の何れか一項に記載の画像処理方法。
【請求項１５】
前記階調誤差は、前記階調変換が行われる前の代表階調値と、前記階調変換によって前記画像領域の各画素においてドットを非出力とさせた閾値のうち最大の閾値との差分であることを特徴とする請求項１０〜１４の何れか一項に記載の画像処理方法。
【請求項１６】
前記誤差拡散工程では、階調誤差を重み付けして、前記周辺マトリクスの閾値に加算することを特徴とする請求項１０〜１５の何れか一項に記載の画像処理方法。
【請求項１７】
前記誤差拡散工程では、前記周辺マトリクスにおいて階調誤差を加算する閾値の位置及び重み付け係数が予め定められた拡散係数パターンを用いて、前記階調誤差の重み付け及び周辺マトリクスの閾値への加算を行うことを特徴とする請求項１６に記載の画像処理方法。
【請求項１８】
前記拡散係数パターンには、前記周辺マトリクスにおいて階調誤差を加算する閾値の位置及び重み付け係数が異なる複数の拡散係数パターンがあり、
前記誤差拡散工程では、前記複数の拡散係数パターンのうち、操作部を介して選択された拡散係数パターンを用いて前記階調誤差の重み付け及び周辺マトリクスの閾値への加算を行うことを特徴とする請求項１７に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中間調を再現するためのディザ処理を行う画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来、プリンタ等では中間調を再現する手法として、複数の閾値が設定されたマトリクスを用いて画像の画素値を２値化又は多値化して階調表現を行うディザ処理の技法が用いられている。ディザ処理では、表現できる階調はマトリクスのサイズ、つまりマトリクスに設定される閾値の数により限られる。これに対し、より高い階調性を実現するための手法の一つとしてスーパーセルと呼ばれる方法が存在する。スーパーセルは、複数の小単位のマトリクスが結合して一つの大きなマトリクスを構成しているものである。閾値数が増大するため、表現できる階調数も増え、階調性が高い画像が得られる。
【０００３】
しかしながら、スーパーセル法では閾値の数が多いため、大容量のメモリが必要となり、コスト高である。また、スーパーセルも通常のマトリクスの場合と同様に周期的に画像に適用されるため、同じ閾値の繰り返しパターンによってモアレが発生する場合がある。
【０００４】
また、他の手法として画素群ごとに代表する階調値を求め、予め定められた対応関係に基づいて代表の階調値に対応するドット数を決定し、このドット数が示す階調値と代表の階調値との誤差を周辺の画素の画素値に拡散する方法がある（例えば、特許文献１参照）。この方法によれば、２値化や多値化によって生じた元の画像との階調誤差を解消することができ、画像の再現性が向上する。
【特許文献１】特開２００５−３０３６６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の方法によれば、代表する階調値によって出力されるドット数は予め定められているため、表現できる階調数に限界がある。
また、上記特許文献１に記載の方法では、画素群内でドットが出力される画素の序列を特定し、この序列に基づいて出力するドットの位置を決定しているが、１つの序列によって決定する場合、ドットの出力が同一の順番、同一の位置となり、その繰り返しによってモアレが発生する可能性が高い。また、複数の序列によって決定する場合、その序列を記憶するため大容量のメモリが必要となり、コスト高となっていた。
【０００６】
本発明の課題は、低コストで高い階調性を実現可能なディザ処理を行うことである。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、画像処理装置において、
複数の閾値が設定されたマトリクスを画像に適用し、当該マトリクスの閾値に基づいて当該マトリクスに対応する画像領域の代表階調値の階調変換を行う階調変換処理部と、
前記階調変換の前後において、前記マトリクスに対応する画像領域で生じた階調誤差を算出する誤差算出部と、
前記算出された階調誤差を前記マトリクスに対応する画像領域の周辺で適用される周辺マトリクスの閾値に拡散する誤差拡散部と、
を備えることを特徴とする。
【０００８】
請求項２に記載の発明は、請求項１に記載の画像処理装置において、
前記マトリクスに設定された複数の閾値は、それぞれ異なる閾値であることを特徴とする。
【０００９】
請求項３に記載の発明は、請求項１又は２に記載の画像処理装置において、
前記階調変換処理部は、前記マトリクスの閾値に基づいて前記代表階調値を２値又は多値で表現される階調値に階調変換することを特徴とする。
【００１０】
請求項４に記載の発明は、請求項１〜３の何れか一項に記載の画像処理装置において、
前記階調変換処理部は、前記マトリクスが適用された画像領域を構成する各画素の画素値に基づいて前記代表階調値を決定することを特徴とする。
【００１１】
請求項５に記載の発明は、請求項１〜４の何れか一項に記載の画像処理装置において、
前記階調誤差は、前記階調変換が行われる前の代表階調値と、前記階調変換が行われた後の階調値との差分であることを特徴とする。
【００１２】
請求項６に記載の発明は、請求項１〜４の何れか一項に記載の画像処理装置において、
前記階調誤差は、前記階調変換が行われる前の代表階調値と、前記階調変換によって前記画像領域の各画素においてドットを非出力とさせた最大の閾値により求められる階調値との差分であることを特徴とする。
【００１３】
請求項７に記載の発明は、請求項１〜６の何れか一項に記載の画像処理装置において、
前記誤差拡散部は、階調誤差を重み付けして、前記周辺マトリクスの閾値に加算することを特徴とする。
【００１４】
請求項８に記載の発明は、請求項７に記載の画像処理装置において、
前記誤差拡散部は、前記周辺マトリクスにおいて階調誤差を加算する閾値の位置及び重み付け係数が予め定められた拡散係数パターンを用いて、前記階調誤差の重み付け及び周辺マトリクスの閾値への加算を行うことを特徴とする。
【００１５】
請求項９に記載の発明は、請求項８に記載の画像処理装置において、
前記拡散係数パターンには、前記周辺マトリクスにおいて階調誤差を加算する閾値の位置及び重み付け係数が異なる複数の拡散係数パターンがあり、
前記複数の拡散係数パターンのうち、前記誤差拡散部において用いる拡散係数パターンを選択するための操作部を備えることを特徴とする。
【００１６】
請求項１０に記載の発明は、画像処理方法において、
複数の閾値が設定されたマトリクスを画像に適用し、当該マトリクスの閾値に基づいて当該マトリクスに対応する画像領域の代表階調値の階調変換を行う階調変換処理工程と、
前記階調変換の前後において、前記マトリクスに対応する画像領域で生じた階調誤差を算出する誤差算出工程と、
前記算出された階調誤差を前記マトリクスに対応する画像領域の周辺で適用される周辺マトリクスの閾値に拡散する誤差拡散工程と、
を含むことを特徴とする。
【００１７】
請求項１１に記載の発明は、請求項１０に記載の画像処理方法において、
前記マトリクスに設定された複数の閾値は、それぞれ異なる閾値であることを特徴とする。
【００１８】
請求項１２に記載の発明は、請求項１０又は１１に記載の画像処理方法において、
前記階調変換処理工程では、前記マトリクスの閾値に基づいて前記代表階調値を２値又は多値で表現される階調値に階調変換することを特徴とする。
【００１９】
請求項１３に記載の発明は、請求項１０〜１２の何れか一項に記載の画像処理方法において、
前記階調変換処理工程では、前記マトリクスが適用された画像領域を構成する各画素の画素値に基づいて前記代表階調値を決定することを特徴とする。
【００２０】
請求項１４に記載の発明は、請求項１０〜１３の何れか一項に記載の画像処理方法において、
前記階調誤差は、前記階調変換が行われる前の代表階調値と、前記階調変換が行われた後の階調値との差分であることを特徴とする。
【００２１】
請求項１５に記載の発明は、請求項１０〜１４の何れか一項に記載の画像処理方法において、
前記階調誤差は、前記階調変換が行われる前の代表階調値と、前記階調変換によって前記画像領域の各画素においてドットを非出力させた最大の閾値により求められる階調値との差分であることを特徴とする。
【００２２】
請求項１６に記載の発明は、請求項１０〜１５の何れか一項に記載の画像処理方法において、
前記誤差拡散工程では、階調誤差を重み付けして、前記周辺マトリクスの閾値に加算することを特徴とする。
【００２３】
請求項１７に記載の発明は、請求項１６に記載の画像処理方法において、
前記誤差拡散工程では、前記周辺マトリクスにおいて階調誤差を加算する閾値の位置及び重み付け係数が予め定められた拡散係数パターンを用いて、前記階調誤差の重み付け及び周辺マトリクスの閾値への加算を行うことを特徴とする。
【００２４】
請求項１８に記載の発明は、請求項１７に記載の画像処理方法において、
前記拡散係数パターンには、前記周辺マトリクスにおいて階調誤差を加算する閾値の位置及び重み付け係数が異なる複数の拡散係数パターンがあり、
前記誤差拡散工程では、前記複数の拡散係数パターンのうち、操作部を介して選択された拡散係数パターンを用いて前記階調誤差の重み付け及び周辺マトリクスの閾値への加算を行うことを特徴とする。
【発明の効果】
【００２５】
請求項１、５、６、１０、１４、１５に記載の発明によれば、階調誤差を周辺マトリクスの閾値に拡散することにより、階調誤差を画像全体で相殺することが可能になるだけでなく、同じマトリクス単位で異なる閾値を設定したスーパーセルと同様に階調性の高い画像再現が可能となる。また、誤差拡散によりある基本となるマトリクスの閾値を順次変更していけばよいので、基本のマトリクスの閾値のみを保持していればよく、小メモリ容量でスーパーセルと同様の効果を得ることができる。従って、低コストで高い階調性を実現可能なディザ処理を行うことができる。また、拡散される階調誤差はマトリクスが適用された画像領域によって異なるので、マトリクスの閾値をランダムに変更することができ、閾値の繰り返しパターンによって生じるモアレ等の画質劣化を回避することができる。
【００２６】
請求項２、１１に記載の発明によれば、マトリクスの閾値を全て異なる値とすることにより、より高い階調性を実現することができる。
【００２７】
請求項３、１２に記載の発明によれば、目的に応じて２値又は多値による階調表現が可能となる。
【００２８】
請求項４、１３に記載の発明によれば、各画素の画素値の平均値や各画素のうち特定の画素の画素値等を代表階調値とすることができ、元画像の再現性が良い。
【００２９】
請求項７〜９、１６〜１８に記載の発明によれば、複数ある拡散係数パターンのうち、目的に応じた拡散係数パターンを選択することができ、階調誤差の拡散の程度を調整することができる。これにより、画質の調整が可能である。
【発明を実施するための最良の形態】
【００３０】
まず、構成を説明する。
図１に、本実施形態におけるＭＦＰ（Multi Function Peripheral）１００の構成を示す。ＭＦＰ１００は、プリンタ機能、複写機能、スキャナ機能等の多機能を備えた複合機であり、図１に示すように本体部１０、画像読取部２０、操作部３０、タッチパネル４０、表示部５０、プリンタ部６０等を備えて構成されている。
【００３１】
以下、各部について説明する。
画像読取部２０は、光源、ＣＣＤ（Charge Coupled Device）、Ａ／Ｄ変換器等を備えて原稿の画像を読み取るものである。画像読取時には、光源から原稿へ照明走査した光の反射光を結像してＣＣＤにより光電変換することにより原稿画像を読取、その画像信号（アナログ信号）を生成する。その後、画像信号をＡ／Ｄ変換器によりデジタル画像データに変換し、本体部１０に出力する。
【００３２】
操作部３０は、各種機能キーの他、タッチパネル４０等を備えて構成されている。操作部３０は、各キーやタッチパネル４０において操作がなされると、当該操作に対応する操作信号を生成して本体部１０に出力する。
【００３３】
表示部５０は、タッチパネル４０と一体に構成される表示ディスプレイ等を備えて構成されている。表示部５０は本体部１０の制御部２の制御に従って、表示ディスプレイ上に各種操作画面を表示する。
【００３４】
プリンタ部６０は、プリントすべき画像をプリント用紙上にプリント出力するものである。プリンタ部６０は、例えば電子写真方式を採用する場合には、感光ドラムを有する露光部、トナーを付着させる現像部、トナーの定着処理を行う定着部等を備えて構成されている。プリント時には露光部において画像データに基づく静電潜像を感光体ドラムに書き込み、現像部において当該感光ドラムにトナーを付着させ、トナー像を形成する。このトナー像は給紙トレイから搬送されたプリント用紙上に転写される。その後、プリント用紙は定着部に搬送され、定着処理されて指定された排出先のトレイへ出力される。なお、プリント方式は電子写真方式以外の方式であってもよい。
【００３５】
次に、本体部１０について説明する。
本体部１０は、図１に示すように画像処理装置１、制御部２、記憶部３、ＤＲＡＭ（Dynamic Random Access Memory）制御部４、ＤＲＡＭ５を備えて構成されている。
【００３６】
制御部２は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）等から構成され、記憶部３に記憶されている各種制御プログラムに従ってＭＦＰ１００の各部の動作を統括制御する。また、各種演算を行う。例えば、操作部３０から入力される操作信号に従って、コピー、プリンタ、スキャナのモードを切り替え、画像読取部２０による原稿の読み取り、ＤＲＡＭ５への保存、プリンタ部６０への画像データの出力等の処理制御を行う。
【００３７】
記憶部３は、各種プログラムの他、プログラムの実行に必要なファイルやデータ等を記憶している。例えば、後述する画像処理装置１のディザ処理部において用いられる基本型のマトリクスのデータや、拡散係数パターンのデータ等を記憶している。
【００３８】
ＤＲＡＭ制御部４は、制御部２の制御に従ってＤＲＡＭ５に対する画像データの入出力を制御する。
ＤＲＡＭ５は、保存メモリ領域、ページメモリ領域から構成されている。保存メモリ領域は画像データを保存するためのメモリであり、ぺージメモリ領域はプリント対象の画像データをプリント前に一時的に格納するためのメモリである。
【００３９】
次に、本発明に係る画像処理装置１について説明する。
画像処理装置１は、プリント対象の画像データに各種画像処理を施すものである。
図２に示すように、画像処理装置１は色変換部１１、γ補正部１３、ディザ処理部１４を備えて構成されている。
【００４０】
色変換部１１は、画像読取部２０から入力される画像データを、ＭＦＰ１００で出力可能な色材に応じた画像データに変換するものである。例えば、画像読取部２０からＲ、Ｇ、Ｂの各色の画像データが入力されると、これら色の画像データを、ＭＦＰ１００で出力可能な色材Ｙ、Ｍ、Ｃ、Ｋの各色の画像データに変換して出力する。
【００４１】
γ補正部１３は、予めγ補正用に準備されたＬＵＴ（ルックアップテーブル）を用いて、入力された画像データを変換することにより、γ補正処理を施す。γ補正処理が施された画像データはディザ処理部１４に出力される。
【００４２】
ディザ処理部１４は、入力された画像データに対してディザ処理を施して中間調の再現を行う。ディザ処理時には、予めマトリクス状に複数の閾値が設定されたマトリクスを記憶部３から読み出して処理に用いる。
ディザ処理部１４は、図２に示すように階調変換処理部１５、誤差算出部１６、誤差メモリ１７、誤差拡散部１８を備えて構成されている。以下、これら各部によるディザ処理について図３に示すフローチャートを参照しながら説明する。
【００４３】
階調変換処理部１５は、マトリクスを入力画像に適用し、そのマトリクスに対応する画像領域の各画素値を２値化又は多値化し、当該画像領域の階調値を、２値又は多値の画素値によって表現した階調値に変換するものである。以下、２値による階調の表現を２値表現、２値より大きい多値による階調の表現を多値表現ということがある。
【００４４】
図４に、２値化する際に用いる基本型のマトリクスの例を示す。
図４（ａ）はＡＭ方式の場合に用いるマトリクスｍ１であり、図４（ｂ）はＦＭ方式の場合に用いるマトリクスｍ２の例である。ＡＭ方式はマトリクスにより形成する網点自体の大小によって中間調を再現するものであるのに対し、ＦＭ方式は網点自体の大きさは一定として隣接する網点の密度によって中間調を再現するものである。
【００４５】
何れのマトリクスｍ１、ｍ２も複数のセル（１セルが１画素に対応する）から構成され、各セルには閾値（図４中、セル内に表示されている数字）が設定されている。なお、閾値は画素値２５５を白、画素値０を黒に割り付けることを前提に設定されている。
この閾値とマトリクスに対応する画像領域の各画素値とを比較した結果に基づいて、当該画像領域の各画素値を２値化する。すなわち、各画素についてドットの出力の有無を決定する。このドットの集合により、マトリクスが適用された画像領域ごとに網点が形成されることとなる。つまり、ドットの出力によって画像領域の階調を表現し、画像領域の階調値は網点の濃度を決定するものとなる。よって、画像領域の階調値としてとりうる階調数が増大するほど、高い階調性を実現することが可能となる。なお、マトリクスｍ１、ｍ２に設定する閾値はそれぞれ異なる値とすることが好ましい。全て異なる値とすることにより、マトリクスｍ１、ｍ２によって表現できる階調数を増やし、高階調を実現することが可能となるからである。
【００４６】
階調変換処理部１５は、処理対象の画像データが入力されると（ステップＳ１）、その入力画像にマトリクスを適用する（ステップＳ２）。マトリクスは隣り合わせのマトリクス同士で相補的となるような形状に構成されているので、順次マトリクスの適用位置をシフトさせることにより画像全体を漏れなくマトリクスにより走査することが可能である。以下、この適用したマトリクス内で階調変換処理を行うが、処理が行われているマトリクスを注目マトリクス、注目マトリクスの周辺で、その後処理が行われる予定のマトリクスを周辺マトリクスという。
【００４７】
階調変換処理部１５は、注目マトリクスに対応する画像領域において、その画像領域の代表階調値を決定する（ステップＳ３）。代表階調値は、マトリクスに対応する画像領域の各画素の画素値を平均した、その平均値とする。或いは、予めマトリクスにおいて代表階調値として採用する特定画素の位置を設定しておき、マトリクスに対応する画像領域において当該設定位置に該当する画素を特定画素と判断してその画素値を代表階調値とすることとしてもよい。決定後、階調変換処理部１５は画像領域の各画素値を代表階調値に置き換える。
【００４８】
図５を参照して説明する。
例えば、図４（ａ）に示すマトリクスｍ１を入力画像に適用した結果、当該マトリクスｍ１に対応する画像領域が図５に示す画像領域ｇ１１であった場合、階調変換処理部１５はこの画像領域ｇ１を構成する各画素の画素値の平均値を求め、これを画像領域ｇ１の代表階調値とする。画像領域ｇ１における各画素値の平均値は１００であるので、階調変換処理部１５はこの１００の代表階調値を各画素の画素値と置き換える。置き換えた結果が図５に示す画像領域ｇ１２である。
【００４９】
次いで、階調変換処理部１５は画像領域の各画素値、つまり置き換えられた代表階調値と、マトリクスに設定されている各閾値とを比較し、その比較結果に基づいて階調変換を行う（ステップＳ４）。図５の例で説明すると、２値化する場合、代表階調値がマトリクスｍ１の閾値以上の場合は画素値２５５（白の画素）に変換し、閾値未満となる場合は画素値０（黒の画素）に変換する。画素値２５５はドット非出力、画素値０はドット出力となるので、そのドットの出力状態は図５に示す画像領域ｇ１３のようになる。
なお、後述する誤差拡散部１８によってマトリクスの閾値が変更される場合がある。この場合は閾値が変更されたマトリクスを用いて上記のとおり階調変換を行う。
【００５０】
多値化を行う場合には、２値化とは異なる方法による。２値化の場合、マトリクスｍ１、ｍ２では１つのセルに対して１つの閾値を設定するのに対し、多値化の場合、マトリクスｍ１、ｍ２では１つのセルに対して２つの独立した閾値を設定する。そして、この２つの閾値を用いて多値化する。具体的には、各セルに設定された２つの閾値ＴＨ１［ｎ］、ＴＨ２［ｎ］（ｎはセルを示す番号とする）によって定められる変換関数を作成し、この変換関数に比較する画素値を入力して得られる出力値を多値化後の画素値として決定する。例えば、ｎ＝２のセルの場合、閾値ＴＨ１［２］、ＴＨ２［２］により図６に示す変換関数が作成される。よって、ｎ＝２のセルに対応する画素の代表階調値が１００の場合、図６に示すように変換関数により画素値１２５が出力される。なお、実際の処理においては予め変換関数に基づいてＬＵＴを作成しておき、このＬＵＴを用いて多値化後の画素値を求める。
【００５１】
例えば、閾値関数の傾きが２５５／４のときに定まる閾値ＴＨ１〔ｎ〕、ＴＨ２〔ｎ〕の場合、出力は５値による表現となる。５値化の際、マトリクスｍ１、ｍ２内のあるセルにおいてＴＨ１〔ｎ〕＝１２７、ＴＨ２〔ｎ〕＝１３１が設定されていた場合、階調変換によって当該セルに対応する画像の画素値が１２７より小さい場合は０値、１２７以上１２８未満であれば６４値、１２８以上１２９未満の場合は１２８値、１２９以上１３０未満であれば１９２値、１３１以上であれば２５５値がＬＵＴから出力される。
【００５２】
図７は、マトリクスｍ２を用いて多値表現による階調変換を行う例を示す図である。
図７に示す画像領域ｇ２１は、マトリクスｍ２に対応する画像領域において各画素の階調値が代表階調値１００に置き換えられたものである。階調変換処理部１５は、この画像領域ｇ２１の画素値（代表階調値）を、マトリクスｍ２の各セルに設定された２つの閾値を用いて多値化する。画素値０は１ドット分を出力、画素値２５５はドット非出力、画素値が０以上２５５未満の場合はその画素値に応じたドットを出力するので、そのドットの出力状態は図７に示す画像領域ｇ２２のようになる。
【００５３】
誤差算出部１６は、注目マトリクスに対応する画像領域において階調変換の前後において生じた階調誤差を算出する（ステップＳ５）。階調誤差は、階調変換前の代表階調値と、階調変換後の画像領域の階調値との差分である。例えば、図８に示すように代表階調値１００の画像領域ｇ１１を階調変換によって２値表現の画像領域ｇ１３とした場合を説明する。画像（８ビットのデータ）の最高階調は２５５であり、これは階調変換の前後で変わらない。マトリクスｍ１の１５画素全てが白（２５５値）の状態に対して１５画素中、１０画素分が黒（０値）となることから、画像領域ｇ１３で表現される階調は、（１５−１０）／１５×２５５＝５／１５×２５５＝８５階調である。従って、階調誤差は階調変換後の階調値８５と階調変換前の代表階調値１００の差分−１５となる。
【００５４】
すなわち、（階調変換後のマトリクスｍ１内の白（２５５値）の画素数）／（マトリクスｍ１内の画素が全て白の画素とした場合のその白の画素数）×（画像の最大階調）の式により階調変換後の階調を演算する。
多値表現の場合には、例えば、５値化を行う１５画素サイズのマトリクスにより、４画素分が黒（０値）、１画素分が中間値（１２８値）に変換された場合、中間値の画素分は黒の画素が０．５画素分と換算し、上記演算式から１０．５／１５×２５５＝１７９（小数点以下は四捨五入）階調と求めることができる。
【００５５】
なお、階調誤差は、階調変換によって各画素についてドットを非出力とさせた閾値のうち最大の閾値に基づいて算出することとしてもよい。この場合、ドットを非出力とさせた、つまり階調変換により画素値を１にした閾値のうち、最大の閾値と代表階調値との差が階調誤差となる。ここで、最大の閾値とは、画素値を１にした閾値のうち、閾値と比較した画素値との差が最も小さい閾値をいい、閾値自体の大きさをいうものではない。図５に示す２値表現の例では、マトリクスｍ１に対応する１５画素のうち、５画素がドット非出力とされている（画素値が１となっている）ので、このドット非出力とさせた１７、５１、３４、６８、８５の閾値のうち最大の閾値８５と代表階調値１００との差分−１５が階調誤差となる。多値表現の場合も同様である。
【００５６】
誤差メモリ１７は、誤差算出部１６において算出された階調誤差の値を記憶する。
誤差拡散部１８は、拡散係数パターンを用いて誤差メモリ１７に記憶されている階調誤差を、注目マトリクスの周辺の画像領域で適用する周辺マトリクスの閾値に拡散する（ステップＳ６）。
拡散係数パターンとは、階調誤差を拡散する周辺マトリクスの位置と、階調誤差を拡散する際に行う重み付けの重み付け係数を指定するものである。拡散係数パターンには複数の異なる拡散係数パターンがある。
【００５７】
図９に、拡散係数パターン例を示す。
図９に示す拡散係数パターンＰ１〜Ｐ４は、複数のブロックで表されているが、このブロックがマトリクスを示している。「＊」で示すブロックが注目マトリクスの位置を、その他のブロックは階調誤差を拡散する周辺マトリクスを示している。周辺マトリクスのブロックに表示されている数字は、その周辺マトリクスに階調誤差を拡散する際の重み付け係数である。拡散係数パターンＰ１〜Ｐ４において指定されている周辺マトリクスは、注目マトリクスの周辺に位置し、かつ階調変換が未だ行われていないマトリクスが指定されるように設計されている。
これら拡散係数パターンＰ１〜Ｐ４のデータは、記憶部３に格納されており、必要に応じて誤差拡散部１８が記憶部３からこれを読み出して処理に用いる。
【００５８】
複数の拡散係数パターンＰ１〜Ｐ４のうち、誤差拡散部１８が処理に用いる拡散係数パターンＰ１〜Ｐ４をユーザが選択することが可能である。すなわち、ユーザが操作部３０を介して何れかの拡散係数パターンＰ１〜Ｐ４を選択操作すると、当該選択された拡散係数パターンＰ１〜Ｐ４を誤差拡散部１８が読み出して処理に用いる。拡散係数パターンＰ１、Ｐ２は周辺マトリクスの数が拡散係数パターンＰ３、Ｐ４に比較して少なく、その位置も注目マトリクスに隣接する位置である。つまり、階調誤差を拡散する範囲が狭いため、処理する画像に文字や線画等が含まれている場合にはその再現性が向上する。
【００５９】
一方、拡散係数パターンＰ３、Ｐ４は階調誤差を拡散する範囲が広いため、中間調の再現性が向上する。また、周辺マトリクスの位置や数だけでなく、重み付け係数の設定の違いによっても注目マトリクスに近い周辺マトリクスに階調誤差を多く拡散したり、全ての周辺マトリクスに均等に拡散したりすることになるため、画像の再現性が変わってくる。このように、用いる拡散係数パターンＰ１〜Ｐ４によって得られる効果が異なることから、ユーザは目的に応じた拡散係数パターンＰ１〜Ｐ４を選択することにより、画質の調整を行うことが可能となる。
【００６０】
まず、誤差拡散部１８は、誤差メモリ１７から階調誤差のデータを読み出すとともに、ユーザによって選択された拡散係数パターンＰ１〜Ｐ４を読み出す。そして、拡散係数パターンＰ１〜Ｐ４によって指定されている重み付け係数を読み出し、階調誤差に乗算して重み付けを行う。また、拡散係数パターンＰ１〜Ｐ４に基づいて階調誤差を拡散する周辺マトリクス、つまり階調変換を未だ行っていない領域のマトリクスを判断し、当該周辺マトリクスの各閾値に上記重み付け係数によって重み付けが行われた階調誤差を加算する。
【００６１】
拡散係数パターンＰ２を用いて誤差拡散を行った具体例を、図１０に示す。図１０では、階調誤差−１５を拡散する例を示している。
図１０において符号Ｍ１で示すのは注目マトリクスである。また、符号Ｍ２〜Ｍ５で示すのが拡散係数パターンＰ２で指定された周辺マトリクスである。拡散係数パターンＰ２では周辺マトリクスＭ２、Ｍ３、Ｍ４、Ｍ５の重み付け係数が、それぞれ２／８、３／８、２／８、１／８に指定されている。
【００６２】
例えば、拡散する階調誤差が−１５の場合、周辺マトリクスＭ２、Ｍ３、Ｍ４、Ｍ５に拡散される重み付け後の階調誤差は、それぞれ−４、−６、−４、−２となる（実際の計算値は−３．７５、−５．６２５、−３．７５、−１．８７５であるが、小数点以下は切り上げすることとする）。この重み付け後の階調誤差を基本型のマトリクスｍ１の各閾値に加算し、画像に適用した結果が図１０に示す周辺マトリクスＭ２〜Ｍ５である。
このように階調誤差を拡散した結果、周辺マトリクスの位置で階調変換処理部１５が階調変換を行う際には、閾値が変更されたマトリクスｍ１を用いて階調変換を行うこととなる。
【００６３】
以上のように、本実施形態によれば、画像に順次マトリクスを適用し、注目マトリクスに対応する画像領域の代表階調値を算出する。注目マトリクスの閾値に基づいて代表階調値を階調変換し、階調変換の前後において生じた階調誤差を拡散係数パターンに基づいて周辺マトリクスに拡散する。階調誤差を拡散することにより、階調変換によって生じた階調の誤差を画像全体で相殺することが可能となる。よって、画像の再現性が向上する。
【００６４】
また、階調誤差を拡散することにより基本のマトリクスの閾値を順次変更し、変更されたマトリクスを用いて階調変換を行っていく。その結果、同じマトリクス単位で異なる閾値を設定したスーパーセルを適用したのと同様の処理を行うことができ、階調性の高いディ処理を実現することができる。スーパーセルの場合、設定されている閾値数が多く、それら閾値を記憶するための大容量のメモリを必要とするが、本実施形態によれば基本となるマトリクスの分のみ閾値を記憶しておけばよいので、小メモリ容量でスーパーセルと同様の効果を得ることができる。
【００６５】
また、スーパーセルの場合、スーパーセルを画像に繰り返し適用する結果、スーパーセルの閾値の繰り返しパターンによりモアレが発生する場合がある。しかしながら、本願実施形態によれば、拡散される階調誤差はマトリクスが適用される画像領域によって異なるため、マトリクスの閾値をランダムに変更することとなる。これにより、同じ閾値のパターンが繰り返し適用されることを回避することができ、モアレの発生を抑制することができる。
【００６６】
また、マトリクスでは、マトリクスを構成する全セルについてそれぞれ異なる閾値が設定される。これにより、マトリクスによって表現できる階調数を増加させることができ、より階調性が高くなる。
【００６７】
また、階調変換処理では２値又は多値によって表現される階調値に変換することが可能である。これにより、目的に応じて２値又は多値の階調表現が可能となる。
【００６８】
さらに、マトリクスに対応する画像領域において、画像領域内の各画素の画素値を用いて階調変換を行うのではなく、その画像領域における代表階調値を算出し、この代表階調値を用いて階調変換、階調誤差の算出を行う。よって、画素によって異なる画素値を用いて演算する必要が無く階調変換処理が効率的になるとともに、階調誤差の算出も容易となる。
【００６９】
また、拡散係数パターンに基づいて階調誤差を拡散する閾値の位置及び重み付けの程度を決定する。この拡散係数パターンは複数種類あり、操作部を介して何れを適用するかを選択することができる。よって、目的に応じた拡散係数パターンを選択することができ、階調誤差の拡散の程度を調整することにより、画質の調整が可能である。
【図面の簡単な説明】
【００７０】
【図１】ＭＦＰの構成を示す図である。
【図２】本実施形態に係る画像処理装置の構成を示す図である。
【図３】画像処理装置における処理の流れを説明するフローチャートである。
【図４】（ａ）ＡＭ方式のマトリクス例を示す図である。（ｂ）ＦＭ方式のマトリクス例を示す図である。
【図５】マトリクスの閾値を用いて２値表現する場合の階調変換処理を説明する図である。
【図６】２つの閾値により階調変換する場合の変換式を示す図である。
【図７】２つの閾値を用いて多値表現する場合の階調変換処理を説明する図である。
【図８】階調誤差の算出方法を説明する図である。
【図９】拡散係数パターン例を示す図である。
【図１０】階調誤差を周辺マトリクスの閾値に拡散した結果を示す図である。
【符号の説明】
【００７１】
１００  ＭＦＰ
１  画像処理装置
１４  ディザ処理部
１５  階調変換処理部
１６  誤差算出部
１７  誤差メモリ
１８  誤差拡散部
【図１】
2008199472.tif 000003
【図２】
2008199472.tif 000004
【図３】
2008199472.tif 000005
【図４】
2008199472.tif 000006
【図５】
2008199472.tif 000007
【図６】
2008199472.tif 000008
【図７】
2008199472.tif 000009
【図８】
2008199472.tif 000010
【図９】
2008199472.tif 000011
【図１０】
2008199472.tif 000012