以下、図面を参照して本発明の好適な実施形態を説明する。なお、以下に説明する実施形態では、本発明に係る撮像装置及びその制御手段として、ズーム倍率変更手段を備え、静止画および動画の撮影が可能なデジタルカメラに適用した場合を例示する。
図1は、本発明の撮像装置の一例を示すデジタルカメラの外観図である。図1(A)はデジタルカメラを背面側から見た場合の外観図であり、図1(B)はデジタルカメラを正面側から見た場合の外観図である。
図1(A)において、表示部28は画像や各種情報を表示する。シャッターボタン61は、ユーザが撮影指示を行うための操作部材である。モード切替えスイッチ60は、ユーザが各種モードを切り替えるための操作部材である。コネクタ212は接続ケーブルとデジタルカメラ100との接続用部材である。操作部70はユーザの各種操作を受け付ける各種スイッチ、ボタン、タッチパネル等の操作部材を備える。コントローラホイール73は操作部70に含まれる回転操作可能な操作部材である。電源スイッチ72は、電源のオンまたはオフを切り替える際にユーザが使用する操作部材である。ズームレバー76は、ズーム倍率を変更する際にユーザが使用する操作部材である。記録媒体200はメモリカードやハードディスク等であり、画像データ等の記録に使用される。記録媒体スロット201を通して記録媒体200が格納される。記録媒体スロット201に格納された記録媒体200は、デジタルカメラ100との通信が可能となる。蓋202は記録媒体スロット201の開閉蓋である。
図1(B)に示すように、デジタルカメラの筐体の正面側にも操作部70が配置され、その位置は鏡筒部300の側面部でもよい。さらに操作部70に対する機能の割り当てについては、後述するオートズーム操作用のスイッチとする。オートズーム操作スイッチをこのような配置とすることでユーザの利便性が向上する。特に、ユーザが撮影時に鏡筒部300を手で支えて持ちながら使用するデジタルカメラにおいて、設定変更の度に鏡筒部300から手を離さずとも設定の変更が可能となる。
図2は、本実施形態におけるズーム制御装置を備えた撮像装置の一例としての、デジタルカメラ100の構成例を示すブロック図である。デジタルカメラ100は、オートズーム機能を実行可能に構成されている。
レンズ鏡筒101は、その内部にレンズ群を保持している。ズームレンズ102は、レンズ鏡筒101の光軸方向に移動することで焦点距離を調節し、光学的に画角を変更(ズーム位置を移動)する。フォーカスレンズ103は、レンズ鏡筒101の光軸方向に移動することで焦点調節を行う。防振レンズ(像ブレ補正用レンズ)104は、手ぶれ等に起因する像ブレを補正する。光量調節を行う絞り及びシャッタ105は、露出制御に用いられる。なお、本実施形態において、デジタルカメラ100は、レンズ鏡筒101とカメラ本体部とが一体的に構成された撮像装置であるが、これに限定されるものではない。本実施形態は、カメラ本体部と、カメラ本体部に着脱可能な交換レンズとから構成される撮像システムにも適用可能である。
撮像素子106は、レンズ鏡筒101を通過した光を受光し、光電変換によって被写体像を電気信号に変換することで撮像信号を生成する。撮像素子106はCCD(電荷結合素子)型またはCMOS(相補型金属酸化膜半導体)型のイメージセンサ等である。撮像素子106による撮像信号は、画像処理回路107に入力されて、画素補間処理や色変換処理等の各種処理が行われる。各種処理後の画像データは画像メモリ108に記憶される。画像メモリ108は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の記憶デバイスである。
表示部109は、TFT型LCD(薄膜トランジスタ駆動型液晶表示器)等を備えて構成され、撮影画像(画像データ)や、特定の情報(例えば、撮影情報等)を表示する。撮影画像に係るライブビュー等の情報表示により、撮影者が画角合わせを行うための電子ビューファインダ(EVF)機能を提供できる。
絞りシャッタ駆動部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に送られて記録される。画像データは、外部記録媒体、または不揮発性のメモリ118、あるいはそれらの両方に記録される。外部記録媒体は、デジタルカメラ100に装着して使用されるメモリカード等である。不揮発性のメモリ118は、デジタルカメラ100に内蔵されている記憶媒体である。メモリ118は、プログラムデータや画像データの他に、デジタルカメラ100の設定情報や、後述するオートズーム機能におけるズームイン位置等の情報を記憶する。
操作部117は、前記ズーム操作部材に加えて、撮影開始を指示するレリーズスイッチ、オートズーム機能の開始や終了を指示するオートズーム操作スイッチ等を含む。操作部117からの信号は、システム制御部114に送られる。
システム制御部114は、CPU(中央演算処理装置)等の演算装置を備える。システム制御部114は、撮影者の操作に応じて各部に制御命令を送ることによりデジタルカメラ100全体を制御する。システム制御部114は、メモリ118に記憶されている各種の制御プログラム、例えば撮像素子106の制御やAE/AF制御、ズーム制御(オートズーム処理を含む)等を行うためのプログラムを実行する。
光学ズームによる画角変更時に合焦状態を維持するには、レンズ鏡筒101がリアフォーカスタイプである場合、ズームレンズ102の位置に応じてフォーカスレンズ103を適正なフォーカス位置へ移動させる必要がある。このような制御をコンピュータズーム(CZ)制御といい、システム制御部114におけるCZ制御部119が行う。図3は、ズームレンズの焦点距離と、被写体距離ごとのフォーカス位置との関係を例示する図である。図3では、ズームレンズの焦点距離と、ピントが合うフォーカス位置との関係を、被写体までの距離ごとに示すデータテーブルとしてグラフ化して示す。本実施形態において、このテーブルをフォーカスカムテーブルと称する。図3において、横軸はズーム位置に対応する焦点距離を示し、縦軸はフォーカス位置を示す。各グラフ線の横には、デジタルカメラ100から被写体までの距離(被写体距離)を例示する。
システム制御部114は、AF制御を行う際にフォーカスレンズ駆動部112を制御して、フォーカスレンズ103を所定の範囲において移動させることによりスキャン動作を行う。スキャン動作中に得られるコントラスト評価値等を用いて既知の方法により、合焦点であるフォーカス位置が検出される。そのときのズーム位置及びフォーカス位置を用い、フォーカスカムテーブルを参照することにより、被写体距離が計測される。
次に、システム制御部114におけるオートズーム機能に関連する制御について説明する。図2に示すように、システム制御部114は、CZ制御部119、電子ズーム制御部120、オートズーム制御部(以下、AZ制御部という)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の制御情報を取得するための検出部のセンサと兼用する構成でもよい。
次に、本実施形態におけるオートズーム機能の概要と、AZ制御部122を説明する。オートズーム機能を搭載していないカメラでは、撮影者が望遠状態でフレーミングしてシャッタチャンスを待っている間に被写体が動いてフレームアウトした場合等において、以下の操作が必要であった。
まず撮影者は、ズーム操作部材の操作によりズームアウト動作を行ってから被写体を探索する。被写体の探索後、撮影者は再び所望の画角になるまでズーム操作を行って画角調整する。また、被写体が動いたために被写体像の大きさが変わった場合等においても、撮影者はズーム操作部材を操作して被写体像の大きさを調整する必要があった。
一方、オートズーム機能を搭載しているカメラでは、撮影者がオートズーム機能を設定した後、タッチパネル等で被写体を指定する操作を行い、撮影したい被写体を指定しておけばよい。オートズーム機能が設定されると、指定された被写体を画像の中央付近で所定のサイズに収めるように、自動でズーム動作が行われる。なお、被写体の指定方法としてはタッチパネル操作以外に、撮影者が特定のボタンを操作したときに画面中央付近にいる被写体を指定する方法や、カメラが検出した被写体の中から自動的に主被写体を選択する方法等がある。
被写体検出部123は、画像メモリ108から指定された被写体領域の画像データ上での位置や大きさを算出する。この処理を、ライブビューとして画像表示するごとに、サンプリングの画像データに対して連続的に行うことにより、被写体の動きを追尾可能となる。追尾している被写体の画像が後述するズームアウト領域で検出された場合や、検出した被写体の画像が所定の大きさよりも大きくなった場合、AZ制御部122はズームアウト動作を開始する。すなわち、AZ制御部122はCZ制御部119または電子ズーム制御部120に対して、広角方向へのズームアウト指示を行う。被写体をズームイン領域内に検出し、かつ、被写体像が所定の大きさの範囲内に収まった場合には、望遠側へズームイン動作が行われる。このような処理により、撮影者はズーム操作を気にせず、所望の被写体の画像を画面内に収めるようにカメラを動かすだけでよい。仮に、被写体がフレームアウトしそうになった場合でも、自動的にズーム倍率が変更されるため、より簡単に画角合わせを行うことができる。
次に、図4から図6を参照して、ズームアウト動作やズームイン動作の開始条件について説明する。図4は、被写体(物体)が画面外へフレームアウトすることを防止する処理の説明図である。図5は、被写体(人物)が画面外へフレームアウトすることを防止する処理の説明図である。
図4及び図5において、枠400a及び枠400bは被写体(物体)を追尾する第1の追尾枠(以下、モノ追尾枠という)であり、枠500a〜fは被写体(人物の顔)を追尾する第2の追尾枠(以下、顔追尾枠という)である。以下では、被写体が人物と物体のいずれにも適用可能な場合、モノ追尾枠及び顔追尾枠を総称して被写体追尾枠ということもある。被写体追尾枠は、撮影者が指定した被写体が分かるように、表示部109のEVF画面(電子ビューファインダ画面)にて被写体像を囲むように表示される。被写体追尾枠の画面上での位置及び大きさは、顔情報及び色情報に基づいて被写体検出部123が算出し、フレームレート周期で更新される。
図4を参照して、被写体(飛行機)が画面外にフレームアウトすることを防止する処理について説明する。図4(A)にてズームアウト領域ZO(以下、ZO領域という)は、EVFで表示される画角全体(画面全体)に対して所定の比率よりも外側の領域を示している。例えば、画面の中心点を0%、画面全体を100%とし、画面全体に対して80%となる位置をZO領域の境界として設定する場合を想定する。この場合、画面全体における80〜100%の領域がZO領域となる。ZO領域にモノ追尾枠400aの一部が進入すると、AZ制御部122は、ズームアウト動作を開始させる制御を行う。また、AZ制御部122は、ズーム移動前のズーム倍率(ズームイン画角に相当)をメモリ118に記憶する。ズームアウト動作中の目標ズーム倍率やズーム速度は、被写体像のサイズや移動速度に応じて予め設定される。また、目標ズーム倍率やズーム速度を被写体像のサイズや移動速度に応じて適宜算出してもよい。ズームアウト動作は、その目標ズーム倍率やズーム速度に従って実行される。これにより、被写体のフレームアウトを効果的に防止することができる。
図4(B)は、図4(A)の画角から、所定のズーム変化量分に相当するズームアウト動作が行われたときの画角を示している。図4(B)に示すズームイン領域ZI(以下、ZI領域という)は、被写体探索状態においてズームイン画角(ズームアウト前の画角)401に対して所定の比率よりも内側の領域を示している。例えば、画面の中心点を0%とし、ズームイン画角401を100%とし、ズームイン画角401に対して70%となる位置をZI領域の境界として設定する場合を想定する。この場合、ズームイン画角401の全体における0〜70%の領域がZI領域となる。このとき、例えばズームアウト倍率が1/2倍である場合、ズームイン画角401は画面全体に対して50%の大きさとなる。よって、ZI領域の境界は画面全体に対して70%×(1/2)=35%であり、ZI領域は、画面全体に対して0〜35%の領域であるとも言える。撮影者が、ZI領域の内部にモノ追尾枠400bが収まるようにカメラの向きを変更すると、AZ制御部122は、ズームイン動作を開始させる制御を行う。
次に図5を参照して、被写体(人物)が画面外にフレームアウトすることを防止する処理について説明する。被写体が人物である場合に、顔追尾枠の一部がZO領域に進入するとズームアウト動作が開始し、また顔追尾枠がZI領域の内部に収まるとズームイン動作が行われる。被写体が人物である場合には物体の場合とは異なり、被写体の移動方向をある程度予測できるため、予測される移動方向の領域に応じてZO領域及びZI領域が設定される。また、手持ちでの撮影では、手ぶれ等の影響によって被写体がフレームアウトしてしまう場合がある。しかし、手ぶれ等によって被写体がフレームアウトした場合には、撮影者が被写体をフレームインさせようとする動作によってフレームインし直すことが可能である。ここで、画面の上部にZO領域を設定した場合、人物を中央付近に配置して撮影するときにもZO領域に顔追尾枠が進入してしまい、意図せずズームアウトする場合がある。そこで、被写体が人物であって、かつ手持ち状態(撮影者がカメラを把持した状態)である場合には、撮影者のフレーミング操作を考慮して、画面の上部にはZO領域が設定されない。
このように、本実施形態では、被写体検出部123で顔が検出された場合、AZ制御部122は、カメラの姿勢や揺れ状態に応じてZO領域及びZI領域を変更する。カメラの姿勢については姿勢検出部124により検出され、また、揺れ状態については揺れ検出部125による検出結果から判定される。揺れ検出部125による検出結果とは、カメラが手持ち状態であるか否かの検出結果である。以下、図5(A)から(C)を参照して具体的に説明する。
図5(A)は、撮影者が手持ちでカメラを正位置に構えたときに設定されるZO領域及びZI領域を示している。このような撮影シーンで、被写体が水平方向に移動してフレームアウトする場合、画面内での被写体の位置は正位置の画面に対して水平方向(長手方向)に移動する。そこで、ZO領域及びZI領域はいずれも、正位置の画面に対して垂直方向(短手方向)の縦帯状に配置される。ZO領域は、横長の長方形の画面にて水平方向の両端寄りに位置する縦帯状に設定され、ZI領域は、画面の中央部に位置する縦帯状に設定される。この場合、顔追尾枠500aがZO領域内に進入すると、AZ制御部122はズームアウト開始を判定し、所定のズーム倍率分に対応するズームアウトの動作制御を行う。また、顔追尾枠500bがZI領域内に包含されると、AZ制御部122はズームイン開始を判定し、ズーム戻り位置まで所定のズーム倍率分に対応するズームインの動作制御を行う。このようにZO領域及びZI領域を設定することで、被写体(人物)のフレームアウトを効果的に防止できる。
図5(B)は、同様の撮影シーンにてカメラ姿勢が変更され、撮影者がグリップ下もしくはグリップ上の縦位置状態にカメラを構えたときに設定されるZO領域及びZI領域を示している。この場合、縦位置の画面に対して垂直方向(長手方向)の縦帯状にZO領域及びZI領域が配置される。つまり、ZO領域は、縦長の長方形の画面にて水平方向の両端寄りに位置する縦帯状に設定され、ZI領域は、画面の中央部に位置する縦帯状に設定される。この場合、顔追尾枠500cがZO領域内に進入すると、AZ制御部122はズームアウト開始を判定し、所定のズーム倍率分に対応するズームアウトの動作制御を行う。また、顔追尾枠500dがZI領域内に包含されると、AZ制御部122はズームイン開始を判定し、ズーム戻り位置まで所定のズーム倍率分に対応するズームインの動作制御を行う。このようにZO領域及びZI領域を設定することで、水平方向への被写体の動きを検出し、フレームアウトを効果的に防止できる。
図5(C)は、揺れ検出部125での検出状態が固定状態のときに設定されるZO領域及びZI領域を示している。固定状態とは、三脚等によってカメラが固定されている状態であり、手ぶれによるフレームアウトの可能性はない。さらには、画面の中央付近に被写体がフレームインしていないときにズームインすると、その動作によってフレームアウトしてしまう可能性がある。そこで、画面の周辺部全体にZO領域が設定され、ズームイン画角よりも内側にZI領域が設定される。つまり、ZO領域は、画面の縦方向及び横方向の端寄りに位置する矩形帯状に設定され、ZI領域は、画面の中央部に位置する矩形状に設定される。この場合、顔追尾枠500eがZO領域内に進入すると、AZ制御部122は、ズームアウト開始を判定し、所定のズーム倍率分に対応するズームアウトの動作制御を行う。また、顔追尾枠500fがZI領域内に包含されると、AZ制御部122は、ズームイン開始を判定し、ズーム戻り位置まで所定のズーム倍率分に対応するズームインの動作制御を行う。
以上のように本実施形態では、カメラの姿勢や撮影状態(手持ち状態/固定状態)の変化に応じてZO領域及びZI領域の各範囲を動的に変更する。これにより、手ぶれ等による誤作動を防止しながら、被写体のフレームアウトを効果的に防止できる。なお、カメラの姿勢と撮影状態(手持ち状態/固定状態)のいずれか一方に応じてZO領域又はZI領域を変更してもよく、またZO領域とZI領域のいずれか一方のみを変更してもよい。
次に、被写体像が画面に占める割合を所定の範囲内に保つためのズーム動作について説明する。本実施形態では、検出された被写体像のサイズが基準サイズの所定倍より大きく変化した場合に自動でズーム動作を行うことで、被写体像のサイズを基準サイズから所定の範囲内に保つように制御(サイズ保持制御)が行われる。図6は、画面内における被写体(人物)像のサイズを保つための処理を説明する図である。図7は被写体(人物)の構図設定の説明図である。
まず、図7を参照して、追尾対象とする被写体を画面内に収める範囲(構図)の設定について説明する。図7(A)は、構図設定が「マニュアル」に設定されている場合の画面表示を例示する。「マニュアル」設定時には、撮影者が画面内の人物の像を見ながらズームレバー操作でマニュアルズーム動作を行って追尾する顔の大きさを変更する。そのときの被写体像のサイズは基準サイズとしてメモリ118に記憶される。図7(B)は構図設定が「顔」に設定されている場合の画面表示を例示する。「顔」の構図設定時には、カメラの姿勢や顔の方向によって顔が画面に収まる大きさが基準サイズとして算出され、メモリ118に記憶される。同様に、図7(C)は構図設定が「上半身」に設定されている場合の画面表示を例示し、図7(D)は構図設定が「全身」に設定されている場合の画面表示を例示する。それぞれ画面上で設定された大きさとなるように基準サイズが算出されてメモリ118に記憶される。
図7(E)は構図設定が「オート」に設定されている場合の画面表示を例示する。「オート」設定時には、AZ制御部122が、画面内での被写体位置や被写体サイズ、被写体数、カメラの姿勢等を基づき、適切な構図を判定する。さらに、判定された構図となるように基準サイズが算出されてメモリ118に記憶される。基準サイズの算出方法については図15を用いて後述する。
撮影者は撮影画面から操作部117の左右ボタン操作や設定メニュー上での選択によって構図設定を変更する操作を行える。構図設定の変更操作が行われると、AZ制御部122は、メモリ118に記憶されている構図設定の情報を更新する。なお、図7では被写体が人物の場合に「マニュアル」、「顔」、「上半身」、「全身」、「オート」の各構図を設定する例を示したが、構図の設定はこれに限定されるものではない。例示した5つの構図の一部のみを設定し、または他の構図を含んでもよい。また、被写体が物体の場合には、例えば「マニュアル」、「大」、「中」、「小」、「オート」の各構図を設定してもよい。
図6を参照して、被写体像が画面に占める割合を所定の範囲内に保つためのズーム動作について、構図設定が「マニュアル」の場合を例に説明する。図6(A)〜(C)は、被写体(人物)がカメラに近づいてきた場合に、カメラが自動的に行うズーム動作を例示する。これは、被写体像が画面に占める割合を所定の比率内に収めるためのズームアウト動作である。なお、図6では、顔追尾枠600a〜fを、被写体である人物の特徴領域として顔領域を囲むように表示している。したがって、ここでは顔追尾枠の大きさを、被写体サイズとして説明する。
図6(A)は、後述する被写体指定方法に従って被写体が指定されたときの画角を示している。被写体指定時の顔追尾枠600aの大きさは、基準の被写体サイズ(基準サイズ)としてメモリ118に記憶される。図6(B)は、図6(A)の状態からズーム倍率を変更しない状態で、被写体がカメラに向かって近づいてきたときの画角を示している。例えば、基準の被写体サイズである顔追尾枠600aの大きさに対して150%となる大きさをズームアウト動作の開始サイズとする。被写体追尾枠(顔追尾枠)の関係が、「顔追尾枠600b>顔追尾枠600a×150%」となったとき、つまり、基準サイズに対して所定の変化量を超えて追尾枠が変化したときに、AZ制御部122はズームアウト動作の開始を判定する。
図6(C)は、図6(B)の画角601から所定のズーム倍率分だけズームアウトした画角と、顔追尾枠600cを示している。ここでは、ズームアウト動作を開始するときの顔追尾枠サイズの基準被写体サイズに対する変化率(150%)を考慮して、所定のズーム倍率を1/1.5倍としている。この後、さらに被写体がカメラに近づいてくる場合、さらに広角側へズームアウトを行うことにより、被写体像を所定の比率内に収め続けることができる。したがって、撮影者はレリーズスイッチの操作だけに集中することが可能である。
一方、図6(D)〜(F)は、被写体である人物がカメラから遠ざかる場合に、カメラが自動的に行うズーム動作を例示する。これは、被写体像が画面に占める割合を所定の範囲内に収めるためのズームイン動作である。図6(D)は、後述する被写体指定方法に従って被写体が指定されたときの画角を示している。被写体指定時の顔追尾枠600dの大きさは、基準の被写体サイズとしてメモリ118に記憶される(構図設定が「マニュアル」の場合)。
図6(E)は、図6(D)の状態からズーム倍率を変更しない状態で、被写体がカメラから遠ざかったときの画角を示している。例えば、基準の被写体サイズである顔追尾枠600dの大きさに対して50%となる大きさをズームイン動作の開始サイズとする。顔追尾枠の関係が、「顔追尾枠600e<顔追尾枠600d×50%」となったときに、基準サイズに対して所定の変化量を超えて追尾枠が変化したと判定される。この判定条件を満たし、かつ、顔追尾枠600eがZI領域内に包含されると、AZ制御部122はズームイン動作の開始を判定する。ここで、図6(E)の画角に対して所定のズーム倍率分だけズームインした画角602よりも内側にZI領域が設定される。
図6(F)は、図6(E)の画角から所定のズーム倍率分だけズームインした画角(画角602に対応)と、顔追尾枠600fを示している。ここでは、ズームイン動作を開始するときの顔追尾枠サイズの基準被写体サイズに対する変化率(50%)を考慮して、所定のズーム倍率を1/0.5倍としている。
図4では被写体が物体である場合、また図5では被写体が人物である場合にフレームアウトを防止する処理について説明した。また、図6では被写体が人物である場合に、画面に占める被写体像の大きさの比率を、所定の範囲内に収める処理について説明した。なお、追尾対象とする被写体が物体である場合にも、被写体が人物である場合と同様に、図6で示した被写体像のサイズ保持の制御のためのズーム動作開始判定を行ってもよい。また、構図設定が「マニュアル」以外の場合においても、それぞれの基準サイズに応じて、図6と同様に自動的にズーム動作が行われる。
次に、図8から図24を参照して、オートズーム機能の処理について説明する。図8は、オートズーム機能の全体の処理例を示すフローチャートである。以下のオートズーム機能は、特に明示的な記載がない限り、システム制御部114(AZ制御部122)の指令に基づいて行われるものとする。
まずS800でAZ制御部122は、操作部117のオートズーム操作スイッチの操作状態を判定する。オートズーム操作スイッチが押下された場合、S801に進む。当該スイッチが押下されない場合にはS800の判定処理が繰り返される。S801では、システム制御部114の被写体検出部123による被写体検出結果に基づき、表示部109に対してAF(オートフォーカス)枠と撮影情報を画面に表示させる処理が実行される。図9にその画面例を示す。スルー画像900内に検出した被写体901がいる場合には、被写体検出枠902が表示される。またオートズーム機能モードに遷移したことを示すために、オートズーム機能アイコン903が表示される。また、後述の被写体指定が可能であることを示すために、被写体指定ガイダンス904が表示される。被写体指定ガイダンス904の表示内容については、図9の例に限らず、後述の被写体指定処理に則した内容に変更してもよい。また、後述の構図設定の値を示すために、構図設定値905が表示される。画面上の表示オブジェクト(902から905参照)は、すべてスルー画像900に重畳して表示される。
オートズーム機能の処理が開始された直後、または、操作部117の被写体探索ボタンが押下された場合(S806でyes)に、S802の被写体探索処理が実行される。図10を参照して、S802のステップで実行する被写体探索処理を説明する。撮影対象の被写体がカメラから遠く離れている場合、画面内に被写体像が存在しても被写体の特徴領域が小さすぎると、被写体検出部123で検出できない可能性がある。このようなシーンでは、被写体情報に基づくオートズーム機能を実行することができない。そこで、所定の焦点距離まで被写体を検出しながらズームイン動作を行う被写体探索処理が実行される。
S1000では、オートズーム開始の直後であるか、または、オートズーム開始の直後でなく、オートズーム中に被写体探索ボタンが押下されたかの判定処理が行われる。S1000で前者の肯定的判定結果(yes)の場合にはS1001に進み、否定的判定結果(no)の場合にはS1003に移行する。S1001では、被写体探索終了焦点距離を取得する処理が実行される。被写体探索終了焦点距離は、画像内での被写体像の探索を終了する際の終了ズーム位置での焦点距離であり、以下、探索終了焦点距離という。本実施形態ではオートズーム開始直後に、探索終了焦点距離は35mm判換算で85mmの焦点距離としている。この焦点距離は一般的に人物を撮影する場合に適しているとされる標準レンズの焦点距離であり、被写体(人物)がいない場合や(後ろ向き状態等で)顔が検出できない場合でも探索終了後に適切な画角で被写体検出の待ち状態とすることができる。ただし、焦点距離は85mmに限らず、他の焦点距離(例えば50mmや100mm等)であってもよい。また、メニュー設定から撮影者が探索終了焦点距離を変更可能な構成や、撮影モードまたは撮影する被写体等に応じて探索終了焦点距離を変更可能な構成としてもよい。S1001からS1002に進むと、モード開始時の焦点距離が探索終了焦点距離と比較され、当該焦点距離が探索終了焦点距離よりも広角側か望遠側かについて判定される。オートズーム開始時の焦点距離が探索終了焦点距離よりも望遠側である場合(S1002でno)には、被写体探索の処理を終了する。また、オートズーム開始時の焦点距離が探索終了焦点距離よりも広角側である場合(S1002でyes)には、S1005に進む。
一方、S1000で被写体探索ボタンの操作による被写体探索であると判定された場合にS1003では、探索終了焦点距離を取得する処理が実行される。本実施形態では、被写体探索ボタンの操作での探索終了焦点距離を、当該操作が実行されたときの焦点距離に対して2.5倍だけ望遠側の焦点距離としている。ただし、この倍率は例示であって、他の倍率でもよい。また、メニュー設定から撮影者が探索終了焦点距離を変更可能な構成や、撮影モードまたは撮影する被写体等に応じて探索終了焦点距離を変更可能な構成としてもよい。S1003からS1004に進み、S1003で取得した探索終了焦点距離がテレ端(望遠端)の焦点距離と比較され、探索終了焦点距離がテレ端の焦点距離よりも広角側か望遠側かについて判定される。探索終了焦点距離がテレ端の焦点距離よりも望遠側である場合には、被写体探索の処理を終了する。探索終了焦点距離がテレ端の焦点距離よりも広角側である場合には、S1005に進む。S1005でAZ制御部122は、S1001またはS1003にて取得した探索終了焦点距離に対応するズーム変化量を、CZ制御部119または電子ズーム制御部120に設定し、ズームイン動作を行うように指示する。
次にS1006では、現在の焦点距離が探索終了焦点距離に到達したか否かについて判定が行われる。現在の焦点距離が探索終了焦点距離に到達した場合、S1009に進み、ズームイン動作を停止した後、被写体探索処理が終了する。また、S1006で現在の焦点距離が探索終了焦点距離に到達していないと判定された場合には、S1007に処理を進める。S1007は、被写体検出部123によって被写体が検出されているか否かの判定処理である。S1007で被写体が検出されたと判定された場合にはS1008に進み、被写体が検出されたと判定されない場合にはS1006に戻る。S1008では、被写体を検出した位置が画面の所定の探索終了領域内であるか否かの判定が行われる。所定の探索終了領域については被写体に応じて予め設定された閾値(位置の判定基準値)により決定されるものとする。判定の結果、S1007にて検出された被写体の検出位置が画面上の所定の探索終了領域内である場合にはS1009に進み、ズームイン動作を停止して被写体探索処理を終了する。また、S1008にて被写体の検出位置が画面上の所定の探索終了領域内でないと判定された場合には、S1006に戻り、S1006からS1008の判定処理を継続する。
ここで、図11を参照して、S1008で説明した所定の探索終了領域について説明する。特定の被写体(人物や物体)の撮影にて、撮影対象とする被写体は画面の中央付近に配置される場合が多い。また、画面周辺で撮影対象としない被写体を検出して被写体探索処理を終了した場合、撮影対象とする被写体を検出する前に被写体探索処理が終了する可能性がある。この場合、撮影者の意図通りのオートズーム機能を実行できない。そこで、本実施形態では、画面中央付近の領域内で被写体が検出された場合にのみ、被写体探索処理を終了するように、判定用領域としての探索終了領域が設定される。図11(A)は、被写体が物体(飛行機)である場合に設定される探索終了領域1100aを例示する。物体の場合、画面の上下左右のいずれの方向に対しても、画面中央から所定の割合、例えば70%の範囲が被写体の探索終了領域として設定される。一方、図11(B)は、被写体が人物である場合に設定される探索終了領域1100bを例示する。人物の場合、画面上部の領域については画面中央から100%の範囲を含み、それ以外の方向(左右方向、下方)では画面中央から所定の割合、例えば70%の範囲を含むように、探索終了領域が設定される。被写体が人物である場合、画面上部にも撮影対象である被写体の顔追尾枠1102が配置される可能性がある。そのため、画面上部で被写体を検出した場合でも、被写体探索処理が終了するように探索終了領域の設定が行われる。
次に図12を参照して、図8にS803のステップで示す被写体指定処理について説明する。図12は、操作部117を構成するタッチパネルを用いてユーザが所望の被写体を指定する処理例を示すフローチャートである。この例では、ユーザが表示部109に表示された被写体像をタッチして指定する操作を行うものとする。なお、ここでは図14を参照し、被写体指定処理にて表示部109の表示画面例と共に詳説する。図14(A)は被写体指定処理が開始された時点での画面例を示す。基本的には図9の画面例と同様であるが、図14(A)では複数人が被写体検出部123により検出されている状態を示している。枠1400と1401はいずれも、図9の被写体検出枠902と同様であるが、被写体検出部123によって主顔と判断された被写体に対して主被写体検出枠1400が表示される。また、被写体検出部123によって副顔と判断された被写体に対して副被写体検出枠1401が表示される。
S1200でAZ制御部122は、タッチパネルが押下されたか否かを判定する。タッチパネルが押下された場合、S1201に進み、タッチパネルが押下されない場合にはS1206の操作終了判定が行われる。S1206で終了操作と判定された場合、被写体指定を終了するが、終了操作でないと判定された場合には、S1200に戻って判定処理が繰り返される。S1201でAZ制御部122は、ユーザがタッチした位置(タッチ位置)の情報を取得する。次のS1202にて、AZ制御部122は、タッチ位置が被写体指定解除ボタン上であるか否かを判断する。タッチ位置が被写体指定解除ボタン上でない場合、S1203へ進む。被写体指定解除ボタンについては後述する。S1202にてタッチ位置が被写体指定解除ボタン上である場合には、S1211へ進み、顔情報の消去後に被写体指定処理を終了する。
S1203でAZ制御部122は、タッチ位置を被写体検出部123に通知し、被写体検出部123はタッチ位置付近で顔検出を行う。タッチ位置付近に顔が検出された場合、主被写体は人物であると判定されてS1204に進む。S1204でAZ制御部122は、自動追尾の対象である人物の顔情報をメモリ118に記憶する。具体的な顔情報としては、被写体指定時の顔のサイズや顔の検出位置、顔の向きなどがある。また、顔認証機能を有するカメラにおいては、認証IDなども記憶される。そしてS1205へ進み、顔位置に対して被写体追尾枠が表示される。また、前述の被写体指定解除ボタンも表示される。図14(B)に画面例を示す。被写体追尾枠1410の表示と、被写体指定を解除できることを示す被写体指定解除ボタン1411の表示が行われる。これにより、被写体指定処理が終了する。
一方、S1203にてタッチ位置付近に顔が検出されなかった場合、主被写体は人物以外の物体であると判定され、S1207に進む。S1207でAZ制御部122は、顔以外に対してオートズームの対象とすることができないことを示すために、タッチした位置で被写体追尾枠の点滅を開始させる。S1208では、被写体追尾枠の点滅が所定時間に亘って行われたか否かについて判断される。所定時間が経過していない場合、S1209へ進む。S1209でAZ制御部122は、タッチパネルが押下されたか否かを判定する。タッチパネルが押下された場合、S1201へ移行する。また、S1208で所定時間が経過したと判断された場合には、S1210へ進み、被写体追尾枠の点滅を終了する。図14(C)に画面例を示す。ユーザが顔の無い箇所をタッチした際には、点滅状態での被写体追尾枠1420が所定時間表示される。なお、ここでは顔以外は追尾しない例を説明したが、顔以外の物体についても自動追尾対象としてよい。その場合には、S1207からS1210での被写体追尾枠の点滅処理は行わず、代わりに、タッチ位置付近の特徴色を自動追尾対象の色情報としてメモリ118に記憶される。具体的な色情報としては、被写体指定時の特徴色とその輝度、色差の値や同一色領域のサイズ、同一色領域の重心位置等の情報がある。以下の説明では顔情報及び色情報を総称して、被写体情報(被写体サイズ、被写体検出位置等を含む)という。
S1210からS1205に進み、被写体追尾枠が表示される。S1205でAZ制御部122は、被写体検出位置を中心にて、被写体サイズに対応した大きさの被写体追尾枠(モノ追尾枠または顔追尾枠)を表示部109に表示させる制御を行う。その後、被写体指定処理が終了する。
このようにシステム制御部114にて、被写体検出部123は、表示部109において撮影者により指定された位置、または指定された位置の近傍で被写体を検出する。そしてAZ制御部122は、被写体追尾枠を表示部109に表示させる。図12の処理例によれば、撮影者が追尾したい被写体を、直感的な方法で簡単に指定可能となる。ただし、被写体の指定方法はこの方法に限定されない。図13(A)を参照して別の方法を説明する。
図13(A)は、操作部117を構成する操作部材として、オートズーム操作スイッチとは別のスイッチ(被写体指定用スイッチ)を用いて、ユーザが被写体を指定する場合の処理例を示すフローチャートである。まずS1300にてAZ制御部122は、表示部109の画面中央付近に被写体指定の目安となる枠を表示する。撮影者は、この枠を目安として追尾したい被写体の画像を画面中央付近に収めるようにカメラの向きを調整する。次のS1301でAZ制御部122は、被写体指定用スイッチが押下されたか否かを判定する。被写体指定用スイッチが押下された場合、S1302に進み、当該スイッチが押下されない場合には待ち状態でS1301の判定処理が繰り返される。
S1302で被写体検出部123は、画面中央付近で顔検出を行う。画面中央付近に顔が検出した場合、主被写体は人物であると判定され、S1303に進む。一方、画面中央付近に顔が検出されなかった場合、主被写体は人物以外の物体であると判定され、S1305に進む。S1303にて被写体検出部123は、画面中央付近に顔を検出した場合、主被写体は人物であると判定し、被写体情報(顔情報)がメモリ118に記憶された後、S1304に進む。一方、S1305で被写体検出部123は、主被写体は人物以外であると判定し、被写体情報(色情報)をメモリ118に記憶させた後、S1304に進む。S1304において、被写体追尾枠(モノ追尾枠または顔追尾枠)が表示され、被写体指定処理は終了となる。
このように図13(A)の処理例では、被写体検出部123が表示部109の画面中央位置または画面中央位置の近傍で被写体を検出する。そしてAZ制御部122は、被写体の位置を示す被写体追尾枠を表示部109に表示させる。タッチパネル等の操作部材を搭載しないカメラにおいても、ユーザは被写体を簡単に指定可能となる。
図13(B)は、操作部117を構成するオートズーム操作スイッチが押下された時点で検出された顔の中から、追尾する被写体を自動的に選択する処理例を示すフローチャートである。まずS1306で被写体検出部123は、画面全体で顔検出を行い、人物の顔が検出されたか否かを判定する。画面全体で一人でも顔が検出された場合、主被写体は人物であると判定され、S1307に進む。また、画面内にひとつも顔が検出されない場合にはS1311に移行する。
S1307で被写体検出部123は、検出した顔の人物が一人の場合、その顔を主顔として選択する。被写体検出部123は、検出した顔が複数の場合、その顔の中から追尾する被写体とする主顔を選択する。主顔選択の判定基準として、例えば、顔検出位置がより画面中央付近に位置する顔を優先して選択する方法がある。また、同程度の位置に複数の顔がある場合、サイズのより大きい顔を主顔として選択する方法がある。また、顔認証機能を有するカメラの場合には、認証登録されている顔がある場合、その顔を優先して主顔とする方法がある。
S1307からS1308に進み、AZ制御部122は、選択された主顔の顔情報をメモリ118に記憶した後、S1309に進んで顔追尾枠を画面上に表示させる。次のS1310において、顔の変更判定が行われる。つまり、複数の顔が検出された場合に自動で選択された主顔が撮影者の意図する顔であるとは限らない。そのために、撮影者が主顔を変更することが可能である。このとき、撮影者が操作部117のスイッチ(オートズーム操作スイッチ等)を押下して所望の顔を指定すると、顔追尾枠が検出された顔の中から主顔として選択されなかった別の顔に主顔を変更する処理が行われる。S1310にて主顔が変更された場合、再度、S1308に戻って、メモリ118に記憶すべき顔情報が更新される。また、S1309にて顔追尾枠が、新たに選択された主顔のサイズ及び検出位置に変更される。
一方、S1306からS1311に移行した場合、主被写体は人物以外の物体であると判定され、AZ制御部122は、画面中央付近の特徴色を自動追尾対象の色情報として、メモリ118に記憶する制御を行う。次のS1312ではモノ追尾枠が画面上に表示された後、被写体指定処理が終了する。
このように図13(B)の処理例では、システム制御部114にて被写体検出部123が表示部109の画面全体において顔検出を行う。AZ制御部122は、複数の顔が検出された場合、複数の顔の中から被写体として第1の顔の位置を示す被写体追尾枠を表示部109に表示させる制御を行う。またAZ制御部122は、被写体として第1の顔が第2の顔に変更された場合、第2の顔の位置を示す被写体追尾枠を表示部109に表示させる制御を行う。撮影者は、より少ない操作回数で所望の被写体を簡単に指定できる。
被写体指定処理については、操作部117を構成するタッチパネルと被写体指定用スイッチの両方があるカメラの場合には、図12の方法と図13(A)の方法との両方を同時に適用してもよい。また、図8に示すS807での被写体変更の判定がなされた後では、図12または図13(A)の方法で被写体を指定し、S802の被写体探索処理の後では、図13(B)の方法で被写体を指定することもできる。処理の流れに応じて適用する被写体指定処理を変更してもよい。被写体指定処理が終了すると、図8のS804に進み、追尾する被写体の大きさを基準サイズとして設定する処理が実行される。
図15から図22を参照して、図8に示すS804の基準サイズ設定処理について説明する。図15は被写体が人物である場合の基準サイズの設定処理例を示すフローチャートである。まずS1500でAZ制御部122は、メモリ118に記憶されている構図設定が上述した「マニュアル」であるか否かを判定する。構図設定が「マニュアル」である場合にはS1501に進み、「マニュアル」以外である場合にはS1503に進む。
S1501にてAZ制御部122は、被写体検出の判定を行う。AZ制御部122は、被写体検出部123にて、被写体が人物であるときには顔が検出されるか否か、また被写体が物体であるときには同一の特徴色が検出されるか否かを判定する。被写体が検出されるまでS1501の判定処理が繰り返され、被写体が検出された場合にS1502に進む。S1502でAZ制御部122は、検出された被写体像の大きさを基準サイズとして設定し、メモリ118に記憶して処理を終了する。これによって、構図設定が「マニュアル」である場合には、基準サイズ設定処理を開始したときに最初に検出した被写体像の大きさ(検出サイズ)が、基準サイズとしてメモリ118に記憶される。
一方、S1503でAZ制御部122は、姿勢検出部124によって判定したカメラの姿勢情報に基づいて画面サイズを算出する。この画面サイズは、後述のS1514、S2004、S2005、S2106、S2107にて基準サイズの算出に用いる。図16を参照して、画面サイズの算出処理について説明する。本実施形態では、静止画の画面サイズを長辺×短辺=640×480とし、動画の画面サイズを長辺×短辺=640×360とした場合を例示するが、画面サイズはこれに限定されるものではない。
S1600では、撮影者がカメラを正位置に構えているか、または縦位置に構えているかについて、姿勢検出部124により判定される。撮影者がカメラを正位置に構えている場合(S1600でyes)、S1601に進む。ここで画面の短辺方向に対して顔が占める比率が基準サイズとして算出される。S1601では静止画撮影を行うか否かが判定され、次のS1602で動画撮影を行うか否かが判定される。静止画のみを撮影する場合(S1601でyes、S1602でno)、S1604に進み、静止画の画面の短辺サイズである480が画面サイズとして設定される。また、動画のみを撮影する場合(S1601でno)には、S1603に進み、動画の画面の短辺サイズである360が画面サイズとして設定される。さらに、静止画と動画とを同時に撮影するモードの場合(S1601、S1602ともにyes)、S1603に進む。この場合、動画の画面の短辺サイズと静止画の画面の短辺サイズとが比較され、より小さいサイズである360が画面サイズとして設定される。これは、小さい画面サイズに合わせてオートズームを行うことで、静止画と動画のいずれの画角でも被写体が画面からフレームアウトすることを防止するためである。
一方、撮影者がカメラを縦位置に構えている場合(S1600でno)、S1605に進む。この場合、画面の長辺サイズである640が画面サイズとして設定される。
以上に説明した方法は、立位姿勢の人物を前提として、カメラの姿勢に基づいて基準サイズの算出に用いる画面サイズを決定する方法である。被写体検出部123で顔の方向が判定できる場合、画面上での顔の上下方向に基づいて基準サイズの算出に用いる画面サイズの方向を決定してもよい。また、本実施形態では静止画の画面サイズが4:3であって(図18(A)及び(B)参照)、動画の画面サイズが16:9である例(図18(C)参照)を示すが、アスペクト比の設定に応じて画面サイズを変更してもよい。それによってアスペクト比に依らず、画面に対して人物の画像が占める割合を一定とすることが可能である。
図15のS1503にて画面サイズが決定されると、S1504に処理を進める。メモリ118に記憶されている構図設定が「顔」、「上半身」、「全身」のいずれかである場合、S1504からS1509にてAZ制御部122は、構図設定に応じて画面に占める顔画像のサイズの比率(顔比率という)を決定する。本実施形態の顔比率は、画面に対する顔追尾枠の垂直方向における長さの比率を示すが、水平方向における長さの比率や、面積比などで示してもよい。具体的には例えば、S1504で構図設定が「顔」であるか否かが判定され、「顔」の構図の場合(S1504でyes)、顔比率が27%に決定される(S1507)。また、構図設定が「顔」でない場合にはS1505に進み、構図設定が「上半身」であるか否かが判定され、「上半身」の構図の場合(S1505でyes)、顔比率が16%に決定される(S1508)。構図設定が「上半身」でない場合にはS1506に進み、構図設定が「全身」であるか否かが判定され、「全身」の構図の場合(S1506でyes)、顔比率が7%と決定される(S1509)。S1504からS1509の各ステップにより顔比率が決定された後、S1510に進む。
S1510でAZ制御部122は、S1504からS1509で決定した顔比率と、S画面サイズとを乗算することで基準サイズを算出する。さらに、算出した基準サイズをメモリ118に記憶する処理が実行された後、基準サイズ設定の処理を終了する。これによって、構図設定が「顔」、「上半身」、「全身」のいずれかである場合、画面サイズに対して構図設定に応じた所定の顔比率となるサイズが基準サイズとして設定される。
S1506にて構図設定が「全身」でない場合、すなわち、構図設定が「オート」であると判定された場合には、S1511に進み、AZ制御部122は、撮影状態や被写体の数、被写体の動き等に応じて適切な構図を自動で判定する。図17を参照して、S1511の構図設定「オート」での自動構図判定及び構図選択処理について説明する。構図設定「オート」は、撮影シーンを判別して適切な構図をカメラが自動で選択する(自動構図選択)ことによって、構図合わせをさらに簡単に行えるモードである。
図17は、本実施形態にて自動で選択される構図の遷移図を示す。本実施形態においては、上半身1700、全身1701、顔1702、複数人1703、マニュアル1704という5つの構図の中から、撮影シーンに応じて適切な構図を選択する構図選択処理が行われる。構図合わせの操作において、静止画撮影時には、撮影前に瞬時に被写体像を適切な大きさとする必要がある。一方、動画撮影時には、動いている被写体を追い続けたり、静止した被写体に寄ったりする等、撮影している間は常に被写体像を適切な大きさとする必要がある。また、動画撮影時には構図の変更によるズームイン動作時やズームアウト動作時の画像データも記録されるため、適切なタイミングで構図を変更することで効果的な映像を撮影できる。このように、静止画と動画とではそれぞれに適切な構図が異なる。また、ユーザが複数人の被写体から一人の被写体を指定した際、そのユーザは指定した被写体を主被写体として撮影したい意図であると判断され、主被写体の画像が適切な大きさに変更される。このように、被写体指定の有無によっても適切な構図は異なる。そのため、本実施形態では、静止画フレーミング中1705と動画記録中1706との撮影状態、及び被写体指定有り1707(第1の動作状態)、被写体指定無し1708(第2の動作状態)によって選択する構図を変更する。本実施形態では、静止画フレーミング中1705には、選択候補である上半身1700、全身1701、複数人1703から構図が選択される。動画記録中1706には、選択候補である上半身1700、全身1701、顔1702から構図が選択される。また被写体指定有り1707の場合には、選択候補である上半身1700、全身1701、顔1702から構図が選択される。被写体指定無し1708の場合には複数人1703の構図が選択される。
ここで、撮影シーンの判定条件と、各構図の遷移について説明する。構図設定「オート」の自動構図判定処理S1511が開始すると、初期状態の構図として上半身1700が設定される。上半身1700の構図は、静止画フレーミング中1705もしくは動画記録中1706に、静止している一人の被写体を撮影するシーンであると判定された場合、または被写体指定有り1707の場合に選択される構図である。このようなシーンでは、被写体の上半身を画面内に収める構図とすることで適度に被写体に寄った構図とすることができる。
上半身1700の構図で、撮影対象の被写体の動きを検出した場合、または、カメラから被写体までの距離が所定距離D1(第1閾値)よりも大きいと判定された場合には、構図が全身1701に変更される。全身1701の構図は、以下の場合に選択される構図である。
・静止画フレーミング中1705もしくは動画記録中1706に、動いている被写体や遠くの被写体、すなわち、被写体が画面からフレームアウトしやすい被写体を撮影するシーンであると判定された場合、または、
・被写体指定有り1707の場合。
このようなシーンでは、被写体の全身を収める構図で被写体を追うことによって、できるだけ画面から被写体がフレームアウトしないように設定される。さらに、全身1701の構図で、撮影対象の被写体が所定時間以上に静止したことが検出され、かつ、カメラから被写体までの距離が所定距離D2(第2閾値)よりも小さいと判定された場合には、構図を上半身1700に戻す処理が実行される。所定時間とは予め設定される判定用の基準時間である。
以下、被写体の動きや静止の判定方法について説明する。被写体検出部123が検出した被写体の位置やサイズの変化量、または、被写体を検出している状態で揺れ検出部125が検出した揺れ量のうち、少なくとも一つが所定量よりも大きい場合には、撮影対象の被写体が動いていると判定される。被写体検出部123が検出した被写体の位置やサイズの変化量、及び、被写体を検出している状態で揺れ検出部125が検出した揺れ量の全てが所定量よりも小さい状態が所定時間以上続いた場合に撮影対象の被写体が静止していると判定される。検出状態の継続時間については、計時用タイマで計測されるものとする。
さらに、カメラから被写体までの距離の算出方法について説明する。まず、基準とする焦点距離と、被写体サイズに対する被写体距離を予め計測しておき、メモリ118に計測データが記憶される。メモリ118に記憶された基準値に対して、「被写体距離=(基準被写体距離×焦点距離×基準被写体サイズ)/(基準焦点距離×検出サイズ)」という演算を行うことで被写体距離が算出される。例えば、基準値が基準被写体距離2m、基準焦点距離24mm、基準被写体サイズ20pix(ピクセル)である場合に、焦点距離120mmで検出サイズ40pixの被写体像を検出した場合を想定する。この場合、被写体距離は、(2m×120mm×20pix)/(24mm×40pix)=5mと算定される。
次に画面内に複数人の被写体を検出した場合の構図について説明する。静止画フレーミング中1705の上半身1700または全身1701の構図で、画面内に複数人の被写体を検出した場合、または被写体指定有りの状態から、指定が解除された場合には、複数人1703の構図に変更される。また、このときに検出した被写体の数がメモリ118に記憶される。複数人1703の構図は、静止画フレーミング中1705に、複数の全ての被写体を所定の画角に収める集合写真の撮影シーンであると判定された場合、または被写体指定無しの場合に選択される構図である。複数人1703の構図の状態では、検出された被写体の数が変化したか否かの判定処理が行われる。検出された被写体の数が増加した場合には、新しい被写体が画面内に入って来たことで、即座にメモリ118に記憶した被写体の数が更新されて、構図の変更が行われる。一方、検出された被写体の数が減少した場合には、例えば、いずれかの被写体が横を向いたときのように、一時的に検出できない状態となる可能性がある。そのため、即座に構図を変更したのでは、検出できなくなった被写体がフレームアウトしてしまう可能性がある。そこで、被写体の数が減少した場合には、その状態が所定時間以上に亘って継続したか否かが判定される。当該状態が所定時間以上継続した場合、メモリ118に記憶される被写体の数が更新され、構図が変更される。さらに、被写体が一人になった場合には構図を上半身1700に戻す処理が実行される。
動画記録中1706には、全ての被写体を画角に収める構図にすると、撮影対象以外の被写体が動き回っている場合に、その被写体に反応してズームの誤作動が発生することが懸念される。そこで、動画記録中1706に複数人の被写体が検出された場合でも、主被写体のみを撮影対象として、構図を上半身1700または全身1701のままに維持する処理が行われる。動画記録中1706での上半身1700の構図で、画面の中心付近にて顔が所定時間以上に亘って検出された場合には、構図を顔1702に変更する処理が行われる。顔1702の構図は、動画記録中1706に、撮影者が被写体の顔に注目しているシーンであると判定された場合に選択される構図である。このようなシーンでは、上半身よりもさらに顔に寄った構図とすることで、注目する被写体の顔をより大きなサイズで撮影できる。また、この構図変更によるズームイン動作中に、ズーム速度を通常の速度よりも、著しく低速もしくは高速に変更することで、さらに効果的な映像を撮影できる。さらに、顔1702の構図で、画面の周辺付近にて顔が所定時間以上に亘って検出された場合、または、撮影者がフレーミングを変更したと判定された場合には、構図を上半身1700に戻す処理が行われる。本実施形態では、画面の周辺領域を画像の特定領域として例示し、被写体検出部123の検出した被写体の顔画像の位置が周辺領域である状態の継続時間を計時用タイマが計測する。また、フレーミング変更の判定方法としては、被写体検出部123が被写体を検出していない状態であって、かつ揺れ検出部125の検出した揺れ量が所定量よりも大きい場合に、撮影者がフレーミングを変更したと判定される。
静止画フレーミング中1705に撮影者は、人物の顔の向きや表情が所望の状態となるまで同じ構図でシャッタチャンスを待ち続ける場合がある。この場合、顔に寄った構図とすると撮影者の意図とは違う構図となる可能性がある。したがって、静止画フレーミング中1705の上半身1700の構図で、画面の中心付近にて顔が所定時間以上検出されたとしても、上半身1700の構図を維持する処理が実行される。
次に、動画記録の開始/終了によって撮影状態を変更する場合の構図について説明する。上半身1700及び全身1701の各構図は、静止画フレーミング中1705や動画記録中1706のいずれの場合でも選択可能な構図である。したがって、それらの構図では撮影状態を変更しても元の構図が維持される。一方、複数人1703や顔1702の構図は、静止画フレーミング中1705や動画記録中1706のいずれかの場合にのみ選択される構図である。そこで、静止画フレーミング中1705に複数人1703の構図で動画記録が開始された場合や、動画記録中1706に顔1702の構図で動画記録が終了された場合に、共通の構図である上半身1700に変更することが考えられる。しかしながら、この場合、動画記録の開始や終了と共にズーム動作が開始することで、動画の始めにズーム動作による画像が記録されたり、静止画のフレーミングで撮影者が煩わしく感じたりすることが懸念される。そこで、そのような状態で撮影状態が変更された場合には、構図を一時的にマニュアル1704に変更する処理が実行される。マニュアル1704の構図は、構図変更後に最初に検出した主被写体像の大きさを基準サイズとする構図である。したがって、撮影状態を変更しただけで直ちにズーム動作が開始することがなく、撮影者に違和感を与えない。また、被写体が動き出した場合であっても、被写体像の大きさを維持することができる。さらに、マニュアル1704の構図で所定時間が経過した場合、構図を上半身1700に戻す処理が実行される。
以上のように図15のS1511では、構図設定が「オート」である場合に、撮影状態や被写体の数、被写体の動き等に応じて適切な構図が自動で判定される。判定後の構図を示すデータはメモリ118に記憶され、S1512に進む。
S1512では、S1511にて判定された構図が直前の構図に対して変更されたか(図17で選択された構図が遷移したか、または、複数人1703の状態で被写体数が変化した)否かが判定される。構図が変更されていない場合には、基準サイズを更新することなく、基準サイズの設定処理を終了する。構図が変更されている場合には、S1513に進み、選択された構図がマニュアル1704であるか否かについて判定される。選択された構図がマニュアル1704である場合には、S1501に進み、最初に検出された被写体の大きさが、基準サイズとしてメモリ118に記憶される。S1513にて、選択された構図がマニュアル1704でない場合には、S1514に進み、構図設定「オート」における基準サイズを算出する処理が実行される。
以下、図18から図22を参照して、構図設定「オート」における基準サイズの算出処理について説明する。構図設定が「顔」、「上半身」、「全身」のいずれかである場合には、図15のS1510において画面サイズに対して顔が一定の比率となるように、基準サイズが算出される。つまり画面上の被写体像の位置によらずに同じ基準サイズが算出される。そのため、被写体が画面の周辺にいる場合に被写体像が大きくなる(ズームインする)ように構図を変更すると、被写体がフレームアウトしてしまう可能性がある。この方法で基準サイズを算出する場合には、撮影者が被写体を画面の中央付近にフレーミングしている必要がある。したがって、被写体を画面中央からずらして背景と一緒に撮影する場合等には適していない。また、被写体が複数である場合には別の方法で基準サイズを算出する必要がある。そこで、構図設定が「オート」の場合には、図15のS1511で判定された構図に基づいて被写体像の大きさを決定するとともに、検出された被写体の位置によらず被写体が画面内に収まるように基準サイズを算出する処理が行われる。
図18は、複数の被写体のうちで最も画面周辺にいる被写体の位置と、画面サイズとの関係を示す図である。図18(A)及び(B)は静止画撮影の画面例を示し、図18(C)は動画撮影の画面例を示しており、複数人の被写体を例示する。また、図19は構図設定「オート」における基準サイズの算出処理の全体を示すフローチャートである。
まず図19のS1900にて、水平方向の被写体位置比率Rhを算出する処理が実行される。水平方向の被写体位置比率Rhとは、水平方向の画面サイズに対する所定の割合に対して、画面中央から最も周辺にいる被写体の肩部付近の水平位置(以下、肩位置といい、Xsmaxと記す)までの距離×2が占める割合である。所定の割合とは、例えば、水平方向の画面サイズの80%または90%であり、後述する図20のS2003での水平方向の並び人数に応じて変更される。図18(A)では被写体1800a,1801a,1802aのうち、水平方向にて画面中央から最も周辺にいる被写体は被写体1800aである。図20のフローチャートを参照して、水平方向の被写体位置比率Rhの算出処理について説明する。
S2000では、被写体の顔追尾枠の中心位置やサイズに基づき、被写体の肩位置(Xsと記す)が算定される。画面中央を原点(0,0)とし、顔追尾枠の中心位置を(Xc,Yc)とし、顔追尾枠のサイズをSとする。顔追尾枠の中心位置から肩位置までの距離に占める顔追尾枠の個数をNsとして、「Xs=|Xc|+S×Ns」により、画面周辺側の肩位置Xsを算出できる。図22にNsの設定例を示す。Nsの値は、図15のS1511で判定された構図にしたがって変更される。例えば、顔1702の構図の場合、Ns=1(この場合は肩位置ではなく耳付近の水平位置)が設定される。それ以外(「上半身」、「全身」、「複数人」)の場合、Ns=2が設定される。
被写体の肩位置Xsの算出後、S2001に進む。S2001では、メモリ118に肩位置の最大値Xsmaxが記憶されていない場合に、S2000で算出した肩位置Xsが最大肩位置Xsmaxとして記憶される。またメモリ118に最大肩位置Xsmaxが記憶されている場合には、S2000で算出した肩位置Xsと最大肩位置Xsmaxとが比較される。肩位置Xsが最大肩位置Xsmaxよりも大きい場合には、メモリ118の最大肩位置Xsmaxを肩位置Xsで更新する処理が実行される。最大肩位置Xsmaxの更新処理の後、S2002に進む。S2002では、全ての被写体に対して肩位置Xsを算出して最大肩位置Xsmaxを更新する処理が終了したか否かについて判定される。肩位置Xsの算出及び最大肩位置Xsmaxの更新が終了していない場合、S2000に戻る。全ての被写体に対して最大肩位置Xsmaxの判定が終了し、最大肩位置Xsmaxの更新が終了した場合には、S2003に進む。
S2003では、水平方向に被写体が並んでいる人数(水平方向の並び人数)の判定処理が行われる。これは、集合写真のように被写体が多い場合には、画面一杯に被写体が入る構図とし、被写体が少ない場合には、画面周辺に余白を残した構図とすることを目的とする。また、水平方向の並び人数のカウント方法としては、垂直方向(画面上下方向)に顔追尾枠が重なっている場合には、重なっている被写体を合わせて一人として計数される。例えば、画面内に四人の被写体が検出され、そのうちの二人の顔追尾枠が画面上下に重なっている場合には三人として計数される。S2003にて水平方向の並び人数が閾値(例えば二人)と比較される。水平方向の並び人数が二人以下と判定された場合にはS2004に進み、三人以上と判定された場合にはS2005に進む。S2004及びS2005では、水平方向の被写体位置比率Rhがそれぞれ算出される。S2004での水平方向被写体位置比率Rhは、水平画面サイズの80%に対する最大肩位置Xsmax×2の比率として算出される。またS2005での水平方向被写体位置比率Rhは、水平画面サイズの90%に対する最大肩位置Xsmax×2の比率として算出される。S2004またはS2005の後、被写体位置比率Rhの算出処理を終了する。
次に図19のS1901にて、垂直方向の被写体位置比率Rvを算出する処理が実行される。垂直方向の被写体位置比率Rvとは、垂直方向の画面サイズの所定の割合に対して、画面中央から最も周辺の被写体の頭部の垂直位置(以下、頭位置という)、または身体部の垂直位置(以下、身体位置という)までの距離×2が占める割合である。所定の割合は、例えば、垂直方向の画面サイズの90%である。以下では、画面中央から最も周辺の被写体の頭位置をYhmaxと記し、画面中央から最も周辺の被写体の身体位置をYbmixと記すことにする。図18(B)では被写体1800b,1801b,1802bのうち、垂直方向にて画面中央から最も周辺に頭部がある被写体は被写体1800bであり、また画面中央から最も周辺の身体位置の被写体は被写体1801bである。図21のフローチャートを参照して、垂直方向の被写体位置比率Rvの算出処理について説明する。
図21のS2100では、被写体の顔追尾枠の中心位置やサイズに基づいて、被写体の頭位置(Yhと記す)が算出される。「Yh=Yc+S×Nh」により頭位置Yhを算出できる。Nhは、顔追尾枠の中心位置から頭位置までの距離に占める顔追尾枠の個数である。図22にNhの設定例を示す。Nhの値については、図15のS1511で判定された構図によらず、Nh=1.5で設定される。被写体の頭位置Yhの算出後にS2101に進む。
S2101では、メモリ118に頭位置の最大値Yhmaxが記憶されていない場合に、S2100で算出された頭位置Yhを最大頭位置Yhmaxとして記憶する処理が実行される。またメモリ118に最大頭位置Yhmaxが記憶されている場合には、S2100で算出された頭位置Yhと最大頭位置Yhmaxとが比較される。頭位置Yhが最大頭位置Yhmaxよりも大きい場合には、メモリ118の最大頭位置Yhmaxを頭位置Yhで更新する処理が行われる。更新処理後にS2102へ進む。
次のS2102では、被写体の顔追尾枠の中心位置やサイズに基づいて、被写体の身体位置(Ybと記す)が算出される。「Yb=Yc−S×Nb」により身体位置Ybを算出できる。Nbは、顔追尾枠の中心位置から身体位置までの距離に占める顔追尾枠の個数である。図22にNbの設定例を示す。Nbの値については、図15のS1511で判定された構図に応じて変更される。例えば、顔1702の構図の場合にはNb=1.5が設定される。上半身1700の構図の場合にはNb=5、全身1701の構図の場合にはNb=10、複数人1703の構図の場合にはNb=3.5がそれぞれ設定される。この設定は、各構図にて画面中央で、顔1702では胸、上半身1700では腰下、全身1701では足、複数人1703では腰上付近の位置となる設定である。被写体の身体位置Ybの算出後、S2103に進む。
S2103では、メモリ118に身体位置の最小値Ybminが記憶されていない場合に、S2102で算出された身体位置Ybを最小身体位置Ybminとして記憶する処理が実行される。またメモリ118に最小身体位置Ybminが記憶されている場合には、S2102で算出された身体位置Ybと最小身体位置Ybminとが比較される。身体位置Ybが最小身体位置Ybminよりも小さい場合には、メモリ118の最小身体位置Ybminを身体位置Ybで更新する処理が行われる。更新処理後にS2104へ進む。
S2104では、全ての被写体に対して頭位置Yh及び身体位置Ybが算出されて、最大頭位置Yhmax及び最小身体位置Ybminを更新する処理が終了したか否かについて判定される。最大頭位置Yhmax及び最小身体位置Ybminの更新が終了していない場合には、S2100に戻る。全ての被写体に対して最大頭位置Yhmax及び最小身体位置Ybminの判定が終了し、最大頭位置Yhmax及び最小身体位置Ybminの更新が終了した場合には、S2105に進む。S2105では最大頭位置Yhmaxの絶対値と、最小身体位置Ybminの絶対値とが比較され、どちらがより画面周辺に位置するかを判定する処理が行われる。最大頭位置Yhmaxの方がより画面周辺に位置すると判定された場合には、S2106に進む。また、最小身体位置Ybminの方がより画面周辺に位置すると判定された場合には、S2107に進む。S2106及びS2107では、垂直方向の被写体位置比率Rvがそれぞれ算出される。S2106での垂直方向被写体位置比率Rvは、垂直画面サイズの90%に対する最大頭位置Yhmaxの絶対値×2の比率として算出される。またS2107での垂直方向被写体位置比率Rvは、垂直画面サイズの90%に対する最小身体位置Ybminの絶対値×2の比率として算出される。S2106またはS2107の後、垂直方向被写体位置比率Rvの算出処理を終了する。
続いて図19のS1902にて、水平方向の被写体位置比率Rhと、垂直方向の被写体位置比率Rvとが比較される。これによって、各方向の画面サイズの所定比率に対して、画面中央から被写体の各位置までの距離の比率のうちで、最も比率が大きい位置、すなわち、最も画面周辺となる位置を判定することができる。各位置とは、最大肩位置Xsmax、最大頭位置Yhmax、最小身体位置Ybminである。水平方向被写体位置比率Rhが垂直方向の被写体位置比率Rvより大きいと判定された場合には、S1903に進み、水平方向被写体位置比率Rhが垂直方向の被写体位置比率Rv以下であると判定された場合には、S1904に進む。S1903及びS1904では、主被写体の検出サイズと、S1902で判定した最も画面周辺となる被写体位置の比率に基づいて、基準サイズを算出する処理が実行される。基準サイズは、S1903にて「検出サイズ/水平方向被写体位置比率Rh」により算出され、S1904にて「検出サイズ/垂直方向被写体位置比率Rv」により算出される。すなわち、S1903では、主被写体像がそのサイズに「1/水平方向被写体位置比率Rh」を乗算した基準サイズとなるようにズーム動作が実行される。S1904では、主被写体像がそのサイズに「1/垂直方向被写体位置比率Rv」を乗算した基準サイズとなるようにズーム動作が実行される。こうすることで、画面内の被写体をフレームアウトさせることなく、図15のS1511で判定された構図に基づく画角に設定できる。
図15のS1514では、構図設定が「オート」の場合、S1511で判定された構図に基づいて水平方向及び垂直方向で最も画面周辺となる被写体位置が判定され、その位置が画面に収まるように基準サイズが算出される。これによって、被写体像が画面内のどの位置であったとしても、フレームアウトすることなく被写体を適切な画角に収めることができる。また、被写体の数が単数である場合でも複数である場合でも、同じ処理によって基準サイズが算出可能となる。なお、本実施形態では被写体が人物である場合の構図判定や基準サイズ算出を例示したが、被写体が物体である場合にも適用できる。ただし、この場合には、選択される構図は「顔」、「上半身」、「全身」、「複数人」の代わりに、「大」、「中」、「小」、「複数」とする。それらに応じて被写体位置を算定する場合のモノ追尾枠の個数(人物の場合のNs,Nh,Nbに相当)を設定してもよい。
図15に示す基準サイズ設定処理が終了すると、図8のS805に処理を進める。S805でAZ制御部122は、被写体検出部123により検出された被写体情報やメモリ118に記憶された基準サイズに基づいてオートズーム制御を行う。オートズーム制御については、図23を用いて後述する。オートズーム制御の終了後、S806に進み、AZ制御部122は、撮影者による被写体探索指示を判定する。つまり、撮影者が操作部117の被写体探索ボタンを押下したか否かについて判定される。被写体探索ボタンが押下された場合には、S802に戻り、被写体探索処理が実行される。また、被写体探索ボタンが押下されていない場合には、S807に進む。S807では、操作部117のタッチパネルや被写体指定用スイッチ等の操作によって、オートズームの対象とする被写体が変更されたか否かについて判定される。被写体が変更された場合には、S803に戻って被写体指定処理が実行される。また、被写体が変更されていない場合には、S808に進む。
S808では、撮影画面から操作部117の左右ボタンの操作によって構図設定が変更されたか否かについて判定される。構図設定が変更された場合には、メモリ118に記憶されている構図設定のデータが更新された後、S804に戻って基準サイズ設定処理が実行される。また、構図設定が変更されていない場合には、S809に進む。S809では、操作部117のオートズーム操作スイッチが押下されたか否かについて判定される。オートズーム操作スイッチが押下されたと判定された場合、オートズーム機能を終了する。また、オートズーム操作スイッチが押下されていないと判定された場合、S810に進む。S810は、メモリ118に記憶されている構図設定が「オート」であるか否かの判定処理である。構図設定が「オート」である場合には、S804に戻って自動構図判定を含む基準サイズの設定処理が実行される。また、構図設定が「オート」以外である場合には、S805に戻ってオートズーム制御が継続する。
次に図23のフローチャートを参照して、S805のオートズーム制御の処理について説明する。まず、S2300にてAZ制御部122は、被写体検出部123により被写体が検出されたか否かを判定する。S2300で被写体が検出されなかった場合にはオートズーム制御を終了する。S2300で被写体が検出された場合にはS2301へ進む。S2301からS2303の各ステップに示す判定は、フレームアウト防止制御のためのオートズームの開始判定処理である。すなわち、この処理は、図4及び図5で説明したように、被写体が画面の外にフレームアウトすることを防止するために行われる。S2301でAZ制御部122は、追尾対象とする被写体に係る被写体追尾枠が、ZO領域に進入したか否かを判定する。このZO領域は、図4(A)、図5(A)〜(C)で説明したZO領域に相当する。S2301にて被写体追尾枠がZO領域に進入した場合、すなわち、被写体がフレームアウトする可能性が高い場合、S2304に進み、ズームアウト動作を開始する。ここでのズームアウト動作は、フレームアウト防止制御用のズームアウト動作に相当する。ズームアウト動作の後、オートズーム制御を終了する。
一方、S2301にて被写体追尾枠がZO領域に進入していない場合、すなわち、画面中央付近でカメラが被写体を捉えている場合、S2302に進む。S2302では、直前のズーム動作がS2301でZO領域に進入したことによるズームアウト動作であるか否か、すなわち、フレームアウト防止制御用のズームアウト動作であるか否かが判定される。S2302でフレームアウト防止制御用のズームアウト動作後であると判定された場合、S2303に進む。また、S2302でフレームアウト防止制御用のズームアウト動作後でないと判定された場合、S2306に進む。
S2303にてAZ制御部122は、追尾対象とする被写体に係る被写体追尾枠がZI領域の内部に収まっているか否か(包含されているか否か)を判定する。ここでのZI領域は、図4(B)、図5(A)〜(C)で説明したZI領域に相当する。S2303にて被写体追尾枠がZI領域に収まっていないと判定された場合、オートズーム制御処理を終了する。一方、被写体追尾枠がZI領域に収まっていると判定された場合、S2305に進む。すなわち、画面中央付近であって、かつズーム戻り位置の画角内の被写体サイズとなるようにカメラが被写体を捉えている場合、S2305でズームイン動作を開始する。ここでのズームイン動作は、フレームアウト防止制御用のズームイン動作に相当する。ズームイン動作の後、オートズーム制御を終了する。
本実施形態では、オートズームにおけるフレームアウト防止制御とサイズ保持制御を両立させるために、まずフレームアウト防止制御により被写体を画面中央付近に捉えたうえで、サイズ保持制御を実行できるようにする。そのため、フレームアウト防止制御用のズームアウト動作後の状態では、以降で説明する被写体サイズを一定に維持する(サイズ保持制御の)オートズーム処理(以下のS2306〜S2310)を行わないようにしている。換言すると、フレームアウト防止制御が行われた場合には、フレームアウト防止制御用のズームイン動作が完了するまでサイズ保持制御の実行が制限される。
次に、S2306〜S2310の各処理を説明する。S2302でフレームアウト防止制御用のズームアウト動作後でないと判断された場合、S2306に進み、AZ制御部122は、被写体の検出サイズと、基準サイズに所定倍率(N1と記し、N1>1とする)を乗算したサイズとを比較する。図15のS1502やS1510、S1514で設定される基準被写体情報の被写体サイズと、S2300にて検出された被写体サイズとが比較される。S2300にて検出された被写体のサイズが、基準被写体のサイズに対してN1倍より大きい場合、すなわち被写体像が画面に占める比率が所定値を超える場合、S2309に進む。S2309でAZ制御部122は、ズームアウト動作を開始する。ここでのズームアウト動作は、サイズ保持制御用のズームアウト動作に相当する。ズームアウト動作の後、オートズーム制御を終了する。
一方、S2306において、S2300で検出された被写体のサイズが、基準被写体のサイズに対してN1倍以下である場合、S2307に進む。S2307でAZ制御部122は、基準被写体情報の被写体サイズと、S2300にて検出された被写体のサイズとを比較する。検出された被写体のサイズが、基準被写体のサイズに対して所定倍率(N2と記し、N2<1とする)より小さい場合(N2倍未満の場合)、すなわち被写体像が画面に占める比率が所定値未満である場合、S2308に進む。一方、検出された被写体のサイズが、基準被写体のサイズに対してN2倍以上である場合、オートズーム制御を終了する。
S2308にてAZ制御部122は、追尾対象とする被写体に係る被写体追尾枠がZI領域の内部に収まっているか否か(包含されているか否か)を判定する。これは、被写体が画面の周辺にいる場合にズームイン動作によってフレームアウトしてしまうことを防ぐためである。ここでのZI領域は、図6(E)で説明したZI領域に相当する。S2308で被写体追尾枠がZI領域に収まっていないと判定された場合、オートズーム制御を終了する。
一方、S2308で被写体追尾枠がZI領域に収まっていると判定された場合、S2310に進む。S2310にてAZ制御部122は、ズームイン動作を開始する。ここでのズームイン動作は、サイズ保持制御用のズームイン動作に相当する。このように、本実施形態では、サイズ保持制御用のズームイン動作においても被写体のフレームアウトを防ぐために、被写体像がZI領域の内部に収まってからズームイン動作を開始する。ズームイン動作の後、オートズーム制御を終了する。
次に、図24を参照してズーム動作について説明する。図24は、図23のS2304、S2305、S2309、S2310でのズームアウト動作またはズームイン動作を説明するフローチャートである。まずS2400において、AZ制御部122は、メモリ118からズーム変化量(ズーム倍率の変化量)を取得する。フレームアウト防止制御用のズームアウト動作の場合、ズームアウト変化量は検出された被写体情報に応じて設定される。具体的には、フレームアウト防止制御用のズームアウト動作(図23のS2304)では、被写体のサイズが小さいほどズームアウト変化量が小さく設定される。それにより、ズームアウト動作によって被写体のサイズが小さくなりすぎるために被写体が検出できなくなるのを防ぐことができる。なお、被写体検出可能な最小サイズを考慮して、被写体のサイズが所定のサイズより小さい場合は、ズームアウト動作を行わないようにしてもよい。また、フレームアウト防止制御用のズームイン動作では、ズームアウト動作の開始前のズーム倍率がメモリ118に記憶され、ズームアウト動作の開始前と同じズーム倍率となるようにズームイン変化量が設定される。
また、サイズ保持制御用のズームアウト動作(図23のS2309)においては、S2306の判定に用いる所定のN1倍に対応するズームアウト変化量(1/N1倍)が設定される。それにより、被写体が検出できない場合でも、被写体のサイズが基準被写体のサイズとなるまでの最低限のズームアウト動作を行うことができる。サイズ保持制御用のズームイン動作(図23のS2310)の場合にも同様に、S2307の判定に用いる所定のN2倍に対応するズームイン変化量(1/N2倍)が設定される。
S2401でAZ制御部122は、S2400にて取得したズーム変化量をCZ制御部119または電子ズーム制御部120に設定し、変倍処理を行うように指示する。次のS2402でAZ制御部122は、フレームアウト防止制御用とサイズ保持制御用のうちの、いずれのズーム動作中であるかを判定する。現時点でのズーム動作がフレームアウト防止制御用のズーム動作である場合(図23のS2304、S2305)にはS2405に進む。また、現時点でのズーム動作がサイズ保持制御用のズーム動作である場合(図23のS2309、S2310)にはS2403に進む。
S2403でAZ制御部122は、被写体検出部123によって被写体が検出されているか否かを判定する。被写体が検出されている場合にはS2404に進み、被写体が検出されていない場合にはS2405に進む。S2404では、基準被写体情報の示す被写体のサイズと、S2403で検出された被写体のサイズとが比較される。比較の結果、S2403にて検出された被写体のサイズと、基準被写体のサイズとが所定比率の範囲内(所定の変化量以内)に収まらない場合には、再度S2402に進み、ズーム動作の判定を継続する。ズーム動作によって、S2403にて検出された被写体のサイズと、基準被写体のサイズとが、所定比率の範囲内となった場合には、S2406に進む。S2406でAZ制御部122はズーム動作を停止した後、ズーム動作処理を終了する。
S2402にて、フレームアウト防止制御用のズーム動作中と判定された場合、または、サイズ保持制御用のズーム動作中でS2403にて被写体が検出されない場合にはS2405に進む。S2405にてAZ制御部122は、S2400で取得したズーム変化量に基づき、各ズーム動作に応じた所定量分のズーム変化量に相当する変倍処理を行ったか否かを判定する。所定のズーム変化量の変倍処理が行われていない場合には、再度S2402に戻って処理を継続する。また所定のズーム変化量の変倍処理が行われた場合には、S2406に進み、AZ制御部122は動作中のズームを停止してズーム動作処理を終了する。
本実施形態では、被写体の動きや数、被写体の検出時間、カメラから被写体までの距離などによって撮影シーンを判別し、シーンに応じて適切な構図をカメラが自動で選択する。また、静止画と動画の撮影状態、被写体の指定の有無に応じて選択する構図が変更される。さらに、構図選択処理により選択された構図に基づき、被写体像の基準サイズが設定され、検出した被写体の画像が基準サイズとなるようにズーム動作が実行される。これによって、撮影者が構図を選択することなく、被写体の指定の有無に応じて適切な構図となるオートズーム制御を実現できる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。