以下、図面に基づいて、実施形態を説明する。
図1は、位置推定装置の一実施形態を示す。図1に示した位置推定装置10は、無線LAN(Local Area Network)などのネットワークNWを介して、カメラCAMによって撮影された画像IMGを受ける。また、位置推定装置10は、ネットワークNWを介してサーバ装置SVに接続されている。
図1に示したカメラCAMは、屋内の所定の位置に固定されている。カメラCAMは、例えば、会議室など室内の天井などに、端末装置UEを所持した人物P1が滞在することが想定される範囲RNGを撮影可能な向きDIRで固定される。図1の例では、カメラCAMが撮影する範囲RNGは、会議室内に設置されたテーブルTBLの上面と、テーブルTBLに隣接するイスCHに着席した人物P1の手元と、人物P1が所持する端末装置UEとを含んでいる。また、カメラCAMは、例えば数ミリ秒から数秒程度の所定の時間毎に範囲RNGを撮影し、撮影で得られる画像IMGを順次に位置推定装置10に渡す。また、3次元空間においてカメラCAMの向きDIRを示す情報は、例えば、カメラCAMの設置時などに、予め、位置推定装置10に渡されている。
端末装置UEは、例えば、スマートフォンや携帯電話などの携帯端末装置である。端末装置UEは、スマートフォンなどの携帯端末装置に限らず、表示部DSPとネットワークNWへの接続機能とを有する装置であればよく、例えば、タブレット型のコンピュータや携帯型のゲーム機でもよい。また、端末装置UEは、表示部DSPとネットワークNWへの接続機能とを有していれば、据え置き型の装置でもよく、例えば、多機能プリンタを含むプリンタ装置やプロジェクタ装置などでもよい。
図1に示した位置推定装置10は、制御部11と、特定部12と、第1推定部13とを含んでいる。制御部11および特定部12は、例えば、ネットワークNWを介してカメラCAMに接続されている。また、制御部11は、ネットワークNWを介して端末装置UEに無線で接続されており、一方、第1推定部13は、例えば、ネットワークNWを介してサーバ装置SVに接続されている。なお、位置推定装置10は、図1の例のように、端末装置UEおよびサーバ装置SVの両者から独立した装置として設けられてもよいし、端末装置UEあるいはサーバ装置SVのいずれかに含まれていてもよい。更に、位置推定装置10に含まれる複数の機能を、端末装置UEとサーバ装置SVとに分散して設けてもよい。例えば、制御部11および特定部12を端末装置UEに設け、第1推定部13をサーバ装置SVに設けてもよい。なお、位置推定装置10が端末装置UEに含まれる場合の実施形態は、図8を用いて後述される。また、位置推定装置10がサーバ装置SVに含まれる場合の実施形態は、図11を用いて後述される。そして、位置推定装置10に含まれる複数の機能が、端末装置UEとサーバ装置SVとに分散して設けられる場合の実施形態は、図16を用いて後述される。
制御部11は、ネットワークNWを介して、端末装置UEを含む所定の範囲RNGをカメラCAMによって撮影した画像IMGを受け、受けた画像IMGの特徴で示される端末装置UEの周囲の環境の特徴とは異なる第1特徴を有する画像を生成する。また、制御部11は、ネットワークNWを介して、生成した第1特徴を有する画像を端末装置UEに渡し、端末装置UEに設けられた表示部DSPに第1特徴を有する画像を表示させる。なお、制御部11は、第1特徴を示す情報を端末装置UEに渡し、端末装置UEに第1特徴に基づく画像の生成と生成した画像の表示を指示することで、第1特徴を有する画像を端末装置UEの表示部DSPに表示させてもよい。制御部11は、例えば、室内に設けられたネットワークNWのアクセスポイントなどから、室内に滞在する端末装置UEを識別するためのIP(Internet Protocol)アドレスなどの識別情報を取得することができる。また、制御部11は、第1特徴を有する画像の配信などに、アクセスポイントなどから取得した識別情報を用いることができる。
例えば、制御部11は、カメラCAMから受けた画像IMGを解析することで、端末装置UEの周囲の環境の特徴として、画像IMGに含まれる各画素の色を示す情報を抽出する。次いで、制御部11は、抽出した情報に基づいて、端末装置UEの周囲の環境の特徴とは異なる第1特徴として、画像IMGに含まれる各画素の色として含まれていない色を求める。そして、制御部11は、第1特徴を有する画像として、求めた色を示す画像を生成し、生成した画像を端末装置UEの表示部DSPに表示させる。また、制御部11は、画像IMGに含まれる各画素の色を示す情報から、端末装置UEの周囲の環境の特徴として各画素の色の色空間における分布を求め、求めた分布により、端末装置UEの環境において出現頻度が少ないことが示された色を第1特徴としてもよい。制御部11は、例えば、各画素の色の色空間における分布において、分布している画素の密度が最も低い色を検出し、検出した色を示す画像を、端末装置UEの環境において特異な特徴である第1特徴を示す画像として生成してもよい。
なお、制御部11が端末装置UEの表示部DSPに表示させる画像が有する第1特徴は、画像IMGにおいて出現頻度が低い色に限られない。例えば、第1特徴は、端末装置UEおよび端末装置UEの周囲を撮影した画像IMGにおいて表示部DSPに表示された画像を際立たせる特徴であればよい。例えば、制御部11は、画像IMGに含まれるどの領域とも異なるテクスチャなどの特徴を第1特徴として用いてもよいし、複数種類の特徴を組み合わせることで、画像IMGに含まれるどの領域とも異なる第1特徴を求めてもよい。また、制御部11は、端末装置UEに予め設定された情報に基づいて端末装置UEに固有の画像を生成し、第1特徴を有する画像として、生成した画像を端末装置UEの表示部DSPに表示させてもよい。制御部11により、第1特徴を有する画像として、端末装置UEに予め設定された情報に基づいて生成された端末装置UEに固有の画像を用いる手法については、図16および図17を用いて後述する。
特定部12は、制御部11によって生成された第1特徴を有する画像が端末装置UEの表示部DSPに表示された際に、端末装置UEをカメラCAMで撮影することで得られる画像IMGを第1画像として受ける。また、特定部12は、制御部11によって端末装置UEに渡された画像の特徴である第1特徴を示す情報を制御部11から受ける。そして、特定部12は、カメラCAMから第1画像として受けた画像IMGにおいて、制御部11から受けた情報で示される第1特徴を有する領域を検出することで、表示部DSPに表示された画像の領域を検出する。更に、特定部12は、検出した領域の画像IMGにおける位置を特定することで、画像IMGに含まれる端末装置UEの表示部DSPを示す領域の位置、即ち、端末装置UEの画像における位置を特定する。また、特定部12は、特定した位置を示す情報を第1推定部13に渡す。
例えば、特定部12は、端末装置UEの表示部DSPに表示された画像の色を示す情報を制御部11から受け、カメラCAMから受けた画像IMGから、制御部11から受けた情報で示される色の領域を検出する。
図2は、図1に示したカメラCAMによって撮影された画像IMGの例を示す。図2においては、カメラCAMによって撮影された画像IMGの一部が示されている。また、図2において、座標軸x、yは、たとえば、特定部12および第1推定部13が画像IMGにおける位置を示すために使用し、画像IMGには含まれない。
図2に示した画像IMGは、図1に示したテーブルTBLの上面の一部と、テーブルTBLの上に置かれた文書DOCと、人物P1の右手HRと、人物P1の左手HLの一部と、人物P1が右手HRで保持している端末装置UEとを含んでいる。
特定部12は、制御部11から受けた情報で示される色の領域を画像IMGから検出することで、図2に示した画像IMGにおいて端末装置UEを表す領域として、斜線を付した領域(例えば、表示部DSPの領域)を検出する。そして、特定部12は、例えば、図2に示すように、検出した領域の重心G1を示す画像IMG中の座標を求め、求めた重心G1の座標により、画像IMGにおける端末装置UEの位置を特定する。
ここで、端末装置UEの表示部DSPに表示された画像の色は、制御部11により、カメラCAMによって撮影された端末装置UEの周囲の環境に含まれる物体のいずれとも異なる色に設定される。即ち、制御部11が第1特徴を示す画像を端末装置UEの表示部DSPに表示させることにより、画像IMGに含まれる端末装置UEは、端末装置UEの周囲の環境に含まれる物体のいずれとも異なる特異な特徴を持つ物体となる。したがって、特定部12は、例えば、制御部11からの情報で示される色の領域を画像IMGから検出することで、様々な端末装置UEに共通する特徴に基づく検出を行う場合に比べて、画像IMGに含まれる端末装置UEを高い精度で検出することができる。そして、特定部12は、例えば、画像IMGから検出した領域の重心G1の位置を求めることで、端末装置UEの画像IMGにおける位置を高い精度で特定することができる。
図1に示した第1推定部13は、特定部12によって特定された画像IMGにおける端末装置UEの位置に基づいて、カメラCAMによって撮影される範囲RNGを含む3次元空間における端末装置UEの実際の位置を推定する。第1推定部13は、例えば、画像IMGにおける端末装置UEの位置を示す情報として、特定部12から、図2に示した重心G1の座標を受ける。また、第1推定部13は、例えば、カメラCAMが設置された際などに、カメラCAMの向きDIRを3次元空間において示す情報を予め受け、受けた情報を内部に設けられたメモリなどの記憶部に保持している。そして、第1推定部13は、記憶部に保持した情報で示されるカメラCAMの向きDIRに基づいて、範囲RNGを含む3次元空間における位置に画像IMGにおける位置を対応付ける座標変換を行う。つまり、第1推定部13は、カメラCAMの向きDIRに基づく座標変換により、特定部12から受けた重心G1の座標から、端末装置UEの3次元空間における位置を推定する。
図3は、図1に示した位置推定装置10の動作を示す。図3に示したステップS301〜ステップS304の処理は、図1に示した位置推定装置10の動作を示すとともに、位置推定方法および位置推定プログラムの例を示す。例えば、図3に示す処理は、位置推定装置10に搭載されたプロセッサが位置推定プログラムを実行することで実現される。なお、図3に示す処理は、位置推定装置10に搭載されるハードウェアによって実行されてもよい。
ステップS301において、制御部11は、カメラCAMで端末装置UEを含む範囲RNGを撮影することで得られる画像IMGの特徴で示される端末装置UEの周囲の環境の特徴とは異なる第1特徴を示す画像を端末装置UEに表示させる。例えば、制御部11は、カメラCAMで撮影された画像を受け、受けた画像IMGを解析することで、画像IMGの特徴として、画像IMGに含まれる各画素の色の色空間における分布を示す情報を生成する。そして、制御部11は、画像IMGに含まれる各画素の色の色空間における分布を示す情報に基づいて、画像IMGに含まれない色を特定し、第1特徴を有する画像として、特定した色を示す画像を生成し、生成した画像を端末装置UEの表示部DSPに表示させる。
ステップS302において、位置推定装置10に含まれる特定部12は、ステップS301の処理で生成された画像を表示している端末装置UEをカメラCAMで撮影して得られる画像を受ける。
ステップS303において、特定部12は、ステップS302の処理で受けた画像IMGから、第1特徴を有する領域を検出し、検出した領域の画像IMGにおける位置を求めることで、端末装置UEの画像IMGにおける位置を特定する。
ステップS304において、第1推定部13は、ステップS303の処理で特定した端末装置UEの画像IMGにおける位置と、カメラCAMの向きDIRを示す情報とに基づいて、端末装置UEの3次元空間における位置を推定する。
図2を用いて説明したように、ステップS301の処理で、制御部11が端末装置UEに第1特徴を有する画像を表示させることで、ステップS302の処理で受ける画像IMGに含まれる表示部DSPの領域は周囲と異なる特異な特徴を示すことになる。したがって、ステップS303の処理で、特定部12は、端末装置UEの表示部DSPの領域を画像IMGから高い精度で抽出し、抽出した領域の位置を特定することで、画像IMGにおける端末装置UEの位置を特定することができる。例えば、図2に示したように、特定部12により、端末装置UEの表示部DSPの領域として画像IMGから抽出された領域の重心G1の座標は、従来技術に比べて、画像IMGにおける端末装置UEの位置を高い精度で示している。また、3次元空間においてカメラCAMの向きDIRを示す情報は、カメラCAMを設置する際などに、例えば、カメラCAMが設置された部屋の壁と天井とが交差する頂点の一つを基準とする座標系を用いて精密に求めることができる。そして、カメラCAMの設置時などに求めた向きDIRを示す情報は、第1推定部13に含まれるメモリ等に予め記憶させることができ、ステップS304の処理で用いることができる。したがって、図1に示した位置推定装置10は、端末装置UEをカメラCAMで撮影した画像に基づいて、端末装置UEの3次元空間における位置を従来よりも高い精度で推定することができる。
即ち、図1に示した位置推定装置10は、端末装置UEの固有の特徴が予め得られていない場合でも、カメラCAMで撮影された画像IMGに基づいて、撮影された画像IMGに含まれる端末装置UEの3次元空間における位置を推定することができる。
これにより、位置推定装置10は、例えば、図1に示したカメラCAMが設置された室内に、端末装置UEと形状などの特徴が類似した別の端末装置がある場合でも、端末装置UEの室内における位置を推定することができる。
また、カメラCAMが設置された室内に、ネットワークNWに接続された複数の端末装置がある場合に、図1に示した位置推定装置10は、個々の端末装置について、図3に示した各処理を実行することで、各端末装置の位置を推定することができる。例えば、範囲RNGに複数の端末装置UEが含まれる場合に、制御部11により、各端末装置UEにそれぞれ異なる第1特徴を有する画像を表示させることで、特定部12は、画像IMGに含まれる各端末装置UEを互いに区別することができる。なお、範囲RNGに滞在する複数の端末装置UEの位置を推定する手法については、図4〜図7などを用いて後述する。
つまり、図1に示した位置推定装置10は、カメラCAMで撮影された画像IMGに一つの端末装置UEが含まれる場合に限らず、複数の端末装置が画像IMGに含まれる場合にも、各端末装置の3次元空間における位置を推定することができる。
そして、例えば、カメラCAMが設置された室内の各端末装置UEやプリンタ装置等の位置を推定可能とすることは、端末装置UE等の識別情報の代わりに、端末装置UE等の位置を指定することで情報の転送先を指定するインタフェースの実現等で有用である。なお、端末装置UEやプリンタ装置等の位置を指定することで情報の転送先を指定するインタフェースを用いた情報転送システムは、図11〜図14などを用いて後述される。
また、第1推定部13において、端末装置UEの位置を推定する手法は、カメラCAMの向きDIRを示す情報を用いる手法に限られない。例えば、第1推定部13は、カメラCAMによって撮影される範囲RNGを区切った複数の領域である部分領域のそれぞれと画像IMGにおける座標の範囲との対応関係を用いて、部分領域を単位として端末装置UEの位置を推定してもよい。
図4は、位置推定装置10の別実施形態を示す。なお、図4に示す構成要素のうち、図1に示した構成要素と同等のものは、同一の符号で示され、構成要素の説明が省略される場合がある。
図4に示した位置推定装置10は、ネットワークNWを介して、人物P1,P2,P3,P4がそれぞれ所持している端末装置UE1,UE2,UE3,UE4に接続されている。端末装置UE1,UE2,UE3,UE4のそれぞれは、図1に示した端末装置UEと同様に、表示部とネットワークNWに接続する機能を有する装置であればよい。図4の例では、端末装置UE1〜UE4のそれぞれは、スマートフォンなどの携帯端末装置である。また、図4においては図示を省略しているが、端末装置UE1,UE2は、端末装置UE3に含まれる表示部DSP3および端末装置UE4に含まれる表示部DSP4と同様の表示部を有している。なお、以下の説明において、端末装置UE1,UE2,UE3,UE4を総称する際には、端末装置UEと略称される。
また、図4に示したカメラCAMが撮影する範囲RNG1は、テーブルTBLと、テーブルTBLの周囲を含んでいる。そして、カメラCAMによって撮影された画像IMGは、テーブルTBLの上面と、テーブルTBLに隣接して着席している人物P1〜P4および端末装置UE1〜UE4の画像を含んでいる。
また、図4に示したサーバ装置SVは、端末データベースDBに接続されている。なお、端末データベースDBは、カメラCAMが設置された室内に滞在している端末装置UEのそれぞれを識別するための識別情報と端末装置UEの室内での位置との対応関係を示す情報を蓄積するための記憶領域を含んでいる。なお、端末データベースDBは、サーバ装置SVに含まれるハードディスク装置などの記憶領域を用いることで、サーバ装置SVの内部に設けられてもよい。
図4に示した位置推定装置10は、制御部11aと、特定部12aと、第1推定部13aと、対応テーブル131と、第2推定部14とを含んでいる。制御部11aは、図1に示した制御部11の別例である。特定部12aは、図1に示した特定部12の別例であり、検出部121と、抽出部122と、判定部123とを含んでいる。第1推定部13aおよび対応テーブル131は、図1に示した第1推定部13の別例である。
図4に示した制御部11aは、例えば、カメラCAMで撮影された画像IMGを解析することで、複数の端末装置UEが滞在する室内の環境を示す画像IMGの特徴を抽出し、抽出した特徴とは異なる第1特徴を有する画像を生成する。制御部11aは、第1特徴を有する画像として、例えば、端末装置UE毎に、画像IMGに含まれていない色であって互いに異なる色を端末装置UEの表示部に表示させる画像を生成してもよい。また、制御部11aは、第1特徴を有する画像として、端末装置UEに含まれる表示部の表示画面を複数個に分割した領域のそれぞれを画像IMGに含まれていない色で表示させる画像を生成してもよい。以下の例では、制御部11aにより、端末装置UEに含まれる表示部の表示画面を分割した複数の領域に、それぞれ異なる色を表示させる画像を生成し、生成した画像を、各端末装置UE1〜UE4に表示させる場合が説明される。
図5は、端末装置UEの表示部DSPに表示された第1特徴を有する画像の例を示す。図5において、矩形Ar1および矩形Ar2は、端末装置UEに含まれる表示部DSPの表示画面を、表示画面の長手方向に2分割した領域のそれぞれを示す。
図5に示した領域Ar1に含まれる各画素の色である第1色と、領域Ar2に含まれる各画素の色である第2色とは、図4に示した制御部11aにより、画像IMGに含まれていない色であり、かつ、互いに異なる色に設定される。
なお、表示画面の分割数は2に限らず、制御部11aは、第1特徴を有する画像として、例えば、表示画面を3以上に分割した各領域に互いに異なる色を表示させる画像を生成してもよい。また、制御部11aは、第1色および第2色として、例えば、カメラCAMによって実際に撮影される画像IMGにおいて出現する可能性の低い色として予め用意した複数の候補の中から選択した色を用いてもよい。この場合に、制御部11aは、複数種類の純色を含む候補の中から、例えば、純色の赤と純色の緑のように、補色の関係にある2つの色を第1色および第2色として選択することが望ましい。例えば、制御部11aにより、第1色として純色の赤が選択され、第2色として純色の緑が選択された場合に、図5に示した表示部DSPの画像は、端末装置UEのメニュー画面などが表示されている場合に比べて、周囲の画像と明らかに異なる特徴を示す。即ち、予め用意した複数の候補の中から選択した複数の色を、表示部DSPに含まれる複数の領域にそれぞれ表示させる画像は、端末装置UEの周囲の環境の特徴とは異なる第1特徴を有する画像の一例である。
図6は、図4に示した端末装置UE1〜UE4を含む範囲RNG1を撮影した画像IMGの例を示す。なお、図6に示す構成要素のうち、図4に示した構成要素と同等のものは、同一の符号で示され、構成要素の説明が省略される場合がある。
図6に示した画像IMGは、端末装置UE1〜UE4のそれぞれに含まれる表示部により、図5に示した領域Ar1,Ar2を含む画像が表示された後に、カメラCAMによって撮影された画像の例である。図6の例では、画像IMGは、テーブルTBLと人物P1〜P4と端末装置UE1〜UE4とのそれぞれの画像を含んでいる。
図4に示した特定部12aに含まれる検出部121は、端末装置UE1〜UE4のそれぞれに含まれる表示部によって領域Ar1,Ar2を含む画像が表示された後に、カメラCAMによって数十ミリ秒程度の間隔で撮影される画像IMGを順次に受ける。検出部121は、受けた画像IMGのそれぞれから、例えば、図5で説明した第1色を示す領域Ar1と第2色を示す領域Ar2との境界を含む領域を、端末装置UE1〜UE4の領域として検出する。
図6において点線で囲んで示した矩形E1,E2,E3,E4は、図4に示した検出部121により、カメラCAMで撮影された画像IMGの一つから検出された第1特徴を有する画像の領域の例を示す。なお、図6において、第1特徴を有する画像の領域E1,E2,E3,E4のそれぞれは、図の見易さのために、画像IMGに含まれる端末装置UE1〜UE4の輪郭の外側を囲む矩形として示されており、実際の画像IMGには含まれない。
図4に示した抽出部122は、検出部121によって検出された第1特徴を有する画像の領域のそれぞれについて、画像IMGにおける動きの特徴を抽出する。例えば、抽出部122は、カメラCAMで時系列的に撮影された複数の画像IMGにおいて、第1特徴を有する画像の領域E1〜E4のそれぞれを追跡することで、図6に示した画像の領域E1〜E4の画像IMGにおける動きの特徴を抽出する。抽出部122は、例えば、画像の領域E1,E2,E3,E4のそれぞれの動きmv1,mv2,mv3,mv4が周期的な動きである場合に、動きの特徴として、動きの周期あるいは周波数を求めることが望ましい。
抽出部122により、第1特徴を有する画像の領域のそれぞれについて抽出された動きの特徴を示す情報は、図4に示した判定部123に渡される。また、判定部123は、ネットワークNWを介して、端末装置UE1〜UE4のそれぞれから、各端末装置UEの動きを示す情報を受ける。例えば、判定部123は、抽出部122によって画像IMGに含まれる第1特徴を有する領域の動きの特徴を抽出する処理が行われている期間に、各端末装置UEに含まれる加速度センサやジャイロセンサなどによって得られる計測値を受けることが望ましい。
判定部123は、検出部121によって検出された第1特徴を有する領域の中で、端末装置UEのそれぞれから受けた動きの特徴と類似する特徴を示す領域を判定し、動きの特徴が類似すると判定した領域の位置を端末装置UEの位置として特定する。判定部123は、例えば、各端末装置UEから受けた加速度センサの計測値に基づいて、各端末装置UEの動きの周期を求め、求めた周期と第1特徴を有する領域のそれぞれについて抽出部122で求められた動きの周期とを照合する。そして、判定部123は、端末装置UE毎に、照合により、周期の差が所定値以下であるとされた動きを示す第1特徴を有する領域を判定し、判定した領域の位置を端末装置UEの位置として特定する。
ここで、図6に示したように、人物P1〜P4のそれぞれが所持している端末装置UE1〜UE4を振る動作などの周期的な動作を思い思いに行った場合に、各端末装置UE1〜UE4の動きmv1〜mv4の周期は互いに異なっている可能性が高い。したがって、例えば、図6に示した端末装置UE1の動きの周期と領域E1の動きmv1の周期とが所定値以内で一致する場合に、領域E1は、画像IMGにおいて端末装置UE1を示す領域である可能性が高い。すなわち、同じ第1特徴を有する領域E1〜E4の中から、端末装置UE1の動きの周期と所定値以内で一致する周期を持つ動きを示す領域を見つけることで、画像IMGにおいて端末装置UE1を示す領域を特定することができる。同様にして、図6に示した端末装置UE2〜UE4のそれぞれの動きの周期と、領域E2〜E4の動きmv2〜mv4の周期とを照合することで、画像IMGにおいて端末装置UE2〜UE4のそれぞれを示す領域を特定することができる。
以上に説明したように、図4に示した検出部121、抽出部122および判定部123を有する特定部12aは、第1特徴を有する領域の中で、各端末装置UEの動きと類似した動きを示す領域を、画像IMGにおいて各端末装置UEを示す領域として特定する。したがって、特定部12aは、制御部11aにより、各端末装置UEに同一の第1特徴を有する画像を表示させた場合でも、画像IMGにおいて各端末装置UEを示す領域を特定し、各端末装置UEの画像IMGにおける位置を特定することができる。
特定部12aによって各端末装置UEについて特定された画像IMGにおける位置を示す情報は、図4に示した第1推定部13aに渡される。また、図4に示した対応テーブル131は、例えば、図4に示したテーブルTBLに設けられた座席と、テーブルTBLを撮影した画像IMGにおいて各座席を示す領域の画像IMGにおける座標の範囲との対応関係を示す情報を含んでいる。
図7は、画像IMGにおいて各座席を示す領域の例を示す。なお、図7に示す構成要素のうち、図6に示した構成要素と同等のものは、同一の符号で示され、構成要素の説明が省略される場合がある。また、図7において、座標軸x、yは、例えば、第1推定部13aが画像IMGにおける位置を示すために使用し、実際の画像IMGには含まれない。
図7の例では、テーブルTBLの向かい合う長辺の一方に沿って、3つの座席S1,S2,S3が設けられており、他方の長辺に沿って同じく3つの座席S4,S5,S6が設けられている。また、図7において、破線で示した矩形のそれぞれは、テーブルTBLに設けられた座席S1,S2,S3,S4,S5,S6のそれぞれに対応する画像IMGの範囲を示し、実際の画像IMGには含まれない。図7の例では、点Ps1および点Pe1の座標で示される範囲は、座席S1に対応し、点Ps2および点Pe2の座標で示される範囲は、座席S2に対応する。また、図7において、点Ps3および点Pe3の座標で示される範囲は、座席S3に対応し、点Ps4および点Pe4の座標で示される範囲は、座席S4に対応する。そして、点Ps5および点Pe5の座標で示される範囲は、座席S5に対応し、点Ps6および点Pe6の座標で示される範囲は、座席S6に対応する。
図4に示した対応テーブル131は、例えば、座席S1〜S6のそれぞれを識別する識別情報に対応して、各座席S1〜S6に対応する範囲において対角の位置にある2つの頂点の座標を保持している。例えば、座席Sj(jは1〜6の整数)に対応する範囲を示す情報として、対応テーブル131は、各範囲を示す矩形において対角の位置にある2つの頂点Psjおよび頂点Pejの画像IMGにおける座標を保持する。
図4に示した第1推定部13aは、対応テーブル131で示される範囲の中から、各端末装置UEの画像IMGにおける位置を含む範囲を見つけることで、テーブルTBLに設けられた座席を単位として、各端末装置UEの3次元空間における位置を推定する。
例えば、第1推定部13aは、特定部12aにより、端末装置UE1の画像IMGにおける位置として特定された領域E1が、点Ps1および点Pe1で示される範囲に含まれることから、端末装置UEは座席S1の位置にあると推定する。同様に、第1推定部13aは、端末装置UE2の画像IMGにおける位置として特定された領域E2と点Ps3および点Pe3で示される範囲との位置関係から、端末装置UE2は座席S3の位置にあると推定する。また、第1推定部13aは、端末装置UE3の画像IMGにおける位置として特定された領域E3と点Ps4および点Pe4で示される範囲との位置関係から、端末装置UE3は座席S4の位置にあると推定する。そして、第1推定部13aは、端末装置UE4の画像IMGにおける位置として特定された領域E4と点Ps6および点Pe6で示される範囲との位置関係から、端末装置UE4は座席S6の位置にあると推定する。
以上に説明したように、第1推定部13aおよび対応テーブル131を有する位置推定装置10は、複数の端末装置UEを撮影した画像から、各端末装置UEの位置を、例えば、テーブルTBLに設けられた座席を単位として推定することができる。
第1推定部13aが座席を単位として各端末装置UEの位置を推定する処理は、図1で説明した第1推定部13によりカメラCAMの向きDIRを用いた座標変換を含む処理に比べて簡易な処理で実現が可能である。したがって、位置推定装置10を端末装置UEに搭載されたプロセッサなどの機能を用いて実現する場合にも、端末装置UEの処理負担の増大を抑制することができる。
また、テーブルTBLに設けられた座席毎に役割が特定されている場合などには、端末装置UEの位置として推定された座席により、端末装置UEを所持する人物P1が果たす役割を特定することも可能である。例えば、プレゼンテーションを実行する人物の座席などが予め決定されている場合に、第1推定部13aおよび対応テーブル131を有する位置推定装置10によって推定された端末装置UEの位置により、端末装置UEを所持する人物の役割の特定が可能である。即ち、図4に示した第1推定部13aおよび対応テーブル131を有する位置推定装置10は、座席ごとに異なる機能を持つアプリケーションや異なる内容の資料等の情報を配信する情報配信システムなどに適用する上で有用である。なお、位置推定装置10を適用した情報配信システムについては、図8〜図10を用いて後述される。
ここで、テーブルTBLに設けられた座席S1〜S6に対応付けられた範囲(図7参照)は、図4に示したカメラCAMによって撮影される範囲RNGを区切った複数の領域である部分領域の一例である。即ち、対応テーブル131に保持される情報は、図7に示した座席を単位とする範囲を示す情報に限られない。例えば、対応テーブル131に保持される情報は、カメラCAMによって撮影される範囲RNGを碁盤の目のように区切って得られる複数の部分領域のそれぞれに対応する画像IMGの座標の範囲を示す情報でもよい。この場合に、第1推定部13aは、特定部12aによって特定された各端末装置UEの画像IMGにおける位置に基づいて、対応テーブル13に保持された情報で示される各部分領域を単位として、端末装置UEの3次元空間における位置を推定する。
以上に説明した第1推定部13aによって推定された各端末装置UEの位置を示す情報は、ネットワークNWを介して、図4に示したサーバ装置SVに渡され、各端末装置UEの識別情報に対応して、端末データベースDBに蓄積される。
ところで、図4に示した特定部12aにより、端末装置UE1からUE4の画像IMGにおける位置として特定された領域E1〜E4を示す情報は、図4に示した第2推定部14にも渡されている。
第2推定部14は、特定部12aから受けた領域E1〜E4の形状に基づいて、各端末装置UE1〜UE4の姿勢を推定する。第2推定部14は、例えば、領域E1〜E4のそれぞれの形状と、端末装置UEに含まれる表示部DSPの基本的な形状である長方形からのゆがみに基づいて、各端末装置UEに含まれる表示部DSPの表示画面の水平面に対する傾きを求める。
例えば、図6に示した領域E1を示す矩形において、画像IMGの中央に近い辺の長さから対向する辺の長さを減じた差分が閾値以上である場合に、第2推定部14は、端末装置UE1の表示部DSPが設けられた面は水平面に対して仰角を持つと判断する。一方、図6に示した領域E1を示す矩形において、画像IMGの中央に近い辺の長さと対向する辺の長さとが同等である場合に、第2推定部14は、端末装置UE1の表示部DSPが設けられた面は水平面とほぼ平行であると判断する。また、図6に示した領域E1を示す矩形において、画像IMGの中央に近い辺の長さを対向する辺の長さから減じた差分が閾値以上である場合に、第2推定部14は、端末装置UE1の表示部DSPが設けられた面は水平面に対して俯角を持つと判断する。なお、仰角あるいは俯角を持つか否かの判定に用いる閾値は、例えば、画像IMGを撮影した際のカメラCAMの倍率や、端末装置UEに含まれる表示部DSPの標準的な大きさなどに基づいて、予め設定されることが望ましい。
また、第2推定部14は、各領域E1〜E2において、図5で説明した第1色および第色を示す領域がどのように配置されているかにより、各端末装置UE1〜UE4の人物P1〜P4による持ち方を判定してもよい。
例えば、図6に示した領域E1,E3、E4のように、第1色を示す領域が第2色を示す領域よりも画像IMGの中央に近い位置にある場合に、第2推定部14は、端末装置UEは、表示部DSPの長手方向を縦にした持ち方で支持されていると判定する。一方、図6に示した領域E2のように、第1色を示す領域と第2色を示す領域とがx軸方向に並んでいる場合に、第2推定部14は、端末装置UEは、表示部DSPの長手方向を横にした持ち方で支持されていると判定する。
端末装置UEの表示部DSPが設けられた面の水平面に対する傾き及び端末装置UEの持ち方は、第2推定部14によって推定される端末装置UEの姿勢を示す情報の一例である。即ち、第2推定部14によって推定される端末装置UEの姿勢は、表示部DSPが設けられた面の傾き及び端末装置UEの持ち方に限らず、画像IMGから抽出された端末装置UEを示す領域の形状から推定できる情報であればよい。例えば、各端末装置UEの表示部DSPの形状が予め得られる場合に、第2推定部14は、座標変換により、表示部DSPの形状を、画像IMGから抽出された領域の形状にゆがませる角度を求めることで、端末装置UEの3次元空間における傾きを推定できる。
以上に説明した第2推定部14によって推定された各端末装置UEの姿勢を示す情報は、ネットワークNWを介して、図4に示したサーバ装置SVに渡され、各端末装置UEの識別情報に対応して、端末データベースDBに蓄積される。
図4から図7を用いて説明したように、図4に示した位置推定装置10は、カメラCAMで撮影した画像IMGに基づいて、画像IMGに含まれる各端末装置UEの3次元空間における位置および各端末装置UEの姿勢を推定することができる。
また、図4の例では、位置推定装置10によって得られた各端末装置UEの位置および姿勢を示す情報は、端末データベースDBに蓄積される。そして、端末データベースDBに蓄積された情報を利用することで、サーバ装置SVは、各端末装置UEの位置などに基づく様々なサービスを各端末装置UEの利用者である人物P1〜P4に提供可能となる。
以下では、位置推定装置10によって推定された各端末装置UEの位置を利用することで可能となるサービスの例が説明される。まず、各端末装置UEの位置に応じた情報を配信する情報配信システムが説明される。
図8は、図4に示した位置推定装置10を含む情報配信システムのハードウェア構成例を示す。なお、図8に示す構成要素のうち、図4に示した構成要素と同等のものは、同一の符号で示され、構成要素の説明は省略される場合がある。
図8に示した情報配信システムSdvは、サーバ装置SVと、端末装置UE1,UE2,UE3,UE4と、ネットワークNWとを含んでいる。
端末装置UE1は、プロセッサ21と、メモリ22と、近距離無線通信インタフェース(I/F:InterFace)23と、表示制御部24と、入力制御部25と、タッチパネル26と、ネットワークインタフェース27とを含んでいる。また、端末装置UE1は、更に、センサ制御部28と、加速度センサ29aと、ジャイロセンサ29bとを含んでいる。図8に示したプロセッサ21と、メモリ22と、近距離無線通信インタフェース23と、表示制御部24と、入力制御部25と、ネットワークインタフェース27と、センサ制御部28とはバスを介して互いに接続されている。また、端末装置UE1は、近距離無線通信インタフェース23を介して、カメラCAMに接続されており、ネットワークインタフェース27を介してネットワークNWに接続されており、ネットワークNWを介してサーバ装置SVに接続されている。
端末装置UE1に含まれる表示制御部24は、プロセッサ21からの指示に基づいて、タッチパネル26に含まれる表示部に画像を表示させる。また、入力制御部25は、タッチパネル26に対して行われた操作から、端末装置UE1の利用者によって入力された情報を取得し、プロセッサ21に渡す。
図8に示した端末装置UE1において、プロセッサ21と、メモリ22と、近距離無線通信インタフェース23と、表示制御部24と、センサ制御部28とは、位置推定装置10に含まれている。また、タッチパネル26に含まれる表示部は、図1に示した表示部DSPに相当する。即ち、図8は、位置推定装置10に含まれる全ての機能を、端末装置UE1に搭載されたハードウェアによって実現した例である。なお、端末装置UE1とカメラCAMとの間の接続は、近距離無線通信インタフェース23による接続に限らず、無線通信による接続であればよく、例えば、端末装置UE1とカメラCAMとは無線LANによって接続されてもよい。
図8に示した端末装置UE2,UE3,UE4のそれぞれは、端末装置UE1と同様の構成要素を含んでいるが、図8においては、端末装置UE2〜UE4に含まれる構成要素の図示は省略されている。端末装置UE2〜UE4は、ネットワークNWに接続されており、ネットワークNWを介してサーバ装置SVに接続されている。以下の説明において、端末装置UE1〜UE4を互いに区別しない場合に、端末装置UE1〜UE4は、端末装置UEと総称される。
また、図8に示したサーバ装置SVは、プロセッサ31と、メモリ32と、ハードディスク装置33と、ネットワークインタフェース(I/F)34とを含んでいる。プロセッサ31と、メモリ32と、ハードディスク装置33と、ネットワークインタフェース34とは、バスを介して接続されている。また、サーバ装置SVは、ネットワークインタフェース34を介してネットワークNWに接続されている。
図8に示したメモリ22は、端末装置UEのオペレーティングシステムとともに、プロセッサ21が、図1から図7で説明した端末装置UEの位置を推定する処理のためのアプリケーションプログラムを格納している。端末装置UEの位置を推定する処理のためのアプリケーションプログラムは、図4に示した対応テーブル131に含まれる情報を含んでいることが望ましい。
端末装置UEの位置を推定する処理のためのアプリケーションプログラムは、例えば、ネットワークNWを介してサーバ装置SVからダウンロードすることで、メモリ22に格納される。また、端末装置UEの位置を推定する処理のためのアプリケーションプログラムをメモリ22に格納する際に、メモリ22の記憶領域の一部を用いて図4に示した対応テーブル131が設けられる。
そして、プロセッサ21は、メモリ22に格納されたアプリケーションプログラムを実行することにより、図4に示した制御部11、特定部12a、第1推定部13aおよび第2推定部14の機能を果たす。
また、図8に示したサーバ装置SVのメモリ32は、サーバ装置SVのオペレーティングシステムとともに、プロセッサ31が、端末装置UE1〜UE4への情報の配信を制御するためのアプリケーションプログラムを格納している。情報の配信を制御するためのアプリケーションプログラムは、配信の対象となる資料やサービスを示す情報を含んでいる。更に、情報の配信を制御するためのアプリケーションプログラムは、図7に示した座席S1〜S6のそれぞれに対応して予め設定された役割を示す設定情報と、各役割を果たす人物の端末装置UEに配信する情報との対応関係を示す制御情報とを含んでいる。また、メモリ32あるいはハードディスク装置33の記憶領域の一部は、図4に示した端末データベースDBに割り当てられている。
また、図8に示したサーバ装置SVと、端末装置UE1,UE2,UE3,UE4とは、情報配信システムSdvに含まれている。なお、情報配信システムSdvに含まれる端末装置UEの数は、図8に例として示した4台に限らず、3台以下でもよいし、5台以上でもよい。
まず、端末装置UEのプロセッサ21によって実行される端末装置UEの位置を推定する処理について説明する。プロセッサ21は、例えば、端末装置UEの利用者により、位置を推定する処理の開始を指示する操作として予め設定された操作がタッチパネル26に対して行われた際に、端末装置UEの位置を推定する処理を実行する。
図9は、図8に示した位置推定装置10の動作を示す。図9に示したステップS301、ステップS302およびステップS310〜ステップS317の各処理は、端末装置UEの位置を推定する処理のためのアプリケーションプログラムに含まれる処理の例である。また、ステップS301、ステップS302およびステップS310〜ステップS317の各処理は、図8に示した端末装置UE1〜UE4のそれぞれに搭載されたプロセッサ21によって実行される。なお、図9に示したステップのうち、図3に示したステップと同等のものは、同じ符号で示されている。
ステップS301において、プロセッサ21は、図8に示した近距離無線通信インタフェース23を介してカメラCAMから受けた画像IMGの特徴を抽出し、抽出した特徴とは異なる第1特徴を有する画像をタッチパネル26に含まれる表示部に表示させる。例えば、プロセッサ21は、カメラCAMから受けた画像IMGを解析することで、画像IMGの特徴として、画像IMGに含まれる各画素の色の色空間における分布を示す情報を求める。そして、プロセッサ21は、第1特徴を有する画像として、色空間における画素の分布密度が他の色よりも低い色である第1色をタッチパネル26に含まれる表示部の全ての画素に表示させる画像を生成する。そして、プロセッサ21は、表示制御部24の機能を利用することで、生成した画像を表示部に表示させる。
これにより、第1特徴を有する画像として、タッチパネル26の表示部に含まれる表示画面の全体に第1色を示させる画像が表示される。そして、第1特徴を有する画像を表示部に表示させた端末装置UEは、端末装置UEの環境において特異な特徴を持つ物体としてカメラCAMによって撮影される。
ステップS302において、プロセッサ21は、ステップS301の処理で第1特徴を有する画像を表示部に表示させた後の端末装置UEをカメラCAMで撮影することで得られた画像IMGを、近距離無線通信インタフェース23を介して受ける。
ステップS310において、プロセッサ21は、ステップS302の処理で受けた画像IMGにおいて第1特徴を有する領域を検出することで、画像IMGに含まれる端末装置UEを表す領域を検出する。例えば、プロセッサ21は、第1特徴を有する領域として、ステップS302の処理で受けた画像IMGの中で、ステップS301の処理で説明した第1色を示す領域を検出することで、画像IMGに含まれる端末装置UEを表す領域を検出する。すなわち、図8の例では、プロセッサ21が、ステップS310の処理を実行することにより、図4に示した検出部121の機能が実現されている。
ステップS311において、プロセッサ21は、ステップS310の処理で第1特徴を有する領域が検出できたか否かを判定する。
第1特徴を有する領域が検出できなかった場合に(ステップS311の否定判定(NO))、プロセッサ21は、端末装置UEは、まだ、カメラCAMが撮影する範囲に含まれていないと判断し、ステップS301の処理に戻る。
一方、ステップS310の処理で第1特徴を有する領域が検出された場合に(ステップS311の肯定判定(YES))、プロセッサ21は、ステップS312の処理に進む。
ステップS312において、プロセッサ21は、ステップS310の処理で、画像IMGから検出された第1特徴を有する領域が複数であったか否かを判定する。
第1特徴を有する領域として検出された領域が一つであった場合に(ステップS312の否定判定(NO))、プロセッサ21は、ステップS313の処理を実行する。
ステップS313において、プロセッサ21は、ステップS310の処理で検出した領域を画像IMGにおける端末装置UEの位置とする。
一方、第1特徴を有する領域として、複数の領域が検出された場合に(ステップS312の肯定判定(YES))、プロセッサ21は、ステップS314、ステップS315およびステップS316の処理を実行する。
ステップS314において、プロセッサ21は、端末装置UEを振る動作を促すメッセージを生成し、表示制御部24の機能を利用することで、生成したメッセージをタッチパネル26の表示部に表示させ、端末装置UEを所持する人物に提示する。
ステップS315において、プロセッサ21は、例えば、数秒程度の所定の期間にカメラCAMで撮影された画像IMGのそれぞれにおいて第1特徴を有する画像の領域を検出し、検出した領域のそれぞれについて動きの特徴を抽出する。例えば、プロセッサ21は、検出した領域のそれぞれの動きの特徴として、各領域の画像IMGにおける動きの繰返し周期を抽出する。すなわち、図8の例では、プロセッサ21が、ステップS315の処理を実行することにより、図4に示した抽出部122の機能が実現されている。
ステップS316において、プロセッサ21は、画像IMGから第1特徴を有する領域として検出された領域の中で、端末装置UEの動きと類似した動きを示す領域を判定し、判定した領域の位置を画像での端末装置UEの位置とする。例えば、プロセッサ21は、端末装置UEの動きの特徴として、図8に示したセンサ制御部28から受けた加速度センサ29aおよびジャイロセンサ29bの計測値で示される端末装置UEの動きの繰返し周期を求める。次いで、プロセッサ21は、求めた繰り返し周期とステップS315の処理で第1特徴を有する領域として検出された領域のそれぞれについて求めた繰返し周期とを照合することで、端末装置UEの動きの特徴に類似した動きを示す画像の領域を判定する。例えば、プロセッサ21は、第1特徴を有する領域として検出された領域のそれぞれについてステップS315の処理で求められた繰返し周期と、端末装置UEの動きの繰返し周期との差を求め、差を最小とする領域を判定すればよい。そして、プロセッサ21は、繰返し周期の照合により、端末装置UEの動きの特徴に類似した動きを示すと判定された画像の領域を、画像IMGにおいて端末装置UEを示す領域として特定する。即ち、図8の例では、プロセッサ21が、ステップS316の処理を実行することで、図4に示した判定部123の機能が実現されている。
ステップS312の肯定判定(YES)ルートの処理と、否定判定(NO)ルートの処理とは、ステップS317において合流する。
ステップS317において、プロセッサ21は、図8に示したメモリ22に設けられた対応テーブル131に含まれる情報に基づいて、端末装置UEの3次元空間における位置が図7に示した座席S1〜S6のどれに相当するかを特定する。プロセッサ21は、例えば、ステップS313あるいはステップS316の処理で特定された画像の領域で示される図形の重心の画像IMGにおける座標を求める。次いで、プロセッサ21は、求めた重心の座標と、座席S1〜S6に対応して対応テーブル131に保持された座標で示される範囲とを比較することで、画像IMGにおいて端末装置UEを示す領域を含む範囲に対応する座席を特定する。即ち、図8の例では、プロセッサ21が、ステップS317の処理を実行することで、図4に示した第1推定部13aの機能が実現されている。
ステップS318において、プロセッサ21は、ステップS316の処理で特定した座席を示す情報を、ネットワークインタフェース27を介してサーバ装置SVに送出し、位置を推定する処理を終了する。
以上に説明したように、図8に示した端末装置UE1〜UE4のそれぞれに搭載されたプロセッサ21が、図9に示した各ステップの処理を実行することにより、各端末装置UE1〜UE4の3次元空間における位置を、座席を単位として推定することができる。
次に、各端末装置UE1〜UE4の3次元空間における位置として推定された座席の位置に基づいて、各端末装置UE1〜UE4への情報の配信を制御する方法について説明する。
図10は、図8に示した情報配信システムSdvの動作を示す。図10に示したステップS321〜ステップS324の各処理は、端末装置UE1〜UE4への情報の配信を制御する処理のためのアプリケーションプログラムに含まれる処理の例である。また、ステップS321〜ステップS324の各処理は、図8に示したサーバ装置SVのプロセッサ31により、例えば、図9で説明した位置を推定する処理で特定された座席を示す情報を端末装置UEから受ける毎に実行される。
ステップS321において、プロセッサ31は、図8に示したネットワークインタフェース34を介して、各端末装置UEから、当該端末装置UEによる位置を推定する処理で特定された座席を示す情報を受ける。
ステップS322において、プロセッサ31は、ステップS321の処理で受けた座席を示す情報を、送信元の端末装置UEを示す識別情報に対応して、メモリ32あるいはハードディスク装置33に設けられた端末データベースDBに登録する。
ステップS323において、プロセッサ31は、メモリ32あるいはハードディスク装置33に格納された設定情報に基づいて、ステップS322の処理で端末データベースDBに登録した端末装置UEの利用者が果たす役割を特定する。例えば、プロセッサ31は、設定情報に基づいて、ステップS321の処理で受けた情報で示される座席に設定された役割を特定し、特定した役割を、ステップS321の処理で受けた情報の送信元の端末装置UEを所持する利用者の役割とする。例えば、設定情報は、図7に示した座席S1にプレゼンテーションを実行する役割が設定され、座席S6にプレゼンテーションの記録を行う役割が設定されていることを示す情報と、他の座席はプレゼンテーションの視聴者であることを示す情報を含んでいる。そして、例えば、ステップS321の処理で、図7に示した端末装置UE1から座席S1を示す情報を受けた場合に、プロセッサ31は、設定情報に基づき、端末装置UE1の利用者である人物P1の役割として「プレゼンテーションを実行する役割」を特定する。同様に、例えば、ステップS321の処理で、図7に示した端末装置UE4から座席S6を示す情報を受けた場合に、プロセッサ31は、設定情報に基づき、端末装置UE4の利用者である人物P4の役割として「プレゼンテーションを記録する役割」を特定する。プロセッサ31は、同様にして、端末装置UE2,UE3から受けた座席S3,S4を示す情報と設定情報とに基づいて、端末装置UE2,UE3の利用者である人物P2,P3の役割として「プレゼンテーションを視聴する役割」を特定する。
ステップS324において、プロセッサ31は、ステップS323の処理で特定した役割に応じて、それぞれの役割に対応して予め設定された資料およびアプリケーションの配信を実行する。プロセッサ31は、資料およびアプリケーションの配信に、メモリ32あるいはハードディスク装置33に格納された制御情報を用いる。制御情報は、例えば、各役割を示す識別情報に対応して、当該役割の実行に用いる資料およびアプリケーションの格納場所を示す情報を含んでいる。例えば、制御情報は、プレゼンテーションを実行する役割を示す識別情報に対応して、プレゼンテーションの対象となる資料と、プレゼンテーションに用いるプロジェクタなどの機器を操作するためのアプリケーションプログラムの格納場所を示す情報を含んでいる。また、制御情報は、プレゼンテーションを記録する役割を示す識別情報に対応して、プレゼンテーションの対象となる資料と、録画に用いるビデオカメラなどの機器を操作するためのアプリケーションプログラムの格納場所を示す情報を含んでいる。一方、制御情報は、プレゼンテーションを視聴する役割を示す識別情報に対応して、プレゼンテーションの対象となる資料と、資料の閲覧に用いるアプリケーションプログラムの格納場所を示す情報を含んでいる。以上に説明した制御情報に基づいて、プロセッサ31は、ステップS323の処理で特定された役割に対応付けられた資料およびアプリケーションをハードディスク装置33などから取得する。そして、プロセッサ31は、取得した資料およびアプリケーションを、ネットワークインタフェース34およびネットワークNWを介して、ステップS321の処理で受けた情報の送信元の端末装置UEに配信する。
サーバ装置SVのプロセッサ31により、ステップS321〜ステップS324の処理を行うことで、図8に示した情報配信システムSdvは、各端末装置UEの位置として特定された座席に設定された役割に適した情報を、各端末装置UEに配信することができる。
例えば、情報配信システムSdvは、プレゼンテーションを実行する役割が設定された座席S1に着席している人物P1の端末装置UE1に、プレゼンテーションの資料とともにプロジェクタなどの機器を操作するためのアプリケーションプログラムを配信する。同様に、情報配信システムSdvは、プレゼンテーションを記録する役割が設定された座席S6に着席している人物P4の端末装置UE4に、プレゼンテーションの資料とともにビデオカメラなどの機器を操作するためのアプリケーションプログラムを配信する。一方、情報配信システムSdvは、プレゼンテーションを視聴する役割が設定された座席S3,S4に着席している人物P2,P3の端末装置UE2,UE3に、プレゼンテーションの資料とともに資料の閲覧に用いるアプリケーションプログラムを配信する。
即ち、図8に示した位置推定装置10を含む情報配信システムSdvによれば、端末装置UE1〜UE4を所持した人物P1〜P4のそれぞれが着席した座席をカメラCAMで撮影した画像から特定し、各座席に設定された役割に応じた情報を配信することができる。
これにより、プレゼンテーションや会議などへの出席者が、各人で、配布される資料や様々な機器を操作するためのアプリケーションプログラムなどを取得する作業を省略することが可能になる。つまり、図8に示した情報配信システムSdvは、会議室や講演会など、予め、座席の位置に応じて役割が設定可能な場所での情報の配信を円滑に制御することが可能である。
次に、図11〜図14を参照して、カメラCAMによって撮影される範囲に含まれる端末装置UE1〜UE4の間で情報の転送を行う情報転送システムについて説明する。
図11は、図1に示した位置推定装置10を含む情報転送システムのハードウェア構成例を示す。なお、図11に示した構成要素のうち、図1または図8に示した構成要素と同等のものは、図1または図8と同じ符号で示され、構成要素の説明は省略される場合がある。
図11に示したサーバ装置SVは、ネットワークNWを介してカメラCAMと接続されており、サーバ装置SVは、ネットワークNWを介して、カメラCAMで撮影された画像IMGを受ける。また、サーバ装置SVは、ネットワークNWを介して端末装置UE1,UE2,UE3,UE4のそれぞれと接続されており、サーバ装置SVは、ネットワークNWを介して、各端末装置UE1〜UE4との間で情報の授受を行う。
図11に示した位置推定装置10は、サーバ装置SVに搭載されるプロセッサ31、メモリ32およびハードディスク装置33などのハードウェアと、メモリ32およびハードディスク装置33に格納されたアプリケーションプログラムによって実現される。
図11に示したサーバ装置SVのメモリ32およびハードディスク装置33は、サーバ装置SVのオペレーティングシステムとともに、端末装置UEの位置を推定する処理のためのアプリケーションプログラムを格納している。また、メモリ32およびハードディスク装置33は、更に、端末装置UE間での情報の転送を制御する処理のためのアプリケーションプログラムを格納している。また、メモリ32またはハードディスク装置33の記憶領域の一部を用いて、図4に示した端末データベースDBが設けられている。図11に示したカメラCAMが例えば図1に示す配置で室内に設置される際などに、カメラCAMの向きDIR(図1参照)を示す情報が、メモリ32またはハードディスク装置33の記憶領域の一部に設定される。
図11に示した端末装置UE1は、プロセッサ21と、メモリ22と、表示制御部24と、入力制御部25と、タッチパネル26と、ネットワークインタフェース(I/F)27と、センサ制御部28と、加速度センサ29aと、ジャイロセンサ29bとを含んでいる。プロセッサ21と、メモリ22と、表示制御部24と、入力制御部25と、ネットワークインタフェース(I/F)27と、センサ制御部28とは、バスを介して互いに接続されている。
メモリ22は、端末装置UE1のオペレーティングシステムとともに、サーバ装置SVに他の端末装置UEに情報の転送を依頼する処理のためのアプリケーションプログラムを格納している。情報の転送を依頼する処理のためのアプリケーションプログラムは、例えば、ネットワークインタフェース27を介して、インターネットなどのネットワークNWに接続し、サーバ装置SVからダウンロードすることで、メモリ22に格納される。
図11に示した端末装置UE2,UE3,UE4は、端末装置UE1と同様のハードウェアを含んでおり、また、端末装置UE2,UE3,UE4に搭載されたメモリは、同様のアプリケーションプログラムを格納している。
図11に示した端末装置UE1〜UE4と、サーバ装置SVとは、情報転送システムStrに含まれている。なお、情報転送システムStrに含まれる端末装置UEの数は、図11に示した4台に限らず、3台以下でもよいし、5台以上でもよい。
情報転送システムStrの動作の説明に先立って、情報転送システムStrに含まれる位置推定装置10の動作を説明する。
図12は、図11に示した位置推定装置10の動作を示す。図12に示したステップS303と、ステップS331〜ステップS337の各処理は、端末装置UEの位置を推定する処理のためのアプリケーションプログラムに含まれる処理の例である。また、ステップS303と、ステップS331〜ステップS333およびステップS335〜ステップS337の各処理は、図11に示したサーバ装置SVに搭載されたプロセッサ31によって実行される。一方、ステップS334の処理は、各端末装置UEに搭載されたプロセッサ21によって実行される。なお、図12に示したステップのうち、図3に示したステップと同等のものは、同じ符号で示されている。
ステップS331において、プロセッサ31は、ネットワークインタフェース24を介してカメラCAMから受けた画像IMGを解析することで、画像IMGの特徴として、例えば、画像IMGに含まれる各画素の色の色空間における分布を示す情報を抽出する。
ステップS332において、プロセッサ31は、ステップS331で抽出した画像IMGの特徴とは異なる第1特徴を有する画像として、ネットワークインタフェース24を介して接続された端末装置UE毎に互いに異なる特徴を有する画像を生成する。例えば、プロセッサ31は、ステップS331の処理で抽出した情報に基づいて、色空間において、画像IMGに含まれる画素の分布の密度が他の色よりも低い色を選択し、選択した色を各端末装置UEに第1特徴として割り当てる。プロセッサ31は、各端末装置UEに割り当てる色を選択する際に、色空間において互いに離れた位置にある色を選択することが望ましい。例えば、プロセッサ31は、色相環を端末装置UEの数(図11の場合は4)で分割した各領域において、画像IMGに含まれる画素の色の分布密度が他の色よりも低い色を、各端末装置UEに割り当てる色として選択してもよい。そして、プロセッサ31は、図11に示した端末装置UE1〜UE4のそれぞれについて、端末装置UEに搭載されたタッチパネル26に含まれる表示部の各画素により、選択した色を示させる画像データを生成する。また、プロセッサ31は、人が画像を観察した際に人の注意を惹き易い程度を表す顕著性を定量化した顕著性マップを画像IMGについて求め、求めた顕著性マップにより、顕著性が高いとされた特徴のそれぞれを、各端末装置UEに割り当てる第1特徴としてもよい。
ステップS333において、プロセッサ31は、ステップS332の処理で各端末装置UEについて生成した画像データを、ネットワークインタフェース34およびネットワークNWを介して各端末装置UEに配信する。
ステップS334において、ステップS333の処理で画像データの配信を受けた各端末装置UEは、図11に示した各端末装置UEに含まれるタッチパネル26の表示部に、配信された画像データで示される画像を表示する。これにより、図11に示した端末装置UE1〜UE4のタッチパネル26に含まれる表示部により、端末装置UE1〜UE4のそれぞれで互いに異なり、かつ、周囲の他の物体とは異なる第1特徴を有する画像を表示させることができる。即ち、サーバ装置SVのプロセッサ31により、ステップS331〜ステップS333の処理を行い、各端末装置UEにより、ステップS334の処理を行うことにより、図1または図4に示した制御部11の機能を実現することができる。
そして、各端末装置UEにより、ステップS334の処理を実行した場合に、各端末装置UEの表示部は、互いに異なり、しかも、周囲の他の物体とは異なる色を持つ矩形としてカメラCAMによって撮影されることになる。
ステップS303において、サーバ装置SVのプロセッサ31は、カメラCAMから、ステップS334の処理で第1特徴を有する画像を表示部に表示させた端末装置UEをカメラCAMによって撮影することで得られる画像IMGを受ける。
ステップS335において、プロセッサ31は、カメラCAMから受けた画像IMGから、各端末装置UEに割り当てた第1特徴を有する領域をそれぞれ検出し、検出した領域の位置を画像IMGにおける各端末装置UEの位置として特定する。プロセッサ31は、例えば、ステップS332の処理で各端末装置UEに対応して選択した色を示す領域を画像IMGにおいて検出し、検出した領域の位置を画像IMGにおける端末装置UEの位置として特定する。
ステップS336において、プロセッサ31は、カメラCAMの向きDIRを示す情報を用いた座標変換を行うことで、ステップS335の処理で得られた画像IMGにおける各端末装置UEの位置から、各端末装置UEの3次元空間における位置を求める。プロセッサ31は、メモリ32またはハードディスク装置33に設定されたカメラCAMの向きDIRを示す情報を読み出す。プロセッサ31は、読み出した情報で示されるカメラCAMの向きDIRを用いた座標変換を行うことで、図1に示した第1推定部13の機能を果たすことができる。
ステップS337において、プロセッサ31は、ハードディスク装置33などに設けられた端末データベースDBに、各端末装置UEを示す識別情報に対応して、ステップS336で求めた端末装置UEの位置を登録し、処理を終了する。
以上に説明したように、プロセッサ31が、図12に示した各ステップの処理を実行することで、カメラCAMで撮影された画像IMGに基づいて、各端末装置UEの3次元空間における位置を推定することができる。
図11に示した位置推定装置10で得られた各端末装置UEの3次元空間における位置は、端末装置UE間での情報の転送を制御する情報転送システムStrにおいて用いられる。
以下に説明する情報転送システムStrは、端末装置UEの利用者により端末装置UEを空間において動かす操作を実行することで、情報を転送する宛先となる別の端末装置UEの位置が指定された場合に、指定された位置にある端末装置UEに情報を転送する。
図13は、端末装置UEを空間において動かす操作の例を示す。なお、図13に示す要素のうち、図7に示した要素と同等のものは、同一の符号で示され、要素の説明が省略される場合がある。なお、図13において、座標軸X,Yは、3次元空間における水平面上の位置を示す。
図13は、人物P3が端末装置UE3を矢印Mvsの方向に振る操作を行うことで、情報の転送先として、人物P2が所持する端末装置UE2を指定する例を示している。なお、図13において、破線で囲んだ矩形の領域UE3'は、人物P3が端末装置UE3を振る操作を終了した際の端末装置UE3の位置を示している。図13の例では、矩形の領域UE3'の長手方向は、人物P3の位置から見て、人物P3が転送先と指定としている端末装置UE2がある方向に概ね一致している。同様に、図13に示すように、矢印Mvsの延長方向Exは、人物P3の位置から見て、人物P3が転送先と指定としている端末装置UE2がある方向に概ね一致している。
ここで、図11および図12を用いて説明したように、図13に示した各端末装置UE1からUE4の位置は、図11に示した位置推定装置10によって推定可能である。更に、図11に示した位置推定装置10は、図13に示したプロジェクタ装置EQに含まれる表示部DSPeに第1特徴を有する画像を表示させることで、プロジェクタ装置EQの位置を推定することができる。そして、端末装置UE1〜UE4およびプロジェクタ装置EQの位置を示す情報と、人物P3が端末装置UE3を動かした方向Mvsを示す情報と用いれば、人物P3が情報の転送先として指定しようとする端末装置UE2を特定することが可能である。
次に、端末装置UEの利用者によって行われた端末装置UEを空間において動かす操作に応じて、端末装置UE間の情報の転送を制御する情報転送システムStrの動作について説明する。
図14は、図11に示した情報転送システムStrの動作を示す。図14に示したステップS341〜ステップS343の各処理は、図11に示した端末装置UEが他の端末装置UEに情報の転送をサーバ装置SVに依頼する処理のためのアプリケーションプログラムに含まれる処理の例である。ステップS341〜ステップS343の各処理は、端末装置UEに含まれるプロセッサ21によって実行される。また、ステップS344〜ステップS346の各処理は、サーバ装置SVにより、端末装置UE間での情報の転送を制御する処理のためのアプリケーションプログラムに含まれる処理の例である。ステップS344〜ステップS346の各処理は、サーバ装置SVに搭載されたプロセッサ31によって実行される。
ステップS341において、端末装置UEのプロセッサ21は、情報の転送を指示する操作として、転送の対象となる情報を選択する操作と、図13を用いて説明した端末装置UEを空間において動かす操作を検出する。例えば、プロセッサ21は、図11に示したタッチパネル26および入力制御部25を介して、転送可能な情報を示すアイコンのいずれかを選択する操作を検出することで、転送の対象となる情報を選択する操作を検出する。また、プロセッサ21は、転送の対象となる情報を選択する操作を検出した後に、加速度センサ29aおよびジャイロセンサ29bで得られる計測値から、端末装置UEを振る操作を示す計測値を検出することで、端末装置UEを空間において動かす操作を検出する。
ステップS342において、プロセッサ21は、ステップS341の処理で検出した端末装置UEを空間において動かす操作により端末装置UEが動かされた方向を、操作による端末装置UEの動きの方向として求める。
ステップS343において、プロセッサ21は、ステップS341の処理で検出したタッチパネル26への操作によって選択された情報とステップS342の処理で求めた動きの方向とを含む転送依頼をサーバ装置SVに送信する。
ステップS344において、サーバ装置SVのプロセッサ31は、端末装置UEから渡された転送依頼に含まれる端末装置UEの識別情報に基づいて端末データベースSBを参照することで、依頼元の端末装置UEの3次元空間における位置を特定する。
ステップS345において、プロセッサ31は、端末データベースDBに含まれる情報に基づいて、ステップS344の処理で特定された依頼元の端末装置UEの位置から見て、端末装置UEから受けた動きの方向にある端末装置UEを特定する。例えば、プロセッサ31は、依頼元の端末装置UEの位置と端末装置UEから渡された動きの方向とに基づいて、図13に破線で示した直線Exのように、依頼元の端末装置UEの位置を通り、動きの方向で座標軸X,Yからの傾きが示される直線を求める。そして、プロセッサ31は、端末データベースDBに登録された位置の中で、他の端末装置UEの位置よりも求めた直線に近い位置にある端末装置UEを、転送先の端末装置UEとして特定する。例えば、図13の例では、依頼元の端末装置UE3の位置と動きの方向Msvとから求めた直線Exに最も近い位置にある端末装置UEとして、プロセッサ31により、人物P2が所持する端末装置UE2が特定される。
ステップS346において、プロセッサ31は、ステップS345の処理で特定した転送先の端末装置UEに対して、依頼元の端末装置UEから渡された情報を送信する処理を実行する。図13の例では、転送先の端末装置UE2に対して、依頼元の端末装置UE3から渡された情報が、サーバ装置SVおよびネットワークNWを介して送信される。
以上に説明したように、図11に示した情報転送システムStrは、例えば、人物P3が端末装置UE3を用いて人物P2にカードを投げるような操作を行ったことを契機として、端末装置UE3から端末装置UE2への情報の転送を実現することができる。しかも、情報転送システムStrを用いる場合に、転送の依頼元となる端末装置UEは、転送先の端末装置UEを示す識別情報などを予め知らなくても、おおよその方向を指定することで、転送先の端末装置UEを指定することができる。同様に、端末装置UEは、図13に示したプロジェクタ装置EQのIPアドレスなどの識別情報を予め知らなくても、プロジェクタ装置EQの方向を指定する操作を行うことで、情報転送システムStrに情報の転送を依頼することが可能である。
即ち、図11に示した情報転送システムStrは、人が手元の資料を3次元空間で別の人に渡す場合に類似した直感的な操作により、端末装置UE間での情報の転送を制御する新規なユーザインタフェースを提供することができる。
ところで、図4に示した位置推定装置10は、例えば、端末装置UEに含まれる加速度センサやジャイロセンサなどの計測値から人物の航跡を求める追跡システムにおいて、ジャイロセンサなどのドリフトによる計測値の誤差を補正する用途にも適用が可能である。
図15は、図4に示した位置推定装置10で得られた端末装置UEの位置による人物の航跡の補正例を示す。
図15に実線で示した矢印Tr0は、部屋C1を出発した人物が、部屋C1と別の部屋C2との間の廊下を通過した後に、壁WLの手前で部屋C3側に曲がり、部屋C3に入るまでの実際の航跡の例を示している。また、図15に点線で示した矢印Tr1は、人物が所持する端末装置に含まれる加速度センサおよびジャイロセンサの計測値から推定された航跡の例を示す。
例えば、破線で示した範囲RNG1,RNG2を撮影するカメラで撮影された画像に基づいて、図4に示した位置推定装置10で求めた端末装置の位置および姿勢を用いることで、点Q1,Q2において航跡Tr0と航跡Tr1との間の誤差を補正することができる。
図16は、図4に示した位置推定装置10を含む追跡システムのハードウェア構成例を示す。なお、図16に示す構成要素のうち、図8または図11に示した構成要素と同等のものは、同一の符号で示され、構成要素の説明が省略される場合がある。
図16に示したカメラCAM1,CAM2のそれぞれは、図4に示したカメラCAMに相当するものであり、例えば、図15に示した範囲RNG1,RNG2を撮影する位置に設置されている。また、カメラCAM1は、端末装置UEが図15に示した範囲RNG1の内部に滞在している場合に、端末装置UEの近距離無線通信インタフェース23を介して、範囲RNG1を撮影することで得られる画像IMGを端末装置UEに渡す。同様に、カメラCAM2は、端末装置UEが図15に示した範囲RNG2の内部に滞在している場合に、端末装置UEの近距離無線通信インタフェース23を介して、範囲RNG2を撮影することで得られる画像IMGを端末装置UEに渡す。
図16に示した位置推定装置10は、サーバ装置SVと、端末装置UEに含まれるプロセッサ21とメモリ22と近距離無線通信インタフェース23と表示制御部24とネットワークインタフェース27とを含んでいる。即ち、図16に示した位置推定装置10は、サーバ装置SVと端末装置UEとの間で、位置推定装置10に含まれる機能を分担する場合の実施形態の一例を示す。
図16に示した端末装置UEに含まれるメモリ22は、端末装置UEのオペレーティングシステムとともに、端末装置UEを撮影した画像IMGにおいて端末装置UEを示す領域を特定する処理のためのアプリケーションプログラムを格納している。画像IMGにおいて端末装置UEを示す領域を特定する処理のためのアプリケーションプログラムは、例えば、ネットワークインタフェース27を介してネットワークNWに接続し、サーバ装置SVからダウンロードすることでメモリ22に格納される。また、メモリ22に格納された画像IMGにおいて端末装置UEを示す領域を特定する処理のためのアプリケーションプログラムをプロセッサ21が実行することで、図4に示した制御部11および特定部12aの機能が果たされる。また、メモリ22は、端末装置UEに固有の画像あるいは固有の画像を生成するための情報を格納している。端末装置UEに固有の画像あるいは固有の画像を生成するための情報は、例えば、端末装置UEの利用者などにより、所望のマークを表す画像などを用いて予め設定されてもよいし、端末装置UEのシリアル番号などを示す二次元コードなどでもよい。
図16に示したサーバ装置SVに含まれるメモリ32またはハードディスク装置33は、サーバ装置SVのオペレーティングシステムとともに、端末装置UEの3次元空間での位置および姿勢を推定する処理のためのアプリケーションプログラムを格納している。プロセッサ31は、端末装置UEの3次元空間での位置および姿勢を推定する処理のためのアプリケーションプログラムを実行することにより、図4に示した第1推定部13aおよび第2推定部14の機能を果たす。また、サーバ装置SVは、例えば、カメラCAM1,CAM2が設置された際などに、カメラCAM1,CAM2の向きを示す情報の設定を受け、受けた情報をメモリ32またはハードディスク装置33に格納している。
図16に示した端末装置UEとサーバ装置SVとカメラCAM1,CAM2とは、追跡システムSchに含まれている。なお、追跡システムSchは、少なくとも1台のカメラを含んでいればよく、また、3台以上のカメラを含んでいてもよい。また、追跡システムSchは、複数の端末装置UEにそれぞれ含まれる加速度センサおよびジャイロセンサの計測値を受けることで、各端末装置UEを所持する人物の航跡を求めることが可能である。
端末装置UEのメモリ22は、更に、加速度センサ29aおよびジャイロセンサ29bで得られる計測値をサーバ装置SVに報告する処理のためのアプリケーションプログラムを格納している。計測値を報告する処理のためのアプリケーションプログラムは、例えば、ネットワークインタフェース27を介してネットワークNWに接続し、サーバ装置SVからダウンロードすることでメモリ22に格納される。
また、サーバ装置SVのメモリ32またはハードディスク装置33は、更に、端末装置UEから報告された計測値に基づいて、端末装置UEの航跡を求める処理のためのアプリケーションプログラムを格納している。
図17は、図16に示した位置推定装置10の動作を示す。図17に示したステップS351〜ステップS354の各処理は、図16に示したカメラCAM1,CAM2で撮影された画像IMGにおいて端末装置UEを示す領域を特定する処理のためのアプリケーションプログラムに含まれる処理の例である。ステップS351〜ステップS354の各処理は、端末装置UEに含まれるプロセッサ21によって実行される。また、ステップS355〜ステップS356の各処理は、端末装置UEの3次元空間での位置および姿勢を推定する処理のためのアプリケーションプログラムに含まれる処理の例である。ステップS355〜ステップS356の各処理は、サーバ装置SVに搭載されたプロセッサ31によって実行される。
端末装置UEのプロセッサ21は、図16に示した近接無線通信インタフェース23により、カメラCAM1あるいはカメラCAM2との通信が可能となった場合に、ステップS351〜ステップS354の処理を開始する。
ステップS351において、端末装置UEのプロセッサ21は、メモリ22に保持された情報から、端末装置UEに固有の画像を生成し、生成した画像を、端末装置UEの環境の特徴とは異なる第1特徴を有する画像として表示する。即ち、図16に示した端末装置UEのプロセッサ21により、ステップS351の処理を実行することで、位置推定装置10に含まれる制御部11の機能が果たされる。
ステップS352において、プロセッサ21は、カメラCAM1あるいはカメラCAM2によって撮影された画像IMGの配信を受ける。
ステップS353において、プロセッサ21は、配信された画像IMGから、ステップS351の処理で生成した端末装置UEに固有の画像と同じ特徴を有する領域を、画像IMGにおいて端末装置UEを示す画像の領域として抽出する。即ち、図16に示した端末装置UEのプロセッサ21により、ステップS353の処理を実行することで、位置推定装置10に含まれる特定部12の機能が果たされる。
ステップS354において、プロセッサ21は、ステップS353の処理で抽出した画像の領域の形状および画像IMGにおける位置を示す情報と、図16に示したタッチパネル26に含まれる表示部の形状を示す情報とをサーバ装置SVに送出する。
サーバ装置SVのプロセッサ31は、端末装置UEからの情報を受けた場合に、ステップS355およびステップS356の処理を開始する。
ステップS355において、プロセッサ31は、端末装置UEから受けた情報で示される端末装置UEの画像IMGにおける位置に対して、カメラCAM1あるいはカメラCAM2の向きを用いた座標変換を行うことで、端末装置UEの位置を推定する。即ち、図16に示したサーバ装置SVのプロセッサ31により、ステップS355の処理を実行することで、位置推定装置10に含まれる第1推定部13の機能が果たされる。
ステップS356において、プロセッサ31は、端末装置UEから受けた情報で示される端末装置UEの画像IMGにおける形状と端末装置UEの表示部の形状とを比較することで、端末装置UEの姿勢を求める。例えば、プロセッサ31は、端末装置UEの表示部の形状を、ステップS353の処理で抽出された画像IMGにおける端末装置UEの形状にゆがませる角度を求めることで、端末装置UEの3次元空間における姿勢を推定する。即ち、図16に示したサーバ装置SVのプロセッサ31により、ステップS356の処理を実行することで、位置推定装置10に含まれる第2推定部14の機能が果たされる。
以上に説明したように、図16に示した位置推定装置10は、カメラCAM1,CAM3によって撮影される範囲RNG1,RNG2に端末装置UEが進入したことを契機として、端末装置UEの3次元空間における位置の推定を行うことができる。
図16に示した位置推定装置10で推定された位置は、追跡システムSchにより、端末装置UEに搭載された加速度センサ29aおよびジャイロセンサ29bの計測値に基づいて求められた航跡の補正に用いられる。
図18は、図16に示した追跡システムSchの動作を示す。図18に示したステップS361の処理は、計測値をサーバ装置SVに報告する処理のためのアプリケーションプログラムに含まれる処理の例である。ステップS361の処理は、端末装置UEに含まれるプロセッサ21によって実行される。また、ステップS362〜ステップS365の各処理は、端末装置UEの航跡を求める処理のためのアプリケーションプログラムに含まれる処理の例である。ステップS362〜ステップS365の各処理は、サーバ装置SVに搭載されたプロセッサ31によって実行される。
図18に示した各処理は、端末装置UEのプロセッサ21およびサーバ装置SVのプロセッサ31により、例えば、所定の時間間隔で実行される。
ステップS361において、端末装置UEのプロセッサ21は、センサ制御部28を介して加速度センサ29aおよびジャイロセンサ29bの計測値を収集し、収集した計測値をサーバ装置SVに報告する。
サーバ装置SVのプロセッサ31は、例えば、端末装置UEから加速度センサ29aおよびジャイロセンサ29bの計測値を含む報告を受けた場合に、ステップS362〜ステップS365の処理を開始する。
ステップS362において、プロセッサ31は、図16に示した位置推定装置10により、端末装置UEの位置が推定されているか否かを判定する。
例えば、端末装置UEを所持する人物が、まだ、図15に示した範囲RNG1に到達していない場合など、位置推定装置10による推定結果が得られていない場合に、プロセッサ31は、ステップS362の否定判定(NO)としてステップS363の処理に進む。
ステップS363において、プロセッサ31は、ステップS361の処理で端末装置UEから報告された情報に含まれる計測値を用いて端末装置UEの位置を求め、求めた位置を用いて、端末装置UEを所持する人物の航跡を更新する。
一方、端末装置UEを所持する人物が範囲RNG1に到達したことで、位置推定装置10により新たな推定結果が得られた場合に、プロセッサ31は、ステップS362の肯定判定(YES)としてステップS364およびステップS365の処理を実行する。
ステップS364において、プロセッサ31は、位置推定装置10で推定された端末装置UEの位置を用いて、端末装置UEを所持する人物の航跡を更新する。例えば、図15に示した範囲RNG1に端末装置UEが到達した際に、端末装置UEの加速度センサ29aやジャイロセンサ29bの計測値から求められた航跡Tr1は、位置推定装置10によって推定された端末装置UEの位置を用いて更新される。なお、図15の例は、端末装置UEが点Q1の位置に到達した際に、位置推定装置10によって推定された端末装置UEの位置を用いて航跡Tr1を更新した例を示している。
ステップS365において、プロセッサ31は、位置推定装置10で推定された端末装置UEの姿勢を用いて、端末装置UEに含まれるジャイロセンサ29bの計測値を較正する。例えば、プロセッサ31は、位置推定装置10で推定された端末装置UEの姿勢を示す角度を端末装置UEに通知するとともに、端末装置UEに対して、ジャイロセンサ29bの計測値を通知した角度に一致させる制御を指示することで計測値の較正を行う。
以上に説明したように、図16に示した追跡システムSchは、端末装置UEがカメラCAM1,CAM2によって撮影される範囲RNG1,RNG2に進入したことを契機として、位置推定装置10で得られた推定結果を用いて航跡を補正することができる。これにより、端末装置UEに搭載されたジャイロセンサ29bなどのドリフトによって時間の経過とともに蓄積する誤差を低減することができる。したがって、図16に示した追跡システムSchは、位置推定装置10を用いない場合に比べて、端末装置UEを所持する人物の航跡を高い精度で求めることが可能である。
以上の詳細な説明により、実施形態の特徴点及び利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で、前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更を容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
以上の説明に関して、更に、以下の各項を開示する。
(付記1)
端末装置を含む所定の範囲を撮影することで得られる画像の特徴とは異なる第1特徴を有する画像を前記端末装置に含まれる表示部に表示させる制御部と、
前記第1特徴を有する画像を前記表示部によって表示している前記端末装置を含む所定の範囲を撮影して得られる第1画像において、前記第1特徴を示す領域の位置を特定する特定部と、
前記特定部で特定された位置に基づいて、前記端末装置の空間における位置を推定する第1推定部と、
を備えたことを特徴とする位置推定装置。
(付記2)
付記1に記載の位置推定装置において、
更に、
前記第1画像において前記第1特徴を示す領域の形状に基づいて、前記端末装置の姿勢を推定する第2推定部を備えた
ことを特徴とする位置推定装置。
(付記3)
付記1または付記2に記載の位置推定装置において、
前記特定部は、
前記第1画像から、前記第1特徴を示す領域を検出する検出部と、
前記検出部によって検出された領域の前記第1画像における動きの特徴を抽出する抽出部とを有し、
前記端末装置に含まれるセンサで検出された前記端末装置の動きの特徴が、前記抽出部で抽出された動きの特徴を示す場合に、前記検出部によって検出された領域の位置を前記端末装置の前記第1画像における位置として特定する
ことを特徴とする位置推定装置。
(付記4)
付記1乃至付記3のいずれか1に記載の位置推定装置において、
前記制御部は、
前記第1特徴を有する画像として、前記所定の範囲を撮影して得られた画像の特徴で示される色とは異なる第1色を示す画像を表示させる
ことを特徴とする位置推定装置。
(付記5)
付記1乃至付記3のいずれか1に記載の位置推定装置において、
前記制御部は、
前記所定の範囲に複数の端末装置が含まれる場合に、前記複数の端末装置のそれぞれに含まれる表示部に、前記第1特徴を有する画像として、前記所定の範囲を撮影して得られた画像の特徴とは異なり、かつ、互いに異なる特徴を示す画像を表示させる
ことを特徴とする位置推定装置。
(付記6)
付記1乃至付記3のいずれか1に記載の位置推定装置において、
前記制御部は、
前記第1特徴を有する画像として、前記所定の範囲を撮影して得られた画像の特徴で示される色とは異なり、かつ、互いに異なる複数の色を用いて、前記端末装置の表示部を分割した複数の領域を塗り分けた画像を表示させる
ことを特徴とする位置推定装置。
(付記7)
付記1乃至付記3のいずれか1に記載の位置推定装置において、
前記制御部は、
前記第1特徴を有する画像として、前記端末装置に固有の画像を表示させる
ことを特徴とする位置推定装置。
(付記8)
端末装置を含む所定の範囲を撮影することで得られる画像の特徴とは異なる第1特徴を有する画像を前記端末装置に含まれる表示部に表示させ、
前記第1特徴を有する画像を前記表示部によって表示している前記端末装置を含む所定の範囲を撮影して得られる第1画像において、前記第1特徴を示す領域の位置を特定し、
前記特定された位置に基づいて、前記端末装置の空間における位置を推定する、
ことを特徴とする位置推定方法。
(付記9)
端末装置を含む所定の範囲を撮影することで得られる画像の特徴とは異なる第1特徴を有する画像を前記端末装置に含まれる表示部に表示させ、
前記第1特徴を有する画像を前記表示部によって表示している前記端末装置を含む所定の範囲を撮影して得られる第1画像において、前記第1特徴を示す領域の位置を特定し、
前記特定された位置に基づいて、前記端末装置の空間における位置を推定する、
処理をコンピュータに実行させることを特徴とする位置推定プログラム。