(57)【要約】  例示的な方法は、仮想現実コンテンツレンダリングシステムが、３次元（「３Ｄ」）シーンに関して異なる観測点に配置された複数のキャプチャデバイスによってキャプチャされた２次元（「２Ｄ」）カラーデータおよび深さデータを受信することと、メタデータを受信することと、複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、仮想３Ｄ空間における３Ｄシーンの部分的な表現を作成するために、仮想３Ｄ空間に投影される部分３Ｄメッシュを、メタデータおよび深さデータに基づいて生成することと、仮想３Ｄ空間に投影される部分３Ｄメッシュに基づいて、仮想３Ｄ空間内の任意の視点から、仮想３Ｄ空間の画像ビューを生成することとを含む。画像ビューを生成することは、仮想３Ｄ空間に投影される部分３Ｄメッシュを蓄積することを備え得る。
2020522803.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
３次元（「３Ｄ」）シーンに関して異なる観測点に配置された複数のキャプチャデバイスによってキャプチャされた２次元（「２Ｄ」）カラーデータおよび深さデータを、仮想現実コンテンツレンダリングシステムによって受信することと、
前記２Ｄカラーデータおよび前記深さデータのメタデータを、前記仮想現実コンテンツレンダリングシステムによって受信することと、
前記複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、仮想３Ｄ空間における前記３Ｄシーンの部分的な表現を作成するために、前記仮想３Ｄ空間に投影される部分３Ｄメッシュを、前記メタデータおよび前記深さデータに基づいて、前記仮想現実コンテンツレンダリングシステムによって生成することと、
前記仮想３Ｄ空間に投影される前記部分３Ｄメッシュに基づいて、前記仮想３Ｄ空間内の任意の視点から、前記仮想現実コンテンツレンダリングシステムによって前記仮想３Ｄ空間の画像ビューを生成することとを備え、前記画像ビューを生成することは、
前記仮想３Ｄ空間に投影される前記部分３Ｄメッシュを蓄積することと、
前記２Ｄカラーデータに基づいて、前記部分３Ｄメッシュのカラーサンプルをブレンドして、前記仮想３Ｄ空間の前記画像ビューを形成することとを備えた、方法。
【請求項２】
前記複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、前記部分３Ｄメッシュを生成することは、
前記複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、前記仮想３Ｄ空間における前記部分３Ｄメッシュのプリミティブの頂点の３Ｄ座標を作成するために、前記深さデータに基づいて、前記仮想３Ｄ空間内の深さに対して、透視線に沿って２Ｄ入力メッシュを投影することを備えた、請求項１に記載の方法。
【請求項３】
前記複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、前記部分３Ｄメッシュを生成することはさらに、
各部分３Ｄメッシュについて、前記部分３Ｄメッシュの前記プリミティブの１つまたは複数を、無関係なプリミティブとして識別することと、
前記識別された無関係なプリミティブを、各部分３Ｄメッシュから削除することとを備えた、請求項２に記載の方法。
【請求項４】
各部分３Ｄメッシュについて、前記部分３Ｄメッシュの前記プリミティブの１つまたは複数を、無関係なプリミティブとして識別することは、
所定の深さ変化しきい値を超える深さ変化を有する第１のプリミティブに少なくとも部分的に基づいて、前記部分３Ｄメッシュの前記第１のプリミティブを、無関係なプリミティブとして識別することと、
前記部分３Ｄメッシュに関連付けられた前記それぞれの観測点に面していない表面を有する第２のプリミティブに少なくとも部分的に基づいて、前記部分３Ｄメッシュの前記第２のプリミティブを、無関係なプリミティブとして識別することと、
所定の近平面または所定の遠平面の範囲外にある第３のプリミティブに少なくとも部分的に基づいて、前記部分３Ｄメッシュの前記第３のプリミティブを、無関係なプリミティブとして識別することとのうちの少なくとも１つを備えた、請求項３に記載の方法。
【請求項５】
前記部分３Ｄメッシュの前記カラーサンプルをブレンドして、前記仮想３Ｄ空間の前記画像ビューを形成することは、
前記部分３Ｄメッシュの前記プリミティブのブレンド重み付けを決定することと、
前記部分３Ｄメッシュのプリミティブの前記決定されたブレンド重み付けに基づいて、前記部分３Ｄメッシュの前記カラーサンプルを重み付けることと、
前記部分３Ｄメッシュの重複セクションに含まれる重畳されたプリミティブの、前記重み付けられたカラーサンプルの重み付け平均を決定することとを備えた、請求項２に記載の方法。
【請求項６】
前記仮想３Ｄ空間に投影される前記部分３Ｄメッシュを蓄積することは、グラフィック処理ユニット（「ＧＰＵ」）のフレームバッファに前記部分３Ｄメッシュの前記カラーサンプルを蓄積することを備え、
前記部分３Ｄメッシュの前記カラーサンプルをブレンドして、前記仮想３Ｄ空間の前記画像ビューを形成することは、前記部分３Ｄメッシュの前記カラーサンプルを、前記ＧＰＵの前記フレームバッファに追加的にブレンドすることを備えた、請求項１に記載の方法。
【請求項７】
前記仮想３Ｄ空間に投影された前記部分３Ｄメッシュに基づいて、前記仮想３Ｄ空間内の前記任意の視点から、前記仮想現実コンテンツレンダリングシステムによって、蓄積領域を決定することをさらに備え、
前記部分３Ｄメッシュを蓄積し、前記部分３Ｄメッシュの前記カラーサンプルをブレンドして、前記仮想３Ｄ空間の前記画像ビューを形成することは、前記蓄積領域内にあるフラグメントについてのみ実行される、請求項１に記載の方法。
【請求項８】
少なくとも１つの非一時的なコンピュータ可読媒体におけるコンピュータ実行可能な命令として具体化される、請求項１に記載の方法。
【請求項９】
非一時的なコンピュータ可読媒体であって、実行された場合、コンピューティングデバイスの少なくとも１つのプロセッサに対して、
３次元（「３Ｄ」）シーンに関して異なる観測点に配置された複数のキャプチャデバイスによってキャプチャされた２次元（「２Ｄ」）カラーデータおよび深さデータを受信することと、
前記２Ｄカラーデータおよび前記深さデータのメタデータを受信することと、
前記複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、仮想３Ｄ空間における前記３Ｄシーンの部分的な表現を作成するために、前記仮想３Ｄ空間に投影される部分３Ｄメッシュを、前記メタデータおよび前記深さデータに基づいて生成することと、
前記仮想３Ｄ空間に投影される前記部分３Ｄメッシュに基づいて、前記仮想３Ｄ空間内の任意の視点から、前記仮想３Ｄ空間の画像ビューを生成することであって、前記画像ビューを生成することは、前記２Ｄカラーデータに基づいて、前記部分３Ｄメッシュのカラーサンプルをブレンドして、前記仮想３Ｄ空間の前記画像ビューを形成することを備えた、生成することと、を行うように指示する命令を記憶した、非一時的なコンピュータ可読媒体。
【請求項１０】
前記複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、前記部分３Ｄメッシュを生成することは、
実行された場合、前記少なくとも１つのプロセッサに対して、前記複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、前記仮想３Ｄ空間における前記部分３Ｄメッシュのプリミティブの頂点の３Ｄ座標を作成するために、前記深さデータに基づいて、前記仮想３Ｄ空間内の深さに対して、透視線に沿って２Ｄ入力メッシュを投影するように指示する命令を備えた、請求項９に記載の非一時的なコンピュータ可読媒体。
【請求項１１】
前記複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、前記部分３Ｄメッシュを生成することはさらに、実行された場合、前記少なくとも１つのプロセッサに対して、
各部分３Ｄメッシュについて、前記部分３Ｄメッシュの前記プリミティブの１つまたは複数を、無関係なプリミティブとして識別することと、
前記識別された無関係なプリミティブを、各部分３Ｄメッシュから削除することと、を行うように指示する命令を備えた、請求項１０に記載の非一時的なコンピュータ可読媒体。
【請求項１２】
前記部分３Ｄメッシュの前記カラーサンプルをブレンドして、前記仮想３Ｄ空間の前記画像ビューを形成することは、実行された場合、前記少なくとも１つのプロセッサに対して、
前記部分３Ｄメッシュの前記プリミティブのブレンド重み付けを決定することと、
前記部分３Ｄメッシュのプリミティブの前記決定されたブレンド重み付けに基づいて、前記部分３Ｄメッシュの前記カラーサンプルを重み付けることと、
前記部分３Ｄメッシュの重複エリアに含まれる重畳されたプリミティブの、前記重み付けられたカラーサンプルの重み付け平均を決定することと、を行うように指示する命令を備えた、請求項１０に記載の非一時的なコンピュータ可読媒体。
【請求項１３】
前記少なくとも１つのプロセッサは、グラフィック処理ユニット（「ＧＰＵ」）を備え、
前記部分３Ｄメッシュの前記カラーサンプルをブレンドして、前記仮想３Ｄ空間の前記画像ビューを形成することは、実行された場合、前記少なくとも１つのプロセッサに対して、前記部分３Ｄメッシュの前記カラーサンプルを、前記ＧＰＵのフレームバッファに蓄積するように指示する命令を備えた、請求項９に記載の非一時的なコンピュータ可読媒体。
【請求項１４】
実行された場合、前記少なくとも１つのプロセッサに対して、前記仮想３Ｄ空間に投影された前記部分３Ｄメッシュに基づいて、前記仮想３Ｄ空間内の前記任意の視点から、蓄積領域を決定するように指示する命令をさらに備え、
前記部分３Ｄメッシュの前記カラーサンプルをブレンドして、前記仮想３Ｄ空間の前記画像ビューを形成することは、前記蓄積領域内にあるカラーサンプルについてのみ実行される、請求項９に記載の非一時的なコンピュータ可読媒体。
【請求項１５】
システムであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに対して、
３次元（「３Ｄ」）シーンに関して異なる観測点に配置された複数のキャプチャデバイスによってキャプチャされた２次元（「２Ｄ」）カラーデータおよび深さデータを受信することと、
前記２Ｄカラーデータおよび前記深さデータのメタデータを受信することと、
前記複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、仮想３Ｄ空間における前記３Ｄシーンの部分的な表現を作成するために、前記仮想３Ｄ空間に投影される部分３Ｄメッシュを、前記メタデータおよび前記深さデータに基づいて生成することと、
前記仮想３Ｄ空間に投影される前記部分３Ｄメッシュに基づいて、前記仮想３Ｄ空間内の任意の視点から、前記仮想３Ｄ空間の画像ビューを生成することであって、前記画像ビューを生成することは、前記２Ｄカラーデータに基づいて、前記部分３Ｄメッシュのカラーサンプルをブレンドして、前記仮想３Ｄ空間の前記画像ビューを形成することを備えた、生成することと、を行うように指示する仮想現実レンダリング機能とを備えた、システム。
【請求項１６】
前記複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、前記部分３Ｄメッシュを生成することは、
前記仮想現実レンダリング機能が、前記少なくとも１つのコンピュータプロセッサに対して、前記複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、前記仮想３Ｄ空間における前記部分３Ｄメッシュのプリミティブの頂点の３Ｄ座標を作成するために、前記深さデータに基づいて、前記仮想３Ｄ空間内の深さに対して、透視線に沿って２Ｄ入力メッシュを投影するように指示することを備えた、請求項１５に記載のシステム。
【請求項１７】
前記複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、前記部分３Ｄメッシュを生成することはさらに、
前記仮想現実レンダリング機能が、前記少なくとも１つのコンピュータプロセッサに対して、各部分３Ｄメッシュについて、前記部分３Ｄメッシュのプリミティブの１つまたは複数を、無関係なプリミティブとして識別するように指示することと、
前記仮想現実レンダリング機能が、前記少なくとも１つのコンピュータプロセッサに対して、前記識別された無関係なプリミティブを、各部分３Ｄメッシュから削除するように指示することとを備えた、請求項１６に記載のシステム。
【請求項１８】
前記部分３Ｄメッシュの前記カラーサンプルをブレンドして、前記仮想３Ｄ空間の前記画像ビューを形成することは、
前記仮想現実レンダリング機能が、前記少なくとも１つのコンピュータプロセッサに対して、前記部分３Ｄメッシュの前記プリミティブのブレンド重み付けを決定するように指示することと、
前記仮想現実レンダリング機能が、前記少なくとも１つのコンピュータプロセッサに対して、前記部分３Ｄメッシュのプリミティブの前記決定されたブレンド重み付けに基づいて、前記部分３Ｄメッシュの前記カラーサンプルを重み付けるように指示することと、
前記仮想現実レンダリング機能が、前記少なくとも１つのコンピュータプロセッサに対して、前記部分３Ｄメッシュの重複エリアに含まれる重畳されたプリミティブの、前記重み付けられたカラーサンプルの重み付け平均を決定するように指示することとを備えた、請求項１６に記載のシステム。
【請求項１９】
前記少なくとも１つのコンピュータプロセッサは、グラフィック処理ユニット（「ＧＰＵ」）を備え、
前記部分３Ｄメッシュの前記カラーサンプルをブレンドして、前記仮想３Ｄ空間の前記画像ビューを形成することは、前記仮想現実レンダリング機能が、前記少なくとも１つのコンピュータプロセッサに対して、前記部分３Ｄメッシュの前記カラーサンプルを、前記ＧＰＵのフレームバッファに蓄積するように指示することを備えた、請求項１５に記載のシステム。
【請求項２０】
前記仮想現実レンダリング機能が、前記少なくとも１つのコンピュータプロセッサに対して、前記仮想３Ｄ空間に投影された前記部分３Ｄメッシュに基づいて、前記仮想３Ｄ空間内の前記任意の視点から、蓄積領域を決定するように指示することをさらに備え、
前記部分３Ｄメッシュの前記カラーサンプルをブレンドして、前記仮想３Ｄ空間の前記画像ビューを形成することは、前記蓄積領域内にあるカラーサンプルについてのみ実行される、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、２０１７年５月３１日に出願され、「ＭＥＴＨＯＤＳ  ＡＮＤ  ＳＹＳＴＥＭＳ  ＦＯＲ  ＲＥＮＤＥＲＩＮＧ  ＶＩＲＴＵＡＬ  ＲＥＡＬＩＴＹ  ＣＯＮＴＥＮＴ  ＢＡＳＥＤ  ＯＮ  ＴＷＯ−ＤＩＭＥＮＳＩＯＮＡＬ（「２Ｄ」）ＣＡＰＴＵＲＥＤ  ＩＭＡＧＥＲＹ  ＯＦ  Ａ  ＴＨＲＥＥ−ＤＩＭＥＮＳＩＯＮＡＬ（「３Ｄ」）ＳＣＥＮＥ」と題され、その全体が参照により本明細書に組み込まれている米国特許出願第１５／６１０，５８６号に対する優先権を主張する。
【背景技術】
【０００２】
コンピューティングおよびネットワーキング技術の進歩により、新たな形態のメディアコンテンツが可能になった。たとえば、視聴者（または「ユーザ」）を、仮想現実世界で同時に提示されている様々なもののいずれかに注意を向けさせることにより、ユーザが体験し得るインタラクティブな仮想現実世界に没入させる、仮想現実メディアコンテンツが利用可能である。仮想現実メディアコンテンツの提示中の任意の時点で、仮想現実メディアコンテンツを体験しているユーザは、水平次元（たとえば、前方、後方、左、右等）と垂直次元（たとえば、上、下等）との両方に関して、仮想現実世界内を任意の方向に見回したり、および／または、移動することができ、仮想現実世界内の特定の視点から、仮想現実世界に実際に存在し、体験しているという感覚をユーザに与える。
【０００３】
いくつかの例では、仮想現実メディアプロバイダは、仮想現実世界を表すデータを、ネットワークを経由して、仮想現実世界を体験するためにユーザによって使用されているクライアントコンピューティングデバイスに送信することにより、仮想現実世界を含む仮想現実コンテンツを提供し得る。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願第１５／６１０，５７５号公報
【図面の簡単な説明】
【０００５】
添付の図面は、様々な実施形態を示しており、明細書の一部である。図示された実施形態は単なる例であり、本開示の範囲を限定しない。図面全体を通して、同一または類似の参照番号は、同一または類似の要素を示す。
【図１】図１は、本明細書に記載された原理に従う例示的な仮想現実コンテンツレンダリングシステムを示す図である。
【図２】図２は、本明細書に記載された原理に従って、図１のシステムのレンダリング機能が、３Ｄシーンを表す仮想現実コンテンツをレンダリングするために、３Ｄシーンに関連付けられたデータを受信および処理する例示的な構成を示す図である。
【図３】図３は、本明細書に記載された原理に従う、３Ｄシーン内のオブジェクトに関するキャプチャデバイスの例示的な構成を示す図である。
【図４】図４は、本明細書に記載された原理に従う例示的な２次元（「２Ｄ」）入力メッシュを示す図である。
【図５】図５は、本明細書に記載された原理に従う仮想３Ｄ空間内の深さへの２Ｄ入力メッシュの例示的な投影を示す図である。
【図６】図６は、本明細書に記載された原理に従う仮想３Ｄ空間内の深さへの２Ｄ入力メッシュの例示的な投影を示す図である。
【図７】図７は、本明細書に記載された原理に従う仮想３Ｄ空間内の深さへの２Ｄ入力メッシュの例示的な投影を示す図である。
【図８】図８は、本明細書に記載された原理に従って、部分３Ｄメッシュから無関係なプリミティブを識別および除去するための例示的な動作を示す図である。
【図９】図９は、本明細書に記載された原理に従って、部分３Ｄメッシュから無関係なプリミティブを識別および除去するための例示的な動作を示す図である。
【図１０】図１０は、本明細書に記載された原理に従って、部分３Ｄメッシュから無関係なプリミティブを識別および除去するための例示的な動作を示す図である。
【図１１】図１１は、本明細書に記載された原理に従って、仮想３Ｄ空間に投影された複数の部分３Ｄメッシュの断面を示す図である。
【図１２】図１２は、本明細書に記載された原理に従って、仮想３Ｄ空間に投影された複数の部分３Ｄメッシュの断面を示す図である。
【図１３】図１３は、本明細書に記載された原理に従って、仮想３Ｄ空間に投影され、任意の視点から仮想３Ｄ空間の画像ビューを生成するために使用され得る、部分３Ｄメッシュの断面を示す図である。
【図１４】図１４は、本明細書に記載された原理に従うフレームバッファの例示的な構成を示す図である。
【図１５】図１５は、本明細書に記載された原理に従って、仮想３Ｄ空間内の任意の視点からレンダリングされるべきオブジェクトの部分表現の例示的な深さオフセットを示す図である。
【図１６】図１６は、本明細書に記載された原理に従う、図１の仮想現実コンテンツレンダリングシステムの例示的な実施を示す図である。
【図１７】図１７は、本明細書に記載された原理に従う、図１の仮想現実コンテンツレンダリングシステムにより受信され得る例示的なトランスポートストリームを示す図である。
【図１８】図１８は、本明細書に記載された原理に従って、特定の時間シーケンス中に、特定のキャプチャデバイスから図１の仮想現実コンテンツレンダリングシステムにより受信され得る例示的な２Ｄカラーおよび深さデータを示す図である。
【図１９】図１９は、本明細書に記載された原理に従うメタデータの例示的な実施を示す図である。
【図２０】図２０は、本明細書に記載された原理に従って、３Ｄシーンの２Ｄキャプチャ画像に基づいて仮想現実コンテンツをレンダリングする例示的な方法を示す図である。
【図２１】図２１は、本明細書に記載された原理に従って、３Ｄシーンの２Ｄキャプチャ画像に基づいて仮想現実コンテンツをレンダリングする別の例示的な方法を示す図である。
【図２２】図２２は、本明細書に記載された原理に従う例示的なコンピューティングデバイスを示す図である。
【発明を実施するための形態】
【０００６】
本明細書では、３Ｄシーンの２Ｄキャプチャ画像に基づいて仮想現実コンテンツをレンダリングするための方法およびシステムが記載される。特定の例示的な方法およびシステムでは、仮想現実コンテンツレンダリングシステム（「レンダリングシステム」）は、３Ｄシーンに関して異なる観測点（たとえば、３Ｄシーンに関して異なるキャプチャ角度を有する異なる位置）に物理的に配置された複数のキャプチャデバイス（たとえば、ビデオカメラ、３Ｄ深さスキャンハードウェア等）によってキャプチャされたような３Ｄシーン（たとえば、現実世界のシーン）の２Ｄ画像を表すデータを受信し得る。表面データと称され得るキャプチャ２Ｄ画像は、複数のキャプチャデバイスに含まれる各キャプチャデバイスによってキャプチャされた、３Ｄシーン内の１つまたは複数のオブジェクトの表面の２Ｄカラーデータおよび深さデータを含み得る。
【０００７】
キャプチャデバイスのおのおのによってキャプチャされた２Ｄカラーデータおよび深さデータは、３Ｄシーンに対する特定の観測点からの３Ｄシーンの明確な非メッシュビューを表し得る。本明細書で使用する「明確な非メッシュビュー」は、特定のキャプチャデバイスからの３Ｄシーンのビューに対応しており、ここでは、特定のキャプチャデバイスによってキャプチャされた３Ｄシーンの表面データ（たとえば、２Ｄカラーデータおよび深さデータ）は、３Ｄモデルまたは３Ｄシーンの３Ｄ表現を形成するために、幾何学プリミティブの３Ｄメッシュとして表されず、および／または、別のキャプチャデバイスによってキャプチャされた表面データとともに組み合わされない（つまり、メッシュ化されない）。
【０００８】
レンダリングシステムはまた、２Ｄカラーデータおよび深さデータのための投影メタデータのようなメタデータを受信し得る。メタデータは、仮想３Ｄ空間において３Ｄシーンの仮想表現を作成するために、２Ｄカラーデータおよび深さデータを、仮想３Ｄ空間に投影するためにレンダリングシステムによって使用可能な複数のキャプチャデバイスに関する情報のように、３Ｄシーンに関連付けられた情報を含み得、これによって、投影されるデータは、仮想３Ｄ空間内の任意の視点から、仮想３Ｄ空間のビュー（すなわち、仮想３Ｄ空間における３Ｄシーンの仮想表現のビュー）をレンダリングするために、レンダリングシステムによって使用されるようになる。
【０００９】
受信したデータ（たとえば、メタデータおよび深さデータ）に基づいて、レンダリングシステムは、各それぞれのキャプチャデバイスに関連付けられた各観測点について、仮想３Ｄ空間における３Ｄシーンの部分的な仮想表現を作成するために、仮想３Ｄ空間に投影される部分３Ｄメッシュを生成し得る。特定の例では、各部分３Ｄメッシュを生成することは、レンダリングシステムが、各それぞれのキャプチャデバイスに関連付けられた各観測点について、仮想３Ｄ空間における部分３Ｄメッシュのプリミティブの頂点の３Ｄ座標を作成するために、深さデータに基づいて、仮想３Ｄ空間内の深さに対して、透視線に沿って２Ｄ入力メッシュを投影することを含み得る。特定の例では、各部分３Ｄメッシュを生成することはまた、レンダリングシステムが、各部分３Ｄメッシュについて、部分３Ｄメッシュのプリミティブの１つまたは複数を無関係なプリミティブとして識別し、識別された無関係なプリミティブを各部分３Ｄメッシュから削除することを含み得る。
【００１０】
キャプチャデバイスに関連付けられた観測点の仮想３Ｄ空間に投影された部分３Ｄメッシュに基づいて、レンダリングシステムは、仮想３Ｄ空間内の任意の視点から、仮想３Ｄ空間の画像ビューを生成し得る。特定の例では、仮想３Ｄ空間の画像ビューを生成することは、レンダリングシステムが、仮想３Ｄ空間に投影される部分３Ｄメッシュを蓄積し、２Ｄカラーデータに基づいて、部分３Ｄメッシュのカラーサンプルをブレンドして、仮想３Ｄ空間の画像ビューを形成することを含む。特定の例では、仮想３Ｄ空間に投影される部分３Ｄメッシュを蓄積することは、グラフィック処理ユニット（「ＧＰＵ」）のフレームバッファに部分３Ｄメッシュを蓄積し、部分３Ｄメッシュのカラーサンプルを、ＧＰＵのフレームバッファに追加的にブレンドすることを含み得る。特定の例では、カラーサンプルをブレンドすることは、レンダリングシステムが、部分３Ｄメッシュのプリミティブのブレンド重み付けを決定し、部分３Ｄメッシュのプリミティブの決定されたブレンド重み付けに基づいて、部分３Ｄメッシュのカラーサンプルを重み付けし、部分３Ｄメッシュの重複セクションに含まれる重畳されたプリミティブの重み付けられたカラーサンプルの重み付け平均を決定することを含み得る。特定の例において、レンダリングシステムは、蓄積領域を決定し、蓄積領域内に位置するプリミティブまたはフラグメントのみを蓄積およびブレンドし得る。
【００１１】
前述された原理および動作の例示的な例、ならびに追加のおよび／または代替の原理および動作が、本明細書で記載される。明確化および説明のために、特定の実例が、簡略化されたデータセット（たとえば、単純な３Ｄシーン、オブジェクト、２Ｄ入力メッシュ、部分３Ｄメッシュ等を表すデータセット）を使用して本明細書に記載および例示される。しかしながら、本明細書に記載された原理および動作は、より大きなおよび／またはより複雑なデータセットに適用され得ることが理解されるであろう。
【００１２】
本明細書に記載された方法およびシステムは、従来の仮想現実コンテンツレンダリング技術を超える１つまたは複数の有利さおよび／または利点を提供する。たとえば、本明細書に記載された方法およびシステムは、仮想現実コンテンツをレンダリングするために必要なコンピューティングリソース（たとえば、メモリおよび／または処理リソース）を大幅に削減し得る。本明細書に記載されたように、２Ｄカラーデータ、深さデータ、およびメタデータを使用して、部分３Ｄメッシュを生成、蓄積、およびブレンドし、仮想３Ｄ空間の画像ビューを形成することを例示するために、レンダリングシステムは、３Ｄシーンの単一の凝集した幾何学メッシュのように、３Ｄシーンの完全な３Ｄモデルを受信または生成する必要なく、仮想現実コンテンツ（たとえば、仮想３Ｄ空間における任意の動的に選択可能な視点からの仮想３Ｄ空間の画像ビュー）をレンダリングし得る。これにより、伝送帯域幅、処理要件、およびメモリを節約する。
【００１３】
追加的または代替的に、本明細書に記載されたように、部分３Ｄメッシュを生成、蓄積、およびブレンドして、仮想３Ｄ空間の画像ビューを形成するために、２Ｄカラーデータ、深さデータ、およびメタデータを使用することによって、本明細書に記載された方法およびシステムは、既存のビデオ処理技術（たとえば、ビデオレンダリング技術）および既存のグラフィックハードウェア（たとえば、既存のグラフィックカードおよびパイプライン）および／または仮想現実コンテンツをレンダリングするソフトウェアを使用し得る。これは、より幅広いエンドユーザコンピューティングデバイスに対する仮想現実コンテンツサービスのスケーラビリティをサポートし得、および／または、様々なエンドユーザコンピューティングデバイスのユーザへの仮想現実コンテンツのアクセス性を拡張し得る。
【００１４】
追加的または代替的に、本明細書に記載されたように、部分３Ｄメッシュを生成、蓄積、およびブレンドして、仮想３Ｄ空間の画像ビューを形成するために、２Ｄカラーデータ、深さデータ、およびメタデータを使用することによって、本明細書に記載された方法およびシステムは、仮想現実コンテンツを、仮想現実コンテンツが従来のレンダリング技術を使用してレンダリングされるよりも、より高速にレンダリングし得る。これは、イベントがリアルタイムで発生するときにイベントを表す仮想現実コンテンツに関するように、仮想現実コンテンツがリアルタイムまたはほぼリアルタイムでストリーミングおよびレンダリングされるアプリケーションをサポートし得る。
【００１５】
追加的または代替的に、本明細書に記載されたように、部分３Ｄメッシュを生成、蓄積、およびブレンドして、仮想３Ｄ空間の画像ビューを形成するために、２Ｄカラーデータ、深さデータ、およびメタデータを使用することによって、本明細書に記載された方法およびシステムは、ネットワークを経由してメディアプレーヤデバイスに仮想現実コンテンツを提供するために必要な帯域幅の量の大幅な低減を容易にし得る。たとえば、送信前に３Ｄシーンの３Ｄモデルを生成する代わりに、３Ｄシーンの明確な非メッシュビューを表す２Ｄデータが生成され、ネットワークを経由してメディアプレーヤデバイスへ送信され得る。これは、サーバ側で処理され、ネットワークを介して送信される必要があるデータの量を大幅に低減し、これにより、処理および／または帯域幅の要件が低減された、高められた速度において、仮想現実コンテンツのストリーミングを可能にし得、これは、データスループットおよびレイテンシを高め得る。
【００１６】
本明細書に記載されたシステムおよび方法は、特定の実施に役立ち得るように、追加または代替の利点を提供し得る。次に、図面を参照して、様々な実施形態をより詳細に説明する。開示された方法およびシステムは、前述の利点の１つまたは複数、および／または、本明細書で明らかにされる様々な追加および／または代替の利点を提供し得る。
【００１７】
図１は、本明細書に記載された方法およびシステムに従って、２Ｄカラーデータ、深さデータ、およびメタデータを処理して、部分３Ｄメッシュを生成、蓄積、およびブレンドし、仮想３Ｄ空間の画像ビューを形成し得る例示的な仮想現実コンテンツレンダリングシステム１００（「システム１００」）を示す。図示されるように、システム１００は、互いに選択的かつ通信可能に結合されたレンダリング機能１０２および記憶機能１０４を含み得るが、これらに限定されない。特定の代替例では、記憶機能１０４は、システム１００から除外され得、システム１００に通信可能に結合され得る。機能１０２および機能１０４は、図１では別個の機能であるように示されているが、機能１０２および機能１０４は、単一の機能等のより少ない機能に組み合わされ得るか、または特定の実施に役立ち得るように、より多くの機能に分割され得ることが認識されるであろう。機能１０２および機能１０４のおのおのは、デバイス（たとえば、単一のシャーシを有するメディアプレーヤデバイス）を含むか、またはこのデバイスに収容され、単一の場所（たとえば、住居、企業等のユーザ建物等、または、メディアプレーヤデバイスのユーザに関連付けられた別の場所）に位置し、または、特定の実施に役立ち得るように、多数のデバイスおよび／または多数の場所に分散され得る。次に、機能１０２および機能１０４のおのおのについてより詳細に説明する。
【００１８】
記憶機能１０４は、２Ｄカラーおよび深さデータ１０６、メタデータ１０８、仮想現実コンテンツデータ１１０、および／または、レンダリング機能１０２によって受信、生成、管理、維持、使用、および／または送信される任意の他のデータを記憶し得る。２Ｄカラーおよび深さデータ１０６は、レンダリング機能１０２によって受信され得、３Ｄシーン内のオブジェクトの外観および位置のように、３Ｄシーン内の１つまたは複数のオブジェクトを表す２Ｄカラーデータおよび深さデータを含み得る。
【００１９】
特定の例では、３Ｄシーンは、ライブ（たとえば、リアルタイム）で発生し得る現実世界のイベントの３Ｄシーンのように、現実世界のシーンであり得る。そのような例では、３Ｄシーンは、現実世界のイベントに関連付けられた１つまたは複数の現実世界のオブジェクトを含み得、現実世界のイベントが発生すると、２Ｄカラーおよび深さデータ１０６がリアルタイムで獲得され得る。他の例では、３Ｄシーンは、１つまたは複数の仮想オブジェクトを含む仮想シーンであり得る。他の例では、３Ｄシーンは、融合現実シーンであり得、３Ｄシーンは、少なくとも１つの仮想オブジェクトと、少なくとも１つの現実世界のオブジェクトとを含み得る。３Ｄシーンは、３Ｄシーン内の各オブジェクトおよび／または表面が、現実または仮想に関わらず、３Ｄシーンおよび３Ｄシーン内の他のオブジェクトに関して３Ｄ空間で検出可能な位置を有しているため、３Ｄシーンと見なされ得る。
【００２０】
本明細書で使用するとき、「オブジェクト」は、実在するか否かに関わらず、３Ｄシーンの特定の観測点から見える（つまり、不透明な）ものをすべて含み得る。たとえば、３Ｄシーンが、バスケットボールの試合のような現実世界のイベントに対応している場合、オブジェクトは、試合に使用されているバスケットボール、バスケットボールコート、バスケットボールの標準物（バックボード、リム、ネット等）を含み得、試合に参加している選手と審判、および／または、バスケットボールの試合に存在する、および／または、関連付けられた他の任意のオブジェクトを含み得る。
【００２１】
本明細書で使用される「２Ｄカラーデータ」は、２Ｄカラーデータをキャプチャする少なくとも１つのデバイスの少なくとも１つの観測点から３Ｄシーンがどのように見えるかを表す任意のデータを広く含み得る。２Ｄカラーデータは、３Ｄシーンの色（たとえば、赤、緑、青等）表現、３Ｄシーンの白黒表現、３Ｄシーンのグレースケール表現、および／または、３Ｄシーンの外観の他の任意の適切な表現を含み得る。特定の例では、２Ｄカラーデータは、特定の期間にわたる観測点からの３Ｄシーン（たとえば、現実世界のイベントにおけるオブジェクト）の外観を表すキャプチャされた一連の画像（たとえば、高解像度静止画像）を含み得る。たとえば、２Ｄカラーデータは、ビデオのフレームが、フレームのピクセル座標における色値を表す３Ｄシーンの２Ｄカラービデオデータを含み得る。しかしながら、２Ｄカラーデータは、任意の特定のフォーマット、ファイルタイプ、フレームレート、解像度、品質レベル、または当該技術分野でビデオを定義する様々な定義および／または規格に関連付けられ得る他の特性に限定されない。
【００２２】
本明細書で使用される「深さデータ」は、３Ｄシーン内の１つまたは複数のオブジェクト（たとえば、現実世界のイベントにおける１つまたは複数のオブジェクト）の空間位置を表す任意のデータを広く含み得る。深さデータは、任意の適切な方式でフォーマットされ得る。特定の例では、後述されるように、深さデータは、特定の観測点からの一連の連続２Ｄ深さデータキャプチャ（たとえば、特定の時間にキャプチャされた深さデータの別個のインスタンス）としてフォーマットされ得る。たとえば、深さデータは、特定の観測点からの３Ｄシーンの２Ｄ深さビデオデータを含み得、ここで、ビデオのフレームは、フレームのピクセル座標における深さ値を表す。しかしながら、深さデータは、任意の特定のフォーマット、ファイルタイプ、フレームレート、解像度、品質レベル、または当該技術分野でビデオを定義する様々な定義および／または規格に関連付けられ得る他の特性に限定されない。好ましくは、深さデータは、高い精度および正確性を有する。しかしながら、深さデータは一般に、２Ｄカラーデータよりも低い解像度（たとえば、低いｘおよびｙ座標の解像度）を有し得るが、それでも許容できる。
【００２３】
深さデータは、２Ｄカラーデータと同期され得る。たとえば、深さデータにおける深さデータフレームと、カラーデータにおけるカラーデータフレームは、時間における共通のインスタンス（たとえば、同じ参照信号、タイムスタンプ、キャプチャ時間等）に対応し得る。そのような対応する深さデータフレームおよびカラーデータフレームは、他の観測点からキャプチャされた他の深さおよびカラーデータフレームの同期ペアおよび対応するメタデータとともに、部分３Ｄメッシュを生成、蓄積、およびブレンドして、仮想３Ｄ空間の画像ビューを形成するために、本明細書で記載されたような任意の適切な方式で、レンダリング機能１０２によって処理され得る、同期フレームのペアを形成し得る。
【００２４】
２Ｄカラーデータおよび深さデータは、３Ｄシーンに関して異なる観測点に配置された複数のキャプチャデバイスによってキャプチャされ得る。キャプチャデバイスは、たとえば、２Ｄビデオカメラ、３Ｄ深さスキャナ、組合せキャプチャデバイス（たとえば、２Ｄビデオと、関連付けられた深さデータとの両方をキャプチャするように構成されたデバイス）等を含み得る。複数のキャプチャデバイスに含まれる各キャプチャデバイスは、３Ｄシーンに関して特定の観測点から、３Ｄシーンの２Ｄカラーデータおよび深さデータをキャプチャし得る。本明細書で使用される「観測点」とは、複数のキャプチャデバイスに含まれる各キャプチャデバイスによって、３Ｄシーンの表面データがキャプチャされる、位置およびキャプチャ角度を称する。特定の例では、特定のキャプチャデバイスの観測点が固定され得る（すなわち、特定のキャプチャデバイスの位置と、特定のキャプチャデバイスのキャプチャ角度は、時間とともに変化しない）。あるいは、特定のキャプチャデバイスの位置とキャプチャ角度との１つまたは複数が、時間とともに変化し得る。たとえば、特定のキャプチャデバイスが固定されている装置が、３Ｄシーンに関して移動すると、特定のキャプチャデバイスの位置および／またはキャプチャ角度は、時間とともに変化し得る。観測点は、特定の実施に適し得るように、他の任意の適切な情報によって記載され得る。本明細書では、キャプチャデバイスの例示的な観測点が記載される。
【００２５】
複数のキャプチャデバイスは、特定の実施に役立ち得るように、任意の適切な方式で、任意の適切なデバイスを使用して、２Ｄカラーデータおよび深さデータをキャプチャし得る。特定の例では、キャプチャデバイスは、１つまたは複数の深さキャプチャ技術（たとえば、三角測量ベースの深さキャプチャ技術、立体深さキャプチャ技術等）を使用することによって、多数の観測点から、３Ｄシーンにおけるオブジェクトの２Ｄカラーデータをキャプチャし、そこから、オブジェクトの表面の深さデータがキャプチャ（たとえば、導出）され得る、ビデオカメラまたは他のタイプの画像キャプチャデバイスで構成され得る。
【００２６】
他の例では、キャプチャデバイスは、２Ｄカラーデータをキャプチャするように構成されたビデオカメラまたは他のタイプの画像キャプチャデバイスのみならず、深さキャプチャ技術（たとえば、飛行時間ベースの深さキャプチャ技術、赤外線ベースの深さキャプチャ技術等）の１つまたは複数を使用して、オブジェクトの表面の深さをキャプチャするように構成された別個の深さキャプチャデバイスを含み得る。たとえば、各キャプチャデバイスは、第１のコンポーネント（たとえば、ビデオカメラデバイス）が向けられているオブジェクトの２Ｄビデオをキャプチャするように構成された第１のコンポーネントと、第２のコンポーネント（たとえば、深さカメラデバイス、３Ｄイメージング、または３Ｄスキャンデバイス等）が向けられているオブジェクトの深さデータをキャプチャするように構成された第２のコンポーネントとを含み得る。この例では、第１のコンポーネントと第２のコンポーネントは、別個の、すなわち分離したデバイスであり得るが、２Ｄカラーデータと深さデータとの両方を同期的に（たとえば、同時に）キャプチャするために互いに連携して動作するように、通信可能に結合および構成され得る。
【００２７】
他の例では、各キャプチャデバイスは、２Ｄカラーデータと深さデータとの両方をキャプチャするように構成されたビデオ−深さ組合せキャプチャデバイス（たとえば、特別に設計されたビデオカメラ）を備え得る。ビデオ−深さ組合せキャプチャデバイスは、３Ｄシーン内のオブジェクトのビデオデータをキャプチャできるのみならず、１つまたは複数の適切な深さキャプチャ技術を使用して、オブジェクトの対応する深さをも検出できる、市販の、または特別に設計されたビデオカメラであり得る。
【００２８】
いくつかの例では、キャプチャデバイスは、有限のキャプチャ角度（たとえば、９０度、１２０度等）を有し得、３Ｄシーンのそれぞれのエリアから、データをキャプチャするように配置および方向付けされ得る。たとえば、キャプチャデバイスのリング構成が、３Ｄシーンまたは３Ｄシーンの１つまたは複数の部分（たとえば、バスケットボールコート、競技場の曲がり角）を囲むように配置され得、３Ｄシーンにおけるオブジェクトを表すデータをキャプチャするために内側に向けられ得る。同じまたは他の例では、少なくとも１つの特定のキャプチャデバイスは、３６０度のキャプチャ角度を有し得、特定のキャプチャデバイスの周囲のオブジェクトからデータをキャプチャするように配置され得る。たとえば、キャプチャデバイスの少なくとも１つは、３６０度カメラに対応する中心点の周りの３Ｄシーンの３６０度ビデオ画像をキャプチャおよび／または生成するように構成された３６０度カメラであり得る。本明細書では、３Ｄシーンに対するキャプチャデバイスの特定の例示的な構成が記載されているが、例は例示にすぎない。他の実施では、３Ｄシーンに対するキャプチャデバイスの任意の適切な構成が使用され得る。
【００２９】
複数のキャプチャデバイスは、本明細書に記載されたような任意の適切な方式で互いに通信可能に結合され（たとえば、ともにネットワーク化され）得るか、および／または、別のデバイスまたはシステム（たとえば、システム１００）に通信可能に結合され得る。これにより、キャプチャデバイスは、時間、位置、角度等の同期性を維持でき得る。たとえば、キャプチャデバイスは、各キャプチャデバイスが、共通の時間（たとえば、しきい時間範囲内）に、対応するデータをキャプチャすることと、異なるキャプチャデバイスによってキャプチャされたデータが、すべてのキャプチャデバイスによって共有される世界標準時間でタイムスタンプされ得ることとを保証するために、タイミング信号を送信および受信し得る。特定の例では、コントローラは、３Ｄシーンのデータをいつキャプチャおよび／または出力するかについて、キャプチャデバイスに指示し得る。他の例では、キャプチャデバイスは、３Ｄシーンのデータがいつキャプチャおよび／または出力されるのかを制御し得、任意の適切な機能は、キャプチャデバイスから受信したデータをソートおよび／または選択的に使用し得る。キャプチャデバイスがどのように同期的に機能し得るかのこれら例は、単なる例示である。他の実施では、任意の適切なデバイス同期および／または通信技術を使用して、３Ｄシーンのデータを同期的にキャプチャするキャプチャデバイスの動作を容易にし得る。特定の代替例では、複数のキャプチャデバイスの１つまたは複数が、非同期的に機能し得、３Ｄシーン用にキャプチャされたデータは、キャプチャ後に任意の適切な方式で処理および同期され得る。
【００３０】
メタデータ１０８は、３Ｄシーンの２Ｄカラーデータおよび深さデータとともに、仮想３Ｄ空間における３Ｄシーンの仮想表現を生成し、仮想３Ｄ空間内の任意の視点からの仮想３Ｄ空間の画像ビューを形成するために、レンダリング機能１０２によって使用され得る任意の情報を含み得る。たとえば、メタデータ１０８は、３Ｄシーンの２Ｄカラーデータおよび深さデータとともに、３Ｄシーンの２Ｄカラーデータおよび深さデータを、共通の仮想３Ｄ空間に投影し、仮想３Ｄ空間における３Ｄシーンの仮想表現を生成するために、レンダリング機能１０２によって使用され得る任意の情報を含み得る投影メタデータを含み得る。メタデータ１０８は、２Ｄカラーデータがいつキャプチャされたか、２Ｄカラーデータがキャプチャされた観測点、どのキャプチャデバイスが２Ｄカラーデータをキャプチャしたか等のように、３Ｄシーンの２Ｄカラーデータに関連付けられた時間的および空間的情報を示す情報を含み得るが、これらに限定されない。それに加えて、メタデータ１０８は、深さデータがキャプチャされたとき、深さデータがキャプチャされた場所、深さデータがキャプチャされた観測点、どのキャプチャデバイスが深さデータをキャプチャしたか等のように、３Ｄシーンの深さデータに関連付けられた時間的および空間的情報を示す情報を含み得る。メタデータ１０８はまた、視野情報（たとえば、焦点距離、光学中心、視野角、角度の接線等）、深さマッピング情報、位置情報、方位情報、視野角情報、並進情報、変換行列情報、各キャプチャデバイスのこのような情報のいずれかの変化、および／または、キャプチャデバイスの他の任意の固有および／または外部特性に関する情報を含み得る。いくつかの例では、メタデータ１０８は、座標系（たとえば、キャプチャデバイスおよび／またはシーンに関連付けられたローカル座標系）、投影パラメータ、投影計算、レンズ歪みパラメータ、および／または、本明細書で記載された手法の何れかにおいて、２Ｄカラーおよび深さデータを処理するために役立つ他の任意の情報に関する情報を含み得る。特定の例では、メタデータ１０８はまた、３Ｄシーンに関してキャプチャされたオーディオサンプルの位置情報をも含み得る。メタデータ１０８は、Ｊａｖａ  Ｓｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（「ＪＳＯＮ」）、拡張マークアップ言語（「ＸＭＬ」）のように、特定の実施に役立ち得るように、任意の適切なフォーマットで表され得る。本明細書では、メタデータ１０８の例示的なフォーマットが記載される。
【００３１】
没入型仮想現実コンテンツデータ１１０は、２Ｄカラーデータ、深さデータ、および３Ｄシーンに関連付けられたメタデータに基づいて、レンダリング機能１０２によって生成された、仮想現実コンテンツを表す任意のデータを含み得る。たとえば、仮想現実コンテンツデータ１１０は、仮想３Ｄ空間に投影される生成された部分３Ｄメッシュを表すデータ、仮想３Ｄ空間内の任意の視点からの仮想３Ｄ空間の生成された画像ビューを表すデータ、および／または、仮想３Ｄ空間内の任意の視点からの仮想３Ｄ空間内の３Ｄシーンの仮想表現の画像ビューを提供するためにレンダリング機能１０２によって生成され得る他の任意の適切なデータを含み得る。そのようなデータの例は、本明細書に記載されている。特定の例では、仮想現実コンテンツデータ１１０はまた、３Ｄシーンの生成された仮想表現に関連付けられたオーディオデータ、および／または、３Ｄシーンの生成された仮想表現に関連付けられた他の任意の適切なデータも含み得る。記憶機能１０４はさらに、レンダリング機能１０２によって使用され得る他の任意のデータを含み、特定の実施に役立ち得るように、仮想３Ｄ空間内の任意の視点から、仮想３Ｄ空間における３Ｄシーンの仮想表現の画像ビューを形成する。
【００３２】
レンダリング機能１０２は、仮想３Ｄ空間の画像ビューを形成するために、２Ｄカラーデータ、深さデータ、およびメタデータに基づいて、部分３Ｄメッシュを生成、蓄積、およびブレンドするために使用される任意のハードウェアおよび／またはソフトウェア（たとえば、コンピューティングシステム、ソフトウェアプログラム、グラフィック処理ハードウェア等）を含み得る。特定の例では、レンダリング機能１０２は、専用のビデオ復号ハードウェア（たとえば、１つまたは複数の専用のビデオデコーダ）およびプログラム可能なＧＰＵを有するグラフィックカードを含み得る。
【００３３】
レンダリング機能１０２は、３Ｄシーンに関して異なる観測点に配置された複数のキャプチャデバイスによってキャプチャされた２Ｄカラーデータおよび深さデータを受信し得る。レンダリング機能１０２はまた、２Ｄカラーデータおよび深さデータのメタデータ（たとえば、メタデータ１０８）を受信し得る。レンダリング機能１０２は、２Ｄカラーデータ、深さデータ、およびメタデータを、任意の適切な方式で、任意の適切なソースから受信し得る。例示するために、図２は、レンダリング機能１０２が、オブジェクト２０８を含む３Ｄシーン２０６に関して異なる観測点（たとえば、観測点２０４−１乃至２０４−ｎ）に物理的に配置された複数のキャプチャデバイス２０２（たとえば、キャプチャデバイス２０２−１乃至２０２−ｎ）からデータを受信する例示的な構成２００を示す。
【００３４】
複数のキャプチャデバイス２０２は、特定の実施に役立ち得る任意の手法で、３Ｄシーン２０６に関して固定位置に配置（すなわち、位置、設置等）され得る。たとえば、キャプチャデバイス２０２は、現実世界のイベントまたは現実世界のイベントの１つまたは複数の部分を囲む（たとえば、バスケットボールの試合におけるバスケットボールコートのように、スポーツイベントの競技場を囲むまたは部分的に囲む）固定位置に配置され得る。
【００３５】
図２に示す例では、観測点２０４のおのおのは、３Ｄシーン２０６および３Ｄシーン２０６におけるオブジェクト２０８の異なる制限されたビューを提供する。たとえば、キャプチャデバイス２０２−２の観測点２０４−２は、オブジェクト２０８の上方からのビューを提供し得る。観測点２０４−２から、キャプチャデバイス２０２−２は、オブジェクト２０８の底面の２Ｄカラーデータおよび深さデータをキャプチャできない可能性がある。しかしながら、キャプチャデバイス２０２−１は、オブジェクト２０８の下方に配置され、観測点２０４−１からオブジェクト２０８の底面の２Ｄカラーデータおよび深さデータをキャプチャでき得る。したがって、キャプチャデバイス２０２は、オブジェクト２０８のすべての表面の２Ｄカラーデータおよび深さデータを、組み合わせてキャプチャするように構成され得る。キャプチャデバイス２０２は、本明細書に記載されたような任意の適切な方式で、互いにおよびレンダリング機能１０２に通信可能に結合され得る。
【００３６】
図２に示されるように、レンダリング機能１０２は、２Ｄカラーデータ２１０、深さデータ２１２、およびメタデータ２１４を受信し得る。レンダリング機能１０２は、任意の適切なデータ通信チャネルおよび／または技術を使用して、キャプチャデバイス２０２から直接的または間接的に、２Ｄカラーデータ２１０、深さデータ２１２、およびメタデータ２１４を受信し得る。特定の例では、レンダリング機能１０２は、１つまたは複数の適切なデータ通信ネットワークを介して、キャプチャデバイス２０２から、２Ｄカラーデータ２１０、深さデータ２１２、およびメタデータ２１４を受信し得る。たとえば、レンダリング機能１０２は、ストリーミングビデオおよび／または他のデータ（たとえば、Ａｍａｚｏｎ  Ｗｅｂ  Ｓｅｒｖｉｃｅによって運営されるＣＤＮ）を伝送することが可能なＣＤＮのようなコンテンツ配信ネットワーク（「ＣＤＮ」）を経由して、２Ｄカラーデータ２１０、深さデータ２１２、およびメタデータ２１４の少なくとも一部を受信し得る。本明細書には、レンダリング機能１０２が、２Ｄカラーデータ２１０、深さデータ２１２、およびメタデータ２１４を受信し得る例示的なデータ通信ネットワークが記載されている。
【００３７】
レンダリング機能１０２によって受信された２Ｄカラーデータ２１０、深さデータ２１２、およびメタデータ２１４は、任意の適切なデータフォーマットおよび／またはデータ通信プロトコル、フォーマット、および技術を使用して表現され得る。そのようなデータフォーマットおよび通信ストリームの例は、本明細書に記載されている。
【００３８】
３Ｄシーンの受信データ（たとえば、３Ｄシーンのメタデータおよび深さデータ）に基づいて、レンダリング機能１０２は、３Ｄシーンに関連付けられた各それぞれのキャプチャデバイスに関連付けられた各観測点について、仮想３Ｄ空間における３Ｄシーンの部分表現を作成するために、仮想３Ｄ空間へ投影される部分３Ｄメッシュを生成し得る。図２に関して、たとえば、受信されたメタデータ２１４および受信された深さデータ２１２に基づいて、レンダリング機能１０２は、キャプチャデバイス２０２のおのおのにそれぞれ関連付けられた観測点２０４のおのおのについて、仮想３Ｄ空間における３Ｄシーン２０６（したがってオブジェクト２０８）の部分表現を作成するために、仮想３Ｄ空間に投影される部分３Ｄメッシュを生成し得る。
【００３９】
本明細書で使用される場合、「仮想３Ｄ空間」は、仮想３Ｄ世界の３Ｄ空間を表し得、仮想３Ｄ世界座標のセットに基づいて表され得る。仮想３Ｄ空間は、３Ｄ空間にキャプチャされた３Ｄシーンの部分的な仮想表現を作成するために、３Ｄ空間に投影される部分３Ｄメッシュを収容できる任意の適切な３Ｄ空間であると定義され得る。特定の例では、レンダリング機能１０２は、各キャプチャデバイスの各観測点の深さマッピング範囲、視野、および変換行列に関する情報のようなメタデータに少なくとも部分的に基づいて仮想３Ｄ空間を定義し得る。
【００４０】
仮想３Ｄ空間に投影される部分３Ｄメッシュは、仮想３Ｄ空間内の３Ｄ座標に投影される頂点のセットによって相互接続する、および／または、形成される、幾何学プリミティブ（たとえば、三角形、点、線、多角形、複雑な幾何学形状等）のメッシュを含み得る。そのため、３Ｄシーンの深さデータに基づいて仮想３Ｄ空間に投影される部分３Ｄメッシュは、３Ｄシーン（たとえば、３Ｄシーン２０６）の、したがって、３Ｄシーン内の１つまたは複数のオブジェクト（たとえば、３Ｄシーン２０６内のオブジェクト２０８）の部分的な仮想表現を作成し得る。３Ｄシーンの部分的な仮想表現は、３Ｄシーンの部分的な仮想再構築と称され得、３Ｄシーン内の１つまたは複数のオブジェクトの表面を仮想的に表し得る。本明細書で使用される「部分３Ｄメッシュ」は、部分的な３Ｄメッシュであり、３Ｄシーン全体に対する単一の凝集した３Ｄメッシュではなく、そこでは、部分３Ｄメッシュは、３Ｄシーンの部分的なビューのみ、すなわち、単一のそれぞれのキャプチャデバイスに関連付けられた単一の観測点からのビューを表す。本明細書に記載されたように、レンダリング機能１０２は、３Ｄシーンの単一の凝集した３Ｄメッシュのように、３Ｄシーンの完全な３Ｄモデルを構築または使用する必要なく、仮想現実コンテンツをレンダリングするために、部分３Ｄメッシュを個別に、または、複数の部分３Ｄメッシュを、生成および使用し得る。本明細書では、レンダリング機能１０２によって生成され得る部分３Ｄメッシュの例が記載される。
【００４１】
特定の例では、仮想３Ｄ空間に投影される部分３Ｄメッシュは、部分３Ｄメッシュに関連付けられたキャプチャされた３Ｄシーンの２Ｄカラーデータからのカラーサンプルなしで、仮想３Ｄ空間においてキャプチャされた３Ｄシーンの部分的な幾何学表現を作成し得る。他の例では、仮想３Ｄ空間に投影される部分３Ｄメッシュは、部分３Ｄメッシュに関連付けられたキャプチャされた３Ｄシーンの２Ｄカラーデータからのカラーサンプルを用いて、仮想３Ｄ空間においてキャプチャされた３Ｄシーンの部分的な幾何学表現を作成し得る。したがって、特定の例では、仮想３Ｄ空間に投影される部分３Ｄメッシュを生成することはさらに、受信した２Ｄカラーデータ２１０に基づいて、２Ｄカラーデータ２１０からのカラーサンプルを、部分３Ｄメッシュを生成することの一部として仮想３Ｄ空間に投影される部分３Ｄメッシュの頂点および／またはプリミティブに関連付けるためであり得る。他の例では、レンダリング機能１０２は、（部分３Ｄメッシュが生成された後）部分３Ｄメッシュを生成することとは別個の、１つまたは複数の動作を実行して、２Ｄカラーデータ２１０からのカラーサンプルを、仮想３Ｄ空間に投影される３Ｄメッシュの頂点および／またはプリミティブに関連付け得る。
【００４２】
レンダリング機能１０２は、任意の適切な方式で、３Ｄシーンの各観測点について部分３Ｄメッシュを生成し得る。たとえば、レンダリング機能１０２は、メモリ内でインスタンスを作成し、２Ｄ入力メッシュを、レンダリング機能１０２によって受信された深さデータに基づいて、透視線に沿って、仮想３Ｄ空間内の深さに投影し得る。２Ｄ入力メッシュは、頂点を相互接続する幾何学プリミティブのセットを形成するために、２Ｄ平面内の正規化された座標のグリッドに配置された頂点のセットを含み得る。たとえば、２Ｄ入力メッシュは、頂点と端部を相互接続し、任意の所定の範囲（たとえば、１つまたは複数の計算を簡略化し得る符号付きの正規化された範囲［−１，１］）をカバーすることによって形成される、頂点と幾何学プリミティブ（たとえば、三角形、点、線、多角形、複雑な幾何学形状等）の２Ｄグリッドを含み得る。本明細書では、例示的な２Ｄ入力メッシュが記載される。
【００４３】
レンダリング機能１０２は、レンダリング機能１０２によって受信され、観測点に関連付けられた深さデータに基づいて、２Ｄ入力メッシュを、観測点から、透視線に沿って、仮想３Ｄ空間内の深さに投影し得る。たとえば、レンダリング機能１０２は、２Ｄ入力メッシュの頂点を仮想３Ｄ空間内の深さに投影して、仮想３Ｄ空間内の頂点の３Ｄ座標を決定し得る。２Ｄ入力メッシュの頂点の３Ｄ座標への投影は、２Ｄ入力メッシュのプリミティブの形状、方位、深さ等を決定し得、２Ｄ入力メッシュを、仮想３Ｄ空間に投影される部分３Ｄメッシュに変換し得、これによって、仮想３Ｄメッシュのプリミティブが、仮想３Ｄ空間内に配置され、キャプチャされた３Ｄシーンに含まれる１つまたは複数のオブジェクトの表面を仮想的に表すことができる。特定の例では、仮想３Ｄ空間内の２Ｄ入力メッシュの頂点の投影は、２Ｄキャプチャ画像（たとえば、レンダリング機能１０２によって受信された２Ｄカラーデータおよび／または深さデータ）を、（たとえば、レンダリング機能１０２によって受信されたメタデータに含まれる変換行列を使用して）仮想３Ｄ空間に関連付けられた３Ｄ世界座標系へ変換することを含む。
【００４４】
次に、部分３Ｄメッシュを生成するレンダリング機能１０２の例が、図３〜図１０を参照して記載される。図３は、異なるそれぞれの観測点２０４−１乃至２０４−３に配置されたキャプチャデバイス２０２−１乃至２０２−３を示し、そこからキャプチャデバイス２０２−１乃至２０２−３は、３Ｄシーン２０６内のオブジェクト２０８の特定の表面３０２（たとえば、表面３０２−１および表面３０２−２）に関連付けられた深さデータおよび２Ｄカラーデータをキャプチャし得る。説明を簡単にするために、３つのキャプチャデバイス２０２が、図３に示され、図３は、オブジェクト２０８に対する３つのそれぞれの観測点２０４−１乃至２０４−３を有する３つのキャプチャデバイス２０２−１乃至２０２−３に関する３Ｄシーン２０６内のオブジェクト２０８の断面図である。したがって、立方体２０８、キャプチャデバイス２０２、および観測点２０４の間の関係は、図３において２次元（たとえば、ｘ−ｙ−ｚ座標系によって表される３Ｄシーン２０６のｘ−ｚ平面内）で示される。しかしながら、特定の実施に適し得るように、オブジェクト２０８および／または３Ｄシーン２０６に関して任意の数のキャプチャデバイス２０２が提供され得、２Ｄ断面図に関して記載された原理が、オブジェクト２０８と、様々な観測点２０４を有するキャプチャデバイス２０２との間の３Ｄ関係に適合することを理解されたい。
【００４５】
レンダリング機能１０２は、キャプチャデバイス２０２−１乃至２０２−３によってキャプチャされた２Ｄカラーデータおよび深さデータ、ならびに２Ｄカラーデータおよび深さデータのメタデータを受信し、受信したデータを使用して、キャプチャデバイス２０２−１乃至２０２−３のおのおのの観測点２０４−１乃至２０４−３のおのおのの部分３Ｄメッシュを生成し得る。部分３Ｄメッシュを生成するために、レンダリング機能１０２は、メモリ内で各２Ｄ入力メッシュをインスタンス化すること等により、観測点２０４−１乃至２０４−３のおのおのの２Ｄ入力メッシュを生成し得る。図４は、レンダリング機能１０２により生成され得る例示的な２Ｄ入力メッシュ４０２（たとえば、２Ｄ入力メッシュ４０２−１乃至４０２−３）を示す。図４に示す例では、２Ｄ入力メッシュ４０２−１は観測点２０４−１に関連付けられ、２Ｄ入力メッシュ４０２−２は観測点２０４−２に関連付けられ、２Ｄ入力メッシュ４０４−３は観測点２０４−３に関連付けられる。図示される例では、各２Ｄ入力メッシュは、２Ｄ平面に配置された三角形のグリッドであり、各三角形（たとえば、三角形４０４）は、プリミティブ（すなわち、幾何学形状を有する面）を表し、三角形の各点は、２Ｄ平面における座標（たとえば、正規化された座標）に位置する頂点（たとえば、頂点４０６）を表す。図４に示す例では、２Ｄ入力メッシュ４０２はおのおの、特定の高さ（たとえば、４つの頂点または３つのプリミティブ）および特定の長さ（たとえば、８つの頂点または７つのプリミティブ）を有する長方形の形状である。しかしながら、２Ｄ入力メッシュは、任意の適切なアスペクト比、サイズ、および／または形状を有し得、特定の実施に適し得るように、任意の適切な頂点およびプリミティブの任意の適切な２Ｄ配置を使用し得る。
【００４６】
レンダリング機能１０２は、任意の適切な方式で仮想３Ｄ空間内に２Ｄ入力メッシュを投影し得る。たとえば、レンダリング機能１０２は、レンダリング機能１０２によって受信された深さデータに基づいて、仮想３Ｄ空間内の深さに、それぞれの観測点に関連付けられた透視線に沿って２Ｄ入力メッシュを投影し得る。説明のために、図５〜図７は、仮想３Ｄ空間５０４内の透視線５０２（たとえば、透視線５０２−１乃至５０２−３）に沿った２Ｄ入力メッシュ４０２（たとえば、２Ｄ入力メッシュ４０２−１乃至４０２−３）の例示的な投影を示す。図５〜図７に示す例では、仮想３Ｄ空間５０４および２Ｄ入力メッシュ４０２は、２Ｄ入力メッシュ４０２の頂点を表す２Ｄ入力メッシュ４０２の各円形ドットを伴う断面図（たとえば、ｘ−ｙ−ｚ座標系によって表される仮想３Ｄ空間５０４のｘ−ｚ平面の図）に示される。図５〜図７は、長方形である仮想３Ｄ空間５０４の断面を示しているが、これは例示にすぎない。仮想３Ｄ空間は、任意の適切な形状を有し得る。
【００４７】
図５は、観測点２０４−１に関連付けられたキャプチャデバイス２０２−１によってキャプチャされ、レンダリング機能１０２により受信された、深さデータによって表された仮想３Ｄ空間５０４内の深さへ観測点２０４−１に関連付けられた複数の透視線５０２−１に沿った２Ｄ入力メッシュ４０２−１の投影を示す。深さデータは、観測点２０４−１からのキャプチャデバイス２０２−１の視野内にあり、観測点２０４−１からのキャプチャデバイス２０２−１によって検出された、キャプチャされた３Ｄシーンに含まれる１つまたは複数のオブジェクトの表面を表し得る。図５は、キャプチャされた３Ｄシーン内のオブジェクトの表面の位置を表すために、オブジェクト２０８の破線表現５０６（たとえば、立方体の断面図）および別のオブジェクトの破線表現５０８（たとえば、後壁の断面図）を示す。オブジェクトの表面の位置は、キャプチャされた深さデータとして表され、レンダリング機能１０２は、この深さデータを使用して、２Ｄ入力メッシュ４０２−１の頂点を、キャプチャされた３Ｄシーン内のオブジェクトの表面の検出位置に揃えられた仮想３Ｄ空間５０４内の３Ｄ座標に投影し得る。
【００４８】
図６は、同様に、観測点２０４−２に関連付けられたキャプチャデバイス２０２−２によってキャプチャされ、レンダリング機能１０２により受信された、深さデータによって表された仮想３Ｄ空間５０４内の深さへ、観測点２０４−１に関連付けられた複数の透視線５０２−２に沿った２Ｄ入力メッシュ４０２−２の投影を示す。図７は、同様に、観測点２０４−３に関連付けられたキャプチャデバイス２０２−３によってキャプチャされ、レンダリング機能１０２により受信された、深さデータによって表された仮想３Ｄ空間５０４内の深さへの、観測点２０４−３に関連付けられた複数の透視線５０２−３に沿った２Ｄ入力メッシュ４０２−３の投影を示す。
【００４９】
図５〜図７に示す例では、投影される２Ｄ入力メッシュ４０２は、キャプチャされた３Ｄシーンに含まれるオブジェクトの表面の少なくとも一部を仮想的に表す部分３Ｄメッシュ５１０（たとえば、部分３Ｄメッシュ５１０−１乃至５１０−３）を形成する。部分３Ｄメッシュ５１０は、仮想３Ｄ空間５０４の３Ｄ座標に配置された頂点を含む。３Ｄ座標に配置された頂点は、部分３Ｄメッシュのプリミティブの特性（サイズ、位置、方向等）を定義するので、頂点およびプリミティブは、仮想３Ｄ空間５０４内で、キャプチャ３Ｄシーンにおいてオブジェクトの表面の位置を仮想的に表すことができる。
【００５０】
図５〜図７に示される例示的な２Ｄ入力メッシュ４０２および対応する部分３Ｄメッシュ５１０は、例示目的のみのために提供される。実際には、２Ｄ入力メッシュの断面は、図５〜図７に示される各２Ｄ入力メッシュに対して示される８つの頂点よりも多くの頂点を有し得ることが理解される。
【００５１】
図５〜図７に示されるように、部分３Ｄメッシュの頂点は、キャプチャされた３Ｄシーンに含まれる異なるオブジェクトの表面に関連付けられた仮想３Ｄ空間５０４内の深さに投影され得る。たとえば、図５において、部分３Ｄメッシュ５１０−１の８つの断面頂点のうち５つは、キャプチャされた３Ｄシーン内のオブジェクト２０８の表面（オブジェクト２０８の破線表現５０６として表される）に関連付けられた深さに投影される一方、部分３Ｄメッシュ５１０−１の断面頂点の他の３つは、たとえば、キャプチャされた３Ｄシーンの後壁の表面（別のオブジェクトの破線表現５０８として表される）に関連付けられた深さに投影される。同様に、図６および図７において、部分３Ｄメッシュの頂点が、キャプチャされた３Ｄシーンに含まれるオブジェクトの表面に関連付けられた仮想３Ｄ空間５０４内の深さに投影される。
【００５２】
仮想３Ｄ空間内の２Ｄ入力メッシュの投影は、仮想３Ｄ空間においてキャプチャされたシーンまたはオブジェクトの部分的な仮想表現を生成するのに役立たない、または、信頼できない、１つまたは複数のプリミティブを含む部分３Ｄメッシュを作成し得る。したがって、レンダリング機能１０２は、部分３Ｄメッシュから、役立たない、および／または、信頼できない、プリミティブを識別および除去するために、１つまたは複数の動作を実行し得る。このようなプリミティブは、無関係なプリミティブと称され得、キャプチャされた３Ｄシーンのオブジェクトの表面を、十分な信頼性で正確に表すことができない任意のプリミティブを含む場合があり、この信頼性しきい値は、特定のアプリケーションに適合し得るように定義され得る。
【００５３】
例として、部分３Ｄメッシュは、おのおのが、１つのオブジェクトの表面に投影される頂点と、別のオブジェクトの表面に投影される頂点との間の距離におよぶ、１つまたは複数のプリミティブを含み得る。そのようなオブジェクト間プリミティブは、キャプチャされた３Ｄシーン内のオブジェクトの表面を正確に表さない場合があるため、オブジェクトの部分的な仮想表現を生成するのに役立たない場合がある。図５は、たとえば、プリミティブ５１２が、破線表現５０６によって表される立方体オブジェクトの表面に投影された頂点、および破線表現５０８によって表された後壁オブジェクトの表面に投影された頂点からの距離におよぶことを示す。したがって、プリミティブ５１２は、立方体オブジェクト２０８の、または後壁オブジェクトの表面を表さない場合がある。したがって、プリミティブ５１２は、オブジェクト２０８の、または仮想３Ｄ空間内の後壁オブジェクトの部分的な仮想表現を生成するのに役に立たない。
【００５４】
レンダリング機能１０２は、１つまたは複数の動作を実行して、プリミティブ５１２のような無関係なプリミティブを、部分３Ｄメッシュから識別および除去し得る。そのような動作は、レンダリング機能１０２が、各部分３Ｄメッシュについて、部分３Ｄメッシュのプリミティブの１つまたは複数を、無関係なプリミティブとして識別し、識別された無関係なプリミティブを、各部分３Ｄメッシュから除去することを含み得る。レンダリング機能１０２は、任意の適切な手法で、部分３Ｄメッシュから無関係なプリミティブを識別および除去し得、その例がここに記載される。
【００５５】
特定の例では、レンダリング機能１０２は、所定の深さ変化しきい値を超える深さ変化を有するプリミティブに少なくとも部分的に基づいて、部分３Ｄメッシュのプリミティブを無関係なプリミティブとして識別し得る。所定の深さ変化しきい値は、任意の適切な方式で事前に決定され得、特定の実施に従って、任意の適切な値を有し得る。特定の例では、所定の深さ変化しきい値は、プリミティブが有し得る深さ変化の最大量を表すことができ、それでも、３Ｄシーン内のオブジェクトの表面を表しているとして考慮され得る。
【００５６】
図８は、部分３Ｄメッシュ５１０−２に含まれる特定のプリミティブが、所定の深さ変化しきい値を超える深さ変化を有する例を示す。図８に示されるように、部分３Ｄメッシュ５１０−２は、プリミティブ８０２（たとえば、プリミティブ８０２−１乃至８０２−７）を含む。プリミティブ８０２のうち、プリミティブ８０２−２および８０２−６はおのおの、所定の深さ変化しきい値を超えるそれぞれの深さ変化８０４（たとえば、深さ変化８０４−１および８０４−２）を有し得る。深さ変化８０４のため、レンダリング機能１０２は、プリミティブ８０２−２および８０２−６が、キャプチャされた３Ｄシーン内のオブジェクト（たとえば、オブジェクト２０８または後壁オブジェクト）の表面を正確に表さないと判定し得る。したがって、レンダリング機能１０２は、プリミティブ８０２−２および８０２−６を無関係なプリミティブとして識別し得、任意の適切な方式で部分３Ｄメッシュ５１０−２からプリミティブ８０２−２および８０２−６を除去し得る。プリミティブ８０２−２および８０２−６は、レンダリング機能１０２によって除去されたことを示すために、図８において点線で示されている。
【００５７】
追加的または代替的に、レンダリング機能１０２は、所定の近平面または所定の遠平面の範囲外にあるプリミティブに少なくとも部分的に基づいて、部分３Ｄメッシュのプリミティブを無関係なプリミティブとして識別し得る。レンダリング機能１０２は、メタデータ（たとえば、メタデータに含まれる深さマッピング範囲）、観測点、および／または深さデータ等に基づいて、任意の適切な方式で事前に所定の近平面および所定の遠平面を定義し得る。
【００５８】
図９は、部分３Ｄメッシュ５１０−２のプリミティブ８０２が、所定の近平面９０２および所定の遠平面９０４に関して示される例を示す。図９に示す例では、レンダリング機能１０２は、所定の近平面９０２が、破線表現５０６により表される最近接深さ点の深さ値、または所定のオフセットを差し引いた最近接深さ点の深さ値に対応していることを判定し得る。プリミティブのすべてまたは一部が、所定の近平面９０２と観測点２０４−２との間に位置する場合、レンダリング機能１０２は、そのプリミティブが無関係なプリミティブであると判定し得る。同様に、プリミティブのすべてまたは一部が、遠平面９０４上にまたは遠平面９０４を超えて（観測点２０４−２から離れて）位置する場合、レンダリング機能１０２は、そのプリミティブが無関係なプリミティブであると判定し得る。図９に示す例のように、プリミティブ８０２−２および８０２−６の少なくとも一部は、遠平面９０４を超えて位置している。それに加えて、プリミティブ８０２−１および８０２−７は、遠平面９０４を完全に超えて位置している。したがって、レンダリング機能１０２は、プリミティブ８０２−１、８０２−２、８０２−６、および８０２−７が無関係なプリミティブであると判定し、それらを、部分３Ｄメッシュ５１０−２から、任意の適切な方式で除去し得る。プリミティブ８０２−１、８０２−２、８０２−６、および８０２−７は、図９において点線で示され、これらは、レンダリング機能１０２によって除去されたことを示す。
【００５９】
追加的または代替的に、レンダリング機能１０２は、部分３Ｄメッシュに関連付けられたそれぞれの観測点に面していない表面を有するプリミティブに少なくとも部分的に基づいて、プリミティブを無関係なプリミティブとして識別し得る。レンダリング機能１０２は、プリミティブが、適切な方式でそれぞれの観測点に面していない表面を有するか否かを判定し得る。たとえば、レンダリング機能１０２は、プリミティブの表面法線と、対応する観測点からの対応する透視線との間の関係に基づいて、プリミティブが、対応する観測点に面していないことを判定し得る。たとえば、レンダリング機能１０２は、コサインシータまたはドット積計算を実行して、プリミティブの表面が、それぞれの観測点に面しているか否かを判定し得る。コサインシータまたはドット積計算の結果が、特定の値である場合、レンダリング機能１０２は、プリミティブの表面が、観測点から離れた方向（たとえば、観測点の透視線に直交する方向）を向いていると判定し得る。したがって、レンダリング機能１０２は、そのようなプリミティブを無関係なプリミティブとして識別し得る。
【００６０】
図１０は、部分３Ｄメッシュ５１０−２の各プリミティブ８０２に対して表面法線矢印が示され、プリミティブ８０２の表面が面し得る方向を示す例を示している。図１０に示す例では、レンダリング機能１０２は、プリミティブ８０２−２および８０２−６が、観測点２０４−２に面しない表面を有することを判定するために、任意の適切な計算を実行し得る。したがって、レンダリング機能１０２は、プリミティブ８０２−２および８０２−６を無関係なプリミティブとして識別し、それらを、任意の適切な方式で、部分３Ｄメッシュ５１０−２から除去し得る。
【００６１】
前述の例では、レンダリング機能１０２は、対応する透視線と、表面の表面法線との間の角度が、直角以上である場合、プリミティブの表面が、対応する観測点から離れる方向を向いていると判定し得る。他の特定の例では、レンダリング機能１０２は、特定の実施に適し得るように、対応する観測点の透視線に関して直交する所定の範囲内にある表面に基づいて、プリミティブの表面が、観測点に面していないと判定し得る。したがって、レンダリング機能１０２は、所定の角度よりも大きい角度で、観測点の透視線に対して角度付けられた表面を有するプリミティブを識別および除去し得る。
【００６２】
レンダリング機能１０２は、前述のような１つまたは複数の動作を実行して、部分３Ｄメッシュを生成し得る。特定の例では、生成された部分３Ｄメッシュは、前述のように、観測点の深さデータによって定義された深さへの２Ｄ入力メッシュの投影によって作成された、すべてのプリミティブを含み得る。他の例では、プリミティブの１つまたは複数が、無関係なプリミティブとして識別され、部分３Ｄメッシュから除去され得るので、生成された部分３Ｄメッシュは、観測点のために深さデータによって定義された深さへの２Ｄ入力メッシュの投影によって作成される、プリミティブのすべてよりも少ないプリミティブを含み得、生成された部分３Ｄメッシュとして、プリミティブのサブセットを残す。たとえば、特定のプリミティブ８０２は、図９に示される部分３Ｄメッシュ５１０−２から除去され、これによって、プリミティブ８０２−３乃至８０２−５のみが残る。このような動作は、それぞれの観測点に対応する任意の数の部分３Ｄメッシュに対して実行され得る。したがって、レンダリング機能１０２は、利用可能な観測点のすべてまたはサブセットについて、仮想３Ｄ空間に投影される部分３Ｄメッシュを生成し、キャプチャされた３Ｄシーン内の１つまたは複数のオブジェクト（たとえば、３Ｄシーン２０６内のオブジェクト２０８）の部分仮想表現を作成し得、これは、仮想３Ｄ空間内の任意の視点から仮想３Ｄ空間内の部分仮想表現の画像ビューを生成するために、レンダリング機能１０２によって使用され得る。
【００６３】
レンダリング機能１０２は、各部分３Ｄメッシュを個別に生成および使用し得、各部分３Ｄメッシュは、３Ｄシーンの部分的な仮想表現のみを表し得る。たとえば、図９に例示されるような部分３Ｄメッシュ５１０−２は、プリミティブ８０２−３、８０２−４、および８０２−５を含むように、３Ｄシーン２０６内のオブジェクト２０８の表面を部分的にのみ表す。この意味において、部分３Ｄメッシュ５１０−２は、仮想オブジェクト全体または仮想３Ｄ世界のための、単一の凝集したメッシュとは対照的な、部分メッシュと考慮され得る。レンダリング機能１０２は、部分３Ｄメッシュを個別に生成および使用し得るが、部分３Ｄメッシュは、共通の仮想３Ｄ空間に投影されるため、部分３Ｄメッシュは、キャプチャされた３Ｄシーン内のオブジェクトのすべての表面またはすべての関連する表面を集合的に表し得る。
【００６４】
図１１は、仮想３Ｄ空間５０４に投影された複数の部分３Ｄメッシュ１１０２（たとえば、部分３Ｄメッシュ１１０２−１乃至１１０２−３）の断面図を示す。図１１に示す例では、各部分３Ｄメッシュ１１０２の頂点は、他の部分の３Ｄメッシュ１１０２の頂点とは異なる形状のインジケータによって表される。たとえば、部分３Ｄメッシュ１１０２−１の頂点が、三角形インジケータによって表され、部分３Ｄメッシュ１１０２−２の頂点が、円インジケータによって表され、部分３Ｄメッシュ１１０２−３の頂点が、四角形インジケータによって表される。頂点は、図１１における異なる形状で表され、部分３Ｄメッシュ１１０２を区別し、各部分３Ｄメッシュ１１０２は、個々の、別個の部分３Ｄメッシュであることを示す。
【００６５】
それに加えて、部分３Ｄメッシュ１１０２は、例示を明確にするために、互いに隣接し、先頭が互いに整列していないものとして、図１１に示される。実際には、部分３Ｄメッシュ１１０２は、キャプチャされた３Ｄシーン２０６内のオブジェクト２０８の表面の位置を表す深さデータに基づいて仮想３Ｄ空間５０４内の同じ深さに投影されている頂点の１つまたは複数に基づいて、互いの先頭において、オブジェクト２０８の破線表現５０６と、整列し得ることが理解される。たとえば、部分３Ｄメッシュ１１０２−１および１１０２−３は、図１１におけるオブジェクト２０８の部分３Ｄメッシュ１１０２−２および破線表現５０６のわずかに前に位置するように示され、これは、例示の明確化のためである。実際には、部分３Ｄメッシュ１１０２−１および１１０２−３は、オブジェクト２０８の部分３Ｄメッシュ１１０２−２および破線表現５０６と、より密に整列する。
【００６６】
図１１は、個々の部分３Ｄメッシュが重畳され、仮想３Ｄ空間内に共通の空間位置を共有する重複セクションを有するように、個々の部分３Ｄメッシュが、共通の仮想３Ｄ空間に投影され得ることを示す。部分３Ｄメッシュのセクションが、仮想３Ｄ空間内の共通の空間位置を共有する場合、部分３Ｄメッシュのセクションは、重複していると見なされ得る。たとえば、部分３Ｄメッシュ１１０２−２のプリミティブ１１０４および部分３Ｄメッシュ１１０２−１のセクション１１０６は、仮想３Ｄ空間５０４内のオブジェクト２０８の表面を表す共通の空間位置と整列したときに重複し得る。
【００６７】
図１１は、仮想３Ｄ空間に投影された３つの部分３Ｄメッシュ１１０２−１乃至１１０２−３を示す。部分３Ｄメッシュ１１０２−１乃至１１０２−３は、図２に示す構成２００において、キャプチャデバイス２０２−１乃至２０２−３の観測点２０４−１乃至２０４−３に基づいて、前述した手法のいずれかにおいて、レンダリング機能１０２によって生成された部分３Ｄメッシュであり得る。しかしながら、３Ｄシーンに対する観測点を有するキャプチャデバイスの任意の適切な構成のための任意の適切な数の部分３Ｄメッシュは、仮想３Ｄ空間内の３Ｄシーンの部分仮想表現を作成するために、共通の仮想３Ｄ空間に投影され得る。たとえば、追加のキャプチャデバイスが、３Ｄシーンにおけるオブジェクト２０８に対する追加の観測点を有する構成に関し、レンダリング機能１０２は、仮想３Ｄ空間５０４におけるオブジェクト２０８の追加の表面を仮想的に表すために、追加の観測点のための仮想３Ｄ空間５０４内に投影された追加の部分３Ｄメッシュを生成し得る。例示のために、図１２は、仮想３Ｄ空間５０４内に投影された複数の部分３Ｄメッシュ１２０２（たとえば、部分３Ｄメッシュ１２０１−１乃至１２０２−６）の断面図を示す。図１２は、図１２が、仮想３Ｄ空間５０４に投影された６つの観測点に関連付けられた６つの部分３Ｄメッシュ１２０２を示すことを除いて、図１１と同様である。
【００６８】
特定の例では、レンダリング機能１０２は、キャプチャされた３Ｄ空間に対する利用可能なすべての観測点のために共通の仮想３Ｄ空間へ投影される部分３Ｄメッシュを生成し得る。他の例では、レンダリング機能１０２は、キャプチャされた３Ｄ空間に対して利用可能なすべての観測点のサブセットのみのために、共通の仮想３Ｄ空間に投影される部分３Ｄメッシュを生成し得る。レンダリング機能１０２は、利用可能な観測点のサブセットのみのためのデータを受信するので、または、レンダリング機能１０２は、仮想３Ｄ空間内の任意の視点のための最も信頼性の高いデータを提供する観測点のように、最も好ましい観測点のサブセットのためのデータを選択および処理し得るので、レンダリング機能１０２は、利用可能な観測点のサブセットのみのための部分３Ｄメッシュを生成し得る。
【００６９】
レンダリング機能１０２は、仮想３Ｄ空間内の任意の視点から、仮想３Ｄ空間の画像ビューを生成するために、仮想３Ｄ空間に投影される、生成された部分３Ｄメッシュを使用し得る。前述のように、仮想３Ｄ空間に投影される部分３Ｄメッシュは、キャプチャされた３Ｄシーンの部分仮想表現（すなわち、３Ｄシーンにおける１つまたは複数のオブジェクトの部分仮想再構築）を作成するので、画像ビューは、仮想３Ｄ空間内の任意の視点からの３Ｄシーンの部分仮想表現の透視図を表し得る。生成された画像ビューは、仮想３Ｄ空間５０４における３Ｄ座標から、画像平面における２Ｄ画像座標のセットへマッピングされた（たとえば、ラスタライズされた）データ（たとえば、フラグメントを表すデータ）として含む任意の適切な手法で表され得、これによって、データは、２Ｄディスプレイスクリーンにおける表示のために、画像ビューを表すディスプレイスクリーンデータ（たとえば、ピクセルデータ）を生成し出力するために使用される。
【００７０】
レンダリング機能１０２は、仮想３Ｄ空間に投影される部分３Ｄメッシュを蓄積し、部分３Ｄメッシュのカラーサンプルをブレンドして仮想３Ｄ空間の画像ビューを形成することにより、仮想３Ｄ空間内の任意の視点から仮想３Ｄ空間の画像ビューを生成し得る。特定の例では、レンダリング機能１０２は、ＧＰＵのフレームバッファに部分３Ｄメッシュを蓄積し、ＧＰＵのフレームバッファに部分３Ｄメッシュのカラーサンプルを追加的にブレンドし得る。特定の例では、部分３Ｄメッシュのカラーサンプルをブレンドすることは、レンダリング機能１０２が、部分３Ｄメッシュのプリミティブのブレンド重み付けを決定し、部分３Ｄメッシュのプリミティブの決定されたブレンド重み付けに基づいて、部分３Ｄメッシュのカラーサンプルを重み付け、部分３Ｄメッシュの重複セクションに含まれる重畳されたプリミティブの、重み付けられたカラーサンプルの重み付け平均を決定することを含み得る。特定の例では、レンダリング機能１０２は、蓄積領域を決定し、蓄積領域内に位置するプリミティブまたはフラグメントのみを蓄積およびブレンドし得る。次に、仮想３Ｄ空間に投影される部分３Ｄメッシュに基づいて、仮想３Ｄ空間内の任意の視点から、仮想３Ｄ空間の画像ビューを生成するためのそのような動作の例について説明する。
【００７１】
図１３は、仮想３Ｄ空間５０４に投影され、しかも、仮想３Ｄ空間５０４内の任意の視点１３０４から、仮想３Ｄ空間５０４の画像ビュー１３０２を生成するためにレンダリング機能１０２によって使用され得る部分３Ｄメッシュ１２０２の断面図（たとえば、仮想３Ｄ空間５０４のｘ−ｚ平面の図）を示す。図１３において、画像ビュー１３０２は、仮想３Ｄ空間５０４内の２Ｄ画像平面の断面図として表され、ここでは、仮想３Ｄ空間５０４の透視図は、任意の視点１３０４から投影され得る。
【００７２】
画像ビュー１３０２を生成するために、レンダリング機能１０２は、画像ビュー１３０２を表すデータが書き込まれるフレームバッファへ投影される、仮想３Ｄ空間５０４内の部分３Ｄメッシュ１２０２を表すデータを蓄積し得る。フレームバッファは、ＧＰＵのバッファのように、蓄積された部分３Ｄメッシュからのデータサンプルを記憶できる任意のバッファであり得る。特定の例では、フレームバッファは、１６ビットの浮動小数点タイプのデータまたは高ダイナミックレンジビデオまたは画像フォーマットに適した他の任意のデータタイプを記憶するように構成されたフレームバッファのような高精度フレームバッファであり得る。他の例では、フレームバッファは、任意の適切な画像および／またはビデオフォーマットに使用され得る他の任意のデータタイプを記憶するように構成され得る。
【００７３】
レンダリング機能１０２は、部分３Ｄメッシュのデータをサンプリングして、フレームバッファに書き込むデータを選択し、選択したデータをフレームバッファに書き込み、選択されなかったデータをフレームバッファに書き込まないことを含む、任意の適切な手法で部分３Ｄメッシュ１２０２をフレームバッファに蓄積し得る。この目的のために、レンダリング機能１０２は、仮想３Ｄ空間５０４内の閉塞の決定、部分３Ｄメッシュ１２０２によって表される表面が向く方向の決定、深さテスト等のための動作のように、フレームバッファにどのデータを書き込み、どのデータを書き込まないのかを選択する１つまたは複数の動作を実行し得る。そのような動作を使用して、レンダリング機能１０２は、部分３Ｄメッシュ１２０２からのどのデータが任意の視点１３０４から見えるオブジェクトの表面を仮想的に表すのかを決定し、そのデータを選択してフレームバッファに書き込み得る。
【００７４】
例示のために、図１３の任意の視点１３０４から、仮想３Ｄ空間内のオブジェクト２０８の右前表面を仮想的に表す部分３Ｄメッシュ１２０２のプリミティブは見えるので、画像ビュー１３０２に含まれる。示されるように、そのようなプリミティブは、部分３Ｄメッシュ１２０２−２の（プリミティブ１３０６としてラベル付けされた）１つのプリミティブ、（個々の参照番号でラベル付けされていない）部分３Ｄメッシュ１２０２−３のすべてのプリミティブ、および（プリミティブ１３０８としてラベル付けされた）部分３Ｄメッシュ１２０２−４の１つのプリミティブを含む。この例では、レンダリング機能１０２は、これらのプリミティブを、任意の視点１３０４から見えるものとして識別し、これらのプリミティブを表すデータをフレームバッファに書き込むための動作を実行し得る。レンダリング機能１０２は、任意の視点１３０４から見えない他のプリミティブを識別し、これらの他のプリミティブを表すデータをフレームバッファに書き込まないための動作を実行し得る。これは、部分３Ｄメッシュ１２０２からのデータをレンダリング機能１０２がサンプリング（たとえば、深さテスト）する順序に応じて、見えないプリミティブを表すデータをフレームバッファへ決して書き込まないことと、および／または、任意の視点１３０４から見えると識別されたプリミティブを表すデータとともに、すでにフレームバッファに書き込まれた見えないプリミティブを表すデータを上書きすることとを含み得る。
【００７５】
特定の例では、レンダリング機能１０２は、仮想３Ｄ空間５０４に投影されるすべての部分３Ｄメッシュ１２０２からのデータを、任意の順序でサンプリングし、選択されたプリミティブを表すデータを、フレームバッファに書き込み、これによって、すべての部分３Ｄメッシュ１２０２がサンプリングされた後、フレームバッファは、任意の視点１３０４から見える部分３Ｄメッシュのプリミティブのためのみのデータを含むことができる。他の例では、レンダリング機能１０２は、任意の適切な定義された基準および動作と、選択された部分３Ｄメッシュ１２０２のためのみのサンプルデータとに基づいて、任意の視点１３０４に最も関連する仮想３Ｄ空間５０４に投影される部分３Ｄメッシュ１２０２のサブセットを選択し得る。
【００７６】
レンダリング機能１０２は、仮想３Ｄ空間５０４内の共通の３Ｄ座標に関連付けられた重複セクションを有する部分３Ｄメッシュ１２０２を蓄積し得るので、レンダリング機能１０２は、フレームバッファで表されるような画像ビュー１３０２の共通の２Ｄ座標にマッピングされる仮想３Ｄ空間５０４内の共通の３Ｄ座標について、多数の部分３Ｄメッシュ１２０２から、多数のプリミティブまたはサンプルを選択し得る。部分３Ｄメッシュ１２０２のそのような重複セクションについて、レンダリング機能１０２は、フレームバッファ内の部分３Ｄメッシュ１２０２の重複セクションのカラーサンプルを蓄積およびブレンドするための１つまたは複数の動作を実行し得る。特定の例では、レンダリング機能１０２は、部分３Ｄメッシュの任意の順序の処理について、サンプルがサンプリングされて書き込まれるように選択されると、部分３Ｄメッシュ１２０２のサンプルがフレームバッファに書き込まれるように、カラーサンプルをブレンドするために追加ブレンドを使用する。
【００７７】
次に、画像ビュー１３０２の単一の２Ｄ座標点の部分３Ｄメッシュからのサンプルを蓄積しブレンドするレンダリング機能１０２の例について説明する。図１３は、任意の視点１３０４から仮想３Ｄ空間５０４に投影される例示的な透視線１３１０を示す。示されるように、透視線１３１０は、仮想３Ｄ空間５０４内の３Ｄ座標点１３１２における画像ビュー１３０２、仮想３Ｄ空間５０４内の３Ｄ座標点１３１４における部分３Ｄメッシュ１２０２−３、仮想３Ｄ空間５０４内の３Ｄ座標点１３１６における部分３Ｄメッシュ１２０２−２、および、３Ｄ座標点１３１８における部分３Ｄメッシュ１２０２−６を交差する。図１３では、３Ｄ座標点１３１４および１３１６が異なる場所に示されているが、部分３Ｄメッシュ１２０２−２および１２０２−３は、前述したような説明を明確にするために、互いの先頭に揃えられていないので、３Ｄ座標点１３１４および１３１６は、同じ３Ｄ座標点として取り扱われるように、同じ３Ｄ座標点であると、または、互いの所定のしきい距離内にあると考慮される。画像ビュー１３０２の画像平面上の３Ｄ座標点１３１２は、画像ビュー１３０２を表すために使用される２Ｄ座標のセット内の画像ビュー１３０２の２Ｄ座標点に対応し、ここには、フレームバッファ内の部分３Ｄメッシュ１２０２からのデータを蓄積するときに、レンダリング機能１３０２によって、３Ｄ座標点１３１４、１３１６、および１３１８がマッピングされ得る。
【００７８】
一例として、レンダリング機能１０２は、部分３Ｄメッシュ１２０２−３の３Ｄ座標点１３１４をサンプリングし、フレームバッファに書き込まれる３Ｄ座標点１３１４を選択し、画像ビュー１３０２の画像平面上の３Ｄ座標点１３１２に対応する、画像ビュー１３０２の２Ｄ座標点に、３Ｄ座標点１３１４のデータをマッピングし、書き込み得る。レンダリング機能１０２はまた、部分３Ｄメッシュ１２０２−６の３Ｄ座標点１３１８をサンプリングし、３Ｄ座標点１３１８は、すでにマッピングされて、（深さテストによって、または他の任意の適切な手法で、閉塞が決定される）フレームバッファに、画像ビュー１３０２の２Ｄ座標点に書き込まれた３Ｄ座標点１３１４によって閉塞されているので、フレームバッファに書き込まれるべき３Ｄ座標点１３１８を選択せず、画像ビュー１３０２の２Ｄ座標点に３Ｄ座標点１３１８のデータを書き込まない。レンダリング機能１０２はまた、３Ｄ座標点１３１６が共通の３Ｄ点を表すため、３Ｄ座標点１３１４によって閉塞されないので、部分３Ｄメッシュ１２０２−２の３Ｄ座標点１３１６をサンプリングし、フレームバッファに書き込まれる３Ｄ座標点１３１６を選択し得る。前述のように、３Ｄ座標点１３１６は、３Ｄ座標点１３１４と同じであるため、レンダリング機能１０２は、３Ｄ座標点１３１６のデータを、３Ｄ座標点１３１４および１３１６のデータをブレンドする手法で、画像ビュー１３０２の２Ｄ座標点に３Ｄ座標点１３１６のデータをマッピングして書き込み得、これによって、フレームバッファは、３Ｄ座標点１３１４および１３１６のデータのブレンドを表す、２Ｄ座標点のデータを含むようになる。たとえば、レンダリング機能１０２は、フレームバッファ内の３Ｄ座標点１３１４および１３１６のカラーサンプルをブレンドし得る。
【００７９】
特定の例では、レンダリング機能１０２は、レンダリング機能１０２がサンプルを処理すると、フレームバッファ内の部分３Ｄメッシュの重複セクション上の共通の３Ｄ座標点のカラーサンプルを追加的にブレンドすることにより、部分３Ｄメッシュのカラーサンプルをブレンドし得る。図１３に示す例を続けると、レンダリング機能１０２は、３Ｄ座標点１３１４および１３１６がマッピングされる画像ビュー１３０２内の２Ｄ座標点のフレームバッファ内の共通の３Ｄ座標点１３１４および１３１６のカラーサンプルを追加的にブレンドし得る。例示するために、レンダリング機能１０２は、部分３Ｄメッシュ１２０２−３の３Ｄ座標点１３１４をサンプリングし、フレームバッファに書き込まれるべき３Ｄ座標点１３１４を選択し、画像ビュー１３０２のために、３Ｄ座標点１３１４のデータを２Ｄ座標点にマッピングして書き込み得る。これは、３Ｄ座標点１３１４に関連付けられたカラーサンプルデータを、フレームバッファに書き込むことを含み得る。たとえば、ＲＧＢカラーモデル値における３Ｄ座標点のカラーサンプルデータは（２５５，０，０）であり得、レンダリング機能１０２は、この値を、画像ビュー１３０２の２Ｄ座標点のフレームバッファに（たとえば、フラグメントデータの一部として）書き込み得る。レンダリング機能１０２はまた、前述のように、部分３Ｄメッシュ１２０２−２の３Ｄ座標点１３１６をサンプリングし、フレームバッファに書き込まれる３Ｄ座標点１３１６を選択し得る。３Ｄ座標点１３１６は、３Ｄ座標点１３１４と同じであるため、３Ｄ座標点１３１６のデータを、画像ビュー１３０２の２Ｄ座標点に書き込むことは、３Ｄ座標点１３１６に関連付けられたカラーサンプルデータを、３Ｄ座標点１３１４および１３１６のカラーサンプルデータをブレンドする手法で、フレームバッファに書き込むことを含み、これによって、フレームバッファは、３Ｄ座標点１３１４および１３１６のカラーサンプルのブレンドを表す２Ｄ座標点のカラーサンプルデータを含むようになる。たとえば、ＲＧＢカラーモデル値における３Ｄ座標点のカラーサンプルデータは（２０５，０，０）であり得、レンダリング機能１０２は、この値を、画像ビュー１３０２の２Ｄ座標点のフレームバッファに既に記憶されている３Ｄ座標点１３１４のＲＧＢ値に追加的にブレンドし得る。特定の例では、追加ブレンドは、３Ｄ座標点１３１４および１３１６のＲＧＢカラー値の平均を決定し、画像ビュー１３０２の２Ｄ座標点のフレームバッファに、決定された平均（たとえば、ＲＧＢ値（２２５，０，０））を書き込むことを含み得る。
【００８０】
特定の例では、レンダリング機能１０２は、重み付けられたブレンドを使用して、部分３Ｄメッシュのカラーサンプルをブレンドし得る。たとえば、部分３Ｄメッシュのカラーサンプルのブレンドは、レンダリング機能１０２が、部分３Ｄメッシュのプリミティブのブレンド重み付けを決定し、部分３Ｄメッシュのプリミティブのために決定されたブレンド重み付けに基づいて、部分３Ｄメッシュのためのカラーサンプルを重み付け、部分３Ｄメッシュの重複セクションに含まれる重畳されたプリミティブの、重み付けられたカラーサンプルの重み付け平均を決定することを含み得る。
【００８１】
レンダリング機能１０２は、任意の適切な手法で部分３Ｄメッシュのプリミティブのブレンド重み付けを決定し得る。特定の例では、レンダリング機能１０２は、プリミティブの表面の表面法線と、観測点から投影されプリミティブと交差する透視線との間の関係（たとえば、角度）のように、プリミティブに関連付けられたデータがキャプチャされる観測点に関して、プリミティブの表面が向いている方向に基づいて、プリミティブのブレンド重み付けを決定し得る。そのような関係は、表面データがキャプチャされる観測点に対するプリミティブの表面の角度に基づいて、プリミティブの表面データの信頼性または品質のレベルを表し得る。たとえば、プリミティブの表面法線とキャプチャ観測点から投影される透視線との間の小さな角度は、プリミティブの表面法線と、キャプチャ観測点から投影される透視線との間の大きな角度によって示されるよりも、プリミティブの表面データにおける信頼性レベルが高いことを示し得る。小さな角度は、キャプチャ観測点にさほど直接面していないプリミティブの表面を示す大きな角度と比較して、キャプチャ観測点により直接面しているプリミティブの表面を示している。したがって、プリミティブ表面とキャプチャ観測点との間の角度関係に基づいて、レンダリング機能１０２は、第２のプリミティブに関連付けられた表面データによりも、第１のプリミティブに関連付けられた表面データに多くの重み付けを与えるために、キャプチャ観測点により直接面している表面を有する第１のプリミティブのために、より高いブレンド重み付けを決定し、キャプチャ観測点にさほど直接面していない表面を有する第２のプリミティブのために、より低いブレンド重み付けを決定し得る。この方式または同様の方式で、レンダリング機能１０２は、ブレンド動作における角度付き表面の影響を減らすこと等により、プリミティブの表面データの信頼性のレベルに基づいて、プリミティブがどのようにブレンド動作に影響するのかを制御し得る。
【００８２】
図１３に示される例を続けると、たとえば、３Ｄ座標点１３１４は、部分３Ｄメッシュ１２０２−２に関連付けられた表面データがキャプチャされる観測点（たとえば、観測点２０４−２）に関して３Ｄ座標点１３１６が位置する部分３Ｄメッシュ１２０２−２のプリミティブの表面よりも、部分３Ｄメッシュ１２０２−３に関連付けられた表面データがキャプチャされる観測点（たとえば、観測点２０４−３）に、より直接面する表面を有する部分３Ｄメッシュ１２０２−３のプリミティブ上にあり得る。したがって、レンダリング機能１０２は、部分３Ｄメッシュ１２０２−３上の３Ｄ座標点１３１４に関連付けられたプリミティブの比較的高いブレンド重み付けと、部分３Ｄメッシュ１２０２−２上の３Ｄ座標点１３１６に関連付けられたプリミティブの比較的低いブレンド重み付けとを決定し得、このブレンド重み付けは、３Ｄ座標点１３１４および１３１６のカラーサンプルがブレンドされるときに、３Ｄ座標点１３１４に関連付けられたプリミティブの影響を増加させ、３Ｄ座標点１３１６に関連付けられたプリミティブの影響を減少させるために、レンダリング機能１０２によって使用され得る。
【００８３】
レンダリング機能１０２は、部分３Ｄメッシュのプリミティブの決定されたブレンド重み付けを使用して、部分３Ｄメッシュの表面データ（たとえば、カラーサンプル）を重み付け、部分３Ｄメッシュの重複セクションに含まれる重畳されたプリミティブの、重み付けられた表面データの重み付け平均を決定し得る。たとえば、レンダリング機能１０２は、部分３Ｄメッシュ１２０２−３および１２０２−２のプリミティブのブレンド重み付けを使用して、３Ｄ座標点１３１４および１３１６のカラーサンプルを重み付けし、重み付けられたカラーサンプルの重み付け平均を決定し得る。たとえば、レンダリング機能１０２は、３Ｄ座標点１３１４のカラーサンプルに、３Ｄ座標点１３１４を含む部分３Ｄメッシュ１２０２−３のプリミティブに対して決定された第１のブレンド重み付けを乗じ、３Ｄ座標点１３１６のカラーサンプルに、３Ｄ座標点１３１６を含む部分３Ｄメッシュ１２０２−２のプリミティブに対して決定された第２のブレンド重み付けを乗じ、２つの乗算の積を加算し、その積の合計を、ブレンド重み付けの合計で除し、部分３Ｄメッシュ１２０２−３および１２０２−２の重複セクションに含まれる重畳されたプリミティブの３Ｄ座標点１３１４および１３１６のカラーサンプルの重み付け平均を決定し得る。レンダリング機能１０２は、画像ビュー１３０２の対応する２Ｄ座標点について、決定されたカラーサンプルの重み付け平均を、フレームバッファに書き込み得る。
【００８４】
この方式または同様の方式でカラーサンプルを重み付けることは、より直接的にキャプチャされた表面に関連付けられたカラーサンプルへ、より多くの重み付けを与え、さほど直接的にキャプチャされていない表面に関連付けられたカラーサンプルへ、比較的少ない重み付けを与える。たとえば、ＲＧＢ値（２５５，０，０）を有する３Ｄ座標点１３１４のカラーサンプルに対して０.７の重み付けが決定され、ＲＧＢ値（２０５，０，０）を有する３Ｄ座標点１３１６のカラーサンプルに対して０.３の重み付けが決定された場合、レンダリング機能１０２は、ブレンドされたカラーサンプルに対して（２４０，０，０）の重み付け平均カラーサンプルＲＧＢ値を決定し得、この重み付け平均カラーサンプル値は、フレームバッファ内のカラーサンプルをブレンドした結果として、対応する２Ｄ座標点についてフレームバッファに書き込まれ得る。
【００８５】
本明細書で使用されるように、フレームバッファへデータを書き込むことは、任意の適切なフレームバッファ、または、仮想３Ｄ空間の２Ｄ画像ビューのためのデータを記憶するフレームバッファの構成へ、データを書き込むことを含み得る。フレームバッファに書き込まれるデータは、表示データとして、および／または、表示デバイスへ出力され、２Ｄ画像ビューを２Ｄディスプレイスクリーンまたは多数の２Ｄディスプレイスクリーンのセットに表示するために使用され得る、表示データ（たとえば、ピクセルデータ）を決定するために役立つ、任意のデータを含み得る。
【００８６】
図１４は、蓄積バッファ１４０２および出力バッファ１４０４を含むフレームバッファの例示的な構成１４００を示す。特定の例では、レンダリング機能１０２は、蓄積バッファ１４０２を使用して、部分３Ｄメッシュの重み付けデータを蓄積し得る。この目的のために、蓄積バッファ１４０２は、ＲＧＢカラーモデル値が、ブレンド重み付け「ｗ」を乗じられた重み付けフラグメントのデータのセットを含み得る。蓄積バッファ１４０２はまた、ブレンド重み付け「ｗ」を表すデータを含むことができ、このブレンド重み付けは、本明細書に記載されたようにレンダリング機能１０２によって決定され得る。レンダリング機能１０２は、本明細書に記載されたように、蓄積バッファに部分３Ｄメッシュを蓄積し得、これは、画像ビューの共通の２Ｄ座標点の重み付けられたすべてのフラグメントを追加することによることを含む。すべてのサンプルが蓄積バッファ１４０２に蓄積されると、レンダリング機能１０２は、共通の２Ｄ座標点のフラグメントの重み付け平均を決定するために、重み付けフラグメントの合計を、蓄積バッファ１４０２内のブレンド重み付けの合計で除し得る。レンダリング機能１０２は、決定されたフラグメントの重み付け平均を、（たとえば、示されるＲＧＢＡカラーモデルフォーマットで、または他の任意の適切なフォーマットで）出力バッファ１４０４に出力し（たとえば、書き込み）得、これは、ディスプレイスクリーンに関連付けられたユーザによる表示のために、ディスプレイスクリーン上に２Ｄ画像ビューの表示を提供するために使用され得る。
【００８７】
図１４において、蓄積バッファ１４０２は、画像ビュー１３０２上の２Ｄ座標点にマッピングされる仮想３Ｄ空間５０４内の単一の３Ｄ座標点のデータのセットを含むように示されている。蓄積バッファ１４０２は、画像ビュー１３０２上の同じ２Ｄ座標点にマッピングされる仮想３Ｄ空間５０４内の１つまたは複数の他の３Ｄ座標点の追加のデータのセットを含み、画像ビュー１３０２上の同じ２Ｄ座標点にマッピングされた仮想３Ｄ空間５０４内のすべての３Ｄ座標点のデータのセットの重み付けられた蓄積およびブレンドを可能にし得ることが理解されよう。
【００８８】
図１４において、蓄積バッファ１４０２および出力バッファ１４０４はおのおの、画像ビュー（たとえば、画像ビュー１３０２）の単一の２Ｄ座標点のためのデータのセットを含むように示されている。蓄積バッファ１４０２および出力バッファ１４０４はおのおの、２Ｄ画像ビューを表す２Ｄ座標点の２Ｄ配列内の各２Ｄ座標点について、図示されたデータのセット（および、特定の実施では、図１４に示されていない追加のデータ）を含み得ることが理解されるであろう。特定の例では、蓄積バッファ１４０２は、蓄積バッファ１４０２内のデータの正確な蓄積計算を可能にするために、表示精度および／または出力バッファ１４０４よりも高精度のバッファであり得る。たとえば、蓄積バッファ１４０２は、１６ビットの浮動小数点、１６ビット正規化、または他の高ダイナミックレンジビデオまたは画像データタイプフォーマットでデータを記憶し得、出力バッファ１４０４は、８ビット低ダイナミックレンジビデオまたは画像データタイプフォーマットでデータを記憶し得る。蓄積バッファ１４０２は、本明細書に記載されたように、多数の部分３Ｄメッシュのデータが蓄積され得、その後、出力バッファ１４０４に出力され得る中間バッファとして機能し得る。
【００８９】
特定の例では、レンダリング機能１０２は、蓄積領域を決定し、蓄積領域内に位置するプリミティブまたはフラグメントのみを蓄積および／またはブレンドし得る。レンダリング機能１０２は、メタデータ（たとえば、メタデータに含まれる深さマッピング範囲）、仮想３Ｄ空間内の任意の視点、および／または、仮想３Ｄ空間に投影される部分３Ｄメッシュの深さデータ等に基づいて、任意の適切な時間において（たとえば、深さ事前パスの一部として）、および、任意の適切な方式で、蓄積領域を決定し得る。たとえば、レンダリング機能１０２は、仮想３Ｄ空間５０４に投影される部分３Ｄメッシュ１２０２の深さデータに基づいて、仮想３Ｄ空間５０４内の任意の視点から、透視図に沿って、投影される部分３Ｄメッシュ１２０２の最も近い深さ点の深さ値で蓄積領域が始まると判定し得る。レンダリング機能１０２は、蓄積された範囲の遠端を決定するために、投影される部分３Ｄメッシュ１２０２の最も近い深さ点の決定された深さ値に、所定の深さオフセット値を追加し得る。蓄積領域は、透視図に沿って、決定された最も近い深さ点の深さ値から、任意の視点から離れる方向に、最も近い深さ点と、所定の深さオフセット値との合計に等しい深さ値を有する遠い深さ点の深さ値まで延び得る。最も近い深さ点が、ｚ０として表され、所定の深さオフセットが、ｄｚとして表される場合、遠い深さ点は、ｚ１として表され、ここで、ｚ１＝ｚ０＋ｄｚであり、蓄積範囲は［ｚ０，ｚ１］であり、ここで、深さｚは、任意の視点からの透視図に沿って方向付けられる。
【００９０】
蓄積領域は、特定の実施に適し得るように、任意のサイズ（すなわち、仮想３Ｄ空間内の深さの範囲）を有し得る。蓄積領域のサイズは、特定の実施に適し得るように、事前に定義され得る、所定の深さオフセットの値によって決定され得る。たとえば、深さオフセットは、３Ｄシーンおよび／または仮想３Ｄ空間のために、所望のレベルの精度を提供するように定義され得る。
【００９１】
深さオフセットは、レンダリング機能１０２によって使用され、仮想３Ｄ空間５０４内の任意の視点から、透視図に沿った投影された部分３Ｄメッシュの最も近い各サンプルの深さ値を押し戻す。説明するために、図１５は、仮想３Ｄ空間５０４内の任意の視点１５０２に関してオブジェクト２０８の破線表現５０６の例示的な断面図を示す。図１５において、オブジェクト２０８の破線表現５０６の正面端部は、任意の視点１５０２に投影される部分３Ｄメッシュの最も近い深さサンプルであり、実線１５０４−１および１５０４−２として表される。最も近いサンプルは、深さオフセットによって透視図に沿って押し戻され、この深さオフセットは、矢印１５０６として表される。深さオフセットにより最も近いサンプルを押し戻すことにより、レンダリング機能１０２は、任意の視点１５０２から、各透視図に沿った蓄積領域を決定し得る。蓄積領域１５０８の例を図１５に示す。図１５において、オブジェクト２０８の破線表現１５１０は、レンダリング機能１０２が深さオフセットを実行した後の仮想３Ｄ空間５０４内のオブジェクトを表す。オブジェクト２０８の破線表現１５１０の正面端部は、深さオフセット後の任意の視点１５０２に投影される部分３Ｄメッシュの最も近い深さサンプルであり、実線１５１２−１および１５１２−２として表される。レンダリング機能１０２は、任意の視点１５０２から透視図に沿って、最も近いサンプルを押し戻すので、深さオフセットは、ユーザに対して透明であり得る。
【００９２】
図１５に示されるように、蓄積領域１５０８はおのおの、任意の視点１５０２から透視図に沿って、最も近い深さサンプル値から、深さオフセット値までの距離におよび得る。各蓄積領域１５０８に関連付けられた任意の視点１５０２から透視図に沿って、レンダリング機能１０２は、それぞれの蓄積領域１５０８内に位置するプリミティブまたはフラグメント（たとえば、プリミティブまたはフラグメントのカラーサンプル）のみを蓄積およびブレンドし得る。したがって、レンダリング機能１０２は、各蓄積領域１５０８の外側の（たとえば、超えた）サンプルを無視することができ、これは、コンピューティングリソースを節約し、および／または、データの高速処理を可能にし得る。各蓄積領域（たとえば、各蓄積領域１５０８）は、仮想３Ｄ空間における任意の視点に関して蓄積領域と考慮され得るか、または仮想３Ｄ空間における蓄積領域（たとえば、蓄積領域１５０８）の組合せが、任意の観測点に関して仮想３Ｄ空間の蓄積領域と考慮され得る。
【００９３】
投影される部分３Ｄメッシュは、（たとえば、図１１および図１２に示されるように）仮想３Ｄ空間内で重畳され、重複し得る。したがって、部分３Ｄメッシュは、任意の観測点から透視図に沿って異なる深さ値を有し得る。深さ値のこのような違いは、符号化エラー、キャプチャエラー、および／または、レンダリング機能１０２によって受信された深さデータに関連付けられた他の任意のエラーによって発生し得る。レンダリング機能１０２は、最前面のサンプルからの深さオフセットを使用して蓄積領域を決定し、決定された蓄積領域内にサンプルを蓄積することにより、深さ値におけるそのような差を補正および／または補償し得、これは、任意の視点からの画像ビューに寄与するために、蓄積領域内の異なる深さ値に関連付けられたサンプルがサンプリングされ、ともにブレンドされることを可能にする。
【００９４】
特定の例では、システム１００は、キャプチャされた３Ｄシーンの２Ｄカラーデータ、深さデータ、およびメタデータを受信し、受信したデータを使用して、本明細書に記載されたように、メディアプレーヤデバイスのユーザへの提示のために仮想現実コンテンツをレンダリングすることができるメディアプレーヤデバイスに組み込まれ得、これにより、メディアプレーヤデバイスのユーザは、３Ｄシーンの仮想再構築内で動的に選択された視点から、３Ｄシーンの仮想再構築を体験でき得る。図１６は、システム１００が、仮想現実メディアプロバイダシステム１６０４に通信可能に結合されたメディアプレーヤデバイス１６０２に組み込まれた、システム１００の例示的な実施１６００を示す。メディアプレーヤデバイス１６０２は、任意の適切な方式で仮想現実メディアプロバイダシステム１６０４に通信可能に結合され得る。図１６に示す例では、メディアプレーヤデバイス１６０２は、ネットワーク１６０６を経由して仮想現実メディアプロバイダシステム１６０４に通信可能に結合される。しかしながら、メディアプレーヤデバイス１６０２は、追加的または代替的に、仮想現実メディアプロバイダシステム１６０４に通信可能に直接結合され得る。
【００９５】
ネットワーク１６０６は、プロバイダ特有の有線または無線のネットワーク（たとえば、ケーブルまたは衛星キャリアネットワークまたはモバイル電話ネットワーク）、インターネット、広域ネットワーク、または他の任意の適切なネットワークを含み得る。データは、特定の実施に役立ち得るように、任意の通信技術、デバイス、メディア、およびプロトコルを使用して、メディアプレーヤデバイス１６０２と仮想現実メディアプロバイダシステム１６０４との間を流れ得る。たとえば、メディアプレーヤデバイス１６０２および仮想現実メディアプロバイダシステム１６０４は、ソケット接続、イーサネット（登録商標）、データバス技術、データ伝送媒体、通信デバイス、メディアストリーミング技術（たとえば、ビデオストリーミング技術）、Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（「ＭＰＥＧ」）プロトコル、伝送制御プロトコル（「ＴＣＰ」）、インターネットプロトコル（「ＩＰ」）、ファイル転送プロトコル（「ＦＴＰ」）、Ｔｅｌｎｅｔ、ハイパテキスト転送プロトコル（「ＨＴＴＰ」）、ＨＴＴＰＳ、セッション開始プロトコル（「ＳＩＰ」）、シンプルオブジェクトアクセスプロトコル（「ＳＯＡＰ」）、拡張マークアップ言語（「ＸＭＬ」）およびそのバリエーション、リアルタイム転送プロトコル（「ＲＴＰ」）、ユーザデータグラムプロトコル（「ＵＤＰ」）、汎欧州デジタル移動電話方式（「ＧＳＭ（登録商標）」）技術、符号分割多元接続（「ＣＤＭＡ」）技術、エボリューションデータオプティマイズドプロトコル（「ＥＶＤＯ」）、４Ｇロングタームエボリューション（「ＬＴＥ」）、ＷｉＭａｘ、時分割多元接続（「ＴＤＭＡ」）技術、無線周波数（「ＲＦ」）シグナリング技術、無線通信技術（たとえば、ＢＬＵＥＴＯＯＴＨ（登録商標）、Ｗｉ−Ｆｉ（登録商標）等）、帯域内および帯域外シグナリング技術、および他の適切な通信技術を含むがこれらに限定されない、任意の適切な通信技術、デバイス、メディア、および／または、データ通信をサポートするプロトコルを使用して通信し得る。図２では、仮想現実メディアプロバイダシステム１６０４とメディアプレーヤデバイス１６０２とを相互接続するために、１つのネットワーク１６０６しか示されていないが、これらのデバイスおよびシステムは、特定の実施に役立ち得るように、多数のおよび／または異なる相互接続されたネットワークを経由して相互通信し得ることが認識されよう。
【００９６】
仮想現実メディアプロバイダシステム１６０４は、２Ｄキャプチャ画像およびメタデータを処理するために使用される任意のハードウェアおよび／またはソフトウェア（たとえば、コンピューティングシステム、ソフトウェアプログラム等）を含み得る。仮想現実メディアプロバイダシステム１６０４は、特定の実施に役立ち得るように、単一の場所に配置され得るか、多数のデバイス（たとえば、サーバ）および／または多数の場所に分散され得る。
【００９７】
仮想現実メディアプロバイダシステム１６０４は、２Ｄキャプチャ画像およびメタデータの配信のためのデータパイプラインを提供し得、ここでは、２Ｄキャプチャ画像およびメタデータが、任意の適切な方式で（たとえば、直接またはネットワーク１６０６を介して）キャプチャデバイス（たとえば、キャプチャデバイス２０２）から仮想現実メディアプロバイダシステム１６０４へ、および、仮想現実メディアプロバイダシステム１６０４からネットワーク１６０６を経由してメディアプレーヤデバイス１６０２へ流れる。たとえば、仮想現実メディアプロバイダシステム１６０４は、獲得した２Ｄキャプチャ画像およびメタデータを処理し、ネットワーク１６０６を経由してメディアプレーヤデバイス１６０２にストリーミングするために、少なくとも１つのトランスポートストリームで２Ｄキャプチャ画像およびメタデータを生成し提供し得る。
【００９８】
特定の例では、仮想現実メディアプロバイダシステム１６０４は、「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｕｓｉｎｇ  ２Ｄ  Ｃａｐｔｕｒｅｄ  Ｉｍａｇｅｒｙ  ｏｆ  ａ  Ｓｃｅｎｅ  ｔｏ  Ｐｒｏｖｉｄｅ  Ｖｉｔｒｕａｌ  Ｒｅａｌｉｔｙ  Ｃｏｎｔｅｎｔ」と題され、本願と同日に出願され、その全体が参照により本明細書に組み込まれている同時係属中の米国特許出願第１５／６１０，５７５号に記載された手法のいずれかで、２Ｄキャプチャ画像およびメタデータを生成し、メディアプレーヤデバイス１６０２のようなメディアプレーヤデバイスに提供し得る。
【００９９】
特定の例では、仮想現実メディアプロバイダシステム１６０４は、任意の適切な通信チャネルを介してトランスポートストリームをメディアプレーヤデバイス１６０２にストリーミングし得る。あるいは、仮想現実メディアプロバイダシステム１６０４は、メディアプレーヤデバイス１６０２へのストリーミングのために、コンテンツ配信ネットワーク（「ＣＤＮ」）（たとえば、サードパーティＣＤＮ）にトランスポートストリームを提供し得る。特定の例では、仮想現実メディアプロバイダシステム１６０４は、トランスポートストリームにメタデータを（たとえば、２Ｄキャプチャ画像データ（すなわち、表面データ）とともに）含み、メタデータが、トランスポートストリームの一部としてメディアプレーヤデバイス１６０２へストリーミングされるように、ストリーミング用のトランスポートストリームを提供し得る。他の例では、仮想現実メディアプロバイダシステム１６０４は、メタデータが、トランスポートストリームとは別個にストリーミングされるように、メタデータとトランスポートストリームとをストリーミングのために別個に提供し得る。
【０１００】
本明細書で使用される「トランスポートストリーム」は、カラービデオデータストリームおよび深さビデオデータストリームがパッケージ化され得る単一のトランスポートストリーム、または、カラービデオデータストリームおよび深さビデオデータストリームがパッケージ化され得る多数のトランスポートストリームを称し得る。したがって、特定の例では、トランスポートストリームは、キャプチャされたシーンのビデオデータストリーム（たとえば、各３Ｄキャプチャデバイスのための１つのカラービデオデータストリームと、各３Ｄキャプチャデバイスのための１つの深さビデオデータストリーム）のみならず、特定の実施における伝送のために含まれ得る任意のメタデータまたは他の適切なデータを搬送する単一のトランスポートストリームを称し得る。他の例では、トランスポートストリームは、キャプチャされたシーンのビデオデータストリーム（たとえば、各３Ｄキャプチャデバイスのための１つのカラービデオデータストリームと、各３Ｄキャプチャデバイスのための１つの深さビデオデータストリーム）のみならず、特定の実施における伝送のために含まれ得る任意のメタデータまたは他の適切なデータを集合的に搬送する複数のトランスポートストリームを称し得る。
【０１０１】
トランスポートストリームは、ビデオおよび／または他のデータを、仮想現実メディアプロバイダシステム１６０４からメディアプレーヤデバイス１６０２に伝送するのに適した任意のタイプのトランスポートストリーム（たとえば、ＭＰＥＧトランスポートストリームまたは他のタイプのトランスポートストリーム）を含み得る。トランスポートストリームは、特定の実施に適し得るように、任意の適切なデータフォーマット、コンテナフォーマット、および／または、伝送プロトコルに従って構成され得る。
【０１０２】
図１７は、カラービデオデータストリーム１７０４−１、深さビデオデータストリーム１７０６−１、およびメタデータストリーム１７０８−１が、キャプチャデバイス２０２−１からのストリームとして提供され、カラービデオデータストリーム１７０４−２、深さビデオデータストリーム１７０６−２、およびメタデータストリーム１７０８−２が、キャプチャデバイス２０２−２からのストリームとして提供され、カラービデオデータストリーム１７０４−ｎ、深さビデオデータストリーム１７０６−ｎ、およびメタデータストリーム１７０８−ｎが、キャプチャデバイス２０２−ｎからのストリームとして提供されるトランスポートストリーム１７０２の例を示す。
【０１０３】
トランスポートストリーム（たとえば、トランスポートストリーム１７０２）でメディアプレーヤデバイス１６０２に送信または提供される２Ｄキャプチャ画像データは、適切な方式で、別個のカラーデータストリームおよび深さデータストリームとして提供され得る。例示するために、図１８は、たとえばキャプチャデバイス２０２−２から仮想現実メディアプロバイダシステム１６０４によって獲得され得る例示的な表面データ１８０２を示す。図１８に示すように、表面データ１８０２は、キャプチャデバイス２０２−２によってキャプチャされた３Ｄシーン２０６の一連の連続２Ｄカラーデータキャプチャ１８０４（たとえば、カラーデータストリームのフレーム）、および、キャプチャデバイス２０２−２によってキャプチャされたシーン２０６の一連の連続２Ｄ深さデータキャプチャ１８０６（たとえば、深さデータストリームのフレーム）を含み得る。一連の連続２Ｄカラーデータキャプチャ１８０４は、特定の時間シーケンス１８０８（たとえば、特定のリアルタイム期間、３Ｄシーン２０６に関連付けられた特定の仮想タイムライン等）中、キャプチャデバイス２０２−２の観測点２０４−２からの３Ｄシーン２０６におけるオブジェクト２０８のカラーデータを表し得る。一連の連続２Ｄ深さデータキャプチャ１８０６は、特定の時間シーケンス１８０８中、キャプチャデバイス２０２−２の観測点２０４−２からの３Ｄシーン２０６におけるオブジェクト２０８の深さデータを表し得る。
【０１０４】
図１８はまた、一連の連続２Ｄカラーデータキャプチャ１８０４に含まれる例示的な２Ｄカラーデータキャプチャ１８１０と、一連の連続２Ｄ深さデータキャプチャに含まれる例示的な２Ｄ深さデータキャプチャ１８１２とを示す。２Ｄカラーデータキャプチャ１８１０は、観測点２０４−２から見える（オブジェクト２０８の表面からのカラーデータを含む）３Ｄシーン２０６のビューを表し得るカラーデータを含み得る。カラーデータは、図１８において画像として示されているが、カラーデータは、任意の適切な形式でキャプチャ、符号化、フォーマット、送信、および表示され得ることが理解されよう。たとえば、カラーデータは、標準的なビデオ符号化プロトコル、標準的な画像フォーマット等に従ってフォーマットされたデジタルデータであり得る。カラーデータは、仮想的な観測点２０４−２から見たように３Ｄシーン内に含まれるオブジェクトの（たとえば、カラー写真に類似した）カラー画像を表し得る。代替的に、カラーデータは、オブジェクトを表す（たとえば、白黒写真に類似した）グレースケール画像であり得る。
【０１０５】
２Ｄ深さデータキャプチャ１８１２は、観測点２０４−２に関連付けられた空間内の点からのオブジェクト２０８の表面の深さデータを含み得る。カラーデータと同様に、２Ｄ深さデータキャプチャ４１２で表される深さデータは、観測点２０４−２の透視図から３Ｄシーン２０６内のオブジェクト２０８を描写し得る。しかしながら、オブジェクト２０８の目に見える外観を表す（すなわち、光がオブジェクト２０８の表面とどのように相互作用するのかをカラーまたはグレースケールで表す）のではなく、深さデータは、（たとえば、３Ｄシーン２０６内の他のオブジェクトと同様に）観測点２０４−２の位置に対するオブジェクト２０８の表面上の点の深さ（すなわち、距離または位置）を表し得る。カラーデータと同様に、深さデータは、任意の適切な形式でキャプチャ、符号化、フォーマット、送信、および表示され得る。たとえば、図示されるように、深さデータは、グレースケール画像データ（たとえば、深さデータ内で表される各ピクセルについて６または８ビット）によって表され得る。しかしながら、可視光がオブジェクト２０８の表面からどのように（すなわち、カラーデータで表されるように）反射するかを表すのではなく、深さデータのグレースケール画像は、画像内の各ピクセルについて、そのピクセルによって表される点が、観測点２０４−２の位置からどれだけ離れているのかを表し得る。たとえば、観測点２０４−２により近い点は、より暗いグレーの濃淡を表す値（たとえば、０ｂ１１１１１１が黒を表す６ビット実施の場合、０ｂ１１１１１１により近いバイナリ値）で表され得る。逆に、観測点２０４−２からさらに離れた点は、より明るいグレーの濃淡を表す値（たとえば、０ｂ００００００が白を表す６ビット実施の場合、０ｂ００００００により近いバイナリ値）で表され得る。
【０１０６】
仮想現実コンテンツプロバイダシステム１６０４によって提供されるメタデータは、任意の適切な方式でフォーマットされ得る。特定の例では、メタデータは一連の連続メタデータキャプチャにフォーマットされ得る。一連の連続投影メタデータキャプチャに含まれる各メタデータキャプチャは、３Ｄシーンに関して特定の時点において特定のキャプチャデバイスに関連付けられたメタデータを含み得る。それに加えて、各メタデータキャプチャは、対応する２Ｄカラーデータキャプチャおよび対応する２Ｄ深さデータキャプチャと同期され得、そのため、２Ｄカラーデータおよび深さデータのメタデータとして（たとえば、同期２Ｄカラーのメタデータキャプチャまたはフレーム、および、深さデータキャプチャまたはフレームとして）称され得る。
【０１０７】
図１９は、仮想現実コンテンツプロバイダシステム１６０４によって提供され、メディアプレーヤデバイス１６０２によって受信され得るメタデータの例示的な実施１９０２を示している。実施１９０２は、特定の実施に役立ち得るように、ＪＳＯＮデータフォーマット、バイナリデータフォーマット、または他の任意の適切なデータフォーマットに準拠し得る。図１９は、特定のキャプチャデバイス（たとえば、キャプチャデバイス２０２−１）に関連付けられたメタデータを定義するために使用され得る例示的なデータフィールドを示す。図１９に示されたフィールドのおのおのの簡単な説明が提供される。
【０１０８】
図１９に示される例において「ストリームＩＤ」とラベル付けされたフィールドは、特定のキャプチャデバイスに関連付けられたカラービデオデータストリームの識別子と、深さビデオデータストリームの識別子とを取り込まれ得る。識別子は、文字列タイプ変数または他の任意の適切なデータタイプを使用して表され得る。識別子は、任意の適切なタイプのデータストリームのための任意の適切なフォーマットであり得る。たとえば、ＭＰＥＧトランスポートストリームの場合、識別子は、ＭＰＥＧトランスポートストリーム内のパケットのパケット識別子（「ＰＩＤ」）であり得る。
【０１０９】
図１９に示される例において「深さマッピング」とラベル付けされたフィールドは、キャプチャ機能１０６により最初に提供され、（たとえば、特定のキャプチャデバイスからの）表現可能な値の範囲の最小値の距離と、（たとえば、特定のキャプチャデバイスからの）表現可能な値の範囲の最大値の距離とをそれぞれ表す「近い」深さ値および「遠い」深さ値とを取り込まれ得る。「近い」深さ値および「遠い」深さ値は、データ値を現実世界の単位にマッピングし得、浮動小数点値または他の任意の適切なデータタイプで表され得、指定された深さ値に位置する近平面と遠平面とによって境界付けられる深さマッピング範囲のような深さマッピング範囲を表し得る。実施形態では、これは、
【０１１０】
【数１】
2020522803.tif 000003
【０１１１】
のようなフォーマットで、より一般化された「深さ復号」を含み得、ここで、
【０１１２】
【数２】
2020522803.tif 000004
【０１１３】
であり、キャプチャシステム（たとえば、図４におけるキャプチャデバイス２０２のような１つまたは複数のキャプチャデバイス）は、行列係数ａ，ｂ，ｃ，ｄを送信する。
【０１１４】
図１９に示される例において「３×４列主要変換行列」とラベル付けされたフィールドは、カラービデオデータストリームおよび深さビデオデータストリームに含まれるデータを、共通の仮想３Ｄ空間内の３Ｄ座標に変換するために、システム１００によって使用される変換行列が取り込まれ得る。
【０１１５】
図１９に示される例において「ＦＯＶ接線角」とラベル付けされたフィールドは、視野角または角度の接線（たとえば、タンレフト、タンライト、タントップ、およびタンボトム）に関して特定のキャプチャデバイスの焦点距離、中心点等に基づくもののように、視野または固有のキャプチャデバイスパラメータを示す情報が取り込まれ得る。特定の例では、メタデータは、追加的または代替的に、キャプチャデバイスおよび／またはキャプチャされた表面データに関連付けられた、線形および／または非線形の深さ視差に関連する、外部キャプチャデバイスパラメータおよび／または情報を含み得る。
【０１１６】
図１１に示す実施１１０２は、特定の例においてメタデータがメディアプレーヤデバイス２１０に表され提供され得る１つの手法を示している。他の例では、メタデータは、他の任意のフォーマットで表され、特定の実施に適切であり得るような任意の追加のまたは代替の情報を含み得る。
【０１１７】
図１６に戻って示すように、メディアプレーヤデバイス１６０２は、２Ｄカラーデータおよび深さデータを表すデータと、メタデータとを（たとえば、トランスポートストリームにおいて）受信し、受信したデータを、本明細書に記載されたように処理して、仮想現実コンテンツを生成することができる任意のデバイスを含むか、この任意のデバイスによって実施され得る。メディアプレーヤデバイス１６０２は、本明細書に記載されたような部分３Ｄメッシュを生成および使用して、仮想３Ｄ空間内の選択された任意の視点から仮想３Ｄ空間の画像ビューをレンダリングおよび提示し得、この画像ビューは、仮想３Ｄ空間の透視視野（たとえば、キャプチャされた３Ｄシーンを表す仮想現実世界の透視図）であり得る。図１６に示されるように、メディアプレーヤデバイス１６０２は、ユーザ１６０８によって操作され得る。ユーザ１６０８が、仮想３Ｄ空間で表される仮想現実世界を体験すると、メディアプレーヤデバイス１６０２は、ユーザ１６０８からのユーザ入力を検出し、ユーザ入力に基づいて、レンダリングおよび提示される仮想３Ｄ空間の画像ビューを動的に更新し得る。
【０１１８】
たとえば、仮想現実世界内の任意の視点からの視野は、ユーザ１６０８が仮想現実世界の周りを容易かつ自然に見渡すことができる画像ビューを提供し得る。視野は、メディアプレーヤデバイス１６０２によって（たとえば、メディアプレーヤデバイス１６０２のディスプレイスクリーン上に）提示され得、仮想現実世界内のユーザ１６０８の視点を囲むオブジェクトを描写するビデオを含み得る。それに加えて、ユーザ１６０８が仮想現実世界を体験すると、視野は、ユーザ１６０８によって提供されるユーザ入力に応答して動的に変化し得る。たとえば、メディアプレーヤデバイス１６０２は、（たとえば、視野が提示されるディスプレイスクリーンを移動または回転させる）ユーザ入力を検出し得る。それに応じて、視野は、前の視点から見たオブジェクトの代わりに、異なるオブジェクトおよび／または異なる視点（たとえば、ディスプレイスクリーンの位置に対応する視点）から見たオブジェクトを表示し得る。
【０１１９】
ユーザ１６０８が仮想３Ｄ空間の画像ビューを体験することを容易にするために、メディアプレーヤデバイス１６０２は、仮想現実世界の画像ビューを表示され得る少なくとも１つのディスプレイスクリーン（たとえば、ヘッドマウント仮想現実デバイスに組み込まれたヘッドマウントディスプレイスクリーン、または、カードボード装置のような装置を使用してユーザの頭部に取り付けられたモバイルデバイスのディスプレイスクリーン）を含み得るか、関連付けられ得る。メディアプレーヤデバイス１６０２はまた、本明細書に記載されたシステム１００の動作のいずれかに従って、メディアプレーヤデバイス１６０２のディスプレイスクリーン上に、仮想現実世界のビューをレンダリングおよび提示するために、仮想現実世界を表す２Ｄカラーデータおよび深さデータを、対応するメタデータとともに受信し、維持し、および／または、処理するように構成されたソフトウェアを含み得る。たとえば、メディアプレーヤデバイス１６０２は、仮想現実世界を表すデータを処理し、ディスプレイ上に提示するように構成された専用のスタンドアロンソフトウェアアプリケーション（たとえば、モバイルアプリケーション）を含み得る。他の例では、仮想現実世界の特定のビューを提示するために使用されるソフトウェアは、標準Ｗｅｂブラウザアプリケーションのような専用ではないソフトウェアを含み得る。
【０１２０】
追加的または代替的に、メディアプレーヤデバイス１６０２は、２Ｄカラーデータ、深さデータ、およびメタデータの受信、復号、逆多重化、および／または処理を容易にするように構成されたハードウェア、ファームウェア、および／またはソフトウェアを含み得る。たとえば、メディアプレーヤデバイス１６０２は、仮想現実メディアプロバイダシステム１６０４から受信した２Ｄカラーデータ、深さデータ、およびメタデータに関連付けられた任意の適切な復号および／または逆多重化動作を実行し得る復号／逆多重化システム１６１０を含み得る。特定の例では、復号／逆多重化システム１６１０は、専用のビデオ復号ハードウェア（たとえば、１つまたは複数の専用のビデオデコーダ）およびプログラム可能なＧＰＵを有するグラフィックカードを含み得る。グラフィックカードは、受信したデータを復号できる限られた数のデコーダを含み得る。したがって、特定の例では、メディアプレーヤデバイス１６０２によって受信されるデータ（たとえば、メディアプレーヤデバイス１６０２によって受信されるトランスポートストリームに含まれるデータ）は、仮想現実メディアプロバイダシステム１６０４によって、（たとえば、トランスポートストリームに含まれるストリームの数を制限することにより）メディアプレーヤデバイス１６０２の特定のハードウェア制約に合わせて調整され得る。
【０１２１】
復号／逆多重化システム１６１０は、任意の適切な方式で、システム１００に通信可能に結合され得る。したがって、特定の例では、システム１００は、復号／逆多重化システム１６１０から、逆多重化および／または復号された２Ｄキャプチャ画像データおよび投影データを受信し、受信したデータを、本明細書に記載されたように処理して、仮想現実コンテンツをレンダリングし得る。システム１００および１６１０は、図１６では別個のシステムであるように示されているが、システム１００および１６１０は、単一のシステム等、より少ないシステムに組み合わされ得るか、または、特定の実施に役立ち得るように、より多くのシステムに分割され得ることが認識されるであろう。
【０１２２】
メディアプレーヤデバイス１６０２は、いくつかの異なるフォームファクタの１つを採用し得る。たとえば、メディアプレーヤデバイス１６０２は、ヘッドマウントディスプレイスクリーンを含むヘッドマウント仮想現実デバイス（たとえば、仮想現実ゲームデバイス）を含み得るか、このヘッドマウント仮想現実デバイスによって実施され、パーソナルコンピュータデバイス（たとえば、デスクトップコンピュータ、ラップトップコンピュータ等）を含み得るか、このパーソナルコンピュータデバイスによって実施され、モバイルまたは無線デバイス（たとえば、スマートフォン、タブレットデバイス、モバイルリーダ等）を含み得るか、このモバイルまたは無線デバイスによって実施され、または、２Ｄカラーデータ、深さデータ、およびメタデータの受信および仮想現実コンテンツのレンダリングおよび提示を容易にするための特定の実施に役立ち得る他の任意のデバイスまたはデバイスの構成を含み得るか、この任意のデバイスまたはデバイスの構成によって実施され得る。異なるタイプのメディアプレーヤデバイス（たとえば、ヘッドマウント仮想現実デバイス、パーソナルコンピュータデバイス、モバイルデバイス等）は、ユーザ１６０８のために異なる没入レベルを有する、異なるタイプの仮想現実体験を提供し得る。
【０１２３】
特定のメディアプレーヤデバイスの例を説明したが、これらの例は例示であり、限定するものではない。メディアプレーヤデバイスは、本明細書に記載された原理に従って、２Ｄカラーデータ、深さデータ、およびメタデータを受信し、２Ｄカラーデータ、深さデータ、およびメタデータを使用して、仮想３Ｄ空間の画像ビューをレンダリングするように構成された任意の適切なデバイスおよび／またはデバイスの構成を含み得る。たとえば、メディアプレーヤデバイスは、テザーデバイス構成（たとえば、テザーヘッドセットデバイス）、または非テザーデバイス構成（たとえば、処理デバイスからテザーされていないディスプレイスクリーン）を含み得る。別の例として、ヘッドマウント仮想現実メディアプレーヤデバイスまたは他のメディアプレーヤデバイスは、ウェアラブルコントローラ（たとえば、リングコントローラ）および／またはハンドヘルドコントローラのような仮想現実コントローラと連携して使用され得る。
【０１２４】
図１６は、システム１００を、メディアプレーヤデバイス１６０２の一部として示しているが、システム１００の１つまたは複数の機能は、代替実施において他のコンピューティングデバイスに組み込まれるか、他のコンピューティングデバイスにわたって分散され得ることが理解される。たとえば、レンダリング機能１０２によって実行される動作の１つまたは複数は、仮想現実メディアプロバイダシステム１６０４および／またはメディアプレーヤデバイス１６０２とは別個の別のシステムに関連付けられたコンピューティングデバイス（たとえば、サーバ）によって実行され得る。それに加えて、特定の実施では、記憶機能１０４が、メディアプレーヤデバイス１６０２から遠隔に（たとえば、クラウドベースの記憶機能として）配置され得る。
【０１２５】
図２０は、３Ｄシーンの２Ｄキャプチャ画像に基づいて、仮想現実コンテンツをレンダリングするための例示的な方法２０００を示している。図２０は、１つの実施形態による例示的な動作を示しているが、他の実施形態は、図２０に示す動作のいずれかを省略、追加、並べ替え、および／または修正し得る。図２０に示された動作の１つまたは複数は、レンダリングシステム１００および／またはその任意の実施によって実行され得る。
【０１２６】
動作２００２において、仮想現実コンテンツレンダリングシステム（たとえば、仮想現実コンテンツレンダリングシステム１００）は、３Ｄシーンに関して異なる観測点に配置された複数のキャプチャデバイスによってキャプチャされた２Ｄカラーデータおよび深さデータを受信し得る。動作２００２は、本明細書で説明されている手法のいずれかで実行され得る。
【０１２７】
動作２００４において、仮想現実コンテンツレンダリングシステムは、２Ｄカラーデータおよび深さデータのメタデータを受信し得る。動作２００４は、本明細書で記載されている手法のいずれかで実行され得る。
【０１２８】
動作２００６において、仮想現実コンテンツレンダリングシステムは、複数のキャプチャデバイスに含まれる各それぞれのキャプチャデバイスに関連付けられた各観測点について、メタデータおよび深さデータに基づいて、仮想３Ｄ空間に投影される部分３Ｄメッシュを生成し、仮想３Ｄ空間内の３Ｄシーンの部分的な仮想表現を作成し得る。動作２００６は、本明細書に記載された手法のいずれかで実行され得る。
【０１２９】
動作２００８において、仮想現実コンテンツレンダリングシステムは、仮想３Ｄ空間に投影される部分３Ｄメッシュに基づいて、仮想３Ｄ空間内の任意の視点から、仮想３Ｄ空間の画像ビューを生成し得る。特定の例では、画像ビューを生成することは、仮想３Ｄ空間に投影される部分３Ｄメッシュを蓄積することと、２Ｄカラーデータに基づいて、部分３Ｄメッシュのカラーサンプルをブレンドし、仮想３Ｄの画像ビューを形成することを含み得る。動作２００８は、本明細書に記載された手法のいずれかで実行され得る。
【０１３０】
特定の例では、本明細書に記載されたシステム１００の１つまたは複数の動作は、ＧＰＵおよび／またはグラフィックカードのグラフィックパイプライン（たとえば、ＯｐｅｎＧＬレンダリングパイプライン）に従って、その一部として、および／または、その一部を使用して実行され得る。システム１００のそのような実施は、固定機能、ハードウェア加速機能、および／またはＧＰＵおよび／またはグラフィックカードのバッファ（たとえば、固定機能ラスタライゼーション、ハードウェア加速された深さテスト、深さバッファ等）を含む１つまたは複数の能力、機能、および／またはＧＰＵおよび／またはグラフィックカードのリソース（たとえば、２Ｄデータを表すように設計された既存のビデオコーデック）を活用し得る。
【０１３１】
特定の例では、グラフィックパイプラインは、少なくとも頂点処理、ラスタライゼーション、およびフラグメント処理ステージを含み得、システム１００の１つまたは複数の動作は、グラフィックパイプラインのこれらのステージ内で実行され得る。一例として、システム１００は、本明細書に記載されたように、グラフィックパイプラインの頂点処理ステージ内で部分３Ｄメッシュを生成し得る。別の例として、システム１００は、グラフィックパイプラインの頂点処理ステージ内の頂点シェーダを使用して、本明細書に記載されたように、仮想３Ｄ空間に部分３Ｄメッシュを生成するために２Ｄ入力メッシュを投影し得る。別の例として、システム１００は、部分３Ｄメッシュの無関係なプリミティブを除去し、および／または、本明細書に記載されたように、部分３Ｄメッシュのプリミティブのブレンド重み付けと、グラフィックパイプラインの頂点処理ステージ内で幾何学シェーダおよび／またはテッセレーションシェーダを使用した事前ラスタライゼーションと、および／またはグラフィックパイプラインのフラグメント処理ステージ内でフラグメントシェーダを使用した事後ラスタライゼーションとを決定し得る。別の例として、システム１００は、本明細書に記載されたように、グラフィックパイプラインのフラグメント処理ステージ内でフラグメントシェーダを使用してラスタライズ後のカラーサンプルをサンプリングおよびブレンドし得る。
【０１３２】
特定の例では、システム１００は、グラフィックパイプラインを活用する手法で、データセットに対して多数のパス（たとえば、キャプチャフレームのシーケンス内の１つのフレームのために、２Ｄカラーデータ、深さデータ、およびメタデータに対して多数のパス）を実行し得る。たとえば、システム１００は、中にカラーサンプルを蓄積する蓄積領域を確立するために、深さ事前パスを実行することを、データセットに対して一度繰り返し、蓄積領域内にカラーサンプルを蓄積するために、データセットに対して再び繰り返し得る。システム１００は、表示用に出力され得る画像ビューを形成するために、カラーサンプルをブレンドすることを、蓄積されたカラーサンプルに対して反復し得る。
【０１３３】
図２１は、本明細書に記載された原理に従って、３Ｄシーンの２Ｄキャプチャ画像に基づいて仮想現実コンテンツをレンダリングするための例示的な方法を示す。図２１は、１つの実施形態に従う例示的な動作を示しているが、他の実施形態は、図２１に示す動作のいずれかを省略、追加、並べ替え、および／または修正し得る。図２１に示された動作の１つまたは複数は、仮想現実コンテンツレンダリングシステム（たとえば、仮想現実コンテンツレンダリングシステム１００）によって、および／または、それらの実施または組合せによって実行され得る。
【０１３４】
動作２１０２において、仮想現実コンテンツレンダリングシステム（たとえば、仮想現実コンテンツレンダリングシステム１００）は、３Ｄシーンに関して異なる観測点に配置された複数のキャプチャデバイスによってキャプチャされた２Ｄカラーデータおよび深さデータを受信し得る。動作２１０２は、本明細書に記載された手法のいずれかで実行され得る。
【０１３５】
動作２１０４において、仮想現実コンテンツレンダリングシステムは、２Ｄカラーデータおよび深さデータのメタデータを受信し得る。動作２１０４は、本明細書に記載された手法のいずれかで実行され得る。
【０１３６】
動作２１０６において、仮想現実コンテンツレンダリングシステムは、深さパス（たとえば、深さ事前パス）を実行し得る。深さパスは、本明細書に記載されたように、仮想現実コンテンツレンダリングシステムが、受信した深さデータ（たとえば、３Ｄシーン内のオブジェクトの位置を表すキャプチャされた深さデータ）およびメタデータ（たとえば、観測点情報）を、共通の仮想３Ｄ空間の３Ｄ座標に変換し、観測点の２Ｄ入力メッシュを、仮想３Ｄ空間における３Ｄ座標へ投影し、仮想３Ｄ空間に投影される部分３Ｄメッシュを形成することを含み得る。深さパスはまた、閉塞されたサンプルを識別および省略するために、仮想現実コンテンツレンダリングシステムが、仮想３Ｄ空間内の選択された任意の視点の透視図から、たとえば深さテストによって、深さデータを集めることを含み得る。
【０１３７】
深さパスはまた、仮想現実コンテンツレンダリングシステムが、仮想３Ｄ空間内の選択された任意の視点から、カラーサンプルが蓄積される蓄積範囲を決定することを含み得る。仮想現実コンテンツレンダリングシステムは、本明細書に記載されたように、選択された任意の視点から透視図に沿って平行移動することにより、選択された任意の視点に最も近い深さ値をオフセットすることにより蓄積範囲を決定し得る。仮想現実コンテンツレンダリングシステムは、蓄積パスにおける使用のために、蓄積範囲の遠値を表すデータのように、蓄積範囲を表すデータを記憶し得る。
【０１３８】
深さパスは、深さテストと深さ書き込み用に設定できるが、カラー書き込みは無効である。したがって、仮想現実コンテンツレンダリングシステムは、深さパス中にデータを深さバッファに書き込み得る。深さバッファに書き込まれたデータは、所定の深さオフセット（すなわち、蓄積範囲の遠値）までオフセットされた最前面の深さサンプル値を含み得る。仮想現実コンテンツレンダリングシステムは、蓄積パスの前に深さバッファをクリアしないように構成され得、これによって、深さバッファは、蓄積パスで実行される固定機能深さテストに入力を提供し得る。これは、決定された蓄積範囲外のサンプル（たとえば、蓄積範囲の遠値を超えるサンプル）のハードウェア加速された却下を提供し得、蓄積範囲外のサンプル（たとえば、深さオフセットを超えるサンプル）は、ラスタライゼーションから出力されない。蓄積範囲内のサンプル（すなわち、蓄積範囲の遠値の前にあるサンプル）が選択され、描画された画像ビューに寄与する。
【０１３９】
動作２１０８において、仮想現実コンテンツレンダリングシステムは、蓄積パスを実行し得る。蓄積パスは、仮想現実コンテンツレンダリングシステムが、本明細書に記載されたように、受信した深さデータ（たとえば、３Ｄシーン内のオブジェクトの位置を表すキャプチャされた深さデータ）およびメタデータ（たとえば、観測点視野座標）を、共通の仮想３Ｄ空間内の３Ｄ座標に変換し、観測点の２Ｄ入力メッシュを仮想３Ｄ空間における３Ｄ座標に投影し、仮想３Ｄ空間に投影される部分３Ｄメッシュを形成することを含み得る。蓄積パスはまた、閉塞されたサンプルを識別および省略するために、仮想現実コンテンツレンダリングシステムが、仮想３Ｄ空間内の選択された任意の視点の透視図から、たとえば深さテストによって、深さデータを集めることを含み得る。蓄積パスはまた、仮想現実コンテンツレンダリングシステムが、本明細書に記載されたように、部分３Ｄメッシュのプリミティブのブレンド重み付けを決定することを含み得る。
【０１４０】
蓄積パスはまた、仮想現実コンテンツレンダリングシステムが、本明細書に記載するように、仮想３Ｄ空間内の選択された任意の視点から投影される部分３Ｄメッシュの透視画像ビューをラスタライズし、２Ｄカラーデータから（たとえば、入力２Ｄ座標におけるカラービデオストリームから）、深さパスで確立された蓄積領域内にある投影される部分３Ｄメッシュの３Ｄ座標のカラーサンプルを蓄積することを含み得る。透視画像ビューのカラーサンプルは、本明細書に記載されたようにフレームバッファに蓄積され得る。特定の例では、蓄積は、加算ブレンドを使用して、すべてのフラグメント出力の合計を蓄積し得る。このブレンドは、特定の実施では、固定機能動作であり得る。蓄積パスで決定されたブレンド重み付けを使用して、蓄積されたカラーサンプルを乗算し得る。これらは、ともに加算され、本明細書に記載されたように、すべてのフラグメントの重み付け合計を決定し得る。
【０１４１】
蓄積パスは、深さテストとカラー書き込み用に設定できるが、深さ書き込みは無効である。したがって、本明細書に記載されたように、仮想現実コンテンツレンダリングシステムは、蓄積パス中に蓄積されたカラーサンプルデータを、中間の高精度フレームバッファに書き込み得る。
【０１４２】
動作２１１０において、仮想現実コンテンツレンダリングシステムは、重み付け平均分割パスを実行し得る。重み付け平均分割パスは、仮想現実コンテンツレンダリングシステムが、蓄積された重み付けカラーサンプルを、ブレンド重み付けの合計で除し、蓄積カラーサンプルの重み付け平均を決定することを含み得る。仮想現実コンテンツレンダリングシステムは、ステップ２１１２において、決定された重み付け平均のフルスクリーンクワッド（たとえば、クリップ座標においてｘ／ｙ［−１，１］をカバーするクワッド）を出力（たとえば、ディスプレイ）フレームバッファに描画することができる。出力フレームバッファ内のコンテンツは、本明細書に記載されたように、部分３Ｄメッシュを生成、蓄積、およびブレンドする仮想現実コンテンツレンダリングシステムによって形成された仮想３Ｄ空間の透視画像ビューを表示するために、仮想現実コンテンツレンダリングシステムによって、および／または、仮想現実コンテンツレンダリングシステムを実施するメディアプレーヤデバイスによって使用され得る。
【０１４３】
特定の例では、方法２０００または方法２１００は、フレームの時間シーケンス内のフレームに対して実行され得る。フレームは、２Ｄカラーデータフレーム、深さデータフレーム、およびフレームに関連付けられた（たとえば、フレームに対応する時点に関連付けられた）メタデータを含み得る。したがって、方法２０００または方法２１００は、キャプチャされた３Ｄシーンを表す仮想３Ｄ空間の動的透視画像ビューのビデオ出力を作成するために、フレームの時間シーケンス内の他の各フレームに対して繰り返され得る。
【０１４４】
特定の実施形態では、本明細書に記載されたシステム、コンポーネント、および／または処理の１つまたは複数は、１つまたは複数の適切に構成されたコンピューティングデバイスによって実施および／または実行され得る。この目的のために、前述されたシステムおよび／またはコンポーネントの１つまたは複数は、本明細書に記載された処理の１つまたは複数を実行するように構成された少なくとも１つの非一時的なコンピュータ可読媒体上で具体化される任意のコンピュータハードウェアおよび／またはコンピュータによって実施される命令（たとえば、ソフトウェア）を含むか、この命令によって実施され得る。特に、システムコンポーネントは、１つの物理的コンピューティングデバイス上で実施され得るか、または、複数の物理的コンピューティングデバイス上で実施され得る。したがって、システムコンポーネントは、任意の数のコンピューティングデバイスを含むことができ、任意の数のコンピュータオペレーティングシステムを使用し得る。
【０１４５】
特定の実施形態では、本明細書に記載された処理の１つまたは複数は、非一時的なコンピュータ可読媒体に具体化され、１つまたは複数のコンピューティングデバイスによって実行可能な命令として少なくとも部分的に実施され得る。一般に、プロセッサ（たとえば、マイクロプロセッサ）は、非一時的なコンピュータ可読媒体（たとえば、メモリ等）から命令を受け取り、それらの命令を実行し、それによって、本明細書に記載された処理の１つまたは複数を含む１つまたは複数の処理を実行する。そのような命令は、様々な既知のコンピュータ可読媒体のいずれかを使用して記憶および／または送信され得る。
【０１４６】
（プロセッサ可読媒体とも称される）コンピュータ可読媒体は、コンピュータによって（たとえば、コンピュータのプロセッサによって）読み取られ得るデータ（たとえば、命令）の提供に関与する任意の非一時的な媒体を含む。そのような媒体は、不揮発性媒体および／または揮発性媒体を含むがこれらに限定されない多くの形態を採り得る。不揮発性媒体は、たとえば、光ディスクまたは磁気ディスク、およびその他の持続性メモリを含み得る。揮発性媒体は、たとえば、一般にメインメモリを構成するダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）を含み得る。コンピュータ可読媒体の一般的な形式は、たとえば、ディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、コンパクトディスク読取専用メモリ（「ＣＤ−ＲＯＭ」）、デジタルビデオディスク（「ＤＶＤ」）、他の任意の光学媒体、ランダムアクセスメモリ（「ＲＡＭ」）、プログラム可能な読取専用メモリ（「ＰＲＯＭ」）、電気的に消去可能なプログラム可能な読取専用メモリ（「ＥＰＲＯＭ」）、ＦＬＡＳＨ−ＥＥＰＲＯＭ、他の任意のメモリチップまたはカートリッジ、またはコンピュータが読み取り可能な他の任意の有形媒体を含む。
【０１４７】
図２２は、本明細書に記載された処理の１つまたは複数を実行するように具体的に構成され得る例示的なコンピューティングデバイス２２００を示す。図２２に示すように、コンピューティングデバイス２２００は、通信インフラストラクチャ２２１２を介して通信可能に接続された通信インターフェース２２０２、プロセッサ２２０４、記憶デバイス２２０６、入力／出力（「Ｉ／Ｏ」）モジュール２２０８、およびグラフィックカード２２１０を含み得る。例示的なコンピューティングデバイス２２００が図２２に示されているが、図２２に例示されるコンポーネントは、限定することは意図されていない。追加のまたは代替のコンポーネントが、他の実施形態において使用され得る。次に、図２２に示すコンピューティングデバイス２２００のコンポーネントが、さらに詳細に記載される。
【０１４８】
通信インターフェース２２０２は、１つまたは複数のコンピューティングデバイスと通信するように構成され得る。通信インターフェース２２０２の例は、（ネットワークインターフェースカードのような）有線ネットワークインターフェース、（無線ネットワークインターフェースカードのような）無線ネットワークインターフェース、モデム、オーディオ／ビデオ接続、および他の任意の適切なインターフェースを含むが、これらに限定されない。
【０１４９】
プロセッサ２２０４は、一般に、本明細書に記載された命令、処理、および／または動作の１つまたは複数のデータを処理、または実行を解釈、実行、および／または指示することができる処理ユニット（たとえば、中央処理ユニット）の任意のタイプまたは形態を表す。プロセッサ２２０４は、１つまたは複数のアプリケーション２２１４、または、記憶デバイス２２０６または別のコンピュータ可読媒体に記憶され得るような他のコンピュータ実行可能命令に従って動作の実行を指示し得る。
【０１５０】
記憶デバイス２２０６は、１つまたは複数のデータ記憶媒体、デバイス、または構成を含み得、データ記憶媒体および／またはデバイスの任意のタイプ、形態、および組合せを適用し得る。たとえば、記憶デバイス２２０６は、ハードドライブ、ネットワークドライブ、フラッシュドライブ、磁気ディスク、光ディスク、ＲＡＭ、ダイナミックＲＡＭ、他の不揮発性および／または揮発性データ記憶ユニット、またはその組合せまたは部分組合せを含み得るが、これらに限定されない。本明細書に記載されたデータを含む電子データは、一時的および／または永久に記憶デバイス２２０６に記憶され得る。たとえば、プロセッサ２２０４に対して、本明細書に記載された動作のいずれかを実行するよう指示するように構成された１つまたは複数の実行可能アプリケーション２２１４を表すデータが、記憶デバイス２２０６内に記憶され得る。いくつかの例では、データは、記憶デバイス２２０６内に存在する１つまたは複数のデータベースに配置され得る。特定の例では、記憶デバイス２２０６は、表面データ、メタデータ、データストリーム、ビデオストリーム、トランスポートストリーム、および／または、機能１０２によって受信、生成、管理、維持、使用され、および／または、機能１０２へ送信される、他の任意のデータを維持し得る。記憶デバイス２２０６はさらに、本明細書に記載された動作の１つまたは複数を実行するために機能１０２によって使用され得るような他の任意のデータを含み得る。
【０１５１】
Ｉ／Ｏモジュール２２０８は、ユーザ入力を受信し、ユーザ出力を提供するように構成された１つまたは複数のＩ／Ｏモジュールを含み得る。単一の仮想現実体験の入力を受信するために、１つまたは複数のＩ／Ｏモジュールが使用され得る。Ｉ／Ｏモジュール２２０８は、入力機能および出力機能をサポートする任意のハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せを含み得る。たとえば、Ｉ／Ｏモジュール２２０８は、キーボードまたはキーパッド、タッチスクリーンコンポーネント（たとえば、タッチスクリーンディスプレイ）、受信機（たとえば、ＲＦまたは赤外線受信機）、動きセンサ、および／または１つまたは複数の入力ボタンを含むが、これらに限定されない、ユーザ入力をキャプチャするためのハードウェアおよび／またはソフトウェアを含み得る。
【０１５２】
Ｉ／Ｏモジュール２２０８は、グラフィックエンジン、ディスプレイ（たとえば、ディスプレイスクリーン）、１つまたは複数の出力ドライバ（たとえば、ディスプレイドライバ）、１つまたは複数のオーディオスピーカ、および１つまたは複数のオーディオドライバを含むがこれらに限定されない、出力をユーザに提示するための１つまたは複数のデバイスを含み得る。特定の実施形態では、Ｉ／Ｏモジュール２２０８は、ユーザに提示するためにグラフィックデータをディスプレイに提供するように構成される。グラフィックデータは、特定の実施に役立ち得るように、１つまたは複数のグラフィックユーザインターフェースおよび／または任意の他のグラフィックコンテンツを表し得る。Ｉ／Ｏモジュール２２０８は、特定の実施から省略され得る。
【０１５３】
いくつかの例では、本明細書に記載された機能のいずれかは、コンピューティングデバイス２２００の１つまたは複数のコンポーネントによって、またはその内部で実施され得る。たとえば、記憶デバイス２２０６内に存在する１つまたは複数のアプリケーション２２１４は、プロセッサ２２０４に対して、仮想現実コンテンツレンダリングシステム１００（図１参照）のレンダリング機能１０２に関連付けられた１つまたは複数の処理または機能を実行するように指示するように構成され得る。あるいは、記憶デバイス２２０６内に存在する１つまたは複数のアプリケーション２２１４は、プロセッサ２２０４に対して、データ復号／逆多重化システム１６１０（図１６参照）に関連付けられた１つまたは複数の処理または機能を実行するよう指示するように構成され得る。同様に、システム１００の記憶機能１０４は、記憶デバイス２２０６によって、または記憶デバイス２２０６内で実施され得る。
【０１５４】
グラフィックカード２２１０は、専用のビデオ復号ハードウェア（たとえば、１つまたは複数の専用のビデオデコーダ）およびプログラム可能なＧＰＵ２２１６を有する任意の適切なグラフィックカード（たとえば、市販のグラフィックカード）を含み得る。特定の実施形態では、グラフィックカード２２１０は、追加のコンポーネントを含み得る。グラフィックカード２２１０および／またはＧＰＵ２２１６は、本明細書に記載された例示的な動作の１つまたは複数を実行する際にプロセッサ２２０４を実行および／または支援するように構成され得る。グラフィックカード２２１０は、特定の実施に適し得るように、任意の適切な数のグラフィックカードおよび／またはＧＰＵを含み得る。
【０１５５】
前述した実施形態が、個人によって提供された個人情報を収集、記憶、および／または使用する限り、そのような情報は、個人情報の保護に関して適用されるすべての法律に従って使用されるものとすることを理解されたい。それに加えて、このような情報の収集、記憶、および使用は、たとえば、状況および情報のタイプに応じて適切であり得る周知の「オプトイン」または「オプトアウト」処理を通じて、そのような活動に対する個人の同意の対象となり得る。個人情報の記憶および使用は、たとえば、特に機密情報の様々な暗号化および匿名化技術を通じて、情報のタイプを反映した安全な方式で適切に行われ得る。
【０１５６】
前述の記載では、添付の図面を参照して様々な例示的な実施形態が記載された。しかしながら、添付の特許請求の範囲に記載される本発明の範囲から逸脱することなく、様々な修正および変更がそれに行われ、追加の実施形態が実施され得ることが明らかであろう。たとえば、本明細書に記載された１つの実施形態の特定の特徴は、本明細書に記載された別の実施形態の特徴と組み合わされ得るか、または置換され得る。したがって、記載および図面は、限定的な意味ではなく、例示的な意味と見なされるべきである。
【図１】
2020522803.tif 000005
【図２】
2020522803.tif 000006
【図３】
2020522803.tif 000007
【図４】
2020522803.tif 000008
【図５】
2020522803.tif 000009
【図６】
2020522803.tif 000010
【図７】
2020522803.tif 000011
【図８】
2020522803.tif 000012
【図９】
2020522803.tif 000013
【図１０】
2020522803.tif 000014
【図１１】
2020522803.tif 000015
【図１２】
2020522803.tif 000016
【図１３】
2020522803.tif 000017
【図１４】
2020522803.tif 000018
【図１５】
2020522803.tif 000019
【図１６】
2020522803.tif 000020
【図１７】
2020522803.tif 000021
【図１８】
2020522803.tif 000022
【図１９】
2020522803.tif 000023
【図２０】
2020522803.tif 000024
【図２１】
2020522803.tif 000025
【図２２】
2020522803.tif 000026
【国際調査報告】
2020522803.tif 000027
2020522803.tif 000028
2020522803.tif 000029