(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-06
(54)【発明の名称】資産フォーマットの転換のための即時メディアデータ複雑性アナライザ
(51)【国際特許分類】
H04N 21/24 20110101AFI20240228BHJP
H04N 21/845 20110101ALI20240228BHJP
【FI】
H04N21/24
H04N21/845
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023555127
(86)(22)【出願日】2022-10-25
(85)【翻訳文提出日】2023-09-08
(86)【国際出願番号】 US2022047672
(87)【国際公開番号】W WO2023081037
(87)【国際公開日】2023-05-11
(32)【優先日】2021-11-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-10-19
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ヒンズ,アリアンヌ
(72)【発明者】
【氏名】アビシェーク,ロヒット
(72)【発明者】
【氏名】ウェンジャー,ステファン
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164MB11S
5C164MB43P
5C164SB01S
5C164SB41P
5C164SC01S
5C164YA21
(57)【要約】
少なくとも1つのプロセッサによって実行されるメディアストリーム(またはメディアデータ)中のシーンのオブジェクトの複雑性を分析することが提供され、コンテンツソースから複数のシーンを含む没入型メディアデータを受信することと、没入型メディアデータから複数のシーン内のそれぞれのシーンのそれぞれのオブジェクトを取得することと、それぞれのシーンのそれぞれのオブジェクトに関連する複雑性情報を生成するためにそれぞれのシーンを分析することと、それぞれのシーンのそれぞれのオブジェクトに関連するメタデータを生成することであって、メタデータは、複雑性情報を含む、メタデータを生成することと、生成されるメタデータに基づく処理のためにそれぞれのシーンをクライアントに配信するかどうかを決定することとを含む。
【特許請求の範囲】
【請求項1】
シーンのオブジェクトの複雑性を分析するために少なくとも1つのプロセッサによって実行される方法であって、
コンテンツソースから複数のシーンを含む没入型メディアデータを受信することと、
前記没入型メディアデータから前記複数のシーン内のそれぞれのシーンのそれぞれのオブジェクトを取得することと、
前記それぞれのシーンの前記それぞれのオブジェクトと関連付けられる複雑性情報を生成するために前記それぞれのシーンを分析することと、
前記それぞれのシーンの前記それぞれのオブジェクトと関連付けられるメタデータを生成することであって、前記メタデータは、前記複雑性情報を含む、生成することと、
前記生成されるメタデータに基づく処理のために前記それぞれのシーンをクライアントに配信するかどうかを決定することと、を含む、
方法。
【請求項2】
前記それぞれのオブジェクトから属性情報を獲得することをさらに含む、請求項1に記載の方法。
【請求項3】
前記属性情報が事前定義された複雑性属性のリスト内の1つ以上の複雑性属性に関係するかどうかを識別することと、
前記事前定義された複雑性属性の前記リスト内の前記1つ以上の複雑性属性に関連する少なくとも1つの値を導出することと、
前記属性情報と関連する前記少なくとも1つの値を格納すること、および前記それぞれのオブジェクトについての複雑性要約を生成することと、をさらに含む、
請求項2に記載の方法。
【請求項4】
前記それぞれのオブジェクトは、前記オブジェクトの基本表現と、オブジェクト強化層のセットとを含み、該オブジェクト強化層のセットは、前記オブジェクトの属性に対応する前記属性情報を含み、
前記オブジェクト強化層のセットが、前記オブジェクトの前記基本表現に適用されるときに、前記オブジェクトの前記基本表現は、前記オブジェクトの前記基本表現を含む基本層において支持されない構成を含むように増強される、
請求項2に記載の方法。
【請求項5】
少なくとも1つのオブジェクトについての少なくとも1つの複雑性情報を前記それぞれのシーンについての複雑性要約に集約することであって、前記それぞれのシーンは、1つ以上のオブジェクトを含む、集約することと、
前記それぞれのシーンについての前記複雑性要約を前記それぞれのシーンのビットストリーム内の事前定義された場所に書き込むことと、をさらに含む、
請求項3に記載の方法。
【請求項6】
前記それぞれのシーンに対応する前記没入型メディアデータのフォーマットが、前記それぞれのシーンについての前記複雑性要約に基づいて、クライアントデバイスへの配信前に、第1のフォーマットから第2のフォーマットに転換されるべきかどうかを決定することをさらに含む、請求項3に記載の方法。
【請求項7】
前記それぞれのシーンに対応する前記没入型メディアデータが転換されるべきであるという決定に基づいて、前記コンテンツソースまたは前記クライアントデバイスが前記第1のフォーマットから前記第2のフォーマットへの転換を実行するべきかどうかを決定することをさらに含む、請求項6に記載の方法。
【請求項8】
シーンのオブジェクトの複雑性を分析するためのデバイスであって、
コンピュータプログラムコードを格納するように構成される少なくとも1つのメモリと、
前記コンピュータプログラムコードを読み出して、前記コンピュータプログラムコードによって命令されるように動作するように構成される、少なくとも1つのプロセッサと、を含み、前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、コンテンツソースから複数のシーンを含む没入型メディアデータを受信させるように構成される、受信コードと、
前記少なくとも1つのプロセッサに、前記没入型メディアデータから、前記複数のシーン内のそれぞれのシーンのそれぞれのオブジェクトを取得させるように構成される、取得コードと、
前記少なくとも1つのプロセッサに、前記それぞれのシーンの前記それぞれのオブジェクトと関連付けられる複雑性情報を生成させるために、前記それぞれのシーンを分析させるように構成される、分析コードと、
前記少なくとも1つのプロセッサに、前記それぞれのシーンの前記それぞれのオブジェクトと関連付けられるメタデータを生成させるように構成される、生成コードであって、前記メタデータは、前記複雑性情報を含む、生成コードと、
前記少なくとも1つのプロセッサに、前記生成されるメタデータに基づく処理のために、前記それぞれのシーンをクライアントに配信するかどうかを決定させる、決定コードと、を含む、
デバイス。
【請求項9】
前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサに、前記それぞれのオブジェクトから属性情報を獲得させるように構成される、獲得コードをさらに含む、請求項8に記載のデバイス。
【請求項10】
前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、前記属性情報が事前定義された複雑性属性のリスト内の1つ以上の複雑性属性に関連するかどうかを識別させるように構成される、識別コードと、
前記少なくとも1つのプロセッサに、前記事前定義された複雑性属性の前記リスト内の前記1つ以上の複雑性属性に関連する少なくとも1つの値を導出させるように構成される、導出コードと、
前記少なくとも1つのプロセッサに、前記属性情報と関連する前記少なくとも1つの値を格納させるように構成される、格納コード、および前記それぞれのオブジェクトのための複雑性要約を生成すること、をさらに含む、
請求項9に記載のデバイス。
【請求項11】
前記それぞれのオブジェクトは、前記オブジェクトの基本表現と、オブジェクト強化層のセットとを含み、該オブジェクト強化層のセットは、前記オブジェクトの属性に対応する前記属性情報を含み、
前記オブジェクト強化層のセットが前記オブジェクトの前記基本表現に適用されるときに、前記オブジェクトの前記基本表現は、前記オブジェクトの前記基本表現を含む基本層において支持されない構成を含むように増強される、
請求項9に記載のデバイス。
【請求項12】
前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、少なくとも1つのオブジェクトについての少なくとも1つの複雑性情報を前記それぞれのシーンについての複雑性要約に集約させるように構成される集約コードであって、前記それぞれのシーンは、1つ以上のオブジェクトを含む、集約コードと、
前記少なくとも1つのプロセッサに、前記それぞれのシーンについての前記複雑性要約を前記それぞれのシーンのビットストリーム内の事前定義された場所に書き込ませるように構成される書込みコードと、をさらに含む、
請求項10に記載のデバイス。
【請求項13】
前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサに、前記それぞれのシーンに対応する前記没入型メディアデータのフォーマットが、前記それぞれのシーンについての前記複雑性要約に基づいて、クライアントデバイスへの配信前に、第1のフォーマットから第2のフォーマットに転換されるべきかどうかを決定させるように構成される、フォーマット決定コードを更に含む、請求項10に記載のデバイス。
【請求項14】
前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、前記それぞれのシーンに対応する前記没入型メディアデータが転換されるべきであるという決定に基づいて、前記コンテンツソースまたは前記クライアントデバイスが前記第1のフォーマットから前記第2のフォーマットへの転換を実行するべきかどうかを決定させるように構成される、転換決定コードをさらに含む、
請求項13に記載のデバイス。
【請求項15】
シーンのオブジェクトの複雑性を分析するためにデバイスの少なくとも1つのプロセッサによって実行されるときに、前記少なくとも1つのプロセッサに、
コンテンツソースから複数のシーンを含む没入型メディアデータを受信させ、
前記没入型メディアデータから、前記複数のシーン内のそれぞれのシーンのそれぞれのオブジェクトを取得させ、
前記それぞれのシーンの前記それぞれのオブジェクトと関連付けられる複雑性情報を生成するために前記それぞれのシーンを分析させ、
前記それぞれのシーンの前記それぞれのオブジェクトと関連付けられるメタデータを生成させ、
前記生成されるメタデータに基づく処理のために前記それぞれのシーンをクライアントに配信するかどうかを決定させ、
前記メタデータは、前記複雑性情報を含む、
プログラム。
【請求項16】
前記少なくとも1つのプロセッサに、さらに、前記それぞれのオブジェクトから属性情報を獲得させる、請求項15に記載のプログラム。
【請求項17】
前記少なくとも1つのプロセッサに、さらに、
前記属性情報が事前定義された複雑性属性のリスト内の1つ以上の複雑性属性に関連するかどうかを識別させ、
前記事前定義された複雑性属性内の前記リスト内の前記1つ以上の複雑性属性に関連する少なくとも1つの値を導出させ、
前記属性情報と関連する前記少なくとも1つの値を格納させ、前記それぞれのオブジェクトについての複雑性要約を生成させる、
請求項16に記載のプログラム。
【請求項18】
前記少なくとも1つのプロセッサに、さらに、
少なくとも1つのオブジェクトについての少なくとも1つの複雑性情報を前記それぞれのシーンについての複雑性要約に集約させ、
前記それぞれのシーンについての前記複雑性要約を前記それぞれのシーンのビットストリーム内の事前定義された場所に書き込ませ、
前記それぞれのシーンは、1つ以上のオブジェクトを含む、
請求項17に記載のプログラム。
【請求項19】
前記少なくとも1つのプロセッサに、さらに、前記それぞれのシーンに対応する前記没入型メディアデータのフォーマットが、前記それぞれのシーンについての前記複雑性要約に基づいて、クライアントデバイスへの配信前に、第1のフォーマットから第2のフォーマットに転換されるべきかどうかを決定させる、請求項17に記載のプログラム。
【請求項20】
前記少なくとも1つのプロセッサに、さらに、前記それぞれのシーンに対応する前記没入型メディアデータが転換されるべきであるという決定に基づいて、前記コンテンツソースまたは前記クライアントデバイスが前記第1のフォーマットから前記第2のフォーマットへの変換を実行するべきかどうかを決定させる、請求項19に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の参照)
本出願は、2021年11月5日に出願された米国仮特許出願第63/276,538号、および2022年10月19日に出願された米国特許出願第17/969,226号に基づいており、それらの優先権を主張し、それらの開示は、その全体が参照により本明細書に組み込まれる)。
【0002】
(技術分野)
本開示は、ビデオ、オーディオ、幾何学的(3D)オブジェクト、触覚、関連するメタデータまたはクライアントプレゼンテーションデバイスのための他のコンテンツを含む、メディアを配信する(distribute)システムおよびネットワークのためのアーキテクチャ、構造、およびコンポーネントに概ね関連する実施形態を説明する。幾つかの実施形態は、不均一な没入型及(immersive)び対話型(interactive)クライアントプレゼンテーションデバイスへのメディアコンテンツの配信(distribution)のためのシステム、構造およびアーキテクチャに向けられている。
【背景技術】
【0003】
「没入型メディア(immersive media)」とは、一般に、ユーザがそのメディアの体験において物理的に存在していること、すなわち、時限式(timed)二次元(2D)ビデオおよび対応するオーディオのための既存の(例えば、「レガシー(legacy)」)商用ネットワーク上に配信されることを超えて、ユーザの知覚を創造または強化するために、任意のまたは全ての人間感覚システム(例えば、視覚、聴覚、体性感覚、嗅覚、および場合によっては味覚)を刺激するメディアを指し、そのような時限式メディアは、「レガシーメディア(legacy media)」としても知られている。没入型メディアは、動力学および物理法則のデジタルシミュレーションを通じて物理的世界を創造または模倣し、それによって、実世界または仮想世界を描くシーンの内側に物理的に存在するというユーザによる知覚を創り出すように、任意のまたは全ての人間感覚システムを刺激しようとする、メディアとしても定義される。
【0004】
ヘッドマウントディスプレイ、拡張現実メガネ、ハンドヘルドコントローラ、マルチビューディスプレイ、触覚グローブ、ゲームコンソール、ホログラフィックディスプレイおよび他の形態の容量ディスプレイを含む、多数の没入型メディア対応デバイスが、消費者市場に導入されている(あるいは、現れる構えを見せている)。これらのデバイスの利用可能性にもかかわらず、商用ネットワークを通じた没入型メディアの配信のための一貫したエンドツーエンドのエコシステムは、実現していない。
【0005】
関連技術において、商用ネットワークを通じた没入型メディアの配信のための一貫したエンドツーエンドのエコシステムを実現するための障害の1つは、没入型ディスプレイのためのそのような配信ネットワークのためのエンドポイントとして機能するクライアントデバイスが全て非常に多様であることである。レガシーメディアの配信のためだけに設計されたネットワークとは異なり、多様なディスプレイクライアント(すなわち、異種クライアント)をサポートしなければならないネットワークは、そのようなネットワークがメディアを各ターゲットディスプレイおよび対応するアプリケーションに適したフォーマットに変換する(translate)ための適合プロセスを利用し得る前に、クライアントの各能力の詳細および配信されるべきメディアのフォーマットに関する有意な量の情報を必要とする。そのようなネットワークは、ネットワークがどのようにして入力メディアソースをターゲットディスプレイおよびアプリケーションに適したフォーマットに意味のあるように適合させるかを確認するために、少なくとも、各ターゲットディスプレイの特徴および摂取されるメディアの複雑性を記述する情報へのアクセスを必要とする。
【発明の概要】
【発明が解決しようとする課題】
【0006】
従って、異種の没入型メディアを多様なクライアントに効率的に表現およびストリーミングする方法が必要とされる。
【課題を解決するための手段】
【0007】
実施形態によれば、シーンのオブジェクトの複雑性を特徴付けるための方法が提供される。
【0008】
本開示の一態様によれば、少なくとも1つのプロセッサによって実行される、シーンのオブジェクトの複雑性を特徴付けるための方法が提供される。この方法は、コンテンツソースから複数のシーンを含む没入型メディアデータを受信することと、没入型メディアデータから複数のシーン内のそれぞれのシーンのそれぞれのオブジェクトを取得することと、それぞれのシーンのそれぞれのオブジェクトと関連付けられる複雑性情報を生成するためにそれぞれのシーンを分析することと、それぞれのシーンのそれぞれのオブジェクトと関連付けられるメタデータを生成することであって、メタデータは、複雑性情報を含む、生成することと、生成されるメタデータに基づく処理のためにそれぞれのシーンをクライアントに配信するかどうかを決定することと、を含む。
【0009】
本開示の別の態様によれば、コンピュータプログラムコードを格納するように構成される少なくとも1つのメモリと、コンピュータプログラムコードを読み出して、コンピュータプログラムコードによって命令されるように動作するように構成される、少なくとも1つのプロセッサと、を含む、シーンのオブジェクトの複雑性を分析するためのデバイス(または装置)が提供される。コンピュータプログラムコードは、少なくとも1つのプロセッサに、コンテンツソースから複数のシーンを含む没入型メディアデータを受信させるように構成される、受信コードと、少なくとも1つのプロセッサに、没入型メディアデータから、複数のシーン内のそれぞれのシーンのそれぞれのオブジェクトを取得させるように構成される、取得コードと、少なくとも1つのプロセッサに、それぞれのシーンのそれぞれのオブジェクトと関連付けられる複雑性情報を生成させるために、それぞれのシーンを分析させるように構成される、分析コードと、少なくとも1つのプロセッサに、それぞれのシーンのそれぞれのオブジェクトと関連付けられるメタデータを生成させるように構成される、生成コードであって、メタデータは、複雑性情報を含む、生成コードと、少なくとも1つのプロセッサに、生成されるメタデータに基づく処理のために、それぞれのシーンをクライアントに配信するかどうかを決定させる、決定コードと、を含む
【0010】
本開示の別の態様によれば、シーンのオブジェクトの複雑性を特徴付けるデバイスの、少なくとも1つのプロセッサによって実行される命令を格納する非一時的なコンピュータ読取可能媒体が提供される。命令は、少なくとも1つのプロセッサに、コンテンツソースから複数のシーンを含む没入型メディアデータを受信させ、没入型メディアデータから、複数のシーン内のそれぞれのシーンのそれぞれのオブジェクトを取得させ、それぞれのシーンのそれぞれのオブジェクトと関連付けられる複雑性情報を生成するためにそれぞれのシーンを分析させ、それぞれのシーンのそれぞれのオブジェクトと関連付けられるメタデータを生成させ、生成されるメタデータに基づく処理のためにそれぞれのシーンをクライアントに配信するかどうかを決定させ、メタデータは、複雑性情報を含む。
【0011】
追加的な実施形態は、後続の記述に示され、一部は、記述から明らかであり、かつ/あるいは、本開示の提示される実施形態の実施によって実現されることがある。
【図面の簡単な説明】
【0012】
【
図1】実施形態による、クライアントへの配信のためのネットワークを通じるメディアの流れの概略図である。
【0013】
【
図2】実施形態による、クライアントにメディアを配信する前に、ネットワークがメディアを転換する(transform)べきかどうかを決定するために意思決定プロセスが利用される、ネットワークを通じるメディアの流れの概略図である。
【0014】
【
図3】実施形態による、時限式没入型メディアの表現およびストリーミングのためのデータ-モデルの概略図である。
【0015】
【
図4】実施形態による、非時限式没入型メディアの表現およびストリーミングのためのデータ-モデルの概略図である。
【0016】
【
図5】実施形態による、天然メディア合成プロセスの概略図である。
【0017】
【
図6】実施形態による、合成メディア摂取生成プロセスの一例の概略図である。
【0018】
【
図7】実施形態による、コンピュータシステムの概略図である。
【0019】
【
図8】実施形態による、ネットワークメディア配信システムの概略図である。
【0020】
【
図9】実施形態による、没入型メディア配信プロセスの例示的ワークフローの概略図である。
【0021】
【
図10】実施形態による、メディア適合プロセスシステムのシステム図である。
【0022】
【
図11】実施形態による、例示的な配信フォーマット作成プロセスの概略図である。
【0023】
【
図12】実施形態による、例示的なパケット化プロセスの概略図である。
【0024】
【
図13】実施形態による、コンポーネント間の通信フローの一例を示すシーケンス図である。
【0025】
【
図14A】実施形態による、オブジェクトの複雑性を特徴付けるための没入型メディア複雑性アナライザの方法を示すワークフローである。
【0026】
【
図14B】実施形態による、複雑性属性リストの一例である。
【0027】
【
図15】実施形態による、オブジェクトの複雑性を特徴付けるための没入型メディア複雑性アナライザのためのコンピュータコードの一例のブロック図である。
【発明を実施するための形態】
【0028】
例示的な実施形態の以下の詳細な記述、添付の図面を参照する。異なる図面における同じ参照番号は、同じまたは類似の要素を特定することがある。
【0029】
前述の開示は、図示および記述を提供するが、網羅的であることを意図したり、あるいは実施形態を開示の正確な形態に限定することを意図しない。修正および変形が、上記開示に照らして可能であるか、あるいは実装の実施から取得されることがある。さらに、1つの実施形態の1つ以上の構成(features)またはコンポーネント(構成要素)が、別の実施形態(または別の実施形態の1つ以上の構成)に組み込まれるか、あるいは別の実施形態(または別の実施形態の1つ以上の構成)と組み合わされることがある。加えて、以下に提供される動作(操作)のフローチャートおよび記述では、1つ以上の動作が省略されてよく、1つ以上の動作が追加されてよく、1つ以上の動作が(少なくとも部分的に)同時に実行されてよく、1つ以上の動作の順序が切り替えられてよいことが理解されよう。
【0030】
本明細書に記載するシステムおよび/または方法は、異なる形態のハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせで実装されることがあることが明らかであろう。これらのシステムおよび/または方法を実装するために使用される実際の特殊化された制御ハードウェアまたはソフトウェアコードは、実装を制限するものでない。よって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく、本明細書に記載される。ソフトウェアおよびハードウェアは、本明細書の記述に基づいてシステムおよび/または方法を実装するように設計されることがあることが理解されよう。
【0031】
構成の特定の組み合わせが特許請求の範囲に記載され、かつ/あるいは明細書に開示されているとしても、これらの組み合わせは、可能な実装の開示を制限することを意図しない。実際には、これらの構成の多くは、特許請求の範囲に具体的に記載されていないかつ/あるいは明細書に開示されていない方法で組み合わされることがある。以下に列挙される各従属項は、1つだけの請求項に直接従属することがあるが、可能な実装の開示は、請求項のセット中のあらゆる他の請求項との組み合わせにおける各従属項を含む。
【0032】
以下で議論される提案される構成は、別々にあるいは任意の順序で組み合わされることがある。さらに、実施形態は、処理回路構成(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)によって実装されることがある。一例では、1つ以上のプロセッサは、非一時的なコンピュータ読取可能媒体に格納されたプログラムを実行する。
【0033】
本明細書中で使用される如何なる要素、行為、または命令も、そのように明示的に記述されない限り、重要または必須と解釈されるべきでない。また、本明細書中で使用されるとき、単数形の表現は、1つ以上の品目を含むことが意図されており、「1つ以上」と交換可能に使用されることがある。1つだけの品目が意図される場合には、「1つ」という用語または類似の言語が使用される。また、本明細書で使用されるとき、「有する(has)」、「有する(have)」、「有する(having)」、「含む(include)」、「含む(including」などは、オープンエンドの用語であることが意図されている。さらに、「~に基づく」という語句は、明示的に別段の記載がない限り、「少なくとも部分的に~に基づく」を意味することが意図される。さらに、「[A]および[B]の少なくとも1つ」または「[A]または[B]の少なくとも1つ」のような表現は、Aのみ、Bのみ、またはAおよびBの両方を含むものとして理解されるべきである。
【0034】
本開示の例示的な実施形態は、没入型メディア対応プレゼンテーションデバイスへの配信のために、メディアデータの複雑性に基づいてメディア資産を分析すること(analyzing)および転換すること(transforming)ための方法およびデバイスを提供する。没入型メディア対応プレゼンテーションデバイスは、没入型メディアにアクセスし、解釈し、かつ提示するための十分なリソースおよび能力を備えていると呼ばれることがある。そのようなデバイスは、それらがサポートすることがある(ネットワークによって提供される)メディアの量およびフォーマットに関して異種(heterogeneous)である。同様に、メディアは、そのようなメディアをスケールで配信するために必要とされるネットワークリソースの量およびタイプに関して異種である。「スケールで(at scale)」とは、ネットワーク上のレガシービデオおよびオーディオメディアと同等の配信を実現するサービスプロバイダ(例えば、Netflix、Hulu、Comcastのサブスクリプション、Spectrumのサブスクリプションなど)によるメディアの配信を指す。対照的に、ラップトップディスプレイ、テレビ、および携帯ハンドセットディスプレイのようなレガシープレゼンテーションデバイスは、それらの能力において同質(homogenous)である。何故ならば、これらのデバイスの全ては、それらの主要なビジュアルメディアフォーマットとして2D矩形ビデオまたは静止画像を消費する矩形ディスプレイスクリーンで構成されるからである。レガシープレゼンテーションデバイスで一般的に使用されるビジュアルメディアフォーマットの一部は、例えば、High Efficiency Video Coding/H.265、Advanced Video Coding/H.264、およびVersatile Video Coding/H.266を含むことがある。
【0035】
既述のように、ネットワークを通じた没入型メディアの配信のためのエンドポイントとして機能するクライアントデバイスは、全て非常に多様である。それらの一部は、特定の没入型メディアフォーマットをサポートする一方で、他のものは、サポートしない。それらの一部は、レガシーラスターベースのフォーマットから没入的な体験を作り出すことができる一方で、他のものは、作り出すことができない。この問題に対処するために、ネットワークを通じた任意のメディアの配信は、入力(input)またはネットワーク摂取(network ingest)メディアフォーマットから配信メディアフォーマットに再フォーマットするメディア配信システムおよびアーキテクチャを利用することがあり、この場合、その配信メディアフォーマットは、ターゲットとなるクライアントデバイスおよびそのアプリケーションによって摂取されるのに適しているのみならず、ネットワークを通じてストリーミングされるのにも適している。よって、摂取されたメディアを使用するネットワークによって実行される2つのプロセス、すなわち、1)フォーマットAから、ターゲットクライアントデバイスによって摂取されるのに適した、すなわち、特定のメディアフォーマットを摂取するクライアントデバイスの能力に基づいて、フォーマットBへメディアを変換すること(converting)、および2)ストリーミングされるべきメディアを準備することがある場合がある。
【0036】
実施形態において、ストリーミングメディアは、メディアのフラグメント化および/またはパケット化を広義に指すので、ストリーミングメディアは、メディアの時間的または空間的構造の一方または両方に従って論理的に組織化されかつシーケンス化された、より小さいサイズの連続的なチャンクにおいて、ネットワークを通じて送達され得る。(「トランスコーディング(transcoding)」と呼ばれることがある)フォーマットAからフォーマットBへのメディアの転換(transforming)は、クライアントデバイスへのメディアの配信前に、通常はネットワークによってあるいはサービスプロバイダによって実行される、プロセスである。そのようなトランスコーディングは、フォーマットBが、ターゲットクライアントデバイスによって摂取されることができる好ましいフォーマットまたは唯一のフォーマットである、あるいは商用ネットワークのような制約されたリソースを通じた配信により適しているという事前知識に基づいて、フォーマットAからフォーマットBにメディアを変換すること(converting)からなることがある。全ての場合でないにしても、多くの場合において、メディアを転換するステップおよびストリーミングされるべきメディアを準備するステップの両方が、メディアがネットワークから受信されて、ターゲットクライアントデバイスによって処理される前に、必要である。
【0037】
メディアを変換すること(または転換すること)、およびストリーミングのためにメディアを準備することは、クライアントデバイスにメディアを配信する前に、ネットワークによって摂取されるメディアに対して作用される。これらのプロセスは、配信メディアフォーマットまたは単に配信フォーマットと呼ばれるメディアフォーマットをもたらす。
【0038】
異種クライアントをサポートする理想的なネットワークは、入力メディアフォーマットから特定のターゲットフォーマットに適合される資産の一部が、類似の表示ターゲットのセットに亘って再利用されることがあるという事実を利用すべきである。すなわち、幾つかの資産は、ひとたびターゲットディスプレイに適したフォーマットに変換されると、同様の適合要件を有する多数のそのようなディスプレイに亘って再利用されることがある。従って、実施形態によれば、そのような理想的なネットワークは、例えば、レガシーネットワークにおけるコンテンツ配信ネットワーク(CDNs:Content Distribution Networks)の使用に類似する、相対的であるエリアに適合資産を格納するために、キャッシュ化メカニズム(cashing mechanism)を利用することがある。
【0039】
没入型メディアは、シーン記述(scene descriptions)としても知られているシーングラフ(scene graphs)によって記述されるシーンに編成することがある。実施形態では、(コンピュータグラフィックスの文脈における)シーンは、オブジェクト(例えば、3D資産)、オブジェクト属性、および設定内のオブジェクトの相互作用に関して空間または時間のいずれかによって制限される特定の設定を記述する視覚的、音響的、および物理学ベースの特徴(characteristics)を含む他のメタデータの集合である。シーングラフは、グラフィカルシーンの論理的表現およびしばしば(必須ではないが)空間的表現を配置する、ベクトルベースのグラフィックス編集アプリケーションおよび現代のコンピュータゲームによって一般的に使用される一般的なデータ構造である。シーングラフは、グラフ構造内のノードおよび頂点の集合から構成されることがある。ノードは、視覚、可聴、触覚、嗅覚、味覚、または関連処理情報の論理的、空間的、または時間的表現に関連する情報から構成されることがある。各ノードは、最大1つの出力エッジ(output edge)、ゼロ以上の入力エッジ(input edges)、およびそれに接続された少なくとも1つのエッジ(入力または出力のいずれか)を有する。属性またはオブジェクト属性は、そのノードの特定の特徴または構成を規範的な形態または(例えば、他のノードに関する)より複雑な形態で記述するために使用されるノードと関連付けられるメタデータを指す。シーングラフの範囲は、プレゼンテーションの一部である特定の設定、例えば、プレゼンテーション(例えば、映画)の一部である建物内の特定の場所で行われるイベントおよび俳優を含む、視覚的、音響的、および他の形態の没入型資産を記述することである。単一のプレゼンテーションを含む全てのシーンのリストは、シーンのマニフェスト(manifest)に定式化されることがある。
【0040】
キャッシュ化メカニズム(caching mechanism)を利用して適合資産を格納することの付加的な利点は、準備されるコンテンツのために、コンテンツを配信しなければならない前に、材料表(bill of materials)を作成できることである。材料表は、プレゼンテーション全体のために使用される資産の全て、および各資産がプレゼンテーション内の様々なシーンに亘ってどれぐらいの頻度で使用されるかを特定する。理想的なネットワークは、特定のプレゼンテーションのための資産要件を満たすために使用されることがあるキャッシュされたリソースの存在についての知識を持たなければならない。同様に、一連のシーンを提示しているクライアントデバイスは、複数のシーンに亘って使用される任意の所与の資産の頻度についての知識を有することを望むことがある。例えば、(メディアオブジェクトとしても知られる)メディア資産が、クライアントデバイスによって処理されるあるいは処理されるであろう複数のシーンに亘って複数回参照されるならば、クライアントデバイスは、特定の資産がクライアントデバイスによって提示されることを要求する最後のシーンまで、そのキャッシュ化リソースから資産を破棄することを回避しなければならない。本開示の実施形態において、メディア「オブジェクト」およびメディア「資産」という用語は、両方とも、メディアデータの特定のフォーマットの特定のインスタンスを参照して、互換的に使用されることがある。
【0041】
レガシーメディアプレゼンテーションデバイスについて、配信フォーマットは、プレゼンテーションを作成するためにクライアントプレゼンテーションデバイスによって最終的に使用される「プレゼンテーションフォーマット」と同等または十分に同等であることがある。すなわち、プレゼンテーションメディアフォーマットは、その特性(例えば、解像度、フレームレート、ビット深度、色域など)がクライアントプレゼンテーションデバイスの能力に密接に調整されるメディアフォーマットである。配信対プレゼンテーションフォーマットの例は、ネットワークによって解像度(3840画素列x2160画素行)を有する超高解像度(UHD:Ultra-high-definition)クライアントデバイスに配信される高解像度(HD:high-Definition)ビデオ信号(1920画素列x1080画素行)を含む。前述の例において、UHDクライアントデバイスは、HD配信フォーマットに超解像処理を適用して、ビデオ信号の解像度をHDからUHDに増大させる。よって、クライアントデバイスによって提示される最終的な信号フォーマットは、この例では、UHD信号である、「プレゼンテーションフォーマット」であるのに対し、HD信号は、配信フォーマットを含む。この例において、HD信号配信フォーマットは、両方の信号が直線ビデオフォーマットであるので、UHD信号プレゼンテーションフォーマットと非常に類似しており、HDフォーマットをUHDフォーマットに変換するプロセスは、比較的簡単であり、殆どのレガシーメディアクライアントデバイスで実行することが容易である。
【0042】
幾つかの実施形態において、クライアントデバイスのための好ましいプレゼンテーションフォーマットは、ネットワークによって受信される摂取フォーマットとは有意に異なることがある。それにもかかわらず、クライアントデバイスは、メディアを摂取フォーマットからクライアントデバイスによるプレゼンテーションに適した所要のプレゼンテーションフォーマットに転換するために、十分な計算、記憶、および帯域幅リソースへのアクセスを有することがある。このシナリオにおいて、ネットワークは、摂取したメディアをフォーマットAからフォーマットBに再フォーマット化するかあるいはトランスコーディングするステップをバイパスすることがある。何故ならば、ただ単に、クライアントデバイスは、全てのメディア転換を実行するのに十分なリソースへのアクセスを有し、ネットワークが先験的にそのようにすることを必要としないからである。しかしながら、ネットワークは、メディアがネットワークを通じてクライアントデバイスにストリーミングされることがあるように、摂取メディアをフラグメント化しかつパッケージ化するステップを依然として実行することがある。
【0043】
幾つかの実施形態において、摂取されるメディアは、クライアントの好ましいプレゼンテーションフォーマットとは有意に異なることがあり、クライアントデバイスは、メディアを摂取フォーマットから好ましいプレゼンテーションフォーマットに転換するのに十分な計算、記憶、および/または帯域幅リソースへのアクセスを有さないことがある。そのようなシナリオにおいて、ネットワークは、クライアントデバイスの代わりに、摂取フォーマットからクライアントの好みのプレゼンテーションフォーマットと同等またはほぼ同等なフォーマットへの転換の一部または全部を実行することによって、クライアントを支援することがある。幾つかのアーキテクチャ設計において、クライアントデバイスの代わりにネットワークによって提供されるそのような支援は、一般に、分割レンダリング(split rendering)と呼ばれる。
【0044】
図1は、クライアントへの配信のためのネットワークを通じるメディアフロープロセス100の概略図である。
図1は、フォーマットA(以下「摂取メディアフォーマットA」という)におけるメディアの例示的な処理を示している。処理(すなわち、メディアフロープロセス100)は、ネットワーククラウドまたはエッジデバイス(以下「ネットワークデバイス104」)によって実施または実行されることがあり、クライアント、例えば、クライアントデバイス108に配信されることがある。幾つかの実施形態において、同じ処理は、手動処理において、あるいはクライアントデバイスによって、先験的に実行されることがある。ネットワークデバイス104は、摂取メディアモジュール101、ネットワーク処理モジュール102、および配信モジュール103を含むことがある。クライアントデバイス108は、レンダリングモジュール106、およびプレゼンテーションモジュール107を含むことがある。
【0045】
先ず、ネットワークデバイス104は、コンテンツプロバイダなどから摂取されるメディア(ingested media)を受け取る。摂取メディアモジュール101は、摂取メディアフォーマットAにおいて格納される、摂取されるメディアを取得する。ネットワーク処理モジュール102は、摂取されるメディアの所要の転換または調整を実行して、メディアの潜在的に代替的な表現を作り出す。すなわち、ネットワーク処理モジュール102は、メディアを配信フォーマットBにフォーマットすることによって、かつ/あるいはクライアントデバイス108にストリーミングされるべきメディアを準備することによって、クライアントへの配信のためのメディアを準備する。メディアフォーマットAおよびBは、特定のメディアフォーマット仕様の同じ構文に従った表現であることがあり、あるいはそのような表現でないことがある。しかしながら、フォーマットBは、ネットワークプロトコルを通じたメディアの配信を容易にするスキームに条件付けられる可能性が高い。ネットワークプロトコルは、例えば、コネクション指向プロトコル(TCP)またはコネクションレスプロトコル(UDP)であることがある。配信モジュール103は、ネットワーク接続105を介して、ネットワークデバイス104からクライアントデバイス108に、ストリーミング可能なメディア(すなわち、メディアフォーマットB)をストリーミングする。
【0046】
クライアントデバイス108は、配信メディアを受信し、任意に、レンダリングモジュール106を介したプレゼンテーションのためにメディアを準備する。レンダリングモジュール106は、ターゲットとされているクライアントデバイス108に依存して、初歩的であることがある、あるいはさもなければ洗練されていることがある、幾つかのレンダリング能力へのアクセスを有する。レンダリングモジュール106は、プレゼンテーションフォーマットCにおいてプレゼンテーションメディアを生成する。プレゼンテーションフォーマットCは、第3のフォーマット仕様に従って表現されることがあり、あるいは表現されないことがある。従って、プレゼンテーションフォーマットCは、メディアフォーマットAおよび/またはBと同じであることがあり、あるいは異なることがある。レンダリングモジュール106は、プレゼンテーションフォーマットCをプレゼンテーションモジュール107に出力し、プレゼンテーションモジュール107は、クライアントデバイス108のディスプレイ(または同等物)にプレゼンテーションメディアを提示することがある。
【0047】
本開示の実施形態は、ネットワークおよび/またはクライアントによって利用される意思決定プロセスを促進して、ネットワークが摂取メディア(ingest media)の一部または全部をフォーマットAからフォーマットBに転換するべきかどうかを決定して、潜在的に第3のフォーマットCにおいてメディアのプレゼンテーションを生成するクライアントの能力をさらに促進する。そのような意思決定プロセスを支援するために、実施形態は、没入型メディアシーンの一部または全体のいずれかを含む1つ以上のメディアオブジェクトを分析するメカニズムとして没入型メディア複雑性アナライザ(immersive media data complexity analyzer)を記載する。没入型メディア複雑性アナライザは、分析されるシーン内の各オブジェクトに関連する情報メタデータを作成し、そのようなメタデータは、オリジナルのフォーマットAから別のフォーマットBに転換されるべき1つ以上のメディアオブジェクトの複雑性に関する情報を含む。従って、ひとたび全てのそのようなメタデータが没入型メディアシーンの一部または全ての部分に関して利用可能になると、意思決定プロセスは、メディアオブジェクトをフォーマットAから別のフォーマットBに転換すること、および同様にネットワークまたはクライアントがそのような転換を実行するためにより良く装備されているかどうかを決定することの複雑性に関する情報をより良く備える。
【0048】
実施形態は、ネットワークまたはクライアントによって利用されるときに、フォーマットAからフォーマットBへのメディアオブジェクトの転換が完全にネットワークによって、完全にクライアントによって、あるいは(クライアントまたはネットワークによってどの資産が転換されるべきかの表示と共に)両方の混合を介して実行されるべきかにどうかついての表示を提供する、意思決定プロセスをサポートするために使用されることがある十分な情報を得るために没入型メディアシーンを分析する、メカニズムまたはプロセスの必要性に対処する。そのような没入型メディアデータ複雑性アナライザは、自動化された脈絡においてクライアントまたはネットワークのいずれかによって、あるいは、例えば、システムまたはデバイスを操作する人間によって手動で利用されることがある。
【0049】
実施形態によれば、入力没入型メディアソースを特定のエンドポイントクライアントデバイスに適合させるプロセスは、特定のクライアントエンドポイントデバイス上で実行されている特定のアプリケーションに同じ入力没入型メディアソースを適合させるプロセスと同じであることがあり、あるいはそれに類似することがある。従って、入力メディアソースをエンドポイントデバイスの特徴に適合させる問題は、特定の入力メディアソースを特定のアプリケーションの特徴に適合させる問題と同じ複雑性を持つ。
【0050】
図2は、ネットワークを通じて摂取されるメディアを処理するための論理ワークフローである。
図2に示されるワークフローは、実施形態によるメディア転換意思決定プロセス200を示している。メディア転換意思決定プロセス200は、クライアントデバイスにメディアを配信する前に、ネットワークがメディアを転換するべきかどうかを決定するために利用される。メディア転換意思決定プロセス200は、ネットワーク内で手動または自動化プロセスを通じて処理されることがある。
【0051】
フォーマットAで表される摂取メディアは、コンテンツプロバイダによってネットワークに提供される。S201で、メディアは、コンテンツプロバイダからネットワークに摂取される。次に、S202で、既に知られていないならば、ターゲットとなるクライアントについての属性が獲得される(acquired)。属性は、ターゲットとなるクライアントの処理能力を記述する。
【0052】
S203で、ネットワーク(またはクライアント)が摂取されるメディアの転換を支援すべきかどうかが決定される。特に、メディアがターゲットとなるクライアントにストリーミングされる前に、摂取されるメディア内に含まれるメディア資産のいずれかについてのいずれかのフォーマット転換(例えば、フォーマットAからフォーマットBへの1つ以上のメディアオブジェクトの変換)が行われるかどうかが決定される。S203における意思決定プロセスは、手動で(すなわち、デバイスオペレータなどによって)実行されることがあり、あるいは自動化プロセスであることがある。S203における意思決定プロセスは、メディアが元の摂取されたフォーマットAにおいてストリーミングされ得るかどうか、あるいはメディアがクライアントによるメディアのプレゼンテーションを容易にするために異なるフォーマットBに転換されなければならないか否かの決定に基づくことがある。そのような決定は、最適な選択を行う意思決定プロセスを助けるような方法において(すなわち、摂取メディアの転換がメディアをクライアントにストリーミングする前に必要とされるか否かあるいはメディアがその元の摂取フォーマットAにおいてクライアントに直接ストリーミングされるべきか否かを決定するために)、摂取メディアの態様または構成を記述する情報へのアクセスを必要とすることがある。
【0053】
ネットワーク(またはクライアント)が、いずれかのメディア資産の転換を支援すべきであると決定されるならば(S203でYESであるならば)、プロセス200は、S204に進む。
【0054】
S204で、摂取されたメディアは、メディアをフォーマットAからフォーマットBに変換するために転換されて、転換されたメディア205を生成する。転換されたメディア205は出力され、処理はS206に進む。S206で、入力メディアは、クライアントにメディアをストリーミングするための準備プロセスを受ける。この場合、転換されたメディア205(すなわち、入力メディア)は、ストリーミングされるように準備される。
【0055】
フォーマットAから別のフォーマット(例えば、フォーマットB)へのメディアの転換は、完全にネットワークによって、完全にクライアントによって、あるいはネットワークおよびクライアントの両方の間で共同で行われることがある。分割レンダリングのために、クライアントおよびネットワークの両方が、行われなければならない作業を特徴付ける完全な情報を持つように、メディアフォーマットを記述する属性の語彙(lexicon)が必要とされることがあることが明らかになる。さらに、例えば、利用可能なコンピュータリソース、利用可能なストレージリソース、および帯域幅へのアクセスの観点から、クライアントの能力の属性を提供する語彙も、同様に必要とされることがある。さらに、摂取メディアフォーマットの計算、記憶、または帯域幅の複雑性のレベルを特徴付けるメカニズムが必要とされるので、ネットワークおよびクライアントは、クライアントにメディアを配信するために、ネットワークが分割レンダリングプロセスを利用するか否か、あるいはネットワークが分割レンダリングプロセスをいつ利用するかを、共同であるいは単独で決定することがある。
【0056】
ネットワーク(またはクライアント)が、いずれかのメディア資産の転換を支援すべきでない(あるいは支援する必要がない)と決定されるならば(S203でNO)、プロセス200は、S206に進む。S206で、メディアはストリーミングのために準備される。この場合、摂取されたデータ(すなわち、その元の形態におけるメディア)は、ストリーミングされるように準備される。
【0057】
最後に、ひとたびメディアデータがストリーミング可能なフォーマットになると、S206で準備されたメディアは、クライアントにストリーミングされる(S207)。
【0058】
メディアのストリーミング可能なフォーマットは、時限式(timed)または非時限式(untimed)の異種の没入型メディアであってよい。
図3は、異種の没入型メディアのストリーミング可能なフォーマットの時限式メディア表現300の一例を示している。時限式没入型メディアは、N個のシーンのセットを含むことがある。時限式メディア(timed media)とは、例えば、特定のクロックに従った開始時間および終了時間を持つ、時間によって順序付けられるメディアコンテンツである。
図4は、異種の没入型メディアのストリーミング可能なフォーマットの非時限式メディア表現400の一例を示している。非時限式メディア(unlined media)とは、(例えば、1人以上のユーザがとる行動に従って実現されるインタラクティブな体験におけるような)空間的、論理的、または時間的な関係によって組織化されるメディアコンテンツである
【0059】
図3は、時限式メディアのための時限式シーンを参照し、
図4は、非時限式メディアのための非時限式シーンを参照している。時限式シーンおよび非時限式シーンは、様々なシーン表現またはシーン記述によって具現されることがある。
図3および
図4は、両方とも、特定のクライアントエンドポイントの能力に合致するようにソース摂取メディアフォーマットから適合された単一の例示的な包含メディアフォーマット(encompassing media format)を利用する。すなわち、包含メディアフォーマットは、クライアントデバイスにストリーミング可能な配信フォーマットである。包含メディアフォーマットは、多種多様なメディア属性に順応するように、その構造において十分に堅牢であり、各メディア属性は、各層がメディアのプレゼンテーションに寄与する顕著な情報の量に基づいて各層が層化されることがある。
【0060】
図3に示されるように、時限式メディア表現300は、時限式シーン301のリストを含む。時限式シーン301は、時限式シーン301を構成するメディア資産のタイプおよび処理情報を別々に記述するコンポーネント302のリストを参照する。コンポーネント302は、ベース層304および属性強化層305をさらに参照する資産303を参照する。ベース層は、計算リソース、資産をレンダリングするのに必要とされる時間、および/またはネットワークを通じて資産を送信するのに必要とされる時間を最小限に抑えるために定式化されることがある資産の公称表現である。強化層は、資産のベース層表現に適用されるときに、ベース層においてサポートされないことがある構成または能力を含むようにベース層を増大させる、情報のセットであることがある。
【0061】
図4に示されるように、非時限式メディア表現400は、シーン401についての情報を含む。シーン401は、(クロック、タイマなどによる)開始および終了時間/持続時間と関連付けられていない。シーン401は、シーン401を構成するメディア資産のタイプおよび処理情報を別々に記述するコンポーネント402のリストを参照する。コンポーネント402は、(集合的に資産403と称される)視覚資産、可聴資産、触覚資産、および時限式資産を参照する。資産403は、ベース層404と、属性強化層405および406とをさらに参照する。シーン401は、非時限式メディアソースのためのものである他の非時限式シーン(すなわち、
図4において非時限式シーン2.1~2.4として参照されるシーン)、および/または時限式メディアシーンのためのものであるシーン407(すなわち、
図4において時限式シーン3.0として参照されるシーン)も参照することがある。
図4の例において、非時限式没入型メディアは、(時限式および非時限式の両方を含む)5つのシーンのセットを含む。
【0062】
包含メディアフォーマットに従ってストリーミングされるメディアは、レガシー視覚および可聴メディアに限定されない。包含メディアフォーマットは、視野(sight)、音、味、触感、および臭いについての人間の感覚を刺激する機械と相互作用する信号を生成することができる任意のタイプのメディア情報を含むことがある。
図3~
図4に示されるように、包含メディアフォーマットに従ってストリーミングされるメディアは、時限式メディア、非時限式メディア、または両方の混合であることがある。包含メディアフォーマットは、ベース層および強化層アーキテクチャを使用して、メディアオブジェクトの層状表現を可能にすることによってストリーミング可能である。
【0063】
幾つかの実施態様において、別個のベース層および強化層は、各シーンに内のメディアオブジェクトのための多重解像度(multi-resolution)または多重平面充填(multi-tesselation)分析技法の適用によって計算される。この計算技術は、ラスタベースの視覚フォーマットに限定されない。
【0064】
幾つかの実施形態では、幾何学的オブジェクトの漸進的表現が、ウェーブレット(wavelet)分析技法を使用して計算されるオブジェクトの多重解像度表現であることがある。
【0065】
幾つかの実施形態では、層状表現メディアフォーマットにおいて、強化層は、ベース層に異なる属性を適用することがある。例えば、強化層のうちの1つ以上は、ベース層によって表される視覚オブジェクトの表面の材料特性を精緻化することがある。
【0066】
幾つかの実施形態では、層状表現メディアフォーマットにおいて、属性は、例えば、表面を滑らかなものから多孔質のテクスチャに変えることによって、あるいは艶消しされた表面から光沢のある表面に変えることによって、ベース層によって表されるオブジェクトの表面のテクスチャを精緻化することがある。
【0067】
幾つかの実施形態では、層状表現メディアフォーマットにおいて、シーン内の1つ以上の視覚オブジェクトの表面は、均等拡散面(lambertian surface)から光線追跡可能なものであるように変更されることがある。
【0068】
幾つかの実施形態では、層状表現メディアフォーマットにおいて、クライアントがベース層の解像度または他の特徴を精緻化するために追加的な強化層の伝達を待つ間に、クライアントがシーンの名目上のプレゼンテーションを生成することがあるように、ネットワークは、ベース層表現をクライアントに配信することがある。
【0069】
実施形態において、強化層における精緻化情報または属性の解像度は、ベース層におけるオブジェクトの解像度と明示的に結合されない。さらに、包含メディアフォーマットは、プレゼンテーションデバイスまたは機械によって提示されかあるいは作動されることがある任意のタイプの情報メディアをサポートすることがあり、それによって、異種のクライアントエンドポイントへの異種メディアフォーマットのサポートを可能にする。幾つかの実施形態において、メディアフォーマットを配信するネットワークは、クライアントの能力を決定するために、先ず、クライアントエンドポイントに問い合わせる。クエリ(問い合わせ)に基づいて、クライアントがメディア表現を意味があるように摂取できないならば、ネットワークは、クライアントによってサポートされていない属性の層を除去することがある。幾つかの実施形態において、クライアントがメディア表現を意味があるように摂取できないならば、ネットワークは、メディアを、その現在のフォーマットから、クライアントエンドポイントに適したフォーマットに適合させることがある。例えば、ネットワークは、ネットワークベースのメディア処理プロトコルを使用して、容積視覚メディア資産を同じ視覚資産の2D表現に変換することによって、メディアを適合させることがある。幾つかの実施形態において、ネットワークは、ニューラルネットワーク(NN:neural network)プロセスを利用して、メディアを適切なフォーマットに再フォーマットするか、あるいはクライアントエンドポイントによって必要とされるビューを任意的に合成することによって、メディアを適合させることがある。
【0070】
完全な(または部分的に完全な)没入体験(ライブストリーミングイベント、ゲーム、オンデマンド資産の再生)のためのシーンのマニフェスト(manifest)は、プレゼンテーションを作成するためのレンダリングおよび摂取のために必要とされる最低限の量の情報を含むシーンによって組織化される。シーンのマニフェストは、クライアントによって要求される没入体験の全体のためにレンダリングされるべき個々のシーンのリストを含む。各シーンと関連付けられるのは、シーンジオメトリ(幾何学的形状)のストリーミング可能なバージョンに対応するシーン内の幾何学的オブジェクトの1つ以上の表現である。シーンの1つの実施形態は、シーンのための幾何学的オブジェクトの低解像度バージョンを参照することがある。同じシーンの別の実施形態は、同じシーンの幾何学的オブジェクトの追加的な詳細を追加するか、あるいはモザイク細工(tessellation)を増加させるために、シーンの低解像度表現のための強化層を参照することがある。上述のように、各シーンは、シーンの幾何学的オブジェクトの詳細を漸進的な方法において増加させるために、1つ以上の強化層を有することがある。シーン内で参照されるメディアオブジェクトの各層は、リソースがネットワーク内でリソースにアクセスできる場所のアドレスを指し示すトークン(例えば、ユニフォームリソース識別子(URI:uniform resource identifier))と関連付けられることがある。そのようなリソースは、コンテンツがクライアントによってフェッチされることがあるコンテンツ配信ネットワーク(CDN:content delivery networks)に類似している。幾何学的オブジェクトの表現のためのトークンは、ネットワーク内の場所またはクライアント内の場所を指し示すことがある。すなわち、クライアントは、そのリソースがネットワークベースのメディア処理のためにネットワークに利用可能であることをネットワークに信号伝達する(signal)ことがある。
【0071】
実施形態によれば、シーン(時限式または非時限式)は、シーングラフによって、マルチプレーン画像(MPI:Multi-Plane Image)またはマルチ球面画像(MSI:Multi-Spherical Image)として具現されることがある。MPI技法およびMSI技法の両方は、自然コンテンツについての表示-不可知論的なシーン表現(すなわち、1つ以上のカメラから同時にキャプチャされる実世界の画像)の作成を支援する技術の例である。他方、シーングラフ技術は、合成表現の形態において、自然像(natural imagery)およびコンピュータ生成像(computer-generated imagery)の両方を表現するために利用されることがある。しかしながら、そのような表現は、コンテンツが1つ以上のカメラによって自然シーンとしてキャプチャされる場合について、作成するのが特に計算集約的(compute-intensive)である。自然にキャプチャされるコンテンツのシーングラフ表現は、作成するのが時間集約的(time intensive)および計算集約的(computation intensive)の両方であり、ターゲット没入型クライアントディスプレイの視認錐台(viewing frustum)を満たすために十分かつ適切な数のビューを補間するために引き続き使用することができる合成表現を作成するために、写真測量またはディープラーニングまたはそれらの両方の技法を用いた自然画像の複雑な分析を必要とする。結果的に、そのような合成表現は、自然コンテンツを表現するための候補として考えることは現実的でない。何故ならば、それらはリアルタイムの配信を必要とするユースケースを考慮するためにリアルタイムで実際に作成することができないからである。よって、コンピュータ生成像のための最良の表現は、合成モデルを用いたシーングラフの使用を利用することである。何故ならば、コンピュータ生成像は、3Dモデリングプロセスおよびツールを用いて作成され、合成モデルを用いたシーングラフの使用は、コンピュータ生成像の最良の表現をもたらすからである。
【0072】
図5は、実施形態による、自然メディア合成プロセス500(natural media synthesis process)の一例を示している。自然メディア合成プロセス500は、摂取フォーマットを、自然シーンから、異種のクライアントエンドポイントに役立つネットワークのための摂取フォーマットとして使用されることができる表現に変換する。破線510の左側は、自然メディア合成プロセス500のコンテンツ取り込み部分(content capturing portion)である。破線510の右側は、自然メディア合成プロセス500の(自然画像のための)摂取フォーマット合成である。
【0073】
図5に示されるように、第1のカメラ501が、例えば、人(すなわち、
図5に示される俳優)のシーンをキャプチャするために単一のカメラレンズを使用する。第2のカメラ502が、リング形状のオブジェクトの周囲に5つのカメラレンズを取り付けることによって、5つの発散する視野を有するシーンをキャプチャする。
図5に示される第2のカメラ502の構成は、VRアプリケーションのために全方向コンテンツをキャプチャするために一般的に使用される例示的な構成である。第3のカメラ503が、球体の内径部分に7つのカメラレンズを取り付けることによって、7つの収束する視野を有するシーンをキャプチャする。第3のカメラ503の構成は、光照射野またはホログラフィック没入型ディスプレイのための光照射野をキャプチャするために一般的に使用される例示的な構成である。実施形態は、
図5に示される構成に限定されない。第2のカメラ502および第3のカメラ503は、複数のカメラレンズを含むことがある。
【0074】
自然画像コンテンツ509は、第1のカメラ501、第2のカメラ502、および第3のカメラ503から出力され、シンセサイザ504への入力として機能する。シンセサイザ504は、トレーニング画像506の集合を使用するNNトレーニング505を利用して、キャプチャNNモデル508を生成することがある。トレーニング画像506は、前の合成処理から事前に定義されることがあり、あるいは格納されることがある。NNモデル(例えば、キャプチャNNモデル508)が、元の信号によって明示的に提供されなかった視覚信号についての新しいビューの補間を含むことがある改良された視覚出力に到達するために、視覚信号に適用される明確に定義された数学的演算において使用される重み(すなわち、数値)を定義する、パラメータおよびテンソル(例えば、行列)の集合である。
【0075】
幾つかの実施形態では、写真測量プロセスが、NNトレーニング505の代わりに実施されることがある。キャプチャNNモデル508が、自然メディア合成プロセス500の間に作成されるならば、キャプチャNNモデル508は、自然メディアコンテンツのための摂取フォーマット507における資産の1つとなる。摂取フォーマット507は、例えば、MPIまたはMSIであることがある。摂取フォーマット507は、メディア資産を含むこともある。
【0076】
図6は、実施形態による、合成メディア摂取生成プロセス600の一例を示している。合成メディア摂取生成プロセス600は、例えば、コンピュータ生成像のような、合成メディアの摂取メディアフォーマットを生成する。
【0077】
図6に示されるように、カメラ601は、シーンのポイントクラウド602(点群)をキャプチャすることがある。カメラ601は、例えば、ライダー(LIDAR)カメラであってよい。コンピュータ603は、例えば、共通ゲートウェイインターフェース(CGI)ツール、3Dモデリングツール、または別のアニメーションプロセスを利用して、合成コンテンツ(すなわち、異種のクライアントエンドポイントを提供するネットワークのための摂取フォーマットとして使用することができる合成シーンの表現)を作成する。コンピュータ603は、ネットワークを通じてCGI資産604を生成することがある。加えて、センサ605Aは、シーン内の俳優605に装着されることがある。センサ605Aは、例えば、取り付けられたセンサを備えたモーションキャプチャスーツであってよい。センサ605Aは、俳優605の動きのデジタル記録をキャプチャして、アニメーション化された動きデータ606(またはMoCapデータ)を生成する。ポイントクラウド602、CGI資産604、および動きデータ606からのデータは、合成メディア摂取フォーマット608を生成するシンセサイザ607への入力として提供される。幾つかの実施形態において、シンセサイザ607は、NNおよびトレーニングデータを使用して、NNモデルを作成して、合成メディア摂取フォーマット608を生成することがある。
【0078】
自然コンテンツおよびコンピュータ生成された(すなわち、合成)コンテンツは、コンテナ(容器)に保存されることができる。コンテナは、シーングラフおよびシーンのレンダリングに必要とされる全てのメディアリソースを含む、全て自然シーンの、全て合成シーンの、または合成シーンと自然シーンとの混合物を表すために情報を格納および交換するシリアライズ(シリアル化)されたフォーマットを含むことがある。コンテンツのシリアライゼーション(シリアル化)プロセスは、データ構造またはオブジェクト状態を、(例えば、ファイルまたはメモリバッファに)格納されるかあるいは(例えば、ネットワーク接続リンクに亘って)送信されることができ、同じまたは異なるコンピュータ環境において後に再構成されることができるフォーマットに、変換することを含む。結果として得られる一連のビットがシリアライゼーションフォーマットに従って再読み出しされるときに、それは元のオブジェクトの意味的に同一のクローンを作るために使用されることができる。
【0079】
自然コンテンツおよびコンピュータ生成された(すなわち、合成)コンテンツの両方の表現の最適表現における二分法は、自然にキャプチャされたコンテンツの最適摂取フォーマットが、リアルタイム配信アプリケーションに不可欠ではない自然コンテンツのための最適摂取フォーマットまたはコンピュータ生成されたコンテンツのための最適摂取フォーマットとは異なることを示唆する。従って、実施形態によれば、ネットワークは、例えば、物理カメラの使用を通じて自然に、あるいはコンピュータによって作成されるかにかかわらず、視覚的に没入型のメディアのための複数の摂取フォーマットをサポートするのに十分なほどに堅牢であることを目標とする。
【0080】
OTOYによるORBX、PixarによるUniversal Scene Description、Khronos 3D Groupによって書かれたGraphics Language Transmission Format 2.0(glTF2.0)仕様のような技術は、シーングラフを、コンピュータ生成技術を用いて作成された視覚的な没入型メディアを表現するのに適したフォーマットとして、あるいは自然シーンの対応する(すなわち、リアルタイム配信アプリケーションに必須でない)合成表現を作成するためにディープラーニングまたは写真測量技術を用いた自然にキャプチャされたコンテンツとして具現する。
【0081】
OTOYによるORBXは、光線トレーサブルな、レガシー(フレームベースの)、容量性の、および他のタイプの合成またはベクトルベースのビジュアルフォーマットを含む、時限式のまたは非時限式の、任意のタイプのビジュアルメディアをサポートできる幾つかのシーングラフ技術のうちの1つである。ORBXは、他のシーングラフと異なる。何故ならば、ORBXは、メッシュ、ポイントクラウド、およびテクスチャのための自由に利用可能なおよび/またはオープンなソースフォーマットをサポートするからである。ORBXは、シーングラフ上で動作する複数のベンダ技術に亘る相互交換を容易にすることを目的として意図的に設計されたシーングラフである。その上、ORBXは、豊富な素材システム、Open Shader Languageのサポート、堅牢なカメラシステム、Lua Scriptsのサポートを提供する。ORBXは、Immersive Digital Experiences Alliance(IDEA)がロイヤルティフリーの条件でライセンスを供与するために発行したImmersive Technologies Media Formatのベースでもある。メディアのリアルタイム配信の文脈において、自然シーンのORBX表現を作成して配信する能力は、カメラでキャプチャされたデータの複雑な分析および合成表現への同じデータの合成を実行するための計算リソースの利用可能性の関数である。
【0082】
PixarによるUSD は、視覚効果およびプロ向けコンテンツ制作でよく使用されるシーングラフである。USDは、Nvidiaのグラフィックス処理ユニット(GPU)で3Dモデルを作成してレンダリングするための開発者向けツールのセットである、NvidiaのOmniverseプラットフォームに統合される。AppleおよびPixarによって公表されたUSDのサブセットは、USDZと呼ばれ、それはAppleのARKitによってサポートされる。
【0083】
glTF2.0は、Khronos 3D Groupによって書かれたGraphics Language Transmission Format仕様のバージョンである。このフォーマットは、PNGおよびJPEG画像フォーマットを含む、シーン内の静的(非時限式)オブジェクトを概ねサポートすることができる単純なシーングラフフォーマットをサポートする。glTF2.0は、glTFプリミティブを用いて記述された(すなわち、幾何学的オブジェクトのための)基本形状の並進(平行移動)、回転、スケーリングのサポートを含む、単純なアニメーションをサポートする。glTF2.0は、時限式メディアをサポートせず、故に、ビデオメディア入力もオーディオメディア入力もサポートしない。
【0084】
没入型ビジュアルメディアのシーン表現のためのこれらの設計は、一例として提供されるにすぎず、入力没入型メディアソースを、クライアントエンドポイントデバイスの特定の特徴に適したフォーマットに適合させるプロセスを特定する能力において、開示の主題を限定するものでない。その上、上記の例示的なメディア表現のいずれかまたは全ては、錐台(frustum)の特定の寸法に基づいて特定のディスプレイの視錐台(viewing frustum)を満たす特定のビュー(views)の選択を可能にするかあるいは容易にするNNモデルを訓練および作成するために、ディープラーニングを利用し、あるいは利用することがある。特定のディスプレイの視野台のために選択されるビューは、シーン表現において明示的に提供される既存のビュー、例えば、MSIまたはMPI技法から補間されることがある。ビューは、特定の仮想カメラ場所、フィルタ、またはこれらのレンダリングエンジンのための仮想カメラの既述に基づいて、レンダリングエンジンから直接レンダリングされることもある。
【0085】
本開示の方法およびデバイスは、(例えば、1つ以上のカメラで)自然にキャプチャされるかあるいはコンピュータ生成技術を用いて作成されるメディアのリアルタイムまたはオンデマンド(例えば、非リアルタイム)配信の要件を十分に満たすことができる、比較的小さいが良く知られている没入型メディア摂取フォーマットのセットが存在すると考えるのに十分な程に堅牢である。
【0086】
NNモデルまたはネットワークベースのレンダリングエンジンのいずれかの使用による没入型メディア摂取フォーマットからのビューの補間は、先進ネットワーク技術(例えば、モバイルネットワーク用の5G)としてさらに容易にされ、ファイバ光ケーブルは、固定ネットワークのために配備される。これらの先進ネットワーク技術は、商用ネットワークの容量および能力を増加させる。何故ならば、そのような先進ネットワークインフラストラクチャは、ますます大量の視覚情報の輸送および送達を支援することができるからである。マルチアクセスエッジコンピューティング(MEC)、ソフトウェア定義ネットワーク(SDN)、およびネットワーク機能仮想化(NFV)のような、ネットワークインフラストラクチャ管理技術は、商用ネットワークサービスプロバイダが、例えば、ネットワークスループット、ネットワーク速度、ラウンドトリップ待ち時間、および計算リソースについての需要の動的な増加または減少に対応するために、特定のネットワークリソースについての需要の変化に適合するように、それらのネットワークインフラストラクチャを柔軟に構成することを可能にする。その上、動的ネットワーク要求に適合するこの固有の能力は、同様に、異種のクライアントエンドポイントのための潜在的に異種のビジュアルメディアフォーマットを有する様々な没入型メディアアプリケーションをサポートするために、没入型メディア摂取フォーマットを適切な配信フォーマットに適合させるネットワークの能力を容易にする。
【0087】
没入型メディアアプリケーション自体も、ゲームの状態におけるリアルタイム更新に応答するために有意に低いネットワーク待ち時間を必要とするゲームアプリケーション、ネットワークのアップリンクおよびダウンリンク部分の両方についての対称的なスループット要求を有するテレプレゼンスアプリケーション、およびデータを消費しているクライアントエンドポイントディスプレイのタイプに依存してダウンリンクリソースについての増大した需要を有することがある受動的な視認(viewing)アプリケーションを含む、ネットワークリソースについての様々な要求を有することがある。一般に、あらゆる消費者向けアプリケーションは、記憶、計算、および電力のための様々な搭載クライアント能力、ならびに特定のメディア表現のための同様の様々な要件を有する、様々なクライアントエンドポイントによってサポートされることがある。
【0088】
従って、本開示の実施形態は、十分に装備されたネットワーク、すなわち、現代のネットワークの特徴の一部または全部を使用するネットワークが、デバイス内で特定される構成に従って複数のレガシーおよび没入型メディア対応デバイスを同時にサポートすることを可能にする。よって、本明細書に記載される没入型メディア配信方法およびプロセスは、メディアの配信のためのリアルタイムおよびオンデマンドの使用事例の両方のために実用的であるメディア摂取フォーマットを利用する柔軟性、レガシーおよび没入型メディア対応クライアントエンドポイントの両方のための自然コンテンツおよびコンピュータ生成コンテンツの両方をサポートする柔軟性、ならびに時限式および非時限式メディアの両方のサポートを提供する。方法およびプロセスは、クライアントエンドポイントの構成および能力に基づいて、ならびにアプリケーションの要件に基づいて、ソースメディア摂取フォーマットを適切な配信フォーマットに動的に適合させる。これは、配信フォーマットがIPベースのネットワークを通じてストリーミング可能であることを保証し、ネットワークが、レガシーおよび没入型メディア対応デバイスの両方を含むことがある複数の異種のクライアントエンドポイントに同時に役立つことを可能にする。さらに、実施形態は、シーン境界に沿った配信メディアの組織化を容易にする例示的なメディア表現フレームワークを提供する。
【0089】
前述の改良を提供する、本開示の実施形態による異種の没入型メディア配信のエンドツーエンド実装が、以下にさらに詳述される、
図3~
図16の詳細な記述に記載される処理およびコンポーネント(構成要素)に従って達成される。
【0090】
上述の異種の没入型メディアを表現およびストリーミングするための技術は、コンピュータ読取可能な命令を使用する、ならびに1つ以上の非一時的なコンピュータ読取可能なメディアに物理的に格納される、コンピュータソフトウェアとして、あるいは1つ以上のハードウェアプロセッサによって、ソースおよび宛先の両方において実装されることがある。
図7は、開示される主題事項の特定の実施形態を実装するのに適したコンピュータシステム700を示している。
【0091】
コンピュータソフトウェアは、コンピュータ中央処理ユニット(CPUs)、グラフィックス処理ユニット(GPUs)などによって、直接的にあるいは補間、マイクロコード実行などを通じて実行されることがある命令を含むコードを生成するために、アセンブリ、コンパイル、リンク、または類似のメカニズムに従うことがある、任意の適切な機械コードまたはコンピュータ言語を用いてコーディング(コード化)されることがある。
【0092】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはそれらのコンポーネントで実行されることがある。
【0093】
コンピュータシステム700についての
図7に示されるコンポーネントは、本質的に例示的であり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲または機能性に関する如何なる制限も示唆することを意図しない。コンポーネントの構成も、コンピュータシステム700の例示的な実施形態に示されるコンポーネントの任意の1つまたは組み合わせに関する如何なる従属性または要件も有していると解釈されてならない。
【0094】
コンピュータシステム700は、特定のヒューマンインターフェース入力デバイスを含むことがある。そのようなヒューマンインターフェース入力デバイスは、例えば、(キーストローク、スワイプ、データグローブの動きのような)触覚入力、(音声、拍手のような)オーディオ入力、(ジェスチャのような)視覚入力、嗅覚入力を通じて、一人以上の人間ユーザによる入力に応答することがある。ヒューマンインターフェースデバイスは、(発話、音楽、周囲音のような)オーディオ、(走査画像、静止画像カメラから得られた写真画像のような)画像、(二次元ビデオ、立体ビデオを含む三次元ビデオのような)ビデオのような、人間による意識的入力に必ずしも直接関係しない特定のメディアをキャプチャするために使用されることもある。
【0095】
入力ヒューマンインターフェースデバイスは、キーボード701、トラックパッド702、マウス703、スクリーン709(各々の1つのみが図示されている)のうちの1つ以上を含むことがあり、それらは、例えば、タッチスクリーン、データグローブ、ジョイスティック704、マイクロホン705、カメラ706、およびスキャナ707であることがある。
【0096】
コンピュータシステム700は、特定のヒューマンインターフェース出力デバイスを含むこともある。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および臭い/味を通じて、1人以上の人間ユーザの感覚を刺激することがある。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、スクリーン709、データグローブ、またはジョイスティック704による触覚フィードバック、しかしながら、入力デバイスとして機能しない触覚フィードバックデバイスがあることもある)、(スピーカ708、ヘッドフォンのような)オーディオ出力デバイス、(各々がタッチスクリーン入力能力を有するかあるいは有さない、各々が触覚フィードバック能力を有するかあるいは有さない、それらの一部が、立体画像出力、仮想現実メガネ、ホログラフディスプレイ、およびスモークタンクのような手段を通じて、二次元の視覚出力または三次元以上の出力を出力することができる、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含む、スクリーン709のような)視覚出力デバイス、およびプリンタを含むことがある。
【0097】
コンピュータシステム700は、CD/DVDまたは同等のメディア710を持つCD/DVD ROM/RW711、親指駆動装置712、取り外し可能ハードドライブまたはソリッドステートドライブ713、テープおよびフロッピーディスクのようなレガシー磁気媒体、セキュリティドングルのような特殊化されたROM/ASIC/PLDベースのデバイス等を含む、光メディアのような、人間がアクセス可能な記憶デバイスおよびそれらの関連媒体を含むこともある。
【0098】
当業者は、本開示の主題事項に関連して使用されるときの「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の過渡信号を包含しないことも理解するはずである。
【0099】
コンピュータシステム700は、1つ以上の通信ネットワーク714へのインターフェース715を含むこともある。ネットワーク714は、例えば、無線、有線、光であってよい。ネットワーク714は、さらに、ローカル、ワイドエリア、メトロポリタン、車両および工業、リアルタイム、遅延耐性などであってよい。ネットワーク714の例は、イーサネット、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラネットワーク、ケーブルTV、衛星TV、および地上放送TVを含むTV無線または有線ワイドエリアデジタルネットワーク、CANBusを含む車両および産業などを含む。特定のネットワーク714は、一般に、(例えば、コンピュータシステム700のUSBポートのような)特定の汎用データポートまたは周辺バス716に取り付けられる外部ネットワークインターフェースアダプタ(例えば、グラフィックスアダプタ725)を必要とする(他のものは、一般に、後述するようなシステムバス(例えば、PCコンピュータシステムへのイーサネットインターフェース、またはスマートフォンコンピュータシステムへのセルラネットワークインターフェース)への取り付けによって、コンピュータシステム700のコアに組み込まれる)。これらのネットワーク714のいずれかを使用して、コンピュータシステム700は、他のエンティティと通信することがある。そのような通信は、単指向性、受信のみ(例えば、放送テレビ)、単指向性送信専用(例えば、特定のCANbusデバイスへのCANbus)、または、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの双指向性であることがある。特定のプロトコルおよびプロトコルスタックは、上述のように、それらのネットワークおよびネットワークインターフェースの各々で使用されることがある。
【0100】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶デバイス、およびネットワークインターフェースは、コンピュータシステム700のコア717に取り付けられることがある。
【0101】
コア717は、1つ以上の中央処理装置(CPU)718、グラフィックス処理装置(GPU)719、フィールドプログラマブルゲートエリア(FPGA)720の形態の特殊化されたプログラマブル処理装置、特定のタスクのためのハードウェアアクセラレータ721などを含むことがある。これらのデバイスは、読出し専用メモリ(ROM)723、ランダムアクセスメモリ(RAM)724、内部ユーザアクセス不能ハードドライブのような内部大容量記憶装置、SSD、および同等物722とともに、システムバス726を通じて接続されることがある。幾つかのコンピュータシステムにおいて、システムバス726は、追加のCPU、GPUなどによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能である。周辺デバイスは、コアのシステムバス726に直接取り付けられることがあり、あるいは周辺バス716を通じて取り付けられることがある。周辺バスのためのアーキテクチャは、PCI、USBなどを含む。
【0102】
CPUs718、GPUs719、FPGAs720、およびアクセラレータ721は、組み合わせにおいて、前述の機械コード(またはコンピュータコード)を構成することがある、特定の命令を実行することがある。そのコンピュータコードは、ROM723またはRAM724に格納されることがある。移行データも、RAM724に格納されることがあるのに対し、永久データは、例えば、内部大容量記憶装置722に格納されることがある。メモリデバイスのいずれかへの高速格納および検索は、キャッシュメモリの使用を通じて可能にされることがあり、キャッシュメモリは、1つ以上のCPU718、GPU719、大容量記憶装置722、ROM723、RAM724などと密接に関連付けられることがある。
【0103】
コンピュータ読取可能媒体は、様々なコンピュータ実装された動作を実行するためのコンピュータコードをその上に有することがある。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されることがあり、あるいは、それらは、コンピュータソフトウェア技術の当業者に良く知られておりかつ利用可能である種類であるのものであることがある。
【0104】
限定としてではなく、一例として、コンピュータシステム700のアーキテクチャ、特にコア717を有するコンピュータシステムは、1つ以上の有形のコンピュータ読取可能媒体に具現されるソフトウェアを実行する(CPU、GPU、FPGA、アクセラレータなどを含む)プロセッサの結果としての機能性を提供することがある。そのようなコンピュータ読取可能媒体は、上述したようなユーザがアクセス可能な大容量記憶装置ならびにコア内部大容量記憶装置722またはROM723のような非一時的な性質のコア717の特定の記憶装置と関連付けられる媒体であることがある。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに格納されることがあり、コア717によって実行されることがある。コンピュータ読取可能媒体は、特定のニーズに従って、1つ以上のメモリデバイスまたはチップを含むことがある。ソフトウェアは、コア717、特にその中の(CPU、GPU、FPGAなどを含む)プロセッサに、RAM724に格納されるデータ構造を定義すること、およびソフトウェアによって定義されるプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行させることがある。追加的にまたは代替的に、コンピュータシステムは、回路(例えば、アクセラレータ721)内に配線されるかあるいは他の方法で具現される論理(ロジック)の結果としての機能性を提供することがあり、回路は、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行するためのソフトウェアの代わりにあるいはそのようなソフトウェアとともに動作することがある。ソフトウェアへの言及は、必要に応じて、論理を包含することがあり、その逆もまた同様である。コンピュータ読取可能媒体への言及は、必要に応じて、実行のためのソフトウェアを格納する(集積回路(IC)のような)回路、実行のための論理を具現する回路、またはそれらの両方を包含することがある。本開示は、ハードウェアおよびソフトウェアの任意の適切な組み合わせを包含する。
【0105】
図7に示されるコンポーネントの数および配置は、一例として提供されている。実際には、入力ヒューマンインターフェースデバイスは、
図7に示すものよりも、追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または異なる配置のコンポーネントを含むことがある。追加的にまたは代替的に、入力ヒューマンインターフェースデバイスのコンポーネント(例えば、1つ以上のコンポーネント)のセットが、入力ヒューマンインターフェースデバイスのコンポーネントの別のセットによって実行されるように記載される1つ以上の機能を実行することがある。
【0106】
実施形態において、
図1~
図6および
図8~
図15の動作またはプロセスのいずれか1つは、
図7に示される要素のいずれか1つによってあるいはそれを使用して実装されることがある。
【0107】
図8は、複数の異種クライアントエンドポイントを提供する例示的なネットワークメディア配信システム800を示している。すなわち、システム800は、クライアントエンドポイントとしての様々なレガシーおよび異種の没入型メディア対応ディスプレイをサポートする。システム800は、コンテンツ取得モジュール801と、コンテンツ準備モジュール802と、送信モジュール803とを含むことがある。
【0108】
コンテンツ取得モジュール801は、例えば、
図6および/または
図5に記載される実施形態を使用して、ソースメディアをキャプチャまたは作成する。コンテンツ準備モジュール802は、摂取フォーマットを生成し、次に、摂取フォーマットは、送信モジュール803を使用してネットワークメディア配信システムに送信される。ゲートウェイ804は、ネットワークのための様々なクライアントエンドポイントへのネットワークアクセスを提供するために、顧客構内機器にサービスを提供することがある。セットトップボックス805も、ネットワークサービスプロバイダによる集約されたコンテンツ(aggregated content)へのアクセスを提供するための顧客構内機器として機能することがある。無線復調器806は、例えば、モバイルハンドセットディスプレイ813で示されるように、モバイルデバイスのためのモバイルネットワークアクセスポイントとして機能することがある。システム800のこの特定の実施形態において、レガシー2Dテレビジョン807は、ゲートウェイ804、セットトップボックス805、またはWiFi(ルータ)808のうちの1つに直接接続されるように示されている。ラップトップ2Dディスプレイ809(すなわち、レガシー2Dディスプレイを有するコンピュータまたはラップトップ)は、WiFi808に接続されたクライアントエンドポイントとして示されている。ヘッドマウント2D(ラスタベースの)ディスプレイ810も、Wi-Fi(ルータ)808に接続される。レンチキュラー光照射野ディスプレイ811が、ゲートウェイ804のうちの1つに接続されて示されている。レンチキュラー光照射野ディスプレイ811は、1つ以上のGPUs811Aと、記憶デバイス811Bと、光線ベースのレンチキュラー光学技術を使用して複数のビューを生成する視覚プレゼンテーションコンポーネント811Cとを含むことがある。ホログラフィックディスプレイ812が、セットトップボックス805に接続されて示されている。ホログラフィックディスプレイ812は、1つ以上のCPUs812Aと、GPUs812Bと、記憶デバイス812Cと、可視化コンポーネント812Dとを含むことがある。可視化コンポーネント812Dは、フレネルパターン、波ベースのホログラフィックデバイス/ディスプレイであることがある。拡張現実(AR)ヘッドセット814が、無線復調器806に接続されて示されている。ARヘッドセット814は、GPU814Aと、記憶デバイス814Bと、バッテリ814Cと、容積視覚プレゼンテーションコンポーネント814Dとを含むことがある。高密度光照射野ディスプレイ815が、WiFi(ルータ)808に接続されるように示されている。高密度光照射野ディスプレイ815は、1つ以上のGPUs815Aと、CPUs815Bと、記憶デバイス815Cと、眼追跡デバイス815Dと、カメラ815Eと、高密度光線ベースの光照射野パネル815Fとを含むことがある。
【0109】
図8に示されるコンポーネントの数および配置は、一例として提供されている。実際には、システム800は、
図8に示されるものよりも追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または異なって配置されたコンポーネントを含むことがある。追加的にまたは代替的に、システム800のコンポーネント(例えば、1つ以上のコンポーネント)のセットは、デバイスまたはそれぞれのディスプレイのコンポーネントの別のセットによって実行されるものとして記載される1つ以上の機能を実行することがある。
【0110】
図9は、
図8に前述したようなレガシーおよび異種の没入型メディア対応ディスプレイにサービスを提供することができる没入型メディア配信プロセス900の例示的なワークフローを示している。ネットワークによって実行される没入型メディア配信プロセス900は、例えば、特定の没入型メディアクライアントエンドポイントによって(
図10を参照して記載されたように)消費のためにメディアを適合させるネットワークのプロセスの前に、メディア摂取フォーマットで表現される特定のメディアに関する適合情報を提供することがある。
【0111】
没入型メディア配信プロセス900は、2つの部分、すなわち、破線912の左側にある没入型メディア生成と、破線912の右側にある没入型メディアネットワーク配信とに分割されることがある。没入型メディア生成および没入型メディアネットワーク配信は、ネットワークまたはクライアントデバイスによって実行されることがある。
【0112】
第1に、メディアコンテンツ901は、それぞれ、ネットワーク(またはクライアントデバイス)によって、あるいはコンテンツソースから作成されるか、あるいは獲得される。データを作成または獲得する方法は、例えば、それぞれ、自然コンテンツおよび合成コンテンツについて、
図5および
図6において具現されている。次に、作成されたコンテンツ901は、ネットワーク摂取フォーマット作成プロセス902を使用して摂取フォーマットに変換される。ネットワーク摂取生成プロセス902も、それぞれ、自然コンテンツおよび合成コンテンツについて
図5および
図6において具現されている。摂取フォーマットは、例えば、(
図10および
図14Aを参照して後に詳述される)没入型メディアデータアナライザ911からの複雑性分析情報を格納するように更新されることもある。摂取フォーマットは、ネットワークに送信され、摂取メディア記憶装置903(すなわち、記憶デバイス)に格納される。幾つかの実施形態において、記憶デバイスは、没入型メディアコンテンツ生成者のネットワーク内にあることがあり、没入型メディアネットワーク配信920のために遠隔にアクセスされることがある。クライアントおよびアプリケーション特異な情報が、任意に、遠隔記憶デバイス、クライアント特異な情報904内で利用可能である。幾つかの実施形態において、クライアント特異な情報904は、代替的なクラウドネットワーク内に遠隔に存在することがあり、ネットワークに送信されることがある。
【0113】
次に、ネットワークオーケストレータ905(network orchestrator)が実行される。ネットワークオーケストレーション(network orchestration)は、ネットワークの主要なタスクを実行するための情報の一次ソースおよびシンクとして機能する。ネットワークオーケストレータ905は、ネットワークの他のコンポーネントと一体化されたフォーマットにおいて実装されることがある。ネットワークオーケストレータ905は、クライアントデバイスの特性に従ったメディアの全ての処理および配信を容易にするためにクライアントデバイスとともに双方向メッセージプロトコルをさらに使用するプロセスであることがある。さらに、双方向プロトコルは、異なる送達チャネル(例えば、コントロールプレーンチャネルおよび/またはデータプレーンチャネル)にわたって実装されることがある。
【0114】
図9に示されるように、ネットワークオーケストレータ905は、クライアントデバイス908の構成および属性に関する情報を受信する。ネットワークオーケストレータ905は、クライアントデバイス908上で現在動作しているアプリケーションに関する仕様を収集する。この情報は、クライアント特異な情報904から得られることがある。幾つかの実施形態では、この情報は、クライアントデバイス908に直接問い合わせることによって得られることがある。クライアントデバイスが直接問い合わされるときには、クライアントデバイス908がネットワークオーケストレータ905と直接通信することができるように、双方向プロトコルが存在し且つ動作すると仮定される。
【0115】
ネットワークオーケストレータ905は、(
図10に記載される)メディア適合および断片化モジュール910(media adaptation and fragmentation module)を開始し、これらと通信することがある。摂取メディアが、メディア適合および断片化モジュール910によって適合され且つ断片化されると、メディアは、配信のために準備されたメディアのように中間記憶デバイスに転送されることがある。配信メディアが準備され、配信909記憶デバイスのために準備されたメディアに格納されると、ネットワークオーケストレータ905は、クライアントデバイス908が、配信メディアおよび記述情報906を「プッシュ(push)」要求を通じて受信するか、あるいは、クライアントデバイス908が、配信909のために準備された記憶媒体から、配信メディアおよび記述情報906の「プル(pull)」要求を開始することがあることを確実にする。情報は、クライアントデバイス908のネットワークインターフェース908Bを介して「プッシュされる」か、あるいは「プルされる」ことがある。「プッシュされた」あるいは「プルされた」配信メディアおよび記述情報906は、配信メディアに対応する記述情報であることがある。
【0116】
幾つかの実施形態において、ネットワークオーケストレータ905は、「プッシュ」要求を実行するか、あるいはクライアントデバイス908による「プル」要求を開始するために、双方向メッセージインターフェースを使用する。クライアントデバイス908は、任意に、GPUs908C(またはCPUs)を使用することがある。
【0117】
次に、配信メディアフォーマットは、クライアントデバイス908に含まれる記憶デバイスまたは記憶キャッシュ908Dに格納される。最後に、クライアントデバイス908は、視覚化コンポーネント908Aを介してメディアを視覚的に提示する。
【0118】
没入型メディアをクライアントデバイス908にストリーミングするプロセスを通じて、ネットワークオーケストレータ905は、クライアント進行および状態フィードバックチャネル907を介してクライアントの進行の状態を監視(モニタリング)する。幾つかの実施形態において、状態の監視は、双方向通信メッセージインターフェースを通じて実行されることがある。
【0119】
図10は、例えば、メディア適合及び断片化モジュール910によって実行される、メディア適合プロセス1000の一例を示している。メディア適合プロセス1000を実行することによって、摂取されたソースメディアは、クライアント(例えば、クライアントデバイス908)の仕様に整合する(match)ように適切に適合される(adapted)ことがある。
【0120】
図10に示されるように、メディア適合プロセス1000は、クライアントデバイス908のための適切な配信フォーマットへの摂取メディアの適応を容易にする複数のコンポーネントを含む。
図10に示されるコンポーネントは、例示的なものとみなされるべきである。実際には、メディア適合プロセス1000は、
図10に示されるものよりも追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または異なって配置されるコンポーネントを含むことがある。追加的にまたは代替的に、メディア適合プロセス1000のコンポーネント(例えば、1つ以上のコンポーネント)のセットが、コンポーネントの別のセットによって実行されるものとして記載される1つ以上の機能を実行することがある。
【0121】
図10において、適合モジュール1001は、ネットワーク上の現在のトラフィック負荷を追跡するために、ネットワーク状態1005を入力する。既述のように、適合モジュール1001は、ネットワークオーケストレータ905からも情報を受信する。情報は、クライアントデバイス908の属性および構成記述と、アプリケーション構成および記述と、アプリケーションの現在の状態と、クライアントの錐台の幾何学的形状を摂取没入型メディアの補間能力にマッピングするのを助けるクライアントNNモデルとを含むことがある。そのような情報は、双方向メッセージインターフェースによって得られることがある。適合モジュール1001は、適合出力が生成されたときに、適合出力がクライアント適合メディア1006を格納する記憶デバイスに格納されることを確実にする。
【0122】
没入型メディアデータアナライザ911は、先験的にあるいはメディアの配信のためのネットワーク自動化プロセスの一部として実行されることがある任意的なプロセスであることがある。没入型メディアデータアナライザ911は、摂取メディアフォーマットおよび資産を記憶デバイス1002に格納することがある。次に、摂取メディアフォーマットおよび資産は、記憶デバイス1002から適合モジュール1001に送信されることがある。
【0123】
適合モジュール1001は、論理コントローラ1001Fによって制御されることがある。適合モジュール1001は、レンダラ1001Bまたはプロセッサ1001Cを使用して、特定の摂取ソースメディアをクライアントに適したフォーマットに適合させることもある。プロセッサ1001Cは、NNベースのプロセッサであることがある。プロセッサ1001Cは、NNモデル1001Aを使用する。そのようなプロセッサ1001Cの例は、MPIおよびMSIに記載されているようなDeepview NNモデルジェネレータを含む。メディアが2Dフォーマットにあるが、クライアントが3Dフォーマットを持たなければならないならば、プロセッサ1001Cは、2Dビデオ信号からの高度に相関した画像を使用して、メディアに描かれたシーンの容積表現を導出するプロセスを呼び出すことがある。
【0124】
レンダラ1001Bは、音響物理学、光物理学、視覚知覚、オーディオ知覚、数学、およびソフトウェア開発に関する学問分野の選択的な混合に基づく、ソフトウェアベース(またはハードウェアベース)のアプリケーションまたはプロセスであることがあり、それは、入力シーングラフおよび資産コンテナが与えられると、ターゲットとされるデバイス上でのプレゼンテーションに適した、またはシーングラフ内のレンダリングターゲットノードの属性によって指定されるような所望の特性に適合する、(典型的に)視覚信号および/またはオーディオ信号を発する。視覚ベースのメディア資産の場合、レンダラは、ターゲットとされるディスプレイまたは(例えば、別のコンテナに再パッケージ化され、グラフィックスパイプラインにおける一連のレンダリングプロセスで使用される)中間資産としての保存に適した視覚信号を発することがある。オーディオベースのメディア資産の場合、レンダラは、マルチチャネルラウドスピーカおよび/または双ナウラライズされた(re-nauralized)ヘッドフォンでのプレゼンテーションのために、あるいは別の(出力)コンテナへの再パッケージ化のために、オーディオ信号を発することがある。レンダラは、例えば、ソースおよびクロスプラットフォームゲームエンジンのリアルタイムレンダリング構成を含む。レンダラは、ランタイムにレンダラによって実行されて、シーングラフノードに対して行われた動的入力および可変状態変化を処理することがある、スクリプト言語(すなわち、解釈されたプログラミング言語)を含むことがある。動的入力および可変状態変化は、(物理的力、制約、逆運動学、変形、衝突を含む)空間的および時間的オブジェクトトポロジーのレンダリングおよび評価、ならびにエネルギー伝搬および輸送(光、音)に影響を及ぼすことがある。空間的および時間的オブジェクトのトポロジーの評価は、出力を抽象から具体的な結果に移動させる(例えば、ウェブページの文書オブジェクトモデルの評価に類似する)結果を生成する。
【0125】
レンダラ1001Bは、例えば、適合モジュール1001と直接対話するように修正されるOTOY Octaneレンダラの修正バージョンであることがある。幾つかの実施形態において、レンダラ1001Bは、シーンの照明が現実に忠実であるように、三次元シーンをレンダリングするコンピュータグラフィックス方法(例えば、経路トレーシング(path tracing))を実装する。幾つかの実施形態において、レンダラ1001Bは、元々はシェーダ(すなわち、シェーディング(画像内の光、暗さ、および色の適切なレベルの生成)のために使用されたが、今ではコンピュータグラフィックス特殊効果の様々な分野、シェーディングとは無関係のビデオ後処理、およびグラフィックスとは無関係の他の機能において、様々な特殊化された機能を実行する、コンピュータプログラムのタイプ)を使用することがある。
【0126】
適合モジュール1001は、摂取メディアのフォーマットおよびクライアントデバイス908によって要求されるフォーマットに基づいた圧縮および解凍の必要性に依存して、メディア圧縮器1001Dおよびメディア解凍器1001Eをそれぞれ使用して、メディアコンテンツの圧縮および解凍を実行することがある。メディア圧縮器1001Dは、メディアエンコーダであることがあり、メディア解凍器1001Eは、メディアデコーダであることがある。(必要であるならば)圧縮および解凍を実行した後に、適合モジュール1001は、クライアントデバイス908へのストリーミングまたは配信に最適なクライアント適合メディア1006を出力する。クライアント適合メディア1006は、適合メディアを格納するための記憶デバイスに格納されることがある。
【0127】
図11は、例示的な配信フォーマット作成プロセス1100を示している。
図11に示されるように、配信フォーマット作成プロセス1100は、メディア適合プロセス1000から出力されかつクライアント適合メディア1006として格納されたメディアをパッケージ化する適合メディアパッケージ化モジュール1103を含む。メディアパッケージングモジュール1103は、クライアント適合メディア1006からの適合メディアを堅牢な配信フォーマット1104にフォーマット化する。配信フォーマットは、例えば、
図3または
図4に示される例示的なフォーマットであることがある。情報マニフェスト1104A(information manifest)が、シーンデータ資産1104Bのリストをクライアントデバイス908に提供することがある。シーンデータ資産1104Bのリストは、シーンデータ資産1104Bのリスト内の資産の全ての複雑性を記述する複雑性メタデータを含むこともある。シーンデータ資産1104Bのリストは、視覚資産、オーディオ資産、および触覚資産のリストを示し、各々は、それぞれに対応するメタデータを持つ。
【0128】
メディアは、ストリーミング前にさらにパケット化されることがある。
図12は、例示的なパケット化プロセス1200(packetizing process)を示している。パケット化システム1200は、パケット化装置1202(packetizer)を含む。パケット化装置1202は、(
図12に示すように)シーンデータ資産1104Bのリストを入力メディア1201として受信することがある。幾つかの実施形態において、クライアント適合メディア1006または配信フォーマット1104は、パケット化装置1202に入力される。パケット化装置1202は、入力メディア1201を、ネットワーク上のクライアントデバイス908への表現およびストリーミングに適した個々のパケット1203に分離する。
【0129】
図13は、実施形態によるコンポーネント間のデータおよび通信の流れの一例を示すシーケンス図である。
図13のシーケンス図は、摂取フォーマットにある特定の没入型メディアを特定の没入型クライアントエンドポイントのためのストリーミング可能で適切な配信フォーマットに適合させるネットワークの図である。データおよび通信の流れは、以下の通りである。
【0130】
クライアントデバイス908は、ネットワークオーケストレータ905に対するメディア要求1308を開始する。幾つかの実施形態において、要求は、クライアントデバイスのネットワーク配信インターフェースに対して行われることがある。メディア要求1308は、クライアントデバイス908によって要求されるメディアを識別するための情報を含む。メディア要求は、例えば、ユニフォームリソースネーム(URN)または別の標準命名法によって識別されることがある。次に、ネットワークオーケストレータ905は、プロファイル要求1309でメディア要求1308に応答する。プロファイル要求1309は、クライアントが、(クライアントの現在の動作状態を特徴付ける計算、記憶装置、充電されたバッテリの割合、および他の情報を含む)現在利用可能なリソースに関する情報を提供することを要求する。プロファイル要求1309は、そのようなNNモデルがクライアントエンドポイントで利用可能であるならば、クライアントが、クライアントのプレゼンテーションシステムの構成に一致するように、正しいメディアビューを抽出または補間するために、NN推論のためにネットワークによって使用されることがある1つ以上のNNモデルを提供することも要求する。
【0131】
次に、クライアントデバイス908は、クライアントデバイス908から、クライアントトークン、アプリケーショントークン、および(そのようなNNNモデルトークンがクライアントエンドポイントで利用可能であるならば)1つ以上のNNモデルトークンとして提供されるネットワークオーケストレータ905への応答1310に従う。次に、ネットワークオーケストレータ905は、クライアントデバイスにセッションIDトークン1311を提供する。次に、ネットワークオーケストレータ905は、摂取メディアサーバ1303からの摂取メディア1312を要求する。摂取メディアサーバ1303は、例えば、摂取メディア記憶装置903または摂取メディアフォーマットおよび記憶デバイス1002の資産を含むことがある。摂取メディア1312についての要求は、要求1308において識別されるメディアについてのURNまたは他の標準名を含むこともある。摂取メディアサーバ1303は、摂取メディア1312要求に対して、摂取メディアトークンを含む応答1313で応答する。次に、ネットワークオーケストレータ905は、呼び出し1314における応答1313からのメディアトークンをクライアントデバイス908に提供する。次に、ネットワークオーケストレータ905は、適応および断片化モジュール910に、摂取メディアトークン、クライアントトークン、アプリケーショントークン、およびNNモデルトークンを提供することによって、要求1315における要求されたメディアのための適合プロセスを開始する。適合および断片化モジュール910は、摂取メディア資産へのアクセスを要求する要求1316で、摂取メディアサーバ1303に摂取メディアトークンを提供することによって摂取メディアへのアクセスを要求する。
【0132】
摂取メディアサーバ1303は、適合および断片化モジュール910に対する応答1317において、摂取メディアアクセストークンで要求1316に応答する。次に、適合および断片化モジュール910は、メディア適合プロセス1000が、クライアント、アプリケーション、および応答1313で作成および送信されるセッションIDトークンに対応するNN推論モデルのために、摂取メディアアクセストークンに位置する摂取メディアを適合することを要求する。適合および断片化モジュール910からメディア適合プロセス1000への要求1318が行われる。要求1318は、所要のトークンおよびセッションIDを含む。メディア適合プロセス1000は、更新応答1319において、ネットワークオーケストレータ905に、適合メディアアクセストークンおよびセッションIDを提供する。次に、ネットワークオーケストレータ905は、インターフェース呼び出し1320において、メディアパッケージ化モジュール1103に、適合メディアアクセストークンおよびセッションIDを提供する。メディアパッケージ化モジュール1103は、応答1321において、ネットワークオーケストレータ905への応答1321に、パッケージ化されたメディアアクセストークンおよびセッションIDを提供する。次に、メディアパッケージ化モジュール1103は、応答1322において、セッションIDのためのパッケージ化された資産、URN、およびセッションIDのためのパッケージ化されたメディアアクセストークンを、格納されるべきパッケージ化メディアサーバ1307に提供する。続いて、クライアントデバイス908は、パッケージ化メディアサーバ1307に対する要求1323を実行して、応答1321において受信されるパッケージ化メディアアクセストークンに対応するメディア資産のストリーミングを開始する。最後に、クライアントデバイス908は、他の要求を実行し、メッセージ1324における状態更新をネットワークオーケストレータ905に提供する。
【0133】
図14Aは、
図9に示される没入型メディアデータアナライザ911のためのワークフローを示している。没入型メディアデータアナライザ911は、メディアデータに含まれるシーンのオブジェクトの複雑性を分析する。
【0134】
S1401で、メディアデータが、例えば、コンテンツプロバイダから取得される。S1402で、オブジェクトデータが、メディアデータ内のシーンから読み出される。オブジェクトデータは、1つ以上のオブジェクトからのデータを含むことがある。幾つかの実施形態において、オブジェクトデータは、シーン内のオブジェクトのセットに対応するデータである。幾つかの実施形態において、オブジェクトデータは、メディアデータから直接抽出される。
【0135】
S1403で、オブジェクトデータが成功裡に読み出されたかどうかを決定する決定プロセスが実行される。データが成功裡に読み出されないならば(S1403でNO)、処理は、S1409に続く。S1409で、没入型メディアデータアナライザ911の分析が終了する。データが成功裡に読み出されるならば(S1403でYES)、処理は、S1404に続く。S1404で、オブジェクトの属性(以下、「属性情報」)が、オブジェクトデータから読み出されるか、あるいは取り出される。幾つかの実施形態において、属性情報は、オブジェクトデータからのオブジェクトを記述するアクセス属性に構文解析される。属性情報に含まれる各属性は、S1405への入力として提供される。
【0136】
S1405で、S1404で読み出された/取り出された属性が検査されて、属性が(
図14Bに示される)複雑性属性1410のリストに含まれるかどうかが決定される。読み出された/取り出された属性が複雑性属性1410のリストに含まれる複雑性属性の1つであるならば(S1405でYES)、処理は、S1406に続く。S1406で、複雑性属性の値が取り出される。値は、複雑性属性の複雑性のレベルに基づいて事前定義されることがある。次に、値は、オブジェクトのための(例えば、記憶デバイス内の)複雑性要約(または分析要約)領域に格納される。複雑性要約内の情報は、オブジェクトの複雑性情報である。次に、処理は、S1407に進む。
【0137】
読み出された/取り出された属性が、複雑性属性1410のリストに含まれる複雑性属性の1つでないならば(S1405におけるNO)、処理は、S1407に続く。S1407で、オブジェクトから読み出すべきより多くの属性があるかどうかが決定される。読み出されるべき属性がそれ以上ないならば、処理は、S1408に続く。
【0138】
幾つかの実施形態において、オブジェクトについての全ての属性は、S1404で読み出される。この場合、S1407は、全ての属性が検査されたかどうかを決定する。それらが全て検査されているならば、処理は、S1408に進む。それらが全て検査されていないならば、処理は、S1405に続くことがある。
【0139】
S1408で、オブジェクトについての複雑性要約が、オブジェクトを包含するシーンについての複雑性データを格納するために識別された領域に書き込まれる。シーン内の様々なオブジェクトの複雑性要約は、シーンの複雑性の要約に集約され、かつ格納される。次に、シーンの集約された複雑性要約は、シーンについての複雑性データを格納するために識別された領域(例えば、シーンのビットストリーム内の場所)に書き込まれることがある。次に、処理は、S1402に続き、そこでは、次のオブジェクトまたは別のオブジェクトが、シーンから読み出される。さらに、コンテンツプロバイダから受信されるメディアデータの摂取フォーマットを変換する決定または変換するかどうかが、シーンについての複雑性データに基づいて決定されることがある。摂取データの転換の必要性は、シーン毎に決定されることがある。幾つかの実施形態では、フォーマットが転換される必要があるかどうかは、摂取データ(すなわち、コンテンツプロバイダから受信されるメディアデータ)内の全てのシーンの複雑性データの集約に基づいて決定される。
【0140】
図13~
図14を参照して記載されるシーケンス図およびワークフローにおけるステップは、実施形態におけるデータおよび通信フローの構成を制限することを意図しないことに留意のこと。例えば、ステップのうちの1つ以上は、同時に実行されることがあり、データは、
図13~
図14Aなどのフローに明示的に示されていない方向に格納されるおよび/または流れることがある。
【0141】
図14Bは、実施形態による、複雑性属性1410のリストの一例である。複雑性属性1410のリストは、先験的に識別されることがあり、あるいは、ネットワークまたはクライアントデバイスによって事前に定義されることがある。S1405で決定を行うために、没入型メディアデータアナライザ911は、例えば、属性情報を複雑性属性1410のリスト内の複雑性属性と比較することがある。複雑性属性のリスト1410内の複雑性属性は、限定されるものではないが、オブジェクトを処理するのに必要とされる記憶装置の量に影響を与えるオブジェクトのサイズ、GPUによって必要とされる処理の量の指標であることがあるオブジェクトについてのポリゴンの数、GPUまたはCPUによって必要とされる処理の量の指標であることがある固定小数点対浮動小数点の数値表現、GPUまたはCPUによって必要とされる処理の量の指標であることもあるビット深度、処理されるときにデータ値のサイズの指標であることがある単一浮動小数点対二重浮動小数点の数値表現、光がシーンのためにどのように配光されるかの物理学をモデル化するプロセスをシーンが受ける必要があることを示すことがある配光関数の存在、光の物理学をモデル化するために配光関数の複雑性を示すことがある配光関数の種類、オブジェクトがどのようにシーン内に(回転、並進、およびスケーリングを介して)配置される必要があるかの複雑性を示すことがある(存在する場合の)所要の変換プロセスを含むことがある。
【0142】
図15は、実施形態による、シーンのオブジェクトの複雑性を特徴付けるためのコンピュータコード1500の一例のブロック図である。実施形態において、コンピュータコードは、例えば、プログラムコードまたはコンピュータプログラムコードであることがある。本開示の実施形態によれば、コンピュータプログラムコードを格納するメモリを備える少なくとも1つのプロセッサを含む装置/デバイスが提供されることがある。コンピュータプログラムコードは、少なくとも1つのプロセッサによって実行されるときに、本開示の任意の数の態様を実行するように構成されることがある。
【0143】
図15に示されるように、コンピュータコード1500は、受信コード1510と、取得コード1520と、分析コード1530と、生成コード1540と、決定コード1550とを含むことがある。
【0144】
受信コード1510は、少なくとも1つのプロセッサに、コンテンツソースから複数のシーンを含む没入型メディアデータを受信させるように構成される。
【0145】
取得コード1520は、少なくとも1つのプロセッサに、没入型メディアデータから、複数のシーンにおけるそれぞれのシーンのそれぞれのオブジェクトを取得させるように構成される。
【0146】
分析コード1530は、少なくとも1つのプロセッサに、それぞれのシーンを分析させて、それぞれのシーンのそれぞれのオブジェクトに関連する複雑性情報を生成させるように構成される。
【0147】
生成コード1540は、少なくとも1つのプロセッサに、それぞれのシーンのそれぞれのオブジェクトに関連付けられたメタデータを生成させるように構成され、メタデータは、複雑性情報を含む。
【0148】
決定コード1550は、少なくとも1つのプロセッサに、生成されるメタデータに基づいた処理のために、それぞれのシーンをクライアントに配信するかどうかを決定させるように構成される。
【0149】
図15は、コードのブロックの例を示しているが、幾つかの実装において、装置/デバイスは、
図15に示されるものよりも追加のブロック、より少ないブロック、異なるブロック、または異なって配置されたブロックを含むことがある。追加的にまたは代替的に、装置/デバイスのブロックのうちの2つ以上は、組み合わされることがある。換言すれば、
図15は、コードの別個のブロックを示しているが、様々なコード命令は、別個である必要はなく、混在し得る。
【0150】
本開示は、幾つかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換、および様々な代替的な均等物がある。よって、当業者は、本明細書に明示的に示されていないか、あるいは記載されていないが、本開示の原理を具体化し、よって、本開示の精神および範囲内にある、多くのシステムおよび方法を考案することができることが理解されるであろう。
【国際調査報告】