(57)【特許請求の範囲】
【請求項１】
ユーザが装着する表示装置に仮想物体を含む仮想画像を表示させる情報処理装置であって、
前記仮想物体を観察するための前記ユーザの第１視点位置を、三次元空間における前記表示装置の位置に基づいて表す三次元位置情報を保持する視点位置保持手段と、
前記三次元空間における前記表示装置の現在の位置に基づいて表される、前記ユーザの第２視点位置の三次元位置情報を取得する視点位置取得手段と、
前記第１視点位置を表す三次元位置情報のうち高さ成分以外の成分と、前記第２視点位置を表す三次元位置情報のうち高さ成分とに基づいて、前記仮想物体を観察するための前記ユーザの第３視点位置を設定する設定手段と、
前記設定された第３視点位置に基づいて仮想物体を含む仮想画像を生成する生成手段と、
前記生成された仮想画像を前記表示装置に表示させる表示制御手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記設定手段は、予め前記保持手段に保持された前記第１視点位置のうち、操作装置を用いて選択された第１視点を表す三次元位置情報を使って、前記第３視点位置を設定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
更に、前記第２視点位置を表す三次元位置情報と前記第１視点位置を表す三次元位置情報について、成分ごとの差分量を算出する算出手段を備え、
前記設定手段は、前記第２視点位置を表す三次元位置情報のうち前記高さ成分以外の成分を、算出された前記差分量だけ変化させることにより、前記第３視点位置の三次元位置情報を設定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
更に、撮像手段により現実空間を撮像した撮像画像を取得する撮像画像取得手段を備え、
前記視点位置取得手段は、前記撮像画像から抽出される特徴情報を使って計測された前記三次元空間における前記表示装置の位置に基づいて表される前記第２視点位置を取得することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記視点位置取得手段は、磁気センサまたは赤外光を用いたセンサまたは超音波または奥行きセンサを使って計測された前記三次元空間における前記表示装置の位置に基づいて表される前記第２視点位置を取得することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
更に、前記設定された第３視点位置に基づいて、前記ユーザとは異なる他のユーザの視点位置を変更する変更手段を備えることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
ユーザが装着する表示装置に仮想物体を含む仮想画像を表示させる情報処理装置であって、
前記仮想物体を観察するための前記ユーザの第１視線方向を、三次元空間における前記表示装置の向きに基づいて表す三次元の回転角情報を保持する視線方向保持手段と、
前記三次元空間における前記表示装置の現在の向きに基づいて表される、前記ユーザの第２視線方向を取得する視線方向取得手段と、
前記第１視線方向を表す三次元の回転角情報のうちヨー軸まわりの成分と、前記第２視線方向を表す三次元の回転角情報のうちヨー軸まわりの成分以外の成分とに基づいて、仮想物体を観察するための前記ユーザの第３視線方向を設定する設定手段と、
前記設定された第３視線方向に基づいて仮想物体を含む仮想画像を生成する生成手段と、
前記生成された仮想画像を前記表示装置に表示させる表示制御手段とを備えることを特徴とする情報処理装置。
【請求項８】
前記ヨー軸は、前記三次元空間の重力方向に沿った軸であることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記設定手段は、予め前記保持手段に保持された前記第１視線方向から、操作装置を用いて選択された第１視線方向を表す三次元の回転角情報を使って、前記第３視線方向を設定することを特徴とする請求項７または８に記載の情報処理装置。
【請求項１０】
更に、前記第２視線方向を表す三次元の回転角情報と前記第１視線方向を表す三次元の回転角情報について、回転角ごとに成分の差分量を算出する算出手段を備え、
前記設定手段は、前記第２視線方向を表す三次元の回転角情報のうち前記ヨー軸まわりの成分を、前記差分量だけ変化させることにより、前記第３視線方向を設定することを特徴とする請求項７乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
更に、撮像手段により現実空間を撮像した撮像画像を取得する撮像画像取得手段を備え、
前記視線方向取得手段は、前記撮像画像から抽出される特徴情報を使って計測された前記三次元空間における前記表示装置の向きに基づいて表される前記第２視線方向を取得することを特徴とする請求項７乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記視線方向取得手段は、磁気センサまたは赤外光を用いたセンサまたは超音波または奥行きセンサを使って計測された前記三次元空間における前記表示装置の向きに基づいて表される前記第２視線方向を取得することを特徴とする請求項７乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
更に、前記設定された第３視線方向に基づいて、前記ユーザとは異なる他のユーザの視線方向を変更する変更手段を備えることを特徴とする請求項７乃至１１のいずれか１項に記載の情報処理装置。
【請求項１４】
前記表示装置は、光学シースルー型の表示装置であることを備えることを特徴とする請求項１乃至１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記表示装置は、ビデオシースルー型の表示装置であることを備えることを特徴とする請求項１乃至１３のいずれか１項に記載の情報処理装置。
【請求項１６】
前記表示装置は、頭部装着型表示装置であることを特徴とする請求項１乃至１３のいずれか１項に記載の情報処理装置。
【請求項１７】
ユーザが装着する表示装置に仮想物体を含む仮想画像を表示させる情報処理方法であって、
前記仮想物体を観察するための前記ユーザの第１視点位置を、三次元空間における前記表示装置の位置に基づいて表す三次元位置情報を保持手段に保持する視点位置保持工程と、
前記三次元空間における前記表示装置の現在の位置に基づいて表される、前記ユーザの第２視点位置の三次元位置情報を取得する視点位置取得工程と、
前記第１視点位置を表す三次元位置情報のうち高さ成分以外の成分と、前記第２視点位置を表す三次元位置情報のうち高さ成分とに基づいて、前記仮想物体を観察するための前記ユーザの第３視点位置を設定する設定工程と、
前記設定された第３視点位置に基づいて仮想物体を含む仮想画像を生成する生成工程と、
前記生成された仮想画像を前記表示装置に表示させる表示制御工程とを備えることを特徴とする情報処理方法。
【請求項１８】
ユーザが装着する表示装置に仮想物体を含む仮想画像を表示させる情報処理方法であって、
前記仮想物体を観察するための前記ユーザの第１視線方向を、三次元空間における前記表示装置の向きに基づいて表す三次元の回転角情報を保持手段に保持する視線方向保持工程と、
前記三次元空間における前記表示装置の現在の向きに基づいて表される、前記ユーザの第２視線方向を取得する視点位置取得工程と、
前記第１視線方向を表す三次元の回転角情報のうちヨー軸まわりの成分と、前記第２視線方向を表す三次元の回転角情報のうちヨー軸まわりの成分以外の成分とに基づいて、前記仮想物体を観察するための前記ユーザの第３視線方向を設定する設定工程と、
前記設定された第３視線方向に基づいて仮想物体を含む仮想画像を生成する生成工程と、
前記生成された仮想画像を前記表示装置に表示させる表示制御工程とを備えることを特徴とする情報処理方法。
【請求項１９】
コンピュータを、請求項１乃至１６のいずれか１項に記載の情報処理装置の各手段として実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想画像を観察するユーザの視点を変更するための技術に関する。
【背景技術】
【０００２】
近年、現実空間と仮想空間とのつなぎ目のない結合を目的とした、複合現実感（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ：ＭＲ）システムの研究が盛んに行われている。これらのシステムの提示を行う画像表示装置は、たとえば頭部装着型ディスプレイ（Ｈｅａｄ  Ｍｏｕｎｔ  Ｄｉｓｐｌａｙ：ＨＭＤ）を用いることができる。
【０００３】
従来、ＨＭＤを装着して仮想空間を移動しながら体験するためには、実際に現実空間を歩き回り、それを反映させたり、ゲームコントローラやマウス、キーボードのような入力装置を用いて視点を移動させていた。また、予め登録された位置（たとえばオブジェクトや場所名）を選択し、その地点に移動させていた（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３３８３１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の方法では、予め登録された位置が自分の身長よりも低い場合には足の位置が床よりも下になってしまい、没入感が損なわれるという課題があった。また、登録された視点の視線方向がユーザの実際の視線方向と一致しないなど現実感のない移動になってしまうという課題があった。
【０００６】
そこで、本発明は、仮想画像を観察するユーザの視点の移動を現実感を損なわずに行うことを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本願発明の情報処理装置は、例えば、ユーザが装着する表示装置に仮想物体を含む仮想画像を表示させる情報処理装置であって、前記仮想物体を観察するための前記ユーザの第１視点位置を、三次元空間における前記表示装置の位置に基づいて表す三次元位置情報を保持する視点位置保持手段と、前記三次元空間における前記表示装置の現在の位置に基づいて表される、前記ユーザの第２視点位置の三次元位置情報を取得する視点位置取得手段と、前記第１視点位置を表す三次元位置情報のうち高さ成分以外の成分と、前記第２視点位置を表す三次元位置情報のうち高さ成分とに基づいて、前記仮想物体を観察するための前記ユーザの第３視点位置を設定する設定手段と、前記設定された第３視点位置に基づいて仮想物体を含む仮想画像を生成する生成手段と、前記生成された仮想画像を前記表示装置に表示させる表示制御手段とを備える。
【０００８】
本願発明の別の側面の情報処理装置は、例えば、ユーザが装着する表示装置に仮想物体を含む仮想画像を表示させる情報処理装置であって、 前記仮想物体を観察するための前記ユーザの第１視線方向を、三次元空間における前記表示装置の向きに基づいて表す三次元の回転角情報を保持する視線方向保持手段と、前記三次元空間における前記表示装置の現在の向きに基づいて表される、前記ユーザの第２視線方向を取得する視線方向取得手段と、前記第１視線方向を表す三次元の回転角情報のうちヨー軸まわりの成分と、前記第２視線方向を表す三次元の回転角情報のうちヨー軸まわりの成分以外の成分とに基づいて、仮想物体を観察するための前記ユーザの第３視線方向を設定する設定手段と、
前記設定された第３視線方向に基づいて仮想物体を含む仮想画像を生成する生成手段と、
前記生成された仮想画像を前記表示装置に表示させる表示制御手段とを備える。
【発明の効果】
【０００９】
本発明によれば、現実感を損なわずに仮想画像を観察するユーザの視点の移動を行うことが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態に係るシステムの機能構成例を示すブロック図である。
【図２】本発明の第１の実施形態に係る情報処理装置の処理のフローチャートである。
【図３】本発明の第１の実施形態を説明する図である。
【図４】本発明の第２の実施形態に係るシステムの機能構成例を示すブロック図である。
【図５】本発明の第２の実施形態に係る情報処理装置の処理のフローチャートである。
【図６】本発明の第２の実施形態を説明する図である。
【図７】本発明の第３の実施形態に係るシステムの機能構成例を示すブロック図である。
【図８】本発明の第３の実施形態に係る情報処理装置の処理のフローチャートである。
【図９】本発明の第３の実施形態を説明する図である。
【図１０】本発明の第４の実施形態に係るシステムの機能構成例を示すブロック図である。
【図１１】本発明の第４の実施形態に係る情報処理装置の処理のフローチャートである。
【図１２】本発明の第４の実施形態を説明する図である。
【図１３】本発明の第５の実施形態に係るシステムの機能構成例を示すブロック図である。
【図１４】本発明の第５の実施形態に係る情報処理装置の処理のフローチャートである。
【図１５】本発明の第５の実施形態を説明する図である。
【図１６】本発明の第６の実施形態に係るシステムの機能構成例を示すブロック図である。
【図１７】本発明の第６の実施形態に係る情報処理装置の処理のフローチャートである。
【図１８】本発明の第６の実施形態を説明する図である。
【図１９】本発明の情報処理装置のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１２】
（第１の実施形態）
図１は、本実施形態に係るシステムの機能構成例を示すブロック図である。図１に示す如く、本実施形態に係るシステムは、情報処理装置１０００と、頭部装着型表示装置の一例としてのＨＭＤ１１００と、操作入力装置１２００と、画像表示装置１３００と、磁界発生装置１４００、仮想データ入力部１５００とで構成されている。
【００１３】
情報処理装置１０００は、視点情報計測部１０１０、登録操作受取部１０２０、視点位置登録部１０２１、移動操作受取部１０３０、移動量算出部１０３１、視点情報設定部１０４０、仮想データ保持部１０５０、仮想空間画像生成部１０６０、撮像画像取得部１０７０、画像生成部１０８０で構成されている。
【００１４】
ＨＭＤ１１００は、センサ１１１０、画像撮像部１１２０、画像表示部１１３０とで構成されている。ここで、情報処理装置１０００とＨＭＤ１１００とはデータ通信が可能なように接続されている。情報処理装置１０００とＨＭＤ１１００との間の接続は、有線、無線の何れであっても構わない。また、操作入力装置１２００は、登録操作部１２１０、移動操作部１２２０で構成されている。
【００１５】
先ず、情報処理装置１０００について説明する。
【００１６】
図１９は、本実施形態における情報処理装置１０００のハードウェア構成図である。同図において、ＣＰＵ１９１０は、バス１９００を介して接続する各デバイスを統括的に制御する。ＣＰＵ１９１０は、読み出し専用メモリ（ＲＯＭ）１９２０に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム（ＯＳ）をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はＲＯＭ１９２０に記憶されており、ランダムアクセスメモリ（ＲＡＭ）１９３０に一時記憶され、ＣＰＵ１９１０によって適宜実行される。また、入力Ｉ／Ｆ１９４０は、外部の装置（表示装置や操作装置など）から情報処理装置１０００で処理可能な形式で入力信号として入力する。また、出力Ｉ／Ｆ１９５０は、外部の装置（表示装置）へ表示装置が処理可能な形式で出力信号として出力する。
【００１７】
視点情報計測部１０１０は、センサ１１１０の計測結果を用いて、センサ１１１０の世界座標系における視点位置およびその視点の観察方向（以下、視線方向）を視点情報として計測する。これによりＨＭＤ１１００の視点情報を計測することができる。尚、世界座標系は現実空間の１点を原点として定義し、さらに互いに直交する３軸を夫々Ｘ軸、Ｙ軸、Ｚ軸として定義した座標系とする。
【００１８】
登録操作受取部１０２０は、登録操作部１２１０から入力されたイベント等を受け取り、視点位置登録部１０２１へ登録を促す。
【００１９】
視点位置登録部１０２１は、登録操作受取部１０２０からの指示に従い、視点情報計測部１０１０で計測された視点位置を登録相対位置として登録して保持する（視点位置保持）。この視点位置は、ユーザの身体の一部である頭部に装着されたＨＭＤ１１００を介して仮想物体を観察する際の視点位置（登録視点位置）である。視点位置の登録は上記のように実際に計測された値を登録しても良いし、ユーザが操作するマウスやキーボード等をつかって入力しても良い。詳しくは後述するが、ＨＭＤ１１００を介して仮想物体を観察するユーザは視点位置登録部１０２１に登録された視点位置を参照して現在の視点位置を変更することができる。
【００２０】
移動操作受取部１０３０は、移動操作部１２２０から入力されたイベント等を受け取り、移動量算出部１０３１へ移動量算出を促す。
【００２１】
移動量算出部１０３１は、視点情報計測部１０１０で計測された視点位置（視点位置取得）から視点位置登録部１０２１に登録された視点位置に移動するための移動量を算出する。詳細に関しては図２のフローチャートにつき後述する。
【００２２】
視点情報設定部１０４０は、移動操作受取部１０３０が移動操作部１２２０イベント等を受け取っている場合には移動量算出部１０３１から入力された移動量を反映した視点位置を視点情報に設定する。さらに、視点情報計測部１０１０で計測された視線方向を仮想空間の視点情報に設定する。移動操作受取部１０３０が移動操作部１２２０からイベント等を受け取っていない場合には、視点情報計測部１０１０で計測された視点位置および視線方向を仮想空間の視点情報に設定する。そして、設定された視点情報を仮想空間画像生成部１０６０に出力する。
【００２３】
仮想データ保持部１０５０は、仮想空間を構成する仮想物体に係るデータや仮想空間中に照射する光源に係るデータなど、仮想空間のデータを保持し、仮想空間画像生成部１０６０に入力する。
【００２４】
仮想空間画像生成部１０６０は、視点情報設定部１０４０から入力された視点位置および視線方向から見える仮想データ保持部１０５０から入力された仮想空間のデータを仮想空間の画像（仮想画像）として生成する。なお、所定の視点位置から見える仮想空間の画像を生成するための技術については周知の事実であるので、これについての詳細な説明は省略する。
【００２５】
撮像画像取得部１０７０は、画像撮像部１１２０により撮像された現実空間の画像（現実空間画像）を取得する。
【００２６】
画像生成部１０８０は、撮像画像取得部１０７０で取得された現実空間画像に仮想空間画像を重畳し、複合現実空間の画像（複合現実空間画像）を生成する。その後に、画像生成部１０８０は、この生成した複合現実画像をＨＭＤ１１００の画像表示部１１３０に対して出力する（表示制御）。また、画像表示装置１３００に同時に表示しても良い。また、ＨＭＤに限ったことではなく表示できる装置であれば良く、タブレット・スマートフォン等の表示端末であっても良い。
【００２７】
これらの各機能部は、ＣＰＵ１９１０が、ＲＯＭ１９２０に格納されたプログラムをＲＡＭ１９３０に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、ＣＰＵ１９１０を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【００２８】
次に、ＨＭＤ１１００について説明する。
【００２９】
ＨＭＤ１１００は、液晶画面などで構成される表示装置で、それぞれ右目用と左目用とが設けられており、夫々はＨＭＤ１１００を頭部に装着したユーザの右目、左目の眼前に位置するように、ＨＭＤに取り付けられている。また、左右の画面には夫々視差のついた画像がステレオ表示される。
【００３０】
センサ１１１０は、不図示の磁界発生装置が発生させた磁場の変化を計測するためのＨＭＤ１１００の視点情報を計測する磁気センサで、計測結果を情報処理装置１０００に入力する。本実施形態では、センサ１１１０として、磁気センサを用いて説明するが、磁気センサ以外でもよい。例えば、画像処理により画像中の点や線などの特徴的な情報（特徴情報）を抽出することで視点位置および視線方向を計測しても良い。また、赤外光を用いて視点位置および視線方向を計測しても良いし、超音波を用いて視点位置および視線方向を計測しても良い。さらに、奥行きセンサを用いて視点位置および視線方向を計測しても良いし、機械的に視点位置および視線方向を計測しても良い。
【００３１】
画像撮像部１１２０は、ＨＭＤ１１００に映る現実空間を撮像し、撮像画像を現実空間画像として情報処理装置１０００に入力する。
【００３２】
画像表示部１１３０は、情報処理装置１０００で生成された複合現実画像を表示する。
上記のように、本実施形態においてＨＭＤ１１００は、撮像装置により撮像された画像に基づいて生成された複合現実画像を表示装置に表示するビデオシースルー型のＨＭＤであることとして説明する。しかしながら、ＨＭＤ１１００は、現実空間を透過して観察することが可能な表示媒体に仮想画像を重畳して表示する光学シースルー型のＨＭＤを用いてもよい。
【００３３】
操作入力装置１２００は、情報処理装置１０００に対して、ユーザの操作を入力することができる装置である。登録操作部１２１０は視点情報を登録する場合に利用する。また、移動操作部１２２０は、移動したい登録された視点位置を選択し、移動する場合に利用する。操作入力装置１２００は、前記の目的が達成されるのであれば、いかなる入力装置であっても良く、たとえばマウスであっても良いし、キーボードなどのボタン型装置であっても良い。また、ユーザのジェスチャを認識することによって入力する装置であっても良いし、ユーザの声を認識することによって入力する装置であっても良い。
【００３４】
図２は、情報処理装置１０００が、複合現実空間画像を生成し、ＨＭＤ１１００または画像表示装置１３００に対して出力するために行う処理のフローチャートである。
【００３５】
先ず、ステップＳ２０００において、視点情報計測部１０１０はＨＭＤ１１００の世界座標系での視点位置および視線方向を計測する。そして、ステップＳ２１００に処理を移す。
【００３６】
ステップＳ２１００において、登録操作受取部１０２０は登録操作部１２１０からの入力情報を参照し、視点情報を登録する操作が入力されているかどうか調べる。視点情報を登録する操作が入力されている場合は、ステップＳ２１１０に処理を移す。一方、視点情報を登録する操作が入力されていない場合は、ステップＳ２２００に処理を移す。
【００３７】
ステップＳ２１１０において、視点位置登録部１０２１は視点情報計測部１０１０からの情報を参照し、視点位置を登録する。そして、ステップＳ２２００に処理を移す。
【００３８】
ステップＳ２２００において、移動操作受取部１０３０は移動操作部１２２０からの入力情報を参照し、視点情報を移動する操作が入力されているかどうかを調べる。視点情報を移動する操作が入力されている場合は、ステップＳ２２１０に処理を移す。一方、視点情報を移動する操作が入力されていない場合は、ステップＳ２０１０に処理を移す。
【００３９】
ステップＳ２２１０において、視点位置登録部１０２１は視点情報が登録されているかどうか調べる。視点情報が登録されている場合は、ステップＳ２２２０に処理を移す。一方、視点情報が登録されていない場合は、ステップＳ２０１０に処理を移す。
【００４０】
ステップＳ２２２０において、移動操作受取部１０３０は移動操作部１２２０からの入力情報を参照し、登録視点情報の中から移動する視点情報を選択するかどうかを調べる。登録された視点情報の中から移動する視点情報を選択している場合は、ステップＳ２２４０に処理を移す。登録された視点情報の中から移動する視点情報を選択していない場合は、ステップＳ２２３０に処理を移す。
【００４１】
ステップＳ２２３０において、移動操作受取部１０３０は移動操作部１２２０からの入力情報を参照し、移動操作を取りやめる操作が入力されているかどうか調べる。移動操作を取りやめる操作が入力されている場合は、ステップＳ２０１０に処理を移す。移動操作を取りやめる操作が入力されていない場合は、ステップＳ２２２０に処理を移す。
【００４２】
ステップＳ２２４０およびステップＳ２２５０の処理は、図３を用いて説明を行う。
図３は本実施例を用いて視点位置を登録視点情報の視点位置に移動する操作を示した図である。図３（Ａ）は、登録時におけるユーザ３０１０の視点位置と仮想物体３０２０とを表したものである。図３（Ｂ）は、視点位置を移動する操作を実行する前におけるユーザ３１１０の視点位置と仮想物体３０２０とを表したものである。図３（Ｃ）は、視点位置を移動する操作を実行した後におけるユーザ３２１０の視点位置と仮想物体３０２０とを表したものである。
【００４３】
図３（Ａ）（１）は登録時の仮想空間を三次元で示した図である。また、図３（Ａ）（２）は図３（Ａ）（１）をＸ軸上から俯瞰した図であり、図３（Ａ）（３）は図３（Ａ）（１）をＹ軸上から俯瞰した図であり、図３（Ａ）（４）は図３（Ａ）（１）をＺ軸上から俯瞰した図である。
【００４４】
図３（Ｂ）（１）は視点位置を移動する操作を実行する前の仮想空間を三次元で示した図である。また、図３（Ｂ）（２）は図３（Ｂ）（１）をＸ軸上から俯瞰した図であり、図３（Ｂ）（３）は図３（Ｂ）（１）をＹ軸上から俯瞰した図であり、図３（Ｂ）（４）は図３（Ｂ）（１）をＺ軸上から俯瞰した図である。
【００４５】
図３（Ｃ）（１）は視点位置を移動する操作を実行した後の仮想空間を三次元で示した図である。また、図３（Ｃ）（２）は図３（Ｃ）（１）をＸ軸上から俯瞰した図であり、図３（Ｃ）（３）は図３（Ｃ）（１）をＹ軸上から俯瞰した図であり、図３（Ｃ）（４）は図３（Ｃ）（１）をＺ軸上から俯瞰した図である。
【００４６】
ステップＳ２２４０において、ステップＳ２２２０で選択された登録視点情報の世界座標での視点位置を（ｘ０，ｙ０，ｚ０）とする。また、ステップＳ２２４０実行時すなわち移動操作前の移動操作前のユーザ３１１０の世界座標での視点位置を（ｘ１，ｙ１，ｚ１）とする。このとき、移動量算出部１０３１はユーザ３１１０の移動操作前の視点位置（ｘ１，ｙ１，ｚ１）から登録視点情報の視点位置（ｘ０，ｙ０，ｚ０）へ移動する移動量（差分量）（Δｘ，Δｙ，Δｚ）を算出する。そして、ステップＳ２２５０に処理を移す。
【００４７】
ステップＳ２２５０において、視点情報設定部１０４０は視点高さを考慮し、移動量を反映させた視点位置を視点情報に設定する。すなわち、図３（Ｃ）に示すように、Ｚ軸方向（高さ方向）における移動量は反映させず、移動操作後のユーザ３２１０の世界座標での視点位置（ｘ１−Δｘ，ｙ１−Δｙ，ｚ１）を視点情報に設定する（即ち高さ成分以外の成分のみ反映させる）。そして、ステップＳ２０２０に処理を移す。
【００４８】
ステップＳ２０１０において、視点情報設定部１０４０は視点情報計測部１０１０で計測された視点位置を視点情報に設定する。そして、ステップＳ２０２０に処理を移す。
【００４９】
ステップＳ２０２０において、仮想空間画像生成部１０６０はステップＳ２０１０またはＳ２２５０で設定された視点情報と仮想データ保持部１０５０から入力された仮想データから仮想空間画像を生成する。そして、ステップＳ２０３０に処理を移す。
【００５０】
ステップＳ２０３０において、画像生成部１０８０は撮像画像取得部１０７０で取得した現実空間画像に仮想空間画像生成部１０６０で生成された仮想空間画像を重畳し、複合現実画像を生成する。生成した複合現実画像は、ＨＭＤ１１００の画像表示部１１３０または画像表示装置１３００に対して出力する。そして、ステップＳ２０４０に処理を移す。
【００５１】
ステップＳ２０４０において、ユーザによって本処理の終了指示が入力された、若しくは本処理を終了する条件が満たされた場合、本処理を終了する。一方、本処理の終了指示が入力されておらず、本処理を終了する条件も満たされていない場合は、処理をステップＳ２０００に戻す。
【００５２】
本実施形態によれば、たとえばユーザＡが視点位置の登録を行い、ユーザＡとは身長の異なるユーザＢが移動操作を行った際、ユーザＢの視点高さを保ったままユーザＡの登録した視点位置に移動するため、現実感を損なわず視点の移動を行うことが可能になる。
【００５３】
よって本実施形態によれば、複合現実空間の視点移動操作において、登録視点位置の一部の成分のみ反映させることにより、ユーザの視点高さを保ったまま移動が可能となり、現実感を損なわない移動操作を提供することが可能となる。
【００５４】
（変形例１）
上記実施形態では、視点位置の移動を行う場合、ユーザの視点高さを保ったまま移動する移動操作を常に行っていたが、本発明はこれに限定されない。すなわち、移動操作ユーザの視点高さを保ったまま移動するか、登録時のユーザの視点高さに移動するか選択できる情報処理装置であっても良い。
【００５５】
（第２の実施形態）
第１の実施形態では、視点位置を登録し、移動量を算出し、視点情報設定を行ったが、本実施形態では視線方向の移動を行う場合を示す。
【００５６】
図４は、本実施形態に係るシステムの機能構成例を示すブロック図である。図１と同じ構成要素には同じ参照番号を付けており、その説明は省略する。
【００５７】
視線方向登録部４０１０は、視点情報計測部１０１０で計測された視線方向を登録視線方向として登録して保持する（視線方向保持）。視線方向の登録は上記のように実際に計測された値を登録しても良いし、ユーザが操作するマウスやキーボード等をつかって入力しても良い。
【００５８】
移動量算出部４０２０は、視点情報計測部１０１０で計測された視線方向（視線方向取得）から視線方向登録部４０１０に登録された登録視線方向に移動するための移動量を算出する。詳細に関しては図５のフローチャートにつき後述する。
【００５９】
視点情報設定部４０３０は、移動操作受取部１０３０が移動操作部１２２０イベント等を受け取っている場合には、視点情報計測部１０１０で計測された視点位置を視点情報に設定する。さらに、移動量算出部４０２０で算出された移動量を反映した視線方向を仮想空間の視点情報に設定する。移動操作受取部１０３０が移動操作部１２２０からイベント等を受け取っていない場合には、視点情報計測部１０１０で計測された視点位置および視線方向を仮想空間の視点情報に設定する。
【００６０】
図５は、移動量算出部４０２０において視点情報計測部１０１０で計測された視線方向から視線方向登録部４０１０で登録された登録視線方向に移動するために行う処理のフローである。図２と同じ構成要素には同じ参照番号を付けており、その説明は省略する。
【００６１】
ステップＳ５０１０において、視線方向登録部４０１０は視点情報計測部１０１０からの情報を参照し、視線方向を登録視線方向として登録する。そして、ステップＳ２２００に処理を移す。
【００６２】
ステップＳ５０２０およびステップＳ５０３０の処理は図６を用いて説明を行う。図３と同じ構成要素には同じ参照番号を付けており、その説明は省略する。
【００６３】
図６は本実施形態において視線方向を登録視点情報の視線方向に移動する操作を示した図である。図６（Ａ）は、登録時におけるユーザ６０１０の視線方向と仮想物体６０２０とを表したものである。図６（Ｂ）は、視線方向を移動する操作を実行する前におけるユーザ６１１０の視線方向と仮想物体６０２０とを表したものである。図６（Ｃ）は、視線方向を移動する操作を実行した後におけるユーザ６２１０の視線方向と仮想物体６０２０とを表したものである。視線方向は視点情報計測部１０１０で計測される視点位置を原点として定義する。さらに互いに直交する３軸を夫々ロール軸、ピッチ軸、ヨー軸として定義した座標系における夫々の軸の回転角（ロール角、ピッチ角、ヨー角）で表す。このとき、ヨー軸は重力方向に軸を持つものとする。
【００６４】
本実施形態では、世界座標系での視点位置および視点位置を原点としたロール軸、ピッチ軸、ヨー軸を用いた座標系での視線方向を用いていたが、本発明はこれに限定されない。すなわち、視点位置および視線方向と仮想物体の位置および方向の相対的な位置または方向を維持するように移動量を算出し、視点情報を設定しても良い。
【００６５】
図６（Ａ）（１）は登録時の仮想空間を三次元で示した図である。また、図６（Ａ）（２）は図６（Ａ）（１）をＸ軸上から俯瞰した図であり、図６（Ａ）（３）は図６（Ａ）（１）をＹ軸上から俯瞰した図であり、図６（Ａ）（４）は図６（Ａ）（１）をＺ軸上から俯瞰した図である。
【００６６】
図６（Ｂ）（１）は視線方向を移動する操作を実行する前の仮想空間を三次元で示した図である。また、図６（Ｂ）（２）は図６（Ｂ）（１）をＸ軸上から俯瞰した図であり、図６（Ｂ）（３）は図６（Ｂ）（１）をＹ軸上から俯瞰した図であり、図６（Ｂ）（４）は図６（Ｂ）（１）をＺ軸上から俯瞰した図である。
【００６７】
図６（Ｃ）（１）は視線方向を移動する操作を実行した後の仮想空間を三次元で示した図である。また、図６（Ｃ）（２）は図６（Ｃ）（１）をＸ軸上から俯瞰した図であり、図６（Ｃ）（３）は図６（Ｃ）（１）をＹ軸上から俯瞰した図であり、図６（Ｃ）（４）は図６（Ｃ）（１）をＺ軸上から俯瞰した図である。
【００６８】
ステップＳ５０２０において、ステップＳ２２２０で選択された登録視点情報の視線方向、すなわち登録時のユーザ６０１０の視線方向を（Ｒ０，Ｐ０，Ｙ０）とする。また、ステップＳ５０２０実行時、すなわち視線方向を移動する操作を実行する前の移動操作前のユーザ６１１０の視線方向を（Ｒ１，Ｐ１，Ｙ１）とする。このとき、移動量算出部４０２０は移動操作前のユーザ６１１０の視線方向（Ｒ１，Ｐ１，Ｙ１）から登録時のユーザ６０１０の視線方向（Ｒ０，Ｐ０，Ｙ０）へ移動する移動量（ΔＲ，ΔＰ，ΔＹ）を算出する。そして、ステップＳ５０３０に処理を移す。
【００６９】
ステップＳ５０３０において、視点情報設定部４０３０は現実感を損なわないよう考慮し、移動量を反映させた視線方向を視点情報に設定する。すなわち、図６（Ｃ）に示すように、ヨー軸まわりの回転のみ反映させ、視線方向（Ｒ１，Ｐ１，Ｙ１−ΔＹ）を視点情報に設定する（即ちヨー成分以外の成分のみ反映させた視線方向を設定する）。
【００７０】
本実施形態によれば、複合現実空間の視点移動操作においてロー角、ピッチ角の視線方向を保ったまま移動することが可能となり、現実感を損なわない移動操作を提供することが可能となる。
【００７１】
（変形例２）
上記第１の実施形態と第２の実施形態では、視点位置の移動を行う場合と、視線方向の移動を行う場合とを別々に説明したが、本発明はこれに限定されない。第１の実施形態の視点位置の移動と第２の実施形態の視線方向の移動を同時に行っても良い。また、視点位置の移動と視線方向の移動の両方を同時に行うか、一方のみを行うかをユーザによって選択させるようにしてもよい。
【００７２】
（変形例３）
上記第１の実施形態と第２の実施形態では、新たな視点位置または視線方向を設定するために登録視点位置または登録視線方向からの移動量を算出し、算出された移動量を反映させた。しかしながら移動量の算出を行わずに高さ以外の成分またはヨー成分以外の成分に登録視点位置または登録視線方向の成分を設定し、高さ成分またはヨー成分に現在の視点位置または視線方向を設定するようにしても良い。
【００７３】
（変形例４）
上記第２の実施形態では、視線方向の移動を行う場合、ヨー軸まわりの回転のみを反映する移動操作を常に行っていたが、本発明はこれに限定されない。すなわち、登録時の視線方向を再現するようにロール軸、ピッチ軸、ヨー軸まわりの回転のすべてを反映する移動操作を行っても良い。また、視線方向の移動に伴う視点移動の有無を選択できても良い。
【００７４】
（第３の実施形態）
第１または第２の実施形態では、視点情報登録後に視点位置または視線方向に変更があった場合の視点情報移動操作を行う実施形態であったが、本実施形態では仮想空間内の仮想物体が世界座標系に対し平行移動する場合を示す。
【００７５】
図７は、本実施形態に係るシステムの機能構成例を示すブロック図である。図１と同じ構成要素には同じ参照番号を付けており、その説明は省略する。
仮想データ位置取得部７０１０は、世界座標系での仮想物体の位置を取得する。
位置情報登録部７０２０は、視点情報計測部１０１０で計測された視点位置および仮想データ位置取得部７０１０で取得した仮想物体の位置を登録し、視点位置と仮想物体との相対位置を登録相対位置として保持する。
【００７６】
移動量算出部７０３０は、位置情報登録部７０２０に登録された視点位置と仮想物体の位置の相対位置を再現するよう移動量を算出する。詳細に関しては図８のフローチャートにつき後述する。
図８は、移動量算出部７０３０において視点情報計測部１０１０で計測された視点位置から位置情報登録部７０２０で登録された視点位置と仮想物体の位置との相対位置を再現するよう移動するために行う処理のフローである。図２と同じ構成要素には同じ参照番号を付けており、その説明は省略する。
【００７７】
ステップＳ８０１０において、位置情報登録部７０２０は視点情報計測部１０１０からの情報を参照し、視点位置を登録する。また、仮想データ位置取得部７０１０からの情報を参照し、仮想データの位置を登録する。そして、ステップＳ２２００に処理を移す。
【００７８】
ステップＳ８０２０およびステップＳ８０３０の処理は図９を用いて説明を行う。
図９は本実施形態において、視点位置を登録視点情報の視点位置と仮想物体の位置との相対位置を再現するように移動する操作を示した図である。図９（Ａ）は、登録時におけるユーザ９０１０の視点位置と仮想物体９０２０を表したものである。図９（Ｂ）は、ユーザ９１１０の登録時と同じ世界座標系での視点位置と、登録時から移動した仮想物体９１２０、登録時の仮想物体９０２０を表わしたものである。図９（Ｃ）は、視点位置を移動する操作を実行した後におけるユーザ９２１０の視点位置と移動操作前のユーザ９１１０と登録時から移動した仮想物体９１２０を表わしたものである。
【００７９】
図９（Ａ）（１）は登録時の仮想空間を三次元で示した図である。また、図９（Ａ）（２）は図９（Ａ）（１）をＸ軸上から俯瞰した図であり、図９（Ａ）（３）は図９（Ａ）（１）をＹ軸上から俯瞰した図であり、図９（Ａ）（４）は図９（Ａ）（１）をＺ軸上から俯瞰した図である。
【００８０】
図９（Ｂ）（１）は登録時から仮想物体の位置が移動した視点位置を移動する操作を実行する前の仮想空間を三次元で示した図である。また、図９（Ｂ）（２）は図９（Ｂ）（１）をＸ軸上から俯瞰した図であり、図９（Ｂ）（３）は図９（Ｂ）（１）をＹ軸上から俯瞰した図であり、図９（Ｂ）（４）は図９（Ｂ）（１）をＺ軸上から俯瞰した図である。
【００８１】
図９（Ｃ）（１）は視点位置を移動する操作を実行した後の仮想空間を三次元で示した図である。
また、図９（Ｃ）（２）は図９（Ｃ）（１）をＸ軸上から俯瞰した図であり、図９（Ｃ）（３）は図９（Ｃ）（１）をＹ軸上から俯瞰した図であり、図９（Ｃ）（４）は図９（Ｃ）（１）をＺ軸上から俯瞰した図である。
【００８２】
ステップＳ８０２０において、移動量算出部７０３０は登録相対位置を再現するような仮想物体の移動量を算出する。ステップＳ２２２０で選択された登録視点情報の世界座標系での視点位置を（ｘ０，ｙ０，ｚ０）とする。また、登録視点情報の世界座標系での仮想物体位置を（ｘＶ０，ｙＶ０，ｚＶ０）とする。ステップＳ８０２０実行時、すなわち視点位置を移動する操作を実行する前の仮想物体９１２０の世界座標系での仮想物体位置を（ｘＶ１，ｙＶ１，ｚＶ１）とする。移動量算出部７０３０は視点位置を移動する操作を実行する前の仮想物体９１２０の仮想物体位置（ｘＶ１，ｙＶ１，ｚＶ１）から登録視点情報の仮想物体位置（ｘＶ０，ｙＶ０，ｚＶ０）へ移動する移動量（ΔｘＶ，ΔｙＶ，ΔｚＶ）を算出する。そして、ステップＳ８０３０に処理を移す。
【００８３】
ステップＳ８０３０において、視点情報設定部７０４０は移動量算出部７０３０から仮想物体の移動量を取得し、視点位置に反映させたものを視点情報に設定する。すなわち、図９（Ｃ）に示すように、仮想物体の移動量を視点位置に加算し、視点位置（ｘ０＋ΔｘＶ，ｙ０＋ΔｙＶ，ｚ０＋ΔｚＶ）および視点情報計測部１０１０で計測した視線方向を視点情報に設定する。そして、ステップＳ２０２０に処理を移す。
【００８４】
本実施形態によれば、複合現実空間の視点移動操作において登録時のユーザの視点位置と仮想物体位置の相対位置を再現する移動操作を提供することが可能となる。
【００８５】
（第４の実施形態）
第３の実施形態では、仮想空間内の仮想物体が世界座標系に対し平行移動する場合を示したが、本実施形態では仮想空間内の仮想物体が回転移動する場合を示す。
【００８６】
図１０は、本実施形態に係るシステムの機能構成例を示すブロック図である。図１と同じ構成要素には同じ参照番号を付けており、その説明は省略する。
【００８７】
仮想データ情報取得部１００１０は、世界座標系での仮想物体の位置および方向を取得する。
相対位置方向登録部１００２０は、視点情報計測部１０１０で計測された視点位置および仮想データ情報取得部１００１０で取得した仮想物体の位置および方向を登録し、視点位置と仮想物体との相対方向を登録相対方向として保持する。
【００８８】
移動量算出部１００３０は、視点情報計測部１０１０で計測された視点位置から、相対位置方向登録部１００２０に登録された視点位置と仮想物体の位置および方向との相対関係を再現するよう移動量を算出する。詳細に関しては図１１のフローチャートにつき後述する。
【００８９】
図１１は、移動量算出部１００３０において視点情報計測部１０１０で計測された視点位置から相対位置方向登録部１００２０で登録された視点位置と仮想物体の位置および方向との相対位置を再現するよう移動するために行う処理のフローである。図２と同じ構成要素には同じ参照番号を付けており、その説明は省略する。
【００９０】
ステップＳ１１０１０において、相対位置方向登録部１００２０は視点情報計測部１０１０からの情報を参照し、視点位置を登録する。また、相対位置方向登録部１００２０は仮想データ情報取得部１００１０からの情報を参照し、仮想物体の位置および方向を登録する。仮想物体の方向は仮想データ情報取得部１００１０から取得される仮想物体位置を原点として定義する。さらに互いに直交する３軸を夫々ロール軸、ピッチ軸、ヨー軸として定義した座標系における夫々の軸の回転角（ロール角、ピッチ角、ヨー角）で表す。このとき、ヨー軸は重力方向に軸を持つものとする。そして、ステップＳ２２００に処理を移す。
【００９１】
ステップＳ１１０２０およびステップＳ１１０３０の処理は図１２を用いて説明を行う。
【００９２】
図１２は、本実施形態において、視点位置を登録視点情報の視点位置と仮想データの位置との相対位置を再現するように移動する操作を示した図である。図１２（Ａ）は、登録時におけるユーザ１２０１０の視点位置と仮想物体１２０２０を表したものである。図１２（Ｂ）は、視点位置を移動する操作を実行する前における、ユーザ１２１１０の登録時と同じ世界座標系での視点位置と登録時から移動した仮想物体１２１２０を表わしたものである。図１２（Ｃ）は、視点位置を移動する操作を実行した後におけるユーザ１２２１０の視点位置と移動操作前のユーザ１２１１０の視点位置と、登録時から移動した仮想物体１２１２０を表わしたものである。
【００９３】
図１２（Ａ）（１）は登録時の仮想空間を三次元で示した図である。また、図１２（Ａ）（２）は図１２（Ａ）（１）をＸ軸上から俯瞰した図であり、図１２（Ａ）（３）は図１２（Ａ）（１）をＹ軸上から俯瞰した図であり、図１２（Ａ）（４）は図１２（Ａ）（１）をＺ軸上から俯瞰した図である。
【００９４】
図１２（Ｂ）（１）は登録時から仮想物体の方向が回転移動した視点位置を移動する操作を実行する前の仮想空間を三次元で示した図である。また、図１２（Ｂ）（２）は図１２（Ｂ）（１）をＸ軸上から俯瞰した図であり、図１２（Ｂ）（３）は図１２（Ｂ）（１）をＹ軸上から俯瞰した図であり、図１２（Ｂ）（４）は図１２（Ｂ）（１）をＺ軸上から俯瞰した図である。
【００９５】
図１２（Ｃ）（１）は視点位置を移動する操作を実行した後の仮想空間を三次元で示した図である。また、図１２（Ｃ）（２）は図１２（Ｃ）（１）をＸ軸上から俯瞰した図であり、図１２（Ｃ）（３）は図１２（Ｃ）（１）をＹ軸上から俯瞰した図であり、図１２（Ｃ）（４）は図１２（Ｃ）（１）をＺ軸上から俯瞰した図である。
【００９６】
ステップＳ１１０２０において、ステップＳ２２２０で選択された登録視点情報の世界座標系での視点位置を（ｘ０，ｙ０，ｚ０）とし、世界座標系での仮想物体位置を（ｘＶ０，ｙＶ０，ｚＶ０）とする。また、仮想物体方向を（ＲＶ０，ＰＶ０，ＹＶ０）とする。ステップＳ１１０２０実行時、すなわち視点位置を移動する操作を実行する前の仮想物体１２１２０の仮想物体方向を（ＲＶ１，ＰＶ１，ＹＶ１）とする。移動量算出部１００３０は視点位置を移動する操作を実行する前の仮想物体１２１２０の仮想物体方向（ＲＶ１，ＰＶ１，ＹＶ１）から登録視点情報の仮想物体方向（ＲＶ０，ＰＶ０，ＹＶ０）へ移動する移動量（ΔＲＶ，ΔＰＶ，ΔＹＶ）を算出する。登録時の視点位置と仮想物体位置との相対位置を再現するため、ユーザの視点位置は図１２（Ｃ）に示すように、仮想物体を中心として回転移動する。このとき視点位置の移動量（Δｘ，Δｙ，Δｚ）は以下のように求められる。
【００９７】
【数１】
0006775957.tif 000002
そして、ステップＳ１１０３０に処理を移す。
【００９８】
ステップＳ１１０３０において、視点情報設定部１００４０は移動量算出部１００３０で算出した視点位置の移動量を反映させた視点位置を視点情報に設定する。すなわち、世界座標での視点位置（ｘｖ０＋Δｘ，ｙｖ０＋Δｙ，ｚｖ０＋Δｚ）および視点情報計測部１０１０で計測した視線方向を視点情報に設定する。そして、ステップＳ２０２０に処理を移す。
【００９９】
本実施形態によれば、複合現実空間の視点移動操作において登録時のユーザの視点位置と仮想物体位置の相対位置を再現する移動操作を提供することが可能となる。
【０１００】
尚、移動量の計算方法は一例であり、ユーザ同士の相対位置が保たれるよう移動され、かつ、移動操作を行ったユーザは登録時のユーザの視線方向にロー角、ピッチ角の視線方向を保ったまま移動する移動操作であればいずれの方法でも良い。世界座標系の原点を中心として回転移動をした後、平行移動を行う方法であっても良いし、移動受取ユーザの視点位置を中心として回転移動した後、平行移動を行う方法であっても良い。
【０１０１】
（第５の実施形態）
第１〜４の実施形態では、ユーザ１人が移動する場合を示したが、本実施形態では、複数ユーザが共に移動する場合を示す。
【０１０２】
図１３は、本実施形態に係るシステムの機能構成例を示すブロック図である。図１と同じ構成要素には同じ参照番号を付けており、その説明は省略する。
【０１０３】
通信部１３０００は、ネットワークに接続され、他のコンピュータとの接続を行う。ユーザの視点情報を他のコンピュータに送信する。
【０１０４】
視点情報取得部１３０１０は、移動操作を行ったユーザ（移動操作ユーザ）と他ユーザ（移動受取ユーザ）の移動前の現実空間における相対位置を保つように移動受取ユーザの移動量を移動量算出部１０３１から取得する。詳細に関しては図１４のフローチャートにつき後述する。
【０１０５】
視点情報設定部１３０２０は、通信部１３０００からイベント等を受け取っている場合は、移動操作ユーザの移動量を反映させた視点位置および視点情報計測部１０１０で計測した視線方向を視点情報に設定する。移動操作受取部１０３０が移動操作部１２２０からイベント等を受け取っている場合には移動量算出部１０３１から入力された移動量を反映させた視点位置および視点情報計測部１０１０で計測した視線方向を視点情報に設定する。通信部１３０００からのイベント等や移動操作受取部１０３０が移動操作部１２２０からのイベント等を受け取っていない場合には視点情報計測部１０１０で計測された視点位置および視線方向を視点情報に設定する。そして、設定された視点情報を仮想空間画像生成部１０６０に出力する。
【０１０６】
図１４は、本実施形態において、複数ユーザが複合現実空間体験時に、ユーザ同士の相対位置を保ちながら登録視点情報の視点位置へと移動するために行う処理のフローである。図２と同じ構成要素には同じ参照番号を付けており、その説明は省略する。
【０１０７】
ステップＳ１４０１０において、移動操作受取部１０３０は移動操作部１２２０からの入力情報を参照し、ユーザが他ユーザと共に移動する操作が入力されているかどうかを調べる。ユーザが他ユーザと共に移動する操作が入力されている場合は、ユーザを移動操作ユーザ、他ユーザを移動受取ユーザとし、ステップＳ１４０２０に処理を移す。一方、ユーザが他ユーザと共に移動する操作が入力されていない場合は、ステップＳ２２５０に処理を移す。
【０１０８】
ステップＳ１４０２０およびステップＳ１４０３０、ステップＳ１４０４０の処理は図１５を用いて説明を行う。
【０１０９】
図１５は、本実施形態において、移動操作ユーザの視点位置を移動受取ユーザを移動操作ユーザとの相互位置を保つように登録視点情報の視点位置に、移動する操作を示した図である。図３と同じ構成要素には同じ参照番号を付けており、その説明は省略する。
図１５（Ａ）は図３（Ａ）と同じ構成要素である。図１５（Ｂ）は複数ユーザが複合現実空間を体験している際の、視点位置を移動する操作を実行する前の仮想空間における移動操作前の移動操作ユーザ３１１０と移動受取ユーザ１５０１０、仮想物体３０２０、登録時のユーザ３０１０を表したものである。図１５（Ｃ）は視点位置を移動する操作を実行した後の仮想空間における移動操作後の移動操作ユーザ３２１０と移動受取ユーザ１５１１０、仮想物体３０２０、登録時のユーザ３０１０を表したものである。
【０１１０】
図１５（Ｂ）（１）は視点位置を移動する操作を実行する前の仮想空間を三次元で示した図である。また、図１５（Ｂ）（２）は図１５（Ｂ）（１）をＸ軸上から俯瞰した図であり、図１５（Ｂ）（３）は図１５（Ｂ）（１）をＹ軸上から俯瞰した図であり、図１５（Ｂ）（４）は図１５（Ｂ）（１）をＺ軸上から俯瞰した図である。
【０１１１】
図１５（Ｃ）（１）は視点位置を移動する操作を実行した後の仮想空間を三次元で示した図である。また、図１５（Ｃ）（２）は図１５（Ｃ）（１）をＸ軸上から俯瞰した図であり、図１５（Ｃ）（３）は図１５（Ｃ）（１）をＹ軸上から俯瞰した図であり、図１５（Ｃ）（４）は図１５（Ｃ）（１）をＺ軸上から俯瞰した図である。
【０１１２】
ステップＳ１４０２０において、視点情報取得部１３０１０は移動操作ユーザが移動操作前のユーザ３１１０の視点位置（ｘ１，ｙ１，ｚ１）とし、登録時のユーザ３０１０の視点位置（ｘ０，ｙ０，ｚ０）とする。移動操作前のユーザ３１１０の視点位置から登録時のユーザ３０１０の視点位置へ移動する移動量（Δｘ１，Δｙ１，Δｚ１）を取得する。また、取得した移動量を通信部１３０００へ出力する。そしてステップＳ２２５０へ処理を移す。
【０１１３】
ステップＳ１４０３０において、視点情報設定部１３０２０は、通信部１３０００から移動操作ユーザの視点移動情報を受け取っているかどうか調べる。移動操作ユーザの視点移動情報を受け取っている場合は、ユーザを移動受取ユーザとし、ステップＳ１４０３０に処理を移す。移動操作ユーザの視点移動情報を受け取っていない場合は、ステップＳ２２００に処理を移す。
【０１１４】
ステップＳ１４０４０において、視点情報設定部１３０２０は、通信部１３０００から受け取った移動操作ユーザの移動量（Δｘ１，Δｙ１，Δｚ１）を反映させた視点位置を視点情報に設定する。移動受取ユーザの移動前の世界座標での視点位置を（ｘ２，ｙ２，ｚ２）とする。図１５（Ｃ）に示すように、視点位置が移動受取ユーザ１５１１０の現在の視点高さになるような視点位置（ｘ２−Δｘ１，ｙ２−Δｙ１，ｚ２）および視点情報計測部１０１０で計測した視線方向を視点情報に設定する。そして、ステップＳ２０２０に処理を移す。
【０１１５】
本実施形態によれば、複数ユーザが複合現実空間を体験している際の視点移動操作において、夫々のユーザの視点高さおよびユーザ同士の相対位置が保たれるよう移動する。さらに、移動操作を行ったユーザは登録時のユーザの視点位置に移動する移動操作を提供することが可能となる。
【０１１６】
（第６の実施形態）
第５の実施形態では、登録時から視点位置が平行移動された場合における、複数ユーザの移動を示したが、本実施形態では、視線方向が移動された場合における、複数ユーザの移動を示す。
【０１１７】
図１６は、本実施形態に係るシステムの機能構成例を示すブロック図である。図１３と同じ構成要素には同じ参照番号を付けており、その説明は省略する。
【０１１８】
視点情報取得部１６０１０は、通信部１３０００を介して他のコンピュータに接続された情報処理装置１０００を使用しているユーザ（移動受取ユーザ）の視点情報を取得する。
【０１１９】
移動量算出部１６０２０は、移動操作を行ったユーザ（移動操作ユーザ）と移動受取ユーザの移動前の現実空間における相対位置を保つように移動受取ユーザの移動量を算出する。詳細に関しては図１７のフローチャートにつき後述する。
【０１２０】
視点情報設定部１６０３０は、通信部１３０００からイベント等を受け取っている場合は、移動操作ユーザの移動量を反映させた視点位置および視点情報計測部１０１０で計測した視線方向を視点情報に設定する。移動操作受取部１０３０が移動操作部１２２０からイベント等を受け取っている場合には移動量算出部１０３１から入力された移動量を反映させた視点位置および視点情報計測部１０１０で計測した視線方向を視点情報に設定する。通信部１３０００からのイベント等や移動操作受取部１０３０が移動操作部１２２０からのイベント等を受け取っていない場合には視点情報計測部１０１０で計測された視点位置および視線方向を視点情報に設定する。そして、設定された視点情報を仮想空間画像生成部１０６０に出力する。
【０１２１】
図１７は、本実施形態において、複数ユーザが複合現実空間体験時に、ユーザ同士の相対位置を保ちながら登録視点情報の視線方向へと移動するために行う処理のフローである。図１４と同じ構成要素には同じ参照番号を付けており、その説明は省略する。
【０１２２】
ステップＳ１７０１０およびステップＳ１７０２０の処理は図１８を用いて説明を行う。
【０１２３】
図１８は、本実施形態において、移動操作ユーザの視線方向を登録視点情報の視線方向に、移動受取ユーザを移動操作ユーザとの相互位置を保つように移動する操作を示した図である。図６と同じ構成要素には同じ参照番号を付けており、その説明は省略する。また、視線方向は夫々のユーザの視点位置を原点と定義する。さらに互いに直交する３軸を夫々ロール軸、ピッチ軸、ヨー軸として定義した座標系における夫々の軸の回転角（ロール角、ピッチ角、ヨー角）で表す。このとき、ヨー軸は重力方向に軸を持つものとする。
【０１２４】
図１８（Ａ）は図６（Ａ）と同じ構成要素である。図１８（Ｂ）は複数ユーザが複合現実空間を体験している際の、視点位置の移動操作を実行する前の移動操作ユーザ６１１０と移動受取ユーザ１８０１０と仮想物体６０２０を表したものである。図１８（Ｃ）は視点位置の移動操作を実行した後の仮想空間における移動操作後の移動操作ユーザ６２１０と移動受取ユーザ１８１１０、仮想物体６０２０を表したものである。
【０１２５】
図１８（Ｂ）（１）は視点位置の移動操作を実行する前の仮想空間を三次元で示した図である。また、図１８（Ｂ）（２）は図１８（Ｂ）（１）をＸ軸上から俯瞰した図であり、図１８（Ｂ）（３）は図１８（Ｂ）（１）をＹ軸上から俯瞰した図であり、図１８（Ｂ）（４）は図１８（Ｂ）（１）をＺ軸上から俯瞰した図である。
【０１２６】
図１８（Ｃ）（１）は視点位置の移動操作を実行した後の仮想空間を三次元で示した図である。また、図１８（Ｃ）（２）は図１８（Ｃ）（１）をＸ軸上から俯瞰した図であり、図１８（Ｃ）（３）は図１８（Ｃ）（１）をＹ軸上から俯瞰した図であり、図１８（Ｃ）（４）は図１８（Ｃ）（１）をＺ軸上から俯瞰した図である。
【０１２７】
ステップＳ１７０２０において、移動量算出部１６０２０は移動操作前の移動操作ユーザ６１１０の視線方向から登録時のユーザ６０１０の視線方向へ移動する移動量（ΔＲ，ΔＰ，ΔＹ）を取得する。移動操作ユーザの視線方向が登録視点情報の視線方向へと移動する際、ユーザ同士の相対位置を保つために、移動受取ユーザの視点位置は図１８（Ｃ）に示すように、移動操作ユーザを中心とした回転移動する。このとき、ユーザの現実感を損なわないよう、移動操作ユーザのヨー軸まわりの回転のみを反映させる。移動操作前のユーザ６１１０の視点位置は登録時のユーザ６０１０の視点位置と変わらず（ｘ０，ｙ０，ｚ０）とする。このとき、移動操作を実行する前の移動受取ユーザ１８０１０の視点位置（ｘ２，ｙ２，ｚ２）、視線方向（Ｒ２，Ｐ２，Ｙ２）とすると、移動受取ユーザの視点位置の移動量（Δｘ，Δｙ，Δｚ）は以下のように求められる。
【０１２８】
【数２】
0006775957.tif 000003
移動量から、移動受取ユーザの世界座標での視点位置（ｘ０＋Δｘ，ｙ０＋Δｙ，ｚ２）を算出し、通信部１３０００へ出力する。そして、ステップＳ４０３０に処理を移す。
【０１２９】
ステップＳ１７０２０において、視点情報設定部１６０３０は、通信部１３０００から受け取った視点位置（ｘ０＋Δｘ，ｙ０＋Δｙ，ｚ２）および視点情報計測部１０１０で計測された視線方向を視点情報に設定する。そして、ステップＳ２０２０に処理を移す。
【０１３０】
本実施形態によれば、複数ユーザが複合現実空間を体験している際の視点移動操作において、ユーザ同士の相対位置が保たれるよう移動する。さらに、移動操作を行ったユーザは登録時のユーザの視線方向にロー角、ピッチ角の視線方向を保ったまま移動する移動操作を提供することが可能となる。
【０１３１】
尚、移動量の計算方法は一例であり、ユーザ同士の相対位置が保たれるよう移動され、かつ、移動操作を行ったユーザは登録時のユーザの視線方向にロー角、ピッチ角の視線方向を保ったまま移動する移動操作であればいずれの方法でも良い。世界座標系の原点を中心として回転移動をした後、平行移動を行う方法であっても良いし、移動受取ユーザの視点位置を中心として回転移動した後、平行移動を行う方法であっても良い。
【０１３２】
（変形例５）
上記第５、第６の実施形態では、複数ユーザが複合現実空間体験時に、移動操作ユーザ以外のすべてのユーザを移動受取ユーザとし移動する場合を示したが、本発明はこれに限定されない。すなわち、移動操作ユーザは複数ユーザの中からともに移動する移動受取ユーザを選択しても良いし、移動操作を行ったユーザ以外に、ともに移動するかを選択するダイアログを表示し、移動することを選択したユーザのみを移動受取ユーザとしても良い。
【０１３３】
（変形例６）
上記各実施形態では、ユーザが複合現実空間内で登録した視点情報を用い、視点移動を行っていたが、本発明はこれに限定されない。すなわち、システムによって登録された視点情報を用いても良いし、ユーザが仮想空間内で登録した視点情報を用いても良い。
【０１３４】
（変形例７）
上記各実施形態では、視点登録後から視点位置または視線方向に変更があった場合の視点移動と仮想空間内の仮想物体の位置または方向に変更があった場合の視点移動のいずれかを行っていたが、本発明はこれに限定されない。すなわち、視点位置および視線方向と仮想物体の位置および方向のいずれかが変更された場合、上記実施例を組み合わせ、視点高さを保ちながら、視線方向のヨー軸まわりの回転のみを反映させる移動操作を行っても良い。さらに、仮想物体とユーザとの相対位置を再現するよう移動操作を行っても良い。
【０１３５】
（変形例８）
上記各実施形態では、視点情報にＨＭＤの視点情報を用いていたが、本発明はこれに限定されない。すなわち、ＨＭＤの視点情報にゲームコントローラやマウス、キーボードなどの入力装置によるウォークスルー移動を付加した視点位置および視線方向を用いても良い。尚、視点移動の際には、ＨＭＤの視点高さを保ったまま、視線方向のヨー軸まわりの回転のみを反映させ移動操作を行う。
【０１３６】
（変形例９）
上記各実施形態では、登録時から仮想物体の位置および方向が移動した際、仮想物体を移動させずに視点位置を移動させる移動操作を行っていたが、本発明はこれに限定されない。すなわち、仮想物体の位置および方向を移動させることで、登録時のユーザの視点位置および視線方向と仮想物体位置および方向の相対位置を再現しても良い。
【０１３７】
（変形例１０）
上記各実施形態では、本発明を撮像画像に仮想画像を合成した画像を表示させるＭＲ（ＭｉｘｅｄＲｅａｌｉｔｙ）システムに適用した例を説明した。しかしながら本発明はこれに限られない。例えば、本発明は仮想画像のみを表示させるＶＲ（ＶｉｒｔｕａｌＲｅａｌｉｔｙ）システムに適用することができる。その場合には、上記各実施形態においては、画像生成部１０８０は、撮像画像取得部１０７０で取得された現実空間画像に仮想画像を重畳することなく、仮想空間画像そのままを表示装置１３００に表示させるように機能すればよい。そしてそのようなＶＲシステムに本発明を適用する場合には、現実空間にマーカを配置しておき（マーカの配置情報は既知）、そのマーカを画像撮像部１１２０によって撮像した画像を用いて視点情報計測に用いてもよい。マーカを用いた視点情報の計測については広く知られているので説明は省略する。もちろん、センサ１１１０を用いて視点情報を計測する場合には、撮像画像取得部１０７０はなくてもよい。
【０１３８】
（他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006775957.tif 000004
【図２】
0006775957.tif 000005
【図３】
0006775957.tif 000006
【図４】
0006775957.tif 000007
【図５】
0006775957.tif 000008
【図６】
0006775957.tif 000009
【図７】
0006775957.tif 000010
【図８】
0006775957.tif 000011
【図９】
0006775957.tif 000012
【図１０】
0006775957.tif 000013
【図１１】
0006775957.tif 000014
【図１２】
0006775957.tif 000015
【図１３】
0006775957.tif 000016
【図１４】
0006775957.tif 000017
【図１５】
0006775957.tif 000018
【図１６】
0006775957.tif 000019
【図１７】
0006775957.tif 000020
【図１８】
0006775957.tif 000021
【図１９】
0006775957.tif 000022