(57)【特許請求の範囲】
【請求項１】
ユーザの頭部に装着される装着部に保持され、画像をユーザの眼に視認可能に提示する画像提示部と、
ユーザの手に保持され、ユーザの手の移動量を検知する移動量検知部と、
前記移動量に基づいて、前記移動量検知部の実空間での位置を決定する位置決定手段と、
ユーザからの入力を取得する取得部と、
前記取得部がユーザからの入力を取得したときの前記移動量検知部の実空間上の位置に基づいて、実空間に存在する任意の実体物の表面における所定の範囲を、前記画像に対する入力操作を行う操作面として定義する定義手段と、
前記操作面における実空間での位置を、前記画像における画像空間での座標と対応付ける対応付け手段と、
前記移動量検知部が前記操作面に存在する場合に、前記移動量検知部の実空間での位置に対応付けられた前記画像空間での座標を、前記画像に対する入力座標として受け付ける入力受付手段と、
前記入力座標に基づいて、前記画像提示部の動作を制御する画像制御手段と、
を備えることを特徴とするヘッドマウントディスプレイ。
【請求項２】
前記画像提示部は、
前記画像提示部の方向を検知する方向検知部を有し、
ユーザが外界像と画像とを重畳した状態で視認可能に構成され、
前記移動量検知部の実空間上の位置と、前記取得部によって取得された入力とに基づいて、前記画像提示部に対する前記移動量検知部の相対位置を決定する相対位置決定手段と、
前記画像提示部の方向と前記相対位置とに基づいて、前記移動量検知部が前記画像提示部によって提示される画像の画角の範囲に含まれるか否かを判断する判断手段と、
前記移動量検知部が前記画像提示部によって提示される画像の画角の範囲に含まれると前記判断手段が判断した場合、前記画像提示部の方向に基づいて、前記画像提示部によって提示される画像に前記操作面が追随するように、前記操作面の位置を変更する変更手段とをさらに備える、
請求項１に記載のヘッドマウントディスプレイ。
【請求項３】
前記変更手段は、前記移動量検知部が前記画像提示部によって提示される画像の画角の範囲に含まれないと前記判断手段が判断した場合、前記操作面の位置を変更せず、
前記画像制御手段は、前記移動量検知部が前記画像提示部によって提示される画像の画角の範囲に含まれないと前記判断手段が判断した場合、前記入力座標に対応する識別子を前記画像提示部に提示させる、
請求項２に記載のヘッドマウントディスプレイ。
【請求項４】
前記移動量検知部が前記画像提示部によって提示される画像の画角の範囲に含まれないと前記判断手段が判断した場合、
前記操作面の実空間での位置と前記虚像の実空間での位置とが重なる重複領域が存在するか否かを判断し、前記重複領域が存在する場合、前記重複領域の表示様態を変更する操作面表示手段をさらに有する、
請求項３に記載のヘッドマウントディスプレイ。
【請求項５】
前記定義手段は、
前記取得部によってユーザからの入力が取得されたときの前記移動量検知部の実空間上の位置を、少なくとも３つ用いて、前記操作面を定義する、
請求項１〜４の何れかに記載のヘッドマウントディスプレイ。
【請求項６】
前記判断手段は、前記定義手段による前記操作面の定義に係る、前記取得部によってユーザからの入力が取得されたときの前記移動量検知部の実空間上の位置が、少なくとも１つ決定された後で、前記画像提示部の方向と前記移動量検知部の実空間での位置とに基づいて、前記移動量検知部が前記画像提示部によって提示される画像の画角の範囲に含まれるか否かを判断する、
請求項５に記載のヘッドマウントディスプレイ
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの頭部に装着され、ユーザに画像を提示するヘッドマウントディスプレイに関する。
【背景技術】
【０００２】
従来、ユーザの頭部に装着され、ユーザに画像を提示するシースルー型のヘッドマウントディスプレイ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ：以下、ＨＭＤ）に関する技術が提案されている。例えば、特許文献１においては、ユーザからの入力を受け付ける手段として、ＨＭＤが提示する画像に対してユーザがペンを用いて入力を行う構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３３９２６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に示されるＨＭＤでは、ユーザが画像に対してペンを用いて空中において入力する構成である。しかし、空中において画像に対して入力が行われるので、ユーザは入力する対象である画像に対する距離感を把握し難いと考えられる。即ち、ユーザにとっては入力が難しいという問題があった。
【０００５】
本発明は、ＨＭＤによって提示される画像に対する入力が容易なＨＭＤを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記従来の課題に鑑みなされた本発明では、実空間に存在する任意の実体物の表面における所定の範囲が、画像に対する入力操作を行う操作面として定義される。そして、操作面における実空間での位置が、画像における画像空間での座標と対応付けられる。そして、実空間での位置に対応付けられた画像空間での座標が、画像に対する入力位置として受け付けられる。
【０００７】
上記課題を解決するために、本発明の一側面を反映した第１の課題解決手段は、ユーザの頭部に装着される装着部に保持され、画像をユーザの眼に視認可能に提示する画像提示部と、ユーザの手に保持され、ユーザの手の移動量を検知する移動量検知部と、前記移動量に基づいて、前記移動量検知部の実空間での位置を決定する位置決定手段と、ユーザからの入力を取得する取得部と、前記取得部がユーザからの入力を取得したときの前記移動量検知部の実空間での位置に基づいて、実空間に存在する任意の実体物の表面における所定の範囲を、前記画像に対する入力操作を行う操作面として定義する定義手段と、前記操作面における実空間での位置を、前記画像における画像空間での座標と対応付ける対応付け手段と、前記移動量検知部が前記操作面に存在する場合に、前記移動量検知部の前記実空間での位置に対応付けられた前記画像空間での座標を、前記画像に対する入力座標として受け付ける入力受付手段と、前記入力座標に基づいて、前記画像提示部の動作を制御する画像制御手段とを備える。
【０００８】
第１の課題解決手段によれば、前記取得部がユーザからの入力を取得したときの前記移動量検知部の実空間での位置に基づいて、実空間に存在する任意の実体物の表面における所定の範囲が、画像に対する入力操作を行う操作面として定義される。そして、その操作面における実空間での位置が、画像における画像空間での座標と対応付けられる。移動量検知部が操作面に存在する場合に、移動量検知部の実空間での位置に対応付けられた画像空間での座標が、画像に対する入力座標として受け付けられる。即ち、ユーザは、実空間に存在する任意の実体物の表面を、操作面として利用することができる。画像に対する入力が操作面に対して行われるので、画像に対しての距離感に左右されること無く、画像に対する入力が容易に行われる。
【０００９】
本発明の他の側面を反映した第２の課題解決手段は、第１の課題解決手段に加えて、前
記画像提示部は、前記画像提示部の方向を検知する方向検知部を有し、ユーザが外界像と
画像とを重畳した状態で視認可能に構成され、前記移動量検知部の実空間上の位置と、前
記取得部によって取得された入力とに基づいて、前記画像提示部に対する前記移動量検知
部の相対位置を決定する相対位置決定手段と、前記相対位置とに基づいて、前記移動量検
知部が前記画像提示部によって提示される画像の画角の範囲に含まれるか否かを判断する
判断手段と、移動量検知部が前記画像提示部によって提示される画像の画角の範囲に含ま
れると前記判断手段が判断した場合、前記画像提示部の方向に基づいて、前記画像提示部
によって提示される画像に前記操作面が追随するように、前記操作面の位置を変更する変
更手段とをさらに備える。
【００１０】
第２の課題解決手段によれば、移動量検知部が画像提示部によって提示される画像の画角の範囲に含まれる場合、画像提示部によって提示される画像に操作面が追随するように、操作面の位置が変更される。移動量検知部が画像の画角の範囲に含まれる場合とは、ユーザが視認する画像と操作面とが、同一方向に存在する場合である。この場合、ユーザは、例えば画像内に設けられた所定のアイコンなどに対して、移動量検知部による直接入力を試みる。画像に操作面が追随しているので、ユーザが頭を動かすなどの理由で画像の提示位置が変化しても、ユーザは視認する画像に対して、操作面を介して直接入力が可能となる。また、ユーザは画像に対して入力を行うような操作感を得るが、実際に操作を受け付けるのは操作面である。従って、画像に対しての距離感に左右されること無く、画像に対する入力が容易に行われる。
【００１１】
本発明の他の側面を反映した第３の課題解決手段は、第２の課題解決手段に加えて、前
記変更手段は、移動量検知部が前記画像提示部によって提示される画像の画角の範囲に含
まれないと前記判断手段が判断した場合、前記操作面の位置を変更せず、前記画像制御手
段は、移動量検知部が前記画像提示部によって提示される画像の画角の範囲に含まれない
と前記判断手段が判断した場合、前記入力座標に対応する識別子を前記画像提示部に提示
させる。
【００１２】
第３の課題解決手段によれば、移動量検知部が画像提示部によって提示される画像の画角の範囲に含まれない場合、操作面の位置は変更されない。移動量検知部が画像の画角の範囲に含まれない場合とは、ユーザが視認する画像の方向と操作面の方向とがずれている場合、換言すれば、視認される画像とは異なる方向に存在する操作面に対してユーザが入力を行う場合である。この場合、ユーザは画像に対して直接入力を行わないので、ユーザが頭を動かすなどの理由で画像の提示位置が変化しても、操作面を移動させる必要が無い。また、入力位置に対応する識別子が提示されるので、ユーザは、画像のどの位置に対して入力を行っているかを容易に把握できる。
【００１３】
本発明の他の側面を反映した第４の課題解決手段は、第３の課題解決手段に加えて、前
記移動量検知部が前記画像提示部によって提示される画像の画角の範囲に含まれないと前
記判断手段が判断した場合、前記操作面の実空間での位置と前記虚像の実空間での位置と
が重なる重複領域が存在するか否かを判断し、前記重複領域が存在する場合、前記重複領
域の表示様態を変更する操作面表示手段をさらに有する。
【００１４】
第４の課題解決手段によれば、移動量検知部が画像提示部によって提示される画像の画角の範囲に含まれない場合、重複領域が存在するか否かが判断される。そして、重複領域が存在する場合、重複領域の表示様態が変更される。上記したように、移動量検知部が画像の画角の範囲に含まれない場合とは、視認される画像とは異なる方向に存在する操作面に対してユーザが入力を行う場合である。そして、重複領域が存在する場合とは、例えばユーザが頭を動かすなどして画像の実空間での位置が変化し、操作面の実空間での位置と画像の実空間での位置とが少なくとも一部において重複する場合である。この様な場合、ユーザが操作面の実空間での位置を認識できると便利である。即ち、重複領域の表示様態が変更されることで、操作面の実空間での位置が容易に認識される。
【００１５】
本発明の他の側面を反映した第５の課題解決手段は、第１〜第４の何れか課題解決手段
に加えて、前記定義手段は、前記取得部によってユーザからの入力が取得されたときの前
記移動量検知部の実空間上の位置を、少なくとも３つ用いて、前記操作面を定義する。
【００１６】
第５の課題解決手段によれば、取得部によってユーザからの入力が取得されたときの移動量検知部の実空間上の位置を、少なくとも３つ用いて、操作面が定義される。従って、ユーザは、少なくとも３つの実空間上の位置において入力を行うだけで、操作面の定義が可能になる。
【００１７】
本発明の他の側面を反映した第６の課題解決手段は、第５の課題解決手段に加えて、前記判断手段は、前記定義手段による前記操作面の定義に係る、前記取得部によってユーザからの入力が取得されたときの前記移動量検知部の実空間上の位置が、少なくとも１つ決定された後で、前記画像提示部の方向と移動量検知部の実空間での位置とに基づいて、前記移動量検知部が前記画像提示部によって提示される画像の画角の範囲に含まれるか否かを判断する。
【００１８】
第６の課題解決手段によれば、定義手段による操作面の定義に係る、取得部によってユーザからの入力が取得されたときの移動量検知部の実空間上の位置が、少なくとも１つ決定された後で、判断手段による判断が行われる。ユーザからの入力を受けた後で判断が行われ、操作面が定義される。従って、ユーザの意図したときに操作面の定義が可能になる。
【発明の効果】
【００１９】
本発明によれば、ＨＭＤによって提示される画像に対する入力が容易なＨＭＤを得ることができる。
【図面の簡単な説明】
【００２０】
【図１】ＨＭＤ１の概要を示す図。
【図２】（Ａ）画像提示部１０の平面図、（Ｂ）画像提示部１０の正面図、（Ｃ）画像提示部１０の左側面図。
【図３】ＨＭＤ１の機能的構成を示すブロック図。
【図４】（Ａ）ＲＡＭ２６０が一時記憶する内容を示す図、（Ｂ）プログラムＲＯＭ２５０が記憶する各種処理手段を示す図。
【図５】ＣＰＵ２３０が実行する処理を説明するフローチャート。
【図６】（Ａ）直接モードを説明する図、（Ｂ）間接モードを説明する図。
【図７】図５のステップＳ３０にて実行される、操作面定義処理を説明するフローチャート。
【図８】（Ａ）画像提示部１２０の位置を設定するための画像を説明する図、（Ｂ）操作面ＣＰの中心位置を設定するための画像を説明する図、（Ｃ）操作面ＣＰの左上位置を設定するための画像を説明する図、（Ｄ）操作面ＣＰの右上位置を設定するための画像を説明する図、（Ｅ）虚像ＶＩの左上の位置を設定するための画像を説明する図、（Ｆ）虚像ＶＩの右上の位置を設定するための画像を説明する図。
【図９】図５のステップＳ６５にて実行される、操作面表示処理を説明するフローチャート。
【図１０】間接モードにおいて、重複領域ＳＡが存在する場合の視認状態を説明する図。
【図１１】図５のステップＳ７０にて実行される、操作面変更処理を説明するフローチャート。
【発明を実施するための形態】
【００２１】
本発明を反映した上記課題解決手段を実施するための実施形態について、図面を用いて以下に詳細に説明する。上記課題解決手段は以下に記載の構成に限定されるものではなく、同一の技術的思想において種々の構成を採用することができる。例えば、以下に説明する各構成において、所定の構成を省略し、または他の構成などに置換してもよい。また、他の構成を含むようにしてもよい。また、以下の説明では、ユーザの頭部に装着される頭部装着部と、頭部装着部に含まれる画像提示部に対して各種の信号を提供する制御ボックスと、を接続して構成されたＨＭＤを例に説明するが、これら各装置を一体の装置として構成することもできる。
【００２２】
［ＨＭＤ１の概要］
ＨＭＤ１について、図１を用いて説明する。ＨＭＤ１は、頭部装着部１０と、制御ボックス２０と、ペンマウス３０とを含む。頭部装着部１０に含まれる画像提示部１２０は、ケーブル５０を介して制御ボックス２０に接続される。ペンマウス３０は、ケーブル５１を介して制御ボックス２０に接続される。頭部装着部１０は、ユーザＵＳＲの頭部に装着される。制御ボックス２０は、ユーザＵＳＲの腰などに取り付けられる。ＨＭＤ１は、実空間に存在する任意の実体物の表面における所定の範囲を、画像提示部１２０によって提示される画像である虚像ＶＩに対する入力操作を行うための操作面ＣＰとして定義する。本実施形態において、任意の実体物の一例であるテーブルＴＢＬの表面における所定の範囲が、操作面ＣＰとして定義される。即ち、ユーザＵＳＲは、虚像ＶＩを視認した状態で、テーブルＴＢＬの表面に定義された操作面ＣＰに対して、ペンマウス３０を用いて入力を行う。
【００２３】
頭部装着部１０について、図２を用いて説明する。頭部装着部１０の骨格は、ユーザの頭部に装着される装着部として働く。頭部装着部１０の骨格は、テンプル１０４Ａ，１０４Ｂと、ヨロイ１０６Ａ，１０６Ｂと、フロントフレーム１０８とによって構成される。テンプル１０４Ａ，１０４Ｂの一端には、ユーザＵＳＲの耳に当たるモダン１０２Ａ，１０２Ｂが取り付けられる。テンプル１０４Ａ，１０４Ｂの他端は、蝶番１１２Ａ，１１２Ｂを介してヨロイ１０６Ａ，１０６Ｂに連結される。ヨロイ１０６Ａ，１０６Ｂは、フロントフレーム１０８の左右両端に連結される。フロントフレーム１０８の中央には、利用者の鼻に当接する鼻パッド１１０が設けられる。テンプル１０４Ａ，１０４Ｂは、ヨロイ１０６Ａ，１０６Ｂに形成された蝶番１１２Ａ，１１２Ｂによって、フロントフレーム１０８に対して折りたたむことができる。頭部装着部１０の骨格の構成は、例えば、通常の眼鏡と同様である。頭部装着部１０は、ユーザＵＳＲに装着された状態において、モダン１０２Ａ，１０２Ｂと、鼻パッド１１０と、により利用者の頭部に保持される（図１参照）。なお、図２（Ｂ）において、モダン１０２Ａ，１０２Ｂ及びテンプル１０４Ａ，１０４Ｂの図示は省略される。
【００２４】
画像提示部１２０は、画像をユーザの眼に視認可能に提示する。画像提示部１２０は、ヨロイ１０６Ａ付近に配設された取付部１２９を介して、頭部装着部１０の骨格に保持される。画像提示部１２０は、頭部装着部１０の骨格に取り付けられた状態において、頭部装着部１０を装着したユーザＵＳＲの左眼ＬＥと略同一の高さとなる位置に配設される。画像提示部１２０は、制御ボックス２０からケーブル５０を介して送信された各種の信号に基づく画像光を、ハーフミラー１４０に向けて出射する。ハーフミラー１４０は、画像提示部１２０から入射された画像光の一部を反射し、ユーザＵＳＲの左眼ＬＥに導く。ハーフミラー１４０はまた、外界像を表す外界光の一部を透過し、ユーザＵＳＲの左眼ＬＥに導く。即ち、ユーザＵＳＲは、画像光を外界光に重畳した状態で視認する。なお、本実施形態において、画像提示部１２０は、取得された画像信号に応じた光を２次元方向に走査し、その走査された画像光を利用者の左眼ＬＥに導き網膜上にコンテンツ画像を形成する、周知の網膜走査型のディスプレイを用いて構成される。しかし、画像提示部１２０は、液晶ディスプレイ、有機ＥＬ（Ｏｒｇａｎｉｃ  Ｅｌｅｃｔｒｏ―Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなど、その他の周知の装置を用いて構成することもできる。
【００２５】
［ＨＭＤ１の機能的構成］
図３に示されるように、ＨＭＤ１は、頭部装着部１０と、制御ボックス２０と、ペンマウス３０とで構成される。なお、これらの構成は、制御ボックス２０に含まれる非図示のバッテリーによって駆動される。以下、ＨＭＤ１を構成する各構成の説明を行う。
【００２６】
制御ボックス２０は、フラッシュＲＯＭ２１０と、周辺インターフェース（以下、Ｉ／Ｆ）２２０と、ＣＰＵ２３０と、ペンマウス用Ｉ／Ｆ２４０と、プログラムＲＯＭ２５０と、ＲＡＭ２６０と、入力ボタン群２７０とを含む。フラッシュＲＯＭ２５０は、画像提示部１２０によってユーザＵＳＲに提示される、各種のコンテンツデータを記憶する。周辺Ｉ／Ｆ２２０は、ＨＭＤ１とＰＣなどの外部装置との接続を行う。例えば、周辺Ｉ／Ｆ２２０を介してＰＣから転送された各種コンテンツが、フラッシュＲＯＭ２１０に記憶される。ＣＰＵ２３０は、プログラムＲＯＭ２５０に記憶された各種プログラムを、ＲＡＭ２６０上で実行する。ＣＰＵ２３０はまた、フラッシュＲＯＭ２１０と、周辺Ｉ／Ｆ２２０と、ペンマウス用Ｉ／Ｆ２４０と、入力ボタン群２７０との間で各種信号の送受信を行う。ペンマウス用Ｉ／Ｆ２４０は、ケーブル５１（図１参照）を介して、ペンマウス３０との間で各種信号の送受信を行う。プログラムＲＯＭ２５０は、ＣＰＵ２３０によって実行される各種処理のためのプログラムを記憶する。ＲＡＭ２６０は、ＣＰＵ２３０で処理される各種プログラムや、ＣＰＵ２３０が処理するデータを、そのアドレス空間に一時記憶する。入力ボタン群２７０は、ＨＭＤ１を操作するための構成である。ユーザＵＳＲが入力ボタン群２７０に対して操作を行うことで、入力ボタン群２７０から操作信号がＣＰＵ２３０に対して送信される。
【００２７】
頭部装着部１０は、画像提示部１２０と、角速度センサ１３０とを含む。画像提示装置１２０は、ＣＰＵ２３０からの制御信号に従って、画像光をユーザＵＳＲの左眼ＬＥに対して射出する。角速度センサ１３０は、画像提示部１２０の方向を検知する方向検知部として機能する。角速度センサ１３０は、例えばＭＥＭＳ技術を応用して静電容量の変化を検知する３次元加速度センサによって構成される。角速度センサ１３０が検知した画像提示部１２０の方向は、ＨＭＤ方向信号として制御ボックス２０に対して送信される。
【００２８】
ペンマウス３０は、３次元加速度センサ３１０と、第１スイッチ３２０と、第２スイッチ３３０と、Ｉ／Ｆ３４０とを含む。ペンマウス３０はユーザＵＳＲの手に保持されるため、３次元加速度センサ３１０は、ユーザの手の移動量を検知する移動量検知部として機能する。３次元加速度センサ３１０によって検知されたユーザの手の移動量は、移動量信号としてＩ／Ｆ３４０を介して制御ボックス２０に対して逐次送信される。第１スイッチ３２０は、後記するメイン処理を終了する際にユーザＵＳＲによって押下される。第１スイッチ３２０が押下されることによって生じる終了信号は、Ｉ／Ｆ３４０を介して制御ボックス２０に対して送信される。第２スイッチ３３０は、ユーザＵＳＲが各種決定を行う際に押下される。即ち、第２スイッチ３３０は、ユーザからの入力を取得する取得部として機能する。第２スイッチ３３０が押下されることによって生じる決定信号は、Ｉ／Ｆ３４０を介して制御ボックス２０に対して送信される。Ｉ／Ｆ３４０は、ケーブル５１（図１参照）を介して、制御ボックス２０との間で各種信号の送受信を行う。
【００２９】
図４（Ａ）は、ＲＡＭ２６０がそのアドレス空間に一時記憶する、データの内容を説明する図である。ＲＡＭ４２０は、ペンマウス位置データ２６１、虚像位置データ２６２、操作面位置データ２６３、実空間―画像変換式データ２６４、入力座標データ２６５、ＨＭＤ方向データ２６６、アイコン座標データ２６７及び入力モードフラグ２６８を少なくとも一時記憶する。ペンマウス位置データ２６１は、実空間でのペンマウス３０の位置を示す。虚像位置データ２６２は、虚像ＶＩの実空間での位置を示す。操作面位置データ２６３は、実空間での操作面ＣＰの位置を示す。実空間―画像変換式データ２６４は、実空間での位置を、虚像ＶＩにおける画像空間での座標に変換するための変換式を示す。入力座標データ２６５は、ペンマウス３０から操作面ＣＰを介して虚像ＶＩに対して行われた入力の、画像空間での座標を示す。ＨＭＤ方向データ２６６は、画像提示部１２０が実空間において向く方向を示す。アイコンデータ２６７は、虚像ＶＩに含まれる、画像提示部１２０の動作を制御するためのアイコンＶＩａ（図６参照）の画像空間での座標と、そのアイコンに割り付けられた処理内容とを示す。なお、ＣＰＵ２３０がフラッシュＲＯＭ２１０に含まれる所定のコンテンツの再生を開始したときに、そのコンテンツに含まれるアイコンの位置を定義する座標及びそのアイコンに割り付けられた処理内容が、アイコンデータ２６７に一時記憶される。入力モードフラグ２６８は、後記する図６に示されるように、虚像ＶＩに対する入力が直接モードか間接モードかの何れであるかを示す。
【００３０】
図４（Ｂ）は、プログラムＲＯＭ２５０に記憶された各種処理手段の内容を説明する図である。これらの処理手段は、ＣＰＵ２３０が、ＲＡＭ２６０上で、プログラムＲＯＭ２５０に記憶されたこれらの処理手段のためのプログラムを実行することで達成される。プログラムＲＯＭ２５０は、位置決定手段２５１、定義手段２５２、対応付け手段２５３、入力受付手段２５４、画像制御手段２５５、判断手段２５６、変更手段２５７及び操作面表示手段２５８を少なくとも記憶する。以下、これらの処理手段に関して説明する。
【００３１】
位置決定手段２５１は、ペンマウス３０の移動量に基づいて、ペンマウス３０の実空間での位置を決定する。具体的には、ＣＰＵ２３０は、３次元加速度センサ３１０から送信された移動量信号に基づいて、ペンマウス３０の実空間での移動量を決定する。そして、ＣＰＵ２３０は、その移動量をペンマウス位置データ２６１に対して加算することで、ペンマウス３０の実空間での位置を決定する。
【００３２】
定義手段２５２は、実空間に存在する任意の実体物の表面における所定の範囲を、画像提示部１２０によって提示される虚像ＶＩに対する入力操作を行う操作面ＣＰとして定義する。本実施形態においては、図１に示されるように、テーブルＴＢＬの表面における所定の範囲が、操作面ＣＰとして定義される。具体的には、ＣＰＵ２３０は、操作面ＣＰを定義するための各種設定画像（図８参照）を画像提示部１２０に提示させる。そして、ＣＰＵ２３０は、第２スイッチ３３０からの決定信号を受信したときのペンマウス位置２６１に基づいて、実空間での操作面ＣＰの位置を決定する（詳細は後述する図７参照）。
【００３３】
対応付け手段２５３は、操作面ＣＰにおける実空間での位置を、虚像ＶＩにおける画像空間での座標と対応付ける。具体的には、ＣＰＵ２３０は、操作面位置データ２６３に含まれる操作面ＣＰの実空間での中心位置、左上位置及び右上位置と、虚像ＶＩの画像空間での中心座標、左上座標及び右上座標とを用いて、実空間での位置から画像空間での座標への変換式を計算する。この変換式は、例えば、座標の平行移動、回転及び拡大縮小を含む一次変換を行う行列式である。但し、上記した３箇所以上の座標点を用いて、二次以上の項を含む変換式が用いられても良い。また、一次変換の変換式を計算される際に用いられる座標点は、異なる３箇所以上であればよく、上記の中心、左上、右上の位置には限定されない。ＣＰＵ２３０は、この変換式を、実空間―画像変換式データ２６４として、ＲＡＭ２６０に一時記憶する。
【００３４】
入力受付手段２５４は、操作面ＣＰに含まれる位置にペンマウス３０が存在する場合に、ペンマウス３０の実空間での位置に対応付けられた画像空間での座標を、虚像ＶＩに対する入力座標として受け付ける。具体的には、ペンマウス３０が操作面ＣＰに含まれる位置に存在する場合、ＣＰＵ２３０は、実空間―画像変換式データ２６４を用いて、ペンマウス位置データ２６１を、ペンマウス３０の実空間での位置に対応付けられた画像空間での座標に変換する。そして、ＣＰＵ２３０は、変換された画像空間での座標を、入力座標データ２６５に一時記憶する。なお、ペンマウス３０が操作面ＣＰに含まれる位置に存在するか否かの判断は、ペンマウス位置データ２６１と操作面位置データ２６３との比較によって達成される。
【００３５】
画像制御手段２５５は、入力座標データ２６５に基づいて、画像提示部１２０の動作を制御する。具体的には、ＣＰＵ２３０は、入力座標データ２６５と、アイコンデータ２６７とを比較する。入力座標データ２６５に含まれる画像空間での座標が、アイコンＶＩａの画像空間での座標と一致する場合、ＣＰＵ２３０は、アイコンデータ２６７を参照し、アイコンＶＩａに割り付けられた画像提示部１２０の動作を制御するための所定の処理を実行する。画像制御手段２５５はまた、虚像ＶＩの画角の範囲にペンマウス３０が含まれないと判断手段２５６によって判断された場合、入力座標データ２６５に対応した識別子を、画像提示部１２０に提示させる。具体的には、ＣＰＵ２３０は、入力モードフラグ２６８が間接モードの場合、入力座標データ２６５の座標にカーソルＣＳ（図６（Ｂ）参照）を提示するように、画像提示部１２０の動作を制御する。
【００３６】
判断手段２５６は、角速度センサ１３０の検出結果である画像提示部の１２０の方向とペンマウス３０の実空間での位置とに基づいて、虚像ＶＩの画角の範囲にペンマウス３０が含まれるか否かを判断する。具体的には、ＣＰＵ２３０は、ＨＭＤ方向データ２６６に基づいて、虚像ＶＩの画角の範囲を決定する。そして、ＣＰＵ２３０は、その虚像ＶＩの画角の範囲とペンマウス位置データ２６１とに基づいて、虚像ＶＩの画角の範囲にペンマウス３０が含まれるか否かを判断する。
【００３７】
変更手段２５７は、虚像ＶＩの画角の範囲にペンマウス３０が含まれると判断手段２５６によって判断された場合、画像提示部１２０の方向に基づいて、虚像ＶＩに操作面ＣＰが追随するように、操作面ＣＰの位置を変更する。具体的には、ＣＰＵ２３０は、入力モードフラグ２６８が直接モードの場合、ＨＭＤ方向データ２６６に基づいて虚像ＶＩの実空間での移動量を決定し、その移動量を操作面位置データ２６３に加算する。
【００３８】
操作面ＣＰの実空間での位置と虚像ＶＩの実空間での位置とが一致しない間接モードの場合（詳細は後述）、ユーザが操作面ＣＰの実空間での位置を認識できると便利である。そこで、操作面表示手段２５８は、間接モードにおいて虚像ＶＩの実空間の位置と操作面ＣＰの実空間の位置とが重なる重複領域ＳＡが存在する場合に、重複領域ＳＡにおける操作面ＣＰを虚像ＶＩに表示する（図１０参照）。具体的には、ＣＰＵ２３０は、虚像位置データ２６２と操作面位置データ２６３とを比較して、重複領域ＳＡが存在するか否かを判断する。重複領域ＳＡが存在する場合、ＣＰＵ２３０は、虚像ＶＩにおける重複領域ＳＡの表示様態を変更する。一方、操作面ＣＰの実空間での位置と虚像ＶＩの実空間での位置とが一致する直接モードの場合（詳細は後述）、操作面表示手段２５８は実行されない。
【００３９】
［ＨＭＤ１の行う処理］
以下、図５を用いて、ＨＭＤ１によって行われる一連の処理を説明する。尚、図５に示される処理は、ＣＰＵ２３０が所定の信号を受信することをトリガとして開始される。具体的には、例えば、虚像ＶＩが画像提示部１２０によって提示されている状態において、ユーザＵＳＲが入力ボタン群２７０に対して操作面ＣＰの定義を開始する旨の操作を行うことによって発生した操作信号を、ＣＰＵ２３０が受信したときに図５の処理が開始される。
【００４０】
ステップＳ１０において、ＣＰＵ２３０は、位置決定手段２５１の実行を開始する。具体的には、ＣＰＵ２３０は、ペンマウス３０の３次元加速度センサ３１０から送信された移動量信号に基づいて、ペンマウス３０の実空間での位置を決定する。ＣＰＵ２３０は、最初に移動量信号を受信したときのペンマウス３０の実空間での位置を、ペンマウス３０の原点位置と設定する。そして、ＣＰＵ２３０は、ペンマウス３０の原点位置を設定した後で受信した移動量信号に基づいて、ペンマウス３０の実空間での移動量を決定する。そして、ＣＰＵ２３０は、決定された移動量をペンマウス位置データ２６１に対して加算することで、ペンマウス３０の実空間での位置を決定する。なお、位置決定手段２５１は、図５に示される一連の処理がＣＰＵ２３０によって行われている間は常に実行される。従って、ＣＰＵ２３０は、３次元加速度センサ３１０から移動量信号を逐次受信し、ペンマウス位置データ２６１を更新する。位置決定手段２５１の実行が開始された後、ＣＰＵ２３０は、処理をステップＳ２０に移行する。
【００４１】
ステップＳ２０において、ＣＰＵ２３０は、頭部装着部１０の角速度センサ１３０からのＨＭＤ方向信号の受信を開始する。ＣＰＵ２３０は、最初にＨＭＤ方向信号を受信したときの画像提示部１２０の向きを、画像提示部１２０の初期の向きと設定する。そして、ＣＰＵ２３０は、画像提示部１２０の初期の向きを設定した後で受信したＨＭＤ方向信号に基づいて、画像提示部１２０の移動角度を決定する。そして、ＣＰＵ２３０は、決定された移動角度をＨＭＤ方向データ２６６に対して加算することで、画像提示部１２０の向きを決定する。なお、図５に示される一連の処理がＣＰＵ２３０によって行われている間は、ＣＰＵ２３０はＳ２０の処理を常に実行する。従って、ＣＰＵ２３０は、角速度センサ１３０からＨＭＤ方向信号を逐次受信し、ＨＭＤ方向データ２６６を更新する。角速度センサ１３０からのＨＭＤ方向信号の受信が開始された後、ＣＰＵ２３０は、処理をステップＳ３０に移行する。
【００４２】
ステップＳ３０において、ＣＰＵ２３０は、定義手段２５２を実行する（詳細は、図７を用いて後述）。この処理によって、ＣＰＵ２３０は、虚像ＶＩに対する入力操作を行う操作面ＣＰの実空間での位置を定義する。そして、ＣＰＵ２３０は、操作面ＣＰの実空間での位置を、操作面位置データ２６３に一時記憶する。その後、ＣＰＵ２３０は、処理をステップＳ４０に移行する。
【００４３】
ステップＳ４０において、ＣＰＵ２３０は、入力受付手段２５４の実行を開始する。具体的には、ＣＰＵ２３０は、ペンマウス位置データ２６１と操作面位置データ２６３とを比較することで、操作面ＣＰに含まれる位置にペンマウス３０が存在するか否かを判断する。操作面ＣＰに含まれる位置にペンマウス３０が存在する場合、ＣＰＵ２３０は、実空間―画像変換式データ２６４を用いて、ペンマウス位置データ２６１を、ペンマウス３０の実空間での位置に対応付けられた画像空間での座標に変換する。そして、ＣＰＵ２３０は、変換された画像空間での座標を、入力座標データ２６５としてＲＡＭ２６０に一時記憶する。なお、図５に示される一連の処理がＣＰＵ２３０によって行われている間は、ＣＰＵ２３０はＳ４０の処理を常に実行する。従って、ＣＰＵ２３０は、ペンマウス３０が操作面ＣＰ内に存在する場合、入力座標データ２６５を逐次更新する。一方、ペンマウス３０が操作面ＣＰ内に存在しない場合は、入力座標データ２６５の更新は行われない。従って、ペンマウス３０が一旦操作面ＣＰから離れると、ペンマウス３０が最後に操作面ＣＰ内に存在したときの、入力座標データ２６５が保持される。そして、ペンマウス３０が再度操作面ＣＰ内に存在する状態になると、入力座標データ２６５が更新される。ＣＰＵ２３０は、入力受付手段２５４の実行を開始した後、処理をステップＳ５０に移行する。
【００４４】
ステップＳ５０において、ＣＰＵ２３０は、ペンマウス３０を用いて操作面ＣＰに対して行う入力が直接モードか間接モードかを判断する。具体的には、ＣＰＵ２３０は、ＲＡＭ２６０に一時記憶される入力モードフラグ２６８が直接モードか間接モードかを判断する。尚、直接モードとは、図６（Ａ）に示されるように、操作面ＣＰの実空間での位置と、虚像ＶＩの実空間での位置とが一致した状態のことである。図６（Ａ）において、テーブルＴＢＬの表面における所定の範囲に定義された操作面ＣＰが、画像提示部１２０によって提示される虚像ＶＩの画角の範囲に含まれる。換言すれば、ユーザＵＳＲは、虚像ＶＩがテーブルＴＢＬと重畳された状態で、虚像ＶＩを視認する。そのため、ユーザＵＳＲは、あたかも虚像ＶＩがテーブルＴＢＬの表面に提示されているかのように、虚像ＶＩを視認する。従って、直接モードでは、虚像ＶＩに対して直接ペンマウス３０を用いて入力を行っているかのような操作感が得られる。また、間接モードとは、図６（Ｂ）に示されるように、虚像ＶＩの実空間での位置とが一致していない状態のことである。図６（Ｂ）において、操作面ＣＰは、虚像ＶＩの画角の範囲外に存在するテーブルＴＢＬの表面に定義される。そのため、間接モードでは、あたかもテーブルＴＢＬの表面が虚像ＶＩに対する入力デバイスであるかのような操作感が得られる。入力モードフラグ２６８が直接モードの場合（ステップＳ５０：Ｙ）、ＣＰＵ２３０は、処理をステップＳ７０に移行する。一方、入力モードフラグ２６８が間接モードの場合（ステップＳ５０：Ｎ）、ＣＰＵ２３０は、処理をステップＳ６０に移行する。
【００４５】
ステップＳ６０において、ＣＰＵ２３０は、画像制御手段２５５を実行することで、入力座標データ２６５に対応した識別子してのカーソルＣＳを、画像提示部１２０に提示させる。具体的には、図６（Ｂ）に示されるように、ＣＰＵ２３０は、入力座標データ２６５と等しい虚像ＶＩの座標にカーソルＣＳが提示されるように、制御信号を画像提示部１２０に対して送信する。ユーザＵＳＲは、カーソルＣＳを視認することによって、ペンマウス３０によって虚像ＶＩに対して行われる入力座標を認識することが可能になる。なお、図６（Ｂ）において、カーソルＣＳとして矢印が用いられる。しかし、入力の座標を認識することが可能であれば、カーソルＣＳはどのような形状でもよい。ＣＰＵ２３０は、入力座標データ２６５を参照し、カーソルＣＳの提示位置を逐次更新する。カーソルＣＳの提示が開始された後、ＣＰＵ２３０は、処理をステップＳ６５に移行する。
【００４６】
ステップＳ６５において、ＣＰＵ２３０は、操作面表示手段２５８を実行する（詳細は、図９を用いて後述）。操作面表示手段２５８の実行によって、虚像ＶＩの実空間の位置と操作面ＣＰの実空間の位置とが重なる重複領域ＳＡが存在する場合に、重複領域ＳＡにおける操作面ＣＰが虚像ＶＩに表示される。その後、ＣＰＵ２３０は、処理をステップＳ８０に移行する。
【００４７】
ステップＳ７０において、ＣＰＵ２３０は、変更手段２５７を実行する（詳細は、図１１を用いて後述）。変更手段２５７の実行によって、虚像ＶＩに操作面ＣＰが追随するように、操作面ＣＰの位置が変更される。直接モードでは、虚像ＶＩに対して直接ペンマウス３０を用いて入力を行っているかのような操作感が得られる。従って、虚像ＶＩに操作面ＣＰが追随するように操作面ＣＰの位置が変更されることで、ユーザＵＳＲは、操作面ＣＰの位置を気にすることなく、虚像ＶＩに対して直接ペンマウス３０を用いて入力を行なえる。その後、ＣＰＵ２３０は、処理をステップＳ８０に移行する。
【００４８】
ステップＳ８０において、ＣＰＵ２３０は、操作面ＣＰ内に含まれる位置にペンマウス３０が存在するか否かを判断する。具体的には、ＣＰＵ２３０は、ペンマウス位置データ２６１と操作面位置データ２６３とを比較する。比較の結果、ペンマウス３０が操作面ＣＰに存在する場合（ステップＳ８０：Ｙ）、ＣＰＵ２３０は、処理をステップＳ９０に移行する。一方、ペンマウス３０が操作面ＣＰに存在しない場合（ステップＳ８０：Ｎ）、ＣＰＵ２３０は、処理をステップＳ１２０に移行する。
【００４９】
ステップＳ９０において、ＣＰＵ２３０は、ペンマウス３０の第２スイッチ３３０が押されたか否かを判断する。具体的には、ＣＰＵ２３０は、第２スイッチ３３０からの決定信号が受信されたか否かを判断する。第２スイッチ３３０が押された場合（ステップＳ９０：Ｙ）、ＣＰＵ２３０は、処理をステップＳ１００に移行する。一方、第２スイッチ３３０が押されない場合（ステップＳ９０：Ｎ）、ＣＰＵ２３０は、処理をステップ１２０に移行する。
【００５０】
ステップＳ１００及びＳ１１０において、ＣＰＵ２３０は、画像制御手段２５５を実行する。具体的には、ステップＳ１００において、ＣＰＵ２３０は、入力座標データ２６５と、アイコンデータ２６７とを比較する。入力座標データ２６５に含まれる画像空間での座標がアイコンＶＩａの画像空間での座標と一致する場合（ステップＳ１００：Ｙ）、ＣＰＵ２３０は、処理をステップＳ１１０に移行する。一方、不一致の場合（ステップＳ１００：Ｎ）、ＣＰＵ２３０は、処理をステップＳ１２０に移行する。ステップＳ１１０において、ＣＰＵ２３０は、入力座標データ２６５の位置に一致したアイコンＶＩａに割り付けられた、画像提示部１２０の動作を制御するための所定の処理を実行する。この所定の処理は、画像提示部１２０の動作が制御されるものであれば、どの様な処理であっても良い。所定の処理の一例としては、画像提示部１２０によって提示されているコンテンツの再生開始、一時停止、再生終了などである。また、所定の処理の他の例として、画像提示部１２０の電源遮断や虚像ＶＩの提示輝度調整など、コンテンツとは無関係の制御であっても良い。その後、ＣＰＵ２３０は、処理をステップＳ１２０に移行する。
【００５１】
ステップＳ１２０において、ＣＰＵ２３０は、ペンマウス３０の第１スイッチ３２０が押されたか否かを判断する。具体的には、ＣＰＵ２３０は、第１スイッチ３２０からの終了信号が受信されたか否かを判断する。第１スイッチ３２０が押された場合（ステップＳ１２０：Ｙ）、ＣＰＵ２３０は、一連の処理を終了する。一方、第１スイッチ３２０が押されない場合（ステップＳ１２０：Ｎ）、ＣＰＵ２３０は、処理をステップＳ４０に戻す。
【００５２】
［定義手段２５２の処理内容］
以下、図７を用いて、図５のステップＳ３０において、定義手段２５２がＣＰＵ２３０によって実行される際の処理内容の説明を行う。
【００５３】
ステップＳ３１０において、ＣＰＵ２３０は、図８（Ａ）に示される、画像提示部位置設定画像を画像提示部１２０に表示させる。このステップＳ３１０によって、ユーザＵＳＲは、ペンマウス３０を画像提示部１２０に接触させた状態で第２スイッチ３３０を押すことを促される。その後、ＣＰＵ２３０は、処理をステップＳ３１１に移行する。
【００５４】
ステップＳ３１１において、ＣＰＵ２３０は、図５のステップＳ９０と同様に、ペンマウス３０の第２スイッチ３３０が押されたか否かを判断する。第２スイッチ３３０が押された場合（ステップＳ３１１：Ｙ）、ＣＰＵ２３０は、処理をステップＳ３１２に移行する。一方、第２スイッチ３３０が押されない場合（ステップＳ３１１：Ｎ）、ＣＰＵ２３０は、処理を再びＳ３１１に戻し、第２スイッチ３３０が押されるのを待つ。
【００５５】
ステップＳ３１１において、ＣＰＵ２３０は、ステップＳ３１１において第２スイッチ３３０が押されたときのペンマウス位置データ２６１を、画像提示部１２０の実空間での位置として、ＨＭＤ方向データ２６６に一時記憶する。その後、ＣＰＵ２３０は、処理をステップＳ３１３に移行する。
【００５６】
ステップＳ３１３において、ＣＰＵ２３０は、図８（Ｂ）に示される、操作面中心設定画像を画像提示部１２０に表示させる。このステップＳ３１３によって、ユーザＵＳＲは、操作面ＣＰの中心位置を定義するために、第２スイッチ３３０を用いた入力を促される。その後、ＣＰＵ２３０は、処理をステップＳ３１４に移行する。
【００５７】
ステップＳ３１４において、ＣＰＵ２３０は、ステップＳ３１１と同様に、ペンマウス３０の第２スイッチ３３０が押されたか否かを判断する。第２スイッチ３３０が押された場合（ステップＳ３１４：Ｙ）、ＣＰＵ２３０は、処理をステップＳ３１５に移行する。一方、第２スイッチ３３０が押されない場合（ステップＳ３１４：Ｎ）、ＣＰＵ２３０は、処理を再びＳ３１４に戻し、第２スイッチ３３０が押されるのを待つ。
【００５８】
ステップＳ３１５において、ＣＰＵ２３０は、ステップＳ３１４において第２スイッチ３３０が押されたときのペンマウス位置データ２６１を、操作面ＣＰの実空間での中心位置として、操作面位置データ２６３に一時記憶する。その後、ＣＰＵ２３０は、処理をステップＳ３１６に移行する。
【００５９】
ステップＳ３１６において、ＣＰＵ２３０は、判断手段２５６を実行する。具体的には、ＣＰＵ２３０は、ＨＭＤ方向データ２６６に含まれる画像提示部１２０の実空間での位置と、操作面位置データ２６３に含まれる操作面ＣＰの実空間での中心位置とを比較することで、画像提示部１２０と操作面ＣＰとの間の距離を決定する。画像提示部１２０によって提示される虚像ＶＩの画角は予め決まっているので、ＣＰＵ２３０は、画像提示部１２０と操作面ＣＰとの間の距離と、ＨＭＤ方向データ２６６に含まれる画像提示部１２０の向きとに基づいて、操作面ＣＰの距離における虚像ＶＩの画角の範囲を決定する。換言すれば、虚像ＶＩの実空間での位置が決定される。この虚像ＶＩの実空間での位置と、画像提示部１２０と操作面ＣＰとの間の距離とは、ＲＡＭ２６０の虚像位置データ２６２に一時記憶される。そして、ＣＰＵ２３０は、その画角の範囲とペンマウス位置データ２６１とを比較することで、ペンマウス３０が虚像ＶＩの画角の範囲に含まれるか否かを判断する。ペンマウス３０が虚像ＶＩの画角の範囲に含まれる場合（ステップＳ３１６：Ｙ）、ＣＰＵ２３０は、処理をステップＳ３２４に移行する。一方、ペンマウス３０が虚像ＶＩの画角の範囲に含まれない場合（ステップＳ３１６：Ｎ）、ＣＰＵ２３０は、処理をステップＳ３１７に移行する。
【００６０】
ステップＳ３１７において、ＣＰＵ２３０は、ＲＡＭ２６０の入力モードフラグ２６８を間接モードに設定する。その後、ＣＰＵ２３０は、処理をステップＳ３１８に移行する。
【００６１】
ステップＳ３１８において、ＣＰＵ２３０は、図８（Ｃ）に示される、操作面左上設定画像を画像提示部１２０に表示させる。このステップＳ３１８によって、ユーザＵＳＲは、操作面ＣＰの左上位置を定義するために、第２スイッチ３３０を用いた入力を促される。その後、ＣＰＵ２３０は、処理をステップＳ３１９に移行する。
【００６２】
ステップＳ３１９において、ＣＰＵ２３０は、ステップＳ３１１と同様に、ペンマウス３０の第２スイッチ３３０が押されたか否かを判断する。第２スイッチ３３０が押された場合（ステップＳ３１９：Ｙ）、ＣＰＵ２３０は、処理をステップＳ３２０に移行する。一方、第２スイッチ３３０が押されない場合（ステップＳ３１９：Ｎ）、ＣＰＵ２３０は、処理を再びＳ３１９に戻し、第２スイッチ３３０が押されるのを待つ。
【００６３】
ステップＳ３２０において、ＣＰＵ２３０は、ステップＳ３１９において第２スイッチ３３０が押されたときのペンマウス位置データ２６１を、操作面ＣＰの実空間での左上位置として、操作面位置データ２６３に一時記憶する。その後、ＣＰＵ２３０は、処理をステップＳ３２１に移行する。
【００６４】
ステップＳ３２１において、ＣＰＵ２３０は、図８（Ｄ）に示される、操作面右上設定画像を画像提示部１２０に表示させる。このステップＳ３２１によって、ユーザＵＳＲは、操作面ＣＰの右上位置を定義するために、第２スイッチ３３０を用いた入力を促される。その後、ＣＰＵ２３０は、処理をステップＳ３２２に移行する。
【００６５】
ステップＳ３２２において、ＣＰＵ２３０は、ステップＳ３１１と同様に、ペンマウス３０の第２スイッチ３３０が押されたか否かを判断する。第２スイッチ３３０が押された場合（ステップＳ３２２：Ｙ）、ＣＰＵ２３０は、処理をステップＳ３２３に移行する。一方、第２スイッチ３３０が押されない場合（ステップＳ３２２：Ｎ）、ＣＰＵ２３０は、処理を再びＳ３２２に戻し、第２スイッチ３３０が押されるのを待つ。
【００６６】
ステップＳ３２３において、ＣＰＵ２３０は、ステップＳ３２２において第２スイッチ３３０が押されたときのペンマウス位置データ２６１を、操作面ＣＰの実空間での右上位置として、操作面位置データ２６３に一時記憶する。その後、ＣＰＵ２３０は、処理をステップＳ３３１に移行する。
【００６７】
ここで、ステップＳ３１６の判断がＹとなった場合における、ステップＳ３２４以下の処理を説明する。ステップＳ３２４において、ＣＰＵ２３０は、ＲＡＭ２６０の入力モードフラグ２６８を直接モードに設定する。その後、ＣＰＵ２３０は、処理をステップＳ３２５に移行する。
【００６８】
ステップＳ３２５において、ＣＰＵ２３０は、図８（Ｅ）に示される、虚像左上設定画像を画像提示部１２０に表示させる。このステップＳ３２５によって、ユーザＵＳＲは、虚像ＶＩの左上位置を操作面ＣＰの左上位置として定義するために、第２スイッチ３３０を用いた入力を促される。その後、ＣＰＵ２３０は、処理をステップＳ３２６に移行する。
【００６９】
ステップＳ３２６において、ＣＰＵ２３０は、ステップＳ３１１と同様に、ペンマウス３０の第２スイッチ３３０が押されたか否かを判断する。第２スイッチ３３０が押された場合（ステップＳ３２６：Ｙ）、ＣＰＵ２３０は、処理をステップＳ３２７に移行する。一方、第２スイッチ３３０が押されない場合（ステップＳ３２６：Ｎ）、ＣＰＵ２３０は、処理を再びＳ３２６に戻し、第２スイッチ３３０が押されるのを待つ。
【００７０】
ステップＳ３２７において、ＣＰＵ２３０は、ステップＳ３２６において第２スイッチ３３０が押されたときのペンマウス位置データ２６１を、操作面ＣＰの実空間での左上位置として、操作面位置データ２６３に一時記憶する。その後、ＣＰＵ２３０は、処理をステップＳ３２８に移行する。
【００７１】
ステップＳ３２８において、ＣＰＵ２３０は、図８（Ｆ）に示される、虚像右上設定画像を画像提示部１２０に表示させる。このステップＳ３２１によって、ユーザＵＳＲは、虚像ＶＩの右上位置を操作面ＣＰの右上位置として定義するために、第２スイッチ３３０を用いた入力を促される。その後、ＣＰＵ２３０は、処理をステップＳ３２９に移行する。
【００７２】
ステップＳ３２９において、ＣＰＵ２３０は、ステップＳ３１１と同様に、ペンマウス３０の第２スイッチ３３０が押されたか否かを判断する。第２スイッチ３３０が押された場合（ステップＳ３２９：Ｙ）、ＣＰＵ２３０は、処理をステップＳ３３０に移行する。一方、第２スイッチ３３０が押されない場合（ステップＳ３２９：Ｎ）、ＣＰＵ２３０は、処理を再びＳ３２９に戻し、第２スイッチ３３０が押されるのを待つ。
【００７３】
ステップＳ３３０において、ＣＰＵ２３０は、ステップＳ３２９において第２スイッチ３３０が押されたときのペンマウス位置データ２６１を、操作面ＣＰの実空間での右上位置として、操作面位置データ２６３に一時記憶する。その後、ＣＰＵ２３０は、処理をステップＳ３３１に移行する。
【００７４】
ステップＳ３３１において、ＣＰＵ２３０は、操作面位置データ２６３に一時記憶された操作面ＣＰの実空間での中心位置、左上位置及び右上位置に基づいて、操作面ＣＰの実空間での位置を決定する。具体的には、ＣＰＵ２３０は、操作面ＣＰを、前記中心位置を中心とし、前記左上位置及び前記右上位置を端とする矩形領域として定義する。このとき、ＣＰＵ２３０は、操作面ＣＰを、平面の方程式を用いて定義する。そして、ＣＰＵ２３０は、操作面ＣＰの境界を、前記中心位置、前記左上位置及び前記右上位置に基づいて決定する。ＣＰＵ２３０は、決定された操作面ＣＰの平面の方程式と、操作面ＣＰの境界とを、操作面位置データ２６３に一時記憶する。その後、ＣＰＵ２３０は、処理をステップＳ３３２に移行する。
【００７５】
ステップＳ３３２において、ＣＰＵ２３０は、対応付け手段２５３を実行する。具体的には、ＣＰＵ２３０は、操作面データ２６３に含まれる虚像ＶＩの実空間での中心位置、左上位置及び右上位置と、虚像ＶＩの画像空間での中心座標、左上座標及び右上座標とを用いて、実空間での位置から画像空間での座標への変換を行う変換式を計算する。なお、虚像ＶＩの画像空間での中心座標、左上座標及び右上座標は、虚像ＶＩの中心に位置する画素の座標、左上に位置する画素の座標及び右上に位置する画素の座標にそれぞれ相当する。ＣＰＵ２３０は、計算した変換式を、ＲＡＭ２６０の実空間―画像変換式データ２６４に一時記憶する。ＣＰＵ２３０はさらに、この変換式を計算したときのＨＭＤ方向データ２６４の値を、この変換式に紐付けした状態で、実空間―画像変換式データ２６４に一時記憶する。その後、ＣＰＵ２３０は、定義手段２５２の実行を終了し、処理を図５のステップＳ４０に戻す。
【００７６】
［操作面表示手段２５８の処理内容］
以下、図９を用いて、図５のステップＳ６５において、操作面表示手段２５８がＣＰＵ２３０によって実行される際の、操作面変更処理の内容を説明する。
【００７７】
ステップＳ６５１において、ＣＰＵ２３０は、虚像ＶＩの実空間での位置と、操作面ＣＰの実空間での位置とを比較する。具体的には、ＣＰＵ２３０は、操作面位置データ２６３に含まれる操作面ＣＰの実空間での位置と、ＨＭＤ方向データ２６６に含まれる画像提示部１２０の実空間での位置とに基づいて、画像提示部１２０と操作面ＣＰの境界とを繋ぐ直線の方向を定義する。この直線は、所定の間隔をおいて、操作面ＣＰの境界の全周に対して定義される。そして、ＣＰＵ２３０は、この直線の方向と虚像位置データ２６２に含まれる虚像ＶＩの実空間での位置とに基づいて、この直線と虚像ＶＩとの交点を決定する。交点が存在する場合、図１０に示されるように、交点と虚像ＶＩの境界とによって囲まれる領域が、虚像ＶＩの実空間の位置と操作面ＣＰの実空間の位置とが重なる重複領域ＳＡとなる。交点を決定した後、ＣＰＵ２３０は、処理をステップＳ６５２に移行する。
【００７８】
ステップＳ６５２において、ＣＰＵ２３０は、ステップＳ６５１における比較結果に基づいて、重複領域ＳＡが存在するか否かを判断する。この判断は、画像提示部１２０と操作面ＣＰの境界とを繋ぐ直線と、虚像ＶＩとの交点が存在するか否かを判断することによって達成される。重複領域ＳＡが存在する場合（ステップＳ６５２：Ｙ）、ＣＰＵ２３０は、処理をステップＳ６５３に移行する。一方、重複領域ＳＡが存在しない場合（ステップＳ６５２：Ｎ）、ＣＰＵ２３０は、操作面表示手段２５８の実行を終了し、処理を図５のステップＳ８０に戻す。
【００７９】
ステップＳ６５３において、ＣＰＵ２３０は、虚像ＶＩにおける重複領域ＳＡの位置の色を変更する。この重複領域ＳＡの色の変更は、ユーザＵＳＲが操作面ＣＰを認識可能な様態であれば、どのような様態でも良い。例えば、ＣＰＵ２３０は、重複領域ＳＡにおいて、虚像ＶＩの色を反転する処理を行う。あるいは、ＣＰＵ２３０は、重複領域ＳＡにおける虚像ＶＩのカラーバランスを変更することによって、重複領域ＳＡに色が付いた様に視認される虚像ＶＩを提示しても良い。この処理によって、図１０に示されるように、ユーザは虚像ＶＩにおける重複領域ＳＡを認識することが可能になる。その後、ＣＰＵ２３０は、操作面表示手段２５８の実行を終了し、処理を図５のステップＳ８０に戻す。
【００８０】
［変更手段２５７の処理内容］
以下、図１１を用いて、図５のステップＳ７０において、変更手段２５７がＣＰＵ２３０によって実行される際の操作面変更処理の内容を説明する。
【００８１】
ステップＳ７０１において、ＣＰＵ２３０は、操作面ＣＰの位置が決定されたときの画像提示部１２０の向きと、現在の画像提示部１２０の向きとを比較する。具体的には、ＣＰＵ２３０は、実空間―画像変換式データ２６４に含まれる画像提示部１２０の向きと、ＨＭＤ方向データ２６６とを比較する。その後、ＣＰＵ２３０は、処理をステップＳ７０２に移行する。
【００８２】
ステップＳ７０２において、ＣＰＵ２３０は、ステップＳ７０１の比較結果に基づいて、操作面ＣＰの位置が決定されたときの画像提示部１２０の向きと、現在の画像提示部１２０の向きとが一致するか否かを判断する。向きが一致する場合（ステップＳ７０２：Ｙ）、ＣＰＵ２３０は、変更手段２５７の実行を終了し、処理を図５のステップＳ８０に戻す。一方、向きが一致する場合（ステップＳ７０２：Ｎ）、ＣＰＵ２３０は、処理をステップＳ７０３に移行する。
【００８３】
ステップＳ７０３において、ＣＰＵ２３０は、ステップＳ７０１の比較結果に従って、虚像ＶＩの実空間での位置を更新する。具体的には、ＣＰＵ２３０は、操作面ＣＰの位置が決定されたときの画像提示部１２０の向きと、現在の画像提示部１２０の向きとの差から、画像提示部１２０の回転量を決定する。そして、ＣＰＵ２３０は、その回転量と、虚像位置データ２６２に含まれる画像提示部１２０と操作面ＣＰとの間の距離とに基づいて、虚像ＶＩの実空間での位置の移動量を決定する。ＣＰＵ２３０は、この位置の移動量を虚像位置データ２６２に加算することで、虚像ＶＩの実空間での位置を更新する。その後、ＣＰＵ２３０は、処理をステップＳ７０４に移行する。
【００８４】
ステップＳ７０４において、ＣＰＵ２３０は、操作面ＣＰの実空間での位置を更新する。具体的には、ＣＰＵ２３０は、ステップＳ７０３で決定された虚像ＶＩの実空間での位置の移動量を、操作面位置データ２６３に加算する。直接モードでは、虚像ＶＩの実空間での位置と、操作面ＣＰの位置とが一致している。従って、操作面ＣＰの操作面位置データ２６３に虚像ＶＩの実空間での位置の移動量を加算することで、操作面ＣＰの実空間での位置は、虚像ＶＩの実空間での位置に一致する。その後、ＣＰＵ２３０は、処理をステップＳ７０５に移行する。
【００８５】
ステップＳ７０５において、ＣＰＵ２３０は、実空間―画像変換式データ２６４に含まれる、実空間での位置から画像空間での座標への変換を行う変換式を更新する。具体的には、ＣＰＵ２３０は、更新された虚像位置データ２６２を用いて、対応付け手段２５３を再度実行する。この処理によって、実空間―画像変換式データ２６４に含まれる変換式が更新される。ＣＰＵ２３０はまた、現在のＨＭＤ方向データ２６４の値を、この変換式に紐付けした状態で、実空間―画像変換式データ２６４に一時記憶する。即ち、空間―画像変換式データ２６４に含まれる画像提示部１２０の向きも更新される。その後、ＣＰＵ２３０は、変更手段２５７の実行を終了し、処理を図５のステップＳ８０に戻す。
【００８６】
＜変形例＞
本発明は、今までに述べた実施形態に限定されることは無く、その趣旨を逸脱しない範囲において種々の変形・変更が可能である。以下にその一例を述べる。
【００８７】
前記実施形態において、頭部装着部１０の骨格の構成は、例えば、通常の眼鏡と同様である。しかし、頭部装着部１０の骨格は、画像提示部を保持した状態でユーザＵＳＲの頭部に装着可能な構成であれば、他の構成であっても良い。例えば、頭部装着部１０の骨格は、ヘッドバンドの様に、ユーザの頭に載せられる形状であっても良い。あるいは、頭部装着部１０は、骨格を有さなくても良い。この場合、頭部装着部は、画像提示部１２０と、ユーザＵＳＲが日常的に用いている眼鏡に対して画像提示部１２０を取り付け可能な取付部などで構成可能である。
【００８８】
前記実施形態において、画像提示部１２０は、ユーザＵＳＲの左目ＬＥに虚像ＶＩを提示するために、頭部装着部１０を装着したユーザＵＳＲの左眼ＬＥと略同一の高さとなる位置に配設される。しかし、画像提示部１２０は、ユーザＵＳＲの右目に対して虚像ＶＩを提示可能な位置に配設されても良い。あるいは、画像提示部１２０は、ユーザＵＳＲの両眼に虚像ＶＩを提示するために、左右一対設けられても良い。
【００８９】
前記実施形態において、ユーザＵＳＲは、ペンマウス３０を用いて虚像ＶＩに対する入力を行う。しかし、ユーザＵＳＲの手に保持され、ユーザＵＳＲの手の移動量を検知する構成であれば、ペンマウス３０以外であっても差し支えない。例えば、ユーザＵＳＲの指に嵌合する指輪型の入力デバイスに、ペンマウス３０が有する機能を組み込んでも差し支えない。あるいは、通常ＰＣなどで用いられるマウスの様な形状が用いられても良い。また、ペンマウス３０と制御ボックス２０とは、ケーブル５１にて接続されなくても良い。この場合、ペンマウス用Ｉ／Ｆ２４０及びＩ／Ｆ３４０は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）などの無線通信によって構成可能である。さらに、制御ボックス２０からペンマウス３０へのケーブル５１を介した電力供給が不可能になるため、ペンマウス３０は、別途バッテリーを備えるのが良い。
【符号の説明】
【００９０】
１  ＨＭＤ
１０  頭部装着部
２０  コントロールボックス
３０  ペンマウス
５０，５１  ケーブル
１０２Ａ，１０２Ｂ  モダン
１０４Ａ，１０４Ｂ  テンプル
１０６Ａ，１０６Ｂ  ヨロイ
１０８  フロントフレーム
１１０  鼻パッド
１１２Ａ，１１２Ｂ  蝶番
１２０  画像提示部
１２９  取付部
１３０  角速度センサ
１４０  ハーフミラー
２１０  フラッシュＲＯＭ
２２０  周辺Ｉ／Ｆ
２３０  ＣＰＵ
２４０  ペンマウス用Ｉ／Ｆ
２５０  プログラムＲＯＭ
２６０  ＲＡＭ
２７０  入力ボタン群
３１０  ３次元加速度センサ
３２０  第１スイッチ
３３０  第２スイッチ
３４０  Ｉ／Ｆ
ＣＰ  操作面
ＣＳ  カーソル
ＬＥ  ユーザＵＳＲの左目
ＳＡ  重複領域
ＴＢＬ  テーブル
ＵＳＲ  ユーザ
ＶＩ  虚像
ＶＩａ  アイコン
【図１】
0005428943.tif 000002
【図２】
0005428943.tif 000003
【図３】
0005428943.tif 000004
【図４】
0005428943.tif 000005
【図５】
0005428943.tif 000006
【図６】
0005428943.tif 000007
【図７】
0005428943.tif 000008
【図８】
0005428943.tif 000009
【図９】
0005428943.tif 000010
【図１０】
0005428943.tif 000011
【図１１】
0005428943.tif 000012