(57)【要約】【課題】平均誤差最小法において、テクスチャを目立たなくさせる。【解決手段】係数選択部１０６では、注目画素の画素位置を（ｘ，ｙ）としたとき、画素位置ｙが奇数であれば誤差マトリクス群より１つの誤差マトリクスＭ１を選択し、画素位置ｙが偶数であれば誤差マトリクス群より１つの誤差マトリクスＭ２を選択し、誤差重み付け積和１０４に出力する。誤差マトリクス群は、誤差マトリクス（Ｍ１、Ｍ２）の各行の誤差マトリクスの係数の合計が同じとなる誤差マトリクスにより形成される。【選択図】図１
2005184085.tif 000002
【特許請求の範囲】
【請求項１】
多値（Ｍ値）画像データを、平均誤差最小法を用いてＮ値（Ｍ＞Ｎ≧２）に量子化し、該Ｎ値のそれぞれに対応したドットを用いて記録を行う画像処理装置であって、注目画素の多値画像データに、周辺の既に量子化済みの画素から重み付け積和された誤差を加えた補正データを出力する手段と、前記補正データと前記量子化閾値とを比較して、Ｎ値画像データを出力する手段と、前記Ｎ値画像データの生成に伴って発生する誤差を算出する手段とを備え、前記注目画素の画素位置を（ｘ，ｙ）とするとき画素位置ｙに応じて誤差マトリクス群より１つの誤差マトリクスを選択することを特徴とする画像処理装置。
【請求項２】
前記誤差マトリクス群は、誤差マトリクスの各行の誤差マトリクスの係数の合計が同じとなる誤差マトリクスにより形成される群であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記誤差マトリクス群は、誤差マトリクスの各行の誤差マトリクスの係数を入れ替えた誤差マトリクスにより形成される群であることを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記誤差マトリクス群は、誤差マトリクスの各行の誤差マトリクスの係数の周辺部を入れ替えた誤差マトリクスにより形成される群であることを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記誤差マトリクス群は、誤差マトリクスのある１行の誤差マトリクスの係数を入れ替えた誤差マトリクスにより形成される群であることを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記誤差マトリクス群は、誤差マトリクスのある１行の誤差マトリクスの係数の周辺部を入れ替えた誤差マトリクスにより形成される群であることを特徴とする請求項１記載の画像処理装置。
【請求項７】
前記画素位置ｙに応じて１行毎に誤差マトリクス群より１つの誤差マトリクスを選択することを特徴とする請求項１記載の画像処理装置。
【請求項８】
前記画素位置ｙに応じて複数行毎に誤差マトリクス群より１つの誤差マトリクスを選択することを特徴とする請求項１記載の画像処理装置。
【請求項９】
前記画素位置ｙに応じて乱数で得られた行毎に誤差マトリクス群より１つの誤差マトリクスを選択することを特徴とする請求項１記載の画像処理装置。
【請求項１０】
前記誤差マトリクス群より順番に１つの誤差マトリクスを選択することを特徴とする請求項１記載の画像処理装置。
【請求項１１】
前記誤差マトリクス群よりランダムに１つの誤差マトリクスを選択することを特徴とする請求項１記載の画像処理装置。
【請求項１２】
前記誤差マトリクスは、前記誤差マトリクス群を記憶したＬＵＴより求めることを特徴とする請求項１乃至１１のいずれか一つに記載の画像処理装置。
【請求項１３】
前記誤差マトリクスは、前記誤差マトリクスの係数入れ替えを逐次処理で求めることを特徴とする請求項３、４、５または６のいずれか一つに記載の画像処理装置。
【請求項１４】
前記画素位置ｙに応じて主走査方向の処理を順方向または逆方向に切り替えることを特徴とする請求項１記載の画像処理装置。
【請求項１５】
多値（Ｍ値）画像データを、平均誤差最小法を用いてＮ値（Ｍ＞Ｎ≧２）に量子化し、該Ｎ値のそれぞれに対応したドットを用いて記録を行う画像記録装置であって、注目画素の多値画像データに、周辺の既に量子化済みの画素から重み付け積和された誤差を加えた補正データを出力する手段と、前記補正データと前記量子化閾値とを比較して、Ｎ値画像データを出力する手段と、前記Ｎ値画像データの生成に伴って発生する誤差を算出する手段とを備え、前記注目画素の画素位置を（ｘ，ｙ）とするとき画素位置ｙに応じて誤差マトリクス群より１つの誤差マトリクスを選択することを特徴とする画像記録装置。
【請求項１６】
多値（Ｍ値）画像データを、平均誤差最小法を用いてＮ値（Ｍ＞Ｎ≧２）に量子化し、該Ｎ値のそれぞれに対応したドットを用いて記録を行う画像記録方法の記録制御処理をコンピュータに実行させるプログラムであって、注目画素の多値画像データに、周辺の既に量子化済みの画素から重み付け積和された誤差を加えた補正データを出力する工程のコードと、前記補正データと前記量子化閾値とを比較して、Ｎ値画像データを出力する工程のコードと、前記Ｎ値画像データの生成に伴って発生する誤差を算出する工程のコードとを備え、前記注目画素の画素位置を（ｘ，ｙ）とするとき画素位置ｙに応じて誤差マトリクス群より１つの誤差マトリクスを選択することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多値画像データを高精細かつ高階調に印刷処理するための画像処理装置、画像記録装置（画像形成装置）、及びプログラムに関する。
【背景技術】
【０００２】
スキャナやディジタルカメラ等の入力装置で読み取った多値画像データをプリンタやディスプレイ等の出力装置に出力する画像入出力システムがある。その際に、入力装置で読み取った多値（例えば８ビット精度ならば２５６階調）の画像データを出力装置が出力可能な階調数の画像データに変換し、擬似的に連続階調を表現する方法として、擬似中間調処理がある。
【０００３】
中でも出力装置がドットのＯＮ／ＯＦＦのみの２値しか表現できないときには２値化処理が従来から行われている。この２値化処理の中で解像性と階調性に共に優れた方法として誤差拡散法（Error Diffusion：以下ＥＤ）や平均誤差最小法（Minimized Average Error：以下ＭＡＥ）がある。ＥＤとＭＡＥは、誤差の拡散作業をいつ行うかが異なるだけであり、論理的には等価なものである。
【０００４】
しかしながら、ＥＤとＭＡＥは次の２つの点において異なる。第１の相違点は、実計算における割り切り誤差の影響である。ＥＤは量子化誤差を図６に示すような誤差マトリクスを用いれば、乗算回数が４回行われ、かつ係数によっては割り切り誤差が生じるため、画像全体で割り切り誤差の影響を受けやすい。これに対してＭＡＥは、周辺画素の量子化誤差を図７に示すような誤差マトリクスを用いれば、誤差マトリクスの各係数の分子で乗算して加算した後に除算を１回行えばよいため誤差マトリクスの係数に寄らず画像全体で割り切り誤差の影響が少ない。
【０００５】
第２の相違点は、画素単位での誤差マトリクスの切り替え可能なことである。ＥＤは、ある画素を量子化した誤差を拡散させるので画素単位で誤差マトリクスを切り替えても、ある画素で参照される量子化誤差の合計は“１”から変わらないために自由に切り替えることができる（例えば、特許文献１を参照）。これに対して、ＭＡＥは周辺画素の量子化誤差を参照するので、画像の量子化している途中で誤差マトリクスを切り替えてしまうと、画素によって参照される量子化誤差の合計は“１”とならないため、画像全体で濃度保存することができなくなってしまう。
【０００６】
また、ＥＤやＭＡＥによる量子化を２値だけでなく、３値以上の階調数にも適用した処理がある。２値化と同様に、階調性と解像性に優れた処理が可能である。
【０００７】
ところで、ＥＤやＭＡＥでは特有のテクスチャ、いわゆるワームが発生するという問題がある。これは同一の入力値、閾値、誤差マトリクスや同一の処理方向を用いることによって生じる。上記課題に対して、閾値にランダムノイズを加算する技術（例えば、特許文献２を参照）、閾値にディザノイズを加算する技術（例えば、特許文献３を参照）、誤差マトリクスを切り替える技術（例えば、特許文献１、４を参照）が提案されている。
【０００８】
また、テクスチャ抑制のために処理方向を主走査方向の順方向と逆方向を切り替える双方向処理がある。双方向処理において、順方向の誤差マトリクスと逆方向の誤差マトリクスを左右対称にして、双方向で処理した場合に副走査方向にドットが連なりやすいという不具合がある。誤差マトリクスを順方向と逆方向で非対称にして切り替える技術も提案されている（例えば、特許文献５を参照）。
【０００９】
しかしながら、上記技術においてＭＡＥにおいても成り立つのは特許文献２や特許文献３である。特許文献１や特許文献４をＭＡＥに用いれば、誤差マトリクスを切り替えることで画像全体で濃度保存することができなくなってしまう。また、特許文献５では、誤差マトリクスを順方向と逆方向で非対称としたとき、画像全体で濃度保存する誤差マトリクスが開示されていない。
【００１０】
【特許文献１】特許第３２４０８０３号公報
【特許文献２】特開平８−１１１７７７号公報
【特許文献３】特開２００１−１７７７２２号公報
【特許文献４】特開平８−１１６４４３号公報
【特許文献５】特開平８−３１７２０５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
解像性と階調性や割り切り誤差の影響が少ないＭＡＥであるが、テクスチャの抑制は難しい。入力値や閾値にランダムノイズの加算を行えば、ランダムノイズによる低周波成分が加算されるため画像を良好にすることが難しい。ＥＤのように画像全体で濃度保存しながら誤差マトリクスを切り替える方式が求められてきた。
【００１２】
本発明は、かかる問題点に鑑みてなされたものであり、
本発明の目的は、ＭＡＥによりテクスチャが発生する問題を解決できる画像処理装置、画像記録装置及びプログラムを提供することにある。
【００１３】
請求項１、１５、１６記載の発明は、注目画素の画素位置を（ｘ，ｙ）とするとき画素位置ｙに応じて誤差マトリクス群より１つの誤差マトリクスを選択することによりテクスチャを目立たなくさせ、良好な画質の出力画像結果を得ることを目的とする。
【００１４】
また、請求項２記載の発明は、誤差マトリクスの各行の誤差マトリクスの係数の合計が同じとなる誤差マトリクスにより形成される群より誤差マトリクスを選択することで濃度保存の原則を守りつつテクスチャを目立たなくさせ、良好な画質の出力画像結果を得ることを目的とする。
【００１５】
また、請求項３記載の発明は、誤差マトリクスの各行の誤差マトリクスの係数を入れ替えた誤差マトリクスより形成される群より誤差マトリクスを選択することで、誤差マトリクス群を容易に形成し、濃度保存の原則を守りつつテクスチャを目立たなくさせ、良好な画質の出力画像結果を得ることを目的とする。
【００１６】
また、請求項４、６記載の発明は、誤差マトリクスの各行の誤差マトリクスの係数の周辺部を入れ替えることにより、画質の良好な誤差マトリクス群を容易に形成し、かつ、係数を入れ替える回数を減らし高速な処理を得ることを目的とする。
【００１７】
また、請求項５記載の発明は、誤差マトリクスのある１行の誤差マトリクスの係数を入れ替えることにより、係数を入れ替える回数を減らし高速な処理を得ることを目的とする。
【００１８】
また、請求項７記載の発明は、１行毎に誤差マトリクスを選択することにより、テクスチャを目立たなくさせ良好な画質の出力画像結果を得ることを目的とする。
【００１９】
また、請求項８記載の発明は、複数行毎に誤差マトリクスを選択することにより、誤差マトリクスを切り替える回数を減らし高速に、かつ、テクスチャを目立たなくさせ良好な画質の出力画像結果を得ることを目的とする。
【００２０】
また、請求項９記載の発明は、乱数で得られた行毎に誤差マトリクスを選択することにより、誤差マトリクスの切り替わりを目立たなくし、かつ、テクスチャを目立たなくさせ良好な画質の出力画像結果を得ることを目的とする。
【００２１】
また、請求項１０記載の発明は、誤差マトリクスを順番に選択することにより、誤差マトリクスの選択を容易にすることを目的とする。
【００２２】
また、請求項１１記載の発明は、誤差マトリクスをランダムに選択することにより、テクスチャを目立たなくさせ良好な画質の出力画像結果を得ることを目的とする。
【００２３】
また、請求項１２記載の発明は、誤差マトリクスをＬＵＴより求めることにより、誤差マトリクスの読み出しを高速にすることを目的とする。
【００２４】
また、請求項１３記載の発明は、誤差マトリクスの係数入れ替えを逐次処理で行うことにより、ＬＵＴを必要とせず省メモリ化することを目的とする。
【００２５】
また、請求項１４記載の発明は、主走査方向の処理を順方向または逆方向に切り替えることにより、テクスチャを目立たなくさせ良好な画質の出力画像結果を得ることを目的とする。
【課題を解決するための手段】
【００２６】
上記課題を解決するため、本発明にかかる画像処理装置、画像記録装置及びプログラムでは、平均誤差最小法において誤差マトリクスを切り替え、テクスチャを目立たなくさせ良好な画質の出力画像結果を出力するものである。
【００２７】
かかる目的を達成するために、本発明（請求項１）は、多値（Ｍ値）画像データを、平均誤差最小法を用いてＮ値（Ｍ＞Ｎ≧２）に量子化し、該Ｎ値の夫々に対応したドットを用いて記録を行う画像処理装置であって、注目画素の多値画像データに、周辺の既に量子化済みの画素から重み付け積和された誤差を加えた補正データを出力する手段と、前記補正データと前記量子化閾値とを比較して、Ｎ値画像データを出力する手段と、前記Ｎ値画像データの生成に伴って発生する誤差を算出する手段と、を備え前記注目画素の画素位置を（ｘ，ｙ）とするとき画素位置ｙに応じて誤差マトリクス群より１つの誤差マトリクスを選択することを特徴としている。
【００２８】
本発明（請求項２）は、誤差マトリクス群は誤差マトリクスの各行の誤差マトリクスの係数の合計が同じとなる誤差マトリクスにより形成される群であることを特徴としている。
【００２９】
本発明（請求項３）は、誤差マトリクス群は誤差マトリクスの各行の誤差マトリクスの係数を入れ替えた誤差マトリクスにより形成される群であることを特徴としている。
【００３０】
本発明（請求項４）、誤差マトリクス群は誤差マトリクスの各行の誤差マトリクスの係数の周辺部を入れ替えた誤差マトリクスにより形成される群であることを特徴としている。
【００３１】
本発明（請求項５）は、誤差マトリクス群は誤差マトリクスのある１行の誤差マトリクスの係数を入れ替えた誤差マトリクスにより形成される群であることを特徴としている。
【００３２】
本発明（請求項６）は、誤差マトリクス群は誤差マトリクスのある１行の誤差マトリクスの係数の周辺部を入れ替えた誤差マトリクスにより形成される群であることを特徴としている。
【００３３】
本発明（請求項７）は、画素位置ｙは、ｙが１行毎に誤差マトリクス群より１つの誤差マトリクスを選択することを特徴としている。
【００３４】
本発明（請求項８）は、所定の画素位置ｙは、ｙが複数行毎に誤差マトリクス群より１つの誤差マトリクスを選択することを特徴としている。
【００３５】
本発明（請求項９）は、所定の画素位置ｙは、ｙが乱数で得られた行毎に誤差マトリクス群より１つの誤差マトリクスを選択することを特徴としている。
【００３６】
本発明（請求項１０）は、誤差マトリクス群より順番に１つの誤差マトリクスを選択することを特徴としている。
【００３７】
本発明（請求項１１）は、誤差マトリクス群よりランダムに１つの誤差マトリクスを選択することを特徴としている。
【００３８】
本発明（請求項１２）は、誤差マトリクスは前記誤差マトリクス群を記憶したＬＵＴより求めることを特徴としている。
【００３９】
本発明（請求項１３）は、誤差マトリクスは前記誤差マトリクスの係数入れ替えを逐次処理で求めることを特徴としている。
【００４０】
本発明（請求項１４）は、主走査方向の処理を順方向または逆方向に切り替えることを特徴としている。
【００４１】
本発明（請求項１５）は、多値（Ｍ値）画像データを、平均誤差最小法を用いてＮ値（Ｍ＞Ｎ≧２）に量子化し、該Ｎ値の夫々に対応したドットを用いて記録を行う画像記録装置であって、注目画素の多値画像データに、周辺の既に量子化済みの画素から重み付け積和された誤差を加えた補正データを出力する手段と、前記補正データと前記量子化閾値とを比較して、Ｎ値画像データを出力する手段と、前記Ｎ値画像データの生成に伴って発生する誤差を算出する手段と、を備え前記注目画素の画素位置を（ｘ，ｙ）とするとき画素位置ｙに応じて誤差マトリクス群より１つの誤差マトリクスを選択することを特徴としている。
【００４２】
本発明（請求項１６）は、多値（Ｍ値）画像データを、平均誤差最小法を用いてＮ値（Ｍ＞Ｎ≧２）に量子化し、該Ｎ値の夫々に対応したドットを用いて記録を行う画像記録方法の記録制御処理をコンピュータに実行させるプログラムであって、注目画素の多値画像データに、周辺の既に量子化済みの画素から重み付け積和された誤差を加えた補正データを出力する工程のコードと、前記補正データと前記量子化閾値とを比較して、Ｎ値画像データを出力する工程のコードと、前記Ｎ値画像データの生成に伴って発生する誤差を算出する工程のコードと、を備え前記注目画素の画素位置を（ｘ，ｙ）とするとき画素位置ｙに応じて誤差マトリクス群より１つの誤差マトリクスを選択することを特徴としている。
【発明の効果】
【００４３】
本発明によれば、画素位置を（ｘ，ｙ）とするとき画素位置ｙに応じて、誤差マトリクスの各行の誤差マトリクスの係数の合計が同じとなる誤差マトリクス群より１つの誤差マトリクスを選択することでテクスチャを最小限に抑えることができ、画質への悪影響を解消することができる。
【００４４】
請求項１、１５、１６記載の発明では、注目画素の画素位置を（ｘ，ｙ）とするとき画素位置ｙに応じて誤差マトリクス群より１つの誤差マトリクスを選択することによりテクスチャを目立たなくさせ、良好な画質の出力画像結果を得ることができ、画質への悪影響を解消する。
【００４５】
請求項２記載の発明では、誤差マトリクスの各行の誤差マトリクスの係数の合計が同じとなる誤差マトリクスにより形成される群より誤差マトリクスを選択することで濃度保存の原則を守りつつテクスチャを目立たなくさせ、良好な画質の出力画像結果を得ることができ、画質への悪影響を解消する。
【００４６】
請求項３記載の発明では、誤差マトリクスの各行の誤差マトリクスの係数を入れ替えた誤差マトリクスより形成される群より誤差マトリクスを選択することで、誤差マトリクス群を容易に形成し、濃度保存の原則を守りつつテクスチャを目立たなくさせ、良好な画質の出力画像結果を得ることができ、画質への悪影響を解消する。
【００４７】
請求項４、６記載の発明では、誤差マトリクスの各行の誤差マトリクスの係数の周辺部を入れ替えることにより、画質の良好な誤差マトリクス群を容易に形成し、かつ、係数を入れ替える回数を減らし高速な処理を得ることができ、画質への悪影響を解消する。
【００４８】
請求項５記載の発明では、誤差マトリクスのある１行の誤差マトリクスの係数を入れ替えることにより、係数を入れ替える回数を減らし高速な処理を得ることができ、画質への悪影響を解消する。
【００４９】
請求項７記載の発明では、１行毎に誤差マトリクスを選択することにより、テクスチャを目立たなくさせ良好な画質の出力画像結果を得ることができ、画質への悪影響を解消する。
【００５０】
請求項８記載の発明では、複数行毎に誤差マトリクスを選択することにより、誤差マトリクスを切り替える回数を減らし高速に、かつ、テクスチャを目立たなくさせ良好な画質の出力画像結果を得ることができ、画質への悪影響を解消する。
【００５１】
請求項９記載の発明では、乱数で得られた行毎に誤差マトリクスを選択することにより、誤差マトリクスを切り替わりを目立たなくし、かつ、テクスチャを目立たなくさせ良好な画質の出力画像結果を得ることができ、画質への悪影響を解消する。
【００５２】
請求項１０記載の発明では、誤差マトリクスを順番に選択することにより、誤差マトリクスの選択を容易にすることができ、処理を高速化することができる。
【００５３】
請求項１１記載の発明では、誤差マトリクスをランダムに選択することにより、テクスチャを目立たなくさせ良好な画質の出力画像結果を得ることができ、画質への悪影響を解消する。
【００５４】
請求項１２記載の発明では、誤差マトリクスをＬＵＴより求めることにより、誤差マトリクスの読み出しを高速にすることができる。
【００５５】
請求項１３記載の発明では、誤差マトリクスの係数入れ替える逐次処理で行うことにより、ＬＵＴを必要とせず省メモリ化することができる。
【００５６】
請求項１４記載の発明では、主走査方向の処理を順方向または逆方向に切り替えることにより、テクスチャを目立たなくさせ良好な画質の出力画像結果を得ることができ、画質への悪影響を解消する。
【発明を実施するための最良の形態】
【００５７】
以下、発明の実施の形態について図面により詳細に説明する。
【実施例１】
【００５８】
図１は、本発明の実施例１に係る画像処理装置の構成を示す。図２は、本発明が適用される画像記録装置の構成を示す。図３は、本発明の画像処理装置を用いて構成される画像入出力システムの構成を示す。
【００５９】
図３において、画像入力装置３０１はスキャナやディジタルカメラ等の入力デバイスを示し、入力画像について例えば８ビット精度ならば２５６階調の画像データとして取り込まれる。この多値画像データが本発明の画像処理装置３０２に入力される。
【００６０】
画像処理装置（画像処理部）３０２では、画像入力装置３０１から入力された２５６階調の画像データに対し、この後段の画像出力装置３０３で出力可能な階調数に変換する処理を行う。この階調数変換処理ではＭＡＥを用いてもよい。画像処理装置３０２で量子化した画像データが図２に構成を示すような画像記録装置（画像形成装置、画像出力装置）３０３に送られる。
【００６１】
図２において、画像出力装置３０３は、フレーム２０１に横架したガイドレール２０２，２０３に移動可能に載設されたキャリッジ２０４にインクジェット記録ヘッド２０５（以下、記録ヘッド）を搭載し、図示しないモータ等の駆動源によってキャリッジをガイドレール方向に移動して走査（主走査）可能とするとともに、ガイド板２０６にセットされる用紙２０７を、図示しない駆動源によってドライブギヤ２０８及びスプロケットギヤ２０９を介して回動される送りノブ２１０ａを備えたプラテン２１０で取込み、プラテン２１０周面とこれに圧接するプレッシャローラ２１１とによって搬送し、記録ヘッド２０５によって用紙２０７に印字記録する。
【００６２】
記録ヘッド２０５は、図４に示すブラック（Ｋ）、イエロー（Ｙ）、マゼンタ（Ｍ）及びシアン（Ｃ）の各インクをそれぞれ吐出するための４個のインクジェットヘッド（４Ｋ、４Ｙ、４Ｍ、４Ｃ）や、図５に示すブラック（Ｋ）、イエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ライトイエロー（ＬＹ）、ライトマゼンタ（ＬＭ）及びライトシアン（ＬＣ）の各インクをそれぞれ吐出するための７個のインクジェットヘッド（５Ｋ、５Ｙ、５Ｍ、５Ｃ、５ＬＹ、５ＬＭ、５ＬＭ）を主走査方向の同一線上に配置して構成している。商品構成によってはインクの数を増減させても何ら構わない。具体的にはハイライト部でイエローのドットは目視し難い特性を持つのでライトイエローを省いてコストダウンした構成としても良いし、また、ライトブラックや、シアン、マゼンタ、イエロー、ブラックの各色の濃度を３段、４段に分けた構成にして高画質を実現した記録ヘッドとしてもよい。
【００６３】
上記の各インクジェットヘッドは、例えば圧電素子、気泡発生用ヒータ等のエネルギー発生手段であるアクチュエータを選択的に駆動して、液室内のインクに圧力を与えることによって、この液室に連通するノズルからインク滴を吐出飛翔させて、用紙２０７に付着させることで画像記録（画像形成）する。画像記録装置３０３は電子写真を用いて画像記録（画像形成）する場合等でも本発明にかかる処理方法が適用可能である。
【００６４】
また、図３のシステム構成図では、処理に応じてそれぞれの装置を独立したものとして示したが、この限りではなく、画像処理装置３０２の機能が画像入力装置３０１中に存在する形態や、画像出力装置３０３中に存在する形態等もある。
【００６５】
図１は、図３に示す画像処理装置３０２の構成を示す。入力端子１０１からは画像入力装置３０１より多値画像データが入力される。ここで、２次元の画像データを表わすために、Ｉｎ（ｘ，ｙ）として表わす（ｘは画像の主走査方向のアドレス、ｙは副走査方向のアドレスを示す）。
【００６６】
次に、この入力データＩｎ（ｘ，ｙ）が加算器１０３に入力される。加算器１０３は入力データＩｎ（ｘ，ｙ）と誤差成分Ｅ（ｘ，ｙ）を加算し、補正データＣ（ｘ，ｙ）を計算する。
【００６７】
また、入力データＩｎ（ｘ，ｙ）は係数選択部１０６に入力され、本発明にかかわる誤差マトリクスＭ（ｙ）の設定を行う。ここで誤差マトリクスＭ（ｙ）は、図７に示すＭ１、図８に示すＭ２の２種類で説明する（もちろんこの種類以外にも同様に適用することが可能である）。
【００６８】
図７に示す誤差マトリクスＭ１は、注目画素位置７０５に対し係数７０１から７０４のように周辺画素の量子化誤差を重み付け参照するマトリクスであり、図８に示す誤差マトリクスＭ２は注目画素位置８０５に対し係数８０１から８０４のように周辺画素の量子化誤差を重み付け参照するマトリクスである。誤差マトリクスＭ１、Ｍ２は誤差の参照方向の重み付けが異なるのでドット分散性が異なる。
【００６９】
係数選択部１０６は入力データＩｎ（ｘ，ｙ）のｙが奇数であれば誤差マトリクスＭ１を、ｙが偶数であれば誤差マトリクスＭ２を選択し、誤差マトリクスＭ（ｙ）として出力する。
【００７０】
比較判定部１０２は、入力データＩｎ（ｘ，ｙ）に誤差Ｅ（ｘ，ｙ）が加算された補正データＣ（ｘ，ｙ）と閾値Ｔｈに基づいて下記のように出力する濃度値Ｏｕｔ（ｘ，ｙ）を決定する。閾値Ｔｈは２値ＭＡＥであれば出力値０、２５５の中間値１２７に設定する。
【００７１】
Ｉｆ（Ｃ（ｘ，ｙ）＜Ｔｈ  ）
ｔｈｅｎ  Ｏｕｔ（ｘ，ｙ）＝０        （１）
Ｅｌｓｅ
ｔｈｅｎ  Ｏｕｔ（ｘ，ｙ）＝２５５    （２）
このＯｕｔ（ｘ，ｙ）が出力端子１０７から画像出力装置３０３に対して出力される。
【００７２】
また、出力値Ｏｕｔ（ｘ，ｙ）は減算器１０５に入力され、補正データＣ（ｘ，ｙ）から減算されて、現画素で発生した誤差ｅ（ｘ，ｙ）が算出され、誤差データは誤差メモリ１０８に格納される。
【００７３】
次に、誤差重付け積和１０４では係数選択部１０６で設定された誤差マトリクスＭ（ｙ）に基づいて、誤差メモリ１０８に格納されているＩｎ（ｘ，ｙ）の周辺画素の量子化誤差をｅ（ｘ，ｙ）より誤差の重み付け積和を行い誤差成分Ｅ（ｘ，ｙ）を計算する。ここで図７に示す誤差マトリクスＭ１を用いた場合、誤差重付け積和１０４では下記の処理を行い、誤差成分Ｅ（ｘ，ｙ）を計算し加算器１０３へ出力する。
Ｅ（ｘ，ｙ）＝｛ｅ（ｘ−１，ｙ）×７
＋ｅ（ｘ−１，ｙ−１）
＋ｅ（ｘ，ｙ−１）×３
＋ｅ（ｘ＋１，ｙ−１）×５｝／１６  （３）
以上のように図１の構成によって、画像処理部におけるＭＡＥ処理が行われる。
【００７４】
次に、このような処理により、なぜＭＡＥで誤差マトリクスを切り替えても濃度保存するのかについて説明する。ＭＡＥでは量子化で生じた誤差を周辺画素から参照される。この重み付け参照された合計が「１」でなければ画像の濃度を保存しない。
【００７５】
量子化誤差をｅ（ｘ，ｙ）とし、ｙ行において図７に示す誤差マトリクスＭ１を用いて、ｙ＋１行において図８に示す誤差マトリクスＭ２を用いた場合で説明する。ｙ行では誤差マトリクスＭ１の係数７０４を、ｙ＋１行では誤差マトリクスＭ２の係数８０１、８０２、８０３を用いることになる。誤差を参照する画素のアドレス（ｘ，ｙ）とｅ（ｘ，ｙ）の重み付け参照される値は次のようになる。
（ｘ−１，ｙ）：ｅ（ｘ，ｙ）×７／１６        （４）
（ｘ−１，ｙ＋１）：ｅ（ｘ，ｙ）×５／１６    （５）
（ｘ，ｙ＋１）：ｅ（ｘ，ｙ）×３／１６        （６）
（ｘ＋１，ｙ＋１）：ｅ（ｘ，ｙ）×１／１６    （７）
同様に、ｙ行において図８に示す誤差マトリクスＭ２を用いて、ｙ＋１行において図７に示す誤差マトリクスＭ１を用いた場合で説明する。ｙ行では誤差マトリクスＭ２の係数８０４を、ｙ＋１行では誤差マトリクスＭ１の係数７０１、７０２、７０３を用いることになる。誤差を参照する画素のアドレス（ｘ，ｙ）とｅ（ｘ，ｙ）の重み付け参照される値は次のようになる。
（ｘ−１，ｙ）：ｅ（ｘ，ｙ）×７／１６        （８）
（ｘ−１，ｙ＋１）：ｅ（ｘ，ｙ）×１／１６    （９）
（ｘ，ｙ＋１）：ｅ（ｘ，ｙ）×３／１６        （１０）
（ｘ＋１，ｙ＋１）：ｅ（ｘ，ｙ）×５／１６    （１１）
ｙ行で図７に示す誤差マトリクスＭ１を用いて、ｙ＋１行で図８に示す誤差マトリクスＭ２を用いた場合と、ｙ行で図８に示す誤差マトリクスＭ２を用いて、ｙ＋１行で図７に示す誤差マトリクスＭ１を用いた場合のいずれにおいても、ｙ行で重み付け参照される値の合計とｙ＋１行で重み付け参照される値の合計はお互いに変わっていない。図７、８に示す誤差マトリクスＭ１、Ｍ２のように、各行での誤差マトリクスの係数を入れ替えた誤差マトリクスであれば誤差マトリクスを切り替えても濃度は保存することになる。このような誤差マトリクスで群を形成し、入力データＩｎ（ｘ，ｙ）のアドレスｙに応じて誤差マトリクスを切り替えるならばＭＡＥでも濃度を保存し、テクスチャを抑制することができる。
【実施例２】
【００７６】
実施例２は、図１の係数選択部１０６で選択される誤差マトリクスＭ（ｙ）が図７に示すＭ１と、図９に示すＭ３の２種類の場合の実施例である（もちろん、上記した種類以外にも同様に適用することが可能である）。
【００７７】
図９に示す誤差マトリクスＭ３は、注目画素位置９１０に対し係数９０１から９０９のように周辺画素の量子化誤差を重み付け参照するマトリクスである。誤差マトリクスＭ１、Ｍ３は誤差の参照重み付けが異なるのでドット分散性が異なる。係数選択部１０６は入力データＩｎ（ｘ，ｙ）のｙが奇数であれば誤差マトリクスＭ１を、ｙが偶数であれば誤差マトリクスＭ３を選択し、誤差マトリクスＭ（ｙ）として出力する。
【００７８】
量子化誤差をｅ（ｘ，ｙ）とし、ｙ行で図７に示す誤差マトリクスＭ１を用いて、ｙ＋１行で図９に示す誤差マトリクスＭ３を用いた場合で説明する。ｙ行では誤差マトリクスＭ１の係数７０４を、ｙ＋１行では誤差マトリクスＭ３の係数９０１〜９０６を用いる。誤差を参照する画素のアドレス（ｘ，ｙ）とｅ（ｘ，ｙ）の重み付け参照される値は次のようになる。
（ｘ−１，ｙ）：ｅ（ｘ，ｙ）×７／１６        （１２）
（ｘ−３，ｙ＋１）：ｅ（ｘ，ｙ）×１／１６    （１３）
（ｘ−２，ｙ＋１）：ｅ（ｘ，ｙ）×２／１６    （１４）
（ｘ−１，ｙ＋１）：ｅ（ｘ，ｙ）×２／１６    （１５）
（ｘ，ｙ＋１）：ｅ（ｘ，ｙ）×２／１６        （１６）
（ｘ＋１，ｙ＋１）：ｅ（ｘ，ｙ）×１／１６    （１７）
（ｘ＋２，ｙ＋１）：ｅ（ｘ，ｙ）×１／１６    （１８）
同様に、ｙ行で図９に示す誤差マトリクスＭ３を用いて、ｙ＋１行で図７に示す誤差マトリクスＭ１を用いた場合で説明する。ｙ行では誤差マトリクスＭ３の係数９０７〜９０９を、ｙ＋１行では誤差マトリクスＭ１の係数７０１〜７０３を用いる。誤差を参照する画素のアドレス（ｘ，ｙ）とｅ（ｘ，ｙ）の重み付け参照される値は次のようになる。
（ｘ−１，ｙ）：ｅ（ｘ，ｙ）×４／１６      （１９）
（ｘ−２，ｙ）：ｅ（ｘ，ｙ）×２／１６      （２０）
（ｘ−３，ｙ）：ｅ（ｘ，ｙ）×１／１６      （２１）
（ｘ−１，ｙ＋１）：ｅ（ｘ，ｙ）×１／１６  （２２）
（ｘ，ｙ＋１）：ｅ（ｘ，ｙ）×３／１６      （２３）
（ｘ＋１，ｙ＋１）：ｅ（ｘ，ｙ）×５／１６  （２４）
ｙ行で図７に示す誤差マトリクスＭ１を用いて、ｙ＋１行で図９に示す誤差マトリクスＭ３を用いた場合と、ｙ行で図９に示す誤差マトリクスＭ３を用いて、ｙ＋１行で図７に示す誤差マトリクスＭ１を用いた場合のいずれにおいても、ｙ行で重み付け参照される値の合計とｙ＋１行で重み付け参照される値の合計はお互いに変わっていない。図７、９に示す誤差マトリクスＭ１、Ｍ３のように、各行での誤差マトリクスの係数の合計が変わらない誤差マトリクスであれば誤差マトリクスを切り替えても濃度が保存されることになる。このような誤差マトリクスで群を形成し、入力データＩｎ（ｘ，ｙ）のアドレスｙに応じて誤差マトリクスを切り替えるならばＭＡＥでも濃度を保存し、テクスチャを抑制することができる。
【実施例３】
【００７９】
図１０は、本発明の実施例３に係る画像処理装置の構成を示す。入力データＩｎ（ｘ，ｙ）が加算器１００３に入力される。加算器１００３は入力データＩｎ（ｘ，ｙ）と誤差成分Ｅ（ｘ，ｙ）を加算し補正データＣ（ｘ，ｙ）を計算する。
【００８０】
また、入力データＩｎ（ｘ，ｙ）は係数選択部１００６に入力される。係数選択部１００６は入力データＩｎ（ｘ，ｙ）と、０から９までの整数の乱数を出力する乱数発生部１００９からの乱数Ｒより誤差マトリクスＭ（ｙ）の設定を行う。ここで誤差マトリクスＭ（ｙ）は図９に示す誤差マトリクスＭ３で説明する（もちろんこの種類以外にも同様に適用することが可能である）。係数選択部１００６は入力データＩｎ（ｘ，ｙ）のｙが変化したとき、乱数Ｒの示す値の回数だけ誤差マトリクスＭ３の全ての行において、その行の係数を入れ替える。今、乱数の示す値をＮとすると、係数９０１から係数９０６までの６個でＮ回係数を入れ替え、係数９０７から係数９０９までの３個でＮ回係数を入れ替える。乱数により係数を入れ替えた誤差マトリクスは誤差の参照方向の重み付けが入れ替え前と異なるのでドット分散性が異なる。入れ替えることによって得られた誤差マトリクスを誤差マトリクスＭ（ｙ）として誤差重付け積和１００４へ出力する。
【００８１】
比較判定部１００２は、入力データＩｎ（ｘ，ｙ）に誤差Ｅ（ｘ，ｙ）が加算された補正データＣ（ｘ，ｙ）と閾値Ｔｈに基づいて式（１）、式（２）のように出力する濃度値Ｏｕｔ（ｘ，ｙ）を決定する。閾値Ｔｈは２値ＭＡＥであれば出力値０、２５５の中間値１２７に設定する。Ｏｕｔ（ｘ，ｙ）は出力端子１００７から画像出力装置３０３に対して出力される。
【００８２】
また、出力値Ｏｕｔ（ｘ，ｙ）は減算器１００５に入力され、補正データＣ（ｘ，ｙ）から減算されて、現画素で発生した誤差ｅ（ｘ，ｙ）が算出され、誤差データは誤差メモリ１００８に格納される。
【００８３】
次に、誤差重付け積和１００４では係数選択部１００６で設定された誤差マトリクスＭ（ｙ）に基づいて、誤差メモリ１００８に格納されているＩｎ（ｘ，ｙ）の周辺画素の量子化誤差をｅ（ｘ，ｙ）より誤差の重み付け積和を行い誤差成分Ｅ（ｘ，ｙ）を計算し加算器１００３へ出力する。
【００８４】
以上のように図１０の構成によって、画像処理部におけるＭＡＥ処理が行われる。
【００８５】
ランダムに係数を入れ替えることにより、実施例１、２のように係数選択部に複数の誤差マトリクスを記憶しておく必要がなく、多くの誤差マトリクスを利用することができる。特に図９に示す誤差マトリクスＭ３のようなマトリクスサイズが大きい場合では係数の配置によっては記憶するマトリクスが多くなりすぎる。
【００８６】
各行での誤差マトリクスの係数をランダムに入れ替えた誤差マトリクスであれば各行で重み付け参照される値の合計が変わらないので、誤差マトリクスを切り替えるＭＡＥでも濃度を保存し、テクスチャを抑制することができる。
【実施例４】
【００８７】
応用例として次のような実施例もある。
実施例３では、乱数Ｒの示す値の回数だけ誤差マトリクスＭ３の全ての行において、その行の係数を入れ替えたが、ある行の係数を入れ替えるだけでもよい。入力データＩｎ（ｘ，ｙ）のｙが奇数であれば係数９０１から９０６の行だけ係数を入れ替え、ｙが偶数であれば係数９０７から９０９の行だけ係数を入れ替えるようにしてもよい。誤差マトリクスのある１行だけ係数を入れ替えることは全ての行で係数を入れ替えるより高速に処理することが可能となる。
【００８８】
また、誤差マトリクスは係数９０４や係数９０９のように注目画素位置９１０に対して近い画素を参照する係数ほど大きな値とすることが画像設計上好ましい。ある行のすべての係数を入れ替えてしまった場合において、注目画素に近い大きな値をもつ係数が誤差マトリクスの周辺、すなわち係数９０１、９０２や９０６などに行くことがあり、好ましくない。そこで誤差マトリクスの周辺の係数のみを入れ替えることで高画質となり、全ての係数を入れ替える場合より高速に処理することが可能となる。
【００８９】
実施例３では逐次処理で係数を入れ替えたが、より高速に処理したい場合は次のようにしてもよい。係数選択部１００６において図９に示す誤差マトリクスＭ３で係数を入れ替えた誤差マトリクスをＬＵＴに記憶しておき、ＬＵＴより呼び出してもよい。逐次計算で係数を入れ替えるよりも高速に処理したい場合において有効である。
【００９０】
また、係数選択部１００６において、図７に示す誤差マトリクスＭ１、図８に示す誤差マトリクスＭ２と図９に示す誤差マトリクスＭ３などサイズの異なる複数の誤差マトリクスをＬＵＴに記憶しておき、誤差マトリクスＭ１、Ｍ２、Ｍ３を順番にＬＵＴより選択してもよいし、ランダムに選択してもよい。
【００９１】
実施例１、２、３では、入力データＩｎ（ｘ，ｙ）のｙが変化したとき、誤差マトリクスを切り替えていたが、３〜１０行といった複数行単位で誤差マトリクスを切り替えてもよい。また乱数によって得られた値の行の処理が終わったら誤差マトリクスを切り替えてもよい。毎行誤差マトリクスを切り替えるより高速に処理することが可能となる。
【００９２】
実施例１、２、３では、常に主走査方向の順方向に処理を行っているが、入力データＩｎ（ｘ，ｙ）のｙ行毎に処理方向を順方向と逆方向に切り替えてもかまわない。順方向においては誤差マトリクスＭ１、Ｍ２、Ｍ３を用いて、逆方向では図１１に示す誤差マトリクスＭ４や、図１２に示す誤差マトリクスＭ５を用いてもかまわない。各行での誤差マトリクスの係数の合計が変わらない誤差マトリクスであれば、ｙ行毎に処理方向を順方向と逆方向に切り替えるときに誤差マトリクスを切り替えても濃度が保存されることになる。このような誤差マトリクスで群を形成し、入力データＩｎ（ｘ，ｙ）のアドレスｙに応じて誤差マトリクスを切り替えるならばＭＡＥでも濃度を保存し、テクスチャを抑制することができる。
【００９３】
上記した実施例１から実施例４は、２値ＭＡＥ処理に対するものであったが、本発明は同様に多値ＭＡＥにも適用できる。また、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムや、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）にも適用できる。
【００９４】
また、本発明は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読出されたプログラムコード自体が前述した各実施例の機能を実現することになる。プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、コンピュータが読出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した各実施例の機能が実現される場合も含まれる。さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した各実施例の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００９５】
【図１】本発明の実施例１に係る画像処理装置の構成を示す。
【図２】本発明が適用される画像記録装置の構成を示す。
【図３】本発明の画像処理装置を用いて構成される画像入出力システムの構成を示す。
【図４】記録ヘッドを示す。
【図５】記録ヘッドの他の例を示す。
【図６】誤差マトリクスの第１の例を示す。
【図７】誤差マトリクスの第２の例を示す。
【図８】誤差マトリクスの第３の例を示す。
【図９】誤差マトリクスの第４の例を示す。
【図１０】本発明の実施例３に係る画像処理装置の構成を示す。
【図１１】誤差マトリクスの第５の例を示す。
【図１２】誤差マトリクスの第６の例を示す。
【符号の説明】
【００９６】
１０１  入力端子
１０２  比較判定部
１０３  加算器
１０４  誤差重み付け積和
１０５  減算器
１０６  係数選択部
１０７  出力端子
１０８  誤差メモリ
【図１】
2005184085.tif 000003
【図２】
2005184085.tif 000004
【図３】
2005184085.tif 000005
【図４】
2005184085.tif 000006
【図５】
2005184085.tif 000007
【図６】
2005184085.tif 000008
【図７】
2005184085.tif 000009
【図８】
2005184085.tif 000010
【図９】
2005184085.tif 000011
【図１０】
2005184085.tif 000012
【図１１】
2005184085.tif 000013
【図１２】
2005184085.tif 000014