Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5874698B2 - Information processing apparatus, control method thereof, and program - Google Patents
[go: Go Back, main page]

JP5874698B2 - Information processing apparatus, control method thereof, and program - Google Patents

Information processing apparatus, control method thereof, and program Download PDF

Info

Publication number
JP5874698B2
JP5874698B2 JP2013178715A JP2013178715A JP5874698B2 JP 5874698 B2 JP5874698 B2 JP 5874698B2 JP 2013178715 A JP2013178715 A JP 2013178715A JP 2013178715 A JP2013178715 A JP 2013178715A JP 5874698 B2 JP5874698 B2 JP 5874698B2
Authority
JP
Japan
Prior art keywords
dimensional model
processing apparatus
information processing
image
virtual space
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
JP2013178715A
Other languages
Japanese (ja)
Other versions
JP2015049548A (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 Marketing Japan Inc
Canon IT Solutions Inc
Original Assignee
Canon Marketing Japan Inc
Canon IT Solutions 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 Marketing Japan Inc, Canon IT Solutions Inc filed Critical Canon Marketing Japan Inc
Priority to JP2013178715A priority Critical patent/JP5874698B2/en
Publication of JP2015049548A publication Critical patent/JP2015049548A/en
Application granted granted Critical
Publication of JP5874698B2 publication Critical patent/JP5874698B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、ユーザが保持する物体に追従して移動する3次元モデルと、当該3次元モデルとは異なる3次元モデルとの接触をユーザに認識させることの可能な情報処理装置、その制御方法、及びプログラムに関する。
The present invention relates to an information processing apparatus capable of causing a user to recognize contact between a three-dimensional model that moves following an object held by the user and a three-dimensional model different from the three-dimensional model, a control method thereof, And the program.

従来、ヘッドマウントディスプレイ(HMD)やスマートフォンで撮影した現実の世界(以下、現実空間)の画像に、コンピュータで生成された仮想の世界(以下、仮想空間)の画像を重畳させて、HMDやスマートフォンの画面に表示する技術が存在する。例えば、複合現実感(Mixed Reality、以下、MR)技術や拡張現実感(Augmented Reality)技術などがある。   Conventionally, an image of a virtual world (hereinafter referred to as a virtual space) generated by a computer is superimposed on an image of a real world (hereinafter referred to as a real space) taken by a head mounted display (HMD) or a smartphone, and then the HMD or smartphone. There are technologies to display on the screen. For example, there are mixed reality (hereinafter referred to as MR) technology and augmented reality technology.

特にMR技術は、ユーザが装着したHMDに現実空間の画像と仮想空間の画像とを重畳して表示するので、目の前に仮想空間の情報が表示されているかのように見え、臨場感が非常に高い。そのため、MR技術を用いた様々な活用方法が考えられている。   In particular, the MR technology superimposes and displays the real space image and the virtual space image on the HMD worn by the user, so that it appears as if the virtual space information is displayed in front of the eyes, and there is a sense of presence. Very expensive. Therefore, various utilization methods using MR technology are considered.

例えば下記の特許文献1では、仮想のペットを育成する複合現実感提示装置において、ユーザの所定部位による所定動作により、仮想のペットを示す3次元モデルの内部状態を遷移させることで、仮想物体の存在感の認知を容易にする技術が開示されている。   For example, in Patent Document 1 described below, in a mixed reality presentation device that nurtures a virtual pet, the internal state of a three-dimensional model indicating a virtual pet is changed by a predetermined operation by a predetermined part of a user, thereby A technique for facilitating the recognition of presence is disclosed.

特開2002−112286号公報JP 2002-112286 A

ところで、このMR技術を使用して、仮想空間に配置された3次元モデルをユーザが移動させる場合がある。例えば、MR技術によって表現されたモデルルームにおいて、家具を移動する場合である。   By the way, there are cases where a user moves a three-dimensional model arranged in a virtual space using this MR technique. For example, when moving furniture in a model room expressed by MR technology.

より具体的には、現実空間の画像と、モデルルームを3次元モデルで表現した仮想空間の画像とを重畳させ、重畳された画像をHMDを通じて表示することにより、実際に建築される室内を再現する。そして、表示されたモデルルーム内には、3次元モデルで表現された椅子や机といった家具が配置されており、ユーザはマウス等のデバイスを通じて、この家具を自由に持ち運ぶことができる。こうすることで、好きな位置に好きな家具をレイアウトしながら、モデルルームを体験することができる。   More specifically, the image of the real space and the image of the virtual space in which the model room is represented by a three-dimensional model are superimposed, and the superimposed image is displayed through the HMD, thereby reproducing the actually constructed room. To do. In the displayed model room, furniture such as a chair and a desk expressed in a three-dimensional model is arranged, and the user can freely carry this furniture through a device such as a mouse. By doing this, you can experience the model room while laying out your favorite furniture in your favorite position.

しかしながら、このようなモデルルームで家具を移動させる場合、モデルルームも家具も3次元モデルで表現されているので、家具を移動する際に壁を貫通して移動させることができてしまう。本来であれば、現実空間と同様に、3次元モデル同士が重なり合うことのないように制御するべきである。しかしながら、従来は、仮想空間内の指定された位置に3次元モデルを表示するようになっているので、3次元モデル同士が重なっていたとしても、そのまま指定された位置に表示されてしまう問題がある。つまり、より現実空間と同様な、リアルな動作をMR技術で実現することが求められている。   However, when furniture is moved in such a model room, the model room and the furniture are both represented by a three-dimensional model, and therefore, the furniture can be moved through the wall. Originally, control should be performed so that the three-dimensional models do not overlap as in the real space. However, conventionally, since a 3D model is displayed at a specified position in a virtual space, there is a problem that even if 3D models overlap each other, they are displayed as they are at a specified position. is there. That is, it is required to realize a realistic operation similar to that in the real space with the MR technology.

明は、ユーザが保持する物体に追従して移動する3次元モデル、当該3次元モデルとは異なる3次元モデルと接触をユーザに認識させることの可能な仕組みを提供することを目的とする
This onset Ming, to provide a three-dimensional model which moves following the object Yoo over THE holds, a possible mechanism allowing the user to recognize contact with a different 3-dimensional model with the three-dimensional model For the purpose .

上記の目的を達成するために、本発明の情報処理装置は、現実空間を撮像した画像である現実空間画像に、仮想空間を撮像した画像である仮想空間画像を重畳した複合現実画像を、ユーザに対して提示するための情報処理装置であって、前記現実空間画像の入力を受け付ける現実空間画像入力受付手段と、前記複合現実画像を提示するユーザの位置及び姿勢の入力を受け付ける位置姿勢入力受付手段と、ユーザからの第1の指示に応じて、仮想空間に配置された3次元モデルが、前記現実空間においてユーザが保持する物体の動きに追従するように設定する設定手段と、前記設定手段で設定された3次元モデルを、前記物体の動きに追従するように移動させる3次元モデル移動手段と、前記3次元モデル移動手段で移動された3次元モデルを含む仮想空間を、前記位置姿勢入力受付手段で入力を受け付けた位置及び姿勢の少なくとも一方に基づいて撮像することにより、前記仮想空間画像を生成する仮想空間画像生成手段と、前記現実空間画像入力受付手段で入力を受け付けた現実空間画像に、前記仮想空間画像生成手段で生成された仮想空間画像を重畳し、前記複合現実画像を生成する複合現実画像生成手段とを備え、前記設定手段は、前記物体の動きに追従して移動させた3次元モデルが、当該3次元モデルとは異なる3次元モデルと接触した場合に、当該設定手段で設定された前記物体の動きに追従する設定を解除し、前記3次元モデル移動手段は、前記設定手段で前記物体の動きに追従する設定が解除されたことに応じて、移動させた3次元モデル前記ユーザが保持する物体の動きに追従させず、当該3次元モデルとは異なる3次元モデルと接触した位置で停することを特徴とする。
In order to achieve the above object, the information processing apparatus of the present invention provides a mixed reality image obtained by superimposing a virtual space image, which is an image obtained by capturing a virtual space, on a real space image, which is an image obtained by capturing the real space, An information processing apparatus for presenting a real space image, and a real space image input receiving means for receiving an input of the real space image, and a position / posture input reception for receiving an input of a position and posture of a user presenting the mixed reality image And a setting unit configured to set the three-dimensional model arranged in the virtual space to follow the movement of the object held by the user in the real space in response to a first instruction from the user; 3D model which has been set in a 3-dimensional model moving means for moving so as to follow the movement of the object, a three-dimensional model that has been moved in the three-dimensional model moving means A virtual space image generating means for generating the virtual space image by capturing an image of the virtual space based on at least one of the position and orientation received by the position / orientation input receiving means, and the real space image input receiving A virtual reality image generated by the virtual space image generation means is superimposed on the real space image received by the means to generate the mixed reality image, and the setting means includes the setting means When the three-dimensional model moved following the movement of the object comes into contact with a three-dimensional model different from the three-dimensional model, the setting for following the movement of the object set by the setting unit is canceled, the three-dimensional model moving means, in response to the setting to follow the motion of the object by the setting means is canceled, the three-dimensional model is moved, the user to hold Not follow the movement of the object, characterized in that stop at a position come in contact with different three-dimensional model with the three-dimensional model.

本発明によれば、ーザが保持する物体に追従して移動する3次元モデル、当該3次元モデルとは異なる3次元モデルと接触をユーザに認識させることが可能となる。
According to the present invention, it is possible to recognize a user contact with a different 3-dimensional models and three-dimensional model which moves following the object Yoo over THE holds, with the 3-dimensional model.

マーカーを用いた場合のMRシステム100の一例を示す構成図である。It is a block diagram which shows an example of MR system 100 at the time of using a marker. 磁気式トラッキングセンサーを用いた場合のMRシステム100の一例を示す構成図である。It is a block diagram which shows an example of MR system 100 at the time of using a magnetic tracking sensor. 光学式トラッキングセンサーを用いた場合のMRシステム100の一例を示す構成図である。It is a block diagram which shows an example of MR system 100 at the time of using an optical tracking sensor. 光学式トラッキングセンサーを用いたMRシステム100で使用するマウス401の一例を示す模式図である。It is a schematic diagram which shows an example of the mouse | mouth 401 used with MR system 100 using an optical tracking sensor. MRシステム100のハードウェア構成の一例を示す構成図である。2 is a configuration diagram illustrating an example of a hardware configuration of an MR system 100. FIG. 情報処理装置101のモジュール構成の一例を示す構成図である。2 is a configuration diagram illustrating an example of a module configuration of an information processing apparatus 101. FIG. 本発明の実施形態における一連の処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a series of processes in embodiment of this invention. 本発明の実施形態における仮想空間生成処理の一例を示すフローチャートである。It is a flowchart which shows an example of the virtual space production | generation process in embodiment of this invention. マウス401にカーソルオブジェクト901を重畳させた場合の一例を示す模式図である。6 is a schematic diagram illustrating an example of a case where a cursor object 901 is superimposed on a mouse 401. FIG. カーソルオブジェクト901で仮想オブジェクト1002を持ち上げた場合の一例を示す模式図である。FIG. 10 is a schematic diagram illustrating an example when a virtual object 1002 is lifted by a cursor object 901. カーソルオブジェクト901で持ち上げた仮想オブジェクト1002と、仮想オブジェクト1003が接触した場合と、仮想オブジェクト1002を引き寄せた場合の一例を示す模式図である。FIG. 6 is a schematic diagram illustrating an example of a case where a virtual object 1002 lifted by a cursor object 901 and a virtual object 1003 come into contact with each other, and a case where the virtual object 1002 is drawn.

以下、図面を参照しながら、本発明の実施形態の一例について説明する。   Hereinafter, an example of an embodiment of the present invention will be described with reference to the drawings.

図1から図3は、MRシステム100のシステム構成の一例を示す図である。図1から図3に示すMRシステム100は、情報処理装置101、HMD102が相互にデータ通信可能に接続されている。情報処理装置101とHMD102との接続は、有線接続であってもよいし、無線接続であってもよい。尚、図1から図3のシステム上に接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例がある。   1 to 3 are diagrams showing an example of the system configuration of the MR system 100. FIG. In an MR system 100 shown in FIGS. 1 to 3, an information processing apparatus 101 and an HMD 102 are connected to each other so that data communication can be performed. The connection between the information processing apparatus 101 and the HMD 102 may be a wired connection or a wireless connection. Note that the configurations of various terminals connected on the system shown in FIGS. 1 to 3 are merely examples, and there are various configuration examples depending on applications and purposes.

情報処理装置101は、パーソナルコンピュータやサーバのような装置である。情報処理装置101は、HMD102で撮影(撮像)された現実空間の画像(以下、現実空間画像)と、情報処理装置101で生成された仮想空間の画像(以下、仮想空間画像)とを重畳した画像(以下、複合現実画像)を生成し、HMD102に送信する。   The information processing apparatus 101 is an apparatus such as a personal computer or a server. The information processing apparatus 101 superimposes a real space image (hereinafter referred to as a real space image) captured (captured) by the HMD 102 and a virtual space image (hereinafter referred to as a virtual space image) generated by the information processing apparatus 101. An image (hereinafter, mixed reality image) is generated and transmitted to the HMD 102.

HMD102は、いわゆるヘッドマウントディスプレイである。HMD102は、ユーザの頭部に装着するディスプレイ装置であり、右目用と左目用のビデオカメラと、右目用と左目用のディスプレイを備えている。HMD102は、HMD102のビデオカメラで撮影された現実空間画像を情報処理装置101に送信する。そして、情報処理装置101から送信されてきた複合現実画像を受信し、ディスプレイに表示する。更に、右目用と左目用のビデオカメラとディスプレイを設けているので、視差によって立体感を得ることができる。尚、HMD102で撮影する現実空間画像、及び表示する複合現実画像は、動画形式が望ましいが、所定の間隔で撮影された画像であってもよい。   The HMD 102 is a so-called head mounted display. The HMD 102 is a display device worn on the user's head, and includes a right-eye and left-eye video camera, and a right-eye and left-eye display. The HMD 102 transmits a real space image captured by the video camera of the HMD 102 to the information processing apparatus 101. Then, the mixed reality image transmitted from the information processing apparatus 101 is received and displayed on the display. Further, since the right-eye and left-eye video cameras and the display are provided, a stereoscopic effect can be obtained by parallax. The physical space image captured by the HMD 102 and the mixed reality image to be displayed are preferably in the moving image format, but may be images captured at a predetermined interval.

まず、図1のMRシステム100は、一意に識別可能なマーカー103が所定の場所に設置されており、HMD102から送信される現実空間画像に含まれるマーカー103を情報処理装置101が識別することで、HMD102の位置や姿勢を特定する形態のシステムである。より具体的には、仮想空間における所定の位置と、所定のマーカー103とを紐づけておき、現実空間画像から当該マーカー103が検出された場合には、そのマーカー103の大きさや傾きから、HMD102が仮想空間上のどの位置にいるのか、及びどの姿勢であるのかを特定する。尚、MRシステム100では、HMD102がどの方向を向いても、いずれかのマーカー103が検出できるように、マーカー103を配置しておくのがよい。   First, in the MR system 100 of FIG. 1, a uniquely identifiable marker 103 is installed at a predetermined location, and the information processing apparatus 101 identifies the marker 103 included in the real space image transmitted from the HMD 102. This is a system that identifies the position and orientation of the HMD 102. More specifically, a predetermined position in the virtual space and a predetermined marker 103 are linked, and when the marker 103 is detected from the real space image, the HMD 102 is calculated from the size and inclination of the marker 103. Is located in the virtual space and in what posture. In the MR system 100, it is preferable to arrange the marker 103 so that any marker 103 can be detected regardless of which direction the HMD 102 faces.

次に、図2のMRシステム100は、磁場を発生させるトランスミッター201を用いて、HMD102の位置や姿勢を特定する形態のシステムである。トランスミッター201は磁場を発生し、発生した磁場をHMD102に備えられたレシーバ202が受信する。受信した磁場に関する情報を情報処理装置101に送信すると、磁場の強さからHMD102の位置や姿勢を情報処理装置101が特定する。   Next, the MR system 100 of FIG. 2 is a system that identifies the position and orientation of the HMD 102 using a transmitter 201 that generates a magnetic field. The transmitter 201 generates a magnetic field, and the generated magnetic field is received by a receiver 202 provided in the HMD 102. When information on the received magnetic field is transmitted to the information processing apparatus 101, the information processing apparatus 101 specifies the position and orientation of the HMD 102 from the strength of the magnetic field.

そして、図3のMRシステム100は、赤外線カメラ301(センサ)を用いて、HMD102の位置や姿勢を特定する形態のシステムである。HMD102には、オプティカルマーカー302という光マーカーを備えており、赤外線カメラ301を用いて撮影し、撮影した結果を情報処理装置101に送信すると、オプティカルマーカー302を検出して、HMD102の位置姿勢を特定する。オプティカルマーカー302が撮影できるように、赤外線カメラ301を複数台設置することが望ましい。   The MR system 100 in FIG. 3 is a system that identifies the position and orientation of the HMD 102 using the infrared camera 301 (sensor). The HMD 102 is provided with an optical marker 302 called an optical marker 302. When an image is captured using the infrared camera 301 and the captured result is transmitted to the information processing apparatus 101, the optical marker 302 is detected and the position and orientation of the HMD 102 are specified. To do. It is desirable to install a plurality of infrared cameras 301 so that the optical marker 302 can be photographed.

このように、HMD102の位置や姿勢を特定するためには、マーカーやセンサーを用いる必要がある。HMD102の位置や姿勢を特定できれば、どのような形態でも構わない。本実施形態では、図3のシステム構成を例に説明を行う。   Thus, in order to specify the position and orientation of the HMD 102, it is necessary to use a marker or a sensor. Any form may be used as long as the position and posture of the HMD 102 can be specified. In the present embodiment, the system configuration in FIG. 3 will be described as an example.

図4は、本実施形態で用いるマウス401の一例である。マウス401は、ポインティングデバイスであり、情報処理装置101とデータ通信可能に接続されている。マウス401と情報処理装置101との接続は、有線接続であってもよいし、無線接続であってもよい。また、マウス401は第1のボタン402と第2のボタン403を備える。更に、マウス401にもHMD102と同様のオプティカルマーカー302を備える。このオプティカルマーカー302によって、HMD102だけでなく、マウス401の位置や姿勢も特定することができる。   FIG. 4 is an example of a mouse 401 used in the present embodiment. The mouse 401 is a pointing device and is connected to the information processing apparatus 101 so as to be able to perform data communication. The connection between the mouse 401 and the information processing apparatus 101 may be a wired connection or a wireless connection. The mouse 401 includes a first button 402 and a second button 403. Further, the mouse 401 is provided with an optical marker 302 similar to that of the HMD 102. With this optical marker 302, not only the HMD 102 but also the position and posture of the mouse 401 can be specified.

図5は、本発明の実施形態における情報処理装置101、HMD102のハードウェア構成を示す図である。尚、図5の情報処理装置101とHMD102のハードウェアの構成は一例であり、用途や目的に応じて様々な構成例がある。   FIG. 5 is a diagram illustrating a hardware configuration of the information processing apparatus 101 and the HMD 102 in the embodiment of the present invention. Note that the hardware configurations of the information processing apparatus 101 and the HMD 102 in FIG. 5 are merely examples, and there are various configuration examples depending on applications and purposes.

まず、情報処理装置101は、CPU501、ROM502、RAM503、システムバス504、入力コントローラ505、ビデオコントローラ506、メモリコントローラ507、通信I/Fコントローラ508、入力デバイス509、ディスプレイ510、外部メモリ511等を備える。   First, the information processing apparatus 101 includes a CPU 501, a ROM 502, a RAM 503, a system bus 504, an input controller 505, a video controller 506, a memory controller 507, a communication I / F controller 508, an input device 509, a display 510, an external memory 511, and the like. .

CPU501は、システムバス504に接続される各デバイスやコントローラを統括的に制御する。   The CPU 501 comprehensively controls each device and controller connected to the system bus 504.

また、ROM502あるいは外部メモリ511には、CPU501の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムや、各種装置の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM503は、CPU501の主メモリ、ワークエリア等として機能する。   The ROM 502 or the external memory 511 stores a BIOS (Basic Input / Output System) that is a control program of the CPU 501, an operating system, and various programs described below that are necessary for realizing the functions executed by various devices. Yes. The RAM 503 functions as a main memory, work area, and the like for the CPU 501.

CPU501は、処理の実行に際して必要なプログラム等をRAM503にロードして、プログラムを実行することで各種動作を実現するものである。   The CPU 501 implements various operations by loading a program or the like necessary for execution of processing into the RAM 503 and executing the program.

また、入力コントローラ(入力C)505は、キーボードやマウス401等のポインティングデバイスからの入力を制御する。   An input controller (input C) 505 controls input from a pointing device such as a keyboard or mouse 401.

ビデオコントローラ(VC)506は、ディスプレイ510等の表示器への表示を制御する。表示器は液晶ディスプレイでもCRTでも構わない。   A video controller (VC) 506 controls display on a display device such as the display 510. The display device may be a liquid crystal display or a CRT.

メモリコントローラ(MC)507は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ511へのアクセスを制御する。   The memory controller (MC) 507 is an adapter to a hard disk (HD), flexible disk (FD) or PCMCIA card slot for storing boot programs, browser software, various applications, font data, user files, editing files, various data, and the like. Controls access to an external memory 511 such as a card-type memory connected via the.

通信I/Fコントローラ(通信I/FC)508は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。通信I/Fコントローラ508は、トランスミッター201から磁場を受信したレシーバ202との通信と、赤外線カメラ301との通信も制御する。   A communication I / F controller (communication I / FC) 508 connects and communicates with an external device via a network, and executes communication control processing in the network. For example, Internet communication using TCP / IP is possible. The communication I / F controller 508 also controls communication with the receiver 202 that has received the magnetic field from the transmitter 201 and communication with the infrared camera 301.

尚、CPU501は、例えばRAM503内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ510上での表示を可能としている。また、CPU501は、ディスプレイ510上の不図示のマウスカーソル等でのユーザ指示を可能とする。   The CPU 501 enables display on the display 510 by, for example, executing outline font rasterization processing on the display information area in the RAM 503. Further, the CPU 501 enables a user instruction with a mouse cursor (not shown) on the display 510.

本発明の情報処理装置101が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ511に記録されており、必要に応じてRAM503にロードされることによりCPU501によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ511に格納されている。   Various programs used by the information processing apparatus 101 of the present invention to execute various processes described later are recorded in the external memory 511 and executed by the CPU 501 by being loaded into the RAM 503 as necessary. is there. Furthermore, definition files and various information tables used by the program according to the present invention are stored in the external memory 511.

次に、HMD102は、右目ビデオカメラ521、左目ビデオカメラ522、右目ディスプレイ523、左目ディスプレイ524、コントローラ525等を備える。   Next, the HMD 102 includes a right eye video camera 521, a left eye video camera 522, a right eye display 523, a left eye display 524, a controller 525, and the like.

右目ビデオカメラ521と、左目ビデオカメラ522は、現実世界を撮影するビデオカメラである。右目ビデオカメラ521は、右目ディスプレイ523に表示するための画像を撮影し、左目ビデオカメラ522は、左目ディスプレイ524に表示するための画像を撮影する。撮影された画像(現実空間画像)は、コントローラ525が情報処理装置101に送信し、通信I/Fコントローラ508を通じて情報処理装置101が受信する。   The right-eye video camera 521 and the left-eye video camera 522 are video cameras that capture the real world. The right eye video camera 521 captures an image to be displayed on the right eye display 523, and the left eye video camera 522 captures an image to be displayed on the left eye display 524. The captured image (real space image) is transmitted by the controller 525 to the information processing apparatus 101 and received by the information processing apparatus 101 through the communication I / F controller 508.

情報処理装置101から通信I/Fコントローラ508を通じて複合現実画像が送信されると、コントローラ525が受信し、受信した複合現実画像を右目ディスプレイ523と左目ディスプレイ524に表示させる。この時、右目ビデオカメラ521で撮影された現実空間画像に基づいて生成された複合現実画像は、右目ディスプレイ523に表示し、左目ビデオカメラ522で撮影された現実空間画像に基づいて生成された複合現実画像は、左目ディスプレイ524に表示する。   When the mixed reality image is transmitted from the information processing apparatus 101 through the communication I / F controller 508, the controller 525 receives the mixed reality image and displays the received mixed reality image on the right-eye display 523 and the left-eye display 524. At this time, the mixed reality image generated based on the real space image photographed by the right eye video camera 521 is displayed on the right eye display 523, and the complex reality image generated based on the real space image photographed by the left eye video camera 522 is displayed. The real image is displayed on the left eye display 524.

尚、図2のようなシステム構成の場合、レシーバ202がHMD102に設置されており、レシーバ202が受け取った磁場の情報をレシーバ202から情報処理装置101に送信する。   In the case of the system configuration as shown in FIG. 2, the receiver 202 is installed in the HMD 102, and the magnetic field information received by the receiver 202 is transmitted from the receiver 202 to the information processing apparatus 101.

図6は、情報処理装置101のモジュール構成を示す機能構成図である。尚、図6の情報処理装置101のモジュール構成は一例であり、用途や目的に応じて様々な構成例がある。   FIG. 6 is a functional configuration diagram illustrating a module configuration of the information processing apparatus 101. Note that the module configuration of the information processing apparatus 101 in FIG. 6 is merely an example, and there are various configuration examples depending on applications and purposes.

情報処理装置101は、オペレーティングシステム600、MRプラットフォーム610、MRアプリケーション620から構成される。   The information processing apparatus 101 includes an operating system 600, an MR platform 610, and an MR application 620.

オペレーティングシステム600は、通信モジュール601、入力デバイス制御モジュール602を備える。通信モジュール601は、HMD102やレシーバ202、赤外線カメラ301と通信するためのモジュールである。通信モジュール601は、通信I/Fコントローラ508を通じて、各種装置と情報の通信を行う。入力デバイス制御モジュール602は、マウス401等の入力デバイス509からの信号を受信し、情報処理装置101において各種制御を行うモジュールである。   The operating system 600 includes a communication module 601 and an input device control module 602. The communication module 601 is a module for communicating with the HMD 102, the receiver 202, and the infrared camera 301. The communication module 601 communicates information with various apparatuses through the communication I / F controller 508. The input device control module 602 is a module that receives a signal from the input device 509 such as the mouse 401 and performs various controls in the information processing apparatus 101.

MRプラットフォーム610は、キャリブレーションモジュール611、画像処理モジュール612、マーカー検知モジュール613、磁場解析モジュール614、赤外線情報解析モジュール615、位置姿勢特定モジュール616、色検知モジュール617から構成される。   The MR platform 610 includes a calibration module 611, an image processing module 612, a marker detection module 613, a magnetic field analysis module 614, an infrared information analysis module 615, a position / orientation identification module 616, and a color detection module 617.

キャリブレーションモジュール611は、現実空間と仮想空間の位置合わせを行うためのモジュールである。HMD102で撮影された現実空間画像や各種センサーからの情報により、現実空間と仮想空間の位置合わせを行う。   The calibration module 611 is a module for aligning the real space and the virtual space. The real space and the virtual space are aligned based on the real space image photographed by the HMD 102 and information from various sensors.

画像処理モジュール612は、HMD102で撮影された現実空間画像からマーカー103等を抽出するために画像処理を実行するモジュールである。画像処理の内容は特に問わない。現実空間画像から必要な情報を抽出しやすくなる画像処理であれば、何でもよい。   The image processing module 612 is a module that executes image processing to extract the marker 103 and the like from the real space image photographed by the HMD 102. The content of the image processing is not particularly limited. Any image processing that makes it easy to extract necessary information from the real space image may be used.

マーカー検知モジュール613は、HMD102で撮影され、画像処理モジュール612で画像処理された現実空間画像から、マーカー103を検知するためのモジュールである。現実空間画像からマーカー103の特徴点を抽出し、更にマーカー103の大きさや傾きを検出する。検知したマーカー103の情報は、後述する位置姿勢特定モジュール616に渡す。   The marker detection module 613 is a module for detecting the marker 103 from the real space image photographed by the HMD 102 and image-processed by the image processing module 612. The feature points of the marker 103 are extracted from the real space image, and the size and inclination of the marker 103 are further detected. Information of the detected marker 103 is transferred to a position / orientation specifying module 616 described later.

磁場解析モジュール614は、レシーバ202で送信された、トランスミッター201で発生する磁場を解析するためのモジュールである。磁場の強さや変化を解析し、後述する位置姿勢特定モジュール616に渡す。   The magnetic field analysis module 614 is a module for analyzing the magnetic field generated by the transmitter 201 transmitted by the receiver 202. The strength and change of the magnetic field are analyzed and passed to the position / orientation specifying module 616 described later.

赤外線情報解析モジュール615は、赤外線カメラ301から送信された赤外線の電気信号(以下、赤外線情報)を解析するためのモジュールである。赤外線情報からオプティカルマーカー302を検出し、検出した情報を後述する位置姿勢特定モジュール616に渡す。   The infrared information analysis module 615 is a module for analyzing an infrared electrical signal (hereinafter referred to as infrared information) transmitted from the infrared camera 301. The optical marker 302 is detected from the infrared information, and the detected information is passed to a position / orientation specifying module 616 described later.

位置姿勢特定モジュール616は、マーカー検知モジュール613、磁場解析モジュール614、赤外線情報解析モジュール615から渡された各種情報に基づいて、HMD102またはマウス401の位置と姿勢を特定するモジュールである。キャリブレーションモジュール611によって現実空間と仮想空間の位置合わせが行われているので、現実空間における位置から仮想空間における位置を特定できる。   The position / orientation specifying module 616 is a module that specifies the position and orientation of the HMD 102 or the mouse 401 based on various information passed from the marker detection module 613, the magnetic field analysis module 614, and the infrared information analysis module 615. Since the real space and the virtual space are aligned by the calibration module 611, the position in the virtual space can be specified from the position in the real space.

色検知モジュール617は、HMD102から送信された現実空間画像から所定の色を検知するためのモジュールである。特に、後述するマスク設定モジュール622において、3次元モデルによってユーザの手が隠れないようにするために、肌色の画素を検知する。RGB(Red−Green−Blue color model)で肌色に近い色の値を設定し、それと同じまたは同様の色を肌色と判定すればよい。   The color detection module 617 is a module for detecting a predetermined color from the real space image transmitted from the HMD 102. In particular, the mask setting module 622, which will be described later, detects skin-colored pixels so that the user's hand is not hidden by the three-dimensional model. A color value close to the skin color may be set by RGB (Red-Green-Blue color model), and the same or similar color may be determined as the skin color.

MRアプリケーション620は、仮想カメラ制御モジュール621、マスク設定モジュール622、仮想オブジェクト管理モジュール623、重畳画像生成モジュール624から構成される。   The MR application 620 includes a virtual camera control module 621, a mask setting module 622, a virtual object management module 623, and a superimposed image generation module 624.

仮想カメラ制御モジュール621は、位置姿勢特定モジュール616で特定された仮想空間における位置と姿勢に基づいて、仮想空間におけるカメラの位置と姿勢を制御するモジュールである。仮想空間におけるカメラは、仮想空間を撮影するためのカメラである。つまり、仮想空間におけるユーザの視点である。このカメラで撮影された仮想空間画像と、HMD102から送信された現実空間画像とを重畳させることで、複合現実画像が生成される。   The virtual camera control module 621 is a module that controls the position and orientation of the camera in the virtual space based on the position and orientation in the virtual space identified by the position / orientation identification module 616. The camera in the virtual space is a camera for photographing the virtual space. That is, it is a user's viewpoint in the virtual space. A mixed reality image is generated by superimposing the virtual space image captured by the camera and the real space image transmitted from the HMD 102.

マスク設定モジュール622は、仮想空間画像と現実空間画像を重畳させる際に、現実空間画像を構成する画素のうち、仮想空間画像を重畳させない画素に対してマスクを設定するモジュールである。マスクが設定された画素には、仮想空間画像が重畳されない。特に、色検知モジュール617で検知された色の画素にマスクを設定する。肌色が検知されているのであれば、肌色の画素の部分にマスクを設定し、ユーザの手はいつでも見えるようにできる。   The mask setting module 622 is a module that sets a mask for pixels that do not superimpose a virtual space image among pixels constituting the real space image when the virtual space image and the real space image are superimposed. The virtual space image is not superimposed on the pixel for which the mask is set. In particular, a mask is set for the pixel of the color detected by the color detection module 617. If the skin color is detected, a mask is set in the skin color pixel portion so that the user's hand can be seen at any time.

仮想オブジェクト管理モジュール623は、仮想空間に配置される3次元モデル(以下、仮想オブジェクト)を管理するためのモジュールである。仮想空間における仮想オブジェクトの配置位置の管理や、仮想オブジェクトの表示、移動、非表示、仮想オブジェクト同士の紐付け、仮想オブジェクト同士の接触判定等を行う。   The virtual object management module 623 is a module for managing a three-dimensional model (hereinafter referred to as a virtual object) arranged in the virtual space. It manages the placement positions of virtual objects in the virtual space, displays, moves, and hides virtual objects, links virtual objects, determines contact between virtual objects, and the like.

重畳画像生成モジュール624は、HMD102から送信された現実空間画像と、仮想カメラ制御モジュール621で制御された仮想空間のカメラで撮影された仮想空間画像とを重畳させ、複合現実画像を生成するためのモジュールである。この時、マスク設定モジュール622でマスクが設定された現実空間画像の画素には、仮想空間画像を重畳しない。また、重畳画像生成モジュール624では、右目ビデオカメラ521と左目ビデオカメラ522でそれぞれ撮影された現実空間画像に対応する複合現実画像を生成する。尚、情報処理装置101が備える各種モジュールが、右目ビデオカメラ521で撮影された現実空間画像と左目ビデオカメラ522で撮影された現実空間画像に対して実行する処理はどちらも同様である。   The superimposed image generation module 624 superimposes the real space image transmitted from the HMD 102 and the virtual space image captured by the virtual space camera controlled by the virtual camera control module 621 to generate a mixed reality image. It is a module. At this time, the virtual space image is not superimposed on the pixels of the real space image for which the mask is set by the mask setting module 622. In addition, the superimposed image generation module 624 generates a mixed reality image corresponding to the real space image captured by the right eye video camera 521 and the left eye video camera 522, respectively. Note that the processes executed by the various modules included in the information processing apparatus 101 on the real space image captured by the right eye video camera 521 and the real space image captured by the left eye video camera 522 are the same.

次に、本発明の実施形態における情報処理装置101によって行われる一連の処理について、図7に示すフローチャートを用いて説明する。   Next, a series of processing performed by the information processing apparatus 101 in the embodiment of the present invention will be described with reference to the flowchart shown in FIG.

ステップS701では、情報処理装置101のCPU501は、ユーザからの指示に応じて、外部メモリ511に記憶されたMRプラットフォーム610とMRアプリケーション620を起動し、HMD102と赤外線カメラ301からの情報の送信を受け付ける。   In step S701, the CPU 501 of the information processing apparatus 101 activates the MR platform 610 and the MR application 620 stored in the external memory 511 in response to an instruction from the user, and accepts transmission of information from the HMD 102 and the infrared camera 301. .

ステップS702では、HMD102のコントローラ525は、右目ビデオカメラ521及び左目ビデオカメラ522で現実空間を撮影する。そして、ステップS703では、HMD102のコントローラ525は、撮影された現実世界の画像(現実空間画像)を情報処理装置101に送信する。尚、本実施形態では右目ビデオカメラ521及び左目ビデオカメラ522で撮影された画像は静止画でも動画でもよい。よりリアリティのある複合現実感を体感するためには、動画のほうがよい。   In step S <b> 702, the controller 525 of the HMD 102 captures a real space with the right eye video camera 521 and the left eye video camera 522. In step S <b> 703, the controller 525 of the HMD 102 transmits the captured real world image (real space image) to the information processing apparatus 101. In the present embodiment, the images taken by the right eye video camera 521 and the left eye video camera 522 may be still images or moving images. In order to experience a more realistic mixed reality, animation is better.

ステップS704では、情報処理装置101のCPU501は、通信モジュール601を用いて、HMD102から送信された現実空間画像を受信し、RAM503に記憶する(現実空間画像入力受付手段)。   In step S704, the CPU 501 of the information processing apparatus 101 receives the real space image transmitted from the HMD 102 using the communication module 601, and stores it in the RAM 503 (real space image input receiving unit).

一方、ステップS705では、赤外線カメラ301は、現実空間を撮影する。この時、赤外線カメラ301は、赤外光を撮影するので、前述したHMD102とマウス401に付されたオプティカルマーカー302を撮影することとなる。そして、ステップS706では、赤外線カメラ301は、撮影された赤外線の電気信号(赤外線情報)を情報処理装置101に送信する。   On the other hand, in step S705, the infrared camera 301 images the real space. At this time, since the infrared camera 301 captures infrared light, the above-described optical marker 302 attached to the HMD 102 and the mouse 401 is captured. In step S <b> 706, the infrared camera 301 transmits the captured infrared electrical signal (infrared information) to the information processing apparatus 101.

ステップS707では、情報処理装置101のCPU501は、通信モジュール601を用いて、赤外線カメラ301から送信された赤外線情報を受信し、RAM503に記憶する(位置姿勢入力受付手段)。赤外線情報は、HMD102やマウス401に付されたオプティカルマーカー302の位置や姿勢を示す情報であるので、HMD102を装着するユーザやマウス401の位置や姿勢の入力を情報処理装置101が受け付けているのと同義である。   In step S <b> 707, the CPU 501 of the information processing apparatus 101 receives the infrared information transmitted from the infrared camera 301 using the communication module 601 and stores it in the RAM 503 (position / attitude input receiving unit). Since the infrared information is information indicating the position and orientation of the optical marker 302 attached to the HMD 102 and the mouse 401, the information processing apparatus 101 accepts the user wearing the HMD 102 and the input of the position and orientation of the mouse 401. It is synonymous with.

ステップS708では、情報処理装置101のCPU501は、入力デバイス制御モジュール602を用いて、マウス401からの操作信号を受信する。より具体的には、マウス401が備えるボタンが押下(クリック)された場合に、押下されたボタンに関する操作信号がマウス401から情報処理装置101に対して送信され、情報処理装置101が入力デバイス制御モジュール602を通じてこれを受信する。尚、本実施形態では、マウス401の備える第1のボタン402と第2のボタン403を用いるが、これ以外のボタンを用いてもよい。   In step S <b> 708, the CPU 501 of the information processing apparatus 101 receives an operation signal from the mouse 401 using the input device control module 602. More specifically, when a button included in the mouse 401 is pressed (clicked), an operation signal related to the pressed button is transmitted from the mouse 401 to the information processing apparatus 101, and the information processing apparatus 101 performs input device control. This is received through module 602. In the present embodiment, the first button 402 and the second button 403 included in the mouse 401 are used, but other buttons may be used.

ステップS709では、情報処理装置101のCPU501は、ユーザからMRプラットフォーム610やMRアプリケーション620に対する終了指示があったか否かを判定する。MRプラットフォーム610やMRアプリケーション620を終了するメニューがユーザから選択された場合に終了指示があったと判定してもよいし、それ以外でもよい。終了指示があったと判定された場合には、ステップS719に処理を進める。終了指示があったと判定されなかった場合には、ステップS710に処理を進める。   In step S <b> 709, the CPU 501 of the information processing apparatus 101 determines whether an end instruction has been given to the MR platform 610 or the MR application 620 from the user. When the menu for ending the MR platform 610 or the MR application 620 is selected by the user, it may be determined that there has been an ending instruction, or other than that. If it is determined that there is an end instruction, the process proceeds to step S719. If it is not determined that there is an end instruction, the process proceeds to step S710.

ステップS710では、情報処理装置101のCPU501は、赤外線情報解析モジュール615を用いて、ステップS707で受信した赤外線情報からHMD102とマウス401に備えられたオプティカルマーカー302の位置や姿勢を検出する。尚、赤外線情報から検出する方法については、既存の技術を用いるため、詳細な説明は省略する。   In step S710, the CPU 501 of the information processing apparatus 101 uses the infrared information analysis module 615 to detect the position and orientation of the optical marker 302 provided in the HMD 102 and the mouse 401 from the infrared information received in step S707. In addition, about the method to detect from infrared information, since the existing technique is used, detailed description is abbreviate | omitted.

ステップS711では、情報処理装置101のCPU501は、位置姿勢特定モジュール616を用いて、ステップS710で検出したHMD102とマウス401のオプティカルマーカー302の位置や姿勢から、仮想空間上におけるHMD102とマウス401の位置や姿勢を特定する。つまり、HMD102を装着するユーザとそのユーザが操作するマウス401の現実空間における位置と姿勢を特定することになる。キャリブレーションモジュール611によって、現実空間における所定の位置と仮想空間における所定の位置とが一致するように、あらかじめ調整されている。そのため、現実空間における位置や姿勢が特定できれば、仮想空間における位置や姿勢も特定できる。   In step S711, the CPU 501 of the information processing apparatus 101 uses the position / orientation specifying module 616 to determine the positions of the HMD 102 and the mouse 401 in the virtual space from the positions and orientations of the HMD 102 and the optical marker 302 of the mouse 401 detected in step S710. And identify posture. That is, the position and posture in the real space of the user wearing the HMD 102 and the mouse 401 operated by the user are specified. The calibration module 611 has adjusted in advance so that the predetermined position in the real space and the predetermined position in the virtual space coincide. Therefore, if the position and orientation in the real space can be specified, the position and orientation in the virtual space can also be specified.

ステップS712では、情報処理装置101のCPU501は、ステップS708で受信したマウスの操作信号と、ステップS711で特定したHMD102とマウス401の仮想空間上の位置や姿勢に基づいて、ステップS704で受信した現実空間画像に重畳する仮想空間を生成する処理を実行する。仮想空間生成処理の詳細は、図8で後述する。   In step S 712, the CPU 501 of the information processing apparatus 101 receives the actual operation received in step S 704 based on the mouse operation signal received in step S 708 and the positions and postures of the HMD 102 and mouse 401 specified in step S 711 in the virtual space. A process of generating a virtual space to be superimposed on the space image is executed. Details of the virtual space generation processing will be described later with reference to FIG.

ステップS713では、情報処理装置101のCPU501は、仮想カメラ制御モジュール621を用いて、仮想空間における仮想カメラの位置と向きを制御し、仮想空間を撮影する(仮想空間画像生成手段)。そして、撮影により生成された仮想空間画像をRAM503に記憶する。   In step S713, the CPU 501 of the information processing apparatus 101 uses the virtual camera control module 621 to control the position and orientation of the virtual camera in the virtual space, and shoots the virtual space (virtual space image generation unit). Then, the virtual space image generated by photographing is stored in the RAM 503.

より具体的には、ステップS711で特定されたHMD102の位置や姿勢からHMD102が仮想空間のどの位置でどの方向を向いているのかを特定し、その特定された位置と方向に仮想カメラを設置する。仮想カメラは、仮想空間内に設置され、仮想空間を撮影する仮想的な撮影部である。仮想空間は仮想オブジェクトから形成される仮想的な3次元空間であるので、これをHMD102に表示させるために2次元の画像にしなければならない。そのため、3次元空間を仮想カメラから撮影することにより、2次元画像を取得する。尚、ここでいう撮影は仮想空間をキャプチャすることである。キャプチャする際には、仮想空間に存在する仮想オブジェクトのみをキャプチャする。そのため、背景は透過されている。   More specifically, the position and orientation of the HMD 102 in the virtual space is specified from the position and orientation of the HMD 102 specified in step S711, and a virtual camera is installed at the specified position and direction. . The virtual camera is a virtual photographing unit that is installed in the virtual space and photographs the virtual space. Since the virtual space is a virtual three-dimensional space formed from virtual objects, in order to display this on the HMD 102, it must be a two-dimensional image. Therefore, a two-dimensional image is acquired by photographing a three-dimensional space from a virtual camera. Note that the shooting here is to capture a virtual space. When capturing, only virtual objects that exist in the virtual space are captured. Therefore, the background is transparent.

また、仮想カメラから見て、仮想オブジェクトの手前にマスクオブジェクトが配置されている場合にも、当該マスクオブジェクトが重なっている部分の仮想オブジェクトは透過される。マスクオブジェクトは、ユーザによって仮想空間に設置される仮想オブジェクトの1つである。マスクオブジェクトを配置することにより、仮想オブジェクトが常に最前面に表示される問題を防ぐことができる。例えば、現実空間に配置された物体の向こう側に仮想オブジェクトを表示したい場合がある。このとき、マスクオブジェクトを配置しないと、後述するステップS715で現実空間画像の上に仮想空間画像を重畳することになるので、仮想オブジェクトが物体よりも手前に表示されてしまう。そこで、当該物体の位置に相当する仮想空間上の位置にマスクオブジェクトを設定する。こうすると、仮想カメラから見て当該マスクオブジェクトよりも奥にある仮想オブジェクトは、そのマスクオブジェクトと重なる部分が透過する。これにより、現実空間画像の上に仮想空間画像を重畳しても、物体よりも奥に仮想オブジェクトが表示されているように見える。   Further, even when a mask object is arranged in front of the virtual object when viewed from the virtual camera, the virtual object in the portion where the mask object overlaps is transmitted. The mask object is one of virtual objects that are installed in the virtual space by the user. By arranging the mask object, the problem that the virtual object is always displayed in the foreground can be prevented. For example, there is a case where a virtual object is desired to be displayed beyond an object placed in the real space. At this time, if the mask object is not arranged, the virtual space image is superimposed on the real space image in step S715 described later, so that the virtual object is displayed in front of the object. Therefore, a mask object is set at a position in the virtual space corresponding to the position of the object. In this way, a portion of the virtual object that is behind the mask object as viewed from the virtual camera passes through the portion overlapping the mask object. Thereby, even if the virtual space image is superimposed on the real space image, it appears that the virtual object is displayed behind the object.

ステップS714では、情報処理装置101のCPU501は、仮想カメラ制御モジュール621を用いて、ステップS713で撮影された仮想空間画像をRAM503から取得する。   In step S <b> 714, the CPU 501 of the information processing apparatus 101 acquires the virtual space image captured in step S <b> 713 from the RAM 503 using the virtual camera control module 621.

そして、ステップS715では、情報処理装置101のCPU501は、重畳画像生成モジュール624を用いて、ステップS704で受信した現実空間画像に、ステップS714で取得した仮想空間画像を重畳し、複合現実画像を生成する(複合現実画像生成手段)。この時、情報処理装置101のCPU501は、色検知モジュール617を用いて、現実空間画像から所定の色を含む画素を検知し、更にマスク設定モジュール622を用いて、検知した画素には仮想空間画像が重畳されないように制御する。例えば、ユーザの手の肌色を検知し、その検知した部分には仮想空間画像が重畳されないようにする。こうすれば、ユーザの手が仮想オブジェクトよりも手前に表示されるように見える。   In step S715, the CPU 501 of the information processing apparatus 101 uses the superimposed image generation module 624 to superimpose the virtual space image acquired in step S714 on the real space image received in step S704, thereby generating a mixed reality image. (Mixed reality image generation means). At this time, the CPU 501 of the information processing apparatus 101 uses the color detection module 617 to detect pixels including a predetermined color from the real space image, and further uses the mask setting module 622 to detect a virtual space image on the detected pixels. Is controlled so as not to be superimposed. For example, the skin color of the user's hand is detected, and the virtual space image is not superimposed on the detected part. In this way, the user's hand appears to be displayed in front of the virtual object.

ステップS716では、情報処理装置101のCPU501は、通信モジュール601を用いて、ステップS715で生成された複合現実画像をHMD102に送信する(複合現実画像送信手段)。そして、ステップS704に処理を戻し、ステップS709で終了指示があるまでステップS702乃至ステップS718の処理を繰り返す。   In step S716, the CPU 501 of the information processing apparatus 101 uses the communication module 601 to transmit the mixed reality image generated in step S715 to the HMD 102 (mixed reality image transmission unit). Then, the process returns to step S704, and the processes in steps S702 to S718 are repeated until an end instruction is issued in step S709.

ステップS717では、HMD102のコントローラ525は、ステップS716で送信された複合現実画像を受信する。そして、ステップS718では、HMD102のコントローラ525は、ステップS717で受信した複合現実画像を、右目ディスプレイ523と左目ディスプレイ524に表示し、ユーザに複合現実画像を提示する(表示手段)。前述した処理においては説明を省略したが、複合現実画像は右目ディスプレイ523に表示するものと、左目ディスプレイ524に表示するものの2つが生成されている。右目ディスプレイ523に表示するものは、右目ビデオカメラ521から取得した現実空間画像を用いて生成された複合現実画像を表示する。一方、左目ディスプレイ524に表示するものは、左目ビデオカメラ522から取得した現実空間画像を用いて生成された複合現実画像を表示する。   In step S717, the controller 525 of the HMD 102 receives the mixed reality image transmitted in step S716. In step S718, the controller 525 of the HMD 102 displays the mixed reality image received in step S717 on the right eye display 523 and the left eye display 524, and presents the mixed reality image to the user (display unit). Although explanation is omitted in the above-described processing, two mixed reality images are generated, one displayed on the right eye display 523 and the other displayed on the left eye display 524. What is displayed on the right eye display 523 displays a mixed reality image generated using the real space image acquired from the right eye video camera 521. On the other hand, what is displayed on the left-eye display 524 displays a mixed reality image generated using the real space image acquired from the left-eye video camera 522.

このように、ステップS702乃至ステップS718を繰り返し実行することで、リアルタイムに複合現実感をユーザに体感させることができる。また、前述したステップS709で終了指示があったと判定された場合には、ステップS719に処理を進め、ステップS719では、情報処理装置101のCPU501は、MRプラットフォーム610とMRアプリケーション620を終了させる。   Thus, by repeatedly executing Steps S702 to S718, the user can experience mixed reality in real time. If it is determined in step S709 that an instruction for termination has been given, the process proceeds to step S719. In step S719, the CPU 501 of the information processing apparatus 101 terminates the MR platform 610 and the MR application 620.

次に、本発明の実施形態における情報処理装置101によって行われる仮想空間生成処理について、図8に示すフローチャートを用いて説明する。   Next, virtual space generation processing performed by the information processing apparatus 101 according to the embodiment of this invention will be described using the flowchart shown in FIG.

本発明における仮想空間生成処理は、仮想オブジェクトから成る仮想空間を生成する処理であって、マウス401を通じてユーザから指示された内容に応じて、仮想空間における仮想オブジェクトの位置や動作を制御する処理である。   The virtual space generation process in the present invention is a process for generating a virtual space composed of virtual objects, and is a process for controlling the position and movement of the virtual object in the virtual space in accordance with the contents instructed by the user through the mouse 401. is there.

図8の処理の概要について、図10、図11を用いて説明する。まず、図10の1000について説明する。1000は、仮想空間に仮想オブジェクトが配置された初期状態である。ユーザ1001は、HMD102を装着し、複合現実画像を閲覧しているユーザである。仮想オブジェクト1002と仮想オブジェクト1003は、仮想空間に配置された仮想オブジェクトである。カーソルオブジェクト901は、後述するステップS802で配置されるカーソルオブジェクトである。カーソルオブジェクトとは、仮想オブジェクトとの接触を検知するための3次元モデルである。カーソルオブジェクトは、図9のカーソルオブジェクト901に示すように、マウス401に重畳するように表示される。後述する処理において、このカーソルオブジェクト901と接触している仮想オブジェクトを操作することができる。ユーザ1001は、HMD102の右目ディスプレイ523と左目ディスプレイ524を通じて、現実空間画像に重畳されたカーソルオブジェクト901、仮想オブジェクト1002、仮想オブジェクト1003を閲覧している状態である。   An overview of the processing in FIG. 8 will be described with reference to FIGS. 10 and 11. First, 1000 in FIG. 10 will be described. Reference numeral 1000 denotes an initial state in which virtual objects are arranged in the virtual space. A user 1001 is a user wearing the HMD 102 and browsing a mixed reality image. A virtual object 1002 and a virtual object 1003 are virtual objects arranged in a virtual space. The cursor object 901 is a cursor object placed in step S802 described later. A cursor object is a three-dimensional model for detecting contact with a virtual object. The cursor object is displayed so as to be superimposed on the mouse 401 as indicated by a cursor object 901 in FIG. In a process to be described later, a virtual object in contact with the cursor object 901 can be operated. The user 1001 is viewing the cursor object 901, the virtual object 1002, and the virtual object 1003 superimposed on the real space image through the right eye display 523 and the left eye display 524 of the HMD 102.

まず、ユーザ1001が移動してマウス401を仮想オブジェクトに近づけて、カーソルオブジェクト901と仮想オブジェクトとを接触させる。そして、接触している状態でマウス401の第1のボタン402をユーザ1001が押下する。すると、押下されたことを情報処理装置101のCPU501が検知し、接触している仮想オブジェクトをカーソルオブジェクト901に追従するように制御する。図10の1010は、カーソルオブジェクト901を仮想オブジェクト1002に接触させた状態で第1のボタン402を押下し、仮想オブジェクト1002を持ち上げた図である。このように第1のボタン402の押下を情報処理装置101のCPU501が検知し続けている間は、仮想オブジェクト1002をカーソルオブジェクト901に追従するように移動させることができる。   First, the user 1001 moves to bring the mouse 401 close to the virtual object, and brings the cursor object 901 into contact with the virtual object. Then, the user 1001 presses the first button 402 of the mouse 401 while in contact. Then, the CPU 501 of the information processing apparatus 101 detects that the button has been pressed, and performs control so that the touching virtual object follows the cursor object 901. 1010 in FIG. 10 is a diagram in which the virtual object 1002 is lifted by pressing the first button 402 in a state where the cursor object 901 is in contact with the virtual object 1002. As described above, while the CPU 501 of the information processing apparatus 101 continues to detect pressing of the first button 402, the virtual object 1002 can be moved so as to follow the cursor object 901.

次に、ユーザ1001がマウス401で第1のボタン402を押下したまま移動し、仮想オブジェクト1003を通り抜けた場合、本実施形態では、図11の1100に示すように、マウス401のカーソルオブジェクト901に追従していた仮想オブジェクト1002が仮想オブジェクト1003に接触した状態で追従を停止する。これは、たとえ仮想オブジェクトであっても、より現実空間に近い動作をさせることで、リアリティのある仮想空間を提示するためである。   Next, when the user 1001 moves while pressing the first button 402 with the mouse 401 and passes through the virtual object 1003, in this embodiment, as shown by 1100 in FIG. The tracking is stopped in a state where the virtual object 1002 that is following is in contact with the virtual object 1003. This is because even if it is a virtual object, a realistic virtual space is presented by performing an operation closer to the real space.

従来の複合現実感技術では、仮想オブジェクトはあくまでデータであるので、仮想オブジェクト同士が重なり合うことができていた。これは、情報処理装置101のCPU501が、仮想オブジェクトごとに指定された座標値の位置に当該仮想オブジェクトを配置していたからである。つまり、仮想オブジェクト同士の干渉は考慮せずに、指定された位置に表示していたということである。しかしながら、自動車等の設計を複合現実感技術で行う場合には、仮想オブジェクトである部品同士の干渉をチェックしないと、本当に当該部品が組み込めるのかどうかわからない。また別のケースとして、モデルルームを複合現実感技術で提示した時に、仮想オブジェクトである家具を部屋の中に持ち運ぼうとした時に、部屋の扉を家具が通過できるかどうかをチェックしないと、現実味のないシミュレーションとなってしまう。   In the conventional mixed reality technology, since virtual objects are data only, virtual objects can overlap each other. This is because the CPU 501 of the information processing apparatus 101 has arranged the virtual object at the position of the coordinate value designated for each virtual object. That is, the virtual object is displayed at the designated position without considering the interference between the virtual objects. However, when designing a car or the like using mixed reality technology, it is not known whether or not the part can actually be incorporated unless the interference between the parts that are virtual objects is checked. In another case, when a model room is presented with mixed reality technology, if you try to carry furniture, which is a virtual object, into the room, you must check whether the furniture can pass through the door of the room. End up with no simulation.

そのため、ユーザ1001が移動させる仮想オブジェクト1002が、他の仮想オブジェクト1003に接触したときには、仮想オブジェクト1002を停止することにより、移動している仮想オブジェクト1002が他の仮想オブジェクト1003に接触してしまったことをユーザに通知している。   Therefore, when the virtual object 1002 moved by the user 1001 comes into contact with another virtual object 1003, the moving virtual object 1002 comes into contact with the other virtual object 1003 by stopping the virtual object 1002. This is notified to the user.

また、図11の1110に示すように、1100のように仮想オブジェクト同士が接触し、マウス401の第1のボタン402が押下されている状態で、更にマウス401の第2のボタン403が押下されると、仮想オブジェクト1002がカーソルオブジェクト901に対する追従を再開する。仮想オブジェクト1002の追従が停止してしまった場合に、ユーザ1001は、再度仮想オブジェクト1002を取りに行く手間が生じる。そのため、容易に仮想オブジェクト1002を移動させるために、第1のボタン402を押下したまま、第2のボタン403が押下されると、カーソルオブジェクト901に対する追従を再開する。
以下、この一連の処理について説明を行う。
Further, as indicated by 1110 in FIG. 11, when the virtual objects are in contact with each other as in 1100 and the first button 402 of the mouse 401 is pressed, the second button 403 of the mouse 401 is further pressed. Then, the virtual object 1002 resumes following the cursor object 901. When the tracking of the virtual object 1002 is stopped, the user 1001 has a trouble of taking the virtual object 1002 again. Therefore, in order to easily move the virtual object 1002, when the second button 403 is pressed while the first button 402 is pressed, the tracking of the cursor object 901 is resumed.
Hereinafter, this series of processes will be described.

まず、ステップS801では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュールを用いて、仮想空間の所定の位置に仮想オブジェクトを配置する。仮想空間上のどの位置にどの仮想オブジェクトを配置するのかは、あらかじめユーザによって指定されている。そのため、その指定に応じた位置に所定の仮想オブジェクトを配置する。仮想オブジェクトは複数あってもよい。   First, in step S801, the CPU 501 of the information processing apparatus 101 uses a virtual object management module to place a virtual object at a predetermined position in the virtual space. Which virtual object is to be placed at which position in the virtual space is designated in advance by the user. Therefore, a predetermined virtual object is arranged at a position according to the designation. There may be a plurality of virtual objects.

ステップS802では、情報処理装置101のCPU501は、前述したステップS711で特定されたマウス401の位置に対応する仮想空間の位置に、カーソルオブジェクト901を配置する。   In step S802, the CPU 501 of the information processing apparatus 101 arranges the cursor object 901 at the position of the virtual space corresponding to the position of the mouse 401 specified in step S711 described above.

ステップS803では、情報処理装置101のCPU501は、入力デバイス制御モジュール602を用いて、マウス401に備える第1のボタン402(第1の指示)または第2のボタン403(第2の指示)が押下されているか否かを判定する。より具体的には、第1のボタン402または第2のボタン403が押下されていることを示す信号を検知したか否かによって判定する。第1のボタン402または第2のボタン403が押下されていると判定された場合には、ステップS403に処理を進める。第1のボタン402および第2のボタン403のどちらも押下されていないと判定された場合には、ステップS819に処理を進める。   In step S803, the CPU 501 of the information processing apparatus 101 uses the input device control module 602 to press the first button 402 (first instruction) or the second button 403 (second instruction) provided on the mouse 401. It is determined whether or not it has been done. More specifically, the determination is made based on whether a signal indicating that the first button 402 or the second button 403 is pressed is detected. If it is determined that the first button 402 or the second button 403 is pressed, the process proceeds to step S403. If it is determined that neither the first button 402 nor the second button 403 is pressed, the process proceeds to step S819.

ステップS804では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、カーソルオブジェクト901に子要素があるか否かを判定する。子要素とは、前述した仮想オブジェクト1002のように、カーソルオブジェクト901に追従する仮想オブジェクトのことである。つまり、ユーザからの指示に応じてカーソルオブジェクト901で移動させている仮想オブジェクトがあるか否かを判定する。子要素があると判定された場合には、ステップS805に処理を進める。子要素がないと判定された場合には、ステップS807に処理を進める。   In step S <b> 804, the CPU 501 of the information processing apparatus 101 determines whether the cursor object 901 has a child element using the virtual object management module 623. The child element is a virtual object that follows the cursor object 901 like the virtual object 1002 described above. That is, it is determined whether there is a virtual object moved by the cursor object 901 in accordance with an instruction from the user. If it is determined that there is a child element, the process proceeds to step S805. If it is determined that there is no child element, the process proceeds to step S807.

ステップS805では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、カーソルオブジェクト901が当該カーソルオブジェクト901に追従させる仮想オブジェクト(以下、ObjX)と接触しているか否かを判定する。つまり、第1のボタン402または第2のボタン403がユーザから押下されて、ObjXを移動させようとしているか否かを判定することになる。カーソルオブジェクト901がObjXと接触していると判定された場合には、ステップS806に処理を進める。カーソルオブジェクト901がObjXと接触していないと判定された場合には、ステップS814に処理を進める。   In step S805, the CPU 501 of the information processing apparatus 101 uses the virtual object management module 623 to determine whether or not the cursor object 901 is in contact with a virtual object (hereinafter referred to as ObjX) that follows the cursor object 901. That is, it is determined whether or not the first button 402 or the second button 403 is pressed by the user to move the ObjX. If it is determined that the cursor object 901 is in contact with ObjX, the process proceeds to step S806. If it is determined that the cursor object 901 is not in contact with ObjX, the process proceeds to step S814.

ステップS806では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、接触しているObjXをカーソルオブジェクト901の子要素に設定する。つまり、ObjXをカーソルオブジェクト901に追従(移動)するように制御する(3次元モデル移動手段)。子要素となったObjXは、カーソルオブジェクト901に追従するので、ユーザが自由にObjXの位置を移動させることができる。   In step S <b> 806, the CPU 501 of the information processing apparatus 101 sets ObjX that is in contact as a child element of the cursor object 901 using the virtual object management module 623. That is, control is performed so that ObjX follows (moves) the cursor object 901 (three-dimensional model moving means). Since ObjX that has become a child element follows the cursor object 901, the user can freely move the position of ObjX.

ステップS807では、情報処理装置101のCPU501は、入力デバイス制御モジュール602を用いて、マウス401の第1のボタン402が押下されているか否かを判定する。第1のボタン402が押下されていると判定された場合には、ステップS808に処理を進める。第1のボタン402が押下されておらず、第2のボタン403が押下されていると判定された場合には、仮想空間生成処理を終了し、ステップS713に処理を進める。   In step S807, the CPU 501 of the information processing apparatus 101 determines whether the first button 402 of the mouse 401 is pressed using the input device control module 602. If it is determined that the first button 402 is pressed, the process proceeds to step S808. If it is determined that the first button 402 has not been pressed and the second button 403 has been pressed, the virtual space generation process ends, and the process proceeds to step S713.

ステップS808では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、前述したステップS806でカーソルオブジェクト901の子要素となったObjXの仮想空間上の座標値を取得する。ここで取得する座標値は、後述するステップS812で使用する。   In step S808, the CPU 501 of the information processing apparatus 101 uses the virtual object management module 623 to obtain the coordinate value in the virtual space of ObjX that has become a child element of the cursor object 901 in step S806 described above. The coordinate value acquired here is used in step S812 described later.

ステップS809では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、カーソルオブジェクト901の子要素であるObjXと、当該ObjXとは異なる仮想オブジェクト(以下、ObjY)とが接触しているかどうかを判定する。ステップS806でカーソルオブジェクト901の子要素となったObjXは、前述した通り、カーソルオブジェクト901に追従している。つまり、ユーザがカーソルオブジェクト901でObjXを移動させた結果、ObjXが他の仮想オブジェクトであるObjYと接触してしまう可能性がある。前述した図11の1100に示すように、本実施形態では、カーソルオブジェクト901で移動させている仮想オブジェクト1002(ObjX)が他の仮想オブジェクト1003(ObjY)に接触した場合には、仮想オブジェクト1002(ObjX)を接触した位置で停止し、カーソルオブジェクト901に対する追従を終了する必要がある。そのため、ステップS809では、カーソルオブジェクト901の子要素であるObjXと、ObjYとが接触しているかどうかを判定している。また、接触の判定をする際には、更にObjXの移動方向にObjYがあるかどうかも判定する。つまり、ObjYの方にObjXが向かっているのであれば、接触した際に停止する必要があるが、そうでない場合(ObjYのある面に対して平行にObjXを移動する場合)には接触していたとしても停止する必要はない。そのため、ObjXの移動方向も考慮して、接触判定を行う。ObjXとObjYとが接触していると判定された場合には、ステップS810に処理を進める。ObjXとObjYとが接触していないと判定された場合には、仮想空間生成処理を終了し、ステップS713に処理を進める。   In step S809, the CPU 501 of the information processing apparatus 101 uses the virtual object management module 623 to check whether ObjX that is a child element of the cursor object 901 is in contact with a virtual object that is different from the ObjX (hereinafter, ObjY). Determine if. ObjX that has become a child element of the cursor object 901 in step S806 follows the cursor object 901 as described above. That is, as a result of the user moving ObjX with the cursor object 901, ObjX may come into contact with ObjY, which is another virtual object. As indicated by 1100 in FIG. 11 described above, in this embodiment, when the virtual object 1002 (ObjX) moved by the cursor object 901 comes into contact with another virtual object 1003 (ObjY), the virtual object 1002 ( ObjX) must be stopped at the position of contact, and the tracking of the cursor object 901 must be terminated. Therefore, in step S809, it is determined whether ObjX that is a child element of the cursor object 901 is in contact with ObjY. Further, when determining contact, it is further determined whether there is ObjY in the movement direction of ObjX. In other words, if ObjX is directed toward ObjY, it is necessary to stop when it comes into contact, but in other cases (when ObjX is moved parallel to a surface with ObjY), it is in contact. There is no need to stop. Therefore, the contact determination is performed in consideration of the moving direction of ObjX. If it is determined that ObjX and ObjY are in contact with each other, the process proceeds to step S810. If it is determined that ObjX and ObjY are not in contact with each other, the virtual space generation process is terminated, and the process proceeds to step S713.

ステップS810では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、ObjXとObjYとが接触している箇所を識別表示する。   In step S810, the CPU 501 of the information processing apparatus 101 uses the virtual object management module 623 to identify and display a place where ObjX and ObjY are in contact.

ユーザは、仮想オブジェクト同士の接触を気にせずにObjXを移動させていることが想定される。そのため、ObjXが急に追従してこなくなった場合、ユーザに不安感を与えてしまう。そこで、ObjXとObjYとが接触していることをユーザに通知することで、このような問題点を解決している。   It is assumed that the user moves ObjX without worrying about contact between virtual objects. For this reason, when ObjX suddenly stops following, the user feels uneasy. Therefore, such a problem is solved by notifying the user that ObjX and ObjY are in contact with each other.

また、ユーザにとっては、どの部分が接触しているのかを知りたいことがある。例えば、製品設計において、部品が他の部品と接触していないかどうか確認しないと、故障につながってしまう可能性がある。そこで、ObjXのどの部分がObjYと接触しているのかをユーザに対して識別表示することで、このような問題点を解決している。図11の1100では、この識別表示の一例を示している。図11の1100では、仮想オブジェクト1002(ObjX)の左面と、仮想オブジェクト1003(ObjY)の右面とが接触しているので、接触している部分を示すように吹き出しを表示させている。この他にも、接触している部分の色を変えてもよいし、不図示のスピーカーから音を出して通知してもよい。通知の方法はどのような方法でもよい。   Also, the user may want to know which part is in contact. For example, in product design, failure to check whether a part is in contact with other parts may lead to failure. Therefore, such a problem is solved by identifying to the user which part of ObjX is in contact with ObjY. An example of this identification display is shown at 1100 in FIG. In 1100 of FIG. 11, since the left surface of the virtual object 1002 (ObjX) and the right surface of the virtual object 1003 (ObjY) are in contact, a balloon is displayed to indicate the contacted portion. In addition to this, the color of the contacted part may be changed, or a sound may be emitted from a not-shown speaker. Any method of notification may be used.

ステップS811では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、カーソルオブジェクト901から子要素であるObjXを当該カーソルオブジェクト901から切り離す。つまり、子要素でなくす。そして、ステップS812では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、ステップS808で取得した座標値をObjXに代入する。つまり、ObjXはカーソルオブジェクト901の子要素ではなくなったので、追従を終了して、接触した位置で停止する必要がある。そこで、ステップS808で取得した座標値をObjXの表示位置として使用する。   In step S811, the CPU 501 of the information processing apparatus 101 uses the virtual object management module 623 to separate the child element ObjX from the cursor object 901 from the cursor object 901. In other words, it is not a child element. In step S812, the CPU 501 of the information processing apparatus 101 uses the virtual object management module 623 to substitute the coordinate value acquired in step S808 for ObjX. That is, since ObjX is no longer a child element of the cursor object 901, it is necessary to end the follow-up and stop at the touched position. Therefore, the coordinate value acquired in step S808 is used as the display position of ObjX.

ステップS813では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、第1ボタン押下中フラグを「0」から「1」に変更する。第1のボタン押下中フラグは、マウス401の第1のボタン402が押下中であることを示すフラグである。第1のボタン押下中フラグは、後述するステップS814で使用する。ステップS813の処理が終了すると、仮想空間生成処理を終了し、ステップS713に処理を進める。   In step S813, the CPU 501 of the information processing apparatus 101 uses the virtual object management module 623 to change the first button pressing flag from “0” to “1”. The first button pressing flag is a flag indicating that the first button 402 of the mouse 401 is being pressed. The first button pressing flag is used in step S814 to be described later. When the process of step S813 ends, the virtual space generation process ends, and the process proceeds to step S713.

このように、ユーザはカーソルオブジェクト901をObjXに接触させた状態で第1のボタン402または第2のボタン403を押下することで、ObjXを移動させることができ、第1のボタン402でObjXを移動させている場合に、ObjXが他の仮想オブジェクトであるObjYと接触した場合には、ObjXを接触した位置で停止させることができる。そのため、より現実空間に近い動作をユーザに提示することができる。また、第2のボタン403でObjXを移動させている場合には、ステップS808乃至ステップS813を実行しないため、従来通り、ObjXがObjYと接触した位置で停止させずに、ObjXがObjYを貫通して移動させることができる。つまり、ユーザは状況に応じて、所望の移動方法を選択することができる。   In this manner, the user can move ObjX by pressing the first button 402 or the second button 403 while the cursor object 901 is in contact with ObjX, and the ObjX can be moved with the first button 402. When the object is moved, if ObjX comes in contact with ObjY, which is another virtual object, ObjX can be stopped at the contacted position. Therefore, an operation closer to the real space can be presented to the user. In addition, when ObjX is moved by the second button 403, Steps S808 to S813 are not executed, and ObjX penetrates ObjY without stopping at the position where ObjX contacts ObjY as before. Can be moved. That is, the user can select a desired moving method according to the situation.

一方、ステップS805でObjXとカーソルオブジェクト901が接触しないと判定された場合には、ステップS814では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、第1のボタン押下中フラグが「1」であるか否かを判定する。つまり、ステップS808乃至ステップS813の処理が実行された後も第1のボタン402が押下中であるか否かを判定する。第1のボタン押下中フラグが「1」であると判定された場合には、ステップS815に処理を進める。第1のボタン押下中フラグが「0」であると判定された場合には、仮想空間生成処理を終了し、ステップS713に処理を進める。   On the other hand, if it is determined in step S805 that ObjX does not contact the cursor object 901, in step S814, the CPU 501 of the information processing apparatus 101 uses the virtual object management module 623 to set the first button pressed flag. It is determined whether or not “1”. That is, it is determined whether or not the first button 402 is being pressed even after the processing of steps S808 to S813 is executed. If it is determined that the first button pressing flag is “1”, the process proceeds to step S815. If it is determined that the first button pressing flag is “0”, the virtual space generation process is terminated, and the process proceeds to step S713.

ステップS815では、情報処理装置101のCPU501は、入力デバイス制御モジュール602を用いて、更に第2のボタン403も押下されたか否かを判定する。第2のボタン403も押下されたと判定された場合には、ステップS816に処理を進める。第2のボタン403が押下されなかった場合には、仮想空間生成処理を終了し、ステップS713に処理を進める。   In step S815, the CPU 501 of the information processing apparatus 101 determines whether the second button 403 is further pressed using the input device control module 602. If it is determined that the second button 403 is also pressed, the process proceeds to step S816. If the second button 403 has not been pressed, the virtual space generation process ends, and the process proceeds to step S713.

ステップS816では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、カーソルオブジェクト901の仮想空間上の座標値を取得する。そして、ステップS817では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、ステップS816で取得した座標値をObjXの座標値として代入する。つまり、前述したステップS812で接触した位置で停止したObjXをカーソルオブジェクト901の位置に呼び戻す。   In step S <b> 816, the CPU 501 of the information processing apparatus 101 acquires a coordinate value in the virtual space of the cursor object 901 using the virtual object management module 623. In step S817, the CPU 501 of the information processing apparatus 101 uses the virtual object management module 623 to substitute the coordinate value acquired in step S816 as the coordinate value of ObjX. That is, ObjX stopped at the position touched in step S812 described above is called back to the position of the cursor object 901.

ステップS818では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、前述したステップS806と同様に、ObjXをカーソルオブジェクト901の子要素とする。このように、ObjXがObjYに接触することによりカーソルオブジェクト901から切り離され、停止した場合であっても、第1のボタン402の押下を継続したまま、更に第2のボタン403を押下することで、ObjXを呼び戻すことができる。すなわち、ObjXの追従動作を再開することができる。これにより、わざわざユーザがObjXを取りに行く手間を軽減することができる。   In step S818, the CPU 501 of the information processing apparatus 101 uses the virtual object management module 623 to set ObjX as a child element of the cursor object 901, as in step S806 described above. In this way, even when ObjX is disconnected from the cursor object 901 by contacting ObjY and stopped, the second button 403 can be further pressed while the first button 402 continues to be pressed. , ObjX can be recalled. That is, the follow operation of ObjX can be resumed. As a result, it is possible to reduce the trouble for the user to go to ObjX.

ステップS803で第1のボタン402または第2のボタン403が第1のボタン402および第2のボタン403のどちらも押下されていないと判定された場合には、ステップS819では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、カーソルオブジェクト901に子要素のObjXがあるか否かを判定する。つまり、第1のボタン402の押下が終了したため、ObjXをカーソルオブジェクト901から切り離さなければならない。そこで、ステップS819においてこのような判定を行っている。カーソルオブジェクト901に子要素があると判定された場合には、ステップS820に処理を進める。カーソルオブジェクト901に子要素がないと判定された場合には、ステップS823に処理を進める。   If it is determined in step S803 that neither the first button 402 nor the second button 403 has been pressed, the information processing apparatus 101 determines in step S819. The CPU 501 uses the virtual object management module 623 to determine whether or not the cursor object 901 has a child element ObjX. That is, since the pressing of the first button 402 has ended, ObjX must be disconnected from the cursor object 901. Therefore, such a determination is performed in step S819. If it is determined that the cursor object 901 has a child element, the process proceeds to step S820. If it is determined that the cursor object 901 has no child element, the process proceeds to step S823.

ステップS820では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、前述したステップS808と同様に、カーソルオブジェクト901に追従しているObjXの仮想空間上の座標値を取得する。そして、ステップS821では、情報処理装置101のCPU501は、前述したステップS811と同様に、仮想オブジェクト管理モジュール623を用いて、カーソルオブジェクト901からObjXを切り離す。そして、ステップS822では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、前述したステップS812と同様に、ステップS820で取得した座標値をObjXの座標値に代入する。こうすることで、ObjXの追従動作を終了する。   In step S820, the CPU 501 of the information processing apparatus 101 uses the virtual object management module 623 to acquire the coordinate value in the virtual space of ObjX following the cursor object 901, as in step S808 described above. In step S821, the CPU 501 of the information processing apparatus 101 separates ObjX from the cursor object 901 using the virtual object management module 623, as in step S811 described above. In step S822, the CPU 501 of the information processing apparatus 101 uses the virtual object management module 623 to substitute the coordinate value acquired in step S820 for the coordinate value of ObjX, as in step S812 described above. By doing so, the follow operation of ObjX is completed.

ステップS823では、情報処理装置101のCPU501は、仮想オブジェクト管理モジュール623を用いて、第1のボタン押下中フラグを「0」にする。つまり、第1のボタン押下中フラグを初期化する。   In step S823, the CPU 501 of the information processing apparatus 101 sets the first button pressing flag to “0” using the virtual object management module 623. That is, the first button pressing flag is initialized.

以上のようにすることで、ユーザからマウス401を通じて操作された仮想オブジェクトで仮想空間を生成し、前述したステップS713以降の処理に備える。   As described above, a virtual space is generated with the virtual object operated by the user through the mouse 401, and prepared for the processing after step S713 described above.

このように、ユーザから操作された仮想空間上の3次元モデルが当該3次元モデルとは異なる3次元モデルと接触した場合に、ユーザから操作された3次元モデルを停止することが可能となるので、よりリアルな動作を提示できる効果を奏する。   As described above, when the 3D model in the virtual space operated by the user comes into contact with a 3D model different from the 3D model, the 3D model operated by the user can be stopped. The effect which can show more realistic operation is produced.

本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。   The present invention can be implemented as a system, apparatus, method, program, storage medium, or the like, and can be applied to a system including a plurality of devices. You may apply to the apparatus which consists of one apparatus.

なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。   Note that the present invention includes a software program that implements the functions of the above-described embodiments directly or remotely from a system or apparatus. The present invention also includes a case where the system or the computer of the apparatus is achieved by reading and executing the supplied program code.

したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, and the like.

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。   Examples of the recording medium for supplying the program include a flexible disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, and CD-RW. In addition, there are magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD-R), and the like.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。   As another program supply method, a browser on a client computer is used to connect to an Internet home page. The computer program itself of the present invention or a compressed file including an automatic installation function can be downloaded from the homepage by downloading it to a recording medium such as a hard disk.

また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. Let It is also possible to execute the encrypted program by using the downloaded key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。   Further, the functions of the above-described embodiments are realized by the computer executing the read program. In addition, based on the instructions of the program, an OS or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments can also be realized by the processing.

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

なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。   Note that the above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed in a limited manner. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.

100 MRシステム
101 情報処理装置
102 HMD
103 マーカー
201 トランスミッター
202 レシーバ
301 赤外線カメラ
302 オプティカルマーカー
401 マウス
501 CPU
502 ROM
503 RAM
504 システムバス
505 入力コントローラ
506 ビデオコントローラ
507 メモリコントローラ
508 通信I/Fコントローラ
509 入力デバイス
510 ディスプレイ
511 外部メモリ
521 右目ビデオカメラ
522 左目ビデオカメラ
523 右目ディスプレイ
524 左目ディスプレイ
525 コントローラ
100 MR system 101 Information processing apparatus 102 HMD
103 Marker 201 Transmitter 202 Receiver 301 Infrared Camera 302 Optical Marker 401 Mouse 501 CPU
502 ROM
503 RAM
504 System bus 505 Input controller 506 Video controller 507 Memory controller 508 Communication I / F controller 509 Input device 510 Display 511 External memory 521 Right-eye video camera 522 Left-eye video camera 523 Right-eye display 524 Left-eye display 525 Controller

Claims (9)

現実空間を撮像した画像である現実空間画像に、仮想空間を撮像した画像である仮想空間画像を重畳した複合現実画像を、ユーザに対して提示するための情報処理装置であって、
前記現実空間画像の入力を受け付ける現実空間画像入力受付手段と、
前記複合現実画像を提示するユーザの位置及び姿勢の入力を受け付ける位置姿勢入力受付手段と、
ユーザからの第1の指示に応じて、仮想空間に配置された3次元モデルが、前記現実空間においてユーザが保持する物体の動きに追従するように設定する設定手段と、
前記設定手段で設定された3次元モデルを、前記物体の動きに追従するように移動させる3次元モデル移動手段と、
前記3次元モデル移動手段で移動された3次元モデルを含む仮想空間を、前記位置姿勢入力受付手段で入力を受け付けた位置及び姿勢の少なくとも一方に基づいて撮像することにより、前記仮想空間画像を生成する仮想空間画像生成手段と、
前記現実空間画像入力受付手段で入力を受け付けた現実空間画像に、前記仮想空間画像生成手段で生成された仮想空間画像を重畳し、前記複合現実画像を生成する複合現実画像生成手段と
を備え、
前記設定手段は、前記物体の動きに追従して移動させた3次元モデルが、当該3次元モデルとは異なる3次元モデルと接触した場合に、当該設定手段で設定された前記物体の動きに追従する設定を解除し、
前記3次元モデル移動手段は、前記設定手段で前記物体の動きに追従する設定が解除されたことに応じて、移動させた3次元モデル前記ユーザが保持する物体の動きに追従させず、当該3次元モデルとは異なる3次元モデルと接触した位置で停することを特徴とする情報処理装置。
An information processing apparatus for presenting to a user a mixed reality image in which a virtual space image that is an image obtained by imaging a virtual space is superimposed on a real space image that is an image obtained by imaging a real space,
A real space image input receiving means for receiving an input of the real space image;
Position and orientation input accepting means for accepting input of the position and orientation of the user presenting the mixed reality image;
A setting unit configured to set the three-dimensional model arranged in the virtual space to follow the movement of the object held by the user in the real space in response to a first instruction from the user;
3D model set by the setting means, and a three-dimensional model moving means for moving so as to follow the movement of the object,
The virtual space image is generated by imaging the virtual space including the three-dimensional model moved by the three-dimensional model moving unit based on at least one of the position and the posture received by the position and posture input receiving unit. Virtual space image generation means for
Mixed reality image generating means for generating the mixed reality image by superimposing the virtual space image generated by the virtual space image generating means on the real space image received by the real space image input receiving means;
The setting means follows the movement of the object set by the setting means when a three-dimensional model moved following the movement of the object contacts a three-dimensional model different from the three-dimensional model. Cancel the setting to
The three-dimensional model moving unit does not cause the moved three-dimensional model to follow the movement of the object held by the user in response to the setting of the setting unit canceling the setting of following the movement of the object. the information processing apparatus which is characterized in that stop at a position come in contact with different three-dimensional model with the three-dimensional model.
前記設定手段は、前記第1の指示とは異なる第2の指示を検知した場合には、前記3次元モデル移動手段で移動を停止させた3次元モデルが前記物体の動きに追従するように再度設定し、
前記3次元モデル移動手段は、前記第1の指示とは異なる第2の指示を検知した場合には、前記3次元モデル移動手段で移動を停止させた3次元モデルを前記物体の位置に移動させると共に、前記物体の動きに追従するように移動を再開させることを特徴とする請求項1に記載の情報処理装置。
When the setting means detects a second instruction different from the first instruction, the setting means again causes the three-dimensional model stopped by the three-dimensional model moving means to follow the movement of the object. Set,
The three-dimensional model moving means moves said when examined knowledge of different second instruction from the first instruction, the 3D model obtained by stopping the movement in the three-dimensional model moving means to a position of the object It causes the information processing apparatus according to claim 1, characterized in that makes resume movement to follow the movement of the object.
前記物体は、前記情報処理装置と通信可能に接続された入力デバイスであり、
前記位置姿勢入力受付手段は、前記入力デバイスの位置及び姿勢の入力を更に受け付け、
前記3次元モデル移動手段は、前記位置姿勢入力受付手段で入力を受け付けた前記入力デバイスの位置及び姿勢に基づいて特定される3次元モデルを移動させることを特徴とする請求項1または2に記載の情報処理装置。
The object is an input device that is communicably connected to the information processing apparatus,
Wherein the position and orientation input accepting unit further accepts an input of the position and orientation of the entering force device,
The three-dimensional model moving means according to claim 1 and feature a user to move the three-dimensional model which is specified based on the position and orientation of the input device, the input of which is accepted by the position and orientation input receiving means or 2. The information processing apparatus according to 2.
前記3次元モデル移動手段は、前記位置姿勢入力受付手段で入力を受け付けた前記入力デバイスの位置及び姿勢に基づいて仮想空間に3次元モデルを生成し、生成された3次元モデルと接触する3次元モデルを移動させることを特徴とする請求項3に記載の情報処理装置。 The 3D model moving unit generates a 3D model in a virtual space based on the position and orientation of the input device that has received an input by the position / orientation input receiving unit, and is in contact with the generated 3D model the information processing apparatus according to claim 3, feature to move the model. 前記3次元モデル移動手段は、ユーザからの第1の指示によって移動された3次元モデルが、当該3次元モデルとは異なる3次元モデルと接触した場合には、接触した位置で当該3次元モデルの移動を停止させ、ユーザからの第2の指示によって移動された3次元モデルが、当該3次元モデルとは異なる3次元モデルと接触した場合には、当該3次元モデルの移動を停止させないことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。   When the three-dimensional model moved by the first instruction from the user comes into contact with a three-dimensional model different from the three-dimensional model, the three-dimensional model moving means moves the three-dimensional model at the touched position. The movement is stopped, and the movement of the three-dimensional model is not stopped when the three-dimensional model moved by the second instruction from the user comes into contact with a three-dimensional model different from the three-dimensional model. The information processing apparatus according to any one of claims 1 to 4. 前記位置姿勢入力受付手段は、前記情報処理装置と通信可能に接続されたセンサから送信される情報を受信することで、前記ユーザの位置及び姿勢の入力を受け付けることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。   The position / orientation input accepting unit accepts input of the position and orientation of the user by receiving information transmitted from a sensor connected to be communicable with the information processing apparatus. 6. The information processing apparatus according to any one of 5 above. 前記情報処理装置は、現実空間を撮像可能なヘッドマウントディスプレイと通信可能に接続され、
前記現実空間画像入力受付手段は、前記ヘッドマウントディスプレイで撮像された前記現実空間画像の入力を受け付け、
前記情報処理装置は、
前記複合現実画像生成手段で生成された複合現実画像を前記ヘッドマウントディスプレイに送信する複合現実画像送信手段を更に備え、
前記ヘッドマウントディスプレイは、
前記情報処理装置から送信された複合現実画像を表示する表示手段を備えることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
The information processing apparatus is communicably connected to a head mounted display capable of imaging a real space,
The real space image input receiving means receives the input of the real space image captured by the head mounted display,
The information processing apparatus includes:
A mixed reality image transmitting means for transmitting the mixed reality image generated by the mixed reality image generating means to the head mounted display;
The head mounted display is
The information processing apparatus according to claim 1, further comprising display means for displaying a mixed reality image transmitted from the information processing apparatus.
現実空間を撮像した画像である現実空間画像に、仮想空間を撮像した画像である仮想空間画像を重畳した複合現実画像を、ユーザに対して提示するための情報処理装置の制御方法であって、
前記情報処理装置の現実空間画像入力受付手段が、前記現実空間画像の入力を受け付ける現実空間画像入力受付ステップと、
前記情報処理装置の位置姿勢入力受付手段が、前記複合現実画像を提示するユーザの位置及び姿勢の入力を受け付ける位置姿勢入力受付ステップと、
前記情報処理装置の設定手段が、ユーザからの指示に応じて、仮想空間に配置された3次元モデルが、前記現実空間においてユーザが保持する物体の動きに追従するように設定する設定ステップと、
前記情報処理装置の3次元モデル移動手段が、前記設定ステップで設定された3次元モデルを、前記物体の動きに追従するように移動させる3次元モデル移動ステップと、
前記情報処理装置の仮想空間画像生成手段が、前記3次元モデル移動ステップで移動された3次元モデルを含む仮想空間を、前記位置姿勢入力受付ステップで入力を受け付けた位置及び姿勢の少なくとも一方に基づいて撮像することにより、前記仮想空間画像を生成する仮想空間画像生成ステップと、
前記情報処理装置の複合現実画像生成手段が、前記現実空間画像入力受付ステップで入力を受け付けた現実空間画像に、前記仮想空間画像生成ステップで生成された仮想空間画像を重畳し、前記複合現実画像を生成する複合現実画像生成ステップと
を備え、
前記設定ステップは、前記物体の動きに追従して移動させた3次元モデルが、当該3次元モデルとは異なる3次元モデルと接触した場合に、当該設定ステップで設定された前記物体の動きに追従する設定を解除し、
前記3次元モデル移動ステップは、前記設定ステップで前記物体の動きに追従する設定が解除されたことに応じて、移動させた3次元モデル前記ユーザが保持する物体の動きに追従させず、当該3次元モデルとは異なる3次元モデルと接触した位置で停することを特徴とする情報処理装置の制御方法。
A control method of an information processing apparatus for presenting a mixed reality image in which a virtual space image that is an image obtained by imaging a virtual space is superimposed on a real space image that is an image obtained by imaging a real space to a user,
A real space image input receiving unit of the information processing apparatus for receiving an input of the real space image;
A position / orientation input receiving step in which a position / orientation input receiving unit of the information processing apparatus receives an input of a position and posture of a user presenting the mixed reality image;
A setting step in which the setting unit of the information processing apparatus sets the three-dimensional model arranged in the virtual space to follow the movement of the object held by the user in the real space in accordance with an instruction from the user;
3D model moving means of the information processing apparatus, a three-dimensional model that has been set in the setting step, the three-dimensional model moving step of moving so as to follow the movement of the object,
The virtual space image generation means of the information processing apparatus is based on at least one of the position and the posture of the virtual space including the three-dimensional model moved in the three-dimensional model moving step. A virtual space image generation step of generating the virtual space image by imaging
The mixed reality image generating means of the information processing apparatus superimposes the virtual space image generated in the virtual space image generating step on the real space image received in the real space image input receiving step, and the mixed reality image A mixed reality image generation step for generating
The setting step follows the movement of the object set in the setting step when a three-dimensional model moved following the movement of the object contacts a three-dimensional model different from the three-dimensional model. Cancel the setting to
The three-dimensional model moving step does not cause the moved three-dimensional model to follow the movement of the object held by the user in response to the cancellation of the setting to follow the movement of the object in the setting step. the control method of an information processing apparatus, characterized in that the stop at a position come in contact with different three-dimensional model with the three-dimensional model.
現実空間を撮像した画像である現実空間画像に、仮想空間を撮像した画像である仮想空間画像を重畳した複合現実画像を、ユーザに対して提示するための情報処理装置の制御方法を実行可能なプログラムであって、
前記情報処理装置を、
前記現実空間画像の入力を受け付ける現実空間画像入力受付手段と、
前記複合現実画像を提示するユーザの位置及び姿勢の入力を受け付ける位置姿勢入力受付手段と、
ユーザからの指示に応じて、仮想空間に配置された3次元モデルが、前記現実空間においてユーザが保持する物体の動きに追従するように設定する設定手段と、
前記設定手段で設定された3次元モデルを、前記物体の動きに追従するように移動させる3次元モデル移動手段と、
前記3次元モデル移動手段で移動された3次元モデルを含む仮想空間を、前記位置姿勢入力受付手段で入力を受け付けた位置及び姿勢の少なくとも一方に基づいて撮像することにより、前記仮想空間画像を生成する仮想空間画像生成手段と、
前記現実空間画像入力受付手段で入力を受け付けた現実空間画像に、前記仮想空間画像生成手段で生成された仮想空間画像を重畳し、前記複合現実画像を生成する複合現実画像生成手段
として機能させ、
前記設定手段は、前記物体の動きに追従して移動させた3次元モデルが、当該3次元モデルとは異なる3次元モデルと接触した場合に、当該設定手段で設定された前記物体の動きに追従する設定を解除し、
前記3次元モデル移動手段は、前記設定手段で前記物体の動きに追従する設定が解除されたことに応じて、移動させた3次元モデル前記ユーザが保持する物体の動きに追従させず、当該3次元モデルとは異なる3次元モデルと接触した位置で停することを特徴とするプログラム。
An information processing apparatus control method for presenting to a user a mixed reality image obtained by superimposing a virtual space image, which is an image obtained by imaging a virtual space, on a real space image, which is an image obtained by imaging the real space, is executable. A program,
The information processing apparatus;
A real space image input receiving means for receiving an input of the real space image;
Position and orientation input accepting means for accepting input of the position and orientation of the user presenting the mixed reality image;
A setting unit configured to set a three-dimensional model arranged in the virtual space to follow the movement of the object held by the user in the real space in response to an instruction from the user;
3D model set by the setting means, and a three-dimensional model moving means for moving so as to follow the movement of the object,
The virtual space image is generated by imaging the virtual space including the three-dimensional model moved by the three-dimensional model moving unit based on at least one of the position and the posture received by the position and posture input receiving unit. Virtual space image generation means for
Superimposing the virtual space image generated by the virtual space image generation means on the real space image received by the real space image input reception means, and functioning as a mixed reality image generation means for generating the mixed reality image;
The setting means follows the movement of the object set by the setting means when a three-dimensional model moved following the movement of the object contacts a three-dimensional model different from the three-dimensional model. Cancel the setting to
The three-dimensional model moving unit does not cause the moved three-dimensional model to follow the movement of the object held by the user in response to the setting of the setting unit canceling the setting of following the movement of the object. a program characterized by stop at a position come in contact with different three-dimensional model with the three-dimensional model.
JP2013178715A 2013-08-29 2013-08-29 Information processing apparatus, control method thereof, and program Expired - Fee Related JP5874698B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013178715A JP5874698B2 (en) 2013-08-29 2013-08-29 Information processing apparatus, control method thereof, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013178715A JP5874698B2 (en) 2013-08-29 2013-08-29 Information processing apparatus, control method thereof, and program

Publications (2)

Publication Number Publication Date
JP2015049548A JP2015049548A (en) 2015-03-16
JP5874698B2 true JP5874698B2 (en) 2016-03-02

Family

ID=52699560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013178715A Expired - Fee Related JP5874698B2 (en) 2013-08-29 2013-08-29 Information processing apparatus, control method thereof, and program

Country Status (1)

Country Link
JP (1) JP5874698B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6362631B2 (en) * 2016-01-15 2018-07-25 株式会社meleap Image display system, image display system control method, image distribution system, and head-mounted display
WO2020059277A1 (en) * 2018-09-20 2020-03-26 富士フイルム株式会社 Information processing device, information processing system, information processing method, and program
JP2020187778A (en) * 2020-07-15 2020-11-19 キヤノンマーケティングジャパン株式会社 Information processing device, information processing system, control method therefor, and program
JP7694549B2 (en) * 2022-12-14 2025-06-18 株式会社デンソー Processing system, processing method, and processing program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520403A (en) * 1991-07-10 1993-01-29 Sanyo Electric Co Ltd Automatic interference check system
JP3148489B2 (en) * 1993-12-14 2001-03-19 松下電器産業株式会社 3D object placement device
JP3378726B2 (en) * 1996-05-24 2003-02-17 富士通株式会社 Machine design / manufacturing process support device
JP2006343954A (en) * 2005-06-08 2006-12-21 Canon Inc Image processing method and image processing apparatus

Also Published As

Publication number Publication date
JP2015049548A (en) 2015-03-16

Similar Documents

Publication Publication Date Title
US11557134B2 (en) Methods and systems for training an object detection algorithm using synthetic images
EP3619599B1 (en) Virtual content displayed with shared anchor
EP3345073B1 (en) Localizing devices in an augmented reality environment
KR101927150B1 (en) 3d display apparatus and method for providing user interface
JP5843340B2 (en) 3D environment sharing system and 3D environment sharing method
JP2020024752A (en) Information processing apparatus, control method therefor, and program
JP2015125641A (en) Information processing device, control method therefor, and program
US11288871B2 (en) Web-based remote assistance system with context and content-aware 3D hand gesture visualization
JP2016122392A (en) Information processing apparatus, information processing system, control method and program of the same
JP2017120650A (en) Information processing system, control method thereof, program, information processor, control method thereof, and program
US20150138301A1 (en) Apparatus and method for generating telepresence
JP6070676B2 (en) Information processing apparatus, information processing system, control method thereof, and program
JP5874698B2 (en) Information processing apparatus, control method thereof, and program
JP2018142230A (en) Information processor, information processing system, information processing method, and program
JP6357412B2 (en) Information processing apparatus, information processing system, information processing method, and program
JP6164177B2 (en) Information processing apparatus, information processing system, control method thereof, and program
JP2016115230A (en) Information processing apparatus, information processing system, control method thereof, and program
JP7279113B2 (en) IMAGE PROCESSING APPARATUS, IMAGE PROCESSING METHOD, COMPUTER PROGRAM
JP6011567B2 (en) Information processing apparatus, control method thereof, and program
JP6152888B2 (en) Information processing apparatus, control method and program thereof, and information processing system, control method and program thereof
US20210263308A1 (en) Apparatus configured to display shared information on plurality of display apparatuses and method thereof
US12477040B2 (en) Systems, methods, and media for controlling shared extended reality presentations
JP6372131B2 (en) Information processing apparatus, control method thereof, and program
JP2017084215A (en) Information processing system, control method thereof, and program
GB2639137A (en) Electronic device

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150410

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160104

R150 Certificate of patent or registration of utility model

Ref document number: 5874698

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees