JP2014197348A - サーバ装置、情報処理方法及びプログラム - Google Patents
サーバ装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2014197348A JP2014197348A JP2013073321A JP2013073321A JP2014197348A JP 2014197348 A JP2014197348 A JP 2014197348A JP 2013073321 A JP2013073321 A JP 2013073321A JP 2013073321 A JP2013073321 A JP 2013073321A JP 2014197348 A JP2014197348 A JP 2014197348A
- Authority
- JP
- Japan
- Prior art keywords
- feature point
- hmd
- terminal device
- image
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】ユーザが妥当な量の自然特徴点を得ることができる場所を判断しなければいけない手間を軽減する。【解決手段】第1の携帯端末装置により撮像された第1の画像と、第2の携帯端末装置により撮像された第2の画像とを受信し、受信した第1の画像と、第2の画像との夫々の画像から複数の特徴点を抽出し、第1の画像から抽出した複数の特徴点と、第2の画像から抽出した複数の特徴点とのうち、同一の特徴点を示す特徴点のペアである特徴点ペアとして対応付けられる特徴点があるか否かを判断し、対応付けられる特徴点がないと判断した場合、特徴点ペアとして対応付けられる特徴点を抽出可能な画像を撮像することができる撮像条件情報を含む誘導要求を第1の携帯端末装置と、第2の携帯端末装置とに送信することによって課題を解決する。【選択図】図5
Description
本発明は、サーバ装置、情報処理方法及びプログラムに関する。
Augumented Reality(AR)技術は、カメラで撮影した画像にコンピュータで生成した仮想データを重畳表示する技術である。近年では、スマートフォン等のモバイル端末を始め、開発が盛んに行われている。
このAR技術は、仮想データが現実空間中に実在するような感覚をユーザに与えるため、ユーザの視点の変化に合わせて、重畳する仮想データの位置を正確に整合させる必要がある。そこで、画像中のマーカ、エッジ又はコーナー点といった自然特徴点(単に特徴点ともいう)を抽出し、追従する技術が提案されている。特許文献1では、ステレオカメラにて撮像した複数の画像間で特徴点をペア化したものを使用し、3D表示する技術が開示されている。
このAR技術は、仮想データが現実空間中に実在するような感覚をユーザに与えるため、ユーザの視点の変化に合わせて、重畳する仮想データの位置を正確に整合させる必要がある。そこで、画像中のマーカ、エッジ又はコーナー点といった自然特徴点(単に特徴点ともいう)を抽出し、追従する技術が提案されている。特許文献1では、ステレオカメラにて撮像した複数の画像間で特徴点をペア化したものを使用し、3D表示する技術が開示されている。
最近では、AR技術のオフィス環境への適用が検討されている。一例として、被写体に関する仮想データの重畳表示だけでなく、オフィス内の任意の場所で会議資料等のデジタルコンテンツを撮像画像に重畳表示(以後、AR表示という)することで、ユーザ同士の打ち合わせ等を可能とする技術が挙げられる。
また、AR表示を行うデバイスとして、タブレット等に加えてHMD(Head Mounted Display)といったディスプレイを常時携帯できるデバイスがある。これらのデバイスを使用したオフィス業務へのAR技術の適用により、ユーザの業務効率向上が期待される。
しかしながら、オフィス環境の業務にAR表示技術を適用する場合、ユーザが行う準備が煩雑になることがある。例えば、HMDによるAR表示のためにマーカが使用される場合、ユーザは、HMDが撮像した画像中にマーカが含まれるようにオフィス環境内にマーカを貼り付ける必要がある。また、HMDによるAR表示のために撮像した画像から得られる自然特徴点が使用される場合、ユーザは、デジタルコンテンツを表示できるだけの十分な量の自然特徴点が画像中から抽出できるような場所を判断する必要がある。
本発明は、上記課題を鑑みてなされたものであり、ユーザが妥当な量の自然特徴点を得ることができる場所を判断しなければならない手間を軽減することを目的とする。
また、AR表示を行うデバイスとして、タブレット等に加えてHMD(Head Mounted Display)といったディスプレイを常時携帯できるデバイスがある。これらのデバイスを使用したオフィス業務へのAR技術の適用により、ユーザの業務効率向上が期待される。
しかしながら、オフィス環境の業務にAR表示技術を適用する場合、ユーザが行う準備が煩雑になることがある。例えば、HMDによるAR表示のためにマーカが使用される場合、ユーザは、HMDが撮像した画像中にマーカが含まれるようにオフィス環境内にマーカを貼り付ける必要がある。また、HMDによるAR表示のために撮像した画像から得られる自然特徴点が使用される場合、ユーザは、デジタルコンテンツを表示できるだけの十分な量の自然特徴点が画像中から抽出できるような場所を判断する必要がある。
本発明は、上記課題を鑑みてなされたものであり、ユーザが妥当な量の自然特徴点を得ることができる場所を判断しなければならない手間を軽減することを目的とする。
そこで、本発明のサーバ装置は、第1の携帯端末装置により撮像された第1の画像と、第2の携帯端末装置により撮像された第2の画像とを受信する受信手段と、前記受信手段により受信された第1の画像と、第2の画像との夫々の画像から複数の特徴点を抽出する抽出手段と、前記抽出手段により第1の画像から抽出された複数の特徴点と、第2の画像から抽出された複数の特徴点とのうち、同一の特徴点を示す特徴点のペアである特徴点ペアとして対応付けられる特徴点があるか否かを判断する判断手段と、前記判断手段により対応付けられる特徴点がないと判断された場合、特徴点ペアとして対応付けられる特徴点を抽出可能な画像を撮像することができる撮像条件情報を含む誘導要求を前記第1の携帯端末装置と、前記第2の携帯端末装置とに送信する送信手段と、を有する。
本発明によれば、ユーザが妥当な量の自然特徴点を得ることができる場所を判断しなければいけない手間を軽減することができる。
以下、本発明の実施形態について図面に基づき説明する。
<実施形態1>
図1は、本実施形態のシステムのシステム構成の一例を示す図である。
本システムは、オフィス内で使用するシステムであるものとする。また、オフィス環境の一例として、ユーザがHMD130aからHMD130eまで(以後、HMD130aからHMD130eまでを総称する場合、HMD130という)を装着し、フロア141からフロア143までを自由に移動するような環境を想定する。なお、HMD130は、携帯端末装置の一例である。
本システムは、サーバ装置120と、HMD130と、ネットワークカメラ140とを含む。サーバ装置120、HMD130及びネットワークカメラ140は、LAN101や無線LANアクセスポイント102によって相互に接続され通信可能であり、互いにデータを送受信することができる。
図1は、本実施形態のシステムのシステム構成の一例を示す図である。
本システムは、オフィス内で使用するシステムであるものとする。また、オフィス環境の一例として、ユーザがHMD130aからHMD130eまで(以後、HMD130aからHMD130eまでを総称する場合、HMD130という)を装着し、フロア141からフロア143までを自由に移動するような環境を想定する。なお、HMD130は、携帯端末装置の一例である。
本システムは、サーバ装置120と、HMD130と、ネットワークカメラ140とを含む。サーバ装置120、HMD130及びネットワークカメラ140は、LAN101や無線LANアクセスポイント102によって相互に接続され通信可能であり、互いにデータを送受信することができる。
ネットワークカメラ140は、HMD130の座標を計算し、サーバ装置120に送信し続ける。
HMD130は、オフィス内の自然特徴点の抽出、AR表示及び画像を撮像する際の位置情報や向き情報を含む誘導情報の表示等を行う。
サーバ装置120は、HMD130と、ネットワークカメラ140とから受信するデータを管理する。また、サーバ装置120は、複数のHMD130間でAR表示を共有する(以後、単にAR共有という)ために使用する特徴点のペアである自然特徴点のペア(以後、単に自然特徴点ペアという)の決定を行う。更に、サーバ装置120は、HMD130を装着するユーザをAR共有することができる位置(向きを含む)に誘導するための誘導依頼通知(誘導要求)をHMD130に送信する。サーバ装置120は、これらを連携することにより、オフィス内の同位置でのAR共有を実現する。
HMD130は、オフィス内の自然特徴点の抽出、AR表示及び画像を撮像する際の位置情報や向き情報を含む誘導情報の表示等を行う。
サーバ装置120は、HMD130と、ネットワークカメラ140とから受信するデータを管理する。また、サーバ装置120は、複数のHMD130間でAR表示を共有する(以後、単にAR共有という)ために使用する特徴点のペアである自然特徴点のペア(以後、単に自然特徴点ペアという)の決定を行う。更に、サーバ装置120は、HMD130を装着するユーザをAR共有することができる位置(向きを含む)に誘導するための誘導依頼通知(誘導要求)をHMD130に送信する。サーバ装置120は、これらを連携することにより、オフィス内の同位置でのAR共有を実現する。
図2は、サーバ装置120、HMD130及びネットワークカメラ140のモジュール構成の一例を示す図である。
まず、サーバ装置120のモジュール構成について説明する。
サーバ装置120内の各モジュールは、システムバス300で相互に接続されている。
メモリ302は、サーバ装置120の制御プログラムを格納している。
CPU301は、メモリ302に格納されているプログラムを実行することにより、サーバ装置120の機能(ソフトウェア構成)及びフローチャートに係るサーバ装置120の処理を実現する。なお、CPU301が実行するフローチャートの処理は、情報処理の一例である。
まず、サーバ装置120のモジュール構成について説明する。
サーバ装置120内の各モジュールは、システムバス300で相互に接続されている。
メモリ302は、サーバ装置120の制御プログラムを格納している。
CPU301は、メモリ302に格納されているプログラムを実行することにより、サーバ装置120の機能(ソフトウェア構成)及びフローチャートに係るサーバ装置120の処理を実現する。なお、CPU301が実行するフローチャートの処理は、情報処理の一例である。
HDD303は、図3に示される管理テーブルを保持している。ここで、図3は、HMD130の座標管理テーブル(図3(a))と、自然特徴点の管理テーブル(図3(b))との一例を示す図である。図3の詳細については、後述する。なお、自然特徴点の管理テーブルの情報は、管理情報の一例である。
テーブル処理部304は、HDD303に格納されている管理テーブルのデータを読み出す。また、テーブル処理部304は、HDD303に格納されている管理テーブルにデータを書き出す。なお、管理テーブルには、図3(a)に示されるHMD130の座標管理テーブルや、図3(b)に示される自然特徴点の管理テーブルや、デジタルコンテンツ等の管理テーブルがある。
通信処理部305は、ネットワークインターフェース306を介してLAN101に接続し、HMD130や、ネットワークカメラ140とデータの送受信を行う。なお、サーバ装置120と、HMD130と、ネットワークカメラ140との通信プロトコルには、HTTP(Hyper Text Transfer Protocol)が用いられる。また、サーバ装置120と、HMD130と、ネットワークカメラ140とのデータフォーマットには、JSON(JavaScript(登録商標) Object Notation)等が用いられる。
テーブル処理部304は、HDD303に格納されている管理テーブルのデータを読み出す。また、テーブル処理部304は、HDD303に格納されている管理テーブルにデータを書き出す。なお、管理テーブルには、図3(a)に示されるHMD130の座標管理テーブルや、図3(b)に示される自然特徴点の管理テーブルや、デジタルコンテンツ等の管理テーブルがある。
通信処理部305は、ネットワークインターフェース306を介してLAN101に接続し、HMD130や、ネットワークカメラ140とデータの送受信を行う。なお、サーバ装置120と、HMD130と、ネットワークカメラ140との通信プロトコルには、HTTP(Hyper Text Transfer Protocol)が用いられる。また、サーバ装置120と、HMD130と、ネットワークカメラ140とのデータフォーマットには、JSON(JavaScript(登録商標) Object Notation)等が用いられる。
通信処理部305は、HMD130やネットワークカメラ140から受信したデータを解析し、管理テーブルやメモリ302への書き出しを行う。また、通信処理部305は、管理テーブルやメモリからデータを読み出し、送信データを作成し、HMD130へ送信する。
自然特徴点管理部307は、AR共有に必要な自然特徴点ペアの決定や、管理テーブルを検索しAR共有することができる誘導先の決定等を行う。より具体的には、自然特徴点管理部307は、サーバ装置120がHMD130から受信した画像に対して画像処理を行い、その処理画像から自然特徴点と呼ばれる画像中の角や線の交わる特徴点を抽出する。更に、自然特徴点管理部307は、複数のHMD130で撮像された画像内における画素で対応付けられるものを計算し、対応付けた点を自然特徴点ペアとして決定する。なお、自然特徴点管理部307は、複数画像において全ての画素を対応付けると計算コストが非常にかかるため、対応の取りやすい点として自然特徴点を使用する。
なお、テーブル処理部304、通信処理部305及び自然特徴点管理部307は、ハードウェアで構成されていてもよいし、ソフトウェアで構成されていてもよい。
自然特徴点管理部307は、AR共有に必要な自然特徴点ペアの決定や、管理テーブルを検索しAR共有することができる誘導先の決定等を行う。より具体的には、自然特徴点管理部307は、サーバ装置120がHMD130から受信した画像に対して画像処理を行い、その処理画像から自然特徴点と呼ばれる画像中の角や線の交わる特徴点を抽出する。更に、自然特徴点管理部307は、複数のHMD130で撮像された画像内における画素で対応付けられるものを計算し、対応付けた点を自然特徴点ペアとして決定する。なお、自然特徴点管理部307は、複数画像において全ての画素を対応付けると計算コストが非常にかかるため、対応の取りやすい点として自然特徴点を使用する。
なお、テーブル処理部304、通信処理部305及び自然特徴点管理部307は、ハードウェアで構成されていてもよいし、ソフトウェアで構成されていてもよい。
次に、HMD130の構成について説明する。なお、HMD130aからHMD130eまでの構成は、全て同様であるものとする。
HMD130内の各モジュールは、システムバス320で相互に接続されている。
メモリ322は、HMD130の制御プログラムを格納している。
CPU321は、メモリ322に格納されているプログラムを実行することにより、HMD130の機能及びフローチャートに係るHMD130の処理を実現する。
HMD130内の各モジュールは、システムバス320で相互に接続されている。
メモリ322は、HMD130の制御プログラムを格納している。
CPU321は、メモリ322に格納されているプログラムを実行することにより、HMD130の機能及びフローチャートに係るHMD130の処理を実現する。
加速度センサ325は、HMD130の3軸の回転方向(Yaw、Roll、Pitch)の値を計測する。CPU321は、加速度センサが計測した値をメモリ322に書き出す。
自然特徴点処理部327は、RGBカメラ328で取得された画像をメモリ322へ保存し、その撮像画像に対して画像処理をして自然特徴点を抽出し、メモリ322に書き出す。
通信処理部324は、ネットワークインターフェース323を介してLAN101に接続し、サーバ装置120とデータの送受信を行う。また、通信処理部324は、メモリ322に保存されたデータを読み出して送信データを作成し、サーバ装置へ送信したり、サーバ装置120から受信したデータをメモリ322へ書き出したりする。
ARデータ処理部329は、サーバ装置120から受信したデジタルコンテンツのARデータへの変換や、デジタルコンテンツを表示する位置候補の作成を行う。
透過型ディスプレイ326は、ARデータ処理部329で作成されたデータをAR表示したり、誘導情報を表示したりする。なお、透過型ディスプレイ326は、表示装置の一例である。
赤外カメラ330は、HMD130の装着者であるユーザの手や指のジェスチャーを認識することで、透過型ディスプレイ326上のコンテンツに対する操作指示を受け付ける。
なお、通信処理部324、自然特徴点処理部327及びARデータ処理部329は、ハードウェアで構成されていてもよいし、ソフトウェアで構成されていてもよい。
自然特徴点処理部327は、RGBカメラ328で取得された画像をメモリ322へ保存し、その撮像画像に対して画像処理をして自然特徴点を抽出し、メモリ322に書き出す。
通信処理部324は、ネットワークインターフェース323を介してLAN101に接続し、サーバ装置120とデータの送受信を行う。また、通信処理部324は、メモリ322に保存されたデータを読み出して送信データを作成し、サーバ装置へ送信したり、サーバ装置120から受信したデータをメモリ322へ書き出したりする。
ARデータ処理部329は、サーバ装置120から受信したデジタルコンテンツのARデータへの変換や、デジタルコンテンツを表示する位置候補の作成を行う。
透過型ディスプレイ326は、ARデータ処理部329で作成されたデータをAR表示したり、誘導情報を表示したりする。なお、透過型ディスプレイ326は、表示装置の一例である。
赤外カメラ330は、HMD130の装着者であるユーザの手や指のジェスチャーを認識することで、透過型ディスプレイ326上のコンテンツに対する操作指示を受け付ける。
なお、通信処理部324、自然特徴点処理部327及びARデータ処理部329は、ハードウェアで構成されていてもよいし、ソフトウェアで構成されていてもよい。
最後に、ネットワークカメラ140の構成について説明する。
ネットワークカメラ140内の各モジュールは、システムバス340で相互に接続されている。
メモリ342は、ネットワークカメラ140の制御プログラムを格納している。
CPU341は、メモリ342に格納されているプログラムを実行することにより、ネットワークカメラ140の機能及びフローチャートに係るネットワークカメラ140の処理を実現する。
座標計算部343は、カメラ344から取得した画像を解析して人物の動線解析を行い、算出した各HMD130の座標値をメモリ342に書き出す。座標計算部343は、動線解析により、オフィス内において人物が存在する座標を算出する。また、座標計算部343は、オフィス内の座席等の障害物等に対する配置に関する配置情報も算出する。なお、座標計算部343による解析結果に関する人物の動線情報や、物の配置情報等は、環境情報の一例である。
通信処理部346は、メモリ342から各HMD130の座標値を読み出し、ネットワークインターフェース345を介し、図4(a)に示されるようなデータ形式でサーバ装置120に一定時間間隔で送信する。なお、図4(a)は、HMD130の座標管理に関する送受信データのデータ構成の一例を示す図である。図4の詳細な説明については、後述する。
なお、通信処理部346は、ハードウェアで構成されていてもよいし、ソフトウェアで構成されていてもよい。
ネットワークカメラ140内の各モジュールは、システムバス340で相互に接続されている。
メモリ342は、ネットワークカメラ140の制御プログラムを格納している。
CPU341は、メモリ342に格納されているプログラムを実行することにより、ネットワークカメラ140の機能及びフローチャートに係るネットワークカメラ140の処理を実現する。
座標計算部343は、カメラ344から取得した画像を解析して人物の動線解析を行い、算出した各HMD130の座標値をメモリ342に書き出す。座標計算部343は、動線解析により、オフィス内において人物が存在する座標を算出する。また、座標計算部343は、オフィス内の座席等の障害物等に対する配置に関する配置情報も算出する。なお、座標計算部343による解析結果に関する人物の動線情報や、物の配置情報等は、環境情報の一例である。
通信処理部346は、メモリ342から各HMD130の座標値を読み出し、ネットワークインターフェース345を介し、図4(a)に示されるようなデータ形式でサーバ装置120に一定時間間隔で送信する。なお、図4(a)は、HMD130の座標管理に関する送受信データのデータ構成の一例を示す図である。図4の詳細な説明については、後述する。
なお、通信処理部346は、ハードウェアで構成されていてもよいし、ソフトウェアで構成されていてもよい。
図5は、本システム全体における処理の一例を示すフローチャートである。
サーバ装置120は、AR共有及び誘導処理を行うために、HMD130の座標更新処理と、自然特徴点の蓄積処理とを行う(S301)。より具体的には、サーバ装置120は、ネットワークカメラ140と、HMD130とから、オフィス内の自然特徴点の位置と、オフィス内のHMD130の座標とのデータを収集し、管理テーブルに蓄積する。ここで、サーバ装置120は、管理テーブルとして、上述したHMD130の座標管理テーブル(図3(a))と、自然特徴点の管理テーブル(図3(b))とを用いる。なお、S301の処理の詳細については、図10を用いて後述する。
HMD130は、AR共有に関するモードとして、"AR共有許可"と、"AR共有拒否"とをユーザの操作により随時切り替えることができる(S302)。ユーザは、HMD130のモードが"AR共有許可"である場合、AR共有による打ち合わせ等を行うことができる。逆に、ユーザは、HMD130のモードが"AR共有拒否"である場合、AR共有をせずに、1人で作業等を行うことができる。なお、この場合、サーバ装置120は、S301の処理のみを実行し続ける。
HMD130は、ユーザによりHMD130のモードが変更された場合、モード変更された旨を、図6(a)、(b)に示されるようなデータ形式でサーバ装置120に送信する。なお、図6は、HMD130のモード変更通知のデータ構成の一例を示す図である。図6の詳細な説明については、後述する。これにより、サーバ装置120は、各々のHMD130のモードを、HMD130の座標と合わせて常に把握することができる。
サーバ装置120は、AR共有及び誘導処理を行うために、HMD130の座標更新処理と、自然特徴点の蓄積処理とを行う(S301)。より具体的には、サーバ装置120は、ネットワークカメラ140と、HMD130とから、オフィス内の自然特徴点の位置と、オフィス内のHMD130の座標とのデータを収集し、管理テーブルに蓄積する。ここで、サーバ装置120は、管理テーブルとして、上述したHMD130の座標管理テーブル(図3(a))と、自然特徴点の管理テーブル(図3(b))とを用いる。なお、S301の処理の詳細については、図10を用いて後述する。
HMD130は、AR共有に関するモードとして、"AR共有許可"と、"AR共有拒否"とをユーザの操作により随時切り替えることができる(S302)。ユーザは、HMD130のモードが"AR共有許可"である場合、AR共有による打ち合わせ等を行うことができる。逆に、ユーザは、HMD130のモードが"AR共有拒否"である場合、AR共有をせずに、1人で作業等を行うことができる。なお、この場合、サーバ装置120は、S301の処理のみを実行し続ける。
HMD130は、ユーザによりHMD130のモードが変更された場合、モード変更された旨を、図6(a)、(b)に示されるようなデータ形式でサーバ装置120に送信する。なお、図6は、HMD130のモード変更通知のデータ構成の一例を示す図である。図6の詳細な説明については、後述する。これにより、サーバ装置120は、各々のHMD130のモードを、HMD130の座標と合わせて常に把握することができる。
サーバ装置120は、HMD130の座標管理テーブルを参照し、予め定められた距離以内にある"AR共有許可"となっている複数のHMD130を検知する(S303)。
サーバ装置120は、S303で"AR共有許可"となっている複数のHMD130を検知した場合、HMD130間に関連するデジタルコンテンツ(共有情報)があるか検索する(S304)。
サーバ装置120は、S304で関連するデジタルコンテンツを検索できた場合、HMD130にAR共有の準備開始通知を図4(c)に示されるようなデータ形式で送信する。なお、図4(c)は、AR共有の準備開始通知に関する送受信データのデータ構成の一例を示す図である。
そして、HMD130は、AR共有の準備開始通知を受信する(S305)。このサーバ装置120からHMD130への返信(準備開始通知)は、S301で繰り返し実行されたHMD130からサーバ装置120への送信に対応する返信である。
サーバ装置120は、S303で"AR共有許可"となっている複数のHMD130を検知した場合、HMD130間に関連するデジタルコンテンツ(共有情報)があるか検索する(S304)。
サーバ装置120は、S304で関連するデジタルコンテンツを検索できた場合、HMD130にAR共有の準備開始通知を図4(c)に示されるようなデータ形式で送信する。なお、図4(c)は、AR共有の準備開始通知に関する送受信データのデータ構成の一例を示す図である。
そして、HMD130は、AR共有の準備開始通知を受信する(S305)。このサーバ装置120からHMD130への返信(準備開始通知)は、S301で繰り返し実行されたHMD130からサーバ装置120への送信に対応する返信である。
HMD130は、AR共有の準備開始通知を受信した場合、透過型ディスプレイ326に、図7に示されるようなAR共有の準備開始を受け付けるアイコン1401の表示を行う。なお、図7は、AR共有の準備状態の表示に関する画面構成の一例を示す図である。図7の詳細な説明については、後述する。更に、HMD130は、赤外カメラ330を介してユーザからAR共有の準備開始指示を受け付けた場合、"AR共有の準備状態"に遷移した旨を図8(a)に示されるようなデータ形式でサーバ装置120に通知する(S306)。なお、図8は、AR共有の状態遷移通知のデータ構成の一例を示す図である。図8の詳細な説明については、後述する。
HMD130は、モードが"AR共有許可"である場合に、AR共有するための状態遷移を行う。ここでいう状態とは、"AR共有の準備状態"、"AR共有の誘導状態"又は"AR共有の実行状態"のことである。より具体的にいうと、各々の状態は、HMD130がAR共有の準備処理(S307)、AR共有の誘導処理(S309)又はAR共有の実行処理(S308)を実行する際のHMD130の状態のことである。
HMD130は、これらの状態遷移が発生した場合、状態遷移が発生した旨(HMD130の状態遷移通知)を図8に示されるようなデータ形式でサーバ装置120に送信する。ここで、図8(a)は、AR共有の準備状態であることを示すデータである。図8(b)は、AR共有の実行状態であることを示すデータである。図8(c)は、AR共有の誘導状態であることを示すデータである。図8(d)は、AR共有の終了状態であることを示すデータである。
これより、サーバ装置120は、AR共有に関わる処理を実行中のHMD130の状態を把握する。その際に、サーバ装置120は、上述した状態を図9に示されるようなデータを用いて把握する。なお、図9は、AR共有の状態管理に用いられるデータ構成の一例を示す図である。図9の詳細な説明については、後述する。
なお、サーバ装置120は、上記の処理(S303、S304、S305)の条件が満たされない場合、S301の処理を定常的に繰り返す。
HMD130は、これらの状態遷移が発生した場合、状態遷移が発生した旨(HMD130の状態遷移通知)を図8に示されるようなデータ形式でサーバ装置120に送信する。ここで、図8(a)は、AR共有の準備状態であることを示すデータである。図8(b)は、AR共有の実行状態であることを示すデータである。図8(c)は、AR共有の誘導状態であることを示すデータである。図8(d)は、AR共有の終了状態であることを示すデータである。
これより、サーバ装置120は、AR共有に関わる処理を実行中のHMD130の状態を把握する。その際に、サーバ装置120は、上述した状態を図9に示されるようなデータを用いて把握する。なお、図9は、AR共有の状態管理に用いられるデータ構成の一例を示す図である。図9の詳細な説明については、後述する。
なお、サーバ装置120は、上記の処理(S303、S304、S305)の条件が満たされない場合、S301の処理を定常的に繰り返す。
サーバ装置120と、HMD130とは、HMD130がAR共有の準備状態モードへ移行後、AR共有の準備処理を実行する(S307)。より具体的には、HMD130は、撮像した画像をサーバ装置120に送信する。そして、サーバ装置120は、複数のHMD130間で使用する自然特徴点ペアを決定できるか否かを判断して、その旨をHMD130に送信する。S307の処理の詳細については、図11を用いて後述する。
サーバ装置120は、S307の処理により、自然特徴点ペアを決定できたか判断する(S308)。S308の処理の詳細については、図11等を用いて後述する。
サーバ装置120は、S308で自然特徴点ペアを決定できた場合、HMD130に自然特徴点ペアに関する自然特徴点ペア情報を送信する(特徴点ペア情報送信処理)。そして、HMD130は、"AR共有の実行状態"へ移行し、AR共有の実行処理を行う(S310)。より具体的には、HMD130は、打ち合わせ等においてAR共有を実行する。即ち、HMD130は、サーバ装置120が自然特徴点ペアを決定できた場合、受信した自然特徴点ペアの情報に基づいて、AR共有を実行することができる。S310の処理の詳細については、図13を用いて後述する。
サーバ装置120は、S307の処理により、自然特徴点ペアを決定できたか判断する(S308)。S308の処理の詳細については、図11等を用いて後述する。
サーバ装置120は、S308で自然特徴点ペアを決定できた場合、HMD130に自然特徴点ペアに関する自然特徴点ペア情報を送信する(特徴点ペア情報送信処理)。そして、HMD130は、"AR共有の実行状態"へ移行し、AR共有の実行処理を行う(S310)。より具体的には、HMD130は、打ち合わせ等においてAR共有を実行する。即ち、HMD130は、サーバ装置120が自然特徴点ペアを決定できた場合、受信した自然特徴点ペアの情報に基づいて、AR共有を実行することができる。S310の処理の詳細については、図13を用いて後述する。
サーバ装置120は、S308で自然特徴点ペアを決定できなかったと判断された場合、HMD130に誘導依頼通知を送信する。そして、サーバ装置120と、HMD130とは、AR共有の誘導処理を実行する(S309)。より具体的には、HMD130は、"AR共有の誘導状態"へ移行する。そして、サーバ装置120は、S301で蓄積した自然特徴点を参照し、HMD130を適切な場所へ誘導する誘導処理を行う。即ち、サーバ装置120は、自然特徴点ペアを決定することができる自然特徴点を抽出可能な画像を撮像できる妥当な場所へ、HMD130を誘導する。S309の処理の詳細については、図15を用いて後述する。
以上の処理により、サーバ装置120は、予め定められた距離以内に存在する複数のHMD130に対して、AR共有を実行させることができる。より具体的には、サーバ装置120は、決定した自然特徴点ペアに関する情報をHMD130に送信する。そして、HMD130は、受信した自然特徴点ペアに関する情報に基づいてAR共有処理を実行する。また、サーバ装置120は、自然特徴点ペアを決定することができない場合は、後述する誘導処理(S309)を実行する。これにより、HMD130は、AR共有処理を実行することができるようになる。
以上の処理により、サーバ装置120は、予め定められた距離以内に存在する複数のHMD130に対して、AR共有を実行させることができる。より具体的には、サーバ装置120は、決定した自然特徴点ペアに関する情報をHMD130に送信する。そして、HMD130は、受信した自然特徴点ペアに関する情報に基づいてAR共有処理を実行する。また、サーバ装置120は、自然特徴点ペアを決定することができない場合は、後述する誘導処理(S309)を実行する。これにより、HMD130は、AR共有処理を実行することができるようになる。
図10は、S301におけるHMD130の座標更新処理と、自然特徴点の蓄積処理との一例を示すフローチャートである。より具体的には、図10の処理は、サーバ装置120が、AR共有を行うために、オフィス内のHMD130の座標を管理及び更新する処理と、オフィス内の自然特徴点の場所の情報を蓄積する処理とを示している。サーバ装置120は、AR共有を行うために、これらの2つの処理を併せて実行する。
まず、HMD130の座標更新処理について説明する。
ネットワークカメラ140は、座標計算部343にてカメラ344の撮像画像を解析してHMD130の座標を計算し、通信処理部346にて図4(a)に示されるようなデータ形式でサーバ装置120へ送信する(S401)。ここでは、この送信データをネットワークカメラ140の定常データとする。この際、ネットワークカメラ140は、HMD識別子(hmd_id)、フロア識別子(floor_id)、HMDの座標値(coordinate)及び時刻(timestemp)の値を設定したデータを送信する。
まず、HMD130の座標更新処理について説明する。
ネットワークカメラ140は、座標計算部343にてカメラ344の撮像画像を解析してHMD130の座標を計算し、通信処理部346にて図4(a)に示されるようなデータ形式でサーバ装置120へ送信する(S401)。ここでは、この送信データをネットワークカメラ140の定常データとする。この際、ネットワークカメラ140は、HMD識別子(hmd_id)、フロア識別子(floor_id)、HMDの座標値(coordinate)及び時刻(timestemp)の値を設定したデータを送信する。
サーバ装置120は、通信処理部305にてネットワークカメラ140から受信した上記データを解析する。そして、サーバ装置120は、解析したデータをテーブル処理部304にてHMD130の座標管理テーブル(図3(a))と、自然特徴点の管理テーブル(図3(b))とに書き出す(S402)。
サーバ装置120は、HMD130の座標管理テーブル(図3(a))に、受信データに対応する情報を書き出す。より具体的には、サーバ装置120は、HMD識別子(hmd_id)、フロア識別子(floor_id)、HMDの座標値(coordinate)及び時刻(timestemp)の値を書き出す。
一方、サーバ装置120は、受信データに含まれるフロア識別子(floor_id)と一致するフロア識別子を含む自然特徴点の管理テーブル(図3(b))に、以下の値を書き出す。より具体的には、サーバ装置120は、HMD識別子(hmd_id)、HMDの座標値(coordinate)及び時刻(timestemp)の値を書き出す。サーバ装置120は、自然特徴点の管理テーブルの同じ行に対しては、後述のHMD130の定常データからの値をマージする。
サーバ装置120は、HMD130の座標管理テーブル(図3(a))に、受信データに対応する情報を書き出す。より具体的には、サーバ装置120は、HMD識別子(hmd_id)、フロア識別子(floor_id)、HMDの座標値(coordinate)及び時刻(timestemp)の値を書き出す。
一方、サーバ装置120は、受信データに含まれるフロア識別子(floor_id)と一致するフロア識別子を含む自然特徴点の管理テーブル(図3(b))に、以下の値を書き出す。より具体的には、サーバ装置120は、HMD識別子(hmd_id)、HMDの座標値(coordinate)及び時刻(timestemp)の値を書き出す。サーバ装置120は、自然特徴点の管理テーブルの同じ行に対しては、後述のHMD130の定常データからの値をマージする。
次に、自然特徴点の蓄積処理について説明する。
HMD130は、自然特徴点処理部327にてRGBカメラ328の撮像画像を画像処理し自然特徴点を抽出する(S403)。ここで、ユーザは、自然特徴点を使用したAR表示を安定して実行することができる自然特徴点の数を、抽出した自然特徴点の数(以後、単に自然特徴点数という)の閾値として予め設定する。
HMD130は、抽出した自然特徴点数が予め定められた閾値以上であるか否かを判断する(S404)。
HMD130は、抽出した自然特徴点数が閾値より少ない場合、自然特徴点数のデータに無効値を設定してサーバ装置120に送信する(S405)。
HMD130は、抽出した自然特徴点数が閾値以上の場合、通信処理部324にて自然特徴点数のデータと、加速度センサ325により計測されたHMD130の回転方向の値のデータとをサーバ装置120に送信する(S406)。この際、HMD130は、図4(b)に示されるデータ形式で上述のデータをサーバ装置120に送信する。ここでは、この送信データをHMD130の定常データとする。なお、HMD130は、データとして、HMD識別子(hmd_id)、回転方向(rotation)、自然特徴点数(num_of_feature_point)及び時刻(timestamp)の値を設定したデータを送信する。
サーバ装置120は、S406でHMD130が送信したデータを受信する(S407)。
HMD130は、自然特徴点処理部327にてRGBカメラ328の撮像画像を画像処理し自然特徴点を抽出する(S403)。ここで、ユーザは、自然特徴点を使用したAR表示を安定して実行することができる自然特徴点の数を、抽出した自然特徴点の数(以後、単に自然特徴点数という)の閾値として予め設定する。
HMD130は、抽出した自然特徴点数が予め定められた閾値以上であるか否かを判断する(S404)。
HMD130は、抽出した自然特徴点数が閾値より少ない場合、自然特徴点数のデータに無効値を設定してサーバ装置120に送信する(S405)。
HMD130は、抽出した自然特徴点数が閾値以上の場合、通信処理部324にて自然特徴点数のデータと、加速度センサ325により計測されたHMD130の回転方向の値のデータとをサーバ装置120に送信する(S406)。この際、HMD130は、図4(b)に示されるデータ形式で上述のデータをサーバ装置120に送信する。ここでは、この送信データをHMD130の定常データとする。なお、HMD130は、データとして、HMD識別子(hmd_id)、回転方向(rotation)、自然特徴点数(num_of_feature_point)及び時刻(timestamp)の値を設定したデータを送信する。
サーバ装置120は、S406でHMD130が送信したデータを受信する(S407)。
ここで、サーバ装置120が自然特徴点の管理テーブル(図3(b))に追加で書き出す項目について説明する。
サーバ装置120は、受信データに含まれるHMD識別子(hmd_id)と同じ値のHMD識別子(hmd_id)を自然特徴点の管理テーブル(図3(b))から検索する。そして、サーバ装置120は、時刻(timestamp)が最近の行における、回転方向(rotation)及び自然特徴点数(num_of_feature_point)の項目に対してデータを書き出す。即ち、サーバ装置120は、回転方向のデータと、自然特徴点数のデータとを座標と紐付けて自然特徴点の管理テーブルに保存する(S408)。
これより、サーバ装置120は、自然特徴点の管理テーブルを参照することで、オフィスフロア内のHMD130の座標と、回転方向とに対する抽出実績のある自然特徴点数のデータを蓄積することができる。更に、サーバ装置120は、それらを後述するAR共有の誘導処理に使用することができる。
サーバ装置120は、受信データに含まれるHMD識別子(hmd_id)と同じ値のHMD識別子(hmd_id)を自然特徴点の管理テーブル(図3(b))から検索する。そして、サーバ装置120は、時刻(timestamp)が最近の行における、回転方向(rotation)及び自然特徴点数(num_of_feature_point)の項目に対してデータを書き出す。即ち、サーバ装置120は、回転方向のデータと、自然特徴点数のデータとを座標と紐付けて自然特徴点の管理テーブルに保存する(S408)。
これより、サーバ装置120は、自然特徴点の管理テーブルを参照することで、オフィスフロア内のHMD130の座標と、回転方向とに対する抽出実績のある自然特徴点数のデータを蓄積することができる。更に、サーバ装置120は、それらを後述するAR共有の誘導処理に使用することができる。
図11は、AR共有の準備処理の一例を示すフローチャートである。
図11の処理は、サーバ装置120が、AR共有を行うために必要な自然特徴点ペアを決定できるか否かを判断する処理である。サーバ装置120は、決定できた場合、自然特徴点ペアに関するデータをHMD130に送信し、決定できなかった場合、AR共有の誘導処理を実行する。
HMD130は、AR表示の準備指示を受け付けた場合、AR表示の準備状態へ移行し、図8(a)に示される状態遷移通知をサーバ装置120に送信する(S501)。
HMD130は、サーバ装置120からの返信を受信する。そして、HMD130は、受信した返信から撮像画像のアップロード用のパスを取得する。更に、HMD130は、図12(b)に示される自然特徴点ペア決定依頼のデータ(以後、単に自然特徴点ペア決定依頼という)と併せて、その時点での撮像画像をサーバ装置120に送信する(S502)。なお、図12(b)は、自然特徴点ペア決定依頼のデータ構成の一例を示す図である。図12の詳細な説明については、後述する。
図11の処理は、サーバ装置120が、AR共有を行うために必要な自然特徴点ペアを決定できるか否かを判断する処理である。サーバ装置120は、決定できた場合、自然特徴点ペアに関するデータをHMD130に送信し、決定できなかった場合、AR共有の誘導処理を実行する。
HMD130は、AR表示の準備指示を受け付けた場合、AR表示の準備状態へ移行し、図8(a)に示される状態遷移通知をサーバ装置120に送信する(S501)。
HMD130は、サーバ装置120からの返信を受信する。そして、HMD130は、受信した返信から撮像画像のアップロード用のパスを取得する。更に、HMD130は、図12(b)に示される自然特徴点ペア決定依頼のデータ(以後、単に自然特徴点ペア決定依頼という)と併せて、その時点での撮像画像をサーバ装置120に送信する(S502)。なお、図12(b)は、自然特徴点ペア決定依頼のデータ構成の一例を示す図である。図12の詳細な説明については、後述する。
サーバ装置120は、自然特徴点ペア決定依頼を受信すると、自然特徴点管理部307にて、受信した撮影画像間でペアを対応付けられる自然特徴点があるか否かを判断する(S503)。より具体的には、サーバ装置120は、複数のHMD130から受信した撮影画像に対して、画像処理を行い、画像中の角や線の交わりがある画素を自然特徴点として抽出する。そして、サーバ装置120は、複数のHMD130の座標と、回転方向とを合わせて計算し、複数画像間で対応付けられる自然特徴点(画素)があるか否かを判断する。即ち、サーバ装置120は、前記計算した座標と、回転方向との値により、複数のHMD130が撮像した複数の画像間に同一の自然特徴点があるか否かを判定する。S503の処理のより詳細な説明については、図9の詳細な説明と共に後述する。
サーバ装置120は、S503で自然特徴点のペアの対応付けができた場合、それらを自然特徴点ペアとして図12(c)に示されるようなデータ形式でHMD130に送信する(S508)。なお、図12(c)は、自然特徴点ペアの決定通知に関する送受信データのデータ構成の一例を示す図である。
サーバ装置120は、S503で自然特徴点のペアの対応付けができなかった場合、自然特徴点の管理テーブルを走査し、少なくとも一方のHMD130の回転方向の変更で、閾値以上の自然特徴点数を得られる回転方向があるかを検索する(S504)。自然特徴点の管理テーブルの走査方法については、図3(b)の詳細な説明と共に後述する。
サーバ装置120は、S503で自然特徴点のペアの対応付けができた場合、それらを自然特徴点ペアとして図12(c)に示されるようなデータ形式でHMD130に送信する(S508)。なお、図12(c)は、自然特徴点ペアの決定通知に関する送受信データのデータ構成の一例を示す図である。
サーバ装置120は、S503で自然特徴点のペアの対応付けができなかった場合、自然特徴点の管理テーブルを走査し、少なくとも一方のHMD130の回転方向の変更で、閾値以上の自然特徴点数を得られる回転方向があるかを検索する(S504)。自然特徴点の管理テーブルの走査方法については、図3(b)の詳細な説明と共に後述する。
サーバ装置120は、S504で検索できた場合、誘導依頼通知として検索結果の回転方向のデータを図12(d)に示されるようなデータ形式でHMD130に送信する(S507)。なお、図12(d)は、誘導情報(回転方向)の通知に関する送受信データのデータ構成の一例を示す図である。
サーバ装置120は、S504で検索できなかった場合、自然特徴点の管理テーブルを走査し、HMD130の現在座標から一番近い座標で、予め定められた閾値以上の自然特徴点数を得ることができる座標と、回転方向とを検索する(S505)。なお、その際、サーバ装置120は、ネットワークカメラ140から受信した上述の動線情報や、障害物の配置情報等を含む環境情報に基づいて、障害物の多い位置を避けて前記検索を実行するようにしてもよい。これにより、サーバ装置120は、オフィス内の座席や、人通りの多い通路等を避けて安定してAR共有することができる位置にHMD130を装着するユーザを誘導することができる。なお、サーバ装置120がネットワークカメラ140から環境情報を受信する処理は、環境情報受信処理の一例である。自然特徴点の管理テーブルの走査方法については、図3(b)の詳細な説明と共に後述する。
サーバ装置120は、S505の処理を完了した後に、誘導依頼通知として検索結果の座標と、回転方向の値とのデータを図12(e)に示されるデータ形式でHMD130に送信する(S506)。なお、図12(e)は、誘導情報(座標)の通知に関する送受信データのデータ構成の一例を示す図である。
以上の処理により、サーバ装置120は、自然特徴点ペアを決定できない場合であっても、HMD130を、自然特徴点ペアを決定することができる画像を撮像可能な位置(向きを含む)に誘導することができる。即ち、HMD130は、サーバ装置120から受信した誘導依頼通知に基づいてHMD130を装着するユーザをAR共有することができる位置に移動させる。これにより、HMD130のユーザは、自身でAR共有することができる位置を判断する必要がなくなる。
サーバ装置120は、S504で検索できなかった場合、自然特徴点の管理テーブルを走査し、HMD130の現在座標から一番近い座標で、予め定められた閾値以上の自然特徴点数を得ることができる座標と、回転方向とを検索する(S505)。なお、その際、サーバ装置120は、ネットワークカメラ140から受信した上述の動線情報や、障害物の配置情報等を含む環境情報に基づいて、障害物の多い位置を避けて前記検索を実行するようにしてもよい。これにより、サーバ装置120は、オフィス内の座席や、人通りの多い通路等を避けて安定してAR共有することができる位置にHMD130を装着するユーザを誘導することができる。なお、サーバ装置120がネットワークカメラ140から環境情報を受信する処理は、環境情報受信処理の一例である。自然特徴点の管理テーブルの走査方法については、図3(b)の詳細な説明と共に後述する。
サーバ装置120は、S505の処理を完了した後に、誘導依頼通知として検索結果の座標と、回転方向の値とのデータを図12(e)に示されるデータ形式でHMD130に送信する(S506)。なお、図12(e)は、誘導情報(座標)の通知に関する送受信データのデータ構成の一例を示す図である。
以上の処理により、サーバ装置120は、自然特徴点ペアを決定できない場合であっても、HMD130を、自然特徴点ペアを決定することができる画像を撮像可能な位置(向きを含む)に誘導することができる。即ち、HMD130は、サーバ装置120から受信した誘導依頼通知に基づいてHMD130を装着するユーザをAR共有することができる位置に移動させる。これにより、HMD130のユーザは、自身でAR共有することができる位置を判断する必要がなくなる。
図13は、AR共有の実行処理の一例を示すフローチャートである。
HMD130は、サーバ装置120から自然特徴点ペアの決定通知を受信すると"AR共有の実行状態"に移行し、その旨をサーバ装置120に送信する(S601)。
HMD130は、受信した自然特徴点ペアを使用し、打ち合わせ資料等のデジタルコンテンツの表示候補を決定し、図14(a)に示されるように表示候補をAR表示する(S602)。なお、図14は、AR共有の実行状態において表示される画面構成の一例を示す図である。図14の詳細な説明については、後述する。
HMD130は、赤外カメラ330を介してユーザから表示候補の選択指示を受け付ける(S603)。
HMD130は、サーバ装置120から自然特徴点ペアの決定通知を受信すると"AR共有の実行状態"に移行し、その旨をサーバ装置120に送信する(S601)。
HMD130は、受信した自然特徴点ペアを使用し、打ち合わせ資料等のデジタルコンテンツの表示候補を決定し、図14(a)に示されるように表示候補をAR表示する(S602)。なお、図14は、AR共有の実行状態において表示される画面構成の一例を示す図である。図14の詳細な説明については、後述する。
HMD130は、赤外カメラ330を介してユーザから表示候補の選択指示を受け付ける(S603)。
HMD130は、選択位置にデジタルコンテンツをAR表示する(S604)。この際、HMD130は、受信した自然特徴点ペアを常に追従しながら、重畳するデジタルコンテンツの位置を計算し続け、AR表示を実現する。これにより、ユーザは、同位置にAR表示されたコンテンツを使用することで、ARを使用ながらも紙やホワイトボードの様な物理的な媒体を利用した場合のように、一体感のある打ち合わせを行うことができる。
サーバ装置120は、AR共有表示中のHMD130が互いに予め定められた規定の距離以上離れたか否かを判断する(S605)。
AR共有表示中のHMD130は、規定値以上の距離を離れたと判断された場合、デジタルコンテンツのAR表示を終了する(S607)。
AR共有表示中のHMD130は、規定値以上の距離を離れていないと判断された場合、赤外カメラ330を介してユーザからの終了指示を受け付けると(S606)、デジタルコンテンツのAR表示を終了する(S607)。一方、HMD130は、ユーザからの終了指示を受け付けなければ、処理をS604に戻す。
以上の処理により、HMD130は、サーバ装置120から受信した自然特徴点ペアに関するデータに基づいて、予め定められた距離以内にある複数のHMD130間でAR共有を実行することができる。
サーバ装置120は、AR共有表示中のHMD130が互いに予め定められた規定の距離以上離れたか否かを判断する(S605)。
AR共有表示中のHMD130は、規定値以上の距離を離れたと判断された場合、デジタルコンテンツのAR表示を終了する(S607)。
AR共有表示中のHMD130は、規定値以上の距離を離れていないと判断された場合、赤外カメラ330を介してユーザからの終了指示を受け付けると(S606)、デジタルコンテンツのAR表示を終了する(S607)。一方、HMD130は、ユーザからの終了指示を受け付けなければ、処理をS604に戻す。
以上の処理により、HMD130は、サーバ装置120から受信した自然特徴点ペアに関するデータに基づいて、予め定められた距離以内にある複数のHMD130間でAR共有を実行することができる。
図15は、AR共有の誘導処理の一例を示すフローチャートである。
HMD130は、サーバ装置120から誘導依頼通知を受信する(S701)。なお、S701の処理は、要求受信処理の一例である。
HMD130は、"AR共有の誘導状態"に遷移し、その旨をサーバ装置に送信する。そして、HMD130は、誘導依頼通知を解析し、回転方向の変更依頼であるか、座標の移動依頼であるかを判断する(S702)。HMD130は、誘導依頼通知の内容によって、表示する誘導情報を切り替える。
HMD130は、受信した誘導依頼通知が回転方向に対するものである場合、受信した回転方向への誘導情報を図16(a)に示されるように透過型ディスプレイ326に表示する(S705)。なお、図16(a)は、AR共有の誘導状態(回転方向の変更)の画面構成の一例を示す図である。図16の詳細な説明については、後述する。
HMD130は、サーバ装置120から誘導依頼通知を受信する(S701)。なお、S701の処理は、要求受信処理の一例である。
HMD130は、"AR共有の誘導状態"に遷移し、その旨をサーバ装置に送信する。そして、HMD130は、誘導依頼通知を解析し、回転方向の変更依頼であるか、座標の移動依頼であるかを判断する(S702)。HMD130は、誘導依頼通知の内容によって、表示する誘導情報を切り替える。
HMD130は、受信した誘導依頼通知が回転方向に対するものである場合、受信した回転方向への誘導情報を図16(a)に示されるように透過型ディスプレイ326に表示する(S705)。なお、図16(a)は、AR共有の誘導状態(回転方向の変更)の画面構成の一例を示す図である。図16の詳細な説明については、後述する。
HMD130は、誘導依頼通知にて指定された回転方向にユーザが向くまで誘導情報を表示する(S706)。そして、HMD130は、ユーザが指定された回転方向を向くと、処理をS707に進める。一方、HMD130は、ユーザが指定された回転方向を向かなければ、誘導情報を表示し続ける。
HMD130は、ユーザが指定された回転方向を向いた時点で誘導情報の表示を終了する(S707)。
HMD130は、受信した誘導依頼通知が座標に対するものである場合、オフィス内の指定座標への誘導情報を表示する(S703)。HMD130は、移動先が視界内にある場合は、受信した座標までを図17(a)に示されるように透過型ディスプレイ326に矢印で表示する。なお、図17は、AR共有の誘導状態(座標の移動)の画面構成の一例を示す図である。図17の詳細な説明については、後述する。
HMD130は、移動先が視界内に無い場合は、移動先までの道順を図17(b)に示されるように透過型ディスプレイ326に俯瞰図にて表示する。HMD130は、受信した誘導依頼通知にて指定された座標にユーザが移動するまで図17に示される誘導情報を表示する(S704)。
HMD130は、ユーザが指定された座標に移動した時点で図16に示されるような回転方向への誘導情報に表示を切り替える(S705)。
HMD130は、ユーザが指定された回転方向を向いた時点で誘導情報の表示を終了する(S707)。
HMD130は、受信した誘導依頼通知が座標に対するものである場合、オフィス内の指定座標への誘導情報を表示する(S703)。HMD130は、移動先が視界内にある場合は、受信した座標までを図17(a)に示されるように透過型ディスプレイ326に矢印で表示する。なお、図17は、AR共有の誘導状態(座標の移動)の画面構成の一例を示す図である。図17の詳細な説明については、後述する。
HMD130は、移動先が視界内に無い場合は、移動先までの道順を図17(b)に示されるように透過型ディスプレイ326に俯瞰図にて表示する。HMD130は、受信した誘導依頼通知にて指定された座標にユーザが移動するまで図17に示される誘導情報を表示する(S704)。
HMD130は、ユーザが指定された座標に移動した時点で図16に示されるような回転方向への誘導情報に表示を切り替える(S705)。
HMD130は、ユーザが誘導依頼通知にて指定された回転方向又は座標に移動した後に、AR表示の準備状態に移行し、その旨をサーバ装置120に送信する。HMD130は、その返信を受けた後に自然特徴点ペア決定依頼として、その時点での撮像画像をサーバ装置120に送信する(S708)。
サーバ装置120は、自然特徴点ペア決定依頼を受信すると、撮影画像間でペアとして対応付けられる自然特徴点ペアを決定し、決定した自然特徴点ペアに関するデータをHMD130に返信する(S709)。
この後、HMD130は、上述したAR共有の表示処理(S310)に進む。
以上の処理により、HMD130は、サーバ装置120から受信した誘導依頼通知に応じた誘導情報を表示することができる。即ち、サーバ装置120は、状況に応じて、AR共有することができる妥当な位置(向きを含む)にHMD130を誘導することができる。
サーバ装置120は、自然特徴点ペア決定依頼を受信すると、撮影画像間でペアとして対応付けられる自然特徴点ペアを決定し、決定した自然特徴点ペアに関するデータをHMD130に返信する(S709)。
この後、HMD130は、上述したAR共有の表示処理(S310)に進む。
以上の処理により、HMD130は、サーバ装置120から受信した誘導依頼通知に応じた誘導情報を表示することができる。即ち、サーバ装置120は、状況に応じて、AR共有することができる妥当な位置(向きを含む)にHMD130を誘導することができる。
以下、上述した図4、6、8、12に示されるデータ構成について、より詳細に説明する。
まず、上述した図4に示されるHMD130の座標管理と、自然特徴点の蓄積処理とに関する送受信データのデータ構成について、より詳細に説明する。
データ901は、HTTP Header部902と、HTTP Body部903とから構成される。データ911は、HTTP Header部912と、HTTP Body部913とから構成される。データ921は、HTTP Header部922と、HTTP Body部923とから構成される。
図4(a)は、ネットワークカメラ140からサーバ装置120へ送信されるHMD130の座標管理に使用されるデータであり、ネットワークカメラ140の定常データとされるデータである。
図4(b)は、HMD130からサーバ装置120へ送信される自然特徴点の蓄積処理に使用されるデータであり、HMD130の定常データとされるデータである。
図4(c)は、サーバ装置120からHMD130へ送信されるAR共有の準備開始通知のデータであり、HMD130の定常データ(図6(b))に対する返信に使用されるデータである。
まず、上述した図4に示されるHMD130の座標管理と、自然特徴点の蓄積処理とに関する送受信データのデータ構成について、より詳細に説明する。
データ901は、HTTP Header部902と、HTTP Body部903とから構成される。データ911は、HTTP Header部912と、HTTP Body部913とから構成される。データ921は、HTTP Header部922と、HTTP Body部923とから構成される。
図4(a)は、ネットワークカメラ140からサーバ装置120へ送信されるHMD130の座標管理に使用されるデータであり、ネットワークカメラ140の定常データとされるデータである。
図4(b)は、HMD130からサーバ装置120へ送信される自然特徴点の蓄積処理に使用されるデータであり、HMD130の定常データとされるデータである。
図4(c)は、サーバ装置120からHMD130へ送信されるAR共有の準備開始通知のデータであり、HMD130の定常データ(図6(b))に対する返信に使用されるデータである。
HTTP Header部902、912について説明する。HTTP Header部902、912は、図4(a)と、図4(b)とで共通である。
ネットワークカメラ140は、HTTPメソッドに"POST"を指定し、パスにサーバ装置側のプログラム(HMD座標更新処理、又は、自然特徴点の蓄積処理を実行)(/hmd/feature_point/add)を指定する。ネットワークカメラ140は、Hostにサーバ装置のURL(ar_meeting.section.com)を指定する。ネットワークカメラ140は、Content−TypeにBody部のデータ形式であるJSON(application/json)を指定する。
ネットワークカメラ140は、HTTPメソッドに"POST"を指定し、パスにサーバ装置側のプログラム(HMD座標更新処理、又は、自然特徴点の蓄積処理を実行)(/hmd/feature_point/add)を指定する。ネットワークカメラ140は、Hostにサーバ装置のURL(ar_meeting.section.com)を指定する。ネットワークカメラ140は、Content−TypeにBody部のデータ形式であるJSON(application/json)を指定する。
次に、図4(a)に示されるHMD130の座標更新処理のデータ構成のHTTP Body部903について説明する。
HTTP Body部903は、JSON形式で記載される。
ネットワークカメラ140は、HMD識別子(hmd_id)、フロア識別子(floor_id)、座標値(coordinate)及び時刻(timestamp)を指定する。ネットワークカメラ140は、HMD識別子(hmd_id)として、ネットワークカメラ140が座標計算中のHMD130のID(hmd000130)を指定する。ネットワークカメラ140は、フロア識別子(floor_id)として、ネットワークカメラ140が設置されているフロアのID(201)を指定する。ネットワークカメラ140は、座標値(coordinate)として、ネットワークカメラ140が座標計算した(x、y、z)の3軸情報を指定する。ネットワークカメラ140は、時刻(timestamp)として、送信時刻("2012−09−01T11:15:30")を指定する。
HTTP Body部903は、JSON形式で記載される。
ネットワークカメラ140は、HMD識別子(hmd_id)、フロア識別子(floor_id)、座標値(coordinate)及び時刻(timestamp)を指定する。ネットワークカメラ140は、HMD識別子(hmd_id)として、ネットワークカメラ140が座標計算中のHMD130のID(hmd000130)を指定する。ネットワークカメラ140は、フロア識別子(floor_id)として、ネットワークカメラ140が設置されているフロアのID(201)を指定する。ネットワークカメラ140は、座標値(coordinate)として、ネットワークカメラ140が座標計算した(x、y、z)の3軸情報を指定する。ネットワークカメラ140は、時刻(timestamp)として、送信時刻("2012−09−01T11:15:30")を指定する。
次に、図4(b)に示される自然特徴点の蓄積処理のデータ構成のHTTP Body部913について説明する。
HTTP Body部913は、JSON形式で記載される。
HMD130は、HMD識別子(hmd_id)、回転方向(rotation_direction)、自然特徴点数(num_of_feature_point)及び時刻(timestamp)を指定する。HMD130は、HMD識別子(hmd_id)として、送信元であるHMD130の識別子(hmd000130)を指定する。HMD130は、回転方向(rotation_direction)として、HMD130の加速度センサ325が計測しメモリに格納された(Yaw、Roll、Pitch)の3軸の回転方向を指定する。HMD130は、自然特徴点数(num_of_feature_point)として、RGBカメラ328の撮像画像に対して画像処理して抽出した自然特徴点数を指定する。HMD130は、時刻(timestamp)として、送信時刻("2012−09−01T11:15:30")を指定する。
HTTP Body部913は、JSON形式で記載される。
HMD130は、HMD識別子(hmd_id)、回転方向(rotation_direction)、自然特徴点数(num_of_feature_point)及び時刻(timestamp)を指定する。HMD130は、HMD識別子(hmd_id)として、送信元であるHMD130の識別子(hmd000130)を指定する。HMD130は、回転方向(rotation_direction)として、HMD130の加速度センサ325が計測しメモリに格納された(Yaw、Roll、Pitch)の3軸の回転方向を指定する。HMD130は、自然特徴点数(num_of_feature_point)として、RGBカメラ328の撮像画像に対して画像処理して抽出した自然特徴点数を指定する。HMD130は、時刻(timestamp)として、送信時刻("2012−09−01T11:15:30")を指定する。
次に、図4(c)に示されるHMD130へのAR共有の準備開始通知のデータ構成について説明する。
まず、HTTP Header部922について説明する。
図4(c)に示されるAR共有の準備開始通知は、HMD130の定常データ(図4(b))に対する返信で使用されるため、サーバ装置120は、HTTP Header部922に返信結果としてHTTPのステータスコードを指定する。更に、サーバ装置120は、Body部のデータ長(Content−Length)等を指定する。
まず、HTTP Header部922について説明する。
図4(c)に示されるAR共有の準備開始通知は、HMD130の定常データ(図4(b))に対する返信で使用されるため、サーバ装置120は、HTTP Header部922に返信結果としてHTTPのステータスコードを指定する。更に、サーバ装置120は、Body部のデータ長(Content−Length)等を指定する。
次に、HTTP Body部923について説明する。
HTTP Body部923は、JSON形式で記載される。
サーバ装置120は、サーバ装置のHMD定常データの受信に関する成功・失敗(success)及びAR共有の準備開始指示(ar_meeeting_notification)を指定する。サーバ装置120は、サーバ装置のHMD定常データの受信に関する成功・失敗(success)として、成功時にはtrueを、失敗時にはfalseを指定する。サーバ装置120は、AR共有の準備開始指示(ar_meeeting_notification)を、上述したS303と、S304とを満たす場合に指定する。
HTTP Body部923は、JSON形式で記載される。
サーバ装置120は、サーバ装置のHMD定常データの受信に関する成功・失敗(success)及びAR共有の準備開始指示(ar_meeeting_notification)を指定する。サーバ装置120は、サーバ装置のHMD定常データの受信に関する成功・失敗(success)として、成功時にはtrueを、失敗時にはfalseを指定する。サーバ装置120は、AR共有の準備開始指示(ar_meeeting_notification)を、上述したS303と、S304とを満たす場合に指定する。
より具体的には、サーバ装置120は、AR共有の準備開始指示を、"AR共有許可"にあるHMD130が互いに予め定められた一定距離以内に近づいたことを検知した場合、かつ、HMD130間に関連するデジタルコンテンツを検索した場合に指定する。
サーバ装置120は、それ以外のHMD130の定常データに対する返信には、AR共有の準備開始指示(ar_meeeting_notification)の属性を指定せず、成功・失敗(success)のみを指定する。
サーバ装置120は、AR共有の準備開始指示(ar_meeeting_notification)には、HMD130共有の識別子(share_id)を指定する。更に、サーバ装置120は、一定距離以下に近づいた相手のHMD130のHMD識別子(hmd_id)及びその座標値(coordinate)を指定する。
サーバ装置120は、それ以外のHMD130の定常データに対する返信には、AR共有の準備開始指示(ar_meeeting_notification)の属性を指定せず、成功・失敗(success)のみを指定する。
サーバ装置120は、AR共有の準備開始指示(ar_meeeting_notification)には、HMD130共有の識別子(share_id)を指定する。更に、サーバ装置120は、一定距離以下に近づいた相手のHMD130のHMD識別子(hmd_id)及びその座標値(coordinate)を指定する。
次に、上述した図6に示されるHMD130のモード変更通知に関するデータ構成について、より詳細に説明する。
HMD130は、モード通知の設定として、図6(a)に示される許可と、図6(b)に示される拒否との2つの設定を指定することができる。
まず、図6(a)に示される許可設定のモード通知と、図6(b)に示される拒否設定のモード通知との共通部分について説明する。
データ801は、HTTP Header部802と、HTTP Body部803とから構成される。
データ811は、HTTP Header部812と、HTTP Body部813とから構成される。
HMD130は、モード通知の設定として、図6(a)に示される許可と、図6(b)に示される拒否との2つの設定を指定することができる。
まず、図6(a)に示される許可設定のモード通知と、図6(b)に示される拒否設定のモード通知との共通部分について説明する。
データ801は、HTTP Header部802と、HTTP Body部803とから構成される。
データ811は、HTTP Header部812と、HTTP Body部813とから構成される。
以下、HTTP Header部802、812について説明する。
HMD130は、HTTPメソッドにPOSTを指定し、パスにサーバ装置120側のプログラム(HMD130のモード変更を実行)(/hmd/mode)を指定する。また、HMD130は、Hostにサーバ装置120のURL(ar_meeting.section.com)を指定する。更に、HMD130は、Content−TypeにBody部のデータ形式であるJSON(application/json)を指定する。
HMD130は、HTTPメソッドにPOSTを指定し、パスにサーバ装置120側のプログラム(HMD130のモード変更を実行)(/hmd/mode)を指定する。また、HMD130は、Hostにサーバ装置120のURL(ar_meeting.section.com)を指定する。更に、HMD130は、Content−TypeにBody部のデータ形式であるJSON(application/json)を指定する。
次に、HTTP Body部803、813について説明する。
HTTP Body部803、813は、JSON形式で記載される。
HMD130は、HMD識別子(hmd_id)、変更するモード(mode)、AR共有する相手のHMD130のHMD識別子(entry)及び時刻(timestamp)を指定する。
HMD130は、HMD識別子(hmd_id)として送信元のHMD130の識別子(hmd000130)を指定する。また、HMD130は、時刻(timestamp)に送信時刻を設定する。図6に示される時刻フォーマット("2012−09−01T11:15:30")は、ISO8601を使用しているが、一意に年、月、日、時、分、秒を記述するフォーマットであればこれに限る必要はない。
HTTP Body部803、813は、JSON形式で記載される。
HMD130は、HMD識別子(hmd_id)、変更するモード(mode)、AR共有する相手のHMD130のHMD識別子(entry)及び時刻(timestamp)を指定する。
HMD130は、HMD識別子(hmd_id)として送信元のHMD130の識別子(hmd000130)を指定する。また、HMD130は、時刻(timestamp)に送信時刻を設定する。図6に示される時刻フォーマット("2012−09−01T11:15:30")は、ISO8601を使用しているが、一意に年、月、日、時、分、秒を記述するフォーマットであればこれに限る必要はない。
次に、個別部分について説明する。HMD130は、変更するモード(mode)に以下の値を指定する。
AR共有の許可モード(accept_ar_meeeting_notification)(図6(a)):HMD130は、サーバ装置120からAR共有の準備開始通知を受信する。
AR共有の拒否モード(reject_ar_meeeting_notification)(図6(b)):HMD130は、サーバ装置120からAR共有の準備開始通知を受信しない。
AR共有の許可モード(accept_ar_meeeting_notification)(図6(a)):HMD130は、サーバ装置120からAR共有の準備開始通知を受信する。
AR共有の拒否モード(reject_ar_meeeting_notification)(図6(b)):HMD130は、サーバ装置120からAR共有の準備開始通知を受信しない。
次に、上述した図8に示されるHMD130のAR共有の状態遷移通知のデータ構成について、より詳細に説明する。
HMD130は、AR共有の処理を進める際に必要な状態遷移を、AR共有の状態変更通知としてサーバ装置120に送信する。HMD130が指定できる状態は、"AR共有の準備状態"(図8(a))、"AR共有の実行状態"(図8(b))、"AR共有の誘導状態"(図8(c))、"AR共有の終了通知"(図8(d))の4つとする。
図8(a)のデータ1001は、HTTP Header部1002と、HTTP Body部1003とから構成される。
図8(b)のデータ1011は、HTTP Header部1012と、HTTP Body部1013とから構成される。
図8(c)のデータ1021は、HTTP Header部1022と、HTTP Body部1023とから構成される。
図8(d)のデータ1031は、HTTP Header部1032と、HTTP Body部1033とから構成される。
HMD130は、AR共有の処理を進める際に必要な状態遷移を、AR共有の状態変更通知としてサーバ装置120に送信する。HMD130が指定できる状態は、"AR共有の準備状態"(図8(a))、"AR共有の実行状態"(図8(b))、"AR共有の誘導状態"(図8(c))、"AR共有の終了通知"(図8(d))の4つとする。
図8(a)のデータ1001は、HTTP Header部1002と、HTTP Body部1003とから構成される。
図8(b)のデータ1011は、HTTP Header部1012と、HTTP Body部1013とから構成される。
図8(c)のデータ1021は、HTTP Header部1022と、HTTP Body部1023とから構成される。
図8(d)のデータ1031は、HTTP Header部1032と、HTTP Body部1033とから構成される。
まず、HTTP Header部1002、1012、1022、1032について説明する。
HTTP Header部1002、1012、1022、1032は、図8(a)から図8(d)までで共通とする。HMD130は、HTTPメソッドにPOSTを指定し、パスにサーバ装置120側のプログラム(AR共有の状態変更を実行)(/hmd/state)を指定する。HMD130は、Hostにサーバ装置120のURL(ar_meeting.section.com)を指定する。HMD130は、Content−TypeにBody部のデータ形式であるJSON(application/json)を指定する。
HTTP Header部1002、1012、1022、1032は、図8(a)から図8(d)までで共通とする。HMD130は、HTTPメソッドにPOSTを指定し、パスにサーバ装置120側のプログラム(AR共有の状態変更を実行)(/hmd/state)を指定する。HMD130は、Hostにサーバ装置120のURL(ar_meeting.section.com)を指定する。HMD130は、Content−TypeにBody部のデータ形式であるJSON(application/json)を指定する。
次に、HTTP Body部について説明する。
HTTP Body部は、JSON形式で記載される。
HMD130は、HMD識別子(hmd_id)、遷移する状態(state)、ペア識別子(pairing_id)及び時刻(timestamp)を指定する。
HMD130は、HMD識別子(hmd_id)として、送信者であるHMD130の識別子を指定する(hmd000130)。HMD130は、ペア識別子(pairing_id)として、サーバ装置120から指定されたペア識別子(p0001)を指定する。HMD130は、時刻(timestamp)として、送信時刻を設定する。また、HMD130は、遷移する状態(state)に以下の値を指定する。
AR共有の準備状態(prepare_ar_meeeting):図8(a)
AR共有の実行状態(executing_ar_meeeting):図8(b)
AR共有の誘導状態(guide_ar_meeeting):図8(c)
AR共有の終了通知(exit_ar_meeeting):図8(d)
HTTP Body部は、JSON形式で記載される。
HMD130は、HMD識別子(hmd_id)、遷移する状態(state)、ペア識別子(pairing_id)及び時刻(timestamp)を指定する。
HMD130は、HMD識別子(hmd_id)として、送信者であるHMD130の識別子を指定する(hmd000130)。HMD130は、ペア識別子(pairing_id)として、サーバ装置120から指定されたペア識別子(p0001)を指定する。HMD130は、時刻(timestamp)として、送信時刻を設定する。また、HMD130は、遷移する状態(state)に以下の値を指定する。
AR共有の準備状態(prepare_ar_meeeting):図8(a)
AR共有の実行状態(executing_ar_meeeting):図8(b)
AR共有の誘導状態(guide_ar_meeeting):図8(c)
AR共有の終了通知(exit_ar_meeeting):図8(d)
次に、上述した図12に示される自然特徴点ペア決定に使用されるデータ構成について、より詳細に説明する。
サーバ装置120は、HMD130の抽出中の撮影画像を使用し、AR共有に必要な自然特徴点ペアの決定を行う。説明するデータは5つあり、撮影画像のアップロード先の指定通知(図12a)、自然特徴点ペアの決定依頼(図12b)、自然特徴点ペアの決定通知(図12c)、誘導情報の通知(回転方向)(図12d)及び誘導情報の通知(座標)(図12e)である。
データ1101は、HTTP Header部1102と、HTTP Body部1103とから構成される。
データ1111は、HTTP Header部1112と、HTTP Body部1113とから構成される。
データ1121は、HTTP Header部1122と、HTTP Body部1123とから構成される。
データ1131は、HTTP Header部1132と、HTTP Body部1133とから構成される。
データ1141は、HTTP Header部1142と、HTTP Body部1143とから構成される。
サーバ装置120は、HMD130の抽出中の撮影画像を使用し、AR共有に必要な自然特徴点ペアの決定を行う。説明するデータは5つあり、撮影画像のアップロード先の指定通知(図12a)、自然特徴点ペアの決定依頼(図12b)、自然特徴点ペアの決定通知(図12c)、誘導情報の通知(回転方向)(図12d)及び誘導情報の通知(座標)(図12e)である。
データ1101は、HTTP Header部1102と、HTTP Body部1103とから構成される。
データ1111は、HTTP Header部1112と、HTTP Body部1113とから構成される。
データ1121は、HTTP Header部1122と、HTTP Body部1123とから構成される。
データ1131は、HTTP Header部1132と、HTTP Body部1133とから構成される。
データ1141は、HTTP Header部1142と、HTTP Body部1143とから構成される。
図12(a)は、サーバ装置120からHMD130に送信される撮影画像のアップロード先の指定情報のデータ構成である。サーバ装置120は、AR共有するHMD130は毎回異なる可能性があるため、AR共有の準備処理において撮影画像のアップロード先をHMD130に通知する。より具体的には、サーバ装置120は、HMD130から受信したサーバ装置120に対する状態遷移通知(AR共有の準備状態)に対する返信にアップロード先の情報を付加する。
サーバ装置120は、撮影画像のアップロード先の指定通知(図12(a))のHTTP Header部1102に、返信結果としてHTTPのステータスコードを指定する。サーバ装置120は、その他にBody部のデータ長(Content−Length)等を指定する。
サーバ装置120は、撮影画像のアップロード先の指定通知(図12(a))のHTTP Header部1102に、返信結果としてHTTPのステータスコードを指定する。サーバ装置120は、その他にBody部のデータ長(Content−Length)等を指定する。
HTTP Body部1103について説明する。
Body部はJSON形式で記載される。
サーバ装置120は、サーバ装置120の状態遷移通知の受信に関する成功・失敗(success)及び撮影画像のアップロード関連の情報(upload_header)を指定する。なお、撮影画像のアップロード関連の情報は、アップロードを実行するプログラムのパス(upload_url)、アップロードデータのフォーマット(Content−Type)及びアップロードファイル名(File_Name)である。
Body部はJSON形式で記載される。
サーバ装置120は、サーバ装置120の状態遷移通知の受信に関する成功・失敗(success)及び撮影画像のアップロード関連の情報(upload_header)を指定する。なお、撮影画像のアップロード関連の情報は、アップロードを実行するプログラムのパス(upload_url)、アップロードデータのフォーマット(Content−Type)及びアップロードファイル名(File_Name)である。
サーバ装置120は、状態遷移通知の受信に関する成功・失敗(success)に対して、成功時にはtrue、失敗時にはfalseの値を指定する。
サーバ装置120は、撮影画像のアップロード関連の情報(upload_header)におけるアップロードを実行するプログラムのパス(upload_url)として例えば以下のURLを指定する。
(http://ar_meeting.section.com/xxx/pare/p00001/decisin)
サーバ装置120は、アップロードデータのフォーマット(Content−Type)として、アップロードに対応しているJPEG等の画像フォーマット(image/jpeg)を指定する。
サーバ装置120は、アップロードファイル名(File_Name)として、サーバ装置120がアップロード後に管理するファイル名(hmd000130_01.jpg)を指定する。
サーバ装置120は、撮影画像のアップロード関連の情報(upload_header)におけるアップロードを実行するプログラムのパス(upload_url)として例えば以下のURLを指定する。
(http://ar_meeting.section.com/xxx/pare/p00001/decisin)
サーバ装置120は、アップロードデータのフォーマット(Content−Type)として、アップロードに対応しているJPEG等の画像フォーマット(image/jpeg)を指定する。
サーバ装置120は、アップロードファイル名(File_Name)として、サーバ装置120がアップロード後に管理するファイル名(hmd000130_01.jpg)を指定する。
図12(b)は、HMD130がサーバ装置120に送信する自然特徴点ペアの決定依頼のデータ構成である。
HMD130は、サーバ装置120から受信した撮影画像のアップロード先の指定情報に従い、自然特徴点ペアの決定依頼として、撮影画像を指定してサーバ装置120へ送信する(S502)。
HTTP Header部1112について説明する。
HMD130は、HTTPメソッドにPOSTを指定する。また、HMD130は、パスにサーバ装置120側のプログラム(撮影画像のアップロードを実行)のパス(http://ar_meeting.section.com/xxx/pare/p00001/decisin)を指定する。HMD130は、アップロードデータのフォーマット(Content−Type)として、サーバ装置120から指定されたJPEG等の画像フォーマット(image/jpeg)を指定する。HMD130は、アップロードファイル名(File_Name)として、サーバ装置120から指定されたファイル名(hmd000130_01.jpg)を指定する。
HMD130は、サーバ装置120から受信した撮影画像のアップロード先の指定情報に従い、自然特徴点ペアの決定依頼として、撮影画像を指定してサーバ装置120へ送信する(S502)。
HTTP Header部1112について説明する。
HMD130は、HTTPメソッドにPOSTを指定する。また、HMD130は、パスにサーバ装置120側のプログラム(撮影画像のアップロードを実行)のパス(http://ar_meeting.section.com/xxx/pare/p00001/decisin)を指定する。HMD130は、アップロードデータのフォーマット(Content−Type)として、サーバ装置120から指定されたJPEG等の画像フォーマット(image/jpeg)を指定する。HMD130は、アップロードファイル名(File_Name)として、サーバ装置120から指定されたファイル名(hmd000130_01.jpg)を指定する。
HTTP Body部1113には、撮影画像の情報が格納されている。
自然特徴点ペアの決定通知(図12(c))、誘導情報の通知(回転方向)(図12(d))及び誘導情報の通知(座標)(図12(e))について説明する。
自然特徴点ペアの決定通知(図12(c))、誘導情報の通知(回転方向)(図12(d))及び誘導情報の通知(座標)(図12(e))は、自然特徴点ペアの決定依頼(図12(b))に対するサーバ装置120からの返信に関する情報で構成される。
HTTP Header部1122、1132、1142は、自然特徴点ペアの決定通知(図12(c))、誘導情報の通知(回転方向)(図12(d))及び誘導情報の通知(座標)(図12(e))で共通である。
サーバ装置120は、HTTP Header部には、返信結果としてHTTPのステータスコードを指定する。サーバ装置120は、その他にBody部のデータ長(Content−Length)等を指定する。
自然特徴点ペアの決定通知(図12(c))、誘導情報の通知(回転方向)(図12(d))及び誘導情報の通知(座標)(図12(e))について説明する。
自然特徴点ペアの決定通知(図12(c))、誘導情報の通知(回転方向)(図12(d))及び誘導情報の通知(座標)(図12(e))は、自然特徴点ペアの決定依頼(図12(b))に対するサーバ装置120からの返信に関する情報で構成される。
HTTP Header部1122、1132、1142は、自然特徴点ペアの決定通知(図12(c))、誘導情報の通知(回転方向)(図12(d))及び誘導情報の通知(座標)(図12(e))で共通である。
サーバ装置120は、HTTP Header部には、返信結果としてHTTPのステータスコードを指定する。サーバ装置120は、その他にBody部のデータ長(Content−Length)等を指定する。
HTTP Body部1133、1143について説明する。
HTTP Body部は、JSON形式で記載される。
サーバ装置120は、サーバ装置120の自然特徴点ペアの決定処理に関する成功・失敗(success)と、自然特徴点ペアの情報(feature_point_pear)又は誘導情報(guide_ar_meeting)を指定する。サーバ装置120は、自然特徴点ペアの決定処理が成功した場合には、自然特徴点ペアの情報(feature_point_pear)(図12(c))を指定する。一方、サーバ装置120は、失敗した場合には、誘導情報(guide_ar_meeting)(図12(d)、図12(e))を指定する。
HTTP Body部は、JSON形式で記載される。
サーバ装置120は、サーバ装置120の自然特徴点ペアの決定処理に関する成功・失敗(success)と、自然特徴点ペアの情報(feature_point_pear)又は誘導情報(guide_ar_meeting)を指定する。サーバ装置120は、自然特徴点ペアの決定処理が成功した場合には、自然特徴点ペアの情報(feature_point_pear)(図12(c))を指定する。一方、サーバ装置120は、失敗した場合には、誘導情報(guide_ar_meeting)(図12(d)、図12(e))を指定する。
サーバ装置120は、図12(c)の自然特徴点ペアの決定通知の自然特徴点ペアの情報(feature_point_pear)には、撮影画像における自然特徴点ペアの座標(Coodinate)をXY座標で指定する。
サーバ装置120は、図12(d)及び図12(e)の誘導情報の通知の誘導情報(guide_ar_meeting)には、誘導先の回転情報(rotation)又は座標(coordinate)を指定する。サーバ装置120は、回転情報に対する誘導依頼通知(S507)では、誘導情報(guide_ar_meeting)に回転情報(rotation)のみを指定する(図12(d))。サーバ装置120は、座標に対する誘導依頼通知(S508)では、誘導情報(guide_ar_meeting)に回転情報(rotation)と、座標(coordinate)とを指定する(図12(e))。
サーバ装置120は、図12(d)及び図12(e)の誘導情報の通知の誘導情報(guide_ar_meeting)には、誘導先の回転情報(rotation)又は座標(coordinate)を指定する。サーバ装置120は、回転情報に対する誘導依頼通知(S507)では、誘導情報(guide_ar_meeting)に回転情報(rotation)のみを指定する(図12(d))。サーバ装置120は、座標に対する誘導依頼通知(S508)では、誘導情報(guide_ar_meeting)に回転情報(rotation)と、座標(coordinate)とを指定する(図12(e))。
以下、上述した図3、9に示されるデータテーブルについて、より詳細に説明する。
まず、上述した図3に示される管理テーブルについて、より詳細に説明する。
サーバ装置120は、HMD130の座標管理テーブル(図3(a))と、自然特徴点の管理テーブル(図3(b))とを管理している。
図3(a)に示されるHMD130の座標管理テーブル1201について説明する。この管理テーブルは、サーバ装置120がHMD130の座標と、モードとを管理するために使用するテーブルデータである。
HMD130の座標管理テーブル1201は、HMD識別子1202、モード1203、フロア識別子1204、座標1205及び時刻1206の情報を含む。
サーバ装置120は、ネットワークカメラ140から受信した定常データ(図4(a))と、HMD130から受信したモード変更通知(図6)とを解析し、座標管理テーブルに書き出す。
より具体的には、サーバ装置120は、通信処理部305にて、ネットワークカメラ140から受信した定常データ(図4(a))を解析する。そして、サーバ装置120は、HMD識別子1202、フロア識別子1204、座標1205及び時刻1206の値を、テーブル処理部304を介して管理テーブル(図3(a))に書き出す。
まず、上述した図3に示される管理テーブルについて、より詳細に説明する。
サーバ装置120は、HMD130の座標管理テーブル(図3(a))と、自然特徴点の管理テーブル(図3(b))とを管理している。
図3(a)に示されるHMD130の座標管理テーブル1201について説明する。この管理テーブルは、サーバ装置120がHMD130の座標と、モードとを管理するために使用するテーブルデータである。
HMD130の座標管理テーブル1201は、HMD識別子1202、モード1203、フロア識別子1204、座標1205及び時刻1206の情報を含む。
サーバ装置120は、ネットワークカメラ140から受信した定常データ(図4(a))と、HMD130から受信したモード変更通知(図6)とを解析し、座標管理テーブルに書き出す。
より具体的には、サーバ装置120は、通信処理部305にて、ネットワークカメラ140から受信した定常データ(図4(a))を解析する。そして、サーバ装置120は、HMD識別子1202、フロア識別子1204、座標1205及び時刻1206の値を、テーブル処理部304を介して管理テーブル(図3(a))に書き出す。
サーバ装置120は、HMD識別子(hmd_id:1202)として、受信データのHMD130の識別子(903のhmd_id:hmd000130)を書き出す。サーバ装置120は、フロア識別子(floor_id:1204)として、受信データのフロア識別子(903のfloor_id:201)を書き出す。サーバ装置120は、HMDの座標(coordinate:1205)として、受信データの座標値(903のcoordinate)の三軸座標(x、y、z)を書き出す。サーバ装置120は、時刻(timestamp:1206)として、受信データの時刻(903のtimestamp:2012−09−01T11:15:30)を書き出す。
サーバ装置120は、モード(mode:1203)の項目に対する書き出しにおいては、以下の処理を実行する。サーバ装置120は、通信処理部305にて、HMD130から受信したモード変更通知(図6)を解析する。そして、サーバ装置120は、受信データのHMD識別子(913のhmd_id)と同じ識別子を座標管理テーブル1201から検索する。更に、サーバ装置120は、検索したその行に、受信データのモード(803、813のmode)値から、許可(accept)又は拒否(reject)を書き出す。サーバ装置120は、モード(mode:1203)の値として、次のモード通知を受信するまでその値を維持する。
以上より、サーバ装置120は、HMD130の座標管理テーブル(図3(a))を使用し、オフィスフロア内のHMD130の座標を把握する。そして、サーバ装置120は、"AR共有の許可"モードにあるHMD130のうち、予め定められた一定距離以下になった複数のHMD130を検知することができる(S303)。
サーバ装置120は、モード(mode:1203)の項目に対する書き出しにおいては、以下の処理を実行する。サーバ装置120は、通信処理部305にて、HMD130から受信したモード変更通知(図6)を解析する。そして、サーバ装置120は、受信データのHMD識別子(913のhmd_id)と同じ識別子を座標管理テーブル1201から検索する。更に、サーバ装置120は、検索したその行に、受信データのモード(803、813のmode)値から、許可(accept)又は拒否(reject)を書き出す。サーバ装置120は、モード(mode:1203)の値として、次のモード通知を受信するまでその値を維持する。
以上より、サーバ装置120は、HMD130の座標管理テーブル(図3(a))を使用し、オフィスフロア内のHMD130の座標を把握する。そして、サーバ装置120は、"AR共有の許可"モードにあるHMD130のうち、予め定められた一定距離以下になった複数のHMD130を検知することができる(S303)。
図3(b)に示される自然特徴点の管理テーブル1211について説明する。このテーブルは、オフィスのフロア毎に自然特徴点数に関する情報(画像が撮像された座標及び回転方向の値を含む)を蓄積する処理(図10)と、誘導処理おける誘導先の決定処理(S504、S505)とにおいて使用されるテーブルである。
自然特徴点の管理テーブル1211は、自然特徴点数1214、自然特徴点を抽出したHMDの座標1212、HMDの回転方向1213、HMD識別子1215及び時刻1216の情報から構成する。サーバ装置120は、これらをフロア識別子毎に分けて蓄積する。ここでは、サーバ装置120は、フロア識別子201、202、203として管理テーブル1211、1221、1231を管理する。なお、自然特徴点数1214の情報は、自然特徴点数情報の一例である。また、HMDの座標1212と、HMDの回転方向1213との情報は、画像の撮像条件に関する撮像条件情報の一例である。
サーバ装置120は、これらの項目に、ネットワークカメラ140から受信した定常データ(図4(a))と、HMD130から受信した定常データ(図4(b))とを解析して格納する。
自然特徴点の管理テーブル1211は、自然特徴点数1214、自然特徴点を抽出したHMDの座標1212、HMDの回転方向1213、HMD識別子1215及び時刻1216の情報から構成する。サーバ装置120は、これらをフロア識別子毎に分けて蓄積する。ここでは、サーバ装置120は、フロア識別子201、202、203として管理テーブル1211、1221、1231を管理する。なお、自然特徴点数1214の情報は、自然特徴点数情報の一例である。また、HMDの座標1212と、HMDの回転方向1213との情報は、画像の撮像条件に関する撮像条件情報の一例である。
サーバ装置120は、これらの項目に、ネットワークカメラ140から受信した定常データ(図4(a))と、HMD130から受信した定常データ(図4(b))とを解析して格納する。
サーバ装置120は、これらの項目のうち、HMD識別子1202、座標1205、時刻1206に対しては、通信処理部305がネットワークカメラ140から受信した定常データ(図4(a))を解析し、テーブル処理部304を介して書き出す。
より具体的には、サーバ装置120は、通信処理部305にてネットワークカメラ140から受信した定常データ(図4(a))を解析し、受信したフロア識別子(903のfloor_id)を判断する。そして、サーバ装置120は、それに対応する管理テーブル1211のHMD識別子1215、座標1212、時刻1216の値を、テーブル処理部304を介して管理テーブル(図3(b))に書き出す。
サーバ装置120は、HMD識別子(hmd_id:1215)として、受信データにおけるHMD130の識別子(903のhmd_id、hmd000130)を書き出す。サーバ装置120は、HMDの座標(coordinate:1205)として、受信データの座標値(903のcoordinate)の三軸座標(x、y、z)を書き出す。サーバ装置120は、時刻(timestamp、1216)として、受信データの時刻(903のtimestamp、2012−09−01T11:15:30)を書き出す。
より具体的には、サーバ装置120は、通信処理部305にてネットワークカメラ140から受信した定常データ(図4(a))を解析し、受信したフロア識別子(903のfloor_id)を判断する。そして、サーバ装置120は、それに対応する管理テーブル1211のHMD識別子1215、座標1212、時刻1216の値を、テーブル処理部304を介して管理テーブル(図3(b))に書き出す。
サーバ装置120は、HMD識別子(hmd_id:1215)として、受信データにおけるHMD130の識別子(903のhmd_id、hmd000130)を書き出す。サーバ装置120は、HMDの座標(coordinate:1205)として、受信データの座標値(903のcoordinate)の三軸座標(x、y、z)を書き出す。サーバ装置120は、時刻(timestamp、1216)として、受信データの時刻(903のtimestamp、2012−09−01T11:15:30)を書き出す。
サーバ装置120は、他の項目の自然特徴点数(1214)及び回転方向(1213)に関しては、通信処理部305にてHMD130から受信した定常データ(図4(b))を解析する。そして、サーバ装置120は、受信データのHMD識別子(913のhmd_id)と同じ識別子を管理テーブルのHMD識別子1215から検索する。更に、サーバ装置120は、受信データの時刻(913のtimestamp)と最も誤差の小さい管理テーブルの時刻(1216)を検索する。そして、サーバ装置120は、その行に、受信データの自然特徴点数(913のnum_of_feature_point)を管理テーブルの自然特徴点数1214に格納する。また、サーバ装置120は、受信データの回転方向(913のrotation)を管理テーブルの回転方向1213に書き出す。更に、サーバ装置120は、受信データの自然特徴点数(913のnum_of_feature_point)に無効値が入っている場合は、管理テーブルの自然特徴点数1214に無効値(−)を書き出す。
以上より、サーバ装置120は、自然特徴点の管理テーブル(図3(b))を使用し、オフィスフロア内の有効な自然特徴点の位置と、回転方向とを検索することができる(S504、S505)。
サーバ装置120は、HMD130が現在位置において回転方向のみを変更し、取得可能な自然特徴点があるかを検索する場合(S504)、以下の処理を実行する。
サーバ装置120は、HMD130から通知されたHMD130の現在座標が、管理テーブル上の座標(1212:Coordinate)に一致し、かつ、自然特徴点数が予め定められた閾値以上のものを検索する。サーバ装置120は、S504で検索できた場合、その行にある回転方向(1213:rotation)の値を、回転方向に対する誘導情報(1131のrotation_direction)に設定し、HMDに送信する(S507)。
サーバ装置120は、HMD130が現在位置において回転方向のみを変更し、取得可能な自然特徴点があるかを検索する場合(S504)、以下の処理を実行する。
サーバ装置120は、HMD130から通知されたHMD130の現在座標が、管理テーブル上の座標(1212:Coordinate)に一致し、かつ、自然特徴点数が予め定められた閾値以上のものを検索する。サーバ装置120は、S504で検索できた場合、その行にある回転方向(1213:rotation)の値を、回転方向に対する誘導情報(1131のrotation_direction)に設定し、HMDに送信する(S507)。
サーバ装置120は、S504で検索できなかった場合、HMD130の現在位置に近い順で取得可能な自然特徴点を検索する(S505)。この処理は、サーバ装置120が、HMD130から通知されたHMD130の現在座標から、管理テーブル上の座標(1212:Coordinate)に最も近い、自然特徴点数が閾値以上のものを検索する処理である。サーバ装置120は、検索終了後、同行にある座標(1212:coordinate)と、回転方向(1213:rotation)との値を座標に対する誘導情報(1141のrotation_directionとcoordinate)に設定する。そして、サーバ装置120は、前記誘導情報をHMDに送信する(S506)。
次に、上述した図9に示されるAR共有の管理テーブルのデータ構成について、より詳細に説明する。
AR共有の管理テーブルとは、サーバ装置120が自然特徴点ペアの決定又は誘導先の決定を行う場合に使用するテーブルデータである。
サーバ装置120は、HMD130よりAR共有の準備状態への移行通知(S501)を受信した場合に、AR共有の識別子(share_id:s0001等)を付与し、図9のようなAR共有の管理テーブルをメモリ302に展開する。サーバ装置120は、AR共有の終了通知を受信すると、メモリ302上のAR共有の管理テーブルを解放し、動的に使用する。
AR共有の管理テーブルとは、サーバ装置120が自然特徴点ペアの決定又は誘導先の決定を行う場合に使用するテーブルデータである。
サーバ装置120は、HMD130よりAR共有の準備状態への移行通知(S501)を受信した場合に、AR共有の識別子(share_id:s0001等)を付与し、図9のようなAR共有の管理テーブルをメモリ302に展開する。サーバ装置120は、AR共有の終了通知を受信すると、メモリ302上のAR共有の管理テーブルを解放し、動的に使用する。
AR共有の管理テーブルの項目について説明する。
AR共有の識別子は、複数のHMD130で実行するAR共有を一意に識別するための識別子である。また、サーバ装置120は、AR共有の管理テーブル1301、1302、1303も、同識別子にて識別する。サーバ装置120は、AR共有の管理テーブルを、HMD130にAR共有の準備開始指示を送信する際(S305)に作成し、AR共有の識別子を割り振る。
AR共有の管理テーブルは、AR共有するHMD識別子(hmd_id)1304と、HMDの状態(status)1305と、時刻(timestamp)1306とから構成される。
サーバ装置120は、HMD130から受信した状態遷移通知(図12)に応じて、HMD130のAR共有状態(status)1305を更新する。サーバ装置120は、AR共有状態(status)1305に、状態遷移通知(図12)に応じて、以下の4つの値を格納する。サーバ装置120がAR共有状態(status)1305に格納する値は、prepare(AR共有の準備状態)、excecute(AR共有の実行状態)、guide(AR共有の誘導状態)及びexit(AR共有の終了通知)の4つである。
AR共有の識別子は、複数のHMD130で実行するAR共有を一意に識別するための識別子である。また、サーバ装置120は、AR共有の管理テーブル1301、1302、1303も、同識別子にて識別する。サーバ装置120は、AR共有の管理テーブルを、HMD130にAR共有の準備開始指示を送信する際(S305)に作成し、AR共有の識別子を割り振る。
AR共有の管理テーブルは、AR共有するHMD識別子(hmd_id)1304と、HMDの状態(status)1305と、時刻(timestamp)1306とから構成される。
サーバ装置120は、HMD130から受信した状態遷移通知(図12)に応じて、HMD130のAR共有状態(status)1305を更新する。サーバ装置120は、AR共有状態(status)1305に、状態遷移通知(図12)に応じて、以下の4つの値を格納する。サーバ装置120がAR共有状態(status)1305に格納する値は、prepare(AR共有の準備状態)、excecute(AR共有の実行状態)、guide(AR共有の誘導状態)及びexit(AR共有の終了通知)の4つである。
また、サーバ装置120は、HMD識別子1304に応じて、撮影画像1314、1324と、回転方向1313、1323と、座標1312、1322とをAR共有の管理テーブル1311、1321に紐付ける。撮影画像1314、1324は、サーバ装置120がHMD130から自然特徴点ペアの決定依頼として受信して保存した画像である(S502、図12(b))。
サーバ装置120は、AR共有の管理テーブルから引き出した複数のHMD130の撮影画像1315、1325に対して、画像処理を行い、画像中の角や線の交わりがある画素を自然特徴点として抽出する。そして、サーバ装置120は、HMD130の座標1312、1322と、回転方向1313、1323とを合わせて計算し、複数画像間で対応付けられる自然特徴点(画素)を自然特徴点ペア1316、1326として決定する(S503)。
サーバ装置120は、決定した自然特徴点ペアの情報を撮像画像に対する2次元座標(1123のcoordinate)として自然特徴点ペア決定通知(図12(c))に格納しHMD130に送信する。
HMD130は、受信した自然特徴点ペア(対応付けられた画素)を常に追従しながら、重畳するデジタルコンテンツの位置を正確に計算し続け、図13に示されるようなAR共有の実行処理を実現する。
サーバ装置120は、AR共有の管理テーブルから引き出した複数のHMD130の撮影画像1315、1325に対して、画像処理を行い、画像中の角や線の交わりがある画素を自然特徴点として抽出する。そして、サーバ装置120は、HMD130の座標1312、1322と、回転方向1313、1323とを合わせて計算し、複数画像間で対応付けられる自然特徴点(画素)を自然特徴点ペア1316、1326として決定する(S503)。
サーバ装置120は、決定した自然特徴点ペアの情報を撮像画像に対する2次元座標(1123のcoordinate)として自然特徴点ペア決定通知(図12(c))に格納しHMD130に送信する。
HMD130は、受信した自然特徴点ペア(対応付けられた画素)を常に追従しながら、重畳するデジタルコンテンツの位置を正確に計算し続け、図13に示されるようなAR共有の実行処理を実現する。
以下、上述した図7、14、16、17に示される画面構成について、より詳細に説明する
まず、上述した図7に示されるAR共有の準備状態において表示されるHMD130の画面構成について、より詳細に説明する。
サーバ装置120は、互いに予め定められた一定距離以下に近づいたHMD130を検知し(S303)、HMD130間に関連する情報を検索する(S304)。その際に、HMD130は、サーバ装置120から関連情報有りの旨を受信した場合に図7に示される画面を表示する。
このとき、HMD130は、図7に示されるように透過型ディスプレイ326に、関連するデジタルコンテンツ有りの情報として、AR表示の開始指示を示すアイコン1401を表示する。
HMD130は、AR表示の開始指示を示すアイコン1401を、AR共有する相手(他のHMD130)の名前や所属部門等を示す表示情報1402の付近に表示する。HMD130は、AR表示の開始指示を示すアイコン1401における選択指示を受け付けた場合(S305)、"AR共有の準備状態"に移行し、サーバ装置120にモード変更通知を送信する(S501)。
HMD130は、その他の情報として時間やスケジュール情報1403、現在の位置情報1404等を透過型ディスプレイ326に表示することができる。
まず、上述した図7に示されるAR共有の準備状態において表示されるHMD130の画面構成について、より詳細に説明する。
サーバ装置120は、互いに予め定められた一定距離以下に近づいたHMD130を検知し(S303)、HMD130間に関連する情報を検索する(S304)。その際に、HMD130は、サーバ装置120から関連情報有りの旨を受信した場合に図7に示される画面を表示する。
このとき、HMD130は、図7に示されるように透過型ディスプレイ326に、関連するデジタルコンテンツ有りの情報として、AR表示の開始指示を示すアイコン1401を表示する。
HMD130は、AR表示の開始指示を示すアイコン1401を、AR共有する相手(他のHMD130)の名前や所属部門等を示す表示情報1402の付近に表示する。HMD130は、AR表示の開始指示を示すアイコン1401における選択指示を受け付けた場合(S305)、"AR共有の準備状態"に移行し、サーバ装置120にモード変更通知を送信する(S501)。
HMD130は、その他の情報として時間やスケジュール情報1403、現在の位置情報1404等を透過型ディスプレイ326に表示することができる。
次に、上述した図14に示されるAR共有の実行状態において表示されるHMD130の画面構成について、より詳細に説明する。
HMD130は、サーバ装置120から自然特徴点ペアに関する情報を受信すると、"AR共有の実行表示"に移行し、デジタルコンテンツのAR表示を行う(S601)際に図14に示される画面を透過型ディスプレイ326に表示する。
HMD130は、受信した自然特徴点ペアを使用してデジタルコンテンツの表示候補を決定し、表示候補1711、1712、1713をAR表示する。
HMD130は、赤外カメラ330を介してユーザから表示候補の選択指示を受け付け(S603)、選択位置にデジタルコンテンツ1701をARとして共有表示する(S604)。
AR共有表示中のHMD130は、他のHMD130に対して予め定められた規定値以上の距離を離れた場合(S605)又はユーザからの終了指示を受け付けた場合(S606)、デジタルコンテンツ1701のAR表示を終了する(S607)。
次に、上述した図16に示されるAR共有の誘導状態(回転方向)において表示されるHMD130の画面構成について、より詳細に説明する。
HMD130は、サーバ装置120から誘導依頼通知を受信(S507、S701)し、受信した誘導依頼通知が回転方向に対する内容であると判別(S702)し、"AR共有の誘導状態"に移行した場合に図16に示される画面を表示する。
ここで、図16(a)は、HMD130が誘導を開始する際に透過型ディスプレイ326に表示する画面である。一方、図16(b)は、HMD130が誘導終了時に透過型ディスプレイ326に表示する画面である。
HMD130は、誘導を開始する際に透過型ディスプレイ326に中心領域1501と、回転方向を示す誘導情報(矢印)1502とを表示する。中心領域1501は、ユーザの回転方向への向き合わせを支援するガイド幅である。回転方向を示す誘導情報(矢印)1502は、例えば矢印でHMD130に向くべき方向を示す矢印である。HMD130は、誘導を開始する際に、その他の表示情報1402、1403、1404を、中心領域1501と、回転方向を示す誘導情報(矢印)1502とに干渉しない表示位置に移動させる。
HMD130は、HMD130を装着したユーザが頭の向きを変更させ、透過型ディスプレイ326の中心領域1501に、サーバ装置120から指示された回転方向に合った画像が含まれると、中心領域1503を点灯させる。そして、HMD130は、誘導情報の表示を終了する(S707)。
HMD130は、サーバ装置120から自然特徴点ペアに関する情報を受信すると、"AR共有の実行表示"に移行し、デジタルコンテンツのAR表示を行う(S601)際に図14に示される画面を透過型ディスプレイ326に表示する。
HMD130は、受信した自然特徴点ペアを使用してデジタルコンテンツの表示候補を決定し、表示候補1711、1712、1713をAR表示する。
HMD130は、赤外カメラ330を介してユーザから表示候補の選択指示を受け付け(S603)、選択位置にデジタルコンテンツ1701をARとして共有表示する(S604)。
AR共有表示中のHMD130は、他のHMD130に対して予め定められた規定値以上の距離を離れた場合(S605)又はユーザからの終了指示を受け付けた場合(S606)、デジタルコンテンツ1701のAR表示を終了する(S607)。
次に、上述した図16に示されるAR共有の誘導状態(回転方向)において表示されるHMD130の画面構成について、より詳細に説明する。
HMD130は、サーバ装置120から誘導依頼通知を受信(S507、S701)し、受信した誘導依頼通知が回転方向に対する内容であると判別(S702)し、"AR共有の誘導状態"に移行した場合に図16に示される画面を表示する。
ここで、図16(a)は、HMD130が誘導を開始する際に透過型ディスプレイ326に表示する画面である。一方、図16(b)は、HMD130が誘導終了時に透過型ディスプレイ326に表示する画面である。
HMD130は、誘導を開始する際に透過型ディスプレイ326に中心領域1501と、回転方向を示す誘導情報(矢印)1502とを表示する。中心領域1501は、ユーザの回転方向への向き合わせを支援するガイド幅である。回転方向を示す誘導情報(矢印)1502は、例えば矢印でHMD130に向くべき方向を示す矢印である。HMD130は、誘導を開始する際に、その他の表示情報1402、1403、1404を、中心領域1501と、回転方向を示す誘導情報(矢印)1502とに干渉しない表示位置に移動させる。
HMD130は、HMD130を装着したユーザが頭の向きを変更させ、透過型ディスプレイ326の中心領域1501に、サーバ装置120から指示された回転方向に合った画像が含まれると、中心領域1503を点灯させる。そして、HMD130は、誘導情報の表示を終了する(S707)。
次に、上述した図17に示されるAR共有の誘導状態(座標)において表示されるHMD130の画面構成について、より詳細に説明する。
HMD130は、サーバ装置120から誘導依頼通知を受信(S506、S701)し、受信した誘導依頼通知が座標に対する内容であると判別(S702)し、"AR共有の誘導状態"に移行した場合に図17に示される画面を表示する。
HMD130は、移動先によって、図17(a)や図17(b)に示されるように透過型ディスプレイ326に表示する画面構成を変更する。
HMD130は、移動先が視界に既にある場合は、透過型ディスプレイ326に図17(a)に示されるような画面を表示する。HMD130は、移動方向を矢印1601で、サーバ装置120から指定された座標を矩形1602等で表示する。HMD130は、HMD130を装着したユーザが矢印1601の先まで移動すると(S704)、図16(a)に示されるような回転方向への誘導情報の表示に切り替える(S705)。
HMD130は、移動先が視界に無い場合は、透過型ディスプレイ326に図17(b)に示される画面を表示する。この場合、HMD130は、視界に誘導先が入る位置までHMD130を装着したユーザを誘導する必要があるため、オフィスのレイアウト図の強調1612、誘導先への矢印1611を表示する。HMD130は、視界に誘導先が入る位置まで移動すると、図17(a)に示される画面を透過型ディスプレイ326に表示する。
HMD130は、サーバ装置120から誘導依頼通知を受信(S506、S701)し、受信した誘導依頼通知が座標に対する内容であると判別(S702)し、"AR共有の誘導状態"に移行した場合に図17に示される画面を表示する。
HMD130は、移動先によって、図17(a)や図17(b)に示されるように透過型ディスプレイ326に表示する画面構成を変更する。
HMD130は、移動先が視界に既にある場合は、透過型ディスプレイ326に図17(a)に示されるような画面を表示する。HMD130は、移動方向を矢印1601で、サーバ装置120から指定された座標を矩形1602等で表示する。HMD130は、HMD130を装着したユーザが矢印1601の先まで移動すると(S704)、図16(a)に示されるような回転方向への誘導情報の表示に切り替える(S705)。
HMD130は、移動先が視界に無い場合は、透過型ディスプレイ326に図17(b)に示される画面を表示する。この場合、HMD130は、視界に誘導先が入る位置までHMD130を装着したユーザを誘導する必要があるため、オフィスのレイアウト図の強調1612、誘導先への矢印1611を表示する。HMD130は、視界に誘導先が入る位置まで移動すると、図17(a)に示される画面を透過型ディスプレイ326に表示する。
以上、本実施形態によれば、サーバ装置120は、HMD130から受信した画像から自然特徴点を抽出し、抽出した特徴点を特徴点ペアとして関連付けられるか否か判断する。そして、サーバ装置120は、特徴点ペアとして関連付けられると判断した場合、前記特徴点ペアに関する情報をHMD130に送信する。これにより、HMD130は、受信した自然特徴点ペアの情報に基づいてAR共有を実行する。
一方、サーバ装置120は、特徴点ペアとして関連付けることができないと判断した場合、管理している自然特徴点管理テーブル(図3(b))に基づいて、HMD130を装着しているユーザをAR共有することができる位置に誘導する。より具体的には、サーバ装置120は、複数のHMD130(例えば第1のHMDと、第2のHMDとする)が撮像する画像から抽出した自然特徴点から自然特徴点ペアを決定することができる位置に第1のHMDと、第2のHMDとを誘導する。その際、サーバ装置120は、HMDに誘導依頼通知を送信する。そして、HMDは、誘導情報を画面に表示し、サーバ装置120が指定する位置にユーザを誘導する。これにより、サーバ装置120は、HMD130を装着しているユーザが自然特徴点ペアを得ることができない位置にいる場合においても、AR共有することができる位置にユーザを誘導することができる。なお、第1のHMDは、第1の携帯端末装置の一例である。また、第1のHMDが撮像した画像は、第1の画像の一例である。同様に、第2のHMDは、第2の携帯端末装置の一例である。また、第2のHMDが撮像した画像は、第2の画像の一例である。
一方、サーバ装置120は、特徴点ペアとして関連付けることができないと判断した場合、管理している自然特徴点管理テーブル(図3(b))に基づいて、HMD130を装着しているユーザをAR共有することができる位置に誘導する。より具体的には、サーバ装置120は、複数のHMD130(例えば第1のHMDと、第2のHMDとする)が撮像する画像から抽出した自然特徴点から自然特徴点ペアを決定することができる位置に第1のHMDと、第2のHMDとを誘導する。その際、サーバ装置120は、HMDに誘導依頼通知を送信する。そして、HMDは、誘導情報を画面に表示し、サーバ装置120が指定する位置にユーザを誘導する。これにより、サーバ装置120は、HMD130を装着しているユーザが自然特徴点ペアを得ることができない位置にいる場合においても、AR共有することができる位置にユーザを誘導することができる。なお、第1のHMDは、第1の携帯端末装置の一例である。また、第1のHMDが撮像した画像は、第1の画像の一例である。同様に、第2のHMDは、第2の携帯端末装置の一例である。また、第2のHMDが撮像した画像は、第2の画像の一例である。
<その他の実施形態>
また、本実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、デジタルコンテンツ等のデータを異なる端末(例えばHMD130)の表示部にAR表示をする際に、ユーザを誘導することにより、ユーザ自身が自然特徴点を十分に得られる場所を判断する必要がなくなる。即ち、HMD130を装着したユーザが妥当な量の自然特徴点を得ることができる場所を判断しなければいけない手間を軽減することができる。
以上、本発明の好ましい形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
Claims (13)
- 第1の携帯端末装置により撮像された第1の画像と、第2の携帯端末装置により撮像された第2の画像とを受信する受信手段と、
前記受信手段により受信された第1の画像と、第2の画像との夫々の画像から複数の特徴点を抽出する抽出手段と、
前記抽出手段により第1の画像から抽出された複数の特徴点と、第2の画像から抽出された複数の特徴点とのうち、同一の特徴点を示す特徴点のペアである特徴点ペアとして対応付けられる特徴点があるか否かを判断する判断手段と、
前記判断手段により対応付けられる特徴点がないと判断された場合、特徴点ペアとして対応付けられる特徴点を抽出可能な画像を撮像することができる撮像条件情報を含む誘導要求を前記第1の携帯端末装置と、前記第2の携帯端末装置とに送信する送信手段と、
を有するサーバ装置。 - 前記判断手段は、前記第1の携帯端末装置及び前記第2の携帯端末装置の位置情報と、向き情報とに基づいて、前記抽出手段により第1の画像から抽出された複数の特徴点と、第2の画像から抽出された複数の特徴点とのうち、特徴点ペアとして対応付けられる特徴点があるか否かを判断する請求項1記載のサーバ装置。
- 前記第1の携帯端末装置及び前記第2の携帯端末装置が撮像した画像の特徴点数を示す特徴点数情報と、前記画像の撮像条件情報とを関連付けた管理情報を管理する管理手段と、
前記判断手段により対応付けられる特徴点がないと判断された場合、特徴点数が予め定められた閾値以上となる特徴点数情報を前記管理手段により管理されている前記管理情報から検索する検索手段と、
を更に有し、
前記送信手段は、前記検索手段により検索された特徴点数情報と関連付けられた撮像条件情報を含む誘導要求を前記第1の携帯端末装置と、前記第2の携帯端末装置とに送信する請求項1又は2記載のサーバ装置。 - 前記検索手段は、前記撮像条件情報に含まれる携帯端末装置の位置情報に基づいて、特徴点数が予め定められた閾値以上である特徴点数情報のうち、現在位置に最も近い位置の位置情報に対応する特徴点数情報を前記管理情報から検索する請求項3記載のサーバ装置。
- ネットワークを介して通信可能な撮像装置から、前記第1の携帯端末装置及び前記第2の携帯端末装置の環境における環境情報を受信する環境情報受信手段を更に有し、
前記検索手段は、前記環境情報受信手段により受信された環境情報と、前記撮像条件情報に含まれる携帯端末装置の位置情報とに基づいて、特徴点数が予め定められた閾値以上である特徴点数情報のうち、障害物と干渉しない位置の位置情報に対応する特徴点数情報を前記管理情報から検索する請求項3又は4記載のサーバ装置。 - 前記環境情報受信手段は、人物の位置を示す動線情報と、物の配置を示す配置情報とを含む情報である環境情報を受信する請求項5記載のサーバ装置。
- 前記送信手段により送信された前記誘導要求に基づいて移動した前記第1の携帯端末装置と、前記第2の携帯端末装置との距離が予め定められた距離以内となると、前記第1の携帯端末装置及び前記第2の携帯端末装置に共有情報がある旨を通知する通知手段を更に有する請求項1乃至6何れか1項記載のサーバ装置。
- 前記撮像条件情報には、前記第1の携帯端末装置及び前記第2の携帯端末装置の位置情報と、向き情報とが含まれ、
前記送信手段は、前記撮像条件情報を含む誘導要求を前記第1の携帯端末装置と、前記第2の携帯端末装置とに送信する請求項1乃至7何れか1項記載のサーバ装置。 - 前記判断手段により対応付けられる特徴点があると判断された場合、前記特徴点を特徴点ペアとして関連付ける関連付け手段と、
前記関連付け手段により関連付けられた特徴点ペアに関する特徴点ペア情報を前記第1の携帯端末装置と、前記第2の携帯端末装置とに送信する特徴点ペア情報送信手段と、
を更に有する請求項1記載のサーバ装置。 - 第1の携帯端末装置により撮像された第1の画像と、第2の携帯端末装置により撮像された第2の画像とを受信する受信手段と、
前記受信手段により受信された第1の画像と、第2の画像との夫々の画像から複数の特徴点を抽出する抽出手段と、
前記抽出手段により第1の画像から抽出された複数の特徴点と、第2の画像から抽出された複数の特徴点とのうち、同一の特徴点を示す特徴点のペアである特徴点ペアとして対応付けられる特徴点があるか否かを判断する判断手段と、
前記判断手段により対応付けられる特徴点がないと判断された場合、特徴点ペアとして対応付けられる特徴点を抽出可能な画像を撮像することができる撮像条件情報を含む誘導要求を前記第1の携帯端末装置と、前記第2の携帯端末装置とに送信する送信手段と、
前記送信手段により送信された前記誘導要求を受信する要求受信手段と、
前記要求受信手段により受信された前記誘導要求に基づいて、表示装置に誘導情報を表示する表示手段と、
を有するシステム。 - サーバ装置が実行する情報処理方法であって、
第1の携帯端末装置により撮像された第1の画像と、第2の携帯端末装置により撮像された第2の画像とを受信する受信ステップと、
前記受信ステップにより受信された第1の画像と、第2の画像との夫々の画像から複数の特徴点を抽出する抽出ステップと、
前記抽出ステップにより第1の画像から抽出された複数の特徴点と、第2の画像から抽出された複数の特徴点とのうち、同一の特徴点を示す特徴点のペアである特徴点ペアとして対応付けられる特徴点があるか否かを判断する判断ステップと、
前記判断ステップにより対応付けられる特徴点がないと判断された場合、特徴点ペアとして対応付けられる特徴点を抽出可能な画像を撮像することができる撮像条件情報を含む誘導要求を前記第1の携帯端末装置と、前記第2の携帯端末装置とに送信する送信ステップと、
を含む情報処理方法。 - システムが実行する情報処理方法であって
第1の携帯端末装置により撮像された第1の画像と、第2の携帯端末装置により撮像された第2の画像とを受信する受信ステップと、
前記受信ステップにより受信された第1の画像と、第2の画像との夫々の画像から複数の特徴点を抽出する抽出ステップと、
前記抽出ステップにより第1の画像から抽出された複数の特徴点と、第2の画像から抽出された複数の特徴点とのうち、同一の特徴点を示す特徴点のペアである特徴点ペアとして対応付けられる特徴点があるか否かを判断する判断ステップと、
前記判断ステップにより対応付けられる特徴点がないと判断された場合、特徴点ペアとして対応付けられる特徴点を抽出可能な画像を撮像することができる撮像条件情報を含む誘導要求を前記第1の携帯端末装置と、前記第2の携帯端末装置とに送信する送信ステップと、
前記送信ステップにより送信された前記誘導要求を受信する要求受信ステップと、
前記要求受信ステップにより受信された前記誘導要求に基づいて、表示装置に誘導情報を表示する表示ステップと、
を含む情報処理方法。 - コンピュータに、
第1の携帯端末装置により撮像された第1の画像と、第2の携帯端末装置により撮像された第2の画像とを受信する受信ステップと、
前記受信ステップにより受信された第1の画像と、第2の画像との夫々の画像から複数の特徴点を抽出する抽出ステップと、
前記抽出ステップにより第1の画像から抽出された複数の特徴点と、第2の画像から抽出された複数の特徴点とのうち、同一の特徴点を示す特徴点のペアである特徴点ペアとして対応付けられる特徴点があるか否かを判断する判断ステップと、
前記判断ステップにより対応付けられる特徴点がないと判断された場合、特徴点ペアとして対応付けられる特徴点を抽出可能な画像を撮像することができる撮像条件情報を含む誘導要求を前記第1の携帯端末装置と、前記第2の携帯端末装置とに送信する送信ステップと、
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013073321A JP2014197348A (ja) | 2013-03-29 | 2013-03-29 | サーバ装置、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013073321A JP2014197348A (ja) | 2013-03-29 | 2013-03-29 | サーバ装置、情報処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014197348A true JP2014197348A (ja) | 2014-10-16 |
Family
ID=52358070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013073321A Pending JP2014197348A (ja) | 2013-03-29 | 2013-03-29 | サーバ装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014197348A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017117115A (ja) * | 2015-12-22 | 2017-06-29 | 富士通株式会社 | コンテンツ制御プログラム、コンテンツ制御方法、コンテンツ制御装置、及びコンテンツ表示装置 |
JP2018097694A (ja) * | 2016-12-14 | 2018-06-21 | 富士通株式会社 | 送信制御プログラム、送信制御方法および情報処理装置 |
WO2019130991A1 (ja) * | 2017-12-26 | 2019-07-04 | 株式会社Nttドコモ | 情報処理装置 |
-
2013
- 2013-03-29 JP JP2013073321A patent/JP2014197348A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017117115A (ja) * | 2015-12-22 | 2017-06-29 | 富士通株式会社 | コンテンツ制御プログラム、コンテンツ制御方法、コンテンツ制御装置、及びコンテンツ表示装置 |
JP2018097694A (ja) * | 2016-12-14 | 2018-06-21 | 富士通株式会社 | 送信制御プログラム、送信制御方法および情報処理装置 |
WO2019130991A1 (ja) * | 2017-12-26 | 2019-07-04 | 株式会社Nttドコモ | 情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102520183B1 (ko) | 디지털 트윈을 이용한 증강현실 기반 현장 모니터링 시스템 및 방법 | |
KR101422808B1 (ko) | 드로잉 화면 공유 서비스의 제공 장치 및 방법과 이를 위한 휴대 단말 | |
JP5776201B2 (ja) | 情報処理装置、情報共有方法、プログラム及び端末装置 | |
US20140313228A1 (en) | Image processing device, and computer program product | |
US20140009494A1 (en) | Display control device, display control method, and program | |
KR20160017050A (ko) | 공간 이벤트 맵을 포함하는 협업 시스템 | |
CN107102833B (zh) | 线路信息互动方法及电子设备 | |
KR20110090789A (ko) | 통신 제어 장치, 통신 제어 방법 및 프로그램 | |
Dearman et al. | Determining the orientation of proximate mobile devices using their back facing camera | |
JPWO2013145614A1 (ja) | 情報処理装置、サーバ装置、情報処理方法、およびプログラム | |
KR20170073068A (ko) | 이동단말기 및 그 제어방법 | |
CN103369464A (zh) | 电子设备通信方法、电子设备以及电子设备通信系统 | |
US20120296979A1 (en) | Conference system, conference management apparatus, method for conference management, and recording medium | |
JP2014197348A (ja) | サーバ装置、情報処理方法及びプログラム | |
JP5942498B2 (ja) | 画面送信装置、画面共有装置、画面送信方法、及び、画面送信プログラム | |
US11799925B2 (en) | Communication system, communication terminal, and screen sharing method | |
JP2013085200A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2010120129A (ja) | ロボット連携システム、ロボット連携方法及びプログラム | |
KR102260193B1 (ko) | 3차원 공간에 대한 보안기능을 제공하는 증강현실 원격 통신방법 및 시스템 | |
KR101659066B1 (ko) | 가상 공간 및 가상 객체를 포함하는 메시지를 생성하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
JP2014120878A (ja) | 所定領域管理システム、所定領域管理方法、及びプログラム | |
KR102467017B1 (ko) | 다중 사용자 간의 증강현실 커뮤니케이션 방법 | |
JP2016038682A (ja) | 情報処理装置及びその制御方法、サーバ装置及びその制御方法、コンピュータプログラム | |
KR20210007931A (ko) | 로봇 아바타를 통한 실시간 vr 서비스 제공방법 | |
JP2016143361A (ja) | サーバ、端末特定方法および端末特定プログラム |