(57)【特許請求の範囲】
【請求項１】
画像を撮像する撮像装置で連続して撮像された撮像画像の画像処理によって検出される、前記撮像装置の移動量である画像処理移動量と、
前記撮像装置の動きを検出する動きセンサが出力するセンサ信号から検出される、前記撮像装置の移動量であるセンサ移動量と
を重み付け加算により合成し、合成移動量を算出する移動量合成手段と、
前記センサ移動量に基づき、前記撮像装置が移動する速さが、所定の速さより速いかどうかを検出する速すぎ検出手段と、
前記撮像装置が移動する速さが、所定の速さより速いことが検出された場合、前記合成移動量を用いたパノラマ画像の生成に用いる撮像画像の撮像処理を中断させる撮像制御手段と、
前記パノラマ画像の生成に用いる撮像画像の撮像処理が中断された場合に、前記合成移動量を累積した累積合成移動量が、所定の移動量より大であるかどうかによって、前記パノラマ画像を生成するための前記撮像画像の合成を行うかどうかを判定する合成判定手段と
を備える画像処理装置。
【請求項２】
前記センサ信号から、前記センサ移動量を検出する移動量検出手段と、
撮像を行い、前記撮像画像を出力する撮像素子と、
前記撮像素子に、光を集光する光学系と、
前記センサ移動量に基づいて、前記光学系と前記撮像素子との相対的な位置関係を変化させることにより、手ぶれ補正を行う手ぶれ補正手段と
をさらに備え、
前記撮像装置である
請求項１に記載の画像処理装置。
【請求項３】
前記移動量検出手段は、
前記センサ信号を、所定のゲインで増幅するアンプを有し、
前記パノラマ画像の生成に用いる撮像画像の撮像処理が行われている場合、前記所定のゲインを、前記パノラマ画像の生成に用いる撮像画像の撮像処理が行われていない場合よりも小にする
請求項２に記載の画像処理装置。
【請求項４】
画像を撮像する撮像装置で連続して撮像された撮像画像の画像処理によって検出される、前記撮像装置の移動量である画像処理移動量と、
前記撮像装置の動きを検出する動きセンサが出力するセンサ信号から検出される、前記撮像装置の移動量であるセンサ移動量と
を重み付け加算により合成し、合成移動量を算出し、
前記センサ移動量に基づき、前記撮像装置が移動する速さが、所定の速さより速いかどうかを検出し、
前記撮像装置が移動する速さが、所定の速さより速いことが検出された場合、前記合成移動量を用いたパノラマ画像の生成に用いる撮像画像の撮像処理を中断させ、
前記パノラマ画像の生成に用いる撮像画像の撮像処理が中断された場合に、前記合成移動量を累積した累積合成移動量が、所定の移動量より大であるかどうかによって、前記パノラマ画像を生成するための前記撮像画像の合成を行うかどうかを判定する
ステップを含む画像処理方法。
【請求項５】
画像を撮像する撮像装置で連続して撮像された撮像画像の画像処理によって検出される、前記撮像装置の移動量である画像処理移動量と、
前記撮像装置の動きを検出する動きセンサが出力するセンサ信号から検出される、前記撮像装置の移動量であるセンサ移動量と
を重み付け加算により合成し、合成移動量を算出する移動量合成手段と、
前記センサ移動量に基づき、前記撮像装置が移動する速さが、所定の速さより速いかどうかを検出する速すぎ検出手段と、
前記撮像装置が移動する速さが、所定の速さより速いことが検出された場合、前記合成移動量を用いたパノラマ画像の生成に用いる撮像画像の撮像処理を中断させる撮像制御手段と、
前記パノラマ画像の生成に用いる撮像画像の撮像処理が中断された場合に、前記合成移動量を累積した累積合成移動量が、所定の移動量より大であるかどうかによって、前記パノラマ画像を生成するための前記撮像画像の合成を行うかどうかを判定する合成判定手段と
して、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及び、プログラムに関し、特に、例えば、不自然なパノラマ画像が得られることを、容易に防止することができるようにする画像処理装置、画像処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
パノラマ画像を撮影する撮像装置は、広い視野の範囲を、複数のレンズを用いて、同時に撮像する多眼式のカメラと、１つのレンズ（単眼レンズ）を用い、撮像方向を、順次シフトしながら、複数の画像を連続で撮像して合成する単眼式のカメラとに分類される。
【０００３】
多眼式のカメラは、一般のカメラとほぼ同様の操作で、パノラマ画像を撮影することができるが、複数のレンズが用いられているので、高価である。
【０００４】
一方、単眼式のカメラは、安価ではあるが、パノラマ画像を撮影するのに、カメラの撮像方向をシフトする必要がある。
【０００５】
カメラの撮像方向をシフトする方法としては、例えば、撮影を行うユーザ自身が、カメラを、一定の速度でスイープ（シフトや回転等の移動）する方法（特許文献１及び２）、ユーザ自身が、カメラをスイープする動作と、カメラを静止させる動作とを繰り返す方法（特許文献３）、ステッピングモータ等の機械を用いて、カメラをスイープする方法（特許文献４）がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平11-088754号公報
【特許文献２】特開平03-037856号公報
【特許文献３】特開平11-088811号公報
【特許文献４】特開2005-333396号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
単眼式のカメラで、パノラマ画像を撮影する場合には、撮像方向をシフトしながら連続して撮像を行い、その撮像によって得られる複数の撮像画像を合成して、パノラマ画像が生成される。
【０００８】
そして、パノラマ画像の生成において、複数の撮像画像の合成は、連続する２枚の撮像画像としてのn-1枚目の撮像画像と、n枚目の撮像画像とに注目すると、n-1枚目の撮像画像の撮像から、n枚目の撮像画像の撮像までの間のカメラの移動量（撮像画像の移動量）に基づき、そのカメラの移動量だけ、n枚目の撮像画像をずらして、n-1枚目の撮像画像と、n枚目の撮像画像とが合成される。
【０００９】
したがって、複数の撮像画像の合成を、パノラマ画像が破綻しないように行うためには、連続して撮像された複数の撮像画像について、連続する２枚の撮像画像の間、つまり、n-1枚目の撮像画像の撮像から、n枚目の撮像画像の撮像までの間のカメラの移動量を、正確に検出する必要がある。
【００１０】
（連続する）２枚の撮像画像の間のカメラの移動量を検出する方法としては、例えば、その２枚の撮像画像を用いた画像処理によって、その２枚の画像の撮像画像それぞれのエッジ等の同一の特徴点を探索し、一方の撮像画像の特徴点と、その特徴点と同一の、他方の撮像画像の特徴点とを一致させるだけの、一方又は他方の撮像画像の移動量を算出する方法がある。
【００１１】
しかしながら、ユーザが、カメラを速くスイープすることによって、カメラの移動量が、画像処理において、特徴点を探索する探索範囲を超えてしまった場合、画像処理によって検出されるカメラの移動量（以下、画像処理移動量ともいう）は、不正確な値となる。
【００１２】
そして、そのような不正確な値の画像処理移動量に基づいて、撮像画像を合成すると、ある撮像画像と、他の撮像画像との境界部分のずれが目立つ、不自然なパノラマ画像が得られる。
【００１３】
なお、ユーザが、カメラを速くスイープした場合に対処する方法として、例えば、画像処理における探索範囲を広くする方法があるが、探索範囲を広くすると、画像処理に時間を要することとなり、また、画像処理移動量が、ある程度安定した値となる安定性を害することになるため、探索範囲を広くすることは、困難である。
【００１４】
本発明は、このような状況に鑑みてなされたものであり、不自然なパノラマ画像が得られることを、容易に防止することができるようにするものである。
【課題を解決するための手段】
【００１５】
本発明の一側面の画像処理装置、又は、プログラムは、画像を撮像する撮像装置で連続して撮像された撮像画像の画像処理によって検出される、前記撮像装置の移動量である画像処理移動量と、前記撮像装置の動きを検出する動きセンサが出力するセンサ信号から検出される、前記撮像装置の移動量であるセンサ移動量とを重み付け加算により合成し、合成移動量を算出する移動量合成手段と、前記センサ移動量に基づき、前記撮像装置が移動する速さが、所定の速さより速いかどうかを検出する速すぎ検出手段と、前記撮像装置が移動する速さが、所定の速さより速いことが検出された場合、前記合成移動量を用いたパノラマ画像の生成に用いる撮像画像の撮像処理を中断させる撮像制御手段と、前記パノラマ画像の生成に用いる撮像画像の撮像処理が中断された場合に、前記合成移動量を累積した累積合成移動量が、所定の移動量より大であるかどうかによって、前記パノラマ画像を生成するための前記撮像画像の合成を行うかどうかを判定する合成判定手段とを備える画像処理装置、又は、画像処理装置として、コンピュータを機能させるためのプログラムである。
【００１６】
本発明の一側面の画像処理方法は、画像を撮像する撮像装置で連続して撮像された撮像画像の画像処理によって検出される、前記撮像装置の移動量である画像処理移動量と、前記撮像装置の動きを検出する動きセンサが出力するセンサ信号から検出される、前記撮像装置の移動量であるセンサ移動量とを重み付け加算により合成し、合成移動量を算出し、前記センサ移動量に基づき、前記撮像装置が移動する速さが、所定の速さより速いかどうかを検出し、前記撮像装置が移動する速さが、所定の速さより速いことが検出された場合、前記合成移動量を用いたパノラマ画像の生成に用いる撮像画像の撮像処理を中断させ、前記パノラマ画像の生成に用いる撮像画像の撮像処理が中断された場合に、前記合成移動量を累積した累積合成移動量が、所定の移動量より大であるかどうかによって、前記パノラマ画像を生成するための前記撮像画像の合成を行うかどうかを判定する画像処理方法である。
【００１７】
以上のような一側面においては、画像を撮像する撮像装置で連続して撮像された撮像画像の画像処理によって検出される、前記撮像装置の移動量である画像処理移動量と、前記撮像装置の動きを検出する動きセンサが出力するセンサ信号から検出される、前記撮像装置の移動量であるセンサ移動量とが重み付け加算により合成され、合成移動量が算出される。また、前記センサ移動量に基づき、前記撮像装置が移動する速さが、所定の速さより速いかどうかが検出され、前記撮像装置が移動する速さが、所定の速さより速いことが検出された場合、前記合成移動量を用いたパノラマ画像の生成に用いる撮像画像の撮像処理が中断され、前記パノラマ画像の生成に用いる撮像画像の撮像処理が中断された場合に、前記合成移動量を累積した累積合成移動量が、所定の移動量より大であるかどうかによって、前記パノラマ画像を生成するための前記撮像画像の合成を行うかどうかが判定される。
【００１８】
なお、画像処理装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【００１９】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【００２０】
本発明の一側面によれば、不自然なパノラマ画像が得られることを、容易に防止することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の画像処理装置を適用した撮像装置の一実施の形態の構成例を示すブロック図である。
【図２】撮影モードがパノラマモードである場合の、制御部１４の機能的な構成例を示すブロック図である。
【図３】撮像装置による、パノラマモードでのパノラマ画像の撮影の処理を説明するフローチャートである。
【図４】パノラマ画像の撮影結果を模式的に示す図である。
【発明を実施するための形態】
【００２２】
［本発明を適用した撮像装置の一実施の形態の構成例］
【００２３】
図１は、本発明の画像処理装置を適用した撮像装置の一実施の形態の構成例を示すブロック図である。
【００２４】
図１の撮像装置は、例えば、静止画、若しくは、動画、又は、静止画と動画との両方を撮影することができるディジタルカメラであり、光学系１１、撮像素子１２、信号処理部１３、制御部１４、表示部１５、記録再生部１６、操作部１７、手ぶれ補正部１８、動きセンサ１９、及び、移動量検出部２０を含む。
【００２５】
光学系１１は、レンズや絞り等を含み、そこに入射する光を、撮像素子１２の受光面上に集光する。
【００２６】
撮像素子１２は、例えば、CCD(Charged Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)センサ等を含み、その受光面には、光学系１１によって集光された光による光学像が形成される。
【００２７】
撮像素子１２は、受光面に形成された光学像を光電変換することで、画像を撮像し、その光学像の撮像結果であるアナログ信号の撮像信号を得る。
【００２８】
また、撮像素子１２は、アナログ信号の信号処理回路を含み、アナログ信号の撮像信号の相関二重サンプリングや、自動利得制御による信号レベルの補正等のアナログ信号処理を行う。
【００２９】
そして、撮像素子１２は、アナログ信号処理後の撮像信号を、A/D(Analog/Digital)変換し、これにより、アナログ信号の撮像信号を、ディジタル信号の画像データに変換して、信号処理部１３に出力する。
【００３０】
信号処理部１３は、例えば、DSP(Digital Signal Processor)等を含み、撮像素子１２からの画像データに、ガンマ補正や、輪郭強調補正、ホワイトバランス補正、色補正等の各種のディジタル信号処理を施し、そのディジタル信号処理後の画像データを、制御部１４に出力する。
【００３１】
制御部１４は、CPU(Central Processing Unit)１４Ａやメモリ１４Ｂを含み、信号処理部１３からの画像データや、操作部１７の操作（操作部１７から供給される操作信号）、移動量検出部２０から供給される移動量（センサ移動量）等に基づき、撮像装置を構成する各ブロックの制御その他の各種の処理を行う。
【００３２】
すなわち、制御部１４では、CPU１４Ａが、メモリ１４Ｂに記憶されたプログラムを実行することで、各種の処理を行う。メモリ１４Ｂは、CPU１４Ａが実行するプログラムや、CPU１４Ａの動作上必要なデータを記憶する。
【００３３】
ここで、CPU１４Ａに実行させるプログラムは、メモリ１４Ｂにあらかじめインストールしておく他、光ディスクや、磁気ディスク、半導体メモリ等のリムーバブル記録媒体に記録して、提供（頒布）し、撮像装置のメモリ１４Ｂにインストールすることができる。
【００３４】
また、プログラムは、インターネット等のサイトからダウンロードし、撮像装置のメモリ１４Ｂにインストールすることができる。
【００３５】
なお、制御部１４は、信号処理部１３からの画像データや、記録再生部１６から供給される画像データを、表示部１５に供給する。また、制御部１４は、信号処理部１３からの画像データを、必要に応じて、記録再生部１６に供給する。
【００３６】
表示部１５は、例えば、LCD(Liquid Crystal Display)等の表示デバイスや、表示デバイスと一体的に構成されたタッチパネルを含み、制御部１５からの画像データに対応して、画像を表示する。
【００３７】
ここで、表示部１５は、例えば、信号処理部１３から、制御部１４を介して供給される画像データに対応して、画角の広い、いわゆるスルー画を表示する。ユーザは、このスルー画によって、画像を確認しながら、撮影を行うことができる。
【００３８】
記録再生部１６は、制御部１４から供給される画像データを、ハードディスクや、光磁気ディスク、DVD(Digital Versatile Disc)、MD（登録商標）(Mini Disc)、半導体メモリ、磁気テープ等のディジタル信号を記録可能な記録媒体（図示せず）に記録する。
【００３９】
また、記録再生部１６は、記録媒体に記録された画像データを再生し、制御部１４を介して、表示部１５に供給する。
【００４０】
ここで、表示部１５は、以上のように、記録再生部１６から、制御部１４を介して供給される画像データに対応して、画像を表示する。これにより、ユーザは、記録（撮影）された画像を確認することができる。
【００４１】
操作部１７は、ユーザによって操作されるシャッタ（レリーズ）ボタンや、録画ボタン等であり、ユーザの操作に対応した操作信号を、制御部１４に供給する。
【００４２】
なお、操作部１７には、物理的な操作ボタン（ボタンの他、スイッチやレバー等を含む）と、表示部１５に含まれるタッチパネルに表示される操作ボタン（アイコン）とが含まれる。
【００４３】
手ぶれ補正部１８は、移動量検出部２０から供給される、撮像装置の移動量であるセンサ移動量に基づいて、光学系１１及び撮像素子１２のうちの一方である、例えば、光学系１１を、光軸に垂直な方向に移動させ、光学系１１と撮像素子１２との相対的な位置関係を変化させることにより、手ぶれ補正を行う。
【００４４】
すなわち、手ぶれ補正部１８は、手ぶれ等によって、撮像装置が移動することにより生じる、撮像素子１２の受光面に形成される光学像の位置のずれをキャンセルするように、光学系１１と撮像素子１２との相対的な位置関係を変化させる手ぶれ補正を行う。
【００４５】
なお、手ぶれ補正部１８において、光学系１１と撮像素子１２との相対的な位置関係は、光学系１１及び撮像素子１２のうちの、撮像素子１２を移動させることによって変化させることも可能である。
【００４６】
動きセンサ１９は、撮像装置の動きを検出し、その動きに対応するセンサ信号を出力する。
【００４７】
すなわち、動きセンサ１９は、例えば、角速度を検出するジャイロスコープ（ジャイロセンサ）である角速度センサであり、角速度に対応するセンサ信号である角速度信号を出力する。
【００４８】
動きセンサ１９が出力する角速度信号は、移動量検出部２０に供給される。
【００４９】
移動量検出部２０は、動きセンサ１９からの角速度信号から、撮像装置の移動量であるセンサ移動量を検出し、制御部１４と、手ぶれ補正部１８とに供給する。
【００５０】
すなわち、移動量検出部２０は、アンプ２１、A/D変換器２２、及び、積分器２３を含む。
【００５１】
アンプ２１は、移動量検出部２０からの角速度信号を、所定のゲインで増幅し、A/D変換部２２に供給する。
【００５２】
A/D変換器２２は、アンプ２１からの角速度信号を、所定のサンプリングクロックに従ってサンプリングし、これにより、アナログの角速度信号を、ディジタルの角速度信号に変換して、積分器２３に供給する。
【００５３】
積分器２３は、A/D変換器２２からの角速度信号を、所定の期間単位で積分（積算）することで、撮像装置の移動量であるセンサ移動量を求め、制御部１４と、手ぶれ補正部１８とに供給する。
【００５４】
ここで、角速度センサである動きセンサ１９は、ヨー(yaw)方向（水平方向）と、ピッチ(pitch)方向（垂直方向）とのそれぞれの角速度を検出し、そのヨー方向及びピッチ方向それぞれの角速度信号を出力する。
【００５５】
また、移動量検出部２０は、動きセンサ１９からのヨー方向及びピッチ方向それぞれの角速度信号を独立に処理し、ヨー方向及びピッチ方向それぞれのセンサ移動量を検出する。
【００５６】
なお、動きセンサ１９としては、角速度センサの他、角加速度を検出する角加速度センサを用いることができる。
【００５７】
動きセンサ１９として、角加速度センサを用いる場合、動きセンサ１９が出力するセンサ信号を積分することにより、角加速度を求めることができるので、以降は、動きセンサ１９として、角速度センサを用いる場合と同様にして、センサ移動量を求めることができる。
【００５８】
以上のように構成される撮像装置では、動きセンサ１９が、撮像装置の角速度に対応する角速度信号を、移動量検出部２０に出力する。
【００５９】
移動量検出部２０は、動きセンサ１９からの角速度信号から、撮像装置の移動量であるセンサ移動量を検出し、制御部１４と、手ぶれ補正部１８とに供給する。
【００６０】
手ぶれ補正部１８は、移動量検出部２０からのセンサ移動量に基づいて、光学系１１を、光軸に垂直な方向に移動させることにより、手ぶれ補正を行う。
【００６１】
一方、光学系１１では、そこに入射する光が、撮像素子１２の受光面上に集光され、これにより、撮像素子１２の受光面には、光学像が形成される。
【００６２】
撮像素子１２は、受光面に形成された光学像を撮像し、その撮像によって得られる１枚（画面分）の撮像画像（の画像データ）を、信号処理部１３に供給する。
【００６３】
信号処理部１３は、撮像素子１２からの撮像画像に、ディジタル信号処理を施し、制御部１４に供給する。
【００６４】
制御部１４は、信号処理部１３から供給される撮像画像を、表示部１５に供給して対応する画像を表示させる。これにより、表示部１５では、スルー画が表示される。
【００６５】
ユーザが、表示部１５に表示されたスルー画を見ながら、構図等を確認し、操作部１７のうちのシャッタボタンを操作すると、撮像素子１２において、あらかじめ設定された、例えば、絞りや、シャッタ速度等の撮影パラメータに従って撮像が行われる。
【００６６】
そして、撮像素子１２は、撮像の結果得られる撮像画像を、信号処理部１３に供給し、信号処理部１３は、撮像素子１２からの撮像画像に、ディジタル信号処理を施して、制御部１４に供給する。
【００６７】
制御部１４は、以上のようにして、シャッタボタンが操作されたときに、信号処理部１３から供給される撮像画像を、記録再生部１６に供給して記録させる。
【００６８】
図１の撮像装置の撮影モードとしては、以上のように、ユーザによるシャッタボタンの操作に対応して、１枚の撮像画像を撮影する（記録する）モードである通常モードの他、パノラマ画像を撮影するモードであるパノラマモードがある。
【００６９】
撮影モードの設定（変更）は、例えば、ユーザが操作部１７を操作することにより行うことができる。
【００７０】
また、パノラマモードでは、ユーザに、撮像装置を、ある方向にスイープしてもらうことで、撮像装置の撮像方向をシフトしながら、撮像素子１２で、複数枚の撮像画像を撮像し、その複数枚の撮像画像を合成することで、パノラマ画像が撮影（生成）されるが、撮像装置をスイープする方向（スイープ方向）は、例えば、ユーザが操作部１７を操作することにより設定することができる。
【００７１】
撮影モードが、パノラマモードである場合、制御部１４は、表示部１５に、撮影モードがパノラマモードである旨と、操作部１７の操作によって設定されたスイープ方向（以下、設定スイープ方向ともいう）とを、アイコン等によって表示させる。
【００７２】
したがって、ユーザは、表示部１５の表示を見ることによって、撮影モードがパノラマモードであることや、撮像装置をスイープさせるべき方向を認識することができる。
【００７３】
なお、パノラマモードでは、スイープ方向を、操作部１７の操作に従って設定する他、例えば、ユーザがシャッタボタンを操作した後に、最初に、撮像装置を移動した方向を、スイープ方向に設定することが可能である。
【００７４】
［パノラマモードの制御部１４の機能的構成例］
【００７５】
図２は、撮影モードがパノラマモードである場合の、図１の制御部１４の機能的な構成例を示すブロック図である。
【００７６】
信号処理部１３から制御部１４に供給される撮像画像は、制御部１４において、表示制御部５１、バッファ５２及び５４、並びに、移動量検出部５６に供給される。
【００７７】
また、移動量検出部２０から制御部１４に供給されるセンサ移動量は、制御部１４において、移動量合成部５７、及び、速すぎ検出部６２に供給される。
【００７８】
表示制御部５１は、信号処理部１３から供給される撮像画像や、後述するメッセージ出力部６１から供給されるエラー画面等を、表示部１５に供給して表示させる表示制御を行う。
【００７９】
バッファ５２は、信号処理部１３から供給される複数枚の撮像画像を合成して、パノラマ画像を生成するために、シャッタボタンが操作された後に、撮像素子１２で連続して撮像され、信号処理部１３から供給される撮像画像を、順次、記憶する。
【００８０】
ここで、パノラマモードにおいて、パノラマ画像の生成のために、撮像素子１２で撮像される撮像画像を、以下、パノラマ用撮像画像ともいう。
【００８１】
パノラマ合成部５３は、後述する合成判定部６０から供給される指示に従い、後述するバッファ５８に記憶される、連続する２枚のパノラマ用撮像画像のうちの、１枚目のパノラマ用撮像画像の撮像から、２枚目のパノラマ用撮像画像の撮像までの間の撮像装置の移動量としての合成移動量を用いて、バッファ５２に記憶された、連続して撮像された複数枚のパノラマ用撮像画像を合成し、１枚のパノラマ画像を生成する。
【００８２】
さらに、パノラマ合成部５３は、パノラマ画像を、JPEG  (Joint Photographic Experts Group)等の所定の圧縮方式で圧縮し、記録再生部１６に供給して記録させる。
【００８３】
バッファ５４は、後述する移動量検出部５６での、画像処理移動量の検出のために、例えば、信号処理部１３から供給されるパノラマ用撮像画像を、移動量検出部５６での、そのパノラマ用撮像画像と、次のパノラマ用撮像画像とを用いた画像処理移動量の検出が終了するまで記憶する。
【００８４】
移動量検出部５６は、信号処理部１３から供給される最新のパノラマ用撮像画像と、バッファ５４に記憶された、最新のパノラマ用撮像画像の直前に撮像されたパノラマ用撮像画像との、連続する２枚のパノラマ用撮像画像を用いた画像処理を行い、その２枚のパノラマ用撮像画像の撮像が行われた間の撮像装置の移動量である画像処理移動量を検出（算出）して、移動量合成部５７に供給する。
【００８５】
すなわち、移動量検出部５６は、信号処理部１３から供給される最新のパノラマ用撮像画像を、注目する注目画像として、その注目画像の、例えば、エッジ等の特徴点と同一の特徴点を、バッファ５４に記憶された、注目画像の直前に撮像されたパノラマ用撮像画像（以下、直前画像ともいう）の探索範囲（注目画像の特徴点を中心とする所定の範囲）から探索する。
【００８６】
そして、移動量検出部５６は、注目画像の特徴点と、その特徴点と同一の、直前画像の特徴点とを一致させるだけの、直前画像の移動量を求め、直前画像の撮像から、注目画像の撮像までの間の撮像装置の移動量であり、画像処理によって検出された移動量である画像処理移動量として、移動量合成部５７に供給する。
【００８７】
ここで、パノラマ画像の生成のために、撮像素子１２で連続して撮像される複数枚のパノラマ用撮像画像のうちの、n枚目のパノラマ用撮像画像を、注目画像としたときの、直前画像であるn-1枚目のパノラマ用撮像画像の撮像から、注目画像であるn枚目のパノラマ用撮像画像の撮像までの間の撮像装置の移動量を、以下、n番目の移動量ともいう。
【００８８】
移動量合成部５７には、移動量検出部５６から、n番目の移動量としての画像処理移動量が供給されるときに、移動量検出部２０から、n番目の移動量としてのセンサ移動量（動きセンサ１９の出力から検出された撮像装置の移動量）が供給される。
【００８９】
移動量合成部５７は、移動量検出部５６からのn番目の画像処理移動量と、移動量検出部２０からのn番目のセンサ移動量とを合成し、n番目の移動量としての合成移動量を算出する。
【００９０】
すなわち、移動量合成部５７は、例えば、0.0以上1.0以下の範囲の値の重みαによって、n番目の画像処理移動量Aと、n番目のセンサ移動量Bとを重み付け加算する式C=α×A＋(1-α)×Bに従って、n番目の合成移動量Cを算出する。
【００９１】
ここで、移動量合成部５７において、重みαとしては、n番目の画像処理移動量の信頼性が高い（蓋然性が高い）場合には、1.0、又は、1.0に近い値である大きな値が用いられ、n番目の画像処理移動量の信頼性が低い場合には、0.0、又は、0.0に近い値である小さな値が用いられる。
【００９２】
なお、重みαを、1.0、又は、0.0とすることは、n番目の画像処理移動量、及び、n番目のセンサ移動量のうちの一方を選択することと等価である。
【００９３】
また、n番目の画像処理移動量を検出するのに用いられた、直前画像であるn-1枚目のパノラマ用撮像画像、及び、注目画像であるn枚目のパノラマ用撮像画像が、建築物等の特徴点の多いシーンの画像であり、その結果、直前画像、及び、注目画像において、同一の特徴点が、所定の閾値以上等の多数存在する場合、移動量合成部５７では、n番目の画像処理移動量の信頼性が高いと判定され、重みαとしては、大きな値が用いられる。
【００９４】
一方、n番目の画像処理移動量を検出するのに用いられたn-1枚目及びn枚目のパノラマ用撮像画像が、空や壁等の特徴点の少ないシーンの画像であり、その結果、直前画像、及び、注目画像において、同一の特徴点が、多数存在しない場合、移動量合成部５７では、n番目の画像処理移動量の信頼性が低いと判定され、重みαとしては、小さな値が用いられる。
【００９５】
その他、移動量合成部５７では、直前画像、及び、注目画像における同一の特徴点の数を引数として、0.0ないし1.0の範囲を、引数の増加に対して単調増加する関数を、重みαとして用いることができる。
【００９６】
ここで、直前画像、及び、注目画像における同一の特徴点の数が多い場合には、画像処理移動量の信頼性は高く、さらに、画像処理移動量は、センサ移動量よりも精度が高いので、合成移動量に与える画像処理移動量の影響を大きくするために、重みαを大（例えば、1.0）にすることが有効である。
【００９７】
移動量合成部５７は、画像処理移動量、及び、センサ移動量を用いて算出した合成移動量を、順次、バッファ５８、及び、中断終了判定部５９に供給する。
【００９８】
バッファ５８は、移動量合成部５７から順次供給される合成移動量を記憶する。
【００９９】
中断終了判定部５９は、移動量合成部５７から供給される合成移動量に基づいて、パノラマ画像の生成に用いるパノラマ用撮像画像の撮像を中断するかどうかの中断判定と、終了するかどうかの終了判定を行う。
【０１００】
すなわち、中断判定では、パノラマ画像の生成に用いるパノラマ用撮像画像として、適切な撮像画像が撮像されているかどうかが判定され、適切な撮像画像が撮像されていないと判定された場合、パノラマ用撮像画像の撮像を中断すると判定される。
【０１０１】
例えば、設定スイープ方向の逆方向に、撮像装置が移動された場合、設定スイープ方向と垂直な方向に、一定量以上のゆれを伴いながら、撮像装置が移動された場合、撮像装置の移動が停止された場合、一定以上の速さで、撮像装置が移動された場合等の、パノラマ用撮像画像を合成することが困難なパターンの、撮像装置の移動があったことが、合成移動量から認められる場合、パノラマ用撮像画像として、適切な撮像画像が撮像されていないと判定される。
【０１０２】
また、終了判定では、パノラマ画像の生成に十分なパノラマ用撮像画像が撮像されたかどうかが判定され、十分なパノラマ用撮像画像が撮像されたと判定された場合、パノラマ画像の撮像を終了すると判定される。
【０１０３】
例えば、移動量合成部５７からの合成移動量の累積値である累積合成移動量が、パノラマ画像を得るのに十分な移動量になった場合、すなわち、例えば、あらかじめ設定された移動量の閾値以上の値になった場合、パノラマ画像の生成に十分なパノラマ用撮像画像が撮像されたと判定される。
【０１０４】
ここで、移動量の閾値は、例えば、ユーザによる操作部１７（図１）の操作に応じて設定することができる。すなわち、パノラマモードでは、例えば、ユーザが、操作部１７を操作することで、パノラマ画像の（設定スイープ方向の）画角を指定すること（あらかじめ決められた複数の画角の中から、１つの画角を選択することを含む）ができ、中断終了判定部５９では、その画角のパノラマ画像を生成することができるように、移動量の閾値を設定することができる。
【０１０５】
中断終了判定部５９は、中断判定、又は、終了判定において、パノラマ用撮像画像の撮像を中断、又は、終了すると判定した場合、その判定結果を、合成判定部６０、及び、撮像制御部６３に供給する。
【０１０６】
さらに、中断終了判定部５９は、中断判定、又は、終了判定において、パノラマ用撮像画像の撮像を中断すると判定した場合には、その判定結果とともに、例えば、上述の、設定スイープ方向の逆方向に、撮像装置が移動された等の、撮像の中断の原因を表す中断原因情報を、合成判定部６０に供給する。
【０１０７】
合成判定部６０には、中断終了判定部５９から、中断判定、又は、終了判定の判定結果が供給される他、後述する速すぎ検出部６２から、速すぎ検出の検出結果が供給される。
【０１０８】
合成判定部６０は、中断終了判定部５９からの、中断判定、又は、終了判定の判定結果や、速すぎ検出部６２からの速すぎ検出の検出結果に基づいて、パノラマ画像の生成のために、それまでに、バッファ５２に記憶されたパノラマ用撮像画像を合成するかどうかの判定、つまり、パノラマ画像の生成の可否の判定である合成可否判定を行う。
【０１０９】
すなわち、合成可否判定では、中断終了判定部５９から終了判定の判定結果が供給された場合、合成判定部６０は、パノラマ画像の生成が可能であると判定し、パノラマ用撮像画像を合成して、パノラマ画像を生成するパノラマ合成処理を行う旨の指示を、パノラマ合成部５３に供給する。
【０１１０】
さらに、合成可否判定では、中断終了判定部５９から中断判定の判定結果が供給された場合と、速すぎ検出部６２から速すぎ検出の検出結果が供給された場合には、バッファ５８に記憶された合成移動量を累積して得られる累積合成移動量が、ある程度の移動量に達しているかどうかが判定される。
【０１１１】
そして、累積合成移動量が、ある程度の移動量に達している場合、すなわち、累積合成移動量が、例えば、終了判定に用いられる移動量の閾値の所定の割合（例えば、8割等）以上になっている場合、合成判定部６０は、パノラマ画像の生成が可能であると判定し、パノラマ合成処理を行う旨の指示を、パノラマ合成部５３に供給する。
【０１１２】
一方、累積合成移動量が、ある程度の移動量に達していない場合、合成判定部６０は、パノラマ画像の生成が困難であると判定し、中断終了判定部５９からの中断判定の判定結果、及び、中断原因情報、又は、速すぎ検出部６２から速すぎ検出の検出結果を、メッセージ出力部６１に供給する。
【０１１３】
メッセージ出力部６１は、合成判定部６０からの中断判定の判定結果、及び、中断原因情報、又は、速すぎ検出の検出結果に基づいて、パノラマ画像を撮影（生成）することができなかった旨のエラーメッセージを含むエラー画面を生成し、表示制御部５１に供給する。
【０１１４】
すなわち、メッセージ出力部６１は、合成判定部６０から、中断判定の判定結果、及び、中断原因情報が供給された場合、エラーメッセージとともに、例えば、設定スイープ方向の逆方向に、撮像装置が移動された等の中断原因情報が表示されたエラー画面を生成し、表示制御部５１に供給する。
【０１１５】
また、メッセージ出力部６１は、合成判定部６０から、速すぎ検出の検出結果が供給された場合、エラーメッセージとともに、撮像装置のスイープが速すぎる旨が表示されたエラー画面を生成し、表示制御部５１に供給する。
【０１１６】
速すぎ検出部６２は、移動量検出部２０からのセンサ移動量に基づき、撮像装置が移動する速さが、所定の速さより速いかどうかを検出する速すぎ検出を行う。
【０１１７】
すなわち、速すぎ検出部６２は、移動量検出部２０からのセンサ移動量の絶対値が、あらかじめ設定された閾値であるセンサ閾値を超えた場合に、撮像装置が移動する速さが、所定の速さより速いこと、つまり、撮像装置の移動が、速すぎることを検出したとして、その旨の検出結果を、合成判定部６０、及び、撮像制御部６３に供給する。
【０１１８】
ここで、上述したように、移動量合成部５７では、直前画像、及び、注目画像における同一の特徴点の数が多い場合には、画像処理移動量の信頼性は高く、さらに、画像処理移動量は、センサ移動量よりも精度が高いので、合成移動量に与える画像処理移動量の影響を大きくするために、重みαを大にして、合成移動量が求められる。
【０１１９】
すなわち、例えば、直前画像、及び、注目画像における同一の特徴点の数が多い場合には、重みαを1.0とし、画像処理移動量が、合成移動量として求められる。
【０１２０】
したがって、上述したように、中断判定部５９では、中断判定において、合成移動量に基づき、一定以上の速さで、撮像装置が移動されているかどうか、つまり、撮像装置が移動する速さが、一定以上の速さであるかどうかが判定されるが、この中断判定で用いられる合成移動量は、画像処理移動量に等しいことがある。
【０１２１】
ここで、説明を簡単にするため、以下では、直前画像、及び、注目画像における同一の特徴点の数が多く、合成移動量は、画像処理移動量に等しいこととする。
【０１２２】
画像処理移動量は、撮像装置の移動量（真の移動量）が、移動量検出部５６での画像処理の探索範囲（直前画像、及び、注目画像における同一の特徴点を探索する探索範囲）を超えている場合、もはや、（偶然である場合を除き、）正確な値であることはない。
【０１２３】
このため、中断判定部５９は、画像処理の探索範囲において検出することができる最大の画像処理移動量（以下、画像処理による最大検出移動量ともいう）に対して、多少のマージンを考慮した値（画像処理による最大検出移動量の、例えば、8割程度の値）を、第１の閾値として用い、中断判定において、画像処理移動量に等しい合成移動量の絶対値が、第１の閾値以上であるかによって、撮像装置が移動する速さが、一定以上の速さであるかどうかを判定する。
【０１２４】
しかしながら、直前画像、及び、注目画像における同一の特徴点の数が多い場合であっても、撮像装置の移動量（真の移動量）が、画像処理による最大検出移動量を超えているときには、画像処理移動量に等しい合成移動量は、不安定になり、正確な値にはならない。
【０１２５】
したがって、中断判定において、そのような正確な値ではない画像処理移動量に等しい合成移動量が、第１の閾値以上であるかによって、撮像装置が移動する速さが、一定以上の速さであるかどうかを判定しても、正確な判定結果を得ることは、困難である。
【０１２６】
そこで、図２の撮像装置では、中断判定部５９の中断判定において、画像処理移動量に等しい合成移動量の絶対値が、第１の閾値以上であるかによって、撮像装置が移動する速さが、一定以上の速さであるかどうかを判定する他、速すぎ検出部６２において、移動量検出部２０からのセンサ移動量に基づき、撮像装置が移動する速さが、所定の速さより速いかどうかを検出する速すぎ検出が行われる。
【０１２７】
すなわち、速すぎ検出で用いられるセンサ移動量は、ジャイロスコープ等の動きセンサ１９が出力するセンサ信号から検出される、撮像装置の移動量であり、かかるセンサ移動量によれば、画像処理移動量よりも精度は劣るものの、画像処理による最大検出移動量よりも広い検出範囲で、撮像装置の移動量を検出することができる。
【０１２８】
そこで、速すぎ検出では、例えば、画像処理による最大検出移動量を、第２の閾値として用い、センサ移動量の絶対値が、第２の閾値（＞第１の閾値）以上であるかによって、撮像装置の移動が速すぎるかどうかを判定する。
【０１２９】
したがって、速すぎ検出によれば、画像処理による最大検出移動量を超える、撮像装置の移動を検出することができる。
【０１３０】
撮像制御部６３は、中断終了判定部５９から、中断判定の判定結果が供給された場合、パノラマ画像の生成に用いる撮像画像の撮像処理を中断させる中断制御を行う。
【０１３１】
また、撮像制御部６３は、速すぎ検出部６２から、速すぎ検出の検出結果が供給された場合も、中断制御を行う。
【０１３２】
ここで、撮像制御部６３では、中断制御において、撮像装置を構成する必要なブロックが制御され、これにより、例えば、撮像素子１２での、あらかじめ設定された絞りや、シャッタ速度等の撮影パラメータに従った撮像や、バッファ５２による撮像画像の記憶等の、パノラマ画像の生成に用いる撮像画像（パノラマ用撮像画像）を取得するための撮像処理が中断（終了）される。
【０１３３】
なお、パノラマモードでは、移動量検出部２０は、パノラマ画像の生成に用いる撮像画像（パノラマ用撮像画像）の撮像処理が行われている場合、アンプ２１のゲインを、パノラマ画像の生成に用いる撮像画像の撮像処理が行われていない場合よりも小にする。
【０１３４】
すなわち、通常モードでのアンプ２１のゲインが、第１の値であるとすると、パノラマモードでは、アンプ２１のゲインは、第１の値より小さい第２の値にされる。
【０１３５】
アンプ２１のゲインが、第１の値より小さい第２の値である場合、アンプ２１のゲインが第１の値である場合よりも、同一の入力に対するアンプ２１の出力が小さくなるので、移動量検出部２０で検出されるセンサ移動量は、アンプ２１のゲインが第１の値である場合よりも、精度が劣化するが、（撮像装置の移動量の）検出範囲を大にすることができる。
【０１３６】
また、動きセンサ１９が移動量検出部２０に出力するセンサ信号としての角速度信号には、ヨー方向の角速度信号であるヨー方向成分と、ピッチ方向の角速度信号であるピッチ方向成分とがあり、これに対応して、アンプ２１も、ヨー方向成分を増幅するヨー方向用アンプと、ピッチ方向成分を増幅するピッチ方向用アンプとを含む。
【０１３７】
パノラマモードでは、ヨー方向用アンプ、及び、ピッチ方向用アンプのうちの、設定スイープ方向に対応する方のアンプのゲインだけが、第２の値にされる。
【０１３８】
すなわち、設定スイープ方向が、例えば、右方向に設定されている場合には、ヨー方向用アンプ、及び、ピッチ方向用アンプのうちの、設定スイープ方向に対応する方のヨー方向アンプのゲインが、第２の値とされ、他方のピッチ方向用アンプのゲインは、第１の値のままとされる。
【０１３９】
これにより、パノラマモードでは、撮像装置の、設定スイープ方向の移動については、精度は、通常モードよりも劣化するものの、撮像装置が速く移動された場合の移動量を、センサ移動量として検出することができる。
【０１４０】
なお、移動量検出部２０で検出されるセンサ移動量は、速すぎ検出部６２による速すぎ検出に用いられる他、上述したように、手ぶれ補正部１８による手ぶれ補正にも用いられる。
【０１４１】
パノラマモードでは、連続して複数枚の撮像画像の撮像が行われるため、手ぶれ補正部１８は、ある撮像画像の露光時間の間、センサ移動量に基づいて、光学系１１を移動し、光学系１１と撮像素子１２との相対的な位置関係を変化させる手ぶれ補正を行うことにより、撮像素子１２で撮像される撮像画像にぶれが生じることを防止する。
【０１４２】
そして、手ぶれ補正部１８は、ある撮像画像の露光時間の終了後、次の撮像画像の露光時間が開始されるまでの間に、光学系１１を、元の位置に戻し、以下同様の処理を繰り返すことで、パノラマモードにおいて連続して撮像される複数枚の撮像画像のそれぞれに、ぶれが生じることを防止する。
【０１４３】
［パノラマモードでのパノラマ画像の撮影の処理］
【０１４４】
図３は、図２の撮像装置による、パノラマモードでのパノラマ画像の撮影の処理を説明するフローチャートである。
【０１４５】
撮像装置の電源がオンにされると、撮像装置は、ハードウェアの診断や必要な初期化を行う。
【０１４６】
そして、ステップＳ１１において、撮像制御部６３が、図示せぬ露出計により計測された明るさに関する情報に基づいて、絞りやシャッタ速度等の撮影パラメータのパラメータ値を計算し、そのパラメータ値に、撮影パラメータを設定して、処理は、ステップＳ１２に進む。
【０１４７】
ステップＳ１２では、撮像制御部６３は、操作部１７（図１）のうちのシャッタボタンが（押圧）操作されたかどうかを判定する。
【０１４８】
ステップＳ１２において、シャッタボタンが操作されていないと判定された場合、処理は、ステップＳ１１に戻り、以下、同様の処理が繰り返される。
【０１４９】
また、ステップＳ１２において、シャッタボタンが操作されたと判定された場合、処理は、ステップＳ１３に進み、撮影パラメータに従って撮像が行われる。
【０１５０】
すなわち、ステップＳ１３では、撮像素子１２は、光学系１１を介することによって、撮影パラメータである絞りに従って光量が調整された光が受光面に形成する光学像を、撮影パラメータであるシャッタ速度に従って撮像（光電変換）し、その撮像によって得られる１枚の撮像画像であるパノラマ用撮像画像を、信号処理部１３に供給する。
【０１５１】
ここで、撮像素子１２において撮像が行われている間、手ぶれ補正部１８では、上述したような手ぶれ補正が行われる。
【０１５２】
信号処理部１３は、撮像素子１２からのパノラマ用撮像画像に、ディジタル信号処理を施し、制御部１４の表示制御部５１、バッファ５２及び５４、並びに、移動量検出部５６に供給する。
【０１５３】
表示制御部５１は、信号処理部１３からのパノラマ用撮像画像を、表示部１５に供給して対応する画像を表示させる。
【０１５４】
また、バッファ５４は、信号処理部１３からの撮像画像を一時記憶し、処理は、ステップＳ１３からステップＳ１４に進む。
【０１５５】
ステップＳ１４では、信号処理部１３から制御部１４に供給された最新のパノラマ用撮像画像を、注目画像として、注目画像の直前に撮像された直前画像の撮像から、注目画像の撮像までの間の撮像装置の移動量である画像処理移動量、及び、センサ移動量の検出が、同時に行われる。
【０１５６】
すなわち、移動量検出部５６は、信号処理部１３からの最新のパノラマ用撮像画像を、注目画像として、その注目画像と、バッファ５４に記憶された直前画像とを用いて、画像処理を行うことにより、直前画像の撮像から、注目画像の撮像までの間の撮像装置の移動量である画像処理移動量を求め、注目画像についての画像処理移動量として、移動量合成部５７に供給する。
【０１５７】
また、移動量検出部２０は、直前画像の撮像のタイミングから、注目画像の撮像のタイミングまでの期間に、動きセンサ１９が出力する角速度信号を、積分器２３で積分することにより、直前画像の撮像から、注目画像の撮像までの間の撮像装置の移動量であるセンサ移動量を求め、注目画像についてのセンサ移動量として、移動量合成部５７、及び、速すぎ検出部６２に供給する。
【０１５８】
その後、処理は、ステップＳ１４からステップＳ１５に進み、移動量合成部５７は、移動量検出部５６からの注目画像についての画像処理移動量と、移動量検出部２０からの注目画像についてのセンサ移動量とを合成し、注目画像についての合成移動量を算出する。
【０１５９】
そして、移動量合成部５７は、注目画像についての合成移動量を、バッファ５８、及び、中断終了判定部５９に供給して、処理は、ステップＳ１５からステップＳ１６に進む。
【０１６０】
ステップＳ１６では、中断終了判定部５９は、移動量合成部５７からの注目画像についての合成移動量に基づいて、パノラマ画像の生成に用いるパノラマ用撮像画像の撮像を中断するかどうかの中断判定を行う。
【０１６１】
ステップＳ１６において、パノラマ用撮像画像の撮像を中断しないと判定された場合、すなわち、設定スイープ方向の逆方向に、撮像装置が移動される等の、パノラマ用撮像画像を合成することが困難なパターンの、撮像装置の移動がされていない場合、処理は、ステップＳ１７に進み、速すぎ検出部６２は、移動量検出部２０からの注目画像についてのセンサ移動量に基づいて、パノラマ用撮像画像の撮像を中断するかどうかの中断判定を行う。
【０１６２】
すなわち、ステップＳ１７では、速すぎ検出部６２は、移動量検出部２０からの注目画像についてのセンサ移動量に基づき、撮像装置の移動が速すぎるかどうかの速すぎ検出を行い、その速すぎ検出の検出結果に従って、中断判定を行う。
【０１６３】
ステップＳ１７において、パノラマ用撮像画像の撮像を中断しないと判定された場合、すなわち、撮像装置の移動が速すぎることが検出されなかった場合、処理は、ステップＳ１８に進み、バッファ５８が、移動量合成部５７からの注目画像についての合成移動量を記憶して、処理は、ステップＳ１９に進む。
【０１６４】
ステップＳ１９では、バッファ５２が、信号処理部１３からの注目画像としてのパノラマ用撮像画像を記憶し、処理は、ステップＳ２０に進む。
【０１６５】
なお、バッファ５２には、パノラマ画像の生成に用いられる多数のパノラマ用撮像画像が記憶されるので、バッファ５２の記憶容量の節約のために、パノラマ用撮像画像を、JPEG等の所定の圧縮方式で圧縮してから、バッファ５２に記憶させることができる。
【０１６６】
ステップＳ２０では、中断終了判定部５９は、いままでに移動量合成部５７から供給された合成移動量、つまり、バッファ５８に記憶されている合成移動量の累積値である累積合成移動量に基づいて、パノラマ画像の生成に用いるパノラマ用撮像画像の撮像を終了するかどうかの終了判定を行う。
【０１６７】
ステップＳ２０において、パノラマ用撮像画像の撮像を終了しないと判定された場合、すなわち、累積合成移動量が、パノラマ画像を得るのに十分な移動量になっていない場合、処理は、ステップＳ１３に戻り、次のパノラマ用撮像画像の撮像が行われ、以下、同様の処理が繰り返される。
【０１６８】
また、ステップＳ２０において、パノラマ用撮像画像の撮像を終了すると判定された場合、すなわち、累積合成移動量が、パノラマ画像を得るのに十分な移動量になった場合、中断終了判定部５９は、パノラマ用撮像画像の撮像を終了する旨の終了判定の判定結果を、合成判定部６０に供給する。
【０１６９】
合成判定部６０は、中断終了判定部５９から終了判定の判定結果が供給された場合、パノラマ画像の生成が可能であると判定し、パノラマ用撮像画像を合成して、パノラマ画像を生成するパノラマ合成処理を行う旨の指示を、パノラマ合成部５３に供給して、処理は、ステップＳ２０からステップＳ２１に進む。
【０１７０】
ステップＳ２１では、パノラマ合成部５３は、合成判定部６０からの指示に従い、バッファ５２に記憶された複数のパノラマ用撮像画像すべてを、バッファ５８に記憶された各パノラマ用撮像画像についての合成移動量だけずらしながら合成し、すなわち、n枚目のパノラマ用撮像画像を、n-1枚目の撮像画像から、n枚目のパノラマ用撮像画像についての合成移動量だけずらしながら合成することを繰り返し、１枚のパノラマ画像を生成する。
【０１７１】
なお、バッファ５８に記憶されたパノラマ用撮像画像が圧縮されている場合には、パノラマ合成部５３は、バッファ５８に記憶されたパノラマ用撮像画像を伸張してから合成する。
【０１７２】
その後、処理は、ステップＳ２１からステップＳ２２に進み、パノラマ合成部５３は、パノラマ画像を圧縮し、記録再生部１６に供給して記録させ、処理は、終了する。
【０１７３】
一方、ステップＳ１６において、パノラマ用撮像画像の撮像を中断すると判定された場合、すなわち、設定スイープ方向の逆方向に、撮像装置が移動される等の、パノラマ用撮像画像を合成することが困難なパターンの、撮像装置の移動がされた場合、中断終了判定部５９は、パノラマ用撮像画像の撮像を中断する旨の中断判定の判定結果、及び、中断原因情報を、合成判定部６０、及び、撮像制御部６３に供給して、処理は、ステップＳ２３に進む。
【０１７４】
また、ステップＳ１７において、パノラマ用撮像画像の撮像を中断すると判定された場合、すなわち、撮像装置の移動が速すぎることが検出された場合、速すぎ検出部６２は、撮像装置の移動が速すぎることを検出した旨の速すぎ検出の検出結果を、合成判定部６０、及び、撮像制御部６３に供給して、処理は、ステップＳ２３に進む。
【０１７５】
ステップＳ２３では、撮像制御部６３は、中断終了判定部５９からの、中断判定の判定結果の供給、又は、速すぎ検出部６２からの、速すぎ検出の検出結果の供給に応じて、パノラマ画像の生成に用いる撮像画像の撮像処理を中断させる中断制御を行って、処理は、ステップＳ２４に進む。
【０１７６】
ステップＳ２４では、合成判定部６０は、中断終了判定部５９からの中断判定の判定結果、及び、中断原因情報の供給、又は、速すぎ検出部６２からの速すぎ検出の検出結果の供給に応じて、それまでに、バッファ５２に記憶されたパノラマ用撮像画像を合成することによる、パノラマ画像の生成の可否の判定である合成可否判定を行う。
【０１７７】
ステップＳ２４において、パノラマ画像の生成が可能であると判定された場合、すなわち、バッファ５８に記憶された合成移動量を累積して得られる累積合成移動量が、ある程度の移動量に達している場合、合成判定部６０は、パノラマ合成処理を行う旨の指示を、パノラマ合成部５３に供給して、処理は、ステップＳ２４からステップＳ２１に進む。
【０１７８】
ステップＳ２１では、上述したように、パノラマ合成部５３は、合成判定部６０からの指示に従い、バッファ５２に記憶された複数のパノラマ用撮像画像すべてを、バッファ５８に記憶された各パノラマ用撮像画像についての合成移動量だけずらしながら合成することにより、１枚のパノラマ画像を生成し、以下、上述の場合と同様の処理が行われる。
【０１７９】
一方、ステップＳ２４において、パノラマ画像の生成が可能でないと判定された場合、すなわち、バッファ５８に記憶された合成移動量を累積して得られる累積合成移動量が、ある程度の移動量に達していない場合、パノラマ画像の生成は困難であるため、合成判定部６０は、パノラマ合成処理を行う旨の指示を、パノラマ合成部５３に供給せずに、中断終了判定部５９からの中断判定の判定結果、及び、中断原因情報、又は、速すぎ検出部６２から速すぎ検出の検出結果を、メッセージ出力部６１に供給して、処理は、ステップＳ２５に進む。
【０１８０】
ステップＳ２５では、メッセージ出力部６１は、合成判定部６０からの中断判定の判定結果、及び、中断原因情報、又は、速すぎ検出の検出結果に応じて、パノラマ画像を撮影することができなかった旨のエラーメッセージを含むエラー画面を生成し、表示制御部５１に供給する。
【０１８１】
さらに、ステップＳ２５では、表示制御部５１が、メッセージ出力部６１からのエラー画面を、表示部１５に供給して表示させ、処理は終了する。
【０１８２】
ユーザは、エラー画面を見ることにより、パノラマ画像の撮影に失敗したことと、その失敗の原因（理由）を認識することができる。
【０１８３】
以上のように、連続して撮像されるパノラマ用撮像画像の画像処理によって検出される、多くの場合に精度が高い画像処理移動量と、動きセンサが出力するセンサ信号から検出される、検出範囲が広いセンサ移動量とを合成して、合成移動量を算出し、その合成移動量に基づいて、連続して撮像された複数のパノラマ用撮像画像を合成し、パノラマ画像を生成する一方、センサ移動量に基づき、撮像装置が移動する速さが、所定の速さより速いかどうかを検出し、撮像装置が移動する速さが、画像処理移動量によっては検出することが困難な速さより速いことが検出された場合、パノラマ画像の生成に用いるパノラマ用撮像画像の撮像処理を中断するので、不自然なパノラマ画像が得られることを、容易に防止することができる。
【０１８４】
すなわち、図４は、パノラマ画像の撮影結果を模式的に示す図である。
【０１８５】
図４Ａは、図２の撮像装置の、設定スイープ方向としての右方向への移動を、適切な速さで（ゆっくり）行った場合に得られるパノラマ画像を示している。
【０１８６】
図４Ｂ、及び、図４Ｃは、図２の撮像装置の、設定スイープ方向としての右方向への移動を、最初は適切な速さで行い、途中から、高速に行った場合に得られるパノラマ画像を示している。
【０１８７】
但し、図４Ｂでは、速すぎ検出部６２（図２）を動作させておらず、図４Ｃでは、速すぎ検出部６２を動作させている。
【０１８８】
図４Ｂでは、速すぎ検出部６２が動作していないので、撮像装置の移動が、画像処理移動量として検出可能な移動量の検出範囲を超えた速さ（高速）で行われても、撮像装置の移動が速すぎることを検出することができない。
【０１８９】
そのため、撮像装置の移動が、画像処理移動量として検出可能な移動量の検出範囲を超えた速さで行われ、正確でない値の画像処理移動量が検出される状態となっても、パノラマ用撮像画像の撮像が続けられ、そのパノラマ用撮像画像の合成が、正確でない値の画像処理移動量（合成移動量）を用いて行われる。
【０１９０】
その結果、撮像装置の移動が高速で行われたときに撮像されたパノラマ用撮像画像がシームレスに合成されず、パノラマ画像は、そのパノラマ画像の、撮像装置の移動が高速に行われた部分については、隣接して合成されたパノラマ用撮像画像どうしの境界部分が目立つような不自然な画像となる。
【０１９１】
一方、図４Ｃでは、速すぎ検出部６２が動作しているので、撮像装置の移動が、画像処理移動量として検出可能な移動量の検出範囲を超えた速さ（高速）で行われると、撮像装置の移動が速すぎることが検出され、パノラマ用撮像画像の撮像が中断される。
【０１９２】
そして、それまでに撮像されたパノラマ用撮像画像が合成され、パノラマ画像が生成される。
【０１９３】
以上のように、撮像装置の移動が高速で行われると、パノラマ用撮像画像の撮像が中断され、それまでに撮像されたパノラマ用撮像画像を用いて、パノラマ画像が生成されるので、画角は多少狭くなることがあるものの、パノラマ用撮像画像がシームレスに合成された、自然なパノラマ画像を得ることができ、図４Ｂに示したような不自然なパノラマ画像が得られることを防止することができる。
【０１９４】
なお、制御部１４が行う一連の処理は、コンピュータとしてのCPU１４Ａ（図１）にプログラムを実行させることによって行うことができる他、専用のハードウェアによって行うこともできる。
【０１９５】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１９６】
１１  光学系，  １２  撮像素子，  １３  信号処理部，  １４  制御部，  １４Ａ  CPU，  １４Ｂ  メモリ，  １５  表示部，  １６  記録再生部，  １７  操作部，  １８  手ぶれ補正部，  １９  動きセンサ，  ２０  移動量検出部，  ２１  アンプ，  ２２  A/D変換器，  ２３  積分器，  ５１  表示制御部，  ５２  バッファ，  ５３  パノラマ合成部，  ５４  バッファ，  ５６  移動量検出部，  ５７  移動量合成部，  ５８  バッファ，  ５９  中断終了判定部，  ６０  合成判定部，  ６１  メッセージ出力部，  ６２  速すぎ検出部，  ６３  撮像制御部
【図１】
0005532297.tif 000002
【図２】
0005532297.tif 000003
【図３】
0005532297.tif 000004
【図４】
0005532297.tif 000005