JP2005339266A - 情報処理方法、情報処理装置、撮像装置 - Google Patents
情報処理方法、情報処理装置、撮像装置 Download PDFInfo
- Publication number
- JP2005339266A JP2005339266A JP2004158025A JP2004158025A JP2005339266A JP 2005339266 A JP2005339266 A JP 2005339266A JP 2004158025 A JP2004158025 A JP 2004158025A JP 2004158025 A JP2004158025 A JP 2004158025A JP 2005339266 A JP2005339266 A JP 2005339266A
- Authority
- JP
- Japan
- Prior art keywords
- image
- list
- video
- list image
- orientation
- 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.)
- Withdrawn
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】 1つ以上のパーツにより構成されている仮想物体を現実空間映像に重畳させて観察者に提示する場合に、パーツに係る情報の表示で他の映像が隠される問題を最小限にすること。
【解決手段】 観察者100の視点の位置姿勢を取得し、スタイラス120の位置姿勢を取得し、HMD110から視点の位置姿勢に応じて見える現実空間の映像を取得し、リスト画像をスタイラス120の位置近傍に配置し、リスト画像を配置後の仮想空間を、視点の位置姿勢に応じて見た場合の映像を生成し、生成した映像を現実空間の映像上に重畳させてHMD110の表示画面に出力する。仮想空間の映像の生成の際、現実空間の映像中の手の領域上にリスト画像が重畳される際に、手の領域、リスト画像の何れを手前に描画するのかを指定するための優先度データに基づいて仮想空間の映像を生成する。
【選択図】 図1
【解決手段】 観察者100の視点の位置姿勢を取得し、スタイラス120の位置姿勢を取得し、HMD110から視点の位置姿勢に応じて見える現実空間の映像を取得し、リスト画像をスタイラス120の位置近傍に配置し、リスト画像を配置後の仮想空間を、視点の位置姿勢に応じて見た場合の映像を生成し、生成した映像を現実空間の映像上に重畳させてHMD110の表示画面に出力する。仮想空間の映像の生成の際、現実空間の映像中の手の領域上にリスト画像が重畳される際に、手の領域、リスト画像の何れを手前に描画するのかを指定するための優先度データに基づいて仮想空間の映像を生成する。
【選択図】 図1
Description
本発明は、1つ以上のパーツから成る仮想物体により構成されている仮想空間の映像を生成する為の技術に関するものである。
現実空間と仮想空間とが融合した周知の複合現実空間を観察者に提示するための複合現実感システムでは、複合現実空間を観察する視点の位置と視線方向を取得するため、米国Polhemus社製FASTRAK(商標)に代表されるような位置姿勢計測装置を使うのが一般的である(例えば特許文献1を参照)。
また撮像・表示装置としては、カメラ付きHMD(ヘッド・マウント・ディスプレイ)がよく用いられる。HMDの撮像系および、表示系を左右独立させ、両眼視差による立体視も実現されている。
上記のような複合現実感システムにおいて、本出願人は、CAD等のデータを仮想空間における仮想物体として仮想空間中に配置し、これを上記視点の位置、視線方向から見た場合の映像を生成してHMDが有する表示装置に表示することを提案している。現実空間映像の中に仮想のCADデータに応じた仮想画像を表示する事により、自由で容易な視点移動が可能になり、また現実空間映像と合成されている事により、仮想物体に対するスケール感など、より現実感のある表示を行うことができる。
一方、従来のCADシステムである、複合現実感システムを使用しないCADシステムにおいては、重要な機能の一つとしてアセンブリツリーを表示する機能がある。デザインの対象物中の各パーツに対してアセンブリツリーの中から選択して操作を行う。アセンブリツリーを使用する事によって、一体化された複数の部品に対する共通の操作を一度に行う事ができる。
特開平11−088913号公報
しかしながら、複合現実感システムにおいては一般に現実空間映像を利用するという制限により、表示領域の制限が大きく、またステレオ型のHMD等を用いて立体視をおこなう場合に、HMDで表示できる視野角には制限があり、アセンブリツリーを表示する事で、他の映像が見えなくなってしまう、操作者の手が見えなくなってしまうといった問題があった。
本発明は以上の問題に鑑みてなされたものであり、1つ以上のパーツにより構成されている仮想物体を現実空間映像に重畳させて観察者に提示する場合に、パーツに係る情報の表示で他の映像が隠される問題を最小限にする為の技術を提供することを目的とする。
本発明の目的を達成する為に、例えば本発明の画像処理方法は以下の構成を備える。
すなわち、1つ以上のパーツから成る仮想物体により構成されている仮想空間の映像を生成し、現実空間の映像に重畳させて観察者に提示する画像処理方法であって、
前記観察者の視点の位置姿勢を取得する第1の取得工程と、
前記観察者の手に装着され、各種の操作を行うための指示具の位置姿勢を取得する第2の取得工程と、
前記視点の位置姿勢に応じて見える現実空間の映像を取得する現実空間映像取得工程と、
前記パーツに係る情報を一覧表示するためのリスト画像を、前記第2の取得工程で取得した位置近傍に配置する配置する配置工程と、
前記リスト画像を配置後の仮想空間を、前記視点の位置姿勢に応じて見た場合の映像を生成する仮想空間映像生成工程と、
前記現実空間映像取得工程で取得した前記現実空間の映像上に、前記仮想空間映像生成工程で生成した映像を重畳させた映像を生成する複合現実空間映像生成工程と、
前記複合現実空間映像生成工程で生成した映像を所定の表示装置に出力する出力工程とを備え、
前記仮想空間映像生成工程では、
前記現実空間映像取得工程で取得した現実空間の映像中の手の領域と前記リスト画像とが重なる場合には、当該手の領域、前記リスト画像の何れを手前に描画するのかを指定するための優先度データに基づいて前記仮想空間の映像を生成することを特徴とする。
前記観察者の視点の位置姿勢を取得する第1の取得工程と、
前記観察者の手に装着され、各種の操作を行うための指示具の位置姿勢を取得する第2の取得工程と、
前記視点の位置姿勢に応じて見える現実空間の映像を取得する現実空間映像取得工程と、
前記パーツに係る情報を一覧表示するためのリスト画像を、前記第2の取得工程で取得した位置近傍に配置する配置する配置工程と、
前記リスト画像を配置後の仮想空間を、前記視点の位置姿勢に応じて見た場合の映像を生成する仮想空間映像生成工程と、
前記現実空間映像取得工程で取得した前記現実空間の映像上に、前記仮想空間映像生成工程で生成した映像を重畳させた映像を生成する複合現実空間映像生成工程と、
前記複合現実空間映像生成工程で生成した映像を所定の表示装置に出力する出力工程とを備え、
前記仮想空間映像生成工程では、
前記現実空間映像取得工程で取得した現実空間の映像中の手の領域と前記リスト画像とが重なる場合には、当該手の領域、前記リスト画像の何れを手前に描画するのかを指定するための優先度データに基づいて前記仮想空間の映像を生成することを特徴とする。
本発明の目的を達成する為に、例えば本発明の画像処理装置は以下の構成を備える。
すなわち、1つ以上のパーツから成る仮想物体により構成されている仮想空間の映像を生成し、現実空間の映像に重畳させて観察者に提示する画像処理装置であって、
前記観察者の視点の位置姿勢を取得する第1の取得手段と、
前記観察者の手に装着され、各種の操作を行うための指示具の位置姿勢を取得する第2の取得手段と、
前記視点の位置姿勢に応じて見える現実空間の映像を取得する現実空間映像取得手段と、
前記パーツに係る情報を一覧表示するためのリスト画像を、前記第2の取得手段が取得した位置近傍に配置する配置する配置手段と、
前記リスト画像を配置後の仮想空間を、前記視点の位置姿勢に応じて見た場合の映像を生成する仮想空間映像生成手段と、
前記現実空間映像取得手段が取得した前記現実空間の映像上に、前記仮想空間映像生成手段が生成した映像を重畳させた映像を生成する複合現実空間映像生成手段と、
前記複合現実空間映像生成手段が生成した映像を所定の表示装置に出力する出力手段とを備え、
前記仮想空間映像生成手段は、
前記現実空間映像取得手段が取得した現実空間の映像中の手の領域と前記リスト画像とが重なる場合には、当該手の領域、前記リスト画像の何れを手前に描画するのかを指定するための優先度データに基づいて前記仮想空間の映像を生成することを特徴とする。
前記観察者の視点の位置姿勢を取得する第1の取得手段と、
前記観察者の手に装着され、各種の操作を行うための指示具の位置姿勢を取得する第2の取得手段と、
前記視点の位置姿勢に応じて見える現実空間の映像を取得する現実空間映像取得手段と、
前記パーツに係る情報を一覧表示するためのリスト画像を、前記第2の取得手段が取得した位置近傍に配置する配置する配置手段と、
前記リスト画像を配置後の仮想空間を、前記視点の位置姿勢に応じて見た場合の映像を生成する仮想空間映像生成手段と、
前記現実空間映像取得手段が取得した前記現実空間の映像上に、前記仮想空間映像生成手段が生成した映像を重畳させた映像を生成する複合現実空間映像生成手段と、
前記複合現実空間映像生成手段が生成した映像を所定の表示装置に出力する出力手段とを備え、
前記仮想空間映像生成手段は、
前記現実空間映像取得手段が取得した現実空間の映像中の手の領域と前記リスト画像とが重なる場合には、当該手の領域、前記リスト画像の何れを手前に描画するのかを指定するための優先度データに基づいて前記仮想空間の映像を生成することを特徴とする。
本発明の構成により、1つ以上のパーツにより構成されている仮想物体を現実空間映像に重畳させて観察者に提示する場合に、パーツに係る情報の表示で他の映像が隠される問題を最小限にすることができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
[第1の実施形態]
本実施形態では、1つ以上のパーツから成る仮想物体により構成されている仮想空間の映像を、現実空間の映像上に重畳させて観察者に提示する場合に、このパーツに係る情報をも観察者に提示する。以下では、このような提示を行うシステムについて説明する。
本実施形態では、1つ以上のパーツから成る仮想物体により構成されている仮想空間の映像を、現実空間の映像上に重畳させて観察者に提示する場合に、このパーツに係る情報をも観察者に提示する。以下では、このような提示を行うシステムについて説明する。
図1は、本実施形態に係るシステムの外観図である。
同図において100は観察者であり、頭部には後述するHMD(ヘッドマウントディスプレイ)110が装着されていると共に、手には後述のスタイラス(指示具)120が装着(ここで「装着」とは、「手に持つ」、「手に取り付ける」の何れの意味をも含む)されている。
130は磁界を発生する位置姿勢センサ発信器であり、スタイラス120に備わっている位置姿勢センサ受信器121、HMD110に備わっている位置姿勢センサ受信器113は自身の位置姿勢に応じた磁界の強度を計測する。
131は位置姿勢センサ本体で、位置姿勢センサ発信器130を制御すると共に、位置姿勢センサ受信器121,113が計測した磁界の強度を示す信号を受け、それぞれのセンサ受信器のセンサ座標系(位置姿勢センサ発信器130の位置を原点とし、この原点で互いに直交する3軸をそれぞれx、y、z軸とする座標系)における位置姿勢を、受けた信号が示す磁界の強度に応じて求め、求めた位置姿勢を示すデータを後段のコンピュータ140に出力する。なお、これらセンサ系としては例えば米国Polhemus社製FASTRAK(登録商標)などが利用可能である。
170は仮想物体で、1つ以上のパーツから成るものである。仮想物体170は同図では複写機であるが、1つ以上のパーツから成るものであれば、これに限定されるものではない。また、この仮想物体170は同図では便宜上図示しているが、実際には観察者100、もしくはコンピュータ140の表示画面を見ているオペレータにしか見えないものである。180は現実物体である。150はネットワーク回線で、コンピュータ140が外部機器とデータ通信を行う際にはこのネットワーク回線150を介して行うものとする。なお、このネットワーク回線150は同図では有線であるが、無線でも良いことはいうまでもない。
コンピュータ140は、位置姿勢センサ本体131からのデータに基づいて後述する処理により観察者100の視点の位置姿勢を求める処理を行う。またコンピュータ140は、観察者100の視点の位置姿勢に応じて見える仮想空間の映像(仮想物体の映像)を生成するが、この仮想空間の映像には、仮想物体を構成するパーツに係る情報を一覧表示するためのリスト画像が含まれている。このリスト画像については後述する。そしてコンピュータ140は生成した仮想空間の映像をHMD110から得られる現実空間の映像上に重畳させ、重畳後の映像をHMD110の表示画面上に出力する処理を行う。
図2は、本実施形態に係るHMD110の概略構成を示す図である。HMD110は同図に示すように、ビデオカメラ111、LCD112、位置姿勢センサ受信器113、光学プリズム114、115により構成されている。
ビデオカメラ111は光学プリズム115によって導かれた光を撮像するもので、結果として観察者の視点の位置姿勢に応じて見える現実空間が撮像される。このビデオカメラ111は本実施形態ではHMD110内に1つとするが、これに限定されるものではなく、観察者の右目、左目それぞれの位置姿勢に応じて見える現実空間の映像を撮像するために2つ設けても良い。撮像した映像信号はコンピュータ140に出力される。
位置姿勢センサ受信器113は上述の通りセンサ座標系における自身の位置姿勢を計測するためのものであり、実際には自身の位置姿勢に応じた磁界の強度が位置姿勢センサ受信器113によって計測され、位置姿勢センサ本体131がこの計測した強度に基づいて、この位置姿勢センサ受信器113のセンサ座標系における位置姿勢を求める。求めた位置姿勢を示すデータは後段のコンピュータ140に出力され、そこで後述する処理によりセンサ座標系における観察者100の視点の位置姿勢を求めることができる。
LCD112はコンピュータ140が生成し、出力した映像信号を受け、受けた映像信号に基づいた映像を表示するためのものであり、本実施形態ではビデオカメラ111が撮像した現実空間の映像に、コンピュータ140が生成した仮想空間の映像を重畳した映像(複合現実空間の映像)が表示される。この表示された映像は光学プリズム114によって観察者の瞳に導かれる。
図3は、スタイラス120の構成を示す図である。スタイラス120は同図に示すように、位置姿勢センサ受信器121、スタイラスボタン122を備える。位置姿勢センサ受信器121は上述の通りセンサ座標系における自身の位置姿勢を計測するためのものであり、実際には自身の位置姿勢に応じた磁界の強度が位置姿勢センサ受信器121によって計測され、位置姿勢センサ本体131がこの計測した強度に基づいて、この位置姿勢センサ受信器121のセンサ座標系における位置姿勢を求める。求めた位置姿勢を示すデータは後段のコンピュータ140に出力される。本実施形態では、位置姿勢センサ受信器121の位置姿勢をスタイラス120の位置姿勢として扱うが、これに限定するものではない。
スタイラスボタン122は観察者100の操作により押下/非押下の状態を取ることができ、それぞれの状態を示す信号は後段のコンピュータ140に出力される。
図31は、コンピュータ140の基本構成を示す図である。
3101はCPUで、RAM3102やROM3103に格納されているプログラムやデータを用いて、コンピュータ140全体の制御を行うと共に、後述する各処理を実行する。
3102はRAMで、外部記憶装置3106からロードされたプログラムやデータを一時的に記憶するためのエリアを備えると共に、CPU3101が各種の処理を実行する際に必要なワークエリアをも備える。また、I/F3107を介して外部から受信したデータ(例えば位置姿勢センサ本体131から受信する、センサ座標系における位置姿勢センサ受信器自身の位置姿勢を示すデータ、HMD110のビデオカメラ111から受信する、現実空間の映像データ)を一時的に記憶するためのエリアも備える。
3103はROMで、ブートプログラムやコンピュータ140の設定に係るデータを格納する。
3104は操作部で、キーボードやマウスなどにより構成されており、オペレータが各種の指示をCPU3101に指示するために使用されるものである。
3105は表示装置で、CRTや液晶画面などにより構成されており、HMD110の表示画面(図2のLCD112)に表示すべき映像を表示したり、オペレータが各種の操作を行うためのGUIなどを表示する。
3106は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置であって、ここにOS(オペレーティングシステム)や、CPU3101に後述する各処理を実行させるためのプログラムやデータが保存されており、これらの一部もしくは全部はCPU3101の制御によりRAM3102にロードされ、CPU3101による処理対象となる。なお、外部記憶装置3106に保存されているデータには、後述するリスト画像を生成するためのデータ群、仮想空間を構成する各仮想物体(図1では複写機の仮想物体)の画像を生成するためのデータが含まれている。また、仮想物体を構成する各パーツに係る情報は、各パーツの画像を生成するためのデータに関連付けられてい保持されているものとする。また、以下の説明で既知のデータ(情報)として登場するものもまたこの外部記憶装置3106に保存されており、使用時にRAM3102にロードされるものとする。
3107はI/Fで、コンピュータ140を外部と接続するためのもので、ここにHMD110や位置姿勢センサ本体131やネットワーク回線150を接続することができる。尚同図ではI/F3107については説明を簡単にするために簡略化しているが、実際には接続する機器に応じて複数のI/Fを設け、それぞれのI/Fに合致した対象を接続することが好ましい。
3108は上述の各部を繋ぐバスである。
次に、以上の構成を備えるコンピュータ140でもって、HMD110の表示画面に複合現実空間の映像を表示するために行う処理について説明する。
HMD110に備わっているビデオカメラ111は常にHMD110の位置姿勢に応じて見える現実空間の映像(動画像)を撮像しており、撮像した各フレームの映像は順次コンピュータ140に出力される。
また、位置姿勢センサ発信器130は、位置姿勢センサ本体131の制御により磁界を発生しており、HMD110の位置姿勢センサ受信器113,位置姿勢センサ受信器121は自身の位置姿勢に応じた磁界の強度を計測し、計測した強度を示す信号は位置姿勢センサ本体131に出力される。位置姿勢センサ本体131は、受けた信号に基づき、それぞれのセンサ受信器のセンサ座標系における位置姿勢を求める。すなわち、センサ受信器のセンサ座標系における位置姿勢は、このセンサ受信器が計測した磁界の強度に応じて決まる。位置姿勢センサ本体131は、求めた位置姿勢を示すデータをコンピュータ140に出力する。
コンピュータ140には、I/F3107を介してRAM3102に、HMD110からの現実空間の映像のデータ、位置姿勢センサ本体131からのそれぞれのセンサ受信器のセンサ座標系における位置姿勢を示すデータが入力される。
CPU3101は、予め外部記憶装置3106からRAM3102にロードしておいたオフセットデータ(予め計測しておいた位置姿勢センサ受信器113とビデオカメラ111との位置姿勢関係を示すデータ)を用いて、センサ座標系における位置姿勢センサ受信器113の位置姿勢を示すデータを、センサ座標系におけるビデオカメラ111の位置姿勢を示すデータに変換する。以下、センサ座標系におけるビデオカメラ111の位置姿勢を、観察者100の視点の位置姿勢として扱う。
一方で、CPU3101は、仮想空間中に仮想物体170を配置する。配置位置、姿勢については既知のデータでもって予め決まっているものとする。この仮想物体170は上述の通り1つ以上のパーツにより構成されているので、それぞれのパーツを、予め決められた位置姿勢に配置することにより、仮想物体170を仮想空間中に配置することができる。このように、1つ以上のパーツにより構成されている仮想物体を仮想空間中に配置する処理については周知のものであるので、これに関する説明は省略する。
なお、仮想空間における座標系は「原点、3軸」をセンサ座標系と共有しているものとする。すなわち、センサ座標系と仮想空間の座標系とは一致している。従ってCPU3101は、観察者100の視点の位置姿勢のデータと、外部記憶装置3106から予めRAM3102にロードされている仮想空間のデータとを用いて、観察者100の視点の位置姿勢から見える仮想空間の映像を生成することができる。
この仮想空間のデータは、仮想空間を構成する各仮想物体に係るデータであって、更に仮想物体に係るデータとは、仮想物体を構成するパーツに係るデータであって、例えばパーツの形状データ、テクスチャデータ、位置、姿勢を示すデータ等である。また、リスト画像に係るデータも仮想空間のデータに含まれるが、このデータの使用については後述する。
なお、所定の位置姿勢から見える仮想空間の映像を生成する処理については周知のものであるので、これに関する説明は省略する。
そして生成した仮想空間の映像を先にRAM3102に格納された現実空間の映像上に重畳させ、重畳後の映像を複合現実空間の映像としてI/F3107を介してHMD110の表示画面上に出力する。
図5は、この複合現実空間の映像の一例を示す図である。同図の映像には、図1の複写機の仮想物体170、そして現実物体としてのスタイラス120が含まれている。本実施形態ではこの映像と共に、この複写機を構成する各パーツに係る情報を表示する。
例えば、操作者が仮想物体170を構成するパーツの内1つの位置にスタイラス120を移動させ、そこでスタイラスボタン122を押下すると、押下した旨を示す信号がI/F3107を介してCPU3101に通知されるので、CPU3101は、このときRAM3102に記憶されている位置姿勢センサ受信器121のセンサ座標系における位置姿勢を示すデータを参照し、この位置に最も近いパーツを特定する。これは、上述の通り、仮想物体のデータには各パーツの位置のデータが含まれているので、これを参照し、スタイラス120の位置に最も近いパーツを特定する。なお、位置姿勢センサ受信器121の位置から所定距離以内にどのパーツも存在しない場合には、特定できなかった旨を後段の処理に通知する。
図6は、スタイラス120で、複写機の仮想物体170においてコンソール部分500をスタイラス120でもって指示した場合に、このコンソール部分500を構成する各パーツに係る情報をツリー形式(アセンブルツリー)でもって一覧表示している画像(リスト画像)の一例を示す図である。
スタイラス120に最も近いパーツを特定し、特定したパーツに関連付けられた、このパーツ係る情報を表示するのに、このパーツのみに係る情報を表示しても良いし、周知の通り、一般に仮想物体を構成する各パーツはパーツ間の位置姿勢関係に基づいて親子構造(階層構造)でもって管理されているので、特定したパーツの子に相当する全ての、もしくは一部のパーツに係る情報を表示するようにしても良い。当然このリスト画像は、情報が記載された面が観察者100の視点の位置姿勢から見えるように仮想空間中に配置される。当然、位置姿勢センサ受信器121に最も近いパーツが特定できなかった場合(位置姿勢センサ受信器121の位置から所定距離以内にどのパーツも存在しない場合)には、このリスト画像は表示されない。
表示する情報としては、図6ではコンソール部分500を構成する各パーツ(コンソール部分500の子に相当するパーツであって、同図では液晶表示パネル、オンラインボタン、排出ボタン、上ボタン、下ボタン、右ボタン、左ボタン)のマテリアル名、テクスチャ名であるが、これに限定するものではなく、他の情報であっても良い。上述の通り、パーツに係る情報は、このパーツの画像を生成するために必要なデータに関連付けられて仮想空間のデータに含まれているので、スタイラス120でもって指示したパーツが特定できれば、仮想空間のデータ内のこのパーツに係る情報を参照することができるので、これにより、リスト画像に記載すべき情報を得ることができる。
このようなリスト画像がHMD110の表示画面に表示され、操作者はこのような情報を参照して、スタイラス120でもって指示した部分に関する情報を参照することができるのであるが、表示する情報が増えると、当然リスト画像の面積も大きくなるので、今度は仮想物体170や現実空間の映像が見にくくなるという問題が生じる。また立体視を行っている場合には、3次元的に他の仮想および、現実のオブジェクトと重なってしまうと、立体視に違和感を生じさせてしまう。
そこで本実施形態では、このリスト画像を、仮想空間においてスタイラス120の位置近傍、且つ、このスタイラス120よりも観察者100の視点の位置に近い位置に配置する。
図7は、このようにしてリスト画像を配置して表示した場合の、複合現実空間映像の表示例を示す図である。同図では、リスト画像は、半透明の形態でもって表示されており、他の映像を見るのに邪魔にならないようにしている。半透明の形態でもって画像を表示する技術については画像を構成する画素のα値を制御する等、いろいろなものが考えられるが、これについては周知の技術であるので、これに関する説明は省略する。
また、このリスト画像の配置に関しては、例えば観察者100の視点の位置とスタイラス120の位置とを結ぶ線分上をt:(1−t)に内分する位置にリスト画像を、情報が記載された面が観察者100の視点の位置姿勢から見えるような向きでもって配置する。例えば、リスト画像の姿勢については、観察者の視点の姿勢と同じにする。このように、観察者の位置姿勢と、スタイラスの位置とを用いて、リスト画像を配置する位置姿勢を求める。
なお、このtについては、できるだけ1に近い値を設定し、スタイラス120の位置近傍にリスト画像を位置されるようにするのが好ましい。よって、CPU3101は、リスト画像を仮想空間内に配置後、仮想物体、リスト画像を含む仮想空間を観察者100の視点の位置姿勢に応じて見える映像を生成し、これを仮想空間の映像とする。
このようにリスト画像を表示することで、実用上、リスト画像(アセンブリツリー)が他の映像で隠されることはなく、また手にもったスタイラス120とほぼ同じ深度で表示されるため、立体視を行う場合も、極端な立体感の違いにより、両眼視差による立体視に違和感を生じる事も少ない。
図4は、CPU3101が、本実施形態に係る複合現実空間の映像を生成してHMD110の表示画面に対して出力する処理(メインスレッド)のフローチャートである。なお、同図のフローチャートに従った処理をCPU3101に実行させるためのプログラムは外部記憶装置3106に保存されており、CPU3101の制御によってRAM3102にロードされ、CPU3101がこれを実行することになる。また以上の説明において既知のデータとして説明したものは事前に外部記憶装置3106からRAM3102にロードされているものとする。
先ずCPU3101は、位置姿勢スレッドを起動する(ステップS401)と共に、映像キャプチャスレッド起動する(ステップS402)。ここでスレッドとはコンピュータ140において並列処理される一連のプログラムである。そのため、動作モードなどの情報はメインスレッドとすべてのスレッドで共有される。
位置姿勢スレッドは、位置姿勢センサ受信器113、121から位置姿勢センサ本体131を介してI/F3107から受信する、センサ座標系における位置姿勢センサ受信器113、121の位置姿勢を取得するので(ステップS410)、CPU3101は、位置姿勢センサ受信器113のセンサ座標系における位置姿勢を示すデータ、及び上記オフセットデータとを用いて、センサ座標系における観察者100の視点の位置姿勢を求め、これをデータとしてRAM3102に記憶させる(ステップS403)。もし先にRAM3102に観察者100の視点の位置姿勢を示すデータが記憶されていた場合には、これに上書きして更新する。
また、CPU3101は、位置姿勢センサ受信器121のセンサ座標系における位置姿勢を示すデータをRAM3102に記憶させる(ステップS403)。もし先にRAM3102に位置姿勢センサ受信器121のセンサ座標系における位置姿勢を示すデータが記憶されていた場合には、これに上書きして更新する。
次に、仮想空間の更新を行う(ステップS404)のであるが、具体的には、例えば仮想物体が時間の経過と共にその位置や姿勢、色などを変化させる場合には、位置や姿勢、色のデータの更新を行う。本実施形態では本ステップでは、スタイラス120の位置(すなわち位置姿勢センサ受信器121のセンサ座標系における位置)に最も近いパーツを特定し、特定できた場合にのみ、特定したパーツに係る情報を、仮想空間のデータから特定する。
図5の例では、スタイラス120を複写機の仮想物体170のコンソール部分500の位置に移動させ、そこでスタイラスボタン122を押下すると、CPU3101はこのときの位置姿勢センサ受信器121の位置と、複写機の仮想物体170を構成する各パーツの位置とを比較し、位置姿勢センサ受信器121に最も近いパーツ、すなわち、コンソール部分500を特定するので、CPU3101は、このコンソール部分500の子に相当する全てのパーツに係る情報を複写機の仮想物体170のデータから特定する。
よって、パーツに係る情報が得られると、この情報が記載された図6に示すようなリスト画像を生成するのであるが、この画像は、例えば以下のようなものが考えられる。
すなわち、表示すべき各情報毎に1枚のポリゴンを用意し、1枚のポリゴンに1つのパーツに係る情報を文字列画像(予め作成して外部記憶装置3106に保存しておく)で表したテクスチャを張り付け、このパーツに係る情報が記載された平面仮想物体を生成する。この平面仮想物体をそれぞれのパーツについて作成し、それぞれのパーツの平面仮想物体をつなげたものをリスト画像(これも当然平面仮想物体)として作成する。当然どのポリゴンにどのパーツに関する情報が記載されているのかは管理しているものとする。
このようにして生成したリスト画像を、位置姿勢センサ受信器121の位置と観察者100の視点の位置とを結ぶ線分上をt:(1−t)に内分する位置に、情報が記載された面が観察者100の視点の位置姿勢から見えるように配置する。
よって、まとめると、ステップS404では、仮想空間中に仮想物体170を配置すると共に、リスト画像を配置する。
次に、映像キャプチャスレッドは、HMD110のビデオカメラ111から得られる現実空間の映像を取得するので(ステップS420)、これを受け、この映像をRAM3102中の所定のエリアに記憶する(ステップS405)。
そして、ステップS404で更新した仮想空間、すなわち、ステップS404で配置された仮想物体170とリスト画像を観察者100の視点の位置姿勢から見た場合の仮想空間の映像をステップS405で先にRAM3102中の所定のエリアに記憶された現実空間の映像上に重ねて描画する(ステップS406)。
これにより、この所定のエリアには、現実空間の映像上に仮想空間の映像が重畳された複合現実空間の映像が生成されることになる。よってCPU3101は得られた複合現実空間の映像をI/F3107を介してHMD110の表示画面に出力する(ステップS407)。なお、この複合現実空間の映像を表示装置3105に出力し、オペレータに見せるようにしても良い。
そして操作部3104を介して、本処理を終了する旨の指示が入力されたか否かをチェックし、入力されてないと判定した場合には処理をステップS403に戻し、入力されていれば、本処理を終了する。
図9は、以上の処理によりリスト画像を配置して表示した場合の、複合現実空間映像の表示例を示す図である。
以上の説明により、本実施形態によって、仮想物体を構成するパーツに係る情報を、その他の映像との奥行き感を損ねないように表示することができる。
尚本実施形態では、HMD110はビデオシースルー型のものであったが、当然光学シースルー型のものを用いても良い。その場合には、ビデオカメラ111は必要はなく、それに伴って現実空間の映像を入力する処理も必要はない。従ってCPU3101は、図4のフローチャートにおいて、ステップS402,S405,S420,S407の処理を省いた処理を行う。
また本実施形態ではリスト画像をHMD110の表示画面上に表示するために、仮想空間において、位置姿勢センサ受信器121の位置と観察者100の視点の位置とを結ぶ線分上を内分する位置にリスト画像を配置していた。すなわち、本実施形態ではリスト画像を3次元仮想物体として扱っていた。しかし、これに限定するものではなく、リスト画像を2次元画像として扱うようにしても良い。その場合、HMD110の表示画面に画像を表示するための投影面上に位置姿勢センサ受信器121の位置を投影し、投影した位置(もしくはその近傍)にリスト画像を表示するようにしても良い。リスト画像の表示は、図4のフローチャートに従った処理において、リスト画像を除く仮想空間の映像を現実空間の映像上に重畳させた後、この複合現実空間の映像上に表示する。
またリスト画像を、HMD110の表示画面内には3次元仮想物体として、コンピュータ140の表示装置3105の表示画面内には2次元画像として表示するようにしても良い。
なお、この投影には、仮想空間における物体を表示画面上に表示するために用いられる周知の投影変換行列を用いる。またこのときのリスト画像はウィンドウ内に、パーツに係る情報がテキスト文として列挙されたウィンドウであっても良い。
[第2の実施形態]
本実施形態は、第1の実施形態に加えて、リスト画像の表示位置の変更、表示のオン/オフを切り替える。本実施形態のメインスレッドは第1の実施形態と同じ(図4に示したフローチャートに従ったもの)であるが、ステップS404において、リスト画像の表示に係る処理が第1の実施形態とは異なる。
本実施形態は、第1の実施形態に加えて、リスト画像の表示位置の変更、表示のオン/オフを切り替える。本実施形態のメインスレッドは第1の実施形態と同じ(図4に示したフローチャートに従ったもの)であるが、ステップS404において、リスト画像の表示に係る処理が第1の実施形態とは異なる。
図19は、ステップS404において行う、本実施形態に係るリスト画像の表示処理のフローチャートである。なお、図19のフローチャートに従った処理は、仮想物体の映像を生成後、行うべき処理である。
先ず、リスト画像(アセンブリツリー)を表示するモードか否かを判定する(ステップS1901)。このモードは操作部3104により設定可能であり、設定したモードを示すデータはRAM3102に記憶されている。従ってステップS1901ではこのデータを参照し、表示するモードか非表示のモードであるのかを判定する。以下、各種のモードがあるが、これらについても同様で、それぞれのモードは操作部3104により設定可能であり、設定したモードを示すデータはRAM3102に記憶されている。従ってモードの判定時にはこのデータを参照し、そのモードであるか否か判定する。
そして非表示のモードである場合には処理をステップS1902に進め、リスト画像は非表示のまま本処理を完了する。非表示とは、実際にリスト画像を配置しない場合であっても良いし、仮想空間においてHMD110の表示画面内に入らない部分にリスト画像を移動させる場合であっても良い。
一方、表示モードである場合には処理をステップS1911に進め、リスト画像をHMD110の表示画面上で固定された位置に表示する為のモードである固定モードであるか否かを判断する(ステップS1911)。
固定モードである場合、すなわち、リスト画像をHMD110の表示画面上の固定された位置に表示する場合には処理をステップS1912に進め、HMD110の表示画面上において予め決められた位置にリスト画像を表示する(ステップ1912)。
具体的には、観察者100の視点の位置から、視線ベクトル(観察者100の視点の位置から視点の姿勢で定義される方向に向かう無限長のベクトル)の方向に所定距離だけ離間した位置近傍にリスト画像を配置する。
図11は、観察者100の視点の位置姿勢を動かした場合に、HMD110の表示画面上に表示される映像の例を示す図である。同図において1001は表示画面を示す。同図のように、仮想物体170以外のものを見ようと観察者100の視点の位置姿勢が移動しても、ステップS1912による処理によれば、リスト画像701の表示位置は変更しない。
一方、固定モードではないと判定された場合には、処理をステップS1921に進め、HMD110の表示画面上において仮想物体の表示領域を避けてリスト画像を表示するモードであるか否かを判断する(ステップS1921)。HMD110の表示画面上において仮想物体の表示領域を避けてリスト画像を表示するモードでは無い場合には処理をステップS1922に進め、第1の実施形態と同様に、スタイラス120の位置近傍にリスト画像を配置する処理を行う(ステップS1921)。
一方、HMD110の表示画面上において仮想物体の表示領域を避けてリスト画像を表示するモードである場合には、処理をステップS1923に進め、HMD110の表示画面上において仮想物体の表示領域を特定する(ステップS1923)。そしてHMD110の表示画面上においてステップS1923で特定した領域以外の領域を特定する(ステップS1924)。例えば図10に示すような表示画面の場合、右側の領域が仮想物体が表示されていない領域となる。
そしてステップS1924で特定した領域、すなわち、HMD110の表示画面上において仮想物体の表示領域以外の領域において、適当な位置(例えば、リスト画像と仮想物体の表示領域とのオーバーラップ領域が最も小さくなるような位置)にリスト画像が表示されるように、リスト画像を仮想空間内に配置する(ステップS1925)。例えば、仮想空間中でHMD110の表示画面内の上記適当な位置に投影される位置を、この適当な位置に逆投影変換を行うことで求め、求めた位置(もしくはその近傍)にリスト画像を配置する。この結果、図12に示すように、リスト画像を仮想物体170の表示領域と重なることなく配置することができる。
ステップS1923〜S1925における具体的な処理の一例としては、例えば仮想物体を表示画面に投影するためのマトリクス(表示の際に用いられている周知のマトリクス)を用いて、表示画面上のどの範囲内にこの仮想物体が描画されるのかを計算し、計算した範囲の外側で直近の視線に垂直な平面上での位置をリスト画像の表示位置として計算する。またその他の例としては、視点位置(HMDの位置)から仮想物体の中心位置への方向と、仮想物体の大きさに応じて決まるこの中心への方向からどのくらいの角度ずれても仮想物体と表示が重なってしまうかを計算し、その角度の外側で直近の位置をリスト画像の表示位置として計算する。
このリスト画像の表示において、立体視を行っている場合には表示深度によっては立体的に知覚が難しくなる事が考えられる。仮想物体と重なりが無い領域にリスト画像を表示する場合には、仮想物体が表示されているのと同じ範囲内の深度にリスト画像を位置させることでより立体的違和感の少ない見やすい表示を実現できる。
図19に戻って、次に、リスト画像を、HMD110の表示画面内に納めるモードであるか否かを、判断する(ステップS1931)。納めるモードである場合には処理をステップS1932に進め、ステップS1925で決定した配置位置にリスト画像を配置した場合に、リスト画像がHMD110の表示画面からはみ出ているか否かをチェックする(ステップS1932)。このチェックは例えば、リスト画像の4隅の仮想空間における座標値をHMD110の表示画面内に投影した場合に、この表示画面内に収まっているのか否かをチェックすることで成されるものである。
そして収まっていない場合には処理をステップS1933に進め、リスト画像の4隅の座標値が、HMD110の表示画面内に収まるように、仮想空間内でリスト画像の配置位置を移動させる(ステップS1933)。
以上説明した機能により、スタイラスの操作やシステムの操作に不慣れな場合でも、確実にアセンブリツリーの表示を行う事が可能である。
[第3の実施形態]
本実施形態は、第1の実施形態において表示されるリスト画像を半透明で表示する機能を付加したものである。
本実施形態は、第1の実施形態において表示されるリスト画像を半透明で表示する機能を付加したものである。
図8は、背景を完全な透明にし、文字を不透明にしたリスト画像801の表示例を示す図である。背景によっては文字が読みにくい可能性もあるが、同図に示したようなリスト画像により、リスト画像以外の映像は図7に示した例より見やすくなる。
図20は、ステップS404において行う、本実施形態に係るリスト画像の表示処理のフローチャートである。なお、本実施形態では、リスト画像は、第1の実施形態のように3次元仮想物体とするが、第2の実施形態のように2次元画像としても良い。
まず、観察者100の視線方向に仮想物体が存在する場合にはリスト画像を半透明表示するモードが設定されているか否かを判定する(ステップS2010)。このモードは操作部3104により設定可能であり、設定したモードを示すデータはRAM3102に記憶されている。従ってステップS2010ではこのデータを参照し、半透明表示するモードであるのか、半透明表示しないモードであるのかを判定する。以下、各種のモードがあるが、これらについても同様で、それぞれのモードは操作部3104により設定可能であり、設定したモードを示すデータはRAM3102に記憶されている。従ってモードの判定時にはこのデータを参照し、そのモードであるか否か判定する。
半透明表示しないモードである場合には処理をステップS2022に進め、ポリゴンのα値を制御して透明色でないポリゴンを生成し、このポリゴンに、パーツに係る情報が記載されたテクスチャを張り付ける処理を各パーツについて行う(ステップS2022)。すなわち、第1の実施形態と同様にしてリスト画像を生成する。これは、リスト画像が2次元画像であっても同様で、第1の実施形態と同様にして、リスト画像を生成する。
一方、半透明表示を行う場合には処理をステップS2012に進め、観察者100の視点の位置から仮想物体の位置(例えばこの仮想物体を構成する全てのパーツの位置の重心位置)への線分Aと、視線ベクトルB(視点の位置から姿勢で定義される方向に向かう無限長のベクトル)とが成す角度を求める(ステップS2012)。そしてこの求めた角度が所定値以下である場合(0に近い値が好ましい)、観察者100の視線方向に仮想物体が存在すると判定できるので、処理をステップS2021に進め、ポリゴンのα値を制御して透明色のポリゴンを生成し、このポリゴンに、パーツに係る情報が記載されたテクスチャを張り付ける処理を各パーツについて行うことでリスト画像を生成する(ステップS2021)。このテクスチャは、文字部分以外は透明(文字部分以外を構成する画素のα値を透明に設定する)として予め作成されているものとする。なお、このポリゴンの透明度は、少なくとも、ステップS2022におけるポリゴンよりも透明度の高いものとする。
これはリスト画像が2次元画像であっても同様で、文字部位外の部分の画素のα値を制御して、文字部分以外を構成する画素を透明に設定する。
これにより、観察者の視線方向に仮想物体が存在する、換言すれば、観察者が仮想物体を注視しているであろうと想定される場合には、リスト画像の表示によっては仮想物体の注視の妨げになる。従って本実施形態のように、観察者の視線方向に仮想物体が存在すると判定した場合にはリスト画像をより透明度を上げて表示することで、仮想物体の注視の妨げになることなく、リスト画像でもって通知すべき情報を観察者に対して見せることができる。
一方、ステップS2012で求めた角度が所定値以上である場合には処理をステップS2022に進める。
尚、ステップS2012,S2020における処理は、視線方向に仮想物体が存在するか否かをチェックする目的が達成されればその手法は特に限定するものではない。すなわち、本実施形態では、その一手法として、観察者100の視点の位置から仮想物体の位置(例えばこの仮想物体を構成する全てのパーツの位置の重心位置)への線分Aと、上記視線ベクトルBとが成す角度を求め、その角度が所定値以下である場合には、視線方向に仮想物体が存在すると判定したが、これ以外にも例えば、仮想物体がポリゴンにより構成されている場合には、視線ベクトルと各ポリゴンとの交差判定を行い、交点が存在した場合には、視線方向に仮想物体が存在すると判定するような手法の考えられ、その手法は特に限定するものではない。
そして以上の処理により生成されたリスト画像を、HMD110の表示画面や表示装置3105に表示する。
[第4の実施形態]
本実施形態は、上記実施形態におけるリスト画像に表示しているアセンブリツリーに対する操作や表示範囲を制御する。アセンブリツリーに対する操作は、観察者100が手に装着しているスタイラス120を用いて行う。従って、リスト画像はスタイラス120の位置に追従せず、固定された位置に表示されていることが必須となる。
本実施形態は、上記実施形態におけるリスト画像に表示しているアセンブリツリーに対する操作や表示範囲を制御する。アセンブリツリーに対する操作は、観察者100が手に装着しているスタイラス120を用いて行う。従って、リスト画像はスタイラス120の位置に追従せず、固定された位置に表示されていることが必須となる。
図21は、リスト画像に表示しているアセンブリツリーに対する操作を行った場合に、CPU3101が行うべき処理のフローチャートである。なお、同図のフローチャートに従った処理は、上記ステップS404における全ての処理が完了した後に行われる。
コンピュータ140のオペレータは、表示装置3105の表示画面上に表示されたリスト画像を見て、観察者100が表示された各パーツに係る情報に対して何らかの操作を行う場合には、この操作を可能にするためのモードに移行するために、操作部3104に含まれるマウスやキーボードでもって所定の動作(例えば所定のボタンを押下もしくはクリック)を行う。
このような操作入力が行われた場合には、操作による指示がCPU3101に通知されるので、CPU3101は常に、この指示を受け付けている(ステップS2101)。そしてこの操作指示が入力された場合、すなわち、CPU3101がこの指示を検知した場合(ステップS2111)、処理をステップS2112に進め、上記操作を可能にする為のモードを設定する(ステップS2112)。実際には、このモードを示すデータがRAM3102に記憶されているので、CPU3101は上記指示を検知すると、このデータに対して「操作可能とするモード」を示す値をセットすることで、上記操作を可能にする為のモードを設定することができる。
CPU3101は、このモードを示すデータを参照し、上記操作を可能にするモード(アセンブリツリー操作モード)であるか否かをチェックし(ステップS2121)、アセンブリツリー操作モードである場合には、処理をステップS2122に進め、後述する処理を行う。一方、上記操作を可能にしないモード(通常モード)である場合には処理をステップS2123に進め、以降は第1の実施形態と同様の処理を行う。すなわち、通常モードである場合には、本実施形態は第1の実施形態と同じである。
このようにすることで、アセンブリツリーが画面に表示されてい無い場合に、誤ってアセンブリツリーへの操作が、意図せずに行われてしまう事を防ぐ事ができる。
次に、ステップS2122における処理の詳細について説明する。
図22は、ステップS2122における処理の詳細を示すフローチャートである。
リスト画像でもって示される各パーツに係る情報、所謂アセンブリツリーに対する操作については、一般のCADシステムでも行われているように、様々な操作が考えられる。以下では、その様々な操作の内のいくつかについて説明するが、リスト画像でもって示す情報によっては、その操作方法はこれ以外にもあるということはいうまでもない。
先ず、リスト画像がHMD110の表示画面内に収まっていない場合に、アセンブリツリーに対する操作を禁止するモードであるか否かを判断する(ステップS2241)。
このモードは操作部3104により設定可能であり、設定したモードを示すデータはRAM3102に記憶されている。従ってステップS2241ではこのデータを参照し、禁止モードか否かを判定する。
このモードは操作部3104により設定可能であり、設定したモードを示すデータはRAM3102に記憶されている。従ってステップS2241ではこのデータを参照し、禁止モードか否かを判定する。
禁止するモードである場合には処理をステップS2242に進め、リスト画像がHMD110の表示画面内に納まっているのか否かを判断する(ステップS2242)。この判断は例えば、リスト画像の4隅の仮想空間における座標値をHMD110の表示画面内に投影した場合に、この表示画面内に収まっているのか否かをチェックすることで成されるものである。この投影については、仮想空間における物体を表示画面上に表示するために用いられる周知の投影変換行列を用いる。
そして収まっていない(リスト画像がHMD110の表示画面からはみ出ている)と判断した場合には、処理をステップS2243に進め、アセンブリツリーに対する操作を禁止する(ステップS2243)。すなわち、リスト画像に示した各情報に対する操作を禁止する。従ってCPU3101は、本ステップにおいて、スタイラス120からのアセンブリツリーに対する操作を受け付けないようになる。
一方、ステップS2241で禁止モードではないと判定した場合、もしくはステップS2242でリスト画像がHMD110の表示画面内からはみ出ていないと判断したときには処理をステップS2244に進め、CPU3101は、アセンブリツリーに対する操作を受け付ける(ステップS2244)。
先にスタイラス120のセンサ座標系における位置姿勢を示すデータはRAM3102に格納されているので、これを上記投影面に投影変換し、HMD110の表示画面上におけるスタイラス120の位置を求め(ステップS2211)、更に、リスト画像を構成する各ポリゴンの4隅のHMD110の表示画面内における位置を同様に投影処理により求め、画面上におけるスタイラス120の位置がどのポリゴン内に位置するのか、換言すれば、どのパーツに係る情報を指しているのかを特定する(ステップS2212)。
次に、CPU3101は、I/F3107を介してスタイラスボタン122が押下された旨の信号が入力されたか否かをチェックし(ステップS2213)、入力されていると判断した場合には処理をステップS2214に進め、スタイラス120の位置が示すポリゴン(上記平面仮想物体)に記載された情報に対応するパーツの仮想物体を点滅表示する(ステップS2214)。すなわち、上述の通りどの平面仮想物体にどのパーツに係る情報が記載されているのかは管理されており、且つ各パーツに係る情報は、パーツの画像を生成するために必要なデータに関連付けられているので、スタイラス120の位置がどの平面仮想物体を表示画面上で特定でいれば、これらの関連づけを参照すれば、特定した平面仮想物体に記載された情報に対応するパーツの仮想物体が特定されるので、これを点滅表示させることができる。なお、点滅表示に限定するものではなく、スタイラス120の位置でもって指示しているパーツの仮想物体が視覚的に分かるようにする目的であれば、どのような表示を行っても良い。
図27は、リスト画像2701においてスタイラス120の位置でもって「上用紙カセット」の文字が記載された平面仮想物体2701を指示した場合に、複写機の仮想物体170において対応するパーツ2712が点滅表示されている表示例を示す図である。
リスト画像には「プリンタX」なる装置を構成する各パーツ名が一覧表示されており、そのうち平面仮想物体2711の表示領域内にスタイラス120が位置し、且つスタイラスボタン122が押下されているので、対応するパーツ2712(「上用紙カセット」)の仮想物体を点滅表示する。
次に、仮想空間において、スタイラス120の位置と仮想物体170との距離に基づいて、仮想物体170を構成する各パーツの親子構造の内、どの階層レベルまでをリスト画像でもって提示するのかを決定する処理について説明する。
図24は、複写機の仮想物体170にスタイラス120を近づけた場合に表示されるリスト画像の表示例を示す図で、この場合、仮想物体170(プリンタX)を構成する各パーツの親子構造のうち、最も最上位の階層のパーツの名前のみがリスト画像2401内に表示されており、同図では、「コンソールモジュール」、「右サイドパネル」、「上用紙カセット」、「下用紙カセット」、「排紙トレー」が表示されている。
図25は、スタイラス120の位置を更にコンソールモジュール500に近づけた場合のリスト画像の表示例を示す図で、リスト画像2501には、コンソールモジュール500の子に相当するパーツ(コンソールモジュール500が属する階層の1つ下の階層に属するパーツ)の名前のみが表示されており、同図では、「液晶表示パネル」、「オンラインボタン」、「上ボタン」、「下ボタン」、「右ボタン」、「左ボタン」が表示されている。同図では、コンソールモジュール500を構成する各パーツの名前しか表示していないが、図24に示した階層を表示した上で、更に、コンソールモジュール500を構成する各パーツの名前を表示するようにしても良い。
図23は、スタイラス120の位置と仮想物体との距離に基づいて、仮想物体を構成する各パーツの親子構造の内、どの階層レベルまでをリスト画像でもって提示するのかを決定する処理のフローチャートである。なお、同図のフローチャートに従った処理は、ステップS404において、リスト画像を生成する際に行われる処理である。
先ず、リスト画像がHMD110の表示画面内に収まっていない場合に、アセンブリツリーに対する操作を禁止するモードであるか否かを判断する(ステップS2241)。
このモードは操作部3104により設定可能であり、設定したモードを示すデータはRAM3102に記憶されている。従ってステップS2241ではこのデータを参照し、禁止モードか否かを判定する。
このモードは操作部3104により設定可能であり、設定したモードを示すデータはRAM3102に記憶されている。従ってステップS2241ではこのデータを参照し、禁止モードか否かを判定する。
禁止するモードである場合には処理をステップS2242に進め、リスト画像がHMD110の表示画面内に納まっているのか否かを判断する(ステップS2242)。この判断は例えば、リスト画像の4隅の仮想空間における座標値をHMD110の表示画面内に投影した場合に、この表示画面内に収まっているのか否かをチェックすることで成されるものである。この投影については、仮想空間における物体を表示画面上に表示するために用いられる周知の投影変換行列を用いる。
そして収まっていない(リスト画像がHMD110の表示画面からはみ出ている)と判断した場合には、処理をステップS2243に進め、アセンブリツリーに対する操作を禁止する(ステップS2243)。すなわち、リスト画像に示した各情報に対する操作を禁止する。従ってCPU3101は、本ステップにおいて、スタイラス120からのアセンブリツリーに対する操作を受け付けないようになる。
一方、ステップS2241で禁止モードではないと判定した場合、もしくはステップS2242でリスト画像がHMD110の表示画面内からはみ出ていないと判断したときには処理をステップS2244に進め、CPU3101は、アセンブリツリーに対する操作を受け付ける(ステップS2244)。
そして次に、スタイラス120の位置(すなわち位置姿勢センサ受信器121のセンサ座標系における位置)に最も近いパーツを特定する(ステップS2301)。これは、例えば、仮想物体を構成する各パーツの親子構造の内、最も最上位の階層内のパーツ、すなわち、最も大まかなパーツ(仮想物体170の場合、図24に示すリスト画像に表示された各パーツ)のうち、スタイラス120の位置に最も近いものを特定する。この「最も大まかなパーツ」(親パーツ)には子に相当する1つ以上のパーツ(子パーツ)が存在するので、親パーツの位置としてはこの親パーツを構成する各子パーツの位置の重心位置を用い、この重心位置とスタイラス120の位置との距離を求める処理を、全ての親パーツについて行うことで、スタイラス120の位置に最も近い親パーツを特定することができる。
そして特定したパーツとスタイラス120との距離を参照し(ステップS2302)、参照した距離に応じて、表示するのはどの階層までかを決定する(ステップS2303)。
図13は、仮想物体Aを構成する各パーツのアセンブリツリーを示す図である。このようなアセンブリツリーは、仮想物体Aを表示するためのデータとして外部記憶装置3106に保存されている。ここで、仮想物体Aは、大まかなパーツとしてはパーツA1,パーツA2,パーツA3により構成されている。このパーツA1,パーツA2、パーツA3が属する階層を階層1と呼称する。
更にパーツA2は、パーツA21,パーツA22により構成されており、パーツA3はパーツA31,パーツA32,パーツA33により構成されている。これらパーツA21,パーツA22、パーツA31,パーツA32,パーツA33が属する階層を階層2と呼称する。
また、パーツA22は更にパーツA221,パーツA2222により構成されている。パーツA221,パーツA2222が属する階層を階層3と呼称する。
このように、一般には仮想物体は各パーツの親子関係から、階層構造でもって管理されており、且つ、そのパーツの階層構造における位置づけを、そのパーツがどの階層に属するのかでもって表すことができる。
従ってステップS2303では、ステップS2301で特定したパーツとスタイラス120との距離に応じて、階層0から階層1までに属するパーツに係る情報を表示するのか、階層0から階層2までに属するパーツに係る情報を表示するのか、それとも階層0から階層3までに属するパーツに係る情報を表示するのかを決定する。例えばこの距離が50センチ以上である場合には階層0,階層1のみに属するパーツに係る情報を表示し、この距離が50センチ以下、25センチ以上である場合には階層0から階層2までに属するパーツに係る情報を表示し、この距離が25センチ以下である場合には階層0から階層3までに属するパーツに係る情報を表示する、というように、距離が小さいほど、より下位の階層までに属するパーツに係る情報を表示する。
よって、アセンブリツリーでは、どの階層までに属するパーツに係る情報を表示対象とするのかを決定するということは、どの階層間のノードを選択するのかに透過である。
そしてステップS2303で表示対象の階層が決定するので、次に、表示対象の階層に属するパーツに係る情報を用いて、上述の通り、リスト画像を生成する(ステップS2304)。
図26はジェスチャでもって指示した部分のリスト画像の表示例を示す図である。スタイラス120で選択したいノードに対応する仮想のパーツ部分を囲むように動かすと、詳細表示を行うノードが選択される。この例では上用紙カセットが選択されている。その結果アセンブリツリー2601のような表示が行われている。
上記の処理の流れを図28のフローチャートにもとづいて説明する。図28は、ジェスチャでもって指示した部分のリスト画像を表示するための処理のフローチャートである。実際にはこの処理は上記ステップS404において行われるものである。
先ず、リスト画像がHMD110の表示画面内に収まっていない場合に、アセンブリツリーに対する操作を禁止するモードであるか否かを判断する(ステップS2241)。
このモードは操作部3104により設定可能であり、設定したモードを示すデータはRAM3102に記憶されている。従ってステップS2241ではこのデータを参照し、禁止モードか否かを判定する。
このモードは操作部3104により設定可能であり、設定したモードを示すデータはRAM3102に記憶されている。従ってステップS2241ではこのデータを参照し、禁止モードか否かを判定する。
禁止するモードである場合には処理をステップS2242に進め、リスト画像がHMD110の表示画面内に納まっているのか否かを判断する(ステップS2242)。この判断は例えば、リスト画像の4隅の仮想空間における座標値をHMD110の表示画面内に投影した場合に、この表示画面内に収まっているのか否かをチェックすることで成されるものである。この投影については、仮想空間における物体を表示画面上に表示するために用いられる周知の投影変換行列を用いる。
そして収まっていない(リスト画像がHMD110の表示画面からはみ出ている)と判断した場合には、処理をステップS2243に進め、アセンブリツリーに対する操作を禁止する(ステップS2243)。すなわち、リスト画像に示した各情報に対する操作を禁止する。従ってCPU3101は、本ステップにおいて、スタイラス120からのアセンブリツリーに対する操作を受け付けないようになる。
一方、ステップS2241で禁止モードではないと判定した場合、もしくはステップS2242でリスト画像がHMD110の表示画面内からはみ出ていないと判断したときには処理をステップS2244に進め、CPU3101は、アセンブリツリーに対する操作を受け付ける(ステップS2244)。
次にジェスチャー入力の有り無しを判断する(ステップS2801)。ジェスチャー入力が無い場合には、詳細表示をするノードの選択は終了となる。ジェスチャの入力の有無、認識については周知の技術であるが、本実施形態の場合には例えば、スタイラスの動きを常に監視して、軌跡を円、三角、四角などとパターンマッチングをし、一致した場合にはジェスチャー入力ありと認識する。また左右の往復、上下の往復などであれば、一定時間内に、一定の距離以上の、逆方向への一定回数以上の動きを認識する事で、ジェスチャの入力の有無を検知することができる。
ジェスチャー入力がある場合には、詳細表示ノードの選択を行うジェスチャーかを判断する(ステップS2802)。本実施形態では、円を描くことで、詳細表示ノードの選択を行う(ステップS2803)。
詳細表示ノードを選択するジェスチャーが行われた場合には、スタイラス120の直近にあるノードを選択する(ステップS2803)。このとき上述のように、スタイラス120の位置とパーツとの距離によってノードの階層を選択することも可能である。
つぎに選択されたノードに関する詳細表示を行うようにアセンブリツリーの表示内容を更新する(ステップS2804)。
以上のような処理により容易にジェスチャーによって詳細表示を行うノードを選択可能である。
また図26で説明したようなジェスチャーに加えて図29に示す如く点線で示されるように奥行き方向に位置を指定することによって、さらに詳細に対象ノードを指定する事ができる。
またジェスチャーでノードの指定を行う時にCADデータの表示を半透明にする事によって、表面的には見えていない部品のノードを指定する事ができる。
上記の半透明の処理は、スタイラスの位置に近い部分から外側に向かって、時間と共に半透明の領域を広げていくこともできる。このようにすることで、CADデータを可能なかぎり不透明のよく見える状態を保持しながら、より広い範囲をスタイラスで指定したい場合には同じ位置に長時間スタイラスを位置させる事で、スタイラスでの位置姿勢の指定が可能である。
またスタイラスからの一定距離以内を半透明に設定する事で、スタイラスによる位置指定を容易にする事も可能である。対象となるCADデータのサイズに応じて半透明にする距離を調整する事でさらに使いやすいシステムが構築可能である。
[第5の実施形態]
本実施形態では上記実施形態に加えてリスト画像の表示の調整を行う。
本実施形態では上記実施形態に加えてリスト画像の表示の調整を行う。
一般に複合現実感システムでは、人の手のように動いてしまう実物体に関しては、正確な奥行き情報を取得する事が難しいため、基本的には実写画像(現実空間の映像)の上に仮想空間映像を上書きするのみで合成を行っている。
そのため仮想物体より手前に現実物体がある場合でも仮想物体の映像によって現実物体が覆い隠されてしまう場合が多い、しかしながら、体験者の手は実用上非常に大きな意味を持つため、肌色を認識し、手の部分のみの実写映像には仮想空間映像を重畳しないなどの処理が行われている。
このような処理を第1の実施形態で行った処理に加えると、図15に示すような複合現実空間の映像を得ることができる。
図16は、現実空間の映像(実写画像)において、手の領域をマスクするための処理のフローチャートである。なお、同図のフローチャートに従った処理は、ステップS405において、現実空間の映像がRAM3102に取得された以降に行われる処理である。
先ず、上述の通り、ステップS420で映像キャプチャスレッドはHMD110のビデオカメラ111から得られる現実空間の映像を取得するので、これを受け、この映像をRAM3102中の所定のエリアに記憶する(ステップS1601)。そして、予め「手の色」として外部記憶装置3106に登録しておいた色データをRAM3102にロードし(ロードは事前に行うようにしても良い)、このデータを用いて、ステップS1601で取得した現実空間の映像において、「手の色」を有する画素を特定し、特定した画素群でもって構成される領域(以下、「手領域」と呼称する)を特定する(ステップS1602)。
「手の色」を示すデータが、「手の色を示す画素値」を示す場合には、ステップS1602ではこの画素値を有する画素群を特定する処理を行うのであるが、「手の色」は外界の光の加減や手と光との角度によっては変化する場合のあり得る。そこで「手の色」を示すデータとして「手の色を示す画素値の範囲」を示す場合もある。その場合にはステップS1602ではこの範囲内の画素値を有する画素群を特定する処理を行う。
次に、現実空間の映像において手領域を示す映像(マスク画像)を生成する(ステップS1603)。そしてRAM3102の所定のエリアに、ステップS1601で取得した現実空間の映像を描画すると共に(ステップS1604)、マスク画像をRAM3102中のZバッファ(深度バッファ)に書き込む(ステップS1605)。
ここでステップS1605における処理は周知の通り、手の領域を構成する各画素に対するZ値(視点の位置から視線方向にZ軸を設けた場合に、視線方向にZ値は増加する)をZバッファに書き込むのであるが、このZ値は、例えば、視点の位置近傍にすればよい。これにより、今後この現実空間の映像上に仮想空間の映像を重畳させる場合には、このZバッファを参照し、Zバッファに登録されているZ値よりも大きいZ値の部分しか描画されないので、結果として図15に示す如く、手領域には仮想空間の映像は重畳されなくなる。
なお、このように、手領域に仮想空間の映像を描画させない手法については様々な手法が考えられ、これに限定するものではない。また、コンピュータ140に周知の3Dグラフィックスアクセラレータを搭載した場合には、この3DグラフィックスアクセラレータがこのようなZバッファを用いた特定領域のマスクを行うこととなる。
しかしながら、リスト画像に表示されるアセンブリツリーの表示が手の表示よりも重要な場合も多いと考えられ、その場合はアセンブリツリー表示を手の表示よりも優先させる必要がある。これを実現するための方法について以下説明する。
図18は、リスト画像、手の何れを優先させて表示させるのかを切り替えるための処理のフローチャートである。なお、同図のフローチャートに従った処理、すなわち、切り替えるための操作の受付はステップS401の事前で行うようにしても良いし、処理中に常に受け付けるようにしても良い。
先ず、CPU3101は、リスト画像を手領域に優先させて表示する(リスト画像を領域よりも手前に表示する)のか否かを指示するための入力がなされたかを監視している(ステップS1801)。この入力は操作部3104を用いて入力しても良いし、スタイラス120に備わっているスタイラスボタン122の押下により指示するようにしても良い。
この入力が成されたことをCPU3101が検知した場合(ステップS1802)には処理をステップS1803に進め、手領域をリスト画像に優先して表示することを示すフラグ(ステイタス)が現在オンである場合にはオフに、現在オフである場合にはオンに切り替える(ステップS1803)。なお、このフラグのデータはRAM3102に記憶されており、本ステップではこのデータを参照して現在のステイタスを得、これをオン/オフ制御する。
図17は、このフラグを参照して、リスト画像と手領域の何れを優先して表示するのかを切り替える処理のフローチャートである。なお、同図のフローチャートに従った処理は、ステップS406において行われる処理である。
第1の実施形態と同様にして、ステップS405で先にRAM3102中の所定のエリアに記憶された現実空間の映像上に重ねて描画するのであるが、このとき、リスト画像以外の仮想物体の映像を描画する(ステップS1701)。
次に、ステップS1803で切り替えたフラグを参照し、リスト画像を手領域に対して優先して表示する(描画する)のか否かを判断する(ステップS1802)。リスト画像を手領域に対して優先して表示する場合には処理をステップS1704に進め、ステップS1701で描画した映像上にZバッファを無視してリスト画像を描画する。これにより、リスト画像は図14に示す如く、手領域に対して優先して描画される。
一方、手領域をリスト画像に対して優先して表示する場合には処理をステップS1703に進め、ステップS1701で描画した映像上にZバッファを参照しながらリスト画像を描画する。Zバッファには上述の通り、手領域を構成する各画素に対する「視点の位置に最も近い」Z値が記録されているので、このZ値を参照し、このZ値よりも奥のZ値を有する画素は描画されないので、結果として手領域がリスト画像に対して優先して描画されることになる。
また、このように手領域とリスト画像の表示における優先度を切り替える事は可能であるが、どちらかが優先されてしまうため必ずしも十分ではない。
そこで、以下ではリスト画像と手領域を同時に表示しながら、必要に応じて手領域の表示をリスト画像より優先するモード、リスト画像をスタイラスや手領域の位置かオフセットしてずらして表示するモード、リスト画像の透明度を上げて、自分の手が透けて見えるモードなどを設ける事によって、自分の手やスタイラスを確認しながら作業できるような処理について説明する。
図30は、手領域、リスト画像の表示に係る処理のフローチャートである。なお、同図のフローチャートに従った処理は、ステップS405においてリスト画像を表示する直前に行うものである。
コンピュータ140のオペレータは、表示装置3105の表示画面上に表示されたリスト画像を見て、観察者100が表示された各パーツに係る情報に対して何らかの操作を行う場合には、この操作を可能にするためのモードに移行するために、操作部3104に含まれるマウスやキーボードでもって所定の動作(例えば所定のボタンを押下もしくはクリック)を行う。
このような操作入力が行われた場合には、操作による指示がCPU3101に通知されるので、CPU3101は常に、この指示を受け付けている。そしてこの操作指示が入力された場合、すなわち、CPU3101がこの指示を検知した場合(ステップS3001)、処理をステップS3003に進め、第4の実施形態の如く、ステップS2122における処理(図22のフローチャートに従った処理)を実行するように設定する。なお、この表示に関しては第4の実施形態と全く同じでなくてもよく、単に任意の位置にリスト画像を表示するだけでも良い。
一方、このような指示は入力されていない場合には処理をステップS3002に進め、スタイラス120が操作中であるか否かを判断する(ステップS3002)。この判断は、例えば、所定時間内(例えば3秒内)に、スタイラス120の位置姿勢が所定の量以上変化しない場合、及び/又はスタイラスボタン122が所定時間内に押下されていない場合には、「操作されていない」と判断する。
スタイラス120が操作されていないと判断した場合には処理をステップS3003に進め、上記処理を行う。
一方、スタイラス120が操作されている場合には処理をステップS3011に進め、上記フラグを参照し、リスト画像を手領域に対して優先して表示する(描画する)のか否かを判断する(ステップS3011)。
そして、手領域をリスト画像に対して優先して表示する場合には処理をステップS3012に進め、先に描画した映像上にZバッファを参照しながらリスト画像を描画するよう設定する(ステップS3012)。
一方、リスト画像を手領域に対して優先して表示する場合には処理をステップS3013に進め、先に描画した映像上にZバッファを無視してリスト画像を描画するよう設定する(ステップS3013)。
次に、リスト画像を映像上のスタイラス120の位置からずれた位置(オフセットされた位置)に配置するモードであるか否かを判断する(ステップS3021)。このモードはその他のモード同様に設定変更可能であり、設定したモードを示すデータはRAM3102に格納されている。
リスト画像をオフセットされた位置に配置するモードの場合には処理をステップS3022に進め、仮想空間においてリスト画像の位置をスタイラス120の位置から所定距離だけずれた位置に配置するよう設定する(ステップS3022)。
一方、リスト画像をオフセットされた位置に配置しないモードの場合には処理をステップS3023に進め、第1の実施形態と同様にしてリスト画像を配置するよう設定する(ステップS3023)。
次に、リスト画像を半透明表示するモードが設定されているか否かを判定する(ステップS3031)。このモードは操作部3104により設定可能であり、設定したモードを示すデータはRAM3102に記憶されている。従ってステップS3031ではこのデータを参照し、半透明表示するモードであるのか、半透明表示しないモードであるのかを判定する。
半透明表示しないモードである場合には処理をステップS3033に進め、ポリゴンのα値を制御して透明色でないポリゴンを生成し、このポリゴンに、パーツに係る情報が記載されたテクスチャを張り付ける処理を各パーツについて行う(ステップS3033)。すなわち、第1の実施形態と同様にしてリスト画像を生成する。これは、リスト画像が2次元画像であっても同様で、第1の実施形態と同様にして、リスト画像を生成する。
一方、半透明表示を行う場合には処理をステップS3032に進め、ポリゴンのα値を制御して透明色のポリゴンを生成し、このポリゴンに、パーツに係る情報が記載されたテクスチャを張り付ける処理を各パーツについて行うことでリスト画像を生成する(ステップS3032)。このテクスチャは、文字部分以外は透明(文字部分以外を構成する画素のα値を透明に設定する)として予め作成されているものとする。
以上でスタイラス操作中にアセンブリツリーを表示しながら、手も確認して操作を行うことができるようになる。
また、上記実施形態は適宜組み合わせてもよく、その場合、各実施形態における処理を実行する順番は、各実施形態でも説明の通りであって、組み合わせ時に、先に処理されるべき処理は先に行うように適宜変形することは当業者であれば容易であろう。
[その他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャート(機能構成)に対応するプログラムコードが格納されることになる。
Claims (12)
- 1つ以上のパーツから成る仮想物体により構成されている仮想空間の映像を生成し、現実空間の映像に重畳させて観察者に提示する画像処理方法であって、
前記観察者の視点の位置姿勢を取得する第1の取得工程と、
前記観察者の手に装着され、各種の操作を行うための指示具の位置姿勢を取得する第2の取得工程と、
前記視点の位置姿勢に応じて見える現実空間の映像を取得する現実空間映像取得工程と、
前記パーツに係る情報を一覧表示するためのリスト画像を、前記第2の取得工程で取得した位置近傍に配置する配置する配置工程と、
前記リスト画像を配置後の仮想空間を、前記視点の位置姿勢に応じて見た場合の映像を生成する仮想空間映像生成工程と、
前記現実空間映像取得工程で取得した前記現実空間の映像上に、前記仮想空間映像生成工程で生成した映像を重畳させた映像を生成する複合現実空間映像生成工程と、
前記複合現実空間映像生成工程で生成した映像を所定の表示装置に出力する出力工程とを備え、
前記仮想空間映像生成工程では、
前記現実空間映像取得工程で取得した現実空間の映像中の手の領域と前記リスト画像とが重なる場合には、当該手の領域、前記リスト画像の何れを手前に描画するのかを指定するための優先度データに基づいて前記仮想空間の映像を生成することを特徴とする画像処理方法。 - 更に、前記手の領域、前記リスト画像の何れを手前に描画するのかを指定する指定工程を備え、
前記指定工程では、指定した内容を前記優先度データに設定することを特徴とする請求項に記載の画像処理方法。 - 前記配置工程では、前記リスト画像において前記パーツに係る情報が記載された面が前記視点の位置姿勢から見えるように、前記リスト画像を配置することを特徴とする請求項1又は2に記載の画像処理方法。
- 前記配置工程では、第1の取得工程で取得した位置と前記第2の取得工程で取得した位置とを結ぶ線分をt:(1−t)に内分する位置に前記リスト画像を配置することを特徴とする請求項1乃至3の何れか1項に記載の画像処理方法。
- 更に、前記リスト画像を半透明の画像とする指示に従って、前記リスト画像を半透明の画像に変換する変換工程を備えることを特徴とする請求項1乃至4の何れか1項に記載の画像処理方法。
- 更に、
前記第2の取得工程で取得した位置姿勢の変化に基づいて、前記指示具が操作中であるか否かを判断する判断工程と、
前記判断工程で操作中であると判断した場合には、前記リスト画像の配置位置、前記リスト画像の透明度、前記優先度データの何れかを制御する制御工程と
を備えることを特徴とする請求項1乃至5の何れか1項に記載の画像処理方法。 - 更に、前記視点の位置姿勢、及び前記仮想物体の位置に基づいて、前記視点の視線方向に前記仮想物体が存在するか否かを判断する判断工程と、
前記判断工程で存在すると判断した場合には、前記判断工程で存在しないと判断したときよりも、前記リスト画像の透明度を上げる透明度制御工程と
を備えることを特徴とする請求項1乃至6の何れか1項に記載の画像処理方法。 - 更に、前記指示具の位置と仮想物体の位置との間の距離を計算する距離計算工程と、
前記仮想物体を構成する各パーツの階層構造の内、前記距離計算工程で計算した距離に応じた階層レベルまでの各パーツに係る情報を一覧表示するリスト画像を生成するリスト画像生成工程と
を備えることを特徴とする請求項1乃至7の何れか1項に記載の画像処理方法。 - 前記リスト画像は、前記仮想物体を構成する各パーツの内、前記第2の取得工程で取得した前記指示具の位置に最も近い位置のパーツに係る情報を一覧表示するための画像であることを特徴とする請求項1乃至8の何れか1項に記載の画像処理方法。
- 1つ以上のパーツから成る仮想物体により構成されている仮想空間の映像を生成し、現実空間の映像に重畳させて観察者に提示する画像処理装置であって、
前記観察者の視点の位置姿勢を取得する第1の取得手段と、
前記観察者の手に装着され、各種の操作を行うための指示具の位置姿勢を取得する第2の取得手段と、
前記視点の位置姿勢に応じて見える現実空間の映像を取得する現実空間映像取得手段と、
前記パーツに係る情報を一覧表示するためのリスト画像を、前記第2の取得手段が取得した位置近傍に配置する配置する配置手段と、
前記リスト画像を配置後の仮想空間を、前記視点の位置姿勢に応じて見た場合の映像を生成する仮想空間映像生成手段と、
前記現実空間映像取得手段が取得した前記現実空間の映像上に、前記仮想空間映像生成手段が生成した映像を重畳させた映像を生成する複合現実空間映像生成手段と、
前記複合現実空間映像生成手段が生成した映像を所定の表示装置に出力する出力手段とを備え、
前記仮想空間映像生成手段は、
前記現実空間映像取得手段が取得した現実空間の映像中の手の領域と前記リスト画像とが重なる場合には、当該手の領域、前記リスト画像の何れを手前に描画するのかを指定するための優先度データに基づいて前記仮想空間の映像を生成することを特徴とする画像処理装置。 - コンピュータに請求項1乃至9の何れか1項に記載の画像処理方法を実行させることを特徴とするプログラム。
- 請求項10に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004158025A JP2005339266A (ja) | 2004-05-27 | 2004-05-27 | 情報処理方法、情報処理装置、撮像装置 |
CN 200580003841 CN1914646A (zh) | 2004-05-27 | 2005-05-23 | 信息处理方法、信息处理设备及摄像设备 |
US10/581,514 US7952594B2 (en) | 2004-05-27 | 2005-05-23 | Information processing method, information processing apparatus, and image sensing apparatus |
PCT/JP2005/009820 WO2005116939A1 (en) | 2004-05-27 | 2005-05-23 | Information processing method, information processing apparatus, and image sensing apparatus |
EP05743264A EP1754201A1 (en) | 2004-05-27 | 2005-05-23 | Information processing method, information processing apparatus, and image sensing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004158025A JP2005339266A (ja) | 2004-05-27 | 2004-05-27 | 情報処理方法、情報処理装置、撮像装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005339266A true JP2005339266A (ja) | 2005-12-08 |
Family
ID=35492759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004158025A Withdrawn JP2005339266A (ja) | 2004-05-27 | 2004-05-27 | 情報処理方法、情報処理装置、撮像装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2005339266A (ja) |
CN (1) | CN1914646A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009122602A1 (ja) * | 2008-04-04 | 2009-10-08 | 株式会社コナミデジタルエンタテインメント | 画像処理プログラム、画像処理装置、および画像処理方法 |
JP2012014406A (ja) * | 2010-06-30 | 2012-01-19 | Canon Inc | 情報処理システム、情報処理装置、情報処理方法及びプログラム |
JP2012014402A (ja) * | 2010-06-30 | 2012-01-19 | Canon Inc | 画像処理システム、情報処理装置、画像処理方法、情報処理方法及びプログラム |
JP2014164356A (ja) * | 2013-02-21 | 2014-09-08 | Fujitsu Ltd | 画像処理装置、画像処理方法および画像処理プログラム |
JP2016197364A (ja) * | 2015-04-06 | 2016-11-24 | 日本電信電話株式会社 | 操作支援装置、及びプログラム |
JP2016206617A (ja) * | 2015-04-28 | 2016-12-08 | 京セラドキュメントソリューションズ株式会社 | 表示システム |
WO2017051564A1 (ja) * | 2015-09-25 | 2017-03-30 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置 |
US9741171B2 (en) | 2014-08-15 | 2017-08-22 | Fujitsu Limited | Image processing device and image processing method |
WO2019012940A1 (ja) * | 2017-07-14 | 2019-01-17 | 京セラドキュメントソリューションズ株式会社 | 表示装置および表示システム |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5743416B2 (ja) * | 2010-03-29 | 2015-07-01 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JP5521727B2 (ja) * | 2010-04-19 | 2014-06-18 | ソニー株式会社 | 画像処理システム、画像処理装置、画像処理方法及びプログラム |
US9255813B2 (en) | 2011-10-14 | 2016-02-09 | Microsoft Technology Licensing, Llc | User controlled real object disappearance in a mixed reality display |
JP6222830B2 (ja) * | 2013-12-27 | 2017-11-01 | マクセルホールディングス株式会社 | 画像投射装置 |
US10146334B2 (en) * | 2016-06-09 | 2018-12-04 | Microsoft Technology Licensing, Llc | Passive optical and inertial tracking in slim form-factor |
-
2004
- 2004-05-27 JP JP2004158025A patent/JP2005339266A/ja not_active Withdrawn
-
2005
- 2005-05-23 CN CN 200580003841 patent/CN1914646A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009122602A1 (ja) * | 2008-04-04 | 2009-10-08 | 株式会社コナミデジタルエンタテインメント | 画像処理プログラム、画像処理装置、および画像処理方法 |
JP2012014406A (ja) * | 2010-06-30 | 2012-01-19 | Canon Inc | 情報処理システム、情報処理装置、情報処理方法及びプログラム |
JP2012014402A (ja) * | 2010-06-30 | 2012-01-19 | Canon Inc | 画像処理システム、情報処理装置、画像処理方法、情報処理方法及びプログラム |
JP2014164356A (ja) * | 2013-02-21 | 2014-09-08 | Fujitsu Ltd | 画像処理装置、画像処理方法および画像処理プログラム |
US9741171B2 (en) | 2014-08-15 | 2017-08-22 | Fujitsu Limited | Image processing device and image processing method |
JP2016197364A (ja) * | 2015-04-06 | 2016-11-24 | 日本電信電話株式会社 | 操作支援装置、及びプログラム |
JP2016206617A (ja) * | 2015-04-28 | 2016-12-08 | 京セラドキュメントソリューションズ株式会社 | 表示システム |
WO2017051564A1 (ja) * | 2015-09-25 | 2017-03-30 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置 |
JPWO2017051564A1 (ja) * | 2015-09-25 | 2018-03-08 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置 |
US10594936B2 (en) | 2015-09-25 | 2020-03-17 | Sony Interactive Entertainment Inc. | Head mounted display having a plurality of display modes |
US11202008B2 (en) | 2015-09-25 | 2021-12-14 | Sony Interactive Entertainment Inc. | Head mounted display having a plurality of display modes |
US11601592B2 (en) | 2015-09-25 | 2023-03-07 | Sonmy Interactive Entertainment Inc. | Head mounted display having a plurality of display modes |
US12075157B2 (en) | 2015-09-25 | 2024-08-27 | Sony Interactive Entertainment Inc. | Image display apparatus having a plurality of display modes |
WO2019012940A1 (ja) * | 2017-07-14 | 2019-01-17 | 京セラドキュメントソリューションズ株式会社 | 表示装置および表示システム |
JPWO2019012940A1 (ja) * | 2017-07-14 | 2019-11-07 | 京セラドキュメントソリューションズ株式会社 | 表示装置および表示システム |
Also Published As
Publication number | Publication date |
---|---|
CN1914646A (zh) | 2007-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7952594B2 (en) | Information processing method, information processing apparatus, and image sensing apparatus | |
JP6393367B2 (ja) | 追従表示システム、追従表示プログラム、および追従表示方法、ならびにそれらを用いたウェアラブル機器、ウェアラブル機器用の追従表示プログラム、およびウェアラブル機器の操作方法 | |
US9208530B2 (en) | Information processing method and device for presenting haptics received from a virtual object | |
Azuma | A survey of augmented reality | |
JP4533087B2 (ja) | 画像処理方法、画像処理装置 | |
Van Krevelen et al. | A survey of augmented reality technologies, applications and limitations | |
US20090322671A1 (en) | Touch screen augmented reality system and method | |
WO2013035758A1 (ja) | 情報表示システム、情報表示方法、及び記憶媒体 | |
US20060050070A1 (en) | Information processing apparatus and method for presenting image combined with virtual image | |
US8098263B2 (en) | Image processing method and image processing apparatus | |
US20130154913A1 (en) | Systems and methods for a gaze and gesture interface | |
KR20150093831A (ko) | 혼합 현실 환경에 대한 직접 상호작용 시스템 | |
JP2000102036A (ja) | 複合現実感提示システム、複合現実感提示方法、マン・マシーンインタフェース装置、およびマン・マシーンインタフェース方法 | |
CN103180893A (zh) | 用于提供三维用户界面的方法和系统 | |
WO2013006518A2 (en) | Multi-visor: managing applications in head mounted displays | |
JP2008040832A (ja) | 複合現実感提示システム及びその制御方法 | |
JP2005339266A (ja) | 情報処理方法、情報処理装置、撮像装置 | |
JP2005339267A (ja) | 情報処理方法、情報処理装置、撮像装置 | |
JP4678428B2 (ja) | 仮想空間内位置指示装置 | |
US20030179249A1 (en) | User interface for three-dimensional data sets | |
JP2006085375A (ja) | 画像処理方法、画像処理装置 | |
JP2006343954A (ja) | 画像処理方法、画像処理装置 | |
JP6765846B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP4217661B2 (ja) | 画像処理方法、画像処理装置 | |
US20220197370A1 (en) | Head mounted information processing apparatus and head mounted display system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070807 |