(57)【要約】      （修正有）【課題】立体パノラマを生成するように構成されたシステム及び方法を提供する。【解決手段】取り込まれた画像に基づいて画像を取得する。取得された画像は処理及び／又は前処理され、例えば取込み中の非理想的なカメラ方位によって生じる透視歪みを補償し、垂直視差を低減し、隣接する画像を整列し、及び／又は隣接する画像間の回転ドリフト及び／又は位置ドリフトを低減する。取得された画像を用いて、実行中に仮想的な中間画像を補間し、生成されるパノラマ内の視認可能なアーティファクトを低減する。取得及び／又は補間された画像（又は画像断片）をスティッチングし、立体パノラマを形成する。【選択図】図１７
2014212519.tif 000002
【特許請求の範囲】
【請求項１】
立体パノラマを生成するように構成されたシステムであって、コンピュータ・プログラム・モジュールを実行するように構成された一又は複数の物理プロセッサ、を備え、前記コンピュータ・プログラム・モジュールは、
取り込まれた画像に基づく画像を取得するように構成された画像モジュールであって、前記取り込まれた画像の少なくとも一部が一連の隣接する画像を形成する、画像モジュールと、
隣接する画像間に補間される画像を決定するように構成されたアップサンプリング・モジュールと、
取得した画像及び補間された画像に基づいて立体パノラマを決定するように構成されたスティッチング・モジュールと、
を備えるシステム。
【請求項２】
前記アップサンプリング・モジュールが、隣接する画像における関連する画素間の流れ場を決定することによって補間される前記画像を決定するように構成された、請求項１に記載のシステム。
【請求項３】
前記アップサンプリング・モジュールが、前記取得した画像の画素グリッドの変換を補償することによって、前記流れ場を決定するように構成された、請求項２に記載のシステム。
【請求項４】
前記スティッチング・モジュールが、前記取得した画像の垂直細片の決定及び前記垂直細片の混合に基づいて立体パノラマを決定するように構成され、前記混合が前記決定された流れ場に基づく、請求項２に記載のシステム。
【請求項５】
前記取得した画像が補償された画像に基づいており、前記システムが、
前記取り込まれた画像に基づいて前記補償された画像を決定するように構成された歪みモジュールをさらに備え、
前記歪みモジュールは、前記取り込まれた画像を取り込むのに使用されるカメラのレンズの形状によって生じる透視歪みを補償することによって、前記補償された画像を決定するように構成される、
請求項１に記載のシステム。
【請求項６】
前記取得した画像が方位修正された画像に基づいており、前記システムが、
前記補償された画像に基づいて前記方位修正された画像を決定するように構成された配向モジュールをさらに備え、
前記配向モジュールは、画像取込み中に用いられる非円形カメラ軌道及び／又は非平行主軸のうちの一方又は両方を補償することによって、前記方位修正された画像を決定するように構成される、
請求項５に記載のシステム。
【請求項７】
前記取得した画像が再射影された画像に基づいており、前記システムが、
前記方位修正された画像に基づいて前記再射影された画像を決定するように構成された垂直視差モジュールをさらに備え、
前記垂直視差モジュールは、方位修正された画像を円筒形の結像面に再射影し垂直視差を低減することによって、前記再射影された画像を決定するように構成される、
請求項６に記載のシステム。
【請求項８】
前記取得した画像が整列された画像に基づいており、前記システムが、
前記再射影された画像及び／又はその垂直断片／細片の整列に基づいて前記整列された画像を決定するように構成された整列モジュールをさらに備え、
前記整列モジュールは、隣接する画像間の回転ドリフト及び／又は位置ドリフトが低減されるように前記再射影された画像を平面状の二次元の表面に射影することによって、前記整列された画像を決定するように構成され、整列はストラクチャ・フロム・モーションに基づく、
請求項７に記載のシステム。
【請求項９】
前記整列モジュールによる整列が前記整列された画像の画素グリッドの変換を生じさせ、前記アップサンプリング・モジュールが前記整列モジュールによって生じた変換を補償することによって前記流れ場を決定するように構成される、請求項８に記載のシステム。
【請求項１０】
前記取り込まれた画像を記憶するように構成された物理ストレージ・メディアをさらに備える、請求項１に記載のシステム。
【請求項１１】
カメラを担持及び／又は支持するように構成された支持構造体をさらに備え、前記支持構造体は、前記カメラが円形の軌道に沿って移動するように、前記円形の軌道に沿って移動するように構成される、請求項１に記載のシステム。
【請求項１２】
画像を取り込むように構成されたカメラをさらに備え、前記カメラが前記支持構造体によって担持及び／又は支持されるように構成され、前記カメラの視点方向が前記円形の軌道に接するか又は直交する、請求項１０に記載のシステム。
【請求項１３】
コンピュータにより実行される立体パノラマを生成する方法であって、前記方法は一又は複数の物理プロセッサ及び物理ストレージ・メディアを含むコンピュータ・システム内で実行され、前記方法は、
取り込まれた画像に基づく画像を取得する工程であって、前記取り込まれた画像の少なくとも一部が一連の隣接する画像を形成する工程と、
隣接する画像間に補間される画像を決定する工程と、
取得した画像及び補間された画像に基づいて立体パノラマを決定する工程と、
を備える方法。
【請求項１４】
前記補間される画像を決定する工程が、隣接する画像における関連する画素間の流れ場を決定することを含む、請求項１３に記載のコンピュータにより実行される方法。
【請求項１５】
前記流れ場を決定する工程が、前記取得した画像の画素グリッドの変換を補償することを含む、請求項１４に記載のコンピュータにより実行される方法。
【請求項１６】
前記立体パノラマを決定する工程が、前記取得した画像の垂直細片の決定及び前記垂直細片の混合に基づいており、前記混合が前記決定された流れ場に基づく、請求項１４に記載のコンピュータにより実行される方法。
【請求項１７】
請求項１３に記載のコンピュータにより実行される方法であって、前記取得した画像が補償された画像に基づいており、前記方法が、
前記取り込まれた画像を取り込むために用いられるカメラのレンズの形状によって生じる透視歪みを補償することによって、前記取り込まれた画像に基づいて補償された画像を決定する工程
をさらに備える、方法。
【請求項１８】
請求項１７に記載のコンピュータにより実行される方法であって、前記取得した画像が方位修正された画像に基づいており、前記方法が、
画像取込み中に用いられる非円形カメラ軌道及び／又は非平行主軸のうちの一方又は両方を補償することによって、前記補償された画像に基づいて前記方位修正された画像を決定する工程
をさらに備える、方法。
【請求項１９】
請求項１８に記載のコンピュータにより実行される方法であって、前記取得した画像が再射影された画像に基づいており、前記方法が、
方位修正された画像を円筒形の結像面に再射影し垂直視差を低減することによって、前記方位修正された画像に基づいて前記再射影された画像を決定する工程
をさらに備える、方法。
【請求項２０】
請求項１９に記載のコンピュータにより実行される方法であって、前記取得した画像が整列された画像に基づいており、前記方法が、
前記再射影された画像及び／又はその垂直断片／細片の整列に基づいて前記整列された画像を決定する工程をさらに備え、
隣接する画像間の回転ドリフト及び／又は位置ドリフトが低減されるように前記再射影された画像を平面状の二次元の表面に射影することによって、前記整列が行われる、
方法。
【請求項２１】
前記整列が前記整列された画像の画素グリッドの変換を生じさせ、前記流れ場の決定が前記整列によって生じた前記変換を補償することによって行われる、請求項２０に記載のコンピュータにより実行される方法。
【請求項２２】
カメラによって画像を取り込む工程をさらに備え、前記カメラの視点方向が円形の軌道に接するか又は直交し、前記取得された画像が前記カメラによって取り込まれた前記画像に基づく、請求項１３に記載のコンピュータにより実行される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、米国特許仮出願第６１／８１２，５６１号（２０１３年４月１６日出願、名称「立体パノラマ」）に基づく優先権を主張し、その内容は参照により明示的に本明細書に組み込まれる。
【０００２】
本発明は全般に（デジタル方式でかつ電子的に）パノラマを生成することに関し、特に立体パノラマを生成することに関する。
【背景技術】
【０００３】
従来、アーティファクトのない（又はアーティファクトが減少した）シームレスなパノラマを得るには、サンプリングされ、及び／又は取り込まれた角のある画像を、例えば１度につき２以上の画像というように密につなぎ合わせる必要がある。高解像度においては、何千もの画像を取り込むことは非実際的であり、及び／又は（計算上）コストがかかり過ぎる。
【発明の概要】
【０００４】
本発明の一態様は、立体パノラマを生成するように構成されたシステムに関する。本発明の一態様は、立体パノラマを生成する方法に関する。上記のシステムは、一又は複数のカメラ、指示構造体、電子記憶装置、コンピュータ・プログラム・モジュールを実行するように構成された一又は複数のプロセッサ、及び／又はその他の構成要素を含む。このコンピュータ・プログラム・モジュールは、画像モジュール、アップサンプリング・モジュール、スティッチング・モジュール、歪みモジュール、配向モジュール、垂直視差モジュール、整列モジュール、及び／又はその他のモジュールを含む。本明細書で用いられているように、カメラという用語は、任意のセンサ、画像センサ、静止画撮影カメラ、ビデオ・カメラ、及び／又はその他の画像生成装置として解釈できる。コンピュータ・プログラム・モジュールの操作順序は、本開示内で説明される例及び実施形態によって限定されるものではない。本開示の範囲内において、任意の順序が考えられる。
【０００５】
このシステムは画像の歪み及び／又は視覚的なアーティファクトを低減するように構成されている。このシステムは取り込まれた画像間に画像（又は画像の部分／断片）を補間する、及び／又は合成するように構成される。このような画像により、スティッチングに用いることができる画像の角密度が大きくなる。画像の補間及び／又は合成を行うには、近接する及び／又は隣接する画像の組の間のオプティカル・フローが計算及び／又は決定される必要がある。このような組のうちの第１の画像において、オプティカル・フローはベクトル場として定義され、そこでは各画素は第２の画像におけるこの画素に対応する位置を指す、関連するベクトルを有している。中間画像の補間は、第１及び／又は第２の画像内の画素をフロー・ベクトルの小部分だけシフトし、及び／又はシフトされた画素を集合させて補間された画像を形成することによって行うことができる。
【０００６】
アーティファクトが生じないスティッチングに必要な多数の中間画像を事前計算することは、許容できないほど多くのメモリを消費するため、現実的ではない。「アーティファクトのない」という語句は、本明細書で用いられるように、「視覚的に、及び／又は目に見えるように結果を改善する、アーティファクトの低減」と解釈できる。各流れ場を事前計算及び／又は記憶することにより、補間及び／又は合成は、パノラマの生成中に実際に必要とされ、及び／又は結果として生じる画像内で用いられる画素（のみを必要とするよう）に制限される。一部の実施形態において、システムは可変の軸間カメラ距離又は基線を有する立体パノラマ、及び／又は調整可能な両眼連動（ｖｅｒｇｅｎｃｅ）点をインタラクティブに生成するように構成される。一部の実施形態において、ユーザは視点（及び／又はパノラマの他の特性）を修正し、及び／又はこのパララマ内でインタラクティブに移動することができる。「インタラクティブに」という語句は、本明細書で用いられるように、ユーザ入力に対するリアル・タイムの応答と解釈できる。例えば、ユーザは画像を拡大してパノラマのさらなる詳細又は更なる特徴を明らかにすることができる。
【０００７】
画像モジュールは取り込んだ画像及び／又は取り込んだ画像に基づく画像を取得するように構成される。取り込んだ画像はデジタルの及び／又は電子的な画像を含む。取り込まれた画像は、画像モジュールによって取得される前に処理及び／又は前処理されてもよい。取り込んだ画像の一部又はすべては、隣接する及び／又は近接する一連の画像を形成する。例えば、隣接する画像は、わずかに異なる視点及び／又は角度から見られ、及び／又はサンプリングされるのであるが、部分的に重複し、及び／又は一又は複数の同じオブジェクトを含んでもよい。「隣接する」という語句は、本明細書で用いられるように、「近接する」という語句と交換可能に用いられる。一部の実施形態において、一連の画像は円形カメラ軌道を用いて取り込むことができる。
【０００８】
アップサンプリング・モジュールは、隣接する画像間に補間される画像を決定するように構成される。一部の実施形態において、アップサンプリング・モジュールは、隣接する画像間に補間される画像断片、画像部分、及び／又は画像細片を決定するように構成される。一部の実施形態において、アップサンプリング・モジュールは、隣接する画像における関連する画素間の流れ場（及び／又はフロー・ベクトル）を決定するように構成される。流れ場は、画像が受けた変換を補償し、及び／又は変換を受けた画像を処理するために用いられる。変換とは、取得した画像の画素グリッドの変換を含むが、これには限定されない。
【０００９】
スティッチング・モジュールは、取得した画像及び補間された画像に基づいて立体パノラマを決定するように構成される。スティッチング・モジュールは複数の画像から取得した画素及び／又は画像細片を混合するように構成される。混合処理はアップサンプリング・モジュールによって決定された流れ場に基づいてもよい。
【００１０】
歪みモジュールは、歪みを補償することによって画像を決定するように構成される。歪みとは透視歪みを含むがこれに限定されない。非限定的な例として、画像を取り込むために用いるカメラのレンズの形状によっては、透視歪みを生じさせる場合がある。
【００１１】
配向モジュールは非理想的な取り込み機構を補償することによって画像を決定するように構成される。理想的な取り込み機構は、非限定的な例として、円形のカメラ軌道、平行（カメラ）主軸、該カメラ軌道に直交する視点方向、及び／又はその他の取り込み条件を含む。一部の実施形態において、配向モジュールは、画像取り込み中の非円形カメラ軌道及び／又は画像取り込み中の非平行主軸のうちの一まはた両方を補償するように構成される。
【００１２】
垂直視差モジュールは、円筒形の表面上に画像を再射影し、及び／又は垂直視差を低減することによって、画像を決定するように構成される。
【００１３】
整列モジュールは、平面的及び／又は二次元の表面に画像を射影することによって画像を決定するように構成される。整列モジュールは、隣接する画像間の回転ドリフト及び／又は位置ドリフトを低減するように構成することができる。整列モジュールの動作はストラクチャ・フロム・モーション（ＳｆＭ）・アルゴリズムに基づいてもよい。ストラクチャ・フロム・モーション・アルゴリズムを用いて、三次元上のカメラの姿勢、位置、及び／又は動きを推定することができる。一部の実施形態において、ストラクチャ・フロム・モーション・アルゴリズムはグローバル・バンドル調整を用いてもよい。
【００１４】
本システムは電子記憶装置を含んでもよい。この記憶装置には、情報を電子的に記憶する持続性ストレージ・メディアが含まれる。この電子記憶装置は、取り込んだ画像、取得した画像、前処理した画像、処理した画像、などを記憶するように構成される。
【００１５】
本技術の上記及び上記以外の特徴、及び性質、並びに、関連する構成要素の動作方法及び機能、そして製造における各部分の組み合わせと経済性については、添付図面を参照しつつ以下の詳細な説明と添付の特許請求の範囲を検討することによってさらに明らかになる。これらはいずれも本明細書の一部を構成する。本明細書において、同様の参照符号は種々の図における対応部分を表している。添付図面は例示及び説明のためのものであり、本発明の発明特定事項の定義として用いることは意図されていない。本明細書及び特許請求の範囲における用法によれば、単数形の「ａ」、「ａｎ」及び「ｔｈｅ」には複数のものへの言及が含まれる。ただし、文脈によって別に解すべきことが明白な場合はこの限りでない。
【図面の簡単な説明】
【００１６】
【図１】立体パノラマの図である。
【図１Ａ】パノラマ生成の既知の方法及び一又は複数の実施形態に従う方法について、図１のパノラマの詳細をクローズ・アップした図である。
【図１Ｂ】パノラマ生成の既知の方法及び一又は複数の実施形態に従う方法について、図１のパノラマの詳細をクローズ・アップした図である。
【図１Ｃ】パノラマ生成の既知の方法及び一又は複数の実施形態に従う方法について、図１のパノラマの詳細をクローズ・アップした図である。
【図１Ｄ】パノラマ生成の既知の方法及び一又は複数の実施形態に従う方法について、図１のパノラマの詳細をクローズ・アップした図である。
【図１Ｅ】パノラマ生成の既知の方法及び一又は複数の実施形態に従う方法について、図１のパノラマの詳細をクローズ・アップした図である。
【図１Ｆ】パノラマ生成の既知の方法及び一又は複数の実施形態に従う方法について、図１のパノラマの詳細をクローズ・アップした図である。
【図１Ｇ】パノラマ生成の既知の方法及び一又は複数の実施形態に従う方法について、図１のパノラマの詳細をクローズ・アップした図である。
【図１Ｈ】パノラマ生成の既知の方法及び一又は複数の実施形態に従う方法について、図１のパノラマの詳細をクローズ・アップした図である。
【００１７】
【図２】一又は複数の実施形態に従う、手持ち式取り込み機構及び実装式取り込み機構の例を示す図である。
【００１８】
【図３】取り込まれた画像中のアーティファクト、及び該アーティファクトの段階的な低減の例を示す図である。
【図３Ａ】一又は複数の実施形態に従う、レンズの歪み除去、方位安定化、及び視差補償を行うために処理された、取り込まれた画像を示す図である。
【図３Ｂ】一又は複数の実施形態に従う、レンズの歪み除去、方位安定化、及び視差補償を行うために処理された、取り込まれた画像を示す図である。
【図３Ｃ】一又は複数の実施形態に従う、レンズの歪み除去、方位安定化、及び視差補償を行うために処理された、取り込まれた画像を示す図である。
【図３Ｄ】一又は複数の実施形態に従う、レンズの歪み除去、方位安定化、及び視差補償を行うために処理された、取り込まれた画像を示す図である。
【図３Ｅ】一又は複数の実施形態に従う、レンズの歪み除去、方位安定化、及び視差補償を行うために処理された、取り込まれた画像を示す図である。
【図３Ｆ】一又は複数の実施形態に従う、レンズの歪み除去、方位安定化、及び視差補償を行うために処理された、取り込まれた画像を示す図である。
【図３Ｇ】一又は複数の実施形態に従う、レンズの歪み除去、方位安定化、及び視差補償を行うために処理された、取り込まれた画像を示す図である。
【図３Ｈ】一又は複数の実施形態に従う、レンズの歪み除去、方位安定化、及び視差補償を行うために処理された、取り込まれた画像を示す図である。
【図３Ｉ】一又は複数の実施形態に従う、レンズの歪み除去、方位安定化、及び視差補償を行うために処理された、取り込まれた画像を示す図である。
【図３Ｊ】一又は複数の実施形態に従う、レンズの歪み除去、方位安定化、及び視差補償を行うために処理された、取り込まれた画像を示す図である。
【図３Ｋ】一又は複数の実施形態に従う、レンズの歪み除去、方位安定化、及び視差補償を行うために処理された、取り込まれた画像を示す図である。
【図３Ｌ】一又は複数の実施形態に従う、レンズの歪み除去、方位安定化、及び視差補償を行うために処理された、取り込まれた画像を示す図である。
【００１９】
【図４】一又は複数の実施形態に従うオムニステレオ（ｏｍｎｉ−ｓｔｅｒｅｏ）効果を実現するための原理を示す図である。
【００２０】
【図５】図４に関連するエイリアシング・アーティファクトを示す図である。
【００２１】
【図６】図５のエイリアシング・アーティファクトに対する解決策を示す図である。
【００２２】
【図７】異なる方法における回転ドリフト及び垂直ドリフトの比較する表を示す図である。
【００２３】
【図８】既存の混合方法から生じる視覚的アーティファクトを示す図である。
【００２４】
【図９】図１の立体パノラマ及びそれに関連づけられたネット・フロー（ｎｅｔ  ｆｌｏｗ）図を示す図である。
【図９Ａ】図１の立体パノラマ及びそれに関連づけられたネット・フロー（ｎｅｔ  ｆｌｏｗ）図を示す図である。
【００２５】
【図１０】異なる方法における回転ドリフト及び垂直ドリフトの例を示す図である。
【図１１】異なる方法における回転ドリフト及び垂直ドリフトの例を示す図である。
【００２６】
【図１２】異なる（整列）方法における強い視差を有する例を示す図である。
【図１２Ａ】異なる（整列）方法における強い視差を有する例を示す図である。
【図１２Ｂ】異なる（整列）方法における強い視差を有する例を示す図である。
【図１２Ｃ】異なる（整列）方法における強い視差を有する例を示す図である。
【００２７】
【図１３】異なる方法における薄い垂直構造体を有する例を示す図である。
【図１３Ａ】異なる方法における薄い垂直構造体を有する例を示す図である。
【図１３Ｂ】異なる方法における薄い垂直構造体を有する例を示す図である。
【図１３Ｃ】異なる方法における薄い垂直構造体を有する例を示す図である。
【図１３Ｄ】異なる方法における薄い垂直構造体を有する例を示す図である。
【００２８】
【図１４】異なる方法における、サンプリング間隔以下でサンプリングされた入力を用いたフロー・ベースの混合の例を示す図である。
【図１４Ａ】異なる方法における、サンプリング間隔以下でサンプリングされた入力を用いたフロー・ベースの混合の例を示す図である。
【図１４Ｂ】異なる方法における、サンプリング間隔以下でサンプリングされた入力を用いたフロー・ベースの混合の例を示す図である。
【図１４Ｃ】異なる方法における、サンプリング間隔以下でサンプリングされた入力を用いたフロー・ベースの混合の例を示す図である。
【図１４Ｄ】異なる方法における、サンプリング間隔以下でサンプリングされた入力を用いたフロー・ベースの混合の例を示す図である。
【００２９】
【図１５】一又は複数の実施形態に従う、円形及び直線状のパノラマの例を示す図である。
【図１５Ａ】一又は複数の実施形態に従う、円形及び直線状のパノラマの例を示す図である。
【図１５Ｂ】一又は複数の実施形態に従う、円形及び直線状のパノラマの例を示す図である。
【図１５Ｃ】一又は複数の実施形態に従う、円形及び直線状のパノラマの例を示す図である。
【図１５Ｄ】一又は複数の実施形態に従う、円形及び直線状のパノラマの例を示す図である。
【００３０】
【図１６】一又は複数の実施形態に従う、立体パノラマを生成するように構成されたシステム１００を示す図である。
【００３１】
【図１７】一又は複数の実施形態に従う、立体パノラマを生成するための方法を示す図である。
【発明を実施するための形態】
【００３２】
図面の多くが一又は複数の種類の視覚的なアーティファクトを示している。これらのアーティファクトは、立体パノラマを生成するための異なる方法及び／又は手続きから生じる。知識のある当業者にとっては明らかなように、任意の図面における視覚的なアーティファクトは、説明されたアーティファクトに限られず、追加のアーティファクトを含み得る。一部の図面は立体的な（アナグリフ）画像を含み、その画像は、本来的に及び予測上、特に白黒で再生された場合にかすんで見えることがある。しかし、知識のある当業者は、本開示で説明されるあらゆる視覚的なアーティファクトを含めて、関係のあるあらゆるディテールを区別することができる。詳細な線図は、説明をさらに明確化するとともに読者の理解を助けることを意図している。
【００３３】
図１６は立体パノラマを生成するように構成されたシステム１００を示す。システム１００は一又は複数のカメラ１４と共同し、及び／又は通信するように構成される。システム１００は、電子記憶装置５０、一又は複数のプロセッサ１１０、及び／又はその他の構成要素を備える。プロセッサ１１０は、一又は複数のコンピュータ・プログラム・モジュールを実行するように構成されてもよい。これらのコンピュータ・プログラム・モジュールは、ユーザがシステム１００及び／又は外部リソース１６とインターフェースできるようにし、及び／又は本明細書で説明する他の機能を提供するように構成される。システム１００は通信線、又はネットワーク及び／又は他の計算機プラットフォームと情報を交換することを可能にするポートを備える。システム１００は、共同して動作して本明細書で説明する機能を提供する複数のハードウェア、ソフトウェア、及び／又はファームウェア・コンポーネントを備える。例えば、システム１００は、共同して動作する多数の計算機プラットフォームによって実装されてもよい。
【００３４】
外部リソース１６は情報の供給源、システム１００の外部の（画像）記憶装置のホスト・コンピュータ及び／又はプロバイダ、システム１００に関わる外部エンティティ、及び／又はその他のリソースを含む。一部の実施形態において、外部リソース１６の機能の一部又はすべてが、システム１００に含まれるリソースによって提供されてもよい。
【００３５】
システム１００の電子記憶装置５０は、カメラ１４の電子記憶装置５０とは異なる情報を記憶するように構成されてもよい。システム１００、カメラ１４、及び／又は外部リソース１６は、一又は複数の電子通信リンクを介して作動的にリンクされてもよい。例えば、このような電子通信リンクは、少なくとも部分的にインターネット及び／又は他のネットワークなどのネットワーク１３を介して確立されてもよい。これは限定を意図したものでなく、本開示の範囲は、作動的なリンク及び／又は接続が他の何らかの通信メディアを介して実施される実施形態を含むことが理解されるであろう。
【００３６】
システム１００は、一又は複数のコンピュータ・プログラム・モジュールを実行するように構成されてもよい。このコンピュータ・プログラム・モジュールは、画像モジュール２２、アップサンプリング・モジュール２３、スティッチング・モジュール２４、歪みモジュール２５、配向モジュール２６、垂直視差モジュール２７、整列モジュール２８、及び／又はその他のモジュールを含む。
【００３７】
高解像度立体パノラマは視覚的なアーティファクトを含み得る。本開示では、補正手段及び、必要な光線空間の非常に正確な近似を求めるための、入力画像をコンパクトにした表示を記載している。入力光線（取り込まれた画像又は入力画像と交換可能に呼ばれる）の（例えば、アップサンプリング・モジュール２３による）フロー・ベースのアップサンプリングによって、スティッチング・アーティファクトなどの既知のエイリアシングの問題を効果的に低減及び／又は解決することができる。必要な光線（及び／又は補間された画像断片）は、入力画像の数が少なくても、所望の出力解像度と一致するように、実行中に生成される。アップサンプリングはリアルタイムで実行され、これにより、所望の立体奥行き効果に対する直接的なインタラクティブ制御が可能になる。本開示により、実質的に各種のアーティファクトのない高解像度の立体パノラマの生成が可能になる。各種のアーティファクトには、シーム、立体的不連続性、垂直視差、モノラル／立体形状歪み、及び／又は他のアーティファクトが含まれるが、これらには限定されない。説明された特徴及び／又は技術は、リニア・パノラマなどの他の種類の多視点パノラマに適用することができる。
【００３８】
消費者の関心は、コンテンツのより没入感のある体験に対して強まっており、それは例えば、３Ｄの写真、テレビ、及び映画などである。環境コンテンツをパノラマを通して取り込むこともできる。非制限的な例として、図１は前景（画像の底部付近）に門又はフェンスがあり、背景に各種の建物がある立体パノラマを示す。図１に表されるように、このパノラマは赤シアン・アナグリフを示している。四角でハイライトされた部分は、一又は複数の視覚的なアーティファクトを示しており、またこれらの部分には、付加的な詳細を示す線図（図１Ａから図１Ｈ）への参照番号が付されている。図１Ａ、１Ｂ、１Ｃ、１Ｄは視覚的なアーティファクトを二次元でクローズ・アップした図である。図１Ｅ、１Ｆ、１Ｇ、１Ｈは垂直視差を（立体画像の表現を用いて）クローズ・アップした図である。
【００３９】
図１Ａは、れんが又は石の柱が埋め込まれたフェンス又は門を表す図１の部分における、（既知のパノラマ生成方法を用いた場合に見られる）エイリアシング及びスティッチング・アーティファクトを少なくとも示している。図１Ｃは図１Ａと同じ部分を示しており、その中では視覚的なアーティファクトは図１Ａと比べて低減及び／又は除去されている。
【００４０】
図１Ｂは、建物及び少なくとも３つの枠に入れられた窓を表す図１の部分における、（既知のパノラマ生成方法を用いた場合に見られる）重複及びスティッチング・アーティファクトを少なくとも示している。この部分の構成要素は、図１Ｂにおいて重複し、位置がずれている。図１Ｄは図１Ｂと同じ部分を示しており、その中では視覚的なアーティファクトは図１Ｂと比べて低減及び／又は除去されている。
【００４１】
図１Ｅの立体表現においては、片方の目に対応する画像は実線を用いており、もう片方の目に対応する画像は点線を用いている。図１Ｅは、斜線構造を含むフェンス又は門を表す図１の部分における、（既知のパノラマ生成方法を用いた場合に見られる）エイリアシング及び歪みアーティファクトを少なくとも示している。図１Ｆは図１Ｅと同じ部分を示しており、その中では視覚的なアーティファクトは図１Ｅと比べて低減及び／又は除去されている。
【００４２】
図１Ｇの立体表現においては、片方の目に対応する画像は実線を用いており、もう片方の目に対応する画像は点線を用いている。図１Ｇは、建物を表す図１の部分における、（既知のパノラマ生成方法を用いた場合に見られる）方位及び歪みアーティファクトを少なくとも示している。図１Ｈは図１Ｇと同じ部分を示しており、その中では視覚的なアーティファクトは図１Ｇと比べて低減及び／又は除去されている。
【００４３】
複数の（入力）画像からパノラマをスティッチングするための自動ツールが、消費者向けのカメラにおいても使用可能である。３６０°のパノラマの場合、ユーザはすべての画像に対して共通のカメラ中心を用いる場合があるか、用いると予測されるか、または用いなければならない。共通のカメラ中心を用いることにより、スティッチング・アーティファクトを極力低減することができる。これはカメラをその光学的中心を軸に回転させることによって実現できる。しかし、そのようなパノラマは本来的に視差が不足しており、そのため立体的には見えない。
【００４４】
この制限を克服するため、例えばカメラを回転アームに取り付けるなどして様々な射影中心を用いて画像を撮影することによって、動き視差を明示的に取り込んでもよい。非制限的な例として、このような取込み機構が図２の右側の部分に示されている。この中で、破線の矢印はカメラの動きを示す。取り込まれた入力画像から特定の細片をスティッチングすることで立体パノラマを生成することができる。視差を成功裏に導入する一方で、この戦略は、パノラマ内の視認可能なシーム又は垂直視差などの目障りなアーティファクトの原因となる多くの未解決の問題に直面し得る。二次元における画像品質の問題は無視できない誤解につながり、延いては立体的に見た場合に容認できないものとなる。
【００４５】
これらのアーティファクトの原因の１つは、実際上カメラはかなり制限された空間的角度的な解像度においてのみ光線を取り込むことができるということであり、すなわち、有限の解像度を有する有限の画像の集合となる。この密度が不十分な景色のサンプリングは、（生成された）出力パノラマ内の視認可能な不連続性によって明らかになる。この不連続性は、近接する出力画素が相互の間に強い視差を有する別個の入力画像から合成された領域において生じる。より多くの、より高解像度の画像を取り込むことは、実際に実行可能な解決策ではない。というのもこれによってデータ量が桁違いに増加し、なおかつこれらの問題が完全には解決しないからである。次に、すべてのカメラ位置の光学中心は理想的にはパノラマを生成するために完全な円上になければならないが、実際の取り込みシナリオにおいては、特にハンドヘルドによる取込み（図２の左側の部分で示されるが、この中で破線の矢印はカメラの動きを示す）の場合は、これは実現するのが困難である。
【００４６】
本開示によって、自動化され、高品質で、実質的にアーティファクトのない、立体パノラマ生成がシステム１００を用いて提供される。システム１００は理想的な取込み機構からの逸脱を、例えば配向モジュール２６の動作によって補償するよう構成される。具体的には、透視歪み及び垂直視差によって生じる問題を解決するために、（例えば垂直視差モジュール２７を用いて）取り込まれた画像を修正してもよい。システム１００は、最小限のドリフトを有する取り込まれた画像の整列を、例えば、整列モジュール２８の動作によって実現するように構成されてもよい。システム１００はオブジェクトの切捨て及び重複によって生じる視認可能なシームを低減するように構成されてもよい。取り込まれ、修正された光線の集合（又はイメージ）に対して、（例えばアップサンプリング・モジュール２３を用いて）光学フロー・ベースの補間技術を用いたアップサンプリングを行ってもよい。実際上、光線空間の（ほとんど及び／又は実質的に）連続的な表現が実現できる。システム１００はこの表現から、出力された立体効果に対するリアルタイムの制御によって、サンプリングを行うように構成されてもよい。
【００４７】
説明される技術は、スティッチングに基づく任意の多視点画像化方式、例えば、ｘ−ｓｌｉｔ、プッシュブルーム（ｐｕｓｈｂｒｏｏｍ）、又は一般線形カメラ（ｇｅｎｅｒａｌ  ｌｉｎｅａｒ  ｃａｍｅｒａｓ）などに適用できる。多視点の方法では、異なる視点から得た画像を組み合わせて、単一の射影中心からは得られない連続写真を生成する。例えば、ブッシュブルーム画像は、直線的に移動するカメラによって撮影された画像をスティッチングして生成される。これは街路沿いの建物の画像を取り込むのに適している。しかし、既存の方法では、光景の３６０°のビュー及び立体的な奥行きの両方を取り込むことはできない。パノラマの場合、カメラは円形の軌道に沿って、接線方向又は直交方向のカメラ視点で動く。後者はオムニステレオ・パノラマと呼ばれる。これらの方法では、連続した視点を取り込んで１つのパノラマを生成するため、理論的には変化する基線による立体的な描画を可能にする。
【００４８】
システム１００は、互いに関連する画像の整列に応答して、画像をスティッチングしてパノラマを生成するように構成されてもよい。このような整列は、全体としてカメラの動きの推定量になる。これは、画像の相関関係からパラメータ化された動きモデル（例えば、二次元ホモグラフィ）を推定する純粋に画像ベースの方法を用いて実現することができる。一部の実施形態において、推定は画像登録技術を用いて行われる。画像ベースの方法は、光景の幾何学的配置（例えば、奥行き）を関知せず、単に最適な二次元の整列を算出するのみである。これは、光景に複雑な奥行き構造が含まれる場合、アーティファクトの原因となり得る。一部の実施形態において、パノラマの光景の奥行きを推定し、これを用いてカメラの自己運動を計算してもよい。この動きとは、すなわち、奥行きに対する比率によって決まる画像の動きである。この情報を用いて、システム１００は貼り付けられる各細片の最適な（カーブしている可能性が高い）形状を計算するように構成されてもよい。しかし、奥行き同様に細片の形状を推定することは、計算上コストがかかり、一方ですべての問題を解決できるわけではない。
【００４９】
高品質な整列を得るために、システム１００はストラクチャ・フロム・モーション・アルゴリズムを用いて、完全な三次元のカメラの姿勢、位置、及び／又は動きを推定するように構成されてもよい。このような方法においては、カメラの姿勢を大域的に最適化することが考慮されている。
【００５０】
多視点画像のスティッチングの間、視差によって目障りなシーム、すなわち、スティッチングされる細片間の不連続が生じることがある。この問題を低減する１つの方法は、シンプル・リニア（アルファ）混合、ピラミッド・ベース混合、又は勾配ドメイン混合のような戦略を用いて細片間の混合を行うことである。これらの戦略は不連続性を効果的に隠蔽しようとし、よって目立たないシームとするために役立つ。強い視差によって生じた顕著な不連続性が存在するとき、結果には目立つアーティファクトが含まれ得る。オムニステレオ・パノラマの脈絡の中で、結果として生じる出力視差に対する簡潔の制御は、適切な立体画像生成を実現するために必要である。上記の混合方法はモノスコープ方式のスティッチングに適用できるが、立体三次元においては、結果として生じる不一致はより目立つものとなり、及び／又はより受け入れがたいものとなる。
【００５１】
アーティファクトの低減を実現するには、より多くの画像を用いて光景のより高密な角度のサンプリングを行い、結果としてより細い細片及びより小さい不連続性を得ることが考えられる。これは、奥行き又は光学フロー情報を利用して新しい仮想ビューを補間することで実現できる。実際上の問題として、すべての補間された画像を保存することはできない。空間解像度が高い場合は特にそうである。さらに、より高密な角度のサンプリングを行っても、やはり細く垂直な構造体については、奥行き又はフロー推定において見落とされる可能性があるため、アーティファクトがいくらか残る場合がある。このような場合、システム１００は自動的に代替の方法を用いる。その方法とは、リニア混合を含むがこれには限定されない。リニア混合においては、これらの小さな部位でスティッチングの問題を軽減し、品質の低下を穏やかにする。一部の実施形態において、システム１００は、複数の混合技術を組み合わせることでアーティファクトが軽減されるという判断に応答して、複数の混合技術を（同時に及び／又は順次に）組み合わせるように構成される。
【００５２】
オプティカル・フローを用いて二次元パノラマのハンドヘルドによる取込みを改善し、（この場合は）不必要な動き視差を取り除いてもよい。
【００５３】
オムニステレオ・パノラマ生成は光線の２つの集合を生成することに基づいてもよい。１つは左目用であり、もう１つは右目用である。また、すべての光線及び／又はカメラ方向は円に対して接線方向であることが理想的である。非制限的な例として、図４はこのようなパノラマを生成するのな必要な光線を示している。実際上、図２に示すように、カメラが円形の軌道に沿って動き、その主軸がカメラの軌道が及ぶ平面に平行になっている状態で、システムは通常、連続した画像を取り込む。オムニステレオ・パノラマは、それぞれの目について、整列された画像から特定の垂直細片を取り出してスティッチングし、図４に示した光線の幾何学的配置を近似する。例示として、図５はエイリアシングによって生じた重複及び切捨てアーティファクトを示す。例示として、図６は必要な光線及び／又は画像断片を合成するためのフロー・ベースのアップサンプリングを示す。
【００５４】
所望の光線の幾何学的配置に対する近似は、通常取込機構の不正確さ及び制限された角度サンプリングの問題により、上述のアーティファクトを生じてしまう。特定の変換及び整列方法（カメラ方位修正、円筒形画像再射影、及び最適ホモグラフィ・マッチングを含むがこれらには限定されない）を用いることにより、視覚的なアーティファクトを低減してもよい。
【００５５】
実際上、角度サンプリングは限られた数の入力画像を用いて長い間隔で行ってもよい。これにより近似品質がさらに低下し、エイリアシング・アーティファクト（例えば、シーム、切捨て、及び／又は重複）が生じる原因となり得る。
【００５６】
入力修正はピンホール・モデルをよりよく近似するための光学的歪み除去、カメラ方位の修正、垂直視差補償、二次元整列によるコンパクト表現、及び／又はその他の種類の修正及び／又は改善を含む。入力修正を実現及び／又は実行するのは、スティッチング・モジュール２５、垂直視差モジュール２７、及び／又はその他のモジュールを含むが、これらには制限されない一又は複数のモジュールである。
【００５７】
立体パノラマを取り込むために、広角レンズを用いて重複部分が大きく垂直視野が広い画像を取り込むことは有益である。これらのレンズによって生じる光学的歪みにより、所望の光線の幾何学的配置の近似には、画像をピンホール・カメラ・モデルに対応するように変換することが含まれてもよい。合理的なレンズ歪みモデルを用いれば、より単純な半径方向及び接線方向のレンズ歪みを対象とする標準的な多項式法よりもよい結果を得ることができる。
【００５８】
理想的な取込み機構（例えば、円形の軌道及び平行な主軸）からのいかなる逸脱も、立体出力パノラマ内の視認可能な形状歪み（例えば、傾いた建物や垂直視差）を生じさせる。システム１００は、例えば配向モジュール２６を用いて各入力画像の方位及び視点方向を修正し理想的な機構に近づけるように構成されてもよい。
【００５９】
カメラの姿勢は、グローバル・バンドル調整を用いた一般的なストラクチャ・フロム・モーションによって推定してもよい。純粋に円形の動きの場合、例えばカメラの位置を強制的に円上に置くというように、制限されたモデルを原則的に用いることができる。しかし、より一般的な方法によって、ハンドヘルド入力及び／又はその他のカメラ軌道からオムニステレオ・パノラマを生成することが可能になる。その他のカメラ軌道には直線が含まれるが、これには限定されない。固有のスケール曖昧性をスケーリング座標で除去し、カメラの軌道が実際の物理的寸法と一致するようにしてもよい。
【００６０】
各カメラ座標フレームは、単一の一定な上方向とカメラの軌道に直交する一定な視点方向とを有する理想化された機構に向けて回転してもよい。光学中心の周りを（例えば、ホモグラフィを用いて）回転することにより、変換は光景から独立したものとなり、よって不正確さを生じさせることがない。Ｐ＝ＫＲ［Ｉ｜−~C］はカメラの射影マトリックスを固有因子（ｉｎｔｒｉｎｓｉｃｓ）Ｋ、回転Ｒ、及びカメラ中心~Cに分解するものである。さらに、Ｒ＝［ｘ｜ｙ｜ｚ］はそれぞれ、カメラの左、上、及び視点方向を表している。システム１００は複数の画像にわたって一定の上方向「ｕ」を計算するように構成されてもよい。オムニステレオ・パノラマの場合、「ｕ」を求めるには、円をすべてのカメラ中心に適合させ、この円を含む平面の法線ベクトルｎを用いる。すなわち、ｕ＝ｎとなる。他の軌道（例えば、プッシュブルーム・パノラマのような直線）の場合、システム１００は各カメラ座標系の平均上方向として「ｕ」を計算するように構成されてもよい。この平均上方向は、オムニステレオの場合にこの平均上方向により近い方向を選択することによって、法線方向から曖昧さを除去するのにも用いられる。新しい上方向の場合、修正された座標フレームは以下のように計算される。新しい視点方向はｖ  ＝  ｕ  ×  ｘとなり、新しい左方向はｗ  ＝  ｖ  ×  ｕとなる（ここでは各ステップの前にベクトルが正規化されることを前提とする）。その後カメラに適用される必要がある回転はＲ’＝［ｗ｜ｕ｜ｖ］ＴＲ−１である。この回転はこの画像に適用される二次元ホモグラフィＨ＝ＫＲ’Ｋ−１に相当し、所望の理想化された取込み機構を実現する。
【００６１】
非制限的な例として、図３は両側に建物があり左側に街灯柱がある街路を表す光景において、少なくともこの変換及び整列の効果を示す。図３の最上段の画像は、カメラを最も右側の位置（図３Ｃ）から中央の位置（図３Ｂ）を経て最後に最も左側の位置（図３Ａ）に移動して取り込んだ。言い換えると、図３Ａ、３Ｂ、３Ｃは取り込まれた、すなわち「生の」画像を形成する。最上段より下の各段には、すぐ上の画像をベースに一又は複数の特定の種類のアーティファクト低減処理を示している。例えば、最上段の中央の画像が処理されると、その下の段の中央の画像が生成され、それがさらに処理されてその下の段の中央の画像が生成され、そして最後に再度処理されて最下段の中央の画像が生成される。
【００６２】
図３Ａは最も左側の位置で取り込まれた画像である。図３Ａは画像を歪ませたレンズ歪みを少なくとも示している。図３Ｂは中央の位置で取り込まれた画像である。図３Ｃは最も右側の位置で取り込まれた画像である。図３Ｃは画像を歪ませたレンズ歪みを少なくとも示している。「レンズ歪み除去」と呼ばれる処理（本開示の他の箇所で説明される）を行うことによって、図３Ａ、３Ｂ、３Ｃはそれぞれ図３Ｄ、３Ｅ、３Ｆに変換／加工される。
【００６３】
図３Ｄは最も左側の位置の「レンズ歪みが除去された」画像を示しており、歪みアーティファクトは低減及び／又は除去されている。図３Ｅは中央の位置の「レンズ歪みが除去された」画像を示す。図３Ｆは最も右側の位置の「レンズ歪みが除去された」画像を示しており、歪みアーティファクトは低減及び／又は除去されている。なお、図３Ｄ、３Ｅ、３Ｆにおいて、右側の建物がそれぞれ−３．９度、０．０度、３．３度傾いていることに注意されたい。「カメラ修正」、「方位安定化」、及び／又は「透視歪み除去」と呼ばれる処理（本開示の他の箇所で説明される）を行うことによって、図３Ｄ、３Ｅ、３Ｆはそれぞれ図３Ｇ、３Ｈ、３Ｉに変換／加工される。
【００６４】
図３Ｇは最も左側の位置の「方位が安定化された」画像を示しており、傾きアーティファクトは低減されている。図３Ｈは中央の位置の「方位が安定化された」画像を示す。図３Ｉは最も左側の位置の「方位が安定化された」画像を示しており、傾きアーティファクトは低減されている。なお、図３Ｇ、３Ｈ、３Ｉにおいて、右側の建物がそれぞれ（わずか）０．６度、０．９度、０．８度傾いていることに注意されたい。  図３Ｇ、３Ｈ、３Ｉ中の街灯柱の最上部を結ぶ垂直な線が、画像間の垂直視差を示すために加えられている。「視差補償」（本開示の他の箇所で説明される）によって、図３Ｇ、３Ｈ、３Ｉはそれぞれ図３Ｊ、３Ｋ、３Ｌに変換／加工される。
【００６５】
図３Ｊは最も左側の位置の「視差が補償された」画像を示しており、垂直視差は低減されている。図３Ｋは中央の位置の「視差を補償された」画像である。図３Ｌは最も右側の位置の「視差が補償された」画像を示しており、垂直視差は低減されている。図３Ｊ、３Ｋ、３Ｌ中の街灯柱の最上部を結ぶ垂直な線が、画像間の垂直視差の低減を示すために加えられている。
【００６６】
レンズの歪み除去（例えば、歪みモジュール２５による）は、直線的な（ｒｅｃｔｉｌｉｎｅａｒ）射影及び直線を回復する。カメラ方位の修正（例えば、配向モジュール２６による）は透視歪みを除去する。円筒射影（例えば、垂直視差モジュール２７による）は垂直視差を補償する。平面状の結像面を有する標準的なピンホール・モデルにおいて、画像境界付近のオブジェクトは画像中央のオブジェクトよりも大きい。その結果、非直線カメラ軌道の場合、２つの入力画像間動き視差は、水平及び垂直の成分を含み得る。立体的な出力画像を形成するには水平成分が望ましいが、垂直成分は適切な立体画像に備えて除去しておく必要がある。
【００６７】
歪み除去及び方位修正された入力画像の各々を円筒形の結像面に再射影することで、垂直視差は効果的に除去できる。この円筒はカメラ中心に適合させた円と同心となるように画定されてもよく（本明細書の他の箇所で説明される）、その際円筒の軸は円の平面及び特定の半径と直交する。この円筒の半径は、異なる距離にあるオブジェクトに対する水平スケールの変化量を決定する。実際上、突出したオブジェクトからカメラまでの近似の距離を半径に設定すると、よい結果が得られる。ストラクチャ・フロム・モーション（ＳｆＭ）計算法（他の箇所で説明される）により、ユーザがインタラクティブ及び／又は自動的に光景の幾何学的配置からこれらの距離を画定する機会を提供するようにシステム１００が構成されてもよい。
【００６８】
画像を円筒上に効果的に射影するためには、円筒上に所望の出力解像度で画素グリッドを設ける必要がある。各画素はピンホール・カメラの結像面に射影され、対応する出力色をサンプリングする。具体的には、各画像に対して、画像境界にある画素からカメラ中心を通って光線をトレースし、これらの光線を円筒が横切ることによって、円筒上の画像の大きさを近似してもよい。
【００６９】
一部の実施形態において、方位修正及び視差補償された画像を用いてオムニステレオ・パノラマを合成してもよい。一部の実施形態において、他の処理工程、すなわち変換によって有益な結果が得られる。画像間の残りの相対変換は、ほとんどが回転成分のない単純な水平移動である。パノラマ生成の既存の方法に準拠した平面の二次元の背景に画像を射影することによって、画像をスティッチングする処理は簡素化される。画像の整列情報はホモグラフィによって符号化される。連続する画像の組について、再構築されたカメラの幾何学的配置を用いて、２つのカメラ中心の中間で円筒に接する平面によって生じるホモグラフィを計算し、歪みを最小化してもよい。一般的なカメラ軌道では、この平面は２つのカメラ中心の中間点の前方において一定の距離の位置にあり、２つのカメラの視点方向の中間でこの平面が垂直となる。この平面によって生じるホモグラフィＨＰ（正規化されたカメラ座標における）は分解されて８度の自由度のうちの５度を除去し、ユークリッド変換を得る。具体的には、変換の連鎖は以下の式で表される。
【数１】
2014212519.tif 000003
【００７０】
ＱＲ分解を用いてｓＲＫ＝Ａ−ｔｖＴを分解することにより、回転Ｒを得ることができる。この分解により正規直交の行列Ｑ*及び上三角行列Ｒ*が得られる。ＲはＱ*の列を負の対角エントリで反転させて回転を±９０°未満に制限することで得られる。純粋に画像ベースの整列技術に比べて、本明細書で説明する修正及び整列工程はパノラマ内に蓄積する位置誤差（ドリフト）を低減する。
【００７１】
表１（図７）において、異なる方法に対応する回転及び垂直ドリフトを比較している。ここで記載される方法は、すべて又はほとんどの場合、ドリフトを少なくとも２桁低減し、認知できない０．１°とする。表１に記載される通り、パノラマの両端間の回転ドリフト及び回転ドリフトを相殺した後に残る垂直ドリフトを、画像ベース（ＩＢ）の方法と本明細書で説明する方法との間で比較している。本明細書の方法では、実質的にドリフトは含まれない。
【００７２】
オムニステレオのパノラマのスティッチングは、所望の立体出力の差異に応じて、各入力画像から特定の細片を抽出し、その細片を組み合わせて左右の出力画像とすることにより行うことができる。オムニステレオ効果は、図４に示すように、共通の視覚円に接する光線を収集することによって得られる。
【００７３】
立体パノラマを生成するための入力光線及び／又は画像の適切な取込み及び／又はサンプリングは、目標とする出力解像度に依存する。一部の実施形態において、入力画像から抽出した細片は、出力画像において画素の幅未満に射影され、それにより、エイリアシング・アーティファクト及び所望の光線射影からの光線の偏差を回避する。偏差角は、理想的な光線とスティッチングに用いられる光線との角度差として定義される（図４の角度α１及びα２を参照）。出力品質は取込み機構の角度解像度、すなわち入力画像の空間解像度ではなく入力画像の数に依存する。角度解像度が粗いと偏差角が大きくなり（角度解像度にほぼ反比例する）、オブジェクトの不連続性、重複、切捨て等のスティッチング・アーティファクトが目に付くようになる。
【００７４】
様々な形態の混合によってアーティファクトを低減することができる。図８はいくつかの混合方法が問題の核心に対処することなく、ある程度までアーティファクトを目立たなくすることを示す。左から右に見ていくと、図８は「最近傍」混合、線形混合、ピラミッド・ベース混合、及びフロー・ベース混合（本開示の他の箇所でより詳細に説明される）の結果を示す。角度解像度を０．０５°未満とするのに十分な入力画像を取り込む場合、本開示で説明される方法よりも何桁も高い実現不能なメモリ要求が生じてしまう。開示された技術によって、０．１°、０．５°、１°、２°、３°、４°、８°の角度解像度及び他の角度解像度は、実質的にアーティファクトのない高品質なパノラマをもたらす。
【００７５】
エイリアシング・アーティファクトの特徴を明らかにするために、図５を参照されたい。２つの画像ＩK及びＩLを考えると、光線は角度βで主軸に収集される必要がある。これらの射影された光線と円筒との交点をＥ及びＧとする。細片ＥＧをパノラマに埋め込むと、普通は入力画像間の比較的粗い角度解像度を補償するために付近の光線を追加で要求することになる。回転中心から距離ｄfarにあるオブジェクトは円筒射影よりも遠くにある。切片ＣＤ（木の中にある）はスティッチングされた出力の中では重複している。これは、画像ＩK及びＩLからの円筒に対する射影ｃ’及びｄ’並びにｃ’’及びｄ’’が緑及び赤の細片に見られるからである。一方、距離ｄnearにある範囲ＡＢ内のオブジェクトは、最終的なパノラマ内では切り捨てられて見える。
【００７６】
これらのエイリアシング・アーティファクトは、図６に示すように、オプティカル・フロー・ベース・アップサンプリングを用いて失われた光線を生成することによって解決できる。これには、例えばアップサンプリング・モジュール２３を使用する。距離ｄfarにある点Ｐは、画像ＩＫ及びＩＬから円筒のｐ’及びｐ’’にそれぞれ射影される。点ｐ’にあるオプティカル・フロー・ベクトルＦはｐ’＋Ｆ（ｐ’）である点ｐ’’に写像される。スティッチング・アーティファクトを回避するために、ｐ’とｐ’’の間の中間点が補間され、仮想カメラ位置で失われた光線を効果的に合成する。同じ概念が円筒射影面よりも近い点、並びにストリート・ビュー・パノラマ用のカメラ軌道のような他のカメラ軌道にも適用できる。
【００７７】
一部の実施形態において、システム１００はペアワイズ（ｐａｉｒｗｉｓｅ）・オプティカル・フローを用いるように構成されてもよい。表示を単純化するために、フロー・ベースの光線アップサンプリングは修正された画像を用いて説明する。しかし、システム１００は入力画像に対して直接フローを算出するように構成されてもよく、これにより、入力画像は同一の修正変換を受けることになる。
【００７８】
隣接する画像ｋ及びｌの組の間の流れ場をＦk→lで表す。これにより、画像の対応関係、すなわち、
【数２】
2014212519.tif 000004
が得られ、ここで両画像及び流れ場は同一の画素グリッド上で画定される。しかし、この仮定は本明細書の他の箇所で説明される整列によって破られる。この整列では、すべての画像が同一のグローバル座標フレームに合わせて整列され、各画像には異なる画素グリッドが適用される。
【００７９】
システム１００はグローバルな整列を補償するように構成されてもよい。この補償は、流れ場を用いて失われた光線を補間する前に実行されてもよい。流れ場Ｆk→lはＩkの画素グリッド上で画定され、その結果、この流れ場は画像ｋの座標フレーム内でｘk＝Ａ0→kｘでサンプリングされる。ここで、Ａ0→kはグローバル座標からＩkのローカルな座標系へと変換される。流れ場はまた、すでにグローバル空間に画像を整列したことによって引き起こされるユークリッド運動をも含む。この運動はＡ0→Lｘ−Ａ0→kｘで与えられ、これにより以下の運動補償されたネット・フローの定義が導かれる。
【００８０】
Ｆ*K→L（ｘ）＝ＦK→L（Ａ0→kｘ）−（Ａ0→Lｘ−Ａ0→kｘ）  （２）
【００８１】
結果として生じるネット・フローの例が図９（加えて図９Ａ）に示される。図９の上半分は図１に示すものと類似のパノラマを示す。下半分は上半分における画像のコンピュータ・ネット・フローを示す。例えば図９の建物のようにカメラからの距離が大きいオブジェクトは、図９の下半分及び図９Ａの白又は白に近い色の部分（９０の符号あり）に示されるように、ネット・フローがほとんど又はまったくない。例えば図９のフェンス又は門の特定の部分のようにカメラからの距離が中程度のオブジェクトは、図９の下半分及び図９Ａの色が薄い部分（９１の符号あり）に示されるように、ネット・フローが小さい。例えば図９のフェンス又は門の特定の部分のようにカメラからの距離が近いオブジェクトは、図９の下半分及び図９Ａの色がより濃い部分（９２の符号あり）に示されるように、比較的ネット・フローが大きい。
【００８２】
中間にある光線を実行中に合成するための望ましい補間は、２つの画像間の水平角度補間係数ηによっては、わずかなフローで対応する画素を歪ませることによって実現できる。係数ηに依存する２つの歪んだ画像ｋ及びｌの間の線形混合は、以下の式で表されるフロー・ベースの混合結果を生じさせる。
【数３】
2014212519.tif 000005
【００８３】
この種の混合は、フロー推定が誤りを示す場合に、品質が穏やかに低下する。
【００８４】
説明した技術は形式ｘ＋η×Ｆ*の歪んだサブピクセル位置で２つの画像を照会することを必要とするが、これはテクスチャ検索を用いてグラフィック処理装置（ＧＰＵ）によって効率的に実現できる。フロー・ベースの混合は描画中に計算オーバーヘッドなしに実現できる。一部の実施形態において、流れ場は事前に計算される。
【００８５】
本開示で説明される技術により、システム１００はリアルタイムでフルスクリーン解像度のパノラマをスティッチングするように構成され、これによりユーザは軸間距離又は両眼連動（ｖｅｒｇｅｎｃｅ）のような重要な立体視パラメータを実行中に自由に改変できる。さらに、図１０及び図１１を比較することで示されるように、システム１００は例えば回転及び垂直ドリフトを取り除くことにより乱れのない線形の結果を得られるように構成されてもよい。
【００８６】
図１２はカメラの近くに立つ人によって生じた非常に強い視差を有する例を示す。ここで、純粋に画像ベースの（整列）戦略は激しい形状歪みをもたらし、一方で本開示の技術は歪みのない高品質な結果を生じる。上段の画像は、３つの位置、すなわち、最も右側の位置（図１２Ｃ）、中央の位置（図１２Ｂ）、及び最も左側の位置（図１２Ａ）で取り込まれた画像の画像ベースの整列を用いて生成された。図１２の下段の画像は本開示の整列を用いて生成された。図１２Ａ、１２Ｂ、１２Ｃはそれぞれ図１２の最も左側、中央、及び最も右側の列を表す線図である。図１２Ａ、１２Ｂ、１２Ｃのそれぞれの上半分における歪み及び視差アーティファクトは、特に同じ図の下半分と比較すると明瞭である。
【００８７】
図１３は薄い（垂直の）構造体及び線形混合を用いた例を示す。入力が道路を走る車両から取り込まれたものであるため、これらの結果は実際には立体パノラマではなく、線形プッシュブルーム画像であることに注意されたい。前景のフェンスに注目する。図１３は開示される技術がこの種の入力に適用される場合を示す。左上の画像（図１３Ａ）は（交差スリット射影を用いた）取り込んだ画像の最小アスペクト歪み（ＭＡＤ）モザイキングの結果を示す。楕円形で強調された視覚的アーティファクトに注意されたい。左下の画像（図１３Ｃ）は左上の画像の奥行き（カメラ距離）を示しており、この中で近くのオブジェクトは明るい又は比較的明るく示され、遠くのオブジェクトは暗い又は比較的暗い色で示される。図１３Ｃにおいて、近くのオブジェクトは符号６０で示され、最も通りオブジェクト／部分は符号６９で示され、中間のオブジェクト／部分は６０と６９の間の数字でそれぞれ示される。右上の画像（図１３Ｂ）は本開示で説明される技術を適用した結果を示す。類似の楕円形は細い垂直構造体の視覚的アーティファクトの低減を強調している。図１３Ｄは画像１３Ｂのネット・フローを示している。破線７０及びその下のネット・フローは、小さいネット・フロー（明るい色及び／又は符号７１で示される）から、中間のネット・フロー（中間の濃さの色及び／又は符号７２で示される）、及び比較的大きいネット・フロー（暗い色及び／又は符号７３で示される）にまでわたる。破線７０よりも上のネット・フローは、破線７０よりも下のネット・フローとは逆の方向を有する。破線７０及びその上のネット・フローは、小さいネット・フロー（明るい色及び／又は符号７５で示される）から、中間のネット・フロー（中間の濃さの色及び／又は符号７６で示される）、及び比較的大きいネット・フロー（暗い色及び／又は符号７７で示される）にまでわたる。
【００８８】
図１５は円形及び線形の立体パノラマの例を示す。本明細書で説明する技術を用いて修正及びスティッチングされた立体パノラマが、赤シアン・アナグリフ画像として示されている。図１５の左上の部分は図１５Ａである。図１５の右上の部分は図１５Ｂである。図１５の左下の部分は図１５Ｃである。図１５の右下の部分は図１５Ｄである（線形パノラマ）。
【００８９】
図１４はサンプリング間隔以下でサンプリングされた入力を用いたフロー・ベースの混合（最下段）を示す。図に示すように、他の混合方法（最上段における最近傍混合及び中央の段における線形混合を含む）はこれらのシナリオにおいては失敗する（例えば、エイリアシング、重複、及び／又は混合アーティファクトを含むがこれらには限定されない視覚的アーティファクトが表れる）。最も左側の列（図１４Ａ）は１度間隔で取り込まれた画像の処理結果を示す。最も左側の列の隣の列は、左から順にそれぞれ２度、４度、及び６度間隔での結果を示す（それぞれ図１４Ｂ、１４Ｃ、１４Ｄ）。視覚的アーティファクトは間隔が大きくなると悪化するため、最も左側の列から最も右側の列に向かって徐々に悪化している。
【００９０】
図１６を参照すると、電子記憶装置５０には、情報を電子的に記憶する電子ストレージメディアが含まれる。電子記憶装置５０の機能は、記憶される情報が異なっていても、異なる具体例の間で類似している。電子記憶装置５０は、取り込まれた画像、前処理された画像、前処理された情報、補間された画像、生成されたパノラマ、及び／又はその他の情報を記憶するように構成される。電子記憶装置５０の電子ストレージメディアには、一体に（すなわち、実質的に着脱不能に）設けられたシステムストレージ、及び、例えばポート（例えばＵＳＢポート、ファイヤーワイヤーポート等）やドライブ（例えばディスクドライブ等）を介して着脱可能に接続されたリムーバブルストレージの少なくとも一方が含まれる。電子ストレージ５０には、光学的に読み取り可能な記憶メディア（例えば光学ディスク等）、磁気的に読み取り可能な記憶メディア（例えば磁気テープ、磁気ハードドライブ、フロッピードライブ等）、電荷型ストレージメディア（例えばＥＥＰＲＯＭ、ＲＡＭ等）、ソリッドステート・ストレージメディア（例えばフラッシュドライブ等）、及び／又は前記以外の電子的に読み取り可能なストレージメディアが含まれる。電子記憶装置５０には、一又は複数の仮想ストレージリソース（例えば、クラウドストレージ、仮想プライベートネットワーク、及び／又はこれら以外の仮想ストレージリソース）が含まれる。電子記憶装置５０は、ソフトウェアアルゴリズム、プロセッサ１１０によって決定された情報、システム１００の構成要素から受信した情報、及び／又はシステム１００が本明細書で説明したように機能できるようにする前記以外の情報を記憶することができる。
【００９１】
プロセッサ１１０はシステム１００における情報処理能力を提供するように構成される。プロセッサ１１０の機能は、処理能力が異なっていても、異なる具体例の間で類似している。プロセッサ１１０は、デジタルプロセッサ、アナログプロセッサ、情報処理用のデジタル回路、情報処理用のアナログ回路、及び／又は電子的に情報を処理する前記以外のメカニズムのうちの一又は複数を備える。プロセッサ１１０は図１６において単一のエンティティとして示されているが、これは単に説明を目的としたものである。一部の実施形態において、プロセッサ１１０は複数の処理装置を含む。これらの処理装置は物理的に同一の装置内に配置されてもよく、または共同して動作する複数の装置の処理機能をプロセッサ１１０が代表してもよい。プロセッサ１１０はモジュール２２〜２８及び／又はその他のモジュールを実行するように構成される。プロセッサ１１０は、モジュール２２〜２８及び／又はその他のモジュールを実行する際に、ソフトウェア、ハードウェア、ファームウェア、何らかの方法で組み合わされたソフトウェア、ハードウェア、及び／またはファームウェア、及び／またはプロセッサ１１０の処理能力を構成する他の機構を用いてもよい。
【００９２】
図１６においてモジュール２２〜２８は処理装置内の同じ位置に配置されるものとして示されるが、モジュール２２〜２８のうちの一または複数が他のモジュールから離れて配置されてもよい。本明細書で説明される異なるモジュール２２〜２８によって提供される機能の記述は説明のためのものであり、限定を意図したものではない。モジュール２２〜２８はいずれも記述されるよりも多くの、または少ない機能を提供してもよい。例えば、モジュール２２〜２８のうちの一または複数を取り除き、その機能の一部またはすべてを、モジュール２２〜２８のうちの他のモジュールで提供してもよい。他の例として、本明細書でモジュール２２〜２８のうちの１つに帰せられる機能の一部またはすべてを実行する１つまたは複数の追加的なモジュールを実行するように、プロセッサ１１０が構成されてもよい。異なるモジュールに帰せられる動作及び／又は機能が配列及び／又は編成される順番は、いかなる形であれ限定を意図したものではなく、このような順番は本開示の範囲内で任意に想定することができる。
【００９３】
図１７は一又は複数の実施形態に従う、立体パノラマを生成するための方法２００を示す図である。以下で説明する方法２００の工程は、説明のためのものに過ぎない。一部の実施形態において、方法２００は、説明されていない一又は複数の追加的な工程を備えて実現されてもよく、説明する工程の一又は複数を省略して実現されてもよい。また、図１７に示されて以下で説明される方法２００の工程の順序は限定的なものではない。
【００９４】
一部の実施形態において、方法２００は、一又は複数の処理装置（例えば、デジタルプロセッサ、アナログプロセッサ、制御装置、情報処理用のデジタル回路、情報処理用のアナログ回路、及び／又は電子的に情報を処理する前記以外のメカニズム）において実行され得る。この一又は複数の処理装置には、電子ストレージメディアに電子的に格納された命令に応答して、方法２００の工程の一部又は全部を実行する一又は複数の装置を備えてもよい。この一又は複数の処理装置には、方法２００の工程の一又は複数を実行するために設計されたハードウェア、ファームウェア、及び／又はソフトウェアで構成された一又は複数の装置が含まれる。
【００９５】
工程２０２において、取り込まれた画像に基づく画像を取得する。取り込まれた画像の少なくとも一部は一連の隣接する画像を形成する。一部の実施形態において、工程２０２は画像モジュール２２と同様又は類似の画像モジュール（図１６に示され本明細書で説明される）によって実行される。
【００９６】
工程２０４において、隣接する画像間で補間される画像を決定する。一部の実施形態において、工程２０４はアップサンプリング・モジュール２３と同様又は類似のアップサンプリング・モジュール（図１６に示され本明細書で説明される）によって実行される。
【００９７】
工程２０６において、取得した画像及び補間した画像に基づいて立体パノラマが決定される。一部の実施形態において、工程２０６はスティッチング・モジュール２４と同様又は類似のスティッチング・モジュール（図１６に示され本明細書で説明される）によって実行される。
【００９８】
一又は複数の実施形態に従う本発明は、添付の図面を参照して以上で詳細に説明した。図面は説明のみを目的としたものであり、単に例示的な実施形態を図示している。これらの図面は本明細書で説明されるシステム及び方法に対する読者の理解を促進するためのものであり、いずれかの請求項の広さ、範囲、又は適用性を限定するものとはみなされない。
【００９９】
本明細書で述べたシステム及び方法は様々な例示的な実施形態の観点で説明されているものの、個々の実施形態のうちの一又は複数において説明した様々な特徴、態様、及び機能は適用性においてそれらを説明した特定の実施形態に限定されず、むしろ、単独又は様々な組合せで、他の実施形態のうちの一又は複数に適用可能であり、それらの実施形態が説明されているか否か、又はそれらの特徴が説明された実施形態の一部として提示されているか否かには係わらない。このように、本開示の広さ及び範囲は上述の例示的な実施形態によって限定されない。
【０１００】
本書面で使用した語句及びそれを変形した語句は、別途明示的に述べられなくても、限定的なものではなく改変可能なものとしてみなされる。上記の例として、「含む」という語は「含むがこれには限定されない」等の意味に解釈され、「例」という語は議論の対象となる事物の例を提示するために用いられ、その網羅的又は限定的なリストを提示するものではない。数を特定しない場合は「少なくとも１つ」、「一又は複数」等を意味し、「従来の」、「従前の」、「通常の」、「標準的な」、「既知の」などの形容詞及び類似の意味を持つ用語は、説明対象の事物を特定の時期又は特定の時期に入手できた事物に限定するとはみなされない。同様に、この書面が通常の技能を有する当業者にとって明白又は既知の技術に言及する場合、そのような技術は現在又は将来の任意の時点において当業者にとって明白又は既知の技術を含むものとする。
【０１０１】
意味を広くする語句、例えば「一又は複数」、「少なくとも」、「これには限定されない」などの語句をある場合に用いているからといって、そのような意味を広くする語句が用いられない場合に、意味の狭いケースが意図又は要求されているわけではない。
【０１０２】
さらに、本明細書で述べた様々な実施形態は、例示的なブロック図、フローチャート、及び／又はその他の例示によって説明される。この書面を読むと通常の技能を有する当業者の一人にとって明白となることであるが、例示された実施形態及びその様々な代替物は、示された例に限定されることなく実施することができる。例えば、ブロック図及びその付随する説明は特定のアーキテクチャ又は構成を強制するものとはみなされない。
【０１０３】
現時点で最も実用的であり好ましいと考えられる態様に基づいて、本発明の技術を例示のために詳細に説明したが、このような詳細な説明は例示のみを目的としたものである。本発明の技術は開示された実施形態に限定されるものではなく、むしろ添付された特許請求の範囲の趣旨及び範囲に入る変形や均等な配置も本発明に含められることが意図されている。例えば、本開示の技術においては、あらゆる実施形態の一又は複数の特徴を他の実施形態の一又は複数の特徴と可能な限り結合することができる。本開示の技術においては、いずれの請求項もその一又は複数の特徴を他のいずれの請求項の一又は複数の特徴に依存させる及び／又はそれらと組み合わせることが可能である。
【図１Ａ】
2014212519.tif 000006
【図１Ｂ】
2014212519.tif 000007
【図１Ｃ】
2014212519.tif 000008
【図１Ｄ】
2014212519.tif 000009
【図１Ｅ】
2014212519.tif 000010
【図１Ｆ】
2014212519.tif 000011
【図１Ｇ】
2014212519.tif 000012
【図１Ｈ】
2014212519.tif 000013
【図３Ａ】
2014212519.tif 000014
【図３Ｂ】
2014212519.tif 000015
【図３Ｃ】
2014212519.tif 000016
【図３Ｄ】
2014212519.tif 000017
【図３Ｅ】
2014212519.tif 000018
【図３Ｆ】
2014212519.tif 000019
【図３Ｇ】
2014212519.tif 000020
【図３Ｈ】
2014212519.tif 000021
【図３Ｉ】
2014212519.tif 000022
【図３Ｊ】
2014212519.tif 000023
【図３Ｋ】
2014212519.tif 000024
【図３Ｌ】
2014212519.tif 000025
【図９Ａ】
2014212519.tif 000026
【図１２Ａ】
2014212519.tif 000027
【図１２Ｂ】
2014212519.tif 000028
【図１２Ｃ】
2014212519.tif 000029
【図１３Ａ】
2014212519.tif 000030
【図１３Ｂ】
2014212519.tif 000031
【図１３Ｃ】
2014212519.tif 000032
【図１３Ｄ】
2014212519.tif 000033
【図１４Ａ】
2014212519.tif 000034
【図１４Ｂ】
2014212519.tif 000035
【図１４Ｃ】
2014212519.tif 000036
【図１４Ｄ】
2014212519.tif 000037
【図１】
2014212519.tif 000038
【図２】
2014212519.tif 000039
【図３】
2014212519.tif 000040
【図４】
2014212519.tif 000041
【図５】
2014212519.tif 000042
【図６】
2014212519.tif 000043
【図７】
2014212519.tif 000044
【図８】
2014212519.tif 000045
【図９】
2014212519.tif 000046
【図１０】
2014212519.tif 000047
【図１１】
2014212519.tif 000048
【図１２】
2014212519.tif 000049
【図１３】
2014212519.tif 000050
【図１４】
2014212519.tif 000051
【図１５】
2014212519.tif 000052
【図１５Ａ】
2014212519.tif 000053
【図１５Ｂ】
2014212519.tif 000054
【図１５Ｃ】
2014212519.tif 000055
【図１５Ｄ】
2014212519.tif 000056
【図１６】
2014212519.tif 000057
【図１７】
2014212519.tif 000058
【外国語明細書】
2014212519000001.pdf