(57)【特許請求の範囲】
【請求項１】
入力された画像データの所定ラインごとにその所定ラインを構成する画素が線画のエッジ部を構成する画素か否かを判断し、エッジを構成する画素でない場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をもとに処理中の画素の輝度値を演算により求め、この求められた輝度値により、それ以前に処理された輝度値を更新し、エッジを構成する画素である場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をそのまま保持する処理を、所定ラインづつその所定ラインを構成する画素ごとに繰り返して行うことで、線画におけるエッジ部分の輝度の影響を除去した各画素ごとの輝度値を所定ライン単位で求める背景予測処理を行ったのち、
この背景予測処理において得られた所定ラインにおける各画素ごとの輝度値が、所望とする輝度値以下であると判定された場合に、その輝度値を有する画素を含む所定の探索範囲を設定し、その探索範囲内における隣接画素との輝度変化を各画素ごとに調べ、探索範囲内において輝度変化の少ない画素が予め設定した数以上である場合には、その輝度変化の少ない画素の輝度値を基にして輝度値を決定し、探索範囲内において輝度変化の少ない画素が予め設定した数より少ない場合には、探索範囲全体の画素の輝度値をもとにして輝度値を決定して、この決定された値により背景予測結果の修正処理を行い、
さらに、この背景予測結果の修正処理により修正された結果と、所望とする値として設定された輝度値とを比較して、その差分を求め、求められた差分を前記入力された画像データの対応する画素位置の輝度値に対して加減することにより、所望の輝度値となるような背景補正を行うことを特徴とする画像処理方法。
【請求項２】
前記処理されたライン上の対応する画素位置の画素の輝度値をもとに処理対象画素の輝度値を演算により求める処理は、それ以前に処理されたライン上の対応する画素位置の輝度値と、処理中の画素の輝度値との平均をとる処理であることを特徴とする請求項１記載の画像処理方法。
【請求項３】
入力された画像データの所定ライン分のデータを保持する画像データ用ラインメモリと、
この画像データ用ラインメモリに保持された画像データの所定ラインごとにその所定ラインを構成する画素が線画のエッジ部を構成する画素か否かを判断し、エッジを構成する画素でない場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をもとに、処理中の画素の輝度値を演算により求め、この求められた輝度値により、それ以前に処理された輝度値を更新し、エッジを構成する画素である場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をそのまま保持する処理を、所定ラインづつその所定ラインを構成する画素ごとに繰り返して行うことで、線画におけるエッジ部分の輝度の影響を除去した処理対象ラインにおける各画素ごとの輝度値をライン単位で求める背景予測手段と、
この背景予測手段で得られた処理対象ラインにおける各画素ごとの輝度値を保持する背景予測用ラインメモリと、
前記背景予測処理において得られた背景予測用ラインメモリの内容をもとに、処理対象ラインにおいて、各画素位置対応の輝度値が、所望とする輝度値以下であると判定された場合に、その輝度値を有する画素を含む所定範囲の探索範囲を設定し、その探索範囲内における隣接画素との輝度変化を各画素ごとに調べ、探索範囲内において輝度変化の少ない画素が予め設定した数以上である場合には、その輝度変化の少ない画素の輝度値を基にして輝度値を決定し、探索範囲内において輝度変化の少ない画素が予め設定した数より少ない場合には、探索範囲全体の画素の輝度値を基にして輝度値を決定し、前記背景予測用ラインメモリの対応する画素位置の内容を前記決定された内容に更新して背景予測結果の修正を行う背景予測修正手段と、
前記背景予測結果修正手段により修正された結果と、所望とする値として設定された輝度値とを比較してその差分を求め、求められた差分を前記画像データ用ラインメモリの対応する画素位置の輝度値に対して加減することにより所望とする輝度値に輝度補正する背景補正手段と、
を有することを特徴とする画像処理装置。
【請求項４】
前記処理されたライン上の対応する画素位置の画素の輝度値をもとに処理対象画素の輝度値を演算により求める処理は、それ以前に処理されたライン上の対応する画素位置の輝度値と現在処理している画素の輝度値の平均をとる処理であることを特徴とする請求項３記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、映像および画像関連機器における画像処理技術に関するもので、ＣＣＤカメラなどのシェーディング（照明むらによる輝度差）が生じるセンサで撮られた画像のシェーディングを補正するのに適した画像処理方法および画像処理装置に関する。
【０００２】
【従来の技術】
ＣＣＤカメラなどのエリアセンサで撮られた画像は、シェーディングによる影響により、ディジタル処理後の画像に暗い影が生じる場合がある。特に、画像の端部に近い部分（画像の周辺部という）にシェーディングの影響が現れやすい。さらに、風景などの自然画を取り込んだ場合に比べ、均一な背景色の中に文字や図形などの線画が存在する画像を取り込んだ場合に、シェーディングの影響が画像に顕著に現れ、見た目によくない画像となる場合が多い。
【０００３】
ところで、最近では、手書き入力情報だけでなくＣＣＤカメラを内蔵して画像の取り込みをも可能にした小型携帯情報処理機器が実用化されてきている。この小型携帯情報処理機器は、取り込んだ情報を取り込みと同時に表示したり、すでに取り込まれている情報を読み出して表示するための表示部が設けられている。このような小型携帯機器の表示部としては、電池の寿命を考慮して反射形の液晶表示装置（ＬＣＤという）が用いられることが多い。
【０００４】
このＬＣＤは、一般に、表示階調数が少なく、たとえば４階調程度である場合が多い。これに対して、ＣＣＤ撮像素子を用いたＣＣＤカメラは、２５６階調というように高い階調数を持っている。したがって、ＣＣＤカメラで取り込んだ画像をＬＣＤに表示する場合は、階調数を減らす必要がある。
【０００５】
この階調を減らす処理を行う際、前記したようなシェーディングの影響を受けて周辺が暗くなった画像を、たとえば、４値化処理すると、処理後の画像は、周辺部の暗い部分が黒いつぶれとなって現れる場合もある。
【０００６】
そこで、シェーディングの影響を受けた画像に対して、そのシェーディングの影響を補正する必要が生じてくる。
【０００７】
従来のシェーディング補正の方法として、シェーディングの影響を受けた１画面分の画像データを取り込んだのち、似たような明るさになるように画面を幾つかの領域に分割して、全体が滑らかな明るさの変化となるような処理を行うものがある（信学技報、ＩＥ９６−２１，１９９６−０９、「ＣＣＤカメラで取り込んだ画像の２値化に関する研究」）。
【０００８】
【発明が解決しようとする課題】
この従来技術は、シェーディング補正を行う際、１画面分の画像データを取り込んで幾つかの領域に分割する処理を行うため、ワークメモリとして、少なくとも１画面分の画像データを蓄えるための大きな容量を持ったメモリが必要となる。
【０００９】
しかし、ＣＣＤカメラは一般に小型の機器に使用される場合が多い。特に、電子手帳のような携帯用の情報処理機器に、今後、さらに使用されることが多くなると思われる。この種の機器にあっては、小型、軽量化は勿論、低コスト化も要求され、使用する部品にも大きな制約がある。したがって、ワークメモリなどもなるべく小容量のものを使用することが望ましい。
【００１０】
また、ＣＣＤカメラで撮影される被写体は、線画のみではなく、風景などの自然画もその対象となる。そして、これらの画像を前記したように、階調数の少ない表示部で表示する場合には、階調数を少なくする処理（たとえば、２５６階調を４階調とする処理）を行う必要がある。
【００１１】
この階調数を少なくする処理としては、「大津の方法」（電気通信学会論文誌、'84/4,vol.J63-D  No.4 349頁）や誤差拡散法、ディザ法などを適用することで対応できる。
【００１２】
前記した「大津の方法」は、２値化するためのしきい値を設定するには適した技術である。これを利用して、たとえば、４値化する場合には、まず、２値化のためのしきい値を決定する処理を行ったのち、そのしきい値により分割されたそれぞれの領域に対して同様にそれぞれしきい値を求めるという処理を行う。この方法は、ｎ値化を行うための演残量は多いが、線画などエッジを明瞭に保存する必要のある画像に対しては有効な方法である。
【００１３】
一方、誤差拡散法やディザ法は、面積的に階調を出そうとするものであるため、エッジが保存されにくい欠点がある。このため、明るい背景の中に文字や図形などの線画が存在するような画像を取り込んで、階調変換処理するような場合は、その有意情報である線画のエッジ部分が不明瞭なものとなりやすく、見た目によい画像が得られないという問題がある。
【００１４】
このように、文字や図形などの線画に対しては、大津の方法などによる固定的なしきい値を用いた２値化処理が適し、自然画に対しては面積的に階調を出そうとする誤差拡散法やディザ法階調が適している。したがって、階調を減らすためには、線画か自然画かに応じて、階調処理方法を選択して階調処理を施すことが望ましい。
【００１５】
そこで本発明は、まず、シェーディングの影響が顕著に現れやすい文字や図形などの線画に対して、所定ライン単位でシェーディングの影響を除去することで、ワークメモリの小容量化を図ることを目的とし、装置全体の小型軽量化を図り、低コスト化をも可能とすることを１つの目的としている。
【００１６】
また、このシェーディング補正と、ｎ−１個のしきい値によるｎ値化処理とを組み合わせることにより、ＣＣＤカメラなどのエリアセンサで撮られたシェーディングのある画像に対して、そのシェーディングの影響を無くし、かつ、エッジが保存された状態で階調を減らすことができるようにし、さらに、線画か否かを判断し、線画である場合のみにシェーディング補正するという処理を行うことにより、シェーディングが顕著に現れやすい線画のみに対してシェーディング補正処理を行うことができ、処理を軽減し、処理時間の短縮化を図る。さらにまた、線画か否かを判断し、線画であればシェーディング補正を行うとともに、ｎー１個のしきい値を用いた階調処理を行い、線画でなければ、自然画とみなして自然画に適した階調処理方法により階調処理するという処理を行うことにより、ＣＣＤカメラなどのシェーディングの発生しやすいエリアセンサで撮られた画像を反射型のＬＣＤなどに表示する際に、撮影対象に関係なく撮影対象に適した処理を自動的に行い、良好な画像を表示することを目的としている。
【００１８】
【課題を解決するための手段】
その具体的な方法としては、入力された画像データの所定ラインごとにその所定ラインを構成する画素が線画のエッジ部を構成する画素か否かを判断し、エッジを構成する画素でない場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をもとに処理中の画素の輝度値を演算により求め、この求められた輝度値により、それ以前に処理された輝度値を更新し、エッジを構成する画素である場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をそのまま保持する処理を、所定ラインづつその所定ラインを構成する画素ごとに繰り返して行うことで、線画におけるエッジ部分の輝度の影響を除去した各画素ごとの輝度値を所定ライン単位で求める背景予測処理を行ったのち、この背景予測処理において得られた所定ラインにおける各画素ごとの輝度値が、所望とする輝度値以下であると判定された場合に、その輝度値を有する画素を含む所定の探索範囲を設定し、その探索範囲内における隣接画素との輝度変化を各画素ごとに調べ、探索範囲内において輝度変化の少ない画素が予め設定した数以上である場合には、その輝度変化の少ない画素の輝度値を基にして輝度値を決定し、探索範囲内において輝度変化の少ない画素が予め設定した数より少ない場合には、探索範囲全体の画素の輝度値をもとにして輝度値を決定して、この決定された値により背景予測結果の修正処理を行い、さらに、この背景予測結果の修正処理により修正された結果と、所望とする値として設定された輝度値とを比較して、その差分を求め、求められた差分を前記入力された画像データの対応する画素位置の輝度値に対して加減することにより、所望の輝度値となるような背景補正を行うことを特徴としている。
【００１９】
このように本発明では、シェーディングの影響が顕著に現れやすい文字や図形などの線画に対して、所定ライン単位でシェーディングの影響を除去するようにしている。特に、１ラインづつの処理を行うことにより、ワークメモリとしては１ライン分のラインメモリで済むためワークメモリの小容量化を図ることができ、また、１ラインごとの処理であるため、画像の取り込みを行いながら１ラインの処理が終了したらそれを表示し、次の１ラインの処理が終了したらそれを表示するということができるため、連続的な入力に対応しやすいという利点がある。さらに、前記処理されたライン上の対応する画素位置の画素の輝度値をもとに処理対象画素の輝度値を演算により求める処理は、それ以前に処理されたライン上の対応する画素位置の輝度値と、処理中の画素の輝度値との平均をとる処理である。これにより、簡単な演算でエッジ部分の輝度の影響を減らすことができる。
【００３２】
その具体的な装置としては、入力された画像データの所定ライン分のデータを保持する画像データ用ラインメモリと、この画像データ用ラインメモリに保持された画像データの所定ラインごとにその所定ラインを構成する画素が線画のエッジ部を構成する画素か否かを判断し、エッジを構成する画素でない場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をもとに、処理中の画素の輝度値を演算により求め、この求められた輝度値により、それ以前に処理された輝度値を更新し、エッジを構成する画素である場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をそのまま保持する処理を、所定ラインづつその所定ラインを構成する画素ごとに繰り返して行うことで、線画におけるエッジ部分の輝度の影響を除去した処理対象ラインにおける各画素ごとの輝度値をライン単位で求める背景予測手段と、この背景予測手段で得られた処理対象ラインにおける各画素ごとの輝度値を保持する背景予測用ラインメモリと、前記背景予測処理において得られた背景予測用ラインメモリの内容をもとに、処理対象ラインにおいて、各画素位置対応の輝度値が、所望とする輝度値以下であると判定された場合に、その輝度値を有する画素を含む所定範囲の探索範囲を設定し、その探索範囲内における隣接画素との輝度変化を各画素ごとに調べ、探索範囲内において輝度変化の少ない画素が予め設定した数以上である場合には、その輝度変化の少ない画素の輝度値を基にして輝度値を決定し、探索範囲内において輝度変化の少ない画素が予め設定した数より少ない場合には、探索範囲全体の画素の輝度値を基にして輝度値を決定し、前記背景予測用ラインメモリの対応する画素位置の内容を前記決定された内容に更新して背景予測結果の修正を行う背景予測修正手段と、前記背景予測結果修正手段により修正された結果と、所望とする値として設定された輝度値とを比較してその差分を求め、求められた差分を前記画像データ用ラインメモリの対応する画素位置の輝度値に対して加減することにより所望とする輝度値に輝度補正する背景補正手段とを有することを特徴としている。
【００３３】
このように本発明では、シェーディングの影響が顕著に現れやすい文字や図形などの線画に対して、所定ライン単位でシェーディングの影響を除去するようにしている。特に、１ラインづつの処理を行うことにより、ワークメモリとしては１ライン分の画像データ用ラインメモリと背景予測用ラインメモリで済むためワークメモリの小容量化を図ることができ、装置全体を小型軽量化が図れ、低コスト化も可能となる。また、１ラインごとの処理であるため、画像の取り込みを行いながら１ラインの処理が終了したらそれを表示し、次の１ラインの処理が終了したらそれを表示するということができるため、連続的な入力に対応しやすいという利点がある。
【００３４】
さらに、前記処理されたライン上の対応する画素位置の画素の輝度値をもとに処理対象画素の輝度値を演算により求める処理は、それ以前に処理されたライン上の対応する画素位置の輝度値と、処理中の画素の輝度値との平均をとる処理である。これにより、簡単な演算でエッジ部分の輝度の影響を減らすことができる。
【００４５】
【発明の実施の形態】
以下、本発の実施の形態を図面を参照して説明する。
【００４６】
（第１の実施の形態）
この第１の実施の形態では、撮影対象画像はほぼ均一色の背景内に文字や図形などの線画が描かれているような画像であるものとし、その画像がシェーディングの影響を受けているものとする。図１は第１の実施の形態の全体的な概略処理を説明するフローチャートであり、以下、処理手順を説明する。
【００４７】
まず、概略的な処理について説明し、個々の詳細な処理については、のちに説明する。
【００４８】
図１において、ＣＣＤカメラで取り込まれた画像データの１ライン分のデータについて背景を予測するための背景予測を行う（ステップｓ１）。そして、その背景予測された結果を用いて、予測結果の修正を行い（ステップｓ２）、その予測結果の修正データを参照して背景補正を行う（ステップｓ３）。そして１画面の全ラインの処理が終了したか否かを判断して（ステップｓ４）、終了していなければ、次のラインについてステップｓ１以降の処理を行う。
【００４９】
前記背景予測処理は以下のようにして行う。
【００５０】
図２はＣＣＤカメラにより取り込まれた或る１画面分の画像例を示すもので、明るい均一色の背景１０に文字などの線画２０が存在している。そして、この図２では表現されていないが、シェーディングの影響を受けて、画像の周辺部が中央部に比べて暗い画像となっているものとする。
【００５１】
図３（ａ）は図２で示すような画像のある１ライン（たとえば、図２の破線で示す１ライン）における画素（それぞれの画素番号を「０，１，２，・・・，ｉ，・・・，ｎ」で表す）に対する輝度値（０から２５５の輝度範囲をとるものとする）の関係を示すもので、輝度値が急激に落ち込んでいる部分は、文字を構成する画素の輝度を示すものであり、その他は背景を構成する画素の輝度を示している。なお、図２の破線で示す１ライン上における文字部分の輝度と図３の輝度の変化はこの場合、必ずしも一致していない。また、この画像はシェーディングの影響を受けているので、背景部分の輝度の変化曲線は、画像の中央付近の輝度が高く、両端部に近いほど輝度が小さくなるような曲線を描いている。
【００５２】
このようなシェーディングの影響を受けた背景に対してシェーディングの影響を除去するのであるが、まず、文字の影響を殆ど除去して背景部分の輝度変化を大まかになだらかにする処理を行う。これをここでは背景予測処理と呼ぶ。この背景予測処理について、図４のフローチャートを参照しながら説明する。
【００５３】
図４において、まず、処理対象のラインが最初のラインか否かを判定する（ステップｓ１１）。最初のラインである場合には、予測結果バッファに最初のラインを構成する各画素の輝度を画素対応にそのまま格納する（ステップｓ１２）。一方、処理対象のラインが最初のラインでない場合には、ステップｓ１３以降の処理に入る。
【００５４】
ステップｓ１３では、当該ラインにおける処理対象画素の輝度値ａ〔ｉ〕をその処理対象画素の直前の画素の輝度値ａ〔i-1〕から引いて、その差をＣとする処理を行う。次に、ステップｓ１３で求めたＣの絶対値と予め定めた定数αとを比較して（ステップｓ１４）、当該画素が文字のエッジ部分の画素であるか、それ以外の画素であるかを判定する。つまり、取り込まれた画像データの輝度範囲を０〜２５５とした場合、ここでは、αを「１０」程度に定め、｜Ｃ｜≦αであれば、当該画素は背景部分を構成する画素であると判断し、｜Ｃ｜≦αでなければ、文字のエッジ部分の画素であるとみなす。なお、αの値は「１０」に限られるものではなく、様々な条件によって最適な値を設定することができる。
【００５５】
この処理によって、処理対象画素が背景画素であると判定された場合は、当該処理対象画素に対応する予測結果バッファの内容を更新する。すなわち、予測結果バッファの内容のうち、処理対象画素の位置に対応する画素の輝度値に、処理対象画素の輝度値を足し算してそれを２で割って、つまり、平均を取って、その計算結果を予測結果バッファの対応する画素位置に格納する（ステップｓ１５）。これをさらに具体的に説明する。
【００５６】
１ライン分の画素の番号を、１，２，・・・，ｉ，・・・，ｎで表すとすれば、予測結果バッファには１ライン分の各画素に対応した輝度値ｂ〔１〕，ｂ〔２〕，・・・，ｂ〔ｉ〕，・・・，ｂ〔ｎ〕が格納される。そして、現在の処理対象画素が、あるラインのｉ番目の画素であるとすれば、その処理対象画素の輝度値ａ〔ｉ〕と、予測結果バッファにすでに格納されている前ラインのｉ番目の画素の輝度値ｂ〔ｉ〕との平均を取って、その値を新たなデータとして、予測結果バッファのｂ〔ｉ〕とする。背景の輝度において急激な変化はないと考えられるので、平均を取ることによりノイズに強い背景予測となる。
【００５７】
そして次に、現在処理中の１ラインの全画素について処理を終了したか否かを判断し（ステップｓ１６）、処理が終了していなければ、そのラインの次の画素について、ステップｓ１３の処理を行い、ステップｓ１４にて｜Ｃ｜≦αであれば、当該画素は背景部分を構成する画素であると判断し、ステップｓ１５，ｓ１６の処理を行う。このように、予測結果バッファには、それぞれの位置の画素ごとに、前ラインの同位置の画素の輝度値と現在処理中の画素との平均の輝度値が格納される。
【００５８】
そして、その１ラインのすべての画素についての処理が終了すると、次に予測結果の修正処理に移る。この処理については後に詳細に説明する。
【００５９】
以上のように、処理対象のラインにおけるそれぞれの画素が背景であるとみなされた場合には、それまでの計算結果（処理されたラインのそれぞれ対応する位置における画素の輝度値の平均値）を用いて、その計算結果と現在処理中の画素の輝度値の平均を求めて、それを新たなデータとして予測結果バッファに格納し、次のラインでは、対応する位置の画素が背景であるとみなされた場合には、それまでの計算結果（対応する位置の画素の輝度値の平均値）を用いて、その計算結果と現在処理中の画素の輝度値の平均を求めて、それを新たなデータとして予測結果バッファに格納するという処理を行う。
【００６０】
一方、ステップｓ１４において、｜Ｃ｜≦αでないと判定された場合、つまり、処理対象画素がエッジ部を構成する画素であると判定された場合には、背景の輝度の変化はなだらかであること、および、文字等を構成するエッジ部分の影響の除去を考慮して、何も処理を行わない。したがって、予測結果バッファの値は変更されず、その画素に対応する位置の輝度値は、前ラインまでに求められたデータがそのまま保持される。
【００６１】
図３（ｂ）は以上のような背景予測処理を行ったあとの或るライン（図３（ａ）と同じライン）におけるそれぞれの画素に対する輝度変化を示す曲線である。この図３（ｂ）からもわかるように、図３（ａ）に比べて、シェーディングの影響による背景部分の輝度の予測は、ある程度は滑らかなものとなっている。なお。図３（ｂ）において、Ｌ０はシェーディングの影響を除去して或る一定の輝度値にしようとする際の所望とする輝度値を示している。
【００６２】
また、図３（ｂ）において、まだ、輝度の急激な低下部分が残っている。これは、これまでの背景予測処理ではエッジ部分以外の文字のデータは使われるため、その影響により生じるものである。
【００６３】
つまり、図４のフローチャートにおけるステップｓ１４は、｜Ｃ｜≦αであれば背景、｜Ｃ｜≦αでなければエッジというように説明したが、実際には文字は一定の幅を持ち、幅を持つ線の部分を構成する画素の場合は、隣接する画素との間で、｜Ｃ｜≦αが成り立つことになり、その線の部分のデータが用いられて、ステップｓ１５の処理が行われることになる。したがって、図３（ｂ）の輝度が急激に下がっている部分は、文字の影響が少し残っているために生じるものである。これを修正するのが予測結果の修正処理である。この予測結果修正処理は予測結果バッファのデータを用いて、予測結果の修正処理を行う（ステップｓ２）。この予測結果の修正処理は、文字の影響が残った部分を中心に背景を修正し、背景のみの輝度曲線を得る処理であり、以下に、この予測結果の修正処理について図５のフローチャートを参照しながら説明する。
【００６４】
図５において、まず、所望とする輝度Ｌ０と処理対象ラインにおける１つの画素の輝度ｂ〔ｉ〕を比較し（ステップｓ２１）、Ｌ０＞ｂ〔ｉ〕、つまり、所望とする輝度Ｌ０よりも予測結果バッファ内のある画素の輝度が小さい場合は、その画素は文字の影響が残っていて輝度が落ち込んでいるものとみなして修正処理を行う。この修正処理はステップｓ２２以降の手順に従って行う。
【００６５】
始めに探索範囲の設定を行う（ステップｓ２２）。この探索範囲の設定は、処理対象画素を中心に、画像における１ライン上の幅の１／１０程度を探索範囲とし、その範囲の画素を探索範囲画素として設定する。たとえば、図３（ｂ）において、ｉの位置の画素が、Ｌ０＞ｂ〔ｉ〕と判断された場合、その画素を中心に、図示の如く、探索範囲ｗが設定される。
【００６６】
このようにして探索範囲の設定が行われると、次に初期化を行う（ステップｓ２３）。この初期化は、add〔１〕を０、countを０とするとともに、add〔２〕を０、refを直前の画素の予測結果とする。これらの意味については、説明を分かり易くするため、ステップｓ２４，ｓ２５，ｓ２６の処理説明のなかで述べる。
【００６７】
ステップｓ２４では、refから探索範囲内のある画素の予測結果ｂ〔ｊ〕を引いた値が、予め定めた定数βより小さいか否かの判断を行う。つまり、ref−b〔j〕＜βを判断する。ここで、ｊはステップｓ２２で設定された探索範囲内での位置を示す変数である。また、βは画像の輝度範囲０〜２５５とした場合、β＝２０程度に設定される。この値βは、これに限られるものではなく、様々な条件によって最適な値とすればよい。
【００６８】
そして、ref−b〔j〕＜βである場合には、処理対象画素の予測結果が直前の画素の予測結果と差が比較的小さいということであるため、その処理対象画素の予測結果は良好な値であって輝度の変化が滑らかであると判断する。このような処理対象画素の予測結果が良好であると判断された場合は、その処理対象画素の予測結果をこれまでのadd〔１〕に新たにプラスして、それをadd〔１〕とする。さらに、良好であると判断された画素の数をこれまでのcountにプラスする（ステップｓ２５）。
【００６９】
このように、add〔１〕は探索範囲内において良好な予測結果を有する画素の予測結果を加算して得られる値であり、countはその画素数を表すものである。
【００７０】
ここで、処理対象画素が探索範囲内での最初の画素であれば、add〔１〕は初期値として「０」、countも初期値として「０」となっているので、この１番目の画素に対する処理後には、add〔１〕の値は当該画素の予測結果そのものとなるとともに、countは「１」となる。
【００７１】
次に、ステップ２６により、その処理対象画素の予測結果を、これまでのadd〔２〕に新たにプラスして、それをadd〔２〕とする。たとえば、処置対象画素の予測結果をｂ〔ｊ〕とすれば、add〔２〕＋ｂ〔ｊ〕とし、その結果を新たなadd〔２〕とする。このadd〔２〕は、良好な予測結果か良好でない予測結果にかかわらず探索範囲全体の画素の予測結果を加算して得られる値である。たとえば、処理対象画素が探索範囲内での最初の画素であれば、add〔２〕は初期値として「０」となっているので、この１番目の画素に対する処理後には、add〔２〕の値は当該画素の予測結果そのものとなる。
【００７２】
ところで、前記ステップｓ２４において、ref−b〔j〕＜βでない場合には、処理対象画素の予測結果が直前の画素の予測結果と差が大きいということであるため、その処理対象画素の予測結果は良好でない値、すなわち背景以外の文字等の影響が残る画素であると判断する。このように、処理対象画素の予測結果が良好でないと判断された場合は、直接、ステップ２６の処理を行い、その処理対象画素の予測結果をこれまでのadd〔２〕に新たにプラスして、それをadd〔２〕とする。このように、add〔２〕は、良好な予測結果か良好でない予測結果にかかわらず探索範囲全体の画素の予測結果を加算して得られる値となる。
【００７３】
そして次に、探索範囲のすべての画素について処理が終了したか否かを判断し（ステップｓ２７）、終了していなければ、当該探索範囲内の次の画素についてステップｓ２４、ｓ２５，ｓ２６の処理を行う。
【００７４】
このようにして、探索範囲内のすべての画素について処理が終了すると、次に、修正値の決定処理を行う（ステップｓ２８）。この修正値の決定処理は、次のようにして行う。
【００７５】
まず、１つの探索範囲内における各画素についての処理（ステップｓ２４〜ｓ２６）が終了したのち、countの数、つまり、良好であるとされた予測結果を有する画素数が幾つあるかを判断して、その数がある一定数以上に達しているときは、add〔１〕の値（この値は、良好であるとされた予測結果の累計値）を、countの数で割って、平均の予測結果を求める。そして、このようにして求められた平均の予測結果を、Ｌ０＞ｂ〔ｉ〕となった画素（ステップｓ２１）に対する予測結果の修正輝度値とする。ここである一定数以上としたのは、ステップｓ２の予測結果の修正は統計量を基に修正を行っており、サンプル数が少ない場合は、統計量として適切でないからである。
【００７６】
一方、良好であるとされた予測結果を有する画素数がある一定数以上に達していないとき、つまり、良好であるとされた予測結果を有する画素数が少ないときは、ステップｓ２６にて求められた探索範囲内の予測結果累計値add〔２〕を、探索範囲内のすべての画素数で割って、探索範囲内の平均の予測結果を求め、その探索範囲内の平均の予測結果を、Ｌ０＞ｂ〔ｉ〕となった画素（ステップｓ２１）に対する予測結果の修正輝度値とする。
【００７７】
このように、この修正処理は、設定された探索範囲内において、良好であるとされた画素数がある一定数以上存在する場合には、良好であるとされた予測結果の累計値の平均の予測結果を用いて処理対象画素の輝度値を修正処理し、良好であるとされた予測結果を有する画素数が少ないときは、探索範囲内全体の予測結果累計値の平均の予測結果を求め、探索範囲内全体の平均の予測結果を用いて、処理対象画素の輝度値を修正処理を行う。
【００７８】
以上のようにして、ある画素についての処理が終了すると、次に、現在処理中のラインの全画素について処理が終了したか否かを判断し（ステップｓ２９）、終了していなければ、ステップｓ２１に処理が戻って、再び、ステップｓ２１以降の処理を行う。
【００７９】
図３（ｃ）は以上説明した予測結果の修正処理が終了して、文字の影響が殆どなくなった背景部分の予測結果を示すものである。
【００８０】
次に、このような背景の予測結果を用いて、シェーディングの影響を除去した一定の輝度値とする背景補正処理を行う（ステップｓ３）。
【００８１】
この背景補正処理は、図３（ｃ）に示される予測結果の修正処理がなされた処理対象ラインの輝度曲線において、処理対象ラインのそれぞれの画素に対する輝度値を、所望とするある一定の輝度値Ｌ０とする処理であり、たとえば、ある一定の輝度値Ｌ０と予測結果修正された輝度曲線との差を各画素ごとに取って、その差を０とするように、処理対象ラインの各画素の輝度に適当な値をプラスあるいはマイナスして行う。これにより、背景の輝度は、ある一定の輝度値Ｌ０となって、明るさが一定となり、シェーディングの影響が除去されたものとなる。
【００８２】
そして、最終的には、処理対象ラインにおける文字の部分を含めた輝度分布は図３（ｄ）のようになる。以上のような処理をすべてのラインについて行ったのちの画像は、画面全体がほぼ均一の明るい背景となり、シェーディングの影響が取り除かれた画像となる。
【００８３】
図６は本発明の実施の形態を実現するための装置の構成例を示すもので、レンズ１、ＣＣＤカメラ２、Ａ／Ｄ変換器３、ＣＣＤ制御回路４、画像処理装置５から構成されている。
【００８４】
画像処理装置５はこれまで説明した処理を行う部分であり、画像データ用ラインメモリ５１、背景予測用ラインメモリ５２、背景予測手段５３、予測結果修正手段５４、背景補正手段５５を有し、前記背景予測用ラインメモリ５２、背景予測手段５３、予測結果修正手段５４、背景補正手段５５によりシェーディング補正部５６を構成している。
【００８５】
前記画像データ用ラインメモリ５１は、ＣＣＤカメラ２で取り込まれてＡ／Ｄ変換された画像データのある１ライン分のデータを格納するメモリである。そして、背景予測手段５２は、画像データ用ラインメモリ５１に格納された１ライン分の画像データを用いて、前記図４のフローチャートで説明したような背景予測処理を行い、この背景予測を行う際のワークメモリとして背景予測用ラインメモリ５２が用いられる。この背景予測用ラインメモリ５２は、図４においては予測結果バッファに相当するものであり、ある１ラインにおける全画素の処理が終了した時点では、当該ラインにおける各画素の予測結果がそれぞれの画素対応に格納される。
【００８６】
また、予測結果修正手段５４は、図５のフローチャートで説明した背景結果修正処理を行うもので、背景予測用ラインメモリ５２の内容を用いて図５の処理手順に沿った修正処理を行う。そして、背景予測用ラインメモリ５２のデータを、修正後のデータに更新する。
【００８７】
さらに、背景補正手段５５は、図１のフローチャートのステップｓ３の処理を行うもので、修正後のデータが格納された背景予測用ラインメモリ５２のデータを用て、画像データラインメモリ５１の内容に対して背景補正を行い、最終的に図３（ｄ）に示すような画像とする。
【００８８】
以上の処理は１ライン毎に行われるもので、画像の取り込みを行いながら１ラインの処理が終了したらそれを表示し、次の１ラインの処理が終了したらそれを表示するというような１ライン毎の連続的な処理を行う。
【００８９】
以上説明したように、第１の実施の形態は、線画部分の影響がでないような背景部分の予測を行い、しかも、前ラインにおいて求められたデータを使用して背景部分の予測を行っているので、シェーディングにより輝度変化の大きい背景画像を、なだらかな輝度変化とすることができ、最終的には、シェーディングの影響が除去された所望とする輝度の背景画像とすることができる。
【００９０】
また、図６の構成からもわかるように、ワークメモリとしてはラインメモリのみで済むので、１画面分のフレームメモリを使用する場合に比べてメモリの小容量化が図れる。また、前記したように、１ライン毎の処理であるため、画像の取り込みを行いながら１ラインの処理が終了したらそれを表示し、次の１ラインの処理が終了したらそれを表示するということができるため、連続的な入力に対応しやすいという効果も得られる。
【００９１】
なお、図１において背景予測（ステップｓ１）を省いて、入力された画像データをステップｓ１の背景予測結果にみたてて、ステップｓ２以降の処理を行うこともできる。この場合、処理速度は速くなるが、ステップｓ２により求められた背景予測の精度は落ちる。
【００９２】
（第２の実施の形態）
この第２の実施の形態は、第１の実施の形態で説明したシェーディング補正処理と、階調を落とす処理とを組み合わせた処理を行うものである。
【００９３】
すなわち、前記従来技術の項で述べたように、ＣＣＤカメラなどのように階調数の多い撮像手段で取り込んだ画像を、反射型のＬＣＤのように階調数の小さい表示部で表示する場合、階調数を減らす必要がある。この階調を落とす際、前記したようなシェーディングの影響を受けて周辺が暗くなった画像を、たとえば、４値化処理すると、処理後の画像は、周辺部の暗い部分が黒いつぶれとなって現れる場合もある。そこで、階調を落とす処理を行う際、シェーディングの影響を受けた画像に対して、そのシェーディングの影響を補正する必要が生じてくる。
この第２の実施の形態では、ＣＣＤカメラなどのエリアセンサで撮られたシェーディングのある画像に対しても、そのシェーディングによる影響を無くして階調を減らすことを可能とするものであり、以下、この第２の実施の形態について説明する。
【００９４】
図７は第２の実施の形態の全体的な処理手順を説明するフローチャートであり、まず、処理対象画像からｎ値化するための第１〜第ｎ−１のしきい値を求める（ステップｓ３１）。これは、ＣＣＤカメラなどにより入力された、たとえば、０〜２５５の２５６階調の画像データを、４階調の画像データとする場合には、第１〜第３のしきい値を求める処理である。
【００９５】
そして、シェーディング補正処理（ステップｓ３２）を行い、その後、第１〜第ｎ−１のしきい値を用いてｎ値化処理する（ステップｓ３３）。
【００９６】
前記ステップｓ３１におけるｎ値化のためのｎ−１個のしきい値を求める処理は、特に限定されるものではなく、撮影対象が線画であれば、たとえば、「大津の方法」を拡張して用いることも可能である。
【００９７】
この「大津の方法」は前記したように、線画には適した２値化方法であるが、それを用いて４値化しようとすると、まず、最初に２値化して、それにより分割された領域を、さらにそれぞれ２値化するというように、２値化する処理を３回行なう必要があるため、演算量が膨大なものとなり、多くの処理時間を要する問題がある。
【００９８】
そこで、この第２の実施の形態では、ｎ値化するためのｎ−１個のしきい値を求める方法として、「大津の方法」にわずかな演算を加えるだけでｎ−１個のしきい値を求める方法を採用する。このｎ値化するためのｎ−１個のしきい値を求める方法を図８のフローチャートを参照しながら以下に説明する。
【００９９】
まず、ＣＣＤカメラで取り込まれた画像データについて累積度数分布を求める（ステップｓ４１）。求められた累積度数分布の例を図９（ａ）に示す。なお、ここでの処理対象画像は、前記同様、画像の大部分を占める明るい背景内に文字や図形などの線画が描かれているような画像であるとする。したがって、０〜２５５の輝度範囲における各輝度に対する累積度数の曲線は、図９（ａ）に示されるように、輝度の大きい側に累積度数が多くなる曲線となる。なお、この場合、ＣＣＤカメラによる輝度範囲を０〜２５５の２５６階調とする。
【０１００】
そして、このような累積度数分布を用いて「大津の方法」により２値化しきい値ｔｈ〔０〕を求める。この２値化しきい値により分割された領域のうち、低輝度側を第１のクラスＣ１、高輝度側を第２のクラスＣ２とする。ここで、第１のクラスＣ１の累積輝度は主に線画によるものであり、第２のクラスＣ２の累積輝度はは主に背景によるものである。
【０１０１】
次に、前記第２のクラスＣ２における輝度の平均μ２と標準偏差σ２を算出する（ステップｓ４２）。この第２のクラスＣ２は大部分が背景で占められているので、第２のクラスＣ２における輝度の平均値μ２は、ほぼ、背景の輝度の平均値と考えることができる。そして、これらの輝度の平均μ２と標準偏差σ２を用いて、ｎ値化するためのｎ−１個のしきい値のうち、第１のしきい値ｔｈ〔１〕を求める（ステップｓ４３）。この第１のしきい値ｔｈ〔１〕は
ｔｈ〔１〕＝μ２−σ２×α・・・（１）
で求められる。（１）式においてαは係数であり、実験では、α＝１／２とするとよい結果が得られたが、これに限られるものではなく、種々の条件によって、最適な値を設定すればよい。
【０１０２】
この（１）式により求められる第１のしきい値ｔｈ〔１〕は、線画と背景のほぼ境界を意味するものとなる。線画と背景の境界は、前記背景の輝度の平均値μ２より暗い側に存在すると考えられる。したがって、第１のしきい値ｔｈ〔１〕は背景の輝度の平均値μ２からある値を引いた値とすればよい。
【０１０３】
ところで、背景の色がたとえ均一であったとしても背景の輝度の累積度数は、画像を入力するデバイスや撮影状態によってその幅が異なってくる。特に、ＣＣＤカメラなどのエリアセンサで撮られたシェーディングの存在する画像においては、累積度数分布における背景に相当する部分の幅の変動は激しいものとなる。そこで、累積輝度の幅を吸収するために、幅の指標となる第２のクラスＣ２の標準偏差σ２をパラメータとしてそのパラメータに適当な係数αを掛けたものを背景の輝度の平均値μ２から引き算して第１のしきい値ｔｈ〔１〕を求めている。このようにして求められた第１のしきい値ｔｈ〔１〕を図９（ｂ）に示す。
【０１０４】
そして次に、図８のステップｓ４４では、この第１のしきい値ｔｈ〔１〕をもとに、他のしきい値を求める。ここで、求めるべき階調数をｎ階調とすれば、ｎ−１個のしきい値を決定することになる。したがって、このステップｓ４４では、第１のしきい値ｔｈ〔１〕をもとに第２のしきい値ｔｈ〔２〕〜第ｎ−１のしきい値ｔｈ〔ｎ−１〕を求めることになる。この第１のしきい値ｔｈ〔１〕をもとに、第２のしきい値ｔｈ〔２〕〜第ｎ−１のしきい値ｔｈ〔ｎ−１〕を求める処理について以下に説明する。
【０１０５】
第１のしきい値ｔｈ〔１〕以下の各輝度ごとの累積画素数をすべて足し算して、合計の累積画素数を求め、その合計の累積画素数をｎ−１等分する。この実施の形態では、求めるべき階調数を４階調（ｎ＝４）としているので、第１のしきい値ｔｈ〔１〕以下の各輝度ごとの画素数を足し算して得られた合計の累積画素数を３等分して、第２のしきい値ｔｈ〔２〕と第３のしきい値ｔｈ〔３〕を求めることになる。
【０１０６】
具体例として、第１のしきい値ｔｈ〔１〕以下の各輝度ごとの累積画素数をすべて足し算して得られた合計累積画素数が仮りに１２０であるとすると、それを３等分して「４０」を得る。そして、４０画素ごとにしきい値を設定する。つまり、輝度０から明るい方へ各輝度毎の累積画素数を足し算して行き、合計画素数が４０画素となったところをしきい値（第３のしきい値ｔｈ〔３〕）とし、この第３のしきい値ｔｈ〔３〕から明るい方へ各輝度毎の累積画素数を足し算して再び合計画素数が４０画素となったところをしきい値（第２のしきい値ｔｈ〔２〕）とするというようにして、第２、第３のしきい値ｔｈ〔２〕，ｔｈ〔３〕を決定する。
【０１０７】
このようにして第１〜第ｎ−１のしきい値が決定される。
【０１０８】
ところで、図７のステップｓ３２のシェーディング補正処理は、第１の実施の形態において、図１〜図６を用いて説明した背景予測処理、予測結果の修正処理、背景補正処理などの一連の処理であり、これらに処理方法に関しては、前述したとおりであるので、ここではその詳細な処理ついては説明を省略する。
【０１０９】
なお、この第２の実施の形態においては、所望とする輝度値Ｌ０は、最も輝度値の高い側に設定される第１のしきい値ｔｈ〔１〕よりも大きい値とするのがよい。このように、所望とする輝度値Ｌ０を、最も輝度値の高い側に設定される第１のしきい値ｔｈ〔１〕よりも大きい値とすることにより、ｎ値化処理後において、背景がより明るくなって文字などが見やすい画像となる。具体例としては、前記第２のクラスＣ２における輝度の平均値μ２程度とすることが考えられる。
【０１１０】
次に、シェーディング補正を終了したのち、第１〜第ｎ−１のしきい値を用いてｎ値化処理を行う。このｎ値化処理の一例について図１０を参照しながら説明する。なお、この図１０のフローチャートはある１つの画素ごとのｎ値化処理を示すものである。図１０において、まず、第１〜第ｎ−１のしきい値のどのしきい値を選ぶかについての初期化を行う（ステップｓ５１）。この初期化は、この場合、ｋ＝１とする。つまり、初期のしきい値として、第１のしきい値ｔｈ〔１〕とする。次に、処理対象の画素の輝度値ａが、ａ＞ｔｈ〔ｋ〕であるか否かを判断する（ステップｓ５２）。この場合、ｋ＝１であるからａ＞ｔｈ〔１〕を判断する。そして、ａ＞ｔｈ〔１〕であれば、その画素の輝度値をｎ−ｋとする（ステップｓ５３）。ここで、画素の輝度値を０〜３の４値化とすることを考えると、ａ＞ｔｈ〔１〕であるときは、ｎ＝４、ｋ＝１であるから、当該画素の輝度値を「３」とする。
【０１１１】
このように、ある１画素のｎ値化（ここでは４値化）処理が終了すると、次の画素のｎ値化処理に移る。次の１画素に対しても、前記同様、輝度ａが、ａ＞ｔｈ〔１〕であるか否かを判断する。そして、ａ＞ｔｈ〔１〕でないとすると、ステップｓ５４に進み、ｋをｋ＋１（この場合、ｋ＝２）とする。そして、ｋ＜ｎを判断し（ステップｓ５５）、ｋ＜ｎであれば、ステップｓ５２に戻って、今度は、ａ＞ｔｈ〔２〕であるか否かを判断する。そして、ａ＞ｔｈ〔２〕であれば、その画素の輝度値をｎ−ｋとする（ステップｓ５３）。このとき、ｎ＝４、ｋ＝２であるから、当該画素の輝度値を「２」とする。一方、前記ステップｓ５２におけるａ＞ｔｈ〔２〕の判断において、ａ＞ｔｈ〔２〕でない場合には、ステップｓ５４に進み、ｋをｋ＋１とする。これにより、ｋ＝３となり、ｋ＜ｎを判断し（ステップｓ５５）、ｋ＜ｎであれば、ステップｓ１２に戻って、今度は、ａ＞ｔｈ〔３〕であるか否かを判断する。そして、ａ＞ｔｈ〔３〕であれば、その画素の輝度値をｎ−ｋとする。このとき、ｎ＝４、ｋ＝３であるから、当該画素の輝度値を「１」とする。そして、次の画素について同様の処理を行う。
【０１１２】
図１１はこの第２の実施の形態を実現するための装置の構成例をを示すもので、概略的には図６と同様、レンズ１、ＣＣＤカメラ２、Ａ／Ｄ変換器３、ＣＣＤ制御回路４、画像処理装置５から構成されている。
【０１１３】
画像処理装置５はこの第２の実施の形態で説明した処理を行う部分であり、画像データ用ラインメモリ５１、しきい値算出手段６１、ｎ値化処理手段６２、シェーディング補正部５６を有している。
【０１１４】
シェーディング補正部５６は、図６で示したシェーディング補正部５６と同じものであり、背景予測用ラインメモリ５２、背景予測手段５３、予測結果修正手段５４、背景補正手段５５から構成されているが、ここでは、これらの図示は省略されている。また、このシェーディング補正部５６が行う処理内容は、第１の実施の形態で説明したので、ここではその説明は省略する。
【０１１５】
前記しきい値算出手段６１は、ｎ値化するための第１〜第ｎ−１のしきい値を算出するもので、そのしきい値算出の一例として、図８のフローチャートで示されるような処理によりｎ−１個のしきい値の算出を行う。ただし、実際には、直前に取り込んだ１画面分の画像データから第１〜第ｎ−１のしきい値を求めて、そのしきい値を次の１画面分の画像に反映しながら処理を行う。
【０１１６】
以下にこの画像処理装置の動作を説明する。
【０１１７】
最初に取り込んだ１ラインづつの画像データは、シェーディング補正部５６にて前記したような処理によりシェーディング補正される。これと同時に、しきい値設定手段６１では画像データラインメモリ５１に格納された１ライン分づつのデータを用いて、しきい値を算出するために必要なデータを得て、１画面の入力が終了したところで、図８の処理手順によって第１〜第ｎ−１のしきい値を求める。このようにして求められた第１〜第ｎ−１のしきい値は次の１画面の画像におけるしきい値として使用される。
【０１１８】
次の１画面における１ラインのデータが画像データ用ラインメモリ５１に取り込まれると、その１ラインのデータは、シェーディング補正されるとともに、ｎ値化処理手段６２により、前の１画面により算出され第１〜第ｎ−１のしきい値を用いてｎ値化処理される。また、このとき同時に、しきい値決定手段６１では画像データラインメモリ５１に格納された処理対象画面の１ライン分づつのデータを用いて、その１画面分のデータを用いて第１〜第ｎ−１のしきい値を算出し、これを新たな第１〜第ｎ−１のしきい値とする。このようにして、直前に取り込んだ１画面分の画像データから第１〜第ｎ−１のしきい値を算出してそれを次の１画面分の画像に反映しながら処理を行う。
【０１１９】
なお、ここでのｎ値化処理は、第１〜第ｎ−１のしきい値というような固定的なしきい値を用いてのｎ値化処理であり、エッジの保存を特に必要とする文字などの線画に適したｎ値化である。そこで、これらしきい値算出手段６１、シェーディング補正部５６、ｎ値化処理手段６２をここでは線画用階調処理部６３という。
【０１２０】
なお、図７において、処理ステップをステップｓ３２、ステップｓ３１、ステップｓ３３の順で行うことも可能である。
【０１２１】
以上説明したように、この第２の実施の形態によれば、ＣＣＤカメラなどのように階調数の多い撮像手段で取り込んだ画像を、ＬＣＤのように階調数の小さい表示部で表示する場合、階調を落とす処理を行う際に、シェーディングのある画像画像に対しても、そのシェーディングによる影響を無くして階調を減らすことが可能となり、特に、明るい背景に文字などの線画が描かれているような撮影対象に対し、シェーディングの影響を除去し、つぶれのない良好な画像を得ることができ、きわめて見やすい画像を得ることができる。
【０１２２】
（第３の実施の形態）
この第３の実施の形態は、処理対象画像が線画であるか否かを判断して、線画に対してのみこれまで説明したシェーディング補正を行うものである。これは、線画の場合は自然画に比べると、シェーディングの影響がより一層顕著に現れるため、対象画像が線画である場合のみにシェーディング補正を行おうとするものである。
【０１２３】
図１２はこの第３の実施の形態の全体的な処理手順を概略的に説明するフローチャートであり、処理対象画像が線画であるか否かを判断するための処理を行い（ステップｓ６１）、その処理結果をもとにして線画であるか否かを判断し（ステップｓ６２）、線画であると判断された場合のみにシェーディング補正処理を行う（ステップｓ６３）。
【０１２４】
ここでの線画判断処理について図１３のフローチャートを参照しながら説明する。まず、初期化を行う（ステップｓ７１）。この初期化は、輝度変化の立ち上がりまたは立ち上がりを判断するためのスイッチｓｗを“１”（立ち下がりを判断する場合を“１”、立ち上がりを判断する場合を“０”とする）に設定するとともに、線画部分の幅の長さの累計を示す値lengを「０」、さらに、線の数を表す値numを「０」とする。
【０１２５】
そして、処理対象画素の輝度値ａ［ｉ］からその直前の画素の輝度値ａ［i-1］を引いて、その差をＣとする（ステップｓ７２）。
【０１２６】
次に、輝度の立ち上がりまたは立ち上がりを判断するためのスイッチｓｗの状態を判断する（ステップｓ７３）。ここでは、初期設定として、ｓｗ＝“１”となっているので、立ち下がりの検出処理を行い、Ｃ≦−γであるか否かを判断する（ステップｓ７４）。ここで、γは立ち下がりまたは立ち上がりを判断する指標となる値であり、入力画像が２５６階調である場合、γ＝１５程度に設定する。しかし、この値は、様々な条件によって最適な値を設定すればよい。
【０１２７】
ステップｓ７４において、Ｃ≦−γである場合は、輝度値が所定以上立ち下がっていると判断し、次の処理として立ち上がりを検出するために、スイッチｓｗ＝“０”とするとともに、当該画素の位置ｉをstart位置とする（ステップｓ７５）。つまり、輝度値が所定以上立ち下がっている画素の位置が保存されることになる。
【０１２８】
そして、すべての画素についての処理が終了したか否かを判断し（ステップｓ７６）、終了していなければ、ステップｓ７２に処理が戻り、次の画素について直前の画素の輝度値との差を取る（ステップｓ７２）。そして、ｓｗ＝“１”か否かの判断を行うが、このとき、ｓｗ＝“０”となっているので、立ち上がりの検出に入る。
【０１２９】
この立ち上がりの検出は、Ｃ≧γを判断して（ステップｓ７７）、Ｃ≧γであれば、輝度値が所定以上立ち上がっていると判断し、Ｃ≧γでなければ、所定以上の立ち上がりでないと判断する。
【０１３０】
たとえば、図１４に示すような場合を例にすると、ｉの位置の画素においては、直前の画素（ｉ−１の位置の画素）との輝度差Ｃが、Ｃ≦−γである場合、その位置ｉが保存され、次の画素（ｉ＋１の位置の画素）について、直前の画素との輝度値の差を取り、Ｃ≧γを判断するが、この場合、Ｃ≧γとはならないので、次の画素について、再び、Ｃ≧γを判断する。このような処理を繰り返し、やがて、ｉ＋ｎの画素について、Ｃ≧γの処理がなされると、Ｃ≧γが成り立ち、立ち上がりが検出されることになる。
【０１３１】
そして、立ち上がりが検出されると、ステップｓ７８に処理が移り、次の処理として立ち下がりを検出するために、ｓｗ＝“０”とするとともに、文字の幅の累計を示す値lengをこれまでのlengに今回の文字幅をプラスする。つまり、leng＋｛ｉ−start｝を計算する。なお図１４の例ではleng＋｛（i+n)−ｉ｝が計算されることになる。さらに、これまでの線の数の累計を表すnumに１をプラスする。
【０１３２】
このようにして、画像を構成するすべての画素について処理が終了すると（ステップｓ７６）、ステップｓ７８にて計算された累計のlengとnumを用いて、累計のlengを累計のnumで割って、１個当たりの線の太さを判断する。そして、その１個当たりの太さをある値δと比較して線画であるか否かを判断する（ステップｓ７９）。ここで、δは解像度が３２０画素×２４０画素の画像の場合、δ＝７程度に設定する。ただし、この値も様々な条件により最適な値を設定すればよい。
【０１３３】
ここで線画は高周波成分が多く、自然画は低周波成分が多い。よって、線の太さの平均値を示すleng/numは線画の場合は小さく、自然画の場合は大きくなる。よって、leng／num≦δである場合は、線画と判断し、leng／num≦δでない場合は、自然画など線画以外であると判断する（ステップｓ８０ａ，ｓ８０ｂ）。
【０１３４】
このようにして、線画か線画以外化の判断がなされる。そして、線画である場合のみに、第１の実施の形態で説明したシェーディング補正処理を行うようにする。
【０１３５】
図１５はこの第３の実施の形態を実現するための装置の構成例をを示すもので、概略的には図６と同様、レンズ１、ＣＣＤカメラ２、Ａ／Ｄ変換器３、ＣＣＤ制御回路４、画像処理装置５から構成されている。
【０１３６】
画像処理装置５はこの第３の実施の形態で説明した処理を行う部分であり、画像データ用ラインメモリ５１、線画判断手段７１、シェーディング補正部５６、シェーディング補正を行うか否かを設定するシェーディング補正設定スイッチ７２を有している。
【０１３７】
前記シェーディング補正部５６は、図６で示したシェーディング補正部５６と同じものであり、背景予測用ラインメモリ５２、背景予測手段５３、予測結果修正手段５４、背景補正手段５５から構成されているが、ここでは、これらの図示は省略されている。また、このシェーディング補正部５６が行う処理内容は、第１の実施の形態で説明したのでここでの説明は省略する。
【０１３８】
線画判断手段７１は図１３のフローチャートで示した処理を行うもので、この場合、実際の処理は直前に取り込んだ１画面分の画像データから線画であるか否かを判断した結果を次の１画面分の画像に反映しながら処理を行う。
【０１３９】
したがって、シェーディング補正設定スイッチ７２は、初期設定では、たとえば、オフ、つまり、最初の１画面分については線画以外の画像に対する処理設定としておく。
【０１４０】
このように、初期設定においてシェーディング補正設定スイッチ７２がオフに設定されているとすると、最初に取り込んだ１ラインづつの画像データは、シェーディング補正がなされずに、そのまま、１ラインづつ出力されて表示される。これと同時に、線画判断手段７１では画像データラインメモリ５１に格納された１ライン分づつのデータを用いて、図１３の処理手順にて各ライン毎に１画面分の処理を行う。
【０１４１】
そして、１画面分の処理が終了したところで、その画面が線画であるか否かを判断する。この判断結果は次の１画面の画像の種類の判別に使われる。たとえば、最初の１画面の画像が線画であると判断された場合は、シェーディング補正設定スイッチ７２をオンとし、次の１画面はシェーディング補正が行われる。
【０１４２】
このように、シェーディング補正設定スイッチ７２がオンとなると、画像データ用ラインメモリ５１に取り込まれた１ラインごとのデータは、１ライン毎にシェーディング補正されたのち、１ラインごとに出力される。そして、このとき同時に、線画判断手段７１では画像データラインメモリ５１に格納された１ライン分づつのデータを用いて、図１３の処理手順にて各ライン毎に１画面分の処理を行う。そして、１画面分の処理が終了したところで、その画面が線画であるか否かを判断する。この判断結果は次の１画面の画像の種類の判別に使われる。このようにして、直前に取り込んだ１画面分の画像データから線画であるか否かを判断した結果を次の１画面分の画像に反映しながら処理を行う。
【０１４３】
以上説明したように、第３の実施の形態では、処理対象画像が線画であるか否かを判断して、シェーディングの影響がより一層顕著に現れる線画に対してのみシェーディング補正を行うようにしている。また、この第３の実施の形態では、線画以外の自然画はシェーディングの影響は余り目立たないので、特別な処理を施さないようにしている。したがって、シェーディング補正は線画に対して行えばよいので、処理時間の短縮にもつながる。
【０１４４】
（第４の実施の形態）
この第４の実施の形態は、処理対象画像が線画か否かを判断し、線画である場合には、シェーディング補正を行い、かつ、前記のようにして求められた第１〜第ｎ−１のしきい値を用いた階調処理を行って、線画でないと判断された場合には、自然画とみなして自然画に適した階調変更処理を行うものである。
【０１４５】
図１６は第４の実施の形態の概略的な処理手順を説明するフローチャートであり、まず、線画判断を行うための処理（ステップｓ８１）を行い、その処理結果を用いて線画であるか否かの判断を行う（ステップｓ８２）。そして、線画であれば、線画用階調処理を行い（ステップｓ８３）、線画でなければ自然画用の階調処理を行う（ステップｓ８４）。
【０１４６】
ステップｓ８１における線画判断を行うための処理は、図１３のフローチャートで説明した処理であり、この処理で得られた結果が線画である場合には、線画用階調処理を行う。この線画用の階調処理は、第２の実施の形態で説明した処理であり、概略的な処理手順としては、図７に示されているように、まず、処理対象画像からｎ値化するためのｎ−１個のしきい値を求める（ステップｓ３１）。これは、ＣＣＤカメラなどにより入力された、たとえば、０〜２５５の２５６階調の画像データを、４階調の画像データとするために、第１〜第３のしきい値を求める処理である。そして、シェーディング補正処理（ステップｓ３２）を行ったのち、ｎ−１個のしきい値を用いてｎ値化処理（ステップｓ３３）を行う。
【０１４７】
一方、線画でないと判断された場合には、自然画に適した階調処理を行う。この自然画に適した階調処理というのは、面積的な階調を得ようとする階調処理であり、たとえば、ディザ法や誤差拡散法などがある。
【０１４８】
このように、線画に対しては、エッジが保存される階調処理を行い、自然画に対しては、ディザ法や誤差拡散法などの面積的な階調処理を施すことにより、階調数を減らす必要がある場合、より一層見た目に良好な画像とすることができる。
【０１４９】
図１７はこの第４の実施の形態を実現するための装置の構成例を示すもので、第１〜第３の実施の形態同様、概略的には、レンズ１、ＣＣＤカメラ２、Ａ／Ｄ変換器３、ＣＣＤ制御回路４、画像処理装置５から構成されている。
【０１５０】
画像処理装置５は、この第４の実施の形態の場合、画像データ用ラインメモリ５１、線画判断手段７１、線画用階調処理部６３、自然画用階調処理部８１と、これら線画用階調処理部６３、自然画用階調処理部８１を選択する選択スイッチ８２などを有している。
【０１５１】
前記線画判断手段７１は図１５の構成で示した線画判断手段７１と同じものであり、図１３で説明した処理を行い、１フレーム（１画面分）の処理が終了後に、その１画面の画像が線画であるか線画でないかを判定して、線画であることを示す信号または線画でないことを示す信号を選択スイッチ８２に出力する。
【０１５２】
選択スイッチ８２はこの線画判断手段７１からの線画であることを示す信号を受けると、線画用階調処理部６３を選択し、線画でないことを示す信号を受けると自然画用階調処理部８１を選択するように切替動作を行う。
【０１５３】
また、線画用階調処理部６３は、図１１の構成図で説明した線画用階調処理部６３と同じものであり、しきい値決定手段６１、シェーディング補正部５６、ｎ値化処理手段６２から構成されている。
【０１５４】
ところで、線画判断手段７１は図１３のフローチャートで示した処理を行うものであるが、前記したように、１画面分の処理が終了した後、その結果を次の１画面の画像データに反映させるものであるため、選択スイッチ８２は、初期設定では、たとえば、自然画用階調処理部８２側としておく。
【０１５５】
したがって、最初に取り込んだ１ラインづつの画像データは、自然画用階調処理部８２により階調処理されて出力される。これと同時に、線画判断手段７１では画像データラインメモリ５１に格納された１ライン分づつのデータを用いて、図１３の処理手順にて各ライン毎に１画面分の処理を行う。そして、１画面分の処理が終了したところで、その画面が線画であるか否かを判断する。この判断結果は次の１画面の画像の種類の判別に使われる。たとえば、最初の１画面の画像が線画であると判断された場合は、選択スイッチ８２を線画用階調処理部６３側に切り替えて、次の１画面は線画用階調処理部６３による階調処理がなされる。このとき同時に、線画判断手段７１では画像データラインメモリ５１に格納された１ライン分づつのデータを用いて、図１３の処理手順にて各ライン毎に１画面分の処理を行う。そして、１画面分の処理が終了したところで、その画面が線画であるか否かを判断する。この判断結果は次の１画面の画像の種類の判別に使われる。このようにして、直前に取り込んだ１画面分の画像データから線画であるか否かを判断した結果を次の１画面分の画像に反映しながら処理を行う。
【０１５６】
以上のように、この第４の実施の形態によれば、処理対象画像が線画か否かを判断し、線画である場合には、シェーディング補正を行い、かつ、前記のようにして求められた第１〜第ｎ−１のしきい値を用いた線画用の階調処理を行い、線画でないと判断された場合には、自然画とみなして自然画に適したディザ法や誤差拡散法といった階調変更処理を行うようにしているので、それぞれに適した階調処理が行え、ＣＣＤカメラなどで取り込んだ画像を反射型のＬＣＤに表示するような場合、撮影する対象に関係なく、線画あるいは自然画それぞれに適した処理がなされることにより見た目によい画像を表示することができる。
【０１５７】
ところで、以上説明した第２の実施の形態から第４の実施の形態において、画像データがＣＣＤカメラなどから連続入力されている場合は、前の１フレーム分（１画面分）で作成されたデータ（第１〜第ｎ−１のしきい値、線画か否かの判断結果など）を用いて処理を行うことにより、全体的な処理を簡素化することができる。この処理について、第４の実施の形態で説明した処理内容の場合を例にして、図１８のフローチャートを参照しながら説明する。
【０１５８】
図１８において、しきい値および線画判断結果の初期化を行う（ステップｓ９１）。このしきい値の初期化は、たとえば、ｎ値化とする場合は、第１〜第ｎ−１のしきい値ｔｈ〔１〕〜ｔｈ〔ｎ−１〕の値を初期値として適当な値を設定するというような処理であり、また、線画判断結果の初期値としては、たとえば、自然画とする。
【０１５９】
次に、あるフレームにおける１ラインデータの入力（ステップｓ９２）を行ったのち、その１ラインデータから各種のデータを取得する（ステップｓ９３）。ここでの各種のデータというのは、しきい値算出に必要な累積度数分布作成のためのデータや線画か否かを判断するためのデータとして図１３のフローチャートで説明したleng、numなどのデータである。
【０１６０】
そして次に、直前のフレームデータを基に得られた線画か否かの結果を判断し（ステップｓ９４）、線画でなければ自然画用の階調処理による階調処理を行い（ステップｓ９５）、線画であれば、直前のフレームデータを基に算出された第１〜第ｎ−１のしきい値を用いた線画用の階調処理（シェーディング処理を含む）を行う（ステップｓ９６）、
次に、１フレーム分における全ラインの処理が終了したか否かを判断し（ステップｓ９７）、終了していなければ、ステップｓ９２に処理が戻り、終了していればｎ値化のための第１〜第ｎ−１のしきい値を更新するとともに、線画判断結果を更新する（ステップｓ９８）。そして、次のフレームデータがあるか否かを判断し（ステップｓ９９）、次のフレームデータがあれば、その新たなフレームに対してステップｓ９２以降の処理を行い、次のフレームがなければ処理を終了する。
【０１６１】
このように、画像データが連続して入力されている場合は、前の１フレームにおいて求められたしきい値や線画判断結果を、現在取り込んでいるフレームデータに用いて処理することが可能となる。なお、この連続入力を考慮した処理は、ここで説明した第４の実施の形態への対応だけではなく、第２に実施の形態、第３の実施の形態に対しても同様に可能である。
【０１６２】
さらに、本発明は、最初に説明した第１の実施の形態において、レンズの収差への対応処理を可能とする。
【０１６３】
このレンズの収差による影響というのは、たとえば、図１９（ａ）に示すように、背景１０の中に同じ太さでかつ同じ濃さの直線の線画１１が存在した場合、それをレンズを通して取り込んだ画像の輝度（図１９(a)の破線で示すラインにおける輝度）は、同図（ｂ）に示すように、画像の端部に近いほど線の幅が太く背景との輝度のコントラストが小さくなって中央部に比べてシャープさに欠けた画像となる現象である。
【０１６４】
これを解消するために、本発明では、背景補正処理後のデータ（図3(d)）に対して、図２０（ａ）のように、所望とする背景輝度Ｌ０より少し小さい輝度値Ｌ１（図示破線で示す）を設定し、これより小さな輝度値を有する部分に対してレンズ収差を考慮した係数を掛けることで、少なくとも輝度の高さを補正しコントラストを良くすることができる。
【０１６５】
前記所望とする背景輝度Ｌ０より少し小さい輝度値Ｌ１は、たとえば、所望とする背景輝度Ｌ０×0.8により得られる値とする。また、前記レンズ収差を考慮した係数は、１画面分におけるある１ライン上の画素の位置０，１，２，・・・，ｎに対して、図２０（ｂ）のような曲線を描く係数値とする。つまり、画面の中央部は係数は「１」とし、中央部から端部に行くに従って、係数値を小さく（係数値＜１）する。ここで、レンズの収差の影響は事前に決定できるので、計測によって予め係数を求めておくことができる。されるこのような係数曲線から得られる係数値を図２０（ａ）の線画部分の輝度値に掛けることにより、端部付近に存在する線画の輝度値は、図２０（ｃ）に示すように、より小さな値となり、背景とのコントラストが大きくなり、レンズ収差の影響が改善される。
【０１６６】
なお、以上説明した第２〜第４の実施の形態において用いられるｎ値化するためのしきい値算出用のデータや線画判断のためのデータは、１つの画面全体から求めるのではなく、画面の周辺部を除いて求めるようにしてもよい。これは、画面の周辺部にはこれらのデータを求める際に重要なデータが少ないと考えられるためである。
【０１６７】
また、線画判断は、１画面単位で行っているが、たとえば、文字などと風景などの画像が両方入り交じっているような画像に対処しやすいように、線画領域と自然画領域とを分離して、それぞれの領域ごとに線画か否かを判断して、領域毎に必要な処理を行うようにしてもよい。
【０１６８】
また、第１〜第４の実施の形態において、輝度（モノクロ）に対する処理として説明したが、カラーへの対応も可能である。すなわち、カラー入力（例えばＲＧＢ）されたデータを輝度と色に関する他のデータ（例えばＹＵＶ）に変換し、輝度に対して上述の処理を行い、再び基に変換（例えばＲＧＢ）することにより対応できる。
【０１６９】
また、本発明の処理を行う処理プログラムは、フロッピィディスク、光ディスク、ハードディスクなどの記憶媒体に記憶させておくことができ、本発明は、それらの記憶媒体をも含むものであり、また、ネットワークからデータを得る形式でもよい。
【０１７０】
【発明の効果】
以上説明したように、本発明は、シェーディングの影響が顕著に現れやすい文字や図形などの線画に対して、所定ライン単位でシェーディングの影響を除去するようにしている。特に、１ラインづつの処理を行うことにより、ワークメモリとしては１ライン分の画像データ用ラインメモリと背景予測用ラインメモリで済むためワークメモリの小容量化を図ることができ、装置全体の小型軽量化に寄与し、低コスト化も図れる。また、１ラインごとの処理であるため、画像の取り込みを行いながら１ラインの処理が終了したらそれを表示し、次の１ラインの処理が終了したらそれを表示するということができるため、連続的な入力に対応しやすいという効果も得られる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の全体的な処理を説明するフローチャート。
【図２】第１の実施の形態を説明するための画像の一例を示す図。
【図３】第１の実施の形態において画像のある１ラインにおける背景予測処理から背景補正処理までを説明する図。
【図４】第１の実施の形態における背景予測処理を説明するフローチャート。
【図５】第１の実施の形態における背景予測の修正処理を説明するフローチャート。
【図６】第１の実施の形態における画像処理装置をＣＣＤカメラと組み合わせた装置構成例を示す図。
【図７】本発明の第２の実施の形態の全体的な処理を説明するフローチャート。
【図８】第２の実施の形態におけるｎ−１個のしきい値を算出する処理手順を説明するフローチャート。
【図９】ｎ−１個のしきい値算出方法の一例を説明するための輝度値に対する画素の累積度数分布を示す図。
【図１０】第２の実施の形態におけるｎ値化処理を説明するフローチャート。
【図１１】第２の実施の形態における画像処理装置をＣＣＤカメラと組み合わせた装置構成例を示す図。
【図１２】本発明の第３の実施の形態の全体的な処理を説明するフローチャート。
【図１３】第３の実施の形態における線画判断の処理手順を説明するフローチャート。
【図１４】線画判断に必要なデータについてを文字部分の輝度変化を例にして説明する図。
【図１５】第３の実施の形態における画像処理装置をＣＣＤカメラと組み合わせた装置構成例を示す図。
【図１６】本発明の第４の実施の形態の全体的な処理を説明するフローチャート。
【図１７】第４の実施の形態における画像処理装置をＣＣＤカメラと組み合わせた装置構成例を示す図。
【図１８】本発明において画像を連続入力する場合の処理を第４の実施の形態を例にとって説明するフローチャート。
【図１９】レンズの収差に対処する処理を説明するための画像例とレンズ収差の影響を受けた画像の輝度分布例を示す図。
【図２０】レンズの収差に対処する処理を説明するための図。
【符号の説明】
１  レンズ
２  ＣＣＤカメラ
３  Ａ／Ｄ変換器
４  ＣＣＤ制御回路
５  画像処理装置
５１  画像データ用ラインメモリ
５２  背景予測用ラインメモリ
５３  背景予測手段
５４  予測結果修正手段
５５  背景補正手段
５６  シェーディング補正部
６１  しきい値算出手段
６２  ｎ値化処理手段
６３  線画用階調処理部
７１  線画判断手段
７２  シェーディング補正設定スイッチ
８１  自然画用階調処理手段
８２  選択スイッチ
【図１】
0003804214.tif 000002
【図２】
0003804214.tif 000003
【図３】
0003804214.tif 000004
【図４】
0003804214.tif 000005
【図５】
0003804214.tif 000006
【図６】
0003804214.tif 000007
【図７】
0003804214.tif 000008
【図８】
0003804214.tif 000009
【図９】
0003804214.tif 000010
【図１０】
0003804214.tif 000011
【図１１】
0003804214.tif 000012
【図１２】
0003804214.tif 000013
【図１３】
0003804214.tif 000014
【図１４】
0003804214.tif 000015
【図１５】
0003804214.tif 000016
【図１６】
0003804214.tif 000017
【図１７】
0003804214.tif 000018
【図１８】
0003804214.tif 000019
【図１９】
0003804214.tif 000020
【図２０】
0003804214.tif 000021