説明

撮像装置及びその制御方法

【課題】 階調補正の効果とノイズ量の増加とが適切にバランスした階調補正を実現すること
【解決手段】 適正露出量で撮像した場合に必要となる階調補正量を、測光センサで測定された被写体の輝度に基づいて算出する。そして、この階調補正量と、予め定められた、階調補正によって増加するノイズ量が許容可能な最大階調補正量との差分を最大露出低下量として、露出低下量を決定する。適正露出量よりも露出低下量分低い露出量で撮像し、撮像画像に対して露出低下量を補うための階調補正と、露出低下量を補った後の画像の輝度を補正するための階調補正とを適用する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は撮像装置及びその制御方法に関する。
【背景技術】
【0002】
デジタルカメラなどで撮像した画像の輝度ヒストグラムや、顔情報などの被写体情報を解析し、好ましい明るさやコントラストの画像となるように階調補正を行うことが知られている。
【0003】
例えば、背景が主被写体より著しく明るい、いわゆる逆光シーンは、撮像画像における主被写体の部分が暗くなりやすい。これは、背景の輝度値が飽和して階調性がなくなってしまう現象(白トビと呼ぶ)が発生しないような露出条件で撮像されると、主被写体については露出不足となるからである。このような撮像画像に対しては、主被写体部分の輝度を上げる階調補正が有効である。
【0004】
代表的な階調補正の方法として特許文献1には、例えば入力輝度値と出力輝度値との関係を定めた補正テーブル(トーンカーブ)を用いて輝度値を変更する方法が記載されている。特許文献1には、逆光シーンで撮像された画像に対し、背景での白トビを抑制しながら主被写体部分の明るさを上昇させるような補正テーブルを用いて階調補正することが提案されている。
【0005】
また、シーン全体の輝度に基づいて決定された撮像条件によって撮像された画像では、逆光シーンの背景に白トビした領域が発生してしまう場合がある。白トビしている領域からは本来の輝度情報を得ることができないため、階調補正の効果が十分得られない。そのため、露出アンダーとなる条件で撮像することで背景に有効な輝度情報を残しておき、その後階調補正することで背景の輝度が適切となるように補正する方法も知られている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−124604号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
階調補正は通常の(撮像装置が適正露出の得られる条件として設定した)撮像条件で撮像された画像に対しても、上述のように敢えて露出アンダーとなる撮像条件で撮像された画像に対しても適用可能である。しかし、暗い部分の輝度を上げる階調補正は、輝度値の増幅に相当するため、元の画像に含まれるノイズ成分も増加することになるため、露出アンダーとなる撮像条件で撮像された画像を階調補正する場合、補正後のノイズが目立ちやすいという問題がある。
【0008】
本発明は、このような従来技術の課題に鑑みてなされたもので、階調補正の効果とノイズ量の増加とが適切にバランスした階調補正を実現する撮像装置及びその制御方法の提供を目的とする。
【課題を解決するための手段】
【0009】
上述の目的は、被写体の輝度を測定するための測光センサと、測光センサで測定された被写体の輝度から、被写体を撮像するための適正露出量を算出する露出量算出手段と、撮像画像に生じる白トビを抑制するための露出低下量を算出する露出低下量算出手段と、撮像素子を用い、適正露出量よりも露出低下量分低い露出量で撮像を行う撮像手段と、撮像手段が撮像した画像に対し、露出低下量を補うための階調補正と、露出低下量を補った後の画像の輝度を補正するための階調補正とを適用する補正手段とを有し、露出低下量算出手段は、適正露出量で撮像した場合に必要となる階調補正量を、測光センサで測定された被写体の輝度に基づいて算出し、階調補正量と、予め定められた、階調補正によって増加するノイズ量が許容可能な最大階調補正量と、の差分を最大露出低下量として、露出低下量を決定することを特徴とする撮像装置によって達成される。
【発明の効果】
【0010】
このような構成により、本発明によれば、階調補正の効果とノイズ量の増加とが適切にバランスした階調補正を実現することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係る撮像装置の一例としてのデジタルカメラの機能ブロック図
【図2】図1の露出制御部の処理を説明するためのフローチャート
【図3】露出量算出部のS206における処理を説明するフローチャート
【図4】図1の補正制御部の処理を示すフローチャート
【図5】本発明の実施形態における顔輝度取得領域の例を示す図
【図6】本発明の実施形態における顔輝度代表値の算出処理の例を示すフローチャート
【図7】補正量算出部における顔補正特性の作成動作の例を説明するための図
【図8】顔が検出されなかった場合の、補正量算出部の動作の例を説明する図
【図9】測光画像及び撮像画像の顔検出結果による顔信頼度と、補正値(C)及び補正値(B)の重みの関係例を示す図
【図10】適正露出量から低下させた露出量を補償する補正量の例を示す図
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本発明の例示的な実施形態について詳細に説明する。
図1は、本発明の実施形態に係る撮像装置の一例としてのデジタルカメラの機能ブロック図である。
【0013】
不図示の撮像レンズを通過した被写体光学像は、測光センサ101上に結像する。測光センサ101は複数に分割された測光領域を有し、各測光領域の被写体輝度を測光する。測光センサは、画素数が少ないことを除き、表示や記録のための画像を撮像する撮像素子106(後述)と同じ構成を有する光電変換素子であってよい。この場合、各測光領域には複数の画素が含まれてよく、測光領域に含まれる画素の例えば平均輝度値を測光領域の輝度値として求めることができる。このように、測光センサが輝度測定のために撮像した画像を、本明細書では測光画像と呼ぶ。
【0014】
例えばCPU100aによってソフトウェア的に実現される露出制御部102は、測光センサ101による各測光領域の被写体輝度から露出量を算出する。露出制御部102は、第1ヒストグラム検出部103、第1顔検出部104、及び露出量算出部105を有する。なお、CPU100aがこれら各部の機能を実現するためのプログラムは不図示のメモリに予め記憶されていても、外部から供給されるものであってもよい。
【0015】
図2は露出制御部102の処理を説明するためのフローチャートである。
S201で、露出量算出部105は、測光センサ101の出力する、各測光領域の被写体輝度を重み付け平均して撮像画面全体の輝度を算出し、全体輝度に基づく露出量を算出する。この露出量が所謂「通常の露出量」又は「適正露出量」に相当する。
【0016】
S202で、第1ヒストグラム検出部103は、各測光領域の輝度値から撮像画面内の輝度分布を示すヒストグラムを検出する。ここでのヒストグラム検出は、後述するS402と同様に行うことが望ましいが、処理の簡略化のためにホワイトバランスゲインの算出、適用や、ガンマ処理を省いてもよい。第1ヒストグラム検出部103は、検出したヒストグラムを露出量算出部105に出力する。
【0017】
S203は、第1顔検出部104が、顔検出前処理を行う。これは、各測光領域の輝度値からなる画像データに対してガンマ処理等を施して、顔を容易に検出しやすいようにする処理である。ただし、上述の通り、測光センサ101は撮像素子106よりも画素数が少ないので、縮小処理は不要であろう。
【0018】
S204で第1顔検出部104は、前処理した画像データに対し、公知の方法を用いて顔検出処理を実行する。顔検出処理により、顔と思われる領域(顔領域)と、検出の信頼度(顔領域の顔らしさの指標)とが得られる。第1顔検出部104は、顔検出処理の結果を露出量算出部105及び補正量算出部113に出力する。
【0019】
S204において顔が検出された場合、S205で露出量算出部105は、顔領域の輝度(例えば平均輝度や後述する顔輝度取得領域の輝度)が予め定められた目標値よりも低いかどうか判別する。顔領域の輝度が目標値より低い場合、露出量算出部105は、顔領域が目標輝度値となるように、S201で算出した露出量を補正する。また、露出量算出部105は、顔領域の輝度を補正量算出部113に出力する。
S206で、露出量算出部105は、階調補正を適用した後のノイズ量を考慮して、最大露出低下量を算出する。
【0020】
図3は、露出量算出部105のS206における処理を説明するフローチャートである。
S301で露出量算出部105は、S202で検出されたヒストグラムの形状を適切に補正する(ヒストグラム特徴量に基づく輝度補正を行うための)第一の階調補正量を算出する。これは後述のS411〜S413と同様に行うことができる。
【0021】
S302で露出量算出部105は、測光画像で顔が検出されているか確認し、検出されていればS303に、検出されていなければS304に処理を進める。なお、第1顔検出部104は、顔領域とその信頼度とを出力するだけであり、顔が検出されたかどうかの判断は行わない。そのため、露出量算出部105は、予め実験的に定めた値以上の信頼度が得られていれば、顔が検出されているとみなす。本明細書において顔の検出有無の判定は特に他の説明がない限り、このような信頼度の判定に基づいている。
【0022】
S303で露出量算出部105は、顔領域の明るさを適切に補正するための、第二の階調補正量を算出する。これは後述の、S406〜S410及びS413と同様の方法を用いることができる。ただし、処理の簡略化を目的として、あるいは測光センサーの画素数が少ないことにより、顔領域全体の平均輝度値を取得し、平均輝度値が予め定めた目標輝度値となるような補正量を算出しても良い。
【0023】
S304で露出量算出部105は、第一の階調補正量と、第二の階調補正量の重み付け平均を算出し、第三の階調補正量とする。ここで、第二の階調補正量の重みは、顔検出結果の信頼度が高いほど大きく、信頼度が低いほど小さくしたり、顔領域が大きいほど大きく、顔領域が小さいほど小さくするなど、一定でなくてもよい。なお、測光画像で顔が検出されておらず、第二の階調補正量が算出されていない場合、第二の階調補正量の重みはゼロとなる(すなわち、第一の階調補正量が第三の階調補正量となる)。
【0024】
ここで、顔検出されていても第一の階調補正量を反映させるのは、測光画像での顔検出が誤る可能性や、測光画像と撮像画像の撮像タイミングのずれにより、測光画像でのみ顔が検出される可能性があるためである。
【0025】
S305で露出量算出部105は、許容可能な最大露出低下量を算出する。例えば、階調補正後のノイズ量が許容可能な階調補正量の最大値を予め保持しておき、この最大値と第三の階調補正量の差分を、最大露出低下量として算出することができる。
【0026】
例えば、適正露出で撮像した場合に顔領域の輝度が不足する場合に、階調補正後のノイズ量が許容可能な最大階調補正量(許容最大補正量)に等しい露出量を低下させて撮像したとする。この場合、撮像画像に対して許容最大補正量の階調補正を適用しても、顔領域の輝度は適正露出で撮像した状況に戻るだけで、輝度は不足したままである。さらに顔領域の輝度を上げるためには、ノイズ許容範囲を超える階調補正が必要となる。
【0027】
これに対し、本実施形態では、測光画像から得られる全体の輝度情報及び顔の輝度情報を用いて、適正露出で撮像した場合でも必要となる階調補正量を求め、許容最大補正量の範囲内で確保して最大露出低下量を決定する。そのため、撮像画像に対して露出低下量を補償するための階調補正を適用して適正露出相当の画像とした後で、さらに全体の明るさ及び顔の輝度を調整するための階調補正を行っても、階調補正量の総計は許容最大補正量を超えることがない。
【0028】
なお、露出低下量として何通りかのルックアップテーブルをシステムで定めておき、それを例えば「強」、「標準」、「弱」などの形でユーザーに識別可能なように提示し、それを選択させるように構成しても良い。
【0029】
また、撮像感度が高いほど階調補正前の画像データに含まれるノイズ量が多くなるので、撮像感度が高いほど最大露出低下量が小さくなるように設定することが望ましい。具体的には、撮像感度が高いほど最大露出低下量が小さくなるルックアップテーブルや算出式を用意しておき、露出量算出部105は撮像感度に応じて補正量を決定する。
【0030】
図2に戻り、S207で露出量算出部105は、各測光領域の被写体輝度値とS201で算出した露出量とを比較することにより、算出された露出量で撮像した場合に白トビが発生する領域があるか否かを判定する。また、露出量算出部105は、白トビが発生すると判定された領域については、発生する白トビの度合いも判定する。
【0031】
そして、露出量算出部105は、白トビが発生する領域があると判定された場合、白トビを抑制するために必要な露出低下量を算出する。この低下量は、例えば、白トビの度合いと露出低下量との関係を規定したルックアップテーブルや算出式を予め用意しておくことで、白トビの度合いから求めることができる。複数の領域で白トビが発生すると判定された場合、最も高い白トビの度合や白トビの度合いの平均値に基づいて露出低下量を求めるなど、予め定めた方法を用いて露出低下量を求めることができる。
【0032】
S208で露出低下量算出手段としての露出量算出部105は、S206で算出した許容可能な最大露出低下量と、S207で算出した白トビを抑制するために必要な露出低下量のうち小さい方を、最終的な露出低下量とする。
【0033】
露出量算出部105は、適正露出量よりも露出低下量分低い露出量(例えばEV値)に基づいて、撮像素子106を用いた撮像条件、すなわち電荷蓄積時間(シャッタ速度)と絞り値を規定のプログラム線図から決定する。なお、シャッタ速度または絞り値の一方が予め設定されている場合、露出量算出部105は、その設定値との組み合わせで露出量を実現するように他方の値を決定し、露出条件を設定する。
【0034】
例えば上述の露出条件の設定は、図示しないシャッターボタンの半押しのような撮像準備指示に応答して行われる。そして、シャッターボタンが半押し状態から全押し状態になって撮像開始指示が与えられると、設定された撮像条件によって、撮像が行われる。すなわち、不図示の撮像レンズを通過した被写体光学像によって撮像素子106が露光され、撮像素子の各画素で、受光量に応じた電荷に変換される。撮像素子は例えばR(赤)、G(緑)、B(青)の領域が配列されたカラーフィルタを備える。各色領域はそれぞれの色の波長帯域周辺の分光感度を持ち、各領域に対応して設けられた画素(光電変換素子)は、各カラーフィルタを通過した帯域の光線をそれぞれ光電変換する。
【0035】
各光電変換素子により変換された電荷は、撮像素子106から電気信号としてA/D変換部107に出力され、A/D変換処理によりデジタル信号(画像データ)に変換される。A/D変換部107から出力されたデジタル信号は、補正制御部108、ホワイトバランス(WB)処理部109のそれぞれに送られる。
【0036】
例えばCPU100bによってソフトウェア的に実現される補正制御部108は、撮像された画像データに適用する階調補正量を算出し、現像処理部114に出力する。補正制御部108は、WB検出部110、第二のヒストグラム検出部111、第二の顔検出部112、補正量算出部113を有する。なお、CPU100bがこれら各部の機能を実現するためのプログラムは不図示のメモリに予め記憶されていても、外部から供給されるものであってもよい。また、CPU100aとCPU100bは同一のCPUであってもよい。
【0037】
図4は補正制御部108の処理を示すフローチャートである。
S401では、WB検出部110がWB検出を行う。具体的には、WB検出部110は、画像データから、公知の手法を用いて、撮像画像に適したホワイトバランスのゲイン値を算出する。WB処理部109ではWB検出部110で得られたホワイトバランスのゲイン値を画像のRGBの各画素値に積算する。
【0038】
S402では、ヒストグラム検出部111がヒストグラム検出を行う。具体的には、ヒストグラム検出部111が、S401で得られたホワイトバランスのゲイン値を画像データ全体に適用し、さらにガンマ補正処理を行った画素値について、輝度情報としてヒストグラムを作成する。ガンマ補正処理は公知のルックアップテーブルを用いる方法で良いが、現像処理部114で用いるものと同じガンマ特性を用いることが好ましい。ただし、処理時間やメモリ量の節約のために、折れ線で近似したガンマ特性など、簡略化したガンマ特性を用いてもよい。なお、画像の端の部分は、一般に重要でないことが多く、また撮像レンズによっては周辺光量の低下の影響を受ける部分であるため、周縁部の画素を除いてヒストグラムを作成してもよい。
【0039】
S403では、顔検出部112が顔検出前処理を行う。これは画像データに対して縮小処理、ガンマ処理等を施して、顔を容易に検出しやすいようにする処理である。
【0040】
S404で、顔検出部112は、前処理した画像データに対し、公知の方法を用いて顔検出処理を実行する。顔検出処理により、顔を思われる領域(顔領域)と、検出の信頼度とが得られる。
【0041】
S405で、補正量算出部113は、適正露出量から低下させた露出量を補償する補正量(補正量(A)とよぶ)を算出する。具体的には、露出の低下量に対する、暗部(たとえば64LSB)と明部(たとえば200LSB)の補正量のテーブルを用意しておき、この2点の補正量を求める。そして、入力輝度を横軸、出力輝度を縦軸とした直交座標系における輝度の最低値(0LSB)、64LSB、200LSB、最高値(255LSB)の座標をスプライン補間する。これにより、0〜255LSBの入力輝度に対して補正量(A)を適用した出力輝度を示す階調補正特性を得ることができる。この際、補正量算出部113は、画像の暗部については適正露出になるようにする一方、予め定めた輝度レベル以上の高輝度画素については補正されない(少なくとも、露出補正量を完全には補わない)ような入出力特性の階調補正量を算出する。これにより、階調補正後の明部が白トビすることをさらに抑制することができる。この階調補正量は、露出補正量に応じた複数の補正テーブルとして予め用意しておくことができる。
【0042】
図10に、補正量(A)の例を示す。図10において、aは、適正露出で撮像されたのと同じ状態に補正するための階調補正特性を示す。一方、bは、本実施形態で補正量算出部113が算出する階調補正特性の例を示す。このように、輝度レベルの低い部分については適正露出相当に階調補正するが、輝度レベルの高い部分(この例では輝度レベル192を超える部分)については、階調補正が行われない。
【0043】
S406で、顔検出部112は、S404の顔検出処理により検出された顔領域のうち、信頼度が予め設定した評価閾値より高い信頼度がある場合に、顔が検出されたと判定する。顔が検出されたと判定された場合にはS407に、顔が検出されなかったと判定された場合にはS411に移行する。
【0044】
S407で、顔検出部112は、検出された顔領域の一部の領域を、顔輝度取得領域として算出する。たとえば、顔検出部112は、図5に示すように、画像データ501から検出された顔領域502の中の両眼の下の領域503,505及び、その中間の領域504の3箇所に位置する同じ大きさの正方形の領域を、顔輝度取得領域として算出する。個々の領域の大きさは、顔領域の大きさによって決定する。顔輝度取得領域は、顔の明るい部分の輝度を取得するための領域であり、その数や位置などに関して特に制限はない。
【0045】
S408で、顔検出部112は、顔輝度取得領域503〜505の各々について、含まれるR画素、G画素、B画素の種類ごとに平均値を求める。さらに顔検出部112はRGB画素の各平均値に対し、ヒストグラム検出部111と同様にしてホワイトバランスのゲイン値を適用し、ガンマ補正を行った後、以下の式1により輝度値Yに変換する。
Y=0.299×R+0.587×G+0.114×B 式1
なお、式1の代わりに式2のような近似式を用いても良い。
Y=(3×R+6×G+B)/10 式2
【0046】
なお、ヒストグラム検出部111および顔検出部112において適用するホワイトバランスのゲイン値は、同一画像データに対してWB検出部110が求めたゲイン値を用いることが好ましい。輝度ガンマも、理想的には現像処理部114と同じものを用いるのが好ましいが、処理時間やメモリ量の節約のために、折れ線で近似したガンマ特性など、簡略化したガンマ特性を用いてもよい。
【0047】
S409で、顔検出部112は、S408で顔輝度取得領域503〜505の各々について求めた輝度値を、適正露出時を想定した値に変換する。これは、画像データが、適正露出よりも低い露出で撮像されていることから、適正露出で撮像した場合よりも顔の輝度が低く検出されることを補正する処理である。輝度値の変換は、S405で算出した補正量Aを用いて行えばよい。
【0048】
S410で、輝度算出手段としての顔検出部112は、検出された顔の代表輝度値を算出する。この処理の一例を図6のフローチャートを用いて説明する。
【0049】
S601で、顔検出部112は、検出されている顔領域の顔輝度取得領域503〜505の輝度値の中から最大値を求める。なお、顔領域が複数検出されていれば、顔検出部112は個々の顔領域について最大値を求める。
【0050】
S602で、顔検出部112は、顔領域が複数検出されているか判定し、複数検出されている場合はS603に処理を進める。検出されている顔領域が1つだけの場合、顔検出部112は、この顔領域についてS602で求めた輝度値の最大値を顔の代表輝度値とする(S608)。
【0051】
S603で、顔検出部112は、検出されている全ての顔領域における輝度値の最大値Yaを求める。
S604で、顔検出部112は、S601で求めた各顔領域の輝度の最大値の平均値Ybを求める。
【0052】
S605で、顔検出部112は、顔領域で検出された最大輝度値Yaと顔領域で検出された平均輝度値Ybに対して所定の重みをかけた重み平均輝度値Ycを求める。
すなわち、Yc=(α×Ya+β×Yb)
として求めることができる。ここで、α、βは所定の重みで、α+β=1である。
なお、重みの値は、一番明るい顔をどの程度重視するかに応じて経験的にαを定めることで決定することができる。一例として、α=0.7、β=0.3である。
【0053】
S606で、顔検出部112は、顔領域の最大輝度値Yaと重み平均輝度値Ycの差が、所定の閾値Ythより小さいかどうかの判定を行う。
【0054】
顔検出部112は、この差が閾値より小さい場合は重み平均輝度値Ycを顔の代表輝度値とし(S607)、差が閾値以上である場合には最大輝度値Yaから閾値Ythを引いた値を顔の代表輝度値とする(S608)。これは、差が閾値Yth以上ある場合に、重み平均輝度値Ycを代表輝度値とすると、最大輝度値Yaに対応する顔領域が階調補正によって白トビする可能性が高くなると考えられるためである。従って、閾値Ythにはこのような判定を行うために適切な値を経験的に定める。
【0055】
図4に戻り、S406で顔領域が検出されなかったと判定された場合、S411でヒストグラム検出部111が、ヒストグラム特徴量を検出する。ヒストグラム特徴量は例えば、ヒストグラムで暗部側から累積度数が10%である画素が属するレベル(SD)等であってよい。
【0056】
S412でヒストグラム検出部111は、S411で算出したSDなどのヒストグラム特徴量を、適正露光時を想定した値に変換する。これは露出制御部で白トビ判定を行った結果、適正露出よりも露光量を下げて撮像された場合に、適正露出時に比べてヒストグラムの特徴量が低く検出されることを補償する処理に相当する。この特徴量の変換は、S405で算出した補正量(A)に従って行えば良い。
【0057】
S413で、補正量算出部113は、補正量を算出する。補正量算出部113は、顔が検出されている場合、顔の代表輝度値毎に、いくつかの入力輝度値に対する目標輝度を求め、目標輝度と画像の輝度の最小値と最大値からスプライン補間などにより各入力輝度に対する目標出力輝度を算出する。入力輝度と目標出力輝度の差が目標補正量であり、各輝度に対する目標出力輝度により形成されるトーンカーブが階調補正特性を表す。階調補正特性は、入力輝度と出力輝度の対応を示すルックアップテーブルによって表現することができる。
【0058】
図7を参照して補正量算出部113の顔補正特性の作成動作の例を説明する。図7(a)は、顔の代表輝度値と、3つの入力輝度値(64LSB,128LSB,224LSB)に対する目標輝度との関係の例を示す。なお、LSBは分解能を意味し、本実施形態では輝度値のフルスケール(最小値〜最大値)を8ビットの分解能(0〜255LSB)で表すものとする。
【0059】
図7(a)において、「64LSBの点」に対応する横方向の線は、入力輝度が64LSBの画素の目標出力輝度と、顔の代表輝度値との関係を示している。例えば、撮像された画像から検出された顔の代表輝度値が255LSB〜180LSBの範囲であれば、その画像のうち64LSBの輝度を有する画素の目標出力輝度は64LSB(すなわち、変化無し)である。また、顔の代表輝度値が45LSB〜0LSBの範囲の画像においては、64LSBの輝度を有する画素の目標出力輝度は128LSBである。そして、顔の代表輝度値が180〜45の範囲では、64LSBの輝度を有する画素の目標出力輝度は64LSBから128LSBの間で線形に変化する。
【0060】
顔の代表輝度値が110LSBである場合、64LSB、128LSBおよび224LSBの輝度を有する画素の目標出力輝度はそれぞれ図7(a)から97LSB,159LSBおよび228LSBである。従って、顔の代表輝度値が110LSBの画像に対する階調補正特性は、この3点の入出力関係を表す3点と輝度の最低値(0LSB)および最高値(255LSB)に対応する点とをスプライン補間することにより、図7(b)の様に得られる。なお、図7(a)に示す、顔の代表輝度値に応じた代表的な輝度値の入出力関係を示す補正テーブルは、「弱め」、「標準」、「強め」など、設定可能な度合いごとに、予め補正量算出部113に用意しておくことができる。
【0061】
また、顔が検出されなかった画像に対する階調補正特性の算出方法について図8を用いて説明する。図8は、図7(a)の階調補正特性における入力値を、顔の代表輝度から、ヒストグラムで暗部側から累積度数が10%である画素が属するレベル(SD)の検出値に置き換えたものである。この階調補正特性を用い、顔が検出できたと判定した場合と同様に補正量を算出することができる。なお、この補正テーブルも、「弱め」、「標準」、「強め」など、設定可能な度合いごとに、予め補正量算出部113に用意しておくことができる。この補正量を便宜上、補正量(B)とする。
【0062】
S414で補正量算出部113は、測光画像において、顔があると判定したかどうかの判定を行い、顔があったと判定された場合は、S415に移行し、顔がなかったと判定された場合はS417に移行する。
【0063】
S415で、測光画像で検出した顔の輝度値に対する補正量を算出する。これは、図7(a)に示す、撮像画像から検出した顔の輝度値に対する補正量と同じテーブルでよい。この補正量を便宜上、補正量(C)とする。
【0064】
S416で補正量算出部113は、補正量(B)と、補正量(C)の重み付け平均を算出する。具体的には、0〜255LSBの各入力輝度値に対して、補正量(B)と、補正量(C)の重み付け平均を算出すればよい。この重みの決め方は、各顔検出結果(信頼度、顔の大きさなど)によって適宜変更する。図9は、測光画像及び撮像画像の顔検出結果による顔信頼度と、補正値(C)の重み(Trust1)及び補正値(B)の重み(Trust2)との関係例を示す図である。このように、それぞれの画像における顔検出結果の顔信頼度に応じて、式3によって補正量(B)と補正量(C)の重みを算出する。
補正量(B):補正量(C)= Trust2 : Trust1 (式3)
【0065】
また、簡易的には重みを2:1などの固定値としてもよい。このようにして算出された、補正量(B)と補正量(C)の重み付け平均値を補正量(D)とする。
測光画像における顔検出の精度は、以下のような理由により、撮像画像における顔検出の精度よりも低いと考えられる。測光センサ101は撮像素子106よりも画素数が少ない。また、測光画像の撮像が開放絞りで行われる場合には被写界深度が低く、合焦距離にない顔の検出がしづらい。測光センサ101の撮像範囲(視野)が撮像素子106よりも狭い場合には周縁部に位置する顔を検出できない。
【0066】
そのため、撮像画像に基づく補正量(B)の重みと、測光画像に基づく補正量(C)の重みとは、いずれも顔の信頼度が高いほど大きい値となる点で共通するが、以下のように重みを定める。
・撮像画像における顔の信頼度が、上述した点を考慮しても測光画像における顔の信頼度より低い場合と考えられる場合を除き、撮像画像に基づく補正量(B)の重みが測光画像に基づく補正量(C)の重みよりも大きくなるようにする。なお、測光画像における顔検出の信頼度と、測光画像における顔検出の信頼度とが同じ値であっても、その信頼度が表す「顔らしさ」の程度は、撮像画像の方が高く判断されうることに留意されたい。つまり、測光画像における顔検出の信頼度と、測光画像における顔検出の信頼度とが同じ値であっても、補正量(C)の重みより補正量(B)の重みが大きくなる場合がある。
・測光画像に基づく補正量(C)の重みは、100%よりも小さい値に制限される。これは、撮像画像での検出結果を優先すべきことによる。図9に示す例では、測光画像に基づく補正量(C)の重みTrust1の最大値は50%(0.5)、撮像画像に基づく補正量(B)の重みTrust2の最大値が100%(1.0)である。
【0067】
S417で補正量算出部113は、測光画像において顔が検出されたと判定された場合には、補正量(A)と補正量(D)を、顔が検出なかったと判定された場合には、補正量(A)と補正量(B)を合成する。具体的には、0〜255LSBの各入力輝度値に対して、補正量(A)の補正を行った出力値を、さらに補正量(D)または補正量(B)の入力値として補正した値を算出すれば良い。
【0068】
S418で補正量算出部113は、S417で求めた合成補正量の上限値を制限する処理(リミッター処理)を行う。補正量(A)と、補正量(B)(又は補正量(D))を合成することで補正量が大きくなり、補正後の画像においてノイズ量が目立ちやすくなるため、全体の補正量に制限を設けている。リミッター処理は、各輝度値において許容する最大の補正量をテーブルとして用意しておき、最大補正量を超える場合には最大補正量に対応する出力レベルに置換することで実現できる。なお、最大補正量を規定するテーブルをISO感度に応じて複数用意しておき、撮像時のISO感度に対応するものを用いてリミッター処理を行うこともできる。
【0069】
補正量算出部113は、このようにして作成した階調補正用のルックアップテーブル(あるいは補正特性を表す関数など、他の形式であってもよい)を、現像処理部114に供給する。
【0070】
図1のWB処理部109ではWB検出部110で得られたホワイトバランスのゲイン値を画像データのRGBの各画素値に積算する。
現像処理部114は、画像データをRGB形式からYUV形式に変換し、輝度成分(Y)に対して、補正制御部108(補正量算出部113)から供給されたルックアップテーブルを用いた輝度補正(階調補正)を行う。また、現像処理部114は、色成分(UおよびV)に対し、輝度補正に応じた色調整処理を行う。色調整処理において現像処理部114は、補正処理後の画像データの色が補正処理前からできるだけ変化しないように、色成分を輝度成分の補正量にしたがって修正する。例えば、現像処理部114は、色成分(UおよびV)に、それぞれ輝度成分の変更後の値/変更前の値の比を乗算することにより、色調整処理を行う。
【0071】
画像データ出力部115では、上述のように画像処理が行われた画像データをファイル化して出力する。例えば、ファイル形式をJPEGファイルに変換する場合には、画像データをYCrCb形式に3次元マトリックス変換して付属データを添付することでJPEGファイル形式に変換する。RAW形式で記録する場合、画像データ出力部115は、RAW画像データを含んだ画像ファイルを生成する。RAW画像データを含んだ画像ファイルのヘッダにサムネイル用のJPEG形式の画像を含めてもよい。画像データ出力部115は、画像ファイルをメモリカードのような記録媒体に記録したり、外部装置に出力したりすることができる。
【0072】
以上説明したように、本実施形態によれば、測光画像から得られる全体の輝度情報及び顔の輝度情報を用いて、適正露出で撮像した場合でも必要となる階調補正量を求め、許容最大補正量の範囲内で確保して最大露出低下量を決定する。そのため、適正露出量より低い露出量での撮像した撮像画像に露出低下量を補償するための階調補正を適用して適正露出相当の画像とした後、全体の明るさ及び顔の輝度を調整するための階調補正を行っても、階調補正量の総計は許容最大補正量を超えることがない。そのため、白トビの抑制と、階調補正によるノイズ量の増加抑制とを両立させることが可能となる。
【0073】
(他の実施形態)
上述の実施形態では、測光画像において検出された顔の信頼度が一定値(図9の例ではTh1)を超えれば、測光画像で検出された顔に基づく補正値(C)の重みが0より大きくなり、補正値(D)に反映されるものであった。しかし、露出条件の設定に用いられた顔と、補正値(B)の算出に用いられた顔とが同一である可能性が高い場合には、測光画像において検出された顔の信頼度に関わらず、補正値(B)そのまま補正値(D)としてもよい。
【0074】
例えば、撮像装置がEVF表示機能(ライブビュー機能などとも呼ばれる)を有する場合が考えられる。この場合、EVF表示を行うために撮像素子によって連続的に画像が撮像される。そのため、補正量算出部113が露出量算出部105と同様の処理(露出低下量及び露出条件の決定)をEVF表示用の画像を用いて行うことができる。この場合、露出条件の設定に用いられた顔と、補正値(B)の算出に用いられた顔とが同一である可能性が高い。従って、EVF表示用の画像を用いて露出低下量及び露出条件を決定した場合には、補正値(B)を補正値(D)としてもよい。
【0075】
同様に、EVF表示用の画像が利用可能な場合には、EVF表示用の画像から、撮像画像に必要な階調補正量とほぼ等しいと考えられる階調補正量が算出できる。従って、測光画像の情報を用いることなく、必要な階調補正量と許容最大露出低下量のうち小さい方を露出低下量として決定することができる。
【0076】
一方、例えばTTL光学ファインダーを用いる場合など、EVF表示用の画像が利用できない状態で撮像した場合には、上述の通り、撮像準備動作において撮像条件を決定する際に測光画像の情報を用いて露出低下量を決定するように構成することができる。一般的な一眼レフカメラにおいては、EVF表示機能を持たないか、光学ファインダーとEVF表示機能の併用はできない。そのため、光学ファインダーを用いている場合には撮像素子での撮像が行えない。従って、測光センサで得られる測光画像を利用した露出低下量の決定が特に有効である。
【0077】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
被写体の輝度を測定するための測光センサと、
前記測光センサで測定された被写体の輝度から、前記被写体を撮像するための適正露出量を算出する露出量算出手段と、
撮像画像に生じる白トビを抑制するための露出低下量を算出する露出低下量算出手段と、
撮像素子を用い、前記適正露出量よりも前記露出低下量分低い露出量で撮像を行う撮像手段と、
前記撮像手段が撮像した画像に対し、前記露出低下量を補うための階調補正と、前記露出低下量を補った後の画像の輝度を補正するための階調補正とを適用する補正手段とを有し、
前記露出低下量算出手段は、前記適正露出量で撮像した場合に必要となる階調補正量を、前記測光センサで測定された被写体の輝度に基づいて算出し、該階調補正量と、予め定められた、階調補正によって増加するノイズ量が許容可能な最大階調補正量と、の差分を最大露出低下量として、前記露出低下量を決定することを特徴とする撮像装置。
【請求項2】
前記測光センサは前記撮像素子よりも画素数の少ない撮像素子であり、
前記露出低下量算出手段は、
前記適正露出量で撮像した場合に必要となる階調補正量を、前記測光センサが撮像した画像の輝度のヒストグラムを補正するための第一の階調補正量と、前記測光センサが撮像した画像で検出された顔の輝度を目標輝度値にするための第二の階調補正量とから算出することを特徴とする請求項1記載の撮像装置。
【請求項3】
前記露出低下量算出手段は、前記適正露出量で撮像した場合に必要となる階調補正量を、前記第一の階調補正量と前記第二の階調補正量を重み付け平均して算出し、前記第二の階調補正量の重みが、前記測光センサが撮像した画像で検出された顔の信頼度が高いほど大きく、低いほど小さいことを特徴とする請求項2記載の撮像装置。
【請求項4】
前記補正手段は、前記露出低下量を補った後の画像の輝度を補正するための階調補正を、前記撮像素子で撮像された画像で検出された顔の輝度を目標輝度値にするための階調補正量と、前記測光センサで撮像された画像で検出された顔の輝度を目標輝度値にするための階調補正量とを、それぞれの顔の信頼度に応じた重みにより重み付け平均して得られる階調補正量で行い、
前記重みが、前記顔の信頼度が高いほど大きく、低いほど小さく、
前記測光センサで撮像された画像で検出された顔の輝度を目標輝度値にするための階調補正量に対する重みの最大値が、前記撮像素子で撮像された画像で検出された顔の輝度を目標輝度値にするための階調補正量に対する重みの最大値より小さいことを特徴とする請求項2又は請求項3記載の撮像装置。
【請求項5】
前記撮像装置がEVF表示機能を有し、
露出量算出手段及び前記露出低下量算出手段は、前記EVF表示機能を実現するために前記撮像素子によって連続的に撮像されている画像を利用可能である場合には、前記測光センサで測定された被写体の輝度の代わりに、該画像から得られる被写体の輝度に基づいて前記適正露出量と前記適正露出量で撮像した場合に必要となる階調補正量を算出することを特徴とする請求項1乃至請求項4のいずれか1項に記載の撮像装置。
【請求項6】
被写体の輝度を測定するための測光センサを有する撮像装置の制御方法であって、
露出量算出手段が、前記測光センサで測定された被写体の輝度から、前記被写体を撮像するための適正露出量を算出する露出量算出工程と、
露出低下量算出手段が、撮像画像に生じる白トビを抑制するための露出低下量を算出する露出低下量算出工程と、
撮像手段が、前記撮像装置が有する撮像素子を用い、前記適正露出量よりも前記露出低下量分低い露出量で撮像を行う撮像工程と、
補正手段が、前記撮像工程で撮像された画像に対し、前記露出低下量を補うための階調補正と、前記露出低下量を補った後の画像の輝度を補正するための階調補正とを適用する補正工程とを有し、
前記露出低下量算出工程で前記露出低下量算出手段は、前記適正露出量で撮像した場合に必要となる階調補正量を、前記測光センサで測定された被写体の輝度に基づいて算出し、該階調補正量と、予め定められた、階調補正によって増加するノイズ量が許容可能な最大階調補正量と、の差分を最大露出低下量として、前記露出低下量を決定することを特徴とする撮像装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−17002(P2013−17002A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−147743(P2011−147743)
【出願日】平成23年7月1日(2011.7.1)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】