(57)【要約】【課題】  連続撮影によるパノラマ撮影を行う際に、一部のショットだけ撮像装置の画角が不適切なため、所望のパノラマ画像が得られなかった場合に、全ショットのパノラマ撮影をやり直さなければならなかった。【解決手段】  複数の画像より広角な合成画像を生成する画像処理装置において、撮影位置のずれた画像に割り当てられる領域に、当該画像の代わりに、当該領域の画角の画像を有する画像を使用して、前記合成画像を生成することを特徴とする。【選択図】  図１
2014093728.tif 000002
【特許請求の範囲】
【請求項１】
連続撮影して得られた複数の画像から画像を切り出し、繋ぎ合わせて合成することにより、前記複数の画像より広角な合成画像を生成する画像処理装置において、
前記複数の画像の撮影位置に関する情報を特定する撮影位置特定手段と、
前記撮影位置特定手段により特定される前記複数の画像の撮影位置に関する情報に基づいて、前記連続撮影の撮影方向を特定する撮影方向特定手段と、
前記撮影位置に関する情報に基づいて前記複数の画像の間で前記撮影方向に対して前記撮影位置がずれた画像を特定する画像特定手段と、
前記合成手段は、前記合成画像において前記画像特定手段により特定された画像に割り当てられる領域に、当該特定された画像の代わりに、当該領域の画角の画像を有する当該特定された画像以外の補完画像の当該領域の画角の画像を使用して、前記合成画像を生成することを特徴とする画像処理装置。
【請求項２】
前記画像特定手段は、前記撮影方向に対して所定値より大きく前記撮影位置がずれた画像を前記撮影位置がずれた画像として特定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記合成手段は、前記補完画像として前記連続撮影において前記特定された画像の直前あるいは直後に撮影された画像を使用することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記合成手段は、前記補完画像として、前記特定された画像に割り当てられた領域のあるべき撮影位置に対して最も撮影位置のずれが小さい画像を選択することを特徴とする請求項１乃至３のいずれか１つに記載の画像処理装置。
【請求項５】
前記複数の画像を撮像する撮像手段を有することを特徴とする請求項１乃至４のいずれか１つに記載の画像処理装置。
【請求項６】
前記撮影位置に関する情報は、前記複数の画像それぞれが撮影されたときの前記画像処理装置の位置の情報、傾き情報のうちの少なくとも１つを含むことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記画像処理装置の角速度を検出する角速度センサを有し、
前記撮影位置に関する情報は、前記角速度センサから検出される角速度の情報を含むことを特徴とする請求項１乃至６のいずれか１つに記載の画像処理装置。
【請求項８】
連続撮影して得られた複数の画像から画像を切り出し、繋ぎ合わせて合成することにより、前記複数の画像より広角な合成画像を生成する画像処理方法において、
前記複数の画像の撮影位置に関する情報を特定する撮影位置特定ステップと、
前記撮影位置特定ステップにより特定される前記複数の画像の撮影位置に関する情報に基づいて、前記連続撮影の撮影方向を特定する撮影方向特定ステップと、
前記撮影位置に関する情報に基づいて前記複数の画像の間で前記撮影方向に対して前記撮影位置がずれた画像を特定する画像特定ステップと、
前記合成ステップでは、前記合成画像において前記画像特定ステップにて特定された画像に割り当てられる領域に、当該特定された画像の代わりに、当該領域の画角の画像を有する当該特定された画像以外の補完画像の当該領域の画角の画像を使用して、前記合成画像を生成することを特徴とする画像処理方法。
【請求項９】
請求項８に記載の画像処理方法の手順が記述されたコンピュータで実行可能なプログラム。
【請求項１０】
コンピュータに、請求項８に記載の画像処理方法の各工程を実行させるためのプログラムが記憶されたコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数枚の画像から広角な画像を合成する手段を有する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
デジタルカメラなどにおいて、撮像装置の撮影範囲を移動させながら連続撮影し、得られた複数の画像を位置合せして合成することにより、広角な画像（以下、パノラマ画像と呼ぶ。またパノラマ画像の撮影のことを、以下、パノラマ撮影と呼ぶ）を生成する技術が開示されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１０５１２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記特許文献１においては、連続撮影によるパノラマ撮影を行う際に、一部のショットだけ撮像装置の画角が不適切なため、所望のパノラマ画像が得られなかった場合に、全ショットのパノラマ撮影をやり直さなければならなかった。
【０００５】
上記課題に鑑み、本発明の目的は、連続撮影によるパノラマ撮影を行う場合に、画角がずれた画像を撮影しても良好な合成画像を得ることが可能な画像処理装置及び画像処理方法を提供することである。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明の画像処理装置は、連続撮影して得られた複数の画像から画像を切り出し、繋ぎ合わせて合成することにより、前記複数の画像より広角な合成画像を生成する画像処理装置において、前記複数の画像の撮影位置に関する情報を特定する撮影位置特定手段と、前記撮影位置特定手段により特定される前記複数の画像の撮影位置に関する情報に基づいて、前記連続撮影の撮影方向を特定する撮影方向特定手段と、
前記撮影位置に関する情報に基づいて前記複数の画像の間で前記撮影方向に対して前記撮影位置がずれた画像を特定する画像特定手段と、前記合成手段は、前記合成画像において前記画像特定手段により特定された画像に割り当てられる領域に、当該特定された画像の代わりに、当該領域の画角の画像を有する当該特定された画像以外の補完画像の当該領域の画角の画像を使用して、前記合成画像を生成することを特徴とする。
【０００７】
また、本発明の画像処理方法は、連続撮影して得られた複数の画像から画像を切り出し、繋ぎ合わせて合成することにより、前記複数の画像より広角な合成画像を生成する画像処理方法において、前記複数の画像の撮影位置に関する情報を特定する撮影位置特定ステップと、前記撮影位置特定ステップにより特定される前記複数の画像の撮影位置に関する情報に基づいて、前記連続撮影の撮影方向を特定する撮影方向特定ステップと、前記撮影位置に関する情報に基づいて前記複数の画像の間で前記撮影方向に対して前記撮影位置がずれた画像を特定する画像特定ステップと、前記合成ステップでは、前記合成画像において前記画像特定ステップにて特定された画像に割り当てられる領域に、当該特定された画像の代わりに、当該領域の画角の画像を有する当該特定された画像以外の補完画像の当該領域の画角の画像を使用して、前記合成画像を生成することを特徴とする。
【発明の効果】
【０００８】
連続撮影によるパノラマ撮影を行う場合に、画角がずれた画像を撮影しても良好な合成画像を得ることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明による画像処理装置の、第１の実施形態の処理手順を表したフローチャートである。
【図２】本発明による画像処理装置の、第１の実施形態を表したブロック図である。
【図３】本発明による画像処理装置における、位置の座標系を説明する図である。
【図４】本発明による画像処理装置における、失敗ショットの特定方法を説明する図である。
【図５】本発明による画像処理装置における、パノラマ画像の合成方法と、補完ショットの選択方法を説明する図である。
【図６】本発明による画像処理装置の、第２の実施形態の処理手順を表したフローチャートである。
【図７】本発明による画像処理装置の移動方法を説明する図である。
【図８】本発明による画像処理装置における、１ショットの画像のうち、パノラマ合成に使用される画像の範囲を説明する図である。
【発明を実施するための形態】
【００１０】
［第１の実施形態］
本実施形態においては、連続撮影によるパノラマ撮影の終了後に、画像処理装置の位置情報に基づいて、失敗ショットを特定する。失敗ショットの特定後に、補完に関する処理を行う。
【００１１】
図２は、本発明による画像処理装置の、第一の実施形態を表したブロック図である。スイッチ群１０７は、撮影モードの設定など、撮影に関わる様々な情報をＣＰＵ１０１へ出力する。またレリーズスイッチが出力する信号は、ＡＥ（オートエクスポージャ：自動露光制御）やＡＦ（オートフォーカス：自動焦点調節）の動作開始トリガや、撮影の開始トリガとなる。ＣＰＵ１０１はこれらの開始トリガを受けて、メカ群１０８、撮像部１２１、表示部１２４をはじめとする、画像処理装置の各部の制御を行う。また、ＲＯＭ１０３には、ＣＰＵ１０１のためのプログラムやデータが格納されている。
【００１２】
撮像部１２１は、Ａ／Ｄ変換部１２２へ画像データを出力する。Ａ／Ｄ変換部１２２は画像データをデジタル化し、画像処理部１２３へ出力する。画像処理部１２３は、ホワイトバランス、色変換等の様々な画像形成処理や、形成後の画像を圧縮する圧縮処理を行う。さらに画像処理部１２３は、パノラマ画像（複数の画像の合成によって生成される合成前の画像より広角な画像）の生成に必要な合成処理、失敗ショットの特定処理、失敗ショットの画像を補完するための補完処理等、パノラマ撮影に関する処理も行う。画像処理後の画像データは、バス１０２を介してメインメモリ１０４へ一時的に格納される。格納された画像データは、カードＩ／Ｆ１０５を介して外部の記録媒体（図示せず）に記録されるか、もしくは通信Ｉ／Ｆ１０６を介して、パーソナルコンピュータ等の外部装置（図示せず）に送信される。
【００１３】
表示部１２４は、画像処理装置のユーザインターフェース画面を表示するか、電子ビューファインダとして使用するか、もしくは撮影後の画像を表示する。
【００１４】
検出部１２５（撮影位置特定手段）は、ジャイロセンサ（角速度センサ）や加速度センサ等から構成される。ＣＰＵ１０１は、検出部１２５の検出結果から本発明による画像処理装置の位置を算出する。例えば、検出部１２５の検出結果が加速度の場合、ＣＰＵ１０１は、検出結果を積分することによって位置を算出する。
【００１５】
図３は、本発明による画像処理装置における、位置の座標系を説明する図である。ＣＰＵ１０１は、位置（Ｘ、Ｙ、Ｚ）をそれぞれ３軸で算出する。３軸は画像処理装置内の撮像センサに対して横方向にＸ軸、縦方向にＹ軸、光軸方向にＺ軸をとる。もちろん軸の取り方はこれに限らない。
【００１６】
またＣＰＵ１０１は、位置を基準値からの相対値として算出する。例えば、ＣＰＵ１０１は、最初の撮影に同期した検出部１２５の検出結果を基準値として、位置（０、０、０）とする。基準値を算出した後は、ＣＰＵ１０１は、基準値からの相対値として画像処理装置の位置を算出する。また、ショットごとに算出した位置の値は保持する。本実施形態においては、メインメモリ１０４に一時的に格納し、必要に応じて参照する。
【００１７】
図４は、本発明による画像処理装置における、失敗ショットの特定方法を説明する図である。図４（ａ）は、連続撮影をしたショット番号ごとの、Ｘ方向の位置を表している。同様に、図４（ｂ）はＹ方向、図４（ｃ）はＺ方向の、ショット番号ごとの画像処理装置の位置を表している。
【００１８】
本実施形態においては、画像処理装置は撮影方向としてＸ方向またはＹ方向のいずれかに移動させて、パノラマ撮影を行うものとする。そして、ＣＰＵ１０１（撮影方向特定手段）は、ショット番号１の位置と最終ショットの位置の差が大きい方向に、画像処理装置が移動されたと判定する。図４においては、ショット番号１（以下、ショット１と呼ぶ）からショット番号１２（以下、ショット１２と呼ぶ。以下同様に、ショット番号ＮをショットＮと呼ぶ）までの１２枚のショットがある。また、ショット１とショット１２の位置の差については、Ｙ方向はほぼゼロで、Ｘ方向に大きく差が生じている。このため、Ｘ方向に画像処理装置を移動させて、パノラマ撮影が行われたと判定される。ただし、撮影方向の判定については上記に限らず、撮影中に検出部１２５による連続した角速度あるいは加速度の検出結果から隣接するショットの位置の差によって判定してもよい。
【００１９】
次に、画像処理装置の移動方向（連続撮影の撮影方向）でないＹ方向とＺ方向については、各々の方向に対して、例えば最小二乗法によって位置情報の直線近似を行い、撮影方向に対応する最適値ＹｏｐｔとＺｏｐｔを求める。さらに、最適値に対して所定値を加算した値を上限値とし、最適値に対して所定値を減算した値を下限値とする。この上限値と下限値を、Ｙ方向、Ｚ方向各々について求める。そして、ＣＰＵ１０１（画像特定手段）は、Ｙ方向、Ｚ方向各々について上限値を超えた位置のショットと、下限値未満の位置のショットがあれば、そのショットを失敗ショットと判定する。すなわち、撮影方向に対して撮影位置が所定値より大きくずれた画像を特定し、失敗ショット（失敗画像）と判定する。なお、撮影方向の判定と同様に失敗ショットの判定方法についても上記に限らず、例えば直前２フレームの画像処理装置の傾き等の情報から撮影方向を判定し、その方向に対して所定値より大きく傾きがずれていた場合に失敗ショットと判定するなどしても良い。すなわち、少なくも２つの画像間で傾き情報や位置情報などが所定値より大きく変化したかどうかを見ることで失敗ショットの判定を行っても良い。
【００２０】
図４（ｂ）においては、Ｙ方向の上限値  Ｙｍａｘを超えたショット３と、下限値  Ｙｍｉｎ未満のショット７とショット９が失敗ショットと判定される。同様に、図４（ｃ）においては、Ｚ方向の上限値  Ｚｍａｘを超えたショット７と、下限値  Ｚｍｉｎ未満のショット３が失敗ショットと判定される。
【００２１】
一方、画像処理装置の移動方向であるＸ方向については、例えば最小二乗法によって位置情報の直線近似または曲線当てはめ（曲線近似）を行い、最適直線または最適曲線Ｘｏｐｔを算出する。なおＸｏｐｔは、画像処理装置の移動方法によって、直線または曲線になる。図７（ａ）のように平行移動の場合は、Ｘｏｐｔは直線となり、図７（ｂ）のように撮影者を中心とした円移動（または円の一部となる曲線移動）の場合は、Ｘｏｐｔは曲線となる。
【００２２】
さらに、Ｘｏｐｔに対して所定の値を加算した上限直線または上限曲線  Ｘｍａｘと、最適値に対して所定の値を減算した下限直線または下限曲線  Ｘｍｉｎを求める。そして、Ｘｍａｘを超えた位置のショットと、Ｘｍｉｎ未満の位置のショットを失敗ショットと判定する。
【００２３】
図４（ａ）においては、Ｘｍａｘを超えたショット７と、Ｘｍｉｎ未満のショット３が失敗ショットと判定される。以上、図４（ａ）、図４（ｂ）、図４（ｃ）の判定結果をまとめると、ショット３、ショット７、ショット９の３つのショットが、失敗ショットと判定される。
【００２４】
なお、上記においては、Ｘｏｐｔ、Ｙｏｐｔ、Ｚｏｐｔを求める際に、ショット１からショット１２までの全ショットの位置情報を使用したが、一部のショットのみの位置情報を使用してもよい。例えば、失敗ショットの左右１枚ずつ、あるいは左右２枚ずつの座標を使用する方法なども考えられる（即ち、失敗ショットがショット３であれば、ショット２とショット４の２枚、あるいはショット１、ショット２、ショット４、ショット５の４枚を使用する）。その際、失敗ショットとすでに判定されているショットの位置情報は、他のショットの失敗ショットであるか否かの判定に用いないようにするとよい。
【００２５】
図８は、本発明による画像処理装置における、１ショットの画像のうち、パノラマ合成に使用される画像の範囲を説明する図である。本実施形態においては、１ショットの画像のうち、図８における「使用範囲  Ｕ」の領域の画像を使用する。そして、各ショットの「使用範囲  Ｕ」の領域の画像を合成することにより、パノラマ画像を生成する。以下、図８における「使用範囲  Ｕ」の幅（即ち、図３におけるＸ方向の幅）を短冊幅と呼ぶ。
【００２６】
図５は、本発明による画像処理装置における、パノラマ画像の合成方法と、補完ショット（失敗ショットの画像を補完する、補完元のショット）の選択方法を説明する図である。図５（ａ）は、失敗ショットが無い、理想的なパノラマ撮影が行われた場合の、パノラマ画像の合成結果である。
【００２７】
なお、パノラマ画像の合成を行う際、手ぶれ等に起因する画角のずれを補正するために複数の画像の位置合せを行う必要があるが、公知の方法を用いて位置合せを行ってよい。例えば、検出部１２５による角速度あるいは加速度の検出結果から各画像の位置ずれ量を算出する方法や、２画像間の画像の差分から位置ずれ量を算出する方法が利用できる。２つのショットにまたがる直線を検出し、当該直線を重ねて合成する方法や、各ショットのエッジ抽出を行い、エッジの重なる領域を検出して合成する方法などもある。また、他の公知の方法を用いてもよい。
【００２８】
一方、図５（ｂ）は、ショット３（Ｓｈ３）、ショット７（Ｓｈ７）、ショット９（Ｓｈ９）が失敗ショットとなり、画像処理装置の位置（傾きも含める）が閾値を超えて大きくずれてしまった場合の、パノラマ画像の合成結果である。大きくずれているために前後のショットとの位置合わせを正確に行うと上下（Ｙ方向）に足りない画角が大きく出てしまうので、位置合わせせずに合成した結果を例示している。ショット３の点線の丸Ｃ１、Ｃ２で囲まれた、背景の山の部分が、ずれた状態で合成されている。同様に、ショット７の点線の丸Ｃ３、Ｃ４で囲まれた部分、並びにショット９の点線の丸Ｃ５、にＣ６で囲まれた部分が、ずれた状態で合成されている。
【００２９】
図５（ｃ）は、補完ショットの選択方法を説明する図である。図５（ｃ）下部の矢印Ｓ１ａからＳ１２ａは、ショット１からショット１２の撮影範囲が、各々合成後のパノラマ画像のどの領域であるかを表している。そして、失敗ショットであるショット３（Ｓｈ３）、ショット７（Ｓｈ７）、ショット９（Ｓｈ９）に割り当てられた領域の画像を補完するための、補完ショットの候補の画像領域が、矢印Ｓ１ａからＳ１２ａ上の、点線の楕円Ｃ３＿２、Ｃ３＿４、Ｃ７＿６、Ｃ７＿８、Ｃ９＿８、Ｃ９＿１０で表されている。ショット３の画像を補完可能な画像領域は、ショット２（Ｓｈ２ａ）のＣ３＿２とショット４（Ｓｈ４ａ）のＣ３＿４である。同様に、ショット７に割り当てられた領域の画像を補完可能な画像領域は、ショット６（Ｓｈ６ａ）のＣ７＿６とショット８（Ｓｈ８ａ）のＣ７＿８であり、ショット９の画像を補完可能な画像領域は、ショット８（Ｓｈ８ａ）のＣ９＿８とショット１０（Ｓｈ１０ａ）のＣ９＿１０である。画像処理部１２３は、パノラマ合成画像において失敗画像に割り当てられる領域に、失敗画像の該当領域の画像の代わりに、当該領域の画角の画像を有する失敗画像以外の前後の補完ショットから、該当する画角の画像を抽出して使用し、合成画像を生成する。
【００３０】
短冊幅は、画像処理装置の移動速度並びに連写速度と相関がある。図５においては、例えば画像処理装置を平行移動させる場合、移動速度が０．１〜０．５ｍ／秒、連写速度が３〜５フレーム／秒程度である。これに対して、例えば連写速度を２倍にすれば、短冊幅は半分にすることが可能となる。また、別の一例として、画像処理装置の移動速度と連写速度をともに１．４倍にしても、短冊幅を約半分にすることが可能となる。
【００３１】
一方、補完ショットの候補数は、短冊幅と相関がある。図５においては、補完ショットの候補は、例えば失敗ショットに隣接する左右１枚ずつのショットである。また、短冊幅が図５の半分になれば、補完ショットの候補は、失敗ショットに隣接する左右２枚ずつのショットとなる。例えば、ショット３が失敗ショットである場合は、その補完ショットの候補は、ショット１、ショット２、ショット４、ショット５の４枚となる。さらに、短冊幅が細くなればなるほど、補完ショットの候補はさらに増えていく。
【００３２】
以上のように補完ショットの候補を特定した後、補完ショットの選択を行う。選択方法は、本実施形態においては、補完ショットの候補のうち、前述した方法で算出された撮影方向（Ｘｏｐｔ）に従って決まる補完対象領域における最適な撮影位置からの画像処理装置の位置のずれ量が最も小さいショットを選択する。その後、選択した補完ショットを用いて、パノラマ画像の合成を行う。また、補完ショット（失敗ショットの画像が担っていた画像領域を補完するのに用いる補完画像）の選択方法や選択数としてはこれに限らず、例えば撮影方向からの位置ずれ量が所定の閾値より小さければ、必ずしも最も小さい位置ずれ量のショットでなくてもよい。また複数のショットを選択し、加算等、合成して用いるなどしてもよい。例えば連続撮影において直前及び直後のフレーム（ショット）から、領域毎にフレームを選択して使用することが考えられる。このように補完対象領域の画像を複数の画像から分担して生成すると、各画像の像高の高い、歪みの大きい領域の画像を使用せずに済むため、より良好な合成画像が期待できる。
【００３３】
図１は、本発明による画像処理装置の、第一の実施形態の処理手順を表したフローチャートである。各ステップの処理は、ＣＰＵ１０１あるいはＣＰＵ１０１の指示によって各部が動作することによって実行される。ステップＳ１は、パノラマ撮影の開始である。
【００３４】
ステップＳ２では、検出部１２５の出力に基づいて、ＣＰＵ１０１がパノラマ方向の判定、即ち、画像処理装置の移動方向がＸ方向かＹ方向かの判定を行う。ステップＳ３では、各ショットの位置情報を解析する。ステップＳ４は、失敗ショットがあるか否かを判定する。失敗ショットがある場合はステップＳ５へ進み、失敗ショットがない場合はステップＳ１１へ進む。ステップＳ５は、失敗ショットを特定する。なお、ステップＳ２からステップＳ５の具体的方法については、図４を用いて説明したとおりである。
【００３５】
ステップＳ６は、失敗ショットの画像を補完するための、補完ショットの候補を特定する。ステップＳ７は、特定した候補から、最適な補完ショットの選択を行う。ステップＳ８は、補完ショットを含めた失敗していない成功ショットの画像の割り当てられた短冊幅（領域）の画像と、選択された補完ショットの画像の補完対象領域を用いて、パノラマ画像の合成を行う。なお、ステップＳ６からステップＳ８の具体的方法については、図５を用いて説明したとおりである。
【００３６】
ステップＳ９は、全ての失敗ショットの処理が完了したか否かを判定する。完了した場合はステップＳ１０へ進み、完了していない場合はステップＳ７へ進む。ステップＳ１０は、合成後のパノラマ画像を表示部１２４に表示する。ステップＳ１１は、パノラマ撮影の終了である。
【００３７】
なお、ステップＳ１０は省略してもよいし、パノラマ画像の代りに、処理の完了を知らせるメッセージを表示部１２４に表示してもよい。また、ステップＳ９において、失敗ショットの処理が完了していない場合に、ステップＳ６へ進む方法もある。さらに、ステップＳ８のパノラマ画像の合成は、ステップＳ９の直後に行う方法もある。
【００３８】
以上の処理を行うことによって、画像処理装置の位置情報に基づいて、失敗ショットの補完をすることにより、パノラマ撮影の失敗を自動的に修正することが可能となる。
【００３９】
［第２の実施形態］
第１の実施形態においては、連続撮影の終了後に失敗ショットの特定と補完を行っていたが、本実施形態においては、連続撮影中にリアルタイムに失敗ショットの特定と補完を行う。本実施形態のように、リアルタイムに失敗ショットの特定と補完を行うことにより、連続撮影した全画像を撮影終了時まで保持しておく必要がなくなる。このため、画像を一時的に格納しておく記憶手段（本実施形態においてはメインメモリ１０４）の容量を削減することが可能となる。
【００４０】
図６は、本発明による画像処理装置の、第２の実施形態の処理手順を表したフローチャートである。ステップＳ２０１は、パノラマ撮影の開始である。
【００４１】
ステップＳ２０２は、１ショット目の補完ショットの候補が揃ったか否かを判定する。候補が揃った場合はステップＳ２０３へ進み、候補が揃っていない場合はステップＳ２０２へ進む。候補が揃ったか否かの判定方法は、短冊幅に応じた補完ショットの候補数に基づいて判定する。例えば第一の実施形態における図５の場合は、補完ショットの候補は前後２枚のショットである。ただし、１ショット目よりも前のショットは存在しないため、２ショット目の撮影が完了したら、補完ショットの候補が揃ったと判定される。また、短冊幅が図５の半分の場合は、補完ショットの候補は倍の枚数になる。このため、３ショット目の撮影が完了したら、補完ショットの候補が揃ったと判定される。
【００４２】
ステップＳ２０３は、パノラマ方向の判定、即ち、画像処理装置の移動方向がＸ方向かＹ方向かの判定を行う。ステップＳ２０４は、各ショットの位置情報を解析する。ステップＳ２０５は、失敗ショットがあるか否かを判定する。失敗ショットがある場合はステップＳ２０６へ進み、失敗ショットがない場合はステップＳ２０８へ進む。ステップＳ２０６は、失敗ショットを特定する。なお、ステップＳ２０３からステップＳ２０６の具体的方法については、第１の実施形態における図４を用いて説明したとおりである。
【００４３】
ステップＳ２０７は、失敗ショットの画像を補完するための、補完ショットの候補を特定する。ステップＳ２０８は、特定した候補から、最適な補完ショットの選択を行う。ステップＳ２０９は、次ショットの補完ショットの候補がそろったか否かを判定する。候補がそろった場合はステップＳ２０４へ進み、候補がそろっていない場合はステップＳ２１０へ進む。
【００４４】
補完ショットの候補が揃ったか否かの判定方法は、ステップＳ２０２と同様に、短冊幅に応じた補完ショットの候補数に基づいて判定する。例えば第一の実施形態における図５の場合は、補完ショットの候補は前後２枚のショットである。このため、次ショットの次のショットの撮影が完了したら、補完ショットの候補が揃ったことになる。例えば、次ショットが３ショット目の場合、４ショット目の撮影が完了すれば、候補が揃ったと判定される。また、短冊幅が図５の半分の場合は、補完ショットの候補は倍の枚数になる。このため、次ショットの次の２ショットの撮影が完了したら、候補が揃ったことになる。例えば、次ショットが３ショット目の場合、５ショット目の撮影が完了すれば、補完ショットの候補が揃ったと判定される。
【００４５】
ステップＳ２１０は、パノラマ撮影が終了か否かを判定する。終了した場合はステップＳ２１１へ進み、終了していない場合はステップＳ２０９へ進む。撮影終了の判定方法は、例えばレリーズボタンが押され続けているか、放されたかによって判定することができる。ステップＳ２１１は、選択した補完ショットを用いて、パノラマ画像の合成を行う。ステップＳ２１２は、合成後のパノラマ画像を表示部１２４に表示する。なお、ステップＳ２０７、ステップＳ２０８、ステップＳ２１１の具体的方法については、第１の実施形態における図５を用いて説明したとおりである。
【００４６】
ステップＳ２１３は、パノラマ撮影の終了である。なお、ステップＳ２１２は省略してもよいし、パノラマ画像の代りに、処理の完了を知らせるメッセージを表示部１２４に表示してもよい。また図６では、連続撮影の終了後のステップＳ２１１において、全画像を一括してパノラマ合成したが、ステップＳ２０８の直後において、逐次パノラマ合成する方法もある。
【００４７】
以上の処理を行うことによって、画像処理装置の位置情報に基づいて、リアルタイムに失敗ショットの補完を行うことにより、パノラマ撮影の失敗を自動的に修正することが可能となる。
【００４８】
＜その他の実施形態＞
本発明の目的は以下のようにしても達成できる。すなわち、前述した各実施形態の機能を実現するための手順が記述されたソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給する。そしてそのシステムまたは装置のコンピュータ（またはＣＰＵ、ＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行するのである。
【００４９】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
【００５０】
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどが挙げられる。また、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等も用いることができる。
【００５１】
また、コンピュータが読み出したプログラムコードを実行可能とすることにより、前述した各実施形態の機能が実現される。さらに、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施形態の機能が実現される場合も含まれる。
【００５２】
更に、以下の場合も含まれる。まず記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う。
【００５３】
また、本発明の画像処理装置としてはデジタルカメラのような撮影を主目的とした機器にかぎらない。携帯電話、パーソナルコンピュータ（ラップトップ型、デスクトップ型、タブレット型など）、ゲーム機など、撮像装置を内蔵もしくは外部接続する任意の機器に適用可能である。従って、本明細書における「画像処理装置」は、任意の電子機器を包含することが意図されている。
【符号の説明】
【００５４】
１０１  ＣＰＵ
１０２  バス
１０３  ＲＯＭ
１０４  メインメモリ
１０５  カードＩ／Ｆ
１０６  通信Ｉ／Ｆ
１０７  スイッチ群
１０８  メカ群
１２１  撮像部
１２２  Ａ／Ｄ変換部
１２３  画像処理部
１２４  表示部
１２５  検出部
【図１】
2014093728.tif 000003
【図２】
2014093728.tif 000004
【図３】
2014093728.tif 000005
【図４】
2014093728.tif 000006
【図５】
2014093728.tif 000007
【図６】
2014093728.tif 000008
【図７】
2014093728.tif 000009
【図８】
2014093728.tif 000010