異なるビデオ・データ・ストリームにおける異なるヴァンテージ・ポイントから表現されるバーチャル・オブジェクトと現実世界オブジェクトとに基づいて、融合現実シーンを生成するための方法及びシステムについて、本明細書にて説明する。例えば、より詳細に後述するが、融合現実シーン・キャプチャ・システムは、第1のフレームセットを受信することができ、前記第1のフレームセットは、第1の複数の表面データ・フレームを含むことができ、前記第1の複数の表面データ・フレームは、複数の3次元の(「3D」)キャプチャ・デバイスからのものであってもよく、前記キャプチャ・デバイスは、現実世界シーンの複数の異なるヴァンテージ・ポイントを有するように現実世界シーンに対して配置されてもよい。第1の複数の表面データ・フレームにおける各表面データ・フレームは、同一の特定の時間ポイントで、複数の3Dキャプチャ・デバイスにおける各3Dキャプチャ・デバイスによってキャプチャされてもよい。更には、各表面データ・フレームは、複数の異なるヴァンテージ・ポイントにおける異なる各ヴァンテージ・ポイントからキャプチャされてもよい。従って、各表面データ・フレームは、現実世界シーン内に含まれる1以上の現実世界オブジェクトの表面の色彩データ及び深度データを表現してもよく、前記表現は、各3Dキャプチャ・デバイスの各ヴァンテージ・ポイントから特定の時間ポイントで見えるときの表面に関するものであってもよい。
複数の3Dキャプチャ・デバイスから受信される第1のフレームセットに基づいて、並びに、他の時間ポイント(例えば、連続的な時系列における以前のポイント及び/又は以降のポイント)においてキャプチャされる複数の他のフレームセットに基づいて、融合現実シーン・キャプチャ・システムは、トランスポート・ストリームを生成してもよい。例えば、トランスポート・ストリームは、以下を含むことができる:複数の3Dキャプチャ・デバイスにおける3Dキャプチャ・デバイス各々に関する色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリーム(例えば、色彩ビデオ・データ及び深度ビデオ・データを表現し、それぞれ、3Dキャプチャ・デバイスの各ヴァンテージ・ポイントから、連続的な時系列にわたって見える)。
トランスポート・ストリームに基づいて、融合現実シーン・キャプチャ・システムは、エンティティ記述データを生成(例えば、生成(クリエイト)、アップデート等)することができ、前記エンティティ記述データは、融合現実シーンの3D空間内に含まれる複数のエンティティを表すことができる。例えば、複数のエンティティは、以下を含むことができる:バーチャル・オブジェクトであって、前記バーチャル・オブジェクトは、エンティティ記述データにおいて、バーチャル・オブジェクトの表面の色彩データ及び深度データへのリンクによって少なくとも部分的に定義されてもよく、前記色彩データ及び深度データは、融合現実シーン・キャプチャ・システムと通信可能に接続される資産ストレージ・システム内に記憶されてもよい。複数のエンティティは、更に以下を含むことができる:現実世界オブジェクトであって、前記現実世界オブジェクトは、エンティティ記述データにおいて、現実世界オブジェクトの表面の色彩データ及び深度データへのリンクによって、順番に少なくとも部分的に定義されてもよく、前記色彩データ及び深度データは、色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリーム(即ち、複数の3Dキャプチャ・デバイスから受信される第1のフレームセットと、複数の他のフレームセットとに基づいて生成されるビデオ・データ・ストリーム)内に含まれてもよい。更には、複数のエンティティは、以下を含むことができる:第2の複数の表面データ・フレームを含む第2のフレームセットがレンダリングされる前記3D空間への複数のバーチャル・ビューポイント。例えば、第2のフレームセット内に含まれる第2の複数の表面データ・フレームは、融合現実シーン・キャプチャ・システムと通信可能に接続される複数のサーバ・サイド3Dレンダリング・エンジンによってレンダリングされてもよく、前記第2の複数の表面データ・フレームは、融合現実シーンの3D空間内に含まれるバーチャル・オブジェクト及び現実世界オブジェクトの両方の表面の色彩データ及び深度データを表してもよい。
異なるビデオ・データ・ストリームにおける異なるヴァンテージ・ポイントから表現されるバーチャル・オブジェクトと現実世界オブジェクトとに基づいて、融合現実シーンを生成するための本明細書に記載のシステム及び方法は、様々な長所及び利点を提供することができる。一例として、本明細書に記載のシステム及び方法は、バーチャル3D空間の表現を提示するように構成されるメディア・プレーヤ装置のユーザに対して、メディア・プレーヤ装置を使用したバーチャル3D空間の体験を促進することができる。本明細書で使用するが、「3D空間」は、環境又は世界の3D表現(例えば、完全に仮想化された表現、又は、現実世界要素の再現に少なくとも部分的に基づく表現)を意味してもよく、前記環境又は世界は、ユーザが現実世界を体験するのと同様の方法でユーザが体験することができる。例えば、バーチャル・シーン又は融合現実シーンを体験するユーザは、3D空間内の周辺を動き回ることができ、並びに、3D空間内に含まれるオブジェクトを見たり、及び/又は、3D空間内に含まれるオブジェクトと相互作用することができる。幾つかの例において、3D空間は、完全に仮想化されてもよく(例えば、コンピュータで生成される)、及び、現実世界シーンを表現するのと同様の方法で表現されてもよい。他の例において、3D空間は、現実世界シーンからキャプチャされる1以上の現実世界オブジェクトに少なくとも部分的に基づいてもよい。
いずれのケースにおいても、本明細書に記載のシステム及び方法は、全体として、プロバイダ・システムからの、融合現実シーン(即ち、現実世界オブジェクト及びバーチャル・オブジェクトの両方を含むシーンのバーチャル3D空間)の3D空間のストリーミングを促進することができ、その結果、3D空間並びに前記3D空間内に含まれるバーチャル・オブジェクト及び現実世界オブジェクトを表すデータは、メディア・プレーヤ装置のユーザによって3D空間を体験するよりも前に、メディア・プレーヤ装置にプレロード又は記憶する必要がない。メディア・プレーヤ装置にとって融合現実シーンを提示するのに必要となる全てのデータはメディア・プレーヤ装置にストリーミングされてもよく、その結果、融合現実シーン・コンテンツを表すデータは、融合現実シーンをユーザに提示するよりも前に、ダウンロード、記憶、又はアクセス(例えば、ローカルな物理的なストレージの手段により)する必要がない。幾つかの例において、こうしたストリーミング能力は、融合現実シーンにおいてイベントが発生したときに、リアルタイムで、ユーザが、時間にセンシティブなコンテンツに関連する融合現実シーン(例えば、リアルタイムで発生する現実世界イベント又はバーチャル・イベント)を体験することを可能にすることができる。
更には、異なるビデオ・データ・ストリームにおける異なるヴァンテージ・ポイントから表現されるバーチャル・オブジェクトと現実世界オブジェクトとに基づいて、融合現実シーンを生成するための本明細書に記載のシステム及び方法は、融合現実シーンを表すバーチャル・リアリティ・メディア・コンテンツを、メディア・プレーヤ装置に提供することを促進し、その結果、バーチャル・リアリティ・メディア・コンテンツを、3D空間内の任意のバーチャル・ロケーション及び動的に選択可能なバーチャル・ビューポイントからレンダリングすることができる。具体的には、より詳細に後述するが、異なるバーチャル・ビューポイントからの融合現実シーンのフレームをレンダリングすることによって、融合現実シーン・キャプチャ・システム、及び/又は、前記融合現実シーン・キャプチャ・システムに関連する他のサーバ・サイド・システムは、データ・パイプライン内にフレームを含むことができ、当該データは、メディア・プレーヤ装置に対して以下を可能にするように構成されてもよい:3次元において、複数の2次元(「2D」)ビデオ・ストリームに基づいて、任意の且つ動的に選択可能なバーチャル・ビューポイントからの融合現実シーンの3D空間をレンダリングすること。例えば、2Dビデオ・データ・ストリーム(例えば、本明細書に記載の色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリーム)は、データ・パイプライン(例えば、1以上のトランスポート・ストリーム内でパッケージ化されて)内に含まれてもよい。しかし、2Dビデオ・データ・ストリームは、相対的に固定されたビューポイント(例えば、融合現実シーン・キャプチャ・システムによって生成され且つ管理されるエンティティ記述データにて表現される複数のエンティティに含まれる複数のバーチャル・ビューポイント)に関連してもよく、その一方で、メディア・プレーヤ装置は、メディア・プレーヤ装置のユーザに対して、3次元における融合現実シーンの3D空間を、任意のバーチャル・ビューポイント(例えば、2Dビデオ・データ・ストリームが関連する相対的に固定されるビューポイントとは不揃い(not aligned)の又はこれと関連しない固定されないビューポイント)から体験することを可能にすることができる。
結果として、メディア・プレーヤ装置は、3D空間を、任意のバーチャル・ビューポイントからレンダリングすることができ、その際に、3D空間に関連する可変で且つ潜在的に無限数の3Dモデルを表す3Dモデル・データをストリーミングする必要がない。例えば、バーチャル3D空間内に含まれる全てのオブジェクトの3Dモデルを表すデータを提供するのではなく、データ・パイプラインは、2Dビデオ・データ(例えば、色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリーム)を提供することができ、前記データは、幾つか(a few)のバーチャル・ビューポイントからの3D空間内の全ての現実世界オブジェクト及びバーチャル・オブジェクトを表すことができる。かくして、無限の数のオブジェクトを、融合現実シーンのレンダリングの際に再提示することができ、その際に、メディア・プレーヤ装置は、更なるデータ若しくは追加量のデータを受信する必要がなく、又は、追加のレンダリング作業を実行する必要がない(例えば、たった1つ又は2つのオブジェクトを有する融合現実シーンのレンダリングするのに必要な場合と比べて)。
更には、メディア・プレーヤ装置に既に記憶され、プレロードされたコンテンツに依拠することなく、融合現実シーンを表す全てのデータを、生成し、管理し、及び、メディア・プレーヤ装置に提供することにより、本明細書に記載のシステム及び方法は、以下のことを可能にすることができる:メディア・プレーヤ装置に記憶され、プレロードされるデータを変更することなく、プロバイダが、3D空間を生成又は変更すること(例えば、イベントが現実世界シーンで発生したときに、リアルタイムで又はほぼリアルタイムで)。結果として、融合現実シーンの生成を担うコンテンツ・クリエータ、又は、融合現実シーンを体験する1以上のユーザは、コマンドを融合現実シーン・キャプチャ・システムに提供することができ、融合現実シーンの態様を変更することができる(例えば、エンティティ(例えば、バーチャル・オブジェクト又は現実世界オブジェクト)を変更、置換、又は除去すること等)。そして、こうした変更は、瞬時に、ユーザにストリーミングされているデータに反映することができ、その結果、融合現実シーンは、リアルタイムで又はほぼリアルタイムで変更される。
同様に、コンピュータ的に高度な(例えば、特定のメディア・プレーヤ装置に関して法外に高い)様々なオペレーションは、融合現実シーン・キャプチャ・システムに関連する強力なコンピューティング・リソースによって実行されてもよいが、前記コンピューティング・リソースは、バーチャル・リアリティ・メディア・プロバイダによって操作されてもよく、そして、例えば、ユーザに関連するメディア・プレーヤ装置よりもさらに強力なコンピューティング・リソース(例えば、巨大サーバ等)に関連してもよい。例えば、融合現実シーン・キャプチャ・システムは、コンピュータ的に高度なオペレーションを実行して以下の動作を行ってもよい:バーチャル・オブジェクトを、融合現実シーン内の現実世界オブジェクトに統合すること、融合現実シーン内のオブジェクトに関する物理的なオペレーションを実行すること、オブジェクトに関する人工知能オペレーションを実行すること等。こうしたオペレーションは、クライアント・サイドではなく、サーバ・サイドで実行されるという理由から、ユーザが操作するメディア・プレーヤ装置は、特に、強力なコンピューティング・リソースに関連する必要性が無くてもよく、これにより、ユーザ・デバイス・リソースを維持し、送信帯域を最小化し、ユーザに利便性をもたらし(例えば、携行性、冷却の観点から等)、そして、ユーザがクライアント・サイド・メディア・プレーヤを所持する限り、様々なタイプのメディア・プレーヤ装置(例えば、様々な形態要素、様々な価格ポイントを伴う等)が、融合現実シーンをユーザに体験させることを可能にする。
様々な実施形態について、図面に言及しながら、以下、更に説明する。開示の方法及びシステムは、上述した1以上の利点を提供することができ、並びに/又は、様々な追加の若しくは/又は代替の利点を提供することができ、これらについては、本明細書で明らかになるであろう。
図1は、例示的な融合現実シーン・キャプチャ・システム100(「システム100」)を示し、前記システムは、融合現実シーンを生成するための物であり、前記生成は、少なくとも以下に基づく:異なるビデオ・データ・ストリームにおいて異なるヴァンテージ・ポイントから表現されるバーチャル・オブジェクト及び現実世界オブジェクト。示しているが、システム100は、限定されるものではないが、以下を含むことができる:、現実世界シーン・キャプチャ設備102、融合現実エンティティ・ステート・トラッキング設備104、及び、ストレージ設備106(互いに選択可能に且つ通信可能に接続される)。以下の点を理解されたい:設備102〜106は、図1では別個の設備として示されているが、設備102〜106は、より少ない数の設備(例えば、単独の設備に)に結合されてもよく、又は、特定の実施に寄与することができるより数多くの設備に分割されてもよい。幾つかの例において、設備102〜106各々は、特定の実施に寄与することができるものとして、複数の装置間、及び/又は複数のロケーション間に分散してもよい。設備102〜106各々については、本明細書に含まれる他の特定の図に言及しながら、以下、更に詳細に説明する。
現実世界シーン・キャプチャ設備102は、以下を含むことができる:1以上の物理的なコンピューティング・デバイス(例えば、ハードウェア及び/又はソフトウェア・コンポーネント(例えば、プロセッサ、メモリ、通信インターフェース、プロセッサが実行するためにメモリに記憶されるインストラクション等))。前記物理的なコンピューティング・デバイスは、データのキャプチャ及び獲得に関連する様々なオペレーションを実行することができ、そして、前記データを、融合現実シーンを生成するために使用することができ、前記生成は、異なるビデオ・データ・ストリームにおける異なるヴァンテージ・ポイントから表現されるバーチャル・オブジェクトと現実世界オブジェクトとに基づいてもよい。具体的には、例えば、現実世界シーン・キャプチャ設備102は、第1のフレームセットを受信することができ、前記第1のフレームセットは、複数の3次元の(3D)キャプチャ・デバイスからの第1の複数の表面データ・フレームを含むことができ、前記キャプチャ・デバイスは、現実世界シーンの複数の異なるヴァンテージ・ポイントを有するように現実世界シーンに対して配置されてもよい。
第1の複数の表面データ・フレーム内の各表面データ・フレームは、第1の複数の表面データ・フレーム内の他の表面データ・フレームと同一の特定の時間ポイントでキャプチャされてもよく、そして、前記第1の複数の表面データ・フレーム内の各表面データ・フレームは、複数の3Dキャプチャ・デバイスにおける各3Dキャプチャ・デバイスによって、複数の異なるヴァンテージ・ポイントにおける各ヴァンテージ・ポイントからキャプチャされてもよい。本明細書で使用するが、表面データ・フレームは、以下の場合には、「同一の特定の時間ポイントで」キャプチャされると言ってもよい:表面データ・フレームが、ある時間の瞬間に(即ち、ある時間範囲にわたって対象物を表すのとは対照的に)対象物(例えば、現実世界シーン内の現実世界オブジェクト)を効果的に表現できるのに十分なほど近い時間内でキャプチャされる場合(たとえ、表面データ・フレームが正確に同一の瞬間にキャプチャされなかったとしても)。例えば、特定の対象物がどれだけ動的であるか(例えば、1以上の現実世界オブジェクトが現実世界シーン内をどれだけ早く動くか等)に依存して、表面データ・フレームは、以下の場合に、同一の特定の時間ポイントでキャプチャされると考えてもよい:例えば、互いに数十又は数百ミリ秒(several tens or hundreds of milliseconds)内でキャプチャされる場合、又は、特定の実施に寄与することができる別の適切なタイムフレーム内(例えば、マイクロ秒内、ミリ秒内、秒内等)でキャプチャされる場合。かくして、各表面データ・フレームは、各3Dキャプチャ・デバイスの各ヴァンテージ・ポイントから特定の時間ポイントで表面が見えるときの現実世界シーン内に含まれる現実世界オブジェクトの表面の色彩データ及び深度データを表してもよい。
図示する目的で、図2は、例示的な構成200を示し、ここで、システム100(例えば、現実世界シーン・キャプチャ設備102)は、複数の3Dキャプチャ・デバイスと共同で動作し、例示的な現実世界シーンを表すデータをキャプチャし、前記現実世界シーンは、例示的な現実世界オブジェクトを含む。具体的には、図2に示すように、構成200は、現実世界シーン202を含み、前記現実世界シーン202は、現実世界オブジェクト204を含み、且つ、複数の3Dキャプチャ・デバイス206(例えば、3Dキャプチャ・デバイス206−1〜206−8)によって囲まれ、各々は、各ヴァンテージ・ポイント208(例えば、3Dキャプチャ・デバイス206−1に関連するヴァンテージ・ポイント208−1〜3Dキャプチャ・デバイス206−8に関連するヴァンテージ・ポイント208−8)に関連する。3Dキャプチャ・デバイス206は、システム100(例えば、上述したようにシステム100内の現実世界シーン・キャプチャ設備102)と通信可能に接続されてもよく、前記システム100は、は、各フレームセットを3Dキャプチャ・デバイス206から受信することができ、各フレームセットは、それぞれ、複数の表面データ・フレームを含むことができる。
本明細書で使用するが、「表面データ・フレーム」は、様々なタイプのデータを表現するデータセットを意味してもよく、前記様々なタイプのデータは、オブジェクト(例えば、現実世界オブジェクト、バーチャル・オブジェクト等)の表面に関連してもよく、前記表面は、3D空間にて、特定のヴァンテージ・ポイント又はバーチャル・ビューポイントから、特定の時間ポイントで又は3D空間に関連する別の時系列のポイントで見える物であってもよい。例えば、表面データ・フレームは、以下を含むことができる:3D空間に関する特定のヴァンテージ・ポイントから見たときのオブジェクトを表す色彩データ(即ち、イメージ・データ)並びに深度データ。かくして、複数の関連表面データ・フレームは、ともに連続してもよく、そして、特定のヴァンテージ・ポイントからあるシーンを閲覧又は体験したときの、そのシーン(例えば、バーチャル・シーン、現実世界シーン、融合現実シーン等)のビデオのような表現(色彩データのみならず深度データも表現する)を生成してもよい。特定の例において、表面データ・フレームは、更に以下に関連してもよい:他のタイプのデータ(例えば、オーディオ・データ、メタデータ(例えば、以下を含むメタデータ:表面データ・フレームに表現される特定のオブジェクトに関する情報、及び/又は、シーンに関連するヴァンテージ・ポイントに関する情報))、及び/又は、特定の実施に寄与することができる他のタイプのデータ。異なるヴァンテージ・ポイントに関連する表面データ・フレーム並びに関連する表面データ・フレームのシーケンスの例については、後で説明及び図示する。
本明細書で使用するが、「色彩データ」は、広義には任意のイメージ・データ、ビデオ・データ等を含むことができ、カラーでの表現又はグレースケール(即ち「白黒」)での表現に関わらず、これらのデータは、対象物(例えば、バーチャル・シーン、現実世界シーン、又は融合現実シーンの3D空間内に含まれる現実世界オブジェクト又はバーチャル・オブジェクト)が、特定の時間ポイントで又は特定の期間にわたって、特定のヴァンテージ・ポイントの視界からどのような外観を擁するかを表現することができる。色彩データは、以下に限定されない:任意の特定の形式、ファイル・タイプ、フレーム・レート、解像度、品質レベル、又は、様々な定義、並びに/若しくは当分野でイメージ・データ及び/若しくはビデオ・データを定義する規格に関連する他の特性。同様に、本明細書で使用するが、「深度データ」は、空間内の対象物の位置を表す任意のデータを含むことができる。例えば、現実世界オブジェクト又はバーチャル・オブジェクトを表す深度データは、以下を含むことができる:バーチャル・オブジェクトの表面上の異なるポイントについての、グローバル座標系(例えば、3D空間に関連する現実世界シーン、バーチャル・シーン、又は混合現実シーン3D空間に関連するグローバル座標系)に関する座標。
構成200の各要素については、以下詳細に説明する。
現実世界シーン202は、以下を表現することができる:任意の現実世界の景色、現実世界のロケーション、現実世界のイベント(例えば、ライブ・イベント等)、又は、特定の実施に寄与することができる現実世界に存在する他の対象物(例えば、バーチャル世界又は仮想世界にのみ存在するものとは対照的に)。図2の現実世界シーン202を表現する円によって示されるように、現実世界シーン202は、具体的には、線引きされたエリアであってもよい(例えば、ステージ、アリーナ等)。逆に、他の例において、現実世界シーン202は、さほど、区画化又は線引きされなくてもよい。例えば、現実世界シーン202は、以下を含むことができる:任意のインドア又はアウトドアの現実世界のロケーション(例えば、街の通り、ミュージアム、眺めの良い風景等)。特定の例において、現実世界シーン202は、現実世界のイベントに関連してもよい(例えば、スポーツ・イベント、ミュージカル・イベント、演劇又はシアターのプレゼン、大規模な祝事(例えば、タイムズ・スクエアでの大晦日、マルディ・グラ等)、政治的なイベント、又は任意の他の現実世界イベント)。同一の又は他の例において、現実世界シーン202は、以下に関連してもよい:フィクション化されるシーン(例えば、ライブ・アクションのバーチャル・リアリティのテレビ・ショー又は映画のセット)に関するセッティング、及び/又は特定の実施に寄与することができる任意の他のインドア又はアウトドアの現実世界のロケーションでの任意の他のシーンに関するセッティング。
従って、現実世界オブジェクト204は、生物又は無生物に関わらず、任意の現実世界オブジェクトを表現することができ、前記オブジェクトは、現実世界シーン202に関連(例えば、現実世界シーン202内又はその周辺に位置する)してもよく、そして、前記オブジェクトは、ヴァンテージ・ポイント208のうち少なくとも1つから検出可能(例えば、閲覧可能等)であってもよい。例えば、現実世界オブジェクト204は、明確性の目的から、比較的シンプルな幾何学的形状で描かれているが、以下の点を理解されたい:現実世界オブジェクト204は、様々なレベルの複雑さを有する様々なタイプのオブジェクトを表現することができる。例えば、幾何学的な形ではなく、現実世界オブジェクト204は、以下を表現することができる:任意のアニメーション若しくは非アニメーション・オブジェクト若しくは表面(例えば、人物又は別の生き物)、非透明な固体、液体、若しくは気体、不連続性に欠けるオブジェクト(例えば、壁、天井、若しくは床)、又は、本明細書に記載の若しくは特定の実施に寄与することができる任意の他のタイプのオブジェクト。
示しているが、現実世界オブジェクト204は、様々な表面を含むことができ、前記表面は、それぞれ光を反射することができ(例えば、現実世界シーン202における環境光、深度キャプチャ・デバイスによって発光される構造化光パターン内の赤外線等)、前記光は、3Dキャプチャ・デバイス206によって検出することができる。現実世界オブジェクト204を比較的シンプルに描写しているもの、現実世界オブジェクト204の表面の深度は、どの位置206及びどのヴァンテージ・ポイント208から表面を検出するかに基づいて、異なった外観を擁してもよく、これについては後で示す。換言すれば、現実世界オブジェクト204は、現実世界オブジェクト204が閲覧される視界(例えば、位置、ヴァンテージ・ポイント等)に基づいて、異なって見えてもよい。
3Dキャプチャ・デバイス206は、現実世界シーン202に関して、それぞれ固定されてもよい。例えば、現実世界シーン202及び3Dキャプチャ・デバイス206の両方は、静的であってもよく、又は、現実世界シーン202及び3Dキャプチャ・デバイス206は共に動いてもよい。幾つかの例において、例えば、構成200に示すように、3Dキャプチャ・デバイス206は、現実世界シーン202に関連して少なくとも2次元に沿って(例えば、平面に沿って(例えば、地面))現実世界シーン202を囲ってもよい。特定の例において、3Dキャプチャ・デバイス206は、3次元に沿って現実世界シーン202を囲ってもよい(例えば、現実世界シーン202の上下にも3Dキャプチャ・デバイス206を含めることによって)。3Dキャプチャ・デバイスの例については、後で更に詳細に説明する。
ヴァンテージ・ポイント208は、各3Dキャプチャ・デバイス206について、3Dキャプチャ・デバイス206から出ているドット線によって示されてもよい。幾つかの例において、構成200に示すように、ヴァンテージ・ポイント208は、現実世界シーン202に対して内向きに角度付けされてもよく、その結果、任意のバーチャル・ビューポイントから現実世界シーン202を後にレンダリングすることができるのに十分な視界から現実世界シーン202をキャプチャすることができる。更には、同一の又は他の例において、1以上のヴァンテージ・ポイント208は、外向きに(即ち、現実世界シーン202から離れるように)角度付けされてもよく、現実世界シーン202を囲むオブジェクト等をキャプチャすることができる。例えば、球状の360度キャプチャ・デバイス(外側に向かうヴァンテージ・ポイント)は、現実世界シーン202内の位置(明示しない)に配置してもよく、現実世界シーン202内に含まれるオブジェクトを追加の視界からキャプチャすることができ、及び/又は、現実世界シーン202外部のデバイスをキャプチャすることができる。これに加えて、又はこれに代えて、特定の例において、複数の外側に向かうヴァンテージ・ポイントは、現実世界シーンに対して、パノラマの、広角の、又は360度のビューのキャプチャを可能にすることができる。
特定の例において、システム100(例えば、現実世界シーン・キャプチャ設備102)は、1以上のネットワーク及び/又は任意の他の適切な通信インターフェース、プロトコル、及び技術により、3Dキャプチャ・デバイス206と通信可能に接続されてもよい。従って、こうした例において、現実世界シーン・キャプチャ設備102は、1以上のネットワーク並びに/又は他の通信インターフェース、プロトコル、及び技術の手段により、3Dキャプチャ・デバイス206から、第1の複数の表面データ・フレームを含む第1のフレームセット(並びに後述する他の複数の表面データ・フレームを含む他のフレームセット)を受信することができる。例えば、示すように、構成200中の様々な矢印は、3Dキャプチャ・デバイス206とシステム100との間の通信を表す。こうした通信は、以下の手段により実施されてもよい:ネットワークの手段により(例えば、有線又はワイヤレスなローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、プロバイダ・ネットワーク、インターネット等)、有線の通信インターフェース(例えば、Universal Serial Bus(「USB」))の手段により、ワイヤレス通信インターフェースの手段により、又は、特定の実施に寄与することができる任意の他の通信インターフェース、プロトコル、及び/若しくはテクノロジーの手段により。
他の例において、複数の3Dキャプチャ・デバイスは、システム100内に統合されてもよく、又は、前記システム100の一部として含まれてもよい(例えば、現実世界シーン・キャプチャ設備102の一部として)。かくして、こうした例において、現実世界シーン・キャプチャ設備102は、統合される3Dキャプチャ・デバイス206を使用して第1のフレームセットをキャプチャすることによって、第1のフレームセット(並びに他のフレームセット)を受信することができる。
構成200中の3Dキャプチャ・デバイス206が、どのようにして、現実世界シーン202を表す表面データ・フレーム(例えば、上述したように現実世界シーン・キャプチャ設備102が受信する第1のフレームセット内の第1の複数の表面データ・フレーム)をキャプチャするのかを示すべく、図3Aは、3Dキャプチャ・デバイス206−1を示し、前記デバイスは、図3B〜3Cにおいてグラフィカルに描写される表面データ・フレームをキャプチャする。
図3Aに示すように、(そして、図2にて同様に描写されるが)、3Dキャプチャ・デバイス206−1は、現実世界シーン202内の現実世界オブジェクト204に対して配置されてもよく、その結果、現実世界オブジェクト204のヴァンテージ・ポイント208−1を有してもよい。更には、図3Aが示すこととして(図2に示す他の3Dキャプチャ・デバイス206と同様に)、3Dキャプチャ・デバイス206−1は、以下を含むことができる:2Dビデオ・キャプチャ・デバイス302であって、前記デバイスは、色彩データ(例えば、フルカラー・イメージ又はグレースケール・イメージを表す2Dビデオ・データ)をキャプチャするように構成され、前記色彩データは、現実世界オブジェクト204及び/又は現実世界シーン202内に含まれる他のオブジェクトを表す、2Dビデオ・キャプチャ・デバイス302、;並びに、深度キャプチャ・デバイス304であって、深度データをキャプチャするように構成され、前記深度データは、現実世界オブジェクト204及び/又は現実世界シーン202内に含まれる他のオブジェクトを表す、深度キャプチャ・デバイス304。
2Dビデオ・キャプチャ・デバイス302は、任意の適切な2Dビデオ・キャプチャ・デバイス(例えば、ビデオ・カメラ等)により実装されてもよく、そして、2Dビデオ・キャプチャ・デバイス302は、2Dビデオ・データを、特定の実施に寄与することができる任意の態様でキャプチャすることができる。幾つかの例において、2Dビデオ・キャプチャ・デバイス302は、深度キャプチャ・デバイス304とは別個のデバイスであってもよい。総称すると、こうした別個のデバイス(例えば、並びに、機能的にデバイスを融合するために使用される任意の通信インターフェース及び/又は他のハードウェア若しくはソフトウェアのメカニズム)を、3Dキャプチャ・デバイス(例えば、3Dキャプチャ・デバイス206−1)と称してもよい。他の例において、図3Aに示すように、2Dビデオ・キャプチャ・デバイス302及び深度キャプチャ・デバイス304は、単独のデバイス(即ち、3Dキャプチャ・デバイス206−1)に統合されてもよく、前記単独のデバイスは、2Dビデオ・データ及び深度データの両方をキャプチャすることができ、これについては後述する。
別個のデバイスとして実装されるか、それとも2Dビデオ・キャプチャ・デバイス302に統合されるかに関わらず、深度データ・キャプチャ・デバイス306は、現実世界シーン202を表す深度データを、特定の実施に寄与することができる任意の態様でキャプチャすることができる。例えば、深度データ・キャプチャ・デバイス306は、1以上の深度マップ・キャプチャ技術を採用することができる(例えば、構造化光深度マップ・キャプチャ技術、立体視深度マップ・キャプチャ技術、タイム・オブ・フライト深度マップ・キャプチャ技術、別の適切な深度マップ・キャプチャ技術、又は、特定の実施に寄与することができる深度マップ・キャプチャ技術の任意の組み合わせ)。
深度データをキャプチャするのに使用される深度マップ・キャプチャ技術のタイプ及び数に関わらず、3Dキャプチャ・デバイス206−1が生成する各表面データ・フレームは、以下を含むことができる:ヴァンテージ・ポイント208−1からの現実世界オブジェクト204の表面を表す色彩データ及び深度データの両方。同様に、他の3Dキャプチャ・デバイス206がキャプチャする他の表面データ・フレームは、以下を含むことができる:他の3Dキャプチャ・デバイス206に関連する各ヴァンテージ・ポイント208からの現実世界オブジェクト204の表面を表す色彩データ及び深度データ。
図3B〜3Cは、3Dキャプチャ・デバイス206−1がキャプチャする表面データ・フレームを表すデータの例示的なグラフィカルな描写を示す。具体的には、示すように、表面データ・フレームは、以下の少なくとも2種類の固有のデータセットを含むことができる:色彩データ306(図3Bに示す)及び深度データ308(図3Cに示す)。
図3Bにおいて、色彩データ306は、現実世界シーン202内の現実世界オブジェクト204を描写し、前記現実世界シーンは、3Dキャプチャ・デバイス206−1内の2Dビデオ・キャプチャ・デバイス302によって、ヴァンテージ・ポイント208−1の視界から見たときのものである。色彩データ306は、ビデオ・フレームのシーケンスにおいて、単独のビデオ・フレームを表すことができるため、色彩データ306によって表現される現実世界オブジェクト204の描写は、以下を表すことができる:特定の時間ポイントでヴァンテージ・ポイント208−1から現実世界オブジェクト204(例えば、並びに現実世界シーン202に関連する他のオブジェクト)がどのように見えるか。図3Bにおいてイメージとして示されるが、以下の点を理解されたい:色彩データ306は、任意の適切な形態で、キャプチャ、エンコード、フォーマット、送信、及び表現されてもよい。例えば、色彩データ306は、標準ビデオ・エンコーディング・プロトコル、標準イメージ・フォーマット等に従ってフォーマットされるデジタル・データであってもよい。幾つかの例において、色彩データ306は、現実世界シーン202におけるオブジェクトの色彩イメージ(例えば、カラー写真に類する物)を表現したものであってもよい。或いは、他の例において、色彩データ306は、オブジェクトを表すグレースケール・イメージ(例えば、白黒写真に類するもの)であってもよい。
図3Cにおいて、深度データ308も(色彩データ306と同様に)、ヴァンテージ・ポイント208−1の視界からの現実世界シーン202内の現実世界オブジェクト204を描写する。しかし、現実世界オブジェクト204の目に見える外観を表現する(即ち、どのように光が現実世界オブジェクト204の表面と相互作用するかについてカラー又はグレースケールで表す)のではなく、深度データ308は以下を表現したものであってもよい:例えば、3Dキャプチャ・デバイス206−1内の深度キャプチャ・デバイス304に対する、現実世界オブジェクト204(例えば、並びに現実世界シーン202内の他のオブジェクト)の表面の各ポイントの深度(即ち、距離又は位置)。色彩データ306と同様に、深度データ308は、任意の適切な形態で、キャプチャ、エンコード、フォーマット、送信、及び表現されてもよい。例えば、示すように、深度データ308は、グレースケール・イメージ・データによって表現されてもよい(例えば、深度キャプチャ・デバイス304によってキャプチャされる各ピクセルに関して6ビット又は8ビット)。しかし、光が現実世界オブジェクト204の表面からどのように反射するかについて表現(即ち、色彩データ306で表現)するのではなく、深度データ308のグレースケール・イメージは以下を表現したものであってもよい:イメージ中の各ピクセルに関して、そのピクセルによって表現されるポイントが、深度キャプチャ・デバイス304からどれほど離れているか。例えば、深度キャプチャ・デバイス304に、より近いポイントは、より暗いグレーの影を表現する値で表されてもよい(例えば、6ビット実装のケースで0b111111がブラックを表現している場合において、0b111111に近いバイナリな値)。逆に、深度キャプチャ・デバイス304から、より離れているポイントは、より明るいグレーの影を表現する値で表されてもよい(例えば、6ビット実装のケースで0b000000がホワイトを表現している場合において、0b000000に近いバイナリな値)。
上述したように、現実世界シーン・キャプチャ設備102は、以下を受信してもよい(例えば、図2及び3A〜3Cに関連して説明したように、3Dキャプチャ・デバイス206から):第1の複数の表面データ・フレームを含む第1のフレームセット、並びに、複数の他の表面データ・フレームをそれぞれ含む1以上の他のフレーム・セット。図示する目的で、図4は、例示的な複数のフレームセット402(例えば、フレームセット402−1〜402−N)を示し、各フレームセットは、それぞれ複数の例示的な表面データ・フレームを含み、前記表面データ・フレームは、3Dキャプチャ・デバイス206によってキャプチャされ、異なるヴァンテージ・ポイント208からの現実世界シーン202を表現する。図4に示す表面データ・フレームの現実世界オブジェクト204の描写は、外観上、色彩データ306における現実世界オブジェクト204の描写と類似のものであってもよいが、各表面データ・フレームは、以下を含むことができる点を理解されたい:色彩データ(例えば、色彩データ306と類似のもの)、深度データ(例えば、深度データ308と類似のもの)、並びに/又は、現実世界オブジェクト204の表面、及び/若しくは、現実世界シーン202内に含まれる他のオブジェクトを表現するために使用することができる任意の他の適切なデータ。
図4は、更に、フレーム・シーケンス404(例えば、フレーム・シーケンス404−1〜404−8)を示し、上述したように、ビデオ・フレームの各シーケンスを、各個々の3Dキャプチャ・デバイス206によってどのようにキャプチャすることができるかを示す。具体的には、例えば、フレーム・シーケンス404−1は、3Dキャプチャ・デバイス206−1によって、ある時間のシーケンシャル・ポイントにてキャプチャされる表面データ・フレームのシーケンスを表現することができ、フレーム・シーケンス404−2は、3Dキャプチャ・デバイス206−2によって、ある時間の同一のシーケンシャルポイントにてキャプチャされる表面データ・フレームのシーケンスを表現することができ、以下同様であってもよい。従って、フレームセット402−1と、前記フレームセット402−1内に描写される現実世界オブジェクト204の異なる視界とによって示されるが、現実世界シーン202は、特定のフレームセット(例えば、フレームセット402−1)に含まれる異なる表面データ・フレームにおいて、異なるヴァンテージ・ポイント208から見たものとして表現されてもよい。例えば、フレームセット402−1に含まれる第1の表面データ・フレーム(即ち、トップに示され、フレーム・シーケンス404−1内に含まれる表面データ・フレーム)は、ヴァンテージ・ポイント208−1からキャプチャされる色彩データ及び深度データを表してもよく、フレームセット402−1に含まれる第2の表面データ・フレーム(即ち、フレーム・シーケンス404−2内に含まれる表面データ・フレーム)は、ヴァンテージ・ポイント208−2からキャプチャされる色彩データ及び深度データを表してもよく、以下同様であってもよい。フレームセット402−1の後に続く、他のフレームセット402(即ち、「402−2...N」としてラベルされるフレームセット402−2〜402−N)それぞれのケースについても同様であってもよい。
図1に戻ると、融合現実エンティティ・ステート・トラッキング設備104は、以下を含むことができる:1以上の物理的なコンピューティング・コンポーネント(例えば、現実世界シーン・キャプチャ設備102の物とは別個のハードウェア及び/若しくはソフトウェア・コンポーネント、又は、現実世界シーン・キャプチャ設備102と共有されるハードウェア及び/若しくはソフトウェア・コンポーネント)、ここで、前記コンピューティング・コンポーネントは、様々なオペレーションを実行することができ、前記様々なオペレーションは、エンティティ記述データを準備、生成、及び/又は、管理することに関連してもよく、前記エンティティ記述データは、異なるビデオ・データ・ストリームにおける異なるヴァンテージ・ポイントから表現されるバーチャル・オブジェクトと現実世界オブジェクトとに基づいて、融合現実シーンを生成するために使用されるものであってもよい。例えば、融合現実エンティティ・ステート・トラッキング設備104は、以下に基づいて、トランスポート・ストリームを生成してもよい:複数の3Dキャプチャ・デバイス(例えば、3Dキャプチャ・デバイス206)から現実世界シーン・キャプチャ設備102が受信した第1のフレームセット(例えば、フレームセット402−1);並びに、現実世界シーン・キャプチャ設備102が受信し、他の時間ポイント(例えば、ある期間にわたって現実世界シーン202を表現できるように、第1のフレームセットのキャプチャの直前及び/又は直後)でキャプチャされた複数の他のフレームセット(例えば、フレームセット402−1〜402−N)。
本明細書で使用するが、「データ・ストリーム」及び「トランスポート・ストリーム」は、以下を目的として、データをパッケージ化するために使用されるデータ構造を意味してもよい。データを、あるデバイス又はシステムから別の所へ送信(即ち、伝送)することを促進すること、データをレンダリングする、若しくは、処理する、若しくは分析すること、又は、特定の実施に寄与することができる他の目的。幾つかの例において、本明細書で使用するが、「トランスポート・ストリーム」は、単独のトランスポート・ストリームを意味してもよく、前記トランスポート・ストリームは、1以上の他のデータ・ストリーム(例えば、1以上のビデオ・データ・ストリーム)を含むことができ、及び/又は、他のデータ(例えば、メタデータ等)を含むことができる。例えば、融合現実エンティティ・ステート・トラッキング設備104が生成するトランスポート・ストリームは、以下を含むことができる:複数の3Dキャプチャ・デバイスにおける3Dキャプチャ・デバイス(例えば、3Dキャプチャ・デバイス206)各々に関する色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリーム。換言すれば、単独のトランスポート・ストリームを用いて、以下を伝送することができる:全てのビデオ・データ・ストリーム(例えば、各3Dキャプチャ・デバイスに関する1つの色彩ビデオ・データ・ストリーム、及び、各3Dキャプチャ・デバイスに関する1つの深度ビデオ・データ・ストリーム);並びに、特定の実施において伝送目的でシステム100が含む任意のメタデータ又は他の適切なデータ。他の例において、本明細書で使用するが、「トランスポート・ストリーム」は、集合的にすべてのビデオ・データ・ストリームを伝送する複数のトランスポート・ストリームを意味してもよい。例えば、「トランスポート・ストリーム」は、個々のトランスポート・ストリームの集合を意味してもよく、各々は、異なる特定の3Dキャプチャ・デバイスの色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリームを含むことができ、又は、各々は、特定の実施に寄与することができる複数の色彩ビデオ・データ・ストリーム及び/又は深度ビデオ・データ・ストリームを含むことができる。
図示する目的で、図5は、例示的な色彩ビデオ・データ・ストリーム500−1−C、及び、例示的な深度ビデオ・データ・ストリーム500−1−Dを示し、両者とも、特定の3Dキャプチャ・デバイス206がキャプチャする表面データ・フレームに基づいており、特定のヴァンテージ・ポイント208からの現実世界シーン202を表現する。具体的には、示すように、色彩ビデオ・データ・ストリーム500−1−Cは、以下を含むことができる:フレーム・シーケンス404−1内に含まれる表面データ・フレームの色彩データ部分(フレーム・シーケンスの深度部分とは対照的に、フレーム・シーケンスの色彩(「C」)部分を示すべくフレーム・シーケンス404−1−Cとしてラベルされる)。一方で、深度ビデオ・データ・ストリーム500−1−Dは、以下を含むことができる:フレーム・シーケンス404−1内に含まれる表面データ・フレームの深度データ部分(フレーム・シーケンスの色彩部分とは対照的に、フレーム・シーケンスの深度(「D」)部分を示すべく、フレーム・シーケンス404−1−Dとしてラベルされる)。
色彩ビデオ・データ・ストリーム500−1−Cは、以下を示すようにラベル付けされる:ビデオ・データ・ストリームが、現実世界シーン202の第1の(「1」)視界に関連すること(即ち、3Dキャプチャ・デバイス206−1、ヴァンテージ・ポイント208−1、フレーム・シーケンス404−1等に関連する);及び、ビデオ・データ・ストリームが、深度データではなく色彩(「C」)データに関連すること。同様に、深度ビデオ・データ・ストリーム500−1−Dは、以下を示すようにラベル付けされる:ビデオ・データ・ストリームが、現実世界シーン202上の第1の(「1」)視界にも関連するが、しかし、色彩データではなく、深度(「D」)データに関連すること。以下の点を理解されたい:追加のビデオ・データ・ストリーム500(即ち、図5には示さないが本明細書の他の図に示されるビデオ・データ・ストリーム500)は、同様にラベル付けされ、そして、参照されてもよい。ビデオ・データ・ストリーム500(例えば、ビデオ・データ・ストリーム500−1−C、500−1−D、本明細書で言及する他のビデオ・データ・ストリーム500)は、特定の実施に寄与することができる任意のプロトコル、フォーマット等を使用して、生成、記憶、送信、及び/又は実装されてもよい。例えば、特定の実施において、フレーム・シーケンス404−1−C及び404−1−Dからの色彩データ及び深度データ(例えば、並びに1以上の追加のフレーム・シーケンスからの色彩データ及び/又は深度データ)は、タイル・マップ・ピング技術又はテクスチャ・アトラシング技術を使用して、単独のビデオ・データ・ストリームの各フレームの個別の部分(例えば、個別のタイル、スプライト等)内で表現されてもよい。
図6は、例示的なトランスポート・ストリーム600を示し、前記トランスポート・ストリーム600は、色彩ビデオ・データ・ストリーム500−1−C及び深度ビデオ・データ・ストリーム500−1−Dを、他の色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリームと共に含む。具体的には、示すように、図6は、単独のトランスポート・ストリーム600を示し、前記トランスポート・ストリーム600は、以下を含む:図2に示す3Dキャプチャ・デバイス206及びヴァンテージ・ポイント208それぞれに関連する色彩ビデオ・データ・ストリーム(即ち、色彩ビデオ・データ・ストリーム500−1−C〜500−8−C);並びに、3Dキャプチャ・デバイス及びヴァンテージ・ポイントそれぞれに関連する深度ビデオ・データ・ストリーム(即ち、深度ビデオ・データ・ストリーム500−1−D〜500−8−D)。他の例において、トランスポート・ストリーム600は、特定の実施に寄与することができる他のプロトコル、フォーマット等を使用して、生成、記憶、送信、及び/又は、実装されてもよい。例えば、上述したように、様々なフレーム・シーケンスからのデータは、タイル・マップ・ピング技術等を使用して、1つのビデオ・データ・ストリーム(又は、図6に示す場合よりも少ないビデオ・データ・ストリームを有する複数のビデオ・データ・ストリーム)へパックされてもよい。又は、別個のトランスポート・ストリームを使用して、色彩ビデオ・データ・ストリーム、及び、深度ビデオ・データ・ストリームの各セットを含んでもよい(例えば、1つのトランスポート・ストリームがビデオ・データ・ストリーム500−1−C及び500−1−Dを含み、別のトランスポート・ストリームがビデオ・データ・ストリーム500−2−C及び500−2−Dを含み、以下同様)。
図1に戻ると、融合現実エンティティ・ステート・トラッキング設備104が生成するトランスポート・ストリーム(例えば、トランスポート・ストリーム600内に含まれる色彩データ、深度データ、及び他のデータ)に基づいて、融合現実エンティティ・ステート・トラッキング設備104は、エンティティ記述データを生成してもよく、前記エンティティ記述データは、融合現実シーンの3D空間内に含まれる複数のエンティティを表してもよい。融合現実エンティティ・ステート・トラッキング設備104は、エンティティ記述データを、任意の適切な方法で生成することができる。例えば、融合現実エンティティ・ステート・トラッキング設備104は、融合現実シーンの複数のエンティティを表すエンティティ記述データを、生成、アップデート、受信、トラッキング、管理、分析、オーガナイズ、及び/又は、処理することができる。後で更に詳述するが、融合現実エンティティ・ステート・トラッキング設備104も、コマンドを受信することができ、エンティティ記述データを変更することができ(例えば、1以上のエンティティを変更する(例えば、エンティティを追加、削除、置換、移動、回転、拡大、又は変更することによって))、そして、エンティティ記述データを変更することによって、コマンドを実行することができる。融合現実エンティティ・ステート・トラッキング設備104は、ストレージ設備106と共同で動作することにより、更に、データを生成することができ、前記ストレージ設備106は、各エンティティに対する動的な変更を表す生成されるデータへのアップデートを記憶及び管理することができる。
本明細書で使用するが、エンティティ記述データが生成される「エンティティ」は、バーチャル3D空間(例えば、融合現実シーンの3D空間)に関連する可能性がある任意の現実世界アイテム又はバーチャル・アイテムを意味してもよい。例えば、融合現実エンティティ・ステート・トラッキング設備104がデータを生成するエンティティのなかで、融合現実シーンの3D空間は、以下を含むことができる:バーチャル・エンティティ(例えば、1以上のバーチャル・オブジェクト、及び/又は、3D空間への複数のバーチャル・ビューポイント(例えば、様々な異なる視界から3D空間をキャプチャするように、3D空間に関して特定の方法で位置及び角度づけされるバーチャル・キャプチャ・デバイスと同様であってもよい));上述したように、3Dキャプチャ・デバイスがデータをキャプチャした現実世界エンティティ(例えば、3Dキャプチャ・デバイス206がデータをキャプチャした現実世界オブジェクト204);及び/又は、特定の実施に寄与することができる任意の他の現実世界エンティティ若しくはバーチャル・エンティティ。
後で更に詳述するが、エンティティ記述データが生成される3D空間内に含まれる各エンティティは、エンティティ記述データにおいて、特定の実施に寄与することができる任意の方法で定義されてもよい。例えば、エンティティ記述データ自体(例えば、後述するように、ストレージ設備106に記憶されてもよい)は、以下を含むことができる:3D空間内の特定のエンティティの状態を定義するデータ(例えば、3D空間内のエンティティの位置に関連する座標情報、3D空間内のエンティティの配向に関連する配向情報、3D空間内でエンティティをどれだけ大きく見えるようにするかに関連するサイズ情報等)。しかし、幾つかの例において、特定のエンティティに関連する特定の情報(例えば、3Dモデル、テクスチャを表すバイナリ情報等)は、エンティティ記述データの一部として直接管理されなくてもよく、むしろ、エンティティ記述データとは別に管理されてもよく、エンティティ記述データからのリンクが形成されてもよい。
例えば、融合現実エンティティ・ステート・トラッキング設備104がエンティティ記述データを生成する複数のエンティティは、以下を含むことができる:バーチャル・オブジェクトの表面の色彩データ及び深度データへのリンクによってエンティティ記述データにおいて少なくとも部分的に定義されるバーチャル・オブジェクト(ここで、色彩データ及び深度データは、資産ストレージ・システム内に記憶することができ、前記資産ストレージ・システムは、システム100と通信可能に接続され、及び/又は、システム100内に統合されてもよい)。複数のエンティティは、更に以下を含むことができる:例えば、上述した3Dキャプチャ・デバイス206によってキャプチャされる現実世界オブジェクト204。かくして、現実世界オブジェクト204は、エンティティ記述データにおいて少なくとも部分的に定義されてもよく、前記定義は、現実世界オブジェクト204の表面の色彩データ及び深度データへのリンクによってもよく、前記色彩データ及び深度データは、色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリーム内に含まれてもよく、色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリームは、トランスポート・ストリーム内に含まれてもよい(例えば、トランスポート・ストリーム600内に含まれる色彩ビデオ・データ・ストリーム500−1−C〜500−8−C及び深度ビデオ・データ・ストリーム500−1−D〜500−8−D)。更には、複数のエンティティは、以下を含むことができる:第2の複数の表面データ・フレームを含む第2のフレームセットがレンダリングされる3D空間への複数のバーチャル・ビューポイント。例えば、第1のフレームセット(即ち、フレームセット402−1)及び上述した他のフレームセット(即ち、フレームセット402−2〜402−N)内に含まれる表面データ・フレーム(ここで、表面データ・フレームは、現実世界シーン202における現実世界オブジェクト204の色彩データ及び深度データを表す)とは対照的に、第2のフレームセット内に含まれる第2の複数の表面データ・フレームをレンダリングして、以下を表現してもよい:融合現実シーンの3D空間内に含まれる現実世界オブジェクト204及び1以上のバーチャル・オブジェクトの両方の表面の色彩データ及び深度データ。現実世界オブジェクト及びバーチャル・オブジェクトの両方を表す第2のフレームセット及び追加のフレームセットについては、後で、更に詳しく、図示及び説明を行う。
幾つかの例において、システム100(例えば、システム100の融合現実エンティティ・ステート・トラッキング設備104又は別の設備)は、少なくとも1つのエンティティの状態を表すエンティティ記述フレームを生成することができる。例えば、システム100は、エンティティ記述フレームを、以下に基づいて生成することができる:融合現実エンティティ・ステート・トラッキング設備104が生成する複数のエンティティを表すエンティティ記述データ。エンティティ記述フレームは、1つ又は数個(a few)のエンティティを表現してもよく、幾つかの例において、複数のエンティティにおいて、全ての現実世界エンティティ及びバーチャル・エンティティを表現してもよく、前記表現は、融合現実シーンの3D空間内で、時系列での特定のポイントでのものであってもよい(例えば、リアルタイムでの特定の瞬間、リアルタイムとは無関係なバーチャル・タイムライン上の瞬間を表す特定のポイント等)。
本明細書で使用するが、「エンティティ記述フレーム」は、データセット(例えば、言語(例えば、Java Script Object Notation(「JSON」)等)において表現されるオブジェクト記述データを含む)を意味してもよく、前記データセットは、は、融合現実シーンの3D空間内に含まれる1以上のエンティティの状態を記述する。例えば、エンティティ記述フレームは、以下を含むことができる:時系列での特定のポイントでの3D空間内に含まれる幾つか(several)のエンティティそれぞれを記述するデータ。例えば、エンティティ記述フレームは、以下を含むことができる:状態データ(例えば、座標情報、配向情報、サイズ情報、及び上述した他のタイプの状態データ)、並びに、1以上の各エンティティに関する移動ベクトル、各エンティティの様々な表面に関する色彩及び/若しくはテクスチャ、並びに/又は特定の実施に寄与することができ、時系列で特定のポイントで特定のエンティティを記述するのに使用することができる任意の他の状態データ。幾つかの例において、エンティティ記述フレームは、以下を含むことができる:上述したエンティティ記述データに含まれるリンク(例えば、バーチャル・オブジェクトに関して資産ストレージ・システムへの、現実世界オブジェクトに関してトランスポート・ストリームへの等)。例示的なエンティティ記述フレームについては、後で更に詳しく、説明し、及び図示する。
いったん、システム100がエンティティ記述フレームを生成すると、システム100は、エンティティ記述フレームを、複数のサーバ・サイド3Dレンダリング・エンジンに提供することができ、前記複数のサーバ・サイド3Dレンダリング・エンジンは、コンテンツ提供システム(例えば、システム100、3Dレンダリング・エンジン、並びに、本明細書に記載のサーバ・サイドシステム、及びコンポーネントを組み込むバーチャル・リアリティ・メディア・コンテンツ・システム)に関連することができる。本明細書で使用するが、「サーバ・サイド」は、サーバとクライアントとの間のトランザクション(例えば、コンテンツ提供システムがコンテンツ(例えば、バーチャル・リアリティ・メディア・コンテンツ)をエンドユーザが使用するクライアント・デバイスに提供するトランザクション)のサーバ・サイド(例えば、プロバイダ・サイド)を指してもよい。例えば、より詳細に後述するが、バーチャル・リアリティ・メディア・コンテンツ提供システムは、バーチャル・リアリティ・メディア・コンテンツを、ユーザに関連するメディア・プレーヤ装置に提供することができる。かくして、サーバ・サイドシステム及びコンポーネントは、あるシステム及びコンポーネントを指すことができ、当該システム及びコンポーネントは、コンテンツ提供システムに関連することができ(例えば、内包される、実装される、相互運用される等)、当該コンテンツ提供システムは、データ(例えば、バーチャル・リアリティ・メディア・コンテンツ)を、メディア・プレーヤ装置に提供することできる(例えば、ネットワークの手段により)。一方で、「クライアント・サイド」デバイスは、クライアント・デバイス(例えば、メディア・プレーヤ装置)に関連することができ、クライアント・デバイスは、ネットワークの他方に位置するユーザによって使用することができ、「クライアント・サイド」デバイスは、以下を含むことができる:クライアント・デバイスがデータをコンテンツ提供システムから受信することを促進するデバイス(例えば、メディア・プレーヤ装置、及び/又は、ネットワークのユーザ・サイド上でユーザが操作する他のコンピュータ・コンポーネント)。
従って、後で図示及び説明を行うが、3Dレンダリング・エンジンは、ネットワークのサーバ・サイド上で実装されてもよく(即ち、システム100及び/又はコンテンツ提供システムの他の要素に関連してもよい)、当該実装は、システム100のハードウェア及び/又はソフトウェアのリソースと統合されてもよいハードウェア及び/若しくはソフトウェアのリソースによってもよく、又はこれらとは別個で且つこれらと通信可能に接続されるハードウェア及び/若しくはソフトウェアのリソースによってもよい。3Dレンダリング・エンジンは、それぞれ、3D空間への複数のバーチャル・ビューポイントからの異なるバーチャル・ビューポイントに関連してもよく、そして、前記3Dレンダリング・エンジンは、以下の動作を行うように構成されてもよい:(例えば、システム100が提供する同一のエンティティ記述フレームにそれぞれ基づいて)、第2のフレームセット(即ち、融合現実シーンの3D空間の現実世界オブジェクト及びバーチャル・オブジェクトの両方を表す第2のフレームセット)における第2の複数の表面データ・フレームに含まれる異なる各表面データ・フレームをレンダリングすること。
ストレージ設備106は、以下を記憶、及び/又は、管理することができる:任意の適切なデータであって、特定の実施において、設備102又は104によって、受信、生成、マネージメント、トラッキング、管理、使用、及び/又は送信されるデータ。例えば、示すように、ストレージ設備106は、現実世界オブジェクト・データ108並びにバーチャル・エンティティ・データ110を含むことができる。現実世界オブジェクト・データは、以下を含むことができる:融合現実シーンの3D空間内に含まれる1以上の現実世界オブジェクト(例えば、現実世界オブジェクト204)に関連するデータ(例えば、キャプチャされる色彩データ及び/又は深度データ、状態データ、エンティティ記述データ等)。並びに、バーチャル・エンティティ・データ110は、以下を含むことができる:1以上のバーチャル・オブジェクト又は3D空間へのバーチャル・ビューポイントに関連するデータ(例えば、色彩データ及び/又は深度データ、状態データ、エンティティ記述データ等)。更には、ストレージ設備106は、以下を含むことができる:融合現実シーンの3D空間内に含まれる他のタイプのエンティティに関連するデータ、本明細書に記載のオペレーションを実行するためのインストラクション(例えば、プログラミング・インストラクション)、及び/又は、本明細書に記載のオペレーションを実行する際に設備102及び104によって使用するのに適切な任意の他のデータ。例えば、ストレージ設備106は更に以下を含むことができる:表面データ・フレーム、エンティティ記述フレーム等に関連するデータ(例えば、オブジェクト記述データ、色彩データ、深度データ、オーディオ・データ、メタデータ等)。また、ストレージ設備106は、特定の実施に寄与することができる追加又は代替のデータを管理することができる。
幾つかの例において、システム100は、現実世界シーン内でイベントが発生しているときに、リアルタイムで又はほぼリアルタイムで、1以上の本明細書に記載のオペレーションを実行することができる。従って、システム100がバーチャル・リアリティ・メディア・コンテンツ・プロバイダ・パイプライン内で使用される(ここで、他のシステムもリアルタイムで動作する)実施において、バーチャル・リアリティ・メディア・コンテンツ(例えば、システム100がリアルタイムで生成する仮想化される表面データ・フレーム・シーケンスを含むバーチャル・リアリティ・メディア・コンテンツ)を、メディア・プレーヤ装置に提供することができ、その結果、メディア・プレーヤ装置の各ユーザは、現実世界シーンの近くに物理的に位置することができないが、現実世界シーン(例えば、現実世界シーン内で発生しているイベント)を体験することを望む可能性があり、ユーザは、各ユーザのメディア・プレーヤ装置を使用して、現実世界シーン、及び現実世界シーン内で発生しているイベントをライブ形式で(例えば、イベントが発生したときにリアルタイムで又はほぼリアルタイムで)仮想的に体験することができる。データ処理及びデータ配信について、現実世界シーン内でイベントが発生した時にユーザが現実世界シーンを正確に体験することが不可能となるような有限量の時間がかかる可能性がある。その一方で、本明細書で使用するが、オペレーションがすぐに且つ過度の遅延なく実行される場合、オペレーションは、「リアルタイム」又は「ほぼリアルタイム」で実行されると考えられる。従って、以下の場合であっても、ユーザが、現実世界シーンをリアルタイムで体験するといってもよい:ユーザが、現実世界シーン内にて、ある遅延の後(例えば、発生事象が実際に起こってから数秒後又は数分後(a few seconds or minutes))で特定のイベントを体験した場合。
特定の例において、システム100は、以下に関連してもよい:様々な他のサーバ・サイドシステム(例えば、3Dキャプチャ・デバイス、シーン制御システム、資産ストレージ・システム、ビデオ・データ・パッケージング・システム、3Dレンダリング・エンジン等)、これらは、コンテンツ提供システム(例えば、バーチャル・リアリティ・メディア・コンテンツ提供システム)内の様々な構成においてともに含まれてもよく、その目的としては、異なるビデオ・データ・ストリームにおける異なるヴァンテージ・ポイントから表現されるバーチャル・オブジェクトと現実世界オブジェクトとに基づいて融合現実シーンを生成するという目的、及び、ユーザに提示すべき融合現実シーンを表すデータ(例えば、バーチャル・リアリティ・メディア・コンテンツの一部として)を提供してユーザが融合現実シーンを体験することを可能にするという目的がある。
幾つかの実施において、以下の点を理解されたい:1以上のこの他のサーバ・サイド・システムは、システム100に統合されてもよく(例えば、内包されてもよい)、又は、システム100に密接に関連してもよい(例えば、システム100に通信可能に接続され、同一の又は関連するバーチャル・リアリティ・メディア・プロバイダ・エンティティによって操作される等)。例えば、特定の実施において、システム100は、以下を含むことができる:複数の3Dキャプチャ・デバイス(ここで、前記デバイスは、現実世界シーンの複数の異なるヴァンテージ・ポイントを有するように現実世界シーンに対して配置され、前記デバイスによって、現実世界シーン内に含まれる現実世界オブジェクトを表すデータをキャプチャする);バーチャル・オブジェクトの表面を表す色彩データ及び深度データを記憶する資産ストレージ・システム;資産ストレージ・システムと通信可能に接続される複数のサーバ・サイド3Dレンダリング・エンジン;並びに、複数の3Dキャプチャ・デバイス、資産ストレージ・システム、及び/又は、複数のサーバ・サイド3Dレンダリング・エンジンと通信可能に接続されるエンティティ・ステート・トラッキング・システム。エンティティ・ステート・トラッキング・システムは、設備102〜106に関連して上述した1以上のオペレーションを実行するように構成されてもよい。他の実施において、システム100は、これら他のサーバ・サイド・システムと統合されない別個の、スタンドアロンのシステムとして実装することができるが、しかし、むしろ、他のサーバ・サイド・システムと通信可能に接続されてもよく、及び/又は、特定の実施に寄与することができる他のサーバ・サイド・システムと相互運用するように構成されてもよい。
図示的な意味合いで、図7は、例示的な構成700を示し、ここで、システム100は、異なるビデオ・データ・ストリームにおける異なるヴァンテージ・ポイントから表現されるバーチャル・オブジェクトと現実世界オブジェクトとに基づいて、融合現実シーンを生成することを促進する。図7に示すように、システム100の実装については、以下と通信可能に接続されてもよい:複数のシーン制御システム702(例えば、シーン制御システム702−1〜702−M)、並びに、複数のサーバ・サイド3Dレンダリング・エンジン704(例えば、3Dレンダリング・エンジン704−1〜704−N)。例えば、システム100は、シーン制御システム702及び/又は3Dレンダリング・エンジン704と通信可能に接続されてもよく、前記接続は、1以上のネットワーク(例えば、本明細書に記載の任意のネットワーク又はネットワーク技術を含む)によってもよく、又は、特定の実施に寄与することができる他の通信モードによってもよい。構成700に示すように、設備102〜106に関連して上述したオペレーションを実行するエンティティ・ステート・トラッキング・システムは、システム100によって実装されてもよい。上述したように、他の実施において、システム100は、これらのオペレーションを実行するように構成されるエンティティ・トラッキング・システムと、構成700に示す1以上の他のシステム及び装置との両方を実現することができる。
複数のエンティティを表すエンティティ記述データ(例えば、以下を表すデータ:バーチャル・オブジェクト、現実世界オブジェクト、複数のバーチャル・ビューポイント、及び、上述したように、エンティティ記述データをシステム100によって生成する目的となる他のエンティティ)に基づいて、システム100は、時系列での特定のポイントで、融合現実空間の3D空間内に含まれる複数のエンティティにおける少なくとも1つのエンティティの状態を表すエンティティ記述フレームを生成することができる。システム100は、また、生成されるエンティティ記述フレームを、3Dレンダリング・エンジン704へ、エンティティ記述フレーム706として提供することができる(例えば、3Dレンダリング・エンジン704との通信接続を介して)。資産ストレージ・システム708(3Dレンダリング・エンジン704と通信可能に接続されてもよい)及びトランスポート・ストリーム600からリクエストされ及び受信されるエンティティ記述フレーム706並びにデータ(システム100又は別の適切なシステムのストレージ設備内に記憶されてもよい)に基づいて、3Dレンダリング・エンジン704は、複数の表面データ・フレーム710−1〜710−Nをレンダリングすることができる。具体的には、表面データ・フレーム710−1〜710−Nは、上述した第2の複数の表面データ・フレームを含む第2のフレームセットを実装することができ、そして、以降では、集合的にフレームセット710と称することができる。かくして、フレームセット710中の表面データ・フレーム710−1〜710−Nは、バーチャル・オブジェクト(例えば、図8に関連して後述するバーチャル・オブジェクト804)と現実世界オブジェクト(例えば、現実世界オブジェクト204)との両方の表面の色彩データ及び深度データを表すことができ、そして、表面データ・フレーム710−1〜710−Nは、ビデオ・データ・パッケージング・システム712に提供されてもよい。システム100及びトランスポート・ストリーム600は、上記にて詳細にしてきた。構成700に示す他のシステム及びアイテム各々については、以下詳細に説明する。
シーン制御システム702は、任意のコンピューティング・システムを表してもよく、以下の動作を行うように構成されてもよい:融合現実シーンの3D空間内に含まれる1以上のエンティティ(例えば、システム100が生成するデータに関連するエンティティ)に対する変更を要求すること、及び/又は、変更を実施すること。例えば、1以上のシーン制御システム702(例えば、シーン制御システム702−1)は、以下に関連(例えば、生成される、操作される等)してもよい:融合現実シーンの3D空間内に含まれるエンティティを表すデータを元々生成することを担うコンテンツ・クリエータ。更には、特定の実施において、1以上の他のシーン制御システム702(例えば、シーン制御システム702−2)は、以下に関連してもよい:融合現実シーンの3D空間を体験しているエンド・ユーザ。例えば、シーン制御システム702−2は、メディア・プレーヤ装置による手段により実装されてもよく、前記メディア・プレーヤ装置は、現時点でエンティティをレンダリングしており、メディア・プレーヤ装置のユーザに対して、融合現実シーンの3D空間内のエンティティを体験及び相互作用することを可能にすることができる。
システム100は、3D空間内に含まれる全ての現実世界エンティティ及びバーチャル・エンティティを表すデータの1つの統一なセットを生成することができる(例えば、各ーン制御システム702に関するエンティティを表すデータの別個のセットとは対照的に)という理由から、各シーン制御システム702がこうした変更を行うと、エンティティに対する変更を、データの統一なセットに反映させることができる。従って、複数のユーザ(即ち、異なるシーン制御システム702に関連する異なるユーザ)は、同じ融合現実シーンの同じ3D空間に対する変更を全て実効化できる。結果として、全てのシーン制御システム702が行った変更を、システム100が出力するエンティティ記述フレーム(例えば、エンティティ記述フレーム706)に反映させることができ、そして、前記変更は、3Dレンダリング・エンジン704によってレンダリングされる各表面データ・フレーム(例えば、フレームセット710内に含まれる表面データ・フレーム710−1〜710−N)に順番に反映させることができる。
シーン制御システム702が、3D空間内のエンティティをどのように変更することができるかを示すべく、図8は、複数のエンティティを含む例示的な融合現実シーン800を示す。示しているが、融合現実シーン800は、現実世界オブジェクト204(上述したように)並びにバーチャル・オブジェクト804を含む3D空間802に関連する。オブジェクト204及び804は、複数のバーチャル・ビューポイント806(例えば、バーチャル・ビューポイント806−1〜806−8)によって囲まれる。
上述した現実世界シーン202と同様に、融合現実シーン800は、任意の適切なサイズ、形、又はタイプのシーンを表現することができ、前記シーンは、融合現実要素を含むことができる(即ち、少なくとも1つのバーチャル・オブジェクト及び少なくとも1つの現実世界オブジェクトの表現を含むことができる)。例えば、図8において、3D空間802は円形状で示されるが、3D空間802は、具体的に線引きされたエリアを表してもよい(例えば、ステージ、アリーナ等)。逆に、他の例において、3D空間802は、さほど、区画化又は線引きされなくてもよい。例えば、3D空間802は、任意のインドア又はアウトドアのロケーションを表現してもよく、前記表現は、世界に基づいてもよく(例えば、現実世界シーン、イベント、風景、構造物等)、又は、仮想世界若しくは他のバーチャルな世界、イベント、風景、構造物等に基づいてもよい。
上述したように、現実世界オブジェクト204は、現実世界シーン(例えば、現実世界シーン202)からキャプチャされ、融合現実シーン800の3D空間802に投影される任意のオブジェクトを表現することができる。同様に、バーチャル・オブジェクト804は、現実世界オブジェクト204と共に3D空間802に投影されるバーチャル・オブジェクトを表現することができ、融合現実シーン800を生成することができる。かくして、バーチャル・オブジェクト804は、生物又は無生物に関係なく、任意のバーチャル・オブジェクトであってよく、前記バーチャル・オブジェクトは、バーチャル・ビューポイント806のうち少なくとも1つから検出可能(例えば、閲覧可能等)であってもよい。現実世界オブジェクト204と同様に、バーチャル・オブジェクト804について、明確性の目的から、比較的シンプルな幾何学的形状として描写しているが、以下の点を理解されたい:バーチャル・オブジェクト804は、様々なレベルの複雑さを有する様々なタイプのオブジェクトを表現することができる。例えば、幾何学的な形ではなく、バーチャル・オブジェクト804は以下を表現することができる:任意のアニメーション若しくは非アニメーション・オブジェクト若しくは表面(例えば、人物又は別の生き物)、非透明な固体、液体、若しくは気体、不連続性に欠けるオブジェクト(例えば、壁、天井、若しくは床)、又は、本明細書に記載の若しくは特定の実施に寄与することができる任意の他のタイプのオブジェクト。また、現実世界オブジェクト204と同様に、バーチャル・オブジェクト804は、様々な表面を含むことができ、その結果、バーチャル・オブジェクト804は、各異なるバーチャル・ビューポイント806から見たときに、異なって見える可能性があり、これについては後で示す。
また、3D空間802へのバーチャル・ビューポイント806は、融合現実シーン800内に示される。本明細書で使用するが、3D空間「への」バーチャル・ビューポイントは、任意の適切な方法で、3D空間に関して位置している、角度付けされている、配向を有する等のバーチャル・ビューポイントを意味してもよい。例えば、3D空間へのバーチャル・ビューポイントは、以下の特徴を有するバーチャル・ビューポイントであってもよい:3D空間内に含まれる;3D空間を見る視界を伴って3D空間の外側に位置する;他のバーチャル・ビューポイントと共に3D空間を囲む;及び/又は、任意の適切な方法で3D空間に関連する。その結果、その結果、3D空間の少なくとも一部のビューをもたらすことができる。
本明細書で使用するが、「バーチャル・ビューポイント」(例えば、バーチャル・ビューポイント806)は、現実世界シーンをキャプチャする3Dキャプチャ・デバイスに関連して説明した「ヴァンテージ・ポイント」(例えば、現実世界シーン202が上記図2に関連してキャプチャされるものとして説明した3Dキャプチャ・デバイス206のヴァンテージ・ポイント208等)とは異なるものの、類似してもよい。具体的には、バーチャル・ビューポイントは、以下の点でヴァンテージ・ポイントと類似してもよい:両方とも特定のタイプのシーン又は3D空間を閲覧する際の特定のロケーション、角度、及び/又は視界に関連する。このようにして、バーチャル・ビューポイントは、本明細書に記載の現実の、物理的な3Dキャプチャ・デバイスに類似したバーチャル3Dキャプチャ・デバイスと考えてもよい。しかし、ヴァンテージ・ポイントは、現実世界ロケーションに配置される物理的な3Dキャプチャ・デバイスに関係することができるものの、バーチャル・ビューポイントは、バーチャルな概念としてのみ存在することができる。
例えば、融合現実シーンの3D空間が現実世界シーンに基づく例において、バーチャル・ビューポイントは、現実世界シーンに関連するバーチャル・ロケーションに関連してもよい(例えば、現実世界シーンをキャプチャするヴァンテージ・ポイントのロケーション等のバーチャル・ロケーション)。しかし、3D空間が現実世界シーンに基づくか、又は、バーチャル・シーンに基づくかに関わらず、バーチャル・ビューポイントは、バーチャルなものにすぎず、従って、必ずしも、現実世界ロケーションに配置される任意の物理的な3Dキャプチャ・デバイスに対応しなくてもよい。結果として、現実世界シーンの複数の異なるヴァンテージ・ポイント(例えば、現実世界シーン202のヴァンテージ・ポイント208)の第1の空間構成は、融合現実シーンの3D空間への複数のバーチャル・ビューポイントの第2の空間構成(例えば、3D空間802へのバーチャル・ビューポイント806)から独立してもよい。例えば、たとえ、3D空間802が現実世界シーン202に基づくとしても(ここで、前記現実世界シーン202は、ヴァンテージ・ポイント208に配置される3Dキャプチャ・デバイス206によってキャプチャされている)、バーチャル・ビューポイント806は、特定の例において、ヴァンテージ・ポイント208と必ずしも列をそろえる必要はなく、むしろ、ヴァンテージ・ポイント208から独立してもよい(即ち、そのシーンにおいて、それぞれ、異なるロケーションに位置される、並びに/又は、それぞれ異なる角度及び視界を持つ)。他の例において、バーチャル・ビューポイント806は、各ヴァンテージ・ポイント208と列をそろえてもよく、及び/又はこれらと関連してもよい(例えば、依存してもよい)。
示しているが、各バーチャル・ビューポイント806は、図8にて表現されてもよく、その際に、円形でラベル付けされてもよく、前記円は、3D空間802に関して特定のロケーションに配置されてもよい。各バーチャル・ビューポイントは、前記バーチャル・ビューポイントからでるドット線とともに描写されるが、バーチャル・ビューポイント806に関連する視野を示す。バーチャル・ビューポイント806に関連する位置は、3D空間802に関して固定されてもよいが、しかし、後述するが、固定位置は、シーン制御システム702の1つによって変更することが可能である。更には、幾つかの例において、以下の点を理解されたい:3D空間802及びバーチャル・ビューポイントの両方806は、ともに融合現実シーン800内を動くものであってもよい(例えば、宇宙船、熱気球等のような乗物の3D空間等)。示しているが、バーチャル・ビューポイント806が配置される固定位置は、幾つかの例において、3D空間802を、前記3D空間802に関連する少なくとも2次元に沿って(例えば、平面に沿って(例えば、地面))囲むことができる。他の例において、ポジション806は、更に、3D空間802を、3次元に沿って囲むことができる(例えば、上下のポジション806及び802も含めることによって)。
図8に示す各バーチャル・ビューポイント806は、3D空間802に向かって内向きに角度付けされており、その結果、3D空間802を様々な角度からキャプチャすることができ、3D空間802を後で任意のバーチャル・ビューポイントからレンダリングすることを可能にすることができる。しかし、以下の点を理解されたい:特定の例において、1以上のバーチャル・ビューポイント806は、外向きに角度付けされてもよく(即ち、3D空間802から離れるように)、3D空間802を囲むオブジェクトに対する視界を獲得することができる。例えば、360度バーチャル・ビューポイントは、3D空間802の内部(明示しない)に位置して、以下を提供してもよい:追加の視界からの3D空間802内に含まれる現実世界オブジェクト、及び/若しくは、バーチャル・オブジェクトを表すデータ、並びに/又は、3D空間802の外にあるバーチャル・オブジェクトを表すデータ。
図8は、融合現実シーン800に対して行うことができる例示的な変更を更に示す。幾つかの例において、システム100は、コマンドを受信して、複数のエンティティを表すエンティティ記述データ(即ち、現実世界オブジェクト204、バーチャル・オブジェクト804、バーチャル・ビューポイント806、及び/又は3D空間802内に含まれる任意の他のエンティティを表すデータ)を変更することができ、そして、コマンドの受信に応答して、コマンドに従って、複数のエンティティを表すエンティティ記述データを変更することができる。例えば、コマンドは、(例えば、ウェブ・ソケット又は別の適切なタイプの通信の手段により)シーン制御システム702のいずれかにより送信されてもよく、行われる変更を記述したJSONコード又は別の適切なオブジェクト記述コードを使用してもよい。
融合現実シーン800内に含まれるエンティティは、任意の適切な態様で変更することができ、変更されるエンティティのタイプによって部分的に決定されてもよい。例えば、変更されるエンティティがバーチャル・オブジェクトである場合、コマンドに従った複数のエンティティを表すエンティティ記述データの変更は、以下を含むことができる:追加のバーチャル・オブジェクトを複数のエンティティに追加すること。これに加えて、又はこれに代えて、前記変更は、以下を含むことができる:複数のエンティティ内に含まれるバーチャル・オブジェクトを追加のバーチャル・オブジェクトに置換すること、バーチャル・オブジェクトを複数のエンティティから削除すること、複数のエンティティに含まれるバーチャル・オブジェクトの少なくとも1つのプロパティを変更すること、並びに/又は他のエンティティに関して、及び/若しくは、融合現実シーンの3D空間に関して、バーチャル・オブジェクトを変更すること。
変更されるエンティティが現実世界オブジェクト(例えば、現実世界オブジェクト204)である場合、エンティティ記述データの変更については、バーチャル・オブジェクトに関して上述したのと同じ又は類似の方法で実行することができる。しかし、以下の点を理解されたい:現実世界シーンに関連するデータをキャプチャする態様を原因として、現実世界シーン内のある現実世界オブジェクトを別の現実世界オブジェクトと異ならせるメタデータが、現実世界シーンを表すキャプチャされるデータに関連する限りは、全体の現実世界シーン(例えば、様々な固有の現実世界オブジェクトを含む)を単独の現実世界オブジェクトとして扱ってもよい。例えば、システム100は、以下を受信するように構成されてもよい:第1のフレームセット(例えば、現実世界シーン202内のオブジェクトを表すフレームセット402−1)に関連するメタデータ、ここで、前記メタデータは、同一の特定の時間ポイントで、現実世界オブジェクト204の表面の色彩データ及び深度データを、他の色彩データ及び他の深度データと異ならせるものであり、前記他の色彩データ及び他の深度データは、現実世界シーン202内に含まれる他の追加の現実世界オブジェクト(即ち、図2又は図8に明示しない現実世界シーン202内に含まれる現実世界オブジェクト)の他の表面を表す。かくして、エンティティ記述データが生成される融合現実シーン800の3D空間802内に含まれる複数のエンティティは、更に1以上の他の追加の現実世界オブジェクトを含むことができる。追加の現実世界オブジェクトは、以下へのリンクによって、エンティティ記述データにおいて少なくとも部分的に定義されてもよい:色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリーム(即ち、トランスポート・ストリーム600内の色彩ビデオ・データ・ストリーム500−1−C及び深度ビデオ・データ・ストリーム500−1−D)内に含まれる追加の現実世界オブジェクトの他の表面を表す他の色彩データ及び他の深度データ。更には、現実世界オブジェクト204の表面の色彩データ及び深度データへのリンク、並びに、追加の現実世界オブジェクトの他の表面を表す他の色彩データ及び他の深度データへのリンクは、メタデータに基づいてもよく、前記メタデータは、現実世界オブジェクト204の表面の色彩データ及び深度データを、追加の現実世界オブジェクトの他の表面を表す他の色彩データ及び他の深度データとは異ならせてもよい。
変更されるエンティティがバーチャル・ビューポイント(例えば、バーチャル・ビューポイント806の1つ)である場合、コマンドに従った複数のエンティティを表すエンティティ記述データの変更は、以下を含むことができる:追加のバーチャル・ビューポイントを複数のエンティティに追加すること。これに加えて、又はこれに代えて、前記変更は、以下を含むことができる:複数のエンティティ内に含まれる複数のバーチャル・ビューポイントのうち少なくとも1つを変更すること;複数のバーチャル・ビューポイントのうち少なくとも1つを複数のエンティティから削除すること等。例えば、バーチャル・ビューポイント806の1つ(例えば、バーチャル・ビューポイント806−1)に関連する視野を変更又はターンして、3D空間802の異なる角度に関する視界を獲得することができる。他の例において、バーチャル・ビューポイント806は内向き又は外向きに動かすことができ(例えば、3D空間802内の特定のバーチャル・オブジェクトに関してズーム・イン又はズーム・アウトの効果を生じさせるため)、複数のバーチャル・ビューポイント806から削除することができ、又は、変更することができる。別の例として、追加のバーチャル・ビューポイントを複数のバーチャル・ビューポイント806に追加することができ、オブジェクト204及び/又は804についての別の視界(例えば、バーチャル・ビューポイント806−1〜806−8の1つによって良好にカバーできない視界)を獲得することができる。
上述したように、幾つかの例において、バーチャル・オブジェクト(例えば、バーチャル・オブジェクト804)は、変更されてもよく(例えば、3D空間802に関して移動及び/又は回転)、前記変更は、バーチャル・オブジェクトを変更するためのシーン制御システム702の1つからの直接コマンドに基づいてもよい。しかし、他の例において、バーチャル・オブジェクトは、自動的に変更してもよく(即ち、シーン制御システム702からの明示的なコマンドに基づくことなく、同一の又は異なる方法で変更)、前記変更は、3D空間802内に含まれる他のエンティティとの相互作用に基づいてもよい。より具体的には、例えば、複数のエンティティを表すエンティティ記述データのシステム100による生成は、オブジェクト間のバーチャル相互作用を生成することを含むことができる(例えば、バーチャル・オブジェクト間、異なった現実世界オブジェクト間、バーチャル・オブジェクトと現実世界オブジェクトとの間等)。例えば、システム100は、バーチャル・オブジェクト804と現実世界オブジェクト204との間のバーチャル相互作用を生成(例えば、生成、トラッキング、シミュレート等)することができる。そして、バーチャル相互作用は、物理ベースのオブジェクト行動及びAIベースのオブジェクト行動のうち少なくとも1つに基づいてもよい。
例えば、物理ベースのオブジェクト行動808を図8に示す。システム100は以下を決定することができる:バーチャル・オブジェクト804及び現実世界オブジェクト204それぞれが、固体のバーチャル・オブジェクトを表現しており、同一のバーチャル空間に存在できないこと。従って、物理ベースのオブジェクト行動808に示されるように、バーチャル・オブジェクト804のロケーション及び配向のプロパティを物理的なルールに従って変更することができ、その結果、バーチャル・オブジェクト804は、外観上、現実世界オブジェクト204と相互作用する(例えば、駆け上がる、「押し出す」等)。他の物理ベースのオブジェクト行動は他の物理的なルールを模倣してもよく(例えば、現実世界の物理、又は、バーチャル世界でのみ適用される仮想上の物理)、オブジェクトが互いにどのように相互作用し、そして、物理的な力及び原理とどのように相互作用するかを規定してもよい(例えば、重力、運動量、摩擦、浮力、光反射等)。また、これらの物理ベースのオブジェクト行動は、システム100によって、3D空間802内に含まれる複数のエンティティを表すエンティティ記述データに適用されてもよい。更には、AIベースのオブジェクト行動も、以下を定義することを補助してもよい:現実世界オブジェクト及び/又はバーチャル・オブジェクトが、互いにどのように相互作用するか、並びに、オブジェクトが配置される環境とどのように相互作用するか。例えば、AIベースのオブジェクト行動は、特に、生き物を表すエンティティ(例えば、アバター、人々、動物等)に適用可能であってもよく、前記エンティティは、人工知能を使用して「選択」を行うことができる(例えば、3D空間802内のどこを歩くか、誰と話すか、及び何を話すか、いつ危険から逃げるか等)。
図7に戻ると、システム100は、エンティティ記述フレームを生成し、前記エンティティ記述フレームは、時系列で特定のポイント(例えば、リアルタイム・シーケンス、バーチャル世界の時間に関連するバーチャル・タイムライン等)での複数のエンティティにおけるエンティティの状態を表す。例えば、示すように、システム100は、特定のエンティティ記述フレーム(即ち、エンティティ記述フレーム706)を生成することができ、そして、エンティティ記述フレーム706を各3Dレンダリング・エンジン704に提供することができる。3Dレンダリング・エンジン704は、サーバ・サイド3Dレンダリング・エンジンであってもよい(例えば、3Dレンダリング・エンジンであって、ネットワークをまたぐ、及び/又は、クライアント・サイド・デバイス(例えば、ユーザが使用するメディア・プレーヤ装置)とは別個の物)。幾つかの例において、3Dレンダリング・エンジン704は、別個のデバイス(例えば、別個のサーバ、サーバ内の別個のプロセッサ等)、又は別個のソフトウェアのプロセス(例えば、別個のインストラクション・スレッド等)によって実装されてもよい。一方で、他の例において、3Dレンダリング・エンジン704は、特定の実施に寄与することができる通常のハードウェア及び/又はソフトウェアのデバイス又はプロセスに共に統合されてもよい。幾つかの実施において、3Dレンダリング・エンジンは、融合現実シーン・キャプチャ・システム(例えば、システム100)と結合して動作してもよく、又は、完全にこれらに統合されてもよく、一方、他の実施において、3Dレンダリング・エンジンは、別個に動作してもよい(例えば、クラウドベースの処理サービスを提供する異なるエンティティによって等)。
3Dレンダリング・エンジン704に提供される特定のエンティティ記述フレームは、キー記述フレームであってもよく、前記キー記述フレームは、以下を含むことができる:時系列での特定のポイントでの融合現実シーン(即ち、融合現実シーン800)に関連するすべてのエンティティを表す状態データ。一方で、他のエンティティ記述フレームは、アップデート記述フレームであってもよく、前記アップデート記述フレームは、融合現実シーンに関連するこれらのみのエンティティの状態(例えば、時系列での特定のポイントで)を表してもよく、前記融合現実シーンは、時系列で以前のポイントでのすべてのエンティティの状態を表現する以前のキー記述フレームが生成されて以来変更されている。
図示的な意味合いで、図9は、複数の例示的なエンティティ記述フレーム900(例えば、エンティティ記述フレーム900−1〜900−12)を示し、前記エンティティ記述フレーム900は、システム100によって生成されてもよい。1つのエンティティ記述フレーム900から別のエンティティ記述フレームへを指す矢印によって示されるように、エンティティ記述フレーム900は、時系列で並べられてもよく、エンティティ記述フレーム900−1で開始し、そして、エンティティ記述フレーム900−12へと進み、その後、時系列は、図9に明示しない追加のエンティティ記述フレーム900へと進んでもよい。各エンティティ記述フレーム900の底部に沿って、エンティティ記述フレームのタイプ(例えば、キー記述フレーム又はアップデート記述フレーム)が示される。具体的には、エンティティ記述フレーム900−1、900−5及び900−9がキー記述フレームとして示され、一方で、エンティティ記述フレーム900−2〜900−4、900−6〜900−8、及び900−10〜900−12は、アップデート記述フレームとして示される。
従って、こうした例において、各キー記述フレームは、時系列で複数(例えば、3つ)のアップデート記述フレームよりも先行し、当該アップデート記述フレームは、その代わり、時系列で別のキー記述フレームよりも先行する。しかし、以下の点を理解されたい:図9に示すキー記述フレーム及びアップデート記述フレームの配置は、例示的なものにすぎず、キー記述フレーム及びアップデート記述フレームの配置については、特定の実施に寄与することができる任意の方法で実施できる。例えば、特段動的ではない(即ち、エンティティに対する膨大な数の変更によって影響を受けない)融合現実シーンは、比較的少ないキー記述フレームによって表現されてもよく、その後比較的膨大な数のアップデート記述フレームによって表現されてもよい。逆に、より動的な融合現実シーンについては、より多くの割合のキー記述フレーム(最大で、キー記述フレームだけを含む)、及びより少ない割合のアップデート記述フレーム(最小で、アップデート記述フレームを含まない)によって、表現されてもよい。
更に図9に示すように、各エンティティ記述フレーム900は、エンティティ記述コードを含んでもよく、又は、エンティティ記述コードによって実装されてもよい(例えば、JSONコード、XMLコード、又は、エンティティ記述データがシステム100によって生成されるエンティティに関連する状態データを記述するのに適切な別のタイプのコード)。そして、各エンティティ記述フレーム900は、シーケンス番号(例えば、ID番号又は「ID」)に関連してもよく、シーケンス番号は、以下を表してもよい:時系列での他のエンティティ記述フレーム900に対する各エンティティ記述フレーム900の位置。例えば、示すように、エンティティ記述フレーム900−1は、整数であるシーケンス番号を有してもよく(即ち、「1.0」)、これは、以下を示す:エンティティ記述フレーム900−1がキー記述フレームであること、そして、他のキー記述フレームに対するフレームの相対位置(例えば、「1.0」が「2.0」の前に来る)。エンティティ記述フレーム900−2〜900−4は、その後、それぞれ、1から始まるシーケンス番号に関連してもよく(即ち、これらのフレームが、キー記述フレーム1.0に対するアップデートであることを示す)、そして、サブ識別子を含んでもよく(即ち、「.1」、「.2」、及び「.3」)、当該サブ識別子が、他のアップデート記述フレームに対する時系列でのアップデート記述フレームの相対的な位置を示してもよい(例えば、「1.1」が「1.2」の前にくる)。こうしたエンティティ記述フレーム付番スキームは、例示的なものにすぎず、そして、特定の実施に寄与することができる任意の適切なフレーム付番スキームを採用することができる。
図7に戻ると、エンティティ記述フレーム706がキー記述フレーム(例えば、エンティティ記述フレーム900−1、900−5、又は900−9等)であるか、又は、アップデート記述フレーム(例えば、図9における他のエンティティ記述フレーム900等)であるかに関わらず、エンティティ記述フレーム706を含むエンティティ記述フレームのシーケンスは、3Dレンダリング・エンジン704が必要とする全ての情報を提供することができ、各3Dレンダリング・エンジン704が関連する各バーチャル・ビューポイントからの融合現実シーン800の3D空間802を描写する表面データ・フレームをレンダリングすることができる。かくして、3Dレンダリング・エンジン704が順番通りにエンティティ記述フレームを受信又は処理することは必須でなくてもよい。むしろ、3Dレンダリング・エンジン704は、各表面データ・フレーム710(例えば、シーケンス中の単独のエンティティ記述フレームからそれぞれ生成されてもよい)を特定の3Dレンダリング・エンジン704にとって便利又は効率的となる可能性のある任意の順序でレンダリングすることができ、そして、表面データ・フレーム710に対して、(例えば、ビデオ・データ・パッケージング・システム712によって)のちに並べ替え及び同期を行ってもよい。
上述したように、バーチャル・オブジェクトを表す特定の詳細な情報(例えば、バーチャル・オブジェクトの幾何学、テクスチャを表すバイナリ・データ等)は、資産ストレージ・システム708に記憶されてもよく(例えば、エンティティ記述フレーム706内に明示的に含まれるのではなく)、そして、エンティティ記述フレーム706内に含まれるデータへのリンクを介してアクセスされてもよい。資産ストレージ・システム708は、システム100及び/又は3Dレンダリング・エンジン704とは別個のデバイス(例えば、別個のサーバ、別個のプロセッサ、サーバー内のストレージ設備等)によって実装されてもよく、若しくは、別個のソフトウェア・プロセス(例えば、別個のインストラクション・スレッド等)によって実装されてもよく、又は、資産ストレージ・システム708は、特定の実施に寄与することができるシステム100及び/若しくは3Dレンダリング・エンジン704とともに、通常のハードウェア及び/若しくはソフトウェア・デバイス若しくはプロセスに一緒に統合されもよい。幾つかの実施において、資産ストレージ・システム708は、融合現実シーン・キャプチャ・システム(例えば、システム100)、及び/又は、3Dレンダリング・エンジン704も含むシステムと結合して動作してもよく、又は完全にこれらに統合されてもよく、一方で、他の実施において、資産ストレージ・システム708は、別個に動作してもよい(例えば、クラウドベースの処理サーバを提供する異なるエンティティによって等)。
同様に、特定の例において、現実世界オブジェクトを表すエンティティ記述データの生成は、以下を含むことができる:現実世界シーン202内に含まれる現実世界オブジェクト204の3D表現を生成すること、並びに、現実世界オブジェクト204の表面の色彩データ及び深度データへのリンクを生成すること、ここで、前記リンクは、現実世界オブジェクト204の3D表現へのポインタとして、システム100が生成するエンティティ記述データ内の現実世界オブジェクトを少なくとも部分的に定義することができる。例えば、システム100は、現実世界オブジェクト204の3D表現を、色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリームをレンダリングすることによって生成することができ(例えば、ユーザが使用するメディア・プレーヤ装置がレンダリングするのと同様の方法で)、これらのストリームは、以下に基づいて、生成されてもよい:第1のフレームセット及び複数の他のフレームセット(即ち、フレームセット402−1〜402−Nに基づき、そして、トランスポート・ストリーム600内に記憶されるビデオ・データ・ストリーム500−1〜500−8)。システム100は、その後、色彩データ及び深度データへのリンク(即ち、トランスポート・ストリーム600内のデータへのポインタであり、前記ポインタは、システム100内又は別の適切なサーバ・サイド・システム内で管理することができる)を生成することができ、そして、エンティティ記述フレーム706内にリンクを含むことができる。
従って、エンティティ記述フレーム706は、他の箇所(例えば、バーチャル・オブジェクトの場合には資産ストレージ・システム708、現実世界オブジェクトの場合には、トランスポート・ストリーム600内等)で記憶される詳細情報へのリンクとともにエンティティを表す状態情報を含むことができる。そして、エンティティ記述フレーム706は、必要に応じて、各3Dレンダリング・エンジン704によって、エンティティ記述フレーム706内のリンクに基づいてアクセスされてもよい。以下の点を留意されたい:詳細情報は別個で管理されてもよいが(例えば、現実世界オブジェクト・データに関してはトランスポート・ストリーム600内、バーチャル・オブジェクト・データに関しては、資産ストレージ・システム708内)、構成700に示すシステム100、エンティティ記述フレーム706、3Dレンダリング・エンジン704、及び/又は他のシステムは、同様の方法で、現実世界オブジェクト及びバーチャル・オブジェクトを扱う(例えば、レンダリング、表現等)ことができる。幾つかの例において、例えば、構成700の特定の要素(例えば、ビデオ・データ・パッケージング・システム712)は、現実世界オブジェクト(例えば、現実世界オブジェクト204)とバーチャル・オブジェクト(例えば、バーチャル・オブジェクト804)との間の識別をする必要すらなく、又は識別できなくてもよい。他の例において、考慮される現実世界オブジェクト及びバーチャル・オブジェクトの間の識別があってもよい。例えば、バーチャル・オブジェクトに関するモデルは比較的静的であってもよく、現実世界オブジェクトを表すデータは、時間とともに動的に変化してもよく、時間の特定の瞬間に関連するデータに3Dレンダリング・エンジン704がアクセスすることを必要としてもよい。
いずれのケースにおいても、エンティティ記述フレーム706内に含まれるデータ、及び、資産ストレージ・システム708からアクセスされるデータ、及び/又はエンティティ記述フレーム706内に提供されるリンクを使用するトランスポート・ストリーム600の間で、3Dレンダリング・エンジン704は、3Dレンダリング・エンジン704がローカルで管理する情報に依存することを必要とすることなく、各バーチャル・ビューポイントからの3D空間802を表す表面データ・フレーム710をレンダリングするためのすべての必要な情報にアクセスすることができる。
各3Dレンダリング・エンジン704は、以下に関連してもよい:システム100がエンティティ記述データを生成する複数のエンティティにおいて表現されるバーチャル・ビューポイントの1つ。例えば、3Dレンダリング・エンジン704−1〜704−8(これらのなかで、図7に明示しているのは、3Dレンダリング・エンジン704−1及び704−2のみであるが)は、それぞれ以下に関連してもよい:バーチャル・ビューポイント806−1〜806−8(図8に示す)。かくして、各3Dレンダリング・エンジン704は、各表面データ・フレーム710を、バーチャル・ビューポイント806の視界(即ち、位置、角度、視野等)から見えるものとしてレンダリングすることができ、前記バーチャル・ビューポイントは、特定の3Dレンダリング・エンジン704が関連してもよい。更には、上述したように、各表面データ・フレーム710は、各バーチャル・ビューポイントからのバーチャル・オブジェクトの外観を表す色彩データ(即ち、イメージ・データ)を含むことができるだけでなく、深度データも含むことができる。
図示する目的で、図7は、表面データ・フレーム710−1を表すイメージを示し、前記表面データ・フレーム710−1は、3Dレンダリング・エンジン704−1がレンダリングする表面データ・フレームであってもよく、3Dレンダリング・エンジンは、バーチャル・ビューポイント806−1に関連してもよい(図8参照)。示しているが、表面データ・フレーム710−1は、以下を含むことができる:色彩データ714及び深度データ716の両方、これらは、色彩データ306及び深度データ308(図3参照)に関して上述したのと同様のタイプのデータを表現してもよい。しかし、色彩データ306及び深度データ308に関連する表面データ・フレームとは対照的に、表面データ・フレーム710−1は、以下を含むことができる:現実世界オブジェクト204及びバーチャル・オブジェクト804の両方、並びに、融合現実シーン800の3D空間802内に含まれてもよい任意の他のオブジェクトを表現したもの。具体的には、示すように、バーチャル・オブジェクト804は外観上現実世界オブジェクト204の頂部に静置されている(例えば、システム100によって実装されるオブジェクト間の物理ベースのバーチャル相互作用の手段によって)。
表面データ・フレームの各フレームセット(例えば、表面データ・フレーム710−1〜710−Nを含むフレームセット710)は、3Dレンダリング・エンジン704によって生成されてもよく、その結果、システム100が提供する各エンティティ記述フレーム(例えば、エンティティ記述フレーム706)は、各フレームセットに関連してもよく、前記各フレームセットは、3D空間への異なるバーチャル・ビューポイント802からの融合現実シーン800の3D空間802のレンダリングを表現することができる。図7に示すように、各フレームセットにおける各表面データ・フレーム(例えば、表面データ・フレーム710−1〜710−Nを含む)は、その後、ビデオ・データ・パッケージング・システム712に提供されてもよく、当該システムは、表面データ・フレームを、オーガナイズ、同期、エンコード、圧縮、結合、及び/又は処理することができ、各バーチャル・ビューポイント806に関連する各色彩ビデオ・データ・ストリーム及び各深度ビデオ・データ・ストリームを生成することができる。
図示する目的で、図10は、構成700の特定のコンポーネントの更に詳細なビューを示す。具体的には、図10は、8つの3Dレンダリング・エンジン704(即ち、3Dレンダリング・エンジン704−1〜704−8)を示し、これらは、表面データ・フレームの完全なセット(即ち、表面データ・フレーム710−1〜710−8を含むフレームセット710)をレンダリングする。表面データ・フレーム710−1〜710−8は、以下を表してもよい:融合現実シーンの3D空間内に含まれる現実世界オブジェクト及びバーチャル・オブジェクトの表面の色彩データ及び深度データ。示しているが、例えば、フレームセット710は、3D空間802内の現実世界オブジェクト204及びバーチャル・オブジェクト804の表面を表すデータを含み、前記表面の外観は、3D空間802に関して異なるバーチャル・ビューポイント(例えば、バーチャル・ビューポイント806−1〜806−8)からのものである。以下の点を理解されたい:表面データ・フレームは、図10において、図7に示す色彩データ・イメージ(即ち、色彩データ714を示すイメージ)と類似のイメージによって表現されるように示しているが、フレームセット710中の各表面データ・フレームは、深度データを表すデータも含むことができ、深度データは、は、図7に示す深度データ・イメージ(即ち、深度データ716を示すイメージ)と類似のイメージによって表現されてもよい。
3Dレンダリング・エンジン704は、それぞれ、表面データ・フレーム710−1〜710−Nを、関連するバーチャル・ビューポイント806から生成することができ、前記生成は、以下に基づいてもよい:エンティティ記述フレーム706、並びに、資産ストレージ・システム708及び/又はトランスポート・ストリーム600からアクセスされるデータ(上述したように)。例えば、融合現実シーン800に関連する複数のエンティティを表すエンティティ記述データは、以下を含むことができる:資産ストレージ・システム708に記憶されるバーチャル・オブジェクト804を表す色彩データ及び深度データへのリンク、並びに/又は、トランスポート・ストリーム600内に含まれる現実世界オブジェクト204を表す色彩データ及び深度データへのリンク。かくして、エンティティ記述フレーム706(上述したように、システム100によって生成されてもよく、3Dレンダリング・エンジン704に提供されてもよい)を生成して、以下へのリンクをそれぞれ含んでもよい:トランスポート・ストリーム600及び資産ストレージ・システム708にてそれぞれ管理されるオブジェクト204及び804を表す色彩データ及び深度データ。各3Dレンダリング・エンジン704は、以下によって、各バーチャル・ビューポイント806からの各表面データ・フレーム710をレンダリングするように構成されてもよい:システム100からエンティティ記述フレーム706を受信することを含むオペレーションを実行すること、並びに、トランスポート・ストリーム600及び資産ストレージ・システム708にてそれぞれ維持されるオブジェクト204及び804を表す色彩データ及び深度データへ、エンティティ記述フレーム706内に含まれるリンクを使用してアクセスすること。エンティティ記述フレーム706内に含まれるデータ、並びにリンクの手段によってアクセスされる色彩データ及び深度データの両方を用いて、3Dレンダリング・エンジン704は、表面データ・フレーム710をレンダリングすることができ、図示するように、3D空間802を囲むバーチャル・ビューポイントからの3D空間802(例えば、現実世界オブジェクト204及びバーチャル・オブジェクト804の両方を含む)のビューを提供することができる。
上述した現実世界シーン202を表すフレーム・シーケンス404と同様に、各表面データ・フレーム710−1〜710−Nは、表面データ・フレームの別個のフレーム・シーケンス内に含まれてもよく、前記表面データ・フレームは以下を表してもよい:時系列中の各バーチャル・ビューポイント806からの融合現実シーン800の色彩データ及び深度データ。例えば、表面データ・フレーム710−1は、時系列中バーチャル・ビューポイント806−1から見えるオブジェクト204及び804の表面の色彩データ及び深度データを表す表面データ・フレームの第1のフレーム・シーケンス内に含まれてもよく、表面データ・フレーム710−2は、時系列中バーチャル・ビューポイント806−2から見えるオブジェクト204及び804の表面の色彩データ及び深度データを表す表面データ・フレームの第2のフレーム・シーケンス内に含まれてもよく、以下同様であってもよい。換言すれば、いったん、表面データ・フレーム710がレンダリングされると、各3Dレンダリング・エンジン704は、続いて、表面データ・フレームの異なる各シーケンス内の他の表面データ・フレームをレンダリングしてもよい。例えば、3Dレンダリング・エンジン704は追加のエンティティ記述フレームをエンティティ記述フレーム706(例えば、図9に示すエンティティ記述フレーム900のシーケンス等)の後に受信してもよく、更に表面データ・フレームを、追加のエンティティ記述フレームに基づいて生成してもよい。
図示する目的で、図11は、表面データ・フレームの複数の例示的なフレーム・シーケンス1102(例えば、フレーム・シーケンス1102−1〜1102−8)を示し、前記表面データ・フレームは、以下を表す:ヴァンテージ・ポイント806−1〜806−8からそれぞれ見えるバーチャル・オブジェクト804及び現実世界オブジェクト204の両方の表面の色彩データ及び深度データ。例えば、示すように、各フレーム・シーケンス1102に示す第1の表面データ・フレーム(即ち、図11にてオブジェクト204及び804の異なるビューが見えるようにカバーされない表面データ・フレーム)は、表面データ・フレーム710−1(フレーム・シーケンス1102−1内に含まれる)〜710−8(フレーム・シーケンス1102−8内に含まれる)に対応してもよい。従って、フレーム・シーケンス1102−1〜1102−8は、それぞれ、3Dレンダリング・エンジン704−1〜704−8と関連してもよく、従って、バーチャル・ビューポイント806−1〜806−8と関連してもよい。例えば、フレーム・シーケンス1102−1は、以下を表してもよい:特定の時系列1104中にバーチャル・ビューポイント806−1から見たときの融合現実シーン800の3D空間802内に含まれる現実世界オブジェクト及びバーチャル・オブジェクトの色彩及び深度の両方(例えば、没入型バーチャル・リアリティ世界に関連する特定のリアルタイムの期間、特定のバーチャル・タイムライン等)。同様に、フレーム・シーケンス1102−2は、以下を表してもよい:時系列1104中にバーチャル・ビューポイント806−2から見える3D空間802内に含まれる現実世界オブジェクト及びバーチャル・オブジェクトの色彩及び深度。フレーム・シーケンス1102−3〜1102−8についても同様である。
上記で説明及び図示したが、3Dレンダリング・エンジン704によって生成され、及びフレーム・シーケンス1102内に含まれる各表面データ・フレームは、ビデオ・データ・パッケージング・システム712に送信されてもよく、又は、渡されてもよく、当該システムは、3Dレンダリング・エンジン704と通信可能に接続されてもよい。表面データ・フレームの各異なるフレーム・シーケンス1102に基づいて(例えば、フレームセット710に基づいて、及び、示すように追加の複数の表面データ・フレームをそれぞれ含むフレームセット710に続く追加のフレームセットに基づいて)、ビデオ・データ・パッケージング・システム712は、少なくとも1つの追加のトランスポート・ストリーム(即ち、以前に生成されたトランスポート・ストリーム600に加えて)を生成することができ、前記追加のトランスポート・ストリームは、各バーチャル・ビューポイント806に関する色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリームを含むことができる。例えば、ビデオ・データ・パッケージング・システム712は、単独のトランスポート・ストリームを生成することができ、当該ストリームは、各フレーム・シーケンス1102に関連する(即ち、各3Dレンダリング・エンジン704及びバーチャル・ビューポイント806に関連する)個々の色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリームを含むことができる、又は、ビデオ・データ・パッケージング・システム712は、各フレーム・シーケンス1102に関連する色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリームのための異なるトランスポート・ストリームを生成することができる。少なくとも1つの追加のトランスポート・ストリームは、本明細書に記載の任意の態様で(例えば、トランスポート・ストリーム600と同様の態様で)、又は、特定の実施に寄与することができる任意の他の適切な態様で、生成することができる。
いったん、少なくとも1つの追加のトランスポート・ストリームが生成されると、ビデオ・データ・パッケージング・システム712は、少なくとも1つの追加のトランスポート・ストリームを、ストリーミング目的で、ユーザに関連するクライアント・サイド・メディア・プレーヤ装置へ提供することができる。例えば、ビデオ・データ・パッケージング・システム712は、トランスポート・ストリームを、メディア・プレーヤ装置自体にストリーミングすることができる(例えば、送信ネットワークの手段により)。又は、ビデオ・データ・パッケージング・システム712は、データ・パイプライン中にトランスポート・ストリームを含むことができ、ここで、トランスポート・ストリームは、別のシステムによって、更に処理され、そして、メディア・プレーヤ装置にストリーミングされるであろう(例えば、パイプラインに関連する他のデバイス、プロセス、及び/又はシステムによって処理され、及び/又は再パッケージされた後)。後述するが、クライアント・サイド・メディア・プレーヤ装置は、以下を生成する動作を行うように構成されてもよい:(例えば、少なくとも1つの追加のトランスポート・ストリーム内に含まれる各バーチャル・ビューポイントに関する色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリームに基づいて)動的に選択可能なバーチャル・ビューポイントからユーザによって体験されるべき融合現実シーンの3D空間の3D表現、ここで、前記バーチャル・ビューポイントはユーザによって選択されてもよく、そして、融合現実シーン800の3D空間802内の任意のバーチャル・ロケーションに対応してもよい。
上述したように、幾つかの例において、システム100並びに/又は本明細書に記載の他のシステム(例えば、他のサーバ・サイド・システム)及びデバイスを使用して、ユーザの体験対象であるバーチャル・リアリティ・メディア・コンテンツを生成することができる。例えば、上述したオペレーションのほか、バーチャル・リアリティ・メディア・コンテンツ提供システム(例えば、システム100、ビデオ・データ・パッケージング・システム712、並びに/又は本明細書に記載の他のデバイス及びシステムが包含されてもよい物、又は、これらのシステムと関連してもよい物)は、更に、以下に基づいてバーチャル・リアリティ・メディア・コンテンツを生成及び提供することができる:ビデオ・データ・パッケージング・システム712が生成及び提供する少なくとも1つの追加のトランスポート・ストリーム。バーチャル・リアリティ・メディア・コンテンツは、融合現実シーン(例えば、融合現実シーン800)を表してもよく、そして、ユーザに提示可能なものであってもよく、その結果、融合現実シーンに関する任意のバーチャル・ロケーションに対応する動的に選択可能なバーチャル・ビューポイントから体験されてもよい。例えば、動的に選択可能なバーチャル・ビューポイントは、メディア・プレーヤ装置のユーザによって選択されてもよく、当該選択は、ユーザがメディア・プレーヤ装置を使用して融合現実シーンを体験している間に行われてもよい。更には、バーチャル・リアリティ・メディア・コンテンツは、(例えば、システム100を含む又は当該システムに関連するバーチャル・リアリティ・メディア・コンテンツ提供システムによって)メディア・プレーヤ装置に提供されてもよく、そして、融合現実シーン内の任意のバーチャル・ロケーションに対応する動的に選択可能なバーチャル・ビューポイントからの融合現実シーンをユーザに体験させることを可能にしてもよい。
図示する目的で、図12は、例示的な構成1200を示し、ここで、システム100及びビデオ・データ・パッケージング・システム712を含む例示的なバーチャル・リアリティ・メディア・コンテンツ提供システム1202(「プロバイダ・システム1202」)は、バーチャル・リアリティ・メディア・コンテンツを生成し、前記コンテンツは、ネットワーク1204の手段により、例示的なクライアント・サイド・メディア・プレーヤ装置1206(「メディア・プレーヤ装置1206」)に提供され、前記装置は、融合現実シーンを体験するユーザ1208によって使用される。
少なくとも1つの追加のトランスポート・ストリームが、上述したように、フレーム・シーケンス1102に基づいて生成された後、プロバイダ・システム1202は、更に、1以上のトランスポート・ストリームを、エンコード、パッケージ化、暗号化、又は処理することができ、バーチャル・リアリティ・メディア・コンテンツを形成することができ、当該コンテンツは、メディア・プレーヤ装置1206がレンダリングするように構成されてもよい。例えば、バーチャル・リアリティ・メディア・コンテンツは、以下を含むことができる、又は以下を表すことができる:複数の2Dビデオ・データ・ストリーム(例えば、各バーチャル・ビューポイント806に関する色彩データ及び深度データに関連する2Dビデオ・データ・ストリーム)、ここで、前記2Dビデオ・データ・ストリームは、メディア・プレーヤ装置1206によってレンダリングされてもよく、その結果、融合現実シーン800内の任意のバーチャル・ビューポイント(例えば、ユーザ1208が興味を抱く可能性があるバーチャル・ビューポイント806以外のバーチャル・ビューポイントを含む)からの融合現実シーン800のビューを提示することができる(これについては後述する)。これに加えて、又はこれに代えて、バーチャル・リアリティ・メディア・コンテンツは、以下を含むことができる:融合現実シーン800内に含まれるバーチャル・オブジェクトの1以上のボルメトリック・モデル(例えば、3D又は4Dモデル)を表すデータ、ここで、当該データも、任意のバーチャル・ビューポイントから閲覧可能なようにレンダリングされてもよい。バーチャル・リアリティ・メディア・コンテンツは、その後、ネットワーク1204の手段により、1以上のメディア・プレーヤ装置(例えば、ユーザ1208に関連するメディア・プレーヤ装置1206)に配信されてもよい。例えば、プロバイダ・システム1202は、バーチャル・リアリティ・メディア・コンテンツを、メディア・プレーヤ装置1206に提供することができ、その結果、ユーザ1208は、メディア・プレーヤ装置1206を使用して仮想的に融合現実シーン800を体験することができる。
幾つかの例において、以下の点はユーザ1208にとって望ましくない可能性がある:バーチャル・リアリティ・メディア・コンテンツ(例えば、融合現実シーン800を表す)によって表現される没入型バーチャル・リアリティ世界内の1以上の不連続な位置に制限されること。かくして、プロバイダ・システム1202は、融合現実シーン800を表すバーチャル・リアリティ・メディア・コンテンツ内に十分なデータを提供することができ、バーチャル・ビューポイント806からの融合現実シーン800のレンダリングを可能にするだけでなく、融合現実シーン800内の任意のバーチャル・ロケーションに対応する任意の動的に選択可能なバーチャル・ビューポイント(例えば、3D空間802内又はその周辺)からのレンダリングを可能にすることができる。例えば、ユーザ1208がメディア・プレーヤ装置1206を使用して融合現実シーン800を体験している間、動的に選択可能なバーチャル・ビューポイントは、ユーザ1208によって選択されてもよい。
本明細書で使用するが、「任意のバーチャル・ロケーション」は、融合現実シーンに関連する空間中の任意のバーチャル・ポイント(例えば、融合現実シーンの3D空間内又はその周辺)を意味することができる。例えば、任意のバーチャル・ロケーションは、融合現実シーンを囲む固定位置(例えば、バーチャル・ビューポイント806に関連する固定位置)に限定されないが、バーチャル・ビューポイント806に関連する位置と3D空間802内部の位置との間のすべての位置も含む。更には、任意のバーチャル・ロケーションは、以下に関連してもよい:バーチャル・ビューポイント806のいずれかと揃ったものに限定されない任意のバーチャル・ビューポイント。幾つかの例において、こうした任意のバーチャル・ロケーションは、融合現実シーン800内で最も望ましいバーチャル・ビューポイントに対応してもよい。例えば、もしも、融合現実シーン800がバスケットボールのゲームを含む場合、ユーザ1208は、バーチャル・ビューポイントを動的に選択することができ、そこから、バスケットボールのコート上の任意のバーチャル・ロケーションのゲームを体験することができる。例えば、ユーザは、ユーザのバーチャル・ビューポイントを動的に選択することができ、バスケットボールのコートを上下に追従することができ、そして、ゲームの進行中のバスケットボールのコートに立っているかのごとく、バスケットボールのゲームを体験することができる。換言すれば、例えば、バーチャル・ビューポイント806は、バスケットボールのコート周辺の固定位置にあってもよく、その一方で、ユーザ1208は、バスケットボールのコート上の任意の位置に関連し、ゲームをそこから体験するための任意のバーチャル・ビューポイントを動的に選択することができる。
ネットワーク1204は、以下を含むことができる:プロバイダに特化した有線の又はワイヤレスなネットワーク(例えば、ケーブル、又は衛星キャリア・ネットワーク又はモバイル電話ネットワーク)、インターネット、ワイド・エリア・ネットワーク、コンテンツ・デリバリ・ネットワーク、又は任意の他の適切なネットワーク。データは、プロバイダ・システム1202とメディア・プレーヤ装置1206(並びに、明示しない他のメディア・プレーヤ装置)との間を流れることができ、その際に、特定の実施に寄与することができる任意の通信技術、デバイス、メディア、及びプロトコルを使用してもよい。
メディア・プレーヤ装置1206をユーザ1208が使用して、プロバイダ・システム1202から受信するバーチャル・リアリティ・メディア・コンテンツにアクセスし、体験することができる。例えば、メディア・プレーヤ装置1206は、以下を生成する動作を行うように構成されてもよい:(例えば、2Dビデオ・データ・ストリームであってもよい少なくとも1つの追加のトランスポート・ストリーム内に含まれる各バーチャル・ビューポイントに関する色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリームに基づいて)任意のバーチャル・ビューポイント(例えば、ユーザによって選択され、3D空間802内の任意のバーチャル・ロケーションに対応する動的に選択可能なバーチャル・ビューポイント)からユーザ1208によって体験されるべき融合現実シーン800の3D空間802の3D表現。この目的のため、メディア・プレーヤ装置1206は、以下を行うことができる任意のデバイスを含んでもよく、又は、当該デバイスによって実装されてもよい:没入型バーチャル・リアリティ世界の視野を提示すること(例えば、融合現実シーン800を表す没入型バーチャル・リアリティ世界)、及び、ユーザ1208が没入型バーチャル・リアリティ世界を体験する際に、ユーザ1208からのユーザ入力を検出して、視野内に提示される没入型バーチャル・リアリティ世界を動的にアップデートすること。
例えば、図13が示すのは、様々な例示的なタイプのメディア・プレーヤ装置1206であり、前記装置は、バーチャル・リアリティ・メディア・コンテンツを体験するユーザ1208によって使用されてもよい。具体的には、示すように、メディア・プレーヤ装置1206は、幾つかの異なる形態要素のうち1つをとることができる(例えば、ヘッドマウント・バーチャル・リアリティ・デバイス1302(例えば、バーチャル・リアリティ・ゲーム・デバイス)(ヘッドマウント・ディスプレイ・スクリーンを含む))、個人用コンピュータ・デバイス1304(例えば、デスクトップ・コンピュータ、ラップトップ・コンピュータ等)、モバイル・デバイス若しくはワイヤレス・デバイス1306(例えば、スマートフォン、タブレット・デバイス等、これらは、ヘッドマウント装置の手段によりユーザ1208の頭部に取り付けることが可能)、特定の実施に寄与して、バーチャル・リアリティ・メディア・コンテンツの受信及び/又は提示を促進することができる任意の他のデバイス又はデバイスの構成。異なるタイプのメディア・プレーヤ装置(例えば、ヘッドマウント・バーチャル・リアリティ・デバイス、個人用コンピュータ・デバイス、モバイル・デバイス等)は、異なるレベルの没入性を有する異なるタイプのバーチャル・リアリティ体験を、ユーザ1208に提供することができる。
図14は、例示的なバーチャル・リアリティ体験1400を示し、ここで、ユーザ1208には、例示的なバーチャル・リアリティ・メディア・コンテンツが提示され、当該コンテンツは、融合現実シーンを表し、前記融合現実シーンは、融合現実シーンに関する例示的な任意のバーチャル・ロケーションに対応する動的に選択可能なバーチャル・ビューポイントから体験される。具体的には、バーチャル・リアリティ・メディア・コンテンツ1402は、視野1404内に提示され、当該コンテンツが示すのは、バーチャル・ビューポイントからの融合現実シーンであり、前記バーチャル・ビューポイントは、任意のバーチャル・ロケーションに対応し、前記バーチャル・ロケーションは、シュートが行われている融合現実シーンの3D空間内のバスケットボールのゴールの真下である。融合現実シーンに基づく没入型バーチャル・リアリティ世界1406は、閲覧者にとって利用可能であってもよく、ユーザ入力(例えば、頭部の動き、キーボード・インプット等)を提供することで体験でき(即ち、体験する箇所からバーチャル・ビューポイントを動的に選択する)、没入型バーチャル・リアリティ世界1406を見回す、及び/又は動き回ることができる。
例えば、視野1404は、ウィンドウを提供することができ、当該ウィンドウを通して、ユーザ1208は、容易に且つ自然に、没入型バーチャル・リアリティ世界1406を見回すことができる。視野1404は、メディア・プレーヤ装置1206(例えば、メディア・プレーヤ装置1206のディスプレイ・スクリーン上に)によって提示されてもよく、そして、当該視野1404は、以下を含むことができる:没入型バーチャル・リアリティ世界1406内のユーザの周辺のオブジェクトを描写したビデオ。更には、視野1404を、ユーザ1208が没入型バーチャル・リアリティ世界1406を体験する際に、ユーザ1208が提供するユーザ入力に応答して、動的に変更することができる。例えば、メディア・プレーヤ装置1206は、ユーザ入力を検出することができる(例えば、視野1404が提示されるディスプレイ・スクリーンを移動又は回転する)。これに応答して、視野1404は、以下を提示することができる:異なるオブジェクト及び/又は以前のバーチャル・ビューポイント若しくはバーチャル・ロケーションから見えるオブジェクトの場所において、異なるバーチャル・ビューポイント若しくはバーチャル・ロケーションから見えるオブジェクト。
図14において、没入型バーチャル・リアリティ世界1406は、半球として示されているが、このことは、以下を示す:ユーザ1208は、没入型バーチャル・リアリティ世界1406内の任意の方向へ視線を向けることができ、当該方向として、実質的には、ユーザ1208が現在選択したバスケットボールのゴール下のロケーションにおけるバーチャル・ビューポイントから見て、前方向、後方向、左方向、右方向、及び/又は上方向である。他の例において、没入型バーチャル・リアリティ世界1406は、さらに180°分の球体を追加した全体360°を含むことができ、その結果、ユーザ1208は、下方向も見ることができる。更には、ユーザ1208は、没入型バーチャル・リアリティ世界1406内の他のロケーションへ動き回ることができる。(即ち、3D空間内の異なる動的に選択可能なバーチャル・ビューポイントを動的に選択する)。例えば、ユーザ1208は以下を選択することができる:ハーフ・コートにおけるバーチャル・ビューポイント、バスケットボールのゴールに向かいあうフリー・スロー・ラインからのバーチャル・ビューポイント、バスケットボールのゴール上部で停止したバーチャル・ビューポイント等。
図15が示すのは例示的な方法1500であり、異なるビデオ・データ・ストリームにおける異なるヴァンテージ・ポイントから表現されるバーチャル・オブジェクトと現実世界オブジェクトとに基づいて融合現実シーンを生成するための方法である。図15は、1つの実施形態に従った例示的なオペレーションを示すが、他の実施形態では、図15に示す任意のオペレーションに対して、省略、追加、並べ替え、及び/又は変更してもよい。図15に示す1以上のオペレーションは、以下によって実行されてもよい:システム100、前記システムの実装、及び/又は、システム100に関連する(例えば、通信可能に接続される、共同で動作ように構成される等)上述した別のシステム。
オペレーション1502において、融合現実シーン・キャプチャ・システムは、第1の複数の表面データ・フレームを含む第1のフレームセットを、複数の3Dキャプチャ・デバイスから受信することができ、前記3Dキャプチャ・デバイスは、現実世界シーンの複数の異なるヴァンテージ・ポイントを有するように前記現実世界シーンに対して配置されてもよい。幾つかの例において、第1の複数の表面データ・フレーム中の各表面データ・フレームは、同一の特定の時間ポイントで、複数の3Dキャプチャ・デバイスにおける各3Dキャプチャ・デバイスによってキャプチャされてもよい。かくして、これらの表面データ・フレームは、それぞれ、複数の異なるヴァンテージ・ポイントにおける各ヴァンテージ・ポイントによってキャプチャされてもよい。第1の複数の表面データ・フレーム中の表面データ・フレームは、各3Dキャプチャ・デバイスの各ヴァンテージ・ポイントから特定の時間ポイントで表面が見えるときの現実世界シーン内に含まれる現実世界オブジェクトの表面の色彩データ及び深度データを表してもよい。オペレーション1502は、本明細書に記載の方法のいずれかで実行されてもよい。
オペレーション1504において、融合現実シーン・キャプチャ・システムは、トランスポート・ストリームを生成してもよく、前記トランスポート・ストリームは、前記複数の3Dキャプチャ・デバイスにおける前記3Dキャプチャ・デバイス各々に関する色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリームを含むことができる。幾つかの例において、トランスポート・ストリームは以下に基づいて生成されてもよい:複数の3Dキャプチャ・デバイスから受信される第1のフレームセットに基づいて(例えば、オペレーション1502において)、及び/又は、他の時間ポイントにおいてキャプチャされる複数の他のフレームセットに基づいて。オペレーション1504は、本明細書に記載の方法のいずれかで実行されてもよい。
オペレーション1506において、融合現実シーン・キャプチャ・システムは、エンティティ記述データを生成してもよく、前記エンティティ記述データは、融合現実シーンの3D空間内に含まれる複数のエンティティを表してもよい。例えば、エンティティ記述データは、トランスポート・ストリームに基づいて生成されてもよい。様々なタイプのエンティティは、融合現実シーンの3D空間内に含まれる複数のエンティティ内に含まれてもよい。例えば、エンティティは、以下を含むことができる:バーチャル・オブジェクトの表面の色彩データ及び深度データへのリンクによってエンティティ記述データにおいて少なくとも部分的に定義されるバーチャル・オブジェクト、ここで、色彩データ及び深度データは、融合現実シーン・キャプチャ・システムと通信可能に接続される資産ストレージ・システム内に記憶されてもよい。別の例として、エンティティは、以下を含むことができる:オペレーション1502においてデータがキャプチャされた現実世界オブジェクト。例えば、現実世界オブジェクトは、エンティティ記述データにおいて、色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリーム内に含まれる現実世界オブジェクトの表面の色彩データ及び深度データへのリンクによって少なくとも部分的に定義されてもよく、前記色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリームは、複数の3Dキャプチャ・デバイスから受信される第1のフレームセットと複数の他のフレームセットとに基づいて生成されてもよい(即ち、オペレーション1504において生成されるトランスポート・ストリーム内に含まれるビデオ・データ・ストリーム)。更には、オペレーション1506にてエンティティ記述データが生成されるエンティティは、以下を含むことができる:第2の複数の表面データ・フレームを含む第2のフレームセットがレンダリングされる3D空間への複数のバーチャル・ビューポイント。例えば、第2の複数の表面データ・フレームは、融合現実シーンの3D空間内に含まれるバーチャル・オブジェクト及び現実世界オブジェクトの両方の表面の色彩データ及び深度データを表してもよい。オペレーション1506は、本明細書に記載の方法のいずれかで実行されてもよい。
オペレーション1508において、融合現実シーン・キャプチャ・システムは、融合現実シーンの3D空間内に含まれる複数のエンティティにおける少なくとも1つのエンティティの状態を表すエンティティ記述フレームを生成することができる。幾つかの例において、エンティティ記述フレームは、時系列での特定のポイントでの少なくとも1つエンティティの状態を表してもよい。オペレーション1508は、オペレーション1506にて生成される複数のエンティティを表すエンティティ記述データに基づいて実行されてもよい。オペレーション1508は、本明細書に記載の方法のいずれかで実行されてもよい。
オペレーション1510において、融合現実シーン・キャプチャ・システムは、エンティティ記述フレームを、コンテンツ提供システムに関連する複数のサーバ・サイド3Dレンダリング・エンジンに提供することができる。例えば、複数のサーバ・サイド3Dレンダリング・エンジンにおける各3Dレンダリング・エンジンは、以下に関連してもよい:エンティティ記述フレームデータがオペレーション1506にて生成される際の3D空間への複数のバーチャル・ビューポイントからの異なるバーチャル・ビューポイント。幾つかの実施において、複数のサーバ・サイド3Dレンダリング・エンジン中の各3Dレンダリング・エンジンは、以下の動作を行うように構成されてもよい:第2の複数の表面データ・フレーム内に含まれる異なる表面データ・フレームを、エンティティ記述フレームに基づいてレンダリングすること。オペレーション1510は、本明細書に記載の方法のいずれかで実行されてもよい。
オペレーション1512において、複数のサーバ・サイド3Dレンダリング・エンジンと通信可能に接続される、及び/又は、融合現実シーン・キャプチャ・システムに関連するビデオ・データ・パッケージング・システムは、少なくとも1つの追加のトランスポート・ストリームを生成することができる。例えば、ビデオ・データ・パッケージング・システムは、以下に基づいて少なくとも1つの追加のトランスポート・ストリームを生成することができる:第2の複数の表面データ・フレームを含む第2のフレームセット、及び/又は、追加の複数の表面データ・フレームをそれぞれ含む追加のフレームセット。幾つかの例において、少なくとも1つの追加のトランスポート・ストリームは、以下を含むことができる:複数のバーチャル・ビューポイントにおける各バーチャル・ビューポイントに関する色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリーム、ここで、前記色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリームは、エンティティ記述データがオペレーション1506にて生成される際のものであってもよい。オペレーション1512は、本明細書に記載の方法のいずれかで実行されてもよい。
オペレーション1514において、融合現実シーン・キャプチャ・システムに関連するビデオ・データ・パッケージング・システムは、少なくとも1つの追加のトランスポート・ストリームを、ストリーミング目的で、ユーザに関連するクライアント・サイド・メディア・プレーヤ装置へ提供することができる。例えば、クライアント・サイド・メディア・プレーヤ装置は、少なくとも1つの追加のトランスポート・ストリーム内に含まれる各バーチャル・ビューポイントに関する色彩ビデオ・データ・ストリーム及び深度ビデオ・データ・ストリームに基づいて、ユーザによって体験されるべき融合現実シーンの3D空間の3D表現を生成する動作を行うように構成されてもよい。幾つかの例において、3D空間の3D表現は、ユーザが選択する動的に選択可能なバーチャル・ビューポイントからユーザによって体験されてもよく、且つ、融合現実シーンの3D空間内の任意のバーチャル・ロケーションに対応してもよい。オペレーション1514は、本明細書に記載の方法のいずれかで実行されてもよい。
特定の実施形態において、本明細書に記載の1以上のシステム、コンポーネント、及び/又はプロセスは、1以上の適切に構成されたコンピューティング・デバイスによって実施及び/又は実行されてもよい。この目的のため、上述した1以上のシステム及び/又はコンポーネントは、以下を含んでもよく、又は、以下によって実装されてもよい:任意のコンピュータ・ハードウェア、及び/又は本明細書に記載の1以上のプロセスを実行するように構成される少なくとも1つの非一時的コンピュータ可読媒体に記録される、コンピュータで実装されるインストラクション(例えば、ソフトウェア)。特に、システム・コンポーネントは、1つの物理的なコンピューティング・デバイスによって実装されてもよいし、又は、複数の物理的なコンピューティング・デバイスで実装されてもよい。従って、システム・コンポーネントは、任意の数のコンピューティング・デバイスを含むことができ、そして、任意の数のコンピュータオペレーティングシステムを採用することができる。
特定の実施形態において、本明細書に記載の1以上のプロセスは、非一時的コンピュータ可読媒体に記録され、1以上のコンピューティング・デバイスによって実行可能なインストラクションとして、少なくとも部分的に実施されてもよい。一般的に、プロセッサ(例えば、マイクロプロセッサ)は、インストラクションを、非一時的コンピュータ可読媒体(例えば、メモリ等)から受け取り、そして、これらのインストラクションを実行し、これにより、本明細書に記載の1以上のプロセスを含む1以上のプロセスを実行する。こうしたインストラクションは、任意の様々な既知のコンピュータ可読媒体を使用して記憶することができ、及び/又は送ることができる。
コンピュータ可読媒体(プロセッサ可読媒体とも言う)は、任意の非一時的媒体を含み、コンピュータによって(例えば、コンピュータのプロセッサによって)読み取ることができるデータ(例えば、インストラクション)を提供することに寄与する。こうした媒体は、多くの形態をとることができ、限定されるものではないが、以下を含む:不揮発性メディア及び/又は揮発性メディア。不揮発性メディアは、以下を含むことができる:例えば、光学ディスク又は磁気ディスク及び他の固定メモリ。揮発性メディアは、以下を含むことができる:例えば、ダイナミック・ランダム・アクセス・メモリ(「DRAM」)であって、典型的にはメインメモリを構成する物。コンピュータ可読媒体の通常の形態として以下を含む:例えば、ディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、コンパクト・ディスク・リード・オンリ・メモリ(「CD−ROM」)、デジタル・ビデオ・ディスク(「DVD」)、任意の他の光学媒体、ランダム・アクセス・メモリ(「RAM」)、プログラマブル・リード・オンリ・メモリ(「PROM」)、電気的に消去可能なプログラマブル・リード・オンリ・メモリ(「EPROM」)、FLASH−EEPROM、任意の他のメモリチップ、若しくはカートリッジ、又はコンピュータが読み取り可能な任意の他の有形の媒体。
図16は、例示的なコンピューティング・デバイス1600を示し、当該デバイスは、特に、本明細書に記載の1以上のプロセスを実行するように構成されてもよい。図16に示すように、コンピューティング・デバイス1600は、以下を含むことができる:通信インターフェース1602、プロセッサ1604、ストレージ・デバイス1606、及び通信インフラ1610を介して通信可能に接続される入力/出力(「I/O」)モジュール1608。例示的なコンピューティング・デバイス1600を、図16に示すもの、図16に示すコンポーネントは、限定することを意図するものではない。追加又は代替のコンポーネントを、他の実施形態において使用してもよい。図16に示すコンピューティング・デバイス1600のコンポーネントを、以下で、更に詳細に説明する。
通信インターフェース1602は、1以上のコンピューティング・デバイスと通信するように構成されてもよい。通信インターフェース1602の例は、限定されるものではないが、以下を含む:有線ネットワーク・インターフェース(例えば、ネットワーク・インターフェース・カード)、ワイヤレス・ネットワーク・インターフェース(例えば、ワイヤレス・ネットワーク・インターフェース・カード)、モデム、オーディオ/ビデオ接続、及び任意の他の適切なインターフェース。
プロセッサ1604は、概して、任意のタイプ又は形態の処理ユニット(例えば、中央演算装置及び/又はグラフィックス・プロセッシング・ユニット)を表し、データを処理することができ、又は、本明細書に記載の1以上のインストラクション、プロセス、及び/若しくはオペレーションの実行を解釈し、実行し、及び/若しくは指示することができる。プロセッサ1604は、1以上のアプリケーション1612又は他のコンピュータ実行可能インストラクション(例えば、ストレージ・デバイス1606又は別のコンピュータ可読媒体に記憶されてもよい)に従って、オペレーションの実行を指示することができる。
ストレージ・デバイス1606は、1以上のデータ・ストレージ・メディア、デバイス、又は構成を含むことができ、そして、データストレージ・メディア及び/又はデバイスを任意のタイプ、任意の形態、及び任意の組み合わせで採用することができる。例えば、ストレージ・デバイス1606は、以下を含むことができるが、これらに限定されない:ハード・ドライブ、ネットワーク・ドライブ、フラッシュ・ドライブ、磁気ディスク、光学ディスク、RAM、ダイナミックRAM、他の不揮発性及び/又は揮発性のデータ・ストレージ・ユニット、又はこれらのコンビネーション若しくはサブコンビネーション。電子データは、本明細書に記載のデータを含むが、一時的に及び/又は永続的に、ストレージ・デバイス1606に記憶されてもよい。例えば、1以上の実行可能なアプリケーション1612を表すデータであって、プロセッサ1604に指示して本明細書に記載の任意のオペレーションを実行するように構成されるデータは、ストレージ・デバイス1606内に記憶されてもよい。幾つかの例において、データは、ストレージ・デバイス1606内に存在する1以上のデータベースに配置することができる。
I/Oモジュール1608は、1以上のI/Oモジュールを含むことができ、当該モジュールは、ユーザ入力を受け取り、そして、ユーザ出力を提供するように構成されてもよい。1以上のI/Oモジュールを用いて、単独のバーチャル・リアリティ・エクスペリエンスのためのインプットを受け取ってもよい。I/Oモジュール1608は、インプット及びアウトプット能力をサポートする任意のハードウェア、ファームウェア、ソフトウェア、又はこれらの組み合わせを含むことができる。例えば、I/Oモジュール1608は、ユーザ入力をキャプチャするハードウェア及び/又はソフトウェアを含むことができ、限定されるものではないが、以下を含むことができる:キーボード若しくはキーパッド、タッチスクリーン・コンポーネント(例えば、タッチスクリーン・ディスプレイ)、レシーバー(例えば、RF又は赤外線受信機)、モーション・センサ、及び/又は1以上のインプットボタン。
I/Oモジュール1608は、アウトプットをユーザに提示するために1以上のデバイスを含むことができ、限定されるものではないが、以下を含むことができる:グラフィックス・エンジン、ディスプレイ(例えば、ディスプレイ・スクリーン)、1以上のアウトプット・ドライバ(例えば、ディスプレイ・ドライバ)、1以上のオーディオ・スピーカ、及び1以上のオーディオ・ドライバ。特定の実施形態において、I/Oモジュール1608は、ユーザに提示するためのディスプレイにグラフィカルなデータを提供するように構成される。このグラフィカルなデータは、特定の実施に寄与することができる1以上のグラフィカル・ユーザ・インターフェース、及び/又は任意の他のグラフィカルなコンテンツを表すものであってもよい。
幾つかの例において、本明細書に記載の任意の設備は、コンピューティング・デバイス1600の1以上のコンポーネントによって実装されてもよく、又は当該コンポーネント内で実装されてもよい。例えば、ストレージ・デバイス1606内に存在する1以上のアプリケーション1612は、システム100(図1参照)の現実世界シーン・キャプチャ設備102又は融合現実エンティティ・ステート・トラッキング設備104に関連する1以上のオペレーション又は機能実行するようにプロセッサ1604に命令するように構成されてもよい。同様に、システム100のストレージ設備106は、ストレージ・デバイス1606によって実装されてもよく、又は該デバイス内で実装されてもよい。
上述の実施形態が、個人によって提供される個人情報を収集、記憶、及び/又は採用する限度において、以下のように理解されたい:こうした情報は、個人情報の保護に関する全ての適用可能な法律に従って、使用することができる。更には、こうした情報の収集、記憶、及び使用は、こうした活動に対する個人の同意を得てもよい(例えば、情報の状況及びタイプに適した良く知られた「オプトイン」又は「オプトアウト」プロセスを通して)。個人情報の記憶及び使用について、適切に安全な態様で、例えば、特にセンシティブな情報に対して様々な暗号化及び匿名化を通した情報のタイプを反映したものであってもよい。
上記説明において、様々な例示的実施形態について、添付図面に言及しながら説明してきた。しかし、以下の点は明白であろう:これらに対して様々な改変及び変更を行うことができ、そして、更なる実施形態を実施することができ、こうした、改変及び変更、並びに実施は、下記の特許請求の範囲に記載された発明の範囲から逸脱することなく、可能である。例えば、本明細書に記載の1つの実施形態の特定の特徴は、本明細書に記載の別の実施形態の特徴と組み合わせることができ、又は置き換えることができる。従って、上記説明及び図面は、限定的な意味ではなく、例示的な意味で理解すべきものである。