(57)【特許請求の範囲】
【請求項１】
画素データ読み出し手段と、画素データ変換手段と、条件判断手段と、乱数発生手段と、変換データ選択手段と、誤差計算手段と、拡散誤差計算手段と、画素データ修正手段よりなる画像処理装置であって、
画素データ読み出し手段は、画素データを読み出し、
拡散誤差計算手段は、誤差計算手段が算出した変換誤差から所定の演算式に基づいて拡散誤差を算出し、
画素データ修正手段は、算出された拡散誤差を付加することによって、画素データ読み出し手段が読み出す変換対象の画素データの階調値を修正し、
画素データ変換手段は、修正された画素データの階調値を所定の２以上の関数に基づき変換し、変換候補データとして各関数ごとに出力し、
条件判断手段は、変換対象の画素データが所定の条件を満たすか否かを判断し、
乱数発生手段は乱数を発生させ、
変換データ選択手段は、前記条件判断手段で所定の条件を満たすと判断された場合には、前記乱数発生手段で発生した乱数に基づき前記変換候補データの中から１つの変換候補データを変換データとして選択して出力し、
前記条件判断手段で所定の条件を満たさないと判断された場合には、前記変換候補データの中から修正された画素データの階調値により近い階調値をもつ変換候補データを変換データとして選択して出力し、
誤差計算手段は、変換データ選択手段より出力された変換データの階調値と、画素データ修正手段によって修正された画素データの階調値との変換誤差を計算して出力する画像処理装置。
【請求項２】
請求項１記載の画像処理装置において、
さらに、処理対象画像中の領域を指定する領域指定手段を設け、
前記条件判断手段が判断する条件が変換対象の画素データが前記領域指定手段で指定した領域内に含まれるという条件である、画像処理装置。
【請求項３】
前記条件判断手段が判断する条件が、前記誤差計算手段で算出した変換誤差が所定の値以下であるという条件である請求項１記載の画像処理装置。
【請求項４】
前記条件判断手段が判断する条件が、前記拡散誤差算出手段で算出した拡散誤差が所定の値以下であるという条件である請求項１記載の画像処理装置。
【請求項５】
請求項３記載の画像処理装置において、さらに前記所定の値を変換対象の画素データおよび当該画素データの周囲の画素データの内の少なくとも１つから所定の演算式によって算出する判断値算出手段を設けた画像処理装置。
【請求項６】
請求項４記載の画像処理装置において、さらに前記所定の値を変換対象の画素データおよび当該画素データの周囲の画素データの内の少なくとも１つから所定の演算式によって算出する判断値算出手段を設けた画像処理装置。
【請求項７】
画像処理装置の 画素データ読み出しステップと、画素データ変換ステップと、条件判断ステップと、乱数発生ステップと、変換データ選択ステップと、誤差計算ステップと、拡散誤差計算ステップと、画素データ修正ステップとを有する画像処理方法であって、
画素データ読み出しステップは、画素データを読み出し、
拡散誤差計算ステップは、誤差計算ステップが算出した変換誤差から所定の演算式に基づいて拡散誤差を算出し、
画素データ修正ステップは、算出された拡散誤差を付加することによって、画素データ読み出しステップが読み出す変換対象の画素データの階調値を修正し、
画素データ変換ステップは、修正された画素データの階調値を所定の２以上の関数に基づき変換し、変換候補データとして各関数ごとに出力し、
条件判断ステップは、変換対象の画素データが所定の条件を満たすか否かを判断し、
乱数発生ステップは、乱数を発生させ、
変換データ選択ステップは、前記条件判断ステップで所定の条件を満たすと判断された場合には、前記乱数発生ステップで発生した乱数に基づき前記変換候補データの中から１つの変換候補データを変換データとして選択して出力し、
前記条件判断ステップで所定の条件を満たさないと判断された場合には、前記変換候補データの中から修正された画素データの階調値により近い階調値をもつ変換候補データを変換データとして選択して出力し、
誤差計算ステップは、変換データ選択ステップにより出力された変換データの階調値と、画素データ修正ステップによって修正された画素データの階調値との変換誤差を計算して出力することを実行する画像処理方法。
【請求項８】
請求項７記載の画像処理方法において、さらに、
処理対象画像中の領域を指定する領域指定ステップを含み、
前記条件判断ステップが判断する条件が変換対象の画素データが前記領域指定ステップで指定した領域内に含まれるという条件である、画像処理方法。
【請求項９】
前記条件判断ステップが判断する条件が、前記誤差計算ステップで算出した変換誤差が所定の値以下であるという条件である請求項７記載の画像処理方法。
【請求項１０】
前記条件判断ステップが判断する条件が、前記拡散誤差算出ステップで算出した拡散誤差が所定の値以下であるという条件である請求項７記載の画像処理方法。
【請求項１１】
請求項９記載の画像処理方法において、さらに前記所定の値を変換対象の画素データおよび当該画素データの周囲の画素データの内の少なくとも１つから所定の演算式によって算出する判断値算出ステップを含む画像処理方法。
【請求項１２】
請求項１０記載の画像処理方法において、さらに前記所定の値を変換対象の画素データおよび当該画素データの周囲の画素データの内の少なくとも１つから所定の演算式によって算出する判断値算出ステップを含む画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置および画像処理方法に関し、特に、多値画像の二値化装置、減色変換装置および二値化方法、減色変換方法に関するものである。
【０００２】
【従来の技術】
近年のコンピュータの発達は、画像のディジタル処理を一般化させた。ディジタル化された画像は、通常、各標本点での光の明るさ(輝度:brightness)に即した値をもつ二次元の配列データにより表現されており、画像のディジタル処理は、これらそれぞれの値に対して数値計算等を行うことによって実現されている。
【０００３】
ディジタル画像を処理する上での問題の一つに、個々の画像表示装置で表現できる明るさの精度が異なっていることが挙げられる。たとえば、高性能な ＣＲＴディスプレイに表示されている画像をプリンタに印刷する場合を例に挙げると、高性能なＣＲＴディスプレイならば、赤青緑の光の三原色のそれぞれに対して、２５６階調の精度で画像データを表示することが可能であるが、プリンタではドットのあるかないの２階調しか表現できない。同様な問題が、高性能なＣＲＴディスプレイに表示されているものを、精度が低い安価なディスプレイに表示させる場合にも発生する。このように画像表示装置で表現できる精度が低い場合には、原画像の階調を変換する画像処理を行う必要がある。
【０００４】
このような階調を変換する画像処理方法として、一般に、誤差拡散方法が使用されている。この方法は、変換前の（ｘ、ｙ）点における画素データの階調値をＩ（ｘ、ｙ）、輝度の変換（階段）関数をＧ、変換結果をｇで表すと、以下の数式で表現することができる。
【０００５】
【数１】
0003779406.tif 000002
【０００６】
【数２】
0003779406.tif 000003
【０００７】
【数３】
0003779406.tif 000004
【０００８】
【数４】
0003779406.tif 000005
【０００９】
即ち、誤差拡散法では、変換する画素データの周囲の点の変換誤差ｅに重みづけをして足し合わせた誤差拡散値Ｅを変換する画素データに付加することで画素データの周囲の点における変換誤差を反映させるものである。このように周囲の誤差が反映されることによって画像全体の変換誤差を抑えることができる。
かかる誤差拡散方法を用いた画像処理装置の構成図を２０に示す。かかる画像処理装置は画素データ格納部２００１、画素データ読み出し部２００２、画素データ修正部２００３、拡散誤差算出部２００４、画素データ変換部２００５、誤差計算部２００６よりなる。
【００１０】
各構成部分の動作を簡単に説明すると、画素データ読み出し部２００２が、画素データ格納部２００１に格納された変換対象となる画素データを読み出し、画素データ修正部２００３へ出力する。一方、拡散誤差算出部２００４は、誤差計算部２００６から出力される変換誤差ｅに基づいて拡散誤差Ｅを算出し、画素データ修正部２００３へ伝える。図２１に拡散誤差算出部２００４で用いる誤差拡散係数ａijを示す。ここでは式（１）において、ｍ0 ＝−１、ｍ1 ＝１、ｎ0 ＝−１、ｎ1 ＝０としてａｉｊを構成している。この誤差拡散係数ａijの値は処理方向によって変わるものとする。画素データ修正部２００３は、画素データ読み出し部２００２から出力された画素データに拡散誤差算出部２００４により算出された拡散誤差Ｅを付加して画素データの階調値を修正する。画素データ変換部２００５は修正された画素データの階調値を所定の関数に基づき目的とする二値又は多値の値に変換して端子Ｔに出力する。画素データ変換部２００５で用いる変換関数の例を図２２に示す。図２２に示す変換関数は、２５６階調の輝度データを１６階調の輝度データに変換するものであり、２つの関数ｆ（Ｉ）とｇ（Ｉ）によって変換された値のうち、変換前の値に近い方を変換値とする。
【００１１】
さらに詳しい動作を図２３、２４、２５に示すフローチャートに基づき説明する。まず、図２３のフローチャトを用いて動作の概要を説明する。最初に、各変換誤差の初期値を０にし、最初の走査位置としてｙ軸の座標値を０とする（ｓ２３０１、ｓ２３０２）。そして、画素データ読み出し部２００２は画素データを読み出す際に、ｙ軸の正の方向に、かつ、ｙ軸の座標値が偶数のときはｘ軸の正の方向へ、ｙ軸の座標値が奇数のときはｘ軸の負の方向へ走査して行き、画素データ変換部２００５は画素データを変換して行く（ｓ２３０３〜ｓ２３０９）。なお、ここではｙ座標の遇奇によってｘ軸の走査方向を変化させているが、基本的には走査方向を変更する必要はない。
【００１２】
ｓ２３０４、ｓ２３０７における動作を図２４、２５を用いてさらに詳述する。図２４、２５はそれぞれｘ軸の正の方向に走査する場合と、負の方向に走査する場合の画素データ変換の動作を示したフローチャートである。両者の動作は要部は同じであるので図２４を用いて説明する。また、具体的に変換される数値の様子を図２６に示す。図２６の（ａ）は変換対象の画素データの変換方向および位置を表し、ここでは座標（ｘ、ｙ）の画素データが変換対象であるものとする。（ｂ）は拡散誤差算出部２００４で用いる誤差拡散係数ａij、（ｃ）は変換対象の各画素データの２５６階調による輝度Ｉ、（ｄ）は変換した各画素データにおける変換誤差ｅを示している。
【００１３】
最初に、最初の走査位置としてｘ軸の座標値を０とする（ｓ２４０１）。そして、画像の幅分だけ以下の処理を行う（ｓ２４０２、ｓ２４１１）。まず、画素データ修正部２００５は座標（ｘ、ｙ）での画素データである輝度Ｉ（ｘ、ｙ）を変数ｚに代入し（ｓ２４０３）、拡散誤差算出部２００４は式（２）に基づいて図２６（ｂ）の誤差拡散係数ａij、（ｄ）の変換誤差ｅを用いて、拡散誤差Ｅを算出する（ｓ２４０４）。図２６の（ｄ）から拡散誤差Ｅを計算すると「２４」となる。それから、画素データ修正部２００３は式（１）に基づいて、画素データである輝度が代入された変数ｚに算出された拡散誤差Ｅを付加し画素データを修正する（ｓ２４０５）。図２６の（ｃ）の座標（ｘ、ｙ）の画素データである輝度値「５０」は、これにより図２６の（ｅ）に示すように「７４」に修正される。さらに、画素データ変換部２００５は式（３）に基づき、修正された画素データを図２２に示す２つの関数へ代入し、修正された画素データにより近い方を変換値として出力する（ｓ２４０６、ｓ２４０７、ｓ２４０８）。この結果、図２６の（ｅ）で修正された画素データ”７４”は、図２６の（ｆ）のように「８０」に変換される。そして、誤差計算部２００６は式（４）に基づき座標（ｘ、ｙ）における変換誤差を算出する（ｓ２４０９）。図２６の（ｅ）および図２６の（ｆ）からは、（ｇ）のように変換誤差として「−６」が算出される。
【００１４】
図２６の変換においては、例えば、変換値「８０」は本来の要求した値より大きいため変換誤差は「−６」となり、次の値の修正時にはこの変換誤差が反映され、今度は輝度値を減らす方向に働く。このように誤差拡散法では、こうした処理が繰り返されることで、画像全体での変換誤差を他の方法に比べて小さく押さえることができる。
【００１５】
このように優れた性質をもつ誤差拡散法であるが、誤差拡散法には二つの問題点がある。一つはこの方法が誤差を帰還させるための誤差拡散係数に非常に敏感であり、値のとりかたにより変換値に周期的な繰り返しが生じ、これが表示時にモアレとなって、画質を低下させることである。
この問題を改善させる方法としては、特開平５−３７７８１に示されるような、各変換処理の方向をランダムに切り替える方法や、画像電子学会誌１９９１年第２０巻第５号第４４３頁から第４４９頁に記載されているような、係数の組合せをランダムに切り替える方法、特開平７−２８８６８９に示されるような、読み出した画像信号の一部に乱数による雑音を加えて、モアレの生成を防止する方法などが提案されている。即ち、これらの方法は変換過程において確率過程による修正を加えることによって、周期的な変換値の繰り返しを乱すものである。
【００１６】
なお、ここにいう確率過程とは離散型確率過程であり、確率過程による修正を加えるとは、上述したように偶然量を含む雑音を変換前または変換後のデータに付加したり、複数の変換値からランダムに１つの変換値を選択する等、偶然的要素をそれぞれの変換値に何らかの形で反映させることをいうものとする。
誤差拡散方法のもう一つの問題点は、処理方向に、薄い線があった場合、これらの線の位置がずれたり消えてしまったりすることである。例えば図２７（ａ）に示すように、ｙ軸が偶数の座標値をもつ幅１の線が輝度が「９」の値をもち、（ｂ）のような変換誤差値をもっていた場合、上述した画像処理装置によって変換処理を行っていくと、（ｄ）、（ｇ）のように輝度が”０”に変換されていき、もとの輝度データは輝度０に変換され、消去されてしまう。このことは仮にこの輝度９の線が、文字を構成する線の一部であるとすると、文字が読めなくなってしまうことを表す。
【００１７】
消去された輝度データは誤差データとして残るため、次回の処理に悪影響を与え、明るさを異常に明るい方向に変更し画質を低下させる。この線が消えるという現象は、図２８に示すような一般によく使用されるFloyd型のフィルタ係数でも、図２９に示すように、誤差の残り方により常に発生する可能性があり、この現象が起きにくくなるように係数を選択すると、今度は強烈なモアレが発生するといった、厄介な問題を生じる。
【００１８】
この問題点も、変換データに比較的大きな雑音を低輝度の画素データに加えることによって、周期的な変換の繰り返しを乱すことによって防ぐことが可能である。
このような、変換データに雑音を加える、つまり、確率過程による修正を加える方法を用いた装置の例として、図３０に、特開平７−２８８６８９号の記載に基づく画像処理装置の構成図を示す。この画像処理装置は図２０に示す画像処理装置に対して、重み付け係数発生部３００７ａ、乱数発生部３００７ｂ、乗算部３００７ｃ、加算部３００７ｄよりなるデータ変換修正部３００７を設けたものである。
【００１９】
データ変換修正部３００７を簡単に説明すると、重み付け係数発生部３００７ａは画素データ読み出し部３００２が読み出した画素データの輝度値に応じて定められる重み付け係数を発生させる。例えば、図３１（ａ）に示すようにモアレが現れやすい中輝度で雑音の大きさが最大になるように重み付け係数を発生させるようにする。もっとも、図３１（ｂ）、（ｃ）に示すように、すべて同じ重み付け係数を出力するように設定しても構わない。なお、図３１における乱数の重み付け係数ｈ（Ｉ）は、各輝度を変換した際の階段関数のステップ幅（ｇ（Ｉ）−ｆ（Ｉ）との比を表している。
【００２０】
乱数発生部３００７ｂは乱数を発生させ、乗算部３００７ｃは重み付け係数発生部３００７ａが発生させた重み付け係数と乱数発生部３００７ｃが発生させた乱数を掛け合わせる。加算部３００７ｄは画素データ修正部３００３により修正された画素データに乗算部３００７ｃで得られた値を加える。これらの動作によって、画素データ修正部３００３の値に読み出した画素データの値に影響を受ける雑音が付加される。このように、雑音が適度に加わることにより変換値が確率的に分散され、モアレの発生を防ぐことができ、処理方向の薄い線の位置がずれたり消えたりすることを防ぐことができる。
【００２１】
この画像処理装置の動作も前記の画像処理装置の動作とほぼ同じであり図２３に示すように原画像を走査して画素データを変換していく。図３２、図３３にこの画像処理装置の、図２４、図２５に対応するフローチャートを示す。これらのフローチャートにおいて、図２４、図２５と相違しているのは、重み付け係数発生部３００７ａ、乱数発生部３００７ｂ、乗算部３００７ｃによって雑音ｒを発生するｓ３２０５、ｓ３３０５、加算部３０７ｄによって発生した雑音ｒを修正した画素データにさらに付加するｓ３２０６、ｓ３３０６であり、これらのステップによって適度に変換値が分散される。なお、本明細書では、このように雑音を付加する誤差拡散法を雑音付加型誤差拡散法と呼ぶ。
【００２２】
【発明が解決しようとする課題】
しかしながら、上記雑音付加型誤差拡散方法では、処理方向の薄い線の位置がずれたり消えたりすることを防止しようとすると低輝度で強い雑音をかける必要があるが、低輝度部分で強い雑音がかかると低輝度部分でざらつき感が増大し画質が低下するという問題が生じる。一方、ざらつき感を低下させるために雑音を低くすると薄い線が消えやすくなり、同時にモアレが生成される可能性も高くなる。即ち、上記雑音付加型誤差拡散方法では、ざらつき感を低下させながら、モアレの生成を防止し、さらに、処理方向の薄い線の位置のずれや消滅を防止するという要求を満たすことは極めて困難である。
【００２３】
本発明は、かかる問題点を解決するものであり、モアレの生成を防止し、処理方向に沿った薄い線が消えるという問題も解決すると同時に、画像のざらつきの少ない、高性能な多値画像の二値化もしくは減色変換する画像処理方法および画像処理装置を提供することを目的とする。
【００２６】
【課題を解決するための手段】
また、上記課題を解決するために本発明に係る画像処理装置は、画素データ読み出し手段と、画素データ変換手段と、条件判断手段と、乱数発生手段と、変換データ選択手段と、誤差計算手段と、拡散誤差計算手段と、画素データ修正手段よりなる画像処理装置であって、画素データ読み出し手段は、画素データを読み出し、拡散誤差計算手段は、誤差計算手段が算出した変換誤差から所定の演算式に基づいて拡散誤差を算出し、画素データ修正手段は、算出された拡散誤差を付加することによって、画素データ読み出し手段が読み出す変換対象の画素データの階調値を修正し、画素データ変換手段は、修正された画素データの階調値を所定の２以上の関数に基づき変換し、変換候補データとして各関数ごとに出力し、条件判断手段は、変換対象の画素データが所定の条件を満たすか否かを判断し、乱数発生手段は乱数を発生させ、変換データ選択手段は、前記条件判断手段で所定の条件を満たすと判断された場合には、前記乱数発生手段で発生した乱数に基づき前記変換候補データの中から１つの変換候補データを変換データとして選択して出力し、前記条件判断手段で所定の条件を満たさないと判断された場合には、前記変換候補データの中から修正された画素データの階調値により近い階調値をもつ変換候補データを変換データとして選択して出力し、誤差計算手段は、変換データ選択手段より出力された変換データの階調値と、画素データ修正手段によって修正された画素データの階調値との変換誤差を計算して出力する。
【００２７】
上記画像処理装置においては、さらに、処理対象画像中の領域を指定する領域指定手段を設け、前記条件判断手段が判断する条件が変換対象の画素データがこの領域指定手段で指定した領域内に含まれるという条件であるようにすると好適である。
また、前記条件判断手段が判断する条件が、前記誤差計算手段で算出した変換誤差が所定の値以下であるという条件とすることもでき、さらに、前記条件判断手段が判断する条件が、前記拡散誤差算出手段で算出した拡散誤差が所定の値以下であるという条件とすれば効果的である。
【００２８】
さらに上記画像処理装置には、前記所定の値を変換対象の画素データおよび当該画素データの周囲の画素データの内の少なくとも１つから所定の演算式によって算出する判断値算出手段を設けることが望ましい。
【００２９】
また、上記課題を解決するために、画像処理装置の 画素データ読み出しステップと、画素データ変換ステップと、条件判断ステップと、乱数発生ステップと、変換データ選択ステップと、誤差計算ステップと、拡散誤差計算ステップと、画素データ修正ステップとを有する画像処理方法であって、画素データ読み出しステップは、画素データを読み出し、拡散誤差計算ステップは、誤差計算ステップが算出した変換誤差から所定の演算式に基づいて拡散誤差を算出し、画素データ修正ステップは、算出された拡散誤差を付加することによって、画素データ読み出しステップが読み出す変換対象の画素データの階調値を修正し、画素データ変換ステップは、修正された画素データの階調値を所定の２以上の関数に基づき変換し、変換候補データとして各関数ごとに出力し、条件判断ステップは、変換対象の画素データが所定の条件を満たすか否かを判断し、乱数発生ステップは、乱数を発生させ、変換データ選択ステップは、前記条件判断ステップで所定の条件を満たすと判断された場合には、前記乱数発生ステップで発生した乱数に基づき前記変換候補データの中から１つの変換候補データを変換データとして選択して出力し、前記条件判断ステップで所定の条件を満たさないと判断された場合には、前記変換候補データの中から修正された画素データの階調値により近い階調値をもつ変換候補データを変換データとして選択して出力し、誤差計算ステップは、変換データ選択ステップにより出力された変換データの階調値と、画素データ修正ステップによって修正された画素データの階調値との変換誤差を計算して出力することを実行することとしている。
【００３０】
また、上記画像処理方法において、さらに、処理対象画像中の領域を指定する領域指定ステップを含み、前記条件判断ステップが判断する条件が変換対象の画素データが前記領域指定ステップで指定した領域内に含まれるという条件が選ばれる。
さらに、前記条件判断ステップが判断する条件が、前記誤差計算ステップで算出した変換誤差が所定の値以下であるという条件としてもよい。
【００３１】
さらに、前記条件判断ステップが判断する所定の条件が、前記拡散誤差算出ステップで算出した拡散誤差が所定の値以下であるという条件とすると効果的である。そして、上記画素データ処理方法において、前記所定の値を変換対象たる前記画素データおよび当該画素データの周囲の画素データの少なくとも１つから所定の演算により算出した値とすると非常に有用な効果を奏する。
さらに前記所定の値を変換対象の画素データおよび当該画素データの周囲の画素データの内の少なくとも１つから所定の演算式によって算出する判断値算出ステップを含むこととしてもよい。

【００３２】
【発明の実施の形態】
以下本発明の実施の形態について、図面を参照しながら説明する。
（実施の形態１）
図１は本発明に係る画像処理装置のハードウエア構成図である。図１に示す画像処理装置はＣＰＵ１０１、メインメモリ１０２、Ｉ／Ｏコントローラ１０３、ディスプレイコントローラ１０４、ＣＲＴ１０５、キーボード１０６、マウス１０７、ディスク１０８、バス１０９によって構成される。なお、以下の実施の形態に係る画像処理装置も同様のハードウエア構成を有するものを用いる。
【００３３】
図２に本実施の形態に係る画像処理装置のブロック図を示す。この画像処理装置は画素データ格納部２０１、画素データ読みだし部２０２、画素データ修正部２０３、拡散誤差算出部２０４、画素データ変換部２０５、比較部２０６、選択確率計算部２０７、条件判断部２０８、領域指定部２０９、データ変換修正部２１０Ａと乱数発生部２１０Ｂよりなるデータ変換修正部２１０、誤差計算部２１１により構成される。
【００３４】
画素データ格納部２０１、画素データ読みだし部２０２、画素データ修正部２０３、拡散誤差算出部２０４、誤差計算部２１１は図２０に示す画像処理装置と同様なので説明を省略する。
画素データ変換部２０５は、画素データ修正部２０３により修正された画素データの階調値ｚ’を所定の２以上の関数に基づき変換し、変換候補データとして各関数ごとに出力する。ここでは、２５６階調の画素データを２階調に変換するものとし、関数として前記図２２に示すｇ（Ｉ）とｆ（Ｉ）を用いることとする。
【００３５】
比較部２０６は、画素データ変換部２０５により出力される２つの変換値の差および画素データ出力部からの出力される画素データの階調値と上記２つの変換値の内の小さい方の値との差をとり、選択確率計算部２０７は以下の式により変換値の選択確率Δｚを計算する。
【００３６】
【数５】
0003779406.tif 000006
【００３７】
なお、このΔｚは変換値ｇ（ｚ’）の選択確率を表している。
領域指定部２０９は、画像処理装置の使用者によって予め定められる処理対象画像中の領域を指定する部分であり、ここでは図３に示す処理対象画像（ａ）の文字等、線が消えては問題がある部分を含む矩形の領域を、当該矩形の左上と右下の座標値（ｘ０、ｙ０）（ｘ１、ｙ１）によって指定するものとし、領域指定部２０９には、図３の（ｂ）に示すように、この対角の座標が格納されているものとする。なお、領域指定部２０９における領域の指定はオペレータ等の操作、もしくは外部記憶媒体等により、外部から領域を指定するデータを供給するようにしてもよい。
【００３８】
条件判断部２０８は、変換対象の画素データが所定の条件を満たすか否かを判断する。ここでは所定の条件として領域指定部２０９に格納された領域内に変換対象となっている画素データが含まれているか否かという条件を判断する。なお、条件判断部２０８では上記条件を満たしていないと判断したときは、上記Δｚの値が０．５より大きいときにはΔｚの値を「１．０」に置き換え、Δｚの値が０．５以下の場合はΔｚの値を「０」に置き換える。
【００３９】
データ変換修正部２１０は所定の条件を満たすと判断された場合には、前記画素データ変換部２０５による変換に確率過程による修正を加える部分であり、変換データ選択部２１０Ａと、乱数発生部２１０Ｂよりなる。乱数発生部２１０Ｂは乱数ｒ、詳しくいうと、ここでは［０、１）の一様乱数を発生する。なお、一様乱数の算術的な発生方法については、本発明の本質とは関係ないので、ここでは割愛する。そして、変換データ選択部２１０Ａは前記条件判断部２０８で条件を満たすと判断された場合には、乱数発生部２１０Ｂで発生した乱数に基づき前記２つの変換候補データの中から１つの変換候補データを変換データとして選択して出力し、前記条件判断部２０８で所定の条件を満たさないと判断された場合には、前記２つ変換候補データの中から修正された画素データの階調値により近い階調値をもつ変換候補データを変換データとして選択して出力する。
【００４０】
具体的には、変換データ選択部２１０Ａは乱数発生部２１０Ｂで発生した乱数値ｒと上記変換値ｇ（ｚ’）の選択確率Δｚを比較して、Δｚの値の方が大きければｇ（ｚ’）が変換データとして出力され、Δｚの値の方が小さければｆ（ｚ’）が変換データとして出力する。
つまり、条件判断部２０８で条件を満たすと判断された場合は、ｇ（ｚ’）は選択確率Δｚで選択され、ｆ（ｚ’）は選択確率１−Δｚで選択されることになる。
【００４１】
一方、条件判断部２０８で条件を満たさないと判断された場合は、Δｚの値が０．５より大きいとき、つまり、画素データ修正部２０３の出力値に変換値ｇ（ｚ’）の方がより近いときには、Δｚは「１．０」となっているので、全ての乱数ｒより大きくなるため、必ず画素データ修正部２０３の出力値に近い変換値ｇ（ｚ’）が変換値として出力される。反対に、変換値ｆ（ｚ’）の方が画素データ修正部２０３の出力値により近く、Δｚの値が０．５より小さくなるときには、Δｚは「０」となっているので、全ての乱数ｒより小さくなるため、必ず画素データ修正部２０３の出力値に近い変換値ｆ（ｚ’）が変換値として出力されることとなる。
【００４２】
以上のような構成を有する画像処理装置の動作を以下に説明する。
この画像処理装置の動作は図２０に示す画像処理装置の動作とほぼ同様であり、図２３に示すフローチャートと同様の動作によって、画素データを走査して変換していく。図４、５に、本実施の形態の画像処理装置の、図２３に示すフローチャートのｓ２３０４、ｓ２３０７に対応する動作を表すフローチャートを示す。図４、５のフローチャートにおいて、図２４、２５のフローチャートと異なるのは、条件判断部２０８およびデータ変換修正部２１０が行う、乱数を利用して２つの変換値を選択するステップ（ｓ４０７）である。図6は図４のｓ４０７および図５のｓ５０７の部分の詳細をフローチャートで表したものである。

【００４３】
図４、図５に示すフローチャートは要部は同様なので、図４に示すフローチャートに基づいて本画像処理装置の動作を説明する。図４に示すフローチャートはｘ軸の正の方向に走査する場合を示している。最初に、最初の走査位置としてｘ軸の座標値を０とし（ｓ４０１）、画像の幅分だけ以下の処理を行う（ｓ４０２、ｓ４１０）。まず、画素データ読み出し部２０２は画素データ格納部２０１に格納された二次元配列の画素データを読み出し、画素データ修正部２０３に伝達し、画素データ修正部２０３は座標（ｘ、ｙ）での画素データの輝度Ｉ（ｘ、ｙ）を変数ｚに代入する（ｓ４０３）。一方、拡散誤差算出部２０４は誤差計算部２１１により算出された誤差変換値から式（２）を用いて拡散誤差Ｅを算出し画素データ修正部に出力する（ｓ４０４）。それから、画素データ修正部２０３は変数ｚに拡散誤差Ｅを加えることによって、変数ｚに代入されている画素データの輝度Ｉ（ｘ、ｙ）の修正値ｚ’を算出する（ｓ４０５）。
【００４４】
画素データ変換部２０５は図３に示す変換関数をもちいて、ｆ（ｚ’）、ｇ（ｚ’）を変換候補データとして算出し、信号線ａ１、ａ２を通してデータ変換修正部２１０へ出力する（ｓ４０６）。データ変換修正部２１０は乱数を利用してｆ（ｚ’）とｇ（ｚ’）のいずれかを選択する（ｓ４０７）。なお、ｓ４０７の動作については後にさらに詳述する。そして、データ変換修正部２１０はｓ４０７によって選択した変換候補データを変換値ｚｃとして端子Ｔより出力する（ｓ４０８）。最後に、誤差計算部２１１は変換値ｚｃと画素データ修正部２０３より出力される画素データの修正値ｚ’との差をとり変換誤差ｅ（ｘ、ｙ）として算出する。
【００４５】
ｓ４０７の動作を図６を用いてさらに詳述する。図６は図４のｓ４０７および図５のｓ５０７の動作を示すフローチャートである。まず、比較部２０６が画素データ変換部２０５によって算出される変換候補データｆ（ｚ’）とｇ（ｚ’）および画素データ修正部２０３から出力される画素データの修正値ｚ’とから、”ｚ’−ｆ（ｚ’）””ｇ（ｚ’）−ｆ（ｚ’）”をとり、選択確率計算部２０７は式（５）より選択確率Δｚを算出する（ｓ６０１）。次に、領域指定部２０９は変換対象の画素データが領域指定部２０９で指定された領域、ここでは図３（ａ）（ｂ）に示す領域に含まれるという条件を、条件判断部２０８が判断する（ｓ６０２）。ここで、条件判断部２０８により条件を満たすと判断された場合は、データ変換修正部２１０の変換データ選択部２１０Ａは乱数発生部２１０Ｂが発生させた一様乱数ｒと前記選択確率Δｚの大小を比較し、選択確率Δｚが乱数ｒ以下であれば、変換値ｚｃとしてｆ（ｚ’）を端子Ｔに出力し、選択確率Δｚの方が乱数ｒよりも大きければ、変換値ｚｃとしてｇ（ｚ’）を端子Ｔに出力する（ｓ６０４〜ｓ６０６）。一方、ｓ６０２で条件判断部２０８によって条件を満たさないと判断された場合には、前述した動作の結果、変換値候補データｆ（ｚ’）、ｇ（ｚ’）の内、修正された画素データｚ’の値に近い方の値を変換値ｚｃとして出力する（ｓ６０７）。なお、この場合は、通常の誤差拡散法を実施した場合と同様の値が得られる。
【００４６】
このような動作を行う本実施形態に係る画像処理装置および方法では、選択確率計算部２０７もしくは図６のｓ６０１による選択確率Δｚの設定方法および一様乱数の性質より、乱数が使用される場合でも階調は確率的に保存される。例えば図２７（ａ）のような対象画像が指定領域に含まれている場合において、図２７（ｃ）のように修正輝度が１５となったならば、図２２の変換関数より変換値が大きい方の変換値候補である４０となる確率は０にはならない。即ち、図６のｓ６０１において計算される式（５）および乱数は一様に発生することより、ｇ（ｚ’）（大きい方の変換値候補）＝４０が変換値となる確率はΔｚに等しく、（１５−０）／（４０−０）＝０．３７５となる。また、修正輝度が１５の点が３つ並んでいた場合に、どの点も０に変換される確率は、
【００４７】
【数６】
0003779406.tif 000007
【００４８】
であり、またどの点も４０に変換される確率は、
【００４９】
【数７】
0003779406.tif 000008
【００５０】
であり、すべて０に変換されていた従来の誤差拡散法と比べて改善されていることが確認される。また、雑音付加型誤差拡散法と比べても、条件判断部２０８、および領域指定部２０９により、乱数の使用による確率過程を付加して画素データの階調値を変換する領域と、確率過程を付加しないで画素データの階調値を変換する領域を分けることができるので、不必要な部分に乱数の効果がかからなくなり、指定していない領域における画像のざらつき感をおさえることができる。
【００５１】
以上のように本発明の第一の実施の形態による方法では、画像の全体的なざらつき感をおさえつつ、薄い線が消えてしまうという問題を改善することができる。
なお、上記画像処理装置は汎用コンピュータに上記構成および動作を実現させることできる当該コンピュータで作動するプログラムを格納することによって実現可能であり、かかるプログラムは上記コンピューターで読み出し可能なフロッピーディスク等の記録媒体に記録することができる。この点は以下の実施の形態においても同様である。
【００５２】
（実施の形態２）
以下本発明の第２の実施の形態について、図面を参照しながら説明する。
図７は本実施の形態に係る画像処理装置のブロック図である。かかる画像処理装置が実施の形態１に係る画像処理装置と異なるのは、領域指定部２０９がない点、条件判断部７０８の構成が実施の形態１に係るものと異なる点、および、これに伴い条件判断部７０８が拡散誤差算出部７０４からの出力値をも用いている点である。
【００５３】
即ち、条件判断部７０８は、変換対象の画素データに対する拡散誤差算出部７０９で算出された拡散誤差Ｅの大きさが所定の値Ｅmax 以下であるか否かを判断するように構成してある。この所定の値Ｅmax は実験等によって最適の結果が出るように定められた値であって、ここでは、Ｅmax ＝（ｇ（Ｉ）−ｆ（Ｉ））／３＝４０／３＝１３．３を用いるものとする。
【００５４】
このような構成を有する画像処理装置において、以下その動作について説明する。かかる画像処理装置の動作において、実施の形態１に係る画像処理装置の動作と異なるのは、実施の形態１の動作を示すフローチャート図４、図５における乱数を利用して変換値候補データの中から変換値を選択するステップ（ｓ４０７、ｓ５０７）の具体的動作のみである。かかる動作を表すフローチャートを図８に示す。このフローチャートを用いて具体的な動作を説明すると、まず、比較手段７０６、選択確率計算部７０７が選択確率Δｚを計算する（ｓ８０１）。つぎに、条件判断部７０８は拡散誤差算出部７０４が算出した拡散誤差Ｅの値が所定の値Ｅmax 以下か否かを判断する（ｓ８０２）。
【００５５】
後の動作は実施の形態１に係る画像処理装置と同様であり、ｓ８０２において、条件判断部７０８により条件を満たすと判断された場合は、データ変換修正部７１０の変換データ選択部７１０Ａは乱数発生部７１０Ｂが発生させた一様乱数ｒと前記選択確率Δｚの大小を比較し、選択確率Δｚが乱数ｒ以下であれば、変換値ｚｃとしてｆ（ｚ’）を端子Ｔに出力し、選択確率Δｚの方が乱数ｒよりも大きければ、変換値ｚｃとしてｇ（ｚ’）を端子Ｔに出力する（ｓ８０４〜ｓ８０６）。一方、ｓ８０２で条件判断部７０８によって条件を見たさないと判断された場合には、ｆ（ｚ’）とｇ（ｚ’）の内、修正された画素データｚ’の値に近い方を変換値ｚｃとして出力する（ｓ８０７）。
【００５６】
さて本発明の第二の実施の形態でも本発明の第一の実施の形態と同じく、選択確率の設定方法および一様乱数の性質より、乱数が使用される場合であっても階調は確率的に保存される。また、拡散誤差Ｅの値が小さな場合に乱数を用いた確率過程を付加して画素データを変換するようにしたので、変換誤差が小さく誤差拡散法による誤差の拡散が適切に働かない場合に、画素データの変換を分散させることができるので、薄い線が消えるといる問題点を改善することができる。また、拡散誤差の小さな場合のみ確率過程を付加して画素データを変換し、拡散誤差の大きな場合には確率過程を付加することがないので、変換誤差の大きなところではいわゆる雑音が付加されないので、雑音付加型誤差拡散法と比べて、画像のざらつき感をおさえることができる。また本発明の第二の実施の形態の方法では、第一の実施の形態のように、変換する画像ごとに予め領域を指定しておく必要もない。
【００５７】
以上のように本発明の第二の実施の形態による方法でも、画像の全体的なざらつき感をおさえつつ、薄い線が消えてしまうという問題を改善することができる。
（実施の形態３）
以下、本発明の第３の実施の形態について、図面を参照しながら説明する。
【００５８】
図は本実施の形態に係る画像処理装置のブロック図である。かかる画像処理装置が実施の形態１に係る画像処理装置と異なるのは、判断値算出部９１２を設けている点、領域指定部２０９がない点、条件判断部９０８の構成が実施の形態１に係るものと異なる点、および、これに伴い条件判断部９０８が拡散誤差算出部９０４の出力値をも用いている点である。
【００５９】
判断値算出部９１２は、実施の形態２におけるＥmax に当たる評価値Ｃを変換対象画素ごとに算出する部分であり、変換対象である画素データおよび、この画素データの周囲の画素データの内の少なくとも１つから所定の演算式によって当該値を算出する。具体的にここでは、図１０に示すラプラシアン行列を用いて、変換対象の画素データおよび周囲の画素データから以下の式、
【００６０】
【数８】
0003779406.tif 000009
【００６１】
および、式
【００６２】
【数９】
0003779406.tif 000010
【００６３】
より評価値Ｃを計算する。なお、ａ、ｂは実験等によって最適の結果をもたらすものとして定められる定数である。なお、ここでは後述するように画像の輪郭を抽出するためにラプラシアンを用いているが、これを二次元のパワスペクトルに基づく演算式に変更しても、同様の結果を得ることができるのは自明である。また平均値や中央値フィルタによる結果を利用しても、同等の効果が得られる。
【００６４】
また、条件判断部９０８は、変換対象の画素データに対する拡散誤差算出部９０４で算出された拡散誤差Ｅの大きさが、前記判断値算出部９１２で算出された評価値Ｃ以下であるか否かを判断するように構成してある。
このような構成を有する画像処理装置において、以下その動作について説明する。かかる画像処理装置の動作において、実施の形態１に係る画像処理装置の動作と異なるのは、実施の形態２と同様、実施の形態１の動作を示すフローチャート図４、図５における乱数を利用して変換値候補データの中から変換値を選択するステップ（ｓ４０７、ｓ５０７）の具体的動作のみである。かかる動作を表すフローチャートを図１１に示す。このフローチャートを用いて具体的な動作を説明すると、まず、比較手段９０６、選択確率計算部９０７が選択確率Δｚを計算する（ｓ１１０１）。つぎに、判断値算出部９１２が画素データ読み出し部９０２が読み出した、変換対象の画素データおよびこの画素の周囲の画素データより上記式（７）（８）より評価値Ｃを算出する（ｓ１１０２、ｓ１１０３）。それから、条件判断部９０８は拡散誤差算出部９０４が算出した拡散誤差Ｅの値が評価値Ｃ以下か否かを判断する（ｓ１１０４）。
【００６５】
後の動作は実施の形態１に係る画像処理装置と同様であり、ｓ１１０４において、条件判断部９０８により条件を満たすと判断された場合は、データ変換修正部９１０の変換データ選択部９１０Ａは乱数発生部９１０Ｂが発生させた一様乱数ｒと前記選択確率Δｚの大小を比較し、選択確率Δｚが乱数ｒ以下であれば、変換値ｚｃとしてｆ（ｚ’）を端子Ｔに出力し、選択確率Δｚの方が乱数ｒよりも大きければ、変換値ｚｃとしてｇ（ｚ’）を端子Ｔに出力する（ｓ１１０６〜ｓ１１０８）。一方、ｓ１１０４で条件判断部９０８によって条件を満たさないと判断された場合には、ｆ（ｚ’）とｇ（ｚ’）の内、修正された画素データｚ’の値に近い方を変換値ｚｃとして出力する（ｓ１１０９）。
【００６６】
本発明の第３の実施の形態でも本発明の第１および第２の実施の形態と同じく、選択確率の設定方法および一様乱数の性質より、乱数が使用される場合でも階調は確率的に保存される。また、本実施の形態では、拡散誤差がラプラシアンを元にした評価値Ｃ以下の場合に限り画素データの階調値を確率過程を付加して変換している。ラプラシアンは一種の高域強調フィルタであるので、画像に関しては、文字や線、顔の輪郭などに選択的に反応し、絶対値が大きな値を出力する。したがって、本実施の形態に係る画像処理装置では階調のなだらかな部分に関しては、評価値Ｃの値が小さくなり、結果として、ざらつきを抑制するために通常の誤差拡散法が優先され、線や文字に対しては、評価値Ｃの値が大きくなり、結果として、これを正しく変換するように確率過程が変換において付加される。従って、薄い線に関する問題点が改善されるだけでなく、変換画像のざらつきも減少させることができる。後述するように実験では雑音付加型誤差拡散法はもちろんのこと、さらに第２の実施の形態に比べても、画像のざらつき感をおさえることができた。
【００６７】
以上のように本発明の第三の実施の形態による方法でも、画像の全体的なざらつき感をおさえつつ、薄い線が消えてしまうという問題を改善することができる。
なお、実施の形態２および３では条件判断部７０８、９０８は誤差拡散係数の値の大小を判断するようにしているが、これは、誤差計算部７１１、９１１で算出される変換誤差ｅを用いることができる。即ち、変換対象の画素データの周囲における変換済みの画素の変換誤差ｅの少なくとも１つ、もしくは、これらから所定の演算式によって算出される値の大小を判断するようにしてもよい。この場合は、実施の形態２におけるＥmax の値や実施の形態３における式（８）のａ、ｂの値を適切なものに変更すれば足りる。
【００６８】
また、上記各実施例では変換値候補を２つだけとしているが、これは２つに限られず、複数の変換値候補を算出して選択するようにしてもよい。
さらに、上記各実施の形態では、データ変換修正部２１０等は一様乱数を用いているが、各変換値の各々のうち、二つ以上の変換値が０でない選択確率をもつのであるならば、ガウス乱数等、任意の分布をもつ乱数を採用することができ、また乱数発生がぞれぞれ独立である必要がないことも自明である。
【００６９】
そして、上記各実施の形態では、画素データ変換部２０５等による変換に、確率過程による修正を加えるということを、画素データの階調値変換後の２つ変換値候補を乱数を用いて選択することで実現しているが、これは、図３０に示す従来の雑音付加型の画像処理装置と同様に、画素データ変換部２０５等に入力される前の画素データに雑音を付加する等の方法で実現してもよい。この場合は、条件判断部２０８等の判断結果により、画素データ変換部２０５等に入力される前の画素データに雑音を付加するか否かが定められることになる。
【００７０】
また、上記画像処理装置はＲＧＢの各値に対して階調変換する場合にも用いることができ、色彩のある画像に対しても適用できることは言うまでもない。
次に、従来技術の画像処理装置による階調変換と本発明の各実施の形態に係る画像処理装置による階調変換の比較結果を以下に示す。
まず、モアレの発生やざらつき感の相違について比較するため、図１２に示すような、Ｉ（ｘ、ｙ） ＝ ｘ／２  で表される輝度分布をもつ、縦９０ドット、横５１２ドットの画像を、図１３に示すような変換関数を用いて二値化変換処理を行った。図１４に従来の画像処理装置によって二値化変換処理を行った結果を示し、図１５に本発明の画像処理装置によって二値化変換処理を行った結果を示す。詳しく説明すると、図１４（ａ）は、図２０に示す従来の誤差拡散法を用いた画像処理装置で変換したもの、図１４（ｂ）は図３１（ｂ）に示す重み付け係数関数を用いて、輝度に関係なく、階段関数のステップと同程度の１００％の雑音を付加するように設定された、図３０に示す従来の雑音付加型誤差拡散法を用いた画像データ処理装置で変換したもの、図１４（ｃ）は図３１（ｃ）に示す重み付け係数関数を用いて、輝度に関係なく、階段関数のステップ比で１０％の雑音を付加するように設定された、図３０に示す従来の雑音付加型誤差拡散法を用いた画像変換装置で変換したものである。一方、図１５（ａ）は実施の形態１に係る画像処理装置により変換したものであり、図１５（ｂ）は実施の形態２に係る画像処理装置により変換したものであり、図１５（ｃ）は実施の形態３に係る画像処理装置により変換したものである。なお、図１５（ａ）では、矩形の下辺側のｉｊｋｌで囲まれた矩形領域が領域指定部２０９により指定される指定領域である。また、図１５（ｂ）ではＥmax の値は（ｇ（Ｉ）−ｆ（Ｉ））／３＝８５としてあり、図１５（ｃ）ではａの値は０．５、ｂの値は２０としてある。
【００７１】
図１４を観察すると、図１４（ａ）ではモアレが目立ち、図１４（ｂ）ではざらつきが目立つ。図１４（ｃ）がこの中では比較的良好であるが、やはり、モアレが認められる。
さらに、図１５を観察すると、図１５（ａ）では、領域指定部２０９により指定される矩形領域ｉｊｋｌの部分で、表示されているパターンが変化しており、矩形領域ｉｊｋｌ内ではモアレがなくなっていることが確認できる。図１５（ｂ）では、条件判断部７０８およびデータ変換修正部７１０の効果により、原理的には同程度の雑音がかかっている図１４（ｂ）の結果に比較して、ざらつき感が減少していることが確認でき、また、モアレの生成も抑えられている。さらに、図１５（ｃ）では、判断値算出部９１２、条件判断部９０８、データ変換修正部９１０の効果により、原理的には同程度の雑音がかかっている図１４（ｂ）とはもちろんのこと、図１５（ｂ）に比較してもさらにざらつき感が減少し、図２７（ｃ）の結果に近くなっている。そして、モアレの生成は図１４（ｃ）よりもさらに抑えられていることがわかる。
【００７２】
次に、薄い線分が消える度合を比較するために、図１６に示すように、ｘ軸方向に輝度が６４の薄い直線が１６本引かれている縦横２５６ドットの画像データを、前記と同様にして二値化変換処理を行った。
図１７に従来の画像処理装置によって二値化変換処理を行った結果を示し、図１８に本発明の画像処理装置によって二値化変換処理を行った結果を示す。図１７（ａ）、図１７（ｂ）、図１７（ｃ）はそれぞれ図１４（ａ）、図１４（ｂ）、図１４（ｃ）で用いた画像データ処理装置で変換したものを示し、図１８（ａ）、図１８（ｂ）、図１８（ｃ）はそれぞれ、実施の形態１、２、３に係る画像処理装置により変換したものである。なお、図１８（ａ）では、中央のｉｊｋｌで囲まれた矩形領域が領域指定部２０９により指定される指定領域である。
【００７３】
図１７を観察すると、１００％の雑音を付加した図１７（ｂ）を除いて、図１７（ａ）も図１７（ｃ）も線が消えて１６本の線が８本になってしまっている。
一方、図１８を観察すると、図１８（ａ）では指定領域である矩形領域ｉｊｋｌ内部では、乱数による選択操作が行われた結果、線が消えることなく正しく表示されていることが確認できる。図１８（ｂ）および図１８（ｃ）では、線が消えることなく正しく表示され、１６本の線がすべて確認できる。
【００７４】
最後に、線が表示されないことによる表示階調の影響を確認するために、図１９（ａ）に示すような階調値が上方から下方に向かって小さな値から徐々に大きな値となるような原画像を上記と同様にして二値化変換処理を行った。図１９（ｂ）が図１４（ｃ）および図１７（ｃ）と同じ１０％の雑音を付加するように設定された、従来の雑音付加型誤差拡散法による画像処理装置で変換したものであり、図１９（ｃ）は本発明の実施の形態３に係る画像処理装置により変換したものである。図１９（ｂ）、図１９（ｃ）をそれぞれ観察すると、原画像では階調が１５から２５５の水平線が順に描画されているが、図１９（ｂ）では変換像の輝度６３の線と輝度７９の線の階調が逆転している。これは輝度１５から４８の線が描画されないことで蓄積された変換誤差が輝度６３の線の輝度値を異常に高くするように作用したした結果として生じたものである。一方図１９（ｃ）の本発明の第三の実施の形態ではこのような階調の逆転現象は起きず、それぞれの輝度が正しく再現されていることが確認できる。
【００７８】
【発明の効果】
以上説明したように、本発明は、画素データ読み出し手段と、画素データ変換手段と、条件判断手段と、乱数発生手段と、変換データ選択手段と、誤差計算手段と、拡散誤差計算手段と、画素データ修正手段よりなる画像処理装置であって、画素データ読み出し手段は、画素データを読み出し、拡散誤差計算手段は、誤差計算手段が算出した変換誤差から所定の演算式に基づいて拡散誤差を算出し、画素データ修正手段は、算出された拡散誤差を付加することによって、画素データ読み出し手段が読み出す変換対象の画素データの階調値を修正し、画素データ変換手段は、修正された画素データの階調値を所定の２以上の関数に基づき変換し、変換候補データとして各関数ごとに出力し、条件判断手段は、変換対象の画素データが所定の条件を満たすか否かを判断し、乱数発生手段は乱数を発生させ、変換データ選択手段は、前記条件判断手段で所定の条件を満たすと判断された場合には、前記乱数発生手段で発生した乱数に基づき前記変換候補データの中から１つの変換候補データを変換データとして選択して出力し、前記条件判断手段で所定の条件を満たさないと判断された場合には、前記変換候補データの中から修正された画素データの階調値により近い階調値をもつ変換候補データを変換データとして選択して出力し、誤差計算手段は、変換データ選択手段より出力された変換データの階調値と、画素データ修正手段によって修正された画素データの階調値との変換誤差を計算して出力する。
【００７９】
このような動作によって、条件判断手段が判断する、変換対象の画素データに関する条件に応じて、画素データ変換候補が出力した２以上の変換候補データから、乱数によって変換データを選択するか、変換前の修正された画素データの階調値により近い階調値をもつ変換データを選択するか２通りの動作を行わせることができるので、条件の設定によって、モアレの発生や線の消滅を防ぐべき画素に対しては乱数によって変換データを選択するようにすることで、これらの不都合を防止することができ、それ以外の画素に対しては、通常の誤差拡散法による階調値の変換がなされることになるのでざらつき感を抑えることができる。また、上記のような構成とすることにより、雑音を付加することで確率過程による修正を加える装置に比較して、雑音を発生させる部分をなくすことができるので、構成を簡単にすることができる。
【００８０】
そして、上記画像処理装置において、さらに処理対象画像中の領域を指定する領域指定手段を設け、前記条件判断手段が判断する条件が変換対象の画素データが前記領域指定手段で指定した領域内に含まれるという条件であるようにすれば、確率過程による修正を加える変換を行う画素データを、対象画像の任意の領域を設定することで指定することができるので、画像の中の薄い文字等だけ確率過程による修正の効果を及ぼすことで当該文字が消えることを防ぐことができ、一方で画像の全体的なざらつき感をおさえることも可能となる。
【００８１】
さらに、上記条件判断手段が判断する条件が、前記拡散誤差算出手段で算出した拡散誤差が所定の値以下であるという条件としたり、条件判断手段が判断する条件が、前記拡散誤差算出手段で算出した拡散誤差が所定の値以下であるという条件とすれば、変換対象である画素近傍の変換誤差が小さく、誤差拡散法による効果が得られ難い部分については、変換に確率過程による修正を加えることによって、誤差の拡散を適切に行わせることができ、また、変換誤差が大きく誤差拡散法による効果が適切に得られる部分に関しては、確率過程による修正を加えないのでざらつき感を抑えることができるようになる。
【００８２】
さらに上記の所定の値を変換対象の画素データおよび当該画素データの周囲の画素データの内の少なくとも１つから所定の演算式によって算出する判断値算出手段を設けることによって、変換する画素データおよび周囲の状況に応じて変換誤差や拡散誤差に対する閾値を変えることができるようになるので、例えば階調の変化率の大きな部分については閾値を大きくするような演算式を用いることによって、線の存在する所等では階調の変化率が大きくなるので閾値が大きくなり、結果として、このような部分では変換に確率過程による修正が加えられ、線分が消えることを防ぐことが可能となる一方、階調変化率の小さなところでは閾値が小さくなり確率過程による修正は加えられないので、ざらつき感が抑えられることになる。
【００８３】
また、本願発明に係る画像処理方法では、画素データ呼び出しステップが画素データを呼び出し、条件判断ステップが呼び出した画素データが所定の条件を満たすか否かを判断する。そして、確率データ変換ステップでは画素データが所定の条件を満たすと判断された場合には、当該画素データの階調を確率過程による修正を加えて変換し、非確率データ変換ステップでは画素データが所定の条件を満たさないと判断された場合には、当該画素データの階調を確率過程による修正を加えずに変換する。
【００８４】
このような動作により、条件判断ステップで判断する条件に応じて、変換する画素データに確率過程による修正を加えたり、加えなかったりすることができるので、条件の設定により、確率過程による変換の修正によってモアレの発生や線の消滅を防ぐことができ、また、必要でない部分には確率過程による変換の修正を加えないことで画像全体としてざらつき感を抑えることができる。
【００８５】
また、上記確率データ変換ステップおよび非確率データ変換ステップで、誤差拡散法を用いて画素データの階調を変更するようにすれば、変換精度を向上させることができる。
さらに、上記条件判断ステップが判断する所定の条件を、前記画素データが予め定められた画像領域に存するという条件とすると、確率過程を用いて変換すべき画像領域をそうでない画像領域を定めることで、モアレや線の消去を防ぐとともに、画像全体のざらつき感を抑えることができる。
【００８６】
それから、上記画像処理装置において、さらに前記画素データ呼び出しステップで呼び出した画素データの階調値もしくはこれに準じる値と、前記確率データ変換ステップまたは非確率データ変換ステップによる変換後の画素データの階調値を変換誤差として計算する変換誤差算出ステップを設け、前記条件判断ステップが判断する所定の条件を、前記変換誤差算出ステップで算出した変換誤差が所定の値以下であるという条件とすると、変換対象である画素近傍の変換誤差の大小に応じて、適切にモアレや線の消滅、ざらつき感の発生を防ぐことができる。
【００８７】
また、上記条件判断ステップが判断する所定の条件を、前記誤差拡散法における拡散誤差の値が所定の値以下であるという条件にすると、誤差拡散法の効果の現れ難い拡散誤差の小さな画素データに対する変換に確率過程による修正を加え、誤差拡散法が適切に作用する拡散誤差の大きな画素データの変換に関しては通常の誤差拡散法による変換を行うので、誤差拡散法や単なる雑音付加型誤差拡散法に比較して優れた階調値変換が可能となる。
【００８８】
そして、上記所定の値を、変換対象たる前記画素データおよび当該画素データの周囲の画素データの少なくとも１つから所定の演算により算出された値であるとすると、変換対象の周囲の画素データの状態に応じて、変換誤差や拡散誤差に対する閾値を変更していくことができるのでよりきめの細かい階調変換の修正が可能となる。
【図面の簡単な説明】
【図１】実施の形態に係る画像処理装置のハードウエア構成を示す図である。
【図２】実施の形態１に係る画像処理装置の構成を示すブロック図である。
【図３】（ａ）は実施の形態１におけるの領域指定部で指定する画像領域を指定する図であり、（ｂ）は領域指定部に格納されるデータを示す図である。
【図４】実施の形態に係る画像処理装置のｘの正方向に変換処理をする動作を示すフローチャートである。
【図５】実施の形態に係る画像処理装置のｘの負方向に変換処理をする動作を示すフローチャートである。
【図６】実施の形態１に係る画像処理装置の変換候補の選択処理を示すフローチャートである。
【図７】実施の形態２に係る画像処理装置の構成を示すブロック図である。
【図８】実施の形態２に係る画像処理装置の変換候補の選択処理を示すフローチャートである。
【図９】実施の形態３に係る画像処理装置の構成を示すブロック図である。
【図１０】二次元のラプラシアン行列を表す図である。
【図１１】実施の形態３に係る画像処理装置の変換候補の選択処理を示すフローチャートである。
【図１２】図１４および図１５の変換結果に対する原画像の輝度分布を示す図である。
【図１３】実施の形態のおける実験で使用した２値変換用の階段関数を示す図である。
【図１４】従来の画像処理装置で図１２に示す輝度分布を持つ原画像を変換した結果を示す図であって、（ａ）は従来の誤差拡散法を用いた画像処理装置で変換した結果を示す図であり、（ｂ）は１０％の雑音を付加した、従来の雑音付加型の誤差拡散法を用いた画像処理装置で変換した結果を示す図であり、（ｃ）は１００％の雑音を付加した、従来の雑音付加型の誤差拡散法を用いた画像処理装置で変換した結果を示す図である。
【図１５】各実施の形態に係る画像処理装置で図１２に示す輝度分布を持つ原画像を変換した結果を示す図であって、（ａ）は実施の形態１に係る画像処理装置で変換した結果を示す図であり、（ｂ）は実施の形態２に係る画像処理装置で画像を変換した結果を示す図であり、（ｃ）は実施の形態３に係る画像処理装置で変換した結果を示す図である。
【図１６】図１７および図１８の変換結果に対する原画像の輝度分布を示す図である。
【図１７】従来の画像処理装置で図１６に示す輝度分布を持つ原画像を変換した結果を示す図であって、（ａ）は従来の誤差拡散法を用いた画像処理装置で変換した結果を示す図であり、（ｂ）は１０％の雑音を付加した、従来の雑音付加型の誤差拡散法を用いた画像処理装置で変換した結果を示す図であり、（ｃ）は１００％の雑音を付加した、従来の雑音付加型の誤差拡散法を用いた画像処理装置で変換した結果を示す図である。
【図１８】各実施の形態に係る画像処理装置で図１６に示す輝度分布を持つ原画像を変換した結果を示す図であって、（ａ）は実施の形態１に係る画像処理装置で変換した結果を示す図であり、（ｂ）は実施の形態２に係る画像処理装置で画像を変換した結果を示す図であり、（ｃ）は実施の形態３に係る画像処理装置で変換した結果を示す図である。
【図１９】（ａ）は輝度が異なる水平線を含む原画像の輝度分布を示す図であり、（ｂ）は１０の雑音を付加した、従来の雑音付加型の誤差拡散法を用いた画像処理装置で（ａ）に示す輝度分布を持つ原画像を変換したものである。（ｃ）は本発明の第三の実施の形態に係る画像処理装置で（ａ）に示す輝度分布を持つ原画像を変換したものである。
【図２０】従来の誤差拡散法を用いた画像処理装置の構成を示すブロック図である。
【図２１】誤差拡散法に用いる拡散係数および拡散係数による処理の一例を示す説明図である。
【図２２】減色変換用の階段関数を表す図である。
【図２３】一般的な誤差拡散法の処理方向を示すフローチャートである。
【図２４】従来の誤差拡散法を用いた画像処理装置のｘの正方向に変換処理をする動作を示すフローチャートである。
【図２５】従来の誤差拡散法を用いた画像処理装置のｘの負方向に変換処理をする動作を示すフローチャートである。
【図２６】誤差拡散法の処理の詳細を示す、説明図であって、（ａ）は変換処理の処理方向を表す図であり、（ｂ）は使用する拡散係数を表す図であり、（ｃ）は原画像の輝度を表す図であり、（ｄ）は変換位置までの処理における、変換誤差を表した図であり、（ｅ）は原画像の輝度が修正された状態を表した図であり、（ｆ）は変換画像の輝度を表した図であり、（ｇ）は変換処理の結果、更新された変換誤差を表した図である。
【図２７】誤差拡散法の処理において変換方向の線分が消える過程を示す説明図であって、（ａ）は原画像の輝度を表す図であり、（ｂ）は変換位置までの処理における、変換誤差を表した図であり、（ｃ）は原画像の輝度が修正された状態を表した図であり、（ｄ）は変換画像の輝度を表した図であり、（ｅ）は変換処理の結果、更新された変換誤差を表した図であり、（ｆ）は（ｅ）の変換誤差により、原画像の輝度が修正された状態を表した図であり、（ｇ）は（ｆ）で変更された輝度により変換された、変換画像の輝度を表した図であり、（ｈ）は二回目の変換処理により、更新された変換誤差を表した図であり、（ｉ）は（ｆ）、（ｇ）、（ｈ）が繰り返された結果、変換された変換画像の輝度を表す図であり、（ｊ）は（ｉ）と同様に、（ｆ）、（ｇ）、（ｈ）が繰り返された結果、更新された変換誤差誤を表した図である。
【図２８】  Floyd型の拡散係数を示す図である。
【図２９】  Floyd型の拡散係数で誤差拡散法の処理を行った場合に変換方向の線分が消える過程を示す説明図であって、（ａ）は原画像の輝度を表す図であり、（ｂ）は変換位置までの処理における、変換誤差を表した図であり、（ｃ）は原画像の輝度が修正された状態を表した図であり、（ｄ）は変換画像の輝度を表した図であり、（ｅ）は変換処理の結果、更新された変換誤差を表した図である。
【図３０】従来の雑音付加型の誤差拡散法を用いた画像処理装置の構成を示すブロック図である。
【図３１】従来の雑音付加型の誤差拡散法による画像処理装置に使用される重み係数関数の例を表す図であって、（ａ）は中輝度で１００％の雑音を付加する重み係数関数を示す図であり、（ｂ）は輝度にかかわりなく１００％の雑音を付加する重み係数関数を示す図であり、（ｃ）は輝度にかかわりなく１０％の雑音を付加する重み係数関数を示す図である。
【図３２】従来の雑音付加型の誤差拡散法を用いた画像処理装置のｘの正方向に変換処理をする動作を示すフローチャートである。
【図３３】従来の誤差拡散法を用いた画像処理装置のｘの負方向に変換処理をする動作を示すフローチャートである。
【符号の説明】
１０１  ＣＰＵ
１０２  メインメモリ
１０３  Ｉ／Ｏコントローラ
１０４  ディスプレイコントローラ
１０５  ＣＲＴ
１０６  キーボード
１０７  マウス
１０８  ディスク
１０９  バス
２０１、７０１、９０１      画素データ格納部
２０２、７０２、９０２      画素データ読み出し部
２０３、７０３、９０３      画素データ修正部
２０４、７０４、９０４      拡散誤差算出部
２０５、７０５、９０５      画素データ変換部
２０６、７０６、９０６      比較部
２０７、７０７、９０７      選択確率計算部
２０８、７０８、９０８      条件判断部
２０９                      領域指定部
２１０、７１０、９１０      データ変換修正部
２１０Ａ、７１０Ａ、９１０Ａ  変換データ選択部
２１０Ｂ、７１０Ｂ、９１０Ｂ  乱数発生部
２１１、７１１、９１１      誤差計算部
９１２                      判断値算出部
【図１】
0003779406.tif 000011
【図２】
0003779406.tif 000012
【図３】
0003779406.tif 000013
【図４】
0003779406.tif 000014
【図５】
0003779406.tif 000015
【図６】
0003779406.tif 000016
【図７】
0003779406.tif 000017
【図８】
0003779406.tif 000018
【図９】
0003779406.tif 000019
【図１０】
0003779406.tif 000020
【図１１】
0003779406.tif 000021
【図１２】
0003779406.tif 000022
【図１３】
0003779406.tif 000023
【図１４】
0003779406.tif 000024
【図１５】
0003779406.tif 000025
【図１６】
0003779406.tif 000026
【図１７】
0003779406.tif 000027
【図１８】
0003779406.tif 000028
【図１９】
0003779406.tif 000029
【図２０】
0003779406.tif 000030
【図２１】
0003779406.tif 000031
【図２２】
0003779406.tif 000032
【図２３】
0003779406.tif 000033
【図２４】
0003779406.tif 000034
【図２５】
0003779406.tif 000035
【図２６】
0003779406.tif 000036
【図２７】
0003779406.tif 000037
【図２８】
0003779406.tif 000038
【図２９】
0003779406.tif 000039
【図３０】
0003779406.tif 000040
【図３１】
0003779406.tif 000041
【図３２】
0003779406.tif 000042
【図３３】
0003779406.tif 000043