(57)【特許請求の範囲】
【請求項１】
被写体を撮像して得られた画像の色分布情報から前記撮像した被写体が位置する水深を推定する推定手段と、
前記推定手段により推定された前記水深に応じて、黒体放射軸とは異なる軸でホワイトバランス制御を行うホワイトバランス制御手段と、
を備え、
前記推定手段は、撮像された画像の色分布情報について直線近似を行って相関係数を求め、該相関係数から前記水深を推定することを特徴とする画像処理装置。
【請求項２】
被写体を撮像して得られた画像の色分布情報から前記撮像した被写体が位置する水深を推定する推定手段と、
前記推定手段により推定された前記水深に応じて、黒体放射軸とは異なる軸でホワイトバランス制御を行うホワイトバランス制御手段と、
を備え、
前記推定手段は、撮像された画像の色分布情報と黒体放射軸との距離に応じて前記水深を推定することを特徴とする画像処理装置。
【請求項３】
被写体を撮像して得られた画像の色分布情報から前記撮像した被写体が位置する水深を推定する推定手段と、
前記推定手段により推定された前記水深に応じて、黒体放射軸とは異なる軸でホワイトバランス制御を行うホワイトバランス制御手段と、
を備え、
前記推定手段は、撮像された画像の色分布情報について楕円近似を行い、該楕円の長半径と短半径の比率から前記水深を推定することを特徴とする画像処理装置。
【請求項４】
前記黒体放射軸とは異なる軸とは、水中時の水深に応じた白点軌跡を表す軸であることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記水中時の水深に応じた白点軌跡を表す軸は、前記推定手段により得られた水深情報を基に変更可能であることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記ホワイトバランス制御手段は、白検出されたホワイトバランス係数を前記水深に応じた白点軌跡を表す軸に写像することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項７】
前記ホワイトバランス制御手段は、白検出したホワイトバランス係数と撮像された画像の色分布から算出したホワイトバランス係数とを加重加算し、前記水深に応じた白点軌跡を表す軸に写像することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項８】
前記ホワイトバランス制御手段は、前記推定手段により得られた水深情報を基に、白検出したホワイトバランス係数と撮像された画像の色分布から算出したホワイトバランス係数とを加重加算することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記推定手段は、前記画像に、高輝度、低輝度、高彩度の少なくとも１つに該当する領域が存在する場合、該領域を水深の推定のための計算対象から除外することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項１０】
前記高輝度の領域は、ＲＧＢ（赤、緑、青）の信号の少なくとも１つの値が閾値を超える領域であることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記低輝度の領域は、輝度が閾値より低い領域であることを特徴とする請求項９に記載の画像処理装置。
【請求項１２】
前記高彩度の領域は、Ｂの信号の値に対する、ＲとＧの信号の少なくとも一方の値の比が閾値より大きい領域であることを特徴とする請求項９に記載の画像処理装置。
【請求項１３】
前記推定手段は、水深の推定のための計算対象から除外される領域である除外領域が一定の面積を超える場合、前記除外領域の面積が前記一定の面積を超える直前に推定した水深を使用する、あるいは前記直前に推定した水深と新たに推定した水深を加重平均することを特徴とする請求項９に記載の画像処理装置。
【請求項１４】
被写体を撮像して得られた画像の領域毎に色評価値を算出する算出手段と、
各領域の色評価値を色空間にプロットして得た色評価値の分布形状から前記撮像した被写体が位置する水深を推定する推定手段と、
前記推定手段により推定された前記水深に応じて、黒体放射軸とは異なる軸でホワイトバランス制御を行うホワイトバランス制御手段と、
を備えることを特徴とする画像処理装置。
【請求項１５】
前記黒体放射軸とは異なる軸とは、水中時の水深に応じた白点軌跡を表す軸であることを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
前記水中時の水深に応じた白点軌跡を表す軸は、前記推定手段により得られた水深情報を基に変更可能であることを特徴とする請求項１５に記載の画像処理装置。
【請求項１７】
前記ホワイトバランス制御手段は、白検出されたホワイトバランス係数を前記水深に応じた白点軌跡を表す軸に写像することを特徴とする請求項１４乃至１６の何れか１項に記載の画像処理装置。
【請求項１８】
前記ホワイトバランス制御手段は、白検出したホワイトバランス係数と撮像された画像の色分布から算出したホワイトバランス係数とを加重加算し、前記水深に応じた白点軌跡を表す軸に写像することを特徴とする請求項１４乃至１６の何れか１項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタルカメラやデジタルビデオカメラなどの撮像装置における画像処理技術に関し、更に詳しくは、水中におけるホワイトバランス制御技術に関する。
【背景技術】
【０００２】
撮像素子から出力された信号はＡ／Ｄ変換によってデジタル化され、複数のブロックに分割される。そのブロック信号はＲ（赤）、Ｇ（緑）、Ｂ（青）を含む色信号で構成されており、そのブロックの色評価値算出例として式（１）がある。
【０００３】
Ｃｘ[i] ＝（Ｒ[i]−Ｂ[i]）／Ｙ[i]×１０２４
Ｃｙ[i] ＝（Ｒ[i]＋Ｂ[i]−２Ｇ[i]）／Ｙ[i]×１０２４      …（１）
（ただし、Ｙ[i]＝Ｒ[i]＋２Ｇ[i]＋Ｂ[i]）
そして予め設定した白検出範囲に色評価値（Ｃｘ[i]、Ｃｙ[i]）が含まれる場合は、そのブロックが白であると判定し、白検出範囲に入った色画素の積分値ｓｕｍＲ、ｓｕｍＧ、ｓｕｍＢを算出して、以下の式（２）のようにホワイトバランス係数を算出する。
【０００４】
ＷＢＣｏ_Ｒ＝ｓｕｍＹ×１０２４／ｓｕｍＲ
ＷＢＣｏ_Ｇ＝ｓｕｍＹ×１０２４／ｓｕｍＧ                …（２）
ＷＢＣｏ_Ｂ＝ｓｕｍＹ×１０２４／ｓｕｍＢ
ここで、ｓｕｍＹ＝（ｓｕｍＲ＋２×ｓｕｍＧ＋ｓｕｍＢ）／４
ただし、水中で撮影を行う場合、水の分光透過率の影響で光の長波長域が減衰しやすくなるので、Ｒ色光の比率がＧ色光、Ｂ色光に比べて減少するため、青みを帯びた画像になる。さらに水中では、水面からカメラ（被写体）までの距離（水面からの深さ）が長くなるほど、水の外から到達する自然光のＲ色成分が減少するためホワイトバランスの追従性を保持するのが困難である。
【０００５】
特許文献１では、ホワイトバランス調整時に使用する調整係数を撮影前に設定し、カメラが位置する深さを検出する水深計により検出した深度情報を基に、異なるホワイトバランス調整係数を制御するとしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４１４４３９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の特許文献１に開示された従来技術では、ユーザーが撮影前に予め用意した白もしくはグレーなどの無彩色の被写体を撮影しなくてはならず、手間がかかり煩わしさがあった。また、水深を検出するための水深計等をカメラに搭載しなければならず、カメラのコストが高くなるといった問題もあった。
【０００８】
本発明は上述した課題に鑑みてなされたものであり、その目的は、カメラに特別な装置を設けることなく、水中でのホワイトバランスを適切に調整できるようにすることである。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明に係わる画像処理装置は、被写体を撮像して得られた画像の色分布情報から前記撮像した被写体が位置する水深を推定する推定手段と、前記推定手段により推定された前記水深に応じて、黒体放射軸とは異なる軸でホワイトバランス制御を行うホワイトバランス制御手段と、を備え、前記推定手段は、撮像された画像の色分布情報について直線近似を行って相関係数を求め、該相関係数から前記水深を推定することを特徴とする。
また、本発明に係わる画像処理装置は、被写体を撮像して得られた画像の色分布情報から前記撮像した被写体が位置する水深を推定する推定手段と、前記推定手段により推定された前記水深に応じて、黒体放射軸とは異なる軸でホワイトバランス制御を行うホワイトバランス制御手段と、を備え、前記推定手段は、撮像された画像の色分布情報と黒体放射軸との距離に応じて前記水深を推定することを特徴とする。
また、本発明に係わる画像処理装置は、被写体を撮像して得られた画像の色分布情報から前記撮像した被写体が位置する水深を推定する推定手段と、前記推定手段により推定された前記水深に応じて、黒体放射軸とは異なる軸でホワイトバランス制御を行うホワイトバランス制御手段と、を備え、前記推定手段は、撮像された画像の色分布情報について楕円近似を行い、該楕円の長半径と短半径の比率から前記水深を推定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、カメラに特別な装置を設けることなく、水中でのホワイトバランスを適切に調整することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態に係わるカメラの構成を示すブロック図。
【図２】第１のＷＢ補正値算出処理を示すフローチャート。
【図３】白検出範囲を示す図。
【図４】第１の実施形態における水中時のＷＢ補正値算出処理を示すフローチャート。
【図５】水中時の色評価値分布を示す図。
【図６】水中時のＷＢ処理を示す概念図。
【図７】相関係数に応じた水中軸の設定に関するテーブルを示す図。
【図８】色分布と黒体放射軸との距離に応じたゲイン値の算出を示す図。
【図９】第２の実施形態における水中時のＷＢ補正値算出処理を示すフローチャート。
【図１０】深度に応じてＷＢ係数をＭｉｘする際の比率を示す図。
【図１１】第３の実施形態における水中時のＷＢ補正算出処理を示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【００１３】
（第１の実施形態）
図１は、本発明の第１の実施形態に係わるカメラ（撮像装置）の構成を示すブロック図である。図１において、１０１はＣＣＤやＣＭＯＳセンサ等からなる固体撮像素子であり、その表面は例えばベイヤー配列のようなＲＧＢ（赤、緑、青）のカラーフィルタにより覆われ、カラー撮影が可能な構成となっている。
【００１４】
ＣＰＵ１１４は画像全体が適切な明るさになるようなシャッター速度、絞り値を計算すると共に、合焦領域内にある被写体に合焦するように撮影レンズ内のフォーカスレンズの駆動量を計算する。ＣＰＵ１１４で計算された露出値（シャッター速度、絞り値）およびフォーカスレンズの駆動量は制御回路１１３に送られ、各値に基づいて露出及びフォーカスがそれぞれ制御される。１０３はＷＢ（ホワイトバランス）制御部であり、メモリ１０２に記憶された画像信号からの情報に基づいてＷＢ補正値を算出し、算出したＷＢ補正値を用いて、メモリ１０２に記憶された画像信号に対してＷＢ補正を行う。なお、このＷＢ制御部１０３の詳細構成およびＷＢ補正値の算出方法については後述する。
【００１５】
１０４は、ＷＢ制御部１０３によりＷＢ補正された画像信号が最適な色で再現されるように色ゲインをかけて色差信号Ｒ−Ｙ、Ｂ−Ｙに変換する色変換ＭＴＸ（色変換マトリックス）回路である。１０５は色差信号Ｒ−Ｙ、Ｂ−Ｙの帯域を制限するＬＰＦ（ローパスフィルタ）回路、１０６はＬＰＦ回路１０５で帯域制限された画像信号の内、飽和部分の偽色信号を抑圧するＣＳＵＰ（Chroma Supress）回路である。一方、ＷＢ制御部１０３によりＷＢ補正された画像信号はＹ（輝度信号）生成回路１１１にも出力されて輝度信号Ｙが生成され、生成された輝度信号Ｙに対してエッジ強調回路１１２にてエッジ強調処理が施される。
【００１６】
ＣＳＵＰ回路１０６から出力される色差信号Ｒ−Ｙ、Ｂ−Ｙと、エッジ強調回路１１２から出力される輝度信号Ｙは、ＲＧＢ変換回路１０７にてＲＧＢ信号に変換され、ガンマ補正回路１０８にて階調補正が施される。その後、色輝度変換回路１０９にてＹＵＶ信号に変換され、さらにＪＰＥＧ圧縮回路１１０にて圧縮されて、外部記録媒体または内部記録媒体に画像信号として記録される。
【００１７】
次に、図１のＷＢ制御部１０３におけるＷＢ補正値の算出方法について詳細に説明する。まずは第１のＷＢ補正値の算出方法について図２を用いて説明する。
【００１８】
メモリ１０２に記憶された画像信号を読み出し、その画面を任意のｍ個のブロックに分割する（ステップＳ１０１）。そして、各ブロック（１〜ｍ）毎に、画素値を各色ごとに加算平均して色平均値（Ｒ[i]、Ｇ[i]、Ｂ[i]）を算出し、式（１）を用いて色評価値（Ｃｘ[i]、Ｃｙ[i]）を算出する（ステップＳ１０２）。
【００１９】
Ｃｘ[i]＝（Ｒ[i]−Ｂ[i]）／Ｙ[i]×１０２４
Ｃｙ[i]＝（Ｒ[i]＋Ｂ[i]−２Ｇ[i]）／Ｙ[i]×１０２４
ただし、Ｙ[i]＝Ｒ[i]＋２Ｇ[i]＋Ｂ[i]
次に、ステップＳ１０２で算出したｉ番目のブロックの色評価値（Ｃｘ[i]、Ｃｙ[i]）が、図３（ａ）に示す予め設定した白検出範囲３０１に含まれるかどうかを判断する（ステップＳ１０３）。
【００２０】
白検出範囲３０１は、予め異なる光源下で白を撮影し、算出した色評価値をプロットしたものである。この白検出範囲は撮影モードによって別設定できるものとする。図３におけるｘ座標（Ｃｘ）の負方向が高色温度被写体の白を撮影したときの色評価値、正方向が低色温度被写体の白を撮影したときの色評価値である。またｙ座標（Ｃｙ）は光源の緑成分の度合いを意味しており、負方向になるにつれＧｒｅｅｎ（緑）成分が大きくなり、つまり蛍光灯であることを示している。水中時における白色分布はＢｌｕｅ（青）方向とＧｒｅｅｎ方向に偏って分布するので、白検出範囲はＢｌｕｅ方向とＧｒｅｅｎ方向を検出するような範囲に設定する（図３（ｂ）の３０２）。算出した色評価値（Ｃｘ[i]、Ｃｙ[i]）がこの白検出範囲３０２に含まれる場合には（ステップＳ１０３でＹＥＳ）そのブロックが白色であると判断する。そして、そのブロックの色平均値（Ｒ[i]、Ｇ[i]、Ｂ[i]）を積算していき（ステップＳ１０４）、含まれない場合には加算せずにステップＳ１０５に進む。このステップＳ１０３及びステップＳ１０４の処理は、式（３）により表すことができる
【００２１】
【数１】
0005677113.tif 000002
【００２２】
ここで、式（３）において、色評価値（Ｃｘ[i]、Ｃｙ[i]）が白検出範囲（図３（ｂ）の３０２）に含まれる場合はＳｗ[i]を１に、含まれない場合にはＳｗ[i]を０とする。これにより、ステップＳ１０３の判断により色評価値（Ｒ[i]、Ｇ[i]、Ｂ[i]）の加算を行うか、行わないかの処理を実質的に行っている。
【００２３】
ステップＳ１０５では、すべてのブロックについて上記処理を行ったかどうかを判断し、未処理のブロックがあればステップＳ１０２に戻って上記処理を繰り返し、すべてのブロックの処理が終了していればステップＳ１０６に進む。
【００２４】
ステップ１０６では、得られた色評価値の積分値（ｓｕｍＲ、ｓｕｍＧ、ｓｕｍＢ）から、以下の式（４）を用いて、第１のＷＢ補正値（ＷＢＣｏ１_Ｒ、ＷＢＣｏ１_Ｇ、ＷＢＣｏ１_Ｂ）を算出する。さらに、同じく得られた色平均値の積分値（ｓｕｍＲ、ｓｕｍＧ、ｓｕｍＢ）から式（１）を用いて、第１の色評価値ＷＢＣｏ１（Ｃｘ１、Ｃｙ１）を算出する。
【００２５】
ＷＢＣｏ１_Ｒ＝ｓｕｍＹ×１０２４／ｓｕｍＲ
ＷＢＣｏ１_Ｇ＝ｓｕｍＹ×１０２４／ｓｕｍＧ        …（４）
ＷＢＣｏ１_Ｂ＝ｓｕｍＹ×１０２４／ｓｕｍＢ
ただし、ｓｕｍＹ＝（ｓｕｍＲ＋２×ｓｕｍＧ＋ｓｕｍＢ）／４
続いて第１のＷＢ補正値の算出後の処理について図４のフローチャートと図５の概念図を用いて説明する。ステップＳ２０２でＷＢモードが水中モードか判断し、水中モードでなければステップＳ２０７に進み第１のＷＢ補正値を最終ＷＢ係数とする。
【００２６】
ＷＢモードが水中モードの場合は、ステップＳ２０３で撮影画像をｎブロックに分割し、各ブロック（１〜ｎ）毎に、画素値を各色ごとに加算平均して色平均値（Ｒ[i]、Ｇ[i]、Ｂ[i]）を算出する。そして、色評価値（Ｃｘ[i]、Ｃｙ[i]）を算出する。色評価値は、図５に示すように深度（水深）が浅いときは５０１のように分布し、深度が深いときは５０２のように分布する。水中では、水面から被写体の位置（被写体までの距離が近ければカメラの位置とも見なせる）までの距離（水面からの深さ）が長くなるほど、水の外から到達する自然光のＲ色成分が減少するので図５に示すような分布になる。そこで深度を推定する手段として撮影画像の色分布情報から直線近似式の相関を演算し、その相関から深度を推定する。その相関計算式は以下のようになる。
【００２７】
【数２】
0005677113.tif 000003
【００２８】
ここで、ｍはＣｘ[i]の平均値であり、ｎはＣｙ[i]の平均値である。
【００２９】
上記で算出したｒ2を相関係数とし、その情報を基にＷＢ制御を行う。この相関係数は０〜１の値をとり、１に近い値だと相関がある、つまり深度が深いと推定し、０に近い値だと相関がない、つまり深度が浅いと推定する。これは深度が深くなるにつれ、Ｒｅｄ（赤）成分が極端に減衰していくため、図５の５０２で示すような色分布形状になるためである。つまり色分布を直線近似した場合の相関係数によって深度を推定することとする。
【００３０】
また、色分布情報から深度を推定する他の手段として、撮影画像の色分布と黒体放射軸との距離をもとに深度を推定する。図５に示すように深度が深くなるにつれ、Ｂｌｕｅ（青）、Ｇｒｅｅｎ（緑）方向に色分布が推移していくためである。ここでは、撮影画像の色分布中心と黒体放射軸との距離によって深度を推定することとする。
【００３１】
黒体放射軸との距離をΔＣｘ、ΔＣｙとすると、その算出式は以下のようになる。
【００３２】
【数３】
0005677113.tif 000004
【００３３】
ΔＣｘ＝Ｃｘ０−ＡｖｅＣｘ
ΔＣｙ＝Ｃｙ０−ＡｖｅＣｙ
ここで、Ｗ０（Ｃｘ０、Ｃｙ０）は黒体放射軸上のポイントとする。上式で算出したΔＣｘ、ΔＣｙを深度推定の判断要素とする。
【００３４】
水中における白色評価値の軌跡（白点軌跡であり、以下、水中軸と呼ぶ）は図６に示すような黒体放射軸とは離れたところに存在する。さらに水中の白点は深度によって変化するため、ステップＳ２０４で上記演算によって得られた相関係数（推定水深情報）と黒体放射軸との距離（推定水深情報）をもとに水中軸Ｗ１’、Ｗ２’を設定する。設定方法としては、図７に示すような相関係数に応じたＷ１（Ｃｘ１，Ｃｙ１）、Ｗ２（Ｃｘ２，Ｃｙ２）、Ｗ１Ｄ（Ｃｘ１Ｄ，Ｃｙ１Ｄ）、Ｗ２Ｄ（Ｃｘ２Ｄ，Ｃｙ２Ｄ）をテーブルから参照する。Ｗ１Ｄ、Ｗ２ＤはＷ１、Ｗ２よりさらに深い深度まで追従できるような水中軸の設定値とする。
【００３５】
上記テーブルから算出したＷ１、Ｗ２、Ｗ１Ｄ、Ｗ２Ｄは前述の黒体放射軸との距離ΔＣｘ、ΔＣｙに応じてＭｉｘ（混合）する。そのＭｉｘ率βは、図８に示されるようにΔＣｘ、ΔＣｙからＧａｉｎ１，Ｇａｉｎ２を求め、以下のように算出する。
【００３６】
β＝Ｇａｉｎ１×Ｇａｉn２
Ｗ１’Ｃｘ＝（１−β）×Ｗ１Ｃｘ＋β×Ｗ１ＤＣｘ
Ｗ１’Ｃｙ＝（１−β）×Ｗ１Ｃｙ＋β×Ｗ１ＤＣｙ
Ｗ２’Ｃｘ＝（１−β）×Ｗ２Ｃｘ＋β×Ｗ２ＤＣｘ
Ｗ２’Ｃｙ＝（１−β）×Ｗ２Ｃｙ＋β×Ｗ２ＤＣｙ
つまり、色分布情報の相関係数が高く黒体放射軸との距離が離れている場合に深度が深いと判断され、より深くまで追従できるような水中軸設定となる。
【００３７】
本テーブルの相関係数と軸との関係は、例えば、実際の水中での撮影画像を用いて実験的に求めることができる。なお、相関係数が上記テーブルの間の値をとる場合は線形補間して算出する
ステップＳ２０５では上述で算出した第１のＷＢ補正値ＷＢＣｏ１を図６で示すようなＷ１’、Ｗ２’の水中軸に写像する。ここでは、第１のＷＢ補正値に対応する色評価値の積分値（ｓｕｍＲ，ｓｕｍＧ，ｓｕｍＢ）がＣｘ及びＣｙの値に変換され、変換されたＣｘ及びＣｙ値が水中軸に写像され、点ＷＢＣｏ’（Ｃｘ’，Ｃｙ’）が得られる。ステップＳ２０６で写像した点ＷＢＣｏ’（Ｃｘ’，Ｃｙ’）をＷＢＣｏ１_Ｒ、ＷＢＣｏ１_Ｇ、ＷＢＣｏ１_Ｂとして最終ホワイトバランス係数として出力する。これらのＲＧＢ空間の値は、式（１）及び式（２）において、Ｃｘ[i]＝Ｃｘ’，Ｃｙ[i]＝Ｃｙ’，Ｒ[i]＝ｓｕｍＲ，Ｇ[i]＝ｓｕｍＧ＝１０２４，Ｂ[i]＝ｓｕｍＢ，Ｙ[i]＝ｓｕｍＹ，ＷＢＣｏ_Ｒ＝ＷＢＣｏ１_Ｒ，ＷＢＣｏ_Ｇ＝ＷＢＣｏ１_Ｇ，ＷＢＣｏ_Ｂ＝ＷＢＣｏ１_Ｂとした連立方程式により求められる。
【００３８】
（第２の実施形態）
続いて第２の実施形態について説明する。第２の実施形態では水中軸Ｗ１’、Ｗ２’に写像する際に第１の実施形態で算出したＷＢＣｏ１と画面全体を平均化して算出したＷＢ係数を深度によって加重加算して水中軸Ｗ１’、Ｗ２’に写像する点が異なる。それ以外の部分は第１の実施形態と同様なので詳細な説明は省略する。
【００３９】
図９のフローチャートを用いて説明する。深度が深いような場合は、色評価値が図３の検出範囲３０２に含まれない場合がある。そのため、画面の色分布を参照するために撮影画像のブロック（１〜ｎ）毎に、画素値を各色ごとに加算平均して色平均値（Ｒ[i]、Ｇ[i]、Ｂ[i]）を算出し、色評価値（Ｃｘ[i]、Ｃｙ[i]）を算出する（ステップＳ３０５）。この値を以下のように積分していく。
【００４０】
【数４】
0005677113.tif 000005
【００４１】
ここでは、白ではないような色評価値を加算してしまう場合があるので、白色評価値の軌跡からかけ離れた評価値は加算しないように重みをかけて加算してもよい。その場合の積分は以下のようにする。
【００４２】
【数５】
0005677113.tif 000006
【００４３】
ここでＧａｉｎ１及びＧａｉｎ２は、黒体放射軸上の所定の光源を示す点（例えば、日向の点）からの距離により求められるものであり、距離が離れるほど値が小さくなるようにする。本実施形態では、Ｇａｉｎ１及びＧａｉｎ２のそれぞれが個別に求められる。不揮発性メモリ５６は、Ｃｘ軸方向について５つの代表的なＣｘ座標に対するＧａｉｎ１の値と、同じくＣｙ軸方向について５つの代表的なＣｙ座標に対するＧａｉｎ２の値を記憶する。システム制御部５０は、それらの値を用いて線形補間することにより、ｉ＝１〜ｎまでのＣｘ[i]及びＣｙ[i]の座標に対応するＧａｉｎ１とＧａｉｎ２の値を求める。
【００４４】
上記で算出したＣｘ、ＣｙをＷＢＣｏ２とする。なお、本実施形態ではＣｘとＣｙの両方でＧａｉｎによる重み付けを行ったが、一方のみについて重み付けを行ってもよい。
【００４５】
ステップＳ３０６で算出したＷＢＣｏ１とＷＢＣｏ２を推定深度、つまり相関係数に応じてＭｉｘ（混合）する。その際のＭｉｘ比率αは図１０のように推定深度（相関係数）に応じて決定される。つまり、
ＷＢＣｏ１：ＷＢＣｏ２＝（１−α）：α
という比率でＭｉｘ処理をすることとする。
【００４６】
ステップＳ３０７では上記でＭｉｘ処理したホワイトバランス係数を図６で示すようにＣｘ及びＣｙ値として水中軸に写像する。写像した点をＷＢＣｏ１_Ｒ、ＷＢＣｏ１_Ｇ、ＷＢＣｏ１_Ｂとして最終ホワイトバランス係数として出力する（ステップＳ３０８）。
【００４７】
（第３の実施形態）
次に第３の実施形態について説明する。第３の実施形態では直線近似式の相関演算に使用するブロックが第１及び第２の実施形態と異なる。それ以外の部分は第２の実施形態（図９のフローチャート）と同様であるので詳細な説明は省略する。
【００４８】
図１１のフローチャートを用いて説明する。水深の推定を阻害する（相関係数を本来の値より下げてしまう）要因がいくつか存在する。例えば、高輝度部（水中ライトなど）、低輝度部（岩陰など）、高彩度部（魚など）が存在する場合が挙げられる。また、高輝度部、低輝度部、高彩度部の判断基準の例として、高輝度部はＲＧＢ（赤、緑、青）の少なくとも１つの値が閾値を超えた場合、低輝度部は輝度が閾値より低い場合、高彩度部はＢ値に比べＲまたはＧの少なくとも一方の値が閾値より大きい場合などが挙げられる。
【００４９】
ここで、撮影画像のブロック毎の色平均値に基づき、上記のような水深の推定を阻害すると判断された（高輝度、低輝度、高彩度の少なくとも１つに該当する）ブロックは相関係数算出時に除外領域として計算対象から除外する（ステップＳ４０３）。これにより、水深の推定誤差を減らすことができる。
【００５０】
また、このとき一定以上のブロックが除外対象となった場合、除外対象ブロックが一定量（一定面積）を超える直前に算出した相関係数（水深）を使用してもよいし、除外対象ブロックが一定量を超える直前に算出した相関係数（水深）と新たに算出した相関係数（水深）を状況（例えば、除外対象ブロックが一定量を超えてからの経過時間）に応じて算出された比で加重平均してもよい。
【００５１】
（第４の実施形態）
次に、第４の実施形態について説明する。第１乃至第３の実施形態では、深度を推定する場合、撮影画像の色評価値分布から直線近似を行い、その相関係数に応じて制御を変更可能にしていた。
【００５２】
第４の実施形態では撮影画像の色評価値から楕円近似をし、その楕円の長半径と短半径の比率によって深度を推定することとする。
【００５３】
前述のように水中では、水面からカメラ（被写体）までの距離（水面からの深さ）が長くなるほど、水の外から到達する自然光のＲ色成分が減少するので、深度が深い場合は色評価値が図５の５０２のような分布になる。この楕円の長半径ａと短半径ｂの比率によって深度を推定することとする（ａ＞ｂ＞０）。つまり、ｂ／ａは０〜１の値をとり、０に近づけば近づくほど深度が深いと推定し、１に近づけば深度が浅いと推定する。水中の深度推定方法以外は第１乃至第３の実施形態と同様なので詳細な説明は省略する。
【００５４】
（他の実施形態）
本発明は、ホワイトバランス制御に関わらず、推定深度に応じて色ゲインマトリックスを変更するようにしてもよい。例えば、深度が深くなればなるほどＲ色成分が減少するため、赤色が発色しなくなってくる。つまり推定深度情報を基にＲゲインを切り換える（色ゲイン変更）ことで所望の色再現を得ることを可能にする。
【００５５】
他にも推定深度に応じて、ＡＦ、ＡＥ等の制御を変えてもよいし、もし画像を表示するための表示装置を備えている場合は推定深度に応じて表示するＵＩや画像の画質を変化させてもよい。
【００５６】
上記実施形態は、本発明を撮像装置において実施する例について説明したが、これに限られるものではなく、画像のホワイトバランス制御を行う機能を有する画像処理装置であれば適用可能なものである。例えば、パーソナルコンピュータで動作するアプリケーションソフトウェアが、ＲＡＷ画像ファイル（撮像素子から出力されたホワイトバランス補正前のデータのファイル）に対して、本発明の処理を行う例がある。
【００５７】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005677113.tif 000007
【図２】
0005677113.tif 000008
【図３】
0005677113.tif 000009
【図４】
0005677113.tif 000010
【図５】
0005677113.tif 000011
【図６】
0005677113.tif 000012
【図７】
0005677113.tif 000013
【図８】
0005677113.tif 000014
【図９】
0005677113.tif 000015
【図１０】
0005677113.tif 000016
【図１１】
0005677113.tif 000017