(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024027094
(43)【公開日】2024-02-29
(54)【発明の名称】仮想環境内での詳細レベル管理
(51)【国際特許分類】
H04N 7/15 20060101AFI20240221BHJP
G06F 15/00 20060101ALI20240221BHJP
H04L 67/306 20220101ALI20240221BHJP
【FI】
H04N7/15 170
G06F15/00 440B
H04L67/306
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023116702
(22)【出願日】2023-07-18
(31)【優先権主張番号】17/889,112
(32)【優先日】2022-08-16
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.PYTHON
2.JAVASCRIPT
(71)【出願人】
【識別番号】520509030
【氏名又は名称】ティーエムアールダブリュー ファウンデーション アイピー エスエーアールエル
(74)【代理人】
【識別番号】100107456
【弁理士】
【氏名又は名称】池田 成人
(74)【代理人】
【識別番号】100162352
【弁理士】
【氏名又は名称】酒巻 順一郎
(74)【代理人】
【識別番号】100123995
【弁理士】
【氏名又は名称】野田 雅一
(72)【発明者】
【氏名】ヤーリ, チェヴァット
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA10
5C164UB90S
5C164VA07P
5C164VA35P
(57)【要約】 (修正有)
【課題】仮想環境における詳細レベル(LOD)の最適化を可能にする方法、システム及びプログラムを提供する。
【解決手段】詳細レベル管理方法500は、メディアコンテンツアイテム公開要求を受信し、メディアコンテンツアイテムを、仮想環境の部分からの関心エリアを表すセルに公開し、サブスクライブするクライアントデバイスを表すユーザグラフィカル表現と公開されたメディアコンテンツアイテムとの間の、仮想環境内の距離を測定し、サブスクライブするクライアントデバイスからのサブスクリプション要求を受信し、測定された距離に基づいて優先度データを計算し、優先度レベルに基づいて、対応するセル中のユーザグラフィカル表現ごとの閲覧フィールドの詳細レベルを調整し、サブスクライブされたメディアコンテンツアイテムとともに、調整された詳細レベルをサブスクライブするクライアントデバイスに送信する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
1つ又は複数のメディアコンテンツアイテムを公開するために、複数のコンピュータにわたって分散した分散型メッセージ交換プラットフォームによって、公開クライアントデバイスから1つ又は複数の公開要求を受信するステップであって、前記メディアコンテンツアイテムのうちの少なくとも1つが公開クライアントデバイスユーザのユーザグラフィカル表現であり、前記ユーザグラフィカル表現が、前記分散型メッセージ交換プラットフォームによって受信される、仮想環境内の位置と配向とを含む、ステップと、
前記1つ又は複数のメディアコンテンツアイテムを、前記仮想環境の少なくとも1つの部分からの少なくとも1つの関心エリアを表す少なくとも1つのセルに公開するステップと、
サブスクライブするクライアントデバイスを表すユーザグラフィカル表現と前記1つ又は複数の公開されたメディアコンテンツアイテムとの間の、前記仮想環境内の距離を測定するステップと、
前記測定された距離に基づいて優先度データを計算するステップであって、前記優先度データの優先度レベルが前記測定された距離に反比例する、ステップと、
前記1つ又は複数の公開されたメディアコンテンツアイテムにサブスクライブするために、前記サブスクライブするクライアントデバイスからのサブスクリプション要求を受信するステップと、
詳細レベル管理モジュールによって、前記優先度レベルに基づいて、対応するセル中のユーザグラフィカル表現ごとの閲覧フィールドの詳細レベルを調整するステップと、
前記サブスクライブされたメディアコンテンツアイテムとともに、前記調整された詳細レベルを前記サブスクライブするクライアントデバイスに送信するステップと
を含む、詳細レベル管理方法。
【請求項2】
前記詳細レベルを調整する前記ステップが、
前記セル内のサブスクリプションを低優先度レベル、中優先度レベル、及び高優先度レベルとして分類することと、
低優先度レベルのフレームに簡略化動作を適用し、高優先度レベルのフレームに改良動作を適用することと
を含む、請求項1に記載の方法。
【請求項3】
前記簡略化動作及び前記改良動作が、ユーザグラフィカル表現ごとの前記閲覧フィールドの対応するフレームの解像度とフレームレートとを調整することを少なくとも含む、請求項2に記載の方法。
【請求項4】
前記改良動作が、前記ユーザグラフィカル表現に対するピクセル整合陰関数フレームワークの適用を含む、請求項2に記載の方法。
【請求項5】
前記優先度レベルに基づく3次元サウンドトリートメントを含む、サウンドエンハンスメントを実行するステップをさらに含む、請求項2に記載の方法。
【請求項6】
前記ユーザグラフィカル表現が、
公開クライアントデバイスの少なくとも1つのカメラによってキャプチャされたライブデータフィードを受信することと、
前記キャプチャされたデータを前記サブスクライブするクライアントデバイスに送信することと、
前記公開クライアントデバイスの前記ユーザを表す画像のみを抽出するために、前記ユーザの背景削除を実行することと、
前記サブスクライブするクライアントデバイスによって、前記ユーザグラフィカル表現を前記仮想環境中に挿入することと
を含むプロセスによって作成される、請求項1に記載の方法。
【請求項7】
前記ユーザグラフィカル表現が、背景が削除されたユーザ3次元仮想カットアウト、又は背景が削除されたユーザリアルタイム3次元仮想カットアウト、又は背景が削除されたビデオ、又は背景が削除されていないビデオを含む、請求項1に記載の方法。
【請求項8】
前記サブスクリプション要求が、前記サブスクライブするクライアントデバイスから受信されたクリックアクション又は他のアクションに基づいて実行される、請求項1に記載の方法。
【請求項9】
前記優先度データが、利用可能な帯域幅、ユーザプロファイル、コンテンツアイテムのタイプ、前記対応するセル内のコンテンツアイテムの数、前記対応するセル内のユーザグラフィカル表現の数、又は前記コンテンツアイテムに対する前記ユーザグラフィカル表現の配向角のうちの1つ又は複数に基づいて調整される、請求項1に記載の方法。
【請求項10】
前記優先度データが、ユーザが話者であるか聴者であるかに基づいてさらに調整される、請求項9に記載の方法。
【請求項11】
少なくとも1つのプロセッサとメモリとを含むコンピュータシステムを含む詳細レベル管理システムであって、前記コンピュータシステムが、少なくとも、
1つ又は複数のコンテンツアイテムを公開するために、分散型メッセージ交換プラットフォームを介して、公開クライアントデバイスから1つ又は複数の公開要求を受信することであり、前記コンテンツアイテムのうちの少なくとも1つが公開クライアントデバイスユーザのユーザグラフィカル表現である、受信することと、
前記1つ又は複数のコンテンツアイテムを、仮想環境の少なくとも1つの部分からの少なくとも1つの関心エリアを表す少なくとも1つのセルに公開することと、
サブスクライブするクライアントデバイスを表す少なくとも1つのユーザグラフィカル表現と前記1つ又は複数の公開されたコンテンツアイテムとの間の、前記仮想環境内の距離を測定することと、
前記1つ又は複数の公開されたコンテンツアイテムにサブスクライブするために、前記サブスクライブするクライアントデバイスからのサブスクリプション要求を受信することと、
前記測定された距離に基づいて優先度データを計算することであり、前記優先度データの優先度レベルが前記測定された距離に反比例する、計算することと、
前記優先度レベルに基づいて、対応するセル中のユーザグラフィカル表現ごとの閲覧フィールドの詳細レベルを調整することと、
前記分散型メッセージ交換プラットフォームを介して、前記サブスクライブされたコンテンツアイテムとともに、前記調整された詳細レベルを前記サブスクライブするクライアントデバイスに送信することと
を行うようにプログラムされた、詳細レベル管理システム。
【請求項12】
前記詳細レベルを調整することが、前記セル内のサブスクリプションを低優先度レベル、中優先度レベル、及び高優先度レベルとして分類することと、高優先度レベルのフレームに改良動作を適用することとを含み、前記改良動作が、ユーザグラフィカル表現ごとの前記閲覧フィールドの対応するフレームの解像度とフレームレートとを調整することを少なくとも含む、請求項11に記載のシステム。
【請求項13】
前記改良動作が、前記ユーザグラフィカル表現に対するピクセル整合陰関数フレームワークの適用を含む、請求項12に記載のシステム。
【請求項14】
前記改良動作が、前記優先度レベルに基づく3次元サウンドトリートメントを含むサウンドエンハンスメントをさらに含む、請求項12に記載のシステム。
【請求項15】
前記仮想環境が、オクツリーデータ構造、クワッドツリーデータ構造、バイナリ空間分割(BSP)ツリーデータ構造、スパースボクセルオクツリーデータ構造、3次元アレイ、k次元(kD)ツリー、ポイントクラウド、ワイヤフレームモデル、境界表現(B-Rep)、空間領域構成法ツリー(CSGツリー)、ビンツリー、又は六方晶構造のうちの1つ又は複数を使用する、請求項11に記載のシステム。
【請求項16】
前記サブスクリプション要求が、前記サブスクライブするクライアントデバイスから受信されたクリックアクション又は他のアクションに基づいて実行される、請求項11に記載のシステム。
【請求項17】
前記仮想環境が、ユーザ間のビデオ通信を可能にするビデオ会議プラットフォームの一部としてホストされる、請求項11に記載のシステム。
【請求項18】
前記優先度データが、利用可能な帯域幅、ユーザプロファイル、コンテンツアイテムのタイプ、前記対応するセル内のコンテンツアイテムの数、前記対応するセル内のユーザグラフィカル表現の数、又は前記コンテンツアイテムに対する前記ユーザグラフィカル表現の配向角のうちの1つ又は複数に基づいて調整される、請求項11に記載のシステム。
【請求項19】
前記コンピュータシステムが、多地点会議ユニット(MCU)トポロジー、又は選択的転送ユニット(SFU)トポロジー、又はトラバーサルユージングリレーNAT(TURN)トポロジー、又は空間的分析メディアサーバトポロジー(SAMS)を使用するメディアサーバコンピュータを含む、請求項11に記載のシステム。
【請求項20】
命令を記憶した非一時的コンピュータ可読媒体であって、前記命令が、プロセッサとメモリとを含む1つ又は複数のサーバコンピュータに、
サーバコンピュータシステムの複数のサーバコンピュータにわたって分散した分散型メッセージ交換プラットフォームによって、公開クライアントデバイスから1つ又は複数のコンテンツアイテムと1つ又は複数の公開要求を受信することと、
前記1つ又は複数のコンテンツアイテムを、仮想環境の少なくとも1つの部分からの少なくとも1つの関心エリアを表す少なくとも1つのセルに公開することと、
サブスクライブするクライアントデバイスを表す少なくとも1つのユーザグラフィカル表現と前記1つ又は複数の公開されたコンテンツアイテムとの間の、前記仮想環境内の距離を測定することと、
前記1つ又は複数の公開されたコンテンツアイテムにサブスクライブするために、前記サブスクライブするクライアントデバイスからのサブスクリプション要求を受信することと、
前記測定された距離に基づいて優先度データを計算することであり、前記優先度データの優先度レベルが前記測定された距離に反比例する、計算することと、
前記優先度レベルに基づいて、対応するセル中のユーザグラフィカル表現ごとの閲覧フィールドの詳細レベルを調整することと、
前記分散型メッセージ交換プラットフォームを介して、前記コンテンツアイテムとともに、前記調整された詳細レベルを前記サブスクライブするクライアントデバイスに送信することと
を含むステップを実行させるように構成された、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般には、コンピュータシステムの分野に関し、より詳細には、公開-サブスクライブ通信モデルを使用して仮想環境内の詳細レベル(level of detail)の最適化を可能にする、システム、方法、及びコンピュータ可読媒体に関する。
【背景技術】
【0002】
世界的なパンデミックなどの状況により世界中で移動制限が強制され、ミーティング、学習、ショッピング及び労働が行われる形が変化したことにより、遠隔コラボレーション、及び特に社会的対話を含む対話が、より重要性を増している。チャットアプリケーションからスカイプ(Skype)(商標)及びズーム(Zoom)(商標)などのビデオ電話、又はPragli(商標)が提供するような2Dアバターによって表されるリモートチームのための仮想オフィスに至るまで、リアルタイムでのコミュニケーション及びコラボレーションを可能にするための様々なソリューションがすでに市場で入手可能である。しかしながら、現実の体験をこれらのソリューションと比較したときに、低レベルの現実感、ユーザプレゼンスの欠如又は限定されたユーザプレゼンス、共有空間の欠如、及び実行することができる対話の品質又は可能性が低いことは、多くのユーザにとって孤独感又は退屈感につながり、その結果、同じアクティビティを対面で実行するときよりも生産性が低くなることがある。
【0003】
提案するソリューションは、3D(3次元)ビデオ会議プラットフォームにおける仮想プレゼンスの実装を含み、それによりユーザは、ビデオ及び音声によるコミュニケーションを含め、互いを見て、探索し、動き回り、共有空間内で互いに対話することができる。多数のユーザを伴うときのそのようなアプリケーションのグラフィックス管理は、仮想環境を実行するように設計された従来のシステム、たとえば、大規模多人数同時参加型オンラインゲーム(massively multiplayer online game)(MMOG)と比較することができる。しかしながら、MMOGは、MMOGが仮想環境内の極めて多数のユーザ又はエンティティをサポートするためにスケーリングする方法において制限されている。ユーザ及びエンティティの数が増加するにつれて、リソース要件も高まり、それにより仮想環境内のサービス品質(QOS)及びユーザ体験が低下する。したがって、同じ欠点が3D遠隔会議プラットフォームにおける実装について当てはまる。
【0004】
グラフィックス管理を改善するために計算最適化を実施することができる直観的エリアは詳細レベル(LOD)管理によるものであり、詳細レベル(LOD)管理は、レンダリングされるべきオブジェクトがユーザから遠く離れるにつれて3Dグラフィックス(たとえば、解像度、テクスチャなど)の計算レベルを減少させる計算最適化方法である。LOD管理は、したがって、グラフィックスパイプライン使用にかかる作業負荷を減少させることによって、レンダリングプロセスなど、仮想環境における計算プロセスの効率を高めることができる。しかしながら、2つのノード、すなわちクライアントとサーバとの間で一般に行われる通信に最も好適である、そのようなLOD管理を実装するために一般的なクライアントサーバベースの通信パラダイムを使用することは、より複雑である通信(たとえば、1対多又は多対多)の場合に限定的になることがある。これは、これらの通信を純粋なクライアント/サーバベースの手法においてモデル化することにより、それらの関係のマッピングと、対応するリソースプロビジョニングとによって難しいネットワークコードが生じるからである。結果として、大きい混雑した3D環境において多数のビデオ会議参加者(たとえば、数千人)をホストすること、及びそのような状況においてLODを管理することは、現在の技術では厄介であり得る。
【0005】
必要とされているものは、ビデオプレゼンスによる対話の現実感と、スムーズなユーザ体験と、より低いリソース利用とを提供する3Dビデオ会議プラットフォームの参加者ホスティング機能を高めるために、大きい混雑した3D環境においてLODを最適化することを可能にし得るシステム及び方法である。
【発明の概要】
【0006】
この概要は、以下の詳細な説明においてさらに説明する様々な概念を簡略化された形態で紹介するために提供される。この概要は、特許請求される主題の重要な特徴を識別するものでも、特許請求される主題の範囲を決定する際の助けとして使用されるものでもない。
【0007】
本開示は、仮想環境における詳細レベル(LOD)の最適化を可能にするシステム、方法、及び非一時的コンピュータ可読媒体によって、背景において開示した欠点のうちの少なくともいくつかを解決する。
【0008】
本開示のLOD管理方法は、少なくとも1つのプロセッサと、分散型メッセージ交換プラットフォームを記憶するメモリとを含む、サーバコンピュータシステムの少なくとも1つのサーバコンピュータを備えるシステムによって実施され得る。少なくとも1つのプロセッサは、メモリ中の命令を実行し、それにより、1つ又は複数のメディアコンテンツアイテムを公開するために、複数のコンピュータにわたって分散した分散型メッセージ交換プラットフォームによって、公開クライアントデバイスから1つ又は複数の公開要求を受信するステップであって、メディアコンテンツアイテムのうちの少なくとも1つが公開クライアントデバイスユーザのユーザグラフィカル表現であり、ユーザグラフィカル表現が、分散型メッセージ交換プラットフォームによって受信される、仮想環境内の位置と配向とを含む、受信するステップと、1つ又は複数のメディアコンテンツアイテムを、仮想環境の少なくとも1つの部分からの少なくとも1つの関心エリアを表す少なくとも1つのセルに公開するステップと、分散型メッセージ交換プラットフォームによって、サブスクライブするクライアントデバイスを表すユーザグラフィカル表現と1つ又は複数の公開されたメディアコンテンツアイテムとの間の、仮想環境内の距離を測定するステップと、測定された距離に基づいて優先度データを計算するステップであって、優先度データの優先度レベルが測定された距離に反比例する、ステップと、1つ又は複数の公開されたメディアコンテンツアイテムにサブスクライブするために、サブスクライブするクライアントデバイスからのサブスクリプション要求を受信するステップと、詳細レベル管理モジュールによって、優先度レベルに基づいて、対応するセル中のユーザグラフィカル表現ごとの閲覧フィールドの詳細レベルを調整するステップと、サブスクライブされたメディアコンテンツアイテムとともに、調整された詳細レベルをサブスクライブするクライアントデバイスに送信するステップとを含む方法を少なくとも1つのサーバコンピュータに実行させる。
【0009】
いくつかの実施形態では、詳細レベルを調整するステップは、セル内のサブスクリプションを低優先度レベル、中優先度レベル、及び高優先度レベルとして分類することと、低優先度レベルのフレームに簡略化動作を適用し、高優先度レベルのフレームに改良動作を適用することとを含む。またさらなる実施形態では、簡略化動作及び改良動作は、ユーザグラフィカル表現ごとの閲覧フィールドの対応するフレームの解像度とフレームレートとを調整することを少なくとも含む。またさらなる実施形態では、簡略化動作及び改良動作は、ユーザグラフィカル表現ごとの閲覧フィールドの対応するフレームの解像度とフレームレートとを調整することを少なくとも含む。またさらなる実施形態では、詳細レベルを調整するステップは、優先度レベルに基づく3次元サウンドトリートメントを含む、サウンドエンハンスメントを実行することを含むことをさらに含む。
【0010】
いくつかの実施形態では、ユーザグラフィカル表現は、公開クライアントデバイスの少なくとも1つのカメラによってキャプチャされたライブデータフィードを受信することと、キャプチャされたデータをサブスクライブするクライアントデバイスに送ることと、公開クライアントデバイスのユーザを表す画像のみを抽出するために、ユーザの背景削除を実行することと、サブスクライブするクライアントデバイスによって、ユーザグラフィカル表現を仮想環境中に挿入することとを含むプロセスによって作成される。
【0011】
いくつかの実施形態では、ユーザグラフィカル表現は、背景が削除されたユーザ3D仮想カットアウト、又は背景が削除されたユーザリアルタイム3D仮想カットアウト、又は背景が削除されたビデオ、又は背景が削除されていないビデオを含む。
【0012】
いくつかの実施形態では、サブスクリプション要求は、サブスクライブするクライアントデバイスから受信されたクリックアクション又は他のアクションに基づいて実行される。
【0013】
いくつかの実施形態では、優先度データは、利用可能な帯域幅、ユーザプロファイル、コンテンツアイテムのタイプ、対応するセル内のコンテンツアイテムの数、対応するセル内のユーザグラフィカル表現の数、又はコンテンツアイテムに対するユーザグラフィカル表現の配向角のうちの1つ又は複数に基づいて調整され、その結果、詳細レベルの対応する調整が行われる。
【0014】
いくつかの実施形態では、優先度データは、ユーザが話者であるか聴者であるかに基づいてさらに調整される。
【0015】
本開示の別の態様では、LOD管理システムは、少なくとも1つのプロセッサとメモリとを含むコンピュータシステムを含み、コンピュータシステムは、少なくとも、1つ又は複数のコンテンツアイテムを公開するために、分散型メッセージ交換プラットフォームを介して、公開クライアントデバイスから1つ又は複数の公開要求を受信することであり、コンテンツアイテムのうちの少なくとも1つが公開クライアントデバイスユーザのユーザグラフィカル表現である、受信することと、1つ又は複数のコンテンツアイテムを、仮想環境の少なくとも1つの部分からの少なくとも1つの関心エリアを表す少なくとも1つのセルに公開することと、サブスクライブするクライアントデバイスを表す、仮想環境内の少なくとも1つのユーザグラフィカル表現と、1つ又は複数の公開されたコンテンツアイテムとの間の距離を測定することと、1つ又は複数の公開されたコンテンツアイテムにサブスクライブするために、サブスクライブするクライアントデバイスからのサブスクリプション要求を受信することと、測定された距離に基づいて優先度データを計算することであり、優先度データの優先度レベルが測定された距離に反比例する、計算することと、優先度レベルに基づいて、対応するセル中のユーザグラフィカル表現ごとの閲覧フィールドの詳細レベルを調整することと、分散型メッセージ交換プラットフォームを介して、サブスクライブされたコンテンツアイテムとともに、調整された詳細レベルをサブスクライブするクライアントデバイスに送ることとを行うようにプログラムされる。
【0016】
いくつかの実施形態では、詳細レベルの前記調整は、セル内のサブスクリプションを低優先度レベル、中優先度レベル、及び高優先度レベルとして分類することと、高優先度レベルのフレームに改良動作を適用することであって、改良動作が、ユーザグラフィカル表現ごとの閲覧フィールドの対応するフレームの解像度とフレームレートとを調整することを少なくとも含む、適用することとを含む。さらなる実施形態では、改良動作は、ユーザグラフィカル表現に対するピクセル整合陰関数(Pixel-aligned Implicit Function)フレームワークの適用を含む。さらなる実施形態では、改良動作は、優先度レベルに基づく3Dサウンドトリートメントを含むサウンドエンハンスメントをさらに含む。
【0017】
いくつかの実施形態では、仮想環境は、オクツリー(octree、八分木)データ構造、クワッドツリー(四分木)データ構造、バイナリ空間分割(BSP)ツリーデータ構造、スパースボクセルオクツリーデータ構造、3Dアレイ、k次元(kD)ツリー、ポイントクラウド、ワイヤフレームモデル、境界表現(B-Rep)、空間領域構成法(constructive solid geometry)ツリー(CSGツリー)、ビンツリー(二分木)、又は六方晶構造のうちの1つ又は複数を使用する。
【0018】
いくつかの実施形態では、サブスクリプション要求は、サブスクライブするクライアントデバイスから受信されたクリックアクション又は他のアクションに基づいて実行される。
【0019】
いくつかの実施形態では、仮想環境は、ユーザ間のビデオ通信を可能にするビデオ会議プラットフォームの一部としてホストされる。
【0020】
いくつかの実施形態では、優先度データは、利用可能な帯域幅、ユーザプロファイル、コンテンツアイテムのタイプ、対応するセル内のコンテンツアイテムの数、対応するセル内のユーザグラフィカル表現の数、又はコンテンツアイテムに対するユーザグラフィカル表現の配向角のうちの1つ又は複数に基づいて調整される。
【0021】
いくつかの実施形態では、コンピュータシステムは、多地点会議ユニット(MCU)トポロジー、又は選択的転送ユニット(SFU)トポロジー、又はトラバーサルユージングリレー(Traversal Using Relay)NAT(TURN)トポロジー、又は空間的分析メディアサーバトポロジー(SAMS)を使用するメディアサーバコンピュータを含む。
【0022】
上記の概要は本開示のすべての態様の網羅的なリストを含まない。本開示は、上記で要約した様々な態様、並びに以下の詳細な説明に開示されている態様、特に本願とともに出願された特許請求の範囲において指摘される態様のすべての好適な組合せから実施され得るすべてのシステム及び方法を含むことが企図される。そのような組合せは、上記の概要において明確に述べられていない利点を有する。本発明の他の特徴及び利点は、添付の図面から、及び以下の詳細な説明から明らかになろう。
【0023】
本開示の特定の特徴、態様及び利点は、以下の説明及び添付の図面に関してより良く理解されよう。
【図面の簡単な説明】
【0024】
【
図1】一実施形態による、仮想環境における詳細レベル(LOD)管理を可能にするシステムの概略表現を示す図である。
【
図2】一実施形態による、複数のセル中の公開されたコンテンツアイテムとサブスクリプションとを管理する分散型メッセージ交換プラットフォームの概略表現を示す図である。
【
図3】一実施形態による、LOD管理のために使用されるサブスクリプション優先度データレベルの概略表現を示す図である。
【
図4A】一実施形態による、仮想環境におけるLOD管理の例示的な適用例を示す図である。
【
図4B】一実施形態による、仮想環境におけるLOD管理の例示的な適用例を示す図である。
【
図4C】一実施形態による、仮想環境におけるLOD管理の例示的な適用例を示す図である。
【
図5】一実施形態による、仮想環境における詳細レベル(LOD)管理を可能にする方法のフローチャートを示す図である。
【発明を実施するための形態】
【0025】
以下の説明では、例として様々な実施形態を示す図面を参照する。また、以下で、いくつかの例を参照することによって、様々な実施形態について説明する。実施形態は、特許請求される主題の範囲から逸脱することなく設計及び構造の変更を含み得ることを理解されたい。
【0026】
本開示は、背景において開示された欠点のうちの少なくともいくつかを、仮想環境における詳細レベル(LOD)管理を可能にするシステム、方法、及び非一時的コンピュータ可読媒体によって解決する。本開示のLOD管理は、複数のユーザが、対応するユーザグラフィカル表現を通して対話することができる、仮想環境において実装されるビデオ会議プラットフォームなど、通信を可能にする仮想環境内のメディアコンテンツアイテムに対して実行される。本開示のLOD管理は、他のユーザがサブスクライブすることができるメディアコンテンツアイテムをユーザが公開することができる情報交換を可能にする、公開-サブスクライブ通信モデルの利用に基づく。LOD管理は、いくつかの実施形態では、様々な優先度データレベル(たとえば、高、中、及び低)へのサブスクリプションの分類を伴い、より低い優先度データレベルに対しては簡略化動作が実行され、より高い優先度データレベルに対しては向上動作が実行される。優先度データレベルは、ユーザグラフィカル表現とサブスクライブされたメディアコンテンツアイテムとの間の距離に基づき得るが、LOD管理のために必要とされる優先度データレベルを抽出するために他のパラメータも考慮され得る。
【0027】
いくつかの実施形態では、優先度データは、最初に、公開されたアイテムとユーザグラフィカル表現との間の距離に基づいて分散型メッセージ交換プラットフォームによって計算され、その後、他のパラメータに基づいて調整される。例示的なシナリオでは、分散型メッセージ交換プラットフォームは、すべてのユーザグラフィカル表現及び公開されたメディアコンテンツについての位置及び配向データを連続的に受信する。分散型メッセージ交換プラットフォームは、サブスクライブするクライアントデバイスがコンテンツにサブスクライブすることができるように、サブスクライブするクライアントデバイスにサブスクリプション情報を送る。サブスクリプション情報は、いくつかの実施形態では、クライアントデバイスがそれにサブスクライブし得るオブジェクトの優先度データと識別情報とを含む。クライアントデバイスが(たとえば、分散型メッセージ交換プラットフォームにサブスクリプション要求を送ることによって)サブスクライブすると、分散型メッセージ交換プラットフォームは、優先度データと、サブスクライブするデバイスとサブスクライブされたコンテンツとを識別するサブスクリプションとをLOD管理モジュールに送り、LOD管理モジュールは、サブスクライブされたコンテンツのための各デバイスについてLODを調整する。調整されたLODを記述する情報は分散型メッセージ交換プラットフォームに共有し返すことができる。
【0028】
このようにして、本開示の教示は、仮想環境におけるLODを管理するために、特に、多数の(たとえば、数百又は数千の)ユーザをホストする混雑した空間のために適用することができる、新規の高効率なリソース最適化を提供する。本開示のさらなる実施形態、詳細、及び利点について以下で図に関してより詳細に説明する。
【0029】
図1は、一実施形態による、仮想環境における詳細レベル(LOD)管理を可能にするシステム100の概略表現を示す。
【0030】
システム100は、少なくとも1つのプロセッサ104とメモリ106とを含む少なくとも1つのサーバコンピュータ102を含み、メモリ106は、分散型メッセージ交換プラットフォーム108と、LOD管理モジュール110と、少なくとも1つの仮想環境112とを記憶する。分散型メッセージ交換プラットフォーム108は、ネットワーク114を通して、少なくとも1つの公開クライアントデバイス116から1つ又は複数のメディアコンテンツアイテム公開要求を受信し、メディアコンテンツアイテムのうちの少なくとも1つは公開クライアントデバイスユーザ120のユーザグラフィカル表現118である。分散型メッセージ交換プラットフォーム108は、次いで、受信された1つ又は複数のメディアコンテンツアイテムを、仮想環境112の少なくとも1つの部分からの少なくとも1つの関心エリアを表す少なくとも1つのセル(図示せず)に公開する。仮想環境112は、3Dデータ構造など、データ構造に配置され得る。分散型メッセージ交換プラットフォーム108は、仮想環境112内のサブスクライブするユーザグラフィカル表現122と、
図1のサンプル図にコンテンツアイテムA~Cとして表されている1つ又は複数の公開されたメディアコンテンツアイテムとの間の距離を測定することなど、空間関係情報を取得し得る。代替的に、異なるモジュール(たとえば、LOD管理モジュール110)がそのような測定を行い、測定データを分散型メッセージ交換プラットフォーム108に送り得る。
【0031】
その後、分散型メッセージ交換プラットフォーム108は、サブスクライブするユーザ126によって採用されるサブスクライブするクライアントデバイス124から、公開されたメディアコンテンツアイテムのうちの1つ又は複数に対する少なくとも1つのサブスクリプション要求を受信する。いくつかの実施形態では、サブスクライブするユーザグラフィカル表現122が公開されたコンテンツアイテムに接近し、それによりユーザグラフィカル表現122とコンテンツアイテムとの間の測定された距離が事前定義されたしきい値距離内になったことに応答して、サブスクリプション要求が自動的に送信される。分散型メッセージ交換プラットフォーム108は、測定された距離に基づいて優先度データを計算し、優先度レベルは、少なくとも1つのユーザグラフィカル表現と1つ又は複数の公開されたメディアコンテンツアイテムとの間で測定された距離に反比例し、分散型メッセージ交換プラットフォーム108は優先度データをLOD管理モジュール110に送信する。LOD管理モジュール110は、次いで、抽出された優先度データに基づいて、対応するセル中のユーザグラフィカル表現ごとの閲覧フィールドの詳細レベルを調整し、次いで、サブスクライブされたメディアコンテンツアイテムとともに、調整された詳細レベルをサブスクライブするクライアントデバイス124に送信する。
【0032】
たとえば、分散型メッセージ交換プラットフォーム108と、LOD管理モジュール110と、仮想環境112とを含む、本開示のシステム100のモジュールは、本明細書で説明する目的のために使用するために独立して作成され、維持され得る、個別のコンピュータコードを含むソフトウェアモジュールを指す。モジュールは、異なるモジュールの機能を使用するためにシステム100のために分散させられ、システム100によって使用され得る。ソフトウェアモジュールは、対応するハードウェアモジュールに接続され得、その対応するハードウェアモジュールは、その対応するソフトウェアモジュールの機能を提供するように構成された様々な独立した電子回路の選択であり得る。仮想化及び分散計算技法によって、本開示のモジュールは、ネットワークを通して互いに接続された複数のサーバコンピュータなど、複数の計算デバイスにわたって分散させられ得る。
【0033】
本開示の分散型メッセージ交換プラットフォーム108は、複数のサーバ又はクライアント計算デバイスなどからの、データ及びリソースの交換及び管理を可能にするコンピュータコードを含む仮想レイヤを含むソフトウェアモジュールである。「分散された」という用語は、地理的エリアの異なる部分にあるクライアントデバイスにサービスするために、異なる物理的エリアにおいて構成することができるサーバ計算デバイスなど、複数の計算デバイスにわたって展開されることを意味する。いくつかの実施形態では、分散型メッセージ交換プラットフォーム108は、通信が通常2つのノード、すなわちクライアントとサーバとの間で行われる、一般的に使用されるクライアント/サーバベースの通信モデルとは異なる、コンテンツの生成及び消費に基づく通信のモデルである、公開-サブスクライブモデルを使用する。公開-サブスクライブモデルによるそのような通信は匿名化が可能であり得、これは、サーバコンピュータ102及び/又は公開クライアントデバイスが、どのサブスクライブするクライアントデバイス124がどの公開されたメディアコンテンツにサブスクライブしたかを知っている必要がないこと、同様に、サブスクライブするクライアントデバイス124が、どのエンティティが公開されたメディアコンテンツアイテムを公開したかを知っている必要がないことを意味する。公開-サブスクライブモデルは、誰もが情報を公開し、受信することができるように情報交換を可能にし、これにより、一般的なクライアントサーバモデルよりも大きい柔軟度が可能になる。情報を交換するこの能力は、優先度データレベルに従って分類されるサブスクリプションに対してLOD管理を実施するためにLOD管理モジュールによって使用され、その結果、標準的なLOD管理方法よりも消費される計算リソースが少ない、高度に柔軟で最適化されたLOD管理になる。このようにして、クライアントデバイスのユーザは、仮想環境の大きい又は混雑したエリアを自由に探索し得、計算リソースの消費が低減されるので、向上したスムーズなサービス品質と体験品質とを体験しながら、いくつかの公開されたメディアアイテムにサブスクライブすることができる。
【0034】
いくつかの実施形態では、仮想環境112は、ユーザ間のビデオ通信を可能にするビデオ会議プラットフォームの一部としてホストされる。仮想環境112は、ビデオ会議プラットフォームの一部としてホストされるとき、ライブパフォーマンス、コンサート、ウェビナー、キーノートなど、複数の体験を、複数の(たとえば、数千個又はさらには数百万個の)ユーザグラフィカル表現にリアルタイムで共有することを可能にし得る。これらの仮想パフォーマンスは、世界の様々な地域からの多数のユーザに適応するために仮想環境112の複数のインスタンスによって提示され、及び/又はそのような複数のインスタンスにマルチキャストされ得る。ビデオ会議プラットフォームは、チャット、スクリーン共有、発話、マルチメディアファイルの送信又は受信、挙手、ミーティング概要の作成、オブジェクトの移動、ゲームのプレイ、取引の実行、プライベート又はグループ会話への参加など、複数の社会的対話を可能にし得る。そのようなビデオ会議プラットフォームは、仮想環境における通信を可能にするために任意の好適なシステムアーキテクチャを使用し得る。
【0035】
いくつかの実施形態では、仮想環境は、クライアントサーバ側とピアツーピア(P2P)側とを含む、ハイブリッドシステムアーキテクチャを利用する。一実施形態では、クライアントサーバ側はウェブ又はアプリケーションサーバを含む。クライアントサーバ側は、セキュアな通信プロトコル、マイクロサービス、データベース管理システム、データベース、並びに/又は分散型メッセージ及びリソース分散プラットフォームを含むようにさらに構成され得る。サーバ側構成要素は、ネットワークを通してサーバに通信するクライアントデバイスとともに提供され得る。クライアントサーバ側は、クライアント側、サーバ側、又は受信クライアント側によって実行される任意の処理を含む、ネットワークを通しての1つ又は複数のクライアントとサーバとの間の対話を定義する。一実施形態では、対応するクライアント及びサーバのうちの1つ又は複数は、様々なルールベースのタスク割り当ての組合せに従って、必要な画像及びメディア処理を実行する。一実施形態では、ウェブ又はアプリケーションサーバは、データベース管理システムを使用してデータベースからの要求に対応するマイクロサービス又はデータを要求することによって、セキュアな通信プロトコルを採用するクライアント要求を受信し、クライアント要求を処理するように構成される。マイクロサービスは、公開-サブスクライブモデルを使用する分散型メッセージ及びリソース分散プラットフォームを利用して分散させられる。
【0036】
P2P側は、仮想環境におけるクライアントデバイス間のリアルタイム通信を可能にするP2P通信プロトコルと、仮想環境に含まれるライブセッション要素(たとえば、ユーザグラフィカル表現)のリアルタイム3Dレンダリングをクライアントデバイスが実行することを可能にするように構成されたレンダリングエンジンとを含む。好適なP2P通信プロトコルの例は、ウェブリアルタイム通信(WebRTC)通信プロトコルであり得、ウェブリアルタイム通信(WebRTC)通信プロトコルは、ピアクライアントデバイス間のP2Pオーディオ、ビデオ、及びデータ共有を組合せで可能にする、規格、プロトコル、及びJavaScriptAPIの集合である。好適なレンダリングエンジンの例は、WebGLに基づく3Dエンジンであり得、これは、プラグインを使用せずに、任意の適合するウェブブラウザ内で2D及び3DグラフィックスをレンダリングするためのJavaScriptAPIであり、クライアントデバイスの1つ又は複数のプロセッサ(たとえば、1つ又は複数のグラフィック処理ユニット(GPU))による物理現象及び画像処理及びエフェクトの使用を加速することを可能にする。一実施形態では、P2P側は、クライアントデバイスが仮想環境においてリアルタイムコンピュータビジョンタスクを実行することを可能にするように構成されたコンピュータビジョンライブラリをさらに含む。好適なコンピュータビジョンライブラリの例は、主にリアルタイムコンピュータビジョンタスクのために構成されたプログラミング機能のライブラリである、OpenCVであり得る。通信のそのようなハイブリッドモデルを使用することにより、各セッションにウェブサービスとリソースとを提供しながらレイテンシ問題を低減する、ユーザ間の高速P2P通信が可能になり、それにより、仮想環境におけるユーザ間の及びコンテンツとの複数の対話が可能になり得る。
【0037】
仮想環境112は、ユーザが探索し、その中の公開されたメディアコンテンツアイテムにサブスクライブし、そのようなメディアコンテンツアイテムと対話し、互いにコミュニケーションすることなどができる、仮想シーン、仮想世界又は仮想宇宙を指し得る。一例では、様々な仮想環境112が、仮想世界を形成するために組み合わせられ得る。たとえば、ストアの複数の仮想環境112が単一の仮想ショッピングモールに組み合わせられ得、そのような仮想ショッピングモールでは、ユーザは、彼らのユーザグラフィカル表現を介して探索し、異なる公開されたメディアコンテンツアイテムにサブスクライブし、互いに対話することができる。仮想環境は、複数のソフトウェアプラットフォーム又はソフトウェアエンジンによってモデル化され得るアセットを含む。アセットは、1つ又は複数のサーバコンピュータ102のメモリ106に記憶され得、分散型メッセージ交換プラットフォーム108において公開され得る。アセットは、シーン描写において定義され得、シーン描写はプロパティと値とを含むシーングラフの形態であり得、モデルに基づき得る。モデルは、ジオメトリ、テクスチャ、物理現象、ライティング、材料などを含むデータによって定義された3次元オブジェクトの描写である。アセットは、仮想環境112に接続する分散型メッセージ交換プラットフォーム108において公開クライアントデバイス116によって公開され得る。一例では、公開クライアントデバイス116は、分散型メッセージ交換プラットフォーム108を通して仮想環境112を公開する、仮想環境112の所有者又は管理者などの、仮想環境112の作成に使用される1つ又は複数の計算デバイスである。別の実施形態では、公開クライアントデバイス116は、サブスクライブするクライアントデバイス124のサブスクリプションのために分散型メッセージ交換プラットフォーム108においてメディアコンテンツアイテムを公開し得る、仮想環境112のユーザによって採用される。
【0038】
仮想環境112は、したがって、コンピュータ支援描画(CAD)方法による任意の好適な3Dモデリング技法によって設計され得る、仮想構築物(たとえば、仮想モデル)を指す。いくつかの実施形態では、仮想環境112は、仮想環境112を生成するために様々な写真、ビデオ、深度測定、並びに/又は同時位置特定及びマッピング(simultaneous location and mapping)(SLAM)走査によって入力される画像走査パイプラインを含む、任意の好適な走査ツールによって実在の構築物(たとえば、物理的な部屋)からスキャンされる仮想構築物を指す。たとえば、現実世界の構築物をマッピングし、モデル化し、それらの構築物を仮想環境112に変えるために、合成開口レーダ、実開口レーダ、光検出及び測距(Light Detection and Ranging)(LIDAR)、逆開口レーダ、モノパルスレーダなど、レーダ撮像、並びに、他のタイプの撮像技法が使用され得る。他の実施形態では、仮想環境110は、実在の構築物(たとえば、現実世界における部屋、建築物、又は施設)にならってモデル化される仮想構築物である。
【0039】
メディアコンテンツアイテムは、とりわけ、2D又は3D画像データ、3Dジオメトリ、ビデオデータ、メディアデータ、オーディオデータ、テキストデータ、触覚データ、時間データ、3Dエンティティ、3D動的オブジェクト、テキストデータ、時間データ、優先度データ、セキュリティデータ、位置データ、ライティングデータ、深度データ、赤外線データ、及び対応するメタデータのいずれかを含み得る。一例では、メディアコンテンツアイテムは、近くのサブスクライブするクライアントデバイス124のユーザグラフィカル表現が空間パラメータのセット内(たとえば、しきい値距離内、見通し線中など)にあるときに、それらのクライアントデバイス124によってサブスクライブされ得る、公開クライアントデバイスのユーザグラフィカル表現を含む。他の実施形態では、メディアコンテンツアイテムは、サブスクライブするクライアントデバイスがそれにサブスクライブし得る対話型アプリケーション又は広告を含む。
【0040】
いくつかの実施形態では、仮想環境112は、オクツリーデータ構造、又はクワッドツリーデータ構造、又はBSPツリーデータ構造、又はスパースボクセルオクツリーデータ構造、又は3次元アレイ、kDツリー、ポイントクラウド、ワイヤフレーム、境界表現(B-Rep)、空間領域構成法ツリー(CSGツリー)、ビンツリー、及び六方晶構造のうちの1つ又は複数から選択されたデータ構造を使用する。3Dデータ構造は、仮想環境112中の仮想オブジェクトのジオメトリの各々のデータを正確に効率的に表す機能を果たす。3Dデータ構造の正しい選択は、データの発生源、レンダリング中に求められるジオメトリの精度、レンダリングがリアルタイムで行われるのか事前にレンダリングされるのか、レンダリングがクラウドサーバを介して実行されるのか、ユーザデバイス、フォグデバイス、又はそれらの組合せを介して実行されるのか、持続的な仮想世界システムがそのために採用される特定の適用例(たとえば、医学又は科学の適用例の場合は、他のタイプの適用例の場合よりも高いレベルの定義が必要とされ得る)、サーバからの、及びユーザデバイスからのメモリ容量(したがって、所望のメモリ消費)などに依存する。
【0041】
いくつかの実施形態では、ユーザグラフィカル表現は、少なくとも1つのサーバコンピュータ102によって、公開クライアントデバイス116の少なくとも1つのカメラ128によってキャプチャされたライブデータフィードを受信することと、サーバ102を介して、又はP2Pアーキテクチャを通して、キャプチャされたデータをサブスクライブするクライアントデバイス124に送ることと、公開クライアントデバイス116のユーザ120を表す画像のみを抽出するために、ユーザ120の背景削除を実行することと、サブスクライブするクライアントデバイス124によって、ユーザグラフィカル表現118を仮想環境112中に挿入することとを含むプロセスによって作成される。
【0042】
いくつかの実施形態では、クライアントデバイスは、とりわけ、モバイルデバイス、パーソナルコンピュータ、ラップトップ、ゲームコンソール、メディアセンター、スマートコンタクトレンズ、及びヘッドマウントディスプレイのうちの1つ又は複数であり得る。カメラ128は、とりわけ、2D若しくは3Dカメラ、360度カメラ、ウェブカメラ、RGBDカメラ、CCTVカメラ、プロ仕様のカメラ、モバイルフォンカメラ、深度カメラ(たとえば、LIDAR)、又はライトフィールドカメラのうちの1つ又は複数であり得る。
【0043】
いくつかの実施形態では、ユーザグラフィカル表現は、背景が削除されたユーザ3D仮想カットアウト、又は背景が削除されたユーザリアルタイム3D仮想カットアウト、又は背景が削除されたビデオ、又は背景が削除されていないビデオを含む。
【0044】
本開示では、ユーザ3D仮想カットアウトは、ユーザがアップロードした、又はサードパーティソースの2D写真から構築されたユーザの仮想レプリカを含み得る。一実施形態では、ユーザ3D仮想カットアウトは、ユーザがアップロードした、又はサードパーティソースの2D写真を入力データとして使用するマシンビジョン技法によって、3D仮想再構築プロセスを介して作成され、それにより、背景が削除されたユーザの3Dメッシュ又は3Dポイントクラウドが生成される。一実施形態では、ユーザ3D仮想カットアウトは変化のない顔の表情を有し得る。別の実施形態では、ユーザ3D仮想カットアウトは、カメラフィードによって更新される顔の表情を含み得る。また別の実施形態では、ユーザ3D仮想カットアウトは、ユーザ3D仮想カットアウトが、ほほえむ、顔をしかめる、真剣になるなどのことを可能にするボタンなど、ユーザグラフィカルインターフェース上のボタンによって変更され得る表情を含み得る。またさらなる実施形態では、ユーザ3D仮想カットアウトは、顔の表情を表示するために上述の技法の組合せを使用する。ユーザ3D仮想カットアウトを生成した後に、ユーザ3D仮想カットアウトのステータス及び/又は顔の表情は、たとえばユーザからのカメラフィードを処理することによって、連続的に更新され得る。しかしながら、カメラがオンになっていない場合、ユーザ3D仮想カットアウトは、利用不可能なステータスと変化のない顔の表情とを伴って他のユーザに依然として見えることがある。たとえば、ユーザは、現在、仕事に集中していることがあり、また、邪魔されたくない(たとえば、「邪魔しないで」又は「忙しい」ステータスを有する)ので、彼又は彼女のカメラをオフにしていることがある。この瞬間に、ユーザ3D仮想カットアウトは、単に彼又は彼女の机に座っていることがあり、また、じっとしていることがあるか、又は、タイピングなど、事前構成された動作を実行するかのいずれかであることがある。しかしながら、ユーザカメラが再びオンにされると、ユーザ3D仮想カットアウトは、ユーザの顔の表情及び/又は動きに対してリアルタイムで再び更新され得る。得られるユーザグラフィカル表現がユーザであると明らかに認識可能であるように、ユーザ3D仮想カットアウトの作成のための標準的な3D顔モデル再構築(たとえば、3D顔適合及びテクスチャ融合)技法が使用され得る。
【0045】
ユーザリアルタイム3D仮想カットアウトは、カメラから取得された、ユーザ背景が削除された後のリアルタイム2D又は3Dライブビデオストリームデータフィードに基づくユーザの仮想レプリカを含み得る。一実施形態では、ユーザリアルタイム3D仮想カットアウトは、背景が削除されたユーザの3Dメッシュ又は3Dポイントクラウドを生成することによって、ユーザライブデータフィードを入力データとして使用するマシンビジョン技法によって、3D仮想再構築プロセスを介して作成される。たとえば、ユーザリアルタイム3D仮想カットアウトは、ホログラフィ3Dメッシュ又は3Dポイントクラウドを作成するために処理され得る、カメラ(たとえば、ウェブカム)からの2Dビデオから生成され得る。別の例では、ユーザリアルタイム3D仮想カットアウトは、ホログラフィ3Dメッシュ又は3Dポイントクラウドを作成するために処理され得る、深度カメラ(たとえば、LIDAR又は任意の深度カメラ)からの3Dビデオから生成され得る。このようにして、ユーザリアルタイム3D仮想カットアウトは、ユーザを3次元でまたリアルタイムでグラフィカルに表す。
【0046】
背景が削除されたビデオは、クライアントデバイスにストリーミングされるビデオを含み得、背景削除プロセスは、ユーザのみが見えており、次いで、受信するクライアントデバイス上の多角形構造を利用して表示され得るように実行されている。背景が削除されていないビデオは、クライアントデバイスにストリーミングされるビデオを含み得、ビデオは、ユーザ及び彼又は彼女の背景が見えており、次いで、受信するクライアントデバイス上の多角形構造を利用して表示されるように、カメラキャプチャを忠実に表している。多角形構造は、ビデオをサポートするための仮想フレームとして使用されるクワッド構造又はより複雑な3D構造であり得る。
【0047】
いくつかの実施形態では、ライブデータフィードに含まれる入力データとして使用されるデータ、及び/又はユーザがアップロードした若しくはサードパーティソースの2D写真は、とりわけ、2D又は3D画像データ、3Dジオメトリ、ビデオデータ、メディアデータ、オーディオデータ、テキストデータ、触覚データ、時間データ、3Dエンティティ、3D動的オブジェクト、テキストデータ、時間データ、メタデータ、優先度データ、セキュリティデータ、位置データ、ライティングデータ、深度データ、及び赤外線データを含む。
【0048】
いくつかの実施形態では、クライアントデバイス118及び少なくとも1つのクラウドサーバコンピュータ102はワイヤード又はワイヤレスネットワークを通して接続する。いくつかの実施形態では、ネットワークは、ミリメートル波(mmW)、又は第5世代ワイヤレスシステム通信(5G)など、mmW通信システムとサブ6GHz通信システムとの組合せを含み得る。他の実施形態では、システムはワイヤレスローカルエリアネットワーキング(Wi-Fi)を通して接続し得る。他の実施形態では、システムは、第4世代ワイヤレスシステム通信(4G)を通して通信可能に接続し得るか、4G通信システムによってサポートされ得るか、又は他のワイヤード若しくはワイヤレス通信システムを含み得る。
【0049】
いくつかの実施形態では、少なくとも1つのサーバコンピュータ102は、多地点制御ユニット(Multipoint Control Unit)(MCU)トポロジー、又は選択的転送ユニット(SFU)トポロジー、又はトラバーサルユージングリレーNAT(TURN)トポロジー、又は空間的分析メディアサーバトポロジー(SAMS)を使用するメディアサーバコンピュータである。
【0050】
いくつかの実施形態では、少なくとも1つのクラウドサーバは中間サーバであり得、このことは、サーバが、クライアントデバイス間でのデータの交換を促進及び/又は最適化するために使用されることを意味する。そのような実施形態では、少なくとも1つのクラウドサーバは、着信画像及びマルチメディアストリームを管理、分析、処理及び最適化し、ルータトポロジー(たとえば、限定はしないが、SFU、SAMS、マルチメディアサーバルータとしてのアウトバウンドストリームの転送、又は画像及びメディア処理(たとえば、限定はしないが、復号、組合せ、改善、混合、向上、増加、計算、操作、符号化)、及びサーバトポロジー(たとえば、限定はしないが、MCU、クラウドメディアミキサ、クラウド3Dレンダラーなど)若しくは他のサーバトポロジーを転送することを管理、評価、最適化し得る。
【0051】
中間サーバがSAMSである実施形態では、そのようなメディアサーバは(たとえば、限定はしないが、メタデータ、優先度データ、データクラス、空間構造データ、3次元位置、配向又は移動情報、画像、メディア、スケーラブルビデオコーデックベースのビデオを含む)各公開クライアントデバイスの着信データを管理、分析、及び処理し、そのような分析において、最適な帯域幅を達成し、1つ又は複数のユーザクライアントデバイスのためのリソース利用を計算する、そのような着信データに対する特定のサブスクライブするクライアントデバイスユーザの空間的な3次元配向、距離及び優先度の関係に基づいて、時間的な(変動するフレームレート)、空間的な(たとえば、異なる画像サイズ)、詳細レベル、品質(たとえば、異なる圧縮又は符号化ベースの品質)、及び色(たとえば、色解像度及び範囲)について、メディアを修正、アップスケーリング又はダウンスケーリングすることによって、分散型メッセージ交換プラットフォーム108を通して各サブスクライブするクライアントデバイスへのアウトバウンドデータストリームの転送を最適化する。
【0052】
図2は、一実施形態による、複数のセル210中の、公開されたメディアコンテンツアイテム206の形態のコンテンツ204とサブスクリプション208とを管理する分散型メッセージ交換プラットフォーム202を含むシステム200の概略表現を示す。
【0053】
図2の例では、公開クライアントデバイス212は、分散型メッセージ交換プラットフォーム202の1つ又は複数のセル210上のメディアコンテンツアイテム206を公開する。各セルは仮想環境の少なくとも1つの部分からの少なくとも1つの関心エリアを表す。分散型メッセージ交換プラットフォーム202は、公開されたメディアコンテンツアイテム206を受信し、公開されたメディアコンテンツアイテム206をサブスクライブするクライアントデバイス214に提供する。単一のサブスクライブするクライアントデバイス214は、複数の公開されたコンテンツアイテム206に同時にサブスクライブし得、それらの複数の公開されたコンテンツアイテム206は、
図1において詳述された公開-サブスクライブモデルを利用するネットワークを介して、分散型メッセージ交換プラットフォーム202によってサブスクライブするクライアントデバイス214に要求に応じて送信され得る。
【0054】
いくつかの実施形態では、サブスクライブするクライアントデバイス214によるサブスクリプション208は、公開されたコンテンツアイテム206を含む仮想環境内のサブスクライブするユーザグラフィカル表現間の測定された距離に応答して自動的に決定される。他の実施形態では、サブスクリプション要求は、サブスクライブするクライアントデバイスから受信されたクリックアクション又は他のタイプのアクション(たとえば、決定された秒数の間見る、手を振る、ジェスチャーする、まばたきするなど)に基づいてさらに実行される。
【0055】
図3は、一実施形態による、本開示のLOD管理のために使用されるサブスクリプション優先度データレベル302の概略表現を示す。
【0056】
図3の例示的な図では、公開クライアントデバイス304は、公開されたコンテンツアイテムA~Cを含むメディアコンテンツアイテム306を分散型メッセージ交換プラットフォーム308に公開する。サブスクライブするクライアントデバイスのサブスクリプション310は、次いで、低優先度レベル312、中優先度レベル314及び高優先度レベル316として分類される。この分類は、サブスクライブするユーザグラフィカル表現と、メディアコンテンツアイテムが公開されている仮想環境のエリアを表すセル内の少なくとも1つの公開されたメディアコンテンツアイテム306との間の、少なくとも1つのLOD管理モジュール(たとえば、少なくとも1つのサーバコンピュータ102のメモリ106に記憶されたLOD管理モジュール110)によって測定された距離に基づき得、優先度レベルは、サブスクライブするユーザグラフィカル表現間の前記距離に反比例する。したがって、たとえば、低優先度レベル312は、サブスクライブするユーザグラフィカル表現が仮想環境内の公開されたメディアコンテンツアイテムから比較的遠く離れている(たとえば、第1のしきい値距離内にある)ことを示し得、中優先度レベル314は、サブスクライブするユーザグラフィカル表現が仮想環境内の公開されたメディアコンテンツアイテムに比較的より近い(たとえば、第1のしきい値距離よりも小さい第2のしきい値距離内にある)ことを示し得、高優先度レベル316は、サブスクライブするユーザグラフィカル表現が仮想環境内の公開されたメディアコンテンツアイテムに近い(たとえば、第2のしきい値距離よりも小さい第3のしきい値距離内にある)ことを示し得る。
【0057】
いくつかの実施形態では、サブスクリプション要求は、サブスクライブするクライアントデバイスから受信されたクリックアクション又は他のアクション(たとえば、決定された秒数の間見る、手を振る、ジェスチャーする、まばたきするなど)に基づいてさらに実行される。そのような場合、優先度レベルは、サブスクライブされたメディアコンテンツアイテムについてより高い詳細レベルを可能にするために高められる。他の実施形態では、優先度データは、利用可能な帯域幅、ユーザプロファイル、コンテンツアイテムのタイプ、対応するセル内のコンテンツアイテムの数、対応するセル内のユーザグラフィカル表現の数、若しくはコンテンツアイテムに対するユーザグラフィカル表現の配向角、又はそれらの組合せのうちの1つ又は複数に基づいてさらに抽出される。したがって、優先度レベル分類は、主に、サブスクライブするユーザグラフィカル表現とサブスクライブするユーザの視界内の公開されたメディアコンテンツアイテムとの間の、仮想環境内の距離に基づき得、次いで、優先度レベルをさらに調整するために、上記に記載したパラメータのうちの1つ又は複数を利用し得る。たとえば、サブスクライブするユーザグラフィカル表現に比較的近いサブスクライブされたメディアコンテンツアイテムは、高いLODを決定し得るが、低帯域幅を有するか、又は同じエリア内に比較的大きい数のユーザグラフィカル表現若しくは公開されたメディアコンテンツアイテムを有するなど、他の条件では、その特定のサブスクリプションに関するLODが低減され得る。別の例では、(たとえば、他の条件とは無関係に、特定の時間フレーム内のすぐ近くのメディアコンテンツアイテムについてHDを可能にする)特別な権利を有する人のユーザプロファイルにより、彼又は彼女がその同じサブスクライブされたメディアコンテンツアイテムをより高い精細度で又はより高いフレームレートで閲覧することが可能になり得る。
【0058】
優先度レベルは、LOD管理318を通してLODを調整するために使用される。LOD管理318は、低忠実度モデルから高忠実度モデルまで、異なる物理モデルをサブスクライブされたメディアコンテンツアイテムに関連付けることができるので、グラフィックスパイプライン使用、一般的には頂点変換にかかる作業負荷を減少させることによって、又は物理シミュレーションを向上させることによって、レンダリングプロセスなど、計算プロセスの効率を高める。これにより、特定のサブスクリプション310の抽出された優先度レベルに応じて異なるシミュレーション又はレンダリングレベルを実行することが可能になる。また、LOD管理318により、特定の要件及びコンテキストに応じて、最適化されたユーザ体験を提供することが可能になる。したがって、負荷分散及び計算最適化を促進するために、同じ仮想環境及び対応するメディアコンテンツアイテムを異なる詳細レベルにおいてシミュレートすることが可能であり、結果として、好適な体験をユーザに提供しながら、より多くのユーザが特定の仮想イベントに参加することが可能になる。
【0059】
いくつかの実施形態では、LOD管理318は、データ構造内のより低い優先度レベルのフレームに簡略化動作を適用し、仮想環境のデータ構造内のより高い優先度レベルのフレームに改良動作を適用することを含み得る。またさらなる実施形態では、簡略化動作及び改良動作は、解像度調整320と、フレームレート調整322と、他の動作324とを含む。
【0060】
解像度調整320は、サブスクライブされたメディアコンテンツアイテムの優先度レベルに基づいて、サブスクライブするクライアントデバイスによって、受信されたメディアコンテンツの解像度を修正することを指す。フレームレート調整322は、サブスクライブされたメディアコンテンツアイテムの優先度レベルに基づいて、サブスクライブするクライアントデバイスによって、受信されたメディアコンテンツのフレームレートを修正することを指す。解像度及びフレームレートは、したがって、サブスクライブするユーザの閲覧パースペクティブの単一のメディアストリーム内に複数の解像度及びフレームレートが構成され得るように調整され得る。そのような組合せは、
図1を参照しながら説明したように、SAMS又はMCUサーバによって実行され得る。LOD管理318の他の動作324は、オクルージョンカリング(occlusion culling)、ポリゴンリダクション(polygon reduction)技法、シェーダ管理、画像エンハンスメント、サウンドエンハンスメントなどの動作を指す。
【0061】
いくつかの実施形態では、改良動作の一部である画像エンハンスメントは、Shunsuke Saitoら、「PIFuHD:Multi-Level Pixel-Aligned Implicit Function for High-Resolution 3D Human Digitization,」 arXiv:2004.00452v1(April 2020)に記載されているように、ユーザグラフィカル表現に対するピクセル整合陰関数(PIFu)フレームワークの適用を含む。Saitoらは、入力として512×512の解像度で画像を取るPIFuフレームワークを使用し、低解像度特徴埋込み128×128を取得する。より高い解像度を達成するために、Saitoらは、次いで、このフレームワークの上に追加のピクセル整合予測モジュールをスタックし、ここで、ファインモジュールは、入力としてより高い解像度の画像(1024×1024)を取り、高解像度画像特徴(512×512)に符号化する。第2のモジュールは、次いで、占有確率場を予測するために高解像度特徴埋込み並びに第1のモジュールからの3D埋込みを取る。再構築の品質及び忠実度をさらに改善するために、Saitoらは、最初に、画像空間中の正面及び背面について法線マップを予測し、これらの法線マップを追加の入力としてネットワークに供給する。PIFu方法の目的は、3D人間デジタル化を達成することであり、3D人間デジタル化は、3D空間中のポイントが人体の内側にあるのか否かを決定する、密な3D体積の占有を推定することによって達成することができる。トレーニング中に明示的な3D体積がメモリに記憶されないので、この手法はメモリ効率がよく、より重要なことには、ターゲット3D体積のために離散化が不要であり、このことは、ターゲットの人間対象について高忠実度3Dジオメトリを取得する際に重要である。
【0062】
いくつかの実施形態では、サウンドエンハンスメントは3Dサウンドトリートメントを含む。3Dサウンドトリートメントは、3D空間中のポイントから発する自然音波を模倣するための音波の変換を可能にする、異なるアルゴリズムを適用することを含み得る。これは、ステレオスピーカー、サラウンドサウンドスピーカー、スピーカーアレイ又はヘッドフォンなど、ハードウェアにおいて実施され得る。3Dサウンドトリートメントを使用すると、サブスクライブするユーザグラフィカル表現により近いユーザグラフィカル表現が、より遠く離れたサブスクライブするユーザグラフィカル表現よりも近くに聞こえることができ、また、音源の位置及び配向を考慮し、それにより体験の現実感を高めることができる。
【0063】
図4A~
図4Bは、一実施形態による、環境の仮想部屋400におけるLOD管理の例示的な適用例を示す。
【0064】
図4Aでは、ユーザAは、仮想部屋400(たとえば、仮想会議ホール又は教室)内の仮想演壇(podium)402にいる話者であり得、ユーザB~Jは仮想会議の参加者であり得る。ユーザB~Cは仮想部屋400の第1の列404に位置し、ユーザD~Fは、第1の列からより遠く離れた第2の列406に位置し、ユーザG~Jは仮想部屋400の第3の列408に位置する。簡単にするために、
図4Aにおける閲覧パースペクティブは三人称閲覧パースペクティブであるが、本開示の実施形態は、各ユーザが各ユーザの対応する閲覧パースペクティブを好ましくは一人称視点に設定していることを企図しており、視点は、本明細書で開示したLOD管理に基づいて個人的にレンダリングされる。
【0065】
図4Bは、分散型メッセージ交換プラットフォーム412において公開され、また、クライアントAからのサブスクリプション414として示されている、クライアントAによってサブスクライブされる、公開クライアントデバイスB~Jからの公開されたメディアコンテンツアイテム410を考慮した、
図4Aの仮想部屋400に対して使用されている本開示のLOD管理の例を示す。この例示的な図では、ユーザAにより近い、すなわち、第1の列404にあるメディアコンテンツアイテムはクライアントAによって高優先度レベルサブスクリプション416であるとみなされる。メディアコンテンツアイテムは、たとえば、座席、装飾、床、及び他のアイテムなど、仮想部屋の作成者によって公開された他のメディアコンテンツアイテムとともに、クライアントB及びCからの公開されたメディアコンテンツ(たとえば、クライアントB及びCのユーザグラフィカル表現)を含み得る。一例では、それらの高優先度レベルサブスクリプション416は、高い解像度及び高いフレームレート、たとえば、512×512ピクセルの解像度、及び30フレーム毎秒(FPS)のフレームレートに設定され得る。
【0066】
クライアントD~Fからの公開されたメディアコンテンツアイテム並びに他の公開されたメディアコンテンツアイテムを含む、第2の列406にあるサブスクライブされたメディアコンテンツアイテムは、中優先度レベル418として分類され、また256×256ピクセルの解像度、及び25FPSに設定され得る。
【0067】
最後に、クライアントG~Jからの公開されたコンテンツ並びに他の公開されたメディアコンテンツアイテムを含む、第3の列408にあるサブスクライブされたメディアコンテンツアイテムは、低優先度レベル420として分類され、また32×32ピクセルの解像度、及び20FPSに設定され得る。
【0068】
組み合わせられたフレームは、したがって、3つの異なる解像度及びフレームレートを有し得、各解像度及びフレームレートは異なる参加者及びメディアコンテンツアイテムをもち、参加者及びメディアコンテンツアイテムのすべては、それらの参加者及びメディアコンテンツアイテムをサブスクライブするクライアントデバイスAに送る前に、メディアサーバコンピュータによって組み合わせられ得る。仮想環境400内の公開-サブスクライブモデルに基づくそのようなLOD管理は、したがって、リソース利用を低減し、たとえば、仮想部屋400内のビデオ会議セッションに参加しているユーザのQoS及びQoEを改善する。
【0069】
図4Cは、分散型メッセージ交換プラットフォーム412において公開され、また、第1の列404において見つけられるクライアントBからのサブスクリプション422として示された、クライアントBによってサブスクライブされる、公開クライアントデバイスA、C~Jからの公開されたメディアコンテンツアイテム410を考慮した、
図4Aの仮想部屋400に対して使用されている本開示のLOD管理の例を示す。この例示的な図では、ユーザBにより近いメディアコンテンツアイテム、すなわち、第1の列404にあるユーザA、ユーザC、及び第2の列404にあるユーザD~FはクライアントBによって高優先度レベルサブスクリプション416であるとみなされる。しかしながら、ユーザAは仮想部屋400内の話者であるので、ユーザAの公開されたメディアコンテンツに対するサブスクリプションのみがシステムによって高優先度レベルデータ416としてみなされることもあり、したがって、リソースを最適化するために、ユーザC~Fは、たとえば、中優先度レベル418であるとみなされ得る。メディアコンテンツアイテムは、たとえば、座席、装飾、床、及び他のアイテムなど、仮想部屋の作成者によって公開された他のメディアコンテンツアイテムとともに、クライアントA及びC~Fからの公開されたコンテンツアイテム(たとえば、クライアントA及びC~Fのユーザグラフィカル表現)を含み得る。クライアントG~Jからの公開されたコンテンツ並びに他の公開されたメディアコンテンツアイテムを含む、第3の列408にあるサブスクライブされたメディアコンテンツアイテムは、中又は低優先度レベル418~420として分類され得る。いくつかの実施形態では、優先度レベル定義及び対応するLOD管理は、システムの容量と現在の負荷とに基づいて動的に調整され得る。
【0070】
図3を参照しながら詳述したように、サブスクリプション要求は、サブスクライブするクライアントデバイスから受信されるクリックアクション又は他のアクション(たとえば、決定された秒数の間見る、手を振る、ジェスチャーする、まばたきするなど)に基づいてさらに実行され得る。そのような場合、優先度レベルは、サブスクライブされたメディアコンテンツアイテムについてより高い詳細レベルを可能にするために高められる。たとえば、ユーザAがコミュニケーションする(たとえば、話す、チャットする、ファイルを共有するなど)ためにユーザJをクリックしようとした場合、ユーザJのサブスクライブされたユーザグラフィカル表現は、その会話中に高い精細度及びフレームレートに設定され得る。
図3を参照しながら同じく前に説明した他の実施形態では、優先度データは、利用可能な帯域幅、ユーザプロファイル、コンテンツアイテムのタイプ、対応するセル内のコンテンツアイテムの数、対応するセル内のユーザグラフィカル表現の数、若しくはコンテンツアイテムに対するユーザグラフィカル表現の配向角、又はそれらの組合せのうちの1つ又は複数に基づいてさらに抽出される。したがって、優先度レベル分類は、主に、サブスクライブするユーザグラフィカル表現とサブスクライブするユーザの視界内の公開されたメディアコンテンツアイテムとの間の、仮想環境内の距離に基づき得、次いで、優先度レベルをさらに調整するために、上記に記載したパラメータのうちの1つ又は複数を利用し得る。
【0071】
図5は、一実施形態による、仮想環境における詳細レベル(LOD)管理を可能にする方法500のブロック図を示す。方法500は、少なくとも1つのプロセッサと、分散型メッセージ交換プラットフォームを記憶するメモリとを含む、サーバコンピュータシステムの少なくとも1つのサーバコンピュータを備える、
図1を参照しながら説明したシステム100などのシステムによって実施され得る。その少なくとも1つのプロセッサは、メモリ中の命令を実行し、それにより、以下のステップのうちの少なくともいくつかを少なくとも1つのサーバコンピュータに実行させる。
【0072】
方法500は、分散型メッセージ交換プラットフォームによって、公開クライアントデバイスから1つ又は複数のコンテンツアイテム公開要求を受信することによってステップ502において開始し、公開されるべきコンテンツアイテムのうちの少なくとも1つは公開クライアントデバイスユーザのユーザグラフィカル表現である。メディアコンテンツアイテムは、さらに、とりわけ、2D又は3D画像データ、3Dジオメトリ、ビデオデータ、メディアデータ、オーディオデータ、テキストデータ、触覚データ、時間データ、3Dエンティティ、3D動的オブジェクト、テキストデータ、時間データ、優先度データ、セキュリティデータ、位置データ、ライティングデータ、深度データ、赤外線データ、及び対応するメタデータのいずれかを指し得る。
【0073】
方法500は、1つ又は複数のコンテンツアイテムを、データ構造中に配置された仮想環境の少なくとも1つの部分からの少なくとも1つの関心エリアを表す少なくとも1つのセルに公開することによって、ステップ504に進み得る。次いで、ステップ506において、方法500は、サブスクライブするクライアントデバイスを表す少なくとも1つのユーザグラフィカル表現と1つ又は複数の公開されたコンテンツアイテムとの間の、仮想環境内の距離を測定することによって進む。
【0074】
ステップ508において、(たとえば、測定された距離が事前定義されたしきい値を満たしたことに応答して)方法500は、1つ又は複数の公開されたコンテンツアイテムにサブスクライブするために、サブスクライブするクライアントデバイスからの少なくとも1つのサブスクリプション要求を受信することによって進む。ステップ510において、方法500は、測定された距離に基づいて優先度データを計算することによって継続し、優先度データの優先度レベルは、少なくとも1つのユーザグラフィカル表現と1つ又は複数の公開されたコンテンツアイテムとの間で測定された距離に反比例する。ステップ512において、方法500は、抽出された優先度データに基づいて、対応するセル中のユーザグラフィカル表現ごとの閲覧フィールドの詳細レベルを調整することによって進む。最後に、ステップ514において、方法500は、分散型メッセージ交換プラットフォームを介して、サブスクライブされたメディアコンテンツアイテムとともに、調整された詳細レベルをサブスクライブするクライアントデバイスに送信することによって終了する。
【0075】
いくつかの実施形態では、詳細レベルを調整することは、セル内のサブスクリプションを低優先度レベル、中優先度レベル、及び高優先度レベルとしてデータ構造に分類することと、データ構造内のより低い優先度レベルのフレームに簡略化動作を適用し、データ構造内のより高い優先度レベルのフレームに改良動作を適用することとを含む。またさらなる実施形態では、簡略化動作及び改良動作は、ユーザグラフィカル表現ごとの閲覧フィールドの対応するフレームの解像度とフレームレートとを調整することを少なくとも含む。またさらなる実施形態では、簡略化動作及び改良動作は、ユーザグラフィカル表現ごとの閲覧フィールドの対応するフレームの解像度とフレームレートとを調整することを少なくとも含む。またさらなる実施形態では、詳細レベルを調整することは、優先度レベルに基づく3Dサウンドトリートメントを含む、サウンドエンハンスメントを実行することを含むことをさらに含む。
【0076】
いくつかの実施形態では、仮想環境は、オクツリーデータ構造、又はクワッドツリーデータ構造、又はBSPツリーデータ構造、又はスパースボクセルオクツリーデータ構造、又は3Dアレイ、kDツリー、ポイントクラウド、ワイヤフレーム、境界表現(B-Rep)、空間領域構成法ツリー(CSGツリー)、ビンツリー、及び六方晶構造のうちの1つ又は複数から選択されたデータ構造を使用する。
【0077】
いくつかの実施形態では、仮想環境は、ユーザ間のビデオ通信を可能にするビデオ会議プラットフォームの一部としてホストされる。
【0078】
いくつかの実施形態では、ユーザグラフィカル表現は、サーバによって、公開クライアントデバイスの少なくとも1つのカメラによってキャプチャされたライブデータフィードを受信することと、キャプチャされたデータをサブスクライブするクライアントデバイスに送ることと、公開クライアントデバイスのユーザを表す画像のみを抽出するために、ユーザの背景削除を実行することと、サブスクライブするクライアントデバイスによって、ユーザグラフィカル表現を仮想環境中に挿入することとを含むプロセスによって作成される。
【0079】
いくつかの実施形態では、ユーザグラフィカル表現は、背景が削除されたユーザ3D仮想カットアウト、又は背景が削除されたユーザリアルタイム3D仮想カットアウト、又は背景が削除されたビデオ、又は背景が削除されていないビデオを含む。
【0080】
いくつかの実施形態では、サブスクリプション要求は、サブスクライブするクライアントデバイスから受信されたクリックアクションに基づいてさらに実行される。
【0081】
いくつかの実施形態では、優先度データは、さらに、利用可能な帯域幅、ユーザプロファイル、コンテンツアイテムのタイプ、対応するセル内のコンテンツアイテムの数、対応するセル内のユーザグラフィカル表現の数、又はコンテンツアイテムに対するユーザグラフィカル表現の配向角のうちの1つ又は複数に基づいて抽出される。
【0082】
いくつかの実施形態では、ユーザプロファイルは、ユーザを話者又は聴者として分類するデータを含む。
【0083】
いくつかの実施形態では、少なくとも1つのサーバコンピュータは、多地点会議ユニット(MCU)トポロジー、又は選択的転送ユニット(SFU)トポロジー、又はトラバーサルユージングリレーNAT(TURN)トポロジー、又は空間的分析メディアサーバトポロジー(SAMS)を使用するメディアサーバコンピュータである。
【0084】
1つ又は複数のコンピュータに本明細書で説明した方法のいずれかを実行させるように構成された命令を記憶したコンピュータ可読媒体についても説明する。本明細書で使用する際、「コンピュータ可読媒体」という用語は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなど、情報を記憶することが可能な任意の方法又は技術において実装される揮発性及び不揮発性、並びに取外し可能及び取外し不可能な媒体を含む。一般に、本明細書で説明した計算デバイスの機能は、ハードウェア命令又はソフトウェア命令で具現化される計算ロジックにおいて実装され得、ハードウェア命令又はソフトウェア命令は、C、C++、COBOL、ジャバ(JAVA)(商標)、PHP、Perl、Python、Ruby、HTML、CSS、JavaScript、VBScript、ASPX、C#などのマイクロソフトドットネット(Microsoft.NET)(商標)言語及び/又は同様のものなど、プログラミング言語で書くことができる。計算ロジックは、実行可能プログラムにコンパイルされるか、又は解釈されるプログラミング言語で書くことができる。一般に、本明細書で説明した機能は、より大きい処理能力を提供するために複製するか、他のモジュールとマージするか、又はサブモジュールに分割することができる論理モジュールとして実装することができる。計算ロジックは、任意のタイプのコンピュータ可読媒体(たとえば、メモリ又は記憶媒体など、非一時的媒体)又はコンピュータ記憶デバイスに記憶することができ、また、1つ又は複数の汎用又は専用プロセッサに記憶し、そのようなプロセッサによって実行することができ、このようにして、本明細書で説明した機能を提供するように構成された専用計算デバイスを作成することができる。
【0085】
いくつかの実施形態について説明し、添付の図面に示したが、そのような実施形態は広い発明を例示するものにすぎず、そのような発明を制限するものではないこと、また、当業者が様々な他の改変を思い付くことがあるので、本発明は、図示し、説明した特定の構造及び配置に限定されないことを理解されたい。説明は、したがって、限定的ではなく例示的なものであるとみなされるべきである。
【符号の説明】
【0086】
100 システム
102 サーバコンピュータ
104 プロセッサ
106 メモリ
108 分散型メッセージ交換プラットフォーム
110 LOD管理モジュール
112 仮想環境
114 ネットワーク
116 公開クライアントデバイス
118 ユーザグラフィカル表現
120 ユーザ
122 サブスクライブするユーザグラフィカル表現
124 サブスクライブするクライアントデバイス
126 サブスクライブするユーザ
128 カメラ
200 システム
202 分散型メッセージ交換プラットフォーム
204 コンテンツ
206 メディアコンテンツアイテム
208 サブスクリプション
210 セル
212 公開クライアントデバイス
214 サブスクライブするクライアントデバイス
302 サブスクリプション優先度データレベル
304 公開クライアントデバイス
306 メディアコンテンツアイテム
308 分散型メッセージ交換プラットフォーム
310 サブスクリプション
312 低優先度レベル
314 中優先度レベル
316 高優先度レベル
318 LOD管理
320 解像度調整
322 フレームレート調整
324 他の動作
400 仮想部屋
402 仮想演壇
404 第1の列
406 第2の列
408 第3の列
410 公開されたメディアコンテンツアイテム
412 分散型メッセージ交換プラットフォーム
414 クライアントAからのサブスクリプション
416 高優先度レベルサブスクリプション
418 中優先度レベル
420 低優先度レベル
422 クライアントBからのサブスクリプション
【外国語明細書】