(57)【要約】【課題】  本発明は、位置センサーが取り付けられた表示手段に画像を表示させる情報処理装置であって、位置センサーの出力に基づく画像を表示手段に表示させる際に、座標系の設定に起因する不具合を低減させることを目的とする。【解決手段】  本発明は、位置センサーが取り付けられた表示手段に画像を表示させる情報処理装置であって、前記位置センサーのセンサー座標系と前記センサーの座標系とは異なる座標系とのいずれかを選択する選択手段と、前記選択手段で選択された座標系で、前記位置センサーが出力した位置に関する情報を取得する取得手段と前記取得手段で取得された位置に関する情報に基づく画像を、前記表示手段に表示させる制御手段と、を有することを特徴とする。【選択図】  図１
2020052789.tif 000002
【特許請求の範囲】
【請求項１】
位置センサーが取り付けられた表示手段に画像を表示させる情報処理装置であって、
前記位置センサーのセンサー座標系と前記センサーの座標系とは異なる座標系とのいずれかを選択する選択手段と、
前記選択手段で選択された座標系で、前記位置センサーが出力した位置に関する情報を取得する取得手段と、
前記取得手段で取得された位置に関する情報に基づく画像を、前記表示手段に表示させる制御手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記取得手段は、
前記センサーの座標系と前記センサーの座標系とは異なる座標系との間の変換を行うための第一の行列と、前記センサーの座標系と前記表示手段の座標系との間の変換を行うための第二の行列と、の少なくともいずれか一方を用いた変換を行い、前記位置センサーが出力した位置に関する情報を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記取得手段は、
前記選択手段で前記位置センサーのセンサー座標系が選択された場合は、前記第一の行列を用いた変換を行い、前記位置センサーが出力した位置に関する情報を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記表示手段にユーザーインターフェースを表示させ、
前記選択手段は、前記ユーザーインターフェースで設定された設定の情報に基づき、前記選択を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記ユーザーインターフェースはトグルボタンを有し、当該トグルボタンが押下される度に、前記位置センサーのセンサー座標系と前記センサーの座標系とは異なる座標系とが切り替わることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記選択手段は、音声の情報に基づき、前記選択を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記選択手段は、ジェスチャーの認識の結果に基づき、前記選択を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記第一の行列のＸ軸、Ｙ軸、Ｚ軸周りの回転が閾値以上か判定する判定手段と、
前記判定手段が閾値以上と判定した場合は、ユーザーに通知する通知手段と、を有することを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記判定手段が閾値以上と判定した場合は、前記位置センサーのセンサー座標系と前記センサーの座標系とは異なる座標系とが切り替わることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記判定手段は、平面を推定し、
前記位置センサーのセンサー座標系と前記センサーの座標系とは異なる座標系との少なくともいずれか一方のＸＹ面、ＹＺ面、ＸＺ面と、前記推定された平面とのずれを判定することを特徴とする請求項８に記載の情報処理装置。
【請求項１１】
前記平面のずれは、前記位置センサーのセンサー座標系と前記センサーの座標系とは異なる座標系との少なくともいずれか一方のＸ軸、Ｙ軸、Ｚ軸と前記推定された平面と垂直なベクトルのなす角とが、閾値以上か否かを判定することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記情報処理装置は前記表示手段を有し、
前記表示手段の位置姿勢をＣＧデータの位置姿勢として描画し、仮想的な視点から仮想現実空間の画像を生成して、表示装置に表示することを特徴とする請求項１に記載の情報処理装置。
【請求項１３】
前記表示手段はＨＭＤであり、
前記ＨＭＤは、前記ＨＭＤの位置を仮想的な視点としたＣＧの画像を表示することを特徴とする請求項１に記載の情報処理装置。
【請求項１４】
前記ＨＭＤは撮像装置を有し、
前記ＨＭＤは、前記ＨＭＤの位置を仮想的な視点としたＣＧの画像と、前記撮像装置から得られた画像とを合成して、表示することを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記情報処理装置は、警告の範囲を設定し、
前記表示手段の位置を用いて、前記表示手段が警告の範囲に入ったかどうかを判定する判定手段と、
前記判定手段が前記警告の範囲に前記表示手段が入ったと判定した場合は、ユーザーに警告を通知する通知手段とを有することを特徴とする請求項１に記載の情報処理装置。
【請求項１６】
位置センサーが取り付けられた表示手段に画像を表示させる情報処理方法であって、
前記位置センサーのセンサー座標系と前記センサーの座標系とは異なる座標系とのいずれかを選択する選択工程と、
前記選択手段で選択された座標系で、前記位置センサーが出力した位置に関する情報を取得する取得工程と、
前記取得手段で取得された位置に関する情報に基づく画像を、前記表示手段に表示させる制御工程と、を有することを特徴とする情報処理方法。
【請求項１７】
コンピュータを、
位置センサーが取り付けられた表示手段に画像を表示させる情報処理装置であって、
前記位置センサーのセンサー座標系と前記センサーの座標系とは異なる座標系とのいずれかを選択する選択手段と、
前記選択手段で選択された座標系で、前記位置センサーが出力した位置に関する情報を取得する取得手段と、
前記取得手段で取得された位置に関する情報に基づく画像を、前記表示手段に表示させる制御手段と、を有することを特徴とする情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置センサーが取り付けられた表示手段に画像を表示させる情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
現実世界と仮想世界とをリアルタイムに融合させる技術として、複合現実感（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）技術や拡張現実感（ＡＲ：Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）技術が知られている。これらの技術は、現実空間とコンピュータによって作られる仮想空間を繋ぎ目なく融合する技術である。これらは、組み立て作業時に作業手順や配線の様子を重畳表示する組み立て支援、患者の体表面に体内の様子を重畳表示する手術支援等、様々な分野への応用が期待される。
【０００３】
ＭＲ技術を実現する上で解決しなければならない大きな問題の一つとして、現実空間と仮想空間の位置合わせをいかに正確に行うかということがあり、従来から多くの取り組みが行われている。複合現実感における位置合わせの問題は、現実空間に設定した世界座標系（以後、単に世界座標系と呼ぶ）における、物体の３次元位置姿勢を求める問題に帰結される。これらの問題を解決する方法として、磁気式センサーや光学式センサーなどの位置姿勢センサーを利用することが一般に行われている。一般的に位置姿勢センサーが出力する値はセンサーが独自に定義するセンサー座標系における計測された点の位置姿勢であって、世界座標系における物体の位置姿勢ではない。そのため、センサー出力値を世界座標系における物体の位置姿勢に変換する座標変換が必要になる。本発明ではこの座標変換のための情報を較正情報と呼ぶ。
【０００４】
特許文献１では較正情報を特別な較正用器具を用いることなく取得している。具体的には撮影した画像から検出できる特徴点を現実空間に手動で設定し、それを世界座標系の既知の座標として利用して較正情報を取得する。この特徴点は紙などに印刷した平面の指標であり、この指標を床面などにおいて床面を世界座標系の平面として利用することがある。
【０００５】
また、世界座標系における物体の位置姿勢を較正によって算出するソフトウェアが出力した位置姿勢を受け取るのとは別に独自にセンサーの座標系におけるセンサー出力値を用いて、複合現実空間を構築するソフトウェアがある。これを複合システムと呼ぶ。この複合システムにおいて、センサー座標系に統一された座標系を使う必要がある。そこで特許文献２では世界座標系とセンサー座標系を統一で使うための指標を作成している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許０４０９５３２０号公報
【特許文献２】特許０６２９５２９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
紙に印刷された指標を基に較正されて決定した世界座標系は、紙であるために歪み、現実空間との床面に対して傾きが出る場合がある。世界座標系に傾きがあると、仮想現実空間では床面にずれなく配置したＣＧが複合現実空間で見ると現実空間の床面に食い込んでいるように見えたり、床面から浮いて見えたりしてしまうことがある。そのため、現実空間と誤差がない座標系が世界座標系である必要がある。この微妙な傾きを手動で調整することは時間がかかり、正確に調整することも難しいという課題がある。
【０００８】
また、特許文献２においては特別な較正用器具が必要になり、較正用器具が紙などに印刷された場合には、上記のように世界座標系が現実空間との床面に対して傾いてしまうという課題がある。
【０００９】
上記課題を鑑みて、本発明は、位置センサーが取り付けられた表示手段に画像を表示させる情報処理装置であって、位置センサーの出力に基づく画像を表示手段に表示させる際に、座標系の設定に起因する不具合を低減させることを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、位置センサーが取り付けられた表示手段に画像を表示させる情報処理装置であって、前記位置センサーのセンサー座標系と前記センサーの座標系とは異なる座標系とのいずれかを選択する選択手段と、前記選択手段で選択された座標系で、前記位置センサーが出力した位置に関する情報を取得する取得手段と、前記取得手段で取得された位置に関する情報に基づく画像を、前記表示手段に表示させる制御手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、位置センサーが取り付けられた表示手段に画像を表示させる情報処理装置であって、位置センサーの出力に基づく画像を表示手段に表示させる際に、座標系の設定に起因する不具合を低減させることが出来る。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係る情報処理装置の構成を示す機能ブロック図
【図２】第１の実施形態に係る較正情報を示す図
【図３】第１の実施形態に係るユーザーインターフェースを示す図
【図４】情報処理装置１０００の各機能部の動作を示すフローチャート
【図５】第１の実施形態におけるハードウェア構成例を示す図。
【図６】第２の実施形態に係る情報処理装置の構成を示す機能ブロック図
【図７】第２の実施形態に係る情報処理装置６０００の処理手順を示すフローチャート
【図８】第３の実施形態に係る情報処理装置１０００の処理手順を示すフローチャート
【図９】第４の実施形態に係る情報処理装置１０００の処理手順を示すフローチャート
【発明を実施するための形態】
【００１３】
（第一の実施形態）
以下、添付図面を参照して本実施形態について説明する。
【００１４】
本実施形態においては、ユーザーがディスプレイでＣＧを観察する場合において、位置姿勢センサーもしくは位置センサーを装着したディスプレイの位置姿勢または位置を、予め計算された較正情報とユーザーによって設定された座標系を基に推定する。推定された位置姿勢または位置をユーザーの視点としてＣＧを描画する。また、ディスプレイはただの物体であってもよい。その場合、仮想的な視点を用意し、推定された物体の位置姿勢または位置に基づいてＣＧを描画してもよい。そして、ＣＧが描画された画像をディスプレイに表示させるようにしてもよい。さらに、ディスプレイは撮像装置を備えており、ディスプレイの位置姿勢で撮像された画像とＣＧの画像と合成して合成画像を表示してユーザーが複合現実空間を体験できるようにしてもよい。本実施形態において、位置姿勢とは位置を表す３個のパラメーターと、その姿勢（向き）を表す３個のパラメーターとを合わせた６個のパラメーターのセットをいう。また特別に記載しない限り、位置姿勢は位置だけでもよい。
【００１５】
第１の実施形態に係る情報処理装置は、位置姿勢センサーが装着されたディスプレイの位置姿勢推定を行う手法において、センサーから出力されるセンサー座標系における位置姿勢値を取得する。その後、前もって算出されたセンサー座標系から世界座標系へと変換する較正情報を用いる。そして、ユーザーの設定に応じてセンサー座標系もしくは世界座標系のいずれか一方を切り替えて位置姿勢を推定し、ＣＧを描画した画像をディプレイに表示する。
【００１６】
図５は、本実施形態における情報装置１０００のハードウェア構成図である。同図において、ＣＰＵ４００１は、バス４０１０を介して接続する各デバイスを統括的に制御する。ＣＰＵ４００１は、読み出し専用メモリ（ＲＯＭ）４００３に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム（ＯＳ）をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はＲＯＭ４００３に記憶されており、ランダムアクセスメモリ（ＲＡＭ）４００２に一時記憶され、ＣＰＵ４００１によって適宜実行される。また、入力Ｉ／Ｆとしてキーボード４００４やマウス４００５は、外部の装置（表示装置や操作装置など）から情報処理装置１０００で処理可能な形式で入力信号として入力する。また、出力Ｉ／Ｆ４００９は、外部の装置（表示装置）へ表示装置が処理可能な形式で出力信号として出力する。
【００１７】
図１は、本実施形態に係る情報処理装置１０００の構成図である。
【００１８】
情報処理装置１０００は、較正情報取得部１０１０、センサー値取得部１０２０、座標変換設定部１０３０、位置姿勢推定部１０４０、ＣＧデータ描画部１０５０、によって構成される。情報処理装置１０００は、ディスプレイ２００と位置姿勢センサーシステム３０００に接続されている。本実施形態ではディスプレイ２００に有線または無線で接続されている。ディスプレイ２００は、ＨＭＤ（ヘッドマウントディスプレイ）であり、ＣＧデータ描画部１０５０で描画されたＣＧデータを表示する。ディスプレイ２００は、液晶ディスプレイであっても有機ＥＬディスプレイであってもよく、ＣＧが描画された画像を表示できるものであればどのような形態であってもかまわない。また前述のようにＨＭＤにはセンサー３０２０が装着され、センサー３０２０の位置姿勢と、後述する較正情報を基にディスプレイ２００の位置姿勢を推定する。推定されたディスプレイ２００の位置姿勢を仮想的な視点として、ＣＧを描画しディスプレイに表示することで仮想現実空間をユーザーが体験できるようにする。さらにＨＭＤは撮像装置を備え、ＣＧが描画された画像と撮像装置で撮像された画像を合成した合成画像を生成し、ディスプレイ２００に表示することで複合現実空間をユーザーが体験できるようにしてもよい。
【００１９】
較正情報保持部４００は、較正情報を保持している。この較正情報に関して、図２を用いて説明する。まず、環境中の一点を原点として定義し、互いに直交する３軸を夫々Ｘ軸、Ｙ軸、Ｚ軸として定義した座標系を世界座標系７０１０と呼ぶ。また、ディスプレイ２００の中心を原点とし、互いに直交する３軸を夫々Ｘ軸、Ｙ軸、Ｚ軸として定義した座標系をディスプレイ座標系７０３０と呼ぶ。較正情報は世界座標系７０１０における後述するセンサー座標系７０２０の位置姿勢の変換行列であるＭＴＷと、センサーの測点７０４０からみたディスプレイ座標系７０３０の位置姿勢の変換行列であるＭＣＳで構成される。センサーの測点７０４０をディスプレイ座標系７０３０として用いる場合はセンサーの測点７０４０からみたディスプレイ座標系７０３０の位置姿勢ＭＣＳの情報は不要である。これらの較正情報は特許文献１の方法を用いて算出することができる。特許文献１の方法を用いて算出するためには前述したセンサーが装着されたディスプレイ２００は撮像装置を備える必要がある。この較正情報は特許文献１の手法を用いてもよいし、それ以外の方法で算出されてもよい。
【００２０】
較正情報取得部１０１０は、予め校正された情報を較正情報保持部４００から取得する。この較正情報は位置姿勢推定部１０４０に出力する。
【００２１】
センサー値取得部１０２０は位置姿勢センサーシステム３０００から計測されたセンサー座標系におけるセンサーの測点７０４０の位置姿勢ＭＳＴを計測対象として連続的に取得する。位置姿勢センサーシステム３０００は位置センサーシステムでもよい。例えば、位置姿勢センサーシステム３０００が磁界センサーシステムの場合、磁界センサーシステムにおけるセンサー３０２０は計測対象として、位置姿勢を推定するディスプレイ２００に装着され、自身の位置姿勢を計測する。トランスミッター３０１０は、磁界センサーシステムにおけるトランスミッターとして機能するもので、現実空間中の所定の位置に固定して配置されており、自身の周囲に磁界を発生させる。トランスミッター３０１０の動作制御はコントローラー３０３０によって行われ、コントローラー３０３０の動作制御は情報処理装置１０００によって行われる。センサー３０２０は、トランスミッター３０１０が発生する磁界中における自身の位置姿勢に応じた磁界の変化を計測し、その計測結果をコントローラー３０３０に対して送出する。コントローラー３０３０は、この計測結果から、センサー座標系７０２０におけるセンサー３０２０の位置姿勢を示す信号値を生成して情報処理装置１０００に送出する。センサー座標系７０２０とは、トランスミッター３０１０の位置を原点とし、その原点でもって互いに直交する３軸をそれぞれ、Ｘ軸、Ｙ軸、Ｚ軸とする座標系である。なお、磁界センサーシステムの代わりに、超音波センサーシステムや光学式センサーシステムを用いても構わないし、これらのシステムを組み合わせて使用しても構わない。光学式センサーの場合には、上記センサーは計測対象として球状の反射マーカーでもよい。その他にも、上記センサーはセンサー座標系で定義された測点の位置姿勢を取得できればなんでもよい。取得されたセンサー座標系におけるセンサーの測点７０４０の位置姿勢ＭＳＴは位置姿勢推定部１０４０に出力する。
【００２２】
操作入力部６００はユーザーからの操作を受け付けるボタンである。ボタンでなくても、マイクによって音声を取得してもよいし、ジェスチャーを認識するなどユーザーからの操作を受け付けることができればなんでもよい。
【００２３】
座標変換設定部１０３０は位置姿勢推定部１０４０が出力するディプレイ２００の位置姿勢をセンサー座標系で出力するか、世界座標系で出力するかを決定する。決定方法は操作入力部６００からの入力でユーザーがグラフィカルユーザーインターフェースを利用して設定できるようにする。ユーザーは世界座標系が現実空間に合っておらず傾いていて、その傾きが調整できない場合、より現実空間に適している座標系を選択する必要がある。または、ソフトウェアの構成によりセンサー座標系におけるディスプレイ座標系７０３０の位置姿勢が取得できるように設定したい場合もある。そのため、ユーザーが設定できるようにユーザーインターフェースを設ける。例えばユーザーインターフェースはグラフィカルユーザーインターフェースでもよい。例えばグラフィカルユーザーインターフェースは図３に示すようにトグルボタン４０１０を持ち、そのトグルボタン４０１０を押下すると文章が切り代わるようにしてもよい。トグルボタン４０１０の文章は一例であり、どの座標系が設定されているかがわかればどのような文章でもよい。また文章に限らずアイコンなどで表現したボタンでもよい。また、ユーザーインターフェースはグラフィカルユーザーインターフェース４０００に限らずユーザーが音声で設定できるようにしてもよいし、ＨＭＤにボタンを設けてそのボタンによって切り替えられるようにしてもよい。ユーザーの設定に応じて世界座標系かセンサー座標系が切り替わり、ディスプレイ座標系７０３０の位置姿勢は設定した座標系で位置姿勢推定部１０４０が位置姿勢を求め、出力する。切り替えした座標系情報を位置姿勢推定部１０４０に出力する。
【００２４】
位置姿勢推定部１０４０はディスプレイ座標系７０３０の位置姿勢が世界座標系７０１０で出力する設定の場合は式（Ａ）を用いて世界座標系７０１０におけるディスプレイ座標系７０３０の位置姿勢ＭＣＷを求めることができる。
ＭＣＷ  ＝  ＭＣＳ・ＭＳＴ・ＭＴＷ  式（Ａ）
また、座標変換設定部１０３０がディスプレイ座標系７０３０の位置姿勢をセンサー座標系７０２０で出力する設定をした場合は式（Ｂ）もしくは式（Ｃ）を用いてセンサー座標系７０２０でディスプレイ座標系７０３０の位置姿勢を求めることができる。
ＭＣＴ  ＝  ＭＣＷ・ＭＴＷ−１  式（Ｂ）
ＭＣＴ  ＝  ＭＣＳ・ＭＳＴ      式（Ｃ）
上記式（Ａ）、式（Ｂ）もしくは式（Ｃ）を用いて求められたディスプレイ座標系７０３０の位置姿勢はＣＧデータ描画部１０５０に出力する。
【００２５】
ＣＧデータ保持部５００は、描画するＣＧデータを保持している。ＣＧデータの形式はＣＧ画像としてレンダリングできるものであれば何でもよく形式は問わない。
【００２６】
ＣＧデータ描画部１０５０は、ＣＧデータ保持部５００から描画するべきＣＧデータを取得し、位置姿勢推定部１０４０によって出力されたディスプレイ座標系７０３０の位置姿勢を仮想カメラの位置姿勢としてセットし、ＣＧデータを描画する。ＣＧデータの位置姿勢が世界座標系で保持されていた場合で、位置姿勢推定部１０４０の位置姿勢がセンサー座標系で出力されている場合には、ＣＧデータの位置姿勢もセンサー座標系に変換する必要がある。これはＣＧデータの位置姿勢ＭＣＧデータに前述のＭＴＷをかけるＭＴＷ・ＭＣＧデータを求めればよい。このＣＧデータを描画し、仮想現実空間画像を生成してユーザーに提示することで、仮想現実感（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）を実現することができる。また、ディスプレイ２００が撮像装置を備え、取得した画像の上にＣＧデータを合成して描画し合成画像をユーザーに提示することで、複合現実感（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）を実現することができる。このように生成された画像をディスプレイ２００に出力する。
【００２７】
次に、第１の実施形態に係る情報処理装置１０００の処理手順について説明する。図４は、第１の実施形態に係る情報処理装置１０００の処理手順を示すフローチャートである。
【００２８】
ステップＳ８０１０において、センサー値取得部１０２０は、センサー座標系におけるセンサーの測点７０４０の位置姿勢ＭＳＴを取得する。取得した情報を位置姿勢推定部１０４０に出力する。
【００２９】
ステップＳ８０２０において、較正情報取得部１０１０は、較正情報である世界座標系７０１０におけるセンサー座標系７０２０の位置姿勢ＭＴＷと、センサーの測点７０４０からみたディスプレイ座標系７０３０の位置姿勢ＭＣＳを取得する。取得した情報を位置姿勢推定部１０４０に出力する。
【００３０】
ステップＳ８０３０において、座標変換設定部１０３０はユーザーが設定した世界座標系における位置姿勢を推定するか、センサー座標系における位置姿勢を推定するかのどちらかを位置姿勢推定部１０４０に出力する。
【００３１】
ステップＳ８０４０において、ステップＳ８０３０で設定された座標系におけるディスプレイ座標系７０３０の位置姿勢ＭＣＷかＭＣＴをＣＧデータ描画部１０５０に出力する。
【００３２】
ステップＳ８０５０において、ＣＧデータ保持部５００から描画するべきＣＧデータを取得し、位置姿勢推定部１０４０によって出力されたディスプレイ座標系７０３０の位置姿勢を仮想カメラの位置姿勢としてセットし、ＣＧデータを描画する。ＣＧデータのみを描画する場合には、仮想現実感（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）を実現することができる。またディスプレイ２００が撮像装置を備え、撮像装置が取得した画像の上にＣＧデータを合成して描画し合成画像をユーザーに提示することで、複合現実感（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）を実現することもできる。
【００３３】
ステップＳ８０６０で、処理を終了する場合には本フローを終了し、継続する場合には、ステップＳ８０１０に処理を戻す。
【００３４】
以上のように、ユーザーがディスプレイでＣＧを観察する場合において、位置姿勢センサーもしくは位置センサーを装着したディスプレイの位置姿勢を、予め計算された較正情報とユーザーが設定した座標系を基に推定する。これにより、ユーザーはより現実空間に合った座標系を用いることができる。
【００３５】
（第二の実施形態）
第一の実施形態では、推定されたディスプレイの位置姿勢を用いてＣＧを描画し仮想現実感を実現した。しかし、ディスプレイの位置姿勢を用いて実現できることはＣＧ描画に限らない。本実施形態では、ディスプレイの位置姿勢を用いて、危険場所にユーザーが近づいたら警告を表示する。
【００３６】
以下では、第一の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第一の実施形態と同様であるものとする。
【００３７】
本実施形態に係るシステムの構成例について、図６のブロック図を用いて説明する。情報処理装置６０００は、図１の情報処理装置１０００に警告判定部６０１０と警告データ保持部７００を加えた構成を有する。警告データ保持部７００は警告データである世界座標系７０１０における座標点と危険範囲が定義されたデータを複数保持している。
【００３８】
警告判定部６０１０は警告データ保持部７００から警告データを複数取得する。また、位置姿勢推定部１０４０から出力されたディスプレイ座標系７０３０の位置姿勢を取得する。この世界座標系におけるディスプレイ座標系７０３０の位置姿勢が警告データから算出される警告範囲に入っている場合は警告を表示することをＣＧデータ描画部６０２０に出力する。警告範囲は警告データの座標点Ｗ（ｘ、ｙ、ｚ、１）と座標点を中心に半径ｒ［ｍ］以内で定義される。この範囲にディスプレイ座標系７０３０の位置姿勢が入っている場合はＣＧデータ描画部６０２０に警告を表示することを出力する。
【００３９】
ディスプレイ座標系７０３０の位置姿勢がセンサー座標系における位置姿勢の場合は座標点Ｗ（ｘ、ｙ、ｚ、１）にＭＴＷをかけた後で、計算後の座標点Ｗを中心に半径ｒ［ｍ］以内に位置姿勢が入っているかを判定する。入っている場合はＣＧデータ描画部６０２０に警告を表示することを出力する。
【００４０】
ＣＧデータ描画部６０２０は、ＣＧデータ描画部１０５０と同様にＣＧデータ保持部５００から描画するべきＣＧデータを取得する。その後、位置姿勢推定部１０４０によって出力されたディスプレイ座標系７０３０の位置姿勢を仮想カメラの位置姿勢としてセットし、ＣＧデータを描画する。さらに警告判定部６０１０から警告を表示することが出力されている場合は、ディスプレイに警告を表す文章やアイコンを表示する。これにより、ユーザーは危険場所に近づいていることがすぐにわかるようになる。警告は文章やアイコン表示だけではなく、音や音声、振動などで伝えてもよい。
【００４１】
本実施形態では、図７は、第２の実施形態に係る情報処理装置６０００の処理手順を示すフローチャートである。Ｓ９０１０では、警告判定部６０１０でディスプレイ座標系７０３０が警告範囲に入っているかどうかを判定する。入っている場合はＳ９０２０に移動する。入っていない場合はＳ８０５０に移動する。Ｓ９０２０では、ＣＧデータ描画部６０２０はＣＧデータと警告を表す文言やアイコンを表示する。以上のように、ディスプレイが警告範囲に入っていた場合にはユーザーに危険を知らせることができる。ディスプレイがＨＭＤの場合には視野が狭く、ユーザーが危険に気付かない可能性が高い。これにより、ＨＭＤを装着した状態でもユーザーが危険な状態になることを避けることができる。
【００４２】
（第三の実施形態）
第一および第二の実施形態では、ユーザーが設定することによってディスプレイの位置姿勢を世界座標系で推定するか、センサー座標系で推定するかを決定して、仮想現実空間を体験できるようにした。しかし、ユーザーが座標系を意識して設定しなければならないのは手間である。本実施形態では設定されている座標系が現実空間に合っていない可能性がある場合はユーザーに通知する。
【００４３】
以下では、第一の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第一の実施形態と同様であるものとする。
【００４４】
位置姿勢推定部１０４０は第１の実施形態と同様にユーザー設定に応じて座標系におけるディスプレイ座標系７０３０の位置姿勢を推定する。さらに、本実施形態ではユーザーが設定した座標系が現実空間に合っているかを判定して、合っていない場合はＣＧデータ描画部１０５０に合っていない可能性があることを出力する。現実空間に合っているかの判定について以下に記述する。まず世界座標系もしくはセンサー座標系は現実空間の床面や壁面などに設定されることを仮定する。そのような中で世界座標系７０１０におけるセンサー座標系７０２０の位置姿勢ＭＴＷのＸ軸、Ｙ軸、Ｚ軸周りのどれかの回転が９０×Ｚ度±閾値（Ｚは整数）以上の場合、世界座標系、センサー座標系のどちらかが現実空間の面に対して誤差があると考えられる。そのため、ＣＧデータ描画部１０５０に現在の座標系が現実空間に合っていない可能性があることを出力する。前述の閾値はユーザーが前もって設定する。
【００４５】
また、現実空間に合っているかどうかを判定する方法は上記以外の方法でもよい。例えば、被写体の距離情報を取得可能な深度カメラによって平面推定を行い、その平面に対して現在設定されている座標系の面がずれているかどうかを判定することによって現実空間に合っているかどうかを決定してもよい。この判定には深度カメラも位置姿勢センサーを装着し、特許文献１の手法を用いて深度カメラの較正情報を算出する必要がある。深度カメラの世界座標における位置姿勢を求めた後で、世界座標系における平面を推定し、設定されている座標系のＸＹ面、ＹＺ面、ＸＺ面とのずれを判定する。このずれは平面と垂直なベクトルと設定された座標系のＸ軸、Ｙ軸、Ｚ軸夫々のなす角が閾値以上かどうかを判定することでずれを判定する。閾値以上であれば、ＣＧデータ描画部１０５０に現在設定されている座標系が現実空間に合っていない可能性があることを出力する。
【００４６】
ＣＧデータ描画部１０５０は第１の実施形態と同様にＣＧデータの描画を行う。さらに、本実施形態では位置姿勢推定部１００１０が現実空間に現在の座標系が合っていないと判定したことを出力している場合は、ディスプレイに出力するＣＧデータを描画した画像に「現在の座標系を確認してください。」という文言を合成して出力する。この文言はユーザーが座標系を確認するよう促すことであればどのようなものであって良い。例えば、アイコンなどの画像を表示してもよいし、音や音声で通知してもよい。ここで、一度ユーザーが確認したことを操作入力部６００により入力済みの場合には文言を出力しなくてもよい。
【００４７】
本実施形態では、図８は、第３の実施形態に係る情報処理装置１０００の処理手順を示すフローチャートである。
【００４８】
Ｓ１００１０では位置姿勢推定部１０４０はユーザーが設定した座標系が現実空間に合っているか判定する。現実空間に合っていないと判定された場合にはＳ１００２０に移動する。そうでない場合はＳ８０５０に移動する。
【００４９】
Ｓ１００２０ではＣＧデータ描画部１０５０はＣＧデータと座標系を確認することを促す文言やアイコンを描画する。
【００５０】
以上のように、設定されている座標系が現実空間と誤差がある可能性がある場合はユーザーに通知することができる。これにより、ユーザーは設定された座標系が正しいかどうかを気にせずに、ユーザーがディスプレイを通してＣＧの観察を開始できる。問題があった場合には通知されるため、ユーザーはその時に設定を確認するだけでよい。
【００５１】
（第四の実施形態）
第三の実施形態では、設定されている世界座標系が現実空間に合っていない可能性がある場合はユーザーに通知した。しかし、ユーザーが座標系を設定しなければならないのは手間である。本実施形態では設定されている座標系が現実空間に合っていない場合は自動で切り替える。
【００５２】
以下では、第１の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第１の実施形態と同様であるものとする。
【００５３】
位置姿勢推定部１０４０は前述の方法でユーザーが設定した座標系が現実空間に合っているかを判定する。合っていない場合は自動的に座標系を現在の設定以外の座標系に切り替える。例えば、世界座標系が設定されている場合には世界座標系からセンサー座標系に切り替える。反対にセンサー座標系が設定されている場合には世界座標系に切り替える。その際にすでに自動切換え済みの場合は、現実空間に合っているかの判定に関わらず切り替えなくてもよい。その後、決定した座標系に基づくディスプレイ座標系７０３０の位置姿勢をＣＧデータ描画部１０５０に出力する。また自動で座標系の切り替えが実施されている場合には切替済みであることもＣＧデータ描画部１０５０に通知する。
【００５４】
ＣＧデータ描画部１０５０は第１の実施形態と同様にＣＧデータの描画を行う。さらに、位置姿勢推定部１０４０が自動で座標系を切り替えたことを出力している場合は、ディスプレイに「設定した座標系（世界座標系）がセンサー座標系に切り替わりました。」という文言を合成して出力する。この文言は座標系が自動的に切り替わったことをユーザーが理解できるようになっていればどのようなものであって良い。例えば、アイコンなどの画像を表示してもよいし、音や、音声、振動で通知してもよい。ここで、一度ユーザーが確認したことを操作入力部６００により入力済みの場合には文言を出力しなくてもよい。
【００５５】
本実施形態では、図９は、第４の実施形態に係る情報処理装置１０００の処理手順を示すフローチャートである。
【００５６】
Ｓ１１０１０では位置姿勢推定部１０４０はユーザーが設定した座標系が現実空間に合っているか判定する。現実空間に合っていないと判定された場合にはＳ１１０２０に移動する。そうでない場合はＳ８０４０に移動する。
【００５７】
Ｓ１１０２０では位置姿勢推定部１０４０は現在設定されている座標系とは異なる座標系に自動的に切り替える。
【００５８】
Ｓ１１０３０ではＣＧデータ描画部１０５０が位置姿勢推定部１０４０から座標系が自動で切り替わったかどうかを受け取る。自動で切り替わっていた場合にはＳ１１０４０に移動する。そうでない場合はＳ８０５０に移動する。
【００５９】
Ｓ１１０４０ではＣＧデータ描画部１０５０が自動で座標系が切り替わったこととＣＧデータの描画を行う。
【００６０】
以上のように、設定されている座標系が現実空間と誤差がある場合には、自動的に座標系を切り替えることができる。これにより、ユーザーは座標系の設定を意識することなく、ＣＧの観察をすることができる。
【００６１】
（他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2020052789.tif 000003
【図２】
2020052789.tif 000004
【図３】
2020052789.tif 000005
【図４】
2020052789.tif 000006
【図５】
2020052789.tif 000007
【図６】
2020052789.tif 000008
【図７】
2020052789.tif 000009
【図８】
2020052789.tif 000010
【図９】
2020052789.tif 000011