(57)【特許請求の範囲】
【請求項１】
仮想空間中に置かれているウィジェットを制御する方法であって、
前記仮想空間に対する視野および注視点を移動させる視野移動ステップと、
前記ウィジェットと前記注視点が重なっているか否かを判断し、重なっている場合には前記ウィジェットに所定の入力を行う入力ステップと、
前記ウィジェットの少なくとも一部が前記視野の外に位置するようになったことを判定する判定ステップと、
前記ウィジェットの少なくとも一部が前記視野の外に位置すると判定されたとき、前記視野の外に位置された前記ウィジェットの少なくとも一部が前記視野内に位置されるように前記ウィジェットを移動させるウィジェット移動ステップと、
を有する方法。
【請求項２】
前記判定ステップにおいて、前記ウィジェットの少なくとも一部が所定方向において前記視野の外に位置するようになったことを判定し、
前記ウィジェット移動ステップにおいて、前記ウィジェットを前記所定方向に沿って移動させることにより、前記視野の外に位置された前記ウィジェットの少なくとも一部が前記視野内に位置されるように前記ウィジェットを移動させる、請求項１に記載の方法。
【請求項３】
前記ウィジェット移動ステップにおいて、前記ウィジェットを前記視野の移動速度によらず有限の速度で移動させる、請求項１又は２に記載の方法。
【請求項４】
前記ウィジェット移動ステップにおいて、前記ウィジェットを前記視野内に戻るような速度で移動させる、請求項３に記載の方法。
【請求項５】
前記ウィジェットを前記視野の中の初期状態の位置に対応する仮想空間の位置に置き、前記ウィジェットの移動速度を初期化する初期化ステップと、
前記ウィジェット移動ステップにおいて前記ウィジェットを移動させた後に、前記ウィジェットの移動速度を再初期化する再初期化ステップと、
を有する請求項１〜３のいずれか一項に記載の方法。
【請求項６】
前記再初期化ステップにおいて、前記ウィジェットを移動させた後に、前記ウィジェットの位置が前記初期状態の位置と一致した場合、前記ウィジェットの移動速度を再初期化する、請求項５に記載の方法。
【請求項７】
仮想空間中に置かれているウィジェットを用いて入力を行う入力方法であって、
前記仮想空間に対する視野を移動させることによって、注視点を移動させる視野移動ステップと、
前記ウィジェットと前記注視点を重なっているか否かを判断し、重なっている場合には前記ウィジェットを選択するウィジェット選択ステップと、
前記選択されたウィジェットに対応する入力を行う入力ステップを有する、
入力方法において、
前記ウィジェットを前記視野の中の初期状態の位置に対応する仮想空間の位置に置き、前記ウィジェットの仮想空間中の移動速度ベクトルＶを０に初期化する初期化ステップと、
前記ウィジェットを仮想空間中で前記移動速度ベクトルＶで移動させるウィジェット移動ステップと、
前記ウィジェットの前記視野の中の位置が、前記視野の中の初期状態の位置と一致した場合、前記移動速度ベクトルＶを０と再初期化するウィジェット移動速度再初期化ステップと、
前記ウィジェットの少なくとも一部が前記視野の外に位置するようになったことを判定するウィジェット視野外判定ステップと、
前記ウィジェット視野外判定ステップが、前記ウィジェットの少なくとも一部が前記視野の外に位置すると判定したとき、前記ウィジェットを前記移動させた視野の中で前記視野の中の初期状態の位置に戻るような値を前記移動速度ベクトルＶに与えるウィジェット移動速度設定ステップを更に有することを特徴とする、
方法。
【請求項８】
請求項１〜７のいずれか一項に記載の方法を実行するためのプログラム。
【請求項９】
請求項１〜７のいずれか一項に記載の方法が実行される装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想現実空間(ＶＲ)、拡張現実空間（ＡＲ）などの仮想空間において、操作者が操作を行うための適切なグラフィカルユーザインターフェースの表示を行う装置、方法、コンピュータプログラム、および、コンピュータプログラムを記録した記録媒体に関するものであって、特に、ユーザの頭部に装着したヘッドマウント・ディスプレイ（ＨＭＤ）を用いた没入型仮想空間で用いることに適しているものである。
【背景技術】
【０００２】
ユーザの頭部に装着され、眼前に配置されたディスプレイ等によってユーザに仮想空間における画像を提示可能なヘッドマウント・ディスプレイ（ＨＭＤ）が知られている。特許文献１には、視野の周辺に相当する部分に複数のアイコン、メニュー等のウィジェットを透視図法を用いて表示することによって、中央部の視野を確保しつつ、多数のアイコン、メニュー等のウィジェットも表示することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−０３２０８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載される手法は、仮想空間における実質的な視野が視野中央部のみとなってしまう。
本発明は、なるべく視野をさえぎらないようにウィジェットを仮想空間上に表示することを課題とする。
【課題を解決するための手段】
【０００５】
本発明によれば、仮想空間中に置かれているウィジェットを用いて入力を行う入力方法であって、前記仮想空間中で注視点を移動させる注視点移動ステップと、前記ウィジェットと前記注視点を重なっているか否かを判断し、重なっている場合には前記ウィジェットを選択するウィジェット選択ステップと、前記選択されたウィジェットに対応する入力を行う入力ステップを有する、入力方法が得られる。
【０００６】
また、本発明によれば、仮想空間中に置かれているウィジェットを用いて入力を行う入力装置であって、前記仮想空間中で注視点を移動させる注視点移動部と、前記ウィジェットと前記注視点を重なっているか否かを判断し、重なっている場合には前記ウィジェットを選択するウィジェット選択部と、前記選択されたウィジェットに対応する入力を行う入力部を有する、入力装置が得られる。
【発明の効果】
【０００７】
本発明によれば、仮想空間における実質的な視野を広くし得る。
本発明のその他の特徴及び利点は、後述する実施例の説明、添付の図面、及び請求の範囲から明らかなものとなる。
【図面の簡単な説明】
【０００８】
【図１】本発明によって、浮遊しているように表示される小型化したウィジェットの一例を示す図である。
【図２】図１に表示されている要素を説明するとともに、ウィジェット２０１とカーソル２０２の位置の初期状態の一例について示す図である。
【図３】図２の状態から、視野を上（＋Ｙ方向）、および、若干右側（＋Ｘ方向）に移動させた状態の図である。
【図４】図２の状態から、視野を右（＋Ｘ方向）に移動させた状態の図である。
【図５】図４から更に視野を右（＋Ｘ方向）に移動させた状態の図である。
【図６】図５のあと、ウィジェット２０１が視野の中での初期状態の位置に戻った状態の図である。
【図７】図２の状態から、視野を下（−Ｙ方向）に移動させた状態の図である。
【図８】図７から更に視野を下（−Ｙ方向）に移動させた状態の図である。
【図９】図８から更に視野を下（−Ｙ方向）に移動させた結果、ウィジェット２０１が完全に視野の外に位置し、見えなくなった状態の図である。
【図１０】操作者を中心とする仮想球体１００１を示す図である。
【図１１】ウィジェット２０１の動作のうち左右方向（Ｘ方向）へ移動についての処理を示す図である。
【図１２】ウィジェット２０１が選択されるときの処理を示す図である。
【図１３】ウィジェット２０１を表示するためのシステム１３００の概要を示す図である。
【図１４】ヘッドマウント・ディスプレイ（ＨＭＤ）１３１０の傾きセンサで検知可能な角度情報データを説明する図である。
【図１５】ヘッドマウント・ディスプレイ（ＨＭＤ）１３１０上に設けられた、ポジション・トラッキング・カメラ（位置センサ）１３３０のために赤外線を発する点を示す図である。
【図１６】ウィジェット２０１を表示するためのコンポーネントの主要機能の構成を示す図である。
【発明を実施するための形態】
【０００９】
［本発明の実施形態の説明］
最初に、本発明の実施形態の内容を列記して説明する。本発明の一実施形態のプログラムは、以下のような構成を備える。
【００１０】
（項目１）
仮想空間中に置かれているウィジェットを用いて入力を行う入力方法であって、前記仮想空間中で注視点を移動させる注視点移動ステップと、前記ウィジェットと前記注視点を重なっているか否かを判断し、重なっている場合には前記ウィジェットを選択するウィジェット選択ステップと、前記選択されたウィジェットに対応する入力を行う入力ステップを有する、入力方法。
【００１１】
本項目の入力方法によれば、仮想空間における実質的な視野を広くし得る。例えば、本項目の入力方法、フローティング・グラフィカルユーザインターフェース、すなわち、仮想空間上に浮遊しているように表示されている小型化したウィジェットを用いることにより視野を確保することができるとともに、仮想空間上の視線の移動という常に行われている操作を用いて入力を行うことができるので、入力を行うために特別な操作を行う必要がない。特に、ヘッドマウント・ディスプレイ（ＨＭＤ）本体の姿勢データを用い仮想空間上の視線の移動を行っている場合には、その効果は顕著である。
【００１２】
（項目２）
前記注視点移動ステップが、前記仮想空間に対する視野を移動させることによって、前記注視点を移動させる視野移動ステップの一部であることを特徴とする、項目１に記載の入力方法。
【００１３】
（項目３）
前記視野移動ステップが、計測した操作者の頭部の動きを用いて前記仮想空間に対する視野を移動させることを特徴とする、項目２に記載の入力方法。
【００１４】
（項目４）
前記ウィジェットを前記視野の中の初期状態の位置(Ｘfv0，Ｙfv0)に対応する仮想空間の位置（Ｘvs0，Ｙvs0，Ｚvs0）に置き、前記ウィジェットの仮想空間中の移動速度ベクトルＶを０に初期化する初期化ステップと、前記ウィジェットを仮想空間中で前記移動速度ベクトルＶで移動させるウィジェット移動ステップと、前記ウィジェットの前記視野の中の位置が、前記視野の中の初期状態の位置と一致した場合、前記移動速度ベクトルＶを０と再初期化するウィジェット移動速度再初期化ステップと、前記ウィジェットが視野の外に位置するようになったことを判定するウィジェット視野外判定ステップと、前記ウィジェット視野外判定ステップが、前記ウィジェットが視野の外に位置すると判定したとき、前記ウィジェットを前記移動させた視野の中で前記視野の中の初期状態の位置に戻るような値を前記移動速度ベクトルＶに与えるウィジェット移動速度設定ステップを更に有することを特徴とする、項目２又は３に記載の入力方法。
【００１５】
（項目５）
前記ウィジェット移動速度再初期化ステップが、前記ウィジェットの前記視野の中の位置が、前記視野の中の初期状態の位置と一致したと判定するのは、前記ウィジェットの前記視野の中の左右方向（Ｘ方向）の前記視野の中の位置が、前記視野の中の初期状態の位置Ｘfv0と一致したときであり、前記ウィジェット視野外判定ステップにおいて、前記ウィジェットが視野の外に位置するようになったときとは、前記視野の中で左右方向（Ｘ方向）の外に位置するようになったときであり、前記ウィジェット移動速度設定ステップにおいて、前記ウィジェットを前記移動させた視野の中で前記視野の中の初期状態の位置に戻るような値を前記移動速度ベクトルＶに与えるとは、前記視野の中の左右方向（Ｘ方向）のみについて、前記視野の中の初期状態の位置Ｘfv0に戻るように仮想空間中で移動させるような値を前記移動速度ベクトルＶに与えることであること、を特徴とする項目４に記載の入力方法。
【００１６】
（項目６）
前記入力ステップが、一定時間以上継続して前記ウィジェットが注視されていることを判定した時に、前記選択されたウィジェットに対応する入力を行うことを特徴とする、項目１〜５のいずれか一項に記載の入力方法。
【００１７】
（項目７）
項目１〜６のいずれか一項に記載の方法を実行するためのプログラム。
（項目８）
項目１〜６のいずれか一項に記載の方法を実行するためのプログラムを記録した記録媒体。
【００１８】
（項目９）
仮想空間中に置かれているウィジェットを用いて入力を行う入力装置であって、前記仮想空間中で注視点を移動させる注視点移動部と、前記ウィジェットと前記注視点を重なっているか否かを判断し、重なっている場合には前記ウィジェットを選択するウィジェット選択部と、前記選択されたウィジェットに対応する入力を行う入力部を有する、入力装置。
【００１９】
本項目の入力装置によれば、仮想空間における実質的な視野を広くし得る。例えば、本項目の入力装置、フローティング・グラフィカルユーザインターフェース、すなわち、仮想空間上に浮遊しているように表示されている小型化したウィジェットを用いることにより視野を確保することができるとともに、仮想空間上の視線の移動という常に行われている操作を用いて入力を行うことができるので、入力を行うために特別な操作を行う必要がない。特に、ヘッドマウント・ディスプレイ（ＨＭＤ）本体の姿勢データを用い仮想空間上の視線の移動を行っている場合には、その効果は顕著である。
【００２０】
（項目１０）
前記注視点移動部が、前記仮想空間に対する視野を移動させることによって、前記注視点を移動させる視野移動部の一部であることを特徴とする、項目９に記載の入力装置。
【００２１】
（項目１１）
前記視野移動部が、計測した操作者の頭部の動きを用いて前記仮想空間に対する視野を移動させることを特徴とする、項目１０に記載の入力装置。
【００２２】
（項目１２）
前記ウィジェットを前記視野の中の初期状態の位置(Ｘfv0，Ｙfv0)に対応する仮想空間の位置（Ｘvs0，Ｙvs0，Ｚvs0）に置き、前記ウィジェットの仮想空間中の移動速度ベクトルＶを０に初期化する初期化部と、前記ウィジェットを仮想空間中で前記移動速度ベクトルＶで移動させるウィジェット移動部と、前記ウィジェットの前記視野の中の位置が、前記視野の中の初期状態の位置と一致した場合、前記移動速度ベクトルＶを０と再初期化するウィジェット移動速度再初期化部と、前記ウィジェットが視野の外に位置するようになったことを判定するウィジェット視野外判定部と、前記ウィジェット視野外判定部が、前記ウィジェットが視野の外に位置すると判定したとき、前記ウィジェットを前記移動させた視野の中で前記視野の中の初期状態の位置に戻るような値を前記移動速度ベクトルＶに与えるウィジェット移動速度設定部を更に有することを特徴とする、項目１０又は１１に記載の入力装置。
【００２３】
（項目１３）
前記ウィジェット移動速度再初期化部が、前記ウィジェットの前記視野の中の位置が、前記  視野の中の初期状態の位置と一致したと判定するのは、前記ウィジェットの前記視野の中の左右方向（Ｘ方向）の前記視野の中の位置が、前記視野の中の初期状態の位置Ｘfv0と一致したときであり、前記ウィジェット視野外判定部において、前記ウィジェットが視野の外に位置するようになったときとは、前記視野の中で左右方向（Ｘ方向）の外に位置するようになったときであり、前記ウィジェット移動速度設定部において、前記ウィジェットを前記移動させた視野の中で前記視野の中の初期状態の位置に戻るような値を前記移動速度ベクトルＶに与えるとは、前記視野の中の左右方向（Ｘ方向）のみについて、前記視野の中の初期状態の位置Ｘfv0に戻るように仮想空間中で移動させるような値を前記移動速度ベクトルＶに与えることであること、を特徴とする項目１２に記載の入力装置。
【００２４】
（項目１４）
前記入力部が、一定時間以上継続して前記ウィジェットが注視されていることを判定した時に、前記選択されたウィジェットに対応する入力を行うことを特徴とする、項目９〜１３のいずれか一項に記載の入力装置。
【００２５】
［本発明の実施形態の詳細］
以下、図面を参照して、本発明の実施の形態を説明する。なお、この実施の形態は、各種センサ（例えば、加速度センサや角速度センサ）を備え、その姿勢データを計測できるヘッドマウント・ディスプレイ（ＨＭＤ）を用い、その姿勢データを用いてヘッドマウント・ディスプレイ（ＨＭＤ）に表示される画像をスクロールし仮想空間上の視線の移動を実現する没入型仮想空間を前提として記述されているが、通常のディスプレイ上に仮想空間を表示し、キーボード、マウスやジョイスティックなどによる入力によって、仮想空間上の視線を移動するものに適用することもできる。
【００２６】
また、図中、同一の構成要素には同一の符号を付してある。
図１は、本発明によって浮遊しているように表示される小型化したウィジェットの一例を示す図であり、図２は、図１に表示されている要素を説明するとともに、ウィジェット２０１とカーソル２０２の位置の初期状態の一例について示す図である。
【００２７】
ウィジェット２０１は、仮想空間上で浮遊しているように表示されている。
図１において、ウィジェット２０１は、無人機（ドローン）がボタンを吊り下げている形態をしているが、これは、対象となる仮想空間で浮遊していて違和感をおこさない種類のデザインを選べばよく、ＵＦＯ、ロボット、昆虫、鳥、妖精やおばけなどでもよい。
【００２８】
図１では、ウィジェット２０１は、操作対象となる２つのボタンを有しているが、操作対象となるボタンなどを２つ設けることに限ることはなく、画面の大きさや精細度、ウィジェット２０１でさえぎられる視野の大きさ、必要な操作の種類などにあわせ、適切なものを適切な数設ければよい。さらには、操作対象となるボタンなどを常に表示する必要もなく、通常のグラフィカルユーザインターフェースのドロップダウンリスト、ポップアップメニューやコンテキストメニューと同様に、ウィジェット２０１がいったん選択されたことを感知して、操作対象となるボタンなどを展開して表示するものでもよい。
【００２９】
カーソル２０２は、仮想空間上で注視している場所、すなわち、注視点を示すものである。
姿勢データを計測できるヘッドマウント・ディスプレイ（ＨＭＤ）を用いた場合であっても、その姿勢データはヘッドマウント・ディスプレイ（ＨＭＤ）を装着した操作者の頭部の動きを検出するものが多く、その場合、その姿勢データによって仮想空間中の視野が移動するように制御し、注視点自体は視野の中央、すなわち、画面の中央に固定されている場合が通常である。この場合は、このカーソル２０２の表示は省略しても、操作上の違和感はない。
【００３０】
なお、この注視点はウィジェット２０１への操作を行うための注視点なので、必ずしも視野の中央、すなわち、画面の中央に置く必要はなく、視野の中央からは偏移した位置に置くことも可能である。その場合には、カーソル２０２が表示されているほうが操作は容易となる。また、眼球の移動を検知したり、なんらかの補助的な入力を用いたりすることによって、視野の移動とは独立して注視点を移動させることができる場合にも、カーソル２０２が表示されているほうが操作は容易となる。
【００３１】
また、カーソル２０２を表示する場合においても、カーソル２０２が視野をさえぎることを考えれば、ウィジェット２０１とカーソル２０２が示す注視点が近接した時のみ、カーソル２０２が表示されるようにしてもよい。
【００３２】
窓２０３は、仮想空間上の固定された位置に存在する窓であって、仮想空間と視野２０４の相対的な位置関係を示すために便宜的に記載されたものである。また、図２に示すように、視野２０４の左右方向をＸ方向、上下方向をＹ方向、奥行き方向をＺ方向と呼ぶこととする。
【００３３】
以下、図２〜９を用いて、ウィジェット２０１の仮想空間上での動きを説明する。この説明は、注視点は、視野の中央に固定され、カーソル２０２も画面の中央に固定されつつ表示されていることを前提としてなされているが、注視点が視野の中央からは偏移した位置に置かれている場合、視野を固定しつつ注視点を移動させることができる場合、カーソル２０２の表示が省略されたりウィジェット２０２と近接した場合のみに表示されたりする場合にも適用することができる。したがって、カーソル２０２が表示されない場合には、カーソル２０２の代わりに注視点と解釈すればよい。
【００３４】
既に述べたように、図２は、ウィジェット２０１とカーソル２０２の位置の初期状態の一例について示す図である。
図２に示す一例では、ウィジェット２０１は、初期状態として、左右方向（Ｘ方向）は視野のほぼ中央に位置するが、上下方向（Ｙ方向）は視野の中央より上側に位置している。この初期状態の位置を視野に対する座標軸で(Ｘfv0，Ｙfv0)とし、仮想空間中の位置を仮想空間中の座標軸で（Ｘvs0，Ｙvs0，Ｚvs0）とする。
【００３５】
ウィジェット２０１を初期状態で表示する視野の中での位置は、これに限られるものではない。ウィジェット２０１で視野の重要な部分がさえぎられることを回避することのみを考えれば、ウィジェット２０１が視野の中央から離れて表示されるほうがよく、ウィジェット２０１が視野の隅に表示されるものでもなんら問題はない。しかしながら、次に示すように、視野を移動させてウィジェット２０１を視野の中央であるカーソル２０２の位置に移動させ、互いに重ね合わせることによって、ウィジェット２０１に対して操作を行うので、ウィジェット２０１が視野の中央から離れた位置にあればあるほど、操作に必要な時間がかかることとなる。
【００３６】
図３は、図２の状態から、視野を上にΔＹ（＋Ｙ方向）、および、若干右側にΔＸ（＋Ｘ方向）に移動させたときの図である。ウィジェット２０１は、基本的には仮想空間に対して固定した位置で浮遊しており、図３では、仮想空間中の座標軸で（Ｘvs0，Ｙvs0，Ｚvs0）に留まっているが、視野を上（＋Ｙ方向）、若干右側（＋Ｘ方向）に移動させることにより、ウィジェット２０１は視野に対する座標軸で(Ｘfv0−ΔＸ，Ｙfv0−ΔＹ)に移動し、結局、視野の中央、若干左よりに持ってくることができる。窓２０３は仮想空間中で移動しないから、図２と図３を比較すれば、ウィジェット２０１と窓２０３の位置関係が変化していないことがみてとれる。
【００３７】
図３に示されたものは、この時点で実際には、カーソル２０２がウィジェット２０１の右側のボタンに重なっており、ウィジェット２０１の右側のボタンは選択されたことを表示するために変化した表示となっている。ウィジェット２０１の右側のボタンに対応した操作を行うためには、この選択を確定させることが必要となる。この例でいえば、視野を固定し、カーソル２０２を、ウィジェット２０１の右側のボタンに一定時間以上重ねて表示させることによって、選択を確定させるのが自然な操作手法ではあるが、それ以外に、キーボード等による補助的な入力を用いたり、ウィジェット２０１上に選択の確定のためのボタンを設けたり、色々な手法を用いることができる。
【００３８】
なお、図３では、カーソル２０２がウィジェット２０１の右側のボタンに重なったことによって、単純に、ウィジェット２０１の右側のボタンを選択することとしているが、既に述べたように、通常のグラフィカルユーザインターフェースのドロップダウンリスト、ポップアップメニューやコンテキストメニューと同様に、ウィジェット２０１がいったん選択されたことを感知して、操作対象となるボタンなどを展開して表示するものでもよい。
【００３９】
更に、以下に説明するように、ウィジェット２０１が仮想空間中で移動することを考えると、ウィジェット２０１が選択されたかを判断するためには、ウィジェット２０１とカーソル２０２が重なっていることを条件として判断するのみならず、ウィジェット２０１の仮想空間中での移動速度が０である条件を加えてもよい。
【００４０】
次に、図４〜７を用いて、視野を左右方向（Ｘ方向）に移動させたときに、ウィジェット２０１がどのように表示されるかについて説明する。
図４は、図２の状態から、視野を右（＋Ｘ方向）に移動させた状態で、その結果、ウィジェット２０１は視野の中で左（−Ｘ方向）に移動している。既に述べたように、ウィジェット２０１は、基本的には仮想空間に対して固定した位置で浮遊しているので、図２と図４を比較すれば、ウィジェット２０１と窓２０３の相対的な位置関係が変化していないことがみてとれる。
【００４１】
図５は、図４から更に視野を右（＋Ｘ方向）に移動させた状態である。この時点では、ウィジェット２０１は更に左（−Ｘ方向）に移動し、その一部が視野の外に位置することとなる。この時点までは、ウィジェット２０１は仮想空間に対して固定した位置で浮遊しているが、ウィジェット２０１は左右方向（Ｘ方向）に視野の外に位置した時点で、視野の中での初期状態の位置に戻ろうと仮想空間中で移動を開始する。なお、ウィジェット２０１が視野の外に位置したことを判断する条件は、ウィジェット２０１の一部が視野の外に位置した場合、ウィジェット２０１の半分が視野の外に位置した場合、ウィジェット２０１が完全に視野の外に位置した場合などのいずれでもよい。
【００４２】
この時点で戻る視野の中での初期状態の位置は、具体的には、視野の中での左右方向（Ｘ方向）の初期状態の位置Ｘfv0であって、この時点で視野の中での上下方向（Ｙ方向）にも初期状態の位置と相違している場合であっても、上下方向（Ｙ方向）の相違を維持したままに、視野の中での左右方向（Ｘ方向）の初期状態の位置Ｘfv0に戻るように仮想空間中で移動するほうがよい。
【００４３】
ウィジェット２０１が仮想空間中で実際に浮遊しているようにみせるために、この視野の中での初期状態の位置に戻ろうとする仮想空間中での移動は有限の速度Ｖｘで行われ、視野の移動が遅い場合と速い場合で見ための追従の状況を変化させるのが望ましいが、瞬時移動であってもよい。
【００４４】
図６は、視野の中での初期状態の位置、すなわち、この場合では左右方向（Ｘ方向）で視野の初期状態の位置Ｘfv0に戻ったウィジェット２０１を示す図である。仮想空間中でウィジェット２０１は移動したので、この時点では、仮想空間中の座標軸で初期状態の位置である（Ｘvs0，Ｙvs0，Ｚvs0）とは異なる場所に位置している。図２におけるウィジェット２０１と窓２０３の位置関係と、図６におけるウィジェット２０１と窓２０３の位置関係を比較すると、図６の時点ではウィジェット２０１と仮想空間の位置関係が変化していることがみてとれる。
【００４５】
続いて、図７〜１０を用いて、視野を上下（Ｙ方向）に移動させたときに、ウィジェット２０１がどのように表示されるかについて説明する。
図７は、図２の状態から、視野を下（−Ｙ方向）に移動させた状態で、その結果、ウィジェット２０１は視野の中で上（＋Ｙ方向）に移動している。図４と同様に、図２と図７を比較すれば、ウィジェット２０１と窓２０３の相対的な位置関係が変化していないことがみてとれる。
【００４６】
図８は、図７から更に視野を下（−Ｙ方向）に移動させた状態である。この時点では、ウィジェット２０１は、その一部が視野の外に位置することとなる。図５のようにウィジェット２０１が左右方向（Ｘ方向）で視野の外に位置する場合には、ウィジェット２０１は視野の中での初期状態の位置に戻ろうと仮想空間中で移動を開始するが、この実施例では、上下方向（Ｙ方向）の場合はそのような移動はおこなわない。
【００４７】
図９は、図８から更に視野を下（−Ｙ方向）に移動させた結果、ウィジェット２０１が完全に視野の外に位置し、見えなくなっていることを示す図である。
図４〜７に記載される視野を左右方向（Ｘ方向）に移動させた場合と、図７〜１０に記載される視野を上下方向（Ｙ方向）に移動させた場合で、ウィジェット２０１が視野の外側に位置した場合の処理を異ならせたのは以下の理由による。
【００４８】
人間の視野が左右方向（Ｘ方向）に移動する動作、すなわち、図１４におけるＹ軸を中心として回転するヨー角の動きは、首を左右にねじる動作の他に、体全体が左右を向く動作があり、体全体を左右に向けたりすることによって人間の視野が左右方向（Ｘ方向）に移動したあと、新たに向いた方向を中心として更に左右を向くという動作をすることができる。これに対し、視野が上下方向（Ｙ方向）に移動する動作、すなわち、図１４におけるＸ軸を中心として回転するピッチ角の動きは、首を前後に曲げる動作しかなく、新たに向いた位置を長い間継続するとか、新たに向いた位置を中心として更に上下方向（Ｙ方向）に視野を移動させることは難しく、動き自体が一時的に留まるものである。すなわち、視野を上下方向（Ｙ方向）に移動させる場合と、視野を左右方向（Ｘ方向）に移動させる場合で、人間の動作が異なることから、視野を上下方向（Ｙ方向）に移動させる場合と、視野を左右方向（Ｘ方向）に移動させる場合で、ウィジェット２０１の動きを異ならせる方が自然なものとなるからである。
【００４９】
したがって、例えば、表示の対象となる仮想空間が無重力空間であって、図１４におけるＸ軸を中心として回転するピッチ角の動きとして、体全体が前転や後転するような動きを許容するのであれば、図７〜１０の記載にも関わらず、視野を上下方向（Ｙ方向）に移動させウィジェット２０１が視野の外側に位置した場合にも、図４〜７に記載される視野を左右方向（Ｘ方向）に移動させた場合と同様にウィジェット２０１を視野の中での初期状態の位置に戻すように構成したほうが自然なものとなる。
【００５０】
仮想空間中の視野の移動としては、これら、左右方向（Ｘ方向）、上下方向（Ｙ方向）に加え、視線の方向、すなわち、図１４でいう奥行き方向（Ｚ方向）を中心として回転するロール角の動きがある。
【００５１】
この奥行き方向（Ｚ方向）を中心として回転するロール角の動きは、実際には左右に首を傾ける動作であって、その動きは、首を前後に曲げる動作によって、視野を上下方向（Ｙ方向）に移動させる、ピッチ角の動きの場合と同様の制限があり、動き自体が一時的なものに留まるので、上下方向（Ｙ方向）に視野が移動するときと同様に、Ｚ軸を中心として回転するロール角の動きを行った結果ウィジェット２０１が視野の外に位置したとしても、ウィジェット２０１を仮想空間中で移動させる必要はない。
【００５２】
これに対し、上下方向（Ｙ方向）に視野が移動するときに議論したように、表示の対象となる仮想空間が無重力空間であって、奥行き方向（Ｚ方向）を中心として回転するロール角の動きとして、体全体が左右に側転する動きを許容する場合には、仮想空間中での操作者とウィジェット２０１のＺ軸を中心として回転する方向の位置が相対的に保持されるように、ウィジェット２０１が操作者の動きに追従して仮想空間中で動くようにすればよい。このようにウィジェット２０１を仮想空間中で移動させることも、結局、ウィジェット２０１を視野の中で固定して表示するということなので、過渡的な場合を除けば、その移動によってウィジェット２０１が視野の外に出ることはなく、その点について判断し特別な処理をする必要はない。
【００５３】
ここまでは理解を容易とするために、視野の動きが、図１４でいうヨー角、ピッチ角、ロール角の動きによるものとして説明してきたが、実際には操作者もウィジェット２０１も仮想空間中に存在するので、操作者が仮想空間中を動き回る場合についても考える必要がある。
【００５４】
まず、操作者が仮想空間中を動き回る場合のうち、図２，１４でいうＺ軸方向に動くことを考える。
ウィジェット２０１が操作の対象となるものであることを考えると、ウィジェット２０１の見かけの大きさが変わらないほうが望ましい。それを実現するためには、仮想空間中での操作者とウィジェット２０１の間の距離が保持されるように、図１０に示すように、ウィジェット２０１は、仮想空間中で操作者を中心とした仮想球体１００１の上に存在させる必要がある。
【００５５】
以下、説明を簡単にするために、ウィジェット２０１、カーソル２０２、操作者の位置関係は、図１０に示す位置関係であるとする。このときには、操作者からは図２のような視野となっている。
【００５６】
そして、仮想空間上で操作者が、操作者とカーソル２０２を結ぶＺ軸方向に移動した場合には、この仮想球体１００１も操作者とカーソル２０２を結ぶＺ軸方向に移動するので、ウィジェット２０１も仮想球体１００１上に存在することを維持するために、結局、操作者のＺ軸方向への移動に追従して移動するのが好ましい。この場合も、ウィジェット２０１が仮想空間中で実際に浮遊しているようにみせるために移動は有限の速度で行われ、操作者の移動が遅い場合と速い場合で見ための追従の状況を変化させるのが望ましいが、瞬時移動であってもよい。
【００５７】
なお、ウィジェット２０１が細かい移動を繰り返すことは、見た目上煩わしいので、この追従は、操作者のＺ軸方向への移動がある一定以上の大きさになってから行ってもよく、追従していない操作者の移動が残っている場合には、その後、ウィジェット２０１の移動が必要となった時にまとめておこなえばよい。
【００５８】
このようにウィジェット２０１を仮想空間中で移動させることとは、結局、ウィジェット２０１を視野の中で固定して表示するということなので、Ｚ軸方向でウィジェット２０１に近づく方向の視野の移動があまりにも速くウィジェット２０１の仮想空間中での移動が追いつかず、過渡的に視野の外に出る場合を除けば、その移動によってウィジェット２０１が視野の外に出ることはない。そして、この過渡的な場合であっても、視野の移動が停止すればウィジェット２０１は視野の中に戻ってくるので、ウィジェット２０１が視野の内外のいずれに存在するかについて判断し特別な処理を行う必要はない。
【００５９】
次に、操作者が図２，１４でいうＸ軸方向、Ｙ軸方向に移動することを考える。その場合、図１０に示すような、操作者を中心とした仮想球体１００１上にウィジェット２０１を存在させることを前提とすると、操作者自体が左右方向(Ｘ方向)、上下方向(Ｙ方向)に移動した場合にも、仮想球体１００１自体が移動し、その結果ウィジェット２０１が仮想球体１００１上から逸脱することとなる。
【００６０】
視野が左右方向(Ｘ方向)に移動した結果、ウィジェット２０１が視野の外に移動した場合には、ウィジェット２０１が視野の中での初期状態の位置に戻ろうとする動きをすることは既に説明した。操作者自体がＸ軸方向、Ｙ軸方向に移動した結果、視野が左右方向(Ｘ方向)、上下方向(Ｙ方向)に移動する場合には、この既に説明したウィジェット２０１の動きに加え、ウィジェット２０１と移動した操作者の新たな位置を結ぶ直線を求め、その直線と移動後の仮想球体１００１が交わる仮想空間中の位置にウィジェット２０１を移動させる必要がある。
【００６１】
この場合も、ウィジェット２０１が仮想空間中で実際に浮遊しているようにみせるために移動は有限の速度で行われ、操作者の移動が遅い場合と速い場合で見ための追従の状況を変化させるのが望ましいが、瞬時移動であってもよい。
【００６２】
なお、この場合も、操作者のＺ軸方向への移動と同様に、ウィジェット２０１が細かい移動を繰り返すことは、見た目上煩わしいので、この追従は、操作者の移動がある一定以上の大きさになってから行ってもよく、追従していない操作者の移動が残っている場合には、その後、ウィジェット２０１の移動が必要となった時にまとめておこなえばよい。
【００６３】
図１１，１２は、ここまで説明したウィジェット２０１の動作を実現する処理を示すフローチャートである。なお、このフローチャートは基本的な処理のみ示すものであって、たとえば、Ｚ軸方向の移動についての処理や、仮想球体１００１上からのウィジェット２０１の逸脱を防ぐ処理は省略している。
【００６４】
図１１は、視野２０４の移動、および、ウィジェット２０１の移動についての処理を示している。
ステップＳ１１０１とステップＳ１１０２は、ウィジェット２０１の表示についての初期化ステップで、ウィジェット２０１を視野の中の初期状態の位置(Ｘfv0，Ｙfv0)に対応する仮想空間の位置（Ｘvs0，Ｙvs0，Ｚvs0）に置き、視野全体を描画するとともに、仮想空間上のウィジェット２０１の移動速度ベクトルＶを０と初期化する。
【００６５】
ステップＳ１１０３はウィジェット２０１を仮想空間中で移動速度ベクトルＶで移動させるウィジェット移動ステップである。この実施例では、初期状態を含むほとんどの状態で移動速度ベクトルＶ＝０であるから、そのときは、このステップＳ１１０３はなんら動作をしない。しかしながら、移動速度ベクトルＶに０以外の値が設定された時には、その値を用いて、後に述べるステップＳ１１０７、ステップＳ１１０８によって、ウィジェット２０１を視野の中での初期状態の位置に戻すように、ＶΔｔだけ、仮想空間中で移動させる。
【００６６】
ステップＳ１１０４とステップＳ１１０５は、ウィジェット２０１が視野の中での初期状態の位置に戻ったことを検知し、移動速度ベクトルＶを０と再初期化するウィジェット移動速度再初期化ステップである。
【００６７】
ステップＳ１１０６は、操作者の操作に応じて視野を仮想空間内で移動させ、それに対応して視野の描画をする視野移動ステップである。なお、この視野移動ステップは、仮想空間中の視野が移動するように制御することによって、注視点を移動させるものであるが、眼球の移動を検知したり、なんらかの補助的な入力を用いたりすることによって、視野の移動とは独立して注視点を移動させることができる場合には、この視野移動ステップの中で併せてその処理をすればよい。視野移動に基づくものであれ、眼球の移動に基づくものであれ、この視野移動ステップの中の注視点移動に関する部分は、注視点移動ステップともいうことができる。
【００６８】
この視野移動ステップは、ヘッドマウント・ディスプレイ（ＨＭＤ）が計測した操作者の頭部の動きを検出し、検出した姿勢データによって、仮想空間中の視野が移動するように制御するように構成することが望ましい。
【００６９】
ステップＳ１１０７は、ウィジェット２０１が移動中であるかどうかを判定するステップである。ウィジェット２０１が移動中である場合には、移動中に視野が移動し、視野の中での初期状態の位置に対応する仮想空間中の位置が変動していることに対応するために、新たな移動速度ベクトルＶを設定する必要があるので、ステップＳ１１０９に遷移する。
【００７０】
ステップＳ１１０８は、ウィジェット２０１の視野上の左右方向（Ｘ方向）の位置が視野の外に出ているかを判断するウィジェット視野外判定ステップである。既に述べたように、ウィジェット２０１が視野の外に位置したことを判断する条件は、ウィジェット２０１の一部が視野の外に位置した場合、ウィジェット２０１の半分が視野の外に位置した場合、ウィジェット２０１が完全に視野の外に位置した場合などのいずれでもよい。
【００７１】
ステップＳ１１０９は、ウィジェット２０１を視野の中での初期状態の位置に戻すために、移動速度ベクトルＶに値を設定するウィジェット移動速度設定ステップである。既に述べたように、この移動速度ベクトルＶを用いて、ステップＳ１１０３において、ウィジェット２０１を視野の中での初期状態の位置に戻すように、仮想空間中で移動させる。そのために、移動速度ベクトルＶの方向は、ウィジェット２０１の現在の仮想空間中の位置から、現在の視野の中での初期状態の位置に対応する仮想空間中の位置を結ぶ方向である。そして、ウィジェット２０１が仮想空間中で実際に浮遊しているようにみせるために、この移動速度ベクトルＶに設定される値は、ベクトルの大きさがある一定の有限の値を超えないように定められるのがよい。
【００７２】
このステップＳ１１０９までが、視野２０４の移動、および、ウィジェット２０１の移動についての処理である。
次に、図１２を用いて、ウィジェット２０１が選択されるときの処理を説明する。
【００７３】
ステップＳ１２０１では、ウィジェット２０１とカーソル２０２が重なっているかを判断している。このカーソル２０２は注視点にあるので、結局、ウィジェット２０１が注視点の位置にあるか否かを判断していることとなる。
【００７４】
ステップＳ１２０１で、ウィジェット２０１とカーソル２０２が重なっていると判断されたときは、ステップＳ１２０２でウィジェット２０１を選択状態の表示に変化させる。この選択状態の表示としては、ハイライト、色の変更、別の態様の表示への変化など各種考えられる。また、この時点で、通常のグラフィカルユーザインターフェースのドロップダウンリスト、ポップアップメニューやコンテキストメニューと同様に、操作対象となるボタンなどを展開して表示するものでもよい。
【００７５】
これらステップＳ１２０１、ステップＳ１２０２でウィジェット選択ステップを構成している。
ステップＳ１２０３では、ウィジェット２０１が一定時間以上選択状態となっているかを判断し、一定時間以上選択状態となっている場合には、ステップＳ１２０５で選択されたウィジェット２０１に対応した操作を実行する入力ステップである。まだ、一定時間以上選択されていない場合には、そのままステップＳ１１０３まで戻る。
【００７６】
ステップＳ１２０４は、ステップＳ１２０１でウィジェット２０１とカーソル２０２が重なっていないと判断されたとき、および、ステップＳ１２０５にてウィジェット２０１に対応した操作を実行したときに、ウィジェット２０１を非選択状態の表示とするもので、その後、ステップＳ１１０３まで戻る。
【００７７】
次に、図１３〜１６を用いて、ウィジェット２０１を表示するためのシステムについて説明する。なお、既に述べたように、これら図１３〜１５は、各種センサ（例えば、加速度センサや角速度センサ）を備え、その姿勢データを計測できるヘッドマウント・ディスプレイ（ＨＭＤ）を用いを前提として記述されているが、通常のディスプレイ上に仮想空間を表示し、キーボード、マウスやジョイスティックなどによる入力によって、仮想空間上の視線を移動するものに適用することもできる。
【００７８】
図１３は、ウィジェット２０１を表示するためのシステム１３００の概要を示す図である。
図１３に示すように、システム１３００は、ヘッドマウント・ディスプレイ（ＨＭＤ）１３１０、制御回路部１３２０、ポジション・トラッキング・カメラ（位置センサ）１３３０、並びに外部コントローラ１３４０を備える。
【００７９】
ヘッドマウント・ディスプレイ（ＨＭＤ）１３１０は、ディスプレイ１３１２およびセンサ１３１４を具備する。ディスプレイ１３１２は、ユーザの視野を完全に覆うよう構成された非透過型の表示装置であり、ユーザはディスプレイ１３１２に表示される画面のみを観察することができる。そして、非透過型のヘッドマウント・ディスプレイ（ＨＭＤ）１３１０を装着したユーザは、外界の視野を全て失うため、制御回路部１３２０において実行されるアプリケーションにより表示される仮想空間に完全に没入する表示態様となる。
【００８０】
ヘッドマウント・ディスプレイ（ＨＭＤ）１３１０が具備するセンサ１３１４は、ディスプレイ１３１２近辺に固定される。センサ１３１４は、地磁気センサ、加速度センサ、および／または傾き（角速度、ジャイロ）センサを含み、これらの１つ以上を通じて、ユーザの頭部に装着されたヘッドマウント・ディスプレイ（ＨＭＤ）１３１０（ディスプレイ１３１２）の各種動きを検知することができる。特に角速度センサの場合には、図１４のように、ヘッドマウント・ディスプレイ（ＨＭＤ）１３１０の動きに応じて、ヘッドマウント・ディスプレイ（ＨＭＤ）１３１０の３軸回りの角速度を経時的に検知し、各軸回りの角度（傾き）の時間変化を決定することができる。
【００８１】
図１４を参照して傾きセンサで検知可能な角度情報データについて説明する。図示のように、ヘッドマウント・ディスプレイ（ＨＭＤ）を装着したユーザの頭部を中心として、ＸＹＺ座標が規定される。ユーザが直立する垂直方向をＹ軸、Ｙ軸と直交しディスプレイ１３１２の中心とユーザを結ぶ方向をＺ軸、Ｙ軸およびＺ軸と直交する方向の軸をＸ軸とする。傾きセンサでは、各軸回りの角度（即ち、Ｙ軸を軸とした回転を示すヨー角、Ｘ軸を軸とした回転を示すピッチ角、Ｚ軸を軸とした回転を示すロール角で決定される傾き）を検知し、その経時的な変化により、動き検知部１６１０が視野情報として角度（傾き）情報データを決定する。
【００８２】
図１３に戻り、システム１３００が備える制御回路部１３２０は、ヘッドマウント・ディスプレイ（ＨＭＤ）を装着したユーザを３次元仮想空間に没入させ、３次元仮想空間に基づく動作を実施させるための制御回路部１３２０として機能する。図１３のように、制御回路部１３２０は、ヘッドマウント・ディスプレイ（ＨＭＤ）１３１０とは別のハードウェアとして構成してもよい。当該ハードウェアは、パーソナルコンピュータやネットワークを通じたサーバ・コンピュータのようなコンピュータとすることができる。即ち、互いにバス接続されたＣＰＵ、主記憶、補助記憶、送受信部、表示部、および入力部を備える任意のコンピュータとすることができる。
【００８３】
代替として、制御回路部１３２０は、オブジェクト操作装置として、ヘッドマウント・ディスプレイ（ＨＭＤ）１３１０内部に搭載されてもよい。ここでは、制御回路部１３２０は、オブジェクト操作装置の全部または一部の機能のみを実装することができる。一部のみを実装した場合には、残りの機能をヘッドマウント・ディスプレイ（ＨＭＤ）１３１０側、またはネットワークを通じたサーバ・コンピュータ（図示せず）側に実装してもよい。
【００８４】
システム１３００が備えるポジション・トラッキング・カメラ（位置センサ）１３３０は、制御回路部１３２０に通信可能に接続され、ヘッドマウント・ディスプレイ（ＨＭＤ）１３１０の位置追跡機能を有する。ポジション・トラッキング・カメラ（位置センサ）１３３０は、赤外線センサや複数の光学カメラを用いて実現される。ポジション・トラッキング・カメラ（位置センサ）１３３０を具備し、ユーザ頭部のヘッドマウント・ディスプレイ（ＨＭＤ）の位置を検知することによって、システム１３００は、３次元仮想空間における仮想カメラ／没入ユーザの仮想空間位置を正確に対応付け、特定することができる。
【００８５】
より具体的には、ポジション・トラッキング・カメラ（位置センサ）１３３０は、図１５に例示的に示すように、ヘッドマウント・ディスプレイ（ＨＭＤ）１３１０上に仮想的に設けられ、赤外線を検知する複数の検知点の実空間位置をユーザの動きに対応して経時的に検知する。そして、ポジション・トラッキング・カメラ（位置センサ）１３３０により検知された実空間位置の経時的変化に基づいて、ヘッドマウント・ディスプレイ（ＨＭＤ）１３１０の動きに応じた各軸回りの角度の時間変化を決定することができる。
【００８６】
再度、図１３に戻り、システム１３００は外部コントローラ１３４０を備える。外部コントローラ１３４０は、一般的なユーザ端末であり、図示のようなスマートフォンとすることができるが、これに限定されない。例えば、ＰＤＡ、タブレット型コンピュータ、ゲーム用コンソール、ノートＰＣのようなタッチ・ディスプレイを備える携帯型デバイス端末であれば如何なるデバイスにもすることができる。即ち、外部コントローラ１３４０は、互いにバス接続されたＣＰＵ、主記憶、補助記憶、送受信部、表示部、および入力部を備える任意の携帯型デバイス端末とすることができる。ユーザは、外部コントローラ１３４０のタッチ・ディスプレイに対し、タップ、スワイプおよびホールドを含む各種タッチ動作を実施可能である。
【００８７】
図１６のブロック図は、本発明の実施の形態による、３次元仮想空間内のオブジェクト操作を実装するために、制御回路部１３２０を中心にコンポーネントの主要機能の構成を示したものである。制御回路部１３２０では、主に、センサ１３１４／ポジション・トラッキング・カメラ（位置センサ）１３３０および外部コントローラ１３４０からの入力を受け、該入力を処理してディスプレイ１３１２への出力を行う。制御回路部１３２０は、主に、動き検知部１６１０、注視点移動部１６２１および視野画像生成部１６３０、並びにウィジェット制御部１６４０を含み、各種情報を処理する。
【００８８】
動き検知部１６１０では、センサ１３１４／ポジション・トラッキング・カメラ（位置センサ）１３３０からの動き情報の入力に基づいて、ユーザの頭部に装着されたヘッドマウント・ディスプレイ（ＨＭＤ）１３１０の動きデータを測定する。本発明では、特に、傾きセンサ１３１４により経時的に検知される角度情報、およびポジション・トラッキング・カメラ（位置センサ）１３３０により経時的に検知される位置情報を決定する。
【００８９】
視野移動部１６２０は、空間情報格納部１６５０に格納された３次元仮想空間情報、並びに傾きセンサ１３１４に検知される角度情報、および位置センサ１３０に検知される位置情報に基づく仮想カメラの視野方向の検知情報に基づいて視野情報を求める。視野移動部１６２０に含まれる注視点移動部１６２１は、その視野情報に基づいて、３次元仮想空間における注視点情報を決定する。なお、眼球の移動を検知したり、なんらかの補助的な入力を用いたりすることによって、視野の移動とは独立して注視点を移動させることができる場合には、この注視点移動部１６２１は、それも併せて処理することとなる。
【００９０】
また、視野移動部１６２０において、ヘッドマウント・ディスプレイ（ＨＭＤ）が、センサ１３１４／ポジション・トラッキング・カメラ（位置センサ）１３３０によって計測した操作者の頭部の動きを用い、仮想空間中の視野が移動するように制御するように構成することが望ましい。
【００９１】
視野画像生成部１６３０は、その視野情報と、ウィジェット制御部１６４０から送られてくるウィジェット２０１の位置に基づいて視野画像を生成する。
ウィジェット制御部１６４０は、図１１，１２で示した制御の大半をつかさどる部分である。具体的には、ウィジェット制御部１６４０は、ウィジェット選択部１６４１、入力部１６４２、ウィジェット移動部１６４３、ウィジェット移動速度再初期化部１６４４、ウィジェット視野外判定部１６４５、ウィジェット速度設定部１６４６を有している。ウィジェット選択部１６４１はウィジェット２０１とカーソル２０２が重なっているかを判断し、ウィジェット２０１とカーソル２０２が重なっていると判断されたときは、ウィジェット２０１を選択状態の表示に変化させる処理を行い、入力部１６４２はウィジェット２０１が一定時間以上選択状態となっているかを判断し、一定時間以上選択状態となっている場合には、選択されているウィジェット２０１に対応した操作を実行する。なお、ウィジェット選択部１６４１、入力部１６４２は、外部コントローラ１３４０からの入力を受け、それに基づいてウィジェット２０１が選択されたか否かを判断してもよい。ウィジェット移動部１６４３はウィジェット２０１を仮想空間上の移動速度ベクトルＶで移動させる処理を行い、ウィジェット移動速度再初期化部１６４４はウィジェット２０１が視野の中での初期状態の位置に戻ったことを検知し、移動速度ベクトルＶを０と再初期化する処理を行い、ウィジェット視野外判定部１６４５は、ウィジェット２０１の視野上の左右方向（Ｘ方向）の位置が視野の外に出ているかを判断する処理を行い、ウィジェット速度設定部１６４６はウィジェット２０１を視野の中での初期状態の位置に戻すために、移動速度ベクトルＶに値を設定する処理を行う。
【００９２】
初期化部１６６０は初期化についての処理を担う。
なお、図１６において、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の集積回路で構成することができ、ソフトウェア的には、メモリにロードされた各種プログラムなどによって実現される。したがって、これらの機能ブロックがハードウェア、ソフトウェア、又はそれらの組み合わせによって実現できることが当業者に理解される。
【００９３】
以上、本発明の実施の形態について説明したが、本発明は上記実施形態に限定されるものではない。前述の請求項に記載されるこの発明の精神及び範囲から逸脱することなく、様々な実施形態の変更がなされ得ることを当業者は理解するであろう。
【符号の説明】
【００９４】
２０１         ウィジェット
２０２         カーソル
２０３         窓
２０４         視野
１００１         仮想球体
１３００         システム
１３１０         ヘッドマウント・ディスプレイ（ＨＭＤ）
１３１２         ディスプレイ
１３１４         センサ
１３２０         制御回路部
１３３０         ポジション・トラッキング・カメラ（位置センサ）
１３４０         外部コントローラ
１６１０         動き検知部
１６２０         視野移動部
１６２１         注視点移動部
１６３０         視野画像生成部
１６４０         ウィジェット制御部
１６４１         ウィジェット選択部
１６４２         入力部
１６４３         ウィジェット移動部
１６４４         ウィジェット移動速度再初期化部
１６４５         ウィジェット視野外判定部
１６４６         ウィジェット速度設定部
１６５０         空間情報格納部
１６６０         初期化部
【要約】
【課題】なるべく視野をさえぎらないようにウィジェットを仮想空間上に表示すること。
【解決手段】小型化したウィジェットを仮想空間上に浮遊しているように表示し、仮想空間上の視線の移動で、それを捕捉することによってウィジェットに対する入力を行う。
【選択図】図１【図１１】
0005876607.tif 000002
【図１２】
0005876607.tif 000003
【図１３】
0005876607.tif 000004
【図１４】
0005876607.tif 000005
【図１５】
0005876607.tif 000006
【図１６】
0005876607.tif 000007
【図１】
0005876607.tif 000008
【図２】
0005876607.tif 000009
【図３】
0005876607.tif 000010
【図４】
0005876607.tif 000011
【図５】
0005876607.tif 000012
【図６】
0005876607.tif 000013
【図７】
0005876607.tif 000014
【図８】
0005876607.tif 000015
【図９】
0005876607.tif 000016
【図１０】
0005876607.tif 000017