JP2005251118A - Method and device for image processing - Google Patents
Method and device for image processing Download PDFInfo
- Publication number
- JP2005251118A JP2005251118A JP2004064491A JP2004064491A JP2005251118A JP 2005251118 A JP2005251118 A JP 2005251118A JP 2004064491 A JP2004064491 A JP 2004064491A JP 2004064491 A JP2004064491 A JP 2004064491A JP 2005251118 A JP2005251118 A JP 2005251118A
- Authority
- JP
- Japan
- Prior art keywords
- virtual object
- orientation
- observer
- image
- sensor
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012545 processing Methods 0.000 title claims description 30
- 239000013598 vector Substances 0.000 claims description 22
- 230000005484 gravity Effects 0.000 claims description 18
- 238000005259 measurement Methods 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims description 8
- 150000001875 compounds Chemical class 0.000 abstract 2
- 239000011159 matrix material Substances 0.000 description 36
- 230000006870 function Effects 0.000 description 14
- 210000003128 head Anatomy 0.000 description 13
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 9
- 238000012937 correction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000002194 synthesizing effect Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 3
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Abstract
Description
本発明は、現実空間中に仮想物体を重畳させて観察者に提供する為の技術に関するものである。 The present invention relates to a technique for providing an observer with a virtual object superimposed in a real space.
MR、AR技術は実写映像とCG(Computer Graphics)とを合成し、仮想のCG物体が利用者の前に存在するかのように見せる為の技術である。 The MR and AR techniques are techniques for synthesizing a live-action video and CG (Computer Graphics) and making it appear as if a virtual CG object exists in front of the user.
MR技術の典型的なアプリケーションでは、利用者はビデオシースルー型のHMDを装着する。HMD内のディスプレイには、HMDの前面のカメラからの映像と、計算機が作成したCG映像が合成される。CG映像は、位置センサにより測定した利用者の視点の位置姿勢に応じて描かれるため、利用者にはあたかも現実空間に仮想のCGが存在するかのように見える。 In a typical application of MR technology, a user wears a video see-through type HMD. On the display in the HMD, the video from the camera in front of the HMD and the CG video created by the computer are combined. Since the CG image is drawn according to the position and orientation of the user's viewpoint measured by the position sensor, it appears to the user as if a virtual CG exists in the real space.
実際のMR技術の応用としては、図1に示すような工業デザインの検証が挙げられる。図1は、CADモデル(プリンタのトナーカートリッジのCADモデル)100を上記CG物体として表示し、CADモデルのプレビューに使用している様子を示す図である。このとき、上述の通り、このCADモデルをプレビューする利用者は、自身の頭部に上記HMD(Head Mount Display)を装着する必要がある。 As an actual application of MR technology, verification of industrial design as shown in FIG. 1 can be mentioned. FIG. 1 is a diagram showing a state in which a CAD model (CAD model of a printer toner cartridge) 100 is displayed as the CG object and used for previewing the CAD model. At this time, as described above, the user who previews the CAD model needs to wear the HMD (Head Mount Display) on his / her head.
図2は、HMDの構成を示す図である。 FIG. 2 is a diagram illustrating the configuration of the HMD.
同図に示すHMDはビデオシースルー方式のHMDである。HMDは、右目カメラ1110、左目カメラ1111、HMD内蔵位置センサ1120、右目LCD1130、左目LCD1131からなる。
The HMD shown in the figure is a video see-through HMD. The HMD includes a
利用者はHMDを自身の頭部に装着してCADモデルをプレビューする。このとき、図3に示す如く、HMD内の各LCD1130、1131には、各カメラ1110、1111で撮影された実写映像と、CG画像として描かれたCADモデル300が合成されて表示される。
The user wears the HMD on his / her head and previews the CAD model. At this time, as shown in FIG. 3, on the
図4は、複数人により観察できる、MR技術を使用したCADビューワの機器構成を示す図である。ここでは3人(4a〜4c)同時にCADモデル4000をプレビューしているが、3人のそれぞれに対する機器の構成はほぼ同一である。
FIG. 4 is a diagram showing a device configuration of a CAD viewer using MR technology that can be observed by a plurality of people. Here, the
利用者4bを例に取ると、HMD1100に備わっているカメラにより撮影された実写映像は計算機1300にキャプチャされ、内部でCADモデル4000のCGと合成される。合成した画像は映像信号としてHMD1100に送られる。
Taking the user 4b as an example, a live-action video shot by a camera provided in the HMD 1100 is captured by the
計算機1300は位置センサ1200から、HMD1100の3次元での位置を知ることができる。計算機1300はこの位置情報から、画面中にどのようにCADモデル4000のCGを描画するかを決める。
The
実写映像の上にCADモデル4000が合成されることで、利用者にはあたかもCADモデル4000がその場にあるかのように観測される。
しかしながら先に示したMR技術を使ったCADモデルのプレビューでは、表示しているCADモデル4000を直感的に移動させることが難しかった。
However, in the CAD model preview using the MR technique described above, it is difficult to intuitively move the displayed
先に説明したように計算機1300は、CADモデルの描画位置をHMDの位置情報から決めていた。つまり図4の例では、HMD1100を移動させると、LCD1130,1131の画面上でのCADモデル4000の位置は変わるが、CADモデル4000は常にあらかじめ設定しておいた机の上に描画される。
As described above, the
しかし、CADモデル4000をいろいろな方向から見るためには、CADモデル4000が常に机の上に描画されるのでは不都合である。例えばCADモデル4000の底面を見たい場合、なんらかの方法でCADモデル4000の描画位置を変更しなければならない。
However, in order to view the
従来、CADモデル4000の描画位置の変更は、計算機1300にCADモデル4000を向けたい方向を入力する必要があった。そのためには向けたい方向のベクトルや角度を数値で入力する必要があり、直感的にモデルを移動させられるとは言いがたかった。
Conventionally, to change the drawing position of the
このことは多人数でCADモデル4000を見るような際に、特に問題になっていた。例えばCADモデルとして特定の部品を利用者全員で見たい場合、どのようにモデルを置けばよいか相談し、計算機1300を操作するのでは使い勝手が悪かった。
This was particularly a problem when the
またもう一つの問題点として、CADモデル4000に新しい部品を追加、削除したとき、追加、削除した部品がどこにあるのかわからなくなることがあげられる。追加、削除した部品が利用者からみてCADモデル4000の裏側にある場合、CADモデル4000にどんな変更が加えられたかを把握することが難しかった。
Another problem is that when a new part is added to or deleted from the
本発明は以上の問題に鑑みてなされたものであり、現実空間と仮想空間とを合成した複合現実空間を観察している観察者に、この複合現実空間中に配置される仮想物体を、より直感的に操作可能とさせるための技術を提供することを目的とする。 The present invention has been made in view of the above problems, and to a viewer observing a mixed reality space obtained by synthesizing a real space and a virtual space, a virtual object placed in the mixed reality space is more An object is to provide a technique for enabling intuitive operation.
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。 In order to achieve the object of the present invention, for example, an image processing method of the present invention comprises the following arrangement.
すなわち、現実空間中に仮想物体を重畳させて観察者に提供する画像処理方法であって、
前記観察者の視点の位置姿勢を計測する為のセンサの計測結果に基づいて、当該視点の位置姿勢を計算する第1の計算工程と、
前記観察者の手に装着されている手持ちセンサにより計測された結果に基づいて、当該手持ちセンサの位置姿勢を求める第2の計算工程と、
前記第2の計算工程で計算された位置姿勢を、前記観察者が観察する対象の仮想物体の位置姿勢として設定する設定工程と、
前記設定工程で位置姿勢が設定された仮想物体を前記第1の計算工程で求めた位置姿勢の視点から見た場合の画像を生成して、現実空間に重畳させて前記観察者に提供する提供工程とを備え、
更に前記提供工程では、
前記仮想物体における一部分が指示された場合、当該一部分が前記視点の位置姿勢から見えるように前記仮想物体の向きを変化させた前記仮想物体を前記第1の計算工程で求めた位置姿勢の視点から見た場合の画像を生成して、現実空間に重畳させて前記観察者に提供することを特徴とする。
That is, an image processing method for providing an observer with a virtual object superimposed in real space,
A first calculation step of calculating a position and orientation of the viewpoint based on a measurement result of a sensor for measuring the position and orientation of the observer's viewpoint;
A second calculation step for determining a position and orientation of the handheld sensor based on a result measured by the handheld sensor attached to the observer's hand;
A setting step for setting the position and orientation calculated in the second calculation step as a position and orientation of a virtual object to be observed by the observer;
Provided to the observer by generating an image when the virtual object having the position and orientation set in the setting step is viewed from the viewpoint of the position and orientation obtained in the first calculation step and superimposing it on a real space A process,
Furthermore, in the providing step,
When a part of the virtual object is instructed, the virtual object whose orientation has been changed so that the part can be seen from the position and orientation of the viewpoint is determined from the viewpoint of the position and orientation obtained in the first calculation step. An image when viewed is generated and superimposed on a real space and provided to the observer.
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。 In order to achieve the object of the present invention, for example, an image processing apparatus of the present invention comprises the following arrangement.
すなわち、現実空間中に仮想物体を重畳させて観察者に提供する画像処理装置であって、
前記観察者の視点の位置姿勢を計測する為のセンサの計測結果に基づいて、当該視点の位置姿勢を計算する第1の計算手段と、
前記観察者の手に装着されている手持ちセンサにより計測された結果に基づいて、当該手持ちセンサの位置姿勢を求める第2の計算手段と、
前記第2の計算手段によって計算された位置姿勢を、前記観察者が観察する対象の仮想物体の位置姿勢として設定する設定手段と、
前記設定手段によって位置姿勢が設定された仮想物体を前記第1の計算手段によって求めた位置姿勢の視点から見た場合の画像を生成して、現実空間に重畳させて前記観察者に提供する提供手段とを備え、
更に前記提供手段は、
前記仮想物体における一部分が指示された場合、当該一部分が前記視点の位置姿勢から見えるように前記仮想物体の向きを変化させた前記仮想物体を前記第1の計算手段によって求めた位置姿勢の視点から見た場合の画像を生成して、現実空間に重畳させて前記観察者に提供することを特徴とする。
That is, an image processing apparatus that provides a viewer with a virtual object superimposed in real space,
First calculation means for calculating the position and orientation of the viewpoint based on a measurement result of a sensor for measuring the position and orientation of the observer's viewpoint;
Second calculation means for obtaining a position and orientation of the handheld sensor based on a result measured by the handheld sensor attached to the observer's hand;
Setting means for setting the position and orientation calculated by the second calculation means as the position and orientation of a virtual object to be observed by the observer;
Provided to the observer by generating an image when the virtual object having the position and orientation set by the setting means is viewed from the viewpoint of the position and orientation obtained by the first calculation means and superimposing it on a real space Means and
Further, the providing means includes
When a part of the virtual object is designated, the virtual object in which the direction of the virtual object is changed so that the part can be seen from the position and orientation of the viewpoint is determined from the viewpoint of the position and orientation obtained by the first calculation unit. An image when viewed is generated and superimposed on a real space and provided to the observer.
本発明の構成により、現実空間と仮想空間とを合成した複合現実空間を観察している観察者に、この複合現実空間中に配置される仮想物体を、より直感的に操作させることができる。 According to the configuration of the present invention, an observer observing a mixed reality space obtained by synthesizing a real space and a virtual space can more intuitively operate a virtual object placed in the mixed reality space.
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。 Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings.
図8は、本実施形態に係るシステムの外観図である。同図では、システムと共に、このシステムを利用している観察者を示している。なお、同図では観察者の数を3としているが、以下の説明はこれに限定するものではない。 FIG. 8 is an external view of a system according to the present embodiment. In the figure, an observer who uses this system is shown together with the system. In the figure, the number of observers is three, but the following description is not limited to this.
本実施形態に係るシステムは、現実空間中に仮想物体(CGモデル)を重畳させて観察者に提供する周知のMR技術を用いて、観察者の観察対象である仮想物体に対して、観察者がその位置や姿勢の変更といった各種の操作をより簡便にするためのものである。以下、本実施形態に係るシステムについて詳細に説明する。 The system according to the present embodiment uses a well-known MR technology that provides a virtual object (CG model) to a viewer by superimposing a virtual object in a real space. However, this is for making various operations such as changing the position and posture easier. Hereinafter, the system according to the present embodiment will be described in detail.
同図において1000,2000,3000はそれぞれ観察者で、本システムを用いて、現実空間中に仮想物体を重畳させた空間(複合現実空間)を観察する。それぞれの観察者の頭部には周知のHMD1100,2100,3100が装着されており、それぞれの観察者は自身の頭部に装着されたHMDにより、複合現実空間の画像を見ることができる。
In the figure,
それぞれの観察者に提供する複合現実空間の画像は、それぞれのHMDに接続されている計算機1300,2300,3300により生成される。
An image of the mixed reality space provided to each observer is generated by
ここで、それぞれの観察者に対して複合現実空間の画像を生成して提供する為の装置の構成については実施的には同じであるので、以下の説明では観察者1000に対して複合現実空間の画像を提供する装置の構成について説明するが、同様の説明は特に断らない限り、それ以外の観察者2000,3000に対しても同様に適用可能である。
Here, since the configuration of the apparatus for generating and providing an image of the mixed reality space for each observer is practically the same, in the following description, the mixed reality space for the
観察者1000は自身の頭部にHMD1100を装着しており、MR技術では周知の通り、観察者1000はこのHMDにより自身の頭部の位置姿勢に応じた複合現実空間の画像を見ることができる。
The
また、観察者1000は手持ちセンサ5000を手に持っている。本実施形態では手持ちセンサ5000は観察者1000、2000、3000の何れかが持っていればよいが、本実施形態では観察者1000のみが持っているものとする。
In addition, the
なお、手持ちセンサ5000は必ずしも手に「持つ」必要はなく、手に「装着」していればよい。手持ちセンサ5000は、後述する3次元センサ固定局1210との相対位置姿勢を計測し、その計測結果を示す信号を後述する3次元センサ本体1200に出力する。
Note that the hand-held
3次元センサ固定局1210は、磁気センサの場合、HMD1100に備わっている後述のセンサ、手持ちセンサ5000がそれぞれの位置姿勢の計測を行うために検知する磁界を発生する。以下の説明では便宜上、センサは全て磁気センサものを用いることとするが、その他のセンサ、例えば、超音波センサなどを用いても以下の説明は実質的には同じである。
In the case of a magnetic sensor, the three-dimensional sensor fixed
3次元センサ本体1200は、HMD1100に備わっている後述のセンサ、3次元センサ固定局1210、手持ちセンサ5000を制御し、HMD1100に備わっている後述のセンサ、手持ちセンサ5000が計測した結果をデータとして計算機1300に出力する。
The three-dimensional sensor
計算機1300は例えばPC(パーソナルコンピュータ)やWS(ワークステーション)等により構成されており、観察者1000に自身の頭部の位置姿勢に応じた複合現実空間の画像を提供するための各種の処理を行う。また、計算機1300はネットワークハブ6000に接続されており、他の計算機2300,3300とのデータ通信を行うことができ、例えば手持ちセンサ5000により計測された結果を計算機1300から計算機2300,3300に送信することができる。
The
図9は、観察者1000に対して複合現実空間の画像を提供する為の装置の基本構成を示す図である。
FIG. 9 is a diagram showing a basic configuration of an apparatus for providing an image of the mixed reality space to the
HMD1100はHMD内蔵センサ1120,右目カメラ1110、左目カメラ1111、右目LCD1130,左目LCD1131により構成されている。HMD内蔵センサ1120は、3次元センサ固定局1210から発せられる磁界を検知し、検知した磁界の強度を示す信号を3次元センサ本体1200に出力する。
The
手持ちセンサ5000は、上述の通り、観察者1000の手に装着されているもので、その位置姿勢は観察者1000の手が動くことにより変化する。手持ちセンサ5000は、3次元センサ固定局1210から発せられる磁界を検知し、検知した磁界の強度を示す信号を3次元センサ本体1200に出力する。
As described above, the hand-held
3次元センサ本体1200は、HMD内蔵センサ1120、手持ちセンサ5000から受けた信号の強度に基づいて、センサ座標系(世界座標系(現実空間中の1点を原点とし、この原点で互いに直交する3軸をそれぞれx、y、z軸とする座標系)における位置がわかっている所定位置を原点とし、この原点で互いに直交する3軸をそれぞれx、y、z軸とする座標系)におけるHMD内蔵センサ1120、手持ちセンサ5000の位置姿勢を示すデータを求め、計算機1300に出力する。
The three-dimensional sensor
右目カメラ1110、左目カメラ1111はそれぞれ、HMD1100を頭部に装着する観察者1000の右目、左目から見える現実空間の動画像を撮像するものである。右目カメラ1110、左目カメラ1111のそれぞれにより撮像された動画像を構成する各フレームの画像データは計算機1300に出力する。
The right-
右目LCD1130、左目LCD1131はそれぞれ、右目カメラ1110、左目カメラ1111のそれぞれによって撮像された現実空間に、計算機1300が生成した仮想物体の画像を重畳させた画像(複合現実空間の画像)を表示するものであり、これにより、HMD1100を頭部に装着した観察者1000は、自身の右目、左目に対応する複合現実空間の画像を眼前に見ることができる。
The right-
次に計算機1300について説明する。
Next, the
シリアルI/O1310は、3次元センサ本体1200から出力されるデータを受ける為のインターフェースとして機能するものであり、受けたデータはメモリ1302に出力される。なお、このデータは上述の取り、HMD内蔵センサ1120や手持ちセンサ5000のセンサ座標系における位置姿勢を示すデータである。本実施形態ではこの位置姿勢は、位置(x、y、z)を示すデータと、姿勢(roll,pitch,yaw)を示すデータにより構成されているものとする。すなわち、HMD内蔵センサ1120、手持ちセンサ5000は、6自由度の計測センサである。
The serial I /
なお、位置姿勢を表現する方法は他にも考えられ、これに限定するものではない。 Note that there are other methods for expressing the position and orientation, and the present invention is not limited to this.
ここで、メモリ1302には、世界座標系における予め計測された3次元センサ固定局1210の位置姿勢を示すデータ(オフセットデータ)が記憶されている。従って、このオフセットデータを用いれば周知の通り、センサ座標系における任意の位置姿勢を、世界座標系における位置姿勢に変換することができるので、CPU1301は、オフセットデータと、シリアルI/O1310を介してメモリ1302に入力された「センサ座標系におけるHMD内蔵センサ1120の位置姿勢を示すデータ」とを用いれば、「世界座標系におけるHMD内蔵センサ1120の位置姿勢」を求めることができるし、オフセットデータと、シリアルI/O1310を介してメモリ1302に入力された「センサ座標系における手持ちセンサ5000の位置姿勢を示すデータ」とを用いれば、「世界座標系における手持ちセンサ5000の位置姿勢」を求めることができる。
Here, the
このような座標変換による位置姿勢の計算技術については周知の技術であるので、これ以上の説明は省略する。 Since the position / orientation calculation technique based on such coordinate transformation is a well-known technique, further explanation is omitted.
ビデオキャプチャカード1320、1321はそれぞれ、右目カメラ1110、左目カメラ1111から入力される、各フレームの画像を受けるためのインターフェースとして機能するものであり、受けた画像は順次メモリ1302に出力する。本実施形態では、各フレームの画像はNTSCに準拠したものであるとするが、これに限定するものではない。
Each of the
ビデオカード1330,1331はそれぞれ、CPU1301が後述する処理により生成した右目、左目に対応する複合現実空間の画像を右目LCD1130、左目LCD1131に出力するためのインターフェースとして機能するものであり、右目、左目に対応する複合現実空間の画像はそれぞれ、VGAに準拠した画像信号としてビデオカード1330、1331を介して右目LCD1130、左目LCD1131に出力される。
Each of the
CPU1301は、計算機1300全体の制御を行うと共に、他の計算機2300,3300とのデータ通信を制御したり、計算機1300が行うべき後述の各処理を実行する。このような処理の実行は、メモリ1302に記憶されている各種のプログラムやデータを実行することでなされる。
The
メモリ1302は、CPU1301が各種の処理を実行するために使用するワークエリアや、CPU1301に各種の処理を実行させるためのプログラムやデータを記憶するためのエリア、また、シリアルI/O1310、ビデオキャプチャカード1320、1321を介して入力される各種のデータを一時的に記憶するためのエリアを備える。
The
ネットワークI/F(インターフェース)1390は、計算機1300を通信路を介して上記ネットワークハブ6000に接続するためのインターフェースとして機能するものであり、このネットワークI/F1390を介して計算機1300は他の計算機2300、3300とのデータ通信を行うことができる。
The network I / F (interface) 1390 functions as an interface for connecting the
PCIブリッジ1303は、CPU1301、メモリ1302、ネットワークI/F1390がつながっているバスと、シリアルI/O1310、ビデオキャプチャカード1320、1321,ビデオカード1330、1331を繋ぐバスとを電気的に繋ぐためのものである。
The
次に、以上の構成を備える各装置によって、観察者1000に複合現実空間の画像を提示する処理について説明する。また、以下の説明における「仮想物体」は、観察者1000が観察しようとする対象の仮想物体である。すなわち、よく観察するために、その位置姿勢を観察者1000が簡便に変更するための仮想物体である。
Next, processing for presenting an image of the mixed reality space to the
3次元センサ本体1200は常に手持ちセンサ5000、HMD内蔵センサ1120から出力される信号を受け、受けた信号に応じたデータ、すなわち、センサ座標系における位置姿勢を示すデータに変換して計算機1300に出力する。計算機1300のCPU1301は、上記オフセットデータとシリアルI/O1310を介してメモリ1302に入力されたデータとを用いて、世界座標系における手持ちセンサ5000の位置姿勢、世界座標系におけるHMD内蔵センサ1120の位置姿勢を計算する。計算結果を示すデータは後述する処理で用いるために、一時的にメモリ1302に記憶させておく。
The three-dimensional sensor
図5は、手持ちセンサ5000の構成例を示す図である。手持ちセンサ5000は、3次元センサ固定局1210からの磁界を検知するセンサ部5001と、このセンサ部5001のカバーとして機能するセンサカバー5002と、観察者1000が手に持つ部分の手持ち部5003とから成る。
FIG. 5 is a diagram illustrating a configuration example of the
一方、右目カメラ1110、左目カメラ1111は常に、HMD1100の位置姿勢(換言すれば、観察者1000の頭部の位置姿勢)に応じて見える現実空間の動画像を撮像するので、この動画像を構成する各フレームの画像はデータとしてビデオキャプチャカード1320、1321を介して順次メモリ1302に入力される。
On the other hand, the right-
CPU1301は、先に計算したHMD内蔵センサ1120の世界座標系における位置姿勢に、HMD内蔵センサ1120と左目カメラ1111との位置姿勢のずれ(予め計測し、その計測結果を示すデータはメモリ1302に記憶されている)を加算して、世界座標系における左目カメラ1111の位置姿勢を求め、求めた位置姿勢から見える仮想物体の画像を生成する。
The
ここで、仮想物体の位置姿勢には、手持ちセンサ5000の世界座標系における位置姿勢を設定する。すなわち、観察者1000は、手持ちセンサ5000を任意の位置姿勢に移動させることで、仮想物体の位置姿勢を任意に設定することができる。
Here, the position and orientation of the hand-held
これにより、世界座標系における手持ちセンサ5000の位置姿勢に仮想物体を配置することができる。なお、仮想物体の位置姿勢の決定処理の詳細については後述する。
Thereby, a virtual object can be arranged at the position and orientation of the hand-held
そしてCPU1301は仮想物体の配置後、世界座標系における左目カメラ1111の位置姿勢から見える仮想物体の画像を生成する。また、仮想物体の画像を生成する際には、仮想物体に関するデータ(例えば、仮想物体の形状に関するデータ、色やテクスチャに関するデータなど)を用いるのであるが、このデータはメモリ1302に記憶されている。
The
そしてCPU1301は、上記処理により生成した仮想物体の画像を、先にメモリ1302にビデオキャプチャカード1321から入力された「観察者の左目から見える現実空間の画像」上に重畳させる。これにより、観察者1000の左目から見た現実空間に、観察者1000の左目から見た仮想物体を重畳させた上記複合現実空間画像を生成することができるので、CPU1301は生成した複合現実空間の画像をビデオカード1331を介してHMD1100の左目LCD1131に出力する。これにより、HMD1100の左目LCD1131には、観察者1000の左目から見た複合現実空間の画像が表示される。
Then, the
なお、右目LCD1130に観察者1000の右目から見た複合現実空間の画像を表示させる処理についても、上記左目の場合と同様にして行う。すなわち、CPU1301は、先に計算したHMD内蔵センサ1120の世界座標系における位置姿勢に、HMD内蔵センサ1120と右目カメラ1110との位置姿勢のずれ(予め計測し、その計測結果を示すデータはメモリ1302に記憶されている)を加算して、世界座標系における右目カメラ1110の位置姿勢を求め、求めた位置姿勢から見える仮想物体の画像を生成する。
Note that the process of displaying the mixed reality space image viewed from the right eye of the
そして生成した仮想物体の画像を、先にメモリ1302にビデオキャプチャカード1320から入力された「観察者の右目から見える現実空間の画像」上に重畳させる。これにより、観察者1000の右目から見た現実空間に、観察者1000の右目から見た仮想物体を重畳させた上記複合現実空間画像を生成することができるので、CPU1301は生成した複合現実空間の画像をビデオカード1330を介してHMD1100の右目LCD1130に出力する。これにより、HMD1100の右目LCD1130には、観察者1000の右目から見た複合現実空間の画像が表示される。
Then, the generated image of the virtual object is superimposed on the “real space image that can be seen from the right eye of the observer” input from the
以上の処理により、右目LCD1130、左目LCD1131にはそれぞれ、観察者1000の右目、左目から見える複合現実空間の画像が表示されるので、HMD1100を観察者1000は自身の頭部の位置姿勢に応じた複合現実空間の画像を眼前に見ることができる。
Through the above processing, the right-
図6は、手持ちセンサ5000の位置姿勢が設定された仮想物体の表示例を示す図である。同図左は、仮想物体を表示していない状態を示しており、同図右は、手持ちセンサ5000の位置姿勢が設定された仮想物体4000の表示例を示している。同図では、仮想物体4000の重心位置(予め決められており、仮想物体に関するデータに含められている)を、手持ちセンサ5000の位置に合わせている。
FIG. 6 is a diagram illustrating a display example of a virtual object in which the position and orientation of the
以上の処理により、観察者1000は、観察しようとする仮想物体の位置姿勢を、手持ちセンサ5000を持った手を動かすだけで変更することができるので、より直感的に仮想物体の位置姿勢を変更することができ、仮想物体をよく観察することができる。
With the above processing, the
図10は、計算機1300を起動した際にCPU1301が行う処理のフローチャートである。
FIG. 10 is a flowchart of processing performed by the
先ず、HMD1100の右目カメラ1110、左目カメラ1111のカメラパラメータ(画角や焦点距離など)から、projection matrixを作成し、メモリ1302にデータとして記憶しておく(ステップS100)。ここでprojection matrixとは、周知の通り、仮想空間中の物体を表示面に投影して画像を生成するための投影行列である。このprojection matrixを生成しておくことでこのprojection matrixを用いて生成した仮想物体の画像と、右目カメラ1110、左目カメラ1111により撮像された現実空間の画像とを合成した場合に、それぞれの画像間で画角や焦点距離などの整合性がとれる。
First, a projection matrix is created from the camera parameters (view angle, focal length, etc.) of the right-
次に、仮想物体のローカル座標(仮想物体をCGソフトなどで作成する際にこの仮想物体について設定する原点、及びこの原点で互いに直交する軸をそれぞれx、y、z軸とすることで規定される座標系)での重心(gx、gy、gz)を求める。そして(−gx、−gy、−gz)だけ平行移動する変換行列MGを作成する(ステップS101)。この変換行列MGを仮想物体に適用すれば、仮想物体の重心をローカル座標の原点とすることができる。 Next, the local coordinates of the virtual object (specified by setting the origin set for the virtual object when the virtual object is created by CG software and the axes orthogonal to each other at the origin as x, y, z axes, respectively. Centroid (gx, gy, gz) in the coordinate system). Then, a transformation matrix MG that translates by (−gx, −gy, −gz) is created (step S101). If this transformation matrix MG is applied to a virtual object, the center of gravity of the virtual object can be used as the origin of local coordinates.
次に、仮想物体の方向補正行列MDに単位行列を代入する(ステップS102)。仮想物体の方向補正行列MDは、手持ちセンサ5000に対して、仮想物体がどのような方向を向いているかを示している。初期状態ではMDには単位行列が入っているので、手持ちセンサ5000と仮想物体とは同じ方向を向いている。
Next, a unit matrix is substituted into the direction correction matrix MD of the virtual object (step S102). The virtual object direction correction matrix MD indicates in what direction the virtual object is facing the
このMDに回転を表す行列を設定することで、図7に示す如く、指定された部品を利用者の方向に向けることができる。 By setting a matrix representing rotation in the MD, the designated component can be directed toward the user as shown in FIG.
このMDは計算機1300のみが保持している(より具体的には計算機1300のメモリ1302のみが保持している)行列であり、この行列は、計算機1300のCPU1301が求めた、世界座標系における手持ちセンサ5000の位置姿勢と共に、計算機2300、3300に送信される。
This MD is a matrix held only by the computer 1300 (more specifically, only held by the
また、移動中フラグをFALSEに設定する(ステップS102)。移動中フラグは、図7に示す如く、仮想物体が回転中であるか否かを示すためのフラグである。その詳細については後述するが、その使用用途は、指定された部品を観察者の方向に向けるアニメーション動作を実行するかどうかの判断に使用する。 Further, the moving flag is set to FALSE (step S102). The moving flag is a flag for indicating whether or not the virtual object is rotating as shown in FIG. Although the details will be described later, the usage is used to determine whether or not to execute an animation operation in which a designated part is directed toward the observer.
以上の処理が、計算機1300が起動した際に実行される。
The above processing is executed when the
図11は、上記処理の後に、CPU1301、及びその他の各部が、複合現実空間の画像を生成して観察者1000に提示する為の処理のフローチャートである。なお、上述の通り、右目LCD1130に複合現実空間の画像を表示するための処理、左目LCD1131に複合現実空間の画像を表示するための処理は何れも実質的には同じであり、その何れも図11に示したフローチャートに従っている。
FIG. 11 is a flowchart of a process for the
従って、以下の説明では、右目LCD1130に複合現実空間の画像を表示するための処理を例にとって説明するが、左目LCD1131に複合現実空間の画像を表示する場合についても、係る処理は同じである。
Therefore, in the following description, a process for displaying an image of the mixed reality space on the
右目カメラ1110により撮像された現実空間の動画像を構成する各フレームの画像(ビデオ映像)は、ビデオキャプチャカード1320を介して計算機1300に入力されるので、CPU1301はこれをメモリ1302に順次入力し(ステップS200)、メモリ1302上に設けられているビデオバッファに書き込む(ステップS201)。本実施形態では、各フレームの画像は、1フレーム(2フィールド)分、640×480ピクセルでもって右目カメラ1110から入力されるが、これに限定するものではない。
Since each frame image (video image) constituting the moving image in the real space captured by the right-
一方、シリアルI/O1310を介して、3次元センサ本体1200から、HMD内蔵センサ1120が計測した位置姿勢を示すデータが入力されるので、CPU1301はこのデータと上記オフセットデータとを用いて周知の計算により、世界座標系におけるHMD内蔵センサ1120の位置姿勢を求め、求めた位置姿勢に、HMD内蔵センサ1120と右目カメラ1110との位置姿勢のずれのデータを加算して、世界座標系における右目カメラ1110の位置姿勢を求める(ステップS202)。
On the other hand, since data indicating the position and orientation measured by the HMD built-in
次に、上記projection matrixや右目カメラ1110の位置姿勢などに応じて、周知のviewing matrixを生成し、生成したviewing matrixのデータをメモリ1302に記録する(ステップS203)。このviewing matrixは周知の通り、仮想物体を見る仮想カメラの位置姿勢を右目カメラ1110の位置姿勢に一致させるためのものである。
Next, a known viewing matrix is generated according to the projection matrix, the position and orientation of the right-
また、シリアルI/O1310を介して、3次元センサ本体1200から、手持ちセンサ5000が計測した位置姿勢を示すデータが入力されるので、CPU1301はこのデータと上記オフセットデータとを用いて周知の計算により、世界座標系における手持ちセンサ5000の位置姿勢を求める(ステップS204)。より具体的には、世界座標系における原点から世界座標系における手持ちセンサ5000の位置姿勢への変換行列STを求める処理を行う。求めた変換行列STのデータはメモリ1302に記録される。
Further, since data indicating the position and orientation measured by the
また、この変換行列STのデータは、ネットワークI/F1390、ネットワークハブ6000を介してその他の計算機2300,3300に出力される。
The data of the transformation matrix ST is output to the
次に、仮想物体の方向調整行列MDを更新する(ステップS205)。これは先に図7で示したように、指定した部品を観察者1000の方向に向けるアニメーションを実現するための処理である。
Next, the direction adjustment matrix MD of the virtual object is updated (step S205). This is a process for realizing an animation in which the designated part is directed toward the
図15は、このステップS205における処理の詳細を示すフローチャートである。 FIG. 15 is a flowchart showing details of the processing in step S205.
先ず、CPU1301は、仮想物体が回転中であるか否かを示すフラグを参照し、このフラグがTRUEであるか否かを判断する(ステップS400)。このフラグがFALSEである場合には仮想物体は回転していない、すなわち、回転する必要がないので、同図のフローチャートに従った処理を終了し、図11のステップS206に処理をリターンする。
First, the
一方、このフラグがTRUEである場合、処理をステップS401に進め、仮想物体を回転させたい角度(方向補正目標値)RAと、現在の仮想物体の角度(方向補正現在値)RCのとの差が閾値θより小さいか否かを判断する(ステップS401)。本実施形態では閾値θとして「3度」とするが、これに限定されるものではない。また、角度RAについては後述する。 On the other hand, if this flag is TRUE, the process proceeds to step S401, and the difference between the angle (direction correction target value) RA at which the virtual object is to be rotated and the current virtual object angle (direction correction current value) RC. Is less than the threshold θ (step S401). In the present embodiment, the threshold θ is “3 degrees”, but is not limited to this. The angle RA will be described later.
上記差がθよりも小さい場合には、処理をステップS402に進め、回転が終了したものと判断し、フラグの値をFALSEに更新し(ステップS402)、同図のフローチャートに従った処理を終了し、図11のステップS206に処理をリターンする。 If the difference is smaller than θ, the process proceeds to step S402, it is determined that the rotation is completed, the flag value is updated to FALSE (step S402), and the process according to the flowchart of FIG. Then, the process returns to step S206 in FIG.
一方、上記差がθ以上である場合には、処理をステップS403に進め、現在の仮想物体の角度RCにθを加算して更新する処理を行う(ステップS403)。そして、上記方向調整行列MDに、「仮想物体の回転軸を示すベクトルRVを中心にθだけ回転する変換行列」を乗じて行列MDを更新する処理を行う(ステップS404)。 On the other hand, if the difference is equal to or larger than θ, the process proceeds to step S403, and the process of updating by adding θ to the current virtual object angle RC is performed (step S403). Then, a process for updating the matrix MD is performed by multiplying the direction adjustment matrix MD by the “transformation matrix that rotates by θ around the vector RV indicating the rotation axis of the virtual object” (step S404).
従って、ベクトルRVを軸に、仮想物体を回転させ、仮想物体の所望の部分(例えば仮想物体において観察者1000が選択した一部分)が観察者1000に見えるような角度になる場合、この角度が上記角度RAに相当する。
Therefore, when the virtual object is rotated around the vector RV and the desired part of the virtual object (for example, a part selected by the
以上説明したステップS205における処理を繰り返し行うことで、仮想物体の所望の部分を観察者1000に向けるアニメーションを実現させることができる。
By repeatedly performing the process in step S205 described above, an animation in which a desired portion of the virtual object is directed to the
図11に戻って、仮想物体の位置姿勢を示す行列であるworld matrixを以下の式に従って求める(ステップS206)。 Returning to FIG. 11, a world matrix which is a matrix indicating the position and orientation of the virtual object is obtained according to the following equation (step S206).
MD・MG・ST
ここで、MDは仮想物体の方向補正行列、MGは仮想物体の重心をローカル座標の原点に移動させる変換行列である。これにより求まる行列world matrixは、仮想物体の重心位置を、手持ちセンサ5000の位置姿勢に一致させる為のものである。
MD / MG / ST
Here, MD is a virtual object direction correction matrix, and MG is a transformation matrix that moves the center of gravity of the virtual object to the origin of the local coordinates. The matrix world matrix thus obtained is for making the position of the center of gravity of the virtual object coincide with the position and orientation of the
次に、上記フラグがTRUEであるか否かを判断する(ステップS207)。フラグがFALSEである場合、処理をステップS208に進め、CPU1301は、仮想物体の画像をworld matrix等を用いて周知の技術により生成する(ステップS208)。この画像は上述の通り、世界座標系における右目カメラ1110の位置姿勢に応じて見える仮想物体の画像である。生成した仮想物体の画像はメモリ1302上でレンダリングする。
Next, it is determined whether or not the flag is TRUE (step S207). If the flag is FALSE, the process proceeds to step S208, and the
一方、ステップS207で、フラグがTRUEである場合、処理をステップS209に進める。ステップS209,S210ではそれぞれ、仮想物体の所望の部分の画像、所望の部分ではない部分の画像をステップS208と同様にしてレンダリングするのであるが、ステップS210でのレンダリングは、レンダリング対象の画像を半透明にしてレンダリングする。レンダリング対象の画像を半透明形式にする技術については周知のものであるので、ここでの説明は省略する。 On the other hand, if the flag is TRUE in step S207, the process proceeds to step S209. In steps S209 and S210, an image of a desired portion of the virtual object and an image of a portion that is not the desired portion are rendered in the same manner as in step S208. However, in rendering in step S210, the image to be rendered is half-finished. Render with transparency. Since the technology for rendering the rendering target image in a translucent format is well known, a description thereof is omitted here.
以上のステップS208、もしくはステップS209,S210の何れの処理を行っても、メモリ1302上には仮想物体の画像がレンダリングされるのであるが、メモリ1302には先に現実空間の画像が格納されており、ステップS208、もしくはステップS209,S210の何れでも、この現実空間の画像上に仮想物体の画像をレンダリングする。これにより、結果としてメモリ1302上には、現実空間の画像上に仮想物体の画像が重畳された画像、すなわち、複合現実空間の画像が生成されるので、CPU1301はこの複合現実空間の画像のデータを、ビデオカード1330のフレームバッファに出力する(ステップS211)。その結果、ビデオカード1330のフレームバッファの画像は右目LCD1130に出力される
以上の処理を繰り返し行うことにより、観察者1000は、観察しようとする仮想物体の位置姿勢を、手持ちセンサ5000を持った手を動かすだけで変更することができるので、より直感的に仮想物体の位置姿勢を変更することができ、仮想物体をよく観察することができる。
The virtual object image is rendered on the
また上述の通り、計算機1300が求めた、世界座標系における手持ちセンサ5000の位置姿勢、すなわち、行列STのデータを他の計算機2300,3300に送信することにより、計算機2300,3300は計算機1300と同様の処理を行う(上記処理において行列STを求める処理の代わりに、計算機1300から行列STのデータを受ける処理を行う)ことにより、観察者2000、3000に対して、観察者1000が手持ちセンサ5000でもってその位置や姿勢を操作している仮想物体を見せることができる。
Further, as described above, the
次に、仮想物体の一部分を観察者が指示(選択)した場合に、選択した部分を観察者1000に見えるように、仮想物体を回転させる処理について説明する。
Next, a process for rotating the virtual object so that the
仮想物体の一部分とは、例えば、仮想物体を構成する部品などである。また、その指示(選択)手段については、例えば、予め選択されているものでも良いし、計算機1300のオペレータが計算機1300に備わっているキーボードやマウスなどを用いて指示するようにしても良いし、その指示方法は特に限定するものではない。また、仮想物体の一部分とは、観察者1000に指示されたものに限定するものではなく、仮想物体に追加した部品や、削除した部品などであっても良い。すなわち、仮想物体の一部分とは、観察者1000が観察する対象の部分であって、これが何であるかは特に限定するものではない。
The part of the virtual object is, for example, a part constituting the virtual object. The instruction (selection) means may be selected in advance, for example, or an operator of the
例えば仮想モデルが図14に示す如く、複数の部品(同図では各立方体に相当)により構成されており、且つこの仮想物体を紙面手前から観察者1000が観察しており、同図において4100で示す部品が選択された場合、観察者1000はこの部品4100を観察したいのであるから、この部品4100をより見やすくするために、仮想物体を回転させ、部品4100が紙面手前にくるようにしたい。以下では同図の仮想物体を例に取り説明するが、以下の説明の本質はこれに限定されるものではないことは明らかである。
For example, as shown in FIG. 14, the virtual model is composed of a plurality of parts (corresponding to each cube in the figure), and the
図12は、仮想物体の一部分が指示されている場合に、この一部分を観察者に対して向けるべく、仮想物体を回転させる処理のフローチャートである。同図のフローチャートに従った処理は、仮想物体の一部が選択された際に、図15のフローチャートにおいて、ステップS400の前で行われるものである。 FIG. 12 is a flowchart of processing for rotating a virtual object so that the virtual object is directed to the observer when a part of the virtual object is instructed. The process according to the flowchart of FIG. 15 is performed before step S400 in the flowchart of FIG. 15 when a part of the virtual object is selected.
先ず、CPU1301は、選択された部品4100の重心位置(部品4100の位置)を求める(ステップS300)。この重心位置は、例えば部品4100がポリゴンにより構成されている場合には、各ポリゴンの頂点位置の平均値で近似する。
First, the
次に、CPU1301は、ステップS300で求めた重心位置と、仮想物体全体の重心位置とを結ぶベクトルPDを求める(ステップS301)。ベクトルPDは、選択された部品4100が、現在どの方向を向いているかを示すものである。
Next, the
次に、CPU1301は、世界座標系におけるHMD内蔵センサ1120の位置(この位置を元に、例えば右目カメラ1110の世界座標系における位置や左目カメラ1111の世界座標系における位置を計算し、これらの位置を用いても良いが、観察者1000の「視点位置」とする位置であることが好ましい)と、仮想物体の重心位置とを結ぶベクトルUDを求める(ステップS302)。なお、本実施形態の場合には、観察者は3人いるので、それぞれの観察者の頭部に装着されているHMDに備わっているHMD内蔵センサの世界座標系における位置を取得し、取得した3つの位置を平均化した位置を求め、求めた位置と仮想物体の重心位置とを結ぶベクトルを上記ベクトルUDとして求める。ベクトルUDは、部品4100を向けるべき方向を示すものである。
Next, the
次に、CPU1301は、ベクトルPDとベクトルUDとがなす角RAをそれぞれのベクトルの内積を計算することにより求める(ステップS303)。RAは、仮想物体を回転させる角度(方向補正目標値)となる。次に、CPU1301は、ベクトルPDとベクトルUDとの外積を計算し、それぞれのベクトルに垂直なベクトルRVを求める(ステップS304)。ベクトルRVは、仮想物体を回転させるときの回転軸となる。図13は、上記各ベクトルRV、UD、PDを示す図である。
Next, the
次に、CPU1301は、角度RAが180度より大きかった場合には(ステップS305)、回転の向きを逆にするため、回転軸RVの向きを反転させ、角度RAを「180度−RA」に更新する(ステップS306)。
Next, when the angle RA is greater than 180 degrees (step S305), the
次に、現在何度だけ仮想物体を回転させたかを示す角RC(方向補正現在値)を0度に設定し、仮想物体を回転させている途中であることを示すフラグをTRUEにする(ステップS307)。 Next, an angle RC (direction correction current value) indicating how many times the virtual object has been rotated is set to 0 degrees, and a flag indicating that the virtual object is being rotated is set to TRUE (step S307).
そして処理を、図15のステップS400に進める。 Then, the process proceeds to step S400 in FIG.
すなわち、この処理では、仮想物体の重心位置と部品4100の位置とを結ぶベクトルが、仮想物体の重心位置と観察者の視点位置とを結ぶベクトルと略一致するように、仮想物体を回転させている。
That is, in this process, the virtual object is rotated so that the vector connecting the center of gravity of the virtual object and the position of the
以上の処理により、部品4100を、手持ちセンサ5000の位置で仮想物体の重心を中心に回転させて、観察者1000側に向けることができる。
Through the above processing, the
以上の説明により、本実施形態によって、手持ちセンサの位置を変えたり、向きを変えることで、仮想物体を自由な角度から眺めることができる。 As described above, according to the present embodiment, the virtual object can be viewed from a free angle by changing the position or direction of the handheld sensor.
また、手持ちセンサの位置は、仮想物体の重心と一致している。重心が一致しているため、観察者は「手持ちセンサで仮想モデルを持っている」という感覚で仮想物体を操作することができる。 In addition, the position of the handheld sensor coincides with the center of gravity of the virtual object. Since the centers of gravity coincide with each other, the observer can operate the virtual object with a sense that “the handheld sensor has a virtual model”.
また仮想モデルを構成する一部分(部品)を選択すると、その部品が観察者側に向くよう仮想物体を重心を中心に回転させることができる。また、観察者が複数人のときには、最も多くの観察者に見える方向に仮想物体を回転させることができる。これにより、仮想物体の検討などをスムーズに行うことができる。 When a part (part) constituting the virtual model is selected, the virtual object can be rotated around the center of gravity so that the part faces the viewer. Further, when there are a plurality of observers, the virtual object can be rotated in a direction that can be seen by the most observers. Thereby, a virtual object can be examined smoothly.
また仮想物体が見やすい方向に回転している間は、仮想物体の選択された部品以外の部分は半透明に表示する。これにより選択した部品をよりわかりやすく観察者に提示できる。 Further, while the virtual object is rotated in an easy-to-view direction, the parts other than the selected part of the virtual object are displayed translucently. As a result, the selected part can be presented to the observer in an easy-to-understand manner.
なお、本実施形態では、仮想物体の位置姿勢として上記world matrixが示す位置姿勢を設定していたが、単純に、手持ちセンサ5000の位置姿勢をそのまま設定しても良い。 また、本実施形態では、選択した部品の画像以外を半透明にして表示したが、選択した部品以外を半透明にして表示するか否かを切り替えるようにしても良いし、選択した部品以外を所定の色でもって表示するようにしても良いし、選択した部品、選択した部品以外をどのようにして表示するかの表示形態は特に限定するものではない。
In the present embodiment, the position and orientation indicated by the world matrix is set as the position and orientation of the virtual object. However, the position and orientation of the
また、HMDの位置姿勢を求める方法は上記方法に限定するものではなく、右目カメラ1110、左目カメラ1111が撮像した画像中の世界座標系における位置が既知であるマーカなどから周知の技術によりHMDの姿勢を推定してもよい。
In addition, the method of obtaining the position and orientation of the HMD is not limited to the above method, and the HMD can be obtained by a known technique from a marker or the like whose position in the world coordinate system in the image captured by the
また、本実施形態では、仮想物体を重心位置を中心として回転させたが、回転の中心位置は重心位置に限定するものではなく、仮想物体中の任意の1点でも良いし、その中心位置の設定は特に限定するもではない。 In this embodiment, the virtual object is rotated around the center of gravity. However, the center position of the rotation is not limited to the center of gravity, and may be any one point in the virtual object. The setting is not particularly limited.
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。 Also, an object of the present invention is to supply a recording medium (or storage medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and a computer (or CPU or CPU) of the system or apparatus. Needless to say, this can also be achieved when the MPU) reads and executes the program code stored in the recording medium. In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present invention.
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Furthermore, after the program code read from the recording medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is based on the instruction of the program code. It goes without saying that the CPU or the like provided in the expansion card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。 When the present invention is applied to the recording medium, program code corresponding to the flowchart described above is stored in the recording medium.
Claims (7)
前記観察者の視点の位置姿勢を計測する為のセンサの計測結果に基づいて、当該視点の位置姿勢を計算する第1の計算工程と、
前記観察者の手に装着されている手持ちセンサにより計測された結果に基づいて、当該手持ちセンサの位置姿勢を求める第2の計算工程と、
前記第2の計算工程で計算された位置姿勢を、前記観察者が観察する対象の仮想物体の位置姿勢として設定する設定工程と、
前記設定工程で位置姿勢が設定された仮想物体を前記第1の計算工程で求めた位置姿勢の視点から見た場合の画像を生成して、現実空間に重畳させて前記観察者に提供する提供工程とを備え、
更に前記提供工程では、
前記仮想物体における一部分が指示された場合、当該一部分が前記視点の位置姿勢から見えるように前記仮想物体の向きを変化させた前記仮想物体を前記第1の計算工程で求めた位置姿勢の視点から見た場合の画像を生成して、現実空間に重畳させて前記観察者に提供することを特徴とする画像処理方法。 An image processing method for providing an observer with a virtual object superimposed in a real space,
A first calculation step of calculating a position and orientation of the viewpoint based on a measurement result of a sensor for measuring the position and orientation of the observer's viewpoint;
A second calculation step for determining a position and orientation of the handheld sensor based on a result measured by the handheld sensor attached to the observer's hand;
A setting step for setting the position and orientation calculated in the second calculation step as a position and orientation of a virtual object to be observed by the observer;
Provided to the observer by generating an image when the virtual object having the position and orientation set in the setting step is viewed from the viewpoint of the position and orientation obtained in the first calculation step and superimposing it on a real space A process,
Furthermore, in the providing step,
When a part of the virtual object is instructed, the virtual object whose orientation has been changed so that the part can be seen from the position and orientation of the viewpoint is determined from the viewpoint of the position and orientation obtained in the first calculation step. An image processing method characterized in that an image when viewed is generated and provided to the observer by superimposing it on a real space.
前記観察者の視点の位置姿勢を計測する為のセンサの計測結果に基づいて、当該視点の位置姿勢を計算する第1の計算手段と、
前記観察者の手に装着されている手持ちセンサにより計測された結果に基づいて、当該手持ちセンサの位置姿勢を求める第2の計算手段と、
前記第2の計算手段によって計算された位置姿勢を、前記観察者が観察する対象の仮想物体の位置姿勢として設定する設定手段と、
前記設定手段によって位置姿勢が設定された仮想物体を前記第1の計算手段によって求めた位置姿勢の視点から見た場合の画像を生成して、現実空間に重畳させて前記観察者に提供する提供手段とを備え、
更に前記提供手段は、
前記仮想物体における一部分が指示された場合、当該一部分が前記視点の位置姿勢から見えるように前記仮想物体の向きを変化させた前記仮想物体を前記第1の計算手段によって求めた位置姿勢の視点から見た場合の画像を生成して、現実空間に重畳させて前記観察者に提供することを特徴とする画像処理装置。 An image processing apparatus that provides a viewer with a virtual object superimposed in a real space,
First calculation means for calculating the position and orientation of the viewpoint based on a measurement result of a sensor for measuring the position and orientation of the observer's viewpoint;
Second calculation means for obtaining a position and orientation of the handheld sensor based on a result measured by the handheld sensor attached to the observer's hand;
Setting means for setting the position and orientation calculated by the second calculation means as the position and orientation of a virtual object to be observed by the observer;
Provided to the observer by generating an image when the virtual object having the position and orientation set by the setting means is viewed from the viewpoint of the position and orientation obtained by the first calculation means and superimposing it on a real space Means and
Further, the providing means includes
When a part of the virtual object is designated, the virtual object in which the direction of the virtual object is changed so that the part can be seen from the position and orientation of the viewpoint is determined from the viewpoint of the position and orientation obtained by the first calculation unit. An image processing apparatus, characterized in that an image when viewed is generated and provided to the observer by being superimposed on a real space.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004064491A JP2005251118A (en) | 2004-03-08 | 2004-03-08 | Method and device for image processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004064491A JP2005251118A (en) | 2004-03-08 | 2004-03-08 | Method and device for image processing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005251118A true JP2005251118A (en) | 2005-09-15 |
Family
ID=35031510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004064491A Withdrawn JP2005251118A (en) | 2004-03-08 | 2004-03-08 | Method and device for image processing |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005251118A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007042073A (en) * | 2005-07-01 | 2007-02-15 | Canon Inc | Video presentation system, video presentation method, program for causing computer to execute video presentation method and storage medium |
JP2012108842A (en) * | 2010-11-19 | 2012-06-07 | Konica Minolta Holdings Inc | Display system, display processing device, display method, and display program |
JP2012178067A (en) * | 2011-02-25 | 2012-09-13 | Nintendo Co Ltd | Information processing system, information processing method, information processor and information processing program |
JP2013061978A (en) * | 2007-01-05 | 2013-04-04 | Total Immersion | Method and devices for real time insertion of virtual objects in image stream using data from real scene represented by the images |
JP2015228256A (en) * | 2011-03-29 | 2015-12-17 | クアルコム,インコーポレイテッド | System for rendering of shared digital interfaces relative to each user's point of view |
US10078914B2 (en) | 2013-09-13 | 2018-09-18 | Fujitsu Limited | Setting method and information processing device |
CN112348753A (en) * | 2020-10-28 | 2021-02-09 | 杭州如雷科技有限公司 | Projection method and system for immersive content |
JP7480388B2 (en) | 2019-03-06 | 2024-05-09 | マクセル株式会社 | Head-mounted information processing device |
-
2004
- 2004-03-08 JP JP2004064491A patent/JP2005251118A/en not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007042073A (en) * | 2005-07-01 | 2007-02-15 | Canon Inc | Video presentation system, video presentation method, program for causing computer to execute video presentation method and storage medium |
JP2013061978A (en) * | 2007-01-05 | 2013-04-04 | Total Immersion | Method and devices for real time insertion of virtual objects in image stream using data from real scene represented by the images |
JP2012108842A (en) * | 2010-11-19 | 2012-06-07 | Konica Minolta Holdings Inc | Display system, display processing device, display method, and display program |
JP2012178067A (en) * | 2011-02-25 | 2012-09-13 | Nintendo Co Ltd | Information processing system, information processing method, information processor and information processing program |
US8970623B2 (en) | 2011-02-25 | 2015-03-03 | Nintendo Co., Ltd. | Information processing system, information processing method, information processing device and tangible recoding medium recording information processing program |
JP2015228256A (en) * | 2011-03-29 | 2015-12-17 | クアルコム,インコーポレイテッド | System for rendering of shared digital interfaces relative to each user's point of view |
US10078914B2 (en) | 2013-09-13 | 2018-09-18 | Fujitsu Limited | Setting method and information processing device |
JP7480388B2 (en) | 2019-03-06 | 2024-05-09 | マクセル株式会社 | Head-mounted information processing device |
CN112348753A (en) * | 2020-10-28 | 2021-02-09 | 杭州如雷科技有限公司 | Projection method and system for immersive content |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102517876B1 (en) | Technique for recording augmented reality data | |
JP4227561B2 (en) | Image processing method and image processing apparatus | |
JP4262011B2 (en) | Image presentation method and apparatus | |
JP4950834B2 (en) | Image processing apparatus and image processing method | |
JP4533087B2 (en) | Image processing method and image processing apparatus | |
JP4933406B2 (en) | Image processing apparatus and image processing method | |
JP4553362B2 (en) | System, image processing apparatus, and information processing method | |
JP4757115B2 (en) | Image processing apparatus and image processing method | |
JP2009025918A (en) | Image processor and image processing method | |
JP2004062756A (en) | Information-presenting device and information-processing method | |
JP2020514909A (en) | Mixed reality system with multi-source virtual content composition and method of using the same to generate virtual content | |
JP2005107971A (en) | Augmented reality space image generation method and augmented reality system | |
JP2008040832A (en) | Mixed sense of reality presentation system and control method for it | |
JP2019008623A (en) | Information processing apparatus, information processing apparatus control method, computer program, and storage medium | |
JP2005174021A (en) | Method and device for presenting information | |
JP2016122392A (en) | Information processing apparatus, information processing system, control method and program of the same | |
JP2006252468A (en) | Image processing method and image processing system | |
JP2005251118A (en) | Method and device for image processing | |
JP4235522B2 (en) | Image processing apparatus, image processing method, and program | |
JP6726016B2 (en) | Information processing device and information processing method | |
JP4689344B2 (en) | Information processing method and information processing apparatus | |
JP2023065528A (en) | Head-mounted information processing apparatus and head-mounted display system | |
JP4217661B2 (en) | Image processing method and image processing apparatus | |
JP2008217119A (en) | System, image processor and image processing method | |
JP2019040357A (en) | Image processing system, image processing method and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070605 |