(57)【要約】【課題】パノラマ画像合成処理にかかる演算量を低減しつつ、処理環境や用途に応じて画像合成の精度を選択することが出来、求められる精度に応じて必要な処理を柔軟に実行可能することが可能なパノラマ画像合成装置を提供する。【解決手段】パノラマ画像合成装置１００は、隣合う画像同士が重複領域を有して撮影されパノラマ画像の一部となる複数の原画像を取り込む画像取込み部１０２と、前記原画像よりも低い解像度に変換された隣合う２つの処理画像から処理対象とするラフ処理領域をそれぞれ抽出し、位相限定相関法を用いて前記ラフ処理領域間の移動ベクトルを算出するラフ合成処理部１０４と、前記移動ベクトルに基づいて、前記隣合う画像間の重複領域を抽出する重複領域抽出部と、前記２つの処理画像の前記重複領域内から処理対象である精密処理領域を抽出し、前記精密処理領域間の移動ベクトルを算出する精密合成処理部１１０とを有する。【選択図】図１
2011119974.tif 000002
【特許請求の範囲】
【請求項１】
隣合う画像同士が重複領域を有して撮影されパノラマ画像の一部となる複数の原画像を取り込む画像取込み部と、
前記原画像よりも低い解像度に変換された隣合う２つの処理画像から処理対象とするラフ処理領域をそれぞれ抽出し、位相限定相関法を用いて前記ラフ処理領域間の移動ベクトルを算出するラフ合成処理部と、
さらに精密合成を実行する場合には、前記移動ベクトルに基づいて前記隣合う画像間の重複領域を抽出する重複領域抽出処理部と、
前記２つの処理画像の前記重複領域内から処理対象である精密処理領域を抽出し、前記精密処理領域間の移動ベクトルを算出する精密合成処理部と、
を備える、パノラマ画像合成装置。
【請求項２】
前記ラフ合成処理部は、前記ラフ処理領域間の前記移動ベクトル及び類似度を算出し、当該類似度が所定の閾値以上となる前記ラフ処理領域の組合せに対する移動ベクトルを算出する、請求項１に記載のパノラマ画像合成装置。
【請求項３】
前記ラフ合成処理部は、前記原画像がサムネイル画像を有している場合には前記サムネイル画像を前記処理画像として用いる、請求項１または２のいずれかに記載のパノラマ画像合成装置。
【請求項４】
前記ラフ合成処理部は、前記原画像の周波数成分に基づいて前記処理画像のサイズ及び前記ラフ処理領域のサイズを決定する、請求項１〜３のいずれか１項に記載のパノラマ画像合成装置。
【請求項５】
前記ラフ合成処理部は、前記類似度が前記所定の閾値以上となる前記ラフ処理領域の組み合わせに対する前記移動ベクトルが算出できなかった場合には、前記処理画像の解像度を拡大し、拡大された処理画像に対して移動ベクトルの算出を実行する、請求項２〜４のいずれか１項に記載のパノラマ画像合成装置。
【請求項６】
前記精密合成処理部は、前記精密処理領域を４つ以上抽出し、４つ以上の前記精密処理領域間の移動ベクトルを算出する、請求項１〜５のいずれか１項に記載のパノラマ画像合成装置。
【請求項７】
前記原画像を合成して得られるパノラマ画像を出力する表示装置に応じた解像度の前記パノラマ画像を合成及び出力する画像出力処理部をさらに備える、請求項１に記載のパノラマ画像合成装置。
【請求項８】
前記ラフ合成処理部または前記精密合成処理部のいずれかにおいて算出された移動ベクトルに基づいて幾何変換パラメータを算出する幾何変換パラメータ算出処理部をさらに備える、請求項１〜７のいずれか１項に記載のパノラマ画像合成装置。
【請求項９】
画像取込み部と、ラフ合成処理部と、重複領域抽出部と、精密合成処理部と、を有するパノラマ画像合成装置の、
画像取込み部が、隣合う画像同士が重複領域を有して撮影されパノラマ画像の一部となる複数の原画像を取り込む画像取込みステップと、
ラフ合成処理部が、前記原画像よりも低い解像度に変換された隣合う２つの処理画像から処理対象とするラフ処理領域をそれぞれ抽出し、位相限定相関法を用いて前記ラフ処理領域間の移動ベクトルを算出するラフ合成処理ステップと、
重複領域抽出処理部が、前記移動ベクトルに基づいて、前記隣合う画像間の重複領域を抽出する重複領域抽出処理ステップと、
精密合成処理部が、前記２つの処理画像の前記重複領域内から処理対象である精密処理領域を抽出し、前記精密処理領域間の移動ベクトルを算出する精密合成処理ステップと、を含む、パノラマ画像合成方法。
【請求項１０】
コンピュータを、
隣合う画像同士が重複領域を有して撮影されパノラマ画像の一部となる複数の原画像を取り込む画像取込み部と、
前記原画像よりも低い解像度に変換された隣合う２つの処理画像から処理対象とするラフ処理領域をそれぞれ抽出し、位相限定相関法を用いて前記ラフ処理領域間の移動ベクトルを算出するラフ合成処理部と、
前記移動ベクトルに基づいて、前記隣合う画像間の重複領域を抽出する重複領域抽出部と、
前記２つの処理画像の前記重複領域内から処理対象である精密処理領域を抽出し、前記精密処理領域間の移動ベクトルを算出する精密合成処理部と、
を備えるパノラマ画像合成装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パノラマ画像合成装置、パノラマ画像合成方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、写真のデジタル化は急速に進んだ。それに伴い、写真の楽しみ方は多様化してきている。例えば、ＰＣだけでなく、ゲーム機、テレビ、デジタルフォトフレーム、音楽プレイヤー、携帯電話、及びカメラなど様々な機器において写真を用いて楽しむ機会が増えている。また、デジタルデータは複製及び加工が容易であるという性質を有するため、個人が自分で撮影した画像を加工することも、一般的になりつつある。
【０００３】
例えば、現在、撮影方向を順次変化させて撮影された複数の画像から１枚のパノラマ状の画像を合成する画像合成装置が提案されている（例えば、特許文献１）。写真を取り扱うプラットフォームが多様化している現状を鑑みると、これら様々なプラットフォームにおいて同様な画像加工機能が実現されることが望まれている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２９３８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、一般的なパノラマ画像合成ソフトは、その操作が複雑であること、及び、演算量が多く、高い処理能力を必要とすることから、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）上で動作するものが大半を占めている。ＰＣ以外の機器においても、一部パノラマ画像合成機能を持った機器が存在するが、その場合には、対象の機器の演算能力やリソースに合わせてそれぞれソフトウェア開発が必要であり、演算能力の低い機器においては画像編集精度が低いものに限られていた。
【０００６】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、処理にかかる演算量を低減しつつ、処理環境や用途に応じて画像合成の精度を選択することが出来、求められる精度に応じて必要な処理を柔軟に実行可能な、新規かつ改良されたパノラマ画像合成装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある観点によれば、隣合う画像同士が重複領域を有して撮影されパノラマ画像の一部となる複数の原画像を取り込む画像取込み部と、上記原画像よりも低い解像度に変換された隣合う２つの処理画像から処理対象とするラフ処理領域をそれぞれ抽出し、位相限定相関法を用いて上記ラフ処理領域間の移動ベクトルを算出するラフ合成処理部と、さらに精密合成を実行する場合には、上記移動ベクトルに基づいて、上記隣合う画像間の重複領域を抽出する重複領域抽出処理部と、上記２つの処理画像の上記重複領域内から処理対象である精密処理領域を抽出し、上記精密処理領域間の移動ベクトルを算出する精密合成処理部とを有する、パノラマ画像合成装置が提供される。
【０００８】
かかる構成によれば、パノラマ画像合成装置の演算能力に応じて、ラフ合成と精密合成とを選択的に用いることが出来る。例えば、パノラマ画像合成装置の演算能力が不足している場合には、予めまたは処理中における設定に従って、ラフ合成処理のみを実行し、計算量を削減することが出来る。また、ラフ合成には、ラフ処理領域間に位相限定相関法が用いられる。これにより、従来の特徴点抽出法及びルーカスカナデ法により全画面走査する場合と比べて、合成の精度を落とすことなく計算量を飛躍的に削減することが出来る。
【０００９】
また、上記ラフ合成処理部は、上記ラフ処理領域間の上記移動ベクトル及び類似度を算出し、当該類似度が所定の閾値以上となる上記ラフ処理領域の組合せに対する移動ベクトルを算出してもよい。
【００１０】
また、上記ラフ合成処理部は、上記原画像がサムネイル画像を有している場合には上記サムネイル画像を上記処理画像として用いてもよい。
【００１１】
また、上記ラフ合成処理部は、上記原画像の周波数成分に基づいて上記処理画像のサイズ及び上記ラフ処理領域のサイズを決定してもよい。
【００１２】
また、上記ラフ合成処理部は、上記類似度が上記所定の閾値以上となる上記ラフ処理領域の組み合わせに対する上記移動ベクトルが算出できなかった場合には、上記処理画像の解像度を拡大し、拡大された処理画像に対して移動ベクトルの算出を実行してもよい。
【００１３】
また、上記精密合成処理部は、上記精密処理領域を４つ以上抽出し、４つ以上の上記精密処理領域間の移動ベクトルを算出してもよい。
【００１４】
また、上記原画像を合成して得られるパノラマ画像を出力する表示装置に応じた解像度の上記パノラマ画像を合成及び出力する画像出力処理部をさらに有してもよい。
【００１５】
また、上記ラフ合成処理部または上記精密合成処理部のいずれかにおいて算出された移動ベクトルに基づいて幾何変換パラメータを算出する幾何変換パラメータ算出処理部をさらに有してもよい。
【００１６】
また、上記課題を解決するために、本発明の別の観点によれば、画像取込み部と、ラフ合成処理部と、重複領域抽出部と、精密合成処理部と、を有するパノラマ画像合成装置の、画像取込み部が、隣合う画像同士が重複領域を有して撮影されパノラマ画像の一部となる複数の原画像を取り込む画像取込みステップと、ラフ合成処理部が、上記原画像よりも低い解像度に変換された隣合う２つの処理画像から処理対象とするラフ処理領域をそれぞれ抽出し、位相限定相関法を用いて上記ラフ処理領域間の移動ベクトルを算出するラフ合成処理ステップと、重複領域抽出処理部が、上記移動ベクトルに基づいて、上記隣合う画像間の重複領域を抽出する重複領域抽出処理ステップと、精密合成処理部が、上記２つの処理画像の上記重複領域内から処理対象である精密処理領域を抽出し、上記精密処理領域間の移動ベクトルを算出する精密合成処理ステップと、を含む、パノラマ画像合成方法が提供される。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、隣合う画像同士が重複領域を有して撮影されパノラマ画像の一部となる複数の原画像を取り込む画像取込み部と、上記原画像よりも低い解像度に変換された隣合う２つの処理画像から処理対象とするラフ処理領域をそれぞれ抽出し、位相限定相関法を用いて上記ラフ処理領域間の移動ベクトルを算出するラフ合成処理部と、上記移動ベクトルに基づいて、上記隣合う画像間の重複領域を抽出する重複領域抽出部と、上記２つの処理画像の上記重複領域内から処理対象である精密処理領域を抽出し、上記精密処理領域間の移動ベクトルを算出する精密合成処理部と、を有するパノラマ画像合成装置として機能させるためのプログラムが提供される。
【発明の効果】
【００１８】
以上説明したように本発明によれば、パノラマ画像合成装置において、パノラマ画像合成処理にかかる演算量を低減しつつ、処理環境や用途に応じて画像合成の精度を選択することが出来、求められる精度に応じて必要な処理を柔軟に実行可能することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係るパノラマ画像合成装置の機能ブロック図である。
【図２】繋ぎ合せてパノラマ画像とするための原画像の一例を示す説明図である。
【図３】本実施形態に係るパノラマ画像合成装置の処理の流れを示すフローチャートである。
【図４】ラフ合成処理の流れを示すフローチャートである。
【図５】ラフ処理領域の一例を示す説明図である。
【図６】従来の合成処理にかかる計算量を説明するための説明図である。
【図７】本実施形態の合成処理にかかる計算量を説明するための説明図である。
【図８】図３の２つの画像をラフ合成処理により求めた移動ベクトルに基づいて重ねた例を示す説明図である。
【図９】精密合成処理の流れを示すフローチャートである。
【図１０】本実施形態に係る精密処理領域の一例を示す説明図である。
【図１１】本実施形態に係る精密処理領域の他の一例を示す説明図である。
【図１２】従来の精密処理領域の一例を示す説明図である。
【図１３】本実施形態に係るパノラマ画像合成装置のハードウェア構成を示す説明図である。
【発明を実施するための形態】
【００２０】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２１】
（パノラマ画像合成装置の機能構成）
まず初めに、本発明の一実施形態に係るパノラマ画像合成装置の機能構成について図１を用いて説明する。図１は、パノラマ画像合成装置の機能を説明するための機能ブロック図である。
【００２２】
パノラマ画像合成装置１００は、画像取込み部１０２、ラフ合成処理部１０４、メモリ部１０６、重複領域抽出処理部１０８、精密合成処理部１１０、幾何変換パラメータ算出処理部１１２、及び、画像出力処理部１１４を主に有する。
【００２３】
画像取込み部１０２は、パノラマ画像を作成するための複数の原画像を取込む機能を有する。ここで、原画像は、前提として、隣合う画像同士が重複領域を有して撮影された画像である。この原画像の例が図２に示される。図２は、繋ぎ合せてパノラマ画像とするための原画像の一例を示す説明図である。図２に示す第１の原画像２００及び第２の原画像３００は、互いに重複領域を有して撮影された画像である。画像取込み部１０２は、例えば、ユーザによって選択された複数の原画像を取込んでもよい。そして画像取込み部１０２は、取込んだ原画像をラフ合成処理部１０４に入力する。
【００２４】
ラフ合成処理部１０４は、画像取込み部１０２から入力された原画像を繋ぎ合せる位置を求める機能を有する。ラフ合成処理部１０４は、隣合う２つの原画像に対して画像の解像度を原画像よりも低い解像度に変換した処理画像を取得する。または、原画像がサムネイル画像を有する場合には、ラフ合成処理部１０４は、サムネイル画像を処理画像として用いてもよい。そして、本実施形態においては、ラフ合成処理部１０４は、位相限定相関法を用いて、隣合う２つの画像を繋ぎ合せる位置を画像間の移動ベクトルとして算出する。ラフ合成処理部１０４の詳細な処理内容については、後述される。
【００２５】
メモリ部１０６は、記憶領域を有する記憶装置である。メモリ部１０６は、パノラマ画像合成装置１００の処理に用いるパラメータなどを記憶することが出来る。例えば、メモリ部１０６は、算出された移動ベクトルを一時的に記憶する。
【００２６】
重複領域抽出処理部１０８は、ラフ合成処理部１０４において求められた移動ベクトルに基づいて隣合う画像間の重複領域を抽出する機能を有する。重複領域抽出処理部１０８は、抽出した重複領域に関する情報を精密合成処理部１１０に入力する。
【００２７】
精密合成処理部１１０は、重複領域抽出処理部１０８において抽出された重複領域に関する情報に基づき、重複領域内の情報を用いて、ラフ合成よりも詳細な移動ベクトルを算出する機能を有する。精密合成処理部１１０の詳細な処理内容については、後述される。
【００２８】
幾何変換パラメータ算出処理部１１２は、精密合成処理部１１０から入力された移動ベクトルに基づいて、空間射影するための幾何変換パラメータを算出する機能を有する。幾何変換パラメータ算出処理部１１２は、精密合成処理が省略された場合には、ラフ合成処理部１０４から入力された移動ベクトルに基づいて処理を実行してもよい。幾何変換パラメータ算出処理部１１２は、算出した幾何変換パラメータを画像出力処理部１１４に入力する。
【００２９】
画像出力処理部１１４は、入力された幾何変換パラメータに基づいて、全画像から１つのパノラマ画像を合成し、パノラマ合成された画像を出力する。このとき、画像出力処理部１１４は、最終的に出力される表示装置に最適な解像度を算出し、表示装置に応じた解像度を有するパノラマ合成画像を出力してもよい。
【００３０】
本実施形態に係るパノラマ画像合成装置１００は、ラフ合成処理部１０４及び精密合成処理部１１０の二つの合成処理を行う機能部を有する。ラフ合成処理部１０４は、原画像間の合成位置が全く分からない状態から合成位置を移動ベクトルとして求める。そして、重複領域抽出処理部１０８は、ラフ合成処理部１０４において求められた移動ベクトルに基づいて、原画像間の重複領域を抽出する。精密合成処理部１１０は、ラフ合成処理部１０４により求められた移動ベクトルに基づいて抽出された原画像間の重複領域内の情報を用いて、ラフ合成よりもより精密な移動ベクトルを算出する。
【００３１】
（パノラマ画像合成フロー）
次に、以上説明してきた各機能ブロックの動作において実現されるパノラマ画像合成のフローについて図３を用いて説明する。図３は、パノラマ画像合成装置の画像合成処理の全体の流れを示すフローチャートである。
【００３２】
まず、画像取込み部１０２は、パノラマ画像を作成するための原画像を取込む（Ｓ１０２）。ここで取込む原画像は、前提として、例えば図２に示したように、隣合う画像同士が重複領域を有するように撮影された画像である。例えば、原画像は、人がカメラを持ってその撮影方向を順次変化させて撮影されたものであってもよい。また、原画像は、パノラマ撮影用に自動でモータによりカメラを回転させて撮影されたものであってもよい。
【００３３】
（ラフ合成）
そして、次に、ラフ合成処理部１０４は、ラフ合成処理を実行する（Ｓ１０４）。ここで、ラフ合成処理の詳細な内容について、図４を用いて説明する。まず、ラフ合成処理部１０４は、画像取込み部１０２が取込んだ原画像のうち、隣合う２つの原画像を選択して読み込む（Ｓ２０２）。ここでラフ合成処理部１０４は、ユーザの操作により選択された画像を読込んでもよい。また、ラフ合成処理部１０４は、例えば撮影日時の順番に原画像を読込んでもよい。
【００３４】
そして、ラフ合成処理部１０４は、読込んだ原画像がサムネイル画像を有しているか否かを判定する（Ｓ２０４）。ここでステップＳ２０４の判定において、ラフ合成処理部１０４が、読込んだ原画像はサムネイル画像を有していないと判定した場合には、ラフ合成処理部１０４は、画像解像度変換処理を実行して処理画像を取得する（Ｓ２０６）。ここで、ステップＳ２０６の画像解像度変換処理は、画像の縦横比を保ったまま変換される。また、処理画像の解像度の大きさは、例えば、内部固定のデフォルト値、外部ファイルなどにより指定された値、又は、原画像の大きさに応じた値を用いることが出来る。例えば、処理画像の大きさは、一般的なサムネイル画像の大きさである１６０×１２０ピクセルであるとする。
【００３５】
一方、ステップＳ２０４の判定において、ラフ合成処理部１０４が読込んだ原画像はサムネイル画像を有していると判定した場合には、ラフ合成処理部１０４は、ステップＳ２０６の画像解像度変換処理を省略し、サムネイル画像を処理画像として用いてもよい。
【００３６】
次に、ラフ合成処理部１０４は、位相限定相関法を用いて、２つの処理画像間の移動ベクトル及び類似度（位相のピーク値）を求める（Ｓ２０８）。ここで、ラフ合成処理部１０４は、処理画像から処理対象とするブロックをそれぞれ抽出し（以後、ラフ処理領域という。）、このラフ処理領域間の移動ベクトルを算出する。
【００３７】
ここで、位相限定相関法はＦＦＴを使用するため、ラフ処理領域のブロックサイズは、２のべき乗で表される値か、２のべき乗で表される値よりも若干大きいサイズであることが好ましい。例えば、ラフ合成処理部１０４は、２，４，８，１６，３２，６４，１２８，２５６・・・といった値に近い大きさのラフ処理領域を抽出する。ラフ処理領域の大きさは、処理画像の大きさに応じて決定される。ＦＦＴに使用するピクセル値として実用的な値は、１６〜１２８ピクセルが好ましいと考えられる。本実施形態においては、ラフ合成処理部１０４は、処理画像の大きさが１６０×１２０ピクセルに対して６４×６４ピクセルのサイズを有するラフ処理領域を用いる。
【００３８】
ここで、処理画像２００及び処理画像３００のラフ処理領域について図５を用いて説明する。図５は、ラフ処理領域の一例を示す説明図である。
【００３９】
図５において、処理画像２００及び処理画像３００は、それぞれ６つのラフ処理領域が定められている。処理画像２００については、ポイントＰ０１−Ｐ１３−Ｐ１５−Ｐ０３により囲まれる第１のラフ処理領域、ポイントＰ０２−Ｐ１４−Ｐ１６−Ｐ０４により囲まれる第２のラフ処理領域、ポイントＰ０５−Ｐ１７−Ｐ１９−Ｐ０７により囲まれる第３のラフ処理領域、ポイントＰ０６−１８−Ｐ２０−Ｐ０８により囲まれる第４のラフ処理領域、ポイントＰ０９−Ｐ２１−Ｐ２３−Ｐ１１により囲まれる第５のラフ処理領域、及び、ポイントＰ１０−Ｐ２２−Ｐ２４−Ｐ１２により囲まれる第６のラフ処理領域が定められる。
【００４０】
また、同様に、処理画像３００については、ポイントＰ３１−Ｐ４３−Ｐ４５−Ｐ３３により囲まれる第７のラフ処理領域、ポイントＰ３２−Ｐ４４−Ｐ４６−Ｐ３４により囲まれる第８のラフ処理領域、ポイントＰ３５−Ｐ４７−Ｐ４９−Ｐ３７により囲まれる第９のラフ処理領域、ポイントＰ３６−Ｐ４８−Ｐ５０−Ｐ３８により囲まれる第１０のラフ処理領域、ポイントＰ３９−Ｐ５１−Ｐ５３−Ｐ４１により囲まれる第１１のラフ処理領域、及び、ポイントＰ４０−Ｐ５２−Ｐ５４−Ｐ４２により囲まれる第１２のラフ処理領域が定められる。
【００４１】
ラフ処理領域の定め方については様々考えられるが、２画像間の移動ベクトルが効率よく算出できるよう配置されることが好ましい。ラフ処理領域をそれぞれの画像について６つずつ定めた場合には、全ての組合せを計算しても３６回の計算ですむため、従来の画像を全画面走査する方法と比べて計算回数が削減出来る。この演算量削減効果について、図６及び図７を用いて説明する。図６は、従来の合成処理にかかる計算量を説明するための説明図である。また、図７は、本実施形態の合成処理にかかる計算量を説明するための説明図である。
【００４２】
図６は、１６０×１２０ピクセルの画像に対して、６４×６４ピクセルの画像で全画面走査を実行した場合の演算量を示している。この場合、１ピクセルずつ縦に５６回、横に９６回ずつずらしたそれぞれの位置において演算を行う必要があるため、「５６×９６×ＰｈＣｏ」で表される。一方、本実施形態に係るラフ合成処理部の演算量は、同様に６４×６４のラフ処理領域を６つ定める場合において、「６×ＰｈＣｏ」で表される。従って、この場合、８９６分の１の演算量削減効果が期待される。
【００４３】
ここで、図４に戻ってラフ合成処理に関する説明を続ける。ステップＳ２０８の移動ベクトル算出処理において、ラフ合成処理部１０４は、図５に示した第１の処理画像２００及び第２の処理画像３００のそれぞれからラフ処理領域を抽出し、第１の処理画像２００から抽出したラフ処理領域（例えば、上記の第３のラフ処理領域）と、第２の処理画像３００から抽出したラフ処理領域（例えば、上記の第１０のラフ処理領域）との間の位相限定相関を求め、位相のピーク値及び移動ベクトルを算出する。
【００４４】
ここで用いられる位相限定相関法は、位相成分だけを取り出した画像（位相限定画像）について相関を取る方法である。具体的には、まず、ラフ合成処理部１０４は、２つの画像（例えばここでは第３及び第１０のラフ処理領域）それぞれをフーリエ変換し、周波数領域での位相信号と振幅信号とを取得する。ここで、位相信号には画像の濃淡変化の情報すなわち像の形状（輪郭）に関する情報が含まれている。一方、振幅信号には、画像の濃淡強度すなわち明るさの情報が含まれている。
【００４５】
そして、ラフ合成処理部１０４は、２つの画像の位相情報だけを合成した合成信号を求める。この合成信号を逆フーリエ変換することにより、位相限定相関が求まる。そして、本実施形態においては、ラフ合成処理部１０４は、位相限定相関から位相のピーク値を求め、位相のピーク座標値を逆変換することにより移動ベクトルを算出する。ここで位相のピーク値を類似度とも呼ぶ。
【００４６】
ラフ合成処理部１０４は、上記の方法を用いて、画像中心の移動量である移動ベクトルをサブピクセル単位まで算出し、算出した移動ベクトル及び類似度を例えばメモリ部１０６に記憶する。そして、ラフ合成処理部１０４は、対象とするラフ処理領域の組合せを順次変えていき、それぞれの組合せについて移動ベクトル及び類似度を算出する。ラフ合成処理部１０４は、類似度が最も高いラフ処理領域の組合せに対する移動ベクトルを、２つの処理画像間の移動ベクトルとする。
【００４７】
ここで、予め類似度に関して閾値を定めておき、閾値以上の類似度を有するラフ処理領域の組合せが存在しない場合には、処理画像の解像度を変更して移動ベクトルの算出処理をやり直してもよい（Ｓ２１０）。即ち、ステップＳ２１０において算出成功と判定される場合は、算出された移動ベクトルに対応する類似度が閾値以上となった場合である。ステップＳ２１０の判定において、算出失敗と判定された場合、即ち、閾値以上の類似度となるラフ処理領域の組合せが存在しなかった場合には、ラフ合成処理部１０４は、再びステップＳ２０６の解像度変換処理に戻り、処理画像の解像度を大きくする。例えば、ラフ合成処理部１０４は、処理画像の解像度を１．５倍に拡大して移動ベクトルの算出を実行する。このとき、ラフ合成処理部１０４は、拡大後の処理画像サイズに合わせて、ラフ処理領域のサイズを調整する。
【００４８】
上記のように処理画像の解像度を変更しながら、類似度が所定の閾値以上となる移動ベクトルが算出できると、ラフ合成処理部１０４は、算出された移動ベクトルをメモリ部１０６に記録する（Ｓ２１２）。そして、ラフ合成処理部１０４は、全ての画像に対して移動ベクトルの算出が終わったか否かを判定する（Ｓ２１４）。そして、本実施形態においては、合成する画像の枚数は２枚であるため、ステップＳ２１４の判定において、全ての画像に対して移動ベクトルの算出が終了し、ラフ合成処理を終了する。一方、他にも処理対象とする画像がある場合には、ステップＳ２０２に戻って、対象とする画像を読み込み、ステップＳ２０２〜ステップＳ２１２の処理が繰り返される。
【００４９】
以上、図４を用いて、図３のステップＳ１０４のラフ合成処理の詳細について説明した。ここで再び図３に戻って説明を続ける。ラフ合成処理が終了すると、次に、重複領域抽出処理部１０８は、精密合成処理を実行するか否か判定する（Ｓ１０６）。かかる判定は、例えば、予め設定された設定ファイルを参照することにより行われても良い。そして、精密合成処理を実行すると判定された場合には、重複領域抽出処理部１０８は、ラフ合成処理部１０４において算出された移動ベクトルを用いて、隣合う画像同士の重複領域を抽出し（Ｓ１０８）、次に精密合成処理部１１０は、精密合成処理を実行する（Ｓ１１０）。
【００５０】
（精密合成）
ここで、図９を用いて、精密合成処理の詳細について説明する。図９は、精密合成処理の流れを示すフローチャートである。まず、精密合成処理部１１０は、処理対象となる画像を読み込む（Ｓ３０２）。本実施形態においては、処理画像は、原画像を用いることとする。
【００５１】
このとき、図８は、ステップＳ１０４のラフ合成処理において求められた移動ベクトルに従って、処理画像を重ね合わせた図である。先の重複領域抽出処理において、この処理画像同士の重複領域が抽出されている。
【００５２】
そこで、精密合成処理部１１０は、この重複領域内を精密処理領域に分割、または、重複領域内から精密処理領域を抽出する（Ｓ３０４）。このとき、精密合成処理部１１０は、例えばメモリ部１０６に抽出した精密処理領域のブロックの位置及びサイズを記憶しておく。
【００５３】
精密合成処理部１１０は、例えば、精密処理領域を図１０に示すように、処理画像２００の中心２０１及び処理画像３００の中心３０１を結ぶ線の垂直二等分線上に並べるように抽出してもよい。かかる例においては、精密合成処理部１１０は、７つの精密処理領域を抽出している。あるいは、精密合成処理部１１０は、図１１に示すように、重複領域内の両端に、処理画像２００の中心２０１及び処理画像３００の中心３０１を結ぶ線と直交する線上に並ぶように抽出してもよい。かかる例においては、精密合成処理部１１０は、精密処理領域を両端に７つずつ、計１４個抽出している。
【００５４】
精密処理領域の個数については、もちろんかかる例に限定されない。重複領域内において、３つ以上抽出されればよい。ここで、３つ以上としたのは、次のステップにおける幾何変換パラメータ算出処理において、最低３つの移動ベクトルが必要とされるためである。また、図示されたように必ずしも直線上に精密処理領域を並べる必要はなく、精密処理領域は、重複領域内においてバラバラに配置されてもよい。
【００５５】
画像同士の重複領域内の異なる３点に対応する移動ベクトルから、幾何変換パラメータを算出する方法は、例えば、特開２００８−１１７２３５号公報（以下、特許文献２という。）に記載されている。この特許文献２には、一組の画像の重複領域から３点を抽出し、３つの移動ベクトルから、レンズ歪補正係数、回転角、及びチルト角といったパラメータを算出している。ところが、特許文献２に示された方法においては、次のような問題点がある。
【００５６】
画像間の移動ベクトルは、例えば、処理領域内に高周波数成分が多く含まれる場合には、比較的精度良く求めやすい。しかし、低周波数成分のみからなる画像は、正確な移動ベクトルを取得することが難しい。例えば、低周波数成分の多い画像としては、空、及び、海などの風景の画像が挙げられる。即ち、例えば図１２に示すように、重複領域内においてα、β、及びγの３点を抽出するとする。図１２は、本実施形態に係る精密処理領域の他の一例を示す説明図である。この場合、精密処理領域β、及び、精密処理領域γにおいては、正確な移動ベクトルを取得できる可能性が高いが、精密処理領域αにおいては、正確な移動ベクトルが取得できない可能性が非常に高い。そこで、本実施形態においては、精密合成処理部１１０は、７点の移動ベクトルを算出し、７点のうち、信頼性の高い３点を選択して幾何変換パラメータ算出処理部１１２に入力する。ここで、精密合成処理部１１０は、７点の移動ベクトルのうち、類似度の高い３点を選択してもよい。
【００５７】
ここで再び図９に戻って説明を続ける。ステップＳ３０４において重複領域内から精密処理領域が定められると、精密合成処理部１１０は、次に、処理画像２００及び処理画像３００のそれぞれから対応する精密処理領域を一組選択する（Ｓ３０６）。そして、精密合成処理部１１０は、選択した精密処理領域において移動ベクトルを算出する（Ｓ３０８）。本実施形態においては、ラフ合成処理と同様に位相限定相関法を用いて移動ベクトルを算出する。そして、精密合成処理部１１０は、移動ベクトルの算出が成功したか否かを判定する（Ｓ３１０）。かかる判定は、例えば、類似度がある所定の閾値以上であるか否かに基づいて判定されてもよい。移動ベクトルの算出が成功した場合には、精密合成処理部１１０は、算出された移動ベクトルをメモリ部１０６に記憶する。そして、精密合成処理部１１０は、全精密処理領域に対する処理が終了したか否かを判定する（Ｓ３１４）。まだ処理対象とする精密合成処理領域が残っている場合には、ステップＳ３０６に戻り、精密合成処理部１１０は、次に移動ベクトルを算出する対象となる精密処理領域を選択する。一方、ステップＳ３１０の判定において、移動ベクトルの算出が失敗と判定された場合にも、ステップＳ３０６の精密処理領域の選択に戻り、次の精密処理領域に対する移動ベクトルの算出に進む。
【００５８】
このようにして、全精密処理領域に対する移動ベクトルの算出処理が終了すると、次に精密合成処理部１１０は、全画像に対して処理が終了したか否かを判定する（Ｓ３１６）。まだ処理の終了していない画像が存在する場合には、再びステップＳ３０２に戻り、精密合成処理部１１０は、次に処理する２つの処理画像を読み込む。一方、全ての隣り合う画像に対して処理が終了した場合には、精密合成処理は終了する。
【００５９】
ここで再び図３に戻って説明を続ける。ステップＳ１１０の精密合成処理により移動ベクトルの算出が終わると、次に、幾何変換パラメータ算出処理部１１２は、移動ベクトルから、複数の原画像を１枚のパノラマ画像に合成するための幾何変換パラメータを算出する（Ｓ１１２）。あるいは、ステップＳ１０６の判定において精密合成を実行しないと判定された場合にも、次に幾何変換パラメータ算出処理部１１２は、移動ベクトルから幾何変換パラメータを算出する。具体的には、精密合成処理部１１０において算出された移動ベクトル（精密合成処理が省略された場合には、ラフ合成処理部において算出された移動ベクトル）に基づいて、２つの画像の重複領域を求めて、その対応する重複領域の画像的特徴及び周波数的特徴の差異から、幾何変換パラメータを算出する。ここで求める幾何変換パラメータは、例えば、レンズ歪補正係数、回転角、チルト角など、ある空間に射影して画像を合成するためのパラメータである。幾何変換パラメータの算出については、例えば上記の特許文献２に記載されている。
【００６０】
そして、幾何変換パラメータの算出が終了すると、次に画像出力処理部１１４は、算出された移動ベクトル及び幾何変換パラメータに基づいて、複数の原画像を円筒座標空間に射影して合成した１枚のパノラマ画像を作成、出力する（Ｓ１１４）。このとき、画像出力処理部１１４は、最終的に出力する表示装置に応じた解像度の画像を出力するようにしてもよい。かかる構成により、補正誤差が多少残ったとしても、ユーザから見た場合に誤差を目立たないよう表示することが出来る。
【００６１】
なお、以上に説明した本実施形態に係るパノラマ画像合成装置１００のハードウェア構成の一例を図１３に示す。図１３は、本実施形態にかかるパノラマ画像合成装置のハードウェア構成の一例を示す説明図である。
【００６２】
パノラマ画像合成装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３と、ホストバス９０４と、ブリッジ９０５と、外部バス９０６と、インタフェース９０７と、入力装置９０８と、出力装置９０９と、ストレージ装置（ＨＤＤ）９１０と、ドライブ９１１と、通信装置９１２とを主に有する。
【００６３】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、各種プログラムに従ってパノラマ画像合成装置１００内の動作全般を制御する。また、ＣＰＵ９０１は、マイクロプロセッサであってもよい。ＲＯＭ９０２は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０３は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバスなどから構成されるホストバス９０４により相互に接続されている。
【００６４】
ホストバス９０４は、ブリッジ９０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９０６に接続されている。なお、必ずしもホストバス９０４、ブリッジ９０５および外部バス９０６を分離構成する必要はなく、一のバスにこれらの機能を実装してもよい。
【００６５】
入力装置９０８は、例えば、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などから構成されている。パノラマ画像合成装置１００のユーザは、該入力装置９０８を操作することにより、パノラマ画像合成装置１００に対して各種のデータを入力したり処理動作を指示したりすることができる。
【００６６】
出力装置９０９は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｓｐｌａｙ）装置およびランプなどの表示装置と、スピーカおよびヘッドホンなどの音声出力装置で構成される。出力装置９０９は、例えば、再生されたコンテンツを出力する。具体的には、表示装置は再生された映像データ等の各種情報をテキストまたはイメージで表示する。一方、音声出力装置は、再生された音声データ等を音声に変換して出力する。
【００６７】
ストレージ装置９１０は、本実施形態にかかるパノラマ画像合成装置１００の記憶部の一例として構成されたデータ格納用の装置であり、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。ストレージ装置９１０は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）を含んでもよい。このストレージ装置９１０は、ハードディスクを駆動し、ＣＰＵ９０１が実行するプログラムや各種データを格納する。
【００６８】
ドライブ９１１は、記憶媒体用リーダライタであり、パノラマ画像合成装置１００に内蔵、あるいは外付けされる。ドライブ９１１は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体１２０に記録されている情報を読み出して、ＲＡＭ９０３に出力する。
【００６９】
通信装置９１２は、例えば、通信網５０に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置９１２は、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）対応通信装置であっても、ワイヤレスＵＳＢ対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。この通信装置９１２は、クライアント２０との間で、通信網５０を介して、設定情報などの各種データを送受信する。
【００７０】
（効果の例）
以上説明してきたように、本実施形態に係るパノラマ画像合成装置１００は、ラフ合成処理部１０４及び精密合成処理部１１０において２段階の合成処理部を有する。このように合成処理を２段階に分けることにより、例えば、ゲーム機、テレビ、デジタルフォトフレーム、音楽プレイヤー、携帯電話、及びカメラなど、高い処理能力を有しない装置に対してパノラマ画像合成装置１００の処理手順を記述したプログラムを適用する際にも、適用する装置の演算能力及びリソースなどの環境に合わせた機能のみ（例えば、ラフ合成処理のみ）を実行することが出来る構成となっているため、装置の環境に合わせて、プログラムを再コンパイルすることなく適用することが可能である。
【００７１】
また、上記のように、特にラフ合成処理において、処理画像の周波数成分を分析し、適したサイズのラフ処理領域を抽出することにより、精度を落とすことなく計算量を低減することが出来る。すなわち、計算量の低減は、処理にかかる時間を短縮することにつながる。
【００７２】
また、本実施形態にかかるパノラマ画像合成装置１００は、初めに設定した解像度の画像から信頼性の高いパラメータが算出できなかった場合、並びに、演算能力及びリソースに余裕がある場合には、さらに解像度を拡大した画像を用いて再帰的にパラメータ算出をすることが可能な構成となっている。このため、環境及び用途に応じた精度でパノラマ合成を実行することが可能である。
【００７３】
さらに、パノラマ画像合成装置１００は、解像度を変換して処理画像を作成する代わりに、画像ファイルのＥｘｉｆ情報内のサムネイル画像を処理画像として用いることも可能な構成である。従って、画像ファイルがサムネイル画像を有する場合には、画像の解像度を変換する処理にかかる時間を省くことが可能である。
【００７４】
また、画像出力処理部１１４は、最終的に出力する表示装置などに応じて出力する画像の解像度を調整する。これにより、合成後の画像が補正誤差を有する場合であっても、ユーザから見た出力結果において、補正誤差を目立たなくすることができる。
【００７５】
また、ラフ合成に用いられる位相限定相関法は、画像の位相成分、すなわち、画像の輪郭に関する情報だけを取り出して相関を取るため、画像間の露出差に影響されずに移動ベクトルを算出することが出来るという利点がある。
【００７６】
さらに、精密合成処理において、４点以上の点における移動ベクトルを算出することにより、画像の一部が低周波数成分の多い変化のない画像（例えば、空及び海などの画像）である場合であっても、信頼性のあるパラメータを算出することが可能となる。
【００７７】
また、パノラマ画像合成装置１００は、ユーザが例えば視点位置及び射影方法などのパラメータを処理途中に入力することなく、自動的にパノラマ画像の合成を実行する。従って、例えば、ゲーム機、テレビ、デジタルフォトフレーム、音楽プレイヤー、携帯電話、及びカメラなど、十分な操作性を有さない装置においても、ストレスなく容易にパノラマ画像を合成することが出来る。また、ユーザの知識に寄らず、誰でも同じ合成結果を得ることが出来る。
【００７８】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【００７９】
例えば、上記実施形態では、精密合成においては処理画像として原画像を用いたが、本発明はかかる例に限定されない。例えば、パノラマ画像合成装置の演算能力などに合わせて、原画像よりも縮小した画像を処理画像として用いてもよい。ただし、縮小した処理画像を用いる場合には、ラフ合成処理における処理画像よりは高い解像度を有する画像とすることが望ましい。
【００８０】
さらに、精密合成として用いる処理画像としては、原画像にノイズフィルタをかけて、ノイズを除いた画像を用いても良い。これにより、より正確な移動ベクトル及び幾何変換パラメータを算出することが出来る可能性が高まる。
【００８１】
また、例えば、上記実施形態では、精密合成において位相限定相関法を用いたが、本発明はかかる例に限定されない。例えば、既知の方法として知られている特徴点抽出法、及び、ルーカスカナデ法などを用いても良い。
【００８２】
また、例えば、上記実施形態では、原画像が２枚の場合について説明したが、本発明はかかる例に限定されない。３枚以上の原画像から１枚のパノラマ画像を合成してもよい。また、横長のパノラマ画像に限らず、縦長の形状のパノラマ画像を合成してもよい。さらに、縦及び横の双方に画像をつなぎ合わせてもよい。
【００８３】
尚、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的に又は個別的に実行される処理をも含む。また時系列的に処理されるステップでも、場合によっては適宜順序を変更することが可能であることは言うまでもない。
【符号の説明】
【００８４】
１００    パノラマ画像合成装置
１０２    画像取込み部
１０４    ラフ合成処理部
１０６    メモリ部
１０８    重複領域抽出処理部
１１０    精密合成処理部
１１２    幾何変換パラメータ算出処理部
１１４    画像出力処理部
【図１】
2011119974.tif 000003
【図２】
2011119974.tif 000004
【図３】
2011119974.tif 000005
【図４】
2011119974.tif 000006
【図５】
2011119974.tif 000007
【図６】
2011119974.tif 000008
【図７】
2011119974.tif 000009
【図８】
2011119974.tif 000010
【図９】
2011119974.tif 000011
【図１０】
2011119974.tif 000012
【図１１】
2011119974.tif 000013
【図１２】
2011119974.tif 000014
【図１３】
2011119974.tif 000015