(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-21
(54)【発明の名称】5Gネットワーク上でのエクステンデッドリアリティデータのスプリットレンダリング
(51)【国際特許分類】
H04N 21/44 20110101AFI20240514BHJP
H04N 21/431 20110101ALI20240514BHJP
H04L 67/131 20220101ALI20240514BHJP
【FI】
H04N21/44
H04N21/431
H04L67/131
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023568709
(86)(22)【出願日】2022-05-12
(85)【翻訳文提出日】2023-11-08
(86)【国際出願番号】 US2022028995
(87)【国際公開番号】W WO2022241119
(87)【国際公開日】2022-11-17
(32)【優先日】2021-05-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-05-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】507364838
【氏名又は名称】クアルコム,インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100163522
【氏名又は名称】黒田 晋平
(72)【発明者】
【氏名】イメド・ボウアジジ
(72)【発明者】
【氏名】トーマス・ストックハンマー
(72)【発明者】
【氏名】ニコライ・コンラード・レオン
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164MB43S
5C164UA42S
5C164UB04P
5C164UB10S
5C164UB88P
(57)【要約】
XRデータを処理するためのデバイスは、XRシーンのための仮想オブジェクトに関する情報を抽出するためにXRシーンのエントリポイントデータをパースすることであって、当該仮想オブジェクトが、1つ以上の動的仮想オブジェクトを含み、動的仮想オブジェクトの各々が、メディアデータが取り出される動的メディアコンポーネントを含むことと、エントリポイントデータを使用して、動的仮想オブジェクトの数以上の数のストリーミングセッションを初期化することと、ストリーミングセッションに関するQoSおよび課金情報を構成することと、ストリーミングセッションを介して、動的仮想オブジェクトに関するメディアデータを取り出すことと、当該メディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために当該メディアデータをレンダリングユニットに送ることとを行うように構成されたプロセッサを含む。
【特許請求の範囲】
【請求項1】
エクステンデッドリアリティ(XR)データを処理する方法であって、
XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するために前記XRシーンのエントリポイントデータをパースするステップであって、前記1つまたは複数の必要とされる仮想オブジェクトが、1つ以上の数の動的仮想オブジェクトを含み、前記動的仮想オブジェクトの各々が、メディアデータが取り出される少なくとも1つの動的メディアコンポーネントを含む、パースするステップと、
前記エントリポイントデータを使用して、動的仮想オブジェクトの前記数以上の数のストリーミングセッションを初期化するステップであって、前記ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従って前記ストリーミングセッションを初期化するステップを含む、初期化するステップと、
それぞれの前記数のストリーミングセッションのうちの1つを介して、前記動的仮想オブジェクトの前記動的メディアコンポーネントの各々に関するメディアデータを取り出すステップと、
前記取り出されたメディアデータを前記XRシーン内の対応するロケーションにおいて含めるように前記XRシーンをレンダリングするために、前記取り出されたメディアデータをレンダリングユニットに送るステップと
を含む、方法。
【請求項2】
前記ストリーミングセッションに関する前記QoSおよび課金情報を構成するステップが、前記動的仮想オブジェクトの各々に関して、
前記動的仮想オブジェクトのタイプを決定するステップと、
前記動的仮想オブジェクトの前記タイプに従って、前記QoSおよび課金情報を決定するステップと
を含む、請求項1に記載の方法。
【請求項3】
前記動的仮想オブジェクトのうちの少なくとも1つに関して、
前記動的仮想オブジェクトのうちの前記少なくとも1つに関する前記タイプに関連する前記ストリーミングセッションに関する前記メディアデータが2次元(2D)メディアデータであるかまたは3次元(3D)メディアデータであるかを決定するステップと、
前記動的仮想オブジェクトのうちの前記少なくとも1つに関する前記タイプに関連する前記ストリーミングセッションに関する前記メディアデータが前記2Dメディアデータであるかまたは前記3Dメディアデータであるかに従って、前記QoSおよび課金情報を決定するステップと
をさらに含む、請求項2に記載の方法。
【請求項4】
前記ストリーミングセッションに関する前記QoSおよび課金情報を構成するステップが、前記動的仮想オブジェクトの各々に関して、
前記動的仮想オブジェクトのための前記ストリーミングセッションに関連するメディアデータのために必要とされる帯域幅量を決定するステップと、
必要とされる前記帯域幅量に従って、前記動的仮想オブジェクトのための前記ストリーミングセッションに関する前記QoSおよび課金情報を構成するステップと
を含む、請求項1に記載の方法。
【請求項5】
前記ストリーミングセッションに関する前記QoSおよび課金情報を構成するステップが、前記動的仮想オブジェクトの各々に関して、
前記動的仮想オブジェクトのための前記ストリーミングセッションのために正確なユーザ測位情報が必要とされると決定するステップと、
前記正確なユーザ測位情報が必要とされるとの前記決定に従って、前記動的仮想オブジェクトのための前記ストリーミングセッションに関する前記QoSおよび課金情報を構成するステップと
を含む、請求項1に記載の方法。
【請求項6】
前記ストリーミングセッションに関する前記QoSおよび課金情報を構成するステップが、
前記レンダリングユニットが前記メディアデータのスプリットレンダリングを実施するように構成されているかどうかを決定するステップと、
前記レンダリングユニットがスプリットレンダリングを実施するように構成されていないとき、前記ストリーミングセッションに関する第1の最小ビットレートを決定するステップと、
前記レンダリングユニットがスプリットレンダリングを実施するように構成されているとき、前記ストリーミングセッションに関する第2の最小ビットレートを決定するステップであって、前記第2のビットレートが前記第1のビットレートよりも高い、決定するステップと
を含む、請求項1に記載の方法。
【請求項7】
XRセッションを作成するステップと
前記XRセッションのために前記XRシーンを現実世界空間に固定するステップと
をさらに含む、請求項1に記載の方法。
【請求項8】
前記必要とされる仮想オブジェクトが、1つまたは複数の静的仮想オブジェクトをさらに含み、前記方法が、前記1つまたは複数の静的仮想オブジェクトの各々に関するメディアデータを取り出すステップをさらに含み、前記XRシーンをレンダリングするステップが、前記1つまたは複数の静的仮想オブジェクトに関して前記取り出されたメディアデータを前記XRシーン内の対応するロケーションにおいて含めるように前記XRシーンをレンダリングするステップをさらに含む、請求項1に記載の方法。
【請求項9】
前記数の動的仮想オブジェクトの各々に関する前記メディアデータを取り出すステップが、
前記数の動的仮想オブジェクトの各々に関するマニフェストファイルを取り出すステップと、
それぞれの前記マニフェストファイルを使用して、前記数の動的仮想オブジェクトの各々のためのメディアセグメントを取り出すステップと
を含む、請求項1に記載の方法。
【請求項10】
前記マニフェストファイルがメディアプレゼンテーション記述(MPD)を含む、請求項9に記載の方法。
【請求項11】
前記数の動的仮想オブジェクトの各々に対する没入型ビデオデコーダを構成するステップをさらに含む、請求項1に記載の方法。
【請求項12】
利用可能なXRセッションのリストを取り出すステップであって、前記利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すステップと、
前記利用可能なXRセッションのうちの1つの選択を受信するステップと、
前記利用可能なXRセッションのうちの前記選択された1つに関するシーン記述を取り出すステップであって、前記シーン記述が、前記利用可能なXRセッションのうちの前記選択された1つに関連する前記エントリポイントデータを含む、取り出すステップと
をさらに含む、請求項1に記載の方法。
【請求項13】
利用可能なXRセッションのリストを取り出すステップであって、前記利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すステップと、
前記利用可能なXRセッションのうちの1つの選択を受信するステップと、
前記利用可能なXRセッションのうちの前記1つに関連する前記エントリポイントデータを要求するステップと、
前記要求されたエントリポイントデータと、前記利用可能なXRセッションのうちの前記選択された1つに関するシーンの最適処理のための要件を表すデータとを受信するステップと、
前記要件がエッジサポートを含むとの決定に応答して、前記利用可能なXRセッションのうちの前記選択された1つのためのエッジアプリケーションサーバ(AS)を表すデータを要求するステップと、
前記利用可能なXRセッションのうちの前記選択された1つに関する初期化情報を前記エッジASに送るステップと、
前記利用可能なXRセッションのうちの前記選択された1つに関するカスタマイズされたエントリポイントデータを前記エッジASから受信するステップと
をさらに含む、請求項1に記載の方法。
【請求項14】
前記エントリポイントデータが、前記XRシーンのための前記1つまたは複数の必要とされる仮想オブジェクトに関する前記情報を含むシーン記述を含む、請求項1に記載の方法。
【請求項15】
前記動的仮想オブジェクトが、動的メッシュ、アニメーションメッシュ、またはポイントクラウドのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項16】
前記数の動的仮想オブジェクトのうちの少なくとも1つに関するオーディオデータを取り出すステップと、前記取り出されたオーディオデータを提示するステップとをさらに含む、請求項1に記載の方法。
【請求項17】
エクステンデッドリアリティ(XR)データを処理するためのデバイスであって、
前記XRデータおよびメディアデータを記憶するように構成されたメモリと、
回路において実装される1つまたは複数のプロセッサと
を含み、前記1つまたは複数のプロセッサが、
XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するために前記XRシーンのエントリポイントデータをパースすることであって、前記1つまたは複数の必要とされる仮想オブジェクトが、1つ以上の数の動的仮想オブジェクトを含み、前記動的仮想オブジェクトの各々が、メディアデータが取り出される少なくとも1つの動的メディアコンポーネントを含む、パースすることと、
前記エントリポイントデータを使用して、動的仮想オブジェクトの前記数以上の数のストリーミングセッションを初期化することであって、前記ストリーミングセッションを初期化するために、前記1つまたは複数のプロセッサが、前記ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従って前記ストリーミングセッションを初期化するように構成される、初期化することと、
それぞれの前記数のストリーミングセッションのうちの1つを介して、前記動的仮想オブジェクトの前記動的メディアコンポーネントの各々に関するメディアデータを取り出すことと、
前記取り出されたメディアデータを前記XRシーン内の対応するロケーションにおいて含めるように前記XRシーンをレンダリングするために、前記取り出されたメディアデータをレンダリングユニットに送ることと
を行うように構成される、デバイス。
【請求項18】
前記ストリーミングセッションに関する前記QoSおよび課金情報を構成するために、前記1つまたは複数のプロセッサが、前記動的仮想オブジェクトの各々に関して、
前記動的仮想オブジェクトのタイプを決定することと、
前記動的仮想オブジェクトの前記タイプに従って、前記QoSおよび課金情報を決定することと
を行うように構成される、請求項17に記載のデバイス。
【請求項19】
前記1つまたは複数のプロセッサが、
XRセッションを作成することと、
前記XRセッションのために前記XRシーンを現実世界空間に固定することと
を行うようにさらに構成される、請求項17に記載のデバイス。
【請求項20】
前記必要とされる仮想オブジェクトが、1つまたは複数の静的仮想オブジェクトをさらに含み、前記1つまたは複数のプロセッサが、前記1つまたは複数の静的仮想オブジェクトの各々に関するメディアデータを取り出すようにさらに構成され、前記XRシーンをレンダリングするために、前記1つまたは複数のプロセッサが、前記1つまたは複数の静的仮想オブジェクトに関して前記取り出されたメディアデータを前記XRシーン内の対応するロケーションにおいて含めるように前記XRシーンをレンダリングするようにさらに構成される、請求項17に記載のデバイス。
【請求項21】
前記数の動的仮想オブジェクトの各々に関する前記メディアデータを取り出すために、前記1つまたは複数のプロセッサが、
前記数の動的仮想オブジェクトの各々に関するマニフェストファイルを取り出すことと、
それぞれの前記マニフェストファイルを使用して、前記数の動的仮想オブジェクトの各々のためのメディアセグメントを取り出すことと
を行うように構成される、請求項17に記載のデバイス。
【請求項22】
前記1つまたは複数のプロセッサが、
利用可能なXRセッションのリストを取り出すことであって、前記利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すことと、
前記利用可能なXRセッションのうちの1つの選択を受信することと、
前記利用可能なXRセッションのうちの前記選択された1つに関するシーン記述を取り出すことであって、前記シーン記述が、前記利用可能なXRセッションのうちの前記選択された1つに関連する前記エントリポイントデータを含む、取り出すことと
を行うようにさらに構成される、請求項17に記載のデバイス。
【請求項23】
前記1つまたは複数のプロセッサが、
利用可能なXRセッションのリストを取り出すことであって、前記利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すことと、
前記利用可能なXRセッションのうちの1つの選択を受信すること、
前記利用可能なXRセッションのうちの前記1つに関連する前記エントリポイントデータを要求すること、
前記要求されたエントリポイントデータと、前記利用可能なXRセッションのうちの前記選択された1つに関するシーンの最適処理のための要件を表すデータとを受信することと、
前記要件がエッジサポートを含むとの決定に応答して、前記利用可能なXRセッションのうちの前記選択された1つのためのエッジアプリケーションサーバ(AS)を表すデータを要求することと、
前記利用可能なXRセッションのうちの前記選択された1つに関する初期化情報を前記エッジASに送ることと、
前記利用可能なXRセッションのうちの前記選択された1つに関するカスタマイズされたエントリポイントデータを前記エッジASから受信することと
を行うようにさらに構成される、請求項17に記載のデバイス。
【請求項24】
前記エントリポイントデータが、前記XRシーンのための前記1つまたは複数の必要とされる仮想オブジェクトに関する前記情報を含むシーン記述を含む、請求項17に記載のデバイス。
【請求項25】
前記動的仮想オブジェクトが、動的メッシュ、アニメーションメッシュ、またはポイントクラウドのうちの少なくとも1つを含む、請求項17に記載のデバイス。
【請求項26】
XRデータを表示するように構成されたディスプレイをさらに含む、請求項17に記載のデバイス。
【請求項27】
前記デバイスが、カメラ、コンピュータ、モバイルデバイス、ブロードキャスト受信機デバイス、またはセットトップボックスのうちの1つまたは複数を含む、請求項17に記載のデバイス。
【請求項28】
その上に命令を記憶したコンピュータ可読記憶媒体であって、前記命令が、実行されると、プロセッサに、
XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するために前記XRシーンのエントリポイントデータをパースすることであって、前記1つまたは複数の必要とされる仮想オブジェクトが、1つ以上の数の動的仮想オブジェクトを含み、前記動的仮想オブジェクトの各々が、メディアデータが取り出される少なくとも1つの動的メディアコンポーネントを含む、パースすることと、
前記エントリポイントデータを使用して、動的仮想オブジェクトの前記数以上の数のストリーミングセッションを初期化することであって、前記プロセッサに前記数のストリーミングセッションを初期化させる前記命令が、前記プロセッサに、前記ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従って前記ストリーミングセッションを初期化させる命令を含む、初期化することと、
それぞれの前記数のストリーミングセッションのうちの1つを介して、前記動的仮想オブジェクトの前記動的メディアコンポーネントの各々に関するメディアデータを取り出すことと、
前記取り出されたメディアデータを前記XRシーン内の対応するロケーションにおいて含めるように前記XRシーンをレンダリングするために、前記取り出されたメディアデータをレンダリングユニットに送ることと
を行わせる、コンピュータ可読記憶媒体。
【請求項29】
エクステンデッドリアリティ(XR)データを処理するためのデバイスであって、
XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するために前記XRシーンのエントリポイントデータをパースするための手段であって、前記1つまたは複数の必要とされる仮想オブジェクトが、1つ以上の数の動的仮想オブジェクトを含み、前記動的仮想オブジェクトの各々が、メディアデータが取り出される少なくとも1つの動的メディアコンポーネントを含む、パースするための手段と、
動的仮想オブジェクトの前記数以上の数のストリーミングセッションを初期化するための手段であって、前記ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従って前記ストリーミングセッションを初期化するための手段を含む、初期化するための手段と、
それぞれの前記数のストリーミングセッションのうちの1つを介して、前記数の動的仮想オブジェクトの各々に関するメディアデータを取り出すための手段と、
前記取り出されたメディアデータを前記XRシーン内の対応するロケーションにおいて含めるように前記XRシーンをレンダリングするために、前記取り出されたメディアデータをレンダリングユニットに送るための手段と
を含む、デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2022年05月11日に出願した米国特許出願第17/742,168号、および2021年05月12日に出願した米国仮出願第63/187,840号の優先権を主張し、これらの出願の内容全体は、参照により本明細書に組み込まれる。2022年05月11日に出願した米国特許出願第17/742,168号は、2021年05月12日に出願した米国仮出願第63/187,840号の利益を主張する。
【0002】
本開示は、メディアデータの記憶および転送に関する。
【背景技術】
【0003】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA:personal digital assistants)、ラップトップコンピュータまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ会議デバイスなどを含む、幅広いデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送受信するために、MPEG-2、MPEG-4、ITU-T H.263またはITU-T H.264/MPEG-4, Part10、アドバンストビデオコーディング(Advanced Video Coding:AVC)、ITU-T H.265(高効率ビデオコーディング(HEVC:High Efficiency Video Coding)とも呼ばれる)によって定められた規格、および、そのような規格の拡張に記載されているものなどのビデオ圧縮技法を実装する。
【0004】
ビデオデータおよび他のメディアデータが符号化された後、メディアデータは送信または記憶のためにパケット化され得る。メディアデータは、国際標準化機関(ISO:International Organization for Standardization)ベースメディアファイルフォーマットおよびその拡張などの、様々な規格のいずれかに準拠するビデオファイルへとアセンブルされ得る。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】R. Fielding他による、RFC 2616、「Hypertext Transfer Protocol-HTTP/1.1」、Network Working Group、IETF、1999年6月
【発明の概要】
【課題を解決するための手段】
【0006】
概して、本開示は、たとえば、スプリットレンダリングを使用して、エクステンデッドリアリティ(XR:extended reality)データを処理することに関する技法について説明する。具体的には、本開示の技法は、いくつかの動的仮想オブジェクトを含むメディアデータを処理することに関する。クライアントデバイスは、動的仮想オブジェクトの各々に対してそれぞれのストリーミングセッションを初期化するように構成され得る。すなわち、ストリーミングセッションと動的仮想オブジェクトとの間に1対1の対応が存在し得る。このように、動的ストリーミングセッションの各々に関するメディアデータは、ストリーミングセッションの各々を介してストリーミングされ得る。ストリーミングセッションの各々は、たとえば、対応する動的仮想オブジェクトのタイプに従って構成された個々のサービス品質(QoS:quality of service)および課金情報を有し得る。
【0007】
一例では、エクステンデッドリアリティ(XR)データを処理する方法は、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにXRシーンのエントリポイントデータをパースするステップであって、1つまたは複数の必要とされる仮想オブジェクトが、1つ以上の数の動的仮想オブジェクトを含み、動的仮想オブジェクトの各々が、メディアデータが取り出される少なくとも1つの動的メディアコンポーネントを含む、パースするステップと、エントリポイントデータを使用して、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化するステップであって、ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従ってストリーミングセッションを初期化するステップを含む、初期化するステップと、それぞれの数のストリーミングセッションのうちの1つを介して、動的仮想オブジェクトの動的メディアコンポーネントの各々に関するメディアデータを取り出すステップと、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送るステップとを含む。
【0008】
別の例では、エクステンデッドリアリティ(XR)データを処理するためのデバイスは、XRデータおよびメディアデータを記憶するように構成されたメモリと、回路において実装される1つまたは複数のプロセッサとを含み、1つまたは複数のプロセッサは、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにXRシーンのエントリポイントデータをパースすることであって、1つまたは複数の必要とされる仮想オブジェクトが、1つ以上の数の動的仮想オブジェクトを含み、動的仮想オブジェクトの各々が、メディアデータが取り出される少なくとも1つの動的メディアコンポーネントを含む、パースすることと、エントリポイントデータを使用して、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化することであって、ストリーミングセッションを初期化するために、1つまたは複数のプロセッサが、ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従ってストリーミングセッションを初期化するように構成される、初期化することと、それぞれの数のストリーミングセッションのうちの1つを介して、動的仮想オブジェクトの動的メディアコンポーネントの各々に関するメディアデータを取り出すことと、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送ることとを行うように構成される。
【0009】
別の例では、コンピュータ可読記憶媒体はその上に命令を記憶し、命令は、実行されると、プロセッサに、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにXRシーンのエントリポイントデータをパースすることであって、1つまたは複数の必要とされる仮想オブジェクトが、1つ以上の数の動的仮想オブジェクトを含み、動的仮想オブジェクトの各々が、メディアデータが取り出される少なくとも1つの動的メディアコンポーネントを含む、パースすることと、エントリポイントデータを使用して、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化することであって、プロセッサにその数のストリーミングセッションを初期化させる命令が、プロセッサに、ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従ってストリーミングセッションを初期化させる命令を含む、初期化することと、それぞれの数のストリーミングセッションのうちの1つを介して、動的仮想オブジェクトの動的メディアコンポーネントの各々に関するメディアデータを取り出すことと、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送ることとを行わせる。
【0010】
別の例では、エクステンデッドリアリティ(XR)データを処理するためのデバイスは、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにXRシーンのエントリポイントデータをパースするための手段であって、1つまたは複数の必要とされる仮想オブジェクトが、1つ以上の数の動的仮想オブジェクトを含み、動的仮想オブジェクトの各々が、メディアデータが取り出される少なくとも1つの動的メディアコンポーネントを含む、パースするための手段と、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化するための手段であって、ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従ってストリーミングセッションを初期化するための手段を含む、初期化するための手段と、それぞれの数のストリーミングセッションのうちの1つを介して、動的仮想オブジェクトの動的メディアコンポーネントの各々に関するメディアデータを取り出すための手段と、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送るための手段とを含む。
【0011】
1つまたは複数の例の詳細が、添付図面および以下の説明に記載されている。他の特徴、目的、および利点は、説明および図面から、かつ特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0012】
【
図1】ネットワーク上でメディアデータをストリーミングするための技法を実装する例示的なシステムを示すブロック図である。
【
図2】本開示の技法を実施し得る例示的なコンピューティングシステムを示すブロック図である。
【
図3】本開示の技法による、5G STandalone AR(STAR)ユーザ機器として構成された例示的なクライアントデバイスを示すブロック図である。
【
図4】本開示の技法による、5G EDGe依存AR(EDGAR:EDGe-Dependent AR)ユーザ機器として構成された別の例示的なクライアントデバイスを示すブロック図である。
【
図5】本開示の技法による、STARユーザ機器のための例示的な拡張現実セッションを示すコールフロー図である。
【
図6】本開示の技法による、EDGARユーザ機器のための例示的な拡張現実セッションを示すコールフロー図である。
【
図7】本開示の技法による、XRデータを処理する例示的な方法を示すフローチャートである。
【発明を実施するための形態】
【0013】
OpenXRは、広範囲のXRデバイスに対応するエクステンデッドリアリティ(XR)アプリケーションを開発するためのアプリケーションプログラミングインターフェース(API:application programming interface)である。XRは、人間による対話を通じてコンピュータによって生成される現実世界環境と仮想世界環境の混合を指す。XRは、仮想現実(VR:virtual reality)、拡張現実(AR:augmented reality)、および複合現実(MR:mixed reality)などの技術を含む。OpenXRは、アプリケーションとXRランタイムとの間のインターフェースである。XRランタイムは、フレーム構成、ユーザトリガアクション、および情報追跡などの機能を処理する。
【0014】
OpenXRは階層化APIになるように設計され、これは、ユーザまたはアプリケーションがアプリケーションとランタイム実装との間にAPIレイヤを挿入し得ることを意味する。これらのAPIレイヤは、上方のレイヤからのOpenXR関数をインターセプトし、次いで、通常ならばレイヤなしで実施されることになる異なる動作を実行することによって、追加の機能を提供する。最も単純な事例では、このレイヤは、同じ引数を用いて次のレイヤを単に呼び出すが、より複雑なレイヤは、その下のレイヤまたはランタイムの中に存在しないAPI機能を実装し得る。この機構は、本質的に、設計された「関数シミング(function shimming)」、またはOpenXR内に設計され、より略式の「フッキング(hooking)」API呼方法を置換することを意味する「インターセプト」特徴である。
【0015】
アプリケーションは、xrEnumerateApiLayerProperties関数を呼び出して、利用可能なAPIレイヤのリストを取得することによって、それらのアプリケーションに利用可能なAPIレイヤを決定し得る。アプリケーションは、次いで、所望のAPIレイヤをこのリストから選択し、インスタンスを作成するとき、それらをxrCreateInstance関数に提供し得る。
【0016】
APIレイヤは、基礎をなすランタイムによってサポートされることもサポートされないこともあるOpenXR関数を実装し得る。これらの新しい特徴を公開するために、APIレイヤはこの機能をOpenXR拡張の形態で公開しなければならない。APIレイヤは、関連する拡張を伴わずに新しいOpenXR関数を公開してはならない。
【0017】
OpenXRインスタンスは、OpenXRアプリケーションがOpenXRランタイムと通信することを可能にするオブジェクトである。このアプリケーションは、xrCreateInstanceを呼び出し、生じるXrInstanceオブジェクトに対するハンドルを受信することによって、この通信を達成する。
【0018】
XrInstanceオブジェクトは、OpenXR関連アプリケーション状態を、アプリケーションのグローバルアドレス空間内にそのような状態を記憶せずに記憶および追跡する。これは、アプリケーションが複数のインスタンスを作成すること、ならびに、このオブジェクトはアプリケーションにとって不透明であるため、アプリケーションのOpenXR状態を安全にカプセル化することを可能にする。OpenXRランタイムは、作成され使用され得る同時XrInstanceオブジェクトの数を制限し得るが、OpenXRランタイムは、プロセスごとに少なくとも1つのXrInstanceオブジェクトの作成および使用をサポートしなければならない。
【0019】
空間は、アプリケーションが作成し、API呼において使用するXrSpaceハンドルによって表される。座標を返す関数をアプリケーションが呼び出すときはいつでも、アプリケーションは、それらの座標が表現されることになる参照フレームを指定するためにXrSpaceを提供する。同様に、座標を関数に提供するとき、アプリケーションは、それらの座標を解釈するために、ランタイムがどのXrSpaceを使用すべきかを指定する。
【0020】
OpenXrは、それらの空間推論をブートストラップするためにアプリケーションが使用する既知の参照空間のセットを定義する。これらの参照空間は:VIEW、LOCAL、およびSTAGEである。各参照空間は、その起点がどこに位置するか、またその軸がどのように配向されるかを設定する、明確に定義された意味を有する。
【0021】
その追跡システムが経時的にその世界の理解を向上させるランタイムは、空間を単独で追跡し得る。たとえば、LOCAL空間およびSTAGE空間は各々、その起点を世界の静止位置にマッピングするが、インサイドアウト追跡システムを備えたランタイムは、各起点を所定の位置に維持するために連続ベースで各空間の起点に対して若干の調整を導入し得る。
【0022】
既知の参照空間を越えて、ランタイムは、動きコントローラのポーズを経時的に追跡するポーズアクション空間など、他の単独で追跡される空間を公開する。
【0023】
本開示の技法によれば、XRデータは、スプリットレンダリング様式でレンダリングされ得る。すなわち、2つ以上のデバイス、たとえば、クライアントデバイスおよびサーバデバイスが、XRデータのレンダリングに参加し得る。複数のクライアントデバイスおよび/またはサーバデバイスが、XRスプリットレンダリングセッションに参加し得る。概して、サーバは、動的適応ストリーミングオーバーHTTP(DASH:Dynamic Adaptive Streaming over HTTP)、HTTPライブストリーミング(HLS:HTTP Live Streaming)、など、ストリーミングネットワークプロトコルを使用して、メディアデータをクライアントにストリーミングし得る。
【0024】
HTTPストリーミングにおいて、頻繁に使用される動作には、HEAD、GET、および部分GETがある。HEAD動作は、所与のユニフォームリソースロケータ(URL:uniform resource locator)またはユニフォームリソースネーム(URN:uniform resource name)に関連付けられたペイロードを取り出さずに、URLまたはURNに関連付けられたファイルのヘッダを取り出す。GET動作は、所与のURLまたはURNに関連付けられたファイル全体を取り出す。部分GET動作は、入力パラメータとしてバイト範囲を受信し、ファイルの連続数のバイトを取り出し、この場合、バイトの数は受信されるバイト範囲に対応する。したがって、部分GET動作は1つまたは複数の個々のムービーフラグメントを取得できるので、ムービーフラグメントがHTTPストリーミングのために提供されてよい。ムービーフラグメントでは、異なるトラックのいくつかのトラックフラグメントが存在してよい。HTTPストリーミングでは、メディアプレゼンテーションは、クライアントにとってアクセス可能なデータの構造化された集合体であり得る。クライアントは、メディアデータ情報を要求およびダウンロードして、ユーザにストリーミングサービスを提示することができる。
【0025】
HTTPストリーミングを使用して3GPP(登録商標)データをストリーミングする例では、マルチメディアコンテンツのビデオおよび/またはオーディオデータに関して複数の表現が存在し得る。以下で説明するように、異なる表現は、異なるコーディング特性(たとえば、ビデオコーディング規格の異なるプロファイルまたはレベル)、異なるコーディング規格またはコーディング規格の拡張(マルチビューおよび/もしくはスケーラブル拡張など)、あるいは異なるビットレートに対応し得る。そのような表現のマニフェストは、メディアプレゼンテーション記述(MPD:Media Presentation Description)データ構造において定義され得る。メディアプレゼンテーションは、HTTPストリーミングクライアントデバイスにとってアクセス可能なデータの構造化された集合体に対応し得る。HTTPストリーミングクライアントデバイスは、メディアデータ情報を要求およびダウンロードして、クライアントデバイスのユーザにストリーミングサービスを提示することができる。メディアプレゼンテーションは、MPDの更新を含み得るMPDデータ構造で記述され得る。
【0026】
メディアプレゼンテーションは、1つまたは複数の期間のシーケンスを含み得る。各期間は、次の期間の開始まで、または最後の期間の場合にはメディアプレゼンテーションの終了まで及び得る。各期間は、同じメディアコンテンツのための1つまたは複数の表現を含んでもよい。表現は、オーディオ、ビデオ、時限のテキスト、または他のそのようなデータのいくつかの代替符号化バージョンのうちの1つであり得る。表現は、符号化のタイプ、たとえば、ビデオデータのビットレート、解像度、および/またはコーデック、ならびにオーディオデータのビットレート、言語、および/またはコーデックによって異なる場合がある。表現という用語は、マルチメディアコンテンツのある特定の期間に対応し、ある特定のやり方で符号化された、符号化オーディオデータまたは符号化ビデオデータのあるセクションを指すために使用される場合がある。
【0027】
ある特定の期間の表現は、表現が属する適応セットを示すMPD内の属性によって示されるグループに割り当てられてもよい。同じ適応セット内の表現は、概して、クライアントデバイスが、たとえば帯域幅適応を実施するためにこれらの表現の間で動的かつシームレスに切り替わることができる点で、互いに対する代替物と見なされる。たとえば、ある特定の期間のビデオデータの各表現は、同じ適応セットに割り当てられ得るので、表現のうちのいずれもが、対応する期間のマルチメディアコンテンツの、ビデオデータまたはオーディオデータなど、メディアデータを提示するように復号するために選択され得る。いくつかの例では、1つの期間内のメディアコンテンツは、グループ0が存在する場合にはグループ0からの1つの表現、または各々の非ゼロのグループからの最大でも1つの表現の組合せのいずれかによって表されてよい。ある期間の各表現のタイミングデータは、期間の開始時間に対して表されてもよい。
【0028】
表現は1つまたは複数のセグメントを含んでもよい。各表現が初期化セグメントを含んでもよく、または表現の各セグメントが自己初期化するものであってもよい。初期化セグメントは、それが存在する場合、表現にアクセスするための初期化情報を含んでもよい。一般に、初期化セグメントは、メディアデータを含まない。セグメントは、ユニフォームリソースロケータ(URL)、ユニフォームリソースネーム(URN)、またはユニフォームリソース識別子(URI:uniform resource identifier)のような、識別子によって一意に参照されてもよい。MPDは、各セグメントのための識別子を提供し得る。いくつかの例では、MPDは、URL、URN、またはURIによってアクセス可能なファイル内のセグメントのためのデータに対応し得る、range属性の形式で、バイト範囲を提示してもよい。
【0029】
異なるタイプのメディアデータに対して実質的に同時に取出しを行うために異なる表現が選択されてもよい。たとえば、クライアントデバイスは、セグメントを取り出すオーディオ表現、ビデオ表現、および時限のテキスト表現を選択することができる。いくつかの例では、クライアントデバイスは、帯域幅適応を実施するために特定の適応セットを選択することができる。すなわち、クライアントデバイスは、ビデオ表現を含む適応セット、オーディオ表現を含む適応セット、および/または時限のテキストを含む適応セットを選択することができる。代替として、クライアントデバイスは、あるタイプのメディア(たとえば、ビデオ)に関する適応セットを選択し、他のタイプのメディア(たとえば、オーディオおよび/または時限のテキスト)に関する表現を直接選択することができる。
【0030】
図1は、ネットワーク上でメディアデータをストリーミングするための技法を実装する例示的なシステム10を示すブロック図である。この例では、システム10は、コンテンツ準備デバイス20、サーバデバイス60、およびクライアントデバイス40を含む。サーバデバイス60およびクライアントデバイス40は、以下でより詳細に説明するように、エクステンデッドリアリティ(XR)スプリットレンダリングプロセスに参加し得る。クライアントデバイス40およびサーバデバイス60は、インターネットを含み得るネットワーク74によって通信可能に結合される。いくつかの例では、コンテンツ準備デバイス20およびサーバデバイス60も、ネットワーク74または別のネットワークによって結合されてもよく、または直接通信可能に結合されてもよい。いくつかの例では、コンテンツ準備デバイス20およびサーバデバイス60は、同じデバイスを含み得る。
【0031】
図1の例では、コンテンツ準備デバイス20は、オーディオソース22とビデオソース24とを備える。オーディオソース22は、たとえば、オーディオエンコーダ26によって符号化されるべきキャプチャされたオーディオデータを表す電気信号を生成するマイクロフォンを含み得る。あるいは、オーディオソース22は、以前に記録されたオーディオデータを記憶する記憶媒体、コンピュータ化されたシンセサイザのようなオーディオデータ生成器、またはオーディオデータの任意の他のソースを備えてもよい。ビデオソース24は、ビデオエンコーダ28によって符号化されるべきビデオデータを生成するビデオカメラ、以前に記録されたビデオデータで符号化された記憶媒体、コンピュータグラフィックスソースのようなビデオデータ生成ユニット、またはビデオデータの任意の他のソースを備えてもよい。コンテンツ準備デバイス20は必ずしも、すべての例において、サーバデバイス60に通信可能に結合されるとは限らないが、サーバデバイス60によって読み取られる別個の媒体にマルチメディアコンテンツを記憶する場合がある。
【0032】
生のオーディオデータおよびビデオデータは、アナログデータまたはデジタルデータを含んでもよい。アナログデータは、オーディオエンコーダ26および/またはビデオエンコーダ28によって符号化される前にデジタル化されてもよい。オーディオソース22は、話している参加者から、その話している参加者が話している間にオーディオデータを取得する場合があり、ビデオソース24は、話している参加者のビデオデータを同時に取得する場合がある。他の例では、オーディオソース22は、記憶されたオーディオデータを含むコンピュータ可読記憶媒体を備えてもよく、ビデオソース24は、記憶されたビデオデータを含むコンピュータ可読記憶媒体を備えてもよい。このように、本開示で説明する技術は、ライブ、ストリーミング、リアルタイムオーディオデータ、およびリアルタイムビデオデータに適用され得、または、アーカイブされた事前に記録されたオーディオデータ、およびアーカイブされた事前に記録されたビデオデータに適用され得る。
【0033】
ビデオフレームに対応するオーディオフレームは、一般に、ビデオフレーム内に含まれるビデオソース24によってキャプチャ(または、生成)されたビデオデータと同時に、オーディオソース22によってキャプチャ(または、生成)されたオーディオデータを含むオーディオフレームである。たとえば、話している参加者が一般に話すことによってオーディオデータを生成している間、オーディオソース22はオーディオデータをキャプチャし、ビデオソース24は同時に、すなわち、オーディオソース22がオーディオデータをキャプチャしている間に、話している参加者のビデオデータをキャプチャする。したがって、オーディオフレームは、1つまたは複数の特定のビデオフレームに時間的に対応する場合がある。したがって、ビデオフレームに対応するオーディオフレームは、一般に、オーディオデータおよびビデオデータが同時にキャプチャされた状況に対応し、その状況に対して、オーディオフレームおよびビデオフレームがそれぞれ、同時にキャプチャされたオーディオデータおよびビデオデータを含む。
【0034】
いくつかの例では、オーディオエンコーダ26は、符号化された各オーディオフレームにおいて、符号化されたオーディオフレームに関するオーディオデータが記録された時間を表すタイムスタンプを符号化してもよく、同様に、ビデオエンコーダ28は、符号化された各ビデオフレームにおいて、符号化されたビデオフレームに関するビデオデータが記録された時間を表すタイムスタンプを符号化してもよい。そのような例では、ビデオフレームに対応するオーディオフレームは、タイムスタンプを含むオーディオフレームおよび同じタイムスタンプを含むビデオフレームを含んでもよい。コンテンツ準備デバイス20は、オーディオエンコーダ26および/またはビデオエンコーダ28がタイムスタンプを生成する場合がある内部クロック、またはオーディオソース22およびビデオソース24がそれぞれオーディオデータおよびビデオデータをタイムスタンプに関連付けるために使用する場合がある内部クロックを含み得る。
【0035】
いくつかの例では、オーディオソース22は、オーディオデータが記録された時間に対応するデータをオーディオエンコーダ26に送ってもよく、ビデオソース24は、ビデオデータが記録された時間に対応するデータをビデオエンコーダ28に送ってもよい。いくつかの例では、オーディオエンコーダ26は、符号化されたオーディオデータにおいて、符号化されたオーディオデータの相対的な時間順序を示すために、オーディオデータが記録された絶対的な時間を必ずしも示すとは限らないが、シーケンス識別子を符号化してもよく、同様に、ビデオエンコーダ28も、符号化されたビデオデータの相対的な時間順序を示すためにシーケンス識別子を使用してもよい。同様に、いくつかの例では、シーケンス識別子がタイムスタンプとともにマッピングされるか、あるいはタイムスタンプと相関することがある。
【0036】
オーディオエンコーダ26は、一般に、符号化されたオーディオデータのストリームを生成する一方、ビデオエンコーダ28は、符号化されたビデオデータのストリームを生成する。データの個々の各ストリーム(オーディオかビデオかにかかわらず)は、エレメンタリストリームと呼ばれることがある。エレメンタリストリームは、表現の単一のデジタル的にコーディングされた(場合によっては圧縮された)コンポーネントである。たとえば、表現のコーディングされたビデオまたはオーディオの部分は、エレメンタリストリームであり得る。エレメンタリストリームは、ビデオファイル内にカプセル化される前に、パケット化エレメンタリストリーム(PES:packetized elementary stream)に変換され得る。同じ表現内で、ストリームIDが、あるエレメンタリストリームに属するPESパケットを他のエレメンタリストリームに属するPESパケットと区別するために使用され得る。エレメンタリストリームのデータの基本単位は、パケット化エレメンタリストリーム(PES)パケットである。したがって、コーディングされたビデオデータは、一般に、エレメンタリビデオストリームに対応する。同様に、オーディオデータは、1つまたは複数のそれぞれのエレメンタリストリームに対応する。
【0037】
ITU-T H.264/AVCおよび今度の高効率ビデオコーディング(HEVC)規格など、多くのビデオコーディング規格は、エラーのないビットストリームのためのシンタックス、意味論、および復号プロセスを定義し、それらのいずれもが、一定のプロファイルまたはレベルに準拠する。ビデオコーディング規格は、一般的にエンコーダを規定しないが、エンコーダには、生成されたビットストリームがデコーダのための規格に準拠することを保証する役割が課される。ビデオコーディング規格のコンテキストでは、「プロファイル」は、アルゴリズム、特徴、またはツールのサブセット、およびこれらに適用される制約に対応する。H.264規格によって定義されるように、たとえば、「プロファイル」は、H.264規格によって指定される全体のビットストリームシンタックスのサブセットである。「レベル」は、たとえば、デコーダメモリおよび計算のような、デコーダのリソース消費の制限に対応し、これは、ピクチャの解像度、ビットレート、およびブロック処理速度に関連する。プロファイルは、profile_idc(プロファイルインジケータ)値によってシグナリングされ得るが、レベルは、level_idc(レベルインジケータ)値によってシグナリングされ得る。
【0038】
たとえば、所与のプロファイルのシンタックスによって課される範囲内で、復号されるピクチャの指定されたサイズのようなビットストリーム内のシンタックス要素のとる値に応じて、エンコーダおよびデコーダの性能に大きい変動を求めることが依然として可能であることを、H.264規格は認める。多くの用途において、特定のプロファイル内のシンタックスのすべての仮想的な使用を扱うことが可能なデコーダを実装するのは、現実的でも経済的でもないことを、H.264規格はさらに認める。したがって、H.264規格は、ビットストリーム内のシンタックス要素の値に課される制約の指定されたセットとして、「レベル」を定義する。これらの制約は、値に対する単純な制限であってもよい。あるいは、これらの制約は、値の算術的な組合せの制約の形式(たとえば、1秒当たりに復号されるピクチャの数と、ピクチャの高さと、ピクチャの幅との積)をとってもよい。個々の実装形態が、サポートされるプロファイルごとに異なるレベルをサポートしてもよいことを、H.264規格はさらに規定する。
【0039】
プロファイルに準拠するデコーダは、普通、プロファイル内で定義されるすべての特徴をサポートする。たとえば、コーディング特徴として、Bピクチャコーディングは、H.264/AVCのベースラインプロファイルではサポートされないが、H.264/AVCの他のプロファイルではサポートされる。あるレベルに準拠するデコーダは、レベル内で定義された制限を超えるリソースを要求しない、あらゆるビットストリームを復号することが可能であるべきである。プロファイルおよびレベルの定義は、説明可能性のために有用であり得る。たとえば、ビデオ送信中、プロファイルおよびレベルの定義のペアが、送信セッション全体に対して取り決められ合意され得る。より具体的には、H.264/AVCにおいて、レベルは、処理される必要があるマクロブロックの数、復号ピクチャバッファ(DPB:decoded picture buffer)のサイズ、コーディングされたピクチャバッファ(CPB:coded picture buffer:CPB)のサイズ、垂直方向の運動ベクトルの範囲、2つの連続するMB当たりの運動ベクトルの最大の数に対する制限、および、Bブロックが8×8ピクセルよりも小さいサブマクロブロック区分を有し得るかどうかを定義することができる。このように、デコーダは、デコーダが適切にビットストリームを復号できるかどうかを決定することができる。
【0040】
図1の例では、コンテンツ準備デバイス20のカプセル化ユニット30は、ビデオエンコーダ28からのコーディングされたビデオデータを含むエレメンタリストリームと、オーディオエンコーダ26からのコーディングされたオーディオデータを含むエレメンタリストリームとを受信する。いくつかの例では、ビデオエンコーダ28およびオーディオエンコーダ26は各々、符号化データからPESパケットを形成するためのパケタイザを含む場合がある。他の例では、ビデオエンコーダ28およびオーディオエンコーダ26は各々、符号化データからPESパケットを形成するためのそれぞれのパケタイザとインターフェースをとる場合がある。さらに他の例では、カプセル化ユニット30は、符号化オーディオデータおよび符号化ビデオデータからPESパケットを形成するためのパケタイザを含む場合がある。
【0041】
ビデオエンコーダ28は、様々な方法でマルチメディアコンテンツのビデオデータを符号化して、様々なビットレートで、またピクセル解像度、フレームレート、様々なコーディング規格に対する準拠、様々なコーディング規格に関する様々なプロファイルおよび/またはプロファイルのレベルに対する準拠、(たとえば、2次元再生または3次元再生のための)1つまたは複数のビューを有する表現、または他のそのような特性など、様々な特性を備えた、マルチメディアコンテンツの異なる表現を生成し得る。本開示で使用する表現は、オーディオデータ、ビデオデータ、テキストデータ(たとえば、字幕用)、または他のそのようなデータのうちの1つを含み得る。表現は、オーディオエレメンタリストリームまたはビデオエレメンタリストリームなど、エレメンタリストリームを含み得る。各PESパケットは、PESパケットが属するエレメンタリストリームを識別するstream_idを含み得る。カプセル化ユニット30は、エレメンタリストリームを様々な表現のビデオファイル(たとえば、セグメント)にアセンブルする役目を果たす。
【0042】
カプセル化ユニット30は、表現のエレメンタリストリームのためのPESパケットをオーディオエンコーダ26およびビデオエンコーダ28から受信し、PESパケットから対応するネットワークアブストラクションレイヤ(NAL:network abstraction layer)ユニットを形成する。コーディングされたビデオセグメントはNALユニットに編成されてよく、NALユニットは、ビデオテレフォニー、記憶、ブロードキャスト、またはストリーミングなど、「ネットワークフレンドリな」ビデオ表現アドレッシングアプリケーションを提供する。NALユニットは、ビデオコーディングレイヤ(VCL:Video Coding Layer)NALユニットおよび非VCL NALユニットに分類され得る。VCLユニットは、コア圧縮エンジンを含み得、ブロック、マクロブロック、および/またはスライスレベルのデータを含み得る。他のNALユニットは、非VCL NALユニットであってもよい。いくつかの例では、1つの時間インスタンスにおけるコーディングされたピクチャは、通常は一次コーディングされたピクチャ(primary coded picture)として提示され、1つまたは複数のNALユニットを含み得るアクセスユニット内に含まれ得る。
【0043】
非VCL NALユニットは、特に、パラメータセットのNALユニットおよびSEI NALユニットを含み得る。パラメータセットは、(シーケンスパラメータセット(SPS:sequence parameter sets)内に)シーケンスレベルヘッダ情報を含み、(ピクチャパラメータセット(PPS:picture parameter sets)内に)頻繁には変化しないピクチャレベルヘッダ情報を含み得る。パラメータセット(たとえば、PPSおよびSPS)があれば、この頻繁には変化しない情報は、各シーケンスまたはピクチャに対して繰り返される必要がなく、したがって、コーディング効率が向上し得る。さらに、パラメータセットの使用が、重要なヘッダ情報の帯域外送信を有効化することができ、エラーの復元のための冗長な送信の必要がなくなる。帯域外送信の例では、パラメータセットのNALユニットが、SEI NALユニットなどの他のNALユニットとは異なるチャネル上で送信され得る。
【0044】
補足強調情報(SEI:Supplemental Enhancement Information)は、VCL NALユニットからコーディングされたピクチャサンプルを復号するために必要ではない情報を含み得るが、復号、表示、エラーの復元、および他の目的に関係するプロセスを支援し得る。SEIメッセージは、非VCL NALユニット内に含まれ得る。SEIメッセージは、いくつかの標準仕様の規範的部分であり、したがって、規格に準拠するデコーダの実装において常に必須であるとは限らない。SEIメッセージは、シーケンスレベルSEIメッセージまたはピクチャレベルSEIメッセージであり得る。いくつかのシーケンスレベル情報は、SVCの例におけるスケーラビリティ情報SEIメッセージおよびMVCにおけるビュースケーラビリティ情報SEIメッセージなどのSEIメッセージ内に含まれ得る。これらの例示的なSEIメッセージは、たとえば、動作点の抽出および動作点の特性に関する情報を伝達することができる。加えて、カプセル化ユニット30は、表現の特性を記述するメディアプレゼンテーション記述(MPD)などのマニフェストファイルを形成することができる。カプセル化ユニット30は、拡張可能マークアップ言語(XML:extensible markup language)に従ってMPDをフォーマットすることができる。
【0045】
カプセル化ユニット30は、マニフェストファイル(たとえば、MPD)とともに、マルチメディアコンテンツの1つまたは複数の表現のためのデータを出力インターフェース32に提供し得る。出力インターフェース32は、ネットワークインターフェースもしくはユニバーサルシリアルバス(USB:universal serial bus)インターフェース、CDもしくはDVDのライターもしくはバーナー、磁気記憶媒体もしくはフラッシュ記憶媒体へのインターフェースのような記憶媒体へ書き込むためのインターフェース、または、メディアデータを記憶もしくは送信するための他のインターフェースを含み得る。カプセル化ユニット30は、マルチメディアコンテンツの表現のそれぞれの表現のデータを出力インターフェース32に提供することができ、出力インターフェース32は、ネットワーク送信または記憶媒体を介してデータをサーバデバイス60に送ることができる。
図1の例では、サーバデバイス60は、各々がそれぞれのマニフェストファイル66と1つまたは複数の表現68A~68N(表現68)とを含む様々なマルチメディアコンテンツ64を記憶する記憶媒体62を含む。いくつかの例では、出力インターフェース32はネットワーク74にデータを直接送ることもできる。
【0046】
いくつかの例では、表現68は、適応セットに分割されてもよい。すなわち、表現68の様々なサブセットは、コーデック、プロファイルおよびレベル、解像度、ビューの数、セグメントのファイルフォーマット、たとえば話者による、復号され提示されるべき表現および/またはオーディオデータとともに表示されるべきテキストの言語または他の特性を識別する場合があるテキストタイプ情報、カメラの角度または適応セット内の表現のシーンの現実世界のカメラの視野を表す場合があるカメラ角度情報、特定の視聴者に対するコンテンツの適切性を表すレーティング情報などのような、特性のそれぞれの共通のセットを含み得る。
【0047】
マニフェストファイル66は、特定の適応セットに対応する表現68のサブセットを示すデータ、ならびに適応セットの共通の特性を含み得る。マニフェストファイル66はまた、適応セットの個々の表現のための、ビットレートのような個々の特性を表すデータを含み得る。このように、適応セットは、簡略化されたネットワーク帯域幅適応を可能にする場合がある。適応セット内の表現は、マニフェストファイル66の適応セット要素の子要素を使用して示されてもよい。
【0048】
サーバデバイス60は、要求処理ユニット70とネットワークインターフェース72とを含む。いくつかの例では、サーバデバイス60は、複数のネットワークインターフェースを含み得る。さらに、サーバデバイス60の特徴のうちのいずれかまたはすべてが、ルータ、ブリッジ、プロキシデバイス、スイッチ、または他のデバイスのような、コンテンツ配信ネットワークの他のデバイス上で実装され得る。いくつかの例では、コンテンツ配信ネットワークの中間デバイスは、マルチメディアコンテンツ64のデータをキャッシュし、サーバデバイス60の構成要素に実質的に準拠する構成要素を含み得る。一般に、ネットワークインターフェース72は、ネットワーク74を介してデータを送受信するように構成される。
【0049】
要求処理ユニット70は、記憶媒体62のデータに対するネットワーク要求をクライアントデバイス40のようなクライアントデバイスから受信するように構成される。たとえば、要求処理ユニット70は、R. Fielding他による、RFC 2616、「Hypertext Transfer Protocol-HTTP/1.1」、Network Working Group、IETF、1999年6月に記述されるような、ハイパーテキスト転送プロトコル(HTTP:hypertext transfer protocol)バージョン1.1を実装する場合がある。すなわち、要求処理ユニット70は、HTTP GETまたは部分GET要求を受信して、それらの要求に応答して、マルチメディアコンテンツ64のデータを提供するように構成され得る。要求は、たとえば、セグメントのURLを使用して、表現68のうちの1つのセグメントを指定することができる。いくつかの例では、要求はまた、セグメントの1つまたは複数のバイト範囲を指定することができ、したがって、部分GET要求を含む。要求処理ユニット70はさらに、表現68のうちの1つのセグメントのヘッダデータを提供するために、HTTP HEAD要求に対応するように構成されてよい。いずれの場合でも、要求処理ユニット70は、クライアントデバイス40のような要求デバイスに、要求されたデータを提供するために、要求を処理するように構成され得る。
【0050】
追加または代替として、要求処理ユニット70は、eMBMSなどのブロードキャストまたはマルチキャストプロトコルを介してメディアデータを配信するように構成され得る。コンテンツ準備デバイス20は、DASHセグメントおよび/またはサブセグメントを、説明したのと実質的に同じ方法で作成することができるが、サーバデバイス60は、これらのセグメントまたはサブセグメントを、eMBMSまたは別のブロードキャストもしくはマルチキャストのネットワークトランスポートプロトコルを使用して配信することができる。たとえば、要求処理ユニット70は、クライアントデバイス40からマルチキャストグループ参加要求を受信するように構成され得る。すなわち、サーバデバイス60は、マルチキャストグループと関連付けられたインターネットプロトコル(IP:Internet protocol)アドレスを、クライアントデバイス40を含む、特定のメディアコンテンツ(たとえば、ライブイベントのブロードキャスト)と関連付けられたクライアントデバイスに広告することができる。次に、クライアントデバイス40は、マルチキャストグループに加わるための要求を提出することができる。この要求は、ルータがマルチキャストグループに関連付けられたIPアドレス宛のトラフィックをクライアントデバイス40などの加入クライアントデバイスに向けるように、ネットワーク74中、たとえば、ネットワーク74を構成するルータに伝搬され得る。
【0051】
図1の例に示すように、マルチメディアコンテンツ64は、メディアプレゼンテーション記述(MPD)に対応する場合があるマニフェストファイル66を含む。マニフェストファイル66は、様々な代替の表現68(たとえば、品質が異なるビデオサービス)の記述を含んでよく、この記述は、たとえば、コーデック情報、プロファイル値、レベル値、ビットレート、および表現68の他の説明のための特性を含み得る。クライアントデバイス40は、メディアプレゼンテーションのMPDを取り出して、表現68のセグメントにどのようにアクセスするかを決定することができる。
【0052】
具体的には、取出しユニット52は、クライアントデバイス40の構成データ(図示せず)を取り出して、ビデオデコーダ48の復号能力およびビデオ出力部44のレンダリング能力を判定することができる。構成データはまた、クライアントデバイス40のユーザによって選択される言語の選好、クライアントデバイス40のユーザによって設定される深さの選好に対応する1つまたは複数のカメラ視野、および/または、クライアントデバイス40のユーザによって選択されるレーティングの選好のいずれかまたはすべてを含み得る。取出しユニット52は、たとえば、HTTP GETおよび部分GET要求を提出するように構成されたウェブブラウザまたはメディアクライアントを備え得る。取出しユニット52は、クライアントデバイス40の1つまたは複数のプロセッサまたは処理ユニット(図示せず)によって実行されるソフトウェア命令に対応し得る。いくつかの例では、取出しユニット52に関して説明した機能のすべてまたは一部は、ハードウェア、または、ハードウェア、ソフトウェア、および/もしくはファームウェアの組合せにおいて実装されてよく、この場合、必須のハードウェアは、ソフトウェアまたはファームウェアのための命令を実行するために提供され得る。
【0053】
取出しユニット52は、クライアントデバイス40の復号およびレンダリング能力を、マニフェストファイル66の情報によって示される表現68の特性と比較することができる。取出しユニット52は、表現68の特性を決定するために、マニフェストファイル66の少なくとも一部分を最初に取り出し得る。たとえば、取出しユニット52は、1つまたは複数の適応セットの特性について説明する、マニフェストファイル66の一部分を要求する場合がある。取出しユニット52は、クライアントデバイス40のコーディングおよびレンダリング能力によって満たされ得る特性を有する、表現68のサブセット(たとえば、適応セット)を選択することができる。取出しユニット52は、次いで、適応セット内の表現に対するビットレートを決定し、ネットワーク帯域幅の現在利用可能な量を決定し、ネットワーク帯域幅によって満たされ得るビットレートを有する表現のうちの1つからセグメントを取り出すことができる。
【0054】
概して、表現のビットレートが高くなると、ビデオ再生の品質が高くなる一方、表現のビットレートが低くなると、利用可能なネットワーク帯域幅が縮小したときに、ビデオ再生の品質が十分なものになる場合がある。したがって、利用可能なネットワーク帯域幅が比較的高いときには、取出しユニット52は、ビットレートが比較的高い表現からデータを取り出すことができ、利用可能なネットワーク帯域幅が低いときには、取出しユニット52は、ビットレートが比較的低い表現からデータを取り出すことができる。このように、クライアントデバイス40は、ネットワーク74を介してマルチメディアデータをストリーミングすることができる一方、ネットワーク74の変化するネットワーク帯域幅の利用可能性に適応することもできる。
【0055】
追加または代替として、取出しユニット52は、ブロードキャスト、またはeMBMSもしくはIPマルチキャストなどのマルチキャストネットワークプロトコルに従ってデータを受信するように構成され得る。そのような例では、取出しユニット52は、特定のメディアコンテンツに関連付けられたマルチキャストネットワークグループに加わるための要求を提出することができる。取出しユニット52は、マルチキャストグループに加わった後、サーバデバイス60またはコンテンツ準備デバイス20にさらなる要求を発行することなしに、マルチキャストグループのデータを受信することができる。取出しユニット52は、たとえば、再生を停止するために、または、チャネルを異なるマルチキャストグループに変更するために、マルチキャストグループのデータがもはや必要とされないとき、マルチキャストグループを出るための要求を提出することができる。
【0056】
ネットワークインターフェース54は、選択された表現のセグメントのデータを受信し、取出しユニット52に提供することができ、次に、取出しユニット52は、セグメントをカプセル化解除ユニット50に提供することができる。カプセル化解除ユニット50は、ビデオファイルの要素を、構成要素であるPESストリームへとカプセル化解除し、PESストリームをパケット化解除して符号化データを取り出し、たとえば、ストリームのPESパケットヘッダによって示されるように、符号化データがオーディオストリームの一部かビデオストリームの一部かに応じて、符号化データをオーディオデコーダ46またはビデオデコーダ48のいずれかに送ることができる。オーディオデコーダ46は、符号化オーディオデータを復号し、復号オーディオデータをオーディオ出力部42に送る一方、ビデオデコーダ48は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号ビデオデータをビデオ出力部44に送る。
【0057】
ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダ26、オーディオデコーダ46、カプセル化ユニット30、取出しユニット52、およびカプセル化解除ユニット50は各々、適用できる場合は、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP:digital signal processors)、特定用途向け集積回路(ASIC:application specific integrated circuits)、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate arrays)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなど、様々な適切な処理回路のいずれかとして実装され得る。ビデオエンコーダ28およびビデオデコーダ48の各々は、1つまたは複数のエンコーダまたはデコーダ内に含まれてよく、これらのいずれもが、複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。同様に、オーディオエンコーダ26およびオーディオデコーダ46の各々は、1つまたは複数のエンコーダまたはデコーダ内に含まれてよく、これらのいずれもが、複合コーデックの一部として統合され得る。ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダ26、オーディオデコーダ46、カプセル化ユニット30、取出しユニット52、および/またはカプセル化解除ユニット50を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話のようなワイヤレス通信デバイスを含み得る。
【0058】
クライアントデバイス40、サーバデバイス60、および/またはコンテンツ準備デバイス20は、本開示の技法に従って動作するように構成され得る。例として、本開示は、クライアントデバイス40およびサーバデバイス60に関するこれらの技法について説明する。しかしながら、コンテンツ準備デバイス20は、サーバデバイス60の代わりに(または、それに加えて)これらの技法を実施するように構成され得ることを理解されたい。
【0059】
カプセル化ユニット30は、NALユニットが属するプログラム、ならびにペイロード、たとえばオーディオデータ、ビデオデータ、またはNALユニットが対応するトランスポートもしくはプログラムストリームを記述するデータを特定するヘッダを含むNALユニットを形成してもよい。たとえば、H.264/AVCにおいて、NALユニットは、1バイトのヘッダおよび可変サイズのペイロードを含む。そのペイロード内にビデオデータを含むNALユニットは、ビデオデータの様々な粒度レベルを含み得る。たとえば、NALユニットは、ビデオデータのブロック、複数のブロック、ビデオデータのスライス、またはビデオデータのピクチャ全体を含み得る。カプセル化ユニット30は、ビデオエンコーダ28からの符号化ビデオデータをエレメンタリストリームのPESパケットの形態で受信することができる。カプセル化ユニット30は、各エレメンタリストリームを対応するプログラムに関連付けることができる。
【0060】
カプセル化ユニット30はまた、複数のNALユニットからアクセスユニットをアセンブルすることができる。一般に、アクセスユニットは、ビデオデータのフレームならびにそのようなオーディオデータが利用可能であるときにそのフレームに対応するオーディオデータを表すために1つまたは複数のNALユニットを含むことができる。アクセスユニットは、一般に、1つの出力時間インスタンスに対するすべてのNALユニット、たとえば、1つの時間インスタンスに対するすべてのオーディオデータおよびビデオデータを含む。たとえば、各ビューが毎秒20フレーム(fps:frame per second)のフレームレートを有する場合、各時間インスタンスは、0.05秒の時間間隔に対応する場合がある。この時間間隔中、同じアクセスユニット(同じ時間インスタンス)のすべてのビューに対する特定のフレームは、同時にレンダリングされ得る。一例では、アクセスユニットは、一次コーディングされたピクチャとして提示され得る、1つの時間インスタンス内のコーディングされたピクチャを含み得る。
【0061】
したがって、アクセスユニットは、共通の時間インスタンスのすべてのオーディオフレームおよびビデオフレーム、たとえば、時間Xに対応するすべてのビューを含むことができる。本開示はまた、特定のビューの符号化されたピクチャを「ビューコンポーネント(view component)」と呼ぶ。すなわち、ビューコンポーネントは、特定の時間における特定のビューに対する符号化されたピクチャ(またはフレーム)を含み得る。したがって、アクセスユニットは、共通の時間インスタンスのすべてのビューコンポーネントを含むものとして定義され得る。アクセスユニットの復号順序は、必ずしも出力または表示の順序と同じである必要はない。
【0062】
メディアプレゼンテーションは、異なる代替表現(たとえば、異なる品質を有するビデオサービス)の記述を含む場合があるメディアプレゼンテーション記述(MPD)を含んでもよく、記述は、たとえば、コーデック情報、プロファイル値、およびレベル値を含んでもよい。MPDは、マニフェストファイル66など、マニフェストファイルの一例である。クライアントデバイス40は、メディアプレゼンテーションのMPDを取り出して、様々なプレゼンテーションのムービーフラグメントにどのようにアクセスするかを決定することができる。ムービーフラグメントは、ビデオファイルのムービーフラグメントボックス(moofボックス)内に配置され得る。
【0063】
マニフェストファイル66(たとえば、MPDを含み得る)は、表現68のセグメントの利用可能性を広告することができる。すなわち、MPDは、表現68のうちの1つの第1のセグメントが利用可能になる壁時計時間を示す情報、ならびに表現68内のセグメントの持続時間を示す情報を含み得る。このように、クライアントデバイス40の取出しユニット52は、開始時間ならびに特定のセグメントに先行するセグメントの持続時間に基づいて、各セグメントが利用可能であるときを判断することができる。
【0064】
カプセル化ユニット30が、受信されたデータに基づいてNALユニットおよび/またはアクセスユニットをビデオファイルにアセンブルした後、カプセル化ユニット30は、ビデオファイルを出力のために出力インターフェース32に渡す。いくつかの例では、カプセル化ユニット30は、ビデオファイルを直接クライアントデバイス40に送る代わりに、ビデオファイルをローカルに記憶するか、または出力インターフェース32を介してビデオファイルをリモートサーバに送ることができる。出力インターフェース32は、たとえば、送信機、トランシーバ、たとえば、オプティカルドライブ、磁気媒体ドライブ(たとえば、フロッピードライブ)などのコンピュータ可読媒体にデータを書き込むためのデバイス、ユニバーサルシリアルバス(USB)ポート、ネットワークインターフェース、または他の出力インターフェースを含み得る。出力インターフェース32は、たとえば、送信信号、磁気媒体、光学媒体、メモリ、フラッシュドライブ、または他のコンピュータ可読媒体など、コンピュータ可読媒体にビデオファイルを出力する。
【0065】
ネットワークインターフェース54は、ネットワーク74を介してNALユニットまたはアクセスユニットを受信し、NALユニットまたはアクセスユニットを取出しユニット52を介してカプセル化解除ユニット50に提供する。カプセル化解除ユニット50は、ビデオファイルの要素を、構成要素であるPESストリームへとカプセル化解除し、PESストリームをパケット化解除して符号化データを取り出し、たとえば、ストリームのPESパケットヘッダによって示されるように、符号化データがオーディオストリームの一部であるかビデオストリームの一部であるかに応じて、符号化データをオーディオデコーダ46またはビデオデコーダ48のいずれかに送ることができる。オーディオデコーダ46は、符号化オーディオデータを復号し、復号オーディオデータをオーディオ出力部42に送る一方、ビデオデコーダ48は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号ビデオデータをビデオ出力部44に送る。
【0066】
本開示の技法によれば、クライアントデバイス40は、別個のデバイスとソロレンダリングまたはスプリットレンダリングのいずれかを実施するように構成され得る。たとえば、ビデオ出力部44は、たとえば、
図2に示すように、いくつかの例では、クライアントデバイス40とは別個のデバイスであってよい。概して、クライアントデバイス40は、本開示の技法によれば、エクステンデッドリアリティ(XR)データをレンダリングするように構成され得る。具体的には、XRデータは、XRシーンを含むシーンに対応し得る。XRシーンは、動的仮想オブジェクトを含み得る、1つまたは複数の必要とされる仮想オブジェクトを含み得る。動的仮想オブジェクトは、概して、XRシーンがユーザに提示されると移動し得るアニメーション化されたオブジェクトであり得る。たとえば、動的仮想オブジェクトは、仮想ジムの場合の拡張現実(AR)使用事例においてコーチまたは別の生徒を含み得る。動的仮想オブジェクトは、動的メッシュ、アニメーションメッシュまたはポイントクラウドによって表され得る。動的仮想オブジェクトは、1つまたは複数の動的メディアコンポーネント(たとえば、3次元仮想オブジェクトのためのテクスチャ)および0またはそれ以上の静的コンポーネントを含み得る。たとえば、仮想オブジェクトに対する幾何学構造は静的であり得るが、テクスチャは動的であり得る。クライアントデバイス40は、たとえば、サーバデバイス60からシーンに関するエントリポイントデータを取り出すように構成され得る。エントリポイントデータは、動的仮想オブジェクトおよび動的メディアコンポーネントを含めて、必要とされる仮想オブジェクトに関する情報を含み得る。
【0067】
エントリポイントデータを使用して、クライアントデバイス40は、動的仮想オブジェクトの数(または動的仮想オブジェクトの各々に対する動的メディアコンポーネントの数)に等しい(たとえば、サーバデバイス60との)数のストリーミングセッションを初期化し得る。すなわち、クライアントデバイス40は、各動的仮想オブジェクトまたはその各動的メディアコンポーネントのためのストリーミングセッションを初期化し得る。したがって、たとえば、3つの動的仮想オブジェクトが存在する場合、クライアントデバイス40は、動的仮想オブジェクトの各々に対して1つ、3つのストリーミングセッションを初期化し得る。
【0068】
ストリーミングセッションを初期化する一部として、クライアントデバイス40は、ストリーミングセッションに関するサービス品質(QoS)および課金情報を構成し得る。たとえば、QoSおよび課金情報は、ポリシー制御機能(PCF :policy control function)によって扱われ得る。動的仮想オブジェクトの各々は、様々なストリーミング要件が必要とされる特定のタイプのオブジェクトに準拠し得る。様々なタイプのオブジェクトは、異なるQoS要件に関連付けられ得る。たとえば、動的仮想オブジェクトは、2次元(2D)オブジェクトまたは3次元(3D)オブジェクトのいずれかであってよい。概して、3Dオブジェクトは、2Dオブジェクトよりも高いビットレートストリームを必要とすることがあるが、これは、3Dで適切に表示されるために、3Dオブジェクトは少なくとも2つの別個の画像(左眼画像および右眼画像)を必要とするためである。より高いビットレートは、より高い帯域幅消費により、より高い課金コストをもたらし得る。
【0069】
別の例として、メディアストリームは、異なる量のビットレートを有し得、たとえば、対応する動的仮想オブジェクトのレンダリングされたサイズ/解像度により、より多くの帯域幅を消費し得る。異なる品質が動的仮想オブジェクトに対して利用可能であってよい。したがって、QoSおよび課金情報は、動的仮想オブジェクトのサイズおよび/または対応するメディアストリームの品質に基づいて異なり得る。
【0070】
場合によっては、動的仮想オブジェクトのロケーションは、XRシーン内のユーザの位置に対して厳密にXRシーン内に位置する必要があり得る。たとえば、ユーザが、たとえば、仮想会議またはビデオゲームにおいて、動的仮想オブジェクトと対話している場合、1つまたは複数の動的仮想オブジェクトは、動的仮想オブジェクトに関連するストリーミングセッションのために、厳密な、正確なユーザ測位情報を必要とし得る。したがって、QoSおよび課金情報は、正確なユーザ測位情報の必要を考慮に入れる必要があり得る。たとえば、正確なユーザ測位情報を必要とするものには、ヘッドアップディスプレイ(HUD:heads up display)要素など、他の動的仮想オブジェクトに関連するストリーミングセッションよりも高いQoSが割り当てられ得る。たとえば、ゲームがスポーツゲームである場合、野球またはフットボールなど、ボールの動的仮想オブジェクトは、ユーザがそのボールと対話(打つ、捕る、投げるなど)し得るように、正確なユーザ測位情報を必要とし得る。
【0071】
上述のように、場合によっては、クライアントデバイス40は、XRデータのスプリットレンダリングを実施するように構成され得る。スプリットレンダリングを実施するとき、メディアデータをコーディングするために、超低遅延コーディング構造が使用され得る。たとえば、ビデオフレームは、IPPP構造でコーディングされてよく、この場合、第1のフレームはイントラコーディングを使用してコーディングされ、後続フレームは単方向インター予測される。IPPP内のフレームのいずれも双方向インター予測されず、したがって、そのようなコーディング構造に対するビットレートは、たとえば、IBBPなど、他のコーディング構造よりも約30%高いことがある。加えて、各コーディングされたフレームは、フレームパッキングされてよく、すなわち、フレームは、一緒に単一フレームの形態でパッキングされた、左眼ビューと右眼ビューの両方に関するデータを含み得る。したがって、QoSおよび課金要件は、このコーディング構造を考慮に入れてよい。たとえば、クライアントデバイス40がスプリットレンダリングを実施するように構成されているとき、スプリットレンダリングされたメディアストリームに対するビットレート(最小ビットレートなど)は、スプリットレンダリングされていないメディアストリームに対するビットレート(最小ビットレートなど)よりも高いことがある。
【0072】
図2は、本開示の技法を実施し得る例示的なコンピューティングシステム100を示すブロック図である。この例では、コンピューティングシステム100は、エクステンデッドリアリティ(XR)サーバデバイス110、ネットワーク130、XRクライアントデバイス140、およびディスプレイデバイス152を含む。XRサーバデバイス110は、XRシーン生成ユニット112、XRビューポートプリレンダリングラスタ化ユニット114、2Dメディア符号化ユニット116、XRメディアコンテンツ配信ユニット118、および5Gシステム(5GS:5G system)配信ユニット120を含む。XRサーバデバイス110は、
図1のコンテンツ準備デバイス20およびサーバデバイス60による機能を実施する構成要素をさらに含み得る。たとえば、5GS配信ユニット120は、
図1のネットワークインターフェース72に対応し得、XRシーン生成ユニット112およびXRビューポートプリレンダリングラスタ化ユニット114は、
図1のビデオソース24に対応し得、2Dメディア符号化ユニット116は、
図1のビデオエンコーダ28に対応し得、XRメディアコンテンツ配信ユニット118は、
図1のカプセル化ユニット30および要求処理ユニット70に対応し得る。
【0073】
ネットワーク130は、概して
図1のネットワーク74に対応し得る。ネットワーク130は、インターネットなど、1つまたは複数のネットワークプロトコルに従って通信するコンピューティングデバイスのいずれかのネットワークに対応し得る。具体的には、ネットワーク130は、XRクライアントデバイス140がネットワーク130およびXRサーバデバイス110にアクセスするために接続するアクセスデバイスを含む5G無線アクセスネットワーク(RAN:radio access network)を含み得る。他の例では、他のタイプのRANなど、他のタイプのネットワークが使用されてよい。
【0074】
XRクライアントデバイス140は、5GS配信ユニット150、追跡/XRセンサー146、XRビューポートレンダリングユニット142、2Dメディアデコーダ144、およびXRメディアコンテンツ配信ユニット148を含む。XRクライアントデバイス140はまた、XRメディアデータをユーザ(図示せず)に提示するためにディスプレイデバイス152とインターフェースをとる。XRクライアントデバイス140は、
図1のクライアントデバイス40による機能を実施する構成要素を含み得る。たとえば、5GS配信ユニット150は、
図1のネットワークインターフェース54に対応し得、XRメディアコンテンツ配信ユニット148は、
図1の取出しユニット52に対応し得る。
【0075】
いくつかの例では、XRシーン生成ユニット112は、XRサーバデバイス110の回路において実装される1つまたは複数のプロセッサによって実行され得る、ビデオゲームなど、対話型メディアエンターテインメントアプリケーションに対応し得る。XRビューポートプリレンダリングラスタ化ユニット114は、XRクライアントデバイス140のユーザのビューポートに関するプリレンダリングされた2次元(2D)メディアデータ(たとえば、ビデオデータ)としてXRシーン生成ユニット112によって生成されるシーンデータをフォーマットし得る。2Dメディア符号化ユニット116は、たとえば、ITU-T H.264/アドバンストビデオコーディング(AVC:Advanced Video Coding)、ITU-T H.265/高効率ビデオコーディング(HEVC)、ITU-T H.266多用途ビデオコーデイング(VVC:Versatile Video Coding)など、ビデオ符号化規格を使用して、XRビューポートプリレンダリングラスタ化ユニット114からのフォーマットされたシーンデータを符号化し得る。XRメディアコンテンツ配信ユニット118は、この例では、コンテンツ配信送信側を表す。この例では、XRメディアコンテンツ配信ユニット148は、コンテンツ配信受信機を表し、2Dメディアデコーダ144は、エラー処理を実施し得る。
【0076】
概して、XRクライアントデバイス140は、ユーザのビューポート、たとえば、XRクライアントデバイス140の配向およびXRクライアントデバイス140の地理的位置に対応し得る、ユーザが見ている方向およびユーザの物理的ロケーションを決定し得る。追跡/XRセンサー146は、たとえば、カメラ、加速度計、磁力計、ジャイロスコープなどを使用して、そのようなロケーションおよび配向データを決定し得る。追跡/XRセンサー146は、ロケーションおよび配向データをXRビューポートレンダリングユニット142および5GS配信ユニット150に提供する。XRクライアントデバイス140は、ネットワーク130を介して、追跡およびセンサー情報132をXRサーバデバイス110に提供する。XRサーバデバイス110は、追跡およびセンサー情報132を受信し、この情報をXRシーン生成ユニット112およびXRビューポートプリレンダリングラスタ化ユニット114に提供する。このように、XRシーン生成ユニット112は、ユーザのビューポートおよびロケーションに関するシーンデータを生成し、次いで、XRビューポートプリレンダリングラスタ化ユニット114を使用してユーザのビューポートに関する2Dメディアデータをプリレンダリングし得る。XRサーバデバイス110は、したがって、たとえば、5G無線構成を使用して、ネットワーク130を介して、符号化された、プリレンダリングされた2Dメディアデータ134をXRクライアントデバイス140に配信し得る。
【0077】
XRシーン生成ユニット112は、マルチメディアアプリケーションのタイプ(たとえば、ビデオゲームのタイプ)、アプリケーションの状態、複数のユーザアクションなどを表すデータを受信し得る。XRビューポートプリレンダリングラスタ化ユニット114は、ラスタ化されたビデオ信号をフォーマットし得る。2Dメディア符号化ユニット116は、特定のエンコーダ/デコーダ(コーデック)、メディア符号化のためのビットレート、レート制御アルゴリズムおよび対応するパラメータ、ビデオデータのピクチャのスライスを形成するためのデータ、低レイテンシ符号化パラメータ、エラー耐性パラメータ、イントラ予測パラメータなどで構成され得る。XRメディアコンテンツ配信ユニット118は、リアルタイムトランスポートプロトコル(RTP:real-time transport protocol)パラメータ、レート制御パラメータ、エラー耐性情報などで構成され得る。XRメディアコンテンツ配信ユニット148は、フィードバックパラメータ、エラー隠蔽アルゴリズムおよびパラメータ、補正後アルゴリズムおよびパラメータなどで構成され得る。
【0078】
ラスタベースのスプリットレンダリングは、XRサーバデバイス110がXRエンジン(たとえば、XRシーン生成ユニット112)を実行して、XRデバイス、たとえば、XRクライアントデバイス140、から入る情報と追跡およびセンサー情報132とに基づいてXRシーンを生成する場合を指す。XRサーバデバイス110は、XRビューポートをラスタ化し、XRビューポートプリレンダリングラスタ化ユニット114を使用して、XRプリレンダリングを実施し得る。
【0079】
図2の例では、ビューポートはXRサーバデバイス110内で主にレンダリングされるが、XRクライアントデバイス140は、たとえば、非同期タイムワーピングまたは他のXRポーズ補正を使用して最新のポーズ補正を行ってポーズの変更に対処することが可能である。XRグラフィックス作業負荷は、強力なXRサーバデバイス110上で(クラウドまたはエッジの中で)レンダリング作業負荷に、またXRクライアントデバイス140上でポーズ補正(非同期タイムワープ(ATW:asynchronous timewarp)など)にスプリットされ得る。低モーションツーフォトン(motion-to-photon)レイテンシは、オンデバイス非同期タイムワーピング(ATW)またはXRクライアントデバイス140によって実施される他のポーズ補正方法を介して保存される。
【0080】
いくつかの例では、XRサーバデバイス110によってビデオデータをレンダリングすること、およびXRクライアントデバイス140がそのようなプリレンダリングされたビデオデータを受信することからのレイテンシは、50ミリ秒(ms:milliseconds)の範囲内であり得る。XRクライアントデバイス140がロケーションおよび位置(たとえば、ポーズ)情報を提供するためのレイテンシは、より低くて、たとえば20msであってよいが、XRサーバデバイス110は、非同期タイムワープを実施してXRクライアントデバイス140内の最新のポーズを補償し得る。
【0081】
次のコールフローは、これらの技法を実施する例示的な重要ステップである:
1)XRクライアントデバイス140は、ネットワーク130に接続し、XRアプリケーション(たとえば、XRシーン生成ユニット112によって実行される)に加わる。
a)XRクライアントデバイス140は、静的デバイス情報および能力(サポートされるデコーダ、ビューポート)を送る。
2)この情報に基づいて、XRサーバデバイス110は、エンコーダおよびフォーマットをセットアップする。
3)ループ:
a)XRクライアントデバイス140は、追跡/XRセンサー146を使用してXRポーズ(または予測されるXRポーズ)を収集する。
b)XRクライアントデバイス140は、XRポーズ情報を追跡およびセンサー情報132の形態でXRサーバデバイス110に送る。
c)XRサーバデバイス110は、追跡およびセンサー情報132を使用して、XRシーン生成ユニット112およびXRビューポートプリレンダリングラスタ化ユニット114を介してXRビューポートをプリレンダリングする。
d)2Dメディア符号化ユニット116は、XRビューポートを符号化する。
e)XRメディアコンテンツ配信ユニット118および5GS配信ユニット120は、ビューポートがレンダリングされたXRポーズを表すデータとともに、圧縮されたメディアをXRクライアントデバイス140に送る。
f)XRクライアントデバイス140は、2Dメディアデコーダ144を使用してビデオデータを復元する。
g)XRクライアントデバイス140は、改善された予測のために、ビデオフレームとともに提供されるXRポーズデータおよび追跡/XRセンサー146からの実際のXRポーズを使用し、たとえば、XRビューポートレンダリングユニット142によって実施されたATWを使用して、ローカルポーズを補正する。
【0082】
様々なタイプのクライアントデバイス(「ユーザ機器」または「UE」とも呼ばれる)がXRを実施し得る。XRクライアントデバイス140は、これらの様々なタイプのうちの1つ、または別のタイプに準拠し得る。以下のTable 1(表1)は、5Gネットワーク上でXRデータのスプリットレンダリングを実施し得るいくつかの異なるタイプのクライアントデバイスについて説明する。概して、スプリットレンダリングは、2つ以上の異なるデバイスによる画像のレンダリングを指す。一例では、スプリットレンダリングは、次のように定義され得る:
テザリングされたデバイスまたは外部エンティティ(クラウドまたはエッジデバイスなど)が一部の前処理(たとえば、センサー情報およびポーズ情報に基づくビューポートのプリレンダリング)を行い、XRデバイスおよび/またはテザリングされたデバイスが最新のセンサー情報を考慮して(たとえば、ポーズ補正を適用して)レンダリングを実施する。異なるデバイスとエンティティとの間に異なる程度のスプリットが存在する。同様に、視覚エンジン機能および他のXR/AR/MR機能(AR/MRメディア再構成、符号化、および復号など)がスプリット計算の対象になることがある。
【0083】
Table 1(表1)は、XRに参加するデバイスタイプの様々な例について、5G Uuモデムが配置されることが予想される場合、基本AR機能が配置される場合、AR/MR機能が配置される場合、AR/MRアプリケーションが実行している場合、また電源/電池が配置されている場合、デバイスが情報へのアクセスを得るためにどのように接続されるかを示す。すべてのグラスデバイスタイプ、センサー、カメラ、およびマイクロフォンはデバイス(UE)自体の上にあると仮定される。
【0084】
【0085】
タイプ1 5G STandalone AR(STAR)UEは、次の特性を有し得る:
・STAR UEは通常の5G UEである。5G接続性は埋込み5Gモデムを通じて提供される。
・ユーザ制御はローカルであり、センサー、オーディオ入力、またはビデオ入力から取得される。
・AM/MR機能はAR/MRデバイスまたはスプリットのいずれかである。
・いくつかのデバイスは、没入型メディア復号およびレンダリングに対して限定されたサポートを有することがあり、5Gクラウド/エッジに依存する必要があり得る。この場合、STAR UEはエッジによって支援され得る。
・AR/MRアプリケーションはデバイス上に存在する。
・必要とされる処理量により、そのようなデバイスは他のデバイスタイプと比較して、より高い電力消費を必要とする可能性が高い。
・機能は設計よりも重要である。
・デバイスはすべてのUE機能を含むため、アプリケーションが存在し、主にデバイス上で実行され、すべての必須AR/MR機能が一般的なメディア処理使用事例に対して利用可能であり、デバイスはSTandalone AR(STAR)UEと呼ばれる。
【0086】
タイプ2 5G EDGe依存AR(EDGAR)UEは、次の特性を有し得る:
・5G EDGAR UEは通常の5G UEである。5G接続性は埋込み5Gモデムを通じて提供される。
・ユーザ制御はローカルであり、センサー、オーディオ入力、またはビデオ入力から取得される。
・メディア処理はローカルであり、デバイスは、プリレンダリングされたビューポートを復号するために必要とされるすべてのメディアコーデックを埋め込む必要がある。
・基本AR機能はAR/MRデバイスに対してローカルであり、AR/MR機能は5Gクラウド/エッジ上にある。
・メインAR/MRアプリケーションはクラウド/エッジ上に存在するが、基本アプリケーション機能は、通常のUE機能ならびに起動サービスおよびアプリケーションをサポートするためにUE上にある。
・そのようなグラス上の電力消費は、フォームファクタに適合するために十分低くなければならない。熱放散は必須である。
・設計は、一般に機能よりも重要である。
・EDGAR UEは、追加の機能、たとえば、一般にメディア中心の使用事例のためにSTAR UE内で利用可能な機能を有し得るが、処理はエッジによってサポートされる必要がある。
【0087】
タイプ3 5GワイヤレステザリングされたAR UEは、次の特性を有し得る:
・5G接続性は、5Gモデムを埋め込むテザーデバイスを通じて提供される。ワイヤレステザリングされた接続性は、WiFiまたは5Gサイドリンクを介する。BLE(Bluetooth低エネルギー(Bluetooth Low Energy))接続性がオーディオのために使用され得る。
・ユーザ制御は、たいていAR/MRデバイスに局所的に提供され、いくつかのリモートユーザ対話はテザリングされたデバイスからも同様に開始され得る。
・AR/MR機能(SLAM/登録およびポーズ補正を含む)は、AR/MRデバイス内またはスプリットのいずれかである。
・メディア処理(2Dメディア用の)はARグラスに対して局所的に行われ得るが、大量のAR/MRメディア処理はAR/MRテザリングされたデバイス上で行われ得るかまたはスプリットされ得る。
・いくつかのデバイスは、没入型メディア復号およびレンダリングに対して限定されたサポートを有することがあり、5Gクラウド/エッジに依存する必要があり得る。
・そのようなデバイスはタイプ1よりもかなり少ない処理を使用する可能性が高いが: 5G STARデバイスは、テザリングされたデバイスの処理能力を活用することによって、多くのローカルメディアおよびAR/MR処理を依然としてサポートし得る。そのようなデバイスは、かなり低重量を維持しながら、8~10時間の電池寿命を提供することが予想される。
・テザリングされたグラス自体は通常の5G UEではないが、グラスとフォンの組合せは通常の5G UEをもたらす。
【0088】
仮想ジム用の拡張現実(AR)使用事例は、次のようであり得る: ユーザはARグラス(たとえば、クライアントデバイス140)上で仮想トレーナーアプリケーションを開始する。ARグラスは利用可能なトレーニングルーチンのリストを提示する。ユーザは朝の運動のためのルーチンのうちの1つを選ぶ。ARグラスはユーザの室内に仮想コーチおよび別の生徒を提示する。仮想ラウドスピーカーは、実際のスピーカー(たとえば、ARグラスまたはユーザの室内の別のデバイス内に構築された)を介して背景音楽を提示する。ARグラスは、次いで、運動が始まると、仮想コーチおよび他の生徒、ならびに仮想コーチによって提供される音声による指示も提示する。
【0089】
XRクライアントデバイス140の様々な構成要素は、ARランタイム、シーンマネージャ、または5Gメディアクライアントのうちの1つの部分を形成し得る。たとえば、追跡/XRセンサー146はARランタイムを表すことができ、XRビューポートレンダリングユニット142はシーンマネージャを表すことができ、5GS配信ユニット150は5Gメディアクライアントを表すことができる。概して、ARランタイムは、APIを通じて、ARデバイス機能へのアクセスを公開し得、シーンマネージャは、シーンの記述をパースし、次いで、それを使用してメディアをフェッチし、入力を処理し、シーンをレンダリングする機能を提供し得、5Gメディアクライアントは、メディアへのアクセスを可能にし、たとえば、XRサーバデバイス110からのARセッションをサポートするためのリソースを要求する機能の集合を表し得る。
【0090】
XRデータは、エントリポイントと、動的仮想オブジェクトと、静的仮想オブジェクトと、空間オーディオとを含み得る。エントリポイントは、シーン内のオブジェクトを記述するシーン記述を含み得る。動的仮想オブジェクトは、動的メッシュ、アニメーションメッシュ、ポイントクラウドなどであってよい。概して、動的仮想オブジェクトは、XRシーン内を移動し得、音は動的仮想オブジェクトの対応するロケーションから発生し得る。静的オブジェクトは、静的メッシュであってよく、そこからオーディオが発生し得るロケーションを表し得る。空間オーディオは、(動的仮想オブジェクトとして表される)人物からの有声音化(たとえば、スピーチ)および/または静的または動的仮想オブジェクトがソースである他の音要素(たとえば、音楽、ホワイトノイズ、など)を表し得る。
【0091】
図3は、本開示の技法による、5G STandalone AR(STAR)ユーザ機器(UE)デバイス160として構成された例示的なクライアントデバイスを示すブロック図である。
図2のXRクライアントデバイス140は、
図3の例に従って構成され得る。
【0092】
図3の例では、5G STAR UEデバイス160は、センサー162、カメラ164、視覚エンジン166、ユーザインターフェース180、AR/MRアプリケーション182、5Gメディアストリーミングダウンリンク(5GMSd:5G Media Streaming downlink)アウェアアプリケーション184、メディアセッションハンドラ(MSH:media session handler)186、シーングラフ処理ユニット176、アクセスクライアント188、没入型メディアデコーダ190、没入型視覚レンダラ192、没入型オーディオレンダラ194、合成ユニット178、ポーズ補正ユニット172、音場マッピングユニット174、ディスプレイ168、およびスピーカー170を含む。これらの様々なユニットの各々は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装され得る。ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアに対する命令は、ハードウェアメモリ内に記憶され得、不可欠なハードウェア処理回路によって実行され得る。
【0093】
センサー162は、たとえば、ユーザのポーズ情報を検出するように構成されたジャイロスコープセンサーであってよい。センサー162およびカメラ164は、ポーズ情報および画像を収集し、ポーズに関するデータおよび画像を視覚エンジン166に渡す。視覚エンジン166は、ポーズ情報をポーズ補正ユニット172、合成ユニット178、没入型視覚レンダラ192、およびアクセスクライアント188に提供し得る。ユーザインターフェース180は、ユーザ入力を収集するための、たとえば、ゲームコントローラ、ボタン、ジョイスティックなどを含み得る。ユーザインターフェース180は、ユーザ入力を拡張現実/複合現実(AR/MR)アプリケーション182に渡し得る。
【0094】
AR/MRアプリケーション182および5GMSdアウェアアプリケーション184は、同じアプリケーションであってよく、または互いと通信する別個のアプリケーションであってもよい。概して、AR/MRアプリケーション182は、ユーザインターフェース180から、ならびに5GMSdアウェアアプリケーション184を介して他のユーザから、かつ/または5GMSd+AR/MRアプリケーションプロバイダ200など、アプリケーションに関連するサーバから、ユーザ入力を取得し得る。AR/MRアプリケーション182は、サーバ、ユーザ、および他のユーザからの様々な入力に従って、5G STAR UEデバイス160のユーザに何が提示されるべきか、たとえば、表示されるべき仮想オブジェクト、動的仮想オブジェクトに適用されるべきアニメーション、など、を決定し得る。アニメーションは、動的仮想オブジェクトのための動的メディアコンポーネントとしてストリーミングされ得る。5GMSdアウェアアプリケーション184は、情報をメディアセッションハンドラ(MSH)186に渡すことができ、メディアセッションハンドラ(MSH)186は、情報を5GMSdアプリケーション機能(AF:application function)202から受信することもできる。
【0095】
MSH186は、情報をアクセスクライアント188に提供することができ、アクセスクライアント188は、1つまたは複数のメディアストリームを5GMSdアプリケーションサーバ(AS:application server)210から受信することもできる。具体的には、本開示の技法によれば、様々な動的仮想オブジェクトの各々は、たとえば、5GMSd AS210とのそれぞれのメディアストリーミングセッションに関連付けられ得る。すなわち、様々な動的仮想オブジェクトの各々に関するメディアデータは、それぞれ、別のメディアストリーミングセッションを介して5G STAR UEデバイス160に送られ得る。メディアストリーミングセッションの各々は、マニフェストサーバ212から受信されたそれぞれのマニフェストファイル(たとえば、MPD)とセグメントサーバ214によって提供されたメディアデータとを有し得る。
【0096】
アクセスクライアント188は、たとえば、
図5および
図6に関して以下で論じるように様々なメディアストリーミングセッションの各々を初期化し得る。本開示の技法によれば、メディアストリーミングセッションの各々は、たとえば、動的仮想オブジェクトのタイプに従って、それぞれ関連するサービス品質(QoS)および課金構成を有し得る。たとえば、QoSおよび課金構成は、対応する動的仮想オブジェクトが2Dオブジェクトであるかまたは3Dオブジェクトであるか、正確なユーザ位置情報が必要とされるかどうか、メディアストリーミングセッションのために必要とされる帯域幅の量、5G STAR UEデバイス160がスプリットレンダリングを実行するように構成されているかどうか(
図3の例では、5G STAR UEデバイス160はスプリットレンダリングを実施しない)、などに依存し得る。アクセスクライアント188は、様々なメディアストリーミングセッションに関するメディアデータを受信し、メディアデータを没入型メディアデコーダ190に提供し得る。
【0097】
各動的仮想オブジェクトに関するQoSおよび課金情報を構成することによって、5G STAR UEデバイス160は、他のメディアデータよりも高い優先度で、いくつかの動的仮想オブジェクトに関するメディアデータを配信させ得る。たとえば、いくつかの動的仮想オブジェクトが5G STAR UEデバイス160のユーザに関する正確な位置情報を必要とする(たとえば、5G STAR UEデバイス160のユーザとの衝突検出が有効にされる動的仮想オブジェクト)場合、そのような位置情報は、他のデータよりも緊急に5GMSd AS210に提供される必要があり得る。異なる動的仮想オブジェクトに関するメディアデータを別個の、それぞれのメディアストリーム内で提供することは、いくつかのメディアデータ(および、メディアデータを生成するために使用される入力)が高い優先順位で配信され、他のメディアデータが低い優先順位(ベストエフォート)で配信されることを可能にし、これは、利用可能なネットワーク帯域幅を利用する際のフレキシビリティを増大させ得る。さらに、QoSおよび課金情報を個々に構成することによって、すべてのストリーミングセッションに対するQoSがより容易に達成され得る。
【0098】
メディアストリームの各々は、没入型メディアデコーダ190のそれぞれ1つに関連付けられ得る。没入型メディアデコーダ190は、オーディオデータおよびビデオメディアデータを復号し、復号オーディオデータを没入型オーディオレンダラ194に提供し、復号ビデオデータを没入型視覚レンダラ192に渡し得る。没入型視覚レンダラ192は、様々な動的仮想オブジェクトの各々に関するビデオデータをレンダリングし、レンダリングされたメディアデータを合成ユニット178に提供し得る。合成ユニット178は、様々な動的仮想オブジェクトの各々に関するデータを含む単一フレーム(または複数のフレーム、たとえば、3Dプレゼンテーションのための左眼フレームおよび右眼フレーム)を合成し、それらのフレームをポーズ補正ユニット172に提供し得る。ポーズ補正ユニット172は、たとえば、フレーム内の画像を回転させるかまたは変換することによって、現在のユーザポーズに従って、合成フレームを修正し、次いで、ユーザに表示するために、ポーズ補正フレームをディスプレイ168に提供し得る。
【0099】
没入型オーディオレンダラ194は、オーディオデータをレンダリングし、レンダリングされたオーディオデータを音場マッピングユニット174に提供し得る。音場マッピングユニット174は、ポーズ情報を使用して、たとえば、ポーズと、そこからオーディオが提示されているオブジェクトの位置までのユーザの相対位置とに従って、受信された、レンダリングされたオーディオデータを修正し得る。
【0100】
図4は、本開示の技法による、5G EDGe依存AR(EDGAR)ユーザ機器(UE)デバイス220として構成された別の例示的なクライアントデバイスを示すブロック図である。
図2のXRクライアントデバイス140は、
図4の例に従って構成され得る。この例では、5G EDGAR UEデバイス220は、5G EDGEサーバデバイス250とともにスプリットレンダリングを実施するように構成される。
【0101】
この例では、5G EDGAR UEデバイス220は、センサー222、カメラ224、マイクロフォン226、視覚エンジン228、エンコーダ230、5Gシステム242、デコーダ232、合成ユニット234、ポーズ補正ユニット236、ディスプレイ238、スピーカー240、5Gシステム242、ユーザインターフェース244、およびAR/MRアプリケーション246を含む。5G EDGEサーバデバイス250は、この例では、5GMSdアプリケーション252、MSH 254、アクセスクライアント256、デコーダ258、レンダリングユニット260、合成ユニット262、デコーダ264、エンコーダ266、および5Gシステム268を含む。これらの様々なユニットの各々は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装され得る。ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアに対する命令は、ハードウェアメモリ内に記憶され得、不可欠なハードウェア処理回路によって実行され得る。
【0102】
概して、5G EDGAR UEデバイス220および5G EDGEサーバデバイス250の様々な構成要素は、
図3の5G STAR UEデバイス160の対応する構成要素と実質的に同様にスプリットレンダリングを実施するために一緒に動作する。すなわち、5G EDGEサーバデバイス250は、第1のレンダリングプロセスを実施し、第1のレンダリングプロセスの結果を5G EDGAR UEデバイス220に提供し、5G EDGAR UEデバイス220は、第2のレンダリングプロセスを実施して、最終的にディスプレイ238およびスピーカー240を介してレンダリングされるビデオデータおよびオーディオデータを出力する。
【0103】
この例では、5G EDGEサーバデバイス250は、5GMSd+AR/MRアプリケーションプロバイダ270、5GMSd272、および5GMSd AS280と通信する。本開示の技法によれば、5G EDGEサーバデバイス250は、5GMSd AS280からのXRシーンの動的仮想オブジェクトのためのそれぞれのメディアストリーミングセッションを初期化する。
図3に関して上記で論じたように、メディアストリーミングセッションの各々は、マニフェストサーバ282によって提供されたそれぞれのマニフェストファイルとセグメントサーバ284によって提供されたメディアデータセグメントとを含み得る。
【0104】
本開示の技法によれば、メディアストリーミングセッションの各々は、たとえば、動的仮想オブジェクトのタイプに従って、それぞれ関連するサービス品質(QoS)および課金構成を有し得る。たとえば、QoSおよび課金構成は、対応する動的仮想オブジェクトが2Dオブジェクトであるかまたは3Dオブジェクトであるか、正確なユーザ位置情報が必要とされるかどうか、メディアストリーミングセッションのために必要とされる帯域幅の量、5G EDGAR UEデバイス220がスプリットレンダリングを実行するように構成されているかどうか(
図4の例では、5G EDGAR UEデバイス220はスプリットレンダリングを実施するように構成される)、などに依存し得る。アクセスクライアント256は、様々なメディアストリーミングセッションに関するメディアデータを受信し、メディアデータをデコーダ258に提供し得る。
【0105】
第1のレンダリングプロセスは、この例では、デコーダ258による様々なメディアストリーミングセッションのメディアデータの復号を含む。レンダリングユニット260は、様々なメディアストリーミングセッションの各々に関するビデオデータをレンダリングし得、合成ユニット262は、動的仮想オブジェクトの各々に関するレンダリングされたデータを含むフレームを合成し得る。エンコーダ266は、次いで、この例では、レンダリングされたフレームを符号化し得、5G EDGEサーバデバイス250は、5Gシステム268を介して、レンダリングされたフレームを5G EDGAR UEデバイス220に送信し得る。
【0106】
5G EDGAR UEデバイス220は、この例では、5Gシステム242を介して、符号化された、レンダリングされたフレームを受信した後、第2のレンダリングプロセスを実施する。デコーダ232はレンダリングされたフレームを復号し、合成ユニット234は、1つまたは複数の追加の仮想オブジェクトに関するデータを含めるようにフレームをさらに合成し得る。ポーズ補正ユニット236は、次いで、センサー222および/またはカメラ224によって収集された更新されたユーザポーズ情報に対応するように合成フレームを修正し得る。最終的に、5G EDGAR UEデバイス220は、ディスプレイ238を介してフレームを出力し得る。同様に、5G EDGAR UEデバイス220は、スピーカー240を介してオーディオデータを出力し得る。
図4の例には示されていないが、5G EDGAR UEデバイス220は、更新されたポーズ情報に従ってオーディオデータを修正し得る、
図3の例におけるような音場マッピングユニットをさらに含み得る。
【0107】
図5は、本開示の技法による、STARユーザ機器のための例示的な拡張現実セッションを示すコールフロー図である。XRクライアントデバイス140が
図3の例に従って構成されているとき、XRクライアントデバイス140は、
図5のコールフローのいくつかの態様、たとえば、AR/MRアプリケーション182、そのARエンジン、没入型メディアデコーダ190、シーン記述ハンドラ(たとえば、シーングラフ処理ユニット176)、およびメディアセッションハンドラ(MSH)186による機能を実施し得る。XRクライアントデバイス140が
図4の例に従って構成されているとき、XRクライアントデバイス140は、
図4に関して上記で論じたようにスプリットレンダリングを実施し得る。
【0108】
図5の例では、最初に、ユーザはアプリケーションを開始する。アプリケーションは、クラウドに接続して、ユーザのための練習ルーチンのリストをフェッチする(400)。
【0109】
アプリケーションプロバイダ(AP:application provider)は、ルーチンのリストをアプリケーションに送る(402)。各ルーチンは、そのルーチンのためのエントリポイントに関連付けられる。エントリポイントは、概して、シーン内のオブジェクトを記述するシーン記述であり、シーンを世界空間で固定する。
【0110】
アプリケーションは、ルーチン選択をユーザから受信する(404)。
【0111】
アプリケーションは、選択されたルーチンに関するシーン記述をアプリケーションプロバイダからフェッチする(406)。アプリケーションはまた、エントリポイントを用いて没入型シーンレンダラ(ISR:immersive scene renderer)を初期化する(408)。
【0112】
セッション記述ハンドラは、エントリポイントをパースして、シーン内の必要とされるオブジェクトに関する情報を抽出し、メディアアクセス情報をアプリケーションに提供する(410)。上記の例示的な使用事例では、コーチ、生徒、およびスピーカーが、シーン内でレンダリングされることになる3つのオブジェクトである。コーチおよび生徒は、動的仮想オブジェクトの例である。ラウドスピーカーは、静的仮想オブジェクトの一例である。
【0113】
アプリケーションは、そのアプリケーションが2つの動的仮想オブジェクトに関する2つのストリーミングセッションを開始することになることをMSHに知らせる(412)。たとえば、2つのストリーミングセッションの各々は、プロトコルデータユニット(PDU:Protocol Data Unit)セッションユーザプレーンプロトコルによるPDUセッションであってよい。
【0114】
MSHは、情報をAFと共有し、アプリケーションプロバイダによる既存のプロビジョニングに基づいて、AFは、PDUセッションに対するQoSおよび課金修正を要求し得る(414)。たとえば、AFは、要求のポリシー制御機能(PCF)を通知し得る。またPCFは、PDUセッションを開始または修正し得る。いくつかの実装形態では、PDUセッションに対するアンカーポイントは、ユーザプレーン機能(UPF:User Plane Function)であり得る。次いで、PCFは、一致したQoSフローがUPFを介してそれぞれのPDUセッションに割り当てられることを保証し得る。この情報を共有することによって、MSHは、それぞれのQoSおよび課金情報に準拠するストリーミングセッションで構成され得る。
【0115】
アプリケーションは、新しいXRセッションを作成し、シーンをXRセッション内の選択された空間に固定し、次いで、メディア交換が開始する。具体的には、上記の例示的な使用事例では、アプリケーションは、シーン内の静的オブジェクト、この例ではラウドスピーカー、に関するデータをフェッチする(418)。アプリケーションは、次いで、オブジェクト1に関するマニフェストを取り出し(420)、オブジェクト2に関するマニフェストを取り出す(422)。上記の例示的な使用事例では、オブジェクト1は、コーチの動的仮想オブジェクトであり、オブジェクト2は、他の生徒の動的仮想オブジェクトである。
【0116】
アプリケーションは、次いで、各オブジェクトのコンポーネントに基づいて、没入型ビデオデコーダを構成する(424)。アプリケーションは、次いで、各オブジェクトの各コンポーネントのためのメディアセグメントを取り出す(426)。メディアデコーダは、メディアセグメントを復号し(428)、復号メディアデータを没入型メディアレンダラに渡す(430)。
【0117】
没入型視覚レンダラは、反復的にユーザの最新ポーズを決定し(432)、各オブジェクトを再構成し、それをスワップチェーン画像にレンダリングすることによって、フレームを周期的にレンダリングする。スワップチェーン画像は、レンダリングのために合成器に渡される(434)。
【0118】
図6は、本開示の技法による、EDGARユーザ機器のための例示的な拡張現実セッションを示すコールフロー図である。XRクライアントデバイス140が、
図4の例に従って構成されているとき、XRクライアントデバイス140は、
図6のコールフローのいくつかの態様、たとえば、5GMSDアプリケーション252および対応するARエンジンによる機能を実施し得る。
図4の5G EDGEサーバデバイス250などのEDGEサーバは、スプリットレンダリングの形態で
図6の技法に参加することができ、この場合、EDGEサーバは、没入型メディアデコーダ258、シーン記述ハンドラ、およびメディアセッションハンドラ(MSH)254を含み得る。
【0119】
ユーザはアプリケーションを開始する。アプリケーションは、クラウドに接続して、ユーザのためのメディアプログラム(たとえば、練習ルーチン)のリストをフェッチする(440)。
【0120】
アプリケーションプロバイダ(AP)は、プログラム(たとえば、ルーチン)のリストをアプリケーションに送る(442)。各ルーチンは、そのルーチンのためのエントリポイントに関連付けられる。エントリポイントは、概して、シーン内のオブジェクトを記述するシーン記述であり、シーンを世界空間で固定する。
【0121】
アプリケーションは、選好選択のルーチンをユーザから受信する(444)。
【0122】
アプリケーションは、選択されたコンテンツへのエントリポイントに対する要求を送る(446)。アプリケーションプロバイダは、シーン記述へのエントリポイントおよびシーンの最適処理のための要件のリストで応答する。アプリケーションは、EDGEサポートが必要とされると決定し、アプリケーションにサービスし得る適切なエッジアプリケーションサーバ(AS)を発見するための要求をMSHに送る(448)。
【0123】
MSHは要件をAFに送り、候補エッジアプリケーションサーバ(EAS:edge application server)のリストを受信する(450)。
【0124】
MSHは候補のリストから適切なEASを選択する(452)。
【0125】
MSHは、EASのロケーションをアプリケーションに提供する(454)。
【0126】
アプリケーションは、EASに接続し、初期化情報を提供する(456)。初期化情報は、シーン記述エントリポイントまたは実際のシーン記述へのURL、その現在の処理能力、サポートされるフォーマットおよびプロトコル、などを含む。
【0127】
EASは、それに応じてサーバアプリケーションを構成し、クライアント用にカスタマイズされたエントリポイントを生成する(458)。フォーマットは、UEの能力に依存し得る。EASは、アプリケーションの現在の能力に基づいて、EASによって実施される処理量を調整する。たとえば、EASは、シーンライティングおよび光線追跡を実施し、次いで、そのアプリケーションに関する簡略化された3Dシーン記述を生成し得る。能力がより低いUEは、ステレオ眼ビュー(stereo eye view)および何らかの深度情報を含む、より平坦化されたシーンを受信し得る。
【0128】
残りのステップは、
図5のSTARコールフローからのステップ410から434と同様である。
【0129】
このように、
図5および
図6の方法は、エクステンデッドリアリティ(XR)データを処理する方法の例を表し、方法は、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにシーンのエントリポイントデータをパースするステップであって、1つまたは複数の必要とされる仮想オブジェクトが、1つよりも大きい数の動的仮想オブジェクトを含む、パースするステップと、エントリポイントデータを使用して、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化するステップであって、ストリーミングセッションに関するサービス品質(QoS)および課金情報を構成するステップを含む、初期化するステップと、それぞれの数のストリーミングセッションのうちの1つを介して、その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すステップと、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送るステップとを含む。
【0130】
図7は、本開示の技法による、XRデータを処理する例示的な方法を示すフローチャートである。
図7の方法は、概して、
図1のクライアントデバイス40または
図2のXRクライアントデバイス140など、XRクライアントデバイスによって実施され得る。XRクライアントデバイスは、
図3の5G STAR UEデバイス160の例に従って、ソロレンダリングを実施するか、または
図4の5G EDGAR UEデバイス220の例に従って、スプリットレンダリングを実施するように構成され得る。説明の目的で、
図7の方法は、
図2のXRクライアントデバイス140に関して説明される。
【0131】
最初に、XRクライアントデバイス140は、XRシーンのための1つまたは複数の動的仮想オブジェクトを決定し得る(500)。たとえば、XRクライアントデバイス140は、XRシーンのエントリポイントデータを含むシーン記述を受信しパースし得る。XRクライアントデバイス140は、XRシーンのための1つまたは複数の要求される仮想オブジェクトに関する情報を抽出し得る。要求される仮想オブジェクトは、1つまたは複数の動的仮想オブジェクト、たとえば、経時的に変更するように設計された仮想オブジェクト、を含み得る。いくつかの例では、要求される仮想オブジェクトは、静的仮想オブジェクトをやはり含み得る。
【0132】
XRクライアントデバイス140は、XRシーンのためのメディアストリーミングセッション、および動的仮想オブジェクトの各々のための1つまたは複数の追加のメディアストリーミングセッションを初期化し得る(502)。したがって、N個の動的仮想オブジェクトが存在する場合、XRクライアントデバイス140は、XRシーンに対して1つ、および動的仮想オブジェクトの各々に対して1つ、N+1個のメディアストリーミングセッションを初期化し得る。
【0133】
加えて、XRクライアントデバイス140は、動的仮想オブジェクトのタイプを決定し、ストリーミングセッションに関するサービス品質(QoS)および課金を構成し得る(504)。たとえば、XRクライアントデバイス140は、動的仮想オブジェクトに関するメディアデータが2Dであるかまたは3Dであるか、メディアストリーミングセッションに必要とされる帯域幅の量、メディアストリーミングセッションのために正確なユーザ測位情報が必要とされるかどうか、および/またはXRクライアントデバイス140がソロレンダリングを実施するように構成されるかまたはスプリットレンダリングを実施するように構成されるかに従って、QoSおよび課金を決定し得る。
【0134】
XRクライアントデバイス140は、次いで、それぞれのメディアストリーミングセッションを介して、XRシーンおよび動的仮想オブジェクトに関するメディアデータを取り出し得る(506)。XRクライアントデバイス140は、メディアストリーミングセッションの各々を介して受信されたメディアデータを復号し得る(508)。XRクライアントデバイス140はまた、受信メディアデータをレンダリングし得る(510)。XRクライアントデバイス140は、レンダリングされたメディアデータを含むビデオフレームをさらに合成し得る(512)。場合によっては、XRクライアントデバイス140は、現在のユーザポーズ情報(514)を決定し、ポーズ情報を使用して合成フレームを更新し得る(516)。最終的に、XRクライアントデバイス140は、フレームを表示し得る。
【0135】
このように、
図7の方法は、エクステンデッドリアリティ(XR)データを処理する方法の例を表し、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにシーンのエントリポイントデータをパースするステップであって、1つまたは複数の必要とされる仮想オブジェクトが、1つよりも大きい数の動的仮想オブジェクトを含む、パースするステップと、エントリポイントデータを使用して、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化するステップであって、ストリーミングセッションに関するサービス品質(QoS)および課金情報を構成するステップを含む、初期化するステップと、それぞれの数のストリーミングセッションのうちの1つを介して、その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すステップと、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送るステップとを含む。
【0136】
本開示の様々な例示的な技法が以下の条項において要約される:
【0137】
条項1: エクステンデッドリアリティ(XR)データを処理する方法であって、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにシーンのエントリポイントデータをパースするステップであって、1つまたは複数の必要とされる仮想オブジェクトが、1つよりも大きい数の動的仮想オブジェクトを含む、パースするステップと、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化するステップと、それぞれの数のストリーミングセッションのうちの1つを介して、その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すステップと、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送るステップとを含む、方法。
【0138】
条項2: XRセッションを作成するステップと、XRセッションのためにXRシーンを現実世界空間に固定するステップとをさらに含む、条項1の方法。
【0139】
条項3: 必要とされる仮想オブジェクトが、1つまたは複数の静的仮想オブジェクトをさらに含み、方法が、1つまたは複数の静的仮想オブジェクトの各々に関するメディアデータを取り出すステップをさらに含み、XRシーンをレンダリングするステップが、1つまたは複数の静的仮想オブジェクトに関して取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするステップをさらに含む、条項1および2のいずれかの方法。
【0140】
条項4: その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すステップが、その数の動的仮想オブジェクトの各々に関するマニフェストファイルを取り出すステップと、それぞれのマニフェストファイルを使用して、その数の動的仮想オブジェクトの各々のためのメディアセグメントを取り出すステップとを含む、条項1から3のいずれかの方法。
【0141】
条項5: マニフェストファイルがメディアプレゼンテーション記述(MPD)を含む、条項4の方法。
【0142】
条項6: その数の動的仮想オブジェクトの各々に対する没入型ビデオデコーダを構成するステップをさらに含む、条項1から5のいずれかの方法。
【0143】
条項7: 利用可能なXRセッションのリストを取り出すステップであって、利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すステップと、利用可能なXRセッションのうちの1つの選択を受信するステップと、利用可能なXRセッションのうちの選択された1つに関するシーン記述を取り出すステップであって、シーン記述が、利用可能なXRセッションのうちの選択された1つに関連するエントリポイントデータを含む、取り出すステップとをさらに含む、条項1から6のいずれかの方法。
【0144】
条項8: 利用可能なXRセッションのリストを取り出すステップであって、利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すステップと、利用可能なXRセッションのうちの1つの選択を受信するステップと、利用可能なXRセッションのうちの1つに関連するエントリポイントデータを要求するステップと、要求されたエントリポイントデータと、利用可能なXRセッションのうちの選択された1つに関するシーンの最適処理のための要件を表すデータとを受信するステップと、要件がエッジサポートを含むとの決定に応答して、利用可能なXRセッションのうちの選択された1つのためのエッジアプリケーションサーバ(AS)を表すデータを要求するステップと、利用可能なXRセッションのうちの選択された1つに関する初期化情報をエッジASに送るステップと、利用可能なXRセッションのうちの選択された1つに関するカスタマイズされたエントリポイントデータをエッジASから受信するステップとをさらに含む、条項1から6のいずれかの方法。
【0145】
条項9: エントリポイントデータが、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を含むシーン記述を含む条項1から8のいずれかの方法。
【0146】
条項10: 動的仮想オブジェクトが、動的メッシュ、アニメーションメッシュ、またはポイントクラウドのうちの少なくとも1つを含む、条項1から9のいずれかの方法。
【0147】
条項11: その数の動的仮想オブジェクトのうちの少なくとも1つに関するオーディオデータを取り出すステップと、取り出されたオーディオデータを提示するステップとをさらに含む、条項1から10のいずれかの方法。
【0148】
条項12: エクステンデッドリアリティ(XR)データを処理するためのデバイスであって、条項1から11のいずれかの方法を実施するための1つまたは複数の手段を備えるデバイス。
【0149】
条項13: 1つまたは複数の手段が、回路内において実装される1つまたは複数のプロセッサを備える、条項12のデバイス。
【0150】
条項14: XRデータを表示するように構成されたディスプレイをさらに含む、条項12および13のいずれかのデバイス。
【0151】
条項15: デバイスが、カメラ、コンピュータ、モバイルデバイス、ブロードキャスト受信機デバイス、またはセットトップボックスのうちの1つまたは複数を含む、条項12から14のいずれかのデバイス。
【0152】
条項16: XRデータを記憶するように構成されたメモリをさらに含む、条項12から15のデバイス。
【0153】
条項17: 実行されると、ビデオデータを復号するためのデバイスのプロセッサに条項1から11のいずれかの方法を実施させる命令を記憶した、コンピュータ可読記憶媒体。
【0154】
条項18: エクステンデッドリアリティ(XR)データを処理するためのデバイスであって、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにシーンのエントリポイントデータをパースするための手段であって、1つまたは複数の必要とされる仮想オブジェクトが、1つよりも大きい数の動的仮想オブジェクトを含む、パースするための手段と、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化するための手段と、それぞれの数のストリーミングセッションのうちの1つを介して、その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すための手段と、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送るための手段とを含む、デバイス。
【0155】
条項19: エクステンデッドリアリティ(XR)データを処理する方法であって、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにシーンのエントリポイントデータをパースするステップであって、1つまたは複数の必要とされる仮想オブジェクトが、1つよりも大きい数の動的仮想オブジェクトを含む、パースするステップと、エントリポイントデータを使用して、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化するステップであって、ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従ってストリーミングセッションを初期化するステップを含む、初期化するステップと、それぞれの数のストリーミングセッションのうちの1つを介して、その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すステップと、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送るステップとを含む方法。
【0156】
条項20: ストリーミングセッションに関するQoSおよび課金情報を構成するステップが、動的仮想オブジェクトの各々に関して、動的仮想オブジェクトのタイプを決定するステップと、動的仮想オブジェクトのタイプに従って、QoSおよび課金情報を決定するステップとを含む、条項19の方法。
【0157】
条項21: 動的仮想オブジェクトのうちの少なくとも1つに関して、動的仮想オブジェクトのうちの少なくとも1つのタイプに関連するストリーミングセッションに関するメディアデータが2次元(2D)メディアデータであるかまたは3次元(3D)メディアデータであるかを決定するステップと、動的仮想オブジェクトのうちの少なくとも1つのタイプに関連するストリーミングセッションに関するメディアデータが2Dメディアデータであるかまたは3Dメディアデータであるかに従って、QoSおよび課金情報を決定するステップとをさらに含む、条項20の方法。
【0158】
条項22: ストリーミングセッションに関するQoSおよび課金情報を構成するステップが、動的仮想オブジェクトの各々に関して、動的仮想オブジェクトのためのストリーミングセッションに関連するメディアデータのために必要とされる帯域幅の量を決定するステップと、必要とされる帯域幅の量に従って、動的仮想オブジェクトのためのストリーミングセッションに関するQoSおよび課金情報を構成するステップとを含む、条項19の方法。
【0159】
条項23: ストリーミングセッションに関するQoSおよび課金情報を構成するステップが、動的仮想オブジェクトの各々に関して、動的仮想オブジェクトのためのストリーミングセッションのために正確なユーザ測位情報が必要とされると決定するステップと、正確なユーザ測位情報が必要とされるとの決定に従って、動的仮想オブジェクトのためのストリーミングセッションに関するQoSおよび課金情報を構成するステップとを含む、条項19の方法。
【0160】
条項24: ストリーミングセッションに関するQoSおよび課金情報を構成するステップが、レンダリングユニットがメディアデータのスプリットレンダリングを実施するように構成されているかどうかを決定するステップと、レンダリングユニットがスプリットレンダリングを実施するように構成されていないとき、ストリーミングセッションに関する第1のビットレートを決定するステップと、レンダリングユニットがスプリットレンダリングを実施するように構成されているとき、ストリーミングセッションに関する第2のビットレートを決定するステップであって、第2のビットレートが第1のビットレートよりも高い、決定するステップとを含む、条項19の方法。
【0161】
条項25: XRセッションを作成するステップと、XRセッションのためにXRシーンを現実世界空間に固定するステップとをさらに含む、条項19の方法。
【0162】
条項26: 必要とされる仮想オブジェクトが、1つまたは複数の静的仮想オブジェクトをさらに含み、方法が、1つまたは複数の静的仮想オブジェクトの各々に関するメディアデータを取り出すステップをさらに含み、XRシーンをレンダリングするステップが、1つまたは複数の静的仮想オブジェクトに関して取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするステップをさらに含む、条項19の方法。
【0163】
条項27: その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すステップが、その数の動的仮想オブジェクトの各々に関するマニフェストファイルを取り出すステップと、それぞれのマニフェストファイルを使用して、その数の動的仮想オブジェクトの各々のためのメディアセグメントを取り出すステップとを含む、条項19の方法。
【0164】
条項28: マニフェストファイルがメディアプレゼンテーション記述(MPD)を含む、条項27の方法。
【0165】
条項29: その数の動的仮想オブジェクトの各々に対する没入型ビデオデコーダを構成するステップをさらに含む、条項1の方法。
【0166】
条項30: 利用可能なXRセッションのリストを取り出すステップであって、利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すステップと、利用可能なXRセッションのうちの1つの選択を受信するステップと、利用可能なXRセッションのうちの選択された1つに関するシーン記述を取り出すステップであって、シーン記述が、利用可能なXRセッションのうちの選択された1つに関連するエントリポイントデータを含む、取り出すステップとをさらに含む、条項1の方法。
【0167】
条項31: 利用可能なXRセッションのリストを取り出すステップであって、利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すステップと、利用可能なXRセッションのうちの1つの選択を受信するステップと、利用可能なXRセッションのうちの1つに関連するエントリポイントデータを要求するステップと、要求されたエントリポイントデータと、利用可能なXRセッションのうちの選択された1つに関するシーンの最適処理のための要件を表すデータとを受信するステップと、要件がエッジサポートを含むとの決定に応答して、利用可能なXRセッションのうちの選択された1つのためのエッジアプリケーションサーバ(AS)を表すデータを要求するステップと、利用可能なXRセッションのうちの選択された1つに関する初期化情報をエッジASに送るステップと、利用可能なXRセッションのうちの選択された1つに関するカスタマイズされたエントリポイントデータをエッジASから受信するステップとをさらに含む、条項1の方法。
【0168】
条項32: エントリポイントデータが、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を含むシーン記述を含む、条項1の方法。
【0169】
条項33: 動的仮想オブジェクトが、動的メッシュ、アニメーションメッシュ、またはポイントクラウドのうちの少なくとも1つを含む、条項1の方法。
【0170】
条項34: その数の動的仮想オブジェクトのうちの少なくとも1つに関するオーディオデータを取り出すステップと、取り出されたオーディオデータを提示するステップとをさらに含む、条項1の方法。
【0171】
条項35: エクステンデッドリアリティ(XR)データを処理するためのデバイスであって、XRデータおよびメディアデータを記憶するように構成されたメモリと、回路において実装される1つまたは複数のプロセッサとを含み、1つまたは複数のプロセッサが、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにシーンのエントリポイントデータをパースすることであって、1つまたは複数の必要とされる仮想オブジェクトが、1つよりも大きい数の動的仮想オブジェクトを含む、パースすることと、エントリポイントデータを使用して、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化することであって、その数のストリーミングセッションを初期化するために、1つまたは複数のプロセッサが、ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従ってストリーミングセッションを初期化するように構成される、初期化することと、それぞれの数のストリーミングセッションのうちの1つを介して、その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すことと、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送ることとを行うように構成される、デバイス。
【0172】
条項36: ストリーミングセッションに関するQoSおよび課金情報を構成するために、1つまたは複数のプロセッサが、動的仮想オブジェクトの各々に関して、動的仮想オブジェクトのタイプを決定することと、動的仮想オブジェクトのタイプに従って、QoSおよび課金情報を決定することとを行うように構成される、条項35のデバイス。
【0173】
条項37: 1つまたは複数のプロセッサが、XRセッションを作成することと、XRセッションのためにXRシーンを現実世界空間に固定することとを行うようにさらに構成される、条項35のデバイス。
【0174】
条項38: 必要とされる仮想オブジェクトが、1つまたは複数の静的仮想オブジェクトをさらに含み、1つまたは複数のプロセッサが、1つまたは複数の静的仮想オブジェクトの各々に関するメディアデータを取り出すようにさらに構成され、XRシーンをレンダリングするために、1つまたは複数のプロセッサが、1つまたは複数の静的仮想オブジェクトに関して取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするようにさらに構成される、条項35のデバイス。
【0175】
条項39: その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すために、1つまたは複数のプロセッサが、その数の動的仮想オブジェクトの各々に関するマニフェストファイルを取り出すことと、それぞれのマニフェストファイルを使用して、その数の動的仮想オブジェクトの各々のためのメディアセグメントを取り出すこととを行うように構成される、条項35のデバイス。
【0176】
条項40: 1つまたは複数のプロセッサが、利用可能なXRセッションのリストを取り出すことであって、利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すことと、利用可能なXRセッションのうちの1つの選択を受信することと、利用可能なXRセッションのうちの選択された1つに関するシーン記述を取り出すことであって、シーン記述が、利用可能なXRセッションのうちの選択された1つに関連するエントリポイントデータを含む、取り出すこととを行うようにさらに構成される、条項35のデバイス。
【0177】
条項41: 1つまたは複数のプロセッサが、利用可能なXRセッションのリストを取り出すことであって、利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すことと、利用可能なXRセッションのうちの1つの選択を受信することと、利用可能なXRセッションのうちの1つに関連するエントリポイントデータを要求することと、要求されたエントリポイントデータと、利用可能なXRセッションのうちの選択された1つに関するシーンの最適処理のための要件を表すデータとを受信することと、要件がエッジサポートを含むとの決定に応答して、利用可能なXRセッションのうちの選択された1つのためのエッジアプリケーションサーバ(AS)を表すデータを要求することと、利用可能なXRセッションのうちの選択された1つに関する初期化情報をエッジASに送ることと、利用可能なXRセッションのうちの選択された1つに関するカスタマイズされたエントリポイントデータをエッジASから受信することとを行うようにさらに構成される、条項35のデバイス。
【0178】
条項42: エントリポイントデータが、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を含むシーン記述を含む、条項35のデバイス。
【0179】
条項43: 動的仮想オブジェクトが、動的メッシュ、アニメーションメッシュ、またはポイントクラウドのうちの少なくとも1つを含む、条項35のデバイス。
【0180】
条項44: XRデータを表示するように構成されたディスプレイをさらに含む、条項35のデバイス。
【0181】
条項45: デバイスが、カメラ、コンピュータ、モバイルデバイス、ブロードキャスト受信機デバイス、またはセットトップボックスのうちの1つまたは複数を含む、条項35のデバイス。
【0182】
条項46: その上に命令を記憶したコンピュータ可読記憶媒体であって、命令が、実行されると、プロセッサに、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにシーンのエントリポイントデータをパースすることであって、1つまたは複数の必要とされる仮想オブジェクトが、1つよりも大きい数の動的仮想オブジェクトを含む、パースすることと、エントリポイントデータを使用して、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化することであって、プロセッサにその数のストリーミングセッションを初期化させる命令が、プロセッサに、ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従ってストリーミングセッションを初期化させる命令を含む、初期化することと、それぞれの数のストリーミングセッションのうちの1つを介して、その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すことと、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送ることとを行わせる、コンピュータ可読記憶媒体。
【0183】
条項47: エクステンデッドリアリティ(XR)データを処理するためのデバイスであって、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにシーンのエントリポイントデータをパースするための手段であって、1つまたは複数の必要とされる仮想オブジェクトが、1つよりも大きい数の動的仮想オブジェクトを含む、パースするための手段と、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化するための手段であって、ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従ってストリーミングセッションを初期化するための手段を含む、初期化するための手段と、それぞれの数のストリーミングセッションのうちの1つを介して、その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すための手段と、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送るための手段とを含む、デバイス。
【0184】
条項48: エクステンデッドリアリティ(XR)データを処理する方法であって、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにシーンのエントリポイントデータをパースするステップであって、1つまたは複数の必要とされる仮想オブジェクトが、1つよりも大きい数の動的仮想オブジェクトを含む、パースするステップと、エントリポイントデータを使用して、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化するステップであって、ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従ってストリーミングセッションを初期化するステップを含む、初期化するステップと、それぞれの数のストリーミングセッションのうちの1つを介して、その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すステップと、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送るステップとを含む方法。
【0185】
条項49: ストリーミングセッションに関するQoSおよび課金情報を構成するステップが、動的仮想オブジェクトの各々に関して、動的仮想オブジェクトのタイプを決定するステップと、動的仮想オブジェクトのタイプに従って、QoSおよび課金情報を決定するステップとを含む、条項48の方法。
【0186】
条項50: 動的仮想オブジェクトのうちの少なくとも1つに関して、動的仮想オブジェクトのうちの少なくとも1つのタイプに関連するストリーミングセッションに関するメディアデータが2次元(2D)メディアデータであるかまたは3次元(3D)メディアデータであるかを決定するステップと、動的仮想オブジェクトのうちの少なくとも1つのタイプに関連するストリーミングセッションに関するメディアデータが2Dメディアデータであるかまたは3Dメディアデータであるかに従って、QoSおよび課金情報を決定するステップとをさらに含む、条項49の方法。
【0187】
条項51: ストリーミングセッションに関するQoSおよび課金情報を構成するステップが、動的仮想オブジェクトの各々に関して、動的仮想オブジェクトのためのストリーミングセッションに関連するメディアデータのために必要とされる帯域幅の量を決定するステップと、必要とされる帯域幅の量に従って、動的仮想オブジェクトのためのストリーミングセッションに関するQoSおよび課金情報を構成するステップとを含む、条項48から50のいずれかの方法。
【0188】
条項52: ストリーミングセッションに関するQoSおよび課金情報を構成するステップが、動的仮想オブジェクトの各々に関して、動的仮想オブジェクトのためのストリーミングセッションのために正確なユーザ測位情報が必要とされると決定するステップと、正確なユーザ測位情報が必要とされるとの決定に従って、動的仮想オブジェクトのためのストリーミングセッションに関するQoSおよび課金情報を構成するステップとを含む、条項48から51のいずれかの方法。
【0189】
条項53: ストリーミングセッションに関するQoSおよび課金情報を構成するステップが、レンダリングユニットがメディアデータのスプリットレンダリングを実施するように構成されているかどうかを決定するステップと、レンダリングユニットがスプリットレンダリングを実施するように構成されていないとき、ストリーミングセッションに関する第1のビットレートを決定するステップと、レンダリングユニットがスプリットレンダリングを実施するように構成されているとき、ストリーミングセッションに関する第2のビットレートを決定するステップであって、第2のビットレートが第1のビットレートよりも高い、決定するステップとを含む、条項48から52のいずれかの方法。
【0190】
条項54: XRセッションを作成するステップと、XRセッションのためにXRシーンを現実世界空間に固定するステップとをさらに含む、条項48から53のいずれかの方法。
【0191】
条項55: 必要とされる仮想オブジェクトが、1つまたは複数の静的仮想オブジェクトをさらに含み、方法が、1つまたは複数の静的仮想オブジェクトの各々に関するメディアデータを取り出すステップをさらに含み、XRシーンをレンダリングするステップが、1つまたは複数の静的仮想オブジェクトに関して取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするステップをさらに含む、条項48から54のいずれかの方法。
【0192】
条項56: その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すステップが、その数の動的仮想オブジェクトの各々に関するマニフェストファイルを取り出すステップと、それぞれのマニフェストファイルを使用して、その数の動的仮想オブジェクトの各々のためのメディアセグメントを取り出すステップとを含む、条項48から55のいずれかの方法。
【0193】
条項57: マニフェストファイルがメディアプレゼンテーション記述(MPD)を含む、条項56の方法。
【0194】
条項58: その数の動的仮想オブジェクトの各々に対する没入型ビデオデコーダを構成するステップをさらに含む、条項48から57のいずれかの方法。
【0195】
条項59: 利用可能なXRセッションのリストを取り出すステップであって、利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すステップと、利用可能なXRセッションのうちの1つの選択を受信するステップと、利用可能なXRセッションのうちの選択された1つに関するシーン記述を取り出すステップであって、シーン記述が、利用可能なXRセッションのうちの選択された1つに関連するエントリポイントデータを含む、取り出すステップとをさらに含む、条項48から58のいずれかの方法。
【0196】
条項60: 利用可能なXRセッションのリストを取り出すステップであって、利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すステップと、利用可能なXRセッションのうちの1つの選択を受信するステップと、利用可能なXRセッションのうちの1つに関連するエントリポイントデータを要求するステップと、要求されたエントリポイントデータと、利用可能なXRセッションのうちの選択された1つに関するシーンの最適処理のための要件を表すデータとを受信するステップと、要件がエッジサポートを含むとの決定に応答して、利用可能なXRセッションのうちの選択された1つのためのエッジアプリケーションサーバ(AS)を表すデータを要求するステップと、利用可能なXRセッションのうちの選択された1つに関する初期化情報をエッジASに送るステップと、利用可能なXRセッションのうちの選択された1つに関するカスタマイズされたエントリポイントデータをエッジASから受信するステップとをさらに含む、条項48から59のいずれかの方法。
【0197】
条項61: エントリポイントデータが、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を含むシーン記述を含む、条項60の方法。
【0198】
条項62: 動的仮想オブジェクトが、動的メッシュ、アニメーションメッシュ、またはポイントクラウドのうちの少なくとも1つを含む、条項48から61のいずれかの方法。
【0199】
条項63: その数の動的仮想オブジェクトのうちの少なくとも1つに関するオーディオデータを取り出すステップと、取り出されたオーディオデータを提示するステップとをさらに含む、条項48から62のいずれかの方法。
【0200】
条項64: エクステンデッドリアリティ(XR)データを処理するためのデバイスであって、XRデータおよびメディアデータを記憶するように構成されたメモリと、回路において実装される1つまたは複数のプロセッサとを含み、1つまたは複数のプロセッサが、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにシーンのエントリポイントデータをパースすることであって、1つまたは複数の必要とされる仮想オブジェクトが、1つよりも大きい数の動的仮想オブジェクトを含む、パースすることと、エントリポイントデータを使用して、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化することであって、その数のストリーミングセッションを初期化するために、1つまたは複数のプロセッサが、ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従ってストリーミングセッションを初期化するように構成される、初期化することと、それぞれの数のストリーミングセッションのうちの1つを介して、その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すことと、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送ることとを行うように構成される、デバイス。
【0201】
条項65: ストリーミングセッションに関するQoSおよび課金情報を構成するために、1つまたは複数のプロセッサが、動的仮想オブジェクトの各々に関して、動的仮想オブジェクトのタイプを決定することと、動的仮想オブジェクトのタイプに従って、QoSおよび課金情報を決定することとを行うように構成される、条項64のデバイス。
【0202】
条項66: 1つまたは複数のプロセッサが、XRセッションを作成することと、XRセッションのためにXRシーンを現実世界空間に固定することとを行うようにさらに構成される、条項64および65のいずれかのデバイス。
【0203】
条項67: 必要とされる仮想オブジェクトが、1つまたは複数の静的仮想オブジェクトをさらに含み、1つまたは複数のプロセッサが、1つまたは複数の静的仮想オブジェクトの各々に関するメディアデータを取り出すようにさらに構成され、XRシーンをレンダリングするために、1つまたは複数のプロセッサが、1つまたは複数の静的仮想オブジェクトに関して取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするようにさらに構成される、条項64から66のいずれかのデバイス。
【0204】
条項68: その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すために、1つまたは複数のプロセッサが、その数の動的仮想オブジェクトの各々に関するマニフェストファイルを取り出すことと、それぞれのマニフェストファイルを使用して、その数の動的仮想オブジェクトの各々のためのメディアセグメントを取り出すこととを行うように構成される、条項64から67のいずれかのデバイス。
【0205】
条項69: 1つまたは複数のプロセッサが、利用可能なXRセッションのリストを取り出すことであって、利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すことと、利用可能なXRセッションのうちの1つの選択を受信することと、利用可能なXRセッションのうちの選択された1つに関するシーン記述を取り出すことであって、シーン記述が、利用可能なXRセッションのうちの選択された1つに関連するエントリポイントデータを含む、取り出すこととを行うようにさらに構成される、条項64から68のいずれかのデバイス。
【0206】
条項70: 1つまたは複数のプロセッサが、利用可能なXRセッションのリストを取り出すことであって、利用可能なXRセッションの各々が関連するエントリポイントデータを有する、取り出すことと、利用可能なXRセッションのうちの1つの選択を受信することと、利用可能なXRセッションのうちの1つに関連するエントリポイントデータを要求することと、要求されたエントリポイントデータと、利用可能なXRセッションのうちの選択された1つに関するシーンの最適処理のための要件を表すデータとを受信することと、要件がエッジサポートを含むとの決定に応答して、利用可能なXRセッションのうちの選択された1つのためのエッジアプリケーションサーバ(AS)を表すデータを要求することと、利用可能なXRセッションのうちの選択された1つに関する初期化情報をエッジASに送ることと、利用可能なXRセッションのうちの選択された1つに関するカスタマイズされたエントリポイントデータをエッジASから受信することとを行うようにさらに構成される、条項64から69のいずれかのデバイス。
【0207】
条項71: エントリポイントデータが、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を含むシーン記述を含む条項64から70のいずれかのデバイス。
【0208】
条項72: 動的仮想オブジェクトが、動的メッシュ、アニメーションメッシュ、またはポイントクラウドのうちの少なくとも1つを含む、条項64から71のいずれかのデバイス。
【0209】
条項73: XRデータを表示するように構成されたディスプレイをさらに含む、条項64から72のいずれかのデバイス。
【0210】
条項74: デバイスが、カメラ、コンピュータ、モバイルデバイス、ブロードキャスト受信機デバイス、またはセットトップボックスのうちの1つまたは複数を備える、条項64から73のいずれかのデバイス。
【0211】
条項75: その上に命令を記憶したコンピュータ可読記憶媒体であって、命令が、実行されると、プロセッサに、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにシーンのエントリポイントデータをパースすることであって、1つまたは複数の必要とされる仮想オブジェクトが、1つよりも大きい数の動的仮想オブジェクトを含む、パースすることと、エントリポイントデータを使用して、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化することであって、プロセッサにその数のストリーミングセッションを初期化させる命令が、プロセッサに、ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従ってストリーミングセッションを初期化させる命令を含む、初期化することと、それぞれの数のストリーミングセッションのうちの1つを介して、その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すことと、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送ることとを行わせる、コンピュータ可読記憶媒体。
【0212】
条項76: エクステンデッドリアリティ(XR)データを処理するためのデバイスであって、XRシーンのための1つまたは複数の必要とされる仮想オブジェクトに関する情報を抽出するためにシーンのエントリポイントデータをパースするための手段であって、1つまたは複数の必要とされる仮想オブジェクトが、1つよりも大きい数の動的仮想オブジェクトを含む、パースするための手段と、動的仮想オブジェクトの数に等しい数のストリーミングセッションを初期化するための手段であって、ストリーミングセッションに関する構成されたサービス品質(QoS)および課金情報に従ってストリーミングセッションを初期化するための手段を含む、初期化するための手段と、それぞれの数のストリーミングセッションのうちの1つを介して、その数の動的仮想オブジェクトの各々に関するメディアデータを取り出すための手段と、取り出されたメディアデータをXRシーン内の対応するロケーションにおいて含めるようにXRシーンをレンダリングするために、取り出されたメディアデータをレンダリングユニットに送るための手段とを含む、デバイス。
【0213】
1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装されてよい。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるかまたはコンピュータ可読媒体を介して送信されてよく、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に相当するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含んでよい。このように、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実施のための命令、コード、および/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品がコンピュータ可読媒体を含んでよい。
【0214】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用でき、コンピュータによってアクセスすることができる任意の他の媒体を備えてもよい。また、いかなる接続も適切にコンピュータ可読媒体と呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL:digital subscriber line)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義の中に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体が、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。ディスク(disk)およびディスク(disc)は、本明細書で使用するとき、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【0215】
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価な集積論理回路もしくはディスクリート論理回路などの、1つまたは複数のプロセッサによって実行されてもよい。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、または本明細書で説明された技法の実装に適した任意の他の構造のいずれかを指すことがある。加えて、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/もしくはソフトウェアモジュール内に提供されるか、または複合コーデックに組み込まれ得る。また、技法は、1つまたは複数の回路または論理要素において完全に実装され得る。
【0216】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装されてもよい。開示された技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて本開示で説明したが、それらは必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットは、コーデックハードウェアユニットにおいて組み合わせられてもよく、または適切なソフトウェアおよび/もしくはファームウェアとともに、上で説明されたような1つまたは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてもよい。
【0217】
様々な例が説明されてきた。これらおよび他の例は、以下の特許請求の範囲内に入る。
【符号の説明】
【0218】
10 システム
20 コンテンツ準備デバイス
22 オーディオソース
24 ビデオソース
26 オーディオエンコーダ
28 ビデオエンコーダ
30 カプセル化ユニット
32 出力インターフェース
40 クライアントデバイス
42 オーディオ出力部
44 ビデオ出力部
46 オーディオデコーダ
48 ビデオデコーダ
50 カプセル化解除ユニット
52 取出しユニット
54 ネットワークインターフェース
60 サーバデバイス
62 記憶媒体
64 マルチメディアコンテンツ
66 マニフェストファイル
68 表現
68A~68N 表現
70 要求処理ユニット
72 ネットワークインターフェース
74 ネットワーク
100 コンピューティングシステム
110 エクステンデッドリアリティ(XR)サーバデバイス
112 XRシーン生成ユニット
114 XRビューポートプリレンダリングラスタ化ユニット
116 2Dメディア符号化ユニット
118 XRメディアコンテンツ配信ユニット
120 5Gシステム(5GS)配信ユニット
130 ネットワーク
132 追跡およびセンサー情報
134 プリレンダリングされた2Dメディアデータ
140 XRクライアントデバイス
142 XRビューポートレンダリングユニット
144 2Dメディアデコーダ
146 追跡/XRセンサー
148 XRメディアコンテンツ配信ユニット
150 5GS配信ユニット
152 ディスプレイデバイス
160 5G STAR UEデバイス
162 センサー
164 カメラ
166 視覚エンジン
168 ディスプレイ
170 スピーカー
172 ポーズ補正ユニット
174 音場マッピングユニット
176 シーングラフ処理ユニット
178 合成ユニット
180 ユーザインターフェース
182 AR/MRアプリケーション
184 5Gメディアストリーミングダウンリンク(5GMSd)アウェアアプリケーション
186 メディアセッションハンドラ(MSH)
188 アクセスクライアント
190 没入型メディアデコーダ
192 没入型視覚レンダラ
194 没入型オーディオレンダラ
200 5GMSd+AR/MRアプリケーションプロバイダ
210 5GMSdアプリケーションサーバ(AS)
212 マニフェストサーバ
214 セグメントサーバ
220 5G EDGe依存AR(EDGAR)ユーザ機器(UE)デバイス
222 センサー
224 カメラ
226 マイクロフォン
228 視覚エンジン
230 エンコーダ
232 デコーダ
234 合成ユニット
236 ポーズ補正ユニット
238 ディスプレイ
240 スピーカー
242 5Gシステム
244 ユーザインターフェース
246 AR/MRアプリケーション
250 5G EDGEサーバデバイス
252 5GMSdアプリケーション
254 MSH
256 アクセスクライアント
258 デコーダ
260 レンダリングユニット
262 合成ユニット
264 デコーダ
266 エンコーダ
268 5Gシステム
270 5GMSd+AR/MRアプリケーションプロバイダ
272 5GMSd
280 5GMSd AS
282 マニフェストサーバ
284 セグメントサーバ
【国際調査報告】