(57)【要約】【課題】より簡単に高品質なパノラマ画像を得ることができるようにする。【解決手段】グローバル動きベクトル算出部は、処理対象のフレームの撮像画像と、いくつかの他のフレームの撮像画像のそれぞれとの間のグローバル動きベクトルを算出する。グローバル動きベクトル評価部は、算出された複数のグローバル動きベクトルのうち、参照ベクトルとの差分が最小となるものを、処理対象のフレームの最終的なグローバル動きベクトルとする。得られたグローバル動きベクトルを用いて撮像画像を接続し、パノラマ画像を生成すれば、撮像画像の端近傍がパノラマ画像の生成に用いられなくなるので被写体の接続ずれが軽減され、高品質なパノラマ画像が得られる。本発明は、撮像装置に適用することができる。【選択図】図３
2013021589.tif 000002
【特許請求の範囲】
【請求項１】
複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とを選択する選択部と、
前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルを候補ベクトルとして算出する算出部と、
前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルを用いて前記候補ベクトルを評価し、複数の前記候補ベクトルのうちの何れかを前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択する評価部と、
前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像を合成し、パノラマ画像を生成する合成部と
を備える画像処理装置。
【請求項２】
前記選択部は、最終的な前記グローバル動きベクトルとして選択された前記候補ベクトルの前記他のフレームを新たな処理対象フレームとして、前記撮像画像を選択する
請求項１に記載の画像処理装置。
【請求項３】
前記評価部は、前記参照ベクトルとの差分が最小となる前記候補ベクトルを最終的な前記グローバル動きベクトルとして選択する
請求項２に記載の画像処理装置。
【請求項４】
前記評価部は、過去に処理対象フレームとされたフレームのうち、２番目に前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとする
請求項３に記載の画像処理装置。
【請求項５】
前記評価部は、過去に処理対象フレームとされたフレームのうち、最も前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとする
請求項３に記載の画像処理装置。
【請求項６】
前記評価部は、過去に処理対象フレームとされた所定フレームの前記撮像画像の前記グローバル動きベクトルと、その前記グローバル動きベクトルの選択に用いられた参照ベクトルとを所定の比率で合成することにより、前記処理対象フレームにおける前記参照ベクトルを算出する
請求項３に記載の画像処理装置。
【請求項７】
複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とを選択する選択部と、
前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルを候補ベクトルとして算出する算出部と、
前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルを用いて前記候補ベクトルを評価し、複数の前記候補ベクトルのうちの何れかを前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択する評価部と、
前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像を合成し、パノラマ画像を生成する合成部と
を備える画像処理装置の画像処理方法であって、
前記選択部が前記撮像画像を選択し、
前記算出部が前記候補ベクトルを算出し、
前記評価部が前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルを選択し、
前記合成部が前記パノラマ画像を生成する
ステップを含む画像処理方法。
【請求項８】
複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とを選択し、
前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルを候補ベクトルとして算出し、
前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルを用いて前記候補ベクトルを評価し、複数の前記候補ベクトルのうちの何れかを前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択し、
前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像を合成し、パノラマ画像を生成する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は画像処理装置および方法、並びにプログラムに関し、特に、より簡単に高品質なパノラマ画像を得ることができるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、撮像装置で撮像して得られた複数枚の画像を合成することで、撮像装置の画角よりも広い画角のパノラマ画像を生成する技術が知られている。
【０００３】
例えば、ビデオカメラを三脚に載せて回転させながら被写体を撮像し、その回転角に応じて画像をずらして重ね合わせ、合成することでパノラマ画像を生成するパノラマ画像生成用のビデオカメラが提案されている（例えば、特許文献１参照）。
【０００４】
また、撮像された画像間の動きベクトルを算出するとともに、得られた動きベクトルを利用して各画像の合成領域を算出し、それらの合成領域を逐次合成することで、パノラマ画像を生成する技術も提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平２−１５１１８２号公報
【特許文献２】特開平６−１２１２２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した技術では、簡単に高品質なパノラマ画像を得ることができなかった。例えば、パノラマ画像生成用のビデオカメラでは、三脚や回転角度の検出回路が必要であり、三脚を用いて画像を撮像すると、手持ちでの撮像と比べて利便性や操作性も低下してしまう。
【０００７】
また、画像上の合成領域を算出して合成する方法では、手持ちで画像を撮像する場合など、カメラの動きの変動が大きい場合には、カメラの光学中心の移動により生じる画像の視差によって合成領域の接続部分のずれ量の変動が大きくなってしまう。そうすると、得られたパノラマ画像では、接続部分における被写体のずれが目立ってしまい、パノラマ画像の品質が劣化してしまう。
【０００８】
本技術は、このような状況に鑑みてなされたものであり、より簡単に高品質なパノラマ画像を得ることができるようにするものである。
【課題を解決するための手段】
【０００９】
本技術の一側面の画像処理装置は、複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とを選択する選択部と、前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルを候補ベクトルとして算出する算出部と、前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルを用いて前記候補ベクトルを評価し、複数の前記候補ベクトルのうちの何れかを前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択する評価部と、前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像を合成し、パノラマ画像を生成する合成部とを備える。
【００１０】
前記選択部には、最終的な前記グローバル動きベクトルとして選択された前記候補ベクトルの前記他のフレームを新たな処理対象フレームとして、前記撮像画像を選択させることができる。
【００１１】
前記評価部には、前記参照ベクトルとの差分が最小となる前記候補ベクトルを最終的な前記グローバル動きベクトルとして選択させることができる。
【００１２】
前記評価部には、過去に処理対象フレームとされたフレームのうち、２番目に前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとさせることができる。
【００１３】
前記評価部には、過去に処理対象フレームとされたフレームのうち、最も前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとさせることができる。
【００１４】
前記評価部には、過去に処理対象フレームとされた所定フレームの前記撮像画像の前記グローバル動きベクトルと、その前記グローバル動きベクトルの選択に用いられた参照ベクトルとを所定の比率で合成することにより、前記処理対象フレームにおける前記参照ベクトルを算出させることができる。
【００１５】
本技術の一側面の画像処理方法またはプログラムは、複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とを選択し、前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルを候補ベクトルとして算出し、前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルを用いて前記候補ベクトルを評価し、複数の前記候補ベクトルのうちの何れかを前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択し、前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像を合成し、パノラマ画像を生成するステップを含む。
【００１６】
本技術の一側面においては、複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とが選択され、前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルが候補ベクトルとして算出され、前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルが用いられて前記候補ベクトルが評価され、複数の前記候補ベクトルのうちの何れかが前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択され、前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像が合成され、パノラマ画像が生成される。
【発明の効果】
【００１７】
本技術の一側面によれば、より簡単に高品質なパノラマ画像を得ることができる。
【図面の簡単な説明】
【００１８】
【図１】撮像装置の一実施の形態の構成例を示す図である。
【図２】パノラマ画像の生成について説明する図である。
【図３】画像処理回路の構成例を示す図である。
【図４】パノラマ画像生成処理を説明するフローチャートである。
【図５】撮像画像の選択について説明する図である。
【図６】グローバル動きベクトルについて説明する図である。
【図７】グローバル動きベクトルの評価について説明する図である。
【図８】撮像画像の接続位置の決定について説明する図である。
【図９】撮像画像の合成について説明する図である。
【図１０】パノラマ画像のトリミングについて説明する図である。
【図１１】短冊領域の決定について説明する図である。
【図１２】パノラマ画像上で生じる被写体の位置ずれについて説明する図である。
【図１３】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して、本技術を適用した実施の形態について説明する。
【００２０】
〈第１の実施の形態〉
［撮像装置の構成例］
図１は、本技術を適用した撮像装置の一実施の形態の構成例を示す図である。
【００２１】
この撮像装置１１は、大別して光学系、信号処理系、記録系、表示系、および制御系から構成される。
【００２２】
すなわち、光学系は、被写体の光画像を集光するレンズ２１、レンズ２１からの光画像の光量を調整する絞り２２、および集光された光画像を光電変換して電気信号に変換する撮像素子２３から構成される。撮像素子２３は、例えばＣＣＤ（Charge Coupled Devices）イメージセンサやCMOS（Complementary Metal Oxide Semiconductor）イメージセンサなどからなる。
【００２３】
信号処理系は、サンプリング回路２４、Ａ／Ｄ（Analog/Digital）変換回路２５、および画像処理回路２６から構成される。サンプリング回路２４は、例えば、相関２重サンプリング回路（ＣＤＳ：Correlated Double Sampling）によって実現され、撮像素子２３からの電気信号をサンプリングしてアナログ信号を生成する。これにより、撮像素子２３において発生するノイズが軽減される。サンプリング回路２４において得られるアナログ信号は、撮像された被写体の画像を表示させる画像信号である。
【００２４】
Ａ／Ｄ変換回路２５は、サンプリング回路２４から供給されるアナログ信号をデジタル信号に変換して、画像処理回路２６に供給し、画像処理回路２６は、Ａ／Ｄ変換回路２５から入力されるデジタル信号に所定の画像処理を施す。
【００２５】
また、記録系は、画像信号を符号化または復号する符号化／復号器２７と、画像信号を記録するメモリ２８とから構成される。符号化／復号器２７は、画像処理回路２６によって処理されたデジタル信号である画像信号を符号化してメモリ２８に記録させたり、メモリ２８から画像信号を読み出して復号し、画像処理回路２６に供給したりする。
【００２６】
表示系は、Ｄ／Ａ（Digital/Analog）変換回路２９、ビデオエンコーダ３０、および表示部３１から構成される。
【００２７】
Ｄ／Ａ変換回路２９は、画像処理回路２６によって処理された画像信号をアナログ化してビデオエンコーダ３０に供給し、ビデオエンコーダ３０は、Ｄ／Ａ変換回路２９からの画像信号を表示部３１に適合する形式のビデオ信号にエンコードする。表示部３１は、例えば、LCD（Liquid Crystal Display）等により実現され、ビデオエンコーダ３０におけるエンコードで得られたビデオ信号に基づいて、ビデオ信号に対応する画像を表示する。また、表示部３１は、被写体の撮像時にはファインダとしても機能する。
【００２８】
制御系は、タイミング生成部３２、操作入力部３３、ドライバ３４、および制御部３５から構成される。また、画像処理回路２６、符号化／復号器２７、メモリ２８、タイミング生成部３２、操作入力部３３、および制御部３５は、バス３６を介して相互に接続されている。
【００２９】
タイミング生成部３２は、撮像素子２３、サンプリング回路２４、Ａ／Ｄ変換回路２５、および画像処理回路２６の動作のタイミングを制御する。操作入力部３３は、ボタンやスイッチなどからなり、ユーザによるシャッタ操作やその他のコマンド入力を受け付けて、ユーザの操作に応じた信号を制御部３５に供給する。
【００３０】
ドライバ３４には所定の周辺機器が接続され、ドライバ３４は接続された周辺機器を駆動する。例えばドライバ３４は、周辺機器として接続された磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等の記録媒体からデータを読み出して制御部３５に供給する。
【００３１】
制御部３５は、撮像装置１１の全体を制御する。例えば、制御部３５は、ドライバ３４を介して、ドライバ３４に接続されている記録媒体から制御用プログラムを読み出して、制御用プログラムや操作入力部３３からのコマンド等に基づいて、撮像装置１１全体の動作を制御する。
【００３２】
次に、撮像装置１１の動作について説明する。
【００３３】
撮像装置１１では、被写体からの入射光、すなわち被写体の光画像は、レンズ２１および絞り２２を介して撮像素子２３に入射し、撮像素子２３によって光電変換されて電気信号とされる。撮像素子２３で得られた電気信号は、サンプリング回路２４によってノイズ成分が除去され、Ａ／Ｄ変換回路２５によってデジタル化された後、画像処理回路２６が内蔵する図示せぬ画像メモリに一時的に格納される。
【００３４】
なお、通常の状態、つまりシャッタ操作がされる前の状態では、タイミング生成部３２による信号処理系に対するタイミングの制御により、画像処理回路２６の画像メモリには、一定のフレームレートで、絶えずＡ／Ｄ変換回路２５からの画像信号が上書きされるようになされている。画像処理回路２６の画像メモリ内の画像信号は、Ｄ／Ａ変換回路２９によってデジタル信号からアナログ信号に変換され、ビデオエンコーダ３０によってビデオ信号に変換されて、ビデオ信号に対応する画像が表示部３１に表示される。
【００３５】
この場合において、表示部３１は、撮像装置１１のファインダとしての機能も担っており、ユーザは、表示部３１に表示される画像を見ながら構図を定め、操作入力部３３としてのシャッタボタンを押下して、画像の撮像を指示する。シャッタボタンが押下されると、制御部３５は、操作入力部３３からの信号に基づいて、タイミング生成部３２に対し、シャッタボタンが押下された直後の画像信号が保持されるように指示する。これにより、画像処理回路２６の画像メモリに画像信号が上書きされないように、信号処理系が制御される。
【００３６】
そして、その後、画像処理回路２６の画像メモリに保持されている画像信号が、符号化／復号器２７によって符号化されてメモリ２８に記録される。以上のような撮像装置１１の動作によって、１枚の画像信号の取込みが完了する。
【００３７】
［パノラマ画像について］
また、ユーザが撮像装置１１を所定方向（以下、スイープ軸方向と称する）に回動させながら、撮像装置１１に複数枚の画像（以下、撮像画像と称する）を撮像させ、それらの撮像画像を合成させることで、パノラマ画像を生成させることができる。
【００３８】
例えば図２に示すように、ｎ枚の撮像画像ＦＰ（１）乃至撮像画像ＦＰ（ｎ）が撮像されると、それらの撮像画像間のグローバル動きベクトルが算出される。
【００３９】
そして、グローバル動きベクトルに基づいて、パノラマ画像の生成に用いられる撮像画像上の短冊領域ＲＥ（１）乃至短冊領域ＲＥ（ｎ）が定められ、これらの短冊領域ＲＥ（１）乃至短冊領域ＲＥ（ｎ）を並べて合成することで、１つのパノラマ画像ＰＬ１１が生成される。
【００４０】
［画像処理回路の構成］
このように、撮像画像に基づいてパノラマ画像が生成される場合、図１の画像処理回路２６は、より詳細には図３に示すように構成される。
【００４１】
すなわち、画像処理回路２６は、撮像画像保持部６１、画像選択部６２、グローバル動きベクトル算出部６３、グローバル動きベクトル評価部６４、グローバル動きベクトル保持部６５、短冊領域決定部６６、および短冊領域合成部６７から構成される。
【００４２】
撮像画像保持部６１には、撮像装置１１により撮像された撮像画像が供給され、撮像画像保持部６１は、供給された複数の撮像画像を保持する。撮像画像保持部６１に供給される撮像画像は、撮像装置１１がスイープ軸方向に移動（スイープ）している状態で連続して撮像された画像であり、撮像画像の撮像時には、連続して撮像される２つの撮像画像上に同じ被写体が含まれるように、撮像装置１１が移動される。
【００４３】
なお、以下、連続して撮像された撮像画像のうち、ｔ番目に撮像された撮像画像をフレームｔの撮像画像とも称することとする。
【００４４】
画像選択部６２は、グローバル動きベクトル評価部６４からの指示に応じて、撮像画像保持部６１に保持されている撮像画像を取得し、グローバル動きベクトル算出部６３に供給する。グローバル動きベクトル算出部６３は、画像選択部６２から供給された撮像画像に基づいて、撮像画像のグローバル動きベクトルを算出し、グローバル動きベクトル評価部６４に供給する。
【００４５】
ここで、撮像画像のグローバル動きベクトルは、撮像画像全体の動きベクトルであり、同じ被写体が重なるように２つの撮像画像を重ね合わせたときの撮像画像の位置関係を示している。換言すれば、グローバル動きベクトルは、撮像画像の撮像時における背景などの動きのない被写体に対する撮像装置１１の動きを示しているということができる。
【００４６】
グローバル動きベクトル評価部６４は、グローバル動きベクトル保持部６５に保持されている過去のフレームの撮像画像のグローバル動きベクトルに基づいて、グローバル動きベクトル算出部６３から供給されたグローバル動きベクトルを評価する。また、グローバル動きベクトル評価部６４は、グローバル動きベクトルの評価の結果に応じて、画像選択部６２に撮像画像の取得を指示したり、算出されたグローバル動きベクトルをグローバル動きベクトル保持部６５に供給したりする。
【００４７】
グローバル動きベクトル保持部６５は、グローバル動きベクトル評価部６４から供給されたグローバル動きベクトルを保持するとともに、グローバル動きベクトルを短冊領域決定部６６に供給する。短冊領域決定部６６は、グローバル動きベクトル保持部６５から供給されたグローバル動きベクトルに基づいて、撮像画像上の短冊領域を決定し、短冊領域の端の位置（以下、接続位置とも称する）を示す情報を短冊領域合成部６７に供給する。
【００４８】
短冊領域合成部６７は、短冊領域決定部６６から供給された短冊領域の接続位置を示す情報に基づいて、撮像画像保持部６１から供給された撮像画像を接続してパノラマ画像を生成し、出力する。
【００４９】
［パノラマ画像生成処理の説明］
ところで、ユーザが操作入力部３３を操作して、パノラマ画像の生成を指示すると、撮像装置１１は、撮像画像を撮像してパノラマ画像を生成するパノラマ画像生成処理を開始する。以下、図４のフローチャートを参照して、撮像装置１１によるパノラマ画像生成処理について説明する。
【００５０】
ステップＳ１１において、撮像装置１１は、撮像画像の撮像を開始する。すなわち、処理が開始されると、例えば、ユーザは撮像装置１１を所定方向に回動させながら、複数枚の撮像画像を連続して撮像装置１１に撮像させる。
【００５１】
被写体からの光はレンズ２１および絞り２２を介して撮像素子２３に入射するので、撮像素子２３は入射した光を光電変換することにより、撮像画像を撮像する。得られた撮像画像（画像信号）は、撮像素子２３から、サンプリング回路２４乃至符号化／復号器２７を介してメモリ２８に供給され、記録される。このとき、撮像画像は符号化／復号器２７により符号化される。また、メモリ２８への記録時において、各撮像画像には撮像順にフレーム番号が付される。
【００５２】
複数の撮像画像がメモリ２８に順次記録されると、それらの撮像画像は、符号化／復号器２７によりメモリ２８から読み出されて復号され、画像処理回路２６の撮像画像保持部６１に供給されて保持される。
【００５３】
なお、撮像により得られた撮像画像が、メモリ２８に記録されずに、直接、撮像画像保持部６１に供給されるようにしてもよい。また、撮像画像は、撮像された１つの静止画像であってもよいし、撮影された動画像を構成する１フレーム分の画像であってもよい。
【００５４】
ステップＳ１２において、画像選択部６２は、グローバル動きベクトル評価部６４からの指示に応じて、処理対象となる撮像画像のフレームを決定するとともに、処理対象のフレームのグローバル動きベクトルの算出に用いる撮像画像を選択する。
【００５５】
例えば、図５に示すように、フレーム（ｔ−１）の撮像画像ＦＰ（ｔ−１）と、フレームｔの撮像画像ＦＰ（ｔ）との間のグローバル動きベクトルMV(t-1,t)が、撮像画像ＦＰ（ｔ−１）のグローバル動きベクトルGMV(t-1)として算出されたとする。
【００５６】
そのような場合、グローバル動きベクトルGMV(t-1)の算出に用いられた撮像画像ＦＰ（ｔ）のフレームｔが次の処理対象のフレームとして選択され、処理対象のフレームｔのグローバル動きベクトルGMV(t)を算出する処理が行われる。
【００５７】
具体的には、まず処理対象のフレームｔの撮像画像ＦＰ（ｔ）と、フレームｔの次のフレーム（ｔ＋１）の撮像画像ＦＰ（ｔ＋１）とが画像選択部６２により選択され、それらの撮像画像間のグローバル動きベクトルMV(t,t+1)が算出される。
【００５８】
その後、グローバル動きベクトルMV(t,t+1)が所定の条件を満たすか否かが評価され、条件が満たされなかった場合、処理対象のフレームｔの撮像画像ＦＰ（ｔ）と、フレーム（ｔ＋１）の次のフレーム（ｔ＋２）の撮像画像ＦＰ（ｔ＋２）とが選択される。
【００５９】
そして、選択された撮像画像ＦＰ（ｔ）と撮像画像ＦＰ（ｔ＋２）の間のグローバル動きベクトルMV(t,t+2)が算出されて、その評価が行なわれる。図５の例では、グローバル動きベクトルMV(t,t+2)も条件が満たされていないので、処理対象のフレームｔの撮像画像ＦＰ（ｔ）と、フレーム（ｔ＋２）の次のフレーム（ｔ＋３）の撮像画像ＦＰ（ｔ＋３）との間のグローバル動きベクトルMV(t,t+3)が算出されている。
【００６０】
このようにして、画像処理回路２６では、予め定められた条件を満たすグローバル動きベクトルが得られるまで、処理対象のフレームと、そのフレームよりも後のフレームとの撮像画像間のグローバル動きベクトルが順番に算出されていく。
【００６１】
したがって例えば、画像選択部６２は、グローバル動きベクトル評価部６４から、グローバル動きベクトルMV(t,t+1)が条件を満たさなかった旨の情報が供給されると、ステップＳ１２において撮像画像ＦＰ（ｔ）と撮像画像ＦＰ（ｔ＋２）を選択する。そして、画像選択部６２は、選択した撮像画像を撮像画像保持部６１から取得して、グローバル動きベクトル算出部６３に供給する。
【００６２】
図４のフローチャートの説明に戻り、撮像画像が選択されると、処理はステップＳ１２からステップＳ１３へと進む。
【００６３】
ステップＳ１３において、グローバル動きベクトル算出部６３は、画像選択部６２から供給された２つの撮像画像に基づいて、それらの撮像画像間のグローバル動きベクトルを算出し、グローバル動きベクトル評価部６４に供給する。
【００６４】
例えば、グローバル動きベクトルの算出方法としては、主に次の３つの手法が知られている。
【００６５】
すなわち、第１の手法として、特徴点ベースでのグローバル動きベクトル推定手法が知られている。この手法では、２つ撮像画像のそれぞれについて、特徴点が算出される。
【００６６】
例えば、代表的な特徴点としてはSIFT(Scale Invariant Feature Transform)やSURF(Speeded Up Robust Features)などが知られており、これらは被写体の拡大縮小、回転等に頑強な特徴を持つ。
【００６７】
次に撮像画像上の特徴点の対応付けが行なわれる。例えば、特徴点の対応付けを行なう場合に、RANSAC(Random Sample Consensus)などのロバスト推定を行えば、動被写体などのアウトライヤの除去が、ある程度可能となる。そして、撮像画像間の特徴点の対応付けが確定すると、それらの対応付け結果が利用されて、撮像画像間のグローバル動きベクトルが算出される。
【００６８】
また、第２の手法として、ブロックマッチングベースでのグローバル動きベクトル推定手法がある。この手法では、一方の撮像画像が複数のブロックに分割され、各ブロックについて、他方の撮像画像から、それらのブロックと一致する領域が探索される。
【００６９】
すなわち、一方の撮像画像のブロックに対して、他方の撮像画像上のそのブロックと同じ位置を中心とする探索領域が定められる。そして、探索領域内の各領域のうち、ブロック内の画素の画素値との差分絶対値の総和など、ブロック同士の差分が最小となる領域を探索することで、ブロックの動きベクトルが求められる。さらに、そのようにして求められた各ブロックの動きベクトルから、撮像画像間のグローバル動きベクトルが求められる。
【００７０】
また、第３の手法として、積分射影法によるグローバル動きベクトル推定手法がある。この手法では、撮像画像の局所特徴量が所定の軸に射影され、撮像画像ごとに射影された一次元情報（局所特徴量）が利用されて、撮像画像間のグローバル動きベクトルが算出される。
【００７１】
具体的には、軸上の同じ位置に射影された局所特徴量の和が射影積分値として求められ、軸上の各位置の射影積分値を要素とする射影特徴ベクトルが算出される。そして、２つの撮像画像のそれぞれについて求められた射影特徴ベクトルのマッチングが行なわれて、撮像画像のグローバル動きベクトルが算出される。
【００７２】
上述した各手法等による演算が行なわれると、例えば図６に示すグローバル動きベクトルが得られる。なお、図６において、横方向および縦方向は、撮像画像の水平方向（以下、ｘ方向とも称する）および垂直方向（以下、ｙ方向とも称する）を示している。ここで、ｘ方向は、撮像画像の撮像時におけるスイープ軸方向と平行な方向である。
【００７３】
図６の例では、フレームｔの撮像画像ＦＰ（ｔ）とフレーム（ｔ＋１）の撮像画像ＦＰ（ｔ＋１）の同じ被写体が重なるように、それらの画像が並べられている。また、撮像画像ＦＰ（ｔ＋１）の左上の頂点を始点とし、撮像画像ＦＰ（ｔ）の左上の頂点を終点とするベクトルMV(t,t+1)がグローバル動きベクトルとされている。
【００７４】
このグローバル動きベクトルMV(t,t+1)は、撮像画像ＦＰ（ｔ）の最終的なグローバル動きベクトルGMV(t)の候補となるベクトルであり、撮像画像ＦＰ（ｔ）と撮像画像ＦＰ（ｔ＋１）の相対的な位置関係を示している。
【００７５】
図４のフローチャートの説明に戻り、ステップＳ１４において、グローバル動きベクトル評価部６４は、グローバル動きベクトル保持部６５に保持されている過去のフレームの撮像画像のグローバル動きベクトルに基づいて、グローバル動きベクトル算出部６３から供給されたグローバル動きベクトルの評価を行なう。
【００７６】
例えば、処理対象のフレームｔのグローバル動きベクトルGMV(t)を求めるために、フレームｔの撮像画像ＦＰ（ｔ）と、フレーム（ｔ＋ｊ）の撮像画像ＦＰ（ｔ＋ｊ）の間のグローバル動きベクトルMV(t,t+j)の評価が行なわれるとする。
【００７７】
この場合、グローバル動きベクトル評価部６４は、現在処理対象となっているフレームｔよりも２つ前の処理対象のフレームの撮像画像のグローバル動きベクトルをグローバル動きベクトル保持部６５から取得する。ここで、２つ前の処理対象のフレームとは、過去に処理対象とされたフレームのうち、現在処理対象となっているフレームｔに２番目に近い時刻のフレームである。例えば、過去のフレーム（ｔ−２）の撮像画像ＦＰ（ｔ−２）のグローバル動きベクトルGMV(t-2)が取得される。
【００７８】
なお、以下、グローバル動きベクトルの評価に用いられる過去のフレームのグローバル動きベクトルを参照ベクトルとも称することとする。
【００７９】
次に、グローバル動きベクトル評価部６４は、取得した参照ベクトルとグローバル動きベクトルMV(t,t+j)との差分ｄ（ｔ＋ｊ）を、グローバル動きベクトルの評価値として算出する。そして、グローバル動きベクトル評価部６４は、得られた評価値、つまり差分ｄ（ｔ＋ｊ）が予め定められた条件｜ｄ（ｔ＋１）｜＜｜ｄ（ｔ＋ｊ）｜を満足するか否かを判定することで、グローバル動きベクトルを評価する。
【００８０】
なお、ｄ（ｔ＋１）は、参照ベクトルであるグローバル動きベクトルGMV(t-2)と、グローバル動きベクトルMV(t,t+1)との差分である。
【００８１】
ステップＳ１５において、グローバル動きベクトル評価部６４は、ステップＳ１３の処理で算出されたグローバル動きベクトルについて求められた評価値が、所定の条件｜ｄ（ｔ＋１）｜＜｜ｄ（ｔ＋ｊ）｜を満足するか否かを判定する。
【００８２】
ステップＳ１５において、グローバル動きベクトルの評価値が所定の条件を満足しないと判定された場合、グローバル動きベクトル評価部６４は、評価値が条件を満足しない旨の情報を画像選択部６２に供給する。そして、その後、処理はステップＳ１２に戻り、上述した処理が繰り返される。すなわち、次のフレームの撮像画像が選択されて、選択されたフレームの撮像画像と、処理対象のフレームの撮像画像とのグローバル動きベクトルが算出され、その評価が行なわれる。
【００８３】
これに対して、ステップＳ１５において、グローバル動きベクトルの評価値が所定の条件を満足すると判定された場合、処理はステップＳ１６へと進む。
【００８４】
ステップＳ１６において、グローバル動きベクトル評価部６４は、各グローバル動きベクトルの評価値に基づいて、処理対象のフレームの最終的なグローバル動きベクトルを選択し、選択したグローバル動きベクトルをグローバル動きベクトル保持部６５に供給する。
【００８５】
例えば図７に示すように、処理対象のフレームがフレームｔであり、参照ベクトルがフレーム（ｔ−２）の撮像画像ＦＰ（ｔ−２）のグローバル動きベクトルGMV(t-2)であったとする。そのような場合、フレームｔと各フレーム（ｔ＋ｊ）（但し、１≦ｊ）の撮像画像間のグローバル動きベクトルMV(t,t+j)のうちの何れかが、フレームｔの撮像画像ＦＰ（ｔ）の最終的なグローバル動きベクトルGMV(t)として選択される。
【００８６】
なお、図７において、横軸は撮像画像のフレーム番号を示しており、縦軸は撮像画像間のグローバル動きベクトルの大きさを示している。また、図中、各円は、１つのグローバル動きベクトルMV(t,t+j)（但し、ｊ＝１,２,３）を表しており、図中、横方向の点線は、グローバル動きベクトルGMV(t-2)の大きさを示している。
【００８７】
例えば、図７の左側の例では、まずフレームｔとフレーム（ｔ＋１）の撮像画像間のグローバル動きベクトルMV(t,t+1)と、参照ベクトルとの差分ｄ（ｔ＋１）が算出される。ここで、グローバル動きベクトルMV(t,t+1)を表す円から点線までの図中、縦方向の長さが差分ｄ（ｔ＋１）の大きさとなる。
【００８８】
次に、フレームｔとフレーム（ｔ＋２）の撮像画像間のグローバル動きベクトルMV(t,t+2)と、参照ベクトルとの差分ｄ（ｔ＋２）が算出される。この例では、差分ｄ（ｔ＋２）の絶対値は、差分ｄ（ｔ＋１）の絶対値よりも小さいので、条件｜ｄ（ｔ＋１）｜＜｜ｄ（ｔ＋２）｜は満たされない。
【００８９】
そこで、さらにフレームｔとフレーム（ｔ＋３）の撮像画像間のグローバル動きベクトルMV(t,t+3)が算出され、グローバル動きベクトルMV(t,t+3)と参照ベクトルの差分ｄ（ｔ＋３）が算出される。すると、差分ｄ（ｔ＋３）の絶対値は、差分ｄ（ｔ＋１）の絶対値よりも大きいので、条件｜ｄ（ｔ＋１）｜＜｜ｄ（ｔ＋３）｜が満たされることになる。
【００９０】
すると、グローバル動きベクトル評価部６４は、これまでに算出されたフレームｔについてのグローバル動きベクトルMV(t,t+1)乃至グローバル動きベクトルMV(t,t+3)のうち、最も差分ｄ（ｔ＋ｊ）の絶対値が小さいものを、グローバル動きベクトルGMV(t)として選択する。
【００９１】
図７の左側の例では、差分が最小であるグローバル動きベクトルMV(t,t+2)がグローバル動きベクトルGMV(t)として選択され、グローバル動きベクトル保持部６５に保持される。そして、次回の処理、つまり次に行われるステップＳ１２の処理では、フレーム（ｔ＋２）が新たな処理対象のフレームとされる。
【００９２】
また、例えば図中、右側に示す例では、まずフレームｔおよびフレーム（ｔ＋１）の撮像画像間のグローバル動きベクトルMV(t,t+1)と、参照ベクトルとの差分ｄ（ｔ＋１）が算出される。そして、次にフレームｔおよびフレーム（ｔ＋２）の撮像画像間のグローバル動きベクトルMV(t,t+2)と、参照ベクトルとの差分ｄ（ｔ＋２）が算出される。
【００９３】
この例では、差分ｄ（ｔ＋２）の絶対値は、差分ｄ（ｔ＋１）の絶対値よりも大きく、条件｜ｄ（ｔ＋１）｜＜｜ｄ（ｔ＋２）｜が満たされるので、グローバル動きベクトルMV(t,t+1)とグローバル動きベクトルMV(t,t+2)から、グローバル動きベクトルGMV(t)が選択される。ここでは、より差分が小さいグローバル動きベクトルMV(t,t+1)が、フレームｔの撮像画像ＦＰ（ｔ）のグローバル動きベクトルGMV(t)として選択され、次回の処理では、フレーム（ｔ＋１）が処理対象のフレームとされる。
【００９４】
このように、参照ベクトルとの差分が最も小さいグローバル動きベクトルを、処理対象のフレームの撮像画像のグローバル動きベクトルとして選択すれば、各フレームのグローバル動きベクトルは、ほぼ同じ大きさのベクトルとなる。
【００９５】
したがって、最終的なグローバル動きベクトルGMV(t)（但し、１≦ｔ）が算出された撮像画像ＦＰ（ｔ）のみを用いてパノラマ画像を生成すれば、各短冊領域の幅を均一にすることができる。
【００９６】
図４のフローチャートの説明に戻り、グローバル動きベクトル評価部６４は、グローバル動きベクトルを選択すると、選択したグローバル動きベクトルをグローバル動きベクトル保持部６５に供給して保持させる。また、グローバル動きベクトル評価部６４は、グローバル動きベクトルの選択結果に応じて、次に処理対象とすべきフレームを示す情報を画像選択部６２に供給する。
【００９７】
ステップＳ１７において、画像処理回路２６は、全てのフレームの撮像画像について、処理を行なったか否かを判定する。例えば、全フレームの撮像画像を対象として、処理対象のフレームを決定し、そのフレームのグローバル動きベクトルを算出する処理が行われた場合、全てのフレームについて処理を行なったと判定される。
【００９８】
ステップＳ１７において、まだ全てのフレームについて処理を行なっていないと判定された場合、処理はステップＳ１２に戻り、上述した処理が繰り返される。すなわち、次に処理対象とされるフレームが決定されて、処理対象のフレームの撮像画像のグローバル動きベクトルが算出される。
【００９９】
これに対して、ステップＳ１７において、全てのフレームについて処理を行なったと判定された場合、ステップＳ１８において、短冊領域決定部６６は、グローバル動きベクトル保持部６５からグローバル動きベクトルを取得して、撮像画像上の短冊領域を定める。
【０１００】
なお、ステップＳ１８では、グローバル動きベクトルGMV(t)が算出されたフレームの撮像画像のみが処理対象とされる。つまり、ステップＳ１２の処理で処理対象とされなかったフレームの撮像画像は、パノラマ画像の生成には用いられない。短冊領域決定部６６は、撮像画像の短冊領域を定めると、各短冊領域の接続位置を示す情報を短冊領域合成部６７に供給する。
【０１０１】
例えば、短冊領域決定部６６は図８に示すように、撮像時刻の古い順（フレーム番号の小さい順）に撮像画像上の短冊領域の接続位置、つまり撮像画像同士の接続位置を定めていく。なお、図８において、横方向はスイープ軸方向を示している。
【０１０２】
図８では、３つの連続するフレーム（ｔ−１）乃至フレーム（ｔ＋１）の撮像画像ＦＰ（ｔ−１）乃至撮像画像ＦＰ（ｔ＋１）のそれぞれが、グローバル動きベクトルに基づいてスイープ軸方向に並べられている。撮像画像ＦＰ（ｔ−１）乃至撮像画像ＦＰ（ｔ＋１）のうち、最もフレーム番号が小さいものは撮像画像ＦＰ（ｔ−１）であるから、短冊領域決定部６６は、まず撮像画像ＦＰ（ｔ−１）と撮像画像ＦＰ（ｔ）との接続位置を定める。
【０１０３】
すなわち、図中、上側に示すように、短冊領域決定部６６は、互いに隣接する撮像画像ＦＰ（ｔ−１）と撮像画像ＦＰ（ｔ）との互いに重なる、スイープ軸上の位置Ｉ０（ｔ）から位置Ｉ１（ｔ−１）までの範囲を探索範囲として接続位置を定める。ここで、位置Ｉ０（ｔ）および位置Ｉ１（ｔ−１）は、それぞれ撮像画像ＦＰ（ｔ）の図中、左側の端の位置、および撮像画像ＦＰ（ｔ−１）の図中、右側の端の位置である。
【０１０４】
例えば、短冊領域決定部６６は、撮像画像ＦＰ（ｔ−１）の図中、左側の端の位置Ｉ０（ｔ−１）と、撮像画像ＦＰ（ｔ）の図中、右側の端の位置Ｉ１（ｔ）との中間の位置Ｓ（ｔ−１，ｔ）を、撮像画像ＦＰ（ｔ−１）と撮像画像ＦＰ（ｔ）の接続位置とする。つまり、位置Ｓ（ｔ−１，ｔ）は、撮像画像ＦＰ（ｔ−１）の短冊領域の図中、右側の端の位置であり、かつ撮像画像ＦＰ（ｔ）の短冊領域の図中、左側の端の位置である。なお、以下、位置Ｓ（ｔ−１，ｔ）を接続位置Ｓ（ｔ−１，ｔ）と称する。
【０１０５】
次に、短冊領域決定部６６は、図中、中央に示すように撮像画像ＦＰ（ｔ）と撮像画像ＦＰ（ｔ＋１）との接続位置Ｓ（ｔ，ｔ＋１）を定める。
【０１０６】
ここで、撮像画像ＦＰ（ｔ）と撮像画像ＦＰ（ｔ＋１）が互いに重なる領域の図中、左側の端、つまり撮像画像ＦＰ（ｔ＋１）の左端の位置Ｉ０（ｔ＋１）は、撮像画像ＦＰ（ｔ−１）と撮像画像ＦＰ（ｔ）の接続位置Ｓ（ｔ−１，ｔ）よりも図中、左側に位置している。撮像画像ＦＰ（ｔ）と撮像画像ＦＰ（ｔ＋１）の接続位置は、撮像画像ＦＰ（ｔ−１）と撮像画像ＦＰ（ｔ）の接続位置よりも図中、右側に位置すべきであるから、接続位置Ｓ（ｔ−１，ｔ）よりも左側の領域は、接続位置Ｓ（ｔ，ｔ＋１）の探索範囲から除外されるべきである。
【０１０７】
そこで、短冊領域決定部６６は、スイープ軸上の接続位置Ｓ（ｔ−１，ｔ）から、撮像画像ＦＰ（ｔ）の図中、右端の位置Ｉ１（ｔ）までの範囲を探索範囲として接続位置Ｓ（ｔ，ｔ＋１）を定める。例えば、短冊領域決定部６６は、撮像画像ＦＰ（ｔ）の図中、左側の端の位置Ｉ０（ｔ）と、撮像画像ＦＰ（ｔ＋１）の図中、右側の端の位置Ｉ１（ｔ＋１）との中間の位置を接続位置Ｓ（ｔ，ｔ＋１）とする。
【０１０８】
このようにして各フレームの撮像画像を接続するための接続位置が定められると、図中、下側に示すように、後段の短冊領域合成部６７において、接続位置により定まる撮像画像上の短冊領域が互いに接続されてパノラマ画像とされる。なお、図中、下側において、撮像画像ＦＰ（ｔ−１）乃至撮像画像ＦＰ（ｔ＋１）の斜線部分は、短冊領域を示している。
【０１０９】
例えば、撮像画像ＦＰ（ｔ）の短冊領域は、撮像画像ＦＰ（ｔ）におけるスイープ軸方向の位置が、接続位置Ｓ（ｔ−１，ｔ）から接続位置Ｓ（ｔ，ｔ＋１）までの領域とされる。このように、各撮像画像の隣接する他の撮像画像との接続位置を順次、定めていくことにより、各撮像画像の短冊領域を順次決定することができる。
【０１１０】
なお、ここでは時系列順に撮像画像の接続位置を決定する方法について説明したが、他の基準で決定した順番で、各撮像画像の接続位置を逐次決定するようにしてもよい。
【０１１１】
図４のフローチャートの説明に戻り、各撮像画像の短冊領域が定められると、処理はステップＳ１８からステップＳ１９へと進む。
【０１１２】
ステップＳ１９において、短冊領域合成部６７は、短冊領域決定部６６から供給された各短冊領域の接続位置を示す情報と、撮像画像保持部６１から供給された撮像画像とに基づいてパノラマ画像を生成し、出力する。例えば、各撮像画像上の短冊領域が合成され、１つのパノラマ画像とされる。換言すれば、各撮像画像が接続位置で互いに接続され、パノラマ画像とされる。
【０１１３】
より詳細には、短冊領域合成部６７は、撮像画像の短冊領域を合成するにあたり、短冊領域の端近傍の部分については、隣接する２つの撮像画像の短冊領域を重み付き加算することにより、パノラマ画像を生成する。
【０１１４】
例えば、図９に示すように、隣接するフレームの撮像画像の短冊領域は、その端部分が互いに重なりを持つように定められる。なお、図９において横方向はスイープ軸方向を示しており、図９においては３つの連続するフレームの撮像画像ＦＰ（ｔ−１）乃至撮像画像ＦＰ（ｔ＋１）が、スイープ軸方向に並べられている。
【０１１５】
図中、上側に示すように、撮像画像ＦＰ（ｔ−１）の短冊領域ＲＥ（ｔ−１）の図中、右端は、撮像画像ＦＰ（ｔ）との接続位置Ｓ（ｔ−１，ｔ）よりもやや右側に位置している。また、撮像画像ＦＰ（ｔ）の短冊領域ＲＥ（ｔ）の図中、左端も撮像画像ＦＰ（ｔ−１）との接続位置Ｓ（ｔ−１，ｔ）よりもやや左側に位置しており、短冊領域ＲＥ（ｔ−１）と短冊領域ＲＥ（ｔ）は、端近傍の領域が互いに重なっている。
【０１１６】
そして、短冊領域ＲＥ（ｔ−１）と短冊領域ＲＥ（ｔ）とが接続される場合には、スイープ軸方向における、短冊領域ＲＥ（ｔ）の左端の位置から、短冊領域ＲＥ（ｔ−１）の右端の位置までの範囲では、短冊領域ＲＥ（ｔ−１）と短冊領域ＲＥ（ｔ）の同じ位置の画素の画素値が重み付き加算される。
【０１１７】
同様に、短冊領域ＲＥ（ｔ）と短冊領域ＲＥ（ｔ＋１）とは、接続位置Ｓ（ｔ，ｔ＋１）近傍において互いに重なっており、短冊領域ＲＥ（ｔ）と短冊領域ＲＥ（ｔ＋１）の接続時においても、それらの重なる部分では、画素値の重み付き加算が行われる。
【０１１８】
短冊領域の重み付き加算では、図中、下側に示すように、スイープ軸方向の各位置によって重み付き加算の重みが変化する。図９の下側において、折れ線ＯＭは、撮像画像ＦＰ（ｔ−１）（短冊領域ＲＥ（ｔ−１））の画素に乗算される重みの大きさを示している。
【０１１９】
すなわち、短冊領域ＲＥ（ｔ−１）における、図中、左端から、短冊領域ＲＥ（ｔ）の左端の位置までの重みの大きさは「１」とされている。これは、短冊領域ＲＥ（ｔ−１）における、短冊領域ＲＥ（ｔ−１）の左端から、短冊領域ＲＥ（ｔ）の左端の位置までの領域は、短冊領域ＲＥ（ｔ−１）がそのままパノラマ画像とされるからである。
【０１２０】
また、短冊領域ＲＥ（ｔ−１）における、短冊領域ＲＥ（ｔ）の左端から、短冊領域ＲＥ（ｔ−１）の右端の位置までの短冊領域ＲＥ（ｔ−１）の重みの大きさは、その位置が図中、右方向に行くにしたがって小さくなり、短冊領域ＲＥ（ｔ−１）の右端の位置では、重みの大きさは「０」となっている。
【０１２１】
短冊領域ＲＥ（ｔ−１）と短冊領域ＲＥ（ｔ）が重なる部分では、接続位置Ｓ（ｔ−１，ｔ）から、短冊領域ＲＥ（ｔ）の左端により近くなるにしたがって、短冊領域ＲＥ（ｔ−１）のパノラマ画像の生成に対する寄与率がより高くなる。逆に、接続位置Ｓ（ｔ−１，ｔ）から、短冊領域ＲＥ（ｔ−１）の右端により近くなるにしたがって、短冊領域ＲＥ（ｔ）のパノラマ画像の生成に対する寄与率がより高くなる。
【０１２２】
さらに、撮像画像ＦＰ（ｔ−１）における、図中、短冊領域ＲＥ（ｔ−１）の右端よりも右側の位置では、撮像画像は、パノラマ画像の生成には用いられないので、重みの大きさは「０」とされている。
【０１２３】
このように、短冊領域の端近傍については、２つの隣接する短冊領域を用いてパノラマ画像を生成し、その他の部分では１つの短冊領域をそのままパノラマ画像とすることで、撮像画像の重ね合わせによるパノラマ画像のぼけの発生を抑制することができる。
【０１２４】
また、短冊領域の端部分を位置により合成比率を変化させて、つまり重みに傾斜をつけて重み付き加算することで、より高品質なパノラマ画像を得ることができる。すなわち、接続される２つの短冊領域の互いに重なる部分において、被写体の位置にずれがあったり、画素の色が異なったりする場合であっても、重み付き加算によりスムージング効果が得られる。これにより、被写体の一部が欠損したり、パノラマ画像に色のむらが生じたりすることを抑制することができ、より自然なパノラマ画像を得ることができる。
【０１２５】
短冊領域合成部６７は、このようにして撮像画像の短冊領域を接続し、１つのパノラマ画像を生成する。なお、トリミングが行われるようにし、接続された短冊領域からなる１つの画像の一部の領域がパノラマ画像とされてもよい。
【０１２６】
例えば、ユーザが撮像装置１１を手で持って、撮像装置１１をスイープさせながら撮像画像を撮像させると、スープ軸方向と異なる方向の動きの成分を０とすることは困難である。そのため、例えば図１０に示すように、連続して撮像された撮像画像上の短冊領域ＲＥ１１乃至短冊領域ＲＥ１７は、図中、上下方向にばらつくことがある。
【０１２７】
なお、図１０において、図中、横方向はｘ方向（スイープ軸方向）を示しており、縦方向は、ｙ方向を示している。
【０１２８】
図１０の例では、スイープ軸は、各撮像画像の長手方向、つまりｘ方向と平行となっている。また、図１０では、短冊領域ＲＥ１１乃至短冊領域ＲＥ１７の図中、上下方向の位置、つまりスイープ軸と垂直な方向の位置が、撮像画像ごとに異なっている。
【０１２９】
そのため、各撮像画像の短冊領域を接続して得られる１つの画像は、矩形状とはならなくなる。そこで、短冊領域合成部６７は、短冊領域ＲＥ１１乃至短冊領域ＲＥ１７を接続して得られる画像全体の領域に内接する、最も大きい矩形領域ＰＬ２１を切り出して、パノラマ画像とする。このとき、矩形領域ＰＬ２１の長辺は、スイープ軸と平行になるようにされる。このように、トリミングを行うことにより、見映えのよい矩形状のパノラマ画像を得ることができる。
【０１３０】
図４のフローチャートの説明に戻り、パノラマ画像が生成されて出力されると、パノラマ画像生成処理は終了する。
【０１３１】
以上のようにして、撮像装置１１は、撮像画像のグローバル動きベクトルを算出し、得られたグローバル動きベクトルを用いて撮像画像から短冊領域を切り出して、パノラマ画像を生成する。
【０１３２】
撮像装置１１では、グローバル動きベクトルGMV(t)が略均一となるように撮像画像を選択し、選択した撮像画像のみを用いてパノラマ画像を生成するようにしたので、簡単な処理で短冊領域の接続位置近傍の被写体のずれを低減させ、高品質なパノラマ画像を得ることができる。
【０１３３】
例えば、図１１に示すように、連続する３つのフレーム（ｔ−１）乃至フレーム（ｔ＋１）の撮像画像ＦＰ（ｔ−１）乃至撮像画像ＦＰ（ｔ＋１）について、グローバル動きベクトルが算出されたとする。なお、図１１において、横方向はスイープ軸方向を示している。
【０１３４】
図１１では、撮像画像ＦＰ（ｔ−１）のグローバル動きベクトルGMV(t-1)と、撮像画像ＦＰ（ｔ）のグローバル動きベクトルGMV(t)に基づいて、同じ被写体の領域が重なるように撮像画像ＦＰ（ｔ−１）乃至撮像画像ＦＰ（ｔ＋１）がスイープ軸方向に並べられている。また、撮像画像ＦＰ（ｔ）上の斜線が施された領域ＲＥ（ｔ）（以下、短冊領域ＲＥ（ｔ）と称する）は、短冊領域を示している。
【０１３５】
ここで、短冊領域ＲＥ（ｔ）の図中、左側の端の位置は、撮像画像ＦＰ（ｔ−１）の左端の位置と、撮像画像ＦＰ（ｔ）の右端の位置との中点の位置、つまり撮像画像ＦＰ（ｔ−１）と撮像画像ＦＰ（ｔ）が重なっている領域の中心位置となる。
【０１３６】
同様に、短冊領域ＲＥ（ｔ）の図中、右側の端の位置は、撮像画像ＦＰ（ｔ）の左端の位置と、撮像画像ＦＰ（ｔ＋１）の右端の位置との中点の位置、つまり撮像画像ＦＰ（ｔ）と撮像画像ＦＰ（ｔ＋１）が重なっている領域の中心位置となる。
【０１３７】
また、短冊領域ＲＥ（ｔ）のスイープ軸方向の幅ｓｗ（ｔ）は、次式（１）により表される。
【０１３８】
【数１】
2013021589.tif 000003
【０１３９】
すなわち、短冊領域ＲＥ（ｔ）の幅ｓｗ（ｔ）は、グローバル動きベクトルGMV(t-1)と、グローバル動きベクトルGMV(t)の和を２で除算することで得られる。
【０１４０】
同様に、撮像画像ＦＰ（ｔ−１）上の短冊領域ＲＥ（ｔ−１）（図示せず）のスイープ軸方向の幅ｓｗ（ｔ−１）は、次式（２）により表される。
【０１４１】
【数２】
2013021589.tif 000004
【０１４２】
これらの式（１）および式（２）から分かるように、撮像画像ＦＰ（ｔ−２）のグローバル動きベクトルGMV(t-2)と、撮像画像ＦＰ（ｔ）のグローバル動きベクトルGMV(t)との差分が小さいほど、短冊領域ＲＥ（ｔ）と短冊領域ＲＥ（ｔ−１）の幅の差は小さくなる。つまり、それらの短冊領域の幅の大きさは近くなる。
【０１４３】
上述したパノラマ画像生成処理では、２つ前の処理で算出されたグローバル動きベクトルGMV(t-2)と、グローバル動きベクトルMV(t,t+j)との差分が最小となる撮像画像を、最終的なグローバル動きベクトルGMV(t)の算出に寄与する撮像画像として選択すると説明した。このような処理により、各撮像画像上の短冊領域の幅の変動を抑えることができる。
【０１４４】
このように、グローバル動きベクトルの変動が抑制されるように撮像画像を選択し、選択した撮像画像間のグローバル動きベクトルを算出すれば、図中、下側に示すように、パノラマ画像の生成に用いられる各撮像画像上の短冊領域の幅の変動を抑えることができる。なお、図中、下側において、点線の長方形は１つの撮像画像を表しており、それらの撮像画像内の斜線の領域は、短冊領域を表している。
【０１４５】
例えば、パノラマ画像を生成する場合に、図１２の上側に示すように短冊領域の幅が不均一であると、撮像画像によっては、撮像画像上の多くの領域がパノラマ画像の生成に用いられることになる。
【０１４６】
すなわち、グローバル動きベクトルが他の撮像画像のグローバル動きベクトルより大きい撮像画像では短冊領域が大きくなり、撮像画像上の端付近の領域がパノラマ画像の生成に用いられることになる。そうすると、その短冊領域の接続位置近傍では、視差の影響により被写体の位置のずれが大きくなり、パノラマ画像の品質が低下してしまう。
【０１４７】
図１２の上側では、パノラマ画像ＰＬ３１は、従来の手法により生成されたパノラマ画像であり、パノラマ画像ＰＬ３１中の点線は、各短冊領域の境界位置を示しており、パノラマ画像ＰＬ３１中の実線は、所定の被写体の輪郭を表している。
【０１４８】
パノラマ画像ＰＬ３１では、各短冊領域の図中、横方向の幅が不均一となっており、特に横方向の幅が広い短冊領域の端近傍では、被写体の位置ずれ（例えば、実線の上下方向のずれ）が大きくなっている。
【０１４９】
パノラマ画像上の短冊領域の接続位置近傍において生じる被写体のずれの原因には、グローバル動きベクトルの誤差やレンズによる像の歪み、視差の影響などがある。特に、手持ちにより撮像装置で連続的に撮像画像を撮像すると、視差の影響が生じないようにすることはほぼ不可能であり、短冊領域の接続部分において被写体の位置ずれが発生する。
【０１５０】
例えば撮像画像上では、撮像画像の端近傍にある被写体ほど、撮像画像を撮像するときの視点と被写体を結ぶ直線と、撮像画像を撮像するための光学系の光軸とのなす角度が大きくなるため、視差の影響が大きくなる。つまり、撮像画像の端近傍の被写体ほど、他の撮像画像の同じ被写体との視差が大きくなり、撮像画像同士を接続したときに生じる被写体のずれが大きくなる。
【０１５１】
一方、図中、下側に示すように、撮像装置１１により生成されたパノラマ画像ＰＬ３２では、各短冊領域の横方向の幅が略同じとなっている。なお、パノラマ画像ＰＬ３２中の点線は、各短冊領域の境界位置を示しており、パノラマ画像ＰＬ３２中の実線は、所定の被写体の輪郭を表している。
【０１５２】
パノラマ画像ＰＬ３２では各短冊領域の幅が均等であるため、撮像画像の中央付近の領域が短冊領域とされている。そのため、各短冊領域では被写体の視差の影響が抑えられ、短冊領域の接続位置近傍における被写体の位置ずれを低減させることができる。これにより、高品質なパノラマ画像を得ることができる。
【０１５３】
特に、パノラマ画像ＰＬ３１とパノラマ画像ＰＬ３２とを比較すると、パノラマ画像ＰＬ３２で生じる位置ずれの最大値は、パノラマ画像ＰＬ３１で生じる位置ずれの最大値よりも小さいため、全体的に被写体の位置ずれが小さく見える。このような被写体の位置ずれの軽減効果は、短冊領域の幅が均等であるほど大きくなる。
【０１５４】
また、撮像画像の端付近では、撮像画像を撮像する光学系（例えば、レンズ２１）の特性により像歪曲が生じるが、パノラマ画像ＰＬ３２では撮像画像の中央付近が短冊領域として用いられるため、像歪曲により生じる接続位置近傍の被写体の位置ずれも低減させることができる。
【０１５５】
しかも、撮像装置１１では、三脚や撮像装置１１の回転角度を検出する回路などを必要とせずに、簡単にパノラマ画像を生成することが可能である。さらに、撮像装置１１では、パノラマ画像の生成に用いられない撮像画像が発生する場合もあるが、いくつかの撮像画像がパノラマ画像の生成に用いられなければ、その分だけパノラマ画像の生成処理の計算コストを削減することができる。
【０１５６】
なお、図４のパノラマ画像生成処理では、パノラマ画像の生成に必要な全フレームのグローバル動きベクトルが算出されてからパノラマ画像の生成が開始されると説明したが、グローバル動きベクトルの算出と、パノラマ画像の生成とが並列に行なわれるようにしてもよい。
【０１５７】
また以上においては、処理対象のフレームよりも２つ前の処理で決定されたグローバル動きベクトルGMV(t)を参照ベクトルとする例について説明したが、参照ベクトルは、処理対象のフレームよりも過去のフレームのグローバル動きベクトルGMV(t)であればよい。
【０１５８】
例えば、１つ前の処理で決定されたグローバル動きベクトル、つまり過去に処理対象とされてグローバル動きベクトルが算出されたフレームのうち、現在処理対象となっているフレームに最も近い時刻のフレームのグローバル動きベクトルGMV(t-j)が参照ベクトルとされてもよい。そのような場合、グローバル動きベクトルGMV(t-j)との差分が最小となるように、グローバル動きベクトルGMV(t)の算出に用いる撮像画像を決定すれば、グローバル動きベクトルの変動率が小さくなる。これにより、２つ前の処理で決定されたグローバル動きベクトルと、処理対象のフレームのグローバル動きベクトルとの差が小さくなり、結果として短冊領域の幅の変動を抑えることができる。
【０１５９】
さらに、処理対象のフレームのグローバル動きベクトルGMV(t)を算出しようとする場合に、直前の処理で得られたグローバル動きベクトルGMV(t-j)と、直前の処理で用いられた参照ベクトルRGMV(t-j)とを所定の比率で合成し、処理対象のフレームでの参照ベクトルRGMV(t)としてもよい。すなわち、この場合、グローバル動きベクトル評価部６４は、所定の重みをαとして、α×RGMV(t-j)＋（１−α）×GMV(t-j)の演算を行ない、その演算結果を処理対象のフレームの参照ベクトルRGMV(t)とする。
【０１６０】
なお、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１６１】
図１３は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０１６２】
コンピュータにおいて、CPU（Central Processing Unit）３０１，ROM（Read Only Memory）３０２，RAM（Random Access Memory）３０３は、バス３０４により相互に接続されている。
【０１６３】
バス３０４には、さらに、入出力インターフェース３０５が接続されている。入出力インターフェース３０５には、キーボード、マウス、マイクロホンなどよりなる入力部３０６、ディスプレイ、スピーカなどよりなる出力部３０７、ハードディスクや不揮発性のメモリなどよりなる記録部３０８、ネットワークインターフェースなどよりなる通信部３０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア３１１を駆動するドライブ３１０が接続されている。
【０１６４】
以上のように構成されるコンピュータでは、CPU３０１が、例えば、記録部３０８に記録されているプログラムを、入出力インターフェース３０５及びバス３０４を介して、RAM３０３にロードして実行することにより、上述した一連の処理が行われる。
【０１６５】
コンピュータ（CPU３０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア３１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１６６】
そして、プログラムは、リムーバブルメディア３１１をドライブ３１０に装着することにより、入出力インターフェース３０５を介して、記録部３０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部３０９で受信し、記録部３０８にインストールすることができる。その他、プログラムは、ROM３０２や記録部３０８に、あらかじめインストールしておくことができる。
【０１６７】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１６８】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１６９】
さらに、本技術は、以下の構成とすることも可能である。
【０１７０】
［１］
複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とを選択する選択部と、
前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルを候補ベクトルとして算出する算出部と、
前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルを用いて前記候補ベクトルを評価し、複数の前記候補ベクトルのうちの何れかを前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択する評価部と、
前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像を合成し、パノラマ画像を生成する合成部と
を備える画像処理装置。
［２］
前記選択部は、最終的な前記グローバル動きベクトルとして選択された前記候補ベクトルの前記他のフレームを新たな処理対象フレームとして、前記撮像画像を選択する
［１］に記載の画像処理装置。
［３］
前記評価部は、前記参照ベクトルとの差分が最小となる前記候補ベクトルを最終的な前記グローバル動きベクトルとして選択する
［１］または［２］に記載の画像処理装置。
［４］
前記評価部は、過去に処理対象フレームとされたフレームのうち、２番目に前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとする
［１］乃至［３］の何れかに記載の画像処理装置。
［５］
前記評価部は、過去に処理対象フレームとされたフレームのうち、最も前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとする
［１］乃至［３］の何れかに記載の画像処理装置。
［６］
前記評価部は、過去に処理対象フレームとされた所定フレームの前記撮像画像の前記グローバル動きベクトルと、その前記グローバル動きベクトルの選択に用いられた参照ベクトルとを所定の比率で合成することにより、前記処理対象フレームにおける前記参照ベクトルを算出する
［１］乃至［３］の何れかに記載の画像処理装置。
【符号の説明】
【０１７１】
１１  撮像装置，  ２６  画像処理回路，  ６２  画像選択部，  ６３  グローバル動きベクトル算出部，  ６４  グローバル動きベクトル評価部，  ６６  短冊領域決定部，  ６７  短冊領域合成部
【図１】
2013021589.tif 000005
【図２】
2013021589.tif 000006
【図３】
2013021589.tif 000007
【図４】
2013021589.tif 000008
【図５】
2013021589.tif 000009
【図６】
2013021589.tif 000010
【図７】
2013021589.tif 000011
【図８】
2013021589.tif 000012
【図９】
2013021589.tif 000013
【図１０】
2013021589.tif 000014
【図１１】
2013021589.tif 000015
【図１２】
2013021589.tif 000016
【図１３】
2013021589.tif 000017