以下、本発明の実施の形態について説明する。図1は、本実施形態の撮像装置の一例を示す機能ブロック図である。撮像装置10は、撮像光学系15、撮像素子16、操作部材17、レンズ駆動回路18、測光回路19、CPU20、撮像素子駆動回路21、A/D変換器22、画像処理回路23、液晶モニタ24、圧縮伸長処理回路25、表示出力回路26、閃光装置27及び記憶媒体28を備えている。
不図示の被写体の像は、撮像光学系15によって、撮像素子16の撮像面上に結像される。撮像光学系15は複数枚のレンズで構成される。この撮像光学系15は、操作部材17の操作などに基づいて、レンズ駆動回路18を介して、フォーカス、ズームなどの調整が可能な構成とされている。
撮像素子16は、例えばCMOSイメージセンサが用いられる。このCMOSイメージセンサは、例えば赤(R)色、緑(G)色及び青(B)色のカラーフィルタを市松状に配置したベイヤー配列のカラーフィルタアレイを備えた単板式カラーセンサが用いられる。この撮像素子16は、静止画像の単写撮像とともに、静止画像の連続撮像、及び動画像の撮像が可能な撮像素子である。この撮像素子16は、測光回路19で得られた被写体の測光データに基づいて、CPU20の制御のもとで、撮像素子駆動回路21によって駆動される。撮像素子16により読み出された画像信号は、A/D変換器22に入力される。
A/D変換器22は、撮像素子16から読み出されたアナログの画像信号に対してA/D変換処理を施し、デジタルの画像信号に変換する。デジタルの画像信号は、画像処理回路23に入力される。
画像処理回路23は、入力された画像信号に対して、色補間処理、ホワイトバランス(WB)処理、マトリックス変換処理、γ変換処理、色相・彩度補正処理などの画像処理を施す。この画像処理回路23の詳細については、後述する。また、この他に、画像処理回路23は、液晶モニタ24に表示を行うための解像度(画素数)変換処理を施し、圧縮伸長処理回路25及び表示出力回路26に出力する。
表示出力回路26は、画像処理回路23から入力された画像信号に所定の信号処理を施し、液晶モニタ24に出力する。表示出力回路26は、必要に応じて、画像処理回路23から出力された画像信号に、撮影メニュー、カーソルなどのオーバーレイ画像信号を重畳する処理を行う。これにより、液晶モニタ24には、被写体画像にオーバーレイ画像が重畳されて表示される。
圧縮伸長処理回路25は、入力された画像信号に対して圧縮処理を施し、記憶媒体28
に記憶する。また、この他に、圧縮伸長処理回路25は、記憶媒体28に記憶された画像信号が読み出されたときに、読み出された画像信号に対して復号化処理を施し、画像処理回路23および表示出力回路26を介して、液晶モニタ24に供給する。
CPU20は、操作部材17の一部を構成するレリーズボタンの操作に基づいて、撮像画面上に設定された領域(AFエリア)の画像信号を抽出し、該領域のコントラスト値(もしくは、該領域の高空間周波数成分量)を算出し、算出結果をもとに、撮像素子16の撮像面上における被写体像のフォーカス状態を調整する、いわゆるコントラストAF動作を行う。
また、CPU20は、撮像光学系15を駆動し、順次得られる画像信号を画像内の被写体毎に解析し、領域内のコントラスト値が最大となった際のレンズ位置をもとに、被写体毎の撮影距離情報を取得する。
なお、自動合焦動作として、コントラストAF動作を例に挙げているが、これに限定される必要はなく、周知の瞳分割方式の位相差AF動作を用いることも可能である。この場合にも、自動合焦動作によって、各領域の撮影距離情報を得ることができる。
CPU20は、操作部材17の一部を構成するズーム操作部材の操作に基づいて、レンズ駆動回路18を介して撮像光学系15を駆動し、撮像素子16の撮像面上に結像される被写体像を拡大、又は縮小する、光学的なズーム動作を実行する。さらに、CPU20は、操作部材17の一部を構成するズーム操作部材の操作に基づいて、撮像素子16により得られる画像信号、又は記憶媒体28に記憶される画像信号を、画像処理回路23による解像度(画素数)変換処理によって拡大または縮小する電気的なズーム動作を制御する。
次に、画像処理回路23の構成について、図2に基づいて説明する。画像処理回路23は、色補間処理回路31、ホワイトバランス(WB)処理回路32、色変換マトリクス(MTX)回路33、ガンマ(γ)補正回路34、色相・彩度補正回路35、WBゲイン演算回路36及び調整回路37を備えている。
色補間処理回路31は、A/D変換器22から出力されたデジタルの画像信号に対して色補間処理を実行する。これにより、各画素の信号値が赤(R)色成分、緑(G)色成分或いは青(B)色成分のいずれかの色成分の信号値を有する画像信号から、各画素の信号値が赤(R)色成分、緑(G)色成分及び青(B)色成分の各色成分の信号値を有する画像信号となる。
WB処理回路32は、調整回路37によって調整されたホワイトバランスゲイン(以下、WBゲイン)の値を用いて、画像信号に対するWB処理を行う。色変換MTX回路33は、WB処理が施された画像信号が最適な色で再現されるように、画像信号に対して色ゲインの値を乗算する。γ補正回路34は、色ゲインの値が乗算された画像信号に対して階調補正を行う。色相・彩度補正回路35は、階調補正が施された画像信号に対して、色相補正や彩度補正を行う。
WBゲイン演算回路36は、色補間処理が施された画像信号に基づいて、WBゲインを算出する。このWBゲイン演算回路36の構成については後述する。このWBゲイン演算回路36は、撮影モードが水中撮影モードに設定された場合と、水中撮影モードを除く他の撮影モードに設定された場合とで、異なる処理を行うことで、それぞれのモードに合わせたWBゲインを算出する。以下、撮影モードが水中撮影モード以外の撮影モードとなる場合を、便宜上、陸上撮影モードと称する。
調整回路37は、画像処理回路23に入力される撮影モード情報に基づいて、WBゲイン演算回路36によって演算されたWBゲインの値を調整する。また、調整回路37は、撮影モード情報とWBゲイン演算回路36によって演算されたWBゲインの値に基づいて、色変換MTX回路33により用いる色ゲインの値、γ補正回路34にて実行される階調補正時に用いるγ値の他、色相・彩度補正回路35にて用いる色相補正値や彩度補正値を調整する。なお、撮影モード情報は、ユーザによる操作部材の操作によって設定される撮影モードの情報の他に、入力される画像信号に基づいて撮影シーンを判別するシーン判別回路(図示省略)によって判別された撮影モードの情報が挙げられる。
次に、図3を用いて、WBゲイン演算回路36の構成について説明する。WBゲイン演算回路36は、第1白色検出回路41、光源設定回路42、引き込み設定回路43、閃光条件設定回路44、第1ゲイン演算回路45、検出範囲設定回路46、第2白色検出回路47、第2ゲイン演算回路48及び第3ゲイン演算回路49から構成される。
ここで、WBゲイン演算回路36には、上述した撮影モード情報が入力される。したがって、WBゲイン演算回路36は、入力される撮影モード情報に基づいて異なる処理を実行する。例えば撮影モード情報から水中撮影モードであると判別される場合、WBゲイン演算回路36は、WBゲイン演算回路36を構成する全ての回路を作動させて、画像信号に基づくWBゲインを演算する。一方、撮影モード情報から陸上撮影モードであると判別される場合、WBゲイン演算回路36は、WBゲイン演算回路36を構成する回路のうち、第1白色検出回路41、光源設定回路42、引き込み設定回路43、閃光条件設定回路44、第1ゲイン演算回路45を作動させて、画像信号に基づくWBゲインを演算する。なお、本実施形態では、水中撮影モードの場合にのみ、WBゲイン演算回路36を構成する全ての回路を作動させるようにしているが、これに限定される必要はなく、撮影モードに関係なく、WBゲイン演算回路36を構成する全ての回路を作動させることも可能である。
第1白色検出回路41は、色補間処理が施された画像信号に基づく画像を複数のブロックに区分する。第1白色検出回路41は、区分した各ブロックごとの色平均値R[i]、G[i]、B[i]を算出する。次に、第1白色検出回路41は、求めた色平均値R[i]、G[i]、B[i]から色評価値(Cx[i],Cy[i])を求める。色評価値(Cx[i],Cy[i])は、例えば、以下の式(1)及び式(2)で求められる。
Cx[i]=R[i]/G[i]・・・(1)
Cy[i]=B[i]/G[i]・・・(2)
ここで、符号iは、i=1〜m(mは、ブロックの総数)である。
第1白色検出回路41は、各ブロックに対して求めた色評価値(Cx[i],Cy[i])が予め設定された白色の範囲(白色検出範囲)に含まれるかを検出する。そして、第1白色検出回路41は、白色検出範囲に含まれる色評価値を有するブロックがある場合に、白色検出範囲に含まれる色評価値を有するブロックの数を計数する。以下、第1白色検出回路41において実行される処理を第1白色検出処理と称する。
ここで、第1白色検出処理において、色評価値(Cx[i]、Cy[i])を式(1)及び式(2)より求めているが、これに限定される必要はなく、以下の式(3)及び式(4)を用いて求めることも可能である。
Cx[i]=(R[i]−B[i])/Y[i]・・・・(3)
Cy[i]=(R[i]+B[i]−2G[i])/Y[i]・・・・(4)
なお、Y[i]は、Y[i]=R[i]+2G[i]+B[i]である。
光源設定回路42は、入力される画像信号に基づいて、光源の色温度を設定する。例えば白色の領域が含まれない画像に対して第1白色検出処理を行った場合には、白色検出範囲に含まれる色評価値(Cx[i],Cy[i])を有するブロックは検出されない。このような場合に、光源設定回路42は、入力される画像信号に基づいて、光源の色温度を設定する。したがって、光源設定回路42における処理は、第1白色検出処理において白色検出範囲に含まれる色評価値を有するブロックが検出されない時(白色未検出時)の処理となる。
まず、光源設定回路42は、画像を区分した複数のブロックごとの色平均値R[i]、G[i]、B[i]を用いて、画像全体の色平均値Ave_R[i]、Ave_G[i]、Ave_B[i]を求める。そして、光源設定回路42は、求めた画像全体の色平均値Ave_R[i]、Ave_G[i]、Ave_B[i]から、Ave_R[i]/Ave_G[i]及びAve_B[i]/Ave_G[i]を求める。ここで、色温度は、Ave_R[i]/Ave_G[i]を縦軸に、B/Gを横軸に取った座標において対応付けられる。したがって、光源設定回路42は、Ave_R[i]/Ave_G[i]及びAve_B[i]/Ave_G[i]の値を用いて、光源の色温度を設定する。
引き込み設定回路43は、所定の色温度における基準点を基にホワイトバランスをとる範囲を制限する引込制限枠を設定する。つまり、引込制限枠を設定することで、第1白色検出処理によって白色検出範囲に含まれると見なされたブロックの色評価値が、引込制限枠の範囲内にある場合には本体白色であるものとし、該色評価値が引込制限枠の範囲から外れた場合には本体白色でないものとして判断することが可能となる。なお、第1白色検出処理において白色検出範囲に含まれる色評価値を有するブロックが検出されていない場合、引き込み設定回路43は、引込制限枠を設定する処理を省略する。
閃光条件設定回路44は、例えば画像を区分した複数のブロックごとの色平均値R[i]、G[i]、B[i]から各ブロックごとの輝度値Y[i]を求め、求めたブロックごとの輝度値Y[i]を用いて、閃光装置27における閃光条件を設定する。
第1ゲイン演算回路45は、画像信号に基づいたWBゲイン(以下、第1WBゲイン)の値を求める。上述した第1白色検出処理によって白色検出範囲に含まれる色評価値を有するブロックが検出されている場合には、第1ゲイン演算回路45は、これらブロックの色平均値R[i]、G[i]、B[i]を用いて、第1WBゲインGain_R1、Gain_G1及びGain_B1を算出する。詳細には、第1ゲイン演算回路45は、白色検出範囲に含まれる色評価値を有するブロックのうち、引込制限枠の範囲内にある色評価値を有するブロックを特定し、特定された引込制限枠の範囲内にある色評価値を有するブロックの色平均値を加算平均する。そして、第1ゲイン演算回路45は、加算平均された値を用いて、第1WBゲインGain_R1、Gain_G1及びGain_B1を算出する。
一方、上述した第1白色検出処理において、白色検出範囲に含まれる色評価値を有するブロックが検出されない場合、第1ゲイン演算回路45は、光源設定回路42により求めた色温度に基づいたWBゲイン値Gain_R0、Gain_G0及びGain_B0を第1WBゲインGain_R1、Gain_G1及びGain_B1として設定する。なお、色温度に基づいたWBゲイン値Gain_R0、Gain_G0及びGain_B0は、予め実験、統計などにより求められる値である。
検出範囲設定回路46は、画像に含まれる白色に対する白色検出範囲を新たに設定する。例えば水中では水の分光透過率が影響することから、水中における白色分布は緑色方向及び青色方向に偏ったものとなる。その結果、第1白色検出回路41において設定される白色検出範囲を用いると、被写体本来の白色を画像から検出することは困難となる。したがって、検出範囲設定回路46は、画像を区分した各ブロックごとの色平均値R[i]、G[i]、B[i]を参照して、緑色方向及び青色方向に偏った所定の範囲を白検出範囲として新たに設定する。
第2白色検出回路47は、画像を区分した各ブロックに対して求めた色評価値(Cx[i],Cy[i])が、検出範囲設定回路46によって新たに設定された白色検出範囲に含まれるかを検出する。以下、第2白色検出回路47において実行される処理を第2白色検出処理と称する。
第2ゲイン演算回路48は、第2白色検出処理により白色検出範囲に含まれる色評価値を有するブロックの色平均値R[i]、G[i]、B[i]を用いて、WBゲイン(以下、第2WBゲインと称する)を算出する。以下、第2ゲイン演算回路48によって算出されるゲインを第2ゲインGain_R2、Gain_G2及びGain_B2と称する。
第3ゲイン演算回路49は、第1ゲイン演算回路45により求めた第1WBゲインGain_R1、Gain_G1及びGain_B1及び第2ゲイン演算回路48により求めた第2WBゲインGain_R2、Gain_G2及びGain_B2を用いて、第3WBゲインGain_R3、Gain_G3及びGain_B3を算出する。この第3WBゲインを求める際に、第3ゲイン演算回路49は、第1白色検出処理によって計数される白色検出範囲に含まれるブロックの総数に基づいて、第1ゲイン演算回路45にて求めた第1WBゲインGain_R1、Gain_G1及びGain_B1と、第2ゲイン演算回路48によって求められた第2WBゲインGain_R2、Gain_G2及びGain_B2との比率(重み)を求める。そして、第3ゲイン演算回路49は、第1WBゲインGain_R1、Gain_G1及びGain_B1と、第2WBゲインGain_R2、Gain_G2及びGain_B2との他に、求めた比率を用いて、第3WBゲインGain_R3、Gain_G3及びGain_B3を算出する。
図4(a)は水深が浅い状態での水中撮影で得られた画像、図4(b)は閃光装置による閃光によって被写体が照明される状態での水中撮影で得られた画像である。これら図4(a)及び図4(b)に示すように、水深が浅い状態での水中撮影や閃光によって被写体が照明される水中撮影では、水中に入射する自然光や閃光装置27における閃光の影響が大きいので、被写体の白色は画像においても白色として表される。したがって、第1白色検出処理を実行すると、白色検出範囲に含まれる色評価値を有するブロックは数多く検出される。このような場合、第3ゲイン演算回路49は、第1WBゲインの比率を、第2WBゲインの比率よりも高くなるように設定する。
一方、図5(a)や図5(b)に示すように、水深が深い状態での水中撮影では、水中に入射する自然光や閃光装置27における閃光は、水深が浅い状態の水中撮影よりも、水の分光透過率の影響が大きい。したがって、被写体の白色は青味や緑味がかった白色として表される。したがって、第1白色検出処理では、白色検出範囲に含まれる色評価値を有するブロックは水深が深いほど検出されにくくなる。このような場合には、第3ゲイン演算回路49は、第2WBゲインの比率が第1WBゲインの比率よりも高くなるように設定する。ここで、第1WBゲインの比率をα、第2WBゲインの比率βとした場合、α+β=1を満足し、かつ、それぞれの比率α及びβのいずれか一方が0とならないように、第1WBゲイン及び第2WBゲインの比率が設定される。
次に、WBゲインを算出する処理から画像処理に係る処理の流れを、図6に基づいて説明する。なお、図6の処理の流れは、撮像素子16から出力された画像信号に対して色補間処理が行われたことを契機にしている。
ステップS101は、水中撮影モードであるか否かを判定する処理である。画像処理回路23には、撮影モード情報が入力される。したがって、WBゲイン演算回路36は、入力される撮影モード情報を参照する。撮影モード情報が水中撮影モードであると判別されたときは、WBゲイン演算回路36は、ステップS101の判定処理の結果をYesとする。この場合、ステップS102に進む。一方、撮影モード情報が陸上撮影モードであると判別されたときには、WBゲイン演算回路36は、ステップS101の判定処理の結果をNoとする。この場合、ステップS120に進む。
ここで、撮影モード情報が水中撮影モードであると判別されたときには、後述するステップS102からステップS106までの処理と、後述するステップS108からステップS210までの処理とが同時に(並行して)実行される。一方、撮影モード情報が水中撮影モードでないと判別されたとき、つまり撮影モード情報が陸上撮影モードであると判別された場合には、ステップS120からステップS124の処理が実行される。ここで、ステップS102からステップS106の処理は、陸上撮影モードの処理(ステップS120からステップS124の処理)と同一の処理である。
なお、図6においては、ステップS103からステップS106までの処理と、ステップS108からステップS210までの処理とを同時に実行する形態としているが、例えばステップS102からステップS106までの処理を行った後、ステップS108からステップS110までの処理を行ってもよい。また、予めステップS102の処理を行った後にステップS108からステップS110までの処理を行い、さらにステップS103からステップS106までの処理を行うことも可能である。
ステップS102は、第1白色検出処理である。第1白色検出回路41は、入力される画像信号に基づく画像を複数のブロックに区分し、区分した各ブロックごとの色平均値R[i]、G[i]、B[i]を求める。そして、第1白色検出回路41は、求めた色平均値R[i]、G[i]、B[i]から色評価値(Cx[i],Cy[i])をブロックごとに求める。第1白色検出回路41は、各ブロックに対して求めた色評価値(Cx[i],Cy[i])が白色検出範囲に含まれるかを検出する。そして、第1白色検出回路41は、白色検出範囲に含まれる色評価値を有するブロックが検出されるたびに、白色検出範囲に含まれる色評価値を有するブロックの数を計数する。
ステップS103は、白色未検出時処理である。上述した第1白色検出処理によって白色検出範囲に含まれる信号値を有するブロックが検出されない、言い換えれば白色検出範囲に含まれる信号値を有するブロックの数が0となる場合、このステップS103の処理が実行される。この白色未検出時処理とは、例えば光源設定回路42による光源の色温度を設定する処理である。光源設定回路42は、画像全体の色平均値Ave_R[i]、Ave_G[i]、Ave_B[i]から、Ave_R[i]/Ave_G[i]及びAve_B[i]/Ave_G[i]を求める。そして、光源設定回路42は、Ave_R[i]/Ave_G[i]及びAve_B[i]/Ave_G[i]の値を用いて、光源の色温度を設定する。
ステップS104は、引込制限枠を設定する処理である。引き込み設定回路43は、引込制限枠を設定する。
ステップS105は、閃光条件を設定する処理である。閃光条件設定回路44は、例えば画像を区分した複数のブロックごとの輝度値Y[i]を求め、求めたブロックごとの輝度値Y[i]に基づいて、閃光装置27における閃光条件を設定する。
ステップS106は、第1WBゲインを演算する処理である。上述した第1白色検出処理によって白色検出範囲に含まれる色評価値を有するブロックが検出されている場合、第1ゲイン演算回路45は、これらブロックのうち、引込制限枠の範囲内となる色評価値を有するブロックの色平均値R[i]、G[i]、B[i]を用いて、第1WBゲインGain_R1、Gain_G1及びGain_B1を算出する。
一方、上述した第1白色検出処理において、白色検出範囲となるブロックが検出できない場合、第1ゲイン演算回路45は、光源設定回路42により求めた色温度に基づいたWBゲイン値Gain_R0、Gain_G0及びGain_B0を第1WBゲインGain_R1、Gain_G1及びGain_B1とする。
ステップS108は、白色検出範囲を設定する処理である。検出範囲設定回路46は、画像を区分した各ブロックごとの色平均値R[i]、G[i]、B[i]を参照して、緑色方向及び青色方向に偏った所定の範囲を白検出範囲として新たに設定する。
ステップS109は、第2白色検出処理である。第2白色検出回路47は、色評価値(Cx[i],Cy[i])がステップS108において設定された白色検出範囲に含まれるブロックの有無を検出する。
ステップS110は、第2WBゲインを演算する処理である。第2ゲイン演算回路48は、第2白色検出処理により検出されたブロックの色平均値R[i]、G[i]、B[i]を用いて、第2WBゲインGain_R2、Gain_G2及びGain_B2を算出する。
ステップS111は、第3WBゲインを演算する処理である。第3ゲイン演算回路49は、第1白色検出処理によって検出されるブロックの総数に基づいて、第1WBゲインGain_R1、Gain_G1及びGain_B1及び第2WBゲインGain_R2、Gain_G2及びGain_B2の比率を設定する。そして、第3ゲイン演算回路49は、求めた比率と、第1WBゲインGain_R1、Gain_G1及びGain_B1、及び第2WBゲインGain_R2、Gain_G2及びGain_B2を用いて、第3WBゲインGain_R3、Gain_G3及びGain_B3を算出する。
ステップS112は、補正値の調整処理である。水中撮影モードは、予め複数(例えば3種類の)モードを備えており、この複数のモードにおいては、画像処理時の補正値の設定が異なる。調整回路37は、まず、設定された水中撮影モードが複数の水中撮影モードのいずれかであるかを判別する。そして、調整回路37は、判別した結果に基づいて、ステップS111にて求めた第3WBゲインGain_R3、Gain_G3及びGain_B3を調整する。この第3WBゲインGain_R3、Gain_G3及びGain_B3の調整としては、第3WBゲインGain_R3、Gain_G3及びGain_B3に所定の係数を加算するものであってもよいし、所定の係数を乗算するものであってもよい。以下、調整された第3WBゲインをGain_R4、Gain_G4及びGain_B4と称する。
また、調整回路37は、設定される水中撮影モードに基づいて、色ゲインの値、γ値、色相補正値や彩度補正値を読み出す。そして、調整回路37は、ステップS111にて求めた第3WBゲインGain_R3、Gain_G3及びGain_B3に基づいて、色ゲインの値、γ値、色相補正値や彩度補正値を調整する。これら値の調整は、読み出した補正値に対して、所定の係数を加算するものであってもよいし、所定の係数を乗算するものであってもよい。
ステップS113は、画像処理である。まず、WB処理回路32は、調整回路37によって調整されたWBゲインGain_R4、Gain_G4及びGain_B4を用いて、画像信号に対するWB処理を実行する。この処理の後、色変換MXT回路33による色変換処理、γ補正回路34による階調補正処理、色相・彩度補正回路35による色相補正処理や彩度補正処理が実行される。なお、色変換処理、階調補正処理、色相補正処理及び彩度補正処理に対しても、調整回路37によって調整された補正値が用いられる。
上述したステップS101の判定処理において、撮影モード情報から陸上撮影モードであると判別される場合、WBゲイン演算回路36は、ステップS101の判定処理の結果をNoとする。この場合、ステップS120に進む。この場合、WBゲイン演算回路36は、ステップS120からステップS124の処理を実行することで、WBゲインを算出する。
ステップS120は、白点検出処理である。このステップS120の処理は、ステップS102における第1白色検出処理と同一の処理である。
ステップS121は、白点未検出時処理である。このステップS121の処理は、ステップS103における処理と同一の処理である。
ステップS122は、引込制限枠を設定する処理である。このステップS122の処理は、ステップS104の処理と同一の処理である。
ステップS123は、閃光条件を設定する処理である。このステップS123の処理は、ステップS105の処理と同一の処理である。
ステップS124は、WBゲインを演算する処理である。このステップS124の処理は、ステップS106と同一の処理である。
このように、本発明では、撮影モードが陸上撮影モードに設定されている場合には、被写体本来の白色が、引込制限枠における基準点(黒体放射曲線上に位置する値)となるように、WB処理用のWBゲインが求められる。また、撮影モードが水中撮影モードに設定されている場合には、陸上撮影モードでの処理と同一の処理を行うことでWBゲイン(第1WBゲイン)を算出する他に、水の分光透過率の影響による白色の変化を考慮して設定される白色検出範囲を用いてWBゲイン(第2WBゲイン)を算出し、これらWBゲインを得られた画像に含まれる白色領域の割合に基づいて混合している。このような処理を行うことで、被写体までの距離や水深などを予め算出しなくとも、水深の深さに応じて変化する色味の変化に応じた、WB処理用のWBゲインを適切に取得することが可能となる。その結果、画像信号に対して適切なWB処理を行うことが可能となる。
また、従来の画像処理では、水深の浅い水中撮影で得られる画像に対して用いた色再現係数を、水深の深い水中撮影にて得られる画像に対する画像処理の際に用いると、水中における色かぶりは残るものの、被写体の色味を出すことが難しい。また、水深の深い水中撮影にて得られる画像に対して用いた色再現係数を、水深の深い水中撮影にて得られる画像に対する画像処理の際に用いると、色味が誇張されてしまう。
しかしながら、本発明では、算出されたWBゲインに応じて、画像処理における補正値を調整しているので、画像に対して適切な色再現係数を求めることが可能になる。その結果、得られる画像に対して適切な画像処理を行うことが可能となる。
本実施形態においては、撮像素子から出力される画像信号に対してWBゲインを求めるようにしている。したがって、撮像素子から出力される画像信号は、撮影を行っていない状態で得られる画像(スルー画像、ライブビュー画像)や、レリーズボタンの操作による撮像処理によって得られる画像(撮影画像)の双方に適用することができる。