以下に、本発明の一実施形態を添付図面に基づいて詳細に説明する。
<装置の構成>
図1は、本実施形態におけるズーム制御装置を備えた撮像装置の一例として、デジタルカメラ100の構成例を示すブロック図である。図3は、本実施形態におけるデジタルカメラ100の外観図である。デジタルカメラ100は、オートズーム機能を実行可能に構成されている。
レンズ鏡筒101は、その内部にレンズ群を保持している。ズームレンズ102は、レンズ鏡筒101の光軸方向に移動することで焦点距離を調節し、光学的に画角を変更(ズーム位置を移動)する。フォーカスレンズ103は、レンズ鏡筒101の光軸方向に移動することで焦点調節を行う。防振レンズ(像振れ補正用レンズ)104は、手ぶれに起因する像振れを補正する補正用レンズである。光量調節を行う絞り及びシャッタ105は、露出制御に用いられる。なお、本実施形態において、デジタルカメラ100は、レンズ鏡筒101とカメラ本体とが一体的に構成された撮像装置であるが、これに限定されるものではない。本実施形態は、カメラ本体と、カメラ本体に着脱可能な交換レンズとを備えて構成される撮像システムにも適用可能である。
撮像素子106は、レンズ鏡筒101を通過した光を受光し、光電変換によって被写体像を電気信号に変換することで撮像信号を生成する。撮像素子106は、CCD(電荷結合素子)型またはCMOS(相補型金属酸化膜半導体)型のイメージセンサ等を備えて構成される。撮像信号は、画像処理回路107に入力されて、画素補間処理や色変換処理等の各種処理が行われる。各種処理後の画像データは画像メモリ108に記憶される。画像メモリ108は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等を備えて構成される記憶手段である。
表示部109は、TFT型LCD(薄膜トランジスタ駆動型液晶表示器)等を備えて構成され、撮影画像(画像データ)や、特定の情報(例えば、撮影情報等)を表示する。撮影画像に係るライブビュー等の情報表示により、撮影者が画角合わせを行うための電子ビューファインダ(EVF)機能を実現している。また、表示部109は、図3に示すように、チルト可動式の構造になっており、上方向に約180度動かすことが可能である。自分撮りの際には、表示部109を上方向に動かしてレンズ鏡筒101の方向に向けることにより、撮影者が表示部109に表示された撮影画像を視認して画角合わせを行いながら、撮影者自身を撮影することが出来る。なお、撮影者が表示部109に表示された撮影画像を視認可能な構成であれば図3に示した構成に限定されず、表示部109を下方向へ動かせるようにしてもよいし、バリアングル式の構造にしてもよい。また、デジタルカメラ100の正面(レンズ鏡筒101が設けられている面)に第2の表示部を設け、自分撮りの際に画像を表示するようにしてもよい。
絞りシャッタ駆動部110は、画像処理回路107での画像処理によって得られた輝度情報に基づいて露出制御値(絞り値及びシャッタ速度)を演算し、この演算結果に基づいて絞り及びシャッタ105を駆動する。これにより、自動露出(AE)制御が行われる。防振レンズ駆動部111は、ジャイロセンサ等の角速度センサによる振れ検出情報に基づいてデジタルカメラ100に加わる振れ量を演算する。演算結果にしたがって、デジタルカメラ100に加わる振れ量を打ち消す(低減する)ように防振レンズ104が駆動される。
フォーカスレンズ駆動部112は、フォーカスレンズ103を駆動する。本実施形態において、デジタルカメラ100は、コントラスト方式で自動焦点調節制御(AF制御)を行う。つまりフォーカスレンズ駆動部112は、画像処理回路107での画像処理により得られた撮影光学系の焦点調節情報(コントラスト評価値)に基づいて、被写体に焦点が合うようにフォーカスレンズ103を駆動する。ただし、これに限定されるものではなく、コントラスト方式以外のAF制御として、位相差AF方式でもよいし、また、コントラスト方式と他の方式との組み合わせのように、複数の方式でAF制御を行う構成でもよい。
ズームレンズ駆動部113は、ズーム操作指示に従ってズームレンズ102を駆動する。操作部117は、撮影者がカメラにズーミングを指示するためのズーム操作部材としてのズームレバーまたはズームボタン等を備えて構成される。システム制御部114は、ズーム指示操作に用いるズーム操作部材の操作量及び操作方向を検知して、ズーム駆動速度やズーム駆動方向を演算し、演算結果に従ってズームレンズ102を光軸に沿って移動させる制御を行う。
撮影動作によって生成された画像データは、インターフェース部(I/F部)115を介して記録部116に送られて記録される。画像データは、デジタルカメラ100に装着して使用されるメモリカード等の外部記録媒体またはデジタルカメラ100に内蔵されている不揮発性のメモリ118、あるいはそれらの両方に記録される。メモリ118は、プログラムデータや画像データの他に、デジタルカメラ100の設定情報や、後述するオートズーム機能におけるズームイン倍率等の情報を記憶する。
操作部117は、上述のズーム操作部材に加えて、撮影開始を指示するレリーズスイッチ、オートズーム機能の開始や終了を指示するオートズーム操作スイッチ等を含む。操作部117からの信号は、システム制御部114に送られる。
システム制御部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、自分撮り検出部126を備えて構成される。
本実施形態のデジタルカメラ100は、光学ズーム機能及び電子ズーム機能を有する。CZ制御部119及びズームレンズ駆動部113は、光学ズームを行う。CZ制御部119は、ズーム動作時に、所定の制御周期ごとにズームレンズ102のズーム位置を検出する。そしてCZ制御部119は、検出したズーム位置に応じたAF制御にて計測された被写体距離でのフォーカスカムテーブルに追従するように、フォーカスレンズ103を駆動させる制御を行う。これにより、合焦状態を維持したまま光学ズーム動作を行うことが可能となる。
一方、電子ズーム制御部120及び画像メモリ108は、電子ズームを行う。電子ズーム制御部120は、画像メモリ108に転送された画像データから対象領域内のデータを切り出すことにより、電子ズーム機能を実現する。また、電子ズーム制御部120は、撮像素子106に取り込む画像のフレームレート周期で切り出す範囲を徐々に大きくしながら表示部109に表示させることにより、滑らかな電子ズーム表示を実現する。なお、本実施形態におけるズーム動作は、光学ズームによるズームレンズの移動と、電子ズームによる画像データの切り出しの両方を用いるものとして説明するが、いずれか一方のみを用いてもよい。
被写体検出部123は、画像メモリ108に記憶された画像データから所望の被写体領域を検出する。被写体領域の検出方法に関しては後述する。また、被写体検出部123は、被写体情報とともに、CZ制御部119で計測された被写体距離情報及びズームレンズ102の焦点距離情報を用いることにより、画像データ上での被写体領域の大きさを推定することができる。
姿勢検出部124は、加速度センサの情報に基づいて、デジタルカメラ100の姿勢(正位置/グリップ上/グリップ下)を検出する。揺れ検出部125は、ジャイロセンサによる角速度情報等に基づいて、デジタルカメラ100の振れ状態を検出する。揺れ検出部125は、ジャイロセンサ等に加わる振れ量が所定量以上である場合にはカメラが手持ち状態であると判定し、所定量未満である場合には三脚等に固定された状態であると判定する。姿勢検出及び揺れ検出に用いる加速度センサ及びジャイロセンサについては、防振レンズ駆動部111の制御情報を取得するための検出部のセンサと兼用する構成でもよい。
自分撮り検出部126は、表示部109から、表示部109がレンズ鏡筒101の方向に向いている(所定の位置まで動かされた)ことを示す信号を受信し、自分撮りであることを検出する。また、不図示の撮影モード選択部を介して、ユーザーが自分撮りを行う撮影モード(自分撮りモード)を選択することで、自分撮りであることを検出する構成でもよい。自分撮り検出部126は、自分撮り検出の結果をオートズーム制御部122に送信する。
撮影SW127は、2段階に押し下げることができる物理スイッチである。撮影SW127を半分量押し下げる、所謂半押しがされた場合、システム制御部114に対し、前述のAE/AF制御といった撮影の準備動作が指示される。撮影準備を指示した後も半押し状態を保持した場合は、決定したAE/AF制御の結果を維持し続ける。半押し状態から撮影SW127を開放した場合は、AE/AF制御を行う前の状態に戻る。撮影SW127を完全に押し下げた(全押し)場合は、半押し時に行った撮影準備に基づいて撮影を行う。
<被写体領域の検出方法>
次に、被写体領域の検出方法について説明する。本実施形態では、画像データから被写体(顔)を検出する場合の被写体検出処理(顔検出処理)方法について説明する。
顔検出処理は、画像データ中に存在する顔領域を公知のアルゴリズムにより検出する処理である。例えば、被写体検出部123は、画像データ上の正方形状の部分領域から特徴量を抽出し、その特徴量を予め用意された顔の特徴量と比較する。そして被写体検出部123は、両者の相関が所定の閾値を超える場合、その部分領域を顔領域であると判定する。この判定を、部分領域のサイズ、配置位置、配置角度の組み合わせを変更しながら繰り返すことにより、画像データ中に存在する種々の顔領域を検出することができる。
<オートズーム機能概要>
次に、オートズーム機能の概要と、オートズーム制御部122について説明する。本実施形態のデジタルカメラ100は、オートズーム機能を有する。オートズーム機能を搭載していないカメラでは、撮影者が望遠状態でフレーミングしてシャッタチャンスを待っている間に被写体が動いてフレームアウトした場合等において、以下の操作が必要である。
まず撮影者は、ズーム操作部材の操作によりズームアウトを行ってから被写体を探索する。被写体の探索後、撮影者は再び所望の画角になるまでズーム操作を行って画角を調整する。また、被写体が動いて被写体像の大きさが変わった場合等においても、撮影者はズーム操作部材を操作して被写体の大きさを調整する必要がある。
一方、オートズーム機能を搭載しているカメラでは、撮影者がオートズーム機能を設定した後、タッチパネル等で被写体を指定する操作を行うことで、撮影したい被写体を指定しておけばよい。オートズーム機能が設定されると、指定された被写体を画像の中央付近で所定のサイズに収めるように、自動でズーム動作が行われる。なお、被写体の指定方法としては、タッチパネル操作以外に、撮影者が特定のボタンを押下したときに画面中央付近にいる被写体を指定する方法や、カメラが検出した被写体の中から自動的に主被写体を選択する方法などがある。
被写体検出部123は、画像メモリ108から指定された被写体領域の画像データ上での位置や大きさを算出する。この処理を、ライブビューとして画像表示する毎に、サンプリングの画像データに対して連続的に行うことにより、被写体の動きを追尾することが可能となる。追尾している被写体が後述するズームアウト領域で検出された場合や、検出した被写体が所定の大きさよりも大きくなった場合、オートズーム制御部122はズームアウト動作を開始する。すなわち、オートズーム制御部122はCZ制御部119または電子ズーム制御部120に対して、広角方向へのズームアウトの指示を行う。被写体をズームイン領域内に検出し、かつ、被写体像が所定の大きさの範囲内に収まった場合には、望遠側へズームイン動作が行われる。このような処理により、撮影者はズーム操作を気にせず、所望の被写体を画面内に収めるようにカメラを動かすだけでよい。仮に、被写体がフレームアウトしそうになった場合でも、自動的にズーム倍率が変更されるため、より簡単に画角合わせを行うことができる。
次に、図4および図5を参照して、ズームアウト動作やズームイン動作の開始条件について説明する。図4は、被写体(人物)が画面外へフレームアウトすることを防止する処理を説明する図である。図5は、被写体(人物)の画面内におけるサイズを保つための処理を説明する図である。
図4において、枠400a〜fは被写体(人物の顔)を追尾する顔追尾枠である。本実施形態において、顔追尾枠を被写体追尾枠ということもある。被写体追尾枠は、撮影者が指定した被写体が分かるように、表示部109のEVF(電子ビューファインダ)画面上にて被写体を囲むように表示される。被写体追尾枠の画面上での位置及び大きさは、顔情報(及び色情報)に基づいて被写体検出部123が算出し、フレームレート周期で更新される。
図4(A)の左図において、EVFで表示される画角全体(画面全体)に対して所定の比率よりも外側の領域をズームアウト領域ZOとして示している。例えば、画面の中心点を0%、画面全体を100%とし、画面全体に対して80%となる位置をズームアウト領域ZOの境界として設定する場合を想定する。この場合、画面全体における80〜100%の領域がズームアウト領域ZOとなる。画像内のズームアウト領域ZOに顔追尾枠400aの一部が進入すると、オートズーム制御部122は、ズームアウト動作を開始するよう制御する。また、オートズーム制御部122は、変更前のズーム倍率(ズームイン画角に相当)をメモリ118に記憶する。ズームアウト動作中の目標ズーム倍率やズーム速度は、被写体のサイズや移動速度に応じて予め設定される。また、目標ズーム倍率やズーム速度を被写体のサイズや移動速度に応じて適宜算出してもよい。ズームアウト動作は、その目標ズーム倍率やズーム速度に従って実行される。これにより、被写体のフレームアウトを効果的に防止することができる。
図4(A)の右図は、図4(A)左図の画角から所定のズーム変化量分に相当するズームアウト動作が行われたときの画角を示している。図4(A)の右図では、被写体探索状態においてEVFで表示される画角全体(画面全体)に対して所定の比率よりも内側の領域をズームイン領域ZIとして示している。例えば、画面の中心点を0%、ズームイン画角を100%とし、ズームイン画角に対して70%となる位置をズームイン領域ZIの境界として設定する。この場合、ズームイン画角の全体における0〜70%の領域がズームイン領域ZIとなる。撮影者が、ズームイン領域ZIの内部に顔追尾枠400bが収まるようにカメラの向きを変更すると、オートズーム制御部122は、ズームイン動作を開始するよう制御する。
ここで、被写体の状態や性質に応じて、ズームアウト領域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は、ズームイン開始を判定し、ズーム戻り画角まで所定ズーム倍率分に対応するズームイン動作を行う。このようにズームアウト領域ZO及びズームイン領域ZIを設定することで、フレームアウトを効果的に防止することができる。
図4(B)は、同様の撮影シーンにおいて、グリップ下もしくはグリップ上の縦位置状態にカメラを構えたときに設定されるズームアウト領域ZO及びズームイン領域ZIを示している。この場合、縦位置の画面に対して垂直方向(長手方向)の縦帯状にズームアウト領域ZO及びズームイン領域ZIを配置する。この場合、顔追尾枠400cがズームアウト領域ZO内に進入すると、オートズーム制御部122は、ズームアウト開始を判定し、所定ズーム倍率分のズームアウト動作を行う。また、顔追尾枠400dがズームイン領域ZI内に包含されると、オートズーム制御部122は、ズームイン開始を判定し、ズーム戻り画角まで所定ズーム倍率分に対応するズームイン動作制御を行う。このようにズームアウト領域ZO及びズームイン領域ZIを設定することで、水平方向への被写体の動きを検出し、フレームアウトを効果的に防止することができる。
図4(C)は、揺れ検出部125での検出状態が固定状態のときに設定されるズームアウト領域ZO及びズームイン領域ZIを示している。固定状態とは、三脚等によってカメラが固定されている状態であり、手ぶれによるフレームアウトの恐れがない。さらに、画面の中央付近に被写体がフレームインしていないときにズームインすると、その動作によってフレームアウトしてしまう恐れがある。そこで、画面の周辺部全体にズームアウト領域ZOを、ズームイン画角よりも内側にズームイン領域ZIを設定する。この場合、顔追尾枠400eがズームアウト領域ZO内に進入すると、オートズーム制御部122は、ズームアウト開始を判定し、所定ズーム倍率分のズームアウト動作制御を行う。また、顔追尾枠400fがズームイン領域ZI内に包含されると、オートズーム制御部122は、ズームイン開始を判定し、ズーム戻り画角まで所定ズーム倍率分のズームイン動作を行う。
このように、カメラの姿勢や撮影状態(手持ち状態/固定状態)の変化に応じてズームアウト領域ZO及びズームイン領域ZIの各範囲を動的に変更する。これにより、手ぶれ等による誤作動を防止しながら、被写体のフレームアウトを効果的に防ぐことができる。なお、カメラの姿勢と撮影状態(手持ち状態/固定状態)のいずれか一方に応じてズームアウト領域ZO又はズームイン領域ZIの領域を変更するようにしてもよい。また、ズームアウト領域ZOとズームイン領域ZIの領域のいずれか一方のみを変更するようにしてもよい。
次に、被写体が画面に占める割合を所定の範囲内に保つためのズーム動作について説明する。本実施形態では、検出された被写体のサイズが基準サイズの所定倍より大きく変化した場合に自動でズーム動作を行うことで、被写体のサイズを基準サイズから所定の範囲内に保つように制御が行われる。
まず、図6を参照して、追尾対象とする被写体を画面内に収める範囲(構図)の設定について説明する。図6は被写体が人物の場合の構図設定の説明図である。図6(A)は、構図設定が「マニュアル」に設定されている場合の画面表示の例である。「マニュアル」設定時には、撮影者が画面内の人物を見ながらズームレバー操作でマニュアルズーム動作を行って追尾する顔の大きさを変更する。そのときの被写体サイズが基準サイズとしてメモリ118に記憶される。
図6(B)は構図設定が「顔」に設定されている場合の画面表示の例である。「顔」の構図設定時には、カメラの姿勢や顔の方向によって顔が画面に収まる大きさを基準サイズとして算出され、メモリ118に記憶される。同様に、図6(C)は構図設定が「上半身」に設定されている場合、図6(D)は構図設定が「全身」に設定されている場合の画面表示の例である。それぞれ画面上で設定された大きさとなるように基準サイズが算出されてメモリ118に記憶される。
図6(E)は構図設定が「オート」に設定されている場合の画面表示の例である。「オート」設定時には、オートズーム制御部122が、画面内での被写体位置や被写体サイズ、被写体数、カメラの姿勢等に基づき、適切な構図を判定する。さらに、オートズーム制御部122は、判定された構図となるように基準サイズを算出し、メモリ118に記憶する。基準サイズの算出方法については図11を用いて後述する。
撮影者は撮影画面から操作部117の左右ボタン操作や設定メニュー上での選択によって構図設定を変更することができる。構図設定の変更操作が行われると、オートズーム制御部122は、メモリ118に記憶されている構図設定の情報を更新する。なお、図6では被写体が人物の場合に「マニュアル」、「顔」、「上半身」、「全身」、「オート」の各構図となるように構図を設定する例を示したが、構図の設定はこれに限定されるものではない。例示した5つの構図の一部のみを設定したり、他の構図を含んでもよい。また、被写体が物体の場合には、例えば「マニュアル」、「大」、「中」、「小」、「オート」のように構図を設定するようにしてもよい。
被写体が画面に占める割合を所定の範囲内に保つためのズーム動作について、構図設定が「マニュアル」の場合を例に説明する。図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倍としている。
図4では、被写体が人物である場合にフレームアウトを防止する処理について説明した。また、図5では、被写体が人物である場合に、画面に占める被写体の大きさの比率を所定の範囲内に収める処理について説明した。なお、追尾対象とする被写体が物体の場合においても、被写体が人物の場合と同様に、図5で示した被写体サイズ保持制御のためのズーム動作開始判定を行ってもよい。また、構図設定が「マニュアル」以外の場合においても、それぞれの基準サイズに応じて、図5と同様に自動的にズーム動作が行われる。
<オートズーム機能処理例>
次に、図7を用いて、オートズーム機能の処理について説明する。図7は、オートズーム機能の全体の処理の例を示すフローチャートである。図7のオートズーム機能は、特に記載がない限り、システム制御部114(オートズーム制御部122)の指令に基づいて行われるものとする。
まずステップS700において、オートズーム制御部122は、操作部117のオートズーム操作スイッチが押下状態を判定する。オートズーム操作スイッチが押下された場合、ステップS701に進み、当該スイッチが押下されない場合にはステップS700の判定処理が繰り返される。
オートズーム機能が開始された直後、または、操作部117の被写体探索ボタンが押下された場合(ステップS705でyes)に、ステップS701の制御が実行される。ステップS701では、オートズーム制御部122は、焦点距離の初期値に向けてズーム制御を行う。
例えば、レンズ鏡筒101の最短焦点距離が短い広角レンズであり、ステップS701の時点でズーム位置が広角端である場合を想定する。自分撮りで撮影者の上半身が大きく写った構図で撮影したいときには、通常、撮影者自身がズームレバーを望遠側へ操作するか、デジタルカメラ100を顔の近くまで近づける必要がある。しかしながら、撮影者自身がズームレバー操作を行うことは、撮影者にとって煩わしく感じる恐れがある。また、デジタルカメラ100を顔に近づけると、表示部109を視認しながらの画角の設定がしづらくなる恐れがある。一方、ステップS701でオートズーム機能が開始された際、すでに焦点距離が望遠側に設定されていた場合、撮影者の顔が画角に収まらず、被写体検出部123における顔の検出が困難な状況である恐れがある。
そこで、ステップS701では、画角設定が行いやすく、被写体検出部123における顔の検出が行いやすい焦点距離の初期値を目標位置とするズーム制御を行う。また、自分撮り検出部126により自分撮りであることが判定されている場合には、自分撮り用の初期値に設定してもよい。例えば、撮影者が自然に手を前に伸ばしてデジタルカメラ100を構えた際に、撮影者の上半身が収まるような焦点距離として、35mm判換算で40mmを自分撮りの初期値として設定する。なお、焦点距離の初期値は、この値に限定されるものではない。
ステップS702では、オートズーム制御を行う対象となる主要な被写体の判定を行う。具体的には、まず、前述のとおり、被写体検出部123において画角内の顔を検出する。この時、顔は複数検出される場合がある。自分撮りの場合には、撮影者を主要な被写体と判定することが望ましいため、検出された顔の中から撮影者の顔を判定してもよい。撮影者の顔を判定する手段は、例えば、公知の顔認証技術によって、予め登録した撮影者自身の顔と特徴が似ている顔を探索する方法や、最も顔のサイズが大きい顔を撮影者と判断する方法を用いてもよい。なお、後述するようにオートズームの対象とする被写体を変更する操作が行われた場合は、主被写体を別の被写体に切り替える。
ステップS703では、追尾する被写体の大きさを基準サイズとして設定する。ここで、図11乃至図17を参照して、ステップS703における基準サイズ設定処理について説明する。
図11は被写体が人物である場合の基準サイズの設定処理例を示すフローチャートである。まずステップS1100で、オートズーム制御部122は、メモリ118に記憶されている構図設定が上述した「マニュアル」であるか否かの判定と、自分撮りで撮影SW127が半押しであるか否かの判定を行う。構図設定が「マニュアル」である場合、または、自分撮りで撮影SW127が半押しである場合にはステップS1101に進み、「マニュアル」以外、かつ、自分撮りで撮影SW127が半押しでない場合にはステップS1103に進む。
ステップS1101で、オートズーム制御部122は、被写体検出部123にて、顔が検出されるか否かを判定する。被写体が検出されるまでこの判定を繰り返し、検出された場合にはステップS1102に進む。
ステップS1102で、オートズーム制御部122は、検出した被写体の大きさを基準サイズとしてメモリ118に記憶して処理を終了する。この処理は、構図設定が「マニュアル」に設定された場合、または自分撮りで撮影SW127が半押し中となった場合の初回のみ実行される。
一方、ステップS1103で、オートズーム制御部122は、姿勢検出部124によって判定されたカメラの姿勢情報に基づいて画面サイズを算出する。この画面サイズは、後述のステップS1111、ステップS1604、ステップS1605、ステップS1612、ステップS1613にて基準サイズの算出に用いられる。
ここで、図12を用いて、画面サイズの算出処理について説明する。本実施形態では、静止画の画面サイズを長辺×短辺=640×480、動画の画面サイズを長辺×短辺=640×360である場合の例を示すが、画面サイズはこれに限定されるものではない。
図12は、画面サイズの算出処理例を示すフローチャートである。ステップS1200では、姿勢検出部124による検出情報に基づいて、カメラが正位置に構えられているか縦位置に構えられているかを判定する。正位置に構えられていると判定された場合にはステップS1201に、縦位置に構えられていると判定された場合にはステップS1206に進む。
ステップS1201で、カメラが正位置に構えられている場合、オートズーム制御部122は、長辺サイズである640を水平方向の画面サイズに設定し、S1202へ進む。ステップS1202では、オートズーム制御部122は、静止画と動画とを同時に撮影できるモード(静止画/動画同時撮影モード)であるか否かを判定する。静止画/動画同時撮影モードとは、動画を撮影している間に操作部117のレリーズスイッチを押下することで静止画も同時に撮影可能で、静止画撮影直前のフレーミング操作の様子を動画として自動的に記録可能なモードのことである。ステップS1202で静止画/動画同時撮影モードであると判定された場合は、動画の短辺サイズと静止画の短辺サイズとを比較し、より小さいサイズを垂直画面サイズとする処理が行われる。これは、小さい画面サイズに合わせてオートズームを行うことで、静止画と動画のいずれの画角でも被写体が画面からフレームアウトすることを防止するためである。したがって、本実施形態では静止画/動画同時撮影モードである場合はステップS1204に進み、オートズーム制御部122は、動画の短辺サイズである360を垂直画面サイズとして設定する。
一方、ステップS1202で静止画/動画同時撮影モードでないと判定された場合は、ステップS1203へ進む。ステップS1203では、オートズーム制御部122は、動画記録中であるか静止画フレーミング中であるかを判定する。動画記録中であると判定された場合にはステップS1204に進み、オートズーム制御部122は、動画の短辺サイズである360を垂直画面サイズとして設定する。静止画フレーミング中であると判定された場合にはステップS1205に進み、オートズーム制御部122は、静止画の短辺サイズである480を垂直画面サイズとして設定する。
一方、ステップS1200においてカメラが縦位置に構えられていると判定された場合には、ステップS1206に進む。ステップS1206乃至ステップS1210の処理は、ステップS1201乃至ステップS1205の処理に対して「水平画面サイズ」と「垂直画面サイズ」の設定を入れ替えた処理であるため、説明を省略する。本実施形態では静止画の画面サイズが4:3、静止画の画面サイズが16:9の例を示したが、アスペクト比の設定に応じて画面サイズを変更してもよい。それによってアスペクト比に依らず、画面に対して人物が占める割合を一定とすることが可能である。また、静止画/動画同時撮影モードとして、静止画と動画で画面サイズが異なる例を示したが、異なる画面サイズの複数の静止画や動画を同時に撮影する形態であってもよい。
図11のステップS1103にて画面サイズを決定すると、ステップS1104に進む。メモリ118に記憶されている構図設定が「顔」、「上半身」、「全身」のいずれかである場合、ステップS1104乃至S1109で、オートズーム制御部122は、構図設定に応じて画面に占める顔のサイズの比率(顔比率)を決定する。本実施形態の顔比率は、画面に対する顔追尾枠の垂直方向における長さの比率を示すが、水平方向における長さの比率や、面積比などで示してもよい。例えば、構図設定が「顔」である場合(ステップS1104がyes)、顔比率が27%に設定される(ステップS1107)。構図設定が「上半身」である場合(ステップS1105がyes)、顔比率が16%に設定される(ステップS1108)。構図設定が「全身」である場合(ステップS1106がyes)、顔比率が7%に設定される(ステップS1109)。ステップS1104乃至S1109で顔比率が決定されると、ステップS1110に進む。
ステップS1110で、オートズーム制御部122は、ステップS1104乃至S1109で決定した顔比率と、ステップS1103で算出した垂直画面サイズとを積算することで基準サイズを算出する。これは、立っている人物の被写体を前提として、垂直方向の画面サイズに対する顔比率から基準サイズを算出する方法である。被写体検出部123により顔の方向が判定できる場合には、画面上での顔の上下方向に基づいて画面サイズの方向を決定してもよい。さらに、算出した基準サイズをメモリ118に記憶すると基準サイズ設定の処理を終了する。これによって、構図設定が「顔」、「上半身」、「全身」のいずれかである場合には、画面サイズに対して構図設定に応じた所定の顔比率となるサイズが基準サイズとして設定される。
ステップS1106にて構図設定が「全身」でない、すなわち、構図設定が「オート」であると判定された場合にはステップS1111に進む。ステップS1111で、オートズーム制御部122は、撮影状態や被写体の数、被写体の動き等に応じて適切な構図を自動で判定する。
図13を参照して、ステップS1111の構図設定「オート」での自動構図判定処理について説明する。構図設定「オート」は、撮影シーンを判別して適切な構図をカメラが自動で選択することによって、構図合わせをさらに簡単に行うことができるモードである。
図13は、本実施形態にて自動で選択される構図の遷移図を示している。本実施形態においては、上半身1300、全身1301、顔1302、複数人1303、マニュアル1304の5種類の構図の中から、撮影シーンに応じて適切な構図を選択する処理が行われる。構図合わせの操作において、静止画撮影時には、撮影前に瞬時に被写体を適切な大きさとする必要がある。一方、動画撮影時には、動いている被写体を追い続けたり、静止した被写体に寄ったりする等、撮影している間は常に被写体を適切な大きさとする必要がある。また、動画撮影時には構図の変更によるズームイン動作時やズームアウト動作時の画像データも記録されるため、適切なタイミングで構図を変更することで効果的な映像を撮影することができる。このように、静止画と動画とで適切な構図が異なる。
そこで、本実施形態においては、静止画フレーミング中1305と動画記録中1306とで、動作状態によって選択する構図を変更する処理を行う。本実施形態においては、静止画フレーミング中1305には、上半身1300、全身1301、複数人1303からいずれかの構図が選択される。また、動画記録中1306には、上半身1300、全身1301、顔1302からいずれかの構図が選択される。つまり、上半身1300、全身1301の各構図はいずれの撮影状態においても選択可能であって、複数人1303の構図は静止画フレーミング中1305のみ、顔1302の構図は動画記録中1306のみ選択可能である。なお、3以上の動作状態を設け、各動作状態に対応する構図の選択候補をそれぞれ設定してもよい。例えば、自分撮り検出部126によって自分撮りであることが検出されている場合に、静止画フレーミング中でも「顔」の構図を選択可能としたり、構図が遷移する条件を自分撮りでない場合と異ならせてもよい。
ここで、撮影シーンの判定条件と、各構図の遷移について説明する。構図設定「オート」の自動構図判定処理S1111が開始されると、初期状態の構図として上半身1300が設定される。上半身1300の構図は、静止画フレーミング中1305もしくは動画記録中1306に、静止している単数の被写体を撮影するシーンであると判定された場合に選択される構図である。このようなシーンでは、被写体の上半身を画面内に収める構図とすることで適度に被写体に寄った構図とすることができる。
上半身1300の構図で、撮影対象の被写体の動きを検出した場合、または、カメラから被写体までの距離が所定距離D1よりも大きいと判定された場合には、構図が全身1301に変更される。全身1301の構図は、静止画フレーミング中1305もしくは動画記録中1306に、動いている被写体や遠くの被写体、すなわち、被写体が画面からフレームアウトしやすい被写体を撮影するシーンであると判定された場合に選択される構図である。このようなシーンでは、被写体の全身を収める構図で被写体を追うことで、できるだけ画面から被写体がフレームアウトしないようにする。さらに、全身1301の構図で、撮影対象の被写体が所定時間静止したことが検出され、かつ、カメラから被写体までの距離が所定距離D2よりも小さいと判定された場合には、構図を上半身1300に戻す処理が行われる。所定時間とは予め設定される判定用の基準時間である。
ここで、被写体の動きや静止の判定方法について説明する。被写体検出部123が検出した被写体の位置やサイズの変化量、または、被写体を検出している状態で揺れ検出部125が検出した揺れ量のうち、少なくとも一つが所定量よりも大きい場合には、撮影対象の被写体が動いていると判定される。被写体検出部123が検出した被写体の位置やサイズの変化量、および、被写体を検出している状態で揺れ検出部125が検出した揺れ量の全てが所定量よりも小さい状態が所定時間以上続いた場合には、撮影対象の被写体が静止していると判定される。検出状態の継続時間については、計時用タイマで計測されるものとする。
さらに、カメラから被写体までの距離の算出方法について説明する。まず、基準とする焦点距離と、被写体サイズに対する被写体距離を予め計測しておき、メモリ118に記憶しておく。メモリ118に記憶された基準値に対して、被写体距離=(基準被写体距離×焦点距離×基準被写体サイズ)/(基準焦点距離×検出サイズ)という演算を行うことで被写体距離が算出される。例えば、基準値が基準被写体距離2m、基準焦点距離24mm、基準被写体サイズ20pix(ピクセル)である場合に、焦点距離120mmで検出サイズ40pixの被写体を検出した場合を想定する。このときの被写体距離は、(2m×120mm×20pix)/(24mm×40pix)=5mと推定される。
次に、画面内に複数人の被写体を検出した場合の構図について説明する。静止画フレーミング中1305の上半身1300または全身1301の構図で、画面内に複数人の被写体が検出された場合には、構図を複数人1303に変更する処理が行われる。また、このとき検出された被写体の数は、メモリ118に記憶される。複数人1303の構図は、静止画フレーミング中1305に、複数の全ての被写体を所定の画角に収める集合写真の撮影シーンであると判定された場合に選択される構図である。複数人1303の構図の状態では、検出された被写体の数が変化したか否かの判定が行われる。検出された被写体の数が増加した場合には、新しい被写体が画面に入ってきたと考えられるため、即座にメモリ118に記憶した被写体の数が更新され、構図の変更が行われる。一方、検出された被写体の数が減少した場合には、被写体が横を向くなどして一時的に検出できない状態である可能性がある。そのため、即座に構図を変更すると検出できなくなった被写体がフレームアウトしてしまう恐れがある。そこで、被写体の数が減少した場合には、その状態が所定時間以上継続した場合に、メモリ118に記憶される被写体の数を更新し、構図が変更される。さらに、被写体が一人になった場合には、構図を上半身1300に戻す処理が行われる。
動画記録中1306には、全ての被写体を画角に収めるような構図とすると、撮影対象以外の被写体が動きまわっている場合に、その被写体に反応してズームが誤作動してしまう恐れがある。そこで、動画記録中1306に複数人の被写体が検出された場合でも、主被写体のみを撮影対象として、構図を上半身1300または全身1301のままに維持する。
動画記録中1306での上半身1300の構図で、画面の中心付近にて顔が所定時間以上検出された場合には、構図を顔1302に変更する処理が行われる。顔1302の構図は、動画記録中1306に、撮影者が被写体の顔に注目しているシーンであると判定された場合に選択される構図である。このようなシーンでは、上半身よりもさらに顔に寄った構図とすることで、注目する被写体の顔をより大きなサイズで撮影することができる。また、この構図変更によるズームイン動作中に、ズーム速度を通常の速度よりも著しく低速もしくは高速にすることで、さらに効果的な映像を撮影することができる。さらに、顔1302の構図で、画面の周辺付近にて顔が所定時間以上検出された場合、または、撮影者がフレーミングを変更したと判定された場合には、構図を上半身1300に戻す処理が行われる。フレーミング変更の判定方法としては、被写体検出部123が被写体を検出していない状態で揺れ検出部125にて検出された揺れ量が所定量よりも大きい場合に、フレーミングを変更したと判定される。
静止画フレーミング中1305に撮影者は、撮影対象の顔の向きや表情が所望の状態となるまで同じ構図でシャッタチャンスを待ち続ける場合がある。そのような場合に、顔に寄った構図とすると撮影者の意図とは違う構図となる可能性がある。したがって、静止画フレーミング中1305の上半身1300の構図で、画面の中心付近にて顔が所定時間以上検出されたとしても、上半身1300の構図が維持される。
次に、動画記録の開始/終了によって撮影状態を変更する場合の構図について説明する。上半身1300および全身1301の各構図は、静止画フレーミング中1305や動画記録中1306のいずれの場合でも選択可能な構図である。したがって、それらの構図では撮影状態を変更しても元の構図が維持される。一方、複数人1303や顔1302の構図は、静止画フレーミング中1305や動画記録中1306のいずれかの場合にのみ選択される構図である。そこで、静止画フレーミング中1305に複数人1303の構図で動画記録が開始された場合や、動画記録中1306に顔1302の構図で動画記録が終了された場合に、共通の構図である上半身1300に変更することが考えられる。しかしながら、この場合、動画記録の開始や終了と共にズームの動き出すことで、動画の始めにズーム動作中の画像が記録されたり、静止画のフレーミングで撮影者が煩わしく感じたりする恐れがある。そこで、そのような状態で撮影状態が変更された場合には、構図を一時的にマニュアル1304に変更する。マニュアル1304は、構図変更後に最初に検出した主被写体の大きさを基準サイズとする構図である。したがって、撮影状態を変更しただけでズーム動作が開始することがなく、撮影者に違和感を与えない。また、被写体が動き出した場合であっても、画面内における被写体の大きさを維持することができる。さらに、マニュアル1304の構図で所定時間が経過すると、構図を上半身1300に戻す処理が行われる。
以上のように図11のS1111では、構図設定が「オート」である場合に、オートズーム制御部122は、撮影状態や被写体の数、被写体の動き等に応じて適切な構図を自動で判定する。判定された構図がメモリ118に記憶されると、ステップS1112に進む。
ステップS1112では、オートズーム制御部122は、ステップS1111にて判定された構図が直前の構図に対して変更された(図13で選択された構図が遷移した、または、複数人1303の状態で被写体数が変化した)か否かを判定する。構図が変更されている場合にはステップS1113に進み、オートズーム制御部122は、選択された構図がマニュアル1304であるか否かを判定する。選択された構図がマニュアル1304である場合には、ステップS1101に進み、オートズーム制御部122は、最初に検出された被写体の大きさを基準サイズとしてメモリ118に記憶する。選択された構図がマニュアル1304でない場合には、ステップS1115に進み、オートズーム制御部122は、構図設定「オート」における基準サイズを算出する。構図設定「オート」における基準サイズの算出方法の詳細については後述する。
ステップS1112で構図が変更されていないと判定された場合には、ステップS1114に進む。ステップS1114では、オートズーム制御部122は、被写体が画面内で移動したか否かを判定する。画面内での被写体の移動量の算出方法として、ステップS1115で基準サイズを設定した後、その基準サイズとなる画角までズーム動作を行った直後の顔追尾枠の中心位置をメモリ118に記憶する。そして、メモリ118に記憶された位置から、検出された顔追尾枠の中心位置までを移動量として算出する。また、所定の周期ごとに顔追尾枠の中心位置を加算して画面内での移動量を算出してもよい。算出された移動量が所定量以上となった場合に、被写体が移動したと判定される。ここでの所定量としては、検出された顔追尾枠のサイズで正規化する(顔追尾枠のサイズの所定倍とする)ことで、画面内での被写体の大きさに依らず実際の被写体の移動量を同程度とすることができる。ステップS1114で、被写体が画面内で移動していると判定された場合にはステップS1115に進み、構図設定「オート」における基準サイズを算出する。被写体が画面内で移動していないと判定された場合には、基準サイズを更新することなく、基準サイズの設定処理を終了する。
ここで、図14乃至図17を参照して、構図設定「オート」における基準サイズの算出処理について説明する。撮影者によって構図設定が「顔」、「上半身」、「全身」のいずれかに選択されている場合には、図11のステップS1110において画面サイズに対して顔が一定の比率となるように、基準サイズが算出される。この方法では、画面上の被写体の位置によらず同じ基準サイズが算出される。そのため、被写体が画面の周辺にいる場合に被写体が大きくなる(ズームインする)ように構図を変更すると、被写体がフレームアウトしてしまう恐れがある。この方法で基準サイズを算出する場合には、撮影者が被写体を画面の中央付近にフレーミングしている必要がある。したがって、被写体を画面中央からずらして背景と一緒に撮影する場合等には適していない。また、被写体が複数である場合には別の方法で基準サイズを算出する必要がある。そこで、構図設定が「オート」の場合には、ステップS1111で判定された構図に基づいて被写体の大きさを決定するとともに、検出した被写体の位置によらず被写体が画面内に収まるように基準サイズを算出する処理が行われる。
図14は、複数の被写体のうち最も画面周辺にいる被写体の位置と、画面サイズとの関係を示す図である。図14(A)および(B)は静止画フレーミング中の画面例を示し、図14(C)は動画記録中の画面例を示しており、複数人の被写体を例示する。また、図15は構図設定「オート」における基準サイズの算出処理の全体を示すフローチャートである。
まずステップS1500にて、オートズーム制御部122は、水平方向の被写体位置比率Rhを算出する。水平方向の被写体位置比率Rhとは、水平方向の画面サイズの所定の割合に対して、画面中央から最も周辺にいる被写体の肩部付近の水平位置(以下、肩位置)Xsmaxまでの距離×2が占める割合である。所定の割合は、後述するステップS1603で判定される水平方向の並び人数に応じて変更され、例えば水平方向の画面サイズの80%または90%に設定される。
ここで、水平方向の被写体位置比率Rhの算出処理について説明する。図16(A)は、水平方向の被写体位置比率Rhの算出処理を示すフローチャートである。
ステップS1600では、オートズーム制御部122は、被写体の顔追尾枠の中心位置やサイズに基づき、被写体の肩位置Xsを推定する。画面中央を原点(0,0)として、顔追尾枠の中心位置を(Xc,Yc)、顔追尾枠のサイズをSとすると、Xs=|Xc|+S×Nsにより、画面周辺側の肩位置Xsを推定することができる。Nsは、顔追尾枠の中心位置から肩位置までの距離に占める顔追尾枠の個数である。
図17にNsの設定例を示す。Nsの値は、ステップS1111で判定された構図にしたがって変更される。例えば、顔1302の構図の場合にはNs=1(この場合は肩位置ではなく耳付近の水平位置)が設定され、それ以外の構図の場合にはNs=2が設定される。被写体の肩位置Xsが算出されるとステップS1601に進む。
ステップS1601では、オートズーム制御部122は、メモリ118に肩位置の最大値Xsmaxが記憶されていない場合に、ステップS1600で算出した肩位置Xsを最大肩位置Xsmaxとして記憶する。最大肩位置Xsmaxが記憶されている場合には、ステップS1600で算出した肩位置Xsと最大肩位置Xsmaxとを比較し、肩位置Xsが最大肩位置Xsmaxよりも大きい場合にはメモリ118の最大肩位置Xsmaxを肩位置Xsに更新する。最大肩位置を更新すると、ステップS1602に進む。
ステップS1602では、オートズーム制御部122は、全ての被写体に対して肩位置Xsを算出して最大肩位置Xsmaxの更新が終了されたか否かを判定する。最大肩位置Xsmaxの更新が終了していない場合にはステップS1600に戻り、全ての被写体に対して最大肩位置Xsmaxの判定が終了するまで処理を繰り返す。全ての被写体に対して最大肩位置Xsmaxの更新が終了した場合には、ステップS1603に進む。
ステップS1603では、オートズーム制御部122は、水平方向に被写体が並んでいる人数(水平並び人数)の判定を行う。これは、集合写真のように被写体が多い場合には、画面一杯に被写体が入る構図とし、被写体が少ない場合には、画面周辺に余白を残した構図とすることを目的とする。また、水平方向の並び人数のカウント方法としては、垂直方向(画面上下)に顔追尾枠が重なっている場合には、重なっている被写体を合わせて一人としてカウントする。例えば、画面内に4人の人物被写体が検出された場合でも、そのうちの2人の顔追尾枠が画面上下に重なっている場合には、3人としてカウントされる。ステップS1603にて水平方向の並び人数が2人以下と判定された場合にはステップS1604に進み、3人以上と判定された場合にはステップS1605に進む。
ステップS1604およびステップS1605では、オートズーム制御部122は、水平方向の被写体位置比率Rhを算出する。水平方向の並び人数が2人以下の場合(ステップS1804)には、水平方向被写体位置比率Rhは、水平画面サイズの80%に対する最大肩位置Xsmax×2の比率として算出される。また、水平方向の並び人数が3人以上の場合(ステップS1805)には、水平方向被写体位置比率Rhは、水平画面サイズの90%に対する最大肩位置Xsmax×2の比率を算出として算出される。水平方向被写体位置比率Rhが算出されると、処理を終了する。
図15に戻り、ステップS1501にて、オートズーム制御部122は、垂直方向の被写体位置比率Rvを算出する。垂直方向の被写体位置比率Rvとは、垂直方向の画面サイズの所定の割合に対して、画面中央から最も周辺の被写体の頭部の垂直位置(頭位置)Yhmax、または身体部の垂直位置(身体位置)Ybmixまでの距離×2が占める割合である。所定の割合は、例えば垂直方向の画面サイズの90%に設定される。
ここで、垂直方向の被写体位置比率Rvの算出処理について説明する。図16(B)は、垂直方向の被写体位置比率Rvの算出処理を示すフローチャートである。
ステップS1606では、オートズーム制御部122は、被写体の顔追尾枠の中心位置やサイズに基づき、被写体の頭位置Yhを推定する。Yh=Yc+S×Nhにより、頭位置Yhを推定することができる。Nhは、顔追尾枠の中心位置から頭位置までの距離に占める顔追尾枠の個数である。図17にNhの設定例を示す。Nhの値については、ステップS1111で判定された構図によらず、Nh=1.5が設定される。被写体の頭位置Yhを算出するとステップS1607に進む。
ステップS1607では、オートズーム制御部122は、メモリ118に頭位置の最大値Yhmaxが記憶されていない場合に、ステップS1606で算出した頭位置Yhを最大頭位置Yhmaxとして記憶する。最大頭位置Yhmaxが記憶されている場合には、ステップS1606で算出した頭位置Yhと最大頭位置Yhmaxとを比較し、頭位置Yhが最大頭位置Yhmaxよりも大きい場合にはメモリ118の最大頭位置Yhmaxを頭位置Yhに更新する。最大肩位置を更新すると、ステップS1608に進む。
ステップS1608では、オートズーム制御部122は、被写体の顔追尾枠の中心位置やサイズに基づいて、被写体の身体位置Ybを推定する。Yb=Yc−S×Nbにより、身体位置Ybを推定することができる。Nbは、顔追尾枠の中心位置から身体位置までの距離に占める顔追尾枠の個数である。図17にNbの設定例を示す。Nbの値は、ステップS1111で判定された構図によって変更される。図17の例では、構図が顔1302の場合にはNb=1.5、上半身1300の場合にはNb=5、全身1301の場合にはNb=10、複数人1303の場合にはNb=3.5が設定される。この設定は、各構図において顔1302では胸、上半身1300では腰下、全身1301では足、複数人1303では腰上付近の位置となる設定としている。被写体の身体位置Ybを算出するとステップS1609に進む。
ステップS1609では、オートズーム制御部122は、メモリ118に身体位置の最小値Ybminが記憶されていない場合には、ステップS1608で算出した身体位置Ybを最小身体位置Ybminとして記憶する。最小身体位置Ybminが記憶されている場合には、ステップS1608で算出した身体位置Ybと最小身体位置Ybmaxとを比較する。そして、身体位置Ybが最小身体位置Ybmaxよりも小さい場合にはメモリ118の最小身体位置Ybminを身体位置Ybに更新する。最小身体位置を更新すると、ステップS1610に進む。
ステップS1610では、オートズーム制御部122は、全ての被写体に対して頭位置Yhおよび身体位置Ybを算出して最大頭位置Yhmaxおよび最小身体位置Ybminの更新が終了されたか否かを判定する。最大頭位置Yhmaxおよび最小身体位置Ybminの更新が終了していない場合にはステップS1606に戻り、全ての被写体に対して最大頭位置Yhmaxおよび最小身体位置Ybminの判定が終了するまで処理を繰り返す。全ての被写体に対して最大頭位置Yhmaxおよび最小身体位置Ybminの更新が終了した場合には、ステップS1611に進む。
ステップS1611では、オートズーム制御部122は、最大頭位置Yhmaxと最小身体位置Ybminの絶対値を比較し、どちらがより画面周辺に位置するかを判定する。最大頭位置Yhmaxの方がより画面周辺に位置すると判定された場合には、ステップS1612に進み、最小身体位置Ybminの方がより画面周辺に位置すると判定された場合には、ステップS1613に進む。
ステップS1612およびステップS1613では、オートズーム制御部122は、垂直方向の被写体位置比率Rvを算出する。垂直方向被写体位置比率Rvは、垂直画面サイズの90%に対する最大頭位置Yhmaxもしくは最小身体位置Ybminの絶対値×2の比率として算出される。垂直方向被写体位置比率Rvが算出されると、処理を終了する。
続いて図15のステップS1502にて、オートズーム制御部122は、水平方向の被写体位置比率Rhと垂直方向の被写体位置比率Rvとを比較する。これによって、各方向の画面サイズの所定比率に対して、画面中央から最大肩位置Xsmax、最大頭位置Yhmax、最小身体位置Ybminまでの距離の比率のうち、最も比率が大きい位置、すなわち、最も画面周辺となる位置を判定することができる。水平方向の被写体位置比率Rhが垂直方向の被写体位置比率Rvより大きい(水平方向の被写体位置比率Rhの方が画面周辺に位置する)と判定された場合は、ステップS1503に進む。一方、水平方向の被写体位置比率Rhが垂直方向の被写体位置比率Rv以下である(垂直方向の被写体位置比率Rvの方が画面周辺に位置する)と判定された場合には、ステップS1504に進む。
ステップS1503およびステップS1504では、オートズーム制御部122は、主被写体の検出サイズと、ステップS1502で判定した最も画面周辺となる被写体位置の比率に基づいて、基準サイズを算出する。ステップS1503において、基準サイズは、検出サイズ/水平方向被写体位置比率Rhによって算出される。また、ステップS1504において、基準サイズは、検出サイズ/垂直方向被写体位置比率Rvによって算出される。すなわち、主被写体のサイズを1/水平方向被写体位置比率Rh倍、あるいは、1/垂直方向被写体位置比率Rv倍となるようにズーム動作が行われる。これにより、画面内の被写体をフレームアウトさせることなく、ステップS1111で判定された構図に基づく画角に設定することができる。
以上説明したように、図11のステップS1115では、構図設定が「オート」の場合、ステップS1111で判定された構図に基づいて水平方向および垂直方向で最も画面周辺となる被写体位置を判定し、その位置が画面に収まるように基準サイズを算出する。これにより、被写体が画面内のどの位置であっても、フレームアウトさせることなく被写体を適切な画角に収めることが可能となる。また、被写体が一人であっても複数人であっても、同じ処理によって基準サイズを算出することが可能となる。本実施形態では、立っている人物を前提として、基準サイズを算出する画面サイズの方向を決定したが、被写体検出部123で顔の方向が判定できる場合には、画面上での顔の上下方向に基づいて画面サイズの方向を決定してもよい。また、上記の説明では、被写体が人物である場合の構図判定や基準サイズ算出の例を示したが、被写体が物体であってもよい。この場合、選択される構図は「顔」、「上半身」、「全身」、「複数人」の代わりに、「大」、「中」、「小」、「複数」とする。そして、それらに応じて被写体位置を推定するモノ追尾枠の個数(人物の場合のNs、Nh、Nbに相当)を設定してもよい。
図11に示される基準サイズ設定処理を終了すると、図7のステップS704に進む。ステップS704では、オートズーム制御部122は、被写体検出部123で検出された被写体情報やメモリ118に記憶された基準サイズに基づいてオートズーム制御を行う。オートズーム制御については、図18を用いて後述する。
オートズーム制御の処理が終了すると、ステップS705に進む。ステップS705では、オートズーム制御部122は、撮影者が操作部117の被写体探索ボタンが押下されたか否かを判定する。被写体探索ボタンが押下された場合には、ステップS701に戻り、被写体探索処理を行う。被写体探索ボタンが押下されてない場合には、ステップS706に進む。
ステップS706では、オートズーム制御部122は、操作部117のタッチパネルや被写体指定用スイッチ等の操作によってオートズームの対象とする被写体が変更されたか否かを判定する。被写体が変更された場合には、ステップS702に戻って主被写体判定処理を行う。被写体が変更されていない場合には、ステップS707に進む。
ステップS707では、オートズーム制御部122は、撮影画面から操作部117の左右ボタンの操作によって構図設定が変更されたか否かを判定する。構図設定が変更された場合には、オートズーム制御部122は、メモリ118に記憶されている構図設定を更新した後、ステップS703に戻って基準サイズ設定を行う。構図設定が変更されていない場合には、ステップS708に進む。
ステップS708では、オートズーム制御部122は、操作部117のオートズーム操作スイッチが押下されたか否かを判定する。オートズーム操作スイッチが押下されたと判定されると、オートズーム機能を終了する。一方、オートズーム操作スイッチが押下されていないと判定されると、ステップS709に進む。
ステップS709では、オートズーム制御部122は、撮影SW127が半押しされている最中であるかどうかを判定する。撮影SW127が半押し中であればステップS711に進み、半押し中でなければステップS710に進む。
ステップS710では、オートズーム制御部122は、メモリ118に記憶されている構図設定が「オート」であるか否かの判定を行う。構図設定が「オート」である場合には、ステップS703に戻って自動構図判定を含む基準サイズの設定処理を行う。構図設定が「オート」以外である場合には、ステップS704に戻ってオートズーム制御を継続する。
一方、ステップS709で撮影SW127が半押し中であると判定された場合は、ステップS711に進み、オートズーム制御部122は、自分撮り検出部126によって自分撮りであることが検出されているか否かを判定する。自分撮りでない場合にはステップS709へ進み、撮影SW127の半押しが解除されるまでオートズーム制御を行わないようにする。これは、撮影SW127の半押しに応じてAFやAEが行われるため、オートズーム(ここでは光学ズーム)によって適切なピントや露出が変化するのを防ぐためである。一方、ステップS711で自分撮りと判定された場合にはステップS712に進む。
ステップS712では、オートズーム制御部122は、自分撮りで撮影SW127が半押しされてから初回の処理であるか否かを判定する。初回の処理であればステップS703に戻り、基準サイズの設定が行われる。前述したように、本実施形態では、自分撮りの場合に撮影SW127の半押し直後に検出された被写体のサイズに基づいて、基準サイズが設定される。ステップS712で初回の処理でなければ、ステップS704に戻ってオートズーム制御を継続する。この場合、撮影SW127の半押し直後に決定された基準サイズに基づいたオートズーム制御が継続される。
ここで、自分撮りシーンにおいて前述したような処理を行う理由について説明する。図8を用いて前述したように、自分撮りの際には、撮影者の撮影準備が完了して撮影SW127が半押しされたときから撮影までの間に、手振れ等によって意図しない構図の変動が起きる可能性がある。また、視線がカメラ方向に合った画像を撮影するために、撮影者が表示部109から視線を外したまま撮影が行われることが想定される。このような場合に撮影SW127が半押しされた状態でオートズーム制御を停止させると、構図のズレに気付かないまま撮影が行われ、撮影者の所望の構図で撮影ができない恐れがある。
そこで、本実施形態では、図7で説明したように、自分撮りの場合には撮影SW127が半押しされている間もオートズーム制御を実行する。これにより、撮影SW127が半押しされてから撮影までの間に手振れ等が発生した場合の構図の変動を防ぐことができる。なお、撮影SW127が半押しされている間に光学ズームが行われた場合には、AFやAEを再度行うことが好ましい。
また、自分撮りで撮影SW127の半押し中にオートズーム制御を行う際は、撮影SW127が半押しされたときに検出された被写体のサイズを基準サイズとする。これは、撮影者が所望の構図に調整したことを確認して撮影準備指示を行う(撮影SW127を半押しする)ことを考慮して、撮影SW127が半押しされた時点の構図を維持するためである。撮影SW127が半押しされた時点で検出される被写体サイズを基準サイズとすることで、撮影SW127の半押し中に実行されるオートズーム制御において、撮影者の意図した構図を維持することができる。
次に、図18を参照して、図7のステップS704で実行されるオートズーム制御処理について説明する。図18は、本実施形態におけるオートズーム制御処理を示すフローチャートである。
まず、ステップS1800にてオートズーム制御部122は、被写体検出部123により被写体が検出されたか否かを判定する。ステップS1800で被写体が検出されなかった場合にはオートズーム制御処理を終了する。ステップS1800で被写体が検出された場合にはステップS1801へ進む。
ステップS1801〜S1803の判定は、図4で説明したように、被写体がフレームアウトすることを防止するための(フレームアウト防止制御の)オートズームの開始判定処理である。ステップS1801において、オートズーム制御部122は、追尾する被写体に係る被写体追尾枠がズームアウト領域ZOに進入したか否かを判定する。ここでのズームアウト領域ZOは、図4(A)〜(C)で説明したズームアウト領域ZOに相当する。ステップS1801にて被写体追尾枠がズームアウト領域ZOに進入した場合、すなわち、被写体がフレームアウトする可能性が大きい場合、ステップS1804に進み、ズームアウト動作を開始する。ここでのズームアウト動作は、フレームアウト防止制御のズームアウト動作に相当する。ズームアウト動作の後、オートズーム制御を終了する。
一方、ステップS1801にて被写体追尾枠がズームアウト領域ZOに進入していない場合、すなわち、画面中央付近で被写体を捉えられている場合、ステップS1802に進む。ステップS1802では、オートズーム制御部122は、直前のズーム動作がステップS1801でズームアウト領域ZOに進入したことによるズームアウト動作、すなわち、フレームアウト防止制御のズームアウト動作であるか否かを判定する。フレームアウト防止制御のズームアウト動作後である場合には、ステップS1803に進む。
ステップS1803において、オートズーム制御部122は、追尾する被写体に係る被写体追尾枠がズームイン領域ZIの内部に収まっている(包含されている)か否かを判定する。ここでのズームイン領域ZIは、図4(A)〜(C)で説明したズームイン領域ZIに相当する。ステップS1803にて被写体追尾枠(被写体)がズームイン領域ZIに収まっていない場合、オートズーム制御処理を終了する。一方、被写体追尾枠がズームイン領域ZIに収まっている場合、すなわち、画面中央付近でかつズーム戻り位置の画角内の被写体サイズとなるように被写体を捉えられている場合、ステップS1805に進み、ズームイン動作を開始する。ここでのズームイン動作は、フレームアウト防止制御のズームイン動作に相当する。ズームイン動作の後、オートズーム制御を終了する。
オートズームにおけるフレームアウト防止制御とサイズ保持制御を両立させるために、まずフレームアウト防止制御により被写体を画面中央付近に捉えたうえで、サイズ保持制御を実行可能にしている。そのため、フレームアウト防止制御のズームアウト動作後の状態では、以降で説明する被写体サイズを一定に維持する(サイズ保持制御の)オートズーム処理(ステップS1806〜S1814)を行わないようにしている。換言すると、フレームアウト防止制御を行った場合は、フレームアウト防止制御のズームイン動作が完了するまでサイズ保持制御が制限される。
ステップS1802でフレームアウト防止制御のズームアウト動作後でないと判断された場合、ステップS1806に進む。ステップS1806〜S1809では、自分撮り撮影で撮影SW127が半押しされている最中であるか否かに応じて、後述するサイズ保持制御のズームイン/アウト動作を行うか否かの判定に使用する所定の比率MとNの設定を行う(M>1、N<1とする)。まず、ステップS1806にて、オートズーム制御部122は、自分撮り検出部126によって自分撮りであることが検出されているか否かを判定する。自分撮りの場合にはステップS1807へ進み、自分撮りでない場合にはステップS1810へ進む。
ステップS1807にて、オートズーム制御部122は、撮影SW127が半押しされている最中であるかどうかを判定する。撮影SW127が半押しされている最中でなければステップS1809に進み、オートズーム制御部122は、所定の比率Mに所定値M_EVFを設定し、所定の比率Nに所定値N_EVFを設定する。また、撮影SW127が半押しされている最中であれば、S1808に進み、所定の比率Mに所定値M_SWを設定し、所定の比率Nに、所定値N_SWを設定する。ここで、所定値M_EVFは所定値M_SWよりも大きい値とし、所定値N_EVFは所定値N_SWよりも小さい値とする。所定の比率MとNが設定されると、ステップS1810へ進む。
ステップS1810において、オートズーム制御部122は、ステップS1102やS1110、S1115で設定される基準の被写体サイズ(基準サイズ)と、ステップS1800にて検出された被写体サイズとの比較を行う。この処理は、画像が所定の構図条件(ここでは被写体のサイズに基づく条件)を満たすかどうかの判定に相当する。ステップS1800にて検出された被写体のサイズが基準サイズに対して所定の比率M倍より大きい場合、ステップS1813に進む。なお、自分撮りでない場合の所定の比率Mは、所定値M_EVFより小さい所定値に設定される。
ステップS1813において、オートズーム制御部122は、ズームアウト動作を開始する。ここでのズームアウト動作は、サイズ保持制御のズームアウト動作に相当する。ズームアウト動作の後、オートズーム制御を終了する。
一方、ステップS1810において、ステップS1800にて検出された被写体のサイズが基準サイズに対してM倍以下であると判定された場合、ステップS1811に進む。ステップS1811において、オートズーム制御部122は、基準被写体サイズとステップS1800にて検出された被写体のサイズとの比較を行う。この処理は、画像が所定の構図条件(ここでは被写体のサイズに基づく条件)を満たすかどうかの判定に相当する。検出された被写体のサイズが基準サイズに対して所定の比率N倍より小さい場合、ステップS1812に進む。なお、自分撮りでない場合の所定の比率Nは、所定値N_EVFより大きい所定値に設定される。一方、検出された被写体のサイズが基準サイズに対してN倍以上である場合、オートズーム制御を終了する。
ステップS1812において、オートズーム制御部122は、追尾する被写体の被写体追尾枠がズームイン領域ZIの内部に収まっている(包含されている)か否かを判定する。これは、被写体が画面の周辺にいる場合にズームイン動作によってフレームアウトしてしまうことを防ぐためである。ここでのズームイン領域ZIは、図5(E)で説明したズームイン領域ZIに相当する。ステップS1812で被写体追尾枠がズームイン領域ZIに収まっていないと判定された場合、オートズーム制御処理を終了する。
一方、ステップS1812で被写体追尾枠がズームイン領域ZIに収まっていると判定された場合、ステップS1814に進む。ステップS1814において、オートズーム制御部122は、ズームイン動作を開始する。ここでのズームイン動作は、サイズ保持制御のズームイン動作に相当する。このように、本実施形態では、サイズ保持制御のズームイン動作においても被写体のフレームアウトを防ぐため、被写体がズームイン領域ZIの内部に収まってからズームイン動作を開始する。ズームイン動作の後、オートズーム制御の処理を終了する。
上記ステップS1806〜S1809で説明したように、自分撮りの場合は、撮影SW127が半押しされていない状態において、よりズーム動作が行われにくいように所定の比率MとNが設定される。すなわち、被写体が表示部109を見ながら構図や画角を調整している状態(撮影SW127が半押しされていない状態)では、構図や画角が決定された後の状態(撮影SW127が半押し状態)と比較して、ズーム動作を制限するような条件が設定される。これにより、撮影者の意思を反映させた画角の調整を可能にしつつ、撮影準備完了後の意図しない画角変動を効果的に軽減することができる。
自分撮りの際は、撮影者は「上半身」などの既定の構図に厳密に合致した構図ではなく、撮影者の独自性のある構図を所望している可能性がある。そのため、撮影者が意図的にデジタルカメラ100を動かして構図を調整しようとした際に、既定の構図に厳密に合致するようにオートズーム制御が行われると、撮影者が調整した構図が打ち消されてしまい、撮影者の意図通りの構図で撮影できない恐れがある。
そこで、本実施形態では、前述したとおり、ステップS1806〜S1809において、撮影SW127が半押しされていない撮影準備中の間は、オートズーム動作が行われにくくなるように(抑制するように)閾値を設定する。例えば、自分撮りで撮影SW127が半押しされていない状態では、図9に示すように、各構図における基準範囲を設定し、撮影SW127が半押しされている状態と比較して基準サイズに幅を持たせてもよい。これにより、予め定められた構図に基づくオートズーム制御においても、自分撮りの際には撮影者による意図的な構図調整を反映して、撮影者の所望の構図で撮影することが可能になる。
次に、図19を参照して、本実施形態におけるズーム動作について説明する。図19は、図18のステップS1804、S1805、S1813、S1814におけるズームアウト動作もしくはズームイン動作を説明するフローチャートである。
まずステップS1900において、オートズーム制御部122は、メモリ118からズーム倍率の変化量(光学ズームの場合はズーム駆動量)を取得する。フレームアウト防止制御のズームアウト動作の場合、ズームアウト量は検出された被写体情報に応じて設定される。具体的には、フレームアウト防止のズームアウト動作(図18のステップS1804)においては、被写体のサイズが小さいほどズームアウト量は小さく設定される。これにより、ズームアウト動作によって被写体のサイズが小さくなりすぎるために被写体が検出できなくなるのを防ぐことができる。なお、被写体検出可能な最小サイズを考慮して、被写体のサイズが所定のサイズより小さい場合は、ズームアウトを行わないようにしてもよい。また、フレームアウト防止のズームイン動作では、ズームアウト動作開始前のズーム倍率(光学ズームの場合はズーム位置でもよい)をメモリ118に記憶しておき、ズームアウト開始前と同じズーム倍率となるようにズームイン量を設定する。
また、サイズ保持制御のズームアウト動作(図18のステップS1813)においては、ステップS1810の判定に用いる所定の比率M倍に相当するズームアウト量(1/M倍)に設定する。これにより、被写体が検出できない場合でも、被写体のサイズが基準サイズとなるまでの最低限のズームアウト動作を行うことができる。サイズ保持制御のズームイン動作(図18のステップS1814)の場合も同様に、ステップS1811の判定に用いる所定の比率N倍に相当するズームイン量(1/N倍)に設定する。
ステップS1901において、オートズーム制御部122は、ステップS1900にて取得したズーム変化量をCZ制御部119もしくは電子ズーム制御部120に設定し、変倍処理を行うように指示する。
次にステップS1902にて、オートズーム制御部122は、フレームアウト防止制御とサイズ保持制御の何れのズーム動作中であるかの判定を行う。動作中のズームがフレームアウト防止制御のズーム動作である場合(図18のステップS1804、S1805)はステップS1905に進む。サイズ保持制御のズーム動作である場合(図18のステップS1813、S1814)はステップS1903に進む。
ステップS1903では、オートズーム制御部122は、被写体検出部123によって被写体が検出されているか否かの判定を行う。被写体が検出されている場合にはステップS1904に進み、被写体が検出されていない場合にはステップS1905に進む。
ステップS1904では、オートズーム制御部122は、基準サイズとステップS1903で検出された被写体のサイズとの比較を行う。比較の結果、ステップS1903にて検出された被写体のサイズと基準サイズとが所定比率の範囲内(所定の変化量以内)に収まらない場合には、再度、ステップS1902に進み、ズーム停止の判定を継続する。ズーム動作によってその比率が所定の範囲内となった場合、ステップS1906に進み、オートズーム制御部122は、ズーム動作を停止してズーム動作処理を終了する。
一方、ステップS1902でフレームアウト防止制御のズーム動作中と判定された場合、または、サイズ保持制御のズーム動作中で被写体が検出されない場合には、ステップS1905に進む。ステップS1905にて、オートズーム制御部122は、ステップS1900で取得したズーム変化量に基づき、各ズーム動作に応じた所定量分のズーム変化量に相当する変倍処理を行ったか否かを判定する。所定のズーム変化量の変倍処理が行われていない場合には、再度ステップS1902に進み、ズーム停止の判定を継続する。所定のズーム変化量の変倍処理を行った場合には、ステップS1906に進み、オートズーム制御部122は、ズーム動作を停止してズーム動作処理を終了する。
以上のように、本実施形態では、基準サイズと検出された被写体のサイズとを比較することでオートズーム制御を行うことを例に説明したが、比較の基準としてサイズ以外の被写体の状態を示す値を使用してもよい。例えば、被写体の位置や光軸を基軸とした傾きを使用してもよい。この場合について、図10を用いて説明する。
自分撮りの際に、図10(A)のようなシーンで撮影者により構図を確定し、撮影準備が整ったとして撮影SW127が半押されたとする。その後、図10(B)のように、手振れによってデジタルカメラが傾き、画像内における被写体の位置やサイズが変化したとする。このような場合、図11の基準サイズ設定および図18のオートズーム制御において、以下のような処理を行う。
まず、撮影SW127が半押しされた際に、ステップS1102にて、オートズーム制御部122は、検出被写体の位置、サイズ、傾きを基準特徴値(基準値)として記憶する。その後、ステップS1806〜S1814において、現在検出されている被写体の位置、サイズ、傾きと、記憶されている基準特徴値との比較を行い、所定より大きい変化があった場合、ズームイン/アウト制御を行う。ズームイン/アウト制御を行うと判断された場合は、基準特徴値と合致するように、光学ズームまたは電子ズームによるズーム倍率の変更を行う。また、図10(B)のように、被写体が基準特徴値と比較して傾いた場合は、電子ズームにより電子ズームにより範囲1000を切り出し、撮影画像とする。
このように、画像の構図を判定するための条件(構図条件)として、被写体のサイズだけでなく、被写体の位置や傾きの情報を用いてもよい。これにより、撮影SW127の半押し中に手振れなどによって被写体の位置や傾きが変わった場合でも、撮影者の所望の構図を維持した撮影画像を取得することができる。
なお、本実施形態では、自分撮り以外の場合でもオートズーム制御を行うことが可能な撮像装置について説明したが、自分撮りの場合のみオートズーム制御を行う場合でも本発明を適用可能である。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
<他の実施形態>
本発明の目的は以下のようにしても達成できる。すなわち、前述した実施形態の機能を実現するための手順が記述されたソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給する。そしてそのシステムまたは装置のコンピュータ(またはCPU、MPU等)が記憶媒体に格納されたプログラムコードを読み出して実行する。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどが挙げられる。また、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD−R、磁気テープ、不揮発性のメモリカード、ROM等も用いることができる。
また、コンピュータが読み出したプログラムコードを実行可能とすることにより、前述した各実施形態の機能が実現される。さらに、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した各実施形態の機能が実現される場合も含まれる。
更に、以下の場合も含まれる。まず記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う。
また、本発明はデジタルカメラのような撮影を主目的とした機器に限定されず、携帯電話、パーソナルコンピュータ(ラップトップ型、デスクトップ型、タブレット型など)、ゲーム機など、撮像装置を内蔵もしくは外部接続する任意の機器に適用可能である。従って、本明細書における「ズーム制御装置」は、ズーム機能を備えた任意の電子機器を包含することが意図されている。