JP4144888B2 - Image processing method and image processing apparatus - Google Patents

Image processing method and image processing apparatus Download PDF

Info

Publication number
JP4144888B2
JP4144888B2 JP2005106794A JP2005106794A JP4144888B2 JP 4144888 B2 JP4144888 B2 JP 4144888B2 JP 2005106794 A JP2005106794 A JP 2005106794A JP 2005106794 A JP2005106794 A JP 2005106794A JP 4144888 B2 JP4144888 B2 JP 4144888B2
Authority
JP
Japan
Prior art keywords
image
real
orientation
acquisition
acquisition time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005106794A
Other languages
Japanese (ja)
Other versions
JP2006285789A (en
Inventor
憲司 守田
雅博 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005106794A priority Critical patent/JP4144888B2/en
Priority to US11/392,600 priority patent/US7868904B2/en
Publication of JP2006285789A publication Critical patent/JP2006285789A/en
Application granted granted Critical
Publication of JP4144888B2 publication Critical patent/JP4144888B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、現実空間上に仮想空間の画像を重畳させて提示するための技術に関するものである。   The present invention relates to a technique for superimposing and presenting an image of a virtual space on a real space.

複合現実感システムでは、操作者の視点位置と視線方向および空間中にある物体の位置を計測する必要がある。位置姿勢の計測システムとしては、米国Polhemus社製FASTRAK(登録商標)に代表されるような位置姿勢計測装置を使うのが一般的な手法の一つである。またジャイロ等で姿勢のみを計測し、位置情報および、姿勢のドリフト誤差を画像から計測する方法も取られている。
特開2002−271817号公報
In the mixed reality system, it is necessary to measure the viewpoint position and line-of-sight direction of the operator and the position of an object in the space. As a position / orientation measurement system, one of general methods is to use a position / orientation measurement apparatus represented by FASTRAK (registered trademark) manufactured by Polhemus, USA. Also, a method of measuring only the posture with a gyro etc. and measuring position information and posture drift error from an image is also taken.
JP 2002-271817 A

しかし従来の複合現実感システムにおいて現実空間の映像を取得した時刻と、上記位置姿勢計測装置によって計測した位置姿勢を取得した時刻を一致させることは一般には難しい。   However, it is generally difficult to match the time when the image of the real space is acquired in the conventional mixed reality system with the time when the position and orientation measured by the position and orientation measurement device is acquired.

特に、現実空間の映像を一度コンピュータに取り込んで描画し、その後仮想空間の映像を重畳する方式では、現実空間の映像を取り込んでから仮想空間の映像を重畳する間にタイムラグがあるため、仮想空間の映像は現実空間映像の取得時刻よりも遅い時刻に取得したものを用いることになり、結果として、現実空間映像と仮想空間映像とは不一致なものとなる。その結果、これらを合成した映像を見る観察者に違和感を与えることになる。   In particular, in the method in which a real space image is once captured and rendered on a computer and then the virtual space image is superimposed, there is a time lag between capturing the real space image and superimposing the virtual space image. The video acquired at the time later than the acquisition time of the real space video is used, and as a result, the real space video and the virtual space video are inconsistent. As a result, an observer who sees an image obtained by synthesizing these sounds uncomfortable.

そのような場合、少し古い計測値を用いて仮想空間映像を生成することで、現実空間映像と仮想空間映像との不整合を解消するといったことも考えられるが、どれだけ前の計測値を用いて良いのかを容易に決定することはできなかった。   In such a case, it may be possible to eliminate the inconsistency between the real space image and the virtual space image by generating a virtual space image using a slightly old measurement value. It was not possible to easily decide whether or not

本発明は以上の問題に鑑みて成されたものであり、現実空間の画像の取得時刻に略同じ時刻に取得された位置姿勢に基づく仮想空間の画像を生成すべく、現実空間の画像の取得時刻と、位置姿勢の取得時刻とのずれを簡便に求めるための技術を提供することを目的とする。   The present invention has been made in view of the above problems, and acquisition of a real space image is to be performed in order to generate a virtual space image based on the position and orientation acquired at substantially the same time as the acquisition time of the real space image. It is an object of the present invention to provide a technique for easily obtaining a difference between a time and a position and orientation acquisition time.

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

即ち、現実空間の動画像を撮像する撮像装置から取得した動画像に含まれる実写画像と、該実写画像の取得時刻と、を対応づけて格納する第1の格納工程と、
前記撮像装置の位置姿勢データと、該位置姿勢データの取得時刻と、を対応づけて格納する第2の格納工程と、
ユーザからの指示に応じて、ずれ量を示すデータdを調整するずれ量調整工程と、
前記第1の格納工程にて格納された実写画像を用いて、取得時刻tに対応する実写画像を取得する実写画像取得工程と、
前記第2の格納工程にて格納された位置姿勢データを用いて、取得時刻(t−d)に対応する位置姿勢データを取得し、該取得時刻(t−d)に対応する位置姿勢データを用いて仮想画像を生成する仮想画像生成工程と、
前記実写画像取得工程にて取得した実写画像と、前記仮想画像生成工程にて生成した仮想画像と、を合成し、前記取得時刻tに対応する複合現実空間の画像を生成する複合現実空間画像生成工程と、
前記実写画像取得工程、前記仮想画像生成工程、前記複合現実空間画像生成工程、を用いて生成された、異なる取得時刻tに対応する複数の複合現実空間画像を一覧表示する表示工程と、
ユーザからの指示に応じて、前記データdを記録する記録工程と
を有することを特徴とする。
That is, a first storage step of storing a captured image included in a moving image acquired from an imaging device that captures a moving image in real space and an acquisition time of the captured image in association with each other;
A second storing step of storing the position and orientation data of the imaging device and the acquisition time of the position and orientation data in association with each other;
A deviation amount adjusting step of adjusting data d indicating the deviation amount in accordance with an instruction from the user;
A live-action image acquisition step of acquiring a real-image image corresponding to the acquisition time t using the real-action image stored in the first storage step;
Using the position and orientation data stored in the second storage step, position and orientation data corresponding to the acquisition time (td) is acquired, and the position and orientation data corresponding to the acquisition time (td) is obtained. A virtual image generation step of generating a virtual image using,
Mixed reality space image generation that synthesizes the actual image acquired in the actual image acquisition step and the virtual image generated in the virtual image generation step to generate an image of the mixed reality space corresponding to the acquisition time t Process,
A display step of displaying a list of a plurality of mixed reality space images corresponding to different acquisition times t generated using the real image acquisition step, the virtual image generation step, and the mixed reality space image generation step;
A recording step of recording the data d in response to an instruction from a user.

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

即ち、現実空間の動画像を撮像する撮像装置から取得した動画像に含まれる実写画像と、該実写画像の取得時刻と、を対応づけて格納する第1の格納手段と、
前記撮像装置の位置姿勢データと、該位置姿勢データの取得時刻と、を対応づけて格納する第2の格納手段と、
ユーザからの指示に応じて、ずれ量を示すデータdを調整するずれ量調整工程と、
前記第1の格納手段によって格納された実写画像を用いて、取得時刻tに対応する実写画像を取得する実写画像取得手段と、
前記第2の格納手段によって格納された位置姿勢データを用いて、取得時刻(t−d)に対応する位置姿勢データを取得し、該取得時刻(t−d)に対応する位置姿勢データを用いて仮想画像を生成する仮想画像生成手段と、
前記実写画像取得手段が取得した実写画像と、前記仮想画像生成手段が生成した仮想画像と、を合成し、前記取得時刻tに対応する複合現実空間の画像を生成する複合現実空間画像生成手段と、
前記実写画像取得手段、前記仮想画像生成手段、前記複合現実空間画像生成手段、を用いて生成された、異なる取得時刻tに対応する複数の複合現実空間画像を一覧表示する表示手段と、
ユーザからの指示に応じて、前記データdを記録する記録手段と
を有することを特徴とする。
That is, a first storage unit that stores a real image included in a moving image acquired from an imaging device that captures a moving image in real space and an acquisition time of the real image in association with each other;
Second storage means for storing the position and orientation data of the imaging apparatus and the acquisition time of the position and orientation data in association with each other;
A deviation amount adjusting step of adjusting data d indicating the deviation amount in accordance with an instruction from the user;
Using the live-action image stored by the first storage means, the live-action image acquisition means for acquiring the real-action image corresponding to the acquisition time t;
Using the position and orientation data stored by the second storage means, the position and orientation data corresponding to the acquisition time (td) is acquired, and the position and orientation data corresponding to the acquisition time (td) is used. Virtual image generation means for generating a virtual image,
A mixed reality space image generating unit that combines the real image acquired by the actual image acquisition unit and the virtual image generated by the virtual image generation unit to generate an image of the mixed reality space corresponding to the acquisition time t; ,
Display means for displaying a list of a plurality of mixed reality space images corresponding to different acquisition times t, generated using the real image acquisition means, the virtual image generation means, and the mixed reality space image generation means;
And recording means for recording the data d in response to an instruction from a user.

本発明の構成によれば、現実空間の画像の取得時刻に略同じ時刻に取得された位置姿勢に基づく仮想空間の画像を生成すべく、現実空間の画像の取得時刻と、位置姿勢の取得時刻とのずれを簡便に求めることができる。   According to the configuration of the present invention, in order to generate a virtual space image based on the position and orientation acquired at substantially the same time as the acquisition time of the real space image, the acquisition time of the real space image and the acquisition time of the position and orientation Can easily be determined.

以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。   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 external appearance of a system according to the present embodiment, which executes a process of providing a mixed reality space in which a virtual space is superimposed on a real space to an observer (user).

同図において120はトランスミッタで、磁場を発生させる。本実施形態では位置姿勢計測のためのシステムとしては、米国Polhemus社製FASTRAK(登録商標)に代表されるような位置姿勢計測装置を用いるのであるが、以下の説明の本質はこれに限定するものではなく、ジャイロ等で姿勢のみを計測し、位置情報および、姿勢のドリフト誤差を画像から計測する技術を用いても良いことは以下の説明から明らかとなるであろう。   In the figure, 120 is a transmitter that generates a magnetic field. In this embodiment, a position / orientation measurement system represented by FASTRAK (registered trademark) manufactured by US Polhemus is used as the position / orientation measurement system. However, the essence of the following description is limited to this. Instead, it will be apparent from the following description that a technique may be used in which only the posture is measured with a gyroscope or the like, and the positional information and the posture drift error are measured from the image.

100は観察者の頭部に装着し、現実空間と仮想空間とを合成した画像を観察者の眼前に提供する為の頭部装着型表示装置(以下、HMD:Head Mounted Displayと呼称する)で、カメラ102R、102L、表示装置101R、101L、磁気レシーバ105により構成されている。   Reference numeral 100 denotes a head-mounted display device (hereinafter referred to as HMD: Head Mounted Display) that is attached to the observer's head and provides an image obtained by combining the real space and the virtual space in front of the observer's eyes. , Cameras 102R and 102L, display devices 101R and 101L, and a magnetic receiver 105.

カメラ102R、102LはそれぞれHMD100を頭部に装着した観察者の右目、左目の位置から見える現実空間を連続して撮像するものであり、撮像した各フレームの画像は後段のコンピュータ103に出力される。なお、以下では右目用カメラ102R、左目用カメラ102Lのそれぞれを区別しない限り、まとめて「カメラ102」と呼称する場合がある。   The cameras 102 </ b> R and 102 </ b> L continuously capture the real space seen from the positions of the right eye and left eye of the observer wearing the HMD 100 on the head, and the captured images of each frame are output to the computer 103 at the subsequent stage. . Hereinafter, the right-eye camera 102R and the left-eye camera 102L may be collectively referred to as “camera 102” unless they are distinguished from each other.

表示装置101R、101Lはそれぞれ、観察者がHMD100を頭部に装着したときに右目、左目の眼前に位置するようにHMD100に装着されたものであり、後段のコンピュータ103から出力された画像信号に基づいた画像を表示する。従って観察者の右目、左目の眼前にはコンピュータ103が生成した画像が提供されることになる。なお、以下では右目用表示装置101R、左目用表示装置101Lのそれぞれを区別しない限り、まとめて「表示装置101」と呼称する場合がある。   The display devices 101R and 101L are mounted on the HMD 100 so that they are positioned in front of the right eye and the left eye when the observer wears the HMD 100 on the head. Display the based image. Therefore, an image generated by the computer 103 is provided in front of the right and left eyes of the observer. Hereinafter, the right-eye display device 101R and the left-eye display device 101L may be collectively referred to as “display device 101” unless they are distinguished from each other.

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

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

107は、磁気レシーバ105による計測値を補正するために配置されたマーカであるが、補正処理を行わない場合にはこのマーカは必要ない。   Reference numeral 107 denotes a marker arranged for correcting the measurement value obtained by the magnetic receiver 105, but this marker is not necessary when correction processing is not performed.

111は仮想物体であり、現実物体110に重畳させるべく配置されるものである。これにより、現実物体110の色や表面の柄などを変えて観察者に提示することができる。このような機能は、形のみを再現したモックアップに仮想空間映像として、さまざまなデザインを適用し、デザインを検証する用途などで用いられる。   Reference numeral 111 denotes a virtual object that is arranged to be superimposed on the real object 110. As a result, the color or surface pattern of the real object 110 can be changed and presented to the observer. Such a function is used for the purpose of verifying the design by applying various designs as a virtual space image to a mockup that reproduces only the shape.

現実物体110には磁気レシーバ105と同様の磁気レシーバ106が取り付けられており、磁気レシーバ106は上記トランスミッタ120が発する磁場の変化を検知し、検知した結果の信号を後段の位置姿勢計測装置104に出力するものである。検知した結果の信号は、センサ座標系において、磁気レシーバ106の位置姿勢に応じて検知される磁場の変化を示す信号である。   A magnetic receiver 106 similar to the magnetic receiver 105 is attached to the real object 110, and the magnetic receiver 106 detects a change in the magnetic field generated by the transmitter 120, and sends the detected signal to the subsequent position / orientation measurement device 104. Output. The detected signal is a signal indicating a change in the magnetic field detected in accordance with the position and orientation of the magnetic receiver 106 in the sensor coordinate system.

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

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

1101はCPUで、RAM1102やROM1103に格納されているプログラムやデータを用いてコンピュータ103全体の制御を行うと共に、I/F1107に接続される外部装置とのデータ通信の制御を行う。また、コンピュータ103が行うべき処理として後述する各処理を行う。また、CPU1101内部には不図示のタイマが設けられており、現在時刻を計時することができる。   A CPU 1101 controls the entire computer 103 using programs and data stored in the RAM 1102 and the ROM 1103 and controls data communication with an external device connected to the I / F 1107. In addition, each process described later is performed as a process to be performed by the computer 103. In addition, a timer (not shown) is provided in the CPU 1101, and the current time can be measured.

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

1103はROMで、ブートプログラムやコンピュータ103の設定データなどを格納する。   A ROM 1103 stores a boot program, setting data of the computer 103, and the like.

1104は操作部で、キーボードやマウス、ジョイスティックなどにより構成されており、各種の指示をCPU1101に対して入力することができる。   An operation unit 1104 includes a keyboard, a mouse, a joystick, and the like, and can input various instructions to the CPU 1101.

1105は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置として機能するものであり、ここにOS(オペレーティングシステム)やCPU1101に後述する各処理を実行させるためのプログラムやデータ等が保存されており、これらの一部、もしくは全部は、CPU1101の制御により、RAM1102にロードされる。また、後述の説明で、既知のデータ(情報)として説明するもの(もしくは以下説明する処理で必要となるべきデータ)もまたこの外部記憶装置1105に保存されており、必要に応じてCPU1101の制御により、RAM1102にロードされる。   Reference numeral 1105 denotes an external storage device that functions as a large-capacity information storage device such as a hard disk drive device, and stores an OS (Operating System) and programs and data for causing the CPU 1101 to execute processes described later. Some or all of these are loaded into the RAM 1102 under the control of the CPU 1101. 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 1105, and is controlled by the CPU 1101 as necessary. As a result, the data is loaded into the RAM 1102.

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

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

1108は上述の各部を繋ぐバスである。   A bus 1108 connects the above-described units.

以上の構成を備えるコンピュータ103は、カメラ102R、102Lそれぞれから得られる現実空間の画像を取り込むとと共に、磁気レシーバ105、106から得られる位置姿勢に基づいてカメラ102R、102Lから見える仮想物体111の画像を生成する。そして、生成した画像を、先に取り込んだ現実空間の画像上に重畳させ、重畳させた画像を表示装置101R、101Lに出力する。これにより、HMD100を頭部に装着した観察者の右目、左目の眼前には、それぞれの目の位置姿勢に対応した複合現実空間画像が表示されることになる。   The computer 103 having the above configuration captures images of the real space obtained from the cameras 102R and 102L, and also images of the virtual object 111 that can be seen from the cameras 102R and 102L based on the position and orientation obtained from the magnetic receivers 105 and 106. Is generated. Then, the generated image is superimposed on the previously captured real space image, and the superimposed image is output to the display devices 101R and 101L. 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.

図2は、このような複合現実空間の画像を生成し、HMD100に出力するための一連の処理のフローチャートである。なお、同図のフローチャートに従った処理をCPU1101に実行させるためのプログラムやデータは外部記憶装置1105に保存されており、これをRAM1102にロードし、CPU1101の処理対象とすることで、コンピュータ103は以下説明する各処理を実行することになる。   FIG. 2 is a flowchart of a series of processes for generating an image of such a mixed reality space and outputting it to the HMD 100. Note that a program and data for causing the CPU 1101 to execute the processing according to the flowchart of FIG. 10 are stored in the external storage device 1105, and the computer 103 can be loaded by loading it into the RAM 1102 to be processed by the CPU 1101. Each process described below is executed.

先ず、カメラ102R、102Lより撮像された現実空間の画像(実写画像)はI/F1107を介してコンピュータ103に入力されるので、これを順次RAM1102に格納する(ステップS201)。   First, real space images (actual images) captured by the cameras 102R and 102L are input to the computer 103 via the I / F 1107, and are sequentially stored in the RAM 1102 (step S201).

また、磁気レシーバ105が計測した「自身のセンサ座標系における位置姿勢」、磁気レシーバ106が計測した「自身のセンサ座標系における位置姿勢」がI/F1107を介してRAM1102に入力されるので、これらを一時的にRAM1102に記録させる(ステップS202)。   Also, the “position and orientation in its own sensor coordinate system” measured by the magnetic receiver 105 and the “position and orientation in its own sensor coordinate system” measured by the magnetic receiver 106 are input to the RAM 1102 via the I / F 1107. Is temporarily recorded in the RAM 1102 (step S202).

次に、ステップS201でRAM1102に取得した現実空間の画像からマーカ107を画像認識し、画像中のマーカ107の位置から、ステップS202で得た「磁気レシーバ105の位置姿勢」を補正する(ステップS203)。   Next, the marker 107 is image-recognized from the real space image acquired in the RAM 1102 in step S201, and the “position and orientation of the magnetic receiver 105” obtained in step S202 is corrected from the position of the marker 107 in the image (step S203). ).

本ステップによる処理は、位置姿勢すべての情報を正確に出力できるセンサを用いた場合には不要であるが、一般に多く用いられている磁気センサでは周囲の環境による誤差を補正するため、よく行われる処理である。またセンサが姿勢のみしか計測できない場合、また姿勢にも長時間の計測により姿勢ずれが生じる場合などは、位置の計測を画像によって行ったり、姿勢ずれを画像で補正するといった事が行われる。また、この補正方法についてはこの方法に限定するものではなく、様々な方法が提案されている。   The processing in this step is not necessary when using a sensor that can accurately output information on all positions and orientations. However, generally used magnetic sensors are often used to correct errors due to the surrounding environment. It is processing. Further, when the sensor can measure only the posture, or when the posture deviation occurs in the posture for a long time, the position is measured by the image, or the posture deviation is corrected by the image. Further, this correction method is not limited to this method, and various methods have been proposed.

そして、ステップS201でRAM1102上に取得した現実空間の画像をRAM1102内の所定のエリア内に描画する(ステップS204)。次に、ステップS202でRAM1102に取得した「磁気レシーバ105のセンサ座標系における位置姿勢を示すデータ」を、予め測定した「磁気レシーバ105とカメラ102R、102Lとの位置姿勢関係」を示すデータ(バイアスデータ)でもって変換し、「センサ座標系におけるカメラ102R、102Lの位置姿勢」を示すデータを得る。そしてこのデータを用いて、カメラ102R、102Lの位置姿勢に応じて見える仮想空間の画像を描画するのであるが、描画はステップS204で描画した現実空間の画像上に描画する(ステップS205)。   Then, the real space image acquired on the RAM 1102 in step S201 is drawn in a predetermined area in the RAM 1102 (step S204). Next, the “data indicating the position and orientation of the magnetic receiver 105 in the sensor coordinate system” acquired in the RAM 1102 in step S202 is used as data (bias) indicating the “position and orientation relationship between the magnetic receiver 105 and the cameras 102R and 102L” measured in advance. Data) to obtain data indicating “position and orientation of the cameras 102R and 102L in the sensor coordinate system”. Then, using this data, an image of the virtual space that can be seen according to the position and orientation of the cameras 102R and 102L is drawn, and the drawing is drawn on the image of the real space drawn in step S204 (step S205).

これにより、RAM1102内の所定のエリアには、それぞれのカメラ102R、102Lから見える複合現実空間の画像が生成されていることになる。   As a result, an image of the mixed reality space that can be seen from the respective cameras 102R and 102L is generated in a predetermined area in the RAM 1102.

なお、仮想空間の画像を生成する際には、現実物体110に取り付けられた磁気レシーバ106が計測した位置姿勢でもって仮想物体111を仮想空間内に配置する処理を行うので、観察者がこの仮想物体111の配置位置を見ると、この位置に仮想物体111が見えることになる。   Note that when generating an image of the virtual space, the virtual object 111 is placed in the virtual space with the position and orientation measured by the magnetic receiver 106 attached to the real object 110. When the arrangement position of the object 111 is seen, the virtual object 111 can be seen at this position.

そしてRAM1102内の所定のエリアに生成された複合現実空間の画像(合成画像)をI/F1107を介してHMD100の表示装置101や、コンピュータ103の表示部1106に出力する(ステップS207)。   The mixed reality space image (synthesized image) generated in a predetermined area in the RAM 1102 is output to the display device 101 of the HMD 100 or the display unit 1106 of the computer 103 via the I / F 1107 (step S207).

以上の処理が1フレーム分の複合現実空間の画像を表示装置101や表示部1106に表示するための処理であるので、以上の処理を複数回繰り返すことで複数フレーム分の複合現実空間の画像を表示装置101や表示部1106に表示することができる。   The above process is a process for displaying the mixed reality space image for one frame on the display device 101 or the display unit 1106. Therefore, by repeating the above process a plurality of times, the mixed reality space image for a plurality of frames is obtained. It can be displayed on the display device 101 or the display unit 1106.

そして、以上の処理の終了指示が、例えば操作部1104を操作して入力されたことをCPU1101が検知した場合には本処理を終了する。   Then, when the CPU 1101 detects that the above process end instruction has been input by operating the operation unit 1104, for example, the process ends.

なお、本実施形態では、センサとして磁気センサを用いたが、超音波センサなど、他のタイプのものを用いるようにしても良い。   In this embodiment, a magnetic sensor is used as a sensor, but other types such as an ultrasonic sensor may be used.

ここで、以上の処理において、実際にはステップS201における処理、即ち、現実空間の画像の取得には、ステップS202における処理(センサによる計測値の取得処理)よりも時間がかかるために、ステップS201でRAM1102上に現実空間の画像を取り込んだ時刻と、ステップS202で磁気レシーバ105の位置姿勢を取り込んだ時刻とには差(タイムラグ)が生じてしまう。   Here, in the above processing, the processing in step S201, that is, the acquisition of the real space image takes more time than the processing in step S202 (measurement value acquisition processing by the sensor). Thus, there is a difference (time lag) between the time when the real space image is captured on the RAM 1102 and the time when the position and orientation of the magnetic receiver 105 are captured in step S202.

即ち、同時刻に現実空間の撮像、位置姿勢の計測を行っても、現実空間の画像の取得は、位置姿勢の取得に遅れることになる。そして現実空間の画像の取得が完了する頃には、次の(もしくはそれ以降の)位置姿勢が取得されていることになる。よって、観察者が自身の頭部を動かしている最中に、同時に位置姿勢の計測、現実空間の撮像を行っても、ステップS201で取り込んだ映像が示す現実空間の視点の位置姿勢と、ステップS202で取得した磁気レシーバ105の位置姿勢に基づく視点の位置姿勢とが一致しなくなるので、ステップS202で取得した位置姿勢に基づいて仮想空間の画像を生成しても、現実空間の画像とは異なる位置姿勢の視点で生成されたものとなるので、結果としてそれぞれの画像を合成しても現実物体110と仮想物体111とは互いにずれて描画されることになる。   That is, even if the real space is imaged and the position and orientation are measured at the same time, the acquisition of the real space image is delayed from the acquisition of the position and orientation. Then, when the acquisition of the real space image is completed, the next (or subsequent) position and orientation are acquired. Therefore, even when the observer moves his / her head, even if the position / orientation is measured and the real space is imaged at the same time, the position / orientation of the viewpoint of the real space indicated by the video captured in step S201, and the step Since the position and orientation of the viewpoint based on the position and orientation of the magnetic receiver 105 acquired in S202 do not coincide with each other, even if a virtual space image is generated based on the position and orientation acquired in step S202, it differs from the real space image. As a result, the real object 110 and the virtual object 111 are drawn out of alignment with each other even if the images are combined.

図3は、このタイムラグが生ずるが故に発生する、現実物体110と仮想物体111とのずれを説明する図である。なお、各画像301から308は同時に表示されるものではなく、この順に表示されるものである。またそれぞれの画像は、HMD100に備わっている表示装置101やコンピュータ103に備わっている表示部1106に表示されるものである。   FIG. 3 is a diagram for explaining a deviation between the real object 110 and the virtual object 111 that occurs due to the occurrence of this time lag. The images 301 to 308 are not displayed at the same time, but are displayed in this order. Each image is displayed on the display device 101 provided in the HMD 100 or the display unit 1106 provided in the computer 103.

仮想物体111は現実物体110の位置に重畳させるべく、現実物体110と同じ位置姿勢でもって配置する。よって、理想的には表示装置101の表示画面には仮想物体111は常に現実物体110に重なって表示されることになる。   The virtual object 111 is arranged with the same position and orientation as the real object 110 so as to be superimposed on the position of the real object 110. Therefore, ideally, the virtual object 111 is always displayed on the display screen of the display device 101 so as to overlap the real object 110.

先ず画像301では、観察者の頭部は動いていないので、現実物体110と仮想物体111とが略同じ位置姿勢でもって表示されている。ここで、観察者が自身の頭部を動かすと、当然、表示装置101の表示画面内の仮想物体111、現実物体110の位置が変わる。ここで頭部を左側に回すと、仮想物体111、現実物体110は共に表示画面内で右側に動くのであるが、上記タイムラグが生ずるが故に、画像302に示す如く、現実物体110は、仮想物体111を描画するために用いた視点の位置姿勢よりも前に取得された位置姿勢の視点から見たものとなっており、その結果、それらの表示にずれが生じている。これは、頭部の移動に追従して仮想空間の画像は生成されるものの、頭部の移動後に取得されるべき現実空間の画像の取得がまだ終わっていないので(即ち上記タイムラグがあるが故に)、前のフレームの画像のままであることに起因する。   First, in the image 301, since the observer's head is not moving, the real object 110 and the virtual object 111 are displayed with substantially the same position and orientation. Here, when the observer moves his / her head, the positions of the virtual object 111 and the real object 110 in the display screen of the display device 101 naturally change. Here, when the head is turned to the left, both the virtual object 111 and the real object 110 move to the right in the display screen. However, since the time lag occurs, the real object 110 is a virtual object as shown in an image 302. 111 is viewed from the viewpoint of the position / orientation acquired before the position / orientation of the viewpoint used for rendering 111, and as a result, the display is shifted. This is because the virtual space image is generated following the movement of the head, but the acquisition of the real space image to be acquired after the movement of the head has not yet been completed (that is, because of the time lag described above). ), Because the image of the previous frame remains.

そしてその後も観察者が自身の頭部を左側に見渡し続けると、画像303,304に示す如く、現実物体110は仮想物体111の移動に遅れて表示される。   After that, when the observer continues to look over his / her head to the left side, the real object 110 is displayed with a delay from the movement of the virtual object 111 as shown in images 303 and 304.

ここで、観察者の頭部を左側に回している途中でいきなり右側に回すと、画像305に示す如く、仮想物体111は表示画面内では同図矢印350で示す方向に移動するのであるが、先の理由により、現実物体110は遅れて移動するので、矢印351で示す方向に移動する。よって、現実物体110、仮想物体111のそれぞれが位置して見えるのはこのようなことが原因となっている。   Here, when the observer's head is suddenly turned to the left and then turned to the right, the virtual object 111 moves in the direction indicated by the arrow 350 in the display screen as shown in the image 305. For the above reason, the real object 110 moves with a delay, and therefore moves in the direction indicated by the arrow 351. Therefore, this is the reason why each of the real object 110 and the virtual object 111 appears to be located.

そしてその後も観察者が自身の頭部を右側に回し続けると、画像306,307に示す如く、現実物体110は仮想物体111の移動に遅れて表示される。   If the observer continues to turn his / her head to the right after that, the real object 110 is displayed with a delay in the movement of the virtual object 111 as shown in images 306 and 307.

そして、観察者が自身の頭部の回転を止めると、画像308に示す如く、画像301と同様に、仮想物体111、現実物体110は一致して表示される。   When the observer stops rotating his / her head, the virtual object 111 and the real object 110 are displayed in the same manner as in the image 301 as shown in the image 308.

よって、本実施形態では、このタイムラグを求め、現実空間上に重畳させる仮想空間の画像を生成する際には、この現実空間の画像の取得時刻よりも求めたタイムラグ分だけ前に取得した位置姿勢に基づいて仮想空間の画像を生成する。これにより、それぞれの画像で視点の位置姿勢は略一致するので、それぞれの画像を合成しても、現実物体110と仮想物体111とが互いにずれて描画されることはない。   Therefore, in this embodiment, when the time lag is obtained and a virtual space image to be superimposed on the real space is generated, the position and orientation acquired before the real time image acquisition time by the obtained time lag. Based on the above, an image of the virtual space is generated. As a result, the viewpoint positions and orientations of the respective images substantially coincide with each other. Therefore, even if the respective images are combined, the real object 110 and the virtual object 111 are not drawn with being shifted from each other.

以下では、このタイムラグを求める処理について説明する。   Below, the process which calculates | requires this time lag is demonstrated.

先ず、観察者は自身の頭部にHMD100を装着し、自身の頭部を適当に動かす。簡単には、左右に振る。観察者がこのような動作を行っている際、コンピュータ103は以下説明する各処理を実行する。   First, the observer wears the HMD 100 on his / her head and moves his / her head appropriately. Easy to shake from side to side. When the observer is performing such an operation, the computer 103 executes each process described below.

図4は、観察者が上記動作を行っている間にコンピュータ103によって行われる処理、即ち、HMD100に備わっているカメラ102によって撮像された現実空間の画像を取得し、取得した画像を取得時刻と共に外部記憶装置1105に保存する処理のフローチャートである。なお、同図のフローチャートに従った処理をCPU1101に実行させるためのプログラムやデータは外部記憶装置1105からRAM1102上にロードされており、CPU1101がこれを用いて処理を実行することで、コンピュータ103は以下説明する各処理を実行することになる。   FIG. 4 shows a process performed by the computer 103 while the observer performs the above operation, that is, an image of the real space captured by the camera 102 provided in the HMD 100 is acquired, and the acquired image is acquired together with the acquisition time. 10 is a flowchart of processing to be stored in an external storage device 1105. Note that a program and data for causing the CPU 1101 to execute processing according to the flowchart of FIG. 10 are loaded from the external storage device 1105 onto the RAM 1102, and the CPU 103 executes the processing using this, whereby the computer 103 Each process described below is executed.

図5は、観察者が上記動作を行っている間にコンピュータ103によって行われる処理、即ち、HMD100に備わっている磁気レシーバ105によって計測されたHMD100の位置姿勢、磁気レシーバ106によって計測された現実物体110の位置姿勢を取得し、取得した位置姿勢を取得時刻と共に外部記憶装置1105に保存する処理のフローチャートである。なお、同図のフローチャートに従った処理をCPU1101に実行させるためのプログラムやデータは外部記憶装置1105からRAM1102上にロードされており、CPU1101がこれを用いて処理を実行することで、コンピュータ103は以下説明する各処理を実行することになる。   FIG. 5 shows the processing performed by the computer 103 while the observer performs the above operation, that is, the position and orientation of the HMD 100 measured by the magnetic receiver 105 provided in the HMD 100, and the real object measured by the magnetic receiver 106. 10 is a flowchart of processing for acquiring a position and orientation of 110 and storing the acquired position and orientation in an external storage device 1105 together with an acquisition time. Note that a program and data for causing the CPU 1101 to execute processing according to the flowchart of FIG. 10 are loaded from the external storage device 1105 onto the RAM 1102, and the CPU 103 executes the processing using this, whereby the computer 103 Each process described below is executed.

なお、図4,5のそれぞれに示したフローチャートに従った処理は遅れなく実行されることが望ましいため、リアルタイムOS上で独立したタスク、マルチスレッドOS上においては別スレッドで実行される事が望ましい。   4 and 5, it is desirable that the processing according to the flowcharts shown in FIGS. 4 and 5 is executed without delay. Therefore, it is preferable that the processing is executed as an independent task on the real-time OS, and as a separate thread on the multi-thread OS. .

先ず、図4に示したフローチャートに従った処理について説明する。   First, processing according to the flowchart shown in FIG. 4 will be described.

HMD100に備わっているカメラ102は上述の通り、現実空間の動画像を撮像する。よって、撮像した各フレームの画像はI/F1107を介して本コンピュータ103に入力されるので、CPU1101はこれをRAM1102上に取得する(ステップS401)。一般に高フレームレートの動画像の取得では、さらに別のスレッドもしくはタスクで独立して画像の取り込みが行われている例が多く、本実施形態でもステップS401では基本ソフトのAPIからの取り込み処理終了の呼び出しを受けて、既にバッファに一次保存されているデータを、コンピュータ103内に取り込む事を想定している。   As described above, the camera 102 provided in the HMD 100 captures a moving image in the real space. Therefore, since the captured image of each frame is input to the computer 103 via the I / F 1107, the CPU 1101 acquires this on the RAM 1102 (step S401). In general, when acquiring a high-frame-rate moving image, there are many examples in which images are captured independently by another thread or task. Even in this embodiment, the capturing process from the basic software API is completed in step S401. In response to the call, it is assumed that data that has already been temporarily stored in the buffer is taken into the computer 103.

次に、上述の通り、CPU1101は現在時刻を内部タイマによって計時しているので、ステップS401で画像を取得した時刻(I/F1107を介して入力された画像のデータをRAM1102上に記録完了した時刻)を計時し(ステップS402)、計時した時刻をデータとして、ステップS401で取得した画像のデータと共にセットにして外部記憶装置1105に保存する(ステップS403)。   Next, as described above, since the CPU 1101 keeps the current time with the internal timer, the time when the image is acquired in step S401 (the time when the image data input via the I / F 1107 is recorded on the RAM 1102 is completed). ) (Step S402), and the time measured is set as data together with the image data acquired in step S401 and stored in the external storage device 1105 (step S403).

なお、基本ソフトの仕組みによっては、上記ステップS401で説明した画像の取得の前に、基本ソフト内での取り込み処理の終了を検知した時点で時刻を計測する事が望ましい場合もある。   Depending on the mechanism of the basic software, it may be desirable to measure the time when the end of the capturing process in the basic software is detected before the image acquisition described in step S401.

そして、次に本コンピュータ103に入力される現実空間の画像のデータ、この画像のデータの取得時刻を記録するための記録領域を外部記憶装置1105内に確保すると共に、この記録領域にデータを記録するよう、記録位置を更新する(ステップS404)。なお、予め記録領域を一括して確保している場合には、逐一記録領域の確保処理は必要ない。   Then, a recording area for recording the real space image data to be input to the computer 103 and the acquisition time of the image data is secured in the external storage device 1105, and the data is recorded in the recording area. The recording position is updated so as to be performed (step S404). If the recording area is secured in advance, the recording area securing process is not necessary one by one.

以上の処理を処理の終了指示が入力されるまで行う。なお、図4のフローチャートに従った処理の終了判断に関しては、後述する観察者の遅れ時間を判断する処理を始める時に止めて、PCの負荷を減らす事もできるし、処理量に余裕がある場合は、記録領域をリング状に確保し、常に過去一定時間内のデータを保持し続けるようにする事も可能である。   The above process is performed until a process end instruction is input. Note that the end of processing according to the flowchart of FIG. 4 can be stopped when starting the processing to determine the observer's delay time, which will be described later, to reduce the load on the PC, and there is a margin in processing amount It is also possible to secure the recording area in a ring shape and always keep data within a certain past time.

次に、図5に示したフローチャートに従った処理について説明する。   Next, processing according to the flowchart shown in FIG. 5 will be described.

上述の通り、磁気レシーバ105は自身の位置姿勢に応じた信号を位置姿勢計測装置104に出力し、位置姿勢計測装置104はこの信号に基づいたデータをコンピュータ103に入力する。また、上述のとおり、磁気レシーバ106は自身の位置姿勢に応じた信号を位置姿勢計測装置104に出力し、位置姿勢計測装置104はこの信号に基づいたデータをコンピュータ103に入力する。よって、CPU1101は磁気レシーバ105の位置姿勢を示すデータ(センサ値)、磁気レシーバ106の位置姿勢を示すデータ(センサ値)をRAM1102上に取得する(ステップS501)。   As described above, the magnetic receiver 105 outputs a signal corresponding to its own position and orientation to the position and orientation measurement device 104, and the position and orientation measurement device 104 inputs data based on this signal to the computer 103. Further, as described above, the magnetic receiver 106 outputs a signal corresponding to its own position and orientation to the position and orientation measurement device 104, and the position and orientation measurement device 104 inputs data based on this signal to the computer 103. Therefore, the CPU 1101 acquires data (sensor value) indicating the position and orientation of the magnetic receiver 105 and data (sensor value) indicating the position and orientation of the magnetic receiver 106 on the RAM 1102 (step S501).

実際にはセンサはシリアル通信等の何らかの通信手段で本コンピュータ103に接続されており、アクティブにセンサ値の取得を行うよりも、つねに通信路を監視しており、センサからの出力があった瞬間を検知できるのが、誤差や余分な遅れを伴わない望ましい。   Actually, the sensor is connected to the computer 103 by some communication means such as serial communication, and instead of actively acquiring the sensor value, the communication path is always monitored and the moment when the output from the sensor is received It is desirable that the error can be detected without error or extra delay.

また、CPU1101は位置姿勢のデータの取得時刻を計測し(ステップS502)、計測した時刻のデータを、ステップS501で取得した位置姿勢のデータと共にセットにして外部記憶装置1105に保存する(ステップS503)。   The CPU 1101 measures the acquisition time of position and orientation data (step S502), and stores the measured time data together with the position and orientation data acquired in step S501 in the external storage device 1105 (step S503). .

そして、次に本コンピュータ103に入力される位置姿勢のデータ、この位置姿勢のデータの取得時刻を記録するための記録領域を外部記憶装置1105内に確保すると共に、この記録領域にデータを記録するよう、記録位置を更新する(ステップS504)。なお、予め記録領域を一括して確保している場合には、逐一記録領域の確保処理は必要ない。   Then, a recording area for recording the position / orientation data to be input to the computer 103 and the acquisition time of the position / orientation data is secured in the external storage device 1105 and the data is recorded in the recording area. Thus, the recording position is updated (step S504). If the recording area is secured in advance, the recording area securing process is not necessary one by one.

以上の処理を処理の終了指示が入力されるまで行う。図5の処理の終了判断に関しては、図4の終了処理の判断と同様である。   The above process is performed until a process end instruction is input. The end determination of the process in FIG. 5 is the same as the end process determination in FIG.

次に、上記タイムラグを求める処理について、同処理のフローチャートを示す図6を用いて説明する。なお、同図のフローチャートに従った処理をCPU1101に実行させるためのプログラムやデータは外部記憶装置1105からRAM1102にロードされており、これを用いてCPU1101が処理を行うことで、コンピュータ103は以下説明する処理を実行することになる。   Next, the process for obtaining the time lag will be described with reference to FIG. 6 showing a flowchart of the process. Note that programs and data for causing the CPU 1101 to execute processing according to the flowchart of FIG. 10 are loaded from the external storage device 1105 to the RAM 1102, and the CPU 103 performs processing using the programs and data. Will be executed.

なお、同図のフローチャートに従った処理は、図4,5に示したフローチャートに従った処理の完了後に行われるものである。即ち図6に示したフローチャートに従った処理は、図4のフローチャートに従った処理によって外部記憶装置1105に保存された「現実空間の画像とこの画像の取得時刻とのセット群」、図5のフローチャートに従った処理によって外部記憶装置1105に保存された「位置姿勢と取得時刻とのセット群」を用いて実行されるものである。   Note that the processing according to the flowchart of FIG. 4 is performed after the processing according to the flowcharts shown in FIGS. That is, the process according to the flowchart shown in FIG. 6 is performed by the “set group of the real space image and the acquisition time of the image” stored in the external storage device 1105 by the process according to the flowchart of FIG. The processing is executed using a “group of positions and orientations and acquisition times” stored in the external storage device 1105 by processing according to the flowchart.

先ず、観察者は自身の頭部にHMD100を装着し、自身の頭部を適当に動かす。簡単には、左右に振る。観察者がこのような動作を行っている際、コンピュータ103は以下説明する各処理を実行する。   First, the observer wears the HMD 100 on his / her head and moves his / her head appropriately. Easy to shake from side to side. When the observer is performing such an operation, the computer 103 executes each process described below.

本コンピュータ103の操作者は操作部1104を用いて、以下の処理で用いる「ずれ量を示す変数d」の値を入力するので、CPU1100はこれをRAM1102に一時的に格納する(ステップS601)。   Since the operator of the computer 103 uses the operation unit 1104 to input the value of “variable d indicating deviation amount” used in the following processing, the CPU 1100 temporarily stores it in the RAM 1102 (step S601).

次に、時刻tにおける現実空間の画像をRAM1102上に描画する(ステップS602)。この時刻tの設定については、本実施形態ではコンピュータ103の操作者が操作部1104を用いて指示したものとする。なお、この時刻tは図4(もしくは図5)のフローチャートに従った処理でもって外部記憶装置1105に保存された「取得時刻」が取りうる範囲内のものとする。   Next, an image of the real space at time t is drawn on the RAM 1102 (step S602). In this embodiment, the time t is set by the operator of the computer 103 using the operation unit 1104. Note that this time t is within a range that the “acquisition time” stored in the external storage device 1105 can take by the processing according to the flowchart of FIG. 4 (or FIG. 5).

ここで、時刻tが、図4(もしくは図5)のフローチャートに従った処理でもって外部記憶装置1105に保存された「取得時刻」の何れかであった場合には、取得時刻tとセットにして外部記憶装置1105に保存されている現実空間の画像をRAM1102に読み出すことでステップS602における処理は成される。   Here, when the time t is one of the “acquisition times” stored in the external storage device 1105 by the processing according to the flowchart of FIG. 4 (or FIG. 5), the acquisition time t is set as a set. The processing in step S602 is performed by reading the real space image stored in the external storage device 1105 into the RAM 1102.

また、時刻tが、図4(もしくは図5)のフローチャートに従った処理でもって外部記憶装置1105に保存された「取得時刻」の何れでもないが、この「取得時刻」のうち時刻tに最も近い時刻がtaであった場合、取得時刻taとセットにして外部記憶装置1105に保存されている現実空間の画像をRAM1102に読み出すことでステップS602における処理は成される。   Further, the time t is not any of the “acquisition time” stored in the external storage device 1105 by the processing according to the flowchart of FIG. When the near time is ta, the processing in step S602 is performed by reading the real space image stored in the external storage device 1105 as a set with the acquisition time ta into the RAM 1102.

また、時刻tが、図4(もしくは図5)のフローチャートに従った処理でもって外部記憶装置1105に保存された「取得時刻」の何れでもないが、この「取得時刻」のうち、時刻tに隣接している時刻がta1、tbであった場合(ta<t<tb)、CPU1101は、取得時刻taとセットにして外部記憶装置1105に保存されている現実空間の画像と取得時刻tbとセットにして外部記憶装置1105に保存されている現実空間の画像とを用いて、時刻tにおける現実空間の画像を補間生成することで、ステップS602における処理は成される。画像の補間生成処理については周知のものであるので、これに関する説明は省略する。   The time t is not any of the “acquisition times” stored in the external storage device 1105 by the processing according to the flowchart of FIG. 4 (or FIG. 5). When the adjacent times are ta1 and tb (ta <t <tb), the CPU 1101 sets the acquisition time ta as a set and the real space image stored in the external storage device 1105 and the acquisition time tb. Then, the real space image at time t is interpolated using the real space image stored in the external storage device 1105, and the processing in step S602 is performed. Since the image interpolation generation process is well known, a description thereof will be omitted.

以上のように、指定された時刻tにおける現実空間の画像がRAM1102に読み出される。   As described above, the real space image at the designated time t is read out to the RAM 1102.

次に、時刻(t−d)における位置姿勢を用いて、この位置姿勢を有する視点から見える仮想空間の画像を生成する(ステップS603)。即ち、磁気レシーバ106から時刻(t−d)に取得した位置姿勢に仮想物体111を配置し、その後、磁気レシーバ105から時刻(t−d)に取得した位置姿勢に上記バイアスデータを加えることで得られる位置姿勢の視点から見える仮想空間の画像を生成する。所定の位置姿勢から見える仮想空間の画像の生成処理については周知のものであるので、これに関する説明は省略する。   Next, using the position and orientation at time (t-d), an image of the virtual space that can be seen from the viewpoint having this position and orientation is generated (step S603). That is, the virtual object 111 is arranged at the position and orientation acquired from the magnetic receiver 106 at time (td), and then the bias data is added to the position and orientation acquired from the magnetic receiver 105 at time (td). An image of the virtual space that can be seen from the viewpoint of the obtained position and orientation is generated. Since generation processing of an image of a virtual space that can be seen from a predetermined position and orientation is well known, a description thereof will be omitted.

ここで、時刻(t−d)が、図4(もしくは図5)のフローチャートに従った処理でもって外部記憶装置1105に保存された「取得時刻」の何れかであった場合には、取得時刻(t−d)とセットにして外部記憶装置1105に保存されている現実物体110の位置姿勢に仮想物体111を配置し、その後、時刻(t−d)とセットにして外部記憶装置1105に保存されている「磁気レシーバ105から得た位置姿勢」に上記バイアスデータを加えることで得られる位置姿勢の視点から見える仮想空間の画像を生成することで、ステップS603における処理は成される。   Here, when the time (td) is one of the “acquisition times” stored in the external storage device 1105 by the processing according to the flowchart of FIG. 4 (or FIG. 5), the acquisition time The virtual object 111 is placed at the position and orientation of the real object 110 stored in the external storage device 1105 as a set with (td), and then stored in the external storage device 1105 as a set with time (td). The processing in step S603 is performed by generating a virtual space image that can be seen from the viewpoint of the position and orientation obtained by adding the bias data to the “position and orientation obtained from the magnetic receiver 105”.

また、時刻(t−d)が、図4(もしくは図5)のフローチャートに従った処理でもって外部記憶装置1105に保存された「取得時刻」の何れでもないが、この「取得時刻」のうち時刻(t−d)に最も近い時刻がtaであった場合、取得時刻taとセットにして外部記憶装置1105に保存されている現実物体110の位置姿勢に仮想物体111を配置し、その後、時刻taとセットにして外部記憶装置1105に保存されている「磁気レシーバ105から得た位置姿勢」に上記バイアスデータを加えることで得られる位置姿勢の視点から見える仮想空間の画像を生成することで、ステップS603における処理は成される。   Further, the time (td) is not any of the “acquisition times” stored in the external storage device 1105 by the processing according to the flowchart of FIG. 4 (or FIG. 5). When the time closest to the time (td) is ta, the virtual object 111 is placed at the position and orientation of the real object 110 stored in the external storage device 1105 as a set with the acquisition time ta, and then the time By generating an image of a virtual space that can be seen from the viewpoint of the position and orientation obtained by adding the bias data to the “position and orientation obtained from the magnetic receiver 105” stored in the external storage device 1105 as a set with ta, The process in step S603 is performed.

また、時刻(t−d)が、図4(もしくは図5)のフローチャートに従った処理でもって外部記憶装置1105に保存された「取得時刻」の何れでもないが、この「取得時刻」のうち、時刻(t−d)に隣接している時刻がta、tbであった場合(ta<t−d<tb)、CPU1101は先ず、取得時刻taとセットにして外部記憶装置1105に保存されている「磁気レシーバ105から得た位置姿勢」と取得時刻tbとセットにして外部記憶装置1105に保存されている「磁気レシーバ105から得た位置姿勢」とを用いて、時刻(t−d)における「磁気レシーバ105から得た位置姿勢」を補間生成する。位置姿勢の補間生成処理については後述する。   Further, the time (td) is not any of the “acquisition times” stored in the external storage device 1105 by the processing according to the flowchart of FIG. 4 (or FIG. 5). When the times adjacent to the time (td) are ta and tb (ta <td <tb), the CPU 1101 is first saved in the external storage device 1105 as a set with the acquisition time ta. Using the “position and orientation obtained from the magnetic receiver 105” and the “position and orientation obtained from the magnetic receiver 105” stored in the external storage device 1105 as a set together with the acquisition time tb at the time (t−d) “Position and orientation obtained from magnetic receiver 105” is generated by interpolation. The position / orientation interpolation generation process will be described later.

そして取得時刻ta(もしくはtb)とセットにして外部記憶装置1105に保存されている現実物体110の位置姿勢に仮想物体111を配置し、その後、補間生成された位置姿勢に上記バイアスデータを加えることで得られる位置姿勢の視点から見える仮想空間の画像を生成することで、ステップS603における処理は成される。なお、この場合、現実物体110の位置姿勢は時刻に関係なく一定であるので、この位置姿勢に関する補間生成処理は必要はないが、一定でない場合には同様にして補間生成する必要がある。   Then, the virtual object 111 is arranged at the position and orientation of the real object 110 stored in the external storage device 1105 as a set with the acquisition time ta (or tb), and then the bias data is added to the position and orientation generated by interpolation. The processing in step S603 is performed by generating a virtual space image that can be viewed from the viewpoint of the position and orientation obtained in step S603. In this case, since the position and orientation of the real object 110 are constant regardless of the time, the interpolation generation processing relating to this position and orientation is not necessary, but if it is not constant, it is necessary to generate the interpolation in the same manner.

以上のように、時刻(t−d)における位置姿勢から見える仮想空間の画像がRAM1102上に描画される。   As described above, the image of the virtual space that can be seen from the position and orientation at time (t-d) is drawn on the RAM 1102.

以上の処理において、位置情報を補間するには、典型的に位置情報として計測される、x、y、zの座標値のそれぞれを計測時刻をパラメータとして線形補間すればよい。姿勢情報に関してはアジマス、エレベーション、ロールで表されるオイラー角表現がよく使われるが、オイラー角表現では一般に補間ができない事が知られている。補間を行うには、姿勢情報をクォータニオンに変換し、クォータニオンのそれぞれの要素を補間する事で姿勢の補間が可能である。   In the above processing, in order to interpolate the position information, it is only necessary to linearly interpolate each of x, y, z coordinate values, which are typically measured as position information, using the measurement time as a parameter. Regarding posture information, Euler angle expression expressed by azimuth, elevation, and roll is often used, but it is known that Euler angle expression generally cannot be interpolated. In order to perform interpolation, posture information can be interpolated by converting posture information into quaternions and interpolating each element of quaternions.

またクォータニオンを四次元のベクトルとして扱い、そのベクトルを四次元の超球面上で球面線形補間することで、より正確な補間を行う事ができる。さらに線形補間ではなく、三次補間、スプライン補間を適用して、位置および、姿勢を補間すると、より正確な補間が行える。   Further, by treating the quaternion as a four-dimensional vector and performing spherical linear interpolation on the four-dimensional hypersphere, more accurate interpolation can be performed. Furthermore, by applying cubic interpolation and spline interpolation instead of linear interpolation to interpolate the position and orientation, more accurate interpolation can be performed.

そして次に、ステップS603で生成した仮想空間の画像を先にステップS602でRAM1102上に描画した現実空間の画像上に重畳して描画する(ステップS604)。これにより、1フレーム分の複合現実空間の画像(カメラ102Rから見える複合現実空間の画像、カメラ102Lから見える複合現実空間の画像)が生成できたことになる。   Then, the virtual space image generated in step S603 is superimposed and drawn on the real space image previously drawn on the RAM 1102 in step S602 (step S604). Thus, an image of the mixed reality space for one frame (an image of the mixed reality space seen from the camera 102R, an image of the mixed reality space seen from the camera 102L) can be generated.

また、ステップS604では、生成した複合現実空間の画像を表示装置101、表示部1106に出力する。   In step S604, the generated mixed reality space image is output to the display device 101 and the display unit 1106.

そして次に、時刻tを更新するのであるが、例えば、時刻tを次の取得時刻となるべく更新する。(ステップS605)。その場合、磁気レシーバ105、106による位置姿勢の取得時刻間隔をΔtとすると、(t+Δt)を新たなtとして更新する。   Next, the time t is updated. For example, the time t is updated as much as possible as the next acquisition time. (Step S605). In this case, assuming that the position and orientation acquisition time interval by the magnetic receivers 105 and 106 is Δt, (t + Δt) is updated as a new t.

そして、次に、予め決められた枚数の複合現実空間の画像が生成できたのかをチェックし(ステップS606)、できていない場合には処理をステップS602に戻し、以降の処理を繰り返す。   Next, it is checked whether a predetermined number of mixed reality space images have been generated (step S606). If not, the process returns to step S602, and the subsequent processes are repeated.

よって、所定枚数の複合現実空間の画像が生成された場合、それらは、時刻t(t=t1,t2,,,T)における現実空間の画像上に、時刻(t−d)における位置姿勢に基づく視点から見える仮想空間の画像を重畳させた画像群が表示装置101、表示部1106に表示されていることになる。   Therefore, when a predetermined number of mixed reality space images are generated, they are in the position and orientation at the time (td) on the real space image at the time t (t = t1, t2,..., T). An image group in which images of a virtual space that can be seen from the viewpoint based on the image are superimposed is displayed on the display device 101 and the display unit 1106.

図7は、上記ずれ量を入力するためのユーザインターフェースを備え、生成された複数枚(同図では4枚)の複合現実空間を一覧表示する為の領域を有するGUIの表示例を示す図である。   FIG. 7 is a diagram showing a display example of a GUI having a user interface for inputting the deviation amount and having an area for displaying a list of a plurality of generated mixed reality spaces (four in the figure). is there.

図7(a)では、ステップS601で以下説明するユーザインターフェースを用いてずれ量としてd=10msを入力した場合に生成される複合現実空間の画像群を表示したGUIの表示例を示している。701はGUIのウィンドウを示しており、ウィンドウ701内には、生成順に左から右に複合現実空間の画像が表示されている。なお、この複合現実空間画像は、カメラ102Rから見えるものであっても良いし、カメラ102Lから見えるものであっても良い。   FIG. 7A shows a GUI display example that displays a mixed reality space image group that is generated when d = 10 ms is input as a shift amount using the user interface described below in step S601. Reference numeral 701 denotes a GUI window. In the window 701, images of the mixed reality space are displayed from left to right in the order of generation. The mixed reality space image may be visible from the camera 102R or may be visible from the camera 102L.

711は、ずれ量を入力するためのスライダバーで、例えば右側に移動させるほどずれ量を大きく設定し、左側に移動させるほどずれ量を小さく設定する、というような操作を行うことができる。   Reference numeral 711 denotes a slider bar for inputting a shift amount. For example, an operation can be performed such that the shift amount is set larger as it is moved to the right side, and the shift amount is set smaller as it is moved to the left side.

712は、数値としてずれ量を入力するためのテキストボックスで、ここに数値を入力することで、入力した数値をずれ量として設定することができる。   Reference numeral 712 denotes a text box for inputting a deviation amount as a numerical value. By inputting a numerical value here, the input numerical value can be set as the deviation amount.

よって、上記ステップS601では、このようなスライダバー711,若しくはテキストボックス712というユーザインターフェースを用いて入力された値をずれ量として設定する処理を行う。なお、本コンピュータ103の操作者がずれ量を入力する為のユーザインターフェースについてはこれに限定するものではなく、様々なものが考えられる。   Therefore, in step S601, a process is performed in which a value input using the user interface such as the slider bar 711 or the text box 712 is set as a deviation amount. Note that the user interface for the operator of the computer 103 to input the shift amount is not limited to this, and various types can be considered.

しかし、ずれ量d=10msでは、図7(a)に示す如く、ずれ量が足りないために現実物体110と仮想物体111とは一致していない。   However, at the deviation amount d = 10 ms, the real object 110 and the virtual object 111 do not match because the deviation amount is insufficient as shown in FIG.

図7(b)では、ステップS601で上記ユーザインターフェースを用いてずれ量としてd=15msを入力した場合に生成される複合現実空間の画像群を表示したGUIの表示例を示している。しかし、ずれ量d=15msでは、図7(b)に示す如く、ずれ量が足りないために現実物体110と仮想物体111とは一致していない。   FIG. 7B shows a GUI display example that displays a mixed reality space image group generated when d = 15 ms is input as the shift amount using the user interface in step S601. However, when the deviation amount is d = 15 ms, the real object 110 and the virtual object 111 do not match because the deviation amount is insufficient as shown in FIG. 7B.

図7(c)では、ステップS601で上記ユーザインターフェースを用いてずれ量としてd=20msを入力した場合に生成される複合現実空間の画像群を表示したGUIの表示例を示している。この場合、図7(c)に示す如く、現実物体110と仮想物体111とは略一致しており、ずれ量d=20msは適当な値といえる。これは即ち、上記タイムラグが20msであることを意味している。   FIG. 7C shows a GUI display example that displays a mixed reality space image group generated when d = 20 ms is input as the shift amount using the user interface in step S601. In this case, as shown in FIG. 7C, the real object 110 and the virtual object 111 substantially coincide with each other, and the deviation d = 20 ms is an appropriate value. This means that the time lag is 20 ms.

よって、本コンピュータ103の操作者は、このようなGUIに表示される複合現実空間画像を見ながら現実物体110と仮想物体111とが一致するように、ずれ量を調節して入力する。これにより、仮想物体111と現実物体110とが一致するようなずれ量を視覚的に判断して調節し、入力することができる。   Therefore, the operator of the computer 103 adjusts and inputs the shift amount so that the real object 110 and the virtual object 111 coincide with each other while viewing the mixed reality space image displayed on the GUI. As a result, the amount of deviation such that the virtual object 111 and the real object 110 coincide can be visually determined, adjusted, and input.

図6に戻って、次に、操作者が仮想物体111と現実物体110とが一致したと判断した場合には操作部1104を操作して、現在設定しているずれ量を外部記憶装置1105に記録する旨の指示を入力する。CPU1100はこの指示を検知しない限りは処理をステップS607を介してステップS601に戻し、新たにずれ量の入力を促すのであるが、この指示を検知した場合には処理をステップS607を介してステップS608に進め、現在設定されているずれ量dを「遅れ時間x」として外部記憶装置1105に保存する処理を行う(ステップS608)。   Returning to FIG. 6, when the operator next determines that the virtual object 111 and the real object 110 match, the operation unit 1104 is operated to store the currently set deviation amount in the external storage device 1105. Enter instructions to record. Unless this instruction is detected, the CPU 1100 returns the process to step S601 via step S607 and prompts the user to input a new deviation amount. If this instruction is detected, the process proceeds to step S608 via step S607. In step S608, the currently set deviation amount d is stored in the external storage device 1105 as “delay time x”.

以上の処理によって、上記タイムラグを取得することができる。   The time lag can be acquired by the above processing.

次に、取得したタイムラグを用いて、HMD100の位置姿勢が変化しても、複合現実空間の画像上で現実物体110と仮想物体111とが一致するような複合現実空間の画像を生成する処理について、同処理のフローチャートを示す図8を用いて説明する。なお、同図において、図2と同じ処理ステップについては同じステップ番号を付けており、その説明は省略する。   Next, using the acquired time lag, even if the position and orientation of the HMD 100 changes, a process of generating a mixed reality space image in which the real object 110 and the virtual object 111 match on the mixed reality space image. The process will be described with reference to FIG. In the figure, the same processing steps as those in FIG. 2 are denoted by the same step numbers, and the description thereof is omitted.

なお、同図のフローチャートに従った処理をCPU1101に実行させるためのプログラムやデータは外部記憶装置1105からRAM1102にロードされており、これを用いてCPU1101が処理を行うことで、コンピュータ103は以下説明する処理を実行することになる。   Note that programs and data for causing the CPU 1101 to execute processing according to the flowchart of FIG. 10 are loaded from the external storage device 1105 to the RAM 1102, and the CPU 103 performs processing using the programs and data. Will be executed.

ステップS801では、磁気レシーバ105が計測した「自身のセンサ座標系における位置姿勢」、磁気レシーバ106が計測した「自身のセンサ座標系における位置姿勢」がI/F1107を介してRAM1102に入力されるのであるが、これを少なくとも上記処理で求めたタイムラグxぶんだけ前のものまでをRAM1102上に記録しておき、現在時刻よりもxだけ前のものをステップS205で用いるものとして取得する。   In step S801, the “position and orientation in its own sensor coordinate system” measured by the magnetic receiver 105 and the “position and orientation in its own sensor coordinate system” measured by the magnetic receiver 106 are input to the RAM 1102 via the I / F 1107. However, this is recorded on the RAM 1102 up to at least the time lag x obtained in the above process, and the one x before the current time is acquired as used in step S205.

これにより、ステップS205では現在時刻tよりもタイムラグxの分だけ前の位置姿勢を用いて仮想空間の画像を生成することができ、上記タイムラグに起因して生ずる、複合現実空間の画像上における現実物体110と仮想物体111とのずれを軽減することができる。   As a result, in step S205, an image in the virtual space can be generated using the position and orientation before the current time t by the time lag x, and the reality on the mixed reality space image caused by the time lag is generated. Deviation between the object 110 and the virtual object 111 can be reduced.

なお本実施形態では、ステップS602における処理を行うための時刻tの設定はコンピュータ103の操作者が操作部1104を用いて入力していたが、これに限定するものではなく、コンピュータ103側で決定するようにしても良い。   In this embodiment, the setting of the time t for performing the process in step S602 is input by the operator of the computer 103 using the operation unit 1104. However, the present invention is not limited to this, and is determined on the computer 103 side. You may make it do.

例えば、図5に示したフローチャートに従った処理で得られた位置姿勢のデータ群を用いて、平均的な位置姿勢を求め、求めた位置姿勢となる時刻を「時刻t」として設定するようにしても良い。   For example, an average position / orientation is obtained using the position / orientation data group obtained by the processing according to the flowchart shown in FIG. 5, and the time when the obtained position / orientation is obtained is set as “time t”. May be.

また、本実施形態では現実物体110に磁気レシーバ106を装着していたが、現実物体110の位置姿勢を固定する場合には磁気レシーバ106を装着せずに、そのセンサ座標系における位置姿勢を予め計測しておいて、これをデータとして外部記憶装置1105に保存しておき、これを用いるようにしても良い。   In the present embodiment, the magnetic receiver 106 is attached to the real object 110. However, when the position and orientation of the real object 110 are fixed, the position and orientation in the sensor coordinate system is not attached to the real object 110 in advance. It may be measured and stored as data in the external storage device 1105 and used.

以上の説明により、本実施形態によって、同じずれ時間で1つまたは複数の複合現実感画像をユーザに対して提示して、ユーザにズレ時間を入力させ、入力したズレ時間に対して複合現実感映像の確認ができるようにした事により、容易に画像とセンサ値の時間ずれの計測を行うことができるという効果がある。   As described above, according to the present embodiment, one or a plurality of mixed reality images are presented to the user with the same shift time, and the user inputs the shift time, and the mixed reality with respect to the input shift time. By enabling the confirmation of the video, there is an effect that the time lag between the image and the sensor value can be easily measured.

[第2の実施形態]
第1の実施形態では、図7に示すように、生成した複数の複合現実空間画像を一覧表示していたが、本実施形態では、生成したそれぞれの複合現実空間画像を動画像として表示する。例えば、図7に示したGUIでは、各フレーム(各時刻t)の複合現実空間の画像を並べて表示しているが、本実施形態では、それぞれの画像を同じ位置に順次表示することにより、各フレームの複合現実空間の画像を動画像として表示する。
[Second Embodiment]
In the first embodiment, as shown in FIG. 7, a plurality of generated mixed reality space images are displayed as a list, but in this embodiment, each generated mixed reality space image is displayed as a moving image. For example, in the GUI shown in FIG. 7, images of the mixed reality space of each frame (each time t) are displayed side by side. However, in this embodiment, each image is sequentially displayed at the same position to display each image. The frame mixed reality space image is displayed as a moving image.

そのためには、図6のフローチャートにおいて、ステップS605では前回複合現実空間の画像を表示した領域に今回生成した複合現実空間の画像を表示する。   For this purpose, in the flowchart of FIG. 6, in step S605, the currently generated mixed reality space image is displayed in the area where the previous mixed reality space image was displayed.

このように、より多くの複合現実空間の画像から総合的に測定者が、ズレ時間の検証を行う事ができる。   In this way, the measurer can comprehensively verify the deviation time from more mixed reality space images.

また、静止画の方が評価が行いやすい場合も考えられるため、静止画のモードと動画のモードとを切り替える機能も有効である。   In addition, since a still image may be easier to evaluate, a function of switching between a still image mode and a moving image mode is also effective.

以上の説明により、本実施形態によって、入力するズレ時間に応じて、複数の複合現実空間の画像を静止画、または動画で提示し、またはそれらを切り替える事によってより容易に、ズレ時間を決定する事ができる。   As described above, according to the present embodiment, according to the input shift time, a plurality of mixed reality space images are presented as still images or moving images, or the shift time is more easily determined by switching between them. I can do things.

[第3の実施形態]
本実施形態では、コンピュータ103は複合現実空間の画像を生成して、表示装置101や表示部1106に出力する処理を行うのであるが、操作者が上記ずれ量を求める処理を行う為のモード(ずれ量計測モード)を設定すると、更に、上記実施形態で説明した図4,5,6のフローチャートに従った処理を実行する。
[Third Embodiment]
In the present embodiment, the computer 103 generates a mixed reality space image and outputs the mixed reality space image to the display device 101 or the display unit 1106. When the deviation amount measurement mode) is set, processing according to the flowcharts of FIGS. 4, 5, and 6 described in the above embodiment is further executed.

図9は、本実施形態に係るコンピュータ103が行う処理のフローチャートである。先ず、図2のフローチャートにおいてステップS201〜ステップS206の処理を行うことで、複合現実空間の画像を生成して表示装置101や表示部1106に出力する処理を行う(ステップS1101)。   FIG. 9 is a flowchart of processing performed by the computer 103 according to the present embodiment. First, in the flowchart of FIG. 2, processing of Step S201 to Step S206 is performed to generate a mixed reality space image and output it to the display device 101 and the display unit 1106 (Step S1101).

次に、本コンピュータ103の操作者から、操作部1104を用いて、上記ずれ量計測モードが設定されたか否かを判断する(ステップS1102)。その結果、ずれ量計測モードが設定されていない場合には処理をステップS1105に進め、次に、本処理を終了するのか否かを判断する(ステップS1105)。   Next, the operator of the computer 103 determines whether or not the deviation amount measurement mode is set using the operation unit 1104 (step S1102). As a result, if the deviation amount measurement mode is not set, the process proceeds to step S1105, and then it is determined whether or not to end the present process (step S1105).

本処理の終了は、例えば、本コンピュータ103の操作者が操作部1104を用いてその旨の指示を入力するようにしても良いし、予め決まった条件が満たされたことをCPU1100が検知した場合に、CPU1100による制御により本処理を終了するようにしても良い。   The end of the process may be performed, for example, when an operator of the computer 103 inputs an instruction to that effect using the operation unit 1104, or when the CPU 1100 detects that a predetermined condition is satisfied. In addition, this process may be terminated by the control of the CPU 1100.

いずれにせよ、本処理を終了しない場合には処理をステップS1101に戻し、以降の処理を行う。   In any case, if the present process is not terminated, the process returns to step S1101 to perform the subsequent processes.

一方、ステップS1102における判断処理で、ずれ量計測モードが設定された場合には、処理をステップS1103に進め、図4,5,6のフローチャートに従った処理を行う(ステップS1103)。そして、ステップS1103で外部記憶装置1105に記録したずれ量をステップS1101で使用すべく設定し(ステップS1106)、処理をステップS1101に戻す。   On the other hand, if the shift amount measurement mode is set in the determination process in step S1102, the process proceeds to step S1103, and the processes according to the flowcharts of FIGS. 4, 5, and 6 are performed (step S1103). Then, the deviation amount recorded in the external storage device 1105 in step S1103 is set to be used in step S1101 (step S1106), and the process returns to step S1101.

以上の説明により、本実施形態によって、時間ずれが何らかの外的要因で変化した場合の修正を簡易に、素早く行う事ができる。   As described above, according to the present embodiment, it is possible to easily and quickly perform correction when the time lag changes due to some external factor.

[その他の実施形態]
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(または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 a computer (or CPU or CPU) of the system or apparatus. Needless to say, this can also be achieved when the MPU) reads and executes the program code stored in the recording medium. In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present invention.

また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.

さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Furthermore, after the program code read from the recording medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is based on the instruction of the program code. It goes without saying that the CPU or the like provided in the expansion card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。   When the present invention is applied to the recording medium, program code corresponding to the flowchart described above is stored in the recording medium.

現実空間に仮想空間を重畳させた複合現実空間を観察者(ユーザ)に提供する処理を実行する、本発明の第1の実施形態に係るシステムの外観を示す図である。It is a figure which shows the external appearance of the system which concerns on the 1st Embodiment of this invention which performs the process which provides the observer (user) with the mixed reality space which superimposed the virtual space on the real space. 複合現実空間の画像を生成し、HMD100に出力するための一連の処理のフローチャートである。4 is a flowchart of a series of processes for generating an image of a mixed reality space and outputting it to the HMD 100. タイムラグが生ずるが故に発生する、現実物体110と仮想物体111とのずれを説明する図である。It is a figure explaining the shift | offset | difference of the real object 110 and the virtual object 111 which generate | occur | produces because time lag arises. HMD100に備わっているカメラ102によって撮像された現実空間の画像を取得し、取得した画像を取得時刻と共に外部記憶装置1105に保存する処理のフローチャートである。10 is a flowchart of processing for acquiring an image of a real space imaged by a camera provided in the HMD and storing the acquired image in an external storage device 1105 together with an acquisition time. HMD100に備わっている磁気レシーバ105によって計測されたHMD100の位置姿勢、磁気レシーバ106によって計測された現実物体110の位置姿勢を取得し、取得した位置姿勢を取得時刻と共に外部記憶装置1105に保存する処理のフローチャートである。Processing for acquiring the position and orientation of the HMD 100 measured by the magnetic receiver 105 included in the HMD 100 and the position and orientation of the real object 110 measured by the magnetic receiver 106, and storing the acquired position and orientation together with the acquisition time in the external storage device 1105 It is a flowchart of. タイムラグを求める処理のフローチャートである。It is a flowchart of the process which calculates | requires a time lag. ずれ量を入力するためのユーザインターフェースを備え、生成された複数枚(同図では4枚)の複合現実空間を一覧表示する為の領域を有するGUIの表示例を示す図である。It is a figure which shows the example of a display of the GUI which has a user interface for inputting deviation | shift amount, and has the area | region for carrying out a list display of the produced | generated multiple (4 pieces in the same figure) mixed reality space. 取得したタイムラグを用いて、HMD100の位置姿勢が変化しても、複合現実空間の画像上で現実物体110と仮想物体111とが一致するような複合現実空間の画像を生成する処理のフローチャートである。10 is a flowchart of processing for generating an image of a mixed reality space in which a real object 110 and a virtual object 111 are matched on an image in a mixed reality space even if the position and orientation of the HMD 100 change using an acquired time lag. . 本発明の第3の実施形態に係るコンピュータ103が行う処理のフローチャートである。It is a flowchart of the process which the computer 103 which concerns on the 3rd Embodiment of this invention performs. コンピュータ103のハードウェア構成を示す図である。2 is a diagram illustrating a hardware configuration of a computer 103. FIG.

Claims (5)

現実空間の動画像を撮像する撮像装置から取得した動画像に含まれる実写画像と、該実写画像の取得時刻と、を対応づけて格納する第1の格納工程と、
前記撮像装置の位置姿勢データと、該位置姿勢データの取得時刻と、を対応づけて格納する第2の格納工程と、
ユーザからの指示に応じて、ずれ量を示すデータdを調整するずれ量調整工程と、
前記第1の格納工程にて格納された実写画像を用いて、取得時刻tに対応する実写画像を取得する実写画像取得工程と、
前記第2の格納工程にて格納された位置姿勢データを用いて、取得時刻(t−d)に対応する位置姿勢データを取得し、該取得時刻(t−d)に対応する位置姿勢データを用いて仮想画像を生成する仮想画像生成工程と、
前記実写画像取得工程にて取得した実写画像と、前記仮想画像生成工程にて生成した仮想画像と、を合成し、前記取得時刻tに対応する複合現実空間の画像を生成する複合現実空間画像生成工程と、
前記実写画像取得工程、前記仮想画像生成工程、前記複合現実空間画像生成工程、を用いて生成された、異なる取得時刻tに対応する複数の複合現実空間画像を一覧表示する表示工程と、
ユーザからの指示に応じて、前記データdを記録する記録工程と
を有することを特徴とする画像処理方法。
A first storage step of storing a real image included in a moving image acquired from an imaging device that captures a moving image of a real space and an acquisition time of the real image in association with each other;
A second storing step of storing the position and orientation data of the imaging device and the acquisition time of the position and orientation data in association with each other;
A deviation amount adjusting step of adjusting data d indicating the deviation amount in accordance with an instruction from the user;
A live-action image acquisition step of acquiring a real-image image corresponding to the acquisition time t using the real-action image stored in the first storage step;
Using the position and orientation data stored in the second storage step, position and orientation data corresponding to the acquisition time (td) is acquired, and the position and orientation data corresponding to the acquisition time (td) is obtained. A virtual image generation step of generating a virtual image using,
Mixed reality space image generation that synthesizes the actual image acquired in the actual image acquisition step and the virtual image generated in the virtual image generation step to generate an image of the mixed reality space corresponding to the acquisition time t Process,
A display step of displaying a list of a plurality of mixed reality space images corresponding to different acquisition times t generated using the real image acquisition step, the virtual image generation step, and the mixed reality space image generation step;
An image processing method comprising: a recording step of recording the data d in response to an instruction from a user.
前記実写画像取得工程では、前記第1の格納工程にて格納された複数の実写画像を用いて、前記取得時刻tに対応する実写画像を補間生成することを特徴とする請求項1記載の画像処理方法。   2. The image according to claim 1, wherein in the real image acquisition step, a real image corresponding to the acquisition time t is generated by interpolation using a plurality of real image images stored in the first storage step. Processing method. 前記仮想画像生成工程では、前記第2の格納工程にて格納された複数の位置姿勢データを用いて、前記取得時刻(t−d)に対応する位置姿勢データを補間生成することを特徴とする請求項1記載の画像処理方法。   In the virtual image generation step, position and orientation data corresponding to the acquisition time (td) is generated by interpolation using the plurality of position and orientation data stored in the second storage step. The image processing method according to claim 1. 現実空間の動画像を撮像する撮像装置から取得した動画像に含まれる実写画像と、該実写画像の取得時刻と、を対応づけて格納する第1の格納手段と、
前記撮像装置の位置姿勢データと、該位置姿勢データの取得時刻と、を対応づけて格納する第2の格納手段と、
ユーザからの指示に応じて、ずれ量を示すデータdを調整するずれ量調整工程と、
前記第1の格納手段によって格納された実写画像を用いて、取得時刻tに対応する実写画像を取得する実写画像取得手段と、
前記第2の格納手段によって格納された位置姿勢データを用いて、取得時刻(t−d)に対応する位置姿勢データを取得し、該取得時刻(t−d)に対応する位置姿勢データを用いて仮想画像を生成する仮想画像生成手段と、
前記実写画像取得手段が取得した実写画像と、前記仮想画像生成手段が生成した仮想画像と、を合成し、前記取得時刻tに対応する複合現実空間の画像を生成する複合現実空間画像生成手段と、
前記実写画像取得手段、前記仮想画像生成手段、前記複合現実空間画像生成手段、を用いて生成された、異なる取得時刻tに対応する複数の複合現実空間画像を一覧表示する表示手段と、
ユーザからの指示に応じて、前記データdを記録する記録手段と
を有することを特徴とする画像処理装置。
First storage means for storing a real image included in a moving image acquired from an imaging device that captures a moving image of a real space and an acquisition time of the real image in association with each other;
Second storage means for storing the position and orientation data of the imaging apparatus and the acquisition time of the position and orientation data in association with each other;
A deviation amount adjusting step of adjusting data d indicating the deviation amount in accordance with an instruction from the user;
Using the live-action image stored by the first storage means, the live-action image acquisition means for acquiring the real-action image corresponding to the acquisition time t;
Using the position and orientation data stored by the second storage means, the position and orientation data corresponding to the acquisition time (td) is acquired, and the position and orientation data corresponding to the acquisition time (td) is used. Virtual image generation means for generating a virtual image,
A mixed reality space image generating unit that combines the real image acquired by the actual image acquisition unit and the virtual image generated by the virtual image generation unit to generate an image of the mixed reality space corresponding to the acquisition time t; ,
Display means for displaying a list of a plurality of mixed reality space images corresponding to different acquisition times t, generated using the real image acquisition means, the virtual image generation means, and the mixed reality space image generation means;
An image processing apparatus comprising: a recording unit that records the data d in response to an instruction from a user.
コンピュータに請求項1乃至の何れか1項に記載の画像処理方法を実行させるためのコンピュータプログラム。 Computer program for executing the image processing method according to any one of claims 1 to 3 on a computer.
JP2005106794A 2005-04-01 2005-04-01 Image processing method and image processing apparatus Expired - Fee Related JP4144888B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005106794A JP4144888B2 (en) 2005-04-01 2005-04-01 Image processing method and image processing apparatus
US11/392,600 US7868904B2 (en) 2005-04-01 2006-03-30 Image processing method and image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005106794A JP4144888B2 (en) 2005-04-01 2005-04-01 Image processing method and image processing apparatus

Publications (2)

Publication Number Publication Date
JP2006285789A JP2006285789A (en) 2006-10-19
JP4144888B2 true JP4144888B2 (en) 2008-09-03

Family

ID=37407630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005106794A Expired - Fee Related JP4144888B2 (en) 2005-04-01 2005-04-01 Image processing method and image processing apparatus

Country Status (1)

Country Link
JP (1) JP4144888B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4898464B2 (en) * 2007-01-17 2012-03-14 キヤノン株式会社 Information processing apparatus and method
JP4909176B2 (en) * 2007-05-23 2012-04-04 キヤノン株式会社 Mixed reality presentation apparatus, control method therefor, and computer program
JP4857196B2 (en) * 2007-05-31 2012-01-18 キヤノン株式会社 Head-mounted display device and control method thereof
JP5238602B2 (en) * 2009-05-14 2013-07-17 Kddi株式会社 Video content generation apparatus and computer program
JP5540850B2 (en) * 2010-04-09 2014-07-02 トヨタ自動車株式会社 Attitude estimation apparatus, method and program
JP6417797B2 (en) * 2014-09-03 2018-11-07 株式会社リコー Information terminal device, information processing method, system, and program
JP2020042592A (en) * 2018-09-11 2020-03-19 ソニー株式会社 Information processing device, drawing control method, and recording medium recording program
CN112752119B (en) * 2019-10-31 2023-12-01 中兴通讯股份有限公司 Delay error correction method, terminal equipment, server and storage medium

Also Published As

Publication number Publication date
JP2006285789A (en) 2006-10-19

Similar Documents

Publication Publication Date Title
US11592668B2 (en) Image generation apparatus and image generation method using frequency lower than display frame rate
US7868904B2 (en) Image processing method and image processing apparatus
JP4857196B2 (en) Head-mounted display device and control method thereof
JP4144888B2 (en) Image processing method and image processing apparatus
US10607412B2 (en) Mixed reality presentation system
JP4933406B2 (en) Image processing apparatus and image processing method
US9715765B2 (en) Head mounted display and display for selectively displaying a synthesized image and a physical space image, and control method thereof
AU2022241459A1 (en) Technique for recording augmented reality data
WO2017061388A1 (en) Information processing device, position and/or orientation estimating method, and computer program
JP3745117B2 (en) Image processing apparatus and image processing method
JP4533087B2 (en) Image processing method and image processing apparatus
JP2008146109A (en) Image processing method and image processor
US10678325B2 (en) Apparatus, system, and method for accelerating positional tracking of head-mounted displays
JP6859447B2 (en) Information processing system and object information acquisition method
JP2014215755A (en) Image processing system, image processing apparatus, and image processing method
CN110969706B (en) Augmented reality device, image processing method, system and storage medium thereof
JP3848092B2 (en) Image processing apparatus and method, and program
JP2006285786A (en) Information processing method and information processor
JP4689344B2 (en) Information processing method and information processing apparatus
JP2018087849A (en) Image processing device, image processing method and program
JP2018005778A (en) Image display device, image display system, and image display method
US20230127539A1 (en) Information processing apparatus, information processing method, and information processing program
JP2015201734A (en) Image processing system, control method of the same, and program
JP2020106655A (en) Information processor, information processing method and program
JP7175715B2 (en) Information processing device, information processing method and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080314

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080512

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080521

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: 20080613

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: 20080616

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees