(57)【要約】【課題】低い処理負担で高速に画像中の霧を除去する。【解決手段】入力画像に基づいてダークチャネル画像を生成するダークチャネル画像生成部２０と、ダークチャネル画像生成部２０により生成されたダークチャネル画像と大気光画素値とに基づいて透過率画像を生成する透過率画像生成部３０と、透過率画像生成部３０により生成された透過率画像を補正する透過率補正部４０と、透過率補正部４０により補正された透過率画像と大気光画素値と入力画像とに基づいて入力画像中の霧を除去する霧除去画像生成部６０と、備える。【選択図】図１
2015103001.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に基づいてダークチャネル画像を生成するダークチャネル画像生成部と、
前記ダークチャネル画像生成部により生成された前記ダークチャネル画像と大気光画素値とに基づいて透過率画像を生成する透過率画像生成部と、
前記透過率画像生成部により生成された前記透過率画像を補正する透過率補正部と、
前記透過率補正部により補正された透過率画像と前記大気光画素値と前記入力画像とに基づいて前記入力画像中の霧を除去する霧除去画像生成部と、備える画像処理装置。
【請求項２】
前記透過率補正部は、前記透過率画像を所定領域に分割し、分割した各所定領域の各画素の透過率の平均値により２値化を行い、前記各所定領域における２値化された各値の個数と前記各所定領域内の各値の透過率の平均値とに基づいて、前記各所定領域内の各画素の透過率を選択する請求項１記載の画像処理装置。
【請求項３】
前記透過率補正部は、前記透過率画像に対してモルフォロジー処理を実行する請求項１記載の画像処理装置。
【請求項４】
前記透過率補正部により補正された前記透過率画像の各画素の透過率と前記透過率画像生成部により生成された前記透過率画像の各画素の透過率とを乗算し、乗算した値の平方根演算を行うことで前記透過率画像を整形する透過率整形部を備え、
前記霧除去画像生成部は、前記透過率整形部により整形された前記透過率画像と前記大気光画素値と前記入力画像とに基づいて前記入力画像中の霧を除去する請求項２または請求項３記載の画像処理装置。
【請求項５】
入力画像のレンジを拡大するレンジ補正部を備え、
前記ダークチャネル画像生成部は、前記レンジ補正部によりレンジが拡大された画像に基づいてダークチャネル画像を生成し、
前記霧除去画像生成部は、前記透過率補正部により補正された前記透過率画像と前記大気光画素値と前記レンジ補正部によりレンジが拡大された前記画像とに基づいて前記画像中の霧を除去する請求項１から請求項４のうちいずれか１項に記載の画像処理装置。
【請求項６】
前記レンジ補正部は、
前記入力画像の領域のレンジを拡大する第１レンジ補正部と、
前記入力画像を複数の領域に分割し、分割した複数の領域のレンジを拡大する第２レンジ補正部と、
前記第１レンジ補正部によりレンジが拡大された画像と前記第２レンジ補正部によりレンジが拡大された画像とを合成する合成部と、を有する請求項５記載の画像処理装置。
【請求項７】
前記合成部は、前記第１レンジ補正部によりレンジが拡大された画像に第１係数を乗算し、前記第２レンジ補正部によりレンジが拡大された画像に第２係数を乗算し、それらの画像を加算する請求項６記載の画像処理装置。
【請求項８】
前記第２レンジ補正部は、レンジを拡大した画像に対して補間処理を実行する請求項６または請求項７記載の画像処理装置。
【請求項９】
画像中の霧を除去する画像処理方法であって、
入力画像に基づいてダークチャネル画像を生成するダークチャネル画像生成ステップと、
前記ダークチャネル画像生成ステップにより生成された前記ダークチャネル画像と大気光画素値とに基づいて透過率画像を生成する透過率画像生成ステップと、
前記透過率画像生成ステップにより生成された前記透過率画像を補正する透過率補正ステップと、
前記透過率補正ステップにより補正された透過率画像と前記大気光画素値と前記入力画像とに基づいて前記入力画像中の霧を除去する霧除去画像生成ステップと、含む画像処理方法。
【請求項１０】
画像処理装置の演算装置に、
入力画像に基づいてダークチャネル画像を生成するダークチャネル画像生成処理と、
前記ダークチャネル画像生成処理により生成された前記ダークチャネル画像と大気光画素値とに基づいて透過率画像を生成する透過率画像生成処理と、
前記透過率画像生成処理により生成された前記透過率画像を補正する透過率補正処理と、
前記透過率補正処理により補正された透過率画像と前記大気光画素値と前記入力画像とに基づいて前記入力画像中の霧を除去する霧除去画像生成処理と、を実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中の霧を除去する画像処理装置、画像処理方法、及び制御プログラムに関する。
【背景技術】
【０００２】
画像中の霧を除去する画像処理方法として、例えば非特許文献１に記載された方法が知られている。この画像処理方法においては、画像処理装置が入力画像の各画素（各ピクセル）の画素値（Ｒ，Ｇ，Ｂ）を、大気光の画素値（Ｒ，Ｇ，Ｂ）で割ることによって入力画像を補正する。また、画像処理装置は、ダークチャネル(Dark Channel)という局所領域におけるＲ，Ｇ，Ｂの最小値を用いて、補正した入力画像の霧の密度を推定する。そして、画像処理装置は、霧の密度から粗い精度の透過率を算出する。さらに、画像処理装置は、ソフトマッティングという手法を用いて細かい精度の透過率を算出する。画像処理装置は、この透過率を用いて画像中の霧を除去する。
【先行技術文献】
【特許文献】
【０００３】
【非特許文献１】Ｋ．Ｈｅ，Ｊ．Ｓｕｎ  ａｎｄ  Ｘ．Ｔａｎｇ、“Ｓｉｎｇｌｅ  Ｉｍａｇｅ  Ｈａｚａ  Ｒｅｍｏｖａｌ  Ｕｓｉｎｇ  Ｄａｒｋ  Ｃｈａｎｎｅｌ  Ｐｒｉｏｒ”ＣＶＰＲ，２００９
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したように、画像処理装置は、局所領域においてダークチャネルを求める。この局所領域は、透過率が一定とみなされる領域であることが望ましい。しかし、上記した非特許文献１に記載された方法では、ダークチャネルを求める画素を中心とした予め定められた大きさの領域とされている。このため、局所領域内における透過率は一定ではなくムラがある。従って、上記した非特許文献１の方法では、画像処理装置はソフトマッティングにより均一化処理を行うが、ソフトマッティングは処理負荷が高く、処理時間がかかってしまう。
【０００５】
本発明は、前述した事情に鑑みてなされたものであり、低い処理負担で高速に画像中の霧を除去する画像処理装置、画像処理方法、及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明では、入力画像に基づいてダークチャネル画像を生成するダークチャネル画像生成部と、ダークチャネル画像生成部により生成されたダークチャネル画像と大気光画素値とに基づいて透過率画像を生成する透過率画像生成部と、透過率画像生成部により生成された透過率画像を補正する透過率補正部と、透過率補正部により補正された透過率画像と大気光画素値と入力画像とに基づいて入力画像中の霧を除去する霧除去画像生成部と、備える画像処理装置が提供される。
【０００７】
また、本発明では、透過率補正部は、透過率画像を所定領域に分割し、分割した各所定領域の各画素の透過率の平均値により２値化を行い、各所定領域における２値化された各値の個数と各所定領域内の各値の透過率の平均値とに基づいて、各所定領域内の各画素の透過率を選択する。このような構成によれば、ソフトマッティングと比較して処理負担をかけずに透過率の均一化を行うことができる。
【０００８】
また、本発明では、透過率補正部は、透過率画像に対してモルフォロジー処理を実行する。このような構成によっても、処理負担をかけずに透過率の均一化を行うことができる。
【０００９】
また、本発明では、透過率補正部により補正された透過率画像の各画素の透過率と透過率画像生成部により生成された透過率画像の各画素の透過率とを乗算し、乗算した値の平方根演算を行うことで透過率画像を整形する透過率整形部を備え、霧除去画像生成部は、透過率整形部により整形された透過率画像と大気光画素値と入力画像とに基づいて入力画像中の霧を除去する。このような構成によれば、透過率補正部による透過率画像の補正を行った場合におけるハローの発生を抑制することができる。
【００１０】
また、本発明では、入力画像のレンジを拡大するレンジ補正部を備え、ダークチャネル画像生成部は、レンジ補正部によりレンジが拡大された画像に基づいてダークチャネル画像を生成し、霧除去画像生成部は、透過率補正部により補正された透過率画像と大気光画素値とレンジ補正部によりレンジが拡大された画像とに基づいて画像中の霧を除去する。このような構成によれば、入力画像のダイナミックレンジを拡大して画像中の霧を低減することができる。
【００１１】
また、本発明では、レンジ補正部は、入力画像の領域のレンジを拡大する第１レンジ補正部と、入力画像を複数の領域に分割し、分割した複数の領域のレンジを拡大する第２レンジ補正部と、第１レンジ補正部によりレンジが拡大された画像と第２レンジ補正部によりレンジが拡大された画像とを合成する合成部と、を有する。このような構成によれば、複数階層においてレンジの拡大が行われた画像を合成し、より確実に霧の低減を実現することができる。
【００１２】
また、本発明では、合成部は、第１レンジ補正部によりレンジが拡大された画像に第１係数を乗算し、第２レンジ補正部によりレンジが拡大された画像に第２係数を乗算し、それらの画像を加算する。このような構成によれば、各画像における重み付けを行った上で画像の合成を行うことができる。
【００１３】
また、本発明では、第２レンジ補正部は、レンジを拡大した画像に対して補間処理を実行する。従って、分割した領域間における画素値の連続性を持たせることができる。
【００１４】
本発明では、画像中の霧を除去する画像処理方法であって、入力画像に基づいてダークチャネル画像を生成するダークチャネル画像生成ステップと、ダークチャネル画像生成ステップにより生成されたダークチャネル画像と大気光画素値とに基づいて透過率画像を生成する透過率画像生成ステップと、透過率画像生成ステップにより生成された透過率画像を補正する透過率補正ステップと、透過率補正ステップにより補正された透過率画像と大気光画素値と入力画像とに基づいて入力画像中の霧を除去する霧除去画像生成ステップと、含む画像処理方法が提供される。
【００１５】
本発明では、画像処理装置の演算装置に、入力画像に基づいてダークチャネル画像を生成するダークチャネル画像生成処理と、ダークチャネル画像生成処理により生成されたダークチャネル画像と大気光画素値とに基づいて透過率画像を生成する透過率画像生成処理と、透過率画像生成処理により生成された透過率画像を補正する透過率補正処理と、透過率補正処理により補正された透過率画像と大気光画素値と入力画像とに基づいて入力画像中の霧を除去する霧除去画像生成処理と、を実行させる制御プログラムが提供される。
【発明の効果】
【００１６】
本発明によれば、低い処理負担で高速に画像中の霧を除去することができる。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態に係る画像処理装置の構成を示すブロック図である。
【図２】図１に示すダイナミックレンジ補正部の構成を示すブロック図である。
【図３】第１実施形態に係る画像処理方法を説明するためのフローチャートである。
【図４】１エリア分割拡大部、４エリア分割拡大部、及び９エリア分割拡大部によるヒストグラムの生成対象の領域を示す図である。
【図５】エリア分割拡大部が生成するヒストグラムの一例を示す図である。
【図６】バイリニア補完処理を説明するための図である。
【図７】透過率補正部による透過率補正処理を示すフローチャートである。
【図８】第２実施形態に係る画像処理装置の構成を示すブロック図である。
【図９】第２実施形態に係る画像処理方法を説明するためのフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について図面を参照して説明する。ただし、本発明はこれに限定されるものではない。また、図面においては、実施形態を説明するため、一部分を大きくまたは強調して記載するなど適宜縮尺を変更して表現することがある。
【００１９】
＜第１実施形態＞
図１は、第１実施形態に係る画像処理装置１の構成を示すブロック図である。図１に示す画像処理装置１は、画像処理として画像中の霧を除去する処理を行う装置である。ここで、霧とは微細な水粒が大気中に浮遊していることによって視程が小さくなる現象をいう。霧のことを靄や霞などともいう。なお、霧に限定されず、大気中の微粒子により画像中の被写体が見えにくくなる現象が含まれる。また、画像には静止画、動画が含まれる。画像処理装置１は、図１に示すように、ダイナミックレンジ補正部（レンジ補正部）１０、大気光画素値算出部（ダークチャネル画像生成部）２０、透過率算出部（透過率画像生成部）３０、透過率補正部４０、透過率整形部５０、及び霧除去画像生成部６０を備えている。ダイナミックレンジ補正部１０は、画像のダイナミックレンジを拡大する処理（前処理）を行う。このような処理が行われることにより、画像中の霧が低減される。
【００２０】
図２は、図１に示すダイナミックレンジ補正部１０の構成を示すブロック図である。図２に示すように、ダイナミックレンジ補正部１０は、１エリア分割拡大部（第１レンジ補正部）１１、４エリア分割拡大部（第２レンジ補正部）１２、９エリア分割拡大部（第２レンジ補正部）１３、及びエリア合成部（合成部）１４を有している。入力画像の各画素の画素値は、途中で分岐して１エリア分割拡大部１１、４エリア分割拡大部１２、及び９エリア分割拡大部１３にそれぞれ出力される。
【００２１】
１エリア分割拡大部１１は、入力画像の全領域のダイナミックレンジを拡大する。図２に示すように、１エリア分割拡大部１１は、第１ヒストグラム生成部１１ａ、レンジ算出部１１ｂ、及びレンジ拡大部１１ｃを含んでいる。第１ヒストグラム生成部１１ａは、入力画像の全領域のヒストグラムを生成する。ヒストグラムは、どのような明るさの画素がどれくらいあるかを示す表である（図５参照）。レンジ算出部１１ｂは、第１ヒストグラム生成部１１ａが生成した入力画像の全領域のヒストグラムを用いて入力画像のノイズ成分を除去（削除）する。レンジ拡大部１１ｃは、レンジ算出部１１ｂが入力画像のノイズ成分を除去したレンジを所定のレンジに拡大するレンジ拡大処理を行う。そして、レンジ拡大部１１ｃは、レンジ拡大後の各画素の画素値をエリア合成部１４に出力する。
【００２２】
４エリア分割拡大部１２は、入力画像の領域を４つの領域（エリア）に分割し、分割した４つの領域それぞれのダイナミックレンジを拡大する。図２に示すように、４エリア分割拡大部１２は、第２ヒストグラム生成部１２ａ、レンジ算出部１２ｂ、及びレンジ拡大部１２ｃを含んでいる。第２ヒストグラム生成部１２ａは、入力画像の領域を４つの領域に分割し、分割した４つの領域それぞれのヒストグラムを生成する。レンジ算出部１２ｂは、第２ヒストグラム生成部１２ａが生成した４つの領域のヒストグラムを用いて、４つの領域それぞれのノイズ成分を除去（削除）する。レンジ拡大部１２ｃは、レンジ算出部１２ｂがノイズ成分を除去した４つの領域のレンジをそれぞれ所定のレンジに拡大するレンジ拡大処理を行う。また、レンジ拡大部１１ｃは、レンジ拡大処理において領域間のバイリニア補間処理を行うことによりレンジ拡大後の画素値の連続性を持たせる。そして、レンジ拡大部１２ｃは、レンジ拡大後の各画素の画素値をエリア合成部１４に出力する。
【００２３】
９エリア分割拡大部１３は、入力画像の領域を９つの領域（エリア）に分割し、分割した９つの領域それぞれのダイナミックレンジを拡大する。図２に示すように、９エリア分割拡大部１３は、第３ヒストグラム生成部１３ａ、レンジ算出部１３ｂ、及びレンジ拡大部１３ｃを含んでいる。第３ヒストグラム生成部１３ａは、入力画像の領域を９つの領域に分割し、分割した９つの領域それぞれのヒストグラムを生成する。レンジ算出部１３ｂは、第３ヒストグラム生成部１３ａが生成した９つの領域のヒストグラムを用いて、９つの領域それぞれのノイズ成分を除去（削除）する。レンジ拡大部１３ｃは、レンジ算出部１３ｂがノイズ成分を除去した９つの領域のレンジをそれぞれ所定のレンジに拡大するレンジ拡大処理を行う。また、レンジ拡大部１３ｃは、レンジ拡大処理において領域間のバイリニア補間処理を行うことによりレンジ拡大後の画素値の連続性を持たせる。そして、レンジ拡大部１３ｃは、レンジ拡大後の各画素の画素値をエリア合成部１４に出力する。
【００２４】
エリア合成部１４は、１エリア分割拡大部１１、４エリア分割拡大部１２、及び９エリア分割拡大部１３によるダイナミックレンジの拡大後の画素値を合成する。具体的には、エリア合成部１４は、各エリア分割拡大部１１，１２，１３からのレンジ拡大後の各画素の画素値をそれぞれ入力する。そして、エリア合成部１４は、入力した画素値に所定の係数を乗算し、乗算した値を足し合わせる。エリア合成部１４により合成された各画素の画素値は、大気光画素値算出部２０及び霧除去画像生成部６０に出力される。
【００２５】
図１の説明に戻り、大気光画素値算出部２０は、ダイナミックレンジ補正部１０から出力された霧画像（霧を含む画像）の各画素の画素値に基づいてダークチャネル画像を生成する。また、大気光画素値算出部２０は、霧画像の大気光画素値を算出する。大気光は大気中の粒子による散乱光である。画像の画素値のうち、大気中の粒子による散乱光の成分が大気光画素値である。
【００２６】
具体的には、大気光画素値算出部２０は、各画素におけるＲ，Ｇ，Ｂの中で最も小さな値（Ｒ，Ｇ，Ｂの各チャネルのうちの最小値）を各画素の代表値（ダークチャネル値）としてダークチャネル画像を生成する。なお、上記した非特許文献１に記載されているダーク・チャネル・プライア(Dark Channel Prior)に基づく方法では、局所領域（１５×１５画素の領域）内のすべての画素のすべてのチャネルの値の最小値をダークチャネル値としていたが、本実施形態では、各画素のダークチャネル値（ｍｉｎＪＣ（ｙ））をそのまま使用している。このように、局所領域（１５×１５画素の領域）内のすべての画素のすべてのチャネルの値の最小値を使用するのではなく、各画素のダークチャネル値を使用することで、処理の簡素化を実現している。
【００２７】
また、大気光画素値算出部２０は、入力画像の全領域において代表値（ダークチャネル値）の最も小さな画素の値を大気光画素値とする。このように、本実施形態では、大気光画素値算出部２０は、入力画像の全領域に対して１つの大気光画素値を算出する。大気光画素値算出部２０は、ダークチャネル画像の各画素の画素値及び大気光画素値を透過率算出部３０及び霧除去画像生成部６０に出力する。
【００２８】
透過率算出部３０は、大気光画素値算出部２０からのダークチャネル画像の各画素の画素値及び大気光画素値を用いて各画素の透過率を算出する。すなわち、透過率算出部３０は、次の式（１）に画素ごとのダークチャネル値（Ｄａｒｋ）と大気光画素値（Ａ）とを代入することにより画素ごとの透過率（ｄｔｒａｎｓ）を算出する。
【００２９】
ｄｔｒａｎｓ＝１−ω×Ｄａｒｋ／Ａ・・・（１）
【００３０】
ここで、ωは霧除去の強さを制御するためのパラメータである。透過率算出部３０は、各画素の透過率から透過率画像を生成する。そして、透過率算出部３０は、透過率画像（各画素の透過率）を透過率補正部４０及び透過率整形部５０に出力する。
【００３１】
透過率補正部４０は、透過率算出部３０から出力された透過率画像（初期透過率画像）を補正する。具体的には、透過率補正部４０は、初期透過率画像を膨張処理（dilation）により透過率の均一化を行い、透過率均一化画像を生成する。また、透過率補正部４０は、透過率均一化画像と初期透過率画像とにより透過率補正画像を生成する。透過率補正部４０は、生成した透過率補正画像を透過率整形部５０に出力する。なお、透過率補正部４０が実行する処理の詳細は後述する（図７参照）。
【００３２】
透過率整形部５０は、透過率算出部３０から出力された透過率画像と透過率補正部４０から出力された透過率補正画像とに基づいて透過率画像の整形処理を行う。すなわち、透過率整形部５０は、透過率補正部４０による補正前の透過率画像（各画素の透過率）と透過率補正部４０による補正後の透過率画像（各画素の透過率）とを乗算した後に、その値の平方根をとることにより透過率画像を整形する。透過率整形部５０は、整形した透過率画像を霧除去画像生成部６０に出力する。
【００３３】
霧除去画像生成部６０は、大気光画素値算出部２０から出力される大気光画素値、透過率整形部５０から出力された整形後の各画素の透過率（整形後の透過率画像）、及びダイナミックレンジ補正部１０から出力される霧画像の各画素の画素値に基づいて、画像中の霧を除去する霧除去処理を実行する。
【００３４】
なお、画像処理装置１におけるダイナミックレンジ補正部１０、大気光画素値算出部２０、透過率算出部３０、透過率補正部４０、透過率整形部５０、及び霧除去画像生成部６０は、ＣＰＵ（Central Processing Unit）などの演算装置が制御プログラムに基づいて処理を実行することにより実現される。
【００３５】
次に、画像処理装置１が実行する画像処理方法について説明する。図３は、第１実施形態に係る画像処理方法を説明するためのフローチャートである。なお、以下の説明では、画像処理装置１が動画（映像）中の霧を除去する場合について説明する。
【００３６】
図３に示す処理において、ダイナミックレンジ補正部１０は、入力画像のダイナミックレンジを補正する（ステップＳ１）。図４は、１エリア分割拡大部１１、４エリア分割拡大部１２、及び９エリア分割拡大部１３によるヒストグラムの生成対象の領域を示す図である。図４（Ａ）は、入力画像である動画の１フレームの領域を示している。また、図４（Ｂ）は、１エリア分割拡大部１１（第１ヒストグラム生成部１１ａ）によるヒストグラムの生成対象の領域を示している。また、図４（Ｃ）は、４エリア分割拡大部１２（第２ヒストグラム生成部１２ａ）によるヒストグラムの生成対象の４つの領域（エリア０、エリア１、エリア２、エリア３）を示している。また、図４（Ｄ）は、９エリア分割拡大部１３（第３ヒストグラム生成部１３ａ）によるヒストグラムの生成対象の９つの領域（エリア０、エリア１、エリア２、エリア３、エリア４、エリア５、エリア６、エリア７、エリア８）を示している。
【００３７】
第１ヒストグラム生成部１１ａは、図４（Ｂ）に示すように、入力画像の領域を分割せずに、入力画像の領域においてヒストグラムを生成する。第２ヒストグラム生成部１２ａは、図４（Ｃ）に示すように、入力画像の領域を４つの領域に分割し、それぞれの領域においてヒストグラムを生成する。第３ヒストグラム生成部１３ａは、入力画像の領域を９つの領域に分割し、それぞれの領域においてヒストグラムを生成する。なお、図４（Ｂ）に示す領域を０階層の領域といい、図４（Ｃ）に示す各領域を１階層の領域といい、図４（Ｄ）に示す領域を２階層の領域という。
【００３８】
図５は、エリア分割拡大部１１，１２，１３が生成するヒストグラムの一例を示す図である。例えば、図５に示すヒストグラムは、第１ヒストグラム生成部１１ａが入力画像の領域（図４（Ｂ））において生成するヒストグラムとする。図５に示すヒストグラムにおいて、横軸は画素の明るさ（輝度レベル、照度、階調）を示している。横軸の「０」は最も暗く（真っ黒）、右に行くほど明るくなる。横軸の「２５５」が最も明るい（真っ白）。縦軸はその明るさの画素がどれくらいあるかを示している（つまり、縦軸は同じ明るさの画素数を示している）。
【００３９】
レンジ算出部１１ｂは、明るさ「０」から横軸の右方向に画素数（ピクセル数）を順次加算していく。レンジ算出部１１ｂは、加算した画素数が予め設定された設定値画素数を超えたか否かを判定する。そして、レンジ算出部１１ｂは、加算した画素数が設定値画素数を超えた明るさの値の直前の値を最小値Ｙｍｉｎとする。なお、Ｙは色のない画像（輝度１チャネルの画像）の画素値（輝度）を示している。すなわち、ＹはＲ，Ｇ，Ｂのいずれか１つに相当する。また、レンジ算出部１１ｂは、明るさ「２５５」から横軸の左方向に画素数を順次加算していく。レンジ算出部１１ｂは、加算した画素数が設定値画素数を超えたか否かを判定する。そして、レンジ算出部１１ｂは、加算した画素数が設定値画素数を超えた明るさの値の直前の値を最大値Ｙｍａｘとする。
【００４０】
設定値画素数はｍａｘ側（２５５側）及びｍｉｎ側（０側）のノイズ分を判定するための値である。設定値画素数は、領域内のすべての画素数の例えば１〜３％程度の画素数とされる。本実施形態では、設定値画素数は、領域内のすべての画素数の１％の画素数とされている。
【００４１】
レンジ算出部１２ｂも、４つの領域（エリア０、エリア１、エリア２、エリア３）のそれぞれに対して、レンジ算出部１１ｂと同様に、加算した画素数が設定値画素数を超えたか否かを判定して最小値Ｙｍｉｎと最大値Ｙｍａｘを算出する。また、レンジ算出部１２ｂも、９つの領域（エリア０、エリア１、エリア２、エリア３、エリア４、エリア５、エリア６、エリア７、エリア８）のそれぞれに対して、レンジ算出部１１ｂと同様に、加算した画素数が設定値画素数を超えたか否かを判定して最小値Ｙｍｉｎと最大値Ｙｍａｘを算出する。
【００４２】
なお、レンジ算出部１１ｂ〜１３ａは、Ｒ，Ｇ，Ｂのそれぞれにおいて（Ｙｍａｘ−Ｙｍｉｎ）＜ｍｉｎｖａｌ（ｍｉｎｖａｌは５〜１５の範囲内の値）である場合は、最小値Ｙｍｉｎを０（Ｙｍｉｎ＝０）とし、最大値Ｙｍａｘを２５５（Ｙｍａｘ＝２５５）とする。本実施形態では、ｍｉｎｖａｌを１０としている。このように、画素値（輝度）の変化がほとんどない領域（色がほとんど均一な領域）についてはダイナミックレンジの拡大を行わないようにする。これにより、誤ったダイナミックレンジの拡大（誤動作）を防止することができる。
【００４３】
レンジ拡大部１１ｃは、入力画像の領域の各画素の画素値ＰｉｘＶａｌ、入力画像の領域の最小値Ｙｍｉｎ、及び入力画像の領域の最大値Ｙｍａｘに基づいて、入力画像の領域の各画素の目標値（ＴａｒｇｅｔＶａｌｕｅ）を算出する。具体的には、レンジ拡大部１１ｃは、次の式（２）に、画素値ＰｉｘＶａｌ、最小値Ｙｍｉｎ、及び最大値Ｙｍａｘを代入することにより目標値（ＴａｒｇｅｔＶａｌｕｅ）を算出する。
【００４４】
ＴａｒｇｅｔＶａｌｕｅ＝（ＰｉｘＶａｌ−Ｙｍｉｎ）＊２５５／（Ｙｍａｘ−Ｙｍｉｎ）・・・（２）
【００４５】
なお、レンジ拡大部１１ｃは、ブランク中（今回のフレームと次のフレームとの間の期間）に画素値ＰｉｘＶａｌの０〜２５５に対して入力画像の領域のテーブルＴａｂｌｅ（Ｒ，Ｇ，Ｂ）を作成する。レンジ拡大部１１ｃは、テーブルＴａｂｌｅ（Ｒ，Ｇ，Ｂ）において、最小値Ｙｍｉｎ以下の画素値には０を設定し、最大値Ｙｍａｘ以上の画素値には２５５を設定する。
【００４６】
レンジ拡大部１１ｃは、画像のホワイトバランス調整を行う場合は、最小値Ｙｍｉｎ及び最大値ＹｍａｘとしてＲ，Ｇ，Ｂのそれぞれの値を用いる。一方、レンジ拡大部１１ｃは、画像のホワイトバランス調整を行わない場合は、最大値Ｙｍａｘとして、Ｒ，Ｇ，Ｂそれぞれの最大値Ｙｍａｘの中の最も大きな値をＲ，Ｇ，Ｂ共通で用いる。すなわち、Ｙｍａｘ＝ｍａｘ（Ｒｍａｘ，Ｇｍａｘ，Ｂｍａｘ）とする（レンジ拡大部１１ｃはＲｍａｘ，Ｇｍａｘ，Ｂｍａｘのうちの最大値を選択する）。また、レンジ拡大部１１ｃは、画像のホワイトバランス調整を行わない場合は、最小値Ｙｍｉｎとして、Ｒ，Ｇ，Ｂそれぞれの最小値Ｙｍｉｎの中の最も小さな値をＲ，Ｇ，Ｂ共通で用いる。すなわち、Ｙｍｉｎ＝ｍｉｎ（Ｒｍｉｎ，Ｇｍｉｎ，Ｂｍｉｎ）とする（レンジ拡大部１１ｃはＲｍｉｎ，Ｇｍｉｎ，Ｂｍｉｎのうちの最小値を選択する）。
【００４７】
その後、レンジ拡大部１１ｃは、上記の式（２）で算出した各画素の画素値（すなわち目標値（ＴａｒｇｅｔＶａｌｕｅ））をエリア合成部１４に出力する。
【００４８】
レンジ拡大部１２ｃも、４つの領域（エリア０、エリア１、エリア２、エリア３）のそれぞれに対して、レンジ拡大部１１ｃと同様に、各画素の画素値（すなわち目標値（ＴａｒｇｅｔＶａｌｕｅ））を算出する。この場合も、レンジ拡大部１２ｃは、画像のホワイトバランス調整の有無に対応した最小値Ｙｍｉｎ及び最大値Ｙｍａｘを用いて目標値を算出する。また、レンジ拡大部１３ｃも、９つの領域（エリア０、エリア１、エリア２、エリア３、エリア４、エリア５、エリア６、エリア７、エリア８）のそれぞれに対して、レンジ拡大部１１ｃと同様に、各画素の画素値（すなわち目標値（ＴａｒｇｅｔＶａｌｕｅ））を算出する。この場合も、レンジ拡大部１３ｃは、画像のホワイトバランス調整の有無に対応した最小値Ｙｍｉｎ及び最大値Ｙｍａｘを用いて目標値を算出する。
【００４９】
レンジ拡大部１２ｃ及びレンジ拡大部１３ｃは、分割された領域間の画素値の連続性を持たせるために、領域間においてバイリニア補間処理を行う。バイリニア補間は、求める位置の周辺の２×２画素（４画素）を用いて、画素値（輝度値）を直線的に補間して画素値を求める。レンジ拡大部１２ｃ及びレンジ拡大部１３ｃは、それぞれ、第２ヒストグラム生成部１２ａ及び第３ヒストグラム生成部１３ａが分割した各領域の中心位置の画素値に基づいて、バイリニア補間で各画素のレンジ拡大値（ＴｅｘｐＶａｌｕｅ；レンジ拡大後の画素値）を算出する。
【００５０】
図６は、バイリニア補完処理を説明するための図である。図６において、Ｐはバイリニア補間処理を行う画素を示す。Ａ，Ｂ，Ｃ，Ｄは、４つの領域の中心位置の画素を示している。図４（Ｃ）に示す領域においては、Ａはエリア０の中心位置の画素、Ｂはエリア１の中心位置の画素、Ｃはエリア２の中心位置の画素、Ｄはエリア３の中心位置の画素となる。また、図４（Ｄ）においては、例えば、Ａはエリア３の中心位置の画素、Ｂはエリア４の中心位置の画素、Ｃはエリア６の中心位置の画素、Ｄはエリア７の中心位置の画素となる。ａは画素Ｐから画素Ａ又はＢまでのｙ方向の距離、ｂは画素Ｐから画素Ｃ又はＤまでのｙ方向の距離、ｃは画素Ｐから画素Ａ又はＣまでのｘ方向の距離、ｄは画素Ｐから画素Ｂ又はＤまでのｘ方向の距離を示している。
【００５１】
レンジ拡大部１２ｃ及びレンジ拡大部１３ｃは、次の式（３）に、画素Ａ，Ｂ，Ｃ，Ｄの画素値と距離ａ，ｂ，ｃ，ｄを代入することによりレンジ拡大値（ＴｅｘｐＶａｌｕｅ；レンジ拡大後の画素値）を算出する。
【００５２】
ＴｅｘｐＶａｌｕｅ＝（（Ａ＊ｄ＋Ｂ＊ｃ）＊ｂ＋（Ｃ＊ｄ＋Ｄ＊ｃ）＊ａ）／（（ｃ＋ｄ）＊（ａ＋ｂ））・・・（３）
【００５３】
なお、上記の式（３）において、Ａ，Ｂ，Ｃ，Ｄは各領域における画素値（ＰｉｘｅｌＶａｌｕｅ）の拡張された値のテーブルＴａｂｌｅ引きの値である。
【００５４】
実際には、ｘ方向に対しては、Ａ（ｘ）までは０で、その後、Ｂ（ｘ）まで＋１ずつカウントアップするカウンタ（ｕｐ  ｃｏｕｎｔｅｒ（ｃ））と、Ａ（ｘ）までは（ｃ＋ｄ）で、その後、Ｂ（ｘ）まで−１ずつカウントダウンするカウンタ（ｄｏｗｎ  ｃｏｕｎｔｅｒ（ｄ））とを用意する。また、ｙ方向に対しては、Ａ（ｙ）までは０で、その後、Ｃ（ｙ）まで＋１ずつカウントアップするカウンタ（ｕｐ  ｃｏｕｎｔｅｒ（ａ））と、Ａ（ｙ）までは（ａ＋ｂ）で、その後、Ｃ（ｙ）まで−１ずつカウントダウンするカウンタ（ｄｏｗｎ  ｃｏｕｎｔｅｒ（ｂ））とを用意する。そして、レンジ拡大部１２ｃ及びレンジ拡大部１３ｃは、これらのカウンタを用いてバイリニア補間処理の演算を行う。
【００５５】
このように、バイリニア補間処理では、各領域の中心位置の画素値の比から中間位置の画素値を求めることができる。その後、レンジ拡大部１２ｃは、上記の式（３）で算出した各画素の画素値（すなわちレンジ拡大値（ＴｅｘｐＶａｌｕｅ））をエリア合成部１４に出力する。また、レンジ拡大部１３ｃは、上記の式（３）で算出した各画素の画素値（すなわちレンジ拡大値（ＴｅｘｐＶａｌｕｅ））をエリア合成部１４に出力する。
【００５６】
エリア合成部１４は、１エリア分割拡大部１１から出力された画素値Ａ１と、４エリア分割拡大部１２から出力された画素値Ａ４と、９エリア分割拡大部１３から出力された画素値Ａ９とを入力する。エリア合成部１４は、画素値Ａ１に係数α１を乗算し、画素値Ａ４に係数α４を乗算し、画素値Ａ９に係数α９を乗算する。そして、エリア合成部１４は、画素値Ａ１，Ａ４，Ａ９に係数α１，α４，α９を乗算した値をそれぞれ足し合わせて（加算して）合成画素値を算出する。すなわち、エリア合成部１４は、次の式（４）に、画素値Ａ１，Ａ４，Ａ９と係数α１，α４，α９とを代入することにより合成画素値を算出する。
【００５７】
合成画素値＝Ａ１＊α１＋Ａ４＊α４＋Ａ９＊α９・・・（４）
【００５８】
ここで、α１＋α４＋α９＝１．０とする。本実施形態では、係数α１は０．５、係数α４は０．３、係数α９は０．２としている。このような係数の値を設定することにより、エリア合成部１４は、階層ごとに重み付けした画素値を合成（統合）することができる。
【００５９】
図３の説明に戻り、大気光画素値算出部２０は、ダイナミックレンジ補正部１０から出力された霧画像の各画素の画素値に基づいてダークチャネル画像を生成する（ステップＳ２）。具体的には、大気光画素値算出部２０は、各画素におけるＲ，Ｇ，Ｂの中で最も小さな値（Ｒ，Ｇ，Ｂの各チャネルのうちの最小値）を各画素のダークチャネル値（ｒ，ｇ，ｂ）としてダークチャネル画像を生成する。また、大気光画素値算出部２０は、入力画像の全領域においてダークチャネル値の最小値を大気光画素値（ａｔｍｏｓｒ，ａｔｍｏｓｇ，ａｔｍｏｓｂ）として取得する（ステップＳ３）。
【００６０】
透過率算出部３０は、大気光画素値算出部２０からのダークチャネル画像の各画素の画素値（ｒ，ｇ，ｂ）及び大気光画素値（ａｔｍｏｓｒ，ａｔｍｏｓｇ，ａｔｍｏｓｂ）を用いて各画素の透過率（ｄｔｒａｎｓ）を算出する。具体的には、透過率算出部３０は、次の式（５）に、ダークチャネル画像の各画素の画素値（ｒ，ｇ，ｂ）と大気光画素値（ａｔｍｏｓｒ，ａｔｍｏｓｇ，ａｔｍｏｓｂ）とを代入することにより画素ごとの透過率（ｄｔｒａｎｓ）を算出する。
【００６１】
ｄｔｒａｎｓ＝１−ｌｏｍｅｇａ＊ｄｔｍｐｌＡ／１００．０・・・（５）
【００６２】
ここで、式（５）は上記した式（１）に相当する。ｌｏｍｅｇａは上記した式（１）のωに相当する。ｄｔｍｐｌＡ＞（ｒ／ａｔｍｏｓｒ）であれば、ｄｔｍｐｌＡはｒ／ａｔｍｏｓｒである（ｄｔｍｐｌＡ＝ｒ／ａｔｍｏｓｒ）。ｄｔｍｐｌＡ＞（ｇ／ａｔｍｏｓｇ）であれば、ｄｔｍｐｌＡはｇ／ａｔｍｏｓｇである（ｄｔｍｐｌＡ＝ｇ／ａｔｍｏｓｇ）。ｄｔｍｐｌＡ＞（ｂ／ａｔｍｏｓｂ）であれば、ｄｔｍｐｌＡはｂ／ａｔｍｏｓｂである（ｄｔｍｐｌＡ＝ｂ／ａｔｍｏｓｂ）。ｄｔｍｐｌＡ＞（ｒ／ａｔｍｏｓｒ）でない場合、ｄｔｍｐｌＡ＞（ｇ／ａｔｍｏｓｇ）でない場合、及びｄｔｍｐｌＡ＞（ｂ／ａｔｍｏｓｂ）でない場合、ｄｔｍｐｌＡは１．０である（ｄｔｍｐｌＡ＝１．０）。
【００６３】
透過率算出部３０は、上記のように算出した各画素の透過率からなる透過率画像を透過率補正部４０及び透過率整形部５０に出力する。
【００６４】
透過率補正部４０は、透過率算出部３０から出力された透過率画像（初期透過率画像）を補正する（ステップＳ５）。透過率補正部４０が実行する透過率補正処理について図７を参照して説明する。図７は、透過率補正部による透過率補正処理を示すフローチャートである。図７に示す処理において、透過率補正部４０は、ループ回数（ｎｌｏｏｐ）を初期化する（ステップＳ１１）。すなわち、透過率補正部４０は、ｎｌｏｏｐに初期値０を代入する。次に、透過率補正部４０は、透過率画像の領域において３×３画素の領域（３×３ｗｉｎｄｏｗ）を形成する（ステップＳ１２）。そして、透過率補正部４０は、各３×３画素の領域（３×３ｗｉｎｄｏｗ）内の透過率の平均値を取得する（ステップＳ１３）。
【００６５】
次に、透過率補正部４０は、各３×３画素の領域において平均値による各画素の２値化を行う（ステップＳ１４）。すなわち、透過率補正部４０は、各３×３画素の領域において各画素の透過率が平均値よりも高い画素（Ｈｉｇｈ画素）と低い画素（Ｌｏｗ画素）とに分ける。透過率補正部４０は、Ｈｉｇｈ画素を「１」とし、Ｌｏｗ画素を「０」とする。また、透過率補正部４０は、Ｈｉｇｈ画素の透過率の平均値（ｈａｖｅ）を取得し、Ｌｏｗ画素の透過率の平均値（ｌａｖｅ）を取得する（ステップＳ１５）。また、透過率補正部４０は、各３×３画素の領域においてＨｉｇｈ画素の個数（ｈｃｎｔ）とＬｏｗ画素の個数（ｌｃｎｔ）とをカウントする。また、透過率補正部４０は、透過率画像全体の透過率の平均値（ａａｖｅ）を算出する。そして、透過率補正部４０は、以下の条件により、各３×３画素の領域の画素における透過率（Ｔｔｒａｎｓ）を決定する（ステップＳ１６）。なお、ａｂｓ（）は（）内の絶対値を表す。また、Ｃｔｒａｎｓは３×３画素の領域の中央の画素の透過率を表す。
【００６６】
まず、透過率補正部４０は、Ｌｏｗ画素の個数（ｌｃｎｔ）が７以上であれば（ｌｃｎｔ≧７）、透過率（Ｔｔｒａｎｓ）をＬｏｗ画素の平均値（ｌａｖｅ）とする。また、透過率補正部４０は、Ｈｉｇｈ画素の個数（ｈｃｎｔ）が７以上であれば（ｈｃｎｔ≧７）、透過率（Ｔｔｒａｎｓ）をＨｉｇｈ画素の平均値（ｈａｖｅ）とする。また、透過率補正部４０は、（ｈａｖｅ−ｌａｖｅ）＊２５５＞２０で、ａｂｓ（ａａｖｅ−Ｃｔｒａｎｓ）＜５であれば、透過率（Ｔｔｒａｎｓ）を３×３画素の領域の中央の画素の透過率Ｃｔｒａｎｓとする。また、透過率補正部４０は、Ｃｔｒａｎｓ＞（ｌａｖｅ＋ｈａｖｅ）／２．０であれば、透過率（Ｔｔｒａｎｓ）をＨｉｇｈ画素の平均値（ｈａｖｅ）とする。また、透過率補正部４０は、その他の場合であれば、透過率（Ｔｔｒａｎｓ）をＬｏｗ画素の平均値（ｌａｖｅ）とする。
【００６７】
その後、透過率補正部４０は、ループ回数をインクリメントする（ｎｌｏｏｐ＝ｎｌｏｏｐ＋１）（ステップＳ１７）。透過率補正部４０は、ループ回数が３であるか否かを判定し（ｎｌｏｏｐ＝３？）（ステップＳ１８）、ループ回数が３になるまでステップＳ１１〜Ｓ１７の処理を繰り返し実行する。透過率補正部４０は、ループ回数が３であると判定した場合は、透過率補正処理を終了する。透過率補正部４０は、図７に示すようにして決定した透過率（Ｔｔｒａｎｓ）を透過率整形部５０に出力する。
【００６８】
図３の説明に戻り、透過率整形部５０は、透過率算出部３０から出力された各画素の透過率（ｄｔｒａｎｓ）と透過率補正部４０から出力された各画素の透過率（Ｔｔｒａｎｓ）とを入力する。そして、透過率整形部５０は、それらの透過率（ｄｔｒａｎｓ，Ｔｔｒａｎｓ）を次の式（６）に代入することにより各画素の整形後の透過率（Ｍｔｒａｎｓ）を算出する（ステップＳ６）。すなわち、透過率整形部５０は、補正前の透過率（ｄｔｒａｎｓ）と補正後の透過率（Ｔｔｒａｎｓ）とを用いて透過率画像を整形する。なお、式（６）において、ｓｑｒｔ（）は（）内の平方根を求めることを意味する。
【００６９】
Ｍｔｒａｎｓ＝ｓｑｒｔ（ｄｔｒａｎｓ＊Ｔｔｒａｎｓ）・・・（６）
【００７０】
その後、透過率整形部５０は、整形後の透過率（Ｍｔｒａｎｓ）を霧除去画像生成部６０に出力する。次に、霧除去画像生成部６０は、大気光画素値算出部２０から出力される大気光画素値（ａｔｍｏｓｒ，ａｔｍｏｓｇ，ａｔｍｏｓｂ）、透過率整形部５０から出力された整形後の各画素の透過率（Ｍｔｒａｎｓ）、及びダイナミックレンジ補正部１０から出力される霧画像の各画素の画素値（ｒ，ｇ，ｂ）に基づいて、画像中の霧を除去する霧除去処理を実行する（ステップＳ７）。具体的には、霧除去画像生成部６０は、次の式（７−１）〜（７−３）に、大気光画素値（ａｔｍｏｓｒ，ａｔｍｏｓｇ，ａｔｍｏｓｂ）、透過率（Ｍｔｒａｎｓ）及び画素値（ｒ，ｇ，ｂ）を代入することにより画像中の霧を除去した各画素の画素値（ｎｅｗＲ，ｎｅｗＧ，ｎｅｗＢ）を算出する。
【００７１】
ｎｅｗＲ＝（ｒ−ａｔｍｏｓｒ）／Ｍｔｒａｎｓ＋ａｔｍｏｓｒ・・・（７−１）；
ｎｅｗＧ＝（ｇ−ａｔｍｏｓｇ）／Ｍｔｒａｎｓ＋ａｔｍｏｓｇ・・・（７−２）；
ｎｅｗＢ＝（ｂ−ａｔｍｏｓｂ）／Ｍｔｒａｎｓ＋ａｔｍｏｓｂ・・・（７−３）；
【００７２】
なお、透過率補正部４０が図７に示したような処理を実行した場合は、透過率整形部５０による処理を省略してもよい。この場合、透過率補正部４０は、透過率（Ｔｔｒａｎｓ）を霧除去画像生成部６０に出力し、霧除去画像生成部６０は、大気光画素値算出部２０から出力される大気光画素値（ａｔｍｏｓｒ，ａｔｍｏｓｇ，ａｔｍｏｓｂ）、透過率補正部４０から出力された各画素の透過率（Ｔｔｒａｎｓ）、及びダイナミックレンジ補正部１０から出力される霧画像の各画素の画素値（ｒ，ｇ，ｂ）に基づいて、画像中の霧を除去する霧除去処理を実行する。
【００７３】
以上に説明したように、第１実施形態では、入力画像に基づいてダークチャネル画像を生成するダークチャネル画像生成部２０と、ダークチャネル画像生成部２０により生成されたダークチャネル画像と大気光画素値とに基づいて透過率画像を生成する透過率画像生成部３０と、透過率画像生成部３０により生成された透過率画像を補正する透過率補正部４０と、透過率補正部４０により補正された透過率画像と大気光画素値と入力画像とに基づいて入力画像中の霧を除去する霧除去画像生成部６０と、備える。このような構成によれば、低い処理負担で高速に画像中の霧を除去することができる。
【００７４】
また、第１実施形態では、透過率補正部４０は、透過率画像を所定領域（例えば３×３画素の領域）に分割し、分割した各所定領域の各画素の透過率の平均値により２値化を行い、各所定領域における２値化された各値の個数と各所定領域内の各値の透過率の平均値とに基づいて、各所定領域内の各画素の透過率を選択する。このような構成によれば、ソフトマッティングと比較して処理負担をかけずに透過率の均一化を行うことができる。
【００７５】
また、第１実施形態では、透過率補正部４０により補正された透過率画像の各画素の透過率と透過率画像生成部３０により生成された透過率画像の各画素の透過率とを乗算し、乗算した値の平方根演算を行うことで透過率画像を整形する透過率整形部５０を備え、霧除去画像生成部６０は、透過率整形部５０により整形された透過率画像と大気光画素値と入力画像とに基づいて入力画像中の霧を除去する。このような構成によれば、透過率補正部４０による透過率画像の補正を行った場合におけるハローの発生を抑制することができる。
【００７６】
また、第１実施形態では、入力画像のレンジを拡大するレンジ補正部１０を備え、ダークチャネル画像生成部２０は、レンジ補正部１０によりレンジが拡大された画像に基づいてダークチャネル画像を生成し、霧除去画像生成部６０は、透過率補正部４０により補正された透過率画像と大気光画素値とレンジ補正部１０によりレンジが拡大された画像とに基づいて画像中の霧を除去する。このような構成によれば、入力画像のダイナミックレンジを拡大して画像中の霧を低減することができる。
【００７７】
また、第１実施形態では、レンジ補正部１０は、入力画像の領域のレンジを拡大する第１レンジ補正部１１と、入力画像を複数の領域に分割し、分割した複数の領域のレンジを拡大する第２レンジ補正部１２と、第１レンジ補正部１１によりレンジが拡大された画像と第２レンジ補正部１２によりレンジが拡大された画像とを合成する合成部１４と、を有する。このような構成によれば、複数階層においてレンジの拡大が行われた画像を合成し、より確実に霧の低減を実現することができる。
【００７８】
また、第１実施形態では、合成部１４は、第１レンジ補正部１１によりレンジが拡大された画像に第１係数を乗算し、第２レンジ補正部１２によりレンジが拡大された画像に第２係数を乗算し、それらの画像を加算する。このような構成によれば、各画像における重み付けを行った上で画像の合成を行うことができる。また、第１実施形態では、第２レンジ補正部１２は、レンジを拡大した画像に対して補間処理を実行するので、分割した領域間における画素値の連続性を持たせることができる。
【００７９】
＜第２実施形態＞
上記した第１実施形態では、透過率補正部４０が図７に示したような透過率補正処理を実行していたが、第２実施形態では、透過率モルフォロジー処理部４０Ａが透過率補正処理（膨張処理、モルフォロジー処理）を実行する。
【００８０】
図８は、第２実施形態に係る画像処理装置の構成を示すブロック図である。図８に示す画像処理装置１Ａは、図１に示した画像処理装置１における透過率補正部４０に代えて透過率モルフォロジー処理部４０Ａを設けている。その他の構成については、図１で説明した構成と同様であるため、重複する説明を省略する。
【００８１】
透過率モルフォロジー処理部４０Ａは、透過率算出部３０から出力された透過率画像に対してモルフォロジー処理を実行する。具体的には、透過率モルフォロジー処理部４０Ａは、透過率画像の領域において３×３画素の領域（３×３ｗｉｎｄｏｗ）を形成する。そして、透過率モルフォロジー処理部４０Ａは、各３×３画素の領域（３×３ｗｉｎｄｏｗ）内の透過率の平均値を取得する。また、透過率モルフォロジー処理部４０Ａは、各３×３画素の領域において平均値による各画素の２値化を行う。そして、透過率モルフォロジー処理部４０Ａは、各３×３画素の領域内の注目画素（中央の画素）の近傍の８画素のうち、１つの画素でもＨｉｇｈ画素があれば注目画素の透過率を、３×３画素の領域内のＨｉｇｈ画素の透過率の平均値（ｈａｖｅ）とする。このような処理をモルフォロジー処理という。
【００８２】
図９は、第２実施形態に係る画像処理方法を説明するためのフローチャートである。なお、図９に示す処理において、ステップＳ５Ａ以外の処理は、図３に示した処理と同様であるため、重複する説明を省略する。
【００８３】
ステップＳ５Ａにおいて、透過率モルフォロジー処理部４０Ａは、透過率画像に対して、モルフォロジー処理を実行する。上記したように、透過率モルフォロジー処理部４０Ａは、各３×３画素の領域内の注目画素（中央の画素）の近傍の８画素のうち、１つの画素でもＨｉｇｈ画素があれば注目画素の透過率を、３×３画素の領域内のＨｉｇｈ画素の透過率の平均値（ｈａｖｅ）とする。このように、透過率モルフォロジー処理部４０Ａがモルフォロジー処理（単純な多値膨張処理）を実行した場合は、透過率整形部５０による処理が必要となる。
【００８４】
以上のように、第２実施形態では、透過率補正部４０は、透過率画像に対してモルフォロジー処理を実行する。このような構成によっても、処理負担をかけずに透過率の均一化を行うことができる。
【００８５】
以上、本発明の実施形態を説明したが、本発明の技術的範囲は、上記の実施形態に記載の範囲には限定されない。本発明の趣旨を逸脱しない範囲で、上記の実施形態に、多様な変更または改良を加えることが可能である。また、上記の実施形態で説明した要件の１つ以上は、省略されることがある。そのような変更または改良、省略した形態も本発明の技術的範囲に含まれる。また、上記した実施形態や変形例の構成を適宜組み合わせて適用することも可能である。
【００８６】
上記した第１実施形態及び第２実施形態において、揺らぎ吸収装置は、オーディオＩＰ変換装置２ＡやオーディオＩＰ変換装置６Ａだけでなく、オーディオＩＰ変換装置１ＢやオーディオＩＰ変換装置５Ｂであってもよい。すなわち、オーディオＩＰ変換装置１ＢはオーディオＩＰ変換装置２Ａと同一構成とされ、オーディオＩＰ変換装置５ＢもオーディオＩＰ変換装置６Ａと同一構成とされてもよい。
【００８７】
また、上記した第１実施形態において、ダイナミックレンジ補正部１０は、３つの階層で画像のレンジ拡大を行っていたが、２以上の階層で画像のレンジ拡大を行う構成であればよい。
【００８８】
また、上記した第１実施形態において、透過率補正部４０は透過率画像を３×３画素の領域に分割していたが（ステップＳ１２参照）、３×３画素に限定されず、異なる画素数の領域であってもよい。また、補間処理はバイリニア補間処理を用いていたが、その他の補間処理であってもよい。
【符号の説明】
【００８９】
１，１Ａ  画像処理装置
１０  ダイナミックレンジ補正部（レンジ補正部）
１１  １エリア分割拡大部（第１レンジ補正部）
１２  ４エリア分割拡大部（第２レンジ補正部）
１３  ９エリア分割拡大部（第２レンジ補正部）
１４  エリア合成部（合成部）
２０  大気光画素値算出部（ダークチャネル画像生成部）
３０  透過率算出部（透過率画像生成部）
４０  透過率補正部
４０Ａ  透過率モルフォロジー処理部
５０  透過率整形部
６０  霧除去画像生成部
【図１】
2015103001.tif 000003
【図２】
2015103001.tif 000004
【図３】
2015103001.tif 000005
【図４】
2015103001.tif 000006
【図５】
2015103001.tif 000007
【図６】
2015103001.tif 000008
【図７】
2015103001.tif 000009
【図８】
2015103001.tif 000010
【図９】
2015103001.tif 000011