(57)【特許請求の範囲】
【請求項１】
操作者の視点の位置を計測する視点位置計測手段と、
前記操作者が操作する操作部の位置を計測する操作位置計測手段と、
カーソルが仮想物体を指し示す場合に、前記視点位置計測手段で計測された視点の位置と前記操作位置計測手段で計測された操作部の位置とを結ぶ視線と当該仮想物体の表面との交点を前記カーソルの位置に決定し、
前記交点における当該仮想物体の法線の方向と前記視線とを用いて前記カーソルの姿勢を決定する決定手段とを備えていることを特徴とする情報処理装置。
【請求項２】
前記決定手段は、前記視線の方向に対して予め定められた閾値以上の角度をなすように前記カーソルの姿勢を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、前記法線の方向と前記視線とのなす角がある閾値未満の場合は、前記カーソルの姿勢を当該法線の方向の逆方向と決定し、前記法線の方向と前記視線とのなす角が前記閾値以上の場合は、前記カーソルの姿勢を前記法線の方向の逆方向から所定角度だけ傾けた方向に決定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記カーソルは、頂点と方向性とを持つ円錐であることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
視点位置計測手段が、操作者の視点の位置を入力する視点位置計測工程と、
操作位置計測手段が、前記操作者が操作する操作部の位置を計測する操作位置計測工程と、
決定手段が、カーソルが仮想物体を指し示す場合に、前記視点位置計測手段で計測された視点の位置と前記操作位置計測手段で計測された操作部の位置とを結ぶ視線と当該仮想物体の表面との交点を前記カーソルの位置に決定し、
前記交点における当該仮想物体の法線の方向と前記視線とを用いて前記カーソルの姿勢を決定する決定する決定工程とを備えることを特徴とする情報処理方法。
【請求項６】
コンピュータを、請求項１乃至５のいずれか１項に記載の情報処理装置の各手段として
機能させることを特徴とするプログラム。
【請求項７】
請求項６に記載のプログラムを格納するコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想現実空間または複合現実空間において仮想物体を生成するための情報処理装置及び方法に関する。
【背景技術】
【０００２】
近年、現実空間と仮想空間との繋ぎ目のない結合を目的とした、複合現実感（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）に関する研究が盛んに行われている。複合現実感の提示を行う画像表示装置は、例えば次のような構成を有する装置である。即ち、ビデオカメラ等の撮像装置が撮像した現実空間の画像上に、撮像装置の位置及び姿勢に応じて生成した仮想現実空間の画像（例えばコンピュータグラフィックスにより描画された仮想物体や文字情報等）を重畳描画した画像を表示する装置である。このような装置には、例えば、ＨＭＤ（ヘッドマウントディスプレイ、頭部装着型ディスプレイ）を用いることができる。
【０００３】
画像表示装置は、操作者の頭部に装着された光学シースルー型ディスプレイに、操作者の視点の位置及び姿勢に応じて生成した仮想現実空間の画像を表示する光学シースルー方式によっても実現される。
【０００４】
一方、ＩＴ技術の発達により従来は紙とペンが媒体だった文字や絵を描くツールが電子化され、バーチャル空間内でも紙へ筆記する場合と同等な感覚で情報を入力できるペン等のポインティング用デバイスを用いたタブレット装置が開発されてきた。
例えば特許文献１では、従来のタブレット装置におけるペン型デバイス先端の位置計測が２次元であったのに対し、ペン先の計測を３次元で行っている。このことにより、操作者自身が持つペン先の操作を高さ方向で認識可能となり、ペン先の高さ方向の移動に伴い表示するカーソルのスケールや影の表示を変化させることで、バーチャル空間内におけるペン先の位置をより操作者に明確に提示することを可能にしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−３０５３０６公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の方法では操作者が、仮想現実空間・複合現実空間の中で、操作者がカーソルを使い空間内の任意の場所を指し示す際、カーソルの指し示すポイントを視認出来ない場合があった。
そこで本発明は、仮想現実空間・複合現実空間において、カーソルの指し示すポイントを確実に視認できるようにする事を目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の情報処理装置は、操作者の視点の位置を計測する視点位置計測手段と、前記操作者が操作する操作部の位置を計測する操作位置計測手段と、カーソルが仮想物体を指し示す場合に、前記視点位置計測手段で計測された視点の位置と前記操作位置計測手段で計測された操作部の位置とを結ぶ視線と当該仮想物体の表面との交点を前記カーソルの位置に決定し、前記交点における当該仮想物体の法線の方向と前記視線とを用いて前記カーソルの位置姿勢を決定する決定手段とを備える。
【発明の効果】
【０００８】
本発明によれば、仮想世界または複合現実感世界の中で、操作者がカーソルを使い空間内の任意の場所を指し示す際、カーソルの指し示すポイントを確実に視認できるようになり、操作者は容易に空間内の特定のポイントを指し示すことができるようになる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態におけるシステム構成を示すブロック図である。
【図２】第１の実施形態における処理手順を示すフローチャートである。
【図３】第１の実施形態における実施形態を示す図である。
【図４】第１の実施形態におけるカーソルオブジェクトを示す図である。
【図５】第２の実施形態におけるシステム構成を示すブロック図である。
【図６】第２の実施形態における処理手順を示すフローチャートである。
【図７】第２の実施形態における実施形態を示す図である。
【図８】第３の実施形態における実施形態を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。
〔実施形態１〕
図１は、実施形態１に係るシステムの機能構成例を示すブロック図である。図１に示す如く、本実施形態に係るシステムは、情報処理装置１３００と、頭部装着型装置の一例としてのＨＭＤ１１００で構成されている。また、カーソルの位置を情報処理装置１３００内で計算するために操作部１４００に色マーカ１４１０を用いている。この時、色マーカを用いなくても操作部１４００の位置が計測できる手法であれば、その手法は問わない。
【００１１】
情報処理装置１３００は、画像取得部１３１０、データ管理部１３２０、視点位置姿勢計算部１３３０、カーソル位置計算部１３５０、カーソル姿勢計算部１３６０、画像生成部１３４０を有する。ＨＭＤ１１００は、表示部１１１０、撮像部１１２０、位置姿勢センサ１１３０を有する。ここで、情報処理装置１３００とＨＭＤ１１００とはデータ通信が可能なように接続されている。従って、情報処理装置１３００とＨＭＤ１１００との間の接続は、有線、無線の何れであっても構わない。
【００１２】
画像取得部１３１０は、撮像部１１２０において撮像された画像を画像データとしてデータ管理部１３２０に保存する。
データ管理部１３２０は、前記画像データ以外にも磁気トランスミッタ１２００が発生させた磁場から位置姿勢センサ１１３０が計測した位置を保存する。また、データ管理部１３２０は、本装置を実現するための各種データの管理を行う。
【００１３】
カーソル位置計算部１３５０では、データ管理部１３２０に保存されている撮像画像からステレオマッチング法や視体積交差法などの手法を用いて操作部１４００付属の色マーカ１４１０の位置を求める操作位置計測を行う。この時、求めた位置の補正を行ってもよい。
カーソル姿勢計算部１３６０では、図３（Ｂ）のようにカーソルオブジェクト３０１０が指し示す点を操作者が見えるよう計算を行う。詳細に関しては、図２のフローチャートにつき後述する。
【００１４】
また、本実施形態で使用するカーソルオブジェクト３０１０は、頂点と方向性を持つ円錐とする。このカーソルの形状を図４に示す。円錐の頂点４０１０をカーソル位置１４１０とする。また、円錐底面の中心４０２０と頂点４０１０を結ぶ線分のベクトル４０３０をカーソルオブジェクト３０１０の方向とする。
視点位置姿勢計算部１３３０では、磁気トランスミッタ１２００が発生させた磁場から位置姿勢センサ１１３０の位置として視点位置計測を行いデータ管理部１３２０に保存されたデータから視点位置の計算を行う。
画像生成部１３４０では、仮想のカーソルオブジェクトを含む仮想現実空間の画像を生成する。この時、データ管理部１３２０に保存されている仮想物体の表示を行ってもよい。
【００１５】
画像表示部１１１０では、画像生成部１３４０で生成された画像の表示を行う。
図２が本実施形態の流れを説明するフローチャートである。
まずステップＳ２００２でデータ管理部１３２０に保存されている位置姿勢センサ１１３０の位置姿勢情報から視点位置姿勢計算部１３３０で視点の位置姿勢を計算する。
【００１６】
ステップＳ２００３では、撮像部１１２０で取得した撮像画像をデータ管理部１３２０に保存する。ステップＳ２００４では、データ管理部１３２０に保存されている撮像画像からカーソル位置計算部１３５０にて色マーカ１４１０の位置を求め、これを操作部１４００の位置とする。
【００１７】
ステップＳ２００５では、カーソル姿勢計算部１３６０にてカーソルの位置姿勢の計算を行う。まず、図３（Ａ）のように図４のカーソルオブジェクト３０１０の頂点４０１０を色マーカ１４１０の重心に移動する。次に頂点４０１０の位置を中心として視点位置３０２０と色マーカ１４１０の重心を通る直線上にカーソルオブジェクト３０１０の底面の中心４０２０通るようにカーソルオブジェクトの姿勢の計算を行う。その後、図３（Ｂ）からわかるように１４１０の重心を中心としてローカル座標系のＺ軸を中心として所定の角度だけ回転する。すなわち、視点位置３０２０と色マーカ１４１０の重心を通る直線に対して、所定の角度をなすようにカーソルオブジェクトの向きを傾ける。この所定の角度は、カーソルオブジェクトが十分視認できるようなある閾値以上の予め決められた角度である。この時、カーソルが指し示す点が操作者から見えるような姿勢に変更する手法であればどのような手法を用いてもよい。
【００１８】
ステップＳ２００６では、画像生成部１３４０でカーソルオブジェクト３０１０を含む仮想現実画像を生成する。この時、データ管理部１３２０に保存されている仮想物体を含む仮想現実画像を生成してもよい。
ステップＳ２００７では、表示部１１１０にステップＳ２００６で得られた仮想現実画像の表示を行う。
ステップＳ２００８では、ユーザからの終了要求があれば処理を終了し、なければステップＳ２００２に戻って処理を繰り返す。
【００１９】
〔実施形態２〕
上記実施形態１では、操作者は空間中の任意のポイントを指し示す実施形態であったが、本実施形態では操作者が空間中の仮想物体表面上にある任意のポイントを指し示す場合を示す。
【００２０】
図５と図６を用いて、本実施形態を説明する。図５は、実施形態２におけるブロック図を示す。図１と同じ部分については同じ番号をつけており、その説明を省略する。図６は、実施形態２の処理の流れを説明するフローチャートである。図２と同じ部分については同じ番号をつけており、その説明を省略する。
【００２１】
ステップＳ６００５では、カーソル位置計測部７３５０で色マーカ１４１０の位置が仮想物体内にあるかの判定を行う。色マーカ１４１０の位置が仮想物体内にある場合はステップＳ６００６に移行し、それ以外の場合はステップＳ６００７へ移行する。
【００２２】
ステップＳ６００６では、カーソル位置計算部７３５０がカーソル位置補正を行う。図７（Ｂ）のようにカーソル位置１４１０が仮想物体９００１の内部にある場合は、カーソルが仮想物体内に埋もれることを避けるために、カーソル位置１４１０をカーソル補正位置９４１０へ補正する。このカーソル補正位置９４１０は、視点位置３０２０とカーソル位置１４１０とを結ぶ線分と仮想物体表面との交点となる。ここで補正された値は、データ管理部１３２０へ送られる。
【００２３】
ステップＳ６００７では、カーソル姿勢計算部７３６０がカーソル姿勢の計算を行う。ステップＳ６００６でカーソル位置補正を行っていない場合は、実施形態１におけるステップＳ２００５と同じ計算を行う。ステップＳ６００６でカーソル位置補正を行った場合は、以下のようにカーソル姿勢を計算する。
【００２４】
ステップＳ６００６でカーソル位置補正を実施した場合におけるカーソル姿勢計算を、図７を用いて説明する。図７（Ａ）のように、操作者の視点位置３０２０からカーソル補正位置９４１０が視認可能な場合、カーソル姿勢はカーソル補正位置９４１０が位置する仮想物体表面の法線９００２と逆方向とすることができる。しかし、視点位置３０２０とカーソル補正位置９４１０との位置関係が図７（Ｂ）の場合、前記カーソル方向では、カーソルオブジェクト３０１０の底面に遮られ、カーソル補正位置９４１０が操作者から視認できない。そこで、視線ベクトルと前記法線ベクトルとの角度に閾値を設け、閾値未満の場合は、カーソルの姿勢を法線方向の逆方向とする。閾値以上の場合は、カーソル補正位置９４１０が操作者から視認できるように、法線方向の逆方向よりカーソルの姿勢を所定角度だけ傾ける。このとき更に、上記閾値にかからない範囲において、カーソル姿勢計算部７３６０は、視点位置３０２０とカーソル位置１４０１またはカーソル補正位置９４１０との時間的相対位置変化に応じて仮想カーソルの姿勢を変化させてもよい。
【００２５】
〔実施形態３〕
上記実施形態１および実施形態２では、操作者は一人であったが、本実施形態では操作者が複数人の時、カーソルが指し示す点が、全ての操作者から見える場合を示す。
本実施形態では操作者毎に実施形態１と同様に図１に示す如く、情報処理装置１３００と、頭部装着型装置の一例としてのＨＭＤ１１００と、操作部１４００で構成されている。
図８を用いて本実施形態を説明する。操作者Ａの視点位置８０１０から見えるカーソルオブジェクトを８０３０とする。また、操作者Ａが色マーカ１４１０で指し示した点を点８０５０とする。この時、カーソルオブジェクトの位置姿勢は、実施形態２の手法を用いて決定する。
【００２６】
しかし、実施形態２の手法でカーソルオブジェクトの姿勢を計測したとき、図９（Ａ）のように、操作者Ａが指し示した点８０５０を操作者Ｂが視認できない状態が発生する。
そこで、本実施形態では、操作者毎に視点位置から色マーカ１４１０で指し示した点８０５０が視認できるようにカーソルの姿勢を傾ける。
【００２７】
〔他の実施形態〕
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくはプログラムが格納された記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００２８】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００２９】
また、コンピュータが、コンピュータ読み取り可能なプログラムを読み出して実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図１】
0005656514.tif 000002
【図２】
0005656514.tif 000003
【図３】
0005656514.tif 000004
【図４】
0005656514.tif 000005
【図５】
0005656514.tif 000006
【図６】
0005656514.tif 000007
【図７】
0005656514.tif 000008
【図８】
0005656514.tif 000009