(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-31
(45)【発行日】2022-06-08
(54)【発明の名称】実世界を表現するリアルタイム3D仮想世界の中でのリアルタイム3D仮想物体の双方向リアルタイム3Dインタラクティブ操作
(51)【国際特許分類】
G06F 3/0484 20220101AFI20220601BHJP
G06F 3/04815 20220101ALI20220601BHJP
【FI】
G06F3/0484
G06F3/0481 150
【外国語出願】
(21)【出願番号】P 2019096678
(22)【出願日】2019-05-23
【審査請求日】2019-09-13
(32)【優先日】2018-05-24
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】519186347
【氏名又は名称】ザ カラニー ホールディング エスエーアールエル
(74)【代理人】
【識別番号】100114775
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100202751
【氏名又は名称】岩堀 明代
(74)【代理人】
【識別番号】100191086
【氏名又は名称】高橋 香元
(72)【発明者】
【氏名】セヴァト,イエルリ
【審査官】梅本 章子
(56)【参考文献】
【文献】米国特許出願公開第2009/0055019(US,A1)
【文献】特表2005-539296(JP,A)
【文献】米国特許出願公開第2017/0203438(US,A1)
【文献】中国特許第102120325(CN,B)
【文献】中国特許第100484726(CN,C)
【文献】特開2016-209969(JP,A)
【文献】Xiaoli Yang et al.,Virtual Reality Tools for Internet-Based Robotic Teleoperation,Eighth IEEE International Symposium on Distributed Simulation and Real-Time Applications (DS-RT'04) ,IEEE,2004年,URL,https://ieeexplore.ieee.org/document/1364604
【文献】浅沼 和範、外1名,インターネットを介した移動ロボットの遠隔操作におけるユーザインタフェース,日本機械学会論文集(C編),第68巻,第673号,一般社団法人日本機械学会,2002年09月,p.186-193
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048-3/04895
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
リアルタイム3D仮想レプリカおよび実物体の双方向インタラクティブ操作を可能にするシステムであって、
少なくとも1つの対応する実物体(102)の少なくとも1つのリアルタイム3D仮想レプリカ(104)が表現されるデータ構造を含むパーシステント仮想世界システム(118)であって、メモリおよび少なくとも1つのプロセッサを備えるサーバに格納されて計算されるパーシステント仮想世界システム(118)と、
前記サーバに格納されて計算される前記パーシステント仮想世界システム(118)を介しネットワークを介して前記少なくとも1つのリアルタイム3D仮想レプリカ(104)に通信可能かつ永続的に接続された少なくとも1つの対応する実物体(102)と、
前記サーバに格納されて計算される前記パーシステント仮想世界システム(118)を介し前記ネットワークを介して前記少なくとも1つの対応する実物体(102)に通信可能かつ永続的に接続された少なくとも1つのユーザ装置と
を備え、
前記少なくとも1つのリアルタイム3D仮想レプリカ(104)は、前記少なくとも1つの実物体と前記少なくとも1つの対応するリアルタイム3D仮想レプリカ(104)との間で共有される複数のデータ点を提供する複数のセンシング機構を介して前記少なくとも1つの対応する実物体(102)と同期され、かつ前記少なくとも1つのリアルタイム3D仮想レプリカ(104)の仮想の物理的性質および仮想の世界座標は、前記少なくとも1つの対応する実物体(102)の物理的性質および実世界座標に対応することを特徴とし、
前記少なくとも1つの対応する実物体(102)に1つ以上の変化をもたらすことにより、前記対応するリアルタイム3D仮想レプリカ(104)にリアルタイムの対応する効果をもたらし、かつ
前記少なくとも1つのリアルタイム3D仮想レプリカ(104)または前記対応する少なくとも1つの実物体(102)を操作することにより、前記実物体(102)のコンテキストのデータに変化をもたらし、前記リアルタイム3D仮想レプリカ(104)と対応する少なくとも1つの実物体(102)の間の関係性に影響を与えることを特徴と
し、
前記コンテキストのデータは、前記実物体(102)を直接取り囲んで影響を与える環境に関する1つまたは複数のセンサのデータの組合せを含む、マイクロコンテキストを少なくとも含む、
システム。
【請求項2】
前記コンテキストのデータは、製造工場、空気品質、気候変化レベル、企業効率、交通量、都市効率、または国効率のうち、1つまたは複数の現在の効率性を、複数の目標に基づく複数のマイクロコンテキストから導出するために、機械学習アルゴリズムを介してコンピュータ処理されたデータを含むマクロコンテキストを更に含む、請求項1に記載のシステム。
【請求項3】
前記少なくとも1つのユーザ装置がリアルタイム3D仮想レプリカ(104)を仮想的に選択し、かつその後に前記少なくとも1つのユーザ装置を介して前記リアルタイム3D仮想レプリカ(104)に1つ以上の変化をもたらすことにより、前記少なくとも1つの対応する実物体(102)にリアルタイムの対応する効果をもたらすように構成される、請求項1に記載のシステム。
【請求項4】
前記パーシステント仮想世界システム(118)は前記ネットワークを介して2人以上のユーザによって共有される、請求項1
~3のいずれか一項に記載のシステム。
【請求項5】
前記同期は、前記リアルタイム3D仮想レプリカ(104)を向上させ、かつ前記対応する実物体(102)のさらなる物理的性質を与えるため、前記サーバと通信しかつ前記リアルタイム3D仮想レプリカ(104)と共有されるフィードバックを提供することを含み、かつ前記同期は、仮想センサ、仮想リソースまたはそれらの組み合わせを用いることによって、前記対応するリアルタイム3D仮想レプリカ(104)を介して前記1つ以上の実物体(102)を向上させることをさらに可能にし、前記仮想センサ
は仮想世界の3D構造のデータを利用することに関連し、各々のリアルタイム3D仮想レプリカ(104)
は現実世界を表して実データの欠損を補償する、請求項1~
4のいずれか一項に記載のシステム。
【請求項6】
前記リアルタイム3D仮想レプリカ(104)または前記実物体(102)のいずれかにもたらされる変化は、回転運動、並進運動、1つ以上の行動の選択、1つ以上の行動のプログラミングまたは1つ以上のパラメータの構成またはそれらの組み合わせを含む、請求項1~
5のいずれか一項に記載のシステム。
【請求項7】
前記サーバは、前記対応する実物体(102)を管理するために複数のリアルタイム3D仮想レプリカ(104)の管理においてユーザを同時かつ自立的に管理または支援するための人工知能アルゴリズムおよびグループ分析を用いるようにさらに構成されており、かつ前記人工知能アルゴリズムは、1つ以上の目標に基づいて前記リアルタイム3D仮想レプリカ(104)間の連携および対話をさらに可能にして前記対応する実物体(102)間で対応する連携を生じさせる、請求項1~
6のいずれか一項に記載のシステム。
【請求項8】
前記メモリは、前記パーシステント仮想世界システム(118)におけるイベントを格納するようにさらに構成されており、かつイベントからのデータは、さらなる見直しのために前記イベントを検出して再現するための出来事検出モジュールによって使用される、請求項1~
7のいずれか一項に記載のシステム。
【請求項9】
リアルタイム3D仮想レプリカおよび実物体の双方向インタラクティブ操作を可能にする方法であって、
少なくとも1つの対応する実物体の少なくとも1つのリアルタイム3D仮想レプリカが表現されるデータ構造を含むパーシステント仮想世界システムをサーバ上に設ける工程(704)であって、前記少なくとも1つのリアルタイム3D仮想レプリカの仮想の物理的性質および仮想の実世界座標は前記少なくとも1つの対応する実物体の物理的性質および実世界座標に対応する工程と、
センシング機構の組み合わせを介して前記リアルタイム3D仮想レプリカを前記少なくとも1つの対応する実物体と同期させる工程(706)であって、各機構は前記少なくとも1つの対応する実物体と前記リアルタイム3D仮想レプリカとの間で共有される複数のデータ点を提供する工程と、
前記少なくとも1つの対応する実物体またはユーザ装置上の1つ以上のインタフェースを介して入力された選択および/または操作命令を受信する工程(710)であって、前記選択および/または操作命令は前記複数の共有されるデータ点に対する修正を含み、かつ前記命令は前記サーバに格納されて計算される前記パーシステント仮想世界システムを介しネットワークを介して送信される工程と、
前記選択および/または操作命令を処理する工程(712)と、
前記少なくとも1つの更新されたリアルタイム3D仮想レプリカにより前記パーシステント仮想世界システムを更新する工程(714)と
を含み、
前記少なくとも1つの対応する実物体に1つ以上の変化をもたらすことにより、前記リアルタイム3D仮想レプリカにリアルタイムの対応する効果をもたらし、
前記少なくとも1つのリアルタイム3D仮想レプリカまたは前記対応する実物体を操作することにより、前記実物体のコンテキストのデータに変化をもたらし、リアルタイム3D仮想レプリカと対応する少なくとも1つの実物体の間の関係に影響を与えることを特徴と
し、
前記コンテキストのデータは、前記実物体(102)を直接取り囲んで影響を与える環境に関する1つまたは複数のセンサのデータの組合せを含む、マイクロコンテキストを少なくとも含む、
方法。
【請求項10】
リアルタイム3D仮想レプリカを仮想的に選択し、かつその後に前記少なくとも1つのユーザ装置を介して前記リアルタイム3D仮想レプリカに1つ以上の変化をもたらすことにより、前記少なくとも1つの対応する実物体にリアルタイムの対応する効果をもたらす、請求項
9に記載の方法。
【請求項11】
前記パーシステント仮想世界システムは前記ネットワークを介して2人以上のユーザによって共有され、前記ユーザは人間または人工知能ユーザであり、前記少なくとも1つの対応する実物体は工場機械または車両である、請求項
9または請求項
10に記載の方法。
【請求項12】
前記リアルタイム3D仮想レプリカまたは前記実物体のいずれかに1つ以上の変化をもたらすことをさらに含み、かつ前記1つ以上の変化は回転運動、並進運動、1つ以上の行動の選択、1つ以上の行動のプログラミングまたは1つ以上のパラメータの構成またはそれらの組み合わせを含む、請求項
9~11のいずれか一項に記載の方法。
【請求項13】
前記同期は、仮想センサ、仮想リソースまたはそれらの組み合わせを用いることによって前記対応するリアルタイム3D仮想レプリカを介して前記1つ以上の実物体をさらに向上させ、前記仮想センサ
は仮想世界
の3D構造のデータの利用に関連し、かつ各々のリアルタイム3D仮想レプリカ
は現実世界を表して実データの欠損を補償する、請求項
9~12のいずれか一項に記載の方法。
【請求項14】
前記対応する実物体を管理するために複数のリアルタイム3D仮想レプリカの管理においてユーザを同時かつ自立的に管理または支援するために人工知能アルゴリズムおよびグループ分析を用いることをさらに含み、かつ前記人工知能アルゴリズムは、1つ以上の目標に基づいて前記リアルタイム3D仮想レプリカ間の連携および対話をさらに可能にして前記対応する実物体間で対応する連携を生じさせる、請求項
9~13のいずれか一項に記載の方法。
【請求項15】
前記仮想世界システムにおけるイベントを前記サーバのメモリに格納することをさらに含み、かつ前記イベントからのデータは、さらなる見直しのために前記イベントを検出して再現するための出来事検出モジュールによって使用される、請求項
9~14のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の態様は、一般にコンピュータシステムに関し、特にリアルタイム3D仮想レプリカおよび実物体の双方向インタラクティブ操作を可能にするためのシステムおよび方法に関する。
【背景技術】
【0002】
現在のところ製造、軍事および自動車などの産業は、関与する異なる物体の受動的および能動的管理と共に監視を可能にする制御技術の恩恵を受けている。製造プロセスにおける各種物体は例えば、通常はワークステーション内のコンピュータを介して遠隔管理されている。これらのワークステーションは最近では、よりユーザフレンドリかつフレキシブルなヒューマンマシンインタフェース(HMI)を提供するモバイル装置に固定されたコンピュータからアップグレードされている。
【0003】
それにも関わらず、目的の物体の大部分がワークステーションから目で見て管理可能であり得るが、これらの物体との対話はまだ自然な形で行われていない。例えばユーザエクスペリエンス(UX)は、ユーザが物体を操作するのを可能にさせるいくつかのボタンを含むことがあり、多くの数の制御ボタンが関わる場合にはこれは厄介なものになりやすい。また目的の実物体に生じる変化は、効果的な監視および管理のために必要とされ得る細部の大部分を含めるように完全に同期されない場合がある。異なる要素間の連携は典型的に数少ない物体に限られており、多くの場合に大量の人間の対話を必要とする。さらに、制御技術が要求される用途の場面がある拡張現実や仮想現実などのデジタルリアリティ技術では、効率的な管理を容易にするために十分に利用されていない。
【0004】
従って、実物体との(間の)さらに同期された通信および対話を可能にするシステムおよび方法を開発することが求められている。
【発明の概要】
【0005】
本概要は、以下の発明の詳細な説明でさらに説明される概念を単純化された形態で選択的に紹介するようにして提供される。この概要は特許請求されている主題の重要な特徴を特定するためのものでもなければ、特許請求されている主題の範囲を決定するのを支援するものとして使用されるものでもない。
【0006】
本開示は、実物体の正確な仮想レプリカを介しインタフェースを介した実物体による(間の)自然な制御およびリアルタイム3Dベース対話と、実物体を直接制御することによる仮想レプリカの同期された制御とを可能にするシステムおよび方法を提供する。本開示では「実物体」という用語は、ネットワークに接続し、遠隔で制御し、いくつかの物理的な方法で修正または構成することができるあらゆる物理的な物体、装置または機械を指す。いくつかの実施形態では、実物体は複数のソースから検知情報を受信する。いくつかの実施形態では、実物体は、モノのインターネット(IoT)構成、およびそのような装置がIoT装置と呼ばれる構成でネットワークを介して互いにまたは他の装置に通信可能に接続されていてもよい。正確な仮想レプリカを実物体のリアルタイム3D仮想レプリカと呼ぶ場合があり、同一またはほぼ同一の物理的特性ならびに共有されるデータ点を介して実世界の位置および向きを含む実世界座標を含めるために実物体と同期させることができる。例えばリアルタイム3D仮想レプリカの直接操作は、複数の産業用機械または車両をリアルタイムで遠隔管理するのに有用であり得る。同様に例として、産業用機械の直接操作は、プロセス管理者または機械オペレータがシステム内の全ての物体を表示および管理するリアルタイムで連続的に更新されるモデルを必要とする場合に有用であり得る。実物体とリアルタイム3D仮想レプリカの対を本明細書では仮想ツイン(virtual twin)、仮想と実の対(virtual-real pair)または実と仮想の対(real-virtual pair)と呼ぶ場合がある。ここに開示されているシステムおよび方法のさらなる用途は、拡張現実、仮想現実または複合現実などの実世界に関してユーザの知覚を変化させ得るデジタルリアリティを介して提供されるリアルタイム3D仮想レプリカによって可能になってもよい。本開示のシステムおよび方法は、工場または自宅、近所、都市、国の中およびそれ以外などでの異なるレベルの複雑さの動作の管理に適し得る。本開示のさらなる使用および利点は、本概要および以下の発明を実施するための形態に記載されている異なる実施形態において明らかになるであろう。
【0007】
本開示の実物体およびそれぞれの3Dリアルタイム仮想レプリカの双方向リアルタイム3Dインタラクティブ操作を可能にするシステムは、少なくとも1つの対応する実物体の少なくとも1つのリアルタイム3D仮想レプリカが表現されるデータ構造を含むパーシステント(永続的な)仮想世界システムであって、サーバに格納されて計算されるパーシステント仮想世界システムと、サーバに格納されて計算されるパーシステント仮想世界システムを介しネットワークを介して少なくとも1つのリアルタイム3D仮想レプリカに通信可能かつ永続的に接続された少なくとも1つの対応する実物体と、サーバに格納されて計算されるパーシステント仮想世界システムを介しネットワークを介して1つ以上の実物体に通信可能かつ永続的に接続された少なくとも1つのユーザ装置とを備える。少なくとも1つのリアルタイム3D仮想レプリカは、少なくとも1つの実物体と少なくとも1つのリアルタイム3D仮想レプリカとの間で共有される複数のデータ点を提供する複数のセンシング機構を介して少なくとも1つの対応する実物体と同期される。さらに、少なくとも1つのリアルタイム3D仮想レプリカの仮想の物理的特性および仮想の世界座標は、対応する1つ以上の実物体の物理的特性および実世界座標に対応する。複数のセンシング機構は仮想と実の対の間で共有される複数のデータ点を提供するIoTセンシング機構の組み合わせであってもよい。
【0008】
好適なインタフェースを介して少なくとも1つのリアルタイム3D仮想レプリカまたは対応する実物体のいずれかに1つ以上の変化をもたらしたら、サーバはリアルタイムまたは非リアルタイムで操作命令を処理して仮想世界を介した実世界の管理を可能にしてもよい。サーバはその後にそれらの処理された命令をそれぞれの標的実物体またはそれぞれのリアルタイム3D仮想レプリカに伝送してもよい。より具体的には、リアルタイム3D仮想レプリカを仮想的に選択し、かつその後に少なくとも1つのユーザ装置を介してリアルタイム3D仮想レプリカに1つ以上の変化をもたらすことにより、対応する実物体にリアルタイムの対応する効果をもたらす。同様に、実物体に1つ以上の変化をもたらすことにより、リアルタイム3D仮想レプリカにリアルタイムの対応する効果をもたらす。
【0009】
本開示の態様によれば、実物体およびリアルタイム3D仮想レプリカの操作の方向は双方向性である。例えばこの操作は、対応する実物体を制御するためにユーザと少なくとも1つのリアルタイム3D仮想レプリカとの対話、または対応するリアルタイム3D仮想レプリカに直接的効果を与えるために物体オペレータと少なくとも1つの実物体との対話により得られるデータおよび命令として生成されてもよい。但し、人工知能、グループ分析、シミュレーションおよびコンテキストの計算の結果として、ドローン、自律走行車、ロボット、都市にある建物(例えば、互いに通信する仮想管理人)、マシンおよびコンピュータビジョンアプリケーション、パーソナルアシスタント、ビデオゲームなどの制御および管理などにおいて実物体間の共同が必要とされ得る場合には、これらの対話はリアルタイム3D仮想レプリカ自体の間で行われてもよい。一実施形態によれば、少なくとも1つのリアルタイム3D仮想レプリカまたは対応する少なくとも1つの実物体を操作することにより、仮想と実の対に影響を与えるコンテキストのデータに変化をもたらし、ここではコンテキストのデータにおけるそのような変化により、少なくとも1つの実物体に対応するリアルタイム3D仮想レプリカ間の関係に影響を与えてもよい。本開示で使用される「コンテキスト」または「コンテキストのデータ」という用語は、リアルタイム3D仮想レプリカおよび実物体の環境における他の物体などの、その対応する実物体の直接的または間接的な環境に関するデータを指す。本開示では、コンテキストをマイクロコンテキストおよびマクロコンテキストにさらに分類することができる。
【0010】
「マイクロコンテキスト」という用語は、実世界要素に直接影響を与え得る任意の人々、物体または条件などの実物体を直接取り囲んでいるコンテキストを指す。マイクロコンテキストとしては例えば、実物体を直接取り囲んで影響を与える環境の特に3D画像データ、3Dジオメトリ、3D実体、3D検知データ、3D動的オブジェクト、ビデオデータ、音声データ、テキストデータ、時間データ、メタデータ、優先データ、セキュリティデータ、位置データ、照明データ、温度データおよびサービスの品質(QOS)などのデータが挙げられる。「マクロコンテキスト」という用語は、実物体を取り囲んでいる間接的すなわちより遠隔のコンテキストを指す。マクロコンテキストは、複数のマイクロコンテキストからサーバによって導出されてもよく、製造工場、空気品質、気候変化レベル、企業効率、交通量、都市効率、国効率などの現在の効率などのシステムのより全体論的情報が得られる。マクロコンテキストは、指定された機械学習機能および目標に応じて、局所レベル(例えば、職場または製造工場)、近所レベル、都市レベル、国レベルまたはさらには惑星レベルなどの異なるレベルで検討および計算されてもよい。従って、指定された機械学習機能および目標に応じて、同じ実世界要素データおよびマイクロコンテキストデータが異なる種類のマクロコンテキストを導出してもよい。
【0011】
いくつかの実施形態では、ネットワークは例えばセルラーネットワークであってもよく、かつグローバル進化型高速データレート(EDGE:enhanced data rates for global evolution)、汎用パケット無線システム(GPRS:general packet radio service)、汎ヨーロッパデジタル移動通信システム(GSM:global system for mobile communications)、インターネットプロトコルマルチメディアサブシステム(IMS:Internet protocol multimedia subsystem)、ユニバーサル・モバイル・テレコミュニケーション・システム(UMTS:universal mobile telecommunications system)など、ならびに任意の他の好適な無線媒体、例えば、マイクロ波アクセス(WiMAX)、ロング・ターム・エボリューション(LTE:Long Term Evolution)ネットワーク、符号分割多重アクセス(CDMA)、広帯域符号分割多元接続(WCDMA:wideband code division multiple access)、ワイヤレス・フィディリティー(WiFi)、衛星、モバイルアドホックネットワーク(MANET)などを含む各種技術を用いてもよい。
【0012】
一実施形態によれば、ネットワークは、実物体間およびサーバとのモバイル通信を可能にする電波を送信および受信するように構成されたアンテナを備えてもよい。アンテナは有線もしくは無線手段を介して計算センタに接続されていてもよい。他の実施形態では、アンテナは計算センタおよび/または計算センタに近いエリアの中に設けられている。いくつかの実施形態では、屋外に位置しているユーザ装置および/または実物体に情報を提供するために、アンテナはミリ波(mmW)ベースのアンテナシステムまたはmmWベースのアンテナとサブ6GHzアンテナシステムとの組み合わせ(本明細書ではまとめて5Gアンテナという)を含んでもよい。他の実施形態では、アンテナは4Gアンテナなどの他の種類のアンテナを含んでもよく、あるいは5Gアンテナシステムのためのサポートアンテナとして使用されてもよい。屋内に位置しているリアルタイム3Dベース対話装置に情報を提供するためにアンテナが使用される実施形態では、アンテナは、好ましくは限定されるものではないがデータを16GHzで提供するWi-Fiを使用してもよい。
【0013】
他の実施形態では、GPS、BDS、グロナス(Glonass)、QZSS、ガリレオ(Galileo)およびIRNSSのような複数の衛星利用航法システムをまとめて指す全地球的航法衛星システム(GNSS)が装置の位置決めを可能にするために使用されてもよい。十分な数の衛星からの信号ならびに三角形分割および三辺測量などの技術を用いて、GNSSは装置の位置、速度、高度および時間を計算することができる。好ましい実施形態では、外部位置決めシステムは、既存のセルラー通信ネットワークのアーキテクチャ(既存のアーキテクチャは5Gを含む)を介して支援型GNSS(AGNSS:assisted GNSS)によって増強される。他の実施形態では、AGNSS追跡システムは4Gセルラー通信ネットワークによってさらにサポートされる。屋内実施形態では、GNSSは好ましくは限定されるものではないがデータを16GHzで提供するWi-Fiなどの無線ローカルエリアネットワークを介してさらに増強される。他の実施形態では、GNSSはディファレンシャルGPS(DGPS)、静止衛星型衛星航法補強システム(SBAS)、リアルタイムキネマティック(RTK)システムなどの当該技術分野で知られている他の技術を介して増強される。いくつかの実施形態では、装置の追跡はAGNSSと装置内の慣性センサとの組み合わせによって実行される。
【0014】
一実施形態によれば、サーバは少なくともプロセッサおよびメモリを備えたハードウェアおよびソフトウェアとして提供されてもよく、ここではプロセッサはサーバに連結されたメモリに含まれている命令を実行するように構成されていてもよく、かつメモリは命令およびデータを格納するように構成されている。例えばプロセッサは、対応するリアルタイム3D仮想レプリカを介した少なくとも1つの実物体の管理、実物体のシミュレーション、3D構造処理、コンテキストの計算、グループ分析、レンダリングおよびリアルタイム3D仮想レプリカを介した実対応物の仮想の向上または仮想の補償の実行のための人工知能アルゴリズムを実行するように構成されていてもよい。いくつかの実施形態では、プロセッサは、仮想と実の対の動きを同期させるために操作命令に対して運動学的計算を実行することにより、実物体およびリアルタイム3D仮想レプリカの双方向インタラクティブ操作をさらに可能にする。一実施形態では、サーバプロセッサによる操作命令の処理は、それらの自身のプロセッサを介した1つ以上の実物体によって実行される処理に相補的であり、特定の難タスク処理を実行するための実物体へのサポートとして機能する。他の実施形態では、プロセッサは、ユーザに伝送されるビデオおよび音声ストリームを含むメディアコンテンツのレンダリングをさらに行う。プロセッサはユーザが見ている位置、向きおよび/または視野角に基づいてユーザ装置に送られる2つ以上のメディアストリームをさらに決定してもよい。
【0015】
メモリは、実世界物体の位置、向き、スケールおよび寸法、物理的特性およびリアルタイム3D仮想レプリカの形態の実物体のそれぞれの3D構造などの実世界座標を含むデジタルバージョンの実世界を含むパーシステント仮想世界システムを格納してもよい。メモリは、ユーザが実物体のリアルタイム3D仮想レプリカを作成および編集することを可能にするように構成されたコンテンツもしくは仮想レプリカエディタをさらに含む。但し、パーシステント仮想世界システムは、純粋に仮想である物体などの実世界には存在し得ないコンピュータで生成される仮想物体をさらに含んでもよい。いくつかの実施形態では、パーシステント仮想世界システムは2人以上のユーザによって共有され、これはパーシステント仮想世界システム内の1つ以上のリアルタイム3D仮想レプリカにおけるあらゆる変化を2人以上のユーザによって見ることができることを意味する。
【0016】
本開示では「パーシステント」という用語は、プロセスまたはネットワーク接続を連続的に実行することなく存在し続けることができるシステムの状態を特徴づけるために使用される。例えば「パーシステント」という用語は、仮想世界システムおよびその中に含まれるリアルタイム3D仮想レプリカの全てがリアルタイム3D仮想レプリカを作成するために使用されるプロセスが停止した後にユーザが仮想世界システムに接続されているかに関わらず存在し続ける仮想世界システムを特徴づけるために使用されてもよい。従って、仮想世界システムはサーバ内の不揮発性記憶位置に保存されている。このように、リアルタイム3D仮想レプリカは、ユーザがサーバに接続されていないとしても特定の目標を達成するために構成されている場合は互いに対話および共同することができる。
【0017】
いくつかの実施形態では、メモリは、パーシステント仮想世界システムにおけるイベントをさらに格納してもよい。イベントを格納することにより、例えば出来事検出モジュールがさらなる見直しのためにイベントを検出および再現することを可能にするようにしてもよい。出来事はイベントの典型的なフローにおける途絶を指す。イベントの典型的なフローはパラメータの範囲または特性の中で決定されてもよい。さらなる実施形態では、出来事はサーバに実装されているルールベースシステムを介して特定される。他の実施形態では、出来事はサーバに実装されている機械学習アルゴリズムを介して特定される。
【0018】
メモリは、ハードドライブ、メモリカード、フラッシュドライブ、ROM、RAM、DVDまたは他の光ディスクなどのコンピュータ可読媒体または電子装置の助けを借りて読み込むことができるデータを格納する他の媒体ならびに他の書込み可能および読取り専用メモリなどの、プロセッサによってアクセス可能な情報を格納することができる任意の好適な種類のものであってもよい。メモリはパーシステント記憶装置に加えて一時記憶装置を含んでもよい。命令はプロセッサによって直接的(例えば、機械コード)または間接的(例えば、スクリプト)に実行されてもよい。当該命令はプロセッサによる直接的処理のために目的コード形式で、あるいは要求に応じて解釈されるか前もってコンパイルされていてもよい独立したソースコードモジュールのスクリプトまたはコレクションを含む任意の他のコンピュータ言語で格納されていてもよい。データは当該命令に従いプロセッサによって検索、格納または修正されてもよい。データは、例えばコンピュータレジスタ、複数の異なるフィールドおよびレコードを有するテーブルとしてのリレーショナルデータベース、XMLドキュメントまたはフラットファイルに例えば格納されていてもよい。また当該データは任意のコンピュータ可読形式でフォーマットされていてもよい。プロセッサは単一の専用プロセッサ、単一の共有プロセッサまたはそのうちのいくつかが共有されていてもよい複数の個々のプロセッサを指してもよい。さらに、「プロセッサ」という用語の明示的使用は、ソフトウェアを実行することができるハードウェアを排他的に指すように解釈されるべきではなく、限定されるものではないが、デジタル信号プロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラム可能なゲートアレイ(FPGA)、マイクロプロセッサ、マイクロコントローラなどを暗黙的に含んでもよい。
【0019】
一実施形態によれば、サーバのメモリに格納されているレプリカエディタは、ユーザが実物体のリアルタイム3D仮想レプリカをモデル化および編集することを可能にするように構成されたソフトウェアおよびハードウェアを含む。レプリカエディタは例えば、仮想レプリカを入力および編集するのに必要なデータおよび命令を格納することができるコンピュータ支援設計(CAD)ソフトウェアアプリケーションであってもよい。レプリカエディタは、各リアルタイム3D仮想レプリカおよび全体としてのパーシステント仮想世界システムの形状、位置、位置決めおよび向き、物理的特性、3D構造ならびに期待される機能および影響を記述するデータおよび命令を指す各デジタルレプリカに関する明示的データおよび命令の入力を可能にしてもよい。一般に明示的データは、センシング機構によって得ることができないが、代わりに建物の材料、壁の厚さ、電気設備および回路、水道管、消火器、非常口、窓の位置、機械性能パラメータ、機械センサおよび弁の位置などのレプリカエディタを介してデジタルで入力することを必要とし得るデータを含んでもよい。本明細書で使用される「命令」は、プロセッサによって理解され、かつリアルタイム3D仮想レプリカ上で実世界要素の行動を表現するコード(例えば、2進コード)を指す。
【0020】
明示的データおよび命令により実物体をリアルタイム3D仮想レプリカに変換し、かつそれらをパーシステント仮想世界システムにおいて利用可能にするためのモデル化技術は、実物体の容易に利用可能なCADモデルに基づいていてもよい。例えば機械所有者は、当該機械の既に存在しているデジタルCADモデルをパーシステント仮想世界システムの管理者に提供してもよく、あるいはそれを自分自身で入力してもよい。同様に建物所有者は、建物情報モデル(BIM)にサーバ内のパーシステント仮想世界システムに格納されている建物の詳細を提供してもよく、この詳細は目で見たりセンシング機構を介して容易に入手可能であったりし得ない情報を含んでもよい。これらの実施形態では、これらの実物体の所有者は、それぞれのリアルタイム3D仮想レプリカをパーシステント仮想世界システムの中に追加する責任を担ってもよく、これは例えばインセンティブシステムまたは法的必要条件によって達成することができる。いくつかの実施形態では、パーシステント仮想世界システムの管理者、官僚または他の関係当局は、リアルタイム3D仮想レプリカをパーシステント仮想世界システムの中に入力するために実物体の所有者と共同し、それによりサーバにおけるパーシステント仮想世界システムのより速くかつより完全な作成を実現してもよい。他の実施形態では、合成開口レーダ、実開口レーダ、光検出と測距(LIDAR:Light Detection and Ranging)、逆合成開口レーダ、モノパルスレーダなどのレーダイメージングおよび他の種類のイメージング技術を使用して実物体をマップおよびモデル化した後にそれらをパーシステント仮想世界システムの中に一体化させてもよい。仮想レプリカを作成するために使用されるモデル化技術とは無関係に、各実世界物体の非常に正確なリアルタイム3D仮想レプリカが利用可能になるように、各仮想レプリカの情報は各対応する実世界要素に関する十分な詳細を提供しなければならない。次いでリアルタイム3D仮想レプリカを可能であればいつでもマルチソース検知データにより強化および同期させる。従っていくつかの実施形態では、リアルタイム3D仮想レプリカは、レプリカエディタを介して入力された明示的データおよび命令ならびに複数のIoTセンシング機構を介して入力されたマルチソース検知データを含む。
【0021】
一実施形態によれば、実物体およびユーザ装置上に装着された複数のIoTセンシング機構は、1つ以上の温度センサ、近接センサ、慣性センサ、赤外線センサ、汚染センサ(例えば、ガスセンサ)、圧力センサ、光センサ、超音波センサ、煙センサ、接触センサ、色センサ、湿度センサ、水センサ、電気センサまたはそれらの組み合わせを含む。実世界からデータを絶えず取得する検知機構を有する複数の接続された要素を設けることによって、サーバに格納されたパーシステント仮想世界システムおよびリアルタイム3D仮想レプリカのそれぞれは、実世界の条件を反映するリアルタイムマルチソース検知データにより更新され続ける。
【0022】
一実施形態によれば、実物体に取り付けられたか実物体に近接して構成されたセンシング機構は、光センサおよび慣性センサまたはそれらの組み合わせを含むモーションキャプチャセンサを含んでもよい。光学追跡センシング機構は、マーカ追跡またはマーカレス追跡を利用することができる。マーカ追跡では、実物体にマーカが装着されている。マーカは能動的および受動的赤外光源であってもよい。能動的赤外光は、赤外光の閃光を定期的または絶えず放射することができる赤外光源によって生成されてもよい。受動的赤外光は、赤外光を反射させて光源に戻す赤外光逆反射体を指してもよい。1つ以上のカメラは、絶えずマーカを求めるように構成されており、次いでサーバは、マーカから実物体およびその各種部分の位置を抽出するためのアルゴリズムを利用することができる。このアルゴリズムは、1つ以上のマーカがカメラの視野外にあるか一時的に妨害されている場合に欠損データに取り組まなければならない場合もある。マーカレス追跡では、カメラは実物体の画像を連続的に探してそれをサーバに格納されて計算されるリアルタイム3D仮想レプリカの画像と比較する。慣性追跡センシング機構は加速度計およびジャイロスコープなどの装置を利用することができ、これらは慣性測定ユニット(IMU)に一体化されていてもよい。加速度計は線形加速度を測定し、これを積分して速度を求め、次いで再度積分して最初の点に対するその位置を求めることができる。ジャイロスコープは角速度を測定し、これも積分して最初の点に対する角度位置を決定することができる。複数のデータ点の追跡の正確性を高めるために、光および慣性追跡センサとアルゴリズムとの組み合わせを用いるセンサフュージョン技術を用いてもよい。
【0023】
なおさらなる実施形態では、1つ以上の送受信機が通信信号をアンテナから受信し、かつアンテナに送信するために実装されていてもよい。好ましくは、送受信機はmmW送受信機である。5Gアンテナが用いられる実施形態では、mmW送受信機は、アンテナからmmW信号を受信し、かつそのデータをアンテナに送り戻すように構成されている。従って、センサフュージョン技術の別の実施形態では、ミリ波送受信機によって提供される光センサ、慣性センサおよび位置追跡およびミリ波ベースのアンテナによって提供される正確な追跡、低レイテンシおよび高QOS機能は、サブセンチメートルまたはサブミリメートルでの位置および向きの追跡を可能にしてもよく、これにより実物体のリアルタイム位置および向きを追跡する場合の正確性を高めてもよい。このセンシングフュージョン技術を可能にするために必要なセンシング機構およびソフトウェアを本明細書では追跡モジュールと呼ぶ場合がある。ユーザ装置は、1つ以上のIMUからの慣性追跡を融合する追跡モジュールならびにミリ波送受信機も備えていてもよい。さらなる実施形態では、センサフュージョンは、正確な位置および向きを提供するためにGNSS追跡信号から位置決めデータを受信し、かつこのデータをミリ波信号および慣性追跡により増強させるのをさらに可能にする。いくつかの実施形態では、追跡は、到着時間(TOA)、到来角(AOA)または当該技術分野で知られている他の追跡技術(例えば、視覚的イメージング、レーダ技術など)などの当該技術分野で知られているいくつかの技術を用いて行ってもよい。
【0024】
いくつかの実施形態では、ネットワークを介してサーバに接続されたセンシング機構を介して実物体をリアルタイム3D仮想レプリカと同期させることにより、リアルタイム3D仮想レプリカを向上させ、かつ対応する実物体のさらなる物理的性質を与えるためのリアルタイム3D仮想レプリカへのフィードバックがさらに提供される。他の実施形態では、この同期により、実物体対応物への仮想の向上または仮想の補償の実施がさらに可能になる。いくつかの実施形態では、仮想の向上または補償は仮想リソースを介して可能になり、仮想リソースはサーバにおいて利用可能な記憶および計算能力を指し、かつ仮想マシンの実装によりネットワークを介して実物体と共有することができる。他の実施形態では、仮想の向上または補償は仮想センサを介して可能になり、これは欠損した実データを補償するために使用することができる仮想的に利用可能なデータを利用することを指す。仮想センサは、実物体が実世界において他の物体認識を必要とすることなくそれらのリアルタイム3D仮想対応物を介して実世界においてそのような物体を認識することができるように、仮想世界の3D構造および実世界を表現するリアルタイム3D仮想レプリカのそれぞれの使用をさらに用いてもよい。
【0025】
例えば、ある場所から別の場所に材料を輸送するように構成された工場ロボットのシナリオにおいて、物理的視覚センサ(例えば、カメラまたは光センサ)がロボットにおいて故障または欠損している場合、ロボットは、壁、テーブルまたは他の実物体などのパーシステント仮想世界システムに既に位置している障害物を検出してそれに応じて回避するために、各アイテムの3D座標および3D構造を含む工場の仮想マップを用いることによって仮想視覚センサを使用してもよい。別の例では、ピザ配達ドローンは都市の仮想モデルを使用して所望の行先を見つけることができ、かつ現実の視覚センサのみを使用してパーシステント仮想世界システムに存在していなくてもよい物体を検出および回避してもよい。医学的用途の例では、医師は仮想もしくは拡張現実において手術室に実対応物を有する外科手術装置のリアルタイム3D仮想レプリカを遠隔で操作してもよい。他のスタッフ(例えば、医師、看護師など)は、外科手術を行う医師の仮想アバターを見ることができ、かつ必要に応じてその医師を助けることができる。正確性を高めるために、カメラは現実の患者および手術室をキャプチャしてもよく、その医師が手術室における状況をリアルタイムで見ることができるように、これを遠隔の医師に表示される仮想世界バージョンに一体化させてもよい。別の例では、実物体は特定のタスクのための計算もしくは記憶容量の不足を経験する場合があり、その要求をサーバに送信してもよく、次いでサーバが必要とされる計算および記憶容量を実物体に送信してもよい。
【0026】
他の例では、実物体は、監視カメラ、交通信号機、建物、街路、線路、家庭用電気製品またはネットワークに接続されていてもよい任意の他の装置を含む上記以外の他のIoT装置を指す。
【0027】
一実施形態では、少なくとも1つのリアルタイム3D仮想レプリカのユーザは人間のユーザ、人工知能ユーザまたはそれらの組み合わせである。別の実施形態では、物体オペレータは人間の物体オペレータ、人工知能の物体オペレータまたはそれらの組み合わせである。これらの実施形態では、リアルタイム3D仮想レプリカは、ユーザまたは物体オペレータの仮想ボットおよび仮想アバターをさらに含む。人間のアバターは人間のユーザの物理的特性を表示するように構成されていてもよく、あるいは異なる視覚的側面および特性と共に構成されていてもよい。
【0028】
いくつかの実施形態では、サーバは、複数のリアルタイム3D仮想レプリカの管理を同時かつ自立的に管理または支援して1つ以上の実物体の対応する管理を得るために、人工知能アルゴリズムおよびグループ分析を用いるように構成されていてもよい。この管理は、例えば実世界において物理的ボットに接続されていても接続されていなくてもよいサーバに格納されて計算される仮想ボットによって行ってもよい。別の実施形態では、ロボットは1つ以上の実物体を管理するように構成されていてもよく、これにより管理もしくは操作命令が、サーバに格納されて計算されるパーシステント仮想世界システムを介して実物体の対応するリアルタイム3D仮想レプリカにリアルタイムで伝達される。これらの実施形態では、サーバは、複数のリアルタイム3D仮想レプリカが1つ以上の目標に基づいて互いに連携および対話することを可能にするための人工知能アルゴリズムを用いるようにさらに構成されていてもよい。従って、実物体は実世界において互いに限定された通信を有していてもよいが、複数のリアルタイム3D仮想レプリカは仮想世界において密接に連携および対話し、それにより実世界において対応する対話および連携を生じさせてもよい。
【0029】
一実施形態によれば、リアルタイム3D仮想レプリカを介した実物体との自然なインタフェースおよび向上した体験を可能にするために、リアルタイム3D仮想レプリカの物理的特性および実世界座標は実物体のそれらに対応するように構成されている。その物理的特性としては、限定されるものではないが、寸法、テクスチャ、質量、体積、屈折率、硬さ、色、圧力および温度が挙げられる。リアルタイム3D仮想レプリカのそれぞれのデータは正確なデータ構造で構成されていてもよい。実世界の座標は実物体の現在の位置データ(例えば、3次元の座標)および向きデータ(例えば、3次元の角度)を含んでもよい。実物体に基づいてリアルタイム3D仮想レプリカの物理的特性および実世界座標を構成することは、実物体の各部分がリアルタイム3D仮想レプリカにおいて正確に表示され得るので、ユーザに表示されるような物体のリアリズムを高めるだけでなく、6自由度を有する物体の正確な制御を容易にするのにも役立ち得る。
【0030】
空間データの表現は、コンピュータグラフィックスのレンダリングおよび表示、可視化、立体モデリングを含むパーシステント仮想世界システムのプログラミングおよび関連領域における重要な問題である。パーシステント仮想世界システムおよびリアルタイム3D仮想レプリカのそれぞれを表示するために使用されるデータ構造は、限定されるものではないが、八分木、四分木、BSP木、スパースボクセルオクツリー(sparse voxel octree)、3次元配列、kD木、ポイントクラウド、ワイヤフレーム、境界表現(B-Rep)、空間領域構成(CSG、constructive solid geometry)木、二分木および六角形の構造のうちの1つ以上を含む。
【0031】
一実施形態によれば、リアルタイム3D仮想レプリカを介して実物体に、あるいは実物体を介してリアルタイム3D仮想レプリカに1つ以上の変化をもたらすことは、仮想と実の対の間で共有される複数のデータ点に修正を加えることを含む。いくつかの実施形態では、複数のデータ点に加えられる修正は、回転運動、並進運動、1つ以上の行動の選択、1つ以上の行動のプログラミング、1つ以上のパラメータの構成またはそれらの組み合わせのうちの1つ以上を含む。上記修正を実物体に直接加えてリアルタイム3D仮想レプリカにリアルタイムのグラウンドトルース経験効果をもたらしてもよい。同様に、上記修正をリアルタイム3D仮想レプリカに直接加えて実物体にリアルタイムのグラウンドトルース経験効果をもたらしてもよい。
【0032】
いくつかの実施形態では、リアルタイム3D仮想レプリカを用いて少なくとも1つの実物体を操作するには、3Dユーザインタフェースを介して行い得るリアルタイム3D仮想レプリカの事前の仮想の選択と、および選択されたリアルタイム3D仮想レプリカとそれに対応する実物体への選択命令の送信を必要とする。リアルタイム3D仮想レプリカを介して実物体に変化をもたらすための仮想の選択および操作命令は、いくつかの実施形態では、ユーザ装置によって提供される自然なユーザインタフェース(NUI)を介して提供されてもよい。例えばユーザは、音声認識、タッチ認識、顔認識、スタイラス認識、エアジェスチャ(air gesture)(例えば、手のポーズや動きおよび他の体/手足の動き/ポーズ)、頭および視線追跡、発声および発話、ならびに例えば視覚、音声、声、ポーズおよび/またはタッチデータに関する機械学習などにより、マウス、キーボード、遠隔制御などの入力装置に課される人工拘束を含まないNUIを介してリアルタイム3D仮想レプリカと対話してもよい。また他の実施形態では、リアルタイム3D仮想レプリカを介して実物体に変化をもたらすための操作命令は、マウス、キーボード、遠隔制御などの人工拘束を課す一般的なユーザインタフェースを介して提供されてもよい。いずれの場合も、ユーザとリアルタイム3D仮想レプリカとのリアルタイム3Dベース対話は、特に携帯電話、ラップトップ、モバイルゲームコンソール、ヘッドマウントディスプレイ、クロスコックピット無限遠ディスプレイ(cross cockpit collimated display)、ヘッドアップディスプレイおよびスマートコンタクトレンズなどの1つ以上のユーザ装置を介して提供されてもよい。さらに、ユーザインタフェースを介したリアルタイム3Dベース対話は、拡張現実、仮想現実、複合現実またはそれらの組み合わせのうちの1つ以上において提供されてもよい。
【0033】
いくつかの実施形態では、ユーザ装置および実物体は同じ装置を指してもよい。例えば陸上車両は、実ユーザまたは人工知能ユーザによって制御することができる実物体を指してもよい。但し上記車両は、ユーザに上記車両と対話させるか、コマンドを自動運転の人工知能システムに送信させるか、さらにはそのようなインタフェースを介して上記車両自体を制御させることができる拡張現実ユーザインタフェース(例えば、フロントガラスまたは窓の上にある)を備えてもよく、このようにして上記車をユーザ装置として機能させることができる。
【0034】
例示的な一実施形態では、実物体は、塗装、溶接、組み立て、包装、ラベリング、ピックアンドプレース(例えば、プリント回路基板のため)などのために使用される1つ以上の産業用ロボットなどの工場機械を指してもよい。別の例示的な実施形態では、実物体は、航空車両(例えば、飛行機、ドローン、ヘリコプタなど)、陸上車両(例えば、車、オートバイ、トラックなど)、および海上車両(例えば、ボート、貨物船、潜水艦など)を含む車両を指してもよい。産業用機械の双方向リアルタイム3Dベース対話および管理は、製造工場のいずれかの部分で生じている変化を監視することが可能でありながらもリアルタイムで複数の産業用機械を遠隔管理するのに有用であり得る。車両の双方向リアルタイム3Dベース対話および管理は、例えば救急車が交通渋滞を通り抜けることを求められる事故または自然災害の間などに交通機関を特定の方法で動かす必要がある場合に、車両の走行をより良好に制御するのに政府機関にとって有用であり得る。
【0035】
リアルタイム3D仮想レプリカおよび実物体の双方向インタラクティブ操作を可能にするための方法は、少なくとも1つの実物体の少なくとも1つのリアルタイム3D仮想レプリカが表現される構造を含むパーシステント仮想世界システムを設ける工程と、リアルタイム3D仮想レプリカモデルを向上および更新し、正確性を高め、かつ同期に基づいて特定の物理的性質をリアルタイム3D仮想レプリカに与えるためのフィードバックをリアルタイム3D仮想レプリカに送り戻す(IoT)センシング機構を介して、少なくとも1つのリアルタイム3D仮想レプリカを対応する少なくとも1つの実物体と同期させる工程と、実物体またはユーザ装置のいずれかを介して選択および/または操作命令入力を受信する工程と、選択および/または操作命令を処理および実行する工程と、パーシステント仮想世界システムを少なくとも1つの修正されたリアルタイム3D仮想レプリカにより更新し、かつ更新されたモデルを対応するユーザ装置に送信する工程とを含む。いくつかの実施形態では、上記処理のうちのいくつかを使用して実物体によって局所的に行われる処理をサポートしてもよい。
【0036】
上記概要は本開示の全ての態様の包括的なリストを含んでいない。本開示は、上に要約されている各種態様の全ての好適な組み合わせならびに以下の発明を実施するための形態に開示されているものおよび特に本出願と共に特許請求の範囲の箇所に示されているものにより実施することができる全てのシステムおよび方法を含むことが想定される。そのような組み合わせは、上記概要に具体的に列挙されていない特定の利点を有する。他の特徴および利点は添付の図面および以下に続く発明を実施するための形態から明らかになるであろう。
【0037】
上記態様および付随する利点の多くは、添付の図面と共に解釈される場合に、以下の発明を実施するための形態を参照することによってより良好に理解されるので、より容易に理解されるであろう。
【図面の簡単な説明】
【0038】
【
図1A】本開示の一実施形態に係る、リアルタイム3D仮想レプリカおよび実物体の双方向動作を可能にするシステムの概略図を示す。
【
図1B】本開示の一実施形態に係る、リアルタイム3D仮想レプリカおよび実物体の双方向動作を可能にするシステムの概略図を示す。
【
図2A】実世界と仮想世界システムとの関係の表現を詳述する、本開示の一実施形態に係るシステムの概略図を示す。
【
図2B】実世界と仮想世界システムとの関係の表現を詳述する、本開示の一実施形態に係るシステムの概略図を示す。
【
図3】ユーザ装置の各種操作構成要素の表現を詳述する、本開示の一実施形態に係るシステムの概略図を示す。
【
図4】実物体の各種操作構成要素の表現を詳述する、本開示の一実施形態に係るシステムの概略図を示す。
【
図5】本開示の一実施形態に係る、実物体の直接操作によりリアルタイム3D仮想レプリカを操作する場合のリアルタイム3D仮想レプリカおよび実物体の双方向動作を可能にする方法のフローチャートを示す。
【
図6】本開示の一実施形態に係る、リアルタイム3D仮想レプリカの操作により実物体を操作する場合のリアルタイム3D仮想レプリカおよび実物体の双方向動作を可能にする方法のフローチャートを示す。
【
図7】一実施形態に係るリアルタイム3D仮想レプリカおよび実物体の双方向動作を詳述する、本開示の一実施形態に係るサーバによって実行される方法のフローチャートを示す。
【発明を実施するための形態】
【0039】
以下の説明では、様々な実施形態を例示として示す図面を参照する。また、様々な実施形態をいくつかの例を参照することによって以下に説明する。当然のことながら、当該実施形態は特許請求されている主題の範囲から逸脱することなく設計および構造における変化を含んでもよい。
【0040】
図1A~
図1Bは、本開示の一実施形態に係る、リアルタイム3D仮想レプリカおよび実物体の双方向動作を可能にするシステム100a~bの概略図を示す。
図1Aでは、実物体102は、サーバ106に格納されて計算され、かつユーザ装置110のユーザインタフェース108を介して表示されるリアルタイム3D仮想レプリカ104に通信可能かつ永続的に接続されており、かつそれと完全に同期されている。実物体102、サーバ106およびユーザ装置110はネットワーク112を介して通信可能に接続されている。
【0041】
図1Aのシステム100aの例示的な実施形態では、ユーザ114はユーザ装置110を用いて、リアルタイム3D仮想レプリカ104を介した実物体102のリアルタイムおよび低レイテンシの遠隔の仮想の選択および操作を可能にしてもよい。ユーザ114は、人間のユーザ(例えば、遠隔製造工場のオペレータまたは管理者、遠隔車両オペレータ、自宅所有者、都市管理者など)または人工知能(AI)ユーザ(例えば、実物体102に変化をもたらすためにリアルタイム3D仮想レプリカ104を自立的に動作させるために人工知能アルゴリズムを介して構成および訓練されたソフトウェアおよび/またはハードウェア)であってもよい。リアルタイム3D仮想レプリカ104に対する1つ以上の変化を選択して変化をもたらしたら、ユーザ装置110は選択および操作命令をサーバ106に送信し、サーバ106はエフェクタに所望の効果をもたらすために、選択および操作命令をリアルタイムで処理して当該命令を実物体102のそれぞれのアクチュエータに伝送してもよい。エフェクタは、ロボットの脚、車輪、腕または指などの実物体102の環境に影響を与えるあらゆる装置を指す。アクチュエータはエフェクタがアクションを実行するのを可能にする機構であり、電気モータ、油圧シリンダ、空気圧シリンダまたはそれらの組み合わせが挙げられる。いくつの状況では例えば、実物体102が多くの数の関節により多自由度を有する場合に関節ごとに所望の自由度を与え得る所要の回転および並進運動を可能にするために、1つのアクチュエータを実物体102の各関節に配置することが必要となる場合がある。処理された命令はユーザ装置110にも送信され、この装置は、更新されたリアルタイム3D仮想レプリカ104をユーザ装置110上に適切に表現するために必要なメディアコンテンツに対する軽い演算を行うことのみを必要としてもよい。
【0042】
図1Aのシステム100aの別の例示的な実施形態では、物体オペレータ116(例えば産業用機械オペレータ)は実物体102を直接操作して、サーバ106に格納されて計算されるリアルタイム3D仮想レプリカ104のリアルタイムかつ低レイテンシの遠隔更新を可能にしてもよい。物体オペレータ116は人間の物体オペレータまたはAI物体オペレータであってもよい。実物体102の直接操作を可能にするユーザインタフェースは実物体102の性質によって決まってもよく、1つ以上の画面、ボタン、ペダルまたは他の制御機構が挙げられる。実物体102に1つ以上の変化をもたらしたら、実物体102は命令をリアルタイムでサーバ106と共有する。実物体102は当該命令を同時に処理および実行する。サーバ106はその後に、実物体102によって行われたアクションと同じ方法で、リアルタイム3D仮想レプリカを更新するために必要とされる操作命令をリアルタイムで処理してもよい。いくつかの実施形態では、サーバ106によって行われる処理は実物体102によって行われる処理に相補的であり、特定の難タスク処理を行うための実物体102へのサポートとして機能する。サーバ106はリアルタイム3D仮想レプリカ104をそれに応じて更新し、かつ更新されたリアルタイム3D仮想レプリカ104をユーザ装置110に送信してもよい。いくつかの実施形態では、ユーザ装置110が更新されたリアルタイム3D仮想レプリカ104をユーザ装置110上に表現するために必要な軽い演算を行うことのみを必要とし得るように、最も重い負荷処理はサーバ106において行われる。
【0043】
一実施形態によれば、リアルタイム3D仮想レプリカ104を生成し、サーバ106に格納し計算した後に、実物体102に取り付けられ、或いは実物体102に近接して配置され、またはそれらの組合せが施されたセンシング機構の組合せによって、リアルタイム3D仮想レプリカ104を実物体102と同期させてもよい。センシング機構のいくつかは実物体102のエフェクタ、関節、コネクタおよびアクチュエータに取り付けられていてもよい。センシング機構の組み合わせは、ネットワーク112を介して実物体102とリアルタイム3D仮想レプリカ104との間で共有され得る複数のデータ点を提供してもよい。共有されるデータ点は、実物体102の正確な追跡と共に実物体102とリアルタイム3D仮想レプリカ104との正確な同期を可能にしてもよい。
【0044】
一実施形態によれば、自然なユーザインタフェース108およびリアルタイム3D仮想レプリカ104を介した実物体102との向上した体験を可能にするために、リアルタイム3D仮想レプリカ104の実世界の位置および向きのデータと共にその物理的特性は、共有されるデータ点を介して実物体102のそれらに対応するように構成されている。実物体102に基づいてリアルタイム3D仮想レプリカ104の物理的特性ならびに実世界の位置および向きのデータを構成することは、ユーザ114に表示される物体のリアリズムを高めるだけでなく、リアルタイム3D仮想レプリカを介した6自由度を有する物体の正確な制御も可能にするのに役立ち得、これはリアルタイム3D仮想レプリカを介した実物体の生き写しの操作として反映され得る。
【0045】
一実施形態によれば、リアルタイム3D仮想レプリカ104を介して実物体102に、あるいはリアルタイム3D仮想レプリカ104を介して実物体102に1つ以上の変化をもたらすことは、リアルタイム3D仮想レプリカ104と実物体102との間で共有される複数のデータ点に対する修正を加えることを含む。いくつかの実施形態では、複数のデータ点に加えられる修正は、回転運動、並進運動、1つ以上の行動の選択、1つ以上の行動のプログラミング、1つ以上のパラメータの構成またはそれらの組み合わせのうちの1つ以上をさらに含む。上記修正を実物体102に直接加えて、リアルタイム3D仮想レプリカ104にリアルタイムのグラウンドトルース経験効果をもたらしてもよい。同様に、上記修正をリアルタイム3D仮想レプリカ104に直接加えて、実物体102にもリアルタイムのグラウンドトルース経験効果をもたらしてもよい。
【0046】
いくつかの実施形態では、少なくとも1つのリアルタイム3D仮想レプリカ104または対応する少なくとも1つの実物体102を操作することにより、仮想と実の対に影響を与えるコンテキストのデータに変化をもたらし、コンテキストのデータにおけるそのような変化は、リアルタイム3D仮想レプリカ104と対応する少なくとも1つの実物体102との関係に影響を与え得る。例えば実物体102またはその仮想対応物を介してエアコンの温度を調節することは、エアコンの周囲の温度ならびにその環境内にある実物体102に直接影響を与える。別の例では、工場内のリフトトラックにあるエリアから別のエリアに重い荷物を輸送するように指示することにより、リフトトラックのために道を空けるように途中にある他の物体を誘導してもよい。別の例では、信号が緑色に変わった時に、信号の観点からコンテキストの一部である他の車両は信号が変わった結果として自動的に動き始めてもよい。
【0047】
いくつかの実施形態では、少なくとも1つの実物体102をリアルタイム3D仮想レプリカ104を介して操作することは、3Dユーザインタフェースを介して可能になるリアルタイム3D仮想レプリカ104の事前の仮想の選択と、選択命令を選択されたリアルタイム3D仮想レプリカ104および対応する実物体102に送信することとを必要とする。リアルタイム3D仮想レプリカ104を介して実物体102に変化をもたらすための仮想の選択および操作命令は、いくつかの実施形態では、ユーザ装置110に実装されている自然なユーザインタフェース108(NUI)を介して提供されてもよい。例えばユーザは、音声認識、タッチ認識、顔認識、スタイラス認識、エアジェスチャ(例えば、手のポーズや動きおよび他の体/手足の動き/ポーズ)、頭および視線追跡、発声および発話、ならびに例えば視覚、音声、声、ポーズおよび/またはタッチデータに関する機械学習などにより、マウス、キーボード、遠隔制御などの入力装置によって課される人工拘束を含まないNUIを介してリアルタイム3D仮想レプリカ104と対話してもよい。また他の実施形態では、リアルタイム3D仮想レプリカ104を介して実物体102に変化をもたらすための操作命令はマウス、キーボード、遠隔制御などの人工拘束を課す一般的なユーザインタフェースを介して提供されてもよい。いずれの場合も、ユーザとリアルタイム3D仮想レプリカ104とのリアルタイム3Dベース対話は、特に携帯電話、ラップトップ、モバイルゲームコンソール、ヘッドマウントディスプレイ、クロスコックピット無限遠ディスプレイ、ヘッドアップディスプレイおよびスマートコンタクトレンズなどの1つ以上のユーザ装置110を介して提供されてもよい。さらに、ユーザインタフェース108を介したリアルタイム3Dベース対話は、拡張現実、仮想現実、複合現実またはそれらの組み合わせのうちの1つ以上において提供されてもよい。
【0048】
一実施形態によれば、リアルタイム3D仮想レプリカ104は、サーバ106に格納されて計算されるより広範囲のパーシステント仮想世界システム118の一部であり、パーシステント仮想世界システム106は、複数の他のリアルタイム3D仮想レプリカ104が表現されるデータ構造を含む。従って、実物体102とリアルタイム3D仮想レプリカ104との間またはリアルタイム3D仮想レプリカ104と実物体102との間のあらゆる双方向性コマンドは、パーシステント仮想世界システム118を通り抜ける。
【0049】
パーシステント仮想世界システム118およびリアルタイム3D仮想レプリカ104のそれぞれを表現するために使用されるデータ構造は、限定されるものではないが、八分木、四分木、BSP木、スパースボクセルオクツリー、3次元配列、kD木、ポイントクラウド、ワイヤフレーム、境界表現(B-Rep)、CSG(constructive solid geometry)木、二分木および六角形の構造のうちの1つ以上を含む。データ構造は、パーシステント仮想世界システムにおいて仮想物体のジオメトリのそれぞれのデータを正確かつ効率的に表現する機能を果たす。データ構造の正しい選択は、データの原点またはレンダリング中に求められるジオメトリの精度、レンダリングがリアルタイムで行われたものであるか事前にレンダリングされたものであるか、レンダリングはクラウドサーバ、ユーザ装置またはそれらの組み合わせのどれを介して行われたか、パーシステント仮想世界システムが用いられる具体的な用途(例えば、より高いレベルの定義が他の種類の用途よりも医学的もしくは科学的用途のために必要とされ得る)、サーバおよびユーザ装置のメモリ容量および従って所望のメモリ消費などによって決まる。
【0050】
いくつかの実施形態では、ネットワーク112は例えばセルラーネットワークであってもよく、かつグローバル進化型高速データレート(EDGE)、汎用パケット無線システム(GPRS)、汎ヨーロッパデジタル移動通信システム(GSM)、インターネットプロトコルマルチメディアサブシステム(IMS)、ユニバーサル・モバイル・テレコミュニケーション・システム(UMTS)など、ならびにあらゆる他の好適な無線媒体、例えば、マイクロ波アクセス(WiMAX)、ロング・ターム・エボリューション(LTE)ネットワーク、符号分割多重アクセス(CDMA)、広帯域符号分割多元接続(WCDMA)、ワイヤレス・フィディリティー(WiFi)、衛星、モバイルアドホックネットワーク(MANET)などの各種技術を用いてもよい。
【0051】
一実施形態によれば、ネットワーク112は、実物体102間およびサーバとのモバイル通信を可能にする電波を送信および受信するように構成されたアンテナを備えていてもよい。アンテナは有線もしくは無線手段を介して計算センタに接続されていてもよい。他の実施形態では、アンテナは計算センタの中および/または計算センタに近いエリアに設けられている。いくつかの実施形態では、屋外に位置しているユーザ装置110および/または実物体102に情報を提供するために、アンテナはミリ波(ミリ波)ベースのアンテナシステムまたはミリ波ベースのアンテナとサブ6GHzアンテナシステムとの組み合わせ(本明細書ではまとめて5Gアンテナという)を含んでもよい。他の実施形態では、アンテナは4Gアンテナなどの他の種類のアンテナを含んでもよく、あるいは5Gアンテナシステムのためのサポートアンテナとして使用されてもよい。屋内に位置しているユーザ装置110に情報を提供するためにアンテナが使用される実施形態では、アンテナは好ましくは限定されるものではないがデータを16GHzで提供するWi-Fiを使用してもよい。
【0052】
他の実施形態では、ユーザ装置110の位置決めのために、GPS、BDS、グロナス、QZSS、ガリレオおよびIRNSSなどの全地球的航法衛星システム(GNSS)が使用されてもよい。十分な数の衛星からの信号ならびに三角形分割および三辺測量などの技術を用いて、GNSSはユーザ装置110の位置、速度、高度および時間を計算することができる。好ましい実施形態では、外部位置決めシステムは、位置決めシステムに使用するための既存のセルラー通信ネットワークのアーキテクチャ(5Gを含む)を介して支援型GNSS(AGNSS)によって増強される。他の実施形態では、AGNSS追跡システムは4Gセルラー通信ネットワーク位置決めシステムによってさらにサポートされる。屋内実施形態では、GNSSは、好ましくは限定されるものではないがデータを16GHzで提供するWi-Fiなどの無線ローカルエリアネットワークを介してさらに増強される。他の実施形態では、GNSSはディファレンシャルGPS(DGPS)、静止衛星型衛星航法補強システム(SBAS)、リアルタイムキネマティック(RTK)システムなどの当該技術分野で知られている他の技術を介して増強される。いくつかの実施形態では、ユーザ装置110の追跡は、AGNSSとユーザ装置110内の慣性センサとの組み合わせによって実行される。
【0053】
図1Bは、人間のオペレータ116a、人工知能(AI)オペレータ116bまたはそれらの組み合わせを含む複数の物体オペレータ116が1つ以上の陸地物体102a(例えば、車両)または飛行物体102b(例えば、ドローンまたは飛行機)などの少なくとも1つの実物体102を操作するシステム100bの例示的な実施形態を示す。少なくとも1つの実物体102を操作する物体オペレータ116は、実物体102上の好適なインタフェースを利用して前記実物体102に操作命令を送信する。この操作命令はパーシステント仮想世界システム118を介しネットワーク112を介してそれぞれの1つ以上のリアルタイム3D仮想レプリカ104に送信され、前記1つ以上のそれぞれのリアルタイム3D仮想レプリカ104を連続的かつリアルタイムで更新し、かつ適用可能であれば、それぞれの1つ以上のリアルタイム3D仮想レプリカ104の周りのコンテキストデータに変化をもたらす(例えば、他のリアルタイム3D仮想レプリカ104に影響を与える変化またはイベントをトリガーする)。人間のユーザ114a、AIユーザ114bまたはそれらの組み合わせを含むユーザ114は、ネットワーク112を介してパーシステント仮想世界システム118に接続されたユーザ装置110を介してそれぞれの1つ以上のリアルタイム3D仮想レプリカ104の連続的かつリアルタイムの更新を観察することができる。
【0054】
同様にユーザ114は、ユーザ装置110を介して1つ以上のリアルタイム3D仮想レプリカ104を操作してもよい。これらの操作命令をそれぞれパーシステント仮想世界システム118を介しネットワーク112を介して対応する1つ以上の実物体102にリアルタイムで伝達することができる。物体オペレータ116は実物体102の動作の連続的かつリアルタイムの更新を観察することができる。
図1Bの例示において理解されるように、複数のユーザ114は、限定されるものではないが、VR/ARヘッドマウントディスプレイ110a、携帯電話110b、ラップトップ110c、スマートコンタクトレンズ110dおよびスマート車両110eなどのいくつかのユーザ装置110を介してリアルタイム3D仮想レプリカ104における変化を同時に見る。
【0055】
例えば、人間のオペレータ116aは車両(例えば、陸上物体102a)を操縦し、パーシステント仮想世界システム118を介しネットワーク112を介して上記車両のそれぞれのリアルタイム3D仮想レプリカ104にコマンドを送信することができる。パーシステント仮想世界システム118の1人以上のユーザ114は、そのような変化がそれぞれの1つ以上のリアルタイム3D仮想レプリカ104を介して生じる際にそれらを見ることができる。いくつかの実施形態では、少なくとも1つのリアルタイム3D仮想レプリカ104はユーザの仮想ボットおよびアバターをさらに含んでもよい。仮想ボットは、複数のリアルタイム3D仮想レプリカ104を同時かつ自立的に管理するために必要な人工知能アルゴリズムおよびグループ分析を用いることによって、人間または人間のような行動を有する自動化エージェントとして応答するためのAIユーザ114bとして構成されていてもよく、ここでは1つ以上のリアルタイム3D仮想レプリカ104を管理することにより、対応する実物体102の対応する管理が得られる。仮想ボットは、実世界において物理的ボットに接続されていても接続されていなくてもよい。人間のアバターは人間のユーザの物理的特性を表現するように構成されていてもよく、あるいは異なる視覚的側面および特性と共に構成されていてもよい。別の実施形態では、ロボットまたは機械などの人工知能装置あるいは人工知能プログラムは、1つ以上の実物体102を管理するためのAI物体オペレータ116bとして構成されていてもよく、それにより管理もしくは操作命令は、パーシステント仮想世界システム118を介して実物体102の対応するリアルタイム3D仮想レプリカ104にリアルタイムで伝達される。従って人工知能装置またはプログラムは、1つ以上の実物体102のAI物体オペレータ116bとして機能してもよい。
【0056】
いくつかの実施形態では、スマート車両110eの例により図示されているとおり、ユーザ装置110および実物体116は場合によっては同じ装置を指してもよい。例えばスマート車両110eは、実ユーザまたは人工知能ユーザ114によって制御することができる実物体を指してもよい。但し、スマート車両110eは、ユーザにその車両と対話させるか、コマンドを自動運転の人工知能システムに送信させるか、さらには、そのようなインタフェースを介して上記車両自体を制御させることができる拡張現実ユーザインタフェース(例えば、フロントガラスまたは窓の上にある)を備えていてもよく、このようにしてスマート車両110eをユーザ装置110として機能させる。
【0057】
いくつかの実施形態では、複数のリアルタイム3D仮想レプリカ104は、1つ以上の目標に基づいて互いに連携および対話するために人工知能アルゴリズムを用いてもよい。従って、実物体102は実世界では互いに限定された通信を有していてもよいが、複数のリアルタイム3D仮想レプリカ104はパーシステント仮想世界システム118において密接に連携および対話し、実世界において対応する対話および連携を生じさせてもよい。
【0058】
図2A~
図2Bは、実世界と仮想世界システムとの関係の表現を詳述する、本開示の一実施形態に係るシステム200a~bの概略図を示す。
図2A~
図2Bのいくつかの要素は
図1A~
図1Bの要素と同様である場合があり、従って同じまたは同様の参照符号が利用されている場合がある。
【0059】
図2Aのシステム200aを参照すると、1つ以上のサーバ106は、少なくともプロセッサ202およびメモリ204を備えるハードウェアおよびソフトウェアとして提供されてもよい。プロセッサ202はメモリ204に含まれている命令を実行するように構成されていてもよく、メモリ204は命令およびデータを格納するようにさらに構成されている。
【0060】
プロセッサ202は、メモリ204に含まれている命令およびデータにアクセスしてそれらを実行するように構成されていてもよく、この実行は実物体102またはユーザ装置110のいずれかに由来する操作命令のリアルタイム処理を含む。例えばプロセッサ202は、対応するリアルタイム3D仮想レプリカ104を介した少なくとも1つの実物体102の管理、実物体102のシミュレーション、3D構造処理、グループ分析、レンダリングおよびリアルタイム3D仮想レプリカ104を介した実物体102の仮想の向上または仮想の補償の実行のために、人工知能アルゴリズムを実行するように構成されていてもよい。プロセッサ202は、操作命令に対して運動学的計算を実行することにより実物体102およびリアルタイム3D仮想レプリカ104の双方向インタラクティブ操作をさらに可能にしてもよい。一実施形態では、プロセッサ202による操作命令の処理は実物体102によって行われる処理に相補的であり、特定の難タスク処理動作を行うための実物体102に対するサポートとして機能する。他の実施形態では、プロセッサ202は、ユーザに伝送されるビデオおよび音声ストリームを含むメディアコンテンツのレンダリングをさらに行う。プロセッサ202は、ユーザが見ている位置、向きおよび/または視野角に基づいてユーザ装置に送られる2つ以上のメディアストリームをさらに決定してもよい。プロセッサ202は、単一の専用プロセッサ、単一の共有プロセッサまたは複数の個々のプロセッサを指してもよく、それらのうちのいくつかは共有されていてもよい。さらに、「プロセッサ」という用語の明示的使用は、ソフトウェアを実行することができるハードウェアを指すように排他的に解釈されるべきではなく、限定されるものではないが、デジタル信号プロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラム可能なゲートアレイ(FPGA)、マイクロプロセッサ、マイクロコントローラなどを暗黙的に含んでもよい。
【0061】
メモリ204は、プロセッサ202によって実行することができる命令およびデータを含むプロセッサ202によってアクセス可能な情報を格納してもよい。メモリ204は、プロセッサ202によってアクセス可能な情報を格納することができる任意の好適な種類であってもよく、ハードドライブ、メモリカード、フラッシュドライブ、ROM、RAM、DVDまたは他の光ディスクなどのコンピュータ可読媒体または電子装置の助けを借りて読み込むことができるデータを格納する他の媒体ならびに他の書込み可能かつ読取り専用メモリが挙げられる。メモリ204はパーシステント記憶装置に加えて一時記憶装置を含んでもよい。命令はプロセッサ202によって直接的(例えば、機械コード)または間接的(例えば、スクリプト)に実行されてもよい。当該命令はプロセッサ202による直接的処理のために目的コード形式で、あるいは要求に応じて解釈されるか前もってコンパイルされていてもよい独立したソースコードモジュールのスクリプトまたはコレクションを含む任意の他のコンピュータ言語で格納されていてもよい。データは当該命令に従いプロセッサ202によって検索、格納および修正されてもよい。データは例えば、コンピュータレジスタ、複数の異なるフィールドおよびレコードを有するテーブルとしてのリレーショナルデータベース、XMLドキュメントまたはフラットファイルに格納されていてもよい。またデータは任意のコンピュータ可読形式でフォーマットされていてもよい。メモリ204は、コンテンツエディタ206およびパーシステント仮想世界システム118を格納してもよい。コンテンツエディタ206は、ユーザが実物体102のリアルタイム3D仮想レプリカ104ならびに実物体102の周囲に位置し得る物体(例えば、他の機械、テーブル、壁など)などのパーシステント仮想世界システム118に含まれ得る他の物体を作成および編集することを可能にする。リアルタイム3D仮想レプリカ104は、それらを他の実物体102に関する位置および向きを含む実世界位置において利用可能にさせるためにパーシステント仮想世界システム118にさらに格納されていてもよい。パーシステント仮想世界システム118は、実世界の位置および向き、実世界物体のスケール、寸法、物理的特性および3D構造を含む仮想バージョンの実世界を含んでもよい。但し、パーシステント仮想世界システム118は、純粋に仮想である物体などの実世界に存在し得ないコンピュータで生成される仮想物体も含んでもよい。
【0062】
いくつかの実施形態では、メモリ204はパーシステント仮想世界システム118におけるイベントをさらに格納してもよい。イベントを格納することにより、例えば出来事検出モジュール(図示せず)はさらなる見直しのためにイベントを検出および再現することができる。出来事はイベントの典型的なフローにおける途絶を指す。イベントの典型的なフローはパラメータの範囲または特性の中で決定されてもよい。さらなる実施形態では、出来事はサーバ106に実装されているルールベースシステムを介して特定される。他の実施形態では、出来事はサーバ106に実装されている機械学習アルゴリズムを介して特定される。例えば出来事は車両衝突を指してもよく、故にパーシステント仮想世界システム118は実物体に生じる衝突を即座に検出することができ、これは例えば司法調査を支援するために後で再現することができる。
【0063】
少なくとも1つのリアルタイム3D仮想レプリカ104は、実物体102の位置および向きのデータ212を含むデータ点208と共に実物体102の物理的性質210を含む実物体102と共有される複数のデータ点208を含んでもよい。データ点208は、少なくとも1つの実物体102または少なくとも1つの対応するリアルタイム3D仮想レプリカ104のいずれかを介して送信される操作命令ならびに実と仮想の対のいずれかで生じ得るあらゆる変化の一定の追跡および同期を可能にする。データ点208は、少なくとも1つの実物体102の上またはそれに近接して装着された、ハードウェアおよびソフトウェアを備えたセンシング機構を介して決定されてもよい。
【0064】
パーシステント仮想世界システム118のリアルタイム3D仮想レプリカ104の物理的特性210としては、限定されるものではないが、寸法、形状、テクスチャ、質量、体積、屈折率、硬さ、色、圧力および温度が挙げられる。物理的特性210は、コンピュータ支援設計(CAD)ソフトウェアアプリケーションであってもよいコンテンツエディタ206を介して編集されてもよい。実物体102または他の物体などの実世界物体を3次元物体に変換するためのモデル化技術は、当該技術分野で知られている技術に基づいていてもよい。例えば機械製造業者は、パーシステント仮想世界システム118に一体化させることができる当該機械の既に存在しているデジタルCADモデルを提供してもよい。他の実施形態では、合成開口レーダ、実開口レーダ、光検出と測距(LIDAR)、逆合成開口レーダ、モノパルスレーダなどのレーダイメージングおよび他の種類のイメージング技術を使用して実世界物体をマップおよびモデル化した後に、それらをパーシステント仮想世界システム118に一体化させてもよい。他の実施形態では、寸法、形状、テクスチャ、体積、温度および色などの実物体102の1つ以上の物理的性質は、センシング機構を介して直接得て、コンテンツエディタ206を介して編集してもよい。
【0065】
プロセッサ202によって行われるリアルタイム処理は、リアルタイム3D仮想レプリカを介して実物体102を操作する場合に受信される操作命令および実物体102を介してリアルタイム3D仮想レプリカを操作する場合に受信される操作命令に対する運動学的計算を含む。リアルタイム3D仮想レプリカ104を更新するために使用することができる実物体102から受信された操作命令を処理する場合、例えば好適なインタフェースを介して機械腕を動かす場合に、リアルタイム3D仮想レプリカ104において実物体102の動きを再現するために運動学的計算と組み合わせたモーションキャプチャ技術を使用してもよい。
【0066】
モーションキャプチャ技術は、様々な光センシング機構、慣性センシング機構またはそれらの組み合わせを利用する。光学追跡センシング機構は、マーカ追跡またはマーカレス追跡を利用することができる。マーカ追跡では、実物体102にマーカが装着されている。マーカは能動的および受動的赤外光源であってもよい。能動的赤外光は、赤外光の閃光を定期的または絶えず放射し得る赤外光源により生成されてもよい。受動的赤外光は、赤外光を反射させて光源に戻す赤外光逆反射体を指してもよい。1つ以上のカメラは、マーカを絶えず探すように構成されており、次いでプロセッサ202はマーカから実物体102の位置および各種部分を抽出するためのアルゴリズムを利用することができる。このアルゴリズムは、1つ以上のマーカがカメラの視野外にあるか一時的に妨害されている場合に欠損データに取り組まなければならない場合もある。マーカレス追跡では、カメラは実物体102などの標的の画像を連続的に検索し、かつそれをサーバ106に含まれているリアルタイム3D仮想レプリカ104の画像と比較する。慣性追跡センシング機構は加速度計およびジャイロスコープなどの装置を利用することができ、これらは慣性測定ユニット(IMU)に一体化されていてもよい。加速度計は線形加速度を測定し、これを積分して速度を求め、次いで再度積分して最初の点に対する位置を求める。ジャイロスコープは角速度を測定し、これも積分して最初の点に対する角度位置を決定することができる。
【0067】
いくつかの実施形態では、サーバ106を介して実物体をリアルタイム3D仮想レプリカと同期させることにより、プロセッサ202による実物体102の仮想の向上または仮想の補償の実行が可能になる。いくつかの実施形態では、仮想の向上または補償は、サーバ106において利用可能な記憶および計算能力を指す仮想リソースを介して可能になり、これは仮想マシンの実装によりネットワーク112を介して実物体102と共有することができる。他の実施形態では、仮想の向上または補償は仮想センサを介して可能になり、これは欠損した実データを補償するために使用することができる仮想的に利用可能なデータを利用することを指す。仮想センサは、実物体102が実世界における他の物体認識を必要とすることなくそれらのリアルタイム3D仮想レプリカ104を介して実世界においてそのような物体を認識することができるように、仮想世界の3D構造および実世界を表現するリアルタイム3D仮想レプリカ104のそれぞれの使用をさらに用いてもよい。一実施形態では、複数のデータ点208の追跡の正確性を高めるために、光および慣性追跡センサとアルゴリズムとの組み合わせを用いるセンサフュージョン技術が用いられてもよい。なおさらなる実施形態では、1つ以上の送受信機が通信信号をアンテナから受信し、かつアンテナに送信するために実装されていてもよい。好ましくは、送受信機はミリ波送受信機である。ミリ波アンテナが用いられる実施形態では、ミリ波送受信機は、アンテナからミリ波信号を受信し、かつそのデータをアンテナに送り戻すように構成されている。従って、センサフュージョン技術の別の実施形態では、ミリ波送受信機によって提供される光センサ、慣性センサおよび位置追跡ならびにミリ波ベースのアンテナによって提供される正確な追跡、低レイテンシおよび高QOS機能は、サブセンチメートルまたはサブミリメートルでの位置および向きの追跡を可能にしてもよく、これにより実物体102のリアルタイム位置および向きを追跡する際の正確性を高めてもよい。さらなる実施形態では、センサフュージョンは、正確な位置および向きを提供するために、位置決めデータをGNSS追跡信号から受信し、かつこのデータをミリ波信号および慣性追跡を用いて増強するのをさらに可能にする。いくつかの実施形態では、到着時間(TOA)、到来角(AOA)などの当該技術分野で知られているいくつかの技術または当該技術分野で知られている他の追跡技術(例えば、視覚的イメージング、レーダ技術など)を用いて追跡を行ってもよい。
【0068】
実物体102を介してリアルタイム3D仮想レプリカ104を操作する場合、プロセッサ202によって行われる処理は、実物体102由来の入力を可能にし、サーバ106においてリアルタイム3D仮想レプリカを更新し、かつその入力をその後に更新されたリアルタイム3D仮想レプリカ104を表示するためにユーザ装置110に流される出力ビデオおよび任意に音声ストリームに変換するための各種動作をさらに含んでもよい。実物体102で行われる操作からの入力を受信する場合、プロセッサ202は、音およびビデオの圧縮および組み立てを含むメディアコンテンツの前処理動作を行ってもよい。音およびビデオ圧縮は音声コーデックおよびビデオコーデックをそれぞれ用いることによって行ってもよく、これはその後にコンテナビットストリームに組み立てられる。音声コーデックは、音声出力を受信してWMA、AACまたはVorbisなどの音声データストリームを生成することができる任意のエンコード技術であってもよい。いくつかの実施形態では、音声コーデックは音声ストリームの暗号化をサポートしてもよい。同様に、ビデオコーデックは、ビデオ出力を受信してWMVまたはMPEG-4などのビデオデータストリームを生成することができる任意のエンコード技術であってもよい。いくつかの実施形態では、ビデオコーデックはビデオストリームの暗号化をサポートしてもよい。音声またはビデオストリームあるいは好ましくは関連する入力データストリームの暗号化をサポートするか得られた音声もしくはビデオストリームまたは別のモダリティのための任意のストリームのその後の暗号化を可能にする他のモダリティのための任意のストリームを生成するための他のコーデックも使用されてもよい。コンテナビットストリームは、ASFまたはISMAなどの1つ以上のデータストリームに対応するように構成された任意の好適なビットストリームであってもよい。但し、好ましくは得られたコンテナビットストリームのその後の暗号化を可能にする他の好適なコンテナビットストリームも使用されてもよい。
【0069】
プロセッサ202は、ユーザ装置110が見ている位置、向きおよび/または視野角に基づいてユーザ装置110に送られる2つ以上のメディアストリームをさらに決定し、かつメディアストリームのレンダリングタスクを行ってもよい。2つ以上のメディアストリームを決定した後、プロセッサ202は、処理されたメディアコンテンツをユーザに適切に表現するために、ユーザ装置110が処理されたメディアコンテンツに対して軽い計算タスクを行うことのみを必要とし得る方法でメディアレンダリングを行ってもよい。
【0070】
メディアコンテンツのレンダリングは、限定されるものではないが、2つ以上のメディアストリームのワーピング、スティッチングおよび内挿などの、実物体102を表現するメディアの2つ以上の写真のようにリアルな3Dメディアストリームを生成することができる各種レンダリング技術を含んでもよい。レンダリングは、入力ストリームデータに基づくより複雑な再構成プロセスを含んでもよい。例えばレンダリングは、スティッチング、ワーピング、内挿および外挿などの標準的な画像再構成技術の組み合わせに依存してもよい。例えば外挿は、メディアデータ内のブランクまたは穴を埋めるために、利用可能なメディアストリームに基づく情報が全く利用可能でないか限定された(視覚的)情報のみが利用可能である領域において必要とされる場合がある。但し当然のことながら、再構成プロセスはコンピュータビジョン技術に限定されず、場面に関する空間データをさらに考慮してもよく、このデータは、再構築された3Dジオメトリ情報、マテリアルに関するパラメータ、およびキャプチャされた場面における光の流れに対応し得る光照射野などのうちの1つ以上を任意の組み合わせで含んでもよい。空間データを使用して、キャプチャされた場面を3Dレンダリング技術を用いて再レンダリングしてもよい。1つ以上の実施形態では、出力ストリームのレンダリングは、異なる視点から撮影された同じ場面のメディアストリームの一連の画像またはフレームから出力ストリームの画像またはフレームを再作成するために適用することができるディープラーニング技術および/またはニューラルネットワークを使用することを含んでもよい。これは、場面の少なくとも一部が完全または全詳細にキャプチャされていないとしても、出力ストリームの複雑な再構成および生成を可能にしてもよい。
【0071】
いくつかの実施形態では、プロセッサ202は、アプリケーションからの2次元の視覚出力データに限定されず、例えば当該アプリケーションおよび関連するコマンドの立体出力を受信して2つのビデオストリームまたは1つのインタレースビデオストリームを生成し、ユーザの各それぞれの目に視覚データを運ぶことができる。同様にプロセッサ202は、多次元のマルチモーダルデータのために空間的音データならびにデータストリームを運ぶ音声ストリームも生成可能であってもよい。
【0072】
一実施形態では、複数のメディアストリームは、出力ストリームの品質が決定された凝視方向などに基づく視聴者が実際に見ている位置またはフレームの中心に焦点が当てられるようにさらに処理されてもよい。さらにメディアストリームは、視聴者が次に見ようとしている場所の予測および事前のこの領域の再構築などの、予測される動きの再構成を可能にするかメディアストリームを外挿するために処理されてもよい。さらに、目の焦点距離(例えば、瞳孔の相対的位置および向きによって決定される)を考慮に入れて出力ストリームの品質および忠実性をさらに高めるさらなる処理を施してもよい。非限定的な例は、視聴者に対して焦点が外れていると決定することができる場面のそれらの部分の焦点距離依存性シフトおよび視差効果ならびにデフォーカスぼかし処理である。
【0073】
実物体102を操作するためにユーザ装置110を介してリアルタイム3D仮想レプリカから受信された操作命令を処理する場合、プロセッサ202は、実物体102の性質に応じて利用可能なアクションに基づいて多くの所定の処理命令にアクセスしてもよく、その操作命令を関連する処理命令と突き合わせてもよく、かつ複数のエフェクタに効果をもたらすために実行命令をそれぞれの機械アクチュエータに送信してもよい。操作命令は、回転運動、並進運動、1つ以上の行動の選択、1つ以上の行動のプログラミング、1つ以上のパラメータの構成またはそれらの組み合わせのうちの1つ以上を含んでもよい。さらに、実物体102の物理的特性がサーバ106に格納されて同期されるので、リアルタイム3D仮想レプリカにおける機械腕の特定の部分の動きの速度および感覚は、実物体102の能力に基づいてシミュレートされ、従ってこれらの実在能力に限定される。操作命令が並進または回転移動のみを含む実施形態では、プロセッサ202は逆運動学的計算を使用して当該命令を処理してもよい。逆運動学は典型的には所望の位置に基づいてエフェクタのそれぞれのために所望の位置を提供する関節パラメータを決定するために使用される。操作命令が複数の連続工程を含むより複雑な行動を含む実施形態では(例えば、ロボットが座ったり、立ち上がったり、パンチしたり、障害物を回避したり、あるいは機械腕が拾ったり落としたりするアクションを行う)、処理命令は、順運動学と逆運動学との一体化された組み合わせを用いてもよい。順運動学は関節パラメータのための指定された値からエンドエフェクタの位置を計算するための方程式を使用する。
【0074】
例示的な一実施形態では、実物体102は、塗装、溶接、組み立て、包装、ラベリング、ピックアンドプレース(例えば、プリント回路基板のため)などのために使用される1つ以上の産業用ロボットなどの工場機械を指してもよい。別の例示的な実施形態では、実物体は、航空車両(例えば、飛行機、ドローン、ヘリコプタなど)、陸上車両(例えば、車、オートバイ、トラックなど)および海上車両(例えば、ボート、貨物船、潜水艦など)を含む車両を指してもよい。産業用機械の双方向管理は、製造工場のいずれかの部分で生じている変化を監視することができながらも遠隔で複数の産業用機械をリアルタイムで管理するのに有用であり得る。車両の双方向管理は、例えば救急車が交通渋滞を通り抜ける必要がある事故または自然災害の間などに交通機関を特定の方法で動かす必要がある場合に、車両の走行をより良好に制御するのに政府機関にとって有用であり得る。
【0075】
例として機械腕に1つ以上のアクションを行うように指示するには、機械腕が位置している作業場で利用可能な大部分または全ての物体を含む空間においてユーザがモバイル装置またはVR/ARメガネあるいは他のヘッドマウントディスプレイを介して機械腕のリアルタイム3D仮想レプリカ104を見ていることを必要とする場合がある。このユーザは、リアルタイム3D仮想レプリカ104を介して機械腕を遠隔かつ仮想的に選択するために機械腕のリアルタイム3D仮想レプリカ104をタッチし、サーバ106のプロセッサ202を促してメモリ204から多くの選択肢を検索させ、かつ選択肢を送信させてユーザ装置110を介してユーザに表示させる。この選択肢は、例えば動くこと、回転することおよび拾ったり落としたりするアクションを行うことを含んでもよい。どの選択肢をユーザが選択するかに応じて、プロセッサ202は操作命令を予めプログラムされた実行命令と比較することによって続行してもよい。並進または回転移動のみを伴う単純な運動タスクの場合、リアルタイム3D仮想レプリカ102ユーザは、ユーザインタフェース上の機械腕を選択してもよく(例えば、タッチ、エアジェスチャ、マウスまたはボタンなどによって)、かつ機械腕を所望の位置および向きに移動させることによって所望の動きを行ってもよい。どの選択肢をユーザが選択するかに応じて、プロセッサ202は当該命令を処理することを続行し、かつ次いで処理された命令をそれらを実行するために実物体102に送信し、これは所望の動きを可能にするために異なるエフェクタを動かすのに必要なアクチュエータを起動させることを含んでもよい。他の例では、プロセッサ202は、操作命令に対してより重い計算動作を必要とするタスクなどの特定の処理タスクを行ってもよく、かつ前処理された命令を機械腕に送信してもよい。機械腕のプロセッサはその後に他の処理タスクを行った後、当該命令を実行してもよい。より複雑なタスクは、ユーザが機械腕の環境と対話するのを可能にすることなど、2つ以上の物体に対する動作を含んでもよい。例えば、拾ったり落としたりする行動の場合、ユーザは、最初に機械腕にタッチし、拾ったり落としたりするアクションを選択し、標的物体を選択し、かつ物体が落とされることを必要とする標的位置を選択してもよい。プロセッサ202はその後に操作命令を利用可能な処理命令と比較し、当該命令を論理的順序で処理し、かつ機械腕に対する実行のために処理された命令を送信することを続行する。機械腕はいくつかの処理命令も行ってもよい。
【0076】
別の例では、ユーザはリアルタイム3D仮想レプリカ104を操作して機械腕を回転させてもよい。ユーザは機械腕にタッチしてリアルタイム3D仮想レプリカ104を介して仮想的に機械腕を選択し、かつその後に機械腕を回転させてもよい。プロセッサ202は当該命令を処理してもよく、それぞれの命令を対応するアクチュエータに送信することによってリアルタイムで機械腕を回転させてもよい。但し、リアルタイム3D仮想レプリカ104を介して機械腕を回転させることができる速度は、機械腕が安全係数を考慮に入れて到達可能になり得る速度に限定されてもよい。
【0077】
図2Bは、実世界214と仮想世界システム116との関係をさらに示すシステム200bを示す。実世界214は、1つ以上のユーザ装置110を用いる人間のユーザ114aまたはAIユーザ114bであってもよい複数のユーザ114を含むセクション216と、1つ以上の実物体102を操作する人間の物体オペレータ116aまたはAI物体オペレータ116bであってもよい物体オペレータ116を含むセクション218とを含んでもよい。セクション216およびセクション218の要素は、物理的性質210および位置および向き212を含むデータ点208をパーシステント仮想世界システム118と共有するので、実世界214のデータ点208は、パーシステント仮想世界システム118のデータ点208に対応する。実世界214は、データ点をリアルタイムでパーシステント仮想世界システム118と共有しない要素などのセクション216およびセクション218に含まれていないが(例えば、IoTセンサなどの検知機構がそれらの上に設置されていないから)、複数の技術(例えば、走査、モデル化、カメラによる検出など)のうちの1つ以上を介してサーバに入力されているので、パーシステント仮想世界システム118にグラフィックで含まれている他の要素(図示せず)をさらに含む。
【0078】
パーシステント仮想世界システム118は、ユーザおよび/または他の物体オペレータ仮想レプリカ222、実物体仮想レプリカ224および他の物体に対応する他の仮想レプリカ226を含む実世界214にある要素のリアルタイム3D仮想レプリカ104を3D構造220で構成している。
【0079】
ユーザ装置110から実物体102に送信される任意の種類の操作命令は、パーシステント仮想世界システム118を介して共有されるデータ点208を介して実物体102と共有され、リアルタイムでそれぞれのリアルタイム3D仮想レプリカならびに適用可能であれば仮想レプリカおよびそれぞれの実物体102のコンテキストを更新する。同様に、実物体102を介して送信される操作命令は、それぞれのユーザ装置110を介して1人以上のユーザ114aが見ることができるリアルタイム3D仮想レプリカを共有されるデータ点208を介してリアルタイムで更新するように機能し、適用可能であれば仮想レプリカおよびそれぞれの実物体102のコンテキストを更新する。
【0080】
図3は、ユーザ装置110の操作構成要素の表現を詳述する、本開示の一実施形態に係るシステムの概略図を示す。この操作構成要素は、入力/出力(I/O)モジュール302、電源304、メモリ306、センサ308、送受信機310およびネットワークインタフェース312を含んでもよく、それら全てがプロセッサ314に動作可能に接続されている。
【0081】
I/Oモジュール302は、ユーザと対話し、かつユーザ入力データを1つ以上の他のシステム構成要素に提供するように構成されたコンピューティングハードウェアおよびソフトウェアとして実装されている。例えばI/Oモジュール302は、ユーザと対話し、リアルタイム3Dベース対話に基づいてユーザ入力データを生成し、かつネットワーク112を介してサーバ106などの他の処理システムに伝達される前にユーザ入力データをプロセッサ314に提供するように構成されていてもよい。別の例では、I/Oモジュール302は、ユーザ装置110と対話するように構成された外部コンピューティングポインティングデバイス(例えば、タッチスクリーン、マウス、3Dコントローラ、ジョイスティック、ゲームパッドなど)および/またはテキスト入力装置(例えば、キーボード、ディクテーションツールなど)として実装されている。さらに他の実施形態では、I/Oモジュール302は、上に記載したものへのさらなる機能、それより少ない機能、またはそれとは異なる機能性を提供してもよい。
【0082】
電源304は、ユーザ装置110に電力を供給するように構成されたコンピューティングハードウェアとして実装されている。一実施形態では、電源304は電池であってもよい。電源304は上記装置に内蔵されていても上記装置から取外し可能であってもよく、かつ充電式であっても非充電式であってもよい。一実施形態では、ある電源304を別の電源304と置き換えることによって上記装置に電力が再供給されてもよい。別の実施形態では、電源304は、パーソナルコンピュータに取り付けられるユニバーサル・シリアル・バス(「USB」)、ファイアワイヤ、イーサネット、サンダーボルト(Thunderbolt)またはヘッドホンケーブルなどの充電源に取り付けられるケーブルによって再充電されてもよい。さらに別の実施形態では、電源304は電磁誘導充電によって再充電されてもよく、ここではエネルギを電磁誘導充電器から電源304に移動させるために電磁場が使用され(その2つを至極近接させた場合)、ケーブルを介して互いにプラグを差し込む必要はない。別の実施形態では、ドッキングステーションを使用して充電を容易にしてもよい。
【0083】
メモリ306は、アプリケーションプログラム命令を格納し、かつセンサ308によって取得された装置の遠隔測定メタデータを格納するように構成されたコンピューティングソフトウェアおよびハードウェアとして実装されてもよい。メモリ306は、ハードドライブ、メモリカード、フラッシュドライブ、ROM、RAM、DVDまたは他の光ディスクなどのコンピュータ可読媒体または電子装置の助けを借りて読み込むことができるデータを格納する他の媒体ならびに他の書込み可能および読取り専用メモリなどの、プロセッサ314によってアクセス可能な情報を格納することができる任意の好適な種類のものであってもよい。メモリ306はパーシステント記憶装置に加えて一時記憶装置を含んでもよい。
【0084】
センサ308は、ユーザから各種遠隔測定メタデータを得て、それらの動きと共にユーザの位置および向きを決定/追跡するように構成されたコンピューティングソフトウェアおよびハードウェアとして実装されていてもよい。センサ308は、例えば、特に慣性計測装置(IMU)、加速度計、ジャイロスコープ、光センサ、触覚センサ、カメラ、視線追跡センサおよびマイクロホンのうちの1つ以上を含んでもよい。IMUは、加速度計およびジャイロスコープの組み合わせを用いて、速度、加速度、角運動量、並進速度、回転速度およびユーザ装置110の他の遠隔測定メタデータを測定および報告するように構成されている。IMU内の加速度計は、地球の重力場による加速度を含むリアルタイム3Dベース対話装置の加速度を測定するように構成されていてもよい。一実施形態では、IMU内の加速度計は、加速度を3つの直交方向で測定することができる三軸加速度計を含んでもよい。リアルタイム3D仮想レプリカを直接操作する場合はいつでも、光センサ、触覚センサ、カメラ、視線追跡センサおよびマイクロホンを使用してユーザおよびユーザの環境から入力詳細を取得してもよく、これをサーバ106に伝送して、ユーザが見ている位置および向きならびに照明および音声などの環境因子に応じてユーザ装置110に送られる1つ以上のメディアストリームを決定し、かつ声および触覚に関連するリアルタイム3Dベース対話を可能にする。
【0085】
送受信機310は、装置がアンテナから無線電波を受信し、かつデータをアンテナに送り戻すことを可能にするように構成されたコンピューティングソフトウェアおよびハードウェアとして実装されていてもよい。いくつかの実施形態では、ミリ波送受信機を用いてもよく、これはイマーシブコンテンツと対話する場合に、アンテナからミリ波波信号を受信し、かつデータをアンテナに送り戻すように構成されていてもよい。送受信機310は双方向通信送受信機310であってもよい。
【0086】
一実施形態では、追跡モジュール316は、IMU、加速度計およびジャイロスコープの能力を送受信機310によって提供される位置追跡と組み合わせることによって実装されてもよく、かつミリ波ベースのアンテナよって提供される正確な追跡、低レイテンシおよび高QOS機能は、サブセンチメートルまたはサブミリメートルでの位置および向きの追跡を可能にしてもよく、これによりユーザ装置110のリアルタイム位置および向きを追跡する際の正確性を高めてもよい。さらなる実施形態では、追跡モジュール316は、正確な位置および向きを提供するためにGNSS追跡信号から位置決めデータを受信し、かつこのデータをミリ波信号および慣性追跡により増強することをさらに可能にする。いくつかの実施形態では、到着時間(TOA)、到来角(AOA)などの当該技術分野で知られているいくつかの技術、または当該技術分野で知られている他の追跡技術(例えば、視覚的イメージング、レーダ技術など)を用いて追跡を行ってもよい。
【0087】
ネットワークインタフェース312は、ネットワーク112に通信可能に接続し、サーバ106によって送信されるネットワーク112からのコンピュータ可読プログラム命令を受信し、かつプロセッサ314による実行のためにユーザ装置110のメモリ306に格納するためにコンピュータ可読プログラム命令を転送するためのコンピューティングソフトウェアおよびハードウェアとして実装されていてもよい。
【0088】
プロセッサ314は、ユーザ入力データを受信して処理するように構成されたコンピューティングハードウェアおよびソフトウェアとして実装されていてもよい。例えば、プロセッサ314は、イメージング要求を行い、イメージングデータを受信し、イメージングデータを処理して環境または他のデータにし、ユーザ入力データおよび/またはイメージングデータを処理してユーザのリアルタイム3Dベース対話データを生成し、サーバ106要求を行い、サーバ106応答を受信し、かつ/またはユーザのリアルタイム3Dベース対話データ、環境データおよびコンテンツ物体データを1つ以上の他のシステム構成要素に提供するように構成されていてもよい。例えばプロセッサ314は、I/Oモジュール302からユーザ入力データを受信してもよく、かつメモリ306に格納されたアプリケーションプログラムをそれぞれ実行してもよい。他の例では、プロセッサ314は、センサ308から(例えば、ユーザの手の動き、コントローラの操作、移動軌道などに関する情報)、送受信機310から、あるいはそれらの組み合わせから位置、位置決めまたは他の遠隔測定メタデータを受信してもよい。プロセッサ314は、生データ整理またはフィルタリングなどのアナログもしくはデジタル信号処理アルゴリズムを実行できるようにしてもよい。プロセッサ314は特定の実施形態では、サーバ106から受信されたメディアコンテンツに対して、ユーザ装置110上にリアルタイム3D仮想レプリカを正確に表現するために必要とされる計算などの軽い計算タスクを行うように構成されていてもよい。
【0089】
図4は、実物体102の各種操作構成要素の表現を詳述する、本開示の一実施形態に係るシステムの概略図を示す。操作構成要素は、入力/出力(I/O)モジュール402、電源404、メモリ406、アクチュエータ410およびエフェクタ412に取り付けられたセンサ408、送受信機414およびネットワークインタフェース416を含んでもよく、それら全てがプロセッサ418に動作可能に接続されている。
【0090】
I/Oモジュール402は、物体オペレータと対話し、かつ物体オペレータユーザ入力データを1つ以上の他のシステム構成要素に提供するように構成されたコンピューティングハードウェアおよびソフトウェアとして実装されている。例えば、I/Oモジュール402は、物体オペレータと対話し、リアルタイム3Dベース対話に基づいてユーザ入力データを生成し、かつネットワーク112を介してサーバ106などの他の処理システムに伝達される前にユーザ入力データをプロセッサ418に提供するように構成されていてもよい。別の例では、I/Oモジュール402は、物体および選択肢を選択するための外部コンピューティングポインティングデバイス(例えば、タッチスクリーン、マウス、3D制御、ジョイスティック、レバー、ハンドル、ゲームパッドなど)および/または実物体102と対話するように構成された操作命令を入力するためのテキスト入力装置(例えば、キーボード、ボタン、ディクテーションツールなど)として実装されている。さらに他の実施形態では、I/Oモジュール402は、上に記載したものへのさらなる機能、それより少ない機能またはそれとは異なる機能性を提供してもよい。
【0091】
電源404は、実物体102に電力を供給するように構成されたコンピューティングハードウェアとして実装されており、かつ
図3に示されている同様の記述に従ってもよい。
【0092】
メモリ406は、アプリケーションプログラム命令およびデータを格納するように構成されたコンピューティングソフトウェアおよびハードウェアとして実装されていてもよく、かつ
図3に示されている同様の記述に従っていてもよい。
【0093】
センサ408は、例えば実物体102の複数のアクチュエータ410およびエフェクタ412の位置および向きを決定および追跡して、サーバ106と同期および共有され得るデータ点を提供し、かつ実物体102の1つ以上の物理的性質のデータ表現をサーバ106に提供するように構成されていてもよい。いくつかの実施形態では、センサ408は実物体102の他の領域または実物体102を取り囲んでいる領域に実装されてもよい。例えばセンサ408は、実物体102の複数の関節およびコネクタ上に位置決めされてもよい。センサ408は、例えば光センサ、慣性センサまたはそれらの組み合わせを含むモーションキャプチャ機器を備えてもよく、これらについては
図2を参照しながら説明した。他の実施形態では、実物体102の性質および機能に応じて温度計、圧力センサ、湿度センサなどの実物体102の他の特性のデータ表現を提供することができる他のセンサ408も含まれていてもよい。
【0094】
送受信機414は、実物体102がアンテナから無線電波を受信し、かつデータをアンテナに送り戻すことを可能にするように構成されたコンピューティングソフトウェアおよびハードウェアとして実装されていてもよい。いくつかの実施形態では、ミリ波送受信機414が用いられてもよく、これはイマーシブコンテンツと対話する際に、アンテナからミリ波波信号を受信し、かつデータをアンテナに送り戻すように構成されていてもよい。送受信機414は双方向通信送受信機414であってもよい。
【0095】
一実施形態では、追跡モジュール420は、IMU、加速度計およびジャイロスコープの能力を送受信機414によって提供される位置追跡と組み合わせることによって実装されてもよく、ミリ波ベースのアンテナによって提供される正確な追跡、低レイテンシおよび高QOS機能は、サブセンチメートルまたはサブミリメートルでの位置および向きの追跡を可能にしてもよく、これにより実物体102のリアルタイム位置および向きを追跡する際の正確性を高めてもよい。さらなる実施形態では、追跡モジュール420は、GNSS追跡信号からの位置決めデータを受信し、かつ正確な位置および向きを提供するためにこのデータをミリ波信号および慣性追跡により増強することをさらに可能にする。いくつかの実施形態では、到着時間(TOA)、到来角(AOA)などの当該技術分野で知られているいくつかの技術または当該技術分野で知られている他の追跡技術(例えば、視覚的イメージング、レーダ技術など)を用いて追跡を行ってもよい。
【0096】
ネットワークインタフェース416は、ネットワーク112に通信可能に接続し、サーバ106によって送信されるネットワーク112からのコンピュータ可読プログラム命令を受信し、かつプロセッサ418による実行のために装置のメモリ406への格納のためにコンピュータ可読プログラム命令を転送するためのコンピューティングソフトウェアおよびハードウェアとして実装されていてもよい。
【0097】
プロセッサ418は、I/Oモジュール402を介して直接入力されたかサーバ106から届く操作命令を処理し、かつエフェクタ412の必要とされる動きを行うために処理された命令をアクチュエータ410に送信するように構成されていてもよい。例えば、プロセッサ418は、I/Oモジュール402からユーザ入力データを受信してもよく、かつメモリ406に格納されているアプリケーションプログラムをそれぞれ実行してもよい。他の例では、プロセッサ418は、センサ408、送受信機414またはそれらの組み合わせから位置、位置決めまたは他の遠隔測定メタデータを受信し、かつ当該情報をサーバ106に送信してリアルタイム3D仮想レプリカを更新してもよい。プロセッサ418は、生データ整理またはフィルタリングなどのアナログもしくはデジタル信号処理アルゴリズムも実行できるようにしてもよい。いくつかの実施形態では、プロセッサ418はいくつかの計算タスクをサーバ106と共有してもよい。
【0098】
図5は、一実施形態に係る実物体102の直接操作によるリアルタイム3D仮想レプリカ108の操作を詳述する、本開示の一実施形態に係る方法500のフローチャートを示す。方法500は例えば、
図1A~
図4に関して考察されているシステムなどの本開示の一実施形態に係るシステムによって実行されてもよい。
【0099】
方法500は、ブロック502に示されているように、少なくとも1つの実物体102の少なくとも1つのリアルタイム3D仮想レプリカ104が表現されるデータ構造を含むパーシステント仮想世界システム118をサーバ106上に設けることによって開始する。実物体102のリアルタイム3D仮想レプリカ104を設けることは、実物体102の物理的性質および3次元の実世界座標を含むリアルタイム3D仮想レプリカ104をグラフィックで生成および/または編集するために、サーバ106に格納されて計算されるコンテンツエディタを用いることを含んでもよい。リアルタイム3D仮想レプリカ104は、ユーザ装置110の好適なユーザインタフェース108を介してユーザ114によってアクセスされてもよい。
【0100】
次いで方法500は、ブロック504に示されているように、リアルタイム3D仮想レプリカ104を実物体104と同期させることによって続行し、これはアクチュエータ、エフェクタ、関節およびコネクタなどの実物体102の異なる部分または実物体102の周りの領域にある複数のセンサ(例えば、実物体102の近くに位置するカメラ)からデータを得ることを含んでもよい。複数のセンサはサーバ106と通信し、かつリアルタイム3D仮想レプリカ104と共有される複数のデータ点を生成してもよい。いくつかの実施形態では、実物体102に接続されたセンサは、破線506によって表されているようにリアルタイム3D仮想レプリカ104にフィードバックをさらに提供する。このフィードバックデータは、リアルタイム3D仮想レプリカ104を向上させ、かつ実物体102に関してその正確性を高めるために、実物体102のさらなる物理的性質を提供してもよい。リアルタイム3D仮想レプリカ104を実物体102と同期させる場合、サーバ106は、パーシステント仮想世界システム118を介しネットワークを介して同期されたリアルタイム3D仮想レプリカ104を実物体102およびユーザ装置110に送信する。当然のことながら、リアルタイム3D仮想レプリカ104を実物体102およびユーザ装置110と同期させた後、実物体102またはリアルタイム3D仮想レプリカ104に対して行われるアクションは、仮想もしくは実対応物に直接的効果を与える。
【0101】
当該プロセスを続け、物体オペレータ116は、ブロック508に示されているように実物体102を直接操作することによって続行してもよい。ブロック510では、実物体102は操作命令を処理することによって続行してもよい。例えば
図4を参照すると、物体オペレータ116は好適なI/Oモジュール402を介して、プロセッサ418に伝達され得る操作命令を入力してもよい。プロセッサ418は、メモリ内の処理命令およびデータにアクセスし、かつ物体オペレータ116からの操作命令を処理するのを続行してもよい。プロセッサ418は、エフェクタがタスクを行うためにどの関節を動かすべきかを決定するために必要とされる運動学的計算をさらに行ってもよい。その後に方法500は、ブロック512に示されているように操作命令を実行する実物体102によって続行する。当該命令を実行することは、実物体102によって所望のタスクを行うために必要なエフェクタを動かすための起動のために、電気信号を複数のアクチュエータに送信することを含んでもよい。
【0102】
本システムは同期されるので、ブロック508において実物体102を操作することにより操作命令がサーバ106に送信される。操作命令を受信した後、サーバ106はブロック514に示されているように当該命令に対して、リアルタイム3D仮想レプリカ104において実物体102の動きを再現するために使用される運動学的計算ならびにビデオおよび音声ストリームをユーザ装置110に送信するためのレンダリングタスクなどの処理タスクも行ってもよい。サーバ106によって操作命令を処理することは、実物体102を介して物体オペレータの位置および向きならびにユーザ装置110を介してユーザ114の位置および向きを受信および処理することをさらに含む。いくつかの実施形態では、サーバ106で行われる処理は実物体102で行われる処理に相補的である。従って、実物体102は当該処理命令の一部を行ってもよく、サーバ106はより重いタスク計算を行うことによって実物体102をサポートしてもよい。
【0103】
サーバ106がブロック514において操作命令を処理した後、方法500はブロック516に示されているように、パーシステント仮想世界システムを少なくとも1つの修正されたリアルタイム3D仮想レプリカ104により更新することをサーバ106によって続行し、これはユーザ装置110において同期される。工程518では、ユーザ装置110は、変化を受けたかもしれないリアルタイム3D仮想レプリカ104により更新されたパーシステント仮想世界システム118を出力することによって続行し、これは更新されたリアルタイム3D仮想レプリカ104を適当に表示するために受信されたメディアストリームに対して軽い演算を行うことを含んでもよい。次いで方法500は、チェック520において実物体102から届く操作命令がまだ他に存在するかを確認し、存在する場合、方法500は実物体102を操作する物体オペレータ116によってブロック508にループバックする。もう他に命令が存在しない場合、当該プロセスは終止部522に示されているように終了してもよい。
【0104】
図6は、リアルタイム3D仮想レプリカ104の直接操作による実物体102の操作を詳述する、本開示の一実施形態に係る方法600のフローチャートを示す。方法600は例えば、
図1A~
図4に関して考察されているシステムなどの本開示の一実施形態に係るシステムによって実行されてもよい。
図6に示されているいくつかの工程は、
図5に示されている工程に対応し、それらの説明と同様の数字および符号が
図6で使用されている場合がある。
【0105】
方法600の最初の部分は、方法500のその部分と同じである。従って、方法600は方法500とブロック502および504ならびに破線506を共有する。方法600は、ブロック602に示されているようにユーザ114によってユーザ装置110の好適なユーザインタフェース108を介してリアルタイム3D仮想レプリカ104を仮想的に選択し、次いで選択命令をサーバ106を介して、選択されたリアルタイム3D仮想レプリカ104および対応する実物体102に送信することを続行する。いくつかの実施形態では、ユーザ装置110によってサーバ106に送信される選択命令は、1人以上のユーザ114の位置および向きデータを含む。サーバ106および実物体102はそれぞれブロック604および606において選択命令を処理することによって続行してもよい。方法600は、ブロック608に示されているようにリアルタイム3D仮想レプリカ104を操作するユーザ114によって続行し、かつ次いでブロック610および612においてそれぞれ操作命令を処理するサーバ106および実物体102によって続行する。サーバ106で行われる処理は、いくつかの実施形態では、実物体102で行われる処理に相補的であり、従って、より重いタスク計算を行うことによって実物体102をサポートしてもよい。
【0106】
その後に、実物体102はブロック614において実物体102に対して当該命令を実行することによって続行する。同時にサーバ106は、ブロック616に示されているように少なくとも1つの修正されたリアルタイム3D仮想レプリカ104によってパーシステント仮想世界システムを更新してもよい。次いで、ユーザ装置110は、変化を受けたかもしれないリアルタイム3D仮想レプリカ104により更新されたパーシステント仮想世界システム118を出力することによって続行してもよく、これはブロック618に示されているように、更新されたリアルタイム3D仮想レプリカ104をユーザ装置110上に適当に表示するために受信されたメディアストリームに対して軽い演算を行うことを含んでもよい。次いで方法600は、チェック620において、ユーザ装置110から届く操作命令がまだ他に存在するかを確認し、その後、方法600はユーザ装置110を介してリアルタイム3D仮想レプリカ104を操作し続けるユーザ114によってブロック608にループバックする。もう他に命令が存在しない場合、当該プロセスは終止部622に示されているように終了してもよい。
【0107】
図7は、本開示の一実施形態に係るリアルタイム3D仮想レプリカおよび実物体の双方向動作を可能にする本開示の一実施形態に係るサーバによって実行される方法700のフローチャートを示す。方法700は例えば、
図5に示されている実物体の直接操作によりリアルタイム3D仮想レプリカを操作するための方法500と、
図6に示されているリアルタイム3D仮想レプリカの直接操作により実物体を操作するための方法600とを組み込んでいてもよい。いくつかの実施形態では、方法700は、
図1A~
図4に関して考察されているシステムなどの本開示の一実施形態に係るシステムによって実行されてもよい。
【0108】
方法700は、少なくとも1つの実物体の少なくとも1つのリアルタイム3D仮想レプリカが表現される構造を含むパーシステント仮想世界システムを設けることによって工程702および704において開始してもよい。次いでブロック706において、方法700は、少なくとも1つのリアルタイム3D仮想レプリカを少なくとも1つの対応する実物体と同期させることによってブロック708において続行し、ここではリアルタイム3D仮想レプリカを向上させ、実物体に関してリアルタイム3D仮想レプリカの正確性を高め、かつその同期に基づいて特定の物理的性質をリアルタイム3D仮想レプリカに提供するために、リアルタイム3D仮想レプリカにフィードバックを送り戻す。方法700は、ブロック710において実物体またはユーザ装置のいずれかを介して入力された選択および/または操作命令を受信することによって続行し、かつその後に工程712においてそれぞれの実物体およびリアルタイム3D仮想レプリカに対する選択および/または操作命令を処理および実行することによって続行する。いくつかの実施形態では、サーバによる上記処理のうちのいくつかを使用して実物体によって局所的に行われる処理をサポートしてもよい。方法700は工程714に示されているように、仮想世界システムをサーバに格納されて計算される修正された1つ以上のリアルタイム3D仮想レプリカによって更新し、かつ更新されたモデルを当該計算装置に送信することによって続行する。次いで上記方法は、チェック716において、まだ他に命令が存在するかを確認し、存在すれば方法700はブロック710に戻る。存在しなければ方法700は終止部718で終了してもよい。
【0109】
特定の実施形態について説明し、かつ添付の図面に図示してきたが、当然のことながらそのような実施形態は広範な本発明の単に例示であってそれを限定するものではなく、各種他の修正が当業者に思い付く場合があるため、本発明は図示および説明されている特定の構造および構成に限定されない。従って上記説明は、本発明を限定するものではなく例示とみなされるべきである。