(57)【要約】【課題】  種々の撮影状況に応じて主要被写体を推定する。【解決手段】  制御部１は、時間的に連続する撮像画像を取得する画像取得部２１と、撮像画像から被写体を各々検出する被写体検出部２３と、検出された被写体から被写体情報（撮像画像内での被写体の大きさ、位置等）を検出する被写体情報検出部２４と、当該被写体情報から撮像画像の主要被写体を推定する主要被写体推定部３１と、スコア関数Ｓを記憶するスコア関数メモリ２２と、主要被写体とされた被写体を主要被写体から解除するため必要となる解除条件Ｊ1及び新たな被写体を主要被写体として設定するため必要となる設定条件Ｊ2を記憶する判定条件メモリ２６とを備える。スコア関数Ｓは、被写体情報を与える被写体が主要被写体である確率を与える関数である。主要被写体推定部３１は、スコア関数Ｓ、解除条件Ｊ1及び設定条件Ｊ2に基づいて、当該撮像画像内の主要被写体を推定する。【選択図】図３
2015106849.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像を取得する画像取得部と、
前記画像取得部が取得した撮像画像から被写体を検出する被写体検出部と、
前記被写体検出部が検出した被写体の前記撮像画像内での大きさに関する被写体情報を検出する被写体情報検出部と、
前記被写体情報に基づいて、前記複数の撮像画像から主要被写体を推定する主要被写体推定部と、を備え、
前記被写体推定部は、第１画像内で主要被写体とされた第１の被写体の前記被写体情報が、前記第１画像よりも後に取得された第２画像内において、第１条件を満たさなくなり、かつ、前記第１の被写体と異なる第２の被写体の前記被写体情報が、前記第１条件と異なる第２条件を満たした時に主要被写体を前記第２の被写体に変更することを特徴とする、主要被写体推定装置。
【請求項２】
前記主要被写体推定部は、
前記第１の被写体の大きさ又は大きさに関する値が第１の所定値以下となり、かつ、前記第２の被写体の大きさ又は大きさに関する値が、第２の所定値以上となったとき、更に前記第２の被写体が前記撮像画像内の所定範囲内に存在する場合に、前記主要被写体を前記第２の被写体に変更することを特徴とする、請求項１に記載の主要被写体推定装置。
【請求項３】
前記主要被写体推定部は、
前記撮像画像が撮像された際の画角が大きくなったときに、前記所定範囲を、画角が大きくなる前と比較して小さく設定し、
前記撮像画像が撮像された際の画角が小さくなったときに、前記所定範囲を、画角が小さくなる前と比較して大きく設定することを特徴とする、請求項２に記載の主要被写体推定装置。
【請求項４】
前記被写体情報は、前記撮像画像内での被写体の大きさ以外に該大きさに関する値、前記撮像画像内での被写体の位置、及び該位置に関する値のうち少なくともいずれかを含み、前記主要被写体推定部は、前記被写体情報の関数を用い、前記関数の値は、該被写体情報を与える被写体が主要被写体である確率又は確率に関する値を反映する、請求項１に記載の主要被写体推定装置。
【請求項５】
前記主要被写体推定部は、
前記撮像画像が撮像された際の画角が大きくなったときに、前記第１の所定値に対する前記第２の所定値の比、又は、前記第２の所定値から前記第１の所定値を引いた差を、画角が大きくなる前と比較して大きく設定し、
前記撮像画像が撮像された際の画角が小さくなったときに、前記第１の所定値に対する前記第２の所定値の比、又は、前記第２の所定値から前記第１の所定値を引いた差を、画角が小さくなる前と比較して小さく設定することを特徴とする、請求項２又は３のいずれか１項に記載の主要被写体推定装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の主要被写体推定装置を備える、デジタルカメラ。
【請求項７】
複数の画像を取得する画像取得工程と、
前記画像取得工程で取得された撮像画像から被写体を検出する被写体検出工程と、
前記被写体検出工程で検出された被写体の前記撮像画像内での大きさに関する被写体情報を検出する被写体情報検出工程と、
前記被写体情報に基づいて、前記複数の撮像画像から主要被写体を推定する主要被写体推定工程と、
を情報処理装置に実行させるためのプログラムであって、
前記主要被写体推定工程において、
第１画像内で主要被写体とされた第１の被写体の前記被写体情報が、前記第１画像よりも後に取得された第２画像内において、第１条件を満たさなくなり、かつ、前記第１の被写体と異なる第２の被写体の前記被写体情報が、前記第１条件と異なる第２条件を満たした時に主要被写体を前記第２の被写体に変更することを特徴とする、プログラム。
【請求項８】
前記主要被写体推定工程において、
前記第１の被写体の大きさ又は大きさに関する値が第１の所定値以下となり、かつ、前記第２の被写体の大きさまたは大きさに関する値が、第２の所定値以上となったとき、更に前記第２の被写体が前記撮像画像内の所定範囲内に存在する場合に、主要被写体を前記第２の被写体に変更することを特徴とする、請求項７に記載のプログラム。
【請求項９】
前記主要被写体推定工程において、
前記撮像画像が撮像された際の画角が大きくなったときに、前記所定範囲を、画角が大きくなる前と比較して小さく設定し、
前記撮像画像が撮像された際の画角が小さくなったときに、前記所定範囲を、画角が小さくなる前と比較して大きく設定することを特徴とする、請求項８に記載のプログラム。
【請求項１０】
前記被写体情報は、前記撮像画像内での被写体の大きさ以外に、該大きさに関する値、前記撮像画像内での被写体の位置、及び該位置に関する値のうち少なくともいずれかを含み、前記主要被写体推定工程では、前記被写体情報の関数を用い、前記関数の値は、該被写体情報を与える被写体が主要被写体である確率又は確率に関する値を反映する、請求項７に記載のプログラム。
【請求項１１】
前記主要被写体推定工程において、
前記撮像画像が撮像された際の画角が大きくなったときに、前記第１の所定値に対する前記第２の所定値の比、又は、前記第２の所定値から前記第１の所定値を引いた差を、画角が大きくなる前と比較して大きく設定し、
前記撮像画像が撮像された際の画角が小さくなったときに、前記第１の所定値に対する前記第２の所定値の比、又は、前記第２の所定値から前記第１の所定値を引いた差を、画角が小さくなる前と比較して小さく設定することを特徴とする、請求項８又は９に記載のプログラム。
【請求項１２】
請求項７乃至請求項１１のいずれか１項に記載のプログラムに従って撮像画像内の主要被写体を推定する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主要被写体推定装置及びプログラム並びに情報処理装置に関する。
【背景技術】
【０００２】
ジャイロセンサ等により検出されたカメラ本体のパンニング又はチルティング動作に基づいて主要被写体を変更しようとする撮影者の意図を推定し、この推定結果から主要被写体を判定する技術が知られている（例えば、下記特許文献１）。
【特許文献１】特開２０１１−２２３１７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、特許文献１の技術では、主要被写体を判定するためにパンニング又はチルティング動作を検出する必要があるため、種々の撮影状況に応じて主要被写体を設定する上で制約があった。
【０００４】
本発明は、上記事実に鑑みなされたもので、種々の撮影状況に応じて主要被写体を推定することを可能にした、主要被写体推定装置及びプログラム並びに情報処理装置を提供することを、その目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本発明の主要被写体推定装置は、複数の画像を取得する画像取得部と、画像取得部が取得した撮像画像から被写体を検出する被写体検出部と、被写体検出部が検出した被写体の撮像画像内での大きさに関する被写体情報を検出する被写体情報検出部と、当該被写体情報に基づいて、前記複数の撮像画像から主要被写体を推定する主要被写体推定部と、を備え、該被写体推定部は、第１画像内で主要被写体とされた第１の被写体の被写体情報が、第１画像よりも後に取得された第２画像内において、第１条件を満たさなくなり、かつ、第１の被写体と異なる第２の被写体の被写体情報が、第１条件と異なる第２条件を満たした時に主要被写体を第２の被写体に変更することを特徴とする。ここで、複数の撮像画像は、実際に撮像された順番に並べられたものでも、或いは、時間的に逆転した順番に並べられたもののいずれであってもよい。撮像画像の例としては、例えばデジタルスチルカメラにより撮像された静止画像や、デジタルビデオカメラにより撮像された動画像などが挙げられる。
【０００６】
本発明の一つの好ましい態様の主要被写体推定部は、第１の被写体の大きさ又は大きさに関する値が第１の所定値以下となり、かつ、第２の被写体の大きさ又は大きさに関する値が、第２の所定値以上となったとき、更に第２の被写体が撮像画像内の所定範囲内に存在する場合に、主要被写体を第２の被写体に変更することを特徴とする。ここで、被写体の撮像画像内での大きさに関する値としては、例えば、当該被写体の撮像画像内での大きさを時間的に最初の主要被写体の大きさで正規化した値、所定数の撮像画像に亘る当該被写体の撮像画像内での大きさの平均値、当該被写体の撮像画像内での大きさの時系列データから時間的に急激な変動成分を除去した値、などが挙げられる。
本態様のさらに好ましい主要被写体推定部は、撮像画像が撮像された際の画角が大きくなったときに、所定範囲を、画角が大きくなる前と比較して小さく設定し、撮像画像が撮像された際の画角が小さくなったときに、所定範囲を、画角が小さくなる前と比較して大きく設定することを特徴とする。
【０００７】
好ましくは、被写体情報は、撮像画像内での被写体の大きさ以外に、該大きさに関する値、撮像画像内での被写体の位置、及び該位置に関する値のうち少なくともいずれかを含み、主要被写体推定部は、被写体情報の関数を用い、該関数の値は、該被写体情報を与える被写体が主要被写体である確率又は確率に関する値を反映する。ここで、確率に関する値とは、ある被写体が主要被写体となる確率に関連する値であり、例えば、当該確率が増加するほど、増加或いは減少するスコア値などである。
【０００８】
好ましくは、主要被写体推定部は、撮像画像が撮像された際の画角が大きくなったときに、第１の所定値に対する第２の所定値の比、又は、第２の所定値から第１の所定値を引いた差を、画角が大きくなる前と比較して大きく設定し、撮像画像が撮像された際の画角が小さくなったときに、第１の所定値に対する第２の所定値の比、又は、第２の所定値から第１の所定値を引いた差を、画角が小さくなる前と比較して小さく設定してもよい。
【０００９】
本発明に係るデジタルカメラは、上記した主要被写体推定装置を備えて構成されたものである。
【００１０】
本発明に係るプログラムは、複数の画像を取得する画像取得工程と、画像取得工程で取得された撮像画像から被写体を検出する被写体検出工程と、被写体検出工程で検出された被写体の撮像画像内での大きさに関する被写体情報を検出する被写体情報検出工程と、被写体情報に基づいて、複数の撮像画像から主要被写体を推定する主要被写体推定工程と、
を情報処理装置に実行させるためのプログラムとして構成されたものであり、主要被写体推定工程において、第１画像内で主要被写体とされた第１の被写体の被写体情報が、第１画像よりも後に取得された第２画像内において、第１条件を満たさなくなり、かつ、第１の被写体と異なる第２の被写体の被写体情報が、第１条件と異なる第２条件を満たした時に主要被写体を第２の被写体に変更することを特徴とする。
本発明の一つの好ましい態様のプログラムの主要被写体推定工程では、第１の被写体の大きさ又は大きさに関する値が第１の所定値以下となり、かつ、第２の被写体の大きさまたは大きさに関する値が、第２の所定値以上となったとき、更に第２の被写体が撮像画像内の所定範囲内に存在する場合に、主要被写体を前記第２の被写体に変更することを特徴とする。さらに好ましい態様のプログラムの主要被写体推定工程では、撮像画像が撮像された際の画角が大きくなったときに、所定範囲を、画角が大きくなる前と比較して小さく設定し、撮像画像が撮像された際の画角が小さくなったときに、所定範囲を、画角が小さくなる前と比較して大きく設定することを特徴とする。
【００１１】
好ましくは、被写体情報は、撮像画像内での被写体の大きさ以外に、該大きさに関する値、撮像画像内での被写体の位置、及び該位置に関する値のうち少なくともいずれかを含み、主要被写体推定工程では、被写体情報の関数を用い、関数の値は、該被写体情報を与える被写体が主要被写体である確率又は確率に関する値を反映する。
【００１２】
好ましくは、主要被写体推定工程において、撮像画像が撮像された際の画角が大きくなったときに、第１の所定値に対する前記第２の所定値の比、又は、前記第２の所定値から前記第１の所定値を引いた差を、画角が大きくなる前と比較して大きく設定し、撮像画像が撮像された際の画角が小さくなったときに、第１の所定値に対する第２の所定値の比、又は、第２の所定値から第１の所定値を引いた差を、画角が小さくなる前と比較して小さく設定する。
【００１３】
本発明の情報処理装置は、上記したプログラムに従って撮像画像内の主要被写体を推定する。情報処理装置は、当該プログラムを備えていてもよく、或いはインターネット等を介してダウンロードされたプログラムに従って主要被写体を推定してもよい。或いは、当該情報処理装置は、他の外部装置に格納されたプログラムに従って、主要被写体を推定するように指令されてもよい。本発明の情報処理装置としては、撮像画像を処理可能である任意の装置、例えばコンピュータ、携帯電話やタブレット型端末等の携帯情報通信端末、専用の画像解析装置などを使用することができる。
【発明の効果】
【００１４】
本発明によれば、種々の撮影状況に応じて主要被写体を推定することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の各実施形態に係る主要被写体推定装置及びプログラムが適用されるデジタルカメラの概略構成図である。
【図２】図２は、図１のデジタルカメラの回路ブロック図である。
【図３】図３は、図１のデジタルカメラの制御部が本発明の第１の実施形態に係る主要被写体推定装置として機能している場合の機能ブロック図である。
【図４】図４は、図１のデジタルカメラの制御部が本発明の第１及び第２の実施形態に係る主要被写体推定装置として機能している場合の機能ブロック図である。
【図５】図５は、図１のデジタルカメラの制御部が本発明の第５の実施形態に係る主要被写体推定装置として機能している場合の機能ブロック図である。
【図６】図６は、本発明の第１の実施形態に係る主要被写体推定装置の処理の流れを示すフローチャートである。
【図７】図７は、図６のフローチャートの主要被写体推定工程の詳細な処理の流れを示すフローチャートである。
【図８】図８は、本発明の各実施形態に係る主要被写体推定装置の処理の対象となる時系列画像を説明するための図である。
【図９】図９は、本発明の第２乃至第５の実施形態に係る主要被写体推定装置の処理の流れを示すフローチャートである。
【図１０】図１０は、被写体の大きさを主要被写体の判断基準とした、第２の実施形態に係る主要被写体推定工程の詳細な処理の流れを示すフローチャートである。
【図１１】図１１は、被写体の位置を主要被写体の判断基準とした、第４の実施形態に係る主要被写体推定工程の詳細な処理の流れを示すフローチャートである。
【図１２】図１２は、被写体の位置を主要被写体の判断基準とした、第４の実施形態に係る主要被写体推定工程の詳細な処理の流れを示すフローチャートである。
【図１３】図１３は、異なる焦点距離（広角及び望遠）に起因した画角の相違を説明するための図である。
【図１４】図１４は、異なる焦点距離（広角及び望遠）のカメラで各々異なる撮影距離から撮影した場合の被写体の大きさの変化を説明するための図であって、（Ａ）は、被写体１及び２が同一の撮影距離に並んだ状態、（Ｂ）は被写体２が被写体１よりも前方に進んだ状態を示している。
【図１５】図１５は、本発明の第１の実施形態における、第１の実施例を説明するための図である。
【図１６】図１６は、本発明の第１の実施形態における、第２の実施例を説明するための図である。
【図１７】図１７は、本発明の第１の実施形態における、第３の実施例を説明するための図である。
【図１８】図１８は、本発明の第１の実施形態における、第４の実施例を説明するための図である。
【図１９】図１９は、本発明の第１の実施形態における、第５の実施例を説明するための図である。
【図２０】図２０は、本発明の第１の実施形態における、第６の実施例を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態を説明する。
【００１７】
図１には、本発明の各実施形態に係る主要被写体推定装置及びプログラムが適用されるデジタルカメラの概略構成図が示されている。
【００１８】
図１に示されるデジタルカメラ１０は、カメラボディ１１と、カメラボディ１１に交換可能に装着される撮影レンズ１２と、を備えている。撮影レンズ１２は、カメラボディ１１に固定されたものであってもよいが、本実施形態では撮影レンズ１２を交換可能なレンズとして説明する。
カメラボディ１１は、デジタルカメラ１０全体を制御する制御部１と、画像処理ユニット２と、ＣＣＤやＣＭＯＳ等で構成される撮像素子５と、撮像素子５により撮影された画像、撮影情報、撮影メニューなどを表示するディスプレイ６と、無線通信部９とを備えている。
デジタルカメラ１０は、被写体に対する焦点調整を自動的に行う自動合焦（ＡＦ）動作が可能な構成とされている。この自動合焦動作を行うため、撮影レンズ１２は、合焦レンズ群１５を備えている。合焦方式としては、例えば、コントラスト式ＡＦ、位相差検出式ＡＦ、或いは両者を併用した合焦方式が採用される。コントラスト式ＡＦは撮像素子５の出力に基づいて実行される。位相差検出式ＡＦは、図示しないＡＦセンサモジュール、或いは、撮像素子５に埋め込まれた位相差検出ＡＦセンサを用いて実行される。
【００１９】
図２には、デジタルカメラ１０の各構成要素の接続態様を示す回路ブロック図が示されている。同図に示されるように、前述した制御部１、画像処理ユニット２、撮像素子５、ディスプレイ６、無線通信部９及び撮像レンズ１２は、双方向に通信可能にシステムバス３に接続されている。更に、デジタルカメラ１０（カメラボディ１１）は、操作インターフェース部７及びメモリカードアクセス部８を備えている。これらの構成要素も、上記した構成要素と共に双方向に通信可能にシステムバス３に接続されている。
【００２０】
制御部１は、少なくとも、ＣＰＵ１ａ、ＲＡＭ１ｂ、ＲＯＭ１ｃ、及び、フラッシュメモリ１ｄを備えている。これらの構成要素は、内部バス１ｅを介して双方向に通信可能に接続されている。内部バス１ｅは、システムバス３に接続されている。ＣＰＵ１ａは、ＲＯＭ１ｃ又はフラッシュメモリ１ｄに予め格納されているプログラムに基づいて所定の処理、例えば後述する被写体追尾を実行する。ＣＰＵ１ａは、内部バス１ｅ及びシステムバス３を介して他の構成要素にコマンドを送信することによって、当該他の構成要素を制御する。また、当該他の構成要素からのデータ、例えば画像処理ユニット２から送信された画像データは、システムバス３及び内部バス１ｅを介してＲＡＭ１ｂ、或いはフラッシュメモリ１ｄに送られ、ＲＡＭ１ｂ或いはフラッシュメモリ１ｄに格納される。ＣＰＵ１ａは、ＲＡＭ１ｂ、或いはフラッシュメモリ１ｄに記憶された画像データに対して、演算処理を実行することもできる。また、ＲＯＭ１ｃは、例えば、デジタルカメラ１０に関する情報も格納している。
画像処理ユニット２は、撮像素子５で撮像された画像に対応する画像データに対して所定の画像処理、例えばホワイトバランス処理、ガンマ補正処理、レンズ収差の補正処理、ノイズ低減処理、ダイナミックレンジの拡大処理、画像データのリサイズ処理、ＲＡＷデータからＪＰＥＧ等の圧縮データへの変換処理などを実行する。
撮像素子５は、静止画撮影に加え、所定のフレームレートでの連写撮影及び動画撮影が可能である。撮影された画像のデータは、システムバス３を介して画像処理ユニット２及びディスプレイ６に転送される。
ディスプレイ６は、撮影された静止画または動画をリアルタイムに表示できる他、後述するメモリカードなどの記憶媒体に記憶された静止画または動画を再生表示することもできる。さらにディスプレイ６は、タッチパネルセンサを備えていてもよく、撮影者がディスプレイ６に表示された画面上の一部をタッチするだけで、合焦させたい部分を指定できるようにしてもよい。
操作インターフェース部７は、デジタルカメラ１０に備えられたダイヤル、ボタン、タッチパネル等の不図示の操作部材の操作による撮影者の操作情報をシステムバス３を介して制御部１に伝達する。制御部１のＣＰＵ１ａは、操作インターフェース部７から伝達された操作情報に応じて、各構成要素を制御する。また、操作インターフェース部７は、撮影者により指定されたクロップ領域の位置とサイズをシステムバス３及び内部バス１ｅを介してＣＰＵ１ａに伝達する。
メモリカードアクセス部８は、デジタルカメラ１０に挿入されたメモリカード１３に記憶されている画像データ、プログラム、ファームウェアなどを読み取ったり、撮像素子５により撮影され、画像処理ユニット２により画像処理された画像データをメモリカード１３に書き込むための処理を実行する。また、メモリカードアクセス部８は、制御部１の指令により、メモリカード１３に記憶されているプログラムやファームウェアを、システムバス３を介して制御部１のＲＡＭ１ｂ或いはフラッシュメモリ１ｄに転送することもできる。ＣＰＵ１ａは、更新されたプログラムやファームウェアにより、所定の処理、例えば後述する主要被写体推定処理を実行する。
無線通信部９は、例えばWiFi（登録商標）機能を備えており、この機能により、デジタルカメラ１０は無線でインターネット接続することが可能となる。例えば、無線通信部９は、制御部１の指令により、インターネット上で提供されるプログラムやファームウェア或いは画像データ等をダウンロードする際の通信を実行するようにしてもよい。ダウンロードされたプログラム等は、システムバス３を介して制御部１に転送される。制御部１のＣＰＵ１ａは、転送されてきたプログラム等をフラッシュメモリ１ｄに書き込む。ＣＰＵ１ａは、更新されたプログラムやファームウェアにより、所定の処理、例えば後述する主要被写体推定処理を実行する。或いは、ＣＰＵ１ａは、ダウンロードした画像データを、ＲＡＭ１ｂに撮像画像として記憶したり、ディスプレイ６に表示させたり、メモリカード１３に書き込んだりしてもよい。逆に、ＣＰＵ１ａは、デジタルカメラ１０により撮像された撮像画像をインターネットの所定サイトやブログにアップロードすることもできる。
また、無線通信部９は、スマートフォンやタブレット型端末などの携帯通信端末との間の双方向の通信を制御する。例えば制御部１は、無線通信部９を介して、画像処理ユニット２により画像処理された画像データを携帯通信端末に送信したり、携帯通信端末からの画像データを受信して画像処理ユニット２やディスプレイ６に転送することができる。また、無線通信部９は、携帯通信端末から送られてきたコマンドやプログラムを受信して制御部１に転送する。制御部１は、携帯通信端末から送られてきたコマンドやプログラムに基づいてデジタルカメラ１０を制御することもできる。
【００２１】
撮影レンズ１２は、制御部１からの指令に応じて撮影レンズ１２の後述する各構成要素を制御するレンズＣＰＵ１２ａと、撮影レンズ１２の焦点距離（撮影レンズ１２が単焦点レンズの場合）、開放Ｆ値及び収差情報などのレンズ情報を記憶するレンズＲＯＭ１２ｂと、撮影レンズ１２の各構成要素が接続された内部バス１２ｋと、を備えている。レンズＲＯＭ１２ｂに記憶されたレンズ情報は、内部バス１２ｋ及びシステムバス３を介して制御部１及び画像処理ユニット２に送られる。制御部１は、撮影レンズ１２の焦点距離の情報に基づいて所定の処理、例えば後述する被写体追尾処理を実行する。また、画像処理ユニット２は、当該レンズ情報を、所定の画像処理に用いると共に、コマ毎の画像データ撮影情報領域に記憶させる。
【００２２】
また、撮影レンズ１２は、合焦モータ１２ｃと、防振レンズ群１６（図１）を駆動させるための防振駆動部１２ｄと、を備えている。レンズＣＰＵ１２ａは、制御部１からの指令に従って、合焦レンズ群１５（図１）を合焦位置まで移動させるように合焦モータ１２ｃを制御する。
更に、撮影レンズ１２は、撮像素子５から被写体までの距離を検出するための距離エンコーダ１２ｅと、撮影レンズ１２がズームレンズの場合、撮影レンズ１２の焦点距離に対応するズームリングの位置を検出する焦点距離エンコーダ１２ｆとを備えている。検出された被写体までの距離及び焦点距離に関する情報は、内部バス１２ｋ及びシステムバス３を介して制御部１に送られる。制御部１は、検出された被写体までの距離及び焦点距離に基づいて所定の処理、例えば後述する主要被写体推定処理を実行する。
【００２３】
また、デジタルカメラ１０は、光学式手振れ補正機能及び電子式手触れ補正の少なくともいずれかを有していてもよい。この場合、撮影レンズ１２は、撮影者の手振れ量を検出するための手振れ検出センサ１２ｇを備えている。また、光学式手触れ補正機能を備える場合には、撮影レンズ１２は、手振れを防止するように駆動制御される防振レンズ群１６を備えている。
手振れ検出センサ１２ｇにより検出された手振れ量を示す信号は、内部バス１２ｋ及びシステムバス３を介して制御部１に送られる。制御部１は、検出された手振れ量を打ち消すための防振レンズ群１６の駆動量を計算し、当該駆動量をレンズＣＰＵ１２ａに伝達する。レンズＣＰＵ１２ａは、防振駆動部１２ｄを制御することにより、手振れ量を打ち消すように防振レンズ群１６を駆動させる。
【００２４】
手振れ検出センサ１２ｇは、デジタルカメラ１０の角速度を手振れ（角度振れ）として検出する角速度センサ１７ａ、１７ｂ（図１）を含む。また、手振れ検出センサ１２ｇは、直線方向の振れ（所謂「シフト振れ」）を防止するための加速度センサ１８ａ、１８ｂ（図１）も含んでいてもよい。
【００２５】
本発明の実施形態が適用されるデジタルカメラは、図１に示すようなミラーレスのカメラには限定されず、一眼レフカメラや、ビデオカメラにも同様に適用可能である。また、携帯電話、スマートフォン、多機能情報通信端末等に備えられたデジタルカメラやビデオカメラにも適用可能である。
（第１の実施形態）
図３には、デジタルカメラ１０の制御部１が第１の実施形態に係る主要被写体推定装置として機能する場合の機能ブロック図が示されている。
【００２６】
図３に示すように、制御部１は、画像処理ユニット２から転送されてきた、時間的に連続する撮像画像を取得する画像取得部２１と、これらの複数の撮像画像から被写体を検出する被写体検出部２３と、を備えている。本実施形態では、画像取得部２１は、例えば、画像処理ユニット２から転送されてきた撮像画像を一時的に記憶する図２のＲＡＭ１ｂによって構成される。被写体検出部２３は、ＲＡＭ１ｂに記憶された撮像画像を読み取り、読み取った撮像画像内の被写体の画像から特徴（例えば人物の顔の特徴）を抽出することにより被写体（被写体領域）を検出する。検出される被写体の領域は、撮影対象の全体でもその一部分（例えば、人物の「顔」部分）のいずれであってもよい。
また、制御部１は、検出された被写体から、被写体情報（撮像画像内での被写体の大きさ、位置等）を検出するための被写体情報検出部２４と、検出された被写体情報から撮像画像の主要被写体を推定する主要被写体推定部３１と、を備えている。
さらに、制御部１は、スコア関数Ｓを記憶するスコア関数メモリ２２と、判定条件メモリ２６と、を備えている。スコア関数メモリ２２及び判定条件メモリ２６は、図２のＲＡＭ１ｂ、ＲＯＭ１ｃ、及び、フラッシュメモリ１ｄの少なくともいずれかで実現することができる。スコア関数Ｓは、被写体情報を変数として、当該被写体情報を与える被写体が主要被写体である確率の高さをスコアとして与える関数である。判定条件メモリ２６に記憶される判定条件には、少なくとも、主要被写体とされている被写体を主要被写体から解除するため必要となる解除条件Ｊ1、及び画像中のある被写体を新たな主要被写体として設定するため必要となる設定条件Ｊ2が含まれている。主要被写体推定部３１は、スコア関数Ｓ、解除条件Ｊ1及び設定条件Ｊ2に基づいて、当該撮像画像内の主要被写体を推定する。
また、制御部１は、追尾制御部３３を備えている。追尾制御部３３は、主要被写体推定部３１により推定された主要被写体を追尾するため主要被写体情報を含む追尾制御信号を生成する。例えば、制御部１は、追尾制御信号によって、ディスプレイ６上の主要被写体の領域にＡＦ枠を重畳表示させたり、合焦モータ１２ｃを駆動させて、撮影レンズ１２に、主要被写体に対しての合焦動作を実行させたりする。或いは、制御部１は、主要被写体の情報に基づいて、主要被写体に露出を合わせるためデジタルカメラのシャッター速度、撮影レンズ１２の絞り、ＩＳＯ感度を制御したりすることができる。追尾制御部３３は、上記追尾制御信号を生成しなくともよく、追尾制御部３３自体が上記制御を行ってもよい。主要被写体の情報は、この例の使用に限定されるものではなく、例えば主要被写体を含む領域の画像データをクロップする等、他の用途にも用いることができる。
なお、上述の被写体検出部２３、被写体情報検出部２４、主要被写体推定部３１及び追尾制御部３３は、制御部１のＲＯＭ１ｃやフラッシュメモリ１ｄ等に記録されたプログラムをＣＰＵ１ａが実行することによって実現することができる。
ここで、スコア関数メモリ２２に記憶されているスコア関数Ｓについて説明する。なお、以下では、スコア関数の値が被写体Ｏi（添え字ｉは、各被写体につけた番号であり、i=1,2,...n(nは被写体の個数)である。）に関するものであることを示したいときには、スコアＳをＳ（Ｏi）と表記する。スコア関数が撮像画像内での被写体Ｏｉの大きさＬ（Ｏｉ）の関数として示したいときには、スコア関数をＳ（Ｌ（Ｏi））と表記し、大きさＬだけでなく被写体Ｏｉの位置Ｐ（Ｏｉ）の関数としても示したいときには、スコア関数をＳ（Ｌ（Ｏi），Ｐ（Ｏi））と表記する。なお、被写体Ｏｉを特定する必要のない場合は、単にＳ（Ｌ）或いはＳ（Ｌ，Ｐ）と省略表記する。
【００２７】
スコア関数Ｓは、少なくとも被写体Ｏiの撮像画像内での大きさＬ又は大きさに関する値の関数であり、本実施形態では、被写体が主要被写体である確率が高いほどスコア値が大きくなる関数として設定されている。通常、撮像画像内での被写体の大きさＬが大きいほど、主要被写体である確率が高いと考えられるため、スコア関数Ｓ（Ｏi）は、被写体Ｏiの大きさＬが大きいほどスコア値が大きくなるように設定されている。この場合、スコア関数Ｓ（Ｏi）は、被写体Ｏiの大きさＬの単調増加関数である。或いはスコア関数Ｓは、被写体の通常の大きさの範囲内で、大きさＬの増加関数としてもよく、それ以外の範囲では、一定値を取ったり或いは大きさＬの減少関数（大きすぎる被写体を排除）とすることもできる。
次に、判定条件メモリ２６に記憶されている解除条件Ｊ1及び設定条件Ｊ2について説明する。解除条件Ｊ1は、主要被写体とされている被写体がこの条件Ｊ1を満たすとき、当該被写体の主要被写体らしさの確率が減少して主要被写体でないと判定するための必要条件（ただし十分条件ではない）が満たされたことを示す条件である。一方、設定条件Ｊ2は、ある被写体がこの条件Ｊ２を満たすとき、当該被写体の主要被写体らしさの確率が増大して、新たな主要被写体であると判定するための条件が満たされたことを示す条件である。ここで、設定条件Ｊ2は、解除条件Ｊ1が成立しない条件（すなわち被写体Ｏ１を主要被写体に維持する）よりもきびしい条件として設定される。換言すれば、設定条件Ｊ2が成立する被写体情報（被写体の大きさ、位置、又はスコアＳ）の集合は、解除条件Ｊ1が成立しない条件を満たす被写体情報の集合に含まれている。
被写体が主要被写体であるかを推定するため、本実施形態のように１次元的なスコア関数を用いる場合には、解除条件Ｊ1及び設定条件Ｊ2は、閾値或いは数値範囲で示される。主要被写体である確率が上がるほどスコア値も大きくなる関数Ｓを用いた場合、設定条件Ｊ2が、解除条件Ｊ1が成立しない条件よりもきびしい条件であるとは、設定条件Ｊ2の閾値が解除条件Ｊ1の閾値よりも大きいことを意味している。換言すれば、設定条件Ｊ2が成立するスコア値の集合（Ｓ＞ＴｈＢ）は、解除条件Ｊ1が成立しない条件を満たすスコア値の集合（Ｓ＞ＴｈＡ）に含まれている（ＴｈＡ＜ＴｈＢより明らか）。
逆に、主要被写体である確率が上がるほどスコア値が小さくなるスコア関数を用いた場合には、設定条件Ｊ2が、解除条件Ｊ1が成立しない条件よりもきびしい条件であるとは、設定条件Ｊ2の閾値が解除条件Ｊ1の閾値よりも小さいことを意味している。
以上のように、主要被写体として設定されていなかった第２の被写体を主要被写体として新たに設定するよりも、主要被写体として設定された第１の被写体を主要被写体として継続して維持しようとする傾向がある点で、本発明の主要被写体推定の処理は、ヒステリシス特性を有しているといえる。
【００２８】
次に、本発明の第１の実施形態に係る主要被写体推定装置の処理の流れを、図６乃至図８を用いて説明する。このうち図６乃至図７は、制御部１の処理手順の一例を示すフローチャートである。図６乃至図７に示す処理手順のプログラムは、制御部１に備えられた、図１に示すＲＡＭ１ｂ、ＲＯＭ１ｃ，或いは、フラッシュメモリ１ｄに記録されている。      
【００２９】
図６に示すように、画像取得部２１が、時間的に最初に入力される撮像画像ｆｋ（ｋ＝１）、即ち撮像画像ｆ１を取得する（ステップ１００）。次に、被写体検出部２３が、撮像画像ｆ１内の被写体Ｏiを検出する(i=1,2,・(ステップ１０１)。例えば、図８に示すように、撮像画像ｆ１において人物１、２、３が存在した場合、被写体検出部２３は、人物１、２、３の顔領域を夫々被写体Ｏ１、Ｏ２、Ｏ３として検出する。このとき、被写体情報検出部２４が、撮像画像ｆ１内の被写体Ｏ１、Ｏ２、Ｏ３の被写体情報（被写体の大きさＬ１（Ｏｉ））を検出する。被写体情報検出部２４は、被写体の大きさＬ１（Ｏｉ）に追加して被写体の位置Ｐ１（Ｏｉ）或いは位置Ｐ１（Ｏｉ）のみを検出してもよい。
【００３０】
図６に戻り、制御部１は、撮像画像ｆ１において検出された被写体の中から、特定の被写体（この例では、Ｏ１(第１の被写体)）を主要被写体として指定する（ステップ１０２）。以後、主要被写体をＯｍと表す(現時点では、Ｏｍ＝Ｏ１である)。主要被写体の指定方法に関しては、例えば、主要被写体推定部３１が、検出された被写体の中から最も大きい被写体を自動的に主要被写体と推定してもよい。或いは、制御部１は、撮影者が指定した被写体を主要被写体とすることもできる。例えば、制御部１は、撮影者が、図示しない操作部材やディスプレイ６にタッチすることにより指定した被写体を最初の主要被写体と認識してもよい。
【００３１】
次に、画像取得部２１は、画像番号ｋを１つ増分し、次の撮像画像ｆｋを取得する（ステップ１０４）。次に、被写体検出部２３が、撮像画像ｆk内の被写体Ｏiを継続的に検出する(i=1,2,・(ステップ１０６)。例えば、図８に示すように、撮像画像ｆkにおいて、撮像画像ｆ１で検出された人物１、２、３と同じ人物であると推定される被写体Ｏ１、Ｏ２、Ｏ３を検出する。同一被写体であるか否かの判定は、例えば、制御部１が、現在の撮像画像において、一つ前に入力された撮像画像における被写体の位置に対応する位置の周辺の領域をサーチし、当該被写体の画像データとのマッチング演算等により類似した画像特徴を有する被写体を検出することによって可能となる。
【００３２】
次に、被写体情報検出部２４が、撮像画像ｆｋ内の被写体Ｏｉ(i=1,2,..)の被写体情報を検出する（ステップ１０８）。被写体情報検出部２４は、被写体情報として、少なくとも撮像画像内の被写体の大きさＬｋ（Ｏｉ）又は大きさに関する値を検出する。また被写体情報検出部２４は、被写体の大きさ以外に或いは被写体の大きさに代えて、撮像画像内での被写体の位置Ｐｋ（Ｏｉ）又は位置に関する値を検出してもよい。なお、撮像画像内の被写体の大きさＬｋ（Ｏｉ）は、図８に示すように、例えば、撮像画像内で被写体として検出された領域の一辺や対角線の長さ又は当該領域の面積を用いることができる。撮像画像内での被写体の位置Ｐｋ（Ｏｉ）は、撮像画像内で被写体として検出された領域の中心位置、或いは重心位置などを用いることができる。
【００３３】
次に、主要被写体推定部３１は、Ｌｋ（Ｏi）及びＰｋ（Ｏｉ） (i=1,2,・の少なくともいずれかに関するスコア関数Ｓ（Ｏi）の値に基づいて撮像画像ｆkにおける主要被写体Ｏｍを推定する（ステップ１１０）。撮像画像ｆｋにおける主要被写体Ｏｍを推定した後、制御部１は、ステップ１０４に戻り、次に入力された撮像画像fｋについて、同様の処理を実行することにより、撮像画像ｆｋにおける主要被写体Ｏｍを推定する。
【００３４】
次にステップ１１０の工程の処理の流れについて、図７を用いて説明する。
【００３５】
図７に示すように、主要被写体推定部３１は、スコア関数Ｓメモリ２２からスコア関数Ｓを呼び出し、判定条件メモリ２６から主要被写体の解除条件Ｊ１及び主要被写体の設定条件Ｊ２を読み込む（ステップ１５０）。
次に、主要被写体推定部３１は、現時点での主要被写体Ｏｍ（１回目のループでは、Ｏｍ＝Ｏ１）の被写体情報をスコア関数に代入することにより、主要被写体のスコア値Ｓ（Ｏｍ）を求める。主要被写体推定部３１は、スコア値Ｓ（Ｏｍ）が解除条件Ｊ１を満足しているか否かを判定する（ステップ１５２）。
スコア値Ｓ（Ｏｍ）が解除条件Ｊ１を満足していない場合（ステップ１５２の否定判定）、主要被写体推定部３１は、主要被写体を維持すると判断し（Ｏｍ＝Ｏ１）、本ルーチンをリターンして、図６のメインルーチンに処理を戻す。この場合、追尾制御部３３は、直前の撮像画像のときと同じ被写体を主要被写体Ｏｍとして追尾する。
【００３６】
一方、スコア値Ｓ（Ｏｍ）が解除条件Ｊ１を満足している場合（ステップ１５２の肯定判定）、主要被写体推定部３１は、Ｏｍ以外の全ての被写体のスコア値Ｓ（Ｏｊ）の中から最大のスコア値Ｓmaxを与える第２の被写体Ｏｎを検索する（ステップ１５４）。ここで被写体Ｏｎの被写体情報をスコア関数に代入することにより第２の被写体のスコア値Ｓ（Ｏｎ）を求める。
スコア値Ｓ（Ｏｎ）が設定条件Ｊ２を満足しているか否かを判定する（ステップ１５６）。スコア値Ｓ（Ｏｎ）が設定条件Ｊ２を満足していない場合（ステップ１５６の否定判定）、主要被写体推定部３１は、主要被写体を維持するべきと判断し（Ｏｍ＝Ｏ１）、本ルーチンをリターンして、図６のメインルーチンに処理を戻す。この場合、追尾制御部３３は、直前の撮像画像のときと同じ被写体を主要被写体Ｏｍとして追尾する。
【００３７】
一方、スコア値Ｓ（Ｏｎ）が設定条件Ｊ２を満足している場合（ステップ１５６の肯定判定）、主要被写体推定部３１は、第２の被写体Ｏｎを主要被写体とする（ステップ１５８）。すなわち、主要被写体番号ｍ＝ｎとする。その後、主要被写体推定部３１は本ルーチンをリターンして、図６のメインルーチンに処理を戻す。この場合、追尾制御部３３は、直前の撮像画像のときとは異なる被写体Ｏｎを主要被写体として追尾する。図６のメインルーチンでは、制御部１は、次に入力された撮像画像について同様の処理を繰り返す。      
【００３８】
第１の実施形態によれば、先に主要被写体と指定（又は推定）された第１の被写体のスコア関数Ｓの値が解除条件Ｊ１を満足し、かつ、第１の被写体以外で主要被写体である確率が高いと考えられる第２の被写体のスコア関数Ｓの値が設定条件Ｊ２を満足した場合、制御部１は、第２の被写体が主要被写体であると推定する。設定条件Ｊ２は解除条件Ｊ１が成立せず第１の被写体を主要被写体に維持する条件よりもきびしいため、先に主要被写体とされた第１の被写体は、主要被写体との推定（又は指定）を維持しやすく、第２の被写体は第１の被写体と比べて主要被写体であると推定されにくくなる。これによって、主要被写体を切り替えるべきでない何らかの原因により被写体のスコア値等が急激に変動する状況（例えば、偶々非常に大きい第２の被写体が撮像画像内に入り込んだ時など）であっても、安定して主要被写体を推定し続けることが可能となる。さらに第１の実施形態によれば、少なくとも撮像画像内での被写体の大きさに基づいて主要被写体を推定するため、撮影者がデジタルカメラ１０をパンニング若しくはチルティングしていなくとも、或いは、その操作の途中であったとしても、主要被写体を正確に推定することができる。
なお、上記では、スコア関数Ｓが、撮像画像内での被写体Ｏｉの大きさＬ（Ｏｉ）の関数である例を挙げたが、被写体の大きさに関する値をスコア関数Ｓの変数として用いてもよい。大きさに関する値として、例えば、時間的に連続する所定フレーム数に亘る同一被写体の大きさＬ1,Ｌ２,Ｌ３,・フ平均値Ｌave、それらの分散値Ｌｖ、Ｌの変化ΔＬ（時間的に離れた撮像画像における同一被写体の大きさの変化）などが挙げられる。スコア関数の変数として、これらの値やこれらの値の組み合わせ等を使用することもできる。例えば、スコア関数として、Ｓ（Ｌave）、Ｓ（Ｌ，Ｌｖ）、Ｓ（Ｌave，Ｌｖ）、Ｓ（Ｌ，ΔＬ）、Ｓ（Ｌave，Ｌｖ、ΔＬ）等を使用することができる。
また、スコア関数Ｓ（Ｏi）の変数として、被写体Ｏｉの大きさＬ（Ｏi）だけではなく、撮像画像内での被写体Ｏｉの位置Ｐ（Ｏi）又は位置に関する値を、単独で或いは大きさＬと組み合わせて使用することもできる。大きさＬと位置Ｐとを用いた場合、スコア関数はＳ（Ｌ，Ｐ）となる。このとき、Ｓ（Ｌ，Ｐ）は、位置Ｐ（Ｏi）が撮像画像内で主要被写体が存在する確率が高い位置であるほど、スコア値が大きくなるように設定されている。しかし、スコア関数Ｓは大きさＬの関数でもあるので、被写体が主要被写体の存在確率の高い位置に位置していたとしても、被写体の大きさＬが小さければ、スコア値は大きくならない。逆もまた然りである。
また、位置に関する値としては、例えば、時間的に連続する所定フレーム数に亘る同一被写体の位置Ｐ1,Ｐ２,Ｐ３,・フ平均値Ｐave、それらの分散値Ｐｖ、Ｐの変化ΔＰ（時間的に離れた撮像画像における同一被写体の位置の変化）、主要被写体が存在する確率が最も高いと考えられる位置Ｐ０（撮像画像の中央位置）との距離｜Ｐ−Ｐ０｜、位置Ｐ０への接近傾向等が挙げられる。接近傾向の例として、所定フレーム数に亘る被写体位置の評価の結果、被写体の位置が、画面内の所定の位置（例えば撮像画像の中央位置）に近づいている場合には、スコア値を大きくし、遠ざかっていればスコア値を小さくする。スコア関数の変数として、これらの値やこれらの値の組み合わせ等を使用することもできる。例えば、スコア関数として、Ｓ（Ｌ，Ｐave）、Ｓ（Ｌ，Ｐｖ）、Ｓ（Ｌave，Ｐｖ）、Ｓ（Ｌ，ΔＰ）、Ｓ（Ｌave，｜Ｐ−Ｐ０｜）、Ｓ（Ｌ,Δ（Ｐ-Ｐ０））等を使用することができる。
上記考察より、第１の実施形態では、例えば、スコア関数Ｓを、次式のように一般的に表すことができる。
【００３９】
Ｓ（ｘ１,ｘ２,ｘ３,・j＝ｗ１・ｘ１＋ｗ２・ｘ２＋ｗ３・ｘ３＋・.   (1)
ここで、変数ｘ１、ｘ２、ｘ３,・ヘ、上記例に挙げた、被写体の大きさ又は大きさに関する値、被写体の位置又は位置に関する値である。ｗ１、ｗ２、ｗ３，．．．は、各変数ｘ１,ｘ２,ｘ３,・フ重み係数であり、これらの重み係数ｗ１，ｗ２．ｗ３,...は、正負の値、０の値を取り得る。例えば大きさＬの重み係数は正である。すなわち、被写体の大きさＬが大きいほど、主要被写体であるスコア値（確率）が増加することを示している。逆に位置Ｐ０（撮像画像の中央位置）との距離｜Ｐ−Ｐ０｜の重み係数は負である。すなわち、当該距離が大きいほど主要被写体であるスコア値（確率）が減少することを示している。特に主要被写体推定に使用しない変数については、その重み係数を０とすればよい。
様々な撮影状況やシーンに応じて、主要被写体の変数ｘ１、ｘ２、ｘ３,・・・を解析し、主要被写体のスコア関数の値がより大きくなるように、適切な重み係数ｗ１，ｗ２．ｗ３，．．．を予め選択或いは学習等によって決定しておく。このように重み係数を適宜調節することによって、様々な撮影状況において主要被写体を推定することが可能となる。勿論、スコア関数の表現は(1)式に限定されるものではない。
（第２の実施形態）
次に、第２の実施の形態について説明する。図４には、デジタルカメラ１０の制御部１が第２の実施形態に係る主要被写体推定装置として機能する場合の機能ブロック図が示されている。
【００４０】
図４に示すように、制御部１は、図３に示したスコア関数メモリ２２及び判定条件メモリ２６の代わりに、所定範囲設定部２５と、判定条件設定部２７とを備えている。所定範囲設定部２５は、撮像画像内のうちある特定の領域である所定範囲を設定する。また、判定条件設定部２７は、着目する被写体が主要被写体であるか否かを判定するための判定条件を、閾値メモリ３０に記憶された閾値から設定する。なお、図４において第１の実施形態と同様の機能を有する構成要素に関しては、図３と同一の参照番号を付与し、それらの詳細な説明を省略する。なお、所定範囲設定部２５及び判定条件設定部２７は、制御部１のＲＯＭ１ｃやフラッシュメモリ１ｄ等に記録されたプログラムをＣＰＵ１ａが実行することによって実現することができる。
所定範囲設定部２５により設定される所定範囲は、主要被写体が存在する確率が高いと予想される撮像画像内の特定領域（一例として後述する図１３の撮像画像５５ａ、ｂ内の所定範囲５１ａ、ｂ参照）である。当該所定範囲は、例えば、固定位置（例えば撮像画像の中心位置）を中心として所定の大きさを持つ所定形状の領域として設定される。この例の場合、所定範囲設定部２５は、例えば、当該所定範囲を記憶したＲＯＭ１ｃ（図２）の特定メモリ領域に記憶されている固定位置の位置情報、所定範囲の形状及び大きさの情報に基づいて所定範囲を設定する。また、当該所定範囲の中心位置が先に主要被写体とされた被写体の位置又は撮影者が指定した位置に合致するように、当該所定範囲の中心位置を調整可能としてもよい。さらに、当該所定範囲が、撮影者の操作指令により、その大きさを調整されるようにしてもよい。また、所定範囲は、図１３の所定範囲５１ａ、５１ｂのような矩形の他、円や楕円など、主要被写体の存在確率が高い領域を表すことができる他の形状を持つことができる。
第２の実施形態の主要被写体推定部３１は、所定範囲及び判定条件に基づいて、撮像画像内に存在する被写体の中から主要被写体を推定する。
【００４１】
次に、本発明の第２の実施形態に係る主要被写体推定装置の処理の流れを、図９及び図１０を用いて説明する。図９及び図１０は、制御部１の処理手順の一例を示すフローチャートである。当該処理手順のプログラムは、制御部１に備えられた、図１に示すＲＡＭ１ｂ、ＲＯＭ１ｃ，或いは、フラッシュメモリ１ｄに記録されている。
【００４２】
図９に示すように、画像取得部２１が、時間的に最初に入力される撮像画像ｆｋ（ｋ＝１）、即ち撮像画像ｆ１を取得する（ステップ２００）。次に、被写体検出部２３が、撮像画像ｆ１内の被写体Ｏiを検出する(i=1,2,・(ステップ２０１)。
【００４３】
次に、制御部１は、撮像画像ｆ１において検出された被写体の中から、特定の被写体（この例では、Ｏ１を主要被写体とする）を主要被写体として指定する（ステップ２０２）。主要被写体の指定方法に関しては、第１の実施形態と同様である。
【００４４】
次に、画像取得部２１は、画像番号ｋを１つ増分し、次の撮像画像ｆｋを取得する（ステップ２０４）。次に、被写体検出部２３が、撮像画像ｆk内の被写体Ｏiを継続的に検出する(i=1,2,・(ステップ２０６)。撮像画像内の被写体を継続的に検出する方法に関しては、第１の実施形態と同様である。
【００４５】
次に、被写体情報検出部２４が、撮像画像ｆｋ内の被写体Ｏｉ(i=1,2,..)の被写体情報を検出する（ステップ２０８）。被写体情報検出部２４は、被写体情報として、少なくとも被写体の大きさＬ１（Ｏｉ）又は大きさに関する値を検出する。また被写体情報検出部２４は、被写体の大きさ以外に或いは大きさに代えて、被写体の位置Ｐ１（Ｏｉ）又は位置に関する値を検出する。
【００４６】
次に、主要被写体推定部３１は、Ｌｋ（Ｏi） 又は位置Ｐ１（Ｏｉ）(i=1,2,・  に基づいて撮像画像ｆkにおける主要被写体Ｏｍを推定する（ステップ２１０）。撮像画像ｆｋにおける主要被写体Ｏｍを推定した後、制御部１は、ステップ２０４に戻り、次に入力された撮像画像fｋ＋１について、同様の処理を実行することにより、撮像画像ｆk+1における主要被写体Ｏｍを推定する。
【００４７】
次にステップ２１０の工程の処理の流れを図１０を用いて説明する。
【００４８】
図１０に示すように、判定条件設定部２７は、閾値メモリ３０から閾値ＴｈＡ及びＴｈＢ（ＴｈＡ＜ＴｈＢ）を読み込む（ステップ２５０）。判定条件設定部２７は、閾値ＴｈＡ及びＴｈＢを主要被写体推定部３１に伝達する。
【００４９】
次に、主要被写体推定部３１は、現時点で主要被写体であるとされている被写体Ｏｍ（１回目のループでは、Ｏｍ＝Ｏ１）の大きさＬ（Ｏｍ）が閾値ＴｈＡ以下であるか否かを判定する（ステップ２５２）。Ｌ（Ｏｍ）が閾値ＴｈＡより大きい場合（ステップ２５２の否定判定）、主要被写体推定部３１は、主要被写体を維持するべきである（Ｏｍ＝Ｏ１）と判断し、本ルーチンをリターンして、図９のメインルーチンに処理を戻す。この場合、追尾制御部３３は、直前の撮像画像のときと同じ被写体を主要被写体Ｏｍとして追尾する。
一方、Ｌ（Ｏｍ）が閾値ＴｈＡ以下である場合（ステップ２５２の肯定判定）、主要被写体推定部３１は、Ｏｍ以外の全ての被写体の大きさＬ（Ｏｊ）のうち最大の大きさＬmaxを与える第２の被写体Ｏｎを検索する（ステップ２５４）。
【００５０】
第２の被写体Ｏｎが検索されると、主要被写体推定部３１は、第２の被写体Ｏｎの位置Ｐ（Ｏｎ）が所定範囲設定部２５により設定された所定範囲内にあるか否かを判定する（ステップ２５５）。第２の被写体Ｏｎの位置Ｐ（Ｏｎ）が所定範囲内にない場合（ステップ２５５の否定判定）、主要被写体推定部３１は、第２の被写体Ｏｎが主要被写体ではないとみなし、本ルーチンをリターンして、図９のメインルーチンに処理を戻す。この場合、追尾制御部３３は、直前の撮像画像のときと同じ被写体を主要被写体Ｏｍとして追尾する。
一方、第２の被写体Ｏｎの位置Ｐ（Ｏｎ）が所定範囲内にある場合（ステップ２５５の肯定判定）、主要被写体推定部３１は、第２の被写体の大きさＬ（Ｏｎ）がＴｈＢ以上であるか否かを判定する（ステップ２５６）。Ｌ（Ｏｎ）がＴｈＢより小さい場合（ステップ２５６の否定判定）、主要被写体推定部３１は、主要被写体を維持するべきである（Ｏｍ＝Ｏ１）と判断し、本ルーチンをリターンして、図９のメインルーチンに処理を戻す。この場合、追尾制御部３３は、直前の撮像画像のときと同じ被写体を主要被写体Ｏｍとして追尾する。
【００５１】
Ｌ（Ｏｎ）がＴｈＢ以上の場合（ステップ２５６の肯定判定）、主要被写体推定部３１は、第２の被写体Ｏｎを主要被写体とする（ステップ２５８）。すなわち、主要被写体番号ｍ＝ｎとする。その後、主要被写体推定部３１は本ルーチンをリターンして、図９のメインルーチンに処理を戻す。この場合、追尾制御部３３は、直前の撮像画像のときとは異なる被写体Ｏｎを主要被写体として追尾する。図９のメインルーチンでは、制御部１は、次の撮像画像について同様の処理を繰り返す。
第２の実施形態によれば、先に主要被写体と指定（又は推定）された第１の被写体の大きさＬがＴｈＡ以下となり、かつ、第１の被写体以外で主要被写体である確率が高いと考えられる第２の被写体が撮像画面内の所定範囲内に存在し、その大きさＬがＴｈＢ以上となった場合に、制御部１は、第２の被写体を主要被写体であると推定する。閾値ＴｈＢは、閾値ＴｈＡよりも大きいため、先に主要被写体と推定された第１の被写体は、主要被写体との推定を維持しやすく、第２の被写体は第１の被写体と比べて主要被写体であると推定されにくくなる。すなわち、主要被写体推定は、被写体の大きさの評価に関してヒステリシス特性を有している。
これによって、主要被写体を切り替えるべきでない何らかの原因により被写体のスコア値等が急激に変動する状況（例えば、偶々非常に大きい第２の被写体が撮像画像内に入り込んだ時など）であっても、安定して主要被写体を推定し続けることが可能となる。
【００５２】
図８の例では、撮像画像ｆ１において被写体Ｏ１が主要被写体と指定若しくは自動検出されている。その後、撮像画像ｆｋにおいて、撮像画像ｆ１と比べて、被写体Ｏ１の大きさＬｋ（Ｏ１）が小さくなり、被写体Ｏ２の大きさＬｋ（Ｏ２）が大きくなり、被写体Ｏ３の大きさＬｋ（Ｏ３）が更に小さくなる。ここで、Ｌｋ（Ｏ１）がＴｈＡ以下となり、Ｌｋ（Ｏ２）がＴｈＢ以上となった場合には、主要被写体は、Ｏ１からＯ２に切り替わったと判断する。
また、第２の実施形態によれば、撮像画像内での被写体の大きさに基づいて主要被写体を推定するため、撮影者がデジタルカメラ１０をパンニング若しくはチルティングしていなくとも、或いは、その操作の途中であったとしても、主要被写体を正確に推定することができる。
【００５３】
さらに第２の実施形態では、第２の被写体に対して、所定範囲内にあるか否かの判定も行う（図１０のステップ２５５）。このように第２の実施形態では、被写体の大きさだけでなく被写体の位置の情報も、主要被写体推定に用いることを可能にしたため、より正確な主要被写体の推定が可能となる。
【００５４】
なお、第２の実施形態において、所定範囲設定部２５を省略した態様も可能である。この場合、図１０のステップ２５５も省略される。
【００５５】
第２の実施形態において、所定範囲設定部２５を省略した態様は、第１の実施形態において、スコア関数Ｓを被写体の大きさＬのみの関数とした態様に対応する。この態様の一例は、スコア関数Ｓ（Ｌ）＝ｗ・Ｌ（ｗは正の定数）とし、更に、解除条件Ｊ１をＬ≦ ＴｈＡとし、設定条件Ｊ２をＬ≧ ＴｈＢとしたものである。
【００５６】
第２の実施形態において、所定範囲設定部２５を追加した態様は、第１の実施形態において、スコア関数Ｓを被写体の大きさＬと位置Ｐとの関数としたものに対応する。この態様の一例は、位置Ｐが所定範囲内にあるときスコア関数Ｓ（Ｌ、Ｐ）＝ｗ・Ｌ（ｗは正の定数）とし、位置Ｐが所定範囲外にあるときスコア関数Ｓ（Ｌ、Ｐ）＝０としたものである。
（第３の実施形態）
次に、第３の実施の形態について説明する。第２の実施形態が被写体の大きさに基づいて主要被写体を推定したのに対して、第３の実施形態は、被写体の位置に基づいて主要被写体を推定する。第３の実施形態の機能ブロック図は、図４において、所定範囲設定部２５が省略され、閾値メモリ３０が閾値ＴｈＡ，ＴｈＢの代わりに後述する閾領域(第１の領域ＲＡ、第２の領域)の情報を記憶するものである。
【００５７】
次に、本発明の第３の実施形態に係る主要被写体推定装置の処理の流れを、図９及び図１１を用いて説明する。図９及び図１１は、制御部１の処理手順の一例を示すフローチャートである。当該処理手順のプログラムは、制御部１に備えられた、図１に示すＲＡＭ１ｂ、ＲＯＭ１ｃ，或いは、フラッシュメモリ１ｄに記録されている。
【００５８】
第３の実施形態では、図９に示すステップ２００〜２０６を第２の実施形態に関して上述した通り実行する。次にステップ２０８において、撮像画像ｆｋ内の被写体Ｏｉ(i=1,2,..)の被写体情報として被写体Ｏｉの位置Ｐ１（Ｏｉ）を検出する。次に、ステップ２１０において、主要被写体推定部３１は、被写体Ｏｉの位置Ｐ１（Ｏｉ）(i=1,2,・  に基づいて撮像画像ｆkにおける主要被写体Ｏｍを推定する。
【００５９】
次にステップ２１０の工程の処理の流れを図１１を用いて説明する。
【００６０】
図１１に示すように、判定条件設定部２７は、閾値メモリ３０から、撮像画像内の第１の領域ＲＡ及び第２の領域ＲＢを画定するため必要な情報を読み込む（ステップ３００）。ここで、第１の領域ＲＡは第２の領域ＲＢを包含している（後述する図１２参照）。また、ステップ３００において、判定条件設定部２７は、領域ＲＡ、ＲＢ内の代表位置Ｐ０の座標値を読み込んでもよい。位置Ｐ０は、主要被写体が存在する確率の高い位置であり、撮像画像の中心位置、或いは、主要被写体の位置として最初に指定された位置などである（後述する図１２参照）。領域ＲＡ、ＲＢは、この位置を中心として画定されてもよい。判定条件設定部２７は、領域ＲＡ、ＲＢ、位置Ｐ０の情報を主要被写体推定部３１に伝達する。
【００６１】
次に、主要被写体推定部３１は、現時点で主要被写体であるとされている被写体Ｏｍ（１回目のループでは、Ｏｍ＝Ｏ１）の位置Ｐ（Ｏｍ）が第１の領域ＲＡ内の位置であるか否かを判定する（ステップ３０２）。Ｐ（Ｏｍ）が第１の領域ＲＡ内の位置である場合（ステップ３０２の肯定判定）、主要被写体推定部３１は、主要被写体を維持するべきである（Ｏｍ＝Ｏ１）と判断し、本ルーチンをリターンして、図９のメインルーチンに処理を戻す。この場合、追尾制御部３３は、直前の撮像画像のときと同じ被写体を主要被写体Ｏｍとして追尾する。
一方、位置Ｐ（Ｏｍ）が第１の領域ＲＡ内の位置ではない場合（ステップ３０２の否定判定）、主要被写体推定部３１は、Ｏｍ以外の全ての被写体の位置Ｐ（Ｏｊ）のうち位置Ｐ０に最も近い距離にある第２の被写体Ｏｎを検索する（ステップ３０４）。
【００６２】
第２の被写体Ｏｎが検索されると、主要被写体推定部３１は、第２の被写体Ｏｎの位置Ｐ（Ｏｎ）が第２の領域ＲＢ内の位置であるか否かを判定する（ステップ３０６）。第２の被写体Ｏｎの位置Ｐ（Ｏｎ）が第２の領域ＲＢ内の位置ではない場合（ステップ３０６の否定判定）、主要被写体推定部３１は、第２の被写体Ｏｎが主要被写体ではないとみなし、本ルーチンをリターンして、図９のメインルーチンに処理を戻す。この場合、追尾制御部３３は、直前の撮像画像のときと同じ被写体を主要被写体Ｏｍとして追尾する。
一方、第２の被写体Ｏｎの位置Ｐ（Ｏｎ）が第２の領域ＲＢ内の位置である場合（ステップ３０６の肯定判定）、主要被写体推定部３１は、第２の被写体Ｏｎを主要被写体とする（ステップ３０８）。すなわち、主要被写体番号ｍ＝ｎとする。その後、主要被写体推定部３１は本ルーチンをリターンして、図９のメインルーチンに処理を戻す。この場合、追尾制御部３３は、直前の撮像画像のときとは異なる被写体Ｏｎを主要被写体として追尾する。図９のメインルーチンでは、制御部１は、次の撮像画像について同様の処理を繰り返す。
次に図１２を用いて第３の実施形態を説明する。
図１２（Ａ）は、撮像画像５５において、主要被写体が存在する確率の高い第１の領域ＲＡ内に第１の被写体８１が存在し、第２の被写体８２が、第１の領域ＲＡの領域外に存在している状況を示している。このとき、第１の被写体８１が主要被写体と認識されている。次に、図１２（Ｂ）は、第１の被写体８１が第１の領域ＲＡの領域外に移動し、第２の被写体８２が第１の領域ＲＡ内に移動する状況を示している。この場合、第１の被写体が第１の領域ＲＡの領域外に存在し、第２の被写体８２が第１の領域ＲＡ内に存在しているのにも関わらず、第２の被写体８２は主要被写体とはされず、依然として第１の被写体が主要被写体とされている。最後に図１２（Ｃ）は、第１の被写体８１が第１の領域ＲＡの領域外に存在したままで、第２の被写体８２が第２の領域ＲＢ内に移動する状況を示している。この場合、第２の被写体８２が主要被写体として推定される。
第３の実施形態によれば、先に主要被写体と指定（又は推定）された第１の被写体８１の位置が第１のＲＡの領域外の位置となり、かつ、第１の被写体以外で主要被写体である確率が高いと考えられる第２の被写体８２の位置が、第１の領域ＲＡ内に含まれる第２の領域ＲＢ内の位置となった場合に、制御部１は、第２の被写体を主要被写体であると推定する。第２の領域ＲＢは第１の領域ＲＡ内に含まれるため、先に主要被写体と推定された第１の被写体は、主要被写体との推定を維持しやすく、第２の被写体は第１の被写体と比べて主要被写体であると推定されにくくなる。すなわち、主要被写体推定は、ヒステリシス特性を有している。
これによって、主要被写体を切り替えるべきでない何らかの原因により被写体のスコア値等が急激に変動する状況（例えば、偶々ある被写体が撮像画像内の主要被写体である確率の高い位置へと入り込んだ時など）であっても、安定して主要被写体を推定し続けることが可能となる。
（第４の実施形態）
次に、第４の実施形態について説明する。撮像画像内の被写体の大きさは、被写体の実際の大きさ、撮影状況、被写体の種類や形状、デジタルカメラから被写体までの撮影距離、撮影レンズの焦点距離に応じて変化する。例えば、人物の顔と、飛行機等の乗り物とでは、実際の大きさや形状の違い等に起因して、撮影画像内で検出された大きさも様々に異なり得る。また同じ人物撮影でも、背景を広く取り入れて人物を撮影する場合と、人物を大きくクローズアップする場合とでは、検出する顔領域の大きさは、後者の方が前者よりも大きくなる。一方、第２の実施形態で用いられる閾値は、メモリに記憶された固定値である。
本発明の第４の実施形態は、撮像画像内の被写体の大きさのばらつきに対応するため、固定値としての閾値を最初に主要被写体とされた被写体の大きさに応じて正規化するものである。第４の実施形態の構成は、図４に示された第２の実施形態の構成と実質的に同様である。また、第４の実施形態の処理の流れは、図９及び図１０に示されている第２の実施形態と実質的に同様である。第４の実施形態の以下の説明において、第２の実施形態と同様の構成要素及び処理に関しては、詳細な説明を省略する。
本発明の第４の実施形態は、図４の判定条件設定部２７が、図１０のステップ２５２、２５６で使用される閾値ＴｈＡ、ＴｈＢを、主要被写体の大きさに応じて正規化する。この正規化の方法は、例えば以下の通りとなる。
ＴｈＡnormal（正規化された閾値ＴｈＡ）  →  ＴｈＡ・Ｌｑ（Ｏｍ）  
ＴｈＢnormal（正規化された閾値ＴｈＢ）  →  ＴｈＢ・Ｌｑ（Ｏｍ）  
ここで、Ｌｑは、現在の主要被写体が初めて主要被写体と推定されたときの被写体の大きさである。閾値メモリ３０に記憶されているＴｈＡ、ＴｈＢは、大きさの次元を持つ値としてではなく、無次元の値として与えられる。上記正規化の結果、ＴｈＡnormal及びＴｈＢnormalは、被写体の大きさと比較され得る大きさの次元を持つに至る。
第４の実施形態の正規化方法によれば、図１０のステップ２５２で、主要被写体推定部３１が、現在の主要被写体の大きさが、その最初の大きさに応じて正規化された閾値ＴｈＡ以下であると判定すれば、ステップ２５４に進む。また、図１０のステップ２５６で、主要被写体推定部３１が、主要被写体の候補である第２の被写体の大きさが、現在の主要被写体の最初の大きさに応じて正規化された閾値ＴｈＢ以上であると判定すれば、ステップ２５８に進む。
第４の実施形態の他の例では、閾値を正規化する代わりに、主要被写体推定部３１が、検出された被写体の大きさを次の通り、Ｌｑ（Ｏｍ）で正規化してもよい。
Ｌ（Ｏｍ）normal（正規化された第１の被写体の大きさ）→Ｌ（Ｏｍ）／Ｌｑ（Ｏｍ）
Ｌ（Ｏｎ）normal（正規化された第２の被写体の大きさ）→Ｌ（Ｏｎ）／Ｌｑ（Ｏｍ）
閾値メモリ３０に記憶されているＴｈＡ、ＴｈＢは、大きさの次元を持つ値としてではなく、無次元の値として与えられ、これらと比較されるＬ（Ｏｍ）normal及びＬ（Ｏｎ）normalも無次元量となる。
第４の実施形態のこの正規化方法によれば、図１０のステップ２５２で、主要被写体推定部３１が、現在の主要被写体がその最初の大きさからどのくらいの比率で小さくなったかを監視し、当該比率がＴｈＡ以下であると判定すれば、ステップ２５４に進む。また、図１０のステップ２５６で、主要被写体推定部３１が、主要被写体の候補である第２の被写体が現在の主要被写体の最初の大きさと比べてどのくらいの比率で大きくなったかを監視し、当該比率がＴｈＢ以上であると判定すれば、ステップ２５８に進む。
例えば、最初の撮影では、背景を広く撮影範囲に取り入れた状態で複数の人物の中から主要被写体推定を行っていたとする。このとき、人物の大きさは小さいため、主要被写体の大きさに応じて上述のように正規化された閾値は、比較的小さく設定される。本実施形態では、各人物の大きさが小さい状態において、比較的小さい閾値を用いるため、主要被写体推定を的確に行うことができる。次に複数人物の中から少人数に絞ってクローズアップしたい場合、焦点距離を大きくするか或いは人物に近づいたりする。この場合、撮像画像内での人物の大きさは大きくなる。本実施形態では、大きくなった被写体の大きさに応じて閾値も大きく正規化されるため、被写体が大きくなった状況においても、主要被写体推定を的確に行うことができる。
また、焦点距離や撮影距離が異なる場合だけではなく、被写体の種類によっても、被写体の大きさは異なってくる。例えば飛行機等の乗り物を撮影する場合、被写体の輪郭抽出のアルゴリズムにもよるが、人物の顔領域よりも被写体の大きさは大きくなり得る。この場合においても、本実施形態は、その大きさに応じて閾値を正規化するため、被写体の種類に依らず、的確な主要被写体の推定を行うことが可能となる。
なお、上記例では、Ｌｑ（Ｏｍ）で閾値又は被写体の大きさを正規化したが、本発明は、この例に限定されない。例えば、他の時点の被写体の大きさ等を用いることも可能である。
以上の通り第４の実施形態によれば、閾値又は被写体の大きさを、被写体の実際の大きさ、デジタルカメラから被写体までの撮影距離、撮影レンズの焦点距離等に応じて変化するＬｑ（Ｏｍ）で正規化するため、より正確な主要被写体推定が可能となる。
（第５の実施形態）
次に第５の実施形態について説明する。図５は、デジタルカメラ１０の制御部１が第５の実施形態に係る主要被写体推定装置として機能する場合の機能ブロック図である。なお、図５において第２及び第４の実施形態と同様の機能を有する構成要素に関しては、図４と同一の参照番号を付与し、それらの詳細な説明を省略する。第５の実施形態の処理の流れは、図９及び図１０に示されている第２の実施形態と実質的に同様であるので、第５の実施形態の以下の説明において、第２の実施形態と同様の処理に関しては、詳細な説明を省略し、異なる部分のみを説明する。
【００６３】
撮影レンズ１２の焦点距離やクロップ領域の大きさが変化すると、この変化に応じて、得られる画像の画角も変化する。画角が広角のときと望遠のときとでは、被写体がデジタルカメラに対して相対的に位置若しくは角度が変化するときの撮像画角内の移動距離は異なってくる。
また、画角が広角のときと望遠のときとでは、撮像画像内で被写体が一定の大きさであったとしても、デジタルカメラから被写体までの撮影距離が異なるため、被写体の大きさの変化は、広角のときと望遠のときとで異なってくる。すなわち、デジタルカメラから被写体までの撮影距離が一定距離だけ変化したとき、画角が広角のときの被写体の大きさの変化は、望遠のときと比べて、より大きくなる。このように広角では遠近感が強調され、望遠では遠近感が圧縮される。
【００６４】
上記事実に鑑み、第５の実施形態は、第２の実施形態及び第４の実施形態において、画角の相違による被写体の撮像画像内の移動距離の変化の相違、並びに、画角の相違による被写体の大きさの変化の相違を補償するものである。
【００６５】
図５に示すように、制御部１は、図４に示した構成要素の他に、撮像画像が撮像されたときの画角を取得する画角取得部２８を更に備えている。画角取得部２８は、撮影レンズ１２から送られてきた焦点距離情報、及び／又は、操作インターフェース部７を介して伝達された、撮影者による撮像領域の大きさの指定操作（例えば、３５ｍｍフルサイズ、ＡＰＳ−Ｃサイズ、１．２倍、或いは、１．３倍等の切り替え操作等）に基づいて、撮像画像が撮像されたときの画角を取得する。画角取得部２８は、取得した画角の情報を、所定範囲設定部２５及び判定条件設定部２７に伝達する。デジタルカメラ１０がクロップ機能を有していない場合や、クロップ機能を使用しない場合には、画角取得部２８は、撮影レンズ１２からの焦点距離情報を、所定範囲設定部２５及び判定条件設定部２７に直接送ることができる。
【００６６】
第５の実施形態に係る所定範囲設定部２５の作用に関して図１３を用いて説明する。
【００６７】
図１３には、撮影レンズの焦点距離が広角の場合と望遠の場合との画角の相違が示されている。被写体５０が同一の撮影距離Ｄ１において矢印５８の方向に同じ移動量で相対的に移動する場合（矢印５８の長さが移動量を表すものとする）を想定する（デジタルカメラ１０が被写体に対する向きを変えて被写体が画面内で移動する場合も含まれる）。
広角レンズで撮影した場合、広い画角により撮影距離Ｄ１における撮影範囲６０が広くなるため、当該撮影範囲６０に対する被写体移動距離の比は望遠の場合よりも小さくなる。これに対して望遠レンズで撮影した場合、狭い画角により撮影距離Ｄ１における撮影範囲６２が狭くなるため、当該撮影範囲６２に対する被写体移動距離の比は広角の場合よりも大きくなる。この状況は、撮影レンズの焦点距離が同一であっても撮影領域の一部をクロップすることにより望遠効果をもたせる場合にも当てはまる。
従って、撮像画像内において、主要被写体が存在する確率の高い領域は、広角で撮影したときよりも望遠で撮影したときの方が、より広くなる。この状況に対応するため、所定範囲設定部２５は、画角が大きく（小さくなる）なるほど、所定範囲を小さく（大きく）設定する。例えば図１３に示すように、広角での撮影時に撮像画像５５ａに対して所定範囲５１ａを設定した場合、より望遠での撮影時では、撮像画像５５ｂに対して、所定範囲５１ａよりも広い所定範囲５１ｂを設定する。これによって、図１０のステップ２５５の判定精度を向上させることができる。なお、第３の実施形態の第１の領域ＲＡ及び第２の領域ＲＢに関しても、画角に応じた領域変更を適用することができる。
なお、図１３において、被写体５０までの撮影距離がＤ２（＜Ｄ１）となった場合、撮影範囲６１、６３は、各々、撮影範囲６０、６２よりも小さくなる。従って、被写体５０までの撮影距離を検出できる場合には、所定範囲設定部２５は、撮影距離が小さい（大きい）ほど、所定範囲を大きく（小さく）するようにしてもよい。
【００６８】
次に、第５の実施形態に係る判定条件設定部２７の作用に関して図１４を用いて説明する。
図１４（Ａ）には、カメラ９１が広角レンズで被写体Ｏ１及びＯ２を同一の撮影距離ｌ１から撮影し、カメラ９２が望遠レンズで被写体Ｏ１及びＯ２を同一の撮影距離ｌ２から撮影している撮影状況が示されている。ここで、カメラ９１及び９２のいずれにおいても被写体Ｏ１が主要被写体とされているとする。また、説明を簡単にするため、カメラ９２の望遠レンズの焦点距離がカメラ９１の広角レンズの焦点距離のｌ２／ｌ１倍であり、被写体Ｏ１及びＯ２の実際の大きさが同一と仮定すると、カメラ９１及び９２の撮像画像内における被写体Ｏ１及びＯ２の大きさは、等しくなる。
図１４（Ｂ）には、図１４（Ａ）の撮影状況から被写体Ｏ２がカメラ９１及び９２に距離ｌ３だけ接近した状況が示されている。図１４（Ｂ）の場合、カメラ９１における撮像画像内での被写体Ｏ２の大きさＬ１ｋ（Ｏ２）及びカメラ９２における撮像画像内での被写体Ｏ２の大きさＬ２ｋ（Ｏ２）は、図１４（Ａ）の状況での被写体Ｏ２の大きさをＬ１（Ｏ２）とすると、以下の通りとなる。
カメラ９１：Ｌ１ｋ（Ｏ２）＝（ｌ１／（ｌ１−ｌ３））・Ｌ１（Ｏ２）
カメラ９２：Ｌ２ｋ（Ｏ２）＝（ｌ２／（ｌ２−ｌ３））・Ｌ１（Ｏ２）
ｌ２＞ｌ１であるためＬ１ｋ（Ｏ２）＞Ｌ２ｋ（Ｏ２）となる。すなわち、図１４（Ｂ）の状況では、カメラ９１での被写体Ｏ２の大きさは、カメラ９２での被写体Ｏ２の大きさよりも大きくなる。
被写体Ｏ１の大きさＬ１（Ｏ２）がＴｈＡ以下となっており、Ｌ２ｋ（Ｏ２）＞ＴｈＢ＞Ｌ１ｋ（Ｏ２）となる場合を想定する。この場合、同じ図１４（Ｂ）の状況で撮影しているにも関わらず、カメラ９１では、被写体Ｏ２を主要被写体とするのに対し、カメラ９２では、被写体Ｏ２を主要被写体としないことがおこり得る。第５の実施形態では、広角と望遠とで主要被写体の検出率を同一或いは近づけるため、判定条件設定部２７が、撮影時の画角が大きく（焦点距離が小さく）なるほど、閾値比ＴｈＢ／ＴｈＡ（或いは差ＴｈＢ−ＴｈＡ）を大きくする。また、撮影時の画角が小さく（焦点距離が大きく）なるほど、閾値比ＴｈＢ／ＴｈＡ（或いは差ＴｈＢ−ＴｈＡ）を小さくする。このように主要被写体検出のヒステリシス特性を、画角によって変更することで、撮影時の画角の相違による主要被写体の推定精度のばらつきを減少させることができる。
【００６９】
例えば、焦点距離１００ｍｍのレンズを持つカメラ９２でｌ２＝１０ｍの距離から被写体Ｏ１を撮影する場合と、焦点距離５０ｍｍのレンズを持つカメラ９１で５ｍの距離から同一被写体Ｏ１を撮影する場合とを考えると、いずれのカメラでも、撮像画面内での被写体Ｏ１の大きさは同じとなる。ここで、被写体Ｏ１と同じ撮影距離に存在していた被写体Ｏ２が被写体Ｏ１を１ｍ抜いてカメラ９１及び９２に接近する状況を想定すると、被写体Ｏ２はカメラ９２から９ｍ、カメラ９１から４ｍの距離となる。被写体Ｏ１、Ｏ２の実際の大きさが同じとすると、カメラ９２の撮像画面内では、被写体Ｏ２は被写体Ｏ１の１０／９＝約１．１倍、カメラ９１の撮像画面内では、被写体Ｏ２は被写体Ｏ１の５／４＝１．２５倍となる。そこで、判定条件設定部２７は、撮像時の画角が広角になるほど、ＴｈＢを増大させ（或いは／及びＴｈＡを減少させ）、撮像時の画角が望遠になるほど、ＴｈＢを減少させ（或いは／及びＴｈＡを増大させ）ることにより、カメラ９１及び９２のいずれにおいても、被写体Ｏ２を主要被写体と推定することができる。
【００７０】
被写体Ｏ１、Ｏ２までの撮影距離を検出できる場合には、判定条件設定部２７は、撮影距離が減少するほど、ＴｈＢを増大させ、撮影距離が増大するほど、ＴｈＢを減少させる制御を行うこともできる。
以上が本発明の各実施形態であるが、本発明は上記例にのみ限定されるものではなく、本発明の範囲内で任意好適に変更可能である。
【００７１】
例えば、本発明の主要被写体推定装置をデジタルカメラ１０を例にして説明したが、本発明は、デジタルカメラへの応用には限定されない。例えば、コンピュータ、専用の画像解析装置、携帯型情報処理端末（携帯電話、スマートフォン、タブレット型端末などを含む）等を始めとした情報処理装置にも、カメラ機能の有無によらず広く適用可能である。本発明には、カメラ機能を有していないか或いはカメラ機能を使用しない場合でも、連続する複数の撮像画像を入力することによって主要被写体の推定を実行可能な全ての装置が含まれる。
【００７２】
また、本発明は、主要被写体の推定を上記画像情報処理装置に実行させるためのプログラムの形態で提供されてもよい。当該プログラムは、インターネット等からダウンロードする電子データの形態、記憶媒体に記憶された形態、ソースコードで記述された形態のいずれでも本発明の範囲内に含まれる。
制御部１は、デジタルカメラ１０により静止画として連続撮影若しくは動画撮影されて画像処理ユニット２から送られてきたデータだけではなく、媒体に記憶され若しくはダウンロードされた複数の撮影画像を使用してもよい。また、制御部１は、後の処理の演算省力化のために、撮影時よりも小さい画像サイズにリサイズされた撮像画像を用いてもよい。撮像画像ｆ１、ｆ２、．．．ｆk，．．．は、古い順（即ち、フレーム番号が大きいほど後の時刻で撮影されたもの）でも、新しい順（即ち、フレーム番号が大きいほど、以前の時刻に遡って撮影されたものである）のいずれの順で並べられていてもよい。後者の場合は、撮像画像は撮影済であり、時間的に過去に遡って主要被写体を推定することになる。
【００７３】
図６、図７、図９及び図１０のフローチャートの処理の流れは任意好適に変更可能である。例えば、図７のステップ１５４及び図１０のステップ２５４では、ステップ１５２、２５２の判定が成立した後に、主要被写体とされている第１の被写体以外で最も大きいか又は最も大きいスコア値を与える被写体を第２の被写体とした。しかし、本発明は、この例に限らず、最初の撮像画像ｆ１において主要被写体以外で最も大きいか又は最も大きいスコア値を与える被写体を第２の被写体とし、当該被写体を後の撮像画像においてもそのまま継続的に第２の被写体として追尾してもよい。
【００７４】
図５の画角取得部２８により取得される「画角」は、「対角線画角」で表すことができるが、状況に応じて「水平画角」又は「垂直画角」を使用することができる。また、クロップしない場合は、撮像素子のサイズは一定なので、撮影レンズの「焦点距離値」そのものを画角として使用することができる（この場合、「画角が大きくなる」とは「焦点距離が小さくなる」ことに対応し、「画角が小さくなる」とは「焦点距離が大きくなる」ことに対応する）。クロップする場合は、クロップしないときの元の撮影面積をクロップ領域の面積で除算した値の平方根（クロップによる拡大率）を撮影レンズの焦点距離に乗算した値（換算焦点距離）を画角として使用してもよい（この場合、「画角が大きくなる」とは「換算焦点距離が小さくなる」ことに対応し、「画角が小さくなる」とは「換算焦点距離が大きくなる」ことに対応する）。
【実施例】
【００７５】
第１の実施形態では、（１）式において、スコア関数Ｓの変数として、被写体の大きさ又は大きさに関する値と、被写体の位置又は位置に関する値とを様々に組み合わせて用いることが可能であることを示した。以下では、それらの組み合わせの例を第１乃至第６の実施例として、図１５乃至図２０を用いて説明する。
【００７６】
なお、図１５乃至図２０の各々には、撮像画像内において、先に主要被写体と推定されている第１の被写体（丸で表示）と、第２の被写体（四角で表示）が示されている。また、図中の矢印は、第１及び第２の被写体の大きさ或いは位置の推移を示すものである。
（第１の実施例）
まず、第１の実施例について説明する。第１の実施例は、スコア関数Ｓの変数として被写体の大きさＬとその大きさの安定度を用いて主要被写体推定を行うものである。図１５は、第１の実施例が適用される撮影状況を説明する図である。図１５の撮影状況は、主要被写体がほぼ同じ大きさとなるように、撮影者が撮影レンズをズーミングしたり、被写体に接近したり、遠ざかったりして追従する場合などに相当している。このため、第１の実施例では、スコア関数の変数として、撮像画像内の被写体の大きさＬの他に、大きさの安定度を用い、大きさＬが大きいほど、また大きさＬの安定度が大きいほどスコア関数Ｓの値を大きくするようにしている。
大きさの安定度として、大きさＬの平均値Ｌave(所定フレームに亘る被写体の大きさＬの平均値)や、所定フレームに亘って演算される大きさＬの偏差若しくは分散値Ｌｖを用いることができる。大きさＬの偏差若しくは分散値Ｌｖは、その値が大きいほど大きさＬのばらつきが大きいため安定度が小さいものとみなされる。従って、Ｌｖの重み係数Ｗは負となり、Ｌｖが大きいほどスコアＳが小さくなる。
【００７７】
スコア関数Ｓとして、Ｓ（Ｌ，Ｌｖ）、Ｓ（Ｌ，Ｌave）又はＳ（Ｌ，Ｌv,Ｌave）等を用いることができる。
【００７８】
図１５の例では、先に主要被写体と推定された同図中○で示される第１の被写体は、Ｌ（Ｏ１）がほとんど変化しない。一方、同図中□で示される第２の被写体は、Ｌ（Ｏ２）が大きく変化する。最初の段階では、第１の被写体と第２の被写体とで大きさはほぼ同じであるが、次の段階では、第２の被写体が急激に大きくなり、第１の被写体よりも大きくなる。しかし、第３の段階では、第２の被写体が急激に小さくなり、第１の被写体よりも小さくなる。従って、第２の被写体のスコア関数では、第２の被写体のＬaveは、第１の被写体のＬaveと比べてスコアに寄与できない。或いは、第２の被写体の分散値Ｌvが、第１の被写体の分散値Ｌvと比べて大きいため、その負の重み係数により第２の被写体のスコアを第１の被写体のスコアと比べて減少させる。その結果、大きさＬだけに着目したとき第２段階でＬ（Ｏ１）がＴｈＡ以下となり、Ｌ（Ｏ２）がＴｈＢ以上となったときでも、大きさＬの安定度を加えた主要被写体の推定では、図１５の例のように、主要被写体をＯ１に維持することが起こり得る。勿論、大きさの変動状況によっては、主要被写体をＯ２に変更することもあり得る。
【００７９】
なお、大きさＬの平均値Ｌaveは、単なる大きさの加算平均だけではなく、例えば短時間内での大きさの急激な変化分を遮断することによって求められてもよい。
（第２の実施例）
次に、第２の実施例について説明する。第２の実施例は、スコア関数Ｓの変数として被写体の大きさＬとその大きさの変化を用いて主要被写体推定を行うものである。図１６は、第２の実施例が適用される撮影状況を示す。図１６の撮影状況は、例えばレース中などにおいて、先に主要被写体と推定された同図中○で示される第１の被写体が、第２の被写体に追い越されて、大きさが逆転する状況を示している。
【００８０】
スコア関数Ｓの変数として、大きさＬ及び大きさＬの変化ΔＬを用い、スコア関数としてＳ（Ｌ，ΔＬ）等を用いることができる。ΔＬは、時間的に後に入力された撮像画像内の当該被写体の大きさから時間的に先に入力された撮像画像内の当該被写体の大きさを引いた値とすることができる。或いは、ΔＬは、所定フレームに亘る撮像画像内の当該被写体の大きさの分布から最小二乗法などで求められた大きさＬの平均変化率とすることができる。
ΔＬは、被写体の大きさが減少する場合は負値であり、被写体の大きさが増加する場合は正値となる。従って、スコア関数Ｓは、被写体の大きさが減少する場合はより急激に減少し、被写体の大きさが増加する場合はより急激に増加する。図１６の撮影状況では、大きさＬのみの関数であるスコア関数Ｓ（Ｌ）を用いたとしても、いずれは第２の被写体を主要被写体と推定する。しかし第２の実施例では、Ｓ（Ｌ，ΔＬ）を用い、主要被写体である兆候（ΔＬ＞０）をスコアに反映させるようにしたので、スコア関数Ｓ（Ｌ）を用いる場合と比べて、より迅速に主要被写体を推定することが可能となる。
（第３の実施例）
次に、第３の実施例について説明する。第３の実施例は、スコア関数Ｓの変数として被写体の大きさＬと被写体の位置の安定度を用いて主要被写体推定を行うものである。図１７は、第３の実施例が適用される撮影状況を示す図である。図１７の撮影状況は、主要被写体が撮像画像内でほぼ同じ位置を維持するように、撮影者がデジタルカメラをフレーミングして主要被写体に追従する場合などに相当している。このため、第３の実施例では、スコア関数の変数として、撮像画像内の被写体の大きさＬの他に、被写体の位置の安定度を用い、スコア関数Ｓとして、Ｓ（Ｌ，Ｐｖ）等が設定されている。スコア関数Ｓの値は、被写体の大きさＬが大きいほど、また被写体の位置Ｌの安定度が大きいほど大きくなるように設定されている。ここで、位置Ｌの安定度を反映するものとしては、被写体の位置の分散値Ｐｖが用いられ、その重み係数が負に設定されている。
【００８１】
図１７の例では、同図中○で示される第１の被写体の位置の分散値Ｐｖが、同図中□で示される第２の被写体の位置の分散値Ｐｖよりも大きくなっている。このため、第１の被写体のスコアが減少され、主要被写体が第２の被写体に変更されている。Ｐｖの代わりに或いはＰｖに加えて、所定フレームに亘る被写体の位置の変化であるΔＰを用いてもよい。
（第４の実施例）
次に、第４の実施例について説明する。
図１８には、第４の実施例が示されている。第４の実施例は、スコア関数Ｓの変数として被写体の大きさＬと被写体の所定位置からの距離とを用いて主要被写体推定を行うものである。図１８は、第４の実施例が適用される撮影状況を示す図である。図１８の撮影状況は、主要被写体を撮像画像内の所定位置Ｐ０の近傍に維持させるように、撮影者がデジタルカメラをフレーミングして主要被写体に追従する場合などに相当している。ここで、所定位置Ｐ０は、撮像画像の中心位置や、撮影者が指定したＡＦフレームの位置等、主要被写体が存在する確率が高いと想定される位置である。
第４の実施例では、スコア関数の変数として、撮像画像内の被写体の大きさＬの他に、被写体の現在の位置Ｐと所定位置Ｐ０との間の距離｜Ｐ−Ｐ０｜を用いるので、スコア関数Ｓとして、Ｓ（Ｌ，｜Ｐ−Ｐ０｜）等が設定されている。スコア関数Ｓは、被写体の大きさＬが大きいほど、また被写体が所定位置Ｐ０に近いほど大きくなるように設定されている。従って、スコア関数Ｓにおいて｜Ｐ−Ｐ０｜の重み係数が負に設定されている。
【００８２】
図１８の例では、同図中○で示される第１の被写体の大きさが小さくなり、同図中□で示される第２の被写体の大きさが大きくなっている。しかし、第１の被写体は、所定位置Ｐ０の近傍の位置にあるが、第２の被写体は、依然として所定位置Ｐ０から離れた位置にある。これにより、第２の被写体のスコアは、その大きさＬが大きくなったにも関わらず、それほど増加せず、主要被写体は第１の被写体に維持される。
（第５の実施例）
次に、第５の実施例について説明する。
図１９には、第５の実施例が示されている。第５の実施例は、スコア関数Ｓの変数として被写体の大きさＬと被写体の所定位置への接近傾向とを用いて主要被写体推定を行うものである。図１９は、第５の実施例が適用される撮影状況を示す図である。図１９の撮影状況は、主要被写体を撮像画像内の所定位置Ｐ０に近づけるように、撮影者がデジタルカメラをフレーミングして主要被写体に追従する場合などに相当している。ここで、所定位置Ｐ０は、撮像画像の中心位置や、撮影者が指定したＡＦフレームの位置等、主要被写体が存在する確率が高いと想定される位置である。
第５の実施例では、スコア関数の変数として、撮像画像内の被写体の大きさＬの他に、被写体の現在の位置Ｐと所定位置Ｐ０との間の距離｜Ｐ−Ｐ０｜の時間変化分を示すΔ｜Ｐ−Ｐ０｜を用いるので、スコア関数Ｓとして、Ｓ（Ｌ，Δ｜Ｐ−Ｐ０｜）等が設定されている。スコア関数Ｓは、被写体の大きさＬが大きいほど、また被写体の位置が所定位置Ｐ０に近くなるように変化するほど大きくなるように設定されている。
【００８３】
図１９の例では、同図中○で示される第１の被写体は、その大きさＬは変化しないが、所定位置Ｐ０から遠ざかるようにその位置が変化したので、第１の被写体のスコアは減少される。これに対して、同図中□で示される第２の被写体は、その大きさＬが増加すると共に、所定位置Ｐ０に接近するようにその位置が変化したので、第２の被写体のスコアは増加される。これによって、主要被写体が第１の被写体から第２の被写体に変更される。
（第６の実施例）
次に、第６の実施例について説明する。第６の実施例は、スコア関数Ｓの変数として被写体の位置とその位置の安定度を用いて主要被写体推定を行うものである。図２０は、第６の実施例が適用される撮影状況を説明する図である。図２０の撮影状況は、主要被写体を撮像画像内のほぼ同じ位置（例えばＡＦ枠）に維持するように、撮影者がデジタルカメラをフレーミングして主要被写体に追従する場合などに相当している。このため、第６の実施例では、スコア関数の変数として、撮像画像内の被写体と所定位置Ｐ０（例えば、上述のＡＦ枠又は画像中央位置）と、被写体の位置の安定度を用いる。スコア関数Ｓとして、Ｓ（｜Ｐ−Ｐ０｜，Ｐｖ）等が設定されている。スコア関数Ｓの値は、被写体が所定位置Ｐ０に近いほど、また被写体の位置の安定度が大きいほど大きくなるように設定されている。ここで、位置Ｌの安定度を反映するものとしては、被写体の位置の分散値Ｐｖが用いられ、その重み係数が負に設定されている。
【００８４】
図２０の例では、同図中○で示される第１の被写体が、当初は同図中□で示される第２の被写体よりも所定位置Ｐ０よりも近く、先に主要被写体であると推定された。しかし、次に第１の被写体は、所定位置Ｐ０から急激に離れ、最後にまた位置Ｐ０に近づいた。これに対して、同図中□で示される第２の被写体は、所定位置Ｐ０に安定的に近づいた。このため、位置の分散値Ｐｖに関して、第１の被写体は第２の被写体よりも大きくなり、第１の被写体のスコアＳが減少された。その結果、図２０の例では、主要被写体が第２の被写体に変更された。
【００８５】
以上が第１の実施形態の実施例であるが、上記例以外にも様々な変数の組み合わせが存在することはいうまでもない。また、上記に説明した各実施形態、実施例を組み合わせて用いるものも本発明に含まれる。
【符号の説明】
【００８６】
１  制御部
２  画像処理ユニット
５  撮像素子
６  ディスプレイ
１０  デジタルカメラ
１２  撮影レンズ
１２ａ  レンズＣＰＵ
１５  合焦レンズ群
２１  画像取得部
２２  スコア関数メモリ
２３  被写体検出部
２４  被写体情報検出部
２５  所定範囲設定部
２６  判定条件メモリ
２７  判定条件設定部
２８  画角取得部
３０  閾値メモリ
３１  主要被写体推定部
５０  被写体
５５ａ、５５ｂ    撮像画像
５１ａ、５１ｂ  所定範囲
【図１】
2015106849.tif 000003
【図２】
2015106849.tif 000004
【図３】
2015106849.tif 000005
【図４】
2015106849.tif 000006
【図５】
2015106849.tif 000007
【図６】
2015106849.tif 000008
【図７】
2015106849.tif 000009
【図８】
2015106849.tif 000010
【図９】
2015106849.tif 000011
【図１０】
2015106849.tif 000012
【図１１】
2015106849.tif 000013
【図１２】
2015106849.tif 000014
【図１３】
2015106849.tif 000015
【図１４】
2015106849.tif 000016
【図１５】
2015106849.tif 000017
【図１６】
2015106849.tif 000018
【図１７】
2015106849.tif 000019
【図１８】
2015106849.tif 000020
【図１９】
2015106849.tif 000021
【図２０】
2015106849.tif 000022