[go: up one dir, main page]

JP2006318094A - Information processing method and information processing apparatus - Google Patents

Information processing method and information processing apparatus Download PDF

Info

Publication number
JP2006318094A
JP2006318094A JP2005138453A JP2005138453A JP2006318094A JP 2006318094 A JP2006318094 A JP 2006318094A JP 2005138453 A JP2005138453 A JP 2005138453A JP 2005138453 A JP2005138453 A JP 2005138453A JP 2006318094 A JP2006318094 A JP 2006318094A
Authority
JP
Japan
Prior art keywords
virtual object
orientation
information processing
virtual
interference state
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.)
Granted
Application number
JP2005138453A
Other languages
Japanese (ja)
Other versions
JP4689344B2 (en
JP2006318094A5 (en
Inventor
Hideo Noro
英生 野呂
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/en
Priority to US11/429,543 priority patent/US7773098B2/en
Publication of JP2006318094A publication Critical patent/JP2006318094A/en
Publication of JP2006318094A5 publication Critical patent/JP2006318094A5/ja
Application granted granted Critical
Publication of JP4689344B2 publication Critical patent/JP4689344B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Position Input By Displaying (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve operability of a virtual object by checking an interference state between the virtual object and a virtual object in proper timing. <P>SOLUTION: Moving velocity of an indicator is found (S404), and it is decided whether to check the interference state between the operation target virtual object and the fixedly disposed virtual object or not on the basis of the found moving velocity (S405). When interference is generated as the result of the check on the interference state between the operation target virtual object and the fixedly disposed virtual object (S408), the effect of the generation of the interference is notified (S409). <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、仮想空間の画像を生成する為の技術に関するものである。   The present invention relates to a technique for generating an image of a virtual space.

複合現実感システムとは、現実空間映像と、ユーザの視点位置、視線方向等に応じて生成される仮想空間映像とを合成することにより得られる合成映像をユーザに提供するものである。複合現実感システムでは、現実空間中に仮想物体が実在しているかのような感覚を観察者に提示することが可能であり、従来の仮想現実感システム(VRシステム)に比べてよりリアルに、実寸感覚を伴った観察が可能となる。   The mixed reality system provides a user with a synthesized video obtained by synthesizing a real space video and a virtual space video generated according to the user's viewpoint position, line-of-sight direction, and the like. In the mixed reality system, it is possible to present the viewer with the sensation as if a virtual object actually exists in the real space, more realistic than the conventional virtual reality system (VR system), Observation with an actual size sense becomes possible.

複合現実空間内のCG物体を操作するには、現実空間内での位置及び姿勢の6自由度を計測あるいは推定するシステム(ここでは6自由度センサと呼ぶ)を用いて、この6自由度センサの位置及び姿勢をCG物体の物体座標系に対応付ける方法がある。例えばPolhemus社のFastrakシステムを用いると、数センチ角ほどの大きさのレシーバの位置及び姿勢の6自由度が計測できる。この計測値をCG物体の物体座標系に対応付けることにより、レシーバーを移動・回転するとそれに追従してCG物体が移動・回転することになる。   In order to operate a CG object in the mixed reality space, this 6-degree-of-freedom sensor is used by using a system (referred to herein as a 6-degree-of-freedom sensor) that measures or estimates the 6 degrees of freedom of the position and orientation in the real space. Is associated with the object coordinate system of the CG object. For example, when using the Poltramus Fastrak system, it is possible to measure 6 degrees of freedom of the position and posture of a receiver having a size of several centimeters. By associating this measurement value with the object coordinate system of the CG object, when the receiver is moved / rotated, the CG object is moved / rotated following it.

このレシーバを物体操作デバイスとして用いることにより、物体操作デバイスによるCG物体に対する操作が可能になる。   By using this receiver as an object operation device, it becomes possible to operate the CG object by the object operation device.

ところで、複合現実感システムとは現実空間内にあたかもCG物体が実在しているかのように見せる技術である。そこでたとえば、ふたのない大きな箱の中に小箱を配置する作業を考えると、物体操作デバイスに関連付けられた小箱のCG物体(以降CG物体1と呼ぶ)と、物体操作デバイスと関連付けられていない大きな箱のCG物体(以降CG物体2と呼ぶ)との物理干渉を実時間で計測し、干渉が起きた場合には、その部分を点滅表示させる、音を出す、干渉が起きない方向へ物体操作デバイスを移動させるような力覚提示を行う、といった方法を用いることで可能になる。
特開2005−38008号公報
By the way, the mixed reality system is a technology that makes it appear as if a CG object actually exists in the real space. Therefore, for example, when considering the work of arranging a small box in a large box without a lid, a small box CG object (hereinafter referred to as CG object 1) associated with the object manipulation device and the object manipulation device are associated. Measure physical interference with a large CG object (hereinafter referred to as CG object 2) in real time. This is possible by using a method of presenting a force sense that moves the object operation device.
JP 2005-38008 A

しかしながら、この場合ユーザの関心があるのは、CG物体2の内側とCG物体1との間の干渉である。従来の手法では不要の干渉を避けるためにはCG物体1をCG物体2の上側から近づける必要があった。   However, in this case, the user is interested in the interference between the inside of the CG object 2 and the CG object 1. In the conventional method, it is necessary to bring the CG object 1 closer from the upper side of the CG object 2 in order to avoid unnecessary interference.

CG物体1もCG物体2もCGであり、現実物体ではないので、現実空間内では物理干渉は起きていない。そこで望むべくはCG物体1をCG物体2の壁をぶち抜く形でCG物体2の内部に移動させ、その上でCG物体1とCG物体2との間の干渉をチェックするようにしたい。そうすれば、CG物体1をCG物体2の上側から近づけるといった不要な動作をユーザに強いることはなくなる。   Since the CG object 1 and the CG object 2 are both CG and are not real objects, physical interference does not occur in the real space. Therefore, if desired, it is desired to move the CG object 1 into the CG object 2 by punching out the wall of the CG object 2 and then check the interference between the CG object 1 and the CG object 2. Then, the user is not forced to perform an unnecessary operation of bringing the CG object 1 closer to the CG object 2 from above.

また、CG物体同士の干渉チェックを行う処理は、比較的複雑な処理が必要であり、場合によっては干渉チェックを行うがために、映像観察装置を通してユーザに提示する映像の表示速度が低下してしまうことがある。この結果、CG物体1をCG物体2内に配置するという作業そのものが困難になってしまう。   In addition, the process of performing the interference check between CG objects requires a relatively complicated process. In some cases, the interference check is performed, so that the display speed of the video presented to the user through the video observation apparatus decreases. It may end up. As a result, the operation itself of arranging the CG object 1 in the CG object 2 becomes difficult.

本発明は以上の問題に鑑みてなされたものであり、仮想物体同士の干渉状態のチェックを好適なタイミングで行うことで、仮想物体の操作性を向上させることを目的とする。   The present invention has been made in view of the above problems, and an object of the present invention is to improve the operability of a virtual object by checking the interference state between virtual objects at a suitable timing.

本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。   In order to achieve the object of the present invention, for example, an information processing method of the present invention comprises the following arrangement.

即ち、観察者の視点の位置姿勢を取得する第1の取得工程と、
前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得工程と、
仮想空間中に前記第2の取得工程で取得した位置姿勢でもって第1の仮想物体を配置する配置工程と、
前記第1の仮想物体を含む仮想空間を前記第1の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程とを備える情報処理方法であって、
前記指示具の移動速度を求める計算工程と、
前記指示具の移動速度に基づいて、前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックするか否かを決定する決定工程と、
前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知工程と
を備えることを特徴とする。
That is, a first acquisition step of acquiring the position and orientation of the observer's viewpoint;
A second acquisition step of acquiring the position and orientation of the pointing tool held by the observer in hand;
An arrangement step of arranging the first virtual object in the virtual space with the position and orientation acquired in the second acquisition step;
An information processing method comprising: a generation step of generating an image that is visible when the virtual space including the first virtual object is viewed from a viewpoint having the position and orientation acquired in the first acquisition step;
A calculation step for obtaining a moving speed of the indicator;
A determination step of determining whether or not to check an interference state between the first virtual object and the second virtual object arranged in the virtual space, based on the moving speed of the pointing tool;
As a result of checking the interference state between the first virtual object and the second virtual object, if the first virtual object and the second virtual object interfere with each other, the fact is notified. And a notification step.

本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。   In order to achieve the object of the present invention, for example, an information processing method of the present invention comprises the following arrangement.

即ち、観察者の視点の位置姿勢を取得する第1の取得工程と、
前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得工程と、
仮想空間中に前記第2の取得工程で取得した位置姿勢でもって第1の仮想物体を配置する配置工程と、
前記第1の仮想物体を含む仮想空間を前記第1の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程とを備える情報処理方法であって、
前記指示具の移動方向、及び前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との位置関係に基づいて、前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックするか否かを決定する決定工程と、
前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知工程と
を備えることを特徴とする。
That is, a first acquisition step of acquiring the position and orientation of the observer's viewpoint;
A second acquisition step of acquiring the position and orientation of the pointing tool held by the observer in hand;
An arrangement step of arranging the first virtual object in the virtual space with the position and orientation acquired in the second acquisition step;
An information processing method comprising: a generation step of generating an image that is visible when the virtual space including the first virtual object is viewed from a viewpoint having the position and orientation acquired in the first acquisition step;
Arranged in the first virtual object and the virtual space based on the moving direction of the pointing tool and the positional relationship between the first virtual object and the second virtual object arranged in the virtual space A determining step for determining whether or not to check the interference state with the second virtual object being performed;
As a result of checking the interference state between the first virtual object and the second virtual object, if the first virtual object and the second virtual object interfere with each other, the fact is notified. And a notification step.

本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。   In order to achieve the object of the present invention, for example, an information processing method of the present invention comprises the following arrangement.

即ち、観察者の視点の位置姿勢を取得する第1の取得工程と、
前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得工程と、
仮想空間中に前記第2の取得工程で取得した位置姿勢でもって第1の仮想物体を配置する配置工程と、
前記第1の仮想物体を含む仮想空間を前記第1の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程とを備える情報処理方法であって、
前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックする処理の負荷を推定する推定工程と、
前記推定工程で推定された負荷に応じて、前記チェックを行うか否かを決定する決定工程と、
前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知工程と
を備えることを特徴とする。
That is, a first acquisition step of acquiring the position and orientation of the observer's viewpoint;
A second acquisition step of acquiring the position and orientation of the pointing tool held by the observer in hand;
An arrangement step of arranging the first virtual object in the virtual space with the position and orientation acquired in the second acquisition step;
An information processing method comprising: a generation step of generating an image that is visible when the virtual space including the first virtual object is viewed from a viewpoint having the position and orientation acquired in the first acquisition step;
An estimation step for estimating a load of processing for checking an interference state between the first virtual object and the second virtual object arranged in the virtual space;
A determination step for determining whether to perform the check according to the load estimated in the estimation step;
As a result of checking the interference state between the first virtual object and the second virtual object, if the first virtual object and the second virtual object interfere with each other, the fact is notified. And a notification step.

本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。   In order to achieve the object of the present invention, for example, an information processing apparatus of the present invention comprises the following arrangement.

即ち、観察者の視点の位置姿勢を取得する第1の取得手段と、
前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得手段と、
仮想空間中に前記第2の取得手段によって取得した位置姿勢でもって第1の仮想物体を配置する配置手段と、
前記第1の仮想物体を含む仮想空間を前記第1の取得手段によって取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段とを備える情報処理装置であって、
前記指示具の移動速度を求める計算手段と、
前記指示具の移動速度に基づいて、前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックするか否かを決定する決定手段と、
前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知手段と
を備えることを特徴とする。
That is, first acquisition means for acquiring the position and orientation of the viewpoint of the observer;
Second acquisition means for acquiring the position and orientation of the pointing tool held by the observer in his hand;
Arrangement means for arranging the first virtual object in the virtual space with the position and orientation acquired by the second acquisition means;
An information processing apparatus comprising: a generation unit configured to generate an image that is visible when a virtual space including the first virtual object is viewed from a viewpoint having the position and orientation acquired by the first acquisition unit;
A calculation means for obtaining a moving speed of the indicator;
Determining means for determining whether or not to check an interference state between the first virtual object and the second virtual object arranged in the virtual space, based on a moving speed of the pointing tool;
As a result of checking the interference state between the first virtual object and the second virtual object, if the first virtual object and the second virtual object interfere with each other, the fact is notified. And an informing means.

本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。   In order to achieve the object of the present invention, for example, an information processing apparatus of the present invention comprises the following arrangement.

即ち、観察者の視点の位置姿勢を取得する第1の取得手段と、
前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得手段と、
仮想空間中に前記第2の取得手段によって取得した位置姿勢でもって第1の仮想物体を配置する配置手段と、
前記第1の仮想物体を含む仮想空間を前記第1の取得手段によって取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段とを備える情報処理装置であって、
前記指示具の移動方向、及び前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との位置関係に基づいて、前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックするか否かを決定する決定手段と、
前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知手段と
を備えることを特徴とする。
That is, first acquisition means for acquiring the position and orientation of the viewpoint of the observer;
Second acquisition means for acquiring the position and orientation of the pointing tool held by the observer in his hand;
Arrangement means for arranging the first virtual object in the virtual space with the position and orientation acquired by the second acquisition means;
An information processing apparatus comprising: a generation unit configured to generate an image that is visible when a virtual space including the first virtual object is viewed from a viewpoint having the position and orientation acquired by the first acquisition unit;
Arranged in the first virtual object and the virtual space based on the moving direction of the pointing tool and the positional relationship between the first virtual object and the second virtual object arranged in the virtual space Determining means for determining whether or not to check the interference state with the second virtual object being performed;
As a result of checking the interference state between the first virtual object and the second virtual object, if the first virtual object and the second virtual object interfere with each other, the fact is notified. And an informing means.

本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。   In order to achieve the object of the present invention, for example, an information processing apparatus of the present invention comprises the following arrangement.

即ち、観察者の視点の位置姿勢を取得する第1の取得手段と、
前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得手段と、
仮想空間中に前記第2の取得手段によって取得した位置姿勢でもって第1の仮想物体を配置する配置手段と、
前記第1の仮想物体を含む仮想空間を前記第1の取得手段によって取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段とを備える情報処理装置であって、
前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックする処理の負荷を推定する推定手段と、
前記推定手段によって推定された負荷に応じて、前記チェックを行うか否かを決定する決定手段と、
前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知手段と
を備えることを特徴とする。
That is, first acquisition means for acquiring the position and orientation of the viewpoint of the observer;
Second acquisition means for acquiring the position and orientation of the pointing tool held by the observer in his hand;
Arrangement means for arranging the first virtual object in the virtual space with the position and orientation acquired by the second acquisition means;
An information processing apparatus comprising: a generation unit configured to generate an image that is visible when a virtual space including the first virtual object is viewed from a viewpoint having the position and orientation acquired by the first acquisition unit;
Estimating means for estimating a load of processing for checking an interference state between the first virtual object and the second virtual object arranged in the virtual space;
Determining means for determining whether to perform the check according to the load estimated by the estimating means;
As a result of checking the interference state between the first virtual object and the second virtual object, if the first virtual object and the second virtual object interfere with each other, the fact is notified. And an informing means.

本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。   In order to achieve the object of the present invention, for example, an information processing method of the present invention comprises the following arrangement.

即ち、前記観察者が操作する指示具の位置を取得する取得工程と、
前記指示具の位置に応じて第1の仮想物体を配置する配置工程と、
前記第1の仮想物体と、前記第1の仮想物体とは異なる第2の仮想物体との干渉状態を判定し、該判定結果に応じた報知を行う報知工程とを有する情報処理方法であって、
前記指示具の移動速度に応じて、前記報知工程を制御することを特徴とする。
That is, an acquisition step of acquiring the position of the pointing tool operated by the observer;
An arrangement step of arranging the first virtual object according to the position of the pointing tool;
An information processing method comprising: a notification step of determining an interference state between the first virtual object and a second virtual object different from the first virtual object, and performing notification according to the determination result. ,
The notification step is controlled according to the moving speed of the pointing tool.

本発明の構成により、仮想物体同士の干渉状態のチェックを好適なタイミングで行うことで、仮想物体の操作性を向上させることができる。   With the configuration of the present invention, the operability of the virtual object can be improved by checking the interference state between the virtual objects at a suitable timing.

以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。   Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings.

[第1の実施形態]
図1は、現実空間に仮想空間を重畳させた複合現実空間を観察者(ユーザ)に提供するためのシステムの外観を示す図である。
[First Embodiment]
FIG. 1 is a diagram illustrating an appearance of a system for providing an observer (user) with a mixed reality space in which a virtual space is superimposed on a real space.

同図において200はトランスミッタで、磁場を発生させる。100は観察者の頭部に装着し、現実空間と仮想空間とを合成した空間(複合現実空間)の画像を観察者の眼前に提供する為の頭部装着型表示装置(以下、HMD:Head Mounted Displayと呼称する)で、カメラ102a、102b、表示装置101a、101b、磁気レシーバ201により構成されている。   In the figure, reference numeral 200 denotes a transmitter which generates a magnetic field. Reference numeral 100 denotes a head-mounted display device (hereinafter referred to as HMD: Head) that is attached to the observer's head and provides an image of a space (mixed reality space) obtained by combining the real space and the virtual space in front of the observer's eyes. The camera 102a and 102b, the display devices 101a and 101b, and the magnetic receiver 201 are referred to as “Mounted Display”.

カメラ102a、102bはそれぞれHMD100を頭部に装着した観察者の右目、左目から見える現実空間の動画像を撮像するものであり、撮像した各フレームの画像は後段のコンピュータ400に出力される。   The cameras 102a and 102b each capture a moving image of a real space that can be seen from the right and left eyes of an observer wearing the HMD 100 on the head, and the captured images of each frame are output to the computer 400 at the subsequent stage.

表示装置101a、101bはそれぞれ、観察者がHMD100を頭部に装着したときに右目、左目の眼前に位置するようにHMD100に装着されたものであり、後段のコンピュータ400から出力された画像信号に基づいた画像を表示する。従って観察者の右目、左目の眼前にはコンピュータ400が生成した画像が提供されることになる。   The display devices 101a and 101b are each mounted on the HMD 100 so that the observer is positioned in front of the right eye and the left eye when the HMD 100 is mounted on the head. Display the based image. Accordingly, an image generated by the computer 400 is provided in front of the viewer's right eye and left eye.

磁気レシーバ201は、上記トランスミッタ200が発する磁場の変化を検知し、検知した結果の信号を後段の位置姿勢計測装置205に出力するものである。検知した結果の信号は、トランスミッタ200の位置を原点とし、この原点の位置で互いに直交する3軸をそれぞれx、y、z軸とする座標系(以下、センサ座標系と呼称する)において、磁気レシーバ201の位置姿勢に応じて検知される磁場の変化を示す信号である。   The magnetic receiver 201 detects a change in the magnetic field generated by the transmitter 200 and outputs a detection result signal to the subsequent position / orientation measurement device 205. The detected signal is a magnetic signal in a coordinate system (hereinafter referred to as a sensor coordinate system) in which the position of the transmitter 200 is an origin, and three axes orthogonal to each other at the position of the origin are x, y, and z axes. It is a signal indicating a change in magnetic field detected according to the position and orientation of the receiver 201.

位置姿勢計測装置205は、この信号に基づいて、センサ座標系における磁気レシーバ201の位置姿勢を求め、求めた位置姿勢を示すデータは後段のコンピュータ400に出力される。   Based on this signal, the position / orientation measurement apparatus 205 obtains the position / orientation of the magnetic receiver 201 in the sensor coordinate system, and data indicating the obtained position / orientation is output to the computer 400 at the subsequent stage.

図2は、HMD100の具体的な構成を示す図である。   FIG. 2 is a diagram illustrating a specific configuration of the HMD 100.

101は映像表示装置で、0.5〜数インチ程度の小型の液晶表示デバイス等で構成されるものである。103は、映像表示装置101の映像を拡大するレンズの役目を果たす自由曲面プリズムである。このような構成により、映像表示装置101に表示された映像は、観察者にとってはたとえば2m先に90インチ相当の映像として提示される。   Reference numeral 101 denotes a video display device which is composed of a small liquid crystal display device of about 0.5 to several inches. Reference numeral 103 denotes a free-form surface prism that serves as a lens for enlarging the image of the image display device 101. With such a configuration, the video displayed on the video display device 101 is presented to the observer as a video equivalent to 90 inches, for example, 2 m ahead.

102は映像入力装置であり、CCDカメラ、CMOSカメラなどの撮像デバイスで構成されるものである。104は現実空間の光を映像入力装置102に収束させるためのレンズの役目をはたす撮像系プリズムである。撮像系プリズム104は自由曲面プリズム103の外側に、光軸を一致させるように配置することで、映像入力装置102で入力した映像と、映像表示装置101に表示した映像の視差をなくし、現実空間の映像を違和感なく再現することが可能である。   Reference numeral 102 denotes a video input device, which includes an imaging device such as a CCD camera or a CMOS camera. An imaging system prism 104 serves as a lens for converging light in the real space to the video input device 102. The imaging system prism 104 is arranged outside the free-form surface prism 103 so that the optical axes coincide with each other, thereby eliminating the parallax between the video input by the video input device 102 and the video displayed on the video display device 101, and in real space. Can be reproduced without a sense of incongruity.

図1に戻って、300は観察者の手に保持される指示具であり、磁気レシーバそのもの、若しくは磁気レシーバが組み込まれたものである。以下では説明を簡単にするために、指示具300は磁気レシーバそのものであるとするが、指示具300内に磁気レシーバが組み込まれている場合であっても以下の説明の本質は変わらない。   Returning to FIG. 1, reference numeral 300 denotes an indicator held in the observer's hand, which is a magnetic receiver itself or a magnetic receiver incorporated therein. In the following, for the sake of simplicity, it is assumed that the indicator 300 is a magnetic receiver itself. However, even if the magnetic receiver is incorporated in the indicator 300, the essence of the following description does not change.

指示具300(磁気レシーバ)は磁気レシーバ201と同様に、センサ座標系における自身の位置姿勢に応じた磁場の変化を検知し、検知結果を示す信号(換言すれば、センサ座標系における指示具300自身の位置姿勢を示す信号)を位置姿勢計測装置205に出力する。従って位置姿勢計測装置205は、この信号に基づいて、センサ座標系における指示具300の位置姿勢を求めることができ、求めた位置姿勢を示すデータは後段のコンピュータ400に出力される。よって、観察者が指示具300を手に持ってその位置や姿勢を変化させても、指示具300の位置姿勢は常に指示具300自身によって計測され、その計測された位置姿勢データはコンピュータ400に入力される。   Like the magnetic receiver 201, the pointing device 300 (magnetic receiver) detects a change in the magnetic field according to its position and orientation in the sensor coordinate system, and indicates a signal indicating the detection result (in other words, the pointing device 300 in the sensor coordinate system). A signal indicating its own position / posture) is output to the position / posture measuring apparatus 205. Accordingly, the position / orientation measuring apparatus 205 can obtain the position / orientation of the pointing tool 300 in the sensor coordinate system based on this signal, and data indicating the obtained position / orientation is output to the computer 400 at the subsequent stage. Therefore, even if the observer holds the pointing device 300 in his / her hand and changes its position and posture, the position / posture of the pointing device 300 is always measured by the pointing device 300 itself, and the measured position / posture data is stored in the computer 400. Entered.

301は置き台である。   301 is a stand.

400はコンピュータで、HMD100の表示装置101a、101bに出力すべき画像信号を生成したり、位置姿勢計測装置205からのデータを受け、これを管理する等の処理を行う。このコンピュータは一般的には例えばPC(パーソナルコンピュータ)やWS(ワークステーション)等により構成される。図8は、コンピュータ400のハードウェア構成を示すブロック図である。   A computer 400 generates an image signal to be output to the display devices 101a and 101b of the HMD 100, receives data from the position / orientation measurement device 205, and performs processing such as management. This computer is generally composed of, for example, a PC (personal computer), WS (workstation), or the like. FIG. 8 is a block diagram illustrating a hardware configuration of the computer 400.

2201はCPUで、RAM2202やROM2203に格納されているプログラムやデータを用いてコンピュータ400全体の制御を行うと共に、I/F2207に接続される外部装置とのデータ通信の制御を行う。また、コンピュータ400が行う後述の各処理を実行する。   A CPU 2201 controls the entire computer 400 using programs and data stored in the RAM 2202 and the ROM 2203 and controls data communication with an external device connected to the I / F 2207. Also, each process described later performed by the computer 400 is executed.

2202はRAMで、外部記憶装置2205からロードされたプログラムやデータを一時的に記憶するためのエリア、I/F2207を介して受信したデータを一時的に記憶する為のエリア、そして、CPU2201が各種の処理を実行する際に必要なワークエリア等、各種エリアを適宜提供することができる。   Reference numeral 2202 denotes a RAM, an area for temporarily storing programs and data loaded from the external storage device 2205, an area for temporarily storing data received via the I / F 2207, and the CPU 2201 Various areas such as a work area necessary for executing this process can be provided as appropriate.

2203はROMで、ブートプログラムやコンピュータ400の設定データなどが格納されている。   A ROM 2203 stores a boot program, setting data of the computer 400, and the like.

2204は操作部で、キーボードやマウス、ジョイスティックなどにより構成されており、コンピュータ400の操作者が操作することで、各種の指示をCPU2201に対して入力することができる。   An operation unit 2204 includes a keyboard, a mouse, a joystick, and the like, and various instructions can be input to the CPU 2201 when operated by an operator of the computer 400.

2205は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置として機能するものであり、ここにOS(オペレーティングシステム)やコンピュータ400が行う後述の各処理をCPU2201に実行させるためのプログラムやデータ等が保存されており、これらの一部、もしくは全部は、CPU2201の制御により、RAM2202にロードされる。また、後述の説明で、既知のデータ(情報)として説明するもの(もしくは以下説明する処理で必要となるべきデータ)もまたこの外部記憶装置2205に保存されており、必要に応じてCPU2201の制御により、RAM2202にロードされる。   Reference numeral 2205 denotes an external storage device that functions as a large-capacity information storage device such as a hard disk drive device. Programs and data for causing the CPU 2201 to execute each process described below performed by the OS (Operating System) and the computer 400 here. Are stored in the RAM 2202 under the control of the CPU 2201. In addition, what is described as known data (information) in the following description (or data that should be necessary for the processing described below) is also stored in the external storage device 2205, and is controlled by the CPU 2201 as necessary. Thus, the data is loaded into the RAM 2202.

2206は表示部で、CRTや液晶画面等により構成されており、CPU2201による処理結果を画像や文字などでもって表示することができる。   A display unit 2206 includes a CRT, a liquid crystal screen, and the like, and can display a processing result by the CPU 2201 using an image, text, or the like.

2207はI/Fで、ここに上記位置姿勢計測装置205、HMD100等が接続されており、このI/F2207を介して、コンピュータ400は位置姿勢計測装置205、HMD100等とのデータ通信を行うことができる。   Reference numeral 2207 denotes an I / F, to which the position / orientation measuring apparatus 205, the HMD 100, and the like are connected. The computer 400 performs data communication with the position / orientation measuring apparatus 205, the HMD 100, and the like via the I / F 2207. Can do.

2208は上述の各部を繋ぐバスである。   Reference numeral 2208 denotes a bus connecting the above-described units.

以上の構成を備えるコンピュータ400は、カメラ102a、102bそれぞれから得られる現実空間の画像を取り込むとと共に、磁気レシーバ201から得られる位置姿勢に基づいてカメラ102a、102bから見える仮想物体の画像を生成する。そして、生成した画像を、先に取り込んだ現実空間の画像上に重畳させ、重畳させた画像を表示装置101a、101bに出力する。これにより、HMD100を頭部に装着した観察者の右目、左目の眼前には、それぞれの目の位置姿勢に対応した複合現実空間画像が表示されることになる。   The computer 400 having the above configuration captures real space images obtained from the cameras 102a and 102b, and generates virtual object images that can be seen from the cameras 102a and 102b based on the position and orientation obtained from the magnetic receiver 201. . Then, the generated image is superimposed on the previously captured real space image, and the superimposed image is output to the display devices 101a and 101b. As a result, a mixed reality space image corresponding to the position and orientation of each eye is displayed in front of the right and left eyes of the observer wearing the HMD 100 on the head.

図3は、このコンピュータ400の機能構成を示すブロック図である。   FIG. 3 is a block diagram showing a functional configuration of the computer 400.

401R、401Lは映像キャプチャ部であり、それぞれカメラ102a、102bより入力した画像をデータとして取り込む。   Reference numerals 401R and 401L denote video capture units, which capture images input from the cameras 102a and 102b, respectively, as data.

404は位置姿勢情報入力部であり、位置姿勢計測装置205から出力されたデータを取り込む。このデータには、磁気レシーバ201、指示具300のセンサ座標系における位置姿勢を示すデータが含まれる。   Reference numeral 404 denotes a position / orientation information input unit that captures data output from the position / orientation measurement apparatus 205. This data includes data indicating the position and orientation of the magnetic receiver 201 and the pointing tool 300 in the sensor coordinate system.

406は、3DCG描画データで、仮想空間を構成する仮想物体の画像を生成するためのデータである。本実施形態では仮想物体はポリゴンでもって構成されているものとするので、3DCG描画データには、ポリゴンの法線ベクトルデータ、ポリゴンを構成する各頂点の座標値データ、ポリゴンカラーデータ、そしてテクスチャマッピングを行う場合にはテクスチャ画像データ等が含まれる。なお、仮想物体を構成するものはポリゴンに限定するものではない。   Reference numeral 406 denotes 3DCG drawing data, which is data for generating an image of a virtual object constituting the virtual space. In this embodiment, since the virtual object is composed of polygons, the 3DCG drawing data includes polygon normal vector data, coordinate value data of each vertex constituting the polygon, polygon color data, and texture mapping. When performing, texture image data and the like are included. Note that what constitutes a virtual object is not limited to a polygon.

405は位置姿勢算出部であり、位置姿勢情報入力部404から入力される磁気レシーバ201のセンサ座標系における位置姿勢を示すデータを用いて、センサ座標系におけるカメラ102a、102bの位置姿勢を求める(磁気レシーバ201とカメラ102a、102bとの位置姿勢関係を予めバイアスとして求めておけば、磁気レシーバ201により計測した位置姿勢にこのバイアスを加えることで、カメラ102a、102bの位置姿勢は求めることができる)。なお、以下ではカメラ102a、102bをまとめて「視点」と呼称する場合がある。   Reference numeral 405 denotes a position / orientation calculation unit, which obtains the position / orientation of the cameras 102a and 102b in the sensor coordinate system using data indicating the position / orientation in the sensor coordinate system of the magnetic receiver 201 input from the position / orientation information input unit 404. If the position and orientation relationship between the magnetic receiver 201 and the cameras 102a and 102b is obtained in advance as a bias, the position and orientation of the cameras 102a and 102b can be obtained by adding this bias to the position and orientation measured by the magnetic receiver 201. ). Hereinafter, the cameras 102a and 102b may be collectively referred to as “viewpoint”.

407はCGレンダリング部で、カメラ102a、102bの位置姿勢に応じて見える仮想空間の画像を生成する。この仮想空間中には、指示具300に重畳させる仮想物体(以下、「操作対象仮想物体」と呼称する)と、仮想空間中に固定配置される1以上の仮想物体(以下、「固定配置仮想物体」と呼称する)とが含まれている。   A CG rendering unit 407 generates a virtual space image that can be seen according to the position and orientation of the cameras 102a and 102b. In this virtual space, a virtual object to be superimposed on the pointing device 300 (hereinafter referred to as “operation target virtual object”) and one or more virtual objects (hereinafter referred to as “fixed placement virtual”) fixedly placed in the virtual space. (Referred to as "object").

従って、CGレンダリング部407は、センサ座標系における指示具300の位置姿勢でもって仮想空間中に操作対象仮想物体を配置すると共に、固定配置仮想物体を予め定められた位置姿勢でもって仮想空間中に配置し、それぞれの仮想物体を配置した仮想空間を位置姿勢算出部405が算出したカメラ102a、102bの位置姿勢に応じて見た場合に見える画像(仮想空間画像)を生成する。   Accordingly, the CG rendering unit 407 arranges the operation target virtual object in the virtual space with the position and orientation of the pointing tool 300 in the sensor coordinate system, and places the fixed placement virtual object in the virtual space with the predetermined position and orientation. An image (virtual space image) that is visible when the virtual space where the respective virtual objects are arranged is viewed according to the position and orientation of the cameras 102a and 102b calculated by the position and orientation calculation unit 405 is generated.

なお、所定の位置姿勢を有する視点から見える仮想空間の画像を生成する処理については周知の技術であるので、これに関する詳細な説明は省略する。   Note that processing for generating an image of a virtual space that can be seen from a viewpoint having a predetermined position and orientation is a well-known technique, and thus detailed description thereof will be omitted.

402R、402Lは映像合成部であり、それぞれ映像キャプチャ部401R、401Lから入力した現実空間の画像上に、CGレンダリング部407が生成した「カメラ102aの位置姿勢に応じて見える仮想空間画像」、「カメラ102bの位置姿勢に応じて見える仮想空間画像」を重畳させ、それぞれ、映像生成部403R、403Lに出力する。これにより、カメラ102aの位置姿勢に応じて見える複合現実空間の画像、カメラ102bの位置姿勢に応じて見える複合現実空間の画像を生成することができる。   Reference numerals 402R and 402L denote video composition units, which are generated by the CG rendering unit 407 on the real space images input from the video capture units 401R and 401L, respectively, and “virtual space images that can be seen according to the position and orientation of the camera 102a” and “ The “virtual space images that can be seen according to the position and orientation of the camera 102b” are superimposed and output to the video generation units 403R and 403L, respectively. Accordingly, it is possible to generate a mixed reality space image that can be seen according to the position and orientation of the camera 102a, and a mixed reality space image that can be seen according to the position and orientation of the camera 102b.

映像生成部403R、403Lはそれぞれ、映像合成部402R、402Lから出力された複合現実空間の画像をそれぞれ表示装置101a、101bに映像信号として出力する。これにより、HMD100を頭部に装着した観察者の右目、左目の眼前には、それぞれの目に対応した複合現実空間の画像が表示される。   The video generation units 403R and 403L output the mixed reality space images output from the video synthesis units 402R and 402L to the display devices 101a and 101b, respectively, as video signals. Thereby, an image of the mixed reality space corresponding to each eye is displayed in front of the right eye and the left eye of the observer wearing the HMD 100 on the head.

408はCG物体速度計測部であり、位置姿勢情報入力部404から順次得られる「指示具300の位置情報」を参照して、現時点での指示具300の移動速度を求める。移動速度を求める方法については様々な方法が考えられるが、例えば時刻tにおいて位置姿勢算出部405から得られた位置情報と、時刻(t−1)において位置姿勢算出部405から得られた位置情報との差分、即ち3次元ベクトルを求め、このベクトルのサイズを、時刻tにおける指示具300の移動速度として求めるようにしても良い。   Reference numeral 408 denotes a CG object speed measuring unit, which refers to “position information of the pointing tool 300” sequentially obtained from the position / orientation information input unit 404 and obtains the current moving speed of the pointing tool 300. There are various methods for obtaining the moving speed. For example, the position information obtained from the position / orientation calculation unit 405 at time t and the position information obtained from the position / orientation calculation unit 405 at time (t−1). May be obtained as a moving speed of the pointing device 300 at time t.

409は、操作対象仮想物体と固定配置仮想物体との干渉状態(互いに衝突しているのか否か)をチェックする処理を行う干渉チェック部である。このようなチェック処理は常に行われるものではなく、それはCG物体速度計測部408が求めた指示具300の移動速度によって決まる。   Reference numeral 409 denotes an interference check unit that performs a process of checking an interference state between the operation target virtual object and the fixedly arranged virtual object (whether or not they collide with each other). Such a check process is not always performed, and is determined by the moving speed of the pointing tool 300 obtained by the CG object speed measuring unit 408.

即ち、指示具300の移動速度が所定値以上である場合、これは、観察者が指示具300を所望の位置に移動させている途中であると考えられ、この時点で干渉状態のチェック処理を行っては、観察者は操作対象仮想物体と固定配置仮想物体との干渉を気にしながら指示具300を移動させることになるので、指示具300の移動が面倒となる。従って、このような場合には、干渉状態のチェック処理は行わない。   That is, when the moving speed of the pointing device 300 is equal to or higher than a predetermined value, it is considered that the observer is moving the pointing device 300 to a desired position. At this time, the interference state check process is performed. In doing so, the observer moves the pointing tool 300 while paying attention to the interference between the operation target virtual object and the fixed-placement virtual object, so that the movement of the pointing tool 300 becomes troublesome. Therefore, in such a case, the interference state check process is not performed.

一方、指示具300の移動速度が所定値以下である場合、これは、観察者が指示具300を所望の位置近傍に移動させ、これから操作対象仮想物体の細かい位置姿勢合わせを行うものと考えられる。例えば操作対象仮想物体を固定配置仮想物体内の所定の位置姿勢に配置する場合には、操作対象仮想物体を固定配置仮想物体内に移動させた後、操作対象仮想物体が所望の位置姿勢となるべく、観察者は指示具300を細かく移動させて操作対象仮想物体の位置姿勢合わせを行う。ここで干渉状態のチェック処理を行わないと、観察者は操作対象仮想物体がきちんと固定配置仮想物体内に収まっているのかが分からない。そこでこのような場合には、干渉状態のチェック処理を行う。   On the other hand, when the moving speed of the pointing tool 300 is equal to or less than a predetermined value, it is considered that the observer moves the pointing tool 300 to a vicinity of a desired position and finely adjusts the position and orientation of the operation target virtual object. . For example, when the operation target virtual object is arranged at a predetermined position and orientation in the fixed arrangement virtual object, after the operation target virtual object is moved into the fixed arrangement virtual object, the operation target virtual object should be in a desired position and orientation. The observer finely moves the pointing tool 300 to adjust the position and orientation of the operation target virtual object. If the interference state check process is not performed here, the observer cannot know whether the operation target virtual object is properly contained in the fixedly arranged virtual object. In such a case, an interference state check process is performed.

よって、CG物体速度計測部408は指示具300の移動速度を求める毎に干渉チェック部409に通知する。干渉チェック部409は通知された速度が所定値以下であれば干渉チェック処理を行い、逆に所定値以上であれば干渉チェック処理は行わない。   Therefore, the CG object speed measurement unit 408 notifies the interference check unit 409 every time the moving speed of the pointing tool 300 is obtained. The interference check unit 409 performs interference check processing if the notified speed is equal to or lower than a predetermined value, and conversely does not perform interference check processing if the notified speed is equal to or higher than the predetermined value.

また、仮想物体同士の干渉状態のチェック処理は、例えば、それぞれの仮想物体を構成するポリゴン毎に衝突しているのか否かをチェックすることによりなされる。なお、このように、仮想物体同士の干渉状態をチェックし、それぞれが干渉している場合にはどの部分が干渉しているのかを特定する為の技術についてはテレビゲームの分野などで広く一般に用いられている技術であるので、これに関する詳細な説明は省略する。   In addition, the process of checking the interference state between virtual objects is performed, for example, by checking whether or not each polygon constituting each virtual object collides. As described above, the technology for checking the interference state between virtual objects and identifying which part is interfering with each other is widely used in the field of video games. Therefore, a detailed description thereof will be omitted.

そして干渉チェック部409は、操作対象仮想物体と固定配置仮想物体とが干渉していると判断した場合には、それぞれの干渉部分(ポリゴン)をCGレンダリング部407に通知するので、CGレンダリング部407は操作対象仮想物体、固定配置仮想物体のそれぞれの干渉部分のポリゴンカラーを変えたり、点滅させるなど、それぞれの干渉部分を視覚的にわかりやすいように干渉部分の描画をその他の部分とは異ならせるようにする。   When the interference check unit 409 determines that the operation target virtual object and the fixed placement virtual object are interfering with each other, the interference check unit 409 notifies the CG rendering unit 407 of each interference portion (polygon). Change the drawing of the interference part differently from the other parts so that each interference part is visually easy to understand, such as changing the polygon color of each interference part of the virtual object to be manipulated and the virtual object to be fixed or blinking To.

図4は、1フレーム分の複合現実空間画像を生成して表示装置101a、101bに出力するまでの一連の処理のフローチャートである。なお、同図のフローチャートに従った処理をコンピュータ400のCPU2201に実行させるためのプログラムやデータは外部記憶装置2205に保存されており、これをCPU2201による制御に従ってRAM2202にロードし、CPU2201がこれを用いて処理を実行することで、コンピュータ400は以下説明する各処理を実行する。   FIG. 4 is a flowchart of a series of processing until a mixed reality space image for one frame is generated and output to the display devices 101a and 101b. Note that programs and data for causing the CPU 2201 of the computer 400 to execute the processing according to the flowchart of FIG. 10 are stored in the external storage device 2205, which is loaded into the RAM 2202 according to the control of the CPU 2201, and is used by the CPU 2201. Thus, the computer 400 executes each process described below.

先ず、カメラ102a、102bにより撮像された現実空間の画像がI/F2207を介してコンピュータ400内に入力されるので、CPU2201はこれをRAM2202に格納する(ステップS401)。   First, since an image of the real space captured by the cameras 102a and 102b is input into the computer 400 via the I / F 2207, the CPU 2201 stores it in the RAM 2202 (step S401).

また一方で、位置姿勢計測装置205からは、磁気レシーバ201のセンサ座標系における位置姿勢を示すデータ、指示具300のセンサ座標系における位置姿勢を示すデータがI/F2207を介してコンピュータ400内に入力されるので、CPU2201はこれらをRAM2202、若しくは外部記憶装置2205に格納する(ステップS402)。   On the other hand, data indicating the position and orientation of the magnetic receiver 201 in the sensor coordinate system and data indicating the position and orientation of the pointing device 300 in the sensor coordinate system are stored in the computer 400 via the I / F 2207 from the position and orientation measurement apparatus 205. Since these are input, the CPU 2201 stores them in the RAM 2202 or the external storage device 2205 (step S402).

なお、上記ステップS401、S402におけるそれぞれの処理は独立して行われるものであるので、それぞれのステップにおける処理はこの順に実行することには限定しない。   In addition, since each process in the said step S401, S402 is performed independently, it does not limit to performing the process in each step in this order.

次に、CPU2201は、センサ座標系における磁気レシーバ201の位置姿勢に上記バイアスを加算することで、センサ座標系におけるカメラ102a、102bの位置姿勢を求めるので、この視点のセンサ座標系における位置姿勢を示すデータをRAM2202に一時的に格納する(ステップS403)。   Next, the CPU 2201 obtains the position and orientation of the cameras 102a and 102b in the sensor coordinate system by adding the bias to the position and orientation of the magnetic receiver 201 in the sensor coordinate system. The indicated data is temporarily stored in the RAM 2202 (step S403).

次に、CPU2201は、ステップS402で取得した指示具300の位置情報、そして過去に取得した指示具300の位置情報を用いて、現時点での指示具300の移動速度を求める(ステップS404)。求める方法については上述の通り特に限定するものではない。   Next, the CPU 2201 obtains the current moving speed of the pointing tool 300 using the position information of the pointing tool 300 acquired in step S402 and the position information of the pointing tool 300 acquired in the past (step S404). The method for obtaining is not particularly limited as described above.

そして求めた移動速度が所定値以下であるのか否かを判断し(ステップS405)、所定値以下である場合には処理をステップS406に進め、操作対象仮想物体と固定配置仮想物体との干渉状態をチェックする(ステップS406)。   Then, it is determined whether or not the obtained moving speed is equal to or less than a predetermined value (step S405). If it is equal to or less than the predetermined value, the process proceeds to step S406, and the interference state between the operation target virtual object and the fixedly arranged virtual object Is checked (step S406).

そしてステップS406における処理後、若しくは指示具300の移動速度が所定値以上である場合には処理をステップS407に進め、操作対象仮想物体、固定配置仮想物体を仮想空間中に配置する(ステップS407)。即ち、ステップS402で取得した指示具300のセンサ座標系における位置姿勢でもって仮想空間中に操作対象仮想物体を配置すると共に、予め定められた位置姿勢でもって仮想空間中に固定配置仮想物体を配置する。なお、固定配置仮想物体の配置位置姿勢については固定することに限定するものではなく、動的に変化するようなものであっても良い。   Then, after the process in step S406, or when the moving speed of the pointing tool 300 is equal to or higher than the predetermined value, the process proceeds to step S407, and the operation target virtual object and the fixed arrangement virtual object are arranged in the virtual space (step S407). . That is, the operation target virtual object is arranged in the virtual space with the position and orientation in the sensor coordinate system of the pointing device 300 acquired in step S402, and the fixed arrangement virtual object is arranged in the virtual space with the predetermined position and orientation. To do. The arrangement position / posture of the fixed arrangement virtual object is not limited to being fixed, and may be dynamically changed.

そして次に、ステップS406で干渉していると判断されたか否かを判断し(ステップS408)、干渉していると判断された場合には、処理をステップS409に進め、干渉部分を報知する処理を行う(ステップS409)。本実施形態では報知方法として、干渉部分を赤で描画したり、点滅表示させるなど、表示でもって干渉部分を報知する。   Next, it is determined whether or not interference has been determined in step S406 (step S408). If it is determined that interference has occurred, the process proceeds to step S409 to notify the interference portion. (Step S409). In this embodiment, as a notification method, the interference part is notified by display, such as drawing the interference part in red or blinking.

そしてこのようなそれぞれの仮想物体を配置した仮想空間を、ステップS403で求めた位置姿勢を有する視点から見た場合に見える画像(仮想空間画像)をRAM2202上に生成する(ステップS410)。即ち、カメラ102a、102bの位置姿勢から見える仮想空間の画像を生成する。   Then, an image (virtual space image) that is seen when the virtual space in which each virtual object is arranged is viewed from the viewpoint having the position and orientation obtained in step S403 is generated on the RAM 2202 (step S410). That is, an image of the virtual space that can be seen from the position and orientation of the cameras 102a and 102b is generated.

ここで、RAM2202上にはステップS401で既にカメラ102aから得た現実空間画像、カメラ102bから得た現実空間画像が格納されているので、それぞれの画像上にカメラ102aから見た仮想空間画像、カメラ102bから見た仮想空間の画像を生成することで、結果としてRAM2202上にはカメラ102aから見た複合現実空間の画像、カメラ102bから見た複合現実空間の画像が生成されることになる。   Here, since the real space image obtained from the camera 102a and the real space image obtained from the camera 102b in step S401 are already stored on the RAM 2202, the virtual space image and camera viewed from the camera 102a are stored on the respective images. By generating an image of the virtual space viewed from 102b, a mixed reality space image viewed from the camera 102a and a mixed reality space image viewed from the camera 102b are generated on the RAM 2202 as a result.

よってCPU2201はそれぞれの複合現実空間画像をI/F2207を介して表示装置101a、101bに出力する(ステップS411)。   Therefore, the CPU 2201 outputs each mixed reality space image to the display devices 101a and 101b via the I / F 2207 (step S411).

以上の説明により、本実施形態によって、観察者は操作対象仮想物体を所望の位置姿勢に移動させる場合に、移動中、即ち固定配置仮想物体との干渉状態をチェックしてほしくない時にはこのチェック処理は行わないし、操作対象仮想物体の位置姿勢を調整しているような場合、即ち固定配置仮想物体との干渉状態をチェックしてほしい時にはこのチェック処理を行うようにするので、結果として観察者は操作対象仮想物体を固定配置仮想物体内の所望の位置姿勢に移動させるための操作を簡便に行うことができる。   As described above, according to the present embodiment, when the observer moves the operation target virtual object to a desired position and orientation, this check process is performed when moving, that is, when it is not desired to check the interference state with the fixedly arranged virtual object. If the position / orientation of the operation target virtual object is adjusted, that is, if you want to check the interference state with the fixedly arranged virtual object, this check process is performed. An operation for moving the operation target virtual object to a desired position and orientation in the fixedly arranged virtual object can be easily performed.

なお、本実施形態では仮想物体同士が干渉している場合には、それぞれの仮想物体の干渉部分の表示形態をその他の部分とは異ならせることでなしていたが、報知方法には様々なものが考えられる。例えば仮想物体同士が干渉すれば、音声にて干渉した旨を通知するようにしても良いし、干渉したことをテキスト文として表示装置101a、101bに表示するようにしても良い。なお、音声にて干渉を報知する場合には、コンピュータ400には音声データ、及びこの音声データをアナログ信号に変換する変換器、及びアナログ信号に基づく音声を出力するスピーカを加える必要がある。   In this embodiment, when virtual objects interfere with each other, the display form of the interference part of each virtual object is made different from the other parts, but there are various notification methods. Can be considered. For example, if virtual objects interfere with each other, the fact that the interference has occurred may be notified by voice, or the fact that the interference has occurred may be displayed as a text sentence on the display devices 101a and 101b. In the case of notifying interference by sound, it is necessary to add to the computer 400 a sound data, a converter that converts the sound data into an analog signal, and a speaker that outputs sound based on the analog signal.

またその他の報知方法としては、力覚提示装置を用いて、指示具300を干渉しない方向へ動かすように力覚提示してもよい。   As another notification method, a force sense presentation device may be used to present a force sense so as to move the pointing tool 300 in a direction that does not interfere.

[第2の実施形態]
第1の実施形態では仮想物体同士の干渉状態のチェック処理を行うか否かの判断基準には、「指示具300の移動速度」のみを用いていた。本実施形態ではこの判断基準として、「指示具300の移動方向」、及び「操作対象仮想物体と固定配置仮想物体との位置関係」を用いる。
[Second Embodiment]
In the first embodiment, only “the moving speed of the pointing tool 300” is used as a criterion for determining whether or not to check the interference state between virtual objects. In the present embodiment, “the moving direction of the pointing tool 300” and “the positional relationship between the operation target virtual object and the fixed placement virtual object” are used as the determination criteria.

尚、本実施形態に係るシステムの構成については第1の実施形態と同じであるが、コンピュータ400の機能構成が第1の実施形態とは異なる。   The system configuration according to this embodiment is the same as that of the first embodiment, but the functional configuration of the computer 400 is different from that of the first embodiment.

図5は、本実施形態に係るコンピュータ400の機能構成を示すブロック図である。尚、同図において図3と同じ部分については同じ番号を付けており、その説明は省略する。図5に示した構成は図3に示した構成にCG物体位置関係計測部410を加えたものである。なお、以下説明する点以外については第1の実施形態と同じである。   FIG. 5 is a block diagram illustrating a functional configuration of the computer 400 according to the present embodiment. Note that the same reference numerals in FIG. 3 denote the same parts as in FIG. 3, and a description thereof will be omitted. The configuration shown in FIG. 5 is obtained by adding a CG object positional relationship measuring unit 410 to the configuration shown in FIG. The points other than those described below are the same as those in the first embodiment.

CG物体速度計測部408は第1の実施形態と同様に指示具300の移動速度を求めるのであるが、ここではその移動方向に着目する。   The CG object speed measuring unit 408 obtains the moving speed of the pointing device 300 as in the first embodiment, but here, paying attention to the moving direction.

また、CG物体位置関係計測部410は、操作対象仮想物体と固定配置仮想物体との位置関係を求める。   Further, the CG object positional relationship measuring unit 410 obtains the positional relationship between the operation target virtual object and the fixed placement virtual object.

図6は、1フレーム分の複合現実空間画像を生成して表示装置101a、101bに出力するまでの一連の処理のフローチャートである。なお、同図のフローチャートに従った処理をコンピュータ400のCPU2201に実行させるためのプログラムやデータは外部記憶装置2205に保存されており、これをCPU2201による制御に従ってRAM2202にロードし、CPU2201がこれを用いて処理を実行することで、コンピュータ400は以下説明する各処理を実行する。   FIG. 6 is a flowchart of a series of processing until a mixed reality space image for one frame is generated and output to the display devices 101a and 101b. Note that programs and data for causing the CPU 2201 of the computer 400 to execute the processing according to the flowchart of FIG. 10 are stored in the external storage device 2205, which is loaded into the RAM 2202 according to the control of the CPU 2201, and is used by the CPU 2201. Thus, the computer 400 executes each process described below.

なお、ステップS601〜S604における処理は上記ステップS401〜S404と同じであるが、ステップS604で求めた移動速度は速度ベクトルとして得る。例えば、例えば時刻tにおいて位置姿勢算出部405から得られた位置情報と、時刻(t−1)において位置姿勢算出部405から得られた位置情報との差分、即ち3次元ベクトルを速度ベクトルとして求める。   The processing in steps S601 to S604 is the same as that in steps S401 to S404, but the moving speed obtained in step S604 is obtained as a speed vector. For example, for example, a difference between position information obtained from the position / orientation calculation unit 405 at time t and position information obtained from the position / orientation calculation unit 405 at time (t−1), that is, a three-dimensional vector is obtained as a velocity vector. .

次に、CPU2201はCG物体位置関係計測部410として機能し、操作対象仮想物体と固定配置仮想物体との位置関係を判断する(ステップS605)。本実施形態では、操作対象仮想物体が固定配置仮想物体の内部に位置するのか否かを判断する。一方の仮想物体が他方の仮想物体に位置するのか否かを判断するための処理については周知のものであるので、これに関する説明は省略する。   Next, the CPU 2201 functions as the CG object positional relationship measuring unit 410 and determines the positional relationship between the operation target virtual object and the fixed placement virtual object (step S605). In the present embodiment, it is determined whether or not the operation target virtual object is located inside the fixed placement virtual object. Since the process for determining whether one virtual object is positioned on the other virtual object is well known, a description thereof will be omitted.

そして操作対象仮想物体が固定配置仮想物体の内部に位置する場合には処理をステップS607に進め、ステップS406と同様に操作対象仮想物体と固定配置仮想物体との干渉状態のチェック処理を行う(ステップS607)。即ち、操作対象仮想物体を固定配置仮想物体内の所定の位置姿勢に配置する場合には、操作対象仮想物体を固定配置仮想物体内に移動させた後、操作対象仮想物体が所望の位置姿勢となるべく、観察者は指示具300を細かく移動させて操作対象仮想物体の位置姿勢合わせを行うので、干渉状態のチェック処理を行わないと、観察者は操作対象仮想物体がきちんと固定配置仮想物体内に収まっているのかが分からない。そこでこのような場合には、干渉状態のチェック処理を行う。そしてステップS607における処理が完了すると処理をステップS608に進める。   If the operation target virtual object is located inside the fixed arrangement virtual object, the process proceeds to step S607, and the interference state check process between the operation target virtual object and the fixed arrangement virtual object is performed (step S406). S607). That is, when the operation target virtual object is arranged at a predetermined position and orientation in the fixed arrangement virtual object, after the operation target virtual object is moved into the fixed arrangement virtual object, the operation target virtual object has the desired position and orientation. As much as possible, the observer moves the pointing tool 300 finely to adjust the position and orientation of the operation target virtual object. Therefore, if the interference state check process is not performed, the observer will properly place the operation target virtual object in the fixedly arranged virtual object. I do n’t know if it ’s in place. In such a case, an interference state check process is performed. Then, when the process in step S607 is completed, the process proceeds to step S608.

一方、操作対象仮想物体が固定配置仮想物体の外部に位置する場合には処理をステップS606に進め、操作対象仮想物体が固定配置仮想物体の内部に向かって移動しているのか否かを判断するために、ステップS604で得た3次元ベクトル(指示具300の移動方向を示すベクトルA)と、操作対象仮想物体の位置(指示具300の位置)から固定配置仮想物体の配置位置へ向かうベクトルBとの内積値を計算し、計算した内積値が正であるのか否かを判断する(ステップS606)。   On the other hand, if the operation target virtual object is located outside the fixed arrangement virtual object, the process proceeds to step S606, and it is determined whether or not the operation target virtual object is moving toward the inside of the fixed arrangement virtual object. Therefore, the three-dimensional vector (vector A indicating the moving direction of the pointing tool 300) obtained in step S604 and the vector B heading from the position of the operation target virtual object (position of the pointing tool 300) to the placement position of the fixed placement virtual object. Is calculated, and it is determined whether or not the calculated inner product value is positive (step S606).

ここで、操作対象仮想物体が固定配置仮想物体の内部に向かって移動していない場合には、上記内積値は負の値を示すので、そのような場合には処理をステップS607に進め、干渉状態のチェック処理を行う。   Here, when the operation target virtual object has not moved toward the inside of the fixed-placement virtual object, the inner product value indicates a negative value. In such a case, the process proceeds to step S607 and interference occurs. Check the status.

一方、操作対象仮想物体が固定配置仮想物体の内部に向かって移動している場合には、上記内積値は正の値を示すので、そのような場合にはステップS607における干渉状態のチェック処理は行わずに、処理をステップS608に進める。即ち、操作対象仮想物体を固定配置仮想物体内の所定の位置姿勢に配置する場合に、指示具300が固定配置仮想物体の外部に位置しており、且つ指示具300を固定配置仮想物体に向かって移動させている場合、指示具300を所望の位置に移動させている途中であると考えられ、この時点で干渉状態のチェック処理を行っては、観察者は操作対象仮想物体と固定配置仮想物体との干渉を気にしながら指示具300を移動させることになるので、指示具300の移動が面倒となる。従って、このような場合には、干渉状態のチェック処理は行わない。   On the other hand, when the operation target virtual object is moving toward the inside of the fixed placement virtual object, the inner product value indicates a positive value. In such a case, the interference state check process in step S607 is performed. Without it, the process proceeds to step S608. That is, when the operation target virtual object is placed at a predetermined position and orientation in the fixed placement virtual object, the pointing tool 300 is located outside the fixed placement virtual object, and the pointing tool 300 faces the fixed placement virtual object. The pointing device 300 is considered to be in the process of being moved to a desired position, and at this point, when the interference state check process is performed, the observer can operate the operation target virtual object and the fixed arrangement virtual object. Since the pointing tool 300 is moved while considering the interference with the object, the movement of the pointing tool 300 becomes troublesome. Therefore, in such a case, the interference state check process is not performed.

そしてステップS608以降の各ステップにおける処理を、上記S407以降の各ステップと同様にして行う。   Then, the processing in each step after step S608 is performed in the same manner as in each step after S407.

なお、本実施形態では操作対象仮想物体と固定配置仮想物体との位置関係を判断する処理の一例として、操作対象仮想物体が固定配置仮想物体の内部に位置しているのか否かを判断したが、より一般的に、「操作対象仮想物体と固定配置仮想物体との位置関係が所定の位置関係を満たすか否かを」を判断するような実施形態としても良い。   In this embodiment, as an example of the process of determining the positional relationship between the operation target virtual object and the fixed placement virtual object, it is determined whether or not the operation target virtual object is located inside the fixed placement virtual object. More generally, an embodiment may be adopted in which it is determined whether or not “the positional relationship between the operation target virtual object and the fixed placement virtual object satisfies a predetermined positional relationship”.

[第3の実施形態]
第1の実施形態では仮想物体同士の干渉状態のチェック処理を行うか否かの判断基準には、「指示具300の移動速度」のみを用いていた。本実施形態ではこの判断基準として「干渉状態のチェック処理を行うためにコンピュータ400に与える推定負荷」を用いる。
[Third Embodiment]
In the first embodiment, only “the moving speed of the pointing tool 300” is used as a criterion for determining whether or not to check the interference state between virtual objects. In the present embodiment, “estimated load given to the computer 400 for performing the interference state check process” is used as the determination criterion.

尚、本実施形態に係るシステムの構成については第1の実施形態と同じであるが、コンピュータ400の機能構成が第1の実施形態とは異なる。   The system configuration according to this embodiment is the same as that of the first embodiment, but the functional configuration of the computer 400 is different from that of the first embodiment.

図7は、本実施形態に係るコンピュータ400の機能構成を示すブロック図である。尚、同図において図3と同じ部分については同じ番号を付けており、その説明は省略する。図7に示した構成は図3に示した構成のうちCG物体速度計測部408を干渉チェック負荷予測部411に置き換えたものである。なお、以下説明する点以外については第1の実施形態と同じである。   FIG. 7 is a block diagram showing a functional configuration of the computer 400 according to the present embodiment. Note that the same reference numerals in FIG. 3 denote the same parts as in FIG. 3, and a description thereof will be omitted. The configuration shown in FIG. 7 is obtained by replacing the CG object speed measurement unit 408 with the interference check load prediction unit 411 in the configuration shown in FIG. The points other than those described below are the same as those in the first embodiment.

干渉チェック負荷予測部411は、CPU2201が操作対象仮想物体と固定配置仮想物体との干渉状態のチェック処理を行う場合に、その処理負荷を推定する処理を行う。この処理負荷が大きいと、例えば複合現実空間の画像生成処理に影響を与え、画像の描画レート、フレームレートが低下することになる。   The interference check load prediction unit 411 performs a process of estimating the processing load when the CPU 2201 performs a check process of an interference state between the operation target virtual object and the fixed placement virtual object. When this processing load is large, for example, the image generation processing in the mixed reality space is affected, and the image drawing rate and frame rate are reduced.

そこで干渉チェック負荷予測部411はこの処理負荷を推定し、推定した処理負荷が所定値以上である場合、即ち、その他の処理(複合現実空間の画像生成処理を含む)に影響を与えるほどの処理負荷以上である場合には、その旨を干渉チェック部409に通知する。そして干渉チェック部409は、推定処理負荷が所定値以上である場合には干渉状態のチェック処理を行わないし、逆に推定処理負荷が所定値以下である場合には干渉状態のチェック処理を行ってもその他の処理には影響はないので、干渉状態のチェック処理を行う。   Therefore, the interference check load prediction unit 411 estimates the processing load, and when the estimated processing load is equal to or greater than a predetermined value, that is, processing that affects other processing (including mixed reality space image generation processing). If the load is greater than or equal to the load, this is notified to the interference check unit 409. The interference check unit 409 does not perform the interference state check process when the estimated processing load is equal to or greater than the predetermined value, and conversely performs the interference state check process when the estimated processing load is equal to or smaller than the predetermined value. Since there is no effect on the other processes, an interference state check process is performed.

なお、本実施形態に係る、1フレーム分の複合現実空間画像を生成して表示装置101a、101bに出力するまでの一連の処理のフローチャートは、図4のフローチャートにおいて以下の点を変更したものとなる。   Note that the flowchart of a series of processing from the generation of the mixed reality space image for one frame to the output to the display devices 101a and 101b according to the present embodiment is as follows in the flowchart of FIG. Become.

即ち、ステップS404では、CPU2201は操作対象仮想物体と固定配置仮想物体との干渉状態のチェック処理の処理負荷を推定する。そしてステップS405では、この推定した処理負荷が所定値以上であるのか否かを判断し、所定値以上である場合には処理をステップS407に進め、所定値以下である場合には処理をステップS406に進める。   That is, in step S404, the CPU 2201 estimates the processing load of the check process of the interference state between the operation target virtual object and the fixed placement virtual object. In step S405, it is determined whether or not the estimated processing load is equal to or greater than a predetermined value. If the estimated processing load is equal to or greater than the predetermined value, the process proceeds to step S407. Proceed to

[第4の実施形態]
なお、以上の各実施形態では、所定の状態によっては干渉状態のチェック処理を行わないとしていたが、完全に干渉状態のチェック処理を行わないのではなく、簡便なチェック方法があればそれを用いるようにしても良い。
[Fourth Embodiment]
In each of the above embodiments, the interference state check process is not performed depending on a predetermined state. However, the interference state check process is not completely performed. If there is a simple check method, it is used. You may do it.

また、上記各実施形態ではHMD100はビデオシースルー型のものを用いているが、光学シースルー型のものを用いるようにしても良い。   In each of the above embodiments, the video see-through type HMD 100 is used, but an optical see-through type may be used.

また、上記各実施形態で用いた「干渉状態のチェック処理を行うか否かの判断に用いる指標」を適宜組み合わせて用いるようにしても良い。   Further, the “index used for determining whether or not to perform interference state check processing” used in each of the above embodiments may be used in appropriate combination.

また、上記各実施形態では観察者の視点の位置姿勢は磁気センサを用いて取得しているが、その他のタイプのセンサ、例えば光学式センサや超音波センサなど、他のタイプのセンサを用いても良いことはいうまでもない。   In each of the above embodiments, the position and orientation of the observer's viewpoint is acquired using a magnetic sensor. However, other types of sensors such as an optical sensor and an ultrasonic sensor are used. It goes without saying that it is also good.

また、視点の位置姿勢を求める手段についてはセンサを用いることに限定するものではなく、例えば、現実空間中にマーカを配置し、この配置位置、及びマーカをカメラでもって撮像した画像上におけるマーカ座標位置を用いてHMD100の位置姿勢を取得するという一般的な方法を用いるようにしても良い。よって、視点の位置姿勢が得られるのであれば、センサを用いることには限定しない。   Further, the means for obtaining the position and orientation of the viewpoint is not limited to using a sensor. For example, a marker is arranged in the real space, and the arrangement position and the marker coordinates on the image captured by the camera are used. A general method of acquiring the position and orientation of the HMD 100 using the position may be used. Therefore, as long as the position and orientation of the viewpoint can be obtained, the use of the sensor is not limited.

[その他の実施形態]
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
[Other Embodiments]
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 the computer (or CPU or 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.

現実空間に仮想空間を重畳させた複合現実空間を観察者(ユーザ)に提供するためのシステムの外観を示す図である。It is a figure which shows the external appearance of the system for providing the observer (user) with the mixed reality space which superimposed the virtual space on the real space. HMD100の具体的な構成を示す図である。It is a figure which shows the specific structure of HMD100. コンピュータ400の機能構成を示すブロック図である。2 is a block diagram showing a functional configuration of a computer 400. FIG. 1フレーム分の複合現実空間画像を生成して表示装置101a、101bに出力するまでの一連の処理のフローチャートである。It is a flowchart of a series of processes until a mixed reality space image for one frame is generated and output to the display devices 101a and 101b. 本発明の第2の実施形態に係るコンピュータ400の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the computer 400 which concerns on the 2nd Embodiment of this invention. 1フレーム分の複合現実空間画像を生成して表示装置101a、101bに出力するまでの一連の処理のフローチャートである。It is a flowchart of a series of processes until a mixed reality space image for one frame is generated and output to the display devices 101a and 101b. 本発明の第3の実施形態に係るコンピュータ400の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the computer 400 which concerns on the 3rd Embodiment of this invention. コンピュータ400のハードウェア構成を示すブロック図である。2 is a block diagram showing a hardware configuration of a computer 400. FIG.

Claims (18)

観察者の視点の位置姿勢を取得する第1の取得工程と、
前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得工程と、
仮想空間中に前記第2の取得工程で取得した位置姿勢でもって第1の仮想物体を配置する配置工程と、
前記第1の仮想物体を含む仮想空間を前記第1の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程とを備える情報処理方法であって、
前記指示具の移動速度を求める計算工程と、
前記指示具の移動速度に基づいて、前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックするか否かを決定する決定工程と、
前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知工程と
を備えることを特徴とする情報処理方法。
A first acquisition step of acquiring the position and orientation of the observer's viewpoint;
A second acquisition step of acquiring the position and orientation of the pointing tool held by the observer in hand;
An arrangement step of arranging the first virtual object in the virtual space with the position and orientation acquired in the second acquisition step;
An information processing method comprising: a generation step of generating an image that is visible when the virtual space including the first virtual object is viewed from a viewpoint having the position and orientation acquired in the first acquisition step;
A calculation step for obtaining a moving speed of the indicator;
A determination step of determining whether or not to check an interference state between the first virtual object and the second virtual object arranged in the virtual space, based on the moving speed of the pointing tool;
As a result of checking the interference state between the first virtual object and the second virtual object, if the first virtual object and the second virtual object interfere with each other, the fact is notified. An information processing method comprising: a notification step.
前記計算工程では、時刻tにおいて前記第2の取得工程で取得した位置と時刻(t−1)において前記第2の取得工程で取得した位置との差分ベクトルを求め、求めた当該差分ベクトルの大きさを前記指示具の時刻tにおける移動速度として求めることを特徴とする請求項1に記載の情報処理方法。   In the calculation step, a difference vector between the position acquired in the second acquisition step at time t and the position acquired in the second acquisition step at time (t−1) is obtained, and the magnitude of the obtained difference vector is calculated. The information processing method according to claim 1, wherein the information is obtained as a moving speed of the pointing tool at time t. 前記決定工程では、前記指示具の移動速度が所定値以下である場合には、前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックを行うと決定することを特徴とする請求項1に記載の情報処理方法。   In the determining step, when the moving speed of the pointing tool is equal to or lower than a predetermined value, it is determined that the interference state between the first virtual object and the second virtual object is checked. The information processing method according to claim 1. 前記決定工程では、前記指示具の移動速度が所定値以上である場合には、前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックを行わないと決定することを特徴とする請求項1に記載の情報処理方法。   In the determining step, when the moving speed of the pointing tool is equal to or higher than a predetermined value, it is determined that the interference state between the first virtual object and the second virtual object is not checked. The information processing method according to claim 1. 観察者の視点の位置姿勢を取得する第1の取得工程と、
前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得工程と、
仮想空間中に前記第2の取得工程で取得した位置姿勢でもって第1の仮想物体を配置する配置工程と、
前記第1の仮想物体を含む仮想空間を前記第1の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程とを備える情報処理方法であって、
前記指示具の移動方向、及び前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との位置関係に基づいて、前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックするか否かを決定する決定工程と、
前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知工程と
を備えることを特徴とする情報処理方法。
A first acquisition step of acquiring the position and orientation of the observer's viewpoint;
A second acquisition step of acquiring the position and orientation of the pointing tool held by the observer in hand;
An arrangement step of arranging the first virtual object in the virtual space with the position and orientation acquired in the second acquisition step;
An information processing method comprising: a generation step of generating an image that is visible when the virtual space including the first virtual object is viewed from a viewpoint having the position and orientation acquired in the first acquisition step;
Arranged in the first virtual object and the virtual space based on the moving direction of the pointing tool and the positional relationship between the first virtual object and the second virtual object arranged in the virtual space A determining step for determining whether or not to check the interference state with the second virtual object being performed;
As a result of checking the interference state between the first virtual object and the second virtual object, if the first virtual object and the second virtual object interfere with each other, the fact is notified. An information processing method comprising: a notification step.
前記決定工程では、前記第1の仮想物体と前記第2の仮想物体とが所定の位置関係となっている場合には、前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックを行うと決定することを特徴とする請求項5に記載の情報処理方法。   In the determining step, when the first virtual object and the second virtual object have a predetermined positional relationship, an interference state between the first virtual object and the second virtual object is determined. 6. The information processing method according to claim 5, wherein it is determined to perform a check. 前記決定工程では、前記第1の仮想物体と前記第2の仮想物体とが所定の位置関係となっていない場合には、前記指示具の位置から前記第2の仮想物体の位置に向かうベクトルと、前記指示具の移動方向ベクトルとの内積値を計算し、計算した内積値が負である場合には、前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックを行うと決定することを特徴とする請求項5に記載の情報処理方法。   In the determining step, when the first virtual object and the second virtual object are not in a predetermined positional relationship, a vector directed from the position of the pointing tool to the position of the second virtual object; When the inner product value with the moving direction vector of the pointing tool is calculated and the calculated inner product value is negative, the interference state between the first virtual object and the second virtual object is checked. 6. The information processing method according to claim 5, wherein the information processing method is determined. 前記決定工程では、前記第1の仮想物体と前記第2の仮想物体とが所定の位置関係となっていない場合には、前記指示具の位置から前記第2の仮想物体の位置に向かうベクトルと、前記指示具の移動方向ベクトルとの内積値を計算し、計算した内積値が正である場合には、前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックは行わないと決定することを特徴とする請求項5に記載の情報処理方法。   In the determining step, when the first virtual object and the second virtual object are not in a predetermined positional relationship, a vector directed from the position of the pointing tool to the position of the second virtual object; When the inner product value with the moving direction vector of the pointing tool is calculated and the calculated inner product value is positive, the interference state between the first virtual object and the second virtual object is not checked. The information processing method according to claim 5, wherein the information processing method is determined. 観察者の視点の位置姿勢を取得する第1の取得工程と、
前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得工程と、
仮想空間中に前記第2の取得工程で取得した位置姿勢でもって第1の仮想物体を配置する配置工程と、
前記第1の仮想物体を含む仮想空間を前記第1の取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程とを備える情報処理方法であって、
前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックする処理の負荷を推定する推定工程と、
前記推定工程で推定された負荷に応じて、前記チェックを行うか否かを決定する決定工程と、
前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知工程と
を備えることを特徴とする情報処理方法。
A first acquisition step of acquiring the position and orientation of the observer's viewpoint;
A second acquisition step of acquiring the position and orientation of the pointing tool held by the observer in hand;
An arrangement step of arranging the first virtual object in the virtual space with the position and orientation acquired in the second acquisition step;
An information processing method comprising: a generation step of generating an image that is visible when the virtual space including the first virtual object is viewed from a viewpoint having the position and orientation acquired in the first acquisition step;
An estimation step for estimating a load of processing for checking an interference state between the first virtual object and the second virtual object arranged in the virtual space;
A determination step for determining whether to perform the check according to the load estimated in the estimation step;
As a result of checking the interference state between the first virtual object and the second virtual object, if the first virtual object and the second virtual object interfere with each other, the fact is notified. An information processing method comprising: a notification step.
前記決定工程では、前記推定工程で推定された負荷が所定値以上である場合には、前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックは行わないと決定することを特徴とする請求項9に記載の情報処理方法。   In the determining step, when the load estimated in the estimating step is a predetermined value or more, it is determined that the interference state between the first virtual object and the second virtual object is not checked. The information processing method according to claim 9, wherein: 前記決定工程では、前記推定工程で推定された負荷が所定値以下である場合には、前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックを行うと決定することを特徴とする請求項9に記載の情報処理方法。   In the determining step, when the load estimated in the estimating step is equal to or less than a predetermined value, it is determined that the interference state between the first virtual object and the second virtual object is checked. The information processing method according to claim 9. 更に、
前記視点から見える現実空間の画像を取得する第3の取得工程と、
前記生成工程で生成した画像を、前記第3の取得工程で取得した画像上に重畳させてから外部に出力する出力工程と
を備えることを特徴とする請求項1乃至11の何れか1項に記載の情報処理方法。
Furthermore,
A third acquisition step of acquiring an image of a real space visible from the viewpoint;
The output step of superimposing the image generated in the generation step on the image acquired in the third acquisition step and then outputting the image to the outside is provided. The information processing method described.
観察者の視点の位置姿勢を取得する第1の取得手段と、
前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得手段と、
仮想空間中に前記第2の取得手段によって取得した位置姿勢でもって第1の仮想物体を配置する配置手段と、
前記第1の仮想物体を含む仮想空間を前記第1の取得手段によって取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段とを備える情報処理装置であって、
前記指示具の移動速度を求める計算手段と、
前記指示具の移動速度に基づいて、前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックするか否かを決定する決定手段と、
前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知手段と
を備えることを特徴とする情報処理装置。
First acquisition means for acquiring the position and orientation of the viewpoint of the observer;
Second acquisition means for acquiring the position and orientation of the pointing tool held by the observer in his hand;
Arrangement means for arranging the first virtual object in the virtual space with the position and orientation acquired by the second acquisition means;
An information processing apparatus comprising: a generation unit configured to generate an image that is visible when a virtual space including the first virtual object is viewed from a viewpoint having the position and orientation acquired by the first acquisition unit;
A calculation means for obtaining a moving speed of the indicator;
Determining means for determining whether or not to check an interference state between the first virtual object and the second virtual object arranged in the virtual space, based on a moving speed of the pointing tool;
As a result of checking the interference state between the first virtual object and the second virtual object, if the first virtual object and the second virtual object interfere with each other, the fact is notified. An information processing apparatus comprising: a notification unit.
観察者の視点の位置姿勢を取得する第1の取得手段と、
前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得手段と、
仮想空間中に前記第2の取得手段によって取得した位置姿勢でもって第1の仮想物体を配置する配置手段と、
前記第1の仮想物体を含む仮想空間を前記第1の取得手段によって取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段とを備える情報処理装置であって、
前記指示具の移動方向、及び前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との位置関係に基づいて、前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックするか否かを決定する決定手段と、
前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知手段と
を備えることを特徴とする情報処理装置。
First acquisition means for acquiring the position and orientation of the viewpoint of the observer;
Second acquisition means for acquiring the position and orientation of the pointing tool held by the observer in his hand;
Arrangement means for arranging the first virtual object in the virtual space with the position and orientation acquired by the second acquisition means;
An information processing apparatus comprising: a generation unit configured to generate an image that is visible when a virtual space including the first virtual object is viewed from a viewpoint having the position and orientation acquired by the first acquisition unit;
Arranged in the first virtual object and the virtual space based on the moving direction of the pointing tool and the positional relationship between the first virtual object and the second virtual object arranged in the virtual space Determining means for determining whether or not to check the interference state with the second virtual object being performed;
As a result of checking the interference state between the first virtual object and the second virtual object, if the first virtual object and the second virtual object interfere with each other, the fact is notified. An information processing apparatus comprising: a notification unit.
観察者の視点の位置姿勢を取得する第1の取得手段と、
前記観察者が手に保持する指示具の位置姿勢を取得する第2の取得手段と、
仮想空間中に前記第2の取得手段によって取得した位置姿勢でもって第1の仮想物体を配置する配置手段と、
前記第1の仮想物体を含む仮想空間を前記第1の取得手段によって取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段とを備える情報処理装置であって、
前記第1の仮想物体と前記仮想空間中に配置されている第2の仮想物体との干渉状態をチェックする処理の負荷を推定する推定手段と、
前記推定手段によって推定された負荷に応じて、前記チェックを行うか否かを決定する決定手段と、
前記第1の仮想物体と前記第2の仮想物体との干渉状態をチェックした結果、前記第1の仮想物体と前記第2の仮想物体とが干渉している場合には、その旨を報知する報知手段と
を備えることを特徴とする情報処理装置。
First acquisition means for acquiring the position and orientation of the viewpoint of the observer;
Second acquisition means for acquiring the position and orientation of the pointing tool held by the observer in his hand;
Arrangement means for arranging the first virtual object in the virtual space with the position and orientation acquired by the second acquisition means;
An information processing apparatus comprising: a generation unit configured to generate an image that is visible when the virtual space including the first virtual object is viewed from a viewpoint having the position and orientation acquired by the first acquisition unit;
Estimating means for estimating a load of processing for checking an interference state between the first virtual object and the second virtual object arranged in the virtual space;
Determining means for determining whether to perform the check according to the load estimated by the estimating means;
As a result of checking the interference state between the first virtual object and the second virtual object, if the first virtual object and the second virtual object interfere with each other, the fact is notified. An information processing apparatus comprising: a notification unit.
コンピュータに請求項1乃至12の何れか1項に記載の情報処理方法を実行させることを特徴とするプログラム。   A program that causes a computer to execute the information processing method according to any one of claims 1 to 12. 請求項16に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium storing the program according to claim 16. 前記観察者が操作する指示具の位置を取得する取得工程と、
前記指示具の位置に応じて第1の仮想物体を配置する配置工程と、
前記第1の仮想物体と、前記第1の仮想物体とは異なる第2の仮想物体との干渉状態を判定し、該判定結果に応じた報知を行う報知工程とを有する情報処理方法であって、
前記指示具の移動速度に応じて、前記報知工程を制御することを特徴とする情報処理方法。
An acquisition step of acquiring the position of the pointing tool operated by the observer;
An arrangement step of arranging the first virtual object according to the position of the pointing tool;
An information processing method comprising: a notification step of determining an interference state between the first virtual object and a second virtual object different from the first virtual object, and performing notification according to the determination result. ,
The information processing method characterized by controlling the said alerting | reporting process according to the moving speed of the said indicator.
JP2005138453A 2005-05-11 2005-05-11 Information processing method and information processing apparatus Expired - Fee Related JP4689344B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005138453A JP4689344B2 (en) 2005-05-11 2005-05-11 Information processing method and information processing apparatus
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 (en) 2005-05-11 2005-05-11 Information processing method and information processing apparatus

Publications (3)

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

Family

ID=37538745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005138453A Expired - Fee Related JP4689344B2 (en) 2005-05-11 2005-05-11 Information processing method and information processing apparatus

Country Status (1)

Country Link
JP (1) JP4689344B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012104023A (en) * 2010-11-12 2012-05-31 Nintendo Co Ltd Display control program, display control device, display control system and display control method
WO2014002346A1 (en) * 2012-06-29 2014-01-03 株式会社ソニー・コンピュータエンタテインメント Video processing device, video processing method, and video processing system
CN103679790A (en) * 2013-12-18 2014-03-26 安徽理工大学 A Coal Level Detection Method of Underground Coal Bunker Based on Image Processing Technology
KR20150130555A (en) * 2013-03-15 2015-11-23 매직 립, 인코포레이티드 Display system and method
US12039680B2 (en) 2013-03-11 2024-07-16 Magic Leap, Inc. Method of rendering using a display device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0927046A (en) * 1995-07-11 1997-01-28 Fujitsu Ltd Interference check method
JP2000353248A (en) * 1999-06-11 2000-12-19 Mr System Kenkyusho:Kk Mixed reality device and mixed reality presentation method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0927046A (en) * 1995-07-11 1997-01-28 Fujitsu Ltd Interference check method
JP2000353248A (en) * 1999-06-11 2000-12-19 Mr System Kenkyusho:Kk Mixed reality device and mixed reality presentation method

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012104023A (en) * 2010-11-12 2012-05-31 Nintendo Co Ltd Display control program, display control device, display control system and display control method
US9639989B2 (en) 2012-06-29 2017-05-02 Sony Corporation Video processing device, video processing method, and video processing system
WO2014002346A1 (en) * 2012-06-29 2014-01-03 株式会社ソニー・コンピュータエンタテインメント Video processing device, video processing method, and video processing system
JP2014010664A (en) * 2012-06-29 2014-01-20 Sony Computer Entertainment Inc Video processing apparatus, video processing method, and video processing system
US12039680B2 (en) 2013-03-11 2024-07-16 Magic Leap, Inc. Method of rendering using a display device
KR102271727B1 (en) 2013-03-15 2021-06-30 매직 립, 인코포레이티드 Display system and method
KR102271726B1 (en) 2013-03-15 2021-06-30 매직 립, 인코포레이티드 Display system and method
JP2017107605A (en) * 2013-03-15 2017-06-15 マジック リープ, インコーポレイテッド Display system and method
KR20190029795A (en) * 2013-03-15 2019-03-20 매직 립, 인코포레이티드 Display system and method
KR20190029794A (en) * 2013-03-15 2019-03-20 매직 립, 인코포레이티드 Display system and method
KR20190031337A (en) * 2013-03-15 2019-03-25 매직 립, 인코포레이티드 Display system and method
KR102271198B1 (en) 2013-03-15 2021-06-29 매직 립, 인코포레이티드 Display system and method
KR20150130555A (en) * 2013-03-15 2015-11-23 매직 립, 인코포레이티드 Display system and method
KR20210080615A (en) * 2013-03-15 2021-06-30 매직 립, 인코포레이티드 Display system and method
JP2016520891A (en) * 2013-03-15 2016-07-14 マジック リープ, インコーポレイテッド Display system and method
KR102271719B1 (en) 2013-03-15 2021-06-30 매직 립, 인코포레이티드 Display system and method
KR102318391B1 (en) 2013-03-15 2021-10-26 매직 립, 인코포레이티드 Display system and method
KR20210129277A (en) * 2013-03-15 2021-10-27 매직 립, 인코포레이티드 Display system and method
KR102458124B1 (en) 2013-03-15 2022-10-21 매직 립, 인코포레이티드 Display system and method
KR20220144892A (en) * 2013-03-15 2022-10-27 매직 립, 인코포레이티드 Display system and method
KR102560629B1 (en) 2013-03-15 2023-07-26 매직 립, 인코포레이티드 Display system and method
US11854150B2 (en) 2013-03-15 2023-12-26 Magic Leap, Inc. Frame-by-frame rendering for augmented or virtual reality systems
US12380662B2 (en) 2013-03-15 2025-08-05 Magic Leap, Inc. Frame-by-frame rendering for augmented or virtual reality systems
CN103679790A (en) * 2013-12-18 2014-03-26 安徽理工大学 A Coal Level Detection Method of Underground Coal Bunker Based on Image Processing Technology

Also Published As

Publication number Publication date
JP4689344B2 (en) 2011-05-25

Similar Documents

Publication Publication Date Title
KR102517876B1 (en) Technique for recording augmented reality data
US7830334B2 (en) Image displaying method and apparatus
KR102359978B1 (en) Mixed reality system with multi-source virtual content synthesis and method for creating virtual content using same
JP4667111B2 (en) Image processing apparatus and image processing method
JP5709440B2 (en) Information processing apparatus and information processing method
JP4739002B2 (en) Image processing method and image processing apparatus
JP2009123018A (en) Image processing apparatus and image processing method
US11490062B2 (en) Information processing apparatus, information processing method, and storage medium
US20170249822A1 (en) Apparatus configured to issue warning to wearer of display, and method therefor
JP2021135776A (en) Information processing equipment, information processing methods, and programs
JP7175715B2 (en) Information processing device, information processing method and program
JP2022058753A (en) Information processing apparatus, information processing method, and program
JP2009087161A (en) Image processing apparatus and image processing method
JP4689344B2 (en) Information processing method and information processing apparatus
US20210319624A1 (en) Image processing device, image processing method, and program
JP2005107972A (en) Mixed reality presentation method and mixed reality presentation device
JP2018063567A (en) Image processing device, image processing method and program
JP2006085375A (en) Image processing method and image processing apparatus
JP2008217119A (en) System, image processing apparatus, and image processing method
JP2005251118A (en) Image processing method and image processing apparatus
JP2017134803A (en) Information processing device, and information processing method
JP2006252468A (en) Image processing method and image processing apparatus
JP2006215750A (en) Image processing method and image processing apparatus
US20250306842A1 (en) Information processing apparatus, information processing method, and storage medium
JP2016058043A (en) Information processing apparatus, information processing method, and program

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