(57)【特許請求の範囲】
【請求項１】
複数の入力画像間のつなぎ位置を検出するための画像処理装置であって、
第１の入力画像から、それぞれ第２の入力画像内で探索する対象となる複数の対象画像を生成する対象画像生成手段と、
前記複数の対象画像各々に対し、特徴量を算出する特徴量算出手段と、
前記複数の対象画像の注目する注目対象画像に対し、該注目対象画像よりも特徴量が大きな周辺の他の対象画像のつなぎ位置に基づいて前記注目対象画像の前記第２の入力画像へのつなぎ位置を検出するつなぎ位置検出手段と
を含む、画像処理装置。
【請求項２】
前記注目対象画像に対し、前記注目対象画像と１以上の周辺の対象画像各々との間の特徴量の相対的な関係に基づいて、仮位置を算出する仮位置算出手段と、
前記注目対象画像に対し、前記仮位置算出手段により算出された仮位置に基づいて、前記注目対象画像と、前記第２の入力画像の部分とのマッチングを計算するマッチング計算手段と
を含む、請求項１に記載の画像処理装置。
【請求項３】
前記複数の対象画像に対する処理を前記特徴量に基づいて順位付けて、前記特徴量の相対的な関係を規定する処理順位付け手段をさらに含み、前記仮位置算出手段は、前記注目対象画像よりも特徴量の大きな周辺の対象画像の決定済みのつなぎ位置と、前記注目対象画像よりも特徴量の小さな周辺の対象画像の初期つなぎ位置とを用いて、前記注目対象画像に対する前記仮位置を算出することを特徴とする、請求項２に記載の画像処理装置。
【請求項４】
前記仮位置算出手段は、前記注目対象画像に対する１以上の周辺の対象画像各々の特徴量の相対的な関係に応じた重み付けおよび前記注目対象画像からの１以上の周辺の対象画像各々の距離に応じた重み付けの両方または一方の重み付けを行って、前記注目対象画像に対する前記仮位置を算出することを特徴とする、請求項２または３に記載の画像処理装置。
【請求項５】
前記マッチング計算手段により算出された類似度に基づく評価値を、仮位置を中心に優先されるように補正する評価値補正手段をさらに含む、請求項２〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記注目対象画像と１以上の周辺の対象画像各々との間の特徴量の相対的な関係に基づいた前記第２の入力画像内の前記マッチングでの探索範囲を設定する探索範囲設定手段をさらに含む、請求項２〜５のいずれか１項に記載の画像処理装置。
【請求項７】
複数の入力画像を合成する画像処理装置であって、
第１の入力画像における複数の対象画像の特徴量を取得する特徴量取得手段と、
前記複数の対象画像のうち注目する注目対象画像において、該注目対象画像よりも特徴量が大きな他の対象画像の第２の入力画像に対するつなぎ位置を使って検出されたつなぎ位置で前記第１の入力画像と、前記第２の入力画像とを合成する合成手段と
を備えたことを特徴とする、画像処理装置。
【請求項８】
複数の入力画像間のつなぎ位置を検出するための画像処理方法であって、コンピュータが、
第１の入力画像から、それぞれ第２の入力画像内で探索する対象となる複数の対象画像を生成するステップと、
前記複数の対象画像各々に対し、特徴量を算出するステップと、
前記複数の対象画像の注目する注目対象画像について、該注目対象画像よりも特徴量が大きな周辺の他の対象画像のつなぎ位置を取得するステップと、
前記注目対象画像に対し、前記他の対象画像のつなぎ位置に基づいて前記注目対象画像の前記第２の入力画像へのつなぎ位置を検出するステップと
を実行する、画像処理方法。
【請求項９】
複数の入力画像間のつなぎ位置を検出するための画像処理装置を実現するためのプログラムであって、コンピュータを、
第１の入力画像から、それぞれ第２の入力画像内で探索する対象となる複数の対象画像を生成する対象画像生成手段、
前記複数の対象画像各々に対し、特徴量を算出する特徴量算出手段、および
前記複数の対象画像の注目する注目対象画像に対し、該注目対象画像よりも特徴量が大きな周辺の他の対象画像のつなぎ位置に基づいて前記注目対象画像の前記第２の入力画像へのつなぎ位置を検出するつなぎ位置検出手段
として機能させるためのプログラム。
【請求項１０】
複数の撮像画像間のつなぎ位置を検出するための撮像システムであって、
撮像手段と、
前記撮像手段により、それぞれ複数の方位について撮像された複数の撮像画像から複数の入力画像を取得する手段と、
第１の入力画像から、それぞれ第２の入力画像内で探索する対象となる複数の対象画像を生成する対象画像生成手段と、
前記複数の対象画像各々に対し、特徴量を算出する特徴量算出手段と、
前記複数の対象画像の注目する注目対象画像に対し、該注目対象画像よりも特徴量が大きな周辺の他の対象画像のつなぎ位置に基づいて前記注目対象画像の前記第２の入力画像へのつなぎ位置を検出するつなぎ位置検出手段と
を含む、撮像システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、プログラムおよび撮像システムに関し、より詳細には、複数の入力画像をつなぎ合わせるための画像処理装置、画像処理方法、プログラムおよび撮像システムに関する。
【背景技術】
【０００２】
魚眼レンズや超広角レンズなどの広角なレンズを複数使用して全方位（以下、全天球という。）を一度に撮像する全天球撮像システムが知られている。上記全天球撮像システムでは、各々のレンズからの像をセンサ面に投影し、得られる各画像を画像処理によって結合することで、全天球画像を生成する。例えば、１８０度を超える画角を有する２つの広角なレンズを用いて、全天球画像を生成することができる。
【０００３】
上記画像処理では、各レンズ光学系により撮影された部分画像に対して、所定の射影モデルに基づいて、また理想的なモデルからの歪みを考慮して、歪み補正および射影変換を施す。そして、部分画像に含まれる重複部分を用いて部分画像をつなぎ合わせ、１枚の全天球画像とする処理が行われる。画像をつなぎ合わせる処理においては、部分画像間の重複部分において、パターンマッチングなどを用いて被写体が重なるつなぎ位置が検出される。
【０００４】
しかしながら、従来技術のパターンマッチングによるつなぎ位置検出技術では、マッチングを行う対象領域が、その画像が平坦であったり、同じ模様が繰り返された領域であったりして特徴が少ない場合に、適切なつなぎ位置を検出することが難しかった。このため、部分画像を良好につなぎ合わせることができず、得られる全天球画像の品質が低下してしまう可能性があった。
【０００５】
複数のカメラを用いて撮像された複数の部分画像をつなぎ合わせる種々の技術が知られている。例えば、特開２００１−１４８７７９号公報（特許文献１）は、パターンマッチングを行う際に、不適切なマッチング領域が使用されることに起因するパターンマッチングの誤りを回避し、高精度に画像の合成を行うことを目的とした画像処理装置を開示する。特許文献１の従来技術では、マッチング領域抽出部によって抽出されたマッチング領域に対し、そのマッチング領域が適切か否かの判定を行い、不適切なマッチング領域については再度抽出をやり直すよう構成されている。また、パターンマッチング部によるマッチング結果についても、その適否を判定し、マッチング結果が適切でなければ、マッチング領域の抽出をやり直すよう構成されている。
【０００６】
上記特許文献１の従来技術は、マッチング領域として相応しくない領域、例えば、全面白画素や黒画素の領域や、縦方向、横方向、斜め方向に連続する直線が存在する領域を事前に除去してパターンマッチングを行うことにより、画像の合成の精度を向上させている。
【０００７】
しかしながら、上記特許文献１の従来技術は、マッチング領域が不適切な場合にはマッチング領域を再抽出するという技術である。このため、不適切と判断したマッチング領域に対する適切なつなぎ位置を決定することは依然として難しかった。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上記従来技術の不充分な点に鑑みてなされたものであり、本発明は、複数の入力画像間でつなぎ位置を検出する場合に、入力画像の特徴が少ない部分領域に対しても適切なつなぎ位置を検出することが可能な画像処理装置、画像処理方法、プログラムおよび撮像システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では、上記課題を解決するために、下記特徴を有した、複数の入力画像間のつなぎ位置を検出するための画像処理装置を提供する。本画像処理装置は、第１の入力画像から、それぞれ第２の入力画像内で探索する対象となる複数の対象画像を生成する対象画像生成手段と、上記対象画像生成手段により生成された複数の対象画像各々に対し、特徴量を算出する特徴量算出手段と、上記特徴量算出手段により特徴量が算出された複数の対象画像の注目する注目対象画像に対し、該注目対象画像よりも特徴量が大きな周辺の対象画像のつなぎ位置に応じた上記第２の入力画像へのつなぎ位置を決定するつなぎ位置決定手段とを含む。
【発明の効果】
【００１０】
上記構成によれば、複数の入力画像間でつなぎ位置を検出する場合に、入力画像の特徴が少ない部分領域に対しても、適切なつなぎ位置を検出することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態による全天球撮像システムを示す断面図。
【図２】本実施形態による全天球撮像システムのハードウェア構成図。
【図３】本実施形態による全天球撮像システムにおける画像処理全体の流れを示す図。
【図４】本実施形態による全天球撮像システム上に実現される全天球画像合成処理の主要な機能ブロック図。
【図５】本実施形態による全天球撮像システムが実行する、全天球画像合成処理の全体的な流れを示すフローチャート。
【図６】魚眼レンズを用いた全天球撮像システムにおける射影関係を説明する図。
【図７】本実施形態で用いられる全天球画像フォーマットの画像データのデータ構造を説明する図。
【図８】位置検出用歪み補正部および画像合成用歪み補正部が参照する変換データを説明する図。
【図９】位置検出処理の際における２つの魚眼レンズで撮像された２つの部分画像の球面座標系へのマッピングを説明する図。
【図１０】本実施形態によるつなぎ位置検出部の機能ブロック図。
【図１１】特定の実施形態によるテンプレート特徴量算出部のブロック図。
【図１２】本実施形態による全天球撮像システムが実行する、つなぎ位置検出処理を示すフローチャート。
【図１３】本実施形態によるテンプレート生成部によるテンプレート画像の生成方法を説明する図。
【図１４】（Ａ）本実施形態によるテンプレート画像の順位付け、および（Ｂ，Ｃ）本実施形態による仮位置算出部が行う順位付けに基づくテンプレート画像の仮位置の算出方法を説明する図。
【図１５】本実施形態による探索範囲設定部が行う探索範囲の設定方法を説明する図。
【図１６】（Ａ）テンプレート画像と、（Ｂ）パターンマッチングにより探索範囲でテンプレート画像を探索する処理を説明する図。
【図１７】（Ａ）オフセット関数のグラフ、並びに（Ｂ，Ｃ）補正前のスコアおよび補正後のスコアを探索位置でプロットしたグラフを補正前のスコアに基づくマッチング位置および補正後のスコアに基づくマッチング位置とともに示す図。
【図１８】本実施形態において、つなぎ位置検出部により生成される検出結果データのデータ構造を示す図。
【図１９】本実施形態のつなぎ位置検出部による検出結果データを生成する処理を説明する図。
【図２０】本実施形態による全天球撮像システムが実行する、画像合成用変換テーブルの生成処理を示すフローチャート。
【図２１】画像合成処理の際における２つの魚眼レンズで撮像された２つの部分画像の球面座標系へのマッピングを説明する図。
【図２２】他の実施形態における全天球撮像システムの概略図。
【図２３】他の実施形態における全天球撮像システムにおける全天球画像合成処理の全体的な流れを示すフローチャート図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について説明するが、本発明の実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下の実施形態では、画像処理装置および撮像システムの一例として、２つの魚眼レンズを光学系に含む撮像体を備えるとともに、２つの魚眼レンズで自身が撮像した２つの部分画像に対し歪曲補正および射影変換を行い、画像つなぎ合わせを行って、全天球画像を生成する画像処理機能を備えた、全天球撮像システム１０を用いて説明する。
【００１３】
［全体構成］
以下、図１〜図３を参照しながら、本実施形態による全天球撮像システムの全体構成について説明する。図１は、本実施形態による全天球撮像システム（以下、単に、撮像システムと参照する。）１０を示す断面図である。図１に示す撮像システム１０は、撮像体１２と、上記撮像体１２およびコントローラやバッテリなどの部品を保持する筐体１４と、上記筐体１４に設けられたシャッター・ボタン１８とを備える。図１に示す撮像体１２は、２つの結像光学系２０Ａ，２０Ｂと、ＣＣＤ（Charge Coupled Device）センサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサなどの２つの固体撮像素子２２Ａ，２２Ｂとを含む。結像光学系２０と固体撮像素子２２とを１個ずつ組み合わせたものを撮像光学系と参照する。結像光学系２０各々は、例えば６群７枚の魚眼レンズとして構成することができる。上記魚眼レンズは、図１に示す実施形態では、１８０度（＝３６０度／ｎ；ｎ＝２）より大きい全画角を有し、好適には、１８５度以上の画角を有し、より好適には、１９０度以上の画角を有する。
【００１４】
２つの結像光学系２０Ａ，２０Ｂの光学素子（レンズ、プリズム、フィルタおよび開口絞り）は、固体撮像素子２２Ａ，２２Ｂに対して位置関係が定められる。位置決めは、結像光学系２０Ａ，２０Ｂの光学素子の光軸が、対応する固体撮像素子２２の受光領域の中心部に直交して位置するように、かつ、受光領域が、対応する魚眼レンズの結像面となるように行われる。固体撮像素子２２各々は、受光領域が面積エリアを成す２次元の固体撮像素子であり、組み合わせられる結像光学系２０により集光された光を画像信号に変換する。
【００１５】
図１に示す実施形態では、結像光学系２０Ａ，２０Ｂは、同一仕様のものであり、それぞれの光軸が合致するようにして、互いに逆向きに組み合わせられる。固体撮像素子２２Ａ，２２Ｂは、受光した光分布を画像信号に変換して、図示しないコントローラ上の画像処理手段に出力する。画像処理手段では、詳細は後述するが、固体撮像素子２２Ａ，２２Ｂからそれぞれ入力される部分画像をつなぎ合わせて合成し、立体角４πラジアンの画像（以下「全天球画像」と参照する。）を生成する。全天球画像は、撮影地点から見渡すことのできる全ての方向を撮影したものとなる。ここで、図１に示す実施形態では、全天球画像を生成しているが、水平面のみ３６０度を撮影した、いわゆるパノラマ画像であってもよい。
【００１６】
また、ここで、固体撮像素子２２Ａ，２２Ｂの走査方向を、互いに一致させることで、各々の撮像画像をつなぎ合わせやすくすることができる。つまり、それぞれの固体撮像素子２２の走査方向と順序を、互いにつなぎ合わせる部分で一致させることで、互いのカメラの境界にある物体、特に、移動物体のつなぎ合わせに効果が得られる。例えば、固体撮像素子２２Ａで撮影された撮像画像の左上の部分と、固体撮像素子２２Ｂで撮影された撮像画像の左下の部分が、画像のつなぎ合わせる部分として一致する場合は、固体撮像素子２２Ａの走査は、固体撮像素子の上から下に向かって、右から左に走査する。一方、固体撮像素子２２Ｂの走査は、固体撮像素子の下から上に向かって、右から左に走査する。このように、画像のつなぎ合わせる部分に基づいて、各固体撮像素子の走査方向を一致させるように制御することで、つなぎ合わせ易いという効果が得られる。
【００１７】
上述したように、魚眼レンズが１８０度を超える全画角を有するため、全天球画像を構成する際には、各撮像光学系による撮影画像において、重複する画像部分が、同一像を表す基準データとして画像つなぎ合わせの参考とされる。生成された全天球画像は、例えば、撮像体１２に備えられる、または撮像体１２に接続されているディスプレイ装置、印刷装置、ＳＤ（登録商標）カードやコンパクトフラッシュ（登録商標）などの外部記憶媒体などに出力される。
【００１８】
図２は、本実施形態による撮像システム１０のハードウェア構成を示す。撮像システム１０は、デジタル・スチルカメラ・プロセッサ（以下、単にプロセッサと参照する。）１００と、鏡胴ユニット１０２と、プロセッサ１００に接続される種々のコンポーネントから構成される。鏡胴ユニット１０２は、上述した２組のレンズ光学系２０Ａ，２０Ｂと、固体撮像素子２２Ａ，２２Ｂとを有する。固体撮像素子２２は、プロセッサ１００内の後述するＣＰＵ１３０からの制御指令により制御される。
【００１９】
プロセッサ１００は、ＩＳＰ（Image Signal Processor）１０８と、ＤＭＡＣ（Direct Memory Access Controller）１１０と、メモリアクセスの調停のためのアービタ（ＡＲＢＭＥＭＣ）１１２と、メモリアクセスを制御するＭＥＭＣ（Memory Controller）１１４と、歪曲補正・画像合成ブロック１１８とを含む。ＩＳＰ１０８Ａ，１０８Ｂは、それぞれ、固体撮像素子２２Ａ，２２Ｂの信号処理を経て入力された画像データに対し、ホワイト・バランス設定やガンマ設定を行う。ＭＥＭＣ１１４には、ＳＤＲＡＭ１１６が接続される。ＳＤＲＡＭ１１６には、ＩＳＰ１０８Ａ，１８０Ｂおよび歪曲補正・画像合成ブロック１１８において処理を施す際にデータが一時的に保存される。歪曲補正・画像合成ブロック１１８は、２つの撮像光学系から得られた２つの部分画像に対し、３軸加速度センサ１２０からの情報を利用して、歪曲補正とともに天地補正を施し、画像合成する。
【００２０】
プロセッサ１００は、さらに、ＤＭＡＣ１２２と、画像処理ブロック１２４と、ＣＰＵ１３０と、画像データ転送部１２６と、ＳＤＲＡＭＣ１２８と、メモリカード制御ブロック１４０と、ＵＳＢブロック１４６と、ペリフェラル・ブロック１５０と、音声ユニット１５２と、シリアルブロック１５８と、ＬＣＤ（Liquid Crystal Display）ドライバ１６２と、ブリッジ１６８とを含む。
【００２１】
ＣＰＵ１３０は、当該撮像システム１０の各部の動作を制御する。画像処理ブロック１２４は、リサイズブロック１３２、ＪＰＥＧブロック１３４、Ｈ．２６４ブロック１３６などを用いて、画像データに対し各種画像処理を施す。リサイズブロック１３２は、画像データのサイズを補間処理により拡大または縮小するためのブロックである。ＪＰＥＧブロック１３４は、ＪＰＥＧ圧縮および伸張を行うコーデック・ブロックである。Ｈ．２６４ブロック１３６は、Ｈ．２６４などの動画圧縮および伸張を行うコーデック・ブロックである。画像データ転送部１２６は、画像処理ブロック１２４で画像処理された画像を転送する。ＳＤＲＡＭＣ１２８は、プロセッサ１００に接続されるＳＤＲＡＭ１３８制御し、ＳＤＲＡＭ１３８には、プロセッサ１００内で画像データに各種処理を施す際に、画像データを一時的に保存する。
【００２２】
メモリカード制御ブロック１４０は、メモリカードスロット１４２に挿入されたメモリカードおよびフラッシュＲＯＭ１４４に対する読み書きを制御する。メモリカードスロット１４２は、撮像システム１０にメモリカードを着脱可能に装着するためのスロットである。ＵＳＢブロック１４６は、ＵＳＢコネクタ１４８を介して接続されるパーソナル・コンピュータなどの外部機器とのＵＳＢ通信を制御する。ペリフェラル・ブロック１５０には、電源スイッチ１６６が接続される。音声ユニット１５２は、ユーザが音声信号を入力するマイク１５６と、記録された音声信号を出力するスピーカ１５４とに接続され、音声入出力を制御する。シリアルブロック１５８は、パーソナル・コンピュータなどの外部機器とのシリアル通信を制御し、無線ＮＩＣ（Network Interface Card）１６０が接続される。ＬＣＤドライバ１６２は、ＬＣＤモニタ１６４を駆動するドライブ回路であり、ＬＣＤモニタ１６４に各種状態を表示するための信号に変換する。
【００２３】
フラッシュＲＯＭ１４４には、ＣＰＵ１３０が解読可能なコードで記述された制御プログラムや各種パラメータが格納される。電源スイッチ１６６の操作によって電源がオン状態になると、上記制御プログラムがメインメモリにロードされる。ＣＰＵ１３０は、メインメモリに読み込まれたプログラムに従って、装置各部の動作を制御するとともに、制御に必要なデータをＳＤＲＡＭ１３８と、図示しないローカルＳＲＡＭとに一時的に保存する。
【００２４】
図３は、本実施形態による撮像システム１０における画像処理全体の流れを示す図である。まず、ステップＳ１０１Ａ，１０１Ｂでは、固体撮像素子２２Ａ，２２Ｂ各々によって、画像が撮像される。ステップＳ１０２Ａ，１０２Ｂでは、固体撮像素子２２Ａ，２２Ｂ各々から出力されたベイヤーＲＡＷの画像に対し、図２に示したＩＳＰ１０８により、オプティカル・ブラック補正処理、欠陥画素補正処理、リニア補正処理、シェーディング処理および領域分割平均処理が行われる。ステップＳ１０３Ａ，１０３Ｂでは、メモリに保存される。ステップＳ１０４Ａ，１０４Ｂでは、図２に示したＩＳＰ１０８により、さらに、ホワイト・バランス処理、ガンマ補正処理、ベイヤー補間処理、ＹＵＶ変換処理、エッジ強調処理および色補正処理が行われ、ステップＳ１０５Ａ，１０５Ｂで、メモリに保存される。
【００２５】
２つの固体撮像素子２２Ａ，２２Ｂ各々について上述した処理が完了すると、ステップＳ１０６では、上記処理が施された各部分画像に対し、歪曲補正および合成処理が行われる。ステップＳ１０７では、適宜タグ付けされて、全天球画像が内蔵メモリまたは外部ストレージにファイル保存される。また、上記歪曲補正および合成処理の過程では、適宜、３軸加速度センサ１２０からの情報を得て傾き天地補正が行われてもよい。また、保存される画像ファイルには、適宜圧縮処理が施されても良い。
【００２６】
［全天球画像合成機能］
以下、図４〜図２１を参照しながら、本実施形態による撮像システム１０が備える全天球画像合成機能について詳細を説明する。図４は、本実施形態による撮像システム１０上に実現される全天球画像合成処理の主要な機能ブロック２００を示す。歪曲補正・画像合成ブロック１１８は、図４に示すように、位置検出用歪み補正部２０２と、つなぎ位置検出部２０４と、テーブル修正部２０６と、テーブル生成部２０８と、画像合成用歪み補正部２１０と、画像合成部２１２とを含み構成される。
【００２７】
また、歪曲補正・画像合成ブロック１１８には、２つの固体撮像素子２２Ａ，２２Ｂから、ＩＳＰ１０８Ａ，１０８Ｂによる各画像信号処理を経て、２つの部分画像が入力される。ここで、固体撮像素子２２Ａ，２２Ｂに対し「０」および「１」の番号を付して参照し、固体撮像素子２２Ａをソースとする画像を「部分画像０」のように参照し、固体撮像素子２２Ｂをソースとする画像を「部分画像１」のように参照する。さらに、歪曲補正・画像合成ブロック１１８には、それぞれのレンズ光学系の設計データ等に基づいて、所定の投影モデルに従い製造元等で予め作成された、位置検出用変換テーブル２２０が提供される。
【００２８】
位置検出用歪み補正部２０２は、つなぎ位置検出処理の前段の処理として、入力される部分画像０および部分画像１に対し、位置検出用変換テーブル２２０を用いて歪み補正を施し、位置検出用補正画像（以下、単に補正画像と参照する場合がある。）０および位置検出用補正画像１を生成する。入力される部分画像０，１は、受光領域が面積エリアを成す２次元の固体撮像素子で撮像されたものであり、平面座標系（ｘ，ｙ）で表現された画像データとなる。これに対し、位置検出用変換テーブル２２０を用いて歪み補正がかけられた補正画像は、入力画像とは異なる座標系の画像データであり、より具体的には、球面座標系（動径を１とし、２つの偏角θ，φを有する極座標系である。）で表現された全天球画像フォーマットの画像データとなる。
【００２９】
図６は、魚眼レンズを用いた撮像システムにおける射影関係を説明する図である。本実施形態において、１つ魚眼レンズで撮影された画像は、撮影地点から概ね半球分の方位を撮影したものとなる。また、魚眼レンズは、図６に示すように、光軸に対する入射角度φに対応した像高ｈで画像生成される。像高ｈと、入射角度φとの関係は、所定の投影モデルに応じた射影関数で決定される。射影関数は、魚眼レンズの性質によって異なるが、等距離射影方式と呼ばれる投影モデルの魚眼レンズでは、ｆを焦点距離として、下記式（１）で表現される。
【００３０】
【数１】
0005846172.tif 000002
【００３１】
上記投影モデルとしては、その他、中心投影方式（ｈ＝ｆ・ｔａｎφ）、立体射影方式（ｈ＝２ｆ・ｔａｎ（φ／２））、等立体角射影方式（ｈ＝２ｆ・ｓｉｎ（φ／２））および正射影方式（ｈ＝ｆ・ｓｉｎφ）を挙げることができる。いずれの方式においても、光軸からの入射角度φと焦点距離ｆとに対応して結像の像高ｈが決定される。また、本実施形態では、画像対角線よりもイメージサークル径が小さな、いわゆる円周魚眼レンズの構成を採用するものとし、得られる部分画像は、図６（Ｂ）に示すように、撮影範囲の概ね半球分が投影されたイメージサークル全体を含む平面画像となる。
【００３２】
図７は、本実施形態で用いられる全天球画像フォーマットの画像データのデータ構造を説明する図である。図７に示すように、全天球画像フォーマットの画像データは、所定の軸に対するなす角度に対応する垂直角度φと、上記軸周りの回転角に対応する水平角度θとを座標とした画素値の配列として表現される。水平角度θは、０〜３６０度（−１８０度〜＋１８０度とも表現できる。）の範囲となり、垂直角度φは、０〜１８０度（同様に−９０度〜＋９０度とも表現できる。）の範囲となる。各座標値（θ，φ）は、撮影地点を中心とした全方位を表す球面上の各点と対応付けられており、全方位が全天球画像上にマッピングされる。魚眼レンズで撮影された画像の平面座標と、全天球画像フォーマットの球面上の座標との関係は、図６で説明したような射影関数を用いることによって対応付けることができる。
【００３３】
図８は、位置検出用歪み補正部２０２および画像合成用歪み補正部２１０が参照する変換データを説明する図である。変換テーブル２２０，２２４は、平面座標系で表現される部分画像から、球面座標系で表現される画像への射影を規定する。変換テーブル２２０，２２４は、図８（Ａ）および（Ｂ）に示すように、各魚眼レンズ毎に、補正後画像の座標値（θ,φ）と、該座標値（θ,φ）にマッピングされる補正前の部分画像の座標値（ｘ、ｙ）とを対応付ける情報を、全座標値（θ，φ）（θ＝０，・・・３６０度，φ＝０，・・・，１８０度）に対して保持する。図８の例示では、１画素が担当する角度は、φ方向およびθ方向いずれも１／１０度であり、変換テーブル２２０，２２４は、各魚眼レンズについて、３６００×１８００の対応関係を示す情報を有することになる。
【００３４】
つなぎ位置検出で使用する位置検出用変換テーブル２２０は、事前に製造元等で、レンズ設計データなどを元に、図６で説明したレンズの射影関係に基づき、放射歪曲および偏心歪曲等に起因した理想的なレンズモデルからの歪みを補正した上で計算され、テーブル化されたものである。これとは対照的に、画像合成用変換テーブル２２４は、詳細は後述するが、位置検出用変換テーブル２２０から所定の変換処理よって生成されるものである。なお、説明する実施形態では、変換データは、座標値の対応関係がテーブル化されたデータとしている。しかしながら、他の実施形態では、変換データは、平面座標系で表現される部分画像（ｘ，ｙ）から、球面座標系で表現される画像（θ，φ）への射影を規定する１または複数の関数の係数データとしてもよい。
【００３５】
再び図４を参照すると、位置検出用歪み補正部２０２は、位置検出用変換テーブル２２０を参照して、部分画像０および部分画像１を変換し、位置検出用補正画像０および位置検出用補正画像１を生成する。より具体的には、位置検出用歪み補正部２０２は、変換後の補正画像の全座標値（θ，φ）について、位置検出用変換テーブル２２０を参照し、各座標値（θ，φ）にマッピングされる変換前の部分画像の座標値（ｘ，ｙ）を求め、該座標値（ｘ，ｙ）の部分画像における画素値を参照する。これによって、補正画像が生成される。
【００３６】
図９は、位置検出処理の際における、２つの魚眼レンズで撮像された２つの部分画像の球面座標系へのマッピングを説明する図である。位置検出用歪み補正部２０２による処理の結果、魚眼レンズで撮像された２つの部分画像０，１は、図９に示すように、全天球画像フォーマット上に展開される。魚眼レンズ０により撮影された部分画像０は、典型的には、全天球のうちの概ね上半球にマッピングされ、魚眼レンズ１により撮影された部分画像１は、全天球のうちの概ね下半球にマッピングされる。全天球フォーマットで表現された補正画像０および補正画像１は、魚眼レンズの全画角が１８０度を超えるため、それぞれ半球からはみ出し、その結果、補正画像０および補正画像１を重ね合わせると、画像間で撮影範囲が重複する重複領域が発生する。
【００３７】
詳細を後述するように、位置検出用歪み補正部２０２による補正後は、つなぎ位置検出部２０４により、上記重複領域において、画像間のつなぎ位置が検出されることになる。本実施形態による位置検出用変換テーブル２２０では、図９に示すように、２つのレンズ光学系各々の光軸を球面の２つの極（φ＝０度，１８０度）に射影するとともに、画像間の重複領域を球面の赤道近傍（φ＝９０度±（（全画角−１８０度）／２））に射影するように作成される。球面座標系では、垂直角度φが０度または１８０度である極に近接するほど、歪みが大きくなり、つなぎ位置検出精度が劣化してしまう。これに対し、上述したような射影とすることによって、θ方向にずれたときの歪み量が小さな垂直角度９０度付近に、重複領域を位置させて、つなぎ位置検出が行われることになり、つなぎ位置検出精度を向上させることができる。ひいては、歪みの大きなレンズ光学系で撮像された画像であっても、高い精度でつなぎ位置を検出することが可能となる。
【００３８】
ここで、再び図４を参照すると、つなぎ位置検出部２０４は、位置検出用歪み補正部２０２により変換された補正画像０，１の入力を受けて、パターンマッチング処理により、入力された補正画像０，１間のつなぎ位置を検出し、検出結果データ２２２を生成する。
【００３９】
パターンマッチングでは、典型的には、マッチングを行う対象領域が、その画像が平坦であったり、同じ模様が繰り返された領域であったりして特徴が少ないと、精度高くつなぎ位置を検出することが難しくなる。そこで、本実施形態によるつなぎ位置検出部２０４は、マッチングを行う対象領域の画像が有する特徴の程度を指標する特徴量を測定し、この測定された特徴量を用いて、対象領域のつなぎ位置を決定する構成を採用する。これにより、特徴の大きな領域で優先してつなぎ合わせを行って、得られる全天球画像の品質の向上を図っている。
【００４０】
図１０は、図４に示した本実施形態によるつなぎ位置検出部の機能ブロックを示す図である。図１０に示すつなぎ位置検出部２０４は、より詳細には、テンプレート生成部２３２と、テンプレート特徴量算出部２３４と、テンプレート順位付け部２３６と、仮位置算出部２３８と、探索範囲設定部２４０と、マッチング計算部２４２と、スコア補正部２４４と、つなぎ位置決定部２４６と、検出結果生成部２４８とを含み構成される。以下、テンプレート・マッチングによるつなぎ位置検出処理について説明するが、説明の便宜上、テンプレート側を位置検出用補正画像１とし、探索される側を位置検出用補正画像０とする。
【００４１】
テンプレート生成部２３２は、テンプレート・マッチングにおけるテンプレート用画像として位置検出用補正画像１を用い、位置検出用補正画像１から、それぞれ探索用画像内で探索する対象となる複数の画像（以下、テンプレート画像という。）を生成する。テンプレート・マッチングによるつなぎ位置検出処理では、それぞれ位置検出用補正画像１の一部分であるテンプレート画像各々に対し、位置検出用補正画像０へのつなぎ位置が求められる。ここでは、両補正画像０，１間の重複領域におけるつなぎ位置を目的としているので、位置検出用補正画像１全体のうちの重複領域の部分から複数のテンプレート画像が生成される。
【００４２】
テンプレート特徴量算出部２３４は、テンプレート生成部２３２により生成された複数のテンプレート画像各々に対し特徴量を算出する。ここで、特徴量とは、テンプレート画像が有する特徴の程度を定量する指標する値であり、本実施形態において、特徴量が大きいとは、画像に大きな特徴が認められることを意味し、特徴量が小さいとは、画像の特徴が少なく無個性であることを意味するものとする。特徴量としては、テンプレート画像から抽出されるエッジ量、テンプレート画像から算出される分散および標準偏差の少なくとも１つを用いることができるが、特に限定されるものではない。
【００４３】
図１１は、特定の実施形態によるテンプレート特徴量算出部のブロック図を示す。図１１（Ａ）〜（Ｃ）は、エッジ量を指標とする実施形態によるテンプレート特徴量算出部２３４Ａの構成を示す。これに対し図１１（Ｄ）は、標準偏差または分散を指標とする実施形態によるテンプレート特徴量算出部２３４Ｂの構成を示す。
【００４４】
テンプレート画像の特徴量としてエッジ量を用いる場合は、図１１（Ａ）に示すようなエッジ強調を行うためのエッジ強調ブロックを用いることができる。図１１（Ａ）に示すエッジ強調ブロックは、エッジ抽出フィルタ部２５０と、ゲイン乗算部２５２と、ＬＰＦ（Low-Pass Filter）部２５４とを含み構成される。エッジ強調ブロックでは、エッジ抽出フィルタ部２５０で抽出されたエッジ量に対しゲイン乗算部２５２でゲインを掛けてエッジ量を調整した信号が生成される。そして、調整された信号と、ＬＰＦ部２５４で入力信号にＬＰＦ処理してノイズ除去した信号とを加算部２５６で足し合わせた信号が、エッジ強調された信号として出力される。
【００４５】
本実施形態では、エッジのみを抽出すればよい。このため、例えば図１１（Ｃ）に示すようなＬＰＦ係数を用いることでＬＰＦ処理した信号をゼロにし、図１１（Ｂ）に示すエッジ抽出フィルタ係数を用いてエッジ抽出フィルタ部２５０で抽出したエッジ量のみを出力させればよい。図１１（Ａ）に示すエッジ強調ブロックにテンプレート画像を入力することにより、各画素毎のエッジ量が出力される。テンプレート画像に対する特徴量としては、テンプレートの全画素のエッジ量の合計を用いてもよいし、エッジ量の平均としてもよい。テンプレート画像のエッジ合計量が大きいほど、画像に明るさが不連続に変化している箇所が多く含まれることを意味する。したがって、平坦な画像は、典型的には、エッジ量が小さくなり、特徴量が小さくなる。
【００４６】
テンプレート画像の特徴量として画像の標準偏差（または分散）を用いる場合は、図１１（Ｄ）に示すような構成を備えることができる。図１１（Ｄ）に示す標準偏差（または分散）計算部２５８は、テンプレート画像の標準偏差σ（または分散σ２）を下記算出式（２）で求める。なお、下記式（２）においては、テンプレート画像の総画素数をＮ（＝Ｗ画素×Ｈ画素）とし、テンプレート画像の座標（ｉ，ｊ）における輝度をＴ（ｉ，ｊ）としている。テンプレート画像の標準偏差（または分散）が大きいほど、ヒストグラムにおいて輝度が広く分布していることを意味する。したがって、平坦な画像は、典型的には画像の輝度の分布が狭くなり、特徴量が小さくなる。
【００４７】
【数２】
0005846172.tif 000003
【００４８】
なお、テンプレート画像の特徴量として、標準偏差および分散を例示したが、テンプレート画像から求められる濃度ヒストグラムにおける尖度（ヒストグラムの分布が平均値周りに集中しているか裾の方へ広がっているかの程度を表す。）や歪度（ヒストグラムの形状が対称な形から歪んでいる程度を表す）などの濃度ヒストグラムに基づく指標、差分統計量に基づくコントラストなど他の統計的な指標を計算し、これらの指標を用いて、テンプレート画像を特徴付けてもよい。また、上述した説明では、輝度値を用いて特徴量を計算するものとして説明したが、ＲＧＢの各色毎に特徴量を計算し、その総和としてテンプレート画像の特徴量を計算してもよい。エッジ量や標準偏差、分散などの特徴量は、目的とする画像から簡単に算出することができ、演算コストが少なく、良好な検出結果が得られることから、好適である。しかしながら、これに限定されるものではなく、画像が有する特徴の程度を指標する如何なる指標値を採用することができる。
【００４９】
再び図１０を参照すると、テンプレート順位付け部２３６は、テンプレート特徴量算出部２３４で算出された特徴量に基づいて、複数のテンプレート画像の処理の順序を順位付けし、テンプレート画像間の特徴量の相対的な関係を規定する。
【００５０】
仮位置算出部２３８は、生成された複数のテンプレート画像のうちの、注目する注目テンプレート画像について、後述するテンプレート・マッチング処理の基準とする仮位置を算出する。ここでは、注目テンプレート画像と、その位置検出用補正画像１上でその周辺にある周辺テンプレート画像各々との間の特徴量の相対的な関係に基づいて仮位置が算出される。
【００５１】
テンプレート・マッチングは、テンプレート画像を、探索する対象となる探索用画像の中から探索する処理であるが、ある程度テンプレート画像に対応する領域が特定されている場合は、探索用画像中の探索範囲を限定することができる。探索範囲設定部２４０は、上記注目テンプレート画像について、注目テンプレート画像と周辺テンプレート画像各々との間の特徴量の相対的な関係に基づいて、テンプレート・マッチングでの探索範囲を設定する。典型的には、上記仮位置算出部２３８により算出された仮位置を中心とした位置検出用画像０における所定の探索範囲が設定される。また、周辺テンプレート画像について決定済みのつなぎ位置に基づいて、さらに、絞り込まれた探索範囲を設定してもよい。
【００５２】
マッチング計算部２４２は、上記注目テンプレート画像について、典型的にはテンプレート・マッチング方式により、上記算出された仮位置に基づいて、上記注目テンプレート画像と、位置検出用補正画像における各部分とのマッチングを計算する。マッチングの計算では、上記探索範囲設定部２４０によって設定された仮位置を中心とした探索範囲で、テンプレート画像を移動させながら、各位置での画像の類似度に基づく評価値であるマッチング・スコアが計算される。
【００５３】
スコア補正部２４４は、上記注目テンプレート画像について、上述したマッチング計算部２４２により算出された画像の類似度に基づくスコアに対し、上記算出された仮位置を中心として優先的にスコアが高くなるようなオフセット補正を行う。これにより、テンプレート画像間の特徴量の相対的な関係に基づいて算出された仮位置を加味したスコアが計算される。
【００５４】
つなぎ位置決定部２４６は、上記注目テンプレート画像に対して、位置検出用補正画像０上で上記補正されたスコアが最大化される位置につなぎ位置を決定する。このとき決定されるつなぎ位置は、注目テンプレート画像よりも特徴量が大きい周辺テンプレート画像のつなぎ位置が加味されたものとなる。
【００５５】
上述した仮位置算出部２３８、探索範囲設定部２４０、マッチング計算部２４２、スコア補正部２４４およびつなぎ位置決定部２４６による処理が、複数のテンプレート画像各々について行われると、テンプレート画像各々に対応した位置検出用補正画像０上のつなぎ位置が求められる。検出結果生成部２４８は、ここで求められた各テンプレート画像に対応するつなぎ位置のデータ・セットに基づいて、全天球フォーマットの各画素（θ，φ）毎のつなぎ位置を計算し、検出結果データ２２２を生成する。
【００５６】
再び図４を参照すると、テーブル修正部２０６は、検出結果データ２２２に基づいて、事前準備された位置検出用変換テーブル２２０に対して修正を施し、テーブル生成部２０８に渡す。テーブル生成部２０８は、上記テーブル修正部２０６により修正された変換データから、回転座標変換に基づき、画像合成用変換テーブル２２４を生成する。
【００５７】
画像合成用歪み補正部２１０は、画像合成処理の前段の処理として、元の部分画像０および部分画像１に対し、画像合成用変換テーブル２２４を用いて歪み補正をかけ、画像合成用補正画像０および画像合成用補正画像１を生成する。生成される画像合成用補正画像は、位置検出用補正画像と同様に、球面座標系で表現されている一方で、上記回転座標変換により、位置検出用補正画像とは座標軸の定義が異なったものとなる。画像合成部２１２は、得られた画像合成用補正画像０および画像合成用補正画像１を合成し、全天球画像フォーマットの合成画像を生成する。なお、つなぎ位置検出部２０４、テーブル修正部２０６、テーブル生成部２０８、画像合成用歪み補正部２１０および画像合成部２１２が実行する処理については、処理フローの説明とともに詳細を後述する。
【００５８】
図４に示す機能ブロック２００は、さらに、表示画像生成部２１４を含むことができる。上記生成された合成画像は、全天球画像フォーマットで表現されるため、そのまま、ディスプレイなどの平面表示デバイスに表示させると、垂直角度０度および１８０度に近づくほど画像が歪んで表示されることになる。表示画像生成部２１４は、全天球画像を平面表示デバイスに投影するための画像処理を実行する手段である。表示画像生成部２１４は、例えば、全天球画像フォーマットの合成画像から、球面座標系から特定方向および特定画角の平面座標系へ変換し、ユーザが指定する特定の視野方向の一定画角の画像に投影する処理を行うことができる。
【００５９】
［全天球画像合成処理の流れ］
以下、図５、図１２および図２０を参照して、本実施形態による全天球画像合成処理の流れを説明する。図５は、本実施形態による撮像システム１０が実行する全天球画像合成処理の全体的な流れを示すフローチャートである。図５に示す処理は、例えば、シャッター・ボタン１８の押下により２つの撮像光学系で撮影が指示され、ＣＰＵ１３０から指令が発行されたことに応答して、ステップＳ２００から開始される。
【００６０】
ステップＳ２０１では、撮像システム１０は、位置検出用歪み補正部２０２により、２つの固体撮像素子２２Ａ，２２Ｂによって取得された部分画像０および部分画像１に対し、位置検出用変換テーブル２２０を用いて歪み補正を行う。これによって、位置検出用補正画像０および位置検出用補正画像１が得られる。これにより、図９に示すような全天球画像フォーマットの補正画像が得られる。ステップＳ２０２では、撮像システム１０は、つなぎ位置検出部２０４により、位置検出用補正画像０および位置検出用補正画像１の重複領域において、画像間のつなぎ位置検出を行う。
【００６１】
図１２は、本実施形態による撮像システム１０が実行する、つなぎ位置検出処理を示すフローチャートである。図１２に示す処理は、図５に示したステップＳ２０２で呼び出されて、ステップＳ３００から開始される。ステップＳ３０１では、撮像システム１０は、テンプレート用画像、探索される探索用画像、テンプレートのブロック・サイズ、テンプレートを生成する開始座標、テンプレートの生成間隔および全ブロック数の初期設定を行う。
【００６２】
図１３は、本実施形態によるテンプレート生成部によるテンプレート画像の生成方法を説明する図である。説明する実施形態では、テンプレート用画像３００は、位置検出用補正画像１の重複領域の部分の画像であり、探索用画像３１０は、位置検出用補正画像０の重複領域の部分の画像である。上記ブロック・サイズは、テンプレート画像を構成する画素サイズであり、上記生成間隔は、隣接するテンプレート画像が生成される間隔である。上記生成開始座標は、最初のテンプレート画像を切り出す座標である。なお、ブロック・サイズおよび生成間隔は、つなぎ合わせの所望の精度および処理量を勘案して定めればよい。
【００６３】
ブロック・サイズをＷ画素×Ｈ画素とし、生成開始座標を（ｓｘ，ｓｙ）とし、生成間隔をｓｔｅｐ画素とすると、図１３に示すような態様で複数のテンプレート画像３０２−１〜３０２−＃が生成される。生成されるテンプレートのブロック数＃は、テンプレート生成用画像３００の水平方向サイズ（説明する実施形態で全天球フォーマットの幅サイズ＝３６００画素）を生成間隔（ｓｔｅｐ）で割った値の整数値となる。
【００６４】
ここで生成された複数のテンプレート画像３０２−１〜３０２−＃に対し、探索用画像３１０上での対応部分３１４が所定の探索範囲３１２内で探索されることになる。なお、全天球画像フォーマットのθ座標の両端（０度および３６０度）はつながっているため、テンプレート画像の生成やテンプレート・マッチングの際は、右端の隣は左端として、左端の隣は右端として取り扱うことができる。
【００６５】
図１２を参照すると、ステップＳ３０２では、現在の座標（ｓｘ，ｓｙ）に基づいて、テンプレート画像を生成する。第１回目のループでは、ステップＳ３０１で初期設定された生成開始座標（ｓｘ，ｓｙ）からブロック・サイズの領域（Ｗ画素×Ｈ画素）が切り出されてテンプレート画像が生成される。テンプレート画像生成後は、座標を（ｓｘ＋ｓｔｅｐ，ｓｙ）に更新し、２回目以降のテンプレート生成は、同様にして更新された座標からブロック・サイズの領域を指定して生成されることになる。テンプレート画像が生成されると、生成されたテンプレート画像に対し、図１３に模式的に示すようなテンプレート番号（以下、単に番号と参照することもある。）が付与される。なお、特に限定されるものではないが、説明する実施形態では、テンプレート画像は、重複領域においてθ方向に一列、一周分、生成されるものとする。
【００６６】
ステップＳ３０３では、撮像システム１０は、ステップＳ３０２で生成されたテンプレート画像から特徴量を算出する。ステップＳ３０４では、撮像システム１０は、生成されるべき全てのブロックの処理が終了しているか否かを判定する。ステップＳ３０４で、終了していないと判定された場合（ＮＯ）は、ステップＳ３０２へループさせて、次のテンプレート画像の生成および特徴量の算出に処理を進める。一方、ステップＳ３０４で、全てのブロックの処理が終了したと判定された場合（ＹＥＳ）は、ステップＳ３０５へ処理を分岐させる。
【００６７】
ステップＳ３０５では、撮像システム１０は、全てのブロックのテンプレート画像を、その特徴量の大きい方から小さい方へ順位付ける。これにより、ステップＳ３０６以降の処理順序が規定される。図１４（Ａ）は、本実施形態によるテンプレート画像の順位付けを説明する図である。図１４（Ａ）に示すように、各番号のテンプレート画像に対し、特徴量の大きい順にテンプレート順位が付される。図１２に示すステップＳ３０６〜ステップＳ３１１の処理は、ステップＳ３０５で決定された順序で、順位の高いテンプレート画像から順に処理対象として選択され処理が行われる。
【００６８】
図１２を参照すると、ステップＳ３０６では、撮像システム１０は、処理対象として注目する注目テンプレート画像に対し、仮位置を算出する。図１４（Ｂ）は、本実施形態による仮位置算出部が行う、順位付けに基づくテンプレート画像の仮位置の第１の算出方法を説明する図である。第１の計算方法においては、まず、注目テンプレート画像の周辺に位置する周辺テンプレート画像に対して設定されているつなぎ位置を取得する。
【００６９】
説明する実施形態では、テンプレート画像は、重複領域においてθ方向に一列に生成され、左側から順にテンプレート番号が付されているので、番号で隣接関係が識別される。図１４（Ｂ）に示す例では、注目テンプレート画像（図中では番号３のもの）の前後のテンプレート画像（図中では番号２および番号４のもの）のつなぎ位置が取得される。テンプレート画像各々には、図１２のステップＳ３０５でテンプレート順位が付されており、図１２のステップＳ３０６〜ステップＳ３１１までのつなぎ位置を検出する処理は、順位の高いものから実施される。このため、注目テンプレート画像よりも大きな特徴量を有し、順位がより高いテンプレート画像に対しては、既につなぎ位置が決定していることになる。
【００７０】
したがって、図１４（Ｂ）の例示では、注目テンプレート画像（番号３）の順位が３位であるため、テンプレート順位が１位および２位であるテンプレート画像（番号４および番号１のもの）のつなぎ位置が既に決定済みということになる。一方、図１４（Ｂ）において反転表示されている４位〜６位のテンプレート画像（番号２、番号５および番号６のもの）に対しては、つなぎ位置が未決定であり、初期つなぎ位置として（０，０）が設定されている。なお、注目テンプレート画像（番号３）のつなぎ位置も、現時点では初期つなぎ位置（０，０）となっている。つなぎ位置は、補正画像１の重複領域におけるテンプレート画像の座標と、補正画像０の重複領域における対応する領域の座標とのズレ量を表し、つなぎ位置（０，０）は、テンプレート画像が、補正画像１上の座標位置そのままでつなぎ合わされることを意味する。
【００７１】
よって、図１４（Ｂ）の例示では、周辺テンプレート画像のつなぎ位置として、注目テンプレート画像（図中では番号３のもの）の右側のテンプレート画像（図中では番号４のもの）の決定済みのつなぎ位置と、左側のテンプレート画像（図中では番号２のもの）の初期つなぎ位置とが取得される。
【００７２】
そして、取得された周辺テンプレート画像のつなぎ位置を平均処理し、その平均値を注目テンプレートの仮位置とすることができる。この際、単純な相加平均を計算してもよいが、好適には、決定済みのつなぎ位置と、未決定のつなぎ位置（初期つなぎ位置）とで重みを変えて、重み付き平均を行うことができる。具体的には、決定済みのつなぎ位置の方の影響が強くなるように重みを大きくすることができる。
【００７３】
注目テンプレート画像（番号ｉ）の仮位置（ｔｘｉ，ｔｙｉ）は、下記計算式（３）により計算することができる。下記式（３）においては、左側のテンプレート画像（番号ｉ−１）のつなぎ位置を（ｘｉ−１，ｙｉ−１）、その重みをｗ−とし、右側のテンプレート画像（ｉ＋１）のつなぎ位置を（ｘｉ＋１，ｙｉ＋１）、その重みをｗ＋としている。ｗ−およびｗ＋は、対応する隣接テンプレート画像のつなぎ位置が決定済みか否かに応じた重み値である。
【００７４】
【数３】
0005846172.tif 000004
【００７５】
図１４（Ｂ）の例示において、例えば、決定済みの重み係数ｗＨを「０．７」、未決定の重み係数ｗＬを「０．３」とし、決定済みのテンプレート番号４のつなぎ位置を（２，−２）、未決定のテンプレート番号２のつなぎ位置を初期値（０，０）とすると、上記計算式（３）により、注目テンプレート画像（番号３）の仮位置は（１．４，−１．４）となる。
【００７６】
図１４（Ｃ）は、本実施形態による仮位置算出部が行う、順位付けに基づくテンプレート画像の仮位置の第２の算出方法を説明する図である。図１４（Ｃ）に示す第２の算出方法においては、まず、注目テンプレート画像の周辺テンプレート画像として、すべてのテンプレート画像について、注目テンプレート画像からの距離と、設定されているつなぎ位置とが取得される。つなぎ位置が未決定のものについては、上記と同様に初期つなぎ位置（０，０）が取得される。テンプレート画像間の距離は、単純にブロック数を単位とすればよい。図１４（Ｃ）においては、例えば、注目テンプレートをテンプレート番号３として、番号２および番号４のテンプレート画像に対しては距離１が、番号１および番号５のものに対しては距離２が、番号６のものに対しては距離３が与えられる。
【００７７】
そして、取得された周辺テンプレート画像のつなぎ位置を距離で重み付けして平均処理し、その平均値を注目テンプレート画像の仮位置とすることができる。距離に基づく重み付けは、距離が近いほど大きくなるような関数を用いることができる。例えば、距離の逆数（１／距離）を重み値として使用することができる。
【００７８】
注目テンプレート画像（番号ｉ）の仮位置を（ｔｘｉ，ｔｙｉ）として、各テンプレート画像（番号ｊ＝１〜Ｎ）のつなぎ位置を（ｘｊ，ｙｊ）、その距離をＤｉｊとすると、下記計算式（４）により、仮位置（ｔｘｉ，ｔｙｉ）を計算することができる。図１４（Ｃ）に示す第２の算出方法によれば、隣接以外の遠くのテンプレート画像のつなぎ位置も考慮されるので、周辺との連続性をより良好に維持することができる。なお、注目テンプレート画像の周辺テンプレート画像として、すべてのテンプレート画像の距離およびつなぎ位置を取得するものとしたが、距離で所定の打ち切りを行ってもよい。
【００７９】
【数４】
0005846172.tif 000005
【００８０】
なお、上記説明では、隣接テンプレート画像のつなぎ位置が決定済みか否かに応じた重み値、またはテンプレート画像間の距離に応じた重み値を用いるものとして説明した。しかしながら、上述した計算方法は、一例であり、特に限定されるものではない。他の実施形態では、隣接テンプレート画像のつなぎ位置が決定済みか否かに応じ、かつ、テンプレート画像間の距離に応じて、重み付けを行ってもよい。
【００８１】
再び図１２を参照すると、ステップＳ３０７では、撮像システム１０は、テンプレート・マッチングを行う探索領域の探索範囲を設定する。図１５は、本実施形態による探索範囲設定部が行う探索範囲の設定方法を説明する図である。テンプレート・マッチングでは、注目テンプレート画像について、所定サイズの探索領域が探索用画像から切り出される。探索用画像である位置検出用画像０と、テンプレート用画像である位置検出用画像１とは、事前定義された位置検出用変換テーブルによって生成されるので、ある程度の精度で重ね合わせられている。このため、テンプレート画像に対応する部分は、対応する補正画像０上の座標の近傍に見出されることが予測されるので、この座標を基準として探索領域が切り出される。上記探索範囲は、探索領域においてテンプレート・マッチングを行う範囲を決めるもので、この探索範囲内でテンプレート画像を縦横に位置をずらしながら探索領域の画像とマッチングが行われる。このため、探索範囲が広くなるにつれて処理時間が長くなる。
【００８２】
図１５（Ａ）は、通常の探索範囲３６０の設定方法を説明するものであり、通常の設定方法では、初期位置（○：テンプレート画像の座標と一致）を中心にした探索領域３３０をそのまま探索範囲３６０Ａとする。この場合、探索領域３３０と探索範囲３６０Ａとが同じとなり、探索領域全てでマッチング計算を行う必要がある。
【００８３】
これに対して、図１５（Ｂ）は、算出された仮位置に基づいて探索範囲を設定する方法を説明する。通常、決定された仮位置（図では●で示す。）３３４は、特徴のあるテンプレートの影響を受けて初期位置（図では○で示す。）３３２から移動しているため、仮位置（●）を中心にして探索領域を移動させ（３５０）、元の探索領域３３０と重なる領域を探索範囲３６０Ｂとすることにより、探索範囲を狭め、処理時間を短縮することができる。
【００８４】
図１５（Ｃ）は、さらに、隣接するテンプレート画像について決定済みのつなぎ位置に基づいて探索範囲を設定する方法を説明するものである。図１５（Ｂ）に示す方法と同様に、決定された仮位置（●）を中心にして探索領域を移動させ（３５０）、元の探索領域３３０と重なる領域を求める。続いて、隣接するテンプレート画像について決定済みのつなぎ位置を参照し、さらに絞り込んだ探索範囲３６０Ｃを決定する。例えば、両側の隣接テンプレート画像のつなぎ位置が決定済みの場合には、注目テンプレートのつなぎ位置は、概ねその間に限定されると考えられる。そこで、図１５（Ｃ）のように両側のテンプレート画像の縦方向のつなぎ位置３３６Ｕ，３３６Ｌを利用して縦方向に制限を与えて、探索範囲３６０Ｂを狭めることで、さらに処理時間を短縮することができる。
【００８５】
再び図１２を参照すると、ステップＳ３０８では、撮像システム１０は、ステップＳ３０７で設定された探索範囲内で、探索領域上でテンプレート画像を縦方向および横方向にずらしながら、マッチングを計算し、類似度のスコアを求める。
【００８６】
以下、図１６を参照して、テンプレート・マッチングの一例として、ゼロ平均正規化相互相関（Zero-mean Normalized Cross-Correlation）法について説明する。図１６は、（Ａ）テンプレート画像と、（Ｂ）パターンマッチングにより探索範囲でテンプレート画像を探索する処理を説明する図である。テンプレートの全画素数をＮ（＝Ｗ画素×Ｈ画素）とし、探索範囲上での探索位置を（ｋｘ，ｋｙ）で表す。探索位置（ｋｘ，ｋｙ）を基準座標（０，０）とした場合の座標（ｉ，ｊ）におけるテンプレート画像の輝度値をＴ（ｉ，ｊ）とし、探索用画像上の輝度値をＳ（ｋｘ＋ｉ，ｋｙ＋ｊ）とすると、ＺＮＣＣ法によるマッチング・スコアＭ（ｋｘ，ｋｙ）は、下記式（５）で求めることができる。なお、図１６では、探索位置（ｋｘ，ｋｙ）をテンプレート画像の左上に設定しているが、座標の取り方は、特に限定されるものではなく、テンプレート画像の中心に設定してもよい。
【００８７】
【数５】
0005846172.tif 000006
【００８８】
スコアＭ（ｋｘ，ｋｙ）が１のときは、完全一致となり、−１のときはネガポジ反転となる。スコアＭ（ｋｘ，ｋｙ）が高い方が、テンプレート画像との類似度が高いことを示す。図１６（Ｂ）に示すように探索範囲内でテンプレート画像を縦横に位置をずらしながら、テンプレート・マッチングが行われ、各探索位置におけるマッチング・スコアＭ（ｋｘ，ｋｙ）が算出される。
【００８９】
なお、上述したＺＮＣＣ法は、画像のゲインの変動を吸収することができ、また、画像の平均明るさの変動を吸収することができる点で好適なものであるが、スコアＭ（ｋｘ，ｋｙ）の算出方法は、ＺＮＣＣ法に限定されるものではない。他の実施形態では、ＳＳＤ（Sum of Square Difference）法、ＳＡＤ（Sum of Absolute Difference）法、ＺＳＳＤ（Zero-mean Sum of Square Difference）法、ＺＳＡＤ（Zero mean Sum of Absolute Difference）法、ＮＣＣ（Normalized Cross-Correlation）法などを採用してもよい。
【００９０】
再び図１２を参照すると、ステップＳ３０９では、撮像システム１０は、ステップＳ３０８で計算された各位置における類似度に基づくマッチング・スコアＭ（ｋｘ，ｋｙ）に対し、オフセット補正を行って、補正された最終的なスコアを計算する。ステップＳ３１０では、撮像システム１０は、ステップＳ３０９で計算された各位置における補正後のスコアに基づいて、当該注目テンプレート画像に対するつなぎ位置を決定する。
【００９１】
図１７（Ａ）は、マッチング・スコアに対するオフセット関数を探索位置（ｋｘ／ｋｙ）に対してプロットしたグラフを示す。ステップＳ３０９の処理では、マッチング・スコアＭ（ｋｘ，ｋｙ）に対し、図１７（Ａ）に示すようなオフセット関数（ｋｘ、ｋｙ）により仮位置からの距離に応じたオフセット値を加算する。図１７（Ａ）に示すオフセット関数は、仮位置でオフセット値が最大になり、仮位置から距離が離れるにつれて単調減少する関数である。オフセット関数は、上記マッチング・スコアＭの取り得る値の範囲に基づいて定めればよい。図１７（Ｂ）および（Ｃ）は、補正前のスコアおよび補正後のスコアを探索位置（ｋｘ／ｋｙ）でプロットしたグラフを補正前のスコアに基づくマッチング位置および補正後のスコアに基づくマッチング位置とともに示す図である。図１７（Ｂ）は、特徴量が大きいテンプレート画像の場合を例示し、図１７（Ｃ）は、特徴量が小さいテンプレート画像の場合を例示する。
【００９２】
図１７（Ｂ）に示すように、オフセット補正により、最終的なマッチング・スコアは、仮位置を中心としてかさ上げされる。しかしながら、テンプレート画像の特徴量が大きい場合は、位置の変化による類似度が大きく変動するので、類似度に基づくマッチング・スコアの影響が色濃く残される。このため、オフセット補正が行われるか否かにかかわらず、概ね類似度に基づくマッチング・スコアが最大となる位置がマッチング位置として決定される。すなわち、類似度のマッチング・スコアのピークが明確に残る程度に特徴量が大きければ、類似度が優勢的につなぎ位置を決定付けることになる。
【００９３】
一方、図１７（Ｃ）に示すように、テンプレート画像の特徴量が小さい場合は、通常のマッチング・スコアでは明瞭なピークが認められず、類似度に基づくマッチング・スコアよりも、仮位置からの距離に応じたオフセットの影響が色濃く反映される。このため、概ねオフセット関数が最大となる仮位置の近傍がマッチング位置として決定される。すなわち、特徴量が小さい場合は、仮位置が優勢的につなぎ位置を決定付けることになる。
【００９４】
マッチング位置が決定されると、注目テンプレート画像（番号ｉ）に対し、位置検出用補正画像０のそのままの座標値上に重ね合わせた位置からのずらし量（Δθｉ，Δφｉ）としてつなぎ位置が求められる。
【００９５】
上述したオフセット補正を行うことにより、類似度に基づくスコアに明確なピークがあり、類似度が大きい場合はその位置がつなぎ位置となる。特徴のない場合など明確なピークがあらわれない場合は、仮位置付近がつなぎ位置となり、隣接ブロックとの連続性が保たれ、仮位置から大きく外れた位置でつなぎ位置が決定されてしまう割合を低減することができる。
【００９６】
再び図１２を参照すると、ステップＳ３１１では、撮像システム１０は、全てのテンプレート画像のブロックに対する処理が終了しているか判定する。ステップＳ３１１で、終了していないと判定された場合（ＮＯ）は、ステップＳ３０６に戻されて、全てのブロックに対する処理が完了するまで繰り返させる。一方、ステップＳ３１１で、全ての処理が終了したと判定された場合（ＹＥＳ）は、ステップＳ３１２へ処理を進める。
【００９７】
上述したステップＳ３０６からステップＳ３１１までの処理により、生成された複数のテンプレート画像（番号ｉ：ｉ＝１〜＃）すべてに対応したつなぎ位置（Δθｉ，Δφｉ）が求められる。ステップＳ３１２では、撮像システム１０は、得られた各テンプレート画像に対応するつなぎ位置のデータ・セットに基づいて、全天球フォーマットの各画素（θ，φ）毎のつなぎ位置（Δθ，Δφ）を計算し、検出結果データ２２２を生成する。ステップＳ３１３では、撮像システム１０は、本つなぎ位置検出処理を終了させ、図５に示す処理に戻る。
【００９８】
図１８は、本実施形態において、つなぎ位置検出部２０４により生成される検出結果データのデータ構造を示す図である。図１９は、本実施形態の位置検出部２０４による検出結果データを生成する処理を説明する図である。上記ステップＳ３１２での処理により、図１８に示すような、変換後の各座標値（θ，φ）に対して、ずらし量（Δθ，Δφ）が対応付けられた情報を全座標値について保持する検出結果データ２２２が得られる。このとき、各座標値（θ，φ）に対応するずらし量（Δθ，Δφ）は、上記つなぎ位置検出処理により求められたテンプレート・ブロック（ｉ）毎のずらし量（Δθｉ，Δφｉ）を、各テンプレート・ブロックの中心座標の値として設定し、補間して計算することができる。
【００９９】
具体的には、まず、図１９（Ａ）に示すように、水平方向の座標値θがテンプレート・ブロックの中心座標の値と等しく、かつ、上端（φ＝０）および下端（高さが１８００画素の場合は、φ＝１７９９である。）に位置する各座標におけるずらし量（Δθ，Δφ）を（０，０）として設定する。その他のずらし量未設定の座標については、図１９（Ｂ）に示すように、近傍の設定済み４点（図中Ａ〜Ｄで示す。）からなる格子を考え、その中で２次元線形補間演算によりずらし量を算出する。点Ｑを、４点の格子においてθ軸方向にｄθ：１−ｄθ、φ軸方向にｄφ：１−ｄφに内分する点だとすると、点Ｑにおけるずらし量（ΔθＱ，ΔφＱ）は、近傍４点におけるずらし量（（ΔθＡ，ΔφＡ），…，（ΔθＤ，ΔφＤ））を用いて、下記式（６）により計算することができる。
【０１００】
【数６】
0005846172.tif 000007
【０１０１】
なお、説明する実施形態では、全天球フォーマットにおける上端（φ＝０）および下端（上記例ではφ＝１７９９）に対しずらし量（０，０）を設定するようにした。しかしながら、各座標値（θ，φ）に対応するずらし量（Δθ，Δφ）の計算方法は、特に限定されるものではない。ここでは、部分画像０，１を矛盾無くつなぎ合わせられればよいので、他の実施形態では、より内側にずらし量（０，０）とする座標を設定して上記２次元線形補間演算を行うことができる。この場合、その座標よりφ方向が外側である座標においては、全てずらし量（０，０）を設定するようにすればよい。
【０１０２】
再び図５を参照すると、ステップＳ２０３では、撮像システム１０は、テーブル修正部２０６により、上記検出結果データ２２２を用いて、位置検出用変換テーブル２２０を画像が球面座標上で位置合わせされるように修正する。ステップＳ２０２のつなぎ位置検出処理により、図１８に示すように、全天球画像フォーマットの座標値毎に、ずらし量が求まるので、ステップＳ２０３では、具体的には、部分画像０の歪み補正に用いた検出用歪み補正テーブル０において、入力座標値（θ，φ）に対し、修正前には（θ＋Δθ，φ＋Δφ）に対応付けられていた（ｘ，ｙ）を対応付けるように修正する。なお、部分画像１の歪み補正に用いた検出用歪み補正テーブル１については対応付けを変える必要はない。
【０１０３】
ステップＳ２０４では、撮像システム１０は、テーブル生成部２０８により、修正された位置検出用変換テーブル２２０から、回転座標変換することによって、画像合成用変換テーブル２２４を生成する。
【０１０４】
図２０は、本実施形態による撮像システム１０が実行する、画像合成用変換テーブルの生成処理を示すフローチャートである。図２１は、画像合成処理の際における、２つの魚眼レンズで撮像された２つの部分画像の球面座標系へのマッピングを説明する図である。図２０に示す処理は、図５に示したステップＳ２０４で呼び出されて、ステップＳ４００から開始する。ステップＳ４０１〜ステップＳ４０６のループでは、テーブル生成部２０８は、画像合成用歪み補正テーブルの入力値となる画像合成用の球面座標系の座標値（θｇ，φｇ）毎に、ステップＳ４０２〜Ｓ４０５の処理を実行する。設定される座標値の範囲は、水平角度の全範囲（０〜３６０度）および垂直角度の全範囲（０〜１８０度）で定義される範囲となる。入力値になる全座標値について変換処理を行うため、ここで各座標値が順に設定される。
【０１０５】
ステップＳ４０２では、テーブル生成部２０８は、回転座標変換により、上記座標値（θｇ，φｇ）に対応する、つなぎ位置検出用の球面座標系の座標値（θｄ，φｄ）を求める。回転座標変換により、図９に示すような、一方のレンズ光学系の光軸を軸とした水平角度θｄおよび垂直角度φｄの座標軸の定義から、図２１に示すような、光軸に垂直な軸を基準とした水平角度θｇおよび垂直角度φｇの定義に変換される。上記座標（θｇ，φｇ）に対応する座標（θｄ，φｄ）は、回転座標変換に基づき、動径を１とし、画像合成用の球面座標系の座標（θｇ，φｇ）に対応する３次元直交座標（ｘｇ，ｙｇ，ｚｇ）および位置検出用の球面座標系の座標（θｄ，φｄ）に対応する３次元直交座標（ｘｄ，ｙｄ，ｚｄ）を用いて、下記式（７）で計算することができる。なお、下記式（７）中、係数βは、３次元直交座標におけるｘ軸周りの回転座標変換を規定する回転角であり、説明する実施形態では、９０度である。
【０１０６】
【数７】
0005846172.tif 000008
【０１０７】
位置検出用変換テーブル２２０では、光軸が球面の極に、画像間の重複部分が球面の赤道近傍に射影され、全天球画像フォーマットの上下方向と、撮影されたシーンの天頂方向が一致していない。これに対して、上記回転座標変換により、画像合成用変換テーブル２２４では、光軸が球面の赤道上に射影され、全天球画像フォーマットの上下方向と、撮影されたシーンの天頂方向とが一致するようになる。
【０１０８】
ステップＳ４０３〜ステップＳ４０５のループでは、画像０および画像１毎に、テーブル生成部２０８は、ステップＳ４０４の処理を実行する。ステップＳ４０４では、テーブル生成部２０８は、各画像（０，１）について、（θｄ，φｄ）に対応付けられる部分画像（０，１）の座標値（ｘ，ｙ）を、修正後のつなぎ位置検出用変換テーブルを参照して求める。なお、変換テーブル２２０，２２４は、θｄおよびφｄ共に、１画素きざみで対応する座標値（ｘ，ｙ）を保持しているが、変換により算出される座標値（θｄ，φｄ）は、典型的には、小数点以下の値で取得される。簡便には、対応付けられる部分画像（０，１）の座標値（ｘ，ｙ）は、算出された座標値（θｄ，φｄ）の最近傍のテーブル中に存在する座標値に対応付けられる座標値（ｘ，ｙ）を採用することができる。また、好適な実施形態では、テーブルに存在するうち、最近傍の座標値およびその周囲の座標値に対応付けられる複数の座標値（ｘ，ｙ）を参照して、算出された座標（θｄ，φｄ）からの距離に応じて重み付け補間を行って、対応付けられる部分画像（０，１）の座標値（ｘ，ｙ）を計算することもできる。
【０１０９】
ステップＳ４０３〜ステップＳ４０５のループで、すべての画像（０，１）について計算が行われ、ステップＳ４０２〜ステップＳ４０６のループで、入力値となるすべての座標値に対する計算が完了すると、ステップＳ４０７では、本処理を終了させる。これにより、画像合成用変換テーブル２２４の全データが生成される。
【０１１０】
再び図５を参照すると、ステップＳ２０５では、撮像システム１０は、画像合成用歪み補正部２１０により、画像合成用変換テーブル２２４を用いて、元の部分画像０および部分画像１に対し歪み補正を行い、画像合成用補正画像０および画像合成用補正画像１を得る。これにより、画像合成用歪み補正部２１０による処理の結果、魚眼レンズで撮像された２つの部分画像０，１は、図２１に示すように、全天球画像フォーマット上に展開される。魚眼レンズ０により撮影された部分画像０は、典型的には、全天球のうちの概ね左半球にマッピングされ、魚眼レンズ１により撮影された部分画像１は、全天球のうちの概ね右半球にマッピングされる。
【０１１１】
図９および図２１を比較すると明確であるが、全天球フォーマットに対し、異なった位置に部分画像０および部分画像１がマッピングされており、シーンの天頂方向が画像の上下方向となるφ方向に一致している。部分画像０，１の中心部が、より歪みの少ない赤道上にマッピングされ、補正画像０および補正画像１間の重複領域は、図９に示したものと異なり、垂直角度０度および１８０度付近、並びに、水平角度０度および１８０度の近傍領域にマッピングされる。
【０１１２】
ステップＳ２０６では、画像合成部２１２により、画像合成用補正画像０および画像合成用補正画像１を合成する。合成処理では、画像間で重複する重複領域については、ブレンド処理等が行われ、片方しか画素値が存在しない領域については、存在するそのままの画素値が採用されることになる。上記合成処理により、魚眼レンズにより撮像された２枚の部分画像から、１枚の全天球画像が生成される。
【０１１３】
以上説明したように、本実施形態では、マッチングを行う対象となるテンプレート画像が有する特徴の程度を指標する特徴量を測定し、この測定された特徴量を用いて、テンプレート画像のつなぎ位置を決定している。そして、特徴の大きな領域で優先してつなぎ合わせが行われ、そのつなぎ位置を参考にして特徴のより小さな領域のつなぎ合わせが行われる。これにより、画像が平坦であったり、同じ模様が繰り返された領域であったりして特徴が少ない領域に対しても、精度高くつなぎ位置を検出することができ、ひいては、得られる全天球画像の品質が向上される。また、同じ模様が繰り返された場合のように、類似度にだけでは複数のつなぎ位置の候補が存在するような場合でも、隣接した特徴がある領域のつなぎ位置を参考に一意につなぎ位置を決定することができる。
【０１１４】
さらに、特徴の少ない不適切なマッチング領域を除外して計算する処理を採用しないので、アルゴリズムの簡素化が図られる。また、全天球撮像システム１０では、全方位が撮影範囲となるため、重複領域に空などの平坦で特徴が少なくつなぎ合わせに適切ではない領域が広く含まれるシーンが多々発生する。本実施形態による複数の画像のつなぎ合わせ処理は、このような性質を有する全天球画像のつなぎ合わせに対し、好適に適用することができる。
【０１１５】
［他の実施形態］
上述した実施形態では、画像処理装置および撮像システムの一例として、全天球の静止画を自身が備える撮像光学系により撮影し、内部の歪曲補正・画像合成ブロックで合成する撮像システム１０を用いて説明した。しかしながら、画像処理装置および撮像システムの構成は、特に限定されるものではない。他の実施形態では、全天球を動画撮影する全天球動画撮像システムとして構成してもよく、複数の撮像光学系で撮影された複数の部分画像（静止画または動画）の入力を受けて全天球画像（静止画または動画）を生成するカメラ・プロセッサ、撮影を専ら担当する全天球撮像装置で撮影された複数の部分画像（静止画または動画）の入力を受けて全天球画像（静止画または動画）を合成するパーソナル・コンピュータ、ワークステーション、物理コンピュータ・システム上の仮想マシンなどの情報処理装置、スマートフォン、タブレットなどの携帯情報端末などを上記画像処理装置として構成することもできる。また、上述したようなカメラ・プロセッサ、情報処理装置、携帯情報端などの画像処理装置と、該画像処理装置から分離された撮像光学系とを含む撮像システムとして構成してもよい。
【０１１６】
以下、図２２および図２３を参照しながら、全天球撮像装置と、この全天球撮像装置で撮影された複数の部分画像の入力を受けて、合成された全天球画像を生成する外部のコンピュータ装置とを含む、他の実施形態における全天球撮像システムについて説明する。図２２は、他の実施形態における全天球撮像システム４００の概略を示す。
【０１１７】
図２２に示す実施形態による全天球撮像システム４００は、専ら撮像を担当する全天球撮像装置４１０と、この全天球撮像装置４１０と接続され、専ら画像処理を担当するコンピュータ装置４３０とを含み構成される。なお、図２２には、主要な構成のみが示されており、詳細な構成が省略させていることに留意されたい。また、図１〜図２１を参照して説明した実施形態と同様のはたらきをする構成要素については、同一符番を付して参照する。また、図２２および図２３に示す実施形態による全天球撮像システム４００は、全天球画像を合成する画像処理が専らコンピュータ装置４３０で行われることを除いて、図１〜図２１を参照して説明した実施形態と同様の構成を備えるので、以下、相違点を中心に説明する。
【０１１８】
図２２に示す実施形態において、全天球撮像装置４１０は、デジタル・スチルカメラ・プロセッサ１００と、鏡胴ユニット１０２と、プロセッサ１００に接続される３軸加速度センサ１２０とを含む。鏡胴ユニット１０２は、図２に示したものと同様の構成を有するものであり、プロセッサ１００も、図２に示したものと同様の構成を有するものである。
【０１１９】
プロセッサ１００は、ＩＳＰ１０８と、ＵＳＢブロック１４６と、シリアルブロック１５８とを含み、ＵＳＢコネクタ１４８を介して接続されるコンピュータ装置４３０とのＵＳＢ通信を制御する。シリアルブロック１５８には、無線ＮＩＣ１６０が接続されており、ネットワークを介して接続されるコンピュータ装置４３０との無線通信を制御している。
【０１２０】
図２２に示すコンピュータ装置４３０は、デスクトップ型のパーソナル・コンピュータ、ワークステーションなどの汎用コンピュータなどとして構成することができる。コンピュータ装置４３０は、プロセッサ、メモリ、ＲＯＭ、ストレージなどのハードウェア・コンポーネントを備える。図２２に示す実施形態において、コンピュータ装置４３０は、ＵＳＢインタフェース４３２と、無線ＮＩＣ４３４とを含み、ＵＳＢバスまたはネットワークを介して、全天球撮像装置４１０と接続されている。
【０１２１】
コンピュータ装置４３０は、さらに、画像合成にかかる処理ブロックとして、位置検出用歪み補正部２０２と、つなぎ位置検出部２０４と、テーブル修正部２０６と、テーブル生成部２０８と、画像合成用歪み補正部２１０と、画像合成部２１２とを含み構成される。本実施形態では、鏡胴ユニット１０２の複数の撮像光学系により撮像された２つの部分画像と、全天球撮像装置４１０の位置検出用変換テーブルとが、ＵＳＢバスまたはネットワークを介して外部のコンピュータ装置４３０に転送される。
【０１２２】
コンピュータ装置４３０において、位置検出用歪み補正部２０２は、全天球撮像装置４１０から転送された部分画像０，１に対し、併せて転送された位置検出用変換テーブルを用いて歪み補正を施し、位置検出用補正画像０，１を生成する。つなぎ位置検出部２０４は、変換された補正画像０，１間のつなぎ位置を検出し、検出結果データを生成する。テーブル修正部２０６は、検出結果データに基づいて、転送された位置検出用変換テーブルに対して修正を施す。テーブル生成部２０８は、修正された変換データから、回転座標変換を施し、画像合成用変換テーブルを生成する。
【０１２３】
画像合成用歪み補正部２１０は、画像合成処理の前段の処理として、元の部分画像０および部分画像１に対し、画像合成用変換テーブルを用いて歪み補正をかけ、画像合成用補正画像０，１を生成する。画像合成部２１２は、得られた画像合成用補正画像０，１を合成し、全天球画像フォーマットの合成画像を生成する。
【０１２４】
図２２に示す機能ブロックは、さらに、表示画像生成部２１４を含むことができる。表示画像生成部２１４は、全天球画像を平面表示デバイスに投影するための画像処理を実行する。本実施形態によるコンピュータ装置４３０は、ＲＯＭやＨＤＤなどからプログラムを読み出し、ＲＡＭが提供する作業空間に展開することにより、ＣＰＵの制御の下、上述した各機能部および以下後述する各処理を実現する。
【０１２５】
図２３は、他の実施形態における全天球撮像システム４００における全天球画像合成処理の全体的な流れを示すフローチャート図である。図２３には、全天球撮像装置４１０で撮像画像が入力された後、当該画像がコンピュータ装置４３０で保存されるまでの流れが説明されている。
【０１２６】
図２３に示す処理は、例えば、全天球撮像装置４１０でシャッター・ボタンの押下により２つの撮像光学系で撮影が指示されたことに応答して、ステップＳ５００から開始される。まず、全天球撮像装置４１０内での処理が実行される。
【０１２７】
ステップＳ５０１では、全天球撮像装置４１０は、２つの固体撮像素子２２Ａ，２２Ｂによって部分画像０および部分画像１を撮影する。ステップＳ５０２では、全天球撮像装置４１０は、ＵＳＢバスあるいはネットワークを介して、部分画像０および部分画像０をコンピュータ装置４３０へ転送する。併せて、上記位置検出用変換テーブルが、ＵＳＢバスあるいはネットワークを介してコンピュータ装置４３０に転送される。このとき、傾き補正もコンピュータ装置４３０側で行われる場合は、３軸加速度センサ１２０で取得された傾き情報がコンピュータ装置４３０へ転送される。
【０１２８】
なお、上述した全天球撮像装置４１０の位置検出用変換テーブルは、全天球撮像装置４１０とコンピュータ装置４３０との間で互いに認識し合った際に転送しておいておけばよい。つまり、位置検出用変換テーブルは、一度、コンピュータ装置４３０に転送されていれば充分であり、毎回、変換テーブルを転送することを要さない。位置検出用変換テーブルは、例えば、図示しないＳＤＲＡＭなどに記憶されており、ここから読み出され、転送される。ここまでが、全天球撮像装置４１０内における処理であり、次のステップＳ５０３からは、転送先のコンピュータ装置４３０内において実行される処理である。
【０１２９】
ステップＳ５０３では、コンピュータ装置４３０は、位置検出用歪み補正部２０２により、転送された部分画像０および部分画像１に対し、転送された位置検出用変換テーブルを用いて歪み補正を行い、位置検出用補正画像０，１を得る。このとき、傾き補正が転送先コンピュータ装置４３０側で行われる場合は、転送された傾き情報に基づき、位置検出用変換テーブルに対し鉛直方向に応じた補正が事前に行われてもよい。ステップＳ５０４では、コンピュータ装置４３０は、つなぎ位置検出部２０４により、位置検出用補正画像０，１の重複領域において、画像間のつなぎ位置検出を行い、検出結果データを得る。ステップＳ５０５では、コンピュータ装置４３０は、テーブル修正部２０６により、検出結果データを用いて、転送された位置検出用変換テーブルを、画像が球面座標上で位置合わせされるように修正する。ステップＳ５０６では、コンピュータ装置４３０は、テーブル生成部２０８により、修正された位置検出用変換テーブルから、回転座標変換することによって、画像合成用変換テーブルを生成する。
【０１３０】
ステップＳ５０７では、コンピュータ装置４３０は、画像合成用歪み補正部２１０により、画像合成用変換テーブルを用いて、元の部分画像０，１に対し歪み補正を行い、画像合成用補正画像０，１を得る。ステップＳ５０８では、コンピュータ装置４３０は、画像合成部２１２により、画像合成用補正画像０，１を合成する。上記合成処理により、魚眼レンズにより撮像された２枚の部分画像から、１枚の全天球画像が生成される。そして、ステップＳ５０９では、コンピュータ装置４３０は、ステップＳ５０８で生成された全天球画像を外部ストレージに保存し、ステップＳ５１０で終了する。
【０１３１】
なお、図２３に示した他の実施形態におけるフローチャートにかかる動作も、コンピュータ上のプログラムに実行させることができる。すなわち、全天球撮像装置４１０の動作を制御するＣＰＵ、コンピュータ装置４３０の動作を制御するＣＰＵが、それぞれ、ＲＯＭ、ＲＡＭなどの記憶媒体に格納されたプログラムを読み出し、メモリ上に展開することにより、上述した全天球画像合成処理の各担当部分の処理を実現する。なお、図２２および図２３は、分離して構成された全天球画像撮像システムを例示するものであり、図２２および図２３に示した具体的な実施形態に限定されるものではない。全天球画像撮像システムを実現するための各機能部は、１以上の撮像装置、１以上のコンピュータ・システム上に種々の態様で分散実装することができる。
【０１３２】
以上説明した実施形態によれば、複数の入力画像間でつなぎ位置を検出する場合に、入力画像の特徴が少ない部分領域に対しても適切なつなぎ位置を検出することが可能な画像処理装置、画像処理方法、プログラムおよび撮像システムを提供することができる。
【０１３３】
なお、上述した実施形態では、複数の部分画像は、それぞれ、異なるレンズ光学系を用いて略同時に撮像されたものとしたが、他の実施形態では、同じレンズ光学系を用い、時を異にして、所定の撮影点から、異なる撮影方向（方位）を向いて撮影撮像された複数の部分画像の重ね合わせに適用してもよい。さらに、上述した実施形態では、１８０度より大きな画角を有するレンズ光学系で撮像された２つの部分画像を重ね合わせて合成するものとしたが、他の実施形態では、１または複数のレンズ光学系により撮像された３以上の部分画像の重ね合わせ合成に適用してもよい。また、上述した実施形態では、魚眼レンズを用いた撮像システムを一例に説明してきたが、超広角レンズを用いた全天球撮像システムに適用してもよい。さらに、上述した好適な実施形態では、全天球画像の重ね合わせについて説明したが、特に限定されるものではなく、複数の画像のつなぎ位置を検出するいかなる画像処理に適用可能であることは言うまでもない。
【０１３４】
また、上記機能部は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。また、上記機能部の一部または全部は、例えばフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）などのプログラマブル・デバイス（ＰＤ）上に実装することができ、あるいはＡＳＩＣ（特定用途向集積）として実装することができ、上記機能部をＰＤ上に実現するためにＰＤにダウンロードする回路構成データ（ビットストリームデータ）、回路構成データを生成するためのＨＤＬ（Hardware Description Language）、ＶＨＤＬ（Very High Speed Integrated Circuits Hardware Description Language）、Ｖｅｒｉｌｏｇ−ＨＤＬなどにより記述されたデータとして記録媒体により配布することができる。
【０１３５】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１３６】
１０，３００…全天球撮像システム、１２…撮像体、１４…筐体、１８…シャッター・ボタン、２０…結像光学系、２２…固体撮像素子、１００…プロセッサ、１０２…鏡胴ユニット，１０８…ＩＳＰ、１１０，１２２…ＤＭＡＣ、１１２…アービタ（ＡＲＢＭＥＭＣ）、１１４…ＭＥＭＣ、１１６，１３８…ＳＤＲＡＭ、１１８…歪曲補正・画像合成ブロック、１２０…３軸加速度センサ、１２４…画像処理ブロック、１２６…画像データ転送部、１２８…ＳＤＲＡＭＣ、１３０…ＣＰＵ、１３２…リサイズブロック、１３４…ＪＰＥＧブロック、１３６…Ｈ．２６４ブロック、１４０…メモリカード制御ブロック、１４２…メモリカードスロット、１４４…フラッシュＲＯＭ、１４６…ＵＳＢブロック、１４８…ＵＳＢコネクタ、１５０…ペリフェラル・ブロック、１５２…音声ユニット、１５４…スピーカ、１５６…マイク、１５８…シリアルブロック、１６０…無線ＮＩＣ、１６２…ＬＣＤドライバ、１６４…ＬＣＤモニタ、１６６…電源スイッチ、１６８…ブリッジ、２００…機能ブロック、２０２…位置検出用歪み補正部、２０４…つなぎ位置検出部、２０６…テーブル修正部、２０８…テーブル生成部、２１０…画像合成用歪み補正部、２１２…画像合成部、２１４…表示画像生成部、２２０…位置検出用変換テーブル、２２０…検出結果データ、２２４…画像合成用変換テーブル、２３２…テンプレート生成部、２３４…テンプレート特徴量算出部、２３６…テンプレート順位付け部、２３８…仮位置算出部、２４０…探索範囲設定部、２４２…マッチング計算部、２４４…スコア補正部、２４６…つなぎ位置決定部、２４８…検出結果生成部、２５０…エッジ抽出フィルタ部、２５２…ゲイン乗算部、２５４…ＬＰＦ部、２５６…加算部、３００…テンプレート用画像、３０２…テンプレート画像、３１０…探索用画像、３１２…探索範囲、３１４…対応部分、３３０…探索領域、３３２…初期位置、３３４…仮位置、３３６…隣接のつなぎ位置、３６０…探索範囲、４１０…全天球撮像装置、４３０…コンピュータ装置、４３２…ＵＳＢＩ／Ｆ、４３４…無線ＮＩＣ
【先行技術文献】
【特許文献】
【０１３７】
【特許文献１】特開２００１−１４８７７９号公報
【図１】
0005846172.tif 000009
【図２】
0005846172.tif 000010
【図３】
0005846172.tif 000011
【図４】
0005846172.tif 000012
【図５】
0005846172.tif 000013
【図６】
0005846172.tif 000014
【図７】
0005846172.tif 000015
【図８】
0005846172.tif 000016
【図９】
0005846172.tif 000017
【図１０】
0005846172.tif 000018
【図１１】
0005846172.tif 000019
【図１２】
0005846172.tif 000020
【図１３】
0005846172.tif 000021
【図１４】
0005846172.tif 000022
【図１５】
0005846172.tif 000023
【図１６】
0005846172.tif 000024
【図１７】
0005846172.tif 000025
【図１８】
0005846172.tif 000026
【図１９】
0005846172.tif 000027
【図２０】
0005846172.tif 000028
【図２１】
0005846172.tif 000029
【図２２】
0005846172.tif 000030
【図２３】
0005846172.tif 000031