以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[実施形態1]以下に、実施形態1について説明する。
以下では、本実施形態の撮像装置をデジタル一眼レフカメラ(以下、カメラ)に適用した例を説明する。なお、本実施形態の撮像装置は、これらに限らず、携帯電話やその一種であるスマートフォンなどの通信機器、タブレット端末などの携帯型情報機器などにも適用可能である。
撮像装置が自動で主被写体を決定する方法としては、例えば撮影画像から人物の顔などの特定の被写体を検出し、検出した各被写体について主被写体としての適性(以下、主被写体適性)を判定し、最も適性の高い被写体を主被写体とする方法が知られている。
しかしながら、例えばユーザが主被写体を選択すると同時に、撮像装置がユーザの選択した被写体よりも高い主被写体適性を持つ別の被写体を検出した場合、撮像装置はどちらの被写体を主被写体に設定すべきかの判定が困難な場合がある。そして、状況に応じて適切な主被写体を選択しなければ、ユーザの意図と異なる被写体を主被写体としてしまう課題がある。
そこで、本実施形態では、追尾対象の主被写体がユーザ選択による場合には、ユーザによって選択されていない場合(撮像装置により自動判定され、決定された被写体である場合)に比べて現在の追尾対象から他の被写体に追尾対象が変更されにくいように制御する。
<装置構成>
まず、図1から図3を参照して、本実施形態のカメラ100の構成および機能について説明する。
図1、図2および図3は、本実施形態のカメラ100における光学系の構成、制御系の構成、ファインダー画面をそれぞれ例示している。
本実施形態のカメラ100は、カメラ本体101の正面側(被写体側)に交換式のレンズユニット120が着脱可能に装着される。レンズユニット120は、フォーカスレンズ121および絞り122などを有し、カメラ本体101に対して接点部123を介して電気的に接続される。カメラ本体101は接点部123を介してレンズユニット120と通信することで、カメラ本体101に取り込む被写体像光の光量や焦点位置などを調節可能である。なお、レンズユニット120のフォーカスレンズ121は、ユーザが手動で調節することもできる。
システム制御部102は、複数のタスクを並列処理できるマルチコアCPU、RAMおよびROMなどを備え、カメラ本体101およびレンズユニット120の各部を制御する。また、システム制御部102は、撮像センサ111から出力される信号から画像データを生成したり、画像中から人物の顔などの特定の被写体を検出する処理を高速に実行するための演算回路を有する。
メインミラー103は、ファインダー観察時には、撮影光路に進入しレンズユニット120を通過した被写体光束をピント板106に導き、撮影時には、撮影光路から退避して被写体光束を撮像センサ111に導く。メインミラー103はハーフミラーで構成され、サブミラー104は、メインミラー103を透過した被写体光束を反射して焦点検出センサ105へ導く。
ペンタダハプリズム107は、ピント板106に結像した被写体光束を正立正像の被写体像に変換し、変換された被写体像は、測光センサ108に導かれるとともに、光学ファインダーおよびアイピース109を通してユーザに視認される。図3は、ユーザが光学ファインダーを覗いた際に視認されるファインダー画面を例示している。ピント板106近傍に配置されたファインダー視野枠113によって被写体光束の周辺部は遮光され、撮像センサ111で撮像される領域のみがユーザの視認するファインダー画面131となる。
測光センサ108は、図3に示すファインダー画面131より内側の測光領域132の光束を受光し、AE(自動露出)像信号を生成する。測光センサ108で生成されたAE像信号はシステム制御部102へ送信される。システム制御部102は、測光センサ108から受信したAE像信号を用いて自動露出処理を行い、さらに後述する被写体検出処理および追尾AF処理を行う。
焦点検出センサ105は、被写体光束の二次結像面を焦点検出センサ上に形成することで、図3に示すファインダー画面131に矩形のAF枠として表示される191点の焦点検出点301に対応するAF像信号を生成する。焦点検出センサ105により生成されたAF像信号はシステム制御部102へ送信される。システム制御部102は、焦点検出センサ105から受信したAF像信号に基づいてフォーカスレンズ121の焦点状態を検出し、焦点検出結果に基づいてフォーカスレンズ121の駆動を制御することでAF(オートフォーカス)処理を行う。
撮像センサ111は、CCDやCMOSなどの光電変換素子、赤外カットフィルターやローパスフィルターなどを含む。撮像センサ111は、システム制御部102により制御されて、レンズユニット120の撮影光学系を通過して結像した被写体像を光電変換した画像信号をシステム制御部102に送信する。システム制御部102は、撮像センサ111から受信した画像信号から画像データを生成して記憶部202に記憶するとともに、表示部112に表示する。
表示部112は、有機ELや液晶などの表示パネルを備え、カメラ100で撮影された映像、各種設定、操作メニューなどを表示可能である。記憶部202は、メモリカードやハードディスクなどのカメラ100に内蔵された記録媒体またはカメラ100に対して着脱可能な記録媒体である。シャッター110は、システム制御部102により駆動が制御されて、後述する撮影モードではない場合は撮像センサ111を遮光し、撮影モードの場合は撮像センサ111を露光する。
操作部201はユーザからの各種操作を受け付ける各種スイッチ、ボタン、タッチパネルなどの操作部材である。操作部201は、例えば電源ボタン、モード切替ボタン、シャッターボタンなどを含み、ユーザ操作を検知し、検知結果に応じた操作信号をシステム制御部102へ送信する。電源ボタンは、カメラ100の電源をオンまたはオフに切り替える操作部材である。モード切替ボタンは、カメラ100の動作モードを切り替える操作部材である。カメラ100の動作モードは、撮像センサ111から出力される画像信号を逐次表示するライブビューモード、静止画や動画を撮影する撮影モード、撮影された映像を再生する再生モードなどを含み、ユーザはモード切替ボタンによりいずれかの動作モードが選択可能である。また、撮影モードにおいては後述する被写体追尾処理を行う追尾AFモードの設定が可能である。
シャッターボタンが半押しされると、第1スイッチSW1がオンとなり、システム制御部102は、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理などの撮影準備処理を開始する。また、シャッターボタンが全押しされると、第2スイッチSW2がオンとなり、システム制御部102は、撮像センサ111からの画像信号の読み出しから記憶部202に画像データを書き込むまでの一連の撮影処理を開始する。また、シャッターボタンが押されていない状態では、ユーザはダイヤル操作などにより図3に示すファインダー画面131における191点の焦点検出点301の中から任意の1点を、任意選択焦点検出点302として設定できる。任意選択焦点検出点302が設定された状態で第1スイッチSW1がオンした場合、システム制御部102は、任意選択焦点検出点302で検出された焦点状態に応じてAF処理を行う。なお、カメラの設定などにより、ユーザは任意選択焦点検出点302を設定しないことも可能である。
次に、図4、図5および図6を参照して、本実施形態のカメラ100の被写体追尾処理を行う追尾AFモードにおける連続撮影動作について説明する。
図4は、本実施形態のカメラ100による、第1スイッチSW1がオンされた後の追尾AFモードによる連続撮影動作の流れを示している。
図4におけるステップS401からステップS411までの処理は、連続撮影の1フレーム分に相当する一連の処理であり、これら一連の処理を繰り返すことで連続撮影が実行される。なお、図4の処理はシステム制御部102のCPUがROMに格納されたプログラムがRAMに展開して実行しカメラ100の各部を制御することにより実現される。
ステップS401では、システム制御部102は、測光センサ108の電荷蓄積を行い、生成された像信号をAE像信号として読み出す。また、システム制御部102は、焦点検出センサ105の電荷蓄積を行い、生成された像信号をAF像信号として読み出す。システム制御部102は、AE像信号およびAF像信号の読み出しが完了すると、ステップS402に進む。
ステップS402では、システム制御部102は、過去のフレームにおいて、後述するステップS410で主被写体領域が抽出され、追尾AF処理を行うための追尾基準データが生成されている場合はステップS403へ進む。また、システム制御部102は、第1スイッチSW1オン直後などで、追尾基準データが未生成である場合はステップS404へ進む。
ステップS403では、システム制御部102は、ステップS401で読み出したAE像信号と、追尾基準データを用いて、公知の色ヒストグラムマッチング方式によって特定の被写体を追尾する追尾AF処理を行い、主被写体の位置を推定する。そして、推定した主被写体領域の位置を被写体追尾領域としてRAMに記憶し、ステップS404へ進む。
ここで、図5を参照して、色ヒストグラムマッチングによって被写体追尾領域を推定する手順について説明する。
AE像信号501、502は、異なるフレームで撮像されたAE像信号である。AE像信号501は、過去のフレームのAE像信号であり、後述のステップS410によって主被写体の抽出と、追尾基準データの生成が行われたAE像信号である。AE像信号502は、現在フレームのAE像信号であり、追尾AF処理によって主被写体位置の推定が行われるAE像信号である。
追尾AF処理は、まず、過去のフレームにおいて、AE像信号501から主被写体領域503が抽出され、主被写体領域503に含まれる画素値に基づいて基準色ヒストグラム506が生成される。基準色ヒストグラム506の横軸は、色相、彩度、輝度の数値に基づいて分類される色の種類である。基準色ヒストグラム506の縦軸は、画素値に基づいて各色に分類された画素の数である。生成された基準色ヒストグラム506は、新たな基準色ヒストグラムによって上書きされるまでは、システム制御部102のRAMに記憶され続ける。
続いて、現在のフレームにおいて、AE像信号502をラスタスキャンしながら複数の探索領域504を抽出し、各探索領域504に含まれる画素値に基づいて色ヒストグラム507を生成していく。色ヒストグラム507の横軸、縦軸は基準色ヒストグラム506と同一である。
そして、生成された全ての色ヒストグラム507について、基準色ヒストグラム506との一致性を評価し、最も一致性の高かった色ヒストグラム507に対応する探索領域を、現在のフレームにおける被写体追尾領域505とする。
なお、2つのヒストグラムの一致性を評価する方法としては、公知のBhattacharyya(バタチャリア)係数を用いる。
ステップS404では、システム制御部102は、ステップS401で読み出したAF像信号と、ステップS403で検出した被写体追尾領域505の位置に基づいて、主焦点検出点の決定と、フォーカスレンズ121の焦点調節を行い、ステップS405に進む。
ここで、図6を参照して、被写体追尾領域505の位置に基づいて主焦点検出点を決定する処理について説明する。
図6(a)は、ファインダー画面131に表示される191点の焦点検出点301と、ステップS403で検出した被写体追尾領域505とを重ね合わせた状態を例示している。システム制御部102は、まず、191点の焦点検出点301の中から、ファインダー画面131において被写体追尾領域505と一部でも重なり合う全ての焦点検出点を抽出する。
図6(b)は、191点の焦点検出点301の中から、被写体追尾領域505と重なる焦点検出点を抽出した状態を例示している。システム制御部102は、抽出した焦点検出点を、主焦点検出点候補601としてRAMに記憶する。
図6(c)は、主焦点検出点候補601の中から、1つの主焦点検出点を選択する方法を例示している。システム制御部102は、主焦点検出点候補601に含まれる各焦点検出点について、対応するAF枠の面積を基準として、被写体追尾領域505と重複する面積の比率が高い順にソートする。さらに、重複する面積比率が同等な焦点検出点が複数存在する場合には、それら同等の比率を持つ焦点検出点の中で、さらに被写体追尾領域505の中心から近い順にソートする。このようにしてソートされた主焦点検出点候補601に対して、システム制御部102は、上から順に順位付けする。
そして、システム制御部102は、順位付けされた主焦点検出点候補601のうち、最も順位の高い焦点検出点602について、ステップS401で取得したAF像信号を用いて焦点検出演算を行う。そして、演算の結果、焦点が検出できた場合には、焦点検出点602を主焦点検出点とする。
また、コントラストが所定より低いことなどが原因で焦点検出点602の焦点が検出できなかった場合には、順位付けされた主焦点検出点候補601のうち、2番目に順位の高い焦点検出点603の焦点検出演算を行う。焦点検出演算の結果、焦点が検出できた場合には、焦点検出点603を主焦点検出点とする。
焦点検出点603でも焦点を検出できなかった場合は、3番目、4番目、・・・というように、同様の焦点検出演算を焦点が検出できるまで繰り返し、主焦点検出点を決定する。主焦点検出点候補601に含まれる全ての焦点検出点で焦点が検出できなかった場合には、191点の焦点検出点301のうち、主焦点検出点候補601に含まれない残りの焦点検出点に対して焦点検出演算を行う。そして、それら残りの焦点検出点のうち、主被写体の予測焦点位置に最も近い焦点位置を持つ焦点検出点を主焦点検出点とする。
最後に、システム制御部102は、主焦点検出点の焦点状態に基づいて、フォーカスレンズ121の焦点位置を調節する。
なお、第1スイッチSW1がオンされた直後など、ステップS403が実行されなかったフレームにおいては、システム制御部102は、任意選択焦点検出点302が予め設定されていた場合には、任意選択焦点検出点302を主焦点検出点とする。また、任意選択焦点検出点302が設定されていなかった場合には、191点の焦点検出点301全てで焦点検出を行い、最もカメラに近い位置に焦点がある焦点検出点を主焦点検出点とする。
ステップS405では、システム制御部102は、ステップS401で読み出したAE像信号を用いて公知の方法により自動露出演算を行い、絞り値(AV値)、シャッタスピード(TV値)、ISO感度(ISO値)を決定する。ここでのAV値、TV値、ISO値は、予めROMに記憶されたプログラム線図を用いて決定する。システム制御部102は、AV値、TV値、ISO値の計算が完了すると、ステップS406に進む。
ステップS406では、システム制御部102は、第2スイッチSW2の状態を検出し、第2スイッチSW2がオンである場合はステップS407へ進み、第2スイッチSW2がオフである場合はステップS408へ進む。
ステップS407では、システム制御部102は、被写体像の撮影を行う。システム制御部102は、ステップS405で算出した絞り値に基づいて絞り122を調節し、メインミラー103およびサブミラー104をアップすることで光路上から退避させる。続いて、ステップS405で算出したシャッター速度に基づく速度でシャッター110を駆動させ、撮像センサ111を露光する。露光された撮像センサ111は画像信号を生成し、システム制御部102へ送信する。そして、システム制御部102は、撮像センサ111から受信した画像信号から画像データを生成し、記憶部202に記憶するとともに、表示部112に画像を表示した後、ステップS408に進む。
ステップS408では、システム制御部102は、ステップS401で読み出されたAE像信号から所定の被写体を検出し、ステップS409に進む。所定の被写体としては、例えば、人物の顔などが代表的であるが、これに限らない。この場合、システム制御部102は、公知の方法で人物の顔領域を検出し、検出した顔領域の位置や大きさ等のパラメータをRAMに記憶する。
ステップS409では、システム制御部102は、ステップS401で読み出されたAE像信号の中から、ステップS403で検出された被写体追尾領域505および、ステップS408で検出された顔検出領域に基づいて主被写体を決定する。システム制御部102は、第1スイッチSW1がオンした直後など、過去のフレームにおいて主被写体が設定されていない場合には、AE像信号中の新たな主被写体領域を決定する。また、システム制御部102は、過去のフレームにおいて既に主被写体が設定されている場合には、既存の主被写体を維持するか、既存の主被写体とは別の被写体に主被写体を変更するかを判定して、AE像信号中の主被写体領域を決定する。主被写体を決定した後、ステップS410に進む。主被写体を決定するアルゴリズムは図7を用いて後述する。
ステップS410では、システム制御部102は、ステップS401で読み出したAE像信号から、ステップS409で決定された主被写体領域を抽出し、抽出した主被写体領域の色ヒストグラムを生成した後、ステップS411に進む。生成された色ヒストグラムは新たな追尾対象として、後続するフレームの追尾AF処理における基準色ヒストグラムとして使用される。
ステップS411では、システム制御部102は、第1スイッチSW1と第2スイッチSW2の状態を検出し、いずれかがオンであれば、フレームを1つ進めるとともに、ステップS401へ進み、いずれもオフであれば、連続撮像動作を停止する。
次に、図7〜図13を参照して、本実施形態のカメラ100により主被写体を決定する手順について詳細に説明する。
図7は、ステップS409の主被写体決定処理を示すフローチャートである。ステップS701からステップS717によりAE像信号における主被写体領域の決定と、主被写体領域のパラメータ設定が行われる。ステップS409で決定された主被写体領域は、ステップS410にて主被写体領域に基づく追尾基準データの生成が行われ、後続するフレームにおけるステップS403の追尾AF処理に用いられる。
図8は、主被写体領域のパラメータを例示している。パラメータ801は、AE像信号上における主被写体領域の位置を表すパラメータであり、X座標、Y座標の数値で構成される。パラメータ802は、AE像信号上における主被写体領域の大きさを表すパラメータであり、高さ、幅の数値で構成される。
顔フラグ803は、主被写体領域が、ステップS408の顔検出領域に基づいて決定されていればTRUE、そうでなければFALSEとなる。任意選択被写体フラグ804は、主被写体領域が、ユーザが設定した任意選択焦点検出点302を基準に決定されたものであればTRUE、それ以外の、例えばカメラが自動で決定した等の場合にはFALSEがセットされる。任意選択被写体フラグ804を設定する理由は、後述のステップS715からステップS717において主被写体の変更を判定する処理に用いるためである。
ステップS701では、システム制御部102は、ステップS401で読み出したAE像信号の中から、主被写体の候補領域(以下、主被写体候補領域)を抽出し、ステップS702に進む。主被写体候補領域となるのは、ステップS403で検出された被写体追尾領域と、ステップS408で検出された顔検出領域である。以下、被写体追尾領域に応じた主被写体候補領域を「被写体追尾領域に基づく主被写体候補領域」と呼び、顔検出領域に応じた主被写体候補領域を「顔検出領域に基づく主被写体候補領域」と呼ぶ。
図9は、主被写体候補領域となる被写体領域を例示している。901は、ステップS403の追尾AF処理で検出された被写体追尾領域であり、被写体追尾領域に基づく主被写体候補領域として抽出される。902、903は、ステップS408の被写体検出で検出された人物の顔検出領域であり、顔検出領域に基づく主被写体候補領域として抽出される。これら被写体追尾領域に基づく主被写体候補領域901と、顔検出領域に基づく主被写体候補領域902、903の合計3つの領域が主被写体候補領域となる。なお、第1スイッチSW1オンの直後など、被写体追尾領域が存在しない場合は、被写体追尾領域に基づく主被写体候補領域901は抽出されない。
ステップS702では、システム制御部102は、ステップS701で抽出された主被写体候補領域に対して主被写体適性を計算し、ステップS703に進む。主被写体適性の計算式を式1に示す。
(式1)
主被写体適性=(α×重み係数1)+(β×重み係数2)+(γ×重み係数3)
式1の変数αは、それぞれの主被写体候補領域が、人物の顔に相当する領域である場合には1、顔に相当しない領域である場合には0となる。例えば、図9の例では、顔検出領域に基づく主被写体候補領域902、903の計算時には1となる。また、被写体追尾領域に基づく主被写体候補領域901の計算時には、現在追尾対象とされている主被写体領域のパラメータを参照し、顔フラグ803がTRUEであれば1となり、FALSEであれば0となる。図9の例では、被写体追尾領域に基づく主被写体候補領域901は人物の顔でないため0となる。変数αに対して、所定の重み係数1がかけられる。変数αにより、主被写体適性は、物体や動物のような人物の顔でない被写体よりも、人物の顔である被写体の方が高まりやすくなる。これは、撮影シーンの中に人物が写っている場合には、ユーザが意図する主被写体は人物である可能性が高いためである。
式1の変数βは、それぞれの主被写体候補領域が、ファインダー画面131の中心に近いほど高く、遠いほど小さい値をとる変数である。したがって、図9に示す撮影シーンでは、被写体追尾領域に基づく主被写体候補領域901、顔検出領域に基づく主被写体候補領域903、顔検出領域に基づく主被写体候補領域902の順に変数βは高くなる。変数βに対して、所定の重み係数2がかけられる。変数βにより、主被写体適性は、ファインダー画面131の中心に近い被写体ほど高まりやすくなる。これは、ユーザが撮影の構図を決める際、主被写体を撮影画面の中央付近に捉える傾向が比較的高いためである。
式1の変数γは、それぞれの主被写体候補領域が、カメラから見て近くに位置するほど高く、遠くに位置するほど小さい値をとる変数である。カメラから主被写体までの距離を知る方法としては、例えばファインダー画面131において各主被写体候補領域に含まれる焦点検出点の焦点位置を検出し、焦点位置に基づいてカメラからの距離を推測する方法がある。
図9に示す撮影シーンでは、顔検出領域に基づく主被写体候補領域902、被写体追尾領域に基づく主被写体候補領域901、顔検出領域に基づく主被写体候補領域903の順に変数γは高くなる。変数γに対して、所定の重み係数3がかけられる。変数γにより、主被写体適性は、撮影距離がカメラから見て近い位置に存在する被写体ほど高まりやすくなる。これは、撮影画面において大きく写っている被写体と小さく写っている被写体とでは、大きく写っている被写体の方が、ユーザの意図する主被写体である可能性が比較的高いためである。
重み係数1、2、3は、カメラの使用目的や、カメラ設定等により調整して設定される。本実施形態においては、最も大きい重みを重み係数1とし、次いで重み係数3、最も小さい重みを重み係数2とする。
グラフ904は、被写体追尾領域に基づく主被写体候補領域901、顔検出領域に基づく主被写体候補領域902、顔検出領域に基づく主被写体候補領域903に対する主被写体適性の計算結果である。グラフ904では、最も大きい重み係数1の影響で顔検出領域に基づく主被写体候補領域902、顔検出領域に基づく主被写体候補領域903の主被写体適性は、被写体追尾領域に基づく主被写体候補領域901よりも高くなっている。そして、2番目に大きい重み係数3の影響で顔検出領域に基づく主被写体候補領域902の主被写体適性が、顔検出領域に基づく主被写体候補領域903よりも高くなっている。
ステップS703では、システム制御部102は、現在のフレームは第1スイッチSW1がオンしてから最初のフレームであるかを判定し、最初のフレームである場合はステップS704に進み、最初のフレームでない場合はステップS715に進む。
ステップS704では、システム制御部102は、第1スイッチSW1がオンされる前に任意選択焦点検出点302が設定されていた場合にはステップS705へ進み、設定されていなかった場合にはステップS710へ進む。
次に説明するステップS705からステップS709は、第1スイッチSW1がオンして最初のフレームにおいて、ユーザが予め任意選択焦点検出点302を設定していた場合の主被写体領域の決定処理である。第1スイッチSW1がオンして最初のフレームでは、追尾対象が設定されていないため、被写体追尾領域に基づく主被写体候補領域は存在しない。
ステップS705では、システム制御部102は、ステップS701で抽出された全ての主被写体候補領域の位置と、任意選択焦点検出点302の位置とを比較する。そして、いずれかの主被写体候補領域の内側に任意選択焦点検出点302が含まれる場合には、ステップS706に進む。また、ステップS408において顔領域が1つも検出されず主被写体候補領域が存在しない場合、あるいは、いずれの主被写体候補領域の内側にも任意選択焦点検出点302が含まれない場合には、ステップS708に進む。
図10(a)は、任意選択焦点検出点302が主被写体候補領域の内側に含まれる例を示している。1001、1002は、ステップS408で検出された人物の顔検出領域に基づく主被写体候補領域である。
ステップS706では、システム制御部102は、主被写体候補領域1001、1002のうち、任意選択焦点検出点302を含む主被写体候補領域1002を主被写体領域に決定する。そして、決定した主被写体領域の位置をパラメータ801、大きさをパラメータ802に設定し、ステップS707に進む。
ステップS707では、システム制御部102は、ステップS706で決定された主被写体領域が、顔検出領域に基づく主被写体候補領域であるため、顔フラグ803にTRUEをセットする。また、主被写体領域は、その内側に任意選択焦点検出点302を含むため、任意選択被写体フラグ804にもTRUEをセットする。そして、システム制御部102は、主被写体決定処理を完了する。
図10(b)は、任意選択焦点検出点302が主被写体候補領域の内側に含まれない例を示している。
ステップS708では、システム制御部102は、任意選択焦点検出点302の位置を中心とする所定の大きさの領域を主被写体領域1003に決定する。そして、決定した主被写体領域の位置をパラメータ801、大きさをパラメータ802に設定し、ステップS709に進む。
なお、公知の物体検出、動物検出等の特定の被写体を検出する方法を用いて、任意選択焦点検出点302を含んだ検出被写体領域を主被写体領域としてもよい。
ステップS709では、システム制御部102は、ステップS708で決定された主被写体領域が、顔検出領域に基づく主被写体候補領域ではないため、顔フラグ803にFALSEをセットする。また、システム制御部102は、任意選択焦点検出点302に基づいて決定された被写体ではあるため、任意選択被写体フラグ804にTRUEをセットする。そして、システム制御部102は、主被写体決定処理を完了する。
以上のステップS704からステップS709の処理によって、ユーザが任意選択焦点検出点302を設定している場合には、第1スイッチSW1がオンした直後のフレームでは、常に任意選択焦点検出点302に基づいて主被写体が決定される。これは、ユーザが意図して任意選択焦点検出点302を設定している状況では、ユーザが目標とする主被写体は、任意選択焦点検出点302に存在する可能性が高いためである。
次に説明するステップS710からステップS714は、第1スイッチSW1がオンして最初のフレームにおいて、ユーザが任意選択焦点検出点302を設定していなかった場合の主被写体領域決定処理である。第1スイッチSW1がオンして最初のフレームでは、追尾対象が設定されていないため、被写体追尾領域に基づく主被写体候補領域は存在しない。
ステップS710では、システム制御部102は、ステップS701で抽出された主被写体候補領域の数が1以上であればステップS711へ進み、0であればステップS713へ進む。
ステップS711では、システム制御部102は、全ての主被写体候補領域のうち、ステップS702で算出された主被写体適性が最も高い主被写体候補領域を主被写体領域に決定する。そして、決定した主被写体領域の位置をパラメータ801、大きさをパラメータ802に設定し、ステップS712に進む。
図11(a)は、ステップS711において設定される主被写体領域を例示している。1101、1102は、ステップS701で顔検出領域に基づく主被写体候補領域として抽出された領域である。1103は、ステップS702で計算された、顔検出領域に基づく主被写体候補領域1101、1102の主被写体適性を表すグラフである。この撮影シーンにおいては、顔検出領域に基づく主被写体候補領域1101が主被写体領域として決定される。なお、ステップS711は、第1スイッチSW1がオンして最初のフレームでのみ実行される処理であるため、被写体追尾領域に基づく主被写体候補領域は存在しない。
ステップS712では、システム制御部102は、ステップS711で決定された主被写体領域が、顔検出領域に基づく主被写体候補領域であることから、顔フラグ803にTRUEをセットする。また、システム制御部102は、任意選択焦点検出点302が設定されていないため、任意選択被写体フラグ804にはFALSEをセットする。そして、システム制御部102は、主被写体決定処理を完了する。
ステップS713では、システム制御部102は、ステップS404で決定された主焦点検出点の位置を中心とする所定の大きさの領域を主被写体領域に決定する。そして、決定した主被写体領域の位置をパラメータ801、大きさをパラメータ802に設定し、ステップS714に進む。
なお、公知の物体検出、動物検出等の特定の被写体を検出する方法を用いて、ステップS404で決定された主焦点検出点を主被写体領域としてもよい。
図11(b)は、ステップS713において設定される主被写体領域を例示している。主焦点検出点1103は、ステップS404の焦点調節処理で選択された主焦点検出点である。前述した通り、ステップS404では、第1スイッチSW1がオンして最初のフレームで、かつ任意選択焦点検出点302が設定されていない場合には、191点の焦点検出点のうち、カメラから最も近い位置に焦点を持つ点が主焦点検出点として選択される。
そして、主被写体領域1104は、主焦点検出点1103の位置を中心とする所定の大きさの領域として設定される。
ステップS714では、システム制御部102は、ステップS713で決定される主被写体領域が顔検出領域に基づく主被写体候補領域ではないことから、顔フラグ803にFALSEをセットする。また、任意選択焦点検出点302も設定されていないため、任意選択被写体フラグ804にもFALSEをセットする。そして、システム制御部102は、主被写体決定処理を完了する。
ステップS715では、システム制御部102は、現在設定されている主被写体領域の任意選択被写体フラグ804を参照し、TRUEであればステップS716に進み、FALSEであればステップS717に進む。
ステップS716では、システム制御部102は、ステップS701で抽出した主被写体候補領域のうち、被写体追尾領域に基づく主被写体候補領域の主被写体適性に所定の補正をかけた後、ステップS717に進む。
図12は、図9の撮影シーンおよび各主被写体候補領域の主被写体適性のグラフに加え、被写体追尾領域に基づく主被写体候補領域の主被写体適性に対して所定の補正をかけた結果を例示している。グラフ1201は、図9に示す撮影シーンにおける主被写体適性のグラフ904に対して、被写体追尾領域に基づく主被写体候補領域901の主被写体適性に所定の補正1202をかけた結果である。補正1202によって、被写体追尾領域に基づく主被写体候補領域901の主被写体適性は、他の主被写体候補領域902、903よりも高くなる。その結果、後述のステップS717において、主被写体領域は被写体追尾領域に基づく主被写体候補領域901に決定される。
なお、補正1202の大きさは、例えばカメラ設定としてユーザが被写体変更の積極性の高低を設定できるようにし、被写体変更の積極性が高く設定されていれば補正を小さく、低く設定されていれば補正を大きくするようにして設定される。あるいは、補正1202の大きさを所定の固定値としてもよい。また、補正1202はオフセットとして加算する形式でもよいし、ゲインとして乗算する形式でもよい。さらに、第1スイッチSW1オンからの経過時間に応じて、補正1202の大きさを減少させてもよい。これは、第1スイッチSW1オンから十分な時間が経過していれば、補正1202の影響を小さくした主被写体適性に基づいて主被写体を決定しても、ユーザにとっての整合性の低下は小さく、一方で利便性は高めることができるためである。
このような補正をかける理由は、ユーザが任意選択した主被写体は、他の被写体よりも主被写体としての高い優先度を持つためである。例えば、図9に示す撮影シーンにおいて、被写体追尾領域に基づく主被写体候補領域901がユーザによって任意選択された被写体である場合には、ユーザにとっての主被写体は、後続するフレームにおいても901である可能性が高い。そこで、追尾対象となる主被写体がユーザによって任意選択された被写体である場合には、被写体追尾領域に基づく主被写体候補領域の主被写体適性に所定の補正をかけることにより、ユーザの意図に反して別の被写体に主被写体が変更されることを抑制する。
しかしながら、例えば主被写体がカメラから遠ざかるなどして主被写体としての適性が低下する一方、著しく高い主被写体適性を持つ別の被写体が出現した場合には、別被写体に主被写体を変更することがユーザにとっても整合性のある動作と言える。そのため、補正1202を計算に入れた上でも、現在追尾対象とされている主被写体より主被写体適性の高い別の被写体が存在する場合には、現在の主被写体から別の被写体に主被写体を変更する。これにより、連続撮影中の撮影シーンの変化などによって、現在の主被写体よりも著しく主被写体に適した別被写体が出現した場合には、かかる別被写体に主被写体を変更することができ、ユーザにとって整合性のある主被写体変更を実現できる。
図13は、主被写体が変更される場合を例示している。1301は、被写体追尾領域に基づく主被写体候補領域であり、過去のフレームにおいて、ユーザが設定した任意選択焦点検出点302に基づいて設定されたものである。1302は、顔検出領域に基づく主被写体候補領域である。
グラフ1303は、ステップS702において、被写体追尾領域に基づく主被写体候補領域1301および、顔検出領域に基づく主被写体候補領域1302の主被写体適性が計算された結果を示すグラフである。グラフ1304は、被写体追尾領域に基づく主被写体候補領域1301の主被写体適性に補正1305をかけた結果である。
グラフ1303では、被写体追尾領域に基づく主被写体候補領域1301の被写体が、カメラから遠く、かつファインダー画面131の中心からの離れた位置にあるため、主被写体適性は低くなっている。一方、顔検出領域に基づく主被写体候補領域1302の被写体は、カメラから近く、かつファインダー画面131の中心からの付近にあるため、主被写体適性が高くなっている。
そのため、グラフ1304に示すように、補正1305をかけたとしても、顔検出領域に基づく主被写体候補領域1302の方が、被写体追尾領域に基づく主被写体候補領域1301よりも、主被写体適性が高くなっている。
この結果、図13の例では、後述のステップS717において、主被写体領域は、顔検出領域に基づく主被写体候補領域1302に決定される。
以上の補正によって、追尾AFモードで連続撮影を行う際、ユーザが任意選択した主被写体を追尾する場合には、所定の条件に基づいて主被写体の変更を抑制することにより、ユーザにとって整合性のある主被写体変更の判定が可能となる。
ステップS717では、システム制御部102は、全ての主被写体候補領域の中で最も主被写体適性の高い領域を主被写体領域に決定し、主被写体領域のパラメータを新たに設定した後、主被写体決定処理を完了する。
顔フラグ803および任意選択被写体フラグ804の設定については、主被写体の変更が発生したか否かによって異なるパラメータがセットされる。すなわち、決定された主被写体領域が、被写体追尾領域に基づく主被写体候補領域である場合には、現在のフレームまでに追尾していた主被写体を、後続のフレームでも引き続き追尾することになるため、主被写体は変更されていないことになる。この場合、顔フラグ803および任意選択被写体フラグ804は、直前のフレームの主被写体領域のパラメータから引き継ぐ。
一方、ここで決定された主被写体領域が、顔検出領域に基づく主被写体候補領域である場合には、現在のフレームまでに追尾していた主被写体とは異なる被写体を、後続のフレームで追尾することになるため、主被写体が変更されたことになる。この場合、顔フラグ803にTRUE、任意選択被写体フラグ804にFALSEがセットされる。
なお、主被写体の変更が発生した場合、後続するフレームにおいて、AE像信号に変更前の元の主被写体が存在し続けている場合、元の主被写体の主被写体適性に対して補正をかけ続けてもよいし、補正をかけないようにしてもよい。
元の主被写体はユーザが任意選択した被写体であることから、元の主被写体を主被写体として重要視する場合には、後続のフレームで元の主被写体に補正をかけ続けることが望ましい。補正をかけ続けることで、さらに後続のフレームで、ユーザが任意選択した元の主被写体が、再度主被写体に選ばれやすくなる。
一方、変更後の主被写体は、補正を加味してもユーザが任意選択した被写体より主被写体適性の高い被写体であることから、変更後の主被写体を主被写体として重要視する場合には、後続のフレームで元の主被写体に補正をかけないことが望ましい。これにより、元の主被写体への再度の主被写体変更を抑制できる。
実施形態1の主被写体決定処理によれば、追尾対象となる主被写体がユーザによって任意選択されていた場合には、候補被写体のうち、現在の追尾対象と同一の被写体である候補被写体の適性について追尾対象の変更が抑制されるように補正する。これにより、追尾AFモードにおいて連続撮影を継続している間であっても、ユーザにとって整合性のある主被写体選択および主被写体変更を実現できる。
[実施形態2]次に、実施形態2について説明する。
実施形態2では、実施形態1とは異なる方法によって、ユーザが任意選択した主被写体を追尾している間の主被写体の変更を抑制することにより、ユーザにとって整合性のある主被写体変更を行う方法について説明する。実施形態2の概要としては、主被写体変更の判定を行う際、主被写体適性が所定の閾値以上となる主被写体候補のみを主被写体変更の対象とする例である。
実施形態2が実施形態1と異なるところは、ステップS409の主被写体決定のアルゴリズムのみであり、それ以外の構成は同一である。そこで、以下、図14、図15を用いて、本実施形態におけるステップS409の主被写体決定のアルゴリズムについて説明する。
図14は、実施形態2におけるステップS409の主被写体決定処理を示すフローチャートである。図14の処理は、実施形態1における図7の主被写体決定処理をベースとし、変更点は、ステップS1401が追加されている点と、ステップS715、S716がステップS1402からS1404に置き換わっている点である。なお、それ以外のステップは同一であるため、ステップS704からステップS714の処理は、ステップS1400の初回の主被写体決定処理として説明を省略する。
以下に、ステップS1401からS1404の処理について説明する。
ステップS1401では、システム制御部102は、ステップS1400で初回の主被写体が決定した後の処理として、当該のフレームにおける全ての主被写体候補領域の情報を記憶し、主被写体の決定処理を完了する。具体的には、ステップS701で抽出した全ての主被写体候補領域について、領域毎に位置と大きさ、および、ステップS702で算出した主被写体適性をRAMに記憶する。ここで記憶された情報は、初期フレームの主被写体候補領域として、後続するフレームのステップS1403、S1404において使用される。なお、初期フレームとは、第1スイッチSW1がオンしてから最初のフレームのことであり、ステップS1401は、ステップS703の分岐によって、この初期フレームにおいてのみ実行される。
ステップS1402では、システム制御部102は、現在設定されている主被写体領域の任意選択被写体フラグ804を参照し、TRUEであればステップS1403に進み、FALSEであればステップS717に進む。この判定により、後述のステップS1403からS1404で主被写体候補領域の再抽出が行われるのは、現在の追尾対象がユーザによって任意選択された被写体である場合に限られる。
次に、図15を参照して、ステップS1403の主被写体候補領域の対応付けの処理について説明する。
AE像信号1501_t0は初期フレームのAE像信号であり、AE像信号1501_t1は現在フレームのAE像信号である。主被写体候補領域1502_t0、1503_t0は、いずれも初期フレームで抽出された、顔検出領域に基づく主被写体候補領域である。そのうち1502_t0は、ユーザが設定した任意選択焦点検出点302に基づいて主被写体領域に決定された領域であり、後続するフレームで追尾対象とされる領域である。主被写体候補領域1502_t1は、現在フレームで抽出された、被写体追尾に基づく主被写体候補領域である。主被写体候補領域1503_t1は、現在フレームで抽出された、顔検出領域に基づく主被写体候補領域である。
ステップS1403では、システム制御部102は、まず、初期フレームにおけるステップS1401で記憶された主被写体候補領域1502_t0、1503_t0の位置、大きさ、主被写体適性の情報をRAMから読み出す。
続いて、読み出した初期フレームの主被写体候補領域1502_t0、1503_t0と、現在フレームにおいて抽出された主被写体候補領域1502_t1、1503_t1とで、同一の被写体となる領域同士を対応付ける。対応付けの方法としては、初期フレームの全ての主被写体候補領域と、現在フレームの全ての主被写体候補領域とで、総当たりで領域の位置および大きさを比較し、位置および大きさ差分が所定値以下である領域同士を対応付ける方法が挙げられる。あるいは、目や鼻などの顔を構成する器官に関する、位置、大きさ、形状といった個人を特徴付ける情報を別途記憶し、公知の顔器官情報を用いた個人識別技術によって対応付けを行ってもよい。
図15の状況では、対応付けの結果として、各主被写体候補領域のうち、1502_t0と1502_t1とが対応付けられ、1503_t0と1503_t1が対応付けられる。
最後に、システム制御部102は、初期フレームの主被写体候補領域1502_t0、1503_t0のパラメータのうち位置と大きさを、対応付けられた現在フレームの主被写体候補領域1502_t1、1503_t1の位置と大きさに更新する。ただし、主被写体候補領域のパラメータのうち、主被写体適性のみは更新されない。全ての更新処理が完了すると、ステップS1404に進む。
次に、図16を参照して、ステップS1404の主被写体領域の再抽出処理について説明する。
AE像信号1601_t0は初期フレームのAE像信号である。主被写体候補領域1602_t0、1603_t0は、いずれも初期フレームで抽出された、顔検出領域に基づく主被写体候補領域である。1602_t0は、ユーザが設定した任意選択焦点検出点302に基づいて主被写体領域に決定された領域であり、後続するフレームで追尾対象とされる領域である。グラフ1604_t0は、2つの主被写体候補領域1602_t0、1603_t0に対して主被写体適性を計算した結果である。
AE像信号1601_t1は、初期フレームから所定の時間が経過したフレームのAE像信号である。主被写体候補領域1602_t1は、AE像信号1601_t1のフレームで抽出された、被写体追尾に基づく主被写体候補領域である。被写体追尾に基づく主被写体候補領域1602_t1は、ステップS1403の処理により、初期フレームの主被写体候補領域1602_t0と対応付けられる。主被写体候補領域1603_t1は、AE像信号1601_t1のフレームで抽出された、顔検出領域に基づく主被写体候補領域である。顔検出領域に基づく主被写体候補領域1603_t1は、ステップS1403の処理により、初期フレームの主被写体候補領域1603_t0と対応付けられる。グラフ1604_t1は、これら2つの主被写体候補領域1602_t1、1603_t1対して主被写体適性を計算した結果である。
AE像信号1601_t2は、AE像信号1601_t1のフレームからさらに所定の時間が経過したフレームのAE像信号である。主被写体候補領域1602_t2は、AE像信号1601_t2のフレームで抽出された、被写体追尾に基づく主被写体候補領域である。被写体追尾に基づく主被写体候補領域1602_t2は、ステップS1403の処理により、過去フレームの主被写体候補領域1602_t1と対応付けられる。主被写体候補領域1603_t2は、AE像信号1601_t2のフレームで抽出された、顔検出領域に基づく主被写体候補領域である。顔検出領域に基づく主被写体候補領域1603_t2は、ステップS1403の処理により、過去フレームの主被写体候補領域1603_t1と対応付けられる。グラフ1604_t2は、これら2つの主被写体候補領域1602_t2、1603_t2対して主被写体適性を計算した結果である。
ステップS1404では、システム制御部102は、まず、初期フレームにおける主被写体候補領域1602_t0と、主被写体候補領域1603_t0のうち、最も高い主被写体適性をもつ1603_t0の主被写体適性値1605を取得する。そして、主被写体適性値1605に所定の主被写体適性オフセット1606を足し合わせた値を、主被写体再抽出閾値1607として設定する。主被写体適性オフセット1606は、例えばカメラ設定としてユーザが被写体変更の積極性の高低を設定できるようにし、被写体変更の積極性が高く設定されていればオフセットを小さく、低く設定されていればオフセットを大きくするようにして設定される。あるいは、主被写体適性オフセット1606は所定の固定値としてもよい。
続いて、システム制御部102は、現在のフレームのステップS701で抽出された主被写体候補領域の中から、所定の条件を満たす主被写体候補領域のみをさらに抽出する。所定の条件とは、追尾被写体に基づく主被写体候補領域であるか、主被写体再抽出閾値1607以上となる主被写体適性を持つ主被写体候補領域であるか、のいずれかの条件を満たすことである。
例えば、AE像信号1601_t1のフレームにおいては、被写体追尾に基づく主被写体候補領域1602_t1は抽出される。しかしながら、顔検出領域に基づく主被写体候補領域1603_t1は、グラフ1604_t1に示す通り主被写体再抽出閾値1607を下回るため抽出されない。
一方、AE像信号1601_t2のフレームにおいては、被写体追尾に基づく主被写体候補領域1602_t2は抽出される。また、顔検出領域に基づく主被写体候補領域1603_t2も、グラフ1604_t2に示す通り主被写体再抽出閾値1607を上回るため抽出される。
主被写体候補領域の再抽出が完了すると、ステップS717に進む。
ステップS717では、ステップS1404を経由した場合、再抽出された主被写体候補領域のみが主被写体領域の選定対象となる。
例えば、AE像信号1601_t1のフレームでは、主被写体候補領域1602_t1のみが主被写体領域の選定対象となるため、主被写体の変更は発生しない。
一方、AE像信号1601_t2のフレームでは、主被写体候補領域1602_t2、1603_t2が主被写体領域の選定対象となり、主被写体候補領域1603_t2の方が高い主被写体適性を持つため、主被写体領域は主被写体候補領域1603_t2に決定される。その結果、主被写体候補領域1603_t2から主被写体候補領域1603_t2に主被写体の変更が発生し、後続するフレームにおいては新たな主被写体候補領域1603_t2が追尾対象となる。
実施形態2においては、追尾対象となる主被写体がユーザによって任意選択された被写体である場合には、後続するフレームでいずれかの主被写体候補の主被写体適性が、所定の閾値以上となるまでは主被写体の変更を行わない。そして所定の閾値は、初期フレームにおける全ての主被写体候補の主被写体適性より高く設定されるため、初期フレームよりも適性の高い主被写体が出現するまでは、主被写体は変更されないこととなる。
これにより、ユーザが任意選択した主被写体からの不要な主被写体変更を抑制でき、ユーザにとって整合性のある主被写体選択および主被写体変更を実現できる。なぜならば、少なくとも初期フレームにおいてはユーザが任意選択した被写体こそが最も整合性のある主被写体であり、後続のフレームで撮影シーンや構図にあまり変化がないのであれば、主被写体を変えない方がユーザの意思に整合するためである。一方で、後続するフレームで、初期フレームから撮影シーンや構図がある程度大きく変化していた場合には、撮影シーンに合わせて最適な被写体に主被写体を変更する方が、ユーザにとっては利便であるためである。
なお、ステップS1404の再抽出の追加条件として、被写体追尾に基づく主被写体候補領域と、それ以外の主被写体候補領域との主被写体適性の差が、初期フレームの時点での差よりも大きくなっている場合にのみ再抽出の対象となるとしてもよい。これにより、主被写体領域以外の主被写体候補領域の主被写体適性が主被写体再抽出閾値1607を上回る場合であっても、主被写体領域の主被写体適性も同様に高まっていれば、主被写体の変更を抑制できる。
実施形態2の主被写体決定処理によれば、追尾対象となる主被写体がユーザによって任意選択されていた場合には、候補被写体のうち、現在の追尾対象と同一の被写体である候補被写体の適性について追尾対象の変更が抑制される。これにより、追尾AFモードにおいて連続撮影を継続している間であっても、ユーザにとって整合性のある主被写体選択および主被写体変更を実現できる。
[実施形態3]次に、実施形態3について説明する。
実施形態3では、実施形態1、2とは異なる方法によって、ユーザが任意選択した主被写体を追尾している間の主被写体の変更を抑制することにより、ユーザにとって整合性のある主被写体変更を行う方法について説明する。実施形態3の概要としては、主被写体変更の判定を行う際、現在の追尾対象の主被写体適性が所定の閾値を下回る場合にのみ、主被写体の再選択を行う例である。
実施形態3が実施形態1と異なるところは、ステップS409の主被写体決定のアルゴリズムのみであり、それ以外の構成は同一である。そこで、以下、図17、図18を用いて、本実施形態におけるステップS409の主被写体決定のアルゴリズムについて説明する。
図17は、実施形態3におけるステップS409の主被写体決定処理を示すフローチャートである。図17の処理は、実施形態1における図7の主被写体決定処理をベースとし、変更点は、ステップS1701が追加されている点と、ステップS715、S716がステップS1702からS1704に置き換わっている点である。なお、それ以外のステップは同一であるため、ステップS704からステップS714の処理は、ステップS1700の初回の主被写体決定処理として説明を省略する。
図18は、実施形態3において主被写体の変更を行う判定基準を例示している。AE像信号1801_t0は初期フレームのAE像信号である。主被写体候補領域1802_t0、1803_t0は、いずれも初期フレームで抽出された、顔検出領域に基づく主被写体候補領域である。そのうち1802_t0は、ユーザが設定した任意選択焦点検出点302に基づいて主被写体領域に決定された領域であり、後続するフレームで追尾対象とされる領域である。グラフ1804_t0は、これら2つの主被写体候補領域1802_t0、1803_t0に対して主被写体適性を計算した結果である。
AE像信号1801_t1は、初期フレームから所定の時間が経過したフレームのAE像信号である。主被写体候補領域1802_t1は、AE像信号1801_t1のフレームで抽出された、被写体追尾に基づく主被写体候補領域である。主被写体候補領域1803_t1は、AE像信号1801_t1のフレームで抽出された、顔検出領域に基づく主被写体候補領域である。グラフ1804_t1は、これら2つの主被写体候補領域1802_t1、1803_t1対して主被写体適性を計算した結果である。
AE像信号1801_t2は、AE像信号1801_t1のフレームからさらに所定の時間が経過したフレームのAE像信号である。主被写体候補領域1802_t2は、AE像信号1801_t2のフレームで抽出された、被写体追尾に基づく主被写体候補領域である。主被写体候補領域1803_t2は、AE像信号1801_t2のフレームで抽出された、顔検出領域に基づく主被写体候補領域である。グラフ1804_t2は、これら2つの主被写体候補領域1802_t2、1803_t2対して主被写体適性を計算した結果である。
以下に、ステップS1701からS1704の処理について説明する。
ステップS1701では、システム制御部102は、ステップS1700で初回の主被写体領域が決定した後に、初期フレームにおける主被写体領域1802_t0の主被写体適性を基準主被写体適性値1805としてシステム制御部102のRAMに記憶する。ここで記憶された情報は、後続するフレームのステップS1703において使用される。基準主被写体適性値1805の記憶が完了すると、システム制御部102は、主被写体決定処理を終了する。
ステップS1702では、システム制御部102は、現在設定されている主被写体領域の任意選択被写体フラグ804を参照し、TRUEであればステップS1703に進み、FALSEであればステップS717に進む。この判定により、後述のステップS1703、S1704の処理が実行されるのは、現在の追尾対象がユーザによって任意選択された被写体である場合に限られる。
ステップ1703では、システム制御部102は、まず、基準主被写体適性値1805をRAMから読み出す。続いて、基準主被写体適性値1805から所定の主被写体適性オフセット1806を引いた値を、主被写体再選択閾値1807として設定する。主被写体適性オフセット1806は、例えばカメラ設定としてユーザが被写体変更の積極性の高低を設定できるようにし、被写体変更の積極性が高く設定されていればオフセットを小さく、低く設定されていればオフセットを大きくするようにして設定される。あるいは、主被写体適性オフセット1806は所定の固定値としてもよい。
続いて、システム制御部102は、現在フレームにおける追尾被写体に基づく主被写体候補領域の主被写体適性が、主被写体再選択閾値1807以上である場合はステップS1704に進み、主被写体再選択閾値1807未満である場合はステップS717に進む。
例えば、AE像信号1801_t1のフレームにおいては、グラフ1804_t1に示すとおり、被写体追尾に基づく主被写体候補領域1802_t1の主被写体適性が主被写体再選択閾値1807以上であるため、ステップS1704に進む。
一方、AE像信号1801_t2のフレームにおいては、グラフ1804_t2に示す通り、被写体追尾に基づく主被写体候補領域1802_t2の主被写体適性が主被写体再選択閾値1807未満であるため、ステップS717に進む。
ステップS1704では、システム制御部102は、現在のフレームのステップS701で抽出された主被写体候補領域のうち、被写体追尾に基づく主被写体候補領域以外の主被写体候補領域を、主被写体候補から除外し、ステップS717に進む。
例えば、AE像信号1801_t1のフレームにおいては、顔検出領域に基づく主被写体候補領域1803_t1が主被写体候補から除外される。その結果、ステップS717で主被写体領域の選定対象となる主被写体候補領域は、被写体追尾に基づく主被写体候補領域1802_t1のみとなるため、主被写体の変更は発生しないこととなる。
一方、AE像信号1801_t2のフレームのようにステップS1704を経由しない場合は、主被写体候補領域の除外は行われない。その結果、ステップS701で抽出された全ての主被写体候補領域が、ステップS717における主被写体領域の選定対象となるため、それぞれの主被写体候補領域の主被写体適性次第で主被写体の変更が起こり得る。
実施形態3においては、追尾対象となる主被写体がユーザによって任意選択された被写体である場合には、後続するフレームにおいて、追尾対象となっている主被写体の主被写体適性が所定の閾値を下回るまでは主被写体の変更を行わない。所定の閾値は、初期フレームにおける主被写体の主被写体適性より低く設定されるため、主被写体の主被写体適性が初期フレームより一定程度低下しない限りは、主被写体は変更されないこととなる。これにより、ユーザが任意選択した主被写体からの不要な主被写体変更を抑制でき、ユーザにとって整合性のある主被写体選択および主被写体変更を実現できる。なぜならば、まず、少なくとも初期フレームにおいてはユーザが任意選択した被写体こそが最も整合性のある主被写体であるため、任意選択された被写体は主被写体適性の高低に関わらず主被写体としての要件を満たす。そのため、他に主被写体適性の高い被写体が存在したとしても、軽率に主被写体の変更を行うべきではないからである。
一方で、AE像信号1801_t2のように、ユーザが任意選択した被写体の主被写体適性が著しく低下し、主被写体としての要件を満たさなくなった場合には、状況に応じて主被写体を変更する方がユーザにとっては利便であるためである。
実施形態3の主被写体決定処理によれば、追尾対象となる主被写体がユーザによって任意選択されていた場合には、現在の追尾対象の適性が所定の閾値未満となるまでは追尾対象の変更を抑制する。これにより、追尾AFモードにおいて連続撮影を継続している間であっても、ユーザにとって整合性のある主被写体選択および主被写体変更を実現できる。
[実施形態4]以下に、実施形態4について説明する。
実施形態4では、実施形態1〜3とは異なる方法によって、ユーザが任意選択した主被写体を追尾している間の主被写体の変更を抑制することにより、ユーザにとって整合性のある主被写体変更を行う方法について説明する。実施形態4の概要としては、第1スイッチSW1オンの時点でユーザが主被写体を任意選択した場合には、その時点から所定の期間は主被写体の変更を禁止する例である。
実施形態4が実施形態1と異なるところは、ステップS409の主被写体決定のアルゴリズムのみであり、それ以外の構成は同一である。そこで、以下、図19を用いて、本実施形態におけるステップS409の主被写体決定のアルゴリズムについて説明する。
図19は、実施形態4におけるステップS409の主被写体決定の処理を示すフローチャートである。図19の処理は、実施形態1における図7の主被写体決定処理をベースとし、変更点は、ステップS1901が追加されている点と、ステップS715、S716がステップS1902からS1904に置き換わっている点である。なお、それ以外のステップは同一であるため、ステップS704からステップS714の処理は、ステップS1900の初回の主被写体決定処理として説明を省略する。
以下に、ステップS1901からS1904の処理について説明する。
ステップS1901では、システム制御部102は、ステップS1900で初回の主被写体領域が決定した後の処理として、主被写体変更禁止タイマーを所定の時間[ms]に設定し、タイマーのカウントダウンをスタートさせる。その後、システム制御部102は初期フレームの主被写体決定処理を終了する。この所定の時間は、例えば3000[ms]のような固定の時間として設定される。あるいは、カメラ設定としてユーザが被写体変更の積極性の高低を設定できるようにし、被写体変更の積極性が高く設定されていればタイマーを短く、低く設定されていればタイマーを長くするようにして設定される。さらに、ユーザが任意選択した主被写体からの変更を許可しないモードでは、タイマーは無限に相当する時間として設定される。
ステップS1902では、システム制御部102は、現在設定されている主被写体領域の任意選択被写体フラグ804を参照し、TRUEであればステップS1903に進み、FALSEであればステップS717に進む。この分岐により、後述のステップS1903、S1904の処理が実行されるのは、現在の追尾対象がユーザによって任意選択された被写体である場合に限られる。
ステップS1903では、システム制御部102は、初期フレームにおいてステップS1901でカウントダウンを開始した主被写体変更禁止タイマーの残時間を取得し、まだ0[ms]に達していない場合はステップS1904に進む。また、システム制御部102は、主被写体変更禁止タイマーの残時間が0[ms]となっている場合はステップS717に進む。
ステップS1904では、システム制御部102は、現在のフレームのステップS701で抽出された主被写体候補領域のうち、被写体追尾に基づく主被写体候補領域以外の主被写体候補領域を、主被写体候補から除外し、ステップS717に進む。
このため、ステップS1904を経由してステップS717に進んだ場合は、主被写体の変更は行われないこととなる。
実施形態4においては、追尾対象となる主被写体がユーザによって任意選択された被写体である場合には、第1スイッチSW1オンから所定の時間が経過するまでは主被写体の変更を行わない。
これにより、ユーザが任意選択した主被写体からの不要な主被写体変更を抑制でき、ユーザにとって整合性のある主被写体選択および主被写体変更を実現できる。例えば、ユーザが主被写体を任意選択して追尾AFを始めたにも関わらず、任意選択された主被写体とは別に主被写体適性の高い被写体が存在するからといって、即座に主被写体を変更するのはユーザにとって不整合な動作である。そのため、追尾AF開始から所定の時間は主被写体変更を禁止し、所定時間経過後から主被写体適性に基づく主被写体選択を行うことにより、ユーザの意図を反映した主被写体選択が可能となる。
実施形態4の主被写体決定処理によれば、追尾対象となる主被写体がユーザによって任意選択されていた場合には、追尾を開始した時点から所定の時間が経過するまでは追尾対象の変更を抑制する。これにより、追尾AFモードにおいて連続撮影を継続している間であっても、ユーザにとって整合性のある主被写体選択および主被写体変更を実現できる。
[実施形態5]以下に、実施形態5について説明する。
実施形態5では、実施形態1〜4とは異なる方法によって、ユーザが任意選択した主被写体を追尾している間の主被写体の変更を抑制することにより、ユーザにとって整合性のある主被写体変更を行う方法について説明する。実施形態5の概要としては、主被写体適性の計算において、ユーザが任意選択した主被写体の主被写体適性が最も高くなるように、計算式に含まれる重み係数を動的に設定する例である。
実施形態5が実施形態1と異なるところは、ステップS409の主被写体決定のアルゴリズムのみであり、それ以外の構成は同一である。そこで、以下、図20を用いて、実施形態5におけるステップS409の主被写体決定のアルゴリズムについて説明する。
図20は、実施形態5におけるステップS409の主被写体決定処理を示すフローチャートである。図20の処理は、実施形態1における図7の主被写体決定処理をベースとし、変更点は、ステップS2001が追加されている点と、ステップS715、S716がステップS2002、S2003に置き換わっている点である。なお、それ以外のステップは同一であるため、ステップS704からステップS714の処理は、ステップS2000の初回の主被写体決定処理として説明を省略する。
以下に、ステップS2001からS2003の処理について説明する。
ステップS2001では、システム制御部102は、ステップS2000で初回の主被写体領域が決定した後の処理として、後続のフレームにおいて後述のステップS2003で行われる、主被写体適性の再計算用の重み係数の設定を行う。再計算用の重み係数の設定の詳細については後述する。なお、以下では、ステップS702で用いる重み係数と区別するため、ステップS2003の主被写体適性の再計算に用いる重み係数を、再計算用の重み係数と呼ぶ。
ステップS2002では、システム制御部102は、現在設定されている主被写体領域の任意選択被写体フラグ804を参照し、TRUEであればステップS2003に進み、FALSEであればステップS717に進む。この判定により、後述のステップS2003の処理が実行されるのは、現在の追尾対象がユーザによって任意選択された被写体である場合に限られる。
ステップS2003では、システム制御部102は、ステップS702で算出した各主被写体領域の主被写体適性を無効とし、主被写体適性を再計算した後、ステップS717に進む。
主被写体適性の再計算に用いる計算式を式2に示す。式2は、基本的にはステップS702で用いる式1と同一であるが、重み係数1、2、3が、ステップS2001で設定された再計算用重み係数1、2、3に置き換えられている。
(式2)
主被写体適性=(α×再計算用の重み係数1)+(β×再計算用の重み係数2)+(γ×再計算用の重み係数3)
そして、ステップS717では、ステップS2003を経由した場合は、再計算された主被写体適性に基づいて主被写体領域を決定する。
続いて、ステップS2001の、主被写体適性の再計算用重み係数の設定について説明する。
まず、システム制御部102は、ステップS2000で決定した主被写体領域が人物の顔に相当する領域であるか否かを判定する。そして、人物の顔に相当する領域であれば、再計算用の重み係数1を、ステップS702の重み係数1と同等の数値として設定する。一方、人物の顔に相当する領域でない場合には、再計算用の重み係数1を、ステップS702で用いた重み係数1よりも小さい所定の数値として設定する。これにより、ユーザが任意選択した主被写体が人物の顔でない場合でも、ステップS2003の主被写体適性の再計算において主被写体適性が低下しにくくなるため、任意選択した主被写体から別の被写体への主被写体変更を抑制できる。ユーザが人物以外の被写体を主被写体に選択したということは、ユーザにとっての主被写体は人物に限らないという蓋然性が高いため、こうした重み係数の設定はユーザにとって整合性のある主被写体選択を実現する上で有効である。
続いて、システム制御部102は、ステップS2000で決定した主被写体領域の焦点状態に基づいて、主被写体のカメラからの距離を算出する。そして、再計算用の重み係数2について、ステップS702で用いた重み係数2を基準として、主被写体がカメラから近くにいるほど大きく、遠くにいるほど小さくなるように設定する。これにより、ユーザが任意選択した主被写体がカメラから遠くにいる場合でも、ステップS2003の主被写体適性の再計算において主被写体適性が低下しにくくなるため、任意選択した主被写体から別の被写体への主被写体変更を抑制できる。ユーザがカメラから遠くにいる被写体を主被写体に選択したということは、ユーザにとってカメラからの距離という要素の重要性が比較的低いといえるため、こうした重み係数の設定はユーザにとって整合性のある主被写体選択を実現するために有効である。
最後に、システム制御部102は、ステップS2000で決定した主被写体領域のファインダー画面131における位置を取得する。そして、再計算用の重み係数3について、ステップS702で用いた重み係数3を基準として、主被写体領域がファインダー画面131の中央に近いほど大きく、中央から離れるほど小さくなるように設定する。これにより、ユーザが任意選択した主被写体がファインダー画面131の端に位置する場合でも、ステップS2003の主被写体適性の再計算において主被写体適性が低下しにくくなるため、任意選択した主被写体から別の被写体への主被写体変更を抑制できる。ユーザが撮影画面の端に位置する主被写体を選択したということは、ユーザには撮影画面上の位置という要素の重要性が比較的低いといえるため、こうした重み係数の設定はユーザにとって整合性のある主被写体選択を実現する上で有効である。
本実施形態においては、追尾対象となる主被写体がユーザによって任意選択された被写体である場合には、主被写体適性の計算式に用いる重み係数を調整することで、ユーザが任意選択した主被写体からの不要な主被写体変更を抑制する。
実施形態5の主被写体決定処理によれば、追尾対象となる主被写体がユーザによって任意選択されていた場合には、追尾を開始した時点における追尾対象の状態に基づいて適性の算出方法を切り替えることで追尾対象の変更を抑制する。これにより、追尾AFモードにおいて連続撮影を継続している間であっても、ユーザにとって整合性のある主被写体選択および主被写体変更を実現できる。
なお、上述した実施形態1〜5において、被写体の適性以外の所定の条件が満たされた場合には、主被写体変更を許容するように制御してもよい。この場合、所定の条件は、例えば、ユーザにより任意選択された被写体が何かに隠れて見えなくなった場合やカメラの急速なパンが検知され、かつユーザにより任意選択された被写体を見失った場合が挙げられる。
[他の実施形態]
本発明は、上述した実施形態1〜5に例示したものに限定されず、また、実施形態1〜5の一部を適宜組み合わせて実現することも可能である。また、本発明は、例えば、ライブビューモードにおいて、追尾AF処理および被写体検出処理を行う画像信号に、AE像信号ではなく撮像センサ111から出力される画像信号を用いることによっても実現可能である。また、本発明は、ミラーレスカメラなどの光学ファインダーを有しない撮像装置でも、同様に撮像センサ111から出力される画像信号を用いることによっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。