(57)【特許請求の範囲】
【請求項１】
第１の画像列および第２の画像列が入力される画像入力手段と、
前記第１の画像列を構成する画像と、該画像と略同時点の、前記第２の画像列を構成する画像とに基づいて、つなぎ位置情報を検出する検出処理手段と、
前記検出処理手段により検出された複数時点のつなぎ位置情報を用いて各時点のつなぎ位置情報を補正する補正手段と、
前記補正手段により補正された補正つなぎ位置情報に基づいて、前記第１の画像列を構成する画像と、該画像と略同時点の、前記第２の画像列を構成する画像とを合成する処理を実行する画像合成処理手段と
を含む、画像処理システム。
【請求項２】
前記第１の画像列を構成する少なくとも１つの画像を一時記憶する第１画像記憶手段と、
前記第２の画像列を構成する少なくとも１つの画像を一時記憶する第２画像記憶手段と、
前記検出処理手段により検出された複数時点のつなぎ位置情報を一時記憶するつなぎ位置情報記憶手段と
をさらに含み、前記画像合成処理手段は、前記補正つなぎ位置情報が求められた複数のつなぎ位置情報のうちの最新のものの時点よりも前の時点に対応する、前記第１画像記憶手段および前記第２画像記憶手段に記憶された画像を合成の対象とすることを特徴とする、請求項１に記載の画像処理システム。
【請求項３】
前記画像合成処理手段により合成された複数の合成画像を含む合成画像列に基づき、動画像データを生成する動画像生成手段をさらに含む、請求項１または２に記載の画像処理システム。
【請求項４】
前記検出処理手段は、前記第１の画像列を構成する画像と、前記第２の画像列を構成する画像との間に存在する重複領域における複数の対応点各々の位置ずらし量を検出し、前記補正手段は、複数の対応点各々の位置ずらし量を重み付け時間平均することを特徴とする、請求項１〜３のいずれか１項に記載の画像処理システム。
【請求項５】
それぞれ、レンズ光学系および固体撮像素子を含み、互いに異なる方向を撮像し、画像列を与える複数の撮像手段をさらに含み、前記複数の撮像手段の間には視差が存在することを特徴とする、請求項１〜４のいずれか１項に記載の画像処理システム。
【請求項６】
前記複数の撮像手段は、それぞれ、所定画角を有し、前記複数の撮像手段の画角を合わせることにより４πステアラジアンの立体角がカバーされ、前記画像合成処理手段により合成された合成画像は、全天球画像を構成する、請求項５に記載の画像処理システム。
【請求項７】
前記画像合成処理手段は、
前記撮像手段により撮像された平面座標系の画像を球面座標系の画像へ変換するための基本変換テーブルと、
前記補正手段により補正された補正つなぎ位置情報に基づいて、前記基本変換テーブルを修正する修正手段と、
前記修正手段により修正された修正変換テーブルに基づいて、前記第１の画像列を構成する画像と前記第２の画像列を構成する画像とをそれぞれ球面座標系の画像に変換する合成用変換手段と、
前記第１の画像列の変換された球面座標系の画像と、前記第２の画像列の変換された球面座標系の画像とを重ね合わせて合成する合成手段と
を含む、請求項５または６に記載の画像処理システム。
【請求項８】
前記検出処理手段は、
前記基本変換テーブルを適用し、前記第１の画像列を構成する画像と前記第２の画像列を構成する画像とをそれぞれ球面座標系上の画像に変換する位置合わせ用変換手段と、
前記第１の画像列に基づく変換された球面座標系の画像と、前記第２の画像列に基づく変換された球面座標系の画像との間のつなぎ位置を規定する前記つなぎ位置情報を検出する検出手段と
を含み、前記画像合成処理手段は、
前記修正手段により修正された修正変換テーブルに対し回転座標変換を適用し、合成用変換テーブルを生成するテーブル生成手段
をさらに含み、
前記合成用変換手段は、前記テーブル生成手段により前記修正変換テーブルから生成された合成用変換テーブルを適用して、前記第１の画像列を構成する画像と、前記第２の画像列を構成する画像とを変換することを特徴とする、請求項７に記載の画像処理システム。
【請求項９】
前記複数の撮像手段を備え、前記複数の撮像手段各々が与える画像列を含む画像データを出力する撮像装置と、
画像入力手段、前記検出処理手段、前記補正手段および前記画像合成処理手段を備え、前記撮像装置から出力された前記画像データの入力を受ける画像処理装置と
を含む、請求項６〜８のいずれか１項に記載の画像処理システム。
【請求項１０】
第１の画像列および第２の画像列が入力される画像入力手段と、
前記第１の画像列を構成する画像と、該画像と略同時点の、前記第２の画像列を構成する画像とに基づいて、つなぎ位置情報を検出する検出処理手段と、
前記検出処理手段により検出された複数時点のつなぎ位置情報を用いて各時点のつなぎ位置情報を補正する補正手段と、
前記補正手段により補正された補正つなぎ位置情報に基づいて、前記第１の画像列を構成する画像と、該画像と略同時点の、前記第２の画像列を構成する画像とを合成する処理を実行する画像合成処理手段と
を含む、画像処理装置。
【請求項１１】
コンピュータまたはプログラマブル・デバイスを、
第１の画像列および第２の画像列が入力される画像入力手段、
前記第１の画像列を構成する画像と、該画像と略同時点の、前記第２の画像列を構成する画像とに基づいて、つなぎ位置情報を検出する検出処理手段、
前記検出処理手段により検出された複数時点のつなぎ位置情報を用いて各時点のつなぎ位置情報を補正する補正手段、および
前記補正手段により補正された補正つなぎ位置情報に基づいて、前記第１の画像列を構成する画像と、該画像と略同時点の、前記第２の画像列を構成する画像とを合成する処理を実行する画像合成処理手段
として機能させるためのプログラム。
【請求項１２】
それぞれ、レンズ光学系および固体撮像素子を含み、互いに異なる方向を撮像する第１の撮像手段および第２の撮像手段と、
前記第１の撮像手段により与えられる第１の画像列と、前記第２の撮像手段により与えられる第２の画像列とが入力される画像入力手段と、
前記第１の画像列を構成する画像と、該画像と略同時点の、前記第２の画像列を構成する画像とに基づいて、つなぎ位置情報を検出する検出処理手段と、
前記検出処理手段により検出された複数時点のつなぎ位置情報を用いて各時点のつなぎ位置情報を補正する補正手段と、
前記補正手段により補正された補正つなぎ位置情報に基づいて、前記第１の画像列を構成する画像と、該画像と略同時点の、前記第２の画像列を構成する画像とを合成する処理を実行する画像合成処理手段と
を含む、撮像システム。
【請求項１３】
第１の画像列を構成する画像との略同時点の第２の画像列を構成する画像に基づいて、複数時点のつなぎ位置情報を検出する検出処理手段と、
前記複数時点のつなぎ位置情報を用いて各時点のつなぎ位置情報を補正する補正手段と、
前記補正された補正つなぎ位置情報に基づいて、前記第１の画像列を構成する画像と、前記第２の画像列を構成する画像とを合成する処理を実行する画像合成処理手段と
を含む、画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム、画像処理装置、プログラムおよび撮像システムに関し、より詳細には、それぞれ複数の画像からなる複数の画像列を合成することができる画像処理システム、画像処理装置、プログラムおよび撮像システムに関する。
【背景技術】
【０００２】
従来、所定画角のレンズを備えた撮像装置で複数回撮影し、画像をつなぎ合わせて、撮像装置の画角より広角な一枚の画像を作成する方法が知られている。また、複数のカメラユニットを備え、複数のカメラユニットから同時に撮影し、画像をつなぎ合わせる装置も知られている。例えば、全天球カメラシステムが知られており、全天球カメラシステムにより、あらゆる方向を写す画像、いわゆる全天球画像を撮影することができる。全天球画像は、広角レンズによる１枚撮りでは実現できないため、１台のカメラで複数回撮影するか、または複数のカメラユニットにより同時に撮影を行い、画像をつなぎ合わせることにより実現している。
【０００３】
上述した画像のつなぎ合わせ処理では、各部分画像間で重複する領域において、パターンマッチングなどを適用し、撮影されている被写体が重なる位置を検出し、その検出位置に基づいて画像をつなぎ合わせる技術が用いられる。しかしながら、従来技術の画像のつなぎ合わせ技術は、基本的には静止画像を対象としているものが多く、動画像を対象としているものでも、略同一時点の各フレームを一つの静止画としてつなぎ合わせているに過ぎなかった。
【０００４】
動画像のフレームは、独立したものではないため、上述したような従来技術では、合成された動画像としてのフレーム間での非連続性が目立つという不具合がある。例えば、動画再生すると、つなぎ目の領域において、被写体が不連続に動くような映像となり、品質が劣化してしまう。したがって、フレーム間の関係を考慮して２つの動画像をつなぎ合わせて１つの動画像を作成することができる技術の開発が望まれていた。
【０００５】
動画像のつなぎ合わせに関連して、特許第４５７７７６５号公報（特許文献１）が知られている。特許文献１は、複数の移動カメラからの動画像であっても、それらの動画像から１つのパノラマ動画像を高速に生成することを目的とした技術を開示する。特許文献１では、先頭フレームについては、複数の動画像間で位置ずれを求め、次フレーム以降でフレーム間の位置ずれを求めることで、複数の動画像間の位置ずれを高速に求める技術が開示される。しかしながら、複数の移動カメラからの動画像の位置ずれを求めるためにフレーム間の関係を利用しているものの、フレーム毎に独立して位置ずれを求めていることと本質的に同一であり、動画像としてのフレーム間における位置関係を考慮することができるものではなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上記従来技術における不具合に鑑みてなされたものであり、本発明は、それぞれ複数の画像からなる複数の画像列を、複数時点の画像間における位置関係を考慮した補正を施して合成することができる、画像処理システム、画像処理装置、プログラムおよび撮像システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明では、上記課題を解決するために、下記特徴を有する画像処理システムを提供する。本画像処理システムは、第１の画像列および第２の画像列が入力される画像入力手段と、上述した第１の画像列を構成する画像と、該画像と略同時点の、第２の画像列を構成する画像とに基づいて、つなぎ位置情報を検出する検出処理手段と、上記検出処理手段により検出された複数時点のつなぎ位置情報を補正する補正手段と、上記補正手段により補正された補正つなぎ位置情報に基づいて、上述した第１の画像列を構成する画像と、該画像と略同時点の、第２の画像列を構成する画像とを合成する処理を実行する画像合成処理手段とを含む。
【発明の効果】
【０００８】
上記構成により、それぞれ複数の画像からなる複数の画像列を、複数時点の画像間における位置関係を考慮した補正を施して合成することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態による撮像装置のハードウェア構成図。
【図２】第１実施形態による撮像装置のカメラユニットの配置を説明する図。
【図３】従来技術による動画像のつなぎ合わせにおける不具合について説明する図。
【図４】第１実施形態による動画像のつなぎ合わせ処理に関連する機能ブロック図。
【図５】（Ａ）第１実施形態および（Ｂ）その変形例の実施形態によるフレーム記憶部の詳細な構成を示す図。
【図６】第１実施形態による撮像装置が実行する、合成された動画像を生成するための画像合成処理を示すフローチャート。
【図７】第１実施形態による画像合成処理の処理結果を説明する図。
【図８】第２実施形態による全天球撮像装置を示す断面図。
【図９】第２実施形態による全天球撮像装置上に実現される全天球動画像合成処理の主要な機能ブロック図。
【図１０】第２実施形態による全天球撮像装置が実行する全天球動画像合成処理の全体的な流れを示すフローチャート。
【図１１】第２の実施形態による全天球撮像装置における射影関係を説明する図。
【図１２】第２実施形態で用いられる全天球画像フォーマットの画像データのデータ構造を説明する図。
【図１３】第２実施形態による位置検出用歪み補正部および画像合成用歪み補正部が参照する変換データを説明する図。
【図１４】第２実施形態による位置検出処理の際における、２つの魚眼レンズで撮像された２つの部分画像の球面座標系へのマッピングを説明する図。
【図１５】第２実施形態によるつなぎ位置検出処理におけるテンプレート画像および探索画像の生成方法を説明する図。
【図１６】第２実施形態において、位置検出用変換テーブルを修正する前段処理として生成される各画素毎の補正つなぎ位置を含む補正つなぎ位置テーブルのデータ構造を示す図。
【図１７】第２実施形態において、位置検出用変換テーブルを修正する前段処理として補正つなぎ位置テーブルを生成する処理を説明する図。
【図１８】第２実施形態による画像合成処理の際における、２つの魚眼レンズで撮像された２つの部分画像の球面座標系へのマッピングを説明する図。
【図１９】第３実施形態における全天球撮像システムの概略図。
【発明を実施するための形態】
【００１０】
以下、本実施形態について説明するが、本実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下の実施形態では、画像処理システム、画像処理装置および撮像システムの一例として、２組のレンズ光学系および固体撮像素子を備え、２つの撮像光学系を通して撮像した２つの動画像をつなぎ合わせて合成動画像を生成する画像処理機能を備えた、撮像装置１０を用いて説明する。
【００１１】
［第１実施形態］
図１は、第１実施形態による撮像装置１０のハードウェア構成図である。第１実施形態による撮像装置１０は、コントローラ１２を含み、コントローラ１２は、ＣＰＵ（Central Processing Unit）１４、ＳＲＡＭ（Static Random Access Memory）１６、ＲＯＭ（Read Only Memory）１８、画像処理ブロック２０、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）インタフェース２２および外部ストレージ・インタフェース２４を備える。
【００１２】
ＣＰＵ１４は、当該撮像装置１０の各部の動作を制御する。ＳＲＡＭ１６は、画像処理を行うための記憶領域を提供する。ＲＯＭ１８は、ＣＰＵ１４が解読可能なコードで記述された制御プログラムや各種パラメータを格納する。
【００１３】
撮像装置１０は、さらに、それぞれ固体撮像素子２８およびレンズ光学系３０を含む複数のカメラユニット２６を含み、これらがコントローラ１２に接続されて、画像処理ブロック２０に画像データを入力している。固体撮像素子２８は、特に限定されるものではないが、ＣＣＤ（Charge Coupled Device）センサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサを用いることができる。この固体撮像素子２８およびレンズ光学系３０の組を撮像光学系と参照する場合がある。図１に示す実施形態では、カメラユニット２６は、２つ設けられており、以下、左カメラユニット２６ａおよび右カメラユニット２６ｂと参照する。固体撮像素子２８は、コントローラ１２内のＣＰＵ１４からの制御指令により制御される。
【００１４】
画像処理ブロック２０は、２つのレンズ光学系３０ａ，３０ｂを通して固体撮像素子２８ａ，２８ｂから、信号処理を経て入力された画像データに対し、順次、ホワイト・バランス処理やガンマ補正処理し、この撮像された２つの画像データを、順次、画像合成する。画像処理ブロック２０は、また、Ｈ．２６４などの動画圧縮および伸張を行うコーデック・ブロックを備えており、合成された複数フレームの画像からなる画像列をエンコードし、動画圧縮する。
【００１５】
撮像装置１０は、さらに、ＳＤＲＡＭ３２を含み構成され、ＳＤＲＡＭ３２は、ＳＤＲＡＭインタフェース２２を介してコントローラ１２と接続されている。撮像装置１０は、さらに、外部ストレージ３４を含み構成され、外部ストレージ３４は、外部ストレージ・インタフェース２４を介してコントローラ１２と接続されている。その他、加速度センサなどが、外部センサ・インタフェースを介してコントローラ１２に接続されてもよい。
【００１６】
電源がオン状態になると、ＲＯＭ１８に格納された制御プログラムがメインメモリにロードされる。ＣＰＵ１４は、メインメモリに読み込まれたプログラムに従って、装置各部の動作を制御するとともに、制御に必要なデータをＳＲＡＭ１６およびＳＤＲＡＭ３２に一時的に保存する。このようにして、後述する各処理および各機能部が実現される。
【００１７】
動画撮影時、固体撮像素子２８ａ，２８ｂによってデジタル化された画像データが、同一タイミングで、フレーム毎にコントローラ１２の画像処理ブロック２０に入力される。入力された画像データは、画像処理ブロック２０、ＣＰＵ１４、ＳＲＡＭ１６、ＳＤＲＡＭ３２などによって、フレーム毎に画像処理され、最終的には動画形式で外部ストレージ３４に保存される。
【００１８】
図２は、第１実施形態による撮像装置１０のカメラユニットの配置を説明する図である。図２に示すように、左カメラユニット２６ａおよび右カメラユニット２６ｂは、それぞれ異なる方向を向きつつ、一部画角が重複するように配置されている。このような構成により、それぞれのカメラユニット２６により動画像が撮影され、各フレームの画像がつなぎ合わせられて、各カメラユニット２６が有する画角の２倍弱の画角での動画撮影が可能となる。
【００１９】
図１および図２に示した撮像装置１０において、複数の動画像をつなぎ合わせる場合、複数のカメラユニット２６の間に視差が存在するため、フレーム毎に最適なつなぎ位置の検出を行う必要がある。最適なつなぎ位置の検出は、重複する領域において共通して存在する被写体が重なるように行われるが、動画像の場合、フレーム間で位置合わせのため注目する被写体が異なる可能性がある。
【００２０】
図３は、従来技術による動画像のつなぎ合わせにおける不具合について説明する図である。図３には、時間１、時間２および時間３の各時点の左カメラユニットで撮像した左フレーム、右カメラユニットで撮影した右フレームおよびこれらをつなぎ合わせた後の合成フレームが示されている。時間１、時間２および時間３は、説明した順で時間が流れている。また、左フレームおよび右フレームには、隣接するカメラユニットとの間で重複する重複領域と、当該カメラユニット単独の領域との境界が点線で示されている。撮影されたシーンとしては、奥に木が立っている風景で、人物が手前を左から右へ走って横切るシーンを想定している。つまり、人物は、左カメラユニットと右カメラユニットの間を横切る形となる。動画撮像では、１秒間に３０フレーム程度以上の撮影を行うため、図３に示すようなフレーム間で人物が大きく動くことは実際には想定し難いが、模式的に説明するため人物の動きを強調して表現している。また、図２に示したものと同様に２つのカメラユニットが配置されているものとする。
【００２１】
図３に示すように、人物が横切る前および後に対応する時間１および時間３の時点では、左フレームおよび右フレームの重複領域においては、背景の木が写っているが、手前の人物は写っていない。このため、典型的には、木の特徴に基づいて、左フレーム内の木と右フレーム内の木とが適切に重なるように位置合わせされて、図３に示すような合成フレームの画像が合成される。
【００２２】
一方、人物が重複領域を横切っている途中のタイミングに対応する時間２の時点では、左フレームおよび右フレームの重複領域において、背景の木に加えて人物が写っている。このとき、例えば人物に重みをおいて重ね合わせることにより画像全体としてのずれが少ないと判断されると、図３に示すように、木が二重像となった状態で画像つなぎ処理が行われる。
【００２３】
図３に示す一連の合成フレームを動画像としてみた場合は、途中、背景の木が不連続に動くような印象となり、視聴者に強い違和感を与える。時間２のつなぎ合わせにおいて木に重みをおいて重ねることにより画像全体としてのずれが少ないと判断され、人物が二重像となった状態で画像つなぎ処理が行われた場合も同様である。
【００２４】
なお、時間２のフレームにおいて、左フレームでは、木の右側に人物が写っているのに対して、右フレームでは、木の左側に人物が写っている。このような位置関係の相違は、カメラユニットの視差、すなわち、撮影する視点が異なることによるものである。このような、近景と遠景との位置関係のずれは、複数の撮像光学系を通して同時に撮影する構成では、避けることは難しい。
【００２５】
そこで、本実施形態による撮像装置１０では、複数の動画像を合成して１つの動画像を生成する際に、複数の動画像のフレーム毎につなぎ位置を検出した後、時間的近傍フレームに対し検出されたつなぎ位置を用いて、各時点のつなぎ位置を補正した上で画像つなぎ合わせを行う構成を採用する。これにより、フレーム間のつなぎ位置の連続性の維持を図る。
【００２６】
以下、図４〜図７を参照しながら、第１実施形態による動画像のつなぎ合わせ処理について説明する。図４は、第１実施形態による動画像のつなぎ合わせ処理に関連する機能ブロックをデータフローとともに示す図である。なお、図４に示す機能ブロックは、例えば、図１に示した画像処理ブロック２０、ＣＰＵ１４、またはこれらの組み合わせ、および、ＳＲＡＭ１６、ＳＤＲＡＭ３２、またはこれらの組み合わせによって実施される。
【００２７】
図４には、機能ブロック１００として、左フレーム入力部１０２と、右フレーム入力部１０４と、左フレーム記憶部１１０と、右フレーム記憶部１２０と、つなぎ位置検出部１３０と、つなぎ位置情報記憶部１４０と、つなぎ位置情報補正部１５０と、画像つなぎ処理部１６０と、動画圧縮部１７０とが示されている。
【００２８】
左フレーム入力部１０２および右フレーム入力部１０４には、左カメラユニット２６ａおよび右カメラユニット２６ｂで撮像された所定レートのフレームの画像データが入力される。なお、フレームは、動画像を構成する各コマの画像を意味し、複数のフレームの画像の系列により、本実施形態における画像列が構成される。
【００２９】
左フレーム記憶部１１０および右フレーム記憶部１２０は、それぞれ、左フレーム入力部１０２および右フレーム入力部１０４に入力されたフレームの画像データを読み込み、記憶する。左フレーム記憶部１１０，右フレーム記憶部１２０は、少なくとも１つのフレーム分の画像データを一時記憶するものである。説明する実施形態においては、複数フレーム分の記憶領域を有し、ＦＩＦＯ（First In First Out）方式でフレームの画像データを保持している。つまり、全記憶領域が埋まった状態で新しいフレームが記憶されると、最も先に記憶されていたフレームが押し出され、削除される。図５（Ａ）は、説明する実施形態における各フレーム記憶部の詳細な構成を示す。図５（Ａ）に示すように左フレーム記憶部１１０および右フレーム記憶部１２０は、２フレーム分の記憶領域を有している。
【００３０】
つなぎ位置検出部１３０は、左フレーム記憶部１１０および右フレーム記憶部１２０に読み込まれた略同一時点のフレームの画像データをつなぎ合わせる際の最適なつなぎ位置を検出する。つなぎ位置の検出には、特に限定されるものではないが、典型的には、テンプレート・マッチング技術を適用することができる。つなぎ位置検出部１３０は、本実施形態におけるつなぎ位置検出処理手段を構成する。
【００３１】
つなぎ位置情報記憶部１４０は、つなぎ位置検出部１３０により検出された複数時点のつなぎ位置情報を一時記憶する、つなぎ位置情報記憶手段である。つなぎ位置情報記憶部１４０は、説明する実施形態においては、複数フレーム分の記憶領域を有し、ＦＩＦＯ方式でつなぎ位置情報を保持する。つまり、全記憶領域が埋まった状態で新しいつなぎ位置情報が記憶されると、最も先に記憶されていたつなぎ位置情報が押し出され、削除される。図５（Ａ）には、説明する実施形態におけるつなぎ位置情報記憶部１４０の詳細な構成が示されている。図５（Ａ）に示すように、本実施形態によるつなぎ位置情報記憶部１４０は、３フレーム分の記憶領域を有している。
【００３２】
つなぎ位置情報補正部１５０は、つなぎ位置情報記憶部１４０に記憶された複数時点のつなぎ位置情報を、例えば、時間で平均処理することにより平滑化して補正する。平均処理としては、特に限定されるものではないが、例えば、重み付け平均、ローパスフィルタやメディアンフィルタを使った処理を行うことができる。つまり、複数の時点でのつなぎ位置情報を用いて、各時点のつなぎ位置情報を補正する処理を行う。つなぎ位置情報補正部１５０は、本実施形態における補正手段を構成する。
【００３３】
画像つなぎ処理部１６０は、左フレーム記憶部１１０および右フレーム記憶部１２０から略同一時点のフレームの画像データを読み出し、つなぎ位置情報補正部１５０により補正されたつなぎ位置情報（以下、補正つなぎ位置情報と参照する。）を用いて合成する。画像つなぎ処理部１６０は、本実施形態における画像合成処理手段である。
【００３４】
図５（Ａ）に示す実施形態では、各フレーム記憶部１１０，１２０に２フレーム分の画像データが記憶され、つなぎ位置情報記憶部１４０には３フレーム分のつなぎ位置情報が保持される。画像つなぎ処理部１６０は、最新のフレームのつなぎ位置情報を含む複数時点のつなぎ位置情報から計算された補正つなぎ位置情報を用いて、その中間に対応する一つ前のフレームの画像データをフレーム記憶部１１０，１２０から読み出して、これを合成対象とする。このようにすることで、撮像装置１０に求められるメモリ容量を削減することができる。
【００３５】
動画圧縮部１７０は、Ｈ．２６４、ＭＰＥＧ４などの動画圧縮および伸張を行うコーデック・ブロックを備えている。動画圧縮部１７０には、合成された複数の合成フレームからなる画像列が入力されている。この動画圧縮部１７０は、これらの入力された画像列を動画圧縮し、画像列を構成する各合成フレームをコマとする動画データを生成する。動画圧縮部１７０は、合成フレームで構成される画像列に基づき動画データを生成する、本実施形態における動画像生成手段を構成する。
【００３６】
以下、図６を参照して、合成された動画像を生成するための画像合成処理について説明する。図６は、第１実施形態による撮像装置１０が実行する、合成された動画像を生成するための画像合成処理を示すフローチャートである。
【００３７】
図６に示す処理は、固体撮像素子２８ａ，２８ｂからの画像データが画像処理ブロック２０のフレーム入力部１０２，１０４に入力開始されたことに応答して、ステップＳ１００から開始される。ステップＳ１０１では、撮像装置１０は、左フレーム記憶部１１０および右フレーム記憶部１２０に、最新の左フレームおよび右フレームの画像データを記憶する。このとき、既に２フレーム分の記憶領域が埋まっている場合は、最も古いフレームが削除される。
【００３８】
ステップＳ１０２では、撮像装置１０は、つなぎ位置検出部１３０で、最新の左フレームおよび右フレーム間のつなぎ位置を検出し、つなぎ位置情報を生成する。なお、つなぎ位置情報は、一方のフレームの画像に対し他方のフレームの画像を重ねる位置の基準位置からのずれ量として求められる。つなぎ位置情報は、典型的には、縦方向および横方向のずれ量を画素数で表した情報となる。また、説明する実施形態では、つなぎ位置情報は、フレーム間での１つの基準位置からのずれ量として求めるものとするが、他の実施形態では、フレーム間で複数の基準位置に対してずれ量を求めて、これらを補間して各画素に対して適用してもよい。
【００３９】
ステップＳ１０３では、撮像装置１０は、つなぎ位置情報記憶部１４０に対し、最新のフレームで検出したつなぎ位置情報を記憶する。このとき、既に３フレーム分の記憶領域が埋まっている場合は、最も古いつなぎ位置情報が削除される。
【００４０】
ステップＳ１０４では、撮像装置１０は、フレーム記憶部１１０，１２０の記憶領域がすべて埋まっているか否かを判定する。ステップＳ１０４で、記憶領域がすべて埋まっていないと判定された場合（ＮＯ）は、ステップＳ１０１へ処理をループさせ、充分なフレームが入力されるのを待つ。これに対して、ステップＳ１０４で、記憶領域がすべて埋まっていると判定された場合（ＹＥＳ）は、ステップＳ１０５へ処理が進められる。なお、図５（Ａ）に示す実施形態では、処理開始後の１番目のフレームを処理するときだけ記憶領域が埋まっていないと判定され、２番目のフレーム以降は、２フレーム分の記憶領域は常に埋まることとなる。
【００４１】
ステップＳ１０５では、撮像装置１０は、つなぎ位置情報記憶部１４０に記憶された複数のつなぎ位置情報を読み出し、つなぎ位置情報補正部１５０で、これらを重み付け平均する。つなぎ位置情報記憶部１４０に記憶された３つのつなぎ位置情報を（ΔＸ−１，ΔＹ−１）、（ΔＸ０，ΔＹ０）、（ΔＸ＋１，ΔＹ＋１）とすると、補正つなぎ位置情報（ΔＸａｖｅ，ΔＹａｖｅ）は、下記式（１）で計算される。ただし、下記式中、ΔＸ−１，ΔＸ０，ΔＸ＋１は、最新フレームの２つ前、最新フレームの１つ前、最新フレームの画像横方向のつなぎ位置を示し、ΔＹ−１，ΔＹ０，ΔＹ＋１は、画像縦方向のつなぎ位置を示す。また、Ｃ−１，Ｃ０，Ｃ＋１は、重みであり、例えば、Ｃ−１，Ｃ＋１は、０．２とし、Ｃ０は０．６として、画像合成の対象となる時点に対するつなぎ位置情報（ΔＸ０，ΔＹ０）に対応する係数Ｃ０の重みを大きくすることができる。
【００４２】
（数１）
ΔＸａｖｅ＝Ｃ−１×ΔＸ−１＋Ｃ０×ΔＸ０＋Ｃ＋１×ΔＸ＋１
ΔＹａｖｅ＝Ｃ−１×ΔＹ−１＋Ｃ０×ΔＹ０＋Ｃ＋１×ΔＹ＋１
【００４３】
上記式（１）を用いることにより、次ステップ以降でつなぎ処理される最新のフレームから検出されたつなぎ位置情報（ΔＸ０，ΔＹ０）に重みを置きつつ、その前後の近傍フレームから検出されたつなぎ位置情報（ΔＸ−１，ΔＹ−１），（ΔＸ＋１，ΔＹ＋１）を混ぜて補正する。これにより、フレーム間の連続性を高めることができる。
【００４４】
ステップＳ１０６では、撮像装置１０は、フレーム記憶部１１０，１２０で、最も古いフレームを読み出す。ＦＩＦＯ形式であるので、１フレーム分読み出せば、自動的に最も古いフレームが読み出される。説明する実施形態では、最も古いフレームは、つなぎ位置情報（ΔＸ０，ΔＹ０）に対応するものとなる。
【００４５】
ステップＳ１０７では、撮像装置１０は、画像つなぎ処理部１６０で、重み付け平均した補正つなぎ位置情報（ΔＸａｖｅ，ΔＹａｖｅ）を用いて、ステップＳ１０６で読み出された最も古い左フレームおよび右フレーム間で画像つなぎ処理を行う。
【００４６】
ステップＳ１０８では、撮像装置１０は、入力されたものが最終フレームであるか否かを判断する。ステップＳ１０８で、最終フレームではないと判定された場合（ＮＯ）は、ステップＳ１０１へループされ、画像合成処理を継続する。これに対して、ステップＳ１０８で、それ以上のフレームが入力されず、最終フレームであると判定された場合（ＹＥＳ）は、ステップＳ１０９へ処理を分岐させて、本画像合成処理を終了する。
【００４７】
図６に示す処理により生成された合成フレームからなる合成画像列は、順次、動画圧縮部１７０に出力され、動画圧縮部１７０でさらに動画圧縮されて、動画データとして書き出されることになる。
【００４８】
以下、図７を参照しながら、本実施形態による画像合成処理結果について説明する。図７は、第１実施形態による画像合成処理の処理結果を説明する図である。なお、図７に示す例は、図３を用いて従来技術による問題点を説明した際と同じ画像列が入力された場合の処理結果を示す。
【００４９】
図３と同様に、時間１および時間３のフレームでは、フレーム間で背景となる木が重なる位置をつなぎ位置として検出し、これに対し、時間２のフレームでは、人物が重なるが背景の木が大きくずれる位置を繋ぎ位置として検出している。しかしながら、本実施形態による画像合成処理では、各フレームでつなぎ位置情報を検出した後、時間的近傍、すなわち前後のフレームに対し（木が重なるように）検出されたつなぎ位置情報を用いて重み付け平均化し、この補正されたつなぎ位置情報を用いて実際のつなぎ合わせを行っている。
【００５０】
ここで、時間２のフレームについて説明すると、時間１、時間２および時間３のフレームに対応するつなぎ位置情報を重み付け平均することになる。これにより、平均化前のつなぎ位置は人物が重なり、背景の木が大きくずれる位置であったが、平均化後のつなぎ位置は、人物および背景の木に緩やかに重なるという、中間的な位置となる。これにより、時間２のフレームの合成フレームを単独で見ると必ずしも画像がぴったり重なっていないが、動画として鑑賞する場合は、従来技術で強い違和感となっていた背景の木が不連続に動くというような印象を抑制することができる。
【００５１】
上述した第１実施形態では、フレーム記憶部１１０，１２０は、それぞれ、２フレーム分の記憶領域を備え、つなぎ位置情報記憶部１４０は、３フレーム分の記憶領域を備えていた。しかしながら、これに限定されるものではなく、他の実施形態では、フレーム記憶部１１０，１２０に記憶するフレーム数を削減することにより、フレーム記憶部１１０，１２０の領域を節約することができる。ここで、つなぎ位置情報記憶部１４０の記憶領域は、フレーム記憶部１１０，１２０より大きければ、つなぎの補正処理が実施できる。
【００５２】
図５（Ｂ）は、そのような他の実施形態による左フレーム記憶部２１０、右フレーム記憶部２２０およびつなぎ位置情報記憶部２４０の詳細を示す図である。なお、図４および図５（Ａ）に示した第１実施形態と同様の働きをする機能部に対しては、下２桁が同じ２００番台の符号を付している。図５（Ｂ）に示す実施形態では、具体的には、フレーム記憶部２１０，２２０が、１フレーム分しか記憶できない容量とされ、つなぎ位置情報記憶部２４０が、２フレーム分のデータしか記憶できない容量とされている。
【００５３】
図５（Ｂ）に示す構成の場合には、つなぎ位置情報記憶部２４０には、ひとつ前のフレームのつなぎ位置情報と、最新のフレームのつなぎ位置情報とが記憶されている。すなわち、先に説明した第１実施形態との相違点は、ひとつ先のフレームのつなぎ位置情報を有しないことである。これにより、省容量でフレーム間の連続性を維持することができる。
【００５４】
つなぎ位置の補正処理は、上述した第１実施形態では、画像合成の対象となるフレームと前後各１フレームの３フレームに対するつなぎ位置情報を用い、図５（Ｂ）に示す他の実施形態では、合成対象フレームと直後の１フレームの２フレームに対するつなぎ位置情報を用いたが、これに限定されず、種々の変形例が存在する。
【００５５】
例えば、合成対象フレームと前後各３フレームの７フレームを用いて、より広い範囲でフレーム間の連続性を維持するよう構成することもできる。また、合成対象フレームと前２フレームと後５フレームで合計８フレームというように、前後の対称性を維持しなくともよい。このような変形例では、つなぎ位置の補正処理に合わせて、フレーム記憶部およびつなぎ位置情報記憶部の容量を準備すればよい。
【００５６】
以上説明した第１の実施形態では、２つのカメラユニット２６を用いて、撮影方向をずらして２つの動画像を撮影し、これらをつなぎ合わせて、所定方向に通常の２倍弱の画角での動画撮影を可能とするものであった。しかしながら、使用するカメラユニット２６の数は、２に限定されるものではなく、３以上の任意の数とすることができる。また、上述したように水平方向または垂直方向にずらして、該方向において通常よりも大きい画角での動画撮影を可能とするほか、水平方向および垂直方向の両方に画角の拡張を行ってもよい。さらに、他の実施形態では、水平方向または垂直方向で一周してパノラマ画像を合成する場合に適用することもでき、水平方向および垂直方向の両方向で一周する全天球画像を合成する場合に適用することもでき、特に限定されるものではない。
【００５７】
［第２実施形態］
以下、撮影地点からの全ての方向を撮影する全天球撮像装置３００を用いて、第２実施形態について説明する。
【００５８】
図８は、第２実施形態による全天球撮像装置３００を示す断面図である。図８に示す全天球撮像装置３００は、撮像体３０２と、上記撮像体３０２およびコントローラやバッテリなどの部品を保持する筐体３０４と、上記筐体３０４に設けられたシャッター・ボタン３０６とを備える。図８に示す撮像体３０２は、２つの固体撮像素子３０８ａ，３０８ｂと、２つのレンズ光学系３１０ａ，３１０ｂとを含む。レンズ光学系３１０各々は、例えば６群７枚の魚眼レンズとして構成することができる。上記魚眼レンズは、図８に示す実施形態では、１８０度（＝３６０度／ｎ；ｎ＝２）より大きい全画角を有し、好適には、１８５度以上の画角を有し、より好適には、１９０度以上の画角を有する。ここで、固体撮像素子３０８の位置は紙面上で上下に設けられているが、レンズ光学系３１０を適宜に調整して、紙面上に垂直の位置に設けられても良い。
【００５９】
２つのレンズ光学系３１０ａ，３１０ｂの光学素子（レンズ、プリズム、フィルタおよび開口絞り）は、固体撮像素子３０８ａ，３０８ｂに対して位置関係が定められる。図８に示す実施形態では、レンズ光学系３１０ａ，３１０ｂは、同一仕様のものであり、それぞれの光軸が合致するようにして、互いに逆向きに組み合わせられている。固体撮像素子３０８ａ，３０８ｂは、受光した光分布を画像信号に変換して、コントローラ上の画像処理ブロックに出力する。
【００６０】
画像処理ブロックは、固体撮像素子３０８ａ，３０８ｂからそれぞれ入力される画像列の各魚眼画像をつなぎ合わせて合成し、立体角４πラジアンの動画像（以下「全天球動画像」と参照する。）を生成する。全天球動画像は、撮影地点から見渡すことのできる全ての方向を撮影した動画となる。このように、複数の撮像光学系は、それぞれ、所定の画角を有するが、この複数の撮像光学系の画角を合わせることにより、４πステアラジアンの立体角がカバーされ、合成される合成画像は、全天球画像を構成することになる。ここで、図８に示す実施形態では、全天球画像を生成しているが、水平面のみ３６０度を撮影した、いわゆるパノラマ画像であってもよい。
【００６１】
上述したように、魚眼レンズが１８０度を超える全画角を有するため、全天球画像を構成する際には、各撮像光学系による画像において、重複する画像部分があり、この重複領域が、同一像を表す基準データとして画像つなぎ合わせの参考とされる。生成された全天球画像の動画像は、例えば、ＳＤ（登録商標）カードやコンパクトフラッシュ（登録商標）などの外部ストレージなどに出力される。なお、ハードウェア構成としては、図１を参照して説明した第１実施形態と同様の構成を採用することができるので、説明を省略する。
【００６２】
図８に示すような全天球撮像装置３００においても、事前の処理として、２枚の魚眼画像を全天球画像フォーマットに変換する処理を行うことで、第１の実施形態について説明したものと同様の画像つなぎ処理を適用することができる。
【００６３】
以下、図９〜図１８を参照しながら、第２実施形態による全天球撮像装置３００が備える全天球動画像合成機能について詳細を説明する。図９は、第２実施形態による全天球撮像装置３００上に実現される全天球動画像合成処理の主要な機能ブロックを示す。第２実施形態による画像処理ブロック４００は、図９に示すように、フレーム記憶部４０２と、位置検出用歪み補正部４０４と、つなぎ位置検出部４０６と、つなぎ位置情報記憶部４０８と、つなぎ位置情報補正部４１０と、テーブル修正部４１２と、テーブル生成部４１４と、画像合成用歪み補正部４１６と、画像合成部４１８とを含み構成される。
【００６４】
また、画像処理ブロック４００には、２つの固体撮像素子３０８ａ，３０８ｂから、各種画像信号処理を経て、各フレーム毎に２つの部分画像が入力される。ここで、固体撮像素子３０８ａをソースとするフレームの画像を「部分画像０」のように参照し、固体撮像素子３０８ｂをソースとするフレームの画像を「部分画像１」のように参照する。画像処理ブロック４００には、さらに、それぞれのレンズ光学系の設計データ等に基づいて、所定の投影モデルに従い製造元等で予め作成された、位置検出用変換テーブル４３０が提供される。この変換テーブル４３０は、魚眼レンズの歪みを補正するという意味合いを有することから、歪み補正テーブルと参照される場合がある。
【００６５】
位置検出用歪み補正部４０４は、つなぎ位置検出処理の前段の処理として、入力される部分画像０および部分画像１に対し、位置検出用変換テーブル４３０を用いて歪み補正を施し、位置検出用補正画像（以下、単に補正画像と参照する場合がある。）０および位置検出用補正画像１を生成する。入力される部分画像０，１は、平面座標系（ｘ，ｙ）で表現された画像データであり、これに対し、位置検出用変換テーブル４３０を用いて歪み補正がかけられた補正画像は、球面座標系（動径を１とし、２つの偏角θ，φを有する極座標系である。）で表現された全天球画像フォーマットの画像データとなる。位置検出用歪み補正部４０４は、第２実施形態における位置合わせ用変換手段を構成する。
【００６６】
図１１は、第２の実施形態による全天球撮像装置３００における射影関係を説明する図である。第２実施形態において、１つ魚眼レンズで撮影された画像は、撮影地点から概ね半球分の方位を撮影したものとなる。また、魚眼レンズでは、図１１（Ａ）に示すように、光軸に対する入射角度φに対応した像高ｈで画像生成される。像高ｈと、入射角度φとの関係は、所定の投影モデルに応じた射影関数で決定される。射影関数は、魚眼レンズの性質によって異なるが、上記投影モデルとしては、等距離射影方式（ｈ＝ｆ×φ）、中心投影方式（ｈ＝ｆ・ｔａｎφ）、立体射影方式（ｈ＝２ｆ・ｔａｎ（φ／２））、等立体角射影方式（ｈ＝２ｆ・ｓｉｎ（φ／２））および正射影方式（ｈ＝ｆ・ｓｉｎφ）を挙げることができる。いずれの方式においても、光軸からの入射角度φと焦点距離ｆとに対応して結像の像高ｈが決定される。また、説明する実施形態では、画像対角線よりもイメージサークル径が小さな、いわゆる円周魚眼レンズの構成を採用するものとし、得られる部分画像は、図１１（Ｂ）に示すように、撮影範囲の概ね半球分が投影されたイメージサークル全体を含む平面画像となる。
【００６７】
図１２は、第２実施形態で用いられる全天球画像フォーマットの画像データのデータ構造を説明する図である。図１２に示すように、全天球画像フォーマットの画像データは、所定の軸に対するなす角度に対応する垂直角度φと、上記軸周りの回転角に対応する水平角度θとを座標とした画素値の配列として表現される。水平角度θは、０〜３６０度（−１８０度〜＋１８０度とも表現できる。）の範囲となり、垂直角度φは、０〜１８０度（同様に−９０度〜＋９０度とも表現できる。）の範囲となる。各座標値（θ，φ）は、撮影地点を中心とした全方位を表す球面上の各点と対応付けられており、全方位が全天球画像上にマッピングされる。魚眼レンズで撮影された画像の平面座標と、全天球画像フォーマットの球面上の座標との関係は、図１１で説明したような射影関数を用いることによって対応付けることができる。
【００６８】
図１３は、第２に実施形態による位置検出用歪み補正部４０４および画像合成用歪み補正部４１６が参照する変換データを説明する図である。変換テーブル４３０，４３２は、平面座標系で表現される部分画像から、球面座標系で表現される画像への射影を規定する。変換テーブル４３０，４３２は、図１３（Ａ）および（Ｂ）に示すように、各魚眼レンズ毎に、補正後画像の座標値（θ,φ）と、該座標値（θ,φ）にマッピングされる補正前の部分画像の座標値（ｘ、ｙ）とを対応付ける情報を、全座標値（θ，φ）（θ＝０，・・・３６０度，φ＝０，・・・，１８０度）に対して保持する。図１３の例示では、１画素が担当する角度は、φ方向およびθ方向いずれも１／１０度であり、変換テーブル４３０，４３２は、各魚眼レンズについて、３６００×１８００の対応関係を示す情報を有している。
【００６９】
つなぎ位置検出の際に用いられる位置検出用変換テーブル４３０は、事前に製造元等で理想的なレンズモデルからの歪みを補正した上で計算され、テーブル化されたものである。これとは対照的に、画像合成用変換テーブル４３２は、詳細は後述するが、位置検出用変換テーブル４３０から所定の変換処理よって生成されるものである。
【００７０】
図１４は、第２実施形態による位置検出処理の際における、２つの魚眼レンズで撮像された２つの部分画像の球面座標系へのマッピングを説明する図である。位置検出用歪み補正部４０４による処理の結果、魚眼レンズで撮像された２つの部分画像０，１は、図１４に示すように、全天球画像フォーマット上に展開される。魚眼レンズ０により撮影された部分画像０は、典型的には、全天球のうちの概ね上半球にマッピングされ、魚眼レンズ１により撮影された部分画像１は、全天球のうちの概ね下半球にマッピングされる。全天球フォーマットで表現された補正画像０および補正画像１は、魚眼レンズの全画角が１８０度を超えるため、それぞれ半球からはみ出し、その結果、補正画像０および補正画像１を重ね合わせると、画像間で撮影範囲が重複する重複領域が発生する。
【００７１】
事前処理として、全天球フォーマットへの変換を行うことで、その後は、図１４に示す重複領域においてつなぎ検出を行える。よって、第１実施形態において説明したつなぎ位置補正処理を適用して画像つなぎを行い、そのまま変換した画像を用いて、複数の合成フレームからなる全天球動画を生成することができる。これに対して、図９に示す実施形態では、位置合わせ用の球面画像とは異なる画像合成用の球面画像を別途生成する方式を採用している。以下、図９を参照しながら、かかる方式について説明を続ける。
【００７２】
位置検出用歪み補正部４０４による補正後は、つなぎ位置検出部４０６により、上記重複領域において、画像間のつなぎ位置が検出されることになる。つなぎ位置検出部４０６は、第２実施形態における検出手段を構成する。本実施形態による位置検出用変換テーブル４３０では、図１４に示すように、２つのレンズ光学系各々の光軸を球面の２つの極（φ＝０度，１８０度）に射影するとともに、画像間の重複領域を球面の赤道近傍（φ＝９０度±（（全画角−１８０度）／２））に射影するように作成される。
【００７３】
球面座標系では、垂直角度φが０度または１８０度である極に近接するほど、歪みが大きくなり、つなぎ位置検出精度が劣化してしまう。これに対し、上述したような射影とすることによって、θ方向にずれたときの歪み量が小さな垂直角度９０度付近に、重複領域を位置させて、つなぎ位置検出が行われることになり、つなぎ位置検出精度を向上させることができる。ひいては、歪みの大きなレンズ光学系で撮像された画像あっても、高い精度でつなぎ位置を検出することが可能となる。
【００７４】
ここで、つなぎ位置検出部４０６は、位置検出用歪み補正部４０４により変換された補正画像０，１の入力を受けて、パターンマッチング処理により、入力された補正画像０，１間のつなぎ位置を検出し、つなぎ位置情報を生成する。つなぎ位置情報記憶部４０８は、第１実施形態と同様に、つなぎ位置検出部４０６により検出された複数時点のつなぎ位置情報を一時記憶する。つなぎ位置情報補正部４１０は、つなぎ位置情報記憶部４０８に記憶された複数時点のつなぎ位置情報を、例えば、時間で平均処理することにより補正する。この補正されたつなぎ位置情報を、補正つなぎ位置情報と呼ぶ。
【００７５】
テーブル修正部４１２は、補正つなぎ位置情報に基づいて、事前準備された位置検出用変換テーブル４３０に対して修正を施し、テーブル生成部４１４に渡す。テーブル生成部４１４は、上記テーブル修正部４１２により修正された変換データから、回転座標変換に基づき、画像合成用変換テーブル４３２を生成する。テーブル修正部４１２は、第２実施形態における修正手段を構成し、テーブル生成部４１４は、第２実施形態におけるテーブル生成手段を構成する。
【００７６】
画像合成用歪み補正部４１６は、画像合成処理の前段の処理として、元の部分画像０および部分画像１に対し、画像合成用変換テーブル４３２を用いて歪み補正をかけ、画像合成用補正画像０および画像合成用補正画像１を生成する。なお、ここで処理の対象となる部分画像０，１は、フレーム記憶部４０２に記憶された最も古いフレームに対応するものである。画像合成用歪み補正部４１６は、第２実施形態における合成用変換手段を構成する。
【００７７】
生成される画像合成用補正画像０，１は、位置検出用補正画像と同様に、球面座標系で表現されている一方で、上記回転座標変換により、位置検出用補正画像とは座標軸の定義が異なったものとなる。
【００７８】
図１８は、第２実施形態による画像合成処理の際における、２つの魚眼レンズで撮像された２つの部分画像の球面座標系へのマッピングを説明する図である。上記回転座標変換により、図１４に示すような、一方のレンズ光学系の光軸を軸とした水平角度および垂直角度の座標軸の定義から、図１８に示すような、光軸に垂直な軸を基準とした水平角度および垂直角度の定義に変換される。これにより、画像合成用歪み補正部４１６による処理の結果、魚眼レンズで撮像された２つの部分画像０，１は、図１８に示すように、全天球画像フォーマット上に展開される。魚眼レンズ０により撮影された部分画像０は、典型的には、全天球のうちの概ね左半球にマッピングされ、魚眼レンズ１により撮影された部分画像１は、全天球のうちの概ね右半球にマッピングされる。
【００７９】
図１８を図１４と比較すると明らかであるが、画像合成用では、位置補正用の全天球フォーマットに対し、異なった位置に部分画像０および部分画像１がマッピングされており、シーンの天頂方向が画像の上下方向となるφ方向に一致している。部分画像０，１の中心部が、より歪みの少ない赤道上にマッピングされ、補正画像０および補正画像１間の重複領域になる周辺部が、図９に示したものと異なり、垂直角度０度および１８０度付近、並びに、水平角度０度および１８０度の近傍領域にマッピングされる。
【００８０】
画像合成部４１８は、得られた画像合成用補正画像０および画像合成用補正画像１を合成し、全天球画像フォーマットの合成画像のフレームを生成する。動画圧縮部４２２には、合成された複数の全天球画像の合成フレームからなる画像列が入力されており、動画圧縮部４２２は、これらを動画圧縮し、画像列を構成する各合成フレームをコマとする動画像を生成し、動画データ４４０を書き出す。画像合成部４１８は、第２実施形態における、球面座標系の画像を重ね合わせて合成する合成手段を構成する。
【００８１】
図９に示す画像処理ブロック４００は、さらに、表示画像生成部４２０を含むことができる。上記生成された合成画像は、全天球画像フォーマットで表現されるため、そのまま、ディスプレイなどの平面表示デバイスに表示させると、垂直角度０度および１８０度に近づくほど画像が歪んで表示されることになる。表示画像生成部４２０は、全天球画像を平面表示デバイスに投影するための画像処理を実行する手段である。
【００８２】
表示画像生成部４２０は、例えば、全天球画像フォーマットの合成画像から、球面座標系から特定方向および特定画角の平面座標系への順次変換し、ユーザが指定する特定の視野方向の一定画角の画像に投影する処理を行うことができる。これにより、視聴者は、所定の視点および視野で観察した場合に相当する動画像を視聴することができるようになる。
【００８３】
なお、図９において破線４５０で示された、部分画像０，１を入力としてつなぎ位置情報を出力するための、位置検出用歪み補正部４０４およびつなぎ位置検出部４０６を合わせたものが、第２実施形態における検出処理手段を構成する。また、図９において破線４６０で示された、部分画像０，１を入力とし、かつ、つなぎ位置情報補正部４１０からの補正つなぎ位置情報を入力とし、最終的な合成された全天球画像を出力するための、テーブル修正部４１２、テーブル生成部４１４、画像合成用歪み補正部４１６および画像合成部４１８を合わせたものが、第２実施形態における画像合成処理手段を構成する。
【００８４】
以下、図１０、図１５、図１６および図１７を参照しながら、第２実施形態による全天球動画像合成処理の流れを説明する。図１０は、第２実施形態による全天球撮像装置３００が実行する全天球動画像合成処理の全体的な流れを示すフローチャートである。図１０に示す処理は、例えば、シャッター・ボタン３０６の押下によりＣＰＵから撮像（撮影）指令が発行されたことに応答して、ステップＳ２００から開始される。
【００８５】
ステップＳ２０１では、全天球撮像装置３００は、部分画像０用フレーム記憶部４０２ａおよび部分画像１用フレーム記憶部４０２ｂに、最新のフレームの部分画像０および部分画像１の画像データを記憶する。このとき、既に最大フレーム分の記憶領域が埋まっている場合は、最も古いフレームが削除される。
【００８６】
ステップＳ２０２では、全天球撮像装置３００は、位置検出用歪み補正部４０４により、２つの固体撮像素子３０８ａ，３０８ｂによって取得された部分画像０および部分画像１に対し、位置検出用変換テーブル４３０を用いて歪み補正を行う。これによって、図１４に示すような全天球画像フォーマットの位置検出用補正画像０および位置検出用補正画像１が得られる。
【００８７】
ステップＳ２０３では、全天球撮像装置３００は、つなぎ位置検出部４０６で、最新のフレームの位置検出用部分画像０および位置検出用部分画像１の重複領域でつなぎ位置を検出し、つなぎ位置情報を生成する。説明する実施形態では、つなぎ位置情報は、テンプレート・マッチングにより、一方の１以上の画像から切り出されたテンプレート画像に対し他方の対応する探索範囲の画像との間でマッチングスコアが最大となる位置の基準位置からのずれ量として計算される。
【００８８】
図１５は、第２実施形態によるつなぎ位置検出処理におけるテンプレート画像および探索画像の生成方法を説明する図である。説明する実施形態では、テンプレート生成用画像５００は、位置検出用補正画像１の重複領域の部分の画像であり、探索用画像５１０は、位置検出用補正画像０の重複領域の部分の画像である。ここで、テンプレート画像を構成する画素サイズである所定のブロック・サイズが指定され、隣接するテンプレート画像が生成される間隔である所定の生成間隔が指定されるものとする。また、最初のテンプレート画像を切り出す座標である生成開始座標も与えられるものとする。なお、ブロック・サイズおよび生成間隔は、つなぎ合わせの所望の精度および処理量を勘案して定めればよい。
【００８９】
ブロック・サイズをＷ画素×Ｈ画素とし、生成開始座標を（ｓｘ，ｓｙ）とし、生成間隔をｓｔｅｐ画素とすると、図１５に示すような態様で複数のテンプレート画像５０２−１〜５０２−＃が生成される。生成されるテンプレートのブロック数＃は、テンプレート生成用画像５００の水平方向サイズ（説明する実施形態で全天球フォーマットの幅サイズ＝３６００画素）を生成間隔（ｓｔｅｐ）で割った値の整数値となる。
【００９０】
生成された複数のテンプレート画像５０２−１〜５０２−＃に対し、探索用画像５１０上での対応部分５１４が所定の探索範囲５１２内で探索されることになる。テンプレート・マッチングとしては、ゼロ平均正規化相互相関（Zero-mean Normalized Cross-Correlation）法、ＳＳＤ（Sum of Square Difference）法、ＳＡＤ（Sum of Absolute Difference）法、ＺＳＳＤ（Zero-mean Sum of Square Difference）法、ＺＳＡＤ（Zero mean Sum of Absolute Difference）法、ＮＣＣ（Normalized Cross-Correlation）法、またはこれらの任意の組み合わせを採用することができる。
【００９１】
なお、全天球画像フォーマットのθ座標の両端（０度および３６０度）はつながっているため、テンプレート画像の生成やテンプレート・マッチングの際は、右端の隣は左端として、左端の隣は右端として取り扱うことができる。上述したステップ２０３では、この各テンプレート画像５０２−１〜５０２−＃に対して、それぞれ、マッチングスコアが最大となる位置の基準位置からのずらし量が検出される。
【００９２】
ステップＳ２０４では、全天球撮像装置３００は、つなぎ位置情報記憶部４０８に対し、最新のフレームで検出した各テンプレート画像毎のつなぎ位置情報を記憶する。このとき、既に最大フレーム分の記憶領域が埋まっている場合は、最も古いつなぎ位置情報が削除される。
【００９３】
ステップＳ２０５では、全天球撮像装置３００は、フレーム記憶部４０２ａ，４０２ｂの記憶領域がすべて埋まっているか否かを判定する。ステップＳ２０５で、記憶領域がすべて埋まっていないと判定された場合（ＮＯ）は、ステップＳ２０１へ処理をループさせ、充分なフレームが入力されるのを待つ。これに対して、ステップＳ２０５で、記憶領域がすべて埋まっていると判定された場合（ＹＥＳ）は、ステップＳ２０６へ処理が進められる。
【００９４】
ステップＳ２０６では、全天球撮像装置３００は、つなぎ位置情報記憶部４０８に記憶された複数時点の各テンプレート画像毎のつなぎ位置情報を読み出し、つなぎ位置情報補正部４１０で、各テンプレート画像毎にこれらを重み付け平均する。ステップＳ２０７では、全天球撮像装置３００は、重み付け平均された各テンプレート画像毎の補正つなぎ位置情報を用いて、位置検出用変換テーブル４３０を、画像が球面座標上で位置合わせされるように修正する。
【００９５】
図１６は、本実施形態において、位置検出用変換テーブル４３０を修正する前段処理として生成される各画素毎の補正つなぎ位置を含む補正つなぎ位置テーブルのデータ構造を示す図である。ステップＳ２０７の前段処理では、テンプレート画像毎の補正つなぎ位置情報に基づき、図１６に示すような、変換後の各座標値（θ，φ）に対して、補正されたずらし量（Δθ，Δφ）が対応付けられた情報を全座標値について保持するテーブルを生成する。このとき、上記つなぎ位置検出および補正処理により求められたテンプレート・ブロック（ｉ）毎の補正されたずらし量（Δθｉ，Δφｉ）を、テンプレート・ブロックの中心座標の値として設定し、各座標値（θ，φ）に対応する補正されたずらし量（Δθ，Δφ）を補間して、補正つなぎ位置を計算することができる。なお、説明する実施形態では、各画素毎の補正つなぎ位置をテーブル形式で保持する構成としたが、特に限定されるものではない。
【００９６】
具体的には、まず、図１７（Ａ）に示すように、上記テンプレート・ブロック各々に対するずらし量（Δθｉ，Δφｉ）に加えて、θがテンプレート・ブロックの中心座標の値と等しく、かつ、上端（φ＝０）および下端（幅が３６００画素の場合はφ＝３５９９である。）に位置する座標において、ずらし量（Δθ，Δφ）を（０，０）として設定する。その他のずらし量未設定の座標については、図１６（Ｂ）に示すように、近傍の設定済み４点（図ではＡ〜Ｄである。）からなる格子を考え、その中でずらし量を、２次元線形補間演算により算出する。
【００９７】
なお、説明する実施形態では、全天球フォーマットにおける上端（φ＝０）および下端（φ＝３５９９）に対しずらし量（０，０）を設定するようにした。しかしながら、より内側（φ＞０およびφ＜３５９９）にずらし量（０，０）とする座標を設定して上記２次元線形補間演算をしてもよい。この場合、その座標よりφ方向が外側である座標においては、すべてずらし量（０，０）を設定するようにすればよい。
【００９８】
上述した前段処理により、図１６に示すように、全天球画像フォーマットの座標値毎にずらし量が求まるので、ステップＳ２０７では、部分画像０の歪み補正に用いた検出用歪み補正テーブル０において、入力座標値（θ，φ）に対し、修正前には（θ＋Δθ，φ＋Δφ）に対応付けられていた（ｘ，ｙ）を対応付けるように修正する。なお、部分画像１の歪み補正に用いた検出用歪み補正テーブル１については対応付けを変える必要はない。
【００９９】
再び図１０を参照すると、ステップＳ２０８では、全天球撮像装置３００は、テーブル生成部４１４により、修正された位置検出用変換テーブル４３０から、回転座標変換することによって、画像合成用変換テーブル４３２を生成する。ステップＳ２０９では、全天球撮像装置３００は、フレーム記憶部４０２ａ，４０２ｂで、最も古いフレームの部分画像０および部分画像１を読み出す。ステップＳ２１０では、全天球撮像装置３００は、補正つなぎ位置情報に基づいて修正および生成された画像合成用変換テーブル４３２を用いて、最も古いフレームの部分画像０および部分画像１に対して歪み補正をし、合成用補正画像０および合成用補正画像１を生成する。
【０１００】
画像合成用歪み補正部４１６による処理の結果、魚眼レンズで撮像された２つの部分画像０，１は、図１８に示すように、全天球画像フォーマット上に展開される。画像合成用変換テーブル４３２が既に補正つなぎ位置情報に基づいて生成されたものであるため、この段階で、合成用補正画像０および合成用補正画像１は、そのまま重ね合わせればよいようにつなぎ補正が反映されている。ステップＳ２１１では、全天球撮像装置３００は、画像合成部４１８で、合成用補正画像０および合成用補正画像１を合成する。
【０１０１】
ステップＳ２１２では、全天球撮像装置３００は、入力されたものが最終フレームであるか否かを判断する。ステップＳ２１２で、最終フレームではないと判定された場合（ＮＯ）は、ステップＳ２０１へループされ、画像合成処理を継続する。これに対して、ステップＳ２１２で、それ以上のフレームが入力されず、最終フレームであると判定された場合（ＹＥＳ）は、ステップＳ２１３へ処理を分岐させて、本画像合成処理を終了する。
【０１０２】
図１０に示す処理により生成された全天球画像の合成フレームからなる合成画像列は、順次、動画圧縮部４２２に出力され、動画圧縮部４２２でさらに動画圧縮されて、動画データとして書き出されることになる。
【０１０３】
［第３実施形態］
上述した第２実施形態では、画像処理システム、画像処理装置および撮像システムの一例として、全天球の静止画を自身が備える撮像光学系により複数の動画像を撮影し、画像処理ブロック４００で合成された動画像を生成する全天球撮像装置３００を用いて説明した。しかしながら、画像処理装置、画像処理システムおよび撮像システムの構成は、特に限定されるものではない。他の実施形態では、複数の撮像光学系で撮影された複数の部分画像（動画）の入力を受けて全天球画像（動画）を生成するカメラ・プロセッサ、撮影を専ら担当する全天球撮像装置で撮影された複数の部分画像（動画）の入力を受けて全天球画像（動画）を合成するパーソナル・コンピュータ、ワークステーション、物理コンピュータ・システム上の仮想マシンなどの情報処理装置、スマートフォン、タブレットなどの携帯情報端末などを上記画像処理装置として構成することもできる。また、上述したようなカメラ・プロセッサ、情報処理装置、携帯情報端などの画像処理装置と、該画像処理装置から分離された撮像光学系とを含む撮像システムとして構成してもよい。さらに、上記機能部を複数のコンピュータに分散実装した画像処理システムとして構成してもよい。
【０１０４】
以下、図１９を参照しながら、全天球撮像装置と、この全天球撮像装置で撮影された複数の部分画像の入力を受けて、合成された全天球動画像を生成する外部のコンピュータ装置とを含む、第３実施形態における全天球撮像システムについて説明する。図１９は、第３実施形態における全天球撮像システム６００の概略を示す。
【０１０５】
第３実施形態による全天球撮像システム６００は、専ら撮像を担当する全天球撮像装置６１０と、この全天球撮像装置６１０と接続され、専ら画像処理を担当するコンピュータ装置６３０とを含み構成される。なお、図１９には、主要な構成のみが示されており、詳細な構成が省略させていることに留意されたい。また、図１９に示す実施形態による全天球撮像システム６００は、全天球画像を合成する画像処理が専らコンピュータ装置６３０で行われることを除いて、図８〜図１８を参照して説明した第２実施形態と同様の構成を備えるので、以下、相違点を中心に説明する。
【０１０６】
図１９に示す実施形態において、全天球撮像装置６１０は、デジタル・スチルカメラ・プロセッサ６１２と、鏡胴ユニット６１４と、プロセッサ６１２に接続される３軸加速度センサ６１６とを含む。プロセッサ６１２は、ＵＳＢブロック６１８をさらに含み、ＵＳＢコネクタ６２０を介して接続されるコンピュータ装置６３０とのＵＳＢ通信を制御する。
【０１０７】
図１９に示すコンピュータ装置６３０は、デスクトップ型のパーソナル・コンピュータ、ワークステーションなどの汎用コンピュータなどとして構成することができる。コンピュータ装置６３０は、プロセッサ、メモリ、ＲＯＭ、ストレージなどのハードウェア・コンポーネントを備える。第３実施形態において、コンピュータ装置６３０は、ＵＳＢインタフェース６３２を含み、ＵＳＢバスを介して、全天球撮像装置６１０と接続されている。
【０１０８】
コンピュータ装置６３０は、さらに、画像合成にかかる処理ブロックとして、フレーム記憶部６３４と、位置検出用歪み補正部６３６と、つなぎ位置検出部６３８と、つなぎ位置情報記憶部６４０と、つなぎ位置情報補正部６４２と、テーブル修正部６４４と、テーブル生成部６４６と、画像合成用歪み補正部６４８と、画像合成部６５０とを含み構成される。本実施形態では、鏡胴ユニット６１４の複数の撮像光学系により撮像された２つの部分画像が合成された動画データ（つまり、平面座標系の部分画像０および部分画像１をそのまま接合して構成された２つのイメージサークルを含む平面画像）と、全天球撮像装置６１０の位置検出用変換テーブルとが、ＵＳＢバスを介して外部のコンピュータ装置６３０に転送される。
【０１０９】
コンピュータ装置６３０において、位置検出用歪み補正部６３６は、全天球撮像装置６１０から転送された動画データに含まれる各フレームの部分画像０，１に対し、併せて転送された位置検出用変換テーブルを用いて歪み補正を施し、フレーム毎に位置検出用補正画像０，１を生成する。つなぎ位置検出部６３８は、変換された補正画像０，１間のつなぎ位置を検出し、つなぎ位置情報を生成する。つなぎ位置情報記憶部６４０は、つなぎ位置検出部６３８により検出された複数時点のつなぎ位置情報を一時記憶する。つなぎ位置情報補正部６４２は、つなぎ位置情報記憶部６４０に記憶された複数時点のつなぎ位置情報を、時間で平均処理する。テーブル修正部６４４は、平滑化されたつなぎ位置情報に基づいて、転送された位置検出用変換テーブルに対して修正を施す。テーブル生成部６４６は、修正された変換データから、回転座標変換を施し、画像合成用変換テーブルを生成する。
【０１１０】
フレーム記憶部６３４は、全天球撮像装置６１０から転送された動画データに含まれる各フレームの部分画像０，１を一時記憶する。画像合成用歪み補正部６４８は、画像合成処理の前段の処理として、一時記憶された最も古い元の部分画像０および部分画像１に対し、画像合成用変換テーブルを用いて歪み補正をかけ、画像合成用補正画像０，１を生成する。画像合成部６５０は、得られた画像合成用補正画像０，１を合成し、全天球画像フォーマットの合成画像を生成する。
【０１１１】
本実施形態によるコンピュータ装置６３０は、ＲＯＭやＨＤＤなどからプログラムを読み出し、ＲＡＭが提供する作業空間に展開することにより、ＣＰＵの制御の下、上述した各機能部および各処理を実現することができる。
【０１１２】
なお、図１９は、分離して構成された全天球画像撮像システムを例示するものであり、図１９に示した具体的な実施形態に限定されるものではない。全天球画像撮像システムを実現するための各機能部は、１以上の撮像装置、１以上のコンピュータ・システム上に種々の態様で分散実装することができる。
【０１１３】
以上説明したように、上述までの実施形態によれば、それぞれ複数の画像からなる複数の画像列を、複数時点の画像間における位置関係を考慮した補正を施して合成することができる、画像処理システム、画像処理装置、プログラムおよび撮像システムを提供することができる。
【０１１４】
なお、上述した第２実施形態では、１８０度より大きな画角を有するレンズ光学系で撮像された２つの部分画像を重ね合わせて合成するものとしたが、他の実施形態では、１または複数のレンズ光学系により撮像された３以上の部分画像の重ね合わせ合成に適用してもよい。また、上述した実施形態では、魚眼レンズを用いた撮像システムを一例に説明してきたが、超広角レンズを用いた全天球撮像システムに適用してもよい。さらに、上述した好適な実施形態では、全天球画像の重ね合わせについて説明したが、特に限定されるものではなく、複数の画像のつなぎ位置を検出するいかなる画像処理に適用可能であることは言うまでもない。
【０１１５】
また、上記機能部は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。また、上記機能部の一部または全部は、例えばフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）などのプログラマブル・デバイス（ＰＤ）上に実装することができ、あるいはＡＳＩＣ（特定用途向集積）として実装することができ、上記機能部をＰＤ上に実現するためにＰＤにダウンロードする回路構成データ（ビットストリームデータ）、回路構成データを生成するためのＨＤＬ（Hardware Description Language）、ＶＨＤＬ（Very High Speed Integrated Circuits Hardware Description Language）、Ｖｅｒｉｌｏｇ−ＨＤＬなどにより記述されたデータとして記録媒体により配布することができる。
【０１１６】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１１７】
１０…撮像装置、１２…コントローラ、１４…ＣＰＵ、１６…ＳＲＡＭ、１８…ＲＯＭ、２０，４００…画像処理ブロック、２２…ＳＤＲＡＭインタフェース、２４…外部ストレージ・インタフェース、２６…カメラユニット、２８…固体撮像素子、３０…レンズ光学系、３２…ＳＤＲＡＭ，３４…外部ストレージ、１００…機能ブロック、１０２…左フレーム入力部、１０４…右フレーム入力部、１１０…左フレーム記憶部、１２０…右フレーム記憶部、１３０，４０６，６３８…つなぎ位置検出部、１４０，４０８，６４０…つなぎ位置情報記憶部、１５０，４１０，６４２…つなぎ位置情報補正部、１６０…画像つなぎ処理部、１７０…動画圧縮部、２１０…左フレーム記憶部、２２０…右フレーム記憶部、２４０…つなぎ位置情報記憶部、３００，６１０…全天球撮像装置、３０２…撮像体、３０４…筐体、３０６…シャッター・ボタン、３０８…固体撮像素子、３１０…レンズ光学系、４００…画像処理ブロック、４０２…フレーム記憶部、４０４，６３６…位置検出用歪み補正部、４１２，６４４…テーブル修正部、４１４，６４６…テーブル生成部、４１６，６４８…画像合成用歪み補正部、４１８，６５０…画像合成部、４２０…表示画像生成部、４２２…動画圧縮部、４３０…位置検出用変換テーブル、４３２…画像合成用変換テーブル、４４０…動画データ、５００…テンプレート用画像、５０２…テンプレート画像、５１０…探索用画像、５１２…探索範囲、５１４…対応部分、６００…全天球撮像システム、６１２…プロセッサ、６１４…鏡胴ユニット、６１６…３軸加速度センサ、６１８…ＵＳＢブロック、６２０…ＵＳＢコネクタ、６３０…コンピュータ装置、６３２…ＵＳＢインタフェース、６３４…フレーム記憶部
【先行技術文献】
【特許文献】
【０１１８】
【特許文献１】特許第４５７７７６５号公報
【要約】
【課題】  それぞれ複数の画像からなる複数の画像列を合成することができる画像処理システム、画像処理装置、プログラムおよび撮像システムを提供すること。
【解決手段】  本画像処理システム１０は、第１の画像列および第２の画像列が入力される画像入力手段１０２，１０４と、記第１の画像列を構成する画像と、該画像と略同時点の、前記第２の画像列を構成する画像とに基づいて、つなぎ位置情報を検出する検出処理手段１３０と、検出された複数時点のつなぎ位置情報を補正する補正手段１５０、補正つなぎ位置情報に基づいて、第１の画像列を構成する画像と、該画像と略同時点の、第２の画像列を構成する画像とを合成する処理を実行する画像合成処理手段１６０とを含む。
【選択図】  図４【図１】
0005846268.tif 000002
【図２】
0005846268.tif 000003
【図３】
0005846268.tif 000004
【図４】
0005846268.tif 000005
【図５】
0005846268.tif 000006
【図６】
0005846268.tif 000007
【図７】
0005846268.tif 000008
【図８】
0005846268.tif 000009
【図９】
0005846268.tif 000010
【図１０】
0005846268.tif 000011
【図１１】
0005846268.tif 000012
【図１２】
0005846268.tif 000013
【図１３】
0005846268.tif 000014
【図１４】
0005846268.tif 000015
【図１５】
0005846268.tif 000016
【図１６】
0005846268.tif 000017
【図１７】
0005846268.tif 000018
【図１８】
0005846268.tif 000019
【図１９】
0005846268.tif 000020