以下に、本発明の一実施形態を添付図面に基づいて詳細に説明する。図1は、本実施形態における被写体検出装置を備えた撮像装置の一例としての、デジタルカメラ100の構成例を示すブロック図である。デジタルカメラ100は、オートズーム機能を実行可能に構成されている。
レンズ鏡筒101は、その内部にレンズ群を保持している。ズームレンズ102は、光軸方向に移動することで焦点距離を調節し、光学的に画角を変更(ズーム位置を移動)する。フォーカスレンズ103は、光軸方向に移動することでピントを調節する。防振レンズ104は、手ぶれに起因する像振れを補正する補正用レンズである。絞り及びシャッタ105は、光量を調節可能に構成されており、露出制御に用いられる。なお、本実施形態において、デジタルカメラ100は、レンズ鏡筒101とカメラ本体とが一体的に構成された撮像装置であるが、これに限定されるものではない。本実施形態は、カメラ本体と、カメラ本体に着脱可能な交換レンズとを備えて構成される撮像システムにも適用可能である。
レンズ鏡筒101を通過した光は、CCD(電荷結合素子)またはCMOS(相補型金属酸化膜半導体)等を備えて構成される撮像素子106により受光される。撮像素子106は、光電変換によって被写体像を電気信号に変換することで、撮像信号を生成する。撮像信号は、画像処理回路107に入力される。画像処理回路107は、入力された撮像信号に対して画素補間処理や色変換処理等の各種処理を行い、画像データ(各種処理後の画像データ)を画像メモリ108に出力する。画像メモリ108は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等を備えて構成される記憶手段である。
表示部109は、TFT型LCD(薄膜トランジスタ駆動型液晶表示器)等を備えて構成され、撮影画像(画像データ)を表示する。また表示部109は、撮影画像とともに、特定の情報(例えば、撮影情報等)を表示する。このようなライブビュー等の情報表示により、撮影者が画角合わせを行うための電子ビューファインダ(EVF)機能を実現している。
絞りシャッタ駆動部110は、画像処理回路107での画像処理によって得られた輝度情報に基づいて露出制御値(絞り値及びシャッタ速度)を演算し、この演算結果に基づいて絞り及びシャッタ105を駆動する。これにより、自動露出(AE)制御が行われる。防振レンズ駆動部111は、ジャイロセンサ等の角速度センサの情報に基づいてデジタルカメラ100に加わる振れ量を演算し、この振れ量を打ち消す(低減する)ように防振レンズ104を駆動する。
フォーカスレンズ駆動部112は、フォーカスレンズ103を駆動する。本実施形態において、デジタルカメラ100は、コントラスト方式で自動焦点調節(AF)制御を行う。このためフォーカスレンズ駆動部112は、画像処理回路107の画像処理により得られた撮影光学系の焦点調節情報(コントラスト評価値)に基づいて、被写体にピントが合うようにフォーカスレンズ103を駆動する。ただし、本実施形態はこれに限定されるものではなく、位相差AF方式等のコントラスト方式以外のAF制御や、コントラスト方式と他の方式との組み合わせ等、複数の方式を用いたAF制御を行うように構成してもよい。
ズームレンズ駆動部113は、ズーム操作指示に従ってズームレンズ102を駆動する。操作部117は、撮影者がカメラにズーミングを指示するためのズーム操作部材としてのズームレバーまたはズームボタン等を備えて構成される。システム制御部114は、ズーム指示操作に用いるズーム操作部材の操作量及び操作方向を検知して、ズーム駆動速度や駆動方向を演算し、その演算結果に従ってズームレンズ102を光軸に沿って移動する。
撮影動作によって生成された画像データは、インターフェース部(以下I/F部と呼ぶ)115を介して記録部116に送られて記録される。画像データは、デジタルカメラ100に装着して使用されるメモリカード等の外部記録媒体またはデジタルカメラ100に内蔵されている不揮発性のメモリ118、あるいはそれらの両方に記録される。
操作部117は、上述のズーム操作部材に加えて、撮影開始を指示するレリーズスイッチ、オートズーム機能の開始や終了を指示するオートズーム操作スイッチ等を含む。操作部117からの信号は、後述のシステム制御部114に送られる。メモリ118は、プログラムデータや画像データの他に、デジタルカメラ100の設定情報や、後述するオートズーム機能におけるズームイン位置等の情報を記憶する。
システム制御部114は、CPU(中央演算処理装置)等の演算装置を備えて構成され、撮影者の操作に応じて各部に制御命令を送ることによりデジタルカメラ100全体を制御する。システム制御部114は、メモリ118に記憶されている各種の制御プログラム、例えば撮像素子106の制御やAE/AF制御、ズーム制御(オートズーム処理を含む)等を行うためのプログラムを実行する。
光学ズームによる画角変更時に合焦状態を維持するには、レンズ鏡筒101のようなリアフォーカスタイプのレンズ鏡筒の場合、ズームレンズ102の位置に応じてフォーカスレンズ103を適正なフォーカス位置へ移動させる必要がある。このような制御をコンピュータズーム(CZ)制御という。図2は、ズームレンズの焦点距離と被写体距離ごとのフォーカス位置との関係図である。図2では、ズームレンズの焦点距離とピントが合うフォーカス位置との関係を、被写体までの距離ごとに示すデータデーブルとしてグラフ化している。本実施形態において、このテーブルはフォーカスカムテーブルと称する。図2において、横軸はズーム位置に対応する焦点距離を示し、縦軸はフォーカス位置を示している。各グラフ線の横には、デジタルカメラ100から被写体までの距離(被写体距離)を示している。
システム制御部114は、AF制御を行う際にフォーカスレンズ駆動部112を制御して、フォーカスレンズ103を所定の範囲において移動させることによりスキャン動作を行う。この動作中に得られるコントラスト評価値等を用いて既知の方法により、合焦点であるフォーカス位置が検出される。そのときのズーム位置およびフォーカス位置を用い、フォーカスカムテーブルを参照することにより、被写体距離を計測することができる。
次に、システム制御部114におけるオートズーム機能に関連する制御について説明する。図1に示されるように、システム制御部114は、CZ制御部119、電子ズーム制御部120、オートズーム制御部122、および、被写体検出部123を備えて構成される。
本実施形態のデジタルカメラ100は、光学ズーム機能及び電子ズーム機能を有する。CZ制御部119及びズームレンズ駆動部113は、光学ズームを行う。CZ制御部119は、ズーム動作時に、所定の制御周期ごとにズームレンズ102のズーム位置を検出する。そしてCZ制御部119は、そのズーム位置に応じたAF制御にて計測された被写体距離でのフォーカスカムテーブルに追従するように、フォーカスレンズ103を駆動させる。これにより、合焦状態を維持したまま光学ズーム動作を行うことが可能となる。
一方、電子ズーム制御部120及び画像メモリ108は、電子ズームを行う。電子ズーム制御部120は、画像メモリ108に転送された画像データから対象領域を切り出すことにより、電子ズーム機能を実現する。また、電子ズーム制御部120は、撮像素子106に取り込む画像のフレームレート周期で切り出す範囲を徐々に大きくしながら表示部109に表示させることにより、滑らかな電子ズーム表示を実現する。
被写体検出部123は、画像メモリ108に記憶された画像データから所望の被写体領域を検出する。本実施形態では、画像データに含まれる顔情報または色情報に基づいて被写体(顔または物体)を検出する被写体検出方法(顔検出処理、色検出処理)について説明する。
顔検出処理は、画像データ中に存在する顔領域を公知のアルゴリズムにより検出する処理である。例えば、被写体検出部123は、画像データ上の正方形状の部分領域から特徴量を抽出し、その特徴量を予め用意された顔の特徴量と比較する。そして被写体検出部123は、両者の相関が所定の閾値を超える場合、その部分領域を顔領域であると判定する。この判定を、部分領域のサイズ、配置位置、配置角度の組み合わせを変更しながら繰り返すことにより、画像データ中に存在する種々の顔領域を検出することができる。
色検出処理では、後述の被写体指定方法に従って指定された被写体領域の色情報を特徴色として記憶する。色検出処理は、検出対象の被写体が物体(人物以外の「モノ」)である場合に実行される。色情報としては、画像処理回路107からの出力信号であるRGBや輝度Y及び色差R−Y、B−Y等が用いられる。被写体検出時において、被写体検出部123は、画像データを複数の部分領域に分割し、部分領域ごとの輝度及び色差の平均値を算出する。また、被写体検出部123は、予め記憶された特徴色情報と被写体検出時の各領域の色情報を比較し、輝度及び色差の差分が所定量以下の部分領域を被写体領域の候補とする。この領域候補で隣り合う部分領域の塊を同一色領域として、同一色領域が所定のサイズ範囲となる領域を最終的な被写体領域とする。
被写体検出部123は、顔情報及び色情報とともに、CZ制御部119で計測された被写体距離情報及びズームレンズ102の焦点距離情報を用いることにより、画像データ上での被写体領域の大きさを推定することができる。
姿勢検出部124は、加速度センサの情報に基づいて、デジタルカメラ100の姿勢(正位置/グリップ上/グリップ下)を検出する。揺れ検出部125は、ジャイロセンサ等の情報に基づいて、デジタルカメラ100の振れ状態を検出する。揺れ検出部125は、ジャイロセンサ等に加わる振れ量が所定量以上である場合には手持ち状態であることを検出し、所定量未満である場合には三脚等に固定された状態であることを検出する。姿勢検出及び揺れ検出に用いる加速度センサ及びジャイロセンサは、防振レンズ駆動部111の制御情報として用いるセンサと兼用する構成でもよい。
次に、オートズーム機能の概要と、オートズーム制御部122について説明する。本実施形態のデジタルカメラ100は、オートズーム機能を有する。オートズーム機能が非搭載のカメラでは、撮影者が望遠状態でフレーミングしてシャッタチャンスを待っている間に被写体が動いてフレームアウトした場合等において、撮影者は以下の操作が必要であった。すなわち、まず、ズーム操作部材の操作によりズームアウトを行ってから被写体を探索する。そして被写体を探索した後、再び所望の画角になるまでズーム操作を行って画角調整する。また、被写体が動いて大きさが変わった場合等においても、ズーム操作部材の操作によって被写体の大きさを調整する必要があった。
一方、オートズーム機能を搭載しているカメラでは、オートズーム機能を設定した後、タッチパネル等で被写体を指定する操作を実施することにより、撮影したい被写体を指定しておけばよい。オートズーム機能が設定されると、指定された被写体を画像の中央付近で所定のサイズに収めるように、自動でズーム動作が行われる。被写体の指定方法としては、タッチパネル操作以外でも、特定のボタンを押下したときに中央付近にいる被写体を指定する方法や、カメラが検出した被写体の中から自動的に主被写体を選択する方法などが考えられる。
被写体検出部123は、画像メモリ108から指定された被写体領域の画像データ上での位置や大きさを算出する。これをライブビューとして表示する毎サンプリングの画像データに対して連続的に行うことにより、被写体の動きを追尾することが可能となる。追尾している被写体を後述するズームアウト領域で検出した場合や、検出した被写体が所定の大きさよりも大きくなった場合、CZ制御部119または電子ズーム制御部120に対してオートズーム制御部122が広角方向へのズームアウトの指示を行う。被写体をオートズーム枠301のズームイン領域内に検出し、かつ、所定の大きさの範囲内に収まった場合、オートズーム枠301が示す望遠側のズーム位置までズームイン動作を行う。このような処理により、撮影者はズーム操作を気にせず被写体を画面に収めるようにカメラを動かすだけでよい。仮に、被写体がフレームアウトしそうになった場合でも、自動的にズーム位置が変更されるため、より簡単に画角合わせを行うことが可能となる。
次に、図3乃至図5を参照して、ズームアウト動作やズームイン動作の開始条件について説明する。図3は、被写体(モノ)の画面外へのフレームアウトを防止する処理の説明図である。図4は、被写体(人物)の画面外へのフレームアウトを防止する処理の説明図である。
図3および図4において、枠300aおよび枠300bは被写体(人物以外のモノ)を追尾するモノ追尾枠、枠500a〜fは被写体(人物の顔)を追尾する顔追尾枠である。本実施形態において、被写体が人物とモノのいずれにも適用可能な場合、モノ追尾枠および顔追尾枠をまとめて被写体追尾枠ということもある。被写体追尾枠は、撮影者が指定した被写体が分かるように、表示部109のEVF上に被写体を囲むように表示される。被写体追尾枠の画面上での位置及び大きさは、顔情報及び色情報に基づいて被写体検出部123により算出され、フレームレート周期で更新される。
図3は、被写体(飛行機)の画面外へのフレームアウトを防止する処理の説明図であり、図3(A)はEVFで表示される画角全体(画面全体)に対して所定の比率よりも外側の領域をズームアウト領域ZOとして示している。例えば、画面の中心点を0%、画面全体を100%とし、画面全体に対して80%となる位置をズームアウト領域ZOの境界として設定する場合、画面全体における80〜100%の領域がズームアウト領域ZOとなる。画像内のズームアウト領域ZOにモノ追尾枠300aの一部が進入すると、オートズーム制御部122は、ズームアウト動作を開始するよう制御する。また、オートズーム制御部122は、ズーム移動前のズーム位置(ズームイン画角に相当)をメモリ118に記憶する。ズームアウト動作中のズーム倍率やズーム速度は、被写体のサイズや移動速度に応じて予め設定される。また、ズーム倍率やズーム速度を被写体のサイズや移動速度に応じて適宜算出してもよい。ズームアウト動作は、その倍率やズーム速度に従って実行される。これにより、被写体のフレームアウトを効果的に防止することができる。
図3(B)は、図3(A)の画角から所定のズーム駆動量分ズームアウトした画角を示している。図3(B)では、被写体探索状態においてズームイン画角(ズームアウト前の画角)301に対して所定の比率よりも内側の領域をズームイン領域ZIとして示している。例えば、画面の中心点を0%、ズームイン画角301を100%とし、ズームイン画角に対して70%となる位置をズームイン領域ZIの境界として設定する場合、ズームイン画角301の全体における0〜70%の領域がズームイン領域ZIとなる。このとき、ズームアウト倍率が例えば1/2倍である場合、ズームイン画角301は画面全体に対して50%の大きさとなる。したがって、ズームイン領域ZIは、画面全体に対して0〜35%(=70%×(1/2))の領域であるとも言える。撮影者が、ズームイン領域ZIの内部にモノ追尾枠300bが収まるようにカメラの向きを変更すると、オートズーム制御部122は、ズームイン動作を開始するよう制御する。
図4は、被写体(人物)の画面外へのフレームアウトを防止する処理の説明図である。被写体が人物である場合にも、顔追尾枠の一部がズームアウト領域ZOに進入するとズームアウト動作を開始し、顔追尾枠がズームイン領域ZIの内部に収まるとズームイン動作を行う。被写体が人物である場合とモノである場合との違いは、被写体が人物である場合には移動する方向がある程度予測できるため、予測される移動方向の領域に応じてズームアウト領域ZO及びズームイン領域ZIを設定することである。
また、手持ちで撮影している場合には、手ぶれ等の影響によって被写体がフレームアウトしてしまう恐れがある。しかしながら、手ぶれによってフレームアウトした場合には、撮影者が被写体をフレームインさせようとする動作によってフレームインし直すことが可能である。ここで、画面の上部にズームアウト領域ZOを設定した場合、人物を中央付近に配置して撮影するときにもズームアウト領域ZOに顔追尾枠が進入してしまい、意図せずズームアウトする場合がある。そこで、被写体が人物であり、かつ手持ち状態である場合には、撮影者のフレーミング操作を考慮して、画面の上部にはズームアウト領域ZOを設定しない。
このように、本実施形態では、被写体検出部123で顔が検出された場合、姿勢検出部124により検出されたカメラの姿勢や揺れ検出部125による検出結果に応じて、ズームアウト領域ZO及びズームイン領域ZIの領域を変更する。ここでの揺れ検出部125による検出結果とは、手持ち状態か否かの検出である。
図4(A)は、手持ちでカメラを正位置に構えたときに設定されるズームアウト領域ZO及びズームイン領域ZIを示している。このような撮影シーンで、被写体が水平方向に移動してフレームアウトする場合、画面内での被写体の位置は正位置の画面に対して水平方向(長手方向)に移動する。そこで、図4(A)に示すように、正位置の画面に対して垂直方向(短手方向)の縦帯状にズームアウト領域ZO及びズームイン領域ZIを配置する。そして、顔追尾枠400aがズームアウト領域ZO内に進入すると、オートズーム制御部122は、ズームアウト開始を判定し、所定ズーム倍率分のズームアウト動作を行う。また、顔追尾枠400bがズームイン領域ZI内に包含されると、オートズーム制御部122は、ズームイン開始を判定し、ズーム戻り位置501まで所定ズーム倍率分のズームイン動作を行う。このようにズームアウト領域ZO及びズームイン領域ZIを設定することで、フレームアウトを効果的に防止することができる。
図4(B)は、同様の撮影シーンに置いて、グリップ下もしくはグリップ上の縦位置状態にカメラを構えたときに設定されるズームアウト領域ZO及びズームイン領域ZIを示している。この場合、縦位置の画面に対して垂直方向(長手方向)の縦帯状にズームアウト領域ZO及びズームイン領域ZIを配置する。そして、顔追尾枠400cがズームアウト領域ZO内に進入すると、オートズーム制御部122は、ズームアウト開始を判定し、所定ズーム倍率分のズームアウト動作を行う。また、顔追尾枠400dがズームイン領域ZI内に包含されると、オートズーム制御部122は、ズームイン開始を判定し、ズーム戻り位置502まで所定ズーム倍率分のズームイン動作を行う。このようにズームアウト領域ZO及びズームイン領域ZIを設定することで、水平方向への被写体の動きを検出し、フレームアウトを効果的に防止することができる。
図4(C)は、揺れ検出部125での検出状態が固定状態のときに設定されるズームアウト領域ZO及びズームイン領域ZIを示している。三脚等によってカメラが固定されているときには、手ぶれによるフレームアウトの恐れがない。さらに、画面の中央付近に被写体がフレームインしていないときにズームインすると、その動作によってフレームアウトしてしまう恐れがある。したがって、画面周辺部全体にズームアウト領域ZOを、ズームイン画角よりも内側にズームイン領域ZIを設定する。そして、顔追尾枠400eがズームアウト領域ZO内に進入すると、オートズーム制御部122は、ズームアウト開始を判定し、所定ズーム倍率分のズームアウト動作を行う。また、顔追尾枠400fがズームイン領域ZI内に包含されると、オートズーム制御部122は、ズームイン開始を判定し、ズーム戻り位置503まで所定ズーム倍率分のズームイン動作を行う。
このように、カメラの姿勢や撮影状態(手持ち状態/固定状態)の変化に応じてズームアウト領域ZO及びズームイン領域ZIの領域を動的に変更することにより、手ぶれ等による誤作動を防止しながら、被写体のフレームアウトを効果的に防ぐことができる。なお、カメラの姿勢と撮影状態(手持ち状態/固定状態)のいずれか一方に応じてズームアウト領域ZO又はズームイン領域ZIの領域を変更するようにしてもよい。また、ズームアウト領域ZOとズームイン領域ZIの領域のいずれか一方のみを変更するようにしてもよい。
次に、被写体の領域が画面に占める割合をほぼ一定に保つためのズーム動作について説明する。ここでは、検出された被写体のサイズが基準サイズの所定倍より大きく変化した場合に、変化を小さくする方向に自動でズーム動作を行うことで、被写体のサイズを基準サイズから所定の範囲内に保つように制御を行う。
まず、図6を用いて、画面に対する追尾する被写体の基準となるサイズ(構図)の設定について説明する。図6は被写体が人物の場合の構図設定の説明図である。図6(A)は構図設定が「マニュアル」に設定されている場合の画面表示である。「マニュアル」設定時には、撮影者が画面内の人物を見ながらズームレバー操作によるマニュアルズームを行って追尾する顔の大きさを変更し、そのときの被写体サイズを基準サイズとしてメモリ118に記憶する。
図6(B)は構図設定が「顔」に設定されている場合の画面表示である。「顔」設定時には、カメラの姿勢や顔の方向によって顔が画面に収まる大きさを基準サイズとして算出し、メモリ118に記憶する。同様に、図6(C)は「上半身」、図6(D)は「全身」に設定されている場合の画面表示であり、それぞれ画面上で設定された大きさとなるように基準サイズを算出してメモリ118に記憶する。基準サイズの算出方法については図9を用いて後述する。
撮影者は撮影画面から操作部117の左右ボタン操作もしくは設定メニューによって構図設定を変更することができる。構図設定の変更操作が行われると、オートズーム制御部122は、メモリ118に記憶されている構図設定の情報を更新する。なお、図6では被写体が人物の場合に「マニュアル」「顔」「上半身」「全身」となるように構図を設定する例を示したが、構図の設定はこれに限定されるものではない。例示した4つの構図の一部のみを設定したり、他の構図を含んでもよい。また、被写体がモノの場合には、例えば「マニュアル」「大」「中」「小」のように構図を設定するようにしてもよい。
なお、本実施例では撮影者の操作によって構図を設定する場合について説明するが、撮影シーンに応じてカメラが自動で構図を判定してもよい。また、撮影者の操作により構図を設定するモードと、カメラにより自動で構図を設定するモードとを設定メニューなどから選択できるようにしてもよい。
被写体が画面に占める割合を所定の範囲内に保つためのズーム動作について、構図設定が「マニュアル」の場合を例に説明する。図5(A)〜(C)は、被写体である人物がカメラに近づいてきた場合に、カメラが自動的に被写体が画面に占める割合を所定の比率内に収めるようにズーム動作させる例を示している。図5(A)〜(C)では、顔追尾枠500a〜fは、被写体である人物の特徴領域として顔領域を囲むように表示している。したがって、ここでは顔追尾枠の大きさ=被写体サイズとして説明する。
図5(A)は、後述する被写体指定方法に従って被写体を指定されたときの画角を示している。被写体指定時の顔追尾枠500aの大きさは、基準の被写体サイズ(基準サイズ)としてメモリ118に記憶される。
図5(B)は、図5(A)の状態からズーム倍率を変更しない状態で、被写体がカメラに向かって近づいてきたときの画角を示している。例えば、基準の被写体サイズである顔追尾枠500aの大きさに対して150%となる大きさをズームアウト動作の開始サイズとする。被写体追尾枠(顔追尾枠)の関係が、顔追尾枠500b>顔追尾枠500a×150%となったとき(基準サイズに対して所定の変化量を超えて変化)、オートズーム制御部122は、ズームアウト動作の開始を判定する。
図5(C)は、図5(B)の画角501から所定ズーム倍率分ズームアウトした画角と、顔追尾枠500cを示している。ここでは、ズームアウト動作を開始するときの顔追尾枠サイズの基準被写体サイズからの変化率(150%)を考慮して、所定ズーム倍率を1/1.5倍としている。この後、さらに被写体が近づいてくる場合、さらに広角側へズームアウトを行うことにより、被写体を所定の比率内に収め続けることができる。そのため、撮影者は、レリーズスイッチの操作だけに集中することが可能である。
一方、図5(D)〜(F)は、被写体である人物がカメラから遠ざかる場合に、被写体が画面に占める割合を所定の範囲内に収めるようにカメラが自動的にズーム動作させる例を示している。
図5(D)は、後述する被写体指定方法に従って被写体を指定されたときの画角を示している。被写体指定時の顔追尾枠500dの大きさは、基準の被写体サイズとしてメモリ118に記憶される(構図設定が「マニュアル」の場合)。
図5(E)は、図5(D)の状態からズーム倍率を変更しない状態で、被写体がカメラから遠ざかったときの画角を示している。例えば、基準の被写体サイズである顔追尾枠500dの大きさに対して50%となる大きさをズームイン動作の開始サイズとする。顔追尾枠の関係が、顔追尾枠500e<顔追尾枠500d×50%となり(基準サイズに対して所定の変化量を超えて変化)、かつ、顔追尾枠500eがズームイン領域ZI内に包含されると、オートズーム制御部122はズームイン動作の開始を判定する。ここで、図5(E)の画角に対して所定のズーム倍率分ズームインした画角502より内側に、ズームイン領域ZIが設定される。
図5(F)は、図5(E)の画角から所定ズーム倍率分ズームインした画角(画角502に対応)と、顔追尾枠500fを示している。ここでは、ズームイン動作を開始するときの顔追尾枠サイズの基準被写体サイズからの変化率(50%)を考慮して、所定ズーム倍率を1/0.5倍としている。
図3及び図4では、被写体がモノまたは人物である場合にフレームアウトを防止する処理について説明した。また、図5では、被写体が人物である場合に、画面に占める被写体の大きさの比率を所定の範囲内に収める処理について説明した。なお、追尾する被写体がモノの場合においても、被写体が人物の場合と同様に図5で示した被写体サイズ保持制御のためのズーム動作開始判定を行ってもよい。なお、構図設定が「マニュアル」以外の場合においても、それぞれの基準サイズに応じて、図5と同様に自動ズーム動作が行われる。
次に、図7乃至図14を用いて、オートズーム機能の処理について説明する。図7は、オートズーム機能の全体の処理を示すフローチャートである。図7のオートズーム機能は、特に記載がない限り、システム制御部114(オートズーム制御部122)の指令に基づいて行われるものとする。
まずステップS700において、オートズーム制御部122は、操作部117のオートズーム操作スイッチが押下されたか否かを判定する。オートズーム操作スイッチが押下されると、ステップS701に進む。ステップS701では、被写体指定処理を行う。
図8を参照して、ステップS701の被写体指定処理について説明する。図8(A)は、操作部117を構成する部材であるタッチパネルを用いて表示部109に表示された被写体をタッチして指定する操作例のフローチャートを示している。ステップS800において、オートズーム制御部122は、タッチパネルが押下されたか否かを判定する。タッチパネルが押下された場合、ステップS801に進み、オートズーム制御部122は、タッチされた位置(タッチ位置)の情報を取得する。
続いてステップS802において、オートズーム制御部122は、タッチ位置を被写体検出部123に通知し、被写体検出部123はタッチ位置付近で顔検出を行う。タッチ位置付近に顔を検出した場合、主被写体は人物であると判定し、ステップS803に進む。ステップS803において、オートズーム制御部122は、自動追尾の対象である人物の顔情報をメモリ118に記憶する。具体的な顔情報としては、被写体指定時の顔のサイズや顔の検出位置、顔の向きなどがある。また、顔認証機能を有するカメラにおいては、認証IDなども記憶する。
一方、ステップS802にてタッチ位置付近に顔を検出しなかった場合、主被写体は人物以外のモノであると判定し、ステップS804に進む。ステップS804において、オートズーム制御部122は、タッチ位置付近の特徴色を自動追尾対象の色情報としてメモリ118に記憶する。具体的な色情報としては、被写体指定時の特徴色の色や輝度、色差の値や同一色領域のサイズ、同一色領域の重心位置などがある。顔情報および色情報を、以下の説明ではまとめて被写体情報(被写体サイズ、被写体検出位置など)という。
ステップS803またはS804にて被写体情報が記憶されると、ステップS805に進む。ステップS805において、オートズーム制御部122は、被写体検出位置を中心に被写体サイズに対応した大きさの被写体追尾枠(モノ追尾枠または顔追尾枠)を表示部109に表示する。これにより、被写体指定処理は終了する。
このようにシステム制御部114(被写体検出部123)は、表示部109において撮影者により指定された位置または指定された位置の近傍で被写体を検出する。そしてシステム制御部114(オートズーム制御部122)は被写体追尾枠を表示部109に表示する。図8(A)のフローチャートによれば、撮影者が追尾したい被写体を直感的な指定方法で簡単に指定することが可能となる。
図8(B)は、操作部117を構成する部材であるオートズーム操作スイッチとは別のスイッチ(被写体指定用スイッチ)によって被写体を指定する操作例のフローチャートを示している。まずステップS806において、オートズーム制御部122は、表示部109の画面中央付近に被写体指定の目安となる枠を表示する。撮影者は、この枠を目安として追尾したい被写体を中央付近に収めるようにカメラの向きを調整する。
続いてステップS807において、オートズーム制御部122は、被写体指定用スイッチが押下されたか否かを判定する。被写体指定用スイッチが押下された場合、ステップS808に進む。
ステップS808において、被写体検出部123は、画面中央付近で顔検出を行う。画面中央付近に顔を検出した場合、主被写体は人物であると判定し、ステップS809に進む。一方、画面中央付近に顔を検出しなかった場合、主被写体は人物以外のモノであると判定し、ステップS810に進む。
ステップS809またはS810にて被写体情報を記憶すると、ステップS811に進む。ステップS811において、被写体追尾枠(モノ追尾枠または顔追尾枠)が表示され、被写体指定処理は終了となる。図8(B)のステップS809、S810、S811の基本的な処理は、図8(A)のステップS803、S804、S805とそれぞれ同様である。
このようにシステム制御部114(被写体検出部123)は、表示部109の画面中央位置または画面中央位置の近傍で被写体を検出する。そしてシステム制御部114(オートズーム制御部122)は、被写体の位置を示す被写体追尾枠を表示部109に表示する。図8(B)のフローチャートによれば、タッチパネルなどの操作部材を搭載しないカメラにおいても、被写体を簡単に指定することが可能となる。
図8(C)は、操作部117を構成する部材であるオートズーム操作スイッチが押下された時点で検出された顔の中から追尾する被写体を自動的に選択する例のフローチャートを示している。まずステップS812において、被写体検出部123は、画面全体で顔検出を行う。画面全体で一人でも顔を検出した場合には、主被写体は人物であると判定し、ステップS813に進む。
ステップS813において、被写体検出部123は、検出した顔が一人の場合、その顔を主顔とする。被写体検出部123は、検出した顔が複数の場合、その顔の中から追尾する被写体とする主顔を選択する。主顔選択の判定基準としては、例えば、顔検出位置がより画面中央付近に位置する顔を選択する方法がある。また、同程度の位置に複数の顔がある場合、サイズのより大きい顔を主顔として選択する方法がある。また、顔認証機能を有するカメラにおいては、認証登録されている顔がある場合、その顔を優先して主顔とする方法がある。
そしてステップS814において、オートズーム制御部122は、選択された主顔の顔情報をメモリ118に記憶する。ステップS814にて顔情報を記憶すると、ステップS815に進み、オートズーム制御部122は、顔追尾枠を表示する。
続いてステップS816において、複数の顔が検出された場合に自動で選択された主顔が撮影者の意図しない顔である場合、撮影者が主顔を変更することが可能である。このとき、操作部117のスイッチ(オートズーム操作スイッチでも他のスイッチでもよい)を押下すると、顔追尾枠が検出された顔の中から主顔として選択されなかった顔に主顔を変更する。主顔が変更された場合、再度、ステップS814に進み、オートズーム制御部122は、記憶する顔情報を更新する。また、ステップS815にて顔追尾枠を新たに選択された主顔のサイズおよび検出位置に変更する。
一方、ステップS812にて画面全体で顔が検出されない場合、主被写体は人物以外のモノであると判定し、ステップS817に進む。ステップS817において、オートズーム制御部122は、画面中央付近の特徴色を自動追尾対象の色情報として、メモリ118に記憶する。ステップS817にてモノ情報を記憶すると、ステップS818に進み、モノ追尾枠を表示する。これにより、被写体指定処理は終了する。図8(C)のステップS814、S817、S815(S818)における基本的な処理は、図8(A)のステップS803、S804、S805とそれぞれ同様である。
このようにシステム制御部114(被写体検出部123)は、表示部109の画面全体において顔検出を行う。システム制御部114(オートズーム制御部122)は、複数の顔が検出された場合、複数の顔の中から被写体として第1の顔の位置を示す被写体追尾枠を表示部109に表示する。またシステム制御部114(オートズーム制御部122)は、被写体として第1の顔が第2の顔に変更された場合、第2の顔の位置を示す被写体追尾枠を表示部109に表示する。図8(C)のフローチャートによれば、より少ない操作回数で被写体を簡単に指定することが可能となる。
図8に示される被写体指定処理を終了すると、図7のステップS702に進む。ステップS702では追尾する被写体の大きさを基準サイズとして設定する。
図9を参照して、ステップS702の基準サイズ設定処理について説明する。図9は被写体が人物である場合の基準サイズの設定例を示すフローチャートである。まずステップS900で、オートズーム制御部122は、マニュアルズームフラグの判定を行う。このフラグはズームレバー操作によるマニュアルズーム制御を行った直後であるか否かを示すフラグであり、後述する図7のステップS706で設定される。マニュアルズームフラグが偽である場合にはステップS901に進み、マニュアルズームフラグが真である場合にはステップS904に進む。
ステップS901で、オートズーム制御部122は、後述する図7のステップS713で判定する構図設定が変更されてから所定時間T2が経過したか否かを判定する。所定時間T2が経過していない場合には、再度構図設定変更が行われる可能性があるため、基準サイズ設定を行わずに処理を終了する。これによって、撮影者が撮影画面から操作部117の左右ボタン操作で構図設定を変更している最中に、不用意にオートズーム制御が発動してしまうような誤作動を防止することができる。また、静止画の画角合わせ中にはシャッタチャンスを逃さないためには出来るだけ早く構図変更を行う必要がある一方で、動画記録中には誤作動した場合に動画に記録されてしまうため、確実に設定が決定してから構図変更を行う必要がある。したがって、この所定時間T2を静止画の画角合わせ中と動画記録中とで変更する(例えば動画記録中のほうが長くなるように設定する)構成としてもよい。ステップS901で構図設定変更後に所定時間T2が経過したことを判定すると、ステップS902に進む。
ステップS902で、オートズーム制御部122は、構図設定変更が行われた直後であることを示す構図設定変更フラグを設定する。このフラグは、後述する図12のステップS1202及び図13のステップS1300でズーム速度の設定やサイズ保持制御でのズーム速度の更新の判定を行うときに用いる。ステップS902にて構図設定変更フラグを設定するとステップS903に進む。
ステップS903で、オートズーム制御部122は、メモリ118に記憶されている構図設定が上述した「マニュアル」であるか否かの判定を行う。構図設定が「マニュアル」である場合にはステップS904に進み、「マニュアル」以外である場合にはステップS906に進む。
ステップS900でマニュアルズームフラグが真である場合、もしくはステップS903で構図設定が「マニュアル」である場合、オートズーム制御部122は、ステップS904にて被写体検出の判定を行う。ステップS904で、オートズーム制御部122は、被写体検出部123にて、被写体が人物であるときは顔が、モノであるときには同一の特徴色が検出されるか否かを判定する。被写体が検出されるまでこの判定を繰り返し、検出された場合にはステップS905に進む。
ステップS905で、オートズーム制御部122は、検出した被写体の大きさを基準サイズとしてメモリ118に記憶して処理を終了する。これによって、マニュアルズーム制御の直後や、構図設定が「マニュアル」である場合には、基準サイズ設定処理を開始したときに最初に検出した被写体の大きさを基準サイズとしてメモリ118に記憶する。
一方、ステップS903にて構図設定が「マニュアル」以外であると判定されるとステップS906に進む。ステップS906乃至ステップS910で、オートズーム制御部122は、構図設定に応じて画面に占める顔のサイズの比率(顔比率)を決定する。例えば、メモリ118に記憶されている構図設定が「顔」である場合(ステップS906がyes)、顔比率を27%とする(ステップS908)。メモリ118に記憶されている構図設定が「上半身」である場合(ステップS907がyes)、顔比率を16%とする(ステップS909)。メモリ118に記憶されている構図設定が「全身」である場合(ステップS907がno)、顔比率を7%とする(ステップS910)。ステップS906乃至ステップS910で顔比率を決定すると、ステップS911に進む。
ステップS911乃至ステップS913で、オートズーム制御部122は、姿勢検出部124によって判定したカメラの姿勢から基準サイズの算出に用いる画面サイズを決定する。本実施形態では、画面サイズが長辺×短辺=640×480のVGAである場合の例を示すが、画面サイズはこれに限定されるものではない。カメラが正位置に構えられている場合(ステップS911がyes)、画面の短辺方向に対して顔が占める比率を基準サイズとして算出する。したがって、画面の短辺サイズである480を画面サイズとする(ステップS912)。カメラが縦位置に構えられている場合(ステップS911がno)、画面の長辺方向に対して顔が占める比率を基準サイズとして算出する。したがって、画面の長辺サイズである640を画面サイズとする(ステップS912)。
これは、立っている人物を前提として、カメラの姿勢を元に基準サイズの算出に用いる画面サイズを決定する方法である。被写体検出部123で顔の方向が判定できる場合、画面上での顔の上下方向に基づいて基準サイズの算出に用いる画面サイズの方向を決定してもよい。また、本実施形態では画面サイズが4:3のVGAの場合での例を示したが、アスペクトの設定に応じて画面サイズを変更してもよい。それによってアスペクトに依らず、画面に対して人物が占める割合を一定とすることが可能である。ステップS911乃至ステップS913にて画面サイズを決定すると、ステップS914に進む。
ステップS914で、オートズーム制御部122は、ステップ906乃至ステップS913で決定した顔比率と画面サイズとを積算することで基準サイズを算出する。さらに、算出した基準サイズをメモリ118に記憶すると基準サイズ設定の処理を終了する。
図9に示される基準サイズ設定処理を終了すると、図7のステップS703に進む。ステップS703では、オートズーム制御部122は、被写体検出部123で検出した被写体情報やメモリ118に記憶された基準サイズに基づいてオートズーム制御を行う。オートズーム制御については、図10を用いて後述する。
オートズーム制御の処理が終了すると、ステップS704に進む。ステップS704では、オートズーム制御部122は、撮影者が操作部117のズームレバーが操作されたか否かを判定する。本実施例では、ズームレバーの操作によってマニュアルズーム制御が指示される。後述のように、マニュアルズーム制御によって変更された画角で検出された被写体のサイズに応じて基準サイズが更新されるため、ズームレバーの操作は、基準サイズの変更を指示する操作と換言することができる。ステップS704でズームレバーが操作されたと判定された場合には、ステップS705に進む。
ステップS705では、オートズーム制御部122は、ズームレバーの操作される方向に応じてズームイン動作またはズームアウト動作を開始する。さらに、ズーム動作中にズームレバーの操作が開放されるとズームを停止させることでマニュアルズーム制御を実現する。ステップS705でマニュアルズーム制御が終了すると、ステップS706に進む。
ステップS706では、オートズーム制御部122は、図9のステップS900の説明として前述したマニュアルズームフラグを設定して、メモリ118に記憶する。
続いて、ステップS707では、オートズーム制御部122は、マニュアルズーム制御が終了した時間をメモリ118に記憶する。これは、図9のステップS905で設定するマニュアルズーム制御によって設定された基準サイズから、構図設定に応じた基準サイズに戻すためのタイムアウト計測のためである。
ステップS707でマニュアルズーム制御終了後のタイムアウト計測開始時間を記憶するとステップS702に進む。この場合、図9のステップS900の判定がyesになるため、ステップS904及びステップS905において最初に検出された被写体の大きさが基準サイズとして設定される。
一方、ステップS704でズームレバーが操作されないと判定された場合には、ステップS708に進む。ステップS708では、オートズーム制御部122は、ステップS706で設定されるマニュアルズームフラグが設定されているか否かを判定する。マニュアルズームフラグが真である場合、すなわち、マニュアルズーム制御による基準サイズが設定されている状態であると判定された場合には、ステップS709に進む。
ステップS709では、オートズーム制御部122は、操作部117の特定の操作部材が操作されたか否かを判定する。ここでの特定の操作部材とは、レリーズスイッチや動画記録スイッチ、被写体指定スイッチのいずれかを含む。ステップS709で特定の操作部材が操作されたと判定されるとステップS710に進む。
ステップS710では、オートズーム制御部122は、ステップS707でメモリ118に記憶したタイムアウト時間を更新する。例えば、レリーズスイッチの半押しによるAF制御/AE制御の開始操作(静止画撮影の準備操作)や動画撮影操作、被写体指定操作などが行われると、構図合わせを行う時間を延長するために、計測時間がリセットされる。オートズーム制御部122は、計測時間をリセットすると、タイムアウトの計測をやり直す(再度計時する)。また、レリーズスイッチの全押しによってマニュアルズームで変更した構図で静止画撮影が行われると、設定されている構図に戻すために、タイムアウト時間をクリアする(タイムアウト時間の計時を終了する)。
ステップS709で特定の操作部材が操作されていないと判定された、もしくはステップS710でタイムアウト時間の更新処理が終了すると、ステップS711に進む。ステップS711では、オートズーム制御部122は、ステップS707やステップS710でメモリ118に記憶したマニュアルズーム制御のタイムアウト計測開始時間から所定時間T1が経過したか否かを判定する。ステップS711で所定時間T1が経過した、つまりタイムアウト時間経過したと判定されると、ステップS712に進む。
ステップS712では、オートズーム制御部122は、ステップS706で設定したマニュアルズームフラグをクリアしてステップS702に進む。この場合、図9のステップS300の判定がnoになり、さらに後述するステップS713における構図設定の変更から所定時間T2が経過していると、構図設定に応じた基準サイズの設定を行う。
この処理によって、構図設定が「マニュアル」以外に設定されているときでも、撮影者がズームレバーの操作によって一時的にオートズームの基準となる被写体の大きさを変更することができる。さらに、ズームレバーの操作から所定時間T1が経過した後、あるいは静止画撮影後には、設定されている構図に戻ることによって、実際の構図と設定されている構図とが異なる不整合状態を自動的に解消する。これによって、オートズーム中のマニュアルズームの操作性を損なうことなく、オートズーム機能とマニュアルズーム機能とを両立させることができる。なお、タイムアウト時間は、一意の時間とするだけでなく、メニュー設定から変更出来る構成や静止画の画角合わせ中や動画記録中などで変更する構成としてもよい。
一方、ステップS708でマニュアルズームフラグが偽である、もしくはステップS711でタイムアウト時間が経過していないと判定されると、ステップS713に進む。ステップS713では、オートズーム制御部122は、撮影者により撮影画面から操作部117の左右ボタン操作によって構図設定を変更されたか否かを判定する。ステップS713で構図設定が変更されたと判定された場合には、ステップS712に進んでマニュアルズームフラグをクリアする。これは、マニュアルズーム制御後(マニュアルズームフラグが真のとき)に構図設定の変更が行われたときには、マニュアルズーム制御によって設定された基準サイズを破棄して、変更された構図に応じて基準サイズを更新するためである。ステップS713で構図設定が変更されていないと判定された場合には、ステップS714に進む。
ステップS714において、オートズーム制御部122は、操作部117のオートズーム操作スイッチが押下されたか否かを判定する。オートズーム操作スイッチが押下されていないと判定されると、ステップS703に戻ってオートズーム制御を継続する。オートズーム操作スイッチが押下されたと判定されると、オートズーム機能を終了する。
ここで図10を参照して、ステップS703のオートズーム制御処理について説明する。まず、ステップS1000にてオートズーム制御部122は、被写体検出部123により被写体が検出されたかの判定を行う。ステップS1000で被写体が検出されなかった場合にはオートズーム制御処理を終了する。ステップS1000で被写体が検出された場合にはステップS1001へ進む。
ステップS1001乃至ステップS1003の判定は、図3及び図4で説明した、被写体がフレームアウトすることを防止するための(フレームアウト防止制御の)オートズームの開始判定である。ステップS1001において、オートズーム制御部122は、追尾する被写体の被写体追尾枠がズームアウト領域ZOに進入したか否かを判定する。ここでのズームアウト領域ZOは、図3(A)、図4(A)〜(C)で説明したズームアウト領域ZOに相当する。ステップS1001にて追尾枠がズームアウト領域ZOに進入した場合、すなわち、被写体がフレームアウトする可能性が大きい場合、ステップS1004に進み、ズームアウト動作を開始する。ここでのズームアウト動作は、フレームアウト防止制御のズームアウト動作に相当する。
一方、ステップS1001にて被写体追尾枠がズームアウト領域ZOに進入していない場合、すなわち、画面中央付近で被写体を捉えられている場合、ステップS1002に進む。ステップS1002では、直前のズーム動作がステップS1001でズームアウト領域ZOに進入したことによるズームアウト動作、すなわち、フレームアウト防止制御のズームアウト動作であるか否かを判定する。フレームアウト防止制御のズームアウト動作後である場合には、ステップS1003に進む。
ステップS1003において、オートズーム制御部122は、追尾する被写体の被写体追尾枠がズームイン領域ZIの内部に収まっている(包含されている)か否かを判定する。ここでのズームイン領域ZIは、図3(B)、図4(A)〜(C)で説明したズームイン領域ZIに相当する。ステップS1003にて追尾枠(被写体)がズームイン領域ZIに収まっていない場合、オートズーム制御処理を終了する。一方、追尾枠がズームイン領域ZIに収まっている場合、すなわち、画面中央付近でかつズーム戻り位置の画角内の被写体サイズとなるように被写体を捉えられている場合、ステップS1005に進み、ズームイン動作を開始する。ここでのズームイン動作は、フレームアウト防止制御のズームイン動作に相当する。
オートズームにおけるフレームアウト防止制御とサイズ保持制御を両立させるために、まずフレームアウト防止制御により被写体を画面中央付近に捉えたうえで、サイズ保持制御を実行可能にしている。そのため、フレームアウト防止制御のズームアウト動作後の状態では、以降で説明する被写体サイズを一定に維持する(サイズ保持制御の)オートズーム処理(ステップS1006〜S1010)を行わないようにしている。換言すると、フレームアウト防止制御を行った場合は、フレームアウト防止制御のズームイン動作が完了するまでサイズ保持制御が制限される。
ステップS1002でフレームアウト防止制御のズームアウト動作後でないと判断された場合、ステップS1006に進む。ステップS1006において、オートズーム制御部122は、ステップS905やS914で設定される基準被写体情報の被写体サイズとステップS1000にて検出された被写体サイズとの比較を行う。ステップS1000にて検出された被写体のサイズが基準被写体のサイズに対して所定のN1倍より大きい場合(N1>1)、すなわち被写体が画面に占める比率が所定値を超える場合、ステップS1009に進む。ステップS1009において、オートズーム制御部122は、ズームアウト動作を開始する。ここでのズームアウト動作は、サイズ保持制御のズームアウト動作に相当する。ズームアウト動作の後、ステップS1011に進む。
一方、ステップS1006において、ステップS1000にて検出された被写体のサイズが基準被写体のサイズに対してN1倍以下である場合、ステップS1007に進む。ステップS1007において、オートズーム制御部122は、基準被写体情報の被写体サイズとステップS1000にて検出された被写体のサイズとの比較を行う。検出された被写体のサイズが基準被写体のサイズに対して所定のN2倍未満である場合(N2<1)、すなわち被写体が画面に占める比率が所定値未満である場合、ステップS1008に進む。一方、検出された被写体のサイズが基準被写体のサイズに対してN2倍以上である場合、ステップS1011に進む。
ステップS1008において、オートズーム制御部122は、追尾する被写体の被写体追尾枠がズームイン領域ZIの内部に収まっている(包含されている)か否かを判定する。これは、被写体が画面の周辺にいる場合にズームイン動作によってフレームアウトしてしまうことを防ぐためである。ここでのズームイン領域ZIは、図5(E)で説明したズームイン領域ZIに相当する。ステップS1008で被写体追尾枠がズームイン領域ZIに収まっていないと判定された場合、オートズーム制御処理を終了する。
一方、ステップS1008で被写体追尾枠がズームイン領域ZIに収まっていると判定された場合、ステップS1010に進む。ステップS1010において、オートズーム制御部122は、ズームイン動作を開始する。ここでのズームイン動作は、サイズ保持制御のズームイン動作に相当する。このように、本実施形態では、サイズ保持制御のズームイン動作においても被写体のフレームアウトを防ぐため、被写体がズームイン領域ZIの内部に収まってからズームイン動作を開始する。ズームイン動作の後、ステップS1011に進む。
サイズ保持制御によるズームアウト動作やズームイン動作が終了する、もしくは検出された被写体のサイズが基準被写体のサイズに対して所定の範囲内に収まっていると判定される(ステップS1007がno)と、ステップS1011に進む。ステップS1011では、撮影者による構図設定変更に伴うサイズ保持制御が終了したため、図9のステップS902で設定された構図設定変更フラグをクリアしてオートズーム制御の処理を終了する。
ここで、図11を参照してズーム動作について説明する。図11は、図10のステップS1004、S1005、S1009、S1010のズームアウト動作もしくはズームイン動作を説明するフローチャートである。まずS1100において、オートズーム制御部122は、光学ズーム領域内である場合にはCZ制御部119に光学ズーム速度を、電子ズーム領域内である場合には電子ズーム制御部120に電子ズーム速度を設定する。ズーム速度の設定方法については図12を用いて後述する。
続いてステップS1101において、オートズーム制御部122は、メモリ118からズーム駆動量(ズーム倍率の変化量)を取得する。フレームアウト防止制御のズームアウト動作の場合、ズームアウト駆動量は検出された被写体情報に応じて設定される。具体的には、フレームアウト防止のズームアウト動作(図10のステップS1004)においては、被写体のサイズが小さいほどズームアウト駆動量は小さく設定される。それにより、ズームアウト動作によって被写体のサイズが小さくなりすぎるために被写体が検出できなくなるのを防ぐことができる。なお、被写体検出可能な最小サイズを考慮して、被写体のサイズが所定のサイズより小さい場合は、ズームアウトを行わないようにしてもよい。また、フレームアウト防止のズームイン動作では、ズームアウト動作開始前のズーム位置をメモリ118に記憶しておき、ズームアウト開始前と同じ位置となるようにズームイン駆動量を設定する。
また、サイズ保持制御のズームアウト動作(図10のステップS1009)においては、ステップS1006の判定に用いる所定のN1倍に相当するズームアウト駆動量(1/N1倍)に設定する。それにより、被写体が検出できない場合でも、被写体のサイズが基準被写体のサイズとなるまでの最低限のズームアウト動作を行うことができる。サイズ保持制御のズームイン動作(図10のステップS1010)の場合も同様に、ステップS1007の判定に用いる所定のN2倍に相当するズームイン駆動量(1/N2倍)とする。
ステップS1102において、オートズーム制御部122は、ステップS1101にて取得したズーム駆動量をCZ制御部119もしくは電子ズーム制御部120に設定し、変倍処理を行うように指示する。
次にステップS1103にて、オートズーム制御部122は、フレームアウト防止制御とサイズ保持制御の何れのズーム動作中であるかの判定を行う。動作中のズームがフレームアウト防止制御のズーム動作である場合(図10のステップS1004、S1005)はステップS1107に進む。サイズ保持制御のズーム動作である場合(図10のステップS1009、S1010)はステップS1104に進む。
さらにステップS1104では、オートズーム制御部122は、被写体検出部123によって被写体が検出されているか否かの判定を行う。被写体が検出されている場合にはステップS1105に進み、被写体が検出されていない場合にはステップS1107に進む。
ステップS1105では、サイズ保持制御で被写体が検出されている場合には、オートズーム制御部122は、図13を用いて後述するサイズ保持制御のズーム速度の更新方法に従ってズーム速度を更新する。
ステップS1106では、基準被写体情報の被写体のサイズとステップS1104で検出された被写体のサイズとの比較を行う。比較の結果、ステップS1104にて検出された被写体のサイズと基準被写体のサイズとが所定比率の範囲内(所定の変化量以内)に収まらない場合には、再度、ステップS1103に進み、ズーム停止の判定を継続する。ズーム動作によって、その比率が所定の範囲内となった場合、ステップS1108に進み、ズーム動作を停止してズーム動作処理を終了する。
ステップS1103、S1104の判定によって、フレームアウト防止制御のズーム動作中の場合、または、サイズ保持制御のズーム動作中で被写体が検出されない場合にはステップS1107に進む。ステップS1107にて、オートズーム制御部122は、ステップS1101で取得したズーム駆動量に基づき、各ズーム動作に応じた所定量分のズーム駆動量を駆動したか否かを判定する。所定のズーム駆動量を駆動していない場合には、再度ステップS1103に進み、ズーム停止の判定を継続する。所定のズーム駆動量を駆動した場合には、ステップS1108に進み、動作中のズームを停止してズーム動作処理を終了する。
次に、図12を参照して、ステップS1100でのズーム速度の設定処理について説明する。まずステップS1200において、オートズーム制御部122は、フレームアウト防止制御のズーム動作中であるか否かの判定を行う。フレームアウト防止制御のズーム動作中である場合にはステップS1201に進み、サイズ保持制御のズーム動作中である場合にはステップS1202に進む。
ステップS1201で、オートズーム制御部122は、メモリ118に記憶されているフレームアウト防止制御用の所定速度を取得し、CZ制御部119もしくは電子ズーム制御部120に所定速度を設定してズーム速度設定の処理を終了する。
一方、ステップS1200でサイズ保持制御であると判定されると、ステップS1202に進み、図9のステップS902で設定する構図設定変更フラグが設定されているか否かを判定する。構図設定変更フラグが真である場合、すなわち、撮影者によって構図設定が変更されたことによってズーム動作を行う場合には、ステップS1203に進む。構図設定変更フラグが偽である場合、すなわち、被写体が移動したことによってズーム動作を行う場合には、ステップS1209に進む。
ステップS1203では、オートズーム制御部122は、メモリ118に記憶されている構図設定が「顔」(第1の構図)であるか否かを判定する。構図設定が「顔」である場合にはステップS1204に進み、構図設定が「顔」以外(第2の構図)の場合にはステップS1208に進む。
ステップS1204乃至ステップS1207は、構図設定が「顔」に設定されている場合のズーム速度の判定である。構図設定が「顔」に設定される場合には、ズーム速度をメモリ118に記憶している所定速度よりも遅い速度に設定する。これは、「顔」にズームインする場合にはズーム速度が速すぎると顔が画面からフレームアウトしてしまう恐れがあるため、ゆっくりとズームインさせることでフレームアウトを防止するためである。
ステップS1204では、動画記録中か否かを判定する。動画記録中である場合にはステップS1205へ進み、動画記録中でない場合はステップS1207へ進む。
ステップS1205では、動画記録中の状態で所定時間以上(所定時間T3以上)カメラが静止しているか否かを判定する。所定時間T3以上カメラが静止している場合にはステップS1206へ進み、そうでない場合はステップS1207へ進む。
ステップS1206は、構図設定が「顔」に設定されたときに、動画記録中でカメラが所定時間T3以上静止している場合である。ステップS1206では、オートズーム制御部122は、後述するステップS1207で設定する低速のズーム速度よりもさらに遅い超低速のズーム速度を設定する。これによって、例えば、赤ちゃんの寝姿のような静止した人物を動画撮影するときに、構図設定を「全身」から「顔」に変更するだけでゆっくりと寝顔にアップしていくような効果的な動画を撮影することができる。
ステップS1204で動画記録中でないと判定された場合、または動画記録中にステップS1205でカメラが静止していないと判定された場合、ステップS1207に進む。ステップS1207では、オートズーム制御部122は、ステップS1201で設定する所定速度より遅い低速のズーム速度を設定する。
ステップS1206及びステップS1207で、オートズーム制御部122は、構図設定が「顔」に設定されているときのズーム速度をCZ制御部119もしくは電子ズーム制御部120に設定して処理を終了する。
一方、ステップS1203でメモリ118に記憶されている構図設定が「顔」以外であると判定された場合、オートズーム制御部122は、ステップS1208で加速速度の初速度を設定する。構図設定が「顔」以外に変更された場合には、ステップS1208で設定した速度を初速度として後述する図13のステップS1306で速度を更新することで加速制御を行う。これによって、撮影者が構図設定を変更している最中に意図しない構図でオートズームが作動してしまった場合でも、徐々に速度を上げることで大きく構図がずれる前に意図した構図に設定し直すことが可能となる。また、構図設定が「顔」の場合でも、ステップS1207で設定する速度をステップS1208で設定する加速初速度よりも遅い速度(低速)とすることで、同様の効果を得ることができる。
一方、ステップS1202で構図設定変更フラグが偽である場合、すなわち、被写体が移動したことによってズーム動作を行う場合、ステップS1209に進む。ステップS1209では、オートズーム制御部122は、基準サイズに対する検出サイズの比率(サイズ比率)に基づいてズーム速度(サイズ比率速度)を算出する。
図14は、サイズ比率に対するズーム速度の設定例を示すグラフであり、横軸にサイズ比率、縦軸にズーム速度を示している。なお、サイズ比率は、基準サイズより検出サイズのほうが大きい場合は検出サイズ/基準サイズ、検出サイズのほうが小さい場合は基準サイズ/検出サイズにより算出される。移動している被写体をズーム動作により追尾する場合、サイズ比率に比例するようにズーム速度を設定する。サイズ比率が大きくなる、すなわち、被写体がズームによる追尾速度よりも速く移動している場合にはズーム速度をより高速にする。一方、ズームが被写体の動きに追いつき、サイズ比率が1に近づくにしたがって低速とする。さらに、カメラから被写体までの距離が近い場合にはズーム速度をより高速に、距離が遠い場合にはズーム速度をより低速に設定する。これは、カメラからの距離が近いほど、同じ速度で被写体が移動した場合でも画面上での被写体サイズの変化速度が速いことによる。
ここで、カメラから被写体までの距離(被写体距離)の算出方法について説明する。基準とする焦点距離と被写体サイズに対する被写体距離を予め計測しておきメモリ118に記憶しておく。メモリ118に記憶された基準値に対して、被写体距離=(基準被写体距離×焦点距離×基準被写体サイズ)/(基準焦点距離×検出サイズ)という演算を行うことで被写体距離を算出することができる。例えば、基準値が基準被写体距離2m、基準焦点距離24mm、基準被写体サイズ20pixである場合に、焦点距離120mmで検出サイズ40pixの被写体を検出したとする。このときの被写体距離は、(2m×120mm×20pix)/(24mm×40pix)=5mと推定できる。このように検出サイズや被写体距離をズーム速度にフィードバックさせることで、被写体の動きに合わせたズーム追尾を実現することが可能となる。なお、被写体距離を求める方法はこれに限定されず、位相差検出方式の測距結果から被写体距離を算出するなど、測距手段を別に設けてもよい。
ステップS1209でサイズ比率に応じたズーム速度を算出すると、ステップS1210に進む。ステップS1210で、オートズーム制御部122は、ステップS1209で算出したズーム速度(サイズ比率速度)をCZ制御部119もしくは電子ズーム制御部120に設定して処理を終了する。
次に、図13を参照して、図11のステップS1105のサイズ保持制御でのズーム速度の更新処理について説明する。まずステップS1300で、オートズーム制御部122は、図9のステップS902で設定する構図設定変更フラグが設定されているか否かを判定する。構図設定変更フラグが真である場合、すなわち、撮影者によって構図設定が変更されたことによってズーム動作を行う場合には、ステップS1301に進む。構図設定変更フラグが偽である場合、すなわち、被写体が移動したことによってのみズーム動作を行う場合には、ステップS1307に進む。
ステップS1301では、オートズーム制御部122は、メモリ118に記憶されている構図設定が「顔」であるか否かを判定する。構図設定が「顔」である場合には図12のステップS1206もしくはステップS1207で設定したズーム速度を更新しない(加速しない)ため、ズーム速度更新の処理を終了する。構図設定が「顔」以外である場合には、ステップS1302に進む。
ステップS1302では、構図設定が「顔」以外である場合の加速制御において、加速開始(ズーム動作の開始)から所定時間T4内であるか否かの判定を行う。加速開始から所定時間T4内である場合には、加速期間中であると判定してステップS1303に進む。上述したように、撮影者が構図設定を行っている際に、意図しない構図でオートズームが開始される可能性がある。そこで本実施例では、構図変更が行われてから所定時間T4内は低い速度から徐々に加速させることで、大きく構図が変わる前に撮影者が構図を再設定しやすくしている。加速開始から所定時間T4が経過すると、加速期間を終了したと判定してステップS1307に進む。
ステップS1303では、加速制御においてメモリ118に記憶している所定加速度とズーム速度の更新周期を元に加算する速度を求め、加速速度を算出する。続いて、ステップS1304では、図12のステップS1209と同様にサイズ比率に応じたズーム速度を算出する。サイズ比率に応じたズーム速度は、被写体の移動やズーム動作によって検出サイズや焦点距離が更新されるため、ズーム速度の更新処理のたびに算出結果が更新される。ステップS1304でサイズ比率に応じたズーム速度を算出すると、ステップS1305に進む。
ステップS1305では、オートズーム制御部122は、ステップS1303で算出した加速速度と、ステップS1304で算出したサイズ比率に応じたズーム速度を比較する。加速速度がサイズ比率に応じたズーム速度よりも遅い場合には、ステップS1306に進む。加速速度がサイズ比率に応じたズーム速度以上の場合、すなわち加速制御によってサイズ比率速度に到達したと判定された場合には、ステップS1308に進む。
ステップS1306で、オートズーム制御部122は、ステップS1303で算出した加速速度を更新するズーム速度としてCZ制御部119もしくは電子ズーム制御部120に設定してズーム更新処理を終了する。
一方、ステップS1300で構図設定変更フラグが偽である場合、またはステップS1302で加速期間が終了したと判定された場合には、ステップS1307に進む。ステップS1307では、オートズーム制御部122は、図12のステップS1209やステップS1304と同様に、サイズ比率に応じたズーム速度を算出する。ステップS1307でサイズ比率に応じたズーム速度が算出された、もしくはステップS1305で加速制御によって加速速度がサイズ比率に応じたズーム速度に到達したと判定された場合、ステップS1308に進む。
ステップS1308で、オートズーム制御部122は、ステップS1304もしくはステップS1307で算出したサイズ比率に応じたズーム速度を更新する速度としてCZ制御部119もしくは電子ズーム制御部120に設定する。ステップS1308で更新速度を設定すると、ズーム速度更新処理を終了する。
なお、本実施形態では、基準サイズに対する検出サイズの比率に応じたズーム速度の設定方法について説明したが、基準サイズに対する検出サイズの差に応じてズーム速度を設定する構成としてもよい。この場合、基準サイズと検出サイズとのサイズ差の絶対値が大きいほどズーム速度をより高速に設定する。
以上説明したように、本実施形態では、設定された構図に応じた被写体サイズ(基準サイズ)に基づいてオートズームを行う際に、構図に応じてズーム速度を設定する。特に、画像に対する被写体サイズの比率が大きい第1の構図が設定された場合には、被写体サイズの比率がより小さい第2の構図が設定された場合と比較して、ズーム速度が小さくなるように制御する。また、第1の構図が選択された場合と第2の構図が選択された場合とで、上記の実施形態で説明したようにズーム速度の設定方法を変える。これにより、撮影者が意図する被写体の構図に基づき、被写体の状況に応じて適切なズーム速度でオートズーム動作を実現することができる。
なお、本実施形態では、選択された構図が人の「顔」の場合を第1の構図として説明したが、これに限定されるものではない。画像に対する基準サイズの比率が異なる構図を設定可能な場合に、上記比率に応じてズーム速度を変えるものであれば、本発明を適用できる。
なお、上述した実施形態と異なる構成として、基準サイズを変更する操作が行われた場合に構図設定を「マニュアル」に切り替えてもよい。この場合、撮影者による基準サイズの変更操作結果をより優先した制御を行うことになる。
また、本実施形態では、基準サイズを変更するための操作部材としてズームレバーを例に説明したが、これに限定されるものではない。例えば、タッチパネルを用いて表示部109に対してピンチイン/ピンチアウト操作などが行われるのを検知することにより、基準サイズの変更を可能にしてもよい。また、オートズーム中にズームレバーなどの操作部材が操作された場合に、画角を変更せずに、基準サイズのみを変更する構成にしてもよい。
(他の実施形態)
本発明の目的は以下のようにしても達成できる。すなわち、前述した実施形態の機能を実現するための手順が記述されたソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給する。そしてそのシステムまたは装置のコンピュータ(またはCPU、MPU等)が記憶媒体に格納されたプログラムコードを読み出して実行する。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどが挙げられる。また、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD−R、磁気テープ、不揮発性のメモリカード、ROM等も用いることができる。
また、コンピュータが読み出したプログラムコードを実行可能とすることにより、前述した各実施形態の機能が実現される。さらに、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した各実施形態の機能が実現される場合も含まれる。
更に、以下の場合も含まれる。まず記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う。
また、本発明はデジタルカメラのような撮影を主目的とした機器に限定されず、携帯電話、パーソナルコンピュータ(ラップトップ型、デスクトップ型、タブレット型など)、ゲーム機など、撮像装置を内蔵もしくは外部接続する任意の機器に適用可能である。従って、本明細書における「撮像装置」は、撮像機能を備えた任意の電子機器を包含することが意図されている。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。