JP2017084215A - Information processing system, control method thereof, and program - Google Patents

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

Info

Publication number
JP2017084215A
JP2017084215A JP2015213903A JP2015213903A JP2017084215A JP 2017084215 A JP2017084215 A JP 2017084215A JP 2015213903 A JP2015213903 A JP 2015213903A JP 2015213903 A JP2015213903 A JP 2015213903A JP 2017084215 A JP2017084215 A JP 2017084215A
Authority
JP
Japan
Prior art keywords
viewpoint
user
virtual space
information
scale
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.)
Pending
Application number
JP2015213903A
Other languages
Japanese (ja)
Inventor
幸大 鬼丸
Yukihiro Onimaru
幸大 鬼丸
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 JP2015213903A priority Critical patent/JP2017084215A/en
Publication of JP2017084215A publication Critical patent/JP2017084215A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a mechanism for browsing a virtual space with a scale corresponding to scale information for each of three-dimensional models arranged in the virtual space.SOLUTION: Scale information for determining a position of a point of sight in a virtual space and a moving amount of the point of sight, is stored for each of three-dimensional models. A three-dimensional model arranged in the virtual space is selected. A position of a point of sight of a user in the virtual space is determined, by use of scale information corresponding to the selected three-dimensional model. A moving amount of use in a real space is acquired. The point of sight of the user is moved with a moving amount to be determined by use of the acquired moving amount of the user and scale information corresponding to the selected three-dimensional model.SELECTED DRAWING: Figure 15

Description

本発明は、仮想空間におけるユーザの視点の高さを変更した場合でも、適切な移動量で仮想空間を移動することの可能な情報処理システム、その制御方法、及びプログラムに関する。   The present invention relates to an information processing system capable of moving in a virtual space with an appropriate amount of movement even when the height of a user's viewpoint in the virtual space is changed, a control method thereof, and a program.

従来技術として、三次元モデリングされたCG(ComputerGraphics、以下、三次元モデルという。)を含む画像を、現実空間を撮像した画像に重畳し、これを観察者に提示する仕組みが存在する。この仕組みを用いることで、観察者にあたかも現実空間中に三次元モデルが存在しているかのように見せることができる。この仕組みは、複合現実感(Mixed Reality、以下、MRという。)や拡張現実感と呼ばれている。   As a conventional technique, there is a mechanism in which an image including three-dimensionally modeled CG (Computer Graphics, hereinafter referred to as a three-dimensional model) is superimposed on an image obtained by capturing a real space and presented to an observer. By using this mechanism, it is possible to make the viewer feel as if a three-dimensional model exists in the real space. This mechanism is called mixed reality (hereinafter referred to as MR) or augmented reality.

こうした仕組みにおいて、現実空間におけるユーザの視点の高さとは異なる高さに仮想空間上のユーザの視点を設定することで、現実空間とは異なるスケール感で仮想空間を提示する仕組みが特許文献1に開示されている。   In such a mechanism, Patent Document 1 discloses a mechanism that presents a virtual space with a different scale feeling from the real space by setting the user's viewpoint on the virtual space at a height different from the height of the user's viewpoint in the real space. It is disclosed.

特開平5−282279号公報JP-A-5-282279

ところで、複数の拠点において設計物のレビューを行う場合がある。この場合には、複数の拠点それぞれに存在する各ユーザに対して、レビュー対象の三次元モデルを含む同一の仮想空間を複合現実感によって提示する仕組みを用いることで、リアルタイムに情報共有を行うことができる。   By the way, there is a case where a design is reviewed at a plurality of bases. In this case, information sharing is performed in real time by using a mechanism that presents the same virtual space including the three-dimensional model to be reviewed to each user at each of the multiple bases using mixed reality. Can do.

また、例えば設計物が建築物のように比較的大きなものである場合には、ユーザは建築物の内部や外部を確認することが多い。特に建築物の上部から俯瞰的に確認したい場合には、特許文献1に開示されている仕組みを適用することで、仮想空間上の視点の高さを変更すると共に、この高さに応じた移動量で視点を移動させることができる。こうすることにより、あたかも巨人になったかのような感覚で自由に歩き回って確認をすることができる。   In addition, for example, when the design is relatively large like a building, the user often checks the inside and outside of the building. In particular, when you want to check from the top of the building, you can change the height of the viewpoint in the virtual space by applying the mechanism disclosed in Patent Document 1, and move according to this height The viewpoint can be moved by the amount. By doing this, you can walk around and check as if you were a giant.

しかしながら、特許文献1の仕組みを適用したとしても、建築物の内部を見る場合と外部を見る場合とで、視点の高さを変更しなければならないので、その都度ユーザは設定を行わなければならず、建築物を円滑に閲覧することができない問題があった。   However, even if the mechanism of Patent Document 1 is applied, the height of the viewpoint must be changed between when the inside of the building is viewed and when the outside is viewed. Therefore, the user must make settings each time. Therefore, there was a problem that the building could not be browsed smoothly.

本発明は、仮想空間に配置される三次元モデルごとのスケール情報に応じたスケール感で、仮想空間を閲覧することの可能な仕組みを提供することを目的とする。   An object of the present invention is to provide a mechanism capable of browsing a virtual space with a sense of scale corresponding to scale information for each three-dimensional model arranged in the virtual space.

上記の目的を達成するために本発明の情報処理システムは、三次元モデルが配置される仮想空間を提示するための情報処理システムであって、前記仮想空間における視点の位置と当該視点の移動量とを決定するためのスケール情報を前記三次元モデルごとに記憶する記憶手段と、前記仮想空間に配置される三次元モデルを選択する三次元モデル選択手段と、前記三次元モデル選択手段で選択された三次元モデルに対応する前記スケール情報を用いて、前記仮想空間におけるユーザの視点の位置を決定し、当該位置に視点を設定する視点設定手段と、現実空間における前記ユーザの移動量を取得する移動量取得手段と、前記移動量取得手段で取得した前記ユーザの移動量と前記三次元モデル選択手段で選択された三次元モデルに対応する前記スケール情報とを用いて、前記視点設定手段で設定された当該ユーザの視点の移動量を決定し、当該決定した移動量で当該ユーザの視点を移動する視点移動手段とを備えることを特徴とする。   In order to achieve the above object, an information processing system of the present invention is an information processing system for presenting a virtual space in which a three-dimensional model is arranged, and includes a viewpoint position and a movement amount of the viewpoint in the virtual space. Storage means for storing scale information for determining each 3D model, 3D model selection means for selecting a 3D model arranged in the virtual space, and 3D model selection means. Using the scale information corresponding to the three-dimensional model, the position of the user's viewpoint in the virtual space is determined, viewpoint setting means for setting the viewpoint at the position, and the movement amount of the user in the real space is acquired. A movement amount acquisition unit; a movement amount of the user acquired by the movement amount acquisition unit; and the scan corresponding to the 3D model selected by the 3D model selection unit. And a viewpoint moving means for determining a movement amount of the user's viewpoint set by the viewpoint setting means, and moving the user's viewpoint with the determined movement amount. To do.

本発明によれば、仮想空間に配置される三次元モデルごとのスケール情報に応じたスケール感で、仮想空間を閲覧することが可能となる。   ADVANTAGE OF THE INVENTION According to this invention, it becomes possible to browse virtual space with the feeling of scale according to the scale information for every three-dimensional model arrange | positioned in virtual space.

本発明の実施形態における情報処理システムのシステム構成の一例を示す図である。It is a figure which shows an example of the system configuration | structure of the information processing system in embodiment of this invention. MRシステムのシステム構成の一例を示す図である。It is a figure which shows an example of the system configuration | structure of MR system. クライアント装置101とHMD102のハードウェア構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration of a client device 101 and an HMD 102. FIG. サーバ装置103のハードウェア構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration of a server apparatus 103. FIG. クライアント装置101とサーバ装置103の機能構成の一例を示す図である。3 is a diagram illustrating an example of functional configurations of a client device 101 and a server device 103. FIG. クライアント装置101−1から仮想空間を配信し、各クライアント装置101で仮想空間を設定する処理の流れの一例を示すフローチャート。The flowchart which shows an example of the flow of a process which delivers virtual space from the client apparatus 101-1, and sets a virtual space in each client apparatus 101. FIG. 現実空間におけるユーザの視点に基づいて、仮想空間におけるユーザの視点が設定された様子を示す図である。It is a figure which shows a mode that the user's viewpoint in virtual space was set based on the user's viewpoint in real space. ユーザごとにスケールを設定する処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a process which sets a scale for every user. スケール設定画面900の画面構成の一例を示す図である。6 is a diagram illustrating an example of a screen configuration of a scale setting screen 900. FIG. ユーザ設定スケール情報1000、設定情報テーブル1010、クライアント情報テーブル1020、及びオブジェクト情報テーブル1030のテーブル構成の一例を示す図である。5 is a diagram illustrating an example of a table configuration of user setting scale information 1000, a setting information table 1010, a client information table 1020, and an object information table 1030. FIG. 複合現実感提示処理の一例を示すフローチャートである。It is a flowchart which shows an example of a mixed reality presentation process. 現実空間におけるユーザの視点が移動した場合を示す図である。It is a figure which shows the case where a user's viewpoint moves in real space. 仮想空間におけるユーザの視点が、ユーザごとに設定されたスケールに応じて変更された様子を示す図である。It is a figure which shows a mode that the viewpoint of the user in virtual space was changed according to the scale set for every user. 仮想空間におけるユーザの視点が、ユーザごとに設定されたスケールに応じた移動量で移動した様子を示す図である。It is a figure which shows a mode that the viewpoint of the user in virtual space moved with the movement amount according to the scale set for every user. 仮想空間にユーザを示すアバターが配置された様子を示す図である。It is a figure which shows a mode that the avatar which shows a user is arrange | positioned in virtual space. スケール設定処理の一例を示すフローチャートである。It is a flowchart which shows an example of a scale setting process. 仮想空間においてユーザがオブジェクトを覗き込む様子を示す図である。It is a figure which shows a mode that a user looks into an object in virtual space. 第2の実施形態における、スケール設定処理の一例を示す図である。It is a figure which shows an example of the scale setting process in 2nd Embodiment. 第2の実施形態における、オブジェクト情報テーブル1030のテーブル構成の一例を示す図である。It is a figure which shows an example of the table structure of the object information table 1030 in 2nd Embodiment. 仮想空間に配置されたアバターの大きさが、オブジェクトごとに設定されたスケールに応じて変更される様子を示す図である。It is a figure which shows a mode that the magnitude | size of the avatar arrange | positioned in virtual space is changed according to the scale set for every object. 仮想空間に配置されたアバターがオブジェクトのいずれの方向から接触したかによって、オブジェクトに設定されたスケールを適用する/しないを決定する様子を示す図である。It is a figure which shows a mode that it determines whether the scale set to the object is applied depending on from which direction of the object the avatar arrange | positioned in virtual space contacted.

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

図1は、第1の実施形態における情報処理システムのシステム構成の一例を示す図である。図1に示す情報処理システムは、複合現実感技術(以下、MR技術という。)を用いた、複数の拠点のユーザに同一の仮想空間を閲覧・共有させるためのシステムである。情報処理システムは、クライアント装置101にHMD102が相互にデータ通信可能に接続される複数のMRシステムを含み、各MRシステムのクライアント装置101は、ネットワークを介してサーバ装置103と通信可能に接続されている。クライアント装置101とHMD102との接続は、有線接続であってもよいし、無線接続であってもよい。また、情報処理システムに含まれるMRシステムはいくつ存在してもよい。本実施形態では、クライアント装置101−1とHMD102−1とが接続されるMRシステムと、クライアント装置101−2とHMD102−2とが接続されるMRシステムと、その他複数のMRシステムとを含む情報処理システムとして説明を行う。また、MRシステムは部屋ごとに設けてもよいし、同一の部屋に設けてもよいため、本実施形態では拠点ごとに設けるものとして説明するがこれに限定されない。尚、図1のシステム上に接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例がある。   FIG. 1 is a diagram illustrating an example of a system configuration of an information processing system according to the first embodiment. The information processing system shown in FIG. 1 is a system that allows users at a plurality of bases to view and share the same virtual space using mixed reality technology (hereinafter referred to as MR technology). The information processing system includes a plurality of MR systems in which the HMD 102 is connected to the client apparatus 101 so as to be able to perform data communication with each other. The client apparatus 101 of each MR system is connected to the server apparatus 103 via a network so as to be communicable. Yes. The connection between the client apparatus 101 and the HMD 102 may be a wired connection or a wireless connection. Any number of MR systems may be included in the information processing system. In the present embodiment, the information includes the MR system to which the client device 101-1 and the HMD 102-1 are connected, the MR system to which the client device 101-2 and the HMD 102-2 are connected, and a plurality of other MR systems. The processing system will be described. In addition, since the MR system may be provided for each room or in the same room, the MR system is described as being provided for each base in the present embodiment, but the present invention is not limited to this. The configuration of various terminals connected on the system of FIG. 1 is an example, and there are various configuration examples depending on the application and purpose.

クライアント装置101は、汎用的なコンピュータである。クライアント装置101は、HMD102で撮影(撮像)された現実空間の画像(以下、現実空間画像という。)と、クライアント装置101で生成された仮想空間の画像(以下、仮想空間画像という。)とを重畳する。こうして生成された画像(以下、複合現実画像という。)を、HMD102に送信する。尚、MR技術に関しては従来技術を用いるため、詳細な説明は省略する。また、クライアント装置101は、パーソナルコンピュータであってもよいし、サーバのような大型のコンピュータであってもよい。更には、携帯電話やタブレット端末といった携帯端末であってもよい。コンピュータの種類は特に問わない。また、拠点ごとにクライアント装置101を設置せず、1台のクライアント装置101で処理するようにしてもよい。すなわち、1台のクライアント装置101が本実施形態における各MRシステムを構築してもよい。更には、クライアント装置101が設置される場所は特に問わない。   The client device 101 is a general-purpose computer. The client device 101 captures 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 client device 101. Superimpose. The image generated in this way (hereinafter referred to as a mixed reality image) is transmitted to the HMD 102. Since the conventional technique is used for the MR technique, a detailed description is omitted. The client device 101 may be a personal computer or a large computer such as a server. Furthermore, a mobile terminal such as a mobile phone or a tablet terminal may be used. The type of computer is not particularly limited. Further, the processing may be performed by one client device 101 without installing the client device 101 at each site. That is, one client apparatus 101 may construct each MR system in the present embodiment. Further, the location where the client apparatus 101 is installed is not particularly limited.

HMD102は、ヘッドマウントディスプレイである。HMD102は、ユーザの頭部に装着する装置であり、右目用と左目用のビデオカメラと、右目用と左目用のディスプレイを備えている。HMD102は、HMD102のビデオカメラで撮影された現実空間画像をクライアント装置101に送信する。そして、クライアント装置101から複合現実画像を受信し、ディスプレイに表示する。HMD102では、右目用と左目用のディスプレイを設けているので、視差によって立体感を得ることができる。尚、HMD102で撮影する現実空間画像とHMD102で表示する複合現実画像は、動画(映像)が望ましいが、所定の間隔で撮影された静止画であってもよい。また、スマートフォンのようにディスプレイとビデオカメラがハードウェアの前面と背面に設置されている装置を、ヘッドマウントディスプレイの代用としてもよい。   The HMD 102 is a head mounted display. The HMD 102 is a device that is 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 photographed by the video camera of the HMD 102 to the client device 101. The mixed reality image is received from the client apparatus 101 and displayed on the display. Since the HMD 102 is provided with displays for the right eye and the left eye, a stereoscopic effect can be obtained by parallax. The physical space image captured by the HMD 102 and the mixed reality image displayed by the HMD 102 are preferably moving images (video), but may be still images captured at a predetermined interval. Further, a device in which a display and a video camera are installed on the front and back of the hardware, such as a smartphone, may be used as a substitute for the head mounted display.

図2は、各拠点のMRシステムのシステム構成の一例を示す図である。前述した通り、クライアント装置101はHMD102と通信可能に接続されている。更に、クライアント装置101には赤外線カメラ202が接続されている。赤外線カメラ202は、赤外線を用いた光学式のセンサである。赤外線カメラ202は、現実空間に赤外線を照射し、現実空間の物体で反射した赤外線を撮影することにより、赤外線カメラ202が定義する座標系における、現実空間の物体の位置及び姿勢を特定する。この赤外線カメラ202を用いて、現実空間におけるHMD102(すなわちユーザ)の位置及び姿勢(向きや傾き、視線の方向等。以下、同じ。)を特定する。HMD102には、オプティカルマーカ201という赤外線を反射する物体を備えており、赤外線カメラ202はこのオプティカルマーカ201で反射した赤外線を撮影することで、HMD102の位置及び姿勢を特定できるようになっている。ユーザがどのような位置や姿勢であっても、当該ユーザが装着するHMD102のオプティカルマーカ201を撮影または検知できるように、MRシステムでは赤外線カメラ202を複数台設置することが望ましい。また、位置及び姿勢を特定可能なHMD102は、赤外線カメラ202の撮影範囲に存在するHMD102である。   FIG. 2 is a diagram showing an example of the system configuration of the MR system at each site. As described above, the client device 101 is communicably connected to the HMD 102. Further, an infrared camera 202 is connected to the client device 101. The infrared camera 202 is an optical sensor using infrared rays. The infrared camera 202 irradiates the real space with infrared rays and shoots the infrared rays reflected by the objects in the real space, thereby specifying the position and orientation of the objects in the real space in the coordinate system defined by the infrared camera 202. Using this infrared camera 202, the position and orientation (direction, inclination, direction of line of sight, etc .; the same applies hereinafter) of the HMD 102 (that is, the user) in the real space are specified. The HMD 102 includes an object that reflects infrared rays, which is an optical marker 201, and the infrared camera 202 can identify the position and orientation of the HMD 102 by photographing the infrared rays reflected by the optical marker 201. It is desirable to install a plurality of infrared cameras 202 in the MR system so that the optical marker 201 of the HMD 102 worn by the user can be photographed or detected regardless of the position or posture of the user. Further, the HMD 102 that can specify the position and orientation is the HMD 102 that exists in the imaging range of the infrared camera 202.

尚、本実施形態においては、現実空間におけるHMD102の位置及び姿勢を特定するために、赤外線カメラ202を用いるが、HMD102の現実空間における位置及び姿勢を特定できるのであれば、これに限らない。例えば、磁気センサを用いてもよいし、HMD102が撮影した画像を解析して位置及び姿勢を特定してもよい。   In the present embodiment, the infrared camera 202 is used to identify the position and orientation of the HMD 102 in the real space, but the present invention is not limited to this as long as the position and orientation of the HMD 102 in the real space can be identified. For example, a magnetic sensor may be used, or an image captured by the HMD 102 may be analyzed to specify the position and orientation.

図3は、クライアント装置101とHMD102の各ハードウェア構成の一例を示す図である。   FIG. 3 is a diagram illustrating an example of each hardware configuration of the client apparatus 101 and the HMD 102.

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

また、ROM302あるいは外部メモリ311には、CPU301の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムが記憶されている。更には、各種装置の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM303は、CPU301の主メモリ、ワークエリア等として機能する。   Further, the ROM 302 or the external memory 311 stores a basic input / output system (BIOS) that is a control program of the CPU 301 and an operating system. Furthermore, various programs to be described later necessary for realizing the functions executed by various apparatuses are stored. A RAM 303 functions as a main memory, work area, and the like for the CPU 301.

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

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

クライアント装置101のビデオコントローラ(VC)306は、HMD102が備える右目・左目ディスプレイ322やディスプレイ312等の表示器への表示を制御する。右目・左目ディスプレイ322に対しては、例えば外部出力端子(例えば、Digital Visual Interface)を用いて出力される。また、右目・左目ディスプレイ322は、右目用のディスプレイと左目用のディスプレイとから構成されている。また、ディスプレイ312は、液晶ディスプレイ等であり、右目・左目ディスプレイ322と同様の表示、または仮想空間を操作するためのGUI(Graphical User Interface)が表示される。   A video controller (VC) 306 of the client apparatus 101 controls display on a display device such as a right-eye / left-eye display 322 or a display 312 provided in the HMD 102. For example, an external output terminal (for example, Digital Visual Interface) is used for output to the right eye / left eye display 322. The right-eye / left-eye display 322 includes a right-eye display and a left-eye display. The display 312 is a liquid crystal display or the like, and displays the same display as the right-eye / left-eye display 322 or a GUI (Graphical User Interface) for operating the virtual space.

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

通信I/Fコントローラ(通信I/FC)308は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。特に、クライアント装置101の通信I/Fコントローラ308は、赤外線カメラ202との通信も制御する。   A communication I / F controller (communication I / FC) 308 is connected to 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. In particular, the communication I / F controller 308 of the client apparatus 101 also controls communication with the infrared camera 202.

クライアント装置101の汎用バス309は、クライアント装置101に接続されるHMD102の右目・左目ビデオカメラ321で撮影した画像を取り込むために使用される。右目・左目ビデオカメラ321からは、外部入力端子(例えば、IEEE1394端子)を用いて入力される。また、右目・左目ビデオカメラ321は、右目用のビデオカメラと左目用のビデオカメラとから構成されている。   The general-purpose bus 309 of the client apparatus 101 is used for capturing images captured by the right-eye / left-eye video camera 321 of the HMD 102 connected to the client apparatus 101. Input from the right-eye / left-eye video camera 321 is performed using an external input terminal (for example, an IEEE 1394 terminal). The right-eye / left-eye video camera 321 includes a right-eye video camera and a left-eye video camera.

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

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

図4は、サーバ装置103のハードウェア構成を示す図である。尚、図4に示すハードウェア構成はあくまで一例である。   FIG. 4 is a diagram illustrating a hardware configuration of the server apparatus 103. Note that the hardware configuration shown in FIG. 4 is merely an example.

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

また、ROM402あるいは外部メモリ411には、CPU401の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラムが記憶されている。また外部メモリ411には、サーバ装置103が実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM403は、CPU401の主メモリ、ワークエリア等として機能する。   In addition, the ROM 402 or the external memory 411 stores a BIOS (Basic Input / Output System) that is a control program of the CPU 401 and an operating system program. The external memory 411 stores various programs necessary for realizing the functions executed by the server apparatus 103. The RAM 403 functions as a main memory, work area, and the like for the CPU 401.

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

また、入力コントローラ405は、キーボードやマウス等のポインティングデバイスといった入力デバイス409からの入力を制御する。   The input controller 405 controls input from an input device 409 such as a keyboard or a pointing device such as a mouse.

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

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

通信I/Fコントローラ408は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。   The communication I / F controller 408 connects and communicates with an external device via a network, and executes communication control processing on the network. For example, Internet communication using TCP / IP is possible.

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

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

図5は、クライアント装置101とサーバ装置103の機能構成を示す機能構成図である。尚、図5のクライアント装置101とサーバ装置103の機能構成は一例であり、用途や目的に応じて様々な構成例がある。   FIG. 5 is a functional configuration diagram illustrating functional configurations of the client device 101 and the server device 103. Note that the functional configurations of the client device 101 and the server device 103 in FIG. 5 are merely examples, and there are various configuration examples depending on applications and purposes.

クライアント装置101は機能部として、通信制御部501と、位置姿勢取得部502と、位置姿勢特定部503と、現実空間画像取得部504と、仮想空間生成部505と、仮想空間画像取得部506と、複合現実画像生成部507とを備える。また、表示制御部508と、記憶部509と、オブジェクト制御部510と、視点制御部511と、スケール設定部512とを備える。   The client device 101 includes, as function units, a communication control unit 501, a position / orientation acquisition unit 502, a position / orientation identification unit 503, a real space image acquisition unit 504, a virtual space generation unit 505, and a virtual space image acquisition unit 506. A mixed reality image generation unit 507. In addition, a display control unit 508, a storage unit 509, an object control unit 510, a viewpoint control unit 511, and a scale setting unit 512 are provided.

通信制御部501は、クライアント装置101と通信可能なHMD102と赤外線カメラ202との各種情報の送受信を行う機能部である。通信制御部501は、前述したビデオコントローラ306、通信I/Fコントローラ308、汎用バス309等を通じてこれらの装置と情報の送受信を行う。また、通信制御部501は、他のクライアント装置101とサーバ装置103との各種情報の送受信も行う。   The communication control unit 501 is a functional unit that transmits and receives various types of information between the HMD 102 and the infrared camera 202 that can communicate with the client apparatus 101. The communication control unit 501 transmits / receives information to / from these apparatuses through the video controller 306, the communication I / F controller 308, the general-purpose bus 309, and the like described above. The communication control unit 501 also transmits and receives various types of information between the other client apparatuses 101 and the server apparatus 103.

位置姿勢取得部502は、オプティカルマーカ201を備える装置の現実空間における位置及び姿勢(向き)を示す情報を赤外線カメラ202から取得する機能部である。本実施形態では、HMD102がオプティカルマーカ201を備えているため、位置姿勢取得部502は赤外線カメラ202が解析した、現実空間におけるHMD102の位置及び姿勢(HMD102を装着しているユーザの位置及び姿勢。以下同じ。)を示す情報を取得する。また、位置姿勢取得部502は、現実空間画像取得部504で右目・左目ビデオカメラ321から取得した右目用の現実空間画像と左目用の現実空間画像とを用いて、三角測量等の方法により、現実空間の物体の位置及び姿勢を特定することもできる。   The position / orientation acquisition unit 502 is a functional unit that acquires information indicating the position and orientation (orientation) in the real space of the device including the optical marker 201 from the infrared camera 202. In this embodiment, since the HMD 102 includes the optical marker 201, the position and orientation acquisition unit 502 analyzes the position and orientation of the HMD 102 in the real space analyzed by the infrared camera 202 (the position and orientation of the user wearing the HMD 102). The same shall apply hereinafter). Further, the position / orientation acquisition unit 502 uses the real space image for the right eye and the real space image for the left eye acquired from the right eye / left eye video camera 321 by the real space image acquisition unit 504, by a method such as triangulation, etc. It is also possible to specify the position and orientation of an object in the real space.

位置姿勢特定部503は、位置姿勢取得部502で取得した、現実空間におけるHMD102の位置及び姿勢(向き)に対応する仮想空間上の位置及び姿勢(向き)を特定する機能部である。現実空間の座標系(赤外線カメラ202の座標系)と仮想空間の座標系とはあらかじめキャリブレーションがなされており、現実空間と仮想空間とが対応付けられている。つまり、この対応付けに基づいて現実空間におけるHMD102の位置及び姿勢に対応する仮想空間上の位置及び姿勢を特定する。   The position / orientation specifying unit 503 is a functional unit that specifies the position and orientation (orientation) in the virtual space corresponding to the position and orientation (orientation) of the HMD 102 in the real space acquired by the position and orientation acquiring unit 502. The real space coordinate system (the coordinate system of the infrared camera 202) and the virtual space coordinate system are calibrated in advance, and the real space and the virtual space are associated with each other. That is, the position and orientation in the virtual space corresponding to the position and orientation of the HMD 102 in the real space are specified based on this association.

現実空間画像取得部504は、HMD102の右目・左目ビデオカメラ321で撮影された現実空間画像を取得する機能部である。   The real space image acquisition unit 504 is a functional unit that acquires a real space image captured by the right-eye / left-eye video camera 321 of the HMD 102.

仮想空間生成部505は、クライアント装置101の外部メモリ311に記憶されている情報に基づいて仮想空間を生成する機能部である。仮想空間はクライアント装置101の内部に生成される仮想的な空間であるので、その空間の形や大きさに関する情報が外部メモリ311に記憶されており、これに基づいて仮想空間を生成する。仮想空間には三次元モデルからなるオブジェクトを配置可能である。オブジェクトはオブジェクト制御部510によって配置される。   The virtual space generation unit 505 is a functional unit that generates a virtual space based on information stored in the external memory 311 of the client device 101. Since the virtual space is a virtual space generated inside the client apparatus 101, information related to the shape and size of the space is stored in the external memory 311, and the virtual space is generated based on the information. An object composed of a three-dimensional model can be arranged in the virtual space. Objects are arranged by the object control unit 510.

仮想空間画像取得部506は、仮想空間生成部505で生成した仮想空間の画像を取得する機能部である。仮想空間画像取得部506が仮想空間の画像を取得する場合には、位置姿勢特定部503で特定した仮想空間におけるHMD102の位置及び姿勢に基づいて視点制御部511が仮想空間上の視点を設定する。そして、当該視点から見た場合の仮想空間画像を生成し、これを取得する。この視点に仮想的なカメラを設置し、仮想空間を撮像するようにすればよい。すなわちレンダリングする。   The virtual space image acquisition unit 506 is a functional unit that acquires an image of the virtual space generated by the virtual space generation unit 505. When the virtual space image acquisition unit 506 acquires a virtual space image, the viewpoint control unit 511 sets the viewpoint in the virtual space based on the position and orientation of the HMD 102 in the virtual space specified by the position / orientation specifying unit 503. . And the virtual space image at the time of seeing from the said viewpoint is produced | generated, and this is acquired. A virtual camera may be installed at this viewpoint to image the virtual space. That is, it renders.

複合現実画像生成部507は、現実空間画像取得部504で取得した現実空間画像に仮想空間画像取得部506で取得した仮想空間画像を重畳することにより、複合現実画像を生成する機能部である。   The mixed reality image generation unit 507 is a functional unit that generates a mixed reality image by superimposing the virtual space image acquired by the virtual space image acquisition unit 506 on the real space image acquired by the real space image acquisition unit 504.

表示制御部508は、クライアント装置101に接続されたHMD102の右目・左目ディスプレイ322やクライアント装置101に接続されたディスプレイ312における各種情報の表示制御を行う機能部である。特に、複合現実画像生成部507で生成された複合現実画像をHMD102の右目・左目ディスプレイ322に表示させる機能を有する。   The display control unit 508 is a functional unit that performs display control of various types of information on the right-eye / left-eye display 322 of the HMD 102 connected to the client apparatus 101 and the display 312 connected to the client apparatus 101. In particular, it has a function of displaying the mixed reality image generated by the mixed reality image generation unit 507 on the right-eye / left-eye display 322 of the HMD 102.

記憶部509は、後述する各種テーブルの情報や仮想空間を生成するための情報、オブジェクト等の情報を記憶するための機能部である。必要に応じて、情報の追加・更新・削除を行う。本実施形態においては、共通の仮想空間やオブジェクトが各クライアント装置101の記憶部509で記憶されるものとして説明を行う。   The storage unit 509 is a functional unit for storing information on various tables to be described later, information for generating a virtual space, information on objects, and the like. Add, update, and delete information as necessary. In the present embodiment, description will be made assuming that a common virtual space or object is stored in the storage unit 509 of each client apparatus 101.

オブジェクト制御部510は、三次元モデルからなるオブジェクトを仮想空間に配置するための機能部である。仮想空間が生成された場合には、あらかじめ定義された位置及び姿勢でオブジェクトを配置する。必要に応じて、配置されたオブジェクトを異なる位置及び姿勢で再配置する。   The object control unit 510 is a functional unit for arranging an object composed of a three-dimensional model in a virtual space. When the virtual space is generated, the object is arranged at a predefined position and posture. If necessary, rearrange the arranged objects at different positions and postures.

視点制御部511は、現実空間に存在するユーザの位置及び姿勢に基づいて、仮想空間に当該ユーザの視点を設定するための機能部である。現実空間に存在するユーザの位置及び姿勢は、すなわちHMD102の位置及び姿勢である。そのため、HMD102が備えるオプティカルマーカ201の位置及び姿勢を位置姿勢取得部502が取得し、位置姿勢特定部503によって仮想空間における位置及び姿勢を特定し、その特定した位置及び姿勢に基づいてユーザの視点を仮想空間に設定する。また、視点制御部511は、仮想空間における視点の高さを変更したり、視点を移動したりすることも可能である。   The viewpoint control unit 511 is a functional unit for setting the user's viewpoint in the virtual space based on the position and orientation of the user existing in the real space. The position and posture of the user existing in the real space, that is, the position and posture of the HMD 102. Therefore, the position and orientation acquisition unit 502 acquires the position and orientation of the optical marker 201 included in the HMD 102, specifies the position and orientation in the virtual space by the position and orientation identification unit 503, and the user's viewpoint based on the identified position and orientation To the virtual space. In addition, the viewpoint control unit 511 can change the height of the viewpoint in the virtual space or move the viewpoint.

スケール設定部512は、仮想空間に設定される視点の高さや視点の移動量を変更するためのスケール情報をユーザごとに設定するための機能部である。スケール設定部512は、ユーザごとに受け付けたスケール情報を、当該ユーザと対応づけて管理する。スケール情報は、ユーザから指定されたパラメータであり、具体的には倍率を示す。例えば、スケール情報が“2”である場合には2倍を示すので、仮想空間に設定される視点の高さを通常の2倍の高さに設定することになる。   The scale setting unit 512 is a functional unit for setting, for each user, scale information for changing the viewpoint height and viewpoint movement amount set in the virtual space. The scale setting unit 512 manages the scale information received for each user in association with the user. The scale information is a parameter designated by the user, and specifically indicates a magnification. For example, when the scale information is “2”, it indicates twice, so the viewpoint height set in the virtual space is set to twice the normal height.

次にサーバ装置103は機能部として、通信制御部531と、記憶部532とを備える。   Next, the server apparatus 103 includes a communication control unit 531 and a storage unit 532 as functional units.

通信制御部531は、サーバ装置103と通信可能なクライアント装置101と各種情報の送受信を行う機能部である。通信制御部531は、前述した通信I/Fコントローラ308を通じてクライアント装置101と情報の送受信を行う。   The communication control unit 531 is a functional unit that transmits and receives various types of information to and from the client device 101 that can communicate with the server device 103. The communication control unit 531 transmits and receives information to and from the client apparatus 101 through the communication I / F controller 308 described above.

記憶部532は、後述する各種テーブル等の情報を記憶するための機能部である。必要に応じて、情報の追加・更新・削除を行う。   The storage unit 532 is a functional unit for storing information such as various tables described later. Add, update, and delete information as necessary.

次に、クライアント装置101−1から仮想空間を配信し、各クライアント装置101で仮想空間を設定する処理の流れについて、図6に示すフローチャートを用いて説明する。   Next, the flow of processing for distributing the virtual space from the client device 101-1 and setting the virtual space in each client device 101 will be described using the flowchart shown in FIG. 6.

ステップS601では、クライアント装置101−1のCPU301は、記憶部509の機能によりクライアント装置101−1の外部メモリ311に記憶された仮想空間情報を取得する。仮想空間情報とは、仮想空間を生成するための各種情報のことである。具体的には、仮想空間の形やその大きさ、また配置するオブジェクトやその配置場所といった、仮想空間を形作るために必要な情報である。この仮想空間情報は、クライアント装置101にインストールされている専用のCADアプリケーションで作成することが可能である。しかしながら、すべてのクライアント装置101にこの専用のアプリケーションがインストールされているとは限らない。そこで、後述するステップS602において、生成した仮想空間情報を他のクライアント装置101に配布、すなわち送信する。   In step S <b> 601, the CPU 301 of the client apparatus 101-1 acquires virtual space information stored in the external memory 311 of the client apparatus 101-1 by using the function of the storage unit 509. The virtual space information is various pieces of information for generating a virtual space. Specifically, it is information necessary for forming the virtual space, such as the shape and size of the virtual space, the object to be arranged, and the arrangement location thereof. This virtual space information can be created by a dedicated CAD application installed in the client apparatus 101. However, this dedicated application is not necessarily installed on all client apparatuses 101. Therefore, in step S602 to be described later, the generated virtual space information is distributed, that is, transmitted to other client apparatuses 101.

ステップS602では、クライアント装置101−1のCPU301は、通信制御部501の機能により、ステップS601で取得した仮想空間情報をサーバ装置103に送信する。   In step S <b> 602, the CPU 301 of the client apparatus 101-1 transmits the virtual space information acquired in step S <b> 601 to the server apparatus 103 by the function of the communication control unit 501.

ステップS603では、クライアント装置101−1のCPU301は、仮想空間生成部505の機能により、ステップS601で取得した仮想空間情報を用いて、仮想空間を生成する。生成される仮想空間は、仮想空間情報が示す形や大きさの仮想空間であり、更には仮想空間情報が示すオブジェクトが仮想空間上に配置される。クライアント装置101−1には、MR体験をするための専用のビューワアプリケーションがインストールされており、このビューワアプリケーションによって仮想空間が生成される。すなわち、仮想空間情報を作成するためには、CADアプリケーションが必要であり、仮想空間を生成するためには、ビューワアプリケーションが必要となる。   In step S603, the CPU 301 of the client device 101-1 generates a virtual space using the virtual space information acquired in step S601 by the function of the virtual space generation unit 505. The generated virtual space is a virtual space having a shape and size indicated by the virtual space information, and an object indicated by the virtual space information is arranged on the virtual space. A dedicated viewer application for MR experience is installed in the client apparatus 101-1, and a virtual space is generated by the viewer application. That is, a CAD application is required to create virtual space information, and a viewer application is required to generate a virtual space.

ステップS604では、クライアント装置101−1のCPU301は、視点制御部511の機能により、ステップS604で生成された仮想空間上にユーザの視点を設定する。クライアント装置101−1と通信可能なHMD102−1を装着するユーザの視点の高さに基づいて、仮想空間に当該ユーザの視点を設定する。図7は、ステップS604で仮想空間上に視点が設定された場合を示す図である。図7(b)に示すように、現実空間に存在するユーザの視点702(すなわち、HMD102の位置)の座標が、(0,150,0)であった場合、図7(a)に示すように仮想空間上の座標(0,150,0)の位置に、当該ユーザの視点701を設定する。   In step S604, the CPU 301 of the client device 101-1 sets the user's viewpoint on the virtual space generated in step S604 by the function of the viewpoint control unit 511. Based on the height of the viewpoint of the user wearing the HMD 102-1 capable of communicating with the client apparatus 101-1, the viewpoint of the user is set in the virtual space. FIG. 7 is a diagram illustrating a case where the viewpoint is set on the virtual space in step S604. As shown in FIG. 7B, when the coordinates of the user's viewpoint 702 (that is, the position of the HMD 102) existing in the real space are (0, 150, 0), as shown in FIG. The user's viewpoint 701 is set at the position of coordinates (0, 150, 0) in the virtual space.

ステップS605では、クライアント装置101−1のCPU301は、HMD102−1を介してユーザに対して複合現実感を体験させるべく、複合現実感提示処理を実行する。複合現実感提示処理の詳細は、後述する図11に示す。   In step S605, the CPU 301 of the client device 101-1 executes mixed reality presentation processing so that the user can experience mixed reality via the HMD 102-1. Details of the mixed reality presentation process are shown in FIG.

一方、ステップS606では、サーバ装置103のCPU401は、通信制御部531の機能により、ステップS602でクライアント装置101−1から送信された仮想空間情報を受信する。そして、ステップS607では、サーバ装置103のCPU401は、通信制御部531の機能により、ステップS606で受信した仮想空間情報を、サーバ装置103が通信可能なクライアント装置101に送信する。ここで、ステップS606で受信した仮想空間情報の送信元であるクライアント装置101−1には、仮想空間情報を送信する必要がないので、送信しないことが望ましい。   On the other hand, in step S606, the CPU 401 of the server apparatus 103 receives the virtual space information transmitted from the client apparatus 101-1 in step S602 by the function of the communication control unit 531. In step S <b> 607, the CPU 401 of the server apparatus 103 transmits the virtual space information received in step S <b> 606 to the client apparatus 101 with which the server apparatus 103 can communicate using the function of the communication control unit 531. Here, since it is not necessary to transmit the virtual space information to the client apparatus 101-1 that is the transmission source of the virtual space information received in step S <b> 606, it is desirable not to transmit it.

ステップS608では、クライアント装置101−2のCPU301は、通信制御部501の機能により、ステップS607でサーバ装置103から送信された仮想空間情報を受信する。そして、受信した仮想空間情報をクライアント装置101−2の外部メモリ311に記憶する。   In step S608, the CPU 301 of the client apparatus 101-2 receives the virtual space information transmitted from the server apparatus 103 in step S607 by the function of the communication control unit 501. The received virtual space information is stored in the external memory 311 of the client device 101-2.

ステップS609では、クライアント装置101−2のCPU301は、仮想空間生成部505の機能により、ステップS608で受信した仮想空間情報を用いて、仮想空間を生成する。仮想空間の生成については、ステップS603と同様である。これにより、いずれのクライアント装置101においても、同じ仮想空間が生成されることになる。また、クライアント装置101にCADアプリケーションがインストールされていないと自身で仮想空間情報を作成・編集することはできないが、他のクライアント装置101から仮想空間情報を受信することでCADアプリケーションが不要となる。ただし、CADアプリケーションがインストールされていなければ、仮想空間の大きさや形、オブジェクトの配置位置を変更することはできない。すなわち、クライアント装置101ごとに異なる大きさや形の仮想空間とすることはできない。   In step S609, the CPU 301 of the client device 101-2 generates a virtual space using the virtual space information received in step S608 by the function of the virtual space generation unit 505. The generation of the virtual space is the same as that in step S603. As a result, the same virtual space is generated in any client apparatus 101. Further, if the CAD application is not installed in the client apparatus 101, the virtual space information cannot be created / edited by itself, but the CAD application becomes unnecessary by receiving the virtual space information from another client apparatus 101. However, if the CAD application is not installed, the size and shape of the virtual space and the arrangement position of the objects cannot be changed. That is, the virtual space cannot have a different size or shape for each client device 101.

ステップS610では、クライアント装置101−2のCPU301は、視点制御部511の機能により、ステップS609で生成された仮想空間上にユーザの視点を設定する。視点の設定についてもステップS604と同様である。   In step S610, the CPU 301 of the client device 101-2 sets the user's viewpoint on the virtual space generated in step S609 by the function of the viewpoint control unit 511. The setting of the viewpoint is the same as in step S604.

ステップS611では、クライアント装置101−2のCPU301は、HMD102−2を介してユーザに対して複合現実感を体験させるべく、複合現実感提示処理を実行する。複合現実感提示処理の詳細は、後述する図11に示す。   In step S611, the CPU 301 of the client device 101-2 executes mixed reality presentation processing so that the user can experience mixed reality via the HMD 102-2. Details of the mixed reality presentation process are shown in FIG.

このように、あるクライアント装置101から他のクライアント装置101に仮想空間情報を配信することで、いずれのクライアント装置101においても同じ仮想空間を生成することが可能となる。また、各クライアント装置101は、生成した共通の仮想空間を用いて各ユーザに複合現実感を体験させることが可能となる。   Thus, by distributing virtual space information from one client device 101 to another client device 101, the same virtual space can be generated in any client device 101. Further, each client device 101 can cause each user to experience mixed reality using the generated common virtual space.

次に、ユーザごとにスケールを設定する処理の流れについて、図8に示すフローチャートを用いて説明する。   Next, the flow of processing for setting a scale for each user will be described with reference to the flowchart shown in FIG.

図8に示す一連の処理は、図6に示す一連の処理とは別のプロセスとして実行されるものである。そのため、どのようなタイミングで実行されてもよい。つまり、後述する図11の複合現実感提示処理を行っている間であっても、リアルタイムに任意の倍率にスケール情報を変更することが可能である。   The series of processes shown in FIG. 8 is executed as a process different from the series of processes shown in FIG. Therefore, it may be executed at any timing. That is, the scale information can be changed to an arbitrary magnification in real time even during the mixed reality presentation process of FIG. 11 described later.

ステップS801では、クライアント装置101のCPU301は、表示制御部508の機能により、図9に示すようなスケール設定画面900をディスプレイ312に表示する。そして、スケール設定画面900が備える入力フォームやボタンに対する入力を受け付ける。   In step S <b> 801, the CPU 301 of the client apparatus 101 displays a scale setting screen 900 as shown in FIG. 9 on the display 312 by the function of the display control unit 508. And the input with respect to the input form and button with which the scale setting screen 900 is provided is received.

スケール設定画面900は、スケール情報を設定するための画面である。スケール設定画面900は、スケール情報を入力するための入力フォーム901と、入力フォームに入力されたスケール情報を保存するための設定ボタン902等を備える。入力フォーム901には、スケール情報、すなわち倍率を入力するための入力フォームと、変更後の視点の高さを入力するための入力フォームとを備える。ユーザはラジオボタンによって、これらのいずれかを選択し、パラメータを入力する。   The scale setting screen 900 is a screen for setting scale information. The scale setting screen 900 includes an input form 901 for inputting scale information, a setting button 902 for saving scale information input to the input form, and the like. The input form 901 includes an input form for inputting scale information, that is, a magnification, and an input form for inputting the height of the changed viewpoint. The user selects one of these by a radio button and inputs a parameter.

入力フォーム901にパラメータが入力された状態で設定ボタン902の押下を検知すると、ステップS802では、クライアント装置101のCPU301は、記憶部509の機能により、入力フォーム901に入力されたパラメータを取得する。そして、取得したパラメータをスケール情報として、ユーザ設定スケール情報1000(図10参照)に格納する。ここで、倍率を入力するための入力フォームに入力された場合には、入力された倍率をそのままユーザ設定スケール情報1000に格納する。一方、変更後の視点の高さを入力するための入力フォームに入力された場合には、仮想空間における現在のユーザの視点の高さと、入力された高さとに基づいて倍率を算出し、算出した倍率をユーザ設定スケール情報1000に格納する。すなわち、「入力された高さ÷現在のユーザの視点の高さ」で算出すればよい。算出方法はこれに限らない。   If it is detected that the setting button 902 is pressed while a parameter is input to the input form 901, in step S802, the CPU 301 of the client apparatus 101 acquires the parameter input to the input form 901 by the function of the storage unit 509. Then, the acquired parameter is stored in the user setting scale information 1000 (see FIG. 10) as scale information. Here, when an input form for inputting a magnification is input, the input magnification is stored in the user setting scale information 1000 as it is. On the other hand, when it is entered in the input form for entering the height of the changed viewpoint, the magnification is calculated based on the current viewpoint height of the user in the virtual space and the input height. The scale factor thus stored is stored in the user setting scale information 1000. That is, it may be calculated by “input height ÷ current user viewpoint height”. The calculation method is not limited to this.

ステップS803では、クライアント装置101のCPU301は、通信制御部501の機能により、ステップS802でユーザ設定スケール情報1000に格納したスケール情報をサーバ装置103に送信する。   In step S803, the CPU 301 of the client apparatus 101 transmits the scale information stored in the user setting scale information 1000 in step S802 to the server apparatus 103 by the function of the communication control unit 501.

ステップS804では、サーバ装置103のCPU401は、通信制御部531の機能により、ステップS803でクライアント装置101から送信されたスケール情報を受信する。そして、ステップS805では、サーバ装置103のCPU401は、記憶部532の機能により、ステップS804で受信したスケール情報を、図10に示すクライアント情報テーブル1020に格納する。   In step S804, the CPU 401 of the server apparatus 103 receives the scale information transmitted from the client apparatus 101 in step S803 by the function of the communication control unit 531. In step S805, the CPU 401 of the server apparatus 103 stores the scale information received in step S804 in the client information table 1020 illustrated in FIG. 10 by the function of the storage unit 532.

クライアント情報テーブル1020は、サーバ装置103の外部メモリ411に記憶されるデータテーブルである。クライアント情報テーブル1020は、クライアントID1021と、接続先情報1022と、スケール情報1023と、仮想空間位置姿勢情報1024とを備える。尚、クライアント情報テーブル1020が備える各項目はあくまで一例であり、これに限らない。   The client information table 1020 is a data table stored in the external memory 411 of the server device 103. The client information table 1020 includes a client ID 1021, connection destination information 1022, scale information 1023, and virtual space position / orientation information 1024. Each item included in the client information table 1020 is merely an example, and the present invention is not limited to this.

クライアントID1021は、クライアント装置101ごとに割り振られる一意な識別情報が格納される項目である。接続先情報1022は、クライアント装置101の接続先を示すIPアドレス等の情報が格納される項目である。スケール情報1023は、クライアント装置101で設定されたスケール情報が格納される項目である。仮想空間位置姿勢情報1024は、クライアント装置101で設定した、仮想空間におけるユーザの位置及び姿勢を示す情報が格納される項目である。   The client ID 1021 is an item in which unique identification information assigned to each client device 101 is stored. The connection destination information 1022 is an item in which information such as an IP address indicating a connection destination of the client apparatus 101 is stored. Scale information 1023 is an item in which scale information set in the client apparatus 101 is stored. The virtual space position / orientation information 1024 is an item in which information indicating the position and orientation of the user in the virtual space set by the client apparatus 101 is stored.

ステップS804では、クライアント情報テーブル1020にスケール情報を格納する際に、新たにレコードを作成し、クライアントID1021を発行する。そして、スケール情報の送信元であるクライアント装置101のIPアドレス等を接続先情報1022に格納し、更に受信したスケール情報をスケール情報1023に格納する。   In step S804, when scale information is stored in the client information table 1020, a new record is created and a client ID 1021 is issued. Then, the IP address or the like of the client apparatus 101 that is the transmission source of the scale information is stored in the connection destination information 1022, and the received scale information is stored in the scale information 1023.

本実施形態では、1台のクライアント装置101につき1台のHMD102が接続されているため、このHMD102を装着するユーザとクライアント装置101とが対応づくことになる。すなわち、クライアント装置101に設定したスケール情報は、クライアント装置101に接続されたHMD102を装着するユーザに対応するスケール情報である。よって、情報処理システムは、ユーザごとにスケール情報の設定を受け付けて、これを保存することになる。そして、サーバ装置103は各ユーザのスケール情報をクライアント情報テーブル1020で管理する。   In the present embodiment, since one HMD 102 is connected to one client device 101, the user wearing the HMD 102 and the client device 101 are associated with each other. That is, the scale information set in the client apparatus 101 is scale information corresponding to the user who wears the HMD 102 connected to the client apparatus 101. Therefore, the information processing system accepts the setting of scale information for each user and saves it. Then, the server apparatus 103 manages scale information of each user in the client information table 1020.

次に、複合現実感提示処理の詳細について、図11に示すフローチャートを用いて説明する。   Next, details of the mixed reality presentation process will be described with reference to the flowchart shown in FIG.

ステップS1101では、クライアント装置101のCPU301は、現実空間画像取得部504の機能により、HMD102の右目・左目ビデオカメラ321から現実空間画像を取得し、これをRAM303に記憶する。   In step S <b> 1101, the CPU 301 of the client apparatus 101 acquires a real space image from the right eye / left eye video camera 321 of the HMD 102 by the function of the real space image acquisition unit 504, and stores this in the RAM 303.

ステップS1102では、クライアント装置101のCPU301は、位置姿勢取得部502の機能により、クライアント装置101と通信可能なHMD102の現実空間における位置及び姿勢を示す情報を取得し、RAM303に記憶する。前述した通り、HMD102が備えるオプティカルマーカ201を赤外線カメラ202が検知することで特定した位置及び姿勢を示す情報を、赤外線カメラ202から取得する。そして、図10に示す設定情報テーブル1010の現在位置姿勢情報1012に格納する。すでに現在位置姿勢情報1012が格納されている場合には、格納されている位置及び姿勢を示す情報を前位置姿勢情報1013にコピーし、新たに取得した位置及び姿勢を示す情報を現在位置姿勢情報1012に上書きする。また、仮想空間位置姿勢情報1014に格納されている姿勢の情報を、取得した現実空間における姿勢の情報で上書きする。   In step S <b> 1102, the CPU 301 of the client apparatus 101 acquires information indicating the position and attitude in the real space of the HMD 102 that can communicate with the client apparatus 101 by the function of the position / orientation acquisition unit 502 and stores the information in the RAM 303. As described above, information indicating the position and orientation specified by the infrared camera 202 detecting the optical marker 201 included in the HMD 102 is acquired from the infrared camera 202. Then, it is stored in the current position / orientation information 1012 of the setting information table 1010 shown in FIG. When the current position and orientation information 1012 is already stored, the information indicating the stored position and orientation is copied to the previous position and orientation information 1013, and the information indicating the newly acquired position and orientation is the current position and orientation information. 1012 is overwritten. In addition, the posture information stored in the virtual space position and posture information 1014 is overwritten with the acquired posture information in the real space.

例えば、1フレーム前は図7(b)の視点702の位置であり、現在のフレームは図12の視点1201の位置である場合には、前位置姿勢情報1013に座標(0,150,0)、現在位置姿勢情報1012に座標(100,150,0)が格納される。尚、ここでいうフレームとは、HMD102に表示する映像のコマのことである。   For example, if the previous frame is the position of the viewpoint 702 in FIG. 7B and the current frame is the position of the viewpoint 1201 in FIG. 12, coordinates (0, 150, 0) are included in the previous position and orientation information 1013. The coordinates (100, 150, 0) are stored in the current position / orientation information 1012. The term “frame” used herein refers to a frame of video displayed on the HMD 102.

設定情報テーブル1010は、クライアント装置101の外部メモリ311に記憶されるデータテーブルである。設定情報テーブル1010は、スケール情報1011と、現在位置姿勢情報1012と、前位置姿勢情報1013と、仮想空間位置姿勢情報1014とを備える。   The setting information table 1010 is a data table stored in the external memory 311 of the client device 101. The setting information table 1010 includes scale information 1011, current position and orientation information 1012, previous position and orientation information 1013, and virtual space position and orientation information 1014.

スケール情報1011は、仮想空間をユーザが閲覧する際のスケール感を示す倍率が格納される項目である。現在位置姿勢情報1012は、現在のフレームにおけるユーザの位置及び姿勢を示す情報が格納される項目である。前位置姿勢情報1013は、1つ前のフレームにおけるユーザの位置及び姿勢を示す情報が格納される項目である。仮想空間位置姿勢情報1014は、仮想空間におけるユーザの位置及び姿勢を示す情報が格納される項目である。仮想空間位置姿勢情報1014には初期値として、前述したステップS604及びステップS610で設定された位置及び姿勢を示す情報が格納される。   The scale information 1011 is an item in which a magnification indicating a feeling of scale when the user browses the virtual space is stored. The current position / orientation information 1012 is an item in which information indicating the position and orientation of the user in the current frame is stored. The previous position / posture information 1013 is an item in which information indicating the position and posture of the user in the previous frame is stored. The virtual space position and orientation information 1014 is an item in which information indicating the position and orientation of the user in the virtual space is stored. The virtual space position / orientation information 1014 stores information indicating the position and orientation set in steps S604 and S610 described above as initial values.

ステップS1103では、クライアント装置101のCPU301は、位置姿勢特定部503の機能により、現実空間におけるHMD102の移動量を算出する。より具体的には、1フレーム前の時点で取得したHMD102の現実空間における位置(前位置姿勢情報1013)と、現時点で取得したHMD102の位置(現在位置姿勢情報1012)とを用いて、どのくらい移動したのかを算出する。例えば、1フレーム前の時点は図7(b)の視点702の位置(座標(0,150,0))で、現時点では図12に示す視点1201の位置(座標(100,150,0))だった場合、X軸方向に100cm移動していることがわかる。よって、この100cmを現実空間におけるHMD102の移動量とする。二点間の距離は例えば、三平方の定理等によって算出してもよい。算出方法は特に問わない。   In step S <b> 1103, the CPU 301 of the client apparatus 101 calculates the amount of movement of the HMD 102 in the real space by the function of the position / orientation specifying unit 503. More specifically, by using the position of the HMD 102 obtained in the previous space in the real space (previous position and orientation information 1013) and the position of the HMD 102 acquired at the current time (current position and orientation information 1012), the amount of movement Calculate whether it was done. For example, the time point one frame before is the position of the viewpoint 702 in FIG. 7B (coordinates (0, 150, 0)), and at the present time the position of the viewpoint 1201 shown in FIG. 12 (coordinates (100, 150, 0)). If so, it can be seen that it has moved 100 cm in the X-axis direction. Therefore, this 100 cm is set as the movement amount of the HMD 102 in the real space. The distance between the two points may be calculated by, for example, the three-square theorem. The calculation method is not particularly limited.

ステップS1104では、クライアント装置101のCPU301は、ユーザごとにスケール設定を行うべく、スケール設定処理を実行する。スケール設定処理の詳細は、後述する図16に示す。スケール設定処理を実行することで、設定情報テーブル1010のスケール情報1011に倍率が格納される。   In step S1104, the CPU 301 of the client apparatus 101 executes scale setting processing so as to perform scale setting for each user. Details of the scale setting process are shown in FIG. By executing the scale setting process, the magnification is stored in the scale information 1011 of the setting information table 1010.

ステップS1105では、クライアント装置101のCPU301は、視点制御部511の機能により、仮想空間に設定されたユーザの視点の高さを、ステップS1104で設定した当該ユーザに対応するスケール情報に応じて変更する(視点設定手段)。そして、変更後の視点の位置を示す情報で、1フレーム前の情報が格納されている仮想空間位置姿勢情報1014の位置を示す情報を上書きする。より具体的には、図7(a)に示すように、仮想空間におけるユーザの視点1201が座標(0,150,0)だった場合、垂直座標に対してスケール情報の値を乗算する。すなわち、本実施形態における垂直座標はY座標であるので、Y座標である“150”に例えば当該ユーザに対応するスケール情報1011の値である“10”を乗算する。その結果、図13に示すように、ユーザの視点1301は座標(0,1500,0)となる。   In step S1105, the CPU 301 of the client apparatus 101 changes the height of the user's viewpoint set in the virtual space according to the scale information corresponding to the user set in step S1104 by the function of the viewpoint control unit 511. (Viewpoint setting means). Then, the information indicating the position of the viewpoint after the change is overwritten with the information indicating the position of the virtual space position and orientation information 1014 in which the information of the previous frame is stored. More specifically, as shown in FIG. 7A, when the user's viewpoint 1201 in the virtual space is the coordinate (0, 150, 0), the vertical coordinate is multiplied by the value of the scale information. That is, since the vertical coordinate in the present embodiment is the Y coordinate, “150” that is the Y coordinate is multiplied by “10” that is the value of the scale information 1011 corresponding to the user, for example. As a result, as shown in FIG. 13, the user's viewpoint 1301 has coordinates (0, 1500, 0).

ステップS1106では、クライアント装置101のCPU301は、視点制御部511の機能により、ステップS1103で算出した移動量とステップS1104で設定した当該ユーザに対応するスケール情報とを用いて、仮想空間上の視点の移動量を算出する。すなわち、ステップS1103で算出した移動量にスケール情報1011の値を乗算することで、仮想空間上の視点の移動量を算出(取得)する(移動量取得手段)。   In step S1106, the CPU 301 of the client apparatus 101 uses the function of the viewpoint control unit 511 to calculate the viewpoint in the virtual space using the movement amount calculated in step S1103 and the scale information corresponding to the user set in step S1104. The amount of movement is calculated. That is, the movement amount of the viewpoint in the virtual space is calculated (acquired) by multiplying the movement amount calculated in step S1103 by the value of the scale information 1011 (movement amount acquisition means).

ステップS1107では、クライアント装置101のCPU301は、視点制御部511の機能により、ステップS1106で算出した移動量を用いて、仮想空間上のユーザの視点を移動する(視点移動手段)。すなわち、視点の高さを変更した後の仮想空間上のユーザの視点の位置を示す情報は仮想空間位置姿勢情報1014に格納されているので、この位置に算出した移動量を加算する。例えば、図13に示すように、高さを変更した後のユーザの視点1301の座標は、(0,1500,0)である。これに、ステップS1103で算出した移動量(X軸方向に100cm)にスケール情報1011(例えば、“10”)を乗算して、1フレーム前の仮想空間における視点の位置に加算する。つまり、現実空間ではX軸方向に100cmしか移動していないが、仮想空間ではその10倍の1000cm移動することになる。よって、図14の視点1401に示すように、この視点1401の座標は、(1000,1500,0)となる。このようにして、スケールに応じた高さと移動量で仮想空間におけるユーザの視点を移動させる。これをクライアント装置101ごとに実行することで、ユーザごとに設定されたスケール情報に応じた視点の高さに変更でき、更には当該スケール情報に応じた移動量で仮想空間を移動することが可能となる。   In step S1107, the CPU 301 of the client apparatus 101 moves the viewpoint of the user in the virtual space using the movement amount calculated in step S1106 by the function of the viewpoint control unit 511 (viewpoint moving unit). That is, since the information indicating the position of the viewpoint of the user in the virtual space after changing the height of the viewpoint is stored in the virtual space position / orientation information 1014, the calculated movement amount is added to this position. For example, as shown in FIG. 13, the coordinates of the user's viewpoint 1301 after changing the height are (0, 1500, 0). This is multiplied by scale information 1011 (for example, “10”) by the movement amount calculated in step S1103 (100 cm in the X-axis direction) and added to the viewpoint position in the virtual space one frame before. That is, only 100 cm is moved in the X-axis direction in the real space, but it is moved 1000 cm, which is ten times that in the virtual space. Therefore, as shown in the viewpoint 1401 of FIG. 14, the coordinates of the viewpoint 1401 are (1000, 1500, 0). In this way, the user's viewpoint in the virtual space is moved with a height and movement amount corresponding to the scale. By executing this for each client device 101, the height of the viewpoint can be changed according to the scale information set for each user, and the virtual space can be moved by the movement amount corresponding to the scale information. It becomes.

そして、あくまでスケール情報を用いるのは仮想空間におけるユーザの視点の位置に対する変更だけであり、その視点の向き(姿勢)に対してはスケール情報を適用しない。例えば、ユーザの頭が右に90度回転した場合に、この回転角度にスケール情報が示す値を乗算してしまうと、意図しない方向を向いてしまうことになる。これを防ぐために、現実空間においてユーザの視点の向きが移動した場合であっても、この移動量にはスケール情報を乗算しない。   The scale information is only used to change the position of the user's viewpoint in the virtual space, and the scale information is not applied to the direction (posture) of the viewpoint. For example, when the user's head is rotated 90 degrees to the right, if this rotation angle is multiplied by the value indicated by the scale information, the user will turn in an unintended direction. In order to prevent this, even if the orientation of the user's viewpoint moves in the real space, this movement amount is not multiplied by the scale information.

ステップS1108では、クライアント装置101のCPU301は、通信制御部501の機能により、クライアント装置101に記憶された仮想空間位置姿勢情報1014とスケール情報1011とをサーバ装置103に送信する。送信する仮想空間位置姿勢情報1014は、ステップS1105で視点の高さが変更され、ステップS1107で視点が移動されたものである。また、送信するスケール情報1011は、ステップS1104で設定されたものである。   In step S <b> 1108, the CPU 301 of the client apparatus 101 transmits the virtual space position / orientation information 1014 and the scale information 1011 stored in the client apparatus 101 to the server apparatus 103 by the function of the communication control unit 501. The transmitted virtual space position / orientation information 1014 is obtained by changing the viewpoint height in step S1105 and moving the viewpoint in step S1107. The scale information 1011 to be transmitted is set in step S1104.

ステップS1109では、サーバ装置103のCPU401は、通信制御部531の機能により、クライアント装置101から送信された仮想空間位置姿勢情報1014とスケール情報1011とを受信する。受信した仮想空間位置姿勢情報1014とスケール情報1011とは、クライアント情報テーブル1020の仮想空間位置姿勢情報1024とスケール情報1023とにそれぞれ上書きする。ここで更新するレコードは、各情報の送信元であるクライアント装置101に対応するレコードである。   In step S <b> 1109, the CPU 401 of the server apparatus 103 receives the virtual space position / orientation information 1014 and the scale information 1011 transmitted from the client apparatus 101 by the function of the communication control unit 531. The received virtual space position / orientation information 1014 and scale information 1011 overwrite the virtual space position / orientation information 1024 and scale information 1023 of the client information table 1020, respectively. The record to be updated here is a record corresponding to the client apparatus 101 that is the transmission source of each information.

ステップS1110では、サーバ装置103のCPU401は、通信制御部531の機能により、クライアント情報テーブル1020の各レコード(以下、クライアント情報という。)を、送信元のクライアント装置101に対して送信する。   In step S <b> 1110, the CPU 401 of the server apparatus 103 transmits each record (hereinafter referred to as client information) of the client information table 1020 to the transmission source client apparatus 101 using the function of the communication control unit 531.

ステップS1111では、サーバ装置103のCPU301は、通信制御部501の機能により、サーバ装置103から送信されたクライアント情報を受信する。   In step S <b> 1111, the CPU 301 of the server apparatus 103 receives the client information transmitted from the server apparatus 103 by the function of the communication control unit 501.

ステップS1112では、サーバ装置103のCPU301は、オブジェクト制御部510の機能により、他のユーザを示すアバターを仮想空間上に配置する(三次元モデル配置手段)。ステップS1111で受信したクライアント情報には、他のクライアント装置101が管理している仮想空間位置姿勢情報1014とスケール情報1011とが含まれている。これを利用することで、仮想空間上に他のユーザを示す三次元モデルであるアバターを配置する。より具体的には、受信したクライアント情報に含まれる仮想空間位置姿勢情報1024が示す位置及び姿勢で仮想空間上に他のユーザの視点を設定し、その視点が頭の位置となるようアバターを配置する。そしてこのアバターの大きさをスケール情報1023が示す倍率で拡大または縮小する(サイズ変更手段)。このとき頭の位置は固定しておく。また、他のユーザのアバターだけを仮想空間に配置することが望ましい。自分のアバターまでも仮想空間に配置してしまうと、アバターの形状によってはアバターを示す三次元モデルによって視界を遮られる可能性があるためである。   In step S <b> 1112, the CPU 301 of the server apparatus 103 arranges an avatar indicating another user on the virtual space by the function of the object control unit 510 (three-dimensional model arrangement unit). The client information received in step S1111 includes virtual space position / orientation information 1014 and scale information 1011 managed by another client apparatus 101. By using this, an avatar, which is a three-dimensional model indicating another user, is placed on the virtual space. More specifically, the viewpoint of another user is set in the virtual space with the position and orientation indicated by the virtual space position / orientation information 1024 included in the received client information, and the avatar is arranged so that the viewpoint becomes the head position. To do. Then, the size of the avatar is enlarged or reduced at a magnification indicated by the scale information 1023 (size changing means). At this time, the head position is fixed. Moreover, it is desirable to arrange only the avatars of other users in the virtual space. This is because even if one's own avatar is placed in the virtual space, depending on the shape of the avatar, the field of view may be blocked by a three-dimensional model showing the avatar.

このようにすることで、同一の仮想空間を共有している他のユーザがどこにいるのか、更にはそのユーザがどういうスケール感で仮想空間を閲覧しているのかを把握することができるようになる。図15は、アバターを配置した場合の様子を示す。スケール情報が10倍の他のユーザのアバターを仮想空間に配置すると、図15の1501に示すような三次元モデルが仮想空間上に表示される。一方、スケール情報が1倍の他のユーザのアバターを仮想空間に配置すると、図15の1502に示すような三次元モデルが仮想空間上に配置される。このように、アバターの大きさをスケール情報に応じて調整することで、俯瞰的に仮想空間を見ているのか、等身大で仮想空間を見ているのかといった状況を把握することが可能となる。   By doing so, it becomes possible to grasp where other users sharing the same virtual space are located, and what scale the user is browsing the virtual space. . FIG. 15 shows a state where an avatar is arranged. When an avatar of another user whose scale information is 10 times is placed in the virtual space, a three-dimensional model as indicated by 1501 in FIG. 15 is displayed in the virtual space. On the other hand, when an avatar of another user whose scale information is one is arranged in the virtual space, a three-dimensional model as indicated by 1502 in FIG. 15 is arranged in the virtual space. In this way, by adjusting the size of the avatar according to the scale information, it becomes possible to grasp the situation whether the virtual space is seen from a bird's-eye view or whether the virtual space is seen in life size. .

ステップS1113では、クライアント装置101のCPU301は、仮想空間画像取得部506の機能により、仮想空間を撮像することにより仮想空間画像を取得し、これをRAM303等に記憶する。すなわち、仮想空間位置姿勢情報1014が示す視点から見た仮想空間を撮像する(レンダリングする)。これにより仮想空間画像を生成し、これをRAM303等に記憶する。尚、HMD102の右目・左目ディスプレイ322のそれぞれに表示するために右目用の仮想空間画像と左目用の仮想空間画像の2枚を取得する。   In step S <b> 1113, the CPU 301 of the client apparatus 101 acquires a virtual space image by imaging the virtual space using the function of the virtual space image acquisition unit 506, and stores this in the RAM 303 or the like. That is, the virtual space viewed from the viewpoint indicated by the virtual space position and orientation information 1014 is imaged (rendered). As a result, a virtual space image is generated and stored in the RAM 303 or the like. Note that two images, a right-eye virtual space image and a left-eye virtual space image, are acquired for display on each of the right-eye and left-eye displays 322 of the HMD 102.

ステップS1114では、クライアント装置101のCPU301は、複合現実画像生成部507の機能により、ステップS1101で取得した現実空間画像とステップS1113で取得した仮想空間画像とをRAM303等から読み出す。そして、当該現実空間画像に当該仮想空間画像を重畳し、複合現実画像を生成する。生成した複合現実画像はRAM303等に記憶する。尚、前述した通り、現実空間画像と仮想空間画像とは右目用と左目用の2枚ずつがRAM303等に記憶されているので、右目用の現実空間画像に右目用の仮想空間画像を重畳し、左目用の現実空間画像に左目用の仮想空間画像を重畳する。   In step S <b> 1114, the CPU 301 of the client apparatus 101 reads out the real space image acquired in step S <b> 1101 and the virtual space image acquired in step S <b> 1113 from the RAM 303 or the like by the function of the mixed reality image generation unit 507. Then, the virtual space image is superimposed on the real space image to generate a mixed reality image. The generated mixed reality image is stored in the RAM 303 or the like. As described above, since the real space image and the virtual space image are stored in the RAM 303 or the like for each of the right eye and the left eye, the virtual space image for the right eye is superimposed on the real space image for the right eye. The virtual space image for the left eye is superimposed on the real space image for the left eye.

ステップS1115では、クライアント装置101のCPU301は、表示制御部508の機能により、ステップS1116で生成した複合現実画像をRAM303等から読み出す。そして、ビデオコントローラ306を通じてHMD102の右目・左目ディスプレイ322に表示する。RAM303等に記憶された複合現実画像は、右目用と左目用の2枚が存在する。そのため、右目用の複合現実画像を右目・左目ディスプレイ322の右目のディスプレイに表示するよう制御し、左目用の複合現実画像を右目・左目ディスプレイ322の左目のディスプレイに表示するよう制御する。   In step S1115, the CPU 301 of the client apparatus 101 reads the mixed reality image generated in step S1116 from the RAM 303 or the like by the function of the display control unit 508. Then, the image is displayed on the right eye / left eye display 322 of the HMD 102 through the video controller 306. The mixed reality image stored in the RAM 303 or the like has two images for the right eye and the left eye. Therefore, control is performed so that the mixed reality image for the right eye is displayed on the right eye display of the right eye / left eye display 322, and the mixed reality image for the left eye is displayed on the left eye display of the right eye / left eye display 322.

ステップS1116では、クライアント装置101のCPU301は、HMD102を装着しているユーザに複合現実感を提示する処理の終了指示があったか否かを判定する。例えば、前述したステップS1101乃至ステップS1115の処理を実行するクライアント装置101のアプリケーションの停止指示や終了指示があったか否かを判定する。終了指示があったと判定した場合には、本一連の処理を終了する。終了指示があったと判定しなかった場合、すなわち終了指示がなかった場合にはステップS1101に処理を戻し、終了指示があるまでステップS1101乃至ステップS1115の処理を繰り返す。このように、繰り返しステップS1101乃至ステップS1115の処理を実行することで、リアルタイムに情報を更新して提示することができる。   In step S <b> 1116, the CPU 301 of the client apparatus 101 determines whether there is an instruction to end the process of presenting mixed reality to the user wearing the HMD 102. For example, it is determined whether or not there has been an instruction to stop or end the application of the client apparatus 101 that executes the processes of steps S1101 to S1115 described above. If it is determined that an end instruction has been issued, the series of processes ends. If it is not determined that there is an end instruction, that is, if there is no end instruction, the process returns to step S1101, and steps S1101 to S1115 are repeated until an end instruction is issued. In this way, by repeatedly executing the processing from step S1101 to step S1115, information can be updated and presented in real time.

次に、スケール設定処理の詳細について、図16に示すフローチャートを用いて説明する。   Next, the details of the scale setting process will be described using the flowchart shown in FIG.

ステップS1601では、クライアント装置101のCPU301は、記憶部509の機能により、仮想空間位置姿勢情報1014を参照する。   In step S <b> 1601, the CPU 301 of the client apparatus 101 refers to the virtual space position / orientation information 1014 using the function of the storage unit 509.

ステップS1602では、クライアント装置101のCPU301は、オブジェクト制御部510の機能により、仮想空間位置姿勢情報1014が示すユーザの視点の位置が、仮想空間に配置されたいずれかのオブジェクトの内部であるか否かを判定する。ユーザの視点の位置である座標と、オブジェクトを取り囲むバウンディングボックスとを比較することで、ユーザの視点の位置が、オブジェクトの内部であるか否かを判定する。オブジェクトの内部であると判定されると、ユーザの視点の位置に応じて仮想空間に配置されるオブジェクトが選択される(三次元モデル選択手段)。バウンディングボックスの座標は、図10に示すオブジェクト情報テーブル1030のバウンディングボックス1033で管理されている。   In step S1602, the CPU 301 of the client apparatus 101 determines whether the position of the user's viewpoint indicated by the virtual space position / orientation information 1014 is inside any of the objects arranged in the virtual space by the function of the object control unit 510. Determine whether. It is determined whether or not the position of the user's viewpoint is inside the object by comparing the coordinates that are the position of the user's viewpoint and the bounding box surrounding the object. If it is determined that the object is inside the object, an object arranged in the virtual space is selected according to the position of the viewpoint of the user (three-dimensional model selection means). The coordinates of the bounding box are managed by the bounding box 1033 of the object information table 1030 shown in FIG.

オブジェクト情報テーブル1030は、クライアント装置101の外部メモリ311で記憶されているデータテーブルである。オブジェクト情報テーブル1030は、図6で前述した仮想空間情報に含まれる情報である。オブジェクトID1031は、オブジェクトごとに割り振られる一意な識別情報が格納されている項目である。オブジェクト固有スケール情報1032は、オブジェクトごとに対応するスケール情報が格納されている項目である。バウンディングボックス1033は、オブジェクトを囲む直方体の座標が格納されている項目である。   The object information table 1030 is a data table stored in the external memory 311 of the client device 101. The object information table 1030 is information included in the virtual space information described above with reference to FIG. The object ID 1031 is an item in which unique identification information assigned to each object is stored. The object specific scale information 1032 is an item in which scale information corresponding to each object is stored. The bounding box 1033 is an item in which coordinates of a rectangular parallelepiped surrounding the object are stored.

このバウンディングボックス1033が示す座標の範囲にユーザの視点が位置しているのであれば、オブジェクトの内部であると判定される。ユーザの視点の位置がいずれかのオブジェクトの内部であると判定した場合には、ステップS1604に処理を進める。ユーザの視点の位置がいずれかのオブジェクトの内部でないと判定した場合には、ステップS1603に処理を進める。   If the user's viewpoint is located within the coordinate range indicated by the bounding box 1033, it is determined that the object is inside the object. If it is determined that the position of the user's viewpoint is inside one of the objects, the process proceeds to step S1604. If it is determined that the position of the user's viewpoint is not inside any object, the process advances to step S1603.

ステップS1603では、クライアント装置101のCPU301は、スケール設定部512の機能により、ユーザ設定スケール情報1000に格納されている倍率を取得し、RAM303に保存する。   In step S <b> 1603, the CPU 301 of the client apparatus 101 acquires the magnification stored in the user setting scale information 1000 by the function of the scale setting unit 512 and stores it in the RAM 303.

一方、ステップS1604では、クライアント装置101のCPU301は、オブジェクト制御部510の機能により、ユーザの視点が内部にあるとされたオブジェクトに対応するスケール情報が存在するか否かを判定する。オブジェクトに対応するスケール情報は、当該オブジェクトのオブジェクト固有スケール情報1032を参照し、ここに倍率が格納されていれば、オブジェクトに対応するスケール情報が存在すると判定する。ユーザの視点が内部にあるとされたオブジェクトに対応するスケール情報が存在すると判定した場合には、ステップS1605に処理を進める。ユーザの視点が内部にあるとされたオブジェクトに対応するスケール情報が存在しないと判定した場合には、ステップS1603に処理を進める。   On the other hand, in step S <b> 1604, the CPU 301 of the client apparatus 101 determines whether there is scale information corresponding to an object for which the user's viewpoint is inside by the function of the object control unit 510. The scale information corresponding to the object refers to the object specific scale information 1032 of the object, and if the magnification is stored here, it is determined that the scale information corresponding to the object exists. If it is determined that there is scale information corresponding to the object for which the user's viewpoint is located, the process proceeds to step S1605. If it is determined that there is no scale information corresponding to the object for which the user's viewpoint is located, the process proceeds to step S1603.

ステップS1605では、クライアント装置101のCPU301は、スケール設定部512の機能により、ユーザの視点が内部にあるとされたオブジェクトに対応するスケール情報を、オブジェクト固有スケール情報1032から取得する。すなわち、このオブジェクト固有スケール情報1032に格納されている倍率を取得し、RAM303に保存する。   In step S <b> 1605, the CPU 301 of the client apparatus 101 acquires scale information corresponding to the object whose user viewpoint is inside from the object-specific scale information 1032 by the function of the scale setting unit 512. That is, the magnification stored in the object specific scale information 1032 is acquired and stored in the RAM 303.

ステップS1606では、クライアント装置101のCPU301は、スケール設定部512の機能により、ステップS1603またはステップS1605でRAM303に保存したスケール情報で、スケール情報1011を上書きする。   In step S1606, the CPU 301 of the client device 101 overwrites the scale information 1011 with the scale information stored in the RAM 303 in step S1603 or step S1605 by the function of the scale setting unit 512.

図17は、ユーザの視点がオブジェクトの内部に存在する場合の一例を示す。スケール情報1011が“10”倍のユーザが1501である。このユーザが家の内部を見るために自身の視点をオブジェクトの内部に移動させると、バウンディングボックス1701と視点の位置とを比較する。これにより、ユーザの視点がオブジェクトの内部に存在すると判定されると、このオブジェクトが選択され、選択された当該オブジェクトに対応するオブジェクト固有スケール情報1032が取得できる。図17の場合には、オブジェクト固有スケール情報1032として“1”倍が取得できたとする。そうすると、このパラメータをスケール情報1011に設定される。この設定されたスケール情報1011を用いて、視点の高さを調整すると、1702に示すようなスケール感になる。このように、ユーザが接触したオブジェクトに対応するスケール情報で、当該ユーザの視点の高さや移動量を変更することが可能となるので、例えば建築物の内部を閲覧する際にスケール設定画面900を介してスケールを設定する必要がなくなる。すなわち、オブジェクトに接触するだけで自動的にスケールを変更することが可能となる。   FIG. 17 shows an example in which the user's viewpoint exists inside the object. A user whose scale information 1011 is “10” times is 1501. When the user moves his / her viewpoint to the inside of the object in order to look inside the house, the bounding box 1701 is compared with the position of the viewpoint. Thus, when it is determined that the user's viewpoint exists inside the object, this object is selected, and object-specific scale information 1032 corresponding to the selected object can be acquired. In the case of FIG. 17, it is assumed that “1” times can be acquired as the object unique scale information 1032. Then, this parameter is set in the scale information 1011. When the height of the viewpoint is adjusted using the set scale information 1011, a scale feeling as indicated by 1702 is obtained. As described above, the scale information corresponding to the object touched by the user can be used to change the height and movement amount of the user's viewpoint. The need to set the scale via That is, the scale can be automatically changed simply by touching the object.

次に、第2の実施形態について説明する。第2の実施形態は、第1の実施形態における図16の変形例である。第1の実施形態では、ユーザの視点がオブジェクトの内部に存在するか否かを判定したが、第2の実施形態ではオブジェクトが存在する領域に視点が存在するか否かによって、スケールの調整を行う判定する仕組みである。ここでいう領域とは平面領域のことであり、建築物でいえば土地の部分に相当する。つまり、その建築物が配置されている土地の部分に入ると、ユーザが建築物の中を覗き込むことなく、その建築物に対応するスケール情報が取得できるものである。以下、この説明を行う。   Next, a second embodiment will be described. The second embodiment is a modification of FIG. 16 in the first embodiment. In the first embodiment, it is determined whether or not the user's viewpoint exists inside the object. In the second embodiment, the scale is adjusted depending on whether or not the viewpoint exists in the area where the object exists. This is a determination mechanism to be performed. The area here is a plane area, and in the case of a building, it corresponds to a land portion. That is, when entering the part of the land where the building is arranged, scale information corresponding to the building can be acquired without the user looking into the building. This will be described below.

第2の実施形態は、第1の実施形態における図16の変形例であることから、図16及び図10のオブジェクト情報テーブル1030以外の図については、第1の実施形態と同様であるので説明を省略する。   Since the second embodiment is a modification of FIG. 16 in the first embodiment, the drawings other than the object information table 1030 in FIGS. 16 and 10 are the same as those in the first embodiment, and thus will be described. Is omitted.

第2の実施形態における、スケール設定処理の詳細について、図18に示すフローチャートを用いて説明する。第2の実施形態におけるスケール設定処理は、第1の実施形態と同様に、図11のステップS1104における処理である。   Details of the scale setting process in the second embodiment will be described with reference to the flowchart shown in FIG. The scale setting process in the second embodiment is the process in step S1104 in FIG. 11 as in the first embodiment.

ステップS1801では、クライアント装置101のCPU301は、記憶部509の機能により、仮想空間位置姿勢情報1014を参照する。   In step S <b> 1801, the CPU 301 of the client apparatus 101 refers to the virtual space position / orientation information 1014 using the function of the storage unit 509.

ステップS1802では、クライアント装置101のCPU301は、オブジェクト制御部510の機能により、仮想空間位置姿勢情報1014が示すユーザの視点の位置が、仮想空間に配置されたいずれかのオブジェクトの領域内であるか否かを判定する。ユーザの視点の位置である座標(例えば、X座標とZ座標)と、オブジェクトが配置された領域(例えば、XZ平面)を比較することで、ユーザの視点の位置が、オブジェクトの領域内であるか否かを判定する。ユーザの視点の位置がオブジェクトの領域内であると判定された場合には、ステップS1805に処理を進める。ユーザの視点の位置がオブジェクトの領域内でないと判定した場合には、ステップS1803に処理を進める。   In step S1802, the CPU 301 of the client apparatus 101 uses the function of the object control unit 510 to determine whether the position of the user's viewpoint indicated by the virtual space position / orientation information 1014 is within the area of any object placed in the virtual space. Determine whether or not. By comparing the coordinates (for example, the X coordinate and the Z coordinate) that are the position of the user's viewpoint with the area (for example, the XZ plane) in which the object is arranged, the position of the user's viewpoint is within the object area. It is determined whether or not. If it is determined that the position of the user's viewpoint is within the object area, the process advances to step S1805. If it is determined that the position of the user's viewpoint is not within the area of the object, the process proceeds to step S1803.

ステップS1803では、クライアント装置101のCPU301は、スケール設定部512の機能により、変数Flgに“0”を代入する。変数Flgは視点がいずれかのオブジェクトの領域内にあり、当該オブジェクトに対応するスケール情報を用いてユーザの視点が調整されているか否かを示すフラグである。   In step S1803, the CPU 301 of the client apparatus 101 substitutes “0” for the variable Flg by the function of the scale setting unit 512. The variable Flg is a flag indicating whether or not the viewpoint is within the area of any object and the user's viewpoint is adjusted using scale information corresponding to the object.

ステップS1804では、クライアント装置101のCPU301は、スケール設定部512の機能により、ユーザ設定スケール情報1000に格納されている倍率を取得し、RAM303に保存する。   In step S <b> 1804, the CPU 301 of the client apparatus 101 acquires the magnification stored in the user setting scale information 1000 by the function of the scale setting unit 512 and stores it in the RAM 303.

一方、ステップS1805では、クライアント装置101のCPU301は、オブジェクト制御部510の機能により、ユーザの視点が領域内にあるとされたオブジェクトに対応するスケール情報が存在するか否かを判定する。オブジェクトに対応するスケール情報は、当該オブジェクトのオブジェクト固有スケール情報1032を参照し、ここに倍率が格納されていれば、オブジェクトに対応するスケール情報が存在すると判定する。ユーザの視点が領域内にあるとされたオブジェクトに対応するスケール情報が存在すると判定した場合には、ステップS1806に処理を進める。ユーザの視点が領域内にあるとされたオブジェクトに対応するスケール情報が存在しないと判定した場合には、ステップS1803に処理を進める。   On the other hand, in step S <b> 1805, the CPU 301 of the client apparatus 101 determines whether there is scale information corresponding to an object for which the user's viewpoint is within the area by the function of the object control unit 510. The scale information corresponding to the object refers to the object specific scale information 1032 of the object, and if the magnification is stored here, it is determined that the scale information corresponding to the object exists. If it is determined that there is scale information corresponding to an object for which the user's viewpoint is within the area, the process proceeds to step S1806. If it is determined that there is no scale information corresponding to the object for which the user's viewpoint is in the area, the process advances to step S1803.

ステップS1806では、クライアント装置101のCPU301は、スケール設定部512の機能により、変数Flgが“0”であるか否かを判定する。変数Flgが“0”であると判定された場合には、ステップS1807に処理を進める。変数Flgが“1”であると判定された場合には、ステップS1810に処理を進める。   In step S1806, the CPU 301 of the client apparatus 101 determines whether or not the variable Flg is “0” by the function of the scale setting unit 512. If it is determined that the variable Flg is “0”, the process proceeds to step S1807. If it is determined that the variable Flg is “1”, the process proceeds to step S1810.

ステップS1807では、クライアント装置101のCPU301は、スケール設定部512の機能により、ユーザの視点が領域内にあるとされたオブジェクトに、スケール適用方向1931が存在するか否かを判定する。スケール適用方向1931は、図19に示すオブジェクト情報テーブル1030の項目である。第2の実施形態におけるオブジェクト情報テーブル1030は、第1の実施形態で備えていたバウンディングボックス1033の代わりに、このスケール適用方向1931を新たに備えている。スケール適用方向1931は、オブジェクト固有スケール情報1032を適用すべき方向を示す情報が格納される項目である。ユーザの視点が領域内にあるとされたオブジェクトに、スケール適用方向1931が存在すると判定した場合には、ステップS1808に処理を進める。ユーザの視点が領域内にあるとされたオブジェクトに、スケール適用方向1931が存在しない(スケール適用方向1931が“NULL”である)と判定した場合には、ステップS1809に処理を進める。   In step S <b> 1807, the CPU 301 of the client apparatus 101 determines whether or not the scale application direction 1931 exists in the object whose user viewpoint is determined to be within the area by the function of the scale setting unit 512. The scale application direction 1931 is an item in the object information table 1030 shown in FIG. The object information table 1030 in the second embodiment is newly provided with this scale application direction 1931 instead of the bounding box 1033 provided in the first embodiment. The scale application direction 1931 is an item in which information indicating the direction in which the object specific scale information 1032 is to be applied is stored. If it is determined that the scale application direction 1931 exists in the object whose user viewpoint is within the area, the process advances to step S1808. If it is determined that the scale application direction 1931 does not exist in the object whose user viewpoint is within the area (the scale application direction 1931 is “NULL”), the process advances to step S1809.

ステップS1808では、クライアント装置101のCPU301は、オブジェクト制御部510の機能により、ユーザの視点が領域内にあるとされたオブジェクトのスケール適用方向1931と、当該視点の移動方向とが合致するか否かを判定する。つまりスケール適用方向1931という所定の条件を満たすか否かを判定する。スケール適用方向1931は、ある程度幅を持った方向である。そのため、スケール適用方向1931と視点の移動方向とが同様の移動方向であればよい。ユーザの視点が領域内にあるとされたオブジェクトのスケール適用方向1931と、当該視点の移動方向とが合致すると判定した場合には、ステップS1809に処理を進める。ユーザの視点が領域内にあるとされたオブジェクトのスケール適用方向1931と、当該視点の移動方向とが合致しないと判定しなかった場合には、ステップS1803に処理を進める。   In step S1808, the CPU 301 of the client apparatus 101 determines whether or not the scale application direction 1931 of the object in which the user's viewpoint is in the area matches the movement direction of the viewpoint by the function of the object control unit 510. Determine. That is, it is determined whether or not a predetermined condition of the scale application direction 1931 is satisfied. The scale application direction 1931 is a direction having a certain width. Therefore, the scale application direction 1931 and the viewpoint movement direction may be the same movement direction. If it is determined that the scale application direction 1931 of the object for which the user's viewpoint is within the area matches the movement direction of the viewpoint, the process advances to step S1809. If it is not determined that the scale application direction 1931 of the object for which the user's viewpoint is within the area does not match the movement direction of the viewpoint, the process advances to step S1803.

ステップS1809では、クライアント装置101のCPU301は、スケール設定部512の機能により、変数Flgに“1”を代入する。   In step S1809, the CPU 301 of the client apparatus 101 substitutes “1” for the variable Flg by the function of the scale setting unit 512.

ステップS1810では、クライアント装置101のCPU301は、スケール設定部512の機能により、ユーザの視点が領域内にあるとされたオブジェクトに対応するスケール情報を、オブジェクト固有スケール情報1032から取得する。すなわち、このオブジェクト固有スケール情報1032に格納されている倍率を取得し、RAM303に保存する。   In step S <b> 1810, the CPU 301 of the client apparatus 101 acquires scale information corresponding to an object for which the user's viewpoint is within the area from the object-specific scale information 1032 using the function of the scale setting unit 512. That is, the magnification stored in the object specific scale information 1032 is acquired and stored in the RAM 303.

ステップS1811では、クライアント装置101のCPU301は、スケール設定部512の機能により、ステップS1804またはステップS1810でRAM303に保存したスケール情報で、スケール情報1011を上書きする。このようにして、ユーザの視点の位置がオブジェクトの配置された領域内にあるか否かに応じて、当該オブジェクトのスケール情報とユーザが設定したスケール情報のいずれかを適用することが可能となる。   In step S1811, the CPU 301 of the client apparatus 101 overwrites the scale information 1011 with the scale information stored in the RAM 303 in step S1804 or step S1810 by the function of the scale setting unit 512. In this way, either the scale information of the object or the scale information set by the user can be applied depending on whether or not the position of the user's viewpoint is within the area where the object is arranged. .

例えば、図20に示すように仮想空間でユーザ2001が歩き回っている際に、建築物のオブジェクトが配置された領域に視点が移動したとする。この場合に、このオブジェクトに対応するオブジェクト固有スケール情報1032を取得し、スケール情報1011に設定する。つまり、ユーザはオブジェクトが配置された領域内に移動するだけで、そのオブジェクトに設定されたスケール感により、当該オブジェクトを閲覧することができる。   For example, as shown in FIG. 20, when the user 2001 is walking around in the virtual space, the viewpoint is moved to the area where the building object is arranged. In this case, object specific scale information 1032 corresponding to this object is acquired and set in the scale information 1011. That is, the user can browse the object with a sense of scale set for the object only by moving into the area where the object is arranged.

また、図21に示すように、オブジェクトが配置された領域にどの方向から侵入したのかによって、オブジェクト固有スケール情報1032を適用するのか否かを決定することができる。例えば、オブジェクトのスケール適用方向1931が“180度±60度”であった場合を想定する。当該オブジェクトの120度から240度の範囲の方向からユーザが侵入した場合(2102)には、オブジェクト固有スケール情報1032をスケール情報1011に設定する(図21の例で言えば、10倍から1倍にする)。こうして設定されると、図20のユーザ2001は、2002に示すように視点の位置が変更される。しかし、これ以外の方向から進入した場合(2101)は、元のスケール情報のままとなる(図21の例で言えば、10倍のままとなる)。このように、オブジェクト固有スケール情報1032を適用する方向を制限することにより、オブジェクトが配置された領域に意図せず侵入してしまった場合であっても、オブジェクト固有スケール情報1032が適用されずに済むという効果がある。   Further, as shown in FIG. 21, it is possible to determine whether or not to apply the object specific scale information 1032 depending on from which direction the object has entered the area where the object is arranged. For example, it is assumed that the scale application direction 1931 of the object is “180 degrees ± 60 degrees”. When the user enters from a direction in the range of 120 degrees to 240 degrees of the object (2102), the object specific scale information 1032 is set in the scale information 1011 (in the example of FIG. 21, 10 times to 1 time). ). When set in this way, the position of the viewpoint of the user 2001 in FIG. However, when entering from other directions (2101), the original scale information remains (in the example of FIG. 21, it remains 10 times). In this way, by limiting the direction in which the object specific scale information 1032 is applied, the object specific scale information 1032 is not applied even when the object is unintentionally intruded into the area where the object is arranged. It has the effect of being finished.

以上説明したように、仮想空間におけるユーザの視点の高さを変更した場合でも、ユーザごとの適切な移動量で仮想空間を移動することが可能となる。   As described above, even when the height of the viewpoint of the user in the virtual space is changed, the virtual space can be moved with an appropriate movement amount for each user.

本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、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.

したがって、本発明の機能処理をコンピュータで実現(実行可能と)するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Therefore, in order to realize (executable) the functional processing of the present invention by a computer, the program code itself installed in the computer also realizes the present invention. That is, the present invention also includes a computer program 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 me. 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.

なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。   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 as being limited thereto. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.

101 クライアント装置
102 HMD
103 サーバ装置
201 オプティカルマーカ
202 赤外線カメラ
301 CPU
302 ROM
303 RAM
304 システムバス
305 入力コントローラ
306 ビデオコントローラ
307 メモリコントローラ
308 通信I/Fコントローラ
309 汎用バス
310 入力デバイス
311 外部メモリ
312 ディスプレイ
321 右目・左目ビデオカメラ
322 右目・左目ディスプレイ

101 Client device 102 HMD
103 Server Device 201 Optical Marker 202 Infrared Camera 301 CPU
302 ROM
303 RAM
304 System bus 305 Input controller 306 Video controller 307 Memory controller 308 Communication I / F controller 309 General-purpose bus 310 Input device 311 External memory 312 Display 321 Right-eye / left-eye video camera 322 Right-eye / left-eye display

Claims (7)

三次元モデルが配置される仮想空間を提示するための情報処理システムであって、
前記仮想空間における視点の位置と当該視点の移動量とを決定するためのスケール情報を前記三次元モデルごとに記憶する記憶手段と、
前記仮想空間に配置される三次元モデルを選択する三次元モデル選択手段と、
前記三次元モデル選択手段で選択された三次元モデルに対応する前記スケール情報を用いて、前記仮想空間におけるユーザの視点の位置を決定し、当該位置に視点を設定する視点設定手段と、
現実空間における前記ユーザの移動量を取得する移動量取得手段と、
前記移動量取得手段で取得した前記ユーザの移動量と前記三次元モデル選択手段で選択された三次元モデルに対応する前記スケール情報とを用いて、前記視点設定手段で設定された当該ユーザの視点の移動量を決定し、当該決定した移動量で当該ユーザの視点を移動する視点移動手段と
を備えることを特徴とする情報処理システム。
An information processing system for presenting a virtual space in which a three-dimensional model is arranged,
Storage means for storing scale information for determining the position of the viewpoint in the virtual space and the amount of movement of the viewpoint for each of the three-dimensional models;
3D model selection means for selecting a 3D model arranged in the virtual space;
Using the scale information corresponding to the three-dimensional model selected by the three-dimensional model selecting means, determining the position of the user's viewpoint in the virtual space, and setting the viewpoint at the position;
A movement amount acquisition means for acquiring the movement amount of the user in the real space;
The viewpoint of the user set by the viewpoint setting unit using the movement amount of the user acquired by the movement amount acquisition unit and the scale information corresponding to the 3D model selected by the 3D model selection unit. An information processing system comprising: a viewpoint moving unit that determines a movement amount of the user and moves the viewpoint of the user by the determined movement amount.
前記視点設定手段は、前記ユーザの視点の移動方向が所定の条件を満たす場合に、前記三次元モデル選択手段で選択された三次元モデルに対応する前記スケール情報を用いて、前記仮想空間におけるユーザの視点の位置を決定し、当該位置に視点を設定することを特徴とする請求項1に記載の情報処理システム。   The viewpoint setting unit uses the scale information corresponding to the three-dimensional model selected by the three-dimensional model selection unit when the moving direction of the viewpoint of the user satisfies a predetermined condition, and uses the scale information corresponding to the user in the virtual space. The information processing system according to claim 1, wherein a position of the viewpoint is determined and a viewpoint is set at the position. 前記視点設定手段は、前記三次元モデル選択手段で三次元モデルの選択がなされていない場合、前記ユーザから指定された前記スケール情報を用いて、前記仮想空間におけるユーザの視点の位置を決定し、当該位置に視点を設定し、
前記視点移動手段は、前記移動量取得手段で取得した前記ユーザの移動量と前記ユーザから指定された前記スケール情報とを用いて、前記視点設定手段で設定された当該ユーザの視点の移動量を決定し、当該決定した移動量で当該ユーザの視点を移動することを特徴とする請求項1または2に記載の情報処理システム。
The viewpoint setting means determines the position of the user's viewpoint in the virtual space using the scale information designated by the user when the three-dimensional model selection means has not selected a three-dimensional model, Set the viewpoint at that position,
The viewpoint movement unit uses the user movement amount acquired by the movement amount acquisition unit and the scale information specified by the user to determine the movement amount of the user viewpoint set by the viewpoint setting unit. 3. The information processing system according to claim 1, wherein the information processing system determines and moves the viewpoint of the user by the determined movement amount.
前記三次元モデル選択手段は、前記ユーザの視点の位置に応じて、前記仮想空間に配置される三次元モデルを選択することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理システム。   The information according to any one of claims 1 to 3, wherein the three-dimensional model selection unit selects a three-dimensional model arranged in the virtual space according to a position of the viewpoint of the user. Processing system. 前記情報処理システムは、
前記仮想空間に前記ユーザを示す三次元モデルを配置する三次元モデル配置手段と、
前記三次元モデル配置手段で配置された三次元モデルを前記スケール情報に応じたサイズに変更するサイズ変更手段と
を更に備えることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理システム。
The information processing system includes:
3D model placement means for placing a 3D model indicating the user in the virtual space;
5. The information according to claim 1, further comprising: a size changing unit that changes the three-dimensional model arranged by the three-dimensional model arranging unit to a size corresponding to the scale information. Processing system.
仮想空間における視点の位置と当該視点の移動量とを決定するためのスケール情報を三次元モデルごとに記憶する記憶手段を備え、三次元モデルが配置される仮想空間を提示するための情報処理システムの制御方法であって、
前記情報処理システムの三次元モデル選択手段が、前記仮想空間に配置される三次元モデルを選択する三次元モデル選択ステップと、
前記情報処理システムの視点設定手段が、前記三次元モデル選択ステップで選択された三次元モデルに対応する前記スケール情報を用いて、前記仮想空間におけるユーザの視点の位置を決定し、当該位置に視点を設定する視点設定ステップと、
前記情報処理システムの移動量取得手段が、現実空間における前記ユーザの移動量を取得する移動量取得ステップと、
前記情報処理システムの視点移動手段が、前記移動量取得ステップで取得した前記ユーザの移動量と前記三次元モデル選択ステップで選択された三次元モデルに対応する前記スケール情報とを用いて、前記視点設定ステップで設定された当該ユーザの視点の移動量を決定し、当該決定した移動量で当該ユーザの視点を移動する視点移動ステップと
を備えることを特徴とする情報処理システムの制御方法。
Information processing system for presenting a virtual space in which a three-dimensional model is arranged, comprising storage means for storing, for each three-dimensional model, scale information for determining the position of the viewpoint in the virtual space and the amount of movement of the viewpoint Control method,
A three-dimensional model selection step in which the three-dimensional model selection means of the information processing system selects a three-dimensional model arranged in the virtual space;
The viewpoint setting means of the information processing system determines the position of the user's viewpoint in the virtual space using the scale information corresponding to the 3D model selected in the 3D model selection step, and the viewpoint is set at the position. A viewpoint setting step for setting
A movement amount acquisition step in which the movement amount acquisition means of the information processing system acquires the movement amount of the user in real space;
The viewpoint movement means of the information processing system uses the movement amount of the user acquired in the movement amount acquisition step and the scale information corresponding to the 3D model selected in the 3D model selection step. A control method for an information processing system, comprising: a viewpoint movement step of determining a movement amount of the user's viewpoint set in the setting step and moving the viewpoint of the user by the determined movement amount.
仮想空間における視点の位置と当該視点の移動量とを決定するためのスケール情報を三次元モデルごとに記憶する記憶手段を備え、三次元モデルが配置される仮想空間を提示するための情報処理システムの制御方法を実行可能なプログラムであって、
前記情報処理システムを、
前記仮想空間に配置される三次元モデルを選択する三次元モデル選択手段と、
前記三次元モデル選択手段で選択された三次元モデルに対応する前記スケール情報を用いて、前記仮想空間におけるユーザの視点の位置を決定し、当該位置に視点を設定する視点設定手段と、
現実空間における前記ユーザの移動量を取得する移動量取得手段と、
前記移動量取得手段で取得した前記ユーザの移動量と前記三次元モデル選択手段で選択された三次元モデルに対応する前記スケール情報とを用いて、前記視点設定手段で設定された当該ユーザの視点の移動量を決定し、当該決定した移動量で当該ユーザの視点を移動する視点移動手段
として機能させることを特徴とするプログラム。

Information processing system for presenting a virtual space in which a three-dimensional model is arranged, comprising storage means for storing, for each three-dimensional model, scale information for determining the position of the viewpoint in the virtual space and the amount of movement of the viewpoint A program capable of executing the control method of
The information processing system;
3D model selection means for selecting a 3D model arranged in the virtual space;
Using the scale information corresponding to the three-dimensional model selected by the three-dimensional model selecting means, determining the position of the user's viewpoint in the virtual space, and setting the viewpoint at the position;
A movement amount acquisition means for acquiring the movement amount of the user in the real space;
The viewpoint of the user set by the viewpoint setting unit using the movement amount of the user acquired by the movement amount acquisition unit and the scale information corresponding to the 3D model selected by the 3D model selection unit. And a function for moving the user's viewpoint with the determined amount of movement.

JP2015213903A 2015-10-30 2015-10-30 Information processing system, control method thereof, and program Pending JP2017084215A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015213903A JP2017084215A (en) 2015-10-30 2015-10-30 Information processing system, control method thereof, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015213903A JP2017084215A (en) 2015-10-30 2015-10-30 Information processing system, control method thereof, and program

Publications (1)

Publication Number Publication Date
JP2017084215A true JP2017084215A (en) 2017-05-18

Family

ID=58714321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015213903A Pending JP2017084215A (en) 2015-10-30 2015-10-30 Information processing system, control method thereof, and program

Country Status (1)

Country Link
JP (1) JP2017084215A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019175322A (en) * 2018-03-29 2019-10-10 株式会社バンダイナムコエンターテインメント Simulation system and program
WO2020036114A1 (en) * 2018-08-17 2020-02-20 日本電信電話株式会社 Image processing device, image processing method, and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019175322A (en) * 2018-03-29 2019-10-10 株式会社バンダイナムコエンターテインメント Simulation system and program
JP7104539B2 (en) 2018-03-29 2022-07-21 株式会社バンダイナムコエンターテインメント Simulation system and program
WO2020036114A1 (en) * 2018-08-17 2020-02-20 日本電信電話株式会社 Image processing device, image processing method, and program
JP2020027555A (en) * 2018-08-17 2020-02-20 日本電信電話株式会社 Image processing device, image processing method and program
JP6996450B2 (en) 2018-08-17 2022-01-17 日本電信電話株式会社 Image processing equipment, image processing methods, and programs

Similar Documents

Publication Publication Date Title
CN107590771B (en) 2D video with options for projection viewing in modeled 3D space
JP7079231B2 (en) Information processing equipment, information processing system, control method, program
JP7208549B2 (en) VIRTUAL SPACE CONTROL DEVICE, CONTROL METHOD THEREOF, AND PROGRAM
CA2981207A1 (en) Method and system for providing virtual display of a physical environment
JP6677890B2 (en) Information processing system, its control method and program, and information processing apparatus, its control method and program
JP7060778B2 (en) Information processing system, information processing system control method and program
JP2015125641A (en) Information processing device, control method therefor, and program
US10777009B2 (en) Dynamically forming an immersive augmented reality experience through collaboration between a consumer and a remote agent
CN108377361B (en) Display control method and device for monitoring video
CN106980378B (en) Virtual display method and system
JP2016122392A (en) Information processing apparatus, information processing system, control method and program of the same
JP2022058753A (en) Information processing apparatus, information processing method, and program
JP6152888B2 (en) Information processing apparatus, control method and program thereof, and information processing system, control method and program thereof
JP6011567B2 (en) Information processing apparatus, control method thereof, and program
JP2017084215A (en) Information processing system, control method thereof, and program
JP6726016B2 (en) Information processing device and information processing method
JP2020074108A (en) Information processing system, control method thereof, and program
JP6638326B2 (en) Information processing system, control method thereof, and program
JP6357412B2 (en) Information processing apparatus, information processing system, information processing method, and program
JP2022181153A (en) Information processing system, information processing method and program
JP2018124746A (en) Information processing device, information processing system, information processing method and program
JP7119854B2 (en) Changed pixel region extraction device, image processing system, changed pixel region extraction method, image processing method and program
JP2015121892A (en) Image processing apparatus, and image processing method
JP6810342B2 (en) Information processing equipment, information processing system, its control method and program
JP2000137834A (en) Device and method for generating composite moving picture

Legal Events

Date Code Title Description
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