(57)【要約】【課題】撮像装置の姿勢と被写体距離に応じて、動きベクトル検出不要な領域の演算量を削減する。そうすることで検出周期が短い場合でも、動きベクトル検出の精度劣化を抑制し、良好な動きベクトル検出を実現する。【解決手段】撮像装置の姿勢を取得する姿勢取得手段と、撮像装置から被写体までの距離を取得する距離取得手段と、画像を分割する画像分割手段と、画像内の特徴点座標および特徴量を算出する特徴点抽出手段と、前記特徴点座標および前記特徴量を、特徴点情報として保持する特徴点情報保持手段と、前記特徴点情報保持手段により保持される特徴点情報と前記画像分割手段により分割された画像を用いて動きベクトルを検出する動きベクトル検出手段を有し、前記動きベクトル検出手段は、前記姿勢取得手段の時間的変化の結果と、前記距離取得手段の被写体までの距離に応じて、前記画像分割手段により分割された画像を選択する。【選択図】図５
2019149600.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置の姿勢を取得する姿勢取得手段と、撮像装置から被写体までの距離を取得する距離取得手段と、画像を分割する画像分割手段と、画像内の特徴点座標および特徴量を算出する特徴点抽出手段と、前記特徴点座標および前記特徴量を、特徴点情報として保持する特徴点情報保持手段と、前記特徴点情報保持手段により保持される特徴点情報と前記画像分割手段により分割された画像を用いて動きベクトルを検出する動きベクトル検出手段を有し、前記動きベクトル検出手段は、前記姿勢取得手段の時間的変化の結果と、前記距離取得手段の被写体までの距離に応じて、前記画像分割手段により分割された画像を選択することを特徴とする撮像装置。
【請求項２】
前記姿勢取得手段は、撮像装置のシフト移動と回転を検出することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記距離取得手段は、撮像装置から被写体までの距離を画像として取得することを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記特徴点情報保持手段により保持されている特徴点座標について、前記距離取得手段により取得した撮像装置から被写体までの距離を算出する距離情報取得手段を有することを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項５】
前記動きベクトル検出手段は、前記姿勢取得手段によりシフト移動と判断した場合、前記距離情報取得手段により取得した撮像装置から被写体までの距離が遠方の座標を含む画像を優先することを特徴とする請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項６】
前記動きベクトル検出手段は、前記姿勢取得手段により回転と判断した場合、前記距離情報取得手段により取得した撮像装置から被写体までの距離が近傍の座標を含む画像を優先することを特徴とする。請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項７】
前記姿勢取得手段により取得した姿勢が動きベクトルを検出する状態として適切か否かを判断する判断手段を有し、前記判断手段が動きベクトルを検出する状態として不適切と判断した場合、前記動きベクトルを検出しないことを特徴とする請求項１乃至６のいずれか１項に記載の撮像装置。
【請求項８】
―前記動きベクトル検出手段は、画像分割手段により分割された画像を選択した情報を保持しておき、前記保持された画像を選択した情報を基に、前記画像分割手段により分割された画像を選択することを特徴とする請求項１乃至７のいずれか１項に記載の撮像装置。
【請求項９】
前記動きベクトル検出手段は、直前の画像に対して選択した領域を保持しておき、現在の画像を選択する際、保持された直前の画像を選択した領域内から選択することを特徴とする請求項８に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は撮像装置に関するものである。
【背景技術】
【０００２】
撮像装置を用いて撮影された映像に対して手ぶれ補正やダイナミックレンジ拡大処理を施すために、フレーム画像間の動きベクトル検出を、テンプレートマッチングにより求める技術が知られている。
【０００３】
テンプレートマッチングは、フレーム画像の一方をテンプレートとして、そのテンプレートと相関のある位置を、他方のフレーム画像から探索するものである。例えば、特許文献１には、画像を複数のブロックに分割し、分割したブロックごとにテンプレートマッチングにより動きベクトル検出を行い、複数の動きベクトルを統計処理する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第２９５６０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術は、分割したブロックごとに動きベクトル検出を行うため、非常に演算量が多い。そのため、動画撮影時のように動きベクトル検出の周期が短い場合、周期内で動きベクトル検出を完了するため、入力する画像サイズの縮小、探索する範囲の縮小など、総演算量を抑制することになり、動きベクトル検出の精度劣化につながっていた。
【課題を解決するための手段】
【０００６】
本発明の撮像装置は、撮像装置の姿勢を取得する姿勢取得手段と、撮像装置から被写体までの距離を取得する距離取得手段と、画像を分割する画像分割手段と、画像内の特徴点座標および特徴量を算出する特徴点抽出手段と、前記特徴点座標および前記特徴量を、特徴点情報として保持する特徴点情報保持手段と、画像を用いて動きベクトルを検出する動きベクトル検出手段を有し、前記動きベクトル検出手段は、前記姿勢取得手段の時間的変化の結果と、前記距離取得手段の被写体までの距離に応じて、前記画像分割手段により分割された画像を選択することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、撮像装置の姿勢と被写体距離に応じて、動きベクトル検出不要な領域の演算量を削減する。そうすることで検出周期が短い場合でも、動きベクトル検出の精度劣化を抑制し、良好な動きベクトル検出を実現することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の撮像装置を説明するための図
【図２】本発明の撮像素子の画素配置例を説明するための図
【図３】本発明の撮影レンズと単位画素部の関係を説明するための図
【図４】本発明の像信号波形を説明するための図
【図５】本発明の構成を説明するための図
【図６】本発明の距離マップを説明するための図
【図７】本発明のパターンマッチングを説明するための図
【図８】本発明の相関テーブルを説明するための図
【図９】本発明の処理を説明するためのフローチャート
【図１０】本発明の処理を説明するための図
【図１１】本発明の処理を説明するための図
【図１２】本発明の処理を説明するための図
【図１３】本発明の処理を説明するためのフローチャート
【発明を実施するための形態】
【０００９】
［実施例１］
以下、本発明の実施形態について図面を参照して詳細に説明する。図１は、本実施形態に係るデジタルカメラ１００の機能構成例を示すブロック図である。
【００１０】
制御部１０１は、例えばＣＰＵであり、プログラムをＲＯＭ１０２より読み出し、ＲＡＭ１０３に展開して実行することによりデジタルカメラ１００が備える各ブロックの動作を制御する。ＲＯＭ１０２は、書き換え可能な不揮発性メモリであり、制御部１０１が実行するプログラムに加え、各ブロックの制御に必要なパラメータ等を記憶する。ＲＡＭ１０３は、書き換え可能な揮発性メモリであり、デジタルカメラ１００が備える各ブロックが出力するデータの一時的な記憶領域として用いられる。
【００１１】
光学系１０４は、被写体像を撮像部１０５に結像する。撮像部１０５は、例えばＣＣＤやＣＭＯＳセンサ等の撮像素子であり、光学系１０４により結像された被写体像を光電変換し、得られたアナログ画像信号をＡ／Ｄ変換部１０６に出力する。Ａ／Ｄ変換部１０６は、入力されたアナログ画像信号にＡ／Ｄ変換処理を適用し、得られたデジタル画像データをＲＡＭ１０３に出力する。
【００１２】
姿勢検出部１１２は、加速度センサ、角速度センサ、振動ジャイロセンサ等で構成され、デジタルカメラ１００の姿勢変化として、シフト量と回転角度を検出する。
【００１３】
具体的には、デジタルカメラ１００の水平方向（左右方向）をＸ軸、垂直方向（上下方向）をＹ軸、光軸方向をＺ軸の３軸についてシフト量（ｃＸ,ｃＹ,ｃＺ）を検出する。また、Ｘ軸を回転軸とするピッチ、Ｙ軸を回転方向とするヨー、Ｚ軸を回転方向とするロールの３軸について回転角度（ｃＰｉ、ｃＹａ、ｃＲｏ）を検出する。姿勢検出部１１２は、検出したデジタルカメラ１００のシフト量（ｃＸ,ｃＹ,ｃＺ）と回転角度（ｃＰｉ、ｃＹａ、ｃＲｏ）をＲＡＭ１０３に出力する。尚、姿勢検出部１１２は、普及している既知の検出機構等が適用されているものとし、詳細構成は省略する。
【００１４】
画像処理部１０７は、ＲＡＭ１０３に記憶されている画像データに対して、ホワイトバランス調整、色補間、縮小／拡大、フィルタリング、符号化、復号など、様々な画像処理を適用する。また、画像処理部１０７は、取得したデジタルカメラ１００のシフト量（ｃＸ,ｃＹ,ｃＺ）と回転角度（ｃＰｉ、ｃＹａ、ｃＲｏ）に応じて、ＲＡＭ１０３に記憶されている画像データに対して、前述した画像処理を適用することができる。尚、本実施例における画像処理部１０７の詳細説明は後述する。
【００１５】
記録媒体１０８は、例えば着脱可能なメモリカードであり、ＲＡＭ１０３に記憶されている画像処理部１０７で処理された画像データや、Ａ／Ｄ変換部１０６から出力された画像データなどを所定形式の画像データファイルとして記録するために用いられる。通信部１０９は、有線または無線により、記録媒体１０８に記録されている画像データファイルなどを外部装置に送信する。
【００１６】
表示部１１０は、撮影で得られた画像データや、記録媒体１０８から読み出した画像データなどを表示したり、各種のメニュー画面を表示したりする。ライブビュー画像を表示して電子ビューファインダーとして機能することもある。
【００１７】
操作部１１１は、ユーザがデジタルカメラ１００に各種の指示や設定などを入力するための入力デバイス群であり、シャッターボタンやメニューボタン、方向キー、決定キーなど一般的なデジタルカメラが有するキーやボタンを備えている。また、表示部１１０がタッチディスプレイの場合、操作部１１１を兼ねる。なお、操作部１１１は、マイクと音声コマンド認識部の組み合わせなどのような、物理的な操作を必要としない構成であってもよい。
【００１８】
次に図２〜４を用いて、被写体までの距離を求める方法について説明する。図２は、撮像部１０５の画素配置例を示す模式図である。単位画素部５００は、Ｒ(Ｒｅｄ)／Ｇ(Ｇｒｅｅｎ)／Ｂ(Ｂｌｕｅ)のカラーフィルタがベイヤー配列で配置されている。各単位画素部５００内にはそれぞれ副画素ａと副画素ｂが配置されている。図中の５０１は副画素ａを構成する第１の光電変換部であり、５０２は副画素ｂを構成する第２の光電変換部である。
【００１９】
ここで、単位画素部５００から得られる副画素ａ５０１に対応する画像データをａ（ｘ，ｙ）、単位画素部５００から得られる副画素ｂ５０２に対応する画像データをｂ（ｘ，ｙ）とする（ｘ，ｙは０以上の整数）。本実施形態の撮像部１０５は、一対の撮像画像データとして、以下の式におけるｂ（ｘ，ｙ）と、基本画像データｇ（ｘ，ｙ）とを出力する。
【００２０】
g（ｘ，ｙ）＝a（ｘ，ｙ）＋b（ｘ，ｙ）                 （式１）
つまり、撮像部１０５は副画素ｂ５０２で得られる画像データと、副画素ｂ５０２で得られる画像データを加算して得られる基本画像データとを出力する。なお、撮像部１０５が出力する１組の画像データは他の組み合わせであってもよい。例えば、a（ｘ，ｙ）とｇ（ｘ，ｙ）との組み合わせであっても、a（ｘ，ｙ）とb（ｘ，ｙ）との組み合わせであってもよい。
【００２１】
図３は、光学系１０４から出る光束と、単位画素部５００との関係を説明する模式図である。単位画素部５００は５０１（副画素ａ）と５０２（副画素ｂ）を有する。カラーフィルタ２０１、マイクロレンズ２０２はそれぞれ単位画素部５００上に形成される。
【００２２】
マイクロレンズ２０２を有する画素部に対して、光学系１０４の撮影レンズから出た光束の中心を光軸２０４で示す。光学系１０４の撮影レンズを通過した光は、光軸２０４を中心として単位画素部５００に入射する。領域２０５、２０６は光学系１０４の撮影レンズにおける一部領域をそれぞれ表す。
【００２３】
図３に示すように領域２０５を通過する光束はマイクロレンズ２０２を通して５０１（副画素ａ）が受光する。また領域２０６を通過する光束はマイクロレンズ２０２を通して５０２（副画素ｂ）が受光する。したがって、副画素ａと副画素ｂはそれぞれ、光学系１０４の撮影レンズの異なる領域を通過する光を受光する。このため、副画素ａと副画素ｂの出力信号を比較することで位相差方式の焦点検出が可能である。
【００２４】
図４は、副画素ａから得られる像信号波形および副画素ｂから得られる像信号波形を示す模式図である。横軸は水平方向の画素位置を示し、縦軸は信号出力レベルを示す。
【００２５】
図４（ａ）は合焦状態から外れている場合の各像信号波形を例示する。副画素ａ，ｂのそれぞれから得られる像信号波形は一致せず、互いにずれた状態となる。合焦状態に近づくと、図４（ｂ）に示すように、像信号波形同士のずれは小さくなり、合焦状態で両波形が重なる。このように副画素ａ，ｂから得られる各像信号波形の相関により焦点ずれ量（デフォーカス量）を検出し、検出結果に基づいて、被写体までの距離を求めることができる。
【００２６】
次に図５〜８を用いて本実施例に関わる画像処理部１０７の機能を説明する。図５は、画像処理部１０７の機能を示す模式図である。図５では便宜上、画像処理部１０７が適用可能な各種の画像処理に対応した機能ブロックが存在するように記載している。しかし、図５は、動きベクトル検出を行う画像処理の工程を模式的に機能ブロックで表したものであって、実際の構成とは必ずしも合致しない。例えば、画像処理部１０７がＧＰＵやＤＳＰ等のプログラマブルプロセッサである場合、各機能ブロックはソフトウェア的に実施されてよく、また機能ブロック間の入出力線は存在しなくてよい。
【００２７】
画像分割部３１０は、撮像部１０５もしくは、ＲＡＭ１０３から入力される基本画像データｇ（ｘ，ｙ）と副画素ｂ（ｘ，ｙ）を、予め制御部１０１により設定されている水平分割数、垂直分割数に従って基本ブロックに分割する。画像分割部３１０は、制御部１０１の要求に応じて、基本ブロックの基本画像データｇ（ｘ，ｙ）を、画像保持部３０２に出力する。また、画像分割部３１０は、制御部１０１の要求に応じて、基本ブロックの基本画像データｇ（ｘ，ｙ）と副画素ｂ（ｘ，ｙ）を、距離マップ３０１生成部に出力する。
【００２８】
距離マップ生成部３０１は、画像保持部３０２から入力される基本ブロックの基本画像データｇ(x,y)と副画素ｂ（ｘ，ｙ）から副画素a（x，y）を算出する。距離マップ生成部３０１は、副画素a（x，y）と副画素ｂ（ｘ，ｙ）を水平方向にシフト移動しながら、対応する副画素aと副画素ｂを比較する。ここでは、副画素aを左にシフトする場合のシフト量をマイナス、副画素ｂを右にシフトする場合のシフト量をプラスとし、−Ｓ〜Ｓのシフト移動を行う。
【００２９】
各シフト移動時に水平方向の各位置における値が小さい方のデータを加算したものを１行分相関値として算出する。なお、相関値の算出方法に関してはこの限りではない。副画素a（x，y）と副画素ｂ（ｘ，ｙ）の相関を示す算出方法であれば、いずれの方法でも適用することが可能である。距離マップ生成部３０１により算出された距離マップの相関値は、公知のノイズリダクション処理、マトリックス処理、縮退処理等の信号処理を行い、被写体までの距離情報を含む距離マップｄｅｆ（ｘ，ｙ）として、画像保持部３０２に出力される。
【００３０】
図６は、距離マップ生成部３０１により水平７画素、垂直５画素の距離マップｄｅｆ（x，y）を生成した場合の概念図を示す。
【００３１】
画像保持部３０２は、画像分割部３１０から入力される任意ブロックの基本画像データｇ（ｘ，ｙ）と、距離マップ生成部３０１から入力される任意ブロックの距離マップｄｅｆ（ｘ，ｙ）を分割前のフレーム毎に関連付けて保持する。画像保持部３０２は、不図示のＲＡＭ等で構成した記憶媒体を有し、少なくとも２フレーム分の基本画像データｇ（ｘ，ｙ）と距離マップｄｅｆ（ｘ，ｙ）を保持することができる。画像保持部３０２は、制御部１０１の要求に応じて、任意フレーム、任意の基本画像データｇ（ｘ，ｙ）と距離マップｄｅｆ（ｘ，ｙ）を特徴点抽出部３０３、テンプレートマッチング部３０４、距離情報取得部３１１に出力する。
【００３２】
特徴点抽出部３０３は、画像保持部３０２から入力される基本画像に対して特徴点抽出を行い、抽出した特徴点の座標をテンプレートマッチング部３０４と距離取得部３１１に出力する。
【００３３】
特徴点抽出は、例えば公知のＨａｒｒｉｓ  ｃｏｒｎｅｒ検出器もしくはＳｈｉ ａｎｄ Ｔｏｍａｓｉの手法がある。画像の画素（ｘ，ｙ）における輝度値をＩ（ｘ，ｙ）と表現する。両手法では、まず画像に対して、水平・垂直の１次微分フィルタをそれぞれ施した結果Ｉｘ、Ｉｙから、式１で示す自己相関行列Ｈを作成する。
【００３４】
2019149600.tif 000003
【００３５】
式２において、Ｇは式２に示すガウス分布による平滑化を表わしている。
【００３６】
2019149600.tif 000004
【００３７】
Ｈａｒｒｉｓ検出器は式４に示す特徴評価式より、特徴の評価値（以下、特徴量）が高くなる点を特徴点として抽出する。
【００３８】
2019149600.tif 000005
【００３９】
式４において、ｄｅｔは行列式、ｔｒは対角成分の和を表わす。またαは定数であり、実験的に０．０４〜０．１５の値が良いとされている。一方、Ｓｈｉ ａｎｄ Ｔｏｍａｓｉでは、式５に示す特徴評価式を用いる。
【００４０】
2019149600.tif 000006
【００４１】
式５は、式２の自己相関行列Ｈの固有値のうち小さい方の固有値を特徴量とすることを表わしている。
【００４２】
距離取得部３１１は、特徴点抽出部３０３より入力される特徴点座標を基に、該当する距離マップを画像保持部３０２より読み出し、特徴点座標の距離を取得する。距離取得部３１１は、取得した特徴点座標の距離を優先順位制御部３１２に出力する。
【００４３】
優先順位判断部３１２は、距離取得部３１１より入力される特徴点座標の距離と、ＲＡＭ１０３に保持されているデジタルカメラ１００のシフト量（ｃＸ,ｃＹ,ｃＺ）と回転角度（ｃＰｉ、ｃＹａ、ｃＲｏ）を基に、テンプレートマッチング部３０４で生成する相関テーブル処理の優先順位を判断する。尚、優先順位判断部３１２による具体的な判断方法は後述する。
【００４４】
テンプレートマッチング部３０４は、特徴点抽出部３０３から入力される特徴点座標と優先順位判断部３１２の判断に基づいて、該当するフレーム間の相関テーブルを生成する。テンプレートマッチング部３０４は、生成した相関テーブルを相関テーブル保持部３０５に出力する。
【００４５】
図７にテンプレートマッチングの概要を示す。図７（ａ）は現在フレームの任意ブロック（以降、原画像とする）、図４（ｂ）は過去フレームの任意ブロック(以降、参照画像とする)であり、これらの画像は画像保持部３０２に格納されている基本画像データｇ（ｘ，ｙ）である。
【００４６】
そして、図７の４０１に示すように原画像中の特徴点の座標にテンプレートを配置し、テンプレート４０１と参照画像の各領域との相関値を算出する。このとき、参照画像の全領域に対して相関値を算出するのでは演算量が膨大なものとなるため、実際には４０２に示すように参照画像上の相関値を算出する矩形領域をサーチ範囲として設定する。サーチ範囲４０２の位置や大きさの設定については特に制限は無いが、サーチ範囲４０２の内部にテンプレート４０１の移動先に相当する領域が含まれていないと正しい動きベクトルを検出することは出来ない。
【００４７】
本実施例では、相関値の算出方法の一例として差分絶対値和（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ、以下ＳＡＤと略す）を使用する。ＳＡＤの計算式を式６に示す。
【００４８】
2019149600.tif 000007
【００４９】
式６において、ｆ（ｉ，ｊ）はテンプレートブロック４０１内の座標（ｉ，ｊ）における輝度値を表しており、ｇ（ｉ，ｊ）はサーチ範囲４０２において相関値算出の対象となるテンプレートブロック４０３内の各輝度値を表す。そしてＳＡＤでは、両ブロック内の各輝度値ｆ（ｉ，ｊ）及びｇ（ｉ，ｊ）について差の絶対値を計算し、その総和を求めることで相関値Ｓ＿ＳＡＤを得ることが出来る。従って、相関値Ｓ＿ＳＡＤの値が小さいほどブロック間の差分が小さい、つまりテンプレート４０１とテンプレートブロック４０３のブロック内のテクスチャが類似していることを表している。
【００５０】
本実施例では、相関値の一例としてＳＡＤを使用しているが、これに限るものではなく、差分二乗和（ＳＳＤ）や正規化相互相関（ＮＣＣ）等の他の相関値を用いても良い。
【００５１】
そして、サーチ範囲４０２の全領域についてテンプレートブロック４０３を移動させて相関値を算出すると、図８に示すような相関テーブルを作成することが出来る。
【００５２】
図８に示す例では、特徴点に対してそれぞれ水平方向に±２、垂直方向に±２の矩形領域をサーチ範囲として設定してＳＡＤにより求めた相関テーブルを示している。
【００５３】
同図において、相関値が最も小さいのは極小値８であり、参照画像上で極小値８が算出された領域には、テンプレートブロック４０１と非常に類似したテクスチャが存在していると判定できる。このように、テンプレートブロック４０１とサーチ範囲４０２との間で相関値を算出し、その値が最も小さくなる位置を判定することにより、原画像上のテンプレートブロックが参照画像においてどの位置に移動したか、つまり画像間の動きベクトルを検出することが可能となる。
【００５４】
相関テーブル保持部３０５は、テンプレートマッチング部３０４から入力される相関テーブルをブロックごとに関連付けて保持する。相関テーブル保持部３０５は、不図示のＲＡＭ等で構成した記憶媒体を有し、基本画像データｇ（ｘ，ｙ）と距離マップｄｅｆ（ｘ，ｙ）の各基本ブロックから算出した相関テーブルを保持することができる。相関テーブル保持部３０５は、制御部１０１の要求に応じて、任意の基本ブロックの基本画像データｇ（ｘ，ｙ）と距離マップｄｅｆ（ｘ，ｙ）から算出した相関テーブルを、動きベクトル検出部３０７に出力する。
【００５５】
動きベクトル検出部３０７は、相関テーブル保持部３０５に保持されている相関テーブルを基に動きベクトルを検出する。動きベクトル検出部３０７は、検出した動きベクトルを出力する。
【００５６】
動きベクトル検出方法は、相関テーブルにおいて最小をずらし量が動きベクトルとなる。例えば、図８に示す相関テーブルにおいては、最小値が”８”であるので、基準ブロックの中心を移動前の原点（ＳＡＤ値が”２６”の位置）とすると、動きベクトルは（＋１，＋１）となる。
【００５７】
次に図９〜図１２を用いて画像処理部１０７の処理を説明する。図９は、動きベクトル検出処理におけるフローチャートである。図１０は、本実施例における前提条件を説明するための概念図である。図１０（ａ）は、前フレームの基本画像を示す。図１０（ｂ）は、前フレームの距離マップを示す。尚、本実施例における距離マップは、デジタルカメラ１００から被写体までの距離を近距離、中距離、長距離の３状態で示し、近距離を黒、中距離を斜めのハッチング、遠距離を白で表わす。
【００５８】
図１０（ｃ）は、本実施例における画像分割部３１０の分割例である。画像分割部３１０は基本画像、距離マップを水平３分割、垂直３分割し、Ａ〜Ｉの基本ブロックに分割する。尚、画像処理部１０７内の画像保持部３０２、及び相関テーブル保持部３０５には、予め図１０（ａ）の基本画像に対して処理した結果が保持されているものする。図１０（ｄ）は、本実施例におけるデジタルカメラ１００の姿勢を示す。図１０（ａ）に対してデジタルカメラ１００の水平方向（左右方向）をＸ軸、垂直方向（上下方向）をＹ軸、光軸方向（奥行き方向）をＺ軸とする。
【００５９】
また、Ｘ軸を回転軸とするピッチ、Ｙ軸を回転方向とするヨー、Ｚ軸を回転方向とするロールとする。図１１は、デジタルカメラ１００がシフト移動した一例であり、Ｚ軸方向のシフト量が検出された場合の動きベクトル検出処理を説明するための概念図である。図１２は、デジタルカメラ１００が回転した一例であり、ヨー軸に対しての回転角度が検出された場合の動きベクトル検出処理を説明するための概念図である。
【００６０】
次に、図９〜図１１を用いてデジタルカメラ１００がシフト移動した（Ｚ軸方向のシフト量が検出された）場合の動きベクトル検出処理を説明する。動きベクトル検出処理を開始するとＳ４０１へ進み、基本画像を所定サイズの基本ブロックに分割する。制御部１０１は、図１１（ａ）の基本画像を画像分割部３１０に入力する。画像分割部３１０は、制御部１０１の要求に従って、図１１（ａ）をＡ〜Ｉの基本ブロックに分割し、分割した基本ブロック毎に距離マップ生成部３０１と画像保持部３０２へ出力する。
【００６１】
次にＳ４０２へ進み、Ａ〜Ｉの基本ブロック毎に特徴点を抽出する。制御部１０１は、画像保持部３０２に保持されているＡ〜Ｉの基本ブロックを特徴点抽出部３０３に入力する。特徴点抽出部３０３は基本ブロック毎に特徴点を抽出する。特徴点抽出部３０３は制御部１０１の要求に従って、抽出した特徴点座標をテンプレートマッチング部３０４と、距離取得部３１１に出力する。図１１（ｂ）は、分割したＡ〜Ｉの基本ブロックに対して特徴点座標を抽出した場合の概念図である。図１１（ｂ）内の黒丸は、各基本ブロックにおける特徴点座標を示す。
【００６２】
次にＳ４０３へ進み、Ａ〜Ｉの基本ブロック毎に距離マップを生成する。制御部１０１は、画像分割部３１０により分割されたＡ〜Ｉの基本ブロックを距離マップ生成部３０１に入力する。距離マップ生成部３０１は、基本ブロック毎に距離マップを生成する。距離マップ生成部３０１は生成した距離マップを画像保持部３０２に出力する。図１１（ｃ）は、分割したＡ〜Ｉの基本ブロックに対して距離マップを生成した場合の概念図である。
【００６３】
次にＳ４０４へ進み、Ａ〜Ｉの基本ブロック毎に特徴点座標の距離を取得する。制御部１０１は、特徴点抽出部３０３で抽出したＡ〜Ｉの基本ブロックの特徴点座標と、画像保持部３０２に保持されているＡ〜Ｉの距離マップを距離取得部３１１に入力する。距離取得部３１１は、Ａ〜Ｉの基本ブロック毎に特徴点座標に該当する距離を、距離マップから取得する。距離取得部３１１は、取得した特徴点座標に該当する距離を優先順位判断部３１２に出力する。図１１（ｄ）は、分割したＡ〜Ｉの基本ブロックの特徴点座標に該当する距離を取得した概念図である。
【００６４】
次にＳ４０５へ進み、優先順位判断部３１２の設定値を設定する。制御部１０１は、ＲＡＭ１０３に保持されているデジタルカメラ１００のシフト量（ｃＸ,ｃＹ,ｃＺ）と回転角度（ｃＰｉ、ｃＹａ、ｃＲｏ）を優先順位判断部３１２に出力する。また、制御部１０１は、ＲＯＭ１０２に保持されているシフト量閾値（ｔｈＸ,ｔｈＹ,ｔｈＺ）、回転角度閾値（ｔｈＰｉ、ｔｈＹａ、ｔｈＲｏ）を優先順位判断部３１２に設定する。
【００６５】
次にＳ４０６へ進み、優先順位判断部３１２は、設定されたシフト量が閾値を超えるか否か絶対値どうしで比較（｜ｔｈＸ｜＜｜ｃＸ｜、｜ｔｈＹ｜＜｜ｃＹ｜、｜ｔｈＺ｜＜｜ｃＺ｜）する。シフト量が閾値を超える場合（Ｓ４０６：ＹＥＳ）、優先順位判断部３１２は、シフト量結果をシフト移動ありと判断（Ｓ４０７）し、Ｓ４０９に進む。一方、シフト量が閾値を超えない場合（Ｓ４０６：ＮＯ）、優先順位判断部３１２は、シフト量結果をシフト移動なしと判断（Ｓ４０８）し、Ｓ４０９に進む。
【００６６】
次にＳ４０９へ進み、優先順位判断部３１２は、設定された回転角度が閾値を超えるか否か絶対値どうしで比較（｜ｔｈＰｉ｜＜｜ｃＰｉ｜、｜ｔｈＹａ｜＜｜ｃＹａ｜、｜ｔｈＲｏ｜＜｜ｃＲｏ｜）する。回転角度が閾値を超える場合（Ｓ４０９：ＹＥＳ）、優先順位判断部３１２は、回転角度結果を回転あり（Ｓ４１０）と判断し、Ｓ４１２に進む。一方、回転角度が閾値を超えない場合（Ｓ４０９：ＮＯ）、優先順位判断部３１２は、回転角度結果を回転なし（Ｓ４１１）と判断し、Ｓ４１２に進む。
【００６７】
次にＳ４１２へ進み、優先順位判断部３１２は、Ｓ４０６で判断したシフト量結果、Ｓ４０７で判断した回転角度結果を基に、優先順位を選択する。“シフト量移動あり“、且つ“回転なし“と判断した場合（Ｓ４１２：ＹＥＳ）、優先順位判断部３１２は、距離取得部３１１から出力されたＡ〜Ｉの基本ブロックごとの特徴点座標の距離が遠方の基本ブロックを抽出（Ｓ４１３）する。優先順位判断部３１２は制御部１０１の要求に従って、抽出した基本ブロックから実行する基本ブロックを選択し、Ｓ４２０に進む。
【００６８】
図１１（ｅ）は、図１１（ｄ）の距離取得部３１１から出力されたＡ〜Ｉの基本ブロックごとの特徴点座標の距離を基に、距離が遠方の基本ブロックを抽出した例である。図１１（ｅ）の判断が”○”となっているＡ、Ｂ、Ｃ、Ｄ、Ｆを抽出する。
【００６９】
次に“シフト量移動なし“、且つ“回転あり“と判断した場合（Ｓ４１４：ＹＥＳ）、優先順位判断部３１２は、距離取得部３１１から出力されたＡ〜Ｉの基本ブロックごとの特徴点座標の距離が近傍の基本ブロックを抽出（Ｓ４１５）する。優先順位判断部３１２は制御部１０１の要求に従って、抽出した基本ブロックから実行する基本ブロックを選択し、Ｓ４２０に進む。
【００７０】
その他の場合（Ｓ４１６）、優先順位判断部３１２は、距離取得部３１１から出力されたＡ〜Ｉの基本ブロックごとの特徴点座標の距離を予め設定されている条件で抽出する。ここで予め設定されている条件は、制御部１０１が撮影状況に応じて設定し、例えば主被写体の含まれる基本ブロックや、Ａ〜Ｉ全ての基本ブロック、画面中央の基本ブロックなど特に限定しない。優先順位判断部３１２は制御部１０１の要求に従って、抽出した基本ブロックから実行する基本ブロックを選択し、Ｓ４２０に進む。
【００７１】
次にＳ４２０へ進み、基本ブロックと参照基本ブロックのテンプレートマッチングにより、相関テーブルを生成する。制御部１０１は、優先順位判断部３１２が選択した実行する基本ブロックに従って、画像保持部３０２に保持されている基本ブロック、参照基本ブロック、特徴点抽出部３０３に保持されている特徴点座標をテンプレートマッチング部３０４に入力する。テンプレートマッチング部３０４は、入力された基本ブロック、参照基本ブロック、特徴点座標を基に、生成した相関テーブルを相関テーブル保持部３０５に出力する。
【００７２】
次にＳ４２１へ進み、動きベクトル検出を行う。動きベクトル検出部３０７は、該当基本ブロックの相関テーブル結果から動きベクトルを算出し、算出した動きベクトルをＲＡＭ１０３に出力し、Ｓ４２２へ進む。
【００７３】
次にＳ４２２へ進み、制御部１０１は抽出された基本ブロックの動きベクトル検出処理が完了したか否かを判断する。抽出された基本ブロックの動きベクトル検出処理が完了している場合（Ｓ４２２：Ｙｅｓ）、制御部１０１は動きベクトル検出処理を完了する。一方、抽出された基本ブロックで動きベクトル検出が完了していない場合（Ｓ４２２：Ｎｏ）、制御部１０１は次の基本ブロックを設定し、Ｓ４２０へ戻る。
【００７４】
次に、図９、図１２を用いてデジタルカメラ１００が回転した（ヨー軸に対しての回転角度が検出された）場合の動きベクトル検出処理を説明する。尚、重複する動きベクトル検出処理の説明は割愛する。
【００７５】
まず、Ｓ４０１において制御部１０１は、図１２（ａ）の基本画像を画像分割部３１０に入力する。画像分割部３１０は、制御部１０１の要求に従って、図１２（ａ）をＡ〜Ｉの基本ブロックに分割し、分割した基本ブロック毎に距離マップ生成部３０１と画像保持部３０２へ出力する。
【００７６】
次にＳ４０２において特徴点抽出部３０３は、図１２（ｂ）のように、分割したＡ〜Ｉの基本ブロックに対して特徴点座標を抽出する。図１２（ｂ）内の黒丸は、各基本ブロックにおける特徴点座標を示す。
【００７７】
次にＳ４０３において距離マップ生成部３０１は、図１２（ｃ）のように、分割したＡ〜Ｉの基本ブロックに対して距離マップを生成する。
【００７８】
次にＳ４０４において、距離取得部３１１は、図１２（ｄ）のように、分割したＡ〜Ｉの基本ブロックの特徴点座標に該当する距離を取得する。
【００７９】
次にＳ４１５において、図１２（ｅ）のように、図１２（ｄ）の距離取得部３１１から出力されたＡ〜Ｉの基本ブロックごとの特徴点座標の距離を基に、距離が近傍の基本ブロックを抽出した例である。図１２（ｅ）の判断が”○”となっているＥ、Ｆ、Ｈ、Ｉを抽出する。
【００８０】
以上、本発明の好ましい実施の形態を説明したが、本発明はこれらの実施形態に限定されるものではなく、その要旨の範囲内で種々の変形及び変更が可能である。
【００８１】
尚、本実施例で優先順位判断部３１２は、全ての基本ブロックから条件にあったものを抽出していたが、前フレームで抽出された基本ブロックに基づいて判断しても良い。前フレームで抽出された基本ブロック内から抽出することで、更に動きベクトルを取得する基本ブロック数を制限することが可能となり、更なる効率化が期待できる。
【００８２】
［実施例２］
動きベクトル検出を効率化する本発明の実施形態について図面を参照して詳細に説明する。図１３は本実施例を説明する動きベクトル検出処理におけるフローチャートである。尚、図９と重複する処理の説明は割愛する。
【００８３】
まず、動きベクトル検出可能な状態かを距離マップで判断する。制御部１０１は、ＲＡＭ１０２に保持されている撮影条件に応じた被写界深度を取得し、Ｓ４０３で生成した距離マップの距離範囲が被写界深度に包含されているか否かを判断する。距離マップ内の距離範囲が被写界深度に包含されている場合（Ｓ４４０：Ｙｅｓ）、制御部１０１は距離マップが適正だと判断し、Ｓ４０４に進む。一方、距離マップ内の距離範囲が被写界深度に包含されていない場合（Ｓ４４０：Ｎｏ）、制御部１０１は距離マップが不適正（フォーカスが合っていないため、動きベクトル検出に適さない状態）だと判断し、動きベクトル検出処理を完了する。
【００８４】
次に、動きベクトル検出可能な状態かをシフト量で判断する。制御部１０１は、ＲＡＭ１０２に保持されている最大シフト量を取得し、ＲＡＭ１０３に保持されているデジタルカメラ１００のシフト量が最大シフト量を超えるか否かを判断する。デジタルカメラ１００のシフト量が最大シフト量を超えない場合（Ｓ４４１：Ｙｅｓ）、制御部１０１はシフト量が適正だと判断し、Ｓ４０７に進む。一方、デジタルカメラ１００のシフト量が最大シフト量を超える場合（Ｓ４４１：Ｎｏ）、制御部１０１はシフト量が不適正（デジタルカメラ１００の姿勢の変化量が多く、動きベクトル検出に適さない状態）だと判断し、動きベクトル検出処理を完了する。
【００８５】
次に、動きベクトル検出可能な状態かを回転角度で判断する。制御部１０１は、ＲＡＭ１０２に保持されている最大回転角度を取得し、ＲＡＭ１０３に保持されているデジタルカメラ１００の回転角度が最大回転角度を超えるか否かを判断する。デジタルカメラ１００の回転角度が最大回転角度を超えない場合（Ｓ４４２：Ｙｅｓ）、制御部１０１は回転角度が適正だと判断し、Ｓ４１０に進む。一方、デジタルカメラ１００の回転角度が最大回転角度を超える場合（Ｓ４４２：Ｎｏ）、制御部１０１は回転角度が不適正（デジタルカメラ１００の姿勢の変化量が多く、動きベクトル検出に適さない状態）だと判断し、動きベクトル検出処理を完了する。
【００８６】
以上の処理を行うことで、動きベクトル検出に適さない状態を事前に判断することが可能となり、動きベクトル検出を効率化することができる。
【符号の説明】
【００８７】
１００ デジタルカメラ
１０１  制御部
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  光学系
１０５  撮像部
１０６  Ａ／Ｄ変換部
１０７  画像処理部
１０８  記録媒体
１０９  通信部
１１０  表示部
１１１  操作部
１１２  角速度センサ
２０１  カラーフィルタ
２０２  マイクロレンズ
２０４  光軸
３１０  画像分割部
３０１  距離マップ生成部
３０２  画像保持部
３０３  特徴点抽出部
３１１  距離取得部
３１２  優先順位制御部
３０４  テンプレートマッチング部
３０５  相関テーブル保持部
３０７  動きベクトル検出部
４０１  テンプレート
４０２  サーチ範囲
４０３  テンプレートブロック
５００  単位画素部
５０１  第１の光電変換部
５０２  第２の光電変換部
【図１】
2019149600.tif 000008
【図２】
2019149600.tif 000009
【図３】
2019149600.tif 000010
【図４】
2019149600.tif 000011
【図５】
2019149600.tif 000012
【図６】
2019149600.tif 000013
【図７】
2019149600.tif 000014
【図８】
2019149600.tif 000015
【図９】
2019149600.tif 000016
【図１０】
2019149600.tif 000017
【図１１】
2019149600.tif 000018
【図１２】
2019149600.tif 000019
【図１３】
2019149600.tif 000020