(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-29
(54)【発明の名称】アセット・コンプレキシティにより優先度を定めたイマーシブ・メディア・ストリーミング
(51)【国際特許分類】
H04N 21/238 20110101AFI20240221BHJP
H04N 21/234 20110101ALI20240221BHJP
【FI】
H04N21/238
H04N21/234
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023553547
(86)(22)【出願日】2022-10-25
(85)【翻訳文提出日】2023-09-04
(86)【国際出願番号】 US2022047668
(87)【国際公開番号】W WO2023081033
(87)【国際公開日】2023-05-11
(32)【優先日】2021-11-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-10-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ヒンズ,アリアンヌ
(72)【発明者】
【氏名】アビシェーク,ロヒット
(72)【発明者】
【氏名】ウェンジャー,ステファン
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164MB11S
5C164MB41S
5C164SB01P
5C164SB21P
5C164SB41S
5C164YA21
(57)【要約】
メディア・ストリーミング・ネットワークにおけるメディア配信を最適化するためのメディア・パッケージング方法が提供される。方法は、メディア・ストリーミング・サーバーが、1つ以上のシーンに関連する1つ以上のイマーシブ・メディア・アセットを含むイマーシブ・メディア・ストリームを受信するステップ;個々のシーンの本質的要素を含む、1つ以上のイマーシブ・メディア・アセットのサブセットを識別するステップ;1つ以上のシーンにおける個々のシーンの本質的要素を含む、1つ以上のイマーシブ・メディア・アセットのうちの識別されたサブセットに基づいて、1つ以上のイマーシブ・メディア・アセットを或るシーケンスで順序付けるステップ;及び1つ以上のイマーシブ・メディア・アセットをその順序付けられたシーケンスでメディア・ストリーミング・サーバーからクライアント・デバイスへストリーミングするステップを含む方法。
【特許請求の範囲】
【請求項1】
メディア・ストリーミング・ネットワークにおけるメディア配信を最適化するために少なくとも1つのプロセッサにより実行されるメディア・パッケージング方法であって:
メディア・ストリーミング・サーバーが、1つ以上のシーンに関連する1つ以上のイマーシブ・メディア・アセットを含むイマーシブ・メディア・ストリームを受信するステップ;
前記1つ以上のイマーシブ・メディア・アセットのサブセットであって、前記1つ以上のシーンにおける個々のシーンの本質的要素を含むサブセットを識別するステップ;
前記個々のシーンの本質的要素を含む、前記1つ以上のイマーシブ・メディア・アセットのうちの識別されたサブセットに基づいて、前記1つ以上のイマーシブ・メディア・アセットを或るシーケンスで順序付けるステップ;及び
前記1つ以上のイマーシブ・メディア・アセットをその順序付けられたシーケンスで前記メディア・ストリーミング・サーバーからクライアント・デバイスへストリーミングするステップ;
を含む方法。
【請求項2】
請求項1に記載の方法において、更に:
1つ以上の個々の属性のうちの少なくとも1つがコンプレキシティ属性リストに存在する旨の判断に基づいて、前記1つ以上のイマーシブ・メディア・アセットに関連する個々のコンプレキシティ尺度と個々のアセット・タイプとを決定するステップ;及び
前記1つ以上のイマーシブ・メディア・アセットに関連する個々のコンプレキシティ尺度と個々のアセット・タイプとに基づいて、前記1つ以上のイマーシブ・メディア・アセットを或るシーケンスで順序付けるステップ;
を含む方法。
【請求項3】
請求項2に記載の方法において、前記1つ以上のイマーシブ・メディア・アセットのシーケンスは、先ず前記アセット・タイプにより順序付けられ、次いで個々のコンプレキシティ尺度により順序付けられている、方法。
【請求項4】
請求項2に記載の方法において、前記方法は、更に:
前記1つ以上の個々の属性のうちの1つより多くのものが前記コンプレキシティ属性リストに存在する旨の判断に基づいて、前記メディア・ストリーミング・サーバーが、前記1つ以上のシーンに関連するアセット・コンプレキシティ分析を行うステップ;
を含む方法。
【請求項5】
請求項2に記載の方法において、前記1つ以上のイマーシブ・メディア・アセットに関連する1つ以上の個々の属性は、イマーシブ・メディア・アセットのサイズ、前記イマーシブ・メディア・アセットにおけるポリゴンの数、ビット深度、又は必要とされる変換のタイプのうちの少なくとも1つを含む、方法。
【請求項6】
請求項5に記載の方法において、前記1つ以上のイマーシブ・メディア・アセットの各々に関連する個々のコンプレキシティ尺度は、前記1つ以上のイマーシブ・メディア・アセットの各々に関連する1つ以上の個々の属性に基づいている、方法。
【請求項7】
請求項5に記載の方法において、前記1つ以上のイマーシブ・メディア・アセットのうちのイマーシブ・メディア・アセットに関連する個々のコンプレキシティ尺度は、前記コンプレキシティ属性リストに存在する、前記イマーシブ・メディア・アセットの1つ以上の個々の属性に基づいている、方法。
【請求項8】
メディア・ストリーミング・ネットワークにおけるメディア配信を最適化するメディア・ストリーミング・サーバーであって:
コンピュータ・プログラム・コードを記憶するように構成された少なくとも1つのメモリ;及び
前記コンピュータ・プログラム・コードを読み込み、前記コンピュータ・プログラム・コードにより指示されるように動作するように構成されている少なくとも1つのプロセッサ;
を含み、前記コンピュータ・プログラム・コードは、請求項1ないし7のうちの何れか1項に記載の方法を前記少なくとも1つのプロセッサに実行させる、メディア・ストリーミング・サーバー。
【請求項9】
請求項1ないし7のうちの何れか1項に記載の方法をコンピュータに実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 関連出願の相互参照
本件は、2021年11月5日付で出願された米国仮特許出願No.63/276,545及び2022年10月21日付で出願された米国特許出願No.17/971,037に基づく優先権を主張しており、それらの開示は参照によりその全体が本件に援用される。
【0002】
[0002] 分野
本開示は、一般に、ビデオ、オーディオ、ジオメトリック(3D)オブジェクト、触覚、関連するメタデータ、又はその他のクライアント・プレゼンテーション・デバイス用のコンテンツを含む、メディアを配信するシステム及びネットワークのアーキテクチャ、構造及び構成要素に関連する実施形態を説明している。一部の実施形態は、ヘテロジニアス・イマーシブ及びインタラクティブ・クライアント・プレゼンテーション・デバイスにメディア・コンテンツを配信するためのシステム、構造、及びアーキテクチャに関連している。
【背景技術】
【0003】
[0003] イマーシブ・メディア(Immersive Media)は、一般に、メディアの体験中に物理的に提供されるユーザーの知覚を生み出す又は強化するために、何れかの又は全ての人間の感覚系(例えば、視覚、聴覚、体性感覚、嗅覚、及び可能性として味覚)を刺激するメディアを指し、即ち、時間指定された2次元(2D)ビデオ及び対応するオーディオに関する既存の(例えば、「レガシー」の)市販のネットワークで配信されるものを超えるものであり;そのような時間指定されたメディアは「レガシー・メディア」として知られている。また、イマーシブ・メディアは、物理運動法則のデジタル・シミュレーションによって物理的な世界を生成したり又は模倣したりしようとするメディアとして定義される場合もあり、それによって、何れかの又は全ての人間の知覚系を刺激して、現実又は仮想の世界を描写するシーン内で物理的に提供されるユーザーによる知覚を生み出す。
【0004】
[0004] イマーシブ・メディア対応プレゼンテーション・デバイスは、イマーシブ・メディアに関するアクセス、解釈、及び提示のための十分なリソースと機能を備えたデバイスを指している可能性がある。このようなイマーシブ・メディア対応デバイスは、複数の数量とフォーマットのメディアをサポートし、イマーシブ・メディアを大規模に配信するのに要求される複数のネットワーク・リソースもサポートする。「大規模に(At scale)」とは、例えばNetflix,Hulu,Comcast加入、Spectrum加入のような、ネットワークを介して従来のビデオ及びオーディオ・メディアと同等な配信を実現するサービス・プロバイダによるメディアの配信を指す可能性がある。
【0005】
[0005] これに対して、ラップトップ・ディスプレイ、テレビ、モバイル・ハンドセット・ディスプレイのような従来のプレゼンテーション・デバイスは、それらの機能において同種(homogenous)であり、なぜなら、これら全てのデバイスは、2Dの長方形ビデオ又は静止画像を、それらの主要な視覚的メディア・フォーマットとして使用する長方形のディスプレイ画面を含むからである。従来のプレゼンテーション・デバイスで一般的に使用される視覚メディア・フォーマットのうちの幾つかは、高効率ビデオ・コーディング(High Efficiency Video Coding)/H.265,アドバンスト・ビデオ・コーディング(Advanced Video Coding)/H.264、及び多用途ビデオ・コーディング(Versatile Video Coding)/H.266を含む可能性がある。
【0006】
[0006] ネットワークを介する何らかのメディアの配信は、メディアを、入力フォーマット又はネットワーク「取り込み(ingest)」メディア・フォーマットから、配信メディア・メディアへ再フォーマット及び/又は変換するメディア配信システム及びアーキテクチャを使用する可能性があり、この場合において、その配信メディア・フォーマットは、対象とされるクライアント・デバイス及びそのアプリケーションによって取り込まれるのに適しているだけでなく、ネットワークを介して「ストリーミング」されることにも適したものである。再フォーマット又はストリーミングは、ネットワーク(例えば、メディア・ストリーミング・ネットワークにおけるサーバー)によって、即ち、メディアをクライアントへ配信する前に実行され、配信メディア・フォーマット」又は単に「配信フォーマット」と呼ばれるメディア・フォーマットをもたらす可能性がある。
【0007】
[0007] クライアントは変換されたメディア・オブジェクト(メディア・オブジェクトは、メディア・アセット(media asset)と呼ばれる場合もある)及び/又はストリーミングされるメディア・オブジェクトを複数の機会に必要とするであろう、ということを示す情報にネットワークがアクセスできる場合、関連技術では、その複数の利用は、そのようなメディアの変換とストリーミングを複数回トリガーすることになる。即ち、メディアの変換とストリーミングのためのデータのこの絶え間ない再処理と転送は、ネットワーク内の遅延の原因となり、使用されるネットワーク及び/又は演算リソースの量を大幅に増加させる可能性がある。
【0008】
[0008] これに対して、クライアントが、キャッシュに保存されているか又はクライアントにとってローカルに保存されている特定のメディア・データ・オブジェクトを既に有している可能性がある場合を示す情報にアクセスできるネットワーク設計は、そのような情報にアクセスできないネットワークよりも効率的に実行するであろう。従って、クライアントが、キャッシュにローカルに保存されているメディア・オブジェクトを有する可能性がある場合を示す情報へアクセスすることを含むネットワーク設計が、必要とされる可能性がある。
【発明の概要】
【0009】
[0009] 実施形態によれば、ネットワークからクライアントへのアセットをパッケージ化及びストリーミングするシーケンス順序の演算を促進するための方法、システム、及び装置が提供される。シーンの本質的要素(essential element)を含むメディア・アセットは、コンプレキシティ・アナライザによって分析され、特定のシーンについてどのアセットが処理に最も時間がかかることになるのかを判定する。特定のシーンに対するアセットがパッケージ化され、クライアントへストリーミングされる順序は、特定のシーンの各アセットのコンプレキシティ(complexity)に基づいている。
【0010】
[0010] 開示の一態様によれば、メディア・ストリーミング・ネットワークにおけるメディア配信を最適化するためのメディア・パッケージング方法を提供することが可能である。方法は:メディア・ストリーミング・サーバーが、1つ以上のシーンに関連する1つ以上のイマーシブ・メディア・アセットを含むイマーシブ・メディア・ストリームを受信するステップ;1つ以上のイマーシブ・メディア・アセットのサブセットであって、1つ以上のシーンにおける個々のシーンの本質的要素を含むサブセットを識別するステップ;1つ以上のシーンにおける個々のシーンの本質的要素を含む、1つ以上のイマーシブ・メディア・アセットのうちの識別されたサブセットに基づいて、1つ以上のイマーシブ・メディア・アセットを或るシーケンスで順序付けるステップ;及び、1つ以上のイマーシブ・メディア・アセットを、その順序付けられたシーケンスで、メディア・ストリーミング・サーバーからクライアント・デバイスへストリーミングするステップを含むことが可能である。
【0011】
[0011] 開示の別の態様によれば、メディア・ストリーミング・ネットワークにおけるメディア配信を最適化するためのデバイス(又は装置)を提供することが可能である。デバイスはコンピュータ・プログラム・コードを記憶するように構成された少なくとも1つのメモリ;及び、コンピュータ・プログラム・コードを読み込み、コンピュータ・プログラム・コードによって指示されるとおりに動作するように構成された少なくとも1つのプロセッサを含むことが可能である。コンピュータ・プログラム・コードは: 1つ以上のシーンに関連する1つ以上のイマーシブ・メディア・アセットを含むイマーシブ・メディア・ストリームを受信するステップを、少なくとも1つのプロセッサに行わせるように構成された第1の受信コード;1つ以上のイマーシブ・メディア・アセットのサブセットであって、1つ以上のシーンにおける個々のシーンの本質的要素を含むサブセットを識別するステップを、少なくとも1つのプロセッサに行わせるように構成された識別コード;1つ以上のシーンにおける個々のシーンの本質的要素を含む、1つ以上のイマーシブ・メディア・アセットのうちの識別されたサブセットに基づいて、1つ以上のイマーシブ・メディア・アセットを或るシーケンスで順序付けるステップを、少なくとも1つのプロセッサに行わせるように構成された順序付けコード;及び、1つ以上のイマーシブ・メディア・アセットをその順序付けられたシーケンスでメディア・ストリーミング・サーバーからクライアント・デバイスへストリーミングするステップを、少なくとも1つのプロセッサに行わせるように構成されたストリーミング・コードを含むことが可能である。
【0012】
[0012] 開示の別の態様によれば、命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体を提供することが可能であり、命令は、メディア・ストリーミング・ネットワークにおけるメディア配信を最適化するためのデバイスのプロセッサにより実行されると、少なくとも1つのプロセッサに:1つ以上のシーンに関連する1つ以上のイマーシブ・メディア・アセットを含むイマーシブ・メディア・ストリームを受信するステップ;1つ以上のイマーシブ・メディア・アセットのサブセットであって、1つ以上のシーンにおける個々のシーンの本質的要素を含むサブセットを識別するステップ; 1つ以上のシーンのおける個々のシーンの本質的要素を含む、1つ以上のイマーシブ・メディア・アセットのうちの識別されたサブセットに基づいて、1つ以上のイマーシブ・メディア・アセットを或るシーケンスで順序付けるステップ;及び、1つ以上のイマーシブ・メディア・アセットをその順序付けられたシーケンスでメディア・ストリーミング・サーバーからクライアント・デバイスへストリーミングするステップを行わせる。
【0013】
[0013] 追加の実施形態は、以下の説明で述べられ、説明からある程度明らかになり、及び/又は本開示の提示される実施形態の実施によって実現されることが可能である。
【図面の簡単な説明】
【0014】
【
図1A】[0014]
図1Aは、実施形態によるメディア配信ストリーミング・ネットワークの例示的な図である。
【
図1B】[0015]
図1Bは、実施形態によるメディア・ストリーミング・ネットワークにおける再利用インジケータの生成及び配信フォーマットにおけるメディアの作成を示す例示的なワークフローである。
【
図2A】[0016]
図2Aは、実施形態によるクライアント・デバイスへメディアをストリーミングする例示的なワークフローである。
【
図2B】[0017]
図2Bは、実施形態によるクライアント・デバイスへメディアをストリーミングする例示的なワークフローである。
【
図3A】[0018]
図3Aは、実施形態によるタイムド・イマーシブ・メディアの表現及びストリーミングに関するデータ・モデルの例示的な図である。
【
図3B】[0019]
図3Bは、実施形態によるタイムド・イマーシブ・メディアの表現及びストリーミングに関するデータ・モデルの例示的な図である。
【
図4A】[0020]
図4Aは、実施形態による非タイムド・イマーシブ・メディアの表現及びストリーミングに関するデータ・モデルの例示的な図である。
【
図4B】[0021]
図4Bは、実施形態による非タイムド・イマーシブ・メディアの表現及びストリーミングに関するデータ・モデルの例示的な図である。
【
図5】[0022]
図5は、実施形態による自然メディア合成を例示する例示的なワークフローである。
【
図6】[0023]
図6は、実施形態による合成メディア取込作成を示す例示的なワークフローである。
【
図7】[0024]
図7は、実施形態によるコンピュータ・システムの例示的な図である。
【
図8】[0025]
図8は、実施形態によるネットワーク・メディア配信システムの例示的な図である。
【
図9】[0026]
図9は、実施形態によるイマーシブ・メディア配信を例示する例示的なワークフローである。
【
図10】[0027]
図10は、実施形態によるメディア適応処理システムのシステム図である。
【
図11A】[0028]
図11Aは、実施形態による配信フォーマットにおけるメディアの作成を示す例示的なワークフローである。
【
図11B】[0029]
図11Bは、実施形態による配信フォーマットにおけるメディアの順序付けられた作成を示す例示的なワークフローである。
【
図12】[0030]
図12は、実施形態によるパケット化プロセスを示す例示的なワークフローである。
【
図13】[0031]
図13は、実施形態による構成要素間の通信フローを示す例示的なワークフローである。
【
図14A】[0032]
図14Aは、実施形態によるイマーシブ・メディアのコンプレキシティの分析を示す例示的なワークフローである。
【
図14B】[0033]
図14Bは、実施形態によるプレゼンテーションにおけるシーンのコンプレキシティ属性のセットの例である。
【発明を実施するための形態】
【0015】
[0034] 以下の例示的な実施形態の詳細な説明は添付図面を参照している。様々な図中の同じ参照番号は同一又は類似の要素を特定している可能性がある。
【0016】
[0035] 前述の開示は、例示及び説明を提供しているが、網羅的であったり又はその実装を開示された詳細な形態に制限したりするようには意図されていない。修正及び変形が上記の開示の観点から可能であり、また、実装の実務から行われる可能性がある。更に、1つの実施形態の1つ以上の特徴又は構成要素は、別の実施形態(又は別の実施形態の1つ以上の特徴)に組み込まれたり又は結合されたりする可能性がある。更に、以下で提供されるフローチャート及び動作説明において、1つ以上の動作が省略したり、1つ以上の動作が追加されたり、1つ以上の動作が同時に(少なくとも部分的に)実行されたり、また、1つ以上の動作の順序が入れ替えられたりする可能性がある、ということが理解される。
【0017】
[0036] 本件で説明されるシステム及び/又は方法は、ハードウェア、ソフトウェア、又は、ハードウェアとソフトウェアの組み合わせの様々な形態で実装される可能性があることは明らかであろう。これらのシステム及び/又は方法を実装するために使用される実際の特殊な制御ハードウェア又はソフトウェア・コードは、実装を制限するものではない。従って、システム及び/又は方法の動作及び挙動は、特定のソフトウェア・コードを参照することなく、本件で説明されている。ソフトウェア及びハードウェアは、本件の説明に基づいてシステム及び/又は方法を実装するように設計されることが可能である、ということが理解される。
【0018】
[0037] 機能の特定の組み合わせがクレームに記載されており、及び/又は明細書に開示されているが、これらの組み合わせは、可能な実装についての開示を制限するようには意図されていない。実際、これらの機能の多くは、クレームに具体的には記載されていない、及び/又は明細書に開示されていない方法で組み合わせられる可能性がある。以下に列挙されている各従属クレームは、唯1つのクレームに直接的に従属する可能性はあるが、可能な実装についての開示は、クレーム・セット内の他の全てのクレームとの組み合わせにおいて、各従属クレームを含む。
【0019】
[0038] 以下に議論されている提案される特徴は、別々に又は任意の順序で組み合わせて使用することが可能である。更に、実施形態は処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実装される可能性がある。一例では、1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能な媒体に記憶されたプログラムを実行する。
【0020】
[0039] 本件で使用される要素、動作、又は命令は、明示的にそのように記述されていない限り、重要又は本質的なものとして解釈されるべきではない。また、本件で使用されるように、「ある」及び「或る」(“a”and“an”)は1つ以上のアイテムを含むように意図しており、「1つ以上の」と可換に使用されてもよい。唯1つのアイテムが意図されている場合、用語「1つの」又は類似の言葉が使用される。また、本件で使用されるように、「有する(has)」、「有する(have)」、「有している(having)」、「含む(include)」、「含んでいる(including)」などの用語は、オープン・エンドの用語であるように意図されている。更に、「に基づいて(based on)」という語句は、明示的に別意に言及されていない限り、「少なくとも部分的に基づいて」を意味するように意図されている。更に、「[A]及び[B]のうちの少なくとも1つ」又は「[A]又は[B]のうちの少なくとも1つ」のような表現は、Aのみ、Bのみ、又は、AとBの両方を含むものとして理解されるべきである。
【0021】
[0040] 実施形態によれば、イマーシブ・メディア対応プレゼンテーション・デバイスは、イマーシブ・メディアに関するアクセス、解釈、及び提示のための十分なリソースと機能を備えたデバイスを指している可能性がある。このようなデバイスは、それらがサポートすることが可能な数量とフォーマットの観点から、及び、そのようなメディアを大規模に配信するのに要求されるネットワーク・リソースの数量及びタイプの観点から、ヘテロジニアス(heterogeneous)である。「大規模に(At scale)」とは、例えばNetflix,Hulu,Comcast加入、Spectrum加入のような、ネットワークを介して従来のビデオ及びオーディオ・メディアと同等な配信を実現するサービス・プロバイダによるメディアの配信を指す可能性がある。
【0022】
[0041] 実施形態によれば、ネットワークを介するイマーシブ・メディアの配信のエンド・ポイントとして機能するクライアント・デバイスは全て非常に多様である。ネットワークを介する何らかのメディアの配信は、メディアを、入力又はネットワーク「取り込み(ingest)」メディア・フォーマットから、配信メディア・メディアへ再フォーマットするメディア配信システム及びアーキテクチャを使用する可能性があり、この場合において、その配信メディア・フォーマットは、対象とされるクライアント・デバイス及びそのアプリケーションによって取り込まれるのに適しているだけでなく、ネットワークを介して「ストリーミング」されることにも適したものである。従って、ネットワークによって取り込まれたメディアに対して実行される次の2つのプロセスが存在する可能性がある:1)メディアをフォーマットAから、ターゲット・クライアントによって取り込まれるのに適したフォーマットBへ、即ち、特定のメディア・フォーマットを取り込むクライアントの機能に基づいて変換すること、及び2)ストリーミングされるべきメディアを準備することである。
【0023】
[0042] 実施形態では、ストリーミング・メディアは、メディアの時間的又は空間的な構造の何れか又は両方に従って論理的に編成され及び順序付けられた連続する小さなサイズのチャンクで、ネットワークを介して配信できるように、メディアの断片化及びパケット化することを広く指している。フォーマットAからフォーマットBへのメディアの変換(しばしば「トランスコーディング」と呼ばれることもある)は、メディアをクライアント・デバイスへ配信する前に、通常、ネットワークにより又はサービス・プロバイダにより実行されるプロセスである可能性がある。このようなトランスコーディングは、事前の知識に基づいて、メディアをフォーマットAからフォーマットBに変換することにより行われる可能性があり、事前の知識は、フォーマットBは、ターゲットのクライアント・デバイスにより取り込まれることが可能である、或いは、商用ネットワークのような制約されたリソースを介する配信に、より適している好ましいフォーマット又は唯1つのフォーマットである、というようなものである。多くのケースにおいて、全てではないが、メディアが、ネットワークからターゲットのクライアント・デバイスにより受信され処理されることが可能になる前に、メディアを変換し且つストリーミングされるようにメディアを準備することの両方が必要である。
【0024】
[0043] メディアを変換(又はトランスフォーミング)すること及びストリーミングのためのメディアを準備することは、メディアをクライアント・デバイスへ配信する前に、ネットワークによって取り込まれたメディアに対して実行されるプロセスの一部である。プロセスの結果(即ち、ストリーミングのための変換と準備)は、配信メディア・フォーマット、又は単に配信フォーマットと呼ばれるメディア・フォーマットである。これらの処理は、所与のメディア・データ・オブジェクトの全てに対して実行される場合、そして、ネットワークが、クライアントは変換及び/又はストリーミングされたメディア・オブジェクトを複数回必要とするであろうということを示す情報にアクセスできる場合には、1回だけ実行されるべきであり、そうではない場合、そのようなメディアの変換とストリーミングを複数回トリガーすることになるであろう。即ち、メディアの変換とストリーミングのためのデータの処理と転送は、一般に、潜在的に大量のネットワーク及び/又は演算リソースを消費する必要性を伴う遅延の原因になると考えられる。従って、クライアントが特定のメディア・データ・オブジェクトをキャッシュに格納しているか、又は、クライアントに関してローカルに格納している可能性があることを示す情報にアクセスできないネットワーク設計は、そのような情報にアクセスできるネットワークに対して次善のパフォーマンスを発揮するであろう。
【0025】
[0044] シーン・グラフは、ベクトル・ベースのグラフィックス編集アプリケーションや、最新のコンピュータ・ゲームで一般的に使用される一般的なデータ構造であり、これは、グラフィカルなシーンの論理的な及び多くの場合(必ずしもそうではないが)空間表現を配置するものである可能性があり、或いは、グラフ構造内のノードと頂点の集まりである可能性もある。
【0026】
[0045] シーンは、コンピュータ・グラフィックスの文脈では、オブジェクト(例えば、3Dアセット-メディア・アセット、メディア・オブジェクト、オブジェクト、及びアセットとも呼ばれることがある)の集まりであってもよい。オブジェクトは、メディア・データの本質的要素、オブジェクト属性、及びその他のメタデータであって、その設定内のオブジェクトの相互作用に関して空間又は時間によって制限される特定の設定を記述する視覚、音響、及び物理ベースの特性を含むものである。
【0027】
[0046] ノードは、視覚、聴覚、触覚、嗅覚、味覚、又は関連する処理情報の論理的又は空間的又は時間的な表現に関連する情報で構成されるシーン・グラフの基本的な要素であってもよく;各ノードは、最大で1つの出力エッジ、0個以上の入力エッジ、及びそれに接続される少なくとも1つのエッジ(入力又は出力の何れか)を有するものとする。
【0028】
[0047] ベース・レイヤは、通常、アセットをレンダリングするのに必要な演算リソース又は時間、又はネットワーク経由でアセットを伝送する時間を最小化するように定式化された、メディア・アセットの名目的表現であってもよい。
【0029】
[0048] 拡張レイヤは、アセットのベース・レイヤ表現に適用されると、ベース・レイヤではサポートされていない特徴や機能を含むように、ベース・レイヤを拡張する情報のセットであるとすることが可能である。
【0030】
[0049] 属性は、ノードに関連付けられるメタデータであってもよく、そのノードは、正規の形態又はより複雑な形態(例えば、他のノードに関するもの)の何れかで特定の特徴又は機能を記述するために使用される。
【0031】
[0050] コンテナは、全て自然、全て合成、又は合成と自然シーンの混合であって、シーンのレンダリングに必要な全てのメディア・リソース及びシーン・グラフを含むものを表す情報を格納及び交換するためのシリアル化されたフォーマットであってもよい。
【0032】
[0051] シリアル化は、データ構造又はオブジェクトの状態を、あるフォーマットに変換するプロセスであるとすることが可能であり、そのフォーマットは、(例えば、ファイル又はメモリ・バッファに)保存される、又は(例えば、ネットワーク接続リンクを介して)伝送され後に(おそらくは別のコンピュータ環境で)再構築されることが可能である。結果として得られる一連のビットは、シリアル化フォーマットに従って改めて読み込まれる場合に、元のオブジェクトの意味的に同一のクローンを作成するために使用されることが可能である。
【0033】
[0052] レンダラーは、音響物理学、光物理学、視覚認識、音声認識、数学、及びソフトウェア開発に関連する分野の選択的な混合に基づいた(典型的には、ソフトウェア・ベースの)アプリケーション又はプロセスである場合があり、入力シーン・グラフとアセット・コンテナが与えられると、ターゲット・デバイスでのプレゼンテーションに適した、又はシーン・グラフ内のレンダー・ターゲット・ノードの属性によって指定される所望のプロパティに準拠した、典型的には視覚的な及び/又は聴覚的な信号を出力する。視覚ベースのメディア・アセットの場合、レンダラーは、ターゲット・ディスプレイに対して、又は、ストレージに対して、中間アセットとして(例えば、別のコンテナに再パッケージングされる、即ちグラフィックス・パイプラインの一連のレンダリング・プロセスで使用されるもの)、適切な視覚信号を出力することが可能であり;オーディオ・ベースのメディア・アセットの場合、レンダラーは、マルチ・チャネルのラウドスピーカー及び/又はバイノーラル化されたヘッドフォンでのプレゼンテーションに対して、又は別の(出力)コンテナへの再パッケージングに対して、オーディオ信号を出力することが可能である。レンダラーの一般的な例は、ゲーム・エンジンのユニティ&アンリール・エンジン(Unity and Unreal Engine)のリアル・タイム・レンダリング機能を含む。
【0034】
[0053] スクリプト言語は、実行時にレンダラーによって実行され、シーン・グラフ・ノードに施された変数状態の変更と動的な入力を処理することが可能なインタープリタ型プログラミング言語であってもよく、これは空間的及び時間的なオブジェクト・トポロジ(物理的な力、制約、逆運動学、変形、衝突を含む)のレンダリングと評価、及びエネルギー伝播と輸送(光、音)に影響する。
【0035】
[0054] シェーダーは、シェーディング(画像内の適切なレベルの光、闇、色の生成)に元来使用されていたが、現在ではコンピュータ・グラフィックス特殊効果のさまざまな分野でさまざまな特殊機能を実行したり、シェーディングとは関係のないビデオの後処理を行ったり、グラフィックスとはまったく関係のない機能さえ実行したりするコンピュータ・プログラムの一種である可能性がある。
【0036】
[0055] パス・トレースは、シーンの照明が現実に忠実であるように、3次元シーンをレンダリングするコンピュータ・グラフィックス方法である。
【0037】
[0056] タイムド・メディアは、時間によって順序付けられる可能性のあるメディア及び/又はメディア・オブジェクトであって、例えば、特定のクロックに従って開始時間と終了時間を有するものを含む可能性がある。非タイムド(Untimed)メディアは、空間的、論理的、又は時間的な関係によって編成されるメディア及び/又はメディア・オブジェクトであって、例えば、ユーザーにより行われる動作に従って実現されるインタラクティブな体験におけるものを含む可能性がある。
【0038】
[0057] ニューラル・ネットワーク・モデル(NNモデル)は、改善された視覚的出力に到達するために視覚的信号に適用されるウェル・ディファインドな(well-defined)数学的演算で使用されるウェイト(即ち、数値)を定めるパラメータ及びテンソル(例えば、行列)の集まりであるとすることが可能であり、その改善された視覚的出力は、元の信号によって明示的には提供されていなかった視覚的信号に対する新たな眺め又はビュー(view)の補間を含むことが可能である。
【0039】
[0058] ヘッドマウント・ディスプレイ、拡張現実メガネ、ハンド・ヘルド・コントローラ、マルチ・ビュー・ディスプレイ、触覚グローブ、ゲーム・コンソールを含む、消費者市場に導入されている没入型メディア対応デバイスの数は、この10年間で爆発的に増加している。更に、ホログラフィック・ディスプレイやその他の形式のボリューメトリック・ディスプレイは、今後3ないし5年の間に消費者市場に登場する準備が整っている。しかしながら、これらのデバイスのごく近い又は差し迫った利用可能性にもかかわらず、商用ネットワークにおけるイマーシブ・メディアの配信のための一貫したエンド・ツー・エンドのエコシステムは、幾つかの理由で実現に成功していない。
【0040】
[0059] 商用ネットワーク上でのイマーシブ・メディアの配信のための一貫したエンド・ツー・エンドのエコシステムが実現されていない理由の1つは、イマーシブ・ディスプレイに対するそのような配信ネットワークのエンド・ポイントとして機能するクライアント・デバイスが全て非常に多様であることである。一部のクライアント・デバイスは、特定のイマーシブ・メディアフォーマットをサポートするが、別のものはサポートしない。一部のものは没入的な体験を従来のラスター・ベースのフォーマットから作成できるが、別のものはそうすることができない。レガシー・メディアの配信だけのために設計されたネットワークとは異なり、ディスプレイ・クライアントの多様性をサポートしなければならないネットワークは、各クライアントの機能の詳細、及び配信されるメディアのフォーマットに関する大量の情報を必要とし、その後に、そのようなネットワークは、適応プロセスを使用して、メディアを、各ターゲット・ディスプレイ及び対応するアプリケーションに適したフォーマットに変換することができる。そのようなネットワークは、最低限、ネットワークに対する取り込まれるメディアのコンプレキシティと各ターゲット・ディスプレイの特性とを記述する情報にアクセスし、入力メディア・ソースを、ターゲット・ディスプレイとアプリケーションに適したフォーマットに有意義に適合させる方法を突き止めることを必要とする。
【0041】
[0060] このようなヘテロジニアス・クライアント・デバイスをサポートするネットワークは、入力メディア・フォーマットから特定のターゲット・フォーマットへ適合させられる一部のアセットが、一組の同様なディスプレイ・ターゲットにわたって再利用される可能性があるという事実を活用するべきである。即ち、一部のアセットは、いったんターゲット・ディスプレイに適したフォーマットに変換されると、同様な適合要件を有する幾つかのそのようなディスプレイの間で再利用される可能性がある。そのため、適合させたアセットを、比較的不変なエリアに格納するために、キャッシュ・メカニズムを使用するようなネットワークは、より効率的なものになるであろう。
【0042】
[0061] イマーシブ・メディアは、シーン・グラフによって記述される「シーン」に編成されることが可能であり、これはシーン記述(scene descriptions)とも呼ばれる。シーン・グラフの目的は、プレゼンテーションの一部である、特定の設定から構成される視覚的、聴覚的及びその他の形態のイマーシブ・アセットを記述することであってもよく、例えば、映画のようなプレゼンテーションの一部である、建物内の特定の場所で行われる出来事や俳優などである。1つのプレゼンテーションから構成される全てのシーンのリストは、シーンのマニフェスト(a manifest of scenes)に定式化されてもよい。
【0043】
[0062] 「シーン」ベースのアプローチの利点は、そのようなコンテンツを配信することを必要とする以前に準備されるコンテンツに対するものであり、プレゼンテーション全体に使用されることになる全てのアセットを識別する「部品表(bill of materials)」であって、プレゼンテーション内のさまざまなシーンにわたって各アセットがどの程度の頻度で使用されるのかを識別する部品表、を作成できることが可能である。ネットワークは、特定のプレゼンテーションのアセット要件を満たすために使用することが可能な、キャッシュされたリソースの存在に関する知識を有している。同様に、一連のシーンを提示しているクライアント・デバイスは、複数のシーンにわたって使用される所与の何らかのアセットの頻度に関する知識を持つことを望むかもしれない。例えば、メディア・アセット(メディア・オブジェクト、アセット、オブジェクトとも呼ばれる)が、クライアント・デバイスによって処理される又は処理されることになる複数のシーンにわたって複数回参照される場合、クライアント・デバイスは、その特定のアセットを必要とする最後のシーンがクライアントによって提示されるまで、それをキャッシュしているリソースからアセットを破棄することを避けるべきである。
【0044】
[0063] 従来のプレゼンテーション・デバイスの場合、配信フォーマットは、プレゼンテーションを作成するためにクライアント・プレゼンテーション・デバイスによって最終的に使用される「プレゼンテーション・フォーマット」と同等又は十分に同等であるかもしれない。即ち、プレゼンテーション・メディア・フォーマットは、そのプロパティ(解像度、フレーム・レート、ビット深度、色域など、...)がクライアント・プレゼンテーション・デバイスの機能に精密に調整されているメディア・フォーマットである。配信フォーマットとプレゼンテーション・フォーマットとの一部の例は、解像度(3840ピクセル列 x 2160ピクセル行)を有する超高解像度(Ultra-high-definition,UHD)クライアント・デバイスへ、ネットワークによって配信される高解像度(High-Definition,HD)ビデオ信号(1920ピクセル列 x 1080ピクセル行)を含む。UHDクライアントは、HD配信フォーマットに「超解像度(super-resolution)」と呼ばれるプロセスを適用して、ビデオ信号の解像度をHDからUHDへ増加させる場合がある。従って、クライアント・デバイスによって提示される最終的な信号フォーマットは、この例ではUHD信号である「プレゼンテーション・フォーマット」であるのに対して、HD信号が配信フォーマットを構成している。この例では、HD信号の配信フォーマットは、UHD信号のプレゼンテーション・フォーマットに非常に類似しており、なぜなら双方の信号は直線ビデオ・フォーマット(rectilinear video format)におけるものであり、HDフォーマットをUHDフォーマットに変換するプロセスは、ほとんどのレガシー・クライアント・デバイスにおいて比較的直接的で簡単なプロセスだからである。
【0045】
[0064] しかしながら、一部の実施形態では、ターゲットにされるクライアント・デバイスにとって好ましいプレゼンテーション・フォーマットは、ネットワークによって受信された取り込みフォーマットとは大幅に相違する場合があります。それにもかかわらず、クライアント・デバイスは、取り込みフォーマットから、クライアント・デバイスによるプレゼンテーションに適した必要なプレゼンテーション・フォーマットへメディアを変換するために、十分な演算、記憶、及び帯域幅リソースにアクセスできる場合がある。ネットワークは、取り込まれたメディアを第1のフォーマットAから第2のフォーマットBへ再フォーマット化すること、例えばメディアを「トランスコードすること(transcoding)」をバイパスする場合があり、なぜなら、クライアントは、ネットワークが先験的にそのように行うことを必要とせずに、全てのメディア変換を実行するために十分なリソースにアクセスできるからである。ネットワークは、メディアがクライアントにストリーミングされることが可能であるように、取り込まれたメディアを断片化してパッケージ化することが可能である。
【0046】
[0065] しかしながら、一部の実施形態では、ネットワークによって受信された取り込まれたメディアは、クライアントの好ましいプレゼンテーション・フォーマットとは大幅に異なり、クライアント・デバイスは、メディアを、その好ましいプレゼンテーション・フォーマットに変換するための十分な演算、記憶、又は帯域幅リソースにアクセスできない。リソースへのアクセスを欠いている場合、ネットワークは、クライアントに代わって、取り込みフォーマットから或るフォーマットへの変換の全部又は一部を実行することによって、クライアントを支援することが可能であり、或るフォーマットは、クライアント・デバイスの好ましいプレゼンテーション・フォーマットと同等又はほぼ同等なものである。一部の実施形態では、クライアントに代わってネットワークにより提供されるこのような支援は、一般に「分割レンダリング(split rendering)」と呼ばれる。
【0047】
[0066] 本件で説明されるような本開示の実施形態は、ネットワークが、取り込みメディアの全部又は一部を第1のフォーマット(例えば、フォーマットA)から第2のフォーマット(例えば、フォーマットB)へ変換し、クライアント・デバイスの能力を支援して、メディアのプレゼンテーションを潜在的に第3のフォーマットCで生成するべきかどうかを決定することを可能にする。この決定は、メディア・ストリーミング・ネットワークのプロセッサ又はサーバーによって行われる場合もあれば、クライアント・デバイスによって行われる場合もあります。決定を支援するために、プレゼンテーションのコンテキスト内で、どのメディア・アセットが、プレゼンテーションの中で複数回使用されるかを決定し、それらのメディア・アセットを、使用のためにネットワークにとって容易に利用可能なものにするプロセス及び/又はネットワークを設計することは、有用である可能性がある。このような分析からの情報を当てにして、次いで、複数回使用される可能性のある1つ以上のメディア・アセットのコピーをそのローカル・キャッシュに保持するように、クライアント・デバイス(「クライアント」とも呼ばれる)が要求されることが可能であるように、ネットワークを設計することが可能である。
【0048】
[0067] しかしながら、クライアント・デバイスがメディア・アセットのコピーをローカル・キャッシュに保存する場合、ネットワークはクライアント・デバイスのローカル・キャッシュの管理について如何なるコントロールも有していない可能性があり、その結果、クライアント・デバイスはリソース(まだ再利用可能なリソース)をローカル・キャッシュから削除しなければならない状況に遭遇する可能性がある。設計を支援することにより、複数回使用されるメディア・アセットについて、第1のフォーマットから第2のフォーマットへの変換を実行する必要性、又は、複数回使用されるメディア・アセットをクライアントへ再ストリーミングすることを促進する必要性、を最小限に抑えるようにネットワークを最適化するために、ネットワークは、クライアントにより保持される如何なるキャッシュとも別個に独自のキャッシュを管理することが可能であり、その結果、クライアントとネットワークの両方にとって、各々再利用可能なアセットの少なくとも1つの冗長コピーがアクセス可能であることがネットワークに保証される。
【0049】
[0068] 実施形態では、ネットワークは、先ず、クライアント・デバイスを照会して、フィードバックを取得し、問題のメディア・アセットがクライアントのローカル・キャッシュ内で依然として使用可能であることを保証することが可能である。クライアント・デバイスの回答が、問題のメディア・アセットのコピーを最早有していないことを示す場合、ネットワークはクライアントに対して、クライアントは、冗長キャッシュから、その配信フォーマットにおけるメディア・アセットのコピーにアクセスすべきであることをシグナリングすることが可能である。幾つかの実施形態では、クライアント・デバイスに対するクエリは省略される可能性があり、ネットワークはクライアントに対して、クライアントは冗長キャッシュからそのアセットの配信フォーマットのコピーにアクセスすべきであることをシグナリングすることが可能である。
【0050】
[0069]
図1Aは、ネットワーク・クラウド、エッジ・デバイス、又はサーバー104からクライアント・デバイス108へメディアを配信するための実施形態によるメディア配信ストリーミング・システム100の例示的な図である。
図1Aに示されるように、1つ以上のシーン及び1つ以上のメディア・オブジェクトを含むイマーシブ・メディアを含むメディアは、第1のフォーマットA(以下「取り込みメディア・フォーマットA」という)でコンテンツ・プロバイダから受信される。この処理は、ネットワーク・クラウド又はエッジ・デバイス(以下「ネットワーク・デバイス104」という)によって実行され又は行われ、例えばクライアント・デバイス108のようなクライアントへ配信される。幾つかの実施形態では、同じ処理が、マニュアル・プロセス又はクライアント・デバイスによって先験的に実行されてもよい。ネットワーク・デバイス104は、例えば、第1のフォーマット101でメディアを取り込み、第2フォーマット102で配信メディア102を生成及び/又は作成し(以下、「配信メディア作成102」という)、第2フォーマット103においてメディアを、例えば配信モジュールを使用して配信することができる。クライアント・デバイス108は、レンダリング・モジュール106とプレゼンテーション・モジュール107を含むことが可能である。
【0051】
[0070] 一態様によれば、ネットワーク・デバイス104は、コンテンツ・プロバイダなどから、取り込みメディアを受信してもよい。メディア・ストリーミング・ネットワークは、取り込みメディア・フォーマットAで記憶されている取り込みメディアを取得することができる。配信メディアは、メディアの潜在的な代替表現を作成するために、取り込みメディアの何らかの必要な変換又は条件付けを使用して作成及び/又は生成されることが可能である。即ち、取り込みメディア内のメディア・オブジェクトの配信フォーマットを作成することができる。前述したように、配信フォーマットは、メディアを配信フォーマットBにフォーマット化することによって、クライアントへ配信されることが可能なメディア・フォーマットである。配信フォーマットBは、クライアント・デバイス108へストリーミングするために準備されたフォーマットである。配信メディア作成102は、特定のメディア・オブジェクトが既にクライアント・デバイス108にストリーミングされているかどうかを判断する意思決定プロセスを実行する最適化再利用ロジックを含むことが可能である。配信メディア作成102と最適化再利用ロジックに関連する更なる動作は、
図1Bを参照しながら詳細に説明される。
【0052】
[0071] メディア・フォーマットAとBは、特定のメディア・フォーマット仕様の同じシンタックスに従う表現であってもなくてもよいが、フォーマットBは、ネットワーク・プロトコルによるメディアの配信を促進するスキームに条件付けられる可能性が高い。ネットワーク・プロトコルは、例えば、コネクション指向プロトコル(connection-oriented protocol,TCP)又はコネクションレス・プロトコル(connectionless protocol,UDP)であってもよい。配信モジュールは、ネットワーク接続105を介して、ネットワーク・デバイス104からクライアント・デバイス108へストリーミング可能メディア(即ち、メディア・フォーマットB)をストリーミングする。
【0053】
[0072] クライアント・デバイス108は、配信メディアを受信し、レンダリング・モジュール106を使用して、プレゼンテーションのためにメディアをレンダリングすることが可能である。レンダリング・モジュール106は、対象となるクライアント・デバイス108に応じて、基本的なもの又は高度なもの等である可能性のある何らかのレンダリング機能にアクセスすることが可能である。レンダリング・モジュール106は、プレゼンテーション・フォーマットCでプレゼンテーション・メディアを作成することが可能である。プレゼンテーション・フォーマットCは、第3のフォーマット仕様に従って表現されていてもいなくてもよい。従って、プレゼンテーション・フォーマットCは、メディア・フォーマットA及び/又はBと同一であるか又は相違している可能性がある。レンダリング・モジュール106は、プレゼンテーション・フォーマットCをプレゼンテーション・モジュール107に出力し、プレゼンテーション・モジュールは、クライアント・デバイス108のディスプレイ(又は同様のもの)でプレゼンテーション・メディアを提示することが可能である。
【0054】
[0073] 本開示の実施形態は、アセットをパッケージングしてネットワークからクライアントへストリーミングするシーケンス順序を演算するために、ネットワークによって使用される意思決定プロセスを促進する。この場合、プレゼンテーションを構成する1つ以上のシーンのセットにわたって使用される全てのアセットが、メディア・コンプレキシティ・アナライザによって分析され、プレゼンテーションを構成する全てのシーン全体を通じて各アセットに関連するコンプレキシティを決定する。従って、特定のシーンのアセットがパッケージングされてクライアントへストリーミングされる順序は、プレゼンテーションを構成するシーンのセットにわたって各アセットが使用されるコンプレキシティに基づくことが可能である。
【0055】
[0074] 実施形態は、意思決定プロセスをサポートするために使用されることが可能な十分な情報を取得するために、イマーシブ・メディア・シーンを分析するメカニズム又はプロセスの必要性に対処しており、意志決定プロセスは、ネットワーク又はクライアントによって使用される場合に、フォーマットAからフォーマットBへのメディア・オブジェクトの変換が、ネットワークによって完全に、クライアントによって完全に、又は、両方の混合によって(どのアセットがクライアント又はネットワークによって変換されるべきであるかの指示とともに)実行されるべきであるかどうかについての指示を提供する。このようなイマーシブ・メディア・データ・コンプレキシティ・アナライザは、自動化された状況でクライアント又はネットワークによって、又は、例えばシステム又はデバイスを操作する人間によって手動で、使用されることが可能である。
[0075] 実施形態によると、入力イマーシブ・メディア・ソースを特定のエンド・ポイント・クライアント・デバイスに適合させるプロセスは、特定のクライアント・エンド・ポイント・デバイスで実行されている特定のアプリケーションに、同じ入力イマーシブ・メディア・ソースを適合させるプロセスと同一であってもよいし又は類似していてもよい。従って、入力メディア・ソースを、エンド・ポイント・デバイスの特徴に適合させる問題は、特定の入力メディア・ソースを、特定のアプリケーションの特徴に適合させる問題と同じコンプレキシティによるものである。
【0056】
[0076]
図1Bは、実施形態による配信メディア作成102のワークフローである。より具体的には、
図1Bのワークフローは、特定のメディア・オブジェクトがクライアント・デバイス108に既にストリーミングされているかどうかを判断するために、意思決定プロセスを支援するメディア・ストリーミング・ネットワークにおける再利用インジケータの生成を含む。
【0057】
[0077] 152において、配信メディア作成プロセスが開始される。155において、現在のメディア・オブジェクトがクライアント・デバイス108に以前にストリーミングされているかどうかを判断するために、条件ロジックを実行することが可能である。メディア・オブジェクトが以前にクライアントにストリーミングされているかどうかを判断するために、固有のアセットのリストがプレゼンテーションのためにアクセスされることが可能である。現在のメディア・オブジェクトが以前にストリーミングされている場合、プロセスは処理160に進む。処理160では、クライアントが現在のメディア・オブジェクトを既に受信しており、ローカル・キャッシュ又は他のキャッシュからメディア・オブジェクトのコピーにアクセスするべきであることを識別するためのインジケータ(以後、「プロキシ」とも呼ばれる)が作成される。メディア・オブジェクトは以前にストリーミングされていないと判断された場合、プロセスは処理165に進む。処理165において、メディア・オブジェクトは変換及び/又は配信のために準備されてもよく、メディア・オブジェクトの配信フォーマットが作成されます。そして、現在のメディア・オブジェクトの処理は終了する。
【0058】
[0078]
図2Aは、ネットワークを介して取り込みメディアを処理する例示的なワークフローである。
図2Aに示されているワークフローは、実施形態によるメディア変換意思決定プロセス200を示す。メディア変換意思決定プロセス200は、メディアをクライアント・デバイスへ配信する前に、ネットワークがメディアを変換すべきであるかどうかを判断するために使用される。メディア変換意思決定プロセス200は、ネットワーク内の手動又は自動プロセスを通じて処理される可能性がある。
【0059】
[0079] フォーマットAで表現される取り込みメディアは、コンテンツ・プロバイダによってネットワークに提供される。205において、メディアは、メディア・ストリーミング・ネットワークにより、コンテンツ・プロバイダから取り込まれる。210において、対象となるクライアントの属性は、まだ知られていない場合、取得される。属性は、対象となるクライアントの処理機能を記述する。
【0060】
[0080] 215において、ネットワーク(又はクライアント)は、取り込まれたメディアの変換を支援するべきかどうかが判断される。幾つかの実施形態では、215において、メディアが対象のクライアントにストリーミングされる前に、取り込まれたメディア内に含まれる何らかのメディア・アセットに対する何らかのフォーマット変換(例えば、フォーマットAからフォーマットBへの1つ以上のメディア・オブジェクトの変換)が必要とされるかどうかが、具体的に判断されることが可能である。215において、判断は、メディアが元の取り込まれたフォーマットAでストリーミングされることが可能であるかどうか、又は、クライアントによるメディアのプレゼンテーションを促進するために別のフォーマットBに変換される必要があるかどうかに基づいていてもよい。そのような判断(即ち、メディアをクライアントにストリーミングする前に、取り込みメディアの変換が必要とされるかどうか、又は、メディアが元の取り込みフォーマットAでクライアントへ直接的にストリーミングされるべきであるかどうかの判断)は、取り込みメディアの態様又は特徴を記述する情報にアクセスすることを必要とする可能性がある。
【0061】
[0081] ネットワーク(又はクライアント)が何らかのメディア・アセットの変換を支援するべきであると判断された場合(215でYES)、プロセス200は220に進む。
【0062】
[0082] 220において、取り込まれたメディアは、フォーマットAからフォーマットBへメディア変換され、変換されたメディアを生成する(222)。変換されたメディアは出力され(222)、225において、入力メディアは、メディアをクライアントへストリーミングする準備プロセスを実行する。この場合、変換されたメディア222(即ち、入力メディア)はストリーミングされるように準備される。
【0063】
[0083] イマーシブ・メディアのストリーミングは、特にそのようなメディアが「フレーム・ベース」ではなく「シーン・ベース」である場合、比較的初期段階(nascent)にある可能性がある。例えば、フレーム・ベースのメディアのストリーミングは、ビデオのフレームのストリーミングと同等である可能性があり、その場合、各フレームはシーン全体の完全な画像又はクライアントによって提示されるオブジェクト全体の完全なピクチャをキャプチャしている。フレームのシーケンスは、それらの圧縮されたフォーマットからクライアントによって再構築されて、視聴者に提示される場合、イマーシブ・プレゼンテーション全体又はプレゼンテーションの一部を構成するビデオ・シーケンスを作成する。フレーム・ベースのストリーミングの場合、フレームがネットワークからクライアントへストリーミングされる順序は、所定の仕様(例えば、一般的なオーディオ・ビジュアル・サービスのためのITU-T勧告H.264アドバンスト・ビデオ・コーディングのようなもの)と一致していてもよい。しかしながら、メディアのシーン・ベースのストリーミングは、フレーム・ベースのストリーミングとは相違しており、なぜなら、シーンはそれ自体が互いに独立している可能性のある個々のアセットで構成されているかもしれないからである。所与のシーン・ベースのアセットは、特定のシーン内で又は一連のシーンにわたって複数回使用される可能性がある。クライアント又は任意の所与のレンダラーが特定のアセットを再構築するために使用することを必要とする時間は、アセットのサイズ、レンダリングを実行するための演算リソースの可用性、及びアセットの全体的なコンプレキシティを表すその他の属性などを含む多数の要因に依存する可能性があるが、これらに限定されない。シーン・ベースのストリーミングをサポートするクライアントは、シーンの何らかのプレゼンテーションが開始できるようになる前に、シーン内の各アセットのレンダリングの全部又は一部が完了していることを必要とする可能性がある。そのため、ネットワークからクライアントへアセットがストリーミングされる順序は、システムの全体的なパフォーマンスに影響を与える可能性がある。
【0064】
[0084] フォーマットAから別のフォーマット(例えば、フォーマットB)へのメディアの変換は、完全にネットワークによって、完全にクライアントによって、又は、ネットワークとクライアントの両方の間で共同で行われてもよい。分割レンダリングの場合、クライアントとネットワークの両方が、行わなければならない作業を特徴付けるための完全な情報を有するように、メディア・フォーマットを記述する属性の辞書(lexicon)が必要とされるかもしれないことは明らかであろう。更に、利用可能な演算リソース、利用可能なストレージ・リソース、帯域幅へのアクセスなどの観点から、クライアントの機能の属性を提供する辞書も同様に必要とされるかもしれない。更に、ネットワークとクライアントが共同で又は単独で、ネットワークがメディアをクライアントへ配信するために分割レンダリング・プロセスを使用するかどうか又はいつ使用するかを判断することができるように、取り込みメディア・フォーマットの演算、記憶、又は帯域幅コンプレキシティのレベルを特徴付けるメカニズムが必要とされる。
【0065】
[0085] ネットワーク(又はクライアント)が如何なるメディア・アセットの変換も支援すべきではない(又はする必要がない)と判断された場合(215でNO)、プロセス200は225に進む。225において、メディアはストリーミングのために準備される。この場合、取り込まれたデータ(即ち、元の形態のメディア)がストリーミング用に準備される。
【0066】
[0086] 最後に、いったんメディア・データがストリーミング可能なフォーマットになると、225において準備されたメディアが、230においてクライアントへストリーミングされる。一部の実施形態では(
図1Bを参照しながら説明したように)、メディアのプレゼンテーションを完了するために、クライアントにより必要とされる又は必要とされることになる特定のメディア・オブジェクトの変換やストリーミングが回避される可能性がある場合、ネットワークは、クライアントがメディアのプレゼンテーションを完了するために必要とする可能性のあるメディア・オブジェクトに、クライアントは依然としてアクセスできる又はそれを利用可能であると仮定して、取り込みメディア(即ち、215-230)の変換やストリーミングをスキップすることが可能である。クライアントの能力を最大限に発揮させるために、シーン・ベースのアセットがネットワークからクライアントへストリーミングされる順序に関し、クライアントのパフォーマンスを向上させるようにネットワークがそのような順序を決定することが可能であるように、ネットワークに十分な情報が備わっていることが望ましいかもしれない。例えば、特定のプレゼンテーションにおいて、複数回使用されるアセットの反復的な変換及び/又はストリーミング・ステップを回避するために十分な情報を有するそのようなネットワークは、そのように設計されていないネットワークよりも最適に機能する可能性がある。同様に、クライアントへのアセットの配信を「インテリジェントに」順序付けることが可能なネットワークは、クライアントの能力を促して最大限に発揮させることができる(即ち、エンド・ユーザーにとって、より楽しめるような体験を作り出すことができる)。
【0067】
[0087]
図2Bは、実施形態によるメディア・アセット再利用を決定することを含む例示的なメディア変換プロセス250を示す。メディア変換意思決定プロセス200と同様に、メディア・アセット再利用を行うメディア変換プロセス250は、ネットワークを介して取り込みメディアを処理し、メディアをクライアントへ配信する前に、ネットワークがメディアを変換するべきであるかどうかを判断する。
【0068】
[0088] フォーマットAで表現される取り込みメディアは、コンテンツ・プロバイダによってネットワークに提供される。実施形態によれば、処理255-260及び275-286は、
図2Aに示される205-210及び215-230と同様に実行される。255において、メディアはコンテンツ・プロバイダから、ネットワークによって取り込まれる。次いで、260において、ターゲット・クライアントの属性は、まだ知られていない場合、取得される。属性は、ターゲットのクライアントの処理機能を記述している。
【0069】
[0089] ネットワークが以前に特定のメディア・オブジェクト又は現在のメディア・オブジェクトをストリーミングしたことが確認された場合(265でYES)、プロセスは270に進む。270において、クライアントが、以前にストリーミングされたオブジェクトのローカル・コピー又は別のキャッシュに記憶されている以前にストリーミングされたオブジェクトのコピー、を使用するべきであることを示すために、以前にストリーミングされたメディア・オブジェクトの代わりにプロキシが作成されます
[0090] ネットワークは以前にメディア・オブジェクトをストリーミングしていないと判断された場合(265でNO)、プロセスは275に進む。275において、ネットワーク又はクライアントは、255における取り込みメディア内に含まれる何らかのメディア・アセットに対して、何らかのフォーマット変換を実行すべきであるかどうかが判断される。例えば、変換は、メディアがクライアントへストリーミングされる前に、特定のメディア・オブジェクトのフォーマットAからフォーマットBへ変換することを含む可能性がある。処理275は、
図2Aに示す215で実行された処理と同様なものであるとすることが可能である。
【0070】
[0091] メディア・アセットがネットワークによって変換されるべきであると判断された場合(275でYES)、プロセスは280に進む。280において、メディア・オブジェクトはフォーマットAからフォーマットBへ変換される。変換されたメディアは、次いで、クライアントにストリーミングされるように準備される(286)。
【0071】
[0092] メディア・アセットがネットワークによって変換されるべきものではないと判断された場合(275でNO)、プロセスは285に進む。285において、メディア・オブジェクトは次いでクライアントにストリーミングされるように準備される。メディアがストリーミング可能なフォーマットになると、285において準備されたメディアは、286においてクライアントへストリーミングされる。
【0072】
[0093] メディアのストリーミング可能なフォーマットは、タイムド(timed)又は非タイムド(untimed)ヘテロジニアス・イマーシブ・メディアである可能性がある。
図3Aは、ヘテロジニアス・イマーシブ・メディアのストリーミング可能なフォーマットのタイムド・メディア表現300の例を示す。タイムド・イマーシブ・メディアは、N個のシーンのセットを含む可能性がある。タイムド・メディアは、特定のクロックに従う時間によって、例えば開始時間及び終了時間によって、順序付けられたメディア・コンテンツである。
図4は、ヘテロジニアス・イマーシブ・メディアのストリーミング可能なフォーマットの非タイムド・メディア表現400の例を示す。非タイムド・メディアは、(例えば、1人以上のユーザーによって実行される動作に従って実現されるインタラクティブな体験のように)空間的、論理的、又は時間的な関係によって組織されたメディア・コンテンツである。
【0073】
[0094]
図3A-Bは、タイムド・メディアの時間指定されたシーンを表し、
図4A-Bは非タイムド・メディアの時間指定されていないシーンを表している。時間指定されたシーンと時間指定されていないシーンは、様々なシーン表現、又はシーンの説明に対応している可能性がある。
図3B、3B、4A、及び4Bは何れも、特定のクライアント・エンド・ポイントの機能に合致するように、ソース取り込みメディア・フォーマットから適合させた単独の例示的な包括的メディア・フォーマットを使用している。即ち、包括的メディア・フォーマットは、クライアント・デバイスにストリーミング可能な配信フォーマットである。包括的メディア・フォーマットは、その構造において十分に堅牢であり、様々なメディア属性に対応することができ、その場合において、各属性は、各レイヤがメディアのプレゼンテーションに貢献する顕著な情報の量に基づいて階層化されることが可能である。
【0074】
[0095]
図3Aに示すように、タイムド・メディア表現300は、シーン情報301のリストを含む時間指定されたシーン・マニフェスト300Aを含む。シーン情報301は、シーン情報301を構成するメディア・アセットの種類と処理情報を別々に記述するコンポーネント302のリストを指し、例えば、アセット・リストとその他の処理情報である。コンポーネントのリスト302は、アセットのタイプ(例えば、
図3Aに示すようなプロキシ・ビジュアル及びオーディオ・アセット)に対応するプロキシ・アセット308を参照することが可能である。コンポーネント302は、以前に他のシーンで使用されていない固有のアセットのリストを参照する。例えば、(時間指定された)シーン1の固有のアセット307のリストが
図3Aに示されている。コンポーネント302は、ベース・レイヤ304と属性エンハンスメント・レイヤ305とを含むアセット303も参照する。ベース・レイヤは、演算リソース、アセットをレンダリングするのに必要とされる時間、及び/又は、ネットワークを介してアセットを伝送するために必要な時間、を最小化するように定式化されることが可能なアセットの名目上の表現である。この例示的な実施形態では、各ベース・レイヤ304は、クライアントがアセットを処理するための時間又はリソースの観点から費やす必要があるかもしれない労力を特徴付ける数値コンプレキシティ・メトリックを参照する。拡張レイヤは、アセットのベース・レイヤ表現に適用される場合に、ベース・レイヤでサポートされていない可能性のある特徴又は機能を含むように、ベース・レイヤを拡張する情報のセットであるとすることが可能である。
【0075】
[0096]
図3Bは、コンプレキシティ3030を降順で順序付けたタイムド・メディア表現を示す。このタイムド・メディア表現は、
図3Aに示されているものと同じ表現であるが、
図3Bのアセット3033は、アセット・タイプ、及び、各アセット・タイプ内での降順コンプレキシティ尺度値によって順序付けられている。時間指定されたシーン・マニフェスト303Aは、シーン情報3031のリストを含む。シーン情報のリスト3031は、シーン情報のリスト3031を含むメディア・アセットのタイプと処理情報とを個別に記述するコンポーネントのリスト3032を参照し、例えば、アセット・リストとその他の処理情報である。コンポーネント3032は、アセットのタイプ(例えば、
図3Bに示されるようなプロキシ・ビジュアル及びオーディオ・アセット)に対応するプロキシ・アセット3038を参照する可能性がある。コンポーネント3032は、ベーシック・レイヤ3034と属性エンハンスメント・レイヤ3035を更に参照するアセット3033を参照する。各々の基本レイヤ3034は、対応するコンプレキシティ尺度の降順値に従って順序付けられている。以前に他のシーンで使用されていない固有のアセット3037のリストも提供されている。
【0076】
[0097]
図4Aに示されるように、非タイムド・メディア及びコンプレキシティ表現400はシーン情報401を含む。シーン情報401は(クロック、タイマーなどにより)開始及び終了時間/継続時間に関連付けられていない。時間指定されていないシーン・マニフェスト(不図示)は、シーン1.0を参照することが可能であり、シーン1.0に分岐することが可能な他のシーンは存在しない。シーン情報401は、シーン情報401を構成するメディア・アセットのタイプと処理情報を個別に記述するコンポーネント402のリストを参照する。コンポーネント402は、視覚アセット、聴覚アセット、触覚アセット、及び時間指定アセット(集合的にアセット403と呼ばれる)を参照する。アセット403は、ベース・レイヤ404と属性エンハンスメント・レイヤ405及び406を更に参照する。この例示的な実施形態では、各ベース・レイヤ404は、クライアントが、プレゼンテーションを含むシーンにわたってアセットを処理するための時間又はリソースの観点から費やす必要があるかもしれない労力を特徴付ける数値コンプレキシティ・メトリックを参照する。シーン情報401は、非タイムド・メディア・ソース用の他の時間指定されていないシーン(即ち、
図4Aの時間指定されていないシーン2.1-2.4として参照されているもの)及び/又は時間指定されたメディア・シーン(即ち、
図4Aの時間指定されたシーン3.0として参照されているもの)に関するシーン情報407を参照することも可能である。
図4Aの例では、非タイムド・イマーシブ・メディアは、5つのシーンのセットを含む(時間指定されたもの及び時間指定されていないもの双方を含む)。固有のアセットのリスト408は、特定のシーンに関連付けられる固有のアセットであって、より順位が上位の(例えば、親の)シーンで以前に使用されていないものを識別する。
図4に示される固有のアセットのリスト408は、時間指定されていないシーン2.3に対する固有のアセットを含む。
【0077】
[0098]
図4Bは、時間指定されていないメディアと順序付けられたコンプレキシティ表現4040を示す。時間指定されていないシーン・マニフェスト(不図示)は、シーン1.0に分岐することが可能な他のシーンが存在しないシーン1.0を参照する。シーン情報4041は、クロックに従って開始と終了の継続時間に関連付けられていない。シーン情報4041は、シーン情報4041を構成するメディア・アセットのタイプと処理情報を個別に記述するコンポーネント4042のリストも参照する。コンポーネント4042は、視覚アセット、聴覚アセット、触覚アセット、及び時間指定アセット(集合的にアセット4043と呼ばれる)を参照する。アセット4043は、ベース・レイヤ4044と属性エンハンスメント・レイヤ4045及び4046を更に参照する。この例示的な実施形態では、触覚アセット4043はコンプレキシティ尺度値を増加させることによって編成される一方、聴覚アセット4043はコンプレキシティ尺度値を減少させることによって編成されており、あるいはその逆も可能である。更に、シーン情報4041は、時間指定されていないメディア用の他の時間指定されていないシーン情報4041を参照する。シーン情報4041は、時間指定されたメディア用の他の時間指定されたシーン情報4047も参照する。固有のアセットのリスト4048は、特定のシーンに関連付けられる固有のアセットであって、より順位が上位の(例えば、親の)シーンで以前に使用されていないものを識別する。
【0078】
[0099] 包括的なメディア・フォーマットに従ってストリーミングされるメディアは、従来の視覚的及び音響的メディアに限定されない。包括的なメディア・フォーマットは、視覚、聴覚、味覚、触覚、及び嗅覚に対する人間の感覚を刺激するために機械と相互作用する信号を生成することが可能な任意のタイプのメディア情報を含む可能性がある。
図3A-B及び
図4A-Bに示されるように、包括的なメディア・フォーマットに従ってストリーミングされるメディアは、時間指定された又は時間指定されていないメディア、或いは両方の混合であってもよい。包括的なメディア・フォーマットは、ベース・レイヤとエンハンスメント・レイヤ・アーキテクチャを使用して、メディア・オブジェクトの階層化された表現を可能にすることによって、ストリーミング可能なものになる。
【0079】
[0100] 一部の実施形態では、個々のベース・レイヤとエンハンスメント・レイヤは、各シーンのメディア・オブジェクトのマルチ解像度又はマルチ・テセレーション分析(multi-tessellation analysis)技術の適用によって演算される。この演算技術は、ラスター・ベースの視覚フォーマットに限定されない。
【0080】
[0101] 一部の実施形態では、幾何学的オブジェクトのプログレッシブ表現は、ウェーブレット分析技術を使用して計算されたオブジェクトのマルチ解像度表現であってもよい。
【0081】
[0102] 一部の実施形態では、階層化された表現のメディア・フォーマットにおいて、エンハンスメント・レイヤは、ベース・レイヤに様々な属性を適用することが可能である。例えば、1つ以上のエンハンスメント・レイヤは、ベース・レイヤによって表される視覚オブジェクトの表面の材料特性を洗練することが可能である。
【0082】
[0103] 一部の実施形態では、階層化された表現のメディア・フォーマットにおいて、属性は、例えば、表面を滑らかなテクスチャから多孔質なテクスチャに変更したり、艶消しの表面から光沢のある表面に変更したりすることによって、ベース・レイヤによって表されるオブジェクトの表面のテクスチャを洗練することが可能である。
【0083】
[0104] 一部の実施形態では、階層化された表現のメディア・フォーマットにおいて、シーン内の1つ以上の視覚オブジェクトの表面は、ランバート表面(lambertian surface)から光線追跡可能表面であるものへ変更されることが可能である。
【0084】
[0105] 一部の実施形態では、階層化された表現のメディア・フォーマットにおいて、ネットワークはベース・レイヤ表現をクライアントへ配信することが可能であり、その結果、クライアントは、シーンの名目上のプレゼンテーションを作成することが可能である一方、クライアントは、ベース・レイヤの解像度又はその他の特徴を洗練するために、追加のエンハンスメント・レイヤの伝送を待機することが可能である。
【0085】
[0106] 実施形態では、エンハンスメント・レイヤにおける属性の解像度又は洗練情報は、ベース・レイヤ中のオブジェクトの解像度と明示的には結び付けられていない。更に、包括的なメディア・フォーマットは、プレゼンテーション・デバイス又はマシンによって提示される又は作用させられる可能性のある任意のタイプの情報メディアをサポートすることが可能であり、これにより、ヘテロジニアス・クライアント・エンド・ポイントに対するヘテロジニアス・メディア・フォーマットのサポートを可能にする。一部の実施形態では、メディア・フォーマットを配信するネットワークは、先ず、クライアントのエンド・ポイントを照会して、クライアントの能力を判定する。クエリに基づいて、クライアントはメディア表現を有意義に取り込むことができない場合、ネットワークは、そのクライアントでサポートされていない属性のレイヤを削除することが可能である。一部の実施形態では、クライアントがメディア表現を有意義に取り込むことができない場合、ネットワークは、メディアを、現在のそのフォーマットから、クライアントのエンド・ポイントに適したフォーマットに適合させることが可能である。例えば、ネットワークは、ネットワーク・ベースのメディア処理プロトコルを使用して、ボリューメトリック・ビジュアル・メディア・アセットを、同じ視覚アセットの2D表現に変換することによって、メディアを適合させることが可能である。一部の実施形態では、ネットワークは、ニューラル・ネットワーク(NN)プロセスを使用して、メディアを適切なフォーマットに再フォーマットするか、又はオプションでクライアント・エンド・ポイントで必要とされるビューを合成することによって、メディアを適合させることが可能でる。
【0086】
[0107] 完全な(又は部分的に完全な)没入体験(ライブ・ストリーミング・イベント、ゲーム、又はオン・デマンド・アセットの再生)のためのシーンのマニフェストは、プレゼンテーションを作成するために、レンダリング及び取り込みに必要とされる最小限の情報を含むシーンによって編成される。シーンのマニフェストは、クライアントによって要求された没入体験の全体に対してレンダリングされるべき個々のシーンのリストを含む。各シーンに関連付けられているものは、シーン・ジオメトリのストリーミング可能なバージョンに対応するシーン内のジオメトリック・オブジェクトの1つ以上の表現である。シーンの一実施形態は、シーンのジオメトリック・オブジェクトの低解像度バージョンを参照する場合がある。同じシーンの別の実施形態は、シーンの低解像度表現のエンハンスメント・レイヤを参照して、同じシーンのジオメトリック・オブジェクトの追加的な詳細を加えたり、テセレーションを増加させたりすることが可能である。上述したように、各シーンは、シーンのジオメトリック・オブジェクトの詳細を漸進的な方式で増加させるために、1つ以上のエンハンスメント・レイヤを有することが可能である。シーン内で参照されるメディア・オブジェクトの各レイヤは、ネットワーク内でリソースにアクセスできる場所のアドレスを指すトークン(例えば、ユニフォーム・リソース識別子(Uniform Resource Identifier,URI))に関連付けられることが可能である。このようなリソースは、クライアントがコンテンツを取得することが可能なコンテンツ配信ネットワーク(content delivery networks,CDN)に類似している。ジオメトリック・オブジェクトの表現に対するトークンは、ネットワーク内のロケーション、又はクライアント内のロケーションを指す可能性がある。即ち、クライアントは、ネットワーク・ベースのメディア処理のためにネットワークにとってリソースが使用可能であることを、ネットワークにシグナリングすることが可能である。
【0087】
[0108] 実施形態によれば、(時間指定された又は時間指定されていない)シーンは、複数平面画像(Multi-Plane Image,MPI)又は複数球面画像(Multi-Spherical Image,MSI)としてシーン・グラフに対応する可能性がある。MPI及びMSI双方の技術は、自然なコンテンツ(即ち、1つ以上のカメラから同時に撮影された現実世界の画像)の表示アグノスティック・シーン表現(display-agnostic scene representations)の作成を支援する技術の例である。一方、シーン・グラフ技術は、自然な画像とコンピュータで生成された画像の両方を、合成表現の形式で表現するために使用される場合がある。しかしながら、このような表現は、コンテンツが1つ以上のカメラによって自然なシーンとして捕捉されるケースについて作成するには、特に演算負担がかかる。自然に捕捉されるコンテンツのシーン・グラフ表現は、作成に時間と演算の両方の負担がかかり、ターゲットの没入感のあるクライアント・ディスプレイの表示フラスタム(viewing frustum)を満たすために十分で適切な数のビューを補間するために以後使用されることが可能な合成表現を作成するために、写真測量又はディープ・ラーニング又はそれら双方の技術を使用して、自然画像の複雑な分析を必要とする。その結果、このような合成表現は、自然なコンテンツを表現する候補として考慮することは現実的ではなく、なぜなら、それらはリアル・タイム配信を必要とするユース・ケースに関してリアル・タイムで作成することは事実上できないからである。そのため、コンピュータで生成された画像の最適な表現は、合成モデルでシーン・グラフの使用を採用することであり、なぜなら、コンピュータで生成された画像は3Dモデリング・プロセスとツールを使用して作成され、合成モデルでシーン・グラフの使用を採用することは、コンピュータで生成された画像の最良の表現となるからである。
【0088】
[0109]
図5は、実施形態による自然メディア合成プロセス500の例を示す。自然メディア合成プロセス500は、取り込みフォーマットを自然なシーンから或る表現(ヘテロジニアス・クライアント・エンド・ポイントに応対するネットワークに対する取り込みフォーマットとして使用されることが可能な表現)に変換する。破線510の左側は、自然メディア合成プロセス500のコンテンツ捕捉部分である。破線510の右側は、自然メディア合成プロセス500の(自然画像用の)取り込みフォーマット合成である。
【0089】
[0110]
図5に示されるように、第1のカメラ501は単一のカメラ・レンズを使用して、例えば人物(即ち、
図5に示されるアクター)のシーンを撮影する。第2のカメラ502は、リング状の物体の周辺に5つのカメラ・レンズを取り付けることにより、5つの発散する視野を有するシーンを撮影する。
図5に示す第2のカメラ502の配置は、VRアプリケーションの全方位コンテンツを撮影するために一般的に使用される例示的な配置である。第3のカメラ503は、球の内径部分に7つのカメラ・レンズを取り付けることによって、7つの収束する視野を有するシーンを撮影する。第3のカメラ503の配置は、ライト・フィールド又はホログラフィック・イマーシブ・ディスプレイ用のライト・フィールドを撮影するために一般的に使用される例示的な配置である。実施形態は、
図5に示される構成に限定されない。第2のカメラ502及び第3のカメラ503は、複数のカメラ・レンズを含む可能性がある。
【0090】
[0111] 自然画像コンテンツ509は、第1のカメラ501、第2のカメラ502、及び第3のカメラ503から出力され、シンセサイザ504に対する入力として与えられる。シンセサイザ504は、キャプチャNNモデル508を生成するために、訓練画像506の集まりを使用してNN訓練505を行うことが可能である。訓練画像506は、事前に定められていてもよいし、或いは以前の合成処理から保存されてもよい。NNモデル(例えば、キャプチャNNモデル508)は、改善された視覚的出力に到達するために視覚的信号に適用されるウェル・ディファインドな(well-defined)数学的演算で使用されるウェイト(即ち、数値)を定めるパラメータ及びテンソル(例えば、行列)の集まりであり、その改善された視覚的出力は、元の信号によって明示的には提供されていなかった視覚的信号に対する新たなビューの補間を含むことが可能である。
【0091】
[0112] 一部の実施形態では、NN訓練505の代わりに写真測量プロセスが実施されてもよい。キャプチャNNモデル508が、自然メディア合成プロセス500中に作成される場合、キャプチャNNモデル508は、自然メディア・コンテンツの取り込みフォーマット507におけるアセットの1つになる。取り込みフォーマット507は、例えばMPIやMSIであってもよい。取り込みフォーマット507は、メディア・アセットを含む場合もある。
【0092】
[0113]
図6は、実施形態による合成メディア取り込み作成プロセス600の例を示す。合成メディア取り込み作成プロセス600は、例えば、コンピュータ生成画像のような合成メディア用の取り込みメディア・フォーマットを作成する。
【0093】
[0114]
図6に示すように、カメラ601はシーンの点群602をキャプチャすることが可能である。カメラ601は、例えば、LIDARカメラであってもよい。コンピュータ603は、例えば、共通ゲートウェイ・インターフェース(common gateway interface,CGI)ツール、3Dモデリング・ツール、又は別のアニメーション・プロセスを採用して、合成コンテンツ(即ち、ヘテロジニアス・クライアント・エンド・ポイントに応対するネットワークのための取り込みフォーマットとして使用されることが可能な合成シーンの表現)を作成する。コンピュータ603は、ネットワークを介してCGIアセット604を作成することが可能である。更に、センサ605Aは、シーン内の役者605に装着されてもよい。センサ605Aは、例えば、センサが取り付けられたモーション・キャプチャ・スーツであってもよい。センサ605Aは、アクター605の動きのデジタル記録をキャプチャし、活動動作データ606(又はMoCap Data)を生成する。点群602、CGIアセット604、動作データ606からのデータは、合成メディア取り込みフォーマット608を作成するシンセサイザ607への入力として提供される。一部の実施形態では、シンセサイザ607はNNと訓練データを使用して、合成メディア取り込みフォーマット608を生成するNNモデルを作成することが可能である。
【0094】
[0115] 自然なコンテンツ及びコンピュータで生成された(即ち、合成)コンテンツの両方がコンテナに保存されることが可能である。コンテナは、全て自然、全て合成、又は、合成及び自然シーンの混合であってシーン・グラフと全てのメディア・リソース(シーンのレンダリングに必要なもの)を含むもの、を表現する情報を格納及び交換するためのシリアル化されたフォーマットを含むことが可能である。コンテンツのシリアル化プロセスは、データ構造又は物体の状態を或るフォーマットに変換することを含み、そのフォーマットは、後に、同じ又は異なるコンピュータ環境において(例えば、ファイルやメモリ・バッファ内)に格納され又は(例えば、ネットワーク接続リンクを介して)伝送されて再構成されることが可能なものである。結果的に生じた一連のビットがシリアル化フォーマットに従って再読み込みされると、元のオブジェクトの意味的に同一のクローンを作成するために使用されることが可能である。
【0095】
[0116] 自然なコンテンツ及びコンピュータで生成された(即ち、合成)コンテンツの両方の最適な表現における二分(dichotomy)は、自然にキャプチャされたコンテンツの最適な取り込みフォーマットが、コンピュータで生成されたコンテンツに対する、又は、リアル・タイム配信アプリケーションに不可欠ではない自然なコンテンツに対する、最適な取り込みフォーマットとは相違することを示唆している。従って、実施形態によれば、ネットワークは、例えば物理カメラの使用によって自然に作成されたか又はコンピュータによって作成されたかによらず、視覚的に没入感のあるメディアのための複数の取り込みフォーマットをサポートするのに十分に堅牢であることを目的としている。
【0096】
[0117] OTOYによるORBX、ピクサー(Pixar)によるユニバーサル・シーン記述、及び、クロノス3Dグループ(Khronos 3D Group)により記載されているグラフィックス言語伝送フォーマット2.0(glTF2.0)仕様のような技術は、コンピュータ生成技術を使用して作成された視覚的イマーシブ・メディア、又は、自然にキャプチャされたコンテンツを表すのに適したフォーマットとしてシーン・グラフを具体化しており、自然にキャプチャされたコンテンツについては、ディープ・ラーニング又は写真測量技術が、自然なシーンの対応する合成表現(即ち、リアル・タイム配信アプリケーションの場合に本質的でないもの)を作成するために使用される。
【0097】
[0118] OTOYによるORBXは、レイ・トレーシング可能な、レガシー(フレーム・ベース)の、ボリューメトリックな、及びその他のタイプの合成又はベクトル・ベースの視覚フォーマットを含む、時間指定される又は時間指定されない任意のタイプの視覚メディアをサポートすることが可能な幾つかのシーン・グラフ技術のうちの1つである。ORBXは、他のシーン・グラフとは異なる固有のものであり、なぜなら、ORBXはメッシュ、点群、テクスチャに関する自由に利用可能な及び/又はオープン・ソースのフォーマットに、ネイティブ・サポートを提供するからである。ORBXは、シーン・グラフ上で動作する複数のベンダー技術にわたるやりとりを容易にすることを目的として意図的に設計されているシーン・グラフである。更に、ORBXはリッチ・マテリアル・システム、オープン・シェーダー言語(Open Shader Language)のサポート、堅牢なカメラ・システム、ルア(Lua)スクリプトのサポートを提供する。ORBXは、IDEA(Immersive Digital Experiences Alliance)によってロイヤリティ・フリーの条件でライセンス公開されているイマーシブ技術メディア・フォーマット(Immersive Technologies Media Format)の基礎でもある。メディアのリアル・タイム配信のコンテキストでは、自然なシーンのORBX表現を作成して配信する能力は、カメラでキャプチャされたデータの複雑な分析と、同じデータの合成表現への合成とを実行するための演算リソースの可用性の機能による。
【0098】
[0119] ピクサーによるUSDは、視覚効果や専門的なコンテンツ制作で一般的に使用されているシーン・グラフである。USDは、NVIDIA社のグラフィックス処理ユニット(GPU)を用いて3Dモデルの作成とレンダリングのための開発者向けツールのセットである、NVIDIA社のOmniverseプラットフォームに統合される。アップル(Apple)とピクサー(Pixar)によって公開されているUSDのサブセットは、USDZと呼ばれ、Apple社のARKitによってサポートされている。
【0099】
[0120] glTF2.0は、Khronos 3D Groupによって書かれた或るバージョンのグラフィックス伝送フォーマット仕様である。このフォーマットは、シーン内の静的な(時間指定されていない)オブジェクトを一般的にサポートすることが可能なシンプルなシーン・グラフ・フォーマット(PNGやJPEG画像フォーマットを含む)をサポートしている。glTF2.0は、シンプルなアニメーションをサポートしており、これは、glTFプリミティブ(即ち、幾何学的オブジェクトに対するもの)を使用して記述された基本形状の並進、回転、スケール変更をサポートすることを含む。glTF2.0は時間指定されたメディアをサポートしておらず、従って、ビデオもオーディオ・メディア入力もサポートしていない。
【0100】
[0121] イマーシブ視覚メディアのシーン表現のためのこれらの設計は、例示のみのために提供されており、入力イマーシブ・メディア・ソースを、クライアントのエンド・ポイント・デバイスの特定の特性に適したフォーマットに適応させるプロセスを指定する機能において開示される対象事項を限定するものではない。更に、上記の例示のメディア表現のうちの何れか又は全ては、ディープ・ラーニング技術を採用しているか又は採用する可能性があり、錐台(frustum)の特定の寸法に基づいて特定のディスプレイのビューの錐台を満足するように、特定のビューの選択を可能にする又は促進するNNモデルを訓練して作成する。特定のディスプレイのビューの錐台に対して選択されるビューは、シーン表現で明示的に提供される既存のビューの中から(例えば、MSI又はMPI技術により)補間されることが可能である。ビューは、特定の仮想カメラの場所、フィルター、又はこれらのレンダリング・エンジンの仮想カメラの説明に基づいて、レンダリング・エンジンから直接的にレンダリングされることも可能である。
【0101】
[0122] 本開示の方法及びデバイスは、比較的小さいがよく知られている一連のイマーシブ・メディア取り込みフォーマットが存在することを考慮できる程度に十分堅牢であり、それは、自然に(例えば、1台以上のカメラを用いて)キャプチャされたか、又はコンピュータ生成技術を使用して作成されたメディアのリアル・タイム又はオン・デマンドの(例えば、非リアル・タイムの)配信の要件を十分に満たすことが可能なものである。
【0102】
[0123] NNモデル又はネットワーク・ベースのレンダリング・エンジンの何れかを使用したイマーシブ・メディア取り込みフォーマットからのビューの補間は、高度なネットワーク技術(例えば、モバイル・ネットワークの5Gに関するもの)として更に促進され、光ファイバー・ケーブルが固定ネットワーク用に配備される。これらの高度なネットワーク技術は、商用ネットワークの容量と能力を向上させ、なぜなら、このような高度なネットワーク・インフラストラクチャは、ますます増加する視覚情報の転送や配信をサポートできるからである。MEC(Multi-access Edge Computing)、SDN(Software Defined Networks)、及びNFV(Network Functions Virtualization)のようなネットワーク・インフラストラクチャ管理技術は、商用のネットワーク・サービス・プロバイダが、特定のネットワーク・リソースに対する要求の変化に適応するように、例えば、ネットワーク・スループット、ネットワーク速度、ラウンドトリップ遅延、及び演算リソースに対する要求の動的な増減に応じるように、それらのネットワーク・インフラストラクチャを柔軟に設定することができる。更に、動的なネットワーク要件に適応するためのこの固有の能力は、ヘテロジニアスなクライアント・エンド・ポイントのための潜在的にヘテロジニアスな視覚メディア・フォーマットを有する様々なイマーシブ・メディア・アプリケーションをサポートするために、イマーシブ・メディア取り込みフォーマットを、適切な配信フォーマットに適合させるように、ネットワークの能力を促進する。
【0103】
[0124] イマーシブ・メディア・アプリケーション自体もまた、ゲームの状態の中でリアル・タイム更新に応答するために大幅に少ないネットワーク・レイテンシを必要とするゲーム・アプリケーション、ネットワークのアップリンクとダウンリンクの両方の部分に対して対称的なスループット要件を有するテレプレゼンス・アプリケーション、データを使用しているクライアント・エンド・ポイント・ディスプレイのタイプに応じてダウンリンク・リソースの要求を増加させる可能性があるパッシブ表示アプリケーションを含む、ネットワーク・リソースに対する様々な要件を有する可能性がある。一般に、何らかの消費者向けアプリケーションは、記憶、演算、及び電源に関する様々なオンボード・クライアント機能を備えた様々なクライアント・エンド・ポイント、及び同様に特定のメディア表現に関する様々な要件によってサポートされる可能性がある。
【0104】
[0125] 従って、本開示の実施形態は、十分に装備されたネットワーク、即ち、最新のネットワークの特徴の全部又は一部を採用するネットワークが、デバイス内で指定された機能に従って、複数のレガシー及びイマーシブ・メディア対応デバイスを同時にサポートすることを可能にする。そのため、本件で説明されるイマーシブ・メディア配信方法及びプロセスは、メディアの配信のためのリアル・タイム及びオン・デマンドの両方のユース・ケースに実用的なメディア取り込みフォーマットを活用する柔軟性と、レガシー及びイマーシブ双方のメディア対応クライアント・エンド・ポイントのための自然及びコンピュータ生成コンテンツの両方をサポートする柔軟性と、時間指定された及び時間指定されていない双方のメディアをサポートする柔軟性とを提供する。この方法及びプロセスはまた、クライアントのエンド・ポイントの特徴と能力に基づいて、更にはアプリケーションの要件に基づいて、ソース・メディア取り込みフォーマットを適切な配信フォーマットに動的に適合させる。これは、配信フォーマットがIPベースのネットワーク上でストリーミング可能になること、及び、ネットワークが、レガシー及びイマーシブ双方のメディア対応デバイスを含む可能性のある複数のヘテロジニアス・クライアント・エンド・ポイントに同時に応対できることを保証する。更に、実施形態は、シーン境界にわたって配信メディアの編成を促進する例示的なメディア表現フレームワークを提供する。
【0105】
[0126] 前述の改善をもたらす本開示の実施形態によるヘテロジニアス・イマーシブ・メディア配信のエンド・ツー・エンドの実装は、
図7-16の詳細な記載で説明される処理と構成要素に従って達成され、以下、詳細に説明する。
【0106】
[0127] 上述したヘテロジニアス・イマーシブ・メディアを表現し且つストリーミングするための技術は、コンピュータ読み取り可能な命令を使用するコンピュータ・ソフトウェアとして、1つ以上の非一時的なコンピュータ読み取り可能な媒体に物理的に記憶されるか、又は特別に構築された1つ以上のハードウェア・プロセッサによって具体的に構築され、送信元及び送信先の双方で実装されることが可能である。
図7は、開示される対象事項の特定の実施形態を実装するのに適したコンピュータ・システム700を示す。
【0107】
[0128] コンピュータ・ソフトウェアは、任意の適切なマシン・コード又はコンピュータ言語を使用してコード化されることが可能であり、コンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)等によって直接的に、又は解釈やマイクロ・コード実行などを通じて、実行されることが可能な命令を含むコードを作成するためのアセンブリ、コンパイル、リンク、又は同様なメカニズムによる処理を受けることが可能である。
【0108】
[0129] 命令は、例えば、パーソナル・コンピュータ、タブレット・コンピュータ、サーバー、スマートフォン、ゲーミング・デバイス、モノのインターネット・デバイス等を含む、種々のタイプのコンピュータ又はその構成要素上で実行されることが可能である。
【0109】
[0130] コンピュータ・システム700について
図7に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実現するコンピュータ・ソフトウェアの使用範囲又は機能に関する如何なる制限も示唆するようには意図されていない。また、構成要素の構成は、コンピュータ・システム700の例示的な実施形態に示された構成要素の任意の1つ又は組み合わせに関する何らかの従属性や要件を有するものとして解釈されるべきではない。
【0110】
[0131] ンピュータ・システム700は、特定のヒューマン・インターフェース入力デバイスを含むことが可能である。このようなヒューマン・インターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データ・グローブの動き)、聴覚的な入力(例えば、声、拍手)、視覚的な入力(例えば、ジェスチャ)、嗅覚的な入力を介して、1人以上の人間ユーザーによる入力に応答することが可能である。また、ヒューマン・インターフェース・デバイスは、オーディオ(例えば、会話、音楽、周囲音)、画像(例えば、スキャンされた画像、静止画像カメラから得られる写真画像)、ビデオ(例えば、2次元ビデオ、立体ビデオを含む3次元ビデオ)のような、人間による意識的な入力に必ずしも直接的に関係しない特定のメディアを捕捉するために使用することも可能である。
【0111】
[0132] 入力ヒューマン・インターフェース・デバイスは、キーボード701、トラックパッド703、マウス703、スクリーン709のうちの(描かれているものはそれぞれ唯1つであるが)1つ以上であって、例えば、タッチ・スクリーン、データ・グローブ、ジョイスティック704、マイクロホン705、カメラ706、及びスキャナ707であってもよいものを含む可能性がある。
【0112】
[0133] コンピュータ・システム700はまた特定のヒューマン・インターフェース出力デバイスを含むことも可能である。このようなヒューマン・インターフェース出力デバイスは、例えば、触覚出力、音、光、及び嗅覚/味覚を通じて、1人以上の人間ユーザーの感覚を刺激することが可能である。このようなヒューマン・インターフェース出力デバイスは、触覚出力デバイス(例えば、タッチ・スクリーン709、データ・グローブ、ジョイスティック704による触覚フィードバックであるが、入力デバイスとしては役立たない触覚フィードバック・デバイスが存在する可能性もある)、聴覚的な出力デバイス(例えば、スピーカー708、ヘッドフォン)、視覚的な出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマ・スクリーン、OLEDスクリーンを含むスクリーン709であり、各々はタッチ・スクリーン入力機能を備えるか又は備えておらず、各々は触覚フィードバック機能を備えるか又は備えておらず、それらのうちの一部は、2次元的な視覚的な出力、又は、立体出力のような手段による3以上の次元の出力を出力することが可能であってもよい;仮想現実メガネ(図示せず)、ホログラフィック・ディスプレイ、及びスモーク・タンク)、及びプリンタを含むことが可能である。
【0113】
[0134] コンピュータ・システム700はまたCD/DVD等の媒体710を使用するCD/DVD ROM/RWを含む光媒体711、サム・ドライブ712、リムーバブル・ハード・ドライブ又はソリッド・ステート・ドライブ713、テープ及びフロッピー・ディスクのようなレガシー磁気媒体、セキュリティ・ドングル等の特殊化されたROM/ASIC/PLDベースのデバイスのような、人間がアクセス可能な記憶デバイス及びそれらに関連する媒体を含むことも可能である。
【0114】
[0135] 当業者は、本件で開示される対象事項に関連して使用されているような用語「コンピュータ読み取り可能な媒体」は、伝送媒体、搬送波、又はその他の過渡的な信号を包含しないことも理解するはずである。
【0115】
[0136] コンピュータ・システム700は、1つ以上の通信ネットワーク714へのインターフェース715を含むことも可能である。ネットワーク714は、例えば、無線、有線、光学的なものであるとすることが可能である。ネットワーク714は、更に、ローカル、ワイド・エリア、メトロポリタン、車両及び産業、リアル・タイム、遅延耐性などに関するものであるとすることが可能である。ネットワーク714の例は、イーサーネット、無線LAN、セルラー・ネットワーク(GSM、3G、4G、5G、LTE等を含む)、TVの有線又は無線ワイド・エリア・デジタル・ネットワーク(ケーブルTV、衛星TV、及び地上放送TVを含む)、CANBusを含む車両及び産業などを含む。特定のネットワーク714は、一般に、特定の汎用データ・ポート又は周辺バス716に取り付けられる外部ネットワーク・インターフェース・アダプタを必要とし(例えば、コンピュータ・システム700のUSBポート);その他は、一般に、以下に説明するようなシステム・バスに取り付けることによって、コンピュータ・システム700のコアに統合される(例えば、イーサーネット・インターフェースはPCコンピュータ・システム内に、セルラー・ネットワーク・インターフェースはスマートフォン・コンピュータ・システム内に統合される)。これらのうちの任意のネットワーク714を使用して、コンピュータ・システム700は、他のエンティティと通信することが可能である。このような通信は、片-方向受信専用(例えば、放送TV)、片-方向送信専用(例えば、特定のCANbusデバイスに対するCANbus)、又は双-方向、例えばローカル又はワイド・エリア・デジタル・ネットワークを使用する他のコンピュータ・システムに対するものであるとすることが可能である。特定のプロトコル及びプロトコル・スタックは、上述のように、それらのネットワーク及びネットワーク・インターフェースの各々で使用されることが可能である。
【0116】
[0137] 前述のヒューマン・インターフェース・デバイス、ヒューマン・アクセシブル・ストレージ・デバイス、及びネットワーク・インターフェースは、コンピュータ・システム700のコア717に取り付けられることが可能である。
【0117】
[0138] コア717は、1つ以上の中央処理ユニット(CPU)718、グラフィックス処理デバイス(GPU)719、フィールド・プログラマブル・ゲート・エリア(FPGA)720の形式における特殊プログラマブル処理デバイス、特定のタスク用のハードウェア・アクセラレータ721等を含むことが可能である。これらのデバイスは、リード・オンリ・メモリ(ROM)723、ランダム・アクセス・メモリ(RAM)724、内部大容量ストレージ・デバイス(例えば、内的なユーザー・アクセス不能ハード・ドライブ、SSD等)722と共に、システム・バス748を介して接続されることが可能である。幾つかのコンピュータ・システムでは、システム・バス748は、追加のCPU、GPU等による拡張を可能にするために、1つ以上の物理的プラグの形態でアクセス可能である可能性がある。周辺デバイスは、コアのシステム・バス748に直接取り付けられるか、又は周辺バス716を介して、何れかにより取り付けられることが可能である。周辺バスのアーキテクチャは、PCI、USB等を含む。
【0118】
[0139] CPU718、GPU719、FPGA720、及びアクセラレータ721は、組み合わされて、前述のマシン・コード(又は、コンピュータ・コード)を構成することが可能な特定の命令を実行することが可能である。コンピュータ・コードは、ROM723又はRAM724に格納されることが可能である。一時的なデータはRAM724に格納されることも可能である一方、永続的なデータは例えば内的な大容量ストレージ722に格納されることが可能である。任意のメモリ・デバイスに対する高速な記憶及び検索は、キャッシュ・メモリを利用することで可能になる可能性があり、キャッシュ・メモリは、1つ以上のCPU718、GPU719、大容量ストレージ722、ROM723、RAM724等と密接に関連付けることが可能である。
【0119】
[0140] コンピュータ読み取り可能な媒体は、様々なコンピュータで実現される動作を実行するためのコンピュータ・コードをそこに有することが可能である。媒体及びコンピュータ・コードは、本開示の目的のために特別に設計及び構築されたものであるとすることが可能であり、又はそれらは、コンピュータ・ソフトウェアの分野における当業者にとって周知であり且つ入手可能な種類のものであるとすることが可能である。
【0120】
[0141] 例示として、限定ではなく、コンピュータ・システムのアーキテクチャ700を有するコンピュータ・システム、及び具体的にはコア717は、プロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)の結果として、1つ以上の有形のコンピュータ読み取り可能な媒体に具現化されたソフトウェアを実行する機能を提供することが可能である。そのようなコンピュータ読み取り可能な媒体は、コア内部の大容量ストレージ722又はROM723のような非一時的な性質のコア717の特定のストレージと同様に、上述したようなユーザー・アクセス可能な大容量ストレージに関連する媒体であるとすることが可能である。本開示の様々な実施形態を実現するソフトウェアは、そのようなデバイスに記憶され、コア717によって実行されることが可能である。コンピュータ読み取り可能な媒体は、特定のニーズに応じて、1つ以上のメモリ・デバイス又はチップを含むことが可能である。ソフトウェアは、RAM724に記憶されたデータ構造を定めること、及びソフトウェアによって定められたプロセスに従ってそのようなデータ構造を修正することを含む、本願で説明された特定のプロセス又は特定のプロセスの特定の部分を、コア717及び特にその中のプロセッサ(CPU、GPU、FPGA等を含む)に実行させることが可能である。更に又は代替として、コンピュータ・システムは、回路(例えば、アクセラレータ721)内に配線された又はその他の方法で具現化されたロジックの結果として機能を提供することが可能であり、そのロジックは、本願で説明された特定のプロセス又は特定のプロセスの特定の部分を実行することを、ソフトウェアの代わりに又はそれと共に実行することが可能である。ソフトウェアに対する言及はロジックを含み、必要に応じて、その逆も可能である。コンピュータ読み取り可能な媒体に対する言及は、実行のためのソフトウェアを記憶する(集積回路(IC)のような)回路、実行のためのロジックを具体化する回路、又は適切な場合にはそれら双方を包含することが可能である。本開示はハードウェア及びソフトウェアの適切な任意の組み合わせを包含する。
【0121】
[0142]
図7に示される構成要素の数と配置は一例として与えられている。実際には、入力ヒューマン・インターフェース・デバイスは、
図7に示されるものに対して、追加の構成要素、より少ない構成要素、相違する構成要素、又は別様に配置された構成要素を含む可能性がある。追加的又は代替的に、入力ヒューマン・インターフェース・デバイスの構成要素のセット(例えば、1つ以上の構成要素)は、入力ヒューマン・インターフェース・デバイスの構成要素の別のセットによって実行されるように説明される1つ以上の機能を実行する可能性がある。
【0122】
[0143] 実施形態では、
図1-6及び
図8-15の動作又はプロセスのうちの何れも、
図7に示す要素のうちの何れかによって又はそれを使用して実現されることが可能である。
【0123】
[0144]
図8は、複数のヘテロジニアス・クライアント・エンド・ポイントに応対する例示的なネットワーク・メディア配信システム800を示す。即ち、システム800は、クライアント・エンド・ポイントとして、様々なレガシー及びヘテロジニアス・イマーシブ・メディア対応ディスプレイをサポートしている。システム800は、コンテンツ取得モジュール801、コンテンツ準備モジュール802、及び送信モジュール803を含むことが可能である。
【0124】
[0145] コンテンツ取得モジュール801は、例えば、
図6及び/又は
図5で説明される実施形態を使用してソース・メディアを捕捉又は作成する。コンテンツ準備モジュール802は、次いで、送信モジュール803を使用してネットワーク・メディア配信システムへ送信される取り込みフォーマットを作成する。ゲートウェイ804は、ネットワークの様々なクライアント・エンド・ポイントへのネットワーク・アクセスを提供するために、加入者宅内機器に応対することが可能である。セット・トップ・ボックス805は、加入者宅内機器として機能し、ネットワーク・サービス・プロバイダによって集約されたコンテンツへのアクセスを提供する。無線復調器806は、例えばモバイル・ハンドセット・ディスプレイ813とともに示されているように、モバイル・デバイスに対するモバイル・ネットワーク・アクセス・ポイントとして機能することが可能である。システム800のこの特定の実施形態では、レガシー2Dテレビ807は、ゲートウェイ804、セット・トップ・ボックス805、又はWiFi(ルーター)808の何れかに直接的に接続されるように示されている。ラップトップ2Dディスプレイ809(即ち、レガシー2Dディスプレイを備えたコンピュータ又はラップトップ)は、WiFi(ルーター)808に接続されたクライアント・エンド・ポイントとして示されている。ヘッド・マウント型2D(ラスター・ベース)ディスプレイ810もWiFi(ルーター)808に接続されている。レンチキュラー・ライト・フィールド・ディスプレイ811は、ゲートウェイ804のうちの何れかに接続されるように示されている。レンチキュラー・ライト・フィールド・ディスプレイ811は、1つ以上のGPU 811A、ストレージ・デバイス811B、及び視覚プレゼンテーション構成要素811Cであって、光線ベースのレンチキュラー光学技術を使用して複数のビューを作成するものを含むことが可能である。ホログラフィック・ディスプレイ812は、セット・トップ・ボックス805に接続されるように示される。ホログラフィック・ディスプレイ812は、1つ以上のCPU 812A、GPU 812B、記憶装置812C、及び視覚化構成要素812Dを含むことが可能である。視覚化構成要素812Dは、フレネル・パターン、ウェーブ・ベースのホログラフィック・デバイス/ディスプレイであってもよい。拡張現実(augmented reality,AR)ヘッドセット814は、無線復調器806に接続されるように示されている。ARヘッドセット814は、GPU 814A、ストレージ・デバイス814B、バッテリ814C、及びボリューメトリック・ビジュアル・プレゼンテーション構成要素814Dを含むことが可能である。高密度ライト・フィールド・ディスプレイ815は、WiFi(ルーター)808に接続されるように示されている。高密度ライト・フィールド・ディスプレイ815は、1つ以上のGPU 815A、CPU 815B、ストレージ・デバイス815C、アイ・トラッキング・デバイス815D、カメラ815E、及び高密度光線ベース・ライト・フィールド・パネル815Fを含むことが可能である。
【0125】
[0146]
図8に示される構成要素の数と配置は一例として与えられている。実際には、システム800は、
図8に示されるものに対して、追加の構成要素、より少ない構成要素、相違する構成要素、又は別様に配置された構成要素を含む可能性がある。追加的又は代替的に、システム800の構成要素のセット(例えば、1つ以上の構成要素)は、デバイス又は個々のディスプレイの構成要素の別のセットによって実行されるように説明される1つ以上の機能を実行する可能性がある。
【0126】
[0147]
図9は、
図8において前述したように、レガシー及びヘテロジニアス・イマーシブ・メディア対応ディスプレイに応対することが可能なイマーシブ・メディア配信プロセス900の例示的なワークフローを示している。ネットワークによって実行されるイマーシブ・メディア配信プロセス900は、例えば、特定のイマーシブ・メディア・クライアント・エンド・ポイントによってメディアによって消費するメディアを(
図10を参照して説明されるように)適応させるネットワークのプロセスの前に、メディア取り込みフォーマットで表されている特定のメディアに関する適応情報を提供することが可能である。
【0127】
[0148] イマーシブ・メディア配信プロセス900は:破線912の左側におけるイマーシブ・メディア制作、及び、破線912の右側におけるイマーシブ・メディア・ネットワーク配信という2つの部分に分けることが可能である。イマーシブ・メディア制作とイマーシブ・メディア・ネットワーク配信は、ネットワーク又はクライアント・デバイスによって実行されることが可能である。
【0128】
[0149] メディア・コンテンツ901は、ネットワーク(又はクライアント・デバイス)によって又はコンテンツ・ソースから、作成又は取得される。データを作成又は取得する方法はそれぞれ自然及び合成コンテンツに関する
図5及び
図6に対応してもよい。作成されたコンテンツ901は、次いで、ネットワーク取り込みフォーマット作成プロセス902を使用して、取り込みフォーマットに変換される。ネットワーク取り込み作成プロセス902もそれぞれ自然及び合成コンテンツに関する
図5及び
図6に対応してもよい。また、取り込みフォーマットは、例えばメディア・コンプレキシティ・アナライザ911(
図10及び
図14Aを参照しながら後に詳述される)から、複数のシーンにわたって再利用される可能性のあるアセットに関する情報を保存するように更新されることも可能である。取り込みフォーマットは、ネットワークに送信され、取り込みメディア・ストレージ903(即ち、ストレージ・デバイス)に記憶される。一部の実施形態では、ストレージ・デバイスは、イマーシブ・メディア・コンテンツ制作者のネットワークにあり、イマーシブ・メディア・ネットワーク配信920のためにリモートでアクセスされる場合がある。クライアント及びアプリケーション固有の情報は、オプションとして、リモート・ストレージ・デバイスにおいて利用可能な、クライアント固有の情報904である。一部の実施形態では、クライアント固有情報904は、代替クラウド・ネットワークにおいてリモートで存在する場合があり、ネットワークに送信される場合がある。
【0129】
[0150] 次いで、ネットワーク・オーケストレータ905が実行される。ネットワーク・オーケストレーションは、ネットワークの主要なタスクを実行するための情報の主要なソース及びシンクとして機能する。ネットワーク・オーケストレータ905は、ネットワークの他の構成要素とともに統一されたフォーマットで実現されてもよい。ネットワーク・オーケストレータ905は、クライアント・デバイスとともに双-方向メッセージ・プロトコルを更に使用して、クライアント・デバイスの特性に応じてメディアの全ての処理と配信を促進するプロセスであるとすることが可能である。更に、双-方向プロトコルは、異なる配信チャネル(例えば、コントロール・プレーン・チャネル及び/又はデータ・プレーン・チャネル)にわたって実装される場合がある。
【0130】
[0151]
図9に示されるように、ネットワーク・オーケストレータ905は、クライアント・デバイス908の機能と属性に関する情報を受信する。ネットワーク・オーケストレータ905は、クライアント・デバイス908で現在動作しているアプリケーションに関する要件を収集する。この情報は、クライアント固有の情報904から取得されてもよい。一部の実施形態では、情報は、クライアント・デバイス908を直接的に照会することによって取得されてもよい。クライアント・デバイスが直接的に照会される場合、クライアント・デバイス908がネットワーク・オーケストレータ905と直接的に通信することができるように、双-方向プロトコルが存在して動作していることが前提とされる。
【0131】
[0152] ネットワーク・オーケストレータ905は、メディア適応断片化モジュール910(
図10で説明される)を始動して通信することも可能である。取り込みメディアは、メディア適応断片化モジュール910によって適応されて断片化されると、そのメディアは、配信用に準備されたメディア909のような中間ストレージ・デバイスに転送されてもよい。ネットワークがプレゼンテーションの状況で複数回使用されるアセット用のキャッシュを含むように設計されている場合、再利用されるメディア・アセット912用の別の中間ストレージ・デバイス冗長キャッシュが、そのようなアセットのキャッシュとして使用されてもよい。配信メディアが準備され、配信909用に準備されたメディア・ストレージ・デバイスに保存されると、ネットワーク・オーケストレータ905は、クライアント・デバイス908が、「プッシュ」リクエストを通じて配信メディア及び記述情報906を受信すること、又は、クライアント・デバイス908が、配信メディア及び記述情報906を、配信909用に準備された保存されたメディアからの「プル」リクエストを開始してもよいこと、を保証する。情報は、クライアント・デバイス908のネットワーク・インターフェース908Bを介して「プッシュ」又は「プル」されることが可能である。「プッシュ」又は「プル」された配信メディア及び記述情報906は、配信メディアに対応する記述情報であってもよい。
【0132】
[0153] 一部の実施形態では、ネットワーク・オーケストレータ905は、「プッシュ」リクエストを実行するため、又はクライアント・デバイス908による「プル」リクエストを開始するために、双-方向メッセージ・インターフェースを使用している。クライアント・デバイス908は、オプションとして、GPU 908C(又はCPU)を使用してもよい。
【0133】
[0154] 配信メディア・フォーマットは、次いで、クライアント・デバイス908に含まれるストレージ・デバイス又はストレージ・キャッシュ908Dに格納される。最終的に、クライアント・デバイス908は、視覚化構成要素908Aを介してメディアを視覚的に提示する。
【0134】
[0155] イマーシブ・メディアをクライアント・デバイス908にストリーミングするプロセスを通じて、ネットワーク・オーケストレータ905は、クライアントの進行状況とステータス・フィードバック・チャネル907を介して、クライアントの進行状況のステータスを監視する。一部の実施形態では、ステータスの監視は、双-方向通信メッセージ・インターフェースを介して実行されてもよい。
【0135】
[0156]
図10は、例えば、メディア適応分断化モジュール910によって実行されるメディア適応プロセス1000の例を示す。メディア適応プロセス1000を実行することによって、取り込みソース・メディアは、クライアント(例えば、クライアント・デバイス908)の要件に合致するように適切に適応させることが可能である
[0157]
図10に示すように、メディア適応プロセス1000は、取り込みメディアを、クライアント・デバイス908に対する適切な配信フォーマットに、適応させることを促進する複数の構成要素を含む。
図10に示す構成要素は、例示として考えられるべきである。実際には、メディア適合プロセス1000は、
図10に示されるものに対して、追加の構成要素、より少ない構成要素、相違する構成要素、又は別様に配置された構成要素を含む可能性がある。追加的又は代替的に、メディア適合プロセス1000の構成要素のセット(例えば、1つ以上の構成要素)は、構成要素の別のセットによって実行されるように説明される1つ以上の機能を実行する可能性がある。
【0136】
[0158]
図10では、適応モジュール1001は、ネットワーク上の現在のトラフィック負荷を追跡するために、入力ネットワーク・ステータス1005を受信する。前述のように、適応モジュール1001はネットワーク・オーケストレータ905からの情報も受信する。情報は、クライアント・デバイス908の属性と特徴の説明、アプリケーションの特徴と説明、アプリケーションの現在のステータス、及びクライアントNNモデル(利用可能な場合)を含み、クライアントの錐台の幾何学形状を、取り込みイマーシブ・メディアの補間機能にマッピングすることに役立つ可能性がある。このような情報は、双-方向メッセージ・インターフェースを使用することにより取得されることが可能である。適応モジュール1001は、適応された出力が(それが作成された場合に)、クライアント適応メディア1006を格納するためのストレージ・デバイスに格納されることを保証する。
【0137】
[0159] メディア・コンプレキシティ・アナライザ911は、メディアの配信のためにネットワーク自動化プロセスの一部として又は事前に実行されてもよいオプション・プロセスであるとすることが可能である。メディア・コンプレキシティ・アナライザ911は、取り込みメディア・フォーマットとアセットを、ストレージ・デバイス(1002)に保存することが可能である。次いで、取り込みメディア・フォーマットとアセットは、適応モジュール1001へ、ストレージ・デバイス(1002)から伝送されることが可能である。
【0138】
[0160] 適応モジュール1001は、ロジック・コントローラ1001Fによって制御されることが可能である。適応モジュール1001は、特定の取り込み元メディアを、クライアントに適したフォーマットに適応させるために、レンダラー1001B又はプロセッサ1001Cを使用することが可能である。プロセッサ1001CはNNベースのプロセッサであってもよい。プロセッサ1001CはNNモデル1001Aを使用する。このようなプロセッサ1001Cの例は、MPI及びMSIにおいて説明されているようなディープビューNNモデル・ジェネレータ(Deepview NN model generator)を含む。メディアは2Dフォーマットであるが、クライアントは3Dフォーマットを有する必要がある場合、プロセッサ1001Cは、2Dビデオ信号の中から、高度に相関のある画像を使用して、メディアで描写されるシーンのボリューメトリック表現を導出するプロセスを起動することが可能である。
【0139】
[0161] レンダラー1001Bは、音響物理、光物理、視覚認識、音声認識、数学、及びソフトウェア開発に関連する分野の選択的な混合に基づいたソフトウェア・ベース(又はハードウェア・ベース)のアプリケーション又はプロセスであってもよく、これは、入力シーン・グラフとアセット・コンテナが与えられた場合に、ターゲット・デバイスでのプレゼンテーションに適した、又は、シーン・グラフ内のレンダー・ターゲット・ノードの属性によって指定される所望の特性に準拠した、(典型的には)視覚的及び/又は聴覚的な信号を送出する。視覚ベースのメディア・アセットの場合、レンダラーは、ターゲット・ディスプレイのために又は中間アセットのようなストレージのために、適切な視覚信号を送出することが可能である(例えば、別のコンテナに再パッケージされ、グラフィックス・パイプラインにおける一連のレンダリング・プロセスで使用される)。音響ベースのメディア・アセットの場合、レンダラーは、マルチ・チャネル拡声器やバイノーラル化ヘッドフォンでのプレゼンテーションのために、又は別の(出力)コンテナへの再パッケージのために、オーディオ信号を送出することが可能である。レンダラーは、例えば、ソース及びクロス・プラットフォーム・ゲーム・エンジンのリアル・タイム・レンダリング機能を含む。レンダラーは、シーン・グラフ・ノードに施された動的な入力及び変数状態変更を処理するために、実行時にレンダラーによって実行される可能性のあるスクリプト言語(即ち、インタプリタ型プログラミング言語)を含む可能性がある。動的な入力及び変数状態変更は、空間的及び時間的なオブジェクト・トポロジ(物理的な力、制約、逆運動学、変形、衝突を含む)のレンダリングと評価、及び、エネルギー伝播と伝送(光、音)に影響を与える可能性がある。空間的及び時間的なオブジェクト・トポロジの評価は或る結果を生成し、その結果は、出力を抽象的なものから具体的なものへ移す結果を生成する(例えば、ウェブページのドキュメント・オブジェクト・モデルの評価に似ている)。
【0140】
[0162] レンダラー1001Bは、例えば、適応モジュール1001と直接的にやり取りを行うように修正されたOTOYオクタン・レンダラー(OTOY Octane renderer)の修正バージョンであってもよい。一部の実施形態では、レンダラー1001Bは、シーンの照明が現実に忠実であるように、3次元シーンをレンダリングするコンピュータ・グラフィックス手法(例えば、パス・トレーシング)を実施する。一部の実施形態では、レンダラー1001Bはシェーダーであってもよい(即ち、シェーディング(画像内の適切なレベルの光、闇、色の生成)に元来使用されていたが、現在ではコンピュータ・グラフィックス特殊効果のさまざまな分野でさまざまな特殊機能を実行したり、シェーディングとは関係のないビデオの後処理を行ったり、グラフィックスとは関係のない他の機能を実行したりするコンピュータ・プログラムの一種であってもよい)。
【0141】
[0163] 適応モジュール1001は、取り込みメディアのフォーマットとクライアント・デバイス908が必要とするフォーマットとに基づいて、圧縮と圧縮解除の必要性に応じて、それぞれメディア圧縮部1001Dとメディア圧縮解除部1001Eを使用することで、メディア・コンテンツの圧縮と圧縮解除を行うことが可能である。メディア圧縮部1001Dは、メディア・エンコーダであってもよく、メディア圧縮解除部1001Eはメディア・デコーダであってもよい。(必要に応じて)圧縮と圧縮解除を実行した後に、適応モジュール1001は、ストリーミング又は配信に最適なクライアント適応メディア1006を、クライアント・デバイス908へ出力する。クライアント適応メディア1006は、適応メディアを格納するストレージ・デバイスに格納されることが可能である。
【0142】
[0164]
図11Aは、例示的な配信フォーマット作成プロセス1100を示している。
図11Aに示すように、配信フォーマット作成プロセス1100は、メディア適応モジュール1101及び適応メディア・パッケージング・モジュール1103であって、メディア適応プロセス1000からのメディア出力をパッケージ化し、クライアント適応メディア1006として格納するものを含む。メディア・パッケージング・モジュール1103は、クライアント適応メディア1006からの適応メディアを、堅牢な配信フォーマット1104にフォーマット化する。配信フォーマットは、例えば、
図3A又は
図4Aに示される例示的なフォーマットであってもよい。情報マニフェスト1104Aは、クライアント・デバイス908に、シーン・データ・アセット1104Bのリストを提供することが可能である。シーン・データ・アセット1104Bのリストは、プレゼンテーションを構成するシーンのセットにわたって各アセットが使用されるコンプレキシティを記述するメタデータを含むことも可能である。シーン・データ・アセット1104Bのリストは、視覚アセット、聴覚アセット、及び触覚アセットのリストを表し、各自それぞれの対応するメタデータを有する。この例示的な実施形態では、シーン・データ・アセット1104Bのリスト内の各アセットはメタデータを参照し、メタデータは、プレゼンテーションを構成する全てのシーンにわたってクライアントがアセットを処理するために費やすことになる時間とリソースの量を特徴付ける数値コンプレキシティ尺度値を含む。
【0143】
[0165]
図11Bは、順序付けられたコンプレキシティ・プロセス1110を用いる配信フォーマットの作成を示す。順序付けられたコンプレキシティ・プロセス1110を用いる配信フォーマットの作成は、
図11Aのものと同様な構成要素を含む。そのため、ここでは
図11Bに関連する繰り返しの説明は省略される。メディア・パッケージング・モジュール11043はメディア・パッケージング・モジュール1103に類似している。しかしながら、メディア・パッケージング・モジュール11043は、コンプレキシティ尺度に基づいてシーン・データ・アセット11044Bのリスト内のアセットを順序付ける。例えば、シーン・データ・アセット11044Bのリスト内の視覚アセットはコンプレキシティを増やす順序で並べられる一方、シーン・データ・アセット1104Bのリスト内の聴覚及び触覚アセットはコンプレキシティを減らす順序で並べられることが可能であり、その逆もまた可能である。
図11に示すように、配信フォーマット11044のアセットは、先ずアセット・タイプによって、次いで、アセットがプレゼンテーション全体にわたって使用されるコンプレキシティによって、例えばアセット・タイプ(即ち、視覚、触覚、聴覚など)に基づいてコンプレキシティの値が上昇又は下降する順序で順序付けられる。情報マニフェスト11044Aは、受信を期待することが可能なシーン・データ・アセット11044Bのリストと、プレゼンテーション全体を含むシーンのセットにわたって全てのアセットが使用されるコンプレキシティを示すオプションのメタデータとを、クライアント・デバイス908に提供する。シーン・データ・アセット11044Bのリストは、視覚アセット、聴覚アセット、及び触覚アセットのリストを含み、各自おのおの対応するメタデータを有する。
【0144】
[0166] メディアは、ストリーミング前に更にパケット化される場合がある。
図12は、例示的なパケット化プロセス1200を示す。パケット化システム1200は、パケット化部1202を含む。パケット化部1202は、シーン・データ・アセット1104B(又は11044B)のリストを、入力メディア1201(
図12に示されるもの)として受信してもよい。一部の実施形態では、クライアント適応型メディア1006又は配信フォーマット1104がパケット化部1202に入力される。パケット化部1202は、ネットワーク上のクライアント・デバイス908へのストリーミング及び表現に適した個々のパケット1203に、入力メディア1201を分離する。
【0145】
[0167]
図13は、実施形態による構成要素間のデータ及び通信フローの一例を示すシーケンス図である。
図13のシーケンス図は、取り込みフォーマットにおける特定のイマーシブ・メディアを、特定のイマーシブ・メディア・クライアントのエンド・ポイントに対してストリーミング可能で適切な配信フォーマットに適応させるネットワークのものである。データ及び通信のフローは次のようなものであってもよい。
【0146】
[0168] クライアント・デバイス908は、ネットワーク・オーケストレータ905へのメディア・リクエスト1308を開始する。一部の実施形態では、リクエストは、クライアント・デバイスのネットワーク配信インターフェースに対して行われてもよい。メディア・リクエスト1308は、クライアント・デバイス908によってリクエストされたメディアを識別するための情報を含む。メディア・リクエストは、例えば、ユニフォーム・リソース名(Uniform Resource Name,URN)又は別の標準的な命名法によって識別されてもよい。次いで、ネットワーク・オーケストレータ905は、プロファイル・リクエスト1309を用いてメディア・リクエスト1308に応答する。プロファイル・リクエスト1309は、クライアントが現在使用可能なリソース(演算、記憶、バッテリ充電率、及び、クライアントの現在の動作状態を特徴付けるその他の情報を含む)に関する情報を提供することを要求する。プロファイル・リクエスト1309はまた、クライアントのプレゼンテーション・システムの機能に合致する正しいメディア・ビューを抽出又は補間するNN推論のために、ネットワークで使用される可能性のある1つ以上のNNモデルを、そのようなNNモデルがクライアントのエンド・ポイントで使用可能である場合に、クライアントが提供することも要求する。
【0147】
[0169] 次いで、クライアント・デバイス908は、クライアント・デバイス908からネットワーク・オーケストレータ905への応答1310に続き、クライアント・トークン、アプリケーション・トークン、及び1つ以上のNNモデル・トークン(そのようなNNモデル・トークンがクライアント・エンド・ポイントで使用可能である場合)として提供される。次いで、ネットワーク・オーケストレータ905は、クライアント・デバイスに、セッションIDトークン1311を提供する。ネットワーク・オーケストレータ905は、次いで、取り込みメディア・サーバー1303からの取り込みメディア1312を要求する。取り込みメディア・サーバー1303は、例えば、取り込みメディア・ストレージ903又は取り込みメディア・フォーマット及びアセット、ストレージ・デバイス1002を含むことが可能である。取り込みメディア1312のリクエストは、リクエスト1308で特定されるメディアのURN又はその他の標準名を含めることも可能である。取り込みメディア・サーバー1303は、取り込みメディア1312リクエストに、取り込みメディア・トークンを含む応答1313で応答する。ネットワーク・オーケストレータ905は、次いで、応答1313からのメディア・トークンを、コール1314においてクライアント・デバイス908に提供する。ネットワーク・オーケストレータ905は、次いで、適応断片化モジュール910に、取り込みメディア・トークン、クライアント・トークン、アプリケーション・トークン、及びNNモデル・トークンを提供することにより、リクエスト1315において、リクエストされたメディアの適応プロセスを開始する。適応断片化モジュール910は、リクエスト1316において取り込みメディア・トークンを取り込みメディア・サーバー1303へ提供し、取り込みメディア・アセットへのアクセスを要求することによって、取り込みメディアへのアクセスを要求する。
【0148】
[0170] 取り込みメディア・サーバー1303は、適応断片化モジュール910への応答1317において、取り込みメディア・アクセス・トークンを用いてリクエスト1316に応答する。次いで、適応断片化モジュール910は、メディア適応プロセス1000が、応答1313で作成され送信されたセッションIDトークンに対応するクライアント、アプリケーション、及びNN推論モデルに関する取り込みメディア・アクセス・トークンにおいて突き止められる取り込みメディアを適応することを要求する。適応断片化モジュール910からメディア適応プロセス1000へのリクエスト1318が行われる。リクエスト1318は、必要なトークンとセッションIDを含む。メディア適応プロセス1000は、ネットワーク・オーケストレータ905に、適合したメディア・アクセス・トークン及びセッションIDを、更新応答1319において提供する。次いで、ネットワーク・オーケストレータ905は、メディア・パッケージング・モジュール11043に、適合させたメディア・アクセス・トークンとセッションIDを、インターフェース・コール1320において提供する。メディア・パッケージング・モジュール11043は、ネットワーク・オーケストレータ905への応答1321を、パッケージ化されたメディア・アクセス・トークン及びセッションIDを用いて応答1321において提供する。次いで、メディア・パッケージング・モジュール11043は、応答1322において、パッケージ化されたアセット、URN、及びセッションIDのパッケージ化されたメディア・アクセス・トークンを、保存されるようにパッケージ化メディア・サーバー1307へ提供する。以後、クライアント・デバイス908は、パッケージ済メディア・サーバー1107に対するリクエスト1323を実行し、応答1321において受信されるパッケージ化されたメディア・アクセス・トークンに対応するメディア・アセットのストリーミングを開始する。最終的に、クライアント・デバイス908は、他のリクエストを実行し、ネットワーク・オーケストレータ905に対するメッセージ1324において、ステータス更新を提供する。
【0149】
[0171]
図14Aは、
図9に示されるメディア・コンプレキシティ・アナライザ911のワークフローを示す。メディア・コンプレキシティ・アナライザ911は、メディア・データに含まれるシーンのオブジェクトの一意性(uniqueness)に関するメタデータを分析する。
【0150】
[0172] 処理1401において、初期化を開始することが可能である。処理1402において、メディア・アセット・データが潜在的に読み取られる。1403において、メディア・アセット・データは首尾良く読み込まれたかどうかが判断される。メディア・アセット・データが首尾良く読み込まれなかった場合、処理は1409において終了する。しかしながら、メディア・アセット・データが首尾良く読み込まれた場合、処理は1404に続く。1404において、読み込み又はデータ検索が実行され、メディア・アセット・データからコンプレキシティ属性が取得される。次いで、1404において取得されたデータが解析され、メディア・アセットを記述する属性にアクセスする。各々の属性は、処理1405への入力として提供される。1405において、1404からのデータが検査され、事前に特定されているコンプレキシティ属性1410のリスト中の何れかであるかどうかが判断される。このようなコンプレキシティ属性1410は、
オブジェクトのサイズ(オブジェクトを処理するために必要とされるストレージの量に影響する);
GPUにより必要とされる処理量のインジケータとなる可能性がある、オブジェクトに関するポリゴンの数;
GPU又はCPUにより必要とされる処理量のインジケータとなる可能性がある、固定小数点_v.s._浮動小数点の数値表現;
GPU又はCPUにより必要とされる処理量のインジケータとなる可能性があるビット深度;
処理中のデータ値のサイズのインジケータとなる可能性がある単精度_v.s._倍精度の浮動小数点数値表現;
シーンに光がどのように配分されるかについての物理をモデル化するプロセスにシーンが行うことを必要とすることを示す可能性がある配光関数(light distribution function)の存在;
光の物理をモデル化するための配光関数のコンプレキシティを示す可能性がある配光関数のタイプ;
オブジェクトがシーン内に(回転、並進、及びスケーリングにより)配置される方法のコンプレキシティを示す可能性がある場合に必要とされる変換プロセス;
を含む可能性がある。属性がコンプレキシティ属性である場合、処理は1406に進み、それ以外の場合は1407に移る。1406において、コンプレキシティ属性の値を取得し、その値をメディア・アセットのコンプレキシティ・サマリー・エリアに格納する。1407において、メディア・アセットから読み込まれる属性が更に存在するかどうかを判断することが可能である。更に読み込まれる属性が存在しない場合、処理は1408に進み、オブジェクトのコンプレキシティ・サマリーを、オブジェクトを含むシーンのコンプレキシティ・データを格納するために識別されたエリアに書き込む。
【0151】
[0173] 本開示は幾つかの例示的な実施形態を説明してきたが、本開示の範囲内に該当する変更、置換、及び様々な代用可能な均等物が存在する。従って、当業者は、本件で明示的に図示も説明もされていないが、本開示の原則を具体化し、従ってその精神及び範囲内にある多数のシステム及び方法を案出することができであろう、ということは認められるであろう。
【0152】
[0174] <付記>
(付記1)
メディア・ストリーミング・ネットワークにおけるメディア配信を最適化するために少なくとも1つのプロセッサにより実行されるメディア・パッケージング方法であって:
メディア・ストリーミング・サーバーが、1つ以上のシーンに関連する1つ以上のイマーシブ・メディア・アセットを含むイマーシブ・メディア・ストリームを受信するステップ;
前記1つ以上のイマーシブ・メディア・アセットのサブセットであって、前記1つ以上のシーンにおける個々のシーンの本質的要素を含むサブセットを識別するステップ;
前記個々のシーンの本質的要素を含む、前記1つ以上のイマーシブ・メディア・アセットのうちの識別されたサブセットに基づいて、前記1つ以上のイマーシブ・メディア・アセットを或るシーケンスで順序付けるステップ;及び
前記1つ以上のイマーシブ・メディア・アセットをその順序付けられたシーケンスで前記メディア・ストリーミング・サーバーからクライアント・デバイスへストリーミングするステップ;
を含む方法。
【0153】
(付記2)
付記1に記載の方法において、更に:
1つ以上の個々の属性のうちの少なくとも1つがコンプレキシティ属性リストに存在する旨の判断に基づいて、前記1つ以上のイマーシブ・メディア・アセットに関連する個々のコンプレキシティ尺度と個々のアセット・タイプとを決定するステップ;及び
前記1つ以上のイマーシブ・メディア・アセットに関連する個々のコンプレキシティ尺度と個々のアセット・タイプとに基づいて、前記1つ以上のイマーシブ・メディア・アセットを或るシーケンスで順序付けるステップ;
を含む方法。
【0154】
(付記3)
付記2に記載の方法において、前記1つ以上のイマーシブ・メディア・アセットのシーケンスは、先ず前記アセット・タイプにより順序付けられ、次いで個々のコンプレキシティ尺度により順序付けられている、方法。
【0155】
(付記4)
付記2に記載の方法において、前記方法は、更に:
前記1つ以上の個々の属性のうちの1つより多くのものが前記コンプレキシティ属性リストに存在する旨の判断に基づいて、前記メディア・ストリーミング・サーバーが、前記1つ以上のシーンに関連するアセット・コンプレキシティ分析を行うステップ;
を含む方法。
【0156】
(付記5)
付記2に記載の方法において、前記1つ以上のイマーシブ・メディア・アセットに関連する1つ以上の個々の属性は、イマーシブ・メディア・アセットのサイズ、前記イマーシブ・メディア・アセットにおけるポリゴンの数、ビット深度、又は必要とされる変換のタイプのうちの少なくとも1つを含む、方法。
【0157】
(付記6)
付記5に記載の方法において、前記1つ以上のイマーシブ・メディア・アセットの各々に関連する個々のコンプレキシティ尺度は、前記1つ以上のイマーシブ・メディア・アセットの各々に関連する1つ以上の個々の属性に基づいている、方法。
【0158】
(付記7)
付記5に記載の方法において、前記1つ以上のイマーシブ・メディア・アセットのうちのイマーシブ・メディア・アセットに関連する個々のコンプレキシティ尺度は、前記コンプレキシティ属性リストに存在する、前記イマーシブ・メディア・アセットの1つ以上の個々の属性に基づいている、方法。
【0159】
(付記8)
メディア・ストリーミング・ネットワークにおけるメディア配信を最適化するメディア・ストリーミング・サーバーであって:
コンピュータ・プログラム・コードを記憶するように構成された少なくとも1つのメモリ;及び
前記コンピュータ・プログラム・コードを読み込み、前記コンピュータ・プログラム・コードにより指示されるように動作するように構成されている少なくとも1つのプロセッサ;
を含み、前記コンピュータ・プログラム・コードは:
1つ以上のシーンに関連する1つ以上のイマーシブ・メディア・アセットを含むイマーシブ・メディア・ストリームを受信するステップを、前記少なくとも1つのプロセッサに実行させるように構成された第1の受信コード;
前記1つ以上のイマーシブ・メディア・アセットのサブセットであって、前記1つ以上のシーンにおける個々のシーンの本質的要素を含むサブセットを識別するステップを、前記少なくとも1つのプロセッサに実行させるように構成された識別コード;
前記個々のシーンの本質的要素を含む、前記1つ以上のイマーシブ・メディア・アセットのうちの識別されたサブセットに基づいて、前記1つ以上のイマーシブ・メディア・アセットを或るシーケンスで順序付けるステップを、前記少なくとも1つのプロセッサに実行させるように構成された順序付けコード;及び
前記1つ以上のイマーシブ・メディア・アセットをその順序付けられたシーケンスで前記メディア・ストリーミング・サーバーからクライアント・デバイスへストリーミングするステップを、前記少なくとも1つのプロセッサに実行させるように構成されたストリーミング・コード;
を含む、メディア・ストリーミング・サーバー。
【0160】
(付記9)
付記8に記載のメディア・ストリーミング・サーバーにおいて、前記コンピュータ・プログラム・コードは、更に:
1つ以上の個々の属性のうちの少なくとも1つがコンプレキシティ属性リストに存在する旨の判断に基づいて、前記1つ以上のイマーシブ・メディア・アセットに関連する個々のコンプレキシティ尺度と個々のアセット・タイプとを決定するステップを、前記少なくとも1つのプロセッサに実行させるように構成された決定コード;
を含み、前記シーケンスは、前記1つ以上のイマーシブ・メディア・アセットに関連する個々のコンプレキシティ尺度と個々のアセット・タイプとに基づいて順序付けられている、メディア・ストリーミング・サーバー。
【0161】
(付記10)
付記9に記載のメディア・ストリーミング・サーバーにおいて、前記1つ以上のイマーシブ・メディア・アセットのシーケンスは、先ず前記アセット・タイプにより順序付けられ、次いで個々のコンプレキシティ尺度により順序付けられている、メディア・ストリーミング・サーバー。
【0162】
(付記11)
付記9に記載のメディア・ストリーミング・サーバーにおいて、前記コンピュータ・プログラム・コードは、更に:
前記1つ以上の個々の属性のうちの1つより多くのものが前記コンプレキシティ属性リストに存在する旨の判断に基づいて、前記1つ以上のシーンに関連するアセット・コンプレキシティ分析を行うステップを、前記少なくとも1つのプロセッサに実行させるように構成された生成コード;
を含む、メディア・ストリーミング・サーバー。
【0163】
(付記12)
付記9に記載のメディア・ストリーミング・サーバーにおいて、前記1つ以上のイマーシブ・メディア・アセットに関連する1つ以上の個々の属性は、イマーシブ・メディア・アセットのサイズ、前記イマーシブ・メディア・アセットにおけるポリゴンの数、ビット深度、又は必要とされる変換のタイプのうちの少なくとも1つを含む、メディア・ストリーミング・サーバー。
【0164】
(付記13)
付記12に記載のメディア・ストリーミング・サーバーにおいて、前記1つ以上のイマーシブ・メディア・アセットの各々に関連する個々のコンプレキシティ尺度は、前記1つ以上のイマーシブ・メディア・アセットの各々に関連する1つ以上の個々の属性に基づいている、メディア・ストリーミング・サーバー。
【0165】
(付記14)
付記12に記載のメディア・ストリーミング・サーバーにおいて、前記1つ以上のイマーシブ・メディア・アセットのうちのイマーシブ・メディア・アセットに関連する個々のコンプレキシティ尺度は、前記コンプレキシティ属性リストに存在する、前記イマーシブ・メディア・アセットの1つ以上の個々の属性に基づいている、メディア・ストリーミング・サーバー。
【0166】
(付記15)
命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は、メディア・ストリーミング・ネットワークにおけるメディア配信を最適化するために、メディアをパッケージングするメディア・ストリーミング・サーバーの少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに:
1つ以上のシーンに関連する1つ以上のイマーシブ・メディア・アセットを含むイマーシブ・メディア・ストリームを受信するステップ;
前記1つ以上のイマーシブ・メディア・アセットのサブセットであって、前記1つ以上のシーンにおける個々のシーンの本質的要素を含むサブセットを識別するステップ;
前記個々のシーンの本質的要素を含む、前記1つ以上のイマーシブ・メディア・アセットのうちの識別されたサブセットに基づいて、前記1つ以上のイマーシブ・メディア・アセットを或るシーケンスで順序付けるステップ;及び
前記1つ以上のイマーシブ・メディア・アセットをその順序付けられたシーケンスで前記メディア・ストリーミング・サーバーからクライアント・デバイスへストリーミングするステップ;
を行わせる、非一時的なコンピュータ読み取り可能な記憶媒体。
【0167】
(付記16)
付記15に記載の非一時的なコンピュータ読み取り可能な記憶媒体において、前記命令は、前記少なくとも1つのプロセッサに、更に:
1つ以上の個々の属性のうちの少なくとも1つがコンプレキシティ属性リストに存在する旨の判断に基づいて、前記1つ以上のイマーシブ・メディア・アセットに関連する個々のコンプレキシティ尺度と個々のアセット・タイプとを決定するステップを実行させ、
前記シーケンスは、前記1つ以上のイマーシブ・メディア・アセットに関連する個々のコンプレキシティ尺度と個々のアセット・タイプとに基づいて順序付けられている、非一時的なコンピュータ読み取り可能な記憶媒体。
(付記17)
付記16に記載の非一時的なコンピュータ読み取り可能な記憶媒体において、前記1つ以上のイマーシブ・メディア・アセットのシーケンスは、先ず前記アセット・タイプにより順序付けられ、次いで個々のコンプレキシティ尺度により順序付けられている、非一時的なコンピュータ読み取り可能な記憶媒体。
【0168】
(付記18)
付記16に記載の非一時的なコンピュータ読み取り可能な記憶媒体において、前記命令は、前記少なくとも1つのプロセッサに、更に:
前記1つ以上の個々の属性のうちの1つより多くのものが前記コンプレキシティ属性リストに存在する旨の判断に基づいて、前記メディア・ストリーミング・サーバーが、前記1つ以上のシーンに関連するアセット・コンプレキシティ分析を行うステップを実行させる、非一時的なコンピュータ読み取り可能な記憶媒体。
【0169】
(付記19)
付記15に記載の非一時的なコンピュータ読み取り可能な記憶媒体において、前記1つ以上のイマーシブ・メディア・アセットに関連する1つ以上の個々の属性は、イマーシブ・メディア・アセットのサイズ、前記イマーシブ・メディア・アセットにおけるポリゴンの数、ビット深度、又は必要とされる変換のタイプのうちの少なくとも1つを含む、非一時的なコンピュータ読み取り可能な記憶媒体。
【0170】
(付記20)
付記19に記載の非一時的なコンピュータ読み取り可能な記憶媒体において、前記1つ以上のイマーシブ・メディア・アセットの各々に関連する個々のコンプレキシティ尺度は、前記1つ以上のイマーシブ・メディア・アセットの各々に関連する1つ以上の個々の属性に基づいている、非一時的なコンピュータ読み取り可能な記憶媒体。
【国際調査報告】