(57)【特許請求の範囲】
【請求項１】
複数の画像を用いて、異なる複数の領域の動きベクトルを検出する検出手段と、
前記検出手段により検出された前記異なる複数の領域の動きベクトルに基づいて、主被写体の動き量を判定する判定手段と、
前記判定手段により判定された前記主被写体の動き量に基づいて、前記主被写体の像ブレを補正する制御手段と、
流し撮りが行われるか否かを判定する流し撮り判定手段と、を備え、
前記判定手段は、前記流し撮り判定手段により流し撮りが行われると判定された場合に、前記流し撮り判定手段により流し撮りが行われないと判定された場合とは異なり、前記異なる複数の領域内の前記動きベクトルにより表される複数の動き量の中の重心または、動き量が０付近の判定範囲に含まれる動き量のピークを、前記主被写体の動き量と判定することを特徴とする像ブレ補正装置。
【請求項２】
前記複数の画像を撮像する撮像装置の動きを検出する角速度センサをさらに備え、前記判定手段は、前記角速度センサの検出結果に基づいて前記判定範囲を変更することを特徴とする請求項１に記載の像ブレ補正装置。
【請求項３】
前記判定手段は、前記角速度センサが前記撮像装置の動きが小さくなることを示すにつれて、前記判定範囲を狭めることを特徴とする請求項２に記載の像ブレ補正装置。
【請求項４】
前記検出手段により検出された前記異なる複数の領域の動きベクトルの分布に応じて、前記判定手段は、前記判定範囲に含まれる前記動き量の重心を前記主被写体の動き量とするか、前記判定範囲に含まれる動き量のピークを前記主被写体の動き量とするかを切り替えることを特徴とする請求項１に記載の像ブレ補正装置。
【請求項５】
前記判定範囲に含まれる動き量が複数のピークを有する場合には、前記判定手段は、前記判定範囲に含まれる動き量の重心を前記主被写体の動き量とすることを特徴とする請求項４に記載の像ブレ補正装置。
【請求項６】
前記複数の画像を撮像する撮像装置の動きを検出する角速度センサをさらに備え、前記判定手段は、前記判定範囲に含まれる動き量の中で、前記主被写体の動き量の判定に用いられない動き量を、前記角速度センサの検出結果に応じて判定することを特徴とする請求項１に記載の像ブレ補正装置。
【請求項７】
前記判定手段は、前記角速度センサの検出結果に応じて背景の動き量を判定し、前記判定範囲に含まれる動き量の中で、判定された前記背景の動き量を前記主被写体の動き量の判定に用いないことを特徴とする請求項６に記載の像ブレ補正装置。
【請求項８】
複数の画像を用いて、異なる複数の領域の動きベクトルを検出する第１の検出工程と、
前記第１の検出工程において検出された前記異なる複数の領域の動きベクトルに基づいて、主被写体の動き量を判定する判定工程と、
前記判定工程において判定された前記主被写体の動き量に基づいて、前記主被写体の像ブレを補正する制御工程と、
流し撮りが行われるか否かを判定する流し撮り判定工程と、を有し、
前記判定工程では、前記流し撮り判定工程で流し撮りが行われると判定された場合に、前記流し撮り判定工程で流し撮りが行われないと判定された場合とは異なり、前記異なる複数の領域内の前記動きベクトルにより表される複数の動き量の中の重心または、動き量が０付近の判定範囲に含まれる動き量のピークを、前記主被写体の動き量と判定することを特徴とする像ブレ補正装置の制御方法。
【請求項９】
請求項８に記載の制御方法の各工程をコンピュータに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置において、流し撮りをする場合に発生する像ブレを補正する技術に関するものである。
【背景技術】
【０００２】
従来より、移動している被写体のスピード感を表現する撮影技術として、流し撮りという手法が知られている。この撮影技術では、撮影者が被写体の動きに合わせてカメラをパンニングすることにより、移動している被写体を静止させて背景は流すことを目的とする。流し撮り撮影においては撮影者が被写体の動きに合わせてカメラをパンニングする必要があるが、パンニング速度が速すぎたり遅すぎたりすると、被写体の移動速度とパンニング速度の間に差が発生し、被写体がブレた画像になることも多い。
【０００３】
そこで、特許文献１では、「露光前に算出した撮像装置に対する被写体の相対角速度」と「角速度センサから得た露光中の撮像装置の角速度」に基づいて、露光中のレンズの光学系の一部または撮像部を移動させて被写体のブレを補正する方法が提案されている。撮像装置に対する被写体の相対角速度は、「時間的に連続した画像から検出した被写体の像面上の移動量」と「角速度センサ」の出力とから算出される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−１６３５３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上述の特許文献１に開示された従来技術では、被写体の像面上の移動量と撮像装置の角速度とを用いて、露光中の光学系の一部または撮像部を移動させて被写体のブレ（被写体ブレ）を補正するための移動量を計算する。これは、「時間的に連続した画像から検出した被写体の像面上の移動量」と「角速度センサから得た露光中の撮像装置の角速度」が正確な値であることが前提となる。例えば、「時間的に連続した画像から検出した被写体の像面上の移動量」を検出するためのアルゴリズムでは、所定の閾値以上の像面上の移動量が検出されないと被写体の移動量を計算できないという問題がある。こうした所定の閾値以上の像面上の移動量が検出されない場合としては、撮像素子に結像される画角に対して結像した被写体が小さいために、必要な像面上の移動量が得られない場合が考えられる。また、撮像素子に結像した被写体のコントラストが低い場合においても必要な像面上の移動量が得られない場合がある。従来では、こうした状況においては、光学系の一部または撮像部を移動させて被写体のブレを補正する動作自体を中止していた。
【０００６】
本発明は上述した課題に鑑みてなされたものであり、その目的は、被写体の像面上の移動量が正確に得られにくい状況においても、流し撮り撮影のアシストを可能とする像ブレ補正装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係わる像ブレ補正装置は、複数の画像を用いて、異なる複数の領域の動きベクトルを検出する検出手段と、前記検出手段により検出された前記異なる複数の領域の動きベクトルに基づいて、主被写体の動き量を判定する判定手段と、前記判定手段により判定された前記主被写体の動き量に基づいて、前記主被写体の像ブレを補正する制御手段と、流し撮りが行われるか否かを判定する流し撮り判定手段と、を備え、前記判定手段は、前記流し撮り判定手段により流し撮りが行われると判定された場合に、前記流し撮り判定手段により流し撮りが行われないと判定された場合とは異なり、前記異なる複数の領域内の前記動きベクトルにより表される複数の動き量の中の重心または、動き量が０付近の判定範囲に含まれる動き量のピークを、前記主被写体の動き量と判定することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、被写体の像面上の移動量が正確に得られにくい状況においても、流し撮り撮影のアシストを可能とする像ブレ補正装置を提供することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の像ブレ補正装置を搭載した撮像装置の第１の実施形態であるカメラの構成を示すブロック図。
【図２】像ブレ補正装置の構成を示すブロック図。
【図３】パンニング制御の動作の一例を示すフローチャート。
【図４】パンニングが行われている場合の横方向の角速度データと、所定値α、βの関係を示した図。
【図５】流し撮りアシストモードにおける像振れ補正装置の構成を示す図。
【図６】流し撮りアシストモードにおける撮影動作を示すフローチャート。
【図７】流し撮り判定部で行われる処理を示すフローチャート。
【図８】流し撮り判定部の制御の概念図。
【図９】主要被写体を判別できる大きさの被写体と動きベクトルを示す図。
【図１０】主要被写体が判別可能なヒストグラムを示す図。
【図１１】主要被写体の判別が困難な大きさの被写体と動きベクトルを示す図。
【図１２】低コントラストな被写体と動きベクトルを示す図。
【図１３】主要被写体の判別が困難な場合のヒストグラムを示す図。
【図１４】主要被写体の判別が困難な場合のヒストグラムを示す図。
【図１５】第１の実施形態における流し撮りアシスト動作を示すフローチャート。
【図１６】第２の実施形態における流し撮りアシスト動作を示すフローチャート。
【図１７】第３の実施形態における流し撮りアシスト動作を示すフローチャート。
【図１８】第４の実施形態における流し撮りアシスト動作を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。
【００１１】
（第１の実施形態）
図１は、本発明の像ブレ補正装置を搭載した撮像装置の第１の実施形態であるカメラの構成を示すブロック図である。図１において、カメラ１０００は、カメラ本体１２０に交換レンズ１００が着脱可能に装着されて構成されている。交換レンズ１００は、主撮影光学系１０２、焦点距離を変更可能なズームレンズ群１０３、カメラの振れに起因する光軸に対する像ブレを光軸と直交する方向に移動することにより光学的に補正するシフトレンズ群１０４を有する撮影レンズユニット１０１を備える。また、交換レンズ１００は、ズームレンズ群１０３の位置を検出するズームエンコーダ１０５、シフトレンズ群１０４の位置を検出する位置センサ１０６、カメラの振れを検出する角速度センサ１１１を備える。さらに、角速度センサ１１１の出力を増幅するアンプ１１２、レンズ制御用マイクロコンピュータ（以下レンズマイコン）１１３、シフトレンズ群１０４を駆動するドライバ１１４を備える。さらに、シフトレンズ群１０４の位置センサ１０６の出力を増幅するアンプ１１５、カメラ本体１２０との電気的な接続を行うマウント接点部１１６を備える。
【００１２】
レンズマイコン１１３は、像ブレ補正制御を行う像ブレ補正制御部１１７、流し撮りアシスト用の制御を行う流し撮り制御部１１８を備える。レンズマイコン１１３はその他にもフォーカスレンズ制御、絞り制御等も行うが、説明を分かりやすくするため、ここではその制御部の図示は省略している。また、像ブレ補正のためには、例えば横方向と縦方向といった、直交する２軸に関して振れの検出および像ブレの補正を行うが、全く同じ構成であるため、ここでは１軸分についてのみ記載している。
【００１３】
一方、カメラ本体１２０は、シャッター１２１、ＣＭＯＳセンサ等の撮像素子１２２、アナログ信号処理回路１２３、カメラ信号処理回路１２４、撮像素子１２２とアナログ信号処理回路１２３の動作タイミングを設定するタイミングジェネレータ１２５を備える。また、電源スイッチ、レリーズスイッチ、流し撮りアシストモードの選択スイッチ等で構成される操作スイッチ群１３１、カメラ全体を制御するカメラシステム制御用マイクロコンピュータ（以下カメラマイコン）１３２を備える。また、シャッター駆動用モータ１３４、シャッター駆動用モータ１３４を駆動するドライバ１３３を備える。また、撮影した映像を記録するメモリカード１７１、カメラで撮影しようとしている画像をモニタし、また撮影した画像を表示する液晶パネル（以下ＬＣＤ）１７２を備える。また、交換レンズ１００とのマウント接点部１６１を備え、レンズマイコン１１３とカメラマイコン１３２は、マウント接点部１１６，１６１を介して所定のタイミングでシリアル通信を行う。
【００１４】
カメラ信号処理回路１２４は、動きベクトル検出部１４１と、主要被写体検出部１４２とを備え、主要被写体検出部１４２によって主要被写体が検出できなかった場合に動き量が０近辺の範囲に動きベクトルを制限する。カメラ信号処理回路１２４は、制限された範囲内の重心もしくは動きベクトルのピークを求めるベクトル判定部１４３を備える。さらに、カメラマイコン１３２は、シャッター制御部１５１、主要被写体検出部１４２およびベクトル判定部１４３の処理により求めた動きベクトルから主被写体の角速度を算出する被写体角速度算出部１５２、流し撮り判定部１５３を備える。
【００１５】
図１において、操作スイッチ群１３１によりカメラの電源がＯＮされると、その状態変化をカメラマイコン１３２が検出し、カメラマイコン１３２の制御によりカメラ本体１２０の各回路への電源供給および初期設定が行われる。また、交換レンズ１００への電源供給が行われ、レンズマイコン１１３の制御により、交換レンズ１００内の初期設定が行われる。そしてレンズマイコン１１３とカメラマイコン１３２との間で所定のタイミングで通信が開始される。この通信で、カメラ本体１２０から交換レンズ１００へはカメラ本体の状態、撮影設定等が、また交換レンズ１００からカメラ本体１２０へはレンズの焦点距離情報、角速度情報等がそれぞれ必要なタイミングで送受信される。
【００１６】
流し撮りアシストモード設定が行われていない通常モードの状態では、交換レンズ１００内の角速度センサ１１１が手ブレ等によるカメラの振れを検出する。その検出結果を用いて像ブレ補正制御部１１７により、シフトレンズ群１０４を駆動して像ブレ補正動作が行われる。
【００１７】
ここで像ブレ補正機能に関して説明する。図２は像ブレ補正装置の構成を示すブロック図であり、図１と共通の構成については同じ符号を付し、説明を省略する。図２において、像ブレ補正制御部１１７は、Ａ／Ｄ変換器４０１、フィルタ演算部４０２、積分器４０３、加算器４０４、ＰＷＭ出力部４０５、Ａ／Ｄ変換器４０６、パンニング制御部４０７を備える。Ａ／Ｄ変換器４０１は、角速度センサ１１１で検出された振れ信号をデジタル信号に変換する。角速度センサ１１１の出力データのサンプリングは１〜１０ｋＨｚ程度の周波数で行われる。ハイパスフィルタ（ＨＰＦ）等で構成されるフィルタ演算部４０２は、角速度センサ１１１の出力に含まれているオフセット成分の除去を行い、またカットオフ周波数を変更することによりパンニング対策を行う。積分器４０３は、シフトレンズ群１０４の駆動目標データを生成するために角速度データを角変位データに変換する。Ａ／Ｄ変換器４０６は、シフトレンズ群１０４の位置を検出する位置センサ１０６の出力をデジタルデータに変換する。加算器４０４は、シフトレンズ群１０４の駆動目標値から現在のシフトレンズ位置を減算してシフトレンズ群１０４の実際の駆動量のデータを算出する。ＰＷＭ出力部４０５は、算出された駆動量のデータをシフトレンズ駆動用のドライバ１１４に出力する。パンニング制御部４０７は、角速度データの状態からカメラ１００がパンニングされているか否かを判定する。また、パンニングされていると判定された場合は、フィルタ演算部４０２のカットオフ周波数の変更制御、および積分器４０３の出力の調整を行う。
【００１８】
図３は、レンズマイコン１１３内の像ブレ補正制御部１１７によるパンニング制御の動作の一例を示すフローチャートである。以下、パンニング制御について、図３を用いて説明する。
【００１９】
図３において、Ｓ５０１では、Ａ／Ｄ変換器４０１でデジタル値に変換された角速度データの平均値（所定サンプリング回数分の平均値）が所定値αよりも大きいか否かが判定される。所定値α以下の場合はパンニングが行われていないと判断される。所定値αよりも大きい場合は、Ｓ５０２において、所定値βより大きいか否かが判定される。そして、所定値β以下の場合は、ゆっくりとしたパンニングが行われていると判断される。また、所定値βよりも大きい場合は、速いパンニングが行われていると判断し、Ｓ５０３においてフィルタ演算部４０２内にあるＨＰＦのカットオフ周波数を最大値に設定し、Ｓ５０４において像振れ補正制御を強制的にＯＦＦとする。これは、ＨＰＦのカットオフ周波数を高くすることによりシフトレンズが徐々に停止するようにし、像振れ補正制御をＯＦＦしたときの違和感をなくすためである。また、速いパンニング時は手ブレの大きさに対してパンニングによる移動量が非常に大きくなるため、像振れ補正をＯＦＦすることで手ブレが残っても違和感はないためである。この設定を行わず、パンニングを大きな振れとして補正しようとすると、パンニング開始時には画像の振れが停止するが、その後シフトレンズ群１０４が補正端に到達した瞬間に突然画像が大きく動き、非常に不自然な画像の動きとして見えてしまう。
【００２０】
その後、Ｓ５０５では、積分器４０３の出力を現在のデータから徐々に初期位置のデータに変更することで、シフトレンズ群１０４を初期位置に動かすようにする。これは次に像振れ補正動作を再開する場合に、シフトレンズ群１０４の位置が駆動範囲の初期位置にあることが望ましいためである。
【００２１】
一方、Ｓ５０２において角速度データの平均値が所定値β以下であった場合（ゆっくりとしたパンニングが行われていると判断された場合）はＳ５０６へと進む。そして、角速度データの大きさに応じてＨＰＦのカットオフ周波数を設定する。これは、ゆっくりとしたパンニングが行われている場合は手ブレの影響を完全に無視することができないためであり、パンニング時の画像の追従性を不自然にならない程度に保ちながら、手ブレの補正を行うためである。
【００２２】
また、Ｓ５０１において角速度データの平均値が所定値α以下であった場合（パンニングが行われていないと判断された場合）は、Ｓ５０７においてＨＰＦのカットオフ周波数を通常時の値に設定する。そして、速いパンニングでない場合は、Ｓ５０８において像ブレ補正制御の強制ＯＦＦ設定を解除する。
【００２３】
図４はパンニングが行われている場合の横方向の角速度データと、所定値α、βの関係を示した図であり、角速度データ７０１の例が示されている。この例では、右方向にパンニングした場合に＋方向の出力、左方向にパンニングした場合に−方向の出力となる。図４の例では、右方向の急激なパンニングと、左右方向のゆっくりとしたパンニングが検出されている。図４からわかるように、パンニング中は角速度データが初期値（ここでは０）から大きく外れる。そのため、このデータを積分してシフトレンズの駆動目標値を算出した場合、ＤＣ的なオフセット成分により、積分器４０３の出力が非常に大きな値となり、制御不能状態になってしまう。そのため、パンニングが検出された場合は、ＨＰＦのカットオフ周波数を高く変更することにより、ＤＣ成分をカットすることが必要となる。急激なパンニングの場合は、特に顕著になるために、よりカットオフ周波数を上げることにより、積分器４０３の出力が増大しないようにする。また、パンニング速度が速い場合は、パンニング速度による画像の動きが手ブレに対して非常に大きくなるため、パンニング方向に関して像ブレ補正機能をＯＦＦとしても特に違和感は生じない。以上のようにパンニング制御が行われることにより、パンニング中のライブビュー画像の表示において、違和感のない画像をモニタすることが可能となる。
【００２４】
次に、流し撮りアシストモードについて説明する。図１において、操作スイッチ群１３１により流し撮りアシストモードが設定されると、カメラマイコン１３２は、流し撮りアシスト用の制御に制御を切り替える。また、その情報がカメラマイコン１３２からレンズマイコン１１３へと送信され、レンズマイコン１１３は流し撮りアシストモードに移行する。
【００２５】
流し撮りアシストモード設定中のカメラ本体１２０では、撮像した映像情報からカメラ信号処理回路１２４内の動きベクトル検出部１４１が画面上の被写体の動きベクトルを検出し出力する。そして、カメラマイコン１３２は、この動きベクトルと、レンズマイコン１１３からの、角速度センサ１１１で検出された角速度データを受信する。
【００２６】
ここで、角速度データはカメラ１００の流し撮り速度に対応しているため、角速度データと、主被写体の像面上の移動量とレンズの現在の焦点距離から算出される角速度との差分を算出すると、それはカメラに対する主被写体の角速度となる。そして、カメラマイコン１３２は算出した主被写体の角速度データをレンズマイコン１１３に送信する。
【００２７】
図５は流し撮りアシストモードにおける像振れ補正装置の構成を示すブロック図であり、図１、図２と共通の構成に対しては同じ符号を付している。図５において、流し撮り制御部１１８は、カメラ情報取得部６０１、角速度データ出力部６０２、被写体角速度取得部６０３、加算器６０４、第２の積分器６０５、設定変更部６０６を備える。カメラ情報取得部６０１は、特に、カメラ本体１２０の流し撮りアシストモードの設定情報、レリーズ情報を取得する。角速度データ出力部６０２は、所定のタイミングで角速度センサ１１１によって検出されるカメラの角速度データをサンプリングし、通信制御部６１０とマウント接点部１１６とを介してカメラマイコン１３２の被写体角速度算出部１５２へ出力する。被写体角速度取得部６０３は、マウント接点１１６と通信制御部６１０を介したカメラマイコン１３２との通信によって得られたカメラ情報から流し撮りアシストに必要な主被写体の角速度情報を取得する。加算器６０４は、角速度センサの角速度と被写体の角速度との差分を算出する。第２の積分器６０５は、所定期間のみ積分動作を行う。設定変更部６０６は、カメラ情報取得部６０１が取得したモード情報に応じて、設定を変更する。通信制御部６１０は、カメラマイコン１３２との双方向通信を行う。
【００２８】
なお、カメラ本体１２０側の流し撮り判定部１５３では、レンズマイコン１１３から送信された角速度データを積分して保持しておくことができる。これにより、ユーザが流し撮りを行う際に、所定のタイミングを起点としたカメラの角度変化（以降、流し撮り角度）を得ることができる。
【００２９】
操作スイッチ群１３１の操作により流し撮りアシストモードが設定されると、その情報が通信制御部６１０を介してカメラ情報取得部６０１で読み込まれ、設定変更部６０６に通知される。設定変更部６０６は、通知されたモード情報に従い、パンニング制御部４０８の設定変更を行う。ここで行われる設定変更は、急激なパンニング状態に移行しやすくする変更であり、具体的には、前述のパンニング判定用の所定値βおよびαを変更する。
【００３０】
また、カメラ本体１２０からレンズマイコン１１３へと送信される主被写体の移動角速度情報が被写体角速度取得部６０３で読み込まれる。加算器６０４は角速度センサ１１１により検出された角速度と、主被写体の角速度の差を計算し、第２の積分器６０５へと送る。第２の積分器６０５は、カメラ情報取得部６０１で取得された露光期間中を示す信号により積分動作を開始し、その他の期間はシフトレンズの位置が中央となる値を出力する。ここで、露光期間以外はシフトレンズを中央位置に配置しようとした場合、露光期間終了時は現在のシフトレンズ位置から中央位置までシフトレンズが急峻に移動することになる。しかし、露光期間終了直後は撮像素子１１２からの画像信号の読み出しを行っているため、ＬＣＤ上では画像が消失する。そのため、シフトレンズの急峻な移動による画像の動きは問題とはならない。また、第２の積分器６０５の出力は、加算器４０４で、積分器４０３の出力、およびシフトレンズ群１０４の位置情報と共に加算され、シフトレンズ群１０４の駆動量が算出される。
【００３１】
流し撮りアシストモードが設定されている場合に、実際に撮影者により流し撮り動作が行われると、パンニング制御部４０８が即座に急なパンニング状態に対するパンニング制御を行う。それにより、振れ補正動作が禁止されるとともに、シフトレンズ群１０４は、カメラのパンニングの角速度と被写体の角速度の差分に対応した量を補正することになる。そのため流し撮り失敗の原因となる露光期間中のカメラのパンニング速度と被写体の速度の差分がシフトレンズの動作で相殺され、その結果として流し撮りが成功する（アシストされる）。
【００３２】
図６は、流し撮りアシストモードにおける撮影動作を示すフローチャートである。図６において、Ｓ２０１では、レリーズスイッチが半押し（スイッチＳＷ１がＯＮ）されたか否かが検出される。ＳＷ１がＯＮされると、Ｓ２０２へと進み、時間計測カウンタをインクリメントする。ＳＷ１がＯＮされていない場合は、Ｓ２０３において、ＳＷ１がＯＮされるまで時間計測カウンタをリセットする。
【００３３】
Ｓ２０４では、動きベクトルの判定の閾値を変更し、主要被写体から出力される動きベクトルなのか、背景から出力される動きベクトルなのか、その他の動体から出力される動きベクトルなのか、誤検出された動きベクトルなのかを判定する。これにより、誤検出の影響を抑制し、Ｓ２０７での被写体角速度算出に用いる動きベクトルの精度を高める。
【００３４】
Ｓ２０５では、主被写体の角速度がすでに算出されているか否かを確認する。算出されている場合は、Ｓ２０６においてさらに時間計測カウンタが所定時間Ｔになっているか否かが確認される。主被写体の角速度がまだ算出されていない場合、およびすでに算出されていても一定時間が経過している場合は、Ｓ２０７において主被写体の角速度を算出する。ここで、主被写体の角速度を算出し直すのは、時間と共に主被写体の速度が変化する場合を考慮しての処置である。主被写体の角速度が算出されるたびに、レンズマイコン１１３へと送信される。
【００３５】
Ｓ２０８では、流し撮り経過時間をリセットして経過時間の計測を開始し、Ｓ２０９では、流し撮り判定部１５３で積分している流し撮り角度をリセットして流し撮り角度の計測を開始する。Ｓ２１０では、レリーズスイッチが全押し（スイッチＳＷ２がＯＮ）されたか否かが検出される。ＳＷ２がＯＮされていなければ、Ｓ２０１へ戻る。Ｓ２１０においてＳＷ２がＯＮされると、Ｓ２１１において、後述する流し撮り判定を行い、流し撮り許可であれば、Ｓ２１３において、現在のカメラ設定の状態で撮影が行われる。流し撮り不許可であれば、Ｓ２１２においてＬＣＤ１７２に警告表示を行い、Ｓ２１３の撮影を行う。次にＳ２１４において、レリーズスイッチが全押し（スイッチＳＷ２がＯＮ）されたか否かが判定される。ＳＷ２がＯＮされていれば、Ｓ２１１に戻り次の撮影を開始する。ＳＷ２がＯＮされていなければ、Ｓ２０１に戻る。
【００３６】
図７は、カメラマイコン１３２内の流し撮り判定部１５３で行われる処理を示すフローチャートである。Ｓ３０１では、カメラが流し撮りアシストモードであるか否かが判定される。流し撮りアシストモードであれば、Ｓ３０２に進み、流し撮りアシストモードでなければ、Ｓ３０１に戻る。
【００３７】
Ｓ３０２では、流し撮り角度を取得する。Ｓ３０３では、被写体の角速度と流し撮り経過時間とから、被写体が被写体角速度を保った場合の被写体角度（予測被写体角度）を算出する。Ｓ３０４では、流し撮り判定を行うための角度の閾値（流し撮り閾値）を算出する。流し撮り閾値は、焦点距離が大きい（画角が小さい）ほど小さくなる。ここでは、閾値は焦点距離から算出した画角とする。Ｓ３０５では、予測被写体角度と流し撮り角度との差の絶対値と流し撮り閾値を比較し、閾値の方が小さければＳ３０６に進み、そうでなければＳ３０７に進む。Ｓ３０６では流し撮りを許可し、Ｓ３０７では流し撮り撮影を許可しないようにするために、レンズマイコン１１３に流し撮りアシストモードの解除を通知する。
【００３８】
図８は流し撮り判定部の制御の概念図である。図８において、１００１はカメラであり、１００２は被写体角速度を算出したタイミングでの被写体の位置である。１００３は、算出した被写体角速度で被写体が動いた場合の被写体の位置であり、１００２から１００３までの角度を仮想被写体角度θ１とする。１００４は、角速度センサ１１１からの情報から算出した実際の被写体の位置であり、１００２から１００４までの角度を流し撮り角度θ２とする。１００５は撮影時の画角θ３である。したがって、|θ１−θ２|と比べてθ３の方が小さければ流し撮りアシスト撮影を許可する判定を行う。
【００３９】
通常、主要被写体の検出が簡単な場合としては図９のような場合が考えられる。図９では画角に対して被写体のサイズが大きく、コントラストも高い。そのため、出力される動きベクトルの数が多く、図１０に示すように主要被写体を検出できる可能性が高い。しかし、流し撮りを行うに当って、図１１に示すように、被写体が小さい場合もあり、図１２に示すように、コントラストが低い場合もある。画角に対して被写体のサイズが小さい場合、図９に正方形で示すような動きベクトルを検出するための複数の小領域のうち、被写体に重なっている小領域の数が少ないため、出力される動きベクトルの数は少ない。そのため、図１３に示すように、主要被写体を検出するのに必要な数の動きベクトルが得られない可能性が高い。また同様に被写体のコントラストが低いような場合においては、たとえ被写体に重なる動きベクトルを検出するための小領域の数が多くても、動きベクトルを検出するために最低限必要なコントラスト差がないためにノイズと判断されてしまう。そのため、図１４に示すように、主要被写体を検出するのに必要な数の動きベクトルが得られない可能性が高い。これらの場合では、検出される動きベクトルが全く検出されないわけではなく、主要被写体と判定するために必要な数の動きベクトルの検出ができない可能性が高い。
【００４０】
このように主要被写体が判定できない場合、本実施形態では以下のようにする。すなわち、通常は、ユーザはパンニング動作をすることによって被写体をある程度追尾できており、主要被写体の動きベクトル分布は０付近で検出される。そのため、本実施形態では、被写体が小さい、コントラストが低いという理由で主要被写体を判別できない場合、０付近の動きベクトルの重心もしくはピークが主要被写体に対応すると予想して、移動量を計算する。そしてこの動きベクトルを主要被写体の動きベクトルとして扱い、主要被写体の角速度を計算する。
【００４１】
次に、図１５は、本実施形態における流し撮りアシストの動作を示すフローチャートである。流し撮りアシストが開始されると、Ｓ１６０１において、動きベクトル検出部１４１により動きベクトルを検出する。次に、Ｓ１６０２において、角速度センサ（ジャイロ）１１１によりパンニングの角速度を取得する。次に、Ｓ１６０３において、主要被写体を検出するのに最低限必要な数の動きベクトルが取得できているか否かを判断する。もし、主要被写体を検出できる数の動きベクトルが取得できている場合は、Ｓ１６０８において、動きベクトルから主要被写体の移動角速度を求める。そして、Ｓ１６０９において、シフトレンズ群１０４を露光期間中に被写体の動きをキャンセルするように制御し、被写体の動きを止める流し撮りアシストを行う。これに対し主要被写体の検出に必要な数の動きベクトルが取得できていない場合は、Ｓ１６０４において、その被写体は低コントラストもしくは画角に対して小さい被写体であると判定し、Ｓ１６０５に進む。Ｓ１６０５では、画像から検出された動きベクトルの内、動き量が０近辺の動きベクトルにヒストグラムの範囲を制限する。Ｓ１６０６において、制限した動きベクトルのヒストグラムの重心から被写体の移動量を推定する。最後にＳ１６０７において、推定した移動量に対応させてシフトレンズ群１０４を露光期間中に被写体の動きをキャンセルするように制御し、流し撮りアシストを行う。
【００４２】
流し撮り撮影のユーザ補助（アシスト）において、従来、主要被写体の判定に必要な動きベクトル数が検出されない場合（画角に対して被写体が小さい、低コントラスト被写体）では、流し撮り撮影のユーザ補助を中止していた。これに対し、本実施形態によれば、こうした場合においても、主要被写体の移動量を少ない動きベクトルから推定することが可能となり、推定した主要被写体の移動量を用いて流し撮り撮影のユーザ補助を実行することが可能となる。
【００４３】
（第２の実施形態）
以下、本発明の第２の実施形態について説明する。本実施形態は第１の実施形態に対し、次の点が異なる。すなわち、主要被写体と判定するのに必要な数の動きベクトルが検出されない場合（画角に対して被写体が小さい、低コントラスト被写体）、０近辺の動きベクトルの重心もしくはピークの算出に用いるベクトルの範囲を変更する。具体的には、撮像装置の動きを検出する角速度センサ１１１によって検出された動き量に比例して範囲を変更する。動きが遅い被写体を追尾するためにパンニングを行っている場合は、被写体を追尾することは容易であり、追尾がずれることも少ない。また背景と主要被写体の動きベクトルの差も少なくなるため、重心もしくはピークを算出するための動きベクトルの範囲を狭くすることが望ましい。これに対して、動きが速い被写体を追尾するためにパンニングを行っている場合は、被写体を追尾することは難しく、追尾がずれることが多い。また背景と主要被写体の動きベクトルの差は大きくなる。そのため、重心もしくはピークを算出するための動きベクトルの範囲を広くすることが望ましい。この処理によって、主要被写体の推定に不必要なベクトルを除外することが可能になり、推定の精度を高くすることが可能となる。
【００４４】
図１６は、本実施形態における流し撮りアシストの動作を示すフローチャートである。流し撮りアシストが開始されると、Ｓ１７０１において、動きベクトル検出部１４１により動きベクトルを検出する。次に、Ｓ１７０２において、角速度センサ（ジャイロ）１１１によりパンニングの角速度を取得する。次に、Ｓ１７０３において、主要被写体を検出するのに最低限必要な数の動きベクトルが取得できているか否かを判断する。もし、主要被写体を検出できる数の動きベクトルが取得できている場合は、Ｓ１７０８において、動きベクトルから主要被写体の移動角速度を求める。そして、Ｓ１７０９において、シフトレンズ群１０４を露光期間中に被写体の動きをキャンセルするように制御し、被写体の動きを止める流し撮りアシストを行う。これに対し主要被写体の検出に必要な数の動きベクトルが取得できていない場合は、Ｓ１７０４において、その被写体は低コントラストもしくは画角に対して小さい被写体であると判定し、Ｓ１７０５に進む。Ｓ１７０５では、角速度センサ１１１が検出した角速度に比例して動き量が０近辺の動きベクトルのヒストグラム作成範囲を制限する。
【００４５】
Ｓ１７０６において、制限した動きベクトルのヒストグラムの重心から被写体の移動量を推定する。最後にＳ１７０７において、推定した移動量に対応させてシフトレンズ群１０４を露光期間中に被写体の動きをキャンセルするように制御し、流し撮りアシストを行う。
【００４６】
上記のように、本実施形態では、パンニング速度に比例して、主要被写体の動きベクトルを推定するために使う動きベクトルの範囲を変えることにより、主要被写体の推定精度を高くすることができる。これにより、従来ユーザ補助を中止していたような状況でも、高い精度で流し撮り撮影のユーザ補助を提供することが可能となる。
【００４７】
（第３の実施形態）
以下、本発明の第３の実施形態について説明する。本実施形態は第１の実施形態に対し、次の点が異なる。すなわち、主要被写体と判定するのに必要な数の動きベクトルが検出されない場合（画角に対して被写体が小さい、低コントラスト被写体）では、０近辺の動きベクトルの重心かピークのどちらかを計算に用いるかを判断する。具体的には、計算に用いる動きベクトルのヒストグラムのピークが複数存在する場合（多峰性）は重心を計算する。それに対して一つのピークが出力されている場合には、ピークを計算に用いる。これによって少ない数の動きベクトルに適した動き量の計算が可能になり、少ないベクトルによっても推定の精度を高くすることが可能になる。
【００４８】
図１７は、本実施形態における流し撮りアシストの動作を示すフローチャートである。流し撮りアシストが開始されると、Ｓ１８０１において、動きベクトル検出部１４１により動きベクトルを検出する。次に、Ｓ１８０２において、角速度センサ（ジャイロ）１１１によりパンニングの角速度を取得する。次に、Ｓ１８０３において、主要被写体を検出するのに最低限必要な数の動きベクトルが取得できているか否かを判断する。もし、主要被写体を検出できる数の動きベクトルが取得できている場合は、Ｓ１８１０において、動きベクトルから主要被写体の移動角速度を求める。そして、Ｓ１８１１において、シフトレンズ群１０４を露光期間中に被写体の動きをキャンセルするように制御し、被写体の動きを止める流し撮りアシストを行う。これに対し主要被写体の検出に必要な数の動きベクトルが取得できていない場合は、Ｓ１８０４において、その被写体は低コントラストもしくは画角に対して小さい被写体であると判定し、Ｓ１８０５に進む。Ｓ１８０５では、画像から検出された動きベクトルの内、動き量が０近辺の動きベクトルにヒストグラムの範囲を制限する。
【００４９】
Ｓ１８０６では、制限した動きベクトルのヒストグラムが多峰性か否かを判定する。多峰性と判定された場合は、Ｓ１８０９において、制限した動きベクトルのヒストグラムの重心から被写体の移動量を推定する。Ｓ１８０６において、多峰性と判定されなかった場合は、Ｓ１８０７において、制限した動きベクトルのヒストグラムのピークを求めて、求めたピークの動きベクトルから被写体の移動量を推定する。最後にＳ１８０８において、推定した移動量に対応させてシフトレンズ群１０４を露光期間中に被写体の動きをキャンセルするように制御し、流し撮りアシストを行う。
【００５０】
本実施形態では、この処理によって、動きベクトルの数が少ない状況でも、少ないベクトルの分布形状によって計算方法を切り替えることで、主要被写体の移動速度の精度を高く計算することができる。これにより、従来ユーザ補助を中止していたような状況でも、高い精度で流し撮り撮影のユーザ補助を提供することが可能となる。
【００５１】
（第４の実施形態）
以下、本発明の第４の実施形態について説明する。本実施形態は第１の実施形態に対し、次の点が異なる。すなわち、主要被写体と判定するのに必要な数の動きベクトルが検出されない場合（画角に対して被写体が小さい、低コントラスト被写体）、０近辺の動きベクトルの精度を高くする。具体的には、ユーザの追尾が不正確でパンニングが遅い場合に、被写体ベクトルと背景ベクトルの動き量が近くなることがあるが、そのような場合に、被写体ベクトルの検出精度を高くする。その方法としては、重心かピークかを計算するための動きベクトルの分布範囲内に角速度センサ１１１の出力から背景ベクトルと判定できるベクトルが重なっている場合は、背景ベクトルを除外して、動きベクトルの重心かピークかを計算する。これによって、背景ベクトルの影響を除外して、主要被写体の推定の精度を高くすることが可能となる。
【００５２】
図１８は、本実施形態における流し撮りアシストの動作を示すフローチャートである。流し撮りアシストが開始されると、Ｓ１９０１において、動きベクトル検出部１４１により動きベクトルを検出する。次に、Ｓ１９０２において、角速度センサ（ジャイロ）１１１によりパンニングの角速度を取得する。次に、Ｓ１９０３において、主要被写体を検出するのに最低限必要な数の動きベクトルが取得できているか否かを判断する。もし、主要被写体を検出できる数の動きベクトルが取得できている場合は、Ｓ１９１０において、動きベクトルから主要被写体の移動角速度を求める。そして、Ｓ１９１１において、シフトレンズ群１０４を露光期間中に被写体の動きをキャンセルするように制御し、被写体の動きを止める流し撮りアシストを行う。これに対し主要被写体の検出に必要な数の動きベクトルが取得できていない場合は、Ｓ１９０４において、その被写体は低コントラストもしくは画角に対して小さい被写体であると判定し、Ｓ１９０５に進む。Ｓ１９０５では、画像から検出された動きベクトルの内、動き量が０近辺の動きベクトルにヒストグラムの範囲を制限する。
【００５３】
Ｓ１９０６では、制限した動きベクトルのヒストグラムの中にＳ１９０２で取得した角速度センサ１１１の検出した角速度から背景と判別されるベクトルが入っているか否かを判定する。背景ベクトルが入っていると判定された場合は、Ｓ１９０９において、制限した動きベクトルから背景ベクトルを除外したヒストグラムの重心から被写体の移動量を推定する。Ｓ１９０６において制限した動きベクトルのヒストグラムの中に背景ベクトルが入っていない場合は、Ｓ１９０７において、制限した動きベクトルのヒストグラムの重心から被写体の移動量を推定する。最後にＳ１９０８において、推定した移動量に対応させてシフトレンズ群１０４を露光期間中に被写体の動きをキャンセルするように制御し、流し撮りアシストを行う。
【００５４】
本実施形態では、この処理によって、画角に対して小さい被写体や低コントラストな被写体で、且つ被写体の移動速度が遅く、背景との差が少ないような被写体でも主要被写体の移動速度の精度を高くできる。これにより、従来ユーザ補助を中止していたような状況でも、高い精度で流し撮り撮影のユーザ補助を提供することが可能となる。
【００５５】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【００５６】
例えば、上記の実施形態では、流し撮り撮影を行う場合に、シフトレンズ群１０４により、カメラの動きと被写体の動きの差をキャンセルするように説明したが、シフトレンズに限らず、撮像素子を動かして上記の動きの差をキャンセルするようにしてもよい。また、可変頂角プリズムなどを用いてもよい。
【００５７】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５８】
１００：交換レンズ、１０１：撮影レンズユニット、１０２：主撮影光学系、１０３：ズームレンズ群、１０４：シフトレンズ群、１０５：ズームエンコーダ、１０６：位置センサ、１１１：角速度センサ、１１４：ドライバ、１２１：シャッタ、１２２：撮像素子、１２３：アナログ信号処理回路、１２４：カメラ信号処理回路
【図１】
0006725979.tif 000002
【図２】
0006725979.tif 000003
【図３】
0006725979.tif 000004
【図４】
0006725979.tif 000005
【図５】
0006725979.tif 000006
【図６】
0006725979.tif 000007
【図７】
0006725979.tif 000008
【図８】
0006725979.tif 000009
【図９】
0006725979.tif 000010
【図１０】
0006725979.tif 000011
【図１１】
0006725979.tif 000012
【図１２】
0006725979.tif 000013
【図１３】
0006725979.tif 000014
【図１４】
0006725979.tif 000015
【図１５】
0006725979.tif 000016
【図１６】
0006725979.tif 000017
【図１７】
0006725979.tif 000018
【図１８】
0006725979.tif 000019