(57)【特許請求の範囲】
【請求項１】
撮像装置により撮像された画像と照合することが可能な指標の、前記画像が撮像される空間における配置を示すマップと、前記画像と、を照合することにより前記撮像装置の位置姿勢を推定した結果に基づいて、前記画像に仮想コンテンツを重畳するための処理を行う情報処理装置であって、
前記撮像装置により撮像される画像に重畳される前記仮想コンテンツの見え方を評価する指標である評価指標を取得する取得手段と、
前記評価指標に基づいて、前記撮像装置の位置姿勢の推定に用いる前記マップを、前記空間を計測することにより更新して新しく生成されたマップに変更することの可否を判断する判断手段と、
前記判断手段により、前記マップを変更可と判断されると、現在の前記マップを新しく生成されたマップに変更する変更手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記評価指標は、前記撮像装置の視点で見た場合の前記仮想コンテンツの見え方を表す情報と、前記撮像装置の動きを示す情報と、前記仮想コンテンツの視認性を表す属性を示す情報と、の少なくとも何れか１つを含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判断手段は、前記評価指標として撮像装置の視点で見た場合の前記仮想コンテンツの見え方を表す情報に基づいて、前記撮像装置の撮像範囲に前記仮想コンテンツが含まれる否かを判断し、当該判断した結果に基づいて、前記マップの変更の可否を判断することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記判断手段は、前記評価指標として撮像装置の視点で見た場合の前記仮想コンテンツの見え方を表す情報に基づいて、前記画像に前記仮想コンテンツを重畳させる場合の、前記画像の領域に対する前記仮想コンテンツの領域の割合を導出し、導出した割合と所定の値とを比較した結果に基づいて、前記マップの変更の可否を判断することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記評価指標には、撮像装置の視点で見た場合の前記仮想コンテンツの見え方を表す、前記仮想コンテンツの光学情報を含み、
前記判断手段は、前記仮想コンテンツの光学情報に示される値と所定の値とを比較した結果に基づいて、前記マップの変更の可否を判断することを特徴とする請求項２〜４の何れか１項に記載の情報処理装置。
【請求項６】
前記評価指標には、撮像装置の視点で見た場合の前記仮想コンテンツの見え方を表す、前記画像の投影面における前記仮想コンテンツの時間変化を表す情報を含み、
前記判断手段は、前記画像の投影面における前記仮想コンテンツの時間変化を表す情報に基づいて、前記マップの変更の可否を判断することを特徴とする請求項２〜５の何れか１項に記載の情報処理装置。
【請求項７】
前記画像の投影面における前記仮想コンテンツの時間変化を表す情報は、前記仮想コンテンツの表示位置の移動速度と、前記仮想コンテンツの姿勢の変化の速度との少なくとも何れか一方を含み、
前記判断手段は、前記評価指標として、前記仮想コンテンツの表示位置の移動速度と、前記仮想コンテンツの姿勢の変化の速度との少なくとも何れか一方と、所定の値を比較した結果に基づいて、前記マップの変更の可否を判断することを特徴とする請求項２〜６の何れか１項に記載の情報処理装置。
【請求項８】
前記取得手段は、変更する前のマップを用いることにより前記画像に重畳される前記仮想コンテンツの見え方を評価する指標である前記評価指標と、変更する候補となるマップを用いることにより前記画像に重畳される前記仮想コンテンツの見え方を評価する指標である前記評価指標とを取得し、
前記判断手段は、前記変更する前のマップを用いることにより前記画像に重畳される前記仮想コンテンツの見え方を評価する指標である前記評価指標と、前記変更する候補となるマップを用いることにより前記画像に重畳される前記仮想コンテンツの見え方を評価する指標である前記評価指標とを比較した結果に基づいて、前記マップの変更の可否を判断することを特徴とする請求項２〜７の何れか１項に記載の情報処理装置。
【請求項９】
前記評価指標は、前記仮想コンテンツの表示位置と、前記仮想コンテンツの表示位置の移動方向との少なくとも何れか一方を含むことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記仮想コンテンツの視認性を表す属性を示す情報は、前記仮想コンテンツの光学情報と、前記仮想コンテンツの幾何情報との少なくとも何れか一方を含むことを特徴とする請求項２〜９の何れか１項に記載の情報処理装置。
【請求項１１】
前記撮像装置の動きを示す情報は、前記撮像装置の位置姿勢の時間変化を示す情報を含み、
前記判断手段は、前記撮像装置の位置姿勢の時間変化と所定の値とを比較した結果に基づいて、前記マップの変更の可否を判断することを特徴とする請求項２〜１０の何れか１項に記載の情報処理装置。
【請求項１２】
撮像装置により撮像された画像と照合することが可能な指標の、前記画像が撮像される空間における配置を示すマップと、前記画像と、を照合することにより前記撮像装置の位置姿勢を推定した結果に基づいて、前記画像に仮想コンテンツを重畳するための処理を行う情報処理装置であって、
前記撮像装置の位置姿勢の時間変化に基づいて、前記撮像装置の位置姿勢の推定に用いる前記マップを、前記空間を計測することにより更新して新しく生成されたマップに変更することの可否を判断する判断手段を有することを特徴とする情報処理装置。
【請求項１３】
前記判断手段により、前記マップの変更ができると判断されると、現在の前記マップを新たな前記マップに切り替えることと、現在の前記マップの一部の修正または変更を行うこととの何れかが行われることを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記撮像装置の位置姿勢の時間変化を示す情報は、前記撮像装置の位置姿勢の変化の速度および加速度の少なくとも何れか一方を含むことを特徴とする請求項１１〜１３の何れか１項に記載の情報処理装置。
【請求項１５】
撮像装置により撮像された画像と照合することが可能な指標の、前記画像が撮像される空間における配置を示すマップと、前記画像と、を照合することにより前記撮像装置の位置姿勢を推定した結果に基づいて、前記画像に仮想コンテンツを重畳するための処理を行う情報処理方法であって、
前記撮像装置により撮像される画像に重畳される前記仮想コンテンツの見え方評価する指標である評価指標を取得する取得工程と、
前記評価指標に基づいて、前記撮像装置の位置姿勢の推定に用いる前記マップを、前記空間を計測することにより更新して新しく生成されたマップに変更することの可否を判断する判断工程と、
前記判断工程により、前記マップを変更可と判断されると、現在の前記マップを新しく生成されたマップに変更する変更工程と、を有することを特徴とする情報処理方法。
【請求項１６】
撮像装置により撮像された画像と照合することが可能な指標の、前記画像が撮像される空間における配置を示すマップと、前記画像と、を照合することにより前記撮像装置の位置姿勢を推定した結果に基づいて、前記画像に仮想コンテンツを重畳するための処理を行う情報処理方法であって、
前記撮像装置の位置姿勢の時間変化に基づいて、前記撮像装置の位置姿勢の推定に用いる前記マップを、前記空間を計測することにより更新して新しく生成されたマップに変更することの可否を判断する判断工程を有することを特徴とする情報処理方法。
【請求項１７】
請求項１〜１４の何れか１項に記載の情報処理装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、撮像装置で撮像した画像に仮想コンテンツを重畳して表示するために用いて好適なものである。
【背景技術】
【０００２】
複合現実感（Mixed Reality）技術（以下、ＭＲ技術と称する）がある。ＭＲ技術は、カメラと、ディスプレイを搭載するヘッドマウントディスプレイ（ＨＭＤ）やタブレットＰＣ等のデバイスとを用いて、カメラが撮像した画像に仮想コンテンツを重畳してディスプレイに表示する技術である。
【０００３】
通常、ＭＲ技術では、カメラが撮像した画像と、シーン中にある画像と照合可能な指標の空間配置を表すマップとを照合することで推定したカメラの位置姿勢を用いて、仮想コンテンツの画像内における重畳位置を決定する。一般的にマップや、マップとカメラで撮像した画像とを照合する処理は誤差を含む。この為、マップとカメラで撮像した画像とを照合することで推定されたカメラの位置姿勢は誤差を含む。この誤差によって仮想コンテンツの重畳位置が変動してしまいユーザに違和感を与えることがある。特許文献１には、カメラの位置姿勢の時系列の履歴を考慮して仮想コンテンツの重畳位置を補正する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３７９３１５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
マップとカメラで撮像した画像とを照合する処理の誤差に起因する仮想コンテンツの表示位置は、比較的高周波で変化する。従って、特許文献１に記載の技術でも、当該変化を抑制することができる。しかしながら、照合時に参照するマップの変更によって生じる仮想コンテンツの表示位置の変化は、散発的に発生する。従って、特許文献１に記載の技術では、当該仮想コンテンツの表示位置の変化を除去することはできず、マップの変更時にユーザに違和感を与える虞がある。
本発明は以上の課題を鑑みてなされたものであり、撮像した画像に対する仮想コンテンツの重畳位置を決定するために参照するマップを変更する際にユーザに与える違和感を軽減することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、撮像装置により撮像された画像と照合することが可能な指標の、前記画像が撮像される空間における配置を示すマップと、前記画像と、を照合することにより前記撮像装置の位置姿勢を推定した結果に基づいて、前記画像に仮想コンテンツを重畳するための処理を行う情報処理装置であって、前記撮像装置により撮像される画像に重畳される前記仮想コンテンツの見え方を評価する指標である評価指標を取得する取得手段と、前記評価指標に基づいて、前記撮像装置の位置姿勢の推定に用いる前記マップを、前記空間を計測することにより更新して新しく生成されたマップに変更することの可否を判断する判断手段と、前記判断手段により、前記マップを変更可と判断されると、現在の前記マップを新しく生成されたマップに変更する変更手段と、を有することを特徴とする。
また、本発明の情報処理装置の他の例では、撮像装置により撮像された画像と照合することが可能な指標の、前記画像が撮像される空間における配置を示すマップと、前記画像と、を照合することにより前記撮像装置の位置姿勢を推定した結果に基づいて、前記画像に仮想コンテンツを重畳するための処理を行う情報処理装置であって、前記撮像装置の位置姿勢の時間変化に基づいて、前記撮像装置の位置姿勢の推定に用いる前記マップを、前記空間を計測することにより更新して新しく生成されたマップに変更することの可否を判断する判断手段を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、撮像した画像に対する仮想コンテンツの重畳位置を決定するために参照するマップを変更する際にユーザに与える違和感を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置のハードウェアの構成を示す図である。
【図２】ＭＲシステムの構成の第１の例を示す図である。
【図３】ＭＲシステムの処理の第１の例の示すフローチャートである。
【図４】ＭＲシステムの構成の第２の例を示す図である。
【図５】ＭＲシステムの構成の第３の例を示す図である。
【図６】ＭＲシステムの処理の第２の例の示すフローチャートである。
【図７】ＭＲシステムの構成の第４の例を示す図である。
【図８】ＭＲシステムの処理の第３の例の示すフローチャートである。
【発明を実施するための形態】
【０００９】
各実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェアの構成の一例について、図１を用いて説明する。
図１は、情報処理装置１００のハードウェアの構成の一例を示す図である。同図において、ＣＰＵ１１０は、バス１６０に接続される各デバイスを統括的に制御する。ＣＰＵ１１０は、読み出し専用メモリ（ＲＯＭ）１２０に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム（ＯＳ）をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等は、例えば、ＲＯＭ１２０に記憶される。ＣＰＵ１１０は、ＲＯＭ１２０に記憶されている、各処理プログラムやデバイスドライバ等を、ランダムアクセスメモリ（ＲＡＭ）１３０に一時的に記憶し、実行する。また、入力Ｉ／Ｆ１４０は、外部の装置（ディスプレイや操作装置等）から、情報処理装置１００で処理可能な形式で入力信号を入力する。また、出力Ｉ／Ｆ１５０は、外部の装置（ディスプレイ）へ、当該装置が処理可能な形式で出力信号を出力する。
【００１０】
＜第１の実施形態＞
次に、第１の実施形態を説明する。
本実施形態では、マップの生成とカメラの位置姿勢の算出とを同時に行うSLAM(Simultaneous Localization and Mapping)を採用したＭＲシステムを例に挙げて説明する。SLAMでは、マップの生成および更新は散発的に行われる。本実施形態では、情報処理装置１００は、新しいマップを生成すると、マップの切り替えによって生じる仮想コンテンツの表示位置の変化をユーザが気づきにくいか否かを判断する。この判断の結果、ユーザが気づきにくいと判断した場合、情報処理装置１００は、参照するマップを新しく生成されたマップに即座に切り替える。一方、ユーザが気づきやすいと判断した場合、情報処理装置１００は、マップの切り替えを行わず、新しいマップを保持しておき、一定時間が経過した後に、再度ユーザが気づきにくいか否かを判断する。このようにユーザが仮想コンテンツの表示位置の変化に気づきにくいタイミングにマップを切り替えることでユーザが感じる違和感を軽減できる。
【００１１】
本実施形態では、仮想コンテンツの表示位置の変化にユーザが気づきにくいか否かを判断するために、情報処理装置１００は、カメラの視点で見た場合の仮想コンテンツの見え方を表す視界情報を取得する。そして、情報処理装置１００は、視界情報に基づいて、カメラの視界に仮想コンテンツが含まれているか否かを判断し、含まれていない場合には、参照するマップを変更可と判断する。以下に、本実施形態の詳細を説明する。
【００１２】
図２は、本実施形態に係る情報処理装置１００および情報処理装置１００を搭載するＭＲシステムのモジュール構成の一例を示す図である。
ヘッドマウントディスプレイ（ＨＭＤ）２００には、カメラ２０１とディスプレイ２０２とが搭載される。ユーザがＨＭＤ２００を装着してＭＲ体験空間中を自由に動き回る。画像入力部２１０は、このときにカメラ２０１が連続して撮像したフレーム画像を逐次受け取る。カメラ位置姿勢管理部２１１は、現在参照しているマップである参照マップ２１２と、画像入力部２１０が受け取ったフレーム画像とを照合することで、当該フレーム画像の撮像時刻におけるカメラ２０１の位置姿勢を算出する。本実施形態では、マップは、周囲にある物体の表面を表す三次元点と、当該三次元点を観測した画像における当該三次元点の周辺の所定の範囲の画素の輝度情報とを含む。
【００１３】
視界情報管理部２１４は、視界情報を管理して、画像描画部２１７および情報処理装置１００（視界情報取得部２２１）に逐次渡す。視界情報とは、カメラ２０１における仮想コンテンツの見え方を決定するための幾何情報・光学情報の少なくとも何れか一方を含む。例えば、視界情報は、カメラ位置姿勢管理部２１１から取得したカメラ２０１の位置姿勢と、仮想コンテンツ情報２１５と、カメラ２０１の内部パラメータ２１６とを含む。仮想コンテンツ情報２１５は、仮想コンテンツの位置姿勢と、形状情報（形状を表すポリゴンの頂点を示す情報である頂点情報や、そのポリゴンの面を示す情報である面情報等）と、光学情報（仮想コンテンツの透明度等）とを有する。
【００１４】
画像描画部２１７は、視界情報管理部２１４から受け取った視界情報に基づいて、画像入力部２１０から受け取ったフレーム画像に仮想コンテンツを重畳した画像を生成し、ディスプレイ２０２に出力する。以上説明したディスプレイ２０２への画像の描画までの一連の処理はカメラ２０１から連続して送られてくる毎フレーム画像に対してリアルタイムに行われる。一方、マップ管理部２１９は、画像入力部２１０から取得して蓄積した複数のフレーム画像と、カメラ位置姿勢管理部２１１から取得した、各フレーム画像に対応するカメラ２０１の位置姿勢とを用いてマップを生成する。
【００１５】
マップ管理部２１９は、生成したマップを参照マップ切り替え候補２１３として保持する。マップを生成する際に、マップ管理部２１９は、まず、複数のフレーム画像間で相互に対応付けが可能な特徴的な画素に対して三角測量の原理で三次元点の位置を算出する。次に、その三次元点を観測したフレーム画像の中から、撮影時刻が最も新しいフレーム画像における三次元点の周辺の所定の範囲の輝度情報を三次元点の位置に添付して配列として保持する。マップ管理部２１９は、情報処理装置１００が出力した参照マップ変更判断結果２１８を確認し、その判断結果が切り替え可であるときに参照マップ２１２を参照マップ切り替え候補２１３に更新する。
【００１６】
本実施形態の情報処理装置１００は、視界情報取得部２２１、参照マップ変更判断部２２２、および判断結果出力部２２３を有する。視界情報取得部２２１は、視界情報管理部２１４から視界情報として、カメラの位置姿勢、仮想コンテンツ情報２１５、およびカメラ２０１の内部パラメータ２１６とを取得する。参照マップ変更判断部２２２は、視界情報に基づいて、現在参照しているマップ（参照マップ２１２）の変更の可否を判断する。判断結果出力部２２３は、参照マップ変更判断部２２２が判断した最新の結果を参照マップ変更判断結果２１８として出力する。
【００１７】
尚、図２では、画像入力部２１０、カメラ位置姿勢管理部２１１、視界情報管理部２１４、および画像描画部２１７が情報処理装置１００内に含まれる場合を例に挙げて示す。しかしながら、これらの少なくとも一部を情報処理装置１００以外の装置（例えばＨＭＤ２００）に含めてもよい。
【００１８】
次に、図３のフローチャートを参照しながら、ＭＲシステムの処理の一例の詳細を説明する。
（ステップＳ３０１）
ステップＳ３０１では、ＭＲシステムの初期化処理が行われる。具体的には、ＭＲシステムを使用するシーン中に、画像から自動的に検出することが可能であり、且つ、特徴点が既知の寸法で配置されたマーカーボードを予めユーザに配置してもらう。ユーザは、ＨＭＤ２００のカメラ２０１でそのマーカーボードを撮像するための操作を行う。マップ管理部２１９は、この操作に基づいてカメラ２０１で撮像された画像を取得すると、取得した画像からマーカーボード上の特徴点の三次元位置を三次元点の位置として算出して、その周辺の画素の輝度情報と共に初期の参照マップ２１２として設定する。ＨＭＤ２００は、マップの計算処理を実行するステップＳ３１１以降のループ処理と、マップ切り替え処理を実行するステップＳ３２１以降のループ処理とを起動する。ステップＳ３１１以降のループ処理とステップＳ３２１以降のループ処理は、ステップＳ３０１〜Ｓ３０９の処理とは非同期に実行される。また、ＨＭＤ２００は、仮想コンテンツ情報２１５と、カメラ２０１の内部パラメータ２１６とを予め保存されているメモリ領域から取得する。
【００１９】
（ステップＳ３０２）
ステップＳ３０２は、以降ユーザがＭＲ体験を終了するまで繰り返し実行されるループ処理である。ステップＳ３０３からステップＳ３０８までの処理を、ユーザがリアルタイムで認知できるフレームレートで、このループ処理は実行される。
（ステップＳ３０３）
ステップＳ３０３では、画像入力部２１０は、ＨＭＤ２００のカメラ２０１から画像を取得する。
【００２０】
（ステップＳ３０４）
ステップＳ３０４では、カメラ位置姿勢管理部２１１は、ステップＳ３０３で取得された画像を、参照マップ２１２と照合することで、当該画像が撮像されたときのカメラ２０１の位置姿勢を算出する。その具体例を説明すると、カメラ位置姿勢管理部２１１は、参照マップ２１２に保存されている三次元点とその周辺の輝度情報に、カメラ２０１の或る位置姿勢と、カメラ２０１の内部パラメータ行列とを乗じる。次に、カメラ位置姿勢管理部２１１は、このようにして輝度情報（輝度値）を、ステップＳ３０３で取得された画像の領域のうち、当該輝度情報が存在する領域に対応する領域に重ね合わせる。カメラ位置姿勢管理部２１１は、両者の画素の輝度値の差の合計が最小となるようなカメラ２０１の位置姿勢を最適化計算によって算出する。
【００２１】
（ステップＳ３０５）
ステップＳ３０５では、画像描画部２１７は、ステップＳ３０３で取得された画像に仮想コンテンツを重畳した画像を生成し、ＨＭＤ２００のディスプレイ２０２に出力する。その具体例を説明すると、まず画像描画部２１７は、ステップＳ３０４で算出されたカメラ２０１の位置姿勢と、仮想コンテンツ情報２１５とを視界情報管理部２１４から受け取る。次に、画像描画部２１７は、カメラ２０１の位置姿勢と仮想コンテンツの位置姿勢とに基づいて、カメラ２０１を基準にした仮想コンテンツの相対的な位置姿勢を算出する。そして、画像描画部２１７は、仮想コンテンツの相対的な位置姿勢と、カメラ２０１の内部パラメータ行列とを仮想コンテンツの形状情報に乗じることで、カメラ２０１で撮像された画像における仮想コンテンツの表示位置を決定する。そして、画像描画部２１７は、決定した位置に仮想コンテンツの光学情報に従ってレンダリングを行う。
【００２２】
（ステップＳ３０６）
ステップＳ３０６では、視界情報取得部２２１は、視界情報管理部２１４から、カメラ２０１の視点で見た場合の仮想コンテンツの見え方を決める視界情報として、以下の情報を取得する。即ち、視界情報取得部２２１は、カメラ２０１の位置姿勢と、仮想コンテンツ情報２１５と、カメラ２０１の内部パラメータ２１６とを取得する。
【００２３】
（ステップＳ３０７）
ステップＳ３０７では、参照マップ変更判断部２２２は、ステップＳ３０６で取得された視界情報に基づいて、参照マップ２１２の変更の可否を判断する。ここでは、ステップＳ３０６で取得された視界情報として、カメラ２０１の位置姿勢と、仮想コンテンツの位置姿勢および形状情報（ポリゴンの頂点情報）と、カメラ２０１の内部パラメータ２１６とを用いる。本実施形態では、参照マップ変更判断部２２２は、画像を撮像したときのカメラ２０１の視点において仮想コンテンツがカメラ２０１の視界（撮像範囲）に入っていない場合には、参照マップ２１２を変更可と判断し、そうでない場合には変更不可と判断する。
【００２４】
その具体例を説明すると、まず参照マップ変更判断部２２２は、カメラ２０１の位置姿勢と、仮想コンテンツの位置姿勢とに基づいて、カメラ２０１を基準にした仮想コンテンツの相対的な位置姿勢を算出する。そして、参照マップ変更判断部２２２は、仮想コンテンツの相対的な位置姿勢と、カメラ２０１の内部パラメータとを、仮想コンテンツの形状を表すポリゴンの各頂点の三次元座標に乗じる。参照マップ変更判断部２２２は、このようにして、カメラ画像投影面（カメラ２０１で撮像された画像の投影面）における仮想コンテンツの各頂点の二次元位置を算出する。参照マップ変更判断部２２２は、カメラ画像投影面における仮想コンテンツの各頂点の二次元位置のうち、カメラ２０１の視野内に収まっている点が一つもない場合には、参照マップ２１２を変更可と判断し、そうでない場合には、変更不可と判断する。そして、参照マップ変更判断部２２２は、その判断の結果を保持する。
【００２５】
（ステップＳ３０８）
ステップＳ３０８では、判断結果出力部２２３は、ステップＳ３０７で判断された結果を、参照マップ変更判断結果２１８を保持するメモリ領域に出力する。
（ステップＳ３０９）
ステップＳ３０９では、ＭＲシステムの終了処理が行われる。具体的には、ステップＳ３０１で起動した、ステップＳ３１１以降のループ処理とステップＳ３２１以降のループ処理とを終了させ、図３に示すフローチャートを実行するプログラムの実行にあたって確保したリソースを開放する。
【００２６】
次に、ステップＳ３０１で起動されたマップ計算処理を表すステップＳ３１１以降のループ処理の一例を説明する。
（ステップＳ３１１）
ステップＳ３１１は、ステップＳ３０１で起動されて以降、ステップＳ３０９の終了処理が実行されるまで繰り返し実行されるループ処理である。
【００２７】
（ステップＳ３１２）
ステップＳ３１２では、マップ管理部２１９は、ステップＳ３０３で取得されて蓄積された所定の数の画像と、それらの画像に対応するステップＳ３０４で算出されたカメラ２０１の位置姿勢とのペアのそれぞれに対してマップを計算する。そして、マップ管理部２１９は、計算したマップを、参照マップ切り替え候補２１３を保持するメモリ領域に出力する。
【００２８】
次に、ステップＳ３０１で起動されたマップ切り替え処理を表すステップＳ３２１のループ処理の一例を説明する。
（ステップＳ３２１）
ステップＳ３２１は、ステップＳ３０１で起動されて以降、ステップＳ３０９の終了処理が実行されるまで繰り返し実行されるループ処理である。
【００２９】
（ステップＳ３２２）
ステップＳ３２２では、マップ管理部２１９は、参照マップ切り替え候補２１３を保持するメモリ領域を確認し、参照マップ切り替え候補の存在の有無を確認する。この確認の結果、参照マップ切り替え候補がある場合にはステップＳ３２３に進む。一方、参照マップ切り替え候補がない場合には、ループ処理の最初（ステップＳ３２１）に戻り、一定時間待ってから再度ループ処理を行う。
【００３０】
（ステップＳ３２３）
ステップＳ３２３では、マップ管理部２１９は、参照マップ変更判断結果２１８を保持するメモリ領域を確認し、参照マップ２１２の変更が可能であるか否かを判断する。この判断の結果、参照マップ２１２の変更が可能である場合には、ステップＳ３２４に進む。 一方、参照マップ２１２の変更が不可である場合には、ループ処理の最初（ステップＳ３２１）に戻り、一定時間待ってから再度ループ処理を行う。
【００３１】
（ステップＳ３２４）
ステップＳ３２４では、マップ管理部２１９は、参照マップ２１２を切り替える。その具体例を説明すると、マップ管理部２１９は、参照マップ切り替え候補２１３として保持されているマップを参照マップ２１２として設定した後に、参照マップ切り替え候補２１３を保持するメモリ領域を空にする。
【００３２】
以上のように本実施形態では、カメラ２０１の視界に仮想コンテンツが含まれるか否かに基づいて参照マップ２１２の変更の可否を判断する。従って、ＭＲ体験中の参照マップの切り替えによって生じる仮想コンテンツ表示位置の変化によってユーザに与える違和感を軽減することができる。
【００３３】
［変形例１−１］
本実施形態では、ステップＳ３０７において、仮想コンテンツがカメラ２０１の視野に含まれていないときに参照マップ２１２を変更すると判断する場合を例に挙げて説明した。しかしながら、必ずしもこのようにする必要はない。カメラ２０１で撮像された画像に仮想コンテンツを重畳した場合の、当該画像（の面積）における、仮想コンテンツの表示領域（の面積）が占める割合に基づいて、参照マップ２１２を変更するか否かを判断しても良い。ユーザは、カメラ２０１で撮像された画像における、仮想コンテンツの表示領域が占める割合が小さいとき程、参照マップ２１２の変更によって発生する仮想コンテンツの位置の変化に気づきにくい。従って、カメラ２０１で撮像された画像における、仮想コンテンツの表示領域が占める割合が小さいときに参照マップ２１２を変更することで、以下の効果が得られる。即ち、仮想コンテンツがカメラ２０１の視野内に長時間存在する場合においても、ユーザに与える違和感が比較的小さいタイミングで、参照マップ２１２を変更することができる。
【００３４】
以下に、本変形例に係る情報処理装置１００の処理として、前述した第１の実施形態と異なる処理であるステップＳ３０７の処理の一例を説明する。
（ステップＳ３０７）
ステップＳ３０７では、参照マップ変更判断部２２２は、ステップＳ３０６で取得された視界情報に基づいて、参照マップ２１２の変更の可否を判断する。ここでは、ステップＳ３０６で取得された視界情報として、カメラ２０１の位置姿勢と、仮想コンテンツの位置姿勢と形状情報（ポリゴンの頂点情報および面情報）と、カメラ２０１の内部パラメータ２１６とを用いる。本変形例では、参照マップ変更判断部２２２は、カメラ２０１で撮像された画像における、仮想コンテンツの表示領域が占める割合が所定の値よりもが小さい場合には、参照マップ２１２を変更可と判断し、そうでない場合には変更不可と判断する。そして、参照マップ変更判断部２２２は、その判断の結果を保持する。
【００３５】
その具体例を説明すると、まず参照マップ変更判断部２２２は、カメラ２０１の位置姿勢と、仮想コンテンツの位置姿勢とに基づいて、カメラ２０１を基準にした仮想コンテンツの相対的な位置姿勢を算出する。そして、参照マップ変更判断部２２２は、仮想コンテンツの相対的な位置姿勢と、カメラ２０１の内部パラメータ行列とを、仮想コンテンツの形状を表すポリゴンの各面の面情報に乗じることで、仮想コンテンツをカメラ画像投影面に投影する。そして、参照マップ変更判断部２２２は、カメラ画像投影面のうち、カメラ２０１の視野範囲の領域において、仮想コンテンツのポリゴンの面が存在する画素の数をカウントし、カウントした画素の総数を、仮想コンテンツの表示領域の面積とする。参照マップ変更判断部２２２は、このようにして得た面積の、カメラ２０１で撮像された画像の全画素に対する割合を計算し、計算した割合が所定の値以下である場合には、参照マップ２１２を変更可と判断し、そうでない場合には変更不可と判断する。
【００３６】
以上のように本変形例では、カメラ２０１で撮像された画像における、仮想コンテンツの表示領域が占める割合が小さいときに参照マップ２１２を変更可と判断する。従って、仮想コンテンツが常にカメラ２０１の視野内にあるような場合においてもユーザに与える違和感が比較的小さいタイミングでマップを切り替えることができる。
【００３７】
［変形例１−２］
本実施形態および［変形例１−１］では、仮想コンテンツの見え方として、カメラ２０１の視点における仮想コンテンツの幾何的な見え方に基づいて、参照マップ２１２の変更可否を判断する場合を例に挙げて説明した。しかしながら、仮想コンテンツの見え方は、このようなものに限定されない。仮想コンテンツの幾何的な見え方だけではなく仮想コンテンツの光学的な見え方も併せて考慮した見え方に基づいて参照マップ２１２の変更可否を判断してもよい。こうすることで、ユーザが仮想コンテンツの表示位置の変化に気づきにくい状況（例えば、カメラ２０１で撮像された画像に重畳した仮想コンテンツが背景画像に溶け込んでいるような状況）を識別して参照マップ２１２を変更することができる。そこで、本変形例では、仮想コンテンツが背景画像に溶け込んでいることを画像の輝度勾配の大きさに基づいて判断する方法を例に挙げて説明する。
【００３８】
以下に、本変形例に係る情報処理装置１００の処理として、前述した第１の実施形態と異なる処理であるステップＳ３０７の処理の一例を説明する。
（ステップＳ３０７）
ステップＳ３０７では、参照マップ変更判断部２２２は、ステップＳ３０６で取得された視界情報と、カメラ２０１で撮像された画像とに基づいて、参照マップ２１２の変更の可否を判断する。ここでは、ステップＳ３０６で取得された視界情報として、カメラ２０１の位置姿勢と、仮想コンテンツの位置姿勢と、形状情報（ポリゴンの頂点情報と面情報）と、仮想コンテンツの光学情報と、カメラ２０１の内部パラメータ２１６とを用いる。本変形例では、参照マップ変更判断部２２２は、視界情報に基づいて、カメラ２０１で撮像された画像に仮想コンテンツを重畳した画像を生成し、仮想コンテンツ表示領域の輝度とその周辺の輝度との変動の大きさを算出する。そして、参照マップ変更判断部２２２は、その輝度の変動が所定の値よりも小さい場合には、参照マップ２１２を変更可と判断し、そうでない場合には、変更不可と判断する。
【００３９】
その具体例を説明すると、まず参照マップ変更判断部２２２は、カメラ２０１で撮像された画像に仮想コンテンツを重畳した画像において、仮想コンテンツ表示領域の周囲の所定の範囲の画素を取り出した部分画像を生成する。次に、参照マップ変更判断部２２２は、生成した部分画像の各画素に対して輝度勾配値を算出する。次に、参照マップ変更判断部２２２は、部分画像の画素数に対する輝度勾配値が所定の値よりも大きい画素数の割合を算出する。そして、参照マップ変更判断部２２２は、算出した割合が所定の値より小さい場合には、参照マップ２１２を変更可と判断し、そうでない場合には、参照マップ２１２を変更不可と判断する。このときの、カメラ２０１で撮像された画像に仮想コンテンツを重畳した画像を生成する処理は、ステップＳ３０５において画像描画部２１７が、ステップＳ３０３で取得された画像に仮想コンテンツを重畳した画像を生成する処理と同じ処理で実現できる。尚、こうして生成される画像は、画像描画部２１７が生成する画像と同一なので、参照マップ変更判断部２２２が新たに生成せずに画像描画部２１７が生成した画像を共有することで計算量の節約が可能である。
【００４０】
本実施形態または［変形例１−１］の手法と［変形例１−２］の手法との双方で、参照マップ２１２を変更可と判断された場合に限り、参照マップ２１２を変更可と判断すれば、仮想コンテンツの幾何的な見え方だけではなく光学的な見え方も併せて考慮できる。このようにすることで、ユーザが仮想コンテンツの表示位置の変化に気づきにくいタイミングとして、仮想コンテンツが背景に溶け込んでいるようなタイミングで参照マップ２１２を切り替えることができる。ただし、本実施形態または［変形例１−１］の手法による判断を行わずに、［変形例１−２］の手法だけで、参照マップ２１２を変更可か否かを判断してもよい。
【００４１】
＜第２の実施形態＞
次に、第２の実施形態を説明する。第１の実施形態では、或る時点で取得した静的な視界情報に基づいて、参照マップ２１２の変更可否を判断する場合を例に挙げて説明したが、時系列で取得した視界情報の変化に基づいて参照マップ２１２の変更可否を判断してもよい。そこで、本実施形態では、視界情報の変化として仮想コンテンツの表示位置の移動速度を算出し、算出した移動速度の大きさが所定の値よりも大きい場合には参照マップを変更して良いと判断する。
【００４２】
ユーザは仮想コンテンツの表示位置が視野内で静止している時ほど参照マップ２１２の切り替えで生じる仮想コンテンツ表示位置の変化に気づきやすく、逆に仮想コンテンツの表示位置が動いている時は気づきにくい。従って、仮想コンテンツの表示位置の移動速度の大きさが大きいときに参照マップ２１２を変更することで仮想コンテンツがカメラ２０１の視野内にあるか否かに関わらずユーザが気づきにくいタイミングで参照マップ２１２を変更することができる。
【００４３】
このように本実施形態と第１の実施形態とは、参照マップ２１２の変更可否を判断する手法が主として異なる。従って、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図３に付した符号と同一の符号を付す等して詳細な説明を省略する。具体的に本実施形態と第１の実施形態とは図３のステップＳ３０７の処理が異なる。そこで、以下に、本実施形態に係る情報処理装置１００の処理として、第１の実施形態と異なる処理であるステップＳ３０７の処理の一例を説明する。
【００４４】
（ステップＳ３０７）
ステップＳ３０７では、参照マップ変更判断部２２２は、ステップＳ３０６で取得された視界情報に基づいて、参照マップ２１２の変更の可否を判断する。ここでは、ステップＳ３０６で取得された視界情報として、カメラ２０１の位置姿勢と、仮想コンテンツの位置姿勢と、仮想コンテンツの形状情報（ポリゴンの頂点情報）と、カメラ２０１の内部パラメータ２１６とを用いる。本実施形態では、参照マップ変更判断部２２２は、時系列で取得した視界情報に基づいて、視界情報の変化として仮想コンテンツ表示位置の移動速度を算出する。そして、参照マップ変更判断部２２２は、算出した仮想コンテンツの表示位置の移動速度の大きさが所定の値よりも大きい場合には、参照マップ２１２を変更可と判断する。
【００４５】
その具体例を説明すると、まず参照マップ変更判断部２２２は、仮想コンテンツの基準位置を算出する。参照マップ変更判断部２２２は、仮想コンテンツの形状を表すポリゴンの頂点のＸ、Ｙ、Ｚ軸における最大値と最小値とをそれぞれ算出し、各軸の最大値と最小値を足して２で除すことで算出した三次元座標を仮想コンテンツの基準位置とする。次に、参照マップ変更判断部２２２は、カメラ２０１の位置姿勢と仮想コンテンツの位置姿勢とに基づいて、カメラ２０１を基準にした仮想コンテンツの相対的な位置姿勢を算出する。そして、参照マップ変更判断部２２２は、仮想コンテンツの相対的な位置姿勢とカメラの内部パラメータ行列とを仮想コンテンツの基準位置に乗じることで仮想コンテンツをカメラ画像投影面に投影する。これにより、カメラ画像投影面に二次元位置が得られる。参照マップ変更判断部２２２は、こうして得た二次元位置を仮想コンテンツの表示位置とする。参照マップ変更判断部２２２は、仮想コンテンツの表示位置を時系列に複数回算出することで、カメラ２０１で撮像された画像における仮想コンテンツの表示位置の移動速度を算出する。そして、参照マップ変更判断部２２２は、算出した移動速度の大きさが所定の値よりも大きい場合には、参照マップ２１２を変更可と判断し、そうでない場合には変更不可と判断する。
【００４６】
以上のように本実施形態では、仮想コンテンツの表示位置の移動速度の大きさが大きいときに参照マップ２１２を変更可と判断する。従って、仮想コンテンツが長時間カメラ２０１の視野内にある場合においてもユーザに与える違和感が比較的小さいタイミングで参照マップ２１２を切り替えることができる。
【００４７】
［変形例２−１］
本実施形態では、視界情報の時間変化として、カメラ画像投影面における仮想コンテンツの表示位置の移動速度に基づいて参照マップ２１２の変更の可否を判断する場合を例に挙げて説明した。しかしながら、視界情報の時間変化は、このようなものに限定されない。カメラ２０１の視点から見た場合の仮想コンテンツの姿勢の変化に基づいて参照マップ２１２の変更可否を判断しても良い。本変形例では、視界情報の変化として、仮想コンテンツの姿勢の変化の速度を算出し、仮想コンテンツの姿勢の変化の速度の大きさが所定の値よりも大きい場合には、参照マップ２１２を変更して良いと判断する。ユーザは、仮想コンテンツの姿勢が視野内で静止している時ほど仮想コンテンツの表示位置の変化に気づきやすく、逆に、仮想コンテンツの姿勢が視野内で変化している時には仮想コンテンツの表示位置の変化に気づきにくい。従って、仮想コンテンツの姿勢の変化の速度の大きさが大きいときに参照マップ２１２を変更することで、仮想コンテンツの表示位置が動いていないときでもユーザが気づきにくいタイミングで参照マップ２１２を変更することができる。
以下に、本変形例に係る情報処理装置１００の処理として、前述した第２の実施形態と異なる処理であるステップＳ３０７の処理の一例を説明する。
【００４８】
（ステップＳ３０７）
ステップＳ３０７では、参照マップ変更判断部２２２は、ステップＳ３０６で取得された視界情報に基づいて、参照マップ２１２の変更の可否を判断する。ここでは、ステップＳ３０６で取得された視界情報として、カメラ２０１の位置姿勢と、仮想コンテンツの位置姿勢と、仮想コンテンツの形状情報（ポリゴンの頂点情報）と、カメラ２０１の内部パラメータ２１６とを用いる。本実施形態では、参照マップ変更判断部２２２は、時系列で取得した視界情報に基づいて、視界情報の変化として仮想コンテンツの姿勢の変化の速度を算出する。そして、参照マップ変更判断部２２２は、算出した仮想コンテンツの姿勢の変化の速度の大きさが所定の値よりも大きい場合には、参照マップ２１２を変更して良いと判断する。
【００４９】
その具体例を説明すると、参照マップ変更判断部２２２は、カメラ２０１の位置姿勢のうち、姿勢を表す回転行列の逆行列を、仮想コンテンツの位置姿勢のうち、姿勢を表す回転行列に乗じる。このようにすることで、カメラ２０１を基準にした仮想コンテンツの相対的な姿勢を表す回転行列が得られる。参照マップ変更判断部２２２は、このようにして算出される仮想コンテンツの、カメラ２０１の視点からの相対的な姿勢を表す回転行列を時系列に複数回算出することで、カメラ２０１の視点における仮想コンテンツの姿勢の変化の速度を回転行列として算出する。そして、参照マップ変更判断部２２２は、ロドリゲスの公式により、回転行列を回転ベクトルに変換して、その回転ベクトルの大きさを、仮想コンテンツの姿勢の変化の速度の大きさとする。参照マップ変更判断部２２２は、このようにして算出した仮想コンテンツの姿勢の変化の速度の大きさが所定の値より大きい場合には、参照マップ２１２を変更可と判断し、そうでない場合には、変更不可と判断する。
以上のように本変形例では、仮想コンテンツの姿勢の変化の速度の大きさが大きいときに参照マップ２１２を変更可と判断する。従って、仮想コンテンツの表示位置が動いていないときでもユーザが気づきにくいタイミングで参照マップ２１２を切り替えることができる。
【００５０】
＜第３の実施形態＞
次に、第３の実施形態を説明する。第１、２の実施形態では、現在参照している参照マップ２１２を用いて算出した視界情報のみに基づいて参照マップ２１２の変更の可否を判断する場合を例に挙げて説明した。しかしながら、切り替える参照マップ（参照マップ切り替え候補２１３）の情報も用いて実際に参照マップを切り替えた場合のカメラ２０１の視点からの仮想コンテンツの見え方の変化の大きさを算出して、参照マップ２１２の変更の可否を判断しても良い。このように、参照マップ切り替え候補２１３の情報も使って、参照マップ２１２の切り替え時に生じる仮想コンテンツの見え方の変化を実際に算出することで、ユーザに与える違和感が小さいタイミングを漏れなく検出できるようになる。
【００５１】
このように本実施形態と第１、２の実施形態とは、参照マップ２１２の変更可否を判断する手法が主として異なる。従って、本実施形態の説明において、第１、第２の実施形態と同一の部分については、図１〜図３に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００５２】
本実施形態では、参照マップ２１２の切り替え時に生じる仮想コンテンツの見え方の変化を、以下のようにして算出する。即ち、現在参照している参照マップ２１２を用いて算出したカメラ２０１の位置姿勢に基づいて、カメラ２０１で撮像された画像における仮想コンテンツの表示位置を算出する。また、参照マップ切り替え候補２１３を用いて算出したカメラ２０１の位置姿勢に基づいて、カメラ２０１で撮像された画像における仮想コンテンツの表示位置を算出する。そして、それらの仮想コンテンツの表示位置の差を、参照マップ２１２の切り替え時に生じる仮想コンテンツの見え方の変化として算出する。算出した仮想コンテンツの表示位置の差の大きさが、所定の値よりも小さい場合には、参照マップ２１２を変更可と判断し、そうでない場合には、参照マップ２１２を変更不可と判断する。以下に、本実施形態の詳細を説明する。
【００５３】
図４は、本実施形態に係る情報処理装置４００および情報処理装置４００を搭載するＭＲシステムのモジュール構成の一例を示す図である。図４に示す各構成要素の機能は、図２に示す各構成要素の機能に対し変更はないので、ここでは、構成要素がやり取りする情報の差異について説明する。
【００５４】
第１の実施形態と同様に、カメラ位置姿勢管理部２１１は、画像入力部２１０が受け取ったフレーム画像と、参照マップ２１２とを照合して算出したカメラ２０１の位置姿勢を保持する。ただし、本実施形態のカメラ位置姿勢管理部２１１は、これに加えて、当該フレーム画像と、参照マップ切り替え候補２１３とを照合して算出したカメラ２０１の位置姿勢も保持する。視界情報管理部２１４は、これら２つのカメラ２０１の位置姿勢と、仮想コンテンツ情報２１５と、カメラ２０１の内部パラメータ２１６とを集約して、画像描画部２１７および情報処理装置１００（視界情報取得部２２１）に逐次渡す機能を持つ。
【００５５】
尚、図４では、画像入力部２１０、カメラ位置姿勢管理部２１１、視界情報管理部２１４、および画像描画部２１７が情報処理装置４００内に含まれる場合を例に挙げて示す。しかしながら、これらの少なくとも一部を情報処理装置４００以外の装置（例えばＨＭＤ２００）に含めてもよい。
次に、本実施形態に係る情報処理装置１００の処理の詳細のうち、第１、第２の実施形態と異なる部分について図３のフローチャートに沿って説明する。
【００５６】
（ステップＳ３０４）
ステップＳ３０４では、カメラ位置姿勢管理部２１１は、ステップＳ３０３で取得された画像を、参照マップ２１２と照合することで、当該画像を撮像したときのカメラ２０１の位置姿勢を算出する。また、カメラ位置姿勢管理部２１１は、ステップＳ３０３で取得された画像を、参照マップ切り替え候補２１３と照合することで、当該画像を撮像したときのカメラ２０１の位置姿勢を算出する。それぞれのカメラ２０１の位置姿勢の算出方法は、第１の実施形態で説明した方法と同様である。
【００５７】
（ステップＳ３０６）
ステップＳ３０６では、視界情報取得部２２１は、視界情報管理部２１４から、参照マップ２１２を切り替え候補２１３に切り替えることで生じるカメラ２０１の視点から見た仮想コンテンツの見え方の変化を決める視界情報を取得する。ここでの視界情報は、ステップＳ３０４で算出されたカメラ２０１の位置姿勢（参照マップ２１２および参照マップ切り替え候補２１３を用いて算出されたカメラ２０１の位置姿勢）と、仮想コンテンツ情報２１５と、カメラ２０１の内部パラメータ２１６である。
【００５８】
（ステップＳ３０７）
ステップＳ３０７では、参照マップ変更判断部２２２は、ステップＳ３０６で取得された視界情報に基づいて、参照マップ２１２の変更可否を判断する。本実施形態では、参照マップ変更判断部２２２は、現在参照している参照マップ２１２を用いて算出したカメラ２０１の位置姿勢を用いて、カメラ２０１で撮像された画像における仮想コンテンツの表示位置を算出する。また、参照マップ変更判断部２２２は、参照マップ切り替え候補２１３を用いて算出したカメラ２０１の位置姿勢を用いて、カメラ２０１で撮像された画像における仮想コンテンツの表示位置を算出する。そして、参照マップ変更判断部２２２は、それらの仮想コンテンツの表示位置の差が所定の値よりも小さい場合には、参照マップ２１２を変更可と判断し、そうでない場合には、変更不可と判断し、その判断の結果を保持する。仮想コンテンツの表示位置は、例えば、それぞれのカメラ２０１の位置姿勢の逆行列を仮想コンテンツの位置姿勢に乗じることで算出したそれぞれのカメラ２０１の視点から見た仮想コンテンツの位置姿勢に、カメラ内部パラメータ行列を乗じることで算出される。
【００５９】
以上のように本実施形態では、現在参照している参照マップ２１２を参照マップ切り替え候補２１３に切り替える場合に生じる仮想コンテンツの表示位置の変化が小さいときに参照マップ２１２を変更可と判断する。従って、ユーザに与える違和感が小さいタイミングを漏れなく検出してマップを切り替えられるようになる。
【００６０】
［変形例３−１］
本実施形態では、参照マップ２１２を参照マップ切り替え候補２１３に切り替える場合に生じる仮想コンテンツの見え方の変化が、参照マップ２１２の切り替えで生じる仮想コンテンツの表示位置の変化である場合を例に挙げて説明した。しかしながら、参照マップ２１２を参照マップ切り替え候補２１３に切り替える場合に生じる仮想コンテンツの見え方の変化は、このようなものに限定されない。参照マップ２１２の切り替えで生じる仮想コンテンツの表示位置の移動方向の変化に基づいて、参照マップ２１２の変更の可否を判断しても良い。ＨＭＤ２００を装着したユーザの動きによって生じる仮想コンテンツの表示位置の移動方向に対して、参照マップ２１２の切り替えで生じる仮想コンテンツの表示位置の移動方向が大きく異なるほど、以下の傾向がある。即ち、ユーザは参照マップ２１２の切り替えによる仮想コンテンツの表示位置の変化に気づきやすい傾向がある。従って、ユーザの動きによって生じる仮想コンテンツの表示位置の移動方向について、参照マップ２１２を切り替えない場合と切り替えた場合の移動方向が成す角度が所定の値よりも小さいときに参照マップ２１２を変更可と判断する。このようにすることで、参照マップ２１２の切り替えによって生じる仮想コンテンツの表示位置の変化が大きい時でもユーザに与える違和感が小さいタイミングを検出してマップを切り替えらえるようになる。
【００６１】
以下に、本変形例に係る情報処理装置１００の処理として、前述した第３の実施形態と異なる部分について図３のフローチャートに沿って説明する。
（ステップＳ３０７）
ステップＳ３０７では、参照マップ変更判断部２２２は、ステップＳ３０６で取得された視界情報に基づいて、参照マップ２１２の変更可否を判断する。本変形例では、参照マップ変更判断部２２２は、現在参照している参照マップ２１２を切り替えない場合の、カメラ２０１で撮像された画像における仮想コンテンツの表示位置の移動方向を導出する。また、参照マップ変更判断部２２２は、参照マップ２１２を参照マップ切り替え候補２１３に切り替えた場合の、カメラ２０１で撮像された画像における仮想コンテンツの表示位置の移動方向を導出する。そして、参照マップ変更判断部２２２は、それら２つの仮想コンテンツの表示位置の移動方向の成す角度が、所定の値よりも小さい場合には、参照マップ２１２を変更可と判断し、そうでない場合には、変更不可と判断する。
【００６２】
以上のように本変形例では、参照マップ２１２の切り替えで生じる、仮想コンテンツの表示位置の移動方向の変化に基づいて、参照マップ２１２の変更の可否を判断する。従って、参照マップ２１２の切り替えで生じる、仮想コンテンツの表示位置の移動量は大きくてもユーザに与える違和感が比較的小さいタイミングを検出して、参照マップ２１２を切り替えることができる。
【００６３】
＜第４の実施形態＞
次に、第４の実施形態を説明する。第１〜第３の実施形態では、カメラ２０１の視点から見た場合の仮想コンテンツの見え方を考慮して参照マップ２１２の変更の可否を判断する場合を例に挙げて説明した。しかしながら、カメラ２０１の位置姿勢のみから、参照マップ２１２の変更の可否を判断しても良い。ユーザは、自身がカメラ２０１の位置姿勢を変化させているとき程、仮想コンテンツの表示位置の変化に気づきにくい。従って、カメラ２０１の位置姿勢の変化が所定の値よりも大きいときに参照マップ２１２を切り替えることで、ユーザに与える違和感が小さいタイミングで参照マップ２１２を切り替えることができる。
【００６４】
このように本実施形態と第１〜３の実施形態とは、参照マップ２１２の変更可否を判断する手法が主として異なる。従って、本実施形態の説明において、第１〜第３の実施形態と同一の部分については、図１〜図４に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００６５】
図５は、本実施形態に係る情報処理装置５００および情報処理装置５００を搭載するＭＲシステムのモジュール構成の一例を示す図である。本実施形態では、第１〜３の実施形態における視界情報取得部２２１が、カメラ位置姿勢取得部５２１に置き換わる。カメラ位置姿勢取得部５２１は、視界情報管理部２１４から、カメラ２０１の位置姿勢を取得する。
【００６６】
尚、図５では、画像入力部２１０、カメラ位置姿勢管理部２１１、視界情報管理部２１４、および画像描画部２１７が情報処理装置５００内に含まれる場合を例に挙げて示す。しかしながら、これらの少なくとも一部を情報処理装置５００以外の装置（例えばＨＭＤ２００）に含めてもよい。
【００６７】
図６は、ＭＲシステムの処理の一例を示すフローチャートである。本実施形態では、第１〜３の実施形態におけるステップＳ３０３の代わりに、ステップＳ６０６が実行される。ステップＳ６０６では、カメラ位置姿勢取得部５２１は、視界情報管理部２１４から、ステップＳ３０３で取得された画像を撮影した時刻における、カメラ２０１の位置姿勢の変化の速度を取得する。この速度は、カメラ位置姿勢管理部２１１が、ステップＳ３０４にて算出したカメラ２０１の位置姿勢の時系列変化から算出される。その具体例を説明すると、カメラ位置姿勢取得部５２１は、カメラ２０１の位置姿勢のうち、並進成分の速度の大きさと回転成分の速度（角速度）の大きさとをそれぞれ取得する。
【００６８】
ステップＳ３０７では、参照マップ変更判断部２２２は、カメラ２０１の位置姿勢の並進成分の速度の大きさと回転成分の速度の大きさとが共に所定の値よりも大きい場合には、参照マップ２１２を変更可と判断し、そうでない場合には、変更不可と判断する。
以上のように本実施形態では、カメラ２０１の位置姿勢のみという限られた情報から、ユーザに与える違和感が小さいタイミングを検出して参照マップ２１２を変更することができる。
【００６９】
［変形例４−１］
本実施形態では、カメラ２０１の位置姿勢の時間変化として、カメラ２０１の位置姿勢の速度に基づいて、参照マップ２１２の変更可否を判断する場合を例に挙げて説明した。しかしながら、カメラ２０１の位置姿勢の時間変化は、このようなものに限定されない。カメラ２０１の位置姿勢の変化として、カメラ２０１の位置姿勢の変化の加速度に基づいて、参照マップ２１２の変更の可否を判断してもよい。例えば、ＨＭＤを装着したユーザが首を往復させる動作をするときの切り返す瞬間においては、カメラ２０１の回転成分の速度は小さくても仮想コンテンツを注視していない傾向が強い。従って、カメラ２０１の位置姿勢の加速度の大きさが所定の値よりも大きい場合に参照マップを変更可と判断し、そうでない場合に変更不可と判断する。
【００７０】
その具体例を説明すると、カメラ位置姿勢取得部５２１は、連続するカメラ２０１の位置姿勢のうち、並進成分の加速度の大きさと回転成分の加速度（角加速度）の大きさとをそれぞれ算出する。参照マップ変更判断部２２２は、これらが共に所定の値より大きい場合に、参照マップ２１２を変更可と判断し、そうでない場合に変更不可と判断する。
以上のようにすることで、ユーザが動作を切り返すときのように、カメラの移動速度は遅いがユーザが仮想コンテンツの表示位置の変化に気づきにくいタイミングでマップを切り替えることができる。
【００７１】
＜第５の実施形態＞
次に、第５の実施形態を説明する。第１〜第４の実施形態では、カメラ２０１の視点に基づいて参照マップの変更の可否を判断する場合を例に挙げて説明した。しかしながら、仮想コンテンツの視認性を表す属性が時刻によって変化する場合には、カメラ２０１の視点を使わずに仮想コンテンツの視認性を表す属性のみから参照マップ２１２の変更の可否を判断しても良い。本実施形態では、仮想コンテンツの視認性を表す状態として、任意の時刻における仮想コンテンツの透明度が仮想コンテンツ情報２１５に記述されているときの参照マップ２１２の変更の可否の判断方法の一例を説明する。この場合、仮想コンテンツの透明度が高い場合には、仮想コンテンツの表示位置が変化しても、ユーザは、その変化に気づきにくい。従って、仮想コンテンツの透明度が高いときに、参照マップ２１２を切り替えることでユーザに与える違和感が比較的小さいタイミングでマップを切り替えることができる。
このように本実施形態と第１〜４の実施形態とは、仮想コンテンツ情報２１５の内容や、参照マップ２１２の変更可否を判断する手法が主として異なる。従って、本実施形態の説明において、第１〜第４の実施形態と同一の部分については、図１〜図６に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００７２】
図７は、本実施形態に係る情報処理装置７００および情報処理装置７００を搭載するＭＲシステムのモジュール構成の一例を示す図である。本実施形態では、第１〜３の実施形態における視界情報取得部２２１が、仮想コンテンツ属性取得部７２１に置き換わる。仮想コンテンツ属性取得部７２１は、視界情報管理部２１４から、仮想コンテンツ情報２１５に含まれる仮想コンテンツの属性の値を取得する。
【００７３】
尚、図７では、画像入力部２１０、カメラ位置姿勢管理部２１１、視界情報管理部２１４、および画像描画部２１７が情報処理装置７００内に含まれる場合を例に挙げて示す。しかしながら、これらの少なくとも一部を情報処理装置７００以外の装置（例えばＨＭＤ２００）に含めても良い。
【００７４】
図８は、ＭＲシステムの処理の一例を示すフローチャートである。本実施形態では、第１〜３の実施形態におけるステップＳ３０６の代わりに、ステップＳ８０６が実行される。ステップＳ８０６では、仮想コンテンツ属性取得部７２１は、視界情報管理部２１４から、処理時刻における仮想コンテンツの透明度を仮想コンテンツの属性の値として取得する。
【００７５】
ステップＳ３０７では、参照マップ変更判断部２２２は、ステップＳ８０６で取得された属性の値（透明度）が、所定の値より大きい場合（透明度が所定の値より高い場合）には、参照マップ２１２を変更可と判断し、そうでない場合には、変更不可と判断する。
以上のように本実施形態では、仮想コンテンツの属性のみという限られた情報から、ユーザに与える違和感が小さいタイミングを検出して参照マップ２１２を切り替えることができる。
【００７６】
［変形例５−１］
本実施形態では、仮想コンテンツの視認性を表す属性として、仮想コンテンツの光学的な属性である透明度に基づいて、参照マップ２１２の変更の可否を判断する場合を例に挙げて説明した。しかしながら、仮想コンテンツの視認性を表す属性は、このようなものに限定されない。仮想コンテンツの視認性を表す属性として、仮想コンテンツの幾何的な情報（例えば、仮想コンテンツの世界座標系における移動速度）に基づいて、参照マップ２１２の変更の可否を判断してもよい。ユーザの動きに係わらず仮想コンテンツ自身の動きが激しいときは、参照マップ２１２の変更によって仮想コンテンツの表示位置が変化してもユーザは気づきにくい。従って、仮想コンテンツの世界座標系における移動速度の大きさが所定の値よりも大きい場合に、参照マップを変更可と判断し、そうでない場合に、変更不可と判断する。このようにすることで、ユーザに与える違和感が小さい適切なタイミングで参照マップ２１２を切り替えることができる。
【００７７】
＜第６の実施形態＞
次に、第６の実施形態を説明する。第１〜第５の実施形態では、新しく生成したマップにマップを切り替える場合のマップの変更の可否を判断する場合を例に挙げて説明した。しかしながら、切り替えるマップは必ずしも新しく生成したものである必要はない。例えば、一部にオーバーラップする領域を含む互いに異なる空間を記述した第１のマップと第２のマップとを保持しておく。そして、ＭＲシステムを使用する環境内でユーザが第１のマップで記述された領域から第２のマップで記述された領域に移動する際にマップを切り替える場合においても、前述した各実施形態で説明した方法と同様に、参照マップ２１２の変更の可否を判断できる。このように既存の複数のマップをユーザの行動に合わせて切り替える方式のＭＲシステムにおいても、ユーザに与える違和感が小さいタイミングで参照マップ２１２を切り替えることができる。さらに、第１〜第５の実施形態では、マップを切り替える場合を例に挙げて説明した。しかしながら、前述した各実施形態において、マップを切り替えるタイミングではなく、マップの一部に修正や変更を加える修正処理や変更処理を実施するタイミングを判断するようにしても良い。
【００７８】
＜第７の実施形態＞
次に、第７の実施形態を説明する。本実施形態では、第１〜第５の実施形態で説明した参照マップ２１２の変更の判断方法の何れか２つ以上の判断結果を組み合わせて、参照マップ２１２の変更の可否の最終的な判断をする。こうすることで、ＭＲシステムを使用する状況に応じて、参照マップ２１２の変更の判断方法を調整できる。
【００７９】
具体例を説明すると、以下の手法が挙げられる。第１の実施形態では、カメラ２０１の視野内に仮想コンテンツが含まれていないときに参照マップ２１２を変更する。その他に、仮想コンテンツが視野に含まれている場合でも、第２の実施形態で説明したように、仮想コンテンツの表示位置の移動速度が所定の値よりも大きければ、参照マップ２１２を変更しても良いと判断すべき状況がある。このような状況には、第１の実施形態で説明した判断方法と第２の実施形態で説明した判断方法によるそれぞれの結果の論理和を最終的な判断結果とする。
【００８０】
他の具体例を説明すると、以下の手法が挙げられる。［変形例１−１］で説明したように、仮想コンテンツの表示位置がカメラ２０１の投影面の中央から遠いときに参照マップ２１２を変更する。よりユーザに違和感を与えないために、第２の実施形態で説明したように仮想コンテンツの表示位置の位置速度が大きいことも条件にする状況が考えられる。このような状況では、［変形例１−１］で説明した判断方法と第２の実施形態で説明した判断方法によるそれぞれの結果の論理積を最終的な判断結果とする。同様の方法で第１〜第５の実施形態で説明した他の方法についても論理積や論理和をとることで様々な条件を設定することが可能である。尚、本実施形態を、第６の実施形態に適用しても良い。
以上、複数の判断方法による判断結果を組み合わせることにより、ＭＲシステムを使用する状況に合うように、マップの変更の可否を判断する条件を設定することができる。
【００８１】
＜総括＞
前述した実施形態において、視界情報取得部２２１が取得する視界情報は、カメラ２０１の視点で見た場合の仮想コンテンツの見え方を表す情報であれば良い。第１の実施形態で取得する視界情報として説明したカメラ２０１の位置姿勢、仮想コンテンツの位置姿勢、仮想コンテンツの形状情報、およびカメラ２０１の内部パラメータ２１６の組み合わせはその一例である。［変形例１−２］に説明したように、さらに仮想コンテンツの光学情報を含んだ視界情報でも良い。その場合には、光学情報も併せて考慮することで参照マップ２１２を切り替えるタイミングをより漏れなく検出することができる。
【００８２】
前述した実施形態において、参照マップ変更判断部２２２は、視界情報に基づいて、参照マップ２１２の変更で生じ得る仮想コンテンツの見え方の変化に対してユーザが気づきにくいときに、参照マップ２１２を変更可と判断していれば、その手法は何でも良い。その一例が、視界情報から得られるカメラ２０１の視点からの仮想コンテンツの静的な見え方に基づいてカメラ２０１から仮想コンテンツが見えていない場合に、参照マップ２１２を変更可と判断する手法である。
【００８３】
具体的には第１の実施形態で説明したように、カメラ２０１の視界に仮想コンテンツが含まれない場合に参照マップ２１２を変更可と判断する手法がある。また、［変形例１−１］で説明したように、仮想コンテンツ表示領域が、カメラ２０１で撮像された画像に占める割合が小さい場合に参照マップ２１２を変更可と判断する手法がある。その他の一例が、視界情報から得られるカメラ２０１の視点から見た場合の仮想コンテンツの見え方の変化量が大きい場合に参照マップ２１２を変更可と判断する手法がある。具体的には第２の実施形態で説明したように、カメラ２０１で撮像された画像における仮想コンテンツの表示位置の単位時間当たりの変化量が大きい場合に参照マップ２１２を変更可と判断する手法がある。また、［変形例２−１］で説明したように、カメラ２０１の視点から見た仮想コンテンツの姿勢の単位時間当たりの変化量が大きい場合に参照マップ２１２を変更可と判断する手法がある。その他の一例が、実際にマップに所定の変更を加えることで生じる、カメラ２０１で撮像された画像における仮想コンテンツの見え方の単位時間当たりの変化量を算出し、算出した変化量が小さい場合に参照マップを変更可であると判断する手法である。具体的には第３の実施形態で説明したように、参照マップ２１２を変更することで生じる、カメラ２０１で撮像された画像における仮想コンテンツの表示位置の単位時間当たりの変化量が小さい場合に参照マップ２１２を変更可と判断する手法がある。また、［変形例３−１］で説明したように、参照マップ２１２を変更することで生じる、カメラ２０１で撮像された画像における仮想コンテンツの表示位置の移動方向の変化が小さい場合に、参照マップ２１２を変更可と判断する手法がある。
【００８４】
以上は、視界情報が、カメラ２０１と仮想コンテンツの配置や幾何情報だけで構成される場合の判断方法のバリエーションの一例である。しかしながら、視界情報は、このようなものに限定されない。例えば、視界情報が仮想コンテンツの光学情報を含む場合、［変形例１−２］で説明したようにしても良い。即ち、カメラ２０１で撮像された画像に仮想コンテンツを重畳した際に、当該仮想コンテンツが周囲の背景に溶け込んでいる場合に、参照マップ２１２を変更可と判断しても良い。
【００８５】
参照マップ２１２の変更の可否を判断するために用いる情報は、参照マップ２１２を他のマップに変更する場合に生じる、カメラ２０１で撮像される画像における仮想コンテンツの見え方の変化に対するユーザの気づきにくさを評価する評価指標であれば良い。その一例が、第１〜３の実施形態で説明したように、カメラ２０１の視点で見た場合の仮想コンテンツの見え方を表す情報である。その他の一例が、カメラ２０１の位置姿勢の単位時間当たりの変化が大きい場合に、参照マップ２１２を変更可と判断する手法である。具体的には、第４の実施形態で説明したように、カメラ２０１の位置姿勢の変化の速度の大きさが大きい場合に、参照マップ２１２を変更可と判断する手法がある。また、［変形例４−１］で説明したように、カメラ２０１の位置姿勢の変化の加速度の大きさが大きい場合に、参照マップ２１２を変更可と判断する手法がある。その他の一例が、仮想コンテンツの視認性を表す属性の値である。この場合、仮想コンテンツの視認性が低い場合に、参照マップ２１２を変更可と判断する。
【００８６】
仮想コンテンツの視認性を表す属性の値は、参照マップ２１２の変更によって生じる仮想コンテンツの表示位置の変化に対するユーザの気づきやすさを評価できる値であれば良い。その一例が、第５の実施形態で説明したように、仮想コンテンツの透明度（透明度が高い場合には視認性が低くユーザは仮想コンテンツの表示位置の変化に気づきにくい）である。また、その他の一例が、［変形例５−１］で説明したように、仮想コンテンツ自身の移動速度（仮想コンテンツの移動速度が速いほど視認性が低くユーザは仮想コンテンツの表示位置の変化に気づきにくい）である。
【００８７】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００８８】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が当該コンピュータプログラムを読み出して実行する。
【符号の説明】
【００８９】
１００・４００・５００・７００：情報処理装置、２００：ＨＭＤ
【図１】
0006723743.tif 000002
【図２】
0006723743.tif 000003
【図３】
0006723743.tif 000004
【図４】
0006723743.tif 000005
【図５】
0006723743.tif 000006
【図６】
0006723743.tif 000007
【図７】
0006723743.tif 000008
【図８】
0006723743.tif 000009