Program and information processing system
The program enhances metaverse services by recommending users and content based on their behavior history, improving user engagement and interest.
Patent Information
- Application Number
- JP2022153976
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-09-27
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2042-09-27
AI Technical Summary
There is a demand to enhance user interest in metaverse services by providing personalized recommendations based on user actions within the metaverse.
A program is implemented to recommend predetermined things in the metaverse to users based on their action history, utilizing a recommendation module that sets attributes for users based on their behavior within the metaverse and real world, and suggests compatible users, groups, or content.
This approach improves user engagement and interest in the metaverse by offering tailored suggestions, enhancing the overall experience.
Smart Images

Figure 0007612639000001 
Figure 0007612639000002 
Figure 0007612639000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a program and an information processing system. [Background technology]
[0002] 2. Description of the Related Art Conventionally, there have been known services that provide a virtual space (in other words, a metaverse) in which users can interact with each other (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2011-216073 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, there is a demand for such services to be more entertaining.
[0005] The present invention has been made in consideration of the above circumstances, and has an object to improve the interest of a service. [Means for solving the problem]
[0006] According to one embodiment shown in the present disclosure, Computer, The system functions as a recommendation means for recommending to a user specific things in the metaverse based on the user's behavior history in the metaverse. The program is provided. Effect of the Invention
[0007] According to the present invention, it is possible to improve the interest of a service. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram illustrating an outline of the configuration of an HMD system according to an embodiment. [Diagram 2] FIG. 1 is a block diagram illustrating an example of a hardware configuration of a computer according to an embodiment. [Diagram 3] FIG. 2 is a diagram conceptually illustrating a uvw field of view coordinate system set in an HMD according to an embodiment. [Figure 4] FIG. 1 is a diagram conceptually illustrating one mode of expressing a virtual space according to an embodiment. [Diagram 5] 1 is a top view of the head of a user wearing an HMD according to one embodiment. [Figure 6] 1 is a diagram showing a YZ cross section of a field of view in a virtual space as viewed from an X direction. [Figure 7] 1 is a diagram showing an XZ cross section of a field of view in a virtual space as viewed from the Y direction. [Figure 8(A)] FIG. 2 is a diagram illustrating a schematic configuration of a controller according to an embodiment. [Figure 8(B)] FIG. 2 illustrates an example of yaw, roll, and pitch directions defined relative to a user's right hand according to one embodiment. [Figure 9] FIG. 2 is a block diagram illustrating an example of a hardware configuration of a server according to an embodiment. [Figure 10] FIG. 1 is a block diagram illustrating a modular configuration of a computer according to an embodiment. [Figure 11] 1 is a sequence chart showing a process executed in an HMD set according to an embodiment. [Figure 12(A)] 1 is a schematic diagram showing a situation in which each HMD provides a virtual space to a user in a network. [Figure 12(B)] FIG. 13 is a diagram showing a visual field image of a user 5A in FIG. [Figure 13] 1 is a sequence chart showing a process executed in an HMD system according to an embodiment. [Figure 14]FIG. 2 is a block diagram illustrating a detailed configuration of a module of a computer according to an embodiment. [Figure 15] FIG. 2 is a block diagram illustrating a server according to one embodiment in a modular configuration. [Figure 16] FIG. 11 is a diagram for explaining attributes set for a user according to an embodiment. [Figure 17] FIG. 13 is a diagram illustrating a display for making a predetermined recommendation to a user according to an embodiment. [Figure 18] FIG. 13 is a diagram illustrating a display for making a predetermined recommendation to a user according to an embodiment. [Figure 19] 11 is a sequence chart illustrating an example of a process for recommending other users based on a behavior history in the metaverse according to an embodiment. [Figure 20] 11 is a sequence chart illustrating an example of a process for recommending content in the metaverse based on a behavior history in the metaverse according to an embodiment. [Figure 21] 1 is a sequence chart illustrating an example of a process for making recommendations regarding things in the metaverse based on behavioral history in the real world according to an embodiment. [Figure 22] 1 is a sequence chart illustrating an example of a process for making recommendations regarding real-world objects based on a behavior history in the metaverse according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, the embodiment of this technical idea will be described in detail with reference to the drawings. In the following description, the same parts are given the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated. In one or more embodiments shown in this disclosure, the elements included in each embodiment can be combined with each other, and the combined result also forms part of the embodiment shown in this disclosure.
[0010] [HMD system configuration] The configuration of an HMD (Head-Mounted Device) system 100 will be described with reference to Fig. 1. Fig. 1 is a diagram showing an outline of the configuration of an HMD system 100 according to the present embodiment. The HMD system 100 is provided as a system for home use or a system for commercial use. The HMD system 100 provides a predetermined service to a user.
[0011] The HMD system 100 includes a server 600, HMD sets 110A, 110B, 110C, and 110D, an external device 700, and a network 2. Each of the HMD sets 110A, 110B, 110C, and 110D is configured to be able to communicate with the server 600 and the external device 700 via the network 2. Hereinafter, the HMD sets 110A, 110B, 110C, and 110D are collectively referred to as an HMD set 110. The number of HMD sets 110 constituting the HMD system 100 is not limited to four, and may be three or less, or five or more. The HMD set 110 includes an HMD 120, a computer 200, an HMD sensor 410, a display 430, and a controller 300. The HMD 120 includes a monitor 130, a gaze sensor 140, a first camera 150, a second camera 160, a microphone 170, and a speaker 180. The controller 300 may include a motion sensor 420.
[0012] In one aspect, the computer 200 can be connected to the Internet or other network 2, and can communicate with a server 600 or other computers connected to the network 2. Examples of the other computers include computers of other HMD sets 110 and external devices 700. In another aspect, the HMD 120 can include a sensor 190 instead of the HMD sensor 410.
[0013] The HMD 120 is worn on the head of the user 5 and can provide a virtual space to the user 5 during operation. More specifically, the HMD 120 displays an image for the right eye and an image for the left eye on the monitor 130. When each eye of the user 5 views the respective image, the user 5 can recognize the image as a three-dimensional image based on the parallax between the two eyes. The HMD 120 can include both a so-called head-mounted display equipped with a monitor and a head-mounted device to which a smartphone or other terminal having a monitor can be attached.
[0014] The monitor 130 is realized, for example, as a non-transmissive display device. In one aspect, the monitor 130 is disposed on the body of the HMD 120 so as to be located in front of both eyes of the user 5. Therefore, when the user 5 visually recognizes the three-dimensional image displayed on the monitor 130, the user 5 can be immersed in the virtual space. In one aspect, the virtual space includes, for example, images of a background, objects that the user 5 can operate, and menus that the user 5 can select. In one aspect, the monitor 130 can be realized as a liquid crystal monitor or an organic EL (Electro Luminescence) monitor provided in a so-called smartphone or other information display terminal.
[0015] In another aspect, the monitor 130 may be realized as a transmissive display device. In this case, the HMD 120 may be an open type such as a glasses type, instead of a closed type that covers the eyes of the user 5 as shown in FIG. 1. The transmissive monitor 130 may be temporarily configurable as a non-transmissive display device by adjusting the transmittance. The monitor 130 may include a configuration that simultaneously displays a part of an image that configures a virtual space and a real space. For example, the monitor 130 may display an image of the real space captured by a camera mounted on the HMD 120, or may make the real space visible by setting a part of the transmittance high.
[0016] In one aspect, the monitor 130 may include a sub-monitor for displaying an image for the right eye and a sub-monitor for displaying an image for the left eye. In another aspect, the monitor 130 may be configured to integrally display an image for the right eye and an image for the left eye. In this case, the monitor 130 includes a high-speed shutter. The high-speed shutter operates to alternately display an image for the right eye and an image for the left eye so that the image is recognized by only one of the eyes.
[0017] In one aspect, the HMD 120 includes a plurality of light sources (not shown). Each light source is realized, for example, by an LED (Light Emitting Diode) that emits infrared rays. The HMD sensor 410 has a position tracking function for detecting the movement of the HMD 120. More specifically, the HMD sensor 410 reads a plurality of infrared rays emitted by the HMD 120 and detects the position and inclination of the HMD 120 in the real space.
[0018] In another aspect, the HMD sensor 410 may be realized by a camera. In this case, the HMD sensor 410 can detect the position and inclination of the HMD 120 by performing image analysis processing using image information of the HMD 120 output from the camera.
[0019] In another aspect, the HMD 120 may include a sensor 190 as a position detector instead of or in addition to the HMD sensor 410. The HMD 120 may detect the position and tilt of the HMD 120 itself using the sensor 190. For example, if the sensor 190 is an angular velocity sensor, a geomagnetic sensor, or an acceleration sensor, the HMD 120 may detect the position and tilt of the HMD 120 itself using any of these sensors instead of the HMD sensor 410. As an example, if the sensor 190 is an angular velocity sensor, the angular velocity sensor detects the angular velocity of the HMD 120 around three axes in real space over time. The HMD 120 calculates the change in angle of the HMD 120 around the three axes over time based on each angular velocity, and further calculates the tilt of the HMD 120 based on the change in angle over time.
[0020] The gaze sensor 140 detects the direction in which the gaze of the right eye and the left eye of the user 5 are directed. That is, the gaze sensor 140 detects the gaze of the user 5. The detection of the gaze direction is realized, for example, by a known eye tracking function. The gaze sensor 140 is realized by a sensor having the eye tracking function. In a certain aspect, the gaze sensor 140 preferably includes a sensor for the right eye and a sensor for the left eye. The gaze sensor 140 may be, for example, a sensor that irradiates the right eye and the left eye of the user 5 with infrared light and detects the rotation angle of each eyeball by receiving reflected light from the cornea and the iris of the irradiated light. The gaze sensor 140 can detect the gaze of the user 5 based on each detected rotation angle.
[0021] The first camera 150 photographs the lower part of the face of the user 5. More specifically, the first camera 150 photographs the nose, mouth, and the like of the user 5. The second camera 160 photographs the eyes, eyebrows, and the like of the user 5. The housing of the HMD 120 on the user 5 side is defined as the inside of the HMD 120, and the housing of the HMD 120 on the opposite side to the user 5 is defined as the outside of the HMD 120. In one aspect, the first camera 150 may be disposed outside the HMD 120, and the second camera 160 may be disposed inside the HMD 120. Images generated by the first camera 150 and the second camera 160 are input to the computer 200. In another aspect, the first camera 150 and the second camera 160 may be realized as a single camera, and the face of the user 5 may be photographed by this single camera.
[0022] The microphone 170 converts the speech of the user 5 into an audio signal (electrical signal) and outputs it to the computer 200. The speaker 180 converts the audio signal into sound and outputs it to the user 5. In another aspect, the HMD 120 may include earphones instead of the speaker 180.
[0023] The controller 300 is connected to the computer 200 by wire or wirelessly. The controller 300 accepts input of a command from the user 5 to the computer 200. In one aspect, the controller 300 is configured to be held by the user 5. In another aspect, the controller 300 is configured to be attached to a part of the body or clothing of the user 5. In yet another aspect, the controller 300 may be configured to output at least one of vibration, sound, and light based on a signal transmitted from the computer 200. In yet another aspect, the controller 300 accepts an operation from the user 5 to control the position and movement of an object placed in a virtual space.
[0024] In one aspect, the controller 300 includes a plurality of light sources. Each light source is realized, for example, by an LED that emits infrared rays. The HMD sensor 410 has a position tracking function. In this case, the HMD sensor 410 reads a plurality of infrared rays emitted by the controller 300 and detects the position and tilt of the controller 300 in the real space. In another aspect, the HMD sensor 410 may be realized by a camera. In this case, the HMD sensor 410 can detect the position and tilt of the controller 300 by performing an image analysis process using image information of the controller 300 output from the camera.
[0025] In one aspect, the motion sensor 420 is attached to the hand of the user 5 and detects the movement of the hand of the user 5. For example, the motion sensor 420 detects the rotation speed, number of rotations, etc. of the hand. The detected signal is sent to the computer 200. The motion sensor 420 is provided, for example, in the controller 300. In one aspect, the motion sensor 420 is provided, for example, in the controller 300 configured to be held by the user 5. In another aspect, for safety in the real space, the controller 300 is attached to something that is not easily blown away by being worn on the hand of the user 5, such as a glove type. In yet another aspect, a sensor that is not worn by the user 5 may detect the movement of the hand of the user 5. For example, a signal from a camera that captures the user 5 may be input to the computer 200 as a signal representing the movement of the user 5. The motion sensor 420 and the computer 200 are connected to each other wirelessly, for example. In the case of wireless communication, the communication form is not particularly limited, and for example, Bluetooth (registered trademark) or other known communication methods are used.
[0026] The display 430 displays an image similar to the image displayed on the monitor 130. This allows users other than the user 5 wearing the HMD 120 to view the same image as the user 5. The image displayed on the display 430 does not need to be a three-dimensional image, and may be an image for the right eye or an image for the left eye. Examples of the display 430 include a liquid crystal display and an organic EL monitor.
[0027] The server 600 may transmit a program to the computer 200. In another aspect, the server 600 may communicate with other computers 200 for providing a virtual reality to the HMD 120 used by other users. For example, in an amusement facility, when multiple users play a participatory game, each computer 200 communicates a signal based on the operation of each user with the other computers 200 via the server 600, enabling multiple users to enjoy a common game in the same virtual space. Each computer 200 may communicate a signal based on the operation of each user with the other computers 200 without going through the server 600.
[0028] The external device 700 may be any device capable of communicating with the computer 200. The external device 700 may be, for example, a device capable of communicating with the computer 200 via the network 2, or a device capable of directly communicating with the computer 200 via short-distance wireless communication or a wired connection. The external device 700 may also be, for example, a device capable of communicating with the server 600 via the network 2. Examples of the external device 700 include, but are not limited to, a smart device, a PC (Personal Computer), and a peripheral device of the computer 200.
[0029] [Computer hardware configuration] A computer 200 according to this embodiment will be described with reference to Fig. 2. Fig. 2 is a block diagram showing an example of a hardware configuration of computer 200 according to this embodiment. Computer 200 includes, as main components, a processor 210, a memory 220, a storage 230, an input / output interface 240, and a communication interface 250. Each component is connected to a bus 260.
[0030] Processor 210 executes a series of instructions included in a program stored in memory 220 or storage 230, based on a signal provided to computer 200 or based on the establishment of a predetermined condition. In one aspect, processor 210 is realized as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor unit (MPU), a field-programmable gate array (FPGA), or other device.
[0031] The memory 220 temporarily stores programs and data. The programs are loaded from, for example, the storage 230. The data includes data input to the computer 200 and data generated by the processor 210. In one aspect, the memory 220 is realized as a random access memory (RAM) or other volatile memory.
[0032] The storage 230 permanently holds programs and data. The storage 230 is realized, for example, as a ROM (Read-Only Memory), a hard disk drive, a flash memory, or other non-volatile storage device. The programs stored in the storage 230 include a program for providing a virtual space in the HMD system 100, a simulation program, a game program, a user authentication program, and a program for realizing communication with other computers 200. The data stored in the storage 230 includes data and objects for defining the virtual space.
[0033] In another aspect, the storage 230 may be realized as a removable storage device such as a memory card. In yet another aspect, a configuration may be used in which programs and data stored in an external storage device are used instead of the storage 230 built into the computer 200. With such a configuration, for example, in a scene where a plurality of HMD systems 100 are used, such as an amusement facility, it becomes possible to collectively update the programs and data.
[0034] The input / output interface 240 communicates signals between the HMD 120, the HMD sensor 410, the motion sensor 420, and the display 430. The monitor 130, the gaze sensor 140, the first camera 150, the second camera 160, the microphone 170, and the speaker 180 included in the HMD 120 can communicate with the computer 200 via the input / output interface 240 of the HMD 120. In one aspect, the input / output interface 240 is realized using a terminal such as a Universal Serial Bus (USB), a Digital Visual Interface (DVI), a High-Definition Multimedia Interface (HDMI (registered trademark)), or the like. The input / output interface 240 is not limited to those described above.
[0035] In one aspect, the input / output interface 240 may further communicate with the controller 300. For example, the input / output interface 240 receives input of signals output from the controller 300 and the motion sensor 420. In another aspect, the input / output interface 240 sends an instruction output from the processor 210 to the controller 300. The instruction instructs the controller 300 to vibrate, output sound, emit light, or the like. Upon receiving the instruction, the controller 300 executes one of the vibration, sound output, or light emission in response to the instruction.
[0036] The communication interface 250 is connected to the network 2 and communicates with other computers (e.g., the server 600) connected to the network 2. In one aspect, the communication interface 250 is realized as, for example, a wired communication interface such as a local area network (LAN), or a wireless communication interface such as Wi-Fi (registered trademark), Bluetooth (registered trademark), or near field communication (NFC). The communication interface 250 is not limited to those mentioned above.
[0037] In one aspect, the processor 210 accesses the storage 230, loads one or more programs stored in the storage 230 into the memory 220, and executes a series of instructions included in the programs. The one or more programs may include an operating system of the computer 200, an application program for providing a virtual space, game software executable in the virtual space, and the like. The processor 210 sends a signal for providing the virtual space to the HMD 120 via the input / output interface 240. The HMD 120 displays an image on the monitor 130 based on the signal.
[0038] 2 shows a configuration in which the computer 200 is provided outside the HMD 120, but in another aspect, the computer 200 may be built into the HMD 120. As an example, a portable information and communication terminal (e.g., a smartphone) including the monitor 130 may function as the computer 200.
[0039] The computer 200 may be configured to be shared by multiple HMDs 120. With such a configuration, for example, the same virtual space can be provided to multiple users, allowing each user to enjoy the same application as other users in the same virtual space.
[0040] In one embodiment, in the HMD system 100, a real coordinate system, which is a coordinate system in real space, is set in advance. The real coordinate system has three reference directions (axes) that are parallel to the vertical direction in real space, the horizontal direction perpendicular to the vertical direction, and the front-rear direction perpendicular to both the vertical direction and the horizontal direction. The horizontal direction, the vertical direction (up-down direction), and the front-rear direction in the real coordinate system are defined as the x-axis, y-axis, and z-axis, respectively. More specifically, in the real coordinate system, the x-axis is parallel to the horizontal direction in real space. The y-axis is parallel to the vertical direction in real space. The z-axis is parallel to the front-rear direction in real space.
[0041] In one aspect, the HMD sensor 410 includes an infrared sensor. When the infrared sensor detects infrared rays emitted from each light source of the HMD 120, it detects the presence of the HMD 120. The HMD sensor 410 further detects the position and tilt (orientation) of the HMD 120 in the real space according to the movement of the user 5 wearing the HMD 120 based on the value of each point (each coordinate value in the real coordinate system). More specifically, the HMD sensor 410 can detect the temporal change in the position and tilt of the HMD 120 using each value detected over time.
[0042] Each tilt of the HMD 120 detected by the HMD sensor 410 corresponds to each tilt around the three axes of the HMD 120 in the real coordinate system. The HMD sensor 410 sets a uvw field of view coordinate system for the HMD 120 based on the tilt of the HMD 120 in the real coordinate system. The uvw field of view coordinate system set for the HMD 120 corresponds to a viewpoint coordinate system when the user 5 wearing the HMD 120 views an object in a virtual space.
[0043] [uvw field of view coordinate system] The uvw field of view coordinate system will be described with reference to Fig. 3. Fig. 3 is a conceptual diagram showing the uvw field of view coordinate system set in the HMD 120 according to an embodiment. The HMD sensor 410 detects the position and inclination of the HMD 120 in the real coordinate system when the HMD 120 is started up. The processor 210 sets the uvw field of view coordinate system in the HMD 120 based on the detected values.
[0044] 3, the HMD 120 sets a three-dimensional uvw visual coordinate system with the head of the user 5 wearing the HMD 120 as its center (origin). More specifically, the HMD 120 tilts the horizontal, vertical, and front-back directions (x-axis, y-axis, z-axis) that define the real coordinate system around each axis by the tilt of the HMD 120 around each axis in the real coordinate system, and sets the three newly obtained directions as the pitch axis (u-axis), yaw axis (v-axis), and roll axis (w-axis) of the uvw visual coordinate system in the HMD 120.
[0045] In a certain situation, when the user 5 wearing the HMD 120 stands upright and looks straight ahead, the processor 210 sets a uvw field of view coordinate system parallel to the real coordinate system in the HMD 120. In this case, the horizontal direction (x-axis), vertical direction (y-axis), and front-back direction (z-axis) in the real coordinate system coincide with the pitch axis (u-axis), yaw axis (v-axis), and roll axis (w-axis) of the uvw field of view coordinate system in the HMD 120.
[0046] After the uvw visual coordinate system is set in the HMD 120, the HMD sensor 410 can detect the tilt of the HMD 120 in the set uvw visual coordinate system based on the movement of the HMD 120. In this case, the HMD sensor 410 detects the pitch angle (θu), yaw angle (θv), and roll angle (θw) of the HMD 120 in the uvw visual coordinate system as the tilt of the HMD 120. The pitch angle (θu) represents the tilt angle of the HMD 120 around the pitch axis in the uvw visual coordinate system. The yaw angle (θv) represents the tilt angle of the HMD 120 around the yaw axis in the uvw visual coordinate system. The roll angle (θw) represents the tilt angle of the HMD 120 around the roll axis in the uvw visual coordinate system.
[0047] The HMD sensor 410 sets, in the HMD 120, a uvw visual field coordinate system in the HMD 120 after the HMD 120 moves, based on the detected tilt of the HMD 120. The relationship between the HMD 120 and the uvw visual field coordinate system of the HMD 120 is always constant, regardless of the position and tilt of the HMD 120. When the position and tilt of the HMD 120 change, the position and tilt of the uvw visual field coordinate system of the HMD 120 in the real coordinate system change in conjunction with the change in the position and tilt.
[0048] In one aspect, the HMD sensor 410 may specify the position of the HMD 120 in the real space as a relative position with respect to the HMD sensor 410 based on the light intensity of the infrared light acquired based on the output from the infrared sensor and the relative positional relationship between a plurality of points (e.g., the distance between each point, etc.). The processor 210 may determine the origin of the uvw field of view coordinate system of the HMD 120 in the real space (actual coordinate system) based on the specified relative position.
[0049] [Virtual space] The virtual space will be further described with reference to FIG. 4. FIG. 4 is a diagram conceptually showing one mode of expressing the virtual space 11 according to an embodiment. The virtual space 11 has a spherical structure covering the entire 360-degree direction of the center 12. In FIG. 4, in order to avoid complicating the description, the upper half of the celestial sphere in the virtual space 11 is illustrated. Each mesh is defined in the virtual space 11. The position of each mesh is defined in advance as a coordinate value in the XYZ coordinate system, which is a global coordinate system defined in the virtual space 11. The computer 200 associates each partial image constituting the panoramic image 13 (still image, video, etc.) that can be deployed in the virtual space 11 with each corresponding mesh in the virtual space 11.
[0050] In a certain aspect, an XYZ coordinate system is defined in the virtual space 11 with the center 12 as the origin. The XYZ coordinate system is, for example, parallel to the real coordinate system. The horizontal direction, vertical direction (up-down direction), and front-back 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 Z-axis (front-back direction) of the XYZ coordinate system is parallel to the z-axis of the real coordinate system.
[0051] When the HMD 120 is started up, that is, in the initial state of the HMD 120, the virtual camera 14 is placed at the center 12 of the virtual space 11. In a certain aspect, the processor 210 displays an image captured by the virtual camera 14 on the monitor 130 of the HMD 120. The virtual camera 14 moves in the virtual space 11 in conjunction with the movement of the HMD 120 in the real space. This allows changes in the position and inclination of the HMD 120 in the real space to be reproduced in the virtual space 11 in the same manner.
[0052] A uvw field of view coordinate system is defined for the virtual camera 14, as in the case of the HMD 120. The uvw field of view coordinate system of the virtual camera 14 in the virtual space 11 is defined so as to be linked to the uvw field of view coordinate system of the HMD 120 in the real space (actual coordinate system). Therefore, when the inclination of the HMD 120 changes, the inclination of the virtual camera 14 also changes accordingly. The virtual camera 14 can also move in the virtual space 11 in conjunction with the movement in the real space of the user 5 wearing the HMD 120.
[0053] Processor 210 of computer 200 defines viewing area 15 in virtual space 11 based on the position and inclination (reference line of sight 16) of virtual camera 14. Viewing area 15 corresponds to the area of virtual space 11 that is visually recognized by user 5 wearing HMD 120. In other words, the position of virtual camera 14 can be said to be the viewpoint of user 5 in virtual space 11.
[0054] The line of sight of the user 5 detected by the gaze sensor 140 is a direction in the viewpoint coordinate system when the user 5 views an object. The uvw field of view coordinate system of the HMD 120 is equal to the viewpoint coordinate system when the user 5 views the monitor 130. The uvw field of view coordinate system of the virtual camera 14 is linked to the uvw field of view coordinate system of the HMD 120. Therefore, in a certain aspect, the HMD system 100 can consider the line of sight of the user 5 detected by the gaze sensor 140 as the line of sight of the user 5 in the uvw field of view coordinate system of the virtual camera 14.
[0055] [User's gaze] Determination of the line of sight of the user 5 will be described with reference to Fig. 5. Fig. 5 is a top view of the head of the user 5 wearing the HMD 120 according to an embodiment.
[0056] In one aspect, the gaze sensor 140 detects the gaze of each of the right eye and the left eye of the user 5. In one aspect, when the user 5 is looking at something close, the gaze sensor 140 detects the gazes R1 and L1. In another aspect, when the user 5 is looking at something far away, the gaze sensor 140 detects the gazes R2 and L2. In this case, the angle that the gazes R2 and L2 make with respect to the roll axis w is smaller than the angle that the gazes R1 and L1 make with respect to the roll axis w. The gaze sensor 140 transmits the detection result to the computer 200.
[0057] When the computer 200 receives the detection values of the lines of sight R1 and L1 from the gaze sensor 140 as the gaze detection result, the computer 200 identifies the gaze point N1, which is the intersection of the lines of sight R1 and L1, based on the detection values. On the other hand, when the computer 200 receives the detection values of the lines of sight R2 and L2 from the gaze sensor 140, the computer 200 identifies the intersection of the lines of sight R2 and L2 as the gaze point. The computer 200 identifies the gaze N0 of the user 5 based on the position of the identified gaze point N1. For example, the computer 200 detects the direction of the line passing through the midpoint of the line connecting the right eye R and the left eye L of the user 5 and the gaze point N1 as the gaze N0. The gaze N0 is the direction in which the user 5 actually looks with both eyes. The gaze N0 corresponds to the direction in which the user 5 actually looks with respect to the field of view 15.
[0058] In another aspect, the HMD system 100 may include a television broadcast receiving tuner. With such a configuration, the HMD system 100 can display television programs in the virtual space 11.
[0059] In yet another aspect, the HMD system 100 may be provided with a communication circuit for connecting to the Internet, or a telephone function for connecting to a telephone line.
[0060] [Visibility area] The field of view 15 will be described with reference to Fig. 6 and Fig. 7. Fig. 6 is a diagram showing a YZ cross section of the field of view 15 in the virtual space 11 as viewed from the X direction. Fig. 7 is a diagram showing an XZ cross section of the field of view 15 in the virtual space 11 as viewed from the Y direction.
[0061] 6, the field of view 15 in the YZ cross section includes an area 18. The area 18 is defined by the position of the virtual camera 14, the reference line of sight 16, and the YZ cross section of the virtual space 11. The processor 210 defines as the area 18 a range including the polar angle α centered on the reference line of sight 16 in the virtual space.
[0062] 7, the field of view 15 in the XZ cross section includes an area 19. The area 19 is defined by the position of the virtual camera 14, the reference line of sight 16, and the XZ cross section of the virtual space 11. The processor 210 defines a range including an azimuth angle β centered on the reference line of sight 16 in the virtual space 11 as the area 19. The polar angles α and β are determined according to the position of the virtual camera 14 and the inclination (direction) of the virtual camera 14.
[0063] In a certain aspect, the HMD system 100 provides the user 5 with a field of view in the virtual space 11 by displaying a field of view image 17 on the monitor 130 based on a signal from the computer 200. The field of view image 17 is an image corresponding to a portion of the panoramic image 13 that corresponds to the field of view area 15. When the user 5 moves the HMD 120 worn on the head, the virtual camera 14 also moves in conjunction with the movement. As a result, the position of the field of view area 15 in the virtual space 11 changes. As a result, the field of view image 17 displayed on the monitor 130 is updated to an image of the panoramic image 13 that is superimposed on the field of view area 15 in the direction in which the user 5 is facing in the virtual space 11. The user 5 can view a desired direction in the virtual space 11.
[0064] In this way, the inclination of virtual camera 14 corresponds to the line of sight (reference line of sight 16) of user 5 in virtual space 11, and the position at which virtual camera 14 is placed corresponds to the viewpoint of user 5 in virtual space 11. Therefore, by changing the position or inclination of virtual camera 14, the image displayed on monitor 130 is updated and the field of view of user 5 is moved.
[0065] While wearing the HMD 120, the user 5 can view only the panoramic image 13 deployed in the virtual space 11, without viewing the real world. Therefore, the HMD system 100 can give the user 5 a high sense of immersion in the virtual space 11.
[0066] In one aspect, the processor 210 may move the virtual camera 14 in the virtual space 11 in conjunction with the movement in real space of the user 5 wearing the HMD 120. In this case, the processor 210 specifies the image area (field of view area 15) to be projected onto the monitor 130 of the HMD 120 based on the position and inclination of the virtual camera 14 in the virtual space 11.
[0067] In one aspect, the virtual camera 14 may include two virtual cameras, that is, a virtual camera for providing an image for the right eye and a virtual camera for providing an image for the left eye. An appropriate parallax is set for the two virtual cameras so that the user 5 can recognize the three-dimensional virtual space 11. In another aspect, the virtual camera 14 may be realized by one virtual camera. In this case, an image for the right eye and an image for the left eye may be generated from an image obtained by one virtual camera. In this embodiment, the technical idea according to the present disclosure is illustrated by assuming that the virtual camera 14 includes two virtual cameras and is configured so that a roll axis (w) generated by combining the roll axes of the two virtual cameras is adapted to the roll axis (w) of the HMD 120.
[0068] [controller] An example of the controller 300 will be described with reference to Fig. 8. Fig. 8 is a diagram showing a schematic configuration of the controller 300 according to an embodiment.
[0069] As shown in FIG. 8, in one aspect, the controller 300 may include a right controller 300R and a left controller (not shown). The right controller 300R is operated by the right hand of the user 5. The left controller is operated by the left hand of the user 5. In one aspect, the right controller 300R and the left controller are configured symmetrically as separate devices. Therefore, the user 5 can freely move the right hand holding the right controller 300R and the left hand holding the left controller. In another aspect, the controller 300 may be an integrated controller that accepts operations from both hands. The right controller 300R will be described below.
[0070] The right controller 300R includes a grip 310, a frame 320, and a top surface 330. The grip 310 is configured to be held by the right hand of the user 5. For example, the grip 310 can be held by the palm and three fingers (middle finger, ring finger, and little finger) of the right hand of the user 5.
[0071] The grip 310 includes buttons 340 and 350 and a motion sensor 420. The button 340 is disposed on a side of the grip 310 and is operated by the middle finger of the right hand. The button 350 is disposed on the front of the grip 310 and is operated by the index finger of the right hand. In one aspect, the buttons 340 and 350 are configured as trigger-type buttons. The motion sensor 420 is built into the housing of the grip 310. In a case where the movement of the user 5 can be detected from around the user 5 by a camera or other device, the grip 310 does not need to include the motion sensor 420.
[0072] The frame 320 includes a plurality of infrared LEDs 360 arranged along its circumferential direction. The infrared LEDs 360 emit infrared light in accordance with the progress of a program using the controller 300 during execution of the program. The infrared light emitted from the infrared LEDs 360 can be used to detect the positions and attitudes (tilt, direction) of the right controller 300R and the left controller. In the example shown in FIG. 8, the infrared LEDs 360 are arranged in two rows, but the number of rows is not limited to that shown in FIG. 8. An arrangement in one row or three or more rows may be used.
[0073] The top surface 330 includes buttons 370, 380 and an analog stick 390. The buttons 370, 380 are configured as push buttons. The buttons 370, 380 are operated by the thumb of the right hand of the user 5. The analog stick 390, in a certain situation, is operated in any direction within 360 degrees from an initial position (neutral position). The operation includes, for example, an operation for moving an object placed in the virtual space 11.
[0074] In one aspect, the right controller 300R and the left controller include a battery for driving the infrared LED 360 and other components. The battery may be, but is not limited to, a rechargeable battery, a button battery, or a dry cell battery. In another aspect, the right controller 300R and the left controller may be connected to, for example, a USB interface of the computer 200. In this case, the right controller 300R and the left controller do not require a battery.
[0075] 8, for example, the yaw, roll, and pitch directions are defined for the right hand of the user 5. When the user 5 extends his / her thumb and index finger, the extending direction of the thumb is defined as the yaw direction, the extending direction of the index finger is defined as the roll direction, and the direction perpendicular to the plane defined by the axis of the yaw direction and the axis of the roll direction is defined as the pitch direction.
[0076] [Server hardware configuration] Server 600 according to this embodiment will be described with reference to Fig. 9. Fig. 9 is a block diagram showing an example of a hardware configuration of server 600 according to an embodiment. Server 600 includes, as main components, a processor 610, a memory 620, a storage 630, an input / output interface 640, and a communication interface 650. Each component is connected to a bus 660.
[0077] The processor 610 executes a series of instructions included in a program stored in the memory 620 or the storage 630 based on a signal provided to the server 600 or based on the establishment of a predetermined condition. In one aspect, the processor 610 is realized as a CPU, a GPU, an MPU, an FPGA, or other device.
[0078] The memory 620 temporarily stores programs and data. The programs are loaded from, for example, the storage 630. The data includes data input to the server 600 and data generated by the processor 610. In one aspect, the memory 620 is realized as a RAM or other volatile memory.
[0079] The storage 630 permanently holds programs and data. The storage 630 is realized, for example, as a ROM, a hard disk drive, a flash memory, or other non-volatile storage device. The programs stored in the storage 630 may include a program for providing a virtual space in the HMD system 100, a simulation program, a game program, a user authentication program, and a program for realizing communication with the computer 200. The data stored in the storage 630 may include data and objects for defining the virtual space.
[0080] In another aspect, the storage 630 may be realized as a removable storage device such as a memory card. In yet another aspect, a configuration may be used in which programs and data stored in an external storage device are used instead of the storage 630 built into the server 600. With such a configuration, for example, in a scene where a plurality of HMD systems 100 are used, such as an amusement facility, it becomes possible to collectively update programs and data.
[0081] The input / output interface 640 communicates signals with input / output devices. In one aspect, the input / output interface 640 is realized using a terminal such as a USB, a DVI, an HDMI, etc. The input / output interface 640 is not limited to the above.
[0082] The communication interface 650 is connected to the network 2 and communicates with the computer 200 connected to the network 2. In one aspect, the communication interface 650 is realized as, for example, a LAN or other wired communication interface, or a wireless communication interface such as Wi-Fi, Bluetooth, NFC, etc. The communication interface 650 is not limited to the above.
[0083] In one aspect, the processor 610 accesses the storage 630, loads one or more programs stored in the storage 630 into the memory 620, and executes a series of instructions included in the programs. The one or more programs may include an operating system of the server 600, an application program for providing a virtual space, game software executable in the virtual space, etc. The processor 610 may send a signal for providing the virtual space to the computer 200 via the input / output interface 640.
[0084] [HMD control device] The control device of the HMD 120 will be described with reference to Fig. 10. In one embodiment, the control device is realized by a computer 200 having a known configuration. Fig. 10 is a block diagram showing the computer 200 according to one embodiment as a modular configuration.
[0085] 10, the computer 200 includes a control module 510, a rendering module 520, a memory module 530, and a communication control module 540. In one aspect, the control module 510 and the rendering module 520 are implemented by the processor 210. In another aspect, a plurality of processors 210 may operate as the control module 510 and the rendering module 520. The memory module 530 is implemented by the memory 220 or the storage 230. The communication control module 540 is implemented by the communication interface 250.
[0086] The control module 510 controls the virtual space 11 provided to the user 5. The control module 510 defines the virtual space 11 in the HMD system 100 by using virtual space data representing the virtual space 11. The virtual space data is stored in, for example, the memory module 530. The control module 510 may generate the virtual space data or obtain the virtual space data from the server 600 or the like.
[0087] The control module 510 places the object in the virtual space 11 using object data representing the object. The object data is stored in, for example, the memory module 530. The control module 510 may generate the object data or obtain the object data from the server 600 or the like. The object may include, for example, an avatar object that is an alter ego of the user 5, a character object, an operation object such as a virtual hand operated by the controller 300, landscapes including forests, mountains, and the like, cityscapes, animals, and the like that are placed according to the progress of the story of the game.
[0088] Control module 510 places an avatar object of user 5 of another computer 200 connected via network 2 in virtual space 11. In one aspect, control module 510 places an avatar object of user 5 in virtual space 11. In one aspect, control module 510 places an avatar object imitating user 5 in virtual space 11 based on an image including user 5. In another aspect, control module 510 places an avatar object selected by user 5 from among a plurality of types of avatar objects (e.g., objects imitating animals and deformed human objects) in virtual space 11.
[0089] The control module 510 determines the inclination of the HMD 120 based on the output of the HMD sensor 410. In another aspect, the control module 510 determines the inclination of the HMD 120 based on the output of the sensor 190 functioning as a motion sensor. The control module 510 detects organs (e.g., mouth, eyes, eyebrows) constituting the face of the user 5 from the image of the face of the user 5 generated by the first camera 150 and the second camera 160. The control module 510 detects the movement (shape) of each detected organ.
[0090] The control module 510 detects the line of sight of the user 5 in the virtual space 11 based on a signal from the gaze sensor 140. The control module 510 detects a viewpoint position (coordinate value in the XYZ coordinate system) where the detected line of sight of the user 5 intersects with the celestial sphere of the virtual space 11. More specifically, the control module 510 detects the viewpoint position based on the line of sight of the user 5 defined in the uvw coordinate system and the position and inclination of the virtual camera 14. The control module 510 transmits the detected viewpoint position to the server 600. In another aspect, the control module 510 may be configured to transmit line of sight information representing the line of sight of the user 5 to the server 600. In such a case, the server 600 may calculate the viewpoint position based on the line of sight information received.
[0091] The control module 510 reflects the movement of the HMD 120 detected by the HMD sensor 410 in the avatar object. For example, the control module 510 detects that the HMD 120 is tilted and tilts and arranges the avatar object. The control module 510 reflects the detected movement of the facial organs in the face of the avatar object arranged in the virtual space 11. The control module 510 receives gaze information of the other user 5 from the server 600 and reflects it in the gaze of the avatar object of the other user 5. In a certain aspect, the control module 510 reflects the movement of the controller 300 in the avatar object or the operation object. In this case, the controller 300 may include a motion sensor, an acceleration sensor, or a plurality of light-emitting elements (e.g., infrared LEDs) for detecting the movement of the controller 300. The movement of the controller 300 may be the movement of the analog stick 390, the movement of the buttons 370 and 380, or the like. The control module 510 may then move the avatar object within the virtual space 11 based on, for example, the movement of the analog stick 390 (in other words, the user's operation on the analog stick 390).
[0092] The control module 510 places an operation object in the virtual space 11 for receiving an operation of the user 5 in the virtual space 11. The user 5 operates the operation object to, for example, operate an object placed in the virtual space 11. In one aspect, the operation object may include, for example, a hand object that is a virtual hand corresponding to the hand of the user 5. In one aspect, the control module 510 moves the hand object in the virtual space 11 in conjunction with the movement of the hand of the user 5 in the real space based on the output of the motion sensor 420. In one aspect, the operation object may correspond to a part of the hand of an avatar object.
[0093] The control module 510 detects a collision when each of the objects arranged in the virtual space 11 collides with another object. The control module 510 can detect, for example, the timing when a collision area of a certain object touches a collision area of another object, and performs a predetermined process when the detection is made. The control module 510 can detect the timing when an object is no longer in contact with another object, and performs a predetermined process when the detection is made. The control module 510 can detect a state in which an object is in contact with another object. For example, when an operation object touches another object, the control module 510 detects that the operation object has touched the other object, and performs a predetermined process.
[0094] In one aspect, the control module 510 controls image display on the monitor 130 of the HMD 120. For example, the control module 510 places a virtual camera 14 in the virtual space 11. The control module 510 controls the position of the virtual camera 14 in the virtual space 11 and the tilt (direction) of the virtual camera 14. The control module 510 defines a field of view 15 according to the tilt of the head of the user 5 wearing the HMD 120 and the position of the virtual camera 14. The rendering module 520 generates a field of view image 17 to be displayed on the monitor 130 based on the determined field of view 15. The field of view image 17 generated by the rendering module 520 is output to the HMD 120 by the communication control module 540.
[0095] When the control module 510 detects an utterance by the user 5 using the microphone 170 from the HMD 120, it identifies the computer 200 to which voice data corresponding to the utterance is to be transmitted. The voice data is transmitted to the computer 200 identified by the control module 510. When the control module 510 receives voice data from another user's computer 200 via the network 2, it outputs a voice (utterance) corresponding to the voice data from the speaker 180.
[0096] The memory module 530 holds data used by the computer 200 to provide the virtual space 11 to the user 5. In one aspect, the memory module 530 holds space information, object information, and user information.
[0097] The spatial information holds one or more templates defined to provide the virtual space 11 .
[0098] The object information includes a plurality of panoramic images 13 constituting the virtual space 11, and object data for arranging objects in the virtual space 11. The panoramic images 13 may include still images and moving images. The panoramic images 13 may include images of unreal spaces and images of real spaces. Examples of images of unreal spaces include images generated by computer graphics.
[0099] The user information holds a user ID for identifying the user 5. The user ID may be, for example, an Internet Protocol (IP) address or a Media Access Control (MAC) address set in the computer 200 used by the user. In another aspect, the user ID may be set by the user. The user information includes a program for causing the computer 200 to function as a control device for the HMD system 100. The user information also includes information managed for each service account (in other words, for each user ID).
[0100] The data and programs stored in the memory module 530 are input by the user 5 of the HMD 120. Alternatively, the processor 210 downloads the programs or data from a computer (e.g., the server 600) operated by the operator providing the content, and stores the downloaded programs or data in the memory module 530.
[0101] The communication control module 540 can communicate with the server 600 and other information communication devices via the network 2.
[0102] In one aspect, the control module 510 and the rendering module 520 may be realized using, for example, Unity (registered trademark) provided by Unity Technologies, Inc. In another aspect, the control module 510 and the rendering module 520 may be realized as a combination of circuit elements that realize each process.
[0103] The processing in the computer 200 is realized by hardware and software executed by the processor 210. Such software may be stored in advance in a hard disk or other memory module 530. The software may be stored in a CD-ROM or other computer-readable non-volatile data recording medium and distributed as a program product. Alternatively, the software may be provided as a downloadable program product by an information provider connected to the Internet or other networks. Such software is read from a data recording medium by an optical disk drive or other data reading device, or downloaded from the server 600 or other computer via the communication control module 540, and then temporarily stored in the memory module 530. The software is read from the memory module 530 by the processor 210 and stored in the RAM in the form of an executable program. The processor 210 executes the program.
[0104] [HMD system control structure] The control structure of the HMD set 110 will be described with reference to Fig. 11. Fig. 11 is a sequence chart showing a part of the processing executed in the HMD set 110 according to an embodiment.
[0105] As shown in FIG. 11, in step S1110, the processor 210 of the computer 200, acting as the control module 510, specifies virtual space data and defines the virtual space 11.
[0106] In step S1120, the processor 210 initializes the virtual camera 14. For example, the processor 210 places the virtual camera 14 at a center 12 defined in advance in the virtual space 11 in a work area of the memory, and directs the line of sight of the virtual camera 14 in the direction in which the user 5 is facing.
[0107] In step S1130, the processor 210, functioning as the rendering module 520, generates field of view image data for displaying an initial field of view image. The generated field of view image data is output to the HMD 120 by the communication control module 540.
[0108] In step S1132, the monitor 130 of the HMD 120 displays a field of view image based on the field of view image data received from the computer 200. The user 5 wearing the HMD 120 can recognize the virtual space 11 by visually recognizing the field of view image.
[0109] In step S1134, the HMD sensor 410 detects the position and inclination of the HMD 120 based on the multiple infrared lights emitted from the HMD 120. The detection result is output to the computer 200 as motion detection data.
[0110] In step S1140, the processor 210 identifies the viewing direction of the user 5 wearing the HMD 120 based on the position and tilt included in the motion detection data of the HMD 120.
[0111] In step S1150, the processor 210 executes an application program, and creates an object in the virtual space 11 based on an instruction included in the application program. Place the following.
[0112] In step S1160, controller 300 detects an operation by user 5, and outputs detection data representing the detected operation to computer 200. In another aspect, the operation by user 5 may be detected based on an image from a camera arranged around user 5.
[0113] In step S1170, processor 210 detects an operation of controller 300 by user 5 based on the detection data acquired from controller 300.
[0114] In step S1180, the processor 210 generates field of view image data based on the operation of the controller 300 by the user 5. The generated field of view image data is output to the HMD 120 by the communication control module 540.
[0115] In step S1190, the HMD 120 updates the field of view image based on the received field of view image data, and displays the updated field of view image on the monitor 130.
[0116] [Avatar Object] Avatar objects according to the present embodiment will be described with reference to Figs. 12(A) and (B). Hereinafter, avatar objects of each user 5 of HMD sets 110A and 110B will be described. Hereinafter, the user of HMD set 110A will be represented as user 5A, the user of HMD set 110B as user 5B, the user of HMD set 110C as user 5C, and the user of HMD set 110D as user 5D. A is added to the reference symbol of each component related to HMD set 110A, B is added to the reference symbol of each component related to HMD set 110B, C is added to the reference symbol of each component related to HMD set 110C, and D is added to the reference symbol of each component related to HMD set 110D. For example, HMD 120A is included in HMD set 110A.
[0117] FIG. 12(A) is a schematic diagram showing a situation in which each HMD 120 provides a virtual space 11 to a user 5 in a network 2. Computers 200A to 200D provide virtual spaces 11A to 11D to users 5A to 5D via HMDs 120A to 120D, respectively. In the example shown in FIG. 12(A), virtual space 11A and virtual space 11B are configured by the same data. In other words, computer 200A and computer 200B share the same virtual space. In virtual space 11A and virtual space 11B, an avatar object 6A of user 5A and an avatar object 6B of user 5B exist. Although avatar object 6A in virtual space 11A and avatar object 6B in virtual space 11B each wear an HMD 120, this is for the sake of easy understanding of the explanation, and in reality, these objects do not wear an HMD 120.
[0118] In one aspect, the processor 210A may place a virtual camera 14A that captures a field of view image 17A of the user 5A at the eye position of the avatar object 6A.
[0119] Fig. 12(B) is a diagram showing a field of view image 17A of user 5A in Fig. 12(A). Field of view image 17A is an image displayed on monitor 130A of HMD 120A. This field of view image 17A is an image generated by virtual camera 14A. An avatar object 6B of user 5B is displayed in field of view image 17A. Although not particularly shown, avatar object 6A of user 5A is also displayed in the field of view image of user 5B.
[0120] 12(B), the user 5A can communicate with the user 5B by dialogue via the virtual space 11A. More specifically, the voice of the user 5A acquired by the microphone 170A is transmitted to the HMD 120B of the user 5B via the server 600 and output from the speaker 180B provided in the HMD 120B. The voice of the user 5B is transmitted to the HMD 120A of the user 5A via the server 600 and output from the speaker 180A provided in the HMD 120A.
[0121] The movements of the user 5B (the movements of the HMD 120B and the controller 300B) are reflected in the avatar object 6B placed in the virtual space 11A by the processor 210A. As a result, the avatar object 6B that moves as operated by the user 5B is visually recognized by the user 5A.
[0122] Fig. 13 is a sequence chart showing a part of the processing executed in the HMD system 100 according to the present embodiment. Although the HMD set 110D is not shown in Fig. 13, the HMD set 110D operates in the same manner as the HMD sets 110A, 110B, and 110C. In the following description, A is added to the reference symbol of each component related to the HMD set 110A, B is added to the reference symbol of each component related to the HMD set 110B, C is added to the reference symbol of each component related to the HMD set 110C, and D is added to the reference symbol of each component related to the HMD set 110D.
[0123] In step S1310A, the processor 210A in the HMD set 110A acquires avatar information for determining the movement of the avatar object 6A in the virtual space 11A. The avatar information includes information about the avatar, such as, for example, movement information, face tracking data, and voice data. The movement information includes information indicating a temporal change in the position and inclination of the HMD 120A, information indicating the hand movement of the user 5A detected by the motion sensor 420A, and information indicating the user's operation detected by the controller 300. The face tracking data includes data specifying the position and size of each part of the face of the user 5A. The face tracking data includes data indicating the movement of each organ constituting the face of the user 5A and gaze data. The voice data includes data indicating the voice of the user 5A acquired by the microphone 170A of the HMD 120A. The avatar information may include information specifying the avatar object 6A, or the user 5A associated with the avatar object 6A, and information specifying the virtual space 11A in which the avatar object 6A exists. An example of the information for identifying the avatar object 6A or the user 5A is a user ID. An example of the information for identifying the virtual space 11A in which the avatar object 6A exists is a room ID. The processor 210A transmits the avatar information acquired as described above to the server 600 via the network 2.
[0124] In step S1310B, similar to the process in step S1310A, processor 210B in HMD set 110B obtains avatar information for determining the movement of avatar object 6B in virtual space 11B and transmits it to server 600. Similarly, in step S1310C, processor 210C in HMD set 110C obtains avatar information for determining the movement of avatar object 6C in virtual space 11C and transmits it to server 600.
[0125] In step S1320, the server 600 temporarily stores the avatar information received from each of the HMD sets 110A, 110B, and 110C. The server 600 integrates the avatar information of all users (users 5A to 5C in this example) associated with the common virtual space 11 based on the user ID and room ID included in each piece of avatar information. Then, the server 600 transmits the integrated avatar information to all users associated with the virtual space 11 at a predetermined timing. This executes a synchronization process. This synchronization process allows the HMD sets 110A, 110B, and 110C to share their avatar information at approximately the same timing.
[0126] Subsequently, each of the HMD sets 110A to 110C executes the processes of steps S1330A to S1330C based on the avatar information transmitted to each of the HMD sets 110A to 110C from the server 600. The process of step S1330A corresponds to the process of step S1180 in FIG.
[0127] In step S1330A, the processor 210A in the HMD set 110A updates information on the avatar objects 6B and 6C of the other users 5B and 5C in the virtual space 11A. Specifically, the processor 210A updates the position, orientation, and the like of the avatar object 6B in the virtual space 11 based on the motion information included in the avatar information transmitted from the HMD set 110B. For example, the processor 210A updates information (position, orientation, and the like) of the avatar object 6B included in the object information stored in the memory module 530. Similarly, the processor 210A updates information (position, orientation, and the like) of the avatar object 6C in the virtual space 11 based on the motion information included in the avatar information transmitted from the HMD set 110C.
[0128] In step S1330B, processor 210B in HMD set 110B updates information on avatar objects 6A and 6C of users 5A and 5C in virtual space 11B, similar to the process in step S1330A. Similarly, in step S1330C, processor 210C in HMD set 110C updates information on avatar objects 6A and 6B of users 5A and 5B in virtual space 11C.
[0129] [Module detailed configuration] The details of the module configuration of computer 200 will be described with reference to Fig. 14. Fig. 14 is a block diagram showing the detailed configuration of modules of computer 200 according to an embodiment.
[0130] 14, the control module 510 includes a virtual camera control module 1421, a field of view determination module 1422, a reference gaze identification module 1423, a face organ detection module 1424, a motion detection module 1425, a virtual space definition module 1426, a virtual object generation module 1427, an operation object control module 1428, and an avatar control module 1429. The rendering module 520 includes a field of view image generation module 1438.
[0131] The virtual camera control module 1421 places the virtual camera 14 in the virtual space 11. The virtual camera control module 1421 controls the placement position of the virtual camera 14 in the virtual space 11 and the orientation (tilt) of the virtual camera 14. The field of view area determination module 1422 defines the field of view 15 according to the orientation of the head of the user wearing the HMD 120 and the placement position of the virtual camera 14. The field of view image generation module 1438 generates the field of view image 17 to be displayed on the monitor 130 based on the determined field of view area 15.
[0132] The reference gaze identification module 1423 identifies the gaze of the user 5 based on a signal from the gaze sensor 140. The face organ detection module 1424 detects organs (e.g., mouth, eyes, eyebrows) constituting the face of the user 5 from the image of the face of the user 5 generated by the first camera 150 and the second camera 160. The movement detection module 1425 detects the movement (shape) of each organ detected by the face organ detection module 1424.
[0133] The virtual space definition module 1426 defines the virtual space 11 in the HMD system 100 by generating virtual space data representing the virtual space 11.
[0134] The virtual object generation module 1427 generates objects to be placed in the virtual space 11. The objects may include, for example, scenery including forests, mountains, and the like, animals, and the like that are placed according to the progress of the story of the game.
[0135] The operation object control module 1428 places an operation object in the virtual space 11 for receiving an operation by the user in the virtual space 11. The user operates the operation object to operate, for example, an object placed in the virtual space 11. In one aspect, the operation object may include, for example, a hand object corresponding to the hand of the user wearing the HMD 120. In one aspect, the operation object may correspond to the hand portion of an avatar object described later.
[0136] The avatar control module 1429 generates data for placing an avatar object 6 of a user of another computer 200 connected via the network 2 in the virtual space 11. In one aspect, the avatar control module 1429 generates data for placing an avatar object 6 of a user 5 in the virtual space 11. In one aspect, the avatar control module 1429 generates an avatar object 6 that imitates the user 5 based on an image including the user 5. In another aspect, the avatar control module 1429 generates data for placing an avatar object 6 selected by the user 5 from among a plurality of types of avatar objects 6 (for example, objects imitating animals or deformed human objects) in the virtual space 11.
[0137] The avatar control module 1429 reflects the movement of the HMD 120 detected by the HMD sensor 410 to the avatar object 6. For example, the avatar control module 1429 detects that the HMD 120 is tilted and generates data for tilting and arranging the avatar object 6. In one aspect, the avatar control module 1429 reflects the movement of the controller 300 to the avatar object 6. In another aspect, the avatar control module 1429 reflects the movement of the facial organs detected by the movement detection module 1425 to the face of the avatar object 6 arranged in the virtual space 11. That is, the avatar control module 1429 reflects the movement of the face of the user 5A to the avatar object 6. In this way, the avatar object 6 is operated (in other words, moved) by the movement detected by the HMD sensor 410, the controller 300, or the movement detection module 1425.
[0138] The rendering module 520 displays the avatar object 6 on the monitor 130 of the HMD 120 in the display format set by the avatar control module 1429 .
[0139] [Server module configuration] The module configuration of server 600 will be described with reference to Fig. 15. Fig. 15 is a block diagram showing the module configuration of server 600 according to an embodiment. As shown in Fig. 15, server 600 includes a control module 1610, a memory module 1630, and a communication control module 1640. In one aspect, control module 1610 is realized by processor 610. Memory module 1630 is realized by memory 620 or storage 630. Communication control module 1640 is realized by communication interface 650.
[0140] The control module 1610 includes a recommendation module 1731 , an attribute setting module 1732 , a behavior history acquisition module 1733 , an access control module 1734 , and a cooperation management module 1741 .
[0141] The memory module 1630 holds data used by the computer 200 to provide the virtual space 11 to the user 5. In one aspect, the memory module 1630 holds space information, object information, and user information. The space information, object information, and user information of the memory module 1630 may include the space information, object information, and user information of the memory module 530 described above, respectively. Therefore, a description thereof will be omitted here.
[0142] The communication control module 1640 receives various information and various requests from each HMD set 110. As an example, the information that the communication control module 1640 receives from each HMD set 110 may include spatial information, object information, user information, and avatar information. The communication control module 1640 transmits various information and various requests to each HMD set 110. As an example, the information that the communication control module 1640 transmits to each HMD set 110 may include spatial information, object information, user information, and avatar information.
[0143] The processing in the server 600 is realized by hardware and software executed by the processor 610. Such software may be stored in advance in a hard disk or other memory module 1630. The software may be stored in a CD-ROM or other computer-readable non-volatile data recording medium and distributed as a program product. Alternatively, the software may be provided as a downloadable program product by an information provider connected to the Internet or other networks. Such software is read from a data recording medium by an optical disk drive or other data reading device, or downloaded from a predetermined computer via the communication control module 1640, and then temporarily stored in the memory module 1630. The software is read from the memory module 1630 by the processor 610 and stored in the RAM in the form of an executable program. The processor 610 executes the program.
[0144] The above-mentioned module configurations of the computer 200 and the server 600 are merely examples. Each of the devices of the computer 200 and the server 600 may include at least a part of the modules (in other words, functions) included in the other devices. Furthermore, each of the devices such as the computer 200 and the server 600 may not be realized by an integrated device, and may be realized by, for example, a plurality of devices connected via a network or the like.
[0145] In this embodiment, the processor 210 of the computer 200 or the processor 610 of the server 600 executes a program stored in the HMD system 100 to perform the above-mentioned or later-described processes. However, at least a part of the above-mentioned or later-described processes performed by the processor 210 may be executed by a processor other than the processor 210. Also, at least a part of the above-mentioned or later-described processes performed by the processor 610 may be executed by a processor other than the processor 610. In other words, the computer that executes the program in this embodiment may be either the computer 200 or the server 600, or may be realized by a combination of multiple devices.
[0146] The HMD system 100 of this embodiment makes recommendations to the user 5 based on the behavior history. The HMD system 100 of this embodiment provides a metaverse as a virtual space 11 in which the users 5 can interact with each other via avatar objects 6. Hereinafter, the virtual space 11 is referred to as the metaverse. Hereinafter, the avatar objects 6 placed in the virtual space 11 may be simply referred to as avatars. The avatars can be said to be users in the metaverse.
[0147] In addition, the metaverse may or may not include locations that are based on (for example, mimic) locations (for example, areas or facilities) that exist in the real world (in other words, real space). In this embodiment, the metaverse will be described as including virtual Shibuya, virtual Harajuku, and virtual Akihabara that respectively mimic Shibuya, Harajuku, and Akihabara in the real world.
[0148] [Recommendations about things in the metaverse based on behavioral history in the metaverse] The recommendation module 1731 makes recommendations regarding a predetermined thing in the metaverse based on the behavior history of the user 5 in the metaverse. Specifically, for example, the recommendation module 1731 determines a thing to recommend based on the behavior history of the user 5 in the metaverse, and transmits information about the recommended thing (hereinafter referred to as "recommended information") to the recommendation information presentation module 1721. The recommendation information presentation module 1721 is provided in, for example, the control module 510 of the computer 200 of the user 5. Upon receiving the recommendation information, the recommendation information presentation module 1721 causes the monitor 130 to display the information about the recommended thing.
[0149] The recommendation module 1731 makes a predetermined recommendation regarding friendships in the metaverse, for example, based on the behavior history of the user 5. Specifically, the recommendation module 1731 recommends to the user 5, for example, other users 5 who are likely to have a good chemistry with the user 5 (in other words, the avatars of the other users 5) as a recommendation regarding friendships. More specifically, the recommendation module 1731 recommends to the user 5 other users 5 who are likely to become friends with the user 5. In this case, the recommendation module 1731, for example, determines other users 5 (hereinafter referred to as "recommended users") to be recommended to the user 5 from among multiple users 5, and transmits recommendation information indicating the recommended users to the recommendation information presentation module 1721 of the computer 200 of the user 5. In addition, when the recommendation information presentation module 1721 receives the recommendation information, it displays a display related to the recommendation of the recommended user to the user 5 on the monitor 130. The display related to the recommendation may include, for example, a display of the user name of the recommended user, a display related to the receipt of contact for the recommended user, a display indicating the location of the recommended user, and the like. In other words, in a state where the display related to the recommendation is displayed, an operation by user 5 to contact the recommended user (for example, an operation by controller 300, etc.) may be accepted. Note that here, a display related to the acceptance of a contact with the recommended user includes, for example, a display related to the acceptance of an application to register the recommended user as a so-called friend. In other words, in a state where the display related to the recommendation is displayed, an operation to apply to register the recommended user as a friend may be accepted.
[0150] Furthermore, the recommendation module 1731 may recommend to the user 5, for example, a group that is likely to be compatible with the user 5 (in other words, a group to which other users 5 with good compatibility are likely to belong) as a recommendation regarding friendship, instead of recommending other specific users 5 to the user 5. In this case, the recommendation module 1731 determines a group to be recommended to the user 5 based on, for example, the behavior history of the user 5, and transmits recommendation information indicating the recommended group to the recommendation information presentation module 1721 of the computer 200 of the user 5. Furthermore, upon receiving the recommendation information, the recommendation information presentation module 1721 displays a display related to the recommendation of the group to the user 5 on the monitor 130. The display related to the recommendation may include, for example, a display of the group name of the recommended group, a display related to the reception of contact with the group (for example, the user 5 representing the group), a display showing the location of the group's base, and the like. Note that, here, the display related to the reception of contact with the group includes, for example, a display related to the reception of an application to join the group, and the like.
[0151] Furthermore, the recommendation module 1731 makes a predetermined recommendation regarding content in the metaverse based on, for example, the behavioral history of the user 5. Specifically, for example, the recommendation module 1731 may recommend a predetermined place (for example, a region or a facility) in the metaverse to the user 5 as a recommendation regarding content. Furthermore, for example, the recommendation module 1731 may recommend a predetermined service in the metaverse to the user 5 as a recommendation regarding content.
[0152] The behavior history of each user 5 in the metaverse is stored in the virtual space history storage unit 1751 provided in the memory module 1630 of the server 600. Note that the behavior history in the metaverse may be stored in the virtual space history storage unit 1751 by the control module 1610 (in other words, the virtual space history acquisition means) each time the user 5 performs various actions in the metaverse. An example of the behavior history in the metaverse stored in the virtual space history storage unit 1751 is shown below.
[0153] The behavior history may be related to, for example, the outfit (in other words, appearance) of the avatar. Specifically, the behavior history may include, for example, information on the number of times the outfit (for example, clothing accessories (for example, clothes, hats, accessories, or footwear) or hairstyle) of the avatar has been changed. The behavior history may also include, for example, information on the number of clothing accessories (for example, the total number or number of types) that the avatar has acquired (in other words, possesses).
[0154] The behavior history may also be related to communication between users. Specifically, the behavior history may include, for example, information about a person with whom a conversation was conducted, or information about the number or frequency of conversations with a specific person. The behavior history may also include information about a person with whom a specific content was used together, or information about the number or frequency of use of content with a specific person together. Here, using content together may be, for example, playing a specific game together in the metaverse (for example, fighting together or against each other), participating together in a specific event in the metaverse, or being located at a specific location in the metaverse at the same time. In other words, the behavior history may include information based on communication between users in the metaverse (for example, information about conversations, use of content together, etc.).
[0155] The behavioral history may also include information regarding the distance traveled within the metaverse. The behavioral history may also include information regarding the number or frequency of each user's access to the metaverse (in other words, logging in). The behavioral history may also include information regarding places visited within the metaverse, information regarding the time of visiting a particular place, and the like. In other words, the behavioral history may include information based on movement within the metaverse (e.g., information regarding the distance traveled, places visited by movement, etc.).
[0156] The behavior history in the metaverse can be said to be information on operations performed by the user 5. Specifically, the behavior history in the metaverse can be said to be information on operations performed by the user 5 on the avatar object 6.
[0157] Recommendations to the user 5 regarding a specific thing in the metaverse based on the behavior history in the metaverse may be performed, for example, as follows. That is, attributes (hereinafter, referred to as "attributes in virtual space") may be set for each user 5 based on the behavior history in the metaverse, and the recommendation module 1731 may make recommendations based on the attributes in virtual space. In this case, the attribute setting module 1732 sets the attributes in virtual space of the user 5 based on, for example, the behavior history of the user 5 in the metaverse, and stores the attributes in virtual space of the user 5 in the user attribute storage unit 1752 included in the memory module 1630. In addition, the recommendation module 1731 makes recommendations to the user 5 according to the attributes in virtual space set for the user 5, for example.
[0158] It should be noted that a plurality of attributes within the virtual space may be assigned to one user 5, and only one attribute within the virtual space may be assigned to one user 5.
[0159] The attributes in the virtual space indicate the characteristics and properties of the user 5 in the metaverse. Here, as an example, a case will be described in which attributes in the virtual space such as "active", "otaku", "fashionable", "gourmet", and "inactive" are set for the user 5, but the types of attributes in the virtual space are not limited to these.
[0160] 16, the attribute setting module 1732 may determine that the user 5 is "active" based on the fact that the movement distance in the metaverse is equal to or greater than a predetermined threshold (in other words, a predetermined level), the number or frequency of logins is equal to or greater than a predetermined threshold, the number or frequency of conversations with other users in the metaverse is equal to or greater than a predetermined threshold, the number of users with whom the user has conversations in the metaverse, the number of users who have used a predetermined content together in the metaverse, the number of users registered as friends, etc. are equal to or greater than a predetermined threshold, etc., and may assign an in-virtual space attribute of "active" to the user 5. The conversation may be an exchange of text messages or a voice call, etc.
[0161] In addition, the attribute setting module 1732 may determine that user 5 is an "otaku" and assign an in-virtual space attribute of "otaku" to user 5 based on, for example, the fact that the distance traveled within the metaverse as indicated by the user's behavioral history is less than a predetermined threshold, that the people with whom the user converses within the metaverse are almost fixed, and that the number or frequency of use of two-dimensional content such as anime, manga, and games is greater than or equal to a predetermined threshold.
[0162] In addition, the attribute setting module 1732 may determine that user 5 is “fashionable” based on, for example, the number or frequency of outfit changes in the metaverse as indicated by the user 5’s behavioral history being above a predetermined threshold, or the number of acquired clothing items (e.g., total number or number of types, etc.) being above a predetermined threshold, and assign the user 5 an in-virtual space attribute of “fashionable.”
[0163] In addition, the attribute setting module 1732 may determine that user 5 is a “gourmet” based on, for example, the number or frequency of use of cooking-related content in the metaverse as indicated by the user 5’s behavioral history being above a predetermined threshold, and assign the user 5 an in-virtual space attribute of “gourmet.”
[0164] In addition, the attribute setting module 1732 may determine that user 5 is “inactive” based on, for example, the fact that the distance traveled within the metaverse as indicated by the user 5’s behavioral history is less than a predetermined threshold, or the number or frequency of logins is less than a predetermined threshold, and may assign an in-virtual space attribute of “inactive” to the user 5.
[0165] In addition, when an attribute is set based on some distance, number, frequency, etc. (in other words, when an attribute is set based on a parameter being equal to or greater than a predetermined level), the distance, number, or frequency may be, for example, a total distance, total number, or frequency within a predetermined period, or an average distance, average number, or average frequency within a predetermined period. In addition, the predetermined period may be a period from when the user 5 first accesses the metaverse to the time when the attribute is determined, or may be within a few days, within a few months, or until the number of logins reaches a predetermined number. In addition, for example, setting a predetermined attribute based on a parameter being equal to or greater than a predetermined threshold is not particularly limited in terms of internal processing, as long as the predetermined attribute is attached when the parameter is equal to or greater than a predetermined threshold.
[0166] In addition, the condition for setting a predetermined attribute for the user 5 may be one condition or multiple conditions. When multiple conditions are set, the attribute of the user 5 may be determined based on one of the multiple set conditions being satisfied, or the attribute of the user 5 may be determined based on multiple or all of the multiple set conditions being satisfied. In this embodiment, a value related to each attribute in the virtual space (hereinafter referred to as "attribute value") is set for each condition such as "a certain parameter is equal to or greater than a predetermined threshold value," and when a certain condition is satisfied, the attribute setting module 1732 is configured to assign the attribute value set for that condition to the user. Then, the attribute setting module 1732 is configured to set the attribute in the virtual space based on the accumulated value of the attribute values. In other words, an attribute in the virtual space is set for each action that the user 5 may perform in the metaverse (in other words, each condition that may be achieved), and the attribute setting module 1732 may assign to the user 5 the attribute value of the attribute in the virtual space set for the action performed by the user 5, and when the accumulated value of the attribute value of a certain attribute in the virtual space reaches a predetermined value, the certain attribute in the virtual space may be set to the user 5. Specifically, for example, when the moving distance of the user 5 in the metaverse becomes equal to or exceeds a predetermined threshold, or when the login frequency of the user 5 becomes equal to or exceeds a predetermined threshold, the accumulated value of the attribute value of the attribute in the virtual space "active" increases. Also, when the moving distance of the user 5 in the metaverse becomes equal to or exceeds a predetermined threshold, the accumulated value of the attribute value of the attribute in the virtual space "otaku" decreases. Also, for example, when the frequency of changing the outfit of the user 5 in the metaverse becomes equal to or exceeds a predetermined threshold, the accumulated value of the attribute value of the attribute in the virtual space "fashionable" increases. Then, for example, when the cumulative value of the attribute value of the virtual space attribute “active” reaches a predetermined value, the attribute setting module 1732 sets the attribute “active” in the virtual space for the user 5 .
[0167] Moreover, each content in the metaverse has one or more attributes in the virtual space, and the attribute setting module 1732 may assign to the user 5 an attribute value of the attribute in the virtual space of the content used (in other words, accessed) by the user 5 according to the attribute in the virtual space of the content used by the user 5. Then, when the attribute value of a specific attribute in the virtual space (specifically, the cumulative value of the attribute value) reaches a threshold value, the attribute setting module 1732 may set the specific attribute in the virtual space to the user 5. Even in such a case, an attribute in the virtual space is set for each action that the user 5 may perform in the metaverse (for example, use of a content to which an attribute in the virtual space is set), and it can be said that the attribute setting module 1732 assigns to the user 5 an attribute value related to the attribute in the virtual space set for the action performed by the user 5. In other words, the content in the metaverse includes content to which an attribute is set, and the attribute setting module 1732 may set a certain attribute to the user 5 based on the user 5's use of the content to which a certain attribute is set. The attribute setting module 1732 may assign to the user 5 the attribute value of the virtual space attribute set for the used content each time the user 5 uses the content, or may assign to the user 5 the attribute value of a specific virtual space attribute when the number of times or frequency of use of the content with a specific virtual space attribute set is equal to or exceeds a predetermined threshold. The setting information of the virtual space attribute related to the content in the metaverse may be stored in advance in the memory module 1630 of the server 600, for example.
[0168] For example, in the metaverse, there are a plurality of places to which an attribute in virtual space is attached, and the attribute setting module 1732 may assign to the user 5 an attribute value of the attribute in virtual space attached to the place visited (in other words, used) by the user 5. In other words, the attribute setting module 1732 may assign to the user 5 an attribute value according to the place visited by the user 5. Specifically, for example, in the metaverse, there are a plurality of areas to which an attribute in virtual space is attached (specifically, for example, "virtual Shibuya" and "virtual Harajuku" to which the attribute in virtual space of "fashionable" is attached, and "virtual Akihabara" to which the attribute in virtual space of "otaku" is attached, etc.), and the attribute setting module 1732 may assign to the user 5 an attribute value of the attribute in virtual space attached to the area based on the fact that the user 5 has visited a certain area in the metaverse. Furthermore, for example, within the metaverse there may be a number of facilities with virtual space attributes (specifically, for example, a commercial facility with the virtual space attribute of "stylish," and a game center and a mahjong parlor with the virtual space attribute of "otaku"), and the attribute setting module 1732 may assign to user 5 the attribute value of the virtual space attribute attached to a facility based on user 5's visit to that facility within the metaverse.
[0169] Furthermore, for example, a plurality of entertainments (e.g., games) with in-virtual space attributes are provided in the metaverse, and the attribute setting module 1732 may assign the attribute value of the entertainment used by the user 5 to the user 5. For example, entertainments provided in the metaverse include mahjong with the in-virtual space attribute of "otaku," karaoke with the in-virtual space attribute of "active," and audiovisual content with each in-virtual space attribute, and the attribute setting module 1732 may assign the attribute value of the in-virtual space attribute attached to the entertainment to the user 5 based on the user 5's use (in other words, experience) of a certain entertainment in the metaverse.
[0170] Also, for example, multiple events (e.g., music concerts, festivals, sporting events, etc.) with virtual space attributes are prepared in the metaverse, and the attribute setting module 1732 may assign to user 5 the attribute value of the virtual space attribute attached to an event based on user 5's participation (in other words, use) in that event.
[0171] For example, the recommendation module 1731 recommends to the user 5, another user 5 (in other words, the avatar of the other user 5) to which an attribute in the virtual space corresponding to the attribute in the virtual space set to the user 5 is set. Specifically, for example, the recommendation module 1731 may perform the following process. That is, for example, as shown in FIG. 16, the recommendation module 1731 may recommend another user to which an attribute in the virtual space of "active" or "fashionable" is set to a user to which an attribute in the virtual space of "active" is set. Also, for example, the recommendation module 1731 may recommend to a user to which an attribute in the virtual space of "otaku" is set, another user to which an attribute in the virtual space of "otaku" or "inactive" is set. Also, for example, the recommendation module 1731 may recommend to a user to which an attribute in the virtual space of "fashionable" is set, another user to which an attribute in the virtual space of "fashionable" or "active" is set to a user to which an attribute in the virtual space of "fashionable" is set. Also, for example, the recommendation module 1731 may recommend other users to whom the virtual space attribute "gourmet" is set to a user to whom the virtual space attribute "gourmet" is set. Also, for example, the recommendation module 1731 may recommend other users to whom the virtual space attribute "inactive" or "otaku" is set to a user to whom the virtual space attribute "inactive" is set.
[0172] In addition, the recommendation module 1731 may recommend to the user 5, for example, content according to the attribute in the virtual space set to the user. Specifically, for example, content in the metaverse is prepared with a recommendation target attribute indicating which attribute the content is recommended to the user 5, and the recommendation module 1731 may recommend to the user 5, content with a recommendation target attribute corresponding to the attribute in the virtual space set to the user 5. That is, for example, among the contents in the metaverse, there is content with a recommendation target attribute set to "active", "otaku", "fashionable", "gourmet", "inactive", etc., and the content may be recommended to the user 5 with a virtual space attribute that matches the recommendation target attribute set to the content. More specifically, for example, the recommendation module 1731 may recommend content with a recommendation target attribute set to "active" to a user with a virtual space attribute set to "active". Note that the setting information of the recommendation target attribute related to the content in the metaverse may be stored in advance in the memory module 1630 of the server 600, for example. Furthermore, attributes within the virtual space set for each piece of content may be used as recommendation target attributes.
[0173] Also, the recommendation module 1731 may recommend to the user 5, for example, other users 5 who have a specific relationship with the user 5 in the metaverse and things in the metaverse that have a specific relationship. Here, the other users 5 who have a specific relationship with the user 5 may be, for example, other users 5 who have interactions with the user 5. Also, the other users 5 who have interactions with the user 5 may be, for example, other users 5 who have had conversations with the user 5, other users 5 who have used content together, or other users 5 who are friends of the user 5. Also, the other users 5 who have a specific relationship may be, for example, other users 5 who have a large number of interactions with the user 5 (for example, the total number of interactions is a predetermined threshold or more, or the number of interactions within a predetermined period is a predetermined threshold or more (i.e., the frequency of interactions is high)) among the other users 5 who have interactions with the user 5. Also, the other users 5 who have a large number of interactions may be, for example, other users 5 who have a large number of conversations with the user 5, or other users 5 who use content together. Further, the other user 5 having a specific relationship with the user 5 may be, for example, another user 5 having a common (for example, the same) attribute in the virtual space or an attribute in the real world as the user 5. Further, the thing in the metaverse having a specific relationship with the other user 5 may be, for example, a content in the metaverse that is used frequently by the other user 5 (for example, a facility frequently visited or a game frequently used) (for example, a total number of times used is a predetermined threshold or more, or a number of times used within a predetermined period is a predetermined threshold or more (i.e., a high frequency of use)), or a user 5 (for example, a friend, etc.) who has interactions with the other user 5. In other words, the recommendation module 1731 may recommend the favorite content of the other user 5 to the user 5. The content that is used frequently by the other user 5 may be determined based on the behavior history of the other user 5 in the metaverse (for example, from the number of times each content indicated by the behavior history is used). In addition, with regard to the number of interactions or the number of uses, a high number may mean, for example, that the number of interactions or the number of uses is relatively high among that user 5, or that the number of interactions or the number of uses is greater than a predetermined number.In other words, when a value is equal to or greater than a predetermined threshold, the predetermined threshold may be fixed or variable (for example, variable depending on the number of interactions with each of multiple other users 5, the number of times each of multiple pieces of content is used, etc.).
[0174] The attributes in the virtual space may be more finely divided. For example, the attributes in the virtual space may classify the user 5 according to the hobbies and preferences of the user 5. The attribute setting module 1732 may set the attributes in the virtual space of the user 5 according to the usage history of the content in the metaverse. For example, when each user can set BGM in the metaverse, the attribute setting module 1732 may assign attributes such as "classical lover", "rock lover", "pop lover", and "anime song lover" to the user 5 according to which type of BGM is used frequently. The attribute setting module 1732 may assign the attribute "movie lover" to the user 5 who frequently watches movies in the metaverse, or the attribute "mahjong lover" to the user 5 who frequently plays mahjong in the metaverse. The attribute setting module 1732 may assign the attribute "visited virtual Shibuya" to the user 5 who has visited virtual Shibuya in the metaverse. Furthermore, the attribute setting module 1732 may assign an attribute of "fan of a particular idol" to a user 5 who frequently uses content of a particular idol in the metaverse. Furthermore, the attribute setting module 1732 may assign an attribute in the virtual space such as "street type", "mode type", "natural type", "rock type", etc. to the user 5 depending on the type of outfit that the user 5 sets for the avatar in the metaverse (for example, the number of times or frequency of wearing a particular type of outfit).
[0175] In this embodiment, the attribute setting module 1732 sets attributes in the virtual space for user 5 based on the behavioral history of user 5 in the metaverse, and the recommendation module 1731 makes recommendations regarding specific things in the metaverse based on the attributes in the virtual space. However, the recommendation module 1731 may make recommendations based on the behavioral history without the attribute setting module 1732 setting attributes in the virtual space.
[0176] The recommendation module 1731 may, for example, recommend other users who have the same behavior history among multiple behavior histories. The recommendation module 1731 may also, for example, recommend other users who have a common content usage history to the user 5. For example, when the behavior history of the user 5 and the behavior history of the other user 5 indicate that multiple pieces of content that the user 5 and the other user 5 have used overlap, the recommendation module 1731 may recommend the other user 5 to the user 5. In other words, the recommendation module 1731 may recommend other users 5 who have characteristics in common with the user 5, such as other users 5 who have corresponding attributes or other users 5 who have common behavior histories, to the user 5.
[0177] [Recommendations for things in the metaverse based on real-world behavioral history] Instead of or in addition to making recommendations regarding specific things in the metaverse based on user 5's behavioral history within the metaverse, recommendation module 1731 may make recommendations regarding specific things in the metaverse based on user 5's behavioral history in the real world (in other words, outside the metaverse).
[0178] Recommendations to the user 5 regarding a specific thing in the metaverse based on the action history in the real world may be performed, for example, as follows. That is, attributes (hereinafter, referred to as "real-world attributes") may be set for each user 5 based on the action history in the real world, and the recommendation module 1731 may make recommendations based on the real-world attributes. In this case, the attribute setting module 1732 sets the real-world attributes of the user 5 based on, for example, the action history of the user 5 in the real world, and stores the real-world attributes of the user 5 in the user attribute storage unit 1752 included in the memory module 1630. In addition, the recommendation module 1731 makes recommendations to the user 5 according to the real-world attributes set for the user 5, for example.
[0179] It should be noted that a plurality of real world attributes may be assigned to one user 5, and only one real world attribute may be assigned to one user 5.
[0180] The real world attributes indicate the characteristics and properties of the user 5 in the real world. Here, as an example, a case will be described in which real world attributes such as "active", "otaku", "fashionable", "gourmet", and "inactive" are set for the user 5, but the types of real world attributes are not limited to these. In addition, the real world attributes may also be more finely divided, as in the case of the virtual space attributes. Note that the types of attributes included in the virtual space attributes and the real world attributes may be different. In other words, the virtual space attributes and the real world attributes may be classified differently.
[0181] The attribute setting module 1732 may determine that user 5 is "active" and assign the real-world attribute of "active" to user 5, for example, based on the following information as shown in FIG. 16: the distance traveled in the real world is equal to or greater than a predetermined threshold, the calories burned in the real world is equal to or greater than a predetermined threshold, the number or frequency of exercise in the real world is equal to or greater than a predetermined threshold, the number or frequency of posts on a social networking service (SNS) is equal to or greater than a predetermined threshold, the number or frequency of conversations with other users in a predetermined application outside the metaverse is equal to or greater than a predetermined threshold, or the number of users with whom user 5 has conversations in a predetermined application outside the metaverse is equal to or greater than a predetermined threshold.
[0182] In addition, the attribute setting module 1732 may determine that the user 5 is an “otaku” based on, for example, the fact that the distance traveled in the real world as indicated by the user 5’s behavioral history is less than a predetermined threshold, and may assign the real-world attribute of “otaku” to the user 5.
[0183] Furthermore, the attribute setting module 1732 may determine that the user 5 is “fashionable” based on, for example, the number or frequency of selfie photos posted on SNS being equal to or greater than a predetermined threshold, or the number or frequency of reactions (so-called “likes” or the like) to fashion-related posts on SNS being equal to or greater than a predetermined threshold, as indicated by the behavioral history of the user 5, and may assign the real-world attribute of “fashionable” to the user 5. Note that the attribute setting module 1732 may set the real-world attribute of the user 5 to “street type”, “mode type”, “natural type”, “rock type”, or the like, depending on the tendency of the type of outfit of the user in the real world (for example, the number or frequency of wearing a specific type of outfit) detected by performing image recognition on photos of the user 5 in posts on the SNS of the user 5.
[0184] In addition, the attribute setting module 1732 may determine that user 5 is a “gourmet” and assign a real-world attribute of “gourmet” to user 5 based on, for example, the number or frequency of posts about food on SNS as indicated by the user 5’s behavioral history being above a predetermined threshold, the number or frequency of reactions to posts about eating and drinking on SNS being above a predetermined threshold, or the number or frequency of visits to high-end restaurants being above a predetermined threshold.
[0185] In addition, the attribute setting module 1732 may determine that user 5 is “inactive” based on, for example, the fact that the distance traveled in the real world is less than a predetermined threshold, the calories burned in the real world is less than a predetermined threshold, or the number of times or frequency of exercise in the real world is less than a predetermined threshold, as indicated by the user 5’s behavioral history, and may assign the real-world attribute of “inactive” to the user 5.
[0186] In addition, when setting the real world attributes of user 5 based on the above-mentioned conditions, the attribute setting module 1732 may assign values for each real world attribute (hereinafter referred to as "attribute values") to user 5 according to actions taken by user 5, and set the real world attributes based on the accumulated values, as in the case of attributes in virtual space.
[0187] Also, real-world attributes may be set in advance for things in the real world (e.g., places, services, objects, etc.), and the attribute setting module 1732 may assign to the user 5 the attribute value of the real-world attribute of the place, service, or object used by the user 5 in accordance with the real-world attribute of the place, service, or object used by the user 5. Then, when the attribute value of a specific real-world attribute (specifically, the cumulative value of the attribute value) reaches a threshold value, the specific real-world attribute may be set to the user 5. In other words, some things in the real world have attributes set, and the attribute setting module 1732 may set a certain attribute to the user 5 based on the user 5's use of a real-world thing to which a certain attribute is set. Note that setting information of the real-world attribute related to things in the real world may be stored in advance in the memory module 1630 of the server 600, for example.
[0188] For example, a real-world attribute may be set to a specific location in the real world, and the attribute setting module 1732 may assign the attribute value of the real-world attribute assigned to a location visited by the user 5 to the user 5. Specifically, for example, there are a plurality of areas in the real world to which real-world attributes are set (specifically, for example, "Shibuya" and "Harajuku" to which the real-world attribute of "stylish" is assigned, and "Akihabara" to which the real-world attribute of "otaku" is assigned), and the attribute setting module 1732 may assign to the user 5 the attribute value of the real-world attribute set to a certain area in the real world, based on the user 5's visit to that area. Also, for example, the real world may include a number of facilities to which real-world attributes are set (specifically, for example, a commercial facility to which the real-world attribute "stylish" is set, a game center and a mahjong parlor to which the real-world attribute "otaku" is assigned, and a restaurant to which the real-world attribute "gourmet" is assigned), and the attribute setting module 1732 may assign to user 5, based on user 5's visit to a facility in the real world, the attribute value of the real-world attribute set for that facility.
[0189] Also, for example, real-world attributes may be set for certain events in the real world (e.g., live music concerts, festivals, sporting events, etc.), and the attribute setting module 1732 may assign an attribute value of the real-world attribute of an event to user 5 based on user 5's participation in an event in the real world.
[0190] For example, the recommendation module 1731 recommends to the user 5, other users 5 (in other words, avatars of the other users 5) to which attributes in the virtual space corresponding to the attributes in the real world set for the user 5 are set. Specifically, for example, the recommendation module 1731 may perform the following process. That is, for example, as shown in FIG. 16, the recommendation module 1731 may recommend other users 5 to which attributes in the virtual space "active" or "fashionable" are set for the user 5 to which the real world attribute "active" is set. Also, for example, the recommendation module 1731 may recommend other users 5 to which attributes in the virtual space "otaku" or "inactive" are set for the user 5 to which the real world attribute "fashionable" is set. Also, for example, the recommendation module 1731 may recommend other users 5 to which attributes in the virtual space "fashionable" or "active" are set for the user 5 to which the real world attribute "fashionable" is set. Also, for example, the recommendation module 1731 may recommend other users 5 to whom the attribute in the virtual space is set as "gourmet" to a user 5 to whom the attribute in the real world is set as "gourmet." Also, for example, the recommendation module 1731 may recommend other users 5 to whom the attribute in the virtual space is set as "inactive" or "otaku" to a user 5 to whom the attribute in the real world is set as "inactive."
[0191] In addition, the recommendation module 1731 may recommend to the user 5, for example, content in the metaverse according to the real-world attribute set for the user 5. Specifically, for example, content in the metaverse is prepared with a recommendation target attribute indicating which attribute the user 5 should be recommended to, and the recommendation module 1731 may recommend to the user 5 content with a recommendation target attribute corresponding to the real-world attribute set for the user 5. That is, for example, among the content in the metaverse, there is content with recommendation target attributes such as "active", "otaku", "fashionable", "gourmet", and "inactive" set as recommendation target attributes, and the content may be recommended to the user 5 with a real-world attribute that matches the recommendation target attribute set for the content. More specifically, for example, the recommendation module 1731 may recommend content with a recommendation target attribute of "active" set for a user with a real-world attribute of "active" set.
[0192] In this embodiment, the attribute setting module 1732 sets real-world attributes for the user 5 based on the behavior history of the user 5 in the real world, and the recommendation module 1731 recommends a specific thing in the metaverse to the user 5 based on the real-world attributes. However, the recommendation module 1731 may make a recommendation based on the behavior history without the attribute setting module 1732 setting the real-world attributes. Specifically, for example, when a place corresponding to a specific place in the real world exists in the metaverse (for example, a specific facility in virtual Shibuya that imitates a specific facility in real Shibuya), and the behavior history of the user 5 in the real world indicates that the user 5 frequently visits the specific place (in other words, when the behavior history itself indicates an attribute of the user 5 that the user frequently visits the specific place. In other words, when the number of times the specific place is used is high), the recommendation module 1731 may recommend to the user 5 a place in the metaverse that corresponds to the specific place.
[0193] Furthermore, the recommendation of a predetermined thing in the metaverse based on the behavior history of the user 5 in the real world may be as follows. That is, for example, the behavior history may be a history of a search by the user 5 using the user device 700 described later (for example, a search in a predetermined web browser, etc.), a history of a purchase of a product, etc. (for example, a purchase history on a predetermined EC site, etc.), etc. Then, the recommendation module 1731 may recommend a music concert in the metaverse, for example, when the behavior history of the user 5 in the real world indicates, for example, a search for a music concert or indicates a purchase of an instrument on a predetermined EC site.
[0194] The behavioral history may be a history of credit card usage, etc. Then, the recommendation module 1731 may recommend a home appliance retail store in the metaverse, for example, when a history of credit card usage as the behavioral history of the user 5 in the real world indicates that the user 5 has purchased a home appliance.
[0195] [Recommendations for real-world objects based on behavioral history in the metaverse] The recommendation module 1731 may make recommendations regarding specific things in the metaverse based on the behavioral history of user 5 in the metaverse, or recommendations regarding specific things in the metaverse based on the behavioral history of user 5 in the real world, instead of or in addition to these recommendations, or recommendations regarding specific things in the real world based on the behavioral history of user 5 in the metaverse.
[0196] Recommending a given thing in the real world to the user 5 based on the behavior history in the metaverse may be performed, for example, as follows: That is, for each user 5, an attribute in the virtual space is set by the attribute setting module 1732, and the recommendation module 1731 may make a recommendation regarding a given thing in the real world based on the attribute in the virtual space.
[0197] The recommendation module 1731, for example, recommends to the user 5 real-world things (for example, places, services, objects, etc.) according to the virtual space attribute set to the user 5. Specifically, for example, among real-world things, things are prepared with a recommendation target attribute set indicating which attribute the thing is recommended to, and the recommendation module 1731 may recommend to the user 5 things with a recommendation target attribute set corresponding to the virtual space attribute set to the user 5. That is, for example, among real-world things, there are things with recommendation target attributes such as "active", "otaku", "fashionable", "gourmet", and "inactive", and the thing may be recommended to the user 5 with a virtual space attribute that matches the recommendation target attribute set to the thing. More specifically, for example, the recommendation module 1731 may recommend a real-world service, facility, etc. with a recommendation target attribute of "active" to a user with a virtual space attribute set to "active". Note that information indicating the recommendation target attributes of each real-world object may be stored in advance in the memory module 1630 of the server 600, for example.
[0198] In addition, in the metaverse, there are a plurality of contents that are associated with (in other words, associated with) real-world things, and the recommendation module 1731 may recommend a thing associated with a particular content based on the user 5's access to the particular content among the plurality of contents that are associated with the real-world thing. Note that information indicating the correspondence between the real-world thing and the content in the metaverse may be stored in advance in the memory module 1630 of the server 600, for example. Here, the content associated with the real-world thing may be, for example, a place in the metaverse that is based on (for example, imitates) a place that actually exists in the real world (for example, a region or a facility, etc.). Specifically, for example, in a virtual town based on a specific real town, a virtual facility based on a specific real facility may exist, and the recommendation module 1731 may recommend the specific facility to the user 5 based on the user 5's visit to the virtual facility in the metaverse.
[0199] Furthermore, the content associated with the real-world object may be, for example, an event in the metaverse that is similar to an event that actually exists in the real world. Specifically, for example, when a music concert similar to a specific music concert held in the real world (for example, a concert with a similar musical genre or a concert featuring the same artist) is held in the metaverse, the recommendation module 1731 may recommend the specific music concert held in the real world to the user 5 based on the user 5's participation in the music concert in the metaverse (for example, actual participation or reservation for participation, etc.).
[0200] Also, for example, if a service corresponding to a particular real-world service is available in the metaverse, recommendation module 1731 may recommend the particular real-world service to user 5 based on user 5's use of the service in the metaverse.
[0201] In addition, the things in the real world and the contents in the metaverse may correspond one-to-one, but they do not have to correspond one-to-one. In other words, a plurality of contents in the metaverse may correspond to one thing in the real world, and a single content in the metaverse may correspond to a plurality of things in the real world. For example, there may be a plurality of casinos in the metaverse, and the plurality of casinos may correspond to one casino in the real world. Also, there may be a single casino in the metaverse, and the single casino may correspond to a plurality of casinos in the real world.
[0202] The recommendation of a specific thing in the real world based on the behavior history of the user 5 in the metaverse may be as follows. That is, for example, the behavior history may be a history of shopping in the metaverse. Then, for example, when the behavior history of the user 5 in the metaverse indicates the purchase of a specific product usable in the metaverse (for example, clothing worn by an avatar, furniture to be placed in a house in the metaverse, etc.), the recommendation module 1731 may recommend a real-world product related to the specific product. More specifically, for example, the recommendation module 1731 may change a real-world product displayed as a product recommended to the user 5 on the website of a real-world store associated with the specific store according to a product purchased by the user 5 at a specific store in the metaverse.
[0203] Furthermore, the recommendation module 1731 may recommend an action in the real world (e.g., a recommended action) based on the action history of the user 5 in the metaverse. Specifically, the recommendation module 1731 may recommend exercising in the real world based on the fact that the user 5 moves little in the metaverse (e.g., the movement distance is less than a threshold). Furthermore, the recommendation module 1731 may recommend reviewing lifestyle habits in the real world based on the action history of the user 5 in the metaverse. With this configuration, it is possible to provide useful advice for the life of the user 5 in the real world based on the characteristics of the user 5 that appear in the action history in the metaverse.
[0204] Also, the recommendation module 1731 may recommend to the user 5, for example, a real-world thing that has a specific relationship with another user who has a specific relationship with the user 5 in the metaverse. The real-world thing that has a specific relationship with the other user 5 may be, for example, a thing in the real world that the other user 5 uses frequently (for example, a facility that is frequently visited or a service that is frequently used). The real-world thing that the other user 5 uses frequently may be determined based on the behavior history of the other user 5 in the real world (for example, from the number of times each facility or service is used, etc., indicated by the behavior history). The real-world thing that has a specific relationship with the other user 5 may be, for example, a thing in the real world that corresponds to a content in the metaverse that the other user 5 uses frequently. The other user 5 who has a specific relationship is as described above. According to such a configuration, for example, when the other user 5 who has a specific relationship in the metaverse (for example, frequently interacts) often participates in a specific live event in the metaverse, it is possible to recommend to the user 5 a real-world live event that corresponds to the specific live event. Therefore, it will be possible to extend relationships that exist within the metaverse to the real world.
[0205] In the metaverse, the user 5 may be able to visually know at least one of the attributes in the virtual space or the attributes in the real world of the user 5. In addition, in the metaverse, the user 5 may be able to visually know at least one of the attributes in the virtual space or the attributes in the real world of another user 5. Specifically, for example, the avatar control module 1429 may reflect the attributes of the user 5 in the avatar object 6, and control the avatar object 6 to be displayed on the monitor 130 in a display mode in which the attributes are reflected. Here, the reflection of the attributes in the avatar object 6 may be a change of the skin (e.g., clothes) of the avatar object 6 according to the attributes. Also, the reflection of the attributes in the avatar object 6 may be a display (e.g., an icon) indicating the attributes added to the periphery (e.g., above the head) of the avatar object 6. In other words, the reflection of the attributes in the avatar object 6 may be a display mode in which an object (e.g., clothes or an icon) according to the attributes is added to the avatar object 6. Also, the attribute may be, for example, displayed (for example, indicated by characters, symbols, etc.) on a screen (so-called profile screen, etc.) that displays information about the user 5 in a list. Also, for example, when there is a gap (in other words, a specific difference) between the attributes in the virtual space set for a certain user 5 and the attributes in the real world, a display indicating that there is a gap may be made. Specifically, the display mode of the avatar object 6 may be changed to a display mode indicating that there is a gap (for example, a display mode in which an icon indicating that there is a gap is displayed above the head of the avatar object 6), or a display indicating that there is a gap may be made on the profile screen, etc. Note that each user 5 may be able to set whether or not to make the attributes or gaps, etc., visually noticeable to other users 5. Also, for example, when reflecting attributes to the avatar object 6, the reflection may be performed automatically or based on the operation of the user 5.For example, the recommendation module 1731 may recommend a skin (e.g., clothing) for an avatar object 6 based on the attributes of the user 5 (in other words, behavioral history), and when the user 5 performs an operation to change to the recommended skin, the skin of the avatar object 6 may change to the recommended skin.
[0206] In this embodiment, the attributes of user 5 that are set based on the behavior history in the metaverse (i.e., attributes in the virtual space) and the attributes of user 5 that are set based on the behavior history in the real world (i.e., attributes in the real world) are managed separately. However, the attributes that are set based on the behavior history in the metaverse and the attributes that are set based on the behavior history in the real world do not have to be distinguished. In other words, the attributes in the virtual space and the attributes in the real world in this embodiment may both be read simply as "attributes".
[0207] The behavior history of the user 5 in the real world may be acquired, for example, as follows. That is, for example, the control module 1610 of the server 600 may include a behavior history acquisition module 1733. In addition, the behavior history acquisition module 1733 may acquire information on the behavior history of the user 5 in the real world from, for example, a device carried by the user 5 as the external device 700 (hereinafter, referred to as the "user device 700"), and store the behavior history of the user 5 in the real world in the real world history storage unit 1753 included in the memory module 1630 based on the information. Here, the device carried by the user 5 may be, for example, a smartphone, a feature phone, a PDA (Personal Digital Assistant), a tablet computer, a personal computer, or the like, or may be a device worn by the user 5 (for example, a wearable device such as a watch type, a wristband type, a ring type, a clothing type, a glasses type, or a contact lens type, or an implanted type device), or the like.
[0208] The behavior history acquisition module 1733 may acquire information on the distance traveled by the user 5, information on places visited by the user 5, and information on services used by the user 5 as behavior history based on location information indicating the location of the user 5 acquired by the user device 700 using GPS or a predetermined wireless communication (for example, short-range wireless communication such as Wi-Fi communication, Bluetooth communication, or UWB (Ultra Wide Band) communication). The behavior history acquisition module 1733 may acquire information on the actions of the user 5 on the SNS (for example, information on posted images, information on the date and time of posting, information indicating the content of the post, information on posts to which the user reacted, etc.) from the user device 700, and based on the information, acquire information on places visited by the user 5, information on services used by the user 5, and information on clothing worn by the user 5 as behavior history. The behavior history acquisition module 1733 may acquire, for example, a history of searches on the user 5's web browser, a history of purchases of products, etc. from the user device 700 as behavior history. In addition, the behavioral history acquisition module 1733 may acquire these histories as behavioral history from a specified server that stores history regarding the use of a specified application on the user device 700, or a specified server that stores history regarding the use of user 5's credit card, etc.
[0209] The behavioral history acquisition module 1733 may also acquire a behavioral history based on information on biological information acquired by the user device 700, for example. Here, the biological information may be, for example, data such as heart rate, blood pressure, body temperature, blood oxygen content, exhaled air, sweat amount, number of steps, electrocardiogram, or brainwave measured by a device worn by the user 5. The user device 700 or the behavioral history acquisition module 1733 may also acquire information obtained by analyzing the biological information (hereinafter referred to as "analysis result information"). Here, the analysis result information may be, for example, information indicating that the user is exercising (or has exercised) or after exercising, information indicating the amount of sleep, or information indicating a full stomach state, which are obtained by analyzing the biological information. The behavioral history acquisition module 1733 may also acquire information on the number or frequency of exercises performed by the user 5, information on calories burned by the user 5, or information on the amount of sleep by the user 5 as a behavioral history based on the biological information or branching result information.
[0210] The behavioral history acquisition module 1733 may acquire the behavioral history based on information manually input by the user 5 to the user device 700 or the like. For example, the behavioral history may be acquired based on information input by the user 5 to a health care application of the user device 700, information input to a household accounting application, or the like. In other words, the behavioral history may be acquired in real time in accordance with the behavior of the user 5, or may be acquired by the user 5 manually inputting predetermined information after performing the behavior.
[0211] The control module 1610 includes a cooperation management module 1741 that manages information about cooperation with the user device 700 of each user 5. The cooperation management module 1741 (in other words, cooperation information registration means) registers information about cooperation with the user device 700 used by the user 5 based on an operation of the user 5 (for example, an operation by the controller 300, an operation on the user device 700, etc.). Here, the information about cooperation with the user device 700 may be information indicating the user device 700 used by the user 5 (for example, a wearable device, etc.). In other words, the information about cooperation with the user device 700 may be information indicating the user device 700 that the user 5 has permitted to cooperate. The information about cooperation with the user device 700 may be information about cooperation between an application in the user device 700 (for example, an application for acquiring biometric information, an SNS application, etc.) and an application that provides a metaverse. In other words, the information on the cooperation with the user device 700 may be information indicating an application in the user device 700 that the user 5 has permitted to cooperate with (in other words, an application that can be used in the user device 700). That is, the information on the cooperation with the user device 700 may be information related to permission to acquire information on the behavior history of the user 5 in the real world via the user device 700. The cooperation management module 1741 stores information on the cooperation with the user device 700 in the memory module 1630 based on the operation of the user 5. In addition, when the cooperation management module 1741 registers information on the cooperation with the user device 700, the behavior history acquisition module 1733 becomes able to acquire the behavior history of the user 5 based on the information acquired by the user device 700. In other words, when the information on the cooperation with the user device 700 is registered, for example, an application providing a metaverse becomes able to acquire information from an application in the user device 700.Further, the cooperation management module 1741 (in other words, a notification means) notifies the user 5, who has not registered information regarding cooperation with the user device 700, to prompt the user 5 to register information regarding cooperation with the user device 700. Specifically, for example, the cooperation management module 1741 notifies the user 5 that a predetermined recommendation will be made by permitting cooperation with the user device 700. More specifically, for example, the cooperation management module 1741 transmits information indicating that information regarding cooperation with the user device 700 has not been registered to the control module 510 of the computer 200 of the user 5. Furthermore, the control module 510, which has received the information, causes the monitor 130 to display a display notifying the user 5 that cooperation with the user device 700 has not been made, or a display notifying the user 5 that a recommendation regarding a predetermined thing in the metaverse will be made based on the action history in the real world by permitting cooperation with the user device 700.
[0212] In addition, whether or not to allow the behavior history acquisition module 1733 to acquire the behavior history (in other words, whether or not to permit it) may be set (in other words, ON / OFF switchable) based on the operation of the user 5. For example, the behavior history acquisition module 1733 may determine whether or not to acquire the behavior history based on setting information (specifically, setting information on whether or not to acquire the behavior history) set by the operation of the user 5 (for example, an operation by the controller 300 on a predetermined setting screen). In addition, whether or not to acquire the behavior history may be set for each acquisition path of the behavior history. Specifically, for example, it may be possible to set such that while the acquisition of the behavior history from the user device 700 is permitted, the acquisition of the history related to the use of the credit card is not permitted. In other words, it may be possible to set for each user which of a plurality of media (for example, the user device 700, a credit card, etc.) the behavior history acquisition module 1733 is permitted to acquire. Moreover, whether or not to allow the recommendation module 1731 to perform various recommendations based on various behavioral histories (in other words, whether or not to permit them) may be set (in other words, ON / OFF switchable) based on the operation of the user 5. For example, the recommendation module 1731 may determine whether or not to perform a recommendation based on setting information (specifically, setting information on whether or not to perform a recommendation) set by an operation by the user 5 (for example, an operation by the controller 300 on a predetermined setting screen). Moreover, whether or not to perform a recommendation may be set for each thing to be recommended. According to such a configuration, for example, in a configuration in which a recommendation is made regarding things in the metaverse based on behavioral histories in the real world, it is possible to switch ON / OFF of the recommendation regarding things in the metaverse, and it is possible to prevent actions in the real world from being revealed by the recommended things.
[0213] The display provided to the user 5 when the recommendation module 1731 makes various recommendations may be, for example, as follows. That is, for example, when the recommendation module 1731 determines a thing in the metaverse or in the real world to be recommended to the user 5 based on the behavior history of the user 5 in the metaverse or in the real world, it outputs recommendation information indicating the thing and transmits it to the recommendation information presentation module 1721. In addition, the recommendation information presentation module 1721 displays a display (hereinafter referred to as a "recommendation display 30") recommending the thing on the monitor 130 based on the recommendation information from the recommendation module 1731.
[0214] An example of the recommendation display 30 is shown in FIG. 17. FIG. 17 shows a display example in the case where content and other users 5 in the metaverse are recommended based on the action history in the real world. As shown in FIG. 17, the recommendation information presentation module 1721 may display the recommendation display 30 including a display of the name of the recommended content, etc., on the monitor 130. Also, as shown in FIG. 17, the recommendation information presentation module 1721 may display the recommendation display 30 including a display of the name of the other user 5 in the metaverse to be recommended (in other words, the name of the avatar of the other user 5), in other words, the identification information of the other user 5 (for example, a user name), etc., on the monitor 130. Note that the recommendation display 30 related to the recommendation of the other user 5 may include, for example, a display related to the reception of a contact with the other user 5, a display indicating the location of the other user in the metaverse, etc. Also, the recommendation display recommending content in the metaverse may include, for example, a display indicating the location of the location related to the content (for example, the location of a facility as the content, or the location of a place where a service as the content can be used, etc.). The recommendation display 30 when recommending content or other users in the metaverse based on the behavior history in the metaverse may be as exemplified in Fig. 17. The recommendation display 30 may be displayed over the entire display area of the monitor 130, or may be displayed in a part of the display area.
[0215] Another example of the recommendation display is shown in Fig. 18. Fig. 18 shows a display example when a real-world object is recommended based on a behavior history in the metaverse. Note that the recommendation display 30 when recommending content or other users in the metaverse based on a behavior history in the metaverse or a behavior history in the real world may also be as shown in Fig. 18.
[0216] As shown in FIG. 18, the recommendation display 30 may include a display of the name of the recommended thing. The recommendation display 30 may also include a display explaining the recommended thing (for example, a display of an explanatory text, etc.). The recommendation display 30 may also include a display regarding the price of the recommended thing (for example, the price of the recommended thing or the price of the recommended service, etc.). The recommendation display 30 may also include a display indicating the position of a place related to the recommended thing. Here, the display indicating the position may be, for example, a display using characters such as an address, or may be a display using a map, etc. The recommendation display 30 may also include a display related to the reception of a reservation for the recommended thing. In other words, in a state in which the recommendation display 30 is displayed, an operation by the user 5 related to the reservation for the recommended thing (for example, an operation using the controller 300 or an operation using gaze, etc.) may be accepted. The recommendation display 30 may also include a display related to the reception of an operation to set the place related to the recommended thing as a destination to be actually headed for in the real world. In other words, in a state where the recommendation display 30 is displayed, an operation by the user 5 to set a place related to the recommended thing as a destination to be actually headed to in the real world (for example, an operation by the controller 300 or an operation by gaze, etc.) may be accepted. Furthermore, the recommendation display 30 may include an indication related to the reception of addition of the recommended thing to a predetermined list. In other words, in a state where the recommendation display 30 is displayed, an operation by the user 5 to add the recommended thing to a predetermined list (for example, an operation by the controller 300 or an operation by gaze, etc.) may be accepted. Here, the predetermined list may be, for example, a list for registering candidates for places to go in the future, a list for registering a place to be headed to now, a list for registering items to be purchased, etc. Furthermore, here, the predetermined list may be one that can be viewed using a predetermined application in the user device 700. Furthermore, when an operation to set a place related to the recommended thing as a destination to be actually headed to in the real world is performed in a state where the recommendation display 30 is displayed, the place may be set as a destination in a navigation application of the user device 700.These various settings can be realized using known technologies, such as technologies for linking an application for accessing the metaverse with other applications or websites.
[0217] Furthermore, when the recommendation module 1731 determines a thing in the metaverse or the real world to be recommended to the user 5 based on the behavior history of the user 5 in the metaverse or the real world, the recommendation module 1731 may output recommendation information indicating the thing and transmit it to the user device 700. Then, the computer of the user device 700 may display a recommendation display 30 recommending the thing on the monitor of the user device 700 based on the recommendation information from the recommendation module 1731. In other words, information on the thing in the real world recommended to the user 5 by the recommendation module 1731 may be presented to the user 5 on the user device 700 (for example, a smartphone or a wearable device), or may be presented to the user 5 in the metaverse. Furthermore, when the recommendation information is sent to the user device 700, the information related to the recommendation may be registered in a predetermined application of the user device 700 by performing a predetermined operation on the user device 700. Specifically, for example, when recommendation information is sent, the recommendation display 30 is displayed on the user device 700, and an operation related to a reservation for the recommended thing, an operation to set a place related to the recommended thing as a destination to actually go to in the real world, or an operation related to adding the recommended thing to a predetermined list is accepted, and information related to the recommendation may be registered in an application (for example, a calendar application) that manages the date and time of the reservation or the date and time to go to the destination, an application that manages the predetermined list, a navigation application, or the like based on each operation. Also, when recommendation information recommending a predetermined thing in the real world is sent to the user device 700, the user device 700 may store information related to the recommendation, and when the user 5 approaches the predetermined thing (in other words, when the user 5 is located within a predetermined range from the predetermined thing), may give a predetermined notification to the user 5. Here, the predetermined notification may be, for example, a notification that notifies the user that the predetermined thing is approached, a notification that the user has arrived, or a notification that notifies the user of detailed information about the predetermined thing.Whether the user 5 has approached the predetermined thing may be determined based on, for example, location information indicating the location of the user 5 acquired by the user device 700 using a GPS or the like. In addition, when the user 5 actually visits a place related to the recommended thing, the user device 700 may detect the visit and transmit information notifying the visit to the server 600. Then, the control module 1610 may grant a predetermined reward (for example, a reward that can be used in the metaverse or a reward that can be used in the real world) to the user 5 based on the information (in other words, based on the user 5 having taken an action according to the recommendation).
[0218] The timing of making a recommendation to the user 5 is not particularly limited, and can be, for example, as follows. That is, the recommendation may be made when the user 5 performs an operation requesting a recommendation (for example, an operation requesting the display of the recommendation display 30) on a menu screen (in other words, a user interface displayed on the monitor 130) on which a plurality of menu items are displayed. Note that the timing of making a recommendation here means the timing when information related to the recommendation is provided to the user 5 (for example, the timing when the recommendation display 30 is displayed to the user 5), but can also mean the timing when the recommendation module 1731 decides on the thing to be recommended.
[0219] Furthermore, the recommendation may be performed when the behavior history of the user 5 is accumulated and a subject to be recommended to the user 5 can be identified (in other words, when the amount of behavior history that allows the recommendation module 1731 to make a recommendation is accumulated), etc. Specifically, the behavior history of the user 5 is accumulated, and the recommendation may be performed every time a subject to be recommended to the user 5 is newly extracted.
[0220] The recommendation may be performed when the user 5 accesses the metaverse. That is, for example, the recommendation may be performed when the user 5 wears the HMD 120 and starts an application for accessing the metaverse. Specifically, for example, the recommendation may be performed after the application for accessing the metaverse is started and before the user 5 can operate the avatar object 6. As an example, the recommendation may be performed on a screen (for example, a so-called home screen) on which settings related to the metaverse space are performed. According to such a configuration, for example, the following effects can be obtained when making recommendations regarding things in the metaverse based on the behavior history of the user 5 in the real world. That is, when the user 5 accesses the metaverse for the first time in a long time, the user 5 is shown in a way that the user 5 can understand that the actions he or she took in the real world are utilized in the metaverse space, so that the user 5 can feel that he or she is involved in the metaverse even during the period when he or she is not active in the metaverse, and the psychological barrier to re-accessing the metaverse can be removed. When making recommendations regarding things in the metaverse based on the behavior history of the user 5 in the real world, the recommendation may be performed when the metaverse is accessed for the first time. In this case, for example, the recommendation may be made after the user 5 has been given some explanation about the operation method (in other words, during or after the tutorial). With such a configuration, it is possible to present what the user 5 should do first when starting activities in the metaverse, in accordance with the characteristics of the user 5.
[0221] Also, the recommendation may be made at the timing when the user 5 accesses a specific content in the metaverse. For example, in the case of recommending a thing in the real world corresponding to a specific content in the metaverse, or in the case of recommending a thing in the metaverse corresponding to a specific content in the metaverse, the recommendation may be made at the timing when the user 5 accesses the specific content. For example, as shown in FIG. 18, in a virtual town with a specific real town as a motif, a virtual facility with a specific real facility as a motif exists, and when the user 5 visits the virtual facility in the metaverse (specifically, for example, when the user visits a place where the virtual facility is in view or when the user enters the virtual facility), the recommendation module 1731 may recommend the specific real facility to the user 5. Note that, when making a recommendation to the user 5 by the display shown in FIG. 18, the recommendation may be, for example, as follows. That is, the recommendation module 1731 and / or the recommended information presentation module 1721 may change the thing recommended to the user 5 based on where the user 5 is in the metaverse. The recommendation module 1731 and / or the recommendation information presentation module 1721 may vary the things recommended to the user 5 based on where the user 5 is looking in the metaverse. That is, for example, when the user 5 is in a virtual town based on a specific real town, the recommendation information presentation module 1721 may display on the monitor 130 a recommendation display 30 that recommends a real facility corresponding to a virtual facility in the virtual town. In other words, the recommendation module 1731 may recommend a specific thing in the real world or in the metaverse based on the current position of the user 5 in the metaverse (in other words, a specific thing according to the current position). Also, the recommendation information presentation module 1721 may display on the monitor 130 a recommendation display 30 that recommends a real facility corresponding to the first virtual facility 31, for example, when the user 5 is looking at a first virtual facility 31. In addition, for example, when the user 5 is looking at a second virtual facility 32, the recommendation information presentation module 1721 may cause the monitor 130 to display a recommendation display 30 recommending a real facility corresponding to the second virtual facility 32.In other words, the recommendation module 1731 may recommend a predetermined thing in the real world or the metaverse (in other words, a predetermined thing according to the viewing location) based on the location in the metaverse where the user 5 is looking. The location where the user 5 is looking (in other words, which facility the user 5 is looking at, etc.) may be determined, for example, based on the field of view image 17, or may be determined based on the line of sight of the user 5 identified based on a signal from the gaze sensor 140. Specifically, for example, the range shown in the field of view image 17 may be determined as the location where the user 5 is looking, or a predetermined range based on the point where the user 5's line of sight is directed may be determined as the location where the user 5 is looking.
[0222] The recommendation may also be performed when the user 5 exits the metaverse. That is, for example, the recommendation may be performed at the timing when the user 5 executes an operation to log out from the metaverse (for example, an operation by the controller 300).
[0223] Moreover, the control module 1610 of this embodiment includes an access control module 1734 that controls whether or not access is permitted for a specific content in the metaverse. When the recommendation module 1731 recommends a specific content to the user 5, the access control module 1734 enables the user 5 to access the specific content. Specifically, for example, there may be a place (e.g., an area or a facility) in the metaverse that the user 5 cannot enter unless it is recommended. In this case, the access control module 1734 may enable the user 5 to enter (i.e., access) the place based on the recommendation of the place to the user 5 by the recommendation module 1731. Also, for example, there may be a service in the metaverse that the user 5 cannot use unless it is recommended. In this case, the access control module 1734 may enable the user 5 to use (i.e., access) the service based on the recommendation of the service to the user 5 by the recommendation module 1731. Also, for example, there may be an object in the metaverse that the user 5 cannot acquire (e.g., purchase) unless it is recommended. In this case, the access control module 1734 may enable the user 5 to acquire (i.e., access to) the item based on, for example, the recommendation module 1731's recommendation of the item to the user 5. In this way, enabling access to the recommended thing based on the recommendation can increase motivation and a sense of purpose for activities in the metaverse or in the real world.
[0224] Furthermore, the spaces to which access is controlled by the access control module 1734 may include spaces that can be accessed only by users 5 with specific attributes. In other words, the access control module 1734 may permit access to a specific space in the metaverse when the user 5 has a specific attribute. With this configuration, a space where similar users 5 gather can be prepared in the metaverse.
[0225] Next, the flow of processing executed by the HMD system 100 will be described with reference to FIGS.
[0226] [Processing related to recommendations regarding things in the metaverse based on behavioral history in the metaverse] An example of a process for making recommendations regarding things in the metaverse based on a behavior history in the metaverse will be described with reference to Fig. 19 and Fig. 20. Note that, here, a case where a recommendation is made to a user 5A will be described as an example.
[0227] First, an example of a process for recommending other users based on their behavioral history in the metaverse will be described with reference to FIG.
[0228] In step S101, the attribute setting module 1732 determines an attribute in the virtual space of the user 5A based on the behavior history in the metaverse of the user 5A stored in the virtual space history storage unit 1751.
[0229] Next, in step S102, the recommendation module 1731 determines other users 5 to be recommended to the user 5A based on the attributes in the virtual space of the user 5A. Specifically, the recommendation module 1731 extracts other users 5 having attributes in the virtual space corresponding to the attributes in the virtual space of the user 5A from among a plurality of users 5 using the metaverse, and determines them as other users 5 to be recommended to the user 5A. Here, as an example, it is assumed that the user 5C is determined as the other user 5 to be recommended to the user 5A. Note that the recommendation module 1731 may preferentially extract other users 5 with high relevance of attributes (e.g., users 5 with a large number of corresponding attributes, etc.). In addition, the recommendation module 1731 may preferentially extract other users 5 with high relevance to the location of the user 5 in the metaverse indicated by the action history in the metaverse (e.g., other users 5 who are currently located nearby, other users 5 who have a similar action range, other users 5 who often visit the same place, etc.). In addition, the recommendation module 1731 may preferentially extract other users 5 who are highly relevant to the user 5's location in the real world as indicated by his / her real-world behavioral history (for example, other users 5 who are currently in a nearby location, other users 5 who have a similar range of behavior, other users 5 who often visit the same locations, etc.).
[0230] Next, in step S103, the recommendation module 1731 transmits recommendation information related to the other user 5C recommended to the user 5A to the recommendation information presentation module 1721A. In other words, the recommendation module 1731 outputs recommendation information for displaying a recommendation display 30 recommending the other user 5C to the user 5A.
[0231] Next, in step S104, the recommendation information presentation module 1721A causes the monitor 130A to display, based on the recommendation information transmitted from the recommendation module 1731, a recommendation display 30 that recommends another user 5C to the user 5A.
[0232] Next, an example of a process for recommending content in the metaverse based on a behavior history in the metaverse will be described with reference to FIG.
[0233] In step S151, the attribute setting module 1732 determines an attribute in the virtual space of the user 5A based on the behavior history in the metaverse of the user 5A stored in the virtual space history storage unit 1751.
[0234] Next, in step S152, the recommendation module 1731 determines the content in the metaverse to be recommended to the user 5A based on the attributes in the virtual space of the user 5A. Specifically, the recommendation module 1731 extracts content having a recommendation target attribute corresponding to the attributes in the virtual space of the user 5A from among a plurality of contents in the metaverse, and determines it as the content to be recommended to the user 5A. The recommendation module 1731 may preferentially extract content that is highly relevant to the location of the user 5A in the metaverse indicated by the action history in the metaverse (for example, content close to the current location, content present within the action range of the user 5A, etc.). The recommendation module 1731 may also preferentially extract content that is highly relevant to the location of the user 5A in the real world indicated by the action history in the real world (for example, content corresponding to a real world location close to the current location, content corresponding to a real world location present within the action range of the user 5A, etc.).
[0235] Next, in step S153, the recommendation module 1731 transmits recommendation information related to the content recommended to the user 5A to the recommendation information presentation module 1721A. In other words, the recommendation module 1731 outputs recommendation information for displaying the recommendation display 30 that recommends a predetermined content to the user 5A.
[0236] Next, in step S154, the recommendation information presentation module 1721A causes the monitor 130A to display, based on the recommendation information transmitted from the recommendation module 1731, the recommendation display 30 that recommends a predetermined content to the user 5A.
[0237] [Processing related to recommendations about things in the metaverse based on real-world behavioral history] An example of a process for making recommendations regarding things in the metaverse based on a behavior history in the real world will be described with reference to Fig. 21. Note that, here, a case where a recommendation is made to a user 5A will be described as an example.
[0238] In step S201, the behavior history acquisition module 1733 acquires the behavior history of the user 5A in the real world based on information on the behavior of the user 5A in the real world. Here, the information on the behavior of the user 5A in the real world may be, for example, biometric information acquired by the user device 700 or analysis result information obtained by analyzing the biometric information. Furthermore, the information on the behavior of the user 5A in the real world may be, for example, information on the action of the user 5 on the SNS. Furthermore, the information on the behavior of the user 5A in the real world may be, for example, location information indicating the location of the user 5A in the real world. These pieces of information on the behavior of the user 5A in the real world are acquired by, for example, the user device 700 and sent to the control module 1610. Note that, the information on the action of the user 5 on the SNS may be sent to the control module 1610 from a server or the like that provides the SNS. Note that the action on the SNS includes making a post on the SNS and reacting (so-called like, etc.) to a post made by another person.
[0239] Next, in step S202, the attribute setting module 1732 determines the real-world attribute of the user 5A based on the action history of the user 5A in the real world.
[0240] Next, in step S203, the recommendation module 1731 determines an object in the metaverse to be recommended to the user 5A based on the real-world attribute of the user 5A. Specifically, the recommendation module 1731 extracts content having a recommendation target attribute corresponding to the real-world attribute of the user 5A from among a plurality of contents in the metaverse, and determines it as the content to be recommended to the user 5A. The recommendation module 1731 may preferentially extract content that is highly relevant to the location of the user 5A in the real world indicated by the action history in the real world (for example, content corresponding to a real-world location close to the current location, content corresponding to a real-world location within the action range of the user 5A, etc.). The recommendation module 1731 may also preferentially extract content that is highly relevant to the location of the user 5A in the metaverse indicated by the action history in the metaverse (for example, content close to the current location, content within the action range of the user 5A, etc.).
[0241] Next, in step S204, the recommendation module 1731 transmits recommendation information related to an object (e.g., content) recommended to the user 5A to the recommendation information presentation module 1721A. In other words, the recommendation module 1731 outputs recommendation information for displaying a recommendation display 30 that recommends a predetermined object in the metaverse to the user 5A.
[0242] Next, in step S205, the recommendation information presentation module 1721A causes the monitor 130A to display a recommendation display 30 that recommends a predetermined thing (for example, a predetermined content) to the user 5A based on the recommendation information transmitted from the recommendation module 1731.
[0243] [Processing related to recommendations about real-world objects based on behavioral history in the metaverse] An example of a process for making recommendations regarding things in the real world based on an action history in the metaverse will be described with reference to Fig. 22. Note that, here, a case where a recommendation is made to a user 5A will be described as an example.
[0244] In step S301, the recommendation module 1731 identifies a real-world thing corresponding to the content in the metaverse accessed by the user 5A. Then, the recommendation module 1731 determines the identified thing as a thing to be recommended to the user 5A. Specifically, the recommendation module 1731 identifies the content accessed by the user 5A based on the behavior history of the user 5A, and determines the real-world thing corresponding to the content accessed by the user 5A based on the information indicating the correspondence between the real-world thing and the content in the metaverse stored in the memory module 1630. Here, as an example, it is assumed that a specific facility in the real world is determined as a thing to be recommended to the user 5A based on the user 5A's access to a virtual facility based on a motif of the specific facility in the real world. Note that the recommendation module 1731 may determine the specific facility as a thing to be recommended at the timing when the user 5A accesses the virtual facility in the metaverse, for example. Furthermore, the recommendation module 1731 may, for example, determine as the recommended thing a real-world thing corresponding to a piece of content that has been used frequently by the user 5A (for example, the total number of times used is equal to or exceeds a predetermined threshold or the number of times used within a predetermined period is equal to or exceeds a predetermined threshold (i.e., high frequency of use)) from among a plurality of pieces of content that the user 5A has accessed (specifically, a plurality of pieces of content having corresponding real-world things set therein) at the time of displaying the recommendation display 30 to the user 5A.
[0245] Next, in step S302, the recommendation module 1731 transmits recommendation information related to a specific facility in the real world recommended to the user 5A to the recommendation information presentation module 1721A. In other words, the recommendation module 1731 outputs recommendation information for displaying a recommendation display 30 recommending a specific facility in the real world to the user 5A. Note that the recommendation module 1731 may transmit recommendation information related to a thing in the real world recommended to the user 5A to the user device 700 of the user 5A.
[0246] Next, in step S303, the recommendation information presentation module 1721A causes the monitor 130A to display, based on the recommendation information transmitted from the recommendation module 1731, a recommendation display 30 that recommends a specific facility in the real world to the user 5A.
[0247] The present invention is not limited to the above-described embodiment, and can be modified in various ways without departing from the spirit of the present invention. Within the scope of the present invention, the components can be freely combined, any components can be modified, or any components can be omitted. The process flow described in this specification is merely an example, and the order and configuration of each process may be different.
[0248] [Note] The matters described in the above embodiment can also be described as follows.
[0249] (Appendix 1) Computer, The module 1731 functions as a recommendation means for making recommendations to a user regarding predetermined things in the metaverse based on the user's behavior history in the metaverse. program. According to this configuration, it is possible to recommend other users and contents that suit each user according to the characteristics of the user as reflected in the user's behavior. Therefore, it is possible to expand the range of user activities in the metaverse and improve the interest of the service.
[0250] (Appendix 2) The recommendation means recommends to the user other users having characteristics in common with the user based on the user's behavior history in the metaverse and the behavior history of other users in the metaverse. 2. The program described in Appendix 1. According to this configuration, it is possible to introduce other users who have common characteristics to the user, thereby helping to expand friendships within the metaverse and increasing the interest of the service.
[0251] (Appendix 3) The recommendation means recommends content in the metaverse to the user. 2. The program described in Appendix 1. According to this configuration, it is possible to introduce content suited to each user, thereby broadening the range of activities of users within the metaverse and improving the interest of the service.
[0252] (Appendix 4) The recommendation means makes recommendations to the user regarding things in the metaverse that have a particular association with other users who interact with the user in the metaverse. 2. The program described in Appendix 1. There is a high possibility that a user will be interested in things that have a specific relevance to other users who have interactions with the user. With this configuration, it is possible to recommend to the user things that are likely to interest the user. It is also possible to create an opportunity to deepen interactions with the other users. Therefore, it is possible to improve the interest of the service.
[0253] (Appendix 5) The recommendation means recommends to the user content in the metaverse that has been used a predetermined threshold or more by other users who have interactions with the user. 6. The program described in Appendix 4. According to such a configuration, it becomes possible to recommend to a user content that is favored by other users with whom the user interacts, thereby broadening the scope of user activities in the metaverse and improving the interest of the service.
[0254] (Appendix 6) The computer is further caused to function as an attribute setting means (e.g., an attribute setting module 1732) for setting attributes for the user according to the behavior history of the user, The recommendation means recommends to the user other users corresponding to the set attribute. 2. The program described in Appendix 1. According to such a configuration, it is possible to classify users into attributes according to their behavioral history and recommend to the user other users with matching attributes or other users with compatible attributes, etc. Therefore, it is possible to expand the range of activities of users in the metaverse and improve the interest of the service.
[0255] (Appendix 7) The computer is further caused to function as an attribute setting means (e.g., an attribute setting module 1732) for setting attributes for the user according to the behavior history of the user, The recommendation means recommends content in the metaverse according to the attribute to the user. 2. The program described in Appendix 1. According to this configuration, it is possible to classify users into attributes according to their behavioral history and recommend content suitable for the user's attributes to the user. This makes it possible to broaden the range of user activities in the metaverse and improve the interest of the service.
[0256] (Appendix 8) The computer further functions as an access control means (e.g., an access control module 1734) that controls whether or not access is permitted to specific content in the metaverse; The access control means enables the user to access the specific content based on the recommendation of the specific content to the user by the recommendation means. 8. The program of claim 3, 5 or 7. According to this configuration, it is possible to prepare content that can be accessed through recommendation, and it is possible to increase motivation and a sense of purpose for activities in the metaverse, thereby improving the interest of the service.
[0257] (Appendix 9) The user's behavior history includes information based on at least one of the communication between the user and other users in the metaverse and the movement of the user in the metaverse. A program according to any one of appendices 1 to 7. With this configuration, it is possible to make recommendations based on the characteristics of a user that are manifested in the user's communication with or movement among other users within the metaverse.
[0258] (Appendix 10) A recommendation means (e.g., a recommendation module 1731) is provided for recommending to a user a predetermined object in the metaverse based on the user's behavior history in the metaverse. Information processing system. According to this configuration, the same effects as those of the program described in Supplementary Note 1 can be achieved. [Explanation of symbols]
[0259] 5 User, 6 Avatar object, 11 Virtual space, 100 HMD system, 110 HMD set, 120 HMD, 130 Monitor, 200 Computer, 210 Processor, 220 Memory, 230 Storage, 240 Input / output interface, 250 Communication interface, 300 Controller, 410 HMD sensor, 420 Motion sensor, 510 Control module, 520 Rendering module, 530 Memory module, 540 Communication control module, 600 Server, 610 Processor, 620 Memory, 630 Storage, 640 Input / output interface, 650 Communication interface, 700 External device, 1421 Virtual camera control module, 1422 Viewing area determination module, 1423 Reference line of sight identification module, 1424 Face organ detection module, 1425 Motion detection module, 1426 Virtual space definition module, 1427 Virtual object generation module, 1428 Operation object control module, 1429 avatar control module, 1438 field of view image generation module, 1610 control module, 1630 memory module, 1640 communication control module, 1721 recommendation information presentation module, 1731 recommendation module, 1732 attribute setting module, 1733 action history acquisition module, 1734 access control module, 1741 cooperation management module, 1751 virtual space history storage unit, 1752 user attribute storage unit, 1753 real world history storage unit
Claims
1. A computer, A recommendation means for determining and recommending places and other users in the metaverse to a user based on a behavior history of the user in the metaverse; and an attribute setting means for setting, to the user, an attribute indicating the user's own characteristics or properties in the metaverse based on the user's behavior history in the metaverse; The recommendation means determines other users to be recommended to the user based on the attributes set for the user, and recommends other users corresponding to the set attributes to the user. program.
2. A computer, A recommendation means for determining and recommending a place in the metaverse to a user based on a behavior history of the user in the metaverse; and an attribute setting means for setting, to the user, an attribute indicating the user's own characteristics or properties in the metaverse based on the user's behavior history in the metaverse; The recommendation means determines a place in the metaverse to be recommended to the user based on the attribute set for the user, and recommends to the user a place in the metaverse according to the set attribute. program.
3. The computer is further caused to function as an access control means for controlling whether or not access is permitted to a specific location within the metaverse; The access control means enables the user to access the specific place based on the recommendation of the specific place to the user by the recommendation means.
3. The program according to claim 1 or 2.
4. The user's behavior history includes information based on at least one of the communication between the user and other users in the metaverse and the movement of the user in the metaverse.
3. The program according to claim 1 or 2.
5. A recommendation means for determining and recommending places and other users in the metaverse to a user based on a behavior history of the user in the metaverse; and an attribute setting means for setting, to the user, an attribute indicating the user's own characteristics or properties in the metaverse based on the user's behavior history in the metaverse; The recommendation means determines other users to be recommended to the user based on the attributes set for the user, and recommends other users corresponding to the set attributes to the user. Information processing system.
Citation Information
Patent Citations
Virtual space providing server, virtual space providing system, and computer program
JP2008107895A
Information management device
JP2011216073A
Server device, program and communication system
JP2013073488A
Program for providing virtual space by head mount device, method, and information processing device for executing program
JP2019050576A
Server system and system
JP2021159169A