以下、本発明の被写体検出装置と角速度算出装置をデジタルカメラに適用した例を説明するが、本発明において撮像や撮像画像の記録に関する機能は必須でない。
図2は、本発明の実施例1及び2に共通するデジタルカメラ100の機能構成を模式的に示すブロック図である。デジタルカメラ100は、光学系を有するレンズ装置(交換レンズ)が撮像装置本体に交換可能に装着されるレンズ交換型だけでなく、レンズ一体型撮像装置であってもよい。本実施形態のデジタルカメラ100はレンズ一体型撮像装置である。また、デジタルカメラ100は、デジタルビデオカメラ、デジタルスチルカメラ、携帯電話、スマートフォンなどにも適用可能である。
撮像光学系(結像光学系)101は、レンズ、シャッター、絞りを含み、主被写体からの光を撮像素子102に結像させる(主被写体の光学像を形成する)。レンズ交換型では、撮像光学系101を有するレンズ装置が撮像素子を有するカメラ本体(撮像装置)に着脱可能に構成される。
レンズは、フォーカスレンズ、ズームレンズ(変倍レンズ)、シフトレンズ等を含む。フォーカスレンズは、光軸方向に移動されて焦点調節を行う。ズームレンズは、光軸方向に移動されて焦点距離を変更する。シフトレンズは、光軸に直交する方向に移動されて光軸を偏心させることによって、像振れや流し撮りにおける主被写体の角速度とパンニング角速度の差に起因する主被写体のブレを補正する。なお、「直交する方向」は光軸に直交する成分があれば足り、光軸に斜めに移動されてもよい。絞りは、撮像素子102に入射する光量を調節する。
撮像光学系101が有する可動部材(シャッター、絞り、フォーカスレンズ、シフトレンズ)の駆動は制御部120が制御する。なお、レンズ交換型であれば、レンズ装置のマイクロコンピュータから構成されるレンズ制御手段が、カメラ本体のカメラ制御手段の制御の下で、撮像光学系の可動部材の駆動を制御する。また、可動部材の位置を検出する不図示の位置検出センサが設けられ、その情報は制御部120又は不図示のレンズ制御手段に送られる。例えば、ズームレンズの位置を検出する不図示のズームエンコーダが設けられており、制御部120又はレンズ制御手段は、ズームエンコーダの検出信号により撮像光学系101の焦点距離の情報を得ることができる。
撮像素子102は、CCDイメージセンサやCMOSイメージセンサから構成され、2次元配置された複数の画素を有する。各画素は主被写体の光学像を光電変換する光電変換機能を有し、撮像光学系101が撮像面に結像した主被写体を画素ごとに(アナログ)電気信号に変換する。
振れセンサ105は、デジタルカメラ100の動き(振動)に応じた検出信号を発生し、不図示のアンプを介して制御部120に出力する。振れセンサ105は、例えば、ジャイロセンサのような角速度センサであってよく、動きの方向成分(例えばx,y,z軸成分)ごとに信号を発生する。なお、レンズ交換型においては、振れセンサ105は、レンズ装置とカメラ本体の一方に設けられていれば足りる。
制御部(制御手段)120は、例えば、CPUやMPUのようなプログラマブルプロセッサを1つ以上有するマイクロコンピュータとして構成され、デジタルカメラ100の各部を制御する。なお、レンズ交換型であれば、カメラ制御手段がカメラ本体の各部を制御し、レンズ制御手段がレンズ装置の各部を制御する。
制御部120は、例えば、二次記憶装置108に記憶されたプログラムを一次記憶装置104に読み込んで実行することにより、デジタルカメラ100の各機能ブロックの動作を制御し、各種機能を実現する。制御部120は、被写体検出部(被写体検出手段、被写体検出装置)121、角速度算出部(角速度算出手段、角速度算出装置)122、流し撮り制御部(流し撮り制御手段、流し撮り制御装置)123を備える。なお、レンズ交換型においては、レンズ装置に備えられたレンズ制御手段が被写体検出手段、角速度算出手段、流し撮り制御手段の一または複数の機能を有してもよい。
被写体検出部121は、画像処理部106で検出された動きベクトルを用いて主被写体領域と背景領域とを区別して主被写体を検出する。角速度算出部122は、主被写体の角速度を算出する。流し撮り制御部123は、主被写体角速度とパンニング角速度の差分に基づく主被写体のブレを補正して主被写体が静止した画像が得られるようにシフトレンズの駆動を制御する。なお、本実施形態では、カメラの回転移動のうちパンニングのみを説明するが、チルティングにも当てはまる。像振れ補正については、例えば横方向と縦方向といった、直交する2軸に関して検出および補正が行われるが、同様の構成により行われるので、以下では1軸分のみ説明する。
一次記憶装置104は、例えば、RAMのような揮発性装置であり、データの一時的な記憶や、制御部120の動作に使われる。また、一次記憶装置104に記憶されている情報は、画像処理部106で利用されたり、記録媒体107に記録されたりもする。二次記憶装置108は、例えば、EEPROMのような不揮発性記憶装置であり、制御部120が実行するプログラム、ファームウェア、各種の設定情報、GUIデータなどを記憶する。
記録媒体107は不揮発性で、一次記憶装置104に記憶されている画像データなどを記録する。記録媒体107は、非一時的なコンピュータ可読記憶媒体として機能する。記録媒体107の読み書きは、制御部120が制御する。記録媒体107が、例えば、半導体メモリカードのようにデジタルカメラ100から取り外し可能である場合、デジタルカメラ100は、記録媒体107の着脱機構を有する。
表示部(表示手段)109は、ライブビュー表示、一次記憶装置104に記憶されている画像(記録媒体107への記録前の画像または記録媒体107から読み出された画像)の表示、対話的な操作のためのGUIの表示を行う液晶パネル(LCD)から構成される。表示部109はタッチディスプレイであってもよい。
操作部(操作手段)110は、ユーザがデジタルカメラ100に各種の入力を行うための入力デバイス群である。操作部110には、例えば、スイッチ、ボタン(レリーズボタンなど)、レバー、タッチパネル等の物理的な操作を必要とする入力デバイスだけでなく、音声入力や視線入力を受け付ける入力デバイスが含まれていてもよい。操作部110は、デジタルカメラ100の電源のオンオフ、ライブビュー表示、各種撮影モード(ライブビュー撮影モード、動画モード、静止画モード、流し撮りモード)や再生モードを設定することができる。流し撮りは、流し撮りの対象となる主被写体(動体)を追いながら通常よりも遅いシャッター速度で撮影するが、長秒撮影のため露光期間中に主被写体角速度とパンニング角速度とを合わせることが難しい。このため、主被写体角速度とパンニング角速度との差に起因する主被写体のブレをシフトレンズを用いて補正する流し撮りモードが設けられている。
また、操作部110は、レリーズボタンのハーフストロークでONになるスイッチ(SW1)と、フルストロークでONになるスイッチ(SW2)を有している。SW1のONは撮影準備動作の開始指示である。撮影準備動作には、AF(オートフォーカス)処理およびAE(自動露出)処理が含まれる。AE処理やAF処理は、例えば、ライブビュー表示用の画像から得られる情報に基づいて制御部120が実施することができる。SW2のONは記録用画像の撮影動作の開始指示である。記録用画像は表示用画像と解像度が異なる以外は同様に生成され、一次記憶装置104に格納される。そして、制御部120は、必要に応じて画像処理部106で符号化処理を行ったのち、記録形式に応じたデータファイルに格納し、記録媒体107に記録する。
画像処理部(画像処理手段)106は、撮像素子102が出力する電気信号に対してA/D変換や相関2重サンプリングなどの前処理や、前処理が適用された信号に対してホワイトバランス調整やデモザイク処理などのいわゆる現像処理などを行う。また、画像処理部106は、RGB−YCbCr変換などの信号形式の変換、記録形式に応じた符号化および復号、画像の縮小および拡大、画像の合成、色調の調整、AF評価値の生成、特定主被写体の検出および認識処理等、様々な画像処理を実行することができる。代表的な特定主被写体は人物の顔であり、特定主被写体の認識処理は表情や個人の認識であるが、これらに限定されない。
また、画像処理部106は、動きベクトル検出手段106aを備えている。動きベクトル検出手段106aは、少なくとも2枚のフレーム画像を入力し、入力した2枚のフレーム画像に設定された複数の領域のそれぞれの動きベクトルを検出する。動きベクトル検出手段106aの検出信号は制御部120に出力される。
被写体検出部121は、動きベクトル検出手段106aが検出した動きベクトルの情報に基づいて、動きベクトルの大きさと度数との関係を示すヒストグラムを作成する。次に、被写体検出部121は、ヒストグラムにおいて、所定の閾値以上の度数を有する動きベクトルの大きさの情報に基づいて、動体の動きベクトルを検出し、これによって、主被写体が存在する画面上の領域を選択する。所定の閾値は、デジタルカメラ100の回転速度であるパンニング角速度に対応する像面上の移動量に基づいて設定される。なお、被写体検出部121は、他の方法を使用して被写体を検出してもよい。
また、角速度算出部122は、被写体検出部121によって検出された主被写体の動きベクトルのスカラー量(移動量)、後述する距離d、及びパンニング角速度の情報に基づいて主被写体(動体)の角速度を算出する。
デジタルカメラ100は、画像処理部106が行う画像処理の組み合わせパターンを予め二次記憶装置108に記憶しており、ユーザは使用するパターンを操作部110から設定することができる。画像処理部106の機能の少なくとも一部は、FPGAやASICのようなハードウェアで実現されてもよいし、例えば、画像処理部106(あるいは制御部120)が有するプロセッサがプログラムを実行することによって実現されてもよい。
操作部110を用いて撮影者がデジタルカメラ100の電源をONにすると、その状態変化を制御部120が検出し、制御部120は各回路への電源供給および初期設定処理を実行する。レンズ交換型であれば、カメラ制御手段は、レンズ装置への電源供給を行い、レンズ制御手段はレンズ装置内の初期設定を実行する。レンズ制御手段とカメラ制御手段との間で所定のタイミングで通信が始まる。カメラ本体からレンズ装置へはカメラ本体の状態、撮影設定等が送信され、レンズ装置からカメラ本体へはレンズ装置の撮影条件(焦点距離、撮影距離、主点間隔等)の情報が送信される。
図3は、操作部110によって流し撮りモードが選択された場合の制御部120の動作を示すフローチャートである。「S」はステップ(工程)を表す。図3に示すフローチャートは、コンピュータに各ステップを実行させるためのプログラムとして具現化が可能であり、かかるプログラムは非一時的なコンピュータ可読記憶媒体や二次記憶装置108に格納されてもよい。この動作は、例えば、デジタルカメラ100の起動後、または再生モードから撮影モードに切り替えられた場合に開始することができる。
撮影モードにおいては、ライブビュー表示を行うための動画撮影を継続的に実行する。ライブビュー表示用の動画撮影に関する露出制御(撮像素子102の蓄積時間制御)および撮像光学系101の焦点調整は、例えば、撮影で得られたフレーム画像から得られる輝度情報や評価値に基づいて制御部120が実行する。
図3に示すフローチャートは、フレームレート(被写体像の取得周期)単位で実行されてもよい。フレームレートは、単位時間(例えば、1秒)当たりに処理させるフレーム数(静止画像数、コマ数)であり、fpsという単位で表す。また、振れセンサ105から取得するパンニング角速度データは、割り込み処理で取り込まれる。
図5は、実空間の主被写体Obの移動と撮像面IP上の主被写体(主被写体像)OIの移動の関係を示す模式図である。結像光学系を代表する薄肉レンズの主点Hから移動前の主被写体Obの光軸上の位置P1までの第1の距離(被写体距離)をs、主点(H=)H’から撮像面IPの光軸上の位置P’1までの第2の距離(像距離)をs’とする。すると、焦点距離fは、次式のように表すことができる。(1)式は、ガウスの結像式と呼ばれている。
一方、撮像面IP上の主被写体OIの動きベクトルを表す移動量をvとすると、主被写体Obの移動角度θ(度)は、次式のように表すことができる。
ここで、被写体距離sが像距離s’に比べて十分に大きいとき、像距離s’は焦点距離fと等しくなるとみなすことができ、(2)式は、次式のように表すことができる。
(3)式を用いると、焦点距離f(mm)と主被写体OIの動きベクトル(像面上の主被写体OIの移動量v)から主被写体Obの移動角度θが求められる。また、主被写体Obの角速度ω(度/秒)は、次式に示すように、被写体像の取得周期の逆数を示す動きベクトルを検知する際のフレームレートρ(1/秒)と主被写体Obの移動角度θの積で求められる。
(3)式と(4)式から(5)式と(6)式が得られる。
従来、(5)式は、主被写体を背景から区別する目的にも適用されていた。(5)式のωに振れセンサ105から取得したパンニング角速度ωpを設定することによって背景の像面上の移動量をvpとして取得し、これを閾値として使用することによって主被写体を検出していた。
また、従来、(6)式は、主被写体の角速度ωsを計算する目的でも使用されていた。即ち、撮像装置をパンニングすると、像面上の主被写体の角速度ωは、次式で示すように、実空間における主被写体Obの角速度ωsからパンニング角速度ωpを減算したものとなる。
ω=ωs−ωp (7)
(7)式から、主被写体Obの角速度ωsは以下のように算出される。
ωs=ω+ωp (8)
即ち、(6)式で算出される像面上の主被写体の角速度ωに振れセンサ105から取得したパンニング角速度ωpを加えることによって主被写体Obの角速度ωsを算出していた。また、従来の流し撮り制御部は、その後の流し撮りにおいて、振れセンサ105から取得したパンニング角速度が、主被写体Obの角速度ωsに一致しない場合にその差分情報に基づいてシフトレンズを駆動していた。
しかしながら、像距離s’に比べて被写体距離sが十分に大きくない場合は、像面上の主被写体OIの角速度ωの算出精度が低下する。この問題は、像距離s’を焦点距離fで近似しなくても発生する。なぜなら、図5では、回転中心がレンズの主点となっているが、実際の回転中心位置はレンズの主点からずれているからである。撮影者がデジタルカメラ100を眼前でパンニングしたときは撮像面IPが回転中心となり、腕を伸ばす等してパンニングしたときは撮像面IPから被写体と反対側にずれた位置が回転中心となる。この回転中心の位置のずれに起因して、(5)式を利用した被写体検出精度や、主被写体Obの角速度ωsの算出精度、ひいては主被写体OIのブレ補正の精度が低下するおそれがあった。
そこで、本実施例では、(5)式及び(6)式を修正することによって、これらの課題を解決している。
S100において、制御部120は、S103で主被写体の角速度を算出する際に必要な情報を取得する。制御部120は、後述する(13)式に基づいて距離dの情報を取得する。
図1は、実施例1による、光軸上の撮像面IPの位置P’1に回転中心がある場合の距離dを説明するための模式図である。図1は、主被写体Obの移動と、主被写体Obからの光が厚肉レンズを通って撮像面IP上に結像した主被写体(主被写体像)OIの移動と、の関係を示している。
移動前の主被写体Obは光軸O上の位置P1にあり、主被写体Obは光軸Oに垂直な方向に距離(移動量)Xだけ離れた位置P2に移動するものとする。また、像面上の移動前の主被写体OIは光軸上の位置P’1にあり、移動後は光軸Oに垂直な方向に距離(移動量)X’だけ離れた位置P’2に移動するものとする。前側主点Hと位置P1との被写体距離(前側主点Hを基準とした被写体までの第1の距離)sと主被写体Obの移動角度θを用いて、主被写体Obの移動量Xを次のように表すことができる。
ここで、後側主点H’と撮像面IPの光軸上の位置P’1との像距離(後側主点を基準とした撮像面までの第2の距離)をs’とする。このとき、撮像面IP上の主被写体OIの移動量X’は、三角形HPXと三角形H’P’X’が相似であることから、主被写体Obの移動角度θを用いて次式のように表すことができる。
ここで、デジタルカメラ100の回転角度(光軸と、回転中心と移動後の主被写体Obを結ぶ細破線とがなす角度)をφ、撮像面IPから移動後の主被写体Obまでの光軸上の第3の距離(位置P’1と位置P1の間の距離)である撮影距離をLとする。すると、主被写体Obの移動量Xは次式のように表すことができる。
ここで、撮像面IP上の主被写体OIの位置P’2から光軸Oに対して、光軸Oとなす角度がφとなるように直線(太破線)を引き、この直線が光軸Oと交わる、回転中心に対応する点Rと撮像面IPとの光軸上の距離dを定義する。すなわち、距離dは、デジタルカメラ100の回転角度と一致する角度分の移動量が連続して撮像された画像間の主被写体の動きから求めた移動量と一致するような撮像面からの光軸上の距離である。回転中心位置P’1に対応する点Rと撮像面IP上の主被写体OIの移動前後の位置P’1、P’2が形成する三角形(RP’1P’2)と、回転中心位置P’1と実空間の移動前後の被写体Obの位置P1、P2が形成する三角形(P’1P1P2)は相似形となる。移動後の主被写体Obの位置P2に対応する撮像面IP上の主被写体OIの位置P’2から、光軸Oに対して回転中心位置P’1から見た移動後の主被写体Obの位置P2の角度φをなす直線を引く。そして、この直線が光軸Oと交わる点Rと撮像面IPとの光軸上の距離が距離dとなる。距離dと角度φを用いて、撮像面IP上の主被写体OIの移動量X’を次のように表すことができる。
(9)式を(11)式に代入してXを消去し、距離s、Lと角度θ、φの関係式を得る。同様に(10)式を(12)式に代入してX’を消去し、距離s’、dと角度θ、φの関係式を得る。これら二つの関係式から角度を消去すると、次式を得ることができる。
本実施例では、制御部120は、(13)式に示す距離dを(5)式におけるfの代わりに使用し、更に、(5)式のωをパンニング角速度ωpとし、vを撮像面上の移動量vpとすると(14)式が得られる。また、(13)式に示す距離dを(6)式におけるfの代わりに使用すると(15)式が得られる。
(1)式は厚肉レンズでも成立し、sとs’と主点間隔の和が撮影距離Lとなる。本発明では、このように、撮影距離(第3の距離)Lを使用している点に1つの特徴がある(もちろん、Lの代わりにs、s’及び主点間隔の和を用いてもよい)。即ち、撮像光学系がとり得る各焦点距離で、撮影距離Lにある主被写体Obが撮像面上に結像するとき、距離s及びs’は一意に決定される。このため、距離dは(13)式を用いて予め計算することが可能である。二次記憶装置108(交換レンズ型カメラであればレンズ装置の不図示の記憶手段)は、撮像光学系101の焦点距離fと撮影距離L(に基づいて一意に決定されるs’及びs)から(13)式に基づいて決定される距離dの情報を記憶している。このようにして、主被写体Obの角速度ω(度/秒)が求められる。
制御部120がS100で取得する距離dの情報は、一次記憶装置104に書き込まれる。なお、レンズ交換式カメラでは、レンズ装置が交換された場合に二次記憶装置108の距離dを更新するように構成してもよい。
次に、制御部120はS100で振れセンサ105からパンニング角速度ωpの情報を取得する。レンズ装置が振れセンサ105を内蔵している場合は距離dと同時にパンニング角速度を取得してもよい。
次に、S101において、制御部120は、撮像素子102から画像を取得して一次記憶装置104へ保存する。保存された画像は画像処理部106へと送られて、画像処理が施される。もしくは、撮像素子102から画像処理部106へと転送し、画像処理を施した後の画像を一次記憶装置104に保存してもよい。
次に、S102において、制御部120は主被写体OIの動きベクトルを取得する。主被写体OIの動きベクトルは連続して撮像された2枚の画像間の動き量として画像処理部106で計算される。主被写体OIの動きベクトルは、S102で撮像素子102から読み出された画像から計算してもよいし、画像処理が施された後の画像から計算してもよい。制御部120は、ベクトル検出用に特別な画像処理を施すように画像処理部106を制御してもよい。検出に用いられた画像は一次記憶装置104に保存され、次の画像が取得された時に比較用の画像として用いられる。
次に、S103において、制御部120は、像面上の主被写体OIの角速度ωを算出する。まず、被写体検出部121は、S102で取得された被写体の動きベクトルから主被写体の動きベクトルを検出する。(14)式のvpをヒストグラムの閾値に用いる。背景のように移動していない被写体の動きベクトルは、移動量vpと略同じ撮像面IP上の移動量を持つのでこれを除けばよい。即ち、S102で取得した動きベクトルのうち、背景の移動量と一致していないとみなせる動きベクトルを主被写体の動きベクトルとして判定する。(5)式の代わりに(14)式を使用することによって、主被写体の判定精度を高めることができる。次に、角速度算出部122は、検出された主被写体OIの角速度ωを(15)式を用いて算出し、(8)式に基づいて主被写体OIの角速度ωをパンニング角速度ωpに加算することによって主被写体Obの角速度ωsを算出する。(6)式の代わりに(17)式を使用することによって、主被写体の角速度の算出精度を高めることができる。
次に、S104において、制御部120は、操作部110を介してSW2がONかどうか判定する。SW2がONでなければ、制御部120は、S100に処理を戻して、ライブビュー表示を行うための動画撮影を継続する。SW2がONであれば、制御部120は、S105に処理を進めて、静止画撮影処理を実行する。
もし、表示部109がタッチパネルを備えている場合、タッチパネルへの接触をSW2のONと判定してもよい。また、制御部120は、S103で算出された主被写体OIの角速度ωが所定の角速度になったときにSW2がONであると判定してもよい。また、制御部120は、算出された主被写体OIの角速度ωを一次記憶装置104へ保存し、その変化量が所定値であるときにSW2がONであると判定してもよい。さらに、制御部120は、S102で検出された主被写体OIの動きベクトルが0になったときにSW2がONであると判定してもよいし、これらの判定を組み合わせてもよい。
次に、S105において、制御部120は露光を開始する。撮像光学系101がシャッターを有する場合、シャッターを一旦閉じて、撮像素子102の有する全画素に蓄積した電荷を捨てる。その後、シャッターを開けて露光を開始する。シャッターを有しない場合、もしくは電子シャッターを使用する場合、撮像素子102の電荷を順次捨てる。
次に、S106において、流し撮り制御部123は、振れセンサ105から取得したパンニング角速度ωpとS103で算出した主被写体Obの角速度ωsとの差分に応じて、撮像光学系101のシフトレンズを駆動して主被写体像のブレを補正する。上述したように、レンズ交換型において、撮像光学系101が振れセンサ105を内蔵している場合、カメラ制御手段が主被写体Obの角速度ωsをレンズ制御手段に送信し、レンズ制御手段が流し撮り制御を行ってもよい。
次に、S107において、制御部120は露光が終了したかどうかを判定する。所定の露光時間が経過してない場合、制御部120は処理をS106に戻してブレ補正を継続する。露光が終了した場合、制御部120は撮像光学系101のシャッターを閉じて、撮像素子102から画像を読み出し、一次保存装置104に保存する。次に、画像処理部106で様々な画像処理を施し、画像圧縮を行った後、JPEGファイルとして記憶媒体107に保存する。この時、画像処理部106によって処理された画像は表示部109に送られて表示されてもよい。その後、制御部120はS100へと処理を戻す。
このように、本実施例によれば、焦点距離(若しくは像距離)の代わりに回転中心位置に対応する点Rと撮像面IPとの間の距離dを用いることによって、主被写体の判定精度及び主被写体の角速度の算出精度を高めることができる。
次に、本発明の実施例2について説明する。実施例2は、実施例1と同様に、図2に示すデジタルカメラ100に適用され、図3に示す流し撮り制御を行うが、回転中心が撮像面にはないために、(13)式を修正している。
実施例1は、デジタルカメラ100の回転中心が撮像面である場合を説明している。デジタルカメラ100が表示部109として電子ビューファインダーを備えている場合に、例えば、ユーザが電子ビューファインダーを見ながら流し撮り撮影を行う場合、デジタルカメラ100の回転中心は撮像面にあるとみなすことができる。しかしながら、液晶パネルのような表示部109を見ながら流し撮りを行う場合、回転中心は撮像面ではなくなり、結果として角速度の計算に誤差が生じてしまう。実施例2は、撮像面以外が回転中心である場合の距離dを算出方法について説明する。
図4は、実施例2による、撮像面以外の光軸上の位置Qに回転中心がある場合の距離dの算出方法について説明するための模式図である。撮像面IPから回転中心の位置Qまでの光軸上の距離をαとする。距離αは、ユーザが背面の液晶画面を見ながら流し撮りをする場合の、デジタルカメラ100(の撮像面IP)から回転中心までの一般的な距離(上腕の長さなど)を設定しておく。もしくは、デジタルカメラ100から回転中心までの距離を設定する画面を表示部109に表示し、操作部110でユーザが自由に設定できるようにしてもよい。デジタルカメラ100が背面に不図示の距離センサを有する場合は、距離センサによって撮像面IPからユーザまでの距離を距離センサ(検出手段)によって取得してもよい。電子ビューファインダーが接眼センサを有する場合や、操作部110に電子ビューファインダーと液晶画面の切り替えスイッチを有する場合に、ユーザが電子ビューファインダーを使用している間はαを0に設定してもよい。
本実施例では、制御部120は、(13)式の代わりに、次式を使用する。
撮影距離Lの代わりに回転中心位置Qから主被写体Obの光軸上の位置P1までの距離L’を用いて距離dを計算し、これを(14)式と(15)式に適用する。但し、距離L’は式(17)で与えられる。制御部120はS100で、撮像光学系101から距離sとs’、被写体距離Lの情報を取得する。なお、制御部120は、s’/sの情報を取得してもよい。この結果、制御部120は、(8)式のLの代わりにL’を用いて予め距離dを計算することができる。
このように、撮像面IPから回転中心に対応する点Rまでの距離を用いて距離dを算出することによって、デジタルカメラ100の回転中心が撮像面上ではない場合でも、主被写体Obの角速度ωsを正確に算出することができる。即ち、本実施例でも、焦点距離(若しくは像距離)の代わりに回転中心位置に対応する点Rと撮像面IPとの間の距離dを用いることによって、主被写体の判定精度及び主被写体の角速度の算出精度を高めることができる。
デジタルカメラ100が、被写体を表示する電子ビューファインダーと、電子ビューファインダーとは別に被写体を表示する表示部109を有する場合を考える。電子ビューファインダーが使用されながら被写体像が形成される場合には、角速度算出部122は、αをゼロに設定し、表示部109が使用されながら被写体像が形成される場合には、αをゼロ以外の値に設定してもよい。
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、被写体像のブレを補正する補正手段は、撮像素子を光軸に直交する方向に駆動することによって実現してもよい。本実施形態の撮像装置は、被写体像のブレを補正する補正手段と、角速度算出部122によって算出された被写体の角速度とパンニング角速度の差に基づいて、補正手段の駆動を制御する制御部120を有する。レンズ交換型においては、カメラ制御手段は、角速度算出部122によって算出された被写体の角速度とパンニング角速度の差に基づいて、被写体像のブレを補正するシフトレンズの駆動を制御する信号を生成してレンズ制御手段に送信してもよい。
また、本発明の角速度算出装置は、撮像面に形成される被写体像の角速度を算出する第1の算出部と、第1の算出部によって算出された被写体像の角速度にパンニング角速度を加算することによって被写体の角速度を算出する第2の算出部と、を有してもよい。第1の算出部は、被写体像の角速度を、(16)式、(17)式、(15)式によって与えられるωとして算出してもよい。
本発明の被写体検出装置は、撮像面に形成された画像の動きベクトルが表す移動量の情報と、撮像面を有する撮像装置のパンニング角速度の情報と、に基づいて、被写体を検出する。移動量から(16)式、(17)式、(14)式で与えられるvpの移動量を除くことによって被写体を検出してもよい。
以上、本発明の実施例について説明したが、本発明はこれらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。