(57)【要約】【課題】  観察者が状況に応じて操作パネルに対する操作を適宜行うことを可能にするための技術を提供すること。【解決手段】  操作パネルの位置を変更する指示が入力された場合にはペン入力装置３００の位置に操作パネルを配置し、操作パネルの位置の変更を終了する指示が入力された場合には操作パネルの位置姿勢を固定する。そしてカメラ１０２から見える操作パネルを含む仮想物体の映像を生成し、カメラ１０２による現実空間の映像に重畳させて表示部１０３に出力する。【選択図】    図１
2006127158.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間の画像を観察者に提示するための画像処理方法であって、
観察者の視点の位置姿勢を入力する第１の入力工程と、
当該観察者が使用する指示具の位置を入力する第２の入力工程と、
仮想物体としての操作パネルの位置を変更する指示が入力された場合には、前記第２の入力工程で入力された前記指示具の位置に前記操作パネルを配置する配置工程と、
前記第１の入力工程で入力した位置姿勢の視点から見える前記操作パネルを含む仮想物体の画像を生成する生成工程と
を備えることを特徴とする画像処理方法。
【請求項２】
更に、前記観察者の視点から見える現実空間の画像を入力する第３の入力工程と、前記生成工程で生成した映像を外部に出力する出力工程とを備え、
前記出力工程では、前記生成工程で生成した画像を前記第３の入力工程で入力した画像上に重畳させて外部に出力することを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記配置工程では、前記第２の入力工程で入力された前記指示具の位置を含み、且つ前記第１の入力工程で入力した前記視点の位置と前記第２の入力工程で入力された前記指示具の位置とを結ぶベクトルを法線ベクトルとする平面上に前記操作パネルを配置することを特徴とする請求項１又は２に記載の画像処理方法。
【請求項４】
前記配置工程で配置した前記操作パネルの位置が、所定の平面領域内である場合には、当該所定の平面領域の位置姿勢で規定される座標系内に前記操作パネルを配置することを特徴とする請求項１乃至３の何れか１項に記載の画像処理方法。
【請求項５】
前記所定平面領域は、タブレットの面領域であることを特徴とする請求項４に記載の画像処理方法。
【請求項６】
前記配置工程で配置した前記操作パネルの位置と前記第１の入力工程で入力した位置との距離が所定距離以下である場合には、前記第１の入力工程で入力した位置姿勢で規定される座標系内に前記操作パネルを配置することを特徴とする請求項１乃至５の何れか１項に記載の画像処理方法。
【請求項７】
前記操作パネルの位置を変更する指示、前記操作パネルの位置の変更を終了する指示は、前記指示具でもって前記操作パネル上の所定のアイコンを指示することでなされることを特徴とする請求項１乃至６の何れか１項に記載の画像処理方法。
【請求項８】
更に、前記操作パネルの位置の変更を終了する指示が入力された場合には、前記操作パネルの位置姿勢を固定する固定工程を備えることを特徴とする請求項１乃至７の何れか１項に記載の画像処理方法。
【請求項９】
仮想空間の画像を観察者に提示するための画像処理装置であって、
観察者の視点の位置姿勢を入力する第１の入力手段と、
当該観察者が使用する指示具の位置を入力する第２の入力手段と、
仮想物体としての操作パネルの位置を変更する指示が入力された場合には、前記第２の入力手段によって入力された前記指示具の位置に前記操作パネルを配置する配置手段と、
前記第１の入力手段によって入力した位置姿勢の視点から見える前記操作パネルを含む仮想物体の画像を生成する生成手段と
を備えることを特徴とする画像処理装置。
【請求項１０】
コンピュータに請求項１乃至８の何れか１項に記載の画像処理方法を実行させることを特徴とするプログラム。
【請求項１１】
請求項１０に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間に仮想空間の映像を重畳させて観察者に提示する為の技術に関するものである。
【背景技術】
【０００２】
バーチャルリアリティ（ＶＲ）システムは、ヘッドマウントディスプレイ（ＨＭＤ）を頭部に装着したユーザにコンピュータの作り出す三次元ＣＧを提示することで、仮想の空間をあたかも現実であるかのように感じさせるシステムである。また、近年、現実世界の映像に三次元ＣＧを合成することで現実世界にはない情報をユーザに提示する技術の開発もなされており、それらはＡＲ（Augumented Reality, 拡張現実感）システムやＭＲ（Mixed Reality, 複合現実感）システムと呼ばれている。
【０００３】
こうしたＶＲシステムやＡＲシステムにおいて、三次元ＣＧの操作を行う際には、操作メニューと呼ばれる操作補助のための図形を画面に表示し、操作メニューに対して入力を行うことで操作を指示することが一般的である。こうした操作メニューには複数の方式があり、操作メニューを選択することによって更にその下位にある操作メニューが表示されるプルダウン操作メニューや、ボタン等を押すことによって操作メニューが表示されるポップアップ操作メニュー、操作メニュー項目が円状に表示されるパイ操作メニュー等がある。
【０００４】
このような操作メニューは、世界座標系、すなわち仮想空間のいずれかの場所、たとえば仮想の机の上などに固定されて表示されることもあれば、視野座標系、すなわちユーザの目の前に常に表示されることもある。（例えば、特許文献１参照）また、三次元状のメニューをユーザに提示するものもある。（例えば、特許文献２参照）ユーザが手に持ったタブレット上に表示されることもある。
【特許文献１】特開平７−２７１５４６号公報
【特許文献２】特開平４−２１４５９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のような操作メニューの表示方法には、いずれにも一長一短があった。世界座標系に操作メニューを固定する方法は、ユーザは操作メニューを使いたいときだけ操作メニューのある方向にＨＭＤを向ければよいので、ＨＭＤの表示領域を操作メニューが占有してしまうことがないというメリットがあるが、ユーザが動き回るような場合には操作メニューが最初に配置した位置に取り残されてしまい、ユーザが操作メニューを使いたいときに使えなくなってしまうという問題があった。また、視野座標系に操作メニューを固定する方法は、ユーザが動き回っても操作メニューが一緒に付いてくるというメリットはあるが、ＨＭＤの表示領域の一定の領域を常に操作メニューが占有してしまうという問題があった。また、タブレット上に操作メニューを表示する方法では、タブレットを持つために手がふさがってしまうという問題があった。
【０００６】
本発明は以上の問題に鑑みて成されたものであり、観察者が状況に応じて操作パネルに対する操作を適宜行うことを可能にするための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【０００８】
即ち、仮想空間の画像を観察者に提示するための画像処理方法であって、
観察者の視点の位置姿勢を入力する第１の入力工程と、
当該観察者が使用する指示具の位置を入力する第２の入力工程と、
仮想物体としての操作パネルの位置を変更する指示が入力された場合には、前記第２の入力工程で入力された前記指示具の位置に前記操作パネルを配置する配置工程と、
前記第１の入力工程で入力した位置姿勢の視点から見える前記操作パネルを含む仮想物体の画像を生成する生成工程と
を備えることを特徴とする。
【０００９】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００１０】
即ち、仮想空間の画像を観察者に提示するための画像処理装置であって、
観察者の視点の位置姿勢を入力する第１の入力手段と、
当該観察者が使用する指示具の位置を入力する第２の入力手段と、
仮想物体としての操作パネルの位置を変更する指示が入力された場合には、前記第２の入力手段によって入力された前記指示具の位置に前記操作パネルを配置する配置手段と、
前記第１の入力手段によって入力した位置姿勢の視点から見える前記操作パネルを含む仮想物体の画像を生成する生成手段と
を備えることを特徴とする。
【発明の効果】
【００１１】
本発明は、仮想空間の画像を観察者に提示する為の技術に関するものである。
【発明を実施するための最良の形態】
【００１２】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１３】
＜システム＞
図１は、本実施形態に係るシステムの機能構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムは、ＨＭＤ１００、ＰＣ（パーソナルコンピュータ）２００、ペン入力装置３００、タブレット位置姿勢センサ４００により構成されている。
【００１４】
＜ＨＭＤ１００＞
先ず、ＨＭＤ１００について説明する。ＨＭＤ１００は現実空間と仮想空間とが融合された空間を観察する観察者の頭部に装着し、現実空間と仮想空間とを合成した映像を観察者の眼前に提供する為の頭部装着型表示装置で、頭部位置姿勢センサ１０１、カメラ１０２、表示部１０３により構成されている。
【００１５】
頭部位置姿勢センサ１０１は、不図示のトランスミッタが発する磁場の変化を検知し、検知した結果の信号をＰＣ２００に出力するものである。検知した結果の信号は、トランスミッタの位置を原点とし、この原点の位置で互いに直交する３軸をｘ、ｙ、ｚ軸とする座標系（以下、センサ座標系と呼称する）において、頭部位置姿勢センサ１０１の位置姿勢に応じて検知される磁場の変化を示す信号である。ＰＣ２００は、この信号に基づいて、センサ座標系における頭部位置姿勢センサ１０１の位置姿勢を求める。
【００１６】
カメラ１０２は例えば１以上のＣＣＤカメラにより構成されており、自身の位置姿勢に応じて見える現実空間を連続して撮像するものであり、撮像した各フレームの画像はＰＣ２００に出力される。なお、カメラ１０２は、観察者の視点として用いることから、観察者が自身の頭部にＨＭＤ１００を装着した際に、観察者の視点（目）の位置にできるだけ近い位置にカメラ１０２を設けるようにする。
【００１７】
表示部１０３は、観察者がＨＭＤ１００を頭部に装着したときに眼前に位置するようにＨＭＤ１００に装着されたものであり、ＰＣ２００から出力された画像信号に基づいた画像を表示する。従って観察者の眼前にはＰＣ２００が生成した画像が提供されることになる。
【００１８】
なお本実施形態では、ＨＭＤ１００を構成する装置を観察者が装着しているが、観察者が仮想空間と現実空間とが融合された空間を体験できる形態であれば、ＨＭＤ１００は必ずしも観察者が装着する必要はない。
【００１９】
＜ＰＣ２００＞
次にＰＣ２００について説明する。ＰＣ２００はＣＧ（コンピュータグラフィックス）データ格納部２０１、ＣＧ生成部２０２、画像合成部２０３により構成されている。
【００２０】
ＣＧデータ格納部２０１は、仮想空間を構成する１以上の仮想物体の映像を生成するために必要なデータ（例えば仮想物体をポリゴンでもって構成する場合、各ポリゴンの頂点データ、ポリゴンの法線データ、テクスチャデータ、仮想物体の初期位置データなど）を格納するメモリとして機能する。
【００２１】
ＣＧ生成部２０２は、ＣＧデータ格納部２０１が保持するデータに基づいて、仮想物体の映像を生成する処理を行う。
【００２２】
画像合成部２０３は、ＨＭＤ１００のカメラ１０２から入力される現実空間の映像上に、ＣＧ生成部２０２が生成した仮想空間の映像を重畳させ、ＨＭＤ１００の表示部１０３に出力する処理を行う。
【００２３】
なお、同図では、ＰＣ２００の構成として、仮想空間の映像を生成し、これを現実空間の映像上に重畳させてＨＭＤ１００の表示部１０３に出力する為の構成のみを示したが、実際にＰＣ２００にはこれ以外の機能を実現するための構成も備わっている。
【００２４】
図８は、ＰＣ２００の基本構成を示すブロック図である。
【００２５】
８０１はＣＰＵで、ＲＡＭ８０２やＲＯＭ８０３に格納されているプログラムやデータを用いてＰＣ２００全体の制御を行うと共に、ＰＣ２００が行う後述の各処理を実行する。なお、図１に示したＣＧ生成部２０２、画像合成部２０３は、このＣＰＵ８０１が有する機能の一部として動作する。
【００２６】
８０２はＲＡＭで、外部記憶装置８０７からロードされたプログラムやデータを一時的に記憶するためのエリア、後段のＩ／Ｆ８０８〜８１０のそれぞれを介して受信したデータを一時的に記憶するためのエリア、そしてＣＰＵ８０１が各種の処理を行う際に用いるワークエリアを備える。
【００２７】
８０３はＲＯＭで、ＰＣ２００の設定データやブートプログラムなどを格納する。
【００２８】
８０４、８０５はそれぞれキーボード、マウスで、各種の指示をＣＰＵ８０１に対して入力することができる。
【００２９】
８０６は表示装置で、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ８０１による処理結果を画像や文字などでもって表示することができる。
【００３０】
８０７は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置により構成されており、ここにＯＳ（オペレーティングシステム）や、ＰＣ２００が行う後述の各処理をＣＰＵ８０１に実行させるためのプログラムやデータが保存されており、これらの一部もしくは全部はＣＰＵ８０１の制御に従ってＲＡＭ８０２にロードされ、ＣＰＵ８０１がこれを用いることで、ＰＣ２００は（ＰＣ２００が行う）後述する各処理を実行することになる。なお、図１に示したＣＧデータ格納部２０１はこの外部記憶装置８０７が有する機能の一部として動作する。
【００３１】
８０８はＩ／Ｆで、ＨＭＤ１００を本ＰＣ２００に接続するためのものであり、このＩ／Ｆ８０８を介してＰＣ２００はＨＭＤ１００とのデータ通信を行うことになる。
【００３２】
８０９はＩ／Ｆで、ペン入力装置３００を本ＰＣ２００に接続するためのものであり、このＩ／Ｆ８０９を介してＰＣ２００はペン入力装置３００とのデータ通信を行うことになる。
【００３３】
８１０はＩ／Ｆで、タブレット位置姿勢センサ４００を本ＰＣ２００に接続するためのものであり、このＩ／Ｆ８１０を介してＰＣ２００はタブレット位置姿勢センサ４００とのデータ通信を行うことになる。
【００３４】
８１１は上述の各部を繋ぐバスである。
【００３５】
なお、ＰＣ２００の代わりに、同様の処理を行うための専用ハードウェアを用いても良いし、ワークステーションなどを用いるようにしても良い。
【００３６】
＜ペン入力装置３００＞
次にペン入力装置３００について説明する。ペン入力装置３００は操作部位置姿勢センサ３０１、決定ボタン３０２により構成されている。
【００３７】
操作部位置姿勢センサ３０１は、不図示のトランスミッタが発する磁場の変化を検知し、検知した結果の信号をＰＣ２００に出力するものである。検知した結果の信号は、上記センサ座標系において、操作部位置姿勢センサ３０１の位置姿勢に応じて検知される磁場の変化を示す信号である。ＰＣ２００は、この信号に基づいて、センサ座標系における操作部位置姿勢センサ３０１の位置姿勢を求める。
【００３８】
なお、以下ではこの操作部位置姿勢センサ３０１の位置姿勢に操作対象の仮想物体を配置することから、この操作部位置姿勢センサ３０１は、ペン入力装置３００の先端部分に取り付けることが好ましい。しかし、取り付け位置がペン入力装置３００の先端でなくても、取り付け位置と先端部分との位置姿勢関係（バイアス）を予め測定しておけば、操作部位置姿勢センサ３０１により検知した自身の位置姿勢にこのバイアスを加算することで、ペン入力装置３００の先端の位置姿勢を取得することができる。よって取り付け位置は特に限定するものではない。また、以下の説明では「ペン入力装置３００の位置」とは、ペン入力装置３００の先端部分の位置を表すものとし、この先端部分の位置の取得については上述の通りである。
【００３９】
決定ボタン３０２は、観察者が手に持って各種のタイミングを指示するためのものである。この決定ボタン３０２が観察者によって押下されると、押下された旨を示す信号はＰＣ２００に入力されることになる。
【００４０】
＜タブレット位置姿勢センサ４００＞
タブレット位置姿勢センサ４００は、不図示のトランスミッタが発する磁場の変化を検知し、検知した結果の信号をＰＣ２００に出力するものである。検知した結果の信号は、上記センサ座標系において、タブレット位置姿勢センサ４００の位置姿勢に応じて検知される磁場の変化を示す信号である。ＰＣ２００は、この信号に基づいて、センサ座標系におけるタブレット位置姿勢センサ４００の位置姿勢を求める。タブレット位置姿勢センサ４００は、後述するタブレットに取り付けられたものであり、このタブレットの位置姿勢を計測するためのものである。
【００４１】
＜観察者への映像の提示処理＞
次に、上記構成を備える本実施形態に係るシステムが、ＨＭＤ１００を頭部に装着した観察者に対して現実空間と仮想空間とが融合した空間の映像を提示する為に行う処理について説明する。
【００４２】
ＨＭＤ１００に備わっているカメラ１０２は、自身の位置姿勢に応じて見える現実空間の映像を撮像し、撮像した映像はＩ／Ｆ８０８を介してデータとしてＲＡＭ８０２に入力される。
【００４３】
一方で、頭部位置姿勢センサ１０１は上述の通り、センサ座標系における自身の位置姿勢に応じた信号をＩ／Ｆ８０８を介してデータとしてＲＡＭ８０２に入力するので、ＣＰＵ８０１は、このデータが示す「センサ座標系における頭部位置姿勢センサ１０１の位置姿勢」に、予め測定した「頭部位置姿勢センサ１０１とカメラ１０２との位置姿勢関係」を加算して、「センサ座標系におけるカメラ１０２の位置姿勢」を求める。予め測定した「頭部位置姿勢センサ１０１とカメラ１０２との位置姿勢関係」を示すデータは外部記憶装置８０７に予め保存されているものとする。
【００４４】
また、ＣＰＵ８０１は外部記憶装置８０７に保存されている仮想空間を構成する各仮想物体のデータを用いて、仮想空間中に仮想物体を配置する。そして先に求めた「カメラ１０２のセンサ座標系における位置姿勢」に基づいて、カメラ１０２から見える仮想空間の映像を生成する。所定の位置姿勢を有する１点から見える仮想空間の映像を生成する処理については周知のものであるので、ここでの説明は省略する。
【００４５】
そして生成した仮想空間の映像を、先にＲＡＭ８０２に入力した現実空間の映像上に重畳させ、Ｉ／Ｆ８０８を介してＨＭＤ１００の表示部１０３に出力する。これにより、表示部１０３の表示画面上には現実空間と仮想空間とが融合した空間の映像が表示されるので、観察者の眼前にはカメラ１０２の位置姿勢に応じた映像が見えることになる。
【００４６】
なお、現実空間と仮想空間とが融合した空間の映像を生成して観察者に提示する為の一連の処理については様々考えられ、以上の処理に限定するものではない。
【００４７】
＜観察者の操作環境、及び操作パネル＞
図２は、観察者がＨＭＤ１００を自身の頭部に装着した場合に、表示部１０３に表示される映像の表示例を示す図である。同図において２５１は後述する作業を行うために設けられた現実物体としての机、２５２は仮想物体、２５３は仮想物体としての操作パネル、２５４は上記タブレットである。なお同図において図１に示したものと同じものについては同じ番号を付けており、その説明は省略する。
【００４８】
本実施形態では同図に示す如く、観察者は手にペン入力装置３００を持ち、その位置姿勢は自由に変更することができる。また、仮想空間中の所定の位置には仮想物体としての操作パネル（操作メニュー）２５３が配置されている。
【００４９】
図３は、操作パネルの一例を示す図である。操作パネル２５３は同図の３５１に示す如く複数の操作アイコンを備える。観察者はペン入力装置３００でもってこれらのアイコンの何れかを指示することができる。「アイコンを指示する」とは、ペン入力装置３００の位置がアイコンの表示領域内に位置している状態で決定ボタン３０２を押下する、ということである。
【００５０】
そして何れかのアイコンを指示すると、ＰＣ２００は指示されたアイコンに対応する機能、例えば、仮想物体を移動させる機能を実行する。そして、観察者が自身の手を動かしてペン入力装置３００の位置姿勢を移動させると、ＰＣ２００はそれに追従して仮想物体の位置姿勢を変化させる。このようにして、操作パネル２５３が備えるアイコンでもって、仮想空間に対する各種の操作を実現することができる。
【００５１】
また、同図において３５２は消去ボタンで、この消去ボタン３５２を指示すると、同図の操作パネル２５３を消去（表示しない）する。３５３はコピーボタンで、このコピーボタン３５３を指示すると、同図の操作パネル２５３を複製することができ、更に、複製された操作パネルは指示された位置に配置される。３５４は移動ボタンで、この移動ボタン３５４を指示すると、同図の操作パネル２５３の位置を変更することができる。なお、各ボタンの指示は、ペン入力装置３００の位置がボタンの表示領域内に位置している状態で決定ボタン３０２を押下する、という操作によりなされるものである。
【００５２】
＜操作パネル２５３の操作方法＞
次に、操作パネル２５３の配置位置を変更する為の、操作パネル２５３の操作について説明する。先ず、観察者はペン入力装置３００を手に持ってその先を移動ボタン３５４、もしくはコピーボタン３５３の何れかの位置に移動させ、そこで決定ボタン３０２を押下する。すると、ＰＣ２００はペン入力装置３００の位置（操作部位置姿勢センサ３０１が計測した位置、もしくは計測した位置に上記バイアスを加算した結果得られる位置）が移動ボタン３５４、もしくはコピーボタン３５３の何れの位置にあると判断し、且つ決定ボタン３０２が押下された旨の信号をＩ／Ｆ８０９を介して受けるので、「移動ボタン３５４が指示された」もしくは「コピーボタン３５３が指示された」と判断する。
【００５３】
そして移動ボタン３５４が指示された場合には以下、操作パネル２５３がペン入力装置３００による移動対象となる。また、コピーボタン３５３が指示された場合には先ず、操作パネル２５３の仮想物体を複製し、複製した操作パネルをペン入力装置３００による移動対象とする。
【００５４】
ここで、観察者がペン入力装置３００の位置を所定の位置に移動させ、そこで決定ボタン３０２を押下すると、ＰＣ２００はこのときのペン入力装置３００の位置（操作部位置姿勢センサ３０１が計測した位置、もしくは計測した位置に上記バイアスを加算した結果得られる位置）に操作パネル２５３（複製した操作パネルを含む）を配置するのであるが、ここで、この配置に係る処理について図４を用いて説明する。
【００５５】
図４は、ペン入力装置３００により操作パネル２５３の位置を移動させ、所望の位置に配置する為の操作について説明する図である。観察者がペン入力装置３００の位置を移動させ、同図に示す如く位置１でもって決定ボタン３０２を押下したとすると、ＰＣ２００は、位置１（決定ボタン３０２が押下されたときに操作部位置姿勢センサ３０１が計測した位置、もしくは計測した位置に上記バイアスを加算した結果得られる位置）を含み、且つ決定ボタン３０２が押下されたときに頭部位置姿勢センサ１０１から受けた位置と位置１とを結ぶベクトルを法線ベクトルとする平面４５０上に操作パネル２５３（もしくは複製した操作パネル）を配置する。操作パネル２５３のどの部分を位置１にあわせるのかについては特に限定するものではない（同図では操作パネル２５３の左上隅を位置１にあわせている）。またこのとき、操作パネル２５３の上方向を示すベクトルは、ＨＭＤ１００の上方向を示すベクトルを操作パネル２５３が配置される平面４５０上に投影したベクトルと一致する。また、操作パネル２５３の大きさはあらかじめ定められた大きさとなる。
【００５６】
また、上記平面４５０として、位置１を含み、且つ決定ボタン３０２が押下されたときに頭部位置姿勢センサ１０１から受けた位置に予め測定した「頭部位置姿勢センサ１０１とカメラ１０２との位置姿勢関係」を加算した位置と、位置１とを結ぶベクトルを法線ベクトルとする平面を用いるようにしても良い。この方が操作パネル２５３の操作面が視点側に向くことになり、より観察者の視点から操作パネル２５３が見やすくなる。
【００５７】
このように配置することで、ペン入力装置３００でもって指示した位置に操作パネル２５３を観察者の視点から見えるように配置することができる。
【００５８】
そして操作パネル２５３を配置後、操作パネル２５３の配置完了の旨を指示すれば、操作パネル２５３の配置処理は完了し、操作パネル２５３は指示された位置に上述のようにして配置される。
【００５９】
操作パネル２５３の配置完了の旨の指示は、例えば、決定ボタン３０２の押下であっても良いし、決定ボタン３０２を仮想物体として仮想空間中に配置し、ペン入力装置３００でもって他のボタンと同様にして指示するようにしても良い。また、配置位置（図４では位置１）から所定の距離だけ離間した位置で決定ボタン３０２を押下するようにしても良いし、所定時間以上決定ボタン３０２を押下しない、というようにしても良い。いずれにせよ、ＰＣ２００のＣＰＵ８０１は操作パネル２５３の配置完了の旨の指示を受けると、操作パネル２５３の配置処理を完了する。
【００６０】
ここで、操作パネル２５３の配置完了の旨の指示を受ける前に、ペン入力装置３００でもって新たな位置が指示されると、今度は指示された位置に基づいて、操作パネル２５３のサイズの変更を行う。
【００６１】
図５は、ペン入力装置３００による操作パネル２５３のサイズ変更操作について説明する図である。ここで、サイズ変更前の操作パネル２５３の４隅を１，Ｂ、Ｃ、Ａとする場合に、先ず同図に示す如く、ペン入力装置３００の位置を位置２に移動させ、ここで決定ボタン３０２を押下すると、ＰＣ２００は先ず、位置１と位置Ａ（サイズ変更前の操作パネル２５３の右上隅）とを結ぶベクトル５０１、位置１と位置２とを結ぶベクトル５０２を求め、それぞれのベクトルが成す角度αを求めると共に、それぞれのベクトルのサイズの比βを求める。そして更に、位置１と位置Ｂ（サイズ変更前の操作パネル２５３の左下隅）とを結ぶベクトル５０３、位置１と位置Ｃ（サイズ変更前の操作パネル２５３の右下隅）とを結ぶベクトル５０４を求め、それぞれのベクトルを上記角度αだけ回転させると共に、回転後のそれぞれのベクトルのサイズを上記比β倍だけ変更する。同図においてＢ’、Ｃ’はそれぞれ、このような処理によって回転、サイズ変更したベクトル５０３，５０４が差す位置である。よって、４隅を１，Ｂ、Ｃ、Ａとする操作パネル２５３を、４隅を１，Ｂ’、Ｃ’、Ａ’とする操作パネル２５３にサイズ変更する。
【００６２】
そしてここで、操作パネル２５３の配置完了の指示が入力されると、以上の処理を完了する。
【００６３】
更に、操作パネル２５３の配置完了の旨の指示を受ける前に、ペン入力装置３００でもって新たな位置が指示されると、指示された位置を含む平面に操作パネル２５３が含まれるように、位置１，位置２を結ぶ直線を軸として操作パネル２５３を回転させる。
【００６４】
また、操作パネル２５３を図６に示すようにタブレット２５４上に移動させることもできる。即ち、移動後の操作パネル２５３の位置がタブレット位置姿勢センサ４００が計測する位置から所定範囲内（この所定範囲はタブレット２５４の平面領域を示す）である場合、タブレット位置姿勢センサ４００が計測する位置姿勢を示すマトリックスでもって操作パネル２５３の位置姿勢を変換し、タブレット２５４上に操作パネル２５３を固定することができる。即ち、操作パネル２５３をタブレット位置姿勢センサ４００が計測する位置姿勢が規定する座標系内に配置することになる。これにより、観察者がタブレット２５４を手に持ってその位置や姿勢を変化させると、操作パネル２５３の位置姿勢もまたそれに追従して変化する。図６は、タブレット２５４の位置姿勢が規定する座標系内に配置された操作パネル２５３の表示部１０３における表示例を示す図である。
【００６５】
なお、その後、操作パネル２５３の位置が、タブレット位置姿勢センサ４００が計測する位置から所定範囲内ではなくなった場合には、このようなマトリクスによる操作パネル２５３の位置姿勢変換は行わない。
【００６６】
また、操作パネル２５３の配置位置（位置１）がＨＭＤ１００の位置に近いとき（例えば位置１とカメラ１０２の位置との距離が３０センチ未満の時）には、図７に示す如く、カメラ１０２の姿勢成分で規定されるカメラ１０２の視線方向を法線とする平面上に操作パネル２５３を配置するようにしても良い。即ち、操作パネル２５３をカメラ１０２の位置姿勢が規定する座標系内に配置しても良い。図７は、カメラ１０２の位置姿勢が規定する座標系内に配置された操作パネル２５３の表示部１０３における表示例を示す図である。
【００６７】
図９は、ＰＣ２００のＣＰＵ８０１が実行する、操作パネル２５３を含む仮想物体により構成される仮想空間の映像と、現実空間の映像とを合成した映像をＨＭＤ１００の表示部１０３に提供する際に、操作パネル２５３の配置を行う為の処理のフローチャートである。なお、同図のフローチャートに従った処理をＣＰＵ８０１に実行させるためのプログラムやデータはＲＡＭ８０２にロードされており、これを用いてＣＰＵ８０１が処理を行うことで、ＰＣ２００は上述の各処理を行うことになる。
【００６８】
先ず、ＨＭＤ１００に備わっているカメラ１０２が撮像した現実空間の映像がＩ／Ｆ８０８を介してＲＡＭ８０２に入力されるので、これを一時的にＲＡＭ８０２に記憶させる（ステップＳ９０１）。また、頭部位置姿勢センサ１０１が計測した「自身のセンサ座標系における位置姿勢」がＩ／Ｆ８０８を介してＲＡＭ８０２に入力されるので、「頭部位置姿勢センサ１０１のセンサ座標系における位置姿勢を示すデータ」を、予め測定した「頭部位置姿勢センサ１０１とカメラ１０２との位置姿勢関係」を示すデータでもって変換し、「センサ座標系におけるカメラ１０２の位置姿勢」を示すデータを得、これを一時的にＲＡＭ８０２に記録させる（ステップＳ９０２）。
【００６９】
次に、移動ボタン３５４、もしくはコピーボタン３５３が指示されたのか（配置指示があったのか）を判断するのであるが、これは上述の通り、ペン入力装置３００の位置が操作パネル２５３上の移動ボタン３５４、もしくはコピーボタン３５３の何れの表示領域内にあり、且つ決定ボタン３０２が押下された場合には、移動ボタン３５４、もしくはコピーボタン３５３の何れかが指示されたと判断する。
【００７０】
そして配置指示があった場合には処理をステップＳ９０３を介してステップＳ９０４に進め、決定ボタン３０２が押下された時点におけるペン入力装置３００の位置に上述のようにして、操作パネル２５３を移動させる処理を行う（ステップＳ９０４）。また、配置完了の旨がＩ／Ｆ８０９を介して受けていない場合には処理をステップＳ９０５を介してステップＳ９０６に進め、上述のようにして操作パネル２５３のサイズ変更処理を行う（ステップＳ９０６）。また、配置完了の旨がＩ／Ｆ８０９を介して受けていない場合には処理をステップＳ９０７を介してステップＳ９０８に進め、上述のようにして操作パネル２５３の回転処理を行う（ステップＳ９０８）。
【００７１】
そして以上のようにして操作した操作パネル２５３を指示された配置位置、向き、サイズでもって配置し、固定する（ステップＳ９０９）。また、ステップＳ９０３で配置指示がない場合、ステップＳ９０５，Ｓ９０７で操作パネル２５３の配置完了の旨の指示が入力された場合には処理を直接ステップＳ９０９に進める。
【００７２】
また、操作パネル２５３以外の仮想物体についても仮想空間中に配置する（ステップＳ９１０）。そしてステップＳ９０２で求めた位置姿勢のカメラ１０２から見える操作パネル２５３を含む仮想物体群の映像（仮想空間の映像）を生成し、先にＲＡＭ８０２に入力されている現実空間の映像上に重畳させ、Ｉ／Ｆ８０８を介してＨＭＤ１００が有する表示部１０３に出力する。
【００７３】
そしてキーボード８０４やマウス８０５などでもって本処理の終了指示が入力された場合には本処理を終了するのであるが、入力されていない場合には処理をステップＳ９０１に戻し、以降の処理を繰り返す。
【００７４】
以上説明したように、本実施形態によれば、観察者が仮想空間内の仮想物体を操作パネルを用いて操作するアプリケーションにおいて、操作パネルによって仮想物体の視認性が低下することを防ぐことができ、また、観察者が動き回っても操作パネルの配置を変更することができるので、操作メニューの利便性を増すことができる。
【００７５】
尚、以上の説明では、操作パネル２５３を操作するための指示具としてはペン入力装置３００を用いたが、このような器具に限定するものではなく、例えば観察者の指などであっても良い。その場合、例えば指先に上記操作部位置姿勢センサ３０１を取り付けるようにしても良いし、指先の位置をＨＭＤ１００のカメラ１０２が撮像する現実空間の画像に基づいて周知の技術でもって判断し、判断した位置が操作パネル２５３に配されたボタンやアイコンの何れの領域内にあるのかを判断することで、何れのアイコン、ボタンが指示されたのかを判断するようにしても良い。
【００７６】
また、上記の変形に限らず、種々の機構を適用できることは明らかである。また、以上のようなシステムはＡＲシステムとして機能したものであるが、ＶＲシステムであってもかまわないことは明らかである。
【００７７】
また、上記説明では、３つのポインティング位置を指定することにより操作パネル２５３の配置を行っているが、操作パネル２５３の配置方法についてはこれに限定するものではなく、例えばペン入力装置３００によって特定の記号を任意の平面に記入することによって操作パネル２５３の配置位置を指定できるものとしてもよい。また、上記の変形に限らず、種々の配置方法を適用できることは明らかである。
【００７８】
また、以上の説明ではＨＭＤ１００はビデオシースルータイプのものを用いているが、光学シースルータイプのものを用いても良い。その場合には、以上の説明した処理において、現実空間の映像の入力、及び仮想空間の映像との重畳処理を省けば良い。
【００７９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００８０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８１】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８２】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施形態に係るシステムの機能構成を示すブロック図である。
【図２】観察者がＨＭＤ１００を自身の頭部に装着した場合に、表示部１０３に表示される映像の表示例を示す図である。
【図３】操作パネルの一例を示す図である。
【図４】ペン入力装置３００により操作パネル２５３の位置を移動させ、所望の位置に配置する為の操作について説明する図である。
【図５】ペン入力装置３００による操作パネル２５３のサイズ変更操作について説明する図である。
【図６】タブレット２５４の位置姿勢が規定する座標系内に配置された操作パネル２５３の表示部１０３における表示例を示す図である。
【図７】カメラ１０２の位置姿勢が規定する座標系内に配置された操作パネル２５３の表示部１０３における表示例を示す図である。
【図８】ＰＣ２００の基本構成を示すブロック図である。
【図９】ＰＣ２００のＣＰＵ８０１が実行する、操作パネル２５３を含む仮想物体により構成される仮想空間の映像と、現実空間の映像とを合成した映像をＨＭＤ１００の表示部１０３に提供する際に、操作パネル２５３の配置を行う為の処理のフローチャートである。
【図１】
2006127158.tif 000003
【図２】
2006127158.tif 000004
【図３】
2006127158.tif 000005
【図４】
2006127158.tif 000006
【図５】
2006127158.tif 000007
【図６】
2006127158.tif 000008
【図７】
2006127158.tif 000009
【図８】
2006127158.tif 000010
【図９】
2006127158.tif 000011