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