(57)【特許請求の範囲】
【請求項１】
重力加速度と並進加速度とを検出する加速度センサからの出力信号に基づいて、第１の方向のベクトルを検出する第１検出手段と、
連続して撮像された複数の画像を取得する取得手段と、
前記取得手段により取得された前記複数の画像の間における特徴点の動きベクトルを検出する第２検出手段と、
角速度センサからの出力信号に基づいて、第１の軸の回りの角速度を検出する第３検出手段と、
前記第２検出手段により検出された前記動きベクトルを検出可の場合には、前記第２検出手段により検出された前記動きベクトルに基づいて、前記複数の画像の間における前記第１の軸の回りの相対的な回転角度を算出し、前記第２検出手段により検出された前記動きベクトルを検出不可の場合には、前記第３検出手段により検出された前記第１の軸の回りの前記角速度に基づいて、前記複数の画像の間における前記第１の軸の回りの相対的な回転角度を算出する算出手段と、
前記算出手段により算出された前記第１の軸の回りの前記相対的な回転角度及び前記第１検出手段により検出された前記第１の方向のベクトルに基づいて、前記第１の方向とは異なる第２の方向としての重力方向を推定する推定手段と、
を備える、
ことを特徴とする姿勢推定装置。
【請求項２】
撮像手段を更に備え、
前記第２検出手段は、前記撮像手段により連続して撮像されて前記取得手段により取得された複数のフレーム画像に対して特徴検出処理を行い、前記複数のフレーム画像のうちの、何れか一つのフレーム画像を基準フレーム画像として、前記基準フレーム画像から前記特徴点としての所定数のブロック領域を選択し、各前記ブロック領域をテンプレートとして検出し、前記複数のフレーム画像のうちの、前記基準フレーム画像とは時間的に異なるフレーム画像内にて前記各テンプレートがそれぞれ対応する対応領域に基づいて前記各テンプレートのテンプレート動きベクトルを検出し、前記各ブロック領域について検出された全ての前記テンプレート動きベクトルを統合して前記基準フレーム画像における全体の前記動きベクトルとして検出する、
ことを特徴とする請求項１に記載の姿勢推定装置。
【請求項３】
前記第２検出手段は、前記複数のフレーム画像のうちの、前記基準フレーム画像とは時間的に異なるフレーム画像内にて前記各テンプレートの画素値が最適に適合する領域をそれぞれ探索し、前記画素値の相違度の評価値が最も小さい前記対応領域に基づいて前記各テンプレートの前記テンプレート動きベクトルを検出し、
前記算出手段は、前記第２検出手段により検出された前記基準フレーム画像の全体の前記動きベクトルに基づいて、前記第１の軸を回転中心として前記基準フレーム画像を回転させる線形変換のパラメータを算出し、前記基準フレーム画像に対する前記第１の軸の回りの前記相対的な回転角度を算出し、
前記推定手段は、前記算出手段により算出された前記第１の軸の回りの前記相対的な回転角度及び前記第１検出手段により検出された前記第１の方向のベクトルに基づいて、カルマンフィルタにより前記第１の軸の回りの回転角度を算出することで、前記第２の方向を推定する、
ことを特徴とする請求項２に記載の姿勢推定装置。
【請求項４】
前記第１の軸は、本体装置のロール軸とピッチ軸とのうちの、少なくともいずれか一方を含む、
ことを特徴とする請求項１乃至３の何れか１項に記載の姿勢推定装置。
【請求項５】
前記第１検出手段は、前記加速度センサとして本体装置の互いに直交する３軸方向の加速度をそれぞれ検出する３軸加速度センサを有し、前記３軸加速度センサによる前記３軸方向の前記加速度の各出力信号の時間平均に基づいて、前記第１の方向のベクトルを検出する、
ことを特徴とする請求項１乃至４の何れか１項に記載の姿勢推定装置。
【請求項６】
前記第３検出手段は、前記角速度センサとして本体装置の互いに直交する３軸を中心とする回動の前記角速度をそれぞれ検出する３軸角速度センサを有し、前記３軸角速度センサによる前記３軸を中心とする回動の前記角速度の各出力信号の時間平均に基づいて、前記第１の軸の回りの前記角速度を検出する、
ことを特徴とする請求項１乃至５の何れか１項に記載の姿勢推定装置。
【請求項７】
姿勢推定装置を用いた姿勢推定方法であって、
重力加速度と並進加速度とを検出する加速度センサからの出力信号に基づいて、第１の方向のベクトルを検出する第１検出処理と、
連続して撮像された複数の画像を取得する取得処理と、
前記取得処理において取得された前記複数の画像の間における特徴点の動きベクトルを検出する第２検出処理と、
角速度センサからの出力信号に基づいて、第１の軸の回りの角速度を検出する第３検出処理と、
前記第２検出処理において検出された前記動きベクトルを検出可の場合には、前記第２検出処理において検出された前記動きベクトルに基づいて、前記複数の画像の間における第１の軸の回りの相対的な回転角度を算出し、前記第２検出処理において検出された前記動きベクトルを検出不可の場合には、前記第３検出処理において検出された前記第１の軸の回りの前記角速度に基づいて、前記複数の画像の間における前記第１の軸の回りの相対的な回転角度を算出する算出処理と、
前記算出処理において算出された前記第１の軸の回りの前記相対的な回転角度及び検出された前記第１の方向のベクトルに基づいて、前記第１の方向とは異なる第２の方向としての重力方向を推定する推定処理と、
を含む、
ことを特徴とする姿勢推定方法。
【請求項８】
姿勢推定装置のコンピュータを、
重力加速度と並進加速度とを検出する加速度センサからの出力信号に基づいて、第１の方向のベクトルを検出する第１検出手段、
連続して撮像された複数の画像を取得する取得手段、
前記取得手段により取得された前記複数の画像の間における特徴点の動きベクトルを検出する第２検出手段、
角速度センサからの出力信号に基づいて、第１の軸の回りの角速度を検出する第３検出手段、
前記第２検出手段により検出された前記動きベクトルを検出可の場合には、前記第２検出手段により検出された前記動きベクトルに基づいて、前記複数の画像の間における第１の軸の回りの相対的な回転角度を算出し、前記第２検出手段により検出された前記動きベクトルを検出不可の場合には、前記第３検出手段により検出された前記第１の軸の回りの前記角速度に基づいて、前記複数の画像の間における前記第１の軸の回りの相対的な回転角度を算出する算出手段、
前記算出手段により算出された前記第１の軸の回りの前記相対的な回転角度及び前記第１検出手段により検出された前記第１の方向のベクトルに基づいて、前記第１の方向とは異なる第２の方向としての重力方向を推定する推定手段、
として機能させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、姿勢推定装置、姿勢推定方法及びプログラムに関する。
【背景技術】
【０００２】
従来、加速度センサからの出力信号により検出される第１の方向のベクトルに基づいて当該装置の姿勢の推定や手ぶれ補正を行う撮像装置がある。また、モーションセンサでは、加速度センサからの出力信号により求められる第１の方向のベクトルに加えて、角速度センサからの出力信号により検出される回転角度を用いて、カルマンフィルタにより姿勢の推定を高精度で行い、第１の方向とは異なる重力方向を推定する技術も知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５６１４５２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、アクションカメラのように激しい並進運動を伴う動きのある中で撮影を行う場合、加速度センサからの出力信号により検出される第１の方向のベクトルに基づいて重力方向を適正に検出することは困難となり、姿勢の推定精度が低下してしまう。一方、上記特許文献１等のように、角速度センサを搭載すると、電力消費量が増大してしまうといった問題がある。
【０００５】
そこで、本願発明の課題は、姿勢の推定をより適正に行うことができる姿勢推定装置、姿勢推定方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
前記課題を解決するため、本発明に係る姿勢推定装置の一態様は、
重力加速度と並進加速度とを検出する加速度センサからの出力信号に基づいて、第１の方向のベクトルを検出する第１検出手段と、
連続して撮像された複数の画像を取得する取得手段と、
前記取得手段により取得された前記複数の画像の間における特徴点の動きベクトルを検出する第２検出手段と、
角速度センサからの出力信号に基づいて、第１の軸の回りの角速度を検出する第３検出手段と、
前記第２検出手段により検出された前記動きベクトルを検出可の場合には、前記第２検出手段により検出された前記動きベクトルに基づいて、前記複数の画像の間における前記第１の軸の回りの相対的な回転角度を算出し、前記第２検出手段により検出された前記動きベクトルを検出不可の場合には、前記第３検出手段により検出された前記第１の軸の回りの前記角速度に基づいて、前記複数の画像の間における前記第１の軸の回りの相対的な回転角度を算出する算出手段と、
前記算出手段により算出された前記第１の軸の回りの前記相対的な回転角度及び前記第１検出手段により検出された前記第１の方向のベクトルに基づいて、前記第１の方向とは異なる第２の方向としての重力方向を推定する推定手段と、
を備える、
ことを特徴とする。
【０００７】
また、前記課題を解決するため、本発明に係る姿勢推定方法の一態様は、
姿勢推定装置を用いた姿勢推定方法であって、
重力加速度と並進加速度とを検出する加速度センサからの出力信号に基づいて、第１の方向のベクトルを検出する第１検出処理と、
連続して撮像された複数の画像を取得する取得処理と、
前記取得処理において取得された前記複数の画像の間における特徴点の動きベクトルを検出する第２検出処理と、
角速度センサからの出力信号に基づいて、第１の軸の回りの角速度を検出する第３検出処理と、
前記第２検出処理において検出された前記動きベクトルを検出可の場合には、前記第２検出処理において検出された前記動きベクトルに基づいて、前記複数の画像の間における第１の軸の回りの相対的な回転角度を算出し、前記第２検出処理において検出された前記動きベクトルを検出不可の場合には、前記第３検出処理において検出された前記第１の軸の回りの前記角速度に基づいて、前記複数の画像の間における前記第１の軸の回りの相対的な回転角度を算出する算出処理と、
前記算出処理において算出された前記第１の軸の回りの前記相対的な回転角度及び検出された前記第１の方向のベクトルに基づいて、前記第１の方向とは異なる第２の方向としての重力方向を推定する推定処理と、
を含む、
ことを特徴とする。
【０００８】
また、前記課題を解決するため、本発明に係るプログラムの一態様は、
姿勢推定装置のコンピュータを、
重力加速度と並進加速度とを検出する加速度センサからの出力信号に基づいて、第１の方向のベクトルを検出する第１検出手段、
連続して撮像された複数の画像を取得する取得手段、
前記取得手段により取得された前記複数の画像の間における特徴点の動きベクトルを検出する第２検出手段、
角速度センサからの出力信号に基づいて、第１の軸の回りの角速度を検出する第３検出手段、
前記第２検出手段により検出された前記動きベクトルを検出可の場合には、前記第２検出手段により検出された前記動きベクトルに基づいて、前記複数の画像の間における第１の軸の回りの相対的な回転角度を算出し、前記第２検出手段により検出された前記動きベクトルを検出不可の場合には、前記第３検出手段により検出された前記第１の軸の回りの前記角速度に基づいて、前記複数の画像の間における前記第１の軸の回りの相対的な回転角度を算出する算出手段、
前記算出手段により算出された前記第１の軸の回りの前記相対的な回転角度及び前記第１検出手段により検出された前記第１の方向のベクトルに基づいて、前記第１の方向とは異なる第２の方向としての重力方向を推定する推定手段、
として機能させる、
ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、姿勢の推定をより適正に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明を適用した一実施形態の撮像装置の概略構成を示すブロック図である。
【図２】図１の撮像装置のロール軸、ピッチ軸及びヨー軸を模式的に示す図である。
【図３】図１の撮像装置による姿勢推定処理に係る動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
【００１２】
図１は、本発明を適用した一実施形態の撮像装置１００の概略構成を示すブロック図である。また、図２は、撮像装置１００のロール軸、ピッチ軸及びヨー軸を模式的に示す図である。
【００１３】
図１に示すように、本実施形態の撮像装置１００は、中央制御部１と、メモリ２と、撮像部３と、画像処理部４と、加速度検出部５と、角速度検出部６と、姿勢推定部７と、表示部８と、記録媒体制御部９と、操作入力部１０と、を備えている。
また、中央制御部１、メモリ２、撮像部３、画像処理部４、加速度検出部５、角速度検出部６、姿勢推定部７、表示部８及び記録媒体制御部９は、バスライン１１を介して接続されている。
【００１４】
なお、撮像装置１００は、公知のものを適用可能であり、本実施形態のように、主要な機能を撮影機能とするデジタルカメラだけでなく、主要な機能としないものの撮影機能を具備する携帯電話機、スマートフォン等の携帯端末なども含む。
【００１５】
中央制御部１は、撮像装置１００の各部を制御するものである。具体的には、中央制御部１は、図示は省略するが、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）を備え、撮像装置１００用の各種処理プログラム（図示略）に従って各種の制御動作を行う。
【００１６】
メモリ２は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）等により構成され、中央制御部１や姿勢推定部７等の各部によって処理されるデータ等を一時的に格納する。
【００１７】
撮像部３は、被写体を撮影する。具体的には、撮像部３は、レンズ部３ａと、電子撮像部３ｂと、撮像制御部３ｃと、を備えている。
【００１８】
レンズ部３ａは、例えば、ズームレンズやフォーカスレンズ等の複数のレンズから構成されている。
電子撮像部３ｂは、例えば、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal-oxide Semiconductor）等のイメージセンサから構成され、レンズ部３ａの各種レンズを通過した光学像を二次元の画像信号に変換する。
なお、図示は省略するが、撮像部３は、レンズ部３ａを通過する光の量を調整する絞りを備えていても良い。
【００１９】
撮像制御部３ｃは、撮像部３による被写体の撮影を制御する。すなわち、撮像制御部３ｃは、図示は省略するが、タイミング発生器、ドライバなどを備えている。そして、撮像制御部３ｃは、タイミング発生器、ドライバにより電子撮像部３ｂを走査駆動して、所定周期毎に光学像を電子撮像部３ｂにより二次元の画像信号に変換させ、当該電子撮像部３ｂの撮像領域から一画面分ずつフレーム画像を読み出して画像処理部４に出力させる。
なお、撮像制御部３ｃは、ＡＦ（自動合焦処理）、ＡＥ（自動露出処理）、ＡＷＢ（自動ホワイトバランス）等の被写体を撮影する際の条件の調整制御を行っても良い。
【００２０】
画像処理部４は、撮像部３の電子撮像部３ｂから転送されたフレーム画像のアナログ値の信号に対してＲＧＢの各色成分毎に適宜ゲイン調整した後に、サンプルホールド回路（図示略）でサンプルホールドしてＡ／Ｄ変換器（図示略）でデジタルデータに変換し、カラープロセス回路（図示略）で画素補間処理及びγ補正処理を含むカラープロセス処理を行った後、デジタル値の輝度信号Ｙ及び色差信号Ｃｂ，Ｃｒ（ＹＵＶデータ）を生成する。また、画像処理部４は、生成された輝度信号Ｙ及び色差信号Ｃｂ，Ｃｒをバッファメモリとして使用されるメモリ２に出力しても良い。
【００２１】
また、画像処理部４は、画像を記録する際には、生成された輝度信号Ｙ及び色差信号Ｃｂ，Ｃｒを所定の符号化方式（例えば、ＪＰＥＧ形式、モーションＪＰＥＧ形式、ＭＰＥＧ形式等）で符号化して記録媒体制御部９に出力する。
また、画像処理部４は、画像を再生表示する場合には、記録媒体９ａ（後述）等から読み出された表示対象に係る静止画像や動画像の画像データを対応する所定の符号化方式に従って復号して表示部８に出力する。このとき、画像処理部４は、例えば、表示パネル８ｂの表示解像度等に基づいて所定サイズ（例えば、ＶＧＡやＱＶＧＡサイズ）に縮小して表示部８に出力しても良い。
【００２２】
加速度検出部（第１検出手段）５は、第１の方向のベクトルを検出する。
すなわち、加速度検出部５は、例えば、当該撮像装置１００本体の互いに直交する３軸方向の加速度をそれぞれ検出する３軸加速度センサ５ａを具備し、この３軸加速度センサ５ａからの出力信号に基づいて、第１の方向のベクトルを検出する。具体的には、加速度検出部５は、３軸加速度センサ５ａによる各軸の検出信号の時間平均に基づいて第１の方向のベクトルを生成する。３軸加速度センサ５ａは、重力加速度の他に並進加速度も検出するため、第１の方向と重力方向（第２の方向）とは一般的に異なる。
なお、上記した第１の方向のベクトルの生成手法は、一例であってこれに限られるものではなく、適宜任意に変更可能である。
また、加速度検出部５により検出される第１の方向のベクトル値は、所定の格納手段（例えば、メモリ２等）に一時的に格納されても良い。
【００２３】
角速度検出部（第３検出手段）６は、第１の軸の回りの角速度を検出する。
ここで、第１の軸としては、当該撮像装置１００本体のロール軸やピッチ軸が挙げられるが（図２参照）、以下の説明では、第１の軸としてロール軸を例示して説明する。
すなわち、角速度検出部６は、例えば、当該撮像装置１００本体の互いに直交する３軸（ロール軸、ピッチ軸及びヨー軸）を中心とする回動の角速度をそれぞれ検出する３軸角速度センサ６ａを具備し、この３軸角速度センサ６ａからの出力信号に基づいて、当該撮像装置１００本体のロール軸（第１の軸）の回りの角速度を検出する。
なお、角速度検出部６により検出されるロール軸（第１の軸）の回りの角速度の値は、所定の格納手段（例えば、メモリ２等）に一時的に格納されても良い。
【００２４】
姿勢推定部７は、画像取得部７ａと、動きベクトル検出部７ｂと、角度算出部７ｃと、方向推定部７ｄと、を具備している。
なお、姿勢推定部７の各部は、例えば、所定のロジック回路から構成されているが、当該構成は一例であってこれに限られるものではない。
【００２５】
画像取得部（取得手段）７ａは、連続して撮像された複数の画像を取得する。
すなわち、画像取得部７ａは、撮像部３による任意の被写体の撮影の際に、例えば、画像処理部４により逐次生成されたライブビュー画像に係る複数のフレーム画像の画像データをメモリ２から逐次取得する。
【００２６】
動きベクトル検出部（第２検出手段）７ｂは、複数のフレーム画像の間における特徴点の動きベクトルを検出する。
すなわち、動きベクトル検出部７ｂは、撮像部３により連続して撮像され、画像取得部７ａにより取得された複数のフレーム画像の間における特徴点の動きベクトルを検出する。
具体的には、動きベクトル検出部７ｂは、例えば、画像取得部７ａにより取得された複数のフレーム画像に対して特徴検出処理を行う。そして、動きベクトル検出部７ｂは、これら複数のフレーム画像のうちの、何れか一つのフレーム画像を基準フレーム画像として、当該基準フレーム画像から所定数の特徴の高いブロック領域（特徴点）を選択し、当該ブロックの内容をテンプレート（例えば、８×８画素の正方形等）として検出する。また、動きベクトル検出部７ｂは、複数のフレーム画像のうちの、基準フレーム画像よりも時間軸で後ろ（或いは、前）の一つのフレーム画像内にて各テンプレートがどこに対応するか、つまり、対象画像内にてテンプレートの画素値が最適にマッチする位置（対応領域）をそれぞれ探索し、画素値の相違度の評価値（例えば、差分二乗和（ＳＳＤ）や差分絶対値和（ＳＡＤ）等）が最も良かったものを当該テンプレートの動きベクトルとして算出する。
そして、動きベクトル検出部７ｂは、それぞれの特徴点について算出された全ての動きベクトルを統合して、当該一つのフレーム画像における全体の動きベクトルとして算出する。
なお、上記した動きベクトルの検出手法は、一例であってこれに限られるものではなく、適宜任意に変更可能である。
【００２７】
角度算出部（算出手段）７ｃは、複数のフレーム画像の間における第１の軸の回りの相対的な回転角度を算出する。
すなわち、角度算出部７ｃは、画像取得部７ａにより取得された複数のフレーム画像に基づいて、当該複数のフレーム画像の間におけるロール軸（第１の軸）の回りの相対的な回転角度を算出する。具体的には、角度算出部７ｃは、動きベクトル検出部７ｂにより検出された動きベクトルに基づいて、複数のフレーム画像の間におけるロール軸（第１の軸）の回りの相対的な回転角度を算出する。
ここで、複数のフレーム画像の間における動きベクトルに基づいて相対的な回転角度を算出する方法は、公知の技術であるので、詳細な説明は省略するが、例えば、角度算出部７ｃは、動きベクトル検出部７ｂにより検出された一つのフレーム画像の全体の動きベクトルに基づいて、ロール軸（第１の軸）を回転中心として画像を回転させる線形変換（例えば、アフィン変換等）のパラメータを算出し、当該一つのフレーム画像の基準フレーム画像に対する相対的な回転角度を算出する。
なお、上記した相対的な回転角度の算出手法は、一例であってこれに限られるものではなく、適宜任意に変更可能である。
【００２８】
また、角度算出部７ｃは、動きベクトル検出部７ｂにより動きベクトルを検出不可の場合に、角速度検出部６により検出されたロール軸（第１の軸）の回りの角速度に基づいて、ロール軸（第１の軸）の回りの相対的な回転角度を算出しても良い。
例えば、特徴点の識別が困難な暗所で撮影された画像や平坦な画像からは動きベクトルの検出が不可能となる場合がある。そこで、角度算出部７ｃは、例えば、ライブビュー画像の輝度値や画素値のばらつき量（非平坦度）等に基づいて、動きベクトル検出部７ｂにより動きベクトルを検出可能であるか否かを判定し、検出不可と判定された場合に、角速度検出部６により検出されたロール軸（第１の軸）の回りの角速度に基づいて、ロール軸（第１の軸）の回りの相対的な回転角度を算出する。
【００２９】
方向推定部７ｄは、重力方向（第２の方向）を推定する。
すなわち、方向推定部（推定手段）７ｄは、角度算出部７ｃにより算出されたロール軸（第１の軸）の回りの相対的な回転角度及び加速度検出部５により検出された第１の方向のベクトルに基づいて、重力方向（第２の方向）を推定する。具体的には、方向推定部７ｄは、ロール軸（第１の軸）の回りの相対的な回転角度及び第１の方向のベクトルに基づいて、カルマンフィルタにより当該撮像装置１００のロール軸（第１の軸）の回りの回転角度を算出する。そして、方向推定部７ｄは、算出されたロール軸（第１の軸）の回りの回転角度から当該撮像装置１００の姿勢（重力方向（第２の方向）に対する傾き）を求めることで、重力方向（第２の方向）を推定する。
【００３０】
ここで、カルマンフィルタを用いて重力方向（第２の方向）を推定する方法は、公知の技術であるので、詳細な説明は省略するが、例えば、状態空間モデルは、状態方程式を表す式（１）及び観測方程式を表す式（２）で与えられる。
ｘｔ＋１＝Ａｔｘｔ＋Ｒｔｕｔ＋ｗｔ      …式（１）
ｙｔ＝Ｈｔｘｔ＋ｖｔ      …式（２）
上記式において、ｘtはロール軸（第１の軸）の回りの回転角度、ｕｔは動きベクトル或いは角速度から算出されるロール軸（第１の軸）の回りの相対的な回転角度、Ｒｔは回転行列、Ａｔ、Ｈｔはそれぞれ単位行列、ｙｔは重力方向のベクトル、ｗｔ及びｖｔはそれぞれシステムノイズ及び観測ノイズである。
【００３１】
表示部８は、表示制御部８ａと、表示パネル８ｂと、を具備している。
【００３２】
表示制御部８ａは、メモリ２や記録媒体９ａから読み出され画像処理部４により復号された所定サイズの画像データに基づいて、所定の画像を表示パネル８ｂの表示領域に表示させる制御を行う。具体的には、表示制御部８ａは、ＶＲＡＭ（Video Random Access Memory）、ＶＲＡＭコントローラ、デジタルビデオエンコーダなどを備えている。そして、デジタルビデオエンコーダは、画像処理部４により復号されてＶＲＡＭ（図示略）に記録されている輝度信号Ｙ及び色差信号Ｃｂ，Ｃｒを、ＶＲＡＭコントローラを介してＶＲＡＭから所定の再生フレームレートで読み出して、これらのデータを元にビデオ信号を発生して表示パネル８ｂに出力する。
【００３３】
表示パネル８ｂは、表示制御部８ａからのビデオ信号に基づいて撮像部３により撮影された画像などを表示領域内に表示する。具体的には、表示パネル８ｂは、静止画の撮影モードや動画像の撮影モードにて、撮像部３による被写体の撮影により生成された複数のフレーム画像を所定のフレームレートで逐次更新しながらライブビュー画像を表示する。また、表示パネル８ｂは、記録媒体９ａに記録される被写体の静止画像（レックビュー画像）を表示したり、撮影中の被写体の動画像を表示する。
なお、表示パネル８ｂとしては、例えば、液晶表示パネルや有機ＥＬ（Electro-Luminescence）表示パネルなどが挙げられるが、一例であってこれらに限られるものではない。
【００３４】
記録媒体制御部９は、記録媒体９ａが着脱自在に構成され、装着された記録媒体９ａからのデータの読み出しや記録媒体９ａに対するデータの書き込みを制御する。
なお、記録媒体９ａは、例えば、不揮発性メモリ（フラッシュメモリ）等により構成されている。
【００３５】
操作入力部１０は、当該撮像装置１００の所定操作を行うためのものである。具体的には、操作入力部１０は、被写体の撮影指示に係るシャッタボタン、撮影モードや機能等の選択指示に係る選択決定ボタン、ズーム量の調整指示に係るズームボタン等（何れも図示略）の操作部を備えている。
そして、ユーザにより各種ボタンが操作されると、操作入力部１０は、操作されたボタンに応じた操作指示を中央制御部１に出力する。中央制御部１は、操作入力部１０から出力され入力された操作指示に従って所定の動作（例えば、被写体の撮影等）を各部に実行させる。
なお、操作入力部１０は、表示部８の表示パネル８ｂと一体となって設けられたタッチパネル（図示略）を有していても良い。
【００３６】
＜姿勢推定処理＞
次に、撮像装置１００による姿勢推定処理について、図３を参照して説明する。
図３は、姿勢推定処理に係る動作の一例を示すフローチャートである。
【００３７】
なお、姿勢推定処理は、例えば、被写体の撮影中に常時行われても良いし、ユーザにより操作入力部１０のシャッタボタンが所定操作（例えば、半押し操作や全押し操作等）された際に行われても良い。
【００３８】
図３に示すように、先ず、撮像部３による任意の被写体の撮影が開始されると（ステップＳ１）、加速度検出部５は、３軸加速度センサ５ａからの出力信号に基づいて、第１の方向のベクトルを検出するとともに（ステップＳ２）、画像取得部７ａは、画像処理部４により逐次生成されたライブビュー画像に係る複数のフレーム画像の画像データをメモリ２から逐次取得する（ステップＳ３）。
なお、ステップＳ２における第１の方向のベクトルの検出と、ステップＳ３における複数のフレーム画像の取得の順序は、一例であってこれに限られるものではなく、逆であっても良い。
【００３９】
次に、角度算出部７ｃは、動きベクトル検出部７ｂにより複数のフレーム画像の間における特徴点の動きベクトルを検出可能であるか否かを判定する（ステップＳ４）。
ここで、動きベクトルを検出可能であると判定されると（ステップＳ４；ＹＥＳ）、動きベクトル検出部７ｂは、画像取得部７ａにより取得された複数のフレーム画像の間における特徴点の動きベクトルを検出する（ステップＳ５）。
一方、動きベクトルを検出可能でないと判定されると（ステップＳ４；ＮＯ）、角速度検出部６は、３軸角速度センサ６ａからの出力信号に基づいて、当該撮像装置１００本体のロール軸（第１の軸）の回りの角速度を検出する（ステップＳ６）。なお、ロール軸（第１の軸）の回りの角速度の検出は、当該姿勢推定処理の最中は常に行われても良い。
【００４０】
続けて、角度算出部７ｃは、複数のフレーム画像の間におけるロール軸（第１の軸）の回りの相対的な回転角度を算出する（ステップＳ７）。具体的には、ステップＳ５にて、動きベクトル検出部７ｂにより動きベクトルが検出された場合には、角度算出部７ｃは、検出された動きベクトルに基づいて、複数のフレーム画像の間におけるロール軸（第１の軸）の回りの相対的な回転角度を算出する。一方、ステップＳ６にて、角速度検出部６によりロール軸（第１の軸）の回りの角速度が検出された場合には、角度算出部７ｃは、検出されたロール軸（第１の軸）の回りの角速度に基づいて、ロール軸（第１の軸）の回りの相対的な回転角度を算出する。
【００４１】
そして、方向推定部７ｄは、角度算出部７ｃにより算出されたロール軸（第１の軸）の回りの相対的な回転角度及び加速度検出部５により検出された第１の方向のベクトルに基づいて、カルマンフィルタにより当該撮像装置１００のロール軸（第１の軸）の回りの回転角度を算出し（ステップＳ８）、算出されたロール軸（第１の軸）の回りの回転角度から重力方向（第２の方向）を推定する（ステップＳ９）。
これにより、姿勢推定処理を終了する。
【００４２】
以上のように、本実施形態の撮像装置１００によれば、３軸加速度センサ５ａからの出力信号に基づいて検出された第１の方向のベクトルと、連続して撮像された複数のフレーム画像に基づいて算出された当該複数のフレーム画像の間におけるロール軸（第１の軸）の回りの相対的な回転角度と、に基づいて、重力方向（第２の方向）を推定するので、重力方向（第２の方向）の推定に、電力消費量が増大する角速度センサを用いる必要がなくなる。特に、撮像部３により連続して撮像された複数のフレーム画像の間における特徴点の動きベクトルを検出することで、検出された動きベクトルに基づいて、複数のフレーム画像の間におけるロール軸（第１の軸）の回りの相対的な回転角度を算出することができる。そして、算出されたロール軸（第１の軸）の回りの相対的な回転角度及び第１の方向のベクトルに基づいて、カルマンフィルタにより当該撮像装置１００のロール軸（第１の軸）の回りの回転角度を算出することで、重力方向（第２の方向）を適正に推定することができる。
従って、連続して撮像された複数のフレーム画像を利用して当該複数のフレーム画像の間におけるロール軸（第１の軸）の回りの相対的な回転角度を算出することができ、この結果、例えば、手ぶれ補正などにおいて当該撮像装置１００の姿勢の推定をより適正に行うことができる。
【００４３】
また、複数のフレーム画像の間における特徴点の動きベクトルを検出不可の場合には、３軸角速度センサ６ａからの出力信号に基づいて、ロール軸（第１の軸）の回りの角速度を検出することで、例えば、特徴点の識別が困難な暗所での撮影や平坦な画像の撮影であっても、３軸角速度センサ６ａを用いて検出されたロール軸（第１の軸）の回りの角速度に基づいて、ロール軸（第１の軸）の回りの相対的な回転角度を算出することができる。これにより、算出されたロール軸（第１の軸）の回りの相対的な回転角度を用いて、重力方向（第２の方向）を適正に推定することができる。
【００４４】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良及び設計の変更を行っても良い。
例えば、第２の方向を重力方向とし、第１の軸を当該撮像装置１００のロール軸やピッチ軸としたが、一例であってこれに限られるものではなく、適宜任意に変更可能である。
【００４５】
また、撮像装置１００の構成は、上記実施形態に例示したものは一例であり、これに限られるものではない。さらに、姿勢推定装置として、撮像装置１００を例示したが、これに限られるものではない。
【００４６】
加えて、上記実施形態にあっては、第１検出手段、取得手段、算出手段、推定手段としての機能を、中央制御部１の制御下にて、加速度検出部５、画像取得部７ａ、角度算出部７ｃ、方向推定部７ｄが駆動することにより実現される構成としたが、これに限られるものではなく、中央制御部１のＣＰＵによって所定のプログラム等が実行されることにより実現される構成としても良い。
すなわち、プログラムメモリ（図示略）に、第１検出処理ルーチン、取得処理ルーチン、算出処理ルーチン、推定処理ルーチンを含むプログラムを記録しておく。そして、第１検出処理ルーチンにより中央制御部１のＣＰＵを、加速度センサからの出力信号に基づいて、第１の方向のベクトルを検出する手段として機能させるようにしても良い。また、取得処理ルーチンにより中央制御部１のＣＰＵを、連続して撮像された複数の画像を取得する手段として機能させるようにしても良い。また、算出処理ルーチンにより中央制御部１のＣＰＵを、取得された複数の画像に基づいて、複数の画像の間における第１の軸の回りの相対的な回転角度を算出する手段として機能させるようにしても良い。また、推定処理ルーチンにより中央制御部１のＣＰＵを、算出された第１の軸の回りの相対的な回転角度及び検出された第１の方向のベクトルに基づいて、第１の方向とは異なる第２の方向を推定する手段として機能させるようにしても良い。
【００４７】
同様に、第２検出手段、第３検出手段についても、中央制御部１のＣＰＵによって所定のプログラム等が実行されることにより実現される構成としても良い。
【００４８】
さらに、上記の各処理を実行するためのプログラムを格納したコンピュータ読み取り可能な媒体として、ＲＯＭやハードディスク等の他、フラッシュメモリ等の不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬型記録媒体を適用することも可能である。また、プログラムのデータを所定の通信回線を介して提供する媒体としては、キャリアウェーブ（搬送波）も適用される。
【００４９】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲とを含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
＜付記１＞
加速度センサからの出力信号に基づいて、第１の方向のベクトルを検出する第１検出手段と、
連続して撮像された複数の画像を取得する取得手段と、
前記取得手段により取得された前記複数の画像に基づいて、前記複数の画像間における第１の軸回りの相対的な回転角度を算出する算出手段と、
前記算出手段により算出された前記第１の軸回りの前記相対的な回転角度及び前記第１検出手段により検出された前記第１の方向のベクトルに基づいて、前記第１の方向とは異なる第２の方向を推定する推定手段と、
を備えた、
ことを特徴とする姿勢推定装置。
＜付記２＞
前記取得手段により取得された前記複数の画像間における特徴点の動きベクトルを検出する第２検出手段を更に備え、
前記算出手段は、前記第２検出手段により検出された前記動きベクトルに基づいて、前記複数の画像間における前記第１の軸回りの前記相対的な回転角度を算出することを特徴とする付記１に記載の姿勢推定装置。
＜付記３＞
角速度センサからの出力信号に基づいて、前記第１の軸回りの角速度を検出する第３検出手段を更に備え、
前記算出手段は、前記第２検出手段により前記動きベクトルを検出不可の場合に、前記第３検出手段により検出された前記第１の軸回りの角速度に基づいて、前記第１の軸回りの前記相対的な回転角度を算出することを特徴とする付記２に記載の姿勢推定装置。
＜付記４＞
撮像手段を更に備え、
前記第２検出手段は、前記撮像手段により連続して撮像され、前記取得手段により取得された前記複数の画像間における前記特徴点の前記動きベクトルを検出することを特徴とする付記２又は３に記載の姿勢推定装置。
＜付記５＞
前記推定手段は、前記算出手段により算出された前記第１の軸回りの前記相対的な回転角度及び前記第１検出手段により検出された前記第１の方向のベクトルに基づいて、カルマンフィルタにより当該姿勢推定装置の前記第１の軸回りの回転角度を算出することで、前記第２の方向を推定することを特徴とする付記１〜４の何れか一つに記載の姿勢推定装置。
＜付記６＞
前記第２の方向は、重力方向であり、
前記第１の軸は、当該姿勢推定装置のロール軸及びピッチ軸のうちの、少なくとも一方を含むことを特徴とする付記１〜５の何れか一つに記載の姿勢推定装置。
＜付記７＞
姿勢推定装置を用いた姿勢推定方法であって、
加速度センサからの出力信号に基づいて、第１の方向のベクトルを検出する処理と、
連続して撮像された複数の画像を取得する処理と、
取得された前記複数の画像に基づいて、前記複数の画像間における第１の軸回りの相対的な回転角度を算出する処理と、
算出された前記第１の軸回りの前記相対的な回転角度及び検出された前記第１の方向のベクトルに基づいて、前記第１の方向とは異なる第２の方向を推定する処理と、
を含む、
ことを特徴とする姿勢推定方法。
＜付記８＞
姿勢推定装置のコンピュータを、
加速度センサからの出力信号に基づいて、第１の方向のベクトルを検出する第１検出手段、
連続して撮像された複数の画像を取得する取得手段、
前記取得手段により取得された前記複数の画像に基づいて、前記複数の画像間における第１の軸回りの相対的な回転角度を算出する算出手段、
前記算出手段により算出された前記第１の軸回りの前記相対的な回転角度及び前記第１検出手段により検出された前記第１の方向のベクトルに基づいて、前記第１の方向とは異なる第２の方向を推定する推定手段、
として機能させる、
ことを特徴とするプログラム。
【符号の説明】
【００５０】
１００  撮像装置
１      中央制御部
３      撮像部
５      加速度検出部
５ａ    ３軸加速度センサ
６      角速度検出部
６ａ    ３軸角速度センサ
７      姿勢推定部
７ａ    画像取得部
７ｂ    動きベクトル検出部
７ｃ    角度算出部
７ｄ    方向推定部
【図１】
0006332212.tif 000002
【図２】
0006332212.tif 000003
【図３】
0006332212.tif 000004