JP6741939B2 - Information processing apparatus, information processing system, control method thereof, and program - Google Patents

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

Info

Publication number
JP6741939B2
JP6741939B2 JP2016108809A JP2016108809A JP6741939B2 JP 6741939 B2 JP6741939 B2 JP 6741939B2 JP 2016108809 A JP2016108809 A JP 2016108809A JP 2016108809 A JP2016108809 A JP 2016108809A JP 6741939 B2 JP6741939 B2 JP 6741939B2
Authority
JP
Japan
Prior art keywords
virtual object
model
design
display
interference
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.)
Active
Application number
JP2016108809A
Other languages
Japanese (ja)
Other versions
JP2017215753A5 (en
JP2017215753A (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 JP2016108809A priority Critical patent/JP6741939B2/en
Publication of JP2017215753A publication Critical patent/JP2017215753A/en
Publication of JP2017215753A5 publication Critical patent/JP2017215753A5/ja
Application granted granted Critical
Publication of JP6741939B2 publication Critical patent/JP6741939B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、情報処理システム、その制御方法及びプログラムに関する。 The present invention relates to an information processing device, an information processing system, a control method thereof, and a program.

近年、複合現実(Mixed Reality/以下、MRと記載)の技術が普及している。複合現実の技術を用いて、ヘッドマウントディスプレイ(HMD)を装着したユーザに対し、現実画像にCGモデル(仮想物体)を配置した複合現実画像を提供し、現実と仮想を複合した複合現実の世界を体験させることができる。複合現実画像を生成するにあたり、HMDの位置とCGモデルの位置とを、センサや二次元マーカを用いて特定する手法が取られている。 In recent years, mixed reality (hereinafter referred to as MR) technology has become widespread. Using the mixed reality technology, a user who wears a head mounted display (HMD) is provided with a mixed reality image in which a CG model (virtual object) is arranged in the real image, and a mixed reality world combining reality and virtual is provided. Can be experienced. In generating the mixed reality image, a method of identifying the position of the HMD and the position of the CG model using a sensor or a two-dimensional marker is used.

特許文献1には、HMDで撮像された画像の中に写る二次元マーカを用いてHMDの位置姿勢を特定し、複合現実画像を提供する技術が記載されている。また、特許文献2には、磁気センサを用いてHMDの位置姿勢を特定し、複合現実画像を提供する技術が記載されている。 Japanese Patent Application Laid-Open No. 2004-242242 describes a technique of specifying the position and orientation of the HMD by using a two-dimensional marker appearing in the image captured by the HMD and providing a mixed reality image. Further, Patent Document 2 describes a technique of identifying the position and orientation of the HMD using a magnetic sensor and providing a mixed reality image.

また、特許文献3には、仮想物体同士が干渉した場合に、干渉に応じて、干渉した仮想物体の形状を変形させ、干渉の事実をユーザに通知する技術が記載されている。 Further, Patent Document 3 describes a technique of, when virtual objects interfere with each other, deforming the shape of the virtual objects that interfere with each other according to the interference and notifying the user of the fact of the interference.

特開2003−308514号公報JP, 2003-308514, A 特開2003−240532号公報JP, 2003-240532, A 特開2007−179483号公報JP, 2007-179483, A

例えば引用文献3の技術では、干渉した物体の両方がユーザに見えるように表示されている場合には、物体同士の干渉・衝突を容易に確認できるが、例えば仮想物体が密集している場合や、仮想物体の中に複数の仮想物体が配置されている場合、干渉している部分がユーザから見て仮想物体の裏側である場合等は、どの仮想物体とどの仮想物体が接触しているのかが分かり難い。 For example, in the technique of the cited document 3, when both of the interfering objects are displayed so that they can be seen by the user, interference/collision between the objects can be easily confirmed. , When multiple virtual objects are arranged in the virtual object, when the interfering part is on the back side of the virtual object as seen from the user, which virtual object is in contact with which virtual object Is hard to understand.

そこで、本発明は、複合現実において、物体同士の干渉をユーザに容易に確認させることができる仕組みを提供することを目的とする。 Therefore, it is an object of the present invention to provide a mechanism that allows a user to easily confirm interference between objects in mixed reality.

本発明は、仮想オブジェクトを表示する表示部を備える表示装置と接続可能な、仮想オブジェクトの位置姿勢を複数記憶する情報処理装置であって、前記表示装置の位置姿勢を特定する表示装置位置姿勢特定手段と、前記表示装置位置姿勢特定手段により特定された表示装置の位置姿勢と、前記仮想オブジェクトの位置姿勢とに基づいて前記仮想オブジェクトの画像を生成する生成手段と、前記生成手段により生成された画像を前記表示装置に表示させるべく送信する送信手段と、前記仮想オブジェクトの位置姿勢に基づいて、他の仮想オブジェクトと干渉している仮想オブジェクトを特定する干渉オブジェクト特定手段と、を備え、前記生成手段は、前記表示装置位置姿勢特定手段により特定された前記表示装置の位置姿勢と、前記干渉オブジェクト特定手段により特定された前記干渉オブジェクトの位置姿勢とに基づいて、前記干渉オブジェクトを除く他の仮想オブジェクトの画像を、前記干渉オブジェクトを前記表示装置において確認可能になるように生成し、前記送信手段は、前記生成手段により、前記干渉オブジェクトを除く他の仮想オブジェクトの画像であって、前記干渉オブジェクトを前記表示装置において確認可能になるように生成された画像を前記表示装置に送信することを特徴とする。 The present invention is an information processing apparatus that stores a plurality of positions and orientations of virtual objects, which is connectable to a display device that includes a display unit that displays virtual objects, and that identifies the position and orientation of the display device. Means, generating means for generating an image of the virtual object based on the position and orientation of the display device specified by the display device position and orientation specifying means, and the position and orientation of the virtual object, and the generating means for generating the image of the virtual object. And a transmitting unit configured to transmit an image to be displayed on the display device; and an interference object specifying unit that specifies a virtual object that interferes with another virtual object based on the position and orientation of the virtual object. Means, other than the interference object based on the position and orientation of the display device specified by the display device position and orientation specifying unit, and the position and orientation of the interference object specified by the interference object specifying unit An image of an object is generated so that the interference object can be confirmed on the display device, and the transmission means is an image of another virtual object except the interference object, the interference object being generated by the generation means. Is transmitted to the display device so that an image generated so that can be confirmed on the display device is transmitted.

本発明によれば、複合現実において、物体同士の干渉をユーザに容易に確認させることができる仕組みを提供することが可能になる。 According to the present invention, it is possible to provide a mechanism that allows a user to easily confirm interference between objects in mixed reality.

本発明の実施形態における、情報処理システム構成図の一例を示す図である。It is a figure which shows an example of an information processing system block diagram in embodiment of this invention. 本発明の実施形態における、各種装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of various apparatuses in embodiment of this invention. 本発明の実施形態における、各種装置の機能構成の一例を示す図である。It is a figure showing an example of functional composition of various devices in an embodiment of the present invention. 本発明の実施形態における、各種装置のモジュール構成の一例を示す処理図である。FIG. 6 is a processing diagram showing an example of a module configuration of various devices according to the embodiment of the present invention. 本発明の第1の実施形態における、複合現実画像の生成及び表示処理の一例を示すフローチャートである。6 is a flowchart illustrating an example of mixed reality image generation and display processing according to the first embodiment of the present invention. 本発明の第1の実施形態における、データ構成の一例を示す図である。It is a figure which shows an example of a data structure in the 1st Embodiment of this invention. 本発明の第1の実施形態における、複合現実画像の生成処理の詳細を示すフローチャートである。6 is a flowchart showing details of mixed reality image generation processing in the first embodiment of the present invention. 本発明の第2の実施形態における、複合現実画像の生成処理の詳細を示すフローチャートである。9 is a flowchart showing details of mixed reality image generation processing according to the second embodiment of the present invention. 本発明の第3の実施形態における、複合現実画像の生成処理の詳細を示すフローチャートである。9 is a flowchart showing details of mixed reality image generation processing in the third embodiment of the present invention. 本発明の実施形態における、データ構成の一例を示す図である。It is a figure which shows an example of a data structure in embodiment of this invention. 本発明の実施形態における、3Dモデルの一例を示す図である。It is a figure which shows an example of a 3D model in embodiment of this invention. 本発明の第1の実施形態における、複合現実画像の表示の一例を示す図である。It is a figure which shows an example of a display of the mixed reality image in the 1st Embodiment of this invention. 本発明の第2の実施形態における、複合現実画像の表示の一例を示す図である。It is a figure which shows an example of a display of the mixed reality image in the 2nd Embodiment of this invention. 本発明の第3の実施形態における、複合現実画像の表示の一例を示す図である。It is a figure which shows an example of a display of the mixed reality image in the 3rd Embodiment of this invention. 本発明の実施形態における、複合現実画像の表示の一例を示す図である。It is a figure which shows an example of a display of the mixed reality image in embodiment of this invention.

図1を参照して、本発明の実施形態における情報処理システムの構成の一例について説明する。 An example of the configuration of the information processing system according to the embodiment of the present invention will be described with reference to FIG.

図1に示すように、本発明における情報処理システムの各種装置はネットワーク150を介して通信可能に接続されている(各機器は接続可能な状態にある)。例えばPC100は、HMD101(HMD101A〜HMD101Cの総称)と通信可能に接続されている。 As shown in FIG. 1, various devices of the information processing system according to the present invention are communicatively connected via a network 150 (each device is in a connectable state). For example, the PC 100 is communicably connected to the HMD 101 (a generic term for HMD 101A to HMD 101C).

PC100には、HMD101により撮像される現実画像に重畳する3次元モデル(CGモデル/仮想オブジェクト)が記憶されている。 The PC 100 stores a three-dimensional model (CG model/virtual object) to be superimposed on the real image captured by the HMD 101.

また、PC100は、自機の管理するHMD101(図1におけるHMD101A〜101C)より現実画像を取得して、記憶部に記憶する。また、PC100はHMD101の位置姿勢を特定し、記憶する。HMD101の位置姿勢の特定方法は、特許文献1に記載されている、HMD101の撮像した現実画像中の二次元マーカを用いて特定可能である。 Further, the PC 100 acquires a real image from the HMD 101 (HMD 101A to 101C in FIG. 1) managed by the PC 100 and stores the real image in the storage unit. In addition, the PC 100 identifies and stores the position and orientation of the HMD 101. The position/orientation specifying method of the HMD 101 can be specified by using the two-dimensional marker in the real image captured by the HMD 101, which is described in Patent Document 1.

また、特許文献2に記載されている、センサ(例えば図1における光学式センサ104(赤外線センサ))がHMD101に設置された光マーカ103(赤外線マーカ)の位置姿勢をHMD101の位置姿勢として検出し、それをPC100が取得することで特定可能である。光マーカ103は、例えば図1に示すようにHMD101に3つ設置されている。これら3つの光マーカ103の位置を光学式センサ104で特定し、PC100が、予め自機に記憶されている、HMD101のどの位置に(HMD101の位置から見てどの位置に)これら3つの光マーカ103が設置されているかを示す情報と、光学式センサ104で特定された3つの光マーカ103の位置を用いて、HMDの位置姿勢を特定する。 Further, the sensor (for example, the optical sensor 104 (infrared sensor) in FIG. 1) described in Patent Document 2 detects the position and orientation of the optical marker 103 (infrared marker) installed on the HMD 101 as the position and orientation of the HMD 101. It can be specified by the PC 100 acquiring it. For example, three optical markers 103 are installed on the HMD 101 as shown in FIG. The positions of these three optical markers 103 are specified by the optical sensor 104, and the PC 100 stores these three optical markers in which position of the HMD 101 (in which position when viewed from the position of the HMD 101) stored in advance in the PC 100 itself. The position and orientation of the HMD is specified using information indicating whether the 103 is installed and the positions of the three optical markers 103 specified by the optical sensor 104.

PC100では、HMD101の位置姿勢と、記憶部に記憶されている3次元モデル及び3次元モデルの位置姿勢の情報を用いて、現実画像に3次元モデルを重畳した複合現実画像を生成する。そして、当該複合現実画像をHMD101のディスプレイに表示させるべく、HMD101に送信する。HMD101は受信した複合現実画像をディスプレイに表示する。以上が図1の説明である。 The PC 100 uses the position and orientation of the HMD 101 and the information of the three-dimensional model and the position and orientation of the three-dimensional model stored in the storage unit to generate a mixed reality image in which the three-dimensional model is superimposed on the real image. Then, the mixed reality image is transmitted to the HMD 101 so as to be displayed on the display of the HMD 101. The HMD 101 displays the received mixed reality image on the display. The above is the description of FIG. 1.

次に図2を参照して、本発明の実施形態における、各種装置のハードウェア構成の一例について説明する。 Next, with reference to FIG. 2, an example of a hardware configuration of various devices in the embodiment of the present invention will be described.

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

また、ROM202には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステム(OS)、その他各種装置の実行する機能を実現するために必要な各種プログラムが記憶されている。 Further, the ROM 202 stores various programs necessary for realizing the functions executed by various devices such as a BIOS (Basic Input/Output System) which is a control program of the CPU 201, an operating system (OS), and the like.

RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。 The RAM 203 functions as a main memory, a work area, etc. of the CPU 201. The CPU 201 realizes various operations by loading a program or the like necessary for executing the processing into the RAM 203 and executing the program.

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

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

ビデオコントローラ(VC)206は、HMD101が備える右目・左目ディスプレイ222等の表示器への表示を制御する。右目・左目ディスプレイ222に対しては、例えば外部出力端子(例えば、Digital Visual Interface)を用いて出力される。また、右目・左目ディスプレイ222は、右目用のディスプレイと左目用のディスプレイとから構成されている。また、入力コントローラ(入力C)205は、PC100の備えるディスプレイ210(CRTディスプレイ等)の表示器への表示を制御する。なお、図2では、表示器はCRTディスプレイだけでなく、液晶ディスプレイ等の他の表示器であってもよい。 The video controller (VC) 206 controls display on a display device such as the right eye/left eye display 222 provided in the HMD 101. To the right-eye/left-eye display 222, for example, an external output terminal (for example, Digital Visual Interface) is used for output. The right/left eye display 222 includes a display for the right eye and a display for the left eye. Further, the input controller (input C) 205 controls display on the display device of the display 210 (CRT display or the like) included in the PC 100. In addition, in FIG. 2, the display is not limited to the CRT display, and may be another display such as a liquid crystal display.

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

通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。また、通信I/Fコントローラ208は、ギガビットイーサネット(登録商標)等を通じて光学式センサ104との通信も制御する。 A communication I/F controller (communication I/FC) 208 connects and communicates with an external device via a network, and executes communication control processing on the network. For example, Internet communication or the like using TCP/IP is possible. The communication I/F controller 208 also controls communication with the optical sensor 104 via Gigabit Ethernet (registered trademark) or the like.

汎用バス212は、HMD101の右目・左目ビデオカメラ221からの映像を取り込むために使用される。右目・左目ビデオカメラ221からは、外部入力端子(例えば、IEEE1394端子)を用いて入力される。右目・左目ビデオカメラ221は、右目用のビデオカメラと左目用のビデオカメラとから構成されている。 The general-purpose bus 212 is used to capture an image from the right-eye/left-eye video camera 221 of the HMD 101. Input from the right-eye/left-eye video camera 221 is performed using an external input terminal (for example, an IEEE 1394 terminal). The right/left-eye video camera 221 includes a right-eye video camera and a left-eye video camera.

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

次に図3を参照して、本発明の実施形態における各種装置の機能構成の一例について説明する。 Next, with reference to FIG. 3, an example of a functional configuration of various devices in the embodiment of the present invention will be described.

現実画像送信部301は、HMD101の備えるカメラ装置を用いて撮像した現実画像をPC100に送信する送信部である。 The real image transmission unit 301 is a transmission unit that transmits a real image captured by using the camera device included in the HMD 101 to the PC 100.

現実画像受信・記憶部311は、HMD101より現実画像を受信して記憶する記憶部である。現実画像受信・記憶部311が記憶する現実画像の一例を図6の630に示す。HMD位置姿勢特定部312は、HMD101の位置姿勢を特定して記憶する。 The real image reception/storage unit 311 is a storage unit that receives and stores a real image from the HMD 101. An example of a real image stored in the real image receiving/storing unit 311 is shown at 630 in FIG. The HMD position/orientation identifying unit 312 identifies and stores the position/orientation of the HMD 101.

3Dモデル記憶部313は、仮想のオブジェクト(仮想オブジェクト)である3Dモデルを、当該3Dモデルの位置姿勢と対応付けて記憶する記憶部である。当該3Dモデル記憶部313が記憶する3Dモデルの情報の一例を図6の620に示す。 The 3D model storage unit 313 is a storage unit that stores a 3D model that is a virtual object (virtual object) in association with the position and orientation of the 3D model. An example of 3D model information stored in the 3D model storage unit 313 is indicated by 620 in FIG.

干渉モデル特定部314は、3Dモデル記憶部313が記憶する複数の3Dモデルの形状と位置姿勢から、他の仮想モデルと干渉(接触・衝突)している3Dモデル(干渉モデル/干渉オブジェクトともいう)を特定する特定部である。干渉点特定部315は、干渉中の3Dモデルの最外面上の点であり、他の3Dモデルの最外面と干渉・接触している干渉点を特定する。 The interference model identification unit 314 is a 3D model (also referred to as an interference model/interference object) that interferes (contacts/collides) with another virtual model based on the shapes and the positions and orientations of the plurality of 3D models stored in the 3D model storage unit 313. ) Is a specific part for specifying. The interference point identification unit 315 identifies an interference point that is a point on the outermost surface of the 3D model that is undergoing interference, and that is in interference/contact with the outermost surface of another 3D model.

透明化対象モデル特定部316は、干渉中のモデルがHMD101を装着したユーザによく見えるように、例えば干渉中のモデル周囲のモデルを透明化すべく、透明化の対象とする3Dモデルを特定する。透明化画像生成制御部317は、透明化対象モデル特定部316で特定した3Dモデルを、透明化した画像を生成する生成部である。例えば、複合現実の生成に際して現実画像との重畳に用いる、HMD101の位置姿勢から見た3Dモデルの画像であって、透明化した画像(図6の描画データ640)を生成する。また、当該透明化した画像をHMD101から取得した現実画像に重畳した複合現実画像を生成する。当該透明化する際の透明度は、不図示の設定画面において任意に設定可能である。 The transparentization target model identification unit 316 identifies a 3D model to be transparentized, for example, in order to make the model around the model in the interference transparent so that the model in the interference can be seen well by the user wearing the HMD 101. The transparentized image generation control unit 317 is a generation unit that generates a transparentized image of the 3D model specified by the transparentization target model specifying unit 316. For example, a transparent image (drawing data 640 in FIG. 6) that is a 3D model image viewed from the position and orientation of the HMD 101, which is used for superimposition with a real image when generating mixed reality, is generated. Further, a mixed reality image is generated by superimposing the transparent image on the real image acquired from the HMD 101. The transparency at the time of making it transparent can be arbitrarily set on a setting screen (not shown).

透明化画像送信部318は、透明化画像(例:干渉中のモデルの周囲の3Dモデルを透明化した複合現実画像)をHMD101に送信する送信部である。 The transparent image transmission unit 318 is a transmission unit that transmits a transparent image (eg, a mixed reality image in which a 3D model around a model in interference is transparent) to the HMD 101.

透明化画像受信部302は、透明化画像を受信し、透明化画像表示部303は、受信した透明化画像を表示する。以上が図3の説明である。 The transparent image receiving unit 302 receives the transparent image, and the transparent image display unit 303 displays the received transparent image. The above is the description of FIG.

なお、本実施形態においては、311〜318の処理部(その機能)をPC100が備えているが、例えばこれらの構成をHMD101自身が単体で備えるよう構成してもよいものとする。 In the present embodiment, the PC 100 includes the processing units (functions) 311 to 318, but the HMD 101 itself may include these components, for example.

次に図4を参照して、本発明の実施形態における、各種装置のモジュール構成の一例について説明する。 Next, with reference to FIG. 4, an example of a module configuration of various devices in the embodiment of the present invention will be described.

PC100は、オペレーティングシステム401(OS)、グラフィックエンジン402、複合現実感プラットフォーム403(MRプラットフォームともいう)、複合現実感アプリケーション404(MRアプリケーションやビューアアプリケーションともいう)で構成され、CPU201により制御されている。 The PC 100 includes an operating system 401 (OS), a graphic engine 402, a mixed reality platform 403 (also called MR platform), and a mixed reality application 404 (also called MR application or viewer application), and is controlled by the CPU 201. ..

オペレーティングシステム401は、HMD101の入出力を制御しカメラ221から入力インターフェースを介して得られた現実画像を複合現実感プラットフォーム403へ受け渡す。またグラフィックエンジン402で描画された複合現実画像を、出力インターフェースを介して、ディスプレイ222へ出力する。 The operating system 401 controls the input/output of the HMD 101 and transfers the real image obtained from the camera 221 via the input interface to the mixed reality platform 403. The mixed reality image drawn by the graphic engine 402 is output to the display 222 via the output interface.

グラフィックエンジン402は、外部メモリ211に記憶されている3次元モデルから描画する画像を生成し、現実画像に重畳し、合成する。描画に利用するエンジンは、例えば、OpenGLやDirectXなどの広く利用されているグラフィックエンジンでも、独自に開発したグラフィックエンジンでもよい。なお、本実施形態ではグラフィックライブラリとしてOpenGLを利用するものとする。 The graphic engine 402 generates an image to be drawn from the three-dimensional model stored in the external memory 211, superimposes it on the real image, and synthesizes it. The engine used for drawing may be, for example, a widely used graphic engine such as OpenGL or DirectX, or an independently developed graphic engine. In this embodiment, OpenGL is used as the graphic library.

複合現実感プラットフォーム403は、光学式センサ104から光マーカ103の位置を取得することでHMD101の位置姿勢を特定し、現実空間と仮想空間の位置合わせを行う。なお、位置姿勢や位置合わせの技術は、既知の技術として開示されている、特開2002−32784、特開2006−072903、特開2007−166427等を用いて実現することが可能である。 The mixed reality platform 403 identifies the position and orientation of the HMD 101 by acquiring the position of the optical marker 103 from the optical sensor 104, and aligns the real space and the virtual space. It should be noted that the position/orientation and position alignment techniques can be realized by using known techniques, such as JP-A-2002-32784, JP-A-2006-072903, and JP-A-2007-166427.

なお、二次元マーカを使用せずに、HMD101に位置センサを備え、この位置センサを用いて三角測量により計測された位置をもとに、HMD101の位置や姿勢を特定して実現することも可能である。 It is also possible to provide the HMD 101 with a position sensor without using the two-dimensional marker, and specify the position and orientation of the HMD 101 based on the position measured by triangulation using this position sensor. Is.

複合現実感アプリケーション404は、複合現実感プラットフォーム403からHMD101の位置姿勢、3次元モデルの形状の情報、位置姿勢の情報を受け付け、グラフィックエンジン402に対して、3次元モデルの描画命令を発行する。この時、OpenGLのAPIを用いて、描画する3次元モデルの識別情報、位置姿勢の情報を設定した命令を発行する。以上が図4の説明である。 The mixed reality application 404 receives the position and orientation of the HMD 101 from the mixed reality platform 403, information on the shape of the three-dimensional model, and information on the position and orientation, and issues a drawing command of the three-dimensional model to the graphic engine 402. At this time, a command in which the identification information of the three-dimensional model to be drawn and the position and orientation information are set is issued using the OpenGL API. The above is the description of FIG.

<第1の実施形態>
次に図5を参照して、本発明の第1の実施形態における複合現実画像の生成及び表示処理について説明する。
<First Embodiment>
Next, with reference to FIG. 5, a mixed reality image generation and display process according to the first embodiment of the present invention will be described.

PC100のCPU201は、複合現実感アプリケーション404の起動操作を受け付ける。図5のステップS504以降の処理は、複合現実感アプリケーション404が起動されることで、複合現実感アプリケーション404、複合現実感プラットフォーム403、グラフィックエンジン402、OS401によって開始・実行される。また、複合現実感アプリケーション404の終了操作を受け付け、複合現実感アプリケーション404が終了する場合に終了される。 The CPU 201 of the PC 100 receives a start operation of the mixed reality application 404. The processing after step S504 in FIG. 5 is started and executed by the mixed reality application 404, the mixed reality platform 403, the graphic engine 402, and the OS 401 when the mixed reality application 404 is activated. In addition, when the mixed reality application 404 is terminated and the mixed reality application 404 is terminated, the operation is terminated.

HMD101は、ステップS501で起動後、カメラ221の機能を用いて現実画像の撮像を開始する(ステップS502)。そして、撮像処理によって取得した現実画像をPC100に送信する(ステップS503)。 After being activated in step S501, the HMD 101 starts capturing a real image using the function of the camera 221 (step S502). Then, the physical image acquired by the imaging process is transmitted to the PC 100 (step S503).

PC100のCPU201はHMD101より現実画像を受信し(ステップS504/現実画像取得手段に該当)、受信した現実画像を外部メモリ211に記憶する(ステップS505)。例えば、図6の現実画像テーブル630に示すように、現実画像の送信元のHMD101の識別情報であるHMD ID631と、現実画像632とを対応付けて記憶する。 The CPU 201 of the PC 100 receives the real image from the HMD 101 (step S504/corresponds to the real image acquisition means) and stores the received real image in the external memory 211 (step S505). For example, as shown in the real image table 630 of FIG. 6, the HMD ID 631 that is the identification information of the HMD 101 that is the transmission source of the real image and the real image 632 are stored in association with each other.

PC100のCPU201は、HMD101の位置姿勢を取得して(ステップS506)、外部メモリ211に記憶する(ステップS507)。例えば、図6のHMD情報610に示すように、HMD101の識別情報であるHMD ID611と、当該HMDの位置612(X,Y,Z座標)、姿勢613(X,Y,Z座標の値により表現されるHMD101の向いている方向)を記憶する。 The CPU 201 of the PC 100 acquires the position and orientation of the HMD 101 (step S506) and stores it in the external memory 211 (step S507). For example, as shown in the HMD information 610 of FIG. 6, it is represented by an HMD ID 611 that is identification information of the HMD 101, a position 612 (X, Y, Z coordinates) of the HMD, and a posture 613 (X, Y, Z coordinate values). The direction in which the HMD 101 is turned on) is stored.

PC100のCPU201は、外部メモリ211から3Dモデルの情報を取得し、HMD101から受信した現実画像に重畳して複合現実画像を生成して(ステップS508)、HMD101に送信する(ステップS509)。ステップS508の詳細は図7の説明で後述する。 The CPU 201 of the PC 100 acquires the 3D model information from the external memory 211, superimposes it on the real image received from the HMD 101 to generate a mixed reality image (step S508), and transmits it to the HMD 101 (step S509). Details of step S508 will be described later in the description of FIG. 7.

3Dモデルの情報は、例えば図6のモデル情報620に示す情報である。モデル情報620は、予めPC100の外部メモリ211に記憶されている情報である。モデルID621は3Dモデルの識別情報である。モデル名622は、3Dモデルのファイル名である。ファイルパス623は、ファイルが記憶されている場所を示す。位置624、姿勢625は3Dモデルの位置姿勢を示す。 The 3D model information is, for example, the information shown in the model information 620 in FIG. The model information 620 is information stored in the external memory 211 of the PC 100 in advance. The model ID 621 is identification information of the 3D model. The model name 622 is the file name of the 3D model. File path 623 indicates the location where the file is stored. A position 624 and a posture 625 indicate the position and posture of the 3D model.

PC100のCPU201は、HMDの位置612・姿勢613から、HMD101と同じ画角を持つカメラが、位置624・姿勢625の3Dモデルを撮像した場合の、当該3Dモデルの画像を描画データ640として生成する。そして、当該描画データを現実画像と合成することで、図6のMR画像テーブル650に示す複合現実画像(MR画像)を生成する。また、MR画像テーブル650の、複合現実画像を生成するために用いた現実画像の送信元のHMD(HMD ID651)と対応付けて記憶する。その後、HMD ID651の示すHMD101に、複合現実画像652を送信する。 When the camera having the same angle of view as the HMD 101 captures the 3D model at the position 624/attitude 625 from the position 612/attitude 613 of the HMD, the CPU 201 of the PC 100 generates an image of the 3D model as the drawing data 640. .. Then, the drawing data is combined with the real image to generate a mixed reality image (MR image) shown in the MR image table 650 of FIG. Also, the MR image table 650 is stored in association with the HMD (HMD ID 651) that is the transmission source of the real image used to generate the mixed reality image. After that, the mixed reality image 652 is transmitted to the HMD 101 indicated by the HMD ID 651.

HMD101は、PC100から複合現実画像を受信し(ステップS510)、表示画面に表示する(ステップS511)。以上が図5の説明である。 The HMD 101 receives the mixed reality image from the PC 100 (step S510) and displays it on the display screen (step S511). The above is the description of FIG.

次に図7を参照して、本発明の実施形態における、複合現実画像の生成処理の詳細について説明する。 Next, with reference to FIG. 7, details of the mixed reality image generation processing according to the embodiment of the present invention will be described.

第1の実施形態では、他の3Dモデルと干渉中の3Dモデル(干渉モデル)の周辺にある他の3Dモデルを透明化することで、ユーザに干渉モデルを見え易くする。 In the first embodiment, by making another 3D model around the 3D model (interference model) which is in interference with the other 3D model transparent, the interference model can be easily seen by the user.

PC100のCPU201は、自機の外部メモリに記憶されているモデル情報620(図6)をメモリ上に読み出して、HMD101の画角に含まれる3Dモデル、つまり、HMD101から取得した現実画像上に重畳して表示すべき3Dモデルのモデル情報を特定してメモリ上にリスト(干渉情報1010)として保持する(ステップS701)。例えば、図10の干渉情報1010のテーブルを生成し、モデルID1011に当該特定したモデルのIDを記憶する。なお、干渉先モデル1012、干渉点1013の値は消去する。 The CPU 201 of the PC 100 reads the model information 620 (FIG. 6) stored in the external memory of the PC 100 onto the memory, and superimposes it on the 3D model included in the angle of view of the HMD 101, that is, the real image acquired from the HMD 101. Then, the model information of the 3D model to be displayed is specified and held as a list (interference information 1010) in the memory (step S701). For example, the table of the interference information 1010 in FIG. 10 is generated, and the ID of the specified model is stored in the model ID 1011. The values of the interference destination model 1012 and the interference point 1013 are deleted.

PC100のCPU201は、自機の外部メモリに記憶されている図10の干渉表示モード1050の値を参照し、干渉表示モードが設定されているか判定する(ステップS702)。干渉表示モードとは、干渉モデルが見え易くなるように、干渉モデルを除く他の3Dモデルの表示を変化させる(例:透明にする等)モードである(モード設定手段に該当)。干渉表示モード1050の値がONである場合に干渉表示モードが設定されていると判定する。干渉表示モード1050の値がOFFである場合には干渉表示モードが設定されていないと判定する。 The CPU 201 of the PC 100 refers to the value of the interference display mode 1050 of FIG. 10 stored in the external memory of the own device, and determines whether the interference display mode is set (step S702). The interference display mode is a mode in which the display of other 3D models excluding the interference model is changed (for example, transparent) so that the interference model can be easily seen (corresponding to mode setting means). When the value of the interference display mode 1050 is ON, it is determined that the interference display mode is set. When the value of the interference display mode 1050 is OFF, it is determined that the interference display mode is not set.

干渉表示モードが設定されている場合(ステップS702でYES)、PC100のCPU201は、リスト内の全ての3Dモデルに対してステップS703〜S705の処理を実行する。干渉表示モードが設定されている場合は(ステップS702でNO)、後述するステップS709に処理を移行する。ステップS702からステップS709に移行した場合には、PC100のCPU201はステップS709で、HMD101の画角内に入る全ての3Dモデルを透明度0%で表示すべく、透明度0%の3Dモデルの描画データを生成して、メモリ上に記憶する。そして、ステップS710で、当該描画データと現実画像とを合成して複合現実画像を生成する。例えば図12の1200に現実画像1103とモデル1101を合成した複合現実画像の一例を示す。実際には図11の1100に示すように、1200で表示されているモデル1101の中に別のモデル1102が位置しているものとする。 When the interference display mode is set (YES in step S702), the CPU 201 of the PC 100 executes the processes of steps S703 to S705 for all 3D models in the list. If the interference display mode is set (NO in step S702), the process proceeds to step S709 described later. When the process proceeds from step S702 to step S709, in step S709, the CPU 201 of the PC 100 renders 3D model drawing data with 0% transparency to display all 3D models within the angle of view of the HMD 101 with 0% transparency. Generate and store in memory. Then, in step S710, the drawing data and the real image are combined to generate a mixed reality image. For example, an example of a mixed reality image in which the reality image 1103 and the model 1101 are combined is shown at 1200 in FIG. In reality, as shown at 1100 in FIG. 11, it is assumed that another model 1102 is located in the model 1101 displayed at 1200.

PC100のCPU201は、ステップS702で生成・記憶したリスト内から未処理のモデル情報を1つ取得し(ステップS703)、当該モデル情報の示す3Dモデルが他のモデルと干渉しているか判定する(ステップS704/干渉オブジェクト特定手段に該当)。3Dモデル同士の干渉は、ファイルパス623に保存されているモデル名622のモデルを読み出して特定するモデルの3D形状と、当該モデル位置624、姿勢625(位置姿勢)を用いて特定・判定する。 The CPU 201 of the PC 100 acquires one unprocessed model information from the list generated and stored in step S702 (step S703) and determines whether the 3D model indicated by the model information interferes with another model (step S703). S704/corresponding to the interference object specifying means). The interference between the 3D models is specified and determined using the 3D shape of the model that is specified by reading the model with the model name 622 stored in the file path 623 and the model position 624 and the attitude 625 (position/orientation).

3Dモデル同士が干渉するケースとして、例えば3Dモデルの位置624がユーザ操作によって変更された場合が想定される。また、図11の1110及び1120に示すように、モデル1111の形状が1121のように更新・変更されたことにより(図11においてはモデル1111にパイプ型の立体形状1122が追加されているため)、変更前の時点では接触・干渉していなかったモデル1112と干渉するようになってしまうことが考えられる。 As a case where the 3D models interfere with each other, for example, a case where the position 624 of the 3D models is changed by a user operation is assumed. Further, as shown in 1110 and 1120 of FIG. 11, the shape of the model 1111 is updated/changed to 1121 (because the pipe-shaped three-dimensional shape 1122 is added to the model 1111 in FIG. 11). It is conceivable that the model 1112, which had not been in contact with or interfered with the model 1112 before the change, would come to interfere.

他のモデルと干渉していると判定した場合には、干渉している当該他のモデルのモデルIDを取得して、ステップS703で取得して他のモデルと干渉していると判定された3DモデルのモデルIDに対応付けて記憶する。例えば、干渉情報1010の干渉先モデル1012に、当該他のモデルのモデルIDを挿入して記憶する。また、各干渉モデルの最外面上の位置であって、干渉モデル同士が干渉・接触している点を干渉点(3Dモデル同士が干渉している位置)として特定し、干渉点1013に記憶する(ステップS705)。 If it is determined that the model ID is interfering with another model, the model ID of the interfering other model is acquired, and is acquired in step S703 to determine that the model ID is interfering with another model 3D. It is stored in association with the model ID of the model. For example, the model ID of the other model is inserted and stored in the interference destination model 1012 of the interference information 1010. In addition, a point on the outermost surface of each interference model, where the interference models are in contact with each other, is specified as an interference point (position where 3D models interfere with each other), and is stored in the interference point 1013. (Step S705).

干渉情報1010のモデルID1011に示す3Dモデルの全てに対してステップS703〜S705の処理を行った後、処理をステップS706に移行する。 After performing the processes of steps S703 to S705 for all the 3D models indicated by the model ID 1011 of the interference information 1010, the process proceeds to step S706.

PC100のCPU201は、干渉モデル(他のモデルと干渉中の3Dモデル)の色を、干渉中を示す色(干渉中であることが識別可能な色)に変更する。当該干渉中を示す色とは、例えば赤色であるものとする。具体的には、HMD101の画角及び位置姿勢と当該干渉モデルの位置姿勢に基づいて、HMD101の位置姿勢から当該干渉モデルを撮像した場合の赤色の干渉モデルの画像データを、図6に示す描画データ640としてメモリ上に生成・記憶する(ステップS706)。当該干渉モデルの色変更及び描画データの生成を、全ての干渉モデルに対して実行し、処理をステップS707に移行する。 The CPU 201 of the PC 100 changes the color of the interference model (3D model that is in interference with another model) to a color indicating that interference is occurring (a color that can be identified as being in interference). The color indicating the interference is, for example, red. Specifically, based on the angle of view and the position and orientation of the HMD 101 and the position and orientation of the interference model, the image data of the red interference model when the interference model is imaged from the position and orientation of the HMD 101 is drawn in FIG. The data 640 is generated and stored in the memory (step S706). The color change of the interference model and the generation of the drawing data are executed for all the interference models, and the process proceeds to step S707.

PC100のCPU201は、各干渉モデルの干渉点から所定範囲に位置する、干渉モデル以外の3Dモデルを特定して記憶する(ステップS707)。例えば図10の範囲内モデル1030に示すように、モデルIDのリストをメモリ上に生成して記憶する。ここでいう所定範囲とは、PC100の外部メモリ上の、任意の範囲1020(図10)に予め記憶されている半径から特定する。 The CPU 201 of the PC 100 specifies and stores a 3D model other than the interference model, which is located within a predetermined range from the interference point of each interference model (step S707). For example, as shown in the in-range model 1030 of FIG. 10, a list of model IDs is generated and stored in the memory. The predetermined range here is specified from the radius stored in advance in an arbitrary range 1020 (FIG. 10) on the external memory of the PC 100.

図10によれば、干渉点から半径20cmの範囲(領域)を当該所定範囲として特定する。任意の範囲1020は、不図示の設定画面を介してユーザ操作を受け付けることで、任意に設定・変更可能である。 According to FIG. 10, a range (area) having a radius of 20 cm from the interference point is specified as the predetermined range. The arbitrary range 1020 can be arbitrarily set/changed by receiving a user operation via a setting screen (not shown).

PC100のCPU201は、干渉点から所定範囲内に位置する3Dモデルを外部メモリから取得して、当該3Dモデルの色を透明色に変更する。つまり、干渉モデルの周囲にある3Dモデルを透明化する(ステップS708)。例えば、図12の1210における1213に示すように、干渉点から距離1220(任意の範囲)以内にある3Dモデルを透明にする。つまり、干渉点1221の周囲にある3Dモデルを透明にすることで、干渉モデルであるモデル1111とモデル1112をユーザに見え易くした複合現実画像を生成して、表示画面に表示することが可能となる。 The CPU 201 of the PC 100 acquires a 3D model located within a predetermined range from the interference point from the external memory and changes the color of the 3D model to a transparent color. That is, the 3D model around the interference model is made transparent (step S708). For example, as indicated by 1213 in 1210 of FIG. 12, the 3D model within the distance 1220 (arbitrary range) from the interference point is made transparent. That is, by making the 3D model around the interference point 1221 transparent, it is possible to generate a mixed reality image in which the models 1111 and 1112, which are interference models, are easily visible to the user, and display the mixed reality image on the display screen. Become.

なお、どの程度透明にするかは、任意に設定・変更可能であるものとする。例えば、図10の透明度1040に示すように、ステップS708において3Dモデルをどの程度透明にするかを示す情報を外部メモリに記憶しておく。透明度1040に値が挿入されている場合は、ステップS708において、干渉点から所定範囲内に位置するモデルを、透明度1040に示す値の透明度に変更する。 The degree of transparency can be arbitrarily set and changed. For example, as indicated by transparency 1040 in FIG. 10, information indicating how transparent the 3D model is made to be transparent is stored in the external memory in step S708. When a value is inserted in the transparency 1040, the model located within the predetermined range from the interference point is changed to the transparency having the value indicated by the transparency 1040 in step S708.

具体的には、HMD101の画角及び位置姿勢と範囲内モデル1030の3Dモデルの位置姿勢に基づいて、HMD101の位置姿勢から当該所定範囲内の3Dモデルを撮像した場合の、透明化した3Dモデルの画像データを、図6に示す描画データ640としてメモリ上に生成・記憶する。干渉点から所定範囲内に位置する、干渉モデル以外の全ての3Dモデル(範囲内モデル1030に記憶されている全てのモデル)に対して、当該透明化及び描画データの生成を実行し、処理をステップS709に移行する。 Specifically, based on the angle of view and position/orientation of the HMD 101 and the position/orientation of the 3D model of the in-range model 1030, a transparent 3D model when a 3D model within the predetermined range is imaged from the position/orientation of the HMD 101. Image data is generated and stored in the memory as drawing data 640 shown in FIG. With respect to all 3D models (all models stored in the in-range model 1030) other than the interference model, which are located within a predetermined range from the interference point, the transparency and the generation of the drawing data are executed, and the processing is performed. The process moves to step S709.

PC100のCPU201は、HMD101の画面上に表示すべき3Dモデルであって、干渉モデルでもなく、範囲内モデル1030に記憶されている3Dモデルでもない、通常の3Dモデルを特定する。具体的には、干渉情報1010の中で、干渉先モデルにモデルIDが挿入されていない3Dモデルであって、範囲内モデル1030に含まれていないモデルIDの3Dモデルを、通常のモデルとして特定する。PC100のCPU201は、HMD101の画角・位置姿勢と、特定した当該通常のモデルの位置姿勢とに基づいて、当該通常のモデルをHMD101の画角・位置姿勢で撮像した場合の当該通常のモデルの画像(描画データ640)を透明度=0%で生成してメモリ上に記憶する(ステップS709)。 The CPU 201 of the PC 100 specifies a normal 3D model that is a 3D model to be displayed on the screen of the HMD 101 and is not an interference model or a 3D model stored in the in-range model 1030. Specifically, in the interference information 1010, a 3D model in which the model ID is not inserted in the interference destination model, and a 3D model with a model ID not included in the in-range model 1030 is specified as a normal model. To do. The CPU 201 of the PC 100, based on the view angle/position/posture of the HMD 101 and the identified position/posture of the normal model, of the normal model when the normal model is imaged at the view angle/position/posture of the HMD 101. An image (drawing data 640) is generated with transparency=0% and stored in the memory (step S709).

PC100のCPU201は、干渉モデルの描画データ、範囲内モデルの描画データ、通常モデルの描画データを、HMD101から取得してメモリに記憶している現実画像に重畳してMR画像(複合現実画像)を生成する(ステップS710)。以上が図7の説明である。 The CPU 201 of the PC 100 superimposes the drawing data of the interference model, the drawing data of the in-range model, and the drawing data of the normal model on the real image stored in the memory obtained from the HMD 101 to form an MR image (mixed reality image). It is generated (step S710). The above is the description of FIG. 7.

以上説明したように、本発明の第1の実施形態によれば、複合現実において、物体同士の干渉をユーザに容易に確認させることができる仕組みを提供することができる。 As described above, according to the first embodiment of the present invention, it is possible to provide a mechanism that allows the user to easily confirm the interference between objects in mixed reality.

例えば、他の3Dモデルと干渉中の3Dモデル(干渉モデル)の周辺にある他の3Dモデルを透明化することで、干渉モデルを見え易くした画像を生成し、表示画面においてユーザに確認させることができる。 For example, by making another 3D model around the 3D model (interference model) that is in interference with another 3D model transparent, an image that makes the interference model easy to see is generated, and the user can confirm it on the display screen. You can

<第2の実施形態>
次に図8を参照して、本発明の第2の実施形態における、複合現実画像の生成処理の詳細について説明する。
<Second Embodiment>
Next, with reference to FIG. 8, details of the mixed reality image generation processing according to the second embodiment of the present invention will be described.

第2の実施形態では、他の3Dモデルと干渉中の3Dモデル(干渉モデル)と、HMDとの間にある他の3Dモデルを透明化することで、ユーザに干渉モデルを見え易くする。 In the second embodiment, the interference model is made visible to the user by making the 3D model (interference model) in interference with the other 3D model and the other 3D model between the HMD transparent.

例えば、干渉点とHMDとの間にある他の3Dモデルを透明化することで、ユーザに干渉モデルを見え易くする。 For example, by making another 3D model between the interference point and the HMD transparent, the interference model can be easily seen by the user.

図8の処理は、第1の実施形態における図7のステップS706の処理の直後にPC100のCPU201が実行する。なお、第1の実施形態と共通する処理については説明を省略する。 The process of FIG. 8 is executed by the CPU 201 of the PC 100 immediately after the process of step S706 of FIG. 7 in the first embodiment. Note that the description of the processing common to the first embodiment will be omitted.

PC100のCPU201は、干渉モデルを見え易くするために、干渉点から任意の範囲内(所定距離内)にある他の3Dモデルを透明化するモードと、干渉点とHMD101との間に位置する他の3Dモデルを透明化するモードのどちらが設定されているか判定する(ステップS801)。当該モードは、PC100の外部メモリに記憶されている図10の透明化モード1070に予め設定されているものとする。 The CPU 201 of the PC 100, in order to make the interference model easily visible, a mode in which another 3D model within an arbitrary range (within a predetermined distance) from the interference point is made transparent, and between the interference point and the HMD 101. Which of the modes for making the 3D model transparent is set is determined (step S801). It is assumed that the mode is preset to the transparent mode 1070 of FIG. 10 stored in the external memory of the PC 100.

干渉点から任意の範囲内にある他の3Dモデルを透明化するモードが設定されている場合は処理を図7のステップS707に移行する。干渉点とHMD101との間に位置する他の3Dモデルを透明化するモードが設定されている場合には、処理をステップS802に移行する。 When the mode for making another 3D model within an arbitrary range from the interference point transparent is set, the process proceeds to step S707 in FIG. 7. When the mode for making another 3D model located between the interference point and the HMD 101 transparent is set, the process proceeds to step S802.

PC100のCPU201は、全ての干渉点に対してステップS803〜S805の処理を実行する。 The CPU 201 of the PC 100 executes the processes of steps S803 to S805 for all the interference points.

PC100のCPU201は、干渉情報1010から未処理の干渉点1013を1つ取得し(ステップS803)、HMD101の位置と取得した干渉点1013の示す干渉点の位置との間に位置する、干渉モデル以外の3Dモデルを、透明化する対象のモデルとして特定し、メモリ上に記憶する(ステップS804)。例えば、図13の1311に示すようにHMD101の位置から干渉点までの直線を生成する。そして、位置624、姿勢625に配置した場合に当該直線との交点1312を持つ(直線と交わる)3Dモデルであって、干渉モデル以外の3Dモデルを全て特定し、特定された3DモデルのモデルIDを、図10のHMD・干渉点間モデル1060に示す形式でメモリ上に記憶する。図13においては、ボンネットの3Dモデル1301が、HMD101と干渉点との間にある3Dモデルとして特定される。 The CPU 201 of the PC 100 acquires one unprocessed interference point 1013 from the interference information 1010 (step S803), and is located between the position of the HMD 101 and the position of the interference point indicated by the acquired interference point 1013, other than the interference model. The 3D model of is specified as a model to be made transparent and stored in the memory (step S804). For example, as shown by 1311 in FIG. 13, a straight line from the position of the HMD 101 to the interference point is generated. Then, when it is arranged at the position 624 and the posture 625, it is a 3D model that has an intersection 1312 with the straight line (crosses the straight line), and all 3D models other than the interference model are specified, and the model ID of the specified 3D model is specified. Are stored in the memory in the format shown in the HMD-interference point model 1060 of FIG. In FIG. 13, the hood 3D model 1301 is specified as the 3D model between the HMD 101 and the interference point.

PC100のCPU201は、取得した干渉点とHMD101との間にある、干渉モデルを除く全ての他の3Dモデル(HMD・干渉点間モデル1060内の全てのモデル)を透明化する。具体的には、当該他の3Dモデルを、透明度1040の値で透明化した画像(描画データ)を生成し、メモリ上に記憶する。描画データとは、HMD101の画角で、HMD101の位置姿勢から位置624・姿勢625の3Dモデルを撮影した場合の、当該3Dモデルの画像である。そして当該描画データをステップS710で現実画像に合成して複合現実画像を生成する。例えば、図13の1310に示すように、1300において透明化されていなかったボンネットの3Dモデル1301を、HMD101と干渉点との間にあるモデルとして特定して透明化し、複合現実画像を生成する。1310においては、透明化したモデル1301を点線で記載している。 The CPU 201 of the PC 100 makes all other 3D models (all models in the HMD-interference point model 1060) between the acquired interference point and the HMD 101, except the interference model, transparent. Specifically, an image (drawing data) in which the other 3D model is made transparent with a value of transparency 1040 is generated and stored in the memory. The drawing data is an image of the 3D model when the 3D model of the position 624/posture 625 is photographed from the position/posture of the HMD 101 at the angle of view of the HMD 101. Then, in step S710, the drawing data is combined with the real image to generate a mixed reality image. For example, as shown at 1310 in FIG. 13, the hood 3D model 1301 that has not been transparentized at 1300 is specified as a model between the HMD 101 and the interference point and is made transparent to generate a mixed reality image. In 1310, the transparent model 1301 is indicated by a dotted line.

PC100のCPU201は、全ての干渉点1013と、その干渉点とHMD101の間にある全ての他の3Dモデルに対してステップS803〜S805の処理を実行した後、処理を図7のステップS709に移行する。以上が図8の説明である。 The CPU 201 of the PC 100 executes the processes of steps S803 to S805 for all the interference points 1013 and all other 3D models between the interference points and the HMD 101, and then shifts the process to step S709 of FIG. 7. To do. The above is the description of FIG. 8.

以上説明したように、本発明の第2の実施形態によれば、複合現実において、物体同士の干渉をユーザに容易に確認させることができる仕組みを提供することができる。 As described above, according to the second embodiment of the present invention, it is possible to provide a mechanism that allows the user to easily confirm the interference between objects in mixed reality.

例えば、他の3Dモデルと干渉中の3Dモデル(干渉モデル)と、HMDとの間にある他の3Dモデルを透明化することで、ユーザに干渉モデルを見え易くすることができる。 For example, by making the 3D model (interference model) that is in interference with another 3D model and the other 3D model between the HMDs transparent, it is possible to make the interference model easily visible to the user.

例えば、干渉点とHMDとの間にある他の3Dモデルを透明化することで、ユーザに干渉モデルを見え易くすることができる。 For example, by making another 3D model between the interference point and the HMD transparent, it is possible to make the interference model visible to the user.

なお、上述した第2の実施形態の説明においては、干渉点とHMDとの間にある干渉モデル以外の他の3Dモデルを透明化するものとしたが、例えば各干渉モデルとHMDとの間に位置する、干渉モデル以外の他の3Dモデルを透明化するようにしてもよい。具体的には、図8のステップS803〜S805の処理を全ての干渉モデルに対して実行する。ステップS803では、未処理の干渉モデルを干渉情報1010から1つ取得する。ステップS804において、ステップS803で取得した干渉モデルの位置624とHMD101の位置とを結ぶ直線と交わる(干渉モデルとHMDの間にある)干渉モデル以外の他の3Dモデルを特定し、特定した3DモデルをステップS805で透明化する。全ての干渉モデルに対してステップS803〜S805の処理を適用することで、各干渉モデルとHMDとの間に位置する、干渉モデル以外の他の3Dモデルを透明化することができる。 In the above description of the second embodiment, the 3D model other than the interference model between the interference point and the HMD is made transparent. However, for example, between the interference model and the HMD, The 3D model other than the interference model, which is located, may be made transparent. Specifically, the processes of steps S803 to S805 of FIG. 8 are executed for all the interference models. In step S803, one unprocessed interference model is acquired from the interference information 1010. In step S804, a 3D model other than the interference model intersecting with the straight line connecting the position 624 of the interference model acquired in step S803 and the position of the HMD 101 (between the interference model and the HMD) is specified, and the specified 3D model is specified. Is made transparent in step S805. By applying the processes of steps S803 to S805 to all the interference models, it is possible to make the 3D model other than the interference model located between each interference model and the HMD transparent.

<第3の実施形態>
次に図9を参照して、本発明の第3の実施形態における、複合現実画像の生成処理の詳細について説明する。
<Third Embodiment>
Next, with reference to FIG. 9, details of the mixed reality image generation processing according to the third embodiment of the present invention will be described.

第3の実施形態では、干渉中の3Dモデル(干渉モデル)が、他の3Dモデルの内側、又は背面にある場合に、当該干渉モデル以外の他の3Dモデルを透明化することで、ユーザに干渉モデルを見え易くする。 In the third embodiment, when the interfering 3D model (interference model) is inside or behind the other 3D model, the 3D model other than the interfering model is made transparent to the user. Make the interference model easier to see.

図9の処理は、第1の実施形態における図7のステップS706の処理の直前にPC100のCPU201が実行する。なお、第1の実施形態及び第2の実施形態と共通する処理については説明を省略する。 The process of FIG. 9 is executed by the CPU 201 of the PC 100 immediately before the process of step S706 of FIG. 7 in the first embodiment. Note that the description of the processing common to the first embodiment and the second embodiment will be omitted.

PC100のCPU201は、干渉モデルの色を干渉中であることを示す色に変更する(ステップS901)。ステップS901の処理の詳細は図7のステップS706の処理と同じであるため、詳細な説明は省略する。PC100のCPU201は、干渉モデルのうち、未処理のモデルを1つ取得し(ステップ902)、処理をステップS903に移行する。 The CPU 201 of the PC 100 changes the color of the interference model to the color indicating that interference is occurring (step S901). The details of the process of step S901 are the same as the process of step S706 of FIG. 7, and thus detailed description will be omitted. The CPU 201 of the PC 100 acquires one unprocessed model among the interference models (step 902) and shifts the processing to step S903.

PC100のCPU201は、ステップS902で取得した干渉モデルが、当該干渉モデル以外の他の3Dモデルの内側に位置する、又は、HMD101の位置姿勢から見て当該干渉モデル以外の他の3Dモデルの背面に位置し、一部又はその全部が当該他の3Dモデルによって隠れている干渉モデルかを判定する(ステップS903)。 The CPU 201 of the PC 100 places the interference model acquired in step S902 inside the 3D model other than the interference model, or on the back surface of the 3D model other than the interference model when viewed from the position and orientation of the HMD 101. It is determined whether the interference model is located and a part or all of it is hidden by the other 3D model (step S903).

例えば、位置624に、姿勢625の方向で配置された、当該干渉モデル自体よりも大きい(縦横高さの全ての寸法が干渉モデルよりも大きい)他の3Dモデルの中に、干渉モデルが包含される場合に、当該干渉モデルが他の3Dモデルの内側に位置すると判定する。 For example, the interference model is included in another 3D model which is arranged at the position 624 in the orientation 625 and is larger than the interference model itself (all dimensions of height and width are larger than the interference model) itself. If the interference model is present, it is determined that the interference model is located inside another 3D model.

また、例えば、描画データを作成して現実画像上に重畳する場合に、干渉モデルの上に重なって描画される他の3Dモデルがある場合に、当該干渉モデルが、当該他の3Dモデルの背面にあると判定する。 In addition, for example, when drawing data is created and superimposed on a real image, if there is another 3D model that is drawn so as to overlap the interference model, the interference model is displayed behind the other 3D model. It is determined to be.

PC100のCPU201は、ステップS902で取得した干渉モデルが、当該干渉モデル以外の他の3Dモデルの内側に位置するモデルではない(最も外側のモデルである)、且つ、HMD101の位置姿勢から見て当該干渉モデル以外の他の3Dモデルの背面に位置し、一部又はその全部が当該他の3Dモデルによって隠れている干渉モデルでもないと判定された場合に、処理をステップS906に移行する。 The CPU 201 of the PC 100 determines that the interference model acquired in step S902 is not a model located inside another 3D model other than the interference model (it is the outermost model), and is viewed from the position and orientation of the HMD 101. When it is determined that the interference model is located behind the other 3D model other than the interference model and a part or all of the 3D model is not hidden by the other 3D model, the process proceeds to step S906.

PC100のCPU201は、ステップS902で取得した干渉モデルが、当該干渉モデル以外の他の3Dモデルの内側に位置する、又は、HMD101の位置姿勢から見て当該干渉モデル以外の他の3Dモデルの背面に位置し、一部又はその全部が当該他の3Dモデルによって隠れている干渉モデルであると判定された場合に、処理をステップS904に移行する。 The CPU 201 of the PC 100 places the interference model acquired in step S902 inside the 3D model other than the interference model, or on the back surface of the 3D model other than the interference model when viewed from the position and orientation of the HMD 101. When it is determined that the interference model is located and a part or all of it is hidden by the other 3D model, the process proceeds to step S904.

ステップS904でPC100のCPU201は、ステップS902で取得した干渉モデルの干渉点から任意の範囲内にある全ての他の3Dモデルを特定し(ステップS904)、特定した全ての他の3Dモデルを透明化する(ステップS905)。ステップS904とステップS905の処理の詳細は、それぞれ図7のステップS707、ステップS708の処理と同じであるため、詳細な説明は省略する。 In step S904, the CPU 201 of the PC 100 specifies all other 3D models within an arbitrary range from the interference point of the interference model acquired in step S902 (step S904), and makes all the specified other 3D models transparent. (Step S905). The details of the processing of steps S904 and S905 are the same as the processing of steps S707 and S708 of FIG. 7, respectively, and thus detailed description thereof will be omitted.

PC100のCPU201は、全ての干渉モデルに対して、ステップS903〜S905の処理を適用したか判定し(ステップS906)、未適用の干渉モデルが存在する場合は処理をステップS902に移行して、未処理の干渉モデルを1つ取得し、ステップS903以降の処理を適用する。全ての干渉モデルに対して、ステップS903〜S905の処理を適用済みの場合は処理を図7のステップS709に移行する。以上が図9の説明である。 The CPU 201 of the PC 100 determines whether or not the processes of steps S903 to S905 have been applied to all the interference models (step S906). If there is an unapplied interference model, the process proceeds to step S902, and One interference model of the processing is acquired, and the processing of step S903 and subsequent steps is applied. If the processes of steps S903 to S905 have been applied to all the interference models, the process proceeds to step S709 of FIG. The above is the description of FIG. 9.

図14の1400に、干渉モデルであるモデル1111とモデル1112がモデル1101に内包されている様子を示す(干渉点の周囲のモデルを透明化した様子を示す)。また、1410に、干渉モデルであるモデル1411と、モデル1101が最外面のモデルである様子を示す(干渉モデルを識別表示するに留めた表示の様子を示す)。なお、図14の1410においては、干渉モデル1411と、干渉モデル1101のうち干渉モデル1411と接触した立体形状である1412のみを識別表示している。 A model 1111 and a model 1112, which are interference models, are included in the model 1101 at 1400 in FIG. 14 (a model around the interference point is shown transparent). Also, 1410 shows that the model 1411 which is an interference model and the model 1101 are models of the outermost surface (a display state is shown only for identifying and displaying the interference model). In 1410 of FIG. 14, only the interference model 1411 and the solid model 1412 of the interference model 1101 that is in contact with the interference model 1411 are displayed.

以上説明したように、本発明の第3の実施形態によれば、複合現実において、物体同士の干渉をユーザに容易に確認させることができる仕組みを提供することができる。 As described above, according to the third embodiment of the present invention, it is possible to provide a mechanism that allows the user to easily confirm the interference between objects in mixed reality.

例えば、干渉中の3Dモデル(干渉モデル)が、他の3Dモデルの内側、又は背面にある場合に、当該干渉モデル以外の他の3Dモデルを透明化することで、ユーザに干渉モデルを見え易くする。 For example, when the interfering 3D model (interference model) is inside or behind the other 3D model, by making the 3D model other than the interference model transparent, the user can easily see the interference model. To do.

干渉モデルが他の3Dモデルによって隠れていない場合、他の3Dモデルの表示形態を変更しなくてもユーザが干渉モデルを確認可能である場合がある。第3の実施形態においては、他の3Dモデルの不要な表示形態・状態の変更を行うことなく、干渉モデルが他の3Dモデルによって隠れて見え難くなっている場合に限り、当該干渉モデル以外の他の3Dモデルの表示形態・状態を変更することで、ユーザに干渉モデルを見え易くするものである。 If the interference model is not hidden by another 3D model, the user may be able to check the interference model without changing the display form of the other 3D model. In the third embodiment, the interference model other than the interference model is hidden only when the interference model is hidden by the other 3D model without changing the unnecessary display form/state of the other 3D model. By changing the display form/state of another 3D model, the interference model can be easily seen by the user.

<第4の実施形態> <Fourth Embodiment>

本発明の第4の実施形態について説明する。第4の実施形態では、設計データ(設計物)である3Dモデルに設計変更があったことで、当該3Dモデルが他の3Dモデルと干渉するようになってしまった場合に、当該干渉するようになってしまった3Dモデル(干渉モデル)以外の他の3Dモデルを透明化し、干渉モデルをユーザに見え易くする。 A fourth embodiment of the present invention will be described. In the fourth embodiment, if the 3D model, which is the design data (design product), has a design change and the 3D model interferes with another 3D model, the interference is performed. The 3D model other than the 3D model (interference model) that has become the above is made transparent so that the interference model can be easily seen by the user.

PC100のCPU201は、複合現実感アプリケーション404の終了操作(複合現実画像の生成及び表示の終了を指示するユーザ操作)を受け付けた場合に、当該終了操作を受け付けた時点のモデル情報を外部メモリに記憶する。当該モデル情報とは、図6の620に示す情報に加え、図10の1080に示す、最終更新日時1082、設計履歴1083を含む。本実施形態においてモデル名622の示すファイルはCADファイルであり、3DモデルはCADデータである。最終更新日時1082、設計履歴1083は、各CADデータの中に記憶されている、ファイルの最終更新日時と、設計履歴の情報である。つまり、PC100のCPU201は、複合現実画像の生成及び表示の終了を指示するユーザ操作を受け付けた場合に、モデル情報620の示す全てのCADデータを外部メモリの所定の領域にコピーして記憶する。 When the CPU 201 of the PC 100 receives the ending operation of the mixed reality application 404 (user operation for instructing the end of generation and display of the mixed reality image), the model information at the time of receiving the ending operation is stored in the external memory. To do. The model information includes the last update date and time 1082 and the design history 1083 shown in 1080 of FIG. 10 in addition to the information shown in 620 of FIG. In this embodiment, the file indicated by the model name 622 is a CAD file, and the 3D model is CAD data. The last update date and time 1082 and the design history 1083 are information of the last update date and time of the file and the design history stored in each CAD data. That is, the CPU 201 of the PC 100 copies all the CAD data indicated by the model information 620 to a predetermined area of the external memory and stores it when a user operation for instructing the end of generation and display of the mixed reality image is received.

PC100のCPU201は、図5の処理を再開すべく、複合現実感アプリケーション404の起動操作を受け付けた場合に、外部メモリに記憶された、前回終了時のモデル情報(図6の620及び図10の1080)をメモリ上に読み出して保持する。そして、ステップS701で、描画対象のモデルを特定するためにメモリ上に読み出した最新のモデル情報(図6の620及び図10の1090)を取得し、各モデルについて、前回終了時のモデル情報の最終更新日時1082と、最新のモデル情報の最終更新日時1092が同じか判定する。 When the CPU 201 of the PC 100 receives the activation operation of the mixed reality application 404 in order to restart the processing of FIG. 5, the model information at the time of the previous end stored in the external memory (620 in FIG. 6 and FIG. 10). 1080) is read and held on the memory. Then, in step S701, the latest model information (620 in FIG. 6 and 1090 in FIG. 10) read onto the memory in order to specify the model to be drawn is acquired, and the model information at the end of the previous time is acquired for each model. It is determined whether the last update date and time 1082 and the last update date and time 1092 of the latest model information are the same.

PC100のCPU201は、最終更新日時が異なると判定されたモデルを特定し、それらのモデルの設計履歴が異なるか(変更されているか)判定する。例えば図10によれば、今回起動時のモデルに、前回終了時のモデルには無い「面押し01」の設計履歴が追加されている。よって、設計履歴が異なる(更新されている)と判定する(設計変更判定手段に該当)。 The CPU 201 of the PC 100 identifies the models determined to have different final update dates and times, and determines whether the design histories of these models are different (changed). For example, according to FIG. 10, the design history of “face pressing 01” which is not present in the model at the time of the previous termination is added to the model at the current activation. Therefore, it is determined that the design history is different (updated) (corresponding to design change determination means).

なお、設計履歴の数、識別情報が同じ場合であっても、設計履歴の中身のパラメータが更新されている場合がある。ここでは設計履歴の数、識別情報が異なるか否かを判定するに留めるが、各設計履歴のパラメータを参照して、パラメータの変更があった場合に前回終了時と今回起動時の設計履歴が異なると判定してもよい。 Even when the number of design histories and the identification information are the same, the parameters of the contents of the design history may be updated. Here, it is only necessary to judge whether the number of design histories and the identification information are different, but referring to the parameters of each design history, when there is a change in the parameters, It may be determined that they are different.

PC100のCPU201は、設計履歴の変更があったか否かの情報(図10の設計変更情報1000における設計変更1002)をモデルID1001ごとにメモリ上に記憶する。 The CPU 201 of the PC 100 stores information on whether or not the design history has been changed (design change 1002 in the design change information 1000 in FIG. 10) on the memory for each model ID 1001.

PC100のCPU201は、図7のステップS703〜S705の処理を、HMD101の画角内の3Dモデルのうち、設計変更1002が「設計変更あり」を示す、前回から設計変更がされた3Dモデルに限定して、当該前回から設計変更がされた3Dモデルに対して実行する。 The CPU 201 of the PC 100 limits the processing of steps S703 to S705 of FIG. 7 to 3D models within the angle of view of the HMD 101 in which the design change 1002 indicates “there is a design change”, which has been changed from the previous time. Then, the 3D model whose design has been changed from the previous time is executed.

設計変更がされた3Dモデルに限定して、干渉モデルの特定及び、当該干渉モデルを見え易くすべく、当該干渉モデル以外のモデルの表示形態・状態を変更することで、設計変更がされたことにより他のモデルと干渉するようになった可能性のあるモデルを、ユーザに容易に確認させることができる。以上が第4の実施形態の説明である。 The design was changed by limiting the design change to the 3D model and changing the display mode/state of models other than the interference model in order to identify the interference model and make the interference model easier to see. Thus, the user can easily confirm the model that may have interfered with another model. The above is the description of the fourth embodiment.

なお、上述した第4の実施形態の説明においては、3Dモデルの設計履歴のデータを比較することで設計変更の有無を判定したが、例えば前回複合現実感アプリケーションが終了した時点での3Dモデルの外形形状と、今回起動時の3Dモデルの外形形状とを比較して、形状が異なる場合に設計変更があったと判定するようにしてもよい。 In the above description of the fourth embodiment, the presence or absence of a design change is determined by comparing the data of the design history of the 3D model. However, for example, the 3D model at the time when the mixed reality application was terminated last time The outer shape may be compared with the outer shape of the 3D model at the time of starting this time, and if the shapes are different, it may be determined that the design has been changed.

以上説明したように、本発明の第4の実施形態によれば、複合現実において、物体同士の干渉をユーザに容易に確認させることができる。 As described above, according to the fourth embodiment of the present invention, the user can easily confirm the interference between objects in mixed reality.

例えば、設計変更のあった3Dモデルが干渉モデルになった場合に、当該干渉モデルを除く他の干渉モデルの表示形態・状態を変更することで、当該干渉モデルをユーザに見え易く表示することができる。 For example, when a 3D model whose design has been changed becomes an interference model, by changing the display form/state of other interference models other than the interference model, the interference model can be displayed so that it is easy for the user to see. it can.

以上説明したように、本発明の各実施形態によれば、複合現実において、物体同士の干渉をユーザに容易に確認させることができる。 As described above, according to the embodiments of the present invention, it is possible for the user to easily confirm the interference between objects in mixed reality.

なお、上述した実施形態においては、干渉モデル以外のモデルを透明化することで、干渉モデルを確認し易く表示するものとしたが、例えば、干渉モデル以外の他のモデルを、干渉モデルが見え易くなる位置に移動させることで、当該干渉モデルを確認し易く表示するようにしてもよい。 In the above-described embodiment, the models other than the interference model are made transparent so that the interference model can be displayed easily. However, for example, the models other than the interference model can be easily seen. The interference model may be displayed so that it can be easily confirmed by moving the interference model to another position.

例えば、図15に示すように、干渉点から任意の範囲内にあるモデル又は干渉点とHMD101の間にあるモデル1301を1500に示す本来のモデル1301の位置から、1510に示す干渉点から所定距離離れた位置に移動(位置変更)する。具体的には、図7のステップS708において、干渉点を中心に球状の3Dモデルを配置し、当該球状の3Dモデルの法線ベクトルの示す方向に、モデル1301の位置を、予めPC100の外部メモリに記憶されている所定距離分離れた位置に変更する。そして、当該位置変更された3Dモデルの描画データを生成し、処理をステップS709に移行する。 For example, as shown in FIG. 15, a model within an arbitrary range from the interference point, or a model 1301 between the interference point and the HMD 101 is shown at 1500 from the original position of the model 1301 to a predetermined distance from the interference point shown at 1510. Move (change position) to a distant position. Specifically, in step S708 of FIG. 7, a spherical 3D model is arranged around the interference point, and the position of the model 1301 is set in advance in the external memory of the PC 100 in the direction indicated by the normal vector of the spherical 3D model. Change to a position separated by a predetermined distance stored in. Then, drawing data of the position-changed 3D model is generated, and the process proceeds to step S709.

つまり、干渉モデル以外のモデルを移動させることで、当該干渉モデルを確認し易く表示することができる。 That is, by moving a model other than the interference model, the interference model can be displayed in an easily confirmable manner.

また、上述した実施形態の説明においては、仮想オブジェクトは3Dモデルであるものとしたが、例えば奥行きを持たない平面(2D)のモデルも仮想オブジェクトとして扱ってもよい。 Further, in the above description of the embodiment, the virtual object is a 3D model, but a plane (2D) model having no depth may be treated as a virtual object.

また、上述した実施形態の説明においては、現実画像に3Dモデルを重畳した複合現実画像を生成し、HMD101において表示させるものとしたが、例えば透過型ディスプレイを備えるHMDである場合は、現実空間の状態はディスプレイの向こうに透けて見えるため必ずしもディスプレイ上に現実画像を表示する必要はない。よって、透過型ディスプレイを備えるHMDを用いる場合は、例えば現実画像を透明度100%(全く見えない状態)とし、3Dモデル(仮想オブジェクト)の描画データを透明化した現実画像上に重畳した画像を複合現実画像として生成し、透過型ディスプレイを備えるHMD101に送信するようにしてもよい。 Further, in the description of the above-described embodiment, a mixed reality image in which a 3D model is superimposed on a real image is generated and displayed on the HMD 101. However, in the case of an HMD having a transmissive display, for example, in a real space, Since the state can be seen through the other side of the display, it is not always necessary to display a real image on the display. Therefore, in the case of using an HMD having a transmissive display, for example, the transparency of the real image is set to 100% (invisible state), and an image obtained by superimposing the rendering data of the 3D model (virtual object) on the real image is combined. It may be generated as a real image and transmitted to the HMD 101 having a transmissive display.

また、上述した第1の実施形態の説明においては、干渉点から任意の範囲内にある他のモデルを特定して透明化するものとしたが、例えば、ステップS707のタイミングで、各干渉点を中心位置として、干渉点ごとに、任意の範囲を示す球状の3Dモデル(図10によれば半径20cmの球状の3Dモデル)を生成し、これら球状のモデルの内側には3Dモデルの描画データを描画・表示しないよう設定し、当該球状のモデルの前面のレイヤに干渉モデルを設定するようにしてもよい。こうすることで、干渉点を中心とした任意の範囲内の3Dモデルの画像は描画・表示されず、干渉モデルはユーザに視認可能に表示することのできる複合現実画像を生成できる。 Further, in the above description of the first embodiment, it is assumed that another model within an arbitrary range from the interference point is specified and made transparent. However, for example, each interference point is detected at the timing of step S707. As a center position, a spherical 3D model (a spherical 3D model with a radius of 20 cm according to FIG. 10) showing an arbitrary range is generated for each interference point, and drawing data of the 3D model is generated inside these spherical models. The interference model may be set not to be drawn and displayed, and the interference model may be set to the layer in front of the spherical model. By doing so, the image of the 3D model within an arbitrary range centering on the interference point is not drawn/displayed, and the interference model can generate a mixed reality image that can be visually displayed to the user.

また、上述した各実施形態は自由に組み合わせて実行可能であるものとする。 Further, the above-described embodiments can be freely combined and executed.

以上、本発明の各実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。 Although the respective embodiments of the present invention have been described above, the present invention can be embodied as, for example, a system, an apparatus, a method, a program, a recording medium, or the like. Specifically, it may be applied to a system composed of a plurality of devices, or may be applied to an apparatus composed of one device.

例えば、図2に示すPC100の構成を全て備えるHMD101が、上述した実施形態においてPC100の実行するものとして説明した処理の全てを、実行するようにしてもよい。 For example, the HMD 101 including all the configurations of the PC 100 illustrated in FIG. 2 may execute all the processes described as being executed by the PC 100 in the above-described embodiment.

また、本発明におけるプログラムは、図5、図7〜図9に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図5、図7〜図9の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図1に示す各装置の処理方法ごとのプログラムであってもよい。 Further, the program according to the present invention is a program that allows a computer to execute the processing method of the flowcharts shown in FIGS. 5 and 7 to 9, and the storage medium according to the present invention has the processing method shown in FIGS. A computer-executable program is stored. The program in the present invention may be a program for each processing method of each device shown in FIG.

以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。 As described above, the recording medium recording the program that realizes the functions of the above-described embodiments is supplied to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the program stored in the recording medium. It is needless to say that the object of the present invention can be achieved by executing the reading.

この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。 In this case, the program itself read from the recording medium realizes the novel function of the present invention, and the recording medium storing the program constitutes the present invention.

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。 As a recording medium for supplying the program, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, DVD-ROM, magnetic tape, non-volatile memory card, ROM, EEPROM, silicon. A disk, a solid state drive, etc. can be used.

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

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

また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 Further, the present invention may be applied to a system including a plurality of devices or an apparatus including a single device. Further, it goes without saying that the present invention can be applied to the case where it is achieved by supplying a program to a system or an apparatus. In this case, by reading the recording medium storing the program for achieving the present invention into the system or device, the system or device can enjoy the effects of the present invention.

さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 Further, by downloading and reading a program for achieving the present invention from a server, a database or the like on a network using a communication program, the system or apparatus can enjoy the effects of the present invention.

なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。 It should be noted that the present invention also includes all configurations that combine the above-described embodiments and modifications thereof.

100 PC
101 HMD
103 光マーカ
104 光学式センサ
150 ネットワーク
100 PC
101 HMD
103 optical marker 104 optical sensor 150 network

Claims (11)

仮想オブジェクトを表示する表示部を備える表示装置と接続可能な情報処理装置であって、
前記仮想オブジェクトとして表示される設計物の設計履歴を取得する取得手段と、
前記取得手段により取得された設計履歴に基づいて、前記設計物において設計変更がされているか判定する判定手段と、
前記判定手段により設計変更がされていると判定された設計物を示す仮想オブジェクトである第1の仮想オブジェクトが視認可能となるように、他の設計物を示す仮想オブジェクトであって前記第1の仮想オブジェクトに係る位置と所定の位置関係にある第2の仮想オブジェクトの表示を制御する表示制御手段と、
を備えることを特徴とする情報処理装置。
An information processing device connectable to a display device including a display unit for displaying a virtual object,
An acquisition unit for acquiring a design history of the design object displayed as the virtual object,
Based on the design history acquired by the acquisition unit, a determination unit that determines whether or not a design change has been made in the design object,
Wherein as the first virtual object is a virtual object that indicates a designed object that has been determined to be the design change by determining means is visible, the first I virtual object der showing another designed object position of the virtual object and display control means for controlling the display of the second virtual object Ru predetermined positional relationship near,
An information processing apparatus comprising:
前記表示制御手段は、前記第1の仮想オブジェクトと干渉していない第2の仮想オブジェクトの表示を制御することを特徴とする請求項1に記載の情報処理装置。 Wherein the display control unit, an information processing apparatus according to claim 1, characterized in that to control the display of the second virtual object that does not interfere with the previous SL first virtual object. 前記表示制御手段は、前記第1の仮想オブジェクトと干渉している前記第2の仮想オブジェクト又は当該第1の仮想オブジェクトと当該第2の仮想オブジェクトの干渉点から所定の距離内にある、他の仮想オブジェクトと干渉していない仮想オブジェクトの透明度を調整した画像を表示することを特徴とする請求項1又は2に記載の情報処理装置。 The display control means is within a predetermined distance from the point of interference between the second virtual object that interferes with the first virtual object or the first virtual object and the second virtual object, The information processing apparatus according to claim 1, wherein an image in which the transparency of the virtual object that does not interfere with the virtual object is adjusted is displayed. 前記表示制御手段は、前記第1の仮想オブジェクトと干渉している前記第2の仮想オブジェクト又は、前記表示装置の位置と当該第1の仮想オブジェクトと当該第2の仮想オブジェクトの干渉点と、前記表示装置の位置との間に位置する他の仮想オブジェクトの透明度を調整した画像を表示する制御を行なうことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 Wherein the display control unit, said interfering with the previous SL first virtual object second virtual object, or, the interference point position and the first virtual object and the second virtual object in the display device The information processing apparatus according to any one of claims 1 to 3, wherein control is performed to display an image in which the transparency of another virtual object positioned between the display apparatus and the position of the display apparatus is adjusted. 前記表示制御手段は、前記第1の仮想オブジェクトが、他の仮想オブジェクトの内側に位置する仮想オブジェクトである場合に、前記第2の仮想オブジェクトの表示制御を行なうことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 The display control means controls the display of the second virtual object when the first virtual object is a virtual object located inside another virtual object. 4. The information processing device according to any one of 4 above. 前記表示制御手段は、前記第1の仮想オブジェクトが、前記表示装置の位置から見て他の仮想オブジェクトの背面にある仮想オブジェクトである場合に、前記第2の仮想オブジェクトの表示制御を行なうことを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。 The display control means controls the display of the second virtual object when the first virtual object is a virtual object behind another virtual object when viewed from the position of the display device. The information processing apparatus according to any one of claims 1 to 5, which is characterized. 仮想オブジェクトを表示する表示部を備える表示装置と接続可能な情報処理装置の制御方法であって、
前記仮想オブジェクトとして表示される設計物の設計履歴を取得する取得工程と、
前記取得工程により取得された設計履歴に基づいて、前記設計物において設計変更がされているか判定する判定工程と、
前記判定工程により設計変更がされていると判定された設計物を示す仮想オブジェクトである第1の仮想オブジェクトが視認可能となるように、他の設計物を示す仮想オブジェクトであって前記第1の仮想オブジェクトに係る位置と所定の位置関係にある第2の仮想オブジェクトの表示を制御する表示制御工程と、
を含む制御方法。
A method for controlling an information processing device connectable to a display device including a display unit for displaying a virtual object, comprising:
An acquisition step of acquiring a design history of the design object displayed as the virtual object;
Based on the design history acquired by the acquisition step, a determination step of determining whether a design change has been made in the design object,
It said determining step such that the first virtual object is a virtual object becomes visible indicating the determined design was to have been the design change by the I virtual object der showing another designed object first position of the virtual object and a display control step of controlling the display of the second virtual object Ru predetermined positional relationship near,
Control method including.
仮想オブジェクトを表示する表示部を備える表示装置と接続可能な情報処理装置を制御するプログラムであって、
前記情報処理装置を、
前記仮想オブジェクトとして表示される設計物の設計履歴を取得する取得手段と、
前記取得手段により取得された設計履歴に基づいて、前記設計物において設計変更がされているか判定する判定手段と、
前記判定手段により設計変更がされていると判定された設計物を示す仮想オブジェクトである第1の仮想オブジェクトが視認可能となるように、他の設計物を示す仮想オブジェクトであって前記第1の仮想オブジェクトに係る位置と所定の位置関係にある第2の仮想オブジェクトの表示を制御する表示制御手段として機能させるためのプログラム。
A program for controlling an information processing device connectable to a display device including a display unit for displaying a virtual object,
The information processing device,
An acquisition unit for acquiring a design history of the design object displayed as the virtual object,
Based on the design history acquired by the acquisition unit, a determination unit that determines whether or not a design change has been made in the design object,
Wherein as the first virtual object is a virtual object that indicates a designed object that has been determined to be the design change by determining means is visible, the first I virtual object der showing another designed object program for functioning as display control means for controlling the display of the second Ru position a predetermined positional relationship near according to the virtual object in the virtual object.
仮想オブジェクトを表示する表示部を備える表示装置と、情報処理装置を含む情報処理システムであって、
前記仮想オブジェクトとして表示される設計物の設計履歴を取得する取得手段と、
前記取得手段により取得された設計履歴に基づいて、前記設計物において設計変更がされているか判定する判定手段と、
前記判定手段により設計変更がされていると判定された設計物を示す仮想オブジェクトである第1の仮想オブジェクトが視認可能となるように、他の設計物を示す仮想オブジェクトであって前記第1の仮想オブジェクトに係る位置と所定の位置関係にある第2の仮想オブジェクトの表示を制御する表示制御手段と、
を備えることを特徴とする情報処理システム。
An information processing system including a display device including a display unit for displaying a virtual object, and an information processing device,
An acquisition unit for acquiring a design history of the design object displayed as the virtual object,
Based on the design history acquired by the acquisition unit, a determination unit that determines whether or not a design change has been made in the design object,
Wherein as the first virtual object is a virtual object that indicates a designed object that has been determined to be the design change by determining means is visible, the first I virtual object der showing another designed object position of the virtual object and display control means for controlling the display of the second virtual object Ru predetermined positional relationship near,
An information processing system comprising:
仮想オブジェクトを表示する表示部を備える表示装置と、情報処理装置を含む情報処理システムの制御方法であって、
前記仮想オブジェクトとして表示される設計物の設計履歴を取得する取得工程と、
前記取得工程により取得された設計履歴に基づいて、前記設計物において設計変更がされているか判定する判定工程と、
前記判定工程により設計変更がされていると判定された設計物を示す仮想オブジェクトである第1の仮想オブジェクトが視認可能となるように、他の設計物を示す仮想オブジェクトであって前記第1の仮想オブジェクトに係る位置と所定の位置関係にある第2の仮想オブジェクトの表示を制御する表示制御工程と、
を含む制御方法。
A method for controlling an information processing system including a display device having a display unit for displaying a virtual object, and an information processing device,
An acquisition step of acquiring a design history of the design object displayed as the virtual object;
Based on the design history acquired by the acquisition step, a determination step of determining whether a design change has been made in the design object,
It said determining step such that the first virtual object is a virtual object becomes visible indicating the determined design was to have been the design change by the I virtual object der showing another designed object first position of the virtual object and a display control step of controlling the display of the second virtual object Ru predetermined positional relationship near,
Control method including.
仮想オブジェクトを表示する表示部を備える表示装置と、情報処理装置を含む情報処理システムを制御するプログラムであって、
前記情報処理システムを、
前記仮想オブジェクトとして表示される設計物の設計履歴を取得する取得手段と、
前記取得手段により取得された設計履歴に基づいて、前記設計物において設計変更がされているか判定する判定手段と、
前記判定手段により設計変更がされていると判定された設計物を示す仮想オブジェクトである第1の仮想オブジェクトが視認可能となるように、他の設計物を示す仮想オブジェクトであって前記第1の仮想オブジェクトに係る位置と所定の位置関係にある第2の仮想オブジェクトの表示を制御する表示制御手段として機能させるためのプログラム。
A program for controlling an information processing system including a display device that displays a virtual object and an information processing device,
The information processing system,
An acquisition unit for acquiring a design history of the design object displayed as the virtual object,
Based on the design history acquired by the acquisition unit, a determination unit that determines whether or not a design change has been made in the design object,
Wherein as the first virtual object is a virtual object that indicates a designed object that has been determined to be the design change by determining means is visible, the first I virtual object der showing another designed object program for functioning as display control means for controlling the display of the second Ru position a predetermined positional relationship near according to the virtual object in the virtual object.
JP2016108809A 2016-05-31 2016-05-31 Information processing apparatus, information processing system, control method thereof, and program Active JP6741939B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016108809A JP6741939B2 (en) 2016-05-31 2016-05-31 Information processing apparatus, information processing system, control method thereof, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016108809A JP6741939B2 (en) 2016-05-31 2016-05-31 Information processing apparatus, information processing system, control method thereof, and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020124900A Division JP7116334B2 (en) 2020-07-22 2020-07-22 Information processing device, information processing system, control method thereof, and program

Publications (3)

Publication Number Publication Date
JP2017215753A JP2017215753A (en) 2017-12-07
JP2017215753A5 JP2017215753A5 (en) 2020-02-06
JP6741939B2 true JP6741939B2 (en) 2020-08-19

Family

ID=60575745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016108809A Active JP6741939B2 (en) 2016-05-31 2016-05-31 Information processing apparatus, information processing system, control method thereof, and program

Country Status (1)

Country Link
JP (1) JP6741939B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4691374B2 (en) * 2004-04-08 2011-06-01 日立オートモティブシステムズ株式会社 Design support system
JP2006039872A (en) * 2004-07-26 2006-02-09 Canon Inc Information processing method and information processor
JP2008176425A (en) * 2007-01-16 2008-07-31 Ricoh Co Ltd Catalog preparation system, parts catalog preparation method, program, and recording medium

Also Published As

Publication number Publication date
JP2017215753A (en) 2017-12-07

Similar Documents

Publication Publication Date Title
JP6618681B2 (en) Information processing apparatus, control method and program therefor, and information processing system
JP6004051B2 (en) INFORMATION PROCESSING SYSTEM, ITS CONTROL METHOD, AND PROGRAM, AND INFORMATION PROCESSING DEVICE, ITS CONTROL METHOD, AND PROGRAM
JP6920057B2 (en) Image processing equipment, image processing method, computer program
JP7060778B2 (en) Information processing system, information processing system control method and program
JP2015125641A (en) Information processing device, control method therefor, and program
JP6677890B2 (en) Information processing system, its control method and program, and information processing apparatus, its control method and program
JP6409861B2 (en) Information processing apparatus, information processing system, control method thereof, and program
JP2019008623A (en) Information processing apparatus, information processing apparatus control method, computer program, and storage medium
JP2016122392A (en) Information processing apparatus, information processing system, control method and program of the same
JP7273325B2 (en) Information processing device, information processing system, information processing method and 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
JP7279113B2 (en) IMAGE PROCESSING APPARATUS, IMAGE PROCESSING METHOD, COMPUTER PROGRAM
JP6741939B2 (en) Information processing apparatus, information processing system, control method thereof, and program
JP7116334B2 (en) Information processing device, information processing system, control method thereof, and program
JP6357412B2 (en) Information processing apparatus, information processing system, information processing method, and program
JP6376251B2 (en) Information processing apparatus, information processing system, control method thereof, and program
JP2019012334A (en) Information processor, information processing system, method for control, and program
JP6164177B2 (en) Information processing apparatus, information processing system, control method thereof, and program
JP2017084215A (en) Information processing system, control method thereof, and program
JP2016115230A (en) Information processing apparatus, information processing system, control method thereof, and program
JP2015121892A (en) Image processing apparatus, and image processing method
JP2017084214A (en) Information processing system, control method thereof, and program
JP2018190447A (en) Information processing device, information processing system, control method thereof and program
JP2020107152A (en) Information processing device, information processing system, control method therefor, and program

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20161101

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20161101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180703

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20181031

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200514

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200706

R151 Written notification of patent or utility model registration

Ref document number: 6741939

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250