(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-08
(45)【発行日】2023-05-16
(54)【発明の名称】ツリーベースのポイントクラウド圧縮メディアストリームのための方法、装置、およびプログラム
(51)【国際特許分類】
H04N 21/442 20110101AFI20230509BHJP
H04N 21/658 20110101ALI20230509BHJP
【FI】
H04N21/442
H04N21/658
(21)【出願番号】P 2021534782
(86)(22)【出願日】2020-03-19
(86)【国際出願番号】 US2020023560
(87)【国際公開番号】W WO2020191159
(87)【国際公開日】2020-09-24
【審査請求日】2021-06-16
(32)【優先日】2019-03-19
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-03-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シュアイ・ジァオ
(72)【発明者】
【氏名】イーラジ・ソダガー
(72)【発明者】
【氏名】シャン・リュウ
(72)【発明者】
【氏名】ビョンドゥ・チェ
(72)【発明者】
【氏名】セフン・ヤ
(72)【発明者】
【氏名】アーラシュ・ヴォソウギ
【審査官】川中 龍太
(56)【参考文献】
【文献】国際公開第2020/137642(WO,A1)
【文献】特表2022-518367(JP,A)
【文献】特開2019-024197(JP,A)
【文献】特開2018-101404(JP,A)
【文献】米国特許出願公開第2018/0137224(US,A1)
【文献】特開2018-029392(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 - 21/858
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
ムービング・ピクチャー・エクスパーツ・グループ(MPEG)-ダイナミック・アダプティブ・ストリーミング・オーバー・http(DASH)を使用して、ツリーベースのポイントクラウド圧縮(PCC)メディアストリームを取得する、少なくとも1つのプロセッサによって実行される方法であって、
PCCユニフォーム・リソース・インジケータ(URI)およびPCC三次元(3D)ディスクリプタを含むメディア表現記述(MPD)をサーバから取得するステップと、
前記取得されたMPDに含まれる、PCCメディアストリームをシグナリングするための前記PCC URIが、前記ツリーベースのPCCメディアストリームがアクセスされるべきであることを示しているかどうかを判定するステップと、
前記ツリーベースのPCCメディアストリームがアクセスされるべきであること示していると判定された前記PCC URIに基づいて、前記取得されたMPDに含まれる前記PCC 3Dディスクリプタを使用して、前記ツリーベースのPCCメディアストリームを前記サーバから取得するステップと、
を含み、
前記PCC 3Dディスクリプタは、前記ツリーベースのPCCメディアストリームのために、ルート(R)、ツリーレベル(L)、および前記ツリーレベルの子の順序(C)のそれぞれの複数のディスクリプタを含む、方法。
【請求項2】
前記MPDは、前記ツリーベースのPCCメディアストリームのフォーマットをさらに含む、請求項1に記載の方法。
【請求項3】
前記ツリーベースのPCCメディアストリームは、八分木ベース、k次元ツリーベース、および四分木ベースのPCCメディアストリームのいずれか1つまたは任意の組合せを含む、請求項1または2に記載の方法。
【請求項4】
前記ツリーベースのPCCメディアストリームを取得する前記ステップは、前記ツリーベースのPCCメディアストリームがアクセスされるべきであることを示していると判定された前記PCC URIに基づいて、前記取得されたMPDに含まれる前記PCC 3Dディスクリプタを含むハイパーテキスト・トランスファー・プロトコル(HTTP)getメッセージを前記サーバに送信するステップを含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記ツリーベースのPCCメディアストリームを取得する前記ステップは、送信される前記HTTP getメッセージに基づいて、前記ツリーベースのPCCメディアストリームを含むHTTP responseメッセージを前記サーバから受信するステップをさらに含む、請求項4に記載の方法。
【請求項6】
前記取得されたツリーベースのPCCメディアストリームを表示するステップをさらに含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
ムービング・ピクチャー・エクスパーツ・グループ(MPEG)-ダイナミック・アダプティブ・ストリーミング・オーバー・http(DASH)を使用して、ツリーベースのポイントクラウド圧縮(PCC)メディアストリームを取得する装置であって、前記装置は、
プログラムコードを記憶するように構成される少なくとも1つのメモリと、
前記プログラムコードを読み出して、前記プログラムコードの命令通りに動作するように構成される少なくとも1つのプロセッサと、を含み、前記プログラムコードは、請求項1から6のいずれか一項に記載の方法を前記少なくとも1つのプロセッサに実行させるように構成されている、装置。
【請求項8】
コンピュータプログラムであって
、ムービング・ピクチャー・エクスパーツ・グループ(MPEG)-ダイナミック・アダプティブ・ストリーミング・オーバー・http(DASH)を使用して、ツリーベースのポイントクラウド圧縮(PCC)メディアストリームを取得する装置の少なくとも1つのプロセッサによって実行されると、請求項1から6のいずれか一項に記載の方法を前記少なくとも1つのプロセッサに実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、米国特許商標庁に、2019年3月19日に出願された米国仮特許出願第62/820,683号および2020年3月18日に出願された米国特許出願第16/822,198号の優先権を主張し、その開示は引用することにより全て本明細書に組み込まれる。
【背景技術】
【0002】
ポイントクラウドデータのストリーミングは、ポイントクラウドデータの大きさおよびネットワーク帯域幅の制限のために、多くの課題を有する。したがって、視聴者に高品質の三次元(Three-Dimensional:3D)体験を提供するために、そのようなメディアコンテンツのための新しいストリーミングスキーマが必要とされている。しかしながら、現在のネットワークを介したポイントクラウドベースの没入型ビデオコンテンツのストリーミングは広く研究されておらず、現在のムービング・ピクチャー・エクスパーツ・グループ(Moving Picture Experts Group:MPEG)規格において、そのようなデータ集約型ビデオコンテンツのストリーミングのサポートは十分に提供されていない。
【0003】
例えば、MPEG-ダイナミック・アダプティブ・ストリーミング・オーバー・HTTP(Dynamic Adaptive Streaming Over HTTP:DASH)規格は、ライブおよびビデオオンデマンドの両方のユースケースのための重要なストリーミング技術になりつつある。MPEG-DASH規格は、二次元(Two-Dimensional:2D)メディアストリーミングのためのダイナミック・アダプティブ・スキーマを採用している。360度/仮想現実(Virtual Reality:VR)コンテンツに関しても、MPEG-DASH規格は、ストリームの空間的関係を表現するために、標準化された空間解像度ディスクリプタ(Spatial-Resolution Descriptor:SRD)を有する。SRDを使用すると、全方位ビデオコンテンツを様々な数のスライス/タイルに分割し、ユーザの関心領域に基づいてストリーミングすることができる。しかしながら、実際の3D空間メディアストリーミングのサポートは存在しない。
【発明の概要】
【課題を解決するための手段】
【0004】
実施形態によれば、少なくとも1つのプロセッサによって実行される、ムービング・ピクチャー・エクスパーツ・グループ(Moving Picture Experts Group:MPEG)-ダイナミック・アダプティブ・ストリーミング・オーバー・http(Dynamic Adaptive Streaming Over HTTP:DASH)を使用して、ツリーベースのポイントクラウド圧縮(Point Cloud Compression:PCC)メディアストリームを取得する方法は、PCCユニフォーム・リソース・インジケータ(Uniform Resource Indicator:URI)およびPCC三次元(Three-Dimensional:3D)ディスクリプタを含むメディア表現記述(Media Representation Description:MPD)をサーバから取得するステップと、取得されたMPDに含まれるPCC URIが、ツリーベースのPCCメディアストリームがアクセスされるべきであることを示しているかどうかを判定するステップと、を含む。前記方法は、ツリーベースのPCCメディアストリームがアクセスされるべきであること示していると判定されたPCC URIに基づいて、取得されたMPDに含まれるPCC 3Dディスクリプタを使用して、ツリーベースのPCCメディアストリームをサーバから取得するステップをさらに含む。
【0005】
実施形態によれば、ムービング・ピクチャー・エクスパーツ・グループ(Moving Picture Experts Group:MPEG)-ダイナミック・アダプティブ・ストリーミング・オーバー・http(Dynamic Adaptive Streaming Over HTTP:DASH)を使用して、ツリーベースのポイントクラウド圧縮(Point Cloud Compression:PCC)メディアストリームを取得する装置は、プログラムコードを記憶するように構成される少なくとも1つのメモリと、プログラムコードを読み出して、プログラムコードの命令通りに動作するように構成される少なくとも1つのプロセッサと、を含む。プログラムコードは、少なくとも1つのプロセッサに、PCCユニフォーム・リソース・インジケータ(Uniform Resource Indicator:URI)およびPCC三次元(Three-Dimensional:3D)ディスクリプタを含むメディア表現記述(Media Representation Description:MPD)をサーバから取得させるように構成される第1取得コードと、少なくとも1つのプロセッサに、取得されたMPDに含まれるPCC URIが、ツリーベースのPCCメディアストリームがアクセスされるべきであることを示しているかどうかを判定させるように構成される判定コードと、を含む。プログラムコードは、少なくとも1つのプロセッサに、ツリーベースのPCCメディアストリームがアクセスされるべきであることを示していると判定されたPCC URIに基づいて、取得されたMPDに含まれるPCC 3Dディスクリプタを使用して、ツリーベースのPCCメディアストリームをサーバから取得させるように構成される第2取得コードをさらに含む。
【0006】
実施形態によれば、命令を格納した非一時的コンピュータ可読媒体であって、この命令は、ムービング・ピクチャー・エクスパーツ・グループ(Moving Picture Experts Group:MPEG)-ダイナミック・アダプティブ・ストリーミング・オーバー・http(Dynamic Adaptive Streaming Over HTTP:DASH)を使用して、ツリーベースのポイントクラウド圧縮(Point Cloud Compression:PCC)メディアストリームを取得する装置の少なくとも1つのプロセッサによって実行されると、PCCユニフォーム・リソース・インジケータ(Uniform Resource Indicator:URI)およびPCC三次元(Three-Dimensional:3D)ディスクリプタを含むメディア表現記述(Media Representation Description:MPD)をサーバから取得する処理を少なくとも1つのプロセッサに実行させる。命令はさらに、取得されたMPDに含まれるPCC URIが、ツリーベースのPCCメディアストリームがアクセスされるべきであることを示しているかどうかを判定する処理と、ツリーベースのPCCメディアストリームがアクセスされるべきであることを示していると判定されたPCC URIに基づいて、取得されたMPDに含まれるPCC 3Dディスクリプタを使用して、ツリーベースのPCCメディアストリームをサーバから取得する処理と、を少なくとも1つのプロセッサに実行させる。
【図面の簡単な説明】
【0007】
【
図1】実施形態による、本明細書に記載の方法、装置、およびシステムを実装可能な環境の図である。
【
図2】
図1の1つまたは複数のデバイスの例示的なコンポーネントのブロック図である。
【
図3】実施形態による、MPEG-DASHを使用するポイントクラウド圧縮(Point Cloud Compression:PCC)ストリーミングシステムのブロック図である。
【
図4】実施形態による、MPEG-DASHを使用して、ツリーベースのPCCメディアストリームを取得する方法のフローチャートである。
【
図5】実施形態による、MPEG-DASHを使用して、ツリーベースのPCCメディアストリームを取得する装置のブロック図である。
【発明を実施するための形態】
【0008】
PCCの進歩によって、ポイントクラウドベースの没入型ビデオコンテンツのストリーミングが臨場感のあるものとなる。本明細書で説明される実施形態は、ポイントクラウドメディアストリーム向け多重解像度メディアコンテンツに対してツリーベースのPCCを実行することを含む。そのようなツリーベースのPCCは、例えば、八分木ベース、k次元ツリーベース、および/または四分木ベースのPCCを含む。これらのPCC方法はそれぞれ、共通のバイナリデータ構造を使用し、高い圧縮効率を実現する。
【0009】
実施形態は、3D空間におけるメディアストリームを記述するために、記述スキーマと共に現在のMPEG-DASH規格のアダプティブ・ストリーミング・スキーマを使用することをさらに含む。a)圧縮データがツリーベースの空間データ構造に存在すること、b)2Dおよび3Dメディアストリームの両方において有効であるという観点から、任意のある時点でデータのほんの一部のみが必須であること、が前提となる。
【0010】
具体的に、「schemeIdUri」と題されたユニフォーム・リソース・アイデンティファイアが、ポイントクラウドメディアストリームをシグナリングするために、既存のMPEG-DASH規格内に組み込まれている。また、3Dディスクリプタは、ツリーベースのPCCメディアストリームを記述するために、またはそのテンプレート用に、現在のMPEG-DASH規格に組み込まれている。
【0011】
図1は、実施形態による、本明細書に記載の方法、装置、およびシステムを実装可能な環境100の図である。
図1に示すように、環境100は、ユーザデバイス110、プラットフォーム120、およびネットワーク130を含んでもよい。環境100のデバイスは、有線接続、無線接続、または有線接続と無線接続との組合せを介して相互接続してもよい。
【0012】
ユーザデバイス110は、プラットフォーム120に関連付けられた情報を受信、生成、記憶、処理、および/または提供することができる1つまたは複数のデバイスを含む。例えば、ユーザデバイス110は、コンピューティングデバイス(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバなど)、携帯電話(例えば、スマートフォン、無線電話など)、ウェアラブルデバイス(例えば、スマートグラスまたはスマートウォッチ)、または同様のデバイスなどであってもよい。いくつかの実装形態では、ユーザデバイス110は、プラットフォーム120から情報を受信し、および/またはプラットフォームに情報を送信してもよい。
【0013】
プラットフォーム120は、本明細書の他の箇所に記載されるような1つまたは複数のデバイスを含む。いくつかの実装形態では、プラットフォーム120は、クラウドサーバまたはクラウドサーバ群を含んでもよい。いくつかの実装形態では、プラットフォーム120は、特定の要求に応じてソフトウェアコンポーネントを入れ替えできるように、モジュール式に設計されてもよい。したがって、プラットフォーム120は、異なる用途向けに、容易におよび/または迅速に再構成されてもよい。
【0014】
いくつかの実装形態では、図示のように、プラットフォーム120は、クラウドコンピューティング環境122下で動作してもよい。特に、本明細書に記載の実装形態は、プラットフォーム120がクラウドコンピューティング環境122下で動作するものとして説明されているが、いくつかの実装形態では、プラットフォーム120は、クラウドベースでなくてもよく(すなわち、クラウドコンピューティング環境の外部で実装されてもよい)、または部分的にクラウドベースであってもよい。
【0015】
クラウドコンピューティング環境122は、プラットフォーム120のホストとして機能する環境を含む。クラウドコンピューティング環境122は、プラットフォーム120のホストとして機能する1つまたは複数のシステムおよび/または1つまたは複数のデバイスの物理的位置および構成に関するエンドユーザ(例えば、ユーザデバイス110)の知識を必要としない計算、ソフトウェア、データアクセス、ストレージなどのサービスを提供してもよい。図示のように、クラウドコンピューティング環境122は、コンピューティングリソース124のグループ(「コンピューティングリソース124」と総称し、個別に「コンピューティングリソース124」と呼ぶ)を含んでもよい。
【0016】
コンピューティングリソース124は、1つまたは複数のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、または他のタイプの計算および/または通信デバイスを含む。いくつかの実装形態では、コンピューティングリソース124は、プラットフォーム120のホストとして機能してもよい。クラウドリソースは、コンピューティングリソース124で実行される計算インスタンス、コンピューティングリソース124で提供される記憶デバイス、コンピューティングリソース124によって提供されるデータ転送デバイスなどを含んでもよい。いくつかの実装形態では、コンピューティングリソース124は、有線接続、無線接続、または有線接続と無線接続との組合せを介して他のコンピューティングリソース124と通信してもよい。
【0017】
図1にさらに示すように、コンピューティングリソース124は、1つまたは複数のアプリケーション(「APP」)124-1、1つまたは複数の仮想マシン(「VM」)124-2、仮想化ストレージ(「VS」)124-3、1つまたは複数のハイパーバイザ(「HYP」)124-4などのクラウドリソース群を含む。
【0018】
アプリケーション124-1は、ユーザデバイス110および/またはプラットフォーム120に提供、またはユーザデバイス110および/またはプラットフォーム120によってアクセスされてもよい1つまたは複数のソフトウェアアプリケーションを含む。アプリケーション124-1は、ユーザデバイス110にソフトウェアアプリケーションをインストールし、ソフトウェアアプリケーション実行する必要性を排除してもよい。例えば、アプリケーション124-1は、プラットフォーム120に関連付けられたソフトウェアおよび/またはクラウドコンピューティング環境122を介して提供可能な任意の他のソフトウェアを含んでもよい。いくつかの実装形態では、1つのアプリケーション124-1は、仮想マシン124-2を介して、1つまたは複数の他のアプリケーション124-1との間で情報を送受信してもよい。
【0019】
仮想マシン124-2は、物理マシンのようにプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実装を含む。仮想マシン124-2は、仮想マシン124-2による用途および任意の実マシンに対する対応度に応じて、システム仮想マシンまたはプロセス仮想マシンのいずれかであってもよい。システム仮想マシンは、完全なオペレーティングシステム(「OS」)の実行をサポートする完全なシステムプラットフォームを提供してもよい。プロセス仮想マシンは、単一のプログラムを実行してもよく、単一のプロセスをサポートしてもよい。いくつかの実装形態では、仮想マシン124-2は、ユーザ(例えば、ユーザデバイス110)に代わって動作してもよく、データ管理、同期、または長期間のデータ転送などのクラウドコンピューティング環境122の基盤を管理してもよい。
【0020】
仮想化ストレージ124-3は、1つまたは複数のストレージシステムおよび/または1つまたは複数のデバイスを含み、1つまたは複数のストレージシステムおよび/または1つまたは複数のデバイスは、コンピューティングリソース124のストレージシステムまたはデバイス内で仮想化技術を使用する。いくつかの実装形態では、ストレージシステムのコンテキスト内で、仮想化のタイプは、ブロック仮想化およびファイル仮想化を含んでもよい。ブロック仮想化は、物理ストレージまたは異機種構造に関係なくストレージシステムにアクセスできるように、物理ストレージからの論理ストレージへの抽象化(または分離)を指してもよい。分離によって、ストレージシステムの管理者がエンドユーザのためにストレージを管理する方法における柔軟性を管理者に与えることができる。ファイル仮想化によって、ファイルレベルでアクセスされるデータとファイルが物理的に記憶される場所との間の依存関係を排除することができる。これにより、ストレージ使用の最適化、サーバの統合、および/または無停止ファイル移行を可能にすることができる。
【0021】
ハイパーバイザ124-4は、複数のオペレーティングシステム(例えば、「ゲストオペレーティングシステム」)をコンピューティングリソース124などのホストコンピュータ上で同時に実行できるハードウェア仮想化技術を提供してもよい。ハイパーバイザ124-4は、仮想オペレーティングプラットフォームをゲストオペレーティングシステムに提供してもよく、ゲストオペレーティングシステムの実行を管理してもよい。様々なオペレーティングシステムの複数のインスタンスは、仮想化ハードウェアリソースを共有してもよい。
【0022】
ネットワーク130は、1つまたは複数の有線および/または無線ネットワークを含む。例えば、ネットワーク130は、セルラーネットワーク(例えば、第5世代(Fifth Generation:5G)ネットワーク、ロングタームエボリューション(Long-Term Evolution:LTE)ネットワーク、第3世代(Third Generation:3G)ネットワーク、符号分割多元接続(Code Division Multiple Access:CDMA)ネットワークなど)、公衆陸上移動体ネットワーク(Public Land Mobile Network:PLMN)、ローカルエリアネットワーク(Local Area Network:LAN)、ワイドエリアネットワーク(Wide Area Network:WAN)、メトロポリタンエリアネットワーク(Metropolitan Area Network:MAN)、電話ネットワーク(例えば、公衆交換電話網(Public Switched Telephone Network:PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワークなど、および/またはこれらもしくは他のタイプのネットワークの組合せなどであってもよい。
【0023】
図1に示すデバイスおよびネットワークの数および配置は、一例として示されている。実際には、追加のデバイスおよび/またはネットワーク、より少ないデバイスおよび/またはネットワーク、異なるデバイスおよび/またはネットワーク、または
図1に示されたものとは異なる配置のデバイスおよび/またはネットワークが存在してもよい。さらに、
図1に示す2つ以上のデバイスは、単一のデバイス内に実装されてもよく、または
図1に示す単一のデバイスは、複数の分散型デバイスとして実装されてもよい。追加的または代替的に、環境100のデバイスのセット(例えば、1つまたは複数のデバイス)は、環境100の別のデバイスのセットによって実行されるものとして記載される1つまたは複数の機能を実行してもよい。
【0024】
図2は、
図1の1つまたは複数のデバイスの例示的なコンポーネントのブロック図である。デバイス200は、ユーザデバイス110および/またはプラットフォーム120に対応してもよい。
図2に示すように、デバイス200は、バス210、プロセッサ220、メモリ230、記憶部240、入力部250、出力部260、および通信インターフェイス270を含んでもよい。
【0025】
バス210は、デバイス200のコンポーネント間の通信を可能にするコンポーネントを含む。プロセッサ220は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組合せで実装される。プロセッサ220は、中央処理装置(Central Processing Unit:CPU)、グラフィック処理装置(Graphics Processing Unit:GPU)、加速処理装置(Accelerated Processing Unit:APU)、マイクロプロセッサ、マイクロコントローラ、デジタル・シグナル・プロセッサ(Digital Signal Processor:DSP)、フィールド・プログラマブル・ゲート・アレイ(Field-Programmable Gate Array:FPGA)、特定用途向け集積回路(Application-Specific Integrated Circuit:ASIC)、または別のタイプの処理コンポーネントである。いくつかの実装形態では、プロセッサ220は、機能を実行するようにプログラム可能な1つまたは複数のプロセッサを含む。メモリ230は、ランダム・アクセス・メモリ(Random Access Memory:RAM)、リード・オンリー・メモリ(Read Only Memory:ROM)、および/またはプロセッサ220が使用する情報および/または命令を記憶する別のタイプの動的または静的記憶デバイス(例えば、フラッシュメモリ、磁気メモリ、および/または光メモリ)を含む。
【0026】
記憶部240は、デバイス200の動作および使用に関連する情報および/またはソフトウェアを記憶する。例えば、記憶部240は、対応するドライブと共に、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、および/またはソリッドステートディスク)、コンパクトディスク(Compact Disc:CD)、デジタル多用途ディスク(Digital Versatile Disc:DVD)、フロッピー(登録商標)ディスク、カートリッジ、磁気テープ、および/または別のタイプの非一時的コンピュータ可読媒体を含んでもよい。
【0027】
入力部250は、デバイス200がユーザ入力(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)などを介して情報を受信することを可能にするコンポーネントを含む。追加的または代替的に、入力部250は、情報を感知するためのセンサ(例えば、全地球測位システム(Global Positioning System:GPS)コンポーネント、加速度計、ジャイロスコープ、および/またはアクチュエータ)を含んでもよい。出力部260は、デバイス200(例えば、ディスプレイ、スピーカ、および/または1つまたは複数の発光ダイオード(Light-Emitting Diode:LED))からの出力情報を提供するコンポーネントを含む。
【0028】
通信インターフェイス270は、デバイス200が有線接続、無線接続、または有線接続と無線接続との組合せなどを介して他のデバイスと通信することを可能にするトランシーバのようなコンポーネント(例えば、トランシーバおよび/または別個の受信機および送信機)を含む。通信インターフェイス270は、デバイス200が別のデバイスから情報を受信すること、および/または別のデバイスに情報を提供することを可能にしてもよい。例えば、通信インターフェイス270は、イーサネット(登録商標)インターフェイス、光インターフェイス、同軸インターフェイス、赤外線インターフェイス、無線周波数(Radio Frequency:RF)インターフェイス、ユニバーサルシリアルバス(Universal Serial Bus:USB)インターフェイス、Wi-Fi(登録商標)インターフェイス、セルラーネットワークインターフェイスなどであってもよい。
【0029】
デバイス200は、本明細書に記載された1つまたは複数の処理を実行してもよい。デバイス200は、メモリ230および/または記憶部240などの非一時的コンピュータ可読媒体によって記憶されたソフトウェア命令を実行するプロセッサ220に応答して、これらの処理を実行してもよい。コンピュータ可読媒体は、本明細書では非一時的なメモリデバイスと定義される。メモリデバイスは、単一の物理記憶デバイス内のメモリ空間、または複数の物理記憶デバイスにわたるメモリ空間を含む。
【0030】
ソフトウェア命令は、別のコンピュータ可読媒体から、または通信インターフェイス270を介して別のデバイスから、メモリ230および/または記憶部240に読み込まれてもよい。メモリ230および/または記憶部240に記憶されたソフトウェア命令は、実行されると、本明細書に記載の1つまたは複数のプロセスをプロセッサ220に実行させてもよい。追加的または代替的に、ハードワイヤード回路をソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用して、本明細書に記載の1つまたは複数のプロセスを実行してもよい。したがって、本明細書に記載の実装形態は、ハードウェア回路とソフトウェアとの任意の特定の組合せに限定されない。
【0031】
図2に示されるコンポーネントの数および配置は、一例として示されている。実際には、デバイス200は、
図2に示されたコンポーネントに対して、追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または異なる配置のコンポーネントを含んでもよい。追加的または代替的に、デバイス200のコンポーネントのセット(例えば、1つまたは複数のコンポーネント)は、デバイス200の別のコンポーネントのセットによって実行されるものとして説明される1つまたは複数の機能を実行してもよい。
【0032】
図3は、実施形態による、MPEG-DASHを使用するPCCストリーミングシステム300のブロック図である。
【0033】
図3を参照すると、PCCストリーミングシステム300は、ハイパーテキスト・トランスファー・プロトコル(Hypertext Transfer Protocol:HTTP)サーバ310およびPCCクライアント320を含む。PCCクライアント320は、例えば、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、およびパーソナルコンピュータ(Personal Computer:PC)などの任意の電子デバイスなどであってもよい。HTTPサーバ310およびPCCクライアント320はそれぞれ、
図2のデバイス200によって実装されてもよい。
【0034】
HTTPサーバ310は、ツリーベースのPCCメディアストリームをストリーミングするために、PCCスキームを含むメディア表現記述(Media Representation Description:MPD)ファイルをPCCクライアント320に送信する。MPDファイルのフォーマットは、MPEG-DASH規格に含まれていてもよい。
【0035】
PCCスキームは、MPEG-DASH規格の既存の「EssentialProperty」タグ内に含まれ、PCCメディアストリームのシグナリングに用いられる。PCCスキームの各プロパティ要素の意味を表1に記載する。
【0036】
【0037】
PCCスキームでは、3Dディスクリプタを任意のタイプのツリーベースのPCCメディアストリームに使用することができる。この<x,y,z>ディスクリプタの意味を表2に記載する。
【0038】
【0039】
<R,L,C>ディスクリプタに基づいて、任意のツリーベースのPCCメディアストリームをユーザのビューウィンドウに基づいてフェッチすることができる。3Dディスクリプタは、ツリーベースのPCCメディアストリームのアドレスの代わりとなる。
【0040】
以下は、PCCスキームがMPEG-DASH規格に属する場合を示す。
<AdaptationSet>
<Representation>
<EssentialProperty schemeIdUri=’’urn:mpeg:dash:pcc’’
format=’’’’,value=’’R,L,C’’/>
</Representation>
</AdaptationSet>
【0041】
再び
図3を参照すると、PCCクライアント320は、PCCスキームパーサ322およびPCCメディア描画部324を含む。PCCスキームパーサ322は、HTTPサーバ310からPCCスキームを含むMPDを取得し、PCCスキームを構文解析してschemeIdUriディスクリプタが、ツリーベースのPCCメディアストリームがアクセスされるべきであることを示しているかどうかを判定する。ツリーベースのPCCメディアストリームがアクセスされるべきであることを示していると判定されたschemeIdUriディスクリプタに基づいて、PCCスキームパーサ322は、PCCスキームに含まれるPCCメディアストリーム3Dディスクリプタを使用して、ツリーベースのPCCメディアストリームをフェッチする。PCCクライアント320からHTTPサーバ310に送信される、3Dディスクリプタを含むHTTP getメッセージを使用して、ツリーベースのPCCメディアストリームがさらにフェッチされる。
【0042】
PCCメディア描画部324は、ツリーベースのPCCメディアストリームの様々な解像度312を含むツリーベースのPCCメディアストリームをHTTPサーバ310から取得する。HTTPサーバ310からPCCクライアント320に送信される、ツリーベースのPCCメディアストリームを含むHTTP responseメッセージを使用して、ツリーベースのPCCメディアストリームが取得される。PCCメディア描画部324は、
図2の出力部260などのディスプレイ上に表示するために、取得されたツリーベースのPCCメディアストリームをレンダリングする。
【0043】
図4は、実施形態による、MPEG-DASHを使用して、ツリーベースのPCCメディアストリームを取得する方法400のフローチャートである。いくつかの実装形態では、
図4の1つまたは複数の処理ブロックは、PCCストリーミングシステム300を実装するプラットフォーム120によって実行されてもよい。いくつかの実装形態では、
図4の1つまたは複数の処理ブロックは、ユーザデバイス110など、PCCストリーミングシステム300を実装するプラットフォーム120とは別個の、またはプラットフォーム120を含む別のデバイスまたはデバイスのグループによって実行されてもよい。
【0044】
図4に示すように、動作410において、方法400は、PCCユニフォーム・リソース・インジケータ(Uniform Resource Indicator:URI)およびPCC三次元(Three-Dimensional:3D)ディスクリプタを含むメディア表現記述(Media Representation Description:MPD)をサーバから取得するステップを含む。
【0045】
動作420において、方法400は、取得されたMPDに含まれるPCC URIが、ツリーベースのPCCメディアストリームがアクセスされるべきであることを示しているかどうかを判定するステップをさらに含む。
【0046】
動作430において、方法400は、ツリーベースのPCCメディアストリームがアクセスされるべきであることを示していると判定されたPCC URIに基づいて、取得されたMPDに含まれるPCC 3Dディスクリプタを使用して、サーバからツリーベースのPCCメディアストリームを取得するステップをさらに含む。
【0047】
MPDは、ツリーベースのPCCメディアストリームのフォーマットをさらに含んでもよい。
【0048】
PCC 3Dディスクリプタは、ツリーベースのPCCメディアストリームのために、ルート(R)、ツリーレベル(L)、およびツリーレベルの子の順序(C)のそれぞれの複数のディスクリプタを含んでもよい。
【0049】
ツリーベースのPCCメディアストリームは、八分木ベース、k次元ツリーベース、および四分木ベースのPCCメディアストリームのいずれか1つまたは任意の組合せを含んでもよい。
【0050】
ツリーベースのPCCメディアストリームを取得するステップは、ツリーベースのPCCメディアストリームがアクセスされるべきであることを示していると判定されたPCC URIに基づいて、取得されたMPDに含まれるPCC 3Dディスクリプタを含むハイパーテキスト・トランスファー・プロトコル(HTTP)getメッセージをサーバに送信するステップを含んでもよい。
【0051】
ツリーベースのPCCメディアストリームを取得するステップは、送信されるHTTP getメッセージに基づいて、ツリーベースのPCCメディアストリームを含むHTTP responseメッセージをサーバから受信するステップをさらに含んでもよい。
【0052】
本方法は、取得されたツリーベースのPCCメディアストリームを表示するステップをさらに含んでもよい。
【0053】
図4は、方法400の例示的なブロックを示しているが、いくつかの実装形態では、方法400は、
図4に示された方法に対して、追加のブロック、より少ないブロック、異なるブロック、または異なる配置のブロックを含んでもよい。追加的または代替的に、方法400のブロックのうちの2つ以上は、並列に実行されてもよい。
【0054】
図5は、実施形態による、MPEG-DASHを使用して、ツリーベースのPCCメディアストリームを取得するための装置500の図である。
図5に示すように、装置500は、第1取得コード510、判定コード520、第2取得コード530、および表示コード540を含む。
【0055】
第1取得コード510は、少なくとも1つのプロセッサに、PCCユニフォーム・リソース・インジケータ(Uniform Resource Indicator:URI)とPCC三次元(Three-Dimensional:3D)ディスクリプタとを含むメディア表現記述(Media Representation Description:MPD)をサーバから取得させるように構成される。
【0056】
判定コード520は、少なくとも1つのプロセッサに、取得されたMPDに含まれるPCC URIが、ツリーベースのPCCメディアストリームがアクセスされるべきであることを示しているかどうかを判定させるように構成される。
【0057】
第2取得コード530は、少なくとも1つのプロセッサに、ツリーベースのPCCメディアストリームがアクセスされるべきであることを示していると判定されたPCC URIに基づいて、取得されたMPDに含まれるPCC 3Dディスクリプタを使用して、ツリーベースのPCCメディアストリームをサーバから取得させるように構成される。
【0058】
MPDは、ツリーベースのPCCメディアストリームのフォーマットをさらに含んでもよい。
【0059】
PCC 3Dディスクリプタは、ツリーベースのPCCメディアストリームのために、ルート(R)、ツリーレベル(L)、およびツリーレベルの子の順序(C)のそれぞれの複数のディスクリプタを含んでもよい。
【0060】
ツリーベースのPCCメディアストリームは、八分木ベース、k次元ツリーベース、および四分木ベースのPCCメディアストリームのいずれか1つまたは任意の組合せを含んでもよい。
【0061】
第2取得コード530は、少なくとも1つのプロセッサに、ツリーベースのPCCメディアストリームがアクセスされるべきであることを示していると判定されたPCC URIに基づいて、取得されたMPDに含まれるPCC 3Dディスクリプタを含むハイパーテキスト・トランスファー・プロトコル(Hypertext Transfer Protocol:HTTP)getメッセージをサーバに送信させるようにさらに構成されてもよい。
【0062】
第2取得コード530は、少なくとも1つのプロセッサに、送信されるHTTP getメッセージに基づいて、ツリーベースのPCCメディアストリームを含むHTTP responseメッセージをサーバから受信させるようにさらに構成されてもよい。
【0063】
表示コード540は、少なくとも1つのプロセッサに、取得されたツリーベースのPCCメディアストリームの表示を制御させるように構成されてもよい。
【0064】
前述の開示は、例示および説明を提供するが、網羅的であること、または実装形態を開示された正確な形態に限定することを意図するものではない。上記の開示を踏まえて、変更および変形が可能であり、または変更および変形が実装形態の実施から獲得されてもよい。
【0065】
本明細書において、コンポーネントという表現は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアの組合せとして広く解釈されることを意図している。
【0066】
本明細書に記載のシステムおよび/または方法は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアの組合せの異なる形態で実装されてもよいことは明らかであろう。これらのシステムおよび/または方法を実装するために使用される実際の専用の制御ハードウェアまたはソフトウェアコードは、実装形態を限定するものではない。したがって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本明細書に記載されており、ソフトウェアおよびハードウェアは、本明細書の記載に基づいてシステムおよび/または方法を実装するように設計されてもよいことが理解される。
【0067】
特徴の組合せが特許請求の範囲に記載され、および/または本明細書に開示されているが、これらの組合せは、可能な実装形態の開示を限定することを意図するものではない。実際、これらの特徴の多くは、特許請求の範囲に具体的に記載されていない、および/または明細書に開示されていない方法で組み合わされてもよい。以下に列挙される各従属請求項は、1つの請求項のみに直接従属してもよいが、可能な実装形態の開示は、各従属請求項を請求項セット内の他の全ての請求項と組み合わせて含む。
【0068】
本明細書で使用される要素、動作、または命令は、そのように明示的に記載されていない限り、重要または必須であると解釈されるべきではない。また、本明細書において、冠詞「a」および「an」は、1つまたは複数の項目を含むことが意図され、「1つまたは複数」と交換可能に使用されてもよい。さらに、本明細書において、「セット」という表現は、1つまたは複数の項目(例えば、関連アイテム、無関連アイテム、関連アイテムと無関連アイテムとの組合せなど)を含むことを意図しており、「1つまたは複数」と交換可能に使用されてもよい。1つの項目のみが意図される場合、「1つ」という表現または同様の表現が使用される。また、本明細書において、「有する」という表現は、オープンエンド用語を意図している。さらに、「に基づいて」というフレーズは、特に明記しない限り、「少なくとも部分的に」を意味することを意図している。
【符号の説明】
【0069】
100 環境
110 ユーザデバイス
120 プラットフォーム
122 クラウドコンピューティング環境
124 コンピューティングリソース
124-1 アプリケーション
124-2 仮想マシン
124-3 仮想化ストレージ
124-4 ハイパーバイザ
130 ネットワーク
200 デバイス
210 バス
220 プロセッサ
230 メモリ
240 記憶部
250 入力部
260 出力部
270 通信インターフェイス
300 PCCストリーミングシステム
310 HTTPサーバ
312 解像度
320 PCCクライアント
322 PCCスキームパーサ
324 PCCメディア描画部
400 方法
410 動作
420 動作
430 動作
500 装置
510 第1取得コード
520 判定コード
530 第2取得コード
540 表示コード