(57)【特許請求の範囲】
【請求項１】
撮像装置を移動させながら連続して撮影した複数の画像をパノラマ合成するパノラマ画像合成方法であって、Ｎ枚目とＮ＋１枚目の画像の合成箇所を探索し、Ｎ枚目の画像の前記合成箇所とＮ＋１枚目の画像の前記合成箇所との類似性が所定閾値より低いためＮ枚目の画像とＮ＋１枚目の画像との間の移動量が算出できないときＮ枚目の画像より前又はＮ＋１枚目の画像より後の連続する２枚の画像から算出した前記移動量を用いてパノラマ合成を行い、前記類似性の低い画像を合成するときは該類似性の低い部分の前記合成箇所の画像をぼかし処理してからパノラマ合成するパノラマ画像合成方法。
【請求項２】
撮像装置を移動させながら連続して撮影した複数の画像をパノラマ合成するパノラマ画像合成方法であって、Ｎ枚目とＮ＋１枚目の画像の合成箇所を探索し、Ｎ枚目の画像の前記合成箇所とＮ＋１枚目の画像の前記合成箇所との類似性が所定閾値より低いためＮ枚目の画像とＮ＋１枚目の画像との間の移動量が算出できないときＮ枚目の画像より前又はＮ＋１枚目の画像より後の連続する２枚の画像から算出した前記移動量を用いてパノラマ合成を行い、１枚目の画像と２枚目の画像の合成箇所の類似性が所定閾値より低いときは前回のパノラマ撮影時に算出されている移動量の平均値で代用して前記１枚目と前記２枚目の画像のパノラマ合成を行うパノラマ画像合成方法。
【請求項３】
撮像装置を移動させながら連続して撮影した複数の画像をパノラマ合成するパノラマ画像合成方法であって、Ｎ枚目とＮ＋１枚目の画像の合成箇所を探索し、Ｎ枚目の画像の前記合成箇所とＮ＋１枚目の画像の前記合成箇所との類似性が所定閾値より低いためＮ枚目の画像とＮ＋１枚目の画像との間の移動量が算出できないときＮ枚目の画像より前又はＮ＋１枚目の画像より後の連続する２枚の画像から算出した前記移動量を用いてパノラマ合成を行い、前回のパノラマ撮影時に算出された移動量の分布曲線のデータを保持しておき、今回のパノラマ撮影時に移動量が算出できなかったときは該分布曲線から求めた移動量によりパノラマ合成を行うパノラマ画像合成方法。
【請求項４】
請求項３に記載のパノラマ画像合成方法であって、前記移動量の分布曲線のデータは撮影者別に保持して使用するパノラマ画像合成方法。
【請求項５】
請求項１乃至４のいずれかに記載のパノラマ画像合成方法であって、前記類似性の高低は、前記合成箇所の画像の空間周波数が閾値以上であるか否かで判断するパノラマ画像合成方法。
【請求項６】
請求項１乃至４のいずれかに記載のパノラマ画像合成方法であって、前記類似性の高低は、前記合成箇所の画像の特徴点の数が所定数より多いか否かで判断するパノラマ画像合成方法。
【請求項７】
請求項１乃至請求項６のいずれかに記載のパノラマ画像合成方法であって、Ｎ枚目の画像とＮ＋１枚目の画像の移動量（Ｌ）が算出できないときは、該移動量（Ｌ）として、Ｎ−１枚目の画像とＮ枚目の画像の移動量（Ｌ１）と、Ｎ＋１枚目の画像とＮ＋２枚目の画像の移動量（Ｌ２）との平均値（Ｌ＝（Ｌ１＋Ｌ２）／２）として算出するパノラマ画像合成方法。
【請求項８】
請求項１乃至請求項６のいずれかに記載のパノラマ画像合成方法であって、Ｎ−１枚目の画像とＮ枚目の画像の移動量（Ｌ）が算出できないときは、該移動量（Ｌ）を、Ｎ−２枚目の画像とＮ枚目の画像の移動距離（Ｌ２）とＮ−２枚目の画像とＮ−１枚目の画像の移動距離（Ｌ１）との差（Ｌ＝Ｌ２−Ｌ１）から算出するパノラマ画像合成方法。
【請求項９】
請求項１乃至請求項６のいずれかに記載のパノラマ画像合成方法であって、Ｎ−１枚目の画像とＮ枚目の画像の移動量（Ｌ）が算出できないときは、Ｎ−１枚目の画像とＮ枚目の画像のパノラマ合成を止め、Ｎ−２枚目の画像とＮ枚目の画像の移動距離を用いてＮ−２枚目の画像とＮ枚目の画像をパノラマ合成するパノラマ画像合成方法。
【請求項１０】
請求項１乃至請求項９のいずれかに記載のパノラマ画像合成方法を処理ステップ順に記載したパノラマ画像合成プログラム。
【請求項１１】
請求項１０に記載のパノラマ画像合成プログラムと該パノラマ画像合成プログラムを実行する制御装置を搭載した撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は撮像装置及びパノラマ画像合成方法並びにそのプログラムに係り、特に、容易かつ高精度にパノラマ画像を合成することができる撮像装置及びパノラマ画像合成方法並びにそのプログラムに関する。
【背景技術】
【０００２】
カメラ（撮像装置）で被写体の静止画像を撮影する場合、カメラの視野角には限度があるため、一回の撮影で広大な視野の撮影はできない。そこで、例えば水平方向（左右方向）に連続する複数枚の静止画像を撮り、これらを一枚に貼り合わせることで、広視野角のパノラマ画像を合成することが行われる。
【０００３】
デジタルカメラが普及したため、デジタルの静止画像データをパノラマ合成するのが容易となり、パノラマ合成機能を搭載したデジタルカメラも増えてきている。
【０００４】
デジタルカメラでパノラマ画像を撮影する場合、ユーザがデジタルカメラを手で持って水平方向にパンさせながら動画を撮影し、あるいは静止画を連写することで、水平方向に連続する複数枚の画像データを得ることができる。
【０００５】
そして、下記の特許文献１に記載されている様に、隣接する２枚の画像から特徴点を検出してその特徴点の２枚の画像間の移動ベクトルを算出し、この移動ベクトルを用いて２枚の画像データのうち重複する領域を見つけ出し、重複領域が重なるように２枚の画像データを貼り合わせ合成することが行われる。
【０００６】
しかし、写っている画像が変化の乏しい空間周波数の低い模様の場合、特徴点の検出や移動ベクトルの算出が難しくなり、重複する領域を見つけ出すのが困難で、合成精度の低いパノラマ画像しか生成できないという問題が生じる。
【０００７】
そこで、下記の特許文献２記載のデジタルカメラの様に、カメラ内にジャイロセンサを搭載しておけば、２枚の画像比較によって重なり領域を高精度に検出できなくても、センサ出力からカメラ移動距離を計算して２枚の画像の重なり領域を算出することが可能となる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第３４２１８５９号公報
【特許文献２】特開平６―１０５２１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
近年のデジタルカメラは低価格化が進み、高価なジャイロセンサ等を搭載することができなくなってきている。このため、カメラの移動距離を検出するハードウェアとしてのセンサを搭載することなく、精度の高いパノラマ合成を行うことが可能なデジタルカメラに対する要望が高くなっている。
【００１０】
本発明の目的は、カメラ移動距離を検出するセンサを用いずに高精度なパノラマ合成を可能にする撮像装置及びそのパノラマ画像合成方法並びにそのプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明のパノラマ画像合成方法は、撮像装置を移動させながら連続して撮影した複数の画像をパノラマ合成するパノラマ画像合成方法であって、Ｎ枚目とＮ＋１枚目の画像の合成箇所を探索し、Ｎ枚目の画像の前記合成箇所とＮ＋１枚目の画像の前記合成箇所との類似性が所定閾値より低いためＮ枚目の画像とＮ＋１枚目の画像との間の移動量が算出できないときＮ枚目の画像より前又はＮ＋１枚目の画像より後の連続する２枚の画像から算出した前記移動量を用いてパノラマ合成を行い、前記類似性の低い画像を合成するときは該類似性の低い部分の前記合成箇所の画像をぼかし処理してからパノラマ合成することを特徴とする。
本発明のパノラマ画像合成方法は、撮像装置を移動させながら連続して撮影した複数の画像をパノラマ合成するパノラマ画像合成方法であって、Ｎ枚目とＮ＋１枚目の画像の合成箇所を探索し、Ｎ枚目の画像の前記合成箇所とＮ＋１枚目の画像の前記合成箇所との類似性が所定閾値より低いためＮ枚目の画像とＮ＋１枚目の画像との間の移動量が算出できないときＮ枚目の画像より前又はＮ＋１枚目の画像より後の連続する２枚の画像から算出した前記移動量を用いてパノラマ合成を行い、１枚目の画像と２枚目の画像の合成箇所の類似性が所定閾値より低いときは前回のパノラマ撮影時に算出されている移動量の平均値で代用して前記１枚目と前記２枚目の画像のパノラマ合成を行うことを特徴とする。
本発明のパノラマ画像合成方法は、撮像装置を移動させながら連続して撮影した複数の画像をパノラマ合成するパノラマ画像合成方法であって、Ｎ枚目とＮ＋１枚目の画像の合成箇所を探索し、Ｎ枚目の画像の前記合成箇所とＮ＋１枚目の画像の前記合成箇所との類似性が所定閾値より低いためＮ枚目の画像とＮ＋１枚目の画像との間の移動量が算出できないときＮ枚目の画像より前又はＮ＋１枚目の画像より後の連続する２枚の画像から算出した前記移動量を用いてパノラマ合成を行い、前回のパノラマ撮影時に算出された移動量の分布曲線のデータを保持しておき、今回のパノラマ撮影時に移動量が算出できなかったときは該分布曲線から求めた移動量によりパノラマ合成を行うことを特徴とする。
【００１２】
本発明のパノラマ画像合成プログラムは、上記記載のパノラマ画像合成方法を処理ステップ順に記載したことを特徴とする。
【００１３】
本発明の撮像装置は、上記記載のパノラマ画像合成プログラムと該パノラマ画像合成プログラムを実行する制御装置を搭載したことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、高価なセンサ類を撮像装置に搭載しなくても、高精度にパノラマ合成を行うことが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係る撮像装置の機能ブロック図である。
【図２】図１に示す撮像装置が実行するパノラマ合成処理手順を示すフローチャートである。
【図３】図２に示すパノラマ合成処理の説明図である。
【図４】本発明の別実施形態に係るパノラマ合成処理手順を示すフローチャートである。
【図５】図４のパノラマ合成処理の説明図である。
【図６】本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。
【図７】図６のパノラマ合成処理の説明図である。
【図８】本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。
【図９】図８のパノラマ合成処理の説明図である。
【図１０】本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。
【図１１】本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。
【図１２】本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。
【図１３】本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。
【図１４】本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。
【図１５】本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。
【図１６】図１５のパノラマ合成処理の説明図である。
【図１７】本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。
【図１８】本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態について、図面を参照して説明する。
【００１７】
図１は、本発明の一実施形態に係る撮像装置（この例ではデジタルスチルカメラ）２０の機能構成図である。この撮像装置２０は、撮影レンズ２１と、撮影レンズ背部に設けられた撮像素子２２と、撮像素子２２から出力されるアナログの画像データを自動利得調整（ＡＧＣ）や相関二重サンプリング処理等のアナログ処理するアナログ信号処理部２３と、アナログ信号処理部２３から出力されるアナログ画像データをデジタル画像データに変換するアナログデジタル変換部（Ａ／Ｄ）２４と、後述のシステム制御部（ＣＰＵ）２５からの指示によって撮像素子２２の駆動制御を行う駆動部２６とを備える。
【００１８】
本実施形態の撮像装置２０は更に、デジタル信号処理部３０と、メモリ制御部３６と、メモリ制御部３６に接続されたメインメモリ３７と、メディアインタフェース３８と、メディアインタフェース３８に着脱自在に接続された記録メディア３９とを備える。メモリ制御部３６，デジタル信号処理部３０，メディアインタフェース３８は、制御バス４０を通してＣＰＵ２５からの指示を受けデータバス２７上のデータに対して処理を行う。
【００１９】
デジタル信号処理部３０は、入出力処理回路３１と、画像合成箇所模様周波数判断部３２と、画像処理部３３と、制御部３４とを備え、Ａ／Ｄ２４からデータバス２７に出力されるデジタル画像データを取り込み周知のデジタル画像処理（補間処理，ホワイトバランス補正，ＲＧＢ／ＹＣ変換処理，同時化処理等）を行うと共に、後述するパノラマ合成処理を行う。
【００２０】
システム制御部（ＣＰＵ）２５は、メモリ２５ａを持っており、パノラマ合成処理を行うための後述する移動量Ｌをメモリ２５ａに保存し、あるいは更新する様になっている。なお、本実施形態ではメモリ２５ａをシステム制御部２５に内蔵させているが、メモリ３７の一部領域を利用しても、また、バス４０，２７に接続される別のメモリとしても良い。
【００２１】
本実施形態のデジタルカメラでは、ユーザがカメラを手持ちでパンさせながら静止画像を連写し、あるいは動画像を撮像し、撮像素子２２から出力された連続する複数枚の画像データに対して夫々周知の画像処理を施し、各々をＪＰＥＧ画像データとして記録メディア３９に保存しておく。そして、その後に、記録メディア３２から一連の画像データを読み出し、隣接する画像間の重複領域を見つけ出してパノラマ合成し、合成後のパノラマ画像データを記録メディア３２に保存する様になっている。
【００２２】
あるいは、システム制御部２５やデジタル画像処理部３３の処理速度が高速である場合には、次々と撮像素子２２から出力される画像データを取り込み、連写中に次々とパノラマ合成することも可能である。
【００２３】
図２は、上記のパノラマ合成を行うときにシステム制御部２５が配下のデジタル信号処理部３０を使用して行うパノラマ画像合成プログラムの処理手順を示すフローチャートである。このプログラムがスタートすると、１枚目の画像データと２枚目の画像データの合成箇所（重複領域）のサーチを行い（ステップＳ１）、１枚目の画像データと２枚目の画像データとをパノラマ合成する（ステップＳ２）。そして、この合成箇所の一枚目の位置と２枚目の位置との差すなわち移動量Ｌを算出して図１のメモリ２５ａに保存し（ステップＳ３）、以下のステップＡとステップＢとの間の一連の処理を繰り返す処理に入り、連続する撮影枚数の画像の全てに対して処理を行う。
【００２４】
繰り返し処理では、先ず、ステップＳ１１で、Ｎ枚目の画像データとＮ＋１枚目の画像データの合成箇所のサーチを行い、次のステップＳ１２でこの合成箇所の類似度を判断するために合成箇所に写っている模様の空間周波数Ｆを算出する。
【００２５】
そして、この空間周波数Ｆが所定閾値以上であるか未満であるかを判定し（ステップＳ１３）、閾値以上の場合にはステップＳ１４で新たな移動量Ｌを求めてメモリ２５ａ内の移動量Ｌの更新を行い、この新たな移動量Ｌを用いてＮ枚目の画像データとＮ＋１枚目の画像データをパノラマ合成し（ステップＳ１５）、ステップＢからステップＡに戻る。
【００２６】
ステップＳ１３の判定の結果、ステップＳ１２で求めた空間周波数Ｆが閾値未満である場合には、両画像データから求めた特徴点とその移動ベクトルは不正確であると判断してステップＳ１６に進み、前回算出しメモリ２５ａ内に保存されている以前の移動量（以下、移動距離ともいう。）Ｌを用いてＮ枚目の画像データとＮ＋１枚目の画像データのパノラマ合成を行い、ステップＢに進む。パノラマ撮影を行い、何枚か連続して空間周波数Ｆが閾値未満となったときこのステップＳ１６が繰り返し実行されるため、ある期間移動量を算出できなくても、精度の高いパノラマ合成が可能となる。
【００２７】
図３は、図２における処理内容を説明する図である。Ｎ−２枚目の画像は山及びその裾野が写っており、次のＮ−１枚目の画像は山の裾野から海に至る部分が写っている。このため、画像の空間周波数は高く、パンした移動距離Ｌは精度良く求まる。
【００２８】
次のＮ枚目の画像は、海と空の画像が大部分を占め、画像の空間周波数は低い。このＮ枚目の画像と、Ｎ−１枚目の画像のうち右端領域（海と空とが大部分を示す領域）とを比較しても、模様の変化が乏しいため、両者間の移動距離を精度良く求めることはできない。そこで、本実施形態では、Ｎ枚目の画像とＮ−１枚目の画像を合成するとき、両者間の移動距離として、Ｎ−２枚目とＮ−１枚目の移動距離を用いてパノラマ合成する。
【００２９】
人が手持ちでカメラをパンする場合、連写毎の各間隔での移動速度の変化は小さく一定も見なすこともできる。このため、本実施形態では、今回の移動距離の算出が不正確であると判断したとき、直前に求めた移動距離Ｌを用いてパノラマ合成し、精度の高いパノラマ合成画像を得るようにしている。
【００３０】
図４は、本発明の別実施形態に係るパノラマ合成処理手順を示すフローチャートである。本実施形態では、図３の繰り返し処理（ステップＡ，ステップＢ）間の処理が異なり、ステップＳ１，Ｓ２，Ｓ３，Ｓ１１，Ｓ１２，Ｓ１３までは図３の実施形態と同じである。但しステップＳ３で求めた移動距離をＬ１とする。
【００３１】
本実施形態では、ステップＳ１３の判定の結果、ステップＳ１５でＮ枚目とＮ＋１枚目のパノラマ合成を行い、次のステップＳ１７で、Ｎ枚目とＮ＋１枚目の移動量をＬ１としてメモリ２５ａに保持（更新）し、ステップＢに進む。
【００３２】
ステップＳ１３の判定の結果、空間周波数Ｆが閾値未満の場合には、ステップＳ１８で移動距離の算出時の撮影枚数を判定し、移動距離がＮ枚目とＮ＋１枚目の画像から算出されたものであることが撮影枚数から分かった場合には、ステップＳ１８からステップＳ１６に進み、この移動距離を用いてＮ枚目とＮ＋１枚目の画像をパノラマ合成し、ステップＢに進む。
【００３３】
ステップＳ１８の判定の結果、否定すなわち移動距離が直前に算出されたものでなく、それより前に算出されたデータであると判別された場合には、その移動距離を用いてパノラマ合成すると、合成精度が劣化してしまう。そこで、この場合には、ステップＳ１８からステップＳ２０に進み、Ｎ＋１枚目とＮ＋２枚目の合成箇所をサーチして、この合成箇所の画像の空間周波数Ｆを算出する（ステップＳ２１）。
【００３４】
そして、次のステップＳ２２で、空間周波数Ｆが所定の閾値以上であるか否かを判定し、閾値以上の場合にはステップＳ２３に進み、Ｎ＋１枚目の画像とＮ＋２枚目の画像から移動距離Ｌ２を算出する。次のステップＳ２４では、移動距離Ｌ２の値を用いてＮ枚目の画像とＮ＋１枚目の画像をパノラマ合成する。
【００３５】
即ち、本実施形態では、図５に示す様に、Ｎ枚目の画像とＮ＋１枚目の画像から算出される移動距離Ｌ１が不明な場合には、Ｎ＋１枚目とＮ＋２枚目の画像から求められる移動距離Ｌ２を用いてＮ枚目の画像とＮ＋１枚目の画像をパノラマ合成する。これにより、Ｎ枚目の画像とＮ＋１枚目の画像のパノラマ合成の精度が向上する。
【００３６】
図４のステップＳ２４の次のステップＳ２５では、Ｎ＋１枚目の画像とＮ＋２枚目の画像を移動距離Ｌ２を用いてパノラマ合成し、次のステップＳ２６では変数ＮをＮ＋１に置き換えて、次のステップＳ２７で移動距離Ｌ２を移動距離Ｌ１としてメモリ２５ａに保存し以前のデータを更新する。そして、ステップＢに入る。
【００３７】
ステップ２２の判定の結果、空間周波数Ｆが閾値未満の場合には、メモリ２５ａに保存されている移動量Ｌ１の値を用いてＮ枚目の画像とＮ＋１枚目の画像をパノラマ合成し（ステップＳ２８）、ステップＢに入る。
【００３８】
この様に、本実施形態では、直前の画像間で移動量の算出ができなかった場合には、直後の画像間で算出した移動量を用いてパノラマ合成を行うため、センサを用いなくてもパノラマ合成精度を向上させることが可能となる。
【００３９】
図６は、本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。本実施形態のパノラマ合成処理手順は、図４の処理手順と基本的に同じであるため、同一処理ステップには同一ステップ番号を付してその詳細な説明は省略する。
【００４０】
図６に示す処理手順では、図４のステップＳ１８，Ｓ１６が無く、ステップＳ１３の判定結果が「空間周波数Ｆ＜閾値」のときステップＳ２０に進む点が異なる。また、ステップＳ２４の代わりにステップＳ２４ａを設けている。ステップＳ２４ａでは、ステップＳ２３で求めた移動距離Ｌ２と、メモリ２５ａ内の移動距離Ｌ１との「平均値Ｌ＝（Ｌ１＋Ｌ２）／２」を求め、この平均値Ｌを用いてＮ枚目とＮ＋１枚目の画像をパノラマ合成している。
【００４１】
この実施形態では、図７に示す様に、Ｎ−１枚目の画像とＮ枚目の画像の移動距離Ｌ１が分かっており、Ｎ枚目の画像とＮ＋１枚目の画像の移動距離Ｌが低周波画像のため不明で、Ｎ＋１枚目の画像とＮ＋２枚目の画像の移動距離Ｌ２が分かったときに、不明な移動距離Ｌを、その前後の移動距離Ｌ１，Ｌ２の平均値と仮定してパノラマ合成する構成となっている。これにより、センサを用いなくてもパノラマ合成精度を向上させることが可能となる。
【００４２】
図８は、本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。本実施形態のパノラマ合成処理手順は、図６の処理手順と基本的に同じであるため、同一処理ステップには同一ステップ番号を付してその詳細な説明は省略する。
【００４３】
本実施形態では、ステップＳ１３でＮ枚目とＮ＋１枚目の合成箇所の空間周波数Ｆが閾値未満のときステップＳ２０ａに進み、一枚前のＮ−１枚目とＮ＋１枚目の合成箇所をサーチし、次のステップＳ２１ａで合成箇所の空間周波数Ｆを求め、ステップＳ２２で、その周波数Ｆが閾値以上か未満かを判定する。
【００４４】
ステップＳ２２の判定の結果、閾値以下のときは２枚の画像間（Ｎ−１枚目とＮ＋１枚目）の移動量Ｌ２を算出し、次のステップＳ２４ｂで、Ｌ＝Ｌ２−Ｌ１としてＮ枚目とＮ＋１枚目の画像をパノラマ合成し、次のステップＳ２７ａで、Ｎ枚目とＮ＋１枚目の移動量Ｌをメモリ２５ａにＬ１として保存し、ステップＢに進む。
【００４５】
この実施形態では、図９に示す様に、Ｎ枚目とＮ＋１枚目の画像間の移動量Ｌが不明なとき、Ｎ＋１枚目とＮ−１枚目の画像間の移動量Ｌ２と、Ｎ枚目とＮ−１枚目の画像間の移動量Ｌ１とから不明な移動量ＬをＬ＝Ｌ２−Ｌ１として算出し、これを用いてＮ枚目とＮ＋１枚目の画像をパノラマ合成する。これにより、センサを用いなくても合成精度が向上する。
【００４６】
図１０は、本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。本実施形態のパノラマ合成処理手順は、図８の処理手順と基本的に同じであるため、同一処理ステップには同一ステップ番号を付してその詳細な説明は省略する。図８の処理では、図９において、Ｎ枚目とＮ＋１枚目の移動距離Ｌ＝Ｌ２−Ｌ１を算出したが、本実施形態では、Ｌ２を用い、Ｎ−１枚目とＮ＋１枚目の画像をパノラマ合成してしまう点が異なる。
【００４７】
即ち、ステップＳ２３でＮ−１枚目とＮ＋１枚目の移動距離Ｌ２を算出したら、ステップＳ２４ｃで、Ｎ−１枚目とＮ＋１枚目の画像をパノラマ合成し、次のステップＳ２７ｂで、移動距離Ｌ＝Ｌ２−Ｌ１をメモリ２５ａ内にＬ１として保持し、次のステップＳ２６で変数ＮをＮ＋１としてステップＢに進む。
【００４８】
本実施形態によれば、図８の実施形態に比べてＮ枚目とＮ＋１枚目のパノラマ合成処理を省き、パノラマ合成処理量を削減することが可能となる。
【００４９】
図１１は、本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。本実施形態のパノラマ合成処理手順は、図２の処理手順と基本的に同じであるため、同一処理ステップには同一ステップ番号を付してその詳細な説明は省略する。
【００５０】
図２のステップＳ１３で空間周波数Ｆが閾値未満のときステップＳ１６で旧移動距離Ｌを用いてＮ枚目とＮ＋１枚目の画像をパノラマ合成したが、本実施形態では、ステップＳ１６の前段のステップＳ５において、Ｎ枚目とＮ＋１枚目の合成部分に対してボカシ処理を施し、その後にステップＳ１６でパノラマ合成する様にしている。
【００５１】
この実施形態によれば、画像が低周波模様のとき合成部分をぼかしてからパノラマ合成するため、２つの画像間のずれを緩和でき、パノラマ画像の画質を向上させることが可能となる。
【００５２】
図１２は、本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。本実施形態のパノラマ合成処理手順は、図２の処理手順と基本的に同じであるため、同一処理ステップには同一ステップ番号を付してその詳細な説明は省略する。
【００５３】
２枚の画像間で移動量が不明となるのは、低周波画像に起因する他、繰り返し模様の画像の場合もある。そこで、本実施形態では、ステップＳ１３の判定結果が空間周波数Ｆ≧閾値となったとき次にステップＳ６で合成箇所に繰り返し模様があるか否かを判定し、繰り返し模様がない場合にステップＳ１４に進み、繰り返し模様がある場合にはステップＳ１６に進んでメモリ２５ａ内の旧移動距離Ｌを用いてＮ枚目とＮ＋１枚目の画像をパノラマ合成する。
【００５４】
パノラマ合成箇所に繰り返し模様を含む場合、Ｎ枚目とＮ＋１枚目の画像間での特徴点がずれる虞が高く、パノラマ合成精度が低下する可能性がある。そこで、本実施形態では、繰り返し模様が存在する場合には、繰り返し模様の無いＮ−１枚目とＮ枚目との間で算出された旧移動量Ｌを用いてＮ枚目とＮ＋１枚目の画像をパノラマ合成し、パノラマ画像の画質向上を図る。
【００５５】
図１３は、本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。本実施形態のパノラマ合成処理手順は、図２の処理手順と基本的に同じであるため、同一処理ステップには同一ステップ番号を付してその詳細な説明は省略する。
【００５６】
図２の処理手順では、ステップＳ１３で合成箇所における空間周波数を判定したが、本実施形態では、空間周波数は用いずに、特徴点個数で判定している。即ち、ステップＳ１１でＮ枚目とＮ＋１枚目の合成箇所をサーチし、次のステップＳ７で、合成箇所の特徴点個数を判定する。特徴点個数が閾値以上の場合にはステップＳ１４に進み、特徴点個数が閾値未満のときステップＳ１６に進む。
【００５７】
本実施形態では、合成箇所の特徴点個数が多いときは、今回算出した移動量を用いてパノラマ合成を行い、特徴点個数が少ないときは、以前に算出した移動量を用いてパノラマ合成を行う。これにより、パノラマ合成した画質の向上を図ることが可能となる。
【００５８】
図１４は、本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。本実施形態のパノラマ合成処理手順は、図２の処理手順と基本的に同じであるため、同一処理ステップには同一ステップ番号を付してその詳細な説明は省略する。
【００５９】
図２の処理手順のステップＳ１〜Ｓ３は、１枚目と２枚目の画像が低周波画像でないことを前提として移動量Ｌが求まるものとしている。しかし、実際には、１枚目，２枚目の画像が低周波画像であることも起こり得ることであり、移動量Ｌが算出できない事態が生じる。
【００６０】
そこで、本実施形態では、この様な事態に対処すべく、例えば前日に行った前回撮影時の移動量Ｌを記憶しておき、今日の撮影時にそのデータを利用することとしている。即ち、ステップＳ１で１枚目と２枚目の合成箇所をサーチしたあと、次のステップＳ３１で、合成箇所の空間周波数Ｆを算出する。そして、ステップＳ３２で、空間周波数Ｆが閾値以上であるか否かを判定し、閾値以上の場合に移動量Ｌを算出し（ステップＳ３３）、この移動量を用いて次のステップＳ２で１枚目と２枚目の画像をパノラマ合成する。
【００６１】
ステップＳ３２の判定の結果、空間周波数Ｆが閾値未満の場合にはステップＳ３６に進み、前回撮影時の平均移動距離Ｌaveを用いて１枚目と２枚目の画像のパノラマ合成を行う。
【００６２】
ステップＳ２又はステップＳ３６の次にステップＳ３５に進み、移動量平均値を現す変数Ｌaveを“０”とする（即ち、初期化を行う。）。そして、繰り返し処理のステップＡに進む。繰り返し処理では、図２のステップＳ１１，Ｓ１２，Ｓ１３，Ｓ１４，Ｓ１５，Ｓ１６は同じであるが、本実施形態では、ステップＳ１５の次のステップＳ４１で、Ｌave＝Ｌave＋Ｌとし、ステップＢが終わった後のステップＳ４２で、「Ｌave＝Ｌave／移動量算出回数」として今回撮影時の移動量Ｌの平均値を求め、メモリ２５ａに保存しておく。
【００６３】
これにより、センサを用いなくても、１枚目と２枚目の画像のパノラマ合成精度を向上させることができる。
【００６４】
図１５は、例えば全周囲３６０度の超広角のパノラマ画像を合成するときの処理手順を示すフローチャートであり、図１６はその概念説明図である。ユーザが手持ちでカメラをパンさせ超広角のパノラマ画像を撮影する場合、カメラで１枚撮影する毎の移動距離がばらついても、全体の移動曲線は所定の曲線上にある蓋然性は高い。
【００６５】
そこで、図１６に例示する様に、１回目，２回目，…，９回目の各撮影時の前回からの移動距離を算出し、撮開開始からの時間に対する分布を求める。そして、図１６では、５回目の撮影時の前回からの移動距離が算出できなかったが、この移動距離は、全体の移動分布曲線から求めることが可能となる。なお、６回目の移動距離は、前述した実施形態と同様に、前々回からの移動距離や７回目の移動距離から求める。
【００６６】
そこで、図１５の処理手順では、撮影枚数だけ繰り返すステップＡとステップＢとの間の繰り返し処理を行う。この繰り返し処理では、先ず、ステップＳ５１でＮ枚目の画像とＮ＋１枚目の画像の合成箇所をサーチし、ステップＳ５２で、合成箇所の空間周波数Ｆを算出し、ステップＳ５３で、空間周波数Ｆが閾値以上であるか否かを判定する。ステップＳ５３で空間周波数Ｆ≧閾値と判定された場合には次のステップＳ５４で移動量Ｌnを記録し、ステップＢからステップＡに戻る。ステップＳ５３で空間周波数Ｆ＜閾値と判定された場合にはステップＢからステップＡに戻る。
【００６７】
このステップＡ―ステップＢの繰り返し処理が終了した後はステップＳ５５に進み、図１６の移動分布曲線を求める。そして、次のステップＣとステップＤとの間の繰り返し処理を、移動量が算出できなかった箇所の数だけ繰り返す。
【００６８】
ステップＣとステップＤとの間の繰り返し処理では、先ず、ステップＳ５６で移動分布曲線から移動量算出ができなかった箇所の移動量Ｌnを算出し、ステップＤに進む。
【００６９】
この繰り返し処理が終わった後は、次にステップＥとステップＦ間の繰り返し処理を撮影枚数だけ繰り返し、この処理を終了する。即ち、ステップＥ，Ｆ間の繰り返し処理では、ステップＳ５７でＮ枚目とＮ＋１枚目の画像を移動量Ｌnを用いてパノラマ合成を行い、ステップＦに進む。これにより、移動量が大きく変化する箇所についての移動量算出精度を向上させることができ、超広角のパノラマ画像が精度良く合成可能となる。
【００７０】
図１７は、本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。本実施形態では、２枚の低周波画像の比較によって移動量Ｌが算出できなかった場合に、過去の図１６に示す移動分布曲線に基づいて今回の超広角撮影時に移動量が算出できなかった箇所の移動量を求め、この移動量により超広角のパノラマ合成を行うことを特徴とする。
【００７１】
先ず、ステップＡとステップＢとの間の繰り返し処理を撮影枚数分行うのであるが、ステップＳ６１で、Ｎ枚目とＮ＋１枚目の合成箇所をサーチし、ステップＳ６２で、合成箇所の空間周波数Ｆを算出する。そして、この空間周波数Ｆが所定の閾値以上であるか否かを判定し（ステップＳ６３）、空間周波数Ｆ≧閾値の場合には次のステップＳ６４で移動量Ｌを求めてメモリ２５ａに記録し、Ｎ枚目とＮ＋１枚目の画像のパノラマ合成を行い（ステップＳ６５）、ステップＢからステップＡに戻る。
【００７２】
ステップＳ６３の判定の結果、空間周波数Ｆ＜閾値の場合にはステップＳ６６に進み、過去の移動分布曲線から移動量を算出し、Ｎ枚目とＮ＋１枚目の画像のパノラマ合成を行って（ステップＳ６７）、ステップＢからステップＡに戻る。
【００７３】
上記の繰り返し処理が終了した後は、ステップＳ６８に進み、今回の超広角パノラマ撮影時の移動分布曲線を求め、ステップＳ６９で、以前に算出した移動分布曲線と今回の移動分布曲線との平均値を算出し、最後のステップＳ７０で、平均値の移動分布曲線をメモリ２５ａに記録してこの処理を終了する。
【００７４】
撮影者がカメラを手で持ち、自身を中心に一周回転して周囲３６０度の超広角のパノラマ撮影を行う場合、一周する間は、毎回ある程度は同様の移動曲線を描くものと考えられる。そこで、過去の撮影時における移動曲線から今回の移動量が算出できなかった区間の移動量を求めても、同じ移動量であったと推定でき、センサを用いなくても、高精度なパノラマ合成が可能となる。
【００７５】
図１８は、本発明の更に別実施形態に係るパノラマ合成処理手順を示すフローチャートである。本実施形態は基本的に図１７の実施形態と同じである。図１７では、過去の移動分布曲線を利用したが、この移動分布曲線は、カメラユーザ毎に異なる曲線になることが予想される。
【００７６】
カメラを複数のユーザが使用する場合、移動分布曲線をユーザ毎に記録し使用した方が高精度のパノラマ合成を行うことが可能となる。そこで、本実施形態では、図１７の処理手順に入る前に、ステップＳ４５とステップＳ４６を行ってから、図１７の処理に入る。
【００７７】
ステップＳ４５では、カメラがユーザ（撮影者）情報を取得する。この取得方法はどの様な方法でも良い。ユーザ自身がメニュー画面から指定する方法でも良い。あるいは、カメラが認識装置（例えば指紋認識装置）を持ち、判断しても良い。次のステップＳ４６では、メモリ２５ａを検索し、該当ユーザの過去の移動分布曲線を取り出してから、ステップＡに入る。
【００７８】
これにより、ユーザ毎のクセを勘案してパノラマ合成を行うため、移動量算出の精度低下を防ぐことができ、高精度のパノラマ合成処理が可能となる。
【００７９】
なお、上述した各実施形態では、デジタルカメラ内でパノラマ合成を行うものとして説明したが、個々の撮影画像をパーソナルコンピュータに読み出し、パーソナルコンピュータ内で合成する場合にも同様に適用可能である。
【００８０】
以上述べた実施形態を夫々個別に説明したが複数の実施形態を併用してパノラマ合成を行うことも可能である。例えば、低周波画像のため以前の移動量を用いてパノラマ合成を行うとき、図１１のステップＳ５で説明したように、合成箇所の画像をぼかして合成することも可能である。
【００８１】
以上述べた様に、実施形態のパノラマ画像合成方法は、撮像装置を移動させながら連続して撮影した複数の画像をパノラマ合成するパノラマ画像合成方法であって、Ｎ枚目とＮ＋１枚目の画像の合成箇所を探索し、Ｎ枚目の画像の前記合成箇所とＮ＋１枚目の画像の前記合成箇所との類似性が所定閾値より低いためＮ枚目の画像とＮ＋１枚目の画像との間の移動量が算出できないときＮ枚目の画像より前又はＮ＋１枚目の画像より後の連続する２枚の画像から算出した前記移動量を用いてパノラマ合成を行うことを特徴とする。
【００８２】
また、実施形態のパノラマ画像合成方法の前記類似性の高低は、前記合成箇所の画像の空間周波数が閾値以上であるか否かで判断することを特徴とする。
【００８３】
また、実施形態のパノラマ画像合成方法の前記類似性の高低は、前記合成箇所の画像の特徴点の数が所定数より多いか否かで判断することを特徴とする。
【００８４】
また、実施形態のパノラマ画像合成方法は、Ｎ枚目の画像とＮ＋１枚目の画像の移動量（Ｌ）が算出できないときは、該移動量（Ｌ）として、Ｎ−１枚目の画像とＮ枚目の画像の移動量（Ｌ１）と、Ｎ＋１枚目の画像とＮ＋２枚目の画像の移動量（Ｌ２）との平均値（Ｌ＝（Ｌ１＋Ｌ２）／２）として算出することを特徴とする。
【００８５】
また、実施形態のパノラマ画像合成方法は、Ｎ−１枚目の画像とＮ枚目の画像の移動量（Ｌ）が算出できないときは、該移動量（Ｌ）を、Ｎ−２枚目の画像とＮ枚目の画像の移動距離（Ｌ２）とＮ−２枚目の画像とＮ−１枚目の画像の移動距離（Ｌ１）との差（Ｌ＝Ｌ２−Ｌ１）から算出することを特徴とする。
【００８６】
また、実施形態のパノラマ画像合成方法は、Ｎ−１枚目の画像とＮ枚目の画像の移動量（Ｌ）が算出できないときは、Ｎ−１枚目の画像とＮ枚目の画像のパノラマ合成を止め、Ｎ−２枚目の画像とＮ枚目の画像の移動距離を用いてＮ−２枚目の画像とＮ枚目の画像をパノラマ合成することを特徴とする。
【００８７】
また、実施形態のパノラマ画像合成方法は、前記類似性の低い画像を合成するときは該類似性の低い部分の前記合成箇所の画像をぼかし処理してからパノラマ合成することを特徴とする。
【００８８】
また、実施形態のパノラマ画像合成方法は、前記合成箇所に繰り返し模様が存在する場合には両画像間に共通の繰り返し模様が無い状態で算出された移動量を用いてパノラマ合成を行うことを特徴とする。
【００８９】
また、実施形態のパノラマ画像合成方法は、１枚目の画像と２枚目の画像の合成箇所の類似性が所定閾値より低いときは前回のパノラマ撮影時に算出されている移動量の平均値で代用して前記１枚目と前記２枚目の画像のパノラマ合成を行うことを特徴とする。
【００９０】
また、実施形態のパノラマ画像合成方法は、算出された前記移動量の移動量分布曲線を算出し、該移動量分布曲線から途中の移動量算出ができなかった移動量を推定してパノラマ合成を行うことを特徴とする。
【００９１】
また、実施形態のパノラマ画像合成方法は、前回のパノラマ撮影時に算出された移動量の分布曲線のデータを保持しておき、今回のパノラマ撮影時に移動量が算出できなかったときは該分布曲線から求めた移動量によりパノラマ合成を行うことを特徴とする。
【００９２】
また、実施形態のパノラマ画像合成方法の前記移動量の分布曲線のデータは撮影者別に保持して使用することを特徴とする。
【００９３】
また、実施形態のパノラマ画像合成プログラムは、上記のいずれかに記載のパノラマ画像合成方法を処理ステップ順に記載したパノラマ画像合成プログラム。
【００９４】
また、実施形態の撮像装置は、上記のパノラマ画像合成プログラムと該パノラマ画像合成プログラムを実行する制御装置を搭載したことを特徴とする。
【００９５】
以上述べた実施形態によれば、ジャイロセンサや位置センサを搭載しない撮像装置でも高精度にパノラマ画像を合成することが可能となる。
【産業上の利用可能性】
【００９６】
本発明に係る撮像装置及びパノラマ画像合成方法は、センサを用いずに高精度にパノラマ画像合成が行えるため、コンパクトなデジタルカメラ等に適用すると有用であり、また、画像データを外部のコンピュータに取り出してコンピュータ上でパノラマ合成する場合にも好適である。
【符号の説明】
【００９７】
２０  撮像装置
２１  撮影レンズ
２２  撮像素子
２５  ＣＰＵ
２５ａ  移動量メモリ
３０  デジタル信号処理部
【図１】
0005380336.tif 000002
【図２】
0005380336.tif 000003
【図３】
0005380336.tif 000004
【図４】
0005380336.tif 000005
【図５】
0005380336.tif 000006
【図６】
0005380336.tif 000007
【図７】
0005380336.tif 000008
【図８】
0005380336.tif 000009
【図９】
0005380336.tif 000010
【図１０】
0005380336.tif 000011
【図１１】
0005380336.tif 000012
【図１２】
0005380336.tif 000013
【図１３】
0005380336.tif 000014
【図１４】
0005380336.tif 000015
【図１５】
0005380336.tif 000016
【図１６】
0005380336.tif 000017
【図１７】
0005380336.tif 000018
【図１８】
0005380336.tif 000019