(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】空間認識システム、情報端末、および空間認識方法
(51)【国際特許分類】
G06T 19/00 20110101AFI20240611BHJP
【FI】
G06T19/00 600
(21)【出願番号】P 2021575161
(86)(22)【出願日】2020-02-05
(86)【国際出願番号】 JP2020004388
(87)【国際公開番号】W WO2021156977
(87)【国際公開日】2021-08-12
【審査請求日】2022-07-22
(73)【特許権者】
【識別番号】000005810
【氏名又は名称】マクセル株式会社
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】橋本 康宣
(72)【発明者】
【氏名】高見澤 尚久
(72)【発明者】
【氏名】秋山 仁
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開2011-186808(JP,A)
【文献】特表2014-515854(JP,A)
【文献】特開2016-115268(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G01C 3/06
G06F 3/01
G06F 3/048- 3/04895
(57)【特許請求の範囲】
【請求項1】
空間を測定するセンサを備え、第1座標系を有する情報端末と、
前記第1座標系と異なる第2座標系に基づいた処理を行う情報処理装置と、を備え、
前記情報端末は、前記情報処理装置と分担して空間の認識を行う場合、前記情報処理装置との間の位置および向きを測定し、測定したデータに基づいて、前記第2座標系を前記第1座標系に変換する変換パラメータを計算し、
前記センサにより空間内の第1領域を測定し、前記第1座標系で記述された第1部分空間データを作成し、
前記情報処理装置から前記空間内の第2領域に関する部分空間データを受信し、
前記変換パラメータを用いて、前記受信した部分空間データを前記第2座標系から前記第1座標系で記述された第2部分空間データに変換し、
前記第1部分空間データと前記第2部分空間データを統合し、
前記第1領域と前記第2領域により前記空間の所定割合以上がカバーされたと判断した場合、前記センサによる測定を終了する、
空間認識システム。
【請求項2】
請求項1記載の空間認識システムにおいて、
前記情報端末は、さらにカメラと表示画面とを備え、
前記情報端末は、前記カメラで撮影された画像により前記情報処理装置を認識し、前記情報処理装置に合わせたガイド画像を前記カメラで撮影された画像に重畳して前記表示画面に表示し、前記センサを用いて前記情報処
理装置との間の位置および向きを測定する、
空間認識システム。
【請求項3】
空間認識システムに用いられ、第1座標系を有する情報端末であって、
空間内の物体との間の位置および向きを測定するセンサと、
前記第1座標系と異なる第2座標系に基づいた処理を行う情報処理装置と通信を行う通信インタフェースと、
プロセッサと、を備え、
前記プロセッサは、
前記情報処理装置と分担して空間の認識を行う場合、前記センサを用いて前記情報処理装置との間の位置および向きを測定し、測定したデータに基づいて、前記第2座標系を前記第1座標系に変換する変換パラメータを計算し、
前記センサにより空間内の第1領域を測定し、前記第1座標系で記述された第1部分空間データを作成し、
前記通信インタフェースを用いて、前記情報処理装置から前記空間内の第2領域に関する部分空間データを受信し、
前記変換パラメータを用いて、前記受信した部分空間データを前記第2座標系から前記第1座標系で記述された第2部分空間データに変換し、
前記第1部分空間データと前記第2部分空間データを統合し、
前記第1領域と前記第2領域により前記空間の所定割合以上がカバーされたと判断した場合、前記センサによる測定を終了する、
情報端末。
【請求項4】
請求項3に記載の情報端末において、
さらにカメラと表示画面とを備え、
前記プロセッサは、前記カメラで撮影された画像により前記情報処理装置を認識し、前記情報処理装置に合わせたガイド画像を前記カメラで撮影された画像に重畳して前記表示画面に表示し、前記センサを用いて前記情報処
理装置との間の位置および向きを測定する、
情報端末。
【請求項5】
空間を測定するセンサを備え、第1座標系を有する情報端末の空間認識方法であって、
前記第1座標系と異なる第2座標系に基づいた処理を行う情報処理装置と分担して空間の認識を行う場合、前記センサを用いて前記情報処理装置との間の位置および向きを測定し、測定したデータに基づいて、前記第2座標系を前記第1座標系に変換する変換パラメータを計算するステップと、
前記センサにより空間内の第1領域を測定し、前記第1座標系で記述された第1部分空間データを作成するステップと、
前記情報処理装置から前記空間内の第2領域に関する部分空間データを受信するステップと、
前記変換パラメータを用いて、前記受信した部分空間データを前記第2座標系から前記第1座標系で記述された第2部分空間データに変換するステップと、
前記第1部分空間データと前記第2部分空間データを統合するステップと、
前記第1領域と前記第2領域により前記空間の所定割合以上がカバーされたと判断した場合、前記センサによる測定を終了するステップと、
を有する、空間認識方法。
【請求項6】
請求項5に記載の空間認識方法において、
前記情報端末は、さらにカメラと表示画面とを備え、
前記情報端末が、前記カメラで撮影された画像により前記情報処理装置を認識し、前記情報処理装置に合わせたガイド画像を前記カメラで撮影された画像に重畳して前記表示画面に表示し、前記センサを用いて前記情報処
理装置との間の位置および向きを測定するステップ、
を有する、空間認識方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報端末が空間を認識するためのシステム等の技術に関する。
【背景技術】
【0002】
ヘッドマウントディスプレイ(HMD)やスマートフォン等の情報端末は、仮想現実(VR)や拡張現実(AR)等に対応した画像(仮想画像等と記載する場合がある)を表示面に表示する機能を有する。例えば、ユーザに装着されたHMDは、部屋等の空間内で、壁や机等の実物に合わせた位置にARの画像を表示する。
【0003】
上記技術に係わる先行技術例として、特表2014-514653号公報(特許文献1)が挙げられる。特許文献1には、複数の端末において、カメラのキャプチャに基づいて、実空間内の同一の物体、例えば机面を、アンカー表面として認識し、各端末からそのアンカー表面に仮想物体を表示することで、殆ど同じ位置に仮想物体を表示する旨の技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記情報端末は、AR等の機能において好適に仮想画像を表示できるためには、空間内の壁や机等の実物についての位置・向き・形状等を、なるべく高精度に把握することが好ましい。情報端末は、その把握のために、カメラやセンサを用いて自機の周囲の空間を検出・測定する機能を有する。例えば、HMDは、自機のセンサから出射した光が周囲の物体に当たって戻ってくる際の反射点を、特徴点として検出でき、周囲の複数の特徴点を点群データとして取得できる。HMDは、このような点群データを用いて、空間の形状等を表す空間データ(言い換えると情報端末が空間を認識するためのデータ)を構成できる。
【0006】
しかしながら、ユーザの情報端末が、実世界内の広大な空間や多数の空間を対象として上記測定を行う場合には、効率、ユーザの利便性や作業負荷、等に関して課題がある。例えば、ある建物内の空間を一人のユーザが情報端末で測定する作業を行う場合に、長時間がかかり、負荷が大きい場合がある。
【0007】
また、あるユーザの情報端末が、部屋等の空間を1回測定して把握し、AR画像表示等に利用した後、その空間を再度利用する場合に、再度測定しなければならないということでは、効率等が良くない。
【0008】
本発明の目的は、情報端末が空間を測定して空間データを作成・登録でき、情報端末がその空間データを取得して利用できる技術、ならびに、複数のユーザの複数の情報端末間でその空間データおよび対応する空間認識を共有することができる技術を提供することである。
【課題を解決するための手段】
【0009】
本発明のうち代表的な実施の形態は、以下に示す構成を有する。一実施の形態の空間認識システムは、空間を測定する機能および表示面に仮想画像を表示する機能を有し端末座標系を有する情報端末と、共通座標系に基づいた処理を行う情報処理装置と、を備え、前記情報端末は、前記端末座標系と前記共通座標系との間の、位置および向きに関する関係を測定し、測定した関係を表すデータに基づいて、前記端末座標系と前記共通座標系とを適合させ、前記情報端末と前記情報処理装置は、前記空間の認識の共有を行う。
【発明の効果】
【0010】
本発明のうち代表的な実施の形態によれば、情報端末が空間を測定して空間データを作成・登録でき、情報端末がその空間データを取得して利用でき、複数のユーザの複数の情報端末間でその空間データおよび対応する空間認識を共有することができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施の形態1の空間認識システムの構成を示す図である。
【
図2】本発明の実施の形態1の空間認識方法の構成を示す図である。
【
図3】実施の形態1で、空間の構成例を示す図である。
【
図4】実施の形態1で、空間の分担測定例を示す図である。
【
図5】実施の形態1で、空間の利用例を示す図である。
【
図6】実施の形態1で、情報端末であるHMDの外観構成例を示す図である。
【
図7】実施の形態1で、情報端末であるHMDの機能ブロック構成例を示す図である。
【
図8】実施の形態1で、座標系ペアリングについての説明図である。
【
図9】実施の形態1で、位置伝達等についての説明図である。
【
図10】実施の形態1で、情報端末間の処理フローを示す図である。
【
図11】実施の形態1で、情報端末による表示例を示す図である。
【
図12】実施の形態1で、座標系の回転等についての説明図である。
【
図13】実施の形態1の変形例2における、座標系ペアリング等についての説明図である。
【
図14】実施の形態1の変形例2における、変換パラメータについての説明図である。
【
図15】実施の形態1の変形例3における、座標系ペアリング等についての説明図である。
【
図16】本発明の実施の形態2の空間認識システムの構成を示す図である。
【
図17】実施の形態2で、座標系ペアリングについての説明図である。
【
図18】実施の形態2の変形例4についての説明図である。
【
図19】本発明の実施の形態3の空間認識システムの構成を示す図である。
【
図20】実施の形態3で、標識の構成例を示す図である。
【
図21】実施の形態3で、情報端末とサーバの処理フローを示す図である。
【
図22】実施の形態3の変形例5についての説明図である。
【
図23】実施の形態3の変形例6に係わる処理フローを示す図である。
【
図24】実施の形態3の変形例6に係わる説明図である。
【
図25】本発明の実施の形態4の空間認識システムにおける、情報端末による表示例1を示す図である。
【
図26】実施の形態4で、空間の分担例を示す図である。
【
図27】実施の形態4で、情報端末による表示例2を示す図である。
【
図28】実施の形態4で、情報端末による表示例3を示す図である。
【
図29】実施の形態4で、情報端末による表示例4を示す図である。
【
図30】実施の形態4で、情報端末による表示例5を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、全図面において同一部には原則として同一符号を付し、繰り返しの説明は省略する。
【0013】
<実施の形態1>
図1~
図12等を用いて、本発明の実施の形態1の空間認識システムおよび方法等について説明する。以下、情報端末装置を端末と記載する場合がある。
【0014】
従来では、HMD等の端末に関して、利用する対象となる空間を、複数のユーザの複数の端末によって空間的または時間的に分担して測定し、空間データを作成・登録するといった概念や、そのための好適な技術については、検討が不十分であった。実施の形態1の空間認識システムおよび方法は、そのような分担による空間の測定、空間データの作成、空間データの共有・再利用といった概念、ならびにそのための一連の手続き等の好適な技術を提供する。このシステムおよび方法は、空間の測定、空間データの作成、空間データの共有・再利用等を、効率的に、例えば高速に実現する。
【0015】
まず、本発明の基本構成を
図31に示す。本発明の基本構成は、空間2を測定する機能および表示面に仮想画像を表示する機能を有し端末座標系WTを有する情報端末1と、共通座標系WSによって記述された空間データ6を処理する情報処理装置9とからなる。情報処理装置9は、情報端末1とは別の情報端末、または後述するサーバ4(
図16等)である。情報端末1は、端末座標系WTと共通座標系WSとの間の、位置および向きに関する関係を測定し、測定した関係を表すデータに基づいて端末座標系WTと共通座標系WSとを適合させる。これを座標系ペアリングと呼ぶ(後述)。この座標系ペアリングにより、情報端末1と情報処理装置9は、空間認識の共有を行う。
【0016】
空間データ6の共有は、共通座標系WSによる空間データ6の記述を媒介にして行われる。例えば、情報端末1は空間2を測定して空間データ6を取得し、情報処理装置9より共通座標系WSに基づいて記述された空間データ6を取得する。情報端末1は、情報処理装置9から取得した空間データ6を自機の端末座標系WTに変換し、自機で測定した空間データ6と統合した上で空間データ6を利用する。あるいは、情報端末1は、自機で測定した空間データ6を共通座標系WSによる記述に変換し、情報処理装置9に提供する。情報処理装置9は、提供された空間データ6と保持していた空間データ6を総合して、これを利用する。
【0017】
図1等に示す実施の形態1の空間認識システムは、複数のユーザの複数の端末1による分担で空間2を測定し、測定データに基づいて空間データ6を作成する。物体の表面方向、物体間の遮蔽関係を明確にするために、空間データ6には、測定時の端末1の位置(測定起点)を含めてもよい。複数のユーザの複数の端末1間では、その空間データ6を互いに提供し、共有して利用でき、同じ空間2内の位置や向き等の認識を共有できる。これにより、複数の端末1間では、例えばAR機能等を用いる際に、空間2内で、所望の同じ位置21に同じ仮想画像22を表示することが容易にでき、作業やコミュニケーション等が好適に実現できる。このシステムによれば、一人のユーザの端末によって測定等の作業を行う場合よりも、効率的な作業が実現できる。なお、実施の形態1では、端末1が空間データ6を保持する。また、
図31での情報処理装置9は
図1での端末1であり、共通座標系WSは、複数の端末1間で空間データ6の授受を行う際に記述の基準に用いるどちらかの端末1の端末座標系WTである。
【0018】
実施の形態1の空間認識システムおよび方法は、上記分担での空間2の測定や認識に係わる、座標系間の適合等の仕組みを有する。一般に、空間の有する座標系(「空間座標系」と記載する場合がある)や各端末の有する座標系(「端末座標系」と記載する場合がある)は、基本的にはそれぞれ異なる座標系であり、少なくとも最初は一致していない。そこで、実施の形態では、上記分担の際、各端末1の有する各端末座標系間で、それらを相互に関連付けて適合させる動作を、「座標系ペアリング」として行う。この動作によって、端末1には、座標系変換のための変換パラメータ7が設定される。この座標系ペアリングが確立された状態では、変換パラメータ7によって、座標系間で相互に位置や向き等が変換できる。これにより、分担を行う各端末1間では、同じ空間2についての位置等の認識が共有できる。各端末1は、分担での測定によって各端末座標系で記述された部分的な空間データ6を作成する。そして、各端末座標系で記述された複数の部分的な空間データは、変換パラメータ7を用いた変換、および統合によって、ある統一された端末座標系で記述された、空間2を単位とした空間データ6として構成することができる。
【0019】
[空間認識システム]
図1は、実施の形態1の空間認識システムの構成を示す。本例では、端末1が使用する対象の空間2を、建物内の1つの部屋とし、端末1として特にHMDを使用する場合を説明する。実施の形態1の空間認識システムは、複数の各ユーザ、例えばユーザU1,U2が携帯または装着する、複数の各端末1、例えば第1端末1Aおよび第2端末1Bと、各端末1の測定や利用の対象となる空間2とを有する。各端末1は、空間データ6や変換パラメータ7を作成し保持する。端末1は、スマートフォン1a,1bやタブレット端末等の装置としてもよい。各端末1は、無線LANのアクセスポイント23等を通じて、インターネットやモバイル網等を含む通信網に接続され、通信網を介して外部装置とも通信できる。
【0020】
空間2は、識別や区分して管理される任意の空間であり、例えば建物内の1つの部屋である。本例では、この部屋の空間2が、分担による空間データ6の作成対象であり、複数の端末1による認識共有対象である。
【0021】
複数の端末1は、例えば、第1ユーザU1の第1端末1A(=第1HMD)と、第2ユーザU2の第2端末1B(=第2HMD)とを有する。端末1であるHMDは、筐体に、透過型の表示面11、カメラ12、測距センサ13等を備え、ARの仮想画像を表示面11に表示する機能等を有する。同様に、スマートフォン1a,1bは、タッチパネル等の表示面、カメラ、測距センサ等を備え、ARの仮想画像を表示面に表示する機能等を有する。なお、端末1としてスマートフォン等を用いる場合も、HMDの場合と概略同様の機能等が実現できる。例えば、ユーザは、手に持ったスマートフォンの表示面に表示されるAR等の仮想画像を見る。
【0022】
各端末1は、自機と相手の端末1との間で座標系ペアリングを行う機能を有する。各端末1は、自機の端末座標系(例えば第1端末座標系WA)と相手の端末座標系(例えば第2端末座標系WB)との関係を測定し、その関係に基づいて変換パラメータ7を生成し、自機または相手の少なくとも一方に設定する。複数の端末1(1A,1B)は、対象の空間2を分担して測定し、それぞれの部分的な空間データ6(「部分空間データ」と記載する場合がある)を作成する。例えば、第1端末1Aは空間データD1Aを作成し、第2端末1Bは空間データD1Bを作成する。複数の端末1は、それらの部分的な空間データ6から、空間2を単位とした空間データ6(例えば空間データD1)を作成し、この空間データ6を用いて空間2の認識を共有できる。端末1は、カメラ12や測距センサ13等を用いて空間2を測定し、測定データに基づいて空間データ6を作成する機能を有する。端末1は、変換パラメータ7を用いて、測定データや空間データ6の表現に関する座標系間の変換ができる。
【0023】
端末座標系(WA,WB)間の関係は、概略的には以下のように求められる。まず、実空間内における異なる2つの特定方向での、各端末座標系(WA,WB)での表現の測定に基づいて、座標系間の回転の関係が求められる。次に、端末1間の位置の関係の測定に基づいて、各端末座標系間の原点の関係が求められる。変換パラメータ7は、上記回転のパラメータと原点のパラメータとで構成できる。
【0024】
実施の形態1では、複数の端末1間で、いずれかの端末1の端末座標系(例えば第1端末座標系WA)を共通座標系として、2台の端末1のペア毎に座標系ペアリングを行う。これにより、少なくともいずれかの端末1(例えば第1端末1A)は、変換パラメータ7を作成し保持する。その後、各端末1は、空間2を分担して測定し、各端末座標系で記述された各部分空間データを作成する。各端末1は、各部分空間データを、他の各端末1との間で共通座標系に基づいて記述されたデータとして授受・交換してもよい。端末1は、変換パラメータ7を用いて、部分空間データを、自機の端末座標系に基づいた記述と共通座標系に基づいた記述との間で変換する。自機の端末座標系が共通座標系である場合は、この変換は不要である。そして、端末1は、統一された端末座標系で記述された複数の部分空間データから、統合によって空間2を単位とした空間データ6を得る。これにより、複数の端末1は、その空間データ6を用いて、同じ空間2内で同じ位置21に同じ仮想画像22を好適に表示できる。
【0025】
なお、非透過型ディスプレイを備える端末1の場合でも、その端末1の端末座標系が実空間に固定されている間は、表示面11に表示している仮想画像の表示位置を他の端末1と共有できる。
【0026】
[座標系]
実施の形態1では、各端末1や空間2において、実空間内の位置や向き等を指定するための基準となる座標系を、世界座標系と呼ぶ。各端末1は、各自の世界座標系として端末座標系を有する。
図1で、第1端末1Aは第1端末座標系WAを有し、第2端末1Bは第2端末座標系WBを有する。各端末座標系は、端末1の位置や向き(言い換えると姿勢、回転の状態)、画像表示位置等を認識し制御するための座標系である。これらの端末座標系は、端末1毎に設定されているため、基本的には異なる座標系であり、最初の状態では一致していない。また、空間2は、その空間2の位置や向きを表す世界座標系として、空間座標系W1を有する。実施の形態1では、空間データ6の測定や作成には空間座標系W1を用いない。実施の形態1では、空間データ6は、端末座標系で記述される。第1端末座標系WA、第2端末座標系WB、および空間座標系W1は、異なる座標系である。各世界座標系の原点および方向は、実空間(地球や地域等)内に固定されている。
【0027】
第1端末座標系WAは、原点O
Aと、直交する3軸として軸X
A、軸Y
A、および軸Z
Aとを有する。第2端末座標系WBは、原点O
Bと、直交する3軸として軸X
B、軸Y
B、および軸Z
Bとを有する。空間座標系W1は、原点O
1と、直交する3軸として軸X
1、軸Y
1、および軸Z
1とを有する。原点O
A,O
Bおよび原点O
1は、それぞれ実空間内の所定の位置に固定されている。第1端末座標系WAにおける第1端末1Aの位置LAや、第2端末座標系WBにおける第2端末1Bの位置LBは、例えば筐体中心位置として予め規定されている(
図8)。
【0028】
端末1は、空間2の認識を共有する場合に、他の端末1との間で座標系ペアリングを行う。例えば、分担する端末1(1A,1B)は、互いに座標系ペアリングを行う。座標系ペアリングの際、各端末1は、互いに所定の諸量を測定・取得し(
図8)、その諸量に基づいて端末座標系(WA,WB)間の関係を求める。各端末1は、その関係から、端末座標系(WA,WB)間の変換パラメータ7を計算する。座標系ペアリングが確立された状態では、各端末1は、変換パラメータ7を用いて互いに位置等の変換が可能となる。すなわち、各端末1は、空間2の測定によって作成した空間データ6における位置等の表現を、共通座標系での表現に変換することができる。各端末1は、共通座標系を基準として記述された空間データ6を媒介として、空間データ6の授受を行う。これにより、各端末1は、各端末1で測定された部分空間データを統合し、統一された端末座標系で記述された空間データ6を作成することができる。なお、座標系ペアリング後では、各端末1は、自機の内部制御を、自機の端末座標系を基本として行うことに限らず、相手の端末座標系を基本として行うことも可能である。
【0029】
[空間認識方法]
図2は、実施の形態1の空間認識方法の概要および処理例を示す。この方法は、図示するステップS1~S9を有する。
図2の例では、空間2の分担(後述の
図3)として、第1端末1Aが領域2Aを測定し、第2端末1Bが領域2Bを測定する。また、
図2の例では、第1端末1Aで変換パラメータ7を生成し、空間2を単位とする空間データ6(6A,6B)を構成し、第1端末1Aが第2端末1Bに空間データ6Bを提供する。ここでは、第2端末1Bが基本構成(
図31)における情報処理装置9であり、第2端末座標系WBが共通座標系WSに相当する。
【0030】
ステップS1で、第1端末1Aは、第2端末1Bとの座標系ペアリング(後述の
図8)を行い、これにより、第1端末座標系WAと第2端末座標系WBとの変換のための変換パラメータ7を生成し、自機に設定する。
【0031】
ステップS2で、第1端末1Aは、分担による領域2Aを測定し、第1端末座標系WAで記述された部分的な空間データ6(部分空間データD1Aとする)を作成する。なお図面中の※印はその空間データを記述する座標系を示す。一方、ステップS3で、第2端末1Bは、同様に、分担による領域2Bを測定し、第2端末座標系WBで記述された部分的な空間データ6(部分空間データD1Bとする)を作成する。ステップS2,S3は同時並列で実行可能である。
【0032】
ステップS4で、第1端末1Aは、第2端末1Bから部分空間データD1Bを受信・取得する。ステップS5で、第1端末1Aは、変換パラメータ7を用いて、部分空間データD1Bを、第1端末座標系WAで記述された部分的な空間データ6(部分空間データD1BAとする)に変換する。
【0033】
ステップS6で、第1端末1Aは、部分空間データD1Aと部分空間データD1BAとを1つに統合して、第1端末座標系WAで記述された空間2を単位とする空間データ6A(D1)として得る。これにより、第1端末1Aは、領域2Aのみの測定でも、空間2を単位とした空間データ6A(D1)が得られる。
【0034】
さらに、以下のステップを有する。ステップS7で、第1端末1Aは、変換パラメータ7を用いて、部分空間データD1Aを、第2端末座標系WBで記述された部分的な空間データ6(部分空間データD1ABとする)に変換する。ステップS8で、第1端末1Aは、部分空間データD1Bと部分空間データD1ABとを1つに統合して、第2端末座標系WBで記述された、空間2を単位とした空間データ6B(D1)として得る。ステップS9で、第1端末1Aは、空間データ6B(D1)を第2端末1Bへ送信する。これにより、第2端末1Bは、領域2Bのみの測定でも、空間2を単位とした空間データ6B(D1)が得られる。
【0035】
上記方法によって、同じ空間2について、第1端末1Aは、第1端末座標系WAで記述された空間データ6A(D1)を取得し、第2端末1Bは、第2端末座標系WBで記述された空間データ6B(D1)を取得する。よって、それらの端末1(1A,1B)間で空間2の認識を共有できる。例えば、第1端末1Aと第2端末1Bは、空間2内の同じ位置21に同じ仮想画像22を表示できる(後述の
図5)。その際、第1端末1Aは、空間データ6A(D1)に基づいて第1端末座標系WAで記述された位置21に仮想画像22を表示する。第2端末1Bは、空間データ6B(D1)に基づいて第2端末座標系WBで記述された位置21に仮想画像22を表示する。
【0036】
上記方法は、第2端末1Bで変換パラメータ7を生成し、空間データ6を構成する場合にも、同様に適用できる。
【0037】
[空間例]
図3は、空間2の構成例、および空間2を複数のユーザの端末1で分担して測定する例を示す。この空間2は、例えば会社等の建物内の1つの部屋、例えば第7会議室である。空間2には、壁、床、天井、ドア2d等の配置物、机2aやホワイトボード2bや他の機器等の配置物がある。配置物とは、空間2を構成する任意の実物である。他の空間2としては、会社や店舗等の建物やエリアとしてもよいし、公共空間等でもよい。
【0038】
空間2を記述する空間データ6(特に後述の空間形状データ)は、例えばその部屋の位置や形状等を表す任意の形式のデータである。空間データ6は、空間2の境界を表すデータと、空間2内に配置されている任意の物体のデータとを含む。空間2の境界を表すデータは、例えば部屋を構成する床、壁、天井、ドア2d等の配置物のデータがある。境界に配置物が無い場合もある。空間2内の物体のデータは、例えば部屋内に配置されている机2aやホワイトボード2b等のデータがある。空間データ6は、例えば、少なくとも点群データを含み、ある端末座標系において特徴点毎の位置座標情報を持つデータである。空間データ6は、空間内の線や面等を表すポリゴンデータとしてもよい。
【0039】
本例では、1つの部屋である空間2を、二人のユーザであるユーザU1,U2のそれぞれの端末1(1A,1B)で分担して測定し、この空間2の空間データ6を作成する。分担の内容は任意に決定できる。例えば二人のユーザで相談して図示のように分担する。分担は、本例のように、対象の空間2を空間的に複数の領域(言い換えると部分空間)に分割すること、とすることができる。本例では、空間2は、
図3での左右方向(軸Y
1方向)での中央に対し左右の半分の領域に分割されている。第1端末1Aは、左側の領域2Aを担当し、第2端末1Bは、右側の領域2Bを担当する。
【0040】
[分担測定例]
図4は、
図3のような部屋の空間2の俯瞰(例えばX
1-Y
1面)において、二人のユーザ(U1,U2)の端末1(1A,1B)での分担による測定の例を示す。
図4は、ある時における、HMDである端末1(1A,1B)のある位置(L401,L402)および向き(d401,d402)での測定範囲(401,402)等の状態の例を示す。測定範囲は、HMDに備える測距センサ13等の機能に依存する一例である。測定範囲401は、第1端末1Aの位置L401および向きd401における例えば測距センサ13を用いた測定範囲を示す。測定範囲402は、同様に、第2端末1Bの位置L402および向きd402における測定範囲を示す。
【0041】
なお、対象の空間2の測定の際には、100%の領域をカバーする必要は無い。AR等の機能や必要に応じて、空間2のうち十分な量の領域が測定されればよい。空間2のうち、測定されない一部の領域が生じてもよいし、分担によって重複して測定された領域が生じてもよい。
図4の例では、領域491は未測定領域であり、領域492は重複測定領域である。予め、空間2または分担領域の測定の割合(例えば90%等)が条件として設定されてもよい。例えば、第1端末1Aは、分担の領域2Aをその条件の割合以上で測定した場合、測定終了と判断する。
【0042】
端末1(1A,1B)間での座標系ペアリング後、各端末1は、分担された領域2A,2Bの各測定範囲(401,402)を測定し、各測定データを得る。第1端末1Aは、領域2Aの測定範囲401を測定し、測定データ411を得る。第2端末1Bは、領域2Bの測定範囲402を測定し、測定データ412を得る。測定データは、例えば測距センサ13によって得られる点群データである。点群データは、周囲の複数の特徴点における点毎に位置、方向、および距離等を持つデータである。各端末1は、測定データから、部分空間データ420を作成する。第1端末1Aは、測定データ411から、第1端末座標系WAで記述されている部分空間データD1Aを作成する。第2端末1Bは、測定データ412から、第2端末座標系WBで記述されている部分空間データD1Bを作成する。
【0043】
図4の例では、第1端末1Aが第1端末座標系WAで記述された空間データ6A(D1)を作成し、第2端末1Bが第2端末座標系WBで記述された空間データ6B(D1)を作成する場合を示す。各端末1は、相手の端末1に、自機で作成した部分空間データ420を送信する。第1端末1Aは、部分空間データD1Aを第2端末1Bに送信する。第2端末1Bは、部分空間データD1Bを第1端末1Aに送信する。
【0044】
各端末1は、相手の端末1から得た部分空間データ430を、変換パラメータ7を用いて、自機の端末座標系での部分空間データ440に変換する。第1端末1Aは、部分空間データD1Bを、第1端末座標系WAで記述された部分空間データD1BAに変換する。第2端末1Bは、部分空間データD1Aを、第2端末座標系WBで記述された部分空間データD1ABに変換する。
【0045】
各端末1は、自機で得た部分空間データ420と、相手から得た部分空間データ440とを、統一された端末座標系での1つの空間2を単位とした空間データ6(450)に統合する。第1端末1Aは、部分空間データD1Aと、部分空間データD1BAとを1つに統合して、第1端末座標系WAで記述された空間データD1(6A)として得る。第2端末1Bは、部分空間データD1Bと、部分空間データD1ABとを1つに統合して、第2端末座標系WBで記述された空間データD1(6B)として得る。この例の場合、2つの端末1のうち、どちらが基本構成(
図31)の情報処理装置9に相当すると考えるかは任意でよい。空間データ6の授受で使用する端末座標系がその空間データ6の授受における共通座標系である。
【0046】
上記方法によれば、空間2を一人のユーザの端末1で測定する場合よりも、測定および空間データの取得に係わる時間を短くして効率的に実現できる。
【0047】
なお、空間2のうち、一方のユーザの端末1から見て他ユーザが写っていて他ユーザの奥側の陰になる空間部分が生じる場合、そのような空間部分については、他ユーザの端末1によって測定可能であり、その他ユーザの端末1による測定とした方が効率的である。
【0048】
測定の際には、ユーザおよび対応する端末1が適宜に位置を移動し、測定範囲を変えることもできる。図示の未測定領域491についても、別途、他の位置からの測定範囲に含めることで測定できる。
【0049】
分担に関するより高度な方法として、いずれかの端末1が、分担を自動的に判断して決定してもよい。例えば、各端末1は、カメラ画像等に基づいて、部屋内における自機の概略的な位置・向き、他ユーザ・他機の写り込みの有無やその位置・向き等を判断する。例えば、第1端末1Aは、カメラ画像に第2ユーザU2および第2端末1Bが写っていない状態の時、その時の向きにある領域・範囲を、第1端末1Aの分担する領域・範囲として選択する。
【0050】
[利用例]
図5は、
図3のように空間2の認識を共有する二人のユーザ(U1,U2)の端末1(1A,1B)間における空間データ6を用いた空間2の利用例を示す。第1端末1Aと第2端末1Bは、第1端末座標系WAと第2端末座標系WBとの座標系ペアリングの状態で、空間データ6を用いて、AR機能によって、空間2内の同じ位置21に同じ仮想画像22を表示する。その際、第1端末1Aは、表示面11で第1端末座標系WAでの位置21に仮想画像22を表示し、第2端末1Bは、表示面11で第2端末座標系WBでの位置21に仮想画像22を表示する。一方の端末1、例えば第1端末1Aは、位置21と表示対象の仮想画像22を指定し、その位置21等の情報を第2端末1Bに伝える。その際、第1端末1Aまたは第2座標系WBは、変換パラメータ7を用いて、第1端末座標系WAでの位置21を、第2端末座標系WBでの位置21に変換する。各端末1は、空間データ6で表す空間2の配置物の位置や形状等に合わせた位置21に仮想画像22を速やかに高精度に表示できる。例えば、各端末1は、ユーザU1によって指定された机2a上面の中心の位置21に合わせて仮想画像22を配置し表示できる。ユーザU1とユーザU2は、同じ仮想画像22を見ながら作業やコミュニケーションができる。
【0051】
[情報端末装置(HMD)]
図6は、端末1の一例としてのHMDの外観構成例を示す。このHMDは、眼鏡状の筐体10に、表示面11を含む表示デバイスを備える。この表示デバイスは、例えば透過型表示デバイスであり、表示面11には外界の実像が透過され、その実像上に画像が重畳表示される。筐体10には、コントローラ、カメラ12、測距センサ13、他のセンサ部14等が実装されている。
【0052】
カメラ12は、例えば筐体10の左右両側に配置された2つのカメラを有し、HMDの前方を含む範囲を撮影して画像を取得する。測距センサ13は、HMDと外界の物体との距離を測定するセンサである。測距センサ13は、TOF(Time Of Flight)方式のセンサを用いてもよいし、ステレオカメラや他の方式を用いてもよい。センサ部14は、HMDの位置および向きの状態を検出するためのセンサ群を含む。筐体10の左右には、マイクを含む音声入力装置18、スピーカやイヤホン端子を含む音声出力装置19等を備える。
【0053】
端末1には、リモートコントローラ等の操作器が付属していてもよい。その場合、HMDは、その操作器との間で例えば近距離無線通信を行う。ユーザは、手で操作器を操作することで、HMDの機能に関する指示入力や表示面11でのカーソル移動等ができる。HMDは、外部のスマートフォンやPC等と通信して連携を行ってもよい。例えば、HMDは、スマートフォンのアプリケーションからARの画像データを受信してもよい。
【0054】
端末1は、作業支援や娯楽のためにAR等の仮想画像を表示面11に表示させるアプリケーションプログラム等を備える。例えば、端末1は、作業支援のためのアプリケーションの処理によって、作業支援のための仮想画像22(
図1)を生成し、表示面11において、空間2内の作業対象物の付近の所定の位置21に仮想画像22を配置し表示させる。
【0055】
図7は、
図6の端末1(HMD)の機能ブロック構成例を示す。端末1は、プロセッサ101、メモリ102、カメラ12、測距センサ13、センサ部14、表示面11を含む表示デバイス103、通信デバイス104、マイクを含む音声入力装置18、スピーカ等を含む音声出力装置19、操作入力部105、およびバッテリ106等を備える。これらの要素はバス等を通じて相互に接続されている。
【0056】
プロセッサ101は、CPU、ROM、RAM等で構成され、HMDのコントローラを構成する。プロセッサ101は、メモリ102の制御プログラム31やアプリケーションプログラム32に従った処理を実行することにより、OS、ミドルウェア、アプリケーション等の機能や他の機能を実現する。メモリ102は、不揮発性記憶装置等で構成され、プロセッサ101等が扱う各種のデータや情報を記憶する。メモリ102には、一時的な情報として、カメラ12等によって取得した画像や検出情報等も格納される。
【0057】
カメラ12は、レンズから入射した光を撮像素子で電気信号に変換して画像を取得する。測距センサ13は、例えばTOFセンサを用いる場合、外界に出射した光が物体に当たって戻ってくるまでの時間から、その物体までの距離を計算する。センサ部14は、例えば、加速度センサ141、ジャイロセンサ(角速度センサ)142、地磁気センサ143、GPS受信器144を含む。センサ部14は、これらのセンサの検出情報を用いて、HMDの位置、向き、動き等の状態を検出する。HMDは、これに限らず、照度センサ、近接センサ、気圧センサ等を備えてもよい。
【0058】
表示デバイス103は、表示駆動回路や表示面11を含み、表示情報34の画像データに基づいて、表示面11に仮想画像等を表示する。なお、表示デバイス103は、透過型表示デバイスに限らず、非透過型表示デバイス等としてもよい。
【0059】
通信デバイス104は、所定の各種の通信インタフェースに対応する通信処理回路やアンテナ等を含む。通信インタフェースの例は、モバイル網、Wi-Fi(登録商標)、BlueTooth(登録商標)、赤外線等が挙げられる。通信デバイス104は、他の端末1やアクセスポイント23(
図1)との間での無線通信処理等を行う。通信デバイス104は、操作器との近距離通信処理も行う。
【0060】
音声入力装置18は、マイクからの入力音声を音声データに変換する。音声出力装置19は、音声データに基づいてスピーカ等から音声を出力する。音声入力装置は、音声認識機能を備えてもよい。音声出力装置は、音声合成機能を備えてもよい。操作入力部105は、HMDに対する操作入力、例えば電源オン/オフや音量調整等を受け付ける部分であり、ハードウェアボタンやタッチセンサ等で構成される。バッテリ106は、各部に電力を供給する。
【0061】
プロセッサ101によるコントローラは、処理によって実現される機能ブロックの構成例として、通信制御部101A、表示制御部101B、データ処理部101C、およびデータ取得部101Dを有する。
【0062】
メモリ102には、制御プログラム31、アプリケーションプログラム32、設定情報33、表示情報34、座標系情報35、空間データ情報36等が格納されている。制御プログラム31は、空間認識機能を含む制御を実現するためのプログラムである。アプリケーションプログラム32は、空間データ6を利用するAR等の機能を実現するプログラムである。設定情報33は、各機能に係わるシステム設定情報やユーザ設定情報を含む。表示情報34は、仮想画像22等の画像を表示面11に表示するための画像データや位置座標情報を含む。
【0063】
座標系情報35は、空間認識機能に係わる管理情報である。座標系情報35は、例えば
図3のように二人のユーザ間で分担する場合、自機の第1端末座標系WAの情報と、相手の第2端末座標系WBの情報と、自機側の諸量データおよび相手側の諸量データ(
図8)と、変換パラメータ7(
図1等)と、を含む。
【0064】
空間データ情報36は、
図1等の空間データ6に対応する情報であり、端末1が作成して保持する情報である。端末1は、自機内部にライブラリーとして各空間2に関する空間データ6を保持してもよい。端末1は、他の端末1から空間データ6を取得して保持してもよい。端末1は、後述のように外部のサーバ等が保持し、提供する空間データ6を取得してもよい。
【0065】
通信制御部101Aは、他の端末1との通信の際等に、通信デバイス104を用いた通信処理を制御する。表示制御部101Bは、表示情報34を用いて、表示デバイス103の表示面11への仮想画像22等の表示を制御する。
【0066】
データ処理部101Cは、座標系情報35を読み書きし、自機の端末座標系の管理のための処理や、相手の端末座標系との座標系ペアリングの処理や、変換パラメータ7を用いた座標系間の変換処理等を行う。データ処理部101Cは、座標系ペアリングの際には、自機側の諸量データを測定する処理、相手側の諸量データを取得する処理、変換パラメータ7を生成する処理等を行う。
【0067】
データ取得部101Dは、カメラ12、測距センサ13、およびセンサ部14等の各種のセンサから各検出データを取得する。データ取得部101Dは、座標系ペアリングの際には、データ処理部101Cからの制御に従って自機側の諸量データを測定する。
【0068】
[座標系ペアリング]
次に、座標系ペアリングの詳細について説明する。
図8は、
図1の第1端末1Aの第1端末座標系WAと第2端末1Bの第2端末座標系WBとの間で座標系ペアリングを行う場合の説明図を示し、各座標系や諸量の関係等を示す。以下、これらの2台の端末1間における、第1端末座標系WAと第2端末座標系WBとの間の座標系ペアリングによる空間認識共有について記述する。
【0069】
なお、
図8の例では、第1端末座標系WAの原点O
Aの位置と第1端末1Aの位置LAとは異なり、第2端末座標系WBの原点O
Bの位置と第2端末1Bの位置LBとは異なるが、これに限定するものではない。それらの位置が一致する場合もあり、その場合でも同様に適用可能である。以下では、このように世界座標系の原点と端末1の位置とが一致していない一般的な場合について、座標系間の関係を説明する。
【0070】
例えば第1端末1Aは、第2端末1Bとの空間認識共有を行う場合、それらを1つのペアとして、互いに世界座標系情報の共有を行う動作として、座標系ペアリングを行う。2台の端末1(1A,1B)は、1回座標系ペアリングを行えばよい。3台以上の端末1がある場合でも、同様にペア毎に座標系ペアリングを行えばよい。
【0071】
座標系ペアリングの際、各端末1(1A,1B)は、各端末座標系(WA,WB)で所定の諸量を測定し、相手の端末1との間で諸量データを交換する。第1端末1Aは、自機側で測定する諸量801として、特定方向ベクトルNAと、端末間ベクトルPBAと、座標値dAとを測定する。第1端末1Aは、それらの諸量801のデータを第2端末1Bに送信する。第2端末1Bは、自機側で測定する諸量802として、特定方向ベクトルNBと、端末間ベクトルPABと、座標値dBとを測定する。第2端末1Bは、それらの諸量802のデータを第1端末1Aに送信する。
【0072】
各端末1は、自機で測定した諸量データと、相手から得た諸量データとに基づいて、ペアの端末座標系間の関係を求めることができ、その関係から、端末座標系間の変換のための変換パラメータ7を計算できる。これにより、端末1間では、変換パラメータ7を用いて、各端末座標系を関連付けて、世界座標系情報の共有ができる。
【0073】
なお、座標系ペアリングにおける一方の端末1、例えば第1端末1Aのみが、座標系間の変換を行う場合には、その第1端末1Aのみが、自機側の諸量801と相手側の諸量802を取得して変換パラメータ7を生成すればよい。この場合、第1端末1Aから第2端末1Bへ諸量801を送信する必要は無い。また、その第1端末1Aが、生成した変換パラメータ7を第2端末1Bへ送信してもよい。そうすれば、第2端末1B側でも変換が可能となる。
【0074】
実施の形態1では、座標系ペアリングの際の諸量として、以下の3つの要素の情報を有する。諸量は、第1情報として特定方向ベクトルと、第2情報として端末間ベクトルと、第3情報として世界座標値とを有する。
【0075】
(1)特定方向ベクトルについて: 各端末1は、世界座標系における実空間内の特定方向に関する情報として、特定方向ベクトルを用いる。座標系間の回転の関係を求めるために、異なる2つの特定方向ベクトル(NA,NB,MA,MB)を用いる。特定方向ベクトルNAは、第1端末1Aにおける第1の方向ベクトルの表現であり、単位方向ベクトルをnAとする。特定方向ベクトルNBは、第2端末1Bにおける第1の方向ベクトルの表現であり、単位方向ベクトルをnBとする。特定方向ベクトルMAは、第1端末1Aにおける第2の方向ベクトルの表現であり、単位方向ベクトルをmAとする。特定方向ベクトルMBは、第2端末1Bにおける第2の方向ベクトルの表現であり、単位方向ベクトルをmBとする。
【0076】
実施の形態1では、特に、1つの特定方向(第1特定方向)として、鉛直下方向を用い、もう1つの特定方向(第2特定方向)として、後述の端末間ベクトルを用いる。
図8の例では、第1特定方向として鉛直下方向の特定方向ベクトルN
A,N
Bを用いる。特定方向ベクトルN
Aは、第1端末1Aの鉛直下方向の方向ベクトルであり、単位方向ベクトルをn
Aとする。特定方向ベクトルN
Bは、第2端末1Bの鉛直下方向の方向ベクトルであり、単位方向ベクトルをn
Bとする。
【0077】
鉛直下方向は、例えば端末1に備える加速度センサ141(
図7)である3軸加速度センサを用いて、重力加速度の方向として測定できる。あるいは、世界座標系(WA,WB)の設定において、鉛直下方向を、Z軸(Z
A,Z
B)の負方向として設定してもよい。いずれにせよ、この特定方向である鉛直下方向は、世界座標系において変化しないので、座標系ペアリング毎に毎回測定しなくてもよい。
【0078】
(2)端末間ベクトルについて: 各端末1は、一方の端末1(例えば第1端末1A)から他方の端末1(例えば第2端末1B)への位置関係を表す情報として、端末位置(LA,LB)間のベクトル(すなわち方向と距離)の情報を用いる。この情報を「端末間ベクトル」と記載する。
図8の例では、端末間ベクトルP
BA,P
ABを用いる。端末間ベクトルP
BAは、第1端末1Aを基準として位置LAから第2端末1Bの位置LBをみた方向での位置関係を表すベクトルである。端末間ベクトルP
ABは、第2端末1Bを基準として位置LBから第1端末1Aの位置LAをみた方向での位置関係を表すベクトルである。第1端末1Aから第2端末1Bまでの、第1端末座標系WAでのベクトル表現がP
BAであり、第2端末1Bから第1端末1Aまでの、第2端末座標系WBでのベクトル表現がP
ABである。
【0079】
端末間ベクトルは、世界座標系間の向きの関係を求めるための、実空間内のもう1つの特定方向(第2特定方向)に関する情報を含む。ここで、特定方向ベクトル(MA,MB)と端末間ベクトル(PBA,PAB)については、下記の対応関係がある。
PBA=MA
PAB=-MB
【0080】
座標系ペアリングの際、各端末1は、相手の端末1までの端末間ベクトルを、例えば
図1等の測距センサ13あるいはステレオ方式のカメラ12を用いて測定する。なお、端末1間の位置関係の測距については、詳しくは以下のようにしてもよい。例えば、第1端末1Aの測距センサ13は、前方に見える第2端末1Bとの距離を測定する。この際、第1端末1Aは、第2端末1Bの認識のために、カメラ12の画像から第2端末1Bの筐体の形状を測定してもよいし、第2端末1Bの筐体に形成されている所定のマーカ等を特徴点として測定してもよい。
【0081】
(3)世界座標値について: 各端末1は、世界座標系における位置を表す座標値の情報を用いる。
図8の例では、世界座標値として、第1端末座標系WAでの座標値d
A、および第2端末座標系WBでの座標値d
Bを用いる。第1端末1Aの位置LAについての第1端末座標系WAにおける座標値を、d
A=(x
A,y
A,z
A)とする。第2端末1Bの位置LBについての第2端末座標系WBにおける座標値を、d
B=(x
B,y
B,z
B)とする。これらの座標値は、世界座標系の設定に応じて定まる。端末位置ベクトルV
Aは、原点O
Aから位置LAまでのベクトルである。端末位置ベクトルV
Bは、原点O
Bから位置LBまでのベクトルである。
【0082】
なお、
図8で、ベクトルF
Aは、端末位置情報に相当する、第1端末1Aの第1端末座標系WAでの第2端末1Bの位置を表すベクトルであり、第1端末1Aの座標値d
A(ベクトルV
A)と端末間ベクトルP
BAとを合成したベクトルに相当する。ベクトルF
Bは、第2端末1Bの第2端末座標系WBでの第1端末1Aの位置を表すベクトルであり、第2端末1Bの座標値d
B(ベクトルV
B)と端末間ベクトルP
ABとを合成したベクトルに相当する。位置ベクトルG
Aは、第1端末座標系WAにおける位置21のベクトルであり、位置座標値r
Aは、その位置21の座標値である。位置ベクトルG
Bは、第2端末座標系WBにおける位置21のベクトルであり、位置座標値r
Bは、その位置21の座標値である。原点間ベクトルo
BAは、第1端末座標系WAの原点O
Aから第2端末座標系WBの原点O
Bへのベクトルであり、原点間ベクトルo
ABは、第2端末座標系WBの原点O
Bから第1端末座標系WAの原点O
Aへのベクトルである。ベクトルE
Aは、ユーザU1の視点に対応する位置LAから位置21を見る場合のベクトルである。ベクトルE
Bは、ユーザU2の視点に対応する位置LBから位置21を見る場合のベクトルである。
【0083】
[変換パラメータ]
上記座標系ペアリングによって、端末1(1A,1B)間での世界座標系(WA,WB)の関係が分かり、互いに位置や向きの変換が可能となる。すなわち、第2端末座標系WBを第1端末座標系WAに合わせるようにするための変換、あるいは、その逆の変換が可能となる。この世界座標系間の変換は、所定の変換パラメータ7で表される。変換パラメータ7は、座標系の方向の変換(言い換えると回転)と、座標系の原点の差との計算用のパラメータである。
【0084】
例えば、第1端末1Aで座標系変換ができるようにする場合、第1端末1Aは、自機側の諸量801と相手側の諸量802とから、端末座標系(WA,WB)間の関係を計算して、変換パラメータ7を生成し、自機に設定する。第2端末1B側でも同様のことが可能である。変換パラメータ7は、第1端末座標系WAでの位置等を第2端末座標系WBの位置等に変換する変換パラメータ71と、第2端末座標系WBでの位置等を第1端末座標系WAでの位置等に変換する変換パラメータ72とがある。それらの変換は互いに逆変換である。少なくとも一方の端末1が変換パラメータ7を保持すればよく、両方の端末1が同じ変換パラメータ7を保持してもよい。
【0085】
[位置変換]
図9は、座標系ペアリング後の2台の端末1(1A,1B)間での位置伝達および座標系変換の構成例を示す。4つの例を(A)~(D)として示す。端末1(1A,1B)間では、変換パラメータ7を用いて、空間2内の同じ位置21(
図8)を指定して共有できる。一方の端末1は、他方の端末1に、位置21の指定の情報や表示対象の仮想画像22のデータ等を伝達する。一方または他方の端末1は、変換パラメータ7を用いて、座標系間で位置21を変換する。
【0086】
(A)は第1例を示す。第1端末1Aは、第1端末座標系WAでの位置(例えば仮想画像22の表示対象の位置21)である位置座標値rAを、変換パラメータ71を用いて、第2端末座標系WBでの位置(位置座標値rB)に変換し、第2端末1Bに送信する。
【0087】
(B)は第2例を示す。第1端末1Aは、第1端末座標系WAでの位置である位置座標値rAを、第2端末1Bに送信し、第2端末1Bは、受信したその位置座標値rAを、変換パラメータ71を用いて、第2端末座標系WBでの位置座標値rBに変換する。
【0088】
(C)は第3例を示す。第2端末1Bは、第2端末座標系WBでの位置である位置座標値rBを、変換パラメータ72を用いて、第1端末座標系WAでの位置座標値rAに変換し、第1端末1Aに送信する。
【0089】
(D)は第4例を示す。第2端末1Bは、第2端末座標系WBでの位置座標値rBを、第1端末1Aに送信し、第1端末1Aは、受信したその位置座標値rBを、変換パラメータ72を用いて、第1端末座標系WAでの位置座標値rAに変換する。
【0090】
上記のように、例えば第1端末1Aから第2端末1Bに位置を伝える場合には、(A)か(B)の方法で変換を行えばよく、第2端末1Bから第1端末1Aに位置を伝える場合には、(C)か(D)の方法で変換を行えばよい。基本構成(
図31)との対応で言えば、(A)と(D)は第2端末座標系が共通座標系になる場合であり、(B)と(C)は第1端末座標系が共通座標系になる場合である。
【0091】
図9の下側には、変換パラメータ7のテーブル構成例を示す。変換パラメータ71のテーブル901は、項目として、変換元端末座標系、変換先端末座標系、回転、および原点表現を有する。「変換元端末座標系」項目は、変換元の端末1(括弧内は対応するユーザ)の識別情報と、その端末1が有する端末座標系の識別情報とを格納する。「変換先端末座標系」項目は、変換先の端末1(括弧内は対応するユーザ)の識別情報と、その端末1が有する端末座標系の識別情報とを格納する。「回転」項目は、それらの端末座標系間の回転の表現の情報を格納する。「原点表現」項目は、それらの端末座標系間の原点の差の表現を格納する。例えば、変換パラメータ71のテーブル901の第1行は、第1端末1Aの第1端末座標系WAから第2端末1Bの第2端末座標系WBへの変換のための回転(q
AB)と、第1端末座標系WAでみた第2端末座標系WBの原点の表現(o
BA)とを有する。
【0092】
[処理フロー]
図10は、
図3のような2台の端末1(1A,1B)間で空間2を分担して測定し、1つの空間データ6を得る場合の処理フロー例を示す。
図10は、第1端末1Aのフロー(ステップS1A~S12A)と、第2端末1Bのフロー(ステップS1B~S12B)とを有する。
【0093】
ステップS1A,S1Bでは、第1端末1Aと第2端末1Bとの間で、
図7の通信デバイス107の処理を通じて、空間認識共有に係わる無線通信接続を確立する。
【0094】
ステップS2A,S2Bでは、ユーザは、HMDである端末1に、空間2の測定を開始するための入力操作を行う。例えば、ユーザU1は、第1端末1Aに測定開始指示を入力し、ユーザU2は、第2端末1Bに測定開始指示を入力する。なお、端末1(1A,1B)間で、測定開始に係わる通信を行ってもよい。また、例えば、端末1は、測定の開始や終了の操作に係わるガイド画像を表示面11に表示してもよい。ユーザは、それに従って測定の開始や終了の入力操作を行う。入力操作は、ハードウェアボタン操作でもよいし、音声認識による操作でもよいし、手指を動かす等の所定のジェスチャの検出による操作でもよい。また、他の方式としては、端末1が予めの設定や自動的な判断によって、測定の開始や終了等を制御する方式としてもよい。
【0095】
また、ステップS2A,S2Bでは、
図3,
図4のような空間2の領域や測定範囲に関する分担の設定を行ってもよい。端末1は、分担の設定に係わる画像を表示面11に表示してもよい。ユーザは、その画像に従って設定の操作を行う。ステップS2A,S2Bに基づいて、各端末1は、以降のステップを開始する。
【0096】
ステップS3A~S6AおよびS3B~S6Bは、座標系ペアリングを行うステップである。なお、実施の形態1の方法は、座標系ペアリング後に空間2の測定を行う方法である。そのため、ステップS2A,S2Bの測定開始指示は、言い換えると、座標系ペアリング開始指示である。
【0097】
ステップS3A,S3Bでは、一方の端末1から他方の端末1に、座標系ペアリングの要求を送信する。例えば、第1端末1Aは、第2端末1Bに、座標系ペアリング要求を送信する。第2端末1Bは、座標系ペアリング要求を受信し、受け入れる場合には、受け入れる旨の座標系ペアリング応答を、第1端末1Aに送信する。ステップS3A,S3Bでは、各端末1は、表示面11に、座標系ペアリングのガイドのための画像(後述の
図11)を表示してもよい。
【0098】
ステップS4A,S4Bでは、第1端末1Aと第2端末1Bは、互いにタイミングを合わせて、座標系ペアリングのための諸量(
図8)を測定する。第1端末1Aは、諸量801を測定し、第2端末1Bは、諸量802を測定する。
【0099】
ステップS5A,S5Bでは、第1端末1Aと第2端末1Bは、互いに自機側の諸量データを相手側に送信することで、諸量データを交換する。第1端末1Aは、第2端末1Bから諸量802を取得し、第2端末1Bは、第1端末1Aから諸量801を取得する。
【0100】
ステップS6A,S6Bでは、第1端末1Aおよび第2端末1Bは、それぞれ変換パラメータ7を生成して自機に設定する。第1端末1Aは、自機側の諸量801と相手側の諸量802とを用いて変換パラメータ7(例えば
図9の変換パラメータ71,72の両方)を生成して自機に設定する。第2端末1Bは、自機側の諸量802と相手側の諸量801とを用いて変換パラメータ7(例えば
図9の変換パラメータ71,72の両方)を生成して自機に設定する。これにより、座標系ペアリングの状態が確立する。
【0101】
なお、座標系ペアリング確立後にステップS2A,S2Bの測定開始指示入力を行うフローとしてもよい。
【0102】
ステップS6A,S6Bまでで座標系ペアリングが確立された後、ステップS7A,S7B以降のループでは、各端末1は、分担による空間2の領域を測定する(
図3,
図4)。ステップS7Aで、第1端末1Aは、測距センサ13等を用いて領域2Aを対象に測定して測定データ411を得る。ステップS7Bで、第2端末1Bは、測距センサ13等を用いて領域2Bを対象に測定して測定データ412を得る。
【0103】
ステップS8A,S8Bでは、各端末1は、測定データに基づいて部分空間データを構成し、互いに相手の端末1に送信する(
図4)。第1端末1Aは、自機側の部分空間データD1Aと、相手側からの部分空間データD1Bとを得る。第2端末1Bは、自機側の部分空間データD1Bと、相手側からの部分空間データD1Aとを得る。
【0104】
ステップS9A,S9Bでは、各端末1は、必要に応じて、相手側の端末座標系で記述された部分空間データを、変換パラメータ7を用いて、自機側の端末座標系で記述された部分空間データに変換する(
図4)。例えば、
図9の(D)のように、第1端末1Aは、部分空間データD1Bを、変換パラメータ72を用いて、部分空間データD1BAに変換する。
図9の(B)のように、第2端末1Bは、部分空間データD1Aを、変換パラメータ71を用いて、部分空間データD1ABに変換する。また、各端末1は、自機側で得た部分空間データと、相手側から得た部分空間データとを、1つに統合して、空間2を単位とした空間データ6を得る(
図4)。例えば、第1端末1Aは、部分空間データD1Aと、部分空間データD1BAとから、空間データ6A(D1)を得る。第2端末1Bは、部分空間データD1Bと、部分空間データD1ABとから、空間データ6B(D1)を得る。なお、本例は、両方の端末1が同時並行でそれぞれの空間データ6(6A,6B)を作成する場合を示したが、これに限らず、一方の端末1が作成した空間データ6を相手の端末1に送信してもよい。
【0105】
ステップS10A,S10Bでは、各端末1は、上記座標系ペアリング状態での空間測定を終了するかどうかを判断する。この際、ユーザが端末1に測定終了指示の入力操作をしてもよいし、端末1が自動的な判断によって測定終了としてもよい。例えば、端末1は、測定データまたは空間データ等に基づいて、対象の空間2または分担の領域のうちの所定の率以上が測定済みまたは作成済みとなったと判断した場合には、自機での測定終了と判断してもよい。その率は可変設定値である。端末1は、測定終了と判断した場合(Yes)には次のステップへ進み、未終了と判断した場合(No)にはステップS7A,S7Bに戻って同様に処理を繰り返す。
【0106】
ステップS11A,S11Bでは、各端末1は、上記作成した空間データ6を用いて、相手の端末1との間で空間2の認識を共有した状態で空間2を利用する。なお、空間データ6の作成までが目的の場合には、ステップS11A,S11Bを省略できる。空間2の利用は、典型的には、端末1(1A,1B)間で、AR機能を用いて、空間2内の所望の同じ位置21に同じ仮想画像22を表示し、作業等を行うことが挙げられる(
図5)。
【0107】
ステップS12A,S12Bでは、各端末1は、上記座標系ペアリングの状態を解除する。例えば、空間2の利用が一時的である場合に、各端末1は、変換パラメータ7を削除してもよいし、空間データ6を削除してもよい。これに限らず、各端末1は、その後も座標系ペアリングの状態を維持してもよい。すなわち、各端末1は、その後も変換パラメータ7や空間データ6を保持し続けてもよい。その場合、ステップS12A,S12Bを省略できる。例えば、各端末1は、変換パラメータ7や空間データ6を自機内部に保持しておくことで、その後に同じ空間2を再利用する場合に、再度の測定等の処理を省略できる。
【0108】
[ガイド表示例]
図11は、端末1間での座標系ペアリングの際(
図10のステップS3A,S3B等)に、端末1の表示面11にガイド等のためのグラフィカル・ユーザ・インタフェース(GUI)の画像を表示する例を示す。
図11の例は、ユーザU1の第1端末1Aの表示面11の例であり、ユーザU2の第2端末1Bが見えている。第1端末1Aは、例えばカメラ12の画像等に基づいて、他のユーザや端末1を認識する。例えば、第1端末1Aは、第2端末1Bを認識した位置に合わせて、画像1101を重畳表示する。画像1101は、第2端末1Bの存在および位置を表すマーカのような仮想画像である。また、第1端末1Aは、認識したユーザU2の第2端末1Bとの座標系ペアリングを行うかどうかの確認のための画像1102を表示する。画像1102は、例えば「ユーザU2とのペアリングを行いますか? YES/NO」といったメッセージ画像である。ユーザU1は、画像1102に対し、YES/NOの選択操作を行い、それに応じて、第1端末1Aは、第2端末1Bとの座標系ペアリングの実行有無を決め、開始を制御する。
【0109】
また、第1端末1Aは、ステップS4Aで諸量801を測定する際には、画像1103を表示する。画像1103は、例えば「ペアリング中。なるべく動かないでください。」といったメッセージ画像である。端末1間での直接的な座標系ペアリングの際には、互いになるべく静止した状態とすることで、諸量を高精度に測定できる。そのため、このようなガイドの画像1103の出力が有効である。
【0110】
[座標変換]
以下では、座標変換の詳細について補足説明する。まず、座標系の関係を説明するための記法をまとめる。実施の形態では、座標系は右手系に統一し、座標系の回転を表すために正規化四元数を用いる。正規化四元数とは、ノルムが1の四元数であり、軸の回りの回転を表すことができる。任意の座標系の回転はこのような正規化四元数で表現できる。単位ベクトル(nX,nY,nZ)を回転軸とした角度ηの回転を表す正規化四元数qは、下記の式1となる。i,j,kは四元数の単位である。単位ベクトル(nX,nY,nZ)の方向に向いた場合の右回りの回転が、ηが正の回転方向である。
式1: q=cos(η/2)+nXsin(η/2)i+nYsin(η/2)j+nZsin(η/2)k
【0111】
四元数qの実数部分をSc(q)で表す。四元数qの共役四元数をq*とする。四元数qのノルムを1に正規化する演算子を[・]で定義する。四元数qを任意の四元数とすると、式2が[・]の定義である。式2の右辺の分母が四元数qのノルムである。
式2: [q]=q/(qq*)1/2
【0112】
次に、座標点あるいはベクトル(pX,pY,pZ)を表現する四元数pを、式3で定義する。
式3: p=pXi+pYj+pZk
【0113】
本明細書においては、特に断りが無い限り、成分表示でない座標点やベクトルを表す記号は四元数表示であるとする。また、回転を表す記号は正規化四元数であるとする。
【0114】
単位ベクトルnの方向と垂直な平面へのベクトルの射影演算子を、PT(n)とする。ベクトルpの射影は、式4で表される。
式4: PT(n)p=p+nSc(np)
【0115】
座標点あるいは方向ベクトルp1が四元数qで表される原点中心の回転操作により座標点あるいは方向ベクトルp2に変換されたとすると、方向ベクトルp2は式5で計算できる。
式5: p2=qp1q*
【0116】
単位ベクトルn1を単位ベクトルn2に重ねるように、単位ベクトルn1と単位ベクトルn2とを含む平面に垂直な軸回りに回転させる正規化四元数R(n1,n2)は、下記の式6となる。
式6: R(n1,n2)=[1-n2n1]
【0117】
図12は、座標系変換についての説明図を示す。
図12の(A)は、
図8と同様に、第1端末座標系WAと第2端末座標系WBとの間で、実空間内の同じ位置21に関する表現と、座標原点(O
A,O
B)の差の表現とを示す。位置21の表現として、位置ベクトルG
A、位置座標値r
A、位置ベクトルG
Bおよび位置座標値r
Bを有する。座標原点の差の表現として、原点間ベクトルo
BA,o
ABを有する。原点間ベクトルo
BAは、第1端末座標系WAでの第2端末座標系WBの原点O
Bの表現である。原点間ベクトルo
ABは、第2端末座標系WBでの第1端末座標系WAの原点O
Aの表現である。
【0118】
前述の諸量(
図8)に基づいて、実空間内での異なる2つの特定方向(対応する特定方向ベクトルと端末間ベクトル)についての各端末座標系(WA,WB)での表現(N
A,N
B,P
BA,P
AB)が得られる。そうすれば、それらの表現を一致させるような座標系間の回転操作を、前述の正規化四元数を用いた演算によって求めることができる。よって、それらの情報と、各座標原点の情報とを合わせることで、端末座標系間での位置座標の変換が可能となる。
【0119】
端末座標系(WA,WB)の関係は、以下のように計算できる。以下では、第2端末座標系WBでの座標値およびベクトル値の表現を、第1端末座標系WAでの表現に変換する場合における、回転と座標原点差を求める計算について説明する。
【0120】
図12の(B)は、第1端末座標系WAと第2端末座標系WBとの間で方向を合わせる回転の操作について示し、例えば第2端末座標系WBの各軸(X
B,Y
B,Z
B)の方向を第1端末座標系WAの各軸(X
A,Y
A,Z
A)の方向に合わせる回転q
ABのイメージを簡易的に示す。
【0121】
まず、第1端末座標系WAの方向と第2端末座標系WBの方向とを合わせるための回転を求める。前述(
図8)の端末間ベクトルP
BA,P
ABに基づいて、端末1間の単位方向ベクトルm
A,m
Bを、下記のように定義する。単位方向ベクトルm
A,m
Bは、第2の特定方向である、実空間で第1端末1Aから第2端末1Bに向かう方向の単位ベクトルについての、第1端末座標系WAでの表現および第2端末座標系WBでの表現である。
m
A=[P
BA]
m
B=[-P
AB]
【0122】
最初に、第1端末座標系WAの表現における回転において、第1の特定方向の単位ベクトルnAを単位ベクトルnBに重ねる回転qT1を考える。回転qT1は、具体的には下記となる。
qT1=R(nA,nB)
【0123】
次に、この回転qT1によって特定方向の単位ベクトルnA,mAが回転された方向を、nA1,mA1とする。
nA1=qT1nAqT1*=nB
mA1=qT1mAqT1*
【0124】
実空間において同じ方向間の角度であるから、方向nA1と方向mA1との成す角度は、単位ベクトルnBと単位方向ベクトルmBとの成す角度に等しい。また、前提として2つの特定方向は異なる方向としているので、単位ベクトルnBと単位方向ベクトルmBとの成す角度は0ではない。従って、方向nA1すなわち単位ベクトルnBを軸とし、方向mA1を単位方向ベクトルmBに重ねる回転qT2を構成できる。具体的に、回転qT2は下記で与えられる。
qT2=R([PT(nB)mA1],[PT(nB)mB])
【0125】
方向nA1は回転qT2の回転軸方向nBと同一方向であるので、この回転qT2により不変である。また、方向mA1は、この回転qT2により単位方向ベクトルmBに回転される。
nB=qT2nA1qT2*
mB=qT2mA1qT2*
【0126】
あらためて、回転qBAを下記で定義する。
qBA=qT2qT1
【0127】
この回転qBAにより、単位ベクトルnAと単位方向ベクトルmAは、単位ベクトルnBと単位方向ベクトルmBに回転される。
nB=qBAnAqBA*
mB=qBAmAqBA
【0128】
単位ベクトルnAと単位方向ベクトルmAは異なる2つの方向として選ばれているので、この回転qBAが、第1端末座標系WAでの方向表現を第2端末座標系WBでの方向表現に変換する回転である。逆に、第2端末座標系WBでの方向表現を第1端末座標系WAでの方向表現に変換する回転を回転qABとすると、回転qABは同様に以下となる。
qAB=qBA*
【0129】
次に、座標値d
A,d
B(
図8)の変換式を求める。ここでの座標値d
A,d
Bは、式3により定義される座標値の四元数表現である。まず、一方の座標系から見て他方の座標系の原点の座標値を求める。
図12の(A)のように、第1端末座標系WAにおける第2端末座標系WBの原点O
Bの座標値の表現がo
BA、世界座標系WBにおける世界座標系WAの原点O
Aの座標値の表現がo
ABである。各座標系における端末1の位置の座標値d
A,d
Bは分かっているので、原点座標値表現(o
BA,o
AB)は、下記の式Aのように求まる。
式A:
o
BA=d
A+P
BA-q
ABd
Bq
AB*
o
AB=d
B+P
AB-q
BAd
Aq
BA*
【0130】
また、容易に分かるように、下記の関係がある。
oAB=-qBAoBAqBA*
【0131】
最後に、実空間内の任意の点(位置21)についての第1端末座標系WAでの座標値rAと、第2端末座標系WBでの座標値rBとの変換式は、以下のように与えられる。
rB=qBA(rA-oBA)qBA* =qBArAqBA*+oAB
rA=qAB(rB-oAB)qAB* =qABrBqAB*+oBA
【0132】
上記のように、例えば第1端末座標系WAで見た特定の位置21(座標値r
A)を、第2端末座標系WBで見た場合の位置21(座標値r
B)に変換したい場合、回転q
BA、座標値r
A、および原点表現o
ABを用いて計算できる。逆の変換も同様に計算できる。前述の
図8,
図9の変換パラメータ7(71,72)は、上記説明で登場したパラメータで構成できる。なお、上記のように容易に相互に変換ができるので、変換パラメータ7の構成および保持においては、回転q
ABの代わりにq
BAを保持してもよく、原点表現o
BAの代わりにo
ABを保持してもよく、それらの逆でもよい。
【0133】
[効果等(1)]
上記のように、実施の形態1の空間認識システムおよび方法等によれば、端末1が空間2を測定して空間データ6を作成でき、複数のユーザの複数の端末1間で、互いに空間データ6を取得して利用でき、空間2の認識を共有できる。このシステムおよび方法によれば、上記のような機能や動作を効率的に実現でき、ユーザの利便性を高め、作業負荷を低減できる。このシステムおよび方法によれば、空間データ6を利用することで、ユーザに対し、様々なアプリケーションの機能やサービス等が実現できる。
【0134】
実施の形態1の変形例として以下も可能である。変形例で、各ユーザの端末1は、自機で作成した、端末座標系で記述された空間データ6を、外部のPCやサーバ等の装置に送信して登録してもよい。端末1は、生成した変換パラメータ7を、外部のPCやサーバ等の装置に送信して登録してもよい。
【0135】
[変形例1]
実施の形態1の変形例1では、各端末1は、座標系ペアリングを行う前に、空間2を測定し、自機の端末座標系で記述された空間データ6を作成する。その後、端末1は、他の端末1との座標系ペアリングを行う。端末1は、変換パラメータ7を用いて、空間データ6を、共通の端末座標系、すなわち共通座標系で記述された空間データ6に変換する。
【0136】
[変形例2]
図13は、実施の形態1の変形例2における、3台以上の端末1で空間2の測定を分担し空間認識を共有する場合の座標系ペアリング等についての説明図を示す。本例では、四人のユーザ(UA,UB,UC,UD)の4台の端末1として端末1A,1B,1C,1Dを有する。各端末1の端末座標系を、端末座標系WA,WB,WC,WDとし、各原点を原点O
A,O
B,O
C,O
Dとする。これらの端末1を1つのグループとして、同じ空間2に関する測定および認識共有を行う。実施の形態1で説明した2台の端末1間の座標系ペアリングを基本として、3台以上の端末1によるグループの場合でも、各端末1間で座標系ペアリングを行うことで、空間認識共有を実現できる。
【0137】
例えばユーザUCの端末1Cを自機として考える。まず、実施の形態1と同様に、例えば端末1Aと端末1Bとの間で座標系ペアリング1301が確立されたとする。この状態から、次に、端末1Bと端末1Cとの間で座標系ペアリング1302が行われるとする。これにより、間接的に、端末1Cと端末1Aとの間での座標系ペアリング1303が実現できる。このことを以下に説明する。
【0138】
まず、座標系ペアリング1301により、端末1Bは、変換パラメータの情報1321として、端末座標系WAと端末座標系WBとの間の変換のための回転qBAと原点表現oABとを得る。回転qBAは、端末座標系WAでの表現を端末座標系WBでの表現にする回転である。原点表現oABは、端末座標系WAの原点OAについての端末座標系WBでの座標値である。逆に、端末1Aは、変換パラメータの情報1311として、回転qABと原点表現oBAとを得る。
【0139】
次に、座標系ペアリング1302により、端末1Cは、変換パラメータの情報1331として、回転qCBと原点表現oBCとを得る。回転qCBは、端末座標系WBでの表現を、端末座標系WCでの表現にする回転である。原点表現oBCは、端末座標系WBの原点OBについての端末座標系WCでの座標値である。逆に、端末1Bは、変換パラメータの情報1322として、回転qBCと原点表現oCBとを得る。
【0140】
ここで、端末1Cは、端末1Bから、変換パラメータの情報1321(回転qBAと原点表現oAB)をもらい、それを情報1332として保持する。これにより、端末1Cは、変換パラメータの情報1331(qCB,oBC)および情報1332(qBA,oAB)を用いて、端末1Aとの間接的な座標系ペアリング1303に関する回転qCAと原点表現oACを、下記の式のように計算できる。回転qCAは、端末座標系WAでの表現を、端末座標系WCでの表現にする回転である。原点表現oACは、端末座標系WAの原点OAについての端末座標系WCでの座標値である。
qCA=qCBqBA
oAC=oBC+qCBoABqCB*
【0141】
端末1Cは、得られた情報1333(qCA,oAC)を保持する。端末1Cは、この情報1333を用いて、下記の式のように、端末座標系WAでの位置21の表現(rA)を、端末座標系WCでの表現(rC)に変換できる。
rC=qCA(rA-oCA)qCA*=qCArAqCA*+oAC
【0142】
また、端末1Cは、上記変換パラメータの情報1333(qCA,oAC)を、端末1Aに送信する。端末1Aは、それを情報1312(qCA,oAC)として保持する。そうすれば、一般に下記の関係があることから、端末1Aにおいても、端末座標系WAと端末座標系WCとの変換ができる。すなわち、端末1Aは、逆の変換に関する変換パラメータの情報1313(qAC,oCA)を保持する。また、下記関係があるので、各端末1においては、qIJかqJIの一方を保持し、oJIとoIJの一方を保持してもよい。
qIJ=qJI*
oJI=-qIJoIJqIJ*
【0143】
図14は、
図13のグループの座標系ペアリングにおいて、端末1Aが保持する変換パラメータ7のテーブル1401、端末1Bが保持する変換パラメータ7のテーブル1402、および端末1Cが保持する変換パラメータ7のテーブル1403を示す。グループ内の各端末1は、グループ内の他の各端末1との変換パラメータ情報をテーブルに保持する。各テーブルは、「相手」項目を有し、座標系ペアリング(ここでは直接的座標系ペアリングと間接的座標系ペアリングを含む)の相手の端末1および端末座標系の識別情報を格納する。例えば、端末1Cは、各端末1(1A,1B)を相手として情報を交換しながら、それぞれのペア間の変換パラメータ情報を保持する。具体的には、例えばテーブル1403は、端末1Aとの変換パラメータの情報1333(q
CA,o
AC)、端末1Bとの変換パラメータの情報1331(q
CB,o
BC)を有する。
【0144】
上記のように、変形例2では、任意の2台の端末1をペアとして順次に座標系ペアリングを行うことで、グループ内での空間認識共有ができる。ある端末1Cは、ある端末1Aとの間では直接的な座標系ペアリングの処理を行わなくても、その端末1Aと座標系ペアリング済みである別の端末1Bとの座標系ペアリングを行えば、間接的な座標系ペアリング1303が可能である。同様に、グループに新たに参加する端末1Dがある場合でも、その端末1Dは、グループのうちの1つの端末1に対する同様の手続き、例えば端末1Cとの座標系ペアリング1304を行えばよく、各端末1との座標系ペアリングの処理は不要である。実施の形態1や変形例2では、各端末1に変換パラメータ7を保持するので、共有する位置21に仮想画像22を表示する際等に、高速に処理可能である。
【0145】
[変形例3]
図15は、実施の形態1の変形例3における、座標系ペアリングおよび変換パラメータ7に関する構成例を示す。変形例3では、空間認識を共有するための複数の端末1から成るグループにおいて、1つの代表的な端末1(「代表端末」と記載する)を設ける。代表端末は、グループの各端末1との変換パラメータ7を保持する。代表端末以外の各端末1は、代表端末との間の変換パラメータ7を保持する。例えば、
図13と同様のグループがあるとする。例えば、端末1Aを代表端末とする。代表端末である端末1Aは、他の各端末1(1B,1C,1D)との座標系ペアリング(1501,1502,1503)を順次に行う。このグループでは、代表端末の端末座標系WAが基準となる。その端末座標系WAにおいて、共有の位置21等が指定され、端末1間で伝達される。
【0146】
端末1Aが保持する変換パラメータ7のテーブル1511は、
図14のテーブル1401と同様に、各端末1(1B,1C,1D)との変換パラメータ情報を有する。端末1Bが保持するテーブル1512は、代表端末との変換パラメータ情報(q
BA,o
AB)を有する。端末1Cが保持するテーブル1513は、代表端末との変換パラメータ情報(q
CA,o
AC)を有する。端末1Dが保持するテーブル1514は、代表端末との変換パラメータ情報(q
DA,o
AD)を有する。
【0147】
例えば、端末1Bが空間2内の位置21(
図13)を指定する場合、端末1Bは、端末座標系WBでのその位置21の表現(r
B)を、テーブル1512を用いて、代表端末での表現(r
A)に変換し、代表端末に伝達する。代表端末は、その表現(r
A)を、テーブル1511を用いて、グループの他の各端末1(1C,1D)の各端末座標系(WC,WD)での表現(r
C,r
D)に変換する。そして、代表端末は、それらの位置情報(r
C,r
D)を、他の各端末1(1C,1D)に伝達する。
【0148】
他の変形例としては、代表端末のみが変換パラメータ7を保持して各変換を行う構成も可能である。この変形例は、例えば
図15で、端末1B,1C,1Dが変換パラメータ7のテーブル1512,1513,1514を保持しない構成に相当する。例えば端末1Bは、端末座標系WBでの位置21の表現(r
B)を、代表端末に伝達する。代表端末は、その表現(r
B)を、テーブル1511を用いて、各端末座標系(WA,WC,WD)での表現(r
A,r
C,r
D)に変換し、各端末1に伝達する。
【0149】
他の変形例としては、グループ内で代表端末の端末座標系を共通座標系として固定して用いて、端末1間での位置伝達を行う構成としてもよい。代表端末は、変換パラメータ7を保持しない。代表端末以外の各端末1は、代表端末の端末座標系との変換のための変換パラメータ7を保持する。この変形例は、例えば
図15で、代表端末である端末1Aがテーブル1511を保持しない構成に相当する。例えば端末1Bは、端末座標系WBでの位置21の表現(r
B)を、テーブル1512を用いて、代表端末での表現(r
A)に変換し、代表端末に伝達する。代表端末は、その表現(r
A)を、グループの他の各端末1(1C,1D)に伝達する。各端末1(1C,1D)は、その表現(r
A)を、各自のテーブル1513,1514を用いて、各自の端末座標系での表現(r
C,r
D)に変換する。
【0150】
また、この変形例では、端末1間での位置伝達を、代表端末を介さずに行ってもよい。例えば端末1Bは、端末座標系WBでの位置21の表現(rB)を、テーブル1512を用いて、代表端末での表現(rA)に変換し、端末1Cに伝達する。端末1Cは、その表現(rA)を、テーブル1513を用いて、自機での表現(rC)に変換する。
【0151】
上記のように、各変形例によれば、システム全体で保持する変換パラメータ7のデータ量を少なくできる。
【0152】
<実施の形態2>
図16~
図17等を用いて、本発明の実施の形態2の空間認識システム等について説明する。以下では、実施の形態2等における実施の形態1とは異なる構成部分について説明する。
図16等に示す実施の形態2では、実施の形態1での複数の端末1の各端末座標系とは別に、空間2を記述する世界座標系である空間座標系を用いる。実施の形態2では、端末座標系と空間座標系との間の座標系ペアリング、言い換えるとそれらの座標系間の関連付け、変換を扱う。この実施の形態では、空間座標系が基本構成(
図31)の共通座標系に相当する。空間2の測定を分担する各端末1の各端末座標系は、共通の空間座標系を介して関連付けられる。また、空間2の空間データ6は、特に、共通の空間座標系を用いて記述することができる。端末1は、空間座標系で記述された空間データ6を作成する。端末1間ではその空間データ6を用いて空間2の認識を共有できる。
【0153】
実施の形態2では、座標系ペアリングの際に、端末1は、空間2内の所定の特徴(特徴点や特徴線)との関係を、諸量として測定する。端末1は、その測定値に基づいて、その特徴に関連付けられた空間座標系と、自機の端末座標系との関係を求め、その関係に基づいて変換パラメータ7を計算する。
【0154】
また、実施の形態2では、端末1は、作成した空間データ6を、外部のサーバ4のDB5に登録してもよい。この場合、サーバ4が基本構成(
図31)の情報処理装置9に相当する。実施の形態2等では、端末1から空間データ6をサーバ4等の外部ソースへ登録する概念を扱う。サーバ4は、端末1に対する外部ソースとして、外部データである空間データ6を保持・管理する。サーバ4のDB5にライブラリーとして登録された空間データ6は、各端末1(空間測定を行わない端末でもよい)から適宜に参照・取得が可能となる。端末1は、サーバ4から利用対象の空間2に関する登録済みの空間データ6を取得し、その空間2の測定を要せずに、その空間データ6を利用して、AR等の画像を速やかに高精度に表示することができる。例えば、ある端末1は、ある空間2を1回測定して空間データ6を作成してサーバ4に登録する。その後、その端末1は、その空間2を再度利用する場合に、再度その空間2を測定する必要は無く、サーバ4から取得した空間データ6を利用できる。事業者がサーバ4を使用し、空間データ6の管理サービスの提供を行ってもよい。
【0155】
[空間認識システム]
図16は、実施の形態2の空間認識システムの構成を示し、特に、第1端末1Aの第1端末座標系WAと空間2の空間座標系W1との座標系ペアリング等についての説明図を示す。本例では、空間2の測定を分担する端末1として、第1端末1Aと第2端末1Bを有する。第2端末1Bの第2端末座標系WB等については図示を省略する。
【0156】
実施の形態2では、予め、空間2に関する空間座標系W1の情報が規定されている。空間座標系W1において、空間2の位置や所定の特徴(特徴点や特徴線)等の情報も規定されている。空間座標系W1は、例えば建物に固有の局所的座標系でもよいし、地球や地域等において共通の座標系でもよい。空間座標系W1は、実空間内に固定されており、原点O
1と、直交する3軸として軸X
1、軸Y
1、および軸Z
1とを有する。
図16の例では、空間座標系W1の原点O
1は部屋等の空間2に対し離れた位置にあるが、これに限らず、原点O
1は空間2内にあってもよい。
【0157】
実施の形態2では、各端末1の端末座標系(WA,WB)と、空間2の空間座標系W1との間での座標系ペアリングを扱う。それらの端末1(1A,1B)は、分担で作成した空間データ6を用いて、空間2の認識を共有する。各端末1は、自機の端末座標系で空間2の形状等を測定して空間2を記述する空間データ6(特に空間形状データ)を作成する。その際、各端末1は、空間2内の所定の特徴を手掛かりとして、空間座標系W1との座標系ペアリングを行う。空間2内の所定の特徴である特徴点や特徴線等は、予め規定されている。この特徴は、例えば壁や天井等の境界線としてもよいし、所定の配置物等でもよい。なお、空間2の所定の特徴における特徴点は、前述の測距センサ13によって得られる点群データの特徴点とは意味が異なる。
【0158】
例えば、第1端末1Aは、空間2の所定の特徴を認識して諸量を測定し、第1端末座標系WAと空間座標系W1との関係を把握する。第1端末1Aは、その関係から、第1端末座標系WAと空間座標系W1との変換パラメータ7を生成し、自機に設定する。各端末1は、座標系ペアリングの状態で、空間2における分担する領域を測定する。例えば第1端末1Aは、領域2Aを測定し、第1端末座標系WAで記述されている測定データ1601を得る。第1端末1Aは、測定データ1601から部分空間データ1602を構成する。第1端末1Aは、部分空間データ1602を、変換パラメータ7を用いて、空間座標系W1で記述される部分空間データに変換する。また、例えば第1端末1Aは、第2端末1Bから、第2端末1Bが作成した部分空間データを取得する。そして、第1端末1Aは、自機側で得た部分空間データと、相手から取得した部分空間データとを1つに統合することで、空間座標系W1で記述された、空間2を単位とした空間データ6を得る。第2端末1B側も、第1端末1A側と同様に空間データ6を得ることができる。
【0159】
図16で、実施の形態2の空間認識システムは、通信網に接続されるサーバ4を有する。サーバ4は、事業者等が管理するサーバ装置であり、例えばデータセンタやクラウドコンピューティングシステム上に設けられている。サーバ4は、内部または外部のデータベース(DB)5に、ライブラリーとして、IDおよび空間データ6を登録し保持している。例えば、図示する空間2にはID=101が付与されており、DB5には、ID=101で識別される空間データ6(D101)が登録されている。複数の各々の空間2について、同様に空間データ6が登録されている。サーバ4は、会社等の単位で閉じられた空間データ6を管理するものとしてもよいし、地球や地域等の単位で多数の空間データ6を管理するものとしてもよい。例えば会社の建物を単位として空間データ6を管理する場合、会社のLAN等のコンピュータシステムのサーバ4に、その建物内の各空間2に関する各空間データ6が登録される。
【0160】
実施の形態2では、特に、外部ソースであるサーバ4のDB5に、ライブラリーとして、実空間内の各空間2に関する空間データ6が登録される。なお、最初、空間2が測定される前の段階では、DB5の空間データ6のうちの空間形状データ61は未登録である。DB5の空間データ6には、空間形状データ61や特徴データ62を含む。空間形状データ61は、空間座標系W1で記述された、空間2の形状等を表すデータであり、端末1によって作成される部分である。特徴データ62は、空間2内の所定の特徴(特徴点や特徴線等)の諸量を規定するデータを含む。特徴データ62は、端末1による座標系ペアリングの際に参照される。
【0161】
DB5の空間データ6は、空間2に応じた固有の空間座標系で記述されていてもよいし、関連する複数の空間2(例えば建物)で共通の空間座標系で記述されていてもよい。共通の空間座標系は、地球や地域内において共通の座標系としてもよい。例えばGPS等における緯度・経度・高度を用いた座標系でもよい。
【0162】
なお、この空間データ6の構成は一例であり、詳細を限定しない。空間データ6とは別のデータとして、予め規定される空間座標系W1や特徴・諸量に関するデータ等が存在してもよい。空間形状データ61の一部として特徴データ62が記述されていてもよい。予め端末1に特徴データ62を保持してもよい。各種のデータが別の場所に保持され、識別情報を通じて関連付けられる構成でもよい。サーバ4は1台に限らず、複数台のサーバ4でもよく、例えば、1つ以上の空間2毎に関連付けられたサーバ4でもよい。
【0163】
特に、実施の形態2では、各端末1は、空間2の測定によって作成した空間データ6を、サーバ4のDB5に登録することができる。その際には、予めDB5に登録されている空間データ6(特に空間形状データ61)に対し、端末1が作成した空間データ6が登録される。言い換えると、サーバ4の空間データ6は、端末1からの空間データ6の登録に応じて適宜に内容が更新される。そして、各端末1は、サーバ4のDB5から、登録済みの空間データ6を適宜に取得して利用できる。各端末1は、自機内部に空間データ6を保持しなくてもよい。
【0164】
実施の形態2は、各空間2の空間データ6をサーバ4等の外部ソースにライブラリーとして登録する場合であるが、これに限らず、端末1内に空間データ6をライブラリーとして保持してもよい。空間2の認識を共有する各端末1は、それらの端末1間で空間データ6を作成・授受し、共有して保持するのみとしてもよい。
【0165】
[座標変換]
図17は、実施の形態2での端末座標系WAと空間座標系W1との座標系ペアリングについての説明図を示す。実施の形態2では、空間2における所定の特徴(言い換えると特徴物)として、例えば壁や天井等の所定の物体1700における特徴点や特徴線を用いる。端末1は、その所定の特徴点や特徴線を、空間座標系W1との座標系ペアリングの際に用いる。
図17の例では、壁等の物体1700における矩形の面の4個の角隅の点を用いる。
図17の例では、特に物体1700の面における左辺および上辺に対応する3個の特徴点および2つの特徴線を用いる。2つの特徴線は、2つの特定方向に対応している。空間2内の所定の特徴は、特徴データ62(
図16)で規定されており、端末1がカメラやセンサ等によって認識できるものであれば任意でよい。所定の特徴は、壁等に限らず、例えば部屋内にユーザによって設定された所定の物体としてもよい。
【0166】
なお、本例では、端末座標系WAの原点OAの位置と、第1端末1の位置LAとは異なり、また、空間座標系W1の原点O1の位置と空間2内の特徴点の位置L1とは異なるが、これに限定されない。以下では、このように端末座標系の原点と端末1の位置とが一致しない場合、および、空間座標系の原点の位置と空間2の特徴点の位置とが一致しない場合について説明する。
【0167】
端末1の位置LAについての端末座標系WAでの座標値を、dA=(xA,yA,zA)とする。空間2の特徴点の位置L1についての空間座標系W1での座標値を、d1=(x1,y1,z1)とする。これらの座標値は、世界座標系の設定に応じて定まる。端末位置ベクトルVAは、原点OAから位置LAまでのベクトルである。特徴点位置ベクトルV1は、原点O1から位置L1までのベクトルである。
【0168】
座標系ペアリングの際、端末1は、サーバ4(または変形例での基準端末)から、空間座標系W1に関する情報を取得する。例えば、端末1は、サーバ4から、空間データ6のうちの特徴データ62を参照する。特徴データ62には、空間2側の特徴(対応する物体1700)に関する諸量1702のデータが含まれている。端末1は、測距センサ13等を用いて、自機側の諸量1701を測定する。端末1は、空間2側の諸量1702と、測定した自機側の諸量1701とに基づいて、端末座標系WAと空間座標系W1との関係を求める。端末1は、その関係に基づいて、それらの座標系間の変換パラメータ7を計算し、自機に設定する。
【0169】
座標系ペアリングの際の諸量としては、以下の3つの要素の情報を有する。諸量は、第1情報として特定方向ベクトルと、第2情報として世界座標値と、第3情報として空間位置ベクトルとを有する。
図17の例では、自機側の諸量1701として、第1特定方向ベクトルN
A、第2特定方向ベクトルM
A、座標値d
A、および空間位置ベクトルP
1Aを有する。空間2側の諸量として、第1特定方向ベクトルN
1、第2特定方向ベクトルM
1、および座標値d
1を有する。
【0170】
(1)特定方向ベクトルについて: 端末1は、端末座標系における空間2内の特定方向に関する情報として、特定方向ベクトルを用いる。この特定方向は、例えば鉛直下方向のように、端末1のセンサで測定するものと、空間2内の特徴線の方向、例えば物体1700の左辺または上辺に対応する方向とがある。端末1は、複数の候補の中から、異なる2つの特定方向の単位ベクトルを用いればよい。これらの単位ベクトルについての空間座標系W1での表現をn1,m1とし、端末座標系WAでの表現をnA,mAとする。端末座標系WAでの単位ベクトルnA,mAについては、端末1によって測定する。空間座標系W1での単位ベクトルn1,m1については、予め規定され、サーバ4の特徴データ62から取得できる。
【0171】
1つの特定方向として鉛直下方向を用いる場合、鉛直下方向は、前述と同様に、加速度センサを用いて重力加速度の方向として測定できる。あるいは、各世界座標系(WA,W1)の設定において、鉛直下方向を、Z軸(ZA,Z1)の負方向として設定してもよい。いずれにせよ、この鉛直下方向は、世界座標系において変化しないので、座標系ペアリング毎に毎回測定しなくてもよい。
【0172】
1つの特定方向として例えば地磁気の北方向を用いる場合、地磁気の北方向は、端末1に備える地磁気センサ143(
図7)を用いて測定できる。地磁気は構造物の影響を受ける可能性があるので、座標系ペアリング毎に測定すると好ましい。構造物の影響が十分に小さいことが分かっている場合には、測定を省略して、地磁気の北方向として認識している方向を用いてもよい。
【0173】
特定方向として、空間2内の所定の特徴線の方向を用いる場合、例えば2つの特定方向として、物体1700の左辺および上辺の2つの特徴線の方向を用いる場合、以下のように測定できる。端末1は、特徴線毎に、特徴線を構成する異なる2つの特徴点について、端末座標系WAでの位置座標値を測定する。端末1は、その測定値から方向ベクトル(例えば左辺に対応する方向ベクトルNA(nA)、上辺に対応する方向ベクトルMA(mA))を求める。この座標値は、例えば端末1の測距センサ13によって測定できる。
【0174】
(2)世界座標値について: 端末1は、端末座標系における位置を表す座標値の情報を用いる。
図17の例では、世界座標値として、第1端末座標系WAでの座標値d
A、および空間座標系W1での座標値d
1を用いる。本例では、物体1700の特徴として、左上の1つの特徴点を、位置L1(座標値d
1)としている。
【0175】
(3)空間位置ベクトルについて: 空間位置ベクトル(空間位置ベクトルP1A)とは、端末1の位置LAから空間2の特徴点の位置L1へ向かうベクトルである。この空間位置ベクトルにより、2つの座標系(WA,W1)間の位置関係に関する情報が得られる。この空間位置ベクトルは、例えば端末1の測距センサ13によって測定できる。
【0176】
図17で、位置ベクトルG
Aは、第1端末座標系WAでの位置21のベクトルであり、位置座標値r
Aは、その位置21の座標値である。位置ベクトルG
1は、空間座標系W1での位置21のベクトルであり、位置座標値r
1は、その位置21の座標値である。原点間ベクトルo
1Aは、原点O
Aから原点O
1へのベクトルであり、第1端末座標系WAにおける原点O
1の表現である。原点間ベクトルo
A1は、原点O
1から原点O
Aへのベクトルであり、空間座標系W1における原点O
Aの表現である。
【0177】
[変換]
上記諸量データ(1701,1702)から、第1端末座標系WAと空間座標系W1との関係が分かるので、それらの世界座標系(WA,W1)間の変換が計算できる。すなわち、変換パラメータ7として、空間座標系W1を第1端末座標系WAに合わせる変換のための変換パラメータ73と、その逆の変換として、第1端末座標系WAを空間座標系W1に合わせる変換のための変換パラメータ74とを構成できる。この変換パラメータ7は、実施の形態1での説明と同様に、回転と座標原点差を用いて規定できる。
【0178】
座標系ペアリング後、端末1による空間2内の位置の認識については、いずれの世界座標系を用いてもよい。空間座標系W1での位置を、変換パラメータ73によって、第1端末座標系WAでの位置に変換することでもよい。第1端末座標系WAでの位置を、変換パラメータ74によって、空間座標系W1での位置に変換することでもよい。
【0179】
図17の例での変換パラメータ73のテーブルは、項目として、空間座標系、端末座標系、回転、および原点表現を有する。「空間座標系」項目は、空間座標系の識別情報を格納する。「端末座標系」項目は、端末座標系の識別情報、あるいは対応する端末1やユーザの識別情報を格納する。「回転」項目は、それらの空間座標系と端末座標系との間の回転の表現の情報(例:q
A1)を格納する。「原点表現」項目は、空間座標系の原点と端末座標系の原点との差の表現の情報(例:o
1A)を格納する。
【0180】
実施の形態2での変換パラメータ7の計算方法は、実施の形態1の場合と同様であるので、計算結果のみを以下に記す。空間2内の任意の点(位置21)についての端末座標系WAでの座標値rAと、空間座標系W1での座標値r1との変換式は、以下のように与えられる。
r1=q1A(rA-o1A)q1A* =q1ArAq1A*+oA1
rA=qA1(r1-oA1)qA1* =qA1r1qA1*+o1A
【0181】
ただし、上記式中の諸量は、下記から与えられる。
qT1=R(nA,n1)
mA1=qT1mAqT1*
qT2=R([PT(n1)mA1],[PT(n1)m1])
q1A=qT2qT1
qA1=q1A*
o1A=dA+P1A-qA1d1qA1*
oA1=d1-q1A(dA+P1A)q1A*
【0182】
上記のように、例えば第1端末座標系WAで見た位置21(座標値rA)を、空間座標系W1で見た位置21(座標値r1)に変換したい場合、回転q1A、座標値rA、および原点表現(oA1)を用いて計算できる。逆の変換も同様に計算できる。実施の形態2での変換パラメータ7は、上記説明で登場したパラメータで構成できる。変換パラメータ7の構成および保持においては、実施の形態1と同様に、容易に相互に変換できるので、例えば回転qA1の代わりにq1Aとしてもよい。
【0183】
[効果等(2)]
上記のように、実施の形態2によれば、各端末1によって、共通座標系とする空間2の空間座標系W1に合わせた空間データ6を作成し、サーバ4に登録でき、複数のユーザの複数の端末1間で空間2の認識を共有できる。
【0184】
実施の形態2の変形例として以下も可能である。変形例では、端末1は、座標系ペアリングを行う前に、空間2を測定し、自機の端末座標系で記述された空間データ6を作成する。その後、端末1は、空間座標系W1との座標系ペアリングを行い、変換パラメータ7を用いて、端末座標系で記述された空間データ6を、空間座標系W1で記述された空間データ6に変換する。
【0185】
実施の形態1や2の変形例として、以下も可能である。端末1間で、あるいは端末1とサーバ4との間で、提供される情報は、AR等の機能に係わる仮想画像(ARオブジェクト)やその仮想画像の配置位置情報等のデータを含んでもよい。例えば
図16で、サーバ4と各端末1との間では、空間データ6を通じて、そのようなデータをやり取りしてもよい。端末1からサーバ4にARオブジェクト等のデータを提供して空間データ6と関連付けて登録してもよい。サーバ4から端末1に空間データ6とともにARオブジェクト等のデータを提供してもよい。DB5のライブラリーでは、空間データ6において、空間形状データ61等と関連付けて、空間2内に配置して表示するARオブジェクトのデータおよび配置位置情報等が登録される。これにより、ユーザに対し、端末1を通じて各種のサービスを提供できる。例えば、商品を販売する店舗(対応する空間2)は、端末1に対し、空間データ6とともに商品広告等のARオブジェクトを提供できる。
【0186】
[変形例4]
図18は、実施の形態2の変形例(変形例4とする)の構成を示す。分担および共有を行う複数の端末1のうち、特定の端末1を基準(「基準端末」と記載する)とし、その基準端末の端末座標系を、基準(「基準座標系」とする)として用いてもよい。その場合、基準端末が、その基準座標系で、空間2の特徴(特徴点、特徴線の方向)を諸量データ1800として測定し、保持しておく。基準端末は、空間2の空間座標系W1との間で座標系ペアリング1801を行う。基準端末以外の各端末1、例えば第2端末1Bは、その基準端末から諸量データ1800を受け取り、その基準端末との間で座標系ペアリング1802を行う。この座標系ペアリング1802は、実施の形態1で説明した座標系ペアリングと同様である。これにより、基準座標系との座標系ペアリングを行った各端末1は、基準座標系を介して空間座標系W1との間接的な座標系ペアリングが実現される。
【0187】
<実施の形態3>
図19~
図24等を用いて、本発明の実施の形態3の空間認識システム等について説明する。
図19等に示す実施の形態3は、実施の形態2の発展形であり、端末座標系と空間座標系との座標系ペアリングを扱う点は同様であり、異なる構成点として、空間2の測定等のために、特有の標識3の特徴を用いる。実施の形態3では、端末1は、標識3に係わる空間座標系W1を利用し、空間2を測定して、空間データ6を作成する。また、端末1は、作成した空間データ6を、サーバ4のDB5に登録・蓄積してもよい。
【0188】
[空間認識システムおよび方法]
図19は、実施の形態3の空間認識システムおよび方法の構成を示す。実施の形態3の空間認識システムは、標識3を有する。空間2には、その空間2に対応付けられる標識3が設置されている。
図19の例では、部屋である空間2には、例えば入口の壁1901の外側面に、標識3が設置されている。
【0189】
標識3(言い換えるとマーカ、サイン等)は、ユーザが空間2を識別できるようにする一般的な標識としての機能に加え、端末1のための特別の機能を有する。この標識3は、空間2に関する基準となる世界座標系を、空間座標系W1(標識座標系と呼んでもよい)として与えるものである。標識3は、所定の特徴が規定されており、端末1による座標系ペアリングの際の諸量の測定等に使用できる特有の物体である。また、標識3は、端末1が空間2(対応するID)を識別して空間データ6を取得できるようにするための機能を有する。標識3は、空間2と同じ空間座標系W1において位置や形状等が記述されている。実施の形態2での空間2内の特徴は、実施の形態3では標識3の特徴として特徴点や特徴線である。この標識3の特徴は、予め諸量として規定されている。例えばサーバ4のDB5の空間データ6において、標識データ62が登録されている。この標識データ62は、標識3の諸量データを含み、実施の形態2での特徴データ62に相当する。
【0190】
端末1、例えば第1端末1Aは、標識3の特徴を対象として自機側の諸量データとして測定し、第1端末座標系WAと空間座標系W1との関係を把握し、その関係に基づいて、第1端末座標系WAと空間座標系W1との変換パラメータ7を生成し、自機に設定する。
【0191】
[標識]
図20は、標識3の構成例を示す。(A)は第1例、(B)は第2例、(C)は第3例、(D)は第4例である。(A)で、標識3は、横長の矩形の板等で構成されており、その板等の面(標識面と記載する場合がある)には、空間2である部屋の名称を示す「第7会議室」文字列が記載されている。本例では、標識面は、空間座標系W1のY
1-Z
1面に配置されている。また、本例では、標識面の一箇所に、空間2および標識3のID2001が直接的に文字列として記載されている。端末1は、カメラ12によってそのID2001を認識できる。
【0192】
本例では、標識3は、標識面において、予め空間座標系W1での特徴点や特徴線が規定されている。標識面において、標識3の代表的な位置L1を表す1つの特徴点(点p1)が規定されている。また、標識面において、他の2つの特徴点(点p2,p3)が規定されている。3つの特徴点(点p1~p3)によって、2つの特徴線(ベクトルに対応する線v1,v2)が規定されている。点p1は、標識面の左上の角点であり、点p2は、左下の角点であり、点p3は、右上の角点である。線v1は、標識面の左辺であり、線v2は、上辺である。これらの特徴点や特徴線は、前述の2つの特定方向を構成する。標識3の空間座標系W1に関する諸量データは、例えば上記1つの特徴点(点p1)および2つの特定方向(線v1,v2)の情報を含む。なお、説明のために点p1等の特徴点や線v1等の特徴線を図示しているが、実際には記載されない。もしくは、あえて標識面に特徴点や特徴点が特定の画像として記載されて、ユーザおよび端末1から認識できるようにしてもよい。
【0193】
端末1は、座標系ペアリングの際に、標識3との関係を諸量として測定する。その際、端末1は、標識データ62に基づいて、測距センサ13やカメラ12を用いて、これらの3つの特徴点(点p1~p3)を測定する。言い換えると、端末1は、2つの特徴線(線v1,v2)を測定する。端末座標系WAでの3つの特徴点の位置が把握できた場合、2つの特定方向に対応する2つの特徴線が把握できたことと同じである。
【0194】
なお、空間座標系W1の原点O1は、空間2外にあってもよいし、空間2内にあってもよいし、特に標識3の標識面に設定されていてもよい。例えば、標識3の特徴点(点p1)に合わせて原点O1が設定されていてもよい。
【0195】
(B)では、標識3は、(A)と同様の標識面のうちの一箇所、例えば左上の点p1付近に、所定のコード(コード画像)2002が記載されている。このコード2002は、所定の情報を記述したコードである。このコード2002は、例えばQRコード(QR:Quick Response、登録商標)等の2次元コードを用いてもよい。端末1は、カメラ12の画像からコード2002を抽出し、デコードによって所定の情報を得る。
【0196】
(C)では、標識3は、コード2003の画像や媒体として構成されている。例えば、標識3は、QRコードを記載した貼り付け媒体でもよい。本例では、コード2003面に部屋の名称の文字列が記載されている。端末1は、例えばコード2003の3つの角点を特徴点として同様に測定すればよい。あるいは、端末1は、QRコードの認識用の3つの切り出しシンボルを特徴点として測定してもよい。
【0197】
(D)では、標識3は、表示装置2004(例えば壁掛けディスプレイ)の表示画像によって構成されている。表示装置2004の画面にコード2005が表示され、標識3として機能する。この場合、標識3の変更が容易に可能である。
【0198】
標識3に記述される所定の情報は、空間2および標識3を識別するID2001を含む情報としてもよいし、外部ソースであるサーバ4の空間データ6にアクセスするためのアドレスやURLを含む情報としてもよいし、以下のような構成としてもよい。
【0199】
所定の情報は、標識3の空間座標系W1に関する諸量データ(
図19の標識データ62)と、空間データ送信先情報とを含む情報としてもよい。空間データ送信先情報は、外部ソース情報であり、端末1によって測定され作成される空間データ6(特に空間形状データ)についての送信先の識別情報であり、例えばサーバ4のアドレスやURLである。
【0200】
所定の情報は、所定のIDと空間データ送信先情報とを含む情報としてもよい。端末1は、この情報を用いて、サーバ4にアクセスし、その標識3に関連付けられた空間データ6(特に標識データ62)を取得できる。そして、端末1は、その標識データ62から諸量データを取得できる。
【0201】
[空間データ登録]
図19で、実施の形態3の空間認識方法として、複数の端末1が分担によって空間2を測定して空間2の単位での空間データ6を作成し、サーバ6に登録する場合の処理フロー例は以下の通りである。まず、ステップS31で、端末1(例えば第1端末1A)は、カメラ12等によって、実空間内にある標識3を認識し、標識3の特徴を対象に諸量を測定する。端末1は、測定値である諸量データを用いて、自機の端末座標系WAとその標識3の空間座標系W1との座標系ペアリングを行う。これにより、端末1は、端末座標系WAと、共通座標系とする空間座標系W1との変換パラメータ7を設定する。
【0202】
次に、ステップS32で、端末1は、端末座標系WAで空間2(前述の分担の領域)を測定し、変換パラメータ7を用いて、空間座標系W1で記述された空間データ6を作成する。端末1は、適宜に、測定データまたは部分空間データにおける端末座標系WAでの位置等を、空間座標系W1における位置等に変換する。ステップS32の処理の詳細は前述と同様である。
【0203】
ステップS33で、端末1は、作成した空間座標系W1で記述された空間データ6を、標識3の所定の情報に基づいて、サーバ4に送信する。端末1は、送信する空間データ6には、自機やユーザの識別情報、位置情報(測定起点)、測定日時情報(タイムスタンプ)、その他の関連する情報を付属させてもよい。測定日時情報がある場合、サーバ4側において、データ管理として、時間軸上の空間データ6(空間2の形状等の状態)の変化を把握することができる。
【0204】
サーバ4は、端末1から受信した空間データ6(特に空間形状データ)を、DB5のライブラリーに登録・蓄積する。サーバ4は、空間2のID等の情報と対応付けて、空間データ6(特に空間形状データ61)を登録する。サーバ4は、DB5において既に対応する空間データ6(特に空間形状データ61)が登録済みであった場合、その空間データ6の内容を更新する。サーバ4は、空間データ6の測定日時、登録日時、更新日時等を管理する。
【0205】
別の方法として以下としてもよい。ステップS32~S33で、端末1は、測定データに基づいて、自機の端末座標系WAで記述された空間データ6を作成する。そして、端末1は、その端末座標系WAで記述された空間データ6と、変換パラメータ7(端末座標系WAから空間座標系W1への変換が可能な変換パラメータ)とを、セットとして、サーバ4に送信する。サーバ4は、それらのデータをDB5に登録する。
【0206】
[制御フロー]
図21は、実施の形態3での端末1とサーバ4との間での空間データ6の登録に関するやりとりの処理フロー例を示す。本例では、標識3に基づいて、端末1とサーバ4との間で通信接続を確立し、座標系ペアリングを確立する。その状態で、端末1は空間を測定して空間データ6を作成し、サーバ4に送信して登録する。なお、空間2の測定を分担する複数のユーザの複数の端末1に関して同様のフローとなる。
【0207】
ステップS301で、端末1は、標識3を認識して所定の情報(例えば、ID、空間データ送信先情報)を読み取り、その所定の情報に基づいて、サーバ4との通信接続を確立する。ステップS301bで、サーバ4は、端末1との通信接続を確立する。この際、サーバ4は、ユーザや端末1に関する認証を行って、空間2に関する権限を確認し、権限が確認された端末1を許可してもよい。権限としては、例えば、測定の権限、空間データ6の登録・更新の権限、空間データ6の取得・利用の権限、等を設けてもよい。
【0208】
ステップS302で、端末1は、座標系ペアリング要求をサーバ4に送信し、ステップS302bで、サーバ4は、座標系ペアリング応答を端末1に送信する。
【0209】
ステップS303で、端末1は、標識3に関する諸量データの要求をサーバ4に送信する。ステップS303bで、サーバ4は、標識3に関する諸量データの応答として、対応する標識データ62を、端末1に送信する。端末1は、その標識3に関する諸量データを取得する。
【0210】
ステップS304で、端末1は、上記取得した諸量データに基づいて、標識3の所定の特徴(
図20の点p1および線v1,v2)を端末座標系WAで測定し、自機側の諸量データとして得る。この際の測定は測距センサ13によって可能である。
【0211】
ステップS305で、端末1は、ステップS303で得た標識側の空間座標系W1で記述されている諸量データと、ステップS304で得た自機側の端末座標系WAで記述されている諸量データとを用いて、端末座標系WAと空間座標系W1との変換パラメータ7を計算し、自機に設定する。
【0212】
ステップS306で、端末1は、空間2を測定し、測定データを得て、自機の端末座標系WAで記述された空間データ6(特に空間形状データ)を作成する。なお、詳細には、この空間データ6は、分担による部分空間データである。
【0213】
ステップS307で、端末1は、ステップS306で作成した空間データ6を、変換パラメータ7を用いて、空間座標系W1で記述された空間データ6に変換する。
【0214】
ステップS308で、端末1は、ステップS307で得た空間データ6を、サーバ4に送信する。ステップS308bで、サーバ4は、端末1から受信した空間データ6を、DB5内の対応する空間データ6(特に空間形状データ61)に登録または更新する。
【0215】
なお、他の方法では、ステップS307,S308の代わりに、端末1は、自機の端末座標系WAで記述された空間データ6と変換パラメータ7とをセットとしてサーバ4に送信する。サーバ4はDB5に空間データ6と変換パラメータ7を対応付けて登録する。この形態の場合、サーバ4はDB5の変換パラメータ7を用いて座標変換処理を行ってもよい。
【0216】
ステップS309,S309bで、端末1およびサーバ4は、空間測定に係わる座標系ペアリングを終了するかどうかを確認し、終了する場合(Yes)にはS310へ進み、継続する場合(No)にはステップS306へ戻って同様に繰り返す。
【0217】
ステップS310,S310bで、端末1とサーバ4は、空間2の測定に係わる通信接続を解除する。端末1とサーバ4は、座標系ペアリングの状態を明示的に解除(例えば変換パラメータ7の削除)してもよいし、その後も継続させてもよい。なお、端末1は、通信を介して常時にサーバ4と通信接続されてもよいし、必要な時のみサーバ4と通信接続されてもよい。端末1内には基本的には空間データ6等のデータを保持しない方式(クライアント・サーバ方式)を用いてもよい。
【0218】
上記制御フロー例では、端末1は、作成した空間データ6を自動的にサーバ4に送信して登録する。これに限らず、ユーザが端末1に空間データ登録のための操作を行い、その操作に従って空間データ6をサーバ4に登録するようにしてもよい。端末1は、空間データ登録に係わるガイド画像を表示面11に表示する。ユーザは、それに従って空間データ登録の操作を行う。
【0219】
[空間データ利用]
上記のようにしてサーバ4に空間2の空間データ6(特に空間形状データ61)が登録済みである場合、各端末1は、特に標識3を通じて、その空間データ6を通信で取得して利用することができる。この際の手続きは例えば以下の通りである。
【0220】
端末1は、対象の空間2について、対応する標識3を認識して所定の情報(ID等)を取得し、座標系ペアリング済みであるかや、空間データ6が登録済みであるか等の状態を確認する。例えば、端末1は、空間データ6が登録済みである場合、所定の情報を用いて、サーバ4から対象の空間2に関する空間データ6(特に空間形状データ61)を取得する。端末1は、座標系ペアリング済みでない場合には、空間2との座標系ペアリングを行う。端末1内に既に変換パラメータ7を保持している場合、その座標系ペアリングを省略できる。
【0221】
なお、端末1は、標識3を認識した際等に、ユーザに対し、空間2の測定(対応する空間データ6の作成)を行うか、登録済みの空間データ6を取得し利用するか、等の選択肢やガイドのための画像を表示面11に表示し、ユーザの操作に応じてその後の処理を決めてもよい。例えば、端末1は、ユーザの操作に基づいて、空間データ6を利用する場合には、サーバ4に空間データ要求を送信する。サーバ4は、要求に対し、DB5を検索し、対象の空間データ6(特に空間形状データ61)がある場合には、応答としてその空間データ6を端末1に送信する。
【0222】
端末1は、取得した空間データ6を利用して、空間2内で、例えばAR機能によって、空間2の物体の形状に合わせた位置21に仮想画像22を好適に表示できる。空間データ6(特に空間形状データ61)は、AR機能による仮想画像22の表示の用途の他にも、各種の用途に利用できる。例えば、ユーザおよび自機の位置の把握の用途や、目的地への経路の探索や案内の用途にも利用できる。例えば、端末1であるHMDは、取得した空間データ6を用いて、表示面11に、空間2の形状を表示する。この際、HMDは、空間2の形状を、実物サイズで、例えば線画の仮想画像によって実物に重畳表示してもよい。他には、HMDは、空間2の形状を、実物よりも小さいサイズで、3次元的な地図あるいは2次元的な地図のような仮想画像で表示してもよい。また、HMDは、その地図において、ユーザおよび自機の現在位置を表す仮想画像を表示してもよい。また、HMDは、その地図において、ユーザの目的地の位置や、現在位置から目的地の位置までの経路を、仮想画像として表示してもよい。あるいは、HMDは、実物に合わせて、経路案内のための矢印等の仮想画像を表示してもよい。
【0223】
[効果等(3)]
上記のように、実施の形態3では、特に標識3を用いて効率的な座標系ペアリングや空間データの取得が可能である。また、実施の形態2や3では、端末1の端末座標系WAと空間2および標識3側の空間座標系W1との座標系ペアリングの際に、空間2の物体または標識3が固定されている。よって、この座標系ペアリングの際には、端末1側の静止を考慮すればよく、高精度の測定が可能であり、実用上の自由度が増す。
【0224】
実施の形態3の変形例として、端末1の端末座標系と標識3の空間座標系との座標系ペアリングに関しては、実施の形態2の変形例4(
図18)と同様に、間接的な座標系ペアリングの方法も適用できる。例えば第2端末1Bは、標識3の空間座標系W1(
図19)との座標系ペアリングを行う際に、既にその座標系ペアリングが済んでいる第1端末1Aとの座標系ペアリングを代わりに行ってもよい。これにより、第2端末1Bの第2端末座標系WBは、第1端末座標系WAを介して、標識3の空間座標系W1との間接的な座標系ペアリングが実現できる。
【0225】
実施の形態3で、端末1は、標識3との座標系ペアリング後、空間2内で測定して得られる所定の特徴点や特徴線を、座標系ペアリング(対応する変換パラメータ7)に関するキャリブレーション(調整)に使用してもよい。また、1つの空間2に複数の標識3または特徴が設けられてもよい。端末1は、それぞれの標識3または特徴を、座標系ペアリングまたは調整に用いることができる。
【0226】
[変形例5]
実施の形態1~3の変形例(変形例5とする)として、以下も可能である。変形例5では、ある空間2を測定して空間データ6を作成する場合における時間軸上での分担を扱う。この場合のユーザは一人でも複数人でもよい。同時に1台の端末1しか無い場合でも、時間軸上での分担が可能である。この場合、時間的な分割によって構成された複数の時間における各時間を、各端末1が担当する。
【0227】
図22は、変形例5における時間軸上での分担の例を示す。空間2は、例えば広い建物であり、ID=100を有する。空間2は、図示しないが複数の部屋やエリア等を有してもよい。分担するユーザとして例えば二人のユーザ(U1,U2)がいて、対応する2台の端末1(1A,1B)がある。ここでの作業の目的は、空間座標系W1で記述された、空間2の単位での空間データ6(D100とする)を作成することである。
【0228】
(A)は第1日時での状態を示す。第1日時で、ユーザU1は、第1端末1Aによって、空間2内の領域2201を測定し、その領域2201の形状等を表す部分空間データD101を作成し、サーバ4のDB5のライブラリーに登録する。領域2201は、予め分担で決めた領域でもよいし、ユーザU1がその時に任意に測定した領域でもよい。
【0229】
(B)は第2日時での状態を示す。第2日時で、ユーザU2は、第2端末1Bによって、空間2内の領域2202を測定し、部分空間データD102を作成し、サーバ4のDB5のライブラリーに登録する。領域2202は、領域2201とは別の領域であり、重複領域(例えば重複領域2212)を含んでもよい。部分空間データD102は、少なくとも部分空間データD101とは重複していない領域のデータを含む。
【0230】
(C)は第3日時での状態を示す。第3日時で、ユーザU1は、第1端末1Aによって、空間2内の領域2203を測定し、部分空間データD103を作成し、サーバ4のDB5のライブラリーに登録する。領域2203は、領域2201,2202とは別の領域であり、重複領域を含んでもよい。
【0231】
上記のように、サーバ4のDB5には、空間2(ID=100)についての空間データ6(特に空間形状データ61)が蓄積される。時間軸上でその空間データ6の内容は随時に更新される。例えば第3日時では、空間データD100は、部分空間データD101,D102,D103から構成されている。なお、各部分空間データには、測定日時情報や、測定ユーザ・端末情報、「測定済み」等のステータス情報、等を持たせてもよい。その後も同様に、時間軸上で、一人以上の任意のユーザ、任意の端末1によって、適宜に空間2内の任意の領域を測定することで、空間2内の十分な領域が測定済みとなれば、空間2を単位とした空間データ6が作成できる。
【0232】
また、各端末1は、各回の測定の開始前には、サーバ4から空間データ6を参照することで、空間2内の測定済み領域について把握できる。よって、端末1は、測定済み領域についての測定を省略し、未測定領域を対象に測定を開始することもできる。また、端末1は、測定済み領域についても再度測定する場合、その領域の形状等の更新または補正が可能である。
【0233】
測定の重複領域(例えば重複領域2212)の扱いについては、以下の方法が可能である。第1方法としては、各部分空間データに、重複領域のデータを持たせる。例えば、部分空間データD101およびD102において、重複領域2212のデータを持つ。
【0234】
第2方法としては、各部分空間データに、重複領域のデータを持たせない。例えば、部分空間データD101またはD102において、重複領域2212のデータを持たない。端末1またはサーバ4は、空間2内のある領域が測定済みか否かを判断する。例えば、登録済みの空間データ6の内容の状態からその判断が可能である。例えば、第2端末1Bおよびサーバ4は、部分空間データD101に既に重複領域2212のデータがあるので、部分空間データD102には重複領域2212のデータを持たせないようにする。あるいは、他の方法として、第2端末1Bおよびサーバ4は、部分空間データD101における重複領域2212のデータを、部分空間データD102の重複領域2212のデータによって上書き更新する。
【0235】
空間2内の領域については、時間軸上でその領域での形状等の状態が変化している場合もある。例えば、机等の配置物が動かされている場合がある。この場合、端末1およびサーバ4は、時間軸上で領域毎の測定データまたは部分空間データの差をみることで、その変化を判断可能である。この判断に基づいて、例えば空間2の最新の状態を反映したい場合には、端末1およびサーバ4は、新しい方の測定日時での部分空間データを用いて上書き更新を行えばよい。また、端末1およびサーバ4は、そのような判断に基づいて、空間2を構成している固定の配置物(例えば壁、床、天井)と位置可変の配置物(例えば机)との区別を判断することもできる。これに基づいて、端末1およびサーバ4は、空間データ6において、部分毎に、固定と位置可変とを区別して属性情報を登録してもよい。また、そもそも位置可変の配置物については構成要素としないように空間データ6を構成することもできる。
【0236】
サーバ4のDB5において、同じ空間2の空間データ6として、最新の測定日時の空間データのみ保持してもよいが、測定日時毎の空間データを履歴として保持してもよい。この場合、時間軸上の空間2の変化が履歴として把握できる。各測定日時の空間データの差からは、上記固定の配置物と位置可変の配置物との弁別も可能である。
【0237】
[変形例6]
実施の形態1~3の変形例(変形例6とする)として、以下も可能である。変形例6では、ある空間2を測定して空間データ6を作成する場合において、各端末1は、測定の事前の分担を行わない。この場合のユーザは一人でも複数人でもよい。各端末1は、測定した空間データを、要求があれば他の端末1に提供するか、サーバ4に登録する。各端末1は、自機が保有しない空間データ6を他の端末1およびサーバ4から検索して取得し、利用する。
【0238】
変形例6のフローを
図23に示す。情報処理装置9は、端末1(例えば第2端末1B)またはサーバ4である。
図23のフロー以前に、端末1は空間データ6を測定して保有し、サーバ4は例えば
図21のフローのように、測定された空間データ6の登録をしている。さらに、サーバ4は、建物の壁等の設計データとしての空間データ6を保持していてもよい。
【0239】
ステップS331,S331bで、第1端末1Aと情報処理装置9は通信を確立する。情報処理装置9がサーバ4である場合は、通信の確立に際し、第1端末1Aは、取得したい空間データ6を管理するサーバ4を選択する。選択は、例えば、空間データ6の位置情報から行うことができる。あるいは、標識3を認識して所定の情報(例えば、ID、空間データ取得先情報)を読み取り、その所定の情報に基づいてサーバ4との通信接続を確立することでもよい。情報処理装置9が第2端末1Bである場合、具体的に装置が特定できるので、予め保持していた通信用データを用いて通信確立を行うことができる。
【0240】
ステップS332で、第1端末1Aは、座標系ペアリング要求を情報処理装置9に送信し、ステップS332bで、情報処理装置9は、座標系ペアリング応答を第1端末1Aに送信する。
【0241】
ステップS333で、端末1は、諸量データの要求を情報処理装置9に送信する。この諸量データは、情報処理装置9が第2端末1Bである場合、第2端末1Bに関する諸量データである。情報処理装置9がサーバ4である場合、諸量データは標識3に関する諸量データである。ステップS333bで、情報処理装置9は、要求された諸量データを第1端末1Aに送信する。第1端末1Aは、その諸量データを取得する。なお、第2端末1Bから空間データ6を取得する際の共通座標系が空間座標系である場合、第1端末1Aは、空間座標系との座標系ペアリングに必要な標識3等の諸量データを、第2端末1B他から取得する。
【0242】
ステップS334で、第1端末1Aは、上記取得した諸量データに基づいて、座標系ペアリングに必要な、第2端末1Bまたは標識3の所定の特徴(例えば
図20の点p1および線v1,v2)を端末座標系WAで測定し、自機側の諸量データとして得る。この際の測定は測距センサ13によって可能である。
【0243】
ステップS335で、第1端末1Aは、ステップS333で得た第2端末1Bまたは標識3側の共通座標系WSで記述されている諸量データと、ステップS334で得た自機側の端末座標系WAで記述されている諸量データとを用いて、端末座標系WAと共通座標系WSとの変換パラメータ7を計算し、自機に設定する。これにより、第1端末1Aと情報処理装置9との空間認識の共有ができる。
【0244】
ステップS336,S336bで、第1端末1Aによる空間データ6保有の問合せと、情報処理装置9による問合せ応答および空間データ6の送信とを行う。まず、第1端末1Aは、空間データ6を取得したい領域の共通座標系を基準として記述された位置情報を、情報処理装置9に送信する。情報処理装置9は、問合せを受けた領域に関する空間データ6のリストを回答する。ここでいう領域とは、例えば
図24の(A)に示すような、座標値で規定される直方体で囲まれる3次元的領域であり、空間2の部分領域を細かく指定するものである。これは、予め空間メッシュを定義して、空間メッシュのIDで指定することでもよい。領域に関する空間データ6とは、領域内に少なくとも一部が存在する物体や、実空間の境界等の特徴点、特徴線、ポリゴンデータ等の3次元的位置情報である。空間データ6のリストとは、例えば
図24の(B)のようなものである。リスト上の領域の位置は物体等の位置情報が存在する範囲であり、問合せの領域とは必ずしも一致しない。領域の指定は、領域が、その各辺が座標軸に平行である直方体である場合は、直方体の一つの対角線の両端の座標値でよい。領域が任意の多面体である場合は、全ての頂点座標値で指定する。情報処理装置9による回答は、問合せを受けた領域の近傍の空間データ6を含めてもよい。回答を受けた第1端末1Aは、リスト中から取得する空間データ6を選択し、情報処理装置9よりその空間データ9の送信を受ける。
【0245】
ステップS337で、第1端末1Aは、ステップS336で取得した空間データ6を、変換パラメータ7を用いて、自機の端末座標系WAで記述された空間データ6に変換し、利用する。
【0246】
なお、他の方法では、変換パラメータ7を情報端末装置9に送信し、位置情報に関しては、端末座標系WAを基準とした情報交換を行ってもよい。
【0247】
ステップS338,S338bで、第1端末1Aおよび情報処理装置9は、空間データ提供に係わる座標系ペアリングを終了するかどうかを確認し、終了する場合(Yes)にはステップS339,S339bへ進み、継続する場合(No)にはステップS336,S336bへ戻って同様に繰り返す。
【0248】
ステップS309,S309bで、第1端末1Aと情報処理装置9は、空間データの提供に係わる通信接続を解除する。第1端末1Aと情報処理装置9は、座標系ペアリングの状態を明示的に解除(例えば変換パラメータ7の削除)してもよいし、その後も継続させてもよい。なお、第1端末1Aは、通信を介して常時に情報処理装置9と通信接続されてもよいし、必要な時のみ情報処理装置9と通信接続されてもよい。端末1内には基本的には空間データ6等のデータを保持しない方式(クライアント・サーバ方式)を用いてもよい。この場合のサーバは情報処理装置9としてのサーバ4ではない。
【0249】
端末1は、取得した空間データ6を統合して新たな空間データ6を作成する他、情報処理装置から取得した空間データ6を、ARオブジェクトの表示等に利用するだけでもよい。
【0250】
変形例6により、事前の測定分担設定の手間なく、自機による空間データ6の測定を省略でき、作業の効率化を図ることができる。
【0251】
<実施の形態4>
図25等を用いて、実施の形態4の空間認識システム等について説明する。実施の形態4は、実施の形態1~3に関する変形例であり、機能が追加される。端末1は、端末1の位置や向きに応じて、ユーザに対し、分担に係わる測定範囲等のガイドや支援のための画像を表示面11に表示する。端末1の位置については、座標系ペアリング時の水平面上での位置を用いる。
【0252】
[表示例1]
図25は、実施の形態4での端末1の表示面11の表示例を示す。本例では、
図3のような空間2内に、第1端末1AであるHMDを装着したユーザU1がいる。ユーザU1は、HMDの表示面11を通じて、ホワイトボード2bがある壁2301の方を見ている。第1端末1Aには、予め例えば前述の
図10のステップS2Aで、分担に係わる領域の設定が行われているとする。この設定は、サーバ4のDB5の空間データ6に対する設定としてもよい。例えば、ユーザU1の第1端末1Aは、
図3や
図4のように領域2Aを担当する。
【0253】
第1端末1Aは、自機が分担する領域2A(すなわち測定すべき領域)や測定範囲等を表す画像2300を、表示面11に重畳表示する。この画像2300は、その画像2300が見える方向にある領域が分担の領域であることを表している。本例では、画像2300は、空間2内の領域2A,2Bの境界面を表す画像(奥が透過して見える画像)であるが、これに限らず、3次元的な領域2A等を表す画像としてもよい。本例では、空間座標系W1内での第1端末1A(対応するユーザU1)の位置が領域2Aの外側にあり、領域2Aを向いている。そのため、領域2A,2Bの境界面が画像2300として表示されている。また、例えば、第1端末1Aの位置が領域2Aの内側にあり、領域2Aの配置物の方を向いている状態の場合、画像2300の代わりに、その状態を表す画像が表示される。
【0254】
ユーザU1は、この画像2300を見ることで、領域2Aを把握しやすく、測定がしやすい。ユーザU1は、この画像2300が見える方向を測定すればよい。端末1に備える測定のためのセンサ(例えば測距センサ13)の感度領域がユーザU1の顔の前方向にある場合において、ユーザU1は、この画像2300を、測定のために顔を向ける方向の目安とすることができる。言い換えると、ユーザU1は、測定の際に、視線がこの画像2300の面領域内を指すように顔を向ければよい。
【0255】
他の例としては、第1端末1Aは、位置や向きの状態に応じて、画像2300とは別に、他の端末1(例えば第2端末1B)の分担する領域(領域2B)を表す別の画像を表示してもよい。
【0256】
図26は、分担方法の一例として、空間2を俯瞰した水平面(X
1-Y
1面)での概要を示す。この分担は、対象の空間2を同時に複数台の端末1によって測定する場合に、測定の方位を設定する例を示す。この場合、水平面において、複数台の端末1によって対象の空間2の全方位(対応する領域)をカバーするように、各端末1の測定の方位が決定される。分担する複数の端末1は、互いに座標系ペアリングを行う。その後、端末1間では、適宜に通信しながら、分担のための処理を行う。
【0257】
本例では、三人のユーザ(U1,U2,U3)の端末1(1A,1B,1C)で同時に測定する場合の各位置と方位(2401,2402,2403)を示す。端末1間では、まずこの状態で分担範囲を計算する。隣り合う端末1を結ぶ線分の垂直2等分線と空間2の境界線(本例では四方の壁)との交点(2411,2412,2413)をとる。この交点を、空間2の分担範囲の境界(対応する鉛直方向の線)とする。また、端末1間では、この分担範囲を初期値として、さらに、分担が公平(例えば同程度の大きさ)になるように調整(例えば交点を水平方向にずらす等)をしてもよい。また本例では交点を境界として分担範囲に重なりが無いようにしているが、これに限らず、交点を含む境界部分に分担範囲の重なりを設けてもよい。
図26のような分担での測定によって、部屋の壁等の形状を測定できる。
【0258】
[表示例2]
図27は、
図26の分担に対応した第1端末1Aでの表示例を示す。表示面11には、交点2411,2413に対応する測定範囲境界線を表す画像2501,2502が表示される。また、本例では、その測定範囲境界線の画像2501,2502で表される測定範囲内に、複数の横線矢印の画像2503が表示される。この横線矢印は、測定の際に端末1のセンサ(例えば測距センサ13)を走査するように動かす場合に、その走査の目安となる。
【0259】
ユーザU1は、その横線矢印の画像2503に沿って、顔の向き(対応する画像2504)を変えるように動かすことで、効率的および高精度の測定が実現できる。画像2504は、HMDおよびセンサ等の向きを表すカーソルのような画像の表示例である。画像2503における横線矢印の方向や間隔は、効率的な測定ができるように設計されている。例えば隣り合う2本の横線矢印の間隔は、測定漏れが生じずに測定重複が最低限となるような間隔として選択されている。
【0260】
[表示例3]
図28は、さらに、他の表示例を示す。端末1は、空間2内または分担領域内の各領域について、測定(言い換えると測定データの取得)が済んだか否かを把握し、測定済みの領域と未測定の領域とがユーザに分かりやすいように、それらの領域を区別して表す画像を表示面11に表示する。また、端末1は、サーバ4のDB5のライブラリーに既に空間データ6(特に空間形状データ61)として登録済みの領域かどうかを把握し、それらの領域を区別して表す画像を表示してもよい。本例では、画像2601は、測定済み範囲を表す、縦線ハッチングのような画像である。画像2602は、未測定範囲を表す、斜線ハッチングのような画像である。これらの画像の表示状態はリアルタイムで更新される。画像には、「測定済み」、「未測定」、「登録済み」、「分担範囲」とった種類を表す文字列やアイコン等を付けて表示してもよい。画像表示のみならず、音声出力によるガイドを用いてもよい。
【0261】
[表示例4]
図29は、他の表示例を示す。この変形例では、複数の端末1間では、分担の領域を決めない。各ユーザは適宜に端末1によって任意の範囲を測定し、自発的に未測定範囲を測定する。空間2の測定の際、各端末1は、ユーザの位置や向きに応じた範囲を測定する。各端末1は、
図28と同様に、自機による測定済み範囲と未測定範囲とがユーザに分かるように画像を表示する。例えば第1端末1Aは画像2601,2602を表示する。分担する端末1間では、測定の都度、測定データ、または自機の測定済み領域等を表す情報を、他の端末1に送信する。各端末1は、その測定データまたは情報に基づいて、空間2内の各端末1による測定済み領域や未測定領域を把握する。そして、各端末1は、表示面11の範囲内に、他の端末1による測定済みの領域がある場合には、その測定済みを表す画像を表示する。例えば第1端末1Aは、第2端末1Bによる測定済みを表す横線ハッチングのような画像2701を表示する。ユーザU1は、ガイド画像を見ることで、次の測定範囲を決めやすい。上記例に限らず、分担する全端末1でまとめて、測定済みと未測定との2種類の画像としてもよい。
【0262】
[表示例5]
図30は、他の画像の表示例を示す。
図25等の例では、実空間中に面等を表すガイド画像が表示されているが、これに限らず、空間2の壁や机等の物体の面に合わせるように、ガイド画像を表示してもよい。本例では、部屋等の空間2内の壁2702,2703に近い角隅において、床2701上に物体2700が配置されている。端末1は、この物体2700を含む範囲を測定した際、測定済みを表す破線のような画像2710を表示する。例えば、端末1は、測距センサ13によって取得した点群データに基づいて、その点群で表される物体の面に合わせて、測定済み範囲の物体の形状を表す画像2710を表示できる。画像2710は、線画像でもよいし、面画像でもよい。
【0263】
以上、本発明を実施の形態に基づいて具体的に説明したが、本発明は前述の実施の形態に限定されず、要旨を逸脱しない範囲で種々変更可能である。実施の形態の構成要素の追加や削除や置換、各種の組合せによる構成が可能である。前述した機能等は、一部または全部をハードウェアで実装してもよいし、ソフトウェアプログラム処理で実装してもよい。機能等を構成するプログラムやデータは、コンピュータ読取可能な記憶媒体に格納されてもよいし、通信網上の装置に格納されてもよい。
【符号の説明】
【0264】
1…端末(HMD)、1A…第1端末、1B…第2端末、1a,1b…スマートフォン、2…空間、4…サーバ、6…空間データ、7…変換パラメータ、9…情報処理装置、11…表示面、12…カメラ、13…測距センサ、U1…第1ユーザ、U2…第2ユーザ、W1…空間座標系、WA…第1端末座標系、WB…第2端末座標系、WS…共通座標系、WT…端末座標系、21…位置、22…画像。