(57)【特許請求の範囲】
【請求項１】
多階調の画像データを入力する入力手段と、
誤差拡散法または平均誤差最小法により、前記多階調の画像データを、より階調数が少ない画像データに階調変換する変換手段と、
所定の画像領域において、前記階調変換によって生じる誤差を積算した積算誤差を画素ごとに計算する計算手段と、
前記積算誤差に基づき、前記変換手段が誤差拡散法または平均誤差最小法に用いる閾値を設定する閾値設定手段とを有し、
前記積算誤差が大きくなれば前記閾値は小さくなり、前記積算誤差が小さくなれば前記閾値は大きくなることを特徴とする画像処理装置。
【請求項２】
前記閾値設定手段は、前記階調変換すべき画像データ、および、前記積算誤差に基づき、前記閾値を設定することを特徴とする請求項1に記載された画像処理装置。
【請求項３】
さらに、前記階調変換すべき画像データに基づき、前記積算誤差が前記閾値の設定に影響する度合いを示す係数を設定する係数設定手段を有し、
前記閾値設定手段は、前記階調変換すべき画像データ、および、前記積算誤差と前記係数の積に基づき、前記閾値を設定することを特徴とする請求項2に記載された画像処理装置。
【請求項４】
前記閾値設定手段は、前記階調変換すべき画像データから一意に決まる閾値と、前記階調変換すべき画像データの画素位置に応じて決まる閾値ノイズの和から、前記積算誤差と前記係数の積を減算した値を前記閾値として設定することを特徴とする請求項3に記載された画像処理装置。
【請求項５】
前記係数設定手段は、前記多階調の画像データが表す画像がエッジを含む領域において大きな値の前記係数を設定し、前記エッジを含まない領域において小さな値の前記係数を設定することを特徴とする請求項3または請求項4に記載された画像処理装置。
【請求項６】
多階調の画像データを入力する入力手段と、
前記多階調の画像データから積算誤差を減算する減算手段と、
誤差拡散法または平均誤差最小法により、前記積算誤差を減じた多階調の画像データを、より階調数が少ない画像データに階調変換する変換手段と、
所定の画像領域において、前記階調変換によって生じる誤差を積算して前記積算誤差を計算する計算手段とを有することを特徴とする画像処理装置。
【請求項７】
多階調の画像データを入力する入力手段と、
誤差拡散法により、前記多階調の画像データを、より階調数が少ない画像データに階調変換する変換手段と、
所定の画像領域において、前記階調変換によって生じる誤差を積算した積算誤差を計算する計算手段と、
前記階調変換すべき画像データと前記積算誤差に基づき、前記変換手段が誤差拡散に用いる誤差拡散係数を設定する設定手段とを有することを特徴とする画像処理装置。
【請求項８】
前記設定手段は、前記積算誤差が零に近付くように前記誤差拡散係数を設定することを特徴とする請求項7に記載された画像処理装置。
【請求項９】
前記計算手段は、前記積算誤差が上限値を超える場合は前記積算誤差を前記上限値に制限し、前記積算誤差が下限値を下回る場合は前記積算誤差を前記下限値に制限することを特徴とする請求項1から請求項8の何れか一項に記載された画像処理装置。
【請求項１０】
入力手段、変換手段、計算手段、設定手段を有する画像処理装置の画像処理方法であって、
前記入力手段が、多階調の画像データを入力し、
前記変換手段が、誤差拡散法または平均誤差最小法により、前記多階調の画像データを、より階調数が少ない画像データに階調変換し、
前記計算手段が、所定の画像領域において、前記階調変換によって生じる誤差を積算した積算誤差を画素ごとに計算し、
前記設定手段が、前記階調変換すべき画像データと前記積算誤差に基づき、前記誤差拡散法または平均誤差最小法に用いる閾値を設定し、
前記積算誤差が大きくなれば前記閾値は小さくなり、前記積算誤差が小さくなれば前記閾値は大きくなることを特徴とする画像処理方法。
【請求項１１】
入力手段、減算手段、変換手段、計算手段を有する画像処理装置の画像処理方法であって、
前記入力手段が、多階調の画像データを入力し、
前記減算手段が、前記多階調の画像データから積算誤差を減算し、
前記変換手段が、誤差拡散法または平均誤差最小法により、前記積算誤差を減じた多階調の画像データを、より階調数が少ない画像データに階調変換し、
前記計算手段が、所定の画像領域において、前記階調変換によって生じる誤差を積算して前記積算誤差を計算することを特徴とする画像処理方法。
【請求項１２】
入力手段、変換手段、計算手段、設定手段を有する画像処理装置の画像処理方法であって、
前記入力手段が、多階調の画像データを入力し、
前記変換手段が、誤差拡散により、前記多階調の画像データを、より階調数が少ない画像データに階調変換し、
前記計算手段が、所定の画像領域において、前記階調変換によって生じる誤差を積算した積算誤差を計算し、
前記設定手段が、前記階調変換すべき画像データと前記積算誤差に基づき、前記誤差拡散に用いる誤差拡散係数を設定することを特徴とする画像処理方法。
【請求項１３】
コンピュータを請求項1から請求項9の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするプログラム。
【請求項１４】
請求項13に記載されたプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の階調数を低減する画像処理に関する。
【背景技術】
【０００２】
スキャナなどの画像入力装置によって読み取った多階調の画像データや、コンピュータによって作成・編集された多階調グラフィックの画像データは、ディスプレイ、プリンタ、ファクシミリ、ディジタル複写機などによって再現される。その際、多階調の画像データを保存、転送するために、階調数を減らして、画像データのデータ量を減らす場合がある。
【０００３】
階調を減らすための階調変換には様々な手法があるが、例えば、誤差拡散法、および、誤差拡散法とほぼ等価な平均誤差最小法は、好ましい画質を実現する手法として広く用いられる。
【０００４】
しかし、誤差拡散法や平均誤差最小法には、次の問題がある。
【０００５】
第一の問題点は画素生成の遅延である。つまり、低濃度から中高濃度に濃度が増加する濃度域（以下、立ち上がり部）における黒画素の生成が遅れ、同様に、高濃度から中低濃度に濃度が低下する濃度域（以下、立ち下がり部）における白画素の生成が遅れる。なお、画素の生成が遅れるとは、例えばラスタ順に画素値を調べた場合、多階調の画像データは低濃度域から中高濃度域へ遷移しているのに、対応する階調変換された画像データは低濃度域から中高濃度域への遷移が完了していない状態を意味する。同様に、多階調の画像データは高濃度域から中低濃度域へ遷移しているのに、対応する階調変換された画像データは高濃度域から中低濃度域への遷移が完了していない状態を意味する。
【０００６】
第二の問題点は、細線の再現性である。つまり、背景領域との濃度差が小さく、幅の細い線は、その途中が切れて再現されたり（以下、途切れ）、再現されない（以下、消失）ことがある。
【０００７】
このような問題は、拡散される誤差が周辺画素に悪影響を及ぼすために発生する。特許文献1は、このような問題を解決するために、下式によって二値化閾値Tを設定する。
T(x, y) = {I(x, y)×(K - 1) + 128}/K      …(1)
ここで、I(x, y)は画素位置(x, y)の原画像の画素値、
Kは2以上の任意の自然数。
【０００８】
二値化閾値T(x, y)を原画像のデータI(x, y)から一意に設定する上記手法は、画素生成の遅延には一定の効果が認められるが、細線の再現性は不充分であり、途切れや消失が発生する。
【０００９】
【特許文献１】特開2002-374412号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、階調変換処理における画素生成の遅延と細線の再現性を改善することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１２】
本発明にかかる画像処理は、多階調の画像データを入力し、誤差拡散法または平均誤差最小法により、前記多階調の画像データを、より階調数が少ない画像データに階調変換し、所定の画像領域において、前記階調変換によって生じる誤差を積算した積算誤差を画素ごとに計算し、前記積算誤差に基づき、前記誤差拡散法または平均誤差最小法に用いる閾値を設定し、前記積算誤差が大きくなれば前記閾値は小さくなり、前記積算誤差が小さくなれば前記閾値は大きくなることを特徴とする。
【００１３】
また、多階調の画像データを入力し、前記多階調の画像データから積算誤差を減算し、誤差拡散法または平均誤差最小法により、前記積算誤差を減じた多階調の画像データを、より階調数が少ない画像データに階調変換し、所定の画像領域において、前記階調変換によって生じる誤差を積算して前記積算誤差を計算することを特徴とする。
【００１４】
また、多階調の画像データを入力し、誤差拡散法により、前記多階調の画像データを、より階調数が少ない画像データに階調変換し、所定の画像領域において、前記階調変換によって生じる誤差を積算した積算誤差を計算し、前記階調変換すべき画像データと前記積算誤差に基づき、前記誤差拡散に用いる誤差拡散係数を設定することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、階調変換処理における画素生成の遅延と細線の再現性を改善することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。以下では、本発明を誤差拡散法に適用する例を示すが、平均誤差最小法に適用してもよい。また、以降の説明において、階調変換後の階調数を「2」とするが、階調変換後の階調数は「2」に限定されるわけではない。
【実施例１】
【００１７】
実施例1として、誤差の総和に応じて、閾値（または入力値）を変更する例を説明する。
【００１８】
［装置の構成］
図1は実施例1の画像処理装置の機能構成例を示すブロック図である。
【００１９】
画像データ入力部101は、階調変換する原画像データI(x, y)を入力する。ここで、(x, y)は画素位置を表し、I(x, y)は画素位置(x, y)における濃度値である。勿論、I(x, y)は濃度値に限定されず、任意の画像信号でよい。
【００２０】
閾値設定部102は、原画像データI(x, y)および積算誤差ΣE(i, j)に基づき、下式に従い、閾値T(x, y)を設定する。
T(x, y) = Tb + N(x, y) - kΣE(i, j)      …(2)
ここで、Tbは原画像データI(x, y)の値から一意に決定される基準閾値、
N(x, y)は画素位置に応じて設定される閾値ノイズ、
kは積算誤差ΣE(i, j)を小さくする係数。
【００２１】
詳細は後述するが、積算誤差ΣE(i, j)は、誤差積算部107によって得られ、階調変換処理済みの任意領域において発生した誤差の積算値である。誤差拡散部105によって得られる拡散誤差積算値D(x, y)とは異なる。
【００２２】
また、係数k（フィードバックパラメータ）の値は、発明者らの実験によれば、0.08程度が好ましい結果を得られる。しかし、演算の効率性を考慮して、ビット演算により実現可能な1/8または1/16を係数kに採用してもよい。
【００２３】
また、基準閾値Tbは、例えば128などの固定値としてもよい。その場合、係数kの値をやや大きく0.15程度にすれば、好ましい結果が得られる。演算に必要なメモリ量、および、演算負荷を削減する場合、基準閾値Tbを固定値にすることが好しい。
【００２４】
また、閾値ノイズN(x, y)として、比較的高い周波数のノイズを用いると好適である。
【００２５】
二値化部103は、閾値T(x, y)と、補正データI(x, y)+D(x, y)を比較して、二値化結果O(x, y)および発生誤差E(x, y)を出力する。
if (I(x, y) + D(x, y)＞T(x, y))
O(x, y) = 1;
else
O(x, y) = 0;                                …(3)
E(x, y) = I(x, y) + D(x, y) - O(x, y)×255      …(4)
ここで、D(x, y)は誤差拡散部105によって得られる拡散誤差積算値。
【００２６】
画像データ出力部104は、二値化部103から出力される二値化結果の画像データO(x, y)を印刷装置などに出力する。印刷装置は、例えばO(x, y)=‘1’ならば記録紙などにドットを生成し、O(x, y)=‘0’ならばドットを生成しない。
【００２７】
誤差拡散部105は、二値化部103から出力される二値化結果の発生誤差E(x, y)を注目画素の近傍画素に拡散する。図2は「＊」で示す注目画素と、各近傍画素へ拡散する誤差の割合を示す誤差拡散マトリクスの一例を示す図である。図2に示す拡散拡散マトリクスを適用する場合、画像端の画素を除き、任意の画素は、近傍の四画素から拡散される誤差の和を受け取る。つまり、ある画素(x, y)が受け取る誤差の和が拡散誤差積算値D(x, y)である。
【００２８】
データ補正部106は、原画像データI(x, y)と、画素位置(x, y)の画素に対応する拡散誤差積算値D(x, y)を加算して、補正データI(x, y)+D(x, y)を得る。
【００２９】
誤差積算部107は、発生誤差E(x, y)から積算誤差ΣE(i, j)を積算する。本実施例において、積算誤差ΣE(i, j)は、既処理の画素の発生誤差E(x, y)の総和とする。ただし、(i, j)によって示される積算の範囲は、既処理の全画素に限らず、例えば1ラインの範囲でもよいし、画像領域を分割した任意の範囲であもよい。また、I(x, y)=0の二値化結果を必ずO(x, y)=0にする場合、I(x, y)=0の画素における発生誤差E(x, y)を積算誤差ΣE(i, j)に加えないようにしてもよい。すなわち、積算誤差ΣE(i, j)の積算範囲は限定されない。
【００３０】
誤差積算部107は、積算誤差ΣE(i, j)の値に上限値αおよび下限値βを設定し、下式により、積算誤差ΣE(i, j)の値を適切な範囲に収めることが好適である。
if (ΣE(i, j)＞α)
ΣE(i, j) = α;
else if (ΣE(i, j)＜β)
ΣE(i, j) = β;      …(5)
【００３１】
一般的な誤差拡散処理において、拡散誤差積算値D(x, y)が過大な値になると画質の問題が発生する。拡散誤差積算値D(x, y)に、上限値、下限値を設ければ、拡散すべき誤差が失われ、入力画像の平均濃度と出力画像の平均濃度が異なってしまう問題がある。一方、本実施例のように、積算誤差ΣE(i, j)に上限値、下限値を設けて、上限値を超える場合は上限値に制限し、下限値を下回る場合は下限値に制限すれば、拡散すべき誤差が失われることはなく、上記の問題は発生しない。勿論、積算誤差ΣE(i, j)の値を適切な範囲に収める方法は、上記に限らず、例えば、一画素処理する都度、所定値を積算誤差ΣE(i, j)に加算または減算するようにしてもよい。
【００３２】
また、発生誤差E(x, y)の積算でなく、下式で表される誤差E'(x, y)の積算を誤差E(i, j)に用いてもよい。
E'(x, y) = I(x, y) - O(x, y)×255      …(6)
【００３３】
［原理の説明］
本実施例は、誤差E(i, j)に基づき閾値T(x, y)を変動させることで、誤差E(i, j)を小さくして、画素生成の遅延問題を解決する。以下では、その理由を説明する。
【００３４】
積算誤差ΣE(i, j)が正の大きな値の場合、閾値設定部102が設定する閾値T(x, y)は小さくなる。すると、二値化部103が出力する二値化結果O(x, y)は‘1’に、発生誤差E(x, y)は負の値になり易くなる。この発生誤差E(x, y)が積算誤差ΣE(i, j)に加算されるため、結果的に、積算誤差ΣE(i, j)は0に近付く。これは、積算誤差ΣE(i, j)が負の大きな値の場合も同様である。
【００３５】
画素の走査方向に加算されて行く積算誤差ΣE(i, j)が0に近付くということは、誤差E(i, j)の計算領域において、原画像データI(x, y)の平均値と二値化結果O(x, y)の平均値の差が0に近付くことと等価である。そのため、画素生成の遅延を抑制し、細線の再現性を向上することができる。
【００３６】
本実施例において、一般的な誤差拡散法の構成に、積算誤差ΣE(i, j)を積算するための構成を追加するだけであり、コスト、計算量の増加も僅かである。
【００３７】
また、上記では、積算誤差ΣE(i, j)を閾値T(x, y)に反映する例を説明したが、原画像データI(x, y)や補正データI(x, y)+D(x, y)に誤差E(i, j)を反映させても、ほぼ等価な結果が得られる。つまり、図6に示すように、下式に示す演算を行う加算器108によって、原画像データI(x, y)に積算誤差ΣE(i, j)を反映した結果の画像データI'(x, y)をデータ補正部106に入力する。
I'(x, y) = I(x, y) + kΣE(i, j)      …(7)
【００３８】
また、本実施例において、画素の走査方向、誤差拡散マトリクス、基準閾値Tbなどの設定は任意である。
【実施例２】
【００３９】
以下、本発明にかかる実施例2の画像処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００４０】
実施例2として、誤差の総和に応じて、誤差拡散係数を変更する例を説明する。
【００４１】
［装置の構成］
図3は実施例2の画像処理装置の機能構成例を示すブロック図である。
【００４２】
実施例2の閾値設定部102は、原画像データI(x, y)に基づき、下式に従い、閾値T(x, y)を設定する。
T(x, y) = Tb + N(x, y)      …(8)
【００４３】
誤差拡散係数設定部306は、原画像データI(x, y)、発生誤差E(x, y)および積算誤差ΣE(i, j)に基づき、誤差拡散係数M(x, y)を設定する。図4は誤差拡散係数設定部306が選択的に設定する三種類の誤差拡散係数の一例を示す図である。誤差拡散係数設定部306は、これら誤差拡散係数の選択を次のように行う。なお、pは任意の正の実数、mは任意の負の実数である。
if (ΣE(i, j)＞p and E(x, y)＞0)
図4(b)の誤差拡散係数を選択する;
if (ΣE(i, j)＜m and E(x, y)＜0)
図4(b)の誤差拡散係数を選択する;      …(9)
【００４４】
なお、図4(b)に示す誤差拡散係数は、画素の走査方向が左から右において、右方向の誤差拡散係数が大きいものである。
if (ΣE(i, j)＞p and E(x, y)＜0)
図4(c)の誤差拡散係数を選択する;
if (ΣE(i, j)＜m and E(x, y)＞0)
図4(c)の誤差拡散係数を選択する;      …(10)
【００４５】
なお、図4(c)に示す誤差拡散係数は、画素の走査方向が左から右において、右方向の誤差拡散係数が小さいものである。
else
図4(a)の誤差拡散係数を選択する;      …(11)
【００４６】
なお、図4(a)に示す誤差拡散係数は、図2と同様の通常の誤差拡散係数である。
【００４７】
勿論、図4に示す差拡散係数は一例に過ぎず、任意の誤差拡散係数を用いることができる。また、選択し得る誤差拡散係数の種類に三つに限定されるわけではなく、三つ以上の任意数の誤差拡散係数を用意してもよい。また、複数種類の誤差拡散係数を保持せずに、誤差拡散係数を原画像データI(x, y)、発生誤差E(x, y)および積算誤差ΣE(i, j)の関数として定義し、計算によって誤差拡散係数を求めてもよい。また、係数として負の値を用いてもよい。
【００４８】
つまり、本実施例の特徴は、注目画素(x, y)の次に処理される画素、または、走査線上で近接した未処理画素に拡散する誤差を、原画像データI(x, y)、発生誤差E(x, y)および積算誤差ΣE(i, j)に基づいて制御することである。
【００４９】
実施例2の誤差拡散部105は、誤差拡散係数設定部306によって設定された誤差拡散マトリクスを用いて、発生誤差E(x, y)を注目画素(x, y)の近傍画素に拡散する。
【００５０】
［原理の説明］
本実施例は、原画像データI(x, y)、誤差E(x, y)および積算誤差ΣE(i, j)に基づき誤差拡散係数M(x, y)を設定することで、積算誤差ΣE(i, j)を小さくして、画素生成の遅延問題を解決する。以下では、その理由を説明する。
【００５１】
積算誤差ΣE(i, j)が正の大きな値で、かつ、発生誤差E(x, y)が正の値の場合、右方向（走査方向）に大きな係数をもつ誤差拡散係数M(x, y)を設定する。すると、右方向に正の大きな誤差が拡散され、二値化部103が出力する二値化結果O(x+1, y)は‘1’に、発生誤差E(x+1, y)は負の値になり易くなる。このE(x+1, y)が積算誤差ΣE(i, j)に加算されるため、結果的に、積算誤差ΣE(i, j)は0に近付く。
【００５２】
同様に、積算誤差ΣE(i, j)が正の大きな値で、かつ、発生誤差E(x, y)が負の値の場合正の値の場合、積算誤差ΣE(i, j)が負の大きな値で、かつ、発生誤差E(x, y)が負の値の場合も、積算誤差ΣE(i, j)は0に近付く。同様に、積算誤差ΣE(i, j)が負の大きな値で、かつ、発生誤差E(x, y)が正の値の場合、積算誤差ΣE(i, j)が負の大きな値で、かつ、発生誤差E(x, y)が負の値の場合も、積算誤差ΣE(i, j)は0に近付く。
【００５３】
積算誤差ΣE(i, j)が0に近付くということは、前述したように、誤差E(i, j)の計算領域において、原画像データI(x, y)の平均値と二値化結果O(x, y)の平均値の差が0に近付くことと等価である。そのため、画素生成の遅延を抑制し、細線の再現性を向上することができる。
【００５４】
本実施例において、画素の走査方向、基準閾値Tbなどの設定は任意である。
【実施例３】
【００５５】
以下、本発明にかかる実施例3の画像処理を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００５６】
実施例1では、所定の係数kを用いる例を説明したが、画像の粒状性がやや悪化するケースが散見される。実施例3では、係数kの値を動的に変更する例を説明する。
【００５７】
［装置の構成］
図5は実施例3の画像処理装置の機能構成例を示すブロック図である。
【００５８】
係数設定部508は、原画像データI(x, y)に基づき、係数k（フィードバックパラメータ）を設定する。係数kは、画素生成の遅延および細線の再現性を改善する度合いを制御するためのパラメータである。発明者らの実験によると、係数kを大きく設定すると、高濃度域および低濃度域において若干の粒状性悪化が確認された。すなわち、画素生成の遅延および細線の再現性を改善する度合い（係数kの値）と粒状性の間にはトレードオフの関係が存在する。
【００５９】
そこで、画素生成の遅延が発生し易い領域と、細線を含む領域は係数kを大きく設定して画素生成の遅延と細線の再現性の問題を解決する。また、それ以外の領域は係数kを小さく（0にしてもよい）設定して、粒状性の悪化を抑制する。
【００６０】
画素生成の遅延が発生し易い領域と細線を含む領域は、例えばエッジを含む領域と考えることができる。そこで、原画像データの注目画素の値I(x, y)と、注目画素(x, y)の近傍画素の画素値の平均値の差を用いて、下式により係数kを設定する。
k = |I(x, y) - A(x, y)|      …(12)
ここで、A(x, y)は近傍画素の画素値の平均値、
近傍画素の範囲はx±a、y±b（a、bは任意の自然数）である。
【００６１】
なお、原画像データの注目画素の画素値I(x, y)と、近傍画素の画素値の平均値A(x, y)の差の代わりに、例えば、注目画素の画素値I(x, y)の微分値を用いてもよい。また、近傍画素の出力値O(x, y)の平均値を用いてもよい。
【００６２】
また、階調変換処理の開始直後の画素において、画素生成の遅延が発生し易いため、画素位置に応じて係数kを設定するようにしてもよい。また、画素ごとに係数kを設定するのではなく、画像領域を任意の大きさの領域に分割し、分割領域ごとに係数kを設定してもよい。
【００６３】
また、コンピュータ支援設計(CAD)に用いられる画像には、図形情報が付加されていることがあり、この付加情報を用いて係数kを設定してもよい。
【００６４】
つまり、実施例3の特徴は、画素生成の遅延が発生し易い領域と細線を含む領域を判定し、その判定結果に応じて係数kの値を設定することである。
【００６５】
［他の実施例］
なお、本発明は、複数の機器（例えばコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置、制御装置など）に適用してもよい。
【００６６】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（CPUやMPU）が前記コンピュータプログラムを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記憶媒体は本発明を構成する。
【００６７】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)および/または第一の、第二の、第三の、…プログラムなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００６８】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットなどのデバイスのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、第一の、第二の、第三の、…デバイスのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００６９】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【００７０】
【図１】実施例1の画像処理装置の機能構成例を示すブロック図、
【図２】各近傍画素へ拡散する誤差の割合を示す誤差拡散マトリクスの一例を示す図、
【図３】実施例2の画像処理装置の機能構成例を示すブロック図、
【図４】誤差拡散係数設定部が選択的に設定する三種類の誤差拡散係数の一例を示す図、
【図５】実施例3の画像処理装置の機能構成例を示すブロック図、
【図６】実施例1の画像処理装置の別の機能構成例を示すブロック図である。
【図１】
0005028324.tif 000002
【図２】
0005028324.tif 000003
【図３】
0005028324.tif 000004
【図４】
0005028324.tif 000005
【図５】
0005028324.tif 000006
【図６】
0005028324.tif 000007