(57)【特許請求の範囲】
【請求項１】
カメラリグであって、
ハブと、
前記ハブの周りに配置されたカメラ装着リングとを備え、前記カメラ装着リングは複数の凹部を含み、前記カメラ装着リングは、
第１の画像センサを受けるように構成された前記複数の凹部のうちの第１の凹部と、
第２の画像センサを受けるように構成された前記複数の凹部のうちの第２の凹部と、
第３の画像センサを受けるように構成された前記複数の凹部のうちの第３の凹部とを含み、
前記カメラ装着リングは、前記第１の画像センサ、前記第２の画像センサ、および前記第３の画像センサの各々が、前記カメラリグの内部と反対方向を向いている投影を有するように構成されており、
前記複数の凹部は、前記第１の画像センサの第１の視野が前記第２の画像センサの第２の視野および前記第３の画像センサの第３の視野と交差するように規定され、
前記カメラリグは、前記第１の画像センサの裏部分に結合されるクリップをさらに備える、カメラリグ。
【請求項２】
前記カメラリグの半径は、前記第１の画像センサの前記第１の視野が前記第２の画像センサの前記第２の視野および前記第３の画像センサの前記第３の視野と交差するように規定される、請求項１に記載のカメラリグ。
【請求項３】
前記第１の画像センサ、前記第２の画像センサ、および前記第３の画像センサは平面内に配置される、請求項１または２に記載のカメラリグ。
【請求項４】
前記ハブと前記カメラ装着リングとの間にスポークが配置される、請求項１〜３のいずれか１項に記載のカメラリグ。
【請求項５】
前記複数の凹部は、前記第１の画像センサを含む第１のカメラハウジングと前記第２の画像センサを含む第２のカメラハウジングとの間に間隙が配置されるように規定される、請求項１〜４のいずれか１項に記載のカメラリグ。
【請求項６】
前記複数の凹部のうちの前記第１の凹部は、前記第１の画像センサがポートレート向きの視野を有するように規定される、請求項１〜５のいずれか１項に記載のカメラリグ。
【請求項７】
前記複数の凹部のうちの前記第１の凹部は、前記第１の画像センサを前記カメラリグに着脱可能に結合するように規定される、請求項１〜６のいずれか１項に記載のカメラリグ。
【請求項８】
前記カメラリグに結合されたマイクマウントをさらに備える、請求項１〜７のいずれか１項に記載のカメラリグ。
【請求項９】
前記複数の凹部は１２個から１６個の凹部を含む、請求項１〜８のいずれか１項に記載のカメラリグ。
【請求項１０】
前記複数の凹部は１６個の凹部を含む、請求項１〜８のいずれか１項に記載のカメラリグ。
【請求項１１】
前記カメラ装着リングの直径は約２５から３０センチメートルである、請求項１〜１０のいずれか１項に記載のカメラリグ。
【請求項１２】
カメラリグであって、
ハブと、
前記ハブの周りに配置されたカメラ装着リングとを備え、前記カメラ装着リングは複数の凹部を含み、前記カメラ装着リングは、
第１の画像センサを受けるように構成された前記複数の凹部のうちの第１の凹部と、
第２の画像センサを受けるように構成された前記複数の凹部のうちの第２の凹部と、
第３の画像センサを受けるように構成された前記複数の凹部のうちの第３の凹部とを含み、
前記カメラ装着リングは、前記第１の画像センサ、前記第２の画像センサ、および前記第３の画像センサの各々が、前記カメラリグの内部と反対方向を向いている投影を有するように構成されており、
前記複数の凹部は、前記第１の画像センサの第１の視野が前記第２の画像センサの第２の視野および前記第３の画像センサの第３の視野と交差するように規定され、
前記カメラリグは、前記カメラ装着リングにおける第４の凹部内に挿入されるように構成される突起を有するクリップをさらに備える、カメラリグ。
【請求項１３】
前記カメラリグの半径は、前記第１の画像センサの前記第１の視野が前記第２の画像センサの前記第２の視野および前記第３の画像センサの前記第３の視野と交差するように規定される、請求項１２に記載のカメラリグ。
【請求項１４】
前記突起は第１の突起であり、前記クリップは、前記第１の画像センサを含むカメラに結合されるように構成される第２の突起と、前記クリップを前記カメラに着脱可能に結合するために用いられる第３の突起とを有する、請求項１２に記載のカメラリグ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、２０１５年５月２７日に出願され「Camera Rig and Stereoscopic Image Capture（カメラリグおよび立体画像キャプチャ）」と題された米国仮出願番号第６２／１６７，１５１号に基づく優先権および利益を主張し、上記出願の全体を本明細書に引用により援用する。
【０００２】
技術分野
本説明は概してカメラリグに関する。特に、本説明は、キャプチャされた画像から立体パノラマを生成してバーチャルリアリティ（ＶＲ）環境で表示することに関する。
【背景技術】
【０００３】
背景
パノラマ写真撮影技術を画像およびビデオに対して用いて、あるシーンの幅広いビューを提供することができる。従来から、パノラマ写真撮影技術および撮像技術を用いて、従来のカメラで撮影された多数の隣接写真からパノラマ画像を得ることができる。当該写真を互いに整列してマウント処理して、パノラマ画像を得ることができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
１つ以上のコンピュータ、カメラリグ、およびカメラリグ上に収容されたカメラデバイスのシステムは、動作時に当該システムにアクションを実行させる、当該システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを有することによって、特定の動作またはアクションを実行するように構成され得る。１つの一般的側面は、ハブと、ハブの周りに配置されたカメラ装着リングとを有するカメラリグを含む。カメラ装着リングは複数の凹部を含み得る。カメラリグはさらに、第１の画像センサを受けるように構成された複数の凹部のうちの第１の凹部を含む。カメラリグはさらに、第２の画像センサを受けるように構成された複数の凹部のうちの第２の凹部を含む。カメラリグはさらに、第３の画像センサを受けるように構成された複数の凹部のうちの第３の凹部を含む。カメラリグはさらに、カメラ装着リングの内部と反対方向を向いている投影を有する第１の画像センサ、第２の画像センサ、および第３の画像センサの各々を含む。カメラリグはさらに、第１の画像センサの第１の視野が第２の画像センサの第２の視野および第３の画像センサの第３の視野と交差するように規定される複数の凹部を含む。本局面の他の実施形態は、対応するコンピュータシステム、装置、および１つ以上のコンピュータ記憶装置上に記録されたコンピュータプログラムを含み、その各々が本明細書に記載の方法と関連付けられているアクションを実行するように構成されている。
【０００５】
実現例は、以下の特徴の１つ以上を単独でまたは１つ以上の他の特徴と組合せて含み得る。たとえば、上記の実現例のいずれかまたはすべてにおいて、カメラリグの半径は、第１の画像センサの第１の視野が第２の画像センサの第２の視野および第３の画像センサの第３の視野と交差するように規定される。上記の実現例のいずれかまたはすべてにおいて、第１の画像センサ、第２の画像センサ、および第３の画像センサは平面内に配置される。上記の実現例のいずれかまたはすべてにおいて、かつ上述の実現例のうちの１つのカメラリグのいずれかにおいて、ハブと装着リングとの間にスポークが配置され得る。
【０００６】
上記の実現例および／または上述の実現例のうちの１つのカメラリグのいずれかまたはすべてにおいて、複数の凹部は、第１の画像センサを含む第１のカメラハウジングと第２の画像センサを含む第２のカメラハウジングとの間に間隙が配置されるように規定される。
【０００７】
上記の実現例および／または上述の実現例のうちの１つのカメラリグのいずれかまたはすべてにおいて、複数の凹部のうちの第１の凹部は、第１の画像センサがポートレート向きの視野を有するように規定され、および／または複数の凹部のうちの第１の凹部は、第１の画像センサをカメラリグに着脱可能に結合するように規定される。
【０００８】
上記の実現例および／または上述の実現例のうちの１つのカメラリグのいずれかまたはすべてにおいて、カメラリグは、装着リングに結合されたクリップ、および／またはカメラリグに結合されたマイクマウントをさらに含み得る。
【０００９】
上記の実現例および／または上述の実現例のうちの１つのカメラリグのいずれかまたはすべてにおいて、複数の凹部は１２個から１６個の凹部を含む。上記の実現例および／または上述の実現例のうちの１つのカメラリグのいずれかまたはすべてにおいて、複数の凹部はちょうど１６個の凹部を含む。
【００１０】
上記の実現例および／または上述の実現例のうちの１つのカメラリグのいずれかまたはすべてにおいて、カメラ装着リングの直径は約２５から３０センチメートルである。
【００１１】
別の局面において、方法が記載される。当該方法は、１つ以上のコンピュータ、カメラリグ、およびカメラリグ上に収容されたカメラデバイスのシステムを用いて実行され得、当該システムは、動作時に当該システムにアクションを実行させる、当該システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを有することによって、特定の動作またはアクションを実行するように構成され得る。１つ以上のコンピュータプログラムは、データ処理装置によって実行されると当該装置にアクションを実行させる命令を含むことによって特定の動作またはアクションを実行するように構成され得る。当該方法は、カメラリグのカメラ装着リングに結合された第１の画像センサにおいて第１の画像を規定することを含み得る。当該方法はさらに、カメラリグのカメラ装着リングに結合された第１の画像センサにおいて第２の画像を規定することを含む。当該方法はさらに、カメラ装着リングの直径より小さい直径を有するキャプチャ円から投影される光線を規定することを含む。当該方法はさらに、光線と第１の画像センサとの間の第１の距離および光線と第２の画像センサとの間の第２の距離に基づいて、光線と関連付けられている第３の画像を補間することを含み得る。本局面の他の実施形態は、対応するコンピュータシステム、装置、および１つ以上のコンピュータ記憶装置上に記録されたコンピュータプログラムを含み、その各々が当該方法のアクションを実行するように構成されている。
【００１２】
上記の実現例のいずれかまたはすべてにおいて、第１の画像センサは、第２の画像センサの第２の視野と交差し、かつカメラリグに結合された第３の画像センサの第３の視野と交差する第１の視野を有する。上記の実現例のいずれかまたはすべてにおいて、第１の画像センサ、第２の画像センサ、および第３の画像センサは平面内に配置される。
【００１３】
上記の実現例のいずれかまたはすべてにおいて、第１の画像、第２の画像、および第３の画像の各々はポートレート向きである。上記の実現例のいずれかまたはすべてにおいて、光線はキャプチャ円から接線方向に投影される。
【００１４】
上記の実現例のいずれかまたはすべてにおいて、光線は第１の光線であり、当該方法はさらに、キャプチャ円から投影される第２の光線を規定することと、カメラ装着リングに結合された第３の画像センサにおいて第４の画像を規定することと、第２の光線と第１の画像センサとの間の第３の距離および第２の光線と第３の画像センサとの間の第４の距離に基づいて、第２の光線と関連付けられている第５の画像を補間することとを含む。記載される技術の実現例は、ハードウェア、方法もしくはプロセス、またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含み得る。
【００１５】
本局面の他の実施形態は、対応するコンピュータシステム、装置、および１つ以上のコンピュータ記憶装置上に記録されたコンピュータプログラムを含み、その各々が当該方法のアクションを実行するように構成されている。
【００１６】
１つ以上の実現例の詳細を添付の図面および以下の説明で述べる。説明および図面から、かつ請求項から他の特徴が明らかになるであろう。
【００１７】
さまざまな図面における同様の参照記号は同様の要素を指す。
【図面の簡単な説明】
【００１８】
【図１】３Ｄバーチャルリアリティ（ＶＲ）環境で立体パノラマをキャプチャしてレンダリングするための例示的なシステムのブロック図である。
【図２】立体パノラマを生成する際に用いるシーンの画像をキャプチャするように構成された例示的なカメラリグを図示する図である。
【図３】立体パノラマを生成する際に用いるシーンの画像をキャプチャするように構成された別の例示的なカメラリグを図示する図である。
【図４Ａ】カメラリグおよび関連の構成要素のさらに別の例を図示する図である。
【図４Ｂ】カメラリグおよび関連の構成要素のさらに別の例を図示する図である。
【図４Ｃ】カメラリグおよび関連の構成要素のさらに別の例を図示する図である。
【図４Ｄ】カメラリグおよび関連の構成要素のさらに別の例を図示する図である。
【図４Ｅ】カメラリグおよび関連の構成要素のさらに別の例を図示する図である。
【図４Ｆ】カメラリグおよび関連の構成要素のさらに別の例を図示する図である。
【図４Ｇ】カメラリグおよび関連の構成要素のさらに別の例を図示する図である。
【図４Ｈ】カメラリグおよび関連の構成要素のさらに別の例を図示する図である。
【図４Ｉ】カメラリグおよび関連の構成要素のさらに別の例を図示する図である。
【図４Ｊ】カメラリグおよび関連の構成要素のさらに別の例を図示する図である。
【図５Ａ】さらに別の例示的なカメラリグを図示する図である。
【図５Ｂ】さらに別の例示的なカメラリグを図示する図である。
【図５Ｃ】さらに別の例示的なカメラリグを図示する図である。
【図６】立体パノラマを生成する際に用いるシーンの画像をキャプチャするように構成されたさらに別の例示的なカメラリグを図示する図である。
【図７】例示的なＶＲデバイスを示す図である。
【図８】カメラおよび隣接カメラの数をカメラ視野の関数として示す例示的なグラフの図である。
【図９】補間された視野をカメラ視野の関数として示す例示的なグラフの図である。
【図１０】カメラリグのためのコンフィギュレーションの選択を示す例示的なグラフの図である。
【図１１】予め規定されたリグ直径に従ってカメラの最小数を求めるために用いられ得る例示的な関係を示すグラフの図である。
【図１２Ａ】画像キャプチャ時に起こり得る歪みの線画の例の図である。
【図１２Ｂ】画像キャプチャ時に起こり得る歪みの線画の例の図である。
【図１３Ａ】パノラマ画像の収集時にキャプチャされた光線の例を図示する図である。
【図１３Ｂ】パノラマ画像の収集時にキャプチャされた光線の例を図示する図である。
【図１４Ａ】図１３Ａ〜図１３Ｂにおいて記載したような、平面透視投影の近似の使用例を示す図である。
【図１４Ｂ】図１３Ａ〜図１３Ｂにおいて記載したような、平面透視投影の近似の使用例を示す図である。
【図１５Ａ】画像の平面に適用される近似された平面透視投影の例を示す図である。
【図１５Ｂ】画像の平面に適用される近似された平面透視投影の例を示す図である。
【図１５Ｃ】画像の平面に適用される近似された平面透視投影の例を示す図である。
【図１６Ａ】垂直視差を導入する例を示す図である。
【図１６Ｂ】垂直視差を導入する例を示す図である。
【図１７Ａ】３Ｄパノラマにおける点を示すために用いられ得る座標系の例示的な点を図示する図である。
【図１７Ｂ】３Ｄパノラマにおける点を示すために用いられ得る座標系の例示的な点を図示する図である。
【図１８】図１７Ａ〜図１７Ｂに図示した点の投影図である。
【図１９】本開示に記載のパノラマ撮像技術を用いて全方向ステレオ画像内にキャプチャされた光線を示す図である。
【図２０】３Ｄ空間における点に起因する最大垂直視差を示すグラフの図である。
【図２１】ステレオパノラマ画像を生成するプロセスの一実施形態を図示するフローチャートの図である。
【図２２】ステレオパノラマ画像をキャプチャするプロセスの一実施形態を図示するフローチャートの図である。
【図２３】ヘッドマウントディスプレイにおいてパノラマ画像をレンダリングするプロセスの一実施形態を図示するフローチャートの図である。
【図２４】画像境界を求めるプロセスの一実施形態を図示するフローチャートの図である。
【図２５】ビデオコンテンツを生成するプロセスの一実施形態を図示するフローチャートの図である。
【図２６】本明細書に記載の技術を実現するために用いられ得るコンピュータデバイスおよびモバイルコンピュータデバイスの例を示す図である。
【発明を実施するための形態】
【００１９】
詳細な説明
パノラマ画像を作成することは一般に、たとえば１つのカメラまたはカメラリグ内の多数のカメラを用いて周囲の三次元（３Ｄ）シーンの画像またはビデオをキャプチャすることを含む。いくつかのカメラを収容するカメラリグを用いる場合、各カメラは、特定の時点で画像をキャプチャするように同期化されて構成され得る。たとえば、各カメラによってキャプチャされる第１のフレームは、第２、第３、および第４のカメラが対応する第１のフレームをキャプチャするのとほぼ同時にキャプチャされ得る。この画像キャプチャは、シーンの一部またはすべてがキャプチャされるまで同時に継続し得る。実現例の多くはカメラに関して説明されるが、実現例は代わりに画像センサに関して、または（画像センサを含み得る）カメラハウジングに関しても説明され得る。
【００２０】
複数のカメラを収容するカメラリグは、特定の角度のシーンをキャプチャするように構成され得る。たとえば、カメラリグ上に収容されたカメラは特有の角度で方向付けられ得、その角度からキャプチャされたすべての（または少なくとも一部の）コンテンツが処理されて特定のシーンの全パノラマが生成され得る。いくつかの実現例では、カメラの各々は異なる角度に方向付けられて異なる角度のシーンをキャプチャし得る。シーンの一部のみをキャプチャする場合、またはシーンの一部もしくはすべてが歪みを含んでいる場合は、パノラマのうち、いずれかの欠けている、破損している、または歪んでいるコンテンツを補間または構成するために多数のプロセスが実行され得る。以下の開示では、３Ｄパノラマコンテンツを３Ｄバーチャルリアリティ（ＶＲ）環境でヘッドマウントディスプレイ（ＨＭＤ）デバイスにおいて表示する目的でそのようなコンテンツをキャプチャ、処理、補正、およびレンダリングする多数の装置および方法を記載する。
【００２１】
図１は、３Ｄバーチャルリアリティ（ＶＲ）環境で立体パノラマをキャプチャしてレンダリングするための例示的なシステム１００のブロック図である。例示的なシステム１００において、カメラリグ１０２は画像をキャプチャし、（たとえば永久もしくはリムーバブルストレージに）ローカルに記憶し、および／またはネットワーク１０４上で提供し得るか、あるいは、画像を分析および処理のために画像処理システム１０６に直接提供し得る。システム１００のいくつかの実現例では、モバイルデバイス１０８は、画像をネットワーク１０４を介して提供するためのカメラリグ１０２として機能し得る。画像がキャプチャされると、画像処理システム１０６は画像に対して多数の計算およびプロセスを実行し、たとえば、処理画像をレンダリングのためにネットワーク１０４上でヘッドマウントディスプレイ（ＨＭＤ）デバイス１１０に提供し得る。いくつかの実現例では、画像処理システム１０６はカメラリグ１０２および／またはＨＭＤデバイス１１０に含まれ得る。いくつかの実現例では、画像処理システム１０６はさらに、処理画像をレンダリング、記憶、またはさらなる処理のためにモバイルデバイス１０８に、および／またはコンピューティングデバイス１１２に提供し得る。
【００２２】
ＨＭＤデバイス１１０は、バーチャルリアリティコンテンツを表示可能なバーチャルリアリティヘッドセット、眼鏡、アイピース、または他のウェアラブルデバイスを表わし得る。動作時、ＨＭＤデバイス１１０は、受信したおよび／または処理した画像をユーザに対して再生可能なＶＲアプリケーション（図示せず）を実行し得る。いくつかの実現例では、ＶＲアプリケーションは、図１に示すデバイス１０６，１０８または１１２の１つ以上によってホストされ得る。一例では、ＨＭＤデバイス１１０は、カメラリグ１０２がキャプチャしたシーンのビデオ再生を提供し得る。別の例では、ＨＭＤデバイス１１０は、単一のパノラマシーンにスティッチングされる静止画像の再生を提供し得る。
【００２３】
カメラリグ１０２は、ＶＲ環境でコンテンツをレンダリングするために画像データを収集するカメラ（キャプチャデバイスとも称され得る）および／または処理デバイスとして用いられるように構成され得る。カメラリグ１０２は本明細書では特定の機能を有して記載されるブロック図として示されているが、リグ１０２は図２〜図６に示す実現例のいずれかの形態を取ることができ、さらに、本開示全体にわたってカメラリグについて記載される機能を有し得る。たとえば、システム１００の機能の記載を簡潔にするために、図１は画像をキャプチャするカメラがリグの周りに配置されていないカメラリグ１０２を示す。カメラリグ１０２の他の実現例は、リグ１０２などの円形カメラリグの周囲に配置され得る任意の数のカメラを含み得る。
【００２４】
図１に示すように、カメラリグ１０２は多数のカメラ１３９および通信システム１３２を含む。カメラ１３９は単一のスチルカメラまたは単一のビデオカメラを含み得る。いくつかの実現例では、カメラ１３９は、リグ１０２の外周（たとえばリング）に沿って並んで配置された（たとえば着座した）複数のスチルカメラまたは複数のビデオカメラを含み得る。カメラ１３９はビデオカメラ、画像センサ、立体カメラ、赤外線カメラ、および／またはモバイルデバイスであり得る。通信システム１３２を用いて画像、命令、および／または他のカメラ関連のコンテンツがアップロードおよびダウンロードされ得る。当該通信は有線でも無線でもよく、私設網または公衆網上でインターフェイス可能である。
【００２５】
カメラリグ１０２は、固定リグまたは回転リグとして機能するように構成され得る。リグ上の各カメラはリグの回転中心からオフセットして配置（たとえば設置）される。カメラリグ１０２は、たとえば、３６０度回転して、シーンの３６０度ビューのすべてまたは一部をスイープしてキャプチャするように構成され得る。いくつかの実現例では、リグ１０２は固定位置で動作するように構成され得、そのようなコンフィギュレーションでは、付加的なカメラをリグに追加してシーンの付加的な外向き角度のビューをキャプチャしてもよい。
【００２６】
いくつかの実現例では、カメラリグ１０２は、複数のデジタルビデオカメラを含む。複数のデジタルビデオカメラは、それらのレンズの各々が径方向外向き方向を指し示して周囲のシーンまたは環境の異なる部分を見るように、左右にまたは背中合わせに配置される（たとえば、カメラ３０２Ｂおよび３０２Ｆに関して図３に示される）。いくつかの実現例では、複数のデジタルビデオカメラは、ビュー方向が円形カメラリグ１０２に接している接線構成で配置される。たとえば、カメラリグ１０２は、リグのベースに対して接線方向に配列されつつ、自身のレンズの各々が径方向外向き方向を指し示すように配置される複数のデジタルビデオカメラを含み得る。デジタルビデオカメラは、異なる方向のコンテンツをキャプチャして周囲シーンの異なる角度部分を見るように指し示され得る。
【００２７】
いくつかの実現例では、カメラからの画像はカメラリグ１０２上の隣接ペアにおいて処理され得る。そのようなコンフィギュレーションでは、隣接カメラの各セットの各第１のカメラはカメラリグベースの円形路に対して接線方向に配置（たとえば設置）され、左方向に（たとえばカメラレンズが左方向を指し示して）整列される。隣接カメラの各セットの各第２のカメラはカメラリグベースの円形路に対して接線方向に配置（たとえば設置）され、（たとえばカメラレンズが）右方向を指し示して整列される。
【００２８】
カメラリグ１０２上で用いられるカメラについての例示的な設定として、約６０フレーム／秒のプログレッシブスキャンモード（すなわち、ほとんどビデオカメラの標準的な記録モードのように１行おきではなく、各ラスタ線をサンプリングしてビデオの各フレームを生成するモード）が挙げられ得る。また、カメラの各々は同一の（または同様の）設定で構成され得る。各カメラを同一の（または同様の）設定に構成することは、キャプチャ後に所望の態様で互いにスティッチングされ得る画像をキャプチャするという利点をもたらし得る。例示的な設定として、カメラの１つ以上を同じズーム、フォーカス、露光、およびシャッタスピードに設定すること、ならびに安定化機能が相関されているかまたはオフにされた状態でカメラをホワイトバランスするように設定することが挙げられ得る。
【００２９】
いくつかの実現例では、カメラリグ１０２は１つ以上の画像またはビデオをキャプチャするために用いられる前に較正され得る。たとえば、カメラリグ１０２上の各カメラはパノラマビデオを撮るように較正および／または構成され得る。設定は、たとえば、リグを３６０度スイープで特定の回転速度で、広視野で、時計回りまたは反時計回り方向に動作させるように構成することを含み得る。いくつかの実現例では、リグ１０２上のカメラは、たとえば、シーンの周りのキャプチャ経路の３６０度スイープの１度毎に１フレームをキャプチャするように構成され得る。そのような実現例では、リグ１０２上のカメラは、たとえば、シーンの周りのキャプチャ経路の３６０度（以下）スイープの１度毎に複数のフレームをキャプチャするように構成され得る。いくつかの実現例では、リグ１０２上のカメラは、たとえば、１度毎に特に測定されたフレームをキャプチャする必要なしにシーンの周りのキャプチャ経路のスイープで複数のフレームをキャプチャするように構成され得る。
【００３０】
いくつかの実現例では、カメラは、同期して機能して、特定の時点でカメラリグ上のカメラからビデオをキャプチャするように構成（たとえばセットアップ）され得る。いくつかの実現例では、カメラは、同期して機能して、ある期間にわたってカメラの１つ以上からビデオの特定の部分をキャプチャするように構成され得る。カメラリグを較正する別の例は、受信画像をどのように記憶するかを構成することを含み得る。たとえば、受信画像は個々のフレームまたはビデオ（たとえばａｖｉファイル、ｍｐｇファイル）として記憶され得、そのように記憶された画像はインターネット、別のサーバもしくはデバイスにアップロードされ得るか、またはカメラリグ１０２上の各カメラを用いてローカルに記憶され得る。いくつかの実現例では、受信画像は符号化ビデオとして記憶され得る。
【００３１】
画像処理システム１０６は、補間モジュール１１４、キャプチャ補正モジュール１１６、およびスティッチングモジュール１１８を含む。補間モジュール１１６は、たとえば、デジタル画像およびビデオの一部をサンプリングし、カメラリグ１０２からキャプチャされた隣接画像同士の間で起こると考えられる多数の補間された画像を求めるために用いられ得るアルゴリズムを表わす。いくつかの実現例では、補間モジュール１１４は、隣接画像同士の間の補間された画像フラグメント、画像部分、および／または垂直もしくは水平画像ストリップを求めるように構成され得る。いくつかの実現例では、補間モジュール１１４は、隣接画像内の関連画素同士の間のフローフィールド（および／またはフローベクトル）を求めるように構成され得る。フローフィールドを用いて、画像が受けた両変換、および変換を受けた処理画像が補償され得る。たとえば、フローフィールドを用いて、取得された画像の特定の画素格子の変換が補償され得る。いくつかの実現例では、補間モジュール１１４は、周囲画像の補間によって、キャプチャされた画像の一部ではない１つ以上の画像を生成し得、生成された画像をキャプチャされた画像にインターリーブして、シーンの付加的なバーチャルリアリティコンテンツを生成し得る。
【００３２】
キャプチャ補正モジュール１１６は、非理想的なキャプチャセットアップを補償することによってキャプチャされた画像を補正するように構成され得る。例示的なキャプチャセットアップとして、非限定的な例では、円形カメラ軌道、平行な主（カメラ）軸、カメラ軌道に垂直なビュー方向、カメラ軌道に対して接線方向であるビュー方向、および／または他のキャプチャ条件が挙げられ得る。いくつかの実現例では、キャプチャ補正モジュール１１６は、画像キャプチャ時の非円形カメラ軌道、および／または画像キャプチャ時の非平行主軸の一方または両方を補償するように構成され得る。
【００３３】
キャプチャ補正モジュール１１６は、特定の１セットの画像を調整して、カメラ同士の分離が約３０度より大きい複数のカメラを用いてキャプチャされたコンテンツを補償するように構成され得る。たとえば、カメラ同士の間の距離が４０度の場合、キャプチャ補正モジュール１１６は、付加的なカメラからコンテンツを収集することによって、または欠けているコンテンツを補間することによって、カメラのカバー範囲不足に基づく特定のシーンにおけるいずれかの欠けているコンテンツを説明し得る。
【００３４】
いくつかの実現例では、キャプチャ補正モジュール１１６はさらに、１セットの画像を調整して、カメラポーズエラーなどによるカメラ誤整列を補償するように構成され得る。たとえば、カメラポーズエラー（たとえばカメラの向きおよび位置によるエラー）が画像キャプチャ時に起こると、モジュール１１６はいくつかの画像フレームからの２つ以上の画素列同士を混合して、露光不足（もしくは画像フレーム毎の露光変化）によるおよび／または１つ以上のカメラの誤整列によるアーティファクトを含むアーティファクトを除去し得る。スティッチングモジュール１１８は、規定された、取得された、および／または補間された画像に基づいて３Ｄ立体画像を生成するように構成され得る。スティッチングモジュール１１８は、複数の画像部分からの画素および／または画像ストリップを混合する／スティッチングするように構成され得る。スティッチングは、たとえば補間モジュール１１４によって求められたフローフィールドに基づき得る。たとえば、スティッチングモジュール１１８は、１セットの画像の一部ではない補間された画像フレームを（補間モジュール１１４から）受信し、画像フレームを１セットの画像にインターリーブし得る。インターリーブすることは、モジュール１１８が、補間モジュール１１４によって生成されたオプティカルフローに少なくとも部分的に基づいて画像フレームおよび１セットの画像を互いにスティッチングすることを含み得る。スティッチングされた組合せを用いて、ＶＲヘッドマウントディスプレイにおいて表示するための全方位ステレオ（たとえば全方向ステレオ）パノラマが生成され得る。画像フレームは、特定のリグ上に配置されたカメラの多数の隣接ペアから収集された、キャプチャ済のビデオストリームに基づき得る。そのようなリグは、約１２個から約１６個のカメラを含み得る。言い換えると、そのようなリグの他の組合せは、たとえば１２個〜１６個のペアでないまたは個々のカメラを含み得る。いくつかの実現例では、奇数個のカメラがリグに含まれていてもよい。いくつかの実現例では、リグは２セットまたは３セット以上の隣接カメラを含む。いくつかの実現例では、リグは、リグ上に並んで着座し得る同数セットの隣接カメラを含む。いくつかの実現例では、スティッチングモジュール１１８は、少なくとも１つの隣接ペアと関連付けられているポーズ情報を用いて、インターリーブを実行する前に１セットの画像の一部を予めスティッチングし得る。カメラリグ上の隣接ペアは、たとえば図３に関連して以下により明確に示されて記載される。
【００３５】
いくつかの実現例では、オプティカルフロー技術を用いて画像同士を互いにスティッチングすることは、キャプチャされたビデオコンテンツ同士を互いにスティッチングすることを含み得る。そのようなオプティカルフロー技術を用いて、カメラペアおよび／または単一のカメラを用いて以前にキャプチャされた特定のビデオコンテンツ同士の間の中間ビデオコンテンツが生成され得る。この技術は、画像をキャプチャする円形固定カメラリグ上の一連のカメラをシミュレートする方法として用いられ得る。シミュレートされたカメラは、単一のカメラを円を描くようにスイープして３６０度の画像をキャプチャする方法と同様のコンテンツをキャプチャし得るが、上記の技術では、実際にリグ上に設置されるカメラはより少なく、リグは固定であってもよい。また、一連のカメラをシミュレートする能力は、ビデオ内のフレーム毎にコンテンツ（たとえば１度毎に１画像のキャプチャ間隔で３６０個の画像）をキャプチャすることができるという利点をもたらす。
【００３６】
生成された中間ビデオコンテンツは、高密度の１セットの画像（たとえば１度毎に１画像で３６０個の画像）を用いることによってオプティカルフローを用いて実際にキャプチャされたビデオコンテンツにスティッチングされ得るが、実際は、カメラリグがキャプチャした画像は３６０個より少ない。たとえば、円形カメラリグが８ペアのカメラ（すなわち１６個のカメラ）またはペアでない１６個のカメラを含む場合、キャプチャされた画像のカウントは１６個の画像まで低くなり得る。オプティカルフロー技術を用いて１６個の画像同士の間のコンテンツがシミュレートされて３６０度のビデオコンテンツが提供され得る。
【００３７】
いくつかの実現例では、オプティカルフロー技術を用いることによって補間効率が向上し得る。たとえば、３６０個の画像を補間する代わりに、カメラの各連続ペア（たとえば［１−２］，［２−３］，［３−４］）同士の間でオプティカルフローが計算され得る。キャプチャされた１６個の画像およびオプティカルフローを仮定して、補間モジュール１４および／またはキャプチャ補正モジュール１１６は、１６個の画像のうちのいずれかにおいて画像全体を補間する必要なしに任意の中間ビューにおける任意の画素を計算し得る。
【００３８】
画像処理システム１０６は、投影モジュール１２０および画像補正モジュール１２２をさらに含む。投影モジュール１２０は、画像を透視平面内に投影することによって３Ｄ立体画像を生成するように構成され得る。たとえば、投影モジュール１２０は特定の１セットの画像の投影を取得し得、画像の一部を平面透視投影から球面（すなわち正距円筒図法）透視投影に変換することによって当該１セットの画像の一部の再投影を構成し得る。当該変換は投影モデリング技術を含む。
【００３９】
投影モデリングは、投影中心および投影面を規定することを含み得る。本開示に記載の例では、投影中心は、予め規定されたｘｙｚ座標系の原点（０，０，０）における光学中心を表わし得る。投影面は投影中心の前に設置され得、カメラはｘｙｚ座標系のｚ軸に沿って画像をキャプチャするように向いている。一般に、投影は、座標（ｘ，ｙ，ｚ）から投影中心までの特定の画像光線の透視平面の交差点を用いて計算され得る。投影の変換は、たとえばマトリックス計算を用いて座標系を操作することによって行なわれ得る。
【００４０】
立体パノラマための投影モデリングは、単一の投影中心を有さないマルチ透視画像を用いることを含み得る。マルチ透視は典型的に円形状（球状）（図１３Ｂ参照）として示される。コンテンツをレンダリングする際、本明細書に記載のシステムは、１つの座標系から別の座標系に変換する際の近似として球面を用い得る。
【００４１】
一般に、球面（すなわち正距円筒図法）投影は、球面の中心が投影中心を等しく囲んでいる球状の平面を提供する。透視投影は、透視平面（たとえば２Ｄ表面）上の３Ｄオブジェクトの画像を提供してユーザの実際の視覚を近似するビューを提供する。一般に、画像は平坦な画像面（たとえばコンピュータモニタ、モバイルデバイスＬＣＤスクリーン）上にレンダリングされ得るので、投影は歪みのないビューを提供するために平面透視で示される。しかし、平面投影では３６０度の視野が可能でない場合があるので、キャプチャされた画像（たとえばビデオ）は正距円筒図法（たとえば球面）の透視で記憶され得、レンダリング時に平面透視に再投影され得る。
【００４２】
特定の再投影が完了した後、投影モジュール１２０はＨＭＤにおいてレンダリングするために再投影された画像の部分を送信し得る。たとえば、投影モジュール１２０は、再投影の一部をＨＭＤ１１０における左目ディスプレイに、再投影の一部をＨＭＤ１１０における右目ディスプレイに提供し得る。いくつかの実現例では、投影モジュール１２０は、上記の再投影を実行することによって垂直視差を計算して減らすように構成され得る。
【００４３】
画像補正モジュール１２２は、透視歪みを含むがこれに限定されない歪みを補償することによって３Ｄ立体画像を生成するように構成され得る。いくつかの実現例では、画像補正モジュール１２２は、オプティカルフローが３Ｄステレオのために維持される特定の距離を求め得、画像をセグメント化して、そのようなフローが維持されるシーンの一部のみを示し得る。たとえば、画像補正モジュール１２２は、３Ｄステレオ画像のオプティカルフローが、たとえば、円形カメラリグ１０２の外向きエッジから約半径１メートルから、カメラリグ１０２の外向きエッジから約半径５メートルの間に維持されると判断し得る。したがって、画像補正モジュール１２２は、ＨＭＤ１１０のユーザにとって適切な視差を有する適切な３Ｄステレオ効果を提供しつつ、歪みのない投影においてＨＭＤ１１０内でレンダリングするために１メートルから５メートルの間の部分が選択されることを保証し得る。
【００４４】
いくつかの実現例では、画像補正モジュール１２２は、特定の画像を調整することによってオプティカルフローを推定し得る。当該調整は、たとえば、画像の一部を訂正すること、画像の当該一部と関連付けられている推定されたカメラポーズを求めること、および当該一部における画像同士の間のフローを求めることを含み得る。非限定的な例では、画像補正モジュール１２２は、フローが計算されている２つの特定の画像同士の間の回転差を補償し得る。この補正は、回転差（すなわち回転フロー）に起因するフロー成分を除去するように機能し得る。そのような補正によって、並進移動に起因するフロー（たとえば視差フロー）がもたらされ、これは、結果として得られる画像を正確かつロバストにしつつ、フロー推定計算の複雑さを減少させることができる。いくつかの実現例では、画像補正に加えて、レンダリング前に画像に対して処理が行なわれ得る。たとえば、レンダリングが実行される前に、スティッチング、混合、または付加的な補正処理が画像に対して行なわれ得る。
【００４５】
いくつかの実現例では、画像補正モジュール１２２は、平面透視投影に基づいていないカメラジオメトリを用いてキャプチャされた画像コンテンツに起因する投影歪みを補正し得る。たとえば、多数の異なるビュー角度からの画像を補間することによって、かつ当該画像と関連付けられているビュー光線を共通の原点から生じていると条件付けることによって、補正が画像に適用され得る。補間された画像はキャプチャされた画像にインターリーブされて、人間の目にとって無理のないレベルの回転視差を有して人間の目に正確に見えるバーチャルコンテンツが生成され得る。
【００４６】
例示的なシステム１００では、デバイス１０６，１０８および１１２はラップトップコンピュータ、デスクトップコンピュータ、モバイルコンピューティングデバイス、またはゲーム機であり得る。いくつかの実現例では、デバイス１０６，１０８および１１２は、ＨＭＤデバイス１１０内に配置され（たとえば設置され／位置し）得るモバイルコンピューティングデバイスであり得る。モバイルコンピューティングデバイスは、たとえば、ＨＭＤデバイス１１０のためのスクリーンとして用いられ得る表示装置を含み得る。デバイス１０６，１０８および１１２は、ＶＲアプリケーションを実行するためのハードウェアおよび／またはソフトウェアを含み得る。さらに、デバイス１０６，１０８および１１２は、これらのデバイスがＨＭＤデバイス１１０の前に設置されるか、またはＨＭＤデバイス１１０に対してある範囲の位置内に保持される場合に、ＨＭＤデバイス１１０の３Ｄ移動を認識、監視、および追跡可能なハードウェアおよび／またはソフトウェアを含み得る。いくつかの実現例では、デバイス１０６，１０８および１１２は、付加的なコンテンツをネットワーク１０４上でＨＭＤデバイス１１０に提供し得る。いくつかの実現例では、デバイス１０２，１０６，１０８，１１０および１１２は、ペアリングされるかまたはネットワーク１０４を介して接続されて、１つ以上と互いに接続／インターフェイスされ得る。当該接続は有線でも無線でもよい。ネットワーク１０４は公衆通信網でも私設通信網でもよい。
【００４７】
システム１００は電子記憶装置を含み得る。電子記憶装置はデバイスのうちのいずれか（たとえばカメラリグ１０２、画像処理システム１０６、ＨＭＤデバイス１１０および／またはその他）に含まれ得る。電子記憶装置は、情報を電子的に記憶する非一時的な記憶媒体を含み得る。電子記憶装置は、キャプチャされた画像、取得された画像、前処理された画像、後処理された画像等を記憶するように構成され得る。開示されるカメラリグのいずれかを用いてキャプチャされた画像は、ビデオの１つ以上のストリームとして処理されて記憶され得るか、または個々のフレームとして記憶され得る。いくつかの実現例では、記憶はキャプチャ時に起こり、レンダリングはキャプチャの一部の直後に起こり、キャプチャおよび処理が同時でなかった場合よりも早くパノラマステレオコンテンツへの高速アクセスを可能とし得る。
【００４８】
図２は、立体パノラマを生成する際に用いるシーンの画像をキャプチャするように構成された例示的なカメラリグ２００を図示する図である。カメラリグ２００は、リング状の支持ベース（図示せず）に取付けられた第１のカメラ２０２Ａおよび第２のカメラ２０２Ｂを含む。示されるように、カメラ２０２Ａおよび２０２Ｂは、直接外側を（キャプチャすべき画像／シーンに向かって）向いて、かつリグ２００の回転軸（Ａ１）の中心と平行に、環状位置に配置されている。
【００４９】
図示される例では、カメラ２０２Ａおよび２０２Ｂは、ある距離だけ離れて（Ｂ１）マウントプレート２０８上に配置（たとえば設置）される。いくつかの実現例では、カメラリグ２００上の各カメラ同士の間の距離（Ｂ１）は平均的な人間の瞳孔間距離（ＩＰＤ）を表わし得る。カメラをＩＰＤ距離だけ離して設置することによって、人間の目が（矢印２０４によって示すように左右に）回転する際にどのように画像を見るかを近似して、矢印２０４によって示されるキャプチャ経路の周りのシーンをスキャンすることができる。例示的な平均的な人間のＩＰＤ測定値は、約５センチメートルから約６．５センチメートルであり得る。いくつかの実現例では、標準的なＩＰＤ距離だけ離れて配置された各カメラはカメラのステレオペアの一部であり得る。
【００５０】
いくつかの実現例では、カメラリグ２００は標準的な人間の頭部の直径を近似するように構成され得る。たとえば、カメラリグ２００は、約８センチメートルから約１０センチメートルの直径２０６を有して設計され得る。この直径２０６は、リグ２００が人間の頭部がどのように回転するかを近似し、回転中心Ａ１に対して人間の目でシーン画像を見るように選択され得る。他の測定も可能であり、リグ２００またはシステム１００は、たとえばより大きい直径を用いる場合は、キャプチャ技術および結果として得られる画像を調整し得る。
【００５１】
非限定的な例では、カメラリグ２００は約８センチメートルから約１０センチメートルの直径２０６を有し得、約６センチメートル離れたＩＰＤ距離に設置されたカメラを収容し得る。多数のリグ配列を以下に述べる。本開示に記載の各配列は、上述のまたは他の直径およびカメラ間距離を有して構成され得る。
【００５２】
図２に示すように、２つのカメラ２０２Ａ，２０２Ｂは広視野を有して構成され得る。たとえば、カメラは約１５０度から約１８０度の視野をキャプチャし得る。カメラ２０２Ａ，２０２Ｂは、より幅広いビューをキャプチャする魚眼レンズを有していてもよい。いくつかの実現例では、カメラ２０２Ａ，２０２Ｂはステレオペアとして機能する。
【００５３】
動作時、リグ２００は回転中心Ａ１の周りを３６０度回転してパノラマシーンをキャプチャし得る。あるいは、リグは固定のままであってもよく、（図３に示すように）付加的なカメラをカメラリグ２００に追加して３６０度のシーンの付加的な部分をキャプチャしてもよい。
【００５４】
図３は、立体パノラマを生成する際に用いるシーンの画像をキャプチャするように構成された別の例示的なカメラリグ３００を図示する図である。カメラリグ３００は、リング状の支持ベース（図示せず）に取付けられた多数のカメラ３０２Ａ〜３０２Ｈを含む。第１のカメラ３０２Ａは実線で示されており、付加的なカメラ３０２Ｂ〜３０２Ｈはそれらがオプションであることを示すために破線で示されている。カメラリグ２００内に示される平行に装着されたカメラ（カメラ２０２Ａおよび２０２Ｂ参照）とは対照的に、カメラ３０２Ａ〜３０２Ｈは円形カメラリグ３００の外周に対して接線方向に配置される。図３に示すように、カメラ３０２Ａは隣接カメラ３０２Ｂおよび隣接カメラ３０２Ｈを有する。
【００５５】
図示される例では、カメラ２０２Ａおよび２０２Ｂは、リグ２００内のカメラと同様に、特定の距離だけ離れて（Ｂ１）配置される。この例では、カメラ３０２Ａおよび３０２Ｂは、以下に詳細に記載するように、隣接ペアとして機能して、それぞれ左右方向における中心カメラレンズから外れた角度をキャプチャし得る。
【００５６】
一例では、カメラリグ３００は、回転可能なまたは固定されたベース（図示せず）およびマウントプレート３０６（支持部とも称され得る）を含む円形リグであり、カメラの隣接ペアは、マウントプレート３０６上に設置され、マウントプレート３０６のエッジに対して接線方向であるビュー方向を指し示すように構成され、左方向を指し示すように配列された第１のカメラ３０２Ａと、第１のカメラと並んでマウントプレート３０６上に設置され、第１のカメラ３０２Ａから瞳孔間距離（または異なる距離（たとえばＩＰＤ距離未満））をおいて設置された第２のカメラ３０２Ｂとを含み、第２のカメラ３０２Ｂは、マウントプレート３０６のエッジに対して接線方向であるビュー方向を指し示すように配列され、右方向を指し示すように配列されている。同様に、隣接ペアはカメラ３０２Ｃおよび３０２Ｄから構成され得、別のペアはカメラ３０２Ｅおよび３０２Ｆから構成され得、さらに別のペアはカメラ３０２Ｇおよび３０２Ｈから構成され得る。いくつかの実現例では、各カメラ（たとえば３０２Ａ）は、リグ上の各カメラがリグ上の別のカメラとペアリングされ得るように、自身に隣接していないが自身の隣接カメラに隣接しているカメラとペアリングされ得る。いくつかの実現例では、各カメラは（いずれかの側の）自身の直接の隣接カメラとペアリングされ得る。
【００５７】
いくつかの実現例では、補間モジュール１１４によって１つ以上のステレオ画像が生成され得る。たとえば、カメラリグ３００上に示されるステレオカメラに加えて、付加的なステレオカメラが合成ステレオ画像カメラとして生成され得る。特に、キャプチャされた画像からの光線を分析（たとえばレイトレーシング）することによって３Ｄシーンのシミュレートされたフレームが生成され得る。当該分析は、視点から特定の画像または画像フレームを通ってシーン内に逆方向に光線を追跡することを含み得る。特定の光線がシーン内のオブジェクトに当たると、当該光線が通過する各画像画素は当該オブジェクトと一致する色でペイントされ得る。光線がオブジェクトに当たらなければ、画像画素は背景またはシーン内の他の特徴と一致する色でペイントされ得る。視点およびレイトレーシングを用いて、補間モジュール１１４はシミュレートされたステレオカメラからであるように見える付加的なシーンコンテンツを生成し得る。付加的なコンテンツは、画像効果、欠けている画像コンテンツ、背景コンテンツ、視野外部のコンテンツを含み得る。
【００５８】
図３に示すように、カメラ３０２Ａ〜３０２Ｈは、カメラリグ３００の外周に対して接線方向に配置（たとえば設置）されるので、シーンの最大で１８０度のビューをキャプチャし得る。すなわち、カメラは接線的に設置されるので、完全にオクルージョンされていない１８０度の視野がリグ上の各カメラ内にキャプチャされ得る。
【００５９】
いくつかの実現例では、カメラリグ３００は隣接カメラを含む。たとえば、リグ３００は隣接カメラ３０２Ａおよび３０２Ｂを含み得る。カメラ３０２Ａは、マウントプレート３０４のエッジに対して接線方向であるビュー方向に方向付けられ、かつ左方向を指し示すように配列された関連のレンズを用いて構成され得る。同様に、カメラ３０２Ｂはカメラ３０２Ａと並んでマウントプレート３０４上に配置され、カメラ３０２Ａからほぼ人間の瞳孔間距離をおいて設置され、マウントプレート３０４のエッジに対して接線方向であるビュー方向を指し示すように配列され、右方向を指し示すように配列され得る。
【００６０】
いくつかの実現例では、実際のカメラ３０２Ａ〜Ｈを接線方向に配置するのではなく、カメラ３０２Ａ〜Ｈ上の（またはカメラリグ３００上の）特定のセンサがカメラ３０２Ａ〜Ｈ（またはリグ３００）の外周に対して接線方向に配置されてもよい。このように、カメラ３０２Ａ〜Ｈはユーザ選択に従って設置され得、センサは、リグ３００の場所、スイープ速度に基づいて、またはカメラコンフィギュレーションおよび設定に基づいて、どのカメラまたはカメラ３０２Ａ〜Ｈが画像をキャプチャ可能であるかを検出し得る。
【００６１】
いくつかの実現例では、隣接カメラは、背中合わせにまたは並んで配列されたカメラ３０２Ａおよびカメラ３０２Ｅを含み得る。また、この配列を用いて、それぞれのカメラレンズおよびマウントプレート３０４によって形成される方位角３０８の左右のビュー角度が集められ得る。いくつかの実現例では、カメラは、それぞれカメラレンズおよびマウントプレート３０４によって形成される方位角３０８の左右の傾斜角を有して配列される。
【００６２】
いくつかの実現例では、カメラリグ３００上に設置されるカメラは、画像補間時にその他の隣接カメラとペアリングされ、外向き方向において円形リグの周りに単純に整列され得る。いくつかの実現例では、リグ３００は単一のカメラ（たとえばカメラ３０２Ａ）を含む。カメラ３０２Ａのみがリグ３００に装着される場合は、カメラリグ３００を時計回りに完全に３６０度回転させることによってステレオパノラマ画像がキャプチャされ得る。
【００６３】
図４Ａから図４Ｄは、実現例に従うカメラリグ４００（球状リグとも称され得る）のさまざまな図（それぞれ斜視図、側面図、上面図、および底面図）を示す図である。示されるように、カメラリグ４００は支持部４１０、およびカメラ４０５Ａから４０５Ｃおよび４０５Ｍを含む。本実現例は５つ以上のカメラを含んでいるが、簡潔にするために当該カメラのうちの４つのみがラベル付けされている。本実現例では、カメラ（キャプチャデバイスとも称され得る）はカメラ４０５と総称され得る。いくつかの実現例では、カメラ４０５はキャプチャデバイスと称され得る。
【００６４】
図４Ｅから図４Ｈは、実現例に従うカメラリグ４００の支持部４１０のさまざまな図（それぞれ斜視図、側面図、上面図、および底面図）を示す図である。図４Ｉは、カメラ４０５を支持部４１０に結合する（たとえば着脱可能に結合する）ために用いられ得るクリップ４５０の斜視図を示す。図４Ｊは、マイク（図示せず）を支持部４１０（およびカメラリグ４００）に結合するために用いられ得るマイクマウント４６０の斜視図を示す。
【００６５】
本明細書に記載の他の実現例と同様に、カメラリグ４００のカメラ４０５は外側を向いている（たとえばリグ４００の中心と反対方向を向いている）。本実現例では、カメラ４０５の各々は、カメラ４０５のレンズ系の視野が中心とする軸が、カメラ４０５によって規定される円の接線と垂直であるように向けられている。そのような例は、カメラ４０５Ａと関連付けられている軸Ａ１および接線を有する少なくとも図４Ｃに示されている。
【００６６】
本実現例では、カメラの各々は、（図４Ｃに示す）軸Ａ２がカメラリグ４００の一方側で一方のレンズ系（たとえば１つのレンズまたはキャプチャセンサの中心）を通り、カメラリグ４００の中心Ａ３を通り、カメラリグ４００の他方側で他方のレンズ系を通り得るように構成される。カメラ４０５（または画像センサ）は、カメラ４０５の各々が、カメラリグ４００によって規定される円形パターンに垂直であり得る外向き投影（または投影中心）を有するように、カメラリグ４００の周辺に円形パターンで配列される。言い換えると、カメラ４０５は、カメラリグ４００の内部と反対方向を向く投影を有し得る。
【００６７】
本実現例におけるカメラ４０５の各々のレンズ系はカメラ４０５の各々の本体の中心からオフセットしているので、カメラの各々は、カメラの各々の視野がカメラリグ４００に対して垂直方向に向けられ得る（たとえば支持部４１０によって規定される円（または当該円からの接線）に垂直に面する）ように、他のカメラ４０５に対して角度を付けてオフセットしている。したがって、カメラ４０５Ｂの本体の裏側（または裏面）が整列される平面Ａ４は隣接カメラ４０５の側面（たとえば側部に沿った平面）と交差し、隣接カメラ４０５Ｃの裏面（たとえば裏側に沿った平面）と交差する。
【００６８】
示されるように、カメラリグ４１０は、支持部材４１１、カメラ装着リング４１２（外側リングとも称され得る）、内側リング４１３、およびハブ４１４を含む。ハブ４１４はカメラリグ４１０の中心部に位置し得、支持部材４１１はハブ４１４とカメラ装着リング４１２との間に配置される。具体的には、支持部材４１１はハブ４１４からカメラ装着リング４１２に延在（たとえば径方向に延在）する。本実現例では、カメラ装着リング４１２および内側リング４１３はカメラリグ４１０内の同心円状の輪を規定する。カメラ装着リング４１２は凹部４１５（クレイドル、開口部等とも称され得る）を含み、この中にカメラ４０５（たとえば画像センサ）の各々が配置され得る。凹部４１５の各々はさまざまな開口部、曲線、突起および／またはその他を含み、これらは、カメラ４０５に含まれている１つ以上の入力ポートおよび／または出力ポートへのアクセスをサポートするおよび／または可能にするために用いられ得る。支持部材４１１（および／またはカメラリグ４１０の他の部分）は、カメラリグ４１０が製造される際に質量がより小さくて済む（たとえばより軽量であり得る）および／または使用材料がより少なくて済むように開口部を含む。本実現例ではハブおよびスポーク型コンフィギュレーションで示されているが、いくつかの実現例では、支持部４１０は異なるコンフィギュレーションを有し得る。
【００６９】
示されていないが、いくつかの実現例では、奇数個のカメラがカメラリグに含まれていてもよい。そのような実現例では、カメラのレンズ系は、複数のカメラレンズ系およびカメラリグの中心を通って軸が配置されることなく、カメラリグの接線（またはカメラリグによって規定される円）に垂直な軸を中心とする視野を有し得る。
【００７０】
いくつかの実現例では、カメラリグ４１０の最小または最大ジオメトリは、カメラリグ４１０に結合されたカメラ４０５の１つ以上の光学的特性（たとえば視野、画素解像度）に基づいて規定され得る。たとえば、カメラリグ４１０の最小直径および／または最大直径はカメラ４０５の少なくとも１つの視野に基づいて規定され得る。いくつかの実現例では、カメラ４０５（たとえば少なくとも１つのカメラ４０５のセンサ）の少なくとも１つの比較的大きい（または幅広い）視野および／または比較的高い解像度によって、カメラリグ４１０の比較的小さい直径がもたらされ得る。たとえば図４Ａから図４Ｄに示すように、カメラ４０５の各々は、カメラ４０５がキャプチャした画像の水平寸法（または解像度）がカメラ４０５がキャプチャした画像の垂直寸法（または解像度）未満であるように、ポートレートモード（たとえば４：３アスペクト比モード）に配列される。いくつかの実現例では、カメラ４０５の各々は任意のアスペクト比または向き（たとえば１６：９または９：１６アスペクト比、３：４アスペクト比）で配列され得る。
【００７１】
本実現例では、カメラリグ４１０の直径（または半径）、およびカメラ４０５内のセンサの各々と交差する円の直径（または半径）は、少なくとも３つの隣接カメラ４０５の視野同士が重なるように規定される。本実現例では、カメラ４０５内のセンサは、（カメラリグ４１０を通る平面と実質的に平行な）平面内に配置される。いくつかの実現例では、少なくとも２つの隣接カメラ４０５の視野全体（たとえば、または実質的に視野全体）が、（２つの隣接カメラ４０５の少なくとも一方に隣接する）カメラ４０５のうちの第３のカメラの視野と重なり得る。いくつかの実現例では、任意のセットの３つの隣接カメラ４０５の視野は、カメラリグ４１０の周りの任意の点（たとえばカメラ４０５のセンサを通る平面内の任意の点）が少なくとも３つのカメラ４０５によってキャプチャされ得るように重なり得る。
【００７２】
少なくとも図４Ｃに示すように、隣接カメラからの各カメラが互いに接触しないように隣接カメラ同士の間に少なくとも間隙が配置される。具体的には、図４Ｃは、カメラ４０５Ｂとカメラ４０５Ｃとの間の間隙４０２（たとえばカメラ４０５Ｂおよび４０５Ｃのカメラハウジング同士の間の間隙４０２）を含む。いくつかの実現例では、支持部４１０は、隣接カメラ同士の間に間隙が配置されるように規定され得る。いくつかの実現例では、間隙４０２は、カメラ４０５のうちの１つのカメラからの熱がカメラ４０５のうちの別のカメラに望ましくないように伝送され得ないように規定され得る。言い換えると、間隙４０２は、熱問題の防止に役立つように、または放熱を促進するように規定され得る。
【００７３】
少なくとも図４Ｂおよび図４Ｆに示すように、支持部４１０は平坦な底部を有する。言い換えると、支持部４１０の底部は平面に沿って整列される。いくつかの実現例では、支持部４１０は、平坦でない、または平面に沿って整列されない底部を有し得る。言い換えると、支持部４１０は１つ以上の曲線、隆起、突起および／またはその他を有し得る。
【００７４】
図４Ｉに示すように、クリップ４５０は、カメラ（たとえばカメラ４０５のうちの１つ）に含まれている凹部（または開口部）内に配置され得る突起４５１を含み得、支持部４１０内の凹部（または開口部）内に配置され得る突起４５２を含み得る。したがって、クリップ４５０は、カメラリグ４００内でカメラ４０５の１つ以上を支持部４１０に着脱可能に結合するように構成され得る。図４Ａに示すように、クリップ４５０は、クリップ４５０をカメラおよびカメラリグ（たとえばカメラリグ４１０）に着脱可能に結合するために用いられ得る突起４５３を有する。少なくとも図４Ａに示すように、クリップ４５０はカメラ装着リング４１２の少なくとも一部に結合され得る。
【００７５】
クリップ４５０Ｍの突起４５１Ｍが配置（たとえば挿入）され得る凹部（または開口部）４０７Ｍの例が少なくとも図４Ａに示されている。クリップ４５０Ｍの突起４５２Ｍが配置（たとえば挿入）され得る凹部（または開口部）４０９Ｍの例が少なくとも図４Ａに示されている。図４Ａはクリップ４５０Ｍの突起４５３Ｍを示す。
【００７６】
図４Ｊに示すように、マイクマウント４６０は、カメラリグ（たとえばカメラリグ４１０）に挿入され得る非対称パターンを規定する３つの突起４６１を含む。いくつかの実現例では、マイクマウント４６０は、（異なるパターン（たとえば対称パターン）を有し得る）さまざまな突起、および／またはマイクマウント４６０をカメラリグに結合するために用いられ得る機構を含み得る。突起４６１が挿入され得る例示的な開口部４７１が少なくとも図４Ａ、図４Ｃ、図４Ｅおよび図４Ｇに示されている。いくつかの実現例では、カメラリグ４１０は、マイクがマイクマウント４６０なしでカメラリグ４１０に直接結合（たとえば着脱可能に結合）され得るように構成され得る。
【００７７】
いくつかの実現例では、カメラリグ４１０は、三脚などの別のデバイスを装着するための機構を含み得る。いくつかの実現例では、カメラリグ４１０が三脚に装着され得るように１つ以上の開口部が配置（たとえばカメラリグ４１０の底部側に配置）され得る。いくつかの実現例では、カメラリグ４１０を三脚などの別のデバイスに装着するための結合機構は、マイクマウント４６０の場所と反対側に配置され得る。いくつかの実現例では、カメラリグ４１０を別のデバイスに装着するための結合機構は、マイクマウント４６０の場所と同じ側にあり得る。
【００７８】
いくつかの実現例では、カメラリグ４１０は、車両（たとえばクアッドコプターなどの航空機）などの別のデバイスに着脱可能に結合され得る。いくつかの実現例では、カメラリグ４１０は、カメラリグ４１０および関連のカメラ４０５がクアッドコプターなどの航空機を用いて移動可能であるように十分軽量な材料からなり得る。
【００７９】
いくつかの実現例では、カメラリグ４００の支持部４１０（ならびにクリップ４５０およびマイクマウント４６０などの関連の構成要素）は３Ｄプリンタを用いて印刷可能であるように構成され得る。いくつかの実現例では、支持部４１０（および関連の構成要素）の１つ以上の部分は、３Ｄプリンタを用いた印刷を容易にするようにスムーズに（曲線で）規定される曲線を有し得る。
【００８０】
図５Ａから図５Ｃは、実現例に係るカメラリグ５００のさまざまな図（それぞれ斜視図、側面図、上面図）を示す図である。本明細書には明示的に記載していないが、カメラリグ５００は、上述の図および後述の図に関連して記載される特徴の１つ以上を含む（または含み得る）。
【００８１】
カメラリグ５００は支持部５１０およびカメラ５０５を含む。本実現例における支持部５１０は厚紙からなる（たとえば実質的に厚紙からなる）。これには、製造時に軽量でコスト効率が高いという利点がある。図５Ａから図５Ｃに示すように、支持部５１０は頂部５８２、側部５８４、および底部５８６を含む。いくつかの実現例では、カメラリグ５００は異なる形状のカメラ５０５に対応するように再構成され得る。
【００８２】
本実現例では、頂部５８２は底部５８６の形状と同じ形状（たとえば外形または輪郭）を有する。いくつかの実現例では、頂部５８２は底部５８６の形状とは異なる形状を有し得る。頂部５８２は、カメラ５０５の本体が貫通し得る開口部を含む。
【００８３】
側部５８４は、カメラ５０５の１つ以上のレンズ系が貫通し得る開口部を含む。本実現例では、側部５８４は穿孔エッジを含み、当該エッジは曲げられて、それぞれ頂部５８２および底部５８６を支持してこれらに結合され得るタブとして規定され得る。また、側部５８４はカメラ５０５の各々と関連付けられている平坦部を有し、平坦部の各々同士の間に曲げ部を含む。
【００８４】
図６は、立体パノラマを生成する際に用いるシーンの画像をキャプチャするように構成された別の例示的なカメラリグ６００を図示する図である。カメラリグ６００はマウントプレート６０２上に装着され得る。マウントプレート６０２は回転可能なベース６０４上に着座し得る。カメラリグ６００は、カメラリグのマウントプレート６０２の周囲領域を埋める多数の並んだカメラ（たとえばカメラ６０６〜６１０）を含む。カメラはリグ６００の周囲を埋めるように設置されてもよく、あるいは、ビュー角度を最大化してリグ自体のキャプチャ部分を最小化するように離間していてもよい。
【００８５】
非限定的な例では、円形カメラリグ６００は、回転可能なベース６０４と平行なアーク運動で回転することによって、マウントプレート６０２上に配置された任意の数のカメラを用いて１セットの画像をキャプチャし得る。いくつかの実現例では、カメラリグ６００はマウントプレート６０２上に配置された隣接カメラを含む。隣接カメラは、約１６０度から約１８０度の関連付けられた視野をキャプチャするように同期化され、構成され、位置決めされ得る。他の視野も可能である。いくつかの実現例では、カメラリグ６００は回転可能なベース上に装着されず、固定された態様で機能する。
【００８６】
リグ動作の一例では、カメラリグ（たとえばリグ２００，３００，４００，５００または６００）は特定のリグを取囲んでいるシーンのキャプチャ時に第１の方向に回転し、続いて当該シーンのキャプチャ時に異なる方向に回転し得る。たとえば、カメラリグ６００は、リグ６００上のカメラ（または隣接カメラ）の１つ以上がカメラリグ６００のベース６０４の中心の両側にオフセットしているビュー方向を有して設置された状態で、時計回りに回転し得る。同様に、カメラリグ６００は次いで、任意の数のカメラがシーンの付加的なビューをキャプチャするように左または右を向いた状態で、反時計回り方向に回転し得る。リグ６００の１つの例示的な向きでは、他のすべてのカメラは一方向に向けられ得（たとえばカメラレンズが左方向または右方向に角度を付けられ）、中間のカメラは反対（たとえば左向きまたは右向き）方向に向けられる。
【００８７】
いくつかの実現例では、ベース６００は固定され得る。たとえば、リグ６００上の各カメラは、スチルモードで機能する任意のスチルカメラまたはビデオカメラであり得る。したがって、カメラは、周囲のシーンの画像フレームを同時にキャプチャするように同期化および／または構成され得る。アスペクト同士が互いにスティッチングされてステレオパノラマビューが形成され得る。
【００８８】
いくつかの実現例では、本開示に記載のカメラリグは、円形ハウジング上に装着される任意の数のカメラを含み得る。いくつかの実現例では、カメラは、円形リグの中心から外向きの４方向の各々に隣接カメラがある状態で等距離に装着され得る。この例では、たとえば立体隣接カメラとして構成されるカメラは周囲に沿って外向きに向けられ得、各立体隣接カメラが３６０度の視野の別個の四分円をキャプチャするように、０度、９０度、１８０度、および２７０度に配置され得る。一般に、カメラの選択可能な視野は、立体隣接カメラのカメラビューの重なりの量、ならびにカメラ同士および隣接する四分円同士の間の任意の盲点のサイズを決定する。一例のカメラリグは、約１２０度から最大で約１８０度の視野をキャプチャするように構成された１つ以上の立体隣接カメラを採用し得る。
【００８９】
いくつかの実現例では、本開示に記載のカメラリグは約５センチメートルから約８センチメートルの直径（たとえば図２の直径２０６）を有して構成され、人間の瞳孔間距離を模倣して、ユーザが自身の頭または体を４分の１円、半円、全円、または円の他の部分だけ回した場合に当該ユーザが見ることになるものをキャプチャし得る。いくつかの実現例では、直径は、リグを横切るカメラレンズ同士の間の距離を指し得る。いくつかの実現例では、直径は、リグを横切るカメラセンサ同士の間の距離を指し得る。いくつかの実現例では、直径は単に、リング状プレートを横切るエッジ同士の間のマウントプレート（たとえばマウントプレート２０８）のサイズを指し得る。
【００９０】
いくつかの実現例では、カメラリグは約８センチメートルから約２５センチメートルに拡大され、たとえば付加的なカメラ取付具を収容する。いくつかの実現例では、より小さい直径のリグ上により少ないカメラが用いられ得る。そのような例では、本開示に記載のシステムはリグ上のカメラ同士の間のビューを確認または推測して、そのようなビューを実際のキャプチャされたビューでインターリーブし得る。
【００９１】
いくつかの実現例では、本開示に記載のカメラリグを用いて、たとえば回転レンズを有するカメラ、または回転カメラを用いて１回の露光でパノラマ全体をキャプチャすることによってパノラマ画像がキャプチャされ得る。上述のカメラおよびカメラリグは、本開示に記載の方法とともに用いられ得る。特に、１つのカメラリグに関して記載される方法は、本明細書に記載の他のカメラリグのいずれかを用いて実行され得る。いくつかの実現例では、カメラリグおよびその後のキャプチャされたコンテンツは、バーチャルコンテンツ、レンダリングされたコンピュータグラフィックス（ＣＧ）コンテンツといった他のコンテンツ、および／または他の得られたもしくは生成された画像と組合され得る。
【００９２】
いくつかの実現例では、カメラリグ６００は、リグ上に設置され得る任意の数のカメラを含み得る。リグ６００は、たとえば約２５センチメートルから約７５センチメートルの直径を有し得る。１つの非限定的な例では、リグ６００は画像をキャプチャするために用いられる少なくとも３つのカメラを含み得、当該画像を用いて、３Ｄ立体画像を生成する目的で深度が計算され得る。たとえば、ベース６００は、カメラリグ６００のベース６０４上に設置される第１のカメラ６０６を含み得る。第１のカメラ６０６は、ベース６０４のエッジに対して接線方向である外向きのビュー方向を指し示すように構成され、カメラリグ６００のベース６０４の外向きエッジから約半径１メートルから、ベース６０４の外向きエッジから約半径５メートルの距離をおいて画像をキャプチャするように配列され得る。
【００９３】
同様に、第２のカメラ６０８が第１のカメラ６０６と並んでベース上に設置され得、ベース６０４のエッジに対して接線方向であるビュー方向を指し示すように構成され、カメラリグ６００のベース６０４の外向きエッジから約半径１メートルから、ベースの外向きエッジから約半径５メートルの距離をおいて画像をキャプチャするように配列され得る。
【００９４】
同様に、第３のカメラ６１０が第２のカメラ６０８と並んで、あるいは第１のカメラと並んでベース６０４上に設置され得る。第３のカメラ６１０は、ベース６０４のエッジに対して接線方向であるビュー方向を指し示すように構成され、カメラリグ６００のベース６０４の外向きエッジから約半径１メートルから、ベース６０４の外向きエッジから約半径５メートルの距離をおいて画像をキャプチャするように配列され得る。いくつかの実現例では、３つのカメラ（６０６，６０８および６１０）は並んで設置されなくてもよい。たとえば、カメラ６０６，６０８および６１０は代わりに、リグ６００の周りに、リグ６００の一方側で、等間隔にまたは不等間隔に離間していてもよい。
【００９５】
一般に、カメラリグ６００上の少なくとも３つのカメラ（たとえばカメラ６０６，６０８，６１０）を用いてキャプチャされた画像を用いて、特定のシーンについての深度測定が計算され得る。深度測定を用いて、シーン（またはシーンからの画像）の一部が３Ｄ立体コンテンツに変換され得る。たとえば、補間モジュール１１４は深度測定を用いて３Ｄ立体コンテンツを生成し得、これは３６０度ステレオビデオ画像にスティッチングされ得る。
【００９６】
図７は、例示的なＶＲデバイス（ＶＲヘッドセット）７０２を示す図である。ユーザは、ゴーグル、サングラス等を被るのと同様にヘッドセット７０２を自身の目に被せることによってＶＲヘッドセット７０２を身に付けることができる。いくつかの実現例では、図１を参照して、ＶＲヘッドセット７０２は、１つ以上の高速有線および／または無線通信プロトコル（たとえば、Ｗｉ−Ｆｉ、ブルートゥース（登録商標）、ブルートゥースＬＥ、ＵＳＢ等）を用いて、またはＨＤＭＩ（登録商標）インターフェイスを用いることによって、コンピューティングデバイス１０６，１０８または１１２の多数のモニタにインターフェイス／接続し得る。当該接続によって、ＶＲヘッドセット７０２に含まれているスクリーン（図示せず）上でユーザに表示するためのバーチャルコンテンツがＶＲヘッドセット７０２に提供され得る。いくつかの実現例では、ＶＲヘッドセット７０２はキャスト対応デバイスであり得る。これらの実現例では、ユーザはコンテンツをＶＲヘッドセット７０２に提供するか「キャストする」（投影する）かを選択し得る。
【００９７】
さらに、ＶＲヘッドセット７０２は、１つ以上の高速有線および／または無線通信インターフェイスおよびプロトコル（たとえば、Ｗｉ−Ｆｉ、ブルートゥース、ブルートゥースＬＥ、ユニバーサルシリアルバス（ＵＳＢ）等）を用いてコンピューティングデバイス１０４にインターフェイス／接続し得る。コンピューティングデバイス（図１）はＶＲヘッドセット７０２へのインターフェイスを認識し得、これに応答して、バーチャルコンテンツを含むコンピュータで生成された３Ｄ環境（ＶＲ空間）においてユーザおよびコンピューティングデバイスをレンダリングするＶＲアプリケーションを実行し得る。
【００９８】
いくつかの実現例では、ＶＲヘッドセット７０２はＶＲアプリケーションを実行可能なリムーバブルコンピューティングデバイスを含み得る。リムーバブルコンピューティングデバイスはコンピューティングデバイス１０８または１１２と同様であり得る。リムーバブルコンピューティングデバイスはＶＲヘッドセット（たとえばＶＲヘッドセット７０２）のケーシングまたはフレーム内に組込まれ得、当該ＶＲヘッドセットは次いでＶＲヘッドセット７０２のユーザによって身に付けられ得る。これらの実現例では、リムーバブルコンピューティングデバイスは、ユーザがコンピュータで生成された３Ｄ環境（ＶＲ空間）と対話する際に見るディスプレイまたはスクリーンを提供し得る。上述のように、モバイルコンピューティングデバイス１０４は有線または無線インターフェイスプロトコルを用いてＶＲヘッドセット７０２に接続し得る。モバイルコンピューティングデバイス１０４はＶＲ空間におけるコントローラであり得、ＶＲ空間におけるオブジェクトとして現れ得、ＶＲ空間に入力を提供し得、ＶＲ空間からフィードバック／出力を受信し得る。
【００９９】
いくつかの実現例では、モバイルコンピューティングデバイス１０８はＶＲアプリケーションを実行し得、ＶＲ空間を形成するためのデータをＶＲヘッドセット７０２に提供し得る。いくつかの実現例では、ＶＲヘッドセット７０２に含まれているスクリーン上でユーザに対して表示されるＶＲ空間のためのコンテンツは、モバイルコンピューティングデバイス１０８に含まれているディスプレイデバイス上でも表示され得る。これによって、ユーザがＶＲ空間において対話している可能性があるものを他の誰かも見ることができる。
【０１００】
ＶＲヘッドセット７０２は、モバイルコンピューティングデバイス１０８の位置および向きを示す情報およびデータを提供し得る。ＶＲアプリケーションは、当該位置および向きのデータをＶＲ空間内のユーザ対話を示すものとして受信して使用し得る。
【０１０１】
図８は、カメラ（および隣接カメラ）の数をカメラ視野の関数として示す例示的なグラフ８００である。グラフ８００は、立体パノラマを生成するための予め規定された視野についてカメラリグ上に配置され得るカメラの数を求めるために用いられ得る例示的なグラフを表わす。グラフ８００を用いて、特定のステレオパノラマ結果を保証するためのカメラ設定およびカメラ設置が計算され得る。１つの例示的な設定は、特定のカメラリグに取付けるべきカメラの数の選択を含み得る。別の設定は、キャプチャ時、前処理または後処理ステップ時に用いられるアルゴリズムを求めることを含み得る。たとえば、オプティカルフロー補間技術については、完全な３６０度パノラマをスティッチングすることは、すべての光線方向が少なくとも２つのカメラによって見られるべきであることを要求し得る。これによって、完全な３６０度をカバーするために用いられるカメラの最小数がカメラ視界であるテータ［θ］の関数として制約され得る。オプティカルフロー補間技術は、隣接カメラ（またはペア）によって、または個々のカメラによって実行されて構成され得る。
【０１０２】
図８に示すように、関数８０２を示すグラフが図示されている。関数８０２は、カメラの数［ｎ］８０４をカメラ視野［θ］８０６の関数として表わしている。この例では、約９５度のカメラ視野が線８０８によって示されている。線８０８と関数８０２との交差点８１０は、各々が９５度の視野を有する１６個のカメラを用いると所望のパノラマ結果が提供されることを示している。そのような例では、カメラリグは、カメラの隣接セット毎に隣接カメラをインターリーブして、隣接カメラをリグ上に設置する際に発生し得る任意の空間を用いることによって構成され得る。
【０１０３】
隣接カメラをインターリーブすることに加えて、オプティカルフロー要件は、システム１００が同じ種類のカメラ同士の間のオプティカルフローを計算することを要求し得る。すなわち、オプティカルフローは、両方を同時に計算するのではなく、第１のカメラについて、次いで第２のカメラについて計算され得る。一般に、画素におけるフローは、向き（たとえば方向および角度）ならびに大きさ（たとえば速度）として計算され得る。
【０１０４】
図９は、補間された視野［θ1］９０２をカメラの視野［θ］９０４の関数として示す例示的なグラフ９００である。グラフ９００を用いて、カメラの視野のどの部分がその左右の隣接カメラと共有されているかが求められ得る。ここで、（線９０６によって示される）約９５度のカメラ視野において、補間された視野は、交差点９０８によって示すように、約４８度として示されている。
【０１０５】
２つの連続したカメラは全く同じ視野の画像を典型的にキャプチャしないと仮定して、補間されたカメラの視野は、隣接カメラ同士の視野の交差点によって表わされる。補間された視野［θ1］は次いで、カメラ視野［θ］および隣接カメラ同士の間の角度の関数となり得る。（図８に示す方法を用いて）所与のカメラ視野について最小数のカメラが選択された場合は、図９に示すように［θ1］が［θ］の関数として計算され得る。
【０１０６】
図１０は、カメラリグについてのコンフィギュレーションの選択を示す例示的なグラフ１０００である。特に、グラフ１０００は、どれほど大きい特定のカメラリグが設計され得るかを求めるために用いられ得る。グラフ１０００は、リグ直径［センチメートルで表わすＤ］１００４の関数としてスティッチング比［ｄ／Ｄ］１００２のプロットを図示している。快適なバーチャルリアリティパノラマ視聴体験を作り出すために、全方位ステレオスティッチング直径［ｄ］は、本開示の例では、典型的な人間のＩＰＤである約５センチメートルから約６．５センチメートルであるように選択される。いくつかの実現例では、スティッチング直径［ｄ］とほぼ同じキャプチャ直径［Ｄ］を用いて全方位ステレオスティッチングが実行され得る。すなわち、約「１」のスティッチング比を維持することによって、たとえば全方位ステレオ画像の後処理におけるスティッチングが容易になり得る。スティッチングに用いられる光線は実際のカメラキャプチャされた光線と同じであるので、この特定のコンフィギュレーションによって歪みが最小化され得る。選択されたカメラの数が大きい（たとえばリグ毎に１２〜１８個のカメラ）場合、「１」のスティッチング比を得ることは困難であり得る。
【０１０７】
リグ上のカメラが多すぎるという問題を緩和するために、リグサイズは、付加的なカメラを収容してスティッチング比を同じ（または実質的に同じ）ままに維持できるようにより大きいサイズで設計され得る。スティッチングアルゴリズムが、キャプチャ時にレンズの中心近くで撮影された画像内のコンテンツを確実にサンプリングするように、スティッチング比はリグに対するカメラの角度［α］を求めるように固定され得る。たとえば、図１０は、レンズの中心近くでサンプリングすると画像品質が向上し、幾何学的な歪みが最小化されることを示す。特に、角度［α］が小さいほどリグオクルージョン（たとえば、カメラがリグ自体の部品を撮像すること）を回避するのに役立ち得る。
【０１０８】
図１０の１００６に示すように、０．７５のスティッチング比［ｄ／Ｄ］は約６．５センチメートルのリグ直径（すなわち典型的な人間のＩＰＤ）に対応する。スティッチング比［ｄ／Ｄ］を約０．４５まで減少させるとリグ直径を（１００８に示す）約１５センチメートルに増加させることができ、これによって付加的なカメラをリグに追加することができる。カメラリグに対するカメラの角度は、選択されたスティッチング比に基づいて調整され得る。たとえば、カメラ角度を約３０度に調整することは、リグ直径が約１２．５センチメートルまで大きくなり得ることを示す。同様に、カメラ角度を約２５度に調整することは、リグ直径が１５センチメートルまで大きくなり、たとえば、ユーザに対してレンダリングし返される際に適切な視差および視覚効果を依然として維持することができることを示す。
【０１０９】
一般に、リグ直径［Ｄ］を仮定して、最適なカメラ角度［α］が計算され得る。［α］から、最大視野［Θu］が計算され得る。最大視野［Θu］は一般に、リグがカメラを部分的にオクルージョンしない視野に対応する。最大視野は、カメラリグがオクルージョンされていないビューを依然として提供しつつどれほど少数のカメラを保持可能であるかを制限し得る。
【０１１０】
図１１は、予め規定されたリグ直径に従ってカメラの最小数を求めるために用いられ得る例示的な関係を示すグラフ１１００である。ここで、所与のリグ直径［Ｄ］１１０４についてのカメラの最小数［ｎmin］１１０２が示されている。リグ直径［Ｄ］１１０４はオクルージョンされていない最大視野を制限し、これはカメラの最小数を制限するように機能する。グラフの１１０６に示すように、約１０センチメートルのリグ直径について、最小で１６個のカメラがカメラリグ内で用いられてオクルージョンされていないビューが提供され得る。リグ直径を修正することによって、リグ上に設置されるカメラの数を増減させることができる。一例では、リグは、約８センチメートルから約２５センチメートルのリグサイズ上に約１２個から約１６個のカメラを収容し得る。
【０１１１】
視野および画像キャプチャ設定を微調整する他の方法も利用可能であるので、これらの計算をこれら他の方法と組合せてカメラリグ寸法をさらに改良することができる。たとえば、オプティカルフローアルゴリズムを用いて、全方位ステレオパノラマをスティッチングするために典型的に用いられるカメラの数を変更する（たとえば減らす）ことができる。いくつかの実現例では、本開示に図示される、または本開示に記載のシステムおよび方法から生成されるグラフを組合せて用いて、たとえばＨＭＤデバイスにおいてレンダリングするためのバーチャルコンテンツを生成することができる。
【０１１２】
図１２Ａ〜図１２Ｂは、画像キャプチャ時に起こり得る歪みの線画の例を表わす。特に、ここに示す歪みは、ステレオパノラマをキャプチャする際に起こる影響に対応する。一般に、歪みは、シーンをキャプチャしているカメラに近接して当該シーンがキャプチャされるとより深刻になり得る。図１２Ａは、２メートル×２メートルの、カメラ中心から外向きに１メートルおいて配置されたシーン内の平面を表わす。図１２Ｂは図１２Ａと同じ平面であるが、この図の平面はカメラから外向きに２５センチメートルおいて配置されている。両図とも６．５センチメートルのキャプチャ直径を用いている。図１２Ａは１２０２において中心近くの若干の伸長を示しており、図１２Ｂはより膨張した中心１２０４を示している。この歪みを補正するために多数の技術が採用され得る。以下の段落では、画像コンテンツをキャプチャした近似方法およびシステム（たとえばカメラリグ／キャプチャデバイス）を用いて投影（たとえば球面および平面投影）を分析して歪みを補正することを説明する。
【０１１３】
図１３Ａ〜図１３Ｂは、パノラマ画像の収集時にキャプチャされた光線の例を図示する。図１３Ａは、キャプチャされた１セットの画像を仮定して、透視画像がキャプチャ経路１３０２上のどこでも左右両目について生成され得ることを示す。ここで、左目についての光線は光線１３０４ａによって示されており、右目についての光線は１３０６ａにおいて示されている。いくつかの実現例では、図示される光線の各々は、カメラセットアップ、動作不良、または単にシーンの不十分なリグセットアップのためにキャプチャされない場合がある。このため、光線１３０４ａおよび１３０６ａの一部が近似（たとえば他の光線に基づいて補間）され得る。たとえば、シーンが無限に遠く離れている場合は、シーンの１つの測定可能な特徴は、原点から目的地までの光線方向を含む。
【０１１４】
いくつかの実現例では、光線の原点は収集可能でない場合がある。したがって、本開示のシステムは左目および／または右目を近似して光線の原点位置を求め得る。図１３Ｂは、右目について近似された光線方向１３０６ｂから１３０６ｆを示す。この例では、光線が同じ点から生じているのではなく、各光線は円１３０２上の異なる点から生じている。光線１３０６ｂから１３０６ｆは円１３０２をキャプチャするように接線方向に角度を付けて示されており、キャプチャ円１３０２の周囲の特定の領域に配置されている。また、２つの異なる画像センサ、すなわちカメラリグと関連付けられている画像センサ１３−１および画像センサ１３−２（カメラと関連付けられているかカメラに含まれている）の位置がカメラリグ円１３０３上に示されている。図１３Ｂに示すように、カメラリグ円１３０３はキャプチャ円１３０２より大きい。
【０１１５】
多数の光線（ならびに各光線と関連付けられている画像の色および強度）は、円から外向きの異なる方向を用いてこのように近似され得る。このように、多くの画像を含む３６０度パノラマビュー全体が左右両目のビューに提供され得る。この技術は範囲中央のオブジェクトの歪みを解決し得るが、場合によっては、近くのオブジェクトを撮像する際に依然として変形を有し得る。簡潔にするために、近似された左目光線方向は図示していない。この例示的な実現例では、いくつかの光線１３０６ｂから１３０６ｆのみを示している。しかし、何千ものそのような光線（およびそれらの光線と関連付けられている画像）が規定され得る。したがって、光線の各々と関連付けられている多くの新たな画像が規定（たとえば補間）され得る。
【０１１６】
図１３Ｂに示すように、光線１３０６ｂは画像センサ１３−１と画像センサ１３−２との間に投影される。画像センサ１３−１は画像センサ１３−２に隣接している。光線は、画像センサ１３−１（たとえば画像センサ１３−１の投影中心）からの距離Ｇ１、および画像センサ１３−２（たとえば画像センサ１３−２の投影中心）からの距離Ｇ２であり得る。距離Ｇ１およびＧ２は、光線１３０６ｂがカメラリグ円１３０３と交差する場所に基づき得る。距離Ｇ１は距離Ｇ２とは異なっていても（たとえば距離Ｇ２より大きくても小さくても）よい。
【０１１７】
光線１３０６ｂと関連付けられている画像（たとえば補間された画像、新たな画像）を規定するために、画像センサ１３−１がキャプチャした第１の画像（図示せず）は、画像センサ１３−２がキャプチャした第２の画像（図示せず）と組合される（たとえば互いにスティッチングされる）。いくつかの実現例では、オプティカルフロー技術を用いて第１の画像と第２の画像とが組合され得る。たとえば、第２の画像からの画素に対応する第１の画像からの画素が識別され得る。
【０１１８】
たとえば光線１３０６ｂと関連付けられている画像を規定するために、対応する画素が距離Ｇ１およびＧ２に基づいてシフトされる。画像センサ１３−１，１３−２の解像度、アスペクト比、高度等は、光線１３０６ｂについての画像（たとえば新たな画像）を規定する目的で同じであると仮定され得る。いくつかの実現例では、解像度、アスペクト比、高度等は異なっていてもよい。しかし、そのような実現例では、それらの差異を調節するために補間を修正しなければならなくなる。
【０１１９】
具体例として、第１の画像内のオブジェクトと関連付けられている第１の画素が、第２の画像内のオブジェクトと関連付けられている第２の画素と対応するとして識別され得る。第１の画像は（カメラリグ円１３０３の周りの第１の場所にある）画像センサ１３−１の透視からキャプチャされ、第２の画像は（カメラリグ円１３０３の周りの第２の場所にある）画像センサ１３−２の透視からキャプチャされるので、オブジェクトは、第２の画像内の位置（たとえばＸ−Ｙ座標位置）と比較して第１の画像内で位置（Ｘ−Ｙ座標位置）がシフトされる。同様に、オブジェクトと関連付けられている第１の画素は、これもオブジェクトと関連付けられている第２の画素に対して位置（たとえばＸ−Ｙ座標位置）がシフトされる。光線１３０６ｂと関連付けられている新たな画像を生成するために、第１の画素および第２の画素（ならびにオブジェクト）と対応する新たな画素が距離Ｇ１とＧ２との比に基づいて規定され得る。具体的には、新たな画素は、距離Ｇ１に基づく（かつ第１の画素の位置と第２の画素の位置との間の距離に基づく分だけスケール変更される）第１の画素、および距離Ｇ２に基づく（かつ第１の画素の位置と第２の画素の位置との間の距離に基づく分だけスケール変更される）第２の画素から位置がシフトされた場所に規定され得る。
【０１２０】
上述の実現例によると、第１の画像および第２の画像と一致している光線１３０６ｂと関連付けられている新たな画像についての視差が規定され得る。具体的には、カメラリグに比較的近いオブジェクトは、カメラリグから比較的遠いオブジェクトより大量にシフトされ得る。この視差は、光線１３０６ｂの距離Ｇ１およびＧ２に基づいて（たとえば第１の画素および第２の画素からの）画素をシフトする間も維持され得る。
【０１２１】
このプロセスは、キャプチャ円１３０２の周りのすべての光線（たとえば光線１３０６ｂから１３０６ｆ）について繰返され得る。キャプチャ円１３０２の周りの光線の各々と関連付けられている新たな画像は、カメラリグ円１３０３の周りの光線および画像センサ（たとえば隣接画像センサ、画像センサ１３−１，１３−２）の各々同士の間の距離に基づいて規定され得る。
【０１２２】
図１３Ｂに示すように、カメラリグ円１３０３の直径はキャプチャ円１３０２の直径より大きい。いくつかの実現例では、カメラリグ円１３０３の直径は、キャプチャ円１３０２の直径より１．５倍から８倍大きくてもよい。具体例として、キャプチャ円の直径は６センチメートルであってもよく、カメラリグ円１３０３（たとえば図４Ａに示すカメラ装着リング４１２）の直径は３０センチメートルであってもよい。
【０１２３】
図１４Ａ〜図１４Ｂは、図１３Ａ〜図１３Ｂにおいて記載したような、平面透視投影の近似の使用例を示す。図１４Ａは、平面透視光線および投影を近似する前の歪み線を有するパノラマシーンを示す。示されるように、カーテンロッド１４０２ａ、窓枠１４０４ａ、およびドア１４０６ａは曲線特徴を有するオブジェクトとして図示されているが、実際にはそれらは直線特徴のオブジェクトである。直線特徴のオブジェクトとして、曲面を有さないオブジェクト（たとえば平坦なインデックスカード、四角い箱、矩形の窓枠等）が挙げられる。この例では、オブジェクト１４０２ａ，１４０４ａおよび１４０６ａは画像内で歪んでいるために曲線として示されている。図１４Ｂは、平面透視投影が９０度の水平視野で近似された補正画像を示す。ここで、カーテンロッド１４０２ａ、窓枠１４０４ａ、およびドア１４０６ａは、それぞれ補正された直線オブジェクト１４０２ａ，１４０４ｂおよび１４０４ｃとして示されている。
【０１２４】
図１５Ａ〜図１５Ｃは、画像の平面に適用される近似された平面透視投影の例を示す。図１５Ａは、本開示に記載の技術を用いてパノラマから撮られた平面透視投影を示す。図示される平面ビュー１５００は、たとえば図１４Ｂの画像内に示される平面のオーバーレイを表わし得る。特に、図１５Ａは、曲線が直線に投影される補正された図１４Ａを表わす。ここで、パノラマの平面１５００は１メートルの距離をおいて（９０度の水平視野で）示されている。線１５０２，１５０４，１５０６および１５０８は直線であるが、（図１４Ａに対応する）以前は、同じ中心線は湾曲して歪んでいた。
【０１２５】
選択された投影スキームに基づいて他の歪みも発生し得る。たとえば、図１５Ｂおよび図１５Ｃは、本開示の技術を用いてパノラマから撮られた平面透視投影を用いて生成された平面（１５１０および１５２０）を表わす。パノラマは２５センチメートルの距離をおいて（９０度の水平視野）キャプチャされた。図１５Ｂは左目キャプチャ１５１０を示し、図１５Ｃは右目キャプチャ１５２０を示す。ここで、平面の底部（１５１２，１５２２）は直線に投影されておらず、垂直視差が導入されている。この特定の変形は、平面透視投影が用いられると発生し得る。
【０１２６】
図１６Ａ〜図１６Ｂは、垂直視差を導入する例を示す。図１６Ａは、典型的な全方位ステレオパノラマ技術に従ってキャプチャされている直線１６０２ａを図示する。図示される例では、各光線１６０４ａ〜１６１８ａは円１６２２上の異なる点から生じている。
【０１２７】
図１６Ｂは、透視近似技術を用いて見たときの同じ直線を図示する。示されるように、直線１６０２ａは線１６０２ｂとして変形して示されている。光線１６０４ｂ〜１６１８ｂは円１６２２上の単一点から生じている。この変形は、線１６０２ｂの左半分を視聴者に近づけ、当該線の右半分を視聴者から遠ざける効果を有し得る。左目については、反対のことが起こり得、すなわち、線の左半分が遠くに見え、線の右半分が近くに見える。この変形線は、パノラマレンダリング円１６２２の直径１６２４に等しい距離だけ離れている２本の漸近線同士の間で湾曲している。この変形はパノラマキャプチャ半径と同じサイズであるとして示されているので、当該変形は近くのオブジェクト上でしか目立たない場合がある。この変形の形態は、画像を見ているユーザにとっての垂直視差につながり得、これによって、歪み画像に対してスティッチング処理が行なわれる際にフュージングが困難になり得る。
【０１２８】
図１７Ａ〜図１７Ｂは、３Ｄパノラマにおける点を示すために用いられ得る座標系の例示的な点を図示する。図１７Ａ〜図１７Ｂは、本開示に記載のパノラマ技術によって撮像された点（０，Ｙ，Ｚ）１７０２を図示する。左右パノラマ内へのこの点の投影は、式（１）および（２）において以下に示すようにそれぞれ（−θ，φ）および（θ，φ）によって表わされ得る：
【０１２９】
【数１】
0006484349.tif 000002
【０１３０】
式中、γ１７０４はパノラマキャプチャの半径である。
図１７Ａは、点（０，Ｙ，Ｚ）１７０２のパノラマ撮像のトップダウン図を図示する。図１７Ｂは、点（０，Ｙ，Ｚ）１７０２のパノラマ撮像の側面図を図示する。示される点は、左パノラマにおいて（−θ，φ）に投影され、右パノラマにおいて（θ，φ）に投影される。これら特定の図はキャプチャされたままの状態であり、まだ別の平面に投影されていない。
【０１３１】
図１８は、図１７Ａ〜図１７Ｂに図示した点の投影図を表わす。ここで、点１７０２の透視ビューは、図１８の１８０２によって示すように、ｙ軸の周りの回転角度［α］を有して水平方向を見るように向けられている。この透視投影は光線方向のみを考慮しているため、パノラマ投影１８０２内の点１７０２を見る光線を透視カメラの基準フレームに変換することによって、点１７０２が沿って投影される光線を見つけることができる。たとえば、点１７０２は以下の表１に示す以下の光線に沿って投影される：
【０１３２】
【表１】
0006484349.tif 000003
【０１３３】
透視分割を行なって、以下の表２の式によって示すように、点投影が求められ得る：
【０１３４】
【表２】
0006484349.tif 000004
【０１３５】
θ＝π／２（無限に遠く離れている元の３Ｄ点１７０２に対応する）である場合は、点１７０２は両透視画像における同一のｙ座標に全体的に投影されるため、垂直視差はない。しかし、θがπ／２から離れるにつれて（点がカメラに近づくにつれて）、投影されたｙ座標は（点１７０２に向かって見ている透視ビューに対応するα＝０である場合を除いて左右の目で異なるようになる。
【０１３６】
いくつかの実現例では、画像およびシーンを特定の態様でキャプチャすることによって歪みを回避することができる。たとえば、カメラの近接場（すなわちカメラまで１メートル未満）内でシーンをキャプチャすると、歪み要素が現れ得る。したがって、外向きに１メートルからシーンまたは画像をキャプチャすることは歪みを最小化させる方法である。
【０１３７】
いくつかの実現例では、歪みは深度情報を用いて補正され得る。たとえば、あるシーンについての正確な深度情報を仮定して、歪みを補正することが可能であり得る。すなわち、歪みは現在のビュー方向に依存し得るため、レンダリング前に単一の歪みをパノラマ画像に適用できない場合がある。代わりに、深度情報をパノラマとともに伝えてレンダリング時に用いることができる。
【０１３８】
図１９は、本開示に記載のパノラマ撮像技術を用いて全方向ステレオ画像内にキャプチャされた光線を示す。この例では、円１９００の周りで時計回り方向を指し示している光線１９０２，１９０４，１９０６は左目についての光線に対応する。同様に、円１９００の周りで反時計回り方向を指し示している光線１９０８，１９１０，１９１２は右目についての光線に対応する。反時計回りの各光線は、同じ方向を見ている円の反対側に、対応する時計回りの光線を有し得る。これによって、単一の画像内に表わされる光線の方向の各々について左／右ビュー光線が提供され得る。
【０１３９】
本開示に記載のパノラマについて１セットの光線をキャプチャすることは、カメラ（図示せず）を円１９００上で移動させてカメラを円１９００に対して接線方向に整列させる（たとえば、カメラレンズをシーンにおいて外側を向いて円１９００に対して接線方向を指し示すようにする）ことを含み得る。左目については、カメラは右を指し示し得る（たとえば、光線１９０４は中心線１９１４ａの右側にキャプチャされる）。同様に、右目については、カメラは左を指し示し得る（たとえば、光線１９１０は中心線１９１４ａの左側にキャプチャされる）。円１９００の他方側および中心線１９１４ｂの下にあるカメラについては、中心線１９１４ｂを用いて同様の左右領域が規定され得る。全方向ステレオ画像を生成することは、実際のカメラキャプチャに、または以前にレンダリングされたコンピュータグラフィック（ＣＧ）コンテンツに効果的である。ビュー補間を、キャプチャされたカメラコンテンツおよびレンダリングされたＣＧコンテンツの両方とともに用いて、たとえば円１９００上の実際のカメラ同士の間の点のキャプチャがシミュレートされ得る。
【０１４０】
１セットの画像をスティッチングすることは、パノラマ画像を記憶するための球面／正距円筒図法の投影を用いることを含み得る。一般に、この方法では各目に１つずつ、２つの画像が存在する。正距円筒図法を用いた画像内の各画素は球面上の方向に対応する。たとえば、ｘ座標は経度に対応し得、ｙ座標は緯度に対応し得る。単一の全方向画像については、画素についてのビュー光線の原点は同じ点であり得る。しかし、ステレオ画像については、各ビュー光線も円１９００上の異なる点から生じ得る。次いで、キャプチャされた画像内の各画素を分析し、投影モデルから理想的なビュー光線を生成し、ビュー光線が理想的な光線と最も一致しているキャプチャされたまたは補間された画像から画素をサンプリングすることによって、キャプチャされた画像からパノラマ画像がスティッチングされ得る。次に、光線値が互いに混合されてパノラマ画素値が生成され得る。
【０１４１】
いくつかの実現例では、オプティカルフローベースのビュー補間を用いて、円１９００上の１度毎に少なくとも１つの画像が生成され得る。いくつかの実現例では、列内の１つの画素が所与の画像からサンプリングされる場合は、その列内の他の画素はその同じ画像からサンプリングされるであろうと判断され得るので、パノラマ画像の列全体が一度に埋められ得る。
【０１４２】
本開示のキャプチャおよびレンダリング局面で用いられるパノラマフォーマットによって、左右の目が見るオブジェクトの画像座標は水平シフトのみが異なることが保証され得る。この水平シフトは視差として知られている。これは正距円筒図法の投影に当てはまり、この投影では、オブジェクトは非常に歪んでいると見える場合がある。
【０１４３】
この歪みの大きさは、カメラまでの距離およびビュー方向に依存し得る。歪みは、線が曲がった歪み、異なる左右の目の歪みを含み得、いくつかの実現例では、視差はもはや水平に見えない場合がある。一般に、垂直視差の（画像球面上の）１〜２度は人間のユーザによって無理なく許容され得る。また、歪みは周囲目線のオブジェクトについては無視され得る。これは、中心のビュー方向からずれた約３０度と相関している。これらの知見に基づいて、不快な歪みを回避するためにオブジェクトが貫通すべきでないカメラの近くの区域を規定する限界が構成され得る。
【０１４４】
図２０は、３Ｄ空間における点に起因する最大垂直視差を示すグラフ２０００である。特に、グラフ２０００は、３Ｄ空間における点に起因する最大垂直視差（度で表わす）を、それらが画像の中心から３０度に投影されると仮定して図示している。グラフ２０００は、カメラからの水平位置（メートルで表わす）に対するカメラ中心からの垂直位置（メートルで表わす）をプロットしている。この図では、カメラは原点［０，０］における場所である。グラフが原点から離れるにつれて、歪みの程度は軽くなる。たとえば、グラフ上の（垂直方向の）約０から１の２００２、および０から−１の２００４において、歪みは最悪である。これは、（原点に設置された）カメラの真上および真下の画像に対応する。シーンが外側に移動するにつれて歪みは少なくなり、カメラが点２００６および２００８においてシーンを撮像する時までには、０．５度の垂直視差にしか遭遇しない。
【０１４５】
３０度を超えた周囲の歪みを無視できる場合は、ビュー方向が両極の３０度以内であるすべての画素が除去され得る。周囲閾値が１５度に許可される場合は、１５度分の画素が除去され得る。除去された画素は、たとえば、カラーブロック（たとえば黒、白、マゼンタ等）または静止画像（たとえばロゴ、公知の境界、テクスチャ加工された層等）に設定され得、除去された画素の新たな表現が除去された画素の代わりにパノラマに挿入され得る。いくつかの実現例では、除去された画素はぼやけている場合があり、除去された画素のぼやけた表現が除去された画素の代わりにパノラマに挿入され得る。
【０１４６】
図２１は、ステレオパノラマ画像を生成するプロセス２１００の一実施形態を図示するフローチャートである。図２１に示すように、ブロック２１０２において、システム１００はキャプチャされた画像に基づいて１セットの画像を規定し得る。当該画像は、前処理された画像、後処理された画像、バーチャルコンテンツ、ビデオ、画像フレーム、画像フレームの一部、画素等を含み得る。
【０１４７】
規定された画像は、たとえば、ヘッドマウントディスプレイ（ＨＭＤ）を用いてコンテンツ（たとえばＶＲコンテンツ）にアクセスしているユーザによってアクセスされ得る。システム１００はユーザが行なう特定のアクションを判断し得る。たとえば、ある点で、システム１００はブロック２１０４において、ＶＲ  ＨＭＤのユーザと関連付けられているビュー方向を受信し得る。同様に、ユーザが自身のビュー方向を変更した場合、システムはブロック２１０６において、ユーザのビュー方向の変更の指示を受信し得る。
【０１４８】
そのようなビュー方向の変更の指示を受信したことに応答して、システム１００はブロック２１０８に示すように、１セットの画像の一部の再投影を構成し得る。再投影は、変更されたビュー方向、およびキャプチャされた画像と関連付けられている視野に少なくとも部分的に基づき得る。視野は１度から１８０度であり得、シーンのほんのわずかな画像からシーンの全パノラマ画像までを説明し得る。構成された再投影を用いて、１セットの画像の一部が球面透視投影から平面投影に変換され得る。いくつかの実現例では、再投影は、曲線経路の周りに配列された複数の視点からの１セットの画像と関連付けられているビュー光線の一部を球面透視投影から平面透視投影に再キャストすることを含み得る。
【０１４９】
再投影を完了すると、システム１００はブロック２１１０に示すように、再投影に基づいて更新されたビューをレンダリングし得る。更新されたビューは、歪みを補正してステレオ視差をユーザに提供するように構成され得る。ブロック２１１２において、システム１００は、変更されたビュー方向に対応するステレオパノラマシーンを含む更新されたビューを提供し得る。たとえば、システム１００は、更新されたビューを提供して（再投影前の）元のビュー内の歪みを補正し得、ＶＲヘッドマウントディスプレイのディスプレイにおいてステレオ視差効果を提供し得る。
【０１５０】
図２２は、ステレオパノラマ画像をキャプチャするプロセス２２００の一実施形態を図示するフローチャートである。ブロック２２０２において、システム１００は、少なくとも１セットの隣接カメラから収集されたキャプチャ済のビデオストリームに基づいて１セットの画像を規定し得る。たとえば、システム１００は（図２および図５に示すような）隣接カメラ、または（図３および図６に示すような）複数セットの隣接カメラを用い得る。いくつかの実現例では、システム１００は、約１２個から約１６個のカメラから収集されたキャプチャ済のビデオストリームを用いて１セットの画像を規定し得る。いくつかの実現例では、システム１００は一部のまたはすべてのレンダリングされたコンピュータグラフィックス（ＣＧ）コンテンツを用いて１セットの画像を規定し得る。
【０１５１】
ブロック２２０４において、システム１００は１セットの画像内のオプティカルフローを計算し得る。たとえば、１セットの画像内のオプティカルフローを計算することは、上記に詳述したように、１セットの画像と関連付けられている画素列の一部について画像強度フィールドを分析すること、および画素列の当該一部に対してオプティカルフロー技術を実行することを含み得る。
【０１５２】
いくつかの実現例では、オプティカルフローを用いて、（ブロック２２０６によって示す）上記に詳述したように、１セットの画像の一部ではない画像フレームが補間され得る。システム１００は次いで、オプティカルフローに少なくとも部分的に基づいて画像フレームと１セットの画像とを互いにスティッチングし得る。ブロック２２０８において、システム１００はインターリーブされたフレームおよび１セットの画像を用いて、ＶＲヘッドマウントディスプレイにおいて表示するための全方位ステレオパノラマを生成し得る。いくつかの実現例では、システム１００は少なくとも１セットのステレオ隣接カメラと関連付けられているポーズ情報を用いて画像スティッチングを実行し、たとえば、インターリーブを実行する前に１セットの画像の一部を予めスティッチングし得る。
【０１５３】
図２３は、ヘッドマウントディスプレイにおいてパノラマ画像をレンダリングするプロセス２３００の一実施形態を図示するフローチャートである。図２３に示すように、ブロック２３０２において、システム１００は１セットの画像を受信し得る。当該画像は、回転可能なカメラリグからキャプチャされたコンテンツを図示し得る。ブロック２３０４において、システム１００は画像内の画像フレームの部分を選択し得る。画像フレームは、カメラリグでキャプチャされたコンテンツを含み得る。システム１００はキャプチャされたコンテンツの任意の部分を用い得る。たとえば、システム１００は、カメラリグのベースの外向きエッジから約半径１メートルから、カメラリグのベースの外向きエッジから約半径５メートルの距離からリグによってキャプチャされたコンテンツを含む画像フレームの一部を選択し得る。いくつかの実現例では、この選択は、ユーザがどれほど遠くまで３Ｄコンテンツを認識し得るかに基づき得る。ここで、カメラから１メートルからカメラから約５メートルの距離は、ユーザが３Ｄコンテンツを見ることができる「区域」を表わし得る。それより短いと３Ｄビューは歪むことがあり、それより長いとユーザは３Ｄ形状を確認できない場合がある。すなわち、シーンは遠くからでは単に２Ｄに見える場合がある。
【０１５４】
ブロック２３０６において、画像フレームの選択された部分同士が互いにスティッチングされて立体パノラマビューが生成され得る。この例では、スティッチングは、選択された部分と、選択された部分内の少なくとも１つの他の画像フレームとの一致とに少なくとも部分的に基づき得る。ブロック２３０８において、パノラマビューがＨＭＤデバイスなどのディスプレイにおいて提供され得る。いくつかの実現例では、スティッチングは、カメラリグの直径に少なくとも部分的に基づいて選択されたスティッチング比を用いて実行され得る。いくつかの実現例では、スティッチングは、第１の画像フレーム内の第１の画素列を第２の画像フレーム内の第２の画素列と突合せ、第２の画素列を第３の画像フレーム内の第３の画素列と突合せて、まとまりのあるシーン部分を形成する多数のステップを含む。いくつかの実現例では、多くの画素列がこのように突合され組合されてフレームが形成され得、それらのフレームが組合されて画像が形成され得る。さらに、それらの画像が組合されてシーンが形成され得る。
【０１５５】
いくつかの実現例では、方法２３００は、システム１００を用いて、画像フレームの当該部分の一部ではない付加的な画像フレームを補間する補間ステップを含み得る。そのような補間は、たとえば、遠く離れたカメラによってキャプチャされた画像同士の間にフローが確実に起こるように実行され得る。付加的な画像コンテンツの補間が実行されると、システム１００は付加的な画像フレームを画像フレームの当該部分にインターリーブしてビューのバーチャルコンテンツを生成し得る。このバーチャルコンテンツは、付加的な画像フレームでインターリーブされた画像フレームの部分として互いにスティッチングされ得る。この結果は、たとえば更新されたビューとしてＨＭＤに提供され得る。この更新されたビューは、画像フレームおよび付加的な画像フレームの当該部分に少なくとも部分的に基づき得る。
【０１５６】
図２４は、画像境界を求めるプロセス２４００の一実施形態を図示するフローチャートである。ブロック２４０２において、システム１００は、少なくとも１セットの隣接カメラから収集されたキャプチャ済のビデオストリームに基づいて１セットの画像を規定し得る。たとえば、システム１００は（図２および図５に示すような）１セットの隣接カメラ、または（図３および図６に示すような）複数セットの隣接カメラを用い得る。いくつかの実現例では、システム１００は、約１２個から約１６個のカメラから収集されたキャプチャ済のビデオストリームを用いて１セットの画像を規定し得る。いくつかの実現例では、システム１００は一部のまたはすべてのレンダリングされたコンピュータグラフィックス（ＣＧ）コンテンツを用いて１セットの画像を規定し得る。いくつかの実現例では、１セットの画像に対応するビデオストリームは符号化ビデオコンテンツを含む。いくつかの実現例では、１セットの画像に対応するビデオストリームは、１８０度の視野を用いて構成された少なくとも１セットの隣接カメラで取得されたコンテンツを含み得る。
【０１５７】
ブロック２４０４において、システム１００は、１つの視点への円形路の一部に配列された複数の視点からの１セットの画像の一部と関連付けられているビュー光線を再キャストすることによって、透視画像面からの１セットの画像の一部を画像球面上に投影し得る。たとえば、１セットの画像は、多数のカメラをホストし得る円形のカメラリグによってキャプチャされ得る。各カメラは視点と関連付けられ得、それらの視点はシーンにおいてカメラリグから外向きに方向付けられている。特に、単一点から生じるのではなく、ビュー光線はリグ上の各カメラから生じている。システム１００は経路上のさまざまな視点からの光線を単一の視点に再キャストし得る。
【０１５８】
ブロック２４０６において、システム１００は単一の視点に対応する周囲境界を求め、周囲境界外部の画素を除去することによって更新画像を生成し得る。周囲境界は、歪んだ画像コンテンツから明確で簡潔な画像コンテンツの輪郭を描き得る。いくつかの実現例では、周囲境界は、ユーザの典型的な周囲ビュー領域外部のビューに関連し得る。そのような画素を除去することによって、歪んだ画像コンテンツがユーザに不必要に提示されないことが保証され得る。画素を除去することは、上記に詳述したように、画素をカラーブロック、静止画像、または画素のぼやけた表現で置換することを含み得る。いくつかの実現例では、周囲境界は、キャプチャされた画像と関連付けられている１つ以上のカメラについて約１５０度の視野に規定される。いくつかの実現例では、周囲境界は、キャプチャされた画像と関連付けられている１つ以上のカメラについて約１２０度の視野に規定される。いくつかの実現例では、周囲境界は、キャプチャされた画像と関連付けられているカメラについてビュー平面より上の約３０度に対応する球状の一部であり、画素を除去することは球状シーンの上部を黒く塗り潰すか除去することを含む。いくつかの実現例では、周囲境界は、キャプチャされた画像と関連付けられているカメラについてビュー平面より下の約３０度に対応する球状の一部であり、画素を除去することは球状シーンの上部を黒く塗り潰すか除去することを含む。ブロック２４０８において、システム１００は、周囲境界の範囲内での表示用に更新画像を提供し得る。
【０１５９】
いくつかの実現例では、方法２４００はさらに、１セットの画像内の少なくとも２つのフレーム同士を互いにスティッチングすることを含み得る。スティッチングは、フレームから画素列をサンプリングし、少なくとも２つのサンプリングされた画素列同士の間に、フレーム内にキャプチャされていない付加的な画素列を補間するステップを含み得る。さらに、スティッチングは、サンプリングされた列および付加的な列を互いに混合して画素値を生成するステップを含み得る。いくつかの実現例では、混合することは、キャプチャされた画像を取得するために用いられる円形カメラリグの直径に少なくとも部分的に基づいて選択されたスティッチング比を用いて実行され得る。スティッチングはさらに、画素値を左シーンおよび右シーン内に構成することによって三次元立体パノラマを生成するステップを含み得、これはたとえばＨＭＤにおいて表示するために提供され得る。
【０１６０】
図２５は、ビデオコンテンツを生成するプロセス２５００の一実施形態を図示するフローチャートである。ブロック２５０２において、システム１００は、少なくとも１セットの隣接カメラから収集されたキャプチャ済のビデオストリームに基づいて１セットの画像を規定し得る。たとえば、システム１００は（図２に示すような）ステレオペア、または（たとえば図３および図６に示すような）複数セットの隣接カメラを用い得る。いくつかの実現例では、システム１００は、約１２個から約１６個のカメラから収集されたキャプチャ済のビデオストリームを用いて１セットの画像を規定し得る。いくつかの実現例では、システム１００は一部のまたはすべてのレンダリングされたコンピュータグラフィックス（ＣＧ）コンテンツを用いて１セットの画像を規定し得る。
【０１６１】
ブロック２５０４において、システム１００は１セットの画像を正距円筒図法のビデオストリームにスティッチングし得る。たとえば、スティッチングは、左方向のカメラキャプチャ角度と関連付けられている画像を、右方向を向いているカメラキャプチャ角度と関連付けられている画像と組合せることを含み得る。
【０１６２】
ブロック２５０６において、システムは、第１のビューおよび第２のビューについてビデオストリームを正距円筒図法から透視投影にすることによって、再生用のビデオストリームをレンダリングし得る。第１のビューはヘッドマウントディスプレイの左目のビューに対応し得、第２のビューはヘッドマウントディスプレイの右目のビューに対応し得る。
【０１６３】
ブロック２５０８において、システムは、歪みが予め規定された閾値より高い境界を求め得る。予め規定された閾値は、視差のレベル、不一致のレベル、および／または特定の１セットの画像内の許容誤差のレベルを提供し得る。歪みは、たとえば１つの平面またはビューから別の平面またはビューにビデオストリームを投影する際の投影コンフィギュレーションに少なくとも部分的に基づき得る。
【０１６４】
ブロック２５１０において、システムは、上記に詳述したように、境界以上の１セットの画像内の画像コンテンツを除去することによって、更新されたビデオストリームを生成し得る。ビデオストリームを更新すると、更新されたストリームは、たとえばＨＭＤのユーザに表示するために提供され得る。一般に、本開示全体にわたって記載されるシステムおよび方法は、画像をキャプチャし、キャプチャされた画像から歪みを除去し、画像をレンダリングしてＨＭＤデバイスのユーザに３Ｄ立体ビューを提供するように機能し得る。
【０１６５】
図２６は、本明細書に記載の技術とともに用いられ得る汎用コンピュータデバイス２６００および汎用モバイルコンピュータデバイス２６５０の例を示す。コンピューティングデバイス２６００は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータといった、さまざまな形態のデジタルコンピュータを表わすことを意図している。コンピューティングデバイス２６５０は、携帯情報端末、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスといった、さまざまな形態のモバイルデバイスを表わすことを意図している。ここに示すコンポーネント、それらの接続および関係、ならびにそれらの機能は例示であることが意図されているに過ぎず、本文書に記載のおよび／または請求項に記載の本発明の実現例を限定することを意図していない。
【０１６６】
コンピューティングデバイス２６００は、プロセッサ２６０２、メモリ２６０４、記憶装置２６０６、メモリ２６０４および高速拡張ポート２６１０に接続している高速インターフェイス２６０８、ならびに低速バス２６１４および記憶装置２６０６に接続している低速インターフェイス２６１２を含む。コンポーネント２６０２，２６０４，２６０６，２６０８，２６１０および２６１２の各々はさまざまなバスを用いて相互に接続されており、共通のマザーボード上にまたは他の態様で適宜搭載され得る。プロセッサ２６０２は、コンピューティングデバイス２６００内で実行される命令を処理可能であり、この命令には、ＧＵＩのためのグラフィック情報を高速インターフェイス２６０８に結合されているディスプレイ２６１６などの外部入出力デバイス上に表示するためにメモリ２６０４内または記憶装置２６０６上に記憶されている命令が含まれる。他の実現例では、複数のプロセッサおよび／または複数のバスが、複数のメモリおよび複数種類のメモリとともに必要に応じて用いられ得る。また、複数のコンピューティングデバイス２６００が接続され得、各デバイスは（たとえばサーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして）必要な動作の一部を提供する。
【０１６７】
メモリ２６０４は情報をコンピューティングデバイス２６００内に記憶する。一実現例では、メモリ２６０４は１つまたは複数の揮発性メモリユニットである。別の実現例では、メモリ２６０４は１つまたは複数の不揮発性メモリユニットである。また、メモリ２６０４は、磁気ディスクまたは光ディスクといった別の形態のコンピュータ読取可能媒体であってもよい。
【０１６８】
記憶装置２６０６は、コンピューティングデバイス２６００に大容量記憶を提供可能である。一実現例では、記憶装置２６０６は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他のコンフィギュレーションにおけるデバイスを含む多数のデバイスといった、コンピュータ読取可能媒体であってもよく、または当該コンピュータ読取可能媒体を含んでいてもよい。コンピュータプログラムプロダクトが情報媒体内に有形に具体化され得る。また、コンピュータプログラムプロダクトは、実行されると上述のような１つ以上の方法を実行する命令を含み得る。情報媒体は、メモリ２６０４、記憶装置２６０６、またはプロセッサ２６０２上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。
【０１６９】
高速コントローラ２６０８はコンピューティングデバイス２６００のための帯域幅集約的な動作を管理するのに対して、低速コントローラ２６１２はより低い帯域幅集約的な動作を管理する。そのような機能の割当ては例示に過ぎない。一実現例では、高速コントローラ２６０８はメモリ２６０４、ディスプレイ２６１６に（たとえばグラフィックスプロセッサまたはアクセラレータを介して）、およびさまざまな拡張カード（図示せず）を受付け得る高速拡張ポート２６１０に結合される。当該実現例では、低速コントローラ２６１２は記憶装置２６０６および低速拡張ポート２６１４に結合される。さまざまな通信ポート（たとえばＵＳＢ、ブルートゥース、イーサネット（登録商標）、無線イーサネット）を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータといったネットワーキングデバイスなどの１つ以上の入出力デバイスに、たとえばネットワークアダプタを介して結合され得る。
【０１７０】
コンピューティングデバイス２６００は、図に示すように多数の異なる形態で実現されてもよい。たとえば、コンピューティングデバイス２６００は標準的なサーバ２６２０として、またはそのようなサーバのグループ内で複数回実現されてもよい。また、コンピューティングデバイス２６００はラックサーバシステム２６２４の一部として実現されてもよい。さらに、コンピューティングデバイス２６００はラップトップコンピュータ２６２２などのパーソナルコンピュータにおいて実現されてもよい。あるいは、コンピューティングデバイス２６００からのコンポーネントは、デバイス２６５０などのモバイルデバイス（図示せず）内の他のコンポーネントと組合されてもよい。そのようなデバイスの各々がコンピューティングデバイス２６００，２６５０の１つ以上を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイス２６００，２６５０で構成されてもよい。
【０１７１】
コンピューティングデバイス２６５０は、数あるコンポーネントの中でも特に、プロセッサ２６５２、メモリ２６６４、ディスプレイ２６５４などの入出力デバイス、通信インターフェイス２６６６、およびトランシーバ２６６８を含む。また、デバイス２６５０には、マイクロドライブまたは他のデバイスなどの記憶装置が提供されて付加的なストレージが提供されてもよい。コンポーネント２６５０，２６５２，２６６４，２６５４，２６６６および２６６８の各々はさまざまなバスを用いて相互に接続されており、当該コンポーネントのいくつかは共通のマザーボード上にまたは他の態様で適宜搭載され得る。
【０１７２】
プロセッサ２６５２は、メモリ２６６４に記憶されている命令を含む、コンピューティングデバイス２６５０内の命令を実行可能である。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイス、デバイス２６５０が実行するアプリケーション、およびデバイス２６５０による無線通信の制御といった、デバイス２６５０の他のコンポーネントの協調を提供し得る。
【０１７３】
プロセッサ２６５２は、ディスプレイ２６５４に結合された制御インターフェイス２６５８およびディスプレイインターフェイス２６５６を介してユーザと通信し得る。ディスプレイ２６５４は、たとえば、ＴＦＴ  ＬＣＤ（薄膜トランジスタ液晶ディスプレイ）もしくはＯＬＥＤ（有機発光ダイオード）ディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェイス２６５６は、ディスプレイ２６５４を駆動してグラフィックおよび他の情報をユーザに提示するための適切な回路を含み得る。制御インターフェイス２６５８はユーザからコマンドを受信し、当該コマンドをプロセッサ２６５２に提出するために変換し得る。さらに、外部インターフェイス２６６２が、デバイス２６５０と他のデバイスとの隣接通信を可能にするために、プロセッサ２６５２と通信した状態で提供されてもよい。外部インターフェイス２６６２は、たとえば、ある実現例では有線通信を提供し、他の実現例では無線通信を提供してもよく、また、複数のインターフェイスが用いられてもよい。
【０１７４】
メモリ２６６４は情報をコンピューティングデバイス２６５０内に記憶する。メモリ２６６４は、１つもしくは複数のコンピュータ読取可能媒体、１つもしくは複数の揮発性メモリユニット、または１つもしくは複数の不揮発性メモリユニットの１つ以上として実現され得る。さらに、拡張メモリ２６７４が提供され、たとえばＳＩＭＭ（Single In Line Memory Module）カードインターフェイスを含み得る拡張インターフェイス２６７２を介してデバイス２６５０に接続されてもよい。このような拡張メモリ２６７４はデバイス２６５０に余分のストレージスペースを提供し得るか、またはデバイス２６５０のためのアプリケーションもしくは他の情報をさらに記憶し得る。具体的には、拡張メモリ２６７４は上述のプロセスを実行または補足するための命令を含み得、さらにセキュア情報を含み得る。ゆえに、たとえば、拡張メモリ２６７４はデバイス２６５０のためのセキュリティモジュールとして提供されてもよく、デバイス２６５０のセキュアな使用を許可する命令でプログラムされてもよい。さらに、ハッキング不可能なようにＳＩＭＭカード上に識別情報を置くといったように、セキュアなアプリケーションが付加的な情報とともにＳＩＭＭカードを介して提供されてもよい。
【０１７５】
メモリは、以下に記載のように、たとえばフラッシュメモリおよび／またはＮＶＲＡＭメモリを含み得る。一実現例では、コンピュータプログラムプロダクトが情報媒体内に有形に具体化される。コンピュータプログラムプロダクトは、実行されると上述のような１つ以上の方法を実行する命令を含む。情報媒体は、メモリ２６６４、拡張メモリ２６７４、またはプロセッサ２６５２上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体であり、これは、たとえばトランシーバ２６６８または外部インターフェイス２６６２上で受信され得る。
【０１７６】
デバイス２６５０は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス２６６６を介して無線通信し得る。通信インターフェイス２６６６は、とりわけ、ＧＳＭ（登録商標）音声通話、ＳＭＳ、ＥＭＳ、またはＭＭＳメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ（登録商標）、ＣＤＭＡ２０００、またはＧＰＲＳといった、さまざまなモードまたはプロトコル下の通信を提供し得る。そのような通信は、たとえば無線周波数トランシーバ２６６８を介して起こり得る。さらに、ブルートゥース、Ｗｉ−Ｆｉ、または他のそのようなトランシーバ（図示せず）を用いるなどして、短距離通信が起こり得る。さらに、ＧＰＳ（全地球測位システム）レシーバモジュール２６７０が付加的なナビゲーション関連および位置関連の無線データをデバイス２６５０に提供し得、当該データはデバイス２６５０上で実行されるアプリケーションによって適宜用いられ得る。
【０１７７】
また、デバイス２６５０は、ユーザから口頭情報を受信して当該情報を使用可能なデジタル情報に変換し得る音声コーデック２６６０を用いて可聴的に通信し得る。音声コーデック２６６０も同様に、たとえばデバイス２６５０のハンドセット内で、スピーカを介すなどしてユーザに可聴音を生成し得る。そのような音は音声電話からの音を含んでいてもよく、録音された音（たとえば音声メッセージ、音楽ファイル等）を含んでいてもよく、さらに、デバイス２６５０上で実行されるアプリケーションが生成する音を含んでいてもよい。
【０１７８】
コンピューティングデバイス２６５０は、図に示すように多数の異なる形態で実現されてもよい。たとえば、コンピューティングデバイス２６５０はセルラー電話２６８０として実現されてもよい。また、コンピューティングデバイス２６５０は、スマートフォン２６８２、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
【０１７９】
本明細書に記載のシステムおよび技術のさまざまな実現例は、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組合せで実現され得る。これらのさまざまな実現例は、少なくとも１つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および／または解釈可能な１つ以上のコンピュータプログラムにおける実現例を含んでいてもよく、当該プロセッサは専用であっても汎用であってもよく、ストレージシステム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信するように、かつこれらにデータおよび命令を送信するように結合されている。
【０１８０】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても公知）はプログラマブルプロセッサのための機械命令を含んでおり、高レベル手続きおよび／もしくはオブジェクト指向プログラミング言語で、ならびに／またはアセンブリ／機械言語で実現され得る。本明細書において使用する「機械読取可能媒体」「コンピュータ読取可能媒体」という用語は、機械命令および／またはデータをプログラマブルプロセッサに提供するために用いられる任意のコンピュータプログラムプロダクト、装置および／またはデバイス（たとえば磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（ＰＬＤ））を指し、機械命令を機械読取可能信号として受信する機械読取可能媒体を含む。「機械読取可能信号」という用語は、機械命令および／またはデータをプログラマブルプロセッサに提供するために用いられる任意の信号を指す。
【０１８１】
ユーザとの対話を提供するために、本明細書に記載のシステムおよび技術は、情報をユーザに表示するためのディスプレイデバイス（たとえばＣＲＴ（陰極線管）またはＬＣＤ（液晶ディスプレイ）モニタ）と、ユーザが入力をコンピュータに提供する際に使用可能なキーボードおよびポインティングデバイス（たとえばマウスまたはトラックボール）とを有するコンピュータ上で実現され得る。他の種類のデバイスを用いてユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは任意の形態の感覚フィードバック（たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であり得、ユーザからの入力は、音響、スピーチ、または触覚入力を含む任意の形態で受信され得る。
【０１８２】
本明細書に記載のシステムおよび技術は、バックエンドコンポーネントを（たとえばデータサーバとして）含む、またはミドルウェアコンポーネントを（たとえばアプリケーションサーバとして）含む、またはフロントエンドコンポーネント（たとえば、ユーザが上記のシステムおよび技術の実現例と対話する際に使用可能なグラフィックユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータ）、またはそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムにおいて実現され得る。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信（たとえば通信ネットワーク）によって相互に接続され得る。通信ネットワークの例として、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、およびインターネットが挙げられる。
【０１８３】
コンピューティングシステムはクライアントおよびサーバを含み得る。クライアントおよびサーバは一般に互いにリモートであり、典型的に通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されて互いにクライアント−サーバ関係を有するコンピュータプログラムによって生じる。
【０１８４】
多数の実施形態を説明した。しかしながら、明細書の精神および範囲から逸脱することなくさまざまな変更がなされ得ることが理解されるであろう。たとえば、以下の各請求項および上記のそのような請求項の例は任意に組合わせられて、付加的な例示的な実施形態が生成され得る。
【０１８５】
また、図面に示す論理フローは、所望の結果を達成するために、示されている特定の順序、または起こる順序を必要としない。また、記載のフローとは他のステップが提供されてもよく、または当該フローからステップが除去されてもよく、記載のシステムに他のコンポーネントが追加されてもよく、または当該システムからコンポーネントが除去されてもよい。したがって、他の実施形態も以下の請求項の範囲内にある。
【図１】
0006484349.tif 000005
【図２】
0006484349.tif 000006
【図３】
0006484349.tif 000007
【図４Ａ】
0006484349.tif 000008
【図４Ｂ】
0006484349.tif 000009
【図４Ｃ】
0006484349.tif 000010
【図４Ｄ】
0006484349.tif 000011
【図４Ｅ】
0006484349.tif 000012
【図４Ｆ】
0006484349.tif 000013
【図４Ｇ】
0006484349.tif 000014
【図４Ｈ】
0006484349.tif 000015
【図４Ｉ】
0006484349.tif 000016
【図４Ｊ】
0006484349.tif 000017
【図５Ａ】
0006484349.tif 000018
【図５Ｂ】
0006484349.tif 000019
【図５Ｃ】
0006484349.tif 000020
【図６】
0006484349.tif 000021
【図７】
0006484349.tif 000022
【図８】
0006484349.tif 000023
【図９】
0006484349.tif 000024
【図１０】
0006484349.tif 000025
【図１１】
0006484349.tif 000026
【図１２Ａ】
0006484349.tif 000027
【図１２Ｂ】
0006484349.tif 000028
【図１３Ａ】
0006484349.tif 000029
【図１３Ｂ】
0006484349.tif 000030
【図１４Ａ】
0006484349.tif 000031
【図１４Ｂ】
0006484349.tif 000032
【図１５Ａ】
0006484349.tif 000033
【図１５Ｂ】
0006484349.tif 000034
【図１５Ｃ】
0006484349.tif 000035
【図１６Ａ】
0006484349.tif 000036
【図１６Ｂ】
0006484349.tif 000037
【図１７Ａ】
0006484349.tif 000038
【図１７Ｂ】
0006484349.tif 000039
【図１８】
0006484349.tif 000040
【図１９】
0006484349.tif 000041
【図２０】
0006484349.tif 000042
【図２１】
0006484349.tif 000043
【図２２】
0006484349.tif 000044
【図２３】
0006484349.tif 000045
【図２４】
0006484349.tif 000046
【図２５】
0006484349.tif 000047
【図２６】
0006484349.tif 000048