(57)【要約】【課題】情報処理装置を付帯するユーザが、乗り物に乗っているような特定の状況下にある場合においても、自己位置を正確に推定することができる技術を提供すること。【解決手段】本技術に係る情報処理装置は、撮像部と、慣性センサと、制御部とを具備する。前記撮像部は、画像情報を取得する。前記慣性センサは、慣性情報を取得する。前記制御部は、前記画像情報及び前記慣性情報に基づいて、情報処理装置における自己位置を推定し、前記情報処理装置を付帯するユーザの状況を認識し、前記自己位置の推定において、前記画像情報及び前記慣性情報のうちどちらをより信頼して使用するかについての比率を、前記状況に応じて変化させる。【選択図】図１０
2019087658.tif 000002
【特許請求の範囲】
【請求項１】
画像情報を取得する撮像部と、
慣性情報を取得する慣性センサと、
前記画像情報及び前記慣性情報に基づいて、情報処理装置における自己位置を推定し、前記情報処理装置を付帯するユーザの状況を認識し、前記自己位置の推定において、前記画像情報及び前記慣性情報のうちどちらをより信頼して使用するかについての比率を、前記状況に応じて変化させる制御する制御部と
を具備する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記制御部は、前記画像情報から特徴量を抽出し、前記状況に応じて、前記自己位置の推定において、前記特徴量のうちどの特徴量を使用するかを判定する
情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記制御部は、前記状況に応じて、１以上の座標系を設定可能であり、前記１以上の座標系において、それぞれ自己位置を推定する
情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記制御部は、前記１以上の座標系においてそれぞれ前記比率が異なるように前記比率を変化させる
情報処理装置。
【請求項５】
請求項３に記載の情報処理装置であって、
前記１以上の座標系は、前記ユーザを乗せて移動する第１の移動体を基準とした第１の移動体座標系を含み、
前記制御部は、前記第１移動体座標系における自己位置の推定において、前記画像情報及び前記慣性情報のうち前記画像情報をより信頼して使用するように前記比率を変化させる
情報処理装置。
【請求項６】
請求項５に記載の情報処理装置であって、
前記制御部は、前記第１移動体座標系における自己位置の推定において、前記画像情報及び前記慣性情報のうち前記画像情報のみを信頼して使用するように前記比率を変化させる
情報処理装置。
【請求項７】
請求項３に記載の情報処理装置であって、
前記１以上の座標系は、前記ユーザとは関連せずに移動する第２の移動体を基準とした第２の移動体座標系を含み、
前記制御部は、前記第２移動体座標系における自己位置の推定において、前記画像情報及び前記慣性情報のうち前記画像情報をより信頼して使用するように前記比率を変化させる
情報処理装置。
【請求項８】
請求項７に記載の情報処理装置であって、
前記制御部は、前記第２移動体座標系における自己位置の推定において、前記画像情報及び前記慣性情報のうち前記画像情報のみを信頼して使用するように前記比率を変化させる
情報処理装置。
【請求項９】
請求項１に記載の情報処理装置であって、
前記制御部は、カルマンフィルタ処理により自己位置を推定し、前記比率は、カルマンゲインである
情報処理装置。
【請求項１０】
請求項３に記載の情報処理装置であって、
前記制御部は、前記画像情報から特徴量を抽出し、前記１以上の座標系毎に、前記画像情報における特徴量のうちどの特徴量を自己位置の推定に使用するかを判定する
情報処理装置。
【請求項１１】
請求項１０に記載の情報処理装置であって、
前記制御部は、前記慣性情報と、前記特徴量の動きとの一致度を判定し、前記一致度に基づいて、前記１以上の座標系毎に、前記画像情報における特徴量のうちどの特徴量を自己位置の推定に使用するかを判定する
情報処理装置。
【請求項１２】
請求項３に記載の情報処理装置であって、
前記１以上の座標系は、地球を基準とした世界座標系と、前記ユーザを乗せて移動する第１の移動体を基準とした第１の移動体座標系とを含み、
前記制御部は、前記画像情報に基づいて、前記世界座標系から前記第１の移動体座標系が分裂したかどうかを判定し、前記分裂が生じたとき、前記第１の移動体座標系を設定する
情報処理装置。
【請求項１３】
請求項１２に記載の情報処理装置であって、
前記制御部は、前記分裂が生じたとき、前記世界座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置を再計算する
情報処理装置。
【請求項１４】
請求項１２に記載の情報処理装置であって、
前記制御部は、前記分裂が生じたとき、前記第１の移動体座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置を再計算する
情報処理装置。
【請求項１５】
請求項３に記載の情報処理装置であって、
前記１以上の座標系は、地球を基準とした世界座標系と、前記ユーザとは関係なく移動する第２の移動体を基準とした第２の移動体座標系とを含み、
前記制御部は、前記画像情報に基づいて、前記世界座標系から前記第２の移動体座標系が分裂したかどうかを判定し、前記分裂が生じたとき、前記第２の移動体座標系を設定する
情報処理装置。
【請求項１６】
請求項１５に記載の情報処理装置であって、
前記制御部は、前記分裂が生じたとき、前記世界座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置を再計算する
情報処理装置。
【請求項１７】
請求項１５に記載の情報処理装置であって、
前記制御部は、前記分裂が生じたとき、前記第２の移動体座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置を再計算する
情報処理装置。
【請求項１８】
請求項３に記載の情報処理装置であって、
前記制御部は、前記１以上の座標系毎に、前記撮像部における撮像に関するパラメータを変化させる
情報処理装置。
【請求項１９】
画像情報及び慣性情報に基づいて、情報処理装置における自己位置を推定し、
前記情報処理装置を付帯するユーザの状況を認識し、
前記自己位置の推定において、前記画像情報及び慣性情報のうちどちらをより信頼して使用するかについての比率を、前記状況に応じて変化させる
情報処理方法。
【請求項２０】
画像情報及び慣性情報に基づいて、情報処理装置における自己位置を推定し、
前記情報処理装置を付帯するユーザの状況を認識し、
前記自己位置の推定において、前記画像情報及び慣性情報のうちどちらをより信頼して使用するかについての比率を、前記状況に応じて変化させる
制御部としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、自己位置を推定する情報処理装置等の技術に関する。
【背景技術】
【０００２】
近年、視覚を通じて仮想空間に存在するように知覚させるＶＲ（Virtual Reality）技術や、現実世界における実物体に仮想オブジェクトを重畳表示するＡＲ（Augmented Reality）技術が広く知られるようになってきている。ＶＲ技術、ＡＲ技術は、例えば、ヘッドマウントディスプレイや、スマートフォン等の各種の情報処理装置に搭載されている。【０００３】
ＡＲ技術や、ＶＲ技術においては、情報処理装置における自己位置を正確に推定する必要がある（例えば、下記特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−０７２５６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、情報処理装置（ヘッドマウントディスプレイ等）を付帯するユーザが、車、電車等の乗り物に乗っているような特定の状況下にある場合、自己位置の推定の精度が低下してしまうといった問題がある。【０００６】
以上のような事情に鑑み、本技術の目的は、情報処理装置を付帯するユーザが、車、電車等の乗り物に乗っているような特定の状況下にある場合においても、自己位置を正確に推定することができる技術を提供することにある。
【課題を解決するための手段】
【０００７】
本技術に係る情報処理装置は、撮像部と、慣性センサと、制御部とを具備する。
前記撮像部は、画像情報を取得する。
前記慣性センサは、慣性情報を取得する。
前記制御部は、前記画像情報及び前記慣性情報に基づいて、情報処理装置における自己位置を推定し、前記情報処理装置を付帯するユーザの状況を認識し、前記自己位置の推定において、前記画像情報及び前記慣性情報のうちどちらをより信頼して使用するかについての比率を、前記状況に応じて変化させる。【０００８】
これにより、情報処理装置を付帯するユーザが、車、電車等の乗り物に乗っているような特定の状況下にある場合においても、自己位置を正確に推定することができる。【０００９】
上記情報処理装置において、前記制御部は、前記画像情報から特徴量を抽出し、前記状況に応じて、前記自己位置の推定において、前記特徴量のうちどの特徴量を使用するかを判定してもよい。【００１０】
上記情報処理装置において、前記制御部は、前記状況に応じて、１以上の座標系を設定可能であり、前記１以上の座標系において、それぞれ自己位置を推定してもよい。【００１１】
上記情報処理装置において、前記制御部は、前記１以上の座標系においてそれぞれ前記比率が異なるように前記比率を変化させてもよい。【００１２】
上記情報処理装置において、前記１以上の座標系は、前記ユーザを乗せて移動する第１の移動体を基準とした第１の移動体座標系を含み、前記制御部は、前記第１移動体座標系における自己位置の推定において、前記画像情報及び前記慣性情報のうち前記画像情報をより信頼して使用するように前記比率を変化さてもよい。【００１３】
上記情報処理装置において、前記制御部は、前記第１移動体座標系における自己位置の推定において、前記画像情報及び前記慣性情報のうち前記画像情報のみを信頼して使用するように前記比率を変化させてもよい。【００１４】
上記情報処理装置において、前記１以上の座標系は、前記ユーザとは関連せずに移動する第２の移動体を基準とした第２の移動体座標系を含み、前記制御部は、前記第２移動体座標系における自己位置の推定において、前記画像情報及び前記慣性情報のうち前記画像情報をより信頼して使用するように前記比率を変化させてもよい。【００１５】
上記情報処理装置において、前記制御部は、前記第２移動体座標系における自己位置の推定において、前記画像情報及び前記慣性情報のうち前記画像情報のみを信頼して使用するように前記比率を変化させてもよい。【００１６】
上記情報処理装置において、前記制御部は、カルマンフィルタ処理により自己位置を推定し、前記比率は、カルマンゲインであってもよい。【００１７】
上記情報処理装置において、前記制御部は、前記画像情報から特徴量を抽出し、前記１以上の座標系毎に、前記画像情報における特徴量のうちどの特徴量を自己位置の推定に使用するかを判定してもよい。【００１８】
上記情報処理装置において、前記制御部は、前記慣性情報と、前記特徴量の動きとの一致度を判定し、前記一致度に基づいて、前記１以上の座標系毎に、前記画像情報における特徴量のうちどの特徴量を自己位置の推定に使用するかを判定してもよい。【００１９】
上記情報処理装置において、前記１以上の座標系は、地球を基準とした世界座標系と、前記ユーザを乗せて移動する第１の移動体を基準とした第１の移動体座標系とを含み、前記制御部は、前記画像情報に基づいて、前記世界座標系から前記第１の移動体座標系が分裂したかどうかを判定し、前記分裂が生じたとき、前記第１の移動体座標系を設定してもよい。【００２０】
上記情報処理装置において、前記制御部は、前記分裂が生じたとき、前記世界座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置を再計算してもよい。【００２１】
上記情報処理装置において、前記制御部は、前記分裂が生じたとき、前記第１の移動体座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置の推定を再計算してもよい。【００２２】
上記情報処理装置において、前記１以上の座標系は、地球を基準とした世界座標系と、前記ユーザとは関係なく移動する第２の移動体を基準とした第２の移動体座標系とを含み、
前記制御部は、前記画像情報に基づいて、前記世界座標系から前記第２の移動体座標系が分裂したかどうかを判定し、前記分裂が生じたとき、前記第２の移動体座標系を設定してもよい。【００２３】
上記情報処理装置において、前記制御部は、前記分裂が生じたとき、前記世界座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置の推定を再計算してもよい。【００２４】
上記情報処理装置において、前記制御部は、前記分裂が生じたとき、前記第２の移動体座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置の推定を再計算してもよい。
情報処理装置。【００２５】
上記情報処理装置において、前記制御部は、前記１以上の座標系毎に、前記撮像部における撮像に関するパラメータを変化させてもよい。【００２６】
本技術に係る情報処理方法は、画像情報及び慣性情報に基づいて、情報処理装置における自己位置を推定し、前記情報処理装置を付帯するユーザの状況を認識し、前記自己位置の推定において、前記画像情報及び前記慣性情報のうちどちらをより信頼して使用するかについての比率を、前記状況に応じて変化させる。【００２７】
本技術に係るプログラムは、画像情報及び慣性情報に基づいて、情報処理装置における自己位置を推定し、前記情報処理装置を付帯するユーザの状況を認識し、前記自己位置の推定において、前記画像情報及び慣性情報のうちどちらをより信頼して使用するかについての比率を、前記状況に応じて変化させる制御部としてコンピュータを機能させる。
【発明の効果】
【００２８】
以上のように、本技術によれば、情報処理装置を付帯するユーザが、車、電車等の乗り物に乗っているような特定の状況下にある場合においても、自己位置を正確に推定することができる技術を提供することができる。
【図面の簡単な説明】
【００２９】
【図１】本技術の第１実施形態に係るＨＭＤを示す斜視図である。
【図２】ＨＭＤの内部構成を示すブロック図である。
【図３】制御部の処理を示すフローチャートである。
【図４】状況認識処理における制御部の処理を示すフローチャートである。
【図５】特徴量分類処理における制御部の処理を示すフローチャートである。
【図６】座標系設定処理における制御部の処理を示すフローチャートである。
【図７】自己位置推定処理における制御部の処理を示すフローチャートである。
【図８】自己位置再計算処理における制御部の処理を示すフローチャートである。
【図９】仮想オブジェクト配置処理における制御部の処理を示すフローチャートある。
【図１０】ユーザが車を運転しているときに、グラス部及び表示部を介してユーザが見ている視野の一例を示す図である。
【図１１】ユーザが車を運転しているときに、撮像部により取得された画像情報の一例を示す図である。
【図１２】ユーザがリビングルームにいるときに、ユーザが見ている視野の一例を示す図である。
【図１３】図１３は、ユーザがリビングルームにいるとき撮像部により撮像された画像情報の一例を示す図である。
【図１４】ユーザがトロッコに乗っているときに、ユーザが見ている視野の一例を示す図である。
【図１５】ユーザがトロッコに乗っているときに、撮像部により撮像された画像情報の一例を示す図である。
【図１６】本技術の第２実施形態に係るスマートフォンを示す斜視図である。
【図１７】スマートフォンの内部構成を示すブロック図である。
【図１８】ユーザが電車をホームで待っているときに、撮像部により撮像された画像上に、仮想キャラクタが配置されたときの様子を示す図である。
【図１９】ユーザが電車をホームで待っているときに、電車に仮想オブジェクトが配置されたときの様子を示す図である。
【図２０】ユーザが電車に乗っているときの画面の一例を示す図である。
【発明を実施するための形態】
【００３０】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
【００３１】
≪第１実施形態≫
＜ＨＭＤ１００の全体構成及び各部の構成＞
図１は、本技術の第１実施形態に係るヘッドマウントディスプレイ（以下、ＨＭＤ）１００を示す斜視図である。図２は、ＨＭＤ１００の内部構成を示すブロック図である。
【００３２】
これらの図に示すように、ＨＭＤ１００（情報処理装置）は、ＨＭＤ本体１１と、制御部１と、記憶部２と、表示部３と、撮像部４と、慣性センサ５と、操作部６と、マイクロフォン７と、スピーカ８と、通信部９とを備えている。
【００３３】
ＨＭＤ本体１１は、ユーザの頭部に装着されて使用される。ＨＭＤ本体１１は、フロント部１２と、フロント部１２の右側に設けられた右テンプル部１３と、フロント部１２の左側に設けられた左テンプル部１４と、フロント部１２の下側に取り付けられたグラス部１５とを有する。
【００３４】
表示部３は、シースルータイプの表示部であり、グラス部１５の表面に設けられている。表示部３は、制御部１の制御に応じて、仮想オブジェクト２０（図１０参照）を表示することで、グラス部１５を介してユーザが見ている実空間上に仮想オブジェクト２０が配置されているようにユーザに認識させる。なお、表示部３は、非シースルータイプの表示部であってもよい。この場合、撮像部４により撮像された画像が表示部３上に表示される。
【００３５】
撮像部４は、例えば、カメラであり、ＣＣＤ（Charge Coupled Device）センサ、ＣＭＯＳ（Complemented Metal Oxide Semiconductor）センサ等の撮像素子と、結像レンズなど等の光学系とを含む。撮像部４は、フロント部１２の外面において外向きに設けられており、ユーザの視線方向の先に存在する物体を撮像し、撮像により得られた画像情報を制御部１へと出力する。撮像部４は、フロント部１２において横方向に所定の間隔を開けて２つ設けられている。なお、撮像部４が設けられる場所、数については、適宜変更可能である。
【００３６】
撮像部４は、ユーザの眼を撮像する撮像部をさらに含んでいてもよい。この撮像部４は、フロント部１２の内面側において内向きに設けられ、この撮像部４により撮像された眼の画像は、例えば、眼の視線推定に用いられる。
【００３７】
慣性センサ５は、３軸方向の加速度を検出する３軸の加速度センサと、３軸回りの角速度を検出する角速度センサとを含む。慣性センサ５は、検出により得られた３軸方向の加速度、３軸回りの角速度を慣性情報として、制御部１に出力する。
【００３８】
本実施形態では、慣性センサ５の検出軸が３軸とされているが、この検出軸は、１軸、あるいは、２軸であってもよい。また、本実施形態では、慣性センサ５として、２種類のセンサが用いられているが、慣性センサ５として１種類、あるいは、３種類以上のセンサが用いられてもよい。なお、慣性センサ５の他の例としては、速度センサ、角度センサ等が挙げられる。
【００３９】
操作部６は、例えば、押圧式、接触式等の各種のタイプの操作部であり、ユーザによる操作を検出して制御部１へと出力する。図１に示す例では、操作部６は、左テンプル部１４の前方側に設けられているが、操作部６が設けられる位置はユーザが操作しやすい位置であればどのような位置であってもよい。
【００４０】
マイクロフォン７は、ユーザが発した声や、ユーザの周囲の環境音を電気信号に変換して、この信号を制御部１へと出力する。スピーカ８は、例えば、表示部３に表示される仮想オブジェクト２０（図１０参照）に関する補助情報などを音声として出力する。
【００４１】
通信部９は、例えば、外部機器との間で、直接的又は間接的に通信を行う。
【００４２】
制御部１は、ＣＰＵ（Central Processing Unit）等により構成されている。制御部１は、記憶部２に記憶された各種のプログラムに基づき種々の演算を実行し、ＨＭＤ１００の各部を統括的に制御する。なお、制御部１の処理については、動作説明の欄において後に詳述する。
【００４３】
記憶部２は、制御部１の処理に必要な各種のプログラムや、各種のデータが記憶される不揮発性のメモリと、制御部１の作業領域として用いられる揮発性のメモリとを含む。なお、上記各種のプログラムは、光ディスク、半導体メモリなどの可搬性の記録媒体から読み取られてもよいし、ネットワーク上のサーバ装置からダウンロードされてもよい。
【００４４】
＜基本的な考え方＞
次に、本技術の基本的な考え方について説明する。本技術においては、ユーザがＨＭＤ１００を装着（付帯）している状態で、移動体（第１の移動体）に乗っているときに、特定の座標系において正確に自己位置を推定することを目的の一つとしている。
【００４５】
ここで、まず、ユーザがＨＭＤ１００を装着している状態で、車を運転している場合を想定する。図１０は、本実施形態において、ユーザが車を運転しているときに、グラス部１５及び表示部３を介してユーザが見ている視野の一例を示す図である。
【００４６】
図１０に示す例では、仮想オブジェクト２０がＡＲ表示（以下、配置（定位）とも呼ぶ）されている。ＡＲ表示とは、ユーザから見て、仮想オブジェクト２０が、あたかも実空間に存在する現実物体であるかのように知覚させるように表示を行うことを意味する。
【００４７】
図１０に示す例では、ニュースの情報を含む仮想オブジェクト２０ａが、車３０のダッシュボード３１上に配置されている。また、道案内としての矢印形の仮想オブジェクト２０ｂが道路２１に対して配置され、建物に関する情報を含む仮想オブジェクト２０ｃが建物２２に対して配置されている。また、対向車の情報を含む仮想オブジェクト２０ｄが対向車２５に対して配置されている。
【００４８】
なお、仮想オブジェクト２０は、ニュース、メール、スケジュール、時計、天気、音楽、ゲーム、道案内、現実の物体の情報に関するもの等、どのようなオブジェクトであってもよい。
【００４９】
本実施形態においては、後述のように、撮像部４によって撮像された画像情報と、慣性センサ５によって検出された慣性情報（３軸方向の加速度、３軸方向の角速度）とに基づいて、ＨＭＤ１００における自己位置を推定する。
【００５０】
道案内としての矢印形の仮想オブジェクト２０ｂ、建物に関する情報を含む仮想オブジェクト２０ｃが配置される物体（道路２１、建物２２）は、地球を基準とした世界座標系に属している。従って、この場合には、世界座標系において自己位置が推定されるべきである。
【００５１】
一方、ニュースの情報を含む仮想オブジェクト２０ａが表示される物体（ダッシュボード３１）は、車３０を基準とした移動体座標系（第１の移動体座標系）に属している。従って、この場合には、地球を基準とした世界座標系ではなく、車３０を基準とした移動体座標系（第１の移動体座標系）において自己位置が推定されるべきである。
【００５２】
一方、慣性センサ５により取得される慣性情報は、車３０を基準とした移動体座標系（第１の移動体座標系）に基づく値ではなく、常に、地球を基準とした世界座標系に基づく値となる。
【００５３】
このため、車３０を基準とした移動体座標系（第１の移動体座標系）において、画像情報と、慣性情報とに基づいて自己位置が推定されるとき、何ら対策を講じないと、移動体座標系での信頼度が低い慣性情報が自己位置の推定に反映されてしまう。
【００５４】
この場合、移動体座標系（第１の移動体座標系）における自己位置の推定が、不正確となり、仮想オブジェクト２０ａを車３０のダッシュボード３１上に正確に配置することができない。例えば、ユーザからすると、仮想オブジェクト２０ａが車３０の後ろへ向けて移動して見えなくなってしまうような状況が発生する。
【００５５】
本実施形態においては、このようなことが発生することを防止するための処理が実行される。典型的には、ＨＭＤ１００を装着（付帯）したユーザの状況（例えば、車３０に乗っているかどうか）が認識され、自己位置の推定において、画像情報及び慣性情報のうちどちらをより信頼して使用するかについての比率が、ユーザの状況に応じて変化される。
【００５６】
以上が、本技術の基本的な考え方である。
【００５７】
次に、本技術の基本的な考え方の補足として、画像情報の扱い方について説明する。図１１は、ユーザが車３０を運転しているときに、撮像部４により取得された画像情報の一例を示している。
【００５８】
画像情報において、車３０のダッシュボード３１、フレーム３２、天井３３等は、移動体座標系（第１の移動体座標系）に属する物体である。一方、車３０の窓を介してその先に見える、道路２１、ガードレール２３、植木２４、建物２２等は、世界座標系に属する物体である。
【００５９】
つまり、ユーザが車３０を運転している等の特定の状況下では、画像情報には、移動体座標系（第１の移動体座標系）に属する物体と、世界座標系に属する物体とが混在する場合がある。
【００６０】
画像情報に基づいて、車３０を基準とした移動体座標系（第１の移動体座標系）において自己位置を推定するとき、何ら対策を講じないと、移動体座標系とは無関係である、世界座標系に属する物体が、自己位置の推定に反映されてしまう。
【００６１】
従って、この場合も、移動体座標系（第１の移動体座標系）における自己位置の推定が、不正確となり、仮想オブジェクト２０ａを車３０のダッシュボード３１上に正確に配置することができない場合がある。
【００６２】
一方、画像情報に基づいて、世界座標系において自己位置を推定するとき、何ら対策を講じないと、世界座標系とは無関係である、第１の移動体座標系に属する物体が、自己位置の推定に反映されてしまう。
【００６３】
本実施形態においては、このようなことが発生することを防止するための処理も実行される。典型的には、ＨＭＤ１００を装着（付帯）したユーザの状況に応じて、自己位置の推定において、画像情報における特徴量のうちどの特徴量を使用するかが判定される。
【００６４】
＜動作説明＞
以下、制御部１の処理について、一例を挙げて具体的に説明する。図３は、制御部１の処理を示すフローチャートである。制御部１は、状況認識処理（ステップ１００）と、特徴量分類処理（ステップ２００）と、座標系設定処理（ステップ３００）と、自己位置推定処理（ステップ４００）と、自己位置再計算処理（ステップ５００）と、仮想オブジェクト配置処理（ステップ６００）とをこの順番で実行する。
【００６５】
「状況認識処理」
図４は、状況認識処理における制御部１の処理を示すフローチャートである。まず、制御部１は、慣性センサ５により検出された慣性情報（３軸方向の加速度、３軸回りの角速度）を取得し（ステップ１０１）、撮像部４により撮像された画像情報を取得する（ステップ１０２）。
【００６６】
次に、制御部１は、画像情報に基づいて、画像認識処理を実行する（ステップ１０３）。そして、制御部１は、慣性情報、画像認識処理に基づいて、ＨＭＤ１００を装着したユーザの現在の状況を判定する（ステップ１０４）。
【００６７】
状況の認識においては、まず、制御部１は、大まかに、ユーザが第１の移動体に乗っている状況であるか、第１の移動体には乗っていない状況であるか（建物の中にいる。外にいる等）が判定される。なお、本明細書中において、第１の移動体とは、ＨＭＤ１００を装着したユーザを乗せて移動する移動体である。第１の移動体は、例えば、車３０、バス、電車、飛行機、トロッコ、エレベータ、エスカレータ、自転車などである。典型的には、ユーザを乗せて移動する乗り物であればどのような移動体であっても第１の移動体に該当する。
【００６８】
本実施形態では、第１の移動体に乗っていれば、第１の移動体が動いていなくても、第１の移動体に乗っている状況であると判定される。なお、第１の移動体に乗っており、かつ、第１の移動体が動いているときに、第１の移動体に乗っている状況であると判定されてもよい。
【００６９】
この場合、第１の移動体座標系が世界座標系から分裂（後述：ステップ３０５参照）してから、第１の移動体座標系が世界座標系に統合（後述：ステップ３０７参照）されるまでの間の区間が、第１の移動体に乗っている状況であると判定されてもよい。
【００７０】
第１の移動体に乗っている場合においては、その第１の移動体の種類も判定される（車３０か、電車か等）。第１の移動体に乗っていない場合、外にいる、建物の中にいる等の状況が判定されてもよい。
【００７１】
また、第１の移動体に乗っている場合、第１の移動体に乗って静止している（座っている、立っている、寝ている）、歩いている、走っている等の行動が認識されてもよい。移動体に乗っていない場合にも同様に、静止している（座っている、立っている、寝ている）、歩いている、走っている等の行動が認識されてもよい。
【００７２】
なお、本実施形態では、慣性情報及び画像情報（画像認識処理）の両方の情報に基づいて、ユーザの現在の状況が判定されているが、１つの情報にのみ基づいて、ユーザの現在の状況が判定されてもよい。また、マイクロフォン７によって取得された、環境音などに基づいて、ユーザの現在の状況が判定されてもよい。
【００７３】
「特徴量分類処理」
次に、特徴量分類処理について説明する。図５は、特徴量分類処理における制御部１の処理を示すフローチャートである。
【００７４】
本実施形態では、画像情報に基づく特徴量が、世界座標系、第１の移動体座標系及び第２の移動体座標系のうちいずれか座標系の特徴量に分類される。
【００７５】
ここで、世界座標系は、地球を基準とした座標系である。第１の移動体座標系は、ＨＭＤ１００を装着したユーザを乗せて移動する第１の移動体を基準とした座標系である。第２の移動体座標系は、ＨＭＤ１００を装着したユーザとは無関係に移動する第２の移動体を基準とした座標系である。
【００７６】
なお、第２の移動体について、図１１を用いて説明すると、対向車線をこちら側に向けて走ってくる対向車２５が第２の移動体に対応する。なお、前を走る車や、歩道を歩いる歩行者等が画像内に写っている場合には、これらも第２の移動体に該当する。典型的には、ユーザと無関係に移動する移動体であれば、どのような移動体であっても第２の移動体に該当する。
【００７７】
まず、制御部１は、画像処理により、画像情報における画像全体から特徴量を抽出し、抽出された全特徴量を類似する特徴量群毎に分類して記憶部２に記憶する（ステップ２０１）。例えば、画像情報が、図１１に示す例の場合、ダッシュボード３１、フレーム３２、天井３３、道路２１、個々の建物２２、ガードレール２３、個々の植木２４、対向車２５に対応する特徴量は、それぞれ、異なる特徴量群に分類される。
【００７８】
次に、制御部１は、特徴量群を記憶部２から１つ読み出し（ステップ２０２）、特徴量群の動きを判定する（ステップ２０３）。そして、制御部１は、慣性センサ５における慣性情報（３軸方向の加速度、３軸回りの角速度）と、特徴量群の動きとの一致度を判定する（ステップ２０４）。
【００７９】
この一致度は、例えば、後述のカルマンフィルタ処理における観測残差（観測残差の逆数）が用いられてもよい。
【００８０】
次に、制御部１は、慣性情報と、特徴量群の動きとの一致度が閾値以下であるかどうかを判定する（ステップ２０５）。一致度が閾値を超える場合（ステップ２０５のＮＯ）、制御部１は、その特徴量群を、世界座標系の特徴量に分類する（ステップ２０６）。
【００８１】
例えば、図１１に示す例では、道路２１、ガードレール２３、個々の植木２４、個々の建物２２にそれぞれ対応する特徴量群の動きは、慣性情報（３軸方向の加速度、３軸回りの角速度）との間の一致度が高い。従って、このような特徴量群は、世界座標系の特徴量に分類される。
【００８２】
一方、ステップ２０５において、慣性センサ５における慣性情報と、特徴量群の動きとの一致度が閾値以下である場合（ステップ２０５のＹＥＳ）、制御部１は、次のステップ２０７へ進む。
【００８３】
例えば、図１１に示す例では、ダッシュボード３１、フレーム３２、天井３３、対向車２５に対応するにそれぞれ対応する特徴量群の動きは、慣性情報（３軸方向の加速度、３軸回りの角速度）との間の一致度が低い。従って、このような特徴量群については、ステップ２０７以降の処理が実行される。
【００８４】
ステップ２０７では、制御部１は、ＨＭＤ１００を装着したユーザが第１の移動体に乗っているかどうかを判定する。なお、第１の移動体に乗っているかどうかの判断は、状況認識処理において既に実行されている。
【００８５】
ユーザが第１の移動体に乗っている場合（ステップ２０７のＹＥＳ）、制御部１は、現在において判定の対象とされている特徴量群に対応する物体と、ＨＭＤ１００（ユーザ）との間の距離を測定する（ステップ２０８）。この距離は、例えば、２つの撮像部４によって得られた２つの画像情報（視差）に基づいて測定することができる。なお、この距離は、例えば、光、音波等を用いた距離センサにより測定されてもよい。
【００８６】
次に、制御部１は、特徴量群に対応する物体と、ＨＭＤ１００（ユーザ）との間の距離が閾値以下であるかどうかを判定する（ステップ２０９）。
【００８７】
上記距離が、閾値以下である場合（ステップ２０９のＹＥＳ）、制御部１は、現在において判定の対象とされている特徴量群を、第１の移動体座標系の特徴量に分類する（ステップ２１０）。
【００８８】
ここで、例えば、図１１に示す例では、ダッシュボード３１、フレーム３２、天井３３等の車３０を構成する各部については、ＨＭＤ１００（ユーザ）との間の距離が近い。従って、ダッシュボード３１、フレーム３２、天井３３等の車３０を構成する各部については、上記距離が閾値以下であるとされ（ステップ２０９のＹＥＳ）、これらに対応する特徴量群は、第１の移動体座標系の特徴量に分類される（ステップ２１０）。
【００８９】
一方、上記距離が、閾値を超える場合（ステップ２０９のＮＯ）、制御部１は、現在において判定の対象とされている特徴量群を、対応する第２の移動体座標系の特徴量に分類する（ステップ２１１）。
【００９０】
ここで、例えば、図１１に示す例では、対向車２５は、ＨＭＤ１００（ユーザ）との間の距離が遠い。従って、対向車２５については、上記距離が閾値を超える（ステップ２０９のＮＯ）。この場合、対向車２５に対応する特徴量群は、対向車２５に対応する第２の移動体座標系の特徴量に分類される（ステップ２１１）。
【００９１】
なお、ステップ２０９において上記距離と比較される閾値は、ユーザが乗っている移動体の種類に応じて異なっていてもよい。例えば、ユーザが車３０に乗っているときの車体とＨＭＤ１００との間の距離は、ユーザが電車９０に乗っているときの車体とＨＭＤ１００との間の距離とは異なることが考えられる。従って、例えば、ユーザが車３０に乗っている場合の閾値が、ユーザが電車９０に乗っているときの閾値よりも小さく設定されてもよい。
【００９２】
なお、ステップ２０７において、ユーザが第１の移動体に乗っていない場合も（ステップ２０７のＮＯ）、上記距離が閾値を超える場合と同様に、現在において判定の対象とされている特徴量群が、対応する第２の移動体座標系の特徴量に分類される（ステップ２１１）。
【００９３】
一例として、例えば、ユーザが歩道を歩いるとき、対向車２５が走ってきたとする。対向車２５に対応する特徴量群の動きは、慣性情報との一致度が低く（ステップ２０５のＹＥＳ）、かつ、このとき、ユーザは、第１の移動体には乗っていない（ステップ２０７のＮＯ）。この場合、制御部１は、対向車２５に対応する特徴量群を、対向車２５に対応する第２の移動体座標系の特徴量に分類する。
【００９４】
制御部１は、ステップ２０６、ステップ２１０、ステップ２１１の後、全ての特徴量群について分類が完了したかどうかを判定する（ステップ２１２）。
【００９５】
分類が完了していない特徴量群が残っている場合（ステップ２１２のＮＯ）、制御部１は、ステップ２０２へ戻り、まだ分類が完了していない特徴量群を１つ読みだして、再びステップ２０４以降の処理を実行する。
【００９６】
ステップ２１２において、全ての特徴量群について分類が完了している場合（ステップ２１２のＹＥＳ）、制御部１は、処理を終了する。
【００９７】
なお、制御部１は、ステップ２０１〜ステップ２１２において、慣性情報と、特徴量の動きとの一致度を判定し、一致度に基づいて、座標系毎に、画像情報における特徴量のうちどの特徴量を自己位置の推定に使用するかを判定している。
【００９８】
「座標系設定処理」
次に、座標系設定処理について説明する。図６は、座標系設定処理における制御部１の処理を示すフローチャートである。
【００９９】
まず、制御部１は、世界座標系が設定されているかどうかを判定する（ステップ３０１）。世界座標系が設定されていない場合（ステップ３０１のＮＯ）、制御部１は、地球の或る特定の位置を原点として地球座標系を設定する（ステップ３０２）。
【０１００】
次に、制御部１は、今回の特徴量分類処理において、第１の移動体座標系の特徴量に分類された特徴量群が存在したかどうかを判定する（ステップ３０３）。
【０１０１】
今回の特徴量分類処理において、第１の移動体座標系の特徴量に分類された特徴量群が存在した場合（ステップ３０３のＹＥＳ）、制御部１は、第１の移動体座標系が設定されているかどうかを判定する（ステップ３０４）。第１の移動体座標系が設定されていない場合（ステップ３０４のＮＯ）、制御部１は、第１の移動体における或る特定の位置を原点として第１の移動体座標系を新たに設定する（ステップ３０５）。これにより、世界座標系からの第１の移動体座標系の分裂が生じる。
【０１０２】
ステップ３０４において、第１の移動体座標系が既に設定されている場合（ステップ３０４のＹＥＳ）、制御部１は、第１の移動体座標系を新たに設定する処理を実行せずに、次のステップ３０８へ進む。
【０１０３】
ステップ３０３において、今回の特徴量分類処理において、第１の移動体座標系の特徴量に分類された特徴量群が存在しなかった場合（ステップ３０３のＮＯ）、制御部１は、第１の移動体座標系が設定されているかどうかを判定する（ステップ３０６）。第１の移動体座標系が設定されている場合（ステップ３０６のＹＥＳ）、制御部１は、第１の移動体座標系を消去する（ステップ３０７）。これにより、第１の移動体座標系が世界座標系へ統合される。
【０１０４】
なお、制御部１は、第１の移動体座標系の特徴量に分類される特徴量群が存在しなくなってから所定時間（数秒程度）が経過しても、第１の移動体座標系の特徴量に分類される特徴量群が現れなかったときに、第１の移動体座標系を消去してもよい。
【０１０５】
ステップ３０６において、第１の移動体座標系が設定されていない場合（ステップ３０６のＮＯ）、制御部１は、第１の移動体座標系を消去する処理を実行せずに、次のステップ３０８へ進む。
【０１０６】
ステップ３０８では、制御部１は、今回の特徴量分類処理において、第２の移動体座標系の特徴量に分類された特徴量群が存在したかどうかを判定する。
【０１０７】
今回の特徴量分類処理において、第２の移動体座標系の特徴量に分類された特徴量群が存在した場合（ステップ３０８のＹＥＳ）、制御部１は、対応する第２の移動体座標系が設定されているかどうかを判定する（ステップ３０９）。対応する第２の移動体座標系が設定されていない場合（ステップ３０９のＮＯ）、制御部１は、第２の移動体における或る特定の位置を原点として、第２の移動体座標系を新たに設定する（ステップ３１０）。これにより、世界座標系からの第２の移動体座標系の分裂が生じる。
【０１０８】
ステップ３０９において、対応する第２の移動体座標系が既に設定されている場合（ステップ３０９のＹＥＳ）、制御部１は、第２の移動体座標系を新たに設定する処理を実行せずに、処理を終了する。
【０１０９】
ステップ３０８において、今回の特徴量分類処理において、第２の移動体座標系の特徴量に分類された特徴量群が存在しなかった場合（ステップ３０８のＮＯ）、制御部１は、対応する第２の移動体座標系が設定されているかどうかを判定する（ステップ３１１）。対応する第２の移動体座標系が設定されている場合（ステップ３１１のＹＥＳ）、制御部１は、第２の移動体座標系を消去する（ステップ３１２）。これにより、対応する第２の移動体座標系が世界座標系へ統合される。
【０１１０】
なお、制御部１は、第２の移動体座標系の特徴量に分類される特徴量群が存在しなくなってから所定時間（数秒程度）が経過しても、対応する第２の移動体座標系の特徴量に分類される特徴量群が現れなかったときに、第２の移動体座標系を消去してもよい。
【０１１１】
ステップ３１１において、対応する第２の移動体座標系が設定されていない場合（ステップ３１１のＮＯ）、制御部１は、第２の移動体座標系を消去する処理を実行せずに、処理を終了する。
【０１１２】
以下、第１の移動体座標系、第２の移動体座標系による世界座標からの分裂、世界座標への統合について、一例を挙げて具体的に説明する。なお、ここでは、特徴量の分類処理を参照しつつ説明を行う。
【０１１３】
例えば、図１１に示す例において、ＨＭＤ１００を装着したユーザが乗った車３０が停止しているとする。車３０が停止している状態では、車３０は、世界座標系に属している。つまり、ダッシュボード３１、フレーム３２、天井３３等の車３０を構成する各部にそれぞれ対応する特徴量群の動きと、慣性情報との一致度は高く（ステップ２０５のＮＯ）、この特徴量群は、世界座標系の特徴量に分類される（ステップ２０６）。
【０１１４】
このとき、第１の移動体座標系の特徴量に分類される特徴量群はなく、従って、まだ第１の移動体座標系は設定されていない。
【０１１５】
一方、停止まっている車３０が走り出して、車３０を構成する各部にそれぞれ対応する特徴量群の動きと、慣性情報との一致度が閾値以下となったとする（ステップ２０５のＹＥＳ）。この場合、車３０を構成する各部分と、ＨＭＤ１００との間の距離が閾値以下であり（ステップ２０９のＹＥＳ）、車３０を構成する各部にそれぞれ対応する特徴量群が、第１の移動体座標系の特徴量に分類される（ステップ２１０）。
【０１１６】
この場合、第１の移動体座標系の特徴量に分類される特徴量群が存在することになり（ステップ３０３のＹＥＳ）、また、この時点では、まだ第１の移動体座標系は設定されていない（ステップ３０４のＮＯ）。従って、第１の移動体座標系が新たに設定され、第１の移動体座標系が、世界座標系から分裂する（ステップ３０５）。
【０１１７】
一方、走っている車３０が停止し（あるいは、車３０が停止する寸前でゆっくり動いて）、車３０を構成する各部にそれぞれ対応する特徴量群の動きと、慣性情報との一致度が閾値を超えたとする（ステップ２０５のＹＥＳ）。この場合、車３０を構成する各部にそれぞれ対応する特徴量群が、世界座標系の特徴量に分類される（ステップ２０６）。
【０１１８】
この場合、第１の移動体座標系の特徴量に分類される特徴量群が存在せず（ステップ３０３のＮＯ）、また、この時点においては、既に第１の移動体座標系が設定されている（ステップ３０６のＹＥＳ）。従って、第１の移動体座標系が消去され、第１の移動体座標系が、世界座標系へと統合される（ステップ３０７）。
【０１１９】
また、例えば、図１１に示す例において、対向車２５が停止しているとする。なお、ユーザが乗った車３０は走っていても、停止していてもよい。対向車２５が停止している状態では、対向車２５は、世界座標系に属している。つまり、対向車２５に対応する特徴量群の動きと、慣性情報との一致度は高く（ステップ２０５のＮＯ）、この特徴量群は、世界座標系の特徴量に分類される（ステップ２０６）。
【０１２０】
このとき、対向車２５に対応する第２の移動体座標系の特徴量に分類される特徴量群はなく、従って、まだ、対向車２５に対応する第２の移動体座標系は設定されていない。
【０１２１】
一方、停止している対向車２５が走り出して、対向車２５に対応する特徴量群の動きと、慣性情報との一致度が閾値以下となったとする（ステップ２０５のＹＥＳ）。この場合、対向車２５と、ＨＭＤ１００との間の距離が閾値以下であり（ステップ２０９のＮＯ）、対向車２５に対応する特徴量群が、対向車２５に対応する第２の移動体座標系の特徴量に分類される（ステップ２１１）。
【０１２２】
この場合、第２の移動体座標系の特徴量に分類される特徴量群が存在することになり（ステップ３０８のＹＥＳ）、また、この時点では、対向車２５に対応する第２の移動体座標系は設定されていない（ステップ３０９のＮＯ）。従って、対向車２５に対応する第２の移動体座標系が新たに設定され、この第２の移動体座標系が、世界座標系から分裂する（ステップ３１０）。
【０１２３】
一方、走っている対向車２５が止まり（あるいは、対向車２５が止まる寸前でゆっくり動いて）、対向車２５に対応する特徴量群の動きと、慣性情報との一致度が閾値を超えたとする（ステップ２０５のＮＯ）。この場合、対向車２５に対応する特徴量群が、世界座標系の特徴量に分類される（ステップ２０６）。
【０１２４】
この場合、対向車２５に対応する第２の移動体座標系の特徴量に分類される特徴量群が存在せず（ステップ３０８のＮＯ）、また、この時点においては、既に対向車２５に対応する第２の移動体座標系が設定されている（ステップ３１１のＹＥＳ）。従って、対向車２５に対応する第２の移動体座標系が消去され、第２の移動体座標系が、世界座標系へと統合される（ステップ３１２）。
【０１２５】
「自己位置推定処理」
次に、制御部１が、自己位置（自己姿勢を含む）を推定するときの処理について説明する。図７は、自己位置推定処理における制御部１の処理を示すフローチャートである。
【０１２６】
まず、制御部１は、仮想オブジェクト２０を配置するための座標系が指定されているかどうかを判定する（ステップ４０１）。座標系は、例えば、アプリケーション毎に指定されており、また、指定される座標系は、アプリケーション毎に異なる場合がある。
【０１２７】
座標系が指定されるパターンとしては、２つのパターンがある。１つ目の指定パターンは、世界座標系、第１の移動座標系、第２の移動座標系のうち使用する座標系が１つ決められているパターンである。
【０１２８】
図１０を参照して、道案内としての矢印形の仮想オブジェクト２０ｂ、建物に関する情報を含む仮想オブジェクト２０ｃが配置される場合を想定する。このような仮想オブジェクト２０に関するアプリケーションは、常に世界座標系を使用するという指定パターンでの指定を行う。
【０１２９】
２つ目のパターンは、優先すべき座標系が存在する場合には、その優先すべき座標系を使用し、該当する座標系が存在しない場合には、他の座標系を使用するという指定パターンである。例えば、第１の移動座標系が存在する場合には、第１の移動体座標系を使用し、第１の移動体座標系が存在しない場合には、地球座標系を使用するなどの指定パターンである。
【０１３０】
図１０を参照して、ニュースの仮想オブジェクト２０ａが配置される場合を想定する。例えば、このような仮想オブジェクト２０に関するアプリケーションは、第１の移動座標系が存在する場合には、第１の移動体座標系を使用し、第１の移動体座標系が存在しない場合には、地球座標系を使用するという指定パターンでの指定を行う。
【０１３１】
座標系が指定されていない場合（ステップ４０１のＮＯ）、制御部１は、仮想オブジェクト２０を配置するための配置対象がアプリケーションにより指定されているかどうかを判定する（ステップ４０２）。仮想オブジェクト２０を配置するための配置対象が指定されている場合（ステップ４０２のＹＥＳ）、制御部１は、配置対象が属する座標系を判定する（ステップ４０３）。
【０１３２】
例えば、図１０を参照して、仮想オブジェクト２０の配置対象として、道路２１、建物２２等が指定されているとする。この場合、制御部１は、道路２１、建物２２が属する座標系がどの座標系であるかを判定する。この判定は、道路２１、建物２２に対応する特徴量群が、どの座標系の特徴量に分類されたかを判断することで行うことができる（ステップ２０６、ステップ２１０、ステップ２１１参照）。なお、この場合、道路２１、建物２２が属する座標系は、世界座標系であると判定される。
【０１３３】
また、図１０を参照して、仮想オブジェクト２０の配置対象として、例えば、車３０のダッシュボード３１が指定されているとする。この場合、制御部１は、ダッシュボード３１が属する座標系がどの座標系であるかを判定する。この判定は、ダッシュボード３１に対応する特徴量群が、どの座標系の特徴量に分類されたかを判断することで行うことができる（ステップ２０６、ステップ２１０、ステップ２１１参照）。なお、この場合、ダッシュボード３１は、車３０が停止していれば、世界座標系に属すると判定され、車３０が走っていれば第１の移動体座標系に属すると判定される。
【０１３４】
また、図１２を参照して、仮想オブジェクト２０の配置対象として、例えば、対向車２５が指定されているとする。この場合、制御部１は、対向車２５が属する座標系がどの座標系であるかを判定する。この判定は、対向車２５に対応する特徴量群が、どの座標系の特徴量に分類されたかを判断することで行うことができる（ステップ２０６、ステップ２１０、ステップ２１１参照）。なお、対向車２５は、対向車２５が停止していれば、世界座標系に属すると判定され、対向車２５が移動していれば、第２の移動体座標系に属すると判定される。
【０１３５】
なお、配置対象の指定については、アプリケーションからの指定でなく、ユーザから指定されてもよい。例えば、ユーザが特定の入力（撮像部４を介したジェスチャ入力、マイクロフォン７を介した音声入力、操作部６を介した操作入力）をすると、この入力が検出されて、配置対象が指定される。例えば、ユーザが手をダッシュボード３１の方向へ伸ばして撮像部４に写る状態で、特定のジェスチャ操作をすると、ダッシュボード３１が、ニュースの仮想オブジェクト２０ａの配置対象として指定される。
【０１３６】
座標系が指定されておらず（ステップ４０１のＮＯ）、また、配置対象も指定されていない場合（ステップ４０２のＮＯ）、制御部１は、処理を終了する。
【０１３７】
座標系が指定されている場合（ステップ４０１のＹＥＳ）、並びに、配置対象が指定されていてその配置対象が属する座標系が判定された場合（ステップ４０２〜４０３）、制御部１は、次のステップ４０４へ進む。ステップ４０４では、制御部１は、対応する座標系の特徴量を読みだす。
【０１３８】
次に、制御部１は、読み出した特徴量に基づいて、位置・姿勢の変化量Δｐｏｓｅ１を算出する。
【０１３９】
なお、ここでの説明から理解されるように、世界座標系における自己位置の推定においては、世界座標系の特徴量が用いられ、第１の移動体座標系、第２の移動体座標系の特徴量は用いられない。同様に、第１の移動体座標系における自己位置の推定においては、第１の移動体座標系の特徴量が用いられ、世界座標系、第２の移動体座標系の特徴量は用いられない。同様に、第２の移動体座標系における自己位置の推定においては、第２の移動体座標系の特徴量が用いられ、世界座標系、第１の移動体座標系の特徴量は用いられない。
【０１４０】
制御部１は、ステップ４０４及びステップ４０５において、画像情報における特徴量に基づいてΔｐｏｓｅ１の算出しているとき、これと並行して、ステップ４０６及びステップ４０７において慣性情報に基づいて、Δｐｏｓｅ２の算出を行っている。
【０１４１】
具体的には、制御部１は、慣性センサ５から今回の慣性情報を取得し（ステップ４０６）、この取得した情報に基づいて、位置・姿勢の変化量を算出する（ステップ４０７）。
【０１４２】
次に、制御部１は、共分散行列に基づいて、カルマンゲインを算出する（ステップ４０８）。なお、本実施形態では、自己位置の推定において、カルマンフィルタ処理を基本とした処理が実行される。カルマンフィルタは、典型的には、拡張カルマンフィルタ（ＥＫＦ）が用いられるが、アンセンテッド・カルマンフィルタ（ＵＫＦ）が用いられてもよい。
【０１４３】
カルマンフィルタ処理におけるカルマンゲインは、いわば、自己位置の推定において、画像情報における特徴量に基づいて算出されるΔｐｏｓｅ１と、慣性情報に基づいて算出されるΔｐｏｓｅ２とのうちどちらをどの程度信頼して使用するかの比率である。
【０１４４】
カルマンゲインを算出すると、制御部１は、カルマンゲインを、対応する座標系に応じて変化させる（ステップ４０９）。つまり、本実施形態では、制御部１は、ユーザが第１の移動体に乗っているかどうかなどのユーザの各種の状況や、使用される座標系に応じて、カルマンゲインによる比率を変化させている。
【０１４５】
ステップ４０９において、例えば、制御部１は、世界座標系における自己位置の推定の場合には、カルマンゲインを変化させずにそのままの値を用いる。
【０１４６】
一方、第１の移動体座標系における自己位置の推定においては、画像情報に基づくΔｐｏｓｅ１をより信頼して使用するように、カルマンゲインを変化させる。
【０１４７】
なお、本実施形態では、第１の移動体座標系における自己位置の推定においては、信頼度が低いΔｐｏｓｅ２を全く信用せず、このΔｐｏｓｅ２を自己位置の推定に全く反映させない（つまり無視する）。つまり、制御部１は、第１移動体座標系における自己位置の推定において、画像情報に基づくΔｐｏｓｅ１及び慣性情報に基づくΔｐｏｓｅ２のうち画像情報に基づくΔｐｏｓｅ１のみを信頼して使用するように、カルマンゲインを変化させる。
【０１４８】
また、第２の移動体座標系における自己位置の推定においても、第１の移動体座標系と同様に、画像情報に基づくΔｐｏｓｅ１をより信頼して使用するように、カルマンゲインを変化させる。
【０１４９】
本実施形態では、第２の移動体座標系における自己位置の推定においては、第１の移動体座標系と同様に、信頼度が低いΔｐｏｓｅ２を全く信用せず、このΔｐｏｓｅ２を自己位置の推定に全く反映させない（つまり無視する）。つまり、制御部１は、第２移動体座標系における自己位置の推定において、前記画像情報に基づくΔｐｏｓｅ１及び慣性情報に基づくΔｐｏｓｅ２のうち画像情報に基づくΔｐｏｓｅ１のみを信頼して使用するようにカルマンゲインを変化させる。
【０１５０】
次に、制御部１は、画像情報に基づくΔｐｏｓｅ１、慣性情報に基づくΔｐｏｓｅ２及びカルマンゲインを使用して、対応する座標系における自己位置を推定する（ステップ４１０）。
【０１５１】
なお、本実施形態では、世界座標系における自己位置の推定と、第１の移動体座標系における自己位置の推定と、第２の移動体座標系における自己位置の推定とを、同時に並行して行うことが可能とされている。
【０１５２】
第２の移動体座標系における自己位置の推定においては、第２の移動体（例えば、対向車２５）から位置情報（例えば、ＧＰＳ情報（ＧＰＳ：Global Positioning System））を取得できるのであれば、この位置情報が考慮されて自己位置が推定されてもよい。また、このとき、ＨＭＤ１００における位置情報（例えば、ＧＰＳ情報）が考慮されてもよい。
【０１５３】
また、第１の移動体座標系、第２の移動体座標系における自己位置の推定において、世界座標系に基づく慣性情報の値を、第１の移動体座標系、第２の移動体座標系に変換して使用することもできる。
【０１５４】
次に、制御部１は、遅延補償、ノイズリダクション等のポストフィルタ処理を実行し（ステップ４１１）、処理を終了する。
【０１５５】
なお、遅延補償は、自己位置推定処理における計算時間（特に、画像処理）に基づく遅延を補償するために行われるが、この遅延補償は、慣性情報に基づいて行われる。一方、第１の移動体座標系、第２の移動体座標系においては、慣性情報の信頼度が低いので、慣性情報に基づく遅延補償自体が行われなくてもよい。なお、世界座標系においては、通常通り、慣性情報に基づく遅延補償が行われる。
【０１５６】
なお、慣性情報（世界座標に基づく値）を第１の移動体座標系、第２の移動体座標系に変換して、変換された値を遅延補償に用いてもよい。一方、慣性情報の値を座標変換するとき、この計算時間に基づく遅れが発生するため、この遅れを埋める予測が実行されてもよい。
【０１５７】
また、各座標系において、カルマンフィルタ内部の分散値が大きくなった場合（自己位置の推定の精度が低くなった場合）、ポストフィルタにより仮想オブジェクト２０の動きが滑らかにされてもよい。
【０１５８】
［自己位置の再計算処理］
次に、自己位置の再計算処理について説明する。図８は、自己位置の再計算処理における制御部１の処理を示すフローチャートである。
【０１５９】
ここでの説明では、まず、自己位置の再計算処理を行う理由について説明する。
【０１６０】
上述のように、ユーザが乗った車３０（第１の移動体）が停止しているとき、ダッシュボード３１などの車３０の各部分に対応する特徴量群は、世界座標系の特徴量に分類される（ステップ２０６）。そして、車３０の各部分に対応する特徴量群は、世界座標系における自己位置推定用の特徴量として用いられる（ステップ４０４、４０５）。
【０１６１】
一方、停止している車３０が走り出し、車３０の各部分に対応する特徴量群の動きと、慣性情報との一致度が閾値以下となると（ステップ２０５のＹＥＳ）、車３０の各部分に対応する特徴量群が第１の移動体座標系に分類される（ステップ２１０）。そして、第１の移動体座標系が、世界座標系から分裂する（ステップ３０５）。
【０１６２】
ここで、停止している車３０が走り出してから、上記一致度が閾値以下となるまでの区間に着目する。この区間においては、ダッシュボード３１などの車３０の各部分に対応する特徴量群は、世界座標の特徴量に分類され（ステップ２０６）、世界座標系における自己位置推定用の特徴量として用いられる（ステップ４０４、４０５）。
【０１６３】
つまり、上記区間においては、世界座標系に対して動いている車３０の各部分の特徴量群が、世界座標系における自己位置推定用の特徴量として使用されてしまう。このため、この区間においては、世界座標系における自己位置の推定の精度が低下してしまう。
【０１６４】
また、第１の移動体座標系における自己位置推定の精度の観点からすると、上記区間において、世界座標系に分類された車３０の各部分の特徴量群は、本来、第１の移動体座標系における自己位置推定用の特徴量として使用すべきである。
【０１６５】
また、停止している対向車２５が走り出し、第２の移動体座標系が、世界座標系から分裂した場合にも同様のことが言える。つまり、停止している対向車２５が走り出してから、上記一致度が閾値以下となるまでの区間について、世界座標系に対して動いている対向車２５に対応する特徴量群が、世界座標系における自己位置推定用の特徴量として使用されてしまう。この場合も同様に、世界座標系における自己位置の推定の精度が低下してしまう。
【０１６６】
また、第２の移動体座標系における自己位置推定の精度の観点からすると、上記区間において、世界座標系に分類された対向車２５の特徴量群は、本来、第２の移動体座標系における自己位置推定用の特徴量として使用すべきである。
【０１６７】
このため、本実施形態においては、図８に示す自己位置の再計算処理が実行される。
【０１６８】
まず、制御部１は、今回において、第１の移動体座標系が地球座標系から分裂したかどうかを判定する（ステップ５０１）（ステップ３０５参照）。
【０１６９】
第１の移動体座標系が世界座標系から分裂した場合（ステップ５０１のＹＥＳ）、制御部１は、世界座標系における自己位置の推定において、分裂が生じた時刻から所定時間前（車３０が走り出した瞬間）まで遡って自己位置を再計算する（ステップ５０２）。このとき、制御部１は、分裂が生じた時刻から所定時間前まで遡り、分裂時に上記一致度が閾値以下となった特徴量群（つまり、車３０の各部に対応する特徴量群）を除いて、自己位置の推定を再計算する。
【０１７０】
また、第１の移動体座標系が世界座標系から分裂した場合、制御部１は、第１の移動体座標系における自己位置の推定において、分裂が生じた時刻から所定時間前（車３０が走り出した瞬間）まで遡って自己位置を再計算する（ステップ５０３）。このとき、制御部１は、分裂が生じた時刻から所定時間前まで遡り、分裂時に上記一致度が閾値以下となった特徴量群（つまり、車３０の各部に対応する特徴量群）を用いて、自己位置を再計算する。
【０１７１】
次に、制御部１は、今回において、第２の移動体座標系が地球座標系から分裂したかどうかを判定する（ステップ５０４）（ステップ３１０参照）。
【０１７２】
第２の移動体座標系が世界座標系から分裂した場合（ステップ５０４のＹＥＳ）、制御部１は、世界座標系における自己位置の推定において、分裂が生じた時刻から所定時間前（対向車２５が走り出した瞬間）まで遡って自己位置を再計算する（ステップ５０５）。このとき、制御部１は、分裂が生じた時刻から所定時間前まで遡り、分裂時に上記一致度が閾値以下となった特徴量群（つまり、対向車２５に対応する特徴量群）を除いて、自己位置を再計算する。
【０１７３】
また、第２の移動体座標系が世界座標系から分裂した場合、制御部１は、第２の移動体座標系における自己位置の推定において、分裂が生じた時刻から所定時間前（対向車２５が走り出した瞬間）まで遡って自己位置を再計算する（ステップ５０６）。このとき、制御部１は、分裂が生じた時刻から所定時間前まで遡り、分裂時に上記一致度が閾値以下となった特徴量群（つまり、対向車２５に対応する特徴量群）を用いて、自己位置を再計算する。
【０１７４】
［仮想オブジェクト配置処理］
次に、制御部１が、各座標系において仮想オブジェクト２０を実空間における物体に対して配置するときの処理について説明する。図９は、仮想オブジェクト配置処理を示すフローチャートある。
【０１７５】
まず、制御部１は、今回において仮想オブジェクト２０を初期配置するかどうかを判定する（ステップ６０１）。仮想オブジェクト２０を初期配置する場合（ステップ６０１のＹＥＳ）、制御部１は、ステップ６０４へ進む。
【０１７６】
一方、仮想オブジェクト２０が既に配置されている場合（ステップ６０１のＮＯ）、制御部１は、今回において、対応する座標系が地球座標系から分裂したかどうかを判定する（ステップ６０２）（ステップ３０５、ステップ３１０参照）。
【０１７７】
対応する座標系が地球座標系から分裂した場合（ステップ６０２のＹＥＳ）、制御部１は、次のステップ６０４へ進む。一方、対応する座標系が地球座標系から分裂していない場合（ステップ６０２のＮＯ）、制御部１は、今回において対応する座標系が地球座標系へ統合されたかどうかを判定する（ステップ６０３）（ステップ３０７、ステップ３１２参照）。
【０１７８】
対応する座標系が地球座標系へ統合された場合（ステップ６０３のＹＥＳ）、制御部１は、次のステップ６０４へ進む。
【０１７９】
ステップ６０４では、制御部１は、座標系が指定されているかどうかを判定する。
【０１８０】
座標系が指定されるパターンとしては、上述のように、２つのパターンがある。１つ目の指定パターンは、世界座標系、第１の移動座標系、第２の移動座標系のうち使用する座標系が１つ決められているパターンである。２つ目のパターンは、優先すべき座標系が存在する場合には、その優先すべき座標系を使用し、該当する座標系が存在しない場合には、他の座標系を使用するという指定パターンである。
【０１８１】
座標系が指定されていない場合（ステップ６０４のＮＯ）、制御部１は、仮想オブジェクト２０の配置対象が指定されているかどうかを判定する（ステップ６０５）。配置対象が指定されている場合（ステップ６０５のＹＥＳ）、制御部１は、その配置対象が属する座標系を判定する（ステップ６０６）。
【０１８２】
座標系が指定されておらず（ステップ６０４のＮＯ）、また、配置対象も指定されていない場合（ステップ６０５のＮＯ）、制御部１は、処理を終了する。
【０１８３】
なお、ステップ６０４〜ステップ６０６においては、上述のステップ４０１〜４０３と基本的に同様の処理が実行される。
【０１８４】
座標系が指定されている場合（ステップ６０４のＹＥＳ）、並びに、配置対象が指定されていてその配置対象が属する座標系が判定された場合（ステップ６０６）、制御部１は、次のステップ６０７へ進む。ステップ６０７では、制御部１は、対応する座標系（その座標系における自己位置）を使用して、仮想オブジェクト２０を配置すべき位置、姿勢を算出する。
【０１８５】
そして、制御部１は、仮想オブジェクト２０がその位置、姿勢に見えるように、配置対象に対して仮想オブジェクト２０を重畳して表示する（ステップ６０９）。なお、仮想オブジェクト２０に含まれる文字、図形、記号などの情報は、その情報が必要なときにネットワークを介して受信されてもよいし、予め記憶部２に記憶されていてもよい。
【０１８６】
今回において、仮想オブジェクト２０の初期配置でもなく、対応する座標系の分裂、統合も生じていない場合（ステップ６０３のＮＯ）、制御部１は、ステップ６０８へ進む。ステップ６０８では、制御部１は、制御部１は、前回と同じ座標系（その座標系における自己位置）を使用して、仮想オブジェクト２０を配置すべき位置、姿勢を算出する。そして、制御部１は、仮想オブジェクト２０を表示するように、表示部３へ指示を出す（ステップ６０９）。
【０１８７】
なお、仮想オブジェクト２０が一旦初期配置されば、仮想オブジェクト２０が消去されるタイミングまでは、仮想オブジェクト２０を配置すべき位置・姿勢については、仮想オブジェクト２０（配置対象）が画像（視界）からはずれても算出される。また、ユーザが、仮想オブジェクト２０の方向を向いていれば、仮想オブジェクト２０が表示されるが、仮想オブジェクト２０と違う方向を向いているときには仮想オブジェクト２０は表示されない。
【０１８８】
一例として、図１０を参照して、道路２１、建物２２に仮想オブジェクト２０が初期配置される場合について説明する。なお、ユーザが乗った車３０は、停止していても、走っていてもよい。
【０１８９】
道案内としての矢印の仮想オブジェクト２０ｂは、例えば、運転が開始されるタイミングで道路２１に対して初期配置される（ステップ６０１のＹＥＳ）（運転が終了するタイミングで消去される）。あるいは、この仮想オブジェクト２０ｂは、道案内が必要である所定のタイミングで道路２１に対して初期配置される（ステップ６０１のＹＥＳ）（そのタイミングを過ぎると消去される）。
【０１９０】
また、建物に関する情報を含む仮想オブジェクト２０ｃは、ＨＭＤ１００（ユーザ）から建物２２までの距離が所定の閾値以下となったタイミングで建物２２に対して初期配置される（ステップ６０１のＹＥＳ）（建物２２までの距離が所定の閾値を超えたタイミングで消去される）。
【０１９１】
なお、ここでの例では、座標系の指定について、常に世界座標系を使用するという指定パターンでの指定が行われているとする（ステップ６０４のＹＥＳ）。
【０１９２】
この場合、制御部１は、世界座標系を使用して、仮想オブジェクト２０を（初期）配置すべき位置、姿勢を算出し（ステップ６０７）、仮想オブジェクト２０を表示部３上に表示させる（ステップ６０９）。
【０１９３】
仮想オブジェクト２０が初期配置された後、制御部１は、前回と同じ世界座標系を使用して、仮想オブジェクト２０を配置すべき位置、姿勢を算出する（ステップ６０８）。
【０１９４】
次に、図１０を参照して、ニュースに関する仮想オブジェクト２０ａがダッシュボード３１上に初期配置される場合について説明する。
【０１９５】
ニュースに関する仮想オブジェクト２０ａは、例えば、ユーザからの指示があったタイミグで、ダッシュボード３１上に初期配置される。例えば、ユーザがダッシュボード３１を指さす（ジェスチャ入力）と仮想オブジェクト２０の配置対象として、車３０のダッシュボード３１が指定され、このとき、仮想オブジェクト２０がダッシュボード３１上に対して初期配置される。
【０１９６】
まず、車３０が停止している状態で仮想オブジェクト２０ａが初期配置されるとする（ステップ６０１のＹＥＳ）。このとき、制御部１は、配置対象であるダッシュボード３１が世界座標系に属していると判定し（ステップ６０５〜６０６）、世界座標系を使用して、仮想オブジェクト２０ａを（初期）配置すべき位置、姿勢を算出する（ステップ６０７）。
【０１９７】
仮想オブジェクト２０ａが初期配置された後、車３０が停止した状態を維持している限りは、制御部１は、前回と同じ世界座標系を使用して、仮想オブジェクト２０ａを配置すべき位置、姿勢を算出する（ステップ６０８）。
【０１９８】
次に、ユーザが乗った車３０が走っている状態で仮想オブジェクト２０ａが初期配置されるとする（ステップ６０１のＹＥＳ）。この場合、制御部１は、配置対象であるダッシュボード３１が第１の移動体座標系に属していると判定し（ステップ６０５〜６０６）、第１の移動体座標系を使用して、仮想オブジェクト２０を（初期）配置すべき位置、姿勢を算出する。
【０１９９】
仮想オブジェクト２０が初期配置された後、車３０が走っている状態を維持している限りは、制御部１は、前回と同じ第１の移動体座標系を使用して、仮想オブジェクト２０を配置すべき位置、姿勢を算出する（ステップ６０８）。
【０２００】
次に、図１０を参照して、対向車に関する情報を含む仮想オブジェクト２０ｄが対向車２５に初期配置される場合について説明する。なお、ユーザが乗った車３０は、停止していても、走っていてもよい。
【０２０１】
対向車に関する情報を含む仮想オブジェクト２０ｄは、ＨＭＤ１００（ユーザ）から対向車２５までの距離が所定の閾値以下となったタイミングで対向車２５に対して初期配置される（対向車２５までの距離が所定の閾値を超えたタイミングで消去される）。なお、仮想オブジェクト２０の配置対象として、対向車２５が指定されているとする。
【０２０２】
まず、対向車２５が止まっている状態で仮想オブジェクト２０ｄが初期配置されるとする（ステップ６０１のＹＥＳ）。この場合、仮想オブジェクト２０ｄの配置対象である対向車２５が属する座標系が、世界座標系であると判定される（ステップ６０５〜６０６）。この場合、制御部１は、世界座標系を使用して、仮想オブジェクト２０ｄを（初期）配置すべき位置、姿勢を算出する（ステップ６０７）。
【０２０３】
仮想オブジェクト２０が初期配置された後、対向車２５が停止した状態を維持している限りは、制御部１は、前回と同じ世界座標系を使用して、仮想オブジェクト２０ｄを配置すべき位置、姿勢を算出する（ステップ６０８）。
【０２０４】
次に、対向車２５が走っている状態で仮想オブジェクト２０ｄが初期配置されるとする（ステップ６０１のＹＥＳ）。この場合、仮想オブジェクト２０ｄの配置対象である対向車２５が属する座標系が、対向車２５に対応する第２の移動体座標系であると判定される（ステップ６０５〜６０６）。この場合、制御部１は、対向車２５に対応する第２の移動体座標系を使用して、仮想オブジェクト２０を初期配置すべき位置、姿勢を算出する（ステップ６０７）。
【０２０５】
仮想オブジェクト２０が初期配置された後、対向車２５が走っている状態を維持している限りは、制御部１は、前回と同じ第２の移動体座標系を使用して、仮想オブジェクト２０を配置すべき位置、姿勢を算出する（ステップ６０８）。
【０２０６】
次に、図１０を参照して、ニュースに関する仮想オブジェクト２０ａがダッシュボード３１上に既に配置されている状態で、停止している車３０が走り出した場合を想定する。
【０２０７】
停止している車３０が走り出し、車３０の各部分に対応する特徴量群の動きと、慣性情報との一致度が閾値以下となると（ステップ２０５のＹＥＳ）、車３０の各部分に対応する特徴量群が第１の移動体座標系に分類される（ステップ２１０）。これにより、今回において、第１の移動体座標系が、世界座標系から分裂する（ステップ６０２のＹＥＳ）（ステップ３０５参照）。
【０２０８】
この場合、仮想オブジェクト２０の配置対象であるダッシュボード３１が属する座標系が、第１の移動体座標系であると判定される（ステップ６０５〜６０６）。次に、制御部１は、第１の移動体座標系を使用して、仮想オブジェクト２０を配置すべき位置、姿勢を算出する（ステップ６０７）。つまり、制御部１は、停止している車３０が走り出したとき、使用する座標系を、世界座標系から第１の移動体座標系へと切換える。
【０２０９】
なお、第１の移動体座標系が世界座標系から分裂した後、車３０が走っている状態を維持している限りは、制御部１は、前回と同じ第１の移動体座標系を使用して、仮想オブジェクト２０を配置すべき位置、姿勢を算出する（ステップ６０８）。
【０２１０】
次に、図１０を参照して、対向車２５の仮想オブジェクト２０ｄが対向車２５に既に配置されている状態で、停止している対向車２５が走り出した場合を想定する。なお、ユーザが乗った車３０は、停止していても、走っていてもよい。
【０２１１】
停止している対向車２５が走り出し、対向車２５に対応する特徴量群の動きと、慣性情報との一致度が閾値以下となると（ステップ２０５のＹＥＳ）、対向車２５に対応する特徴量群が第２の移動体座標系に分類される（ステップ２１０）。これにより、今回において、対向車２５に対応する第２の移動体座標系が、世界座標系から分裂する（ステップ６０２のＹＥＳ）（ステップ３１０参照）。
【０２１２】
この場合、仮想オブジェクト２０ｄの配置対象である対向車２５が属する座標系が、対向車２５に対応する第２の移動体座標系であると判定される（ステップ６０５〜６０６）。次に、制御部１は、対向車２５に対応する第２の移動体座標系を使用して、仮想オブジェクト２０を配置すべき位置、姿勢を算出する（ステップ６０７）。つまり、制御部１は、停止している対向車２５が走り出したとき、使用する座標系を、世界座標系から第２の移動体座標系へと切換える。
【０２１３】
なお、第２の移動体座標系が世界座標系から分裂した後、対向車２５が走っている状態を維持している限りは、制御部１は、前回と同じ第２の移動体座標系を使用して、仮想オブジェクト２０を配置すべき位置、姿勢を算出する（ステップ６０８）。
【０２１４】
次に、図１０を参照して、ニュースに関する仮想オブジェクト２０ａがダッシュボード３１上に既に配置されている状態で、走っている車３０が停止した場合を想定する。
【０２１５】
走っている車３０が停止し、車３０の各部分に対応する特徴量群の動きと、慣性情報との一致度が閾値を超えると（ステップ２０５のＮＯ）、車３０の各部分に対応する特徴量群が世界座標系に分類される（ステップ２０６）。これにより、今回において、第１の移動体座標系が、世界座標系へ統合される（ステップ６０３のＹＥＳ）（ステップ３０７参照）。
【０２１６】
この場合、仮想オブジェクト２０ａの配置対象であるダッシュボード３１が属する座標系が、世界移動体座標系であると判定される（ステップ６０５〜６０６）。この場合、制御部１は、世界座標系を使用して、仮想オブジェクト２０ａを配置すべき位置、姿勢を算出する（ステップ６０７）。つまり、制御部１は、走っている車３０が停止したとき、使用する座標系を、第１の移動体座標系から世界座標系へと切換える。
【０２１７】
なお、第１の移動体座標系が世界座標系へ統合された後、車３０が停止している状態を維持している限りは、制御部１は、前回と同じ世界座標系を使用して、仮想オブジェクト２０ａを配置すべき位置、姿勢を算出する（ステップ６０８）。
【０２１８】
次に、図１０を参照して、対向車に関する情報を含む仮想オブジェクト２０ｄが対向車２５に既に配置されている状態で、走っている対向車２５が停止した場合を想定する。なお、ユーザが乗った車３０は、停止していても、走っていてもよい。
【０２１９】
走っている対向車２５が停止し、対向車２５に対応する特徴量群の動きと、慣性情報との一致度が閾値を超えると（ステップ２０５のＮＯ）、対向車２５に対応する特徴量群が世界座標系に分類される（ステップ２０６）。これにより、今回において、対向車２５に対応する第２の移動体座標系が、世界座標系へ統合される（ステップ６０３のＹＥＳ）（ステップ３１２参照）。
【０２２０】
この場合、制御部１は、仮想オブジェクト２０の配置対象である対向車２５が属する座標系が、世界座標系であると判定し（ステップ６０５〜６０６）、世界座標系を使用して、仮想オブジェクト２０ｄを配置すべき位置、姿勢を算出する（ステップ６０７）。つまり、制御部１は、走っている対向車２５が停止したとき、使用する座標系を、第２の移動体座標系から世界座標系へと切換える。
【０２２１】
なお、第２の移動体座標系が世界座標系へ統合された後、対向車２５が停止している状態を維持している限りは、制御部１は、前回と同じ世界座標系を使用して、仮想オブジェクト２０ｄを配置すべき位置、姿勢を算出する（ステップ６０８）。
【０２２２】
［適用例１］
（リビングルーム）
次に、本技術の適用例について説明する。まず、リビングルームにおいて、仮想オブジェクト２０が配置される場合について説明する。
【０２２３】
図１２は、ユーザがリビングルームにいるときに、ユーザが見ている視野の一例を示す図である。図１３は、ユーザがリビングルームにいるとき撮像部４により撮像された画像情報の一例を示す図である。
【０２２４】
図１２においては、ニュースに関する情報を含む仮想オブジェクト２０ａがテレビ４１の上側の配置されており、メールに関する情報を含む仮想オブジェクト２０ｅがユーザの椅子４２の上側に配置されている。なお、メールの仮想オブジェクト２０ｅは、家族における個別の椅子４２に対して、家族の個別の仮想オブジェクト２０ｅが配置されてもよい。
【０２２５】
例えば、ＨＭＤ１００を装着したユーザが、リビングルームに立ち、テレビ４１、椅子４２が存在する方向を見ているとする。
【０２２６】
この場合、まず、状況認識処理において、慣性情報及び画像情報に基づいて、ユーザの状況が認識される（ステップ１０１〜ステップ１０４）。この場合、少なくとも第１の移動体に乗っているか、乗っていないかが判定され、この場合には、移動体に乗っていないと判定される。
【０２２７】
次に、特徴量分類処理において、画像全体における全特徴量が類似する特徴量群毎に分類される（ステップ２０１）。このとき、図１３に示す画像全体における全特徴量が、テレビ４１、テレビ台４３、椅子４２、テーブル４４、壁４５等に対応する特徴量群に分類される。
【０２２８】
今、テレビ４１、テレビ台４３、椅子４２、テーブル４４、壁４５などは、静止しているので、これらに対応する特徴量群は、慣性情報との一致度が高い（ステップ２０５のＹＥＳ）。従って、これらに対応する特徴量群は、全て、世界座標系の特徴量に分類される（ステップ２０６）。
【０２２９】
次に、座標系設定処理において、世界座標系が設定されていなければ（ステップ３０１のＮＯ）、世界座標系が設定される（ステップ３０２）。
【０２３０】
次に、自己位置推定処理が実行される。なお、ここでの例では、ニュースに関する情報を含む仮想オブジェクト２０ａの配置対象がテレビ４１に指定されており、また、メールに関する情報を含む仮想オブジェクト２０ｅの配置対象が椅子４２に指定されているとする。
【０２３１】
この場合、配置対象であるテレビ４１、椅子４２が属する座標系が、世界座標系であると判定され（ステップ４０２〜４０３）、世界座標系の特徴量に基づいて、位置・姿勢変化量Δｐｏｓｅ１が推定される（ステップ４０４〜４０５）。これと並行して、慣性情報に基づいて、位置・姿勢変化量Δｐｏｓｅ２が推定される（ステップ４０６〜４０７）。
【０２３２】
次に、共分散行列に基づいて、カルマンゲインが算出される（ステップ４０８）。次に、カルマンゲインの調整が行われるが（ステップ４０７）、世界座標系での自己位置推定であるので、カルマンゲインの値は、そのままの値が用いられる。
【０２３３】
次に、Δｐｏｓｅ１、Δｐｏｓｅ２及びカルマンゲインに基づいて、世界座標系において自己位置が推定され（ステップ４１０）、その後、ポストフィルタ処理が実行される（ステップ４１１）。ポストフィルタ処理において、世界座標系での自己位置推定であるので、慣性情報を用いた遅延補償が実行される。
【０２３４】
次に、仮想オブジェクト２０の配置処理が実行される。まだ、仮想オブジェクト２０ａ、２０ｅが配置されていない場合、初期配置であると判定される（ステップ６０１のＹＥＳ）。ここでの例では、配置対象がテレビ４１、椅子４２に指定されているので（ステップ６０５のＹＥＳ）、テレビ４１、椅子４２が属する座標系が世界座標系であると判定される（ステップ６０６）。そして、世界座標系を使用して、仮想オブジェクト２０ａ、２０ｅを配置すべき位置、姿勢が算出され（ステップ６０７）、この位置に、仮想オブジェクト２０ａ、２０ｅが表示される（ステップ６０６）。
【０２３５】
仮想オブジェクト２０ａ、２０ｅが初期配置された後、テレビ４１、椅子４２が静止している限りは、前回と同じ世界座標系を使用して、仮想オブジェクト２０ａ、２０ｅを配置すべき位置、姿勢が算出される（ステップ６０８）。
【０２３６】
次に、既に仮想オブジェクト２０ｅが配置されている状態で、静止している椅子４２が移動した場合を想定する。この場合、まず、状況認識処理において、少なくとも第１の移動体に乗っているか、乗っていないかが判定され、この場合には、移動体に乗っていないと判定される。
【０２３７】
次に、特徴量分類処理において、画像全体における全特徴量が類似する特徴量群毎に分類される（ステップ２０１）。このとき、図１３に示す画像全体における全特徴量が、テレビ４１、テレビ台４３、椅子４２、テーブル４４、壁４５等に対応する特徴量群に分類される。
【０２３８】
今、テレビ４１、テレビ台４３、テーブル４４、壁４５などは、静止しているので、これらに対応する特徴量群は、慣性情報との一致度が高い（ステップ２０５のＹＥＳ）。従って、これらに対応する特徴量群は、世界座標系の特徴量に分類される（ステップ２０６）。
【０２３９】
一方、椅子４２が動きだして、椅子４２に対応する特徴量群の動きと、慣性情報との間の一致度が閾値以下となったとする（ステップ２０５のＹＥＳ）。このとき、ユーザは、第１の移動体には乗っていないので（ステップ２０７のＮＯ）、椅子４２に対応する特徴量群は、椅子４２に対応する第２の移動体座標系の特徴量に分類される（ステップ２１１）。
【０２４０】
次に、座標系設定処理が実行される。ここでの例では、第２の移動体座標系に分類された特徴量が存在し（ステップ３０８のＹＥＳ）、かつ、未だ、椅子４２に対応する第２の移動体座標系が設定されていない（ステップ３０９のＮＯ）。従って、椅子４２に対応する第２の移動体座標系が新たに設定され（ステップ３１０）、これにより、椅子４２に対応する第２の移動体座標系が世界座標系から分裂する。
【０２４１】
次に、自己位置推定処理が実行される。ここでの例では、テレビ４１が配置対象として指定されているので、テレビ４１が属する世界座標系の特徴量に基づいて、位置・姿勢変化量Δｐｏｓｅ１が推定される（ステップ４０２〜ステップ４０５）。このとき、椅子４２に対応する第２の移動体座標系の特徴量は用いられない。なお、テレビ４１に対して配置される仮想オブジェクト２０ａに関する以降の処理については、基本的に上述の処理と同様であるため、説明を省略する。
【０２４２】
一方、ここでの例では、椅子４２が配置対象として指定されているので、椅子４２が属する第２の移動体座標系の特徴量に基づいて、位置・姿勢変化量Δｐｏｓｅ１が推定される（ステップ４０２〜ステップ４０５）。なお、このとき、世界座標系の特徴量は用いられない。これと並行して、慣性情報に基づいて、位置・姿勢変化量Δｐｏｓｅ２が推定される（ステップ４０６、ステップ４０７）。
【０２４３】
次に、共分散行列に基づいて、カルマンゲインが算出され（ステップ４０８）、カルマンゲインの調整が行われる（ステップ４０７）。このとき、第２の移動体座標系での自己位置推定であるので、慣性情報に基づくΔｐｏｓｅ２を、全く信頼しない（無視する）ようにカルマンゲインが調整される。
【０２４４】
次に、Δｐｏｓｅ１、Δｐｏｓｅ２及びカルマンゲインに基づいて、第２の移動体座標系において自己位置が推定され（ステップ４１０）、その後、ポストフィルタ処理が実行される（ステップ４１１）。ポストフィルタ処理において、第２の移動体座標系での自己位置推定であるので、慣性情報を用いた遅延補償は実行されない。
【０２４５】
次に、自己位置の再計算処理が実行される。椅子４２に対応する第２の移動体座標系が、世界座標系から分裂したとき（ステップ５０４のＹＥＳ）、世界座標系における自己位置の推定において、分裂が生じた時刻から所定時間前（椅子４２が動きだした瞬間）まで遡って自己位置が再計算される（ステップ５０５）。この場合、分裂が生じた時刻から所定時間前まで遡り、椅子４２に対応する特徴量群が除かれて、自己位置の推定が再計算される。
【０２４６】
また、椅子４２に対応する第２の移動体座標系が、世界座標系から分裂したとき、第２の移動体座標系における自己位置の推定において、分裂が生じた時刻から所定時間前（椅子４２が動きだした瞬間）まで遡って自己位置の推定が再計算される（ステップ５０６）。この場合、分裂が生じた時刻から所定時間前まで遡り、椅子４２に対応する特徴量群が用いられて、自己位置の推定が再計算される。
【０２４７】
次に、仮想オブジェクト２０の配置処理が実行される。今回において、椅子４２に対応する第２の移動体が分裂すると（ステップ６０２のＹＥＳ）、仮想オブジェクト２０ｅの配置対象である椅子４２が属する座標系が、第２の移動体座標系であると判定される（ステップ６０５、６０６）。そして、椅子４２に対応する第２の移動体座標系が使用されて、仮想オブジェクト２０ｅを配置すべき位置、姿勢が算出される（ステップ６０７）。
【０２４８】
なお、椅子４２が動いている限りは、前回と同じ第２の移動体座標系を使用して、仮想オブジェクト２０ｅを配置すべき位置、姿勢が算出される（ステップ６０８）。
【０２４９】
次に、既に仮想オブジェクト２０ｅが配置されている状態で、動いている椅子４２が停止した場合を想定する。まず、状況認識処理が実行され、その後、特徴量分類処理において、画像全体における全特徴量が類似する特徴量群毎に分類される。
【０２５０】
動いている椅子４２が停止しようとして、椅子４２に対応する特徴量群の動きと、慣性情報との間の一致度が閾値を超えたとする（ステップ２０５のＮＯ）。この場合、椅子４２に対応する特徴量群は、世界座標系の特徴量に分類される（ステップ２１１）。なお、テレビ４１、テレビ台４３、テーブル４４、壁４５などに対応する特徴量群についても、世界座標系の特徴量に分類される。
【０２５１】
次に、座標系設定処理が実行される。ここでの例では、第２の移動体座標系に分類された特徴量が存在せず（ステップ３０８のＮＯ）、かつ、椅子４２に対応する第２の移動体座標系が設定されている（ステップ３１１のＹＥＳ）。従って、椅子４２に対応する第２の移動体座標系が消去され（ステップ３１２）、これにより、椅子４２に対応する第２の移動体座標系が世界座標系へ統合される。
【０２５２】
次に、自己位置推定処理が実行される。ここでの例では、椅子４２が配置対象として指定されているので、椅子４２が属する世界座標系の特徴量に基づいて、位置・姿勢変化量Δｐｏｓｅ１が推定される（ステップ４０２〜ステップ４０５）。これと並行して、慣性情報に基づいて、位置・姿勢変化量Δｐｏｓｅ２が推定される（ステップ４０６、ステップ４０７）。
【０２５３】
次に、共分散行列に基づいて、カルマンゲインが算出され（ステップ４０８）、カルマンゲインの調整が行われる（ステップ４０７）。このとき、世界座標系での自己位置推定であるので、カルマンゲインはそのままの値が用いられる。
【０２５４】
次に、Δｐｏｓｅ１、Δｐｏｓｅ２及びカルマンゲインに基づいて、世界座標系において自己位置が推定され（ステップ４１０）、その後、ポストフィルタ処理が実行される（ステップ４１１）。ポストフィルタ処理において、世界座標標系での自己位置推定であるので、慣性情報を用いた遅延補償が実行される。
【０２５５】
次に、仮想オブジェクト２０の配置処理が実行される。今回において、椅子４２に対応する第２の移動体が世界座標系へ統合されると（ステップ６０３のＹＥＳ）、仮想オブジェクト２０ｅの配置対象である椅子４２が属する座標系が、世界座標系であると判定される（ステップ６０５〜６０６）。そして、世界座標系が使用されて、仮想オブジェクト２０を配置すべき位置、姿勢が算出される（ステップ６０７）。
【０２５６】
なお、椅子４２が静止している限りは、前回と同じ世界座標系を使用して、仮想オブジェクト２０を配置すべき位置、姿勢が算出される（ステップ６０８）。
【０２５７】
［適用例２］
（車３０に乗っている場合）
次に、ユーザが車３０に乗っている状態での仮想オブジェクト２０の配置例について説明する。なお、ユーザが車３０に乗っている状態での仮想オブジェクト２０の配置例については、図１０及び図１１を参照して既に上述されているため、ここでは、時系列に沿って、簡単に説明する。
【０２５８】
例えば、ユーザが、リビングルームに居るときに（図１２、図１３参照）、テレビ４１の上に配置されたニュースの仮想オブジェクト２０ａの方向へ手を伸ばし、手が撮像部４に写る状態で特定のジェスチャをしたとする。この場合、ニュースの仮想オブジェクト２０ａが、小さくなって、ＨＭＤ１００（ユーザ）を中心として浮遊する。そして、この仮想オブジェクト２０ａは、ユーザが移動すると、ユーザの移動に合わせて移動する（ユーザが移動しても、ユーザから一定の距離の位置に見える）。
【０２５９】
なお、これを実現するため、制御部１は、例えば、以下のような処理を実行する。まず、制御部１は、ユーザから特定の入力（撮像部４を介したジェスチャ入力、マイクロフォン７を介した音声入力、操作部６を介した操作入力等）があったかどうかを判定する。特定の入力があった場合、制御部１は、世界座標系においてユーザが移動すると、仮想オブジェクト２０ａの配置位置がユーザから一定の距離となるように、世界座標系における仮想オブジェクト２０ａの配置位置を変更する（付いてくる設定）。そして、制御部１は、配置位置の変更に応じて、表示部３上においてその位置に仮想オブジェクト２０ａが浮遊しているように表示を行う。
【０２６０】
なお、制御部１は、ユーザから特定の入力を検出したとき、仮想オブジェクト２０が属する座標系を世界座標系から自己座標系（ＨＭＤ１００が中心となる座標系）に切り替えてもよい。そして、制御部１は、仮想オブジェクト２０がユーザから一定の距離の位置に浮遊するように表示を行ってもよい。
【０２６１】
次に、ユーザが車３０の運転席に乗り込み、ダッシュボード３１の方向へ手を伸ばし、特定のジェスチャ操作をしたとする。この場合、ニュースの仮想オブジェクト２０ａの配置対象として、ダッシュボード３１が指定される。
【０２６２】
このとき、まず、状況認識処理において、ユーザが第１の移動体の乗っていると判定される。今、車３０は停止しているので、特徴量分類処理において、対向車２５などの動いている物体が存在しない限り、全ての特徴量群は、世界座標系の特徴量に分類される（ステッ２０６）。
【０２６３】
自己位置の推定処理において、配置対象であるダッシュボード３１が属する座標系が、世界座標系であると判定され（ステップ４０２、４０３）、世界座標系において自己位置が推定される（ステップ４０４〜ステップ４１１）。
【０２６４】
仮想オブジェクト配置処理において、ユーザの周りに浮遊しているニュースの仮想オブジェクト２０ａが、ダッシュボード３１に対して初期配置されるとき（ステップ６０１のＹＥＳ）、ダッシュボード３１が属する座標系が、世界座標系であると判定される（ステップ６０５〜６０６）。そして、世界座標系が使用されて、ニュースの仮想オブジェクト２０ａを配置すべき位置、姿勢が算出される（ステップ６０７）。
【０２６５】
なお、車３０内において、例えば、種類の異なる複数の仮想オブジェクト２０を配置することも可能である。
【０２６６】
ユーザが運転を開始して、車３０が走り出し、車３０の各部分に対応する特徴量群の動きと、慣性情報との一致度が閾値以下となると（ステップ２０５のＹＥＳ）、車３０の各部分に対応する特徴量群が第１の移動体座標系に分類される（ステップ２１０）。そして、第１の移動体座標系が、世界座標系から分裂する（ステップ３０５）。
【０２６７】
自己位置推定処理において、配置対象であるダッシュボード３１が属する座標系が、第１の移動体座標系であると判定され（ステップ４０２〜４０３）、第１の移動体座標系において自己位置が推定される（ステップ４０４〜ステップ４１１）。
【０２６８】
自己位置再計算処理において、車３０に対応する第１の移動体座標系が世界座標系から分裂したとき（ステップ５０１のＹＥＳ）、世界座標系において、分裂が生じた時刻から所定時間前（車３０が走りだした瞬間）まで遡って自己位置が再計算される（ステップ５０２）。この場合、分裂が生じた時刻から所定時間前まで遡り、車３０に対応する特徴量群が除かれて、自己位置が再計算される。
【０２６９】
また、第１の移動体座標系が、世界座標系から分裂したとき、第１の移動体座標系における自己位置の推定において、分裂が生じた時刻から所定時間前（車３０が走りだした瞬間）まで遡って自己位置の推定が再計算される（ステップ５０３）。この場合、分裂が生じた時刻から所定時間前まで遡り、車３０の各部に対応する特徴量群が用いられて、自己位置が再計算される。
【０２７０】
次に、仮想オブジェクト２０の配置処理が実行される。今回において第１の移動体座標系が世界座標系から分裂したとき（ステップ６０２のＹＥＳ）、ダッシュボード３１が属する第１の移動体座標系を使用して、ニュースの仮想オブジェクト２０ａを配置すべき位置、姿勢が算出される（ステップ６０５〜６０７）。
【０２７１】
車３０が走っているとき、世界座標系において、自己位置が推定される（ステップ４０１〜４１１）。
【０２７２】
仮想オブジェクト配置処理において、道案内としての矢印の仮想オブジェクト２０ｂが表示されるタイミングとなったとする（ステップ６０１のＹＥＳ）。この場合、道路２１が属する世界座標系を使用して、仮想オブジェクト２０ｂを配置すべき位置・姿勢が算出される（ステップ６０７）。
【０２７３】
また、仮想オブジェクト配置処理において、ＨＭＤ１００（ユーザ）から建物２２までの距離が閾値以下となったとする（ステップ６０１のＹＥＳ）。この場合、建物２２が属する世界座標系を使用して、建物に関する情報を含む仮想オブジェクト２０ｃを配置すべき位置・姿勢が算出される（ステップ６０７）。
【０２７４】
また、車３０が走っているときに、対向車２５（走っている）が存在すると、対向車２５に対応する第２の移動体座標系において、自己位置が推定される（ステップ４０１〜４１１）。
【０２７５】
仮想オブジェクト配置処理において、ＨＭＤ１００（ユーザ）から対向車２５までの距離が閾値以下となったとする（ステップ６０１のＹＥＳ）。この場合、対向車２５が属する第２の移動体座標系を使用して、対向車に関する情報を含む仮想オブジェクト２０ｄを配置すべき位置・姿勢が算出される（ステップ６０７）。
【０２７６】
走っている車３０が停止しようとして、車３０の各部分に対応する特徴量群の動きと、慣性情報との一致度が閾値を超えると（ステップ２０５のＮＯ）、車３０の各部分に対応する特徴量群が世界座標系に分類される（ステップ２０６）。そして、第１の移動体座標系が、世界座標系へ統合される（ステップ３０７）。
【０２７７】
自己位置推定処理において、ダッシュボード３１が属する世界座標系において、自己位置が推定される（ステップ４０１〜４１１）。
【０２７８】
仮想オブジェクト配置処理において、第１の移動体座標系が世界座標系へ統合されたとき（ステップ６０３のＹＥＳ）、ダッシュボード３１が属する世界座標系を使用して、ニュースの仮想オブジェクト２０ａを配置すべき位置、姿勢が算出される（ステップ６０７）。
【０２７９】
ユーザが、車３０内に配置した仮想オブジェクト２０ａをそのままにして（持ち出すこともできる）、車３０を出たとする。この後、車３０に戻ってきたとき、仮想オブジェクト２０ａにおいて、同じ状態が再現されてもよい。これは、例えば、制御部１が、ユーザが車３０を出たときの仮想オブジェクト２０ａの状態（配置対象の特徴量と、仮想オブジェクト２０ａとの位置関係等）を記憶しておくことで実現することができる。
【０２８０】
また、例えば、ユーザが車３０に乗っている（歩いていてもよい）ときに、地球上の特定の地点の方向に手を向けて特定のジェスチャを行うと、目印としてのピン形の仮想オブジェクト２０が地球上の特定の地点に配置されてもよい。このピン形の仮想オブジェクト２０は、ユーザが再び、その場所を訪れたときに同じ場所に立っているように表示が行われる。
【０２８１】
なお、これを実現するために、例えば、制御部１は、ユーザから特定の入力（撮像部４を介したジェスチャ入力、マイクロフォン７を介した音声入力、操作部６を介した操作入力）があったときに、世界座標系において特定の地点に仮想オブジェクト２０を配置する。そして、制御部１は、世界座標系においてこの位置を記憶部２に記憶しておけばよい。
【０２８２】
［適用例３］
（トロッコ５０のアトラクション）
次に、本技術が、テーマパークにおけるトロッコ５０のアトラクションに適用された場合について説明する。
【０２８３】
図１４は、ユーザがトロッコ５０に乗っているときに、ユーザが見ている視野の一例を示す図である。図１５は、ユーザがトロッコ５０に乗っているときに、撮像部４により撮像された画像情報の一例を示す図である。
【０２８４】
ここでの例では、ユーザがトロッコ５０に乗りながら、銃（偽物）を使って敵６１を倒したり宝箱６２内のアイテムをゲットしたりするアトラクションが想定されている。敵６１は、人、あるいは、人形であり、本実施形態では、敵６１は動くとして説明するが、静止していてもよい。また、宝箱６２については、静止しているとして説明するが、動いてもよい。
【０２８５】
図１４においては、アトラクションの進行に関する情報を含む仮想オブジェクト２０ｆがトロッコ５０の前端部５１に対して配置されている。また、敵６１に関する情報を含む仮想オブジェクト２０ｇが敵６１の上側の配置されており、アイテムに関する情報を含む仮想オブジェクト２０ｈが宝箱６２の上側に配置されている。
【０２８６】
敵６１に配置される仮想オブジェクト２０ｇは、銃の照準に関するガイドであってもよいし、敵６１の能力（攻撃能力、耐性、残りの体力など）に関するガイドであってもよい。あるいは、敵６１には配置される仮想オブジェクト２０ｇは、弾丸が敵６１に当たったことを示すエフェクト等であってもよい。また、宝箱６２に配置される仮想オブジェクト２０ｈは、宝箱６２内のアイテムの内容を示すガイドであってもよいし、弾丸が宝箱６２に当たったことを示すエフェクト等であってもよい。
【０２８７】
なお、上述の車３０の例における、車３０がトロッコ５０（第１の移動体）に対応しており、対向車２５が敵６１（第２の移動体）に対応しており、建物２２が宝箱６２に対応している。従って、典型的な処理については、車３０の例と同じであるので、ここでの説明については、時系列に沿って、簡単に説明する。
【０２８８】
ここでの説明では、アトラクションの進行に関する情報を含む仮想オブジェクト２０ｆの配置対象としてトロッコ５０の前端部５１が指定されているとする。また、敵６１に関する情報を含む仮想オブジェクト２０ｇの配置対象として敵６１が指定され、アイテムに関する情報を含む仮想オブジェクト２０ｈの配置対象として、宝箱６２が指定されているとする。
【０２８９】
ユーザが停止しているトロッコ５０に乗り込んだとする。このとき、まず、状況認識処理において、ユーザが第１の移動体の乗っていると判定される。今、トロッコ５０は停止しているので、特徴量分類処理において、敵６１などの動いている物体が存在しない限り、全ての特徴量群は、世界座標系の特徴量に分類される（ステッ２０６）。
【０２９０】
自己位置の推定処理において、配置対象であるトロッコ５０の前端部５１が属する座標系が、世界座標系であると判定され（ステップ４０２、４０３）、世界座標系において自己位置が推定される（ステップ４０４〜ステップ４１１）。なお、世界座標系における自己位置の推定において、テーマパークにおけるシステムから取得可能なトロッコ５０の位置が考慮されて、自己位置が推定されてもよい。
【０２９１】
仮想オブジェクト２０の配置処理において、アトラクションの進行に関する仮想オブジェクト２０ｆが初期配置されるとき（ステップ４０１のＹＥＳ）、トロッコ５０の前端部５１が属する座標系が、世界座標系であると判定される（ステップ６０５〜６０６）。そして、世界座標系が使用されて、アトラクションの進行に関する情報を含む仮想オブジェクト２０ｆを配置すべき位置、姿勢が算出される（ステップ６０７）。
【０２９２】
トロッコ５０が走り出し、トロッコ５０の各部分に対応する特徴量群の動きと、慣性情報との一致度が閾値以下となると（ステップ２０５のＹＥＳ）、トロッコ５０の各部分に対応する特徴量群が第１の移動体座標系に分類される（ステップ２１０）。そして、第１の移動体座標系が、世界座標系から分裂する（ステップ３０５）。
【０２９３】
自己位置推定処理において、トロッコ５０の前端部５１が属する第１の移動体座標系において、自己位置が推定される（ステップ４０１〜ステップ４１１）。
【０２９４】
トロッコ５０に対応する第１の移動体座標系が、世界座標系から分裂したとき（ステップ５０１のＹＥＳ）、世界座標系における自己位置の推定において、分裂が生じた時刻から所定時間前（トロッコ５０が走りだした瞬間）まで遡って自己位置が再計算される（ステップ５０２）。この場合、分裂が生じた時刻から所定時間前まで遡り、トロッコ５０に対応する特徴量群が除かれて、自己位置が再計算される。
【０２９５】
また、第１の移動体座標系が、世界座標系から分裂したとき、第１の移動体座標系における自己位置の推定において、分裂が生じた時刻から所定時間前（トロッコ５０が走りだした瞬間）まで遡って自己位置の推定が再計算される（ステップ５０３）。この場合、分裂が生じた時刻から所定時間前まで遡り、トロッコ５０の各部に対応する特徴量群が用いられて、自己位置が再計算される。
【０２９６】
次に、仮想オブジェクト配置処理が実行される。今回において第１の移動体座標系が世界座標系から分裂したとき（ステップ６０２のＹＥＳ）、トロッコ５０の前端部５１が属する第１の移動体座標系を使用して、アトラクションの進行に関する仮想オブジェクト２０ｆを配置すべき位置、姿勢が算出される（ステップ６０５〜６０７）。
【０２９７】
トロッコ５０が走っているとき、世界座標系において、自己位置が推定される（ステップ４０１〜４１１）。
【０２９８】
仮想オブジェクト２０において、ＨＭＤ１００（ユーザ）から宝箱６２までの距離が閾値以下となったとする（ステップ６０１のＹＥＳ）。この場合、宝箱６２が属する世界座標系を使用して、アイテムに関する情報を含む仮想オブジェクト２０ｈを配置すべき位置・姿勢が算出される（ステップ６０７）。
【０２９９】
また、トロッコ５０が走っているときに、敵６１（動いている）が存在すると、敵６１に対応する第２の移動体座標系において、自己位置が推定される（ステップ４０１〜４１１）。
【０３００】
なお、図に示す例では、３体の敵６１に対応する３つの第２の移動体座標系がそれぞれ用意され、この３つの移動体座標系において自己位置が推定される。なお、第２の移動体座標系における自己位置の推定において、テーマパークにおけるシステムから取得可能な敵６１の位置が考慮されて、自己位置が推定されてもよい。
【０３０１】
仮想オブジェクト配置処理において、ＨＭＤ１００（ユーザ）から敵６１までの距離が閾値以下となったとする（ステップ６０１のＹＥＳ）。この場合、敵６１が属する第２の移動体座標系を使用して、敵６１に関する情報を含む仮想オブジェクト２０ｇを配置すべき位置・姿勢が算出される（ステップ６０７）。
【０３０２】
走っているトロッコ５０が停止しようとして、トロッコ５０の各部分に対応する特徴量群の動きと、慣性情報との一致度が閾値を超えると（ステップ２０５のＮＯ）、トロッコ５０の各部分に対応する特徴量群が世界座標系に分類される（ステップ２０６）。そして、第１の移動体座標系が、世界座標系へ統合される（ステップ３０７）。
【０３０３】
自己位置推定処理において、トロッコ５０が属する世界座標系において自己位置が推定される（ステップ４０１〜４１１）。
【０３０４】
次に、仮想オブジェクト２０の配置処理が実行される。今回において第１の移動体座標系が世界座標系へ統合されたとき（ステップ６０３のＹＥＳ）、トロッコ５０が属する世界座標系を使用して、アトラクションの進行に関する仮想オブジェクト２０ｆを配置すべき位置、姿勢が算出される（ステップ６０５〜６０７）。
【０３０５】
＜作用等＞
以上説明したように、本実施形態に係るＨＭＤ１００では、画像情報及び慣性情報に基づいて、ＨＭＤ１００における自己位置が推定される。また、ＨＭＤ１００を装着（付帯）したユーザの状況（第１の移動体に持っているかどうか等）が認識され、自己位置の推定において、画像情報及び慣性情報のうちどちらをより信頼して使用するかについての比率（カルマンゲイン）が、状況に応じて変化される。
【０３０６】
これにより、ＨＭＤ１００を装着したユーザが、車３０等に乗っているような特定の状況下にある場合においても、自己位置を正確に推定することができる。結果として、配置対象に対して正確に仮想オブジェクト２０を配置（定位）させることができる。例えば、図１０におけるニュースの仮想オブジェクト２０ａや、図１４におけるアトラクションの進行に関する仮想オブジェクト２０ｆが、車３０、トロッコ５０の後ろへ向けて移動して見えなくなってしまうような状況を防止することができる。
【０３０７】
さらに、本実施形態では、画像情報から特徴量が抽出され、上記状況に応じて、自己位置の推定において、特徴量のうちどの特徴量を使用するかが判定（分類）される。特に、本実施形態では、座標系毎に、画像情報における特徴量のうちどの特徴量を自己位置の推定に使用するかが判定（分類）される。
【０３０８】
これにより、例えば、画像情報に基づいて、第１の移動体座標系において、自己位置が推定されるとき、第１の移動体座標系とは無関係である、世界座標系、第２の移動体座標系の物体の特徴量が、自己位置の推定に反映されてしまうことを防止することができる。
【０３０９】
同様に、画像情報に基づいて、世界座標系において、自己位置が推定されるとき、世界座標系とは無関係である、第１の移動体座標系、第２の移動体座標系の特徴量が、自己位置の推定に反映されてしまうことを防止することができる。
【０３１０】
同様に、画像情報に基づいて、第２の移動体座標系において、自己位置が推定されるとき、第２の移動体座標系とは無関係である、世界座標系、第１の移動体座標系の物体の特徴量が、自己位置の推定に反映されてしまうことを防止することができる。
【０３１１】
従って、本実施形態では、自己位置の推定の精度をさらに向上させることができる。
【０３１２】
また、本実施形態では、慣性情報と、特徴量の動きとの一致度が判定され、一致度に基づいて、座標系毎に、画像情報における特徴量のうちどの特徴量が自己位置の推定に使用するかが判定（分類）される。
【０３１３】
これにより、画像情報における特徴量のうちどの特徴量を自己位置の推定に使用するかを、座標系毎に適切に判定（分類）することができる。
【０３１４】
また、本実施形態では、上記状況に応じて、１以上の座標系が設定可能であり、各座標系において、それぞれ（同時に）自己位置が推定される。
【０３１５】
これにより、例えば、図１０、図１４に示すように、第１の移動体座標系（車３０、トロッコ５０）の仮想オブジェクト２０、世界座標系（建物２２、宝箱６２）の仮想オブジェクト２０、第２の移動体座標系（対向車２５、敵６１）の仮想オブジェクト２０を同時に表示することも可能となる。
【０３１６】
また、本実施形態では、第１移動体座標系における自己位置の推定において、画像情報及び慣性情報のうち画像情報をより信頼して使用するように上記比率（カルマンゲイン）が変化される。特に、本実施形態では、第１の移動体座標系における自己位置の推定において、画像情報及び慣性情報のうち画像情報のみを信頼して使用するように上記比率が変化される
【０３１７】
これにより、第１の移動体座標系において、自己位置の推定の精度をさらに向上させることができる。
【０３１８】
また、本実施形態では、第２移動体座標系における自己位置の推定において、画像情報及び慣性情報のうち画像情報をより信頼して使用するように上記比率（カルマンゲイン）が変化される。特に、本実施形態では、第２の移動体座標系における自己位置の推定において、画像情報及び慣性情報のうち画像情報のみを信頼して使用するように上記比率が変化される。
【０３１９】
これにより、第２の移動体座標系において、自己位置の推定の精度をさらに向上させることができる。
【０３２０】
また、本実施形態では、各座標系においてそれぞれ上記比率が異なるように上記比率（カルマンゲイン）が変化される。
【０３２１】
つまり、世界座標系において、カルマンゲインとしてそのままの値が用いられるが、一方で、第１の移動体座標系、第２の移動体座標系では、画像情報及び慣性情報のうち画像情報をより信頼して使用するようにカルマンゲインが変化される。
【０３２２】
これにより、座標系毎に、適切にカルマンゲインを調整することができる。
【０３２３】
また、本実施形態では、第１の移動体座標系が世界座標系から分裂したとき、世界座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置が再計算される。
【０３２４】
これにより、世界座標系において、自己位置の推定の精度をさらに向上させることができる。
【０３２５】
また、本実施形態では、第１の移動体座標系が世界座標系から分裂したとき、第１の移動体座標系おける自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置が再計算される。
【０３２６】
これにより、第１の移動体座標系において、自己位置の推定の精度をさらに向上させることができる。
【０３２７】
また、本実施形態では、第２の移動体座標系が世界座標系から分裂したとき、世界座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置が再計算される。
【０３２８】
これにより、世界座標系において、自己位置の推定の精度をさらに向上させることができる。
【０３２９】
また、本実施形態では、第２の移動体座標系が世界座標系から分裂したとき、第２の移動体座標系おける自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置が再計算される。
【０３３０】
これにより、第２の移動体座標系において、自己位置の推定の精度をさらに向上させることができる。
【０３３１】
≪第２実施形態≫
＜全体構成及び各部の構成＞
図１６は、本技術の第２実施形態に係るスマートフォン２００（情報処理装置）を示す斜視図である。図１７は、スマートフォン２００の内部構成を示すブロック図である。
【０３３２】
これらの図に示すように、スマートフォン２００は、筐体７０と、制御部７１と、記憶部７２と、表示部７３と、撮像部７４と、慣性センサ７５と、近接センサ７６と、マイクロフォン７７と、スピーカ７８と、通信部７９とを備えている。
【０３３３】
筐体７０は、平板状であり、ユーザが把持することができる程度の大きさとされる。表示部７３は、筐体７０の正面に配置されている。表示部７３は、撮像部７４によって撮像された実空間に対応する画像を表示させることが可能とされており、また、この画像内において仮想オブジェクト２０を重畳して表示することが可能とされている。
【０３３４】
撮像部７４は、筐体７０の背面側に設けられている。撮像部７４の数は、本実施形態では、２つとされているが、１つであってもよい。撮像部７４は、筐体７０の背面側の先に存在する物体を撮像し、撮像により得られた画像情報を制御部１へと出力する。
【０３３５】
慣性センサ７５は、３軸方向の加速度を検出する３軸の加速度センサと、３軸回りの角速度を検出する角速度センサとを含む。慣性センサ７５は、検出により得られた３軸方向の加速度、３軸回りの角速度を慣性情報として、制御部７１に出力する。
【０３３６】
近接センサ７６は、表示部７３の表面に設けられている。近接センサ７６は、ユーザの指による表示部７３への近接を検出し、ユーザの指が近接したことを示す信号と、指が近接した位置を示す信号とを制御部７１に出力する。
【０３３７】
マイクロフォン７７は、ユーザの通話による音声や、ユーザの周囲の環境音を電気信号に変換して、この信号を制御部７１へと出力する。スピーカ７８は、例えば、相手の通話による音声や、表示部７３に表示される仮想オブジェクト２０に関する補助情報などを音声として出力する。
【０３３８】
通信部７９は、例えば、他の電話機や、外部装置との間で直接または間接的に通信を行う。
【０３３９】
制御部７１は、記憶部７２に記憶された各種のプログラムに基づき種々の演算を実行し、スマートフォン２００の各部を統括的に制御する。記憶部７２は、制御部７１の処理に必要な各種のプログラムや、各種のデータが記憶される不揮発性のメモリと、制御部７１の作業領域として用いられる揮発性のメモリとを含む。
【０３４０】
＜動作説明＞
【０３４１】
次に、制御部７１の処理について説明する。なお、第２実施形態に係る基本的な処理については、第１実施形態における図４〜図９と同じであるため、図４〜図９を参照しつつ、制御部７１の処理を説明する。
【０３４２】
なお、ここでの説明では、地元の町の紹介ビデオを作成するために、仮想キャラクタ２０ｉ（仮想オブジェクト）と一緒に、電車９０を使って目的地へと向かうという設定を想定する。仮想キャラクタ２０ｉは、例えば、地元の町のＰＲを目的として使用されるキャラクタ（ゆるキャラとも呼ばれる）である。この紹介ビデオは、通信部９を介して、ネットワーク上のサーバ装置にアップロードされ、リアルタイム、あるいは、非リアルタイムで配信される。
【０３４３】
［ホームに仮想キャラクタが配置］
まず、ユーザが、画像上においてホーム８１に仮想キャラクタ２０ｉを配置するときの処理について説明する。
【０３４４】
図１８は、ユーザが電車９０をホーム８１で待っているときに、撮像部４により撮像された画像上に、仮想キャラクタ２０ｉが配置されたときの様子を示す図である。
【０３４５】
例えば、スマートフォン２００を把持（付帯）したユーザが、ホーム８１に立ち、スマートフォン２００の撮像部４をホーム８１の方向に向けているとする。このとき、ユーザが画面上において、ホーム８１の任意の位置をタッチ操作すると、仮想キャラクタ２０ｉの配置対象として、ホーム８１における任意の位置が指定される。
【０３４６】
この場合、まず、状況認識処理において、慣性情報及び画像情報に基づいて、ユーザの状況が認識される（ステップ１０１〜ステップ１０４）。この場合、少なくとも第１の移動体に乗っているか、乗っていないかが判定され、この場合には、移動体に乗っていないと判定される。
【０３４７】
次に、特徴量分類処理において、画像全体における全特徴量が類似する特徴量群毎に分類される（ステップ２０１）。このとき、画像内に動いている物体が写り込んでいない限り、全ての特徴量群は、世界座標系の特徴量に分類される（ステップ２０６）。
【０３４８】
次に、座標系設定処理において、世界座標系が設定されていなければ、世界座標系が設定される（ステップ３０２）。
【０３４９】
次に、自己位置推定処理が実行される。今、仮想キャラクタ２０ｉの配置対象としてホーム８１における任意の位置（ユーザがタッチした位置）が指定されているので、ホーム８１が属する座標系が世界座標系であると判定される（ステップ４０２〜４０３）。そして、ホーム８１が属する世界座標系において、自己位置が推定される（ステップ４０４〜４１１）。
【０３５０】
次に、仮想キャラクタ２０ｉの配置処理が実行される。まだ仮想キャラクタ２０ｉが配置されていない場合において、ユーザが画面上において、ホーム８１の任意の位置をタッチ操作すると、初期配置であると判定される（ステップ６０１のＹＥＳ）。
【０３５１】
仮想キャラクタ２０ｉの配置対象としてホーム８１における任意の位置（ユーザがタッチした位置）が指定されているので、ホーム８１が属する座標系が世界座標系であると判定される（ステップ６０５〜６０６）。そして、世界座標系において、仮想キャラクタ２０ｉを配置すべき位置、姿勢が算出され（ステップ６０７）、仮想キャラクタ２０ｉが表示される（ステップ６０９）。
【０３５２】
仮想キャラクタ２０ｉが初期配置された後、前回と同じ世界座標系を使用して、仮想キャラクタ２０ｉを配置すべき位置、姿勢が算出される（ステップ６０８）。
【０３５３】
［電車に仮想オブジェクトが配置］
次に、電車９０に対して仮想オブジェクト２０ｊが配置されるときの処理について説明する。図１９は、ユーザが電車９０をホーム８１で待っているときに、電車９０に仮想オブジェクト２０ｊが配置されたときの様子を示す図である。
【０３５４】
撮像部４により撮像された画像内において、走ってくる電車９０が写り込むと、電車９０に対応する特徴量群が電車９０に対応する第２の移動体座標系の特徴量に分類される（ステップ２１１）。そして、電車９０に対応する第２の移動体座標系が新たに設定され、第２の移動体座標系が世界座標系から分裂する（ステップ３１０）。
【０３５５】
次に、自己位置推定処理が実行される。なお、ここでの説明では、仮想オブジェクト２０ｊにおいて、配置対象が電車９０に指定されているとする。
【０３５６】
この場合、配置対象である電車９０が属する第２の移動体座標系において、自己位置が推定される（ステップ４０１〜４１１）。電車９０に対応する第２の移動体座標系における自己位置の推定においては、電車９０からの位置情報（ＧＰＳ情報）や、スマートフォン２００の位置情報（ＧＰＳ情報）等が考慮されてもよい。
【０３５７】
なお、仮想キャラクタ２０ｉの配置のために、世界座標系においても自己位置が推定されるが、この自己位置の推定においては、第２の移動体座標系の特徴量は除かれる。
【０３５８】
仮想オブジェクト配置処理において、スマートフォン２００（ユーザ）から電車９０までの距離が閾値以下となったとする（ステップ６０１のＹＥＳ）。この場合、電車９０が属する第２の移動体座標系を使用して、電車に関する情報を含む仮想オブジェクト２０ｊを配置すべき位置・姿勢が算出される（ステップ６０７）。そして、電車９０に対して、仮想オブジェクト２０が表示される（ステップ６０９）。
【０３５９】
走っている電車９０が停止しようとして、電車９０に対応する特徴量群の動きと、慣性情報との間の一致度が閾値を超えたとする（ステップ２０５のＮＯ）。この場合、電車９０に対応する特徴量群は、世界座標系の特徴量に分類される（ステップ２１１）。
【０３６０】
このとき、電車９０に対応する第２の移動体座標系が消去され（ステップ３１２）、これにより、電車９０に対応する第２の移動体座標系が世界座標系へ統合される。
【０３６１】
その後、電車９０が停止しており、他に動いている物体が画像内に写り込まない限り、全ての特徴量は、世界座標系の特徴量に分類される。そして、仮想キャラクタ２０ｉ、仮想オブジェクト２０ｊの配置のために、世界座標系の特徴量と慣性情報とに基づいて、自己位置が推定される。
【０３６２】
［電車内］
次に、ユーザが電車９０に乗っているときの処理について説明する。図２０は、ユーザが電車９０に乗っているときの画面の一例を示す図である。
【０３６３】
ユーザが歩いてホーム８１から電車９０に乗り込むと、画像内では、仮想キャラクタ２０ｉも歩いて電車９０に乗り込む。
【０３６４】
なお、これを実現するため、制御部７１は、例えば、以下のような処理を実行する。まず、制御部７１は、ユーザから特定の入力（撮像部４を介したジェスチャ入力、マイクロフォン７を介した音声入力、操作部（近接センサ７６）を介した操作入力等）があったかどうかを判定する。特定の入力が検出された場合、制御部７１は、世界座標系においてユーザが移動すると、仮想キャラクタ２０ｉの配置位置がユーザから一定の距離となるように、世界座標系における仮想キャラクタ２０ｉの配置位置を変更する（付いてくる設定）。そして、制御部７１は、配置位置の変更に応じて、画面上においてその位置に仮想キャラクタ２０ｉが歩いてくるように表示を行う。
【０３６５】
なお、制御部７１は、ユーザから特定の入力を検出したとき、仮想キャラクタ２０ｉが属する座標系を世界座標系から自己座標系（スマートフォン２００が中心となる座標系）に切り替えてもよい。そして、制御部７１は、仮想キャラクタ２０ｉがユーザから一定の距離の位置にいるように表示を行ってもよい。
【０３６６】
次に、ユーザが電車９０内の座席９１の方向へスマートフォン２００の撮像部４を向け、画像内において座席９１の特定の位置をタッチ操作したとする。この場合、仮想キャラクタ２０ｉの配置対象として、座席９１が指定される。このとき、制御部１は、画面上において、仮想オブジェクト２０が歩いて座席９１に座るように表示を行う。
【０３６７】
ユーザが、電車９０に乗り込むと、状況認識処理において、ユーザが第１の移動体の乗っていると判定される。今、電車９０は停止しているので、特徴量分類処理において、画像内に動いている物体が存在しない限り、全ての特徴量群は、世界座標系の特徴量に分類される（ステッ２０６）。
【０３６８】
自己位置の推定処理において、配置対象である座席９１が属する座標系が、世界座標系であると判定され（ステップ４０２〜４０３）、世界座標系において自己位置が推定される（ステップ４０４〜ステップ４１１）。
【０３６９】
仮想オブジェクト２０の配置処理において、仮想キャラクタ２０ｉが、座席９１に対して初期配置されるとき（ステップ４０１のＹＥＳ）、座席９１が属する座標系が、世界座標系であると判定される（ステップ６０５〜６０６）。そして、世界座標系が使用されて、仮想キャラクタ２０ｉを配置すべき位置、姿勢が算出される（ステップ６０７）。
【０３７０】
電車９０が走り出し、電車９０の各部分（図２０における座席９１、内壁等）に対応する特徴量群の動きと、慣性情報との一致度が閾値以下となると（ステップ２０５のＹＥＳ）、電車９０の各部分に対応する特徴量群が第１の移動体座標系に分類される（ステップ２１０）。そして、第１の移動体座標系が、世界座標系から分裂する（ステップ３０５）。
【０３７１】
自己位置推定処理において、配置対象としての座席９１が属する第１の移動体座標系において、自己位置が推定される（ステップ４０１〜ステップ４１１）。
【０３７２】
電車９０に対応する第１の移動体座標系が、世界座標系から分裂したとき（ステップ５０１のＹＥＳ）、世界座標系における自己位置の推定において、分裂が生じた時刻から所定時間前（電車が走りだした瞬間）まで遡って自己位置が再計算される（ステップ５０２）。
【０３７３】
また、第１の移動体座標系が、世界座標系から分裂したとき、第１の移動体座標系における自己位置の推定において、分裂が生じた時刻から所定時間前（電車９０が走りだした瞬間）まで遡って自己位置が再計算される（ステップ５０３）。
【０３７４】
今回において第１の移動体座標系が世界座標系から分裂したとき（ステップ６０２のＹＥＳ）、座席９１が属する第１の移動体座標系を使用して、仮想キャラクタ２０ｉを配置すべき位置、姿勢が算出される（ステップ６０５〜６０７）。
【０３７５】
電車９０が走っているとき、世界座標系の特徴量（図２０において、窓を介して見える景色）に基づいて、自己位置が推定される。
【０３７６】
仮想オブジェクト２０の配置処理において、スマートフォン２００（ユーザ）から山８２までの距離が閾値以下となったとする（ステップ６０１のＹＥＳ）。この場合、山８２が属する世界座標系を使用して、山に関する情報を含む仮想オブジェクト２０ｋを配置すべき位置・姿勢が算出される（ステップ６０７）。
【０３７７】
走っている電車９０が停止しようとして、電車９０の各部分に対応する特徴量群の動きと、慣性情報との一致度が閾値を超えると（ステップ２０５のＮＯ）、電車９０の各部分に対応する特徴量群が世界座標系に分類される（ステップ２０６）。そして、第１の移動体座標系が、世界座標系へ統合される（ステップ３０７）。
【０３７８】
自己位置推定処理において、座席９１が属する世界座標系において、自己位置が推定される（ステップ４０１〜４１１）。
【０３７９】
今回において第１の移動体座標系が世界座標系へ統合されたとき（ステップ６０３のＹＥＳ）、座席９１が属する世界座標系を使用して、仮想キャラクタ２０ｉを配置すべき位置、姿勢が算出される（ステップ６０５〜６０７）。
【０３８０】
ユーザが歩いて電車９０から降りると、画像内では、仮想キャラクタ２０ｉも歩いて電車９０から降りる（付いてくる設定）。
【０３８１】
第２実施形態においても上述の第１実施形態と同様の効果を奏する。例えば、電車９０が動いているときに、仮想キャラクタ２０ｉが電車９０の後ろへ向けて移動して見えなくなってしまうような状況を防止することができる。
【０３８２】
≪各種変形例≫
ここで、図１０を参照して、第１の移動体座標系において、ダッシュボード３１上の仮想オブジェクト２０ａだけが配置されている（つまり、建物２２、道路２１、対向車２５には仮想オブジェクト２０が配置されていない）場合を想定する。このような場合、第１の移動体座標系において、自己位置を推定するために、画像情報において車３０の各部分に対応する特徴量群が必要とされる。一方で、窓の外の景色に対応する特徴量群は、必要とされない。
【０３８３】
このような場合、制御部１は、今必要とされている車３０の各部の画像を鮮明に写すために、撮像部４におけるパラメータを変更してもよい。例えば、昼間である場合には、車３０内は、外に比べて暗いので、制御部１は、暗い場所を鮮明に写すために、露光時間、ゲイン等の撮像に関するパラメータを変化させる。
【０３８４】
逆に、図１０を参照して、世界座標系、第２の移動体座標系において、建物２２、道路２１、対向車２５の仮想オブジェクト２０だけが配置されている（つまり、ダッシュボード３１上には仮想オブジェクト２０が配置されていない）場合を想定する。このような場合、世界座標系、第２の移動体座標系において、自己位置を推定するために、画像情報において窓の景色に対応する特徴量群が必要とされる。一方で、車３０の各部分に対応する特徴量群は、必要とされない。
【０３８５】
このような場合、制御部１は、今必要とされている外の景色を鮮明に写すために、撮像部４におけるパラメータを変更してもよい。例えば、昼間である場合には、外は、車３０内に比べて明るいので、制御部１は、明るい場所を鮮明に写すために、露光時間、ゲイン等の撮像に関するパラメータを変化させる。
【０３８６】
典型的には、制御部１は、使用される座標系毎に、撮像部４における撮像に関するパラメータを変化させればよい。これにより、各座標系において、自己位置の推定の精度を更に向上させることができる。
【０３８７】
車３０や電車９０などの第１の移動体に対して、ＨＭＤ１００、スマートフォン２００を撮像するための外部撮像部が固定して配置されていてもよい。制御部１は、外部撮像部により撮像されたＨＭＤ１００、スマートフォン２００の画像を取得し、この画像を、第１の移動体座標系における自己位置の推定に使用する。これにより、第１の移動体座標系における自己位置の推定の精度がさらに向上する。
【０３８８】
本技術は、例えば、ショッピング等の普段の生活に関する分野や、ビジネス等の仕事に関する分野、ゲーム、アトラクション等のアミューズメントに関する分野など、各種の分野に適用可能である。典型的には、本技術は、ユーザが第１の移動体に乗る状況が想定され得る分野であれば、どのような分野にも適用可能である。
【０３８９】
以上の説明では、情報処理装置の一例として、ＨＭＤ１００及びスマートフォン２００を例に挙げて説明したが、情報処理装置は、これに限られない。例えば、情報処理装置は、リストバンド型、指輪型、ペンダント型などのＨＭＤ１００以外のウェアラブル装置であってもよい。あるいは、情報処理装置は、スマートフォン２００以外の携帯電話機であってもよいし、タブレットＰＣ（ＰＣ：personal computer）、ラップトップＰＣ等であってもよい。また、上記した制御部１における各処理は、ネットワーク上のサーバ装置（情報処理装置）により実行されてもよい。
【０３９０】
以上の説明では、本技術がＡＲ技術に適用された場合について説明したが、本技術は、ＶＲ技術に適用されてもよい。例えば、ユーザが第１の移動体に乗っているときに、ＶＲ技術（例えば、ゲーム等）を楽しむような場合に、本技術により自己位置を正確に推定することができる。
【０３９１】
本技術は以下の構成をとることもできる。
（１）  画像情報を取得する撮像部と、
慣性情報を取得する慣性センサと、
前記画像情報及び前記慣性情報に基づいて、情報処理装置における自己位置を推定し、前記情報処理装置を付帯するユーザの状況を認識し、前記自己位置の推定において、前記画像情報及び前記慣性情報のうちどちらをより信頼して使用するかについての比率を、前記状況に応じて変化させる制御する制御部と
を具備する情報処理装置。
（２）  上記（１）に記載の情報処理装置であって、
前記制御部は、前記画像情報から特徴量を抽出し、前記状況に応じて、前記自己位置の推定において、前記特徴量のうちどの特徴量を使用するかを判定する
情報処理装置。
（３）  上記（１）又は（２）に記載の情報処理装置であって、
前記制御部は、前記状況に応じて、１以上の座標系を設定可能であり、前記１以上の座標系において、それぞれ自己位置を推定する
情報処理装置。
（４）  上記（３）に記載の情報処理装置であって、
前記制御部は、前記１以上の座標系においてそれぞれ前記比率が異なるように前記比率を変化させる
情報処理装置。
（５）  上記（３）又は（４）に記載の情報処理装置であって、
前記１以上の座標系は、前記ユーザを乗せて移動する第１の移動体を基準とした第１の移動体座標系を含み、
前記制御部は、前記第１移動体座標系における自己位置の推定において、前記画像情報及び前記慣性情報のうち前記画像情報をより信頼して使用するように前記比率を変化させる
情報処理装置。
（６）  上記（５）に記載の情報処理装置であって、
前記制御部は、前記第１移動体座標系における自己位置の推定において、前記画像情報及び前記慣性情報のうち前記画像情報のみを信頼して使用するように前記比率を変化させる
情報処理装置。
（７）  上記（３）〜（６）のうちいずれか１つに記載の情報処理装置であって、
前記１以上の座標系は、前記ユーザとは関連せずに移動する第２の移動体を基準とした第２の移動体座標系を含み、
前記制御部は、前記第２移動体座標系における自己位置の推定において、前記画像情報及び前記慣性情報のうち前記画像情報をより信頼して使用するように前記比率を変化させる
情報処理装置。
（８）  上記（７）に記載の情報処理装置であって、
前記制御部は、前記第２移動体座標系における自己位置の推定において、前記画像情報及び前記慣性情報のうち前記画像情報のみを信頼して使用するように前記比率を変化させる
情報処理装置。
（９）  上記（１）〜（８）のうちいずれか１つに記載の情報処理装置であって、
前記制御部は、カルマンフィルタ処理により自己位置を推定し、前記比率は、カルマンゲインである
情報処理装置。
（１０）  上記（３）〜（９）のうちいずれか１つに記載の情報処理装置であって、
前記制御部は、前記画像情報から特徴量を抽出し、前記１以上の座標系毎に、前記画像情報における特徴量のうちどの特徴量を自己位置の推定に使用するかを判定する
情報処理装置。
（１１）  上記（１０）に記載の情報処理装置であって、
前記制御部は、前記慣性情報と、前記特徴量の動きとの一致度を判定し、前記一致度に基づいて、前記１以上の座標系毎に、前記画像情報における特徴量のうちどの特徴量を自己位置の推定に使用するかを判定する
情報処理装置。
（１２）  上記（３）〜（１１）のうちいずれか１つに記載の情報処理装置であって、
前記１以上の座標系は、地球を基準とした世界座標系と、前記ユーザを乗せて移動する第１の移動体を基準とした第１の移動体座標系とを含み、
前記制御部は、前記画像情報に基づいて、前記世界座標系から前記第１の移動体座標系が分裂したかどうかを判定し、前記分裂が生じたとき、前記第１の移動体座標系を設定する
情報処理装置。
（１３）  上記（１２）に記載の情報処理装置であって、
前記制御部は、前記分裂が生じたとき、前記世界座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置を再計算する
情報処理装置。
（１４）  上記（１２）又は（１３）に記載の情報処理装置であって、
前記制御部は、前記分裂が生じたとき、前記第１の移動体座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置を再計算する
情報処理装置。
（１５）  上記（３）〜（１４）のうちいずれか１つに記載の情報処理装置であって、
前記１以上の座標系は、地球を基準とした世界座標系と、前記ユーザとは関係なく移動する第２の移動体を基準とした第２の移動体座標系とを含み、
前記制御部は、前記画像情報に基づいて、前記世界座標系から前記第２の移動体座標系が分裂したかどうかを判定し、前記分裂が生じたとき、前記第２の移動体座標系を設定する
情報処理装置。
（１６）  上記（１５）に記載の情報処理装置であって、
前記制御部は、前記分裂が生じたとき、前記世界座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置を再計算する
情報処理装置。
（１７）  上記（１５）又は（１６）に記載の情報処理装置であって、
前記制御部は、前記分裂が生じたとき、前記第２の移動体座標系における自己位置の推定において、分裂が生じた時刻から所定時間前まで遡って、自己位置を再計算する
情報処理装置。
（１８）  上記（３）〜（１７）のうちいずれか１つに記載の情報処理装置であって、
前記制御部は、前記１以上の座標系毎に、前記撮像部における撮像に関するパラメータを変化させる
情報処理装置。
（１９）  画像情報及び慣性情報に基づいて、情報処理装置における自己位置を推定し、
前記情報処理装置を付帯するユーザの状況を認識し、
前記自己位置の推定において、前記画像情報及び慣性情報のうちどちらをより信頼して使用するかについての比率を、前記状況に応じて変化させる
情報処理方法。
（２０）  画像情報及び慣性情報に基づいて、情報処理装置における自己位置を推定し、
前記情報処理装置を付帯するユーザの状況を認識し、
前記自己位置の推定において、前記画像情報及び慣性情報のうちどちらをより信頼して使用するかについての比率を、前記状況に応じて変化させる
制御部としてコンピュータを機能させるプログラム。
【符号の説明】
【０３９２】
１、７１…制御部
４、７４…撮像部
５、７５…慣性センサ
２０…仮想オブジェクト
３０…車
５０…トロッコ
９０…電車
１００…ヘッドマウントディスプレイ
２００…スマートフォン
【図１】
2019087658.tif 000003
【図２】
2019087658.tif 000004
【図３】
2019087658.tif 000005
【図４】
2019087658.tif 000006
【図５】
2019087658.tif 000007
【図６】
2019087658.tif 000008
【図７】
2019087658.tif 000009
【図８】
2019087658.tif 000010
【図９】
2019087658.tif 000011
【図１０】
2019087658.tif 000012
【図１１】
2019087658.tif 000013
【図１２】
2019087658.tif 000014
【図１３】
2019087658.tif 000015
【図１４】
2019087658.tif 000016
【図１５】
2019087658.tif 000017
【図１６】
2019087658.tif 000018
【図１７】
2019087658.tif 000019
【図１８】
2019087658.tif 000020
【図１９】
2019087658.tif 000021
【図２０】
2019087658.tif 000022
【国際調査報告】
2019087658.tif 000023
2019087658.tif 000024
2019087658.tif 000025
2019087658.tif 000026