Computer readable storage medium, information processing method and information processing device

By expanding 360-degree web content in the virtual space and controlling the virtual camera field of view according to the user's head movement, the problem of insufficient user immersion in the prior art is solved, and higher immersion and interactivity are achieved.

CN114026526BActive Publication Date: 2025-04-18COLOPL
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080046565.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-06-26
Filing Date
2020-06-05
Publication Date
2025-04-18
Estimated Expiration
2040-06-05

AI Technical Summary

Technical Problem

The prior art provides 360-degree virtual space with insufficient immersion, especially in a limited area, only the main content is displayed flatly.

Method used

By defining a virtual space including a web browser, providing web content based on URL address access, expanding the web content into 360-degree web content using the user's first operation input, and controlling the field of view of the virtual camera according to the user's head movement, and finally displaying the corresponding field of view image in the virtual space.

Benefits of technology

Improves the immersion of users when applying VR content using web browsers, and provides a more immersive and interactive virtual space experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114026526B_ABST
    Figure CN114026526B_ABST
Patent Text Reader

Abstract

A computer-readable storage medium, an information processor method, and an information processing device are disclosed. The computer-readable storage medium stores a program, which, when executed by a computer including a processor, causes the processor to execute: a step of defining a virtual space including a web browser; a step of providing web content on the web browser based on access to a URL address; a step of providing the web content displayed on the web browser as 360-degree web content unfolded in the virtual space based on a first operation input of a user; a step of controlling a field of view visible from a virtual camera arranged in the virtual space according to movement of the user's head; and a step of displaying a field of view image corresponding to the field of view on an image display device associated with the user's head, wherein the web content and the 360-degree web content are web screens for selecting mobile video content to be replayed from one or more mobile image content options.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a program, an information processing method, and an information processing device. Background Art

[0002] In recent years, virtual reality (VR) content can be applied using a web browser. For example, Patent Document 1 discloses that a virtual space as 360-degree content is provided to a terminal device such as a head-mounted display, and predetermined content is provided to a main content display area or a sub-content display area in the virtual space based on access from a web page corresponding to a uniform resource locator (URL) address.

[0003] Reference List

[0004] Patent Literature

[0005] Patent Document 1: JP-A-2018-195255 Summary of the invention

[0006] Technical issues

[0007] Although the virtual space provided by the method in Patent Document 1 is 360-degree content as a whole, only the main content itself is displayed flat in a limited area, and from the viewpoint of improving the user's immersion, there is room for improvement.

[0008] An object of one aspect of the present disclosure is to provide a program, an information processing method, and an information processing device that improve the user's sense of immersion when applying VR content using a web browser.

[0009] Solution to the problem

[0010] According to one embodiment of the present disclosure, a program executed by a computer including a processor is provided, which causes the processor to execute: the steps of defining a virtual space including a web browser; the steps of providing web content on the web browser based on access to a uniform resource locator (URL) address; the steps of providing the web content displayed on the web browser as 360-degree web content unfolded in the virtual space based on a first operation input of a user; the steps of controlling the field of view from a virtual camera arranged in the virtual space according to the movement of the user's head; and the steps of displaying a field of view image corresponding to the field of view on an image display device associated with the user's head, wherein the web content and the 360-degree web content are web screens for selecting moving image content to be reproduced from one or more moving image content.

[0011] Advantageous Effects of the Invention

[0012] According to an embodiment of the present disclosure, a program for improving a user's sense of immersion when applying VR content using a web browser may be provided. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 is a diagram of a system including a head mounted device (HMD) according to an embodiment of the present disclosure.

[0014] Figure 2 is a block diagram of a hardware configuration of a computer according to one embodiment of the present disclosure.

[0015] Figure 3 is a diagram of a uvw field of view coordinate system to be set for an HMD according to one embodiment of the present disclosure.

[0016] Figure 4 is a diagram showing a mode of a virtual space according to an embodiment of the present disclosure.

[0017] Figure 5 is a plan view of a head of a user wearing an HMD according to an embodiment of the present disclosure.

[0018] Figure 6 is a diagram of a YZ cross section obtained by observing a field of view area from an X direction in a virtual space according to one embodiment of the present disclosure.

[0019] Figure 7 is a diagram of an XZ cross section obtained by observing a field of view area from a Y direction in a virtual space according to one embodiment of the present disclosure.

[0020] FIG. 8(A) is a diagram of a schematic configuration of a controller according to an embodiment of the present disclosure.

[0021] FIG. 8(B) is a diagram of a coordinate system to be set for a hand of a user holding a controller according to one embodiment of the present disclosure.

[0022] Fig. 9 is a block diagram of a hardware configuration of a server according to an embodiment of the present disclosure.

[0023] Fig.10 is a block diagram of a computer according to one embodiment of the present disclosure.

[0024] Fig.11 is a sequence diagram of a process to be performed by a system including an HMD set according to one embodiment of the present disclosure.

[0025] FIG. 12(A) is a schematic diagram of an HMD system in which several users of a shared virtual space interact using a network according to an embodiment of the present disclosure.

[0026] FIG. 12(B) is a diagram of a visual field image of the user 6A in FIG. 12(A) .

[0027] Fig.13 is a sequence diagram of a process to be performed by a system including an HMD interacting in a network according to an embodiment of the present disclosure.

[0028] Fig.14 is a block diagram of a configuration of modules in a computer according to one embodiment of the present disclosure.

[0029] Fig.15 is a flowchart of an example of an operational process performed in a computer according to at least one embodiment of the present disclosure.

[0030] Fig.16 is a schematic diagram of an example of a virtual space in accordance with at least one embodiment of the present disclosure.

[0031] Fig.17 Observed from the Y-axis direction Fig.16 Schematic diagram of the XZ cross section of the virtual space shown in .

[0032] Fig.18 is a schematic diagram of an example of a virtual space in accordance with at least one embodiment of the present disclosure.

[0033] Fig.19 Observed from the Y-axis direction Fig.18 Schematic diagram of the XZ cross section of the virtual space shown in .

[0034] Fig. 20 yes Fig.18 Schematic diagram of the field of view image of user 5 in .

[0035] Fig.21 is a schematic diagram of an XZ cross section obtained by observing a virtual space according to at least one embodiment of the present disclosure from a Y-axis direction.

[0036] Fig. 22 is a schematic diagram of an example of a virtual space in accordance with at least one embodiment of the present disclosure. DETAILED DESCRIPTION

[0037] Now, with reference to the accompanying drawings, embodiments of the present technical ideas are described in detail. In the following description, the same components are represented by the same reference symbols. The same applies to the names and functions of those components. Therefore, the detailed description of those components will not be repeated. In one or more embodiments described in the present disclosure, the components of the corresponding embodiments can be combined with each other, and the combination also serves as a part of the embodiments described in the present disclosure.

[0038]

Configuration of HMD system

[0039] refer to Figure 1 , describes the configuration of a head mounted device (HMD) system 100. Figure 1 is a diagram of a system 100 including a head mounted display (HMD) according to an embodiment of the present disclosure. The system 100 may be used for home use or professional use.

[0040] The 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 can independently communicate to / from the server 600 or the external device 700 via the network 2. In some examples, the HMD sets 110A, 110B, 110C, and 110D are also collectively referred to as "HMD sets 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, an eye gaze sensor 140, a first camera 150, a second camera 160, a microphone 170, and a speaker 180. In an embodiment, the controller 300 includes a motion sensor 420 .

[0041] In at least one aspect, the computer 200 is connected to a network 2, such as the Internet, and can communicate in a wired or wireless manner to / from a server 600 or other computer connected to the network 2. Examples of other computers include a computer of another HMD set 110 or an external device 700. In at least one aspect, the HMD 120 includes a sensor 190 instead of the HMD sensor 410. In at least one aspect, the HMD 120 includes both the sensor 190 and the HMD sensor 410.

[0042] The HMD 120 is wearable on the head of the user 5 to display a virtual space to the user 5 during operation. More specifically, in one embodiment, the HMD 120 displays each of a right-eye image and a left-eye image on the monitor 130. Each eye of the user 5 can visually recognize a corresponding image from the right-eye image and the left-eye image, so that the user 5 can recognize a three-dimensional image based on the parallax of the user's eyes. In one embodiment, the HMD 120 includes: a so-called head-mounted display including a monitor, or any of head-mounted devices capable of mounting a smartphone or other terminal including a monitor.

[0043] The monitor 130 is implemented as, for example, a non-transmissive display device. In at least one aspect, the monitor 130 is arranged on the main body of the HMD 120 so as to be positioned in front of both eyes of the user 5. Therefore, when the user 5 can visually recognize the three-dimensional image displayed by the monitor 130, the user 5 is immersed in the virtual space. In at least one aspect, the virtual space includes, for example, a background, an object that can be operated by the user 5, or a menu image that can be selected by the user 5. In at least one aspect, the monitor 130 is implemented as a liquid crystal monitor or an organic electroluminescent (EL) monitor included in a so-called smart phone or other information display terminal.

[0044] In at least one aspect, the monitor 130 is implemented as a transmissive display device. In this case, the user 5 is able to see through the HMD 120 (e.g., smart glasses) covering the eyes of the user 5. In one embodiment, the transmissive monitor 130 is configured as a temporary non-transmissive display device by adjusting its transmittance. In one embodiment, the monitor 130 is configured to simultaneously display the real space and a portion of the image constituting the virtual space. For example, in one embodiment, the monitor 130 displays an image of the real space captured by a camera mounted on the HMD 120, or the real space can be recognized by setting the transmittance of a portion of the monitor 130 high enough to allow the user 5 to see through the HMD 120.

[0045] In at least one aspect, the monitor 130 includes a sub-monitor for displaying a right eye image and a sub-monitor for displaying a left eye image. In at least one aspect, the monitor 130 is configured to display the right eye image and the left eye image as a whole. In this case, the monitor 130 includes a high-speed shutter. The high-speed shutter operates to alternately display the right eye image of the right side of the user 5 and the left eye image of the left eye of the user 5, so that only one of the eyes of the user 5 can recognize the image at any single point in time.

[0046] In at least one aspect, the HMD 120 includes a plurality of light sources (not shown). Each light source is implemented by, for example, a light emitting diode (LED) configured to emit 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 to detect the position and inclination of the HMD 120 in the real space.

[0047] In at least one aspect, the HMD sensor 410 is implemented by a camera. In at least one aspect, the HMD sensor 410 uses image information of the HMD 120 output from the camera to perform image analysis processing, thereby enabling detection of the position and tilt of the HMD 120.

[0048] In at least one aspect, the HMD 120 includes the sensor 190 instead of or in addition to the HMD sensor 410 as a position detector. In at least one aspect, the HMD 120 uses the sensor 190 to detect the position and inclination of the HMD 120. For example, in one embodiment, when the sensor 190 is an angular velocity sensor, a geomagnetic sensor, or an acceleration sensor, the HMD 120 uses any one or all of those sensors instead of (or in addition to) the HMD sensor 410 to detect the position and inclination of the HMD 120. As an example, when the sensor 190 is an angular velocity sensor, the angular velocity sensor detects the angular velocity of each of the three axes of the HMD 120 in the real space over time. The HMD 120 calculates the temporal change of the angle around each of the three axes of the HMD 120 based on each angular velocity, and further calculates the inclination of the HMD 120 based on the temporal change of the angle.

[0049] The eye gaze sensor 140 detects the direction in which the sight lines of the right eye and the left eye of the user 5 are directed. That is, the eye gaze sensor 140 detects the sight line of the user 5. The direction of the sight line is detected by, for example, a well-known eye tracking function. The eye gaze sensor 140 is implemented by a sensor having an eye tracking function. In at least one aspect, the eye gaze sensor 140 includes a right eye sensor and a left eye sensor. In one embodiment, the eye gaze sensor 140 is configured to, for example, illuminate the right eye and the left eye of the user 5 with infrared light, and receive reflected light from the cornea and the iris relative to the illuminated light, thereby detecting the rotation angle of each of the eyeballs of the user 5. In one embodiment, the eye gaze sensor 140 detects the sight line of the user 5 based on each detected rotation angle.

[0050] The first camera 150 photographs the lower part of the face of the user 5. More specifically, the first camera 150 photographs, for example, the nose or mouth of the user 5. The second camera 160 photographs, for example, the eyes and eyebrows of the user 5. A side of the housing of the HMD 120 on the user 5 side is defined as the inner side of the HMD 120, and a side of the housing of the HMD 120 opposite to the user 5 side is defined as the outer side of the HMD 120. In at least one aspect, the first camera 150 is arranged on the outer side of the HMD 120, and the second camera 160 is arranged on the inner side of the HMD 120. Images generated by the first camera 150 and the second camera 160 are input to the computer 200. In at least one aspect, the first camera 150 and the second camera 160 are implemented as a single camera, and the face of the user 5 is photographed using the single camera.

[0051] Microphone 170 converts the speech of user 5 into a voice signal (electrical signal) for output to computer 200. Speaker 180 converts the voice signal into speech for output to user 5. In at least one aspect, HMD 120 includes headphones instead of speaker 180.

[0052] The controller 300 is connected to the computer 200 through wired or wireless communication. The controller 300 receives a command input from the user 5 to the computer 200. In at least one aspect, the controller 300 is held by the user 5. In at least one aspect, the controller 300 may be mounted to a part of the body or clothing of the user 5. In at least one aspect, the controller 300 is configured to output at least any one of vibration, sound or light based on a signal transmitted from the computer 200. In at least one aspect, the controller 300 receives an operation from the user 5 for controlling the position and movement of an object arranged in a virtual space.

[0053] In at least one aspect, the controller 300 includes a plurality of light sources. Each light source is implemented by, for example, an LED configured to emit 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 to detect the position and inclination of the controller 300 in the real space. In at least one aspect, the HMD sensor 410 is implemented by a camera. In this case, the HMD sensor 410 uses the image information of the controller 300 output from the camera to perform image analysis processing, thereby enabling detection of the position and inclination of the controller 300.

[0054] In at least one aspect, the motion sensor 420 may be mounted on the hand of the user 5 to detect the hand movement of the user 5. For example, the motion sensor 420 detects the rotation speed, rotation angle, and number of rotations of the hand. The detected signal is transmitted to the computer 200. The motion sensor 420 is provided to, for example, the controller 300. In at least one aspect, the motion sensor 420 is provided to, for example, the controller 300 that can be held by the user 5. In at least one aspect, in order to help prevent the controller 300 from being accidentally released in the real space, the controller 300 may be mounted on an object similar to a glove-type object, which will not be easily thrown away by being worn on the hand of the user 5. In at least one aspect, a sensor that cannot be mounted on the user 5 detects the hand movement of the user 5. For example, a signal of a camera that photographs the user 5 can be input to the computer 200 as a signal indicating the movement of the user 5. As at least one example, the motion sensor 420 and the computer 200 are connected to each other by wired or wireless communication. In the case of wireless communication, the communication mode is not particularly limited, and, for example, Bluetooth (trademark) or other well-known communication methods can be used.

[0055] The display 430 displays an image similar to the image displayed on the monitor 130. With this, users other than the user 5 wearing the HMD 120 can also observe an image similar to that observed by the user 5. The image to be displayed on the display 430 does not need to be a three-dimensional image, but may be a right-eye image or a left-eye image. For example, a liquid crystal display or an organic EL monitor may be used as the display 430.

[0056] In one embodiment, the server 600 transmits the program to the computer 200. In at least one aspect, the server 600 communicates to / from another computer 200 for providing virtual reality to the HMD 120 used by another user. For example, when multiple users play a participatory game, such as in an entertainment facility, each computer 200 communicates to / from another computer 200 via the server 600 using a signal based on the movement of each user, thereby enabling multiple users to enjoy a common game in the same virtual space. Each computer 200 can communicate to / from another computer 200 using a signal based on the movement of each user without the intervention of the server 600.

[0057] The external device 700 is any suitable device as long as the external device 700 can communicate to / from the computer 200. The external device 700 is, for example, a device that can communicate to / from the computer 200 via the network 2, or a device that can directly communicate to / from the computer 200 through near field communication or wired communication. In one embodiment, a peripheral device such as a smart device, a personal computer (PC), or the computer 200 may be used as the external device 700, but the external device 700 is not limited thereto.

[0058]

Computer hardware configuration

[0059] refer to Figure 2 , describes a computer 200 in one embodiment. Figure 2 2 is a block diagram of a hardware configuration of a computer 200 according to an embodiment. The computer 200 includes a processor 210, a memory 220, a storage device 230, an input / output interface 240, and a communication interface 250. Each component is connected to a bus 260.

[0060] The processor 210 executes a series of commands included in a program stored in the memory 220 or the storage device 230 based on a signal transmitted to the computer 200 or in response to a predetermined condition. In at least one aspect, the processor 210 is implemented as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor unit (MPU), a field programmable gate array (FPGA), or other devices.

[0061] Memory 220 temporarily stores programs and data. Programs are loaded from, for example, storage device 230. Data includes data input to computer 200 and data generated by processor 210. In at least one aspect, memory 220 is implemented as random access memory (RAM) or other volatile memory.

[0062] The storage device 230 permanently stores programs and data. The storage device 230 is implemented as, for example, a read-only memory (ROM), a hard disk device, a flash memory, or other non-volatile storage devices. The programs stored in the storage device 230 include: a program for providing a virtual space in the system 100, a simulation program, a game program, a user authentication program, and a program for implementing communication to / from other computers 200. The data stored in the storage device 230 includes: data and objects for defining a virtual space.

[0063] In at least one aspect, the storage device 230 is implemented as a removable storage device like a memory card. In at least one aspect, a configuration using programs and data stored in an external storage device is used instead of the storage device 230 built in the computer 200. With this configuration, for example, in a case where a plurality of HMD systems 100 are used, such as in an entertainment facility, programs and data are collectively updated.

[0064] The input / output interface 240 allows communication of signals between the HMD 120, the HMD sensor 410, the motion sensor 420, and the display 430. The monitor 130, the eye 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 to / from the computer 200 via the input / output interface 240 of the HMD 120. In at least one aspect, the input / output interface 240 is implemented using a universal serial bus (USB), a digital visual interface (DVI), a high-definition multimedia interface (HDMI) (trademark), or other terminals. The input / output interface 240 is not limited to the above specific examples.

[0065] In at least one aspect, the input / output interface 240 also communicates to / from 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 at least one aspect, the input / output interface 240 transmits a command output from the processor 210 to the controller 300. The command instructs the controller 300 to vibrate, output sound, or emit light, for example. When the controller 300 receives the command, the controller 300 performs any one of vibration, sound output, and light emission according to the command.

[0066] The communication interface 250 is connected to the network 2 to communicate to / from other computers (e.g., the server 600) connected to the network 2. In at least one aspect, the communication interface 250 is implemented as, for example, a local area network (LAN), other wired communication interfaces, wireless fidelity (Wi-Fi), Bluetooth (R), near field communication (NFC), or other wireless communication interfaces. The communication interface 250 is not limited to the above specific examples.

[0067] In at least one aspect, the processor 210 accesses the storage device 230 and loads one or more programs stored in the storage device 230 to the memory 220 to execute a series of commands included in the program. In one embodiment, the one or more programs include: an operating system of the computer 200, an application program for providing a virtual space, and / or game software that can be executed in the virtual space. The processor 210 transmits a signal for providing the virtual space to the HMD 120 via the input / output interface 240. The HMD 120 displays a video on the monitor 130 based on the signal.

[0068] exist Figure 2 In the embodiment, the computer 200 is outside the HMD 120, but in at least one aspect, the computer 200 is integral with the HMD 120. As an example, a portable information communication terminal (such as a smartphone) including the monitor 130 plays the role of the computer 200 in one embodiment.

[0069] In one embodiment, the computer 200 is used in common with a plurality of HMDs 120. With this configuration, for example, the computer 200 can provide the same virtual space to a plurality of users, and thus each user can enjoy the same application with other users in the same virtual space.

[0070] According to one embodiment of the present disclosure, in system 100, a real coordinate system is preset. The real coordinate system is a coordinate system in real space. The real coordinate system has three reference directions (axes), which are respectively parallel to the vertical direction, parallel to the horizontal direction orthogonal to the vertical direction, and parallel to the front-to-back direction orthogonal to both the vertical direction and the horizontal direction in real space. The horizontal direction, the vertical direction (up and down direction), and the front-to-back direction in the real coordinate system are defined as the x-axis, the y-axis, and the z-axis, respectively. More specifically, the x-axis of the real coordinate system is parallel to the horizontal direction of the real space, the y-axis thereof is parallel to the vertical direction of the real space, and the z-axis thereof is parallel to the front-to-back direction of the real space.

[0071] In at least 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, the infrared sensor detects the presence of the HMD 120. The HMD sensor 410 also detects the position and inclination (direction) of the HMD 120 in the real space based on the value of each point (each coordinate value in the real coordinate system), which corresponds to the movement of the user 5 wearing the HMD 120. In more detail, the HMD sensor 410 can detect the temporal change of the position and inclination of the HMD 120 using each value detected over time.

[0072] Each inclination of the HMD 120 detected by the HMD sensor 410 corresponds to the inclination of each of the three axes in the real coordinate system of the HMD 120. The HMD sensor 410 sets the uvw field of view coordinate system for the HMD 120 based on the inclination of the HMD 120 in the real coordinate system. The uvw field of view coordinate system set for the HMD 120 corresponds to the viewpoint coordinate system used when the user 5 wearing the HMD 120 observes an object in the virtual space.

[0073]

uvw field of view coordinate system

[0074] refer to Figure 3 , describes the uvw field of view coordinate system. Figure 3 is a diagram of a uvw view coordinate system to be set for the HMD 120 according to one embodiment of the present disclosure. When the HMD 120 is activated, the HMD sensor 410 detects the position and inclination of the HMD 120 in the real coordinate system. The processor 210 sets the uvw view coordinate system to the HMD 120 based on the detected values.

[0075] exist Figure 3 In the 3D uvw field of view coordinate system, the HMD 120 defines the head of the user 5 wearing the HMD 120 as the center (origin). More specifically, the HMD 120 sets three directions newly obtained by tilting the horizontal direction, the vertical direction, and the front-back direction (x-axis, y-axis, and z-axis) defining the real coordinate system around the corresponding axes with respect to the inclination of the HMD 120 in the real coordinate system as the pitch axis (u-axis), the yaw axis (v-axis), and the roll axis (w-axis) of the uvw field of view coordinate system in the HMD 120.

[0076] In at least one aspect, when the user 5 wearing the HMD 120 is standing (or sitting) upright and visually recognizing the front, the processor 210 sets the uvw field of view coordinate system parallel to the real coordinate system to the HMD 120. In this case, the horizontal direction (x-axis), the vertical direction (y-axis), and the front-back direction (z-axis) of the real coordinate system are directly matched with the pitch axis (u-axis), the yaw axis (v-axis), and the roll axis (w-axis) of the uvw field of view coordinate system in the HMD 120, respectively.

[0077] After the uvw field of view coordinate system is set to the HMD 120, the HMD sensor 410 can detect the inclination of the HMD 120 in the set uvw field of view coordinate system based on the movement of the HMD 120. In this case, the HMD sensor 410 detects each of the pitch angle (θu), the yaw angle (θv), and the roll angle (θw) of the HMD 120 in the uvw field of view coordinate system as the inclination of the HMD 120. The pitch angle (θu) represents the inclination angle of the HMD 120 around the pitch axis in the uvw field of view coordinate system. The yaw angle (θv) represents the inclination angle of the HMD 120 around the yaw axis in the uvw field of view coordinate system. The roll angle (θw) represents the inclination angle of the HMD 120 around the roll axis in the uvw field of view coordinate system.

[0078] The HMD sensor 410 sets the uvw field of view coordinate system of the HMD 120 obtained after the HMD 120 moves to the HMD 120 based on the detected inclination angle of the HMD 120. The relationship between the HMD 120 and the uvw field of view coordinate system of the HMD 120 is constant regardless of the position and inclination of the HMD 120. When the position and inclination of the HMD 120 change, the position and inclination of the uvw field of view coordinate system of the HMD 120 in the real coordinate system change in synchronization with the change in the position and inclination.

[0079] In at least one aspect, the HMD sensor 410 identifies the position of the HMD 120 in the real space as a position relative to the HMD sensor 410 based on the light intensity of the infrared ray or the relative position relationship between a plurality of points acquired based on the output from the infrared sensor (e.g., the distance between the points). In at least one aspect, the processor 210 determines the origin of the uvw field of view coordinate system of the HMD 120 in the real space (real coordinate system) based on the identified relative position.

[0080]

Virtual Space

[0081] refer to Figure 4 , further describing the virtual space. Figure 41 is a diagram showing a mode of a virtual space 11 according to an embodiment of the present disclosure. The virtual space 11 has a structure of an entire spherical shape covering a center 12 in all 360-degree directions. Figure 4 , for the sake of clarity, only the upper half of the celestial sphere of the virtual space 11 is included. Each grid portion is defined in the virtual space 11. The position of each grid portion is predefined as a coordinate value in an XYZ coordinate system, which is a global coordinate system defined in the virtual space 11. The computer 200 associates each partial image forming a panoramic image 13 (e.g., a still image or a moving image) unfolded in the virtual space 11 with each corresponding grid portion in the virtual space 11.

[0082] In at least one aspect, in the virtual space 11, an XYZ coordinate system having a center 12 as an origin is defined. The XYZ coordinate system is, for example, parallel to the real coordinate system. The horizontal direction, the vertical direction (up and down direction), and the front and back directions of the XYZ coordinate system are defined as the X-axis, the Y-axis, and the 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 and back direction) of the XYZ coordinate system is parallel to the Z-axis of the real coordinate system.

[0083] When the HMD 120 is activated, that is, when the HMD 120 is in an initial state, the virtual camera 14 is arranged at the center 12 of the virtual space 11. In at least one aspect, the processor 210 displays an image captured by the virtual camera 14 on the monitor 130 of the HMD 120. In synchronization with the movement of the HMD 120 in the real space, the virtual camera 14 similarly moves in the virtual space 11. With this, changes in the position and direction of the HMD 120 in the real space are similarly reproduced in the virtual space 11.

[0084] Similar to the case of the HMD 120, the uvw field of view coordinate system is defined in the virtual camera 14. The uvw field of view coordinate system of the virtual camera 14 in the virtual space 11 is defined to be synchronized with the uvw field of view coordinate system of the HMD 120 in the real space (real coordinate system). Therefore, when the inclination of the HMD 120 changes, the inclination of the virtual camera 14 also changes synchronously therewith. The virtual camera 14 can also move in the virtual space 11 in synchronization with the movement of the user 5 wearing the HMD 120 in the real space.

[0085] The processor 210 of the computer 200 defines a field of view area 15 in the virtual space 11 based on the position and inclination (reference line of sight 16) of the virtual camera 14. The field of view area 15 corresponds to an area visually recognized by the user 5 wearing the HMD 120 in the virtual space 11. That is, the position of the virtual camera 14 determines the viewpoint of the user 5 in the virtual space 11.

[0086] The line of sight of the user 5 detected by the eye gaze sensor 140 is a direction in the viewpoint coordinate system obtained when the user 5 visually recognizes an object. The uvw field of view coordinate system of the HMD 120 is equal to the viewpoint coordinate system used when the user 5 visually recognizes the monitor 130. The uvw field of view coordinate system of the virtual camera 14 is synchronized with the uvw field of view coordinate system of the HMD 120. Therefore, in the system 100 in at least one aspect, the line of sight of the user 5 detected by the eye gaze sensor 140 can be regarded as the line of sight of the user 5 in the uvw field of view coordinate system of the virtual camera 14.

[0087]

User’s line of sight

[0088] refer to Figure 5 , describes the determination of the line of sight of user 5. Figure 5 is a plan view of the head of the user 5 wearing the HMD 120 according to one embodiment of the present disclosure.

[0089] In at least one aspect, the eye gaze sensor 140 detects the sight lines of the right eye and the left eye of the user 5. In at least one aspect, when the user 5 is looking at a nearby place, the eye gaze sensor 140 detects the sight lines R1 and L1. In at least one aspect, when the user 5 is looking at a distant place, the eye gaze sensor 140 detects the sight lines R2 and L2. In this case, the angle formed by the sight lines R2 and L2 with respect to the roll axis w is smaller than the angle formed by the sight lines R1 and L1 with respect to the roll axis w. The eye gaze sensor 140 transmits the detection result to the computer 200.

[0090] When the computer 200 receives the detection values ​​of the sight lines R1 and L1 from the eye gaze sensor 140 as the detection result of the sight lines, the computer 200 identifies the gaze point N1 at the intersection of the sight lines R1 and L1 based on the detection values. At the same time, when the computer 200 receives the detection values ​​of the sight lines R2 and L2 from the eye gaze sensor 140, the computer 200 identifies the intersection of the sight lines R2 and L2 as the gaze point. The computer 200 identifies the sight line N0 of the user 5 based on the identified gaze point N1. The computer 200 detects, for example, the extension direction of a straight line passing through the gaze point N1 and the midpoint of the straight line connecting the right eye R and the left eye L of the user 5 to each other as the sight line N0. The sight line N0 is the direction in which the user 5 actually points his / her sight with both eyes. The sight line N0 corresponds to the direction in which the user 5 actually points his / her sight relative to the field of view area 15.

[0091] In at least one aspect, the system 100 includes a television broadcast reception tuner. With this configuration, the system 100 is able to display television programs in the virtual space 11.

[0092] In at least one aspect, HMD system 100 includes communications circuitry for connecting to the Internet, or has voice communications capabilities for connecting to a phone line or cellular service.

[0093] [Field of view]

[0094] refer to Figure 6 and Figure 7 , describing the field of view region 15. Figure 6 It is a diagram of a YZ cross section obtained by observing the field of view area 15 from the X direction in the virtual space 11 . Figure 7 It is a diagram of an XZ cross section obtained by observing the field of view area 15 from the Y direction in the virtual space 11 .

[0095] exist Figure 6 , the field of view area 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 the range of the polar angle α from the reference line of sight 16 serving as the center in the virtual space as the area 18.

[0096] exist Figure 7 , the field of view area 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 the range of the azimuth angle β from the reference line of sight 16 serving as the center 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.

[0097] In at least one aspect, the system 100 causes the monitor 130 to display the field of view image 17 based on a signal from the computer 200, thereby providing the user 5 with a field of view in the virtual space 11. The field of view image 17 corresponds to a portion of the panoramic image 13, which corresponds to the field of view area 15. When the user 5 moves the HMD 120 worn on his / her head, the virtual camera 14 also moves in synchronization with the movement. As a result, the position of the field of view area 15 in the virtual space 11 is changed. With this, the field of view image 17 displayed on the monitor 130 is updated to an image of the panoramic image 13, which is superimposed on the field of view area 15 synchronized with the direction in which the user 5 faces in the virtual space 11. The user 5 can visually recognize the desired direction in the virtual space 11.

[0098] In this way, the inclination of the virtual camera 14 corresponds to the line of sight of the user 5 in the virtual space 11 (reference line of sight 16), and the position at which the virtual camera 14 is arranged corresponds to the viewpoint of the user 5 in the virtual space 11. Therefore, by the change in the position or inclination of the virtual camera 14, the image to be displayed on the monitor 130 is updated, and the field of view of the user 5 is moved.

[0099] When the user 5 is wearing the HMD 120 (with the non-transmissive monitor 130), the user 5 can visually recognize only the panoramic image 13 developed in the virtual space 11 without visually recognizing the real world. Therefore, the system 100 provides the user 5 with a high sense of immersion in the virtual space 11.

[0100] In at least one aspect, the processor 210 moves the virtual camera 14 in the virtual space 11 in synchronization with the movement of the user 5 wearing the HMD 120 in the real space. In this case, the processor 210 identifies the image area (field of view area 15) to be projected on the monitor 130 of the HMD 120 based on the position and orientation of the virtual camera 14 in the virtual space 11.

[0101] In at least one aspect, the virtual camera 14 includes two virtual cameras, namely a virtual camera for providing a right eye image and a virtual camera for providing a left eye image. Appropriate parallax is set for the two virtual cameras so that the user 5 can recognize the three-dimensional virtual space 11. In at least one aspect, the virtual camera 14 is implemented by a single virtual camera. In this case, the right eye image and the left eye image can be generated from images acquired by a single virtual camera. In one embodiment, it is assumed that the virtual camera 14 includes two virtual cameras, and the roll axes of the two virtual cameras are synthesized so that the generated roll axis (w) is adapted to the roll axis (w) of the HMD 120.

[0102]

Controller

[0103] An example of the controller 300 is described with reference to Fig. 8(A) and Fig. 8(B). Fig. 8(A) is a diagram of a schematic configuration of a controller according to an embodiment of the present disclosure. Fig. 8(B) is a diagram of a coordinate system to be set for the right hand of a user holding the controller according to an embodiment of the present disclosure.

[0104] As shown in FIG8(A), in one aspect, the controller 300 includes a right controller 300R and a left controller (not shown). The right controller 300R can be operated by the right hand of the user 5. The left controller can be operated by the left hand of the user 5. In at least one aspect, the right controller 300R and the left controller are symmetrically configured as independent devices. Therefore, the user 5 can freely move his or her right hand holding the right controller 300R and his or her left hand holding the left controller. In at least one aspect, the controller 300 can be an integrated controller configured to receive operations performed by both the right hand and the left hand of the user 5. The right controller 300R is now described.

[0105] The right controller 300R includes a handle 310, a bracket 320, and an upper surface 330. The handle 310 is configured to be held by the right hand of the user 5. For example, the handle 310 can be held by the palm and three fingers (e.g., the middle finger, the ring finger, and the little finger) of the right hand of the user 5.

[0106] The handle 310 includes buttons 340 and 350 and a motion sensor 420. The button 340 is arranged on the side surface of the handle 310 and receives an operation performed by, for example, the middle finger of the right hand. The button 350 is arranged on the front surface of the handle 310 and receives an operation performed by, for example, the index finger of the right hand. In at least one aspect, the buttons 340 and 350 are configured as trigger-type buttons. The motion sensor 420 is built into the housing of the handle 310. When the movement of the user 5 can be detected by a camera or other device from the surrounding environment of the user 5, in one embodiment, the handle 310 does not include the motion sensor 420.

[0107] The bracket 320 includes a plurality of infrared LEDs 360 arranged in a circumferential direction of the bracket 320. The infrared LEDs 360 emit infrared rays according to the progress of the program during the execution of the program using the controller 300. The infrared rays emitted from the infrared LEDs 360 can be used to independently detect the position and posture (inclination and direction) of each of the right controller 300R and the left controller. In FIG. 8(A), the infrared LEDs 360 arranged in two rows are shown, but the number of rows arranged is not limited to the number shown in FIG. 8(A).

[0108] The upper surface 330 includes buttons 370 and 380 and an analog stick 390. The buttons 370 and 380 are configured as push-type buttons. The buttons 370 and 380 receive operations performed by the thumb of the right hand of the user 5. In at least one aspect, the analog stick 390 receives operations performed in any direction of 360 degrees from the initial position (middle position). The operations include, for example, operations for moving objects arranged in the virtual space 11.

[0109] In at least one aspect, each of the right controller 300R and the left controller includes a battery for driving the infrared LED 360 and other components. The battery includes, for example, a rechargeable battery, a button battery, a dry cell, but the battery is not limited thereto. In at least one aspect, the right controller 300R and the left controller can be connected to, for example, a USB interface of the computer 200. In one embodiment, the right controller 300R and the left controller do not include a battery.

[0110] 8(A) and 8(B), for example, the yaw direction, the roll direction, and the pitch direction are defined with respect to the right hand of the user 5. The direction of the extended thumb is defined as the yaw direction, the direction of the extended index finger is defined as the roll direction, and the direction perpendicular to the plane is defined as the pitch direction.

[0111] [Server hardware configuration]

[0112] refer to Fig. 9 , describes a server 600 in one embodiment. Fig. 9 6 is a block diagram of a hardware configuration of a server 600 according to an embodiment of the present disclosure. The server 600 includes: a processor 610, a memory 620, a storage device 630, an input / output interface 640, and a communication interface 650. Each component is connected to a bus 660. In one embodiment, at least one of the processor 610, the memory 620, the storage device 630, the input / output interface 640, or the communication interface 650 is part of a separate structure and communicates with other components of the server 600 through a communication path other than the bus 660.

[0113] The processor 610 executes a series of commands included in a program stored in the memory 620 or the storage device 630 based on a signal transmitted to the server 600 or based on the satisfaction of a predetermined condition. In at least one aspect, the processor 610 is implemented as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessing unit (MPU), a field programmable gate array (FPGA), or other devices.

[0114] The memory 620 temporarily stores programs and data. The programs are loaded from, for example, the storage device 630. The data includes data input to the server 600 and data generated by the processor 610. In at least one aspect, the memory 620 is implemented as a random access memory (RAM) or other volatile memory.

[0115] The storage device 630 permanently stores programs and data. The storage device 630 is implemented as, for example, a read-only memory (ROM), a hard disk device, a flash memory, or other non-volatile storage device. The programs stored in the storage device 630 include: a program for providing a virtual space in the system 100, a simulation program, a game program, a user authentication program, and a program for implementing communication to / from other computers 200 or the server 600. The data stored in the storage device 630 may include, for example, data and objects for defining a virtual space.

[0116] In at least one aspect, the storage device 630 is implemented as a removable storage device like a memory card. In at least one aspect, a configuration using programs and data stored in an external storage device is used instead of the storage device 630 built in the server 600. With this configuration, for example, in a case where a plurality of HMD systems 100 are used, such as in an entertainment facility, programs and data are collectively updated.

[0117] The input / output interface 640 allows communication of signals to / from input / output devices. In at least one aspect, the input / output interface 640 is implemented using USB, DVI, HDMI, or other terminals. The input / output interface 640 is not limited to the specific examples described above.

[0118] The communication interface 650 is connected to the network 2 to communicate to / from the computer 200 connected to the network 2. In at least one aspect, the communication interface 650 is implemented as, for example, a LAN, other wired communication interface, Wi-Fi, Bluetooth, NFC, or other wireless communication interface. The communication interface 650 is not limited to the above specific examples.

[0119] In at least one aspect, the processor 610 accesses the storage device 630 and loads one or more programs stored in the storage device 630 to the memory 620 to execute a series of commands included in the program. In one embodiment, the one or more programs include, for example, an operating system of the server 600, an application program for providing a virtual space, and game software executable in the virtual space. In one embodiment, the processor 610 transmits a signal for providing a virtual space to the HMD device 110 to the computer 200 via the input / output interface 640.

[0120] [HMD control device]

[0121] refer to Fig.10 , describes a control device of the HMD 120. According to one embodiment of the present disclosure, the control device is implemented by a computer 200 having a well-known configuration. Fig.10 is a block diagram of a computer 200 according to one embodiment of the present disclosure. Fig.10A module configuration including a computer 200 is included.

[0122] exist Fig.10 , the computer 200 includes: a control module 510, a rendering module 520, a memory module 530, and a communication control module 540. In at least one aspect, the control module 510 and the rendering module 520 are implemented by the processor 210. In at least one aspect, a plurality of processors 210 function as the control module 510 and the rendering module 520. The memory module 530 is implemented by the memory 220 or the storage device 230. The communication control module 540 is implemented by the communication interface 250.

[0123] 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 using virtual space data representing the virtual space 11. The virtual space data is stored in, for example, the memory module 530. In one embodiment, the control module 510 generates the virtual space data. In one embodiment, the control module 510 obtains the virtual space data from, for example, the server 600.

[0124] The control module 510 uses object data representing the objects to arrange the objects in the virtual space 11. The object data is stored in, for example, the memory module 530. In one embodiment, the control module 510 generates the virtual space data. In one embodiment, the control module 510 obtains the virtual space data from, for example, the server 600. In one embodiment, the objects include, for example, an avatar object of the user 5, a character object, an operation object (e.g., a virtual hand to be operated by the controller 300), and forests, mountains, other landscapes, street scenes, or animals to be arranged according to the progress of the game story.

[0125] The control module 510 arranges the avatar object of the user 5 of another computer 200 connected via the network 2 in the virtual space 11. In at least one aspect, the control module 510 arranges the avatar object of the user 5 in the virtual space 11. In at least one aspect, the control module 510 arranges the avatar object simulating the user 5 in the virtual space 11 based on the image including the user 5. In at least one aspect, the control module 510 arranges the avatar object in the virtual space 11, which is selected by the user 5 from among a plurality of types of avatar objects (e.g., an object simulating an animal or an object of a deformed human being).

[0126] The control module 510 recognizes the inclination of the HMD 120 based on the output of the HMD sensor 410. In at least one aspect, the control module 510 recognizes the inclination of the HMD 120 based on the output of the sensor 190 functioning as a motion sensor. The control module 510 detects parts (e.g., a mouth, eyes, and eyebrows) forming the face of the user 5 from the facial image of the user 5 generated by the first camera 150 and the second camera 160. The control module 510 detects the motion (shape) of each detected part.

[0127] The control module 510 detects the line of sight of the user 5 in the virtual space 11 based on the signal from the eye gaze sensor 140. The control module 510 detects the viewpoint position (coordinate value in the XYZ coordinate system) located at the point where the detected line of sight of the user 5 and the celestial sphere of the virtual space 11 intersect each other. 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 at least one aspect, the control module 510 is configured to transmit line of sight information representing the line of sight of the user 5 to the server 600. In this case, the control module 510 can calculate the viewpoint position based on the line of sight information received by the server 600.

[0128] The control module 510 converts the movement of the HMD 120 detected by the HMD sensor 410 into the avatar object. For example, the control module 510 detects the inclination of the HMD 120 and arranges the avatar object in an inclined manner. The control module 510 converts the movement of the detected facial part into the face of the avatar object arranged in the virtual space 11. The control module 510 receives the line of sight information of another user 5 from the server 600, and converts the line of sight information into the line of sight of the avatar object of the other user 5. In at least one aspect, the control module 510 converts the movement of the controller 300 into the avatar object and the operation object. In this case, the controller 300 includes, for example, 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.

[0129] The control module 510 arranges an operation object in the virtual space 11 for receiving an operation performed by the user 5 in the virtual space 11. The user 5 operates the operation object to, for example, operate an object arranged in the virtual space 11. In at least one aspect, the operation object includes, for example, a hand object that acts as a virtual hand corresponding to the hand of the user 5. In at least one aspect, the control module 510 moves the hand object in the virtual space 11 so that the hand object moves in association with the movement of the hand of the user 5 in the real space based on the output of the motion sensor 420. In at least one aspect, the operation object may correspond to a hand portion of an avatar object.

[0130] When an object arranged in the virtual space 11 collides with another object, the control module 510 detects the collision. The control module 510 is capable of detecting, for example, the timing when the collision area of ​​an object and the collision area of ​​another object have contacted each other, and performing predetermined processing in response to the detected timing. In one embodiment, the control module 510 detects the timing when an object and another object in contact with each other have separated from each other, and performs predetermined processing in response to the detected timing. In one embodiment, the control module 510 detects the state in which the object and another object are in contact with each other. For example, when the operating object contacts another object, the control module 510 detects the fact that the operating object has contacted the other object, and performs predetermined processing.

[0131] In at least one aspect, the control module 510 controls the image display of the HMD 120 on the monitor 130. For example, the control module 510 arranges the virtual camera 14 in the virtual space 11. The control module 510 controls the position of the virtual camera 14 and the inclination (direction) of the virtual camera 14 in the virtual space 11. The control module 510 defines the field of view area 15 depending on the inclination of the head of the user 5 wearing the HMD 120 and the position of the virtual camera 14. The rendering module 520 generates the field of view area 17 to be displayed on the monitor 130 based on the determined field of view area 15. The communication control module 540 outputs the field of view area 17 generated by the rendering module 520 to the HMD 120.

[0132] The control module 510, which has detected the speech of the user 5 using the microphone 170 from the HMD 120, identifies the computer 200 to which the voice data corresponding to the speech is to be transmitted. The voice data is transmitted to the computer 200 identified by the control module 510. The control module 510, which has received the voice data from the computer 200 of another user via the network 2, outputs audio information (speech) corresponding to the voice data from the speaker 180.

[0133] Memory module 530 stores data to be used by computer 200 to provide virtual space 11 to user 5. In at least one aspect, memory module 530 stores space information, object information, and user information.

[0134] The space information store is defined to provide one or more templates of the virtual space 11 .

[0135] The object information stores a plurality of panoramic images 13 forming the virtual space 11 and object data for arranging objects in the virtual space 11. In one embodiment, the panoramic image 13 includes a still image and / or a moving image. In one embodiment, the panoramic image 13 includes an image in a non-real space and / or an image in a real space. An example of an image in a non-real space is an image generated by computer graphics.

[0136] The user information stores a user ID for identifying the user 5. The user ID is, for example, an Internet Protocol (IP) address or a Media Access Control (MAC) address of the computer 200 set to be used by the user. In at least one aspect, the user ID is set by the user. The user information stores, for example, a program for causing the computer 200 to function as a control device of the HMD system 100.

[0137] 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 a program or data from a computer (eg, the server 600) managed by a commercial operator providing content, and stores the downloaded program or data in the memory module 530.

[0138] In one embodiment, the communication control module 540 communicates to / from the server 600 or other information communication devices via the network 2.

[0139] In at least one aspect, the control module 510 and the rendering module 520 are implemented by, for example, Unity(R) provided by Unity Technologies. In at least one aspect, the control module 510 and the rendering module 520 are implemented by combining circuit elements for implementing each processing step.

[0140] The processing performed in the computer 200 is implemented by hardware and software executed by the processor 410. In one embodiment, the software is pre-stored on a hard disk or other memory module 530. In one embodiment, the software is stored on a CD-ROM or other computer-readable non-volatile data recording medium and is released as a program product. In one embodiment, the software can be provided as a program product that can be downloaded by an information provider connected to the Internet or other network. Such software is read from a data recording medium by an optical disk drive device or other data reading device, or downloaded from a server 600 or other computer via a communication control module 540, and then temporarily stored in a storage device module. The software is read from the storage device module by the processor 210 and stored in the RAM in the format of an executable program. The processor 210 executes the program.

[0141]

Control structure of HMD system

[0142] refer to Fig.11 , which describes the control structure of the HMD set 110. Fig.11 is a sequence diagram of a process to be performed by the system 100 according to one embodiment of the present disclosure.

[0143] exist Fig.11 In step S1110 , the processor 210 of the computer 200 functions as the control module 510 to identify the virtual space data and define the virtual space 11 .

[0144] In step S1120, the processor 210 initializes the virtual camera 14. For example, in the work area of ​​the memory, the processor 210 arranges the virtual camera 14 at the predefined center 12 in the virtual space 11, and matches the line of sight of the virtual camera 14 with the direction the user 5 faces.

[0145] In step S1130 , the processor 210 functions as the rendering module 520 to generate field of view image data for displaying the initial field of view image. The generated field of view image data is output to the HMD 120 by the communication control module 540 .

[0146] In step S1132, the monitor 130 of the HMD 120 displays the 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 through visual recognition of the field of view image.

[0147] In step S1134, the HMD sensor 410 detects the position and inclination of the HMD 120 based on a plurality of infrared rays emitted from the HMD 120. The detection result is output to the computer 200 as motion detection data.

[0148] In step S1140 , the processor 210 recognizes the field of view direction of the user 5 wearing the HMD 120 based on the position and the inclination included in the motion detection data of the HMD 120 .

[0149] In step S1150 , the processor 210 executes the application program, and arranges objects in the virtual space 11 based on commands included in the application program.

[0150] In step S1160, the controller 300 detects an operation performed by the user 5 based on the signal output from the motion sensor 420, and outputs detection data representing the detected operation to the computer 200. In at least one aspect, the operation performed by the user 5 on the controller 300 is detected based on images from a camera arranged around the user 5.

[0151] In step S1170 , the processor 210 detects an operation of the controller 300 by the user 5 based on the detection data acquired from the controller 300 .

[0152] In step S1180, the processor 210 generates visual field image data based on the operation of the controller 300 by the user 5. The generated visual field image data is output to the HMD 120 by the communication control module 540.

[0153] 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 .

[0154]

Avatar Object

[0155] Referring to FIG. 12(A) and FIG. 12(B), an avatar object according to an embodiment is described. They are diagrams of an avatar object corresponding to user 5 of HMD sets 110A and 110B. Hereinafter, a user of HMD set 110A, a user of HMD set 110B, a user of HMD set 110C, and a user of HMD set 110D are referred to as "user 5A", "user 5B", "user 5C", and "user 5D", respectively. The reference number of each component related to HMD set 110A, the reference number of each component related to HMD set 110B, the reference number of each component related to HMD set 110C, and the reference number of each component related to HMD set 110D are respectively appended with A, B, C, and D. For example, HMD 120A is included in HMD set 110A.

[0156] FIG. 12(A) is a schematic diagram of an HMD system in which each HMD 120 provides a virtual space 11 for a user 5. Computers 200A to 200D provide virtual spaces 11A to 11D for users 5A to 5D via HMDs 120A to 120D, respectively. In FIG. 12(A), virtual space 11A and virtual space 11B are formed by the same data. In other words, computer 200A and computer 200B share the same virtual space. Avatar object 6A of user 5A and avatar object 6B of user 5B exist in virtual space 11A and virtual space 11B. Avatar object 6A in virtual space 11A and avatar object 6B in virtual space 11B each wear HMD 120. However, HMD 120A and HMD 120B are included only for the sake of simplifying the description, and the avatars do not wear HMD 120A and HMD 120B in virtual spaces 11A and 11B, respectively.

[0157] In at least one aspect, processor 210A arranges virtual camera 14A to capture field of view area 17A of user 5A at the location of the eyes of avatar object 6A.

[0158] FIG. 12(B) is a diagram of the field of view of an HMD according to one embodiment of the present disclosure. FIG. 12(B) corresponds to the field of view area 17A of the user 5A in FIG. 12(A). The field of view area 17A is an image displayed on the monitor 130A of the HMD 120A. The field of view area 17A is an image generated by the virtual camera 14A. The avatar object 6B of the user 5B is displayed in the field of view area 17A. Although not included in FIG. 12(B), the avatar object 6A of the user 5A is displayed in the field of view image of the user 5B.

[0159] In the arrangement of FIG12(B), user 5A can communicate to / from user 5B via virtual space 11A by conversation. More specifically, the voice of user 5A acquired by microphone 170A is transmitted to HMD 120B of user 5B via server 600, and is output from speaker 180B provided on HMD 120B. The voice of user 5B is transmitted to HMD 120A of user 5A via server 600, and is output from speaker 180A provided on HMD 120A.

[0160] The processor 210A converts the operation performed by the user 5B (the operation of the HMD 120B and the operation of the controller 300B) into the avatar object 6B arranged in the virtual space 11A. With this, the user 5A can recognize the operation of the user 5B through the avatar object 6B.

[0161] Fig.13 is a sequence diagram of a process to be performed by the system 100 according to one embodiment of the present disclosure. Fig.13 , although the HMD set 110D is not included, the HMD set 110D operates in a similar manner to the HMD sets 110A, 110B, and 110C. Also in the following description, the reference numerals of each component related to the HMD set 110A, the reference numerals of each component related to the HMD set 110B, the reference numerals of each component related to the HMD set 110C, and the reference numerals of each component related to the HMD set 110D are appended with A, B, C, and D, respectively.

[0162] In step S1310A, the processor 210A of the HMD set 110A acquires avatar information for determining the movement of the avatar object 6A in the virtual space 11A. The avatar information contains information about the avatar, such as movement information, facial tracking data, and sound data. The movement information contains, for example, information about the temporal change of the position and inclination of the HMD 120A and information about the hand movement of the user 5A, which is detected by, for example, the motion sensor 420A. An example of facial tracking data is data identifying the position and size of each part of the face of the user 5A. Another example of facial tracking data is data representing the movement of the parts forming the face of the user 5A and line of sight data. An example of sound data is data representing the voice of the user 5A acquired by the microphone 170A of the HMD 120A. In one embodiment, the avatar information contains information identifying the avatar object 6A or the user 5A associated with the avatar object 6A, or information identifying the virtual space 11A accommodating the avatar object 6A. An example of information identifying the avatar object 6A or the user 5A is a user ID. An example of information identifying the virtual space 11A accommodating the avatar object 6A is a room ID. The processor 210A transmits the avatar information acquired as described above to the server 600 via the network 2.

[0163] In step S1310B, the processor 210B of the HMD set 110B acquires avatar information for determining the movement of the avatar object 6B in the virtual space 11B, and transmits the avatar information to the server 600, similar to the process of step S1310A. Similarly, in step S1310C, the processor 210C of the HMD set 110C acquires avatar information for determining the movement of the avatar object 6C in the virtual space 11C, and transmits the avatar information to the server 600.

[0164] In step S1320, the server 600 temporarily stores the multiple pieces of player information received from the HMD set 110A, the HMD set 110B, and the HMD set 110C, respectively. The server 600 integrates the multiple pieces of avatar information of all users (in this example, users 5A to 5C) associated with the common virtual space 11 based on, for example, the user ID and the room ID contained in the corresponding multiple pieces of avatar information. Then, the server 600 transmits the integrated multiple pieces of avatar information to all users associated with the virtual space 11 within a predetermined timing. In this way, synchronization processing is performed. Such synchronization processing enables the HMD set 110A, the HMD set 110B, and the HMD set 110C to share each other's avatar information within substantially the same timing.

[0165] Next, the HMD sets 110A to 110C respectively perform the processing of step S1330A to step S1330C based on the integrated multiple pieces of avatar information transmitted from the server 600 to the HMD sets 110A to 110C. The processing of step S1330A corresponds to Fig.11 Processing of step S1180.

[0166] In step S1330A, the processor 210A of the HMD set 110A updates information about the avatar object 6B and the avatar object 6C of the other users 5B and 5C in the virtual space 11A. Specifically, the processor 210A updates, for example, the position and direction of the avatar object 6B in the virtual space 11A based on the motion information included in the avatar information transmitted from the HMD set 110B. For example, the processor 210A updates the information (for example, the position and direction) about the avatar object 6B included in the object information stored in the storage module 530. Similarly, the processor 210A updates the information (for example, the position and direction) 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.

[0167] In step S1330B, similar to the processing of step S1330A, the processor 210B of the HMD set 110B updates the information about the avatar object 6A and the avatar object 6C of the users 5A and 5C in the virtual space 11B. Similarly, in step S1330C, the processor 210C of the HMD set 110C updates the information about the avatar object 6A and the avatar object 6B of the users 5A and 5B in the virtual space 11C.

[0168] [Detailed configuration of the module]

[0169] Will refer to Fig.14 , describes the details of the module configuration of the computer 200. Fig.14is a block diagram of a detailed configuration of modules of the computer 200 according to one embodiment of the present disclosure.

[0170] like Fig.14 As shown, the control module 510 includes a virtual camera control module 1421, a field of view area determination module 1422, a reference line of sight recognition module 1423, a virtual space definition module 1424, a virtual object generation module 1425, an operation object control module 1426, a browsing module 1427 and an application module 1428. The rendering module 520 includes a field of view image generation module 1438. The memory module 530 stores space information 1431 and user information 1432.

[0171] The virtual camera control module 1421 arranges the virtual camera 14 in the virtual space 11. The virtual camera control module 1421 controls the arrangement position of the virtual camera 14 in the virtual space 11 and the direction (tilt) of the virtual camera 14. The field of view area determination module 1422 defines the field of view area 15 according to the head direction of the user 5 wearing the HMD 120 and the arrangement 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.

[0172] The reference line of sight recognition module 1423 recognizes the line of sight of the user 5 based on the signal from the eye gaze sensor 140. The virtual space definition module 1424 defines the virtual space 11 in the HMD system 100 by generating virtual space data representing the virtual space 11. The virtual object generation module 1425 generates an object to be arranged in the virtual space 11.

[0173] The operation object control module 1426 arranges the operation object in the virtual space 11 for receiving the operation of the user 5 in the virtual space 11. The user 5 operates the operation object to operate, for example, an object to be arranged in the virtual space 11. In at least one aspect, the operation object includes, for example, a hand object corresponding to the hand of the user 5 wearing the HMD 120. In at least one aspect, the operation object may correspond to a hand portion of an avatar object to be described later.

[0174] The browsing module 1427 enables web browsing in the virtual space 11. In at least one aspect, the browsing module 1427 arranges a web browser (hereinafter, also referred to as a browser window) in the virtual space 11. In at least one aspect, the browsing module 1427 arranges a menu window for receiving operations of the user 5 related to web browsing in the virtual space 11. For example, when the user 5 enters a URL on the browser window or the menu window, the browsing module receives an information resource from a server corresponding to the URL, and provides an image based on the information resource in the browser window. In at least one aspect, when the information resource indicates 360-degree web content, the browsing module 1427 provides an image based on the information resource as 360-degree web content unfolded in the virtual space 11 or another virtual space.

[0175] The application module 1428 is different from an application for web browsing, and has a function of executing a dedicated application for viewing VR content (hereinafter, also referred to as a VR application). In at least one aspect, the VR application executed by the application module 1428 can provide a screen for selecting a moving image content to be reproduced from one or more moving image contents as 360-degree content unfolded in a virtual space. Such a VR application can be distributed on a platform (PF) such as the HMD 120.

[0176] When each of the objects arranged in the virtual space 11 collides with another object, the control module 510 detects the collision. For example, the control module 510 can detect the timing when a certain object and another object are in contact with each other, and execute a predetermined process when the timing is detected. The control module 510 can detect the timing when an object and another object are separated from a contact state, and execute a predetermined process when the timing is detected. The control module 510 can detect that an object and another object are in contact with each other. Specifically, when an operating object and another object are in contact with each other, the control module 510 detects that the operating object and another object are in contact with each other, and executes a predetermined process.

[0177] The memory module 530 stores data used by the computer 200 to provide the virtual space 11 for the user 5. In at least one aspect, the memory module 530 stores space information 1431 and user information 1432.

[0178] The space information 1431 is saved as one or more templates that provide a definition of the virtual space 11. The space information 1431 may include information about objects arranged in the virtual space 11.

[0179] The user information 1432 stores a program for causing the computer 200 to function as a control device of the HMD system 100 , a program for causing the browsing module 1427 and the application module 1428 to function, and the like.

[0180]

Operation processing

[0181] Next, we will refer to Figures 15 to 22 The operation process of the computer 200 according to the present embodiment is described. In the following description, "360-degree content" refers to VR content in which the user 5 can freely change the viewpoint in the virtual space by changing the position, inclination, and the like of the HMD 120, for example, and is preferably provided as a virtual space including a space image unfolded at a predetermined angle (for example, 180 degrees and 360 degrees), and more preferably provided as a virtual space including a 360-degree space image. In the virtual space including the 360-degree space image, the virtual camera is arranged at the center position of the virtual space, and the 360-degree space image is displayed on the surface of the virtual space.

[0182] “360-degree moving image content” refers to, for example, moving image content provided in a virtual space including a spatial image unfolded at a predetermined angle, and preferably, moving image content provided in a virtual space including a 360-degree spatial image. “360-degree web page content” refers to, for example, web page content provided in a virtual space including a spatial image unfolded at a predetermined angle, and preferably, provided in a virtual space including a 360-degree spatial image. On the other hand, simply speaking, “web page content” refers to, for example, web page content provided in a limited area (such as a browser window arranged in a virtual space).

[0183] First, as a premise, the processor 210 of the computer 200 can execute a VR application as a control module 510. When executing the VR application, for example, the processor 210 generates a main screen of the VR application in a virtual space including a 360-degree spatial image. The main screen includes, for example, a selection screen for selecting a moving image content to be reproduced from one or more moving image contents, or can be converted to a selection screen for selecting a moving image content to be reproduced from one or more moving image contents according to the operation input of the user 5, or a selection screen that satisfies both. When the user 5 selects a moving image content on the selection screen, the processor 210 can reproduce, for example, the selected moving image content as 360-degree moving image content, and can provide the reproduced image to the HMD 120.

[0184] When using a VR application, since the VR application can be provided as 360-degree content from the stage of the main screen, the VR application is excellent from the perspective of improving the user's immersion. On the other hand, the moving image content provided by the VR application is only the content allowed by the PF provider of the HMD 120. The publisher of the moving image content does not always publish all the moving image content expected to be published by the VR application, and it is also impossible for the user to observe all the moving image content distributed by the VR application on the network or the like.

[0185] In the related art, moving image content distributed on the network can be viewed using a VR web browser on the HMD 120. However, in the mode of the related art, since the selection of moving image content is performed in a browser window or the like arranged in a virtual space, the sense of immersion is lost compared to the case of using a VR application. The following disclosure contributes to improving such a problem and relates to viewing VR content using a web browser.

[0186] Fig.15 is a flowchart of an example of an operation process executed in the computer 200 according to one embodiment of the present disclosure.

[0187] like Fig.15 As shown, in step S1510, the processor 210 of the computer 200 serving as the control module 510 recognizes virtual space data and defines a virtual space. The defined virtual space is provided to the HMD 120. The virtual space defined in step S1510 is a virtual space including a space image expanded at a predetermined angle (e.g., 180 degrees and 360 degrees). In the following description, a virtual space including a 360-degree space image will be described.

[0188] In step S1520, the processor 210 arranges the browser window in the virtual space defined in step S1510. The browser window may be arranged, for example, according to an operation performed by the user 5 to execute the web browser, or may be arranged as an initial object to be arranged in the virtual space when the virtual space is defined in step S1510.

[0189] Simultaneously with step S1520, the processor 210 may arrange in the virtual space a menu object that displays an operation menu when web browsing is performed, and an information display object that displays supplementary information, advertising information, etc. related to web page content displayed in the browser window.

[0190] In step S1530, the processor 210 receives an access request to a URL address. In at least one aspect, in step S1530, an access request to a URL address specifying a server providing VR mobile image content is received. In the following description, in step S1530, it is assumed that there is an access request to a server providing VR mobile image content.

[0191] The access request is performed based on, for example, an operation input by the user 5. The processor 210 accesses the designated server based on the access request, and acquires information resources such as a home screen (home page) for expanding web page contents provided by the server in a browser window.

[0192] In step S1540, the processor 210 provides web page content in the browser window based on the acquired information resource. The web page content provided in step S1540 includes a web page screen for selecting a moving image content to be reproduced from one or more moving image contents.

[0193] In step S1550, when the user does not perform the first operation input (No in step S1550), the processor 210 continues to provide the web page content in the browser window and proceeds to a series of processes of steps S1560, S1570 and S1580. This series of processes will be described in detail later.

[0194] Here, the first operation input is an operation input for proceeding to step S1541. The first operation input is not particularly limited, and examples thereof include a predetermined operation input to the controller 300 and an operation input for virtually pressing a virtual button.

[0195] In step S1550, when the first operation input is performed by the user ("YES" in step S1550), the processor 210 proceeds to step S1541.

[0196] In step S1541, the processor 210 provides the HMD 120 with 360-degree web page content unfolded in a virtual space including a 360-degree space image, instead of the web page content provided in the browser window 1621. Specifically, when the first operation input is performed, the processor 210 establishes a communication connection with the server and acquires information resources for providing the 360-degree web page content to the HMD 120. The processor 210 provides the 360-degree web page content to the HMD 120 based on the information resources. The 360-degree web page content provided in step S1541 corresponds to the web page content provided in step S1540, and includes a web page screen for selecting a moving image content to be reproduced from one or more moving image contents.

[0197] In the following, reference will be made to Fig.16 and17 as well as Figures 18 to 20 The difference between the web page content provided in S1540 and the 360-degree web page content provided in S1541 is described in detail.

[0198] Fig.16 15 is a schematic diagram of an example of a virtual space 1611 according to one embodiment of the present disclosure, and specifically, is a schematic diagram of the virtual space 1611 provided to the HMD 120 in the process of step S1540. Fig.17 The diagram shows the Fig.16 Schematic diagram of the XZ cross section of the virtual space 1611 shown in .

[0199] like Fig.16 and 17 As shown, a browser window 1621 , a menu object 1623 , an information display object 1624 , and a virtual camera 1614 are arranged in a virtual space 1611 .

[0200] The web page content provided from the server is displayed in the browser window 1621. Specifically, a web page screen for the user to select a desired moving image content to be reproduced from the moving image content distributed by the server is displayed. Fig.16 In the example of FIG. 1 , six ( 1622 a to 1622 f ) moving image contents 1622 are displayed in a browser window 1621. The moving image contents 1622 include, for example, a thumbnail of each moving image content.

[0201] The shape or the like of the browser window 1621 is not particularly limited. For example, the browser window is usually as follows Fig.16 and 17 Therefore, the web page screen for selecting the moving image content is only displayed in a flat manner. Fig.17 , the dotted line extending from the virtual camera 1614 indicates the field of view area of ​​the user 5.

[0202] In the menu object 1623, an operation menu for web page browsing is displayed. For example, when the user performs an operation input on the menu object 1623, the display content in the browser window 1621 is changed. Fig.16 In the example of , there are three menu objects 1623a to 1623c, and different operation menus are displayed for the menu objects 1623a to 1623c, respectively. The menu object 1623 may be combined with the browser window 1621, or may be arranged so as to be superimposed on the browser window 1621.

[0203] Predetermined information is displayed in the information display object 1624. Examples of the predetermined information include, but are not particularly limited to, supplementary information related to the moving image content 1622 displayed in the browser window 1621. Fig.16 In the example of , for example, information related to the moving image content 1622 b on the line of sight L of the virtual camera 1614 may be displayed. The information display object 1624 may be combined with the browser window 1621 or may be arranged so as to be superimposed on the browser window 1621.

[0204] A first operation button 1625 is displayed in the lower right portion of the browser window 1621. When an operation input for selecting the first operation button 1625 is performed by the user 5, the process of step S1541 described above is performed, and the web page content provided in the browser window 1621 is provided to the HMD 120 as 360-degree web page content expanded in a virtual space including a 360-degree space image.

[0205] Fig.18 154 is a schematic diagram of an example of a virtual space 1811 according to an embodiment of the present disclosure, and specifically, is a schematic diagram of the virtual space 1811 provided to the HMD 120 in the process of step S1541. Fig.19 The diagram shows the Fig.18 A schematic diagram of an XZ cross section of the virtual space 1811 is shown. Fig. 20 yes Fig.18 Schematic diagram of the field of view image 2017 of user 5.

[0206] like Fig.18 and Fig.19 As shown, a plurality of moving image contents 1822 (including moving image contents 1822a to 1822h) and a virtual camera 1814 are arranged in a virtual space 1811. The virtual space 1811 and the virtual camera 1814 may be the same as or different from the virtual space 1611 and the virtual camera 1614, respectively. The shape of the virtual space 1811 is not particularly limited, and is, for example, a hemispherical shape or a celestial sphere. Fig.19 , the dotted line extending from the virtual camera 1814 indicates the field of view area of ​​the user 5.

[0207] The plurality of moving image contents 1822 are expanded into 360-degree web page contents in the virtual space 1811. The plurality of moving image contents 1822 are arranged along the outer edge of the virtual space 1811. Among the plurality of moving image contents 1822, the moving image contents 1822a to 1822f respectively indicate the 360-degree web page contents. Fig.16That is, the selection screen provided as the web page content in step S1540 and the selection screen provided as the 360-degree web page content in step S1541 correspond to each other.

[0208] However, even if the selection screens correspond to each other, when the selection screens are provided as 360-degree web page content, one or more effects described below can be expected, which are difficult to obtain when the selection screens are provided as web page content.

[0209] The first effect is, for example, an improvement in operability for users. When the selection screen is provided as web page content, the selection screen is displayed in the browser window, however the selection screen (e.g., the home screen) is not optimized for the VR browser window, so it is often difficult for users to use. On the other hand, when the selection screen is provided as 360-degree web page content, the limitation of displaying the selection screen in the browser window can be eliminated, so the selection screen can be provided in a manner that is easy for users to use.

[0210] For example, in which user 5 is provided Fig. 20 In the state of the field of view image 2017 shown, the user 5 can adapt the moving image content (for example, the moving image content 1822h) arranged on the left side of the moving image content 1822g to the field of view image 2017 by simply moving the head so that the head rotates leftward around the yaw axis. On the other hand, when the selection screen is displayed in the browser window 1621, even if the user 5 moves his / her head, the selection screen displayed in the browser window 1621 is not changed. In order to change the content displayed in the browser window 1621, for example, it is necessary to operate the menu object 1623 or the controller 300.

[0211] The second effect is, for example, an improvement in the sense of immersion in a virtual space. When the selection screen is provided as web page content, even if the selection screen (e.g., the main screen) is optimized for a VR browser window, the selection screen is displayed only on a flat browser window. Therefore, the sense of immersion unique to VR cannot be obtained. On the other hand, when the selection screen is provided as 360-degree web page content, the selection can be performed from the stage of selecting moving image content (e.g., the stage of displaying the main screen) in a virtual space unfolded in 360 degrees, as in the above-mentioned VR application. As a result, the sense of immersion in the virtual space can be increased.

[0212] When the selection screen is provided as 360-degree web page content, preferably, the arrangement pattern of the one or more moving image contents to be selected corresponds to (e.g., is similar to or the same as) the arrangement pattern on the selection screen provided by the VR application. Through such a configuration, the user can obtain a sense of use and immersion similar to that when using the VR application.

[0213] In the case of a VR web browser, since an application programming interface (API) is not optimized, it is difficult to create content such as a VR application by using an API prepared by a PF provider because the processing load is too large. Therefore, in order to implement a content selection screen (such as a home screen) as a 360-degree spatial image, it is preferable to use a technology of a low layer (such as a language) of a layer closer to the hardware side, rather than using an API prepared by a PF provider.

[0214] Preferably, based on the user's operation input, the state in which the selection screen is provided as 360-degree web page content can be changed to the state in which the selection screen is provided as web page content. According to this aspect, for example, the content in the browser window 1621 can be selected in response to the user's request because a sign of VR motion sickness is seen.

[0215] Return to Fig.15 After step S1541, in step S1561, the processor 210 receives a selection of the moving image content 1622 to be reproduced on the 360-degree web page content. The selection of the moving image content 1622 in step S1561 is performed, for example, by the user 5 stopping his / her sight on any one of the moving image contents 1622 desired to be reproduced for a predetermined time or longer, or by an operation input to the controller 300 or the like.

[0216] After step S1561, in step S1571, the processor 210 reproduces the 360-degree moving image content, expands the reproduced image into the virtual space as a 360-degree space image, and provides the virtual space image to the HMD 120. Specifically, the processor 210 acquires information resources for providing the HMD 120 with the selected moving image content as the 360-degree moving image content from the server, and provides the HMD 120 with the selected moving image content based on the acquired information resources.

[0217] Fig.21 is a schematic diagram of an XZ cross section obtained by observing the virtual space according to the embodiment of the present disclosure from the Y-axis direction, and specifically, Fig.21 21 is a schematic diagram of a virtual space 2111 provided to the HMD 120 in the process of step S1561.

[0218] like Fig.21As shown, in the virtual space 2111, a virtual camera 2114 is arranged, and a panoramic image 2113 is unfolded along the outer edge of the virtual space 2111. The line of sight of the virtual camera 2114 is interlocked with the movement of the head of the user 5. With such a configuration, intuitive operability and a high degree of immersion can be provided to the user even when viewing moving image content through web browsing.

[0219] In this embodiment, a series of processes of steps S1541, S1561, and S1571 are continuously performed in a virtual space including a 360-degree spatial image. Therefore, even when viewing moving image content through a VR web browser, the user can obtain a high sense of immersion from the stage of selecting moving image content, and can enjoy the moving image content while maintaining the sense of immersion.

[0220] Hereinafter, a series of processes in the case of No in step S1550 will be described. In step S1560, the processor 210 receives a selection of the moving image content 1622 to be reproduced on the browser window 1621. The selection of the moving image content 1622 in step S1560 is performed by, for example, an operation input to the controller 300 or the like.

[0221] After step S1560, in step S1570, the processor 210 reproduces the moving image content and displays the reproduced image in the browser window 1621. Specifically, the processor 210 acquires information resources for displaying the selected moving image content in the browser window 1621 from the server, and displays the moving image content in the browser window 1621 based on the acquired information resources.

[0222] In step S1580, for example, when the user does not perform the second operation input ("No" in step S1580), the processor 210 continues the process of step S1570 until the condition for ending the reproduction of the moving image content is satisfied.

[0223] Here, the second operation input is an operation input for proceeding to step S1571. The second operation input is not particularly limited, and examples thereof include a predetermined operation input to the controller 300 and an operation input for virtually pressing a virtual button.

[0224] On the other hand, when the user performs the second operation input in step S1580 ("Yes" in step S1580), the processor 210 proceeds to the above-mentioned step S1571. For example, in the case where the moving image content 1622 is reproduced in the browser window 1621 in step S1570, step S1580 is performed.

[0225] Fig. 2215 is a schematic diagram of an example virtual space 1611 according to one embodiment of the present disclosure, and specifically, is a schematic diagram of the virtual space 1611 provided to the HMD 120 in the process of step S1570.

[0226] like Fig. 22 As shown, a browser window 1621 , a menu object 1623 , an information display object 1624 , and a virtual camera 1614 are arranged in a virtual space 1611 .

[0227] In the browser window 1621, an image of the moving image content 2222b selected as a reproduction target by the user 5 is displayed. The moving image content 2222b is, for example, a video corresponding to Fig.16 The moving image content 1622b is the moving image content.

[0228] The second operation button 2226 is displayed in the lower right portion of the browser window 1621. When an operation input for selecting the second operation button 2226 is performed by the user 5, the process of step S1571 described above is performed, and the moving image content 2222b reproduced in the browser window 1621 is expanded into a 360-degree spatial image in the virtual space and provided to the HMD 120.

[0229] As mentioned above, in Fig. 22 In the example of , although the HMD 120 observes the moving image content 2222b, the moving image content 2222b is only displayed in the flat web browser 1611, and thus it is difficult to obtain the immersive feeling unique to VR. However, when the second operation button 2226 is virtually pressed, the reproduced moving image content 2222b can be expanded into a 360-degree spatial image in the virtual space. Therefore, even when observing the moving image content through web browsing, the user can obtain a high degree of immersion.

[0230] Preferably, the state in which the moving image is provided as 360-degree moving image content can be changed to a state in which the moving image is provided in the browser window based on the user's operation input. According to this aspect, for example, it is possible to respond to a user's request to observe the content in the browser window 1621 due to seeing a sign of VR motion sickness.

[0231] The above embodiments are merely examples to facilitate understanding of the present invention and should not be construed as limiting the present invention. Needless to say, the present invention can be modified and improved without departing from its gist, and the present invention includes its equivalents.

[0232] In the above embodiments, a virtual space (VR space) in which a user is immersed through an HMD has been described as an example, however, a transmissive HMD may be used as an HMD. In this case, a virtual experience in an augmented reality (AR) space or a mixed reality (MR) space may be provided to the user by outputting a field of view image in which a portion of the image constituting the virtual space is combined with a real space visually recognized by the user via a transmissive HMD. In this case, the action of the target object may be generated in the virtual space based on the movement of the user's hand rather than the operation object. Specifically, the processor may identify the coordinate information of the user's hand position in the real space, and define the position of the target object in the virtual space relative to the coordinate information in the real space. In this way, the processor grasps the positional relationship between the user's hand in the real space and the target object in the virtual space, and may perform the above-mentioned collision control or the like corresponding to the user's hand and the target object. As a result, the action may be applied to the target object based on the movement of the user's hand.

[0233]

Supplementary Notes

[0234] The contents of this disclosure are listed below.

[0235] (Claim 1)

[0236] A program executed by a computer including a processor, the program causing the processor to execute: the steps of defining a virtual space including a web browser; providing web content on the web browser based on access to a uniform resource locator (URL) address; providing the web content displayed on the web browser as 360-degree web content unfolded in the virtual space based on a first operation input of a user; controlling the field of view from a virtual camera arranged in the virtual space according to movement of the user's head; and displaying a field of view image corresponding to the field of view on an image display device associated with the user's head, wherein the web content and the 360-degree web content are web screens for selecting moving image content to be reproduced from one or more moving image content.

[0237] In this way, the user's sense of immersion can be improved when applying virtual reality content by using a web browser.

[0238] (Claim 2)

[0239] A program according to claim 1, wherein the program further causes the processor to execute: when moving image content to be reproduced is selected on the 360-degree web page content, the step of reproducing the selected moving image content as 360-degree moving image content unfolded in a virtual space.

[0240] In this way, it is possible to convert from 360-degree web page content to 360-degree moving image content. As a result, when VR content is applied by using a web browser, the user's immersion can be further improved.

[0241] (Claim 3)

[0242] The program according to claim 1 or 2, wherein the first operation input is an operation of selecting a first virtual button arranged on the web page content.

[0243] In this way, users can receive 360-degree web content through one operation, so the convenience of users can be improved. In addition, since the time required to provide 360-degree web content is shortened, the user's immersion is also improved when applying VR content by using a web browser.

[0244] (Claim 4)

[0245] A program according to any one of claims 1 to 3, wherein the program further causes the processor to execute: when a moving image content to be reproduced is selected on a web page content, a step of reproducing the selected moving image content on a web browser; and based on a second operation input from a user, a step of reproducing the moving image content being reproduced on the web browser as 360-degree moving image content unfolded in a virtual space.

[0246] In this way, when virtual reality content is applied by using a web browser, the user's immersion can be improved, and various usage modes can be provided to the user, such as selecting content on the web browser and observing moving images as 360-degree content.

[0247] (Claim 5)

[0248] The program according to claim 4, wherein the second operation input is an operation of selecting a second virtual button arranged on the web page content.

[0249] In this way, the user can receive 360-degree moving image content through one operation, so the user's convenience can be improved. In addition, since the time required to provide 360-degree moving image content is shortened, the user's immersion is also improved when applying VR content by using a web browser.

[0250] (Claim 6)

[0251] A program according to any one of claims 1 to 5, wherein the computer has a predetermined application function different from a web browser; wherein the computer is configured to provide a screen for selecting moving image content to be reproduced from one or more moving image content as 360-degree content unfolded in a virtual environment in accordance with the execution of the application function; and wherein an arrangement pattern of the one or more moving image content selected on a web page screen provided as the 360-degree web page content corresponds to an arrangement pattern of the one or more moving image content selected on a screen provided in accordance with the execution of the application function.

[0252] In this way, you can enjoy the use of content using a web browser with the same sense of use as a VR application. For example, even when some content is not provided on a VR application but on the web, users can get the same sense of use and immersion as when using a VR application.

[0253] (Claim 7)

[0254] An information processing method executed in a computer including a processor, the information processing method including causing the processor to execute: the steps of defining a virtual space including a web browser; providing web content on the web browser based on access to a uniform resource locator (URL) address; providing the web content displayed on the web browser as 360-degree web content unfolded in the virtual space based on a first operation input of a user; controlling the field of view from a virtual camera arranged in the virtual space according to movement of the user's head; and displaying a field of view image corresponding to the field of view on an image display device associated with the user's head, wherein the web content and the 360-degree web content are web screens for selecting moving image content to be reproduced from one or more moving image content.

[0255] In this way, when VR content is applied by using a web browser, the user's immersion can be improved.

[0256] (Claim 8)

[0257] An information processing device including a processor, wherein the processor is configured to: define a virtual space including a web browser; provide web content on the web browser based on access to a uniform resource locator (URL) address; provide the web content displayed on the web browser as 360-degree web content unfolded in the virtual space based on a first operation input by a user; control the field of view from a virtual camera arranged in the virtual space according to movement of the user's head; and display a field of view image corresponding to the field of view on an image display device associated with the user's head, and wherein the web content and the 360-degree web content are web screens for selecting moving image content to be reproduced from one or more moving image content.

[0258] In this way, when VR content is applied by using a web browser, the user's immersion can be improved.

[0259] This application is based on the Japanese patent application (patent application number 2019-118918) filed on June 26, 2019, and the contents thereof are incorporated herein by reference.

[0260] Reference Symbols List

[0261] 2: Network

[0262] 11, 1611, 1811, 2111: Virtual Space

[0263] 14, 14A, 1614, 1814, 2114: Virtual Camera

[0264] 17, 17A, 2017: Field of view images

[0265] 100: HMD system

[0266] 110, 110A, 110B, 110C, 110D: HMD set

[0267] 120, 120A, 120B: HMD

[0268] 200, 200A, 200B: Computer

[0269] 210, 210A, 210B, 210C, 610: Processor

[0270] 220, 620: Memory

[0271] 230, 630: Storage device

[0272] 300, 300B: Controller

[0273] 510: Control module

[0274] 520: Rendering module

[0275] 530: Memory module

[0276] 600: Server

[0277] 700: External devices

[0278] 1621: Browser window

[0279] 1622, 1822: Moving image content

Claims

1. A computer-readable storage medium storing a program which, when executed by a computer including a processor, causing the processor to execute: Steps to define a virtual space including a web browser; The step of providing web page content on a web browser based on access to a uniform resource locator (URL) address; Based on a first operation input of a user, providing web page content displayed on a web browser as 360-degree web page content newly unfolded in a virtual space; The step of controlling a field of view from a virtual camera disposed in the virtual space according to movement of a user's head; as well as the step of displaying a field of view image corresponding to the field of view on an image display device associated with the user's head, Among them, the web page content and the newly unfolded 360-degree web page content are web page screens for selecting moving image content to be reproduced from one or more moving image contents based on a web page screen that displays the web page content and the newly unfolded 360-degree web page content in a virtual space.

2. The computer-readable storage medium according to claim 1, wherein: The program also causes the processor to execute: When moving image content to be reproduced is selected on the newly unfolded 360-degree web page content, the selected moving image content is reproduced as a step of 360-degree moving image content unfolded in the virtual space.

3. The computer-readable storage medium according to claim 1 or 2, wherein: The first operation input is an operation of selecting a first virtual button arranged on the web page content.

4. The computer-readable storage medium according to claim 1 or 2, wherein: The program also causes the processor to execute: When moving image content to be reproduced is selected on the web page content, a step of reproducing the selected moving image content on the web browser; and Based on a second operation input by the user, a step of reproducing the moving image content being reproduced on the web browser as 360-degree moving image content unfolded in a virtual space.

5. The computer-readable storage medium according to claim 4, wherein: The second operation input is an operation of selecting a second virtual button arranged on the web page content.

6. The computer-readable storage medium according to claim 1 or 2, in, The computer has a predetermined application function different from the web browser, wherein the computer is configured to provide a screen for selecting a moving image content to be reproduced from one or more moving image contents as 360-degree content unfolded in a virtual environment according to the execution of the application function, and Among them, the arrangement mode of one or more moving image contents selected on the web page screen provided as the newly unfolded 360-degree web page content corresponds to the arrangement mode of one or more moving image contents selected on the screen provided according to the execution of the application function.

7. An information processing method executed in a computer comprising a processor, The information processing method comprises causing a processor to execute: Steps to define a virtual space including a web browser; The step of providing web page content on a web browser based on access to a uniform resource locator (URL) address; Based on a first operation input of a user, providing web page content displayed on a web browser as 360-degree web page content newly unfolded in a virtual space; The step of controlling a field of view from a virtual camera disposed in the virtual space according to movement of a user's head; as well as the step of displaying a field of view image corresponding to the field of view on an image display device associated with the user's head, Among them, the web page content and the newly unfolded 360-degree web page content are web page screens for selecting moving image content to be reproduced from one or more moving image contents based on a web page screen that displays the web page content and the newly unfolded 360-degree web page content in a virtual space.

8. An information processing device, comprising a processor and a memory, wherein the memory stores a program, and when the program is executed by the processor, the processor: Define virtual space including web browsers; Serving web page content on a web browser based on access to a uniform resource locator (URL) address; Based on a first operation input of the user, providing the web page content displayed on the web page browser as 360-degree web page content newly unfolded in the virtual space; controlling a field of view from a virtual camera arranged in a virtual space according to a user's head movement; and displaying a field of view image corresponding to the field of view on an image display device associated with the user's head, and Among them, the web page content and the newly unfolded 360-degree web page content are web page screens for selecting moving image content to be reproduced from one or more moving image contents based on a web page screen that displays the web page content and the newly unfolded 360-degree web page content in a virtual space.

Citation Information

Patent Citations

  • Information processing method, information processing program, information processing system, and information processing apparatus

    JP2018195255A

  • Switch mechanism

    JP2019118918A

  • Controls and interfaces for user interactions in virtual spaces

    CN109937394A