露出演算装置およびカメラ
【課題】 1シーンとして鑑賞される複数の画像を連続的に取得する撮影モードにおいて、シーン全体で露出を安定させる。
【解決手段】 露出演算装置の測光部は、被写体からの光束を測光して第1測光値を求めるとともに、前記被写体のうちの一部の被写体に関する第2測光値を求める。目標設定部は、第2測光値に基づく所定の輝度値の範囲を第1測光値の目標範囲として設定する。補正部は、第1測光値を目標範囲に基づいて補正して第3測光値を求める。演算部は、補正部による第3測光値に基づいて、被写体からの光束に対する露出量を求める。そして、演算部は、1シーンとして鑑賞される複数の画像を連続的に取得する第1撮影モードのときには第1測光値に基づいて露出量を求める。また、演算部は、第1撮影モードと異なる第2撮影モードのときには第3測光値に基づいて露出量を求める。
【解決手段】 露出演算装置の測光部は、被写体からの光束を測光して第1測光値を求めるとともに、前記被写体のうちの一部の被写体に関する第2測光値を求める。目標設定部は、第2測光値に基づく所定の輝度値の範囲を第1測光値の目標範囲として設定する。補正部は、第1測光値を目標範囲に基づいて補正して第3測光値を求める。演算部は、補正部による第3測光値に基づいて、被写体からの光束に対する露出量を求める。そして、演算部は、1シーンとして鑑賞される複数の画像を連続的に取得する第1撮影モードのときには第1測光値に基づいて露出量を求める。また、演算部は、第1撮影モードと異なる第2撮影モードのときには第3測光値に基づいて露出量を求める。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、露出演算装置およびカメラに関する。
【背景技術】
【0002】
従来から、撮影画面内から主要被写体である人物の顔を検出するとともに、この顔の明るさに着目して露出制御を行うカメラが知られている。一例として、特許文献1には、顔の大きさに依存した許容幅を有する目標値に顔の露出が近づくように、画面全体の輝度分布から求めた露出値を補正する例が開示されている。
【0003】
また、特許文献1には、複数の顔を検出した場合に、最も大きい顔を補正対象とする例と、各々の顔の明るさに各々の顔の大きさに応じた重みを乗算した重み付け平均値を補正対象とする例とが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−72619号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、複数の画像を連続的に取得する場合の露出演算では、背景の明るさが同じであっても人物の有無や人物の顔の大きさなどによって個々の静止画像で露出量が変わることがある。上記の場合、個々の静止画像としては最適な露出量が得られるものの、これらの静止画像を1シーンとして鑑賞する場合には個々の静止画像の露出量が異なるので、シーン全体では露出が不安定に見えてしまうおそれがある。
【課題を解決するための手段】
【0006】
本発明の一側面である露出演算装置は、測光部と、目標設定部と、補正部と、演算部とを備える。測光部は、被写体からの光束を測光して第1測光値を求めるとともに、前記被写体のうちの一部の被写体に関する第2測光値を求める。目標設定部は、第2測光値に基づく所定の輝度値の範囲を第1測光値の目標範囲として設定する。補正部は、第1測光値を目標範囲に基づいて補正して第3測光値を求める。演算部は、補正部による第3測光値に基づいて、被写体からの光束に対する露出量を求める。そして、演算部は、1シーンとして鑑賞される複数の画像を連続的に取得する第1撮影モードのときには第1測光値に基づいて露出量を求める。また、演算部は、第1撮影モードと異なる第2撮影モードのときには第3測光値に基づいて露出量を求める。
【0007】
例えば、上記の第1撮影モードは、1シーンの期間において一定の時間間隔で取得された所定枚数の画像を動画として記録する撮影モードであってもよい。また、上記の第1撮影モードは、1シーンの期間において一定の時間間隔で取得された所定枚数の静止画像をそれぞれ個別に記録する撮影モードであってもよい。
【0008】
なお、上記の露出演算装置を備えるカメラも、本発明の具体的態様として有効である。
【発明の効果】
【0009】
本発明によれば、1シーンとして鑑賞される複数の画像を連続的に取得する撮影モードでは、シーン全体で適正となる露出を得ることができる。
【図面の簡単な説明】
【0010】
【図1】一の実施形態における電子カメラの構成例を説明するブロック図
【図2】一の実施形態の電子カメラにおける撮影モードの動作例を示す流れ図
【図3】撮影画面内におけるブロックの分割例を示す図
【図4】図2のS104でのBvObj[i]の値の求め方を模式的に示す図
【図5】顔領域に対して輝度値BvObj[i]を求める範囲の例を示す図
【図6】顔領域の分割測光の例を示す図
【図7】複数の顔が検出された場合を示す図
【図8】図2のS105における補正演算サブルーチン1での動作例を示す流れ図
【図9】図8のS205における補正演算サブルーチン2での動作例を示す流れ図
【図10】一の実施形態での目標範囲と露出量との関係を示す説明図
【図11】主要被写体が人物のときの重み付け係数WtWdの関数の一例を示す図
【図12】主要被写体が人物のときの上限値および下限値を求める関数の一例を示す図
【図13】他の実施形態における電子カメラの構成例を説明する図
【図14】他の実施形態の電子カメラにおける撮影モードの動作の一例を示す流れ図
【発明を実施するための形態】
【0011】
<一の実施形態の説明>
図1は一の実施形態における電子カメラの構成例を説明するブロック図である。一の実施形態は、いわゆるレンズ一体型の電子カメラに露出演算装置を組み込んだ例を示している。
【0012】
一の実施形態の電子カメラは、撮像光学系11およびレンズ駆動部12と、絞り13および絞り駆動部14と、撮像素子15と、AFE16と、CPU17と、第1メモリ18と、記録I/F(インターフェース)19と、モニタ20と、レリーズ釦21および操作部材22と、第2メモリ23とを有している。ここで、レンズ駆動部12、絞り駆動部14、撮像素子15、AFE16、第1メモリ18、記録I/F19、モニタ20、レリーズ釦21、操作部材22および第2メモリ23は、それぞれCPU17に接続されている。
【0013】
撮像光学系11は、ズームレンズ、焦点調節のためのフォーカシングレンズを含む複数のレンズ群で構成されている。撮像光学系11のレンズ位置は、レンズ駆動部12によって光軸方向に調整される。なお、簡単のため、図1では撮像光学系11を1枚のレンズとして図示する。また、絞り13は、撮像素子15に入射する単位時間当たりの光量を調節する。この絞り13の開口量は、CPU17の指示に応じて絞り駆動部14が調整する。
【0014】
撮像素子15は、撮像光学系11および絞り13を通過した光束による被写体像を光電変換してアナログの画像信号を生成する。この撮像素子15の出力はAFE16に接続されている。なお、撮像素子15の電荷蓄積時間および信号読みだしは、いずれもCPU17によって制御される。
【0015】
ここで、電子カメラの撮影モードにおいて、撮像素子15はレリーズ釦21の全押し操作に応答して記録用の静止画像(本画像)を撮像する。また、撮影モードでの撮像素子15は、撮影待機時にも所定間隔毎に観測用の画像(スルー画像)を連続的に撮像する。ここで、時系列に取得されたスルー画像のデータは、モニタ20での動画像表示やCPU17による各種の演算処理に使用される。
【0016】
AFE16は、撮像素子15の出力に対してアナログ信号処理を施すアナログフロントエンド回路である。このAFE16は、相関二重サンプリングや、画像信号の増幅や、画像信号のA/D変換を行う。このAFE16から出力される画像信号はCPU17に入力される。なお、CPU17は、AFE16において画像信号のゲインを調整することで、ISO感度に相当する撮像感度を調整できる。
【0017】
CPU17は、電子カメラの動作を統括的に制御するプロセッサである。このCPU17は、第2メモリ23に格納されたプログラムの実行により、画像処理部24、顔検出部25、焦点調節部26および露出演算部27として機能する。
【0018】
画像処理部24は、デジタルの画像信号に対して各種の画像処理(色補間処理、階調変換処理、輪郭強調処理、ホワイトバランス調整など)を施す。また、画像処理部24は、スルー画像に解像度変換を施して、モニタ表示用のビュー画像を生成する。なお、画像処理部24は、入力された画像のデータに基づいて、ホワイトバランス調整で適用するホワイトバランス調整値を求めることもできる。
【0019】
顔検出部25は、スルー画像のデータに顔検出処理を施して、撮影画面内の人物の顔領域を検出する。この顔検出処理は公知のアルゴリズムによって行われる。一例として、顔検出部25は、公知の特徴点抽出処理によって、眉,目,鼻,唇の各端点などの特徴点を画像から抽出するとともに、これらの特徴点に基づいて撮影画面内の顔領域の位置を特定する。あるいは、顔検出部25は、予め用意された顔画像と判定対象の画像との相関係数を求め、この相関係数が一定の閾値を超えるときに判定対象の画像を顔領域と判定してもよい。
【0020】
焦点調節部26は、スルー画像のデータを用いて、公知のコントラスト検出によるオートフォーカス(AF)制御を実行する。
【0021】
露出演算部27は、スルー画像のデータを用いて露出演算を実行するとともに、この露出演算によって求めた露出量に応じて電子カメラの露出制御を実行する。
【0022】
第1メモリ18は、画像処理部24による画像処理の前工程や後工程で画像のデータを一時的に記憶するバッファメモリである。この第1メモリ18は揮発性の記憶媒体であるSDRAMにより構成される。
【0023】
記録I/F19には、不揮発性の記憶媒体28を接続するためのコネクタが形成されている。そして、記録I/F19は、コネクタに接続された記憶媒体28に対してデータの書き込み/読み込みを実行する。上記の記憶媒体28は、ハードディスクや、半導体メモリを内蔵したメモリカードなどで構成される。なお、図1では記憶媒体28の一例としてメモリカードを図示する。
【0024】
モニタ20は、CPU17の指示に応じて各種画像を表示する。例えば、撮影モードでの撮影待機時において、モニタ20にはCPU17の制御により上記のビュー画像が動画表示される。
【0025】
レリーズ釦21は、全押し操作による撮像動作開始の指示入力をユーザーから受け付ける。また、操作部材22は、例えば、コマンドダイヤル、十字状のカーソルキー、決定釦などで構成される。この操作部材22は、動作モードの切替操作などの各種入力をユーザーから受け付ける。
【0026】
第2メモリ23はフラッシュメモリ等の不揮発性の記憶媒体で構成される。この第2メモリ23には、CPU17によって実行されるプログラムが記憶される。なお、このプログラムによる撮影モードでの露出演算処理の例については後述する。
【0027】
(撮影モードの動作例)
次に、図2の流れ図を参照しつつ、一の実施形態の電子カメラにおける撮影モードの動作例を説明する。この撮影モードの動作は、撮影モードの起動操作(例えば電源オン操作やモード切替操作など)をCPU17がユーザーから受け付けたときに開始される。なお、図2に示す撮影モードでは、人物の顔を主要被写体として露出制御を行う例を説明する。
【0028】
ステップS101:CPU17は、撮像素子15を駆動させてスルー画像を取得する。なお、画像処理部24は上記のスルー画像の出力を用いてホワイトバランス調整値を求めるとともに、焦点検出部45は上記のスルー画像の出力を用いてAF制御を実行する(図2の例では、ホワイトバランス調整値の演算やAF制御はバックグラウンドで実行されるものとして、詳細な説明は省略する)。
【0029】
ステップS102:露出演算部27は、スルー画像(S101で取得したもの)の出力を用いて、撮影画面内に含まれる被写体の分割測光を実行する。そして、露出演算部27は、分割測光の結果に基づいて、撮影画面内での被写体の明るさを代表する値(仮の代表輝度値PreBvAns)を求める。
【0030】
一例として、S102での露出演算部27は、スルー画像の全体(撮影画面)を複数のブロックに分割する(なお、撮影画面内におけるブロックの分割例を図3に示す)。次に、露出演算部27は、1つのブロックに含まれる複数の画素の出力値(階調値)を平均化し、各ブロックにおいて平均輝度値をそれぞれ求める。そして、露出演算部27は、各ブロックからそれぞれ求めた複数の平均輝度値を用いて、仮の代表輝度値PreBvAnsを求める。なお、複数ブロックの平均輝度値から仮の代表輝度値PreBvAnsを求める演算は、例えば、特開2006−106617号公報などに開示された公知の手法によって行われる。
【0031】
ステップS103:露出演算部27は、1シーンとして鑑賞される複数の画像を連続的に取得する第1撮影モードが選択されているか否かを判定する。上記要件を満たす場合(YES側)にはS107に処理が移行する。一方、上記要件を満たさない場合(第1撮影モードと異なる第2撮影モードの場合:NO側)にはS104に処理が移行する。
【0032】
ここで、上記の第1撮影モードとしては、例えば、「ストップモーション撮影モード」、「インターバルタイマー撮影モード」が該当する。
【0033】
ストップモーション撮影モードは、1シーンの期間において一定の時間間隔で取得された所定枚数の画像を動画として記録する撮影モードである。ストップモーション撮影モードでのCPU17は、1シーン分の複数の静止画像を1つの動画像ファイルとして記録する。
【0034】
インターバルタイマー撮影モードは、1シーンの期間において一定の時間間隔で取得された所定枚数の静止画像をそれぞれ個別に記録する撮影モードである。インターバルタイマー撮影モードでのCPU17は、1シーン分の複数の静止画像をそれぞれ個別に静止画像ファイルとして記録する。
【0035】
ステップS104:顔検出部25は、スルー画像(S101で取得したもの)の出力を用いて、撮影画面内から人物の顔領域の位置を検出する。複数の顔が検出された場合、顔検出部25は、露出決定において重要度の高い順番に顔領域をナンバリングする。一例として、顔検出部25は、(I)顔領域の大きさ、(II)撮影画面の中心と顔領域との距離、(III)測距領域(AFエリア)と顔領域との距離、(IV)顔検出演算での信頼度、の各評価値を加算し、これらの評価値の総合評価で個々の顔領域の重要度を決定すればよい。
【0036】
このとき、上記(I)では顔領域が大きいほど、顔領域の重要度は高くなる。上記(II)では顔領域が撮影画面の中心から近いほど、顔領域の重要度は高くなる。上記(III)では測距領域から顔領域が近いほど、顔領域の重要度は高くなる。上記(IV)では、顔検出演算での信頼度が高いほど、顔領域の重要度は高くなる。
【0037】
そして、露出演算部27は、顔検出部25が検出した顔領域の位置に基づいて、撮影画面内の一部の被写体である主要被写体(顔)の輝度値BvObj[i]を求める。ここで、「i」は上記した重要度の高い順番にナンバリングされた顔の番号を示す引数である。なお、図7の例では、撮影画面内で複数の顔(2つ)が検出された場合において、個々の顔領域に対応する輝度値BvObj[i]がそれぞれ求められている。
【0038】
ここで、S104での露出演算部27は、撮影画面内から顔領域が検出された場合、例えば、以下の(イ)から(へ)のいずれかの手法で顔領域ごとに被写体の輝度値BvObj[i]をそれぞれ求める。
【0039】
(イ)露出演算部27は、スルー画像のうちで顔領域に含まれる複数の画素をグループ化するとともに、このグループ化された複数の画素の平均輝度値を主要被写体の輝度値BvObj[i]とする(図4(a)参照)。
【0040】
(ロ)露出演算部27は、撮影画面を分割したブロック(S102)のうちで顔領域と重複するブロックを抽出し、この抽出したブロックの平均輝度値をさらに平均化して主要被写体の輝度値BvObj[i]を求めてもよい(図4(b)参照)。例えば、図4(b)の場合であれば、露出演算部27は、顔領域と重複する4つのブロックの平均輝度値から主要被写体の輝度値BvObj[i]を求める。
【0041】
(ハ)主要被写体と背景との輝度が極端に異なる場合(例えば逆光や過順光のシーンなど)において、顔領域よりも広い領域(図5(a)、図5(b)の領域FA0)から輝度値BvObj[i]を求めると、背景の影響を受けて適正な顔の輝度を求められないケースがある。
【0042】
そこで、露出演算部27は、人物の顔の輪郭に内接する領域(図5(a)に示す領域FA1)から輝度値BvObj[i]を求めるようにしてもよい。あるいは、露出演算部27は、人物の顔の輪郭に外接する領域よりもサイズが小さい領域(図5(b)に示す領域FA2)から輝度値BvObj[i]を求めるようにしてもよい。
【0043】
ここで、図5(b)では、領域FA2の重心が領域FA0の重心と重なって配置される例を示す。もっとも、髪の影響を受けにくくするために領域FA2の重心を領域FA0の重心よりも下側にずらしてもよい(この場合の図示は省略する)。また、図5(b)では、領域FA2のサイズが領域FA0の縦横1/2のサイズに設定された例を示す。もっとも、上記の領域FA2のサイズは背景の影響を受けない範囲で適宜設定できる。
【0044】
(ニ)顔領域内の輝度差が大きい場合(例えば顔の半分に光が当たり、顔の半分が暗くなっている半逆光のシーンなど)には、顔領域の平均輝度値に基づいて輝度値BvObjを求めると、顔の明るい部分が白トビするおそれもある。そこで、露出演算部27は、主要被写体の顔を複数の領域に分割して測光し、複数の領域のそれぞれに対して得られる複数の測光値に基づいて輝度値BvObj[i]を求めてもよい。
【0045】
一例として、露出演算部27は、図6に示すように縦横に2×2となるように顔領域を4分割する。そして、露出演算部27は、以下の式(1)により各分割領域(FA41−FA44)の測光値のうちの最大値を輝度値BvObjとしてもよい。
BvObj[i]=Max(BvFA41,BvFA42,BvFA43,BvFA44)…(1)
ここで、本明細書において、「BvFA41−44」は、それぞれ顔領域の分割領域(FA41−44)の平均輝度値を示している。また、本明細書において、「Max(A,B)」は、A,Bのうちの最大値を返す関数を意味する。
【0046】
(ホ)また、上記(ニ)の別例として、露出演算部27は、各領域(FA41−FA44)を縦横で4つにグループ化し、4つのグループのそれぞれで得た測光値のうちの最大値を輝度値BvObj[i]としてもよい。具体的には、露出演算部27は、以下の式(2)から式(6)の演算を順次行えばよい。
BvFaceUp=(BvFA41+BvFA42)/2…(2)
BvFaceDown=(BvFA43+BvFA44)/2…(3)
BvFaceLeft=(BvFA41+BvFA43)/2…(4)
BvFaceRight=(BvFA42+BvFA44)/2…(5)
BvObj[i]=Max(BvFaceUp,BvFaceDown,BvFaceLeft,BvFaceRight)…(6)
(ヘ)また、上記(ニ)の別例として、露出演算部27は、各領域の輝度値(BvFA41−44)を重み付け平均して輝度値BvObj[i]を求めてもよい。
【0047】
例えば、露出演算部27は、以下の式(7)において、BvFA41−44を大きい順にBvX[1]−BvX[4]として代入し、輝度値BvObj[i]を求めればよい。
BvObj[i]=Σ(BvX[j]×Wt[j])…(7)
ここで、上記の式(7)での「j」は1−4の整数をとるものとする。また、式(7)での「Σ()」は、変数jによる積和演算結果を返す関数である。また、式(7)の「Wt[j]」は所定の重み付け係数である。一例として、一の実施形態では、Wt[1]=0.6,Wt[2]=0.3,Wt[3]=0.1,Wt[4]=0に設定されるが、各重み付け係数は上記の例に限定されることはない。
【0048】
なお、露出演算部27は、上記の式(7)において、BvFaceUp,BvFaceDown,BvFaceLeft,BvFaceRight(式(2)−(5)で求めた各グループの測光値)を大きい順にBvX[1]−BvX[4]として代入し、輝度値BvObj[i]を求めるようにしてもよい。
【0049】
ステップS105:露出演算部27は、補正演算サブルーチン1を実行する(補正演算サブルーチン1の内容については後述する)。この補正演算サブルーチン1では、主要被写体の輝度値BvObj[i](S104で求めたもの)に基づいて、露出演算部27が補正後の代表輝度値BvAnsを求める。
【0050】
但し、顔領域が1つも検出されなかった場合、S105での露出演算部27は、仮の代表輝度値PreBvAnsを補正後の代表輝度値BvAnsとする(BvAns=PreBvAns)。
【0051】
ステップS106:露出演算部27は、補正後の代表輝度値BvAnsに基づいて公知の露出演算により露出量を演算するとともに、この露出量に基づいて露出制御(シャッタ秒時、絞り値などの各パラメータ調整)を行う。S106の処理後には、S108に処理が移行する。
【0052】
ステップS107:露出演算部27は、仮の代表輝度値PreBvAns(S102で求めたもの)から補正後の代表輝度値BvAnsを求める。
BvAns=PreBvAns …(8)
そして、S107での露出演算部27は、補正後の代表輝度値BvAnsに基づいて公知の露出演算により露出量を演算するとともに、この露出量に基づいて露出制御(シャッタ秒時、絞り値などの各パラメータ調整)を行う。
【0053】
ステップS108:CPU17は上記のスルー画像(S101で取得したもの)から生成したビュー画像をモニタ20に表示する。これにより、ユーザーは、モニタ20のビュー画像を参照して、撮影構図を決定するためのフレーミングを行うことができる。このとき、CPU17は、S104で検出し、補正演算サブルーチン1で選択された顔領域の位置を示す表示をビュー画像にオーバーレイさせてもよい(ビュー画像の表示例の図示は省略する)。
【0054】
ステップS109:CPU17は、撮影開始タイミングか否かを判定する。例えば、第2撮影モードにおいて、撮影開始タイミングはレリーズ釦21が全押しされた時である。または第1撮影モードにおいて、撮影開始タイミングは、レリーズ釦21の全押しから所定期間または所定回数撮影動作を行うまでの期間の後、所定時間間隔毎を指す。
【0055】
上記要件を満たす場合(YES側)にはS110に処理が移行する。一方、上記要件を満たさない場合(NO側)には、CPU17はS101に戻って上記動作を繰り返す。S109でのNO側の場合には、CPU17はS106(またはS107)で求めた露出量に基づきスルー画像を撮像する。そして、モニタ20には、CPU17の制御によりビュー画像が動画表示されることとなる。
【0056】
ステップS110:CPU17は、S106(またはS107)で求めた露出量に基づいて、本画像の撮像処理を実行する。撮像素子15によって撮像された本画像のデータは、AFE16および画像処理部24で所定の処理が施された後に、記録I/F19を介して記憶媒体28に記録される。
【0057】
ここで、ストップモーション撮影モードでは、CPU17の制御により、1シーン分の複数の静止画像が1つの動画像ファイルとして記録される。また、インターバルタイマー撮影モードでのCPU17は、1シーン分の複数の静止画像をそれぞれ個別に静止画像ファイルとして記録する。また、第2撮影モードの場合も、CPU17は複数の静止画像をそれぞれ個別に静止画像ファイルとして記録する。
【0058】
以上で、図2に示す撮影モードの動作例の説明を終了する。
【0059】
(補正演算サブルーチン1の説明)
次に、図8の流れ図を参照しつつ、図2のS105における補正演算サブルーチンでの動作例を説明する。
【0060】
ステップS201:露出演算部27は、カメラの状態が所定の条件を満たすか否か判定する。上記要件を満たす場合(YES側)にはS202に処理が移行する。一方、上記要件を満たさない場合(NO側)にはS203に処理が移行する。
【0061】
ここで、S201での露出演算部27は、例えば、以下の条件1〜3のいずれかを満たすか否かを判定する。
【0062】
(条件1)露出演算が繰り返し行われる状態(図2のステップ101〜109が繰り返し行われる状態)において、初回の露出演算である場合。つまり、比較すべき前回の代表輝度値が存在しない場合である。例えば、電源起動直後の場合や、公知の中央部重点測光やスポット測光から多分割測光モードへ測光モードを切り替えた直後の場合などが、条件1に該当する。
【0063】
(条件2)前回の露出演算において顔が検出されなかった場合。つまり、後述する前回の代表輝度値PastBvが正しく算出されていない場合である。
【0064】
(条件3)焦点調節部26が撮影画面内に複数の測距領域を持つときに、ユーザーによって任意の測距領域が手動で指定されている場合。つまり、ユーザーが意図を持ってある顔にピントを合わせようとしている場合である。上記の場合には、複数の顔のうちで指定された測距領域の顔が主要な顔であり、露出も主要な顔に基づいて決定されるべきである。よって、条件3の場合には、露出演算部27は後述の露出の安定化処理を行わずに、ユーザーの意図せぬ顔に露出を合わせ続けることを回避する。
【0065】
但し、測距領域が手動で指定されていてもフォーカシングレンズの駆動が禁止されている場合(フォーカスロック中)には、露出演算部27は露出を安定させるために条件3を満たさないものと判定する。
【0066】
ステップS202:露出演算部27は、補正演算の対象となる顔の数を示す変数nの値を1にする(n=1)。つまり、S201の所定の条件を満たす場合には、複数の顔が検出されても重要度の最も高い1つの顔のみが補正演算の対象となる。なお、S202の処理後には、S204に処理が移行する。
【0067】
ステップS203:露出演算部27は、上記の変数nに補正対象となる顔の数を代入する。例えば、顔が5つ検出された場合、S203での露出演算部27は、n=5とすればよい。
【0068】
また、補正演算の対象に重要度の低い顔を含めることは不適当である。そのため、撮影画面内で顔が複数検出された場合に、露出演算部27は、顔領域の重要度に応じて補正演算の対象となる顔の数を絞り込むようにしてもよい。例えば、露出演算部27は、変数nの値に上限値を設定し(例えばn=3など)、n以上の顔が検出された場合には重要度の高い順にn個まで補正演算の対象となる顔を決定すればよい。
【0069】
ステップS204:露出演算部27は、変数iに1を代入して初期化する(i=1)。
【0070】
ステップS205:露出演算部27は、i番目の顔を補正対象として補正演算サブルーチン2を実行する(補正演算サブルーチン2の内容については後述する)。この補正演算サブルーチン2では、主要被写体の輝度値BvObj[i](S104で求めたもの)に基づいて、露出演算部27が補正対象の顔毎に輝度補正値dBvObj[i]を求める。
【0071】
逆光や過順光などのように主要被写体と背景との輝度が極端に異なる場合、仮の代表輝度値PreBvAnsから直接に露出量を求めると、主要被写体の露出が暗すぎたり明るすぎたりする場合がある。そのため、一の実施形態では、輝度補正量dBvObj[i]によって、主要被写体と背景とのバランスが適正な露出量となるように輝度値を補正する。
【0072】
ステップS206:露出演算部27は、i番目の顔に基づく仮の補正後代表輝度値TempBv[i]を次式に基づいて求める。
TempBv[i]=PreBvAns+dBvObj[i] …(9)
ステップS207:露出演算部27は、現在の変数iの値がnに等しいか(i=n)否かを判定する。i=nの場合は、全ての補正対象の顔についてS205の輝度補正量dBvObj[i]が求められている状態である。上記要件を満たす場合(YES側)にはS209に処理が移行する。一方、上記要件を満たさない場合(NO側)にはS208に処理が移行する。
【0073】
ステップS208:露出演算部27は、iの値をインクリメントし(i=i+1)、ステップS205へ処理を戻す。S205からS208のループにより、全ての補正対象の顔について、仮の補正後代表輝度値TempBv[i]がそれぞれ求められる。
【0074】
ステップS209:露出演算部27は、補正対象である顔の数nが1か(n=1)否かを判定する。上記要件を満たす場合(YES側)にはS210に処理が移行する。一方、上記要件を満たさない場合(NO側)にはS211に処理が移行する。
【0075】
ステップS210:露出演算部27は、露出演算で使用される顔番号を示す変数(選択顔番号Sel)に1を代入する。
【0076】
ステップS211:露出演算部27は、全ての補正対象の顔についてABS(TempBv[i]−PastBv)を演算する。そして、露出演算部27は、ABS(TempBv[i]−PastBv)が最小値となるiを選択顔番号Selに代入する。なお、ABS(TempBv[i]−PastBv)の最小値をとるiが複数存在する場合は、iの値自体が最も小さくなる(つまり重要度がより高い)iをSelに代入すればよい。
【0077】
ここで、「ABS()」は()内の数値の絶対値を返す関数である。また、「PastBv」は前回の代表輝度値であって、その算出方法については後述する。
【0078】
ステップS212:露出演算部27は、選択顔番号Selに対応する仮の補正後代表輝度値TempBv[i]を、補正後の代表輝度値BvAnsに代入する(BvAns=TempBv[Sel])。
【0079】
ステップS213:露出演算部27は、代表輝度値BvAnsを前回の代表輝度値PastBvに代入して、PastBvを更新する(PastBv=BvAns)。これにより、繰り返し露出演算を行う場合において、次回の露出演算では今回の代表輝度値BvAnsを用いてS211の演算が行われることとなる。以上で、図8の流れ図の説明を終了する。
【0080】
(補正演算サブルーチン2の説明)
次に、図9の流れ図を参照しつつ、図8のS205における補正演算サブルーチン2での動作例を説明する。
【0081】
ステップS301:露出演算部27は、主要被写体の輝度値BvObj(S104で求めたもの)を用いて、下式(10)により輝度目標値BvTrgtを求める。
BvTrgt=BvObj−OfsObj …(10)
ここで、本明細書において「OfsObj」は、主要被写体の種類ごとに予め設定されているオフセット値を意味する。このOfsObjの値は、本画像でのグレーレベルの出力値と、本画像において主要被写体の再現目標となる出力値との差分から求められる。
【0082】
カメラの自動露出演算においては、主要被写体と同じ輝度を有する無彩色の被写体を撮影する場合、原則として上記の無彩色の被写体が本画像にてグレーレベルで再現されるように露出量が演算される。一方、主要被写体の種類によっては、本画像での再現目標の出力値をグレーレベルからシフトさせた方が好ましい場合もある。一例として、主要被写体が人物の顔であれば、本画像での再現目標の出力値をグレーレベルよりもやや明るめの値にする方が好ましい画像となる。そのため、S301での露出演算部27は、OfsObjを用いて主要被写体の種類毎に輝度値の調整を行っている。
【0083】
以下、主要被写体が人物の顔である場合のOfsObjの演算例を説明する。なお、一の実施形態では、本画像の階調が8bit(出力値0〜255)であることを前提として説明を行う。
【0084】
この例では、グレーレベルの出力値を120とし、本画像での顔の再現目標の出力値を150とする。よって、この場合のOfsObjは、本画像において顔の出力値を120から150に明るくするための補正量となる。なお、露出演算では被写体の輝度値が小さくなるほどオーバー側の露出量となることから、上記の式(10)ではBvObjの値からOfsObjの値を減算して輝度値を小さくしている。
【0085】
また、本画像での出力値は、画像処理部24での階調変換処理によって、撮像素子15の出力レベルに対して非線形な状態に変換されている。したがって、露出演算部27は、本画像での出力値に逆階調変換処理を施した状態で出力値を比較することで、OfsObjの値を求めることができる。なお、人物の顔が主要被写体の場合でのOfsObjの値は、下式(11)によって求められる。
OfsObj=Log2(RvG(150)/RvG(120)) …(11)
ここで、本明細書において「Log2(A)」は、2を底とするAの対数を返す関数を意味する。また、本明細書において「RvG(B)」は、逆階調変換に相当する関数であって、本画像での出力値を示すBに対して階調変換前の入力値を返す関数を意味する。
【0086】
なお、S301での他の例として、主要被写体が青空である場合のOfsObjの演算例を説明する。本画像での青空の再現目標の出力値を175とすると、この場合のOfsObjの値は、下式(12)で求めることができる。
OfsObj=Log2(RvG(175)/RvG(120)) …(12)
ステップS302:露出演算部27は、輝度目標値BvTrgt(S201で求めたもの)に基づいて、輝度値の目標範囲を設定する。具体的には、S302の露出演算部27は、下式(13)によって目標範囲の上限値BvUpperを求めるとともに、下式(14)によって目標範囲の下限値BvLowerを求める。
BvUpper=BvTrgt+BvSth1 …(13)
BvLower=BvTrgt+BvSth2 …(14)
ここで、「BvSth1」と「BvSth2」とは、それぞれ主要被写体の種類ごとに設定される値である。したがって、S302で設定される輝度値の目標範囲の幅は、主要被写体の種類に応じて変化しうる。
【0087】
S302において、輝度値の目標範囲を設定するのは以下の理由による。主要被写体(人物の顔)と背景との輝度が極端に異なるシーン(例えば逆光や過順光の場合など)では、顔の輝度に基づいて露出量を決定すると、背景部分に白トビや黒つぶれが生じて撮影した画像の見映えが不自然となってしまう。
【0088】
一方、上記のシーンでは、背景とのバランスを考慮して主要被写体の明るさを決定した方が画像全体としてはむしろ自然な露出になる。したがって、露出演算部27は、BvUpperおよびBvLowerによって目標とする輝度値に幅をもたせることで、輝度差の大きなシーンに対応できるようにしている。
【0089】
例えば、逆光のシーンにおける本画像での人物の顔の出力値は110でもよい。そのため、人物の顔が主要被写体の場合でのBvSth1の値は下式(15)で求めることができる。同様に、過順光のシーンにおける人物の顔の出力値は180でもよい。そのため、人物の顔が主要被写体の場合でのBvSth2の値は、下式(16)で求めることができる。
BvSth1=Log2(RvG(150)/RvG(110)) …(15)
BvSth2=Log2(RvG(150)/RvG(180)) …(16)
ここで、図10を参照しつつ、目標範囲と露出量との関係について説明する。上記の式(15)で求めたBvSth1は、BvTrgtに対してプラスの補正値となって、BvUpperの値はBvTrgtよりも大きくなる。そして、BvUpperに基づいて露出量を求めると、BvTrgtに基づく露出量よりも露出がアンダー側になる。これにより、BvUpperに基づく露出量で本画像を撮影すると、本画像での顔の出力値は上記の再現目標よりも低い値となる。
【0090】
一方、上記の式(16)で求めたBvSth2は、BvTrgtに対してマイナスの補正値となって、BvLowerの値はBvTrgtよりも小さくなる。そして、BvLowerに基づいて露出量を求めると、BvTrgtに基づく露出量よりも露出がオーバー側になる。これにより、BvLowerに基づく露出量で本画像を撮影すると、本画像での顔の出力値は上記の再現目標よりも高い値となる。
【0091】
なお、S302での他の例として、主要被写体が青空である場合のBvSth1およびBvSth2の演算例を説明する。本画像で青空が再現目標である場合の出力値の幅を100〜200とすると、この場合のBvSth1の値は下式(17)で求めることができる。また、この場合のBvSth2の値は下式(18)で求めることができる。
BvSth1=Log2(RvG(175)/RvG(100)) …(17)
BvSth2=Log2(RvG(175)/RvG(200)) …(18)
ところで、上記の例では、逆光のシーンにおける本画像での人物の顔の出力は、背景とのバランスを考慮して110でもよいと説明した。しかし、撮影画面に対する人物の顔の面積比(人物の顔の大きさ)が大きい場合には、顔の明るさが本画像の明るさの印象を決めることとなる。逆に、撮影画面に対する人物の顔の面積比が小さい場合には、背景の明るさが本画像の明るさの印象を決めることとなる。そのため、露出演算部27は、撮影画面に対する主要被写体の面積比に応じて輝度値の目標範囲の幅を調整してもよい。この場合において、露出演算部27は、上記のBvSth1およびBvSth2にそれぞれ重み付けをした値(BvSth1’,BvSth2’)を以下の式(19)、式(20)で求める。そして、露出演算部27は、BvSth1’,BvSth2’を用いてBvUpperおよびBvLowerをそれぞれ求めればよい。
BvSth1’=BvSth1×WtWd …(19)
BvSth2’=BvSth2×WtWd …(20)
ここで、式(19)、式(20)の「WtWd」は、目標範囲の幅の重み付け係数を示している。上記の重み付け係数WtWdの値は、撮影画面に対する主要被写体の面積比に依存した関数により露出演算部27が決定する。この重み付け係数WtWdは、撮影画面に対する主要被写体の面積比が小さい場合には大きな値となり、撮影画面に対する主要被写体の面積比が大きい場合には小さな値となる。
【0092】
ここで、図11は、主要被写体が人物のときの重み付け係数WtWdの関数の一例を示している。図11の縦軸は、WtWdの値を示し、図11の横軸は撮影画面に対する主要被写体の面積比を示している。
【0093】
図11の例では、上記の面積比が5%以下のときに、WtWdの値は1.0となる。また、上記の面積比が5%より大きく50%未満の範囲では、WtWdの値は面積比の大きさに比例して低下してゆく。そして、上記の面積比が50%以上のときに、WtWdの値は0.0となる。
【0094】
すなわち、撮影画面に対する主要被写体の面積比が小さい場合には、BvSth1’およびBvSth2’の値は大きくなるので、輝度値の目標範囲の幅は大きくなる。一方、撮影画面に対する主要被写体の面積比が大きい場合には、BvSth1’およびBvSth2’の値は小さくなるので、輝度値の目標範囲の幅は小さくなる。
【0095】
また、撮影画面内で複数の主要被写体が検出された場合には、露出演算部27は、複数の主要被写体のうちで最もサイズの大きな被写体に基づいて上記の面積比を決定し、BvSth1’およびBvSth2’を用いて輝度値の目標範囲の幅を求めてもよい。あるいは、露出演算部27は、複数の主要被写体の大きさを合計した値で上記の面積比を決定し、BvSth1’およびBvSth2’を用いて輝度値の目標範囲の幅を求めてもよい。なお、図9に示す重み付け係数WtWdの関数はあくまで一例であり、重み付け係数WtWdの関数を主要被写体の種類に応じて変更するようにしてもよい。
【0096】
ステップS303:露出演算部27は、PreBvAnsがBvUpperよりも大きいか否かを判定する。上記要件を満たす場合(YES側)にはS307に処理が移行する。一方、上記要件を満たさない場合(NO側)にはS304に処理が移行する。
【0097】
ステップS304:露出演算部27は、PreBvAnsがBvLowerよりも小さいか否かを判定する。上記要件を満たす場合(YES側)にはS306に処理が移行する。一方、上記要件を満たさない場合(NO側)にはS305に処理が移行する。
【0098】
ステップS305:この場合は、仮の代表輝度値PreBvAnsから求めた露出量で本画像の撮影を行うと、本画像での顔の出力値は110から180の範囲に収まると予想できる。そのため、露出演算部27は、dBvOBjを求めるときの仮補正量dBvTrgtToAnsに「0」値を代入する。なお、S305の後にはS308へ処理が移行する。
【0099】
ステップS306:この場合は、仮の代表輝度値PreBvAnsから求めた露出量で本画像の撮影を行うと、本画像での顔の出力値は180よりも高くなると予想できる。そのため、露出演算部27は、本画像での顔の出力値を180にするために、仮補正量dBvTrgtToAnsの値を下式(21)によって求める。
dBvTrgtToAns=BvLower−PreBvAns …(21)
このS306の場合のdBvTrgtToAnsは、輝度値を大きくする補正量に相当する。輝度値を大きくする方向に補正すると露出演算のときに露出量はアンダー側となるため、本画像では明るい顔が暗めに補正されることとなる。なお、S306の後にはS308へ処理が移行する。
【0100】
ステップS307:この場合は、仮の代表輝度値PreBvAnsから求めた露出量で本画像の撮影を行うと、本画像での顔の出力値は110よりも低くなると予想できる。そのため、露出演算部27は、本画像での顔の出力値を110にするために、仮補正量dBvTrgtToAnsの値を下式(22)によって求める。
dBvTrgtToAns=BvUpper−PreBvAns …(22)
このS307の場合のdBvTrgtToAnsは、輝度値を小さくする補正量に相当する。輝度値を小さくする方向に補正すると露出演算のときに露出量はオーバー側となるため、本画像では暗めの顔が明るく補正されることとなる。
【0101】
ステップS308:露出演算部27は、仮補正量dBvTrgtToAns(S305、S306、S307のいずれかで求めたもの)を所定の制限値の範囲に制限して、輝度補正量dBvObj[i]を求める。例えば、S308での露出演算部27は、以下の式(23)によって輝度補正量dBvObj[i]を求める。
dBvObj[i]=Clip(dBvTrgtToAns) …(23)
ここで、式(23)の「Clip(A)」は、Aの値が制限値の範囲内にあるときにはAの値を返し、Aの値が制限値の範囲を超えるときには制限値を返す関数を意味する。なお、「Clip(A)」での制限値には上限値と下限値とを設定できる。この場合、「Clip(A)」でAの値が上限値を上回る場合は、入力されたAの値は上限値に置換される。また、「Clip(A)」でAの値が下限値を下回る場合は、入力されたAの値は下限値に置換される。
【0102】
S308においてdBvTrgtToAnsの値を制限するのは以下の理由による。主要被写体(人物の顔)と背景との輝度が極端に異なるシーンでは、本画像での顔の出力値を目標範囲の上限や下限に合わせても、なお背景部分に白トビや黒つぶれが生じる場合も起こりうる。そのため、S308での露出演算部27は、上記のケースを想定してdBvTrgtToAnsの値を所定の範囲内に制限している。
【0103】
一例として、人物の顔が主要被写体の場合、露出演算部27は、制限値の範囲を露出値に換算して−1から+1.5の範囲に設定する。本画像の白トビした画素では被写体の情報が完全に失われる一方で、黒つぶれの画素ではゲインを上げることで残されている被写体の情報を読み取れる場合もある。そのため、黒つぶれをある程度許容しつつも白トビを極力避ける観点から、一の実施形態では制限値が上記の範囲に設定されている。
【0104】
なお、露出演算部27は、上記の制限値の範囲を主要被写体の種類に応じて適宜調整してもよい。例えば、他の主要被写体の場合において、露出演算部27は、制限値の範囲を露出値に換算して−1から+1の範囲にしてもよく、あるいは−1から+2の範囲にしてもよい。
【0105】
また、S308での露出演算部27は、撮影画面に対する主要被写体の面積比(人物の顔の大きさ)に応じて、上記の上限値および下限値をそれぞれ変動させてもよい。上記の上限値および下限値は、撮影画面に対する主要被写体の面積比に依存した関数により露出演算部27が決定する。
【0106】
一例として、露出演算部27は、主要被写体の面積比が大きいほど上限値を大きくし、かつ下限値は小さくする。これにより、撮影画面に対する主要被写体の面積比が大きいほど制限値の幅が広がるので、dBvTrgtToAnsの値には制限がかかりにくくなる。一方で、露出演算部27は、主要被写体の面積比が小さいほど上限値を小さくし、かつ下限値は大きくする。これにより、撮影画面に対する主要被写体の面積比が小さいほど制限値の幅が狭まるので、dBvTrgtToAnsの値には制限がかかりやすくなる。
【0107】
ここで、図12は、主要被写体が人物のときの上限値および下限値を求める関数の一例を示している。図12の縦軸は、露出値に換算された制限値を示し、図12の横軸は撮影画面に対する主要被写体の面積比を示している。
【0108】
図12の例では、上記の面積比が5%以下のときに、上限値は1.5となり、下限値は−1.0となる。また、上記の面積比が5%より大きく50%未満の範囲では、上限値は面積比の大きさに比例して大きくなり、下限値は面積比の大きさに比例して小さくなる。そして、上記の面積比が50%以上のときに、上限値は5.0となり、下限値は−5.0となる。
【0109】
ここで、上記の面積比が50%以上の場合(上限値=5.0、下限値=−5.0)には、露出演算部27が主要被写体に合わせて露出を最大5段分まで補正できる。そのため、この場合には、背景が白トビまたは黒つぶれする確率が高くなり、実質的に補正を制限しないケースと同様となる。
【0110】
その後、露出演算部27は補正演算サブルーチン2を終了するとともに、図8に示すS206の処理に復帰する。以上で、図9の流れ図の説明を終了する。
【0111】
一の実施形態の電子カメラでは、露出演算部27が、検出された複数の顔に基づいて、補正された仮の代表輝度値(TempBv[i])を複数算出する(S205〜S208)。そして、露出演算部27は、補正された仮の代表輝度値のうちで前回の代表輝度値(PastBv)に最も近い値を今回の代表輝度値(BvAns)に設定する(S212、S213)。
【0112】
これにより、一の実施形態では、露出演算を繰り返し行うときに、主要被写体ではない人物の明るさの影響を受けて露出値が不安定になるおそれが低減する。例えば、主要被写体である人物の手前を別の人物が横切った状況では、主要被写体を撮影した前回の輝度代表値を基準として今回の代表輝度値が設定されるので、前回の撮影と今回の撮影との間で安定した露出を維持することができる。
【0113】
一の実施形態の電子カメラでは、カメラの状態が所定の条件(条件1〜3)を満たす場合には、露出演算部27は前回の露出演算に基づく露出の安定化処理を行わない(S201、S202)。そのため、ユーザーの意図しない顔に露出を合わせ続けることが回避される。
【0114】
また、一の実施形態の電子カメラでは、第1撮影モードが選択されている場合には、露出演算部27が、仮の代表輝度値PreBvAnsから補正後の代表輝度値BvAnsを求める(S103、S107)。
【0115】
これにより、一の実施形態では、1シーンとして鑑賞される複数の画像を連続的に取得する第1撮影モードにおいて顔による輝度値の補正が行われなくなる。そのため、第1撮影モードでは、人物の有無や人物の顔の大きさなどによって露出が画像ごとに変動しにくくなり、シーン全体で適正となる露出を得ることができる。
【0116】
なお、本実施形態では、第1撮影モードにおいて複数の画像を取得する間もステップS101からS109までの動作を繰り返し行っているが、消費電力を少なくするために、CPU17の不図示のタイマーが所定時刻になった時に図2の動作を開始するようにしても良い。
【0117】
<他の実施形態の説明>
図13は、他の実施形態における電子カメラの構成例を説明する図である。他の実施形態は、レンズ交換が可能な一眼レフレックス型の電子カメラに露出演算装置を組み込んだ例を示している。
【0118】
他の実施形態の電子カメラは、カメラ本体31と、撮像光学系を収納したレンズユニット32とを有している。ここで、カメラ本体31およびレンズユニット32には、一対のマウントがそれぞれ設けられている。レンズユニット32は、上記のマウントを介して、カメラ本体31に対して交換可能に接続される。また、上記のマウントにはそれぞれ電気接点が設けられており、カメラ本体31とレンズユニット32との接続時には両者の電気的な接続が確立する(図13でのマウントおよび電気接点の図示は省略する)。
【0119】
レンズユニット32は、フォーカシングレンズ33およびレンズドライバ34と、絞り35および絞りドライバ36と、レンズ内メモリ37とを内蔵している。フォーカシングレンズ33は、カメラ本体31からの指示に応じて、レンズドライバ34によって駆動される。また、絞り35は、カメラ本体31からの指示に応じて絞りドライバ36によって駆動される。また、レンズ内メモリ37は、レンズユニット32の情報を記憶したメモリである。なお、レンズ内メモリ37に記憶されている情報は、カメラ本体31に出力される。
【0120】
カメラ本体31は、メインミラー41と、メカニカルシャッタ42と、記録用撮像素子43と、サブミラー44と、焦点検出部45と、ファインダ光学系(51〜54)と、解析用撮像素子46と、マイコン47およびモニタ48とを有している。メインミラー41、メカニカルシャッタ42および記録用撮像素子43は、レンズユニット32の光軸に沿って配置される。メインミラー41の後方にはサブミラー44が配置される。また、カメラ本体31の上部にはファインダ光学系が配置されている。さらに、カメラ本体31の下部には焦点検出部45が配置されている。
【0121】
メインミラー41は、不図示の回動軸によって回動可能に軸支されており、観察状態と退避状態とを切り替え可能となっている。観察状態のメインミラー41は、メカニカルシャッタ42および記録用撮像素子43の前方で傾斜配置される。この観察状態のメインミラー41は、レンズユニット32を通過した光束を上方へ反射してファインダ光学系に導く。また、メインミラー41の中央部はハーフミラーとなっている。そして、メインミラー41を透過した一部の光束はサブミラー44によって下方に屈折されて焦点検出部45に導かれる。なお、焦点検出部45は、不図示のセパレータレンズで分割した被写体像の像ズレ量を検出し、この像ズレ量からフォーカシングレンズ33のデフォーカス量を求める。
【0122】
一方、退避状態のメインミラー41は、サブミラー44とともに上方に跳ね上げられて撮影光路から外れた位置にある。メインミラー41が退避状態にあるときは、レンズユニット32を通過した光束がメカニカルシャッタ42および記録用撮像素子43に導かれる。
【0123】
ファインダ光学系は、焦点板51と、コンデンサレンズ52と、ペンタプリズム53と、接眼レンズ54とを有している。焦点板51はメインミラー41の上方に位置し、観察状態のメインミラー41で反射された光束を一旦結像させる。焦点板51で結像した光束はコンデンサレンズ52およびペンタプリズム53を通過し、ペンタプリズム53の入射面に対して90°の角度を持った射出面から接眼レンズ54を介してユーザーの目に到達する。また、焦点板51で結像した光束の一部はコンデンサレンズ52およびペンタプリズム53を通過し、ペンタプリズム53の射出面近傍に配置された再結像レンズ55から解析用撮像素子46に入射する。
【0124】
ここで、他の実施形態の記録用撮像素子43は、メインミラー41が退避状態にあるときに、本画像やスルー画像の撮像を行う。また、解析用撮像素子46は、メインミラー41が観察状態にあるときにスルー画像の撮像を行う。なお、他の実施形態の解析用撮像素子46は、顔検出処理が可能な解像度でスルー画像を撮像することができる。
【0125】
マイコン47は、電子カメラの各部の動作を統括的に制御するプロセッサである。このマイコン47は、記録用撮像素子43または解析用撮像素子46の出力に対して画像処理を施す。また、マイコン47は、上記の一の実施形態における顔検出部および露出演算部と同様の機能を果たす。また、モニタ48は、マイコン47の制御によって各種の画像を表示する。
【0126】
(他の実施形態における撮影モードの動作例)
次に、図14の流れ図を参照しつつ、他の実施形態の電子カメラにおける撮影モードの動作の一例を説明する。図14に示す撮影モードの動作は、レリーズ釦(図13では不図示)の半押し操作によるAF動作開始の指示に応じてマイコン47が開始する。なお、図14の流れ図の開始時にはメインミラー41は観察状態の位置にある。
【0127】
ステップS401:マイコン47は、解析用撮像素子46を駆動させて解析用画像を取得する。このとき、マイコン47は焦点検出部45の出力に基づいてAF制御を実行する。
【0128】
ステップS402:マイコン47は、解析用画像の出力を用いて、撮影画面内に含まれる被写体の分割測光を実行するとともに、仮の代表輝度値PreBvAnsを求める。なお、S402の処理は、図2のS102に対応するので重複説明は省略する。
【0129】
ステップS403:マイコン47は、第1撮影モード(ストップモーション撮影モード/インターバルタイマー撮影モード)が選択されているか否かを判定する。上記要件を満たす場合(YES側)にはS407に処理が移行する。一方、上記要件を満たさない場合(第2撮影モードの場合:NO側)にはS404に処理が移行する。
【0130】
ステップS404:マイコン47は、解析用画像の出力を用いて、撮影画面内から人物の顔領域の位置を検出する。複数の顔が検出された場合、マイコン47は、顔の大きさなどに基づいて、露出決定において重要度の高い順番に顔領域をナンバリングする。
【0131】
そして、マイコン47は、検出した顔領域の位置に基づいて、撮影画面内の一部の被写体である主要被写体(顔)の輝度値BvObj[i]を求める。なお、S404の処理は、図2のS104に対応するので重複説明は省略する。
【0132】
ステップS405:マイコン47は、補正演算サブルーチン1(図8のS201からS213の処理)を実行して、補正後の代表輝度値BvAnsを求める。但し、顔が1つも検出されなかった場合、マイコン47は仮の代表輝度値PreBvAnsを補正後の代表輝度値BvAnsとする(BvAns=PreBvAns)。
【0133】
ステップS406:マイコン47は、補正後の代表輝度値BvAnsに基づいて公知の露出演算により露出量を演算するとともに、この露出量に基づいて露出制御(シャッタ秒時、絞り値などの各パラメータ調整)を行う。S406の処理後には、S408に処理が移行する。なお、S406の処理は、図2のS106に対応するので重複説明は省略する。
【0134】
ステップS407:マイコン47は、仮の代表輝度値PreBvAnsから補正後の代表輝度値BvAnsを求める(BvAns=PreBvAns)。
【0135】
そして、S407でのマイコン47は、補正後の代表輝度値BvAnsに基づいて公知の露出演算により露出量を演算するとともに、この露出量に基づいて露出制御(シャッタ秒時、絞り値などの各パラメータ調整)を行う。
【0136】
ステップS408:マイコン47は、撮影開始タイミングか否かを判定する。上記要件を満たす場合(YES側)にはS409に処理が移行する。一方、上記要件を満たさない場合(NO側)には、マイコン47はS401に戻って上記動作を繰り返す。
【0137】
ステップS409:マイコン47は、メインミラー41を観察状態の位置から退避状態の位置に駆動させる。
【0138】
ステップS410:マイコン47は、S406またはS407で求めた露出量に基づいて、本画像の撮像処理を実行する。記録用撮像素子43によって撮像された本画像のデータは、マイコン47で所定の画像処理が施された後に、不図示の記憶媒体に記録される。以上で、図14の流れ図の説明を終了する。この図14の例においても、上記の一の実施形態とほぼ同様の効果を得ることができる。
【0139】
<実施形態の補足事項>
(補足1)上記の各実施形態では、主要被写体が人物の顔である例を説明したが、顔以外の被写体を主要被写体とする場合にも本発明を適用できる。一例として、青空を主要被写体とする場合、露出演算部は、スルー画像や解析用画像での被写体の明るさや色情報、撮影画面での位置に着目して青空の領域を求め、この領域の輝度情報を用いて主要被写体の輝度値BvObjを求めればよい。また、露出演算部は、電子カメラのモード設定(例えば、ポートレートモードや風景モードなど)に主要被写体の種類を判定するようにしてもよい。
【0140】
(補足2)上記の一の実施形態において、CPU17は、レリーズ釦21の半押し操作によるAF開始指示をトリガとして、図2に示す撮影モードの動作を開始させるようにしてもよい。また、上記の一の実施形態における撮影モードの動作時(図2)において、CPU17は、レリーズ釦21の全押し操作の前に半押し操作があった場合には、その時点で焦点調節状態と露出のパラメータを固定するとともに、以後の焦点調節制御と露出制御とを停止するようにしてもよい。
【0141】
(補足3)上記の他の実施形態では、露出演算装置が一眼レフレックス型の電子カメラに適用される例を説明したが、観測用撮像素子15を有する一眼レフレックス型の銀塩カメラにも適用できる。
【0142】
(補足4)上記の各実施形態での撮像素子は、焦点検出用の受光素子が、本画像等を撮像するための受光素子と同一の受光面に配列されている構成であってもよい。この場合、焦点検出用の受光素子は、それぞれが位相差を有する第1信号列のパターンと第2信号列のパターンとを検出するように構成される。そして、これらのパターンの像ズレ量からカメラが撮像光学系の焦点調節状態を求めればよい(なお、この場合における撮像素子の構成例の図示は省略する)。
【0143】
(補足5)上記の各実施形態では、顔検出部や露出演算部をソフトウエア的に実現する例を説明したが、これらの構成はASICなどによってハードウエア的に実現しても勿論かまわない。
【0144】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図する。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。
【符号の説明】
【0145】
13…絞り、15…撮像素子、16…AFE、17…CPU、24…画像処理部、25…顔検出部、27…露出演算部、31…カメラ本体、32…レンズユニット、35…絞り、42…メカニカルシャッタ、43…記録用撮像素子、46…解析用撮像素子、47…マイコン
【技術分野】
【0001】
本発明は、露出演算装置およびカメラに関する。
【背景技術】
【0002】
従来から、撮影画面内から主要被写体である人物の顔を検出するとともに、この顔の明るさに着目して露出制御を行うカメラが知られている。一例として、特許文献1には、顔の大きさに依存した許容幅を有する目標値に顔の露出が近づくように、画面全体の輝度分布から求めた露出値を補正する例が開示されている。
【0003】
また、特許文献1には、複数の顔を検出した場合に、最も大きい顔を補正対象とする例と、各々の顔の明るさに各々の顔の大きさに応じた重みを乗算した重み付け平均値を補正対象とする例とが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−72619号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、複数の画像を連続的に取得する場合の露出演算では、背景の明るさが同じであっても人物の有無や人物の顔の大きさなどによって個々の静止画像で露出量が変わることがある。上記の場合、個々の静止画像としては最適な露出量が得られるものの、これらの静止画像を1シーンとして鑑賞する場合には個々の静止画像の露出量が異なるので、シーン全体では露出が不安定に見えてしまうおそれがある。
【課題を解決するための手段】
【0006】
本発明の一側面である露出演算装置は、測光部と、目標設定部と、補正部と、演算部とを備える。測光部は、被写体からの光束を測光して第1測光値を求めるとともに、前記被写体のうちの一部の被写体に関する第2測光値を求める。目標設定部は、第2測光値に基づく所定の輝度値の範囲を第1測光値の目標範囲として設定する。補正部は、第1測光値を目標範囲に基づいて補正して第3測光値を求める。演算部は、補正部による第3測光値に基づいて、被写体からの光束に対する露出量を求める。そして、演算部は、1シーンとして鑑賞される複数の画像を連続的に取得する第1撮影モードのときには第1測光値に基づいて露出量を求める。また、演算部は、第1撮影モードと異なる第2撮影モードのときには第3測光値に基づいて露出量を求める。
【0007】
例えば、上記の第1撮影モードは、1シーンの期間において一定の時間間隔で取得された所定枚数の画像を動画として記録する撮影モードであってもよい。また、上記の第1撮影モードは、1シーンの期間において一定の時間間隔で取得された所定枚数の静止画像をそれぞれ個別に記録する撮影モードであってもよい。
【0008】
なお、上記の露出演算装置を備えるカメラも、本発明の具体的態様として有効である。
【発明の効果】
【0009】
本発明によれば、1シーンとして鑑賞される複数の画像を連続的に取得する撮影モードでは、シーン全体で適正となる露出を得ることができる。
【図面の簡単な説明】
【0010】
【図1】一の実施形態における電子カメラの構成例を説明するブロック図
【図2】一の実施形態の電子カメラにおける撮影モードの動作例を示す流れ図
【図3】撮影画面内におけるブロックの分割例を示す図
【図4】図2のS104でのBvObj[i]の値の求め方を模式的に示す図
【図5】顔領域に対して輝度値BvObj[i]を求める範囲の例を示す図
【図6】顔領域の分割測光の例を示す図
【図7】複数の顔が検出された場合を示す図
【図8】図2のS105における補正演算サブルーチン1での動作例を示す流れ図
【図9】図8のS205における補正演算サブルーチン2での動作例を示す流れ図
【図10】一の実施形態での目標範囲と露出量との関係を示す説明図
【図11】主要被写体が人物のときの重み付け係数WtWdの関数の一例を示す図
【図12】主要被写体が人物のときの上限値および下限値を求める関数の一例を示す図
【図13】他の実施形態における電子カメラの構成例を説明する図
【図14】他の実施形態の電子カメラにおける撮影モードの動作の一例を示す流れ図
【発明を実施するための形態】
【0011】
<一の実施形態の説明>
図1は一の実施形態における電子カメラの構成例を説明するブロック図である。一の実施形態は、いわゆるレンズ一体型の電子カメラに露出演算装置を組み込んだ例を示している。
【0012】
一の実施形態の電子カメラは、撮像光学系11およびレンズ駆動部12と、絞り13および絞り駆動部14と、撮像素子15と、AFE16と、CPU17と、第1メモリ18と、記録I/F(インターフェース)19と、モニタ20と、レリーズ釦21および操作部材22と、第2メモリ23とを有している。ここで、レンズ駆動部12、絞り駆動部14、撮像素子15、AFE16、第1メモリ18、記録I/F19、モニタ20、レリーズ釦21、操作部材22および第2メモリ23は、それぞれCPU17に接続されている。
【0013】
撮像光学系11は、ズームレンズ、焦点調節のためのフォーカシングレンズを含む複数のレンズ群で構成されている。撮像光学系11のレンズ位置は、レンズ駆動部12によって光軸方向に調整される。なお、簡単のため、図1では撮像光学系11を1枚のレンズとして図示する。また、絞り13は、撮像素子15に入射する単位時間当たりの光量を調節する。この絞り13の開口量は、CPU17の指示に応じて絞り駆動部14が調整する。
【0014】
撮像素子15は、撮像光学系11および絞り13を通過した光束による被写体像を光電変換してアナログの画像信号を生成する。この撮像素子15の出力はAFE16に接続されている。なお、撮像素子15の電荷蓄積時間および信号読みだしは、いずれもCPU17によって制御される。
【0015】
ここで、電子カメラの撮影モードにおいて、撮像素子15はレリーズ釦21の全押し操作に応答して記録用の静止画像(本画像)を撮像する。また、撮影モードでの撮像素子15は、撮影待機時にも所定間隔毎に観測用の画像(スルー画像)を連続的に撮像する。ここで、時系列に取得されたスルー画像のデータは、モニタ20での動画像表示やCPU17による各種の演算処理に使用される。
【0016】
AFE16は、撮像素子15の出力に対してアナログ信号処理を施すアナログフロントエンド回路である。このAFE16は、相関二重サンプリングや、画像信号の増幅や、画像信号のA/D変換を行う。このAFE16から出力される画像信号はCPU17に入力される。なお、CPU17は、AFE16において画像信号のゲインを調整することで、ISO感度に相当する撮像感度を調整できる。
【0017】
CPU17は、電子カメラの動作を統括的に制御するプロセッサである。このCPU17は、第2メモリ23に格納されたプログラムの実行により、画像処理部24、顔検出部25、焦点調節部26および露出演算部27として機能する。
【0018】
画像処理部24は、デジタルの画像信号に対して各種の画像処理(色補間処理、階調変換処理、輪郭強調処理、ホワイトバランス調整など)を施す。また、画像処理部24は、スルー画像に解像度変換を施して、モニタ表示用のビュー画像を生成する。なお、画像処理部24は、入力された画像のデータに基づいて、ホワイトバランス調整で適用するホワイトバランス調整値を求めることもできる。
【0019】
顔検出部25は、スルー画像のデータに顔検出処理を施して、撮影画面内の人物の顔領域を検出する。この顔検出処理は公知のアルゴリズムによって行われる。一例として、顔検出部25は、公知の特徴点抽出処理によって、眉,目,鼻,唇の各端点などの特徴点を画像から抽出するとともに、これらの特徴点に基づいて撮影画面内の顔領域の位置を特定する。あるいは、顔検出部25は、予め用意された顔画像と判定対象の画像との相関係数を求め、この相関係数が一定の閾値を超えるときに判定対象の画像を顔領域と判定してもよい。
【0020】
焦点調節部26は、スルー画像のデータを用いて、公知のコントラスト検出によるオートフォーカス(AF)制御を実行する。
【0021】
露出演算部27は、スルー画像のデータを用いて露出演算を実行するとともに、この露出演算によって求めた露出量に応じて電子カメラの露出制御を実行する。
【0022】
第1メモリ18は、画像処理部24による画像処理の前工程や後工程で画像のデータを一時的に記憶するバッファメモリである。この第1メモリ18は揮発性の記憶媒体であるSDRAMにより構成される。
【0023】
記録I/F19には、不揮発性の記憶媒体28を接続するためのコネクタが形成されている。そして、記録I/F19は、コネクタに接続された記憶媒体28に対してデータの書き込み/読み込みを実行する。上記の記憶媒体28は、ハードディスクや、半導体メモリを内蔵したメモリカードなどで構成される。なお、図1では記憶媒体28の一例としてメモリカードを図示する。
【0024】
モニタ20は、CPU17の指示に応じて各種画像を表示する。例えば、撮影モードでの撮影待機時において、モニタ20にはCPU17の制御により上記のビュー画像が動画表示される。
【0025】
レリーズ釦21は、全押し操作による撮像動作開始の指示入力をユーザーから受け付ける。また、操作部材22は、例えば、コマンドダイヤル、十字状のカーソルキー、決定釦などで構成される。この操作部材22は、動作モードの切替操作などの各種入力をユーザーから受け付ける。
【0026】
第2メモリ23はフラッシュメモリ等の不揮発性の記憶媒体で構成される。この第2メモリ23には、CPU17によって実行されるプログラムが記憶される。なお、このプログラムによる撮影モードでの露出演算処理の例については後述する。
【0027】
(撮影モードの動作例)
次に、図2の流れ図を参照しつつ、一の実施形態の電子カメラにおける撮影モードの動作例を説明する。この撮影モードの動作は、撮影モードの起動操作(例えば電源オン操作やモード切替操作など)をCPU17がユーザーから受け付けたときに開始される。なお、図2に示す撮影モードでは、人物の顔を主要被写体として露出制御を行う例を説明する。
【0028】
ステップS101:CPU17は、撮像素子15を駆動させてスルー画像を取得する。なお、画像処理部24は上記のスルー画像の出力を用いてホワイトバランス調整値を求めるとともに、焦点検出部45は上記のスルー画像の出力を用いてAF制御を実行する(図2の例では、ホワイトバランス調整値の演算やAF制御はバックグラウンドで実行されるものとして、詳細な説明は省略する)。
【0029】
ステップS102:露出演算部27は、スルー画像(S101で取得したもの)の出力を用いて、撮影画面内に含まれる被写体の分割測光を実行する。そして、露出演算部27は、分割測光の結果に基づいて、撮影画面内での被写体の明るさを代表する値(仮の代表輝度値PreBvAns)を求める。
【0030】
一例として、S102での露出演算部27は、スルー画像の全体(撮影画面)を複数のブロックに分割する(なお、撮影画面内におけるブロックの分割例を図3に示す)。次に、露出演算部27は、1つのブロックに含まれる複数の画素の出力値(階調値)を平均化し、各ブロックにおいて平均輝度値をそれぞれ求める。そして、露出演算部27は、各ブロックからそれぞれ求めた複数の平均輝度値を用いて、仮の代表輝度値PreBvAnsを求める。なお、複数ブロックの平均輝度値から仮の代表輝度値PreBvAnsを求める演算は、例えば、特開2006−106617号公報などに開示された公知の手法によって行われる。
【0031】
ステップS103:露出演算部27は、1シーンとして鑑賞される複数の画像を連続的に取得する第1撮影モードが選択されているか否かを判定する。上記要件を満たす場合(YES側)にはS107に処理が移行する。一方、上記要件を満たさない場合(第1撮影モードと異なる第2撮影モードの場合:NO側)にはS104に処理が移行する。
【0032】
ここで、上記の第1撮影モードとしては、例えば、「ストップモーション撮影モード」、「インターバルタイマー撮影モード」が該当する。
【0033】
ストップモーション撮影モードは、1シーンの期間において一定の時間間隔で取得された所定枚数の画像を動画として記録する撮影モードである。ストップモーション撮影モードでのCPU17は、1シーン分の複数の静止画像を1つの動画像ファイルとして記録する。
【0034】
インターバルタイマー撮影モードは、1シーンの期間において一定の時間間隔で取得された所定枚数の静止画像をそれぞれ個別に記録する撮影モードである。インターバルタイマー撮影モードでのCPU17は、1シーン分の複数の静止画像をそれぞれ個別に静止画像ファイルとして記録する。
【0035】
ステップS104:顔検出部25は、スルー画像(S101で取得したもの)の出力を用いて、撮影画面内から人物の顔領域の位置を検出する。複数の顔が検出された場合、顔検出部25は、露出決定において重要度の高い順番に顔領域をナンバリングする。一例として、顔検出部25は、(I)顔領域の大きさ、(II)撮影画面の中心と顔領域との距離、(III)測距領域(AFエリア)と顔領域との距離、(IV)顔検出演算での信頼度、の各評価値を加算し、これらの評価値の総合評価で個々の顔領域の重要度を決定すればよい。
【0036】
このとき、上記(I)では顔領域が大きいほど、顔領域の重要度は高くなる。上記(II)では顔領域が撮影画面の中心から近いほど、顔領域の重要度は高くなる。上記(III)では測距領域から顔領域が近いほど、顔領域の重要度は高くなる。上記(IV)では、顔検出演算での信頼度が高いほど、顔領域の重要度は高くなる。
【0037】
そして、露出演算部27は、顔検出部25が検出した顔領域の位置に基づいて、撮影画面内の一部の被写体である主要被写体(顔)の輝度値BvObj[i]を求める。ここで、「i」は上記した重要度の高い順番にナンバリングされた顔の番号を示す引数である。なお、図7の例では、撮影画面内で複数の顔(2つ)が検出された場合において、個々の顔領域に対応する輝度値BvObj[i]がそれぞれ求められている。
【0038】
ここで、S104での露出演算部27は、撮影画面内から顔領域が検出された場合、例えば、以下の(イ)から(へ)のいずれかの手法で顔領域ごとに被写体の輝度値BvObj[i]をそれぞれ求める。
【0039】
(イ)露出演算部27は、スルー画像のうちで顔領域に含まれる複数の画素をグループ化するとともに、このグループ化された複数の画素の平均輝度値を主要被写体の輝度値BvObj[i]とする(図4(a)参照)。
【0040】
(ロ)露出演算部27は、撮影画面を分割したブロック(S102)のうちで顔領域と重複するブロックを抽出し、この抽出したブロックの平均輝度値をさらに平均化して主要被写体の輝度値BvObj[i]を求めてもよい(図4(b)参照)。例えば、図4(b)の場合であれば、露出演算部27は、顔領域と重複する4つのブロックの平均輝度値から主要被写体の輝度値BvObj[i]を求める。
【0041】
(ハ)主要被写体と背景との輝度が極端に異なる場合(例えば逆光や過順光のシーンなど)において、顔領域よりも広い領域(図5(a)、図5(b)の領域FA0)から輝度値BvObj[i]を求めると、背景の影響を受けて適正な顔の輝度を求められないケースがある。
【0042】
そこで、露出演算部27は、人物の顔の輪郭に内接する領域(図5(a)に示す領域FA1)から輝度値BvObj[i]を求めるようにしてもよい。あるいは、露出演算部27は、人物の顔の輪郭に外接する領域よりもサイズが小さい領域(図5(b)に示す領域FA2)から輝度値BvObj[i]を求めるようにしてもよい。
【0043】
ここで、図5(b)では、領域FA2の重心が領域FA0の重心と重なって配置される例を示す。もっとも、髪の影響を受けにくくするために領域FA2の重心を領域FA0の重心よりも下側にずらしてもよい(この場合の図示は省略する)。また、図5(b)では、領域FA2のサイズが領域FA0の縦横1/2のサイズに設定された例を示す。もっとも、上記の領域FA2のサイズは背景の影響を受けない範囲で適宜設定できる。
【0044】
(ニ)顔領域内の輝度差が大きい場合(例えば顔の半分に光が当たり、顔の半分が暗くなっている半逆光のシーンなど)には、顔領域の平均輝度値に基づいて輝度値BvObjを求めると、顔の明るい部分が白トビするおそれもある。そこで、露出演算部27は、主要被写体の顔を複数の領域に分割して測光し、複数の領域のそれぞれに対して得られる複数の測光値に基づいて輝度値BvObj[i]を求めてもよい。
【0045】
一例として、露出演算部27は、図6に示すように縦横に2×2となるように顔領域を4分割する。そして、露出演算部27は、以下の式(1)により各分割領域(FA41−FA44)の測光値のうちの最大値を輝度値BvObjとしてもよい。
BvObj[i]=Max(BvFA41,BvFA42,BvFA43,BvFA44)…(1)
ここで、本明細書において、「BvFA41−44」は、それぞれ顔領域の分割領域(FA41−44)の平均輝度値を示している。また、本明細書において、「Max(A,B)」は、A,Bのうちの最大値を返す関数を意味する。
【0046】
(ホ)また、上記(ニ)の別例として、露出演算部27は、各領域(FA41−FA44)を縦横で4つにグループ化し、4つのグループのそれぞれで得た測光値のうちの最大値を輝度値BvObj[i]としてもよい。具体的には、露出演算部27は、以下の式(2)から式(6)の演算を順次行えばよい。
BvFaceUp=(BvFA41+BvFA42)/2…(2)
BvFaceDown=(BvFA43+BvFA44)/2…(3)
BvFaceLeft=(BvFA41+BvFA43)/2…(4)
BvFaceRight=(BvFA42+BvFA44)/2…(5)
BvObj[i]=Max(BvFaceUp,BvFaceDown,BvFaceLeft,BvFaceRight)…(6)
(ヘ)また、上記(ニ)の別例として、露出演算部27は、各領域の輝度値(BvFA41−44)を重み付け平均して輝度値BvObj[i]を求めてもよい。
【0047】
例えば、露出演算部27は、以下の式(7)において、BvFA41−44を大きい順にBvX[1]−BvX[4]として代入し、輝度値BvObj[i]を求めればよい。
BvObj[i]=Σ(BvX[j]×Wt[j])…(7)
ここで、上記の式(7)での「j」は1−4の整数をとるものとする。また、式(7)での「Σ()」は、変数jによる積和演算結果を返す関数である。また、式(7)の「Wt[j]」は所定の重み付け係数である。一例として、一の実施形態では、Wt[1]=0.6,Wt[2]=0.3,Wt[3]=0.1,Wt[4]=0に設定されるが、各重み付け係数は上記の例に限定されることはない。
【0048】
なお、露出演算部27は、上記の式(7)において、BvFaceUp,BvFaceDown,BvFaceLeft,BvFaceRight(式(2)−(5)で求めた各グループの測光値)を大きい順にBvX[1]−BvX[4]として代入し、輝度値BvObj[i]を求めるようにしてもよい。
【0049】
ステップS105:露出演算部27は、補正演算サブルーチン1を実行する(補正演算サブルーチン1の内容については後述する)。この補正演算サブルーチン1では、主要被写体の輝度値BvObj[i](S104で求めたもの)に基づいて、露出演算部27が補正後の代表輝度値BvAnsを求める。
【0050】
但し、顔領域が1つも検出されなかった場合、S105での露出演算部27は、仮の代表輝度値PreBvAnsを補正後の代表輝度値BvAnsとする(BvAns=PreBvAns)。
【0051】
ステップS106:露出演算部27は、補正後の代表輝度値BvAnsに基づいて公知の露出演算により露出量を演算するとともに、この露出量に基づいて露出制御(シャッタ秒時、絞り値などの各パラメータ調整)を行う。S106の処理後には、S108に処理が移行する。
【0052】
ステップS107:露出演算部27は、仮の代表輝度値PreBvAns(S102で求めたもの)から補正後の代表輝度値BvAnsを求める。
BvAns=PreBvAns …(8)
そして、S107での露出演算部27は、補正後の代表輝度値BvAnsに基づいて公知の露出演算により露出量を演算するとともに、この露出量に基づいて露出制御(シャッタ秒時、絞り値などの各パラメータ調整)を行う。
【0053】
ステップS108:CPU17は上記のスルー画像(S101で取得したもの)から生成したビュー画像をモニタ20に表示する。これにより、ユーザーは、モニタ20のビュー画像を参照して、撮影構図を決定するためのフレーミングを行うことができる。このとき、CPU17は、S104で検出し、補正演算サブルーチン1で選択された顔領域の位置を示す表示をビュー画像にオーバーレイさせてもよい(ビュー画像の表示例の図示は省略する)。
【0054】
ステップS109:CPU17は、撮影開始タイミングか否かを判定する。例えば、第2撮影モードにおいて、撮影開始タイミングはレリーズ釦21が全押しされた時である。または第1撮影モードにおいて、撮影開始タイミングは、レリーズ釦21の全押しから所定期間または所定回数撮影動作を行うまでの期間の後、所定時間間隔毎を指す。
【0055】
上記要件を満たす場合(YES側)にはS110に処理が移行する。一方、上記要件を満たさない場合(NO側)には、CPU17はS101に戻って上記動作を繰り返す。S109でのNO側の場合には、CPU17はS106(またはS107)で求めた露出量に基づきスルー画像を撮像する。そして、モニタ20には、CPU17の制御によりビュー画像が動画表示されることとなる。
【0056】
ステップS110:CPU17は、S106(またはS107)で求めた露出量に基づいて、本画像の撮像処理を実行する。撮像素子15によって撮像された本画像のデータは、AFE16および画像処理部24で所定の処理が施された後に、記録I/F19を介して記憶媒体28に記録される。
【0057】
ここで、ストップモーション撮影モードでは、CPU17の制御により、1シーン分の複数の静止画像が1つの動画像ファイルとして記録される。また、インターバルタイマー撮影モードでのCPU17は、1シーン分の複数の静止画像をそれぞれ個別に静止画像ファイルとして記録する。また、第2撮影モードの場合も、CPU17は複数の静止画像をそれぞれ個別に静止画像ファイルとして記録する。
【0058】
以上で、図2に示す撮影モードの動作例の説明を終了する。
【0059】
(補正演算サブルーチン1の説明)
次に、図8の流れ図を参照しつつ、図2のS105における補正演算サブルーチンでの動作例を説明する。
【0060】
ステップS201:露出演算部27は、カメラの状態が所定の条件を満たすか否か判定する。上記要件を満たす場合(YES側)にはS202に処理が移行する。一方、上記要件を満たさない場合(NO側)にはS203に処理が移行する。
【0061】
ここで、S201での露出演算部27は、例えば、以下の条件1〜3のいずれかを満たすか否かを判定する。
【0062】
(条件1)露出演算が繰り返し行われる状態(図2のステップ101〜109が繰り返し行われる状態)において、初回の露出演算である場合。つまり、比較すべき前回の代表輝度値が存在しない場合である。例えば、電源起動直後の場合や、公知の中央部重点測光やスポット測光から多分割測光モードへ測光モードを切り替えた直後の場合などが、条件1に該当する。
【0063】
(条件2)前回の露出演算において顔が検出されなかった場合。つまり、後述する前回の代表輝度値PastBvが正しく算出されていない場合である。
【0064】
(条件3)焦点調節部26が撮影画面内に複数の測距領域を持つときに、ユーザーによって任意の測距領域が手動で指定されている場合。つまり、ユーザーが意図を持ってある顔にピントを合わせようとしている場合である。上記の場合には、複数の顔のうちで指定された測距領域の顔が主要な顔であり、露出も主要な顔に基づいて決定されるべきである。よって、条件3の場合には、露出演算部27は後述の露出の安定化処理を行わずに、ユーザーの意図せぬ顔に露出を合わせ続けることを回避する。
【0065】
但し、測距領域が手動で指定されていてもフォーカシングレンズの駆動が禁止されている場合(フォーカスロック中)には、露出演算部27は露出を安定させるために条件3を満たさないものと判定する。
【0066】
ステップS202:露出演算部27は、補正演算の対象となる顔の数を示す変数nの値を1にする(n=1)。つまり、S201の所定の条件を満たす場合には、複数の顔が検出されても重要度の最も高い1つの顔のみが補正演算の対象となる。なお、S202の処理後には、S204に処理が移行する。
【0067】
ステップS203:露出演算部27は、上記の変数nに補正対象となる顔の数を代入する。例えば、顔が5つ検出された場合、S203での露出演算部27は、n=5とすればよい。
【0068】
また、補正演算の対象に重要度の低い顔を含めることは不適当である。そのため、撮影画面内で顔が複数検出された場合に、露出演算部27は、顔領域の重要度に応じて補正演算の対象となる顔の数を絞り込むようにしてもよい。例えば、露出演算部27は、変数nの値に上限値を設定し(例えばn=3など)、n以上の顔が検出された場合には重要度の高い順にn個まで補正演算の対象となる顔を決定すればよい。
【0069】
ステップS204:露出演算部27は、変数iに1を代入して初期化する(i=1)。
【0070】
ステップS205:露出演算部27は、i番目の顔を補正対象として補正演算サブルーチン2を実行する(補正演算サブルーチン2の内容については後述する)。この補正演算サブルーチン2では、主要被写体の輝度値BvObj[i](S104で求めたもの)に基づいて、露出演算部27が補正対象の顔毎に輝度補正値dBvObj[i]を求める。
【0071】
逆光や過順光などのように主要被写体と背景との輝度が極端に異なる場合、仮の代表輝度値PreBvAnsから直接に露出量を求めると、主要被写体の露出が暗すぎたり明るすぎたりする場合がある。そのため、一の実施形態では、輝度補正量dBvObj[i]によって、主要被写体と背景とのバランスが適正な露出量となるように輝度値を補正する。
【0072】
ステップS206:露出演算部27は、i番目の顔に基づく仮の補正後代表輝度値TempBv[i]を次式に基づいて求める。
TempBv[i]=PreBvAns+dBvObj[i] …(9)
ステップS207:露出演算部27は、現在の変数iの値がnに等しいか(i=n)否かを判定する。i=nの場合は、全ての補正対象の顔についてS205の輝度補正量dBvObj[i]が求められている状態である。上記要件を満たす場合(YES側)にはS209に処理が移行する。一方、上記要件を満たさない場合(NO側)にはS208に処理が移行する。
【0073】
ステップS208:露出演算部27は、iの値をインクリメントし(i=i+1)、ステップS205へ処理を戻す。S205からS208のループにより、全ての補正対象の顔について、仮の補正後代表輝度値TempBv[i]がそれぞれ求められる。
【0074】
ステップS209:露出演算部27は、補正対象である顔の数nが1か(n=1)否かを判定する。上記要件を満たす場合(YES側)にはS210に処理が移行する。一方、上記要件を満たさない場合(NO側)にはS211に処理が移行する。
【0075】
ステップS210:露出演算部27は、露出演算で使用される顔番号を示す変数(選択顔番号Sel)に1を代入する。
【0076】
ステップS211:露出演算部27は、全ての補正対象の顔についてABS(TempBv[i]−PastBv)を演算する。そして、露出演算部27は、ABS(TempBv[i]−PastBv)が最小値となるiを選択顔番号Selに代入する。なお、ABS(TempBv[i]−PastBv)の最小値をとるiが複数存在する場合は、iの値自体が最も小さくなる(つまり重要度がより高い)iをSelに代入すればよい。
【0077】
ここで、「ABS()」は()内の数値の絶対値を返す関数である。また、「PastBv」は前回の代表輝度値であって、その算出方法については後述する。
【0078】
ステップS212:露出演算部27は、選択顔番号Selに対応する仮の補正後代表輝度値TempBv[i]を、補正後の代表輝度値BvAnsに代入する(BvAns=TempBv[Sel])。
【0079】
ステップS213:露出演算部27は、代表輝度値BvAnsを前回の代表輝度値PastBvに代入して、PastBvを更新する(PastBv=BvAns)。これにより、繰り返し露出演算を行う場合において、次回の露出演算では今回の代表輝度値BvAnsを用いてS211の演算が行われることとなる。以上で、図8の流れ図の説明を終了する。
【0080】
(補正演算サブルーチン2の説明)
次に、図9の流れ図を参照しつつ、図8のS205における補正演算サブルーチン2での動作例を説明する。
【0081】
ステップS301:露出演算部27は、主要被写体の輝度値BvObj(S104で求めたもの)を用いて、下式(10)により輝度目標値BvTrgtを求める。
BvTrgt=BvObj−OfsObj …(10)
ここで、本明細書において「OfsObj」は、主要被写体の種類ごとに予め設定されているオフセット値を意味する。このOfsObjの値は、本画像でのグレーレベルの出力値と、本画像において主要被写体の再現目標となる出力値との差分から求められる。
【0082】
カメラの自動露出演算においては、主要被写体と同じ輝度を有する無彩色の被写体を撮影する場合、原則として上記の無彩色の被写体が本画像にてグレーレベルで再現されるように露出量が演算される。一方、主要被写体の種類によっては、本画像での再現目標の出力値をグレーレベルからシフトさせた方が好ましい場合もある。一例として、主要被写体が人物の顔であれば、本画像での再現目標の出力値をグレーレベルよりもやや明るめの値にする方が好ましい画像となる。そのため、S301での露出演算部27は、OfsObjを用いて主要被写体の種類毎に輝度値の調整を行っている。
【0083】
以下、主要被写体が人物の顔である場合のOfsObjの演算例を説明する。なお、一の実施形態では、本画像の階調が8bit(出力値0〜255)であることを前提として説明を行う。
【0084】
この例では、グレーレベルの出力値を120とし、本画像での顔の再現目標の出力値を150とする。よって、この場合のOfsObjは、本画像において顔の出力値を120から150に明るくするための補正量となる。なお、露出演算では被写体の輝度値が小さくなるほどオーバー側の露出量となることから、上記の式(10)ではBvObjの値からOfsObjの値を減算して輝度値を小さくしている。
【0085】
また、本画像での出力値は、画像処理部24での階調変換処理によって、撮像素子15の出力レベルに対して非線形な状態に変換されている。したがって、露出演算部27は、本画像での出力値に逆階調変換処理を施した状態で出力値を比較することで、OfsObjの値を求めることができる。なお、人物の顔が主要被写体の場合でのOfsObjの値は、下式(11)によって求められる。
OfsObj=Log2(RvG(150)/RvG(120)) …(11)
ここで、本明細書において「Log2(A)」は、2を底とするAの対数を返す関数を意味する。また、本明細書において「RvG(B)」は、逆階調変換に相当する関数であって、本画像での出力値を示すBに対して階調変換前の入力値を返す関数を意味する。
【0086】
なお、S301での他の例として、主要被写体が青空である場合のOfsObjの演算例を説明する。本画像での青空の再現目標の出力値を175とすると、この場合のOfsObjの値は、下式(12)で求めることができる。
OfsObj=Log2(RvG(175)/RvG(120)) …(12)
ステップS302:露出演算部27は、輝度目標値BvTrgt(S201で求めたもの)に基づいて、輝度値の目標範囲を設定する。具体的には、S302の露出演算部27は、下式(13)によって目標範囲の上限値BvUpperを求めるとともに、下式(14)によって目標範囲の下限値BvLowerを求める。
BvUpper=BvTrgt+BvSth1 …(13)
BvLower=BvTrgt+BvSth2 …(14)
ここで、「BvSth1」と「BvSth2」とは、それぞれ主要被写体の種類ごとに設定される値である。したがって、S302で設定される輝度値の目標範囲の幅は、主要被写体の種類に応じて変化しうる。
【0087】
S302において、輝度値の目標範囲を設定するのは以下の理由による。主要被写体(人物の顔)と背景との輝度が極端に異なるシーン(例えば逆光や過順光の場合など)では、顔の輝度に基づいて露出量を決定すると、背景部分に白トビや黒つぶれが生じて撮影した画像の見映えが不自然となってしまう。
【0088】
一方、上記のシーンでは、背景とのバランスを考慮して主要被写体の明るさを決定した方が画像全体としてはむしろ自然な露出になる。したがって、露出演算部27は、BvUpperおよびBvLowerによって目標とする輝度値に幅をもたせることで、輝度差の大きなシーンに対応できるようにしている。
【0089】
例えば、逆光のシーンにおける本画像での人物の顔の出力値は110でもよい。そのため、人物の顔が主要被写体の場合でのBvSth1の値は下式(15)で求めることができる。同様に、過順光のシーンにおける人物の顔の出力値は180でもよい。そのため、人物の顔が主要被写体の場合でのBvSth2の値は、下式(16)で求めることができる。
BvSth1=Log2(RvG(150)/RvG(110)) …(15)
BvSth2=Log2(RvG(150)/RvG(180)) …(16)
ここで、図10を参照しつつ、目標範囲と露出量との関係について説明する。上記の式(15)で求めたBvSth1は、BvTrgtに対してプラスの補正値となって、BvUpperの値はBvTrgtよりも大きくなる。そして、BvUpperに基づいて露出量を求めると、BvTrgtに基づく露出量よりも露出がアンダー側になる。これにより、BvUpperに基づく露出量で本画像を撮影すると、本画像での顔の出力値は上記の再現目標よりも低い値となる。
【0090】
一方、上記の式(16)で求めたBvSth2は、BvTrgtに対してマイナスの補正値となって、BvLowerの値はBvTrgtよりも小さくなる。そして、BvLowerに基づいて露出量を求めると、BvTrgtに基づく露出量よりも露出がオーバー側になる。これにより、BvLowerに基づく露出量で本画像を撮影すると、本画像での顔の出力値は上記の再現目標よりも高い値となる。
【0091】
なお、S302での他の例として、主要被写体が青空である場合のBvSth1およびBvSth2の演算例を説明する。本画像で青空が再現目標である場合の出力値の幅を100〜200とすると、この場合のBvSth1の値は下式(17)で求めることができる。また、この場合のBvSth2の値は下式(18)で求めることができる。
BvSth1=Log2(RvG(175)/RvG(100)) …(17)
BvSth2=Log2(RvG(175)/RvG(200)) …(18)
ところで、上記の例では、逆光のシーンにおける本画像での人物の顔の出力は、背景とのバランスを考慮して110でもよいと説明した。しかし、撮影画面に対する人物の顔の面積比(人物の顔の大きさ)が大きい場合には、顔の明るさが本画像の明るさの印象を決めることとなる。逆に、撮影画面に対する人物の顔の面積比が小さい場合には、背景の明るさが本画像の明るさの印象を決めることとなる。そのため、露出演算部27は、撮影画面に対する主要被写体の面積比に応じて輝度値の目標範囲の幅を調整してもよい。この場合において、露出演算部27は、上記のBvSth1およびBvSth2にそれぞれ重み付けをした値(BvSth1’,BvSth2’)を以下の式(19)、式(20)で求める。そして、露出演算部27は、BvSth1’,BvSth2’を用いてBvUpperおよびBvLowerをそれぞれ求めればよい。
BvSth1’=BvSth1×WtWd …(19)
BvSth2’=BvSth2×WtWd …(20)
ここで、式(19)、式(20)の「WtWd」は、目標範囲の幅の重み付け係数を示している。上記の重み付け係数WtWdの値は、撮影画面に対する主要被写体の面積比に依存した関数により露出演算部27が決定する。この重み付け係数WtWdは、撮影画面に対する主要被写体の面積比が小さい場合には大きな値となり、撮影画面に対する主要被写体の面積比が大きい場合には小さな値となる。
【0092】
ここで、図11は、主要被写体が人物のときの重み付け係数WtWdの関数の一例を示している。図11の縦軸は、WtWdの値を示し、図11の横軸は撮影画面に対する主要被写体の面積比を示している。
【0093】
図11の例では、上記の面積比が5%以下のときに、WtWdの値は1.0となる。また、上記の面積比が5%より大きく50%未満の範囲では、WtWdの値は面積比の大きさに比例して低下してゆく。そして、上記の面積比が50%以上のときに、WtWdの値は0.0となる。
【0094】
すなわち、撮影画面に対する主要被写体の面積比が小さい場合には、BvSth1’およびBvSth2’の値は大きくなるので、輝度値の目標範囲の幅は大きくなる。一方、撮影画面に対する主要被写体の面積比が大きい場合には、BvSth1’およびBvSth2’の値は小さくなるので、輝度値の目標範囲の幅は小さくなる。
【0095】
また、撮影画面内で複数の主要被写体が検出された場合には、露出演算部27は、複数の主要被写体のうちで最もサイズの大きな被写体に基づいて上記の面積比を決定し、BvSth1’およびBvSth2’を用いて輝度値の目標範囲の幅を求めてもよい。あるいは、露出演算部27は、複数の主要被写体の大きさを合計した値で上記の面積比を決定し、BvSth1’およびBvSth2’を用いて輝度値の目標範囲の幅を求めてもよい。なお、図9に示す重み付け係数WtWdの関数はあくまで一例であり、重み付け係数WtWdの関数を主要被写体の種類に応じて変更するようにしてもよい。
【0096】
ステップS303:露出演算部27は、PreBvAnsがBvUpperよりも大きいか否かを判定する。上記要件を満たす場合(YES側)にはS307に処理が移行する。一方、上記要件を満たさない場合(NO側)にはS304に処理が移行する。
【0097】
ステップS304:露出演算部27は、PreBvAnsがBvLowerよりも小さいか否かを判定する。上記要件を満たす場合(YES側)にはS306に処理が移行する。一方、上記要件を満たさない場合(NO側)にはS305に処理が移行する。
【0098】
ステップS305:この場合は、仮の代表輝度値PreBvAnsから求めた露出量で本画像の撮影を行うと、本画像での顔の出力値は110から180の範囲に収まると予想できる。そのため、露出演算部27は、dBvOBjを求めるときの仮補正量dBvTrgtToAnsに「0」値を代入する。なお、S305の後にはS308へ処理が移行する。
【0099】
ステップS306:この場合は、仮の代表輝度値PreBvAnsから求めた露出量で本画像の撮影を行うと、本画像での顔の出力値は180よりも高くなると予想できる。そのため、露出演算部27は、本画像での顔の出力値を180にするために、仮補正量dBvTrgtToAnsの値を下式(21)によって求める。
dBvTrgtToAns=BvLower−PreBvAns …(21)
このS306の場合のdBvTrgtToAnsは、輝度値を大きくする補正量に相当する。輝度値を大きくする方向に補正すると露出演算のときに露出量はアンダー側となるため、本画像では明るい顔が暗めに補正されることとなる。なお、S306の後にはS308へ処理が移行する。
【0100】
ステップS307:この場合は、仮の代表輝度値PreBvAnsから求めた露出量で本画像の撮影を行うと、本画像での顔の出力値は110よりも低くなると予想できる。そのため、露出演算部27は、本画像での顔の出力値を110にするために、仮補正量dBvTrgtToAnsの値を下式(22)によって求める。
dBvTrgtToAns=BvUpper−PreBvAns …(22)
このS307の場合のdBvTrgtToAnsは、輝度値を小さくする補正量に相当する。輝度値を小さくする方向に補正すると露出演算のときに露出量はオーバー側となるため、本画像では暗めの顔が明るく補正されることとなる。
【0101】
ステップS308:露出演算部27は、仮補正量dBvTrgtToAns(S305、S306、S307のいずれかで求めたもの)を所定の制限値の範囲に制限して、輝度補正量dBvObj[i]を求める。例えば、S308での露出演算部27は、以下の式(23)によって輝度補正量dBvObj[i]を求める。
dBvObj[i]=Clip(dBvTrgtToAns) …(23)
ここで、式(23)の「Clip(A)」は、Aの値が制限値の範囲内にあるときにはAの値を返し、Aの値が制限値の範囲を超えるときには制限値を返す関数を意味する。なお、「Clip(A)」での制限値には上限値と下限値とを設定できる。この場合、「Clip(A)」でAの値が上限値を上回る場合は、入力されたAの値は上限値に置換される。また、「Clip(A)」でAの値が下限値を下回る場合は、入力されたAの値は下限値に置換される。
【0102】
S308においてdBvTrgtToAnsの値を制限するのは以下の理由による。主要被写体(人物の顔)と背景との輝度が極端に異なるシーンでは、本画像での顔の出力値を目標範囲の上限や下限に合わせても、なお背景部分に白トビや黒つぶれが生じる場合も起こりうる。そのため、S308での露出演算部27は、上記のケースを想定してdBvTrgtToAnsの値を所定の範囲内に制限している。
【0103】
一例として、人物の顔が主要被写体の場合、露出演算部27は、制限値の範囲を露出値に換算して−1から+1.5の範囲に設定する。本画像の白トビした画素では被写体の情報が完全に失われる一方で、黒つぶれの画素ではゲインを上げることで残されている被写体の情報を読み取れる場合もある。そのため、黒つぶれをある程度許容しつつも白トビを極力避ける観点から、一の実施形態では制限値が上記の範囲に設定されている。
【0104】
なお、露出演算部27は、上記の制限値の範囲を主要被写体の種類に応じて適宜調整してもよい。例えば、他の主要被写体の場合において、露出演算部27は、制限値の範囲を露出値に換算して−1から+1の範囲にしてもよく、あるいは−1から+2の範囲にしてもよい。
【0105】
また、S308での露出演算部27は、撮影画面に対する主要被写体の面積比(人物の顔の大きさ)に応じて、上記の上限値および下限値をそれぞれ変動させてもよい。上記の上限値および下限値は、撮影画面に対する主要被写体の面積比に依存した関数により露出演算部27が決定する。
【0106】
一例として、露出演算部27は、主要被写体の面積比が大きいほど上限値を大きくし、かつ下限値は小さくする。これにより、撮影画面に対する主要被写体の面積比が大きいほど制限値の幅が広がるので、dBvTrgtToAnsの値には制限がかかりにくくなる。一方で、露出演算部27は、主要被写体の面積比が小さいほど上限値を小さくし、かつ下限値は大きくする。これにより、撮影画面に対する主要被写体の面積比が小さいほど制限値の幅が狭まるので、dBvTrgtToAnsの値には制限がかかりやすくなる。
【0107】
ここで、図12は、主要被写体が人物のときの上限値および下限値を求める関数の一例を示している。図12の縦軸は、露出値に換算された制限値を示し、図12の横軸は撮影画面に対する主要被写体の面積比を示している。
【0108】
図12の例では、上記の面積比が5%以下のときに、上限値は1.5となり、下限値は−1.0となる。また、上記の面積比が5%より大きく50%未満の範囲では、上限値は面積比の大きさに比例して大きくなり、下限値は面積比の大きさに比例して小さくなる。そして、上記の面積比が50%以上のときに、上限値は5.0となり、下限値は−5.0となる。
【0109】
ここで、上記の面積比が50%以上の場合(上限値=5.0、下限値=−5.0)には、露出演算部27が主要被写体に合わせて露出を最大5段分まで補正できる。そのため、この場合には、背景が白トビまたは黒つぶれする確率が高くなり、実質的に補正を制限しないケースと同様となる。
【0110】
その後、露出演算部27は補正演算サブルーチン2を終了するとともに、図8に示すS206の処理に復帰する。以上で、図9の流れ図の説明を終了する。
【0111】
一の実施形態の電子カメラでは、露出演算部27が、検出された複数の顔に基づいて、補正された仮の代表輝度値(TempBv[i])を複数算出する(S205〜S208)。そして、露出演算部27は、補正された仮の代表輝度値のうちで前回の代表輝度値(PastBv)に最も近い値を今回の代表輝度値(BvAns)に設定する(S212、S213)。
【0112】
これにより、一の実施形態では、露出演算を繰り返し行うときに、主要被写体ではない人物の明るさの影響を受けて露出値が不安定になるおそれが低減する。例えば、主要被写体である人物の手前を別の人物が横切った状況では、主要被写体を撮影した前回の輝度代表値を基準として今回の代表輝度値が設定されるので、前回の撮影と今回の撮影との間で安定した露出を維持することができる。
【0113】
一の実施形態の電子カメラでは、カメラの状態が所定の条件(条件1〜3)を満たす場合には、露出演算部27は前回の露出演算に基づく露出の安定化処理を行わない(S201、S202)。そのため、ユーザーの意図しない顔に露出を合わせ続けることが回避される。
【0114】
また、一の実施形態の電子カメラでは、第1撮影モードが選択されている場合には、露出演算部27が、仮の代表輝度値PreBvAnsから補正後の代表輝度値BvAnsを求める(S103、S107)。
【0115】
これにより、一の実施形態では、1シーンとして鑑賞される複数の画像を連続的に取得する第1撮影モードにおいて顔による輝度値の補正が行われなくなる。そのため、第1撮影モードでは、人物の有無や人物の顔の大きさなどによって露出が画像ごとに変動しにくくなり、シーン全体で適正となる露出を得ることができる。
【0116】
なお、本実施形態では、第1撮影モードにおいて複数の画像を取得する間もステップS101からS109までの動作を繰り返し行っているが、消費電力を少なくするために、CPU17の不図示のタイマーが所定時刻になった時に図2の動作を開始するようにしても良い。
【0117】
<他の実施形態の説明>
図13は、他の実施形態における電子カメラの構成例を説明する図である。他の実施形態は、レンズ交換が可能な一眼レフレックス型の電子カメラに露出演算装置を組み込んだ例を示している。
【0118】
他の実施形態の電子カメラは、カメラ本体31と、撮像光学系を収納したレンズユニット32とを有している。ここで、カメラ本体31およびレンズユニット32には、一対のマウントがそれぞれ設けられている。レンズユニット32は、上記のマウントを介して、カメラ本体31に対して交換可能に接続される。また、上記のマウントにはそれぞれ電気接点が設けられており、カメラ本体31とレンズユニット32との接続時には両者の電気的な接続が確立する(図13でのマウントおよび電気接点の図示は省略する)。
【0119】
レンズユニット32は、フォーカシングレンズ33およびレンズドライバ34と、絞り35および絞りドライバ36と、レンズ内メモリ37とを内蔵している。フォーカシングレンズ33は、カメラ本体31からの指示に応じて、レンズドライバ34によって駆動される。また、絞り35は、カメラ本体31からの指示に応じて絞りドライバ36によって駆動される。また、レンズ内メモリ37は、レンズユニット32の情報を記憶したメモリである。なお、レンズ内メモリ37に記憶されている情報は、カメラ本体31に出力される。
【0120】
カメラ本体31は、メインミラー41と、メカニカルシャッタ42と、記録用撮像素子43と、サブミラー44と、焦点検出部45と、ファインダ光学系(51〜54)と、解析用撮像素子46と、マイコン47およびモニタ48とを有している。メインミラー41、メカニカルシャッタ42および記録用撮像素子43は、レンズユニット32の光軸に沿って配置される。メインミラー41の後方にはサブミラー44が配置される。また、カメラ本体31の上部にはファインダ光学系が配置されている。さらに、カメラ本体31の下部には焦点検出部45が配置されている。
【0121】
メインミラー41は、不図示の回動軸によって回動可能に軸支されており、観察状態と退避状態とを切り替え可能となっている。観察状態のメインミラー41は、メカニカルシャッタ42および記録用撮像素子43の前方で傾斜配置される。この観察状態のメインミラー41は、レンズユニット32を通過した光束を上方へ反射してファインダ光学系に導く。また、メインミラー41の中央部はハーフミラーとなっている。そして、メインミラー41を透過した一部の光束はサブミラー44によって下方に屈折されて焦点検出部45に導かれる。なお、焦点検出部45は、不図示のセパレータレンズで分割した被写体像の像ズレ量を検出し、この像ズレ量からフォーカシングレンズ33のデフォーカス量を求める。
【0122】
一方、退避状態のメインミラー41は、サブミラー44とともに上方に跳ね上げられて撮影光路から外れた位置にある。メインミラー41が退避状態にあるときは、レンズユニット32を通過した光束がメカニカルシャッタ42および記録用撮像素子43に導かれる。
【0123】
ファインダ光学系は、焦点板51と、コンデンサレンズ52と、ペンタプリズム53と、接眼レンズ54とを有している。焦点板51はメインミラー41の上方に位置し、観察状態のメインミラー41で反射された光束を一旦結像させる。焦点板51で結像した光束はコンデンサレンズ52およびペンタプリズム53を通過し、ペンタプリズム53の入射面に対して90°の角度を持った射出面から接眼レンズ54を介してユーザーの目に到達する。また、焦点板51で結像した光束の一部はコンデンサレンズ52およびペンタプリズム53を通過し、ペンタプリズム53の射出面近傍に配置された再結像レンズ55から解析用撮像素子46に入射する。
【0124】
ここで、他の実施形態の記録用撮像素子43は、メインミラー41が退避状態にあるときに、本画像やスルー画像の撮像を行う。また、解析用撮像素子46は、メインミラー41が観察状態にあるときにスルー画像の撮像を行う。なお、他の実施形態の解析用撮像素子46は、顔検出処理が可能な解像度でスルー画像を撮像することができる。
【0125】
マイコン47は、電子カメラの各部の動作を統括的に制御するプロセッサである。このマイコン47は、記録用撮像素子43または解析用撮像素子46の出力に対して画像処理を施す。また、マイコン47は、上記の一の実施形態における顔検出部および露出演算部と同様の機能を果たす。また、モニタ48は、マイコン47の制御によって各種の画像を表示する。
【0126】
(他の実施形態における撮影モードの動作例)
次に、図14の流れ図を参照しつつ、他の実施形態の電子カメラにおける撮影モードの動作の一例を説明する。図14に示す撮影モードの動作は、レリーズ釦(図13では不図示)の半押し操作によるAF動作開始の指示に応じてマイコン47が開始する。なお、図14の流れ図の開始時にはメインミラー41は観察状態の位置にある。
【0127】
ステップS401:マイコン47は、解析用撮像素子46を駆動させて解析用画像を取得する。このとき、マイコン47は焦点検出部45の出力に基づいてAF制御を実行する。
【0128】
ステップS402:マイコン47は、解析用画像の出力を用いて、撮影画面内に含まれる被写体の分割測光を実行するとともに、仮の代表輝度値PreBvAnsを求める。なお、S402の処理は、図2のS102に対応するので重複説明は省略する。
【0129】
ステップS403:マイコン47は、第1撮影モード(ストップモーション撮影モード/インターバルタイマー撮影モード)が選択されているか否かを判定する。上記要件を満たす場合(YES側)にはS407に処理が移行する。一方、上記要件を満たさない場合(第2撮影モードの場合:NO側)にはS404に処理が移行する。
【0130】
ステップS404:マイコン47は、解析用画像の出力を用いて、撮影画面内から人物の顔領域の位置を検出する。複数の顔が検出された場合、マイコン47は、顔の大きさなどに基づいて、露出決定において重要度の高い順番に顔領域をナンバリングする。
【0131】
そして、マイコン47は、検出した顔領域の位置に基づいて、撮影画面内の一部の被写体である主要被写体(顔)の輝度値BvObj[i]を求める。なお、S404の処理は、図2のS104に対応するので重複説明は省略する。
【0132】
ステップS405:マイコン47は、補正演算サブルーチン1(図8のS201からS213の処理)を実行して、補正後の代表輝度値BvAnsを求める。但し、顔が1つも検出されなかった場合、マイコン47は仮の代表輝度値PreBvAnsを補正後の代表輝度値BvAnsとする(BvAns=PreBvAns)。
【0133】
ステップS406:マイコン47は、補正後の代表輝度値BvAnsに基づいて公知の露出演算により露出量を演算するとともに、この露出量に基づいて露出制御(シャッタ秒時、絞り値などの各パラメータ調整)を行う。S406の処理後には、S408に処理が移行する。なお、S406の処理は、図2のS106に対応するので重複説明は省略する。
【0134】
ステップS407:マイコン47は、仮の代表輝度値PreBvAnsから補正後の代表輝度値BvAnsを求める(BvAns=PreBvAns)。
【0135】
そして、S407でのマイコン47は、補正後の代表輝度値BvAnsに基づいて公知の露出演算により露出量を演算するとともに、この露出量に基づいて露出制御(シャッタ秒時、絞り値などの各パラメータ調整)を行う。
【0136】
ステップS408:マイコン47は、撮影開始タイミングか否かを判定する。上記要件を満たす場合(YES側)にはS409に処理が移行する。一方、上記要件を満たさない場合(NO側)には、マイコン47はS401に戻って上記動作を繰り返す。
【0137】
ステップS409:マイコン47は、メインミラー41を観察状態の位置から退避状態の位置に駆動させる。
【0138】
ステップS410:マイコン47は、S406またはS407で求めた露出量に基づいて、本画像の撮像処理を実行する。記録用撮像素子43によって撮像された本画像のデータは、マイコン47で所定の画像処理が施された後に、不図示の記憶媒体に記録される。以上で、図14の流れ図の説明を終了する。この図14の例においても、上記の一の実施形態とほぼ同様の効果を得ることができる。
【0139】
<実施形態の補足事項>
(補足1)上記の各実施形態では、主要被写体が人物の顔である例を説明したが、顔以外の被写体を主要被写体とする場合にも本発明を適用できる。一例として、青空を主要被写体とする場合、露出演算部は、スルー画像や解析用画像での被写体の明るさや色情報、撮影画面での位置に着目して青空の領域を求め、この領域の輝度情報を用いて主要被写体の輝度値BvObjを求めればよい。また、露出演算部は、電子カメラのモード設定(例えば、ポートレートモードや風景モードなど)に主要被写体の種類を判定するようにしてもよい。
【0140】
(補足2)上記の一の実施形態において、CPU17は、レリーズ釦21の半押し操作によるAF開始指示をトリガとして、図2に示す撮影モードの動作を開始させるようにしてもよい。また、上記の一の実施形態における撮影モードの動作時(図2)において、CPU17は、レリーズ釦21の全押し操作の前に半押し操作があった場合には、その時点で焦点調節状態と露出のパラメータを固定するとともに、以後の焦点調節制御と露出制御とを停止するようにしてもよい。
【0141】
(補足3)上記の他の実施形態では、露出演算装置が一眼レフレックス型の電子カメラに適用される例を説明したが、観測用撮像素子15を有する一眼レフレックス型の銀塩カメラにも適用できる。
【0142】
(補足4)上記の各実施形態での撮像素子は、焦点検出用の受光素子が、本画像等を撮像するための受光素子と同一の受光面に配列されている構成であってもよい。この場合、焦点検出用の受光素子は、それぞれが位相差を有する第1信号列のパターンと第2信号列のパターンとを検出するように構成される。そして、これらのパターンの像ズレ量からカメラが撮像光学系の焦点調節状態を求めればよい(なお、この場合における撮像素子の構成例の図示は省略する)。
【0143】
(補足5)上記の各実施形態では、顔検出部や露出演算部をソフトウエア的に実現する例を説明したが、これらの構成はASICなどによってハードウエア的に実現しても勿論かまわない。
【0144】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図する。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。
【符号の説明】
【0145】
13…絞り、15…撮像素子、16…AFE、17…CPU、24…画像処理部、25…顔検出部、27…露出演算部、31…カメラ本体、32…レンズユニット、35…絞り、42…メカニカルシャッタ、43…記録用撮像素子、46…解析用撮像素子、47…マイコン
【特許請求の範囲】
【請求項1】
被写体からの光束を測光して第1測光値を求めるとともに、前記被写体のうちの一部の被写体に関する第2測光値を求める測光部と、
前記第2測光値に基づく所定の輝度値の範囲を前記第1測光値の目標範囲として設定する目標設定部と、
前記第1測光値を前記目標範囲に基づいて補正して第3測光値を求める補正部と、
前記補正部による前記第3測光値に基づいて、前記被写体からの光束に対する露出量を求める演算部と、を備え、
前記演算部は、1シーンとして鑑賞される複数の画像を連続的に取得する第1撮影モードのときには前記第1測光値に基づいて前記露出量を求め、前記第1撮影モードと異なる第2撮影モードのときには前記第3測光値に基づいて前記露出量を求める露出演算装置。
【請求項2】
請求項1に記載の露出演算装置において、
前記第1撮影モードは、1シーンの期間において一定の時間間隔で取得された所定枚数の画像を動画として記録する撮影モードである露出演算装置。
【請求項3】
請求項1に記載の露出演算装置において、
前記第1撮影モードは、1シーンの期間において一定の時間間隔で取得された所定枚数の静止画像をそれぞれ個別に記録する撮影モードである露出演算装置。
【請求項4】
請求項1から請求項3のいずれか1項に記載の露出演算装置を備えたことを特徴とするカメラ。
【請求項1】
被写体からの光束を測光して第1測光値を求めるとともに、前記被写体のうちの一部の被写体に関する第2測光値を求める測光部と、
前記第2測光値に基づく所定の輝度値の範囲を前記第1測光値の目標範囲として設定する目標設定部と、
前記第1測光値を前記目標範囲に基づいて補正して第3測光値を求める補正部と、
前記補正部による前記第3測光値に基づいて、前記被写体からの光束に対する露出量を求める演算部と、を備え、
前記演算部は、1シーンとして鑑賞される複数の画像を連続的に取得する第1撮影モードのときには前記第1測光値に基づいて前記露出量を求め、前記第1撮影モードと異なる第2撮影モードのときには前記第3測光値に基づいて前記露出量を求める露出演算装置。
【請求項2】
請求項1に記載の露出演算装置において、
前記第1撮影モードは、1シーンの期間において一定の時間間隔で取得された所定枚数の画像を動画として記録する撮影モードである露出演算装置。
【請求項3】
請求項1に記載の露出演算装置において、
前記第1撮影モードは、1シーンの期間において一定の時間間隔で取得された所定枚数の静止画像をそれぞれ個別に記録する撮影モードである露出演算装置。
【請求項4】
請求項1から請求項3のいずれか1項に記載の露出演算装置を備えたことを特徴とするカメラ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2013−40997(P2013−40997A)
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願番号】特願2011−176237(P2011−176237)
【出願日】平成23年8月11日(2011.8.11)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願日】平成23年8月11日(2011.8.11)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
[ Back to top ]