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

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

▶ マワリ コーポレーションの特許一覧

特許74304113Dオブジェクトのストリーミング方法、装置、及びプログラム
<>
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図1
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図2
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図3
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図4
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図5
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図6
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図7
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図8
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図9
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図10
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図11
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図12
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図13
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図14
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図15
  • 特許-3Dオブジェクトのストリーミング方法、装置、及びプログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-02
(45)【発行日】2024-02-13
(54)【発明の名称】3Dオブジェクトのストリーミング方法、装置、及びプログラム
(51)【国際特許分類】
   H04N 21/2343 20110101AFI20240205BHJP
   G06T 17/20 20060101ALI20240205BHJP
   H04N 21/236 20110101ALI20240205BHJP
【FI】
H04N21/2343
G06T17/20 500
H04N21/236
【請求項の数】 4
(21)【出願番号】P 2022037172
(22)【出願日】2022-03-10
(62)【分割の表示】P 2021037507の分割
【原出願日】2021-03-09
(65)【公開番号】P2022138158
(43)【公開日】2022-09-22
【審査請求日】2023-05-08
【早期審査対象出願】
(73)【特許権者】
【識別番号】523036007
【氏名又は名称】マワリ コーポレーション
【氏名又は名称原語表記】Mawari Corp.
【住所又は居所原語表記】470 University Avenue, Los Altos, CA, U.S.A.
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】ラミレス ソロルサノ ルイス オスカー
(72)【発明者】
【氏名】ボリソフ アレキサンダー ミハイロビッチ
【審査官】川中 龍太
(56)【参考文献】
【文献】国際公開第2019/039282(WO,A1)
【文献】特表2020-536300(JP,A)
【文献】特開平09-200599(JP,A)
【文献】特開2014-219739(JP,A)
【文献】特開2019-046077(JP,A)
【文献】米国特許出願公開第2019/0069000(US,A1)
【文献】特表2020-523691(JP,A)
【文献】米国特許出願公開第2019/0325646(US,A1)
【文献】欧州特許出願公開第03734970(EP,A1)
【文献】国際公開第2019/082958(WO,A1)
【文献】米国特許第10497180(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 - 21/858
G06T 17/00 - 17/30
(57)【特許請求の範囲】
【請求項1】
サーバに、前記サーバ上の1つの仮想3Dオブジェクトに対するコマンドを送信し、
前記サーバから、前記コマンドに従って修正された前記1つの仮想3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を受信することにより、前記サーバ上の仮想3Dオブジェクトをクライアント上でインタラクティブに再現する方法であって、
前記サーバから前記仮想3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を含む符号化されたストリームを受信することと、
前記ストリームを復号して、前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出することと、
前記ジオメトリ情報に基づいて前記仮想3Dオブジェクトの形状を再現することと、
前記再現された仮想3Dオブジェクトの形状の上に、前記カラー情報を投影し、その上に前記アルファ情報を用いてシェーダーを適用して、前記仮想3Dオブジェクトを再現することと、
前記再現された仮想3Dオブジェクトを前記クライアントの表示装置上に表示することと、
を含む方法。
【請求項2】
前記クライアントが、スマホ、携帯、タブレット、ノートパソコン、スマートグラス、ヘッドマウントディスプレイ、ヘッドセット、スレートPC、ゲーム端末又はARデバイスである、
請求項1に記載の方法。
【請求項3】
1つ以上のプロセッサ及びメモリを含むクライアントであって、
前記1つ以上のプロセッサが、前記メモリに記憶された命令を実行することによって、
サーバに、前記サーバ上の1つの仮想3Dオブジェクトに対する操作コマンドを送信し、
前記サーバから、前記操作コマンドに従って修正された前記1つの仮想3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を含む符号化されたストリームを受信し、
前記ストリームを復号して、前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出し、
前記ジオメトリ情報に基づいて前記仮想3Dオブジェクトの形状を再現し、
前記再現された仮想3Dオブジェクトの形状の上に、前記カラー情報を投影し、その上に前記アルファ情報を用いてシェーダーを適用し
前記再現された仮想3Dオブジェクトを表示装置上に表示する、
クライアント。
【請求項4】
請求項1又は2に記載の方法をプロセッサ実行させるための命令を含む、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、3D(3次元)オブジェクトのストリーミング方法、装置及びプログラムに関する。
【背景技術】
【0002】
従来から3D画像をサーバからクライアントへ送信して表示するという技術はあるが、この場合、例えば、サーバ側で、3D画像を2D画像へ変換するという手法を使っていた(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】米国特許出願公開2010/0134494号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
解決しようとする従来の問題点は、3D画像の伝送において、画質を維持しながら、データ伝送に使用する帯域幅を減少することである。
【課題を解決するための手段】
【0005】
本開示の一態様である方法は、サーバからクライアントへ、3Dオブジェクトを送信する方法であって、前記サーバ上の前記3Dオブジェクトからカラー情報、アルファ情報及びジオメトリ情報を抽出することと、前記ジオメトリ情報を単純化することと、前記サーバから前記クライアントへ、前記カラー情報、前記アルファ情報及び前記単純化されたジオメトリ情報を含むストリームを符号化して送信することと、を含む。
【0006】
本開示の一態様である方法は、サーバ上にある3Dオブジェクトをクライアント上で再現する方法であって、前記サーバから前記3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を含む符号化されたストリームを受信することと、前記ストリームを復号し、そこから前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出することと、前記ジオメトリ情報に基づいて前記3Dオブジェクトの形状を再現することと、前記再現された3Dオブジェクトの形状の上に、前記カラー情報と前記アルファ情報を合成した情報を投影することにより前記3Dオブジェクトを再構成することと、を含む。
【0007】
本開示の一態様であるサーバは、1つ以上のプロセッサ及びメモリを含むサーバであって、前記1つ以上のプロセッサが、前記メモリに記憶された命令を実行することによって、前記サーバ上の3Dオブジェクトからアルファ情報及びジオメトリ情報を抽出し、前記ジオメトリ情報を単純化し、前記サーバからクライアントへ、前記アルファ情報及び前記単純化されたジオメトリ情報を含むストリームを符号化して送信する。
【0008】
本開示の一態様であるクライアントは、1つ以上のプロセッサ及びメモリを含むクライアントであって、前記1つ以上のプロセッサが、前記メモリに記憶された命令を実行することによって、サーバから3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を含む符号化されたストリームを受信し、前記ストリームを復号し、そこから前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出し、前記ジオメトリ情報に基づいて前記3Dオブジェクトの形状を再現し、前記再現された3Dオブジェクトの形状の上に、前記カラー情報と前記アルファ情報を合成した情報を投影することにより前記3Dオブジェクトを再構成する。
【0009】
本開示の一態様によるプログラムは、上述のいずれかの方法をプロセッサによって実行するための命令を含む。
【0010】
なお、これらの包括的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム、又は、記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0011】
クライアント上で3D画像を表示するためにサーバからクライアントへビデオデータ又はピクセルを送信する代わりに本開示によるコンテナストリームを送信することにより、サーバからクライアントへ送信される時間当たりのデータ量が減り、クライアント上での3D画像の表示品質及び応答性が向上する。
【0012】
本開示の一実施例における更なる利点及び効果は、明細書及び図面から明らかにされる。かかる利点及び/又は効果は、いくつかの実施形態並びに明細書及び図面に記載された特徴によってそれぞれ提供されるが、1つ又はそれ以上の同一の特徴を得るために必ずしも全てが提供される必要はない。
【0013】
本明細書において、説明の都合上サーバとクライアント間での3D画像(動画及び/又は静止画を含む)伝送を例に説明したが、本開示の適用は、クライアントサーバシステムに限定されず、1台のコンピュータから他のコンピュータへの伝送に適用可能であり、他のコンピュータは、単数であっても複数であってもよい。
【図面の簡単な説明】
【0014】
図1】本開示によるサーバ及びクライアントの機能ブロック図である。
図2図1で説明したサーバとクライアント間のデータの流れのうちサーバ側での処理を説明したフローチャートである。
図3図1で説明したサーバとクライアント間のデータの流れのうちクライアント側でデータの処理を説明したフローチャートである。
図4図1で説明したサーバとクライアント間のデータの流れのうちクライアント側でコマンドの処理を説明したフローチャートである。
図5】本開示を適用したクライアントサーバシステムで、3Dシーン又は3Dオブジェクトをクライアント側で表示するためのデータの流れを記載した図である。
図6】本開示によるジオメトリ情報の符号化及び復号のプロセスを示す図である。
図7】本開示によるカラー情報/テクスチャ情報の符号化及び復号のプロセスを示す図である。
図8】本開示によるジオメトリ、カラーパケット、メタデータ、及びコマンドの間のデータ同期を示す図である。
図9】本開示によるデカール方法を示す図である。
図10】本開示によるクライアントのハードウェア構成例を示す概略図である。
図11】本開示によるサーバのハードウェア構成例を示す概略図である。
図12】本開示にかかる情報処理システムの構成の一例を示す概略図である。
図13】本開示によるサーバ側の処理のフローを表す概略図である。
図14】本開示によるクライアント側の処理のフローを表す概略図である。
図15】本開示に使用されるカメラの配置を表す図である。
図16】本開示で使用されるARGBシステムにおけるピクセル構成を示す図である。
【発明を実施するための形態】
【0015】
<1. 3Dストリーミング・システム・アーキテクチャ>
図1は、本開示によるサーバ及びクライアントの機能ブロック図である。3Dストリーミングサーバ100は、3次元(3D)ストリーミングサーバ内の機能構成を含み、3Dストリーミングクライアント150は、3Dストリーミングクライアント内の機能構成を含む。ネットワーク120は、サーバ100とクライアント150との間にある有線又は無線のネットワークを表す。
【0016】
本開示の対象となる1つのシステムは、サーバ側で3D画像を生成し、クライアント側でサーバから受信した3D画像の特徴量に基づいて3D画像を再構成し、表示する。クライアント機器としては、スマホ、携帯、タブレット、ノートパソコン、スマートグラス、ヘッドマウントディスプレイ、ヘッドセットなどの表示及び通信機能を有するあらゆる機器が対象となる。ここで、特徴量は、3D画像のカラー(色)情報、アルファ情報又はジオメトリ情報を含む。
【0017】
<1.2 3Dストリーミングサーバ側の処理>
図1の上半分は、3Dストリーミングサーバ100での処理を説明する機能ブロック図である。ネットワークパケット受信ユニット108は、有線又は無線のネットワーク120を介して、クライアント150から命令及び/又はデータを含むパケットを受信する。ネットワークパケット受信ユニット108は、クライアントから受信した命令及び/又はデータをパケットから抽出し、クライアントからの命令及び/又はデータを処理する受信データ処理ユニット101に抽出したデータを送信する。抽出されたクライアントから命令及び/又はデータを受信した受信データ処理ユニット101は、受信したデータから必要な命令及び/又はデータをさらに抽出し、それらを3Dシーンデータ生成ユニット102に送る。次に、3Dシーンデータ生成ユニット102は、クライアント150から送られてきた要求にしたがって、サーバが有するそのクライアントからの要求に対応する3Dシーン(又は3Dオブジェクト)のデータを加工・修正などする。次に、3Dシーンデータ生成ユニット102から命令及び/又はデータを受け取った抽出ユニット103は、クライアントからの命令に従って更新した3Dシーンデータから必要なデータを抽出し、それらを3Dストリーム変換/符号化ユニット104へ送る。3Dストリーム変換/符号化ユニット104は、抽出ユニット103から受け取ったデータを3Dストリームに変換し、符号化することによって3Dストリーム105を生成する。3Dストリーム105は、次にネットワークパケット構成ユニット106に送られ、ネットワークパケット構成ユニット106によってネットワークパケットが生成される。ネットワークパケットは、ネットワークパケット伝送ユニット107へ送信される。ネットワークパケット伝送ユニット107は、受信したネットワークパケットを有線又は無線ネットワーク120を介して、1つ以上のクライアント150へ送信する。
【0018】
<1.3 3Dストリーミングクライアント側の処理>
図1の下半分は、3Dストリーミングクライアント150での処理を説明する機能ブロック図である。有線又は無線ネットワーク120を介してサーバ100からパケットを受信したネットワークパケット受信ユニット152は、パケットから符号化された3Dストリームを抽出し、それを3Dストリーム復号ユニット154へ送る。符号化3Dストリームを受信した3Dストリーム復号ユニット154は、3Dストリームを復号し、復号された3Dストリームを3Dシーン再構成ユニット155へ送る。復号された3Dストリームを受信した3Dシーン再構成ユニット155は、サーバ100から受信して復号された3Dストリームから3Dシーン(又は3Dオブジェクト)を再構成し、再構成された3Dシーンを表示ユニット156へ送る。表示ユニット156は、再構成された3Dシーンを表示し、ユーザに提示する。
【0019】
一方、3Dストリーミングクライアント150からの3D表示(更新)要求は、アプリデータ出力ユニット153からネットワークパケット伝送ユニット151へ送られる。アプリデータ出力ユニット153で生成される3D表示(更新)要求データとしては、例えば、ユーザ入力又はカメラ/デバイスのポジション変更、又は表示の更新を要求するなどのコマンドが考えられる。3D表示要求を受信したネットワークパケット伝送ユニット151は、符号化及びパケット化などの必要な処理を行った3D表示(更新)要求を有線又は無線ネットワーク120を介して、3Dストリーミングサーバ100に送る。
【0020】
上述のサーバ100に含まれるネットワークパケット構成ユニット106、及びネットワークパケット伝送ユニット107、上述のクライアント150に含まれるネットワークパケット受信ユニット152、及びネットワークパケット伝送ユニット151は、例えば、既存のオープンソースソフトウェアの対応する送受信モジュールに基づいて必要な改良を施してもよいし、一から専用に作成してもよい。
【0021】
図2は、図1で説明したサーバとクライアント間のデータの流れのうちサーバ側での処理を説明したフローチャートである。スタート(901)で処理を開始する。先ず、図1で説明したネットワークパケット受信ユニット108が、クライアントから3Dシーンの書き換えコマンドなどを含むパケットを受信する(902)。次に、図1で説明した受信データ処理ユニット101が、受信したコマンドなどを処理して、その結果を出力する(903)。次に、図1で説明した3Dシーンデータ生成ユニット102が、受信したコマンドなどに従った3Dシーンデータを生成する(904)。次に、図1の抽出ユニット103が、3Dシーンの特徴量を抽出する(905)。ここで、特徴量とは、後述するコンテナストリームに含まれる、ジオメトリ、カラー、メタデータ、サウンド、コマンドなどのデータのことを指す。次に、図1の3Dストリーム変換/符号化ユニット104が、3D特徴量を含むデータを3Dストリームに変換し、符号化する(906)。次に、図1のネットワークパケット構成ユニット106が、3Dストリームからネットワークパケットを構成する(907)。次に、図1のネットワークパケット伝送ユニット107が、ネットワークパケットを送信する(908)。これでサーバ側の一連のデータ送信処理は、終了する(909)。
【0022】
図2では、一例として、ステップ902から903までの処理とステップ904から908までの処理が逐次実行されるように記載されているが、ステップ902から903までの処理とステップ904から908までの処理が並行して実行されてもよいし、ステップ904の処理から開始されてもよい。
【0023】
図3は、図1で説明したサーバとクライアント間のデータの流れのうちクライアント側でのデータの処理を説明したフローチャートである。スタート(1001)で処理を開始する。先ず、図1で説明したネットワークパケット受信ユニット152が、サーバ100から送られてきたパケットを受信する(1002)。次に、図1で説明した3Dストリーム復号ユニット154が受信したパケットを復号し(1003)、3Dシーンの特徴量を抽出する。次に、図1で説明した3Dシーン再構成ユニット155が、3Dシーンの特徴量などを使用して、クライアント上で3Dシーンを再構成し(1004)、3Dシーンデータを生成する(1005)。次に、図1で説明した表示ユニット156が、再構成された3Dシーンを表示して、ユーザに提示する(1006)。これでクライアント側でのデータ処理は、終了する(1007)。
【0024】
図3では、一例として、ステップ1002から1004までの処理とステップ1005から1006までの処理が逐次実行されるように記載されているが、ステップ1002から1004までの処理とステップ1005から1006までの処理が並行して実行されてもよいし、ステップ1005の処理から開始されてもよい。
【0025】
図4は、図1で説明したサーバとクライアント間のデータの流れのうちクライアント側でコマンドの処理を説明したフローチャートである。スタート(1101)で処理を開始する。図1で説明したアプリデータ出力ユニット153が、画像処理アプリなどからの3Dシーンの書き換えコマンドなどを出力する(1102)。図1で説明したネットワークパケット伝送ユニット151は、アプリデータ出力ユニット153からコマンドなどを受け取り、パケットに変換し、変換したパケットを有線又は無線ネットワーク120へ伝送する(1103)。これでクライアント側でのデータ処理は、終了する(1104)。
【0026】
図4では、一例として、ステップ1102の処理とステップ1103の処理が逐次実行されるように記載されているが、ステップ1102の処理とステップ1103の処理が並行して実行されてもよい。
【0027】
<2. 本開示の3Dストリームフォーマット>
本開示による3Dストリームのフォーマットの特徴としては、主に以下のものがある。クライアント側で表示される3D画像の品質を落とさずに、限られたネットワークの帯域幅を使用して、これらを実現しているところに本開示の意義がある。
【0028】
(1)サーバ側で3Dストリームを生成する。
サーバ側で3Dストリームを生成する際に、UE4又はUnityなどの利用可能なエンジンを使用する。ここで、UEとは、Epic Games社によって開発されているゲームエンジン、アンリアル・エンジン(Unreal Engine)のことであり、2020年5月にはUE5がアナウンスされている。
【0029】
(2)ネットワークを介した効率的な伝送がサポートされている。
従って、従来の方法に比べて、サーバからクライアントへ転送されるデータ量が少ない。これを実現するために、本開示では、コンテナストリームを使用する。
【0030】
(3)様々なデバイスで動作可能である。
対象とする装置は、例えば、Unity(Android、Windows、iOS)、WebGL、UE4又は5(Android、iOS、Windows)が利用できる装置である。
【0031】
(4)現代のAR(拡張現実)デバイスに対して比較的軽量である。
すなわち、従来の方法と比べて、クライアント側での処理の負荷が小さい。これは、本開示のコンテナストリームの使用による。
【0032】
(5)インタラクション(すなわち、双方向通信)をサポートする。
すなわち、ストリーミングがインタラクティブである。これは、コマンドがクライアントとサーバ相互間で送受信可能であることによる。
【0033】
上述の特徴を実現するために、本開示はサーバとクライアント間で伝送する3Dストリームとして独自のコンテナストリームを開発した。この独自のコンテナストリームは、以下のような、ジオメトリ、カラー、メタデータ、サウンド、及びコマンドのうちのいくつかを含む。
【0034】
(1)ジオメトリ:サーバ上での3Dシーンのストリーミングされたオブジェクトの外形に関する単純化された3Dデータである。ジオメトリのデータは、例えば、オブジェクトの形状を表すために使用されるポリゴンの頂点のアレイである。
【0035】
(2)カラー:特定の位置にあるカメラで撮影したオブジェクトの色データである。
【0036】
(3)メタデータ:3Dシーン、環境、個別のオブジェクト、ストリーム中のデータなどを説明するデータである。
【0037】
(4)サウンド:サーバ側又はクライアント側の3Dシーンで発生するサウンド(音声)データである。サウンドは、サーバとクライアント相互間で双方向通信可能である。
【0038】
(5)コマンド:コマンドは、サーバ側又はクライアント側の3Dシーン、システムイベント、ステータスメッセージ、カメラ及びユーザインプット、並びにクライアントのアプリケーションイベントなどを含む命令などである。コマンドは、サーバとクライアント相互間で双方向通信可能である。
【0039】
従来のシステムでは、本開示による上述のコンテナストリームの代わりに、ビデオデータ自体又は各フレームのピクセルデータを送っていた。ここでコンテナストリームとは、サーバとクライアントとの間で転送されるデータの一塊のことを言い、データストリームとも言われる。コンテナストリームは、パケットストリームとしてネットワークを経由して転送される。
【0040】
従来から使用されているこれらビデオデータ自体又は各フレームのピクセルデータは、たとえ圧縮されていたとしても、時間当たりの転送される容量が非常に大きく、サーバとクライアント間のネットワークの帯域幅が大きくないと伝送が遅れ、レイテンシが発生し、クライアント側での3D画像の再生がスムーズに行えないという問題点があった。一方、本開示のシステムで、サーバとクライアント間での転送で使用されるデータコンテナは、データサイズが従来のシステムよりも十分小さいので、サーバとクライアント間のネットワークの帯域幅を余り気にせずに、単位時間当たりのフレーム数を最低限確保できるので、クライアント側でのなめらか3D画像の再生が可能となる。
【0041】
図5は、本開示を適用したクライアントサーバシステムで、3Dシーン又は3Dオブジェクトをクライアント側で表示するためのデータの流れを記載した図である。クライアント側は、スマホなどの端末装置1221が記載されており、端末装置1221とスマートグラス1210が無線LAN又はブルートゥース(登録商標)などで無線通信又は有線通信1222を経由して接続されている。スマートグラス1210は、ユーザが手前側から見た図を表している。クライアントのスマートグラスの左眼には人1211-1とカーソル1212-1が投影されており、スマートグラスの右眼には人1211-2とカーソル1212-2が投影されている。スマートグラスのユーザには、右眼及び左眼の像が重なって立体的な人1214が少し離れたところに見えている。クライアント側のスマートグラス1210のユーザは、カーソル1212又は他の入力手段を使用して、クライアント側のスマートグラス1210中に表示された人1214に対して移動、回転、縮小・拡大、色(カラー)・テクスチャの変更、又はサウンドなどの操作を行うことができる。このようなクライアント上のオブジェクト(又はシーン)に対する操作が行われると、クライアントからサーバにネットワーク120経由でコマンド(又はサウンド)1213などが送信される。
【0042】
クライアントからネットワーク120経由でコマンドなどを受信したサーバは、サーバ内のアプリ内の仮想的な画面1201上の対応する人1202の画像に対して、受信したコマンドなどに従った操作を行う。ここで、サーバは、通常表示装置を持っている必要がなく、仮想的な空間内の仮想的な画像を扱う。次に、サーバは、このコマンドなどの操作を行った後の3Dシーンデータ(又は3Dオブジェクトデータ)を生成し、そこから抽出した特徴量をコンテナストリーム1203としてネットワーク120経由でクライアントへ送信する。サーバから送られたコンテナストリーム1203を受信したクライアントは、コンテナストリーム1203に含まれるジオメトリ、カラー・テクスチャ、メタデータ、サウンド、及びコマンドに従って、クライアントの仮想画面中の対応する人1214のデータを書き換えて、再表示などする。この例において、オブジェクトは人であるが、オブジェクトは、ビル、自動車、動物、又は静物などの人以外でもよく、シーンは、1つ以上のオブジェクトを含む。
【0043】
以下で図6~8を参照して、上述のコンテナストリームに含まれる「ジオメトリ」データと「カラー」データがどのように処理されるかを説明する。
【0044】
<3. ジオメトリの符号化及び復号プロセス>
図6は、本開示による、ジオメトリデータの符号化及び復号のプロセスを示す図である。図6において、201~205の処理は、サーバによって行われ、207~211の処理は、クライアントによって行われる。
【0045】
図6及び後述の図7及び8に記載の各処理は、CPU及び/又はGPUなどのプロセッサなどによって関連するプログラムを使用して実行される。本開示の対象となるシステムは、CPU又はGPUのいずれか一方のみを備えていてもよいが、以下では、説明の簡単化のため、CPUとGPUをまとめてCPUと記載する。
【0046】
<3.1 サーバ側の処理>
ここでオブジェクトを有するシーンがあると仮定する。各オブジェクトは、1つ以上のデプスカメラで撮影されている。ここで、デプスカメラとは、奥行き情報を取得する深度(デプス)センサを内蔵したカメラのことを言う。デプスカメラを使用すると、通常のカメラが取得する2次元(2D)の画像に、奥行き情報を追加して、3Dの立体的な情報を取得することができる。ここでは、シーンの完全なジオメトリデータを取得するために、例えば6台のデプスカメラが使用される。撮影時のカメラの構成については、後述する。
【0047】
サーバ側で撮影した画像からストリーム化3Dオブジェクトを生成し、カメラのデプス(深度)情報を出力する(201)。次に、カメラのデプス情報を処理して点群を生成し、点のアレイを出力する(202)。この点群は、オブジェクトの実際のジオメトリを表す三角形(三角形の頂点のアレイ)に変換され、三角形の群がサーバによって生成される(203)。ここでは、一例としてジオメトリを表す図形として三角形を使用したが、三角形以外の多角形を使用してもよい。
【0048】
そして、三角形の群の各頂点のアレイのデータを使用してジオメトリデータをストリームに追加して、圧縮する(204)。
【0049】
サーバは、圧縮されたジオメトリデータを含むコンテナストリームを、ネットワーク120を介して送信する(205)。
【0050】
<3.2 クライアント側の処理>
クライアントは、サーバから送信された圧縮されたデータ、すなわちジオメトリデータを含むコンテナストリームを、ネットワーク120を介してサーバから受信する(207)。クライアントは、受信された圧縮されたデータを解凍し、頂点のアレイを抽出する(208)。
【0051】
クライアントは、解凍されたデータの頂点のアレイを、管理されたジオメトリデータキューに入れ、ネットワーク経由で転送されている間に崩れたフレームシーケンスの順番を正しく整列させる(209)。クライアントは、正しく整列されたフレームシーケンスに基づいて、シーンのオブジェクトを再構成する(210)。クライアントは、再構成されたクライアント側の3Dオブジェクトをディスプレイに表示する(211)。
【0052】
ジオメトリデータは、管理されたジオメトリデータキューに保存され、ストリーム中で受信した他のデータと同期される(209)。この同期については、図8を使って後述する。
【0053】
本開示が適用されたクライアントは、受信した頂点のアレイに基づいてメッシュを生成する。言い換えれば、サーバからクライアントには、ジオメトリデータとして、頂点のアレイのみが送信されるので、通常、頂点のアレイの時間当たりのデータ量はビデオデータ及びフレームデータと比較してかなり少ない。一方、従来の他のオプションは、大量の三角形を所定のメッシュのデータに適用することであり、この方法はクライアント側での大量の処理を必要とするものであり、問題があった。
【0054】
本開示が適用されるサーバは、シーン(通常は1つ以上のオブジェクトを含む)のうち変更が必要な部分(例えば、特定のオブジェクト)のデータをのみをクライアントへ送り、シーンのうち変更がない部分のデータをクライアントへ送らないので、この点でもシーン変更に伴うサーバからクライアントへの伝送データの量を削減することが可能となる。
【0055】
本開示を適用したシステム及び方法では、ポリゴンメッシュの頂点のアレイをサーバからクライアントへ送信することを前提としている。そして、このポリゴンとして三角形のポリゴンを前提として説明したが、ポリゴンの形状は、三角形に限定されず四角形又は他の形状であってもよい。
【0056】
<4. カラー/テクスチャの符号化及び復号処理>
図7は、本開示による、カラー情報/テクスチャ情報の符号化及び復号のプロセスを示す図である。図7において、301~303の処理は、サーバによって行われ、305~308の処理は、クライアントによって行われる。
【0057】
<4.1 カラーのサーバ側の処理>
オブジェクトを有するシーンがあると仮定する。カメラからのビューを使用して、サーバは、シーンのカラーデータ、アルファデータ、及びデプスデータを抽出する(301)。ここで、アルファデータ(又はアルファ値)は、カラー情報とは別に、画素(ピクセル)ごとに設けられた付加情報を示す数値である。アルファデータは、特に透明度として利用されることが多い。また、アルファデータの集合は、アルファチャネルとも呼ばれる。
【0058】
次に、サーバは、カラーデータ、アルファデータ、及びデプスデータのそれぞれをストリームに追加し、圧縮する(302-1、302―2、302-3)。サーバは、圧縮したカメラデータをコンテナストリームの一部として、ネットワーク120を経由してクライアントへ送信する(303)。
【0059】
<4.2 カラーのクライアント側の処理>
クライアントは、ネットワーク120を経由して圧縮されたカメラデータ・ストリームを含むコンテナストリームを受信する(305)。クライアントは、フレームのセットを準備するのと同様に、受信したカメラデータを解凍する(306)。次に、クライアントは、解凍したカメラデータからビデオストリームのカラーデータ、アルファデータ、及びデプスデータをそれぞれ処理する(306-1、306-2、306-3)。ここで、これらの生の特徴量データは、再構成された3Dシーンに適用するために準備され、キューに入れられる。カラーデータは、テクスチャを有する再構成された3Dシーンのメッシュをラップ(wrap:包む)するために使用される。
【0060】
また、デプスデータ及びアルファデータを有する追加の詳細情報が使用される。次に、クライアントは、ビデオストリームのカラーデータ、アルファデータ、及びデプスデータを同期させる(309)。クライアントは、同期したカラーデータ、アルファデータ、及びデプスデータをキューに保存し、カラーデータキューを管理する(307)。次に、クライアントは、カラー/テクスチャ情報をジオメトリへ投射する(308)。
【0061】
図8は、本開示によるジオメトリパケット、カラーパケット、メタデータ、及びコマンドの間のデータ同期を示す図である。
【0062】
クライアント側でデータを利用できるようにするためには、クライアント側で受信した3D画像を再生しながらストリーム中のデータの正しい内容を提供する方法でデータを管理する必要がある。ネットワークを経由するデータパケットは必ずしも信頼性の高い方法で転送されるわけではなく、パケットの遅延及び/又はパケットの順番の変更が発生する可能性がある。したがって、データのコンテナストリームをクライアントで受信している間、クライアントのシステムはどのようにデータの同期を管理するかを考える必要がある。本開示のジオメトリ、カラー、メタデータ、及びコマンドを同期するための基本的なスキームは、以下の通りである。このスキームは、ネットワーク・アプリケーションやストリーム用に作成されたデータ・フォーマットに対して標準的なものであってもよい。
【0063】
図8を参照して、サーバ側から送信される3Dストリーム410は、ジオメトリパケット、カラーパケット、メタデータ、及びコマンドを含んでいる。3Dストリームに含まれるジオメトリパケット、カラーパケット、メタデータ、及びコマンドは、サーバ上で3Dストリームが作成された時点では、フレームシーケンス410に示されるように相互に同期が取れている。
【0064】
このフレームシーケンス410において、時間は左から右に流れる。ところが、サーバから送信されたフレームシーケンス410が、クライアントで受信されたときには、ネットワークを経由する間に相互の同期が取れなくなる場合やランダムな遅延が発生する場合があり、そのことがクライアント側で受信された3Dストリーム401に示されている。すなわち、クライアントで受信された3Dストリーム401内では、ジオメトリパケット、カラーパケット、メタデータ、及びコマンドが、クライアントで作成されたときの3Dストリーム410とは、シーケンス内の順序又は位置が異なっている場所があることが分かる。
【0065】
クライアントで受信された3Dストリーム401は、パケットキューマネージャ402によって本来の同期に戻るように処理され、フレームシーケンス403が生成される。パケットキューマネージャ402によって同期が復活され、且つ相互に異なる遅延が解消されたフレームシーケンス403では、ジオメトリパケット1、2、3が正しい順序・配置になり、カラーパケット1、2、3、4、5が正しい順序・配置になり、メタデータ1、2、3、4、5が正しい順序・配置になり、コマンド1、2が正しい順序・配置になる。すなわち、クライアント内で整列後のフレームシーケンス403は、サーバ内で作成されたフレームシーケンス410と同じ並びになる。
【0066】
次に、同期された現在のフレームに対するデータを使用して、シーンが再構成される(404)。次に、再構成されたフレームをレンダリングし(405)、クライアントはシーンを表示装置上に表示する(406)。
【0067】
図9は、シーケンス更新フロー500の例を示す。図9では、時間は左から右に進んでいく。図9を参照して、先ずジオメトリが更新される(501)。ここでは、それと同期して(すなわち、横方向の位置が一致して)カラー/テクスチャが更新される(505)。次に、カラー/テクスチャが更新される(506)が、ジオメトリは、更新されない(例えば、カラーは変わったが、動きがない場合)。次に、ジオメトリが更新され(502)、それと同期してカラー/テクスチャが更新される(507)。次に、カラー/テクスチャが更新される(508)が、ジオメトリは、更新されない。次に、ジオメトリが更新され(503)、それと同期してカラー/テクスチャが更新される(509)。
【0068】
図9から分かる通り、カラー/テクスチャが更新される度に、ジオメトリが更新される必要はなく、逆に、ジオメトリが更新される度に、カラー/テクスチャが更新される必要もない。ジオメトリの更新とカラー/テクスチャの更新とが同期してもよい。また、カラー/テクスチャの更新は、必ずしもカラー及びテクスチャが更新される必要はなく、カラー又はテクスチャのいずれか一方の更新であってもよい。この図では、カラー/テクスチャ更新が2回に対して、ジオメトリ更新が1回の頻度で記載されているが、これは一例であって、他の頻度であってもよい。
【0069】
図10は、本開示によるクライアントのハードウェア構成例を示す概略図である。クライアント150は、スマホや携帯電話などの端末であってもよい。クライアント150は、CPU/GPU601と、表示部602と、入出力部603と、メモリ604と、ネットワークインタフェース605と、記憶装置606を通常備えており、これらの構成要素は、バス607で相互に通信可能に接続されている。
【0070】
CPU/GPU601は、CPU単体又はGPU単体であってもよいし、CPUとGPUが協働して動作するようになっている1つ又は複数の部品から構成されてもよい。表示部602は、通常カラーで画像を表示するための装置であり、本開示による3D画像を表示し、ユーザに提示する。図5を参照して、上述したように、クライアントは、クライアント端末とスマートグラスの組合せでもよく、その場合は、スマートグラスが表示部602の機能を有する。
【0071】
入出力部603は、ユーザなどの外部とのインタラクションを行うための装置であり、クライアント150の内部又は外部にあるキーボード、スピーカー、ボタン、タッチパネルに接続されてもよい。メモリ604は、CPU/GPU601の動作に必要なソフトウェア及びデータを記憶するための揮発性メモリである。ネットワークインタフェース605は、クライアント150が外部のネットワークに接続し、通信するための機能を有する。記憶装置606は、クライアント150で必要なソフトウェア、ファームウェア、データなどを記憶するための不揮発性メモリである。
【0072】
図11は、本開示によるサーバのハードウェア構成例を示す概略図である。サーバ100は、通常は、クライアントより高機能なCPUを備え、通信速度も速く、より大容量の記憶装置を備える。サーバ100は、CPU/GPU701と、入出力部703と、メモリ704と、ネットワークインタフェース705と、記憶装置706を通常備えており、これらの構成要素は、バス707で相互に通信可能に接続されている。
【0073】
CPU/GPU701は、CPU単体又はGPU単体であってもよいし、CPUとGPUが協働して動作するようになっている1つ又は複数の部品から構成されてもよい。図10に記載のクライアント装置は、表示部602を備えていたが、サーバの場合は、表示部は必須ではない。入出力部703は、ユーザなどとのインタラクションを行うための装置であり、キーボード、スピーカー、ボタン、タッチパネルに接続されてもよい。メモリ704は、CPU/GPU701の動作に必要なソフトウェア及びデータを記憶するための揮発性メモリである。ネットワークインタフェース705は、クライアントが外部のネットワークに接続し、通信するための機能を有する。記憶装置706は、クライアントで必要なソフトウェア、ファームウェア、データなどを記憶するための不揮発性記憶装置である。
【0074】
図12は、本開示にかかる情報処理システムの構成の一例を示す概略図である。サーバ100と、クライアント150-1と、クライアント150-2とがネットワーク120によって互いに通信可能に接続されている。
【0075】
サーバ100は、例えば、サーバなどのコンピュータ装置であり、クライアント150-1とクライアント150-2からの画像表示要求などに応じて、動作して、クライアント150-1とクライアント150-2で表示するための画像に関連する情報を生成し、送信する。この例では、クライアントは2台記載されているが、1台以上であれば何台でもよい。
【0076】
ネットワーク120は、有線又は無線のLAN(Local Area Network)であってもよく、クライアント150-1とクライアント150-2は、スマホ、携帯電話、スレートPC、又はゲーム端末などであってもよい。
【0077】
図13は、本開示によるサーバ側の処理のフローを表す概略図である。サーバ側のシーン1301にあるオブジェクト1302から、RGBカメラを使用してカラー情報(1303)を抽出する(1310)。サーバ側のシーン1301にあるオブジェクト1302から、RGBカメラを使用してアルファ情報(1304)を抽出する(1320)。サーバ側のシーン1301にあるオブジェクト1320から、デプスカメラを使用して点群(1305)の情報を抽出する(1330)。次に、点群(1305)の情報を簡略化して、ジオメトリ情報(1306)を得る(1331)。
【0078】
次に、得られたカラー情報(1303)、アルファ情報(1304)及びジオメトリ情報(1306)は、ストリームデータフォーマットへ処理され(1307)、3Dストリームのコンテナストリームとしてネットワークを経由してクライアントへ送信される(1340)。
【0079】
図14は、本開示によるクライアント側の処理のフローを表す概略図である。図14は、本開示によるデカール方法に関連する。ここで、デカールとは、オブジェクト上にテクスチャやマテリアルを貼り付ける処理である。ここで、テクスチャとは、3D(3次元)CGモデルの質感、模様、凹凸などを表現するために用いるデータなどのことを指す。また、マテリアルとは、オブジェクトの材質などのことであり、3DCGでは、例えば、物体の光学的特性、材質感のことを指す。
【0080】
本開示のデカール方法が、従来のUVマッピングよりもプロセッサの処理として軽い理由を以下で説明する。現時点で、メッシュに色を設定するにはいくつかの方法がある。ここで、UVとは、3DCGモデルにテクスチャをマッピングするとき、貼り付ける位置や方向、大きさなどを指定するために使う座標系のことである。2次元の直交座標系で、横方向の軸がU、縦方向の軸がVとなる。UV座標系を使ったテクスチャマッピングのことをUVマッピングとよぶ。
【0081】
<5.1 各頂点に色を設定する方法(従来の方法1)>
対象となるクラウド内のすべての三角形に対して、色の値を頂点に保存する。しかしながら、頂点の密度が低い場合、解像度の低いテクスチャリングとなり、ユーザ・エクスペリエンスが低下する。逆に、頂点の密度が高い場合、画面上のすべてのピクセルに色を送るのと同じことになり、サーバからクライアントへ転送するデータ量が増える。一方、これは追加/基本カラーリングのステップとして使用することができる。
【0082】
<5.2 メッシュのUVに正しいテクスチャを設定する方法(従来の方法2)>
正しいテクスチャをUVマッピングで設定するには、三角形の群のテクスチャを生成する必要がある。その後、現在のメッシュのUVマップを生成し、ストリームに追加する必要がある。モデルのオリジナルテクスチャは、シーンの雷などの情報が含まれておらず、高品質で詳細な3Dモデルのためには、大量のテクスチャが必要になるため、実質的に使用できない。この方法が採用されないもう一つの理由は、サーバ上でレンダリングされた3Dモデルで作成されたUVでオリジナルテクスチャが動作することである。一般的には、三角形の群を使い、異なるビューからカラーリングテクスチャを投影し、受信したUVテクスチャを保存して送信する。さらに、UVテクスチャと同じ頻度でメッシュのジオメトリやトポロジーを更新する必要があるため、サーバとクライアント間で送受信するデータ量が増える。
【0083】
<5.3 メッシュにテクスチャを投影する(デカール)方法(本開示による方法)>
ストリームの特定の位置からのカラー/テクスチャが、その位置に関するメタ情報とともにサーバからクライアントに送信される。クライアントは、このテクスチャを指定された位置からメッシュに投影する。この場合、UVマップは不要である。この方法では、ストリーミングされた側(すなわち、クライアント側)にはUV生成がロードされない。このデカールによるアプローチは、データフローの最適化の余地を提供できる(例えば、ジオメトリとカラーの更新は、異なる頻度で連続して行うことができる)。
【0084】
図14に記載のクライアント側の処理は、基本的に、図13に記載のサーバ側の処理と逆の処理を行う。先ず、クライアントは、ネットワークを介してサーバが送信した3Dストリームであるコンテナストリームを受信する。次に、受信した3Dストリームからデータを復号し、オブジェクトを再構成するために、カラー情報、アルファ情報、ジオメトリ情報を復元する(1410)。
【0085】
次に、先ず、カラー情報1431とアルファ情報1432が結合され、その結果としてテクスチャデータ生成される。次に、このテクスチャデータをジオメトリデータ1433に適用する(1420)。こうすることによって、サーバ上にあったオブジェクトがクライアント上で再構成される(1440)。サーバ側のシーンに複数のオブジェクトがある場合は、オブジェクト毎にこのような処理を適用する。
【0086】
図15は、本開示に使用されるカメラの配置を表す図である。対象となるシーン1510にあるオブジェクトのジオメトリ情報を取得するためには、1台以上のデプスカメラが使用される。デプスカメラは、毎フレーム、デプスマップを取得し、次に、これらのデプスマップは、点群に処理される。次に、点群は、単純化のため所定の三角形のメッシュに分割される。デプスカメラの解像度を変更することによって、三角形に分割されたメッシュの詳細度(細かさのレベル、粒度)を制御することが可能である。例えば、想定する標準的な設定では、256×256解像度の6台のデプスカメラを使用する(1521~1526)。しかしながら、必要なデプスカメラの台数と各カメラの解像度は、さらに最適化して、減らすことも可能であり、デプスカメラの台数及びその解像度によって、パフォーマンス、すなわち画質及び伝送データ量が変化する。
【0087】
図15には、一例として、6台のデプスカメラ(1521~1526)と1台の通常のカメラ(1530)を配置した構成が記載されている。通常のカメラ(すなわちRGBカメラ)(1530)は、対象となるシーン1510にあるオブジェクトのカラー情報及びアルファ情報を取得するために使用される。
【0088】
図16は、本開示で使用されるARGBシステムにおけるピクセル構成を示す図である。ARGBシステムは、従来のRGB(赤、緑、青)の色情報に、透明度を表すアルファ情報(A)を追加したものである。図16に示した例では、アルファ、青、緑、赤のそれぞれが、8ビット(すなわち、256段階)で示され、すなわち、ARGB全体で、32ビットの構成となっている。図16の1601が各色又はアルファのビット数を示し、1602がそれぞれの色又はアルファを示し、1603は、全体として32ビットの構成を示している。この例では、各色及びアルファが8ビット構成で、全体として32ビットのARGBシステムを説明しているが、これらのビット数は、所望の画質及び伝送データ量に従って、変更することができる。
【0089】
アルファ情報は、カラーイメージに対して、マスク/セカンダリレイヤとして、使用することができる。現在のハードウェアエンコーダの制約により、アルファ情報を持つカラー情報に対してビデオストリームを符号化することは時間が掛かる。また、ビデオストリームに対するカラー及びアルファのソフトウェアエンコーダは、リアルタイムで符号化できず遅延が発生し、本開示の目的を達成できないので、現時点では本開示の代替案とはなり得ない。
【0090】
<6.1 本開示による3Dストリーム・シーンのジオメトリの再構成の利点>
本開示の方法を用いた3Dストリーム・シーンのジオメトリ再構成の利点は以下の通りである。本開示の方法は、「三角形の群(cloud of triangles)」を用いてシーンを再構成することによって、クライアント側で各シーンを再構成する。この革新的なアイデアの重要な点は、クライアント側で大量の三角形を使用する準備ができていることである。この場合、三角形の群に含まれる三角形の数は、数十万個でもよい。
【0091】
クライアントは、ストリームから情報を取得するとすぐに3Dシーンの形状を作るために各三角形を適切な場所に配置する準備ができている。本開示の方法では、サーバからクライアントに、従来よりも少ないデータしか転送しないので、この方法の利点は、処理に必要な電力と時間を削減できることである。フレーム毎にメッシュを生成するという従来の方法ではなく、既存のジオメトリの位置を変更する。しかしながら、既存のジオメトリの位置を変更することで、シーン内で一度生成された三角形の群の位置を変更することができる。したがって、ジオメトリデータは、各三角形の座標を提供し、オブジェクトのこの位置の変更は、動的である。
【0092】
<6.2 本開示による3Dストリーミングの利点>
本開示の3Dストリーミングの利点は、6つの自由度(DoF:Degree of Freedom)でもネットワークの遅延がより少ないことである。3Dストリーミング・フォーマットの利点の一つは、クライアント側にも3Dシーンがあることである。ミックス・リアリティ(MR)でナビゲートし、又は画像内を見て回るとき、重要な部分は、どのように3Dコンテンツが現実世界と接続されているか、そしてどのように「それに実際の位置が感じられる」である。言い換えれば、ユーザがいくつかの表示されたオブジェクトの周りを回っているときに、デバイスによる位置更新の遅れを認識しない場合、人間の脳はこのオブジェクトが本当にその場所にあると錯覚する。
【0093】
現在、クライアント側のデバイスは70~90FPS(1秒当たりのフレーム数)を目標にして、ユーザにこれを「本物」と思わせるために、ディスプレイ上の3Dコンテンツを更新する。今日では、12ms以下の待ち時間で、リモートサーバー上でフレーム更新のフルサイクルを提供することは不可能である。実際、ARデバイスのセンサは、1,000FPS以上の情報を提供している。そして、クライアント側で3Dコンテンツを同期させることは、現代のデバイスではすでに可能なので、本開示の方法では、クライアント側で3Dコンテンツを同期させることができる。そのため、3Dシーンを再構成した後、クライアント側で拡張コンテンツの位置情報を処理するのはクライアント側の仕事であり、リアリティに影響を与えないような合理的なネットワーク上の問題(例えば、伝送遅延)があれば、それを解決することができる。
【0094】
<本開示のまとめ>
以下に本開示のまとめとしていくつかの実施例を付記する。
【0095】
サーバからクライアントへ、3Dオブジェクトを送信する方法であって、前記サーバ上の前記3Dオブジェクトからカラー情報、アルファ情報及びジオメトリ情報を抽出することと、前記ジオメトリ情報を単純化することと、前記サーバから前記クライアントへ、前記カラー情報、前記アルファ情報及び前記単純化されたジオメトリ情報を含むストリームを符号化して送信することと、を含む、本開示による方法。
【0096】
前記ジオメトリ情報を単純化することは、前記3Dオブジェクトから抽出された点群から三角形の頂点の情報に変換することである、本開示による方法。
【0097】
前記ストリームは、さらに、メタデータ、サウンドデータ、及びコマンドのうちの少なくとも1つを含む、本開示による方法。
【0098】
前記サーバが、前記クライアントから、前記サーバ上の3Dオブジェクトを書き換えるコマンドを受信する、本開示による方法。
【0099】
前記サーバが前記クライアントから3Dオブジェクトを書き換えるコマンドを受信した場合、前記サーバは前記サーバ上の3Dオブジェクトを書き換え、前記書き換えた3Dオブジェクトから前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出し、前記ジオメトリ情報を単純化し、前記サーバから前記クライアントへ前記カラー情報、前記アルファ情報及び前記単純化されたジオメトリ情報を含むストリームを符号化して送信する、本開示による方法。
【0100】
前記カラー情報及び前記アルファ情報は、RGBカメラで取得され、前記ジオメトリ情報は、デプスカメラで取得される、本開示による方法。
【0101】
サーバ上にある3Dオブジェクトをクライアント上で再現する方法であって、前記サーバから前記3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を含む符号化されたストリームを受信することと、前記ストリームを復号し、そこから前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出することと、前記ジオメトリ情報に基づいて前記3Dオブジェクトの形状を再現することと、前記再現された3Dオブジェクトの形状の上に、前記カラー情報と前記アルファ情報を合成した情報を投影することにより前記3Dオブジェクトを再構成することと、を含む、本開示による方法。
【0102】
前記再構成された3Dオブジェクトを表示装置上に表示する、本開示による方法。
【0103】
前記表示装置がスマートグラスである、本開示による方法。
【0104】
1つ以上のプロセッサ及びメモリを含むサーバであって、前記1つ以上のプロセッサが、前記メモリに記憶された命令を実行することによって、前記サーバ上の3Dオブジェクトからアルファ情報及びジオメトリ情報を抽出し、前記ジオメトリ情報を単純化し、前記サーバからクライアントへ、前記アルファ情報及び前記単純化されたジオメトリ情報を含むストリームを符号化して送信する、本開示によるサーバ。
【0105】
1つ以上のプロセッサ及びメモリを含むクライアントであって、前記1つ以上のプロセッサが、前記メモリに記憶された命令を実行することによって、サーバから3Dオブジェクトのカラー情報、アルファ情報及びジオメトリ情報を含む符号化されたストリームを受信し、前記ストリームを復号し、そこから前記カラー情報、前記アルファ情報及び前記ジオメトリ情報を抽出し、前記ジオメトリ情報に基づいて前記3Dオブジェクトの形状を再現し、前記再現された3Dオブジェクトの形状の上に、前記カラー情報と前記アルファ情報を合成した情報を投影することにより前記3Dオブジェクトを再構成する、本開示によるクライアント。
【0106】
本開示よる前記方法をプロセッサによって実行するための命令を含む、プログラム。
【0107】
本開示はソフトウェア、ハードウェア、又は、ハードウェアと連携したソフトウェアで実現することが可能である。
【産業上の利用可能性】
【0108】
本開示は、ソフトウェア、プログラム、システム、装置、クライアントサーバシステム、端末などに適用可能である。
【符号の説明】
【0109】
100 サーバ
101 受信データ処理ユニット
102 3Dシーンデータ生成ユニット
103 抽出ユニット
104 3Dストリーム変換/符号化ユニット
105 3Dストリーム
106 ネットワークパケット構成ユニット
107 ネットワークパケット伝送ユニット
108 ネットワークパケット受信ユニット
120 有線又は無線ネットワーク
150 クライアント
150-1 クライアント
150-2 クライアント
151 ネットワークパケット伝送ユニット
152 ネットワークパケット受信ユニット
153 アプリデータ出力ユニット
154 3Dストリーム復号ユニット
155 3Dシーン再構成ユニット
156 表示ユニット
602 表示部
603 入出力部
604 メモリ
605 ネットワークインタフェース
606 記憶装置
607 バス
703 入出力部
704 メモリ
705 ネットワークインタフェース
706 記憶装置
707 バス
1201 画面
1202 人
1203 コンテナストリーム
1210 スマートグラス
1211-1 人
1211-2 人
1212-1 カーソル
1212-2 カーソル
1213 コマンド
1214 人
1221 端末装置
1521~1526 デプスカメラ
1530 RGBカメラ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16