JP7332823B1 - program - Google Patents

program Download PDF

Info

Publication number
JP7332823B1
JP7332823B1 JP2023013041A JP2023013041A JP7332823B1 JP 7332823 B1 JP7332823 B1 JP 7332823B1 JP 2023013041 A JP2023013041 A JP 2023013041A JP 2023013041 A JP2023013041 A JP 2023013041A JP 7332823 B1 JP7332823 B1 JP 7332823B1
Authority
JP
Japan
Prior art keywords
virtual space
image
user terminal
user
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023013041A
Other languages
Japanese (ja)
Inventor
万悠子 梶山
聡士 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Colopl Inc
Original Assignee
Colopl 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 Colopl Inc filed Critical Colopl Inc
Priority to JP2023013041A priority Critical patent/JP7332823B1/en
Application granted granted Critical
Publication of JP7332823B1 publication Critical patent/JP7332823B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】仮想空間内での疑似体験をしているユーザに、現実空間に実際に行くモチベーションを与えることができるプログラムを提供する。【解決手段】プログラムは、コンピュータを、現実空間に対応する仮想空間を定義する仮想空間定義手段と、現実空間に設置された検知装置の検知結果に基づく数のオブジェクトを、仮想空間内に配置する配置手段と、第1ユーザ端末に対して実行された移動操作に基づいて、仮想空間内で仮想カメラを移動させるカメラ移動手段と、仮想カメラで仮想空間内を撮像した仮想空間画像を生成する画像生成手段と、仮想空間画像を第1ユーザ端末に表示させる画像表示手段として機能させる。【選択図】図10A program capable of motivating a user who is having a simulated experience in a virtual space to actually go to a real space is provided. A program causes a computer to arrange virtual space definition means for defining a virtual space corresponding to the real space, and the number of objects based on the detection result of a detection device installed in the real space in the virtual space. arranging means; camera moving means for moving the virtual camera within the virtual space based on a movement operation performed on the first user terminal; It functions as a generation means and an image display means for displaying a virtual space image on the first user terminal. [Selection drawing] Fig. 10

Description

本発明は、プログラムに関する。 The present invention relates to programs.

従来より、現実世界における所定の場所(例えば、街、商業施設、商店、イベント会場、テーマパーク、公園など)に対応するコンテンツを、当該場所(以下、「現実空間」と表記する。)にいないユーザに提供する、所謂VR技術が知られている(例えば、特許文献1)。 Conventionally, content corresponding to a predetermined place in the real world (for example, town, commercial facility, store, event venue, theme park, park, etc.) is not in the place (hereinafter referred to as "real space"). There is known a so-called VR technology that is provided to users (for example, Patent Literature 1).

より詳細には、現実空間に対応する仮想空間から切り取った画像をユーザ端末に表示させ、ユーザ端末に対する移動操作に基づいて表示される画像の視点を移動する。これにより、ユーザ端末を操作するユーザは、現実空間に実際に行かなくても、現実空間に行ったかのような体験をすることができる。 More specifically, an image cut out from a virtual space corresponding to the real space is displayed on the user terminal, and the viewpoint of the displayed image is moved based on a movement operation on the user terminal. Thereby, the user operating the user terminal can have an experience as if he or she were in the real space without actually going to the real space.

特開2022-122810号公報JP 2022-122810 A

しかしながら、仮想空間内での疑似体験をしたユーザに、現実空間に実際に行くモチベーションを与えるのが難しいという課題がある。そして、VR技術の発達に伴って仮想空間への没入感が高まるほど、前述の課題も顕著になる。 However, there is a problem that it is difficult to motivate users who have simulated experiences in the virtual space to actually go to the real space. As the VR technology develops and the feeling of immersion in the virtual space increases, the above-mentioned problems become more conspicuous.

本発明は、上記の事情に鑑みてなされたものであり、その目的は、仮想空間内での疑似体験をしているユーザに、現実空間に実際に行くモチベーションを与えることができるプログラムを提供することにある。 SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and its object is to provide a program capable of motivating a user who is having a simulated experience in a virtual space to actually go to the real space. That's what it is.

前記課題を解決するため、本発明に係るプログラムは、コンピュータを、現実空間に対応する仮想空間を定義する仮想空間定義手段と、前記現実空間に設置された検知装置の検知結果に基づく数のオブジェクトを、前記仮想空間内に配置する配置手段と、仮想カメラで前記仮想空間内を撮像した仮想空間画像を生成する画像生成手段と、前記仮想空間画像を第1ユーザ端末に表示させる画像表示手段として機能させ、前記画像生成手段は、前記第1ユーザ端末に対して実行された前記オブジェクトの選択操作に基づいて、前記検知装置によって検知された属性に対応付けて予め登録されたメッセージを、選択された前記オブジェクトを通じて出力するIn order to solve the above problems, a program according to the present invention comprises a computer, a virtual space defining means for defining a virtual space corresponding to the real space, and a number of objects based on the detection result of a detection device installed in the real space. in the virtual space ; image generating means for generating a virtual space image obtained by imaging the virtual space with a virtual camera; and image display means for displaying the virtual space image on the first user terminal. and the image generation means generates a message registered in advance in association with the attribute detected by the detection device based on the selection operation of the object performed on the first user terminal, Output through the selected object .

本発明によれば、仮想空間内での疑似体験をしているユーザに、現実空間に実際に行くモチベーションを与えることができる。 According to the present invention, it is possible to motivate a user who is having a simulated experience in the virtual space to actually go to the real space.

本実施形態に係るシステムの概要を示す図である。It is a figure which shows the outline|summary of the system which concerns on this embodiment. サーバのハードウェア構成図である。3 is a hardware configuration diagram of a server; FIG. ユーザ端末の一例であるHMDセットのハードウェア構成図である。2 is a hardware configuration diagram of an HMD set as an example of a user terminal; FIG. ユーザ端末の他の例であるタブレット端末のハードウェア構成図である。FIG. 4 is a hardware configuration diagram of a tablet terminal that is another example of a user terminal; 仮想空間の一態様を概念的に表す図である。1 is a diagram conceptually representing one aspect of a virtual space; FIG. 仮想空間において視界領域をX方向から見たYZ断面を表す図である。It is a figure showing the YZ cross section which looked at the field-of-view area from the X direction in virtual space. 仮想空間において視界領域をY方向から見たXZ断面を表す図である。It is a figure showing the XZ cross section which looked at the field-of-view area from the Y direction in virtual space. サーバ及びユーザ端末の機能ブロック図である。3 is a functional block diagram of a server and user terminals; FIG. 実施例1に係るサーバの処理を示すフローチャートである。6 is a flow chart showing processing of the server according to the first embodiment; 実施例1に係る第1ユーザ端末の処理を示すフローチャートである。8 is a flow chart showing processing of the first user terminal according to the first embodiment; 仮想空間画像生成&表示処理のフローチャートである。4 is a flowchart of virtual space image generation and display processing; ステップS21、S22に対応する仮想空間の概念図である。It is a conceptual diagram of the virtual space corresponding to steps S21 and S22. ステップS47に対応する仮想空間の概念図及び仮想空間画像を示す図である。It is a figure which shows the conceptual diagram and virtual space image of the virtual space corresponding to step S47. ステップS48に対応する仮想空間の概念図及び仮想空間画像を示す図である。It is a figure which shows the conceptual diagram and virtual space image of the virtual space corresponding to step S48. ステップS45に対応する仮想空間の概念図及び仮想空間画像を示す図である。It is a figure which shows the conceptual diagram and virtual space image of the virtual space corresponding to step S45. ステップS43でNoの場合に対応する仮想空間の概念図及び仮想空間画像を示す図である。FIG. 10 is a diagram showing a conceptual diagram of a virtual space and a virtual space image corresponding to the case of No in step S43; 人の属性とメッセージとを対応付けて保持するメッセージテーブルの例である。It is an example of a message table that holds attributes of people and messages in association with each other. 実施例2に係る第2ユーザ端末の処理を示すフローチャートである。10 is a flow chart showing processing of the second user terminal according to the second embodiment; ステータス設定画面を示す図である。It is a figure which shows a status setting screen. 実施例2に係る第1ユーザ端末の処理を示すフローチャートである。10 is a flow chart showing processing of the first user terminal according to the second embodiment; 操作可能状態の他人アバターを選択した際の仮想空間画像を示す図である。FIG. 10 is a diagram showing a virtual space image when another person's avatar in an operable state is selected; 操作不能状態の他人アバター及びモブキャラを選択した際の仮想空間画像を示す図である。FIG. 10 is a diagram showing a virtual space image when a non-operable third party avatar and a mob character are selected;

以下、実施形態に係るシステム1を図面に基づいて説明する。なお、以下に記載する本発明の実施形態は、本発明を具体化する際の一例を示すものであって、本発明の範囲を実施形態の記載の範囲に限定するものではない。従って、本発明は、実施形態に種々の変更を加えて実施することができる。 A system 1 according to an embodiment will be described below with reference to the drawings. It should be noted that the embodiments of the present invention described below are merely examples of embodying the present invention, and the scope of the present invention is not limited to the scope of the description of the embodiments. Therefore, the present invention can be implemented by adding various changes to the embodiments.

[システム1の概要]
図1は、本実施形態に係るシステム1の概要を示す図である。図1に示すように、システム1は、サーバ10と、ユーザ端末20A、20B、20C(以下、これらを総称して、「ユーザ端末20」と表記することがある。)とを主に備える。なお、図1には3つのユーザ端末20が図示されているが、システム1に含まれるユーザ端末20の例はこれに限定されない。サーバ10及びユーザ端末20は、通信ネットワーク2を介して相互通信可能に接続されている。通信ネットワーク2の具体例は特に限定されないが、例えば、インターネット、移動体通信システム(例えば、4G、5Gなど)、Wi-Fi(登録商標)などの無線ネットワーク、またはこれらの組み合わせで構成される。
[Overview of System 1]
FIG. 1 is a diagram showing an outline of a system 1 according to this embodiment. As shown in FIG. 1, the system 1 mainly includes a server 10 and user terminals 20A, 20B, and 20C (hereinafter collectively referred to as "user terminals 20"). Although three user terminals 20 are illustrated in FIG. 1, examples of the user terminals 20 included in the system 1 are not limited to this. The server 10 and the user terminal 20 are connected via the communication network 2 so as to be able to communicate with each other. A specific example of the communication network 2 is not particularly limited, but is configured by, for example, the Internet, a mobile communication system (eg, 4G, 5G, etc.), a wireless network such as Wi-Fi (registered trademark), or a combination thereof.

本実施形態に係るシステム1は、サーバ10が提供する共通の仮想空間を、複数のユーザ端末20A~20Cそれぞれのユーザに体験させるためのシステムである。より詳細には、ユーザ端末20は、ユーザに関連付けられたユーザキャラクタ(以下、「アバター」と表記することがある。)を仮想空間に配置し、予め設定された視点から仮想空間を見た画像をユーザ端末20に表示させる。 A system 1 according to this embodiment is a system for allowing users of a plurality of user terminals 20A to 20C to experience a common virtual space provided by a server 10. FIG. More specifically, the user terminal 20 arranges a user character associated with the user (hereinafter sometimes referred to as an “avatar”) in the virtual space, and an image of the virtual space viewed from a preset viewpoint. is displayed on the user terminal 20 .

また、ユーザ端末20は、操作装置に対するユーザの操作に連動して、仮想空間内でアバターを動作させる。アバターの動作とは、例えば、仮想空間内で移動すること、身体の各部を動かすこと、姿勢を変えること、顔の表情を変化させること、発話すること、仮想空間内に配置されたオブジェクトを動かすことなどを含む。 In addition, the user terminal 20 operates the avatar in the virtual space in conjunction with the user's operation on the operation device. The actions of the avatar include, for example, moving within the virtual space, moving parts of the body, changing posture, changing facial expressions, speaking, and moving objects placed within the virtual space. including things.

さらに、ユーザ端末20は、アバターの動作やステータスの変化を示すアバターデータを、通信ネットワーク2を通じてサーバ10に送信する。サーバ10は、ユーザ端末20から受信したアバターデータを、通信ネットワーク2を通じて他のユーザ端末20に送信する。そして、ユーザ端末20は、サーバ10から受信したアバターデータに基づいて、仮想空間内の対応するアバターの動作やステータスを更新する。 Furthermore, the user terminal 20 transmits avatar data indicating changes in the avatar's actions and status to the server 10 via the communication network 2 . The server 10 transmits the avatar data received from the user terminal 20 to other user terminals 20 through the communication network 2 . Based on the avatar data received from the server 10, the user terminal 20 updates the motion and status of the corresponding avatar in the virtual space.

また、本実施形態に係るシステム1では、現実空間に対応する仮想空間を提供する。すなわち、本実施形態に係る仮想空間は、現実空間を模した空間である。但し、システム1で提供される仮想空間は、現実空間と完全に一致している必要はなく、適宜デフォルメされていてもよい。現実空間とは、例えば、現実に存在する街、商業施設、商店、テーマパーク、イベント会場、公園、駅などを指す。 Further, the system 1 according to this embodiment provides a virtual space corresponding to the real space. In other words, the virtual space according to this embodiment is a space imitating the real space. However, the virtual space provided by the system 1 does not have to match the real space completely, and may be deformed as appropriate. The real space refers to, for example, a town, commercial facilities, stores, theme parks, event venues, parks, stations, etc. that exist in reality.

さらに、本実施形態に係るシステム1(サーバ10)は、現実空間に設置された検知装置3と通信ネットワーク2を通じて通信可能に構成されている。検知装置3は、現実空間内の人を検知する装置である。そして、検知装置3は、検知結果を示す検知データを、通信ネットワーク2を通じてサーバ10に送信する。なお、システム1に接続される検知装置3の種類は1種類に限定されず、複数種類が組み合わせられてもよい。 Furthermore, the system 1 (server 10 ) according to this embodiment is configured to be able to communicate with the detection device 3 installed in the physical space through the communication network 2 . The detection device 3 is a device that detects a person in the physical space. Then, the detection device 3 transmits detection data indicating the detection result to the server 10 through the communication network 2 . In addition, the type of the detection device 3 connected to the system 1 is not limited to one type, and multiple types may be combined.

一例として、検知装置3は、現実空間を上方から俯瞰して撮像するカメラ(定点カメラ)でもよい。この場合の検知装置3は、現実空間の俯瞰映像を検知データとしてサーバ10に送信する。他の例として、検知装置3は、商業施設、商店、テーマパーク、イベント会場に入場する人の顔を撮像するカメラ(例えば、表面温度を測定する装置)でもよい。この場合の検知装置3は、人の顔の画像を検知データとしてサーバ10に送信する。さらに他の例として、検知装置3は、テーマパーク、イベント会場、駅に入場する改札機でもよい。この場合の検知装置3は、改札機に挿入されたチケットの購入情報(例えば、大人または子供の区別、チケットの種類、購入金額など)及び改札機に挿入された時刻などを検知データとしてサーバ10に送信する。但し、検知データの具体例は、これらに限定されない。 As an example, the detection device 3 may be a camera (fixed-point camera) that captures an image of the physical space from above. In this case, the detection device 3 transmits a bird's-eye view image of the physical space to the server 10 as detection data. As another example, the detection device 3 may be a camera (for example, a device that measures the surface temperature) that captures the face of a person entering a commercial facility, store, theme park, or event venue. The detection device 3 in this case transmits an image of a person's face to the server 10 as detection data. As still another example, the detection device 3 may be a ticket gate for entering a theme park, an event venue, or a train station. In this case, the detection device 3 uses the purchase information of the ticket inserted into the ticket gate (for example, whether it is an adult or a child, the type of ticket, the purchase price, etc.) and the time when the ticket was inserted into the ticket gate as detection data. Send to However, specific examples of detection data are not limited to these.

そして、本実施形態に係るサーバ10は、検知装置3から受信した検知データを分析して、現実空間に存在する人の数、位置、及び属性を特定する。人の属性とは、例えば、性別、年齢(大人または子供の区別)、姿勢(例えば、立っている、歩いている、走っている)などを指す。そして、サーバ10は、特定した人に対応する非ユーザキャラクタ(以下、「モブキャラ」と表記する。)を仮想空間に配置する。より詳細には、サーバ10は、モブキャラの形状や配置を示すモブキャラデータを、通信ネットワーク2を通じてユーザ端末20に送信する。そして、ユーザ端末20は、サーバ10から受信したモブキャラデータに基づいて、仮想区間内にモブキャラを配置する。これにより、ユーザ端末20にモブキャラが表示される。 Then, the server 10 according to this embodiment analyzes the detection data received from the detection device 3, and identifies the number, positions, and attributes of people present in the physical space. The attributes of a person refer to, for example, sex, age (adult or child), posture (eg, standing, walking, running), and the like. Then, the server 10 arranges a non-user character (hereinafter referred to as a "mob character") corresponding to the specified person in the virtual space. More specifically, the server 10 transmits mob-chara data indicating the shape and arrangement of the mob-chara to the user terminal 20 via the communication network 2 . Then, based on the mob character data received from the server 10, the user terminal 20 arranges mob characters within the virtual section. As a result, the mob character is displayed on the user terminal 20 .

前述したように、本実施形態に係る仮想空間には、アバターと、モブキャラとが配置される。アバター及びモブキャラは、人の形をしている点で共通する。アバターは、ユーザ端末20のユーザによって外観(例えば、顔の形、髪型、服装など)が決定される。また、アバターは、ユーザ端末20を通じたユーザの操作に連動して、仮想空間内で動作する。これに対して、モブキャラは、サーバ10によって外観が決定される。一例として、サーバ10は、予め登録されたモブキャラの候補の中から、検知装置3で検知した属性に合致するモブキャラを選択してもよい。他の例として、サーバ10は、過去に仮想空間にいたアバターのログから、検知装置3で検知した属性に合致するモブキャラを選択してもよい。また、モブキャラは、サーバ10によって決定された方法で動作してもよいし、停止していてもよい。 As described above, avatars and mob characters are placed in the virtual space according to this embodiment. Avatars and mob characters are common in that they are shaped like humans. The avatar's appearance (eg, face shape, hairstyle, clothing, etc.) is determined by the user of the user terminal 20 . Also, the avatar operates in the virtual space in conjunction with the user's operation through the user terminal 20 . On the other hand, the appearance of the mob character is determined by the server 10 . As an example, the server 10 may select a mob character that matches the attributes detected by the detection device 3 from among pre-registered mob character candidates. As another example, the server 10 may select a mob character that matches the attributes detected by the detection device 3 from a log of avatars who have been in the virtual space in the past. Also, the mob character may operate in a manner determined by the server 10, or may be stopped.

[サーバ10の構成]
図2は、サーバ10のハードウェア構成図である。サーバ10は、例えば、ワークステーション、またはパーソナルコンピュータなどの汎用コンピュータで実現される。図2に示すように、サーバ10は、プロセッサ11と、メモリ12と、ストレージ13と、入出力インタフェース14と、通信インタフェース15とを主に備える。サーバ10の各構成要素は、通信バス19に接続されている。
[Configuration of server 10]
FIG. 2 is a hardware configuration diagram of the server 10. As shown in FIG. The server 10 is implemented by, for example, a workstation or a general-purpose computer such as a personal computer. As shown in FIG. 2 , the server 10 mainly includes a processor 11 , memory 12 , storage 13 , input/output interface 14 and communication interface 15 . Each component of server 10 is connected to communication bus 19 .

プロセッサ11は、メモリ12またはストレージ13に格納されているサーバプログラム13Pに含まれる一連の命令を実行することによって、後述する処理を実現する。プロセッサ11は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)、その他のデバイスとして実現される。 The processor 11 realizes the processing described later by executing a series of instructions included in the server program 13P stored in the memory 12 or the storage 13. FIG. The processor 11 is implemented as, for example, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), an MPU (Micro Processor Unit), an FPGA (Field-Programmable Gate Array), and other devices.

メモリ12は、サーバプログラム13P及びデータを一時的に保持する。サーバプログラム13Pは、例えば、ストレージ13からロードされる。データは、サーバ10に入力されたデータと、プロセッサ11によって生成されたデータとを含む。例えば、メモリ12は、RAM(Random Access Memory)、その他の揮発メモリとして実現される。 The memory 12 temporarily holds the server program 13P and data. The server program 13P is loaded from the storage 13, for example. The data includes data input to server 10 and data generated by processor 11 . For example, the memory 12 is implemented as a RAM (Random Access Memory) or other volatile memory.

ストレージ13は、サーバプログラム13P及びデータを永続的に保持する。ストレージ13は、例えば、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。また、ストレージ13は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに他の例として、ストレージ13は、サーバ10に内蔵されることに代えて、外部記憶装置としてサーバ10に接続されていてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のユーザ端末20が使用される場面において、サーバプログラム13Pやデータの更新を一括して行うことが可能になる。 The storage 13 permanently holds the server program 13P and data. The storage 13 is implemented as, for example, a ROM (Read-Only Memory), hard disk device, flash memory, or other non-volatile memory device. Also, the storage 13 may be implemented as a removable storage device such as a memory card. As still another example, the storage 13 may be connected to the server 10 as an external storage device instead of being built in the server 10 . According to such a configuration, for example, in a scene where a plurality of user terminals 20 are used like an amusement facility, it is possible to collectively update the server program 13P and data.

入出力インタフェース14は、モニタ、入力装置(例えば、キーボード、ポインティングデバイス)、外部記憶装置、スピーカ、カメラ、マイク、センサ等の外部装置をサーバ10に接続するためのインタフェースである。プロセッサ11は、入出力インタフェース14を通じて外部装置と通信する。入出力インタフェース14は、例えば、USB(Universal Serial Bus)、DVI(Digital Visual Interface)、HDMI(High-Definition Multimedia Interface、登録商標)、その他の端子で用いて実現される。 The input/output interface 14 is an interface for connecting external devices such as a monitor, an input device (for example, a keyboard, a pointing device), an external storage device, a speaker, a camera, a microphone, and a sensor to the server 10 . Processor 11 communicates with external devices through input/output interface 14 . The input/output interface 14 is implemented using, for example, a USB (Universal Serial Bus), DVI (Digital Visual Interface), HDMI (High-Definition Multimedia Interface, registered trademark), and other terminals.

通信インタフェース15は、通信ネットワーク2に接続されている他の装置(例えば、検知装置3、ユーザ端末20)と通信する。通信インタフェース15は、例えば、LAN(Local Area Network)など有線通信インタフェース、Wi-Fi(Wireless Fidelity)、Bluetooth(登録商標)、NFC(Near Field Communication)などの無線通信インタフェースとして実現される。 The communication interface 15 communicates with other devices connected to the communication network 2 (eg, the detection device 3, the user terminal 20). The communication interface 15 is implemented as, for example, a wired communication interface such as LAN (Local Area Network), or a wireless communication interface such as Wi-Fi (Wireless Fidelity), Bluetooth (registered trademark), NFC (Near Field Communication).

[ユーザ端末20の構成]
図3は、ユーザ端末20の一例であるHMD(Head Mounted Display)セットのハードウェア構成図である。図4は、ユーザ端末20の他の例であるタブレット端末のハードウェア構成図である。ユーザ端末20は、例えば、図3に示すHMDセット、図4に示すタブレット端末の他、スマートフォン、フィーチャーフォン、ラップトップ型コンピュータ、デスクトップコンピュータなどとして実現される。
[Configuration of user terminal 20]
FIG. 3 is a hardware configuration diagram of an HMD (Head Mounted Display) set, which is an example of the user terminal 20. As shown in FIG. FIG. 4 is a hardware configuration diagram of a tablet terminal that is another example of the user terminal 20. As shown in FIG. The user terminal 20 is implemented as, for example, an HMD set shown in FIG. 3, a tablet terminal shown in FIG. 4, a smart phone, a feature phone, a laptop computer, a desktop computer, or the like.

図3に示すように、HMDセットとして実現されるユーザ端末20は、プロセッサ21と、メモリ22と、ストレージ23と、入出力インタフェース24と、通信インタフェース25とを有するコンピュータ26を備える。コンピュータ26の各構成要素は、通信バス29に接続されている。プロセッサ21、メモリ22、ストレージ23、入出力インタフェース24、通信インタフェース25、通信バス29の基本的な構成は、図2に示すプロセッサ11、メモリ12、ストレージ13、入出力インタフェース14、通信インタフェース15、通信バス19と共通する。また、ストレージ23は、端末プログラム23Pを保持する。 As shown in FIG. 3 , the user terminal 20 implemented as an HMD set includes a computer 26 having a processor 21 , memory 22 , storage 23 , input/output interface 24 and communication interface 25 . Each component of computer 26 is connected to communication bus 29 . The basic configuration of the processor 21, memory 22, storage 23, input/output interface 24, communication interface 25, and communication bus 29 is the same as the processor 11, memory 12, storage 13, input/output interface 14, communication interface 15, Common with the communication bus 19 . The storage 23 also holds a terminal program 23P.

また、HMDセットとして実現されるユーザ端末20は、コンピュータ26の外部装置として、HMD30と、動きセンサ41と、操作装置42とを備える。HMD30、動きセンサ41、及び操作装置42は、入出力インタフェース24を通じてプロセッサ21に接続されている。 Also, the user terminal 20 implemented as an HMD set includes an HMD 30 , a motion sensor 41 , and an operation device 42 as external devices of the computer 26 . The HMD 30 , motion sensor 41 and operation device 42 are connected to the processor 21 through the input/output interface 24 .

HMD30は、ユーザの頭部に装着されて、仮想空間をユーザに提供する。より詳細には、HMD30は、モニタを備える所謂ヘッドマウントディスプレイと、スマートフォンその他のモニタを有する端末を装着可能なヘッドマウント機器のいずれをも含み得る。HMD30は、モニタ31(表示装置)と、注視センサ32と、カメラ33、34と、マイク35と、スピーカ36とを主に備える。 The HMD 30 is worn on the user's head and provides the user with a virtual space. More specifically, the HMD 30 can include both a so-called head-mounted display having a monitor and a head-mounted device on which a smartphone or other terminal having a monitor can be attached. The HMD 30 mainly includes a monitor 31 (display device), a gaze sensor 32 , cameras 33 and 34 , a microphone 35 and a speaker 36 .

一例として、モニタ31は、非透過型の表示装置として実現される。モニタ31は、例えば、ユーザの両目の前方に位置するようにHMD30の本体に配置されている。非透過型のモニタ31は、例えば、液晶モニタ、有機EL(Electro Luminescence)モニタとして実現される。 As an example, the monitor 31 is implemented as a non-transmissive display device. The monitor 31 is arranged, for example, on the body of the HMD 30 so as to be positioned in front of both eyes of the user. The non-transmissive monitor 31 is implemented as, for example, a liquid crystal monitor or an organic EL (Electro Luminescence) monitor.

他の例として、モニタ31は、透過型の表示装置として実現される。この場合のHMD30は、ユーザの目を覆う密閉型ではなく、メガネ型のような開放型となる。モニタ31は、仮想空間を構成する画像の一部と、現実空間とを同時に表示する構成を含んでいてもよい。一例として、透過型のモニタ31は、HMD30に搭載されたカメラで撮像した現実空間の画像を表示してもよい。他の例として、透過型のモニタ31は、透過率を調整可能に構成されていてもよい。そして、透過型のモニタ31は、表示領域の一部の透過率を高く設定して、現実空間を直接視認できるようにしてもよい。 As another example, the monitor 31 is implemented as a transmissive display device. The HMD 30 in this case is not a closed type that covers the user's eyes, but an open type such as a glasses type. The monitor 31 may include a configuration for simultaneously displaying a portion of the image forming the virtual space and the real space. As an example, the transmissive monitor 31 may display an image of the real space captured by the camera mounted on the HMD 30 . As another example, the transmissive monitor 31 may be configured so that the transmissivity can be adjusted. The transmissive monitor 31 may have a high transmittance in a portion of the display area so that the real space can be directly viewed.

また、モニタ31は、ユーザに3次元画像を視認させるために、以下の構成を採用してもよい。一例として、モニタ31は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含んでもよい。他の例として、モニタ31は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合のモニタ31は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。 Further, the monitor 31 may employ the following configuration in order to allow the user to visually recognize the three-dimensional image. As an example, the monitor 31 may include a sub-monitor for displaying images for the right eye and a sub-monitor for displaying images for the left eye. As another example, the monitor 31 may be configured to integrally display the image for the right eye and the image for the left eye. The monitor 31 in this case includes a high speed shutter. The high speed shutter operates to alternately display the right eye image and the left eye image so that the image is perceived by only one eye.

注視センサ32は、ユーザの右目及び左目の視線が向けられる方向を検知する。つまり、注視センサ32は、ユーザの視線を検知する。注視センサ32は、例えば、アイトラッキング機能を有するセンサにより実現される。注視センサ32は、右目用のセンサ及び左目用のセンサを含むことが好ましい。注視センサ32は、ユーザの右目及び左目に赤外光を照射するとともに、照射光に対する角膜及び虹彩からの反射光を受けることにより各眼球の回転角を検知する。そして、注視センサ32は、検知した各回転角に基づいて、ユーザの視線を特定する。 Gaze sensor 32 detects the direction in which the user's right and left eyes are directed. That is, the gaze sensor 32 detects the line of sight of the user. The gaze sensor 32 is realized by, for example, a sensor having an eye tracking function. The gaze sensor 32 preferably includes a right eye sensor and a left eye sensor. The gaze sensor 32 irradiates the user's right eye and left eye with infrared light, and detects the rotation angle of each eyeball by receiving reflected light from the cornea and iris of the irradiated light. Then, the gaze sensor 32 identifies the line of sight of the user based on each detected rotation angle.

カメラ33は、HMD30を装着したユーザの顔の上部(より詳細には、ユーザの目、眉など)を撮像する。カメラ34は、HMD30を装着したユーザの顔の下部(より詳細には、ユーザの鼻、口など)を撮像する。例えば、HMD30の筐体のうち、ユーザに対面する側にカメラ33が取り付けられ、ユーザと対面する側と反対側にカメラ34が取り付けられる。なお、HMD30は、2台のカメラ33、34に代えて、ユーザの顔全体を撮像する1台のカメラを備えてもよい。 The camera 33 captures an image of the upper part of the user's face (more specifically, the user's eyes, eyebrows, etc.) wearing the HMD 30 . The camera 34 images the lower part of the user's face (more specifically, the user's nose, mouth, etc.) wearing the HMD 30 . For example, of the housing of the HMD 30, the camera 33 is attached to the side facing the user, and the camera 34 is attached to the side opposite to the side facing the user. Note that the HMD 30 may include a single camera that captures the entire face of the user instead of the two cameras 33 and 34 .

マイク35は、ユーザの発話を音声信号(電気信号)に変換してコンピュータ26に出力する。スピーカ36は、コンピュータ26から出力された音声信号を音声に変換してユーザに出力する。なお、HMD30は、スピーカ36に替えてイヤホンを含み得る。 The microphone 35 converts the user's speech into an audio signal (electrical signal) and outputs it to the computer 26 . The speaker 36 converts the audio signal output from the computer 26 into sound and outputs it to the user. Note that the HMD 30 may include earphones instead of the speaker 36 .

動きセンサ41は、HMD30の動きを検出するためのポジショントラッキング機能を有する。一例として、動きセンサ41は、HMD30が発する複数の赤外線を読み取って、現実空間内におけるHMD30の位置及び傾きを検出してもよい。他の例として、動きセンサ41は、カメラで実現されてもよい。この場合の動きセンサ41は、カメラから出力されるHMD30の画像情報を解析して、HMD30の位置及び傾きを検出する。さらに他の例として、動きセンサ41は、角速度センサ、地磁気センサ、あるいは加速度センサで実現されてもよい。 The motion sensor 41 has a position tracking function for detecting motion of the HMD 30 . As an example, the motion sensor 41 may read a plurality of infrared rays emitted by the HMD 30 to detect the position and tilt of the HMD 30 within the physical space. As another example, motion sensor 41 may be implemented with a camera. The motion sensor 41 in this case analyzes the image information of the HMD 30 output from the camera and detects the position and tilt of the HMD 30 . As still another example, the motion sensor 41 may be realized with an angular velocity sensor, a geomagnetic sensor, or an acceleration sensor.

操作装置42は、有線または無線によりコンピュータ26に接続されている。操作装置42は、ユーザによるコンピュータ26に対する命令の入力(操作)を受け付ける。一例として、操作装置42は、ユーザが把持した状態で操作する、所謂コントローラでもよい。他の例として、操作装置42は、ユーザの身体あるいは衣類の一部に装着可能に構成され、モーションセンサによってユーザの動きを検知するものでもよい。但し、操作装置42の具体例はこれらに限定されず、キーボード、ポインティングデバイス、タッチパネルなどでもよい。 The operating device 42 is connected to the computer 26 by wire or wirelessly. The operating device 42 accepts command inputs (operations) to the computer 26 by the user. As an example, the operating device 42 may be a so-called controller that is held and operated by the user. As another example, the operating device 42 may be configured to be attachable to a user's body or a part of clothing, and may detect the user's movement using a motion sensor. However, specific examples of the operation device 42 are not limited to these, and may be a keyboard, pointing device, touch panel, or the like.

図4に示すように、タブレット端末として実現されるユーザ端末20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース25と、モニタ31と、カメラ33、34と、マイク35と、スピーカ36と、動きセンサ41と、操作装置42とを主に備える。タブレット端末の各構成要素は、通信バス29に接続されている。プロセッサ21、メモリ22、ストレージ23、通信インタフェース25、モニタ31、カメラ33、34、マイク35、スピーカ36、動きセンサ41、操作装置42の基本的な構成は、HMDセットの場合と共通するので、以下、タブレット端末に特有の構成を説明する。 As shown in FIG. 4, a user terminal 20 implemented as a tablet terminal includes a processor 21, a memory 22, a storage 23, a communication interface 25, a monitor 31, cameras 33 and 34, a microphone 35, and a speaker. 36 , a motion sensor 41 , and an operating device 42 . Each component of the tablet terminal is connected to the communication bus 29 . Since the basic configuration of the processor 21, memory 22, storage 23, communication interface 25, monitor 31, cameras 33 and 34, microphone 35, speaker 36, motion sensor 41, and operation device 42 is common to the case of the HMD set, The configuration specific to the tablet terminal will be described below.

モニタ31は、平板状の筐体の表面に設けられている。カメラ33は、平板状の筐体の表面に取り付けられて、モニタ31を視認するユーザの顔を撮像する、所謂インカメラである。カメラ34は、平板状の筐体の裏面(モニタ31と反対側の面)に取り付けられて、周囲を撮像する、所謂アウトカメラである。動きセンサ41は、筐体の動き(例えば、互いに直交する3軸周りの回転)を検知する。タブレット端末に好適な操作装置42としては、例えば、モニタ31に重畳されて、ユーザによる各種タッチ操作(例えば、タップ、スライド、フリック、ピンチイン、ピンチアウトなど)を受け付けるタッチパネルである。 The monitor 31 is provided on the surface of a flat plate-shaped housing. The camera 33 is a so-called in-camera that is attached to the surface of the flat-plate housing and captures the face of the user viewing the monitor 31 . The camera 34 is a so-called out-camera that is attached to the rear surface of the flat housing (the surface opposite to the monitor 31) and captures an image of the surroundings. The motion sensor 41 detects the motion of the housing (for example, rotation about three mutually orthogonal axes). The operation device 42 suitable for the tablet terminal is, for example, a touch panel that is superimposed on the monitor 31 and receives various touch operations (eg, tap, slide, flick, pinch-in, pinch-out, etc.) by the user.

[仮想空間90の概要]
図5は、仮想空間90の一態様を概念的に表す図である。図6は、仮想空間90において視界領域94をX方向から見たYZ断面を表す図である。図7は、仮想空間90において視界領域94をY方向から見たXZ断面を表す図である。
[Overview of virtual space 90]
FIG. 5 is a diagram conceptually showing one aspect of the virtual space 90. As shown in FIG. FIG. 6 is a diagram showing a YZ cross section of the visual field area 94 viewed from the X direction in the virtual space 90. As shown in FIG. FIG. 7 is a diagram showing an XZ cross section of the visual field area 94 viewed from the Y direction in the virtual space 90. As shown in FIG.

図5に示すように、仮想空間90は、中心Cの360度方向の全体を覆う全天球状の構造を有する。図5では説明を複雑にしないために、仮想空間90の上半分の天球が例示されている。仮想空間90では各メッシュが規定される。各メッシュの位置は、仮想空間90に規定されるグローバル座標系であるXYZ座標系における座標値として予め規定されている。仮想空間90に展開可能なパノラマ画像91(静止画、動画等)を構成する各部分画像は、仮想空間90において対応する各メッシュにそれぞれ対応付けられる。 As shown in FIG. 5, the virtual space 90 has a spherical structure covering the entire 360-degree direction of the center C. As shown in FIG. In FIG. 5, the celestial sphere in the upper half of the virtual space 90 is illustrated so as not to complicate the explanation. Each mesh is defined in the virtual space 90 . The position of each mesh is defined in advance as coordinate values in the XYZ coordinate system, which is the global coordinate system defined in the virtual space 90 . Each partial image forming a panorama image 91 (still image, moving image, etc.) that can be developed in the virtual space 90 is associated with each corresponding mesh in the virtual space 90 .

例えば、仮想空間90では、中心Cを原点とするXYZ座標系が規定される。XYZ座標系は、例えば、実座標系に平行である。XYZ座標系における水平方向、鉛直方向(上下方向)、及び前後方向は、それぞれX軸、Y軸、Z軸として規定される。したがって、XYZ座標系のX軸(水平方向)が実座標系のx軸と平行であり、XYZ座標系のY軸(鉛直方向)が実座標系のy軸と平行であり、XYZ座標系のZ軸(前後方向)が実座標系のz軸と平行である。 For example, in the virtual space 90, an XYZ coordinate system with the center C as the origin is defined. The XYZ coordinate system is parallel to the real coordinate system, for example. The horizontal direction, vertical direction (vertical direction), and front-rear direction in the XYZ coordinate system are defined as the X-axis, Y-axis, and Z-axis, respectively. Therefore, the X-axis (horizontal direction) of the XYZ coordinate system is parallel to the x-axis of the real coordinate system, the Y-axis (vertical direction) of the XYZ coordinate system is parallel to the y-axis of the real coordinate system, and the The Z-axis (front-rear direction) is parallel to the z-axis of the real coordinate system.

仮想空間90には、ユーザ端末20に対応付けられた仮想カメラ92が配置される。仮想空間90内における仮想カメラ92の位置は、仮想空間90内におけるユーザの視点に相当する。また、仮想カメラ92の向きは、仮想空間90におけるユーザの視線(基準視線93)に相当する。そして、プロセッサ21は、仮想カメラ92の位置と向きとに基づいて、仮想空間90における視界領域94(仮想カメラ92の画角)を規定する。 A virtual camera 92 associated with the user terminal 20 is arranged in the virtual space 90 . The position of the virtual camera 92 within the virtual space 90 corresponds to the user's viewpoint within the virtual space 90 . Also, the orientation of the virtual camera 92 corresponds to the user's line of sight (reference line of sight 93 ) in the virtual space 90 . The processor 21 then defines a field of view area 94 (angle of view of the virtual camera 92 ) in the virtual space 90 based on the position and orientation of the virtual camera 92 .

図6に示すように、視界領域94は、YZ断面において領域95を含む。領域95は、仮想空間90内で基準視線93を含む鉛直断面(YZ断面)において、基準視線93を中心とする極角αの範囲である。図7に示すように、視界領域94は、XZ断面において領域96を含む。領域96は、仮想空間90内で基準視線93を含む水平断面(XZ断面)において、基準視線93を中心とする方位角βの範囲である。 As shown in FIG. 6, viewing area 94 includes area 95 in the YZ cross section. A region 95 is a range of a polar angle α around the reference line of sight 93 in a vertical section (YZ section) including the reference line of sight 93 in the virtual space 90 . As shown in FIG. 7, viewing area 94 includes area 96 in the XZ cross section. A region 96 is a range of an azimuth angle β centered on the reference line of sight 93 in a horizontal section (XZ section) including the reference line of sight 93 in the virtual space 90 .

プロセッサ21は、仮想空間90に展開されたパノラマ画像91のうち、視界領域94に含まれる部分画像を、仮想カメラ92が撮像した仮想空間画像97として生成(抽出)する。そして、プロセッサ21は、生成した仮想空間画像97をモニタ31に表示させる。すなわち、視界領域94は、仮想空間90内におけるユーザの視界に相当する。さらに、仮想空間90内で仮想カメラ92の位置及び向きの変化に追従して視界領域94が移動し、モニタ31に表示される仮想空間画像97が更新される。すなわち、ユーザの視界が移動する。 The processor 21 generates (extracts) a partial image included in the field of view area 94 of the panorama image 91 developed in the virtual space 90 as a virtual space image 97 captured by the virtual camera 92 . The processor 21 then causes the monitor 31 to display the generated virtual space image 97 . That is, the field of view area 94 corresponds to the user's field of view within the virtual space 90 . Further, the field of view area 94 moves in accordance with changes in the position and orientation of the virtual camera 92 within the virtual space 90, and the virtual space image 97 displayed on the monitor 31 is updated. That is, the user's field of view moves.

例えば、プロセッサ21は、操作装置42で受け付けたユーザの操作に連動して、仮想空間90内で仮想カメラ92を移動させる。また、プロセッサ21は、動きセンサ41で検知されたユーザ端末20の動き(例えば、互いに直交する3軸周りの回転)に連動して、仮想カメラ92の向き(すなわち、基準視線93)を変化させる。さらに、プロセッサ21は、位置及び向きが変化した後の仮想カメラ92で撮像した仮想空間画像97をモニタ31に表示させる。 For example, the processor 21 moves the virtual camera 92 within the virtual space 90 in conjunction with the user's operation received by the operation device 42 . In addition, the processor 21 changes the direction of the virtual camera 92 (that is, the reference line of sight 93) in conjunction with the motion of the user terminal 20 detected by the motion sensor 41 (for example, rotation about three mutually orthogonal axes). . Further, the processor 21 causes the monitor 31 to display a virtual space image 97 captured by the virtual camera 92 after the position and orientation have changed.

[サーバ10及びユーザ端末20の機能ブロック図]
図8は、サーバ10及びユーザ端末20の機能ブロック図である。図8に示すように、メモリ12にロードされたサーバプログラム13Pは、サーバ10を、アバター同期手段110、人抽出手段120、モブキャラ生成手段130として機能させる。また、メモリ22にロードされた端末プログラム23Pは、ユーザ端末20(コンピュータ26)を、仮想空間定義手段210、配置手段220、カメラ移動手段230、画像生成手段240、画像表示手段250として機能させる。
[Functional block diagram of server 10 and user terminal 20]
FIG. 8 is a functional block diagram of the server 10 and the user terminal 20. As shown in FIG. As shown in FIG. 8, the server program 13P loaded into the memory 12 causes the server 10 to function as avatar synchronization means 110, person extraction means 120, and mob character generation means . The terminal program 23P loaded into the memory 22 causes the user terminal 20 (computer 26) to function as virtual space definition means 210, placement means 220, camera movement means 230, image generation means 240, and image display means 250.

アバター同期手段110は、ユーザ端末20の1つから通信ネットワーク2を通じて受信したアバターデータを、他のユーザ端末20に送信(中継)する。これにより、全てのユーザ端末20A~20Cは、同一のアバターデータを保持する。その結果、全てのユーザ端末20A~20Cそれぞれで定義される仮想空間90において、同一の位置に同一のアバターが配置される。すなわち、全てのユーザ端末20A~20Cにおいて、アバターが同期される。 The avatar synchronization means 110 transmits (relays) avatar data received from one of the user terminals 20 through the communication network 2 to the other user terminals 20 . Thereby, all user terminals 20A to 20C hold the same avatar data. As a result, the same avatar is placed at the same position in the virtual space 90 defined by each of the user terminals 20A-20C. That is, avatars are synchronized in all user terminals 20A-20C.

人抽出手段120は、通信ネットワーク2を通じて検知装置3から検知データを受信する。次に、人抽出手段120は、検知装置3から受信した検知データから現実空間にいる人を抽出する。また、人抽出手段120は、検知装置3から受信した検知データから現実空間にいる人の属性を抽出してもよい。一例として、検知装置3がカメラの場合に、人抽出手段120は、周知の人認識技術を用いて、画像データまたは映像データから現実空間内の人の数及び位置、人の性別、年齢、姿勢などを抽出する。他の例として、検知装置3が改札機の場合に、人抽出手段120は、改札機に挿入されたチケットにから現実空間内の人の数及び年齢を抽出する。但し、人抽出手段120が人及び属性を抽出する具体的な方法は、前述の例に限定されず、周知の他の方法を採用することができる。 The person extraction means 120 receives detection data from the detection device 3 through the communication network 2 . Next, the person extraction means 120 extracts persons in the physical space from the detection data received from the detection device 3 . Also, the person extracting means 120 may extract attributes of persons in the physical space from the detection data received from the detection device 3 . As an example, when the detection device 3 is a camera, the person extraction means 120 uses a well-known person recognition technology to extract the number and positions of people in the physical space, their sex, age, and posture from image data or video data. Extract etc. As another example, when the detection device 3 is a ticket gate, the person extraction means 120 extracts the number and age of people in the physical space from the ticket inserted in the ticket gate. However, the specific method by which the person extracting means 120 extracts the person and attributes is not limited to the above example, and other well-known methods can be adopted.

モブキャラ生成手段130は、人抽出手段120で抽出した人に対応するモブキャラを示すモブキャラデータを生成する。モブキャラデータは、モブキャラの外観(例えば、体形、表情、髪型、服装など)、仮想空間90内のモブキャラの位置、モブキャラの姿勢などを示す。但し、現実空間内の人の位置と、仮想空間90内のモブキャラの位置とは、厳密に一致していなくてもよい。そして、モブキャラ生成手段130は、生成したモブキャラデータを全てのユーザ端末20A~20Cに送信する。より詳細には、モブキャラ生成手段130は、人抽出手段120によって抽出された人の数だけモブキャラを生成する。また、モブキャラ生成手段130は、人抽出手段120によって抽出された人の属性に対応する態様のモブキャラを生成する。例えば、抽出した性別が女性の場合に女性のモブキャラが生成され、抽出した年齢が子供の場合に子供のモブキャラが生成され、抽出した姿勢が座っている場合に座った状態のモブキャラが生成される。 The mob character generating means 130 generates mob character data representing mob characters corresponding to the people extracted by the person extracting means 120 . The mob character data indicates the appearance of the mob character (eg, body shape, facial expression, hairstyle, clothes, etc.), the position of the mob character in the virtual space 90, the posture of the mob character, and the like. However, the position of the person in the real space and the position of the mob character in the virtual space 90 do not have to match exactly. Then, the mob character generating means 130 transmits the generated mob character data to all the user terminals 20A to 20C. More specifically, the mob character generating means 130 generates as many mob characters as the number of people extracted by the person extracting means 120 . Also, the mob character generating means 130 generates a mob character having a mode corresponding to the attribute of the person extracted by the person extracting means 120 . For example, if the extracted gender is female, a female mob character is generated, if the extracted age is a child, a child mob character is generated, and if the extracted posture is sitting, a sitting mob character is generated. .

仮想空間定義手段210は、現実空間に対応する仮想空間90を定義する。より詳細には、仮想空間定義手段210は、仮想空間90を示す仮想空間データをメモリ22に展開する。仮想空間データは、例えば、パノラマ画像91と、仮想空間90内に配置されるオブジェクト(例えば、建物、植物)の形状及び位置とを示す。なお、仮想空間データは、予めサーバ10からダウンロードしてストレージ23に保持されていてもよいし、仮想空間90を定義する際にサーバ10からダウンロードされてもよい。また、仮想空間定義手段210は、複数の仮想空間90のうちから操作装置42を通じて選択された仮想空間90を定義してもよい。仮想空間90を定義する具体的な処理は既に周知なので、詳細な説明は省略する。 The virtual space defining means 210 defines a virtual space 90 corresponding to the real space. More specifically, virtual space definition means 210 develops virtual space data representing virtual space 90 in memory 22 . The virtual space data indicates, for example, the panoramic image 91 and the shapes and positions of objects (eg, buildings, plants) arranged in the virtual space 90 . The virtual space data may be downloaded from the server 10 and stored in the storage 23 in advance, or may be downloaded from the server 10 when the virtual space 90 is defined. Also, the virtual space defining means 210 may define a virtual space 90 selected from among the plurality of virtual spaces 90 through the operation device 42 . Since the specific processing for defining the virtual space 90 is already well known, detailed description thereof will be omitted.

配置手段220は、仮想空間定義手段210で定義された仮想空間90にキャラクタを配置する。ここでは、ユーザ端末20Aで端末プログラム23Pが実行される場合を説明する。配置手段220が仮想空間90に配置するキャラクタは、ユーザ端末20A(第1ユーザ端末)のユーザのアバター(以下、「本人アバター」と表記する。)と、他のユーザ端末20B、20C(第2ユーザ端末)のユーザのアバター(以下、「他人アバター」と表記する。)と、モブキャラとを含む。 The placement means 220 places the character in the virtual space 90 defined by the virtual space definition means 210 . Here, a case where the terminal program 23P is executed on the user terminal 20A will be described. The characters arranged in the virtual space 90 by the arrangement means 220 are the avatar of the user of the user terminal 20A (first user terminal) (hereinafter referred to as "personal avatar") and the other user terminals 20B and 20C (second user terminals). user terminal) user's avatar (hereinafter referred to as "other person's avatar") and mob characters.

まず、配置手段220は、ストレージ23に予め記憶されているアバターデータに基づいて、本人アバターを仮想空間90に配置する。そして、配置手段220は、本人アバターのアバターデータを、通信ネットワーク2を通じてサーバ10に送信する。また、配置手段220は、本人アバターの動作を指示するユーザの操作を操作装置42を通じて受け付けた場合に、当該操作に従って仮想空間90内で本人アバターを動作させる。そして、配置手段220は、本人アバターの動作後の状態を示すようにアバターデータを更新し、更新したアバターデータを通信ネットワーク2を通じてサーバ10に送信する。 First, the arrangement means 220 arranges the principal avatar in the virtual space 90 based on the avatar data pre-stored in the storage 23 . The arranging means 220 then transmits the avatar data of the principal avatar to the server 10 via the communication network 2 . Further, when receiving a user's operation to instruct the movement of the principal avatar through the operating device 42, the arranging unit 220 causes the principal avatar to move in the virtual space 90 according to the operation. The arranging means 220 then updates the avatar data so as to indicate the state after the action of the principal avatar, and transmits the updated avatar data to the server 10 via the communication network 2 .

また、配置手段220は、他人アバターのアバターデータを、通信ネットワーク2を通じてサーバ10から受信する。そして、配置手段220は、サーバ10から受信したアバターデータに基づいて、他人アバターを仮想空間90に配置する。さらに、配置手段220は、アバターデータが更新される度に他人アバターを配置し直すことによって、仮想空間90内で他人アバターが動作する。 Also, the arranging means 220 receives avatar data of other avatars from the server 10 through the communication network 2 . Then, placement means 220 places another person's avatar in virtual space 90 based on the avatar data received from server 10 . Furthermore, the arranging means 220 rearranges the avatar of another person each time the avatar data is updated, so that the avatar of another person operates within the virtual space 90 .

さらに、配置手段220は、モブキャラ生成手段130が生成したモブキャラデータを、通信ネットワーク2を通じてサーバ10から受信する。そして、配置手段220は、サーバ10から受信したモブキャラデータに基づいて、モブキャラを仮想空間90に配置する。さらに、配置手段220は、モブキャラデータが更新される度にモブキャラを配置し直すことによって、仮想空間90内でモブキャラが動作する。 Furthermore, the arrangement means 220 receives the mob character data generated by the mob character generation means 130 from the server 10 via the communication network 2 . Then, the placing means 220 places the mob character in the virtual space 90 based on the mob character data received from the server 10 . Furthermore, the placement means 220 moves the mob character in the virtual space 90 by rearranging the mob character each time the mob character data is updated.

カメラ移動手段230は、動きセンサ41で検知されたユーザ端末20の動きまたは操作装置42を通じたアバターの動作指示に基づいて、仮想空間90内で仮想カメラ92を移動させる。ユーザ端末20を動かすこと及び操作装置42を通じてアバターの動作を指示することは、移動操作の一例である。仮想カメラ92と本人アバターとの相対位置が変化しない設定の場合、カメラ移動手段230は、配置手段220が移動させた本人アバターに追従して、仮想カメラ92を移動させる。また、カメラ移動手段230は、動きセンサ41または操作装置42を通じた指示に従って、本人アバターとは独立して仮想カメラ92を移動させてもよい。 The camera moving means 230 moves the virtual camera 92 within the virtual space 90 based on the motion of the user terminal 20 detected by the motion sensor 41 or the motion instruction of the avatar through the operating device 42 . Moving the user terminal 20 and instructing the action of the avatar through the operation device 42 are examples of movement operations. If the relative position between the virtual camera 92 and the person's avatar does not change, the camera moving means 230 moves the virtual camera 92 following the person's avatar moved by the placement means 220 . In addition, the camera movement means 230 may move the virtual camera 92 independently of the person's avatar according to instructions from the motion sensor 41 or the operation device 42. FIG.

画像生成手段240は、仮想カメラ92で仮想空間90内を撮像した仮想空間画像97を生成する。より詳細には、画像生成手段240は、パノラマ画像91のうちの視界領域94に相当する画像を仮想空間画像97として抽出して、仮想空間画像97を示す仮想空間画像データをメモリ22に記憶させる。また、画像生成手段240は、仮想空間画像97に対するキャラクタの含め方を制御する。 The image generating means 240 generates a virtual space image 97 in which the inside of the virtual space 90 is captured by the virtual camera 92 . More specifically, the image generating means 240 extracts an image corresponding to the field of view area 94 from the panorama image 91 as a virtual space image 97 and stores the virtual space image data representing the virtual space image 97 in the memory 22. . Also, the image generating means 240 controls how the character is included in the virtual space image 97 .

一例として、画像生成手段240は、視界領域94(すなわち、仮想カメラ92の画角)に含まれるモブキャラの数が閾値以上の場合に、モブキャラの数を削減して(すなわち、間引いて)仮想空間画像97を生成してもよい。他の例として、画像生成手段240は、視界領域94に含まれるアバター及びモブキャラを、異なる表示態様で仮想空間画像に含めてもよい。他の例として、画像生成手段240は、操作装置42に対して実行されたモブキャラの選択操作に基づいて、モブキャラに対応付けて予め登録されたメッセージを出力してもよい。他の例として、画像生成手段240は、操作装置42に対して実行された操作に基づいて、仮想空間画像97にモブキャラを含めるか否かを切り替えてもよい。さらに他の例として、画像生成手段240は、操作装置42に対して実行された操作に基づいて、アバターの表示態様を切り替えてもよい。 As an example, when the number of mob characters included in the field of view area 94 (that is, the angle of view of the virtual camera 92) is equal to or greater than a threshold value, the image generation means 240 reduces the number of mob characters (thus thinning out) to create a virtual space. An image 97 may be generated. As another example, the image generating means 240 may include the avatars and mob characters included in the field of view area 94 in the virtual space image in different display modes. As another example, the image generating means 240 may output a pre-registered message associated with a mob character based on a mob character selection operation performed on the operation device 42 . As another example, the image generation means 240 may switch whether to include mob characters in the virtual space image 97 based on the operation performed on the operation device 42 . As still another example, the image generator 240 may switch the display mode of the avatar based on the operation performed on the operation device 42 .

画像表示手段250は、仮想空間画像97をモニタ31に表示させる。より詳細には、画像表示手段250は、画像生成手段240によって生成された仮想空間画像データを、モニタ31のグラフィックメモリに展開する。そして、仮想空間90内のキャラクタが更新される度に、画像生成手段240が仮想空間画像97を新たに生成し、新たに生成された仮想空間画像97を画像表示手段250がモニタ31に表示させる。これにより、ユーザ端末20のユーザは、仮想空間90内で動作するキャラクタの視界を示す映像を、モニタ31を通じて視聴することができる。 The image display means 250 displays the virtual space image 97 on the monitor 31 . More specifically, the image display means 250 develops the virtual space image data generated by the image generation means 240 in the graphic memory of the monitor 31 . Each time the character in the virtual space 90 is updated, the image generating means 240 generates a new virtual space image 97, and the image display means 250 displays the newly generated virtual space image 97 on the monitor 31. . As a result, the user of the user terminal 20 can view, through the monitor 31 , an image showing the field of view of the character operating in the virtual space 90 .

[実施例1]
図9~図16を参照して、実施例1に係るシステム1の動作を説明する。実施例1では、ユーザ端末20Aのユーザのアバターが、現実の街に対応する仮想空間90にいることを想定している。そして、実施例1に係るシステム1は、ユーザ端末20Aのユーザに、仮想空間90での体験を提供すると共に、仮想空間90を通じて対応する現実空間の状況を報知する。
[Example 1]
The operation of the system 1 according to the first embodiment will be described with reference to FIGS. 9 to 16. FIG. In the first embodiment, it is assumed that the avatar of the user of the user terminal 20A is in the virtual space 90 corresponding to the real city. The system 1 according to the first embodiment provides the user of the user terminal 20</b>A with an experience in the virtual space 90 and notifies the corresponding situation of the real space through the virtual space 90 .

図9は、実施例1に係るサーバ10の処理を示すフローチャートである。図10は、実施例1に係るユーザ端末20Aの処理を示すフローチャートである。図11は、仮想空間画像生成&表示処理のフローチャートである。図12は、ステップS21、S22に対応する仮想空間90の概念図である。図13は、ステップS47に対応する仮想空間90の概念図及び仮想空間画像97を示す図である。図14は、ステップS48に対応する仮想空間90の概念図及び仮想空間画像97を示す図である。図15は、ステップS45に対応する仮想空間90の概念図及び仮想空間画像97を示す図である。図16は、ステップS43でNoの場合に対応する仮想空間90の概念図及び仮想空間画像97を示す図である。サーバ10による図9の処理と、ユーザ端末20Aによる図10の処理とは、並行して実行される。 FIG. 9 is a flowchart illustrating processing of the server 10 according to the first embodiment. FIG. 10 is a flowchart illustrating processing of the user terminal 20A according to the first embodiment. FIG. 11 is a flowchart of virtual space image generation and display processing. FIG. 12 is a conceptual diagram of the virtual space 90 corresponding to steps S21 and S22. FIG. 13 shows a conceptual diagram of the virtual space 90 and a virtual space image 97 corresponding to step S47. FIG. 14 shows a conceptual diagram of the virtual space 90 and a virtual space image 97 corresponding to step S48. FIG. 15 shows a conceptual diagram of the virtual space 90 and a virtual space image 97 corresponding to step S45. FIG. 16 shows a conceptual diagram of the virtual space 90 and a virtual space image 97 corresponding to No in step S43. The processing of FIG. 9 by the server 10 and the processing of FIG. 10 by the user terminal 20A are executed in parallel.

サーバ10は、図9に示す処理を所定の時間間隔毎に繰り返し実行する。まず、サーバ10は、ユーザ端末20A~20Cからアバターデータを受信するか(S11)、検知装置3から検知データを受信するまで(S12)、ステップS13以降の処理の実行を待機する。なお、ユーザ端末20A~20Cそれぞれからは、アバターデータが不定期に送信される。また、検知装置3からは、所定の時間間隔毎に検知データが送信される。すなわち、ステップS13の処理と、ステップS14~S16の処理とは、任意のタイミング及び頻度で実行される。 The server 10 repeatedly executes the process shown in FIG. 9 at predetermined time intervals. First, the server 10 waits until it receives avatar data from the user terminals 20A to 20C (S11) or until it receives detection data from the detection device 3 (S12) before executing the processes from step S13 onward. Avatar data is irregularly transmitted from each of the user terminals 20A to 20C. Further, detection data is transmitted from the detection device 3 at predetermined time intervals. That is, the processing of step S13 and the processing of steps S14 to S16 are executed at arbitrary timing and frequency.

サーバ10(アバター同期手段110)は、ユーザ端末20A~20Cの1つから通信ネットワーク2を通じてアバターデータを受信した場合に(S11:Yes)、他の全てのユーザ端末20A~20Cに通信ネットワーク2を通じて受信したアバターデータを送信(中継)する(S13)。これにより、全てのユーザ端末20A~20Cが同一のアバターデータを保持する。換言すれば、全てのユーザ端末20A~20Cの仮想空間90に同一のアバターが配置される。 When the server 10 (avatar synchronization means 110) receives avatar data from one of the user terminals 20A to 20C through the communication network 2 (S11: Yes), The received avatar data is transmitted (relayed) (S13). Thereby, all user terminals 20A to 20C hold the same avatar data. In other words, the same avatar is placed in the virtual space 90 of all user terminals 20A-20C.

また、サーバ10(人抽出手段120)は、通信ネットワーク2を通じて検知装置3から検知データを受信した場合に(S12:Yes)、受信した検知データから人及び属性を抽出する(S14)。次に、サーバ10(モブキャラ生成手段130)は、ステップS14で抽出した人及び属性に対応するモブキャラを生成する(S15)。さらに、サーバ10(モブキャラ生成手段130)は、ステップS15で生成したモブキャラを示すモブキャラデータを、通信ネットワーク2を通じて全てのユーザ端末20A~20Cに送信する(S16)。 Further, when the server 10 (person extracting means 120) receives the detection data from the detection device 3 through the communication network 2 (S12: Yes), it extracts the person and attributes from the received detection data (S14). Next, the server 10 (mob character generating means 130) generates a mob character corresponding to the person and attribute extracted in step S14 (S15). Further, the server 10 (mob character generating means 130) transmits the mob character data indicating the mob character generated in step S15 to all the user terminals 20A to 20C through the communication network 2 (S16).

図10に示すように、ユーザ端末20A(仮想空間定義手段210)は、ストレージ23に記憶された仮想空間データをメモリ12に展開することによって、仮想空間90を定義する(S21)。次に、ユーザ端末20A(配置手段220及びカメラ移動手段230)は、図12(A)に示すように、ステップS21で定義された仮想空間90に本人アバター50及び仮想カメラ92を配置すると共に、通信ネットワーク2を通じてサーバ10にアバターデータを送信する(S22)。本人アバター50の初期位置は、例えば、仮想空間90の中心Cである。また、仮想カメラ92の位置は、例えば、本人アバター50の頭の位置でもよいし、本人アバター50の後方でもよい。 As shown in FIG. 10, the user terminal 20A (virtual space defining means 210) defines a virtual space 90 by loading the virtual space data stored in the storage 23 into the memory 12 (S21). Next, the user terminal 20A (placement means 220 and camera movement means 230) places the person avatar 50 and the virtual camera 92 in the virtual space 90 defined in step S21, as shown in FIG. The avatar data is transmitted to the server 10 through the communication network 2 (S22). The initial position of the person avatar 50 is, for example, the center C of the virtual space 90 . Also, the position of the virtual camera 92 may be, for example, the head position of the person avatar 50 or behind the person avatar 50 .

次に、ユーザ端末20A(配置手段220)は、通信ネットワーク2を通じてサーバ10からアバターデータを受信した場合に(S23:Yes)、例えば図12(B)に示すように、受信したアバターデータに従って仮想空間90に他人アバター51B、51Cを配置する(S24)。なお、他人アバター51Bはユーザ端末20Bから送信されたアバターデータに対応し、他人アバター51Cはユーザ端末20Cから送信されたアバターデータに対応する。次に、ユーザ端末20A(画像生成手段240及び画像表示手段250)は、仮想空間90に配置した他人アバター51B、51Cを仮想空間画像97に反映させるために、図11に示す仮想空間画像生成&表示処理を実行する(S29)。 Next, when the user terminal 20A (arrangement means 220) receives avatar data from the server 10 through the communication network 2 (S23: Yes), for example, as shown in FIG. Other avatars 51B and 51C are arranged in the space 90 (S24). In addition, the other person's avatar 51B corresponds to the avatar data transmitted from the user terminal 20B, and the other person's avatar 51C corresponds to the avatar data transmitted from the user terminal 20C. Next, the user terminal 20A (image generation means 240 and image display means 250) generates a virtual space image shown in FIG. Display processing is executed (S29).

図11に示すように、ユーザ端末20A(画像生成手段240)は、視界領域94を特定する(S41)。次に、ユーザ端末20A(画像生成手段240)は、仮想カメラ92の画角(視界領域94)にモブキャラが含まれるか否かを判定する(S42)。図12(B)の状態ではモブキャラが含まれないので(S42:No)、ユーザ端末20A(画像生成手段240)は、アバター及びモブキャラのうちのアバターのみを含む仮想空間画像97を生成する(S50)。次に、ユーザ端末20A(画像表示手段250)は、生成した仮想空間画像97をモニタ31に表示させる(S51)。 As shown in FIG. 11, the user terminal 20A (image generating means 240) identifies the field of view area 94 (S41). Next, the user terminal 20A (image generating means 240) determines whether or not a mob character is included in the angle of view (viewing area 94) of the virtual camera 92 (S42). Since no mob character is included in the state of FIG. 12(B) (S42: No), the user terminal 20A (image generating means 240) generates a virtual space image 97 that includes only the avatar of the avatar and the mob character (S50 ). Next, the user terminal 20A (image display means 250) displays the generated virtual space image 97 on the monitor 31 (S51).

図12(B)の状態では他人アバター51B、51Cのうちの他人アバター51Bのみが仮想カメラ92の画角に含まれるので、図16(B)に示すような仮想空間画像97がモニタ31に表示される。また、仮想空間画像97を表示するモニタ31には、トグルスイッチ98が表示されてもよい。トグルスイッチ98は、仮想空間画像97にモブキャラを含めるか否かを指示するユーザの操作を受け付ける画面オブジェクトである。トグルスイッチ98をON側に切り替える操作は、仮想カメラ92の画角に含まれるモブキャラを含む仮想空間画像97の生成することを指示する表示操作の一例である。トグルスイッチ98をOFF側に切り替える操作は、仮想カメラ92の画角に含まれるモブキャラを含まない仮想空間画像97の生成することを指示する非表示操作の一例である。 In the state of FIG. 12(B), only the other avatar 51B out of the other avatars 51B and 51C is included in the angle of view of the virtual camera 92, so a virtual space image 97 as shown in FIG. 16(B) is displayed on the monitor 31. be done. Also, a toggle switch 98 may be displayed on the monitor 31 that displays the virtual space image 97 . The toggle switch 98 is a screen object that receives a user's operation to instruct whether or not to include mob characters in the virtual space image 97 . The operation of switching the toggle switch 98 to the ON side is an example of a display operation for instructing generation of the virtual space image 97 including the mob character included in the angle of view of the virtual camera 92 . The operation of switching the toggle switch 98 to the OFF side is an example of a non-display operation for instructing generation of the virtual space image 97 that does not include the mob character included in the angle of view of the virtual camera 92 .

また、ユーザ端末20A(配置手段220)は、通信ネットワーク2を通じてサーバ10からモブキャラデータを受信した場合に(S25:Yes)、例えば図13(A)に示すように、受信したモブキャラデータに従って、仮想空間90にモブキャラ52A、52B、52C、52Dを配置する(S26)。次に、ユーザ端末20A(画像生成手段240及び画像表示手段250)は、仮想空間90に配置したモブキャラ52A~52Dを仮想空間画像97に反映させるために、仮想空間画像生成&表示処理を実行する(S29)。 Further, when the user terminal 20A (arrangement means 220) receives mob character data from the server 10 through the communication network 2 (S25: Yes), for example, as shown in FIG. Mob characters 52A, 52B, 52C and 52D are arranged in the space 90 (S26). Next, the user terminal 20A (image generation means 240 and image display means 250) executes virtual space image generation and display processing in order to reflect the mob characters 52A to 52D arranged in the virtual space 90 in the virtual space image 97. (S29).

ユーザ端末20A(画像生成手段240)は、仮想カメラ92の画角にモブキャラ52A、52Bが含まれると判定し(S42:Yes)、トグルスイッチ98がON側だと判定した場合に(S43:Yes)、仮想カメラ92の画角に含まれるモブキャラ52A、52Bの数と、予め定められた閾値とを比較する(S44)。そして、ユーザ端末20A(画像生成手段240)は、仮想カメラ92の画角に含まれるモブキャラ52A、52Bの数が閾値未満の場合に(S44:No)、ステップS45の処理をスキップして、ステップS46以降の処理を実行する。すなわち、ユーザ端末20A(画像生成手段240)は、仮想カメラ92の画角に含まれる全てのモブキャラ52A、52Bを仮想空間画像97に含める。 When the user terminal 20A (image generating means 240) determines that the angle of view of the virtual camera 92 includes the mob characters 52A and 52B (S42: Yes), and determines that the toggle switch 98 is on the ON side (S43: Yes ), the number of mob characters 52A and 52B included in the angle of view of the virtual camera 92 is compared with a predetermined threshold value (S44). Then, when the number of mob characters 52A and 52B included in the angle of view of the virtual camera 92 is less than the threshold (S44: No), the user terminal 20A (image generating means 240) skips the processing of step S45, and skips step S45. The processing after S46 is executed. That is, the user terminal 20A (image generating means 240) includes all the mob characters 52A and 52B included in the angle of view of the virtual camera 92 in the virtual space image 97. FIG.

次に、ユーザ端末20A(画像生成手段240)は、仮想空間画像97に含める他人アバター51B及びモブキャラ52Aから仮想カメラ92までの距離と、予め定められた閾値距離とを比較する(S46)。そして、ユーザ端末20A(画像生成手段240)は、例えば図13(A)に示すように、他人アバター51B及びモブキャラ52A、52Bから仮想カメラ92までの距離が一点鎖線で示す閾値距離以上の場合に(S46:Yes)、図13(B)に示すように、他人アバター51B及びモブキャラ52A、52Bを共通の表示態様で仮想空間画像97に含める(S47)。一方、ユーザ端末20A(画像生成手段240)は、例えば図14(A)に示すように、他人アバター51B及びモブキャラ52A、52Bから仮想カメラ92までの距離が一点鎖線で示す閾値距離未満の場合に(S46:No)、図14(B)に示すように、他人アバター51B及びモブキャラ52A、52Bを異なる表示態様で仮想空間画像97に含める(S48)。 Next, the user terminal 20A (image generating means 240) compares the distance from the other person's avatar 51B and the mob character 52A included in the virtual space image 97 to the virtual camera 92 with a predetermined threshold distance (S46). Then, as shown in FIG. 13A, for example, the user terminal 20A (image generating means 240) detects the distance from the other person's avatar 51B and the mob characters 52A and 52B to the virtual camera 92 when it is equal to or greater than the threshold distance indicated by the dashed-dotted line. (S46: Yes), as shown in FIG. 13B, the other person's avatar 51B and the mob characters 52A and 52B are included in the virtual space image 97 in a common display mode (S47). On the other hand, as shown in FIG. 14A, the user terminal 20A (image generating means 240), for example, when the distance from the other person avatar 51B and the mob characters 52A and 52B to the virtual camera 92 is less than the threshold distance indicated by the dashed-dotted line, (S46: No), as shown in FIG. 14B, another person's avatar 51B and mob characters 52A and 52B are included in the virtual space image 97 in different display modes (S48).

ここで、他人アバター51B及びモブキャラ52A、52Bは、外観がそれぞれ異なる。そのため、「共通の表示態様」とは、各キャラクタの外観を完全に一致させることを意味しない。「共通の表示態様」とは、例えば、アバターとモブキャラとを区別するための情報(アイコン)を付加しないことを意味してもよい。一方、「異なる表示態様」とは、アバターとモブキャラとを区別するための情報(アイコン)を付加することを意味してもよい。例えば、図14(B)の例では、他人アバター51Bの頭上にユーザ端末20Bのユーザが設定したユーザ名“USER-B”が付加されているのに対して、モブキャラ52A、52Bの頭上には“MOB”の文字列が付加されている。一方、図13(B)では、他人アバター51B及びモブキャラ52A、52Bの頭上の文字列が省略されている。但し、共通の表示態様、異なる表示態様の具体例は、前述の例に限定されない。 Here, the other person's avatar 51B and the mob characters 52A and 52B have different appearances. Therefore, "a common display mode" does not mean that the appearance of each character is completely matched. "Common display mode" may mean, for example, not adding information (icons) for distinguishing between avatars and mob characters. On the other hand, "different display modes" may mean adding information (icons) for distinguishing between avatars and mob characters. For example, in the example of FIG. 14B, the user name "USER-B" set by the user of the user terminal 20B is added above the head of another person's avatar 51B, while the mob characters 52A and 52B have A character string of "MOB" is added. On the other hand, in FIG. 13B, the character strings above the other person's avatar 51B and the mob characters 52A and 52B are omitted. However, specific examples of the common display mode and different display modes are not limited to the above examples.

また、ユーザ端末20A(画像生成手段240)は、図15(A)に示すように、仮想カメラ92の画角に含まれるモブキャラ52A、52B、52E、52F、52G、52H、52I、52Jの数が閾値以上の場合に(S44:Yes)、仮想空間画像97に含めるモブキャラ52A、52B、52E~52Jの数を削減する(S45)。ユーザ端末20A(画像生成手段240)は、例えば、52A、52B、52E~52Jの数が第1閾値(例えば、5)以上で第2閾値(例えば、10)未満の場合に、第1閾値のモブキャラを仮想空間画像97に含めてもよい。また、ユーザ端末20A(画像生成手段240)は、モブキャラの数が第2閾値以上の場合に、第2閾値のモブキャラを仮想空間画像97に含めてもよい。なお、第1閾値<第2閾値である。但し、モブキャラの数を削減する方法は、前述の例に限定されない。また、ユーザ端末20A(画像生成手段240)は、例えば、モブキャラの密度が高い領域から優先してモブキャラの数を削減してもよい。但し、どのモブキャラを削減するかは、前述の例に限定されない。 15(A), the user terminal 20A (image generating means 240) determines the number of mob characters 52A, 52B, 52E, 52F, 52G, 52H, 52I, and 52J included in the angle of view of the virtual camera 92. is equal to or greater than the threshold (S44: Yes), the number of mob characters 52A, 52B, 52E to 52J included in the virtual space image 97 is reduced (S45). User terminal 20A (image generating means 240), for example, when the number of 52A, 52B, 52E to 52J is equal to or greater than a first threshold (eg, 5) and less than a second threshold (eg, 10), the first threshold A mob character may be included in the virtual space image 97 . Further, the user terminal 20A (image generating means 240) may include the second threshold mob characters in the virtual space image 97 when the number of mob characters is equal to or greater than the second threshold. Note that the first threshold<the second threshold. However, the method of reducing the number of mob characters is not limited to the above example. In addition, the user terminal 20A (image generating means 240) may reduce the number of mob characters, for example, preferentially in areas where the density of mob characters is high. However, which mob character is to be reduced is not limited to the above example.

次に、ユーザ端末20A(画像生成手段240)は、他人アバター51B及びステップS45で削減されなかったモブキャラ52A、52E、52G、52H、52Jに対して、ステップS46~S48の処理を実行する。すなわち、ユーザ端末20A(画像生成手段240)は、仮想カメラ92からの距離が閾値未満のモブキャラ52H、52Jの頭上に文字列“MOB”を付加し(S47)、仮想カメラ92からの距離が閾値以上の他人アバター51B及びモブキャラ52A、52E、52Gの頭上に文字列を付加しない(S48)。 Next, the user terminal 20A (image generating means 240) executes the processes of steps S46 to S48 for the other person's avatar 51B and the mob characters 52A, 52E, 52G, 52H, and 52J that were not reduced in step S45. That is, the user terminal 20A (image generating means 240) adds the character string "MOB" above the heads of the mob characters 52H and 52J whose distance from the virtual camera 92 is less than the threshold (S47), and the distance from the virtual camera 92 is the threshold. No character string is added above the heads of the other person avatar 51B and the mob characters 52A, 52E, and 52G (S48).

次に、ユーザ端末20A(画像生成手段240)は、図13(A)、図14(A)、または図14(A)の例において、他人アバター51B及びモブキャラ52を含む仮想空間画像97を生成する(S49)。次に、ユーザ端末20A(画像表示手段250)は、図13(B)、図14(B)、または図15(B)に示すように、生成した仮想空間画像97をモニタ31に表示させる(S51)。 Next, the user terminal 20A (image generating means 240) generates a virtual space image 97 including the other person's avatar 51B and the mob character 52 in the example of FIG. 13(A), FIG. 14(A), or FIG. 14(A). (S49). Next, the user terminal 20A (image display means 250) displays the generated virtual space image 97 on the monitor 31 as shown in FIG. 13(B), FIG. 14(B), or FIG. 15(B) ( S51).

一方、ユーザ端末20A(画像生成手段240)は、図16(A)に示すように、トグルスイッチ98がOFF側だと判定した場合に(S43:No)、ステップS44~S49の処理を実行せずに、ステップS50の処理を実行する。すなわち、ユーザ端末20A(画像生成手段240)は、仮想カメラ92の画角に含まれる他人アバター51Bを含み、仮想カメラ92の画角に含まれるモブキャラ52A、52B、52E~52Jを含まない仮想空間画像97を生成する。次に、ユーザ端末20A(画像表示手段250)は、図16(B)に示すように、生成した仮想空間画像97をモニタ31に表示させる(S51)。 On the other hand, when the user terminal 20A (image generating means 240) determines that the toggle switch 98 is on the OFF side (S43: No) as shown in FIG. Then, the process of step S50 is executed. That is, the user terminal 20A (image generating means 240) includes the other person's avatar 51B included in the angle of view of the virtual camera 92, and does not include the mob characters 52A, 52B, 52E to 52J included in the angle of view of the virtual camera 92. Generate image 97 . Next, the user terminal 20A (image display means 250) displays the generated virtual space image 97 on the monitor 31 as shown in FIG. 16B (S51).

図10に戻って、ユーザ端末20A(配置手段220及びカメラ移動手段230)は、本人アバター50の動作を指示する操作を操作装置42を通じて受け付けた場合に(S27:Yes)、操作装置42に対するユーザの操作に従って本人アバター50を動作させ、本人アバター50に追従して仮想カメラ92を移動させ、動作後の本人アバター50を示すアバターデータを、通信ネットワーク2を通じてサーバ10に送信する(S28)。また、ユーザ端末20A(カメラ移動手段230)は、動きセンサ41で検知されたユーザ端末20Aの動きに追従して、仮想カメラ92を移動させる。そして、ユーザ端末20A(画像生成手段240及び画像表示手段250)は、仮想カメラ92の移動後の画角に対応する仮想空間画像97を生成するために、仮想空間画像生成&表示処理を実行する(S29)。 Returning to FIG. 10 , the user terminal 20A (arrangement means 220 and camera movement means 230) accepts an operation to instruct the action of the principal avatar 50 through the operation device 42 (S27: Yes), the user terminal 20A for the operation device 42 , the virtual camera 92 is moved following the avatar 50, and avatar data indicating the avatar 50 after the action is transmitted to the server 10 through the communication network 2 (S28). Also, the user terminal 20A (camera movement means 230) moves the virtual camera 92 following the movement of the user terminal 20A detected by the movement sensor 41. FIG. Then, the user terminal 20A (image generation means 240 and image display means 250) executes virtual space image generation and display processing in order to generate the virtual space image 97 corresponding to the angle of view after the virtual camera 92 is moved. (S29).

ユーザ端末20Aは、端末プログラム23Pの終了を指示する操作(例えば、ログアウト)を操作装置42を通じて受け付けるまで(S30:No)、ステップS23~S29の処理を繰り返し実行する。なお、ユーザ端末20Aは、アバターデータ及びモブキャラデータを不定期に受信し、ユーザ操作を不定期に受け付ける。すなわち、ステップS24、S26、S28の処理は、任意のタイミング及び頻度で実行される。そして、ユーザ端末20Aは、端末プログラム23Pの終了を指示する操作を操作装置42を通じて受け付けた場合に(S30:Yes)、図10の処理を終了する。 The user terminal 20A repeatedly executes the processes of steps S23 to S29 until an operation (for example, logout) instructing termination of the terminal program 23P is received through the operation device 42 (S30: No). The user terminal 20A irregularly receives avatar data and mob character data, and irregularly accepts user operations. That is, the processes of steps S24, S26, and S28 are performed at arbitrary timing and frequency. Then, when the user terminal 20A receives an operation for instructing termination of the terminal program 23P through the operation device 42 (S30: Yes), the processing of FIG. 10 is terminated.

[実施例1の作用効果]
実施例1によれば、現実空間の人に対応するモブキャラ52を仮想空間90に配置することによって、仮想空間90内で本人アバター50を操作するユーザ端末20Aのユーザに、現実空間の状況(例えば、街に出かけている人の混み具合)を報せることができる。その結果、仮想空間90内での疑似体験をしているユーザに、現実空間に実際に行くモチベーションを与えることができる。
[Effect of Example 1]
According to the first embodiment, by arranging the mob character 52 corresponding to the person in the real space in the virtual space 90, the user of the user terminal 20A who operates the person avatar 50 in the virtual space 90 can see the situation in the real space (for example, , the degree of crowding of people going out on the street). As a result, it is possible to give the user who is having a simulated experience in the virtual space 90 motivation to actually go to the real space.

また、実施例1によれば、現実空間の人の属性を反映したモブキャラ52を仮想空間90に配置することによって、現実空間の状況をより詳細に報せることができる。その結果、仮想空間90内での疑似体験をしているユーザ現実空間に実際に行くモチベーションがさらに高まる。 Further, according to the first embodiment, by arranging the mob character 52 reflecting the attributes of a person in the real space in the virtual space 90, it is possible to report the situation in the real space in more detail. As a result, the user who is having a simulated experience in the virtual space 90 is more motivated to actually go to the real space.

また、実施例1によれば、仮想カメラ92からの距離が閾値未満の他人アバター51B及びモブキャラ52A、52Bの表示態様を異ならせることによって(図14)、他人アバター51Bとモブキャラ52A、52Bとを、ユーザ端末20Aのユーザが区別できるようになる。これにより、現実空間の状況を知りたいユーザと、仮想空間90内で過ごしたい(換言すれば、他人アバター51Bと交流したい)ユーザとの両方に、適切な仮想空間画像97を提供することができる。 Further, according to the first embodiment, by changing the display modes of the other avatar 51B and the mob characters 52A and 52B whose distance from the virtual camera 92 is less than the threshold (FIG. 14), the other avatar 51B and the mob characters 52A and 52B can be displayed. , can be distinguished by the user of the user terminal 20A. This makes it possible to provide appropriate virtual space images 97 to both the user who wants to know the situation in the real space and the user who wants to spend time in the virtual space 90 (in other words, want to interact with the other person's avatar 51B). .

また、実施例1によれば、仮想カメラ92からの距離が閾値以上の他人アバター51B及びモブキャラ52A、52Bの表示態様を共通にすることによって(図13)、仮想空間画像97に含まれる情報が多くなり過ぎるのを防止できる。但し、仮想カメラ92からの距離に拘わらず、視界領域94に含まれる全ての他人アバター及びモブキャラの表示態様を異ならせてもよい。 Further, according to the first embodiment, by sharing the display mode of the other person avatar 51B and the mob characters 52A and 52B whose distance from the virtual camera 92 is equal to or greater than the threshold (FIG. 13), the information included in the virtual space image 97 is You can prevent it from becoming too much. However, regardless of the distance from the virtual camera 92, the display modes of all other avatars and mob characters included in the field of view area 94 may be changed.

また、実施例1によれば、現実空間にいる人の数が多い場合に、モブキャラ52の数を削減して仮想空間画像97に含めるので、仮想空間画像97内のモブキャラ52が多くなり過ぎるのを防止できる。これにより、仮想空間90内で楽しみたいユーザの視界がモブキャラ52で遮られるのを防止することができる。 Further, according to the first embodiment, when there are many people in the real space, the number of mob characters 52 is reduced and included in the virtual space image 97, so that the number of mob characters 52 in the virtual space image 97 does not become too large. can be prevented. This prevents the mob character 52 from blocking the view of the user who wants to enjoy the virtual space 90 .

さらに、実施例1によれば、トグルスイッチ98の操作によってモブキャラ52の表示及び非表示を切り替えることができるので、仮想空間90内で楽しみたいユーザの視界がモブキャラ52で遮られるのを、さらに効果的に防止することができる。 Furthermore, according to the first embodiment, it is possible to switch between display and non-display of the mob character 52 by operating the toggle switch 98, so that the view of the user who wants to enjoy the virtual space 90 is prevented from being blocked by the mob character 52. can be effectively prevented.

[実施例2]
次に、図17~図22を参照して、実施例2に係るシステム1の動作を説明する。なお、実施例1との共通点の詳細な説明は省略し、実施例2に特有の処理を中心に説明する。また、実施例1、2は、その一部または全部を組み合わせることが可能である。
[Example 2]
Next, operations of the system 1 according to the second embodiment will be described with reference to FIGS. 17 to 22. FIG. Note that detailed descriptions of common points with the first embodiment will be omitted, and processing specific to the second embodiment will be mainly described. Also, the first and second embodiments can be combined in part or in whole.

実施例2では、ユーザ端末20A(第1ユーザ端末)のユーザのアバターが客として、ユーザ端末20C(第2ユーザ端末)のユーザのアバターがスタッフとして、現実の商店に対応する仮想空間90にいることを想定している。そして、実施例2に係るシステム1は、ユーザ端末20Aのユーザに、仮想空間90を通じて対応する現実空間の状況を報知すると共に、仮想空間90を通じて現実の商店にいるスタッフとのコミュニケーションを提供する。 In the second embodiment, the avatar of the user of the user terminal 20A (first user terminal) is a customer, and the avatar of the user of the user terminal 20C (second user terminal) is a staff member in the virtual space 90 corresponding to the actual store. It is assumed that The system 1 according to the second embodiment notifies the user of the user terminal 20A of the corresponding situation in the real space through the virtual space 90, and provides communication with the staff in the real store through the virtual space 90.

図17は、人の属性とメッセージとを対応付けて保持するメッセージテーブルの例である。図18は、実施例2に係るユーザ端末20Cの処理を示すフローチャートである。図19は、ステータス設定画面を示す図である。図20は、実施例2に係るユーザ端末20Aの処理を示すフローチャートである。図21は、操作可能状態の他人アバター53を選択した際の仮想空間画像97を示す図である。図22は、操作不能状態の他人アバター53及びモブキャラ54を選択した際の仮想空間画像97を示す図である。 FIG. 17 is an example of a message table that holds personal attributes and messages in association with each other. FIG. 18 is a flowchart illustrating processing of the user terminal 20C according to the second embodiment. FIG. 19 is a diagram showing a status setting screen. FIG. 20 is a flowchart illustrating processing of the user terminal 20A according to the second embodiment. FIG. 21 is a diagram showing a virtual space image 97 when another person's avatar 53 in the operable state is selected. FIG. 22 is a diagram showing a virtual space image 97 when the other person's avatar 53 and the mob character 54 in the inoperable state are selected.

実施例2に係るサーバ10のストレージ13は、図17に示すメッセージテーブルを保持している。メッセージテーブルは、ステップS14で人抽出手段120が抽出し得る人の属性と、メッセージとが対応付けて登録されている。メッセージテーブルは、例えば、商店の管理者またはユーザ端末20Cのユーザによって、予めサーバ10に登録されている。メッセージテーブルに登録されるメッセージは、テキスト形式でもよいし、音声形式でもよい。 The storage 13 of the server 10 according to the second embodiment holds the message table shown in FIG. In the message table, attributes of persons that can be extracted by the person extracting means 120 in step S14 and messages are registered in association with each other. The message table is registered in the server 10 in advance by, for example, the manager of the store or the user of the user terminal 20C. Messages registered in the message table may be in text format or in voice format.

そして、サーバ10(モブキャラ生成手段130)は、生成したモブキャラの属性に対応するメッセージをメッセージテーブルから抽出し、抽出したメッセージをモブキャラデータに付加する(S15)。さらに、サーバ10(モブキャラ生成手段130)は、メッセージが付加されたモブキャラデータを、通信ネットワーク2を通じて全てのユーザ端末20A~20Cに送信する(S16)。 Then, the server 10 (mob character generating means 130) extracts a message corresponding to the attribute of the generated mob character from the message table, and adds the extracted message to the mob character data (S15). Further, the server 10 (mob character generating means 130) transmits the mob character data with the message added to all the user terminals 20A to 20C through the communication network 2 (S16).

図18に示すように、ユーザ端末20C(配置手段220)は、図19に示すステータス設定画面をモニタ31に表示させる(S61)。ステータス設定画面は、ユーザ端末20Cのユーザのアバターのステータスを設定するための画面である。より詳細には、ステータス設定画面は、操作可能フラグの値を選択すると共に、操作可能フラグの値に対応するアバターの外観(例えば、表情、しぐさ)及び定型メッセージを設定する操作を受け付ける。操作可能フラグには、アバターの操作が可能な操作可能状態であることを示す第1値“ON”、またはアバターの操作が不能な操作不能状態であることを示す第2値“OFF”を設定することができる。 As shown in FIG. 18, the user terminal 20C (arrangement means 220) causes the monitor 31 to display the status setting screen shown in FIG. 19 (S61). The status setting screen is a screen for setting the status of the avatar of the user of the user terminal 20C. More specifically, the status setting screen accepts operations for selecting the value of the operable flag and setting the avatar's appearance (eg, facial expression, gesture) and fixed message corresponding to the value of the operable flag. The operable flag is set to a first value "ON" indicating that the avatar is in an operable state, or a second value "OFF" indicating that the avatar is in an inoperable state. can do.

そして、ユーザ端末20C(配置手段220)は、操作可能フラグの値を選択する操作、アバターの外観を設定する操作、及び定型メッセージを入力する操作を、操作装置42を通じて受け付けるまで、以降の処理の実行を待機する。操作可能フラグの値を選択する操作は、操作可能状態及び操作不能状態のいずれかを選択する選択操作の一例である。なお、操作可能フラグの値の選択、アバターの外観の設定、及び定型メッセージの入力を受け付けるインタフェースは、図18の例に限定されない。 Then, the user terminal 20C (arrangement means 220) waits until the operation of selecting the value of the operable flag, the operation of setting the appearance of the avatar, and the operation of inputting a fixed message are received through the operation device 42, and the subsequent processing is not performed. Wait for execution. An operation of selecting the value of the operable flag is an example of a selection operation of selecting either the operable state or the inoperable state. Note that the interface for selecting the value of the operable flag, setting the appearance of the avatar, and receiving the input of the fixed message is not limited to the example of FIG.

ユーザ端末20C(配置手段220)は、操作可能フラグの設定値として第1値“ON”を選択する操作を操作装置42を通じて受け付けた場合に(S62:Yes)、操作可能フラグ“ON”、操作可能フラグ“ON”に対応付けて設定されたアバターの外観、操作可能フラグ“ON”に対応付けて入力された定型メッセージを含むアバターデータを、通信ネットワーク2を通じてサーバ10に送信する(S63)。また、ユーザ端末20C(配置手段220)は、操作可能フラグの設定値として第2値“OFF”を選択する操作を操作装置42を通じて受け付けた場合に(S64:Yes)、操作可能フラグ“OFF”、操作可能フラグ“OFF”に対応付けて設定されたアバターの外観、操作可能フラグ“OFF”に対応付けて入力された定型メッセージを含むアバターデータを、通信ネットワーク2を通じてサーバ10に送信する(S65)。 When the user terminal 20C (arrangement unit 220) receives an operation to select the first value "ON" as the set value of the operable flag through the operation device 42 (S62: Yes), the operable flag "ON", the operation Avatar data including the appearance of the avatar set in association with the operable flag "ON" and the standard message input in association with the operable flag "ON" are transmitted to the server 10 via the communication network 2 (S63). Further, when the user terminal 20C (arrangement unit 220) receives an operation to select the second value "OFF" as the set value of the operable flag through the operation device 42 (S64: Yes), the operable flag is set to "OFF". , the appearance of the avatar set in association with the operability flag "OFF", and the avatar data including the fixed message input in association with the operability flag "OFF" are transmitted to the server 10 through the communication network 2 (S65). ).

ユーザ端末20Cのユーザは、ステータス設定画面を通じて任意のタイミングで、操作可能フラグの設定値を切り替えることができる。そして、ユーザ端末20C(配置手段220)は、操作可能フラグの設定値(すなわち、アバターの操作可能状態及び操作不能状態)が切り替えられる度に、操作可能フラグを含むアバターデータをサーバ10に送信する。 The user of the user terminal 20C can switch the set value of the operable flag at any timing through the status setting screen. Then, the user terminal 20C (arrangement means 220) transmits avatar data including the operable flag to the server 10 each time the set value of the operable flag (that is, the operable state and the inoperable state of the avatar) is switched. .

サーバ10(アバター同期手段110)は、ユーザ端末20Cから受信したアバターデータを、通信ネットワーク2を通じて他の全てのユーザ端末20A、20Bに送信する(S13)。また、ユーザ端末20A、20B(配置手段220)は、サーバ10から受信したアバターデータに従って、仮想空間90に他人アバターを配置する(S24)。さらに、ユーザ端末20A、20B(画像生成手段240)は、他人アバターが視界領域94に含まれる場合に(S42:Yes)、当該他人アバターを含む仮想空間画像97を生成する(S49、S50)。 The server 10 (avatar synchronization means 110) transmits the avatar data received from the user terminal 20C to all other user terminals 20A and 20B through the communication network 2 (S13). Also, the user terminals 20A and 20B (arrangement means 220) arrange other avatars in the virtual space 90 according to the avatar data received from the server 10 (S24). Further, when the other person's avatar is included in the field of view area 94 (S42: Yes), the user terminals 20A and 20B (image generating means 240) generate the virtual space image 97 including the other person's avatar (S49, S50).

以下、図17に示すメッセージを含むモブキャラデータと、ステップS63、S65でユーザ端末20Cから送信されたアバターデータとをユーザ端末20Aが受信したものとして、図20の処理を説明する。 20 will be described below assuming that the user terminal 20A has received the mob character data including the message shown in FIG. 17 and the avatar data transmitted from the user terminal 20C in steps S63 and S65.

一例として、ユーザ端末20Cから送信されたアバターデータの操作可能フラグに第1値“ON”が設定されている場合、ユーザ端末20A(画像生成手段240)は、図21(A)に示す仮想空間画像97を生成する(S49)。他の例として、ユーザ端末20Cから送信されたアバターデータの操作可能フラグに第2値“OFF”が設定されている場合、ユーザ端末20A(画像生成手段240)は、図22(A)に示す仮想空間画像97(但し、この時点では、定型メッセージを含む吹き出しは表示されない。)を生成する(S49)。そして、ユーザ端末20A(画像表示手段250)は、ステップS49で生成した仮想空間画像97をモニタ31に表示させる(S51)。 As an example, when the operable flag of the avatar data transmitted from the user terminal 20C is set to the first value "ON", the user terminal 20A (image generating means 240) moves to the virtual space shown in FIG. An image 97 is generated (S49). As another example, when the operable flag of the avatar data transmitted from the user terminal 20C is set to the second value "OFF", the user terminal 20A (image generating means 240) is shown in FIG. A virtual space image 97 (however, at this time, no balloon containing a fixed message is displayed) is generated (S49). Then, the user terminal 20A (image display means 250) causes the monitor 31 to display the virtual space image 97 generated in step S49 (S51).

図21(A)及び図22(A)に示す仮想空間画像97は、ユーザ端末20Aから送信されたアバターデータに基づく他人アバター53と、サーバ10から送信されたモブキャラデータに基づくモブキャラ54とを含む点で共通する。一方、図21(A)及び図22(A)に示す他人アバター53は、その外観(例えば、表情、しぐさ)が異なる。また、図21(A)及び図22(A)では、他人アバター53に付加されるユーザ名“USER-C”の表示態様が異なる(図22(A)ではグレーアウトされている)。 A virtual space image 97 shown in FIGS. 21A and 22A includes a stranger avatar 53 based on the avatar data transmitted from the user terminal 20A and a mob character 54 based on the mob character data transmitted from the server 10. common point. On the other hand, the other avatars 53 shown in FIGS. 21A and 22A differ in appearance (for example, facial expressions and gestures). Also, in FIGS. 21A and 22A, the display mode of the user name "USER-C" added to the other person's avatar 53 is different (grayed out in FIG. 22A).

すなわち、ユーザ端末20A(画像生成手段240)は、操作可能フラグの設定値(すなわち、他人アバター53の操作可能状態及び操作不能状態)を選択する選択操作がユーザ端末20Cに対して実行される度に、他人アバター53に表示態様を切り替える。操作可能フラグの設定値に応じて切り替えられる他人アバター53の表示態様は、図21(A)及び図22(A)の例に限定されず、ユーザ端末20Aのユーザが区別できる態様であれば、どのような態様でもよい。 In other words, the user terminal 20A (image generating means 240) performs a selection operation for selecting the setting value of the operable flag (that is, the operable state and the inoperable state of the other avatar 53) on the user terminal 20C. Then, the display mode is switched to another person's avatar 53 . The display mode of the other person's avatar 53, which is switched according to the set value of the operable flag, is not limited to the examples of FIGS. 21A and 22A. Any mode is acceptable.

次に、ユーザ端末20A(画像表示手段250)は、図21(A)または図22(A)に示す他人アバター53を選択する操作を操作装置42を通じて受け付けた場合に(S71:Yes)、図21(B)または図22(A)に示すように、アバターデータに含まれる定型メッセージを出力する(S72)。図21(B)及び図22(A)の例では、他人アバター53から出た吹き出しにテキスト形式の定型メッセージを表示している。他の例として、ユーザ端末20Aは、音声形式の定型メッセージをスピーカ36から出力してもよい。また、図21(A)の例では、ポインタ55を用いて他人アバター53を選択しているが、キャラクタを選択する具体的な方法はこれに限定されない。 Next, when the user terminal 20A (image display means 250) receives an operation to select the other person avatar 53 shown in FIG. 21A or FIG. 21(B) or as shown in FIG. 22(A), the standard message included in the avatar data is output (S72). In the examples of FIGS. 21B and 22A, a standard message in text format is displayed in a speech bubble from another person's avatar 53. In the example of FIG. As another example, the user terminal 20</b>A may output a standard voice message from the speaker 36 . Also, in the example of FIG. 21A, the pointer 55 is used to select the other person's avatar 53, but the specific method of selecting the character is not limited to this.

次に、ユーザ端末20A(画像表示手段250)は、アバターデータに含まれる操作可能フラグの設定値を判定する(S73)。そして、ユーザ端末20A(画像表示手段250)は、操作可能フラグに第1値“ON”が設定されていると判定した場合に(S73:Yes)、図21(B)に示すように、メッセージの入力を受け付けるテキストボックス56と、[送信]ボタン57とをモニタ31に表示させる。なお、ユーザ端末20Aは、テキストボックス56を通じたテキスト形式のメッセージの入力に限定されず、マイク35を通じた音声形式のメッセージの入力を受け付けてもよい。 Next, the user terminal 20A (image display means 250) determines the set value of the operable flag included in the avatar data (S73). Then, when the user terminal 20A (image display means 250) determines that the operable flag is set to the first value "ON" (S73: Yes), as shown in FIG. and a [Send] button 57 are displayed on the monitor 31. Note that the user terminal 20</b>A is not limited to inputting a message in text format through the text box 56 , and may accept inputting a message in voice format through the microphone 35 .

次に、ユーザ端末20A(配置手段220)は、テキストボックス56にメッセージを入力して、[送信]ボタン57を押下する操作を操作装置42を通じて受け付けるまで(S74:No)、ステップS75の処理の実行を待機する。そして、ユーザ端末20A(配置手段220)は、[送信]ボタン57を押下する操作を受け付けた場合に(S74:Yes)、テキストボックス56に入力されたメッセージ“お薦め商品を教えて下さい。”と、他人アバター53に対応するユーザ端末20Cの端末ID“TERM-C”とを含むアバターデータを、通信ネットワーク2を通じてサーバ10に送信する(S75)。また、サーバ10(アバター同期手段110)は、端末IDを含むアバターデータを受信した場合に、当該端末ID“TERM-C”で識別されるユーザ端末20Cのみに、当該アバターデータを送信(中継)する。 Next, the user terminal 20A (placement unit 220) enters a message in the text box 56 and until the operation of pressing the [Send] button 57 is accepted through the operation device 42 (S74: No), the process of step S75 is stopped. Wait for execution. Then, when the user terminal 20A (arrangement means 220) accepts the operation of pressing the [Send] button 57 (S74: Yes), the message "Please tell me the recommended products." , and the terminal ID "TERM-C" of the user terminal 20C corresponding to the other person's avatar 53 are transmitted to the server 10 via the communication network 2 (S75). Further, when receiving avatar data including a terminal ID, the server 10 (avatar synchronization means 110) transmits (relays) the avatar data only to the user terminal 20C identified by the terminal ID "TERM-C". do.

一方、ユーザ端末20A(画像表示手段250)は、操作可能フラグに第2値“OFF”が設定されていると判定した場合に(S73:No)、ステップS74-S75の処理をスキップする。すなわち、図22(A)に示すように、テキストボックス56及び[送信]ボタン57がモニタ31に表示されず、ユーザ端末20Cにメッセージを送信することができない。 On the other hand, when the user terminal 20A (image display means 250) determines that the second value "OFF" is set in the operable flag (S73: No), it skips the processing of steps S74 and S75. That is, as shown in FIG. 22A, the text box 56 and the [Send] button 57 are not displayed on the monitor 31, and the message cannot be sent to the user terminal 20C.

図18に戻って、ユーザ端末20C(画像表示手段250)は、メッセージを含むアバターデータをサーバ10から受信した場合に(S66:Yes)、ユーザ端末20Aのアバターに対応付けてメッセージを出力する(S67)。そして、ユーザ端末20C(配置手段220)は、返信メッセージを入力する操作を操作装置42を通じて受け付けるまで(S68:No)、ステップS69の処理の実行を待機する。次に、ユーザ端末20C(配置手段220)は、返信メッセージが入力された場合に(S68:Yes)、当該返信メッセージ及びユーザ端末20Aの端末ID“TERM-A”を含むアバターデータを、通信ネットワーク2を通じてサーバ10に送信する(S69)。ステップS67-S69の処理は、ステップS72、S74-S75と共通する。 Returning to FIG. 18, when avatar data including a message is received from the server 10 (S66: Yes), the user terminal 20C (image display means 250) outputs the message in association with the avatar of the user terminal 20A ( S67). Then, the user terminal 20C (arranging means 220) waits for execution of the process of step S69 until an operation of inputting a reply message is received through the operation device 42 (S68: No). Next, when a reply message is input (S68: Yes), the user terminal 20C (arranging means 220) transmits the reply message and the avatar data including the terminal ID "TERM-A" of the user terminal 20A to the communication network. 2 to the server 10 (S69). The processing of steps S67-S69 is common to steps S72 and S74-S75.

そして、ユーザ端末20Aで実行されるステップS72、S74-S75の処理と、ユーザ端末20Cで実行されるステップS67-S69の処理とが繰り返されることによって、ユーザ端末20Aのユーザと、ユーザ端末20Cのユーザ(すなわち、商店のスタッフ)との間に、仮想空間90を通じたコミュニケーションが成立する。 By repeating the processing of steps S72 and S74-S75 executed by the user terminal 20A and the processing of steps S67-S69 executed by the user terminal 20C, the user of the user terminal 20A and the user terminal 20C Communication is established through the virtual space 90 with the user (that is, store staff).

図20に戻って、ユーザ端末20A(画像表示手段250)は、図21(A)に示すモブキャラ54を選択する操作を操作装置42を通じて受け付けた場合に(S76:Yes)、図22(B)に示すように、モブキャラデータに含まれるメッセージ“子供連れでも入りやすいお店です。”を出力する(S77)。図22(B)の例では、モブキャラ54から出た吹き出しにテキスト形式のメッセージを表示している。他の例として、ユーザ端末20Aは、音声形式のメッセージをスピーカ36から出力してもよい。 Returning to FIG. 20, when the user terminal 20A (image display means 250) receives an operation to select the mob character 54 shown in FIG. 21A through the operation device 42 (S76: Yes), , the message "This shop is easy to enter even with children" included in the mob character data is output (S77). In the example of FIG. 22(B), a message in text format is displayed in a speech bubble from the mob character 54 . As another example, the user terminal 20A may output a voice message from the speaker 36. FIG.

[実施例2の作用効果]
実施例2によれば、他人アバター53が商店のスタッフによって操作可能か否かを、他人アバター53の表示態様によってユーザ端末20Aのユーザに報せることができる。これにより、他人アバター53にメッセージを送っても(他人アバター53に話しかけても)返信がないことによるユーザ端末20Aのユーザのストレスを軽減することができる。換言すれば、商店において、他人アバター53を常に操作可能な状態にするために、ユーザ端末20Cの傍にスタッフを常駐させておく必要がない。
[Effect of Example 2]
According to the second embodiment, it is possible to notify the user of the user terminal 20A by the display mode of the other person's avatar 53 whether or not the store staff can operate the other person's avatar 53 . As a result, it is possible to reduce the stress of the user of the user terminal 20A due to sending a message to the other person's avatar 53 (speaking to the other person's avatar 53) and not receiving a reply. In other words, it is not necessary to station staff near the user terminal 20C in order to make the other person's avatar 53 operable at all times in the store.

また、実施例2によれば、属性に対応付けて予め登録されたメッセージを、モブキャラ54を通じてユーザ端末20Aのユーザに報せることができる。これにより、例えば、商店をアピールするメッセージを登録しておけば、ユーザ端末20Aのユーザに、現実の商店に行くモチベーションを与えることができる。なお、モブキャラ54に対応付けるメッセージは、サーバ10のストレージ13に予め記憶されていることに限定されず、AI機能を用いて自動で作成されてもよいし、インターネット上の口コミサイトの評価の高い口コミを引用してもよい。 Further, according to the second embodiment, it is possible to inform the user of the user terminal 20A of a message that has been registered in advance in association with the attribute through the mob-chara 54. FIG. As a result, for example, by registering a message appealing the store, the user of the user terminal 20A can be motivated to go to the actual store. Note that the message associated with the mob character 54 is not limited to being stored in advance in the storage 13 of the server 10, and may be automatically created using an AI function, or may be a word-of-mouth message with a high rating on a word-of-mouth site on the Internet. may be quoted.

[その他の実施形態]
なお、本発明では、仮想空間90内に配置するモブキャラの数によって、現実空間にいる人の混み具合をユーザ端末20Aのユーザに推測させることができれば、検知装置3で検知された人と、仮想空間90内に配置するモブキャラとを一対一で対応させる必要はない。より詳細には、検知装置3によって検知された人の数と、仮想空間90内に配置されるモブキャラの数とは、正の相関があれば同一でなくてもよい。すなわち、配置手段220は、検知装置3の検知結果(例えば、人の数、密度など)に基づく数のモブキャラを仮想空間90に配置すればよい。より詳細には、配置手段220は、検知装置3によって検知された人に対応するモブキャラを仮想空間90に配置すればよい。
[Other embodiments]
In addition, in the present invention, if the user of the user terminal 20A can estimate the crowd of people in the real space from the number of mob characters placed in the virtual space 90, the people detected by the detection device 3 and the virtual It is not necessary to have a one-to-one correspondence with the mob characters placed in the space 90 . More specifically, the number of people detected by the detection device 3 and the number of mob characters placed in the virtual space 90 need not be the same as long as there is a positive correlation. That is, the arranging means 220 may arrange the number of mob characters in the virtual space 90 based on the detection result of the detection device 3 (for example, the number of people, density, etc.). More specifically, the placement unit 220 may place a mob character corresponding to the person detected by the detection device 3 in the virtual space 90 .

また、配置手段220が仮想空間90に配置するオブジェクトは、現実空間に出入りする人に対応するモブキャラ(非ユーザキャラクタ)に限定されない。オブジェクトの他の例として、乗り物(自動車、船舶、航空機)、動物、植物、商品、展示物など、現実空間に対して出入りする可能性のある物に対応するものでもよい。さらに、仮想空間90に配置されるオブジェクトは、1種類に限定されず、複数種類でもよい。 Also, the objects arranged in the virtual space 90 by the arrangement means 220 are not limited to mob characters (non-user characters) corresponding to people entering and exiting the real space. Other examples of objects may correspond to objects that may enter and exit the real space, such as vehicles (automobiles, ships, aircraft), animals, plants, products, and exhibits. Furthermore, the objects placed in the virtual space 90 are not limited to one type, and may be of multiple types.

一例として、道路や駐車場を含む仮想空間90に、現実空間の車に対応するオブジェクトを配置することによって、ユーザ端末20Aのユーザは、仮想空間90を通じて渋滞状況や駐車場の空き状況を認識できる。他の例として、動物園や公園を含む仮想空間90に、現実空間の動物に対応するオブジェクト及び入園者に対応するモブキャラを配置することによって、ユーザ端末20Aのユーザは、仮想空間90を通じて動物がよく見える場所を認識できる。 As an example, by arranging an object corresponding to a car in the real space in the virtual space 90 including roads and parking lots, the user of the user terminal 20A can recognize traffic congestion and parking space availability through the virtual space 90. . As another example, by arranging objects corresponding to animals in the real space and mob characters corresponding to visitors in the virtual space 90 including zoos and parks, the user of the user terminal 20A can easily see the animals through the virtual space 90. You can recognize where you can see it.

また、本発明に係るプログラムは、単一のプログラムに限定されず、複数のプログラムの集合体でもよい。また、本発明に係るプログラムは、単一の装置で実行されるものに限定されず、複数の装置で分担して実行されてもよい。さらに、サーバ10及びユーザ端末20の役割分担は、前述の例に限定されない。すなわち、サーバ10の処理の一部がユーザ端末20によって実行されてもよいし、ユーザ端末20の処理の一部がサーバ10によって実行されてもよい。 Also, the program according to the present invention is not limited to a single program, and may be an aggregate of a plurality of programs. Moreover, the program according to the present invention is not limited to being executed by a single device, and may be executed by a plurality of devices in a shared manner. Furthermore, the division of roles between the server 10 and the user terminal 20 is not limited to the above example. That is, part of the processing of the server 10 may be executed by the user terminal 20 , and part of the processing of the user terminal 20 may be executed by the server 10 .

さらに、プログラムによって実現される各手段の一部または全部は、集積回路などのハードウェアで実現することもできる。さらに、プログラムは、コンピュータによって読み出し可能な非一過性の記録媒体に記録されて提供されてもよい。記録媒体とは、例えば、ハードディスク、SDカード、DVDの他、インターネット上のサーバ等を指す。 Furthermore, part or all of each means realized by the program can also be realized by hardware such as an integrated circuit. Furthermore, the program may be provided by being recorded on a computer-readable non-transitory recording medium. Recording media refer to, for example, hard disks, SD cards, DVDs, servers on the Internet, and the like.

1…システム、2…通信ネットワーク、3…検知装置、10…サーバ、11,21…プロセッサ、12,22…メモリ、13,23…ストレージ、13P…サーバプログラム、14,24…入出力インタフェース、15,25…通信インタフェース、19,29…通信バス、20…ユーザ端末、23P…端末プログラム、26…コンピュータ、30…HMD、31…モニタ、32…注視センサ、33,34…カメラ、35…マイク、36…スピーカ、41…動きセンサ、42…操作装置、50…本人アバター、51,53…他人アバター、52,54…モブキャラ、55…ポインタ、56…テキストボックス、57…[送信]ボタン、90…仮想空間、91…パノラマ画像、92…仮想カメラ、93…基準視線、94…視界領域、95,96…領域、97…仮想空間画像、98…トグルスイッチ、110…アバター同期手段、120…人抽出手段、130…モブキャラ生成手段、210…仮想空間定義手段、220…配置手段、230…カメラ移動手段、240…画像生成手段、250…画像表示手段 DESCRIPTION OF SYMBOLS 1... System, 2... Communication network, 3... Detecting device, 10... Server, 11, 21... Processor, 12, 22... Memory, 13, 23... Storage, 13P... Server program, 14, 24... Input/output interface, 15 , 25... communication interface, 19, 29... communication bus, 20... user terminal, 23P... terminal program, 26... computer, 30... HMD, 31... monitor, 32... gaze sensor, 33, 34... camera, 35... microphone, 36... speaker, 41... motion sensor, 42... operating device, 50... person's avatar, 51, 53... other person's avatar, 52, 54... mob character, 55... pointer, 56... text box, 57... [send] button, 90... Virtual space 91 Panorama image 92 Virtual camera 93 Reference line of sight 94 Field of view area 95, 96 Area 97 Virtual space image 98 Toggle switch 110 Avatar synchronization means 120 People extraction Means 130 Mob character generation means 210 Virtual space definition means 220 Placement means 230 Camera movement means 240 Image generation means 250 Image display means

Claims (5)

コンピュータを、
現実空間に対応する仮想空間を定義する仮想空間定義手段と、
前記現実空間に設置された検知装置の検知結果に基づく数のオブジェクトを、前記仮想空間内に配置する配置手段と
想カメラで前記仮想空間内を撮像した仮想空間画像を生成する画像生成手段と、
前記仮想空間画像を第1ユーザ端末に表示させる画像表示手段として機能させ、
前記画像生成手段は、前記第1ユーザ端末に対して実行された前記オブジェクトの選択操作に基づいて、前記検知装置によって検知された属性に対応付けて予め登録されたメッセージを、選択された前記オブジェクトを通じて出力する、プログラム。
the computer,
a virtual space defining means for defining a virtual space corresponding to the real space;
arranging means for arranging, in the virtual space, the number of objects based on the detection result of the detection device installed in the physical space ;
an image generating means for generating a virtual space image obtained by imaging the inside of the virtual space with a virtual camera;
functioning as image display means for displaying the virtual space image on the first user terminal ;
The image generation means generates a message registered in advance in association with the attribute detected by the detection device, based on the selection operation of the object performed on the first user terminal, to the selected object. A program that outputs through
請求項1に記載のプログラムにおいて、
前記配置手段は、前記検知装置によって検知された属性に対応する態様の前記オブジェクトを、前記仮想空間内に配置する、プログラム。
In the program according to claim 1,
A program according to claim 1, wherein the arranging means arranges the object in the virtual space in a manner corresponding to the attribute detected by the detector.
請求項1に記載のプログラムにおいて、
前記配置手段は、前記検知装置によって検知された人に対応する非ユーザキャラクタを、前記オブジェクトとして前記仮想空間内に配置する、プログラム。
In the program according to claim 1,
A program in which the placement means places a non-user character corresponding to the person detected by the detection device in the virtual space as the object.
請求項に記載のプログラムにおいて、
前記画像生成手段は、
前記第1ユーザ端末に対して実行された表示操作に基づいて、前記仮想カメラの画角に含まれる前記非ユーザキャラクタを含む前記仮想空間画像を生成し、
前記第1ユーザ端末に対して実行された非表示操作に基づいて、前記仮想カメラの画角に含まれる前記非ユーザキャラクタを含まない前記仮想空間画像を生成する、プログラム。
In the program according to claim 3 ,
The image generation means is
generating the virtual space image including the non-user character included in the angle of view of the virtual camera based on a display operation performed on the first user terminal;
A program for generating the virtual space image that does not include the non-user character included in the angle of view of the virtual camera, based on a non-display operation performed on the first user terminal.
コンピュータを、
現実空間に対応する仮想空間を定義する仮想空間定義手段と、
前記現実空間に設置された検知装置の検知結果に基づく数のオブジェクトを、前記仮想空間内に配置する配置手段と、
第1ユーザ端末に対して実行された移動操作に基づいて、前記仮想空間内で仮想カメラを移動させるカメラ移動手段と、
前記仮想カメラで前記仮想空間内を撮像した仮想空間画像を生成する画像生成手段と、
前記仮想空間画像を前記第1ユーザ端末に表示させる画像表示手段として機能させ、
前記配置手段は、
前記検知装置によって検知された人に対応する非ユーザキャラクタを、前記オブジェクトとして前記仮想空間内に配置し、
第2ユーザ端末を通じて操作されるユーザキャラクタを前記仮想空間内に配置し、
前記画像生成手段は、
前記仮想カメラの画角に含まれる前記ユーザキャラクタ及び前記非ユーザキャラクタのうち、前記仮想カメラからの距離が閾値距離未満の前記ユーザキャラクタ及び前記非ユーザキャラクタを、異なる表示態様で前記仮想空間画像に含め、
前記仮想カメラからの距離が前記閾値距離以上の前記ユーザキャラクタ及び前記非ユーザキャラクタを、共通の表示態様で前記仮想空間画像に含める、プログラム。
the computer,
a virtual space defining means for defining a virtual space corresponding to the real space;
arranging means for arranging, in the virtual space, the number of objects based on the detection result of the detection device installed in the physical space;
camera movement means for moving the virtual camera within the virtual space based on a movement operation performed on the first user terminal;
image generation means for generating a virtual space image obtained by imaging the inside of the virtual space with the virtual camera;
functioning as image display means for displaying the virtual space image on the first user terminal ;
The arranging means is
arranging a non-user character corresponding to the person detected by the detection device in the virtual space as the object;
arranging a user character operated through a second user terminal in the virtual space;
The image generation means is
Among the user character and the non-user character included in the angle of view of the virtual camera, the user character and the non-user character whose distance from the virtual camera is less than a threshold distance are displayed in the virtual space image in different display modes. including
A program for including the user character and the non-user character whose distance from the virtual camera is equal to or greater than the threshold distance in the virtual space image in a common display mode.
JP2023013041A 2023-01-31 2023-01-31 program Active JP7332823B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023013041A JP7332823B1 (en) 2023-01-31 2023-01-31 program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023013041A JP7332823B1 (en) 2023-01-31 2023-01-31 program

Publications (1)

Publication Number Publication Date
JP7332823B1 true JP7332823B1 (en) 2023-08-23

Family

ID=87576921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023013041A Active JP7332823B1 (en) 2023-01-31 2023-01-31 program

Country Status (1)

Country Link
JP (1) JP7332823B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022187812A (en) * 2021-06-08 2022-12-20 エヌ・ティ・ティ・コミュニケーションズ株式会社 Processing device, processing method, and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022187812A (en) * 2021-06-08 2022-12-20 エヌ・ティ・ティ・コミュニケーションズ株式会社 Processing device, processing method, and program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"凸版印刷とb8ta Japan、バーチャル空間上でショッピングを可能にする 「IoA Shopping TM」を開発、「Virtua", ニュースルーム[ONLINE], JPN6023018725, 22 March 2021 (2021-03-22), JP, ISSN: 0005059865 *
凸版印刷とb8ta Japan、バーチャル空間上でショッピングを可能にする 「IoA Shopping TM」を開発、「Virtual b8ta」で実証実験を開始,ニュースルーム[online],日本,凸版印刷株式会社,2021年03月22日,https://www.toppan.co.jp/news/2021/03/newsrelease210322_2.html

Similar Documents

Publication Publication Date Title
US11669152B2 (en) Massive simultaneous remote digital presence world
US10609334B2 (en) Group video communication method and network device
WO2020203999A1 (en) Communication assistance system, communication assistance method, and image control program
JP6342038B1 (en) Program for providing virtual space, information processing apparatus for executing the program, and method for providing virtual space
JP6234622B1 (en) Method for communicating via virtual space, program for causing computer to execute the method, and information processing apparatus for executing the program
EP3383036A2 (en) Information processing device, information processing method, and program
JP6298563B1 (en) Program and method for providing virtual space by head mounted device, and information processing apparatus for executing the program
JP6290467B1 (en) Information processing method, apparatus, and program causing computer to execute information processing method
US10894211B2 (en) Information processing method, apparatus, and system for executing the information processing method
JP6342024B1 (en) Method for providing virtual space, program for causing computer to execute the method, and information processing apparatus for executing the program
JP6201028B1 (en) Information processing method, apparatus, and program for causing computer to execute information processing method
WO2016079470A1 (en) Mixed reality information and entertainment system and method
JP2016045814A (en) Virtual reality service providing system and virtual reality service providing method
JP6257825B1 (en) Method for communicating via virtual space, program for causing computer to execute the method, and information processing apparatus for executing the program
JP6393387B1 (en) Programs, computers, and methods for providing a virtual experience
JP2018116684A (en) Communication method through virtual space, program causing computer to execute method, and information processing device to execute program
JP7332823B1 (en) program
CN113574849A (en) Object scanning for subsequent object detection
JP2019030638A (en) Information processing method, device, and program for causing computer to execute information processing method
JP2018092592A (en) Information processing method, apparatus, and program for implementing that information processing method on computer
JP2019012509A (en) Program for providing virtual space with head-mounted display, method, and information processing apparatus for executing program
JP6983639B2 (en) A method for communicating via virtual space, a program for causing a computer to execute the method, and an information processing device for executing the program.
JP2018156675A (en) Method for presenting virtual space, program for causing computer to execute the same method, and information processing device for executing the same program
US20230412766A1 (en) Information processing system, information processing method, and computer program
JP6392832B2 (en) Information processing method, apparatus, and program for causing computer to execute information processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230210

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230627

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230810

R150 Certificate of patent or registration of utility model

Ref document number: 7332823

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150