JP2021047720A - 情報処理装置、情報処理システム、情報処理方法、及びプログラム - Google Patents
情報処理装置、情報処理システム、情報処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2021047720A JP2021047720A JP2019170720A JP2019170720A JP2021047720A JP 2021047720 A JP2021047720 A JP 2021047720A JP 2019170720 A JP2019170720 A JP 2019170720A JP 2019170720 A JP2019170720 A JP 2019170720A JP 2021047720 A JP2021047720 A JP 2021047720A
- Authority
- JP
- Japan
- Prior art keywords
- space
- plane
- user
- existing
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Processing Or Creating Images (AREA)
- Position Input By Displaying (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】別の場所にいる複数のユーザーによって共有される仮想空間を好適に構築することのできる情報処理装置を提供する。【解決手段】第1のユーザーの周囲の第1の空間に存在する平面の位置情報、及び第2のユーザーの周囲の第2の空間に存在する平面の位置情報を取得し、第1の空間に存在する平面と第2の空間に存在する平面の位置を一致させるように、第1及び第2の空間それぞれの位置座標を仮想空間の位置座標に変換する座標変換パラメータを決定し、決定された変換パラメータに従って第1及び第2の空間のそれぞれに存在する物体の位置が仮想空間内の位置に変換される情報処理装置である。【選択図】図1
Description
本発明は、仮想空間に関する処理を実行する情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
近年、仮想現実や拡張現実などの技術において、現実世界でユーザーが体を動かした際に、その動きを仮想空間内のアバター等に反映させることが検討されている。このような技術によれば、ユーザーはヘッドマウントディスプレイなどの表示装置を装着して仮想空間内の様子を閲覧しながら、現実世界で体を動かすことによって、仮想空間内に存在する物体を触ったりすることができ、高い臨場感で仮想空間の体験を楽しむことができる。
上述した技術において、互いに離れた別の場所にいる複数のユーザーが同じ仮想空間を共有することがある。このような場合に、どのように仮想空間を構築すればよいかについて、いまだ十分な検討がされていない。
本発明は上記実情を考慮してなされたものであって、その目的の一つは、別の場所にいる複数のユーザーによって共有される仮想空間を好適に構築することのできる情報処理装置、情報処理システム、情報処理方法、及びプログラムを提供することにある。
本発明に係る情報処理装置は、第1のユーザーの周囲の第1の空間に存在する平面の位置情報、及び第2のユーザーの周囲の第2の空間に存在する平面の位置情報を取得する取得部と、前記第1の空間に存在する平面と前記第2の空間に存在する平面の位置を一致させるように、前記第1及び第2の空間それぞれの位置座標を仮想空間の位置座標に変換する座標変換パラメータを決定する変換パラメータ決定部と、を含み、前記決定された変換パラメータに従って前記第1及び第2の空間のそれぞれに存在する物体の位置が前記仮想空間内の位置に変換されることを特徴とする。
本発明に係る情報処理システムは、複数のクライアント装置とサーバ装置とを含む情報処理システムであって、前記サーバ装置は、前記複数のクライアント装置のそれぞれから、当該クライアント装置のユーザーの周囲の空間に存在する平面の位置情報を取得する平面位置取得部と、前記複数のクライアント装置から取得した前記平面の位置が互いに一致するように、前記複数のクライアント装置のそれぞれを使用するユーザーの周囲の空間の位置座標を仮想空間の位置座標に変換する座標変換パラメータを決定する変換パラメータ決定部と、を含み、前記複数のクライアント装置のそれぞれは、当該クライアント装置を使用するユーザーの周囲の空間に存在する物体の位置座標を取得する物***置取得部と、前記物体の位置座標を、前記座標変換パラメータに従って前記仮想空間内の位置に変換する座標変換部と、を含むことを特徴とする。
本発明に係る情報処理方法は、第1のユーザーの周囲の第1の空間に存在する平面の位置情報、及び第2のユーザーの周囲の第2の空間に存在する平面の位置情報を取得するステップと、前記第1の空間に存在する平面と前記第2の空間に存在する平面の位置を一致させるように、前記第1及び第2の空間それぞれの位置座標を仮想空間の位置座標に変換する座標変換パラメータを決定するステップと、を含み、前記決定された変換パラメータに従って前記第1及び第2の空間のそれぞれに存在する物体の位置が前記仮想空間内の位置に変換されることを特徴とする。
本発明に係るプログラムは、第1のユーザーの周囲の第1の空間に存在する平面の位置情報、及び第2のユーザーの周囲の第2の空間に存在する平面の位置情報を取得するステップと、前記第1の空間に存在する平面と前記第2の空間に存在する平面の位置を一致させるように、前記第1及び第2の空間それぞれの位置座標を仮想空間の位置座標に変換する座標変換パラメータを決定するステップと、をコンピュータに実行させるためのプログラムであって、前記決定された変換パラメータに従って前記第1及び第2の空間のそれぞれに存在する物体の位置が前記仮想空間内の位置に変換されることを特徴とする。このプログラムは、コンピュータ読み取り可能で非一時的な情報記憶媒体に格納されて提供されてよい。
以下、本発明の実施形態について、図面に基づき詳細に説明する。
図1は、本発明の一実施形態に係る情報処理装置であるサーバ装置10を含んだ情報処理システム1の全体概要図である。情報処理システム1は、図1に示すように、サーバ装置10と、複数のクライアント装置20と、を含んで構成されている。複数のクライアント装置20は、それぞれインターネット等の通信ネットワークを介してサーバ装置10とデータ通信可能に接続されている。ここでは具体例として、情報処理システム1は、ユーザーAが使用するクライアント装置20aとユーザーBが使用するクライアント装置20bの2台のクライアント装置20を含むこととする。しかしながらこれに限らず、情報処理システム1は3台以上のクライアント装置20を含んでもよい。
サーバ装置10は、制御部11と、記憶部12と、通信部13と、を含んで構成される情報処理装置である。制御部11は少なくとも一つのプロセッサを含んで構成され、記憶部12に記憶されているプログラムを実行して各種の情報処理を実行する。本実施形態において制御部11が実行する処理の具体例については、後述する。記憶部12は、RAM等のメモリデバイスを少なくとも一つ含み、制御部11が実行するプログラム、及び当該プログラムによって処理されるデータを格納する。通信部13は、通信ネットワークを介して各クライアント装置20との間でデータ通信を行うための通信インタフェースである。
各クライアント装置20は、制御部21と、記憶部22と、通信部23と、インタフェース部24と、を含んで構成されている。また、表示装置25、及びステレオカメラ26と接続されている。制御部21は少なくとも一つのプロセッサを含んで構成され、記憶部22に記憶されているプログラムを実行して各種の情報処理を実行する。本実施形態において制御部21が実行する処理の具体例については、後述する。記憶部22は、RAM等のメモリデバイスを少なくとも一つ含み、制御部21が実行するプログラム、及び当該プログラムによって処理されるデータを格納する。通信部23は、通信ネットワークを介してサーバ装置10との間でデータ通信を行うための通信インタフェースである。
インタフェース部24は、表示装置25、及びステレオカメラ26との間のデータ通信のためのインタフェースである。クライアント装置20は、インタフェース部24を介して有線又は無線で表示装置25及びステレオカメラ26のそれぞれと接続される。具体的にインタフェース部24は、クライアント装置20によって描画された動画像のデータを表示装置26に送信するために、HDMI(登録商標)等のマルチメディアインタフェースを含むこととする。また、ステレオカメラ26から送信される映像信号を受信するために、USB等のデータ通信インタフェースを含んでいる。
表示装置25は、ユーザーに提示する動画像を表示するデバイスである。本実施形態では、表示装置25はユーザーが頭部に装着して使用する頭部装着型の表示装置であることとする。具体的に表示装置25は、ユーザーの右目に右目用画像を、左目に左目用画像を、それぞれ提示することによって、視差を利用した立体映像を表示することができる。
ステレオカメラ26は、並んで配置された複数の撮像素子を含んで構成される。これらの撮像素子のそれぞれが撮像した画像を解析することによって、クライアント装置20は、ステレオカメラ26の視野範囲に存在する物体までの撮像位置からの距離を測定できる。これによりクライアント装置20は、ステレオカメラ26の周囲の空間に存在する物体の位置や形状を推定することができる。
特に本実施形態では、ステレオカメラ26はクライアント装置20を利用するユーザー、及びその周囲に存在する壁や床などの物体の位置を特定するために用いられる。図2は、各ユーザーがクライアント装置20を使用している様子の一例を示す図であって、図2(a)はユーザーAの様子を、図2(b)はユーザーBの様子を、それぞれ示している。この図の例では、表示装置25を装着したユーザーAの正面にステレオカメラ26が配置されており、ステレオカメラ26は前方のユーザーAや、ユーザーAが立っている床面、やユーザーAがいる部屋の壁面などを視野範囲に含んでいる。ユーザーAと同様に、ユーザーBも自身の部屋でクライアント装置20bを使用しており、クライアント装置20bに接続されるステレオカメラ26は、ユーザーB、及びその周囲の床面や壁面などを視野範囲に含んでいる。
以下、情報処理システム1が実現する機能について、図3を用いて説明する。本実施形態において情報処理システム1は、複数のユーザーが一つの仮想空間内で互いにインタラクションすることが可能なサービスを提供する。図3に示すように、情報処理システム1は、機能的に、位置情報取得部51と、基準面特定部52と、空間結合部53と、座標変換部54と、空間更新部55と、空間画像描画部56と、を含んで構成されている。これらの機能のうち、位置情報取得部51、基準面特定部52、座標変換部54、及び空間画像描画部56は各クライアント装置20の制御部21が記憶部22に格納されたプログラムを実行することによって実現される。また、空間結合部53と空間更新部55はサーバ装置10の制御部11が記憶部12に格納されたプログラムを実行することによって実現される。これらのプログラムは、インターネット等の通信ネットワークを経由して各装置に提供されてもよいし、光ディスク等のコンピュータ読み取り可能で非一時的な記憶媒体に格納されて提供されてもよい。
位置情報取得部51は、現実空間内においてユーザー、及びその周囲に存在する物体の位置を特定する情報を取得する。本実施形態では、位置情報取得部51はステレオカメラ26が撮像した画像を解析することによって、ステレオカメラ26の撮像範囲内に存在する物体の位置を特定する。位置情報取得部51が取得した位置情報は、後述する基準面特定部52によって基準面の特定に利用される。また、後述する空間更新部55による仮想空間の更新に利用される。
より具体的に、位置情報取得部51は、ステレオカメラ26の撮像範囲を格子状に分割して得られる複数の単位領域のそれぞれについて、その単位領域に写っている被写体の一部分までの距離を算出する。これにより位置情報取得部51は、単位領域ごとにその単位領域に写っている物体までの距離の情報を含んだ距離画像(デプスマップ)を取得できる。以下では、現実空間に存在する物体のうち、距離画像内の各単位領域に写っている部分を単位部分という。
さらに位置情報取得部51は、各単位領域の距離画像内における位置(すなわち、ステレオカメラ26の設置位置から見たその単位領域の方向)、及びその単位領域に写っている単位部分までの距離の数値を用いて、その単位部分の現実空間内における位置座標を算出する。この位置座標は、ステレオカメラ26の設置位置を基準位置とした座標系における3次元の位置座標となる。このようにして得られる複数の単位部分それぞれの位置座標を用いることによって、ユーザーの身体やテーブルなどの複雑な構造を有する物体の位置や形状を特定することができる。以下では、このステレオカメラ26の位置を基準位置としてユーザーがいる現実空間内の位置を示す座標系を、ローカル座標系という。また、ユーザーAの周囲の現実空間(第1の空間)の位置を示す座標系を第1ローカル座標系といい、ユーザーBの周囲の現実空間(第2の空間)の位置を示す座標系を第2ローカル座標系という。
基準面特定部52は、位置情報取得部51が取得した物体の位置情報を用いて、現実空間内における基準面の位置を特定する。ここで基準面とは、後述する空間結合の際に基準となる平面である。基準面特定部52は、位置情報取得部51が取得した各単位部分の位置座標を用いて、複数の単位部分が同一平面に沿って連続的に配置されている領域を抽出し、このような単位部分によって構成される平面を基準面として特定する。
具体的に基準面特定部52は、一つの水平な面を基準面として特定する。例えば基準面はユーザーが立っている床面であってよい。あるいは、ユーザーがいる場所にテーブルなどの上面が平らな物体が存在する場合、その上面を基準面として特定してもよい。
なお、複数のクライアント装置20のそれぞれは、ユーザーに対する相対的な位置(高さ)が近い面を基準面として特定するものとする。例えばクライアント装置20aがユーザーAのいる場所の床面を基準面とする場合、クライアント装置20bもユーザーBのいる場所の床面を基準面として特定する。逆に複数のユーザーが仮想空間内においてテーブルを共有する場合などは、各クライアント装置20の基準面特定部52は、ユーザーの近くにある実在のテーブルの上面を基準面として特定する。
このような制御を実現するため、各クライアント装置20の基準面特定部52は、予めサーバ装置10からどのような高さの水平面を基準面とすべきかの条件の指定を受け付けて、その条件に合致する平面を基準面として特定することとしてもよい。例えば床面を基準面とすべき旨の指定を受けた場合、基準面特定部52は最も低い位置に存在する単位部分によって構成される平面を基準面とする。また、テーブル面を基準面とすべき旨の指定を受けた場合、基準面特定部52は単位部分の分布からまずユーザーの頭部の位置、及び床面の位置を特定し、ユーザーの頭部と床面の間の所定の高さの範囲内に存在する平面を基準面としてもよい。
さらに基準面特定部52は、床面などの水平面に加えて、壁面などの鉛直面を基準面として特定してもよい。ここでは各ユーザーは室内でクライアント装置20を使用することとし、基準面特定部52はユーザーがいる部屋の四方の壁面のうち少なくとも一部の壁面を、基準面として特定するものとする。なお、以下では基準面として特定された水平面を水平基準面といい、基準面として特定された鉛直面を鉛直基準面という。基準面特定部52は、水平基準面を一つ必ず特定することとし、さらに可能であれば鉛直基準面を1又は複数特定する。例えば図2に示した例において、クライアント装置20aの基準面特定部52は床面P1a及び壁面P2aを基準面として特定する。また、クライアント装置20bの基準面特定部52は床面P1b及び壁面P2bを基準面として特定する。鉛直基準面は、水平基準面に隣接する基準面であってもよいし、ユーザーの位置に最も近い位置に存在する基準面であってもよい。
基準面特定部52は、基準面の現実空間内における位置を特定すると、その位置情報をサーバ装置10に対して送信する。この位置情報は、ローカル座標系における平面の位置を示す座標値によって表される。
空間結合部53は、平面位置取得部として、各クライアント装置20から送信された基準面の情報を利用して、仮想空間を構築する。より具体的に、空間結合部53は、各クライアント装置20のユーザーがいる現実空間を結合して仮想空間を構築するための座標変換パラメータを決定する。この座標変換パラメータは、各クライアント装置20が取得する物体の位置情報を表すために利用されているローカル座標系を、仮想空間の位置を示す座標系(ここではワールド座標系という)に変換するためのパラメータである。この座標変換パラメータを用いて各クライアント装置20が取得した物体の位置情報をワールド座標系の位置に変換することによって、複数のユーザーが一つの仮想空間を共有できるようになる。
ここで空間結合部53は、少なくとも複数のユーザーのそれぞれがいる空間の水平基準面が互いに一致するように座標変換パラメータを決定する変換パラメータ決定部を構成している。各ローカル座標系における水平基準面の位置座標は、それぞれのクライアント装置20に接続されるステレオカメラ26の設置位置の違いなどによって、互いに相違している。空間結合部53は、この相違を解消するように、各クライアント装置20に送信すべき座標変換パラメータを決定する。この場合の座標変換パラメータは、水平基準面を一致させるための鉛直方向の平行移動のパラメータを少なくとも含むことになる。
さらに、各クライアント装置20が鉛直基準面の位置情報を送信した場合、空間結合部53はそれらの少なくとも一部が一致するように空間の結合を行ってもよい。一例として、各クライアント装置20が床面と一つの壁面の位置情報を送信した場合、空間結合部53は、床面に加えてそれぞれの壁面も一致させるように各ローカル座標系を平行移動、及び/又は回転させる座標変換パラメータを決定する。また、各クライアント装置20が使用しているローカル座標系によっては、座標変換パラメータには鏡像反転などの変換を行うパラメータが含まれてもよい。
また、一つのコーナーを囲み互いに交差する3つの基準面(すなわち、一つの水平基準面と二つの鉛直基準面)の情報が各クライアント装置20から送信された場合、空間結合部53は、この3つの基準面が全て一致するように各座標系に対する座標変換パラメータを決定してもよい。なお、一般に複数のユーザーのそれぞれがいる部屋の広さや形状には相違があるため、各クライアント装置20で特定された全ての基準面を一致させることができるとは限らない。そのため、空間結合部53は少なくとも水平基準面を一致させることとし、さらに可能であれば1又は2の鉛直基準面を一致させるように各ローカル座標系に対する座標変換パラメータを決定する。
例えば前述の例において、クライアント装置20aから床面P1a及び壁面P2aに加えて壁面P2aに隣接する隣接壁面P3aの位置情報が取得され、クライアント装置20bから床面P1b及び壁面P2bに加えて壁面P2bに隣接する隣接壁面P3bの位置情報が取得されたものとする。この場合空間結合部53は、少なくとも床面P1aと床面P1b、また壁面P2aと壁面P2bが一致するように座標変換パラメータを決定する。さらに、第1空間において壁面P2aと隣接壁面P3aがなす角度と第2空間において壁面P2bと隣接壁面P3bがなす角度が一致する場合、隣接壁面P3aと隣接壁面P3bも一致するように座標変換パラメータを決定する。一方、両者のなす角度が一致しない場合、3つの基準面全てを一致させるような座標変換は不可能なので、空間結合部53は、床面P1aと床面P1b、及び壁面P2aと壁面P2bだけが一致するように座標変換パラメータを決定する。
空間結合部53は、以上説明したようにして決定した各ローカル座標系に対する座標変換パラメータを、対応するクライアント装置20に対して送信する。各クライアント装置20の座標変換部54は、サーバ装置10の空間結合部53から受信した座標変換パラメータを用いて、位置情報取得部51が取得した物体の位置座標に対する座標変換を行う。これにより空間結合部53は、現実空間内において特定された複数の単位部分それぞれのローカル座標系による位置座標を、ワールド座標系による仮想空間内の位置座標に変換することができる。
なお、座標変換部54は位置情報取得部51が取得した全ての単位部分の位置座標を変換する必要はない。例えば空間結合部53は、基準面を構成する単位部分の位置座標の変換は省略してもよい。また、所与のアルゴリズムに従ってユーザーの身体を構成する単位部分を特定し、その位置座標を変換することとしてもよい。変換された位置座標の情報は、サーバ装置10に送信される。
空間更新部55は、仮想空間構築部として機能し、各クライアント装置20から受信した物体の位置座標の情報を用いて、仮想空間の内容を更新する。具体的に空間更新部55は、クライアント装置20aから受信したユーザーAを構成する各単位部分の位置座標を用いて、仮想空間内にユーザーAを表すアバターAaを配置する。また、クライアント装置20bから受信したユーザーBを構成する各単位部分の位置座標を用いて、仮想空間内にユーザーBのアバターAbを配置する。ここで、各クライアント装置20から受信する位置座標は、空間結合部53が決定した座標変換パラメータに従って変換された後のワールド座標系による位置座標になっている。そのため、受信した位置座標をそのまま利用して仮想空間内に配置するアバターの位置や姿勢を決定することができる。
このようにして配置された各ユーザーのアバターは、それぞれのユーザーの現実空間内における姿勢や動きを反映して更新される。ここで、空間結合部53が決定した座標変換パラメータを用いて各ユーザーの位置が座標変換されることで、複数のユーザーのアバターは、同じ高さの水平基準面を共有することができる。例えば各ユーザーがいる部屋の床面が水平基準面として特定されている場合、各ユーザーのアバターは同じ高さの床面に立っている状態で仮想空間内に配置される。
また、テーブルの上面が水平基準面として特定されている場合、前述したように空間結合部53は、各ローカル座標系における水平基準面が一致するように座標変換パラメータを決定する。この場合において空間更新部55は、仮想空間内において水平基準面に対応する位置にその上面が一致するように、テーブルオブジェクトを配置する。これにより複数のユーザーは、仮想空間内で同じ高さのテーブルを共有することができる。すなわち、ユーザーAが自分の部屋にあるテーブルの上面に手を触れると、ユーザーAのアバターも仮想空間内に配置されたテーブルオブジェクトの上面に手を触れることになる。ユーザーBも同様に、自分の部屋にあるテーブルの上面に手を触れれば、仮想空間内において同じテーブルオブジェクトの上面に手を触れることができる。ここで、各ユーザーがいる部屋に現実に存在するテーブルの高さが違ったとしても、各テーブルの上面が一致するような座標変換を行うことによって、仮想空間内では同じ一つのテーブルオブジェクトを共有することができる。このため二人のユーザーは、自分の部屋のテーブルがあたかも離れたユーザーとの間で共有されているような感覚で、仮想空間内のテーブルオブジェクトやその上に配置されている仮想オブジェクトを触ったりすることができる。
また、空間結合部53が1個以上の鉛直基準面を共有するように座標変換パラメータを決定した場合、空間更新部55はその鉛直基準面に対応する仮想空間内の位置に壁面オブジェクトを配置する。これにより複数のユーザーは、床面又はテーブルの上面と同様に、仮想空間内において一つの壁面を離れた位置にいるユーザーと共有することができる。
図4は、このようにして空間更新部55が更新する仮想空間の様子を示す図である。この図の例では、一つの仮想空間内にユーザーAを表すアバターAaとユーザーBを表すアバターAbとが配置されている。さらに、ユーザーAが現実にいる空間の床面P1aとユーザーBが現実にいる空間の床面P1bとが一致するように、かつ、ユーザーAがいる空間の壁面P2aとユーザーBがいる空間の壁面P2bとが一致するように、座標変換パラメータが決定されている。これにより仮想空間内の床面P1vは床面P1a及びP1bの双方と対応し、壁面P2vは壁面P2a及びP2bの双方と対応している。そのため、ユーザーAが現実空間内において壁面P2aに手を触れるとアバターAaが壁面P2vに手を触れ、ユーザーBが現実空間内において壁面P2bに手を触れるとアバターAbが壁面P2vに手を触れることになる。これによりユーザーA及びBは、例えば自身の近くに存在する壁面を手でなぞるといった現実空間における動作を行うことによって、仮想空間内の壁面P2vに文字や絵を描いたりするなどの動作を実現できる。
なお、ここでは複数のユーザーを表すアバターは仮想空間内において鉛直基準面に対して同じ側に配置されることとしたが、一つの鉛直基準面に対して複数のアバターは逆側に配置されてもよい。例えばテニスなどを行う場合、二人の人物はネットを挟んで相対し、互いに相手側のコート内に進入することは想定されない。このようなシチュエーションを再現する場合、空間結合部53は二つのクライアント装置20によって特定された鉛直基準面が仮想空間内において表裏逆向きに一致するように(すなわち、各鉛直基準面のユーザー側に向けられた面が互いに逆向きになるように)各クライアント装置20に対する座標変換パラメータを決定する。このような座標変換パラメータによって変換されたワールド座標系の位置座標に応じて各ユーザーのアバターを仮想空間内に配置することによって、ユーザーは自身がいる部屋の壁に向かって立ち、壁の向こう側にいる他のユーザーのアバターと仮想空間内で相対することができる。
空間更新部55は、各ユーザーのアバターだけでなく、仮想空間内に配置するその他の仮想オブジェクトの位置や形状、大きさについても、各クライアント装置20から受信した単位部分の位置座標の情報を用いて決定してもよい。例えばユーザーAのいる部屋に箪笥が置いてある場合、その箪笥と近い形状の仮想オブジェクトを仮想空間内にも配置する。このような制御によれば、各ユーザーが現実空間において物体が存在する箇所に進入してしまわないようにすることができる。
また、空間結合部53によって互いに共有される基準面として選択された面以外の壁面が存在する場合、空間更新部55はその壁面に対応する壁面オブジェクトを仮想空間内に配置してもよい。具体的に、例えば一つの壁面が鉛直基準面として特定された場合、現実空間においてこの壁面と対向する壁面の位置は、各ユーザーがいる部屋の大きさによって相違することになる。この場合、基準面に対向する各ユーザーの部屋の壁面のうち、最も基準面に近い壁面と対応する仮想空間内の位置に、壁面オブジェクトを配置する。こうすれば、仮想空間内において各ユーザーが移動可能だと認識する範囲を、各ユーザーが現実にいる部屋のうちより狭い部屋の広さに合わせて制限することができる。これにより、複数のユーザーのうちのいずれかが進入できない空間には、誰も進入できないように演出することができる。
空間更新部55は、各クライアント装置20から受信した物体の情報に基づいて仮想空間内に配置した各仮想オブジェクトの情報を、各クライアント装置20に対して配信する。各クライアント装置20の空間画像描画部56は、空間更新部55から受信した情報を用いて仮想空間内の様子を示す空間画像を描画し、表示装置25に表示させる。このとき空間更新部55は、表示される空間画像を閲覧するユーザーの頭部の位置を特定し、その位置をワールド座標系に変換した位置に仮想カメラを配置する。そして、配置した仮想カメラから仮想空間内を見た様子を示す空間画像を描画する。これにより各ユーザーは、離れた場所にいる他のユーザーと共有する仮想空間内の様子を閲覧できる。この空間画像には、他のユーザーを表すアバターが含まれ得る。
以下、情報処理システム1が実行する処理の流れの一例について、図5のフロー図を用いて説明する。
まず初期処理として、各クライアント装置20の位置情報取得部51は、ユーザーの周囲の物体の位置情報を取得する(S1)。そして、取得した位置情報を用いてそれぞれのローカル座標系における基準面の位置を特定する(S2)。特定した基準面の位置情報はサーバ装置10に対して送信される(S3)。
サーバ装置10の空間結合部53は、S3で各クライアント装置20から送信された基準面の位置情報を用いて、各クライアント装置20のローカル座標系をワールド座標系に変換するための座標変換パラメータを決定する(S4)。前述したように空間結合部53は、各クライアント装置20から送信された基準面の位置が仮想空間内において一致するように、それぞれのクライアント装置20が使用する座標変換パラメータを決定する。空間結合部53は、S4で決定した座標変換パラメータを各クライアント装置20に送信する(S5)。これにより初期処理が完了する。
これ以降、情報処理システム1は、各ユーザーの位置情報の取得、及び取得した位置情報に応じた仮想空間の更新を繰り返すこととする。具体的に、各クライアント装置20の位置情報取得部51は、少なくともユーザーの身体を含む現在の物体の位置情報を取得する(S6)。座標変換部54は、S6で取得した位置情報をS5で受信した座標変換パラメータを用いてワールド座標系の位置座標に変換し(S7)、変換後の位置座標の情報をサーバ装置10に送信する(S8)。
サーバ装置10の空間更新部55は、S8で各クライアント装置20から受信した位置座標を用いて、仮想空間内に配置される仮想オブジェクトの情報を更新する(S9)。具体的に空間更新部55は、少なくとも各ユーザーに対応するアバターの位置及び姿勢をS8で受信したユーザーの位置情報を用いて更新する。その後、空間更新部55は、更新された仮想空間内の各仮想オブジェクトの位置情報を各クライアント装置20に対して送信する(S10)。
各クライアント装置20の空間画像描画部56は、S10で受信した仮想オブジェクトの位置情報を用いて仮想空間内の様子を示す空間画像を描画し、表示装置25に表示させる(S11)。このS6からS11までの処理を繰り返し実行することによって、それぞれ対応するユーザーの身体の動きを反映したアバターが複数存在する仮想空間の様子を各ユーザーに提示することができる。
以上説明した本発明の実施の形態によれば、各ユーザーがいる場所で特定された基準面を一致させるように決定された座標変換パラメータに従って座標変換を行うことで、各ユーザーは一つの仮想空間内で自身がいる場所の基準面を離れた場所にいる他のユーザーと共有することができる。これにより各ユーザーは、離れた場所にいる他のユーザーと同じ仮想空間を共有しつつ、仮想空間内で同じ物に触れて操作するようなインタラクションを実現できる。このような技術は、例えばリモート会議システムなどのように、机や壁を利用した複数人によるルームスケールのコミュニケーションに利用することができる。
なお、本発明の実施の形態は以上説明したものに限られない。例えば以上の説明では、ステレオカメラ26の撮像画像を用いてユーザーやユーザーの周囲に存在する基準面の位置を特定することとしたが、これに限らずクライアント装置20は例えばTOF形式のセンサーなどを用いて現実空間内に存在する物体の位置を検出してもよい。また、表示装置25に搭載されたカメラによって撮像された画像の動きに応じて、SLAM技術等を利用してユーザーの動きやユーザーの周囲に存在する物体の位置を特定してもよい。また、Patterned Stereoや、Structured Lightなどの技術を利用して物体の位置を検出してもよい。さらにクライアント装置20は、現実空間に配置された複数のセンサーデバイスの検出結果を組み合わせてユーザーの位置や基準面の位置を特定してもよい。
また、以上の説明ではステレオカメラ26の撮像画像を用いて特定された単位部分ごとにローカル座標系からワールド座標系への座標変換を行うこととしたが、これ以外の単位で座標変換を行うこととしてもよい。例えばクライアント装置20はステレオカメラ26の撮像画像を用いてユーザーの身体の骨格モデルを推定し、推定した骨格モデルを構成する特徴点の位置座標に対して座標変換を行ってもよい。
また、以上の説明においてクライアント装置20が実行することとした処理の少なくとも一部は、サーバ装置10によって実行されてもよい。一例として、ローカル座標系の位置座標からワールド座標系への座標変換をサーバ装置10が実行してもよい。この場合、サーバ装置10は座標変換パラメータを各クライアント装置20に送信する必要はなくなる。逆に、以上の説明においてサーバ装置10が実行することとした処理の少なくとも一部を、クライアント装置20が実行してもよい。また、複数のクライアント装置20のいずれか一つが以上の説明においてサーバ装置10としても機能することとしてもよい。
1 情報処理システム、10 サーバ装置、11 制御部、12 記憶部、13 通信部、20 クライアント装置、21 制御部、22 記憶部、23 通信部、24 インタフェース部、25 表示装置、26 ステレオカメラ、51 位置情報取得部、52 基準面特定部、53 空間結合部、54 座標変換部、55 空間更新部、56 空間画像描画部。
Claims (11)
- 第1のユーザーの周囲の第1の空間に存在する平面の位置情報、及び第2のユーザーの周囲の第2の空間に存在する平面の位置情報を取得する取得部と、
前記第1の空間に存在する平面と前記第2の空間に存在する平面の位置を一致させるように、前記第1及び第2の空間それぞれの位置座標を仮想空間の位置座標に変換する座標変換パラメータを決定する変換パラメータ決定部と、
を含み、
前記決定された変換パラメータに従って前記第1及び第2の空間のそれぞれに存在する物体の位置が前記仮想空間内の位置に変換される
ことを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置において、
前記第1の空間に存在する平面、及び前記第2の空間に存在する平面はいずれも水平面である
ことを特徴とする情報処理装置。 - 請求項1又は2に記載の情報処理装置において、
前記取得部は、前記第1の空間に存在する複数の平面の位置情報、及び前記第2の空間に存在する複数の平面の位置情報を取得し、
前記変換パラメータ決定部は、前記第1の空間に存在する複数の平面のそれぞれと、前記第2の空間に存在する複数の平面のそれぞれとが一致するように、前記座標変換パラメータを決定する
ことを特徴とする情報処理装置。 - 請求項3に記載の情報処理装置において、
前記取得部は、前記第1の空間に存在する第1の水平面、及び第1の鉛直面の位置情報と、前記第2の空間に存在する第2の水平面、及び第2の鉛直面の位置情報を取得し、
前記変換パラメータ決定部は、前記第1の水平面が前記第2の水平面と、前記第1の鉛直面が前記第2の鉛直面と、それぞれ一致するように、前記座標変換パラメータを決定する
ことを特徴とする情報処理装置。 - 請求項4に記載の情報処理装置において、
前記取得部は、前記第1の空間において前記第1の鉛直面に隣接する第1の隣接鉛直面の位置情報と、前記第2の空間において前記第2の鉛直面に隣接する第2の隣接鉛直面の位置情報とをさらに取得し、
前記変換パラメータ決定部は、前記第1の隣接鉛直面と前記第2の隣接鉛直面とがさらに一致するように、前記変換パラメータを決定する
ことを特徴とする情報処理装置。 - 請求項5に記載の情報処理装置において、
前記変換パラメータ決定部は、前記第1の隣接鉛直面と前記第1の鉛直面がなす角度と前記第2の隣接鉛直面と前記第2の鉛直面がなす角度とが一致する場合に、前記第1の隣接鉛直面と前記第2の隣接鉛直面とが一致するように前記変換パラメータを決定し、角度が一致しない場合には、前記第1の水平面と前記第2の水平面、及び前記第1の鉛直面と前記第2の鉛直面だけが一致するように前記座標変換パラメータを決定する
ことを特徴とする情報処理装置。 - 請求項4から6のいずれか一項に記載の情報処理装置において、
前記変換パラメータ決定部は、前記第1の鉛直面の前記第1のユーザー側の面と前記第2の鉛直面の前記第2のユーザー側の面とが互いに逆向きになるように、前記変換パラメータを決定する
ことを特徴とする情報処理装置。 - 請求項1から7のいずれか一項に記載の情報処理装置において、
前記第1の空間に存在する平面、及び前記第2の空間に存在する平面の双方に対応する基準面を含む仮想空間を構築する仮想空間構築部をさらに含み、
前記仮想空間構築部は、前記仮想空間内においてユーザーが移動可能な範囲を、前記第1の空間、及び前記第2の空間のうち狭い方の空間に応じた範囲に制限する
ことを特徴とする情報処理装置。 - 複数のクライアント装置とサーバ装置とを含む情報処理システムであって、
前記サーバ装置は、
前記複数のクライアント装置のそれぞれから、当該クライアント装置のユーザーの周囲の空間に存在する平面の位置情報を取得する平面位置取得部と、
前記複数のクライアント装置から取得した前記平面の位置が互いに一致するように、前記複数のクライアント装置のそれぞれを使用するユーザーの周囲の空間の位置座標を仮想空間の位置座標に変換する座標変換パラメータを決定する変換パラメータ決定部と、
を含み、
前記複数のクライアント装置のそれぞれは、
当該クライアント装置を使用するユーザーの周囲の空間に存在する物体の位置座標を取得する物***置取得部と、
前記物体の位置座標を、前記座標変換パラメータに従って前記仮想空間内の位置に変換する座標変換部と、
を含むことを特徴とする情報処理システム。 - 第1のユーザーの周囲の第1の空間に存在する平面の位置情報、及び第2のユーザーの周囲の第2の空間に存在する平面の位置情報を取得するステップと、
前記第1の空間に存在する平面と前記第2の空間に存在する平面の位置を一致させるように、前記第1及び第2の空間それぞれの位置座標を仮想空間の位置座標に変換する座標変換パラメータを決定するステップと、
を含み、
前記決定された変換パラメータに従って前記第1及び第2の空間のそれぞれに存在する物体の位置が前記仮想空間内の位置に変換される
ことを特徴とする情報処理方法。 - 第1のユーザーの周囲の第1の空間に存在する平面の位置情報、及び第2のユーザーの周囲の第2の空間に存在する平面の位置情報を取得するステップと、
前記第1の空間に存在する平面と前記第2の空間に存在する平面の位置を一致させるように、前記第1及び第2の空間それぞれの位置座標を仮想空間の位置座標に変換する座標変換パラメータを決定するステップと、
をコンピュータに実行させるためのプログラムであって、
前記決定された変換パラメータに従って前記第1及び第2の空間のそれぞれに存在する物体の位置が前記仮想空間内の位置に変換される
ことを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019170720A JP2021047720A (ja) | 2019-09-19 | 2019-09-19 | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
US17/009,885 US11263813B2 (en) | 2019-09-19 | 2020-09-02 | Information processing device, information processing system, and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019170720A JP2021047720A (ja) | 2019-09-19 | 2019-09-19 | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021047720A true JP2021047720A (ja) | 2021-03-25 |
Family
ID=74878534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019170720A Pending JP2021047720A (ja) | 2019-09-19 | 2019-09-19 | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11263813B2 (ja) |
JP (1) | JP2021047720A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021261346A1 (ja) * | 2020-06-23 | 2021-12-30 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、方法、プログラム及び情報処理システム |
CN114527880A (zh) * | 2022-02-25 | 2022-05-24 | 歌尔科技有限公司 | 空间位置识别方法、装置、设备及存储介质 |
DE112022003530T5 (de) | 2021-07-13 | 2024-05-23 | Sony Group Corporation | Informationsverarbeitungseinrichtung, informationsverarbeitungsverfahren und programm |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11831854B2 (en) * | 2018-12-17 | 2023-11-28 | Sony Interactive Entertainment Inc. | Information processing system, information processing method, and computer program |
EP4258211A1 (en) * | 2022-04-05 | 2023-10-11 | Auki Labs AG | A computer implemented method for adjusting an orientation and/or a position of a virtual representation of a first electronic device in a virtual space |
JP2024066933A (ja) * | 2022-11-02 | 2024-05-16 | キヤノン株式会社 | システム、及び方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130141419A1 (en) * | 2011-12-01 | 2013-06-06 | Brian Mount | Augmented reality with realistic occlusion |
US11145125B1 (en) * | 2017-09-13 | 2021-10-12 | Lucasfilm Entertainment Company Ltd. | Communication protocol for streaming mixed-reality environments between multiple devices |
-
2019
- 2019-09-19 JP JP2019170720A patent/JP2021047720A/ja active Pending
-
2020
- 2020-09-02 US US17/009,885 patent/US11263813B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021261346A1 (ja) * | 2020-06-23 | 2021-12-30 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、方法、プログラム及び情報処理システム |
DE112022003530T5 (de) | 2021-07-13 | 2024-05-23 | Sony Group Corporation | Informationsverarbeitungseinrichtung, informationsverarbeitungsverfahren und programm |
CN114527880A (zh) * | 2022-02-25 | 2022-05-24 | 歌尔科技有限公司 | 空间位置识别方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20210090329A1 (en) | 2021-03-25 |
US11263813B2 (en) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2021047720A (ja) | 情報処理装置、情報処理システム、情報処理方法、及びプログラム | |
KR101691633B1 (ko) | 무선 손목 컴퓨팅과 3d 영상화, 매핑, 네트워킹 및 인터페이스를 위한 제어 장치 및 방법 | |
JP6933727B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP5773944B2 (ja) | 情報処理装置および情報処理方法 | |
CN113711109A (zh) | 具有直通成像的头戴式显示器 | |
US11750789B2 (en) | Image display system | |
KR102214263B1 (ko) | 화상 생성 장치, 화상 생성 방법, 컴퓨터 프로그램, 및 기록 매체 | |
WO2020042970A1 (zh) | 一种三维建模的方法及其装置 | |
KR101892735B1 (ko) | 직관적인 상호작용 장치 및 방법 | |
CN105518584A (zh) | 利用热区识别交互 | |
TW201835723A (zh) | 圖形處理方法和裝置、虛擬實境系統和計算機儲存介質 | |
Jia et al. | 3D image reconstruction and human body tracking using stereo vision and Kinect technology | |
US11508141B2 (en) | Simple environment solver using planar extraction | |
JP2013061937A (ja) | ステレオカメラ及びステレオディスプレイを組み合わせたやり取り | |
JP2016031673A (ja) | 情報処理装置および情報処理方法 | |
JP5833526B2 (ja) | 映像コミュニケーションシステム及び映像コミュニケーション方法 | |
JP2015084002A (ja) | ミラーディスプレイシステム、及び、その映像表示方法 | |
KR20180120456A (ko) | 파노라마 영상을 기반으로 가상현실 콘텐츠를 제공하는 장치 및 그 방법 | |
JP6695997B2 (ja) | 情報処理装置 | |
JP6775669B2 (ja) | 情報処理装置 | |
JP2004030408A (ja) | 三次元画像表示装置及び表示方法 | |
Piérard et al. | I-see-3d! an interactive and immersive system that dynamically adapts 2d projections to the location of a user's eyes | |
JPWO2018062251A1 (ja) | 情報処理装置 | |
JP6739539B2 (ja) | 情報処理装置 | |
Rafighi et al. | Automatic and adaptable registration of live RGBD video streams |