JP4689344B2 - 情報処理方法、情報処理装置 - Google Patents

情報処理方法、情報処理装置 Download PDF

Info

Publication number
JP4689344B2
JP4689344B2 JP2005138453A JP2005138453A JP4689344B2 JP 4689344 B2 JP4689344 B2 JP 4689344B2 JP 2005138453 A JP2005138453 A JP 2005138453A JP 2005138453 A JP2005138453 A JP 2005138453A JP 4689344 B2 JP4689344 B2 JP 4689344B2
Authority
JP
Japan
Prior art keywords
virtual object
information processing
orientation
processing apparatus
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005138453A
Other languages
English (en)
Other versions
JP2006318094A (ja
JP2006318094A5 (ja
Inventor
英生 野呂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005138453A priority Critical patent/JP4689344B2/ja
Priority to US11/429,543 priority patent/US7773098B2/en
Publication of JP2006318094A publication Critical patent/JP2006318094A/ja
Publication of JP2006318094A5 publication Critical patent/JP2006318094A5/ja
Application granted granted Critical
Publication of JP4689344B2 publication Critical patent/JP4689344B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、仮想空間の画像を生成する為の技術に関するものである。
複合現実感システムとは、現実空間映像と、ユーザの視点位置、視線方向等に応じて生成される仮想空間映像とを合成することにより得られる合成映像をユーザに提供するものである。複合現実感システムでは、現実空間中に仮想物体が実在しているかのような感覚を観察者に提示することが可能であり、従来の仮想現実感システム(VRシステム)に比べてよりリアルに、実寸感覚を伴った観察が可能となる。
複合現実空間内のCG物体を操作するには、現実空間内での位置及び姿勢の6自由度を計測あるいは推定するシステム(ここでは6自由度センサと呼ぶ)を用いて、この6自由度センサの位置及び姿勢をCG物体の物体座標系に対応付ける方法がある。例えばPolhemus社のFastrakシステムを用いると、数センチ角ほどの大きさのレシーバの位置及び姿勢の6自由度が計測できる。この計測値をCG物体の物体座標系に対応付けることにより、レシーバーを移動・回転するとそれに追従してCG物体が移動・回転することになる。
このレシーバを物体操作デバイスとして用いることにより、物体操作デバイスによるCG物体に対する操作が可能になる。
ところで、複合現実感システムとは現実空間内にあたかもCG物体が実在しているかのように見せる技術である。そこでたとえば、ふたのない大きな箱の中に小箱を配置する作業を考えると、物体操作デバイスに関連付けられた小箱のCG物体(以降CG物体1と呼ぶ)と、物体操作デバイスと関連付けられていない大きな箱のCG物体(以降CG物体2と呼ぶ)との物理干渉を実時間で計測し、干渉が起きた場合には、その部分を点滅表示させる、音を出す、干渉が起きない方向へ物体操作デバイスを移動させるような力覚提示を行う、といった方法を用いることで可能になる。
特開2005−38008号公報
しかしながら、この場合ユーザの関心があるのは、CG物体2の内側とCG物体1との間の干渉である。従来の手法では不要の干渉を避けるためにはCG物体1をCG物体2の上側から近づける必要があった。
CG物体1もCG物体2もCGであり、現実物体ではないので、現実空間内では物理干渉は起きていない。そこで望むべくはCG物体1をCG物体2の壁をぶち抜く形でCG物体2の内部に移動させ、その上でCG物体1とCG物体2との間の干渉をチェックするようにしたい。そうすれば、CG物体1をCG物体2の上側から近づけるといった不要な動作をユーザに強いることはなくなる。
また、CG物体同士の干渉チェックを行う処理は、比較的複雑な処理が必要であり、場合によっては干渉チェックを行うがために、映像観察装置を通してユーザに提示する映像の表示速度が低下してしまうことがある。この結果、CG物体1をCG物体2内に配置するという作業そのものが困難になってしまう。
本発明は以上の問題に鑑みてなされたものであり、仮想物体同士の干渉状態のチェックを好適なタイミングで行うことで、仮想物体の操作性を向上させることを目的とする。
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
即ち、情報処理装置が行う情報処理方法であって、
前記情報処理装置の第1の取得手段が、観察者の視点の位置姿勢を取得する第1の取得工程と、
前記情報処理装置の第2の取得手段が、前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得工程と、
前記情報処理装置の配置手段が、仮想空間中に前記第2の取得工程で取得した位置姿勢でもって第1の仮想物体を配置する配置工程と、
前記情報処理装置の生成手段が、前記第1の仮想物体を含む仮想空間を前記第1の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程と、
前記情報処理装置の計算手段が、前記指示具の移動速度を求める計算工程と、
前記情報処理装置の決定手段が、前記指示具の移動速度に基づいて、前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックするか否かを決定する決定工程と、
前記情報処理装置の報知手段が、前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知工程と
を備えることを特徴とする。
本発明の構成により、仮想物体同士の干渉状態のチェックを好適なタイミングで行うことで、仮想物体の操作性を向上させることができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
[第1の実施形態]
図1は、現実空間に仮想空間を重畳させた複合現実空間を観察者(ユーザ)に提供するためのシステムの外観を示す図である。
同図において200はトランスミッタで、磁場を発生させる。100は観察者の頭部に装着し、現実空間と仮想空間とを合成した空間(複合現実空間)の画像を観察者の眼前に提供する為の頭部装着型表示装置(以下、HMD:Head Mounted Displayと呼称する)で、カメラ102a、102b、表示装置101a、101b、磁気レシーバ201により構成されている。
カメラ102a、102bはそれぞれHMD100を頭部に装着した観察者の右目、左目から見える現実空間の動画像を撮像するものであり、撮像した各フレームの画像は後段のコンピュータ400に出力される。
表示装置101a、101bはそれぞれ、観察者がHMD100を頭部に装着したときに右目、左目の眼前に位置するようにHMD100に装着されたものであり、後段のコンピュータ400から出力された画像信号に基づいた画像を表示する。従って観察者の右目、左目の眼前にはコンピュータ400が生成した画像が提供されることになる。
磁気レシーバ201は、上記トランスミッタ200が発する磁場の変化を検知し、検知した結果の信号を後段の位置姿勢計測装置205に出力するものである。検知した結果の信号は、トランスミッタ200の位置を原点とし、この原点の位置で互いに直交する3軸をそれぞれx、y、z軸とする座標系(以下、センサ座標系と呼称する)において、磁気レシーバ201の位置姿勢に応じて検知される磁場の変化を示す信号である。
位置姿勢計測装置205は、この信号に基づいて、センサ座標系における磁気レシーバ201の位置姿勢を求め、求めた位置姿勢を示すデータは後段のコンピュータ400に出力される。
図2は、HMD100の具体的な構成を示す図である。
101は映像表示装置で、0.5〜数インチ程度の小型の液晶表示デバイス等で構成されるものである。103は、映像表示装置101の映像を拡大するレンズの役目を果たす自由曲面プリズムである。このような構成により、映像表示装置101に表示された映像は、観察者にとってはたとえば2m先に90インチ相当の映像として提示される。
102は映像入力装置であり、CCDカメラ、CMOSカメラなどの撮像デバイスで構成されるものである。104は現実空間の光を映像入力装置102に収束させるためのレンズの役目をはたす撮像系プリズムである。撮像系プリズム104は自由曲面プリズム103の外側に、光軸を一致させるように配置することで、映像入力装置102で入力した映像と、映像表示装置101に表示した映像の視差をなくし、現実空間の映像を違和感なく再現することが可能である。
図1に戻って、300は観察者の手に保持される指示具であり、磁気レシーバそのもの、若しくは磁気レシーバが組み込まれたものである。以下では説明を簡単にするために、指示具300は磁気レシーバそのものであるとするが、指示具300内に磁気レシーバが組み込まれている場合であっても以下の説明の本質は変わらない。
指示具300(磁気レシーバ)は磁気レシーバ201と同様に、センサ座標系における自身の位置姿勢に応じた磁場の変化を検知し、検知結果を示す信号(換言すれば、センサ座標系における指示具300自身の位置姿勢を示す信号)を位置姿勢計測装置205に出力する。従って位置姿勢計測装置205は、この信号に基づいて、センサ座標系における指示具300の位置姿勢を求めることができ、求めた位置姿勢を示すデータは後段のコンピュータ400に出力される。よって、観察者が指示具300を手に持ってその位置や姿勢を変化させても、指示具300の位置姿勢は常に指示具300自身によって計測され、その計測された位置姿勢データはコンピュータ400に入力される。
301は置き台である。
400はコンピュータで、HMD100の表示装置101a、101bに出力すべき画像信号を生成したり、位置姿勢計測装置205からのデータを受け、これを管理する等の処理を行う。このコンピュータは一般的には例えばPC(パーソナルコンピュータ)やWS(ワークステーション)等により構成される。図8は、コンピュータ400のハードウェア構成を示すブロック図である。
2201はCPUで、RAM2202やROM2203に格納されているプログラムやデータを用いてコンピュータ400全体の制御を行うと共に、I/F2207に接続される外部装置とのデータ通信の制御を行う。また、コンピュータ400が行う後述の各処理を実行する。
2202はRAMで、外部記憶装置2205からロードされたプログラムやデータを一時的に記憶するためのエリア、I/F2207を介して受信したデータを一時的に記憶する為のエリア、そして、CPU2201が各種の処理を実行する際に必要なワークエリア等、各種エリアを適宜提供することができる。
2203はROMで、ブートプログラムやコンピュータ400の設定データなどが格納されている。
2204は操作部で、キーボードやマウス、ジョイスティックなどにより構成されており、コンピュータ400の操作者が操作することで、各種の指示をCPU2201に対して入力することができる。
2205は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置として機能するものであり、ここにOS(オペレーティングシステム)やコンピュータ400が行う後述の各処理をCPU2201に実行させるためのプログラムやデータ等が保存されており、これらの一部、もしくは全部は、CPU2201の制御により、RAM2202にロードされる。また、後述の説明で、既知のデータ(情報)として説明するもの(もしくは以下説明する処理で必要となるべきデータ)もまたこの外部記憶装置2205に保存されており、必要に応じてCPU2201の制御により、RAM2202にロードされる。
2206は表示部で、CRTや液晶画面等により構成されており、CPU2201による処理結果を画像や文字などでもって表示することができる。
2207はI/Fで、ここに上記位置姿勢計測装置205、HMD100等が接続されており、このI/F2207を介して、コンピュータ400は位置姿勢計測装置205、HMD100等とのデータ通信を行うことができる。
2208は上述の各部を繋ぐバスである。
以上の構成を備えるコンピュータ400は、カメラ102a、102bそれぞれから得られる現実空間の画像を取り込むとと共に、磁気レシーバ201から得られる位置姿勢に基づいてカメラ102a、102bから見える仮想物体の画像を生成する。そして、生成した画像を、先に取り込んだ現実空間の画像上に重畳させ、重畳させた画像を表示装置101a、101bに出力する。これにより、HMD100を頭部に装着した観察者の右目、左目の眼前には、それぞれの目の位置姿勢に対応した複合現実空間画像が表示されることになる。
図3は、このコンピュータ400の機能構成を示すブロック図である。
401R、401Lは映像キャプチャ部であり、それぞれカメラ102a、102bより入力した画像をデータとして取り込む。
404は位置姿勢情報入力部であり、位置姿勢計測装置205から出力されたデータを取り込む。このデータには、磁気レシーバ201、指示具300のセンサ座標系における位置姿勢を示すデータが含まれる。
406は、3DCG描画データで、仮想空間を構成する仮想物体の画像を生成するためのデータである。本実施形態では仮想物体はポリゴンでもって構成されているものとするので、3DCG描画データには、ポリゴンの法線ベクトルデータ、ポリゴンを構成する各頂点の座標値データ、ポリゴンカラーデータ、そしてテクスチャマッピングを行う場合にはテクスチャ画像データ等が含まれる。なお、仮想物体を構成するものはポリゴンに限定するものではない。
405は位置姿勢算出部であり、位置姿勢情報入力部404から入力される磁気レシーバ201のセンサ座標系における位置姿勢を示すデータを用いて、センサ座標系におけるカメラ102a、102bの位置姿勢を求める(磁気レシーバ201とカメラ102a、102bとの位置姿勢関係を予めバイアスとして求めておけば、磁気レシーバ201により計測した位置姿勢にこのバイアスを加えることで、カメラ102a、102bの位置姿勢は求めることができる)。なお、以下ではカメラ102a、102bをまとめて「視点」と呼称する場合がある。
407はCGレンダリング部で、カメラ102a、102bの位置姿勢に応じて見える仮想空間の画像を生成する。この仮想空間中には、指示具300に重畳させる仮想物体(以下、「操作対象仮想物体」と呼称する)と、仮想空間中に固定配置される1以上の仮想物体(以下、「固定配置仮想物体」と呼称する)とが含まれている。
従って、CGレンダリング部407は、センサ座標系における指示具300の位置姿勢でもって仮想空間中に操作対象仮想物体を配置すると共に、固定配置仮想物体を予め定められた位置姿勢でもって仮想空間中に配置し、それぞれの仮想物体を配置した仮想空間を位置姿勢算出部405が算出したカメラ102a、102bの位置姿勢に応じて見た場合に見える画像(仮想空間画像)を生成する。
なお、所定の位置姿勢を有する視点から見える仮想空間の画像を生成する処理については周知の技術であるので、これに関する詳細な説明は省略する。
402R、402Lは映像合成部であり、それぞれ映像キャプチャ部401R、401Lから入力した現実空間の画像上に、CGレンダリング部407が生成した「カメラ102aの位置姿勢に応じて見える仮想空間画像」、「カメラ102bの位置姿勢に応じて見える仮想空間画像」を重畳させ、それぞれ、映像生成部403R、403Lに出力する。これにより、カメラ102aの位置姿勢に応じて見える複合現実空間の画像、カメラ102bの位置姿勢に応じて見える複合現実空間の画像を生成することができる。
映像生成部403R、403Lはそれぞれ、映像合成部402R、402Lから出力された複合現実空間の画像をそれぞれ表示装置101a、101bに映像信号として出力する。これにより、HMD100を頭部に装着した観察者の右目、左目の眼前には、それぞれの目に対応した複合現実空間の画像が表示される。
408はCG物体速度計測部であり、位置姿勢情報入力部404から順次得られる「指示具300の位置情報」を参照して、現時点での指示具300の移動速度を求める。移動速度を求める方法については様々な方法が考えられるが、例えば時刻tにおいて位置姿勢算出部405から得られた位置情報と、時刻(t−1)において位置姿勢算出部405から得られた位置情報との差分、即ち3次元ベクトルを求め、このベクトルのサイズを、時刻tにおける指示具300の移動速度として求めるようにしても良い。
409は、操作対象仮想物体と固定配置仮想物体との干渉状態(互いに衝突しているのか否か)をチェックする処理を行う干渉チェック部である。このようなチェック処理は常に行われるものではなく、それはCG物体速度計測部408が求めた指示具300の移動速度によって決まる。
即ち、指示具300の移動速度が所定値以上である場合、これは、観察者が指示具300を所望の位置に移動させている途中であると考えられ、この時点で干渉状態のチェック処理を行っては、観察者は操作対象仮想物体と固定配置仮想物体との干渉を気にしながら指示具300を移動させることになるので、指示具300の移動が面倒となる。従って、このような場合には、干渉状態のチェック処理は行わない。
一方、指示具300の移動速度が所定値以下である場合、これは、観察者が指示具300を所望の位置近傍に移動させ、これから操作対象仮想物体の細かい位置姿勢合わせを行うものと考えられる。例えば操作対象仮想物体を固定配置仮想物体内の所定の位置姿勢に配置する場合には、操作対象仮想物体を固定配置仮想物体内に移動させた後、操作対象仮想物体が所望の位置姿勢となるべく、観察者は指示具300を細かく移動させて操作対象仮想物体の位置姿勢合わせを行う。ここで干渉状態のチェック処理を行わないと、観察者は操作対象仮想物体がきちんと固定配置仮想物体内に収まっているのかが分からない。そこでこのような場合には、干渉状態のチェック処理を行う。
よって、CG物体速度計測部408は指示具300の移動速度を求める毎に干渉チェック部409に通知する。干渉チェック部409は通知された速度が所定値以下であれば干渉チェック処理を行い、逆に所定値以上であれば干渉チェック処理は行わない。
また、仮想物体同士の干渉状態のチェック処理は、例えば、それぞれの仮想物体を構成するポリゴン毎に衝突しているのか否かをチェックすることによりなされる。なお、このように、仮想物体同士の干渉状態をチェックし、それぞれが干渉している場合にはどの部分が干渉しているのかを特定する為の技術についてはテレビゲームの分野などで広く一般に用いられている技術であるので、これに関する詳細な説明は省略する。
そして干渉チェック部409は、操作対象仮想物体と固定配置仮想物体とが干渉していると判断した場合には、それぞれの干渉部分(ポリゴン)をCGレンダリング部407に通知するので、CGレンダリング部407は操作対象仮想物体、固定配置仮想物体のそれぞれの干渉部分のポリゴンカラーを変えたり、点滅させるなど、それぞれの干渉部分を視覚的にわかりやすいように干渉部分の描画をその他の部分とは異ならせるようにする。
図4は、1フレーム分の複合現実空間画像を生成して表示装置101a、101bに出力するまでの一連の処理のフローチャートである。なお、同図のフローチャートに従った処理をコンピュータ400のCPU2201に実行させるためのプログラムやデータは外部記憶装置2205に保存されており、これをCPU2201による制御に従ってRAM2202にロードし、CPU2201がこれを用いて処理を実行することで、コンピュータ400は以下説明する各処理を実行する。
先ず、カメラ102a、102bにより撮像された現実空間の画像がI/F2207を介してコンピュータ400内に入力されるので、CPU2201はこれをRAM2202に格納する(ステップS401)。
また一方で、位置姿勢計測装置205からは、磁気レシーバ201のセンサ座標系における位置姿勢を示すデータ、指示具300のセンサ座標系における位置姿勢を示すデータがI/F2207を介してコンピュータ400内に入力されるので、CPU2201はこれらをRAM2202、若しくは外部記憶装置2205に格納する(ステップS402)。
なお、上記ステップS401、S402におけるそれぞれの処理は独立して行われるものであるので、それぞれのステップにおける処理はこの順に実行することには限定しない。
次に、CPU2201は、センサ座標系における磁気レシーバ201の位置姿勢に上記バイアスを加算することで、センサ座標系におけるカメラ102a、102bの位置姿勢を求めるので、この視点のセンサ座標系における位置姿勢を示すデータをRAM2202に一時的に格納する(ステップS403)。
次に、CPU2201は、ステップS402で取得した指示具300の位置情報、そして過去に取得した指示具300の位置情報を用いて、現時点での指示具300の移動速度を求める(ステップS404)。求める方法については上述の通り特に限定するものではない。
そして求めた移動速度が所定値以下であるのか否かを判断し(ステップS405)、所定値以下である場合には処理をステップS406に進め、操作対象仮想物体と固定配置仮想物体との干渉状態をチェックする(ステップS406)。
そしてステップS406における処理後、若しくは指示具300の移動速度が所定値以上である場合には処理をステップS407に進め、操作対象仮想物体、固定配置仮想物体を仮想空間中に配置する(ステップS407)。即ち、ステップS402で取得した指示具300のセンサ座標系における位置姿勢でもって仮想空間中に操作対象仮想物体を配置すると共に、予め定められた位置姿勢でもって仮想空間中に固定配置仮想物体を配置する。なお、固定配置仮想物体の配置位置姿勢については固定することに限定するものではなく、動的に変化するようなものであっても良い。
そして次に、ステップS406で干渉していると判断されたか否かを判断し(ステップS408)、干渉していると判断された場合には、処理をステップS409に進め、干渉部分を報知する処理を行う(ステップS409)。本実施形態では報知方法として、干渉部分を赤で描画したり、点滅表示させるなど、表示でもって干渉部分を報知する。
そしてこのようなそれぞれの仮想物体を配置した仮想空間を、ステップS403で求めた位置姿勢を有する視点から見た場合に見える画像(仮想空間画像)をRAM2202上に生成する(ステップS410)。即ち、カメラ102a、102bの位置姿勢から見える仮想空間の画像を生成する。
ここで、RAM2202上にはステップS401で既にカメラ102aから得た現実空間画像、カメラ102bから得た現実空間画像が格納されているので、それぞれの画像上にカメラ102aから見た仮想空間画像、カメラ102bから見た仮想空間の画像を生成することで、結果としてRAM2202上にはカメラ102aから見た複合現実空間の画像、カメラ102bから見た複合現実空間の画像が生成されることになる。
よってCPU2201はそれぞれの複合現実空間画像をI/F2207を介して表示装置101a、101bに出力する(ステップS411)。
以上の説明により、本実施形態によって、観察者は操作対象仮想物体を所望の位置姿勢に移動させる場合に、移動中、即ち固定配置仮想物体との干渉状態をチェックしてほしくない時にはこのチェック処理は行わないし、操作対象仮想物体の位置姿勢を調整しているような場合、即ち固定配置仮想物体との干渉状態をチェックしてほしい時にはこのチェック処理を行うようにするので、結果として観察者は操作対象仮想物体を固定配置仮想物体内の所望の位置姿勢に移動させるための操作を簡便に行うことができる。
なお、本実施形態では仮想物体同士が干渉している場合には、それぞれの仮想物体の干渉部分の表示形態をその他の部分とは異ならせることでなしていたが、報知方法には様々なものが考えられる。例えば仮想物体同士が干渉すれば、音声にて干渉した旨を通知するようにしても良いし、干渉したことをテキスト文として表示装置101a、101bに表示するようにしても良い。なお、音声にて干渉を報知する場合には、コンピュータ400には音声データ、及びこの音声データをアナログ信号に変換する変換器、及びアナログ信号に基づく音声を出力するスピーカを加える必要がある。
またその他の報知方法としては、力覚提示装置を用いて、指示具300を干渉しない方向へ動かすように力覚提示してもよい。
[第2の実施形態]
第1の実施形態では仮想物体同士の干渉状態のチェック処理を行うか否かの判断基準には、「指示具300の移動速度」のみを用いていた。本実施形態ではこの判断基準として、「指示具300の移動方向」、及び「操作対象仮想物体と固定配置仮想物体との位置関係」を用いる。
尚、本実施形態に係るシステムの構成については第1の実施形態と同じであるが、コンピュータ400の機能構成が第1の実施形態とは異なる。
図5は、本実施形態に係るコンピュータ400の機能構成を示すブロック図である。尚、同図において図3と同じ部分については同じ番号を付けており、その説明は省略する。図5に示した構成は図3に示した構成にCG物体位置関係計測部410を加えたものである。なお、以下説明する点以外については第1の実施形態と同じである。
CG物体速度計測部408は第1の実施形態と同様に指示具300の移動速度を求めるのであるが、ここではその移動方向に着目する。
また、CG物体位置関係計測部410は、操作対象仮想物体と固定配置仮想物体との位置関係を求める。
図6は、1フレーム分の複合現実空間画像を生成して表示装置101a、101bに出力するまでの一連の処理のフローチャートである。なお、同図のフローチャートに従った処理をコンピュータ400のCPU2201に実行させるためのプログラムやデータは外部記憶装置2205に保存されており、これをCPU2201による制御に従ってRAM2202にロードし、CPU2201がこれを用いて処理を実行することで、コンピュータ400は以下説明する各処理を実行する。
なお、ステップS601〜S604における処理は上記ステップS401〜S404と同じであるが、ステップS604で求めた移動速度は速度ベクトルとして得る。例えば、例えば時刻tにおいて位置姿勢算出部405から得られた位置情報と、時刻(t−1)において位置姿勢算出部405から得られた位置情報との差分、即ち3次元ベクトルを速度ベクトルとして求める。
次に、CPU2201はCG物体位置関係計測部410として機能し、操作対象仮想物体と固定配置仮想物体との位置関係を判断する(ステップS605)。本実施形態では、操作対象仮想物体が固定配置仮想物体の内部に位置するのか否かを判断する。一方の仮想物体が他方の仮想物体に位置するのか否かを判断するための処理については周知のものであるので、これに関する説明は省略する。
そして操作対象仮想物体が固定配置仮想物体の内部に位置する場合には処理をステップS607に進め、ステップS406と同様に操作対象仮想物体と固定配置仮想物体との干渉状態のチェック処理を行う(ステップS607)。即ち、操作対象仮想物体を固定配置仮想物体内の所定の位置姿勢に配置する場合には、操作対象仮想物体を固定配置仮想物体内に移動させた後、操作対象仮想物体が所望の位置姿勢となるべく、観察者は指示具300を細かく移動させて操作対象仮想物体の位置姿勢合わせを行うので、干渉状態のチェック処理を行わないと、観察者は操作対象仮想物体がきちんと固定配置仮想物体内に収まっているのかが分からない。そこでこのような場合には、干渉状態のチェック処理を行う。そしてステップS607における処理が完了すると処理をステップS608に進める。
一方、操作対象仮想物体が固定配置仮想物体の外部に位置する場合には処理をステップS606に進め、操作対象仮想物体が固定配置仮想物体の内部に向かって移動しているのか否かを判断するために、ステップS604で得た3次元ベクトル(指示具300の移動方向を示すベクトルA)と、操作対象仮想物体の位置(指示具300の位置)から固定配置仮想物体の配置位置へ向かうベクトルBとの内積値を計算し、計算した内積値が正であるのか否かを判断する(ステップS606)。
ここで、操作対象仮想物体が固定配置仮想物体の内部に向かって移動していない場合には、上記内積値は負の値を示すので、そのような場合には処理をステップS607に進め、干渉状態のチェック処理を行う。
一方、操作対象仮想物体が固定配置仮想物体の内部に向かって移動している場合には、上記内積値は正の値を示すので、そのような場合にはステップS607における干渉状態のチェック処理は行わずに、処理をステップS608に進める。即ち、操作対象仮想物体を固定配置仮想物体内の所定の位置姿勢に配置する場合に、指示具300が固定配置仮想物体の外部に位置しており、且つ指示具300を固定配置仮想物体に向かって移動させている場合、指示具300を所望の位置に移動させている途中であると考えられ、この時点で干渉状態のチェック処理を行っては、観察者は操作対象仮想物体と固定配置仮想物体との干渉を気にしながら指示具300を移動させることになるので、指示具300の移動が面倒となる。従って、このような場合には、干渉状態のチェック処理は行わない。
そしてステップS608以降の各ステップにおける処理を、上記S407以降の各ステップと同様にして行う。
なお、本実施形態では操作対象仮想物体と固定配置仮想物体との位置関係を判断する処理の一例として、操作対象仮想物体が固定配置仮想物体の内部に位置しているのか否かを判断したが、より一般的に、「操作対象仮想物体と固定配置仮想物体との位置関係が所定の位置関係を満たすか否かを」を判断するような実施形態としても良い。
[第3の実施形態]
第1の実施形態では仮想物体同士の干渉状態のチェック処理を行うか否かの判断基準には、「指示具300の移動速度」のみを用いていた。本実施形態ではこの判断基準として「干渉状態のチェック処理を行うためにコンピュータ400に与える推定負荷」を用いる。
尚、本実施形態に係るシステムの構成については第1の実施形態と同じであるが、コンピュータ400の機能構成が第1の実施形態とは異なる。
図7は、本実施形態に係るコンピュータ400の機能構成を示すブロック図である。尚、同図において図3と同じ部分については同じ番号を付けており、その説明は省略する。図7に示した構成は図3に示した構成のうちCG物体速度計測部408を干渉チェック負荷予測部411に置き換えたものである。なお、以下説明する点以外については第1の実施形態と同じである。
干渉チェック負荷予測部411は、CPU2201が操作対象仮想物体と固定配置仮想物体との干渉状態のチェック処理を行う場合に、その処理負荷を推定する処理を行う。この処理負荷が大きいと、例えば複合現実空間の画像生成処理に影響を与え、画像の描画レート、フレームレートが低下することになる。
そこで干渉チェック負荷予測部411はこの処理負荷を推定し、推定した処理負荷が所定値以上である場合、即ち、その他の処理(複合現実空間の画像生成処理を含む)に影響を与えるほどの処理負荷以上である場合には、その旨を干渉チェック部409に通知する。そして干渉チェック部409は、推定処理負荷が所定値以上である場合には干渉状態のチェック処理を行わないし、逆に推定処理負荷が所定値以下である場合には干渉状態のチェック処理を行ってもその他の処理には影響はないので、干渉状態のチェック処理を行う。
なお、本実施形態に係る、1フレーム分の複合現実空間画像を生成して表示装置101a、101bに出力するまでの一連の処理のフローチャートは、図4のフローチャートにおいて以下の点を変更したものとなる。
即ち、ステップS404では、CPU2201は操作対象仮想物体と固定配置仮想物体との干渉状態のチェック処理の処理負荷を推定する。そしてステップS405では、この推定した処理負荷が所定値以上であるのか否かを判断し、所定値以上である場合には処理をステップS407に進め、所定値以下である場合には処理をステップS406に進める。
[第4の実施形態]
なお、以上の各実施形態では、所定の状態によっては干渉状態のチェック処理を行わないとしていたが、完全に干渉状態のチェック処理を行わないのではなく、簡便なチェック方法があればそれを用いるようにしても良い。
また、上記各実施形態ではHMD100はビデオシースルー型のものを用いているが、光学シースルー型のものを用いるようにしても良い。
また、上記各実施形態で用いた「干渉状態のチェック処理を行うか否かの判断に用いる指標」を適宜組み合わせて用いるようにしても良い。
また、上記各実施形態では観察者の視点の位置姿勢は磁気センサを用いて取得しているが、その他のタイプのセンサ、例えば光学式センサや超音波センサなど、他のタイプのセンサを用いても良いことはいうまでもない。
また、視点の位置姿勢を求める手段についてはセンサを用いることに限定するものではなく、例えば、現実空間中にマーカを配置し、この配置位置、及びマーカをカメラでもって撮像した画像上におけるマーカ座標位置を用いてHMD100の位置姿勢を取得するという一般的な方法を用いるようにしても良い。よって、視点の位置姿勢が得られるのであれば、センサを用いることには限定しない。
[その他の実施形態]
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
現実空間に仮想空間を重畳させた複合現実空間を観察者(ユーザ)に提供するためのシステムの外観を示す図である。 HMD100の具体的な構成を示す図である。 コンピュータ400の機能構成を示すブロック図である。 1フレーム分の複合現実空間画像を生成して表示装置101a、101bに出力するまでの一連の処理のフローチャートである。 本発明の第2の実施形態に係るコンピュータ400の機能構成を示すブロック図である。 1フレーム分の複合現実空間画像を生成して表示装置101a、101bに出力するまでの一連の処理のフローチャートである。 本発明の第3の実施形態に係るコンピュータ400の機能構成を示すブロック図である。 コンピュータ400のハードウェア構成を示すブロック図である。

Claims (8)

  1. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置の第1の取得手段が、観察者の視点の位置姿勢を取得する第1の取得工程と、
    前記情報処理装置の第2の取得手段が、前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得工程と、
    前記情報処理装置の配置手段が、仮想空間中に前記第2の取得工程で取得した位置姿勢でもって第1の仮想物体を配置する配置工程と、
    前記情報処理装置の生成手段が、前記第1の仮想物体を含む仮想空間を前記第1の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程と、
    前記情報処理装置の計算手段が、前記指示具の移動速度を求める計算工程と、
    前記情報処理装置の決定手段が、前記指示具の移動速度に基づいて、前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックするか否かを決定する決定工程と、
    前記情報処理装置の報知手段が、前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知工程と
    を備えることを特徴とする情報処理方法。
  2. 前記計算工程では、時刻tにおいて前記第2の取得工程で取得した位置と時刻(t−1)において前記第2の取得工程で取得した位置との差分ベクトルを求め、求めた当該差分ベクトルの大きさを前記指示具の時刻tにおける移動速度として求めることを特徴とする請求項1に記載の情報処理方法。
  3. 前記決定工程では、前記指示具の移動速度が閾値以下である場合には、前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックを行うと決定することを特徴とする請求項1に記載の情報処理方法。
  4. 前記決定工程では、前記指示具の移動速度が閾値以上である場合には、前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックを行わないと決定することを特徴とする請求項1に記載の情報処理方法。
  5. 更に、
    前記情報処理装置の第3の取得手段が、前記視点から見える現実空間の画像を取得する第3の取得工程と、
    前記情報処理装置の出力手段が、前記生成工程で生成した画像を、前記第3の取得工程で取得した画像上に重畳させてから外部に出力する出力工程と
    を備えることを特徴とする請求項1乃至の何れか1項に記載の情報処理方法。
  6. 観察者の視点の位置姿勢を取得する第1の取得手段と、
    前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得手段と、
    仮想空間中に前記第2の取得手段によって取得した位置姿勢でもって第1の仮想物体を配置する配置手段と、
    前記第1の仮想物体を含む仮想空間を前記第1の取得手段によって取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段とを備える情報処理装置であって、
    前記指示具の移動速度を求める計算手段と、
    前記指示具の移動速度に基づいて、前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックするか否かを決定する決定手段と、
    前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知手段と
    を備えることを特徴とする情報処理装置。
  7. コンピュータに請求項1乃至の何れか1項に記載の情報処理方法を実行させることを特徴とするプログラム。
  8. 請求項に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
JP2005138453A 2005-05-11 2005-05-11 情報処理方法、情報処理装置 Expired - Fee Related JP4689344B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005138453A JP4689344B2 (ja) 2005-05-11 2005-05-11 情報処理方法、情報処理装置
US11/429,543 US7773098B2 (en) 2005-05-11 2006-05-05 Virtual reality presentation apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005138453A JP4689344B2 (ja) 2005-05-11 2005-05-11 情報処理方法、情報処理装置

Publications (3)

Publication Number Publication Date
JP2006318094A JP2006318094A (ja) 2006-11-24
JP2006318094A5 JP2006318094A5 (ja) 2008-06-19
JP4689344B2 true JP4689344B2 (ja) 2011-05-25

Family

ID=37538745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005138453A Expired - Fee Related JP4689344B2 (ja) 2005-05-11 2005-05-11 情報処理方法、情報処理装置

Country Status (1)

Country Link
JP (1) JP4689344B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5687881B2 (ja) * 2010-11-12 2015-03-25 任天堂株式会社 表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法
JP5891125B2 (ja) * 2012-06-29 2016-03-22 株式会社ソニー・コンピュータエンタテインメント 映像処理装置、映像処理方法、および映像処理システム
KR102271198B1 (ko) 2013-03-15 2021-06-29 매직 립, 인코포레이티드 디스플레이 시스템 및 방법
CN103679790B (zh) * 2013-12-18 2016-11-09 安徽理工大学 一种基于图像处理技术的井下煤仓煤位检测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0927046A (ja) * 1995-07-11 1997-01-28 Fujitsu Ltd 干渉チェック方法
JP2000353248A (ja) * 1999-06-11 2000-12-19 Mr System Kenkyusho:Kk 複合現実感装置及び複合現実感提示方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0927046A (ja) * 1995-07-11 1997-01-28 Fujitsu Ltd 干渉チェック方法
JP2000353248A (ja) * 1999-06-11 2000-12-19 Mr System Kenkyusho:Kk 複合現実感装置及び複合現実感提示方法

Also Published As

Publication number Publication date
JP2006318094A (ja) 2006-11-24

Similar Documents

Publication Publication Date Title
US7773098B2 (en) Virtual reality presentation apparatus and method
KR102517876B1 (ko) 증강 현실 데이터를 레코딩하기 위한 기술
US7830334B2 (en) Image displaying method and apparatus
JP4667111B2 (ja) 画像処理装置、画像処理方法
JP4533087B2 (ja) 画像処理方法、画像処理装置
US7292240B2 (en) Virtual reality presentation device and information processing method
JP5709440B2 (ja) 情報処理装置、情報処理方法
JP4757115B2 (ja) 画像処理装置、画像処理方法
JP2006209664A (ja) システム、画像処理装置、情報処理方法
JP2009123018A (ja) 画像処理装置、画像処理方法
US7782320B2 (en) Information processing method and information processing apparatus
JP2007042055A (ja) 画像処理方法、画像処理装置
JP2019008623A (ja) 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体
JP2007004713A (ja) 画像処理方法、画像処理装置
CN110956695A (zh) 信息处理装置、信息处理方法和存储介质
JP2006252468A (ja) 画像処理方法、画像処理装置
JP2021135776A (ja) 情報処理装置、情報処理方法、およびプログラム
JP4689344B2 (ja) 情報処理方法、情報処理装置
JP2009087161A (ja) 画像処理装置、画像処理方法
JP2005107972A (ja) 複合現実感提示方法、複合現実感提示装置
JP6726016B2 (ja) 情報処理装置、情報処理方法
JP2006215750A (ja) 画像処理方法、画像処理装置
JP2006085375A (ja) 画像処理方法、画像処理装置
JP2008217119A (ja) システム、画像処理装置、画像処理方法
JP2019032713A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080425

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110216

R150 Certificate of patent or registration of utility model

Ref document number: 4689344

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees