撮像装置、撮像システム及び撮像方法
【課題】顔が暗い場合でも顔の検出が可能で、且つノイズが目立たないような画像を得ることのできる撮像装置を提供する。
【解決手段】本発明の撮像装置1は、被写界を複数の領域に分割して測光する測光部16と、測光部による測光結果に基づいて第1の露出値BvCntl0を演算する第1露出演算部10aと、測光結果に基づいて第1の露出値BvCntl0に対して被写体の明部を復元するための補正量Pre_HiRcvを演算する補正量演算部10bと、測光結果に基づいて主要被写体を検出する主要被写体検出部10cと、主要被写体の輝度BvObjを演算する主要被写体輝度演算部10dと、主要被写体の輝度BvObjに基づいて補正量Pre_HiRcvを制限する補正量制限部10eと、制限された補正量に基づいて第1の露出値BvCntl0を補正した第2の露出値BvCntl1を演算する第2露出演算部10aと、第2の露出値BvCntl1に基づいて被写体を撮像して画像データを生成する撮像部14と、を備える。
【解決手段】本発明の撮像装置1は、被写界を複数の領域に分割して測光する測光部16と、測光部による測光結果に基づいて第1の露出値BvCntl0を演算する第1露出演算部10aと、測光結果に基づいて第1の露出値BvCntl0に対して被写体の明部を復元するための補正量Pre_HiRcvを演算する補正量演算部10bと、測光結果に基づいて主要被写体を検出する主要被写体検出部10cと、主要被写体の輝度BvObjを演算する主要被写体輝度演算部10dと、主要被写体の輝度BvObjに基づいて補正量Pre_HiRcvを制限する補正量制限部10eと、制限された補正量に基づいて第1の露出値BvCntl0を補正した第2の露出値BvCntl1を演算する第2露出演算部10aと、第2の露出値BvCntl1に基づいて被写体を撮像して画像データを生成する撮像部14と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置、撮像システム及び撮像方法に関する。
【背景技術】
【0002】
従来から、輝度差の大きなシーンの撮影において、露出を下げて明部のデータが飽和しないように撮影した上で、暗部のゲインを大きくして明るくする画像処理を施して、画像のダイナミックレンジを拡大する方法が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−232711号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上記従来の技術では、逆光の人物のように顔が暗いときに露出を大きく下げると、撮影した画像の顔部分のデータのS/Nが劣化するために顔が検出できなくなる可能性がある。また、検出できたとしても顔部分のデータのゲインを大きくするとノイズが目立ってしまう可能性がある。
【0005】
本発明の課題は、顔が暗い場合でも顔の検出が可能で、且つノイズが目立たないような画像を得ることのできる撮像装置、撮像システム及び撮像方法を提供することにある。
【課題を解決するための手段】
【0006】
本発明は、以下のような解決手段により前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
【0007】
請求項1に記載の発明は、被写界を複数の領域に分割して測光する測光部(16)と、前記測光部(16)による測光結果に基づいて第1の露出値(BvCntl0)を演算する第1露出演算部(10a)と、前記測光結果に基づいて第1の露出値(BvCntl0)に対して被写体の明部を復元するための補正量(Pre_HiRcv)を演算する補正量演算部(10b)と、前記測光結果に基づいて主要被写体を検出する主要被写体検出部(10c)と、前記主要被写体の輝度(BvObj)を演算する主要被写体輝度演算部(10d)と、前記主要被写体の輝度(BvObj)に基づいて前記補正量(Pre_HiRcv)を制限する補正量制限部(10e)と、前記制限された補正量に基づいて前記第1の露出値(BvCntl0)を補正した第2の露出値(BvCntl1)を演算する第2露出演算部(10a)と、前記第2の露出値(BvCntl1)に基づいて被写体を撮像して画像データを生成する撮像部(14)と、を備える撮像装置(1)である。
請求項2に記載の発明は、請求項1に記載の撮像装置(1)において、補正量制限部(17)は、前記検出した主要被写体の大きさに基づいて前記補正量を制限すること、を特徴とする撮像装置(1)である。
請求項3に記載の発明は、請求項2に記載の撮像装置(1)において、前記主要被写体が大きいほど、前記制限が大きいこと、を特徴とする撮像装置(1)である。
請求項4に記載の発明は、請求項2又は3に記載の撮像装置(1)において、前記補正量制限部(17)は、前記検出した主要被写体の大きさを、前記画像データの画像の寸法に基づいて規格化すること、を特徴とする撮像装置(1)である。
請求項5に記載の発明は、請求項2から4のいずれか1項に記載の撮像装置(1)において、前記補正量(Pre_HiRcv)が制限値(Lmt_HiRcv)以上の場合、前記制限された補正量を前記制限値とすること、を特徴とする撮像装置(1)である。
請求項6に記載の発明は、請求項5に記載の撮像装置(1)において、前記制限値(Lmt_HiRcv)は、前記第1の露出値(BvCntl0)から顔のアンダー許容量(BvSth))を引いたものを、主要被写体の代表輝度(BvObj)から引いた値であること、を特徴とする撮像装置(1)である。
請求項7に記載の発明は、請求項1から6のいずれか1項に記載の画像装置であって、前記画像データの暗部を明るくするように階調を補正する画像処理部を更に備える撮像装置(1)である。
請求項8に記載の発明は、請求項1から7のいずれか1項に記載の撮像装置(1)と、前記画像データの暗部を明るくするように階調を補正する画像処理装置と、を備える撮像システムである。
請求項9に記載の発明は、被写界を複数の領域に分割して測光し(S202,S301)、前記測光の結果に基づいて第1の露出値(BvCntl0)を演算し(S202、S302,S303,S304)、前記測光の結果に基づいて第1の露出値(BvCntl0)に対して被写体の明部を復元するための補正量(Pre_HiRcv)を演算し(S203,S401,S402)、前記測光の結果に基づいて主要被写体を検出し(S204)、検出された前記主要被写体の輝度(BvObj)を演算し(S204)、前記主要被写体の輝度(BvObj)に基づいて前記補正量(Pre_HiRcv)を制限し(S205)、前記制限された補正量に基づいて前記第1の露出値(BvCntl0)を補正した第2の露出値(BvCntl1)を演算し(S206)、前記第2の露出値(BvCntl1)に基づいて被写体を撮像して画像データを生成する(S103)撮像方法である。
なお、符号を付して説明した構成は、適宜改良してもよく、また、少なくとも一部を他の構成物に代替してもよい。
【発明の効果】
【0008】
本発明によれば、顔が暗い場合でも顔の検出が可能で、且つノイズが目立たないような画像を得ることのできる撮像装置、撮像システム及び撮像方法を提供することができる。
【図面の簡単な説明】
【0009】
【図1】実施形態のカメラの構成を示す図である。
【図2】実施形態のカメラの機能ブロック図である
【図3】実施形態のカメラの基本動作を示すフローチャートである。
【図4】ローパスフィルタの特性を示す図である。
【図5】明度向上量に対応するゲイン向上関数を例示した図である。
【図6】測光演算サブルーチンを示すフローチャートである。
【図7】第2撮像センサを示す図であり、(a)は第2撮像センサの画素配列の例、(b)は24領域に分割した画素、(c)は撮影シーンの例、(d)は顔の中心部分を示す図である。
【図8】露出制御値の具体的な算出方法を示すフローチャートである。
【図9】(a)は24分割されたそれぞれの領域の輝度値を示す図であり、(b)は24分割を4つずつまとめた例を示した図である。
【図10】仮ハイライト復元量の演算を示すフローチャートである。
【図11】主要被写体の開領域の選択方法を示す図である。
【図12】主要被写体の分割例を示した図である。
【図13】変数の場合の算出例を示す図である。
【発明を実施するための形態】
【0010】
以下に本発明の実施形態を説明する。
図1は、本実施形態のカメラ100の構成を示す図である。
カメラ100はカメラ本体1と、レンズユニット2から構成される。ここで、レンズユニット2はカメラ本体1に対して交換可能に装着される。またレンズユニット2は撮影レンズ3と撮影レンズ3を駆動するモータ4およびレンズユニットの情報を記録したレンズ内メモリ18を含む。
【0011】
カメラ本体1は、メインミラー5と、サブミラー6と、フォーカルプレーンシャッター8と、被写体像を光電変換する第1撮像センサ9と、ファインダ光学系20と、被写体像を光電変換する第2撮像センサ16と、焦点検出ユニット7と、制御部10と、手振れセンサ17(例、角速度センサ)と表示ユニット19を有している。
【0012】
ここで第1撮像センサ9は高画質な静止画を生成するためのセンサである。また第2撮像センサ16は撮影シーンを解析して第1撮像センサ9の撮影及び画像処理条件を演算するためのセンサである。撮影シーンを解析するに十分な画素数を持つ。後述する図7(a)は第2撮像センサ16の画素配列の例である。
【0013】
メインミラー5、サブミラー6、フォーカルプレーンシャッター8および第1撮像センサ9は、撮影レンズ3の光軸に沿って配置され、ファインダ光学系20はメインミラー5の上部領域に、焦点検出ユニット7はサブミラー6の下部領域に配置されている。
【0014】
ここで、撮影者がファインダ光学系20を通して被写界を観察する時、つまり静止画撮影およびライブビュー以外の時は、メインミラー5は、撮影レンズ3から第1撮像センサ9までの撮影光路と交差し、撮影レンズ3を通過した光束を上方に反射させてファインダ光学系20に導くようになっている(実線の位置)。
一方、ライブビュー時および静止画撮影時はメインミラー5は上方に跳ね上げられ、撮影レンズ3を通過した光束はフォーカルプレーンシャッター8および第1撮像センサ9に導かれ、第1撮像センサ9の画像信号に基づいて被写体の撮影画像データを生成することができる(点線の位置)。
【0015】
また、メインミラー5の中央部は光を透過するハーフミラーとなっていて、非撮影時のメインミラー5を透過した一部の光束はサブミラー6によって下方に反射され、焦点検出ユニット7に導かれるようになっている。
【0016】
ファインダ光学系20は、拡散スクリーン11と、コンデンサレンズ12と、ペンタプリズム13と、接眼レンズ14と、再結像レンズ15を有している。
【0017】
拡散スクリーン11はメインミラー5の上方に配置され、実線の位置でのメインミラー5が反射した光束を一旦結像させる。拡散スクリーン11で結像した光束はコンデンサレンズ12およびペンタプリズム13および接眼レンズ14を通過して撮影者の目に到達する。また、拡散スクリーン11によって拡散された光束の一部はコンデンサレンズ12およびペンタプリズム13および再結像レンズ15を通過して第2撮像センサ16に到達する。
【0018】
図2は、実施形態のカメラ100の機能ブロック図である。図2に示すように、カメラ100は、図1の構成に加えて、タイミングジェネレータ20、信号処理部21、A/D変換部22、バッファメモリ23、バス24、カードインターフェース25、圧縮伸長部26、画像表示部27の各部を備える。タイミングジェネレータ20は、第1撮像センサ9に出力パルスを供給する。また、第1撮像センサ9で生成される画像データは、信号処理部21(撮像感度に対応するゲイン調整部を含む)およびA/D変換部22を介して、バッファメモリ23に一時記憶される。バッファメモリ23は、バス24に接続される。このバス24には、カードインターフェース25、図1で説明した制御部10、圧縮伸長部26、および画像表示部27が接続される。カードインターフェース25は、着脱自在なメモリカード28と接続し、メモリカード28に画像データを記録する。
【0019】
また、制御部10は、後述する露出値演算部10a、復元量演算部10b、主要被写体検出部10c、主要被写体輝度演算部10d、復元量制限部10eを備える。そして制御部10には、カメラ100のスイッチ群29(不図示のレリーズ釦などを含む)、タイミングジェネレータ20、および第2撮像センサ16が接続される。さらに、画像表示部27は、カメラ100の背面に設けられた表示ユニット19に画像などを表示する。
【0020】
次に図3のフローチャートに基づいて動作を説明する。
不図示のレリーズボタンが半押しされると、制御部10はメインミラー5を実線の位置のままにしてステップ101の測光演算サブルーチンの動作を行って露出制御値BvCntl1を演算する。詳細は後述する。
【0021】
ステップ102において、レリーズボタンが全押しされたか否かを判定する。全押しされていなければステップ101へ戻り、全押しされていればステップ103へ進む。
【0022】
ステップ103において、制御部10は、各部を制御し、ステップ101で行った測光演算の結果に基づいて、第1撮像センサ9により被写体像を撮像して画像データを生成する。そして、第1撮像センサ9により生成された画像データは、信号処理部21およびA/D変換部22を介して、バッファメモリ23に一時記憶される。
【0023】
ステップ104において、制御部10は、バッファメモリ23から画像データを読み出し、顔検出を行う。顔検出の具体的な方法は公知技術と同様であるため説明を省略する。なお、検出対象の画像データに複数の人物が含まれる場合、制御部10は、それぞれの人物の顔検出を行う。
【0024】
ステップ105において、制御部10は、ステップ104においてバッファメモリ23から読み出した画像データに対して、通常の画像処理を行う。通常の画像処理とは、ホワイトバランス調整、補間処理、色調補正処理、階調変換処理などである。各処理の具体的な方法は公知技術と同様であるため説明を省略する。
【0025】
ステップ106において、制御部10は、階調圧縮モードであるか否かを判定する。そして、制御部10は、階調圧縮モードであると判定するとステップ107に進む。一方、階調圧縮モードでない(階調非圧縮モードである)と判定すると、制御部10は後述するステップ111に進む。
【0026】
ステップ107において、制御部10は、ステップ104においてバッファメモリ23から読み出した画像データから、ローパス画像を作成する。
制御部10は、次式を用いて、ステップ104においてバッファメモリ23から読み出した画像データからローパス画像Lyを作成する。
【0027】
【数1】
【0028】
式1中のYは、注目画素の輝度値を示す。また、式1中のkr,kg,kbは所定の係数である。また、式2中のLpwは、注目画素周りのローパスフィルタであり、このローパスフィルタは、図4に示す特性を有する。このローパスフィルタは、半値幅(図4のd)が画像の短辺の1/100以上の広い幅のローパスフィルタである。
【0029】
ステップ108において、制御部10は、明るさに関する評価値を算出する。制御部10は、まず、ステップ104で行った顔検出の結果に基づいて、顔領域の中心座標(Fx,Fy)を求める。ただし、ステップ104において複数の顔を検出した場合には、面積が最大の顔領域の中心座標を求める。
【0030】
次に、制御部10は、明るさに関する評価値として、顔の明度Yfを求める。顔の明度Yfは次式により求められる。
【0031】
Yf=Ly[Fx,Fy]…(式3)
なお、ステップ104において複数の顔を検出した場合には、面積が最大の顔領域の中心座標を求める例を示したが、最も暗い顔領域の中心座標を求めても良い。このように、最も暗い顔領域に応じた処理を行うことにより、複数の顔の全てを好ましい明るさに表現することができる。
【0032】
また、複数の顔のそれぞれについて明度Yfを求め、それぞれの顔領域の面積に応じた重み付けを行っても良い。
ステップ109において、制御部10は、暗部階調を補正する際の明度向上量を決定する。制御部10は、まず、表1に基づいて、ステップ108で求めた顔の明度Yfに応じた明度向上量候補fupを求める。
【0033】
【表1】
【0034】
ただし、制御部10は、ステップ103で行った撮像時のISO感度に応じて、明度向上量候補fupを制限する。すなわち、制御部10は、表2に基づいて、求めた明度向上量候補fupを制限する。
【0035】
【表2】
【0036】
次に、制御部10は、表3に基づいて、後述する図6のステップ206で求めたハイライト復元量HiRcvに応じた明度向上量候補Hupを求める。
【0037】
【表3】
【0038】
そして、制御部10は、顔の明度Yfに応じた明度向上量候補fupと、ハイライト復元量HiRcvに応じた明度向上量候補Hupとを比較し、大きい方の値をハイライト復元量HiRcvに応じた明度向上量Gupとする。
【0039】
ステップ110において、制御部10は、ステップ109で決定した明度向上量Gupにしたがって、ステップ105で通常の画像処理を施した画像データに対して階調圧縮処理を行う。
【0040】
制御部10は、まず、ステップ109で決定した明度向上量Gupにしたがって、ゲイン向上関数fgを選択する。
図5は、明度向上量Gupに対応する階調圧縮のゲイン向上関数fgを示す図である。ゲイン向上関数fgは、画像の輝度Yに応じたゲインを有する。そして、輝度Yが小さいほど(処理画素を含む近傍範囲が暗いほど)、ゲイン向上関数fgは大きくなる。逆に、輝度Yが大きいほど(処理画素を含む近傍範囲が明るいほど)、ゲイン向上関数fgは1に近づく。
【0041】
制御部10は、上述した明度向上量Gupにしたがって、ゲイン向上関数fgを選択し、注目画素x、y付近の明度に応じて暗部領域を後述する方法でゲインアップする。
【0042】
なお、図5には、明度向上量Gup=0,1,2,3のそれぞれに対応するゲイン向上関数fgを例示した。ゲイン向上関数fgは明度向上量Gupに応じて予め数本用意しても良いし、ゲインアップ量が最大のゲイン向上関数のみを用意し、ゲインアップ量が最大のゲイン向上関数fgとゲイン1との間を適宜補間して無段階としても良い。
【0043】
また、ステップ106において階調圧縮モードでない(階調非圧縮モードである)と判定した際に、制御部10内の処理回路の構成上、階調圧縮処理をスキップできない場合には、図5のGup=0に示すゲイン向上関数fgを用いる。
【0044】
各画素R[x,y],G[x,y],B[x,y]における階調圧縮演算は以下の式4から式6により行う。
【0045】
【数2】
【0046】
式4から式6中のfgは、上述したゲイン向上関数fgに対応し、Lyは、ステップ107で説明したローパス画像に対応する。
【0047】
ステップ111において、制御部10は、ステップ110で階調圧縮処理を施した画像データ、またはステップ105で通常の画像処理を施した画像データを、カードインターフェース25を介してメモリカード28に記録し、一連の処理を終了する。なお、画像データをメモリカード28に記録する前に、圧縮伸長部26を介して、必要に応じて画像圧縮処理(JPEG圧縮処理など)を施しても良い。
【0048】
次に図6のフローチャートに基づいて測光演算サブルーチン(図3のステップ101)の動作を説明する。
まずステップ201において、制御部10は第2撮像センサ16を駆動して被写界のプレ画像を取得する。
【0049】
ステップ202において、制御部10の露出値演算部10aは、撮影の為の仮露出制御値BvCntl0を算出する。具体的な算出方法は例えば、第2撮像センサ16の画素を図7(b)のように24領域に分割して各領域ごとの平均出力を求める。
【0050】
その仮露出制御値BvCntl0の具体的な算出方法を、図8に示すフローチャートを用いて説明する。
まず、ステップ301において、制御部10は、第2撮像センサ16から24分割の測光結果を取得する。第2撮像センサ16は、入射した光を光電変換し、図9(a)に示すように、分割されたそれぞれの領域に対応する24分割の輝度値Bv[1,1]からBv[6,4]を出力する。
【0051】
ステップ302において、制御部10は、ステップ301で取得した24分割の測光結果に基づいて、15分割の測光結果を取得する。制御部10は、ステップ301で取得した24分割の輝度値Bv[1,1]からBv[6,4]を4つずつまとめて、15分割の輝度値RBv[1]からRBv[15]を取得する。15分割の輝度値RBv[1]からRBv[15]は、以下の式7から式21により演算される。また、図9(b)に15分割の領域の一部(RBv[1],RBv[3],RBv[5],RBv[11],RBv[13],RBv[15])を例示する。
【0052】
RBv[1]=(Bv[1,1]+Bv[2,1]+Bv[1,2]+Bv[2,2])/4…(式7)
RBv[2]=(Bv[2,1]+Bv[3,1]+Bv[2,2]+Bv[3,2])/4…(式8)
RBv[3]=(Bv[3,1]+Bv[4,1]+Bv[3,2]+Bv[4,2])/4…(式9)
RBv[4]=(Bv[4,1]+Bv[5,1]+Bv[4,2]+Bv[5,2])/4…(式10)
RBv[5]=(Bv[5,1]+Bv[6,1]+Bv[5,2]+Bv[6,2])/4…(式11)
RBv[6]=(Bv[1,2]+Bv[2,2]+Bv[1,3]+Bv[2,3])/4…(式12)
RBv[7]=(Bv[2,2]+Bv[3,2]+Bv[2,3]+Bv[3,3])/4…(式13)
RBv[8]=(Bv[3,2]+Bv[4,2]+Bv[3,3]+Bv[4,3])/4…(式14)
RBv[9]=(Bv[4,2]+Bv[5,2]+Bv[4,3]+Bv[5,3])/4…(式15)
RBv[10]=(Bv[5,2]+Bv[6,2]+Bv[5,3]+Bv[6,3])/4…(式16)
RBv[11]=(Bv[1,3]+Bv[2,3]+Bv[1,4]+Bv[2,4])/4…(式17)
RBv[12]=(Bv[2,3]+Bv[3,3]+Bv[2,4]+Bv[3,4])/4…(式18)
RBv[13]=(Bv[3,3]+Bv[4,3]+Bv[3,4]+Bv[4,4])/4…(式19)
RBv[14]=(Bv[4,3]+Bv[5,3]+Bv[4,4]+Bv[5,4])/4…(式20)
RBv[15]=(Bv[5,3]+Bv[6,3]+Bv[5,4]+Bv[6,4])/4…(式21)
【0053】
ステップ303において、制御部10は、ステップ301およびステップ302で取得した測光結果に基づいて、平均輝度値BvMean、15分割の輝度値RBvの最大輝度値BvMax15、最小輝度値BvMin15、中央部輝度値BvC、24分割の輝度値Bvの最大輝度値BvMax24を特徴量として演算する。各値は、以下の各式により求められる。
【0054】
【数3】
【0055】
BvMax15=MAX(RBv[1]~RBv[15])…(式23)
BvMin15=MIN(RBv[1]~RBv[15])…(式24)
BvC=RBv[8] …(式25)
BvMax24=MAX(Bv[1,1]~Bv[6,4])…(式26)
【0056】
ステップ304において、制御部10は、ステップ303で演算した各値に基づいて、仮露出制御値BvCntl0を演算する。仮露出制御値BvCntl0は、次式により求められる。
【0057】
BvCntl0=k1・BvMean+k2・BvMax15+k3・BvMin15+k4・BvC+k5…(式27)
式27において、k1からk4は、各項の重みを示す係数である。また、k5は、定数項である。k1からk5は、平均輝度値BvMeanに応じた数であり、様々なサンプルシーンでより良い画像となるように予め決定される。k1からk5の例を以下の表4に示す。
【0058】
【表4】
【0059】
図6に戻り、ステップ203において、制御部10の復元量演算部10bは、仮ハイライト復元量Pre_HiRcvを演算する。仮ハイライト復元量Pre_HiRcvの演算は図10のステップ401及び402に従って行う。
図10のステップ401において、制御部10は、ステップ304で演算した仮露出制御値BvCntl0と、24分割の輝度値Bvの最大輝度値BvMax24とを比較する。制御部10は、仮露出制御値BvCntl0と24分割の輝度値Bvの最大輝度値BvMax24との差が所定値thHiをこえる値dHiを、次式を用いて求める。
【0060】
dHi=BvMax24-BvCntl0-thHi…(式28)
式28において、所定値thHiは、画像のハイライト部分が飽和を起こすと推定される量で、例えば、2Evから3Ev程度である。この所定値thHiは、撮像センサである第1撮像センサ9の飽和レベルや、第2撮像センサ16の画素の大きさなどにより最適な値とする。
【0061】
ステップ402において、制御部10は、ステップ401における比較結果に基づいて、仮ハイライト復元量Pre_HiRcvを演算する。制御部10は、仮ハイライト復元量Pre_HiRcvを、次式を用いて求める。
【0062】
【数4】
【0063】
式29に示すように、制御部10は、ステップ401で求めた、仮露出制御値BvCntl0と24分割の輝度値Bvの最大輝度値BvMax24との差が所定値thHiをこえる値dHiを、0から閾値thdHiの間へクリップして仮ハイライト復元量Pre_HiRcvとする。
【0064】
式29において、閾値thdHiは撮像センサである第1撮像センサ9のダイナミックレンジの大きさに依存するハイライト復元可能な量を示す所定の閾値である。制御部10は、閾値thdHiを、撮影モードとISO感度とに応じて変更する。
【0065】
制御部10は、表5に基づいて、撮影モードに応じた閾値thdHiを求めるとともに、表6に基づいて、ISO感度に応じた閾値thdHiを求める。そして、より大きい方の閾値thdHiを、上述した仮ハイライト復元量Pre_HiRcvの算出に用いる。
【0066】
【表5】
【0067】
【表6】
【0068】
主要被写体が人物であると推定可能な人物撮影モードが設定されている場合には、人物の顔部分が不要に暗く撮影されるのを避ける必要がある。そのため、人物撮影モードが設定されている場合には、表5に示すように、閾値thdHiの値を小さくする。
【0069】
また、第1撮像センサ9が高ISO感度に設定されている場合には、ノイズが増加してダイナミックレンジが不足するおそれがある。そのため、第1撮像センサ9が高ISO感度に設定されている場合には、表6に示すように、閾値thdHiの値を小さくする。
【0070】
さらに、撮像時のノイズ発生予想量を適宜検出し、検出結果に応じて、仮ハイライト復元量Pre_HiRcvに上限を設けたり、上述した閾値thdHiを小さくする構成としても良い。
【0071】
図6に戻り、ステップ204において、制御部10の主要被写体検出部10cは、第2撮像センサの出力から主要被写体の検出を行う。例えば人物の顔検出である。具体的な方法は公知技術と同様なので説明を省略する。
【0072】
ステップ205において、制御部10の復元量制限部10eは、ハイライト復元量の制限値Lmt_HiRcvを算出する。
Lmt_HiRcv=BvObj-(BvCntl0-BvSth)…(式30)
【0073】
ここでBvObjは、ステップ204においてで検出した主要被写体の代表輝度値である。例えば図7(c)のようなシーンを撮影する場合、図7(d)の白抜き領域のように顔の中心部分の画素出力から輝度を求めることで背景の影響を受けないようにする。
【0074】
具体的な算出は、制御部10の主要被写体輝度演算部10dにより、以下のように行う。
【0075】
(イ)主要被写体と背景との輝度が極端に異なる場合(例えば逆光や過順光のシーンなど)において、顔領域よりも広い領域(図11(a)、図11(b)の領域FA0)から代表輝度値BvObjを求めると、背景の影響を受けて適正な顔の輝度を求められないケースがある。
【0076】
そこで、制御部10は、人物の顔の輪郭に内接する領域(図11(a)に示す領域FA1)から代表輝度値BvObjを求めるようにしてもよい。あるいは、制御部10は、人物の顔の輪郭に外接する領域よりもサイズが小さい領域(図11(b)に示す領域FA2)から代表輝度値BvObjを求めるようにしてもよい。
【0077】
ここで、図11(b)では、領域FA2の重心が領域FA0の重心と重なって配置される例を示す。もっとも、髪の影響を受けにくくするために領域FA2の重心を領域FA0の重心よりも下側にずらしてもよい(この場合の図示は省略する)。また、図11(b)では、領域FA2のサイズが領域FA0の縦横1/2のサイズに設定された例を示す。もっとも、上記の領域FA2のサイズは背景の影響を受けない範囲で適宜設定できる。
【0078】
(ロ)顔領域内の輝度差が大きい場合(例えば顔の半分に光が当たり、顔の半分が暗くなっている半逆光のシーンなど)には、顔領域の平均輝度値に基づいて代表輝度値BvObjを求めると、顔の明るい部分が白トビするおそれもある。そこで、制御部10は、主要被写体の顔を複数の領域に分割して測光し、複数の領域のそれぞれに対して得られる複数の測光値に基づいて代表輝度値BvObjを求めてもよい。
【0079】
一例として、制御部10は、図12に示すように縦横に2×2となるように顔領域を4分割する。そして、制御部10は、以下の式(31)により各分割領域(FA41−FA44)の測光値のうちの最大値を代表輝度値BvObjとしてもよい。
BvObj=Max(BvFA41,BvFA42,BvFA43,BvFA44)…(式31)
ここで、本明細書において、「BvBVFA41-44」は、それぞれ顔領域の分割領域(BVFA41-44)の平均輝度値を示している。また、本明細書において、「Max(A,B)」は、A,Bのうちの最大値を返す関数を意味する。
【0080】
式30に戻り、BvSthは顔のアンダー許容量である。
BvSthは予め求めた固定値でも良いし、顔の大きさに依存した変数にしても良い。
変数の場合の算出例を図13を使って説明する。
BvSth=ObjUdLv2-(ObjUdLv2-ObjUdLv1)/(SthObjSz2-SthObjSz1)*(ObjSize-SthObjSz1)…(式32)
但し、BvSthはObjUdLv1〜ObjUdLv2の間で制限する。
BvSth<ObjUdLv1 の場合は BvSth=ObjUdLv1…(式33)
BvSth>ObjUdLv2 の場合は BvSth=ObjUdLv2…(式34)
【0081】
ここで、ObjSizeは検出した顔の大きさ、SthObjSz1、SthObjSz2は顔の大きさの閾値、ObjUdLv1、ObjUdLv2は顔の画像出力アンダーレベル閾値である。
ステップ206において、制御部10の復元量制限部10eは復元量を制限してハイライト復元量HiRcvを算出する。
HiRcv=Pre_HiRcv…(式35)
但し、
HiRcv>Lmt_HiRcv の場合は HiRcv=Lmt_HiRcv…(式36)
ステップ207において、制御部10は次式から露出制御値BvCntl1を求める。
BvCntl1=BvCntl0+HiRcv…(式37)
【0082】
上記の実施例によれば、例えば人物が逆光の為に顔が暗い場合はBvObjが小さくなると、数式33よりLmt_HiRcvも小さくなり、式35および6よりHiRcvがLmt_HiRcvで制限され易くなる。制限された場合の式37は以下のように置き換えられる。
BvCntl1=BvObj+BvSth…(式38)
【0083】
つまり露出制御値BvCntl1は式38の右辺よりも大きな値を取り得ない。従ってステップ103で露出制御値BvCntl1に基づいて第1撮像センサによって撮像された画像データは顔部分の出力レベルが「基準露出レベルよりもBvSth分低いレベル」よりも低くなることがない。その為にステップ104で顔の画像レベルが低いために顔検出が出来なくなる事も無く、またステップ110の階調圧縮処理後の画像の顔部分にノイズが目立つ事も無くなる。
【0084】
逆光人物シーンにおいて、顔が大きい場合はハイライト復元量が制限され易くなるので、人物の顔が暗くならずに済む。また顔が小さい場合、つまり写り込む背景が多い場合はハイライト復元量が制限されにくくなるので、背景のハイライト部分の飽和を抑える事が出来る。
【0085】
上記の実施例では第1撮像センサ9とは異なる第2撮像センサ16の出力に基づいて露出制御値を求めたが、第1撮像センサ9の画像信号をファインダとするライブビュー・モードの場合は、上記第2撮像センサ16の出力の代わりに第1撮像センサの9出力を用いても構わない。
【0086】
また、上記実施例のObjSizeは検出された主要被写体の大きさを撮影画面の大きさで規格化しても良い。
ObjSize=ObjSize÷PicSize…(式39)
ここでPicSizeは第1撮像センサによる撮影画面の大きさである。例えば撮影画面の対角の長さでも良いし、短辺の長さでもよい。
【0087】
主要被写体の大きさを規格化する事で第1撮像センサによる撮影画面の比率を4:3や16:9に切り替えたり、デジタルズームによって任意の領域を切出したりしても、撮影画面に占める主要被写体の大きさに対して主要被写体のアンダー許容量を約同じにして違和感の無い画像を得る事が出来る。また分割数の異なる第2撮像センサを備える複数の撮像装置の間でも主要被写体のアンダー許容量を同じにする事が出来る。
【0088】
(変形形態)
以上、説明した実施形態に限定されることなく、以下に示すような種々の変形や変更が可能であり、それらも本発明の範囲内である。例えば、上記の実施形態では、ローパス画像に基づいて部分的に階調補正を行うものであった、画面全体の階調補正を行うものであってもよい。
なお、実施形態及び変形形態は、適宜組み合わせて用いることもできるが、詳細な説明は省略する。また、本発明は以上説明した実施形態によって限定されることはない。
【符号の説明】
【0089】
1:カメラ本体、2:レンズユニット、3:撮影レンズ、9:第1撮像センサ、10:制御部、10a:露出値演算部、10b:復元量演算部、10c:主要被写体検出部、10d:主要被写体輝度演算部、10e:復元量制限部、16:第2撮像センサ、:、:、:、:Pre_HiRcv:仮ハイライト復元量、HiRcv:ハイライト復元量、BvCntl0:仮露出制限値、BvCntl1:露出制限値、BvObj:主要被写体の代表輝度値
【技術分野】
【0001】
本発明は、撮像装置、撮像システム及び撮像方法に関する。
【背景技術】
【0002】
従来から、輝度差の大きなシーンの撮影において、露出を下げて明部のデータが飽和しないように撮影した上で、暗部のゲインを大きくして明るくする画像処理を施して、画像のダイナミックレンジを拡大する方法が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−232711号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上記従来の技術では、逆光の人物のように顔が暗いときに露出を大きく下げると、撮影した画像の顔部分のデータのS/Nが劣化するために顔が検出できなくなる可能性がある。また、検出できたとしても顔部分のデータのゲインを大きくするとノイズが目立ってしまう可能性がある。
【0005】
本発明の課題は、顔が暗い場合でも顔の検出が可能で、且つノイズが目立たないような画像を得ることのできる撮像装置、撮像システム及び撮像方法を提供することにある。
【課題を解決するための手段】
【0006】
本発明は、以下のような解決手段により前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
【0007】
請求項1に記載の発明は、被写界を複数の領域に分割して測光する測光部(16)と、前記測光部(16)による測光結果に基づいて第1の露出値(BvCntl0)を演算する第1露出演算部(10a)と、前記測光結果に基づいて第1の露出値(BvCntl0)に対して被写体の明部を復元するための補正量(Pre_HiRcv)を演算する補正量演算部(10b)と、前記測光結果に基づいて主要被写体を検出する主要被写体検出部(10c)と、前記主要被写体の輝度(BvObj)を演算する主要被写体輝度演算部(10d)と、前記主要被写体の輝度(BvObj)に基づいて前記補正量(Pre_HiRcv)を制限する補正量制限部(10e)と、前記制限された補正量に基づいて前記第1の露出値(BvCntl0)を補正した第2の露出値(BvCntl1)を演算する第2露出演算部(10a)と、前記第2の露出値(BvCntl1)に基づいて被写体を撮像して画像データを生成する撮像部(14)と、を備える撮像装置(1)である。
請求項2に記載の発明は、請求項1に記載の撮像装置(1)において、補正量制限部(17)は、前記検出した主要被写体の大きさに基づいて前記補正量を制限すること、を特徴とする撮像装置(1)である。
請求項3に記載の発明は、請求項2に記載の撮像装置(1)において、前記主要被写体が大きいほど、前記制限が大きいこと、を特徴とする撮像装置(1)である。
請求項4に記載の発明は、請求項2又は3に記載の撮像装置(1)において、前記補正量制限部(17)は、前記検出した主要被写体の大きさを、前記画像データの画像の寸法に基づいて規格化すること、を特徴とする撮像装置(1)である。
請求項5に記載の発明は、請求項2から4のいずれか1項に記載の撮像装置(1)において、前記補正量(Pre_HiRcv)が制限値(Lmt_HiRcv)以上の場合、前記制限された補正量を前記制限値とすること、を特徴とする撮像装置(1)である。
請求項6に記載の発明は、請求項5に記載の撮像装置(1)において、前記制限値(Lmt_HiRcv)は、前記第1の露出値(BvCntl0)から顔のアンダー許容量(BvSth))を引いたものを、主要被写体の代表輝度(BvObj)から引いた値であること、を特徴とする撮像装置(1)である。
請求項7に記載の発明は、請求項1から6のいずれか1項に記載の画像装置であって、前記画像データの暗部を明るくするように階調を補正する画像処理部を更に備える撮像装置(1)である。
請求項8に記載の発明は、請求項1から7のいずれか1項に記載の撮像装置(1)と、前記画像データの暗部を明るくするように階調を補正する画像処理装置と、を備える撮像システムである。
請求項9に記載の発明は、被写界を複数の領域に分割して測光し(S202,S301)、前記測光の結果に基づいて第1の露出値(BvCntl0)を演算し(S202、S302,S303,S304)、前記測光の結果に基づいて第1の露出値(BvCntl0)に対して被写体の明部を復元するための補正量(Pre_HiRcv)を演算し(S203,S401,S402)、前記測光の結果に基づいて主要被写体を検出し(S204)、検出された前記主要被写体の輝度(BvObj)を演算し(S204)、前記主要被写体の輝度(BvObj)に基づいて前記補正量(Pre_HiRcv)を制限し(S205)、前記制限された補正量に基づいて前記第1の露出値(BvCntl0)を補正した第2の露出値(BvCntl1)を演算し(S206)、前記第2の露出値(BvCntl1)に基づいて被写体を撮像して画像データを生成する(S103)撮像方法である。
なお、符号を付して説明した構成は、適宜改良してもよく、また、少なくとも一部を他の構成物に代替してもよい。
【発明の効果】
【0008】
本発明によれば、顔が暗い場合でも顔の検出が可能で、且つノイズが目立たないような画像を得ることのできる撮像装置、撮像システム及び撮像方法を提供することができる。
【図面の簡単な説明】
【0009】
【図1】実施形態のカメラの構成を示す図である。
【図2】実施形態のカメラの機能ブロック図である
【図3】実施形態のカメラの基本動作を示すフローチャートである。
【図4】ローパスフィルタの特性を示す図である。
【図5】明度向上量に対応するゲイン向上関数を例示した図である。
【図6】測光演算サブルーチンを示すフローチャートである。
【図7】第2撮像センサを示す図であり、(a)は第2撮像センサの画素配列の例、(b)は24領域に分割した画素、(c)は撮影シーンの例、(d)は顔の中心部分を示す図である。
【図8】露出制御値の具体的な算出方法を示すフローチャートである。
【図9】(a)は24分割されたそれぞれの領域の輝度値を示す図であり、(b)は24分割を4つずつまとめた例を示した図である。
【図10】仮ハイライト復元量の演算を示すフローチャートである。
【図11】主要被写体の開領域の選択方法を示す図である。
【図12】主要被写体の分割例を示した図である。
【図13】変数の場合の算出例を示す図である。
【発明を実施するための形態】
【0010】
以下に本発明の実施形態を説明する。
図1は、本実施形態のカメラ100の構成を示す図である。
カメラ100はカメラ本体1と、レンズユニット2から構成される。ここで、レンズユニット2はカメラ本体1に対して交換可能に装着される。またレンズユニット2は撮影レンズ3と撮影レンズ3を駆動するモータ4およびレンズユニットの情報を記録したレンズ内メモリ18を含む。
【0011】
カメラ本体1は、メインミラー5と、サブミラー6と、フォーカルプレーンシャッター8と、被写体像を光電変換する第1撮像センサ9と、ファインダ光学系20と、被写体像を光電変換する第2撮像センサ16と、焦点検出ユニット7と、制御部10と、手振れセンサ17(例、角速度センサ)と表示ユニット19を有している。
【0012】
ここで第1撮像センサ9は高画質な静止画を生成するためのセンサである。また第2撮像センサ16は撮影シーンを解析して第1撮像センサ9の撮影及び画像処理条件を演算するためのセンサである。撮影シーンを解析するに十分な画素数を持つ。後述する図7(a)は第2撮像センサ16の画素配列の例である。
【0013】
メインミラー5、サブミラー6、フォーカルプレーンシャッター8および第1撮像センサ9は、撮影レンズ3の光軸に沿って配置され、ファインダ光学系20はメインミラー5の上部領域に、焦点検出ユニット7はサブミラー6の下部領域に配置されている。
【0014】
ここで、撮影者がファインダ光学系20を通して被写界を観察する時、つまり静止画撮影およびライブビュー以外の時は、メインミラー5は、撮影レンズ3から第1撮像センサ9までの撮影光路と交差し、撮影レンズ3を通過した光束を上方に反射させてファインダ光学系20に導くようになっている(実線の位置)。
一方、ライブビュー時および静止画撮影時はメインミラー5は上方に跳ね上げられ、撮影レンズ3を通過した光束はフォーカルプレーンシャッター8および第1撮像センサ9に導かれ、第1撮像センサ9の画像信号に基づいて被写体の撮影画像データを生成することができる(点線の位置)。
【0015】
また、メインミラー5の中央部は光を透過するハーフミラーとなっていて、非撮影時のメインミラー5を透過した一部の光束はサブミラー6によって下方に反射され、焦点検出ユニット7に導かれるようになっている。
【0016】
ファインダ光学系20は、拡散スクリーン11と、コンデンサレンズ12と、ペンタプリズム13と、接眼レンズ14と、再結像レンズ15を有している。
【0017】
拡散スクリーン11はメインミラー5の上方に配置され、実線の位置でのメインミラー5が反射した光束を一旦結像させる。拡散スクリーン11で結像した光束はコンデンサレンズ12およびペンタプリズム13および接眼レンズ14を通過して撮影者の目に到達する。また、拡散スクリーン11によって拡散された光束の一部はコンデンサレンズ12およびペンタプリズム13および再結像レンズ15を通過して第2撮像センサ16に到達する。
【0018】
図2は、実施形態のカメラ100の機能ブロック図である。図2に示すように、カメラ100は、図1の構成に加えて、タイミングジェネレータ20、信号処理部21、A/D変換部22、バッファメモリ23、バス24、カードインターフェース25、圧縮伸長部26、画像表示部27の各部を備える。タイミングジェネレータ20は、第1撮像センサ9に出力パルスを供給する。また、第1撮像センサ9で生成される画像データは、信号処理部21(撮像感度に対応するゲイン調整部を含む)およびA/D変換部22を介して、バッファメモリ23に一時記憶される。バッファメモリ23は、バス24に接続される。このバス24には、カードインターフェース25、図1で説明した制御部10、圧縮伸長部26、および画像表示部27が接続される。カードインターフェース25は、着脱自在なメモリカード28と接続し、メモリカード28に画像データを記録する。
【0019】
また、制御部10は、後述する露出値演算部10a、復元量演算部10b、主要被写体検出部10c、主要被写体輝度演算部10d、復元量制限部10eを備える。そして制御部10には、カメラ100のスイッチ群29(不図示のレリーズ釦などを含む)、タイミングジェネレータ20、および第2撮像センサ16が接続される。さらに、画像表示部27は、カメラ100の背面に設けられた表示ユニット19に画像などを表示する。
【0020】
次に図3のフローチャートに基づいて動作を説明する。
不図示のレリーズボタンが半押しされると、制御部10はメインミラー5を実線の位置のままにしてステップ101の測光演算サブルーチンの動作を行って露出制御値BvCntl1を演算する。詳細は後述する。
【0021】
ステップ102において、レリーズボタンが全押しされたか否かを判定する。全押しされていなければステップ101へ戻り、全押しされていればステップ103へ進む。
【0022】
ステップ103において、制御部10は、各部を制御し、ステップ101で行った測光演算の結果に基づいて、第1撮像センサ9により被写体像を撮像して画像データを生成する。そして、第1撮像センサ9により生成された画像データは、信号処理部21およびA/D変換部22を介して、バッファメモリ23に一時記憶される。
【0023】
ステップ104において、制御部10は、バッファメモリ23から画像データを読み出し、顔検出を行う。顔検出の具体的な方法は公知技術と同様であるため説明を省略する。なお、検出対象の画像データに複数の人物が含まれる場合、制御部10は、それぞれの人物の顔検出を行う。
【0024】
ステップ105において、制御部10は、ステップ104においてバッファメモリ23から読み出した画像データに対して、通常の画像処理を行う。通常の画像処理とは、ホワイトバランス調整、補間処理、色調補正処理、階調変換処理などである。各処理の具体的な方法は公知技術と同様であるため説明を省略する。
【0025】
ステップ106において、制御部10は、階調圧縮モードであるか否かを判定する。そして、制御部10は、階調圧縮モードであると判定するとステップ107に進む。一方、階調圧縮モードでない(階調非圧縮モードである)と判定すると、制御部10は後述するステップ111に進む。
【0026】
ステップ107において、制御部10は、ステップ104においてバッファメモリ23から読み出した画像データから、ローパス画像を作成する。
制御部10は、次式を用いて、ステップ104においてバッファメモリ23から読み出した画像データからローパス画像Lyを作成する。
【0027】
【数1】
【0028】
式1中のYは、注目画素の輝度値を示す。また、式1中のkr,kg,kbは所定の係数である。また、式2中のLpwは、注目画素周りのローパスフィルタであり、このローパスフィルタは、図4に示す特性を有する。このローパスフィルタは、半値幅(図4のd)が画像の短辺の1/100以上の広い幅のローパスフィルタである。
【0029】
ステップ108において、制御部10は、明るさに関する評価値を算出する。制御部10は、まず、ステップ104で行った顔検出の結果に基づいて、顔領域の中心座標(Fx,Fy)を求める。ただし、ステップ104において複数の顔を検出した場合には、面積が最大の顔領域の中心座標を求める。
【0030】
次に、制御部10は、明るさに関する評価値として、顔の明度Yfを求める。顔の明度Yfは次式により求められる。
【0031】
Yf=Ly[Fx,Fy]…(式3)
なお、ステップ104において複数の顔を検出した場合には、面積が最大の顔領域の中心座標を求める例を示したが、最も暗い顔領域の中心座標を求めても良い。このように、最も暗い顔領域に応じた処理を行うことにより、複数の顔の全てを好ましい明るさに表現することができる。
【0032】
また、複数の顔のそれぞれについて明度Yfを求め、それぞれの顔領域の面積に応じた重み付けを行っても良い。
ステップ109において、制御部10は、暗部階調を補正する際の明度向上量を決定する。制御部10は、まず、表1に基づいて、ステップ108で求めた顔の明度Yfに応じた明度向上量候補fupを求める。
【0033】
【表1】
【0034】
ただし、制御部10は、ステップ103で行った撮像時のISO感度に応じて、明度向上量候補fupを制限する。すなわち、制御部10は、表2に基づいて、求めた明度向上量候補fupを制限する。
【0035】
【表2】
【0036】
次に、制御部10は、表3に基づいて、後述する図6のステップ206で求めたハイライト復元量HiRcvに応じた明度向上量候補Hupを求める。
【0037】
【表3】
【0038】
そして、制御部10は、顔の明度Yfに応じた明度向上量候補fupと、ハイライト復元量HiRcvに応じた明度向上量候補Hupとを比較し、大きい方の値をハイライト復元量HiRcvに応じた明度向上量Gupとする。
【0039】
ステップ110において、制御部10は、ステップ109で決定した明度向上量Gupにしたがって、ステップ105で通常の画像処理を施した画像データに対して階調圧縮処理を行う。
【0040】
制御部10は、まず、ステップ109で決定した明度向上量Gupにしたがって、ゲイン向上関数fgを選択する。
図5は、明度向上量Gupに対応する階調圧縮のゲイン向上関数fgを示す図である。ゲイン向上関数fgは、画像の輝度Yに応じたゲインを有する。そして、輝度Yが小さいほど(処理画素を含む近傍範囲が暗いほど)、ゲイン向上関数fgは大きくなる。逆に、輝度Yが大きいほど(処理画素を含む近傍範囲が明るいほど)、ゲイン向上関数fgは1に近づく。
【0041】
制御部10は、上述した明度向上量Gupにしたがって、ゲイン向上関数fgを選択し、注目画素x、y付近の明度に応じて暗部領域を後述する方法でゲインアップする。
【0042】
なお、図5には、明度向上量Gup=0,1,2,3のそれぞれに対応するゲイン向上関数fgを例示した。ゲイン向上関数fgは明度向上量Gupに応じて予め数本用意しても良いし、ゲインアップ量が最大のゲイン向上関数のみを用意し、ゲインアップ量が最大のゲイン向上関数fgとゲイン1との間を適宜補間して無段階としても良い。
【0043】
また、ステップ106において階調圧縮モードでない(階調非圧縮モードである)と判定した際に、制御部10内の処理回路の構成上、階調圧縮処理をスキップできない場合には、図5のGup=0に示すゲイン向上関数fgを用いる。
【0044】
各画素R[x,y],G[x,y],B[x,y]における階調圧縮演算は以下の式4から式6により行う。
【0045】
【数2】
【0046】
式4から式6中のfgは、上述したゲイン向上関数fgに対応し、Lyは、ステップ107で説明したローパス画像に対応する。
【0047】
ステップ111において、制御部10は、ステップ110で階調圧縮処理を施した画像データ、またはステップ105で通常の画像処理を施した画像データを、カードインターフェース25を介してメモリカード28に記録し、一連の処理を終了する。なお、画像データをメモリカード28に記録する前に、圧縮伸長部26を介して、必要に応じて画像圧縮処理(JPEG圧縮処理など)を施しても良い。
【0048】
次に図6のフローチャートに基づいて測光演算サブルーチン(図3のステップ101)の動作を説明する。
まずステップ201において、制御部10は第2撮像センサ16を駆動して被写界のプレ画像を取得する。
【0049】
ステップ202において、制御部10の露出値演算部10aは、撮影の為の仮露出制御値BvCntl0を算出する。具体的な算出方法は例えば、第2撮像センサ16の画素を図7(b)のように24領域に分割して各領域ごとの平均出力を求める。
【0050】
その仮露出制御値BvCntl0の具体的な算出方法を、図8に示すフローチャートを用いて説明する。
まず、ステップ301において、制御部10は、第2撮像センサ16から24分割の測光結果を取得する。第2撮像センサ16は、入射した光を光電変換し、図9(a)に示すように、分割されたそれぞれの領域に対応する24分割の輝度値Bv[1,1]からBv[6,4]を出力する。
【0051】
ステップ302において、制御部10は、ステップ301で取得した24分割の測光結果に基づいて、15分割の測光結果を取得する。制御部10は、ステップ301で取得した24分割の輝度値Bv[1,1]からBv[6,4]を4つずつまとめて、15分割の輝度値RBv[1]からRBv[15]を取得する。15分割の輝度値RBv[1]からRBv[15]は、以下の式7から式21により演算される。また、図9(b)に15分割の領域の一部(RBv[1],RBv[3],RBv[5],RBv[11],RBv[13],RBv[15])を例示する。
【0052】
RBv[1]=(Bv[1,1]+Bv[2,1]+Bv[1,2]+Bv[2,2])/4…(式7)
RBv[2]=(Bv[2,1]+Bv[3,1]+Bv[2,2]+Bv[3,2])/4…(式8)
RBv[3]=(Bv[3,1]+Bv[4,1]+Bv[3,2]+Bv[4,2])/4…(式9)
RBv[4]=(Bv[4,1]+Bv[5,1]+Bv[4,2]+Bv[5,2])/4…(式10)
RBv[5]=(Bv[5,1]+Bv[6,1]+Bv[5,2]+Bv[6,2])/4…(式11)
RBv[6]=(Bv[1,2]+Bv[2,2]+Bv[1,3]+Bv[2,3])/4…(式12)
RBv[7]=(Bv[2,2]+Bv[3,2]+Bv[2,3]+Bv[3,3])/4…(式13)
RBv[8]=(Bv[3,2]+Bv[4,2]+Bv[3,3]+Bv[4,3])/4…(式14)
RBv[9]=(Bv[4,2]+Bv[5,2]+Bv[4,3]+Bv[5,3])/4…(式15)
RBv[10]=(Bv[5,2]+Bv[6,2]+Bv[5,3]+Bv[6,3])/4…(式16)
RBv[11]=(Bv[1,3]+Bv[2,3]+Bv[1,4]+Bv[2,4])/4…(式17)
RBv[12]=(Bv[2,3]+Bv[3,3]+Bv[2,4]+Bv[3,4])/4…(式18)
RBv[13]=(Bv[3,3]+Bv[4,3]+Bv[3,4]+Bv[4,4])/4…(式19)
RBv[14]=(Bv[4,3]+Bv[5,3]+Bv[4,4]+Bv[5,4])/4…(式20)
RBv[15]=(Bv[5,3]+Bv[6,3]+Bv[5,4]+Bv[6,4])/4…(式21)
【0053】
ステップ303において、制御部10は、ステップ301およびステップ302で取得した測光結果に基づいて、平均輝度値BvMean、15分割の輝度値RBvの最大輝度値BvMax15、最小輝度値BvMin15、中央部輝度値BvC、24分割の輝度値Bvの最大輝度値BvMax24を特徴量として演算する。各値は、以下の各式により求められる。
【0054】
【数3】
【0055】
BvMax15=MAX(RBv[1]~RBv[15])…(式23)
BvMin15=MIN(RBv[1]~RBv[15])…(式24)
BvC=RBv[8] …(式25)
BvMax24=MAX(Bv[1,1]~Bv[6,4])…(式26)
【0056】
ステップ304において、制御部10は、ステップ303で演算した各値に基づいて、仮露出制御値BvCntl0を演算する。仮露出制御値BvCntl0は、次式により求められる。
【0057】
BvCntl0=k1・BvMean+k2・BvMax15+k3・BvMin15+k4・BvC+k5…(式27)
式27において、k1からk4は、各項の重みを示す係数である。また、k5は、定数項である。k1からk5は、平均輝度値BvMeanに応じた数であり、様々なサンプルシーンでより良い画像となるように予め決定される。k1からk5の例を以下の表4に示す。
【0058】
【表4】
【0059】
図6に戻り、ステップ203において、制御部10の復元量演算部10bは、仮ハイライト復元量Pre_HiRcvを演算する。仮ハイライト復元量Pre_HiRcvの演算は図10のステップ401及び402に従って行う。
図10のステップ401において、制御部10は、ステップ304で演算した仮露出制御値BvCntl0と、24分割の輝度値Bvの最大輝度値BvMax24とを比較する。制御部10は、仮露出制御値BvCntl0と24分割の輝度値Bvの最大輝度値BvMax24との差が所定値thHiをこえる値dHiを、次式を用いて求める。
【0060】
dHi=BvMax24-BvCntl0-thHi…(式28)
式28において、所定値thHiは、画像のハイライト部分が飽和を起こすと推定される量で、例えば、2Evから3Ev程度である。この所定値thHiは、撮像センサである第1撮像センサ9の飽和レベルや、第2撮像センサ16の画素の大きさなどにより最適な値とする。
【0061】
ステップ402において、制御部10は、ステップ401における比較結果に基づいて、仮ハイライト復元量Pre_HiRcvを演算する。制御部10は、仮ハイライト復元量Pre_HiRcvを、次式を用いて求める。
【0062】
【数4】
【0063】
式29に示すように、制御部10は、ステップ401で求めた、仮露出制御値BvCntl0と24分割の輝度値Bvの最大輝度値BvMax24との差が所定値thHiをこえる値dHiを、0から閾値thdHiの間へクリップして仮ハイライト復元量Pre_HiRcvとする。
【0064】
式29において、閾値thdHiは撮像センサである第1撮像センサ9のダイナミックレンジの大きさに依存するハイライト復元可能な量を示す所定の閾値である。制御部10は、閾値thdHiを、撮影モードとISO感度とに応じて変更する。
【0065】
制御部10は、表5に基づいて、撮影モードに応じた閾値thdHiを求めるとともに、表6に基づいて、ISO感度に応じた閾値thdHiを求める。そして、より大きい方の閾値thdHiを、上述した仮ハイライト復元量Pre_HiRcvの算出に用いる。
【0066】
【表5】
【0067】
【表6】
【0068】
主要被写体が人物であると推定可能な人物撮影モードが設定されている場合には、人物の顔部分が不要に暗く撮影されるのを避ける必要がある。そのため、人物撮影モードが設定されている場合には、表5に示すように、閾値thdHiの値を小さくする。
【0069】
また、第1撮像センサ9が高ISO感度に設定されている場合には、ノイズが増加してダイナミックレンジが不足するおそれがある。そのため、第1撮像センサ9が高ISO感度に設定されている場合には、表6に示すように、閾値thdHiの値を小さくする。
【0070】
さらに、撮像時のノイズ発生予想量を適宜検出し、検出結果に応じて、仮ハイライト復元量Pre_HiRcvに上限を設けたり、上述した閾値thdHiを小さくする構成としても良い。
【0071】
図6に戻り、ステップ204において、制御部10の主要被写体検出部10cは、第2撮像センサの出力から主要被写体の検出を行う。例えば人物の顔検出である。具体的な方法は公知技術と同様なので説明を省略する。
【0072】
ステップ205において、制御部10の復元量制限部10eは、ハイライト復元量の制限値Lmt_HiRcvを算出する。
Lmt_HiRcv=BvObj-(BvCntl0-BvSth)…(式30)
【0073】
ここでBvObjは、ステップ204においてで検出した主要被写体の代表輝度値である。例えば図7(c)のようなシーンを撮影する場合、図7(d)の白抜き領域のように顔の中心部分の画素出力から輝度を求めることで背景の影響を受けないようにする。
【0074】
具体的な算出は、制御部10の主要被写体輝度演算部10dにより、以下のように行う。
【0075】
(イ)主要被写体と背景との輝度が極端に異なる場合(例えば逆光や過順光のシーンなど)において、顔領域よりも広い領域(図11(a)、図11(b)の領域FA0)から代表輝度値BvObjを求めると、背景の影響を受けて適正な顔の輝度を求められないケースがある。
【0076】
そこで、制御部10は、人物の顔の輪郭に内接する領域(図11(a)に示す領域FA1)から代表輝度値BvObjを求めるようにしてもよい。あるいは、制御部10は、人物の顔の輪郭に外接する領域よりもサイズが小さい領域(図11(b)に示す領域FA2)から代表輝度値BvObjを求めるようにしてもよい。
【0077】
ここで、図11(b)では、領域FA2の重心が領域FA0の重心と重なって配置される例を示す。もっとも、髪の影響を受けにくくするために領域FA2の重心を領域FA0の重心よりも下側にずらしてもよい(この場合の図示は省略する)。また、図11(b)では、領域FA2のサイズが領域FA0の縦横1/2のサイズに設定された例を示す。もっとも、上記の領域FA2のサイズは背景の影響を受けない範囲で適宜設定できる。
【0078】
(ロ)顔領域内の輝度差が大きい場合(例えば顔の半分に光が当たり、顔の半分が暗くなっている半逆光のシーンなど)には、顔領域の平均輝度値に基づいて代表輝度値BvObjを求めると、顔の明るい部分が白トビするおそれもある。そこで、制御部10は、主要被写体の顔を複数の領域に分割して測光し、複数の領域のそれぞれに対して得られる複数の測光値に基づいて代表輝度値BvObjを求めてもよい。
【0079】
一例として、制御部10は、図12に示すように縦横に2×2となるように顔領域を4分割する。そして、制御部10は、以下の式(31)により各分割領域(FA41−FA44)の測光値のうちの最大値を代表輝度値BvObjとしてもよい。
BvObj=Max(BvFA41,BvFA42,BvFA43,BvFA44)…(式31)
ここで、本明細書において、「BvBVFA41-44」は、それぞれ顔領域の分割領域(BVFA41-44)の平均輝度値を示している。また、本明細書において、「Max(A,B)」は、A,Bのうちの最大値を返す関数を意味する。
【0080】
式30に戻り、BvSthは顔のアンダー許容量である。
BvSthは予め求めた固定値でも良いし、顔の大きさに依存した変数にしても良い。
変数の場合の算出例を図13を使って説明する。
BvSth=ObjUdLv2-(ObjUdLv2-ObjUdLv1)/(SthObjSz2-SthObjSz1)*(ObjSize-SthObjSz1)…(式32)
但し、BvSthはObjUdLv1〜ObjUdLv2の間で制限する。
BvSth<ObjUdLv1 の場合は BvSth=ObjUdLv1…(式33)
BvSth>ObjUdLv2 の場合は BvSth=ObjUdLv2…(式34)
【0081】
ここで、ObjSizeは検出した顔の大きさ、SthObjSz1、SthObjSz2は顔の大きさの閾値、ObjUdLv1、ObjUdLv2は顔の画像出力アンダーレベル閾値である。
ステップ206において、制御部10の復元量制限部10eは復元量を制限してハイライト復元量HiRcvを算出する。
HiRcv=Pre_HiRcv…(式35)
但し、
HiRcv>Lmt_HiRcv の場合は HiRcv=Lmt_HiRcv…(式36)
ステップ207において、制御部10は次式から露出制御値BvCntl1を求める。
BvCntl1=BvCntl0+HiRcv…(式37)
【0082】
上記の実施例によれば、例えば人物が逆光の為に顔が暗い場合はBvObjが小さくなると、数式33よりLmt_HiRcvも小さくなり、式35および6よりHiRcvがLmt_HiRcvで制限され易くなる。制限された場合の式37は以下のように置き換えられる。
BvCntl1=BvObj+BvSth…(式38)
【0083】
つまり露出制御値BvCntl1は式38の右辺よりも大きな値を取り得ない。従ってステップ103で露出制御値BvCntl1に基づいて第1撮像センサによって撮像された画像データは顔部分の出力レベルが「基準露出レベルよりもBvSth分低いレベル」よりも低くなることがない。その為にステップ104で顔の画像レベルが低いために顔検出が出来なくなる事も無く、またステップ110の階調圧縮処理後の画像の顔部分にノイズが目立つ事も無くなる。
【0084】
逆光人物シーンにおいて、顔が大きい場合はハイライト復元量が制限され易くなるので、人物の顔が暗くならずに済む。また顔が小さい場合、つまり写り込む背景が多い場合はハイライト復元量が制限されにくくなるので、背景のハイライト部分の飽和を抑える事が出来る。
【0085】
上記の実施例では第1撮像センサ9とは異なる第2撮像センサ16の出力に基づいて露出制御値を求めたが、第1撮像センサ9の画像信号をファインダとするライブビュー・モードの場合は、上記第2撮像センサ16の出力の代わりに第1撮像センサの9出力を用いても構わない。
【0086】
また、上記実施例のObjSizeは検出された主要被写体の大きさを撮影画面の大きさで規格化しても良い。
ObjSize=ObjSize÷PicSize…(式39)
ここでPicSizeは第1撮像センサによる撮影画面の大きさである。例えば撮影画面の対角の長さでも良いし、短辺の長さでもよい。
【0087】
主要被写体の大きさを規格化する事で第1撮像センサによる撮影画面の比率を4:3や16:9に切り替えたり、デジタルズームによって任意の領域を切出したりしても、撮影画面に占める主要被写体の大きさに対して主要被写体のアンダー許容量を約同じにして違和感の無い画像を得る事が出来る。また分割数の異なる第2撮像センサを備える複数の撮像装置の間でも主要被写体のアンダー許容量を同じにする事が出来る。
【0088】
(変形形態)
以上、説明した実施形態に限定されることなく、以下に示すような種々の変形や変更が可能であり、それらも本発明の範囲内である。例えば、上記の実施形態では、ローパス画像に基づいて部分的に階調補正を行うものであった、画面全体の階調補正を行うものであってもよい。
なお、実施形態及び変形形態は、適宜組み合わせて用いることもできるが、詳細な説明は省略する。また、本発明は以上説明した実施形態によって限定されることはない。
【符号の説明】
【0089】
1:カメラ本体、2:レンズユニット、3:撮影レンズ、9:第1撮像センサ、10:制御部、10a:露出値演算部、10b:復元量演算部、10c:主要被写体検出部、10d:主要被写体輝度演算部、10e:復元量制限部、16:第2撮像センサ、:、:、:、:Pre_HiRcv:仮ハイライト復元量、HiRcv:ハイライト復元量、BvCntl0:仮露出制限値、BvCntl1:露出制限値、BvObj:主要被写体の代表輝度値
【特許請求の範囲】
【請求項1】
被写界を複数の領域に分割して測光する測光部と、
前記測光部による測光結果に基づいて第1の露出値を演算する第1露出演算部と、
前記測光結果に基づいて第1の露出値に対して被写体の明部を復元するための補正量を演算する補正量演算部と、
前記測光結果に基づいて主要被写体を検出する主要被写体検出部と
前記主要被写体の輝度を演算する主要被写体輝度演算部と、
前記主要被写体の輝度に基づいて前記補正量を制限する補正量制限部と、
前記制限された補正量に基づいて前記第1の露出値を補正した第2の露出値を演算する第2露出演算部と、
前記第2の露出値に基づいて被写体を撮像して画像データを生成する撮像部と、
を備える撮像装置。
【請求項2】
請求項1に記載の撮像装置において、
補正量制限部は、前記検出した主要被写体の大きさに基づいて前記補正量を制限すること、
を特徴とする撮像装置。
【請求項3】
請求項2に記載の撮像装置において、
前記主要被写体が大きいほど、前記制限が大きいこと、
を特徴とする撮像装置。
【請求項4】
請求項2又は3に記載の撮像装置において、
前記補正量制限部は、前記検出した主要被写体の大きさを、前記画像データの画像の寸法に基づいて規格化すること、
を特徴とする撮像装置。
【請求項5】
請求項2から4のいずれか1項に記載の撮像装置において、
前記補正量が制限値以上の場合、前記制限された補正量を前記制限値とすること、
を特徴とする撮像装置。
【請求項6】
請求項5に記載の撮像装置において、
前記制限値は、
前記第1の露出値から顔のアンダー許容量を引いたものを、主要被写体の代表輝度から引いた値であること、
を特徴とする撮像装置。
【請求項7】
請求項1から6のいずれか1項に記載の画像装置であって、
前記画像データの暗部を明るくするように階調を補正する画像処理部を更に備える撮像装置。
【請求項8】
請求項1から7のいずれか1項に記載の撮像装置と、
前記画像データの暗部を明るくするように階調を補正する画像処理装置と、
を備える撮像システム。
【請求項9】
被写界を複数の領域に分割して測光し、
前記測光の結果に基づいて第1の露出値を演算し、
前記測光の結果に基づいて第1の露出値に対して被写体の明部を復元するための補正量を演算し、
前記測光の結果に基づいて主要被写体を検出し、
検出された前記主要被写体の輝度を演算し、
前記主要被写体の輝度に基づいて前記補正量を制限し、
前記制限された補正量に基づいて前記第1の露出値を補正した第2の露出値を演算し、
前記第2の露出値に基づいて被写体を撮像して画像データを生成する撮像方法。
【請求項1】
被写界を複数の領域に分割して測光する測光部と、
前記測光部による測光結果に基づいて第1の露出値を演算する第1露出演算部と、
前記測光結果に基づいて第1の露出値に対して被写体の明部を復元するための補正量を演算する補正量演算部と、
前記測光結果に基づいて主要被写体を検出する主要被写体検出部と
前記主要被写体の輝度を演算する主要被写体輝度演算部と、
前記主要被写体の輝度に基づいて前記補正量を制限する補正量制限部と、
前記制限された補正量に基づいて前記第1の露出値を補正した第2の露出値を演算する第2露出演算部と、
前記第2の露出値に基づいて被写体を撮像して画像データを生成する撮像部と、
を備える撮像装置。
【請求項2】
請求項1に記載の撮像装置において、
補正量制限部は、前記検出した主要被写体の大きさに基づいて前記補正量を制限すること、
を特徴とする撮像装置。
【請求項3】
請求項2に記載の撮像装置において、
前記主要被写体が大きいほど、前記制限が大きいこと、
を特徴とする撮像装置。
【請求項4】
請求項2又は3に記載の撮像装置において、
前記補正量制限部は、前記検出した主要被写体の大きさを、前記画像データの画像の寸法に基づいて規格化すること、
を特徴とする撮像装置。
【請求項5】
請求項2から4のいずれか1項に記載の撮像装置において、
前記補正量が制限値以上の場合、前記制限された補正量を前記制限値とすること、
を特徴とする撮像装置。
【請求項6】
請求項5に記載の撮像装置において、
前記制限値は、
前記第1の露出値から顔のアンダー許容量を引いたものを、主要被写体の代表輝度から引いた値であること、
を特徴とする撮像装置。
【請求項7】
請求項1から6のいずれか1項に記載の画像装置であって、
前記画像データの暗部を明るくするように階調を補正する画像処理部を更に備える撮像装置。
【請求項8】
請求項1から7のいずれか1項に記載の撮像装置と、
前記画像データの暗部を明るくするように階調を補正する画像処理装置と、
を備える撮像システム。
【請求項9】
被写界を複数の領域に分割して測光し、
前記測光の結果に基づいて第1の露出値を演算し、
前記測光の結果に基づいて第1の露出値に対して被写体の明部を復元するための補正量を演算し、
前記測光の結果に基づいて主要被写体を検出し、
検出された前記主要被写体の輝度を演算し、
前記主要被写体の輝度に基づいて前記補正量を制限し、
前記制限された補正量に基づいて前記第1の露出値を補正した第2の露出値を演算し、
前記第2の露出値に基づいて被写体を撮像して画像データを生成する撮像方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−16926(P2013−16926A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−146750(P2011−146750)
【出願日】平成23年6月30日(2011.6.30)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願日】平成23年6月30日(2011.6.30)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
[ Back to top ]