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

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

Info

Publication number
JP2020074108A
JP2020074108A JP2019232295A JP2019232295A JP2020074108A JP 2020074108 A JP2020074108 A JP 2020074108A JP 2019232295 A JP2019232295 A JP 2019232295A JP 2019232295 A JP2019232295 A JP 2019232295A JP 2020074108 A JP2020074108 A JP 2020074108A
Authority
JP
Japan
Prior art keywords
user
viewpoint
virtual space
movement amount
information
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
JP2019232295A
Other languages
Japanese (ja)
Other versions
JP2020074108A5 (en
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 JP2019232295A priority Critical patent/JP2020074108A/en
Publication of JP2020074108A publication Critical patent/JP2020074108A/en
Publication of JP2020074108A5 publication Critical patent/JP2020074108A5/ja
Pending legal-status Critical Current

Links

Images

Abstract

To provide a mechanism for moving a point of sight with a proper moving amount for each user in a virtual space, even when a height of the point of sight of the user in the virtual space is changed.SOLUTION: Parameters for changing the height of points of sight to be set in a virtual space are stored for each of users. A point of sight of a user is set in the virtual space, on the basis of the height of a point of sight of the user existing in a real space. The set height of the point of sight of the user is changed in accordance with a parameter corresponding to the user. The point of sight of the user is moved, with a moving amount determined by use of a moving amount of the user in the real space and the parameter corresponding to the user.SELECTED DRAWING: Figure 15

Description

本発明は、仮想空間におけるユーザの視点の高さを変更した場合でも、適切な移動量で仮想空間を移動することの可能な情報処理システム、その制御方法、及びプログラムに関する。   The present invention relates to an information processing system capable of moving 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-dimensional modeled CG (Computer Graphics, hereinafter referred to as a three-dimensional model) is superimposed on an image obtained by capturing a real space, and the image is presented to an observer. By using this mechanism, it is possible to make an observer look 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, a mechanism for presenting a virtual space with a sense of scale different from the real space by setting the user's viewpoint in the virtual space to a height different from the height of the user's viewpoint in the real space is disclosed in Patent Document 1. It is disclosed.

特開平5−282279号公報Japanese Patent Laid-Open No. 5-28279

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

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

しかしながら、前述したレビューでは複数のユーザが参加して、自由に仮想空間内を見て回るため、特許文献1の仕組みを単純に適用してしまうと、すべてのユーザが同じ高さに設定されてしまう問題がある。すなわち、複数のユーザが閲覧している仮想空間は同一であるので、あるユーザが仮想空間上の視点の高さを変更すると、その設定変更が他のユーザにも適用されてしまい、他のユーザも同様に視点の高さが変更されてしまう問題がある。   However, in the above-mentioned review, since a plurality of users participate and freely browse around the virtual space, if the mechanism of Patent Document 1 is simply applied, all users are set to the same height. There is a problem. That is, since the virtual space viewed by a plurality of users is the same, if one user changes the height of the viewpoint in the virtual space, the setting change will be applied to other users, and Similarly, there is a problem that the height of the viewpoint is changed.

そのため、各ユーザが所望のスケール感で仮想空間を体験するには、順番にスケールを変更する必要があり、目的としないスケールで表示されているユーザに待ち時間が発生してしまう問題がある。   Therefore, in order for each user to experience the virtual space with a desired sense of scale, it is necessary to change the scale in order, and there is a problem that a user displayed on an undesired scale has a waiting time.

また、ユーザごとに仮想空間上の視点の高さを変更できたとしても、ユーザの移動量をそのユーザの視点の高さに応じて調整しなければ、効率的にレビューをすることができない問題もある。例えば巨人のような視点で歩き回れたとしても、現実空間での移動量を仮想空間での移動量にそのまま適用してしまうと、なかなか前に進めないことになってしまう。巨人のような視点になったのであれば、歩幅、すなわち仮想空間での移動量も大きくする必要がある。   In addition, even if the height of the viewpoint in the virtual space can be changed for each user, it is not possible to review efficiently unless the movement amount of the user is adjusted according to the height of the viewpoint of the user. There is also. For example, even if you can walk around from the perspective of a giant, if you apply the amount of movement in the real space to the amount of movement in the virtual space as is, it will be difficult to move forward. If you look like a giant, you need to increase your stride, that is, the amount of movement in the virtual space.

しかしながら、特許文献1には仮想空間における視点の高さに応じて移動量を調整する仕組みが開示されているものの、ユーザごとにこうした調整を行う仕組みについては開示されていない。   However, although Patent Document 1 discloses a mechanism for adjusting the amount of movement according to the height of the viewpoint in the virtual space, it does not disclose a mechanism for performing such adjustment for each user.

本発明は、仮想空間におけるユーザの視点の高さを変更した場合でも、ユーザごとの適切な移動量で仮想空間を移動することの可能な仕組みを提供することを目的とする。   An object of the present invention is to provide a mechanism capable of moving the virtual space with an appropriate amount of movement for each user even when the height of the viewpoint of the user in the virtual space is changed.

上記の目的を達成するために本発明の情報処理システムは、仮想空間を提示するための情報処理システムであって、前記仮想空間に設定される視点の高さを変更するためのパラメータをユーザごとに記憶する記憶手段と、現実空間に存在するユーザの視点の高さに基づいて、前記仮想空間に当該ユーザの視点を設定する視点設定手段と、前記視点設定手段で設定された前記ユーザの視点の高さを、前記記憶手段に記憶される当該ユーザに対応する前記パラメータに応じて変更する視点変更手段と、前記現実空間における前記ユーザの移動量を取得する移動量取得手段と、前記移動量取得手段で移動量を取得されたユーザに対応する前記パラメータと前記移動量取得手段で取得した当該ユーザの移動量とを用いて、前記視点変更手段で変更された当該ユーザの視点の移動量を決定する移動量決定手段と、前記移動量決定手段で決定された移動量で前記ユーザの視点を移動する視点移動手段とを備えることを特徴とする。   In order to achieve the above object, the information processing system of the present invention is an information processing system for presenting a virtual space, wherein a parameter for changing the height of a viewpoint set in the virtual space is set for each user. And a viewpoint setting means for setting the viewpoint of the user in the virtual space based on the height of the viewpoint of the user existing in the real space, and the viewpoint of the user set by the viewpoint setting means. Viewpoint changing means for changing the height of the user according to the parameter corresponding to the user stored in the storage means, moving amount acquiring means for acquiring the moving amount of the user in the physical space, and the moving amount. It is changed by the viewpoint changing unit using the parameter corresponding to the user whose movement amount is acquired by the acquisition unit and the movement amount of the user acquired by the movement amount acquisition unit. Characterized in that it comprises a moving amount determining means for determining the movement amount of the viewpoint of the user, and a viewpoint moving means for moving the viewpoint of the user by the movement amount determined by the movement amount determination means.

本発明によれば、仮想空間におけるユーザの視点の高さを変更した場合でも、ユーザごとの適切な移動量で仮想空間を移動することが可能となる。   According to the present invention, even when the height of the viewpoint of the user in the virtual space is changed, it is possible to move in the virtual space with an appropriate amount of movement for each user.

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

以下、図面を参照しながら、本発明の第1の実施形態について説明する。   Hereinafter, the 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 using mixed reality technology (hereinafter referred to as MR technology) for allowing users at a plurality of locations to browse and share the same virtual space. The information processing system includes a plurality of MR systems in which the HMDs 102 are connected to the client device 101 so as to be able to perform data communication with each other. There is. The connection between the client device 101 and the HMD 102 may be wired connection or wireless connection. Further, any number of MR systems included in the information processing system may exist. In the present embodiment, information including an MR system in which the client device 101-1 and the HMD 102-1 are connected, an MR system in which the client device 101-2 and the HMD 102-2 are connected, and other MR systems. A processing system will be described. Further, since the MR system may be provided for each room or may be provided in the same room, this embodiment will be described as being provided for each base, but the present invention is not limited to this. Note that the configurations of various terminals connected to the system of FIG. 1 are examples, and there are various configuration examples depending on the use 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 an image of the real space (hereinafter referred to as a real space image) 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 thus generated (hereinafter referred to as mixed reality image) is transmitted to the HMD 102. Since the MR technique is a conventional technique, detailed description thereof will be omitted. The client device 101 may be a personal computer or a large computer such as a server. Further, it may be a mobile terminal such as a mobile phone or a tablet terminal. The type of computer does not matter. Further, the client device 101 may not be installed for each site, and processing may be performed by one client device 101. That is, one client device 101 may construct each MR system in this embodiment. Furthermore, the place where the client device 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 mounted on the head of the user, and includes a video camera for the right eye and a left eye, and displays for the right eye and the left eye. The HMD 102 transmits the real space image captured by the video camera of the HMD 102 to the client device 101. Then, the mixed reality image is received from the client device 101 and displayed on the display. Since the HMD 102 has displays for the right eye and displays for the left eye, a stereoscopic effect can be obtained by parallax. Although the real space image captured by the HMD 102 and the mixed reality image displayed by the HMD 102 are preferably moving images (videos), they may be still images captured at predetermined intervals. 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 base. As described above, the client device 101 is communicatively 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 that uses infrared rays. The infrared camera 202 irradiates the physical space with infrared light and captures the infrared light reflected by the physical space object to identify the position and orientation of the physical space object in the coordinate system defined by the infrared camera 202. The infrared camera 202 is used to identify the position and orientation (direction, inclination, line-of-sight direction, etc., hereinafter) of the HMD 102 (that is, the user) in the physical space. The HMD 102 includes an optical marker 201, which is an object that reflects infrared light, and the infrared camera 202 can identify the position and orientation of the HMD 102 by capturing the infrared light reflected by the optical marker 201. In the MR system, it is desirable to install a plurality of infrared cameras 202 so that the user can photograph or detect the optical marker 201 of the HMD 102 worn by the user regardless of the position and posture. Further, the HMD 102 whose position and orientation can be specified is the HMD 102 existing in the shooting range of the infrared camera 202.

尚、本実施形態においては、現実空間におけるHMD102の位置及び姿勢を特定するために、赤外線カメラ202を用いるが、HMD102の現実空間における位置及び姿勢を特定できるのであれば、これに限らない。例えば、磁気センサを用いてもよいし、HMD102が撮影した画像を解析して位置及び姿勢を特定してもよい。   Although the infrared camera 202 is used to specify the position and orientation of the HMD 102 in the physical space in the present embodiment, the present invention is not limited to this as long as the position and orientation of the HMD 102 in the physical space can be specified. 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 device 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の主メモリ、ワークエリア等として機能する。   The ROM 302 or the external memory 311 stores a control program of the CPU 301, such as a BIOS (Basic Input / Output System) and an operating system. Further, various programs and the like, which will be described later, necessary for realizing the functions executed by various devices are stored. The RAM 303 functions as a main memory, a work area, etc. of the CPU 301.

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

また、入力コントローラ(入力C)305は、キーボードやマウス等のポインティングデバイス(入力デバイス310)からの入力を制御する。   The 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)が表示される。   The video controller (VC) 306 of the client apparatus 101 controls display on a display device such as the right-eye / left-eye display 322 or the display 312 included in the HMD 102. To the right-eye / left-eye display 322, for example, an external output terminal (for example, Digital Visual Interface) is used for output. The right / left-eye display 322 includes a display for the right eye and a display for the left eye. Further, the display 312 is a liquid crystal display or the like, and displays the same display as the right / 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 unit) that stores a boot program, browser software, various applications, font data, user files, edit files, various data, and the like. The external memory 311 is, for example, a hard disk (HD), a flexible disk (FD), a card type memory connected to a PCMCIA card slot via an adapter, or the like.

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

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

本発明のクライアント装置101が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ311に記録されており、必要に応じてRAM303にロードされることによりCPU301によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ311に格納されている。   Various programs used by the client device 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 showing a hardware configuration of the server device 103. The hardware configuration shown in FIG. 4 is merely an example.

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

また、ROM402あるいは外部メモリ411には、CPU401の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラムが記憶されている。また外部メモリ411には、サーバ装置103が実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM403は、CPU401の主メモリ、ワークエリア等として機能する。   Further, the ROM 402 or the external memory 411 stores a control program of the CPU 401 such as a BIOS (Basic Input / Output System) and an operating system program. Further, 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, a work area, etc. of the CPU 401.

CPU401は、処理の実行に際して必要なプログラム等をRAM403にロードして、プログラムを実行することで各種動作を実現するものである。   The CPU 401 loads various programs necessary for executing the processing into the RAM 403 and executes the programs to realize various operations.

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

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

メモリコントローラ407は、ハードディスクやフレキシブルディスク或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ411へのアクセスを制御する。外部メモリ411(記憶手段)は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する。   The memory controller 407 controls access to the external memory 411 such as a hard disk, a flexible disk, or a card-type memory connected to a PCMCIA card slot via an adapter. The external memory 411 (storage unit) stores a boot program, browser software, various applications, font data, user files, edit 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上の不図示のマウスカーソル等でのユーザ指示を可能とする。   Incidentally, the CPU 401 enables the display on the display 412 by executing the outline font rasterization process in the display information area in the RAM 403, for example. Further, the CPU 401 enables a user instruction with a mouse cursor or the like (not shown) on the display 412.

本発明のサーバ装置103が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ411に記録されている。この各種プログラム等は必要に応じてRAM403にロードされることによりCPU401によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ411に格納されている。   Various programs used by the server apparatus 103 of the present invention to execute various processes described later are recorded in the external memory 411. The various programs and the like are executed by the CPU 401 by being loaded into the RAM 403 as needed. Further, 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 showing the 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 examples, and there are various configuration examples depending on the use and purpose.

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

通信制御部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 information between the HMD 102 and the infrared camera 202 that can communicate with the client device 101. The communication control unit 501 transmits / receives information to / from these devices through the above-described video controller 306, communication I / F controller 308, general-purpose bus 309, and the like. The communication control unit 501 also transmits and receives various information between the other client device 101 and the server device 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, from the infrared camera 202, information indicating the position and orientation (orientation) of the device including the optical marker 201 in the physical space. In the present embodiment, since the HMD 102 includes the optical marker 201, the position / orientation acquisition unit 502 analyzes the position and orientation of the HMD 102 in the physical space (the position and orientation of the user wearing the HMD 102) analyzed by the infrared camera 202. The same shall apply hereinafter). Further, the position / orientation acquisition unit 502 uses the physical space image for the right eye and the physical space image for the left eye acquired from the right-eye / left-eye video camera 321 by the physical space image acquisition unit 504, by a method such as triangulation, It is also possible to specify the position and orientation of an object in the physical space.

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

現実空間画像取得部504は、HMD102の右目・左目ビデオカメラ321で撮影された現実空間画像を取得する機能部である。   The physical space image acquisition unit 504 is a functional unit that acquires a physical 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 the information stored in the external memory 311 of the client device 101. Since the virtual space is a virtual space created inside the client device 101, information about the shape and size of the space is stored in the external memory 311, and the virtual space is created based on this. An object consisting of a three-dimensional model can be placed in the virtual space. The object is 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 the image of the virtual space generated by the virtual space generation unit 505. When the virtual space image acquisition unit 506 acquires an image of the virtual space, 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 identified by the position and orientation identification unit 503. .. Then, a virtual space image when viewed from the viewpoint is generated and is acquired. A virtual camera may be installed at this viewpoint to capture an image of the virtual space. That is, render.

複合現実画像生成部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 physical space image acquired by the physical space image acquisition unit 504.

表示制御部508は、クライアント装置101に接続されたHMD102の右目・左目ディスプレイ322やクライアント装置101に接続されたディスプレイ312における各種情報の表示制御を行う機能部である。特に、複合現実画像生成部507で生成された複合現実画像をHMD102の右目・左目ディスプレイ322に表示させる機能を有する。   The display control unit 508 is a functional unit that controls display of various 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 of various tables described below, information for generating a virtual space, information of objects and the like. Add / update / 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 device 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 the predefined position and posture. If necessary, the arranged objects are rearranged in 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 physical space. The position and orientation of the user existing in the physical space are the position and orientation 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, the position and orientation in the virtual space are identified by the position and orientation identification unit 503, and the user's viewpoint based on the identified position and orientation. Is set in 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 scale information for changing the height of the viewpoint and the amount of movement of the viewpoint set in the virtual space for each user. 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 double, so the height of the viewpoint set in the virtual space is set to twice the normal height.

次にサーバ装置103は機能部として、通信制御部531と、記憶部532とを備える。   Next, the server device 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 information to and from the client device 101 that can communicate with the server device 103. The communication control unit 531 transmits / receives information to / from the client device 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 below. Add / update / delete information as necessary.

次に、クライアント装置101−1から仮想空間を配信し、各クライアント装置101で仮想空間を設定する処理の流れについて、図6に示すフローチャートを用いて説明する。   Next, a 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 with reference to the flowchart shown in FIG.

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

ステップS602では、クライアント装置101−1のCPU301は、通信制御部501の機能により、ステップS601で取得した仮想空間情報をサーバ装置103に送信する。   In step S602, the CPU 301 of the client device 101-1 transmits the virtual space information acquired in step S601 to the server device 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 uses the function of the virtual space generation unit 505 to generate a virtual space using the virtual space information acquired in step S601 (virtual space generation means). The created virtual space is a virtual space having the shape and size indicated by the virtual space information, and further, the object indicated by the virtual space information is arranged in the virtual space. A dedicated viewer application for an MR experience is installed in the client device 101-1 and a virtual space is generated by this viewer application. That is, a CAD application is required to create the virtual space information, and a viewer application is required to create the 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 in the virtual space generated in step S604 by the function of the viewpoint control unit 511 (viewpoint setting means). The viewpoint of the user who wears the HMD 102-1 that can communicate with the client device 101-1 is set in the virtual space based on the height of the viewpoint of the user. FIG. 7 is a diagram showing a case where the viewpoint is set in the virtual space in step S604. As shown in FIG. 7B, when the coordinates of the viewpoint 702 (that is, the position of the HMD 102) of the user existing in the physical space are (0, 150, 0), as shown in FIG. At the position of the coordinates (0, 150, 0) in the virtual space, the viewpoint 701 of the user is set.

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

一方、ステップ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. Then, in step S607, the CPU 401 of the server device 103 transmits the virtual space information received in step S606 to the client device 101 with which the server device 103 can communicate, by the function of the communication control unit 531. Here, since it is not necessary to transmit the virtual space information to the client device 101-1 which is the transmission source of the virtual space information received in step S606, it is desirable not to transmit the virtual space information.

ステップS608では、クライアント装置101−2のCPU301は、通信制御部501の機能により、ステップS607でサーバ装置103から送信された仮想空間情報を受信する。そして、受信した仮想空間情報をクライアント装置101−2の外部メモリ311に記憶する。   In step S608, the CPU 301 of the client device 101-2 receives the virtual space information transmitted from the server device 103 in step S607 by the function of the communication control unit 501. Then, 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 uses the function of the virtual space generation unit 505 to generate a virtual space using the virtual space information received in step S608 (virtual space generation means). The generation of the virtual space is the same as in step S603. As a result, the same virtual space is generated in any of the client devices 101. Further, if the CAD application is not installed in the client device 101, the virtual space information cannot be created / edited by itself, but receiving the virtual space information from another client device 101 makes the CAD application unnecessary. However, if the CAD application is not installed, the size and shape of the virtual space and the placement position of the object cannot be changed. That is, it is not possible to make the virtual space different in size and 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 viewpoint of the user in the virtual space generated in step S609 by the function of the viewpoint control unit 511 (viewpoint setting means). The viewpoint setting 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 in order to allow the user to experience mixed reality via the HMD 102-2. Details of the mixed reality presentation processing are shown in FIG. 11 described later.

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

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

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

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

スケール設定画面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 the scale information input in the input form, and the like. The input form 901 includes scale information, that is, an input form for inputting 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に格納する。すなわち、「入力された高さ÷現在のユーザの視点の高さ」で算出すればよい(パラメータ算出手段)。算出方法はこれに限らない。   When the pressing of the setting button 902 is detected in the state where the parameters are input to the input form 901, 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 in step S802. Then, the acquired parameters are stored in the user-set scale information 1000 (see FIG. 10) as scale information. Here, if the input form for inputting the scale factor is input, the input scale factor is directly stored in the user-set scale information 1000. On the other hand, when the input form for inputting the height of the changed viewpoint is input, the magnification is calculated based on the current height of the viewpoint of the user in the virtual space and the input height. The scale factor is stored in the user-set scale information 1000. That is, it may be calculated by “input height / current height of viewpoint of user” (parameter calculating means). 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 uses the function of the communication control unit 501 to transmit the scale information stored in the user-set scale information 1000 in step S802 to the server apparatus 103.

ステップ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. Then, in step S805, the CPU 401 of the server apparatus 103 causes the function of the storage unit 532 to store the scale information received in step S804 in the client information table 1020 illustrated in FIG.

クライアント情報テーブル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. The items included in the client information table 1020 are merely examples, and the present invention is not limited to these.

クライアント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 the connection destination of the client apparatus 101 is stored. The scale information 1023 is an item in which the scale information set by the client device 101 is stored. The virtual space position / orientation information 1024 is an item that stores information indicating the position and orientation of the user in the virtual space set by the client device 101.

ステップS804では、クライアント情報テーブル1020にスケール情報を格納する際に、新たにレコードを作成し、クライアントID1021を発行する。そして、スケール情報の送信元であるクライアント装置101のIPアドレス等を接続先情報1022に格納し、更に受信したスケール情報をスケール情報1023に格納する。   In step S804, when storing the scale information in the client information table 1020, a new record is created and the client ID 1021 is issued. Then, the IP address or the like of the client device 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 this HMD 102 and the client device 101 are associated with each other. That is, the scale information set in the client device 101 is scale information corresponding to the user wearing the HMD 102 connected to the client device 101. Therefore, the information processing system receives the setting of the scale information for each user and stores the setting. Then, the server apparatus 103 manages the 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 S1101, the CPU 301 of the client apparatus 101 uses the function of the physical space image acquisition unit 504 to acquire a physical space image from the right-eye / left-eye video camera 321 of the HMD 102 and stores it in the RAM 303.

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

例えば、1フレーム前は図7(b)の視点702の位置であり、現在のフレームは図12の視点1201の位置である場合には、前位置姿勢情報1013に座標(0,150,0)、現在位置姿勢情報1012に座標(100,150,0)が格納される。尚、ここでいうフレームとは、HMD102に表示する映像のコマのことである。   For example, if one frame before is the position of the viewpoint 702 in FIG. 7B and the current frame is the position of the viewpoint 1201 in FIG. 12, the coordinates (0, 150, 0) are included in the previous position / orientation information 1013. The coordinates (100, 150, 0) are stored in the current position / orientation information 1012. It should be noted that the frame referred to here is a frame of an image 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 / posture information 1012, front position / posture information 1013, and virtual space position / posture information 1014.

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

ステップ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 S1103, the CPU 301 of the client apparatus 101 calculates the amount of movement of the HMD 102 in the physical space by the function of the position / orientation identifying unit 503. More specifically, how much movement is performed using the position (previous position / orientation information 1013) of the HMD 102 in the real space acquired one frame before and the position (current position / orientation information 1012) of the HMD 102 currently acquired. It is calculated (acquired) whether or not (movement amount acquisition means). For example, the position one frame before is the position (coordinates (0,150,0)) of the viewpoint 702 in FIG. 7B, and the position of the viewpoint 1201 shown in FIG. 12 (coordinates (100,150,0)) at the present time. If it is, it can be seen that the movement is 100 cm in the X-axis direction. Therefore, this 100 cm is set as the movement amount of the HMD 102 in the physical space. The distance between the two points may be calculated by, for example, the Pythagorean 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. 16 described later. By executing the scale setting process, the scale factor 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 uses the function of the viewpoint control unit 511 to change 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. (Viewpoint changing means). Then, the information indicating the position of the changed viewpoint is overwritten on the information indicating the position of the virtual space position / orientation information 1014 in which the information one frame before 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, the Y coordinate “150” is multiplied by the value “10” of the scale information 1011 corresponding to the user, for example. As a result, as shown in FIG. 13, the viewpoint 1301 of the user becomes the 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 use the amount of movement calculated in step S1103 and the scale information corresponding to the user set in step S1104 to determine the viewpoint in the virtual space. Calculate the amount of movement. That is, the amount of movement of the viewpoint in the virtual space is calculated by multiplying the amount of movement calculated in step S1103 by the value of the scale information 1011 (moving amount determination 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 uses the function of the viewpoint control unit 511 to move the viewpoint of the user in the virtual space using the amount of movement calculated in step S1106 (viewpoint moving means). That is, since the information indicating the position of the user's viewpoint 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 viewpoint 1301 of the user after changing the height are (0, 1500, 0). This is multiplied by the amount of movement (100 cm in the X-axis direction) calculated in step S1103 by scale information 1011 (for example, "10") and added to the position of the viewpoint in the virtual space one frame before. In other words, in the real space, the movement is only 100 cm in the X-axis direction, but in the virtual space, the movement is 10 times that of 1000 cm. Therefore, as shown by the viewpoint 1401 in FIG. 14, the coordinates of this viewpoint 1401 are (1000, 1500, 0). In this way, the viewpoint of the user in the virtual space is moved with the height and the movement amount according to the scale. By executing this for each client device 101, it is possible to change the height of the viewpoint according to the scale information set for each user, and further it is possible to move in the virtual space by the amount of movement according to the scale information. Becomes

そして、あくまでスケール情報を用いるのは仮想空間におけるユーザの視点の位置に対する変更だけであり、その視点の向き(姿勢)に対してはスケール情報を適用しない。例えば、ユーザの頭が右に90度回転した場合に、この回転角度にスケール情報が示す値を乗算してしまうと、意図しない方向を向いてしまうことになる。これを防ぐために、現実空間においてユーザの視点の向きが移動した場合であっても、この移動量にはスケール情報を乗算しない。   Then, the scale information is used only for the change of the position of the viewpoint of the user 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 face an unintended direction. In order to prevent this, even if the direction of the user's viewpoint moves in the physical 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 S1108, the CPU 301 of the client apparatus 101 uses the function of the communication control unit 501 to transmit the virtual space position / orientation information 1014 and the scale information 1011 stored in the client apparatus 101 to the server apparatus 103. In the virtual space position / orientation information 1014 to be transmitted, the height of the viewpoint is changed in step S1105, and the viewpoint is moved in step S1107. The scale information 1011 to be transmitted is the one set in step S1104.

ステップS1109では、サーバ装置103のCPU401は、通信制御部531の機能により、クライアント装置101から送信された仮想空間位置姿勢情報1014とスケール情報1011とを受信する。受信した仮想空間位置姿勢情報1014とスケール情報1011とは、クライアント情報テーブル1020の仮想空間位置姿勢情報1024とスケール情報1023とにそれぞれ上書きする。ここで更新するレコードは、各情報の送信元であるクライアント装置101に対応するレコードである。   In step S1109, 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 device 101 that is the transmission source of each information.

ステップS1110では、サーバ装置103のCPU401は、通信制御部531の機能により、クライアント情報テーブル1020の各レコード(以下、クライアント情報という。)を、送信元のクライアント装置101に対して送信する。   In step S1110, 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 client apparatus 101 of the transmission source by the function of the communication control unit 531.

ステップS1111では、サーバ装置103のCPU301は、通信制御部501の機能により、サーバ装置103から送信されたクライアント情報を受信する。   In step S1111, 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 S1112, the CPU 301 of the server apparatus 103 arranges an avatar indicating another user in the virtual space by the function of the object control unit 510 (three-dimensional model arrangement means). 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 showing another user, is placed in the virtual space. More specifically, the viewpoint of another user is set in the virtual space at the position and attitude 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 this avatar is enlarged or reduced by the magnification indicated by the scale information 1023 (size changing means). At this time, fix the position of the head. Also, it is desirable to place only the avatars of other users in the virtual space. This is because if even your own avatar is placed in the virtual space, the view may be blocked by the three-dimensional model showing the avatar depending on the shape of the avatar.

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

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

ステップS1114では、クライアント装置101のCPU301は、複合現実画像生成部507の機能により、ステップS1101で取得した現実空間画像とステップS1113で取得した仮想空間画像とをRAM303等から読み出す。そして、当該現実空間画像に当該仮想空間画像を重畳し、複合現実画像を生成する。生成した複合現実画像はRAM303等に記憶する。尚、前述した通り、現実空間画像と仮想空間画像とは右目用と左目用の2枚ずつがRAM303等に記憶されているので、右目用の現実空間画像に右目用の仮想空間画像を重畳し、左目用の現実空間画像に左目用の仮想空間画像を重畳する。   In step S1114, the CPU 301 of the client apparatus 101 uses the function of the mixed reality image generation unit 507 to read the physical space image acquired in step S1101 and the virtual space image acquired in step S1113 from the RAM 303 or the like. 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 two RAMs for the right eye and two for the left eye are stored in the RAM 303 and the like, the real space image and the virtual space image are superimposed on the right space virtual space image. , 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 uses the function of the display control unit 508 to read the mixed reality image generated in step S1116 from the RAM 303 or the like. Then, it is displayed on the right-eye / left-eye display 322 of the HMD 102 through the video controller 306 (virtual space presenting means). There are two mixed reality images stored in the RAM 303 and the like, one for the right eye and one for the left eye. Therefore, the mixed reality image for the right eye is controlled to be displayed on the right eye display of the right eye / left eye display 322, and the mixed reality image for the left eye is controlled to be 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 S1116, the CPU 301 of the client apparatus 101 determines whether the user wearing the HMD 102 has been instructed to end the process of presenting mixed reality. For example, it is determined whether or not there is a stop instruction or an end instruction of the application of the client apparatus 101 that executes the processing of steps S1101 to S1115 described above. When it is determined that the end instruction is given, the series of processes is ended. 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 the processes of steps S1101 to S1115 are repeated until there is an end instruction. In this way, by repeatedly performing the processing of steps S1101 to S1115, information can be updated and presented in real time.

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

ステップS1601では、クライアント装置101のCPU301は、記憶部509の機能により、仮想空間位置姿勢情報1014を参照する。   In step S1601, the CPU 301 of the client apparatus 101 refers to the virtual space position / orientation information 1014 by 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 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 inside any of the objects arranged in the virtual space. To determine. The position of the user's viewpoint is compared with the bounding box surrounding the object to determine whether the position of the user's viewpoint is inside the object. When it is determined that the object is inside the object, the object arranged in the virtual space is selected according to the position of the user's viewpoint. 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 the coordinates of a rectangular parallelepiped surrounding the object are stored.

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

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

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

ステップS1605では、クライアント装置101のCPU301は、スケール設定部512の機能により、ユーザの視点が内部にあるとされたオブジェクトに対応するスケール情報を、オブジェクト固有スケール情報1032から取得する。すなわち、このオブジェクト固有スケール情報1032に格納されている倍率を取得し、RAM303に保存する。   In step S1605, the CPU 301 of the client apparatus 101 uses the function of the scale setting unit 512 to acquire scale information corresponding to an object for which the user's viewpoint is inside from the object-specific scale information 1032. 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 apparatus 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. The number of users whose scale information 1011 is “10” times is 1501. When the user moves his viewpoint into the object to look inside the house, the bounding box 1701 is compared with the position of the viewpoint. Accordingly, when it is determined that the user's viewpoint exists inside the object, this object is selected, and the 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-specific scale information 1032. Then, this parameter is set in the scale information 1011. When the height of the viewpoint is adjusted using the scale information 1011 thus set, a scale feeling as shown by 1702 is obtained. In this way, since it is possible to change the height of the viewpoint and the amount of movement of the user with the scale information corresponding to the object with which the user touches, for example, when browsing the inside of the building, the scale setting screen 900 is displayed. There is no need to set the scale via. That is, it is possible to automatically change the scale simply by touching the object.

次に、第2の実施形態について説明する。第2の実施形態は、第1の実施形態における図16の変形例である。第1の実施形態では、ユーザの視点がオブジェクトの内部に存在するか否かを判定したが、第2の実施形態ではオブジェクトが存在する領域に視点が存在するか否かによって、スケールの調整を行う判定する仕組みである。ここでいう領域とは平面領域のことであり、建築物でいえば土地の部分に相当する。つまり、その建築物が配置されている土地の部分に入ると、ユーザが建築物の中を覗き込むことなく、その建築物に対応するスケール情報が取得できるものである。以下、この説明を行う。   Next, a second embodiment will be described. The second embodiment is a modified example of FIG. 16 in the first embodiment. In the first embodiment, it is determined whether or not the user's viewpoint is inside the object, but in the second embodiment, the scale adjustment is performed depending on whether or not the viewpoint exists in the area where the object exists. This is a judgment mechanism. The area referred to here is a plane area, and corresponds to a land portion in a building. That is, when the user enters the portion of the land where the building is located, the 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 of FIGS. 16 and 10 are the same as those of the first embodiment, and therefore 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 of FIG. 11 as in the first embodiment.

ステップS1801では、クライアント装置101のCPU301は、記憶部509の機能により、仮想空間位置姿勢情報1014を参照する。   In step S1801, the CPU 301 of the client apparatus 101 refers to the virtual space position / orientation information 1014 by 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. The position of the user's viewpoint is within the area of the object by comparing the coordinates of the position of the user's viewpoint (for example, the X coordinate and the Z coordinate) with the area in which the object is arranged (for example, the XZ plane). Or not. If it is determined that the position of the user's viewpoint is within the area of the object, the process proceeds to step S1805. If it is determined that the position of the user's viewpoint is not within the object area, the process advances to step S1803.

ステップS1803では、クライアント装置101のCPU301は、スケール設定部512の機能により、変数Flgに“0”を代入する。変数Flgは視点がいずれかのオブジェクトの領域内にあり、当該オブジェクトに対応するスケール情報を用いてユーザの視点が調整されているか否かを示すフラグである。   In step S1803, the CPU 301 of the client apparatus 101 substitutes “0” into 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 the scale information corresponding to the object.

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

一方、ステップS1805では、クライアント装置101のCPU301は、オブジェクト制御部510の機能により、ユーザの視点が領域内にあるとされたオブジェクトに対応するスケール情報が存在するか否かを判定する。オブジェクトに対応するスケール情報は、当該オブジェクトのオブジェクト固有スケール情報1032を参照し、ここに倍率が格納されていれば、オブジェクトに対応するスケール情報が存在すると判定する。ユーザの視点が領域内にあるとされたオブジェクトに対応するスケール情報が存在すると判定した場合には、ステップS1806に処理を進める。ユーザの視点が領域内にあるとされたオブジェクトに対応するスケール情報が存在しないと判定した場合には、ステップS1803に処理を進める。   On the other hand, in step S1805, the CPU 301 of the client apparatus 101 uses the function of the object control unit 510 to determine whether or not there is scale information corresponding to the object whose user's viewpoint is within the area. For the scale information corresponding to the object, refer to the object-specific scale information 1032 of the object, and if the scale factor is stored here, it is determined that the scale information corresponding to the object exists. If it is determined that the scale information corresponding to the object that the user's viewpoint is within the area exists, the process proceeds to step S1806. If it is determined that the scale information corresponding to the object that the user's viewpoint is within the area does not exist, the process proceeds 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 uses the function of the scale setting unit 512 to determine whether the variable Flg is “0”. 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 S1807, the CPU 301 of the client apparatus 101 determines, by the function of the scale setting unit 512, whether or not the scale application direction 1931 exists in the object for which the user's viewpoint is within the area. The scale application direction 1931 is an item of 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 to which the object-specific scale information 1032 should be applied is stored. When it is determined that the scale application direction 1931 exists in the object that the user's viewpoint is within the area, the process proceeds to step S1808. When it is determined that the scale application direction 1931 does not exist in the object for which the user's viewpoint is within the area (the scale application direction 1931 is “NULL”), the process proceeds 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 uses the function of the object control unit 510 to determine whether or not the scale application direction 1931 of the object for which the user's viewpoint is within the area matches the moving direction of the viewpoint. To judge. That is, it is determined whether or not a predetermined condition of the scale application direction 1931 is satisfied. The scale application direction 1931 has a certain width. Therefore, the scale application direction 1931 and the moving direction of the viewpoint may be the same moving direction. If it is determined that the scale application direction 1931 of the object that the viewpoint of the user is within the area matches the moving direction of the viewpoint, the process proceeds to step S1809. If it is not determined that the scale application direction 1931 of the object that the viewpoint of the user is within the area does not match the moving direction of the viewpoint, the process proceeds to step S1803.

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

ステップS1810では、クライアント装置101のCPU301は、スケール設定部512の機能により、ユーザの視点が領域内にあるとされたオブジェクトに対応するスケール情報を、オブジェクト固有スケール情報1032から取得する。すなわち、このオブジェクト固有スケール情報1032に格納されている倍率を取得し、RAM303に保存する。   In step S1810, the CPU 301 of the client apparatus 101 uses the function of the scale setting unit 512 to acquire, from the object-specific scale information 1032, scale information corresponding to an object whose user's viewpoint is within the area. 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 uses the function of the scale setting unit 512 to overwrite the scale information 1011 with the scale information stored in the RAM 303 in step S1804 or step S1810. In this way, it becomes possible to apply either the scale information of the object or the scale information set by the user, depending on whether or not the position of the user's viewpoint is within the area in which the object is arranged. ..

例えば、図20に示すように仮想空間でユーザ2001が歩き回っている際に、建築物のオブジェクトが配置された領域に視点が移動したとする。この場合に、このオブジェクトに対応するオブジェクト固有スケール情報1032を取得し、スケール情報1011に設定する。つまり、ユーザはオブジェクトが配置された領域内に移動するだけで、そのオブジェクトに設定されたスケール感により、当該オブジェクトを閲覧することができる。   For example, as shown in FIG. 20, when the user 2001 walks around in the virtual space, the viewpoint moves to the area where the object of the building is arranged. In this case, the object-specific scale information 1032 corresponding to this object is acquired and set in the scale information 1011. In other words, the user can browse the object with the sense of scale set for the object simply by moving within 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 in which the object is arranged. For example, assume that the scale application direction 1931 of the object is “180 degrees ± 60 degrees”. When the user enters from the direction 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 times). To). With this setting, the position of the viewpoint of the user 2001 in FIG. 20 is changed as shown in 2002. However, when entering from another direction (2101), the original scale information remains unchanged (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 if the object unintentionally invades the area in which the object is arranged. It has the effect of being completed.

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

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

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

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

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

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、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, a hard disk, an optical disk, a magneto-optical disk, MO, a CD-ROM, a CD-R, a CD-RW, and the like. There are also magnetic tapes, non-volatile memory cards, ROMs, DVDs (DVD-ROMs, DVD-Rs), and the like.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。   As another method of supplying the program, a browser of a client computer is used to connect to a home page on the Internet. The computer program itself of the present invention or a compressed file containing an automatic installation function can be supplied from the home page 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 different homepages. That is, a WWW server that allows a plurality of users to download a program file for implementing the functional processing of the present invention on a computer is also included in the present invention.

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

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

なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。   It should be noted that the above-described embodiments are merely examples of specific embodiments for carrying out the present invention, and the technical scope of the present invention should not be limitedly interpreted by these. 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,
Storage means for storing, for each user, a parameter for changing the height of the viewpoint set in the virtual space,
Viewpoint setting means for setting the viewpoint of the user in the virtual space based on the height of the viewpoint of the user existing in the real space,
Viewpoint changing means for changing the height of the viewpoint of the user set by the viewpoint setting means according to the parameter corresponding to the user stored in the storage means,
Movement amount acquisition means for acquiring the movement amount of the user in the physical space,
Using the parameter corresponding to the user whose movement amount is acquired by the movement amount acquisition unit and the movement amount of the user acquired by the movement amount acquisition unit, the viewpoint of the user changed by the viewpoint changing unit A movement amount determining means for determining the movement amount,
An information processing system, comprising: viewpoint moving means for moving the viewpoint of the user by the movement amount determined by the movement amount determining means.
前記情報処理システムは、
前記仮想空間に前記ユーザを示す三次元モデルを配置する三次元モデル配置手段と、
前記三次元モデル配置手段で配置された三次元モデルを、当該三次元モデルが示すユーザに対応する前記パラメータに応じたサイズに変更するサイズ変更手段と
を更に備えることを特徴とする請求項1に記載の情報処理システム。
The information processing system,
A three-dimensional model placement means for placing a three-dimensional model showing the user in the virtual space,
The size change means for changing the size of the three-dimensional model placed by the three-dimensional model placement means to a size corresponding to the parameter corresponding to the user indicated by the three-dimensional model is further provided. Information processing system described.
前記情報処理システムは、
前記現実空間に存在するユーザの視点の高さと前記仮想空間に設定するユーザの視点の高さとに応じて、当該ユーザに対応する前記パラメータを算出するパラメータ算出手段
を更に備えることを特徴とする請求項1または2に記載の情報処理システム。
The information processing system,
It further comprises parameter calculation means for calculating the parameter corresponding to the user according to the height of the viewpoint of the user existing in the real space and the height of the viewpoint of the user set in the virtual space. The information processing system according to item 1 or 2.
前記情報処理システムは、
前記現実空間における前記ユーザの向きを取得する向き取得手段と、
前記視点移動手段で移動された視点の向きを、前記向き取得手段で取得した向きに変更する向き変更手段と
を更に備え、
前記向き変更手段は、前記移動量取得手段で取得した当該ユーザの移動量は用いずに、前記仮想空間における視点の向きを変更することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理システム。
The information processing system,
Orientation acquisition means for acquiring the orientation of the user in the physical space,
And a direction changing unit for changing the direction of the viewpoint moved by the viewpoint moving unit to the direction acquired by the direction acquiring unit,
The said direction changing means changes the direction of the viewpoint in the said virtual space, without using the movement amount of the said user acquired by the said movement amount acquisition means, The any one of Claim 1 thru | or 3 characterized by the above-mentioned. Information processing system described.
前記情報処理システムは、
前記ユーザごとに仮想空間を生成する仮想空間生成手段と、
前記仮想空間生成手段で生成された仮想空間を、当該仮想空間に対応する前記ユーザに対して提示する仮想空間提示手段と
を更に備えることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理システム。
The information processing system,
Virtual space generation means for generating a virtual space for each user,
5. A virtual space presenting means for presenting the virtual space generated by the virtual space generating means to the user corresponding to the virtual space, further comprising: Information processing system described.
仮想空間に設定される視点の高さを変更するためのパラメータをユーザごとに記憶する記憶手段を備え、仮想空間を提示するための情報処理システムの制御方法であって、
前記情報処理システムの視点設定手段が、現実空間に存在するユーザの視点の高さに基づいて、前記仮想空間に当該ユーザの視点を設定する視点設定ステップと、
前記情報処理システムの視点変更手段が、前記視点設定ステップで設定された前記ユーザの視点の高さを、前記記憶手段に記憶される当該ユーザに対応する前記パラメータに応じて変更する視点変更ステップと、
前記情報処理システムの移動量取得手段が、前記現実空間における前記ユーザの移動量を取得する移動量取得ステップと、
前記情報処理システムの移動量決定手段が、前記移動量取得ステップで移動量を取得されたユーザに対応する前記パラメータと前記移動量取得ステップで取得した当該ユーザの移動量とを用いて、前記視点変更ステップで変更された当該ユーザの視点の移動量を決定する移動量決定ステップと、
前記情報処理システムの視点移動手段が、前記移動量決定ステップで決定された移動量で前記ユーザの視点を移動する視点移動ステップと
を備えることを特徴とする情報処理システムの制御方法。
A control method of an information processing system for presenting a virtual space, comprising a storage unit that stores a parameter for changing a height of a viewpoint set in the virtual space for each user,
A viewpoint setting step of the viewpoint setting means of the information processing system, which sets the viewpoint of the user in the virtual space based on the height of the viewpoint of the user existing in the physical space,
A viewpoint changing step of the viewpoint changing means of the information processing system changing the height of the viewpoint of the user set in the viewpoint setting step according to the parameter corresponding to the user stored in the storage means; ,
A movement amount acquisition means of the information processing system, a movement amount acquisition step of acquiring the movement amount of the user in the physical space,
The movement amount determination means of the information processing system uses the parameter corresponding to the user whose movement amount is acquired in the movement amount acquisition step and the movement amount of the user acquired in the movement amount acquisition step, and the viewpoint A movement amount determining step of determining the movement amount of the viewpoint of the user changed in the changing step,
The viewpoint moving means of the information processing system comprises a viewpoint moving step of moving the viewpoint of the user by the moving amount determined in the moving amount determining step.
仮想空間に設定される視点の高さを変更するためのパラメータをユーザごとに記憶する記憶手段を備え、仮想空間を提示するための情報処理システムの制御方法を実行可能なプログラムであって、
前記情報処理システムを、
現実空間に存在するユーザの視点の高さに基づいて、前記仮想空間に当該ユーザの視点を設定する視点設定手段と、
前記視点設定手段で設定された前記ユーザの視点の高さを、前記記憶手段に記憶される当該ユーザに対応する前記パラメータに応じて変更する視点変更手段と、
前記現実空間における前記ユーザの移動量を取得する移動量取得手段と、
前記移動量取得手段で移動量を取得されたユーザに対応する前記パラメータと前記移動量取得手段で取得した当該ユーザの移動量とを用いて、前記視点変更手段で変更された当該ユーザの視点の移動量を決定する移動量決定手段と、
前記移動量決定手段で決定された移動量で前記ユーザの視点を移動する視点移動手段
として機能させることを特徴とするプログラム。

A program capable of executing a control method of an information processing system for presenting a virtual space, comprising a storage unit that stores a parameter for changing a height of a viewpoint set in the virtual space for each user,
The information processing system,
Viewpoint setting means for setting the viewpoint of the user in the virtual space based on the height of the viewpoint of the user existing in the real space,
Viewpoint changing means for changing the height of the viewpoint of the user set by the viewpoint setting means according to the parameter corresponding to the user stored in the storage means,
Movement amount acquisition means for acquiring the movement amount of the user in the physical space,
Using the parameter corresponding to the user whose movement amount is acquired by the movement amount acquisition unit and the movement amount of the user acquired by the movement amount acquisition unit, the viewpoint of the user changed by the viewpoint changing unit A movement amount determining means for determining the movement amount,
A program causing a viewpoint moving means for moving the viewpoint of the user by the movement amount determined by the movement amount determining means.

JP2019232295A 2019-12-24 2019-12-24 Information processing system, control method thereof, and program Pending JP2020074108A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019232295A JP2020074108A (en) 2019-12-24 2019-12-24 Information processing system, control method thereof, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019232295A JP2020074108A (en) 2019-12-24 2019-12-24 Information processing system, control method thereof, and program

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2020074108A true JP2020074108A (en) 2020-05-14
JP2020074108A5 JP2020074108A5 (en) 2020-08-20

Family

ID=70610169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019232295A Pending JP2020074108A (en) 2019-12-24 2019-12-24 Information processing system, control method thereof, and program

Country Status (1)

Country Link
JP (1) JP2020074108A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021261346A1 (en) * 2020-06-23 2021-12-30 株式会社ソニー・インタラクティブエンタテインメント Information processing device, method, and program, and information processing system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005115595A (en) * 2003-10-07 2005-04-28 Canon Inc Mixed reality presentation apparatus
JP2005148844A (en) * 2003-11-11 2005-06-09 Fukuda Gakuen Display system
JP2005293413A (en) * 2004-04-02 2005-10-20 Matsushita Electric Works Ltd Movable unit in virtual space
JP2009093478A (en) * 2007-10-10 2009-04-30 Yahoo Japan Corp Virtual space broadcasting apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005115595A (en) * 2003-10-07 2005-04-28 Canon Inc Mixed reality presentation apparatus
JP2005148844A (en) * 2003-11-11 2005-06-09 Fukuda Gakuen Display system
JP2005293413A (en) * 2004-04-02 2005-10-20 Matsushita Electric Works Ltd Movable unit in virtual space
JP2009093478A (en) * 2007-10-10 2009-04-30 Yahoo Japan Corp Virtual space broadcasting apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ファミリーコンピュータ スーパーマリオブラザーズ 取扱説明書, JPN6021009994, 1985, pages 8 - 9, ISSN: 0004468509 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021261346A1 (en) * 2020-06-23 2021-12-30 株式会社ソニー・インタラクティブエンタテインメント Information processing device, method, and program, and information processing system

Similar Documents

Publication Publication Date Title
CN107590771B (en) 2D video with options for projection viewing in modeled 3D space
JP7208549B2 (en) VIRTUAL SPACE CONTROL DEVICE, CONTROL METHOD THEREOF, AND PROGRAM
JP7060778B2 (en) Information processing system, information processing system control method and program
KR101860313B1 (en) Method and system for editing scene in three-dimensional space
JP6677890B2 (en) Information processing system, its control method and program, and information processing apparatus, its control method and program
CN108377361B (en) Display control method and device for monitoring video
US10777009B2 (en) Dynamically forming an immersive augmented reality experience through collaboration between a consumer and a remote agent
JP2015125641A (en) Information processing device, control method therefor, and program
JP6871501B2 (en) Information processing equipment, information processing system, its control method and program
CN106980378B (en) Virtual display method and system
JP2018106297A (en) Mixed reality presentation system, information processing apparatus and control method thereof, and program
EP3616402A1 (en) Methods, systems, and media for generating and rendering immersive video content
JP6011567B2 (en) Information processing apparatus, control method thereof, and program
JP7273325B2 (en) Information processing device, information processing system, information processing method and program
JP6152888B2 (en) Information processing apparatus, control method and program thereof, and information processing system, control method and program thereof
JP2020074108A (en) Information processing system, control method thereof, and program
JP2017084215A (en) Information processing system, control method thereof, and program
JP6617547B2 (en) Image management system, image management method, and program
JP6638326B2 (en) Information processing system, control method thereof, and program
JP7279113B2 (en) IMAGE PROCESSING APPARATUS, IMAGE PROCESSING METHOD, COMPUTER PROGRAM
JP6357412B2 (en) Information processing apparatus, information processing system, information processing method, and program
JP2022181153A (en) 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
JP6810342B2 (en) Information processing equipment, information processing system, its control method and program
JP2015121892A (en) Image processing apparatus, and image processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210823

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211130