IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特表2024-539002没入型メディア用のストリーミングシーン優先順位付け部
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-28
(54)【発明の名称】没入型メディア用のストリーミングシーン優先順位付け部
(51)【国際特許分類】
   H04N 21/236 20110101AFI20241018BHJP
   H04N 21/238 20110101ALI20241018BHJP
【FI】
H04N21/236
H04N21/238
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024522107
(86)(22)【出願日】2023-05-02
(85)【翻訳文提出日】2024-04-11
(86)【国際出願番号】 US2023066479
(87)【国際公開番号】W WO2023220535
(87)【国際公開日】2023-11-16
(31)【優先権主張番号】63/341,191
(32)【優先日】2022-05-12
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/342,526
(32)【優先日】2022-05-16
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/342,532
(32)【優先日】2022-05-16
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/344,907
(32)【優先日】2022-05-23
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/354,071
(32)【優先日】2022-06-21
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/355,768
(32)【優先日】2022-06-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/416,390
(32)【優先日】2022-10-14
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/416,395
(32)【優先日】2022-10-14
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/422,175
(32)【優先日】2022-11-03
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/428,698
(32)【優先日】2022-11-29
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/137,849
(32)【優先日】2023-04-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】ポール・スペンサー・ドーキンス
(72)【発明者】
【氏名】アリアンヌ・ハインズ
(72)【発明者】
【氏名】ステファン・ヴェンガー
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA06
5C164MA02S
5C164MB44S
5C164SB01P
5C164SB26P
5C164SB41S
5C164YA02
(57)【要約】
本開示の態様は、没入型メディア処理のための方法および装置を提供する。いくつかの例では、メディア処理の方法は、光照射野ベースのディスプレイで再生するためのシーンベースの没入型メディアを受信するステップを含む。シーンベースの没入型メディアは複数のシーンを含む。方法は、シーンベースの没入型メディアの複数のシーンにそれぞれ優先度の値を割り当てるステップ、および優先度の値に従って複数のシーンをエンドデバイスにストリーミングするための順序を決定するステップを含む。いくつかの例では、メディア処理の方法は、光照射野ベースのディスプレイで再生するためのシーンベースの没入型メディアを受信するステップを含む。シーンベースの没入型メディアのシーンは、第1の順序の複数のアセットを含む。方法は、複数のアセットをエンドデバイスにストリーミングするための第2の順序を決定するステップを含み、第2の順序は第1の順序とは異なる。
【特許請求の範囲】
【請求項1】
没入型メディア処理の方法であって、
ネットワークデバイスにより、光照射野ベースのディスプレイで再生するためのシーンベースの没入型メディアを受信するステップであって、前記シーンベースの没入型メディアは没入型メディアの複数のシーンを含む、ステップと、
前記シーンベースの没入型メディアの前記複数のシーンにそれぞれ優先度の値を割り当てるステップと、
前記優先度の値に従って前記複数のシーンをエンドデバイスにストリーミングするための順序を決定するステップと
を含む、方法。
【請求項2】
前記順序を決定する前記ステップは、
前記優先度の値に従って前記複数のシーンを再度順位付けするステップと、
前記再度順位付けされた複数のシーンを前記エンドデバイスに送信するステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記順序を決定する前記ステップは、
優先度認識ネットワークデバイスにより、前記複数のシーンの中の未送信であるシーンのサブセットから、最も高い優先度の値を有する最も高い優先度のシーンを選択するステップと、
前記最も高い優先度のシーンを前記エンドデバイスに送信するステップと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記優先度の値を割り当てる前記ステップは、
前記シーンをレンダリングする必要性の尤度に基づいてシーンに対する優先度の値を決定するステップ
をさらに含む、請求項1に記載の方法。
【請求項5】
利用可能なネットワーク帯域幅が制限されていると判定するステップと、
前記複数のシーンの中の未送信であるシーンのサブセットから、最も高い優先度の値を有する最も高い優先度のシーンを選択するステップと、
前記利用可能なネットワーク帯域幅が制限されていることに応じて、前記最も高い優先度のシーンを送信するステップと
をさらに含む、請求項1に記載の方法。
【請求項6】
利用可能なネットワーク帯域幅が制限されていると判定するステップと、
前記優先度の値に基づいて、次にレンダリングするために必要とされる可能性が低い前記複数のシーンのサブセットを特定するステップと、
前記利用可能なネットワーク帯域幅が制限されることに応じて、前記複数のシーンの前記サブセットをストリーミングから控えるステップと
をさらに含む、請求項1に記載の方法。
【請求項7】
前記優先度の値を割り当てる前記ステップは、
第1のシーンと第2のシーンとの間の関係に応じて、前記第2のシーンの第2の優先度の値に基づいて前記第1のシーンに第1の優先度の値を割り当てるステップ
をさらに含む、請求項1に記載の方法。
【請求項8】
前記エンドデバイスからフィードバック信号を受信するステップと、
前記フィードバック信号に基づいて、前記複数のシーンのうちの少なくとも1つのシーンの優先度の値を調整するステップと
をさらに含む、請求項1に記載の方法。
【請求項9】
現在のシーンが第1のシーンに関連している第2のシーンであることを示す前記フィードバック信号に応じて、前記第1のシーンに最高の優先度を割り当てるステップ
をさらに含む、請求項8に記載の方法。
【請求項10】
前記フィードバック信号が、前記エンドデバイスによって決定される優先度の調整を示す、請求項8に記載の方法。
【請求項11】
没入型メディア処理の方法であって、
光照射野ベースのディスプレイを有するエンドデバイスにより、前記光照射野ベースのディスプレイによる再生のためのシーンベースの没入型メディアのメディアプレゼンテーション記述(MPD)を受信するステップであって、前記シーンベースの没入型メディアは没入型メディアの複数のシーンを含み、前記MPDは前記複数のシーンを前記エンドデバイスに順番にストリーミングすることを示す、ステップと、
帯域幅利用可能性を検出するステップと、
前記帯域幅利用可能性に基づいて少なくとも1つのシーンの順序の変更を決定するステップと、
前記少なくとも1つのシーンの前記順序の変更を示すフィードバック信号を送信するステップと
を含む、方法。
【請求項12】
前記フィードバック信号は、レンダリングする次のシーンを示す、請求項11に記載の方法。
【請求項13】
前記フィードバック信号は、前記少なくとも1つのシーンの優先度の値の調整を示す、請求項11に記載の方法。
【請求項14】
前記フィードバック信号が現在のシーンを示す、請求項11に記載の方法。
【請求項15】
没入型メディア処理の方法であって、
ネットワークデバイスにより、光照射野ベースのディスプレイで再生するためのシーンベースの没入型メディアを受信するステップであって、前記シーンベースの没入型メディアのシーンは、第1の順序の複数のアセットを含む、ステップと、
前記複数のアセットをエンドデバイスにストリーミングするための第2の順序を決定するステップであって、前記第2の順序は前記第1の順序とは異なる、ステップと
を含む、方法。
【請求項16】
前記複数のアセットの1つまたは複数の属性に従って前記シーンの前記複数のアセットにそれぞれ優先度の値を割り当てるステップと、
前記優先度の値に従って前記複数のアセットをストリーミングするための前記第2の順序を決定するステップと
を含む、請求項15に記載の方法。
【請求項17】
前記アセットのサイズに従って前記シーンのアセットに優先度の値を割り当てるステップ
を含む、請求項16に記載の方法。
【請求項18】
前記シーンのデフォルトのエントリ位置に関連付けられた前記アセットの可視性に従って前記シーンのアセットに優先度の値を割り当てるステップ
を含む、請求項16に記載の方法。
【請求項19】
前記複数のアセットの第1の属性に基づいて前記複数のアセットに第1の優先度の値のセットを割り当てるステップであって、前記第1の優先度の値のセットは、第1の優先順位付け方式で前記複数のアセットを順序付けるために使用される、ステップと、
前記複数のアセットの第2の属性に基づいて前記複数のアセットに第2の優先度の値のセットを割り当てるステップであって、前記第2の優先度の値のセットは、第2の優先順位付け方式で前記複数のアセットを順序付けるために使用される、ステップと、
前記エンドデバイスの情報に従って前記第1の優先順位付け方式および前記第2の優先順位付け方式から前記エンドデバイスの優先順位付け方式を選択するステップと、
前記選択された優先順位付け方式に従ってストリーミングのために前記複数のアセットを順序付けるステップと
を含む、請求項16に記載の方法。
【請求項20】
第1のアセットが第2のアセットよりも計算の複雑度が高いことに応じて、前記第1のアセットに第1の優先度の値を割り当て、前記第2のアセットに第2の優先度の値を割り当てるステップであって、前記第1の優先度の値は前記第2の優先度の値よりも高い、ステップ
を含む、請求項16に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2023年4月21日に出願された米国仮特許出願第18/137,849号「STREAMING SCENE PRIORITIZER FOR IMMERSIVE MEDIA」に対する優先権の利益を主張するものであり、それは、2022年5月12日に出願された米国仮特許出願第63/341,191号「STREAMING SCENE PRIORITIZER FOR LIGHTFIELD HOLOGRAPHIC MEDIA」、2022年5月16日に出願された米国仮特許出願第63/342,532号「STREAMING SCENE PRIORITIZER FOR LIGHTFIELD,HOLOGRAPHIC AND/OR IMMERSIVE MEDIA」、2022年5月16日に出願された米国仮特許出願第63/342,526号「STREAMING ASSET PRIORITIZER FOR LIGHTFIELD,HOLOGRAPHIC AND/OR IMMERSIVE MEDIA BASED ON ASSET SIZE」、2022年5月23日に出願された米国仮特許出願第63/344,907号「STREAMING ASSET PRIORITIZER FOR LIGHTFIELD,HOLOGRAPHIC,OR IMMERSIVE MEDIA BASED ON ASSET VISIBILITY」、2022年6月21日に出願された米国仮特許出願第63/354,071号「PRIORITIZING STREAMING ASSETS FOR LIGHTFIELD,HOLOGRAPHIC AND/OR IMMERSIVE MEDIA BASED ON MULTIPLE POLIICIES」、2022年6月27日に出願された米国仮特許出願第63/355,768号「SCENE ANALYZER FOR PRIORITIZATION OF ASSET RENDERING BASED ON ASSET VISIBILITY IN SCENE DEFAULT VIEWPORT」、2022年10月14日に出願された米国仮特許出願第63/416,390号「STREAMING ASSET PRIORITIZER FOR LIGHTFIELD,HOLOGRAPHIC OR IMMERSIVE MEDIA BASED ON DISTANCE WITHIN FIELD OF VIEW」、2022年10月14日に出願された米国仮特許出願第63/416,395号「STREAMING ASSET PRIORITIZER FOR LIGHTFIELD,HOLOGRAPHIC OR IMMERSIVE MEDIA BASED ON ASSET COMPLEXITY」、2022年11月3日に出願された米国仮特許出願第63/422,175号「STREAMING ASSET PRIORITIZER FOR LIGHTFIELD,HOLOGRAPHIC,OR IMMERSIVE MEDIA BASED ON MULTIPLE METADATA ATTRIBUTES」、および2022年11月29日に出願された米国仮特許出願第63/428,698号「PRIORITIZATION OF MEDIA ADAPTATION BY ATTACHED CLIENT TYPES」に対する優先権の利益を主張するものである。先の出願の開示全体は、参照によりその全体が本明細書に組み込まれる。
【0002】
本開示は、光照射野またはホログラフィック没入型ディスプレイなどのための没入型メディアの適応型ストリーミングを含む、メディアの処理および配信に概して関する実施形態を説明する。
【背景技術】
【0003】
本明細書で提供される背景技術の説明は、本開示のコンテキストを一般的に提示することを目的とする。本発明者らの研究は、この背景技術の項に記載されている限りにおいて、および出願時に先行技術として認められない可能性がある説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められない。
【0004】
没入型メディアは、一般に、時限2次元(2D)ビデオおよび「レガシーメディア」として知られている対応するオーディオのために既存の商用ネットワークを介して配信されるものを超えるなど、任意のまたはすべての人間の感覚システム(視覚、聴覚、体性感覚、嗅覚、および場合によっては味覚)を刺激して、メディアの体験に物理的に存在するユーザの知覚を作成または強化するメディアを指す。没入型メディアとレガシーメディアの両方は、時限メディアまたは非時限メディアのいずれかとして特徴付けられ得る。
【0005】
時限メディアは、時間に従って構造化され提示されるメディアを指す。例は、期間に従って編成される、映画の特集、ニュース報道、エピソードコンテンツなどを含む。従来のビデオおよびオーディオは、一般に時限メディアであると考えられている。
【0006】
非時限メディアは、時間によって構造化されず、むしろ、論理的、空間的および/または時間的関係によって構造化されたメディアである。例は、ユーザがゲームデバイスによって作成された体験を制御するビデオゲームを含む。非時限メディアの他の例は、カメラによって撮影された静止画像写真である。非時限メディアは、例えば、ビデオゲームのシーンの連続的にループされたオーディオまたはビデオセグメントに時限メディアを組み込んでもよい。逆に、時限メディアは、例えば背景として固定静止画像を有するビデオなどの非時限メディアを組み込んでもよい。
【0007】
没入型メディア対応デバイスは、没入型メディアにアクセス、解釈、および提示する能力を備えたデバイスを指すことができる。そのようなメディアおよびデバイスは、メディアの数およびフォーマット、ならびにそのようなメディアを大規模に配信するために、すなわち、ネットワークを介してレガシービデオおよびオーディオメディアと同等の配信を達成するために必要なネットワークリソースの数およびタイプに関して異種である。対照的に、ラップトップディスプレイ、テレビ、およびモバイルハンドセットディスプレイなどのレガシーデバイスは、これらのデバイスのすべてが長方形のディスプレイスクリーンで構成され、それらのプライマリメディアフォーマットとして2D長方形のビデオまたは静止画像を消費するため、それらの能力において均一である。
【発明の概要】
【課題を解決するための手段】
【0008】
本開示の態様は、メディア処理のための方法および装置を提供する。本開示のいくつかの態様によれば、メディア処理の方法は、ネットワークデバイスにより、光照射野ベースのディスプレイで再生するためのシーンベースの没入型メディアを受信するステップを含む。シーンベースの没入型メディアは複数のシーンを含む。方法は、シーンベースの没入型メディアの複数のシーンにそれぞれ優先度の値を割り当てるステップ、および優先度の値に従って複数のシーンをエンドデバイスにストリーミングするための順序を決定するステップを含む。
【0009】
いくつかの例では、方法は、優先度の値に従って複数のシーンを再度順位付けするステップ、および再度順位付けされた複数のシーンをエンドデバイスに送信するステップを含む。
【0010】
いくつかの例では、方法は、優先度認識ネットワークデバイスにより、複数のシーンの中の未送信であるシーンのサブセットから、最も高い優先度の値を有する最も高い優先度のシーンを選択するステップ、および最も高い優先度のシーンをエンドデバイスに送信するステップを含む。
【0011】
いくつかの例では、方法は、シーンをレンダリングする必要性の尤度に基づいてシーンに対する優先度の値を決定するステップを含む。
【0012】
いくつかの例では、方法は、利用可能なネットワーク帯域幅が制限されていると判定するステップ、複数のシーンの中の未送信であるシーンのサブセットから、最も高い優先度の値を有する最も高い優先度のシーンを選択するステップ、および利用可能なネットワーク帯域幅が制限されていることに応じて、最も高い優先度のシーンを送信するステップを含む。
【0013】
いくつかの例では、方法は、利用可能なネットワーク帯域幅が制限されていると判定するステップ、優先度の値に基づいて、次にレンダリングするために必要とされる可能性が低い前記複数のシーンのサブセットを特定するステップ、および利用可能なネットワーク帯域幅が制限されることに応じて、前記複数のシーンの前記サブセットをストリーミングから控えるステップを含む。
【0014】
いくつかの例では、方法は、第1のシーンと第2のシーンとの間の関係に応じて、第2のシーンの第2の優先度の値に基づいて第1のシーンに第1の優先度の値を割り当てるステップを含む。
【0015】
いくつかの例では、方法は、エンドデバイスからフィードバック信号を受信するステップ、およびフィードバック信号に基づいて、複数のシーンの中の少なくとも1つのシーンの優先度の値を調整するステップを含む。例では、方法は、現在のシーンが第1のシーンに関連している第2のシーンであることを示すフィードバック信号に応じて、第1のシーンに最高の優先度を割り当てるステップを含む。別の例では、フィードバック信号は、エンドデバイスによって決定される優先度の調整を示す。
【0016】
本開示のいくつかの態様によれば、メディア処理の方法は、光照射野ベースのディスプレイによって再生するためのシーンベースの没入型メディアのメディアプレゼンテーション記述(MPD)を、光照射野ベースのディスプレイを有するエンドデバイスによって受信するステップを含む。シーンベースの没入型メディアは複数のシーンを含み、MPDは複数のシーンをエンドデバイスに順番にストリーミングすることを示す。方法は、帯域幅利用可能性を検出するステップ、帯域幅利用可能性に基づいて少なくとも1つのシーンの順序変更を決定するステップ、および少なくとも1つのシーンの順序変更を示すフィードバック信号を送信するステップをさらに含む。
【0017】
いくつかの例では、フィードバック信号は、レンダリングする次のシーンを示す。いくつかの例では、フィードバック信号は、少なくとも1つのシーンの優先度の値の調整を示す。いくつかの例では、フィードバック信号は現在のシーンを示す。
【0018】
本開示のいくつかの態様によれば、メディア処理の方法は、ネットワークデバイスにより、光照射野ベースのディスプレイで再生するためのシーンベースの没入型メディアを受信するステップを含む。シーンベースの没入型メディアのシーンは、第1の順序の複数のアセットを含む。方法は、複数のアセットをエンドデバイスにストリーミングするための第2の順序を決定するステップを含み、第2の順序は第1の順序とは異なる。
【0019】
いくつかの例では、方法は、複数のアセットの1つまたは複数の属性に従ってシーンの複数のアセットにそれぞれ優先度の値を割り当てるステップ、および優先度の値に従って複数のアセットをストリーミングするための第2の順序を決定するステップを含む。
【0020】
いくつかの例では、方法は、アセットのサイズに従ってシーンのアセットに優先度の値を割り当てるステップを含む。
【0021】
いくつかの例では、方法は、シーンのデフォルトのエントリ位置に関連付けられたアセットの可視性に従ってシーンのアセットに優先度の値を割り当てるステップを含む。
【0022】
いくつかの例では、方法は、複数のアセットの第1の属性に基づいて複数のアセットに第1の優先度の値のセットを割り当てるステップを含む。第1の優先度の値のセットは、第1の優先順位付け方式で複数のアセットを順序付けるために使用される。方法は、複数のアセットの第2の属性に基づいて複数のアセットに第2の優先度の値セットを割り当てるステップをさらに含む。第2の優先度の値のセットは、第2の優先順位付け方式で複数のアセットを順序付けるために使用される。方法は、エンドデバイスの情報に従って第1の優先順位付け方式および第2の優先順位付け方式からエンドデバイスの優先順位付け方式を選択するステップ、および選択された優先順位付け方式に従って、ストリーミングのために複数のアセットを順序付けるステップをさらに含む。
【0023】
いくつかの例では、方法は、第1のアセットが第2のアセットよりも計算の複雑度が高いことに応じて、第1のアセットに第1の優先度の値を割り当て、第2のアセットに第2の優先度の値を割り当てるステップを含み、第1の優先度の値は第2の優先度の値よりも高い。
【0024】
本開示のいくつかの態様によれば、メディア処理の方法は、シーンベースの没入型メディアのシーンを視認するためのカメラに関連付けられたビューポートの位置およびサイズを決定するステップを含む。シーンは、複数のアセットを含む。方法は、各アセットについて、ビューポートの位置とサイズ、およびアセットのジオメトリに基づいて、アセットがビューポートと少なくとも部分的に交差するかどうかを判定するステップ、およびアセットがビューポートと少なくとも部分的に交差することに応じて、アセットの識別子を視認可能なアセットのリストに記憶するステップ、および視認可能なアセットのリストをシーンに関連付けられたメタデータに含めるステップをさらに含む。
【0025】
本開示のいくつかの態様によれば、メディア処理の方法は、クライアントデバイスにメディアを配信するためにクライアントデバイスの1つまたは複数のメディア要件にメディアを適応させるためにネットワークに接続されたクライアントデバイスのプロファイル情報(各タイプのタイプおよび数)を受信するステップ、およびクライアントデバイスのプロファイル情報に従ってクライアントデバイスの第1のサブセットに配信するための第1のメディア要件にメディアを適応させる第1の適応に優先順位付けするステップを含む。
【0026】
本開示の態様はまた、コンピュータによって実行されると、コンピュータにメディア処理のための方法を実行させる命令を記憶する非一時的コンピュータ可読媒体を提供する。
【0027】
以下の詳細な説明と添付の図面とから、開示されている保護対象のさらなる特徴、性質および様々な効果がより明白になる。
【図面の簡単な説明】
【0028】
図1】いくつかの例におけるメディアフロープロセスを示す。
図2】いくつかの例におけるメディア変換意思決定プロセスを示す。
図3】例における、時限型の異種没入型メディアのためのフォーマットの表現を示す。
図4】例における、非時限型の異種没入型メディアのためのストリーミング可能フォーマットの表現を示す。
図5】いくつかの例における、自然のコンテンツからインジェストフォーマットへとメディアを合成するためのプロセスの図を示す。
図6】いくつかの例における、合成メディア用のインジェストフォーマットを作成するプロセスの図を示す。
図7】実施形態による、コンピュータシステムの概略図である。
図8】いくつかの例における、クライアントエンドポイントとして様々なレガシーおよび異種没入型メディア対応ディスプレイをサポートするネットワークメディア配信システムを示す。
図9】いくつかの例における、レガシーおよび異種の没入型メディア対応ディスプレイにサービスを提供することができる没入型メディア配信モジュールの図を示す。
図10】いくつかの例におけるメディア適応プロセスの図を示す。
図11】いくつかの例における、配信フォーマット作成プロセスを示す。
図12】いくつかの例における、パケット化器プロセスシステムを示す。
図13】いくつかの例における、インジェストフォーマットの特定の没入型メディアを特定の没入型メディアクライアントエンドポイントのためのストリーミング可能で適切な配信フォーマットに適応させるネットワークのシーケンスの図を示す。
図14】いくつかの例におけるシーンベースのメディア処理のための仮想ネットワークおよびクライアントデバイスを有するメディアシステムの図を示す。
図15】いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。
図16】いくつかの例におけるシーンマニフェスト内のシーンに複雑度の値および優先度の値を追加するための図を示す。
図17】いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。
図18】いくつかの例における、シーンの優先度を説明するための仮想美術館の図を示す。
図19】いくつかの例における、シーンベースの没入型メディアのシーンの図を示す。
図20】いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。
図21】本開示の実施形態による、プロセスを概説するフローチャートを示す。
図22】本開示の実施形態による、プロセスを概説するフローチャートを示す。
図23】例における、シーンのアセットへのマッピングを伴うシーンマニフェストの図を示す。
図24】いくつかの例における、シーンのストリーミングアセットの図を示す。
図25】いくつかの例における、シーンのアセットを再度順位付けするための図を示す。
図26】いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。
図27】いくつかの例における、シーンの図を示す。
図28】いくつかの例における、シーンのアセットを再度順位付けするための図を示す。
図29】いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。
図30】いくつかの例における、シーンの図を示す。
図31】いくつかの例における、シーンのアセットに優先度の値を割り当てるための図を示す。
図32】いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。
図33】いくつかの例における、シーンの図を示す。
図34】いくつかの例における、シーンのアセットを再度順位付けするための図を示す。
図35】いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。
図36】いくつかの例における表示されたシーンの図を示す。
図37】例における、シーンベースの没入型メディアのシーン3701の図を示す。
図38】いくつかの例における、シーンのアセットを優先順位付けするための図を示す。
図39】いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。
図40】例における、アセットのメタデータ属性を示す図を示す。
図41】いくつかの例における、シーンのアセットを優先順位付けするための図を示す。
図42】本開示の実施形態による、プロセスを概説するフローチャートを示す。
図43】本開示の実施形態による、プロセスを概説するフローチャートを示す。
図44】いくつかの例におけるデフォルトカメラ視点のアセットのシグナリングを有する時限メディア表現の図を示す。
図45】いくつかの例におけるデフォルトのビューポートでのアセットのシグナリングを伴う非時限メディア表現の図を示す。
図46】シーンアナライザがデフォルトのビューポートに従ってシーンのアセットを分析するためのプロセスフローを示す。
図47】本開示の実施形態による、プロセスを概説するフローチャートを示す。
図48】いくつかの例における、没入型メディア配信モジュールの図を示す。
図49】いくつかの例における、メディア適応プロセスの図を示す。
図50】本開示の実施形態によるプロセス5000の概要を示すフローチャートを示す。
【発明を実施するための形態】
【0029】
本開示の態様は、ビデオ、オーディオ、幾何学的(3D)オブジェクト、触覚、関連するメタデータ、またはクライアントデバイスのための他のコンテンツを含む、メディアを配信するアーキテクチャ、構造、コンポーネント、技法、システムおよび/またはネットワークを提供する。いくつかの例では、アーキテクチャ、構造、コンポーネント、技法、システムおよび/またはネットワークは、異種没入型および対話型クライアントデバイス、例えばゲームエンジンにメディアコンテンツを配信するように構成される。いくつかの例では、クライアントデバイスは、光照射野またはホログラフィック没入型ディスプレイを含むことができる。本開示のいくつかの実施形態では、光照射野またはホログラフィック没入型ディスプレイ用の没入型メディアが例として使用されているが、開示された技術は、任意の適切な没入型メディアで使用することができることに留意されたい。
【0030】
没入型メディアは、デジタルシミュレーションを介して物理世界を作成または模倣しようとする没入型技術によって定義され、それによって人間の感覚システムのいずれかまたはすべてをシミュレートして、シーンの中に物理的に存在するユーザの知覚を作成する。
【0031】
現在開発および使用されている没入型メディア技術には、仮想現実(VR)、拡張現実(AR)、混合現実(MR)、光照射野/ホログラフィックなどのいくつかの様々なタイプがある。VRとは、ヘッドセットを使用してユーザをコンピュータ生成世界に置くことによってユーザの物理環境を置き換えるデジタル環境を指す。一方、ARは、クリアビジョンまたはスマートフォンのいずれかを使用することによって、デジタルメディアを取得し、ユーザの周りの現実世界に重ねる。MRとは、現実世界とデジタル世界とを混合し、それによって技術と物理世界とが共存できる環境を作り出すことを指す。
【0032】
ホログラフィックおよび/または光照射野技術は、いかなるヘッドセットも使用する必要なく、正確な深度感および三次元性を有する仮想環境を作成し、したがって、酔いのような副作用を回避することができる。光照射野および/またはホログラフィック技術は、いくつかの例における、各点および方向から来る光線を有する3D空間の光線を使用し得る。光照射野および/またはホログラフィック技術は、見えているすべてのものが、任意の光源から来る光によって照らされ、空間を通って移動し、光が部分的に吸収され、かつ人間の目に到達する前に別の表面に部分的に反射される物体の表面に当たるという概念に基づいている。いくつかの例では、光照射野およびホログラフィック技術は、ユーザに双眼度および連続運動視差などの3D効果を提供する光照射野を再現することができる。例えば、光照射野ディスプレイは、ホログラフィックスクリーンに光線を投影して、異なるが一貫した情報をわずかに異なる方向に示すことによって光照射野の近似を再現する投影モジュールの大規模なアレイを含み得る。別の例では、光照射野ディスプレイは、プレノプティック機能に従って光線を放射することができ、光線は、光照射野ディスプレイの前で収束して、現実の3Dの現実的な画像を作成する。本開示において、光照射野ベースのディスプレイとは、光照射野ディスプレイ、ホログラフィックディスプレイなど、3D空間で光線を使用するディスプレイを指す。
【0033】
いくつかの例では、光線は、5次元プレノプティック関数によって定義されてもよく、各光線は、3D空間内の3つの座標(3次元)および3D空間内の方向を特定するための2つの角度によって定義され得る。
【0034】
一般に、360度のビデオのコンテンツをキャプチャするには、360度のカメラが必要である。しかしながら、光照射野またはホログラフィックベースのディスプレイのコンテンツをキャプチャするために、いくつかの例では、マルチ深度カメラ、またはカメラのアレイを含む高額な設定が、レンダリングされるシーンの視野(FoV)に応じて必要とされる場合がある。
【0035】
例では、従来のカメラは、所与のポジションでカメラレンズに到達する光線の2D表現をキャプチャすることができる。画像センサは、各ピクセルに到達するすべての光線の輝度および色の合計を記録する。
【0036】
いくつかの例では、光照射野ベースのディスプレイのコンテンツをキャプチャするために、光照射野カメラ(プレノプティックカメラとしても知られる)が使用され、光照射野カメラは、輝度および色だけでなく、カメラセンサに到達するすべての光線の方向もキャプチャすることができる。光照射野カメラによってキャプチャされた情報を使用して、各光線の原点の正確な表現を用いてデジタルシーンを再構成することができ、3Dで正確にキャプチャされたシーンをデジタル的に再構成することが可能になる。
【0037】
このような体積測定的シーンをキャプチャするために、2つの技術が開発されている。第1の手法は、カメラやカメラモジュールのアレイを使用して、各方向からの異なる光線/視野をキャプチャする。第2の技術は、異なる方向からの光線もキャプチャすることができるプレノプティックカメラ(またはプレノプティックカメラのアレイ)を使用する。
【0038】
いくつかの例では、体積測定的シーンはまた、コンピュータ生成画像(CGI)技術を使用して合成され、次いで、カメラによってキャプチャされた体積測定的シーンをレンダリングするために使用されるのと同じ技術を使用してレンダリングされ得る。
【0039】
プレノプティックカメラによってキャプチャされるか、またはCGIによって合成されるかにかかわらず、光照射野ベースのディスプレイ用のマルチメディアコンテンツがキャプチャされ、メディアサーバ(メディアサーバデバイスとも呼ばれる)に記憶される。最終的に、コンテンツは、ビジュアルシーンの各オブジェクトのジオメトリに関する明示的な情報、ならびに表面特性を記述するためのメタデータ(例えば、平滑性、粗さ、光を反射、屈折、または吸収する能力)を含む幾何学的表現に変換される。視覚的シーン内の各オブジェクトは、シーンの「アセット」と呼ばれる。このデータクライアントデバイスに伝送するためには、データが圧縮された後でさえ、大量の帯域幅が必要である。したがって、帯域幅が制限されている状況では、クライアントデバイスはバッファリングまたは中断を経験する可能性があり、その経験は不快なものとなる。
【0040】
いくつかの例では、CDNおよびエッジネットワーク要素の使用は、クライアントデバイスのシーンの要求とクライアントデバイスへのシーン(シーンの各視覚的オブジェクトを含み、その集合はシーンの「アセット」と呼ばれる)の配信との間の遅延を低減することができる。さらに、単純にデコードされ、ユーザに提示される一連の直線フレームバッファに配置されるビデオとは対照的に、没入型メディアシーンは、計算集約的であり、シーンを完全に構築するためにかなりのリソースを必要とする可能性があるリアルタイムレンダラ(Unity TechnologiesのUnity EngineやEpic GameのUnreal Engineなどのゲームエンジンを搭載したレンダラと同様)によってレンダリングされる必要があるオブジェクトおよびリッチメタデータで構成される。そのようなシーンベースのメディアの場合、クラウド/エッジネットワーク要素の使用を使用して、クライアントデバイスによるレンダリングの計算負荷を、ネットワークの1つまたは複数のサーバデバイスなどのより強力な計算エンジンにオフロードすることができる。
【0041】
光照射野ベースのホログラフィックディスプレイのためのマルチメディアコンテンツは、キャプチャされてメディアサーバに記憶される。マルチメディアコンテンツは、現実世界または合成コンテンツであり得る。マルチメディアコンテンツのデータをクライアントのエンドデバイス(クライアントデバイスまたはエンドデバイスとも呼ばれる)に伝送するためには、データが圧縮された後でさえ、大量の帯域幅が必要である。したがって、帯域幅が制限されている状況では、クライアントデバイスはバッファリングまたは中断を経験する可能性があり、その経験は不快なものとなり得る。
【0042】
没入型メディアは、一般に、任意のまたはすべての人間の感覚システム(視覚、聴覚、体性感覚、嗅覚、および場合によっては味覚)を刺激して、メディアの体験に物理的に存在するユーザの知覚を作成または強化する、すなわち、時限2次元(2D)ビデオおよび「レガシーメディア」として知られている対応するオーディオのために既存の商用ネットワークを介して配信されるものを超えるメディアを指す。いくつかの例では、没入型メディアは、動力学および物理法則のデジタルシミュレーションを介して物理世界を作成または模倣しようとするメディアを指し、それにより、現実世界または仮想世界を描写するシーン内に物理的に存在するというユーザによる知覚を作成するように、任意またはすべての人間の感覚システムを刺激する。没入型メディアとレガシーメディアの両方は、時限メディアまたは非時限メディアのいずれかとして特徴付けられ得る。
【0043】
時限メディアは、時間に従って構造化され提示されるメディアを指す。例としては、映画の特集、ニュース報道、エピソードコンテンツが挙げられ、これらはすべて、期間に従って編成される。従来のビデオおよびオーディオは、一般に時限メディアであると考えられている。
【0044】
非時限メディアは、時間によって構造化されず、むしろ、論理的、空間的および/または時間的関係によって構造化されたメディアである。例は、ユーザがゲームデバイスによって作成された体験を制御するビデオゲームを含む。非時限メディアの他の例は、カメラによって撮影された静止画像写真である。非時限メディアは、例えば、ビデオゲームのシーンの連続的にループされたオーディオまたはビデオセグメントに時限メディアを組み込んでもよい。逆に、時限メディアは、例えば背景として固定静止画像を有するビデオなどの非時限メディアを組み込んでもよい。
【0045】
没入型メディア対応デバイスは、没入型メディアにアクセスし、解釈し、提示するのに十分なリソースおよび能力を備えたデバイスを指すことができる。そのようなメディアおよびデバイスは、メディアの数およびフォーマット、ならびにそのようなメディアを大規模に配信するために、すなわち、ネットワークを介してレガシービデオおよびオーディオメディアと同等の配信を達成するために必要なネットワークリソースの数およびタイプに関して異種である。同様に、メディアは、このようなメディアを大規模に配信するのに必要なネットワークリソースの量および種類の点で異質である。「大規模に」とは、ネットワークを介したレガシーのビデオおよびオーディオメディアの配信と同等の配信を達成するサービスプロバイダによるメディアの配信、例えば、Netflix、Hulu、Comcastのサブスクリプション、およびSpectrumのサブスクリプションを指すことがある。
【0046】
概して、ラップトップディスプレイ、テレビ、およびモバイルハンドセットディスプレイなどのレガシーデバイスは、これらのデバイスのすべてが長方形のディスプレイスクリーンで構成され、それらのプライマリメディアフォーマットとして2D長方形のビデオまたは静止画像を消費するため、それらの能力において均一である。同様に、レガシーデバイスでサポートされるオーディオフォーマットの数は、比較的少ないセットに制限される。
【0047】
「フレームベース」メディアという用語は、視覚メディアが画像の1つまたは複数の連続した矩形フレームで構成されるという特性を指す。対照的に、「シーンベース」メディアは、各シーンがシーンの視覚的特性を集合的に記述する個々のアセットを指す「シーン」によって編成された視覚的メディアを指す。
【0048】
フレームベースの視覚メディアとシーンベースの視覚メディアとの比較例は、森を示す視覚メディアを使用して記述することができる。フレームベースの表現では、森林は、カメラ付きの携帯電話などのカメラデバイスを使用してキャプチャされる。ユーザは、カメラデバイスが森林に焦点を合わせることを可能にすることができ、カメラデバイスによってキャプチャされるフレームベースのメディアは、ユーザによって開始されるカメラデバイスの任意の動きを含む、カメラデバイスに提供されるカメラビューポートを通してユーザが見るものと同じである。結果として得られる森林のフレームベースの表現は、通常30フレーム/秒または60フレーム/秒の標準レートでカメラデバイスによって記録される一連の2D画像である。各画像は、各ピクセルに記憶された情報が次のピクセルと一致するピクセルの集合である。
【0049】
対照的に、森林のシーンベースの表現は、森林の各オブジェクトを記述する個々のアセットと、アセットまたはアセットがどのようにレンダリングされるかを記述する無数のメタデータを提示する人間可読シーングラフ記述とから構成される。例えば、シーンベースの表現は、「木」と呼ばれる個々のオブジェクトを含むことができ、各木は、「幹」、「枝」、および「葉」と呼ばれるより小さなアセットの集合で構成される。各々の木の幹は、メッシュ(木の幹メッシュ)によって個別にさらに記述することができ、それは木の幹の完全な3Dジオメトリと、木の幹の色および放射特性をキャプチャするために木の幹メッシュに適用されるテクスチャとを記述する。さらに、木の幹は、その滑らかさもしくは粗さまたは光を反射する能力に関して木の幹の表面を記述する追加の情報を伴うことができる。対応する人間可読シーングラフ記述は、森林のシーンにフォーカスされた仮想カメラのビューポートに対して木の幹を配置する場所に関する情報を提供することができる。さらに、人間可読記述は、生成する分岐の数、および「分岐」と呼ばれる単一の分岐アセットからシーンのどこにそれらを配置するかに関する情報を含むことができる。同様に、説明は、いくつの葉を生成するか、および枝および木の幹に対する葉の位置を含むことができる。さらに、変換行列は、葉が均一に見えないように葉をどのようにスケーリングまたは回転させるかに関する情報を提供することができる。全体として、シーンを構成する個々のアセットは、各アセットに記憶される情報のタイプと量が異なる。各アセットは通常、それ自体のファイルに記憶されるが、多くの場合、アセットは、作成するように設計されたオブジェクトの複数のインスタンス、例えばツリーごとのブランチおよびリーフを作成するために使用される。
【0050】
いくつかの例では、シーングラフの人間可読部分は、シーンの中のそれらのポジションに対するアセットの関係を記述するだけでなく、例えば様々なタイプの光源を用いて、または表面特性(オブジェクトが金属対つや消し表面を有することを示すために)または他の材料(多孔質または滑らかなテクスチャ)を用いてオブジェクトをレンダリングする方法に関する命令も記述するためにメタデータに富む。グラフの人間可読部分に記憶されることが多い他の情報は、例えば、単一のエンティティ、例えば、枝と葉を有する木の幹としてレンダリングまたは処理されるアセットのグループを形成するための、アセットと他のアセットとの関係である。
【0051】
人間可読コンポーネントを有するシーングラフの例は、オブジェクトを記述するための人間可読表記法であるJave Script Obejct Notation(JSON)においてノードツリーコンポーネントが提供されるglTF 2.0を含む。人間可読コンポーネントを有するシーングラフの別の例は、OCSファイルが別の人間可読表記形式であるXMLを使用して生成されるImmersive Technologies Media Formatである。
【0052】
シーンベースのメディアとフレームベースのメディアとの間のさらに別の違いは、フレームベースのメディアでは、シーンに対して作成されるビューは、ユーザがカメラを介してキャプチャした、すなわちメディアが作成されたときのビューと同一であることである。フレームベースのメディアがクライアントによって提示されるとき、提示されるメディアのビューは、例えばビデオを記録するために使用されたカメラによってメディアにキャプチャされたビューと同じである。しかしながら、シーンベースのメディアでは、ユーザが様々な仮想カメラ、例えば、シンレンズカメラ対パノラマカメラを使用してシーンを見るための複数の方法があり得る。いくつかの例では、視認者が見ることができるシーンの視覚情報は、視認者の視野角および位置に応じて変化し得る。
【0053】
シーンベースのメディアをサポートするクライアントデバイスは、様々なシーンベースのメディアフォーマットを取り込むクライアントデバイスの全能力を特徴付けるために、その能力およびサポートされる機能が集合的に上限(upper boundまたはupper limit)を含むレンダラおよびまたはリソース(例えば、GPU、CPU、ローカルメディアキャッシュストレージ)を装備することができる。例えば、モバイルハンドセットクライアントデバイスは、特にリアルタイムアプリケーションのサポートのために、モバイルハンドセットクライアントデバイスがレンダリングすることができる幾何学的アセットの複雑度、例えば幾何学的アセットを記述するポリゴンの数が制限され得る。このような制限は、モバイルクライアントがバッテリによって電力を供給されるという事実に基づいて確立することができ、したがって、リアルタイムレンダリングを実行するために利用可能な計算リソースの量も同様に制限される。そのようなシナリオでは、クライアントデバイスは、クライアントが指定された上限以下のポリゴンカウントで幾何学的アセットにアクセスすることをクライアントデバイスが好むことをネットワークに通知することが望ましい場合がある。さらに、クライアントからネットワークに伝達される情報は、明確に定義された属性の語彙集を活用する明確に定義されたプロトコルを使用して最良に伝達され得る。
【0054】
同様に、メディア配信ネットワークは、様々な機能を有する様々なクライアントへの様々なフォーマットでの没入型メディアの配信を容易にする計算リソースを有することができる。そのようなネットワークでは、ネットワークが、明確に定義されたプロファイルプロトコル、例えば、明確に定義されたプロトコルを介して通信される属性の語彙集に従ってクライアント固有の能力を知らされることが望ましい場合がある。そのような属性の語彙集は、ネットワークがその異種クライアントにメディアをどのようにサービスするかについての優先順位をより良好に確立することができるように、リアルタイムでメディアをレンダリングするために必要なメディアまたは最小計算リソースを記述するための情報を含むことができる。さらに、クライアントが提供するプロファイル情報がクライアントのドメインにわたって収集される集中データストアは、どのタイプのアセットで、どのフォーマットで需要が高いかの要約を提供するのに役立つ。どのタイプのアセットがより高い需要とより低い需要とにあるかに関する情報を所与のものとすることにより、最適化されたネットワークは、より高い需要にあるアセットの要求に応答するタスクを優先順位付けすることができる。
【0055】
いくつかの例では、ネットワークを介したメディアの配信は、入力またはネットワーク「取り込み」メディアフォーマットから配信メディアフォーマットにメディアを再フォーマットするメディア配信システムおよびアーキテクチャを採用することができる。例では、配信メディアフォーマットは、ターゲットクライアントデバイスおよびそのアプリケーションによって取り込まれるのに適しているだけでなく、ネットワークを介して「ストリーミング」されるのにも役立つ。いくつかの例では、ネットワークによるメディアの取り込みのとたんに実行される2つのプロセス、すなわち、1)メディアをフォーマットAから、ターゲットクライアントデバイスによって取り込まれるのに適したフォーマットBに変換するプロセス、すなわち、特定のメディアフォーマットを取り込むクライアントデバイスの能力に基づいて変換するプロセス、および2)ストリーミングされるメディアを準備するプロセスが存在し得る。
【0056】
いくつかの例では、メディアの「ストリーミング」とは、広義には、メディアを断片化および/またはパケット化することを指し、処理されたメディアが、メディアの時間的または空間的構造のいずれかまたは両方に従って、論理的に編成およびシーケンス化された連続した小さいサイズの「チャンク」でネットワークを介して配信することができるようにする。いくつかの例では、「トランスコーディング」と呼ばれることもある、フォーマットAからフォーマットBへのメディアの「変換」は、ターゲットクライアントデバイスにメディアを配信する前に、通常はネットワークまたはサービスプロバイダによって実行されるプロセスであってもよい。このようなトランスコーディングは、フォーマットBが、ともかくもターゲットクライアントデバイスによって取り込まれ得る好ましいフォーマットもしくは唯一のフォーマットである、または商用ネットワークなどの制約されたリソースを介した配信により適しているという事前の知識に基づいて、フォーマットAからフォーマットBにメディアを変換することで構成されていてもよい。メディアの変換の一例は、シーンベースの表現からフレームベースの表現へのメディアの変換である。いくつかの例では、メディアを変換するステップと、ストリーミングされるメディアを準備するステップの両方が、メディアがネットワークからターゲットクライアントデバイスによって受信および処理され得る前に必要である。クライアントが好むフォーマットに関するそのような事前の知識は、様々なクライアントデバイスにわたって好まれるシーンベースのメディアの特性を要約する合意された属性の語彙集を利用するプロファイルプロトコルの使用を介して取得することができる。
【0057】
いくつかの例では、ネットワークによって、すなわちメディアをターゲットクライアントデバイスに配信する前に、取り込まれたメディアに作用する上記の1つまたは2つのステップのプロセスにより、「配信メディアフォーマット」または単に「配信フォーマット」と呼ばれるメディアのフォーマットが得られる。概して、これらのステップは、所与のメディアデータオブジェクトに対していやしくも実行される場合、ターゲットクライアントデバイスがそのようなメディアの変換およびストリーミングを複数回トリガする複数の機会のために変換およびまたはストリーミングされたメディアオブジェクトを必要とすることを示す情報に、ネットワークがアクセスできる場合、1回だけ実行され得る。すなわち、メディアの変換およびストリーミングのためのデータの処理および転送は、一般に、潜在的にかなりの量のネットワークおよび/または計算リソースの消費を必要とするレイテンシの発生源とみなされる。したがって、クライアントデバイスが特定のメディアデータオブジェクトを既にキャッシュに記憶しているか、またはクライアントデバイスに対してローカルに記憶している可能性があることを示す情報にアクセスできないネットワーク設計は、このような情報にアクセスできるネットワークに比べて最適に機能しない。
【0058】
いくつかの例では、レガシープレゼンテーションデバイスの場合、配信フォーマットは、プレゼンテーションを作成するためにクライアントデバイス(例えば、クライアントプレゼンテーションデバイス)によって最終的に使用される「プレゼンテーションフォーマット」と同等または十分に同等であり得る。例えば、プレゼンテーションメディアフォーマットは、そのプロパティ(解像度、フレームレート、ビット深度、色域など、…)がクライアントプレゼンテーションデバイスの能力に密接に調整されたメディアフォーマットである。配信フォーマット対プレゼンテーションフォーマットの一部の例は、ネットワークによって解像度(3840ピクセル列×2160ピクセル行)の超高解像度(UHD)クライアントデバイスに配信される高解像度(HD)ビデオ信号(1920ピクセル列×1080ピクセル行)を含む。例えば、UHDクライアントデバイスは、「超解像」と呼ばれる処理をHD配信フォーマットに施して、ビデオ信号の解像度をHDからUHDに向上させ得る。したがって、UHDクライアントデバイスによって提示される最終的な信号フォーマットは、この例ではUHD信号である「プレゼンテーションフォーマット」であるが、HD信号は配信フォーマットを含む。本例では、HD信号配信フォーマットは、両方の信号が直線ビデオフォーマットであることから、UHD信号プレゼンテーションフォーマットに非常に類似しており、HDフォーマットをUHDフォーマットに変換するプロセスは、比較的簡単であり、ほとんどのレガシークライアントデバイス上で実行するのが容易なプロセスである。
【0059】
いくつかの例では、ターゲットクライアントデバイスにとっての好ましいプレゼンテーションフォーマットは、ネットワークによって受信されたインジェストフォーマットとは大きく異なる場合がある。それにもかかわらず、ターゲットクライアントデバイスは、メディアをインジェストフォーマットからターゲットクライアントデバイスによるプレゼンテーションに適した必要なプレゼンテーションフォーマットに変換するのに十分な計算、ストレージ、および帯域幅リソースにアクセスし得る。このシナリオでは、ネットワークは、取り込まれたメディアを再フォーマットするステップ、例えばメディアをフォーマットAからフォーマットBに「トランスコーディング」するステップをバイパスすることができ、これは単に、クライアントデバイスが、ネットワークがそうする必要なしにすべてのメディア変換を実行するのに十分なリソースにアクセスすることができるからである。しかしながら、ネットワークは、依然として、メディアをターゲットクライアントデバイスにストリーミングできるように、インジェストメディアを断片化およびパッケージ化するステップを行う場合がある。
【0060】
いくつかの例では、ネットワークによって受信された取り込まれたメディアが、ターゲットクライアントデバイスの好みのプレゼンテーションフォーマットと大きく異なり、ターゲットクライアントデバイスが、メディアを好みのプレゼンテーションフォーマットに変換するのに十分な計算リソース、ストレージリソース、および/または帯域幅リソースにアクセスできないことである。そのようなシナリオでは、ネットワークは、インジェストフォーマットから、ターゲットクライアントデバイスに代わってターゲットクライアントデバイスの好ましいプレゼンテーションフォーマットと同等またはほぼ同等のフォーマットへの変換の一部または全部を実行することによってターゲットクライアントデバイスを支援し得る。いくつかのアーキテクチャ設計では、ターゲットクライアントデバイスに代わってネットワークによって提供されるそのような支援は、「分割レンダリング」またはメディアの「適応」と呼ばれる。
【0061】
図1は、いくつかの例におけるメディアフロープロセス100(プロセス100とも称される)を示す。メディアフロープロセス100は、ネットワーククラウド(またはエッジデバイス)104で実行することができる第1のステップと、クライアントデバイス108で実行することができる第2のステップとを含む。いくつかの例では、インジェストメディアフォーマットAのメディアは、ステップ101でコンテンツプロバイダからネットワークによって受信される。ネットワークプロセスステップであるステップ102は、メディアをフォーマットBにフォーマットすることによって、およびまたはクライアントデバイス108にストリーミングされるメディアを準備することによって、クライアントデバイス108に配信するためにメディアを準備することができる。ステップ103において、メディアは、例えばTCPまたはUDPなどのネットワークプロトコルを使用して、ネットワーク接続を介してネットワーククラウド104からクライアントデバイス108にストリーミングされる。いくつかの例では、メディア105として描かれたそのようなストリーミング可能メディアは、メディアストア110にストリーミングされ得る。クライアントデバイス108は、フェッチ機構111(例えば、ISO/IEC 23009 Dynamic Adaptive Streaming over HTTP)を介してメディアストア110にアクセスする。クライアントデバイス108は、ネットワークから配信メディアを受信またはフェッチし、106によって示されるようにレンダリングプロセスを介してプレゼンテーションのためにメディアを準備することができる。レンダリングプロセス106の出力は、107によって示されるように、さらに別の潜在的に異なるフォーマットCのプレゼンテーションメディアである。
【0062】
図2は、例えばネットワーク内の1つまたは複数のデバイスによって、ネットワーク(ネットワーククラウドとも呼ばれる)内の取り込まれたメディアを処理するためのネットワーク論理フローを示すメディア変換意思決定プロセス200(プロセス200とも呼ばれる)を示す。201において、メディアは、コンテンツプロバイダからネットワーククラウドによって取り込まれる。まだ知られていない場合、202において、ターゲットクライアントデバイスの属性が取得される。意思決定ステップ203は、必要に応じて、ネットワークがメディアの変換を支援すべきかどうかを決定する。取り込まれたメディアは、意思決定ステップ203がネットワークが変換を支援すべきであると判定した場合に、メディアをフォーマットAからフォーマットBに変換して、変換されたメディア205を生成するプロセスステップ204によって変換されることにより変換される。206において、変換されたまたはその元の形態のいずれかのメディアは、ストリーミングされるように準備される。207において、準備されたメディアは、ゲームエンジンターゲットクライアントデバイスなどのターゲットクライアントデバイス、または図1のメディアストア110に適切にストリーミングされる。
【0063】
図2の論理に対する重要な態様は、自動化プロセスによって実行され得る意思決定プロセス203である。意思決定ステップは、メディアがその元の取り込まれたフォーマットAでストリーミングされ得るかどうか、またはターゲットクライアントデバイスによるメディアのプレゼンテーションを容易にするためにメディアが異なるフォーマットBに変換されなければならないかどうかを判定できる。
【0064】
いくつかの例では、意思決定プロセスステップ203は、最適な選択を行うため、すなわち、メディアをターゲットクライアントデバイスにストリーミングする前にインジェストメディアの変換が必要であるかどうか、またはメディアをターゲットクライアントデバイスに直接その元のインジェストフォーマットAでストリーミングし得るかどうかを判定するために、意思決定プロセスステップ203を支援するように、インジェストメディアの態様または特徴を記述する情報へのアクセスを必要とする場合がある。
【0065】
本開示の態様によれば、シーンベースの没入型メディアのストリーミングは、ストリーミングフレームベースのメディアとは異なり得る。例えば、フレームベースのメディアのストリーミングは、ビデオのフレームのストリーミングと同等となり得、各フレームは、シーン全体の完全なピクチャまたはクライアントデバイスによってプレゼンテーションされるオブジェクト全体の完全なピクチャをキャプチャする。フレームのシーケンスは、それらの圧縮形式からクライアントデバイスによって再構成され、視認者にプレゼンテーションされると、没入型プレゼンテーション全体またはプレゼンテーションの一部を含むビデオシーケンスを作成する。フレームベースメディアのストリーミングの場合、フレームがネットワークからクライアントデバイスにストリーミングされる順序は、所定の仕様(汎用オーディオビジュアルサービスのためのITU-T勧告H.264アドバンストビデオコーディングなど)と一致し得る。
【0066】
しかしながら、シーンは、それ自体が互いに独立していてもよい個々のアセットから構成され得るので、メディアのシーンベースのストリーミングは、フレームベースのストリーミングとは異なる。所与のシーンベースのアセットは、特定のシーン内で、または一連のシーンにわたって複数回使用することができる。クライアントデバイス、または任意の所与のレンダラが、特定のアセットの正しいプレゼンテーションを作成するのに必要な時間の長さは、アセットのサイズ、レンダリングを実行する計算リソースの利用可能性、およびアセットの全体的な複雑度を記述する他の属性を含むがこれらに限定されない多くの要因に依存し得る。シーンベースのストリーミングをサポートするクライアントデバイスは、シーン内の各アセットのレンダリングの一部または全部が、シーンのプレゼンテーションのいずれかが開始できる前に完了することを必要とする場合がある。したがって、アセットがネットワークからクライアントデバイスにストリーミングされる順序は、全体的な能力に影響を及ぼす可能性がある。
【0067】
本開示の態様によると、フォーマットAから別のフォーマットへのメディアの変換が、完全にネットワークによって、完全にクライアントデバイスによって、または例えば分割レンダリングのためにネットワークとクライアントの両者の間で、共同で行われ得る上記の各シナリオを考えると、クライアントデバイスとネットワークの両方が、変換作業を特徴付けるための完全な情報を有するように、メディアフォーマットを記述する属性の語彙集が必要とされる場合がある。さらに、例えば、利用可能な計算リソース、利用可能なストレージリソース、および帯域幅へのアクセスに関して、クライアントデバイスの能力の属性を提供する語彙集も同様に必要とされ得る。さらに、ネットワークがメディアをクライアントデバイスに配信するために分割レンダリングステップを用いることができるかどうか、またはいつ用いることができるかを、ネットワークおよびクライアントデバイスが共同で、または単独で決定することができるように、インジェストフォーマットの計算、ストレージ、または帯域幅の複雑度のレベルを特徴付ける機構が必要になり得る。さらに、クライアントデバイスがメディアのプレゼンテーションを完了するために必要とする特定のメディアオブジェクトの変換およびまたはストリーミングを回避できる場合、ネットワークは、クライアントデバイスがメディアのプレゼンテーションを完了するために必要とし得る(例えば、クライアントデバイスに以前にストリーミングされた)メディアオブジェクトへのアクセスまたは利用可能性をクライアントデバイスが有すると仮定して、変換およびインジェストメディアのストリーミングのステップをスキップすることができる。いくつかの例では、フォーマットAから別のフォーマットへの変換が、クライアントデバイスによって、またはクライアントデバイスに代わって実行される必要なステップであると判定された場合、シーン内の個々のアセットの変換プロセスを順序付けるための優先順位付け方式を実行することができ、インテリジェントで効率的なネットワークアーキテクチャに利益をもたらすことができる。
【0068】
クライアントデバイスがその最大限の能力で実行する能力を促進するために、シーンベースのアセットがネットワークからクライアントデバイスにストリーミングされる順序に関して、ネットワークがクライアントデバイスのパフォーマンスを向上させるためにそのような順序を決定できるように、ネットワークが十分な情報を備えることが望ましい場合がある。例えば、特定のプレゼンテーションにおいて複数回使用されるアセットの反復的な変換および/またはストリーミングステップを回避するのに十分な情報を有するこのようなネットワークは、そのように設計されていないネットワークよりも最適に実行することができる。同様に、クライアントへのアセットの配信を「インテリジェントに」順序付けることができるネットワークは、クライアントデバイスがその十分な潜在力で実行する能力、すなわち、エンドユーザにとってより楽しむことができる体験を作り出すことを促進することができる。さらに、クライアントデバイスとネットワーク(例えば、ネットワークのサーバデバイス)との間のインターフェースは、1つまたは複数の通信チャネルを使用して実装されてもよく、クライアントデバイスの動作状態の特性、クライアントデバイスにおける、またはクライアントデバイスに対してローカルなリソースの利用可能性、ストリーミングされるメディアのタイプ、および使用される、または多数のシーンにわたるアセットの周波数に関する本質的な情報が伝達される。したがって、異種クライアントへのシーンベースのメディアのストリーミングを実装するネットワークアーキテクチャは、計算および記憶リソースにアクセスするクライアントデバイスの能力に関連する現在の条件を含む、各シーンの処理に関連する情報をネットワークサーバプロセスに提供および更新することができるクライアントインターフェースへのアクセスを必要とする場合がある。そのようなクライアントインターフェースはまた、クライアントデバイス上で実行される他のプロセス、特に没入型体験をエンドユーザに配信するクライアントデバイスの能力に代わって本質的な役割を果たすことができるゲームエンジンと密接に対話することができる。ゲームエンジンが果たすことができる本質的な役割の例は、対話型体験の配信を可能にするためのアプリケーションプログラムインターフェース(API)を提供することを含む。クライアントデバイスに代わってゲームエンジンによって提供され得る別の役割は、クライアントデバイスの能力と一致する視覚体験を提供するためにクライアントデバイスによって必要とされる正確な視覚信号のレンダリングである。
【0069】
本開示で使用されるいくつかの用語の定義が、以下の段落で提示される。
【0070】
シーングラフ:ベクトルベースのグラフィックス編集アプリケーションおよび最新のコンピュータゲームによって通常使用される一般的なデータ構造であって、グラフィックシーンの論理的かつ多くの場合(必ずしもそうとは限らないが)空間的な表現を構成し、グラフ構造におけるノードおよび頂点の集合である。
【0071】
シーン:コンピュータグラフィックスの文脈では、シーンは、オブジェクト(例えば、3Dアセット)、オブジェクト属性、ならびに、特定の設定を記述する視覚的、音響的、および物理ベースの特性を含む他のメタデータの集合であり、その設定内のオブジェクトの相互作用に関して、空間または時間のいずれかによって境界が定められる。
【0072】
ノード:ビジュアル、オーディオ、触覚、嗅覚、味覚、または関連する処理情報の論理的、または空間的、または時間的な表現に関連する情報で構成されるシーングラフの基本要素。各ノードには、最大で1つの出力エッジ、0以上の入力エッジ、および少なくとも1つのエッジ(入力または出力のいずれか)が接続されているものとする。
【0073】
ベース層:アセットの公称表現であり、通常、アセットをレンダリングするのに必要な計算リソースもしくは時間、またはネットワークを介してアセットを送信する時間を最小化するように定式化される。
【0074】
強化層:アセットのベース層表現に適用される場合、ベース層でサポートされない機能または能力を含むようにベース層を拡張する情報のセット。
【0075】
属性:基準形式またはより複雑な形式(例えば、別のノードに関して)のいずれかでそのノードの特定の特性または特徴を記述するために使用されるノードに関連付けられたメタデータ。
【0076】
バインディングLUT:ISO/IEC 23090 Part 28のIMSからのメタデータを、特定のシーングラフフォーマットの特徴または機能を記述するために使用されるメタデータまたは他の機構、例えば、ITMF、glTF、ユニバーサルシーン記述と関連付ける論理構造。
【0077】
コンテナ:シーングラフおよびシーンのレンダリングに必要なすべてのメディアリソースを含むすべての自然シーン、すべての合成シーン、または合成シーンと自然シーンとの混合を表すための情報を記憶し、かつ交換するための直列化フォーマット。
【0078】
シリアライゼーション:データ構造またはオブジェクト状態を、(例えば、ファイルまたはメモリバッファに)記憶することができ、または(例えば、ネットワーク接続リンクを介して)送信することができ、後で(場合によっては異なるコンピュータ環境で)再構成することができるフォーマットに変換するプロセス。結果として得られた一連のビットがシリアライゼーションフォーマットに従って再度読み取りされると、これを使用して、元のオブジェクトと意味的に同一のクローンを作成することができる。
【0079】
レンダラ:音響物理学、光物理学、視覚知覚、音声知覚、数学、およびソフトウェア開発に関連する学問分野の選択的混合に基づく(典型的にはソフトウェアベースの)アプリケーションまたはプロセスであり、入力シーングラフおよびアセットコンテナが与えられると、ターゲットのデバイスでのプレゼンテーションに適した、またはシーングラフ内のレンダリング対象ノードの属性によって指定された所望のプロパティに適応した、典型的なビジュアル信号および/またはオーディオ信号を発する。視覚ベースのメディアアセットの場合、レンダラは、ターゲットのディスプレイに適した、または(例えば、別のコンテナに再パッケージ化された、すなわち、グラフィックスパイプラインでの一連のレンダリングプロセスにおいて使用される)中間アセットとしてのストレージに適したビジュアル信号を発することができ、オーディオベースのメディアアセットの場合、レンダラは、マルチチャネルラウドスピーカおよび/またはバイノーラル化されたヘッドフォンでのプレゼンテーションのために、または別の(出力)コンテナに再パッケージ化するために、オーディオ信号を発することができる。レンダラの一般的な例は、ゲームエンジンのUnityおよびUnreal Engineのリアルタイムレンダリング機能を含む。
【0080】
評価:出力を抽象的結果から具体的結果に移行させる(例えば、ウェブページのためのドキュメントオブジェクトモデルの評価に類似する)結果を生成する。
【0081】
スクリプト言語:シーングラフノードに加えられる動的な入力および可変の状態変化を処理するために、実行時にレンダラによって実行され得るインタプリタ型プログラミング言語であり、この変化は、空間的および時間的なオブジェクトのトポロジ(物理的な力、制約、逆運動学、変形、衝突を含む)のレンダリングおよび評価ならびにエネルギーの伝播および輸送(光、音)に影響を及ぼす。
【0082】
シェーダ:コンピュータプログラムの一種で、元々はシェーディング(画像内の適切なレベルの明暗および色の生成)に使用されていたが、現在では、コンピュータグラフィックスの特殊効果の様々な分野で様々な特殊機能を実行し、またはシェーディングとは無関係のビデオ後処理を行い、またはグラフィックスとはまったく関係のない機能さえも実行する。
【0083】
パス追跡:シーンの照明が現実に忠実になるように3次元のシーンをレンダリングするコンピュータグラフィックス方法。
【0084】
時限メディア:時間によって順序付けられたメディアであって、例えば、特定のクロックに従った開始時刻および終了時刻を有する。
【0085】
非時限メディア:例えば、ユーザが行った行動に従って実現される対話型体験のように、空間的、論理的、または時間的関係によって編成されたメディア。
【0086】
ニューラルネットワークモデル:元の信号によって明示的には提示されなかったビジュアル信号の新しいビューの補間を含むことができる改善された視覚出力に到達するために、ビジュアル信号に適用される、明確に定義された数学的演算で使用される重み(すなわち、数値)を定義するパラメータおよびテンソル(例えば、行列)の集合。
【0087】
変換:1つのメディアフォーマットまたはタイプを別のメディアフォーマットまたはタイプにそれぞれ変換するプロセスを指す。
【0088】
適応:メディアをビットレートの複数の表現に変換(translationおよびまたはconverting)することを指す。
【0089】
フレームベースのメディア:関連するオーディオの有無にかかわらない、2Dビデオ。
【0090】
シーンベースのメディア:オーディオ、ビジュアル、触覚、および他の主要なタイプのメディア、ならびにシーングラフを使用して論理的および空間的に編成されたメディア関連情報。
【0091】
過去10年間に、ヘッドマウントディスプレイ、拡張現実眼鏡、ハンドヘルドコントローラ、マルチビューディスプレイ、触覚手袋、およびゲーム機を含む、いくつかの没入型メディア対応デバイスが消費者市場に導入されてきた。同様に、ホログラフィックディスプレイおよび他の形態の立体ディスプレイも、今後3~5年以内に消費者市場に出現する準備が整っている。これらのデバイスの即時の、または差し迫った利用可能性にもかかわらず、商用ネットワークを介した没入型メディアの配信のための一貫したエンドツーエンドエコシステムは、いくつかの理由で実現されていない。
【0092】
商用ネットワークを介した没入型メディアの配信のための一貫したエンドツーエンドエコシステムを実現することに対する障害の1つは、没入型ディスプレイのこのような配信ネットワークのエンドポイントとして機能するクライアントデバイスがすべて非常に多様であることである。これらの中には、特定の没入型メディアフォーマットをサポートするものもあれば、サポートしないものもある。これらの中には、レガシーなラスタベースのフォーマットから没入型体験を作り出すことができるものもあれば、そうでないものもある。レガシーメディアの配信のためにだけ設計されたネットワークとは異なり、多様なディスプレイクライアントをサポートしなければならないネットワークは、このようなネットワークが適応プロセスを用いて、メディアを各ターゲットディスプレイおよび対応するアプリケーションに適したフォーマットに変換可能となる前に、各クライアントの能力の詳細および配信されるメディアのフォーマットに関するかなりの量の情報を必要とする。このようなネットワークは、少なくとも、入力メディアソースをターゲットディスプレイおよびアプリケーションに適したフォーマットに意義深く適応させる方法をネットワークが確認するために、各ターゲットディスプレイの特性と取り込まれたメディアの複雑度とを記述する情報にアクセスする必要がある。同様に、効率のために最適化されたネットワークは、そのようなネットワークに接続されたクライアントデバイスによってサポートされるメディアのタイプおよびそれらの対応する属性のデータベースを維持することを望む場合がある。
【0093】
同様に、異種のクライアントデバイスをサポートする理想的なネットワークは、入力メディアフォーマットから特定のターゲットのフォーマットに適応されたアセットのうちの一部が、同様の表示ターゲットのセットにわたって再利用され得るという事実を活用する。すなわち、ターゲットディスプレイに適したフォーマットに変換されると、一部のアセットは、同様の適応要件を有するいくつかのこのようなディスプレイにわたって再利用され得る。したがって、このような理想的なネットワークは、適応されたアセットを比較的不変である、すなわち、レガシーネットワークで使用されているコンテンツ配信ネットワーク(CDN)の使用と同様である領域に記憶するために、キャッシング機構を用いることになる。
【0094】
さらに、没入型メディアは、シーン記述としても知られるシーングラフによって記述される「シーン」、例えば「シーンベースのメディア」に編成されてもよい。シーングラフの範囲は、プレゼンテーションの一部である特定の設定を含むビジュアル、オーディオ、および他の形態の没入型アセットを記述することであり、例えば、映画などのプレゼンテーションの一部である建物内の特定の場所で行われる俳優およびイベントである。単一のプレゼンテーションを含むすべてのシーンのリストは、シーンのマニフェスト(シーンマニフェストとも呼ばれる)に定式化され得る。
【0095】
このような手法のさらなる利点は、このようなコンテンツを配信しなければならない前に準備されるコンテンツの場合、プレゼンテーション全体で使用されるアセットのすべてと、プレゼンテーション内の様々なシーンにわたって各アセットが使用される頻度とを特定する「素材表」を作成することができることである。理想的なネットワークは、特定のプレゼンテーションのアセット要件を満たすために使用され得るキャッシュされたリソースの存在に関する知識を有するべきである。同様に、一連のシーンを提示しているクライアントが、複数のシーンにわたって使用される任意の所与のアセットの頻度に関する知識を有することを望む場合がある。例えば、メディアアセット(オブジェクトとしても知られる)が、クライアントによって処理されている、または処理されるであろう複数のシーンにわたって複数回参照される場合、クライアントは、その特定のアセットを必要とする最後のシーンがクライアントによって提示されるまで、アセットをそのキャッシングリソースから破棄することを回避すべきである。
【0096】
さらに、所与のシーンまたはシーンの集合の「素材表」を生成することができるそのようなプロセスはまた、1つのフォーマットから別のフォーマットへのシーンの適応を容易にするために、例えばISO/IEC 23090 Part 28のIMSからの標準化されたメタデータで、シーンに注釈を付けることができる。
【0097】
最後に、これらに限定されるものではないが、Oculus Rift、Samsung Gear VR、Magic Leapゴーグル、すべてのLooking Glass Factoryディスプレイ、Light Field LabによるSolidLight、Avalon Holographicディスプレイ、およびDimencoディスプレイを含む多くの新興の先進撮像ディスプレイは、それぞれのディスプレイがディスプレイにレンダリングおよび提示されるコンテンツを取り込むことができる機構としてゲームエンジンを利用する。現在、この前述のディスプレイのセットにわたって採用されている最も人気のあるゲームエンジンには、Epic GameによるUnreal Engine、およびUnity TechnologiesによるUnityが含まれる。すなわち、高度な画像化ディスプレイは、現在、ディスプレイがそのような高度な画像化ディスプレイによってレンダリングおよび提示されるメディアを取得することができる機構としてこれらのゲームエンジンの一方または両方を採用して設計および出荷されている。Unreal EngineとUnityはどちらも、フレームベースのメディアではなくシーンベースのメディアを取り込むように最適化されている。しかしながら、既存のメディア配信エコシステムは、フレームベースのメディアのみをストリーミングすることができる。現在のメディア配信エコシステムには、メディアを「大規模に」、例えばフレームベースのメディアが配信されるのと同じ規模で配信することができるように、出現しつつある先進的な画像化ディスプレイへのシーンベースのコンテンツの配信を可能にするための標準(デジュールまたはデファクト)および最良の慣行を含む大きな「ギャップ」が存在する。
【0098】
いくつかの例では、ゲームエンジンが利用されてシーンベースのメディアを取り込むクライアントデバイスに代わって、ネットワークサーバプロセスに応答し、複合ネットワークおよび没入型クライアントアーキテクチャに関与する機構またはプロセスを使用することができる。そのような「スマートクライアント」機構は、メディアの配信が効率的に実行され、ネットワーク全体を構成する様々なコンポーネントの能力の制約の中で、没入型異種インタラクティブクライアントデバイスにシーンベースのメディアをストリーミングするように設計されたネットワークに特に適切である。「スマートクライアント」は、特定のクライアントデバイスに関連付けられ、シーンベースのメディアのプレゼンテーションをレンダリングおよび作成するためのクライアントデバイスのリソースの利用可能性を含む、その関連付けられたクライアントデバイスの現在の状態に関する情報に対するネットワークの要求に応答する。「スマートクライアント」は、ゲームエンジンが採用されるクライアントデバイスとネットワーク自体との間の「仲介者」としての役割も果たす。
【0099】
開示された主題の残りの部分は、一般性を失うことなく、特定のクライアントデバイスの代わりに応答することができるスマートクライアントが、1つまたは複数の他のアプリケーション(すなわち、ゲームエンジンアプリケーションではない)がアクティブであるクライアントデバイスの代わりに応答することもできることを想定していることに留意されたい。すなわち、クライアントデバイスの代わりに応答するという問題は、1つまたは複数の他のアプリケーションがアクティブであるクライアントデバイスの代わりに応答するという問題と同等である。
【0100】
さらに、「メディアオブジェクト」および「メディアアセット」という用語は、交換可能に使用される場合があり、どちらもメディアの特定のフォーマットの特定のインスタンスを指すことに留意されたい。クライアントデバイスまたはクライアント(いずれの資格もなし)という用語は、メディアのプレゼンテーションが最終的に実行されるデバイスおよびその構成要素を指す。「ゲームエンジン」という用語は、UnityもしくはUnreal Engine、または配信ネットワークアーキテクチャにおいて役割を果たす任意のゲームエンジンを指す。
【0101】
いくつかの例では、意思決定プロセスをサポートするために使用することができる十分な情報を取得するために没入型メディアシーンを分析する機構またはプロセスは、ネットワークまたはクライアントデバイスによって使用することができる。機構またはプロセスは、ネットワークまたはクライアントによって採用されるときに、フォーマットAからフォーマットBへのメディアオブジェクト(またはメディアアセット)の変換が完全にネットワークによって実行されるべきか、完全にクライアントによって実行されるべきか、または両方の混合を介して(どのアセットがクライアントまたはネットワークによって変換されるべきかを示すと共に)実行されるべきかに関して示し得る。そのような「没入型メディアデータ複雑度アナライザ」(いくつかの例では、メディアアナライザとも呼ばれる)は、自動化されたコンテキストにおいてクライアントデバイスまたはネットワークデバイスのいずれかによって使用され得る。
【0102】
図1に戻って参照すると、メディアフロープロセス100は、ネットワーク104を介するメディアの流れ、またはゲームエンジンが使用されるクライアントデバイス108への配信を示す。図1において、インジェストメディアフォーマットAの処理は、クラウドまたはエッジデバイス104における処理によって実行される。101で、メディアは、コンテンツプロバイダから取得される(図示せず)。プロセスステップ102は、取り込まれたメディアの任意の必要な変換または調整を行い、メディアの潜在的な代替表現を配信フォーマットBとしてを作成する。メディアフォーマットAおよびBは、特定のメディアフォーマット仕様の同じシンタックスに従う表現であってもなくてもよいが、フォーマットBは、TCPまたはUDPなどのネットワークプロトコルを介したメディアの配信を容易にする方式に調整される可能性が高い。そのような「ストリーミング可能な」メディアは、クライアントデバイス108にストリーミングされるメディアとしてネットワーク接続105を介してストリーミングされるように示されている。クライアントデバイス108は、106として描かれた一部のレンダリング機能にアクセスすることができる。そのようなレンダリング機能106は、クライアントデバイス108およびクライアントデバイスにおいて動作しているゲームエンジンの種類に応じて、初歩的であってもよく、または同様に洗練されていてもよい。レンダリングプロセス106は、第3のフォーマット仕様、例えばフォーマットCに従って表現されてもされなくてもよいプレゼンテーションメディアを作成する。いくつかの例では、ゲームエンジンを使用するクライアントデバイスでは、レンダリングプロセス106は通常、ゲームエンジンによって提供される機能である。
【0103】
図2を参照すると、メディア変換意思決定プロセス200は、クライアントデバイスにメディアを配信する前にネットワークがメディアを変換する必要があるかどうかを判定するために採用され得る。図2において、フォーマットAで表される取り込まれたメディア201は、コンテンツプロバイダ(図示せず)によってネットワークに提供される。プロセスステップ202は、ターゲットのクライアント(図示せず)の処理能力を記述する属性を取得する。意思決定プロセスステップ203を用いて、メディアがクライアントにストリーミングされる前に、ネットワークまたはクライアントが、取り込まれたメディア201に含まれるメディアアセットのいずれかについて何らかのフォーマット変換、例えば、フォーマットAからフォーマットBへの特定のメディアオブジェクトの変換などを行うべきかどうかを判定する。メディアアセットのうちのいずれかがネットワークによって変換される必要がある場合、ネットワークは、プロセスステップ204を用いて、メディアオブジェクトをフォーマットAからフォーマットBに変換する。変換されたメディア205は、プロセスステップ204からの出力である。変換されたメディアは、ゲームエンジンのクライアント(図示せず)にストリーミングされるメディアを準備するために、準備プロセス206にマージされる。プロセスステップ207は、例えば、準備されたメディアをゲームエンジンクライアントにストリーミングする。
【0104】
図3は、例において時限式である異種没入型メディアのためのストリーミング可能フォーマット300の表現を示し、図4は、例において非時限式である異種没入型メディアのためのストリーミング可能フォーマット400の表現を示す。図3の場合、図3は時限メディアのシーン301を参照する。図4の場合、図4は非時限メディアのシーン401を参照する。どちらの場合も、シーンは、様々なシーン表現またはシーン記述によって具現化されてもよい。
【0105】
例えば、いくつかの没入型メディア設計では、シーンはシーングラフによって、または多平面画像(MPI)として、または多球面画像(MSI)として具現化されてもよい。MPIおよびMSI技術の両方は、自然なコンテンツ、すなわち1つまたは複数のカメラから同時にキャプチャされた現実世界の画像についてディスプレイに依存しないシーン表現の作成を支援する技術の例である。一方、シーングラフ技術は、自然画像とコンピュータ生成画像の両方を合成表現の形式で表現するために使用され得るが、そのような表現は、コンテンツが1つまたは複数のカメラによって自然シーンとしてキャプチャされる場合に作成するために特に計算集約的である。すなわち、自然にキャプチャされたコンテンツのシーングラフ表現は、作成するのに時間と計算集約的であり、ターゲットの没入型クライアントディスプレイの視錐台を満たすのに十分かつ適切な数のビューを補間するために後で使用できる合成表現を作成するために、写真測量または深層学習またはその両方の技術を用いた自然画像の複雑な解析を必要とする。結果として、そのような合成表現は、リアルタイム配信を必要とするユースケースを考慮するためにリアルタイムで実際に作成することができないため、自然なコンテンツを表現するための候補として考慮するには現在実用的ではない。いくつかの例では、コンピュータ生成画像の最良の候補表現は、3Dモデリングプロセスおよびツールを使用してコンピュータ生成画像が作成されるので、合成モデルを有するシーングラフの使用を用いることである。
【0106】
自然コンテンツとコンピュータ生成コンテンツの両方の最適表現におけるこのような2分法は、自然にキャプチャされたコンテンツの最適なインジェストフォーマットが、リアルタイム配信アプリケーションに必須ではないコンピュータ生成コンテンツまたは自然コンテンツの最適なインジェストフォーマットとは異なることを示唆している。したがって、開示された主題は、物理的なカメラの使用によって自然に作成されるか、コンピュータによって作成されるかにかかわらず、視覚的没入型メディアの複数のインジェストフォーマットをサポートするのに十分に堅牢であることを目標としている。
【0107】
以下は、コンピュータ生成技術を使用して作成された視覚的没入型メディア、または自然にキャプチャされたコンテンツを表現するのに適したフォーマットとして、シーングラフを具体化する例示的な技術であり、そのために深層学習または写真測量技術が採用されて、自然なシーンの対応する合成表現を作成するものであり、すなわち、リアルタイム配信アプリケーションには必須ではない。
【0108】
1.OTOY社のORBX(登録商標)
OTOY社のORBXは、光線追跡可能、レガシー(フレームベース)、立体および他の種類の、合成またはベクトルベースのビジュアルフォーマットを含む、時限または非時限の任意の種類のビジュアルメディアをサポートすることが可能ないくつかのシーングラフ技術のうちの1つである。態様によれば、ORBXは、メッシュ、点群、およびテクスチャのための自由に利用可能なおよび/またはオープンソース形式のネイティブサポートを提供するので、ORBXは他のシーングラフから独特である。ORBXは、シーングラフで動作する複数のベンダ技術にわたる交換を容易にすることを目的として意図的に設計されたシーングラフである。さらに、ORBXは、豊富な素材システム、オープンシェーダ言語のサポート、堅牢なカメラシステム、およびLuaスクリプトのサポートを与える。ORBXはまた、没入型デジタル体験アライアンス(IDEA)によって使用料無料の条件でライセンスのために公開された没入型技術メディアフォーマットの基礎でもある。メディアのリアルタイム配信の状況では、自然なシーンのORBX表現を作成および配信する能力は、カメラによってキャプチャされたデータの複雑な分析および同じデータの合成表現への合成を実行するための計算リソースの利用可能性の関数である。今日まで、リアルタイム配信のための十分な計算の利用可能性は実際的ではないが、それにもかかわらず不可能ではない。
【0109】
2.Pixar社によるユニバーサルシーン記述
Pixar社によるユニバーサルシーン記述(USD)は、ビジュアルエフェクト(VFX)およびプロフェッショナルコンテンツ制作コミュニティにおいて使用され得る他のシーングラフである。USDは、Nvidia社のGPUを用いた3Dモデル作成およびレンダリングのための開発者向けツールのセットであるNvidia社のOmniverseプラットフォームに統合されている。USDのサブセットは、USDZとしてApple社およびPixar社によって公開された。USDZは、Apple社のARKitによってサポートされている。
【0110】
3.Khronos社のglTF2.0
glTF2.0は、Khronos 3D Groupによって書かれたグラフィックス言語伝送フォーマット仕様の最新バージョンである。このフォーマットは、「png」および「jpeg」画像フォーマットを含む、一般にシーン内の静的(非時限)オブジェクトをサポートすることができる単純なシーングラフフォーマットをサポートする。glTF2.0は、単純なアニメーションをサポートし、glTFプリミティブを使用して記述された基本形状、すなわち幾何学的オブジェクトの並進、回転、およびスケーリングをサポートする。glTF2.0は時限メディアをサポートしておらず、したがって、ビデオもオーディオもサポートしてはいない。
【0111】
4.ISO/IEC 23090 Part 14 Scene Descriptionは、時限メディア、例えばビデオおよびオーディオのサポートを追加するglTF2.0の拡張である。
没入型ビジュアルメディアの上記のシーン表現は、例えば提供されているにすぎず、入力没入型メディアソースをクライアントエンドポイントデバイスの特定の特性に適したフォーマットに適応させるプロセスを指定するその能力において開示された主題を限定しないことに留意されたい。
【0112】
さらに、上記の例示的なメディア表現のいずれかまたはすべては、錐台の特定の寸法に基づいて特定のディスプレイの視錐台を満たすために特定のビューの選択を可能にするかまたは容易にするニューラルネットワークモデルを訓練して作成するために、深層学習技術を現在用いているか、または用いることができる。特定のディスプレイの視錐台のために選択されたビューは、シーン表現において明示的に提供される既存のビューから、例えば、MSIまたはMPI技術から補間されてもよく、またはこれらのレンダリングエンジンのための特定の仮想カメラ位置、フィルタ、または仮想カメラの記述に基づいてレンダリングエンジンから直接レンダリングされてもよい。
【0113】
したがって、開示された主題は、自然に(例えば、1つまたは複数のカメラを用いて)キャプチャされるか、またはコンピュータ生成技術を使用して作成されるメディアのリアルタイムまたは「オンデマンド」(例えば、非リアルタイム)配信の両方の要件を十分に満たすことができる、比較的小さいがよく知られている没入型メディアインジェストフォーマットのセットがあることを考慮するのに十分に堅牢である。
【0114】
ニューラルネットワークモデルまたはネットワークベースのレンダリングエンジンのいずれかの使用による没入型メディアインジェストフォーマットからのビューの補間は、モバイルネットワーク用の5Gおよび固定ネットワーク用の光ファイバケーブルなどの高度なネットワーク技術が展開されるにつれてさらに容易になる。すなわち、これらの高度なネットワーク技術は、そのような高度なネットワークインフラストラクチャがますます大量のビジュアル情報の伝送および配信をサポートすることができるようになるので、商用ネットワークの容量および能力を増加させる。マルチアクセスエッジコンピューティング(MEC)、ソフトウェア定義ネットワーク(SDN)、およびネットワーク機能仮想化(NFV)などのネットワークインフラ管理技術は、商用ネットワークサービスプロバイダが、特定のネットワークリソースに対する需要の変化に適応するように、例えば、ネットワークスループット、ネットワーク速度、往復レイテンシ、および計算リソースに対する需要の動的な増減に応答するように、それらのネットワークインフラを柔軟に構成することを可能にする。さらに、動的ネットワーク要件に適応するこの固有の能力は、同様に、異種クライアントエンドポイントのための潜在的に異種のビジュアルメディアフォーマットを有する様々な没入型メディアアプリケーションをサポートするために、没入型メディアインジェストフォーマットを適切な配信フォーマットに適応させるネットワークの能力を容易にする。
【0115】
没入型メディアアプリケーション自体はまた、ゲームの状態でリアルタイム更新に応答するために著しく低いネットワークレイテンシを必要とするゲームアプリケーション、ネットワークのアップリンク部分およびダウンリンク部分の両方に対して対称的なスループット要件を有するテレプレゼンスアプリケーション、およびデータを消費しているクライアントのエンドポイントのディスプレイのタイプに応じてダウンリンクリソースに対する需要が増加する可能性のある受動的閲覧アプリケーションを含む、ネットワークリソースに対する様々な要件を有してもよい。一般に、任意の消費者向けアプリケーションは、ストレージ、計算および電力のための様々なオンボードクライアント機能、ならびに特定のメディア表現のための同じく様々な要件を含む様々なクライアントエンドポイントによってサポートされてもよい。
【0116】
したがって、開示された主題は、十分に装備されたネットワーク、すなわち、最新のネットワークの特性の一部またはすべてを用いるネットワークが、以下の中で指定された特徴に従って複数のレガシーおよび没入型メディア対応デバイスを同時にサポートすることを可能にする。
【0117】
1.メディアの配信のためのリアルタイムおよびオンデマンドのユースケースの両方に実用的なメディアインジェストフォーマットを活用する柔軟性を提供する。
【0118】
2.レガシーおよび没入型メディア対応のクライアントエンドポイントの両方について、自然コンテンツおよびコンピュータ生成コンテンツの両方をサポートする柔軟性を提供する。
【0119】
3.時限メディアおよび非時限メディアの両方をサポートする。
【0120】
4.クライアントエンドポイントの機能および能力に基づいて、ならびにアプリケーションの要件に基づいて、ソースメディアインジェストフォーマットを適切な配信フォーマットに動的に適応させるためのプロセスを提供する。
【0121】
5.配信フォーマットがIPベースのネットワークにわたってストリーミング可能であることを保証する。
【0122】
6.ネットワークが、レガシーおよび没入型メディア対応デバイスおよびアプリケーションの両方を含み得る複数の異種クライアントエンドポイントに同時にサービスを提供できるようにする。
【0123】
7.シーン境界に沿った配信メディアの編成を容易にする例示的なメディア表現フレームワークを提供する。
【0124】
開示された主題によって可能にされる改善のエンドツーエンドの実施形態は、続く詳細な説明に記載された処理およびコンポーネントに従って達成される。
【0125】
図3および図4はそれぞれ、特定のクライアントエンドポイントの能力に一致するようにインジェストソースフォーマットから適応され得る例示的な包括的な配信フォーマットを採用する。上述したように、図3に示されているメディアは時限的であり、図4に示されているメディアは時限的ではない。特定の包含フォーマットは、その構造において、各層がメディアのプレゼンテーションに寄与する顕著な情報の量に基づいてそれぞれが階層化され得る多種多様なメディア属性に対応するのに十分に堅牢である。レイヤリングプロセスは、例えば、プログレッシブJPEGおよびスケーラブルビデオアーキテクチャ(例えば、ISO/IEC 14496-10スケーラブルアドバンストビデオ符号化に規定されている)に適用され得ることに留意されたい。
【0126】
態様によれば、包含するメディアフォーマットに従ってストリーミングされるメディアは、レガシービジュアルメディアおよびオーディオメディアに限定されず、機械と相互作用して人間の視覚、音、味、触覚、および匂いを刺激する信号を生成することができる任意のタイプのメディア情報を含むことができる。
【0127】
他の態様によれば、包含するメディアフォーマットに従ってストリーミングされるメディアは、時限メディアもしくは非時限メディアの両方、または両方の混合であり得る。
【0128】
他の態様によれば、包含するメディアフォーマットは、ベース層および強化層アーキテクチャを使用することによってメディアオブジェクトの階層表現を可能にすることによってさらに流線型化可能である。一例では、別々のベース層および強化層は、各シーンのメディアオブジェクトについての多重解像度または多重モザイク化の解析技術の適用によって計算される。これは、ISO/IEC 10918-1(JPEG)およびISO/IEC 15444-1(JPEG2000)で指定されたプログレッシブレンダリング画像フォーマットに類似しているが、ラスタベースのビジュアルフォーマットに限定されない。例では、幾何学的オブジェクトのプログレッシブな表現は、ウェーブレット解析を使用して計算されたオブジェクトの多重解像度表現であり得る。
【0129】
メディアフォーマットの階層化表現の別の例では、強化層は、ベース層によって表されるビジュアルオブジェクトの表面の材料特性を改良するなど、ベース層に異なる属性を適用する。さらに別の例では、属性は、表面を滑らかなテクスチャから多孔質のテクスチャに、またはつや消しの表面から光沢のある表面に変更するなど、ベース層オブジェクトの表面のテクスチャを改良することができる。
【0130】
階層化表現のさらに別の例では、シーン内の1つまたは複数のビジュアルオブジェクトの表面は、ランバート面からレイトレース可能な表面に変更され得る。
【0131】
階層化表現のさらに別の例では、ネットワークは、ベース層表現をクライアントに配信し、その結果、クライアントは、ベース表現の解像度または他の特性を改良するために追加の強化層の送信を待機している間に、シーンの公称プレゼンテーションを作成することができる。
【0132】
他の態様によれば、強化層における属性の解像度または精緻化情報は、既存のMPEGビデオおよびJPEG画像標準規格において現在のようにベース層におけるオブジェクトの解像度と明示的に結合されない。
【0133】
他の態様によれば、包含するメディアフォーマットは、プレゼンテーションデバイスまたはマシンによって提示または作動され得る任意のタイプの情報メディアをサポートし、それによって異種クライアントエンドポイントへの異種メディアフォーマットのサポートを可能にする。メディアフォーマットを配信するネットワークの一実施形態では、ネットワークは、最初にクライアントの能力を判定するためにクライアントエンドポイントに問い合わせ、クライアントがメディア表現を有意に取り込むことができない場合、ネットワークは、クライアントによってサポートされていない属性の層を除去するか、またはメディアをその現在のフォーマットからクライアントエンドポイントに適したフォーマットに適応させる。このような適応の1つの例では、ネットワークは、ネットワークベースのメディア処理プロトコルを使用することによって、ボリュームのビジュアルメディアアセットを同じビジュアルアセットの2D表現に変換する。このよう適応の別の例では、ネットワークは、ニューラルネットワークプロセスを用いて、メディアを適切なフォーマットに再フォーマットするか、または任意選択で、クライアントエンドポイントによって必要とされるビューを合成することができる。
【0134】
他の態様によれば、完全なまたは部分的に完全な没入型体験(ライブストリーミングイベント、ゲーム、またはオンデマンドアセットの再生)のためのマニフェストは、プレゼンテーションを作成するためにレンダリングおよびゲームエンジンが現在取り込み得る最小量の情報であるシーンによって編成される。マニフェストは、クライアントによって要求された没入型体験の全体がレンダリングされる個々のシーンのリストを含む。各シーンには、シーンのジオメトリのストリーミング可能なバージョンに対応するシーンの中の幾何学的オブジェクトの1つまたは複数の表現が関連付けられている。シーン表現の一実施形態は、シーンの幾何学的オブジェクトの低解像度バージョンに関する。同じシーンの別の実施形態は、同じシーンの幾何学的オブジェクトにさらなる詳細を追加するか、またはモザイク化を増加させるための、シーンの低解像度表現のための強化層に関する。上述したように、各シーンは、シーンの幾何学的オブジェクトの詳細を漸進的に増加させるために2つ以上の強化層を有してもよい。
【0135】
他の態様によれば、シーン内で参照されるメディアオブジェクトの各層は、リソースがネットワーク内でアクセスされ得る場所のアドレスを指すトークン(例えば、URI)に関連付けられる。このようなリソースは、コンテンツがクライアントによってフェッチされ得るCDNに類似している。
【0136】
他の態様によれば、幾何学的オブジェクトの表現のためのトークンは、ネットワーク内の位置またはクライアント内の位置を指すことができる。すなわち、クライアントは、そのリソースがネットワークベースのメディア処理のためにネットワークに利用可能であることをネットワークにシグナリングしてもよい。
【0137】
図3は、いくつかの例における時限メディア表現300を示す。時限メディア表現300は、時限メディアのための包含するメディアフォーマットの例を説明する。時限シーンマニフェスト300Aは、シーン情報301のリストを含む。シーン情報301は、シーン情報301にある処理情報およびメディアアセットの種類を別々に記述するコンポーネント302のリストを指す。コンポーネント302は、ベース層304および属性強化層305をさらに示すアセット303を指す。図3の例では、ベース層304のそれぞれは、プレゼンテーションにおけるシーンのセットにわたってアセットが使用された回数を示す数的頻度メトリックを指す。他のシーンにおいて以前に使用されたことがない一意のアセットのリストが、307において提供される。プロキシビジュアルアセット306は、再利用されたビジュアルアセットの一意の識別子などの再利用されたビジュアルアセットの情報を含み、プロキシオーディオアセット308は、再利用されたオーディオアセットの一意の識別子などの再利用されたオーディオアセットの情報を含む。
【0138】
図4は、いくつかの例における非時限メディア表現400を示す。非時限メディア表現400は、非時限メディアのための包含するメディアフォーマットの例を説明する。非時限シーンマニフェスト(図示せず)は、シーン1.0に分岐することができる、他のシーンがないシーン1.0を参照する。シーン情報401は、クロックに応じた開始時間および終了時間には関連付けられていない。シーン情報401は、シーンを構成する処理情報およびメディアアセットの種類を別々に記述するコンポーネント402のリストを参照する。コンポーネント402は、アセット403を参照して、アセット403は、ベース層404および属性強化層405、406をさらに参照する。図4の例では、ベース層404のそれぞれは、プレゼンテーションにおけるシーンのセットにわたってアセットが使用された回数を示す数的頻度の値を指す。また、シーン情報401は、非時限メディア用の他のシーン情報401を指し得る。シーン情報401はまた、時限メディアシーンのためのシーン情報407を指す。リスト408は、高次(例えば、親)シーンで以前に使用されたことがない特定のシーンに関連付けられた一意のアセットを識別する。
【0139】
図5は、自然コンテンツからインジェストフォーマットを合成するためのプロセス500の図を示す。プロセス500は、コンテンツキャプチャのための第1のサブプロセスと、自然画像のためのインジェストフォーマット合成のための第2のサブプロセスと、を含む。
【0140】
図5の例では、第1のサブプロセスでは、自然画像コンテンツ509をキャプチャするために、カメラユニットが使用され得る。例えば、カメラユニット501は、人物のシーンをキャプチャするために単一のカメラレンズを使用することができる。カメラユニット502は、リング状のオブジェクトの周囲に5つのカメラレンズを装着することで、5つの発散する視野のシーンをキャプチャすることができる。カメラユニット502の配置は、VRアプリケーション用の全方向コンテンツをキャプチャするための例示的な配置である。カメラユニット503は、球体の内径部分に7つのカメラレンズを装着することによって、7つの視野が集束するシーンをキャプチャする。カメラユニット503の配置は、光照射野またはホログラフィック没入型ディスプレイのための光照射野を捕捉するための例示的な配置である。
【0141】
図5の例では、第2のサブプロセスにおいて、自然画像コンテンツ509が合成される。例えば、自然画像コンテンツ509は、例では、キャプチャニューラルネットワークモデル508を生成するために訓練画像506の集合を使用するニューラルネットワーク訓練モジュール505を使用することができる合成モジュール504への入力として提供される。訓練プロセスの代わりに一般的に使用される他のプロセスは写真測量である。モデル508が図5に示すプロセス500中に作成される場合、モデル508は、自然なコンテンツのインジェストフォーマット507のアセットのうちの1つになる。いくつかの例では、シーンベースのメディアにIMSメタデータで注釈を付けるために、注釈付けプロセス511が任意選択的に実行されてもよい。インジェストフォーマット507の例示的な実施形態は、MPIとMSIを含む。
【0142】
図6は、合成メディア608、例えばコンピュータ生成画像のインジェストフォーマットを作成するプロセス600の図を示す。図6の例では、LIDARカメラ601はシーンの点群602をキャプチャする。合成コンテンツを作成するためのコンピュータ生成画像(CGI)ツール、3Dモデリングツール、または他のアニメーションプロセスは、ネットワークを介して604CGIアセットを作成するためにコンピュータ603上で使用される。センサ605Aを有するモーションキャプチャスーツが、行為者605に装着されて、行為者605の動きのデジタル記録をキャプチャして、アニメーション化されたモーションキャプチャ(MoCap)データ606を生成する。データ602、604、および606は、合成モジュール607への入力として提供され、合成モジュール607も同様に、例えば、ニューラルネットワークおよび訓練データを使用して、ニューラルネットワークモデル(図6には示されていない)を作成することができる。いくつかの例では、合成モジュール607は、インジェストフォーマットの合成メディア608を出力する。次いで、インジェストフォーマットの合成メディア6608は、その出力がインジェストフォーマットのIMS注釈付き合成メディア610である任意選択のIMS注釈プロセス609に入力され得る。
【0143】
本開示における異種没入型メディアを表現し、ストリーミングおよび処理するための技術は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実施することができ、1つまたは複数のコンピュータ可読媒体に物理的に記憶することができる。例えば、図7は、開示された主題の特定の実施形態を実装するのに適したコンピュータシステム700を示す。
【0144】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンクなどの機構を受けることができる任意の適切な機械コードまたはコンピュータ言語を使用してコーディングされ、1つまたは複数のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって直接、または解釈、マイクロコード実行などを介して、実行されることができる命令を含むコードを作成することができる。
【0145】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはコンピュータのコンポーネントで実行され得る。
【0146】
コンピュータシステム700について図7に示されるコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲または機能に関するいかなる限定も示唆することは意図されていない。また、コンポーネントの構成は、コンピュータシステム700の例示的な実施形態に示されたコンポーネントのいずれか1つまたは組み合わせに関連するいかなる依存関係または要件も有すると解釈されるべきではない。
【0147】
コンピュータシステム700は、特定のヒューマンインターフェース入力デバイスを含み得る。そのようなヒューマンインターフェース入力デバイスは、例えば、触知入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示されていない)を介した1人または複数の人間ユーザによる入力に応答し得る。ヒューマンインターフェースデバイスは、オーディオ(例えば、音声、音楽、周囲の音)、画像(例えば、走査画像、写真画像は静止画像カメラから取得する)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定のメディアをキャプチャするために使用することもできる。
【0148】
入力ヒューマンインターフェースデバイスは、キーボード701、マウス702、トラックパッド703、タッチスクリーン710、データグローブ(図示せず)、ジョイスティック705、マイクロフォン706、スキャナ707、カメラ708のうちの1つまたは複数を含み得る(各々の1つのみが描写されている)。
【0149】
コンピュータシステム700はまた、特定のヒューマンインターフェース出力デバイスを含んでもよい。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および匂い/味を介して、1人または複数の人間のユーザの感覚を刺激し得る。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン710、データグローブ(図示せず)、またはジョイスティック705による触覚フィードバック、しかし入力デバイスとして機能しない触覚フィードバックデバイスが存在する可能性もある)、(スピーカ709、ヘッドフォン(描写せず)などの)オーディオ出力デバイス、(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン710など、各々タッチスクリーン入力機能の有無にかかわらず、各々触覚フィードバック機能の有無にかかわらず、それらのうちの幾つかは、ステレオグラフィック出力、仮想現実眼鏡(描写せず)、ホログラフィックディスプレイおよびスモークタンク(描写せず)などの手段を介して2次元視覚出力または3次元以上の出力を出力することが可能な場合がある)視覚出力デバイス、ならびにプリンタ(描写せず)を含むことができる。
【0150】
コンピュータシステム700はまた、人間がアクセス可能なストレージデバイスと、CD/DVDなどのメディア721を有するCD/DVD ROM/RW(720)、サムドライブ722、リムーバブルハードドライブまたはソリッドステートドライブ723、テープやフロッピーディスク(図示されていない)などのレガシー磁気メディア、セキュリティドングル(図示されていない)などの専用ROM/ASIC/PLDベースのデバイスなどを含む光メディアなどの記憶デバイスと関連付けられたメディアも含むことができる。
【0151】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送メディア、搬送波、または他の一時的信号を包含しないことを理解すべきである。
【0152】
コンピュータシステム700は、1つまたは複数の通信ネットワーク755へのインターフェース754を含むこともできる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークはさらに、ローカル、ワイドエリア、メトロポリタン、車両および産業用、リアルタイム、遅延耐性、などとすることができる。ネットワークの例には、Ethernetなどのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラネットワーク、ケーブルテレビ、衛星テレビおよび地上波テレビを含むテレビの有線または無線ワイドエリアデジタルネットワーク、CANBusを含む車両用および産業用などが含まれる。あるネットワークには、特定の汎用データポートまたは周辺バス749(例えば、コンピュータシステム700のUSBポート)に一般的な仕方で取り付けられる外部ネットワークインターフェースアダプタが必要であり、その他のネットワークについては、後述のようにシステムバスに取り付けることによってコンピュータシステム700のコアに一般的な仕方で組み込まれる(例えば、PCコンピュータシステムにはEthernetインターフェース、またはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム700は他のエンティティと通信することができる。このような通信は、単方向受信専用(例えば、テレビ放送)、単方向送信専用(例えば、特定のCANbusデバイスへのCANbus)、または例えば、ローカルもしくは広域デジタルネットワークを使用する他のコンピュータシステムへの双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースの各々で使用され得る。
【0153】
前述のヒューマンインターフェースデバイス、人間がアクセス可能なストレージデバイス、およびネットワークインターフェースは、コンピュータシステム700のコア740に取り付けられ得る。
【0154】
コア740は、1つまたは複数の中央処理装置(CPU)741、グラフィックスプロセッシングユニット(GPU)742、フィールドプログラマブルゲートエリア(FPGA)743の形態の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ744、グラフィックスアダプタ750などを含むことができる。これらのデバイスは、読み出し専用メモリ(ROM)745、ランダムアクセスメモリ746、内部の非ユーザアクセス可能ハードドライブ、SSDなど747の内部大容量ストレージと共に、システムバス748を介して接続され得る。いくつかのコンピュータシステムでは、システムバス748は、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能であり得る。周辺デバイスは、コアのシステムバス748に直接取り付けることも、周辺バス749を介して取り付けることもできる。例では、スクリーン710は、グラフィックスアダプタ750に接続することができる。周辺バス用のアーキテクチャには、PCI、USBなどが含まれる。
【0155】
CPU741、GPU742、FPGA743、およびアクセラレータ744は、組み合わさって前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードを、ROM745またはRAM746に記憶することができる。過渡的なデータをRAM746に記憶することもでき、一方永続的なデータを、例えば、内部大容量ストレージ747に記憶することができる。メモリデバイスのいずれかへの高速記憶および取得を、1つまたは複数のCPU741、GPU742、大容量ストレージ747、ROM745、RAM746などと密接に関連付けることができるキャッシュメモリの使用によって可能にすることができる。
【0156】
コンピュータ可読媒体は、様々なコンピュータ実装動作を行うためのコンピュータコードを有することができる。メディアおよびコンピュータコードは、本開示の目的のために特別に設計および構築されたものとすることができ、またはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものとすることができる。
【0157】
限定ではなく、例として、アーキテクチャ700を有するコンピュータシステム、具体的にはコア740は、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つまたは複数の有形のコンピュータ可読媒体において具現化されたソフトウェアを実行した結果として機能を提供することができる。このようなコンピュータ可読媒体は、上述したようなユーザアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ747またはROM 745などの非一時的な性質のものであるコア740の特定のストレージに関連付けられた媒体とすることができる。本開示の様々な実施形態を実施するソフトウェアを、そのようなデバイスに記憶し、コア740によって実行することができる。コンピュータ可読メディアは、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア740、具体的にはコア中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM746に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を変更することを含む、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行するためにソフトウェアの代わりに、またはソフトウェアと一緒に動作することができる、回路において配線またはそれ以外の方法で具体化された論理(例えば、アクセラレータ744)の結果としての機能を提供することもできる。必要に応じて、ソフトウェアへの参照は論理を包含することができ、その逆も同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【0158】
図8は、いくつかの例においてクライアントエンドポイントとして様々なレガシーおよび異種没入型メディア対応ディスプレイをサポートするネットワークメディア配信システム800を示す。図8の例では、コンテンツ取得モジュール801は、図6または図5の例示的な実施形態を使用してメディアをキャプチャまたは作成する。インジェストフォーマットは、コンテンツ準備モジュール802において作成され、次いで、送信モジュール803を使用してネットワークメディア配信システム内の1つまたは複数のクライアントエンドポイントに送信される。ゲートウェイ804は、顧客宅内機器にサービスして、ネットワークの様々なクライアントエンドポイントへのネットワークアクセスを提供することができる。セットトップボックス805はまた、ネットワークサービスプロバイダによる集約コンテンツへのアクセスを提供するための顧客宅内機器として機能し得る。無線復調器806は、(例えば、モバイルハンドセットおよびディスプレイ813と同様に)モバイルデバイスのためのモバイルネットワークアクセスポイントとして機能し得る。1つまたは複数の実施形態では、レガシー2Dテレビ807は、ゲートウェイ804、セットトップボックス805、またはWiFiルータ808に直接接続されてもよい。レガシー2Dディスプレイ809を有するコンピュータラップトップは、WiFiルータ808に接続されたクライアントエンドポイントであってもよい。ヘッドマウント2D(ラスタベース)ディスプレイ810はまた、ルータ808に接続されてもよい。レンチキュラー光照射野ディスプレイ811はゲートウェイ804に接続されてもよい。ディスプレイ811は、ローカル計算GPU811A、ストレージデバイス811B、および光線ベースのレンチキュラー光学技術を使用して複数のビューを作成するビジュアルプレゼンテーションユニット811Cから構成されてもよい。ホログラフィックディスプレイ812は、セットトップボックス805に接続されてもよく、ローカル計算CPU812A、GPU812B、ストレージデバイス812C、およびフレネルパターン、波ベースのホログラフィック視覚化ユニット812Dを含んでもよい。拡張現実ヘッドセット814は、無線復調器806に接続されてもよく、GPU814A、ストレージデバイス814B、バッテリ814C、および立体ビジュアルプレゼンテーションコンポーネント814Dを含んでもよい。高密度光照射野ディスプレイ815は、WiFiルータ808に接続されてもよく、複数のGPU815A、CPU815B、およびストレージデバイス815C、視線追跡デバイス815D、カメラ815E、ならびに高密度光線ベースの光照射野パネル815Fを含んでもよい。
【0159】
図9は、図8に前述したようにレガシーおよび異種の没入型メディア対応ディスプレイにサービスを提供することができる没入型メディア配信モジュール900の図を示す。コンテンツは、それぞれ自然コンテンツおよびCGIコンテンツについて図5および図6に具現化されるモジュール901において作成または取得される。次いで、コンテンツは、ネットワークインジェストフォーマット作成モジュール902を使用してインジェストフォーマットに変換される。モジュール902のいくつかの例は、それぞれ自然コンテンツおよびCGIコンテンツについて図5および図6に具体化されている。いくつかの例では、メディアアナライザ911は、インジェストメディアに対して適切なメディア分析を実行することができ、取り込まれたメディアは、メディアアナライザ911からの情報を記憶するために更新することができる。例では、インジェストメディアは、メディアアナライザ911のオプションのIMS表記を有するシーンアナライザによってIMSメタデータで注釈付けされるように更新される。インジェストメディアフォーマットは、ネットワークに送信されて、ストレージデバイス903に記憶される。いくつかの他の例では、ストレージデバイスは没入型メディアコンテンツ制作者のネットワーク内に存在し、二等分する破線で示すように没入型メディアネットワーク配信モジュール900によってリモートでアクセスされてもよい。クライアントおよびアプリケーション固有の情報は、いくつかの例では、リモートストレージデバイス904で利用可能であり、これは、例では代替クラウドネットワークに任意選択的に遠隔に存在してもよい。
【0160】
図9に示すように、ネットワークオーケストレータ905は、配信ネットワークの主要なタスクを実行するための情報の主要なソースおよびシンクとして機能する。この特定の実施形態では、ネットワークオーケストレータ905は、ネットワークの他のコンポーネントと統一されたフォーマットで実装されてもよい。それにもかかわらず、図9のネットワークオーケストレータ905によって描写されたタスクは、いくつかの例では開示された主題の要素を形成する。ネットワークオーケストレータ905は、ソフトウェアで実装することができ、プロセスを実行するために処理回路によって実行することができる。
【0161】
本開示のいくつかの態様によれば、ネットワークオーケストレータ905はさらに、クライアントデバイスの特性に従ってメディア(例えば、没入型メディア)の処理および配信を容易にするために、クライアントデバイスと通信するための双方向のメッセージプロトコルを用いることができる。さらに、双方向のメッセージプロトコルは、異なる配信チャネル、すなわち、制御プレーンチャネルとデータプレーンチャネルにわたって実装されてもよい。
【0162】
ネットワークオーケストレータ905は、図9のクライアント908(クライアントデバイス908)とも呼ばれる)などのクライアントデバイスの特徴および属性に関する情報を受信し、さらに、クライアント908上で現在実行されているアプリケーションに関する要件を収集する。この情報は、デバイス904から取得されてもよく、または代替の実施形態では、クライアント908に直接問い合わせることにより取得されてもよい。いくつかの例では、ネットワークオーケストレータ905とクライアント908との間の直接通信を可能にするために双方向のメッセージプロトコルが使用される。例えば、ネットワークオーケストレータ905は、クライアント908に直接クエリを送信することができる。いくつかの例では、スマートクライアント908Eは、クライアント908に代わってクライアントのステータスおよびフィードバックの収集および報告に参加することができる。スマートクライアント908Eは、処理回路によって実行されてプロセスを実行することができるソフトウェアに実装することができる。
【0163】
ネットワークオーケストレータ905はまた、図10に記載されているメディア適応およびフラグメンテーションモジュール910を開始してそれと通信する。インジェストメディアがモジュール910によって適応され断片化されると、メディアは、いくつかの例では、配信ストレージデバイス909のために準備されたメディアとして示されたメディア間ストレージデバイスに転送される。配信メディアが準備され、デバイス909に記憶されると、ネットワークオーケストレータ905は、没入型クライアント908が、そのネットワークインターフェース908Bを介して、配信メディアおよび対応する記述情報906をプッシュ要求を通じて受信するか、またはクライアント908自身がストレージデバイス909からのメディア906のプル要求を開始し得ることを保証する。いくつかの例では、ネットワークオーケストレータ905は、「プッシュ」要求を実行するために、または没入型クライアント908による「プル」要求を開始するために、双方向メッセージインターフェース(図9には図示せず)を用いることができる。例では、没入型クライアント908は、ネットワークインターフェース908B、GPU(またはCPU、図示せず)908C、およびストレージ908Dを使用することができる。さらに、没入型クライアント908は、ゲームエンジン908Aを使用することができる。ゲームエンジン908Aは、視覚化コンポーネント908A1および物理エンジン908A2をさらに使用することができる。ゲームエンジン908Aは、ゲームエンジンAPIおよびコールバック関数908Fを介してメディアの処理をまとめて編成するためにスマートクライアント908Eと通信する。メディアの配信フォーマットは、クライアント908のストレージデバイス、またはストレージキャッシュ908Dに記憶される。最後に、クライアント908は、視覚化コンポーネント908A1を介してメディアを視覚的に提示する。
【0164】
没入型メディアを没入型クライアント908にストリーミングするプロセス全体を通して、ネットワークオーケストレータ905は、クライアント進捗およびステータスフィードバックチャネル907を介してクライアントの進捗のステータスを監視することができる。ステータスの監視は、双方向通信メッセージインターフェース(図9には図示せず)によって実行され得、それはスマートクライアント908Eに実装され得る。
【0165】
図10は、いくつかの例において、取り込まれたソースメディアが没入型クライアント908の要件に一致するように適切に適応され得るように、メディア適応プロセス1000の図を示す。メディア適応およびフラグメンテーションモジュール1001は、没入型クライアント908のための適切な配信フォーマットへのインジェストメディアの適応を容易にする複数のコンポーネントからなる。図10では、メディア適応およびフラグメンテーションモジュール1001は、ネットワーク上の現在のトラフィック負荷を追跡するために入力ネットワークステータス1005を受信する。没入型クライアント908の情報は、属性および特徴記述、アプリケーション特徴および記述、ならびにアプリケーションの現在ステータス、およびクライアントの錐台のジオメトリをインジェスト没入型メディアの補間機能にマッピングするのを助けるクライアントニューラルネットワークモデル(利用可能な場合)を含むことができる。このような情報は、図9に908Eとして示されているスマートクライアントインターフェースの補助により、双方向メッセージインターフェース(図10に図示せず)によって得ることができる。メディア適応およびフラグメンテーションモジュール1001は、適応された出力が作成されると、それがクライアントに適応されたメディアストレージデバイス1006に記憶されることを保証する。メディアアナライザ1007は、メディアの配信のために、アプリアオリで、またはネットワーク自動化プロセスの一部として実行され得るプロセスとして図10に示されている。いくつかの例では、メディアアナライザ1007は、任意選択のIMS表記の機能を有するシーンアナライザを含む。
【0166】
いくつかの例では、ネットワークオーケストレータ1003は、適応プロセス1001を開始する。メディア適応およびフラグメンテーションモジュール1001は、論理コントローラ1001Fによって制御される。例では、メディア適応およびフラグメンテーションモジュール1001は、特定のインジェストソースメディアをクライアントに適したフォーマットに適応させるために、レンダラ1001Bまたはニューラルネットワークプロセッサ1001Cを使用する。例では、メディア適応およびフラグメンテーションモジュール1001は、一例ではサーバデバイスなどのクライアントインターフェースモジュール1003からクライアント情報1004を受信する。クライアント情報1004は、クライアント記述および現在ステータスを含むことができ、アプリケーション記述および現在ステータスを含むことができ、クライアントニューラルネットワークモデルを含むことができる。ニューラルネットワークプロセッサ1001Cは、ニューラルネットワークモデル1001Aを使用する。このようなニューラルネットワークプロセッサ1001Cの例は、MPIおよびMSIに記載されているようなディープビューニューラルネットワークモデル生成器を含む。いくつかの例では、メディアは2Dフォーマットであるが、クライアントは3Dフォーマットを必要とし、次いで、ニューラルネットワークプロセッサ1001Cは、ビデオに描写されたシーンの立体表現を導出するために2Dビデオ信号から高相関画像を使用するプロセスを呼び出すことができる。そのようなプロセスの例は、カリフォルニア大学Berkley校で開発された1つまたは少数の画像プロセスからのニューラル放射場であり得る。適切なレンダラ1001Bの一例は、メディア適応およびフラグメンテーションモジュール1001と直接対話するように修正されるOTOY Octaneレンダラ(図示せず)の修正バージョンとすることができる。メディア適応およびフラグメンテーションモジュール1001は、いくつかの例では、インジェストメディアのフォーマットおよび没入型クライアント908が必要とするフォーマットに関するこれらのツールの必要性に応じて、メディア圧縮器1001Dおよびメディア解凍器1001Eを使用することができる。
【0167】
図11は、いくつかの例では、配信フォーマット作成プロセス1100を示す。適応メディアパッケージングモジュール1103は、クライアント適応メディアストレージデバイス1102に現在常駐するメディア適応モジュール1101(図10のプロセス1000として示される)からのメディアをパッケージ化する。メディアパッケージングモジュール1103は、メディア適応モジュール1101からの適応されたメディアを、堅牢な配信フォーマット1104、例えば、図3または図4に示す例示的なフォーマットにフォーマットする。マニフェスト情報1104Aは、クライアント908に、受信することが期待できるシーンデータアセットのリスト1104B、ならびに各アセットごとの周波数が、プレゼンテーションを含むシーンのセットにわたり使用されることを記述する任意選択のメタデータを提供する。リスト1104Bは、各々が対応するメタデータを有するビジュアルアセット、オーディオアセット、および触覚アセットのリストを示す。この例示的な実施形態では、リスト1104Bの各アセットは、プレゼンテーションを構成するすべてのシーンにわたって特定のアセットが使用された回数を示す数的頻度値を含むメタデータを参照する。
【0168】
図12は、いくつかの例におけるパケット化器プロセスシステム1200を示す。図12の例では、パケット化器1202は、適応されたメディア1201を、ネットワーク上のクライアントエンドポイント1204として示される没入型クライアント908へのストリーミングに適した個々のパケット1203にフラグメント化する。
【0169】
図13は、いくつかの例において、インジェストフォーマットの特定の没入型メディアを特定の没入型メディアクライアントエンドポイントのためのストリーミング可能で適切な配信フォーマットに適応させるネットワークのシーケンス図1300を示す。
【0170】
図13に示すコンポーネントおよび通信は以下のように説明される:クライアント1301(いくつかの例では、クライアントエンドポイント、クライアントデバイスとも呼ばれる)は、ネットワークオーケストレータ1302(いくつかの例では、ネットワーク配信インターフェースとも呼ばれる)へのメディア要求1308を開始する。メディア要求1308は、URNまたは他の標準的な命名法のいずれかによってクライアント1301によって要求されたメディアを識別するための情報を含む。ネットワークオーケストレータ1302は、クライアント1301がその現在利用可能なリソース(クライアントの現在の動作ステータスを特徴付けるための計算、ストレージ、バッテリ充電率、および他の情報を含む)に関する情報を提供することを要求するプロファイル要求1309を用いてメディア要求1308に応答する。プロファイル要求1309はまた、ニューラルネットワーク推論のためにネットワークによって使用されて正しいメディアビューを抽出または補間してクライアントのプレゼンテーションシステムの特徴に一致させられ得る1つまたは複数のニューラルネットワークモデルがクライアントにおいて利用可能である場合、そのようなモデルをクライアントが提供することを要求する。クライアント1301からネットワークオーケストレータ1302への応答1310は、クライアントトークン、アプリケーショントークン、および1つまたは複数のニューラルネットワークモデルトークン(そのようなニューラルネットワークモデルトークンがクライアントで利用可能な場合)を提供する。次いで、ネットワークオーケストレータ1302は、セッションIDトークン1311をクライアント1301に提供する。次いで、ネットワークオーケストレータ1302は、要求1308で識別されたメディアのURNまたは標準命名法の名前を含むインジェストメディア要求1312を用いてインジェストメディアサーバ1303を要求する。インジェストメディアサーバ1303は、インジェストメディアトークンを含む応答1313で要求1312に応答する。次いで、ネットワークオーケストレータ1302は、呼び出し1314において応答1313からのメディアトークンをクライアント1301に提供する。次いで、ネットワークオーケストレータ1302は、適応インターフェース1304にインジェストメディアトークン、クライアントトークン、アプリケーショントークン、およびニューラルネットワークモデルトークン1315を提供することによって、メディア要求1308の適応プロセスを開始する。適応インターフェース1304は、インジェストメディアアセットへのアクセスを要求する呼び出し1316時のインジェストメディアトークンをインジェストメディアサーバ1303に提供することによって、インジェストメディアへのアクセスを要求する。インジェストメディアサーバ1303は、適応インターフェース1304に対する応答1317において、インジェストメディアアクセストークンを有する要求1316に応答する。次いで、適応インターフェース1304は、メディア適応モジュール1305が、1313において作成されたセッションIDトークンに対応するクライアント、アプリケーション、およびニューラルネットワーク推論モデルのためにインジェストメディアアクセストークンに位置するインジェストメディアを適応させることを要求する。適応インターフェース1304からメディア適応モジュール1305への要求1318は、必要なトークンとセッションIDとを含む。メディア適応モジュール1305は、ネットワークオーケストレータ1302に、適応されたメディアアクセストークンおよび更新時のセッションID1319を提供する。ネットワークオーケストレータ1302は、インターフェース呼び出し1320において、適応されたメディアアクセストークンおよびセッションIDをパッケージングモジュール1306に提供する。パッケージングモジュール1306は、応答1321内のパッケージ化されたメディアアクセストークンおよびセッションIDとともに、応答メッセージ1321をネットワークオーケストレータ1302に提供する。パッケージングモジュール1306は、応答1322において、セッションIDのためのパッケージ化されたアセット、URN、およびパッケージ化されたメディアアクセストークンをパッケージ化されたメディアサーバ1307に提供する。クライアント1301は、要求1323を実行して、応答メッセージ1321で受信したパッケージ化されたメディアアクセストークンに対応するメディアアセットのストリーミングを開始する。クライアント1301は、他の要求を実行し、メッセージ1324内のステータス更新をネットワークオーケストレータ1302に提供する。
【0171】
図14は、いくつかの例におけるシーンベースのメディア処理のための仮想ネットワークおよびクライアントデバイス1418(ゲームエンジンクライアントデバイス1418とも呼ばれる)を有するメディアシステム1400の図を示す。図4において、MPEGスマートクライアントプロセス1401によって示されるようなスマートクライアントは、ゲームエンジンクライアントデバイス1418内の他のエンティティによって、および他のエンティティのために、ならびにゲームエンジンクライアントデバイス1418の外部に存在するエンティティのために処理されるべきメディアを準備するための中央コーディネータとして機能することができる。いくつかの例では、スマートクライアントは、MPEGスマートクライアントプロセス1401(いくつかの例ではMPEGスマートクライアント1401とも呼ばれる)などのプロセスを実行するために処理回路によって実行することができるソフトウェア命令として実装される。ゲームエンジン1405は、主に、エンドユーザが体験するプレゼンテーションを作成するためにメディアをレンダリングする役割を担う。触覚コンポーネント1413、視覚化コンポーネント1415、およびオーディオコンポーネント1414は、ゲームエンジン1405が触覚、視覚、およびオーディオメディアをそれぞれレンダリングするのを支援することができる。エッジプロセッサまたはネットワークオーケストレータデバイス1408は、ネットワークインターフェースプロトコル1420を介してMPEGスマートクライアント1401に情報およびシステムメディアを伝達し、それからステータス更新および他の情報を受信することができる。ネットワークインターフェースプロトコル1420は、複数の通信チャネルおよびプロセスにわたって分割され、複数の通信プロトコルを使用することができる。いくつかの例では、ゲームエンジン1405は、制御論理14051、GPUインターフェース14052、物理エンジン14053、レンダラ14054、圧縮デコーダ14055、およびデバイス固有プラグイン14056を含むゲームエンジンデバイスである。MPEGスマートクライアント1401は、ネットワークとクライアントデバイス1418との間の主要なインターフェースとしても機能する。例えば、MPEGスマートクライアント1401は、ゲームエンジンAPIおよびコールバック関数1417を使用してゲームエンジン1405と対話することができる。例では、MPEGスマートクライアント1401は、ゲームエンジン1405に、再構成されたメディアを処理させるために、ゲームエンジン制御論理14051によって管理されるゲームエンジンAPIおよびコールバック関数1417を呼び出す前に、1420で伝達されたストリーミングメディアを再構成する役割を果たすことができる。そのような例では、MPEGスマートクライアント1401は、順次圧縮デコーダプロセス1406を利用することができるクライアントメディア再構成プロセス1402を利用することができる。
【0172】
いくつかの他の例では、MPEGスマートクライアント1401は、APIおよびコールバック関数1417を呼び出す前に、1420でストリーミングされたパケット化メディアの再構成を担当しないことがある。そのような例では、ゲームエンジン1405は、メディアを解凍および再構成することができる。さらに、そのような例では、ゲームエンジン1405は、圧縮デコーダ14055を使用してメディアを解凍することができる。再構成されたメディアを受信すると、ゲームエンジン制御論理14051は、GPUインターフェース14052を使用して、レンダラープロセス14054を介してメディアをレンダリングすることができる。
【0173】
いくつかの例では、レンダリングされたメディアはアニメーション化され、次いで物理エンジン14053は、シーンのアニメーションにおける物理の法則をシミュレートするためにゲームエンジン制御論理14051によって使用され得る。
【0174】
いくつかの例では、クライアントデバイス1418によるメディアの処理全体を通して、ニューラルネットワークモデル1421は、MPEGスマートクライアント1401によって調整された動作を支援するために、ニューラルネットワークプロセッサ1403によって採用され得る。いくつかの例では、再構成プロセス1402は、ニューラルネットワークモデル1421およびニューラルネットワークプロセッサ1403を使用してメディアを完全に再構成する必要があり得る。同様に、クライアントデバイス1418は、メディアが再構成された後にネットワークから受信したメディアをクライアント適応メディアキャッシュ1404にキャッシュするか、またはメディアがレンダリングされた後に、レンダリングされたメディアをレンダリングされたクライアントメディアキャッシュ1407にキャッシュするように、ユーザによってユーザインターフェース1412を介して構成することができる。さらに、いくつかの例では、MPEGスマートクライアント1401は、システム提供の視覚的/非視覚的アセットを、ユーザ提供のメディアキャッシュ1416からのユーザ提供の視覚的/非視覚的アセットで置き換えることができる。そのような実施形態では、ユーザインターフェース1412は、ユーザ提供のビジュアル/非ビジュアルアセットをユーザ提供のメディアキャッシュ1419(例えば、クライアントデバイス1418の外部)からクライアントアクセス可能なユーザ提供のメディアキャッシュ1416(例えば、クライアントデバイス1418の内部)にロードするステップを実行するようにエンドユーザを誘導することができる。いくつかの実施形態では、MPEGスマートクライアント1401は、レンダリングされたアセット(潜在的な再利用または他のクライアントとの共有のため)を、レンダリングされたメディアキャッシュ1411に記憶するように構成することができる。
【0175】
いくつかの例では、メディアアナライザ1410は、ゲームgngine 1405によるレンダリングのための潜在的な優先順位付けのため、および/またはMPEGスマートクライアント1401を介した再構成処理のために、(ネットワーク内の)クライアント適応メディア1409を調べて、アセットの複雑度、またはアセットが1つまたは複数のシーン(図示せず)にわたって再利用される頻度を判定することができる。そのような例では、メディアアナライザ1410は、1409に記憶されたメディアに複雑度、優先順位付け、およびアセット使用頻度の情報を記憶する。
【0176】
本開示では、プロセスが示され説明されているが、プロセスはソフトウェアモジュール内の命令として実施することができ、命令はプロセスを実行するために処理回路によって実行することができることに留意されたい。本開示では、モジュールが示され説明されているが、モジュールは命令を有するソフトウェアモジュールとして実装することができ、命令はプロセスを実行するために処理回路によって実行することができることにも留意されたい。
【0177】
いくつかの関連する例では、様々な技術が、クライアントに滑らかなシーンの流れを提供するという問題に対処することができ、これには、クライアントデバイスからのシーンの要求とクライアントデバイスにおけるシーンの外観との間の遅延を低減するためのコンテンツ配信ネットワーク(CDN)およびエッジネットワーク要素の使用、およびレンダリングの計算負荷をより強力な計算エンジンにオフロードするためのクラウド/エッジネットワーク要素の使用が含まれる。これらの技術は、クライアントデバイスのシーンの要求とクライアントデバイスでのシーンの出現との間の遅延を短縮することができるが、それらは達成するためにCDNの利用可能性に依存し、没入シーンプロバイダは、CDNおよびネットワークエッジデバイスの使用の有無にかかわらず、シーンのデータをエンドデバイスにストリーミングすることができるようになる前に、シーンを要求するためにエンドデバイスに依存することができる。
【0178】
本開示の第1の態様によれば、没入型メディアストリーミングのための優先シーンストリーミング方法を、光照射野ベースのディスプレイ(例えば、光照射野ディスプレイ、ホログラフィックディスプレイなど)のための没入型メディアストリーミングに使用することができる。いくつかの例では、シーンの優先順位はシーン間の関係によって決定される。
【0179】
いくつかの例では、動作中、メディアサーバは、光照射野ベースのディスプレイを有するエンドデバイスなどのエンドデバイスに、メディアデータをストリーミングするために適応型ストリーミングを使用することができる。例では、エンドデバイスが没入環境全体を一度に要求すると、シーンが利用可能になる順序は許容可能なユーザ体験を提供しない場合がある。
【0180】
図15は、いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。図15の例では、シーンベースの没入型メディアは、没入型体験のためにレンダリングされる個々のシーンのリストを含むシーンマニフェスト1501によって表されている。シーンマニフェスト1501は、メディアサーバ1502によってクラウド1503(例えば、ネットワーククラウド)を介してエンドデバイス1504に提供される。図15の例では、シーンは、シーンマニフェスト1501内のシーン番号順に、エンドデバイス1504によって取得され、エンドデバイス1504に送信されている。例えば、シーンマニフェスト1501内のシーンは、シーン1、シーン2、シーン3、シーン4、シーン5などによって順序付けられる。シーンは、シーン1(1505によって示されている)、シーン2(1506によって示されている)、シーン3(1507によって示されている)、シーン4(1508によって示されている)、シーン5(1509によって示されている)などの順序で取得され、エンドデバイス1504に送信される。
【0181】
いくつかの例では、シーンマニフェスト内の各シーンは、例えばシーンのメタデータに、シーンの複雑度を示す複雑度の値およびシーンの優先度を示す優先度の値を含むことができる。
【0182】
図16は、いくつかの例におけるシーンマニフェストのシーンに、複雑度の値および優先度の値を追加するための図を示す。図16の例では、シーン複雑度アナライザ1602を使用して各シーンの複雑度を分析し、各シーンに複雑度の値を割り当て、次いでシーン優先順位付け部(1603)を使用して各シーンに優先度の値を割り当てる。例えば、第1のシーンマニフェスト1601は、没入型体験のためにレンダリングされる複数のシーンを含む。第1のシーンマニフェスト1601は、複数のシーンの各シーンの複雑度の値(SCとして示されている)を決定するシーン複雑度アナライザ1602によって処理され、次いで、複数のシーンの各シーンに優先度の値(Priorityとして示されている)を割り当てるシーン優先順位付け部1603によって処理され、第2のシーンマニフェスト1604をもたらす。第2のシーンマニフェスト1604は、それぞれの複雑度の値および優先度の値を有する複数のシーンを含む。第2のシーンマニフェスト1604内の複数のシーンは、複雑度の値および/または優先度の値に従って再度順序付けされる。例えば、シーン5は、(1605によって示されるように)第1のシーンマニフェスト1601において第5シーンであるように順序付けられ、(1606によって示されるように)優先度の値に従って第2のシーンマニフェスト1604において第3シーンであるように再度順序付けされる。
【0183】
さらに、いくつかの例では、優先度認識メディアサーバを使用して、シーンの優先度の値に従った順序でシーンをエンドデバイスにストリーミングすることができる。
【0184】
図17は、いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。図17の例では、シーンベースの没入型メディアは、没入型体験のためにレンダリングされる個々のシーンのリストを含むシーンマニフェスト1701によって表されている。複数のシーンの各々は、分析された複雑度の値(SCによって示される)および割り当てられた優先度の値(Priorityによって示される)を有する。シーンマニフェスト1701は、優先度認識メディアサーバ1702によって、クラウド1703を介してエンドデバイス1704に提供される。例では、シーンは、シーンマニフェスト1701内の優先度の値に従った順序で、エンドデバイス1704によって取得され、エンドデバイス1704に送信されている。例えば、シーンマニフェスト1701内のシーンは、優先度の値に従って順序付けられる。シーンは、シーン7(1705によって示されている)、シーン8(1706によって示されている)、シーン5(1707によって示されている)、シーン2(1708によって示されている)、シーン11(1709によって示されている)などの順序で取得され、エンドデバイス1704に送信される。
【0185】
本開示の態様によれば、シーン優先順位ベースのストリーミング技術を使用して、没入環境内のすべてのシーンを同時に要求することと比較して利点を提供することができる。これは、多くの場合、エンドデバイスがシーンを「順序の乱れ」でレンダリングする必要があり得る理由があるためである。例えば、シーンは、没入環境で一般的に使用される最も有用な順序で最初に順序付けられてもよく、没入環境は、シーンを最も有用な順序とは異なるようにレンダリングする必要があり得る分岐、ループなどを含んでもよい。例では、シーンが最も有用な順序で転送されるときに許容可能なユーザ体験を潜在的に提供するのに十分な帯域幅があり、必要なシーンが既に要求されている1つまたは複数のシーンの背後でキューに入れられる場合があり得る。別の例では、帯域幅が制限されている場合、シーン優先度ベースのストリーミング技術は、ユーザ体験を向上させるためにより役立ち得る。
【0186】
シーン優先順位付け部は、シーンの優先度の値を決定するために任意の適切な技術を使用することができることに留意されたい。いくつかの例では、シーン優先順位付け部は、優先順位付けの一部としてシーン間の関係を使用することができる。
【0187】
図18は、いくつかの例におけるシーンの優先度を例示するための仮想美術館1801の図を示す。仮想美術館1801は、1階1802および上階1803と、その1階1802と上階1803との間の階段吹き抜け1804とを有する。例では、没入ツアーがロビー1805で始まる。ロビー1805は、5つの出口、すなわち、仮想美術館1801を退出するための第1の出口、階段吹き抜け1804にアクセスするための第2の出口、1階展示物Eにアクセスするための第3の出口、1階展示物Dにアクセスするための第4の出口、および、1階1802の1階展示物Hにアクセスするための第5の出口を有する。例では、1階展示物E、D、およびHは、仮想観光客がロビー1805を出るときにレンダリングされる可能な「次の」シーンであるため、シーン優先順位付け部は、ロビー1805の第1のシーンに合理的に優先順位付けし、次に階段吹き抜け1804の第2のシーン、次に1階展示物E、D、およびHの第3のシーンに優先順位付けすることができる。
【0188】
いくつかの例では、シーン優先順位付け部は、同じクライアントまたは他のクライアントでの以前の体験に基づいてシーンの優先度を調整することができる。図18を参照すると、例では、仮想美術館1801は、特に人気のある展示物(例えば、上階の展示物I)を上階展示室1808に開き、シーン優先順位付け部は、多くの仮想観光客が人気のある展示物に真っ直ぐに向かっていることを観察することができる。次いで、シーン優先順位付け部は、以前に提供された優先度を調整することができる。例えば、シーン優先順位付け部は、ロビー1805の第1のシーン、階段吹き抜け1804の第2のシーン、そして上階展示室1808に向かう途中の上階1803のシーン、例えば、上階の展示物Jのシーンや上階の展示物Iのシーンに優先順位付けすることができる。
【0189】
いくつかの例では、没入型メディアのためにメディアサーバによって提供されるコンテンツ記述は、2つの部分、すなわち、利用可能なシーンのマニフェストを記述するメディアプレゼンテーション記述(MPD)、様々な代替案、および他の特性、ならびに様々なアセットをもつ複数のシーンを含むことができる。いくつかの例では、エンドデバイスは、最初に再生する没入型メディアのMPDを取得することができる。エンドデバイスは、MPDを解析し、様々なアセット、シーンタイミング、メディアコンテンツ利用可能性、メディアタイプ、メディアコンテンツの様々な符号化代替物、サポートされる最小および最大帯域幅、ならびに他のコンテンツ特性を有する様々なシーンについて学習することができる。MPDから取得された情報を使用して、エンドデバイスは、いつ、どの利用可能な帯域幅でどのシーンをレンダリングすべきかを適切に選択することができる。エンドデバイスは、帯域幅変動を連続的に測定することができ、測定値に応じて、エンドデバイスは、より少ないまたはより多いアセットを含む代替シーンをフェッチすることによって、利用可能な帯域幅にどのように適応するかを決定する。
【0190】
いくつかの例では、シーンベースの没入型メディアのシーンの優先度の値は、サーバデバイスまたは送信者デバイスによって定義され、シーンベースの没入型メディアを再生するためのセッション中にエンドデバイスによって変更され得る。
【0191】
本開示の第2の態様によれば、光照射野ベースのディスプレイ用のシーンベースの没入型メディアのシーンの優先度の値を動的に調整することができる。いくつかの例では、優先度の値は、(クライアントデバイスとも呼ばれるエンドデバイスからのフィードバックに基づいて更新することができる。例えば、シーン優先順位付け部は、エンドデバイスからフィードバックを受信することができ、フィードバックに基づいてシーンの優先度の値を動的に変更することができる。
【0192】
図19は、いくつかの例における没入型ゲーム1901などのシーンベースの没入型メディアのシーンの図を示す。シーンの関係は、シーンを結ぶ点線で示されている。例では、ゲームの人物1902がスポーン領域1903に現れ、そのとき、最も高い優先度を有するシーンがスポーン領域1903のシーンである。スポーン領域1903のシーンは、シーン1、シーン11、およびシーン20などの、スポーン領域1903に直接接続されたシーンが続くことができ、そこでゲームの人物1902が出発する。ゲームの人物1902がシーン1(1904によって示される)に移動すると、シーン2(1905によって示される)などのシーン1に直接接続されたシーンが、ここでは最も優先度が高い。ゲームの人物1902がシーン2に移動すると、シーン12およびシーン5などのシーン2によって直接接続されたシーンが、ここでは最も優先度が高い。
【0193】
いくつかの例では、ゲームの人物1902が、まだエンドデバイスにストリーミングされていない新しいシーンに移動すると、エンドデバイスはゲームの人物の現在位置をシーン優先順位付け部に送信することができ、その結果、現在位置を優先順位付けに含めることができる。
【0194】
図20は、いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。図20の例では、シーンベースの没入型メディアは、没入型体験のためにレンダリングされる個々のシーンのリストを含むシーンマニフェスト2001によって表されている。複数のシーンの各々は、分析された複雑度の値(SCによって示される)および割り当てられた優先度の値(Priorityによって示される)を有する。シーンマニフェスト2001は、優先度認識メディアサーバ2002によって、クラウド2003を介してエンドデバイス2004に提供される。図20の例では、シーンは、シーンマニフェスト2001の優先度の順で、エンドデバイス2004によって取得され、エンドデバイス2004に送信されている。
【0195】
さらに、図19の没入型ゲームを例にとると、エンドデバイス2004は、ゲームの人物の現在位置2010をシーン優先順位付け部2011に送信することができる。次いで、シーン優先順位付け部2011は、シーンマニフェスト2001におけるシーン優先順位への更新のための計算に現在位置情報を含めることができる。
【0196】
上述した光照射野ベースメディアの適応型ストリーミングのための技術は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実施することができ、1つまたは複数のコンピュータ可読媒体に物理的に記憶できることに留意されたい。
【0197】
いくつかの例では、光照射野ベースの表示のための適応型ストリーミングのための方法は、光照射野ベースの表示のための没入型メディアの複数のシーンにそれぞれの優先度の値を割り当てること、および優先度の値に基づいて複数のシーンを適応させてストリーミングすることを含む。例では、割り当てられた優先度の値に基づいて、複数のシーンが転送(例えば、ストリーミング)される。いくつかの例では、シーンの優先度の値は、シーンをレンダリングする必要性の尤度に基づいて割り当てられる。いくつかの例では、シーンの優先度の値は、エンドデバイスからのフィードバックに基づいて動的に調整される。例えば、シーンの優先度の値は、例えばゲームの人物の位置、すなわちクライアントデバイスからのフィードバックに基づいて調整することができる。
【0198】
いくつかの例では、利用可能なネットワーク帯域幅が制限されていることに応じて、最も高い優先度を有するシーンが次のシーンとしてストリーミングされるように選択される。いくつかの例では、利用可能なネットワーク帯域幅が制限されていることに応じて、方法は、必要とされる可能性が低い複数のシーンを識別すること、および識別された複数のシーンが必要とされる可能性の閾値を超えるまで、識別された複数のシーンをストリーミングから控えることを含む。
【0199】
図21は、本開示の実施形態によるプロセス2100の概要を示すフローチャートを示す。プロセス2100は、ネットワークのサーバデバイスなどによって、ネットワークにおいて実行することができる。いくつかの実施形態では、プロセス2100がソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は、プロセス2100を実行する。プロセスはS2101において始まり、S2110に進む。
【0200】
S2110において、光照射野ベースのディスプレイで再生するためのシーンベースの没入型メディアが受信される。シーンベースの没入型メディアは複数のシーンを含む。
【0201】
S2120では、シーンベースの没入型メディアの複数のシーンにそれぞれ優先度の値が割り当てられる。
【0202】
S2130で、優先度の値に従って、光照射野ベースの表示で複数のシーンをエンドデバイスにストリーミングする順序が決定される。
【0203】
いくつかの例では、複数のシーンは、シーンマニフェストに初期の順序を有し、優先度の値に従って再度順位付けされ、再度順位付けされたシーンは、エンドデバイスに送信(ストリーミング)される。
【0204】
いくつかの例では、優先度認識ネットワークデバイスは、複数のシーンの中の未送信であるシーンのサブセットから、最も高い優先度の値を有する最も高い優先度のシーンを選択し、最も高い優先度のシーンをエンドデバイスに送信することができる。
【0205】
いくつかの例では、シーンに対する優先度の値は、シーンをレンダリングする必要性の尤度に基づいて決定される。
【0206】
いくつかの例では、利用可能なネットワーク帯域幅が制限されていると判定される。複数のシーンの未送信であるシーンのサブセットから、最も高い優先度の値を有する最も高い優先度のシーンが選択される。最も高い優先度のシーンは、利用可能なネットワーク帯域幅が制限されていることに応じて送信される。
【0207】
いくつかの例では、利用可能なネットワーク帯域幅が制限されていると判定される。優先度の値に基づいて、次にレンダリングに必要とされる可能性が低い複数のシーンのサブセットが識別される。複数のシーンのサブセットは、利用可能なネットワーク帯域幅が制限されていることに応じてストリーミングを控える。
【0208】
いくつかの例では、第1のシーンと第2のシーンとの間の関係に応じて、第2の優先度の値を有する第2のシーンに基づいて、第1の優先度の値が、第1のシーンに割り当てられる。
【0209】
いくつかの例では、フィードバック信号がエンドデバイスから受信される。フィードバック信号に基づいて、複数のシーンのうち少なくともシーンの優先度の値が調整される。例では、現在のシーンが第1のシーンに関連する第2のシーンであることを示すフィードバック信号に応じて、第1のシーンに最高の優先度が割り当てられる。別の例では、フィードバック信号は、エンドデバイスによって決定される優先度の調整を示す。
【0210】
次いで、プロセス2100はS2199に進み、終了する。
【0211】
プロセス2100は、様々なシナリオに適切に適合させることができ、それに応じてプロセス2100のステップを調整することができる。プロセス2100のステップのうちの1つまたは複数を、適合、省略、繰り返し、および/または組み合わせることができる。プロセス2100を実施するために、任意の適切な順序を使用することができる。追加のステップが追加され得る。
【0212】
図22は、本開示の実施形態によるプロセス2200の概要を示すフローチャートを示す。プロセス2200は、エンドデバイス(クライアントデバイスとも呼ばれる)によって実行することができる。いくつかの実施形態では、プロセス2200がソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は、プロセス2200を実行する。プロセスはS2201で開始し、S2210に進む。
【0213】
S2210において、光照射野ベースのディスプレイを有するエンドデバイスは、光照射野ベースのディスプレイによって再生するためのシーンベースの没入型メディアのメディアプレゼンテーション記述(MPD)を受信する。シーンベースの没入型メディアは複数のシーンを含み、MPDは複数のシーンをエンドデバイスに順番にストリーミングすることを示す。
【0214】
S2220において、帯域幅の利用可能性が検出される。
【0215】
S2230において、少なくとも1つのシーンの順序変更が、帯域幅の利用可能性に基づいて決定される。
【0216】
S2240において、少なくとも1つのシーンの順序変更を示すフィードバック信号が送信される。
【0217】
いくつかの例では、フィードバック信号は、レンダリングする次のシーンを示す。
【0218】
いくつかの例では、フィードバック信号は、少なくとも1つのシーンの優先度の値の調整を示す。
【0219】
いくつかの例では、フィードバック信号は現在のシーンを示す。
【0220】
次いで、プロセス2200はS2299に進み、終了する。
【0221】
プロセス2200は、様々なシナリオに適切に適合させることができ、それに応じてプロセス2200のステップを調整することができる。プロセス2200のステップのうちの1つまたは複数を、適合、省略、繰り返し、および/または組み合わせることができる。プロセス2200を実施するために、任意の適切な順序を使用することができる。追加のステップが追加され得る。
【0222】
本開示のいくつかの態様はまた、光照射野ベースのディスプレイのための没入型メディアストリーミングなど、没入型メディアストリーミングのための優先順位付けされたアセットストリーミング方法を提供する。
【0223】
クライアントデバイスからのクライアント要求に応じたクライアントデバイス(エンドデバイスとも呼ばれる)におけるシーンの出現は、クライアントデバイスがシーンをレンダリングできるように、シーンがクライアントデバイスに依存するアセットの利用可能性に依存し得ることに留意されたい。アセットをクライアントデバイスに転送するのに必要な時間の長さを最小限に抑えるために、いくつかの例では、アセットに優先順位付けすることができる。
【0224】
本開示の第3の態様によれば、光照射野ベースのディスプレイ(例えば、光照射野ディスプレイ、ホログラフィックディスプレイなど)用のシーンベースの没入型メディアなどのシーンベースの没入型メディアのアセットは、アセットのアセットサイズなどのアセットの属性に基づいて、優先順位付けすることができる。
【0225】
いくつかの例では、動作中、メディアサーバは、光照射野ベースのディスプレイに適応型ストリーミングを使用することができる。適応型ストリーミングは、エンドデバイスへのシーンの転送に依存し、順次、各シーンを構成するアセットの転送に依存していく。
【0226】
図23は、例におけるシーンのアセットへのマッピングを伴うシーンマニフェスト2301の図を示す。シーンマニフェスト2301は、複数のシーン2303を含み、複数のシーン2303の各々は、アセット2302のセットの中の1つまたは複数のアセットに依存する。例えば、シーン2は、アセット2302のセットの中のアセットB、D、E、F、およびGに依存する。
【0227】
いくつかの例では、エンドデバイスがシーンのアセットを要求すると、アセットは順番にエンドデバイスにストリーミングされる。
【0228】
図24は、いくつかの例におけるシーンのストリーミングアセットの図を示す。図24では、シーン2401は、アセットA(2405で示す)、アセットB(2406で示す)、アセットC(2407で示す)、およびアセットD(2408で示す)などの複数のアセットに依存している。複数のアセットは、メディアサーバ2402によってクラウド2403を介してエンドデバイス2404に提供される。図24の例では、シーン2401の複数のアセットは、アセットA、アセットB、アセットC、およびアセットDによって順序付けられている。複数のアセットは、アセットA、アセットB、アセットC、アセットDの順序など、シーン2401のアセットの順序によって取得され、エンドデバイス1504に送信される。アセットがエンドデバイスで利用可能になるアセットの順序は、許容可能なユーザ体験を提供しない可能性がある。
【0229】
本開示の態様によれば、シーンのアセットがエンドデバイスにストリーミングされる前に、アセット優先順位付け部を使用してシーンに必要なアセットを分析し、アセットごとに優先度の値を割り当てることができる。
【0230】
図25は、いくつかの例におけるシーンのアセットを再度順位付けするための図を示す。図25の例では、シーンの中の各アセットに優先度の値を割り当てるために、アセット優先順位付け部2502が使用される。例えば、シーンは、アセットA(2504で示す)、アセットB(2505で示す)、アセットC(2506で示す)、およびアセットD(2507で示す)と呼ばれる4つのアセットに依存する。最初は、2501に示すように、4つのアセットはアセットA、アセットB、アセットC、およびアセットDのアセット順になっている。アセット優先順位付け部2502は、第1の優先度の値(例えば、2)をアセットAに割り当て、第2の優先度の値(例えば、4、最高の優先度の値)をアセットBに割り当て、第3の優先度の値(例えば、1、最も低い優先度の値)をアセットCに割り当て、第4の優先度の値(例えば、3)をアセットDに割り当てる。4つのアセットは、2503に示すように、アセットB、アセットD、アセットA、およびアセットCの順など、優先度の値に従って再度順位付けすることができる。
【0231】
例では、再度順位付けされたアセットは、メディアサーバによってエンドデバイスにストリーミングすることができる。
【0232】
より高い優先度を表すために本開示ではより大きな値が使用されているが、他の適切な優先度番号付け技術を使用してアセットの優先度を提示することができることに留意されたい。
【0233】
図26は、いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。図26の例では、シーンベースの没入型メディアのシーンは、2601で示すように、アセットB、アセットD、アセットA、およびアセットCの上位から下位の順など、4つのアセットの優先度の値に従って再度順位付けされた4つのアセットを含む。4つのアセットは、メディアサーバ2602からクラウド2603を介してエンドデバイス2604に優先度の値の順に提供される。例えば、4つのアセットは、アセットB(2605で示す)、アセットD(2606で示す)、アセットA(2607で示す)、およびアセットC(2608で示す)の順に取得されてエンドデバイス2604に送信される。
【0234】
本開示の態様によれば、アセット優先順位付け部2502は、各アセットのバイト単位のサイズに基づいて、アセットに優先度の値を割り当てることができる。例では、最小のアセットに最高の優先度の値が割り当てられるため、より大きなアセットが到着するのをエンドデバイスがいまだに待っている間に、より多くのアセット(例えば、より小さいアセット)をより迅速にエンドユーザに示す順序で、一連のアセットをレンダリングすることができる。図26を例に用いると、アセットBはバイト数が最も少なく(サイズが最も小さく)、アセットCはバイト数が最も多い(サイズが最も大きい)。図24の第1のストリーミング順序と図26の第2のストリーミング順序とを比較すると、図24では、比較的大きなアセットが最初にストリーミングされ、比較的大きなアセットが到着するまで、エンドデバイス2404は何も示す必要がない可能性があるため、エンドデバイス2604は、エンドデバイス2404よりも早くアセットを示し始めることができる。
【0235】
いくつかの例では、アセット優先順位付け部によって割り当てられた優先順位付けはまた、MPDのマニフェストに含まれてもよい。いくつかの例では、シーンベースの没入型メディアのシーンにおけるアセットのアセット優先度の値は、サーバデバイスまたは送信者デバイスによって定義でき、アセット優先度の値はシーンベースの没入型メディアを再生するためのセッションの最中に、クライアントデバイスによって変更できる。
【0236】
本開示のいくつかの態様は、割り当てられたアセット優先度の値に従った、光照射野ベースのディスプレイ(例えば、光照射野ディスプレイまたはホログラフィックディスプレイ)のための動的適応型ストリーミングのための方法を提供する。アセット優先度の値を割り当てられたアセットは、アセット優先度の値に基づいて送信(ストリーミング)することができる。いくつかの例では、アセット優先度の値は、アセットのサイズに基づいてアセットに割り当てられる。いくつかの例では、アセット優先度の値は、1つまたは複数のクライアントデバイスからのフィードバックに基づいて調整される。
【0237】
本開示の第4の態様によれば、光照射野ベースのディスプレイ(例えば、光照射野ディスプレイ、ホログラフィックディスプレイなど)用のシーンベースの没入型メディアなどのシーンベースの没入型メディアのアセットは、アセットの可視性に基づいて優先順位付けすることができる。
【0238】
本開示の態様によれば、ストリームのすべてのアセットがどの時点においても等しく適切であるわけではなく、その理由は、いくつかのアセットがある時点でエンドユーザに見えない可能性があるためである。いくつかの例では、ストリーミングの隠れたアセットよりも可視のアセットを優先することで、適切なアセット(例えば、可視のアセット)がエンドデバイス(例えば、クライアントデバイス)で利用可能になるまでの遅延を減らすことができる。いくつかの例では、アセットの優先度の値は、シーンのデフォルトのエントリ位置などのカメラポジションからのアセットの可視性に従って、決定される。
【0239】
いくつかの例では、エンドユーザ(いくつかの例ではカメラとも呼ばれる)に関連付けられた仮想の人物がエントリ位置(例えば、シーンのデフォルトのエントリ位置)でシーンに入ると、シーンのいくつかのアセットが即座に見えるが、他のアセットは、エントリ位置から見るとき、またはカメラがエントリ位置に配置されているときには見えない場合がある。
【0240】
図27は、いくつかの例におけるシーン2701の図を示す。カメラは、エンドユーザに対応する視認位置で仮想の人物を表現する。カメラは、デフォルトのエントリ位置2702でシーン2701に入る。シーン2701は、アセットA、アセットB、アセットC、およびアセットDを含む。アセットAは、2703で示すように、床から天井までの本棚のセットである。アセットBは、2704に示すようなコンピュータデスクである。アセットCは、2705に示すような会議テーブルである。アセットDは、2706で示すように、別のシーンへの出入り口である。
【0241】
図27の例では、アセットBはアセットAによって完全に隠されているため、アセットBはデフォルトの位置2702から見えない。図27では、アセットBはシェーディングされて、アセットBがデフォルトのエントリ位置2702でカメラから見えないことを示す。
【0242】
いくつかの例では、シーンのアセットがエンドデバイスにストリーミングされる前に、アセット優先順位付け部を使用してシーンのアセットを分析し、シーンのデフォルトのエントリ位置に関するアセットの可視性に従って各アセットの優先度の値を割り当てる。
【0243】
図28は、いくつかの例におけるシーン(例えば、シーン2701)のアセットを再度順位付けするための図を示す。図28の例では、シーンの各アセットに優先度の値を割り当てるために、アセット優先順位付け部2802が使用される。例えば、シーン(例えば、図27のシーン2701)は、アセットA(2804で示す)、アセットB(2805で示す)、アセットC(2806で示す)、およびアセットD(2807で示す)に依存している。最初は、2801で示すように、4つのアセットはアセットA、アセットB、アセットC、アセットDのアセット順になっている。アセット優先順位付け部2802は、シーンに入るためのデフォルトのエントリ位置に従ってアセットの可視性を分析する。例えば、アセットA、CおよびDはデフォルトのエントリ位置から見え、アセットBはデフォルトのエントリ位置から見えない。アセット優先順位付け部2802は、可視性に応じてアセットに優先度の値を割り当てる。例えば、アセット優先順位付け部2802は、アセットA、アセットC、およびアセットDに高い優先度の値を割り当て、アセットBに低い優先度の値を割り当てる。4つのアセットは、2803に示すように、アセットA、アセットC、アセットD、およびアセットBの順など、優先度の値に従って再度順位付けすることができる。
【0244】
例では、再度順位付けされたアセットは、メディアサーバによってエンドデバイスにストリーミングすることができる。
【0245】
図29は、いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。図29の例では、シーンベースの没入型メディアのシーン(例えば、シーン2701)は、2901で示すように、アセットA、アセットC、アセットD、およびアセットBの上位から下位の順など、4つのアセットの優先度の値に従って再度順位付けされた4つのアセットを含む。4つのアセットは、メディアサーバ2902からクラウド2903を介してエンドデバイス2904に優先度の値の順に提供される。例えば、4つのアセットは、アセットA(2905で示す)、アセットC(2906で示す)、アセットD(2907で示す)、およびアセットB(2908で示す)の順に取得されてエンドデバイス2904に送信される。
【0246】
本開示の態様によれば、アセット優先順位付け部2802は、アセットの可視性に基づいてシーンのアセットに優先度の値を割り当てることができる。例では、可視アセットに最も高い優先度の値が割り当てられているため、可視アセットは最初にストリーミングされ、レンダリングのためにエンドユーザにより迅速に到達することができる。図24の第1のストリーミング順序と図29の第2のストリーミング順序とを比較すると、エンドデバイス2904は、エンドデバイス2404よりも早くシーンの可視アセット示し始めることができる。
【0247】
いくつかの例では、アセット優先順位付け部2802は、アセットが別のアセットによってカメラビューからブロックされているかどうかに基づいて、アセットに優先度の値を割り当てることができる。優先度の値は、「最初に可視アセット、すべての可視アセットの後に非可視アセット」というポリシーに従って割り当てることができ、その結果、一連のアセットを、可視アセットのすべてをより迅速にエンドユーザに示す順序でレンダリングすることができる。
【0248】
いくつかの例では、他のアセットがこのアセットと光源との間にあるため、アセット優先順位付け部2802は、他のアセットがこのアセットを遮るかどうかに基づいて、アセットに優先度の値を割り当てることができる。優先度の値は、「最初に可視アセット、すべての可視アセットの後に非可視アセット」というポリシーに従って割り当てることができ、その結果、一連のアセットを、可視アセットのすべてをより迅速にエンドユーザに示す順序でレンダリングすることができる。
【0249】
図30は、いくつかの例におけるシーン3001の図を示す。シーン3001は、図27のシーン2701と同様である。カメラは、エンドユーザに対応する視認位置で仮想の人物を表現する。カメラは、デフォルトのエントリ位置3002でシーン3001に入る。シーン3001は、アセットA、アセットB、アセットC、およびアセットDを含む。アセットAは、3003で示すように、床から天井までの本棚のセットである。アセットBは、3004に示すようなコンピュータデスクである。アセットCは、3005に示すような会議テーブルである。アセットDは、3006で示すように、別のシーンへの出入り口である。アセットBはアセットAによって完全に隠されているため、アセットBはデフォルトのエントリ位置3002からは見えない。図30では、アセットBはシェーディングされて、アセットBがデフォルトのエントリ位置3002でカメラから見えないことを示す。
【0250】
図30は、光源3007をさらに示す。光源3007の位置により、会議テーブル3005および出入り口3006は、両方とも本棚3003の影によって遮られる(例えば、3008から3009の間)。したがって、アセットCとアセットDはカメラから見えないため、アセット優先順位付け部2802は、例において、アセットCとアセットDの優先順位を下げることができる。
【0251】
いくつかの例では、メディアサーバは、2つの部分、つまり利用可能なシーンのマニフェストを記述するメディアプレゼンテーション記述(MPD)、様々な代替、および他の特性、ならびに様々なアセットを持つ複数のシーンのコンテンツ記述を有することができる。アセット優先順位付け部によって割り当てられた優先順位付けはまた、MPDのマニフェストに含まれてもよい。
【0252】
いくつかの例では、シーンベースの没入型メディアのシーンのアセットの優先度の値は、サーバデバイスまたは送信者デバイスによって定義され得る。アセットの優先度の値は、MPDに含まれてクライアントデバイスに提供されてもよい。例では、優先度の値は、シーンベースの没入型メディアを再生するセッション中にクライアントデバイスによって変更され得る。
【0253】
本開示のいくつかの態様は、割り当てられたアセット優先度の値に従った光照射野ベースの表示のための動的適応型ストリーミングのための方法を提供する。アセットは、割り当てられたアセット優先度の値に基づいて送信(例えば、ストリーミング)できる。いくつかの例では、アセットに割り当てられたアセット優先度の値は、アセットが1つまたは複数の他のアセットによってカメラビューからブロックされてそのため見えないことに応じて下げられる。いくつかの例では、アセットに対するアセット優先度の値は、アセットが1つまたは複数の光源から1つまたは複数の他のアセットによって遮られ、カメラには見えない場合に下げられる。いくつかの例では、優先度の値(アセット優先度の値)は、更新されたカメラポジションなどのクライアントデバイスからのフィードバックに基づいて調整される。
【0254】
本開示の第5の態様によれば、光照射野ベースのディスプレイ(例えば、光照射野ディスプレイ、ホログラフィックディスプレイなど)用のシーンベースの没入型メディアなどのシーンベースの没入型メディアのアセットは、複数のポリシーに基づいて優先順位付けすることができる。
【0255】
本開示の態様によれば、ストリームのすべてのアセットは、限定はしないがアセットのサイズの違いを含む様々な理由で、時間内の同じ瞬間にエンドデバイスに到着しない。さらに、限定はしないが、いくつかのアセットが他のアセットの背後に遮られていることを含む様々な理由で、すべてのアセットが任意の時点で等しく価値があるわけではない。様々な理由で、クライアントはアセットの優先順位付けを希望する場合がある。
【0256】
例では、クライアントのエンドデバイスは、シーンで使用されるアセットを記述する十分に詳細なマニフェストが与えられると、すべてのアセット優先順位付け自体を実行するのに十分なローカルリソースを有することができる。多くの予測可能な状況で、これは、様々な理由(例えば、利用可能なプロセッサ電力、またはアセットの優先順位付けをオフロードし、利用可能なバッテリ寿命を維持する必要性)のために、当てはまらない場合がある。本開示のいくつかの態様は、クライアントのエンドデバイスに代わってストリーミングするためのアセットに優先順位付けする方法を提供する。例えば、アセットの優先度の値は、クライアントのエンドデバイスの外部に割り当てられ、1つまたは複数の優先順位付け方式によって決定される。
【0257】
いくつかの例では、シーンのアセットがエンドデバイスにストリーミングされる前に、アセット優先順位付け部を使用してシーンに必要なアセットを分析し、アセットごとに優先順位を割り当てる。
【0258】
図31は、いくつかの例におけるシーンのアセットに優先度の値を割り当てるための図を示す。図31の例では、アセット優先順位付け部3102を使用して、シーンの各アセットに1つまたは複数の優先度の値を割り当てる。例えば、シーン(例えば、図27のシーン2701)は、アセットA(3105で示す)、アセットB(3106で示す)、アセットC(3107で示す)、およびアセットD(3108で示す)に依存している。最初は、3101で示すように、4つのアセットはアセットA、アセットB、アセットC、およびアセットDのアセット順になっている。アセット優先順位付け部3102は、複数のポリシーに従ってアセットに優先度の値を割り当てる。アセットは、割り当てられた優先度の値に従って再度順位付けされる。図31では、3103で示すように、アセットA~Dは、アセットA、アセットC、アセットD、およびアセットBの順に、割り当てられた優先度の値に従って再度順序付けされている。また、3103の各アセットは、今では、各アセットについて+P1+P2によって示される2つの優先度の値など、アセット優先順位付け部3102によって割り当てられた1つまたは複数の優先度の値を保持することにも留意されたい。例では、アセット優先順位付け部3102は、第1の優先度ポリシーに従ってシーンの各アセットにP1などの第1の優先度の値セットを割り当て、第2の優先度ポリシーに従ってシーンの各アセットにP2などの第2の優先度の値セットを割り当てることができる。アセットは、第1の優先度の値セットに従って再度順位付けすることができ、または第2の優先度の値セットに従って再度順位付けすることができる。
【0259】
いくつかの例では、アセットが優先順位付けされた後、アセットは優先度の順に要求され、ストリーミングされる。
【0260】
図32は、いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。図32の例では、シーンベースの没入型メディアのシーンは、3201で示すように、アセットA、アセットC、アセットD、およびアセットBの上位から下位の順など、4つのアセットの優先度の値に従って再度順位付けされた4つのアセットを含む。4つのアセットは、メディアサーバ3202からクラウド3203を介してエンドデバイス3204に優先度の値の順に提供される。例えば、4つのアセットは、アセットA(3205で示す)、アセットC(3206で示す)、アセットD(3207で示す)、およびアセットB(3208で示す)の順に取得されてエンドデバイス3204に送信される。
【0261】
本開示の態様によれば、エンドデバイスが優先順位付けの順序でシーンのアセットを要求すると、エンドデバイスはシーンのレンダリングをより迅速に開始することができることがある。
【0262】
アセット優先順位付け部3102は、アセットに優先度の値を割り当てるための基礎として改善された使用体験を提供する任意のランキングの基準を使用することができることに留意されたい。
【0263】
いくつかの例では、アセット優先順位付け部3102は、複数の優先順位付け方式を使用し、複数の優先度の値を各アセットに割り当てることができるため、メディアサーバ3202は、各エンドデバイス3204にとって最も適切な優先順位付け方式を使用することができる。
【0264】
例では、エンドデバイス3204は、メディアサーバ3202からの比較的長いおよび/または低いビットレートネットワークパスの最後にあり、エンドデバイス3204は、アセットを最小ファイルサイズから最大ファイルサイズまでランク付けする優先順位付け方式の恩恵を受けることができ、その結果、エンドデバイスは、より大きなアセットが到着するのを待つことなく、より多くのアセットを迅速にレンダリングし始めることができる。別の例では、エンドデバイス3204は、メディアサーバ3202からのより短く高速なネットワーク経路の終端にあり、アセット優先順位付け部3102は、アセットが別のアセットによってカメラビューからブロックされているかどうかに基づいて、各アセットに別個の優先度を割り当てることができる。この優先度ポリシーは、「最初に可視アセット、すべての可視アセットの後に非可視アセット」のように単純であってもよく、メディアサーバ3202は、エンドデバイスがすべての可視アセットをより迅速にエンドユーザに示すことを可能にする順序で、一連のアセットを提供することができる。
【0265】
いくつかの例では、メディアサーバ3202は、エンドデバイス3204に転送される記述(例えば、MPD)に、割り当てられたアセットの優先度の値を含めてもよい。エンドデバイス3204のクライアントは、2つ以上のアセットが同じクライアント割り当て優先度の値(例えば、「視認可能」/「見えない」などの少数の別個の可能な値を有する優先順位付け方式)を有する場合、タイブレーカとしての記述における割り当てられた優先度の値に依存しながら、アセット優先順位付け部3102によってサポートされない追加の優先順位付け方式を使用することができる。
【0266】
本開示のいくつかの態様は、割り当てられたアセット優先度の値に基づく光照射野ベースの表示のための動的適応型ストリーミングのための方法を提供する。いくつかの例では、アセットストリーミングにおけるアセットの順序は、異なるアセット優先順位付け方式を使用して割り当てられた、複数の割り当てられたアセット優先度の値のうちの1つに基づいてもよい。いくつかの例では、同じアセットのセットを、異なるアセット優先順位付け方式を使用してセットの各アセットに割り当てられた優先度の値に基づいて、異なる順序で異なるクライアントに転送することができる。いくつかの例では、アセット優先順位付けに割り当てられた優先度の値は、アセット記述と共にクライアントに転送され、アセット優先順位付けに割り当てられた優先度の値は、クライアントが、同じクライアントに割り当てられたアセット優先度の値を有するアセットを優先順位付けするためにアセット優先順位付けに割り当てられた優先度の値に依存しながら、アセット優先順位付け部によってサポートされていないアセット優先順位付け方式を使用することを可能にする。いくつかの例では、クライアントからのフィードバックに基づいて、アセット優先順位付け部によって、優先度の値を調整することができる。
【0267】
本開示の第6の態様によれば、光照射野ベースのディスプレイ(例えば、光照射野ディスプレイ、ホログラフィックディスプレイなど)用のシーンベースの没入型メディアなどのシーンベースの没入型メディアのアセットは、視野の中での距離に基づいて優先順位付けすることができる。
【0268】
本開示の態様によれば、ユーザがシーンに入ったときに一部のアセットがユーザの視野の外部にある(例えば、仮想の人物によって表されるか、または仮想カメラによって表される)可能性があるため、ストリームのすべてのアセットがどの時点においても等しく適切であるわけではない。エンドユーザにとって最もよく見えて目立つアセットがエンドデバイスに利用可能になるまでの遅延を最小限に抑えるために、ユーザがシーンに入るシーンのデフォルトのエントリ位置で、視野の内部に見えるアセットを優先順位付けすることができる。いくつかの例では、シーン内のアセットは、アセットがレンダラの仮想カメラの視野内にあるかどうか、およびユーザに提示されるビューをレンダリングするために使用される仮想カメラポジションからのアセットの距離に従って優先順位付けすることができる。
【0269】
図33は、いくつかの例におけるシーン3301の図を示す。シーン3301は、図27のシーン2701と同様である。カメラは、エンドユーザに対応する視認位置で仮想の人物を表現する。カメラは、デフォルトのエントリ位置3302(初期の位置とも呼ばれる)でシーン3301に入る。シーン3301は、アセットA、アセットB、アセットC、およびアセットDを含む。アセットAは、3303で示すように、床から天井までの本棚のセットである。アセットBは、3304に示すようなコンピュータデスクである。アセットCは、3305に示すような会議テーブルである。アセットDは、3306で示すように、別のシーンへの出入り口である。
【0270】
仮想カメラがデフォルトのエントリ位置3302でシーン3301に入ると、いくつかのアセットはすぐに見えるが、他のアセットは見えない場合がある。仮想カメラの視野(視野とも呼ばれる)3307は限定されており、シーン全体は含まない。図33の例では、アセットAおよびアセットBは、仮想カメラから視野3307の内部にあるため、仮想カメラの初期の位置3302から見える。アセットAは、仮想カメラの初期の位置3302からアセットBよりも遠いことに留意されたい。
【0271】
図33では、アセットCとアセットDは、仮想カメラから視野3307の外側にあるため、仮想カメラの初期の位置3302からは見えない。
【0272】
いくつかの例では、シーンのアセットがエンドデバイスにストリーミングされる前に、アセット優先順位付け部を使用して、シーンに必要なアセットを分析し、シーンのデフォルトのエントリ位置に関連付けられた視野、およびシーンのデフォルトのエントリ位置までのアセットの距離に従って各アセットの優先度の値を割り当てる。
【0273】
図34は、いくつかの例におけるシーンのアセットを再度順位付けするための図を示す。図34の例では、シーンの各アセットに優先度の値を割り当てるために、アセット優先順位付け部3402が使用される。例えば、シーン(例えば、図33のシーン3301)は、アセットA(3404で示す)、アセットB(3405で示す)、アセットC(3406で示す)、およびアセットD(3407で示す)に依存している。最初は、3401で示すように、4つのアセットはアセットA、アセットB、アセットC、およびアセットDのアセット順になっている。アセット優先順位付け部3402は、シーンに入るためのデフォルトのエントリ位置での視野と、デフォルトのエントリ位置からの視野の中での距離とに従ってアセットを分析する。いくつかの例では、アセットの優先度の値は、アセットがカメラ視野の内部で見えるかどうかに基づいて判定できる。いくつかの例では、アセットの優先度の値は、カメラからのアセットの相対的な距離に基づくことができる。例えば、アセットAおよびBは視野の内部にあり、デフォルトのエントリ位置から見ることができ、アセットCおよびDは視野の外部にあり、デフォルトのエントリ位置から見ることができない。さらに、アセットBはアセットAよりもデフォルトのエントリ位置までの距離が短い。3403で示すように、アセットB、アセットA、アセットC、およびアセットDの順など、優先度の値に従って、4つのアセットを再度順位付けすることができる。
【0274】
例では、再度順位付けされたアセットは、メディアサーバによってエンドデバイスにストリーミングすることができる。
【0275】
図35は、いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。図35の例では、シーンベースの没入型メディアのシーンは、3501で示すように、アセットB、アセットA、アセットC、およびアセットDの上位から下位の順など、4つのアセットの優先度の値に従って再度順位付けされた4つのアセットを含む。4つのアセットは、メディアサーバ3502からクラウド3503を介してエンドデバイス3504に優先度の値の順に提供される。例えば、4つのアセットは、アセットB(3505で示す)、アセットA(3506で示す)、アセットC(3507で示す)、およびアセットD(3508で示す)の順に取得されてエンドデバイス3504に送信される。
【0276】
図24の第1のストリーミング順序と図35の第2のストリーミング順序とを比較すると、可視アセットは最初にストリーミングされ、そのため、エンドデバイス3504はシーンの可視アセットをエンドデバイス2404より速くレンダリングすることができる。
【0277】
いくつかの例では、アセット優先順位付け部3402は、仮想カメラの視野および仮想カメラからの距離に基づいてアセットの優先度の値を割り当てることができ、視野の内部でユーザに最も近いアセットが最初にレンダリングされる。
【0278】
いくつかの例では、視野の外部のアセット(視野とも呼ばれる)は、視野の内部のすべてのアセットが送信のためにスケジュールされるまで、エンドデバイス3504への送信のためにスケジュールされない場合がある。視野の外部のアセットが送信のためにスケジュールされる前に遅延があり得る。極端な場合には、ユーザがシーンを迅速に見て、別のシーンに入るためにシーンから後退すると、離れたユーザがシーンに再び入るまで、送信がスケジュールされていなかったアセットはスケジュールされない可能性がある。
【0279】
図36は、いくつかの例における表示されたシーン3601の図を示す。表示されたシーン3601は、シーン3301に対応する。表示されたシーン3601において、本棚3603およびワークステーション3604は、デフォルトのエントリ位置からカメラに見えるシーン3601のアセットであるため、取得されてレンダリングされている。
【0280】
本開示のいくつかの態様は、アセットがカメラ(例えば、没入型メディア体験のためのユーザまたはプレイヤに対応する仮想カメラ)の視野(視野とも呼ばれる)の内部にあるかどうかによって決定される割り当てられたアセット優先度の値に従った光照射野ベースの表示のための動的適応型ストリーミングの方法を提供する。いくつかの例では、アセットの割り当てられたアセット優先度の値は、カメラの位置からのアセットの距離によって決定される。アセットは、アセット優先度の値に基づいて決定された順序で送信することができる。いくつかの例では、アセットのアセット優先度の値は、アセットがカメラの視野の外部にあるときに下げられる。いくつかの例では、アセットのアセット優先度の値は、アセットが視野の内部の別のアセットよりもカメラから離れている場合に下げられる。いくつかの例では、優先度の値は、1つまたは複数のクライアントデバイスからのフィードバックに基づいて調整される。
【0281】
本開示の第7の態様によれば、光照射野ベースのディスプレイ(例えば、光照射野ディスプレイ、ホログラフィックディスプレイなど)用のシーンベースの没入型メディアなどのシーンベースの没入型メディアのアセットは、アセットの複雑度に基づいて優先順位付けすることができる。
【0282】
本開示の態様によれば、シーンのすべてのアセットが等しく複雑であるわけではなく、アセットをエンドユーザのエンドデバイスにレンダリングするために、コンピューティングリソース(例えば、グラフィックス処理デバイス(GPU))からの同じ量の計算を必要としない。シーンがエンドユーザに提示され得るまでの遅延を最小限に抑えるために、いくつかの例では、シーン記述に存在する各アセットの相対的な複雑度に基づいて、シーンを構成するアセットを、ストリーミングに優先順位付けすることができる。
【0283】
図37は、例におけるシーンベースの没入型メディアのシーン3701の図を示す。シーン3701は、アセットA、アセットB、アセットC、およびアセットDの4つのアセットを含む。図37では、アセットAは3705で示すように滑らかな外観の現代風の家であり、アセットBは3706で示すように現実の人物であり、アセットCは3707で示すように様式化された人間の像であり、アセットDは3708で示すように非常に詳細な木のラインである。
【0284】
例では、エンドデバイスがシーン3701のアセットを要求する場合、例えば、メディアサーバ2402は、アセットA、アセットB、アセットC、およびアセットDの順序など、任意の順序でアセットをエンドデバイスに提供できる。アセットがエンドデバイスで利用可能になる順序は、許容可能なユーザ体験を提供しない可能性がある。
【0285】
シーン3701のアセットは同じ複雑度ではなく、アセットはすべてエンドデバイスのGPUに同じ計算負荷をかけるわけではないことに留意されたい。本開示では、アセットを構成するポリゴンの数を、GPUでのアセットの計算負荷を表すプロキシとして用いる。表面特性などのアセットの他の特性は、GPUに計算負荷をかける可能性があることに留意されたい。
【0286】
いくつかの例では、アセットを構成するポリゴンの数は、アセットの複雑度を測定するために使用される。シーン3701のアセットのうち、アセットAは滑らかな外観の現代風の家であり、ポリゴンの数が最も少なく、アセットCは様式化された人間の像であり、2番目に少ないポリゴン数を有し、アセットBは現実の人物であり、2番目に多いポリゴン数を有し、アセットDは非常に詳細な木のラインであり、最も多いポリゴン数を有する。ポリゴンの数に基づいて、シーン3701のアセットは、アセットA、アセットC、アセットB、およびアセットDの順に、複雑度が最も低いものから複雑度が最も高いものまでランク付けできる。
【0287】
いくつかの例では、シーンのアセットがエンドデバイスにストリーミングされる前に、アセット優先順位付け部を使用してシーンに必要なアセットを分析し、アセットの相対的な複雑度に基づいて各アセットの優先度の値を割り当てる。
【0288】
図38は、いくつかの例におけるシーンのアセットを優先順位付けするための図を示す。図38の例では、アセット優先順位付け部3802を使用して、アセットの相対的な複雑度に基づいてシーンの各アセットに優先度の値を割り当てる。例えば、シーン(例えば、図37のシーン3701)は、アセットA(3804で示す)、アセットB(3805で示す)、アセットC(3806で示す)、およびアセットD(3807で示す)に依存している。最初は、3801で示すように、4つのアセットはアセットA、アセットB、アセットC、およびアセットDのアセット順になっている。アセット優先順位付け部3802は、各アセットのポリゴンの数に基づくなど、アセットの相対的な複雑度に従ってアセットに優先順位付け(例えば、再度順位付け)する。例えば、アセットDは最もポリゴン数が多く、最も高い優先度の値(例えば、4)が割り当てられる。アセットBは、2番目に多いポリゴン数を有し、2番目に高い優先度の値(例えば、3)が割り当てられる。アセットCは2番目に少ないポリゴン数を有し、2番目に低い優先度の値(例えば、2)が割り当てられる。アセットAは、ポリゴン数が最も少なく、優先度の値(例えば、1)が最も低い。3803に示すように、4つのアセットは、アセットD、アセットB、アセットC、およびアセットAの順など、優先度の値に従って再度順位付けすることができる。
【0289】
上記の例では、アセットのポリゴン数を使用してアセットの複雑度を評価し、アセットの優先度の値を決定するが、エンドデバイス内のGPUの計算負荷に影響を及ぼし得るアセットの他の属性を使用して複雑度を評価し、優先度の値を決定できることに留意されたい。
【0290】
例では、再度順位付けされたアセットは、メディアサーバによってエンドデバイスにストリーミングすることができる。
【0291】
図39は、いくつかの例における、シーンベースの没入型メディアをエンドデバイスにストリーミングするための例の図を示す。図39の例では、シーンベースの没入型メディアのシーンは、3901で示すように、アセットD、アセットB、アセットC、およびアセットAの上位から下位の順など、4つのアセットの優先度の値に従って再度順位付けされた4つのアセットを含む。4つのアセットは、メディアサーバ3902からクラウド3903を介してエンドデバイス3904に優先度の値の順に提供される。例えば、4つのアセットは、アセットD(3905で示す)、アセットB(3906で示す)、アセットC(3907で示す)、およびアセットA(3908で示す)の順に取得されてエンドデバイス3904に送信される。
【0292】
図24の第1のストリーミング順序と図39の第2のストリーミング順序とを比較すると、最も複雑なアセットをレンダリングするのに必要な時間は、エンドデバイスによってレンダリングされるシーン全体の最小経過時間として作用するので、エンドデバイス3904は、エンドデバイス2404よりも速くシーンをレンダリングすることができる。いくつかの例では、エンドデバイスのGPUは、マルチスレッド化されるように構成することができ、その結果、GPUは、最も複雑なアセットと並行してより複雑ではないアセットをレンダリングすることができ、最も複雑なアセットがレンダリングされている場合に、より複雑ではないアセットを利用可能にすることができる。
【0293】
本開示のいくつかの態様は、GPUの予想される計算負荷によって決定された割り当てられたアセット優先度の値に基づく光照射野ベースの表示のための動的適応型ストリーミングのための方法を提供する。いくつかの例では、ストリーミング用のアセットの順序はアセット優先度の値に基づいてもよい。いくつかの例では、アセット優先度の値は、アセットが他のアセットよりも計算複雑度が高い場合に増加する。いくつかの例では、優先度の値は、クライアントデバイスからのフィードバックに基づいて調整される。例えば、フィードバックは、クライアントデバイスにおけるGPU構成を示すことができ、または複雑度の評価のための異なる属性を示すことができる。
【0294】
本開示の第8の態様によれば、光照射野ベースのディスプレイ(例えば、光照射野ディスプレイ、ホログラフィックディスプレイなど)用のシーンベースの没入型メディアなどのシーンベースの没入型メディアのアセットは、複数のメタデータ属性に基づいて優先順位付けすることができる。
【0295】
本開示の態様によれば、シーンの各アセットは、シーンマニフェストに現れる順序で単純にアセットを取得するよりも良い体験をユーザに提供する方法でシーンをレンダリングするために、レンダラがアセットが取得される順序の優先順位付けを各々可能にする様々なメタデータ属性を有することができる。
【0296】
本開示の別の態様によれば、単一のメタデータ属性に基づく優先度の値は、優先順位付けのための最良の戦略を反映しない場合がある。いくつかの例では、複数のメタデータ属性を反映する優先度の値のセットは、単一のメタデータ属性に基づく別の優先度の値のセットよりも良好なユーザ体験を提供することができる。
【0297】
本開示の別の態様によれば、単一の優先度プレファレンスのセットに基づく優先度の値は、優先順位付けのための最良の戦略を反映しない可能性があり、その理由は、エンドデバイスが多くの様式で-2つの様式だけを挙げると、エンドデバイスとクラウドとの間の経路の特性、およびエンドデバイスのGPU計算能力-大きく異なり得るためである。より良いユーザ体験を提供するために、2つ以上のアセットメタデータ属性に基づいて、ストリーミング用のアセットに優先順位付けする技術を使用することができる。
【0298】
例として図37のシーン3701を使用すると、4つのアセットの各々は複数のメタデータ属性を有し得る。
【0299】
図40は、例におけるアセット4001のメタデータ属性を示す図を示す。アセット4001は、現実的な人物であるシーン3701のアセットB3706に対応できる。アセット4001は、4003で示すようなバイト単位のサイズ、4004で示すようなポリゴン数、4005で示すようなデフォルトカメラからの距離、4006で示すようなデフォルトカメラ(デフォルトのエントリ位置の仮想カメラとも呼ばれる)からの可視性、ならびに4007および4008で示すような他のメタデータ属性などの、様々なメタデータ属性4002を含む。
【0300】
メタデータ属性4002は説明のためのものであり、いくつかの例では、他の適切なメタデータ属性が存在してもよく、図40に列挙されたいくつかのメタデータ属性は、いくつかの例では存在しなくてもよいことに留意されたい。
【0301】
例では、エンドデバイスがシーン3701のアセットを要求する場合、例えば、メディアサーバ2402は、アセットA、アセットB、アセットC、およびアセットDの順序など、任意の順序でアセットをエンドデバイスに提供できる。アセットがエンドデバイスで利用可能になる順序は、許容可能なユーザ体験を提供しない可能性がある。
【0302】
シーン3701のアセットは、エンドユーザにとってサイズ、複雑度、および即時の値ではない。これらのメタデータ属性のそれぞれは、優先順位付けの基礎として別々に使用することができるが、これらのメタデータ属性のそれぞれは、相対的なアセット優先度を決定するために他のメタデータ属性と組み合わせて使用することもできる。例えば、4006で示されるデフォルトカメラからの可視性の第1のメタデータ属性、4004で示される数の範囲として表されるポリゴン数の第2のメタデータ属性、および4005で示されるフィート数として表されるデフォルトカメラからの距離である第3のメタデータ属性などの複数のメタデータ属性を含むポリシーに従って、アセットを優先順序付けすることができる。例では、シーンのアセットのうち、デフォルトカメラから見える第1のアセットに最も高い優先度(例えば、例では4)が割り当てられ、残りのアセットは第2のメタデータ属性と第3のメタデータ属性に従ってさらに処理される。例えば、残りのアセットのうち、ポリゴン数がポリゴン閾値より大きい第2のアセットが2番目に高い優先度を割り当てられ(例えば、例では3)、残りのアセットはさらに第3のメタデータ属性に従って処理される。例えば、残りのアセットの中で、デフォルトカメラとの距離が距離の閾値よりも短い第3のアセットに、3番目に高い優先度(例えば、例では2)を割り当てる。
【0303】
いくつかの例では、シーンのアセットがエンドデバイスにストリーミングされる前に、複数のメタデータ属性を含むポリシーなどの使用中の優先順位付け方式に従って、アセット優先順位付け部を使用して、シーンに必要なアセットを分析し、各アセットの優先順位を割り当てる。例えば、アセット優先順位付け部3802は、複数のメタデータ属性の組み合わせを有するポリシーを使用して優先順位付けを適用するために、使用することができる。アセットが優先順位付けされた後、アセットは、図39に示すように、優先度の順序でストリーミングされる。
【0304】
複数のメタデータ属性に基づく優先順位付けの使用は、エンドデバイスがユーザ体験を向上させるのに適した方法でアセットをエンドデバイスに送信することを可能にする。例えば、エンドデバイスは、ユーザにすぐに見えるアセット(例えば、第1のメタデータ属性による)を要求し、次にレンダリングを最も計算で要求するアセット(例えば、第2のメタデータ属性による)を要求し、次に、レンダリングされたシーンでユーザに最も近いアセット(例えば、第3のメタデータ属性による)を要求することができる。
【0305】
本開示の態様によれば、すべてのエンドデバイスが同じ能力を有するわけではなく、すべてのエンドデバイスがエンドデバイスとクラウドとの間の利用可能な帯域幅などの同じ経路特性を有するわけではなく、異なるユーザにとって最良のユーザ体験は、異なる優先順位付け方式の使用からもたらされ得る。いくつかの例では、エンドデバイスは、それに応じて優先度の値を割り当てるために、優先度プレファレンス情報を、アセットピロリタイザに提供することができる。
【0306】
図41は、いくつかの例における、シーンのアセットを優先順位付けするための図を示す。図41の例では、エンドデバイス4108は、優先度プレファレンスのセット4109をアセット優先順位付け部4102に提供することができる。例えば、優先度プレファレンスのセット4109は、複数のメタデータ属性を含む。次いで、アセット優先順位付け部4102は、優先度プレファレンスのセットに基づいてシーンの各アセットに優先度の値を割り当てることができる。したがって、シーンのアセットの割り当てられた優先度の値は、エンドデバイス4108に最適化される。
【0307】
いくつかの例では、エンドデバイス4108は、エンドデバイスによって行われた測定に基づいて、優先度プレファレンスのセットを動的に調整することができる。例えば、エンドデバイス4018がクラウドへの利用可能な帯域幅が比較的低い場合、エンドデバイスは、バイト単位で測定されたアセットサイズ(例えば、図40の4003)に基づいてアセットに優先順位付けすることができ、これは、最大のアセットの転送時間が、シーンを迅速にレンダリングできる速度の下限として機能するためである。同じエンドデバイス4108が、クラウドからエンドデバイス4108への経路が豊富な帯域幅を有することを検出した場合、エンドデバイス4108は、異なる優先度プレファレンスのセットをアセット優先順位付け部4102に提供することができる。
【0308】
いくつかの例では、関連するメタデータ属性は複合属性とみなされてもよく、エンドデバイスはその優先度プレファレンスのセットに複合属性を含んでもよい。例えば、各アセットの利用可能なメタデータ属性がポリゴンの数と表面の細部のレベルの何らかの尺度とを含む場合、それらの属性は複雑度の計算尺度として一緒に考慮されてもよく、エンドデバイスはその尺度を優先度プレファレンスのセットに含めることができる。
【0309】
本開示のいくつかの態様は、割り当てられたアセット優先度の値に従った光照射野ベースの表示のための動的適応型ストリーミングのための方法を提供する。アセット優先度の値は、ストリーミングされるアセットごとに2つ以上のメタデータ属性に基づいて割り当てることができる。いくつかの例では、シーンのアセットのアセット優先度の値は、優先度プレファレンスのセットに基づいて決定される。いくつかの例では、ストリーミング用のアセットの順序はアセット優先度の値に基づく。いくつかの例では、優先度プレファレンスのセットは、エンドデバイス間で異なる。いくつかの例では、優先度プレファレンスのセットは、エンドデバイスによって提供される。いくつかの例では、優先度プレファレンスのセットは、エンドデバイスによって更新される。いくつかの例では、優先度プレファレンスのセットは、1つまたは複数の複合属性を含む。いくつかの例では、エンドデバイスによって提供される優先度プレファレンスのセットは、1つまたは複数の複合属性を含む。
【0310】
図42は、本開示の実施形態によるプロセス4200の概要を示すフローチャートを示す。プロセス4200は、ネットワークのサーバデバイスなどによって、ネットワークにおいて実行することができる。いくつかの実施形態では、プロセス4200がソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は、プロセス4200を実行する。例えば、スマートクライアントはソフトウェア命令で実装され、ソフトウェア命令は、プロセス4200を含むスマートクライアントプロセスを実行するために、実行することができる。プロセスはS4201で開始し、S4210に進む。
【0311】
S4210において、サーバデバイスは、光照射野ベースのディスプレイで再生するためのシーンベースの没入型メディアを受信する。シーンベースの没入型メディアのシーンは、第1の順序の複数のアセットを含む。
【0312】
S4220において、サーバデバイスは、複数のアセットをエンドデバイスにストリーミングするための第2の順序を決定する。第2の順序は第1の順序とは異なる。
【0313】
いくつかの例では、サーバデバイスは、複数のアセットの1つまたは複数の属性に従ってシーンの複数のアセットに、それぞれ優先度の値を割り当て、優先度の値に従って、複数のアセットをストリーミングするための第2の順序を決定する。
【0314】
いくつかの例では、サーバデバイスは、複数のアセットの記述に複数のアセットの優先度の値を含め、記述をエンドデバイスに提供する。エンドデバイスは、説明における優先度の値に従って複数のアセットを要求する。
【0315】
本開示のいくつかの態様によれば、サーバデバイスは、アセットのサイズに従ってシーンのアセットに優先度の値を割り当てる。例では、サーバデバイスは、バイト単位で、第2のアセットよりも小さいサイズを有する第1のアセットに応じて、第1の優先度の値を第1のアセットに割り当て、第2の優先度の値を第2のアセットに割り当て、第1の優先度の値は第2の優先度の値よりも高い。
【0316】
本開示のいくつかの態様によれば、サーバデバイスは、シーンのデフォルトのエントリ位置と関連付けられたアセットの可視性に従って、シーンのアセットに優先度の値を割り当てる。いくつかの例では、サーバデバイスは、シーンのデフォルトのエントリ位置から見える第1のアセットに第1の優先度の値を割り当て、デフォルトのエントリ位置から見えない第2のアセットに第2の優先度の値を割り当て、第1の優先度の値は第2の優先度の値よりも高い。例では、サーバデバイスは、アセットがシーンの別のアセットによってブロックされていることに応じて、アセットに第2の優先度の値を割り当てる。別の例では、サーバデバイスは、アセットがシーンのデフォルトのエントリ位置と関連付けられた視野の外部にあることに応じて、アセットに第2の優先度の値を割り当てる。別の例では、サーバデバイスは、アセットがシーンの光源によりシーンの別のアセットの影によって遮られていることに応じて、アセットに第2の優先度の値を割り当てる。
【0317】
本開示のいくつかの態様によれば、サーバデバイスは、第1のアセットおよび第2のアセットがシーンのデフォルトのエントリ位置と関連付けられた視野の内部にあることに応じて、第1のアセットに第1の優先度の値を割り当て、第2のアセットに第2の優先度の値を割り当て、第1のアセットは第2のアセットよりもシーンのデフォルトのエントリ位置に近く、第1の優先度の値は第2の優先度の値よりも大きい。
【0318】
いくつかの例では、サーバデバイスは、複数のアセットの第1の属性に基づいて複数のアセットに第1の優先度の値のセットを割り当て、第1の優先度の値のセットは、第1の優先順位付け方式で複数のアセットを順序付けるために使用される。さらに、サーバデバイスは、複数のアセットの第2の属性に基づいて複数のアセットに第2の優先度の値のセットを割り当て、第2の優先度の値のセットは、第2の優先順位付け方式で複数のアセットを順序付けるために使用される。サーバデバイスは、エンドデバイスの情報に従って第1の優先順位付け方式および第2の優先順位付け方式からエンドデバイスの優先順位付け方式を選択し、選択された優先順位付け方式に従って、ストリーミングのために複数のアセットを順序付ける。
【0319】
いくつかの例では、サーバデバイスは、複数のアセットの記述に、複数のアセットに割り当てられた優先度の値を含める。優先度の値は、第1の優先順位付け方式で複数のアセットを順序付けるために使用される。サーバデバイスは、複数のアセットの記述をエンドデバイスに提供する。例では、エンドデバイスは、複数のアセットの要求順序に第2の優先順位付け方式を適合させ、第2の優先順位付け方式によるタイに応じて、第1の優先順位付け方式をタイブレーカとして使用する。
【0320】
いくつかの例では、サーバデバイスは、第2のアセットよりも計算の複雑度が高い第1のアセットに応じて、第1のアセットに第1の優先度の値を割り当て、第2のアセットに第2の優先度の値を割り当てる。第1の優先度の値は第2の優先度の値よりも高い。例では、より複雑度の高い計算は、第1のアセットの多数のポリゴン、および第1のアセットの表面特性のうちの少なくとも1つに基づいて決定される。
【0321】
いくつかの例では、1つまたは複数の属性は、各アセットに関連付けられたメタデータ属性であり、バイト単位のサイズ、ポリゴンの数、デフォルトのカメラからの距離、およびデフォルトのカメラからの可視性のうちの少なくとも1つを含むことができる。
【0322】
いくつかの例では、サーバデバイスは、エンドデバイスの優先度プレファレンスのセットを受信し、優先度プレファレンスのセットは、第1の属性のセットを含み、第1の属性のセットに従って第2の順序を決定する。例では、サーバデバイスは、エンドデバイスの優先度プレファレンスの更新を受信し、優先度プレファレンスの更新は、第1の属性のセットとは異なる第2の属性のセットを示す。サーバデバイスは、第2の属性のセットに従って、更新された第2の順序を決定することができる。
【0323】
いくつかの例では、サーバデバイスは、エンドデバイスからフィードバック信号を受信し、フィードバック信号に従って優先度の値および第2の順序を調整する。
【0324】
次いで、プロセス4200はS4299に進み、終了する。
【0325】
プロセス4200は、様々なシナリオに適切に適合させることができ、それに応じてプロセス4200のステップを調整することができる。プロセス4200のステップのうちの1つまたは複数を、適合、省略、繰り返し、および/または組み合わせることができる。プロセス4200を実施するために、任意の適切な順序を使用することができる。追加のステップが追加され得る。
【0326】
図43は、本開示の実施形態によるプロセス4300の概要を示すフローチャートを示す。プロセス4300は、エンドデバイス(クライアントデバイスとも呼ばれる)などの電子デバイスによって実行することができる。いくつかの実施形態では、プロセス4300がソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は、プロセス4300を実行する。例えば、プロセス4300はソフトウェア命令として実装され、処理回路はソフトウェア命令を実行して、スマートコントローラプロセスを実行することができる。プロセスはS4301で開始し、S4310に進む。
【0327】
S4310で、光照射野ベースのディスプレイで再生するためのシーンベースの没入型メディアの要求が電子デバイスによってネットワークに送信される。シーンベースの没入型メディアのシーンは、第1の順序の複数のアセットを含む;
【0328】
S4320において、複数のアセットを電子デバイスにストリーミングする順序を調整するために、電子デバイスの情報が提供される。次いで、電子デバイスの情報に従って順序が決定される。
【0329】
いくつかの例では、電子デバイスは、光照射野ベースのディスプレイで再生するためのシーンベースの没入型メディアのシーンの複数のアセットの記述を受信する。説明は、複数のアセットの優先度の値を含む。電子デバイスは、優先度の値に従って複数のアセットのうちの1つまたは複数のアセットを要求する。
【0330】
いくつかの例では、優先度の値は第1の優先順位付け方式に関連付けられる。電子デバイスは、第1の優先順位付け方式とは異なる第2の優先順位付け方式に従って、第1のアセットと第2のアセットとが同じ優先度を有すると判定する。次いで、電子デバイスは、第1の優先順位付け方式に従って、第1のアセットおよび第2のアセットの一方を他方よりも優先順位付けする。
【0331】
いくつかの例では、電子デバイスは、優先度プレファレンスのセットをネットワークに提供する。さらに、例では、電子デバイスは、ネットワークステータスの変化などの動作環境の変化を検出し、動作環境の変化に応じて、優先度プレファレンスのセットに更新を提供する。
【0332】
いくつかの例では、電子デバイスは、ネットワークステータスの変化などの動作環境の変化を検出する。次いで、電子デバイスは、動作環境の変化を示すフィードバック信号をネットワークに提供する。
【0333】
次いで、プロセス4300はS4399に進み、終了する。
【0334】
プロセス4300は、様々なシナリオに適切に適合させることができ、それに応じてプロセス4300のステップを調整することができる。プロセス4300のステップのうちの1つまたは複数を、適合、省略、繰り返し、および/または組み合わせることができる。プロセス4300を実施するために、任意の適切な順序を使用することができる。追加のステップが追加され得る。
【0335】
本開示の第9の態様によれば、シーンアナライザは、シーンのデフォルトのビューポートにおけるアセットの可視性に基づいて、アセットレンダリングの優先順位付けに使用することができる。
【0336】
本開示の態様によれば、シーンベースのメディアをサポートするクライアントデバイスは、シーンのデフォルトカメラおよびビューポートの概念をサポートするレンダラおよび/またはゲームエンジンを装備することができる。デフォルトカメラは、レンダラがシーンの内部画像を作成するために使用できるカメラの属性を提供する。したがって、そのような内部画像は、多くの他の可能な属性の中でも、水平解像度および垂直解像度、x次元およびy次元、ならびに被写界深度などのカメラ属性によって定義される。ビューポートは、内部画像自体およびシーンのカメラの仮想位置によって定義される。シーンへのカメラの仮想位置は、コンテンツ制作者またはユーザに、シーンのどの部分が内部画像にレンダリングされるかを正確に指定できるようにする。したがって、デフォルトカメラのビューポートで直接見えないオブジェクト、例えば、デフォルトカメラの背後にあるか、またはシーン内へのビューポートの外側にあるオブジェクトは、すなわち、ユーザがいずれにしてもそれらを見ることができないのであれば、レンダラによるレンダリングのために優先順位付けされない可能性がある。それにもかかわらず、いくつかのオブジェクトは、それらの存在およびまたはビューポートへの近接からキャストされた影が実際にビューポートの内部に存在する可能性が高いほど、デフォルトカメラのビューポートに十分に近い位置にある可能性がある。例えば、ビューポートでは見えない点光源が、同じくシーンでは見えない他のオブジェクトの背後に配置されている場合、シーンのビューポートの中に反射される光は、それらの存在が光がシーンのビューポートに移動できることをブロックするので、見えないオブジェクトによって生成される影に影響を受ける可能性がある。したがって、ビューポートによってキャプチャされたシーンの部分に光が移動できることに影響を与えるようなオブジェクトをレンダリングすることは、レンダラにとって重要であり得る。
【0337】
本開示のいくつかの態様は、クライアントによってまたはクライアントに代わってフォーマットAからフォーマットBへの変換のためにシーンの中の個々のアセットを順序付ける別個の意思決定プロセスを容易にするシーンアナライザのための技法を提供する。シーンアナライザは、優先度の値を計算してシーンのメタデータの中に記憶することができ、優先度の値はシーンの中の個々のアセットに対するものであり、アセットがデフォルトのカメラのビューポートによってキャプチャされたシーンの領域にあるかどうかを含むいくつかの異なるファクタに基づいて決定することができる。次いで、計算された優先度の値は、シーンを記述するメタデータに直接記憶することができ、その結果、ネットワークまたはクライアントデバイスのいずれかにおける後続のプロセスは、別のアセットの前に1つのアセットを変換する潜在的な重要性に関して、すなわち、シーンアナライザによってシーンメタデータに記憶された優先度の値によって示されるように、シグナリングされる。いくつかの例では、そのようなシーンアナライザは、シーン内にビューポートを作成するために、すなわち、特定のアセットがシーン内のカメラのビューポートの内側にあるか外側にあるかを計算するために使用されることが予想されるカメラの特徴を記述するメタデータを利用することができる。シーンアナライザは、カメラの属性、例えば、ビューポートの幅および長さ、カメラの焦点が合っているオブジェクトの被写界深度などに基づいて、ビューポートの領域を計算することができる。いくつかの例では、シーンのカメラビューポートにない第1のアセットは、デフォルトのカメラビューポートの内部にある第2のアセットが変換された後に行われる変換のために、シーンアナライザによって優先順位付けされ得る。そのような優先順位付けは、シーンアナライザによってシーンのメタデータにシグナリングおよび記憶することができる。そのようなメタデータをシーンに記憶することは、配信ネットワークの中での後続のプロセス、すなわち、優先順位付けがシーンアナライザによって計算されてシーンのメタデータに記憶された場合に、他のアセットが実行されなくてもよくなるより前に、どのアセットを変換するかを決定するための同じ計算に、利益をもたらすことができる。シーンアナライザのプロセスは、クライアントによってストリーミングされているメディアに対して先験的に、またはいくつかの例ではクライアントデバイス自体によって実行される特定のステップとして、実行することができる。
【0338】
図44は、いくつかの例におけるデフォルトカメラ視点のアセットのシグナリングを有する時限メディア表現4400の図を示す。時限メディア表現4400は、シーン4401のリストの情報を含む時限シーンマニフェスト4400Aを含む。シーン4401の情報は、シーン4401の処理情報およびメディアアセットのタイプを別々に記述するコンポーネント4402のリストを指す。コンポーネント4402は、ベース層4404および属性強化層4405をさらに示すアセット4403を指す。シーンのデフォルトのカメラビューポートの内部に位置するアセット4407のリストは、各シーン4401に提供される。
【0339】
図45は、いくつかの例におけるデフォルトのビューポートでのアセットのシグナリングを伴う非時限メディア表現4500の図を示す。非時限シーンマニフェスト(図示せず)は、シーン1.0に分岐することができる、他のシーンがないシーン1.0を参照する。シーンの情報4501は、クロックに応じた開始時間および終了時間に関連付けられていない。シーンの情報4501は、シーンの処理情報およびメディアアセットのタイプを別々に記述するコンポーネント4502のリストを指す。コンポーネント4502は、アセット4503を参照して、アセット4503は、ベース層4504および属性強化層4505、4506をさらに参照する。また、シーンの情報4501は、非時限メディア用の他のシーン情報4501を指し得る。シーンの情報4501はまた、時限メディアシーンのためのシーン情報4507を指す。リスト4508は、そのジオメトリがシーンのデフォルトのカメラのビューポート内部に位置するアセットを識別する。
【0340】
図9に戻って参照すると、いくつかの例では、図9のメディアアナライザ911は、シーンのアセットの分析を実行することができるシーンアナライザを含む。例では、シーンアナライザは、シーンのアセットのどのアセットがデフォルトのビューポートにあるかを判定できる。例えば、インジェストメディアを更新して、どのアセットがカメラのデフォルトのビューポート内部に位置しているかに関する情報を、シーンに記憶することができる。
【0341】
図14に戻って参照すると、いくつかの例では、図14のメディアアナライザ1410は、シーンのアセットの分析を実行することができるシーンアナライザを含む。例では、シーンアナライザは、ゲームエンジン1405によるレンダリングのための潜在的な優先順位付けのために、および/またはMPEGスマートクライアント1401を介した再構成処理のために、クライアント適応メディア1409を検査して、どのアセットがシーンのデフォルトのカメラのビューポート(シーンに入るためのデフォルトのビューポートとも呼ばれる)に配置されているかを判定することができる。そのような実施形態では、メディアアナライザは、デフォルトのカメラのビューポートにある各シーンのアセットのリストを、クライアント適応メディア1409の各シーンに記憶することができる。
【0342】
図46は、シーンアナライザがデフォルトのビューポートに従ってシーンのアセットを分析するためのプロセスフロー4600を示す。プロセスはステップ4601で始まり、ここで、シーンアナライザは、ビューポートを定義するために使用されるカメラの属性に基づいて、デフォルトのビューポート(シーンが初めてレンダリングされるときのシーンへの初期のビュー)を記述するデフォルトのカメラポジションおよび特性(例えば、シーンから、または図示されていない外部のソースから)の属性を取得する。そのようなカメラの属性には、ビューポートを作成するために使用されるカメラのタイプ、ならびにビューポートによってキャプチャされるシーンの領域の寸法の長さ、幅、および奥行きが含まれる。ステップ4602において、シーンアナライザは、ステップ4601で取得された属性に基づいて、実際のデフォルトのビューポートを計算することができる。次に、ステップ4603において、シーンアナライザは、特定のシーンのアセットのリストの中に、調べるべきアセットがさらにあるかどうかを判定する。調べるアセットがそれ以上ない場合、プロセスはステップ4606に進む。ステップ4606において、シーンアナライザは、ジオメトリがシーンのデフォルトのビューポート内部に(全体的にまたは部分的に)あるアセットのリストを(シーンのメタデータに)書き込む。分析されたメディアは4607として示されている。ステップ4603で処理すべきアセットがさらにある場合、プロセスはステップ4604に進む。ステップ4604において、シーンアナライザは、シーンの次のアセットのジオメトリを解析し、次のアセットが現在のアセットになる。シーンの中の現在のアセットのジオメトリと位置は、ステップ4602で計算されたデフォルトのビューポートの領域と比較される。ステップ4604において、シーンアナライザは、アセットのジオメトリとシーンのその位置を調査し、アセットジオメトリの任意の部分がデフォルトのビューポートの領域に入るかどうかを判定する。アセットジオメトリの任意の部分がデフォルトのビューポートに入る場合、プロセスはステップ4605に進む。ステップ4605において、シーンアナライザは、アセット識別子をデフォルトのビューポートの内部に位置するアセットのリストに記憶する。ステップ4605に続いて、プロセスはステップ4603に戻り、シーンのアセットのリストを調べて、処理すべきアセットがさらにあるかどうかを判定する。
【0343】
本開示のいくつかの態様は、アセット優先順位付けのための方法を提供する。方法は、シーンを見るために使用されるカメラによって作成されるビューポートの位置およびサイズを計算し、シーンの各アセットのジオメトリをビューポートと比較して、アセットのジオメトリの一部がビューポートと交差するかどうかを判定できる(例えば、カメラによって作成されるビューポートの位置およびサイズ)。方法は、ジオメトリがカメラによって作成されるビューポートと部分的または全体的に交差するアセットを識別し、カメラによって作成されたビューポートの領域とジオメトリが交差する同様のアセットのリストに、アセットの識別情報を記憶する。次に、方法は、ジオメトリがカメラによって作成されたビューポートの領域と交差する類似のアセットのリストに基づいて、シーンベースのメディアプレゼンテーションにおけるシーンのアセットのレンダリングを順番付け、優先順位付けすることを含む。
【0344】
図47は、本開示の実施形態によるプロセス4700の概要を示すフローチャートを示す。プロセス4700は、ネットワークのサーバデバイスなどによって、ネットワークにおいて実行することができる。いくつかの実施形態では、プロセス4700がソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は、プロセス4700を実行する。プロセスはS4701で開始し、S4710に進む。
【0345】
S4710で、シーンベースの没入型メディアのシーンを視認するためのカメラに関連付けられたビューポートの位置およびサイズなどのビューポートの属性が決定される。シーンは、複数のアセットを含む。
【0346】
S4720で、各アセットについて、アセットがビューポートと少なくとも部分的に交差するかどうかは、ビューポートの位置とサイズ、アセットのジオメトリに基づいて判定される。
【0347】
S4730において、アセットの識別子は、アセットがビューポートと少なくとも部分的に交差することに応じて、視認可能なアセットのリストに記憶される。
【0348】
S4740において、視認可能なアセットのリストがシーンと関連付けられたメタデータに含まれる。
【0349】
いくつかの例では、ビューポートの位置およびサイズは、シーンを見るためのカメラのカメラ位置および特性に従って決定される。
【0350】
いくつかの例では、少なくとも第1のアセットと第2のアセットを第1のフォーマットから第2のフォーマットに変換する順序は、視認可能なアセットのリストに従って決定される。例では、視認可能なアセットのリストは、視認可能なアセットのリストにないシーンの別のアセットを変換する前に、第1のフォーマットから第2のフォーマットに変換される。
【0351】
いくつかの例では、少なくとも第1のアセットおよび第2のアセットをエンドデバイスにストリーミングするための順序は、視認可能なアセットのリストに従って決定される。例では、視認可能なアセットのリストは、視認可能なアセットのリストにないシーンの別のアセットをストリーミングする前にストリーミングされる。
【0352】
次いで、プロセス4700はS4799に進み、終了する。
【0353】
プロセス4700は、様々なシナリオに適切に適合させることができ、それに応じてプロセス4700のステップを調整することができる。プロセス4700のステップのうちの1つまたは複数を、適合、省略、繰り返し、および/または組み合わせることができる。プロセス4700を実施するために、任意の適切な順序を使用することができる。追加のステップが追加され得る。
【0354】
本開示の第10の態様によれば、接続されたクライアントタイプによるメディア適応の優先順位付けのための技術を使用することができる。
【0355】
本開示の態様によれば、異種なクライアントのためのメディア配信ネットワークの効率に影響を与える問題の1つは、メディアが変換される必要があるネットワークに接続された多数のクライアント(例えば、クライアントデバイス、エンドデバイス)があると仮定して、変換のためにどのメディアを優先順位付けすべきかを決定することである。
【0356】
一般性を失うことなく、変換プロセスは、両方の名称が業界で使用され得るので、「適応」プロセスとも呼ばれ得ると仮定される。その接続されたクライアントの代わりにメディア適応を実行するネットワークは、ネットワークに接続された現在のクライアントタイプに関する情報によって、そのような適応の優先順位付けを誘導する情報から利益を得る。
【0357】
本開示のいくつかの態様は、ネットワークによって実行される適応(または変換)プロセスから利益を得ることができるクライアントの数を最大化するために実行することができるメディア適応またはメディア変換プロセスの技術を提供する。開示された主題は、ネットワークに現在接続されているクライアントの数およびタイプに基づいて適応プロセスを優先順位付けするために、1つまたは複数のクライアントおよびクライアントタイプの代わりに、メディア適応の一部または全部を実行するネットワークの必要性に対処する。
【0358】
図48は、いくつかの例における没入型メディア配信モジュール4800の図を示す。没入型メディア配信モジュール4800は、図9の没入型メディア配信モジュール900と同様であるが、クライアント追跡プロセスを伴う没入型メディアネットワーク配信を示すために、4812によって示されるクライアント追跡プロセスが追加されている。没入型配信モジュール4800は、図8において前述したように、レガシーおよび異種の没入型メディア対応ディスプレイにサービスを提供することができる。コンテンツは、4801により示されているように作成または取得され、それは自然コンテンツとCGIコンテンツについてそれぞれ図5および図6にさらに具現化されている。次いで、4801のコンテンツは、4802によって示されるネットワークインジェストフォーマット作成プロセスを使用して、インジェストフォーマットに変換される。4802によって示されているプロセスは、同様に、自然コンテンツとCGIコンテンツについてそれぞれ図5および図6でさらに具現化されている。インジェストメディアは、任意選択でIMSメタデータで注釈付けされるか、またはメディアアナライザ4811のシーンアナライザによって複雑度の属性を決定するために分析される。インジェストメディアフォーマットは、ネットワークに送信されて、ストレージデバイス4803に記憶される。いくつかの例では、ストレージデバイスは、没入型メディアコンテンツ作成者のネットワークに常駐し、4803を2等分する破線によって示されるように、没入型メディアネットワーク配信プロセス(番号なし)によって遠隔アクセスされてもよい。クライアントおよびアプリケーション固有の情報は、いくつかの例では、リモートストレージデバイス4804で利用可能であり、これは、いくつかの例では代替クラウドネットワークに遠隔に存在してもよい。
【0359】
図48に示すように、4805によって示されているネットワークオーケストレータは、配信ネットワークの主要なタスクを実行するための情報の主要なソースおよびシンクとして機能する。この特定の実施形態では、ネットワークオーケストレータ4805は、ネットワークの他のコンポーネントと統一されたフォーマットで実装されてもよい。それにもかかわらず、図48のネットワークオーケストレータ4805によって描かれるタスクは、開示される主題のいくつかの要素を形成する。ネットワークオーケストレータ4805は、クライアントの特性に従ってメディアのすべての処理および配信を容易にするために、クライアントとの双方向メッセージプロトコルをさらに用いることができる。さらに、双方向プロトコルは、異なる配信チャネル、すなわち、制御プレーンチャネルとデータプレーンチャネルにわたって実装されてもよい。
【0360】
いくつかの例では、ネットワークオーケストレータ4805は、チャネル4807を介して、1つまたは複数のクライアントデバイス4808の特徴および属性に関する情報を受信し、さらに、4808で現在実行されているアプリケーションに関する要件を収集する。この情報は、デバイス4804から取得されてもよく、または代替の実施形態では、クライアントデバイス4808に直接問い合わせることによって取得されてもよい。クライアントデバイス4808へ直接問い合わせる場合、例では、双方向プロトコル(図48には示されていない)が存在し、クライアントデバイスがネットワークオーケストレータ4805に直接通信することができるように動作可能であると仮定される。
【0361】
いくつかの例では、チャネル4807はまた、クライアントデバイス4808の現在の数およびタイプの記録がネットワークによって維持されるように、クライアント追跡プロセス4812を更新することができる。ネットワークオーケストレータ4805は、クライアント追跡プロセス4812に記憶された情報に基づいて、メディア適応およびフラグメンテーションプロセス4810をスケジューリングするための1つまたは複数の優先度を計算することができる。
【0362】
ネットワークオーケストレータ4805はまた、図10に記載されているメディア適応およびフラグメンテーションプロセス4810を開始して通信する。インジェストメディアがプロセス4810によって適応され断片化されると、メディアは、いくつかの例では、配信ストレージデバイス4809のために準備されたメディアとして示されたメディア間ストレージデバイスに転送される。配信メディアが準備されてデバイス4809に記憶されると、ネットワークオーケストレータ4805は、クライアントデバイス4808が、そのネットワークインターフェース4808Bを介して、プッシュ要求を介して配信メディアおよび対応する記述情報4806を受信するか、またはクライアントデバイス4808自体がストレージデバイス4809からメディア4806のプル要求を開始することができるかのいずれかを確実にする。ネットワークオーケストレータ4805は、「プッシュ」要求を実行するために、またはクライアントデバイス4808による「プル」要求を開始するために、双方向メッセージインターフェース(図48には図示せず)を用いることができる。クライアント4808は、いくつかの例では、GPU(またはCPU、図示されていない)4808Cを使用することができる。メディアの配信フォーマットは、クライアントデバイス4808のストレージデバイスまたはストレージキャッシュ4808Dに記憶される。最後に、クライアントデバイス4808は、その視覚化コンポーネント4808Aを介してメディアを視覚的に提示する。
【0363】
没入型メディアをクライアントデバイス4808にストリーミングするプロセス全体を通して、ネットワークオーケストレータ4805は、クライアントの進捗およびステータスフィードバックチャネル4807を介してクライアントの進捗のステータスを監視し得る。ステータスの監視は、双方向通信メッセージインターフェース(図48には図示せず)によって実行されてもよい。
【0364】
図49は、いくつかの例におけるメディア適応プロセス4900の図を示す。メディア適応プロセスは、取り込まれたソースメディアを、クライアントデバイス908(図9に示す)などの1つまたは複数のクライアントデバイスの要件に適合するように適応させることができる。メディア適応プロセス4901は、クライアントデバイスのための適切な配信フォーマットへのインジェストメディアの適応を容易にする複数のコンポーネントによって実行することができる。
【0365】
いくつかの例では、ネットワークオーケストレータ4903は、適応プロセス4901を開始する。データベース4912は、いくつかの例では、ネットワークに接続されたクライアントデバイス(例えば、没入型クライアントデバイス4808)のタイプおよび数に関連する情報を提供することによって、ネットワークオーケストレータ4903が適応プロセス4901に優先順位付けするのを支援することができる。
【0366】
図49では、適応プロセス4901は、入力ネットワークステータス4905を受信してネットワークの現在のトラフィック負荷を追跡する。クライアントデバイスの情報には、属性および機能の説明、アプリケーションの機能および説明、またアプリケーションの現在のステータス、およびクライアントの錐台のジオメトリをインジェスト没入型メディアの補間機能にマッピングするのを支援するクライアントニューラルネットワークモデル(利用可能な場合)が含まれる。このようなクライアントデバイスの情報は、双方向メッセージインターフェース(図49に図示せず)によって得られてもよい。適応プロセス4901は、適応された出力が作成されると、クライアント適応メディアストレージデバイス4906に確実に記憶されるようにする。いくつかの例では、シーンアナライザ4907は、事前に、またはメディアの配信のためのネットワーク自動化プロセスの一部として実行され得る。
【0367】
いくつかの例では、適応プロセス4901は、論理コントローラ4901Fによって制御される。適応プロセス4901はまた、レンダラ4901Bまたはニューラルネットワークプロセッサ4901Cを用いて、特定のインジェストソースメディアをクライアントデバイスに適したフォーマットに適応させる。ニューラルネットワークプロセッサ4901Cは、4901Aのニューラルネットワークモデルを用いる。このようなニューラルネットワークプロセッサ4901Cの例としては、MPIやMSIに記載されているような深層ニューラルネットワークモデル生成部が挙げられる。メディアは2Dフォーマットである場合、クライアントは3Dフォーマットを必要とし、次いで、ニューラルネットワークプロセッサ4901Cは、ビデオに描写されたシーンの立体表現を導出するために2Dビデオ信号から高相関画像を使用するプロセスを呼び出すことができる。適切なレンダラ4901Bの例は、適応プロセス4901と直接対話するように修正されたOTOY Octaneレンダラ(図示せず)の修正バージョンであってもよい。適応プロセス4901は、インジェストメディアのフォーマットおよびクライアントデバイスが要求するフォーマットに関するこれらのツールの必要性に応じて、任意選択でメディア圧縮器4901Dおよびメディア伸張器4901Eを用いることができる。
【0368】
本開示のいくつかの態様は、ネットワークのクライアントデバイスのメディア要件にメディアを適応させるための優先順位付けプロセスを誘導することを含む方法を提供する。方法は、ネットワークに接続されたクライアントデバイスのプロファイル情報を収集することを含む。クライアントデバイスのメディア要件は、例ではメディアのフォーマットおよびビットレートのうちの1つまたは複数などの属性を含む。クライアントデバイスのプロファイル情報は、いくつかの例では、ネットワークに接続されたクライアントデバイスのタイプおよび数を含む。
【0369】
図50は、本開示の実施形態によるプロセス5000の概要を示すフローチャートを示す。プロセス5000は、ネットワークのサーバデバイスなどによって、ネットワークにおいて実行することができる。いくつかの実施形態では、プロセス5000がソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は、プロセス5000を実行する。プロセスはS5001で開始し、S5010に進む。
【0370】
S5010では、ネットワークに接続されたクライアントデバイスのプロファイル情報を受信する。プロファイル情報は、メディアをクライアントデバイスに配信するためのクライアントデバイスの1つまたは複数のメディア要件へのメディアの適応を誘導するために、使用することができる。
【0371】
S5020において、クライアントデバイスの第1のサブセットに配信するための第1のメディア要件にメディアを適応させる第1の適応が、クライアントデバイスのプロファイル情報に従って優先順位付けされる。
【0372】
いくつかの例では、1つまたは複数のメディア要件におけるメディア要件は、メディアのフォーマット要件およびビットレート要件のうちの少なくとも1つを含む。
【0373】
いくつかの例では、クライアントデバイスのプロファイル情報は、クライアントデバイスのタイプ、および各々のタイプのクライアントデバイスの番号を含む。
【0374】
例では、クライアントデバイスの第1のサブセットに配信するための第1のメディア要件にメディアを適応させる第1の適応は、第1のサブセットのクライアントデバイスの第1の数が第2のサブセットのクライアントデバイスの第2の数よりも多いことに応じて、クライアントデバイスの第2のサブセットに配信するための第2のメディア要件にメディアを適応させる第2の適応よりも優先順位付けされる。
【0375】
次いで、プロセス5000はS5099に進み、終了する。
【0376】
プロセス5000は、様々なシナリオに適切に適合させることができ、それに応じてプロセス5000のステップを調整することができる。プロセス5000のステップのうちの1つまたは複数を、適合、省略、繰り返し、および/または組み合わせることができる。プロセス5000を実施するために、任意の適切な順序を使用することができる。追加のステップが追加され得る。
【0377】
本開示はいくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、本開示の原理を具現化し、したがって本開示の趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0378】
100 メディアフロープロセス、104 ネットワーククラウド、104 エッジデバイス、104 ネットワーク、105 ネットワーク接続、105 メディア、106 レンダリングプロセス、106 レンダリング機能、108 クライアントデバイス、110 メディアストア、111 フェッチ機構、200 メディア変換意思決定プロセス、200 プロセス、201 メディア、205 メディア、206 準備プロセス、300 時限メディア表現、300 ストリーミング可能フォーマット、301 シーン、301 シーン情報、302 コンポーネント、303 アセット、304 ベース層、305 属性強化層、306 プロキシビジュアルアセット、308 プロキシオーディオアセット、400 ストリーミング可能フォーマット、400 非時限メディア表現、401 シーン、401 シーン情報、402 コンポーネント、403 アセット、404 ベース層、405 属性強化層、406 属性強化層、407 シーン情報、408 リスト、500 プロセス、501 カメラユニット、502 カメラユニット、503 カメラユニット、504 合成モジュール、505 ニューラルネットワーク訓練モジュール、506 訓練画像、507 インジェストフォーマット、508 キャプチャニューラルネットワークモデル、508 モデル、509 自然画像コンテンツ、511 注釈付けプロセス、600 プロセス、601 LIDARカメラ、602 点群、602 データ、603 コンピュータ、604 CGIアセット、604 データ、605 行為者、606 データ、607 合成モジュール、608 合成メディア、609 IMS注釈プロセス、610 IMS注釈付き合成メディア、700 コンピュータシステム、700 アーキテクチャ、701 キーボード、702 マウス、703 トラックパッド、705 ジョイスティック、706 マイクロフォン、707 スキャナ、708 カメラ、709 スピーカ、710 タッチスクリーン、710 スクリーン、721 メディア、722 サムドライブ、723 ソリッドステートドライブ、740 コア、741 中央処理装置(CPU)、742 グラフィックスプロセッシングユニット(GPU)、743 フィールドプログラマブルゲートエリア(FPGA)、744 アクセラレータ、744 ハードウェアアクセラレータ、745 ROM、746 RAM、746 ランダムアクセスメモリ、747 コア内部大容量ストレージ、747 大容量内部大容量ストレージ、748 システムバス、749 周辺バス、750 グラフィックスアダプタ、754 インターフェース、755 通信ネットワーク、800 ネットワークメディア配信システム、801 コンテンツ取得モジュール、802 コンテンツ準備モジュール、803 送信モジュール、804 ゲートウェイ、805 セットトップボックス、806 無線復調器、807 レガシー2Dテレビ、808 WiFiルータ、808 ルータ、809 レガシー2Dディスプレイ、810 ヘッドマウント2Dラスタベースディスプレイ、811 ディスプレイ、811 レンチキュラー光照射野ディスプレイ、812 ホログラフィックディスプレイ、813 ディスプレイ、814 拡張現実ヘッドセット、815 高密度光照射野ディスプレイ、900 没入型メディア配信モジュール、900 没入型メディアネットワーク配信モジュール、901 モジュール、902 ネットワークインジェストフォーマット作成モジュール、902 モジュール、903 ストレージデバイス、904 リモートストレージデバイス、904 デバイス、905 ネットワークオーケストレータ、906 メディア、906 記述情報、907 ステータスフィードバックチャネル、908 クライアント、908 没入型クライアント、908 クライアントデバイス、909 ストレージデバイス、909 配信ストレージデバイス、909 デバイス、910 フラグメンテーションモジュール、910 モジュール、911 メディアアナライザ、1000 メディア適応プロセス、1000 プロセス、1001 適応モジュール、1001 メディア適応およびフラグメンテーションモジュール、1001 適応プロセス、1001 フラグメンテーションモジュール、1003 クライアントインターフェースモジュール、1003 ネットワークオーケストレータ、1004 クライアント情報、1005 入力ネットワークステータス、1006 メディアストレージデバイス、1007 メディアアナライザ、1100 配信フォーマット作成プロセス、1101 メディア適応モジュール、1102 クライアント適応メディアストレージデバイス、1103 メディアパッケージングモジュール、1104 配信フォーマット、1200 パケット化器プロセスシステム、1201 クライアント、1201 メディア、1202 パケット化器、1203 パケット、1204 クライアントエンドポイント、1301 クライアント、1302 ネットワークオーケストレータ、1303 インジェストメディアサーバ、1304 適応インターフェース、1305 メディア適応モジュール、1306 パッケージングモジュール、1307 メディアサーバ、1308 メディア要求、1308 要求、1309 プロファイル要求、1310 応答、1311 セッションIDトークン、1312 要求、1312 インジェストメディア要求、1313 応答、1314 呼び出し、1315 ニューラルネットワークモデルトークン、1316 呼び出し、1316 要求、1317 応答、1318 要求、1320 インターフェース呼び出し、1321 応答メッセージ、1321 応答、1322 応答、1323 要求、1324 メッセージ、1400 メディアシステム、1401 MPEGスマートクライアントプロセス、1401 MPEGスマートクライアント、1402 クライアントメディア再構成プロセス、1402 再構成プロセス、1403 ニューラルネットワークプロセッサ、1404 クライアント適応メディアキャッシュ、1405 ゲームエンジン、1406 順次圧縮デコーダプロセス、1407 クライアントメディアキャッシュ、1408 ネットワークオーケストレータデバイス、1409 クライアント適応メディア、1410 メディアアナライザ、1411 メディアキャッシュ、1412 ユーザインターフェース、1413 触覚コンポーネント、1414 オーディオコンポーネント、1415 視覚化コンポーネント、1416 メディアキャッシュ、1417 コールバック関数、1418 ゲームエンジンクライアントデバイス、1418 クライアントデバイス、1419 メディアキャッシュ、1420 ネットワークインターフェースプロトコル、1421 ニューラルネットワークモデル、1501 シーンマニフェスト、1502 メディアサーバ、1503 クラウド、1504 エンドデバイス、1601 第1のシーンマニフェスト、1602 シーン複雑度アナライザ、1603 シーン優先順位付け部、1604 第2のシーンマニフェスト、1701 シーンマニフェスト、1702 優先順位認識メディアサーバ、1703 クラウド、1704 エンドデバイス、1801 仮想美術館、1803 上階、1804 階段吹き抜け、1805 ロビー、1808 上階展示室、1901 没入ゲーム、1902 人物、1903 スポーン領域、1920 高解像度HDビデオ信号、2001 シーンマニフェスト、2002 優先順位認識メディアサーバ、2003 クラウド、2004 エンドデバイス、2010 現在位置、2011 シーン優先順位付け部、2100 プロセス、2200 プロセス、2301 シーンマニフェスト、2302 アセット、2303 シーン、2401 シーン、2402 メディアサーバ、2403 クラウド、2404 エンドデバイス、2502 アセット優先順位付け部、2602 メディアサーバ、2603 クラウド、2604 エンドデバイス、2701 シーン、2702 エントリ位置、2702 位置、2802 アセット優先順位付け部、2902 メディアサーバ、2903 クラウド、2904 エンドデバイス、3001 シーン、3002 エントリ位置、3003 本棚、3005 会議テーブル、3006 出入り口、3007 光源、3102 アセット優先順位付け部、3202 メディアサーバ、3203 クラウド、3204 エンドデバイス、3301 シーン、3302 エントリ位置、3302 初期の位置、3307 視野、3402 アセット優先順位付け部、3502 メディアサーバ、3503 クラウド、3504 エンドデバイス、3601 シーン、3603 本棚、3604 ワークステーション、3701 シーン、3802 アセット優先順位付け部、3902 メディアサーバ、3903 クラウド、3904 エンドデバイス、4001 アセット、4002 メタデータ属性、4018 エンドデバイス、4055 属性強化層、4102 アセット優先順位付け部、4108 エンドデバイス、4109 セット、4200 プロセス、4300 プロセス、4400 時限メディア表現、4401 シーン、4402 コンポーネント、4403 アセット、4404 ベース層、4405 属性強化層、4407 アセット、4500 非時限メディア表現、4501 シーンの情報、4502 コンポーネント、4503 アセット、4504 ベース層、4505 属性強化層、4506 属性強化層、4507 シーン情報、4508 リスト、4600 プロセスフロー、4700 プロセス、4800 没入型配信モジュール、4800 没入型メディア配信モジュール、4803 ストレージデバイス、4804 リモートストレージデバイス、4804 デバイス、4805 ネットワークオーケストレータ、4806 メディア、4806 記述情報、4807 チャネル、4807 ステータスフィードバックチャネル、4808 クライアントデバイス、4808 クライアント、4808 没入型クライアントデバイス、4809 配信ストレージデバイス、4809 デバイス、4809 ストレージデバイス、4810 フラグメンテーションプロセス、4810 プロセス、4811 メディアアナライザ、4812 クライアント追跡プロセス、4900 メディア適応プロセス、4901 適応プロセス、4901 メディア適応プロセス、4903 ネットワークオーケストレータ、4905 入力ネットワークステータス、4906 クライアント適応メディアストレージデバイス、4907 シーンアナライザ、4912 データベース、5000 プロセス、6608 合成メディア、14051 ゲームエンジン制御論理、14051 制御論理、14052 GPUインターフェース、14053 物理エンジン、14054 レンダラ、14054 レンダラープロセス、14055 圧縮デコーダ、14056 デバイス固有プラグイン、300A 時限シーンマニフェスト、605A センサ、811B ストレージデバイス、811C ビジュアルプレゼンテーションユニット、812C ストレージデバイス、812D ホログラフィック視覚化ユニット、814B ストレージデバイス、814C バッテリ、814D 立体ビジュアルプレゼンテーションコンポーネント、815C ストレージデバイス、815D 視線追跡デバイス、815E カメラ、815F 光照射野パネル、908A ゲームエンジン、908B ネットワークインターフェース、908D ストレージキャッシュ、908D ストレージ、908E スマートクライアント、908F コールバック関数、1001A ニューラルネットワークモデル、1001B レンダラ、1001C ニューラルネットワークプロセッサ、1001D メディア圧縮器、1001E メディア解凍器、1001F 論理コントローラ、11
04A マニフェスト情報、1104B リスト、4400A 時限シーンマニフェスト、4808A 視覚化コンポーネント、4808B ネットワークインターフェース、4808D ストレージキャッシュ、4901B レンダラ、4901C ニューラルネットワークプロセッサ、4901D メディア圧縮器、4901E メディア伸張器、4901F 論理コントローラ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39
図40
図41
図42
図43
図44
図45
図46
図47
図48
図49
図50
【手続補正書】
【提出日】2024-04-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
没入型メディア処理の方法であって、
ネットワークデバイスにより、光照射野ベースのディスプレイで再生するためのシーンベースの没入型メディアを受信するステップであって、前記シーンベースの没入型メディアは没入型メディアの複数のシーンを含む、ステップと、
前記シーンベースの没入型メディアの前記複数のシーンにそれぞれ優先度の値を割り当てるステップと、
前記優先度の値に従って前記複数のシーンをエンドデバイスにストリーミングするための順序を決定するステップと
を含む、方法。
【請求項2】
前記順序を決定する前記ステップは、
前記優先度の値に従って前記複数のシーンを再度順位付けするステップと、
前記再度順位付けされた複数のシーンを前記エンドデバイスに送信するステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記順序を決定する前記ステップは、
優先度認識ネットワークデバイスにより、前記複数のシーンの中の未送信であるシーンのサブセットから、最も高い優先度の値を有する最も高い優先度のシーンを選択するステップと、
前記最も高い優先度のシーンを前記エンドデバイスに送信するステップと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記優先度の値を割り当てる前記ステップは、
前記シーンをレンダリングする必要性の尤度に基づいてシーンに対する優先度の値を決定するステップ
をさらに含む、請求項1に記載の方法。
【請求項5】
利用可能なネットワーク帯域幅が制限されていると判定するステップと、
前記複数のシーンの中の未送信であるシーンのサブセットから、最も高い優先度の値を有する最も高い優先度のシーンを選択するステップと、
前記利用可能なネットワーク帯域幅が制限されていることに応じて、前記最も高い優先度のシーンを送信するステップと
をさらに含む、請求項1に記載の方法。
【請求項6】
利用可能なネットワーク帯域幅が制限されていると判定するステップと、
前記優先度の値に基づいて、次にレンダリングするために必要とされる可能性が低い前記複数のシーンのサブセットを特定するステップと、
前記利用可能なネットワーク帯域幅が制限されることに応じて、前記複数のシーンの前記サブセットをストリーミングから控えるステップと
をさらに含む、請求項1に記載の方法。
【請求項7】
前記優先度の値を割り当てる前記ステップは、
第1のシーンと第2のシーンとの間の関係に応じて、前記第2のシーンの第2の優先度の値に基づいて前記第1のシーンに第1の優先度の値を割り当てるステップ
をさらに含む、請求項1に記載の方法。
【請求項8】
前記エンドデバイスからフィードバック信号を受信するステップと、
前記フィードバック信号に基づいて、前記複数のシーンのうちの少なくとも1つのシーンの優先度の値を調整するステップと
をさらに含む、請求項1に記載の方法。
【請求項9】
現在のシーンが第1のシーンに関連している第2のシーンであることを示す前記フィードバック信号に応じて、前記第1のシーンに最高の優先度を割り当てるステップ
をさらに含む、請求項8に記載の方法。
【請求項10】
前記フィードバック信号が、前記エンドデバイスによって決定される優先度の調整を示す、請求項8に記載の方法。
【請求項11】
没入型メディア処理の方法であって、
光照射野ベースのディスプレイを有するエンドデバイスにより、前記光照射野ベースのディスプレイによる再生のためのシーンベースの没入型メディアのメディアプレゼンテーション記述(MPD)を受信するステップであって、前記シーンベースの没入型メディアは没入型メディアの複数のシーンを含み、前記MPDは前記複数のシーンを前記エンドデバイスに順番にストリーミングすることを示す、ステップと、
帯域幅利用可能性を検出するステップと、
前記帯域幅利用可能性に基づいて少なくとも1つのシーンの順序の変更を決定するステップと、
前記少なくとも1つのシーンの前記順序の変更を示すフィードバック信号を送信するステップと
を含む、方法。
【請求項12】
前記フィードバック信号は、レンダリングする次のシーンを示す、請求項11に記載の方法。
【請求項13】
前記フィードバック信号は、前記少なくとも1つのシーンの優先度の値の調整を示す、請求項11に記載の方法。
【請求項14】
前記フィードバック信号が現在のシーンを示す、請求項11に記載の方法。
【請求項15】
没入型メディア処理の方法であって、
ネットワークデバイスにより、光照射野ベースのディスプレイで再生するためのシーンベースの没入型メディアを受信するステップであって、前記シーンベースの没入型メディアのシーンは、第1の順序の複数のアセットを含む、ステップと、
前記複数のアセットをエンドデバイスにストリーミングするための第2の順序を決定するステップであって、前記第2の順序は前記第1の順序とは異なる、ステップと
を含む、方法。
【請求項16】
前記複数のアセットの1つまたは複数の属性に従って前記シーンの前記複数のアセットにそれぞれ優先度の値を割り当てるステップと、
前記優先度の値に従って前記複数のアセットをストリーミングするための前記第2の順序を決定するステップと
を含む、請求項15に記載の方法。
【請求項17】
前記アセットのサイズに従って前記シーンのアセットに優先度の値を割り当てるステップ
を含む、請求項16に記載の方法。
【請求項18】
前記シーンのデフォルトのエントリ位置に関連付けられた前記アセットの可視性に従って前記シーンのアセットに優先度の値を割り当てるステップ
を含む、請求項16に記載の方法。
【請求項19】
前記複数のアセットの第1の属性に基づいて前記複数のアセットに第1の優先度の値のセットを割り当てるステップであって、前記第1の優先度の値のセットは、第1の優先順位付け方式で前記複数のアセットを順序付けるために使用される、ステップと、
前記複数のアセットの第2の属性に基づいて前記複数のアセットに第2の優先度の値のセットを割り当てるステップであって、前記第2の優先度の値のセットは、第2の優先順位付け方式で前記複数のアセットを順序付けるために使用される、ステップと、
前記エンドデバイスの情報に従って前記第1の優先順位付け方式および前記第2の優先順位付け方式から前記エンドデバイスの優先順位付け方式を選択するステップと、
前記選択された優先順位付け方式に従ってストリーミングのために前記複数のアセットを順序付けるステップと
を含む、請求項16に記載の方法。
【請求項20】
第1のアセットが第2のアセットよりも計算の複雑度が高いことに応じて、前記第1のアセットに第1の優先度の値を割り当て、前記第2のアセットに第2の優先度の値を割り当てるステップであって、前記第1の優先度の値は前記第2の優先度の値よりも高い、ステップ
を含む、請求項16に記載の方法。
【請求項21】
請求項1から10のいずれか一項に記載の方法、請求項11から14、または請求項15から20のいずれか一項に記載の方法を実行する装置。
【請求項22】
プロセッサによって実行されると、前記プロセッサに、請求項1から10のいずれか一項に記載の方法、請求項11から14、または請求項15から20のいずれか一項に記載の方法を実行させる命令を含む、コンピュータプログラム。
【国際調査報告】