(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-22
(45)【発行日】2024-07-30
(54)【発明の名称】空間認識システム、空間認識方法、および情報端末
(51)【国際特許分類】
G06T 19/00 20110101AFI20240723BHJP
【FI】
G06T19/00 600
(21)【出願番号】P 2021569678
(86)(22)【出願日】2020-01-09
(86)【国際出願番号】 JP2020000521
(87)【国際公開番号】W WO2021140631
(87)【国際公開日】2021-07-15
【審査請求日】2022-07-04
(73)【特許権者】
【識別番号】000005810
【氏名又は名称】マクセル株式会社
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】橋本 康宣
(72)【発明者】
【氏名】秋山 仁
(72)【発明者】
【氏名】高見澤 尚久
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開2003-281504(JP,A)
【文献】特開2019-153274(JP,A)
【文献】国際公開第2017/122367(WO,A1)
【文献】国際公開第2018/123022(WO,A1)
【文献】国際公開第2011/118282(WO,A1)
【文献】特開2015-176516(JP,A)
【文献】特開2011-186808(JP,A)
【文献】国際公開第2014/136700(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/01
G06F 3/048- 3/04895
H04N 13/00 -13/398
(57)【特許請求の範囲】
【請求項1】
空間認識システムであって、
画像を表示する表示面と、カメラと、センサとを備え、端末座標系を有する情報端末と、
前記端末座標系と異なる空間座標系により記述された空間データを保存するサーバと、
空間に設けられ、前記空間データを特定する識別情報が記載されている標識と、
を備え、
前記空間データは、前記空間を構成する配置物の形状を示す空間形状データと、前記センサにより前記標識と前記情報端末との位置と向きを測定する際の基準となる測定対象位置が規定された測定対象位置情報とを含み、
前記情報端末は、
前記カメラにより撮影された前記標識から前記識別情報を取得し、
前記識別情報を用いて特定した前記空間データを前記サーバから取得し、
前記空間データに含まれる前記測定対象位置情報を用いて、前記センサにより前記情報端末と前記標識との位置および向きを測定し、
前記センサにより測定された位置と向き
と、前記空間データとを用いて、
前記空間座標系と前記端末座標系との間の変換のための変換パラメータを生成し、
前記変換パラメータを用いて、前記
空間座標系により記述された仮想物体
の位置を前記
端末座標系に変換し、
前記端末座標系に変換された
位置に前記仮想物体
を表示する、
空間認識システム。
【請求項2】
請求項1記載の空間認識システムにおいて、
前記標識には、前記識別情報をコード化した画像が記載されており、
前記情報端末は、前記標識の前記画像を前記カメラによって認識し、デコードして前記識別情報を取得する、
空間認識システム。
【請求項3】
請求項1記載の空間認識システムにおいて、
前記標識は、前記空間を構成する床、壁、または天井に設定されている、
空間認識システム。
【請求項4】
請求項1記載の空間認識システムにおいて、
前記標識は、前記空間に配置されている表示装置に表示される、
空間認識システム。
【請求項5】
請求項1記載の空間認識システムにおいて、
前記情報端末は、前記標識を認識する際に、前記表示面に前記情報端末のユーザに対するガイドのための仮想画像を表示する、
空間認識システム。
【請求項6】
請求項1記載の空間認識システムにおいて、
前記空間は、複数の領域に分割されており、
前記空間データは、前記複数の領域に対応付けられた複数の空間データを有する、
空間認識システム。
【請求項7】
請求項1記載の空間認識システムにおいて、
前記情報端末は、前記空間内における前記標識の位置または前記情報端末の現在位置から、所定の物体の位置または前記情報端末のユーザの指定する位置までの経路案内を、前記表示面への仮想画像の表示によって行う、
空間認識システム。
【請求項8】
端末座標系を有する情報端末の空間認識方法であって、
前記情報端末は、表示デバイスと、空間に設けられた標識を撮影するカメラと、前記端末座標系と異なる空間座標系により記述された空間データを保存するメモリと、前記情報端末と前記標識との位置と向きを測定するセンサと、を備え、
前記空間データは、前記標識の位置や形状を前記空間座標系で記述した標識データと、
前記空間を構成する配置物の形状を示す空間形状データと、前記センサにより前記情報端末と前記標識との位置と向きを測定する際の基準となる測定対象位置が規定された測定対象位置情報とを含み、
前記空間認識方法は、
前記カメラにより撮影された前記標識から前記
空間データを特定する識別情報を取得するステップと、
前記メモリから前記識別情報を用いて特定した前記空間データを取得するステップと、
前記空間データに含まれる前記測定対象位置情報を用いて、前記センサにより前記標識と前記情報端末との位置と向きを測定するステップと、
前記センサにより測定された位置と向き
と、前記空間データとを用いて、
前記空間座標系と前記端末座標系との間の変換のための変換パラメータを生成するステップと、
前記変換パラメータを用いて、前記
空間座標系により記述された仮想物体
の位置を前記
端末座標系に変換するステップと、
前記端末座標系に変換された
位置に前記仮想物体
を表示するステップと、
を有する、空間認識方法。
【請求項9】
請求項8記載の空間認識方法において、
前記標識には、前記識別情報をコード化した画像が記載されており、
前記情報端末は、前記標識の前記画像を前記カメラによって認識し、デコードして前記識別情報を取得する、
空間認識方法。
【請求項10】
請求項8記載の空間認識方法において、
前記情報端末は、前記標識を認識する際に、前記表示
デバイスに前記情報端末のユーザに対するガイドのための仮想画像を表示する、
空間認識方法。
【請求項11】
請求項8記載の空間認識方法において、
前記空間は、複数の領域に分割されており、
前記空間データは、前記複数の領域に対応付けられた複数の空間データを有する、
空間認識方法。
【請求項12】
請求項8記載の空間認識方法において、
前記情報端末は、前記空間内における前記標識の位置または前記情報端末の現在位置から、所定の物体の位置または前記情報端末のユーザの指定する位置までの経路案内を、前記表示
デバイスへの仮想画像の表示によって行う、
空間認識方法。
【請求項13】
端末座標系を有する情報端末であって、
表示デバイスと、
空間に設けられた標識を撮影するカメラと、
前記端末座標系と異なる空間座標系により記述された空間データを保存するメモリと、
前記情報端末と前記標識との位置と向きを測定するセンサと、
プロセッサと、
を備え、
前記空間データは、前記標識の位置や形状を前記空間座標系で記述した標識データと、前記空間を構成する配置物の形状を示す空間形状データと、前記センサにより前記情報端末と前記標識との位置と向きを測定する際の基準となる測定対象位置が規定された測定対象位置情報とを含み、
前記プロセッサは、
前記カメラにより撮影された前記標識から前記
空間データを特定する識別情報を取得し、
前記メモリから前記識別情報を用いて特定した前記空間データを取得し、
前記空間データに含まれる前記測定対象位置情報を用いて、前記標識と前記情報端末との位置と向きを測定するように前記センサを制御し、
前記センサにより測定された位置と向き
と、前記空間データとを用いて、
前記空間座標系と前記端末座標系との間の変換のための変換パラメータを生成し、
前記変換パラメータを用いて、前記
空間座標系により記述された仮想物体
の位置を前記
端末座標系に変換し、
前記端末座標系に変換された
位置に前記仮想物体
を表示するように前記表示デバイスを制御する、
情報端末。
【請求項14】
請求項13記載の情報端末において、
前記標識には、前記識別情報をコード化した画像が記載されており、
前記情報端末は、前記標識の前記画像を前記カメラによって認識し、デコードして前記識別情報を取得する、
情報端末。
【請求項15】
請求項13記載の情報端末において、
前記情報端末は、前記標識を認識する際に、前記表示
デバイスに前記情報端末のユーザに対するガイドのための仮想画像を表示する、
情報端末。
【請求項16】
請求項13記載の情報端末において、
前記空間は、複数の領域に分割されており、
前記空間データは、前記複数の領域に対応付けられた複数の空間データを有する、
情報端末。
【請求項17】
請求項13記載の情報端末において、
前記情報端末は、前記空間内における前記標識の位置または前記情報端末の現在位置から、所定の物体の位置または前記情報端末のユーザの指定する位置までの経路案内を、前記表示
デバイスへの仮想画像の表示によって行う、
情報端末。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ヘッドマウントディスプレイ(HMD)等の情報端末の技術に関し、情報端末によって空間を認識する技術に関する。
【背景技術】
【0002】
ユーザが装着または携帯するHMDやスマートフォン等の情報端末は、ユーザの視界に対応させた表示面において、仮想現実(VR)や拡張現実(AR)等に対応する画像(仮想画像等と記載する場合がある)を表示する機能を有する。例えば、HMDは、部屋等の空間内において、壁や机等の実物を認識し、その実物に対し位置等を合わせるようにARの画像を表示する。
【0003】
上記情報端末に関する先行技術例として、特表2014-526157号公報(特許文献1)が挙げられる。特許文献1には、「ヘッドマウントディスプレイの全視野の分類」として、以下の旨が記載されている。収集されたセンサーデータおよび他のデータに基づいて、HMD装着者の身体および周囲の環境に対する頭部の位置および回転が決定され得る。頭部の位置を解決した後、HMD装着者の全視野は、領域に分類され得る。次に、仮想イメージをHMD装着者の身体および周囲の環境に対して配置するために、仮想イメージは、分類された領域内に配置され得る。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来一般的に、HMD等の情報端末側が有する座標系と、空間側が有する座標系とは、別の座標系であり、一致しない場合が通常である。そのため、HMD等が対象空間内に仮想画像を表示する際に、それらの座標系が一致していない場合には、好適な位置等に表示しにくい。それらの座標系が一致していない場合、情報端末が対象空間内に仮想画像を好適に表示できるためには、情報端末が空間内の壁等の実物についての位置や距離や形状等を測定してなるべく高精度に把握することが好ましい。従来のHMDは、カメラや測距センサを用いて空間内の実物の位置等を測定する機能を有する。しかし、その測定の処理には時間がかかる場合や難しい場合もある。
【0006】
すなわち、従来技術例は、空間内で情報端末が仮想画像を表示する際に、精度や速度等の観点で課題がある。従来技術例は、対象空間の座標系に対する情報端末の座標系、言い換えると位置や向き等の状態を、好適に適合させるための方法等については検討が不十分である。
【0007】
また、従来技術例は、空間の形状等が記述された空間データが存在する場合における空間データの好適な利用の方法等についても検討が不十分である。例えば特許文献1では、空間データを用いて対象の環境・空間に対する情報端末の位置や向きを好適に決定するための詳細な方法や、空間データを利用する際の利便性を向上する方法等については、記載されていない。
【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の変形例における、他の標識の構成例を示す図である。
【
図14】実施の形態1の変形例における、空間の構成例について示す図である。
【
図15】本発明の実施の形態2の空間認識システムおよび方法における、空間の構成を示す図である。
【
図16】実施の形態2で、変換パラメータの構成例(第1例)を示す図である。
【
図17】実施の形態2で、変換パラメータの構成例(第2例)を示す図である。
【
図18】実施の形態2で、変換パラメータの構成例(第3例)を示す図である。
【
図19】実施の形態2で、変換パラメータの構成例(第4例)を示す図である。
【
図20】実施の形態2の変形例における、空間の構成例を示す図である。
【
図21】実施の形態1,2の変形例における、空間の構成例を示す図である。
【
図22】実施の形態1,2の変形例における、標識の構成例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、全図面において同一部には原則として同一符号を付し、繰り返しの説明は省略する。
【0013】
(実施の形態1)
図1~
図12を用いて、本発明の実施の形態1の空間認識システムおよび方法について説明する。
図1等に示す実施の形態1の空間認識システムおよび方法においては、情報端末1が、使用する対象の空間2の空間データ6を保有する場合と、情報端末1が外部ソースから空間データ6を取得する場合とがある。後者の場合は、
図1に示した例のように、情報端末1が例えばサーバ4から空間データ6を取得する。空間データ6は、空間2の形状等が記述されたデータである。空間2は、例えば建物内の部屋やエリア等である。空間2には、予め、その空間2および空間データ6に対応付けられた識別情報(ID)が、標識3等の形態で掲示・表示される。予め、各空間2のIDや形状等を表す空間データ6が、ライブラリーとされて、情報端末1またはサーバ4のDB5に登録されている。空間データ6の構成や方式の詳細については限定しない。
【0014】
情報端末1は、外界の空間2内の実物の位置21に合わせて仮想画像22を表示する機能を有するHMD1Aやスマートフォン1B等の装置である。情報端末1は、自機の世界座標系として端末座標系WAを有する。空間2は、世界座標系として空間座標系W1を有する。これらの座標系は異なる。標識3と空間2は、所定の位置関係を有し、同じ空間座標系W1において位置や形状等が空間データ6に記述されている。
【0015】
この空間認識システムおよび方法は、端末座標系WAと空間座標系W1とを効率的に適合させる仕組みを有する。具体的には、情報端末1は、使用する対象の空間2に対応付けられて設けられている標識3から、IDを認識し、そのIDに基づいて空間データ6を特定する。情報端末1は、空間データ6を特定後、情報端末1内に保存した空間データ6を使用するか、通信によってサーバ4から空間データ6を取得する。
【0016】
情報端末1は、その空間データ6を用いて、対象の空間2の空間座標系W1に対する自機の端末座標系WAを適合させる動作を、後述の座標系ペアリングとして行う。情報端末1は、端末座標系WAでの位置や向きを、空間座標系W1に合わせるように座標系ペアリングを行うことで、空間2との間で位置認識を共有する。情報端末1は、座標系ペアリング後、それらの座標系間で適宜に位置や向きを変換しながら、所望の位置21に高精度にAR等の仮想画像22を表示できる。
【0017】
情報端末1は、標識3からの空間データ6の特定とともに、座標系ペアリングのために、その標識3に対する情報端末1の位置や向きの関係の測定・計算を行う。これにより、情報端末1は、空間データ6を記述する空間座標系W1に対する端末座標系WAでの情報端末1の位置と向きについての初期設定を行う。情報端末1は、標識3からの空間データ6の特定とほぼ同時に、上記座標系間の適合を初期設定として行うことができる。このシステムおよび方法によれば、例えばユーザU1の情報端末1が、空間2に対し、部屋の入口等の標識3の場所で、速やかに座標系適合および位置認識共有を実現でき、ユーザの利便性の向上等の効果が得られる。この方法は、従来技術例として情報端末が部屋に入ってから空間の形状等を測定する場合に比べ、速やかに空間認識ができ、エラーや誤差等も少なくすることができる。
【0018】
[空間認識システム]
図1は、実施の形態1の空間認識システムの構成を示す。本例では、情報端末1が使用する対象の空間2を、建物内の1つの部屋とし、情報端末1として特にHMD1Aを使用する場合を説明する。実施の形態1の空間認識システムは、ユーザU1が携帯または装着する情報端末1と、情報端末1の使用対象となる空間2と、サーバ4を利用する場合、空間データ6が登録されているサーバ4とを有する。情報端末1は、無線LANのアクセスポイント23等を通じて、インターネットやモバイル網等を含む通信網に接続される。情報端末1は、通信網を介して、サーバ4等の外部装置と通信する。なお、一人のユーザ、1台の情報端末1、および1つの空間2のみを図示しているが、これに限らず、複数のユーザの複数の情報端末および複数の空間を有し、それぞれに同様に適用可能である。
【0019】
情報端末1であるHMD1Aは、筐体に、透過型の表示面11、カメラ12、測距センサ13等を備える。HMD1Aは、ARの仮想画像を表示面11に表示する機能を有する。同様に、スマートフォン1Bは、タッチパネル等の表示面、カメラ、測距センサ等を備え、ARの仮想画像を表示面に表示する機能を有する。
【0020】
空間2は、IDおよび空間データ6と対応付けられて、識別や区分して管理される任意の空間であり、例えば1つの部屋である。本例では、この部屋の入口の付近の壁の外側面に標識3が設置されている。
【0021】
標識3(言い換えるとマーカ、サイン等)は、ユーザU1が空間2を識別できるようにする一般的な標識としての機能に加え、情報端末1のための特別の機能を有する。この標識3の特別の機能は、情報端末1が空間2(対応するID)を識別して空間データ6を特定できるようにし、さらに、その空間2に合わせて座標系を適合させる動作を実現するための機能である。
【0022】
サーバ4は、事業者等が管理するサーバ装置であり、例えばデータセンタやクラウドコンピューティングシステム上に設けられている。サーバ4は、内部または外部のデータベース(DB)5に、ライブラリーとして、IDおよび空間データ6を登録し保持している。例えば、図示する空間2の標識3にはID=101が付与されており、DB5には、ID=101で識別される空間データ6(D101)が登録されている。複数の各々の空間2および標識3について、同様に空間データ6が登録されている。サーバ4は、会社等の単位で閉じられた空間データ6を管理するものとしてもよいし、地球や地域等の単位で多数の空間データ6を管理するものとしてもよい。例えば会社の建物を単位として空間データ6を管理する場合、会社のLAN等のコンピュータシステムのサーバ4に、その建物内の各空間2に関する各空間データ6が登録される。
【0023】
なお、情報端末1としてスマートフォン1Bを用いる場合も、HMD1Aの場合と概略同様の機能等が実現できる。その場合、ユーザU1は、手に持ったスマートフォン1Bの表示面に表示されるAR等の仮想画像22を見る。
【0024】
[座標系]
実施の形態1では、情報端末1と空間2(対応する空間データ6)において、実空間内の位置等を指定するための基準となる座標系を、世界座標系と呼ぶ。
図1の情報端末1は、自機の位置や向きを表す世界座標系として、端末座標系WAを有する。端末座標系WAは、情報端末1の位置、向き(言い換えると姿勢、回転の状態)、画像表示位置等を認識し制御するための座標系である。空間2は、その空間2の位置や向きを表す世界座標系として、空間座標系W1を有する。空間データ6は、空間座標系W1で記述されている。端末座標系WAと空間座標系W1は基本的に異なる座標系である。各世界座標系の原点および方向は、実空間(地球や地域等)内に固定されている。これらの座標系は、最初の状態では一致していない。
【0025】
端末座標系WAは、原点O
Aと、直交する3軸として軸X
A、軸Y
A、および軸Z
Aとを有する。空間座標系W1は、原点O
1と、直交する3軸として軸X
1、軸Y
1、および軸Z
1とを有する。原点O
Aおよび原点O
1は、それぞれ実空間内の所定の位置に固定されている。端末座標系WAにおける情報端末1の位置LAは、例えば予め規定される筐体中心位置である(
図8)。空間座標系W1における標識3の位置L1は、例えば予め規定される、標識3中の1つの特徴点に対応する位置である(
図8)。
【0026】
予め、空間2および標識3の位置や形状等の情報は、空間座標系W1の位置座標等を用いて空間データ6に記述されている。空間座標系W1は、その空間2を含む建物等において固有の局所的座標系でもよいし、緯度・経度・標高から成る、地球や地域において共通に用いられる座標系でもよい。本例では、空間座標系W1は、ある建物において複数の部屋等で共通に用いられる固有の局所的座標系である。
【0027】
情報端末1は、対象の空間2の空間座標系W1に対する自機の端末座標系WAの座標系ペアリングを行う。これにより、情報端末1は、空間座標系W1での位置や形状に合わせて仮想画像22の表示制御等が可能となる。なお、情報端末1は、座標系ペアリング後では、空間2内において使用されている間、自機の内部制御を、端末座標系WAを基本として行うことに限らず、空間座標系W1を基本として行うことも可能である。
【0028】
[空間認識方法]
図2は、実施の形態1の空間認識方法の概要を示す。この方法は、図示するステップS1~S5を有する。
【0029】
まず、ステップS1で、情報端末1であるHMD1Aは、ユーザU1の操作に基づいて、使用対象の空間2に対応付けて掲示されている標識3の場所で、その標識3をカメラ12によって撮影して認識し、その標識3からその空間2のIDを確認および取得する。これにより、情報端末1は、対象の空間2に対する座標系ペアリングを開始する。
【0030】
次に、ステップS2で、情報端末1は、そのIDを用いて、無線通信を含む通信によって、サーバ4のDB5のライブラリーから、そのIDで特定される空間データ6(例えばID=101の空間データD101)を取得する。この空間データ6は、詳しくは、空間形状データ6A、標識データ6B、および測定対象位置情報6Cを含むデータである。あるいは、空間データ6に別の標識データ6B等が関連付けられているデータ群としてもよい。なお、情報端末1が既にその空間データ6を保持している場合、サーバ4からのその空間データ6の取得を省略できる。
【0031】
空間形状データ6Aは、空間2を構成する配置物(壁等を含む)の位置や形状等が空間座標系W1で記述されたデータである。標識データ6Bは、標識3の位置や形状等が空間座標系W1で記述されたデータであり、諸量データ202を含む。諸量データ202は予め測定され記述されている。諸量は、座標系ペアリング(具体的には変換パラメータ7の計算)に必要な規定のパラメータである(後述の
図8)。測定対象位置情報6Cは、情報端末1が標識3との関係を測定する際の基準となる測定対象位置(例えば特徴点や特徴線)等が規定されたデータである。なお、これらのデータ・情報の形式は一例である。例えば空間形状データ6Aに標識データ6Bが併合されている形式でもよいし、標識データ6Bに測定対象位置情報6Cが併合されている形式でもよい。測定対象位置情報6Cは、予め情報端末1のプログラム等に設定や実装される場合には省略可能である。
【0032】
ステップS3で、情報端末1は、測定対象位置情報6Cに基づいて、標識3との位置や向きの関係を測定し、端末側の諸量データ201として得る(
図8)。この関係とは、端末座標系WAで見た標識3の位置や向き等の表現であり、特に実空間内の異なる2つの特定方向に関する表現である。なお、ステップS3の処理は、ステップS1,S2の処理と殆ど同時に、例えば並列に行うことができる。
【0033】
ステップS4で、情報端末1は、ステップS2で取得した空間2側の諸量データ202と、ステップS3で測定した端末側の諸量データ201とを用いて、端末座標系WAと空間座標系W1との間の座標系ペアリングのための変換パラメータ7を生成し、自機に設定する。これにより、情報端末1は、空間2に対する座標系ペアリングを終了する。なお、情報端末1は、端末側の諸量データ201の一部については、予め測定し保持しておいてもよいし、必要に応じて測定してもよい。
【0034】
その後、ステップS5で、ユーザU1の情報端末1は、適宜に、変換パラメータ7を用いて、端末座標系WAと空間座標系W1との間で位置や向きの変換を行いながら、空間2内の所望の位置21に仮想画像22を表示することができる。その後、情報端末1は、この空間2に対する座標系ペアリングの状態を維持してもよいし、明示的に解除してもよい。維持する場合には、情報端末1内に変換パラメータ7が保持される。解除する場合には、情報端末1は、例えば変換パラメータ7を削除し、その後に再度同じ空間2との座標系ペアリングを行う際には再度変換パラメータ7を生成する。情報端末1は、座標ペアリング後に一定時間が経過した後に自動的に変換パラメータ7を削除してもよい。
【0035】
[空間]
図3は、空間2の構成例、および空間2と標識3の位置関係例を示す。この空間2は、例えば会社等の建物内の1つの部屋、例えば第7会議室である。ユーザU1は、情報端末1を使用する対象の空間2である部屋に入る前に、標識3を確認する。ユーザU1は、その場所で情報端末1であるHMD1aを通じて標識3を見る。その際、情報端末1は、標識3からのIDの認識に基づいてこの空間2に対応付けられた空間データ6(例えばID=101の空間データD101)を取得するとともに、この空間2の空間座標系W1に対する端末座標系WAの座標系ペアリングを行う。これにより、この情報端末1の端末座標系WAは、その空間2の空間座標系W1に適合する。言い換えると、それらの座標系を全体で概略的に1つの座標系とみなして、位置認識が共有できる状態となる。ユーザU1は、その部屋に入り、その部屋内でHMD1aを使用する。HMD1aは、その空間データ6を用いて、その空間2の形状等に合わせた位置21にARの仮想画像22を速やかに高精度に表示することができる。
【0036】
空間データ6、特に空間形状データ6Aは、例えばその部屋の位置や形状等を表す任意の形式のデータである。空間データ6は、空間2の境界を表すデータと、空間2内に配置されている任意の物体のデータとを含む。空間2の境界を表すデータは、例えば部屋を構成する床、壁、天井、ドア2d等の配置物のデータがある。境界に配置物が無い場合もある。空間2内の物体のデータは、例えば部屋内に配置されている机2aやホワイトボード2b等のデータがある。なお、標識3はドア2d等に設けられていてもよい。
【0037】
図4は、
図3の空間2内での利用例として、二人のユーザであるユーザU1,U2がその部屋の空間2に対応する空間座標系W1を共有し、各情報端末1によってARの同じ仮想画像22を同じ位置21に表示する例を示す。ユーザU1は、標識3を通じて自分のHMD1aの端末座標系WAU1を、空間座標系W1に対し座標系ペアリングする。ユーザU2は、ユーザU1と同様に、標識3を通じて自分のHMD1bの端末座標系WAU2を、同じ空間座標系W1に対し座標系ペアリングする。これにより、ユーザU1のHMD1aとユーザU2のHMD1bは、同じ空間座標系W1を通じて位置認識が共有された状態となる。この状態で、ユーザU1のHMD1aとユーザU2のHMD1bは、互いに空間2内の所望の同じ位置、例えば一方のユーザから指定した机2a上面の中心の位置21に合わせて、同じ仮想画像22を表示することができる。ユーザU1とユーザU2は、同じ仮想画像22を見ながら作業やコミュニケーションができる。
【0038】
空間形状データ6Aには、例えば机2aの形状のデータも含まれている。その形状は空間座標系W1での位置や向きを持つ。例えば、HMD1aは、ユーザU1に指定された位置21に合わせるように、仮想画像22を自機の表示面11に表示する。その際、HMD1aは、変換パラメータ7を用いて、空間座標系W1での位置21を、端末座標系WAU1での位置に変換する。HMD1aは、仮想画像22を表示させる位置21や、表示対象の仮想画像22のデータを、無線通信によってHMD1bに伝えてもよい。HMD1bは、HMD1aから伝えられた位置21にその仮想画像22を表示する。
【0039】
[空間データ]
情報端末1は、
図2の空間形状データ6Aを含む空間データ6を扱うことができるAR等の機能(対応するアプリケーションプログラム等)を有する。空間形状データ6Aは、例えば空間2を構成する複数の面の面データの集合を持つポリゴンデータである。具体的には、空間形状データ6Aは、床、壁、天井等のデータや、机2a、ホワイトボード2b、その他の設備等のデータがある。なお、空間2の境界は、必ずしも壁等の実物に限らず、ユーザに見えない境界であってもよい。空間2内に配置されている物体は、ユーザに見えない物体、例えば壁内にある設備や配管等であってもよい。それらの構成は、空間データ6の内容の設定に応じたものであり、限定しない。実施の形態1では、説明上わかりやすいように、標識データ6B等を含むデータ群を総称して空間データ6としたが、このような構成に限らず可能である。
【0040】
標識データ6Bは、標識3について規定したデータであり、空間2の空間座標系W1に対する標識3の位置や向きや形状等を表すデータ、特に諸量データ202(
図2)を含む。なお、標識3も空間2を構成する一部と捉える場合には、空間形状データ6A内に1つの物体として標識3が規定され、標識データ6Bを省略してもよい。
【0041】
測定対象位置情報6Cは、情報端末1から標識3との位置や向きの関係を測定する際に、どのように測定すべきかを規定したデータである。例えば、測定対象位置情報6Cは、測定対象の3つの特徴点または2つの特徴線を指定する情報である。また、予め、このシステムおよび方法において、各空間2によらずに測定対象位置情報が一定に規定される場合には、情報端末1の制御プログラム等にその測定対象位置情報6Cが実装されていてもよい。実施の形態1では、空間2および標識3毎に測定対象位置情報6Cを設定できる。
【0042】
[標識]
図5は、標識3の構成例を示す。
図5の(A)は第1例、(B)は第2例、(C)は第3例、(D)は第4例である。(A)での標識3は、横長の矩形の板等の面(標識面と記載する場合がある)に、部屋の名称を示す「第7会議室」文字列が記載されている。本例では、標識面は、空間座標系W1のY
1-Z
1面に配置されている。また、本例では、標識面の一箇所に、空間2のID301が直接的に文字列として記載されている。情報端末1は、カメラ12によってそのID301を認識できる。この標識3の形状等の構成は、標識データ6Bに記述されている。この標識面は、4個の角点を有し、そのうちの3個の角点として、点p1,p2,p3が、予め測定対象となる特定の対象物である特徴点として規定されている。例えば、点p1は標識面の左上の角点、点p2は標識面の左下の角点、点p3は標識面の右上の角点として規定されている。測定対象位置情報6Cには、その3個の特徴点、または対応する2つの特徴線の指定を含む。言い換えると、測定対象位置情報6Cには、標識3の左辺と上辺との2つの特徴線(対応する2つの特定方向)を測定すべきという指示を含む。また、点p1は、標識3の代表的な位置を表す特徴点として規定されている。なお、説明のために点p1等の特徴点やベクトルv1等の特徴線を図示しているが、実際には記載されない。もしくは、あえて標識面に特徴点や特徴点が特定の画像として記載されて、ユーザおよび情報端末1から認識できるようにしてもよい。
【0043】
情報端末1は、標識3との関係を諸量データ201として測定する際に、測定対象位置情報6Cに基づいて、これらの3つの特徴点(点p1~p3)を対象として測定する。情報端末1は、測距センサ13やカメラ12の画像の解析等によって、これらの3点との関係を測定する。端末座標系WAで、これらの3点の位置が把握できた場合、図示する2つのベクトルv1,v2に対応する2つの特徴線が把握できたことと同じである。ベクトルv1は、標識面の左辺に対応した、点p1から点p2へのベクトルであり、ベクトルv2は、標識面の上辺に対応した、点p1から点p3へのベクトルである。
【0044】
(B)での標識3は、(A)と同様の標識面のうちの一箇所に、空間2のIDが、コード化された画像であるコード画像302の態様で記載されている。このコード画像302は、例えばQRコード(QR:Quick Response、登録商標)等の2次元コードを用いてもよい。また、これらのID301やコード画像302は、サーバ4の空間データ6にアクセスするためのURLやそれをコード化した画像としてもよい。情報端末1は、カメラ12の撮影画像からコード画像302を抽出し、デコードによってID等の情報を得る。
【0045】
(C)での標識3は、標識面に空間2の名称の文字列を記載しておらず、矩形のコード画像302のみが表示されている。この場合、情報端末1は、標識3との関係については、コード画像302の3つの角点を同様に測定すればよい。その3つの角点は、QRコードの認識用の3つの切り出しシンボルとしてもよい。
【0046】
(D)での標識3は、同様に、標識面に、空間2の名称の文字列を記載したタイプのコード画像302bのみが表示されている。この場合にも同様の処理が可能である。
【0047】
端末側の諸量データ201となる、標識3との関係を測定するための上記特徴点または特徴線(2つの特定方向)の構成は、上記例に限らずに可能であり、いずれとしても測定対象位置情報6Cで規定できる。例えば標識面内において、3つの特徴点または2つの特徴線が特定の画像として記載されていてもよい。あるいは、空間座標系W1において標識3の物体から所定の位置関係で離れた所に、測定対象物となる特徴点や特徴線が規定されてもよい。
【0048】
空間側の諸量データ202(
図2)は、標識3の少なくとも1つの特徴点(例えば点p1)についての、空間座標系W1での位置の表現である座標値を含む。さらに、諸量データ202は、別の2つの特徴点(例えば点p2,p3)についての空間座標系W1での座標値を含むか、もしくは、特徴線データとして、異なる2つの方向の特徴線(例えばベクトルv1,v2)についての、空間座標系W1での表現を含む。1つの特徴線(例えばベクトルv1)と2つの特徴点(例えば点p1,p2)とは代替できる。
【0049】
また、標識3から読み取れる空間データ6のIDとして、空間2または標識3の位置情報を含めてもよい。位置情報は、緯度・経度・高さといった一般的なものでもよいし、その建物における局所的な表現形式でもよい。この位置情報があると、空間データ6の分類、検索に便利であるし、現在の自機位置近傍に存在する標識3の位置をサーバ4に問い合わせる際にも活用できる。サーバ4は問い合わせを受けた端末の位置近傍の標識3についての情報を標識3の画像付きで回答してもよい。
【0050】
[情報端末(HMD)]
図6は、情報端末1の一例としてのHMD1Aの外観構成例を示す。このHMD1Aは、眼鏡状の筐体10に、表示面11を含む表示デバイスを備える。この表示デバイスは、例えば透過型表示デバイスであり、表示面11には外界の実像が透過され、その実像上に画像が重畳表示される。筐体10には、コントローラ、カメラ12、測距センサ13、他のセンサ部14等が実装されている。
【0051】
カメラ12は、例えば筐体10の左右両側に配置された2つのカメラを有し、HMDの前方を含む範囲を撮影して画像を取得する。測距センサ13は、HMD1Aと外界の物体との距離を測定するセンサである。測距センサ13は、TOF(Time Of Flight)方式のセンサを用いてもよいし、ステレオカメラや他の方式を用いてもよい。センサ部14は、HMD1Aの位置および向きの状態を検出するためのセンサ群を含む。筐体10の左右には、マイクを含む音声入力装置18、スピーカやイヤホン端子を含む音声出力装置19等を備える。
【0052】
情報端末1には、リモートコントローラ等の操作器が付属していてもよい。その場合、HMD1Aは、その操作器との間で例えば近距離無線通信を行う。ユーザは、手で操作器を操作することで、HMD1Aの機能に関する指示入力や表示面11でのカーソル移動等ができる。HMD1Aは、外部のスマートフォンやPC等と通信して連携を行ってもよい。例えば、HMD1Aは、スマートフォン1BのアプリケーションからARのための画像データを受信してもよい。
【0053】
情報端末1は、作業支援や娯楽のためにAR等の仮想画像を表示面11に表示させるアプリケーションプログラム等を備える。例えば、情報端末1は、作業支援のためのアプリケーションの処理によって、作業支援のための仮想画像22を生成し、表示面11において、空間2内の作業対象物の付近の所定の位置21に仮想画像22を配置し表示させる。
【0054】
図7は、
図6のHMD1Aの機能ブロック構成例を示す。情報端末1は、プロセッサ101、メモリ102、カメラ12、測距センサ13、センサ部14、表示面11を含む表示デバイス103、通信デバイス104、マイクを含む音声入力装置18、スピーカ等を含む音声出力装置19、操作入力部105、およびバッテリ106等を備える。これらの要素はバス等を通じて相互に接続されている。
【0055】
プロセッサ101は、CPU、ROM、RAM等で構成され、HMD1Aのコントローラを構成する。プロセッサ101は、メモリ102の制御プログラム31やアプリケーションプログラム32に従った処理を実行することにより、OS、ミドルウェア、アプリケーション等の機能や他の機能を実現する。メモリ102は、不揮発性記憶装置等で構成され、プロセッサ101等が扱う各種のデータや情報を記憶する。メモリ102には、一時的な情報として、カメラ12等によって取得した画像や検出情報等も格納される。
【0056】
カメラ12は、レンズから入射した光を撮像素子で電気信号に変換して画像を取得する。測距センサ13は、例えばTOFセンサを用いる場合、外界に出射した光が物体に当たって戻ってくるまでの時間から、その物体までの距離を計算する。センサ部14は、例えば、加速度センサ141、ジャイロセンサ(角速度センサ)142、地磁気センサ143、GPS受信器144を含む。センサ部14は、これらのセンサの検出情報を用いて、HMD1Aの位置、向き、動き等の状態を検出する。HMD1Aは、これに限らず、照度センサ、近接センサ、気圧センサ等を備えてもよい。
【0057】
表示デバイス103は、表示駆動回路や表示面11を含み、表示情報34の画像データに基づいて、表示面11に仮想画像22等を表示する。なお、表示デバイス103は、透過型表示デバイスに限らず、非透過型表示デバイス等としてもよい。
【0058】
通信デバイス104は、所定の各種の通信インタフェースに対応する通信処理回路やアンテナ等を含む。通信インタフェースの例は、モバイル網、Wi-Fi(登録商標)、BlueTooth(登録商標)、赤外線等が挙げられる。通信デバイス104は、他の情報端末1やアクセスポイント23(
図1)との間での無線通信処理等を行う。通信デバイス104は、操作器との近距離通信処理も行う。
【0059】
音声入力装置18は、マイクからの入力音声を音声データに変換する。音声出力装置19は、音声データに基づいてスピーカ等から音声を出力する。音声入力装置は、音声認識機能を備えてもよい。音声出力装置は、音声合成機能を備えてもよい。操作入力部105は、HMD1Aに対する操作入力、例えば電源オン/オフや音量調整等を受け付ける部分であり、ハードウェアボタンやタッチセンサ等で構成される。バッテリ106は、各部に電力を供給する。
【0060】
プロセッサ101によるコントローラは、処理によって実現される機能ブロックの構成例として、通信制御部101A、表示制御部101B、データ処理部101C、およびデータ取得部101Dを有する。
【0061】
メモリ102には、制御プログラム31、アプリケーションプログラム32、設定情報33、表示情報34、座標系情報35、空間データ情報36等が格納されている。制御プログラム31は、空間認識機能を含む制御を実現するためのプログラムである。アプリケーションプログラム32は、空間データ6を利用するAR等の機能を実現するプログラムである。設定情報33は、各機能に係わるシステム設定情報やユーザ設定情報を含む。表示情報34は、仮想画像22等の画像を表示面11に表示するための画像データや位置座標情報を含む。
【0062】
座標系情報35は、空間認識機能に係わる管理情報である。座標系情報35は、自機の端末座標系W1の情報と、対象の空間2の空間座標系W1の情報と、端末側の諸量データ201と、空間2側の諸量データ202と、変換パラメータ7と、を含む。空間座標系W1の情報および空間2側の諸量データ202は、空間データ6から得られる。
【0063】
空間データ情報36は、情報端末1内にライブラリーとして保持している空間データ6およびサーバ4から取得した空間データ6の情報である。なお、空間データ6が自機で測定したものであった場合、情報端末1は、外界の適当な特徴物を標識3として、その測定データについても記録する。さらに、情報端末1は、会議室の標識等、空間2を特定できる情報を空間IDとして記録する。
【0064】
通信制御部101Aは、サーバ4からの空間データ6の取得の際等に、通信デバイス104を用いた通信処理を制御する。表示制御部101Bは、表示情報34を用いて、表示デバイス103の表示面11への仮想画像22等の表示を制御する。
【0065】
データ処理部101Cは、座標系情報35を読み書きし、端末座標系WAの管理のための処理や、空間座標系W1との座標系ペアリングの処理や、変換パラメータ7を用いた座標系間の変換処理等を行う。データ処理部101Cは、座標系ペアリングの際には、空間データ6から空間2側の諸量データ202を取得する処理、端末側の諸量データ201を測定する処理、変換パラメータ7を生成する処理等を行う。
【0066】
データ取得部101Dは、カメラ12、測距センサ13、およびセンサ部14等の各種のセンサから各検出データを取得する。データ取得部101Dは、座標系ペアリングの際には、データ処理部101Cからの制御に従って端末側の諸量データ201を測定する。
【0067】
[座標系ペアリング(1-1)]
図8は、
図1等に対応する実空間内で、ユーザU1の情報端末1であるHMD1Aが、対象の空間2の空間データ6を用いて座標系ペアリングを行う場合の、座標系や諸量に関する説明図を示す。情報端末1は、座標系ペアリングとして、対象の空間2の空間座標系W1に対し自機の端末座標系WAを適合させる動作、言い換えると、端末座標系WAと空間座標系W1とを関連付ける動作を行う。以下では、あるHMD1Aの端末座標系WAとある空間2の空間座標系W1との間で座標系ペアリングを行う場合について記述する。
【0068】
座標系ペアリングの際、情報端末1は、空間2の標識3から認識したIDに基づいて特定された空間データ6をサーバ4から取得する(
図2のステップS2)か、自機内にその空間データ6に対応する情報を保有している場合はその情報を用いる。その空間データ6には、
図2の空間形状データ6A、標識データ6B、および測定対象位置情報6Cを含む。標識データ6Bには、標識3に関する諸量802{N
1,M
1,d
1}を含む。この諸量802は、
図2の空間側の諸量データ202と対応している。測定対象位置情報6Cは、諸量801の測定について規定した情報である。情報端末1は、自機に関して所定の諸量801{N
A,M
A,d
A,P
1A}を測定する。この諸量801は、
図2の端末側の諸量データ201と対応している。
【0069】
そして、情報端末1は、端末側の諸量801と、標識3側(対応する空間2側)の諸量802とに基づいて、端末座標系WAと空間座標系W1との関係を計算する。情報端末1は、端末座標系WAと空間座標系W1との2つの座標系間での位置や向きについての変換のための変換パラメータ7を計算する。情報端末1は、計算で生成した変換パラメータ7を自機に設定し保持する。これにより、情報端末1は、空間データ6で表す空間2内において、適宜に変換パラメータ7を用いて、2つの座標系間で位置等を変換できる。上記のような動作を、説明上、座標系ペアリングと記載している。
【0070】
[座標系ペアリング(1-2)]
実施の形態1では、座標系ペアリングの際の諸量として、以下の要素の情報を有する。諸量は、第1情報として特定方向ベクトルと、第2情報として世界座標値と、第3情報として標識位置ベクトルとを有する。詳しくは、
図8に示すように、空間2に対応する標識3側の諸量802(
図2の諸量データ202)は、(1)第1特定方向ベクトルN
1、(2)第2特定方向ベクトルM
1、(3)標識3の位置L1に関する座標値d
1、という3つの情報を有する。情報端末1側の諸量801(
図2の諸量データ201)は、(1)第1特定方向ベクトルN
A、(2)第2特定方向ベクトルM
A、(3)情報端末1の位置LAに関する座標値d
A、(4)標識位置ベクトルP
1A、という4つの情報を有する。これらについて以下に順に説明する。
【0071】
1.特定方向ベクトルについて: 実空間内において異なる2つの特定方向についての単位ベクトルを、n,mとする。これらの単位ベクトルn,mについての空間座標系W1での表現を、n1,m1とし、これらの単位ベクトルについての情報端末1の端末座標系WAでの表現を、nA,mAとする。
【0072】
標識3側の2つの特定方向は、
図8の例では、
図5の標識3の2つの特徴線(ベクトルv1,v2)に対応した、第1特定方向ベクトルN
1、第2特定方向ベクトルM
1である。標識3に関する空間座標系W1での特定方向(N
1,M
1)の表現n
1,m
1は、空間データ6中の標識データ6Bに予め記述されている。
【0073】
情報端末1側の2つの特定方向は、
図8の例では、第1特定方向ベクトルN
A、第2特定方向ベクトルM
Aである。情報端末1は、端末座標系WAでの特定方向(N
A,M
A)の表現n
A,m
Aを測定する。情報端末1側の特定方向は、鉛直下方向(重力方向)や地磁気方向を用いてもよい。1つの特定方向として重力方向を用いる場合、情報端末1の加速度センサ141(
図7)である3軸加速度センサによって、重力加速度の方向として、その重力方向を測定できる。あるいは、端末座標系WAや空間座標系W1の設定において、鉛直下方向を、図示するZ軸(Z
A,Z
1)の負方向として設定してもよい。いずれにせよ、特定方向である鉛直下方向は、世界座標系において変化しないので、座標系ペアリング毎に毎回測定しなくてもよい。
【0074】
1つの特定方向として地磁気方向、例えば北向きを用いる場合、地磁気センサ143(
図7)によってその地磁気方向を測定できる。地磁気は、構造物の影響を受ける可能性があるので、座標系ペアリング毎に測定すると好ましい。構造物の影響が十分に小さいことが分かっている場合、座標系ペアリング毎に毎回測定しなくてもよい。
【0075】
情報端末1側の特定方向は、端末座標系WAでみた標識3中の2つの特徴線(対応するベクトルv1,v2)の方向の表現を用いてもよい。その場合、情報端末1は、端末座標系WAで、標識3の特徴線(例えばベクトルv1)に対応する特定方向についての測定を行い、その特定方向についての端末座標系WAでの表現を得る。この測定は、例えば測距センサ13によって可能である。この際、情報端末1は、例えばベクトルv1に対応する特徴線を構成する2つの特徴点(点p1,p2)についての端末座標系WAでの各座標値を測定する。そして、情報端末1は、それらの2点の座標値から、端末座標系WAでの特定方向ベクトル(N1)の表現を求める。この特定方向ベクトル(N1)の表現は、標識3側の諸量802の第1特定方向ベクトルNAの表現とは異なる。
【0076】
2.世界座標値について: 標識3側の位置L1を表す1つの特徴点(例えば点p1)についての空間座標系W1での座標値を、d1=(x1,y1,z1)とする。座標値d1は、標識データ6Bに予め記述されている。なお、標識3の代表的な位置L1を、点p1で表すものとしたが、これに限らずに規定可能である。情報端末1側の位置LAについての端末座標系WAでの座標値を、dA=(xA,yA,zA)とする。なお、情報端末1の代表的な位置LAを、筐体10の中心位置で表すものとしたが、これに限らずに規定可能である。これらの座標値は、世界座標系である端末座標系WAおよび空間座標系W1の設定に応じて定まるパラメータである。なお、端末位置ベクトルVAは、端末座標系WAの原点OAから位置LAまでのベクトルを示す。特徴点位置ベクトルV1は、空間座標系W1の原点O1から位置L1までのベクトルを示す。
【0077】
図8の例では、端末座標系WAの原点O
Aの位置と情報端末1の位置LAとは異なり、空間座標系W1の原点O
1の位置と標識3の位置L1とは異なる。以下では、このように世界座標系の原点と情報端末1の位置や標識3の位置が一致しないという一般的な場合で説明する。これに限定されず、端末座標系WAの原点と情報端末1の位置が一致している場合や、空間座標系W1の原点と標識3の位置が一致している場合もあり、これらの場合でも同様に適用可能である。前者の例は、情報端末1が起動時に自機の位置を端末座標系WAの原点O
Aに設定する場合が挙げられる。後者の例は、予め空間データ6において部屋等の空間2内の所定の位置が空間座標系W1の原点O
1として設定される場合が挙げられる。
【0078】
3.標識位置ベクトルP1Aについて: 標識位置ベクトルP1Aは、情報端末1の位置LA(座標値dA)から標識3の特徴点の位置L1(座標値d1)へ向かうベクトルである。言い換えると、標識位置ベクトルP1Aは、端末座標系WAにおける標識3の位置L1の表現である。情報端末1は、例えば測距センサ13によってこの標識位置ベクトルP1Aを測定できる。この標識位置ベクトルP1Aにより、端末座標系WAと空間座標系W1との2つの座標系間の関係に関する情報が得られる。
【0079】
[変換パラメータ]
上記座標系ペアリングの際の諸量の取得および測定によって、情報端末1は、標識3との関係から、端末座標系WAと空間座標系W1との関係が分かり、2つの座標系間の変換パラメータ7を計算できる。この変換パラメータ7で表される変換は、空間座標系W1を端末座標系WAに合わせるための変換、あるいは、その逆に端末座標系WAを空間座標系WAに合わせるための変換である。変換パラメータ7は、2つの座標系(WA,W1)の3軸の方向についての変換(言い換えると回転)と、2つの座標系(WA,W1)の原点(O
A,O
1)の差との計算用パラメータである。
図8中には、変換パラメータ7の例として、空間座標系W1での位置等を端末座標系WAでの位置等に合わせるための変換を規定した変換パラメータ7のテーブル例を示す。この変換パラメータ7のテーブルは、構成例として、空間座標系W1の識別情報と、端末座標系WAの識別情報と、それらの2つの座標系間の回転の表現の情報(後述のq
A1)と、それらの2つの座標系間の原点の表現の情報(原点間ベクトルo
1A)とを有する。
【0080】
上記座標系ペアリングの確立後、情報端末1は、空間データ6の特に空間形状データ6Aで表す空間2を構成する配置物における位置や形状等を、自機による測定処理を要せずに、速やかに把握できる。そして、情報端末1は、その把握に基づいて、
図4で例示したように、その空間2内の所望の位置21に合わせるように、表示面11に仮想画像22を高精度に表示できる。所望の位置21は、ユーザU1が操作によって指定することもできるし、情報端末1のアプリケーションプログラム等に応じて自動的な判断で決めることもできる。
【0081】
なお、
図8で、位置ベクトルG
Aは、端末座標系WAにおける仮想画像22の表示の位置21についてのベクトルであり、位置座標値r
Aは、その位置21の座標値である。位置ベクトルG
1は、空間座標系W1におけるその位置21についてのベクトルであり、位置座標値r
1は、その位置21の座標値である。原点間ベクトルo
1Aは、原点O
Aから原点O
1へのベクトルであり、端末座標系WAでの原点O
1の表現である。原点間ベクトルo
A1は、原点O
1から原点O
Aへのベクトルであり、空間座標系W1での原点O
Aの表現である。
【0082】
情報端末1による空間2内の配置物の位置の認識については、空間データ6の空間座標系W1での位置の表現を、変換パラメータ7によって、端末座標系WAでの表現に変換することとしてもよい。あるいは逆に、情報端末1による空間2内の配置物の位置の認識については、端末座標系WAでの位置の表現を、変換パラメータ7(上記とは逆の変換を規定したもの)によって、空間座標系W1での位置の表現に変換するものとしてもよい。情報端末1は、上記の2種類の変換(対応する変換パラメータ7)の少なくとも一方を用いればよく、両方の変換を用いてもよい。
【0083】
[制御フロー]
図9は、情報端末1の制御フローを示す。
図9のフローは、ステップS11~S17を有する。ステップS11で、情報端末1は、カメラ12や測距センサ13等を用いて、標識3を認識し、標識3から空間2のIDを取得する。情報端末1は、この標識3の認識に基づいて座標系ペアリングの確立の手続きを開始する。
【0084】
ステップS12で、情報端末1は、そのIDで指定される空間データ6をすでに情報端末1内(
図7のメモリ102の空間データ情報36等)に保有しているかどうか確認する。保有している場合(Y)にはステップS14へ進み、保有していない場合(N)にはステップS13へ進む。
【0085】
ステップS13で、情報端末1は、そのIDを用いて、通信デバイス104(
図7)を用いた通信によって、サーバ4のDB5から空間データ6を取得する。その空間データ6には、標識3側の諸量データ202(
図8の諸量802)が含まれる。
【0086】
ステップS14で、情報端末1は、対象の空間2に関する座標系間の変換パラメータ7を情報端末1内(
図7のメモリ102の座標系情報35等)にすでに保有しているかを確認する。保有している場合(Y)にはステップS15,S16を飛ばしてステップS17へ進む。
【0087】
ステップS15で、情報端末1は、カメラ12や測距センサ13等を用いて、端末側の諸量データ201(
図8の諸量801)を測定する。
【0088】
ステップS16で、情報端末1は、ステップS13で得た標識3側の諸量データ202と、ステップS15で得た端末側の諸量データ201とを用いて、端末座標系WAと空間座標系W1との間の変換パラメータ7を生成し、自機に設定する。これにより、座標系ペアリングの確立の手続きが終了する。
【0089】
ステップS17で、情報端末1は、ステップS13で得た空間データ6(対応する空間データ情報36)を、任意の方法や用途で利用する。典型的には、情報端末1は、空間形状データ6Aで表す空間2の配置物の位置や形状に合わせるようにして、
図4のように所望の位置21にARの仮想画像22を表示する。ステップS17の後、本フローが終了する。本フローの処理は、新たな標識3毎に同様に繰り返される。
【0090】
[AR表示例]
図10は、座標系ペアリングの際における情報端末1の表示面11でのAR表示例を示す。情報端末1は、空間認識機能に係わるグラフィカル・ユーザ・インタフェース(GUI)として、ユーザU1に操作や状態を伝えるための画面表示やそれに伴う音声出力を行ってもよい。本例は、
図9のステップS15で情報端末1が諸量801を測定する時に、表示面11にガイドのための画像を表示する例を示す。本例は、ユーザU1が
図3のように部屋の前で
図5の(B)のような標識3を見た時の状態を示す。表示面11には標識3が見えている。情報端末1は、
図9のステップS11で、カメラ12の画像に基づいて標識3を認識する。この際、情報端末1は、例えば画像1001や画像1002を実像上に重畳表示する。
【0091】
画像1002は、認識された標識3を囲む枠のような画像であり、ユーザU1に特定の標識3であることをわかりやすく伝える情報である。この画像1002は、コード画像302部分を囲む画像としてもよいし、前述の特徴線等を強調する画像としてもよい。画像1001は、標識3の認識に応じて表示される、「この場所の空間データを取得しますか? YES / NO」といったメッセージであり、ユーザU1に空間データ6を取得するかどうか確認する情報である。ユーザU1の操作によって、画像1001からYES/NOが選択できる。情報端末1は、YESが選択された場合には、ステップS11以降の処理を実行する。
【0092】
画像1003は、ステップS15で測定の開始および測定中に表示される、「測定中。なるべく動かないでください。」といったメッセージである。諸量801の測定時には情報端末1をなるべく静止した状態とした方が高精度の測定ができる。情報端末1は、より高精度の測定のために、このようなガイド情報をユーザU1に出力してもよい。
【0093】
[座標変換(1)]
以下では、
図8の端末座標系WAと空間座標系W1との間での座標変換の詳細について補足説明する。まず、座標系の関係を説明するための記法をまとめる。実施の形態では、座標系は右手系に統一し、座標系の回転を表すために正規化四元数を用いる。正規化四元数とは、ノルムが1の四元数であり、軸の回りの回転を表すことができる。任意の座標系の回転はこのような正規化四元数で表現できる。単位ベクトル(n
X,n
Y,n
Z)を回転軸とした角度ηの回転を表す正規化四元数qは、下記の式1となる。i,j,kは四元数の単位である。単位ベクトル(n
X,n
Y,n
Z)の方向に向いた場合の右回りの回転が、ηが正の回転方向である。
式1: q=cos(η/2)+n
Xsin(η/2)i+n
Ysin(η/2)j+n
Zsin(η/2)k
【0094】
四元数qの実数部分をSc(q)で表す。四元数qの共役四元数をq*とする。四元数qのノルムを1に正規化する演算子を[・]で定義する。四元数qを任意の四元数とすると、[・]の定義は式2である。式2の右辺の分母が四元数qのノルムである。
式2: [q]=q/(qq*)1/2
【0095】
次に、座標点あるいはベクトル(pX,pY,pZ)を表現する四元数pを、式3で定義する。
式3: p=pXi+pYj+pZk
【0096】
本明細書においては、特に断りが無い限り、成分表示でない座標点やベクトルを表す記号は四元数表示であるとする。また、回転を表す記号は正規化四元数であるとする。
【0097】
単位ベクトルnの方向と垂直な平面へのベクトルの射影演算子を、PT(n)とする。ベクトルpの射影は、式4で表される。
式4: PT(n)p=p+nSc(np)
【0098】
座標点あるいは方向ベクトルp1が四元数qで表される原点中心の回転操作により座標点あるいは方向ベクトルp2に変換されたとすると、方向ベクトルp2は式5で計算できる。
式5: p2=qp1q*
【0099】
単位ベクトルn1を単位ベクトルn2に重ねるように、単位ベクトルn1と単位ベクトルn2とを含む平面に垂直な軸回りに回転させる正規化四元数R(n1,n2)は、下記の式6となる。
式6: R(n1,n2)=[1-n2n1]
【0100】
[座標変換(2)]
図11は、座標系の変換についての説明図を示す。
図11の(A)は、
図8と同様に、端末座標系WAと空間座標系W1との異なる2つの座標系間で、実空間内の同じ位置21に関する表現と、座標原点(O
A,O
1)の差の表現とを示す。位置21の表現として、位置ベクトルG
A、位置座標値r
A、位置ベクトルG
1および位置座標値r
1を有する。座標原点の差の表現として、原点間ベクトルo
1A,o
A1を有する。原点間ベクトルo
1Aは、端末座標系WAでの空間座標系W1の原点O
1の表現である。原点間ベクトルo
A1は、空間座標系W1での端末座標系WAの原点O
Aの表現である。
【0101】
前述の諸量(
図2、
図8)に基づいて、実空間内での異なる2つの特定方向についての各座標系(端末座標系WA,空間座標系W1)での表現(n
A,n
1,m
A,m
1)が得られる。そうすれば、それらの表現を一致させるような座標系間の回転操作を、正規化四元数を用いた演算によって求めることができる。よって、それらの情報と、各座標原点の情報とを合わせることで、座標系間での位置座標の変換が可能となる。すなわち、
図8の例のような変換パラメータ7を生成することができる。
【0102】
座標系(WA,W1)の関係は以下のように計算できる。以下では、空間データ6を記述する空間座標系W1での座標値およびベクトル値の表現を、端末座標系WAでの表現に変換する場合における、回転と座標原点の差とを求める計算について説明する。
【0103】
図11の(B)は、空間座標系WAと端末座標系W1との間で方向を合わせる回転の操作について示し、例えば空間座標系W1の各軸(X
1,Y
1,Z
1)の方向を端末座標系WAの各軸(X
A,Y
A,Z
A)の方向に合わせる回転q
A1のイメージを簡易的に示す。
【0104】
まず、端末座標系WAの方向と空間座標系W1の方向とを合わせるための回転を求める。最初に、端末座標系WAの表現における回転において、特定方向の単位ベクトルn
A(
図8)を単位ベクトルn
1(
図8)に重ねる回転q
T1を考える。回転q
T1は、具体的には下記となる。
q
T1=R(n
A,n
1)
【0105】
次に、この回転q
T1によって特定方向の単位ベクトルn
A,m
A(
図8)が回転された方向を、n
A1,m
A1とする。
n
A1=q
T1n
Aq
T1*=n
1
m
A1=q
T1m
Aq
T1*
【0106】
実空間において同じ方向間の角度であるから、方向nA1と方向mA1との成す角度は、単位ベクトルn1と単位方向ベクトルm1との成す角度に等しい。また、前提として2つの特定方向は異なる方向としているので、単位ベクトルn1と単位方向ベクトルm1との成す角度は0ではない。従って、方向nA1すなわち単位ベクトルn1を軸とし、方向mA1を単位方向ベクトルm1に重ねる回転qT2を構成できる。具体的に、回転qT2は下記で与えられる。
qT2=R([PT(n1)mA1],[PT(n1)m1])
【0107】
方向nA1は回転qT2の回転軸方向n1と同一方向であるので、この回転qT2により不変である。また、方向mA1は、この回転qT2により単位方向ベクトルm1に回転される。
n1=qT2nA1qT2*
m1=qT2mA1qT2*
【0108】
あらためて、回転q1Aを下記で定義する。
q1A=qT2qT1
【0109】
この回転q1Aにより、単位ベクトルnAと単位方向ベクトルmAは、単位ベクトルn1と単位方向ベクトルm1に回転される。
n1=q1AnAq1A*
m1=q1AmAq1A
【0110】
単位ベクトルnAと単位方向ベクトルmAは異なる2つの方向として選ばれているので、この回転q1Aが、端末座標系WAでの方向表現を空間座標系W1での方向表現に変換する回転である。逆に、空間座標系W1での方向表現を端末座標系WAでの方向表現に変換する回転を回転qA1とすると、回転qA1は同様に以下となる。
qA1=q1A*
【0111】
次に、座標値d
A,d
1(
図8)の変換式を求める。ここでの座標値d
A,d
1は、上記式3により定義される座標値の四元数表現である。まず、一方の座標系から見て他方の座標系の原点の座標値を求める。
図11の(A)のように、端末座標系WAにおける空間座標系W1の原点O
1の座標値の表現がo
1A、空間座標系W1における端末座標系WAの原点O
Aの座標値の表現がo
A1である。各座標系(WA,W1)における情報端末1の位置LAの座標値d
A,標識3の特徴点の位置L1の座標値d
1は分かっている。よって、これらの原点座標値表現(o
1A,o
1B)は、下記の式Aのように求まる。
式A:
o
1A=d
A+P
1A-q
A1d
1q
A1*
o
A1=d
1-q
1A(d
A+P
1A)q
1A*
【0112】
また、容易に分かるように、下記の関係がある。
oA1=-q1Ao1Aq1A*
【0113】
最後に、実空間内の任意の点の位置21についての端末座標系WAでの座標値rAと、空間座標系W1での座標値r1との変換式は、以下のように与えられる。
r1=q1A(rA-o1A)q1A* =q1ArAq1A*+oA1
rA=qA1(r1-oA1)qA1* =qA1r1qA1*+o1A
【0114】
上記のように、例えば端末座標系WAで見た特定の位置21(座標値r
A)を、空間座標系W1で見た場合の位置21(座標値r
1)に変換したい場合、回転q
1A、座標値r
A、および原点表現o
A1を用いて計算できる。逆の変換も同様に計算できる。
図8の変換パラメータ7は、上記座標変換の説明で登場したパラメータ(回転および原点表現)を用いて構成できる。なお、上記のように相互の変換は容易であるため、情報端末1等が保持するパラメータは、q
A1の代わりにq
1Aとしてもよいし、o
1Aの代わりにo
A1としてもよいし、それらの逆としてもよい。
【0115】
[空間データ利用例]
図12は、情報端末1が座標系ペアリング後に空間2の空間データ6を利用する例を示す。
図12の例では、ユーザU1が情報端末1を使用する空間2である部屋内において、空間データ6で記述されている配置物として、天井1201、壁1202、壁1203、および絵画1204等がある。図示省略するユーザU1の情報端末1である例えばHMD1Aは、前述の標識3に基づいて空間データ6を取得して座標系ペアリングを行うことにより、部屋内の壁1202,1203や絵画1204等の位置や形状を認識できる。本例ではそれらの配置物は概略的に平面で構成されている。例えば、壁1203は、空間座標系W1で、4つの角点の位置の座標値を持つ。絵画1204は、壁1203の平面に沿って配置されており、同様に4つの角点(点p121~p124)の位置の座標値を持つ。
【0116】
ユーザU1の情報端末1は、例えば、AR機能の処理によって、絵画1204に対する説明文を、仮想画像1205として表示する。この際、情報端末1は、ユーザU1の視点から、すなわち端末座標系WAで、説明文の仮想画像1205を、絵画1204の位置に合わせた高精度な位置に速やかに表示できる。例えば、図示のように、説明文の仮想画像1205を、壁1203の平面と平行な平面で絵画1204の領域に近い重ならない領域に配置するように表示できる。
【0117】
なお、この仮想画像1205は、この空間2(特に絵画1204)に応じた固有のものである。このような仮想画像1205のデータは、空間データ6中に、絵画1204のデータや仮想画像表示位置指定情報等と共に含まれていてもよい。あるいは、このような仮想画像1205のデータは、空間データ6とは別のデータ、例えば部屋や建物のデータとは別の可変配置物データとして、それらが関連付けられてサーバ4に登録されていてもよい。あるいは、このような仮想画像1205のデータは、情報端末1のアプリケーションプログラムが随時に生成や保持するものとしてもよい。情報端末1は、自機の位置や向き、絵画1204の付近の人等の状況に合わせて、仮想画像1205を表示する好適な位置等を決定してもよい。
【0118】
[効果等]
上記のように、実施の形態1の空間認識システムおよび方法によれば、情報端末1側の座標系と空間2側の座標系とが一致していない状態からでも、情報端末1が空間2を好適に認識して利用でき、情報端末1が空間データ6を好適に利用できる。情報端末1は、標識3から空間データ6を特定できるとともに、標識3の場所で座標系ペアリングを速やかに行うことができる。情報端末1は、座標系ペアリングによって、対象の空間2との間で位置認識を共有でき、所望の位置21にARの仮想画像22を速やかに高精度に表示できる。また、情報端末1によって空間データ6を利用して様々な機能やサービスをユーザに対し提供することができる。
【0119】
[変形例-調整機能(1)]
実施の形態1に関する変形例として以下も可能である。ユーザU1の情報端末1が対象の空間2に入る前の標識3の認識時に、座標系ペアリングにおいて座標系間の適合に誤差が生じる場合があり得る。この場合を考慮し、変形例において、情報端末1には、座標系ペアリングの誤差の調整を行う機能を有してもよい。具体的には、情報端末1は、ある空間2に関連付けられた1つ以上の標識3の各標識3の認識毎に、あるいは同じ標識3でも各回の認識毎に、座標系ペアリングの誤差の調整を行う。また、情報端末1は、空間2内の配置物の位置、特徴点や特徴線を用いて、変換パラメータ7を調整してもよい。例えば
図12を用いて説明すると、情報端末1は、
図3のような標識3に基づいた座標系ペアリング後、部屋内で、天井1201や壁1202,1203に関する境界線1211,1212,1213を特徴線とし、境界線1211,1212,1213の交点1214を特徴点として用いて、変換パラメータ7に関する調整を行ってもよい。この場合、調整の際の情報端末1による空間2との位置関係の探索・測定は、一旦標識3との座標系ペアリングによって初期設定として基本的な位置認識が確立されている状態での探索・測定となる。そのため、この際の空間データ6内の特徴点や特徴線が実物のどの点や線に対応しているかについての探索・測定は、従来技術のように全く位置関係が分からない場合に比べ、高速に実行できる。
【0120】
図13は、変形例に対応した他の標識3の構成例として、空間2である部屋の内側にも標識3が設置される場合を示す。空間2である部屋の境界物となる壁1301の外面には前述と同様の標識3aがある。また、部屋内の壁1302に標識3bが設置され、壁1303に標識3cが設置されている。ユーザU1の情報端末1は、いずれの標識3を座標系ペアリングおよび調整に利用してもよい。ユーザU1の情報端末1は、例えば標識3aに対する1回目の座標系ペアリング1311によって、空間座標系W1に対する端末座標系WAの適合を初期設定として行う。その後、ユーザU1の情報端末1は、部屋内で例えば標識3bに対する2回目の座標系ペアリング1312、あるいは標識3cに対する2回目の座標系ペアリング1313を、適宜に実行する。その場合、その都度、情報端末1は、変換パラメータ7の調整によって、情報端末1の位置と向きに関する調整ができる。これにより、座標系間での関係にずれや誤差があった場合にも、補正ができ、この結果、AR表示に関してより精度を高めることができる。
【0121】
[変形例-調整機能(2)]
座標系ペアリング時の空間2内の配置物、特に、
図3の机2a等の可動物は、サーバ4のDB5に登録されている空間データ6中の配置物の位置等の状態とは異なっている可能性がある。例えばユーザが机2aを動かしたかもしれない。変形例において、情報端末1は、このような配置物の変動を考慮した機能も有する。情報端末1は、上記調整を含む座標系ペアリングの際には、空間データ6に基づいて、位置変動の可能性が無いまたは低い配置物の特徴点等を用いて、諸量の測定等の処理を行う。位置変動の可能性が無いまたは低い配置物は、壁や天井、あるいはそれらに固定して設置された物体等である。情報端末1は、測定対象位置情報6Cに基づいてそのような配置物を選び、変換パラメータ7の調整に使用する。予め、空間データ6の記述において、そのような位置変動の可能性が無いまたは低い配置物と、位置変動の可能性が高い配置物とを区別して記述しておいてもよい。例えば配置物毎の属性や種類の値として可動有無等が設定されていてもよい。
【0122】
空間データ6において、壁内の構造物等の視認できない配置物のデータを含んでもよい。その場合、例えば、建物の建設や保守作業の際に、ユーザが情報端末1を通じて、空間2内の視認できない配置物をARとして可視化し、効率的な作業等が可能となる。
【0123】
また、火災・地震・停電等で、情報端末1による空間2内の状況の認識が難しい場合には、空間2内の特徴点等を用いた変換パラメータ7の調整を行わないようにしてもよい。
【0124】
また、火災・地震・停電等で、ユーザU1による空間2内の状況の認識が難しい場合には、情報端末1が標識3に基づいて取得した空間データ6を、元の配置物の位置等の確認の補助として利用できる。あるいは、部屋内の椅子や机や機器等の可動物をユーザが自由に使用した後、規定の位置に戻す必要がある場合に、空間データ6を補助として利用できる。
【0125】
空間データ6は、災害時の避難の支援、火災時の消防隊の活動の支援等にも利用できる。その際、例えば消防隊は、情報端末1を用いて、建物外や建物入口の標識3からその建物の空間2に関する空間データ6を取得し、ARを通じて位置や形状を把握してもよい。空間データ6は、建物に対し遠隔地にあるサーバ4に登録してもよいし、建物の近傍または建物内のサーバ4に登録してもよい。また、標識3の近傍に、空間データ6を格納する装置、例えばビーコン装置を設けてもよい。また、標識3自体に、空間データ6を格納する装置を設けてもよい。
【0126】
[変形例-変換パラメータ登録機能]
変形例として、サーバ4または他の装置に、ユーザU1の情報端末1毎の変換パラメータ7を登録してもよい。例えば、
図9のステップS16で、ユーザU1の情報端末1は、変換パラメータ7を生成した後、サーバ4にその変換パラメータ7をそのユーザU1の情報端末1用のものとして登録してもよい。この場合、ユーザU1は、同じ空間2を2回目以降に利用する場合には、標識3のIDに基づいて、サーバ4から空間データ6と変換パラメータ7をダウンロードして利用できる。この方法は、情報端末1の端末座標系WAが常に同じ場合等、基準となる端末座標系WAを持つ場合に有効である。
【0127】
[変形例-座標系ペアリング]
実施の形態1では、情報端末1は、座標系ペアリングの際に、空間2側の諸量802(
図8)として、
図3のような標識3中の規定の特徴点または特徴線を使用した。これに限らず、変形例として、空間2側の諸量802としては、実空間内において測定できる特定方向についての空間座標系W1での表現を用いてもよい。また、その特定方向としては、鉛直下方向(重力方向)や地磁気方向を用いてもよい。
【0128】
図14は、この変形例における空間2の構成例、2つの特定方向の例を示す。部屋内において、特定の配置物、例えば、表示装置2e(プロジェクタのスクリーン等でもよい)は、壁1401に固定されて所定の位置に設置されているとする。この表示装置2eは、空間データ6(特に標識データ6B)中で、標識3の1つとして機能する物体として規定されている。例えば、表示装置2eの表示面において、左上の角点である点1402が、表示装置2eの位置を表す1つの特徴点として設定されている。この点1402を起点として、鉛直下方向(重力方向)1403と地磁気方向(北方向)1404との2つの特定方向が規定され、諸量802として用いられる。なお、本例では、地磁気方向1404が軸X
1の負方向と一致している場合を示す。
【0129】
他の変形例として、部屋の特定の壁1401を、標識3として機能する配置物として規定し、壁1401における1つの点、例えば点1405(2つの壁と天井との交点)を特徴点とし、その点1405を起点とする所定の2つの特定方向を、諸量802として用いてもよい。
【0130】
(実施の形態2)
図15~
図20等を用いて、本発明の実施の形態2の空間認識システム等について説明する。以下では、実施の形態2等における実施の形態1とは異なる構成部分について説明する。実施の形態2では、空間認識の対象となる空間を、管理上、複数の領域に分割し、領域毎に前述の1つの空間2として扱う場合を示す。1つの空間2が大きすぎる場合、空間データ6が大きくなり、処理効率や処理速度等が悪くなる可能性が想定される。そこで、実施の形態2は、1つの空間2を適度な大きさの領域として空間データ6を設定する。これにより、処理効率向上等が図れ、有効である。
【0131】
[分割領域(1)]
図15は、空間における複数の領域への分割の一例を示す。
図15は、ある建物の空間1500を俯瞰した平面構成の模式図である。この空間1500は、複数の部屋またはエリアや、通路を有する。この空間1500は、複数の領域1501、例えば4個の領域R1~R4に分割されている。各領域1501は、3次元領域であり、実施の形態1での1つの空間2に相当する。領域1501毎にIDが付与されている。なお、本例では、1つの領域1501は1つの部屋等には対応していないが、他の構成では、1つの領域1501を1つの部屋等に対応付けて設定してもよい。本例では、1つのフロアが概略的に同程度の大きさの4個のエリアに対応する4個の領域1501(R1~R4)に分割されている。また、境界を跨ぐ配置物もあるので、ある領域1501と隣接する他の領域1501とで一部が重複していてもよい。例えば領域R1と領域R2は一部の領域R12が重複している。
【0132】
予め、
図1のサーバ4のDB5には、ライブラリーとして、領域1501毎の空間データ6(例:DR1,DR2,DR3,DR4)が登録されている。また、予め、領域1501毎に少なくとも1個の標識3が設けられる。各標識3には、領域1501のIDが記載されている。また、本例では、建物全体の空間1500には、入口等の付近に、標識H0が設置されている。標識H0が持つIDを0とする。領域R1には、標識H1、標識H12、標識H41が設置されている。領域R2には、標識H2、標識H23、標識H12が設置されている。領域R3には、標識H3、標識H34、標識H23が設置されている。領域R4には、標識H4、標識H41、標識H34が設置されている。標識H1はID=1、標識H2はID=2、標識H3はID=3、標識H4はID=4を持つとする。各標識3は、対応付けられる領域1501の内部、またはその領域1501に出入りできる箇所の付近に設置されればよい。
【0133】
また、1つの標識3は、それに対応付けられる近傍の複数の領域1501の識別に使用されてもよい。例えば、重複する領域R12に設置された標識H12は、ID=1,2の2つのIDを持つ。すなわち、標識H12は、領域R1と領域R2との2つの領域に関する標識である。標識H23等も同様である。
【0134】
空間1500に複数の標識3が設置されることで、前述と同様に、情報端末1は、各標識3の場所で、調整を含む座標系ペアリングが可能である。空間1500内での各標識3の位置等の情報は、対応する空間データ6内の標識データ6Bに記述されている。各領域1501の位置や形状は、対応する空間形状データ6Aに空間座標系W1で記述されている。各領域1501は同じ1つの空間座標系、例えばこの建物用の局所座標系で記述されていてもよい。これに限らず、
図15に示すように、領域1501(R1~R4)毎に異なる空間座標系(W1~W4)が設定されてもよい。例えば、情報端末1が使用する領域1501とその領域1501を記述する空間座標系の原点とが大きく離れている場合、情報端末1が取り扱う座標値が大きな値となり、計算誤差の原因となり得る。ある領域1501を記述する空間座標系の原点の位置をその領域1501の内部または近傍に設けることで、計算誤差を低減できる利点がある。
【0135】
図16は、あるユーザU1の情報端末1が
図15の空間1500を利用する場合の変換パラメータ7の構成例を示す。
図16の変換パラメータ7のテーブルは、項目として、空間座標系、端末座標系、回転、原点表現を有する。「空間座標系」項目は、空間座標系の識別情報が格納され、
図15の各領域1501の標識3のIDと対応している。「端末座標系」項目は、その空間座標系にペアリングする端末座標系の識別情報が格納される。「回転」項目は、前述の回転操作を表すパラメータが格納され、「原点表現」項目は、前述の原点の差のパラメータが格納される。例えば1行目は、領域R1の空間座標系W1と情報端末1の端末座標系WAとの変換(パラメータ:q
A1,o
1A)が規定されている。2行目は、領域R2の空間座標系W2と情報端末1の端末座標系WAとの変換(パラメータ:q
A2,o
2A)が規定されている。
【0136】
例えば、端末座標系WAを持つあるユーザU1の情報端末1による空間1500の利用の具体例は以下の通りである。ユーザU1の移動に伴い、情報端末1は、建物入口の標識H0の場所から、領域R1の標識H1、領域R12の標識H12、領域R23の標識H23を経由して、領域R3の標識H3の場所まで移動し、目的場所として領域R3内の部屋1503に入る。情報端末1は、標識H0の場所では、後述のように建物全体の空間1500に関する認識を行ってもよい。情報端末1は、最初、標識H1の所でID=1を取得し、領域R1の空間データDR1を取得し、領域R1に関する座標系ペアリングを行う。これにより、領域R1の空間座標系W1に対し端末座標系WAが適合される。次に、情報端末1は、標識H12の所で、標識H12からID=1,2を取得し、未取得であった方のID=2から空間データDR2を得て、領域R2に関する座標系ペアリングを行う。次に、情報端末1は、標識H23の所でID=2,3を取得し、未取得であった方のID=3から空間データDR3を取得し、領域R3に関する座標系ペアリングを行う。次に、情報端末1は、標識H3の所でID=3を取得し、取得済みであるため、領域R3に関する座標系ペアリングを省略できる。もしくは、情報端末1は、領域R3に関する2回目の座標系ペアリングを調整として行ってもよい。そして、ユーザU1の情報端末1は、部屋1503内で、空間データDR3を利用してARの画像を好適に表示できる。また、ユーザU1の情報端末1は、上記経路の途中でも、各領域の空間データ6を用いて、後述の経路案内等のAR表示を行うこともできる。
【0137】
[分割領域(2)]
また、実施の形態2では、空間1500内の領域1501毎に、座標系ペアリングとして適合する端末座標系を異ならせることも可能である。この異ならせることとは、同じユーザU1の情報端末1が、領域1501に応じて適した端末座標系を設定し直すことと捉えてもよいし、領域1501に応じて異なる端末座標系を使い分けることと捉えてもよい。また、複数のユーザの複数の情報端末1におけるそれぞれの端末座標系を、それぞれの領域1501に割り当てることも可能である。
【0138】
図17は、上記の場合の変換パラメータ7の構成例を示す。例えば1行目は、標識H1のID=1に対応する領域R1では、空間座標系W1に対し、ある端末座標系WAが適用されるという変換(パラメータ:q
A1,o
1A)が規定されている。2行目は、標識H2のID=2に対応する領域R2では、空間座標系W2に対し、別の端末座標系WBが適用されるという変換(パラメータ:q
B2,o
2B)が規定されている。
【0139】
[分割領域(3)]
また、
図15のような空間1500における隣接する領域1501で、空間データ6をスムーズに利用するために、情報端末1は、隣接する領域1501間での座標変換を可能とする変換パラメータ7を生成および保持してもよい。例えば、領域R1と領域R2との重複する領域R12では、領域R1の空間座標系W1と、領域R2の空間座標系W2との間での変換のための変換パラメータが利用される。
【0140】
図18は、そのような場合の変換パラメータ7の構成例を示す。この変換パラメータ7のテーブルは、「隣接空間座標系」項目を有する。この「隣接空間座標系」項目には、隣接する2つの領域1501の2つの空間座標系の識別情報が格納される。例えば1行目は、領域R1の空間座標系W1に対応するID=1と、領域R2の空間座標系W2に対応するID=2とが設定されている。「回転」および「原点表現」項目は、それらの2つの空間座標系間の変換を規定するパラメータである。この空間座標系間の変換は、予めわかるので、空間データ6内に記述できる。変換パラメータ7にはその空間データ6内の情報を使用できる。例えば1行目で、パラメータ(q
21)は、空間座標系W1と空間座標系W2との間の回転を表し、パラメータ(o
12)は、空間座標系W1の原点O
1と空間座標系W2の原点O
2との差を表す。
図18のような変換パラメータ7を用いることで、情報端末1は、領域1501間での空間座標系間の切り替えをより高速に実現できる。
【0141】
[分割領域(4)]
図19は、他の変形例として、隣接する領域1501で使用していたそれぞれの端末座標系間の変換に関する変換パラメータ7の構成例を示す。この変換パラメータ7のテーブルは、「隣接端末座標系」項目を有する。この「隣接端末座標系」項目は、隣接する2つの領域1501で使用される2つの端末座標系の識別情報が格納される。例えば、ユーザU1の情報端末1は、領域R1では端末座標系WAを使用し、隣接する領域R2では別の端末座標系WBを使用する。その場合、情報端末1は、例えば領域R12の標識H12の場所で、次に使用する新たな端末座標系WBを定義する時点で、1行目のように、端末座標系WAと端末座標系WBとの間の変換のパラメータ(q
BA,o
AB)を生成し設定する。
図19のような変換パラメータ7を用いることで、情報端末1は、領域1501間での端末座標系間の切り替えをより高速に実現できる。
【0142】
[分割領域(5)]
図15のように、ユーザU1の情報端末1が、建物の空間1500の外部から建物内に入る際に、標識H0または最初の領域R1の標識H1を利用し、外部の座標系から建物内部の座標系への変換のための変換パラメータ7を生成してもよい。外部の座標系は、例えば緯度・経度・高度を用いた地球や地域等で共通の座標系(例えば
図7のGPS受信器144で測位できる座標系)がある。建物内部の座標系は、例えば領域R1~R4の空間座標系である。逆に、ユーザU1の情報端末1が建物の空間1500から外部に出る際に、逆の変換のための変換パラメータ7を生成してもよい。これにより、建物内部のみならず、外部の座標系と建物内部の座標系との間でも変換によって情報端末1の位置認識を連続させることができる。
【0143】
また、特定の標識3、例えば建物の入口等に設置された標識H0からは、建物内の複数の領域1501に関する複数の空間データ6をまとめて取得できるようにしてもよい。標識H0は建物内に設けられてもよい。また、特定の標識3、例えば標識H0からは、建物内の複数の標識3(例:H1~H4)に関する位置等の情報をまとめて取得できるようにしてもよい。また、情報端末1は、例えば標識H0から認識した複数の領域1501の情報(例えば複数のID)を、AR機能によってユーザU1に対し表示し、ユーザU1の操作に応じてそれらから所望の領域1501(例えばID)を選択できるようにしてもよい。この場合、情報端末1は、選択された領域1501の空間データ6を取得する。
【0144】
また、情報端末1は、各標識3から取得できる情報に基づいて、空間1500内の標識3および領域1501間の経路の把握が可能である。経路は、複数の領域1501や複数の標識3の関係として記述できる。情報端末1は、ユーザU1に対し、経路の案内を、AR機能を用いて、仮想画像22(例えば矢印画像)の表示として行うことも可能である。例えば
図15のように、ユーザU1が入口から所望の目的場所の領域R3の部屋1503へ行きたい場合の経路は、標識H1,H12,H23,H3の順に経由する経路である。例えば、ユーザU1は、情報端末1に対し、目的位置(例えば領域R3)を指定し、情報端末1は、現在位置に基づいて、経路上で次に経由すべき標識3への方向を、ARの画像によってユーザU1にガイドする。ユーザU1は、ガイドに従って順に標識3を辿り、目的位置へ行くことができる。情報端末1は、経路途中の標識3において座標系ペアリングによる変換パラメータの調整を行うことにより、経路に対する自機位置の誤差修正を適宜行うことができる。また、標識3から取得できる空間データ6には、経路情報や地図情報を持たせてもよく、情報端末1はその情報を用いてユーザにガイドを行ってもよい。
【0145】
このような機能は、建物内に限らず、屋外でも同様に適用可能である。例えば、公共空間等において標識3が設置される。この標識3は、空間データ6を用いた道案内の機能を持つ。情報端末1は、その標識3を認識して空間データ6を取得し、その標識3の位置を起点として所定の目的地またはユーザが指定した目的位置まで、ARによって経路を提示し誘導することができる。
【0146】
[分割領域(6)]
図20は、空間の分割に関する他の構成例を示す。本例は、ショッピングモール等の建物に対応する全体の空間2000において、複数の領域2001が、例えば店舗テナント毎の領域2001(例:R21,R22,……,R25)として設定されている。例えば領域R21は店舗A用の領域であり、領域R22は店舗B用の領域である。各領域2001のサイズや形状は、店舗テナント等の都合に合わせて、柔軟、詳細に、空間データ6(特に空間形状データ6A)に設定される。また、本例では、領域2001間に重複領域を設けていない。本例では、空間2000の入口付近の看板等において標識H0が設けられている。ユーザU1の情報端末1(例えばHMD1A)は、標識H0からは、建物全体の空間2000についての地図や経路案内を含む空間データ6を取得できる。この空間データ6は、複数の領域2001についての各空間データ6を含んでもよいし、あるいは、ユーザU1が一部の領域2001の空間データ6を選択して取得できるようにしてもよい。各領域2001(R21~R25)には、標識3(例:H21,H22,……,H25)が設置されており、それぞれ対応付けられるID(例:1,2,……,5)を有し、それぞれ空間データ6(例:DR21,DR22,……,DR25)が対応付けられている。
【0147】
このような空間の構成でも、同様に、情報端末1は、ユーザU1の所望の領域2001の標識3から店舗毎の空間データ6を取得し、その空間データ6を用いて店舗内で店舗毎に特有のARの表示等が可能である。また、領域2001毎の空間データ6には、店舗情報(例えば店舗や商品を紹介する情報)が含まれてもよいし、別の店舗情報データとして関連付けられてもよい。その場合、情報端末1は、取得した店舗情報をARで好適に表示できる。他の構成例としては、店舗外の通路毎に領域2001が設定されてもよい。
【0148】
(他の実施の形態)
他の実施の形態として以下も可能である。
【0149】
[変形例-経路案内]
図21には、変形例として、例えば店舗内での利用の場合の空間2の構成例を示す。ある店舗の空間2内において、複数の商品が販売されている。空間2は、フロア、エリア、通路、棚2100等で区分されており、各商品の位置は、それらと対応付けて管理されている。空間2内の所定の位置には、看板または表示装置等の配置物2101があり、その配置物2101において標識3が構成されている。この標識3は、表示装置の表示画面に画像として表示される態様としてもよい。その場合、標識3の内容の変更が容易に可能である。この標識3には、例えば広告としてある商品Xの情報やコード画像が記載されている。商品購入者であるユーザU1は、情報端末1によって標識3を認識する。情報端末1は、空間データ6を取得し、店舗の空間座標系W1に対する座標系ペアリングを行う。空間データ6には、空間座標系W1における標識3の位置、対象の商品Xの位置、標識3から商品Xまでの経路2103、等の情報が記述されている。
【0150】
情報端末1は、空間データ6を用いて、AR機能によって、商品Xが店舗内のどの位置にあるか、例えばどの棚2100のうちのどの位置にあるか等をガイドでき、経路2103に沿って商品Xの位置まで誘導できる。情報端末1は、例えば経路2103に対応する画像や、商品Xの位置を表す画像2102等を表示する。このような機能は、特定の商品Xに限らず可能である。例えば、ユーザU1が情報端末1の表示面11、または標識3を構成する表示装置の表示画面で、目的の商品を選択する操作を行い、選択された商品に関するガイドを行う構成も可能である。また、このような構成は、店員による在庫管理等にも有効である。
【0151】
[変形例-権限]
変形例として、空間データ6についての取得権限を設けてもよい。例えば、情報端末1は、標識3の認識時にIDを取得し、そのIDとともに要求をサーバ4へ送信する。サーバ4は、その要求に対し、取得権限の確認のために認証用情報の要求を情報端末1へ送信する。情報端末1は、その要求に対し、ユーザID(または端末ID)およびパスワード等の認証用情報をサーバ4に送信する。サーバ4は、情報端末1から受信した認証用情報を用いた認証によって、対象の空間データ6の取得が許可されるユーザおよび情報端末であること、すなわち取得権限があることを確認する。サーバ4は、権限が確認できた場合には、対象の空間データ6をその情報端末1に応答として送信し、権限が確認できない場合には送信しない。
【0152】
上記権限の制御に関する具体例としては、所定のユーザとして建物の保守管理を行うユーザが認証用情報および取得権限とともに設定される。そのユーザには、建物の保守管理用のデータを含む空間データ6が提供される。その保守管理用のデータは、例えば壁内の構造物のデータを含む。権限が無い一般のユーザは、その保守管理用のデータについては取得できない。他の具体例としては、所定のユーザとして、店舗の店員が設定される。そのユーザの情報端末1には、店舗内のバックヤードのデータや在庫管理用のデータ等を含む空間データ6が提供される。
【0153】
また、上記権限については、複数の種類の権限としてランクを設けてもよい。ランク毎に、取得できる空間データ6の内容の範囲を異ならせることができる。
【0154】
[変形例-端末制御情報]
他の変形例として、情報端末1は、標識3の認識から、前述のIDのみならず、所定の制御情報(言い換えると端末制御情報)を自動的に取得し、その制御情報に従って自動的に制御を実行する。この端末制御情報は、例えばアプリケーションプログラム起動制御情報やファイル指定情報が挙げられる。例えば、ある標識3には、そのような制御情報がコード化された画像が記載される。情報端末1は、標識3のその画像からデコードによってIDおよび制御情報を取得する。情報端末1は、その制御情報に従って、指定されたアプリケーションを起動し、指定されたファイルを自動的に開く。情報端末1は、そのアプリケーションおよびファイルに対応する情報を、表示面11に表示する。アプリケーションの例は、AR機能に関するものが挙げられる。
【0155】
あるいは、空間データ6において上記端末制御情報が記述されてもよい。その場合、情報端末1は、例えばサーバ4から取得した空間データ6に含まれるまたは付属する端末制御情報に従って同様に制御を実行する。
【0156】
[変形例-物体に固定された空間座標系]
図22は、他の変形例における標識3の構成例を示す。標識3は、空間2内に配置されている物体2200に設定されていてもよい。
図22の例では、空間2(模式的に床のみを示す)内に、物体2200として、所定の作業の作業対象物がある。ユーザU1は、その作業を行う人であるとする。この物体2200は、特に可動物であってもよく、ユーザU1によって動かされる場合がある。すなわち、この物体2200は、空間2(対応する空間座標系W1)内での位置等が変わる場合がある。
【0157】
この標識3および対応する空間座標系W1は、物体2200に固定されている。本例では、標識3は、物体2200の一面の一箇所にコード画像2201として記載されている。この標識3のIDには、この物体2200に関する空間データ6が関連付けて設定されており、情報端末1は、この標識3からその空間データ6を取得できる。この空間データ6は、この物体2200および標識3を空間座標系W1で記述したデータである。
【0158】
この空間データ6を記述する空間座標系W1は、この標識3および物体2200に対しての相対的な位置等を記述する空間座標系である。この空間座標系W1と物体2200とは所定の位置関係を有する。例えば、この空間座標系W1における原点O1は、物体2200に対する所定の位置、例えば物体2200に属する図示する左上の点に設定されている。この原点O1の位置は、標識3の特徴点(例えば左上の点)と殆ど同じ位置として設定されている。本例では標識3の位置と空間座標系W1の原点O1の位置とを殆ど同じとしたが、空間座標系W1の原点O1の位置については限定しない。原点O1は、標識3および物体2200から所定の関係で離れた位置にあってもよい。
【0159】
この空間データ6には、物体2200の形状の他に、物体2200に対する作業に関する情報や、作業説明情報等を含んでもよい。作業に関する情報は、例えば作業対象点2202(例えば物体2200の上面の中心点)等の情報がある。作業説明情報は、例えば、作業説明をARの仮想画像(例えばARパネル)として表示するための作業説明表示位置情報等がある。画像2203は、作業対象点2202を強調してユーザU1に伝えるためのAR画像例を示す。画像2204は、作業対象点2202に対する作業説明のARパネル(例えば吹き出しのような画像)の例を示す。画像2204等は、例えば背景の実像が半透過表示される画像である。
【0160】
また、この標識3からは、前述のように、端末制御情報として、この作業に係わる作業支援用アプリケーションの起動制御情報や、このアプリケーションで用いるべき対象作業ファイルの指定情報等を取得できる。情報端末1(HMD1A)は、この標識3の認識によって、自動的にそのアプリケーションを起動し、対象作業ファイルを開き、表示面11にそれらの仮想画像を重畳表示する。画像2205は、そのようなアプリケーションのARパネルの表示例を模式的に示す。ユーザU1は、画像2205に対する入力操作(例えばコマンド指定)が可能である。
【0161】
また、空間データ6の設定に基づいて、空間座標系W1の3軸の方向等を、作業支援のために画像として表示するようにしてもよい。また、作業支援用のアプリケーションは、ユーザU1による空間座標系W1内の所望の位置の指定の操作(例えば指先の認識等)に応じて、その指定された位置にAR画像を表示してもよい。
【0162】
上記のような空間データ6およびARを用いた作業支援によって、ユーザU1は、作業対象物である物体2200の前で、速やかに作業準備を設定することができ、AR画像による作業説明等を参照しながら効率的に作業を行うことができる。なお、この変形例では、物体2200が動かされた場合、それに伴って標識3も移動するが、空間座標系W1は、物体2200および標識3に対する相対的な位置関係が維持される。物体が動かされた場合、情報端末1は、端末座標系WAと空間座標系W1間の変換パラメータを調整する。調整の際は、特徴点や特徴線を空間データとして特定できる物体2200上の一部の領域を標識3と見立てて変換パラメータの調整を行ってもよい。これにより、情報端末1は、物体2200が動かされた場合でも、物体2200の空間座標系W1に合わせて好適なAR表示が可能である。
【0163】
以上、本発明を実施の形態に基づいて具体的に説明したが、本発明は前述の実施の形態に限定されず、要旨を逸脱しない範囲で種々変更可能である。実施の形態の構成要素の追加や削除や置換、各種の組合せによる構成が可能である。前述した機能等は、一部または全部をハードウェアで実装してもよいし、ソフトウェアプログラム処理で実装してもよい。機能等を構成するプログラムやデータは、コンピュータ読取可能な記憶媒体に格納されてもよいし、通信網上の装置に格納されてもよい。
【符号の説明】
【0164】
1…情報端末、1A…HMD、1B…スマートフォン、2…空間、3…標識、4…サーバ、5…DB、6…空間データ、11…表示面、12…カメラ、13…測距センサ、21…位置、22…仮想画像、23…アクセスポイント、WA…端末座標系、W1…空間座標系。