(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-25
(54)【発明の名称】複数のシーンを含む没入型メディアプレゼンテーションのための方法、装置及びプログラム
(51)【国際特許分類】
H04N 21/24 20110101AFI20240315BHJP
H04N 21/433 20110101ALI20240315BHJP
H04N 21/234 20110101ALI20240315BHJP
H04L 67/568 20220101ALI20240315BHJP
【FI】
H04N21/24
H04N21/433
H04N21/234
H04L67/568
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023560733
(86)(22)【出願日】2022-10-25
(85)【翻訳文提出日】2023-09-29
(86)【国際出願番号】 US2022047669
(87)【国際公開番号】W WO2023081034
(87)【国際公開日】2023-05-11
(32)【優先日】2021-11-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-10-20
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】アリアンヌ・ハインズ
(72)【発明者】
【氏名】ロヒト・アビシェーク
(72)【発明者】
【氏名】ステファン・ヴェンガー
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164SA26S
5C164SB01P
5C164SB21S
5C164SB41P
5C164TA08S
5C164UB38P
5C164YA21
(57)【要約】
没入型メディアプレゼンテーションに関連付けられたシーン内の少なくとも2つ以上のシーンにメディアアセットが出現することを決定し、クライアントがローカルキャッシュ内の少なくとも2つ以上のシーンに出現するメディアアセットにアクセスできるかどうかを問い合わせる要求をクライアントに送信し、クライアントがアクセスできるかどうかを示す応答を受信し、クライアントがローカルキャッシュ内の少なくとも2つ以上のシーンに出現するメディアアセットにアクセスできることを示す応答に応答して、後続のシーンにおいてメディアアセットを使用するようにクライアントにシグナリングし、クライアントがローカルキャッシュ内の少なくとも2つ以上のシーンに出現するメディアアセットにクセスできないことを示す応答に応答して、メディアアセットをクライアントに配信するための方法および装置。
【特許請求の範囲】
【請求項1】
少なくとも1つのハードウェアプロセッサによって実施される、複数のシーンを含む没入型メディアプレゼンテーションのための方法であって、前記方法は、
メディアアセットが、前記没入型メディアプレゼンテーションに関連付けられた前記複数のシーンのうちの少なくとも2つ以上のシーンに出現することを決定するステップと、
クライアントが、ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできるかどうかを問い合わせる要求を前記クライアントに送信するステップであって、前記クライアントが、前記没入型メディアプレゼンテーションに関連付けられたメディアアセットのコピーを前記ローカルキャッシュ内に記憶するのに十分な記憶リソースを有する、ステップと、
前記クライアントから、前記クライアントが前記ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできるかどうかを示す応答を受信するステップと、
前記クライアントが前記ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできることを示す前記応答に応答して、前記メディアアセットを前記クライアントにさらに配信することなく、後続のシーンにおいて前記メディアアセットを使用するように前記クライアントにシグナリングするステップと、
前記クライアントが前記ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできないことを示す前記応答に応答して、前記メディアアセットを前記クライアントに配信するステップと、
を含む、方法。
【請求項2】
リストのセットを初期化するステップをさらに含み、前記リストの各リストが前記没入型メディアプレゼンテーションの前記シーンのうちの1つにそれぞれ対応し、
前記リストのセットを初期化するステップが、前記シーンに出現する前記メディアアセットを含むメディアアセットのそれぞれに一意の識別子のそれぞれをインクリメンタルにそれぞれ割り当てるステップを含む、
請求項1に記載の方法。
【請求項3】
前記リストのセットを初期化するステップが、各メディアアセットが前記シーンのそれぞれに出現する回数をインクリメンタルにそれぞれ決定するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記没入型メディアプレゼンテーションに対する前記クライアントからの要求を受信するステップと、
前記要求に応答して、前記クライアントが前記クライアントのクライアントリソースの指示を提供することを要求するステップと、
をさらに含む、請求項1に記載の方法。
【請求項5】
前記クライアントが前記クライアントリソースの前記指示を提供することを要求するステップが、前記クライアントが1つまたは複数のニューラルネットワークモデルを提供することを要求するステップを含み、
前記メディアアセットの処理が、前記クライアントから要求された前記1つまたは複数のニューラルネットワークモデルに基づくニューラルネットワーク推論を含む、
請求項4に記載の方法。
【請求項6】
前記メディアアセットの処理が、前記少なくとも1つのハードウェアプロセッサと前記クライアントとをインターフェースするネットワーク上の現在のトラフィック負荷を決定することに基づく、
請求項5に記載の方法。
【請求項7】
前記没入型メディアプレゼンテーションを出力する際の前記クライアントの進捗状況を監視するステップをさらに含み、
前記要求を送信するステップが前記進捗状況に基づいて時間設定される、
請求項1に記載の方法。
【請求項8】
前記没入型メディアプレゼンテーションが、視覚、聴覚、ならびに味覚、触覚、および嗅覚のうちの少なくとも1つを刺激するための前記クライアントへの命令を含む、請求項1に記載の方法。
【請求項9】
前記クライアントへの前記要求が、前記クライアントが前記メディアアセットにアクセスできるかどうかをさらに問い合わせ、そのアクセスが前記クライアントにとってローカルである、請求項1に記載の方法。
【請求項10】
前記没入型メディアプレゼンテーションが時限プレゼンテーションおよび非時限プレゼンテーションのいずれかを含む、請求項1に記載の方法。
【請求項11】
装置であって、
コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって命令された通りに動作するように構成された少なくとも1つのハードウェアプロセッサと、を備え、前記コンピュータプログラムコードが、
前記少なくとも1つのハードウェアプロセッサに、没入型メディアプレゼンテーションに関連付けられた複数のシーンのうちの少なくとも2つ以上の後続のシーンにメディアアセットが出現することを決定させるように構成された決定コード、
前記少なくとも1つのハードウェアプロセッサに、前記クライアントがローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできるかどうかを問い合わせる要求を前記クライアントに送信させるように構成された送信コードであって、前記クライアントが前記没入型メディアプレゼンテーションに関連付けられたメディアアセットのコピーを前記ローカルキャッシュ内に記憶するのに十分な記憶リソースを有する、送信コード、
前記少なくとも1つのハードウェアプロセッサに、前記クライアントが前記ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできるかどうかを示す応答を前記クライアントから受信させるように構成された受信コード、
前記少なくとも1つのハードウェアプロセッサに、前記クライアントが前記ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできることを示す前記応答に応答して、前記メディアアセットを前記クライアントに配信することをさらに待つことなく、後続のシーンにおいて前記メディアアセットを使用するように前記クライアントにシグナリングさせるように構成されたシグナリングコード、および
前記クライアントが前記ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできないことを示す前記応答に応答して、前記少なくとも1つのハードウェアプロセッサに、前記メディアアセットを前記クライアントに配信させるように構成された配信コード
を含む、装置。
【請求項12】
前記コンピュータプログラムコードが、前記少なくとも1つのハードウェアプロセッサに、リストのセットを初期化するステップを実施させるように構成された初期化コードをさらに含み、前記リストの各リストが、前記没入型メディアプレゼンテーションの前記シーンにそれぞれ対応し、
前記リストのセットを初期化するステップが、前記シーンに出現する前記メディアアセットを含むメディアアセットのそれぞれに一意の識別子のそれぞれをインクリメンタルにそれぞれ割り当てることを含む、
請求項11に記載の装置。
【請求項13】
前記リストのセットを初期化する前記ステップが、各メディアアセットが前記シーンのそれぞれに出現する回数をインクリメンタルにそれぞれ決定することをさらに含む、請求項12に記載の装置。
【請求項14】
前記コンピュータプログラムコードが、
前記少なくとも1つのハードウェアプロセッサに、前記没入型メディアプレゼンテーションに対する前記クライアントからの要求を受信させるように構成された受信コードと、
前記少なくとも1つのハードウェアプロセッサに、前記要求に応答して、前記クライアントが前記クライアントのクライアントリソースの指示を提供することを要求させるように構成された要求コードと、
をさらに含む、請求項11に記載の装置。
【請求項15】
前記クライアントが前記クライアントリソースの前記指示を提供することを要求することが、前記クライアントが1つまたは複数のニューラルネットワークモデルを提供することを要求することを含み、
前記メディアアセットの処理が、前記クライアントから要求された前記1つまたは複数のニューラルネットワークモデルに基づくニューラルネットワーク推論を含む、
請求項14に記載の装置。
【請求項16】
前記メディアアセットの処理が、前記少なくとも1つのハードウェアプロセッサと前記クライアントとをインターフェースするネットワーク上の現在のトラフィック負荷を決定することに基づく、
請求項15に記載の装置。
【請求項17】
前記コンピュータプログラムコードが、前記少なくとも1つのハードウェアプロセッサに、前記没入型メディアプレゼンテーションを出力する際の前記クライアントの進捗状況を監視させるように構成された監視コードをさらに含み、
前記要求を送信することが前記進捗状況に基づいて時間設定される、請求項11に記載の装置。
【請求項18】
前記没入型メディアプレゼンテーションが、視覚、聴覚、ならびに味覚、触覚、および嗅覚のうちの少なくとも1つを刺激するための前記クライアントへの命令を含む、請求項11に記載の装置。
【請求項19】
前記クライアントへの前記要求が、前記クライアントが前記メディアアセットにアクセスできるかどうかをさらに問い合わせ、そのアクセスが、前記クライアントにとってローカルである、請求項11に記載の装置。
【請求項20】
コンピュータにプロセスを実行させるプログラムを記憶した非一過性のコンピュータ可読媒体であって、前記プロセスが、
メディアアセットが、前記没入型メディアプレゼンテーションに関連付けられた前記複数のシーンのうちの少なくとも2つ以上のシーンに出現することを決定するステップと、
クライアントが、ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできるかどうかを問い合わせる要求を前記クライアントに送信するステップであって、前記クライアントが、前記没入型メディアプレゼンテーションに関連付けられたメディアアセットのコピーを前記ローカルキャッシュ内に記憶するのに十分な記憶リソースを有する、ステップと、
前記クライアントから、前記クライアントが前記ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできるかどうかを示す応答を受信するステップと、
前記クライアントが前記ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできることを示す前記応答に応答して、前記メディアアセットを前記クライアントにさらに配信することなく、後続のシーンにおいて前記メディアアセットを使用するように前記クライアントにシグナリングするステップと、
前記クライアントが前記ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできないことを示す前記応答に応答して、前記メディアアセットを前記クライアントに配信するステップと、
を含む、非一過性のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年11月5日に出願された米国仮出願第63/276,535号、および2022年10月20日に出願された米国出願第17/970,109号の優先権を主張するものであり、これらの内容は、参照によりその全体が本明細書に組み込まれる。
【0002】
本開示は、一般に、ビデオ、オーディオ、幾何学的(3D)オブジェクト、触覚、関連付けられたメタデータ、またはクライアントプレゼンテーションデバイスのための他のコンテンツを含む、メディアを配信するシステムおよびネットワークのためのアーキテクチャ、構造、および構成要素に関する実施形態について説明する。特定の実施形態は、異種没入型および対話型クライアントプレゼンテーションデバイスにメディアコンテンツを配信するためのシステム、構造、およびアーキテクチャを対象とする。
【背景技術】
【0003】
「没入型メディア」は、一般に、人間の感覚系の一部またはすべて(視覚、聴覚、体性感覚、嗅覚、および場合によっては味覚)を刺激して、すなわち、時限2次元(2D)ビデオおよび対応するオーディオについては既存の(例えば、「レガシー」の)商用ネットワークを介して配信されるもの以外に、ユーザがメディアの体験に物理的に存在しているという知覚を生み出すまたは高めるメディアを指し、このような時限メディアは「レガシーメディア」としても知られている。
【0004】
「没入型メディア」のさらに別の定義は、運動学および物理法則のデジタルシミュレーションを通して、物理世界を創造または模倣し、それによって、人間の感覚系の一部またはすべてを刺激して、現実または仮想の世界を表すシーン内に物理的に存在しているというユーザによる知覚を生み出すそうとするメディアである。
【0005】
没入型メディア対応プレゼンテーションデバイスは、没入型メディアにアクセスし、解釈し、提示するのに十分なリソースおよび能力を備えたデバイスを指す場合がある。このようなデバイスは、ネットワークによって提供されるメディアに関してサポートすることができるメディアの量およびフォーマットの点で異質である。同様に、メディアは、このようなメディアを大規模に配信するのに必要なネットワークリソースの量および種類の点で異質である。「大規模に」とは、ネットワークを介したレガシーのビデオおよびオーディオメディアの配信と同等の配信を達成するサービスプロバイダによるメディアの配信、例えば、Netflix、Hulu、Comcastのサブスクリプション、およびSpectrumのサブスクリプションを指すことがある。
【0006】
対照的に、ラップトップディスプレイ、テレビ、および携帯電話端末のディスプレイなどのレガシーのプレゼンテーションデバイスは、現在これらのデバイスのすべてが、主要なビジュアルメディアフォーマットとして2Dの矩形のビデオまたは静止画像を消費する矩形のディスプレイスクリーンで構成されているため、その能力は均質である。レガシーのプレゼンテーションデバイスで一般的に使用されているビジュアルメディアフォーマットの一部には、高効率ビデオコーディング/H.265、アドバンストビデオコーディング/H.264、および多用途ビデオコーディング/H.266が含まれることがある。
【0007】
ネットワークを介したあらゆるメディアの配信は、入力またはネットワーク「インジェスト」メディアフォーマットから配信メディアフォーマットにメディアを再フォーマットするメディア配信システムおよびアーキテクチャを用いてもよく、その配信メディアフォーマットは、対象クライアントデバイスおよびそのアプリケーションによって取り込まれるのに適しているだけでなく、ネットワークを介して「ストリーミング」されるのにも役立つ。したがって、ネットワークによってインジェストされたメディアに対して実行される以下の2つのプロセスがあってもよい。1)メディアをフォーマットAから、対象クライアントが取り込むのに適したフォーマットBに変換すること、すなわち、特定のメディアフォーマットを取り込むクライアントの能力に基づくこと、および2)ストリーミングされるメディアを準備すること。
【0008】
メディアの「ストリーミング」とは、広義には、メディアを断片化および/またはパケット化することを指し、メディアの時間的または空間的構造のいずれかまたは両方に従って論理的に編成およびシーケンス化された連続した小さいサイズの「チャンク」でネットワークを介して配信することができる。フォーマットAからフォーマットBへのメディアの「トランスコーディング」と呼ばれることがある「変換」は、クライアントにメディアを配信する前に、通常はネットワークまたはサービスプロバイダによって実行されるプロセスであってもよい。このようなトランスコーディングは、フォーマットBが、対象クライアントによって取り込まれ得る好ましいフォーマットもしくは唯一のフォーマットである、または商用ネットワークなどの制約されたリソースを介した配信により適しているという事前知識に基づいて、フォーマットAからフォーマットBにメディアを変換することで構成されていてもよい。すべてではないが多くの場合、クライアントがメディアをネットワークから受信および処理することができる前に、メディアを変換するステップと、ストリーミングするメディアを準備するステップの両方が必要である。
【0009】
ネットワークによって、すなわちメディアをクライアントに配信する前に、インジェストされたメディアに作用する上記の1つステップまたは2つステップのプロセスにより、「配信メディアフォーマット」または単に「配信フォーマット」と呼ばれるメディアフォーマットが得られる。一般に、技術的制約に起因して、これらのステップは、所与のメディアデータオブジェクトに対して実行される場合、クライアントが、変換されたおよび/またはストリーミングされたメディアオブジェクトを複数回必要とすることを示す情報にネットワークがアクセスする場合であっても、1回だけ実行されるべきであり、さもなければ、このようなメディアの変換およびストリーミングを複数回トリガすることになる。すなわち、メディアの変換およびストリーミングのためのデータの処理および転送は、一般に、潜在的にかなりの量のネットワークおよび/または計算リソースの消費を必要とするレイテンシの発生源とみなされる。したがって、クライアントが特定のメディアデータオブジェクトを既にキャッシュに記憶しているか、またはクライアントに対してローカルに記憶している可能性があることを示す情報にアクセスできないネットワーク設計は、このような情報にアクセスできるネットワークに比べて最適に機能しない。
【0010】
レガシープレゼンテーションデバイスの場合、配信フォーマットは、プレゼンテーションを作成するためにクライアントプレゼンテーションデバイスによって最終的に使用される「プレゼンテーションフォーマット」と同等または十分に同等であり得る。すなわち、プレゼンテーションメディアフォーマットは、そのプロパティ(解像度、フレームレート、ビット深度、色域など、…)がクライアントプレゼンテーションデバイスの能力に密接に調整されたメディアフォーマットである。配信フォーマット対プレゼンテーションフォーマットの一部の例は、ネットワークによって解像度(3840画素列×2160画素行)の超高解像度(UHD)クライアントデバイスに配信される高解像度(HD)ビデオ信号(1920画素列×1080画素行)を含む。このシナリオでは、UHDクライアントは、「超解像」と呼ばれる処理をHD配信フォーマットに施して、ビデオ信号の解像度をHDからUHDに向上させる。したがって、クライアントデバイスによって提示される最終的な信号フォーマットは、この例ではUHD信号である「プレゼンテーションフォーマット」であるが、HD信号は配信フォーマットを含む。本例では、HD信号配信フォーマットは、両方の信号が直線ビデオフォーマットであることから、UHD信号プレゼンテーションフォーマットに非常に類似しており、HDフォーマットをUHDフォーマットに変換するプロセスは、比較的簡単であり、ほとんどのレガシークライアントデバイス上で実行するのが容易なプロセスである。
【0011】
あるいは、対象クライアントデバイスにとっての好ましいプレゼンテーションフォーマットは、ネットワークによって受信されたインジェストフォーマットとは大きく異なる場合がある。それにもかかわらず、クライアントは、メディアをインジェストフォーマットからクライアントによるプレゼンテーションに適した必要なプレゼンテーションフォーマットに変換するのに十分なコンピュータ、ストレージ、および帯域幅リソースにアクセスすることができる。このシナリオでは、ネットワークは、取り込まれたメディアを再フォーマットするステップ、例えばメディアをフォーマットAからフォーマットBに「トランスコーディング」するステップをバイパスすることができ、これは単に、クライアントが、ネットワークが事前にそうする必要なしにすべてのメディア変換を実行するのに十分なリソースにアクセスすることができるからである。しかしながら、ネットワークは、依然として、メディアをクライアントにストリーミングできるように、インジェストメディアを断片化およびパッケージ化するステップを行う場合がある。
【0012】
さらに別の代替のシナリオは、ネットワークによって受信されたインジェストされたメディアが、クライアントの好みのプレゼンテーションフォーマットと大きく異なり、クライアントが、メディアを好みのプレゼンテーションフォーマットに変換するのに十分な計算リソース、ストレージリソース、および/または帯域幅リソースにアクセスできないことである。このようなシナリオでは、ネットワークは、インジェストフォーマットから、クライアントに代わってクライアントの好ましいプレゼンテーションフォーマットと同等またはほぼ同等のフォーマットへの変換の一部または全部を実行することによって、クライアントを支援することができる。一部のアーキテクチャ設計では、クライアントに代わってネットワークによって提供されるこのような支援は、一般に「分割レンダリング」と呼ばれる。
【0013】
フォーマットAから別のフォーマットへのメディアの変換が、完全にネットワークによって、完全にクライアントによって、または例えば分割レンダリングのためにネットワークとクライアントの両者間で、共同で行われ得る上記の各シナリオを考えると、クライアントとネットワークの両方が、行わなければならない作業を特徴付けるための完全な情報を有するように、メディアフォーマットを記述する属性の辞書が必要とされる場合があることが明らかになる。さらに、例えば、利用可能な計算リソース、利用可能なストレージリソース、および帯域幅へのアクセスに関して、クライアントの能力の属性を提供する辞書も同様に必要とされ得る。さらに、ネットワークがメディアをクライアントに配信するために分割レンダリングステップを用いることができるかどうか、またはいつ用いることができるかを、ネットワークおよびクライアントが共同で、または単独で決定することができるように、インジェストフォーマットの計算、ストレージ、または帯域幅の複雑さのレベルを特徴付けるメカニズムが必要である。最後に、クライアントがメディアのプレゼンテーションを完了するために必要とする特定のメディアオブジェクトの変換および/またはストリーミングを回避できる場合、ネットワークは、クライアントがメディアのプレゼンテーションを完了するために必要とするメディアオブジェクトへのアクセスまたは利用可能性をクライアントが有すると仮定して、変換およびストリーミングのステップをスキップすることができる。特定のプレゼンテーションにおいて複数回使用されるアセットの反復的な変換および/またはストリーミングステップを回避するのに十分な情報を有するこのようなネットワークは、そのように設計されていないネットワークよりも最適に実行することができる。
【発明の概要】
【課題を解決するための手段】
【0014】
コンピュータプログラムコードを記憶するように構成されたメモリ、およびコンピュータプログラムコードにアクセスし、コンピュータプログラムコードによって命令された通りに動作するように構成された1つまたは複数のハードウェアプロセッサを備える方法ならびに装置であって、プログラムコードが、少なくとも1つのハードウェアプロセッサに、没入型メディアプレゼンテーションに関連付けられた複数のシーンのうちの少なくとも2つ以上の後続のシーンにメディアアセットが出現することを決定させるように構成された決定コードと、少なくとも1つのハードウェアプロセッサに、クライアントがローカルキャッシュ内の少なくとも2つ以上のシーンに出現するメディアアセットにアクセスできるかどうかを問い合わせる要求をクライアントに送信させるように構成された送信コードであって、クライアントが、没入型メディアプレゼンテーションに関連付けられたメディアアセットのコピーをローカルキャッシュに記憶するのに十分なストレージリソースを有する、送信コードと、少なくとも1つのハードウェアプロセッサに、クライアントがローカルキャッシュ内の少なくとも2つ以上のシーンに出現するメディアアセットにアクセスできるかどうかを示す、クライアントからの応答を受信させるように構成された受信コードと、クライアントがローカルキャッシュ内の少なくとも2つ以上のシーンに出現するメディアアセットにアクセスできることを示す応答に応答して、少なくとも1つのハードウェアプロセッサに信号を送信させるように構成されたシグナリングコードであって、クライアントが、メディアアセットをクライアントに配信するのをさらに待つことなく、後続のシーンにおいてメディアアセットを使用する、シグナリングコードと、クライアントが、ローカルキャッシュ内の少なくとも2つ以上のシーンに出現するメディアアセットにアクセスできないことを示す応答に応答して、少なくとも1つのハードウェアプロセッサに、メディアアセットをクライアントに配信させるように構成された配信コードと、を含む、方法ならびに装置が含まれる。
【0015】
例示的な実施形態によると、コンピュータプログラムコードは、少なくとも1つのハードウェアプロセッサに、リストのセットの初期化を実施させるように構成された初期化コードをさらに含み、リストの各リストは、少なくとも1つのシーンおよび後続のシーンを含む没入型メディアプレゼンテーションのシーンのそれぞれに対応し、リストのセットを初期化するステップは、シーンに出現する、当該アセットを含むアセットのそれぞれに一意の識別子のそれぞれをインクリメンタルにそれぞれ割り当てるステップを含む。
【0016】
例示的な実施形態によると、リストのセットを初期化するステップは、各アセットが各シーンにそれぞれ出現する回数をインクリメンタルに決定するステップをさらに含む。
【0017】
例示的な実施形態によると、コンピュータプログラムコードは、少なくとも1つのハードウェアプロセッサに、没入型メディアプレゼンテーションに対するクライアントからの要求を受信させるように構成された受信コードと、少なくとも1つのハードウェアプロセッサに、クライアントが、要求に応答してクライアントのクライアントリソースの指示を提供することを要求させるように構成された要求コードとをさらに含み、アセットの処理は、クライアントリソースの指示に応じて実施される。
【0018】
例示的な実施形態によると、クライアントがクライアントリソースの指示を提供することを要求するステップは、クライアントが1つまたは複数のニューラルネットワークモデルを提供することを要求するステップを含み、アセットの処理は、クライアントから要求された1つまたは複数のニューラルネットワークモデルに基づくニューラルネットワーク推論を含む。
【0019】
例示的な実施形態によると、アセットの処理は、少なくとも1つのハードウェアプロセッサとクライアントとをインターフェースするネットワーク上の現在のトラフィック負荷を決定することにさらに基づく。
【0020】
例示的な実施形態によると、コンピュータプログラムコードは、少なくとも1つのハードウェアプロセッサに、没入型メディアプレゼンテーションを出力する際のクライアントの進捗状況を監視させるように構成された監視コードをさらに含み、クエリを送信するステップは、進捗状況に基づいて時間設定される。
【0021】
例示的な実施形態によると、没入型メディアプレゼンテーションは、視覚、聴覚、ならびに味覚、触覚、および嗅覚のうちの少なくとも1つを刺激するためのクライアントへの命令を含む。
【0022】
例示的な実施形態によると、クライアントへのクエリは、そのアクセスがクライアントにとってローカルであるアセットにクライアントがアクセスできるかどうかをさらに問い合わせる。
【0023】
例示的な実施形態によると、没入型メディアプレゼンテーションは、時限プレゼンテーションおよび非時限プレゼンテーションのいずれかを含む。
【0024】
本明細書に記載される技術は、潜在的に第3のフォーマットCでメディアのプレゼンテーションを生成するクライアントの能力をさらに促進にするために、ネットワークがインジェストメディアの一部または全部をフォーマットAからフォーマットBに変換すべきかどうかを決定するために、ネットワークおよび/またはクライアントによって用いられる意思決定プロセスなどの様々な態様を容易にすることによって、コンピュータ技術を改善する。このような意思決定プロセスを支援するために、プレゼンテーションのコンテキスト内で、プレゼンテーション内で複数回使用されるどのアセットが存在するか、またはネットワークが設計によって用いるために容易に利用可能であるかを決定する方法が仮定される。このような分析からの情報に依拠して、ネットワークは、複数回使用された各アセットのコピーをそのローカルキャッシュに保持するようにクライアントに要求するように設計されてもよい。しかしながら、このシナリオでは、ネットワークは、クライアントのローカルキャッシュの管理を制御できない可能性があり、その結果、クライアントは、そのローカルキャッシュからリソース(再利用可能なリソースであっても)を削除しなければならない状況に遭遇する可能性がある。複数回使用されるアセットに対してフォーマットAからフォーマットBへの変換を実行する必要性を最小限にするようにネットワークを最適化する設計を容易にするために、または複数回使用されるアセットをネットワークがクライアントにストリーミングする必要性を容易にするために、ネットワークは、問題のアセットがクライアントのローカルキャッシュ内で依然として利用可能であることを保証するフィードバックを取得するために、最初にクライアントに問い合わせることができる。クライアントの応答が、問題のアセットのコピーがもはやないことを示す場合、ネットワークは、インジェストアセットをフォーマットAからフォーマットBに変換し、および/またはアセットのオリジナルコピーをクライアントにストリーミングすることができる。このようなネットワークは、クライアントのローカルキャッシュに記憶された(ネットワークによってクライアントに以前に提供された)クライアント自身のアセットのコピーを介して、またはネットワークが、アセットを再度変換する、および/またはクライアントにストリーミングするステップを繰り返すことによって、クライアントがアセットにアクセスできることが保証される。
【図面の簡単な説明】
【0025】
【
図1】例示的な実施形態による、クライアントに配信するためのネットワークを介したメディアの流れを示す概略図である。
【
図1-02】
図1と同じ概略図であるが、例示的な実施形態による、元のメディア自体の代わりに元のメディアのプロキシが(別のフォーマットに変換されるか、またはその元のフォーマットで)ストリーミングされるべきかどうかを判断するためのロジックが追加されている。
【
図2】例示的な実施形態による、メディアをクライアントに配信する前にネットワークがメディアを変換すべきかどうかを決定するために意思決定プロセスが用いられる、ネットワークを介したメディアの流れの概略図である。
【
図2-03】
図2と同じ概略図であるが、例示的な実施形態による、元のメディア自体の代わりに元のメディアのプロキシが(別のフォーマットに変換されるか、またはその元のフォーマットで)ストリーミングされるべきかどうかを判断するためのロジックが追加されている。
【
図2-033】
図2-03と同じ概略図であるが、例示的な実施形態による、クライアントが(別のフォーマットに変換された、またはその元のフォーマットの)再利用可能なアセットのコピーに依然としアクセスできることを確実にするために、最初にクライアントに問い合わせるロジックが追加されている。
【
図3】例示的な実施形態による、時限没入型メディアの表現およびストリーミングのためのデータモデルの一実施形態の概略図であり、このような時限没入型メディアは、N個のシーンのセットにわたって再利用されるアセットのリストを含む。
【
図4】例示的な実施形態による、非時限没入型メディアの表現およびストリーミングのためのデータモデルの実施形態の概略図であり、このような非時限没入型メディアは、5つのシーンのセットにわたって再利用されるアセットのリストを含む。
【
図5】例示的な実施形態による、自然のシーンをキャプチャし、異種クライアントエンドポイントにサービスするネットワークのインジェストフォーマットとして使用することができる表現に変換するプロセスの概略図である。
【
図6】例示的な実施形態による、3Dモデリングツールおよびフォーマットを使用して、異種クライアントエンドポイントにサービスするネットワークのインジェストフォーマットとして使用することができる合成シーンの表現を作成するプロセスの概略図である。
【
図7】例示的な実施形態によるコンピュータシステムのシステム図である。
【
図8】例示的な実施形態による、複数の異種クライアントエンドポイントにサービスするネットワークの概略図である。
【
図9】例示的な実施形態による、例えば、特定の没入型メディアクライアントエンドポイントによる消費のためにメディアを適応させるネットワークのプロセスの前に、メディアインジェストフォーマットで表される特定のメディアに関するアダプテーション情報を提供するネットワークの概略図である。
【
図10】例示的な実施形態による、ソースメディアをそのインジェストフォーマットから特定のクライアントエンドポイントに適した特定のフォーマットに変換するメディアレンダリングコンバータで構成されるメディアアダプテーションプロセスのシステム図である。
【
図11】例示的な実施形態による、適応されたソースメディアを、表現およびストリーミングに適したデータモデルにフォーマットするネットワークの概略図である。
【
図12】例示的実施形態による、
図12のデータモデルをネットワークプロトコルパケットのペイロードに断片化するメディアストリーミングプロセスのシステム図である。
【
図13】例示的な実施形態による、インジェストフォーマットの特定の没入型メディアを、特定の没入型メディアクライアントエンドポイントのためのストリーミング可能な適切な配信フォーマットに適応させるネットワークのシーケンス図である。
【
図14】例示的な実施形態による没入型メディアアセット再利用アナライザの論理フロー図である。
【発明を実施するための形態】
【0026】
定義:
シーングラフ:ベクトルベースのグラフィックス編集アプリケーションおよび最新のコンピュータゲームによって通常使用される一般的なデータ構造であって、グラフィックシーンの論理的かつ多くの場合(必ずしもそうとは限らないが)空間的な表現を構成し、グラフ構造におけるノードおよび頂点の集合である。
シーン:コンピュータグラフィックスの文脈では、シーンは、オブジェクト(例えば、3Dアセット)、オブジェクト属性、ならびに、特定の設定を記述する視覚的、音響的、および物理ベースの特性を含む他のメタデータの集合であり、その設定内のオブジェクトの相互作用に関して、空間または時間のいずれかによって境界が定められる。
ノード:視覚、聴覚、触覚、嗅覚、味覚、または関連する処理情報の論理的、または空間的、または時間的な表現に関連する情報で構成されるシーングラフの基本要素。各ノードには、最大で1つの出力エッジ、0以上の入力エッジ、および少なくとも1つのエッジ(入力または出力のいずれか)が接続されているものとする。
ベース層:アセットの公称表現であり、通常、アセットをレンダリングするのに必要な計算リソースもしくは時間、またはネットワークを介してアセットを送信する時間を最小化するように定式化される。
強化層:アセットのベース層表現に適用される場合、ベース層でサポートされない機能または能力を含むようにベース層を拡張する情報のセット。
属性:基準形式またはより複雑な形式(例えば、別のノードに関して)のいずれかでそのノードの特定の特性または特徴を記述するために使用されるノードに関連付けられたメタデータ。
コンテナ:シーングラフおよびシーンのレンダリングに必要なすべてのメディアリソースを含む、すべての自然シーン、すべての合成シーン、または合成シーンと自然シーンとの組合せを表すための情報を記憶し、交換するためのシリアル化されたフォーマット。
シリアライゼーション:データ構造またはオブジェクト状態を、(例えば、ファイルまたはメモリバッファに)記憶することができ、または(例えば、ネットワーク接続リンクを介して)送信することができ、後で(場合によっては異なるコンピュータ環境で)再構築することができるフォーマットに変換するプロセス。結果として得られた一連のビットがシリアライゼーションフォーマットに従って再読み取りされると、これを使用して、元のオブジェクトと意味的に同一のクローンを作成することができる。
レンダラ:音響物理学、光物理学、視覚知覚、音声知覚、数学、およびソフトウェア開発に関連する学問分野の選択的な組合せに基づく(典型的にはソフトウェアベースの)アプリケーションまたはプロセスであり、入力シーングラフおよびアセットコンテナが与えられると、対象デバイス上でのプレゼンテーションに適した、またはシーングラフ内のレンダリング対象ノードの属性によって指定された所望のプロパティに適応した、典型的なビジュアル信号および/またはオーディオ信号を発する。視覚ベースのメディアアセットの場合、レンダラは、対象ディスプレイに適した、または(例えば、別のコンテナに再パッケージ化された、すなわち、グラフィックスパイプラインでの一連のレンダリングプロセスにおいて使用される)中間アセットとしての記憶に適したビジュアル信号を発することができ、オーディオベースのメディアアセットの場合、レンダラは、マルチチャネルラウドスピーカおよび/またはバイノーラル化されたヘッドフォンでのプレゼンテーションのために、または別の(出力)コンテナに再パッケージ化するために、オーディオ信号を発することができる。レンダラの一般的な例は、ゲームエンジンのUnity EngineやUnreal Engineのリアルタイムレンダリング機能を含む。
評価(Evaluate):出力を抽象的結果から具体的結果に移行させる(例えば、ウェブページのためのドキュメントオブジェクトモデルの評価に類似する)結果を生成する。
スクリプト言語:シーングラフノードに加えられる動的な入力および可変の状態変化を処理するために、実行時にレンダラによって実行され得るインタプリタ型プログラミング言語であり、この変化は、空間的および時間的なオブジェクトのトポロジ(物理的な力、制約、逆運動学、変形、衝突を含む)のレンダリングおよび評価ならびにエネルギーの伝播および輸送(光、音)に影響を及ぼす。
シェーダ:コンピュータプログラムの一種で、元々はシェーディング(画像内の適切なレベルの明暗および色の生成)に使用されていたが、現在では、コンピュータグラフィックスの特殊効果の様々な分野で様々な特殊機能を実行し、またはシェーディングとは無関係のビデオ後処理を行い、またはグラフィックスとは全く無関係の機能さえも実行する。
パス追跡(Path Tracing):シーンの照明が現実に忠実になるように3次元シーンをレンダリングするコンピュータグラフィックス方法。
時限メディア:時間によって順序付けられたメディアであって、例えば、特定のクロックに従った開始時刻および終了時刻を有する。
非時限メディア:例えば、ユーザが行った行動に従って実現される対話型体験のように、空間的、論理的、または時間的関係によって編成されたメディアである。
ニューラルネットワークモデル:元の信号によっては明示的に提供されなかったビジュアル信号の新しいビューの補間を含むことができる改善された視覚出力に到達するために、ビジュアル信号に適用される、明確に定義された数学的演算で使用される重み(すなわち、数値)を定義するパラメータおよびテンソル(例えば、行列)の集合。
【0027】
過去10年間に、ヘッドマウントディスプレイ、拡張現実メガネ、ハンドヘルドコントローラ、マルチビューディスプレイ、触覚手袋、およびゲーム機を含む、いくつかの没入型メディア対応デバイスが消費者市場に導入されてきた。同様に、ホログラフィックディスプレイおよび他の形態の容積型ディスプレイも、今後3~5年以内に消費者市場に出現する準備が整っている。これらのデバイスの即時の、または差し迫った利用可能性にもかかわらず、商用ネットワークを介した没入型メディアの配信のための一貫したエンドツーエンドエコシステムは、いくつかの理由で実現されていない。
【0028】
理想的な技術およびプロセスなどの本明細書における記述は、先行技術の容認としてではなく、本発明者らによって発明され、本出願によって開示される事項の開示として解釈されるべきである。別段の指定がない限り、技術的欠陥およびニーズに関する本明細書の記述も、本発明者らによって実現され、本出願によって開示されたものとして解釈されるべきである。
【0029】
商用ネットワークを介した没入型メディアの配信のための一貫したエンドツーエンドエコシステムを実現することに対する障害の1つは、没入型ディスプレイのこのような配信ネットワークのエンドポイントとして機能するクライアントデバイスがすべて非常に多様であることである。これらの中には、特定の没入型メディアフォーマットをサポートするものもあれば、サポートしないものもある。これらの中には、レガシーなラスタベースのフォーマットから没入型体験を作り出すことができるものもあれば、そうでないものもある。レガシーメディアの配信のためにだけ設計されたネットワークとは異なり、多様なディスプレイクライアントをサポートしなければならないネットワークは、このようなネットワークがアダプテーションプロセスを用いて、メディアを各対象ディスプレイおよび対応するアプリケーションに適したフォーマットに変換可能となる前に、各クライアントの能力の詳細および配信されるメディアのフォーマットに関するかなりの量の情報を必要とする。このようなネットワークは、少なくとも、入力メディアソースを対象ディスプレイおよびアプリケーションに適したフォーマットに有意に適応させる方法をネットワークが確認するために、各対象ディスプレイの特性とインジェストされたメディアの複雑さとを記述する情報にアクセスする必要がある。
【0030】
同様に、異種クライアントをサポートする理想的なネットワークは、入力メディアフォーマットから特定の対象フォーマットに適応されたアセットのうちの一部が、同様の表示対象のセットにわたって再利用され得るという事実を活用すべきである。すなわち、対象ディスプレイに適したフォーマットに変換されると、一部のアセットは、同様のアダプテーション要件を有するいくつかのこのようなディスプレイにわたって再利用されてもよい。したがって、このような理想的なネットワークは、適応されたアセットを比較的不変である、すなわち、レガシーネットワークで使用されているコンテンツ配信ネットワーク(CDN)の使用と同様である領域に記憶するために、キャッシングメカニズムを用いることになる。
【0031】
さらに、没入型メディアは、シーン記述としても知られるシーングラフによって記述される「シーン」に編成されてもよい。シーングラフの範囲は、プレゼンテーションの一部である特定の設定を含むビジュアル、オーディオ、および他の形態の没入型アセットを記述することであり、例えば、映画などのプレゼンテーションの一部である建物内の特定の場所で行われる俳優およびイベントである。単一のプレゼンテーションを含むすべてのシーンのリストは、シーンのマニフェストに定式化されてもよい。
【0032】
このような手法のさらなる利点は、このようなコンテンツを配信しなければならない前に準備されるコンテンツの場合、プレゼンテーション全体で使用されるアセットのすべてと、プレゼンテーション内の様々なシーンにわたって各アセットが使用される頻度とを特定する「部品表」を作成することができることである。理想的なネットワークは、特定のプレゼンテーションのアセット要件を満たすために使用され得るキャッシュされたリソースの存在に関する知識を有するべきである。同様に、一連のシーンを提示しているクライアントは、複数のシーンにわたって使用される任意の所与のアセットの頻度に関する知識を有することを望む場合がある。例えば、メディアアセット(オブジェクトとしても知られる)が、クライアントによって処理されている、または処理されるであろう複数のシーンにわたって複数回参照される場合、クライアントは、その特定のアセットを必要とする最後のシーンがクライアントによって提示されるまで、アセットをそのキャッシングリソースから破棄することを回避すべきである。
【0033】
開示された主題は、没入型メディアシーンを分析して、ネットワークまたはクライアントによって用いられた場合、メディアオブジェクト(またはメディアアセット)のフォーマットAからフォーマットBへの変換が、完全にネットワークによって、完全にクライアントによって、または両方の組合せを介して(クライアントまたはネットワークによってどのアセットが変換されるべきかの指示とともに)実行されるべきかどうかに関する指示を提供する意思決定プロセスをサポートするために使用することができる十分な情報を得るためのメカニズムまたはプロセスの必要性に対処する。このような「没入型メディアデータ複雑性アナライザ」は、自動化された状況ではクライアントまたはネットワークのいずれかによって、または手動の状況では人間によって用いられることがある。
【0034】
開示された主題の残りの部分は、一般性を失うことなく、入力没入型メディアソースを特定のエンドポイントクライアントデバイスに適応させるプロセスが、同じ入力没入型メディアソースを特定のクライアントエンドポイントデバイス上で実行されている特定のアプリケーションに適応させるプロセスと同じまたは類似していると仮定していることに留意されたい。すなわち、入力メディアソースをエンドポイントデバイスの特性に適応させる問題は、特定の入力メディアソースを特定のアプリケーションの特性に適応させる問題と同じ複雑さである。
【0035】
さらに、メディアオブジェクトおよびメディアアセットという用語は、交換可能に使用される場合があり、どちらもメディアデータの特定のフォーマットの特定のインスタンスを指すことに留意されたい。
【0036】
図1は、クライアントに配信するための、ネットワークを介したメディアの流れの概略図である。
図1において、インジェストメディアフォーマットAの処理は、「クラウド」またはエッジプロセス104によって実行される。なお、同様の処理は、手動プロセスまたはクライアントによって、アプリオリに実行されてもよい。インジェストメディア101は、コンテンツプロバイダ(図示せず)から取得される。プロセス102は、インジェストされたメディアの任意の必要な変換または調整を行い、メディアの潜在的な代替表現を配信フォーマットBとしてを作成する。メディアフォーマットAおよびBは、特定のメディアフォーマット仕様の同じシンタックスに従う表現であってもなくてもよいが、フォーマットBは、TCPまたはUDPなどのネットワークプロトコルを介したメディアの配信を容易にするスキームに調整される可能性が高い。このような「ストリーミング可能な」メディアは、クライアント108にストリーミングされるメディアとしてストリーム105に描かれている。クライアント108は、プロセス106として描かれた一部のレンダリング機能にアクセスすることができる。このようなレンダリングプロセス106は、対象クライアント108の種類に応じて、初歩的なものであってもよく、同様に高度なものであってもよい。レンダリングプロセス106は、第3のフォーマット仕様、例えばフォーマットCに従って表現されてもされなくてもよいプレゼンテーションメディアを作成する。
【0037】
図1-02は、
図1と同じであるが、特定のメディアオブジェクトがクライアント108に既にストリーミングされたかどうかを判定するための意思決定プロセスを支援するロジックが追加されている。ステップ102Aは、意思決定プロセスを支援するための一連のステップを開始する。条件付きロジック102Bは、プレゼンテーションのための一意のアセットのリスト(
図1-2の例100-2には示されていない)にアクセスして、メディアオブジェクトが以前にクライアントにストリーミングされたかどうかを判定する。メディアオブジェクトが以前にストリーミングされている場合、インジケータ102C(後に「プロキシ」と呼ばれる)が作成され、クライアントがこの特定のメディアオブジェクトを既に受信しており、メディアオブジェクトのそのローカルコピーを使用すべきであることが識別される。メディアオブジェクトが以前にストリーミングされていない場合、ステップ102Dによって、処理はステップ103に進み、メディアオブジェクトの配信フォーマットを作成する。
【0038】
図2は、メディア変換意思決定プロセス200を用いて、メディアをクライアントに配信する前にネットワークがメディアを変換すべきかどうかを決定する、ネットワークを介したメディアの流れの概略図である。
図2において、フォーマットAで表されるインジェストメディア201は、コンテンツプロバイダ(図示せず)によってネットワークに提供される。プロセス202は、対象クライアント(図示せず)の処理能力を記述する属性を取得する。意思決定プロセス203を用いて、メディアがクライアントにストリーミングされる前に、ネットワークまたはクライアントが、インジェストされたメディア201に含まれるメディアアセットのいずれかについて何らかのフォーマット変換、例えば、フォーマットAからフォーマットBへの特定のメディアオブジェクトの変換などを行うべきかどうかを判定する。メディアアセットのうちのいずれかがネットワークによって変換されるべきである場合、ネットワークは、プロセス204を用いて、メディアオブジェクトをフォーマットAからフォーマットBに変換する。変換されたメディア205は、プロセス204からの出力である。変換されたメディアは、クライアント(図示せず)にストリーミングされるメディアを準備するために、準備プロセス206にマージされる。プロセス207は、メディアをクライアントにストリーミングする。
【0039】
図2-03は、アセット再利用ロジック2030によるメディア変換意思決定プロセスの概略図である。ネットワークを介したメディアの流れは、2つの意思決定プロセスを用いて、メディアをクライアントに配信する前にネットワークがメディアを変換すべきかどうかを判定する。
図2-03の例20300では、フォーマットAで表されるインジェストメディア2031は、コンテンツプロバイダ(図示せず)によってネットワークに提供される。プロセス2032は、対象クライアント(図示せず)の処理能力を記述する属性を取得する。意思決定プロセス2033を用いて、ネットワークが以前に特定のメディアオブジェクトをクライアントにストリーミングしたかどうかを判定する。メディアオブジェクトが以前にクライアントにストリーミングされている場合、ステップ2034を用いて、メディアのプロキシを代用して、クライアントが以前にストリーミングされたオブジェクトのローカルコピーを使用すべきであることを示す。メディアが以前にストリーミングされていない場合、意思決定プロセス2035を用いて、メディアがクライアントにストリーミングされる前に、ネットワークまたはクライアントが、インジェストされたメディア2031内に含まるメディアアセットのいずれかについて、例えば、フォーマットAからフォーマットBへの特定のメディアオブジェクトの変換などの何らかのフォーマット変換を行うべきかどうかを判定する。メディアアセットのうちのいずれかがネットワークによって変換されるべきである場合、ネットワークは、プロセス2038を用いて、メディアオブジェクトをフォーマットAからフォーマットBに変換する。変換されたメディア2039は、プロセス2038からの出力である。変換されたメディアは、クライアント(図示せず)にストリーミングされるメディアを準備するために準備プロセス2036にマージされる。プロセス2037は、メディアをクライアントにストリーミングする。
【0040】
図2-33は、アセット再利用ロジック20330におけるクライアントクエリによるメディア変換意思決定プロセスの例20330を示す。ネットワークを介したメディアの流れは、3つの意思決定プロセスを用いて、メディアをクライアントに配信する前に、ネットワークがメディアを変換すべきかどうかを判定する。
図2-33において、フォーマットAで表されるインジェストメディア20331は、コンテンツプロバイダ(図示せず)によってネットワークに提供される。プロセス20332は、対象クライアント(図示せず)の処理能力を記述する属性を取得する。意思決定プロセス20333を用いて、ネットワークが以前に特定のメディアオブジェクトをクライアントにストリーミングしたかどうかを判定する。メディアオブジェクトが以前にクライアントにストリーミングされている場合、意思決定プロセス20334を用いて、クライアントに問い合わせてクライアントが以前にストリーミングされたアセットに依然としてアクセスできるかどうかを判定する。クライアントが依然としてアセットすることができる場合、ステップ203310を用いて、メディアのプロキシを代用して、クライアントが以前にストリーミングされたオブジェクトのローカルコピーを使用すべきであることを示す。メディアが以前にストリーミングされていない場合、またはクライアントが以前にストリーミングされたアセットのコピーをもはや有していない場合、意思決定プロセス20335を用いて、メディアがクライアントにストリーミングされる前に、ネットワークまたはクライアントが、インジェストされたメディア20331内に含まれるメディアアセットのいずれかについて、例えば、フォーマットAからフォーマットBへの特定のメディアオブジェクトの変換などの何らかのフォーマット変換を行うべきかどうかを判定する。メディアアセットのうちのいずれかがネットワークによって変換されるべきである場合、ネットワークは、プロセス20338を用いて、メディアオブジェクトをフォーマットAからフォーマットBに変換する。変換されたメディア20339は、プロセス20338からの出力である。変換されたメディアは、クライアント(図示せず)にストリーミングされるメディアを準備するために準備プロセス20336にマージされる。プロセス20337は、メディアをクライアントにストリーミングする。
【0041】
図3は、時限異種没入型メディアのためのストリーミング可能なフォーマットの例示的な表現である、時限メディア表現300である。
図4は、非時限異種没入型メディアのストリーミング可能なフォーマットの例示的な表現である、非時限メディア表現400である。どちらの図も、シーンに関しており、
図3は時限メディアのシーン301に関し、
図4は非時限メディアのシーン401に関する。どちらの場合も、シーンは、様々なシーン表現またはシーン記述によって具現化されてもよい。
【0042】
例えば、一部の没入型メディア設計では、シーンは、シーングラフによって、または多平面画像(MPI)として、または多球面画像(MSI)として具現化されてもよい。MPI技術およびMSI技術は両方とも、自然なコンテンツ、すなわち、1つまたは複数のカメラから同時にキャプチャされた現実世界の画像について、ディスプレイに依存しないシーン表現の作成を支援する技術の例である。一方、シーングラフ技術は、自然画像とコンピュータ生成画像の両方を合成表現の形態で表現するために用いられることがあるが、このような表現は、コンテンツが1つまたは複数のカメラによって自然シーンとしてキャプチャされた場合に作成するために特に計算集約的である。すなわち、自然にキャプチャされたコンテンツのシーングラフ表現は、作成するのに時間集約的かつ計算集約的であり、対象の没入型クライアントディスプレイの視錐台を満たすのに十分かつ適切な数のビューを補間するために後で使用することができる合成表現を作成するために、写真測量もしくは深層学習またはその両方の技術を用いた自然画像の複雑な解析を必要とする。結果として、このような合成表現は、リアルタイム配信を必要とするユースケースを考慮するためにリアルタイムで実際に作成することができないため、自然なコンテンツを表現するための候補として考慮するには現在実用的ではない。それにもかかわらず、コンピュータ生成画像は3Dモデリングプロセスおよびツールを使用して作成されるため、現時点では、コンピュータ生成画像の最良の表現候補は、合成モデルを用いたシーングラフの使用を用いることである。
【0043】
自然コンテンツとコンピュータ生成コンテンツの両方の最適表現におけるこのような2分法は、自然にキャプチャされたコンテンツの最適なインジェストフォーマットが、リアルタイム配信アプリケーションに必須ではないコンピュータ生成コンテンツまたは自然コンテンツの最適なインジェストフォーマットとは異なることを示唆している。したがって、開示された主題は、物理的なカメラの使用によって自然に作成されるか、コンピュータによって作成されるかにかかわらず、視覚的没入型メディアの複数のインジェストフォーマットをサポートするのに十分に堅牢であることを目標としている。
【0044】
以下は、コンピュータ生成技術を使用して作成された視覚的没入型メディア、または自然にキャプチャされたコンテンツを表現するのに適したフォーマットとして、シーングラフを具体化する例示的な技術であり、そのために深層学習または写真測量技術が採用されて、自然なシーンの対応する合成表現を作成するものであり、すなわち、リアルタイム配信アプリケーションには必須ではない。
【0045】
1.OTOY社のORBX(登録商標)
OTOY社のORBXは、光線追跡可能、レガシー(フレームベース)、立体および他の種類の、合成またはベクトルベースのビジュアルフォーマットを含む、時限または非時限の任意の種類のビジュアルメディアをサポートすることが可能ないくつかのシーングラフ技術のうちの1つである。ORBXは、メッシュ、ポイントクラウド、およびテクスチャ用の自由に利用可能な、および/またはオープンソースフォーマットをネイティブにサポートするので、他のシーングラフとは異なる。ORBXは、シーングラフ上で動作する複数のベンダ技術にわたる交換を容易にすることを目的として意図的に設計されたシーングラフである。さらに、ORBXは、豊富な素材システム、オープンシェーダ言語のサポート、堅牢なカメラシステム、およびLuaスクリプトのサポートを提供する。ORBXはまた、没入型デジタル体験アライアンス(IDEA)によって使用料無料の条件でライセンスのために公開された没入型技術メディアフォーマット(Immersive Technologies Media Format)の基礎でもある。メディアのリアルタイム配信の状況では、自然なシーンのORBX表現を作成および配信する能力は、カメラによってキャプチャされたデータの複雑な分析および同じデータの合成表現への合成を実行するための計算リソースの利用可能性の関数である。今日まで、リアルタイム配信のための十分な計算の利用可能性は実際的ではないが、それにもかかわらず不可能ではない。
【0046】
2.Pixar社のユニバーサルシーン記述
Pixar社のユニバーサルシーン記述(USD,Universal Scene Description)は、VFXおよび専門のコンテンツ制作業界で人気のある別の周知の成熟したシーングラフである。USDは、Nvidia社のGPUを用いた3Dモデル作成およびレンダリングのための開発者向けツールのセットであるNvidia社のOmniverseプラットフォームに統合されている。USDのサブセットは、USDZとしてApple社およびPixar社によって公開された。USDZは、Apple社のARKitによってサポートされている。
【0047】
3.Khronos社のglTF2.0
glTF2.0は、Khronos社の3Dグループによって書かれた 「グラフィックス言語伝送フォーマット」仕様の最新バージョンである。このフォーマットは、「png」および「jpeg」画像フォーマットを含む、一般にシーン内の静的(非時限)オブジェクトをサポートすることができる単純なシーングラフフォーマットをサポートする。glTF2.0は、単純なアニメーションをサポートし、glTFプリミティブを使用して記述された基本形状、すなわち幾何学的オブジェクトの並進、回転、およびスケーリングをサポートする。glTF2.0は時限メディアをサポートしておらず、したがって、ビデオもオーディオもサポートしていない。
【0048】
没入型ビジュアルメディアのシーン表現のためのこれらの既知の設計は、例として提供されているにすぎず、入力没入型メディアソースを、クライアントエンドポイントデバイスの特定の特性に適したフォーマットに適応させるプロセスを指定するその能力において、開示された主題を限定するものではない。
【0049】
さらに、上記の例示的なメディア表現のいずれかまたはすべては、錐台の特定の寸法に基づいて特定のディスプレイの視錐台を満たすために特定のビューの選択を可能にするかまたは容易にするニューラルネットワークモデルを訓練して作成するために、深層学習技術を現在用いているか、または用いることができる。特定のディスプレイの視錐台のために選択されたビューは、シーン表現において明示的に提供される既存のビューから、例えば、MSIまたはMPI技術から補間されてもよく、またはこれらのレンダリングエンジンのための特定の仮想カメラ位置、フィルタ、または仮想カメラの記述に基づいてレンダリングエンジンから直接レンダリングされてもよい。
【0050】
したがって、開示された主題は、自然に(例えば、1つまたは複数のカメラを用いて)キャプチャされるか、またはコンピュータ生成技術を使用して作成されるメディアのリアルタイムまたは「オンデマンド」(例えば、非リアルタイム)配信の両方の要件を十分に満たすことができる、比較的小さいがよく知られている没入型メディアインジェストフォーマットのセットがあることを考慮するのに十分に堅牢である。
【0051】
ニューラルネットワークモデルまたはネットワークベースのレンダリングエンジンのいずれかの使用による没入型メディアインジェストフォーマットからのビューの補間は、モバイルネットワーク用の5Gおよび固定ネットワーク用の光ファイバケーブルなどの高度なネットワーク技術が展開されるにつれてさらに容易になる。すなわち、これらの高度なネットワーク技術は、このような高度なネットワークインフラストラクチャがますます大量のビジュアル情報の伝送および配信をサポートすることができるため、商用ネットワークの容量および能力を増加させる。マルチアクセスエッジコンピューティング(MEC)、ソフトウェア定義ネットワーク(SDN)、およびネットワーク機能仮想化(NFV)などのネットワークインフラストラクチャ管理技術は、商用ネットワークサービスプロバイダは、特定のネットワークリソースに対する需要の変化に適応するように、例えば、ネットワークスループット、ネットワーク速度、ラウンドトリップレイテンシ、およびコンピューティングリソースに対する需要の動的な増加または減少に対応するように、ネットワークインフラを柔軟に構成することを可能にする。さらに、動的ネットワーク要件に適応するこの固有の能力は、同様に、異種クライアントエンドポイントのための潜在的に異種のビジュアルメディアフォーマットを有する様々な没入型メディアアプリケーションをサポートするために、没入型メディアインジェストフォーマットを適切な配信フォーマットに適応させるネットワークの能力を容易にする。
【0052】
没入型メディアアプリケーション自体はまた、ゲームの状態でリアルタイム更新に応答するために著しく低いネットワークレイテンシを必要とするゲームアプリケーション、ネットワークのアップリンク部分およびダウンリンク部分の両方に対して対称的なスループット要件を有するテレプレゼンスアプリケーション、およびデータを消費しているクライアントエンドポイントのディスプレイの種類に応じてダウンリンクリソースに対する需要が増加する可能性のある受動的閲覧アプリケーションを含む、ネットワークリソースに対する様々な要件を有してもよい。一般に、任意の消費者向けアプリケーションは、記憶、計算および電力のための様々なオンボードクライアント機能、ならびに特定のメディア表現のための同じく様々な要件を含む様々なクライアントエンドポイントによってサポートされてもよい。
【0053】
したがって、開示された主題は、十分に装備されたネットワーク、すなわち、最新のネットワークの特性の一部またはすべてを用いるネットワークが、以下の中で指定された特徴に従って複数のレガシーおよび没入型メディア対応デバイスを同時にサポートすることを可能にする。
1.メディアの配信のためのリアルタイムおよび「オンデマンド」のユースケースの両方に実用的なメディアインジェストフォーマットを活用する柔軟性を提供する。
2.レガシーおよび没入型メディア対応のクライアントエンドポイントの両方について、自然コンテンツおよびコンピュータ生成コンテンツの両方をサポートする柔軟性を提供する。
3.時限メディアおよび非時限メディアの両方をサポートする。
4.クライアントエンドポイントの機能および能力に基づいて、ならびにアプリケーションの要件に基づいて、ソースメディアインジェストフォーマットを適切な配信フォーマットに動的に適応させるためのプロセスを提供する。
5.配信フォーマットがIPベースのネットワーク上でストリーミング可能であることを保証する。
6.ネットワークが、レガシーおよび没入型メディア対応デバイスの両方を含み得る複数の異種クライアントエンドポイントに同時にサービスを提供できるようにする。
7.シーン境界に沿った配信メディアの編成を容易にする例示的なメディア表現フレームワークを提供する。
【0054】
開示された主題によって可能になる改善のエンドツーエンドの実施形態は、以下のような
図3~
図16の詳細な説明に記載された処理および構成要素に従って達成される。
【0055】
図3および
図4は、いずれも、特定のクライアントエンドポイントの能力に適応するようにインジェストソースフォーマットから適応された単一の例示的な包括的配信フォーマットを用いている。上述したように、
図3に示すメディアは、時間設定されており、
図4に示すメディアは、時間設定されていない。特定の包括的フォーマットは、その構造において、各レイヤがメディアの提示に寄与する顕著な情報の量に基づいてそれぞれが階層化され得る多種多様なメディア属性に対応するのに十分に堅牢である。このような階層化処理は、プログレッシブJPEGや、ISO/IEC 14496-10(Scalable Advanced Video Coding)に規定されているようなスケーラブルビデオアーキテクチャで実証されているように、現在の最先端技術では既によく知られた技術であることに留意されたい。
【0056】
1.包括的メディアフォーマットに従ってストリーミングされるメディアは、レガシー視覚メディアおよびオーディオメディアに限定されず、機械と対話して、人間の視覚、音、味覚、触覚、および嗅覚を刺激する信号を生成することが可能な任意の種類のメディア情報を含んでもよい
【0057】
2.包括的メディアフォーマットに従ってストリーミングされるメディアは、時限または非時限メディアの両方、あるいは両方の組合せであってもよい。
【0058】
3.包括的メディアフォーマットは、ベース層および強化層アーキテクチャの使用によってメディアオブジェクトの階層化表現を可能にすることによってさらにストリーミング可能である。一例では、別々のベース層および強化層は、各シーン内のメディアオブジェクトについての多重解像度または多重モザイク化の解析技術の適用によって計算される。これは、ISO/IEC 10918-1(JPEG)およびISO/IEC 15444-1(JPEG2000)で指定されたプログレッシブレンダリング画像フォーマットに類似しているが、ラスタベースのビジュアルフォーマットに限定されない。例示的な実施形態では、幾何学的オブジェクトのプログレッシブ表現は、ウェーブレット解析を使用して計算されたオブジェクトの多重解像度表現とすることができる。
【0059】
メディアフォーマットの階層化表現の別の例では、強化層は、ベース層によって表されるビジュアルオブジェクトの表面の材料特性を改良するなど、ベース層に異なる属性を適用する。さらに別の例では、属性は、表面を滑らかなテクスチャから多孔質のテクスチャに、またはつや消しの表面から光沢のある表面に変更するなど、ベース層オブジェクトの表面のテクスチャを改良することができる。
【0060】
階層化表現のさらに別の例では、シーン内の1つまたは複数のビジュアルオブジェクトの表面は、ランバート(Lambertian)面からレイトレース可能(ray-traceable)な表面に変更されてもよい。
【0061】
階層化表現のさらに別の例では、ネットワークは、ベース層表現をクライアントに配信し、その結果、クライアントは、ベース表現の解像度または他の特性を改良するために追加の強化層の送信を待機している間に、シーンの公称プレゼンテーションを作成することができる。
【0062】
4.強化層の属性または改良情報の解像度は、今日の既存のMPEGビデオおよびJPEG画像規格とは異なり、ベース層のオブジェクトの解像度と明示的に結合されていない。
【0063】
5.包括的メディアフォーマットは、プレゼンテーションデバイスまたは機械によって提示または作動され得る任意の種類の情報メディアをサポートし、それによって、異種のクライアントエンドポイントに対する異種のメディアフォーマットのサポートを可能にする。メディアフォーマットを配信するネットワークの一実施形態では、ネットワークは、最初にクライアントエンドポイントに問い合わせてクライアントの能力を判定し、クライアントがメディア表現を有意に取り込むことができない場合、ネットワークは、クライアントによってサポートされていない属性の層を除去するか、またはメディアをその現在のフォーマットからクライアントエンドポイントに適したフォーマットに適応させる。このようなアダプテーションの1つの例では、ネットワークは、ネットワークベースのメディア処理プロトコルを使用することによって、ボリュームのビジュアルメディアアセットを同じビジュアルアセットの2D表現に変換する。このようアダプテーションの別の例では、ネットワークは、ニューラルネットワークプロセスを用いて、メディアを適切なフォーマットに再フォーマットするか、または任意選択で、クライアントエンドポイントによって必要とされるビューを合成することができる。
【0064】
6.完全なもしくは部分的に完全な没入型体験(ライブストリーミングイベント、ゲーム、またはオンデマンドアセットの再生)のためのマニフェストは、プレゼンテーションを作成するためにレンダリングおよびゲームエンジンが現在取り込むことができる最小量の情報であるシーンによって編成される。マニフェストは、クライアントによって要求された没入型体験の全体がレンダリングされる個々のシーンのリストを含む。各シーンには、シーンジオメトリのストリーミング可能なバージョンに対応するシーン内の幾何学的オブジェクトの1つまたは複数の表現が関連付けられている。シーン表現の一実施形態は、シーンの幾何学的オブジェクトの低解像度バージョンに関する。同じシーンの別の実施形態は、同じシーンの幾何学的オブジェクトにさらなる詳細を追加するか、またはモザイク化を増加させるための、シーンの低解像度表現のための強化層に関する。上述したように、各シーンは、シーンの幾何学的オブジェクトの詳細を漸進的に増加させるために2つ以上の強化層を有してもよい。
【0065】
7.シーン内で参照されるメディアオブジェクトの各レイヤは、ネットワーク内でリソースにアクセスされ得るアドレスを指すトークン(例えば、URI)に関連付けられる。このようなリソースは、コンテンツがクライアントによってフェッチされ得るCDNに類似している。
【0066】
8.幾何学的オブジェクトの表現のためのトークンは、ネットワーク内の位置またはクライアント内の位置を指してもよい。すなわち、クライアントは、そのリソースがネットワークベースのメディア処理のためにネットワークに利用可能であることをネットワークにシグナリングしてもよい。
【0067】
後述する図において、複数の配置要素に対して同じ参照番号が示されることがあり、このような場合、説明は、それらの同じラベル付けされた要素のいずれかおよびすべてにそれぞれ関連すると仮定されている場合がある。
【0068】
図3は、以下のような時限メディアのための包括的メディアフォーマットの実施形態を説明する。時限シーンマニフェストは、シーン情報301のリストを含む。シーン301は、シーン301を構成する処理情報およびメディアアセットの種類を別々に記述するコンポーネント302のリストを参照する。コンポーネント302は、アセット303を参照し、アセット303は、ベース層304および属性強化層305をさらに参照する。他のシーンにおいて以前に使用されたことがない一意のアセットのリストが、307において提供される。
【0069】
図4は、以下のような非時限メディアのための包括的メディアフォーマットの実施形態を説明する。シーン情報401は、クロックに応じた開始時間および終了時間に関連付けられていない。シーン情報401は、シーン401を構成する処理情報およびメディアアセットの種類を別々に記述するコンポーネント402のリストを参照する。コンポーネント402は、アセット403を参照し、アセット403は、ベース層404および属性強化層405、406をさらに参照する。さらに、シーン401は、非時限メディア用の他のシーン401を参照する。シーン401は、時限メディアシーンのためのシーン407も参照する。リスト406は、高次(例えば、親)シーンで以前に使用されたことがない特定のシーンに関連付けられた一意のアセットを識別する。
【0070】
図5は、自然コンテンツからインジェストフォーマットを合成するプロセス500の一実施形態を示す。カメラユニット501は、単一のカメラレンズを使用して人物のシーンをキャプチャする。カメラユニット502は、リング状の物体の周りに5つのカメラレンズを装着することによって、5つの視野が発散するシーンをキャプチャする。502の配置は、VRアプリケーション用の全方向性コンテンツをキャプチャするために一般的に使用される例示的な配置である。カメラユニット503は、球体の内径部分に7つのカメラレンズを装着することによって、7つの視野が集束するシーンをキャプチャする。配置503は、光照射野ディスプレイまたはホログラフィック没入型ディスプレイ用の光照射野をキャプチャするために一般的に使用される例示的な配置である。自然画像コンテンツ509は、合成プロセス504への入力として提供され、合成プロセス504は、オプションのキャプチャニューラルネットワークモデル508を生成するために、トレーニング画像506の集合を使用するニューラルネットワークトレーニングプロセス505を任意選択で用いることができる。トレーニングプロセス505の代わりに一般的に使用されるもう1つのプロセスは、写真測量である。モデル508が
図5に示すプロセス500中に作成される場合、モデル508は、自然なコンテンツ用のインジェストフォーマット507のアセットのうちの1つになる。インジェストフォーマット507の例示的な実施形態は、MPIおよびMSIを含む。
【0071】
図6は、合成メディア、例えば、コンピュータ生成画像のインジェストフォーマットを作成するためのプロセス600の一実施形態を示す。LIDARカメラ601は、シーンの点群(Point Cloud)602をキャプチャする。CGIツール、3Dモデリングツール、または合成コンテンツを作成するための別のアニメーションプロセスがコンピュータ603で用いられ、ネットワークを介してCGIアセットが作成される(604)。センサ付きモーションキャプチャスーツ605Aは、アクタ605に着用され、アクタ605の動きのデジタル記録をキャプチャして、アニメーション化されたMoCapデータ606を生成する。データ602、604、および606は、合成プロセス607への入力として提供され、この合成プロセス607も同様に、任意選択で、ニューラルネットワークおよびトレーニングデータを使用してニューラルネットワークモデル(
図6に図示せず)を作成することができる。
【0072】
上述の異種没入型メディアを表現し、かつストリーミングするための技術は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実施することができ、1つまたは複数のコンピュータ可読媒体に物理的に記憶することができる。例えば、
図7は、開示された主題の特定の実施形態を実装するのに適したコンピュータシステム700を示す。
【0073】
コンピュータソフトウェアは、コンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって、直接に、または解釈、マイクロコードの実行などを介して実行可能な命令を含むコードを作成するために、アセンブリ、コンパイル、リンクなどのメカニズムの適用を受け得る、任意の適切な機械コードまたはコンピュータ言語を使用してコード化され得る。
【0074】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーミングデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはその構成要素上で実行され得る。
【0075】
コンピュータシステム700について
図7に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲または機能に関するいかなる限定も示唆することは意図されていない。また、構成要素の構成は、コンピュータシステム700の例示的な実施形態に示された構成要素のいずれか1つまたは組合せに関連するいかなる依存関係または要件も有すると解釈されるべきではない。
【0076】
コンピュータシステム700は、特定のヒューマンインターフェース入力デバイスを含み得る。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を介した、1人以上の人間ユーザによる入力に応答することができる。ヒューマンインターフェースデバイスはまた、オーディオ(音声、音楽、周囲音など)、画像(走査画像、静止画像カメラから取得された写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定の媒体をキャプチャするために使用され得る。
【0077】
入力ヒューマンインターフェースデバイスは、キーボード701、マウス702、トラックパッド703、タッチスクリーン710、データグローブ(図示せず)、ジョイスティック705、マイクロホン706、スキャナ707、カメラ708のうちの1つまたは複数(それぞれ1つのみ図示)を含むことができる。
【0078】
コンピュータシステム700はまた、特定のヒューマンインターフェース出力デバイスを含んでもよい。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および匂い/味を介して、1人または複数の人間ユーザの感覚を刺激している場合がある。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン710、データグローブ(図示せず)、またはジョイスティック705による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、音声出力デバイス(スピーカ709、ヘッドホン(図示せず)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン710など、それぞれタッチスクリーン入力機能の有無にかかわらず、それぞれ触覚フィードバック機能の有無にかかわらず、そのうちの一部は、2次元視覚出力、または立体出力などの手段を介した3次元を上回る出力を出力できる場合がある)、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ、およびスモークタンク(図示せず)、ならびにプリンタ(図示せず)を含むことができる。
【0079】
コンピュータシステム700はまた、人間がアクセス可能なストレージデバイスと、CD/DVDなどの媒体721を有するCD/DVD ROM/RW720、サムドライブ722、リムーバブルハードドライブまたはソリッドステートドライブ723、テープやフロッピーディスク(図示されていない)などのレガシー磁気媒体、セキュリティドングル(図示されていない)などの専用ROM/ASIC/PLDベースのデバイスなどを含む光媒体などの、ストレージデバイスに関連付けられた媒体も含むことができる。
【0080】
当業者は、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的信号を包含しないことも理解すべきである。
【0081】
コンピュータシステム700はまた、1つまたは複数の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光とすることができる。ネットワークはさらに、ローカル、ワイドエリア、メトロポリタン、車両および産業用、リアルタイム、遅延耐性などとすることができる。ネットワークの例には、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上波放送TVを含むTV有線または無線広域デジタルネットワーク、CANBusを含む車両用および産業用などが含まれる。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(749)(例えば、コンピュータシステム700のUSBポートなど)に取り付けられた外部ネットワークインターフェースアダプタを必要とし、その他のネットワークは、一般に、以下に記載されるようなシステムバスへの取り付け(例えば、パーソナルコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)によってコンピュータシステム700のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム700は他のエンティティと通信することができる。このような通信は、単方向受信専用(例えば、テレビ放送)、単方向送信専用(例えば、特定のCANbusデバイスへのCANbus)、または例えば、ローカルもしくは広域デジタルネットワークを使用する他のコンピュータシステムへの双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースのそれぞれで使用され得る。
【0082】
前述のヒューマンインターフェースデバイス、人間がアクセス可能なストレージデバイス、およびネットワークインターフェースは、コンピュータシステム700のコア740に取り付けられ得る。
【0083】
コア740は、1つまたは複数の中央処理ユニット(CPU)741、グラフィックス処理ユニット(GPU)742、フィールドプログラマブルゲートエリア(FPGA)743の形態の専用プログラマブル処理ユニット、特定のタスクのためのハードウェアアクセラレータ744などを含むことができる。これらのデバイスは、読み出し専用メモリ(ROM)745、ランダムアクセスメモリ746、ユーザがアクセスできない内蔵ハードドライブ、SSDなどの内部大容量ストレージ747とともに、システムバス748を介して接続される場合がある。一部のコンピュータシステムでは、システムバス748は、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能であり得る。周辺デバイスは、コアのシステムバス748に直接、または周辺バス749を介して取り付けられ得る。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。
【0084】
CPU741、GPU742、FPGA743、およびアクセラレータ744は、組み合わさって、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードをROM 745またはRAM 746に記憶することができる。過渡的なデータをRAM 746に記憶することもでき、一方、永久的なデータを、例えば、内部大容量ストレージ747に記憶することができる。メモリデバイスのうちのいずれかへの高速記憶および取り出しは、1つまたは複数のCPU 741、GPU 742、大容量ストレージ747、ROM 745、RAM 746などと密接に関連付けることができる、キャッシュメモリの使用によって可能にされ得る。
【0085】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、またはコンピュータソフトウェア分野の当業者によく知られた利用可能な種類のものであってもよい。
【0086】
限定ではなく、例として、アーキテクチャ700を有するコンピュータシステム、具体的にはコア740は、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つまたは複数の有形のコンピュータ可読媒体において具現化されたソフトウェアを実行した結果として機能を提供することができる。このようなコンピュータ可読媒体は、上述したようなユーザアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ747またはROM 745などの非一時的な性質のものであるコア740の特定のストレージに関連付けられた媒体とすることができる。本開示の様々な実施形態を実施するソフトウェアは、そのようなデバイスに記憶され、コア740によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア740および具体的にはコア中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM 746に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってこのようなデータ構造を変更することを含む、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに、またはソフトウェアと一緒に動作することができる、回路において配線でまたはその他の方法で具現化されたロジック(例えば、アクセラレータ744)の結果としての機能を提供することができる。ソフトウェアへの言及は、必要に応じて、ロジックを包含することができ、その逆も同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
【0087】
図8は、クライアントエンドポイントとして様々なレガシーディスプレイおよび異種没入型メディア対応ディスプレイをサポートする例示的なネットワークメディア配信システム800を示す。コンテンツ取得プロセス801は、
図6または
図5の例示的な実施形態を使用してメディアをキャプチャまたは作成する。インジェストフォーマットは、コンテンツ準備プロセス802において作成され、次いで、送信プロセス803を使用してネットワークメディア配信システムに送信される。ゲートウェイ804は、顧客宅内機器にサービスして、ネットワークの様々なクライアントエンドポイントへのネットワークアクセスを提供することができる。セットトップボックス805は、ネットワークサービスプロバイダによる集約コンテンツへのアクセスを提供するための顧客宅内機器としても機能することができる。無線復調器806は、例えば、モバイルハンドセットディスプレイ813で示されるように、モバイルデバイス用のモバイルネットワークアクセスポイントとして機能することができる。システム800のこの特定の実施形態では、レガシー2Dテレビ807は、ゲートウェイ804、セットトップボックス805、またはWiFiルータ808に直接接続されるように示されている。WiFiルータ808に接続されたクライアントエンドポイントとして、レガシー2Dディスプレイ809を備えたコンピュータラップトップが示されている。ヘッドマウント2D(ラスタベース)ディスプレイ810もルータ808に接続されている。レンチキュラ光照射野ディスプレイ811は、ゲートウェイ804に接続されて示される。ディスプレイ811は、ローカルコンピュートGPU811Aと、ストレージデバイス811Bと、光線ベースのレンチキュラ光学技術を使用して複数のビューを作成するビジュアルプレゼンテーションユニット811Cとで構成されている。セットトップボックス805に接続されたホログラフィックディスプレイ812が示されている。ディスプレイ812は、ローカルコンピュートCPU812Aと、GPU812Bと、ストレージデバイス812Cと、フレネルパターン、波動ベースのホログラフィック視覚化ユニット812Dとで構成されている。無線復調器806に接続された拡張現実ヘッドセット814が示されている。ヘッドセット814は、GPU 814Aと、ストレージデバイス814Bと、バッテリ814Cと、ボリュメトリック視覚プレゼンテーション構成要素814Dとで構成されている。高密度光照射野ディスプレイ815は、WiFiルータ808に接続されているものとして示されている。ディスプレイ815は、複数のGPU815Aと、CPU815Bと、ストレージデバイス815Cと、視線追跡デバイス815Dと、カメラ815Eと、高密度光線ベースの光照射野パネル815Fとで構成されている。
【0088】
図9は、以前に
図8に示したようなレガシーおよび異種没入型メディア対応ディスプレイにサービスすることができる没入型メディア配信プロセス900の一実施形態を示す。コンテンツは、自然コンテンツとCGIコンテンツについてそれぞれ
図5および
図6にさらに具現化されているプロセス901において作成または取得される。次いで、コンテンツ901は、ネットワークインジェストフォーマット作成プロセス902を使用してインジェストフォーマットに変換される。プロセス902は、同様に、自然コンテンツとCGIコンテンツについてそれぞれ
図5および
図6でさらに具現化されている。インジェストメディアは、任意選択で更新され、メディア再利用アナライザ911から、複数のシーンにわたって再利用される可能性のあるアセットに関する情報を記憶する。インジェストメディアフォーマットは、ネットワークに送信され、ストレージデバイス903に記憶される。任意選択で、ストレージデバイスは、没入型メディアコンテンツ作成者のネットワークに常駐し、903を2等分する破線によって示されるように、没入型メディアネットワーク配信プロセス(番号なし)によって遠隔アクセスされてもよい。クライアントおよびアプリケーション特有の情報は、代替「クラウド」ネットワークに任意選択で遠隔に存在する可能性がある遠隔ストレージデバイス904において任意選択で利用可能である。
【0089】
図9に示すように、ネットワークオーケストレーションプロセス905は、配信ネットワークの主要なタスクを実行するための情報の主要なソースおよびシンクとして機能する。この特定の実施形態では、プロセス905は、ネットワークの他の構成要素と統合されたフォーマットで実装されてもよい。それにもかかわらず、
図9のプロセス905によって示されるタスクは、開示された主題の本質的な要素を形成する。オーケストレーションプロセス905は、クライアントの特性に従ってメディアのすべての処理および配信を容易にするために、クライアントとの双方向メッセージプロトコルをさらに用いることができる。さらに、双方向プロトコルは、異なる配信チャネル、すなわち、制御プレーンチャネルとデータプレーンチャネルにわたって実装されてもよい。
【0090】
プロセス905は、クライアント908の特徴および属性に関する情報を受信し、908で現在実行されているアプリケーションに関する要件をさらに収集する。この情報は、デバイス904から取得されてもよく、または代替の実施形態では、クライアント908に直接問い合わせることによって取得されてもよい。クライアント908への直接問い合わせの場合、クライアントがオーケストレーションプロセス905に直接通信し得るように、双方向プロトコル(
図9に図示せず)が存在し、動作可能であると仮定されている。
【0091】
オーケストレーションプロセス905はまた、
図10に記載されるメディアアダプテーションプロセス910を開始し、それと通信する。プロセス910によってインジェストメディアが適応され、断片化されると、メディアは、任意選択で、配信用に準備されたメディアストレージデバイス909として示される中間ストレージデバイスに転送される。配信メディアが準備され、デバイス909に記憶されると、オーケストレーションプロセス905は、没入型クライアント908が、そのネットワークインターフェース908Bを介して、配信メディアおよび対応する記述情報906を「プッシュ」要求を通じて受信するか、またはクライアント908自身がストレージデバイス909からのメディア906の「プル」要求を開始し得ることを保証する。オーケストレーションプロセス905は、「プッシュ」要求を実行するために、またはクライアント908による「プル」要求を開始するために、双方向メッセージインターフェース(
図9には図示せず)を用いることができる。没入型クライアント908は、任意選択でGPU(または図示しないCPU)908Cを用いることができる。メディアの配信フォーマットは、クライアント908のストレージデバイスまたはストレージキャッシュ908Dに記憶される。最後に、クライアント908は、その視覚化コンポーネント908Aを介してメディアを視覚的に提示する。
【0092】
没入型メディアをクライアント908にストリーミングするプロセス全体を通して、オーケストレーションプロセス905は、クライアントの進捗状況およびステータスフィードバックチャネル907を介してクライアントの進捗状況のステータスを監視する。ステータスの監視は、双方向通信メッセージインターフェース(
図9には図示せず)によって実行されてもよい。
【0093】
図10は、インジェストされたソースメディアがクライアント908の要件に合致するように適切に適応され得るように、メディアアダプテーションプロセスの特定の実施形態を描写する。1つまたは複数のプロセッサによって制御されるメディアアダプテーションプロセス1001は、インジェストメディアのクライアント908に対する適切な配信フォーマットへのアダプテーションを容易にする複数の構成要素で構成されている。これらの構成要素は例示的なものとみなされるべきである。
図10において、アダプテーションプロセス1001は、入力ネットワークステータス1005を受信してネットワーク上の現在のトラフィック負荷を追跡する。クライアント908情報には、属性および機能の説明、アプリケーションの機能および説明、アプリケーションの現在のステータス、およびクライアントの錐台の幾何学的形状をインジェスト没入型メディアの補間機能にマッピングするのを支援するクライアントニューラルネットワークモデル(利用可能な場合)が含まれる。このような情報は、双方向メッセージインターフェース(
図10に図示せず)によって得られてもよい。アダプテーションプロセス1001は、適応された出力が作成されると、クライアント適応メディアストレージデバイス1006に確実に記憶されるようにする。メディア再利用アナライザ1007は、メディアの配信のために、アプリアオリで、またはネットワーク自動化プロセスの一部として実行され得る任意選択のプロセスとして
図10に示されている。
【0094】
アダプテーションプロセス1001は、ロジックコントローラ1001Fによって制御される。アダプテーションプロセス1001はまた、レンダラ1001Bまたはニューラルネットワークプロセッサ1001Cを用いて、特定のインジェストソースメディアをクライアントに適したフォーマットに適応させる。ニューラルネットワークプロセッサ1001Cは、1001Aのニューラルネットワークモデルを使用する。このようなニューラルネットワークプロセッサ1001Cの例には、MPIおよびMSIに記載されているようなディープビューニューラルネットワークモデル生成器が含まれる。メディアが2Dフォーマットであるが、クライアントが3Dフォーマットでなければならない場合、ニューラルネットワークプロセッサ1001Cは、2Dビデオ信号から相関性の高い画像を使用するプロセスを呼び出して、ビデオに描写されたシーンのボリュメトリック表現を導出することができる。適切なレンダラ1001Bの例は、アダプテーションプロセス1001と直接対話するように修正されたOTOY Octaneレンダラ(図示せず)の修正バージョンであってもよい。アダプテーションプロセス1001は、インジェストメディアのフォーマットおよびクライアント908が要求するフォーマットに関するこれらのツールの必要性に応じて、任意選択でメディア圧縮器1001Dおよびメディア伸張器1001Eを用いることができる。
【0095】
図11は、配信フォーマット作成プロセス1100を示す。適応メディアパッケージ化プロセス1103は、クライアントアダプテーションメディアストレージデバイス1102上に現在常駐するメディア適応プロセス1101(
図10のプロセス1000として示される)からのメディアをパッケージ化する。パッケージ化プロセス1103は、プロセス1101からの適応化メディアを、堅牢な配信フォーマット1104、例えば、
図3または
図4に示す例示的なフォーマットにフォーマットする。マニフェスト情報1104Aは、クライアント908に、クライアント908が受け取ることが期待できるシーンデータアセットのリスト1104B、ならびにシーンのすべてのアセットの複雑さを記述する任意選択の複雑さメタデータを提供する。リスト1104Bは、それぞれが対応するメタデータを有するビジュアルアセット、音声アセット、および触覚アセットのリストを示す。
【0096】
図12は、パケタイザプロセスシステム1200を示す。パケタイザプロセス1202は、適応されたメディア1201を、クライアント908へのストリーミングに適した個々のパケット1203に分離する。
【0097】
シーケンス
図1300について
図13に示す構成要素および通信を以下に説明する。クライアントエンドポイント1301は、ネットワーク配信インターフェース1302へのメディア要求1308を開始する。要求1308は、URNまたは他の標準的な命名法のいずれかによって、クライアントが要求するメディアを識別するための情報を含む。ネットワーク配信インターフェース(クライアント1302としても知られている)は、クライアント1301が現在利用可能なリソースに関する情報(計算、ストレージ、バッテリ充電率、およびクライアントの現在の動作ステータスを特徴付ける他の情報を含む)を提供することを要求するプロファイル要求1309を用いて要求1308に応答する。プロファイル要求1309はまた、ニューラルネットワーク推論のためにネットワークによって使用されて正しいメディアビューを抽出または補間してクライアントのプレゼンテーションシステムの特徴に一致させられ得る1つまたは複数のニューラルネットワークモデルがクライアントにおいて利用可能である場合、そのようなモデルをクライアントが提供することを要求する。クライアント1301からインターフェース1302への応答1311は、クライアントトークン、アプリケーショントークン、および1つまたは複数のニューラルネットワークモデルトークン(このようなニューラルネットワークモデルトークンがクライアントで利用可能である場合)を提供する。次いで、インターフェース1302は、クライアント1301にセッションIDトークン1311を提供する。次いで、インターフェース1302は、要求1308において識別されたメディアのURNまたは他の標準名を含むインジェストメディア要求(Ingest Media Request)1312でインジェストメディアサーバ1303に要求する。サーバ1303は、インジェストメディアトークンを含む応答1313で要求1312に応答する。次いで、インターフェース1302は、応答1313からのメディアトークンを呼び出し1314においてクライアント1301に提供する。次いで、インターフェース1302は、インジェストメディアトークン、クライアントトークン、アプリケーショントークン、およびニューラルネットワークモデルトークンをアダプテーションインターフェース1304に提供することによって、1308において、要求されたメディアのアダプテーションプロセスを開始する。インターフェース1304は、インジェストメディアアセットへのアクセスを要求するために、呼び出し1316において、サーバ1303にインジェストメディアトークンを提供することによって、インジェストメディアへのアクセスを要求する。サーバ1303は、インターフェース1304への応答1317において、インジェストメディアアクセストークンで要求1316に応答する。次いで、インターフェース1304は、メディアアダプテーションプロセス1305が、1313において作成されたセッションIDトークンに対応するクライアント、アプリケーション、およびニューラルネットワーク推論モデルのために、インジェストメディアアクセストークンに位置するインジェストメディアを適応させることを要求する。インターフェース1304からプロセス1305への要求1318は、必要なトークンおよびセッションIDを含む。プロセス1305は、インターフェース1302に、更新1319において、適応されたメディアアクセストークンおよびセッションIDを提供する。インターフェース1302は、インターフェース呼び出し1320において、適応されたメディアアクセストークンおよびセッションIDをパッケージ化プロセス1306に提供する。パッケージ化プロセス1306は、応答1321において、パッケージ化されたメディアアクセストークンおよびセッションIDを有する応答1321をインターフェース1302に提供する。プロセス1306は、応答1322において、パッケージ化されたセット、URN、およびセッションIDのためのパッケージ化されたメディアアクセストークンをパッケージ化メディアサーバ1307に提供する。クライアント1301は、要求1323を実行して、メッセージ1321で受信したパッケージ化されたメディアアクセストークンに対応するメディアアセットのストリーミングを開始する。クライアント1301は、他の要求を実行し、メッセージ1324において、ステータスの更新をインターフェース1302に提供する。
【0098】
図14は、メディア再利用アナライザ1400として
図9に示される没入型メディアデータ再利用オプティマイザのメディア再利用アナライザ911の論理フローを示す。プロセスの初期化は、ステップ1401で始まる。初期化ステップ1402は、イテレータ「i」を0に初期化し、さらに、
図3または
図4に示されるように、プレゼンテーションを構成するすべてのシーンにわたって遭遇する一意のアセットを識別するリスト1404のセット(各シーンに対して1つのリスト)を初期化する。リスト1404は、アセットを構成するメディアの種類(例えば、メッシュ、オーディオ、またはボリューム)のインジケータと、アセットの一意の識別子と、プレゼンテーションを構成するシーンのセットにわたってアセットが使用される回数と、を含む、プレゼンテーション全体に関して一意であるアセットを記述する情報のサンプルリストエントリを示す。一例として、シーンN-1の場合、シーンN-1に必要なすべてのアセットがシーン1およびシーン2でも使用されるアセットとして識別されているため、そのリストに含まれるアセットはない。ステップ1403は、イテレータ「i」が(
図3または
図4に示されるような)プレゼンテーションを構成するシーンの総数未満であるかどうかを判定する。イテレータ「i」がプレゼンテーションを構成するシーンの数Nに等しい場合、再利用分析はステップ1405で終了する。そうでない場合は、イテレータ「i」がシーンの総数よりも少ない場合、処理はステップ1406に進み、イテレータ「j」が0に設定される。ステップ1407は、イテレータ「j」をテストして、イテレータ「j」が現在のシーン「i」内のメディアアセット(メディアオブジェクトとも呼ばれる)の総数未満であるかどうかを判定する。イテレータ「j」がシーン「i」のメディアアセットの総数よりも少ない場合、処理はステップ1408に進む。そうでない場合は、処理はステップ1412に進み、ステップ1403に戻る前に、イテレータ「i」が1だけインクリメントされる。「j」の値がシーン「i」のアセットの総数よりも少ない場合、処理は条件付きステップ1408に進み、メディアアセットの特徴が、現在のシーン「i」よりも前のシーンから以前に分析されたアセットと比較される。アセットがシーン「i」よりも前のシーンで使用されたアセットとして識別された場合、ステップ1411において、シーン0~N-1にわたってアセットが使用された回数が1だけインクリメントされる。そうではなく、アセットが一意のアセットである場合、すなわち、イテレータ「i」のより小さい値に関連付けられたシーンにおいて以前に分析されたことがない場合、ステップ1409において、シーン「i」のリスト1404に一意のアセットエントリが作成される。ステップ1409はまた、アセットのエントリに一意の識別子を作成して割り当て、アセットがシーン0~N-1にわたって使用された回数を1に設定する。ステップ1409に続いて、処理はステップ1410に進み、イテレータ「j」が1だけインクリメントされる。ステップ1410の後、処理はステップ1407に戻る。
【0099】
本開示は、いくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書に明示的に図示または記載されていないが、本開示の原理を具現化し、したがって本開示の趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0100】
101 インジェストメディア、102 プロセス、102B 条件付きロジック、102C インジケータ、104 エッジプロセス、105 ストリーム、106 レンダリングプロセス、108 ターゲットクライアント、200 メディア変換意思決定プロセス、201 インジェストメディア、202 プロセス、203 意思決定プロセス、204 プロセス、205 メディア、206 準備プロセス、207 プロセス、300 時限メディア表現、301 シーン情報、302 コンポーネント、303 アセット、304 ベース層、305 属性強化層、400 非時限メディア表現、401 シーン情報、402 コンポーネント、403 アセット、404 ベース層、405 属性強化層、406 属性強化層、407 シーン、500 プロセス、501 カメラユニット、502 カメラユニット、503 カメラユニット、504 合成プロセス、505 トレーニングプロセス、506 トレーニング画像、507 インジェストフォーマット、508 モデル、509 自然画像コンテンツ、600 プロセス、601 LIDARカメラ、602 データ、603 コンピュータ、604 データ、605 アクタ、605A センサ付きモーションキャプチャスーツ、606 MoCapデータ、607 合成プロセス、700 コンピュータシステム、701 キーボード、702 マウス、703 トラックパッド、705 ジョイスティック、706 マイクロホン、707 スキャナ、708 カメラ、709 スピーカ、710 スクリーン、721 媒体、722 サムドライブ、723 ソリッドステートドライブ、740 コア、741 中央処理ユニット(CPU)、742 グラフィックス処理ユニット(GPU)、743 フィールドプログラマブルゲートエリア(FPGA)、744 アクセラレータ、745 読み出し専用メモリ(ROM)、746 ランダムアクセスメモリ(RAM)、747 大容量ストレージ、748 システムバス、749 周辺バス、800 ネットワークメディア配信システム、801 コンテンツ取得プロセス、802 コンテンツ準備プロセス、803 送信プロセス、804 ゲートウェイ、805 セットトップボックス、806 無線復調器、807 レガシー2Dテレビ、808 WiFiルータ、809 レガシー2Dディスプレイ、810 ディスプレイ、811 ディスプレイ、811A GPU、811B ストレージデバイス、811C ビジュアルプレゼンテーションユニット、812 ホログラフィックディスプレイ、812A CPU、812B GPU、812C ストレージデバイス、812D ホログラフィック視覚化ユニット、813 モバイルハンドセットディスプレイ、814 ヘッドセット、814A GPU、814B ストレージデバイス、814C バッテリ、814D ボリュメトリック視覚プレゼンテーション構成要素、815 高密度光照射野ディスプレイ、815A GPU、815B CPU、815C ストレージデバイス、815D 視線追跡デバイス、815E カメラ、815F 光照射野パネル、900 没入型メディア配信プロセス、901 コンテンツ、901 プロセス、902 プロセス、902 プロセス、903 ストレージデバイス、904 遠隔ストレージデバイス、905 オーケストレーションプロセス、906 記述情報、907 ステータスフィードバックチャネル、908 没入型クライアント、908A 視覚化コンポーネント、908B ネットワークインターフェース、908C GPU、908D 記憶キャッシュ、909 メディアストレージデバイス、910 メディア適合プロセス、911 メディア再利用アナライザ、1000 プロセス、1001 メディア適合プロセス、1001A ニューラルネットワークモデル、1001B レンダラ、1001C ニューラルネットワークプロセッサ、1001D メディア圧縮器、1001E メディア伸張器、1001F ロジックコントローラ、1005 入力ネットワークステータス、1006 クライアント適合化メディアストレージデバイス、1007 メディア再利用アナライザ、1100 配信フォーマット作成プロセス、1101 メディア適合プロセス、1102 クライアント適合化メディアストレージデバイス、1103 パッケージ化プロセス、1104 配信フォーマット、1104A マニフェスト情報、1104B リスト、1200 パケタイザプロセスシステム、1201 メディア、1202 パケタイザプロセス、1203 パケット、1300 シーケンス図、1301 クライアントエンドポイント、1302 インターフェース、1303 インジェストメディアサーバ、1304 インターフェース、1305 メディア適合プロセス、1306 パッケージ化プロセス、1307 パッケージ化メディアサーバ、1308 メディア要求、1309 プロファイル要求、1311 セッションIDトークン、1312 要求、1313 応答、1314 呼び出し、1316 呼び出し、1317 応答、1318 要求、1319 更新、1320 インターフェース呼び出し、1321 応答、1322 応答、1323 要求、1324 メッセージ、1400 メディア再利用アナライザ、2030 アセット再利用ロジック、2031 インジェストメディア、2032 プロセス、2033 意思決定プロセス、2035 意思決定プロセス、2036 準備プロセス、2037 プロセス、2038 プロセス、2039 メディア、20330 アセット再利用ロジック、20331 インジェストメディア、20332 プロセス、20333 意思決定プロセス、20334 意思決定プロセス、20335 意思決定プロセス、20336 準備プロセス、20337 プロセス、20338 プロセス、20339 メディア
【手続補正書】
【提出日】2023-09-29
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1つのハードウェアプロセッサによって実施される、複数のシーンを含む没入型メディアプレゼンテーションのための方法であって、前記方法は、
メディアアセットが、前記没入型メディアプレゼンテーションに関連付けられた前記複数のシーンのうちの少なくとも2つ以上のシーンに出現することを決定するステップと、
クライアントが、ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできるかどうかを問い合わせる要求を前記クライアントに送信するステップであって、前記クライアントが、前記没入型メディアプレゼンテーションに関連付けられたメディアアセットのコピーを前記ローカルキャッシュ内に記憶するのに十分な記憶リソースを有する、ステップと、
前記クライアントから、前記クライアントが前記ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできるかどうかを示す応答を受信するステップと、
前記クライアントが前記ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできることを示す前記応答に応答して、前記メディアアセットを前記クライアントにさらに配信することなく、後続のシーンにおいて前記メディアアセットを使用するように前記クライアントにシグナリングするステップと、
前記クライアントが前記ローカルキャッシュ内の少なくとも2つ以上のシーンに出現する前記メディアアセットにアクセスできないことを示す前記応答に応答して、前記メディアアセットを前記クライアントに配信するステップと、
を含む、方法。
【請求項2】
リストのセットを初期化するステップをさらに含み、前記リストの各リストが前記没入型メディアプレゼンテーションの前記シーンのうちの1つにそれぞれ対応し、
前記リストのセットを初期化するステップが、前記シーンに出現する前記メディアアセットを含むメディアアセットのそれぞれに一意の識別子のそれぞれをインクリメンタルにそれぞれ割り当てるステップを含む、
請求項1に記載の方法。
【請求項3】
前記リストのセットを初期化するステップが、各メディアアセットが前記シーンのそれぞれに出現する回数をインクリメンタルにそれぞれ決定するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記没入型メディアプレゼンテーションに対する前記クライアントからの要求を受信するステップと、
前記要求に応答して、前記クライアントが前記クライアントのクライアントリソースの指示を提供することを要求するステップと、
をさらに含む、請求項1に記載の方法。
【請求項5】
前記クライアントが前記クライアントリソースの前記指示を提供することを要求するステップが、前記クライアントが1つまたは複数のニューラルネットワークモデルを提供することを要求するステップを含み、
前記メディアアセットの処理が、前記クライアントから要求された前記1つまたは複数のニューラルネットワークモデルに基づくニューラルネットワーク推論を含む、
請求項4に記載の方法。
【請求項6】
前記メディアアセットの処理が、前記少なくとも1つのハードウェアプロセッサと前記クライアントとをインターフェースするネットワーク上の現在のトラフィック負荷を決定することに基づく、
請求項5に記載の方法。
【請求項7】
前記没入型メディアプレゼンテーションを出力する際の前記クライアントの進捗状況を監視するステップをさらに含み、
前記要求を送信するステップが前記進捗状況に基づいて時間設定される、
請求項1に記載の方法。
【請求項8】
前記没入型メディアプレゼンテーションが、視覚、聴覚、ならびに味覚、触覚、および嗅覚のうちの少なくとも1つを刺激するための前記クライアントへの命令を含む、請求項1に記載の方法。
【請求項9】
前記クライアントへの前記要求が、前記クライアントが前記メディアアセットにアクセスできるかどうかをさらに問い合わせ、そのアクセスが前記クライアントにとってローカルである、請求項1に記載の方法。
【請求項10】
前記没入型メディアプレゼンテーションが時限プレゼンテーションおよび非時限プレゼンテーションのいずれかを含む、請求項1に記載の方法。
【請求項11】
装置であって、
コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって命令された通りに動作するように構成された少なくとも1つのハードウェアプロセッサと、を備え、前記コンピュータプログラムコードが、
前記少なくとも1つのハードウェアプロセッサに、請求項1から10のいずれか一項に記載の方法を実行させる、装置。
【請求項12】
コンピュータにプロセスを実行させるプログラム
であって、前記プロセスが、
前記コンピュータに、請求項1から10のいずれか一項に記載の方法を実行させる、プログラム。
【国際調査報告】