(57)【要約】【課題】僅かな負荷で画像のコントラストを補正することが可能な画像処理装置、画像処理方法及びプログラムを提供する。【解決手段】画素信号が入力され、入力された画素信号の輝度値と、入力された画素信号より前に入力された画素信号の輝度値によって決定されている輝度値の第一の最大値又は第一の最小値とを比較しながら、輝度値の第二の最大値及び第二の最小値をフレーム毎に算出する学習部１０２と、算出された第二の最大値及び第二の最小値に基づいて、画素信号の輝度値を補正し、輝度値の補正値を出力する補正値算出部１０４とを備える。【選択図】図１
2012054659.tif 000002
【特許請求の範囲】
【請求項１】
画素信号が入力され、入力された画素信号の輝度値と、前記入力された画素信号より前に入力された画素信号の輝度値によって決定されている輝度値の第一の最大値又は第一の最小値とを比較しながら、輝度値の第二の最大値及び第二の最小値をフレーム毎に算出する学習部と、
算出された前記第二の最大値及び前記第二の最小値に基づいて、前記画素信号の輝度値を補正し、輝度値の補正値を出力する補正値算出部と
を備える、画像処理装置。
【請求項２】
前記学習部は、入力された画素信号の輝度値と前記第一の最大値との比較の結果、入力された画素信号の輝度値が前記第一の最大値より大きいとき、前記第一の最大値に学習速度を加算して、新たな前記第一の最大値を算出することを繰り返し、フレーム内の画素に対して算出が終了したときの前記第一の最大値を輝度値の第二の最大値としてフレーム毎に算出し、入力された画素信号の輝度値と前記第一の最小値との比較の結果、入力された画素信号の輝度値が前記第一の最小値より小さいとき、前記第一の最小値に学習速度を減算して、新たな前記第一の最小値を算出することを繰り返し、フレーム内の画素に対して算出が終了したときの前記第一の最小値を輝度値の第二の最小値としてフレーム毎に算出する、請求項１に記載の画像処理装置。
【請求項３】
前記学習部は、２フレーム以上の画素に対して、新たな前記第一の最小値を算出することを繰り返し、前記２フレーム以上の画素に対して算出が終了したときの前記第一の最小値を輝度値の第二の最小値としてフレーム毎に算出する、請求項２に記載の画像処理装置。
【請求項４】
前記学習速度は、固定値である、請求項２に記載の画像処理装置。
【請求項５】
前記学習速度は、入力された画素信号の輝度値に応じて変化する値である、請求項２に記載の画像処理装置。
【請求項６】
前記学習部は、輝度値の第二の最大値及び第二の最小値をフレーム間で平滑化して算出する、請求項１に記載の画像処理装置。
【請求項７】
画素信号が入力され、入力された画素信号の輝度値と、前記入力された画素信号より前に入力された画素信号の輝度値によって決定されている輝度値の第一の最大値又は第一の最小値とを比較しながら、輝度値の第二の最大値及び第二の最小値をフレーム毎に算出するステップと、
算出された前記第二の最大値及び前記第二の最小値に基づいて、前記画素信号の輝度値を補正し、輝度値の補正値を出力するステップと
を備える、画像処理方法。
【請求項８】
画素信号が入力され、入力された画素信号の輝度値と、前記入力された画素信号より前に入力された画素信号の輝度値によって決定されている輝度値の第一の最大値又は第一の最小値とを比較しながら、輝度値の第二の最大値及び第二の最小値をフレーム毎に算出する手段、
算出された前記第二の最大値及び前記第二の最小値に基づいて、前記画素信号の輝度値を補正し、輝度値の補正値を出力する手段
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
入力された画像信号に対してコントラストを補正する際、カメラやディスプレイなどの電子機器において、ユーザによって調整が行われることがある。一方、電子機器が自動にコントラストを補正する場合、１フレーム内の画像信号の輝度の最大値と最小値を推定する必要がある。そのため、通常、輝度のヒストグラムを生成して、そのヒストグラムを解析して、最適な最大値と最小値を推定する。
【０００３】
また、特許文献１では、複数のテーブルのうちの一つのテーブルに映像信号を与えて、映像信号を変化させ、これによって画像の明るさやコントラストを変化するようにした技術が開示されている。更に、特許文献２では、ガラス越し撮影や霧がかった状態で撮影しても、被写体が鮮明に撮影できるように、信号レベルの最低値を検出して、映像信号レベルを適切なレベルまで下げて被写体のコントラストを回復する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平３−４３２３号公報
【特許文献２】特開２００４−２８９２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
霧や砂嵐等の影響で、画像はコントラストが失われることがある。このような画像に対して、コントラストを強調させることで、画像の視認性を向上させることができる。
【０００６】
ユーザによってコントラストの調整が行われる場合、コントラストの補正は、固定値によって行われる。そのため、環境が変わったことによる被写体の変化に対応して、コントラストを補正できない。その結果、入力した画像信号に対してコントラストを過度に強調したり、コントラストが不足したりする場合がある。
【０００７】
また、１フレーム内の画像信号を用いて輝度の最大値と最小値を推定し、自動にコントラストを補正する場合、フレーム毎にヒストグラムの生成とヒストグラムの解析の両方が必要となる。そのため、画像処理装置における負荷が高くなるという問題がある。
【０００８】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、僅かな負荷で画像のコントラストを補正することが可能な、新規かつ改良された画像処理装置、画像処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある観点によれば、画素信号が入力され、入力された画素信号の輝度値と、入力された画素信号より前に入力された画素信号の輝度値によって決定されている輝度値の第一の最大値又は第一の最小値とを比較しながら、輝度値の第二の最大値及び第二の最小値をフレーム毎に算出する学習部と、算出された第二の最大値及び第二の最小値に基づいて、画素信号の輝度値を補正し、輝度値の補正値を出力する補正値算出部とを備える画像処理装置が提供される。
【００１０】
上記学習部は、入力された画素信号の輝度値と第一の最大値との比較の結果、入力された画素信号の輝度値が第一の最大値より大きいとき、第一の最大値に学習速度を加算して、新たな第一の最大値を算出することを繰り返し、フレーム内の画素に対して算出が終了したときの第一の最大値を輝度値の第二の最大値としてフレーム毎に算出し、入力された画素信号の輝度値と第一の最小値との比較の結果、入力された画素信号の輝度値が第一の最小値より小さいとき、第一の最小値に学習速度を減算して、新たな第一の最小値を算出することを繰り返し、フレーム内の画素に対して算出が終了したときの第一の最小値を輝度値の第二の最小値としてフレーム毎に算出してもよい。
【００１１】
上記学習部は、２フレーム以上の画素に対して、新たな第一の最小値を算出することを繰り返し、２フレーム以上の画素に対して算出が終了したときの第一の最小値を輝度値の第二の最小値としてフレーム毎に算出してもよい。
【００１２】
上記学習速度は、固定値であってもよい。
【００１３】
上記学習速度は、入力された画素信号の輝度値に応じて変化する値であってもよい。
【００１４】
上記学習部は、輝度値の第二の最大値及び第二の最小値をフレーム間で平滑化して算出してもよい。
【００１５】
また、上記課題を解決するために、本発明の別の観点によれば、画素信号が入力され、入力された画素信号の輝度値と、入力された画素信号より前に入力された画素信号の輝度値によって決定されている輝度値の第一の最大値又は第一の最小値とを比較しながら、輝度値の第二の最大値及び第二の最小値をフレーム毎に算出するステップと、算出された第二の最大値及び第二の最小値に基づいて、画素信号の輝度値を補正し、輝度値の補正値を出力するステップとを備える画像処理方法が提供される。
【００１６】
また、上記課題を解決するために、本発明の別の観点によれば、画素信号が入力され、入力された画素信号の輝度値と、入力された画素信号より前に入力された画素信号の輝度値によって決定されている輝度値の第一の最大値又は第一の最小値とを比較しながら、輝度値の第二の最大値及び第二の最小値をフレーム毎に算出する手段、算出された第二の最大値及び第二の最小値に基づいて、画素信号の輝度値を補正し、輝度値の補正値を出力する手段としてコンピュータを機能させるためのプログラムが提供される。
【発明の効果】
【００１７】
以上説明したように本発明によれば、僅かな負荷で画像のコントラストを補正することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係るコントラスト補正回路１００を示すブロック図である。
【図２】同実施形態に係る学習回路１０２を示すブロック図である。
【図３】同実施形態に係る学習回路１０２が最大値を算出する動作を示すフローチャートである。
【図４】同実施形態に係る学習回路１０２が最小値を算出する動作を示すフローチャートである。
【図５】画像信号の輝度値と画素位置の関係を示すグラフである。
【図６】画像信号の輝度値と画素位置の関係を示すグラフである。
【図７】同実施形態に係る学習回路２０２を示すブロック図である。
【図８】同実施形態に係る学習回路３０２を示すブロック図である。
【図９】座標軸との関係を示すフレーム１０を示す説明図である。
【発明を実施するための形態】
【００１９】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２０】
なお、説明は以下の順序で行うものとする。
１．第１の実施形態の構成
２．第１の実施形態の動作
【００２１】
＜１．第１の実施形態の構成＞
本発明の第１の実施形態に係るコントラスト補正回路１００について説明する。
コントラスト補正回路１００は、学習回路１０２と、補正値算出回路１０４からなる。コントラスト補正回路１００は、画像処理装置の一例であり、カメラやエンコーダ等の画像信号入力装置に適用でき、入力された画像信号に対して画像処理する。また、コントラスト補正回路１００は、ディスプレイやデコーダ等の画像信号出力装置にも適用でき、出力する画像信号に対して画像処理する。
【００２２】
コントラスト補正回路１００は、例えば図５に示すような低コントラスト状態の画像信号に対してコントラスト補正し、図６に示すようなコントラストが強調された状態の画像信号を出力する。図５及び図６は、画像信号の輝度値と画素位置の関係を示すグラフである。縦軸は、画像信号の輝度値であり、横軸は図９に示すようにフレーム１０に対してｘｙ軸をとったときの各画素の位置に対応する。
【００２３】
学習回路１０２は、学習部の一例であり、入力された画素信号に基づいて、コントラスト補正値の算出に必要な１フレーム内の輝度値の最大値及び最小値を算出する。算出される最大値及び最小値は、第二の最大値及び第二の最小値の一例であり、１フレーム内の輝度値の実際の最大値及び最小値ではなく、コントラスト補正に適した最大値及び最小値である。すなわち、実際の最大値及び最小値では、画像全体の輝度値の分布よりも、一画素の輝度値に依存するため、霧や砂嵐等の影響で画像全体としてコントラストが失われている場合のコントラスト補正に適さない。そのため、画像全体の輝度値の分布に合った、コントラスト補正に適した最大値及び最小値が算出される必要がある。コントラスト補正に使用される最大値と最小値は、フレーム毎に変化するため、環境の変化に動的に対応し、常に視認性の高い画像を再現できる。
【００２４】
補正値算出回路１０４は、補正値算出部の一例であり、学習回路１０２で算出された輝度値の最大値及び最小値を使用して、輝度値を補正し、輝度値の補正値であるコントラスト補正値を算出する。コントラスト補正値の算出は、下の式１で表される。
Ｌ’（ｘ，ｙ）＝（Ｌ（ｘ，ｙ）−Ｌｍｉｎ）×（２５５／（Ｌｍａｘ−Ｌｍｉｎ））
……（式１）
ここで、Ｌ’（ｘ，ｙ）は、画素位置（ｘ，ｙ）における画素の輝度値が補正された値であり、Ｌ（ｘ，ｙ）は、画素位置（ｘ，ｙ）における画素の輝度値であり、Ｌｍａｘ、Ｌｍｉｎはそれぞれ学習回路１０２で算出された最大値及び最小値である。
【００２５】
式１によれば、最大値及び最小値の差が小さいほど、輝度値が強く補正され、元の画像に対してコントラストが強調されるようになる。すなわち、最大値及び最小値の差が小さい場合とは、霧や砂嵐等の影響でコントラストが失われている画像であり、式１による補正値の算出によって、これらの画像に対してコントラストを強調させることができる。反対に、最大値及び最小値の差が大きい場合は、輝度値は弱く補正され、コントラスト補正の影響は弱くなる。すなわち、最大値及び最小値の差が大きい場合とは、元の画像がコントラストのある画像であり、式１による補正値の算出によっても輝度値は変化しないか、僅かに変化するのみであり、コントラスト補正によって画像は影響を受けない。
【００２６】
＜２．第１の実施形態の動作＞
次に、学習回路１０２による画像信号の最大値、最小値の算出について説明する。
ここで、入力される画像信号の輝度値は、８ｂｉｔ、すなわち０〜２５５までの値をとると仮定する。
【００２７】
まず、学習回路１０２は、学習開始時に最大値、最小値の初期値を設定する（ステップＳ１１、Ｓ２１）。最大値の初期値は、Ｌｍａｘ＝０、最小値の初期値は、Ｌｍｉｎ＝２５５とする。
【００２８】
次に、先頭の画素位置（０，０）にある画素から最後尾の画素位置（ｗｉｄｔｈ−１，ｈｅｉｇｈｔ−１）まで、順次輝度値が入力される（ステップＳ１２、２２）。そして、輝度値Ｌ（０，０）からＬ（ｗｉｄｔｈ−１，ｈｅｉｇｈｔ−１）までを対象として、順次学習が行われる（ステップＳ１３、Ｓ１４、Ｓ２３、Ｓ２４）。なお、学習ステップ数は任意であり、全ての画素に対して学習を行ってもよいし、画素をスキップして任意の画素に対してのみ学習を行ってもよい。
【００２９】
学習による最大値（又は最小値）は、既に入力された画素に基づいて決定された最大値（又は最小値）（それぞれ第一の最大値又は第一の最小値の一例である。）と、新たに入力される画素の輝度値を比較して決定される。なお、Ｌ（０，０）の場合は最大値、最小値の初期値と比較される。
【００３０】
最大値が算出される場合、まず、Ｌ（ｘ，ｙ）＞Ｌｍａｘが判断される。すなわち、最新の最大値Ｌｍａｘ（第一の最大値）と、入力された画素の輝度値Ｌ（ｘ，ｙ）を比較する（ステップＳ１３）。
【００３１】
比較の結果、入力された画素の輝度値Ｌ（ｘ，ｙ）が最新の最大値Ｌｍａｘより大きい場合は、下式の通り、最新の最大値ＬｍａｘにＳｍａｘを加算する（ステップＳ１４）。その結果、最新の最大値Ｌｍａｘが更新される。
Ｌｍａｘ’＝Ｌｍａｘ＋Ｓｍａｘ
【００３２】
そして、学習回路１０２は、上記の比較と加算を繰り返し、フレーム内の画素に対して算出が終了したときの最新の最大値Ｌｍａｘを、コントラスト補正に適した最大値として、補正値算出回路１０４に出力する。
【００３３】
最新の最大値Ｌｍａｘの算出の際、Ｓｍａｘだけ加算するようにすることで、極端に値が大きい輝度値Ｌ（ｘ，ｙ）が入力された場合でも、その値に影響を受けることなく、学習によって得られる最大値を、コントラスト補正に適した最大値へ収束させることができる。
【００３４】
一方、最小値が算出される場合、まず、Ｌ（ｘ，ｙ）＜Ｌｍｉｎが判断される。すなわち、最新の最小値Ｌｍｉｎ（第一の最小値）と、入力された画素の輝度値Ｌ（ｘ，ｙ）を比較する（ステップＳ２３）。
【００３５】
比較の結果、入力された画素の輝度値Ｌ（ｘ，ｙ）が現時点の最小値Ｌｍｉｎより小さい場合は、下式の通り、最新の最小値ＬｍｉｎにＳｍｉｎを減算する（ステップＳ２４）。その結果、最新の最小値Ｌｍｉｎが更新される。
Ｌｍｉｎ’＝Ｌｍｉｎ−Ｓｍａｘ
【００３６】
そして、学習回路１０２は、上記の比較と減算を繰り返し、フレーム内の画素に対して算出が終了したときの最新の最小値Ｌｍｉｎを、コントラスト補正に適した最小値として、補正値算出回路１０４に出力する。
【００３７】
最新の最小値Ｌｍｉｎの算出の際、Ｓｍｉｎだけ減算するようにすることで、極端に値が小さい輝度値Ｌ（ｘ，ｙ）が入力された場合でも、その値に影響を受けることなく、学習によって得られる最小値を、コントラスト補正に適した最小値へ収束させることができる。
【００３８】
なお、学習回路１０２は、１フレームではなく、複数のフレームで学習を行うとよい。
１フレームの学習だけでは、画面内のある位置に輝度の偏りがあった場合、正しく学習ができない場合がある。上述したとおり、学習回路１０２は、左上の画素から順次学習を行うため、画面内の上部が明るい画像では、最大値が早く収束し、上部が暗い画像では最小値が早く収束し、コントラスト補正に適した最大値又は最小値にならない場合がある。そのため、１フレームだけの画像で、最大値又は最小値を決定するのではなく、最低２フレーム以上での学習を行うようにするとよい。
【００３９】
なお、後述する学習係数によっては、画面内の位置ごとの輝度の偏りがあった場合でも、コントラスト補正に適した最大値又は最小値に収束させることができ、学習回路１０２における学習は１フレームでも可能である。
【００４０】
なお、Ｓｍａｘ、Ｓｍｉｎは、学習速度であり、以下に例を３通り示す。なお、Ａ，Ｂは学習係数であり、任意の固定値である。また、それぞれＡ＜１、Ｂ＜１が適当である。
【００４１】
例１）例えば、Ｓｍａｘ、Ｓｍｉｎを、下記のように固定値に設定して、学習回路１０２は最大値及び最小値を学習してもよい。この場合、学習回路１０２は、図２に示すような構成となり、低負荷である。
・Ｓｍａｘ＝Ａ
・Ｓｍｉｎ＝Ｂ
【００４２】
学習回路１０２は、例えば比較部１１２と、Ｓｍａｘ・Ｓｍｉｎ出力部１１４と、加算・減算部１１６と、フレーム数確認部１１８からなる。学習回路１０２は、最大値を算出する場合、比較部１１２が、Ｌ（ｘ，ｙ）＞Ｌｍａｘを判断する。そして、Ｌ（ｘ，ｙ）＞Ｌｍａｘの場合、Ｓｍａｘ・Ｓｍｉｎ出力部１１４が出力したＳｍａｘを使用して、加算・減算部１１６が、Ｌｍａｘ’＝Ｌｍａｘ＋Ｓｍａｘを演算する。その後、フレーム数確認部１１８が規定のフレーム数、例えば２フレーム分で学習を行ったかを確認する。学習回路１０２は、最小値を算出する場合、比較部１１２が、Ｌ（ｘ，ｙ）＜Ｌｍｉｎを判断する。そして、Ｌ（ｘ，ｙ）＜Ｌｍｉｎの場合、Ｓｍａｘ・Ｓｍｉｎ出力部１１４が出力したＳｍｉｎを使用して、加算・減算部１１６が、Ｌｍｉｎ’＝Ｌｍｉｎ−Ｓｍｉｎを演算する。その後、フレーム数確認部１１８が規定のフレーム数、例えば２フレーム分で学習を行ったかを確認する。
【００４３】
例２）例えば、Ｓｍａｘ、Ｓｍｉｎを、下記のように入力された画素の輝度値Ｌ（ｘ，ｙ）の重み付け値に設定して、学習回路２０２は最大値及び最小値を学習してもよい。学習回路２０２は、学習回路１０２の変更例である。
・Ｓｍａｘ＝Ｌ（ｘ，ｙ）＊Ａ
・Ｓｍｉｎ＝Ｌ（ｘ，ｙ）＊Ｂ
【００４４】
この場合、学習回路２０２は、図７に示すような構成となり、高負荷である。しかし、例１の場合、入力された画素の輝度値の大小に関わらず一定のＳｍａｘ、Ｓｍｉｎが現時点の最大値又は最小値に加算又は減算されるため、輝度の分布に関連付けされずに、学習によって最大値又は最小値が算出される。一方、例２の場合、入力された画素の輝度値の大小に応じて変化するＳｍａｘ、Ｓｍｉｎが最新の最大値又は最小値に加算又は減算される。その結果、輝度の分布に関連付けされて、学習によって最大値又は最小値が算出されるため、算出される値が安定する。
【００４５】
学習回路２０２は、例えば比較部２１２と、Ｓｍａｘ・Ｓｍｉｎ出力部２１４と、加算・減算部２１６と、フレーム数確認部２１８からなる。学習回路２０２は、最大値を算出する場合、比較部２１２が、Ｌ（ｘ，ｙ）＞Ｌｍａｘを判断する。また、Ｓｍａｘ・Ｓｍｉｎ出力部２１４が、Ｓｍａｘ＝Ｌ（ｘ，ｙ）＊Ａを演算し、Ｓｍａｘを出力する。そして、Ｌ（ｘ，ｙ）＞Ｌｍａｘの場合、Ｓｍａｘ・Ｓｍｉｎ出力部２１４が算出したＳｍａｘを使用して、加算・減算部２１６が、Ｌｍａｘ’＝Ｌｍａｘ＋Ｓｍａｘを演算する。その後、フレーム数確認部２１８が規定のフレーム数、例えば２フレーム分で学習を行ったかを確認する。学習回路２０２は、最小値を算出する場合、比較部２１２が、Ｌ（ｘ，ｙ）＜Ｌｍｉｎを判断する。また、Ｓｍａｘ・Ｓｍｉｎ出力部２１４が、Ｓｍｉｎ＝Ｌ（ｘ，ｙ）＊Ｂを演算し、Ｓｍｉｎを出力する。そして、Ｌ（ｘ，ｙ）＜Ｌｍｉｎの場合、Ｓｍａｘ・Ｓｍｉｎ出力部２１４が算出したＳｍｉｎを使用して、加算・減算部２１６が、Ｌｍｉｎ’＝Ｌｍｉｎ−Ｓｍｉｎを演算する。その後、フレーム数確認部２１８が規定のフレーム数、例えば２フレーム分で学習を行ったかを確認する。
【００４６】
例３）例えば、Ｓｍａｘ、Ｓｍｉｎを、下記のように入力された画素の輝度値Ｌ（ｘ，ｙ）と、現時点の最大値又は最小値との差分値の重み付け値に設定して、学習回路３０２は最大値及び最小値を設定してもよい。学習回路３０２は、学習回路１０２の変更例である。
・Ｓｍａｘ＝（Ｌ（ｘ，ｙ）−Ｌ’ｍａｘ）＊Ａ
・Ｓｍｉｎ＝（Ｌ’ｍｉｎ−Ｌ（ｘ，ｙ））＊Ｂ
【００４７】
この場合、学習回路３０２は、図８に示すような構成となり、高負荷である。しかし、例３の場合、入力された画素の輝度値の大小と、現時点の最大値又は最小値に応じて変化するＳｍａｘ、Ｓｍｉｎが最新の最大値又は最小値に加算又は減算される。その結果、輝度の分布に関連付けされて、学習によって最大値又は最小値が算出されるため、算出される値が安定する。
【００４８】
学習回路３０２は、例えば比較部３１２と、Ｓｍａｘ・Ｓｍｉｎ出力部３１４と、加算・減算部３１６と、フレーム数確認部３１８からなる。学習回路３０２は、最大値を算出する場合、比較部３１２が、Ｌ（ｘ，ｙ）＞Ｌｍａｘを判断する。また、Ｓｍａｘ・Ｓｍｉｎ出力部３１４が、加算・減算部３１６からＬ’ｍａｘを受けて、Ｓｍａｘ＝（Ｌ（ｘ，ｙ）−Ｌ’ｍａｘ）＊Ａを演算し、Ｓｍａｘを出力する。そして、Ｌ（ｘ，ｙ）＞Ｌｍａｘの場合、Ｓｍａｘ・Ｓｍｉｎ出力部３１４が算出したＳｍａｘを使用して、加算・減算部３１６が、Ｌｍａｘ’＝Ｌｍａｘ＋Ｓｍａｘを演算する。その後、フレーム数確認部３１８が規定のフレーム数、例えば２フレーム分で学習を行ったかを確認する。学習回路３０２は、最小値を算出する場合、比較部３１２が、Ｌ（ｘ，ｙ）＜Ｌｍｉｎを判断する。また、Ｓｍａｘ・Ｓｍｉｎ出力部３１４が、加算・減算部３１６からＬ’ｍｉｎを受けて、Ｓｍｉｎ＝（Ｌ’ｍｉｎ−Ｌ（ｘ，ｙ））＊Ｂを演算し、Ｓｍｉｎを出力する。そして、Ｌ（ｘ，ｙ）＜Ｌｍｉｎの場合、Ｓｍａｘ・Ｓｍｉｎ出力部３１４が算出したＳｍｉｎを使用して、加算・減算部３１６が、Ｌｍｉｎ’＝Ｌｍｉｎ−Ｓｍｉｎを演算する。その後、フレーム数確認部３１８が規定のフレーム数、例えば２フレーム分で学習を行ったかを確認する。
【００４９】
学習回路１０２は、更にフレーム間で最大値又は最小値を平滑化してもよい。
フレーム間で最大値、最小値が大きく変化すると、コントラスト補正によるフレーム間の画像の変化が大きくなり、画面内にチラつきが発生する。それを防ぐために、フレーム間で最大値又は最小値を平滑化してもよい。
【００５０】
例えば、Ｌｍａｘ［０］，Ｌｍｉｎ［０］を最新の学習結果とし、１フレーム前の平滑化済みのものをＬｍａｘ［−１］，Ｌｍｉｎ［−１］とした場合、新たに平滑化の結果によって得られる最大値又は最小値は、例えば下式のとおりである。
【００５１】
Ｌｍａｘ＝Ｌｍａｘ［０］×α＋Ｌｍａｘ［−１］×（１−α）
Ｌｍｉｎ＝Ｌｍｉｎ［０］×α＋Ｌｍｉｎ［−１］×（１−α）
【００５２】
ここで、α：０〜１の平滑化係数である。αは、０に近いほど、１フレーム前の平滑化済みの最大値又は最小値に近くなり、強く平滑化する。
【００５３】
このように、最大値又は最小値を平滑化することで、画面のチラつきを防ぐことができる。但し、上の式による平滑化だけでは、急激な環境の変化に対する対応が難しい。そのため、差分（Ｌｍａｘ［０］−Ｌｍａｘ［−１］）などを基準にして、平滑化係数αを動的に調整してもよい。その結果、急激な環境の変化に対応することができる。
【００５４】
なお、学習回路１０２で算出される最大値、最小値には、下記のように制限を設けてもよい。
例）Ｌｍａｘ＝１９２、Ｌｍｉｎ＝６４
このようにしておくことで、最大値と最小値の差が小さくなり過ぎることによる、過度なコントラスト補正を防止できる。
【００５５】
以上、本実施形態によれば、霧や砂嵐等によって、コントラストが弱い画像に対して、コントラストを改善し、視認性を高めることができる。すなわち、画像の黒浮きや白沈みを補正することができる。また、フレーム毎にコントラスト補正に使用される最大値と最小値が変化するため、環境の変化に動的に対応し、常に視認性の高い画像を再現できる。
【００５６】
更に、コントラスト補正に使用される最大値と最小値を求めるため、フレーム毎にヒストグラムの生成とヒストグラムの解析をする必要がない。すなわち、画素単位で最大値、最小値の比較をしながら、コントラスト補正に適したおおよその最大値と最小値が学習によって決定されるため、僅かな負荷で、適切な最大値と最小値を求めることができる。また、本実施形態は、ハードウェア処理に適している。
【００５７】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【００５８】
１００    コントラスト補正回路
１０２，２０２，３０２    学習回路
１０４    補正値算出回路
１１２，２１２，３１２    比較部
１１４，２１４，３１４    Ｓｍａｘ・Ｓｍｉｎ出力部
１１６，２１６，３１６    加算・減算部
１１８，２１８，３１８    フレーム数確認部
【図１】
2012054659.tif 000003
【図２】
2012054659.tif 000004
【図３】
2012054659.tif 000005
【図４】
2012054659.tif 000006
【図５】
2012054659.tif 000007
【図６】
2012054659.tif 000008
【図７】
2012054659.tif 000009
【図８】
2012054659.tif 000010
【図９】
2012054659.tif 000011